Commit f3914eb1 authored by Victor Stinner's avatar Victor Stinner

co_lnotab supports negative line number delta

Issue #26107: The format of the co_lnotab attribute of code objects changes to
support negative line number delta.

Changes:

* assemble_lnotab(): if line number delta is less than -128 or greater than
  127, emit multiple (offset_delta, lineno_delta) in co_lnotab
* update functions decoding co_lnotab to use signed 8-bit integers

  - dis.findlinestarts()
  - PyCode_Addr2Line()
  - _PyCode_CheckLineNumber()
  - frame_setlineno()

* update lnotab_notes.txt
* increase importlib MAGIC_NUMBER to 3361
* document the change in What's New in Python 3.6
* cleanup also PyCode_Optimize() to use better variable names
parent 316fcc86
...@@ -244,6 +244,16 @@ that may require changes to your code. ...@@ -244,6 +244,16 @@ that may require changes to your code.
Changes in the Python API Changes in the Python API
------------------------- -------------------------
* The format of the ``co_lnotab`` attribute of code objects changed to support
negative line number delta. By default, Python does not emit bytecode with
negative line number delta. Functions using ``frame.f_lineno``,
``PyFrame_GetLineNumber()`` or ``PyCode_Addr2Line()`` are not affected.
Functions decoding directly ``co_lnotab`` should be updated to use a signed
8-bit integer type for the line number delta, but it's only required to
support applications using negative line number delta. See
``Objects/lnotab_notes.txt`` for the ``co_lnotab`` format and how to decode
it, and see the :pep:`511` for the rationale.
* The functions in the :mod:`compileall` module now return booleans instead * The functions in the :mod:`compileall` module now return booleans instead
of ``1`` or ``0`` to represent success or failure, respectively. Thanks to of ``1`` or ``0`` to represent success or failure, respectively. Thanks to
booleans being a subclass of integers, this should only be an issue if you booleans being a subclass of integers, this should only be an issue if you
......
...@@ -117,7 +117,7 @@ PyAPI_FUNC(int) _PyCode_CheckLineNumber(PyCodeObject* co, ...@@ -117,7 +117,7 @@ PyAPI_FUNC(int) _PyCode_CheckLineNumber(PyCodeObject* co,
#endif #endif
PyAPI_FUNC(PyObject*) PyCode_Optimize(PyObject *code, PyObject* consts, PyAPI_FUNC(PyObject*) PyCode_Optimize(PyObject *code, PyObject* consts,
PyObject *names, PyObject *lineno_obj); PyObject *names, PyObject *lnotab);
#ifdef __cplusplus #ifdef __cplusplus
} }
......
...@@ -397,8 +397,8 @@ def findlinestarts(code): ...@@ -397,8 +397,8 @@ def findlinestarts(code):
Generate pairs (offset, lineno) as described in Python/compile.c. Generate pairs (offset, lineno) as described in Python/compile.c.
""" """
byte_increments = list(code.co_lnotab[0::2]) byte_increments = code.co_lnotab[0::2]
line_increments = list(code.co_lnotab[1::2]) line_increments = code.co_lnotab[1::2]
lastlineno = None lastlineno = None
lineno = code.co_firstlineno lineno = code.co_firstlineno
...@@ -409,6 +409,9 @@ def findlinestarts(code): ...@@ -409,6 +409,9 @@ def findlinestarts(code):
yield (addr, lineno) yield (addr, lineno)
lastlineno = lineno lastlineno = lineno
addr += byte_incr addr += byte_incr
if line_incr >= 0x80:
# line_increments is an array of 8-bit signed integers
line_incr -= 0x100
lineno += line_incr lineno += line_incr
if lineno != lastlineno: if lineno != lastlineno:
yield (addr, lineno) yield (addr, lineno)
......
...@@ -223,13 +223,14 @@ _code_type = type(_write_atomic.__code__) ...@@ -223,13 +223,14 @@ _code_type = type(_write_atomic.__code__)
# Python 3.5b1 3330 (PEP 448: Additional Unpacking Generalizations) # Python 3.5b1 3330 (PEP 448: Additional Unpacking Generalizations)
# Python 3.5b2 3340 (fix dictionary display evaluation order #11205) # Python 3.5b2 3340 (fix dictionary display evaluation order #11205)
# Python 3.5b2 3350 (add GET_YIELD_FROM_ITER opcode #24400) # Python 3.5b2 3350 (add GET_YIELD_FROM_ITER opcode #24400)
# Python 3.6a0 3360 (add FORMAT_VALUE opcode #25483) # Python 3.6a0 3360 (add FORMAT_VALUE opcode #25483
# Python 3.6a0 3361 (lineno delta of code.co_lnotab becomes signed)
# #
# MAGIC must change whenever the bytecode emitted by the compiler may no # MAGIC must change whenever the bytecode emitted by the compiler may no
# longer be understood by older implementations of the eval loop (usually # longer be understood by older implementations of the eval loop (usually
# due to the addition of new opcodes). # due to the addition of new opcodes).
MAGIC_NUMBER = (3360).to_bytes(2, 'little') + b'\r\n' MAGIC_NUMBER = (3361).to_bytes(2, 'little') + b'\r\n'
_RAW_MAGIC_NUMBER = int.from_bytes(MAGIC_NUMBER, 'little') # For import.c _RAW_MAGIC_NUMBER = int.from_bytes(MAGIC_NUMBER, 'little') # For import.c
_PYCACHE = '__pycache__' _PYCACHE = '__pycache__'
......
...@@ -10,6 +10,9 @@ Release date: tba ...@@ -10,6 +10,9 @@ Release date: tba
Core and Builtins Core and Builtins
----------------- -----------------
- Issue #26107: The format of the ``co_lnotab`` attribute of code objects
changes to support negative line number delta.
- Issue #26154: Add a new private _PyThreadState_UncheckedGet() function to get - Issue #26154: Add a new private _PyThreadState_UncheckedGet() function to get
the current Python thread state, but don't issue a fatal error if it is NULL. the current Python thread state, but don't issue a fatal error if it is NULL.
This new function must be used instead of accessing directly the This new function must be used instead of accessing directly the
......
...@@ -557,7 +557,8 @@ PyCode_Addr2Line(PyCodeObject *co, int addrq) ...@@ -557,7 +557,8 @@ PyCode_Addr2Line(PyCodeObject *co, int addrq)
addr += *p++; addr += *p++;
if (addr > addrq) if (addr > addrq)
break; break;
line += *p++; line += (signed char)*p;
p++;
} }
return line; return line;
} }
...@@ -592,17 +593,19 @@ _PyCode_CheckLineNumber(PyCodeObject* co, int lasti, PyAddrPair *bounds) ...@@ -592,17 +593,19 @@ _PyCode_CheckLineNumber(PyCodeObject* co, int lasti, PyAddrPair *bounds)
if (addr + *p > lasti) if (addr + *p > lasti)
break; break;
addr += *p++; addr += *p++;
if (*p) if ((signed char)*p)
bounds->ap_lower = addr; bounds->ap_lower = addr;
line += *p++; line += (signed char)*p;
p++;
--size; --size;
} }
if (size > 0) { if (size > 0) {
while (--size >= 0) { while (--size >= 0) {
addr += *p++; addr += *p++;
if (*p++) if ((signed char)*p)
break; break;
p++;
} }
bounds->ap_upper = addr; bounds->ap_upper = addr;
} }
......
...@@ -137,7 +137,7 @@ frame_setlineno(PyFrameObject *f, PyObject* p_new_lineno) ...@@ -137,7 +137,7 @@ frame_setlineno(PyFrameObject *f, PyObject* p_new_lineno)
new_lasti = -1; new_lasti = -1;
for (offset = 0; offset < lnotab_len; offset += 2) { for (offset = 0; offset < lnotab_len; offset += 2) {
addr += lnotab[offset]; addr += lnotab[offset];
line += lnotab[offset+1]; line += (signed char)lnotab[offset+1];
if (line >= new_lineno) { if (line >= new_lineno) {
new_lasti = addr; new_lasti = addr;
new_lineno = line; new_lineno = line;
......
...@@ -12,42 +12,47 @@ pairs. The details are important and delicate, best illustrated by example: ...@@ -12,42 +12,47 @@ pairs. The details are important and delicate, best illustrated by example:
0 1 0 1
6 2 6 2
50 7 50 7
350 307 350 207
361 308 361 208
Instead of storing these numbers literally, we compress the list by storing only Instead of storing these numbers literally, we compress the list by storing only
the increments from one row to the next. Conceptually, the stored list might the difference from one row to the next. Conceptually, the stored list might
look like: look like:
0, 1, 6, 1, 44, 5, 300, 300, 11, 1 0, 1, 6, 1, 44, 5, 300, 200, 11, 1
The above doesn't really work, but it's a start. Note that an unsigned byte The above doesn't really work, but it's a start. An unsigned byte (byte code
can't hold negative values, or values larger than 255, and the above example offset)) can't hold negative values, or values larger than 255, a signed byte
contains two such values. So we make two tweaks: (line number) can't hold values larger than 127 or less than -128, and the
above example contains two such values. So we make two tweaks:
(a) there's a deep assumption that byte code offsets and their corresponding (a) there's a deep assumption that byte code offsets increase monotonically,
line #s both increase monotonically, and and
(b) if at least one column jumps by more than 255 from one row to the next, (b) if byte code offset jumps by more than 255 from one row to the next, or if
more than one pair is written to the table. In case #b, there's no way to know source code line number jumps by more than 127 or less than -128 from one row
from looking at the table later how many were written. That's the delicate to the next, more than one pair is written to the table. In case #b,
part. A user of co_lnotab desiring to find the source line number there's no way to know from looking at the table later how many were written.
corresponding to a bytecode address A should do something like this That's the delicate part. A user of co_lnotab desiring to find the source
line number corresponding to a bytecode address A should do something like
this:
lineno = addr = 0 lineno = addr = 0
for addr_incr, line_incr in co_lnotab: for addr_incr, line_incr in co_lnotab:
addr += addr_incr addr += addr_incr
if addr > A: if addr > A:
return lineno return lineno
if line_incr >= 0x80:
line_incr -= 0x100
lineno += line_incr lineno += line_incr
(In C, this is implemented by PyCode_Addr2Line().) In order for this to work, (In C, this is implemented by PyCode_Addr2Line().) In order for this to work,
when the addr field increments by more than 255, the line # increment in each when the addr field increments by more than 255, the line # increment in each
pair generated must be 0 until the remaining addr increment is < 256. So, in pair generated must be 0 until the remaining addr increment is < 256. So, in
the example above, assemble_lnotab in compile.c should not (as was actually done the example above, assemble_lnotab in compile.c should not (as was actually done
until 2.2) expand 300, 300 to until 2.2) expand 300, 200 to
255, 255, 45, 45, 255, 255, 45, 45,
but to but to
255, 0, 45, 255, 0, 45. 255, 0, 45, 128, 0, 72.
The above is sufficient to reconstruct line numbers for tracebacks, but not for The above is sufficient to reconstruct line numbers for tracebacks, but not for
line tracing. Tracing is handled by PyCode_CheckLineNumber() in codeobject.c line tracing. Tracing is handled by PyCode_CheckLineNumber() in codeobject.c
......
...@@ -4452,7 +4452,6 @@ assemble_lnotab(struct assembler *a, struct instr *i) ...@@ -4452,7 +4452,6 @@ assemble_lnotab(struct assembler *a, struct instr *i)
d_lineno = i->i_lineno - a->a_lineno; d_lineno = i->i_lineno - a->a_lineno;
assert(d_bytecode >= 0); assert(d_bytecode >= 0);
assert(d_lineno >= 0);
if(d_bytecode == 0 && d_lineno == 0) if(d_bytecode == 0 && d_lineno == 0)
return 1; return 1;
...@@ -4482,9 +4481,21 @@ assemble_lnotab(struct assembler *a, struct instr *i) ...@@ -4482,9 +4481,21 @@ assemble_lnotab(struct assembler *a, struct instr *i)
d_bytecode -= ncodes * 255; d_bytecode -= ncodes * 255;
a->a_lnotab_off += ncodes * 2; a->a_lnotab_off += ncodes * 2;
} }
assert(d_bytecode <= 255); assert(0 <= d_bytecode && d_bytecode <= 255);
if (d_lineno > 255) {
int j, nbytes, ncodes = d_lineno / 255; if (d_lineno < -128 || 127 < d_lineno) {
int j, nbytes, ncodes, k;
if (d_lineno < 0) {
k = -128;
/* use division on positive numbers */
ncodes = (-d_lineno) / 128;
}
else {
k = 127;
ncodes = d_lineno / 127;
}
d_lineno -= ncodes * k;
assert(ncodes >= 1);
nbytes = a->a_lnotab_off + 2 * ncodes; nbytes = a->a_lnotab_off + 2 * ncodes;
len = PyBytes_GET_SIZE(a->a_lnotab); len = PyBytes_GET_SIZE(a->a_lnotab);
if (nbytes >= len) { if (nbytes >= len) {
...@@ -4502,15 +4513,15 @@ assemble_lnotab(struct assembler *a, struct instr *i) ...@@ -4502,15 +4513,15 @@ assemble_lnotab(struct assembler *a, struct instr *i)
lnotab = (unsigned char *) lnotab = (unsigned char *)
PyBytes_AS_STRING(a->a_lnotab) + a->a_lnotab_off; PyBytes_AS_STRING(a->a_lnotab) + a->a_lnotab_off;
*lnotab++ = d_bytecode; *lnotab++ = d_bytecode;
*lnotab++ = 255; *lnotab++ = k;
d_bytecode = 0; d_bytecode = 0;
for (j = 1; j < ncodes; j++) { for (j = 1; j < ncodes; j++) {
*lnotab++ = 0; *lnotab++ = 0;
*lnotab++ = 255; *lnotab++ = k;
} }
d_lineno -= ncodes * 255;
a->a_lnotab_off += ncodes * 2; a->a_lnotab_off += ncodes * 2;
} }
assert(-128 <= d_lineno && d_lineno <= 127);
len = PyBytes_GET_SIZE(a->a_lnotab); len = PyBytes_GET_SIZE(a->a_lnotab);
if (a->a_lnotab_off + 2 >= len) { if (a->a_lnotab_off + 2 >= len) {
......
...@@ -258,7 +258,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -258,7 +258,7 @@ const unsigned char _Py_M__importlib_external[] = {
114,5,0,0,0,218,13,95,119,114,105,116,101,95,97,116, 114,5,0,0,0,218,13,95,119,114,105,116,101,95,97,116,
111,109,105,99,99,0,0,0,115,26,0,0,0,0,5,24, 111,109,105,99,99,0,0,0,115,26,0,0,0,0,5,24,
1,9,1,33,1,3,3,21,1,20,1,20,1,13,1,3, 1,9,1,33,1,3,3,21,1,20,1,20,1,13,1,3,
1,17,1,13,1,5,1,114,55,0,0,0,105,32,13,0, 1,17,1,13,1,5,1,114,55,0,0,0,105,33,13,0,
0,233,2,0,0,0,114,13,0,0,0,115,2,0,0,0, 0,233,2,0,0,0,114,13,0,0,0,115,2,0,0,0,
13,10,90,11,95,95,112,121,99,97,99,104,101,95,95,122, 13,10,90,11,95,95,112,121,99,97,99,104,101,95,95,122,
4,111,112,116,45,122,3,46,112,121,122,4,46,112,121,99, 4,111,112,116,45,122,3,46,112,121,122,4,46,112,121,99,
...@@ -368,7 +368,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -368,7 +368,7 @@ const unsigned char _Py_M__importlib_external[] = {
103,90,15,97,108,109,111,115,116,95,102,105,108,101,110,97, 103,90,15,97,108,109,111,115,116,95,102,105,108,101,110,97,
109,101,114,4,0,0,0,114,4,0,0,0,114,5,0,0, 109,101,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
0,218,17,99,97,99,104,101,95,102,114,111,109,95,115,111, 0,218,17,99,97,99,104,101,95,102,114,111,109,95,115,111,
117,114,99,101,244,0,0,0,115,46,0,0,0,0,18,12, 117,114,99,101,245,0,0,0,115,46,0,0,0,0,18,12,
1,9,1,7,1,12,1,6,1,12,1,18,1,18,1,24, 1,9,1,7,1,12,1,6,1,12,1,18,1,18,1,24,
1,12,1,12,1,12,1,36,1,12,1,18,1,9,2,12, 1,12,1,12,1,12,1,36,1,12,1,18,1,9,2,12,
1,12,1,12,1,12,1,21,1,21,1,114,79,0,0,0, 1,12,1,12,1,12,1,21,1,21,1,114,79,0,0,0,
...@@ -447,7 +447,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -447,7 +447,7 @@ const unsigned char _Py_M__importlib_external[] = {
101,118,101,108,90,13,98,97,115,101,95,102,105,108,101,110, 101,118,101,108,90,13,98,97,115,101,95,102,105,108,101,110,
97,109,101,114,4,0,0,0,114,4,0,0,0,114,5,0, 97,109,101,114,4,0,0,0,114,4,0,0,0,114,5,0,
0,0,218,17,115,111,117,114,99,101,95,102,114,111,109,95, 0,0,218,17,115,111,117,114,99,101,95,102,114,111,109,95,
99,97,99,104,101,32,1,0,0,115,44,0,0,0,0,9, 99,97,99,104,101,33,1,0,0,115,44,0,0,0,0,9,
18,1,12,1,18,1,18,1,12,1,9,1,15,1,15,1, 18,1,12,1,18,1,18,1,12,1,9,1,15,1,15,1,
12,1,9,1,15,1,12,1,22,1,15,1,9,1,12,1, 12,1,9,1,15,1,12,1,22,1,15,1,9,1,12,1,
22,1,12,1,9,1,12,1,19,1,114,85,0,0,0,99, 22,1,12,1,9,1,12,1,19,1,114,85,0,0,0,99,
...@@ -484,7 +484,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -484,7 +484,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,114,36,0,0,0,90,9,101,120,116,101,110,115,105, 0,0,114,36,0,0,0,90,9,101,120,116,101,110,115,105,
111,110,218,11,115,111,117,114,99,101,95,112,97,116,104,114, 111,110,218,11,115,111,117,114,99,101,95,112,97,116,104,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,15, 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,15,
95,103,101,116,95,115,111,117,114,99,101,102,105,108,101,65, 95,103,101,116,95,115,111,117,114,99,101,102,105,108,101,66,
1,0,0,115,20,0,0,0,0,7,18,1,4,1,24,1, 1,0,0,115,20,0,0,0,0,7,18,1,4,1,24,1,
35,1,4,1,3,1,16,1,19,1,21,1,114,91,0,0, 35,1,4,1,3,1,16,1,19,1,21,1,114,91,0,0,
0,99,1,0,0,0,0,0,0,0,1,0,0,0,11,0, 0,99,1,0,0,0,0,0,0,0,1,0,0,0,11,0,
...@@ -499,7 +499,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -499,7 +499,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,114,79,0,0,0,114,66,0,0,0,114,74,0,0, 0,0,114,79,0,0,0,114,66,0,0,0,114,74,0,0,
0,41,1,218,8,102,105,108,101,110,97,109,101,114,4,0, 0,41,1,218,8,102,105,108,101,110,97,109,101,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,218,11,95,103, 0,0,114,4,0,0,0,114,5,0,0,0,218,11,95,103,
101,116,95,99,97,99,104,101,100,84,1,0,0,115,16,0, 101,116,95,99,97,99,104,101,100,85,1,0,0,115,16,0,
0,0,0,1,21,1,3,1,14,1,13,1,8,1,21,1, 0,0,0,1,21,1,3,1,14,1,13,1,8,1,21,1,
4,2,114,95,0,0,0,99,1,0,0,0,0,0,0,0, 4,2,114,95,0,0,0,99,1,0,0,0,0,0,0,0,
2,0,0,0,11,0,0,0,67,0,0,0,115,60,0,0, 2,0,0,0,11,0,0,0,67,0,0,0,115,60,0,0,
...@@ -514,7 +514,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -514,7 +514,7 @@ const unsigned char _Py_M__importlib_external[] = {
114,39,0,0,0,114,41,0,0,0,114,40,0,0,0,41, 114,39,0,0,0,114,41,0,0,0,114,40,0,0,0,41,
2,114,35,0,0,0,114,42,0,0,0,114,4,0,0,0, 2,114,35,0,0,0,114,42,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,10,95,99,97,108, 114,4,0,0,0,114,5,0,0,0,218,10,95,99,97,108,
99,95,109,111,100,101,96,1,0,0,115,12,0,0,0,0, 99,95,109,111,100,101,97,1,0,0,115,12,0,0,0,0,
2,3,1,19,1,13,1,11,3,10,1,114,97,0,0,0, 2,3,1,19,1,13,1,11,3,10,1,114,97,0,0,0,
99,1,0,0,0,0,0,0,0,3,0,0,0,11,0,0, 99,1,0,0,0,0,0,0,0,3,0,0,0,11,0,0,
0,3,0,0,0,115,84,0,0,0,100,1,0,135,0,0, 0,3,0,0,0,115,84,0,0,0,100,1,0,135,0,0,
...@@ -554,7 +554,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -554,7 +554,7 @@ const unsigned char _Py_M__importlib_external[] = {
103,115,90,6,107,119,97,114,103,115,41,1,218,6,109,101, 103,115,90,6,107,119,97,114,103,115,41,1,218,6,109,101,
116,104,111,100,114,4,0,0,0,114,5,0,0,0,218,19, 116,104,111,100,114,4,0,0,0,114,5,0,0,0,218,19,
95,99,104,101,99,107,95,110,97,109,101,95,119,114,97,112, 95,99,104,101,99,107,95,110,97,109,101,95,119,114,97,112,
112,101,114,116,1,0,0,115,12,0,0,0,0,1,12,1, 112,101,114,117,1,0,0,115,12,0,0,0,0,1,12,1,
12,1,15,1,6,1,25,1,122,40,95,99,104,101,99,107, 12,1,15,1,6,1,25,1,122,40,95,99,104,101,99,107,
95,110,97,109,101,46,60,108,111,99,97,108,115,62,46,95, 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, 99,104,101,99,107,95,110,97,109,101,95,119,114,97,112,112,
...@@ -573,7 +573,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -573,7 +573,7 @@ const unsigned char _Py_M__importlib_external[] = {
116,97,116,116,114,218,8,95,95,100,105,99,116,95,95,218, 116,97,116,116,114,218,8,95,95,100,105,99,116,95,95,218,
6,117,112,100,97,116,101,41,3,90,3,110,101,119,90,3, 6,117,112,100,97,116,101,41,3,90,3,110,101,119,90,3,
111,108,100,114,52,0,0,0,114,4,0,0,0,114,4,0, 111,108,100,114,52,0,0,0,114,4,0,0,0,114,4,0,
0,0,114,5,0,0,0,218,5,95,119,114,97,112,127,1, 0,0,114,5,0,0,0,218,5,95,119,114,97,112,128,1,
0,0,115,8,0,0,0,0,1,25,1,15,1,29,1,122, 0,0,115,8,0,0,0,0,1,25,1,15,1,29,1,122,
26,95,99,104,101,99,107,95,110,97,109,101,46,60,108,111, 26,95,99,104,101,99,107,95,110,97,109,101,46,60,108,111,
99,97,108,115,62,46,95,119,114,97,112,41,3,218,10,95, 99,97,108,115,62,46,95,119,114,97,112,41,3,218,10,95,
...@@ -581,7 +581,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -581,7 +581,7 @@ const unsigned char _Py_M__importlib_external[] = {
78,97,109,101,69,114,114,111,114,41,3,114,102,0,0,0, 78,97,109,101,69,114,114,111,114,41,3,114,102,0,0,0,
114,103,0,0,0,114,113,0,0,0,114,4,0,0,0,41, 114,103,0,0,0,114,113,0,0,0,114,4,0,0,0,41,
1,114,102,0,0,0,114,5,0,0,0,218,11,95,99,104, 1,114,102,0,0,0,114,5,0,0,0,218,11,95,99,104,
101,99,107,95,110,97,109,101,108,1,0,0,115,14,0,0, 101,99,107,95,110,97,109,101,109,1,0,0,115,14,0,0,
0,0,8,21,7,3,1,13,1,13,2,17,5,13,1,114, 0,0,8,21,7,3,1,13,1,13,2,17,5,13,1,114,
116,0,0,0,99,2,0,0,0,0,0,0,0,5,0,0, 116,0,0,0,99,2,0,0,0,0,0,0,0,5,0,0,
0,4,0,0,0,67,0,0,0,115,84,0,0,0,124,0, 0,4,0,0,0,67,0,0,0,115,84,0,0,0,124,0,
...@@ -611,7 +611,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -611,7 +611,7 @@ const unsigned char _Py_M__importlib_external[] = {
218,8,112,111,114,116,105,111,110,115,218,3,109,115,103,114, 218,8,112,111,114,116,105,111,110,115,218,3,109,115,103,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,17, 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,17,
95,102,105,110,100,95,109,111,100,117,108,101,95,115,104,105, 95,102,105,110,100,95,109,111,100,117,108,101,95,115,104,105,
109,136,1,0,0,115,10,0,0,0,0,10,21,1,24,1, 109,137,1,0,0,115,10,0,0,0,0,10,21,1,24,1,
6,1,29,1,114,123,0,0,0,99,4,0,0,0,0,0, 6,1,29,1,114,123,0,0,0,99,4,0,0,0,0,0,
0,0,11,0,0,0,19,0,0,0,67,0,0,0,115,252, 0,0,11,0,0,0,19,0,0,0,67,0,0,0,115,252,
1,0,0,105,0,0,125,4,0,124,2,0,100,1,0,107, 1,0,0,105,0,0,125,4,0,124,2,0,100,1,0,107,
...@@ -698,7 +698,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -698,7 +698,7 @@ const unsigned char _Py_M__importlib_external[] = {
218,11,115,111,117,114,99,101,95,115,105,122,101,114,4,0, 218,11,115,111,117,114,99,101,95,115,105,122,101,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,218,25,95,118, 0,0,114,4,0,0,0,114,5,0,0,0,218,25,95,118,
97,108,105,100,97,116,101,95,98,121,116,101,99,111,100,101, 97,108,105,100,97,116,101,95,98,121,116,101,99,111,100,101,
95,104,101,97,100,101,114,153,1,0,0,115,76,0,0,0, 95,104,101,97,100,101,114,154,1,0,0,115,76,0,0,0,
0,11,6,1,12,1,13,3,6,1,12,1,10,1,16,1, 0,11,6,1,12,1,13,3,6,1,12,1,10,1,16,1,
16,1,16,1,12,1,18,1,16,1,18,1,18,1,15,1, 16,1,16,1,12,1,18,1,16,1,18,1,18,1,15,1,
16,1,15,1,18,1,15,1,16,1,12,1,12,1,3,1, 16,1,15,1,18,1,15,1,16,1,12,1,12,1,3,1,
...@@ -729,7 +729,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -729,7 +729,7 @@ const unsigned char _Py_M__importlib_external[] = {
5,114,53,0,0,0,114,98,0,0,0,114,89,0,0,0, 5,114,53,0,0,0,114,98,0,0,0,114,89,0,0,0,
114,90,0,0,0,218,4,99,111,100,101,114,4,0,0,0, 114,90,0,0,0,218,4,99,111,100,101,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,17,95,99,111,109, 114,4,0,0,0,114,5,0,0,0,218,17,95,99,111,109,
112,105,108,101,95,98,121,116,101,99,111,100,101,208,1,0, 112,105,108,101,95,98,121,116,101,99,111,100,101,209,1,0,
0,115,16,0,0,0,0,2,15,1,15,1,16,1,12,1, 0,115,16,0,0,0,0,2,15,1,15,1,16,1,12,1,
16,1,4,2,18,1,114,141,0,0,0,114,59,0,0,0, 16,1,4,2,18,1,114,141,0,0,0,114,59,0,0,0,
99,3,0,0,0,0,0,0,0,4,0,0,0,3,0,0, 99,3,0,0,0,0,0,0,0,4,0,0,0,3,0,0,
...@@ -749,7 +749,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -749,7 +749,7 @@ const unsigned char _Py_M__importlib_external[] = {
100,117,109,112,115,41,4,114,140,0,0,0,114,126,0,0, 100,117,109,112,115,41,4,114,140,0,0,0,114,126,0,0,
0,114,134,0,0,0,114,53,0,0,0,114,4,0,0,0, 0,114,134,0,0,0,114,53,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,17,95,99,111,100, 114,4,0,0,0,114,5,0,0,0,218,17,95,99,111,100,
101,95,116,111,95,98,121,116,101,99,111,100,101,220,1,0, 101,95,116,111,95,98,121,116,101,99,111,100,101,221,1,0,
0,115,10,0,0,0,0,3,12,1,19,1,19,1,22,1, 0,115,10,0,0,0,0,3,12,1,19,1,19,1,22,1,
114,144,0,0,0,99,1,0,0,0,0,0,0,0,5,0, 114,144,0,0,0,99,1,0,0,0,0,0,0,0,5,0,
0,0,4,0,0,0,67,0,0,0,115,89,0,0,0,100, 0,0,4,0,0,0,67,0,0,0,115,89,0,0,0,100,
...@@ -778,7 +778,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -778,7 +778,7 @@ const unsigned char _Py_M__importlib_external[] = {
218,8,101,110,99,111,100,105,110,103,90,15,110,101,119,108, 218,8,101,110,99,111,100,105,110,103,90,15,110,101,119,108,
105,110,101,95,100,101,99,111,100,101,114,114,4,0,0,0, 105,110,101,95,100,101,99,111,100,101,114,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,13,100,101,99,111, 114,4,0,0,0,114,5,0,0,0,218,13,100,101,99,111,
100,101,95,115,111,117,114,99,101,230,1,0,0,115,10,0, 100,101,95,115,111,117,114,99,101,231,1,0,0,115,10,0,
0,0,0,5,12,1,18,1,15,1,18,1,114,149,0,0, 0,0,0,5,12,1,18,1,15,1,18,1,114,149,0,0,
0,114,120,0,0,0,218,26,115,117,98,109,111,100,117,108, 0,114,120,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, 101,95,115,101,97,114,99,104,95,108,111,99,97,116,105,111,
...@@ -843,7 +843,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -843,7 +843,7 @@ const unsigned char _Py_M__importlib_external[] = {
102,105,120,101,115,114,153,0,0,0,90,7,100,105,114,110, 102,105,120,101,115,114,153,0,0,0,90,7,100,105,114,110,
97,109,101,114,4,0,0,0,114,4,0,0,0,114,5,0, 97,109,101,114,4,0,0,0,114,4,0,0,0,114,5,0,
0,0,218,23,115,112,101,99,95,102,114,111,109,95,102,105, 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,247,1,0,0,115, 108,101,95,108,111,99,97,116,105,111,110,248,1,0,0,115,
60,0,0,0,0,12,12,4,6,1,15,2,3,1,19,1, 60,0,0,0,0,12,12,4,6,1,15,2,3,1,19,1,
13,1,5,8,24,1,9,3,12,1,22,1,21,1,15,1, 13,1,5,8,24,1,9,3,12,1,22,1,21,1,15,1,
9,1,5,2,4,3,12,2,15,1,3,1,19,1,13,1, 9,1,5,2,4,3,12,2,15,1,3,1,19,1,13,1,
...@@ -883,7 +883,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -883,7 +883,7 @@ const unsigned char _Py_M__importlib_external[] = {
72,75,69,89,95,76,79,67,65,76,95,77,65,67,72,73, 72,75,69,89,95,76,79,67,65,76,95,77,65,67,72,73,
78,69,41,2,218,3,99,108,115,218,3,107,101,121,114,4, 78,69,41,2,218,3,99,108,115,218,3,107,101,121,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,218,14,95, 0,0,0,114,4,0,0,0,114,5,0,0,0,218,14,95,
111,112,101,110,95,114,101,103,105,115,116,114,121,69,2,0, 111,112,101,110,95,114,101,103,105,115,116,114,121,70,2,0,
0,115,8,0,0,0,0,2,3,1,23,1,13,1,122,36, 0,115,8,0,0,0,0,2,3,1,23,1,13,1,122,36,
87,105,110,100,111,119,115,82,101,103,105,115,116,114,121,70, 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, 105,110,100,101,114,46,95,111,112,101,110,95,114,101,103,105,
...@@ -910,7 +910,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -910,7 +910,7 @@ const unsigned char _Py_M__importlib_external[] = {
121,95,107,101,121,114,165,0,0,0,90,4,104,107,101,121, 121,95,107,101,121,114,165,0,0,0,90,4,104,107,101,121,
218,8,102,105,108,101,112,97,116,104,114,4,0,0,0,114, 218,8,102,105,108,101,112,97,116,104,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,218,16,95,115,101,97,114, 4,0,0,0,114,5,0,0,0,218,16,95,115,101,97,114,
99,104,95,114,101,103,105,115,116,114,121,76,2,0,0,115, 99,104,95,114,101,103,105,115,116,114,121,77,2,0,0,115,
22,0,0,0,0,2,9,1,12,2,9,1,15,1,22,1, 22,0,0,0,0,2,9,1,12,2,9,1,15,1,22,1,
3,1,18,1,29,1,13,1,9,1,122,38,87,105,110,100, 3,1,18,1,29,1,13,1,9,1,122,38,87,105,110,100,
111,119,115,82,101,103,105,115,116,114,121,70,105,110,100,101, 111,119,115,82,101,103,105,115,116,114,121,70,105,110,100,101,
...@@ -935,7 +935,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -935,7 +935,7 @@ const unsigned char _Py_M__importlib_external[] = {
103,101,116,114,171,0,0,0,114,120,0,0,0,114,160,0, 103,101,116,114,171,0,0,0,114,120,0,0,0,114,160,0,
0,0,114,158,0,0,0,114,4,0,0,0,114,4,0,0, 0,0,114,158,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,218,9,102,105,110,100,95,115,112,101, 0,114,5,0,0,0,218,9,102,105,110,100,95,115,112,101,
99,91,2,0,0,115,26,0,0,0,0,2,15,1,12,1, 99,92,2,0,0,115,26,0,0,0,0,2,15,1,12,1,
4,1,3,1,14,1,13,1,9,1,22,1,21,1,9,1, 4,1,3,1,14,1,13,1,9,1,22,1,21,1,9,1,
15,1,9,1,122,31,87,105,110,100,111,119,115,82,101,103, 15,1,9,1,122,31,87,105,110,100,111,119,115,82,101,103,
105,115,116,114,121,70,105,110,100,101,114,46,102,105,110,100, 105,115,116,114,121,70,105,110,100,101,114,46,102,105,110,100,
...@@ -954,7 +954,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -954,7 +954,7 @@ const unsigned char _Py_M__importlib_external[] = {
175,0,0,0,114,120,0,0,0,41,4,114,164,0,0,0, 175,0,0,0,114,120,0,0,0,41,4,114,164,0,0,0,
114,119,0,0,0,114,35,0,0,0,114,158,0,0,0,114, 114,119,0,0,0,114,35,0,0,0,114,158,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,11, 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,11,
102,105,110,100,95,109,111,100,117,108,101,107,2,0,0,115, 102,105,110,100,95,109,111,100,117,108,101,108,2,0,0,115,
8,0,0,0,0,7,18,1,12,1,7,2,122,33,87,105, 8,0,0,0,0,7,18,1,12,1,7,2,122,33,87,105,
110,100,111,119,115,82,101,103,105,115,116,114,121,70,105,110, 110,100,111,119,115,82,101,103,105,115,116,114,121,70,105,110,
100,101,114,46,102,105,110,100,95,109,111,100,117,108,101,41, 100,101,114,46,102,105,110,100,95,109,111,100,117,108,101,41,
...@@ -963,7 +963,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -963,7 +963,7 @@ const unsigned char _Py_M__importlib_external[] = {
167,0,0,0,218,11,99,108,97,115,115,109,101,116,104,111, 167,0,0,0,218,11,99,108,97,115,115,109,101,116,104,111,
100,114,166,0,0,0,114,172,0,0,0,114,175,0,0,0, 100,114,166,0,0,0,114,172,0,0,0,114,175,0,0,0,
114,176,0,0,0,114,4,0,0,0,114,4,0,0,0,114, 114,176,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,114,162,0,0,0,57,2, 4,0,0,0,114,5,0,0,0,114,162,0,0,0,58,2,
0,0,115,20,0,0,0,12,2,6,3,6,3,6,2,6, 0,0,115,20,0,0,0,12,2,6,3,6,3,6,2,6,
2,18,7,18,15,3,1,21,15,3,1,114,162,0,0,0, 2,18,7,18,15,3,1,21,15,3,1,114,162,0,0,0,
99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, 99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,
...@@ -1001,7 +1001,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1001,7 +1001,7 @@ const unsigned char _Py_M__importlib_external[] = {
100,0,0,0,114,119,0,0,0,114,94,0,0,0,90,13, 100,0,0,0,114,119,0,0,0,114,94,0,0,0,90,13,
102,105,108,101,110,97,109,101,95,98,97,115,101,90,9,116, 102,105,108,101,110,97,109,101,95,98,97,115,101,90,9,116,
97,105,108,95,110,97,109,101,114,4,0,0,0,114,4,0, 97,105,108,95,110,97,109,101,114,4,0,0,0,114,4,0,
0,0,114,5,0,0,0,114,153,0,0,0,126,2,0,0, 0,0,114,5,0,0,0,114,153,0,0,0,127,2,0,0,
115,8,0,0,0,0,3,25,1,22,1,19,1,122,24,95, 115,8,0,0,0,0,3,25,1,22,1,19,1,122,24,95,
76,111,97,100,101,114,66,97,115,105,99,115,46,105,115,95, 76,111,97,100,101,114,66,97,115,105,99,115,46,105,115,95,
112,97,99,107,97,103,101,99,2,0,0,0,0,0,0,0, 112,97,99,107,97,103,101,99,2,0,0,0,0,0,0,0,
...@@ -1012,7 +1012,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1012,7 +1012,7 @@ const unsigned char _Py_M__importlib_external[] = {
111,110,46,78,114,4,0,0,0,41,2,114,100,0,0,0, 111,110,46,78,114,4,0,0,0,41,2,114,100,0,0,0,
114,158,0,0,0,114,4,0,0,0,114,4,0,0,0,114, 114,158,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
5,0,0,0,218,13,99,114,101,97,116,101,95,109,111,100, 5,0,0,0,218,13,99,114,101,97,116,101,95,109,111,100,
117,108,101,134,2,0,0,115,0,0,0,0,122,27,95,76, 117,108,101,135,2,0,0,115,0,0,0,0,122,27,95,76,
111,97,100,101,114,66,97,115,105,99,115,46,99,114,101,97, 111,97,100,101,114,66,97,115,105,99,115,46,99,114,101,97,
116,101,95,109,111,100,117,108,101,99,2,0,0,0,0,0, 116,101,95,109,111,100,117,108,101,99,2,0,0,0,0,0,
0,0,3,0,0,0,4,0,0,0,67,0,0,0,115,80, 0,0,3,0,0,0,4,0,0,0,67,0,0,0,115,80,
...@@ -1033,7 +1033,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1033,7 +1033,7 @@ const unsigned char _Py_M__importlib_external[] = {
101,99,114,111,0,0,0,41,3,114,100,0,0,0,218,6, 101,99,114,111,0,0,0,41,3,114,100,0,0,0,218,6,
109,111,100,117,108,101,114,140,0,0,0,114,4,0,0,0, 109,111,100,117,108,101,114,140,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,11,101,120,101,99, 114,4,0,0,0,114,5,0,0,0,218,11,101,120,101,99,
95,109,111,100,117,108,101,137,2,0,0,115,10,0,0,0, 95,109,111,100,117,108,101,138,2,0,0,115,10,0,0,0,
0,2,18,1,12,1,9,1,15,1,122,25,95,76,111,97, 0,2,18,1,12,1,9,1,15,1,122,25,95,76,111,97,
100,101,114,66,97,115,105,99,115,46,101,120,101,99,95,109, 100,101,114,66,97,115,105,99,115,46,101,120,101,99,95,109,
111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,0, 111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,0,
...@@ -1044,14 +1044,14 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1044,14 +1044,14 @@ const unsigned char _Py_M__importlib_external[] = {
114,0,0,0,218,17,95,108,111,97,100,95,109,111,100,117, 114,0,0,0,218,17,95,108,111,97,100,95,109,111,100,117,
108,101,95,115,104,105,109,41,2,114,100,0,0,0,114,119, 108,101,95,115,104,105,109,41,2,114,100,0,0,0,114,119,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0, 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
0,0,218,11,108,111,97,100,95,109,111,100,117,108,101,145, 0,0,218,11,108,111,97,100,95,109,111,100,117,108,101,146,
2,0,0,115,2,0,0,0,0,2,122,25,95,76,111,97, 2,0,0,115,2,0,0,0,0,2,122,25,95,76,111,97,
100,101,114,66,97,115,105,99,115,46,108,111,97,100,95,109, 100,101,114,66,97,115,105,99,115,46,108,111,97,100,95,109,
111,100,117,108,101,78,41,8,114,105,0,0,0,114,104,0, 111,100,117,108,101,78,41,8,114,105,0,0,0,114,104,0,
0,0,114,106,0,0,0,114,107,0,0,0,114,153,0,0, 0,0,114,106,0,0,0,114,107,0,0,0,114,153,0,0,
0,114,180,0,0,0,114,185,0,0,0,114,187,0,0,0, 0,114,180,0,0,0,114,185,0,0,0,114,187,0,0,0,
114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,114, 114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
5,0,0,0,114,178,0,0,0,121,2,0,0,115,10,0, 5,0,0,0,114,178,0,0,0,122,2,0,0,115,10,0,
0,0,12,3,6,2,12,8,12,3,12,8,114,178,0,0, 0,0,12,3,6,2,12,8,12,3,12,8,114,178,0,0,
0,99,0,0,0,0,0,0,0,0,0,0,0,0,4,0, 0,99,0,0,0,0,0,0,0,0,0,0,0,0,4,0,
0,0,64,0,0,0,115,106,0,0,0,101,0,0,90,1, 0,0,64,0,0,0,115,106,0,0,0,101,0,0,90,1,
...@@ -1079,7 +1079,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1079,7 +1079,7 @@ const unsigned char _Py_M__importlib_external[] = {
41,1,218,7,73,79,69,114,114,111,114,41,2,114,100,0, 41,1,218,7,73,79,69,114,114,111,114,41,2,114,100,0,
0,0,114,35,0,0,0,114,4,0,0,0,114,4,0,0, 0,0,114,35,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,218,10,112,97,116,104,95,109,116,105, 0,114,5,0,0,0,218,10,112,97,116,104,95,109,116,105,
109,101,152,2,0,0,115,2,0,0,0,0,6,122,23,83, 109,101,153,2,0,0,115,2,0,0,0,0,6,122,23,83,
111,117,114,99,101,76,111,97,100,101,114,46,112,97,116,104, 111,117,114,99,101,76,111,97,100,101,114,46,112,97,116,104,
95,109,116,105,109,101,99,2,0,0,0,0,0,0,0,2, 95,109,116,105,109,101,99,2,0,0,0,0,0,0,0,2,
0,0,0,3,0,0,0,67,0,0,0,115,19,0,0,0, 0,0,0,3,0,0,0,67,0,0,0,115,19,0,0,0,
...@@ -1114,7 +1114,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1114,7 +1114,7 @@ const unsigned char _Py_M__importlib_external[] = {
32,32,32,32,114,126,0,0,0,41,1,114,190,0,0,0, 32,32,32,32,114,126,0,0,0,41,1,114,190,0,0,0,
41,2,114,100,0,0,0,114,35,0,0,0,114,4,0,0, 41,2,114,100,0,0,0,114,35,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,218,10,112,97,116, 0,114,4,0,0,0,114,5,0,0,0,218,10,112,97,116,
104,95,115,116,97,116,115,160,2,0,0,115,2,0,0,0, 104,95,115,116,97,116,115,161,2,0,0,115,2,0,0,0,
0,11,122,23,83,111,117,114,99,101,76,111,97,100,101,114, 0,11,122,23,83,111,117,114,99,101,76,111,97,100,101,114,
46,112,97,116,104,95,115,116,97,116,115,99,4,0,0,0, 46,112,97,116,104,95,115,116,97,116,115,99,4,0,0,0,
0,0,0,0,4,0,0,0,3,0,0,0,67,0,0,0, 0,0,0,0,4,0,0,0,3,0,0,0,67,0,0,0,
...@@ -1138,7 +1138,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1138,7 +1138,7 @@ const unsigned char _Py_M__importlib_external[] = {
114,90,0,0,0,90,10,99,97,99,104,101,95,112,97,116, 114,90,0,0,0,90,10,99,97,99,104,101,95,112,97,116,
104,114,53,0,0,0,114,4,0,0,0,114,4,0,0,0, 104,114,53,0,0,0,114,4,0,0,0,114,4,0,0,0,
114,5,0,0,0,218,15,95,99,97,99,104,101,95,98,121, 114,5,0,0,0,218,15,95,99,97,99,104,101,95,98,121,
116,101,99,111,100,101,173,2,0,0,115,2,0,0,0,0, 116,101,99,111,100,101,174,2,0,0,115,2,0,0,0,0,
8,122,28,83,111,117,114,99,101,76,111,97,100,101,114,46, 8,122,28,83,111,117,114,99,101,76,111,97,100,101,114,46,
95,99,97,99,104,101,95,98,121,116,101,99,111,100,101,99, 95,99,97,99,104,101,95,98,121,116,101,99,111,100,101,99,
3,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0, 3,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,
...@@ -1155,7 +1155,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1155,7 +1155,7 @@ const unsigned char _Py_M__importlib_external[] = {
32,32,32,32,32,32,32,78,114,4,0,0,0,41,3,114, 32,32,32,32,32,32,32,78,114,4,0,0,0,41,3,114,
100,0,0,0,114,35,0,0,0,114,53,0,0,0,114,4, 100,0,0,0,114,35,0,0,0,114,53,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,114,192,0, 0,0,0,114,4,0,0,0,114,5,0,0,0,114,192,0,
0,0,183,2,0,0,115,0,0,0,0,122,21,83,111,117, 0,0,184,2,0,0,115,0,0,0,0,122,21,83,111,117,
114,99,101,76,111,97,100,101,114,46,115,101,116,95,100,97, 114,99,101,76,111,97,100,101,114,46,115,101,116,95,100,97,
116,97,99,2,0,0,0,0,0,0,0,5,0,0,0,16, 116,97,99,2,0,0,0,0,0,0,0,5,0,0,0,16,
0,0,0,67,0,0,0,115,105,0,0,0,124,0,0,106, 0,0,0,67,0,0,0,115,105,0,0,0,124,0,0,106,
...@@ -1177,7 +1177,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1177,7 +1177,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,0,114,119,0,0,0,114,35,0,0,0,114,147,0, 0,0,0,114,119,0,0,0,114,35,0,0,0,114,147,0,
0,0,218,3,101,120,99,114,4,0,0,0,114,4,0,0, 0,0,218,3,101,120,99,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,218,10,103,101,116,95,115,111,117,114, 0,114,5,0,0,0,218,10,103,101,116,95,115,111,117,114,
99,101,190,2,0,0,115,14,0,0,0,0,2,15,1,3, 99,101,191,2,0,0,115,14,0,0,0,0,2,15,1,3,
1,19,1,18,1,9,1,31,1,122,23,83,111,117,114,99, 1,19,1,18,1,9,1,31,1,122,23,83,111,117,114,99,
101,76,111,97,100,101,114,46,103,101,116,95,115,111,117,114, 101,76,111,97,100,101,114,46,103,101,116,95,115,111,117,114,
99,101,218,9,95,111,112,116,105,109,105,122,101,114,29,0, 99,101,218,9,95,111,112,116,105,109,105,122,101,114,29,0,
...@@ -1199,7 +1199,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1199,7 +1199,7 @@ const unsigned char _Py_M__importlib_external[] = {
108,101,41,4,114,100,0,0,0,114,53,0,0,0,114,35, 108,101,41,4,114,100,0,0,0,114,53,0,0,0,114,35,
0,0,0,114,197,0,0,0,114,4,0,0,0,114,4,0, 0,0,0,114,197,0,0,0,114,4,0,0,0,114,4,0,
0,0,114,5,0,0,0,218,14,115,111,117,114,99,101,95, 0,0,114,5,0,0,0,218,14,115,111,117,114,99,101,95,
116,111,95,99,111,100,101,200,2,0,0,115,4,0,0,0, 116,111,95,99,111,100,101,201,2,0,0,115,4,0,0,0,
0,5,21,1,122,27,83,111,117,114,99,101,76,111,97,100, 0,5,21,1,122,27,83,111,117,114,99,101,76,111,97,100,
101,114,46,115,111,117,114,99,101,95,116,111,95,99,111,100, 101,114,46,115,111,117,114,99,101,95,116,111,95,99,111,100,
101,99,2,0,0,0,0,0,0,0,10,0,0,0,43,0, 101,99,2,0,0,0,0,0,0,0,10,0,0,0,43,0,
...@@ -1260,7 +1260,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1260,7 +1260,7 @@ const unsigned char _Py_M__importlib_external[] = {
89,0,0,0,218,2,115,116,114,53,0,0,0,218,10,98, 89,0,0,0,218,2,115,116,114,53,0,0,0,218,10,98,
121,116,101,115,95,100,97,116,97,114,147,0,0,0,90,11, 121,116,101,115,95,100,97,116,97,114,147,0,0,0,90,11,
99,111,100,101,95,111,98,106,101,99,116,114,4,0,0,0, 99,111,100,101,95,111,98,106,101,99,116,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,114,181,0,0,0,208, 114,4,0,0,0,114,5,0,0,0,114,181,0,0,0,209,
2,0,0,115,78,0,0,0,0,7,15,1,6,1,3,1, 2,0,0,115,78,0,0,0,0,7,15,1,6,1,3,1,
16,1,13,1,11,2,3,1,19,1,13,1,5,2,16,1, 16,1,13,1,11,2,3,1,19,1,13,1,5,2,16,1,
3,1,19,1,13,1,5,2,3,1,9,1,12,1,13,1, 3,1,19,1,13,1,5,2,3,1,9,1,12,1,13,1,
...@@ -1273,7 +1273,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1273,7 +1273,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,0,114,192,0,0,0,114,196,0,0,0,114,200,0, 0,0,0,114,192,0,0,0,114,196,0,0,0,114,200,0,
0,0,114,181,0,0,0,114,4,0,0,0,114,4,0,0, 0,0,114,181,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,188,0,0,0, 0,114,4,0,0,0,114,5,0,0,0,114,188,0,0,0,
150,2,0,0,115,14,0,0,0,12,2,12,8,12,13,12, 151,2,0,0,115,14,0,0,0,12,2,12,8,12,13,12,
10,12,7,12,10,18,8,114,188,0,0,0,99,0,0,0, 10,12,7,12,10,18,8,114,188,0,0,0,99,0,0,0,
0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,
0,115,112,0,0,0,101,0,0,90,1,0,100,0,0,90, 0,115,112,0,0,0,101,0,0,90,1,0,100,0,0,90,
...@@ -1301,7 +1301,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1301,7 +1301,7 @@ const unsigned char _Py_M__importlib_external[] = {
32,32,32,32,32,102,105,110,100,101,114,46,78,41,2,114, 32,32,32,32,32,102,105,110,100,101,114,46,78,41,2,114,
98,0,0,0,114,35,0,0,0,41,3,114,100,0,0,0, 98,0,0,0,114,35,0,0,0,41,3,114,100,0,0,0,
114,119,0,0,0,114,35,0,0,0,114,4,0,0,0,114, 114,119,0,0,0,114,35,0,0,0,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,114,179,0,0,0,9,3, 4,0,0,0,114,5,0,0,0,114,179,0,0,0,10,3,
0,0,115,4,0,0,0,0,3,9,1,122,19,70,105,108, 0,0,115,4,0,0,0,0,3,9,1,122,19,70,105,108,
101,76,111,97,100,101,114,46,95,95,105,110,105,116,95,95, 101,76,111,97,100,101,114,46,95,95,105,110,105,116,95,95,
99,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0, 99,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0,
...@@ -1311,7 +1311,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1311,7 +1311,7 @@ const unsigned char _Py_M__importlib_external[] = {
2,218,9,95,95,99,108,97,115,115,95,95,114,111,0,0, 2,218,9,95,95,99,108,97,115,115,95,95,114,111,0,0,
0,41,2,114,100,0,0,0,218,5,111,116,104,101,114,114, 0,41,2,114,100,0,0,0,218,5,111,116,104,101,114,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,6, 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,6,
95,95,101,113,95,95,15,3,0,0,115,4,0,0,0,0, 95,95,101,113,95,95,16,3,0,0,115,4,0,0,0,0,
1,18,1,122,17,70,105,108,101,76,111,97,100,101,114,46, 1,18,1,122,17,70,105,108,101,76,111,97,100,101,114,46,
95,95,101,113,95,95,99,1,0,0,0,0,0,0,0,1, 95,95,101,113,95,95,99,1,0,0,0,0,0,0,0,1,
0,0,0,3,0,0,0,67,0,0,0,115,26,0,0,0, 0,0,0,3,0,0,0,67,0,0,0,115,26,0,0,0,
...@@ -1319,7 +1319,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1319,7 +1319,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,106,2,0,131,1,0,65,83,41,1,78,41,3,218, 0,0,106,2,0,131,1,0,65,83,41,1,78,41,3,218,
4,104,97,115,104,114,98,0,0,0,114,35,0,0,0,41, 4,104,97,115,104,114,98,0,0,0,114,35,0,0,0,41,
1,114,100,0,0,0,114,4,0,0,0,114,4,0,0,0, 1,114,100,0,0,0,114,4,0,0,0,114,4,0,0,0,
114,5,0,0,0,218,8,95,95,104,97,115,104,95,95,19, 114,5,0,0,0,218,8,95,95,104,97,115,104,95,95,20,
3,0,0,115,2,0,0,0,0,1,122,19,70,105,108,101, 3,0,0,115,2,0,0,0,0,1,122,19,70,105,108,101,
76,111,97,100,101,114,46,95,95,104,97,115,104,95,95,99, 76,111,97,100,101,114,46,95,95,104,97,115,104,95,95,99,
2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, 2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,
...@@ -1334,7 +1334,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1334,7 +1334,7 @@ const unsigned char _Py_M__importlib_external[] = {
32,32,32,32,32,32,32,41,3,218,5,115,117,112,101,114, 32,32,32,32,32,32,32,41,3,218,5,115,117,112,101,114,
114,204,0,0,0,114,187,0,0,0,41,2,114,100,0,0, 114,204,0,0,0,114,187,0,0,0,41,2,114,100,0,0,
0,114,119,0,0,0,41,1,114,205,0,0,0,114,4,0, 0,114,119,0,0,0,41,1,114,205,0,0,0,114,4,0,
0,0,114,5,0,0,0,114,187,0,0,0,22,3,0,0, 0,0,114,5,0,0,0,114,187,0,0,0,23,3,0,0,
115,2,0,0,0,0,10,122,22,70,105,108,101,76,111,97, 115,2,0,0,0,0,10,122,22,70,105,108,101,76,111,97,
100,101,114,46,108,111,97,100,95,109,111,100,117,108,101,99, 100,101,114,46,108,111,97,100,95,109,111,100,117,108,101,99,
2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0, 2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,
...@@ -1345,7 +1345,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1345,7 +1345,7 @@ const unsigned char _Py_M__importlib_external[] = {
98,121,32,116,104,101,32,102,105,110,100,101,114,46,41,1, 98,121,32,116,104,101,32,102,105,110,100,101,114,46,41,1,
114,35,0,0,0,41,2,114,100,0,0,0,114,119,0,0, 114,35,0,0,0,41,2,114,100,0,0,0,114,119,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
114,151,0,0,0,34,3,0,0,115,2,0,0,0,0,3, 114,151,0,0,0,35,3,0,0,115,2,0,0,0,0,3,
122,23,70,105,108,101,76,111,97,100,101,114,46,103,101,116, 122,23,70,105,108,101,76,111,97,100,101,114,46,103,101,116,
95,102,105,108,101,110,97,109,101,99,2,0,0,0,0,0, 95,102,105,108,101,110,97,109,101,99,2,0,0,0,0,0,
0,0,3,0,0,0,9,0,0,0,67,0,0,0,115,42, 0,0,3,0,0,0,9,0,0,0,67,0,0,0,115,42,
...@@ -1358,14 +1358,14 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1358,14 +1358,14 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,0,114,50,0,0,0,90,4,114,101,97,100,41,3, 0,0,0,114,50,0,0,0,90,4,114,101,97,100,41,3,
114,100,0,0,0,114,35,0,0,0,114,54,0,0,0,114, 114,100,0,0,0,114,35,0,0,0,114,54,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,194, 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,194,
0,0,0,39,3,0,0,115,4,0,0,0,0,2,21,1, 0,0,0,40,3,0,0,115,4,0,0,0,0,2,21,1,
122,19,70,105,108,101,76,111,97,100,101,114,46,103,101,116, 122,19,70,105,108,101,76,111,97,100,101,114,46,103,101,116,
95,100,97,116,97,41,11,114,105,0,0,0,114,104,0,0, 95,100,97,116,97,41,11,114,105,0,0,0,114,104,0,0,
0,114,106,0,0,0,114,107,0,0,0,114,179,0,0,0, 0,114,106,0,0,0,114,107,0,0,0,114,179,0,0,0,
114,207,0,0,0,114,209,0,0,0,114,116,0,0,0,114, 114,207,0,0,0,114,209,0,0,0,114,116,0,0,0,114,
187,0,0,0,114,151,0,0,0,114,194,0,0,0,114,4, 187,0,0,0,114,151,0,0,0,114,194,0,0,0,114,4,
0,0,0,114,4,0,0,0,41,1,114,205,0,0,0,114, 0,0,0,114,4,0,0,0,41,1,114,205,0,0,0,114,
5,0,0,0,114,204,0,0,0,4,3,0,0,115,14,0, 5,0,0,0,114,204,0,0,0,5,3,0,0,115,14,0,
0,0,12,3,6,2,12,6,12,4,12,3,24,12,18,5, 0,0,12,3,6,2,12,6,12,4,12,3,24,12,18,5,
114,204,0,0,0,99,0,0,0,0,0,0,0,0,0,0, 114,204,0,0,0,99,0,0,0,0,0,0,0,0,0,0,
0,0,4,0,0,0,64,0,0,0,115,64,0,0,0,101, 0,0,4,0,0,0,64,0,0,0,115,64,0,0,0,101,
...@@ -1388,7 +1388,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1388,7 +1388,7 @@ const unsigned char _Py_M__importlib_external[] = {
114,39,0,0,0,218,8,115,116,95,109,116,105,109,101,90, 114,39,0,0,0,218,8,115,116,95,109,116,105,109,101,90,
7,115,116,95,115,105,122,101,41,3,114,100,0,0,0,114, 7,115,116,95,115,105,122,101,41,3,114,100,0,0,0,114,
35,0,0,0,114,202,0,0,0,114,4,0,0,0,114,4, 35,0,0,0,114,202,0,0,0,114,4,0,0,0,114,4,
0,0,0,114,5,0,0,0,114,191,0,0,0,49,3,0, 0,0,0,114,5,0,0,0,114,191,0,0,0,50,3,0,
0,115,4,0,0,0,0,2,12,1,122,27,83,111,117,114, 0,115,4,0,0,0,0,2,12,1,122,27,83,111,117,114,
99,101,70,105,108,101,76,111,97,100,101,114,46,112,97,116, 99,101,70,105,108,101,76,111,97,100,101,114,46,112,97,116,
104,95,115,116,97,116,115,99,4,0,0,0,0,0,0,0, 104,95,115,116,97,116,115,99,4,0,0,0,0,0,0,0,
...@@ -1399,7 +1399,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1399,7 +1399,7 @@ const unsigned char _Py_M__importlib_external[] = {
97,0,0,0,114,192,0,0,0,41,5,114,100,0,0,0, 97,0,0,0,114,192,0,0,0,41,5,114,100,0,0,0,
114,90,0,0,0,114,89,0,0,0,114,53,0,0,0,114, 114,90,0,0,0,114,89,0,0,0,114,53,0,0,0,114,
42,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, 42,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
0,0,0,114,193,0,0,0,54,3,0,0,115,4,0,0, 0,0,0,114,193,0,0,0,55,3,0,0,115,4,0,0,
0,0,2,12,1,122,32,83,111,117,114,99,101,70,105,108, 0,0,2,12,1,122,32,83,111,117,114,99,101,70,105,108,
101,76,111,97,100,101,114,46,95,99,97,99,104,101,95,98, 101,76,111,97,100,101,114,46,95,99,97,99,104,101,95,98,
121,116,101,99,111,100,101,114,214,0,0,0,105,182,1,0, 121,116,101,99,111,100,101,114,214,0,0,0,105,182,1,0,
...@@ -1438,7 +1438,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1438,7 +1438,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,114,214,0,0,0,218,6,112,97,114,101,110,116,114,94, 0,114,214,0,0,0,218,6,112,97,114,101,110,116,114,94,
0,0,0,114,27,0,0,0,114,23,0,0,0,114,195,0, 0,0,0,114,27,0,0,0,114,23,0,0,0,114,195,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0, 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
0,114,192,0,0,0,59,3,0,0,115,42,0,0,0,0, 0,114,192,0,0,0,60,3,0,0,115,42,0,0,0,0,
2,18,1,6,2,22,1,18,1,17,2,19,1,15,1,3, 2,18,1,6,2,22,1,18,1,17,2,19,1,15,1,3,
1,17,1,13,2,7,1,18,3,9,1,10,1,27,1,3, 1,17,1,13,2,7,1,18,3,9,1,10,1,27,1,3,
1,16,1,20,1,18,2,12,1,122,25,83,111,117,114,99, 1,16,1,20,1,18,2,12,1,122,25,83,111,117,114,99,
...@@ -1447,7 +1447,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1447,7 +1447,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,114,106,0,0,0,114,107,0,0,0,114,191,0,0,0, 0,114,106,0,0,0,114,107,0,0,0,114,191,0,0,0,
114,193,0,0,0,114,192,0,0,0,114,4,0,0,0,114, 114,193,0,0,0,114,192,0,0,0,114,4,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,212, 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,212,
0,0,0,45,3,0,0,115,8,0,0,0,12,2,6,2, 0,0,0,46,3,0,0,115,8,0,0,0,12,2,6,2,
12,5,12,5,114,212,0,0,0,99,0,0,0,0,0,0, 12,5,12,5,114,212,0,0,0,99,0,0,0,0,0,0,
0,0,0,0,0,0,2,0,0,0,64,0,0,0,115,46, 0,0,0,0,0,0,2,0,0,0,64,0,0,0,115,46,
0,0,0,101,0,0,90,1,0,100,0,0,90,2,0,100, 0,0,0,101,0,0,90,1,0,100,0,0,90,2,0,100,
...@@ -1469,7 +1469,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1469,7 +1469,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,114,141,0,0,0,41,5,114,100,0,0,0,114,119,0, 0,114,141,0,0,0,41,5,114,100,0,0,0,114,119,0,
0,0,114,35,0,0,0,114,53,0,0,0,114,203,0,0, 0,0,114,35,0,0,0,114,53,0,0,0,114,203,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
114,181,0,0,0,94,3,0,0,115,8,0,0,0,0,1, 114,181,0,0,0,95,3,0,0,115,8,0,0,0,0,1,
15,1,15,1,24,1,122,29,83,111,117,114,99,101,108,101, 15,1,15,1,24,1,122,29,83,111,117,114,99,101,108,101,
115,115,70,105,108,101,76,111,97,100,101,114,46,103,101,116, 115,115,70,105,108,101,76,111,97,100,101,114,46,103,101,116,
95,99,111,100,101,99,2,0,0,0,0,0,0,0,2,0, 95,99,111,100,101,99,2,0,0,0,0,0,0,0,2,0,
...@@ -1479,13 +1479,13 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1479,13 +1479,13 @@ const unsigned char _Py_M__importlib_external[] = {
111,32,115,111,117,114,99,101,32,99,111,100,101,46,78,114, 111,32,115,111,117,114,99,101,32,99,111,100,101,46,78,114,
4,0,0,0,41,2,114,100,0,0,0,114,119,0,0,0, 4,0,0,0,41,2,114,100,0,0,0,114,119,0,0,0,
114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114, 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
196,0,0,0,100,3,0,0,115,2,0,0,0,0,2,122, 196,0,0,0,101,3,0,0,115,2,0,0,0,0,2,122,
31,83,111,117,114,99,101,108,101,115,115,70,105,108,101,76, 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, 111,97,100,101,114,46,103,101,116,95,115,111,117,114,99,101,
78,41,6,114,105,0,0,0,114,104,0,0,0,114,106,0, 78,41,6,114,105,0,0,0,114,104,0,0,0,114,106,0,
0,0,114,107,0,0,0,114,181,0,0,0,114,196,0,0, 0,0,114,107,0,0,0,114,181,0,0,0,114,196,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,0, 0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,
114,5,0,0,0,114,217,0,0,0,90,3,0,0,115,6, 114,5,0,0,0,114,217,0,0,0,91,3,0,0,115,6,
0,0,0,12,2,6,2,12,6,114,217,0,0,0,99,0, 0,0,0,12,2,6,2,12,6,114,217,0,0,0,99,0,
0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,64, 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,64,
0,0,0,115,136,0,0,0,101,0,0,90,1,0,100,0, 0,0,0,115,136,0,0,0,101,0,0,90,1,0,100,0,
...@@ -1510,7 +1510,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1510,7 +1510,7 @@ const unsigned char _Py_M__importlib_external[] = {
1,0,100,0,0,83,41,1,78,41,2,114,98,0,0,0, 1,0,100,0,0,83,41,1,78,41,2,114,98,0,0,0,
114,35,0,0,0,41,3,114,100,0,0,0,114,98,0,0, 114,35,0,0,0,41,3,114,100,0,0,0,114,98,0,0,
0,114,35,0,0,0,114,4,0,0,0,114,4,0,0,0, 0,114,35,0,0,0,114,4,0,0,0,114,4,0,0,0,
114,5,0,0,0,114,179,0,0,0,117,3,0,0,115,4, 114,5,0,0,0,114,179,0,0,0,118,3,0,0,115,4,
0,0,0,0,1,9,1,122,28,69,120,116,101,110,115,105, 0,0,0,0,1,9,1,122,28,69,120,116,101,110,115,105,
111,110,70,105,108,101,76,111,97,100,101,114,46,95,95,105, 111,110,70,105,108,101,76,111,97,100,101,114,46,95,95,105,
110,105,116,95,95,99,2,0,0,0,0,0,0,0,2,0, 110,105,116,95,95,99,2,0,0,0,0,0,0,0,2,0,
...@@ -1520,7 +1520,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1520,7 +1520,7 @@ const unsigned char _Py_M__importlib_external[] = {
83,41,1,78,41,2,114,205,0,0,0,114,111,0,0,0, 83,41,1,78,41,2,114,205,0,0,0,114,111,0,0,0,
41,2,114,100,0,0,0,114,206,0,0,0,114,4,0,0, 41,2,114,100,0,0,0,114,206,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,207,0,0,0, 0,114,4,0,0,0,114,5,0,0,0,114,207,0,0,0,
121,3,0,0,115,4,0,0,0,0,1,18,1,122,26,69, 122,3,0,0,115,4,0,0,0,0,1,18,1,122,26,69,
120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100, 120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100,
101,114,46,95,95,101,113,95,95,99,1,0,0,0,0,0, 101,114,46,95,95,101,113,95,95,99,1,0,0,0,0,0,
0,0,1,0,0,0,3,0,0,0,67,0,0,0,115,26, 0,0,1,0,0,0,3,0,0,0,67,0,0,0,115,26,
...@@ -1528,7 +1528,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1528,7 +1528,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,124,0,0,106,2,0,131,1,0,65,83,41,1,78, 0,0,124,0,0,106,2,0,131,1,0,65,83,41,1,78,
41,3,114,208,0,0,0,114,98,0,0,0,114,35,0,0, 41,3,114,208,0,0,0,114,98,0,0,0,114,35,0,0,
0,41,1,114,100,0,0,0,114,4,0,0,0,114,4,0, 0,41,1,114,100,0,0,0,114,4,0,0,0,114,4,0,
0,0,114,5,0,0,0,114,209,0,0,0,125,3,0,0, 0,0,114,5,0,0,0,114,209,0,0,0,126,3,0,0,
115,2,0,0,0,0,1,122,28,69,120,116,101,110,115,105, 115,2,0,0,0,0,1,122,28,69,120,116,101,110,115,105,
111,110,70,105,108,101,76,111,97,100,101,114,46,95,95,104, 111,110,70,105,108,101,76,111,97,100,101,114,46,95,95,104,
97,115,104,95,95,99,2,0,0,0,0,0,0,0,3,0, 97,115,104,95,95,99,2,0,0,0,0,0,0,0,3,0,
...@@ -1546,7 +1546,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1546,7 +1546,7 @@ const unsigned char _Py_M__importlib_external[] = {
97,109,105,99,114,129,0,0,0,114,98,0,0,0,114,35, 97,109,105,99,114,129,0,0,0,114,98,0,0,0,114,35,
0,0,0,41,3,114,100,0,0,0,114,158,0,0,0,114, 0,0,0,41,3,114,100,0,0,0,114,158,0,0,0,114,
184,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, 184,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
0,0,0,114,180,0,0,0,128,3,0,0,115,10,0,0, 0,0,0,114,180,0,0,0,129,3,0,0,115,10,0,0,
0,0,2,6,1,15,1,9,1,16,1,122,33,69,120,116, 0,0,2,6,1,15,1,9,1,16,1,122,33,69,120,116,
101,110,115,105,111,110,70,105,108,101,76,111,97,100,101,114, 101,110,115,105,111,110,70,105,108,101,76,111,97,100,101,114,
46,99,114,101,97,116,101,95,109,111,100,117,108,101,99,2, 46,99,114,101,97,116,101,95,109,111,100,117,108,101,99,2,
...@@ -1564,7 +1564,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1564,7 +1564,7 @@ const unsigned char _Py_M__importlib_external[] = {
97,109,105,99,114,129,0,0,0,114,98,0,0,0,114,35, 97,109,105,99,114,129,0,0,0,114,98,0,0,0,114,35,
0,0,0,41,2,114,100,0,0,0,114,184,0,0,0,114, 0,0,0,41,2,114,100,0,0,0,114,184,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,185, 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,185,
0,0,0,136,3,0,0,115,6,0,0,0,0,2,19,1, 0,0,0,137,3,0,0,115,6,0,0,0,0,2,19,1,
9,1,122,31,69,120,116,101,110,115,105,111,110,70,105,108, 9,1,122,31,69,120,116,101,110,115,105,111,110,70,105,108,
101,76,111,97,100,101,114,46,101,120,101,99,95,109,111,100, 101,76,111,97,100,101,114,46,101,120,101,99,95,109,111,100,
117,108,101,99,2,0,0,0,0,0,0,0,2,0,0,0, 117,108,101,99,2,0,0,0,0,0,0,0,2,0,0,0,
...@@ -1582,7 +1582,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1582,7 +1582,7 @@ const unsigned char _Py_M__importlib_external[] = {
41,2,114,179,0,0,0,78,114,4,0,0,0,41,2,114, 41,2,114,179,0,0,0,78,114,4,0,0,0,41,2,114,
22,0,0,0,218,6,115,117,102,102,105,120,41,1,218,9, 22,0,0,0,218,6,115,117,102,102,105,120,41,1,218,9,
102,105,108,101,95,110,97,109,101,114,4,0,0,0,114,5, 102,105,108,101,95,110,97,109,101,114,4,0,0,0,114,5,
0,0,0,250,9,60,103,101,110,101,120,112,114,62,145,3, 0,0,0,250,9,60,103,101,110,101,120,112,114,62,146,3,
0,0,115,2,0,0,0,6,1,122,49,69,120,116,101,110, 0,0,115,2,0,0,0,6,1,122,49,69,120,116,101,110,
115,105,111,110,70,105,108,101,76,111,97,100,101,114,46,105, 115,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,95,112,97,99,107,97,103,101,46,60,108,111,99,97,108,
...@@ -1591,7 +1591,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1591,7 +1591,7 @@ const unsigned char _Py_M__importlib_external[] = {
88,84,69,78,83,73,79,78,95,83,85,70,70,73,88,69, 88,84,69,78,83,73,79,78,95,83,85,70,70,73,88,69,
83,41,2,114,100,0,0,0,114,119,0,0,0,114,4,0, 83,41,2,114,100,0,0,0,114,119,0,0,0,114,4,0,
0,0,41,1,114,220,0,0,0,114,5,0,0,0,114,153, 0,0,41,1,114,220,0,0,0,114,5,0,0,0,114,153,
0,0,0,142,3,0,0,115,6,0,0,0,0,2,19,1, 0,0,0,143,3,0,0,115,6,0,0,0,0,2,19,1,
18,1,122,30,69,120,116,101,110,115,105,111,110,70,105,108, 18,1,122,30,69,120,116,101,110,115,105,111,110,70,105,108,
101,76,111,97,100,101,114,46,105,115,95,112,97,99,107,97, 101,76,111,97,100,101,114,46,105,115,95,112,97,99,107,97,
103,101,99,2,0,0,0,0,0,0,0,2,0,0,0,1, 103,101,99,2,0,0,0,0,0,0,0,2,0,0,0,1,
...@@ -1602,7 +1602,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1602,7 +1602,7 @@ const unsigned char _Py_M__importlib_external[] = {
101,97,116,101,32,97,32,99,111,100,101,32,111,98,106,101, 101,97,116,101,32,97,32,99,111,100,101,32,111,98,106,101,
99,116,46,78,114,4,0,0,0,41,2,114,100,0,0,0, 99,116,46,78,114,4,0,0,0,41,2,114,100,0,0,0,
114,119,0,0,0,114,4,0,0,0,114,4,0,0,0,114, 114,119,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
5,0,0,0,114,181,0,0,0,148,3,0,0,115,2,0, 5,0,0,0,114,181,0,0,0,149,3,0,0,115,2,0,
0,0,0,2,122,28,69,120,116,101,110,115,105,111,110,70, 0,0,0,2,122,28,69,120,116,101,110,115,105,111,110,70,
105,108,101,76,111,97,100,101,114,46,103,101,116,95,99,111, 105,108,101,76,111,97,100,101,114,46,103,101,116,95,99,111,
100,101,99,2,0,0,0,0,0,0,0,2,0,0,0,1, 100,101,99,2,0,0,0,0,0,0,0,2,0,0,0,1,
...@@ -1612,7 +1612,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1612,7 +1612,7 @@ const unsigned char _Py_M__importlib_external[] = {
117,108,101,115,32,104,97,118,101,32,110,111,32,115,111,117, 117,108,101,115,32,104,97,118,101,32,110,111,32,115,111,117,
114,99,101,32,99,111,100,101,46,78,114,4,0,0,0,41, 114,99,101,32,99,111,100,101,46,78,114,4,0,0,0,41,
2,114,100,0,0,0,114,119,0,0,0,114,4,0,0,0, 2,114,100,0,0,0,114,119,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,114,196,0,0,0,152, 114,4,0,0,0,114,5,0,0,0,114,196,0,0,0,153,
3,0,0,115,2,0,0,0,0,2,122,30,69,120,116,101, 3,0,0,115,2,0,0,0,0,2,122,30,69,120,116,101,
110,115,105,111,110,70,105,108,101,76,111,97,100,101,114,46, 110,115,105,111,110,70,105,108,101,76,111,97,100,101,114,46,
103,101,116,95,115,111,117,114,99,101,99,2,0,0,0,0, 103,101,116,95,115,111,117,114,99,101,99,2,0,0,0,0,
...@@ -1624,7 +1624,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1624,7 +1624,7 @@ const unsigned char _Py_M__importlib_external[] = {
101,32,102,105,110,100,101,114,46,41,1,114,35,0,0,0, 101,32,102,105,110,100,101,114,46,41,1,114,35,0,0,0,
41,2,114,100,0,0,0,114,119,0,0,0,114,4,0,0, 41,2,114,100,0,0,0,114,119,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,151,0,0,0, 0,114,4,0,0,0,114,5,0,0,0,114,151,0,0,0,
156,3,0,0,115,2,0,0,0,0,3,122,32,69,120,116, 157,3,0,0,115,2,0,0,0,0,3,122,32,69,120,116,
101,110,115,105,111,110,70,105,108,101,76,111,97,100,101,114, 101,110,115,105,111,110,70,105,108,101,76,111,97,100,101,114,
46,103,101,116,95,102,105,108,101,110,97,109,101,78,41,14, 46,103,101,116,95,102,105,108,101,110,97,109,101,78,41,14,
114,105,0,0,0,114,104,0,0,0,114,106,0,0,0,114, 114,105,0,0,0,114,104,0,0,0,114,106,0,0,0,114,
...@@ -1632,7 +1632,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1632,7 +1632,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,0,114,180,0,0,0,114,185,0,0,0,114,153,0, 0,0,0,114,180,0,0,0,114,185,0,0,0,114,153,0,
0,0,114,181,0,0,0,114,196,0,0,0,114,116,0,0, 0,0,114,181,0,0,0,114,196,0,0,0,114,116,0,0,
0,114,151,0,0,0,114,4,0,0,0,114,4,0,0,0, 0,114,151,0,0,0,114,4,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,114,218,0,0,0,109, 114,4,0,0,0,114,5,0,0,0,114,218,0,0,0,110,
3,0,0,115,20,0,0,0,12,6,6,2,12,4,12,4, 3,0,0,115,20,0,0,0,12,6,6,2,12,4,12,4,
12,3,12,8,12,6,12,6,12,4,12,4,114,218,0,0, 12,3,12,8,12,6,12,6,12,4,12,4,114,218,0,0,
0,99,0,0,0,0,0,0,0,0,0,0,0,0,2,0, 0,99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,
...@@ -1677,7 +1677,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1677,7 +1677,7 @@ const unsigned char _Py_M__importlib_external[] = {
100,101,114,41,4,114,100,0,0,0,114,98,0,0,0,114, 100,101,114,41,4,114,100,0,0,0,114,98,0,0,0,114,
35,0,0,0,218,11,112,97,116,104,95,102,105,110,100,101, 35,0,0,0,218,11,112,97,116,104,95,102,105,110,100,101,
114,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, 114,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
114,179,0,0,0,169,3,0,0,115,8,0,0,0,0,1, 114,179,0,0,0,170,3,0,0,115,8,0,0,0,0,1,
9,1,9,1,21,1,122,23,95,78,97,109,101,115,112,97, 9,1,9,1,21,1,122,23,95,78,97,109,101,115,112,97,
99,101,80,97,116,104,46,95,95,105,110,105,116,95,95,99, 99,101,80,97,116,104,46,95,95,105,110,105,116,95,95,99,
1,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, 1,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,
...@@ -1696,7 +1696,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1696,7 +1696,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,0,218,3,100,111,116,90,2,109,101,114,4,0,0, 0,0,0,218,3,100,111,116,90,2,109,101,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,218,23,95,102,105, 0,114,4,0,0,0,114,5,0,0,0,218,23,95,102,105,
110,100,95,112,97,114,101,110,116,95,112,97,116,104,95,110, 110,100,95,112,97,114,101,110,116,95,112,97,116,104,95,110,
97,109,101,115,175,3,0,0,115,8,0,0,0,0,2,27, 97,109,101,115,176,3,0,0,115,8,0,0,0,0,2,27,
1,12,2,4,3,122,38,95,78,97,109,101,115,112,97,99, 1,12,2,4,3,122,38,95,78,97,109,101,115,112,97,99,
101,80,97,116,104,46,95,102,105,110,100,95,112,97,114,101, 101,80,97,116,104,46,95,102,105,110,100,95,112,97,114,101,
110,116,95,112,97,116,104,95,110,97,109,101,115,99,1,0, 110,116,95,112,97,116,104,95,110,97,109,101,115,99,1,0,
...@@ -1709,7 +1709,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1709,7 +1709,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,90,18,112,97,114,101,110,116,95,109,111,100,117,108,101, 0,90,18,112,97,114,101,110,116,95,109,111,100,117,108,101,
95,110,97,109,101,90,14,112,97,116,104,95,97,116,116,114, 95,110,97,109,101,90,14,112,97,116,104,95,97,116,116,114,
95,110,97,109,101,114,4,0,0,0,114,4,0,0,0,114, 95,110,97,109,101,114,4,0,0,0,114,4,0,0,0,114,
5,0,0,0,114,227,0,0,0,185,3,0,0,115,4,0, 5,0,0,0,114,227,0,0,0,186,3,0,0,115,4,0,
0,0,0,1,18,1,122,31,95,78,97,109,101,115,112,97, 0,0,0,1,18,1,122,31,95,78,97,109,101,115,112,97,
99,101,80,97,116,104,46,95,103,101,116,95,112,97,114,101, 99,101,80,97,116,104,46,95,103,101,116,95,112,97,114,101,
110,116,95,112,97,116,104,99,1,0,0,0,0,0,0,0, 110,116,95,112,97,116,104,99,1,0,0,0,0,0,0,0,
...@@ -1727,7 +1727,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1727,7 +1727,7 @@ const unsigned char _Py_M__importlib_external[] = {
226,0,0,0,41,3,114,100,0,0,0,90,11,112,97,114, 226,0,0,0,41,3,114,100,0,0,0,90,11,112,97,114,
101,110,116,95,112,97,116,104,114,158,0,0,0,114,4,0, 101,110,116,95,112,97,116,104,114,158,0,0,0,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,218,12,95,114, 0,0,114,4,0,0,0,114,5,0,0,0,218,12,95,114,
101,99,97,108,99,117,108,97,116,101,189,3,0,0,115,16, 101,99,97,108,99,117,108,97,116,101,190,3,0,0,115,16,
0,0,0,0,2,18,1,15,1,21,3,27,1,9,1,12, 0,0,0,0,2,18,1,15,1,21,3,27,1,9,1,12,
1,9,1,122,27,95,78,97,109,101,115,112,97,99,101,80, 1,9,1,122,27,95,78,97,109,101,115,112,97,99,101,80,
97,116,104,46,95,114,101,99,97,108,99,117,108,97,116,101, 97,116,104,46,95,114,101,99,97,108,99,117,108,97,116,101,
...@@ -1736,7 +1736,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1736,7 +1736,7 @@ const unsigned char _Py_M__importlib_external[] = {
106,1,0,131,0,0,131,1,0,83,41,1,78,41,2,218, 106,1,0,131,0,0,131,1,0,83,41,1,78,41,2,218,
4,105,116,101,114,114,234,0,0,0,41,1,114,100,0,0, 4,105,116,101,114,114,234,0,0,0,41,1,114,100,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
218,8,95,95,105,116,101,114,95,95,202,3,0,0,115,2, 218,8,95,95,105,116,101,114,95,95,203,3,0,0,115,2,
0,0,0,0,1,122,23,95,78,97,109,101,115,112,97,99, 0,0,0,0,1,122,23,95,78,97,109,101,115,112,97,99,
101,80,97,116,104,46,95,95,105,116,101,114,95,95,99,1, 101,80,97,116,104,46,95,95,105,116,101,114,95,95,99,1,
0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,67, 0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,67,
...@@ -1744,7 +1744,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1744,7 +1744,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,131,0,0,131,1,0,83,41,1,78,41,2,114,31,0, 0,131,0,0,131,1,0,83,41,1,78,41,2,114,31,0,
0,0,114,234,0,0,0,41,1,114,100,0,0,0,114,4, 0,0,114,234,0,0,0,41,1,114,100,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,218,7,95, 0,0,0,114,4,0,0,0,114,5,0,0,0,218,7,95,
95,108,101,110,95,95,205,3,0,0,115,2,0,0,0,0, 95,108,101,110,95,95,206,3,0,0,115,2,0,0,0,0,
1,122,22,95,78,97,109,101,115,112,97,99,101,80,97,116, 1,122,22,95,78,97,109,101,115,112,97,99,101,80,97,116,
104,46,95,95,108,101,110,95,95,99,1,0,0,0,0,0, 104,46,95,95,108,101,110,95,95,99,1,0,0,0,0,0,
0,0,1,0,0,0,2,0,0,0,67,0,0,0,115,16, 0,0,1,0,0,0,2,0,0,0,67,0,0,0,115,16,
...@@ -1753,7 +1753,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1753,7 +1753,7 @@ const unsigned char _Py_M__importlib_external[] = {
99,101,80,97,116,104,40,123,33,114,125,41,41,2,114,47, 99,101,80,97,116,104,40,123,33,114,125,41,41,2,114,47,
0,0,0,114,226,0,0,0,41,1,114,100,0,0,0,114, 0,0,0,114,226,0,0,0,41,1,114,100,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,8, 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,8,
95,95,114,101,112,114,95,95,208,3,0,0,115,2,0,0, 95,95,114,101,112,114,95,95,209,3,0,0,115,2,0,0,
0,0,1,122,23,95,78,97,109,101,115,112,97,99,101,80, 0,0,1,122,23,95,78,97,109,101,115,112,97,99,101,80,
97,116,104,46,95,95,114,101,112,114,95,95,99,2,0,0, 97,116,104,46,95,95,114,101,112,114,95,95,99,2,0,0,
0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0, 0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,
...@@ -1761,7 +1761,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1761,7 +1761,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,107,6,0,83,41,1,78,41,1,114,234,0,0,0, 0,0,107,6,0,83,41,1,78,41,1,114,234,0,0,0,
41,2,114,100,0,0,0,218,4,105,116,101,109,114,4,0, 41,2,114,100,0,0,0,218,4,105,116,101,109,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,218,12,95,95, 0,0,114,4,0,0,0,114,5,0,0,0,218,12,95,95,
99,111,110,116,97,105,110,115,95,95,211,3,0,0,115,2, 99,111,110,116,97,105,110,115,95,95,212,3,0,0,115,2,
0,0,0,0,1,122,27,95,78,97,109,101,115,112,97,99, 0,0,0,0,1,122,27,95,78,97,109,101,115,112,97,99,
101,80,97,116,104,46,95,95,99,111,110,116,97,105,110,115, 101,80,97,116,104,46,95,95,99,111,110,116,97,105,110,115,
95,95,99,2,0,0,0,0,0,0,0,2,0,0,0,2, 95,95,99,2,0,0,0,0,0,0,0,2,0,0,0,2,
...@@ -1769,7 +1769,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1769,7 +1769,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,106,1,0,124,1,0,131,1,0,1,100,0,0,83, 0,0,106,1,0,124,1,0,131,1,0,1,100,0,0,83,
41,1,78,41,2,114,226,0,0,0,114,157,0,0,0,41, 41,1,78,41,2,114,226,0,0,0,114,157,0,0,0,41,
2,114,100,0,0,0,114,239,0,0,0,114,4,0,0,0, 2,114,100,0,0,0,114,239,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,114,157,0,0,0,214, 114,4,0,0,0,114,5,0,0,0,114,157,0,0,0,215,
3,0,0,115,2,0,0,0,0,1,122,21,95,78,97,109, 3,0,0,115,2,0,0,0,0,1,122,21,95,78,97,109,
101,115,112,97,99,101,80,97,116,104,46,97,112,112,101,110, 101,115,112,97,99,101,80,97,116,104,46,97,112,112,101,110,
100,78,41,13,114,105,0,0,0,114,104,0,0,0,114,106, 100,78,41,13,114,105,0,0,0,114,104,0,0,0,114,106,
...@@ -1777,7 +1777,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1777,7 +1777,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,114,227,0,0,0,114,234,0,0,0,114,236,0,0, 0,0,114,227,0,0,0,114,234,0,0,0,114,236,0,0,
0,114,237,0,0,0,114,238,0,0,0,114,240,0,0,0, 0,114,237,0,0,0,114,238,0,0,0,114,240,0,0,0,
114,157,0,0,0,114,4,0,0,0,114,4,0,0,0,114, 114,157,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,114,224,0,0,0,162,3, 4,0,0,0,114,5,0,0,0,114,224,0,0,0,163,3,
0,0,115,20,0,0,0,12,5,6,2,12,6,12,10,12, 0,0,115,20,0,0,0,12,5,6,2,12,6,12,10,12,
4,12,13,12,3,12,3,12,3,12,3,114,224,0,0,0, 4,12,13,12,3,12,3,12,3,12,3,114,224,0,0,0,
99,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0, 99,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,
...@@ -1797,7 +1797,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1797,7 +1797,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,114,226,0,0,0,41,4,114,100,0,0,0,114,98,0, 0,114,226,0,0,0,41,4,114,100,0,0,0,114,98,0,
0,0,114,35,0,0,0,114,230,0,0,0,114,4,0,0, 0,0,114,35,0,0,0,114,230,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,179,0,0,0, 0,114,4,0,0,0,114,5,0,0,0,114,179,0,0,0,
220,3,0,0,115,2,0,0,0,0,1,122,25,95,78,97, 221,3,0,0,115,2,0,0,0,0,1,122,25,95,78,97,
109,101,115,112,97,99,101,76,111,97,100,101,114,46,95,95, 109,101,115,112,97,99,101,76,111,97,100,101,114,46,95,95,
105,110,105,116,95,95,99,2,0,0,0,0,0,0,0,2, 105,110,105,116,95,95,99,2,0,0,0,0,0,0,0,2,
0,0,0,2,0,0,0,67,0,0,0,115,16,0,0,0, 0,0,0,2,0,0,0,67,0,0,0,115,16,0,0,0,
...@@ -1814,21 +1814,21 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1814,21 +1814,21 @@ const unsigned char _Py_M__importlib_external[] = {
41,62,41,2,114,47,0,0,0,114,105,0,0,0,41,2, 41,62,41,2,114,47,0,0,0,114,105,0,0,0,41,2,
114,164,0,0,0,114,184,0,0,0,114,4,0,0,0,114, 114,164,0,0,0,114,184,0,0,0,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,218,11,109,111,100,117,108, 4,0,0,0,114,5,0,0,0,218,11,109,111,100,117,108,
101,95,114,101,112,114,223,3,0,0,115,2,0,0,0,0, 101,95,114,101,112,114,224,3,0,0,115,2,0,0,0,0,
7,122,28,95,78,97,109,101,115,112,97,99,101,76,111,97, 7,122,28,95,78,97,109,101,115,112,97,99,101,76,111,97,
100,101,114,46,109,111,100,117,108,101,95,114,101,112,114,99, 100,101,114,46,109,111,100,117,108,101,95,114,101,112,114,99,
2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0, 2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,
67,0,0,0,115,4,0,0,0,100,1,0,83,41,2,78, 67,0,0,0,115,4,0,0,0,100,1,0,83,41,2,78,
84,114,4,0,0,0,41,2,114,100,0,0,0,114,119,0, 84,114,4,0,0,0,41,2,114,100,0,0,0,114,119,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0, 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
0,114,153,0,0,0,232,3,0,0,115,2,0,0,0,0, 0,114,153,0,0,0,233,3,0,0,115,2,0,0,0,0,
1,122,27,95,78,97,109,101,115,112,97,99,101,76,111,97, 1,122,27,95,78,97,109,101,115,112,97,99,101,76,111,97,
100,101,114,46,105,115,95,112,97,99,107,97,103,101,99,2, 100,101,114,46,105,115,95,112,97,99,107,97,103,101,99,2,
0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,67, 0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,67,
0,0,0,115,4,0,0,0,100,1,0,83,41,2,78,114, 0,0,0,115,4,0,0,0,100,1,0,83,41,2,78,114,
30,0,0,0,114,4,0,0,0,41,2,114,100,0,0,0, 30,0,0,0,114,4,0,0,0,41,2,114,100,0,0,0,
114,119,0,0,0,114,4,0,0,0,114,4,0,0,0,114, 114,119,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
5,0,0,0,114,196,0,0,0,235,3,0,0,115,2,0, 5,0,0,0,114,196,0,0,0,236,3,0,0,115,2,0,
0,0,0,1,122,27,95,78,97,109,101,115,112,97,99,101, 0,0,0,1,122,27,95,78,97,109,101,115,112,97,99,101,
76,111,97,100,101,114,46,103,101,116,95,115,111,117,114,99, 76,111,97,100,101,114,46,103,101,116,95,115,111,117,114,99,
101,99,2,0,0,0,0,0,0,0,2,0,0,0,6,0, 101,99,2,0,0,0,0,0,0,0,2,0,0,0,6,0,
...@@ -1838,7 +1838,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1838,7 +1838,7 @@ const unsigned char _Py_M__importlib_external[] = {
110,103,62,114,183,0,0,0,114,198,0,0,0,84,41,1, 110,103,62,114,183,0,0,0,114,198,0,0,0,84,41,1,
114,199,0,0,0,41,2,114,100,0,0,0,114,119,0,0, 114,199,0,0,0,41,2,114,100,0,0,0,114,119,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
114,181,0,0,0,238,3,0,0,115,2,0,0,0,0,1, 114,181,0,0,0,239,3,0,0,115,2,0,0,0,0,1,
122,25,95,78,97,109,101,115,112,97,99,101,76,111,97,100, 122,25,95,78,97,109,101,115,112,97,99,101,76,111,97,100,
101,114,46,103,101,116,95,99,111,100,101,99,2,0,0,0, 101,114,46,103,101,116,95,99,111,100,101,99,2,0,0,0,
0,0,0,0,2,0,0,0,1,0,0,0,67,0,0,0, 0,0,0,0,2,0,0,0,1,0,0,0,67,0,0,0,
...@@ -1847,14 +1847,14 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1847,14 +1847,14 @@ const unsigned char _Py_M__importlib_external[] = {
99,115,32,102,111,114,32,109,111,100,117,108,101,32,99,114, 99,115,32,102,111,114,32,109,111,100,117,108,101,32,99,114,
101,97,116,105,111,110,46,78,114,4,0,0,0,41,2,114, 101,97,116,105,111,110,46,78,114,4,0,0,0,41,2,114,
100,0,0,0,114,158,0,0,0,114,4,0,0,0,114,4, 100,0,0,0,114,158,0,0,0,114,4,0,0,0,114,4,
0,0,0,114,5,0,0,0,114,180,0,0,0,241,3,0, 0,0,0,114,5,0,0,0,114,180,0,0,0,242,3,0,
0,115,0,0,0,0,122,30,95,78,97,109,101,115,112,97, 0,115,0,0,0,0,122,30,95,78,97,109,101,115,112,97,
99,101,76,111,97,100,101,114,46,99,114,101,97,116,101,95, 99,101,76,111,97,100,101,114,46,99,114,101,97,116,101,95,
109,111,100,117,108,101,99,2,0,0,0,0,0,0,0,2, 109,111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,
0,0,0,1,0,0,0,67,0,0,0,115,4,0,0,0, 0,0,0,1,0,0,0,67,0,0,0,115,4,0,0,0,
100,0,0,83,41,1,78,114,4,0,0,0,41,2,114,100, 100,0,0,83,41,1,78,114,4,0,0,0,41,2,114,100,
0,0,0,114,184,0,0,0,114,4,0,0,0,114,4,0, 0,0,0,114,184,0,0,0,114,4,0,0,0,114,4,0,
0,0,114,5,0,0,0,114,185,0,0,0,244,3,0,0, 0,0,114,5,0,0,0,114,185,0,0,0,245,3,0,0,
115,2,0,0,0,0,1,122,28,95,78,97,109,101,115,112, 115,2,0,0,0,0,1,122,28,95,78,97,109,101,115,112,
97,99,101,76,111,97,100,101,114,46,101,120,101,99,95,109, 97,99,101,76,111,97,100,101,114,46,101,120,101,99,95,109,
111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,0, 111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,0,
...@@ -1873,7 +1873,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1873,7 +1873,7 @@ const unsigned char _Py_M__importlib_external[] = {
41,4,114,114,0,0,0,114,129,0,0,0,114,226,0,0, 41,4,114,114,0,0,0,114,129,0,0,0,114,226,0,0,
0,114,186,0,0,0,41,2,114,100,0,0,0,114,119,0, 0,114,186,0,0,0,41,2,114,100,0,0,0,114,119,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0, 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
0,114,187,0,0,0,247,3,0,0,115,6,0,0,0,0, 0,114,187,0,0,0,248,3,0,0,115,6,0,0,0,0,
7,9,1,10,1,122,28,95,78,97,109,101,115,112,97,99, 7,9,1,10,1,122,28,95,78,97,109,101,115,112,97,99,
101,76,111,97,100,101,114,46,108,111,97,100,95,109,111,100, 101,76,111,97,100,101,114,46,108,111,97,100,95,109,111,100,
117,108,101,78,41,12,114,105,0,0,0,114,104,0,0,0, 117,108,101,78,41,12,114,105,0,0,0,114,104,0,0,0,
...@@ -1881,7 +1881,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1881,7 +1881,7 @@ const unsigned char _Py_M__importlib_external[] = {
242,0,0,0,114,153,0,0,0,114,196,0,0,0,114,181, 242,0,0,0,114,153,0,0,0,114,196,0,0,0,114,181,
0,0,0,114,180,0,0,0,114,185,0,0,0,114,187,0, 0,0,0,114,180,0,0,0,114,185,0,0,0,114,187,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,4,0,0, 0,0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,114,241,0,0,0,219,3,0,0,115, 0,114,5,0,0,0,114,241,0,0,0,220,3,0,0,115,
16,0,0,0,12,1,12,3,18,9,12,3,12,3,12,3, 16,0,0,0,12,1,12,3,18,9,12,3,12,3,12,3,
12,3,12,3,114,241,0,0,0,99,0,0,0,0,0,0, 12,3,12,3,114,241,0,0,0,99,0,0,0,0,0,0,
0,0,0,0,0,0,5,0,0,0,64,0,0,0,115,160, 0,0,0,0,0,0,5,0,0,0,64,0,0,0,115,160,
...@@ -1919,7 +1919,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1919,7 +1919,7 @@ const unsigned char _Py_M__importlib_external[] = {
99,104,101,218,6,118,97,108,117,101,115,114,108,0,0,0, 99,104,101,218,6,118,97,108,117,101,115,114,108,0,0,0,
114,244,0,0,0,41,2,114,164,0,0,0,218,6,102,105, 114,244,0,0,0,41,2,114,164,0,0,0,218,6,102,105,
110,100,101,114,114,4,0,0,0,114,4,0,0,0,114,5, 110,100,101,114,114,4,0,0,0,114,4,0,0,0,114,5,
0,0,0,114,244,0,0,0,9,4,0,0,115,6,0,0, 0,0,0,114,244,0,0,0,10,4,0,0,115,6,0,0,
0,0,4,22,1,15,1,122,28,80,97,116,104,70,105,110, 0,0,4,22,1,15,1,122,28,80,97,116,104,70,105,110,
100,101,114,46,105,110,118,97,108,105,100,97,116,101,95,99, 100,101,114,46,105,110,118,97,108,105,100,97,116,101,95,99,
97,99,104,101,115,99,2,0,0,0,0,0,0,0,3,0, 97,99,104,101,115,99,2,0,0,0,0,0,0,0,3,0,
...@@ -1944,7 +1944,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1944,7 +1944,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,114,61,0,0,0,114,118,0,0,0,114,99,0,0,0, 0,114,61,0,0,0,114,118,0,0,0,114,99,0,0,0,
41,3,114,164,0,0,0,114,35,0,0,0,90,4,104,111, 41,3,114,164,0,0,0,114,35,0,0,0,90,4,104,111,
111,107,114,4,0,0,0,114,4,0,0,0,114,5,0,0, 111,107,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
0,218,11,95,112,97,116,104,95,104,111,111,107,115,17,4, 0,218,11,95,112,97,116,104,95,104,111,111,107,115,18,4,
0,0,115,16,0,0,0,0,7,25,1,16,1,16,1,3, 0,0,115,16,0,0,0,0,7,25,1,16,1,16,1,3,
1,14,1,13,1,12,2,122,22,80,97,116,104,70,105,110, 1,14,1,13,1,12,2,122,22,80,97,116,104,70,105,110,
100,101,114,46,95,112,97,116,104,95,104,111,111,107,115,99, 100,101,114,46,95,112,97,116,104,95,104,111,111,107,115,99,
...@@ -1977,7 +1977,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1977,7 +1977,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,0,41,3,114,164,0,0,0,114,35,0,0,0,114, 0,0,0,41,3,114,164,0,0,0,114,35,0,0,0,114,
247,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, 247,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
0,0,0,218,20,95,112,97,116,104,95,105,109,112,111,114, 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,34,4,0,0,115,22,0, 116,101,114,95,99,97,99,104,101,35,4,0,0,115,22,0,
0,0,0,8,12,1,3,1,16,1,13,3,9,1,3,1, 0,0,0,8,12,1,3,1,16,1,13,3,9,1,3,1,
17,1,13,1,15,1,18,1,122,31,80,97,116,104,70,105, 17,1,13,1,15,1,18,1,122,31,80,97,116,104,70,105,
110,100,101,114,46,95,112,97,116,104,95,105,109,112,111,114, 110,100,101,114,46,95,112,97,116,104,95,105,109,112,111,114,
...@@ -1997,7 +1997,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -1997,7 +1997,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,0,114,247,0,0,0,114,120,0,0,0,114,121,0, 0,0,0,114,247,0,0,0,114,120,0,0,0,114,121,0,
0,0,114,158,0,0,0,114,4,0,0,0,114,4,0,0, 0,0,114,158,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,218,16,95,108,101,103,97,99,121,95, 0,114,5,0,0,0,218,16,95,108,101,103,97,99,121,95,
103,101,116,95,115,112,101,99,56,4,0,0,115,18,0,0, 103,101,116,95,115,112,101,99,57,4,0,0,115,18,0,0,
0,0,4,15,1,24,2,15,1,6,1,12,1,16,1,18, 0,0,4,15,1,24,2,15,1,6,1,12,1,16,1,18,
1,9,1,122,27,80,97,116,104,70,105,110,100,101,114,46, 1,9,1,122,27,80,97,116,104,70,105,110,100,101,114,46,
95,108,101,103,97,99,121,95,103,101,116,95,115,112,101,99, 95,108,101,103,97,99,121,95,103,101,116,95,115,112,101,99,
...@@ -2033,7 +2033,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2033,7 +2033,7 @@ const unsigned char _Py_M__importlib_external[] = {
99,101,95,112,97,116,104,90,5,101,110,116,114,121,114,247, 99,101,95,112,97,116,104,90,5,101,110,116,114,121,114,247,
0,0,0,114,158,0,0,0,114,121,0,0,0,114,4,0, 0,0,0,114,158,0,0,0,114,121,0,0,0,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,218,9,95,103, 0,0,114,4,0,0,0,114,5,0,0,0,218,9,95,103,
101,116,95,115,112,101,99,71,4,0,0,115,40,0,0,0, 101,116,95,115,112,101,99,72,4,0,0,115,40,0,0,0,
0,5,6,1,13,1,21,1,3,1,15,1,12,1,15,1, 0,5,6,1,13,1,21,1,3,1,15,1,12,1,15,1,
21,2,18,1,12,1,3,1,15,1,4,1,9,1,12,1, 21,2,18,1,12,1,3,1,15,1,4,1,9,1,12,1,
12,5,17,2,18,1,9,1,122,20,80,97,116,104,70,105, 12,5,17,2,18,1,9,1,122,20,80,97,116,104,70,105,
...@@ -2060,7 +2060,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2060,7 +2060,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,114,152,0,0,0,114,224,0,0,0,41,6,114,164,0, 0,114,152,0,0,0,114,224,0,0,0,41,6,114,164,0,
0,0,114,119,0,0,0,114,35,0,0,0,114,174,0,0, 0,0,114,119,0,0,0,114,35,0,0,0,114,174,0,0,
0,114,158,0,0,0,114,254,0,0,0,114,4,0,0,0, 0,114,158,0,0,0,114,254,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,114,175,0,0,0,103, 114,4,0,0,0,114,5,0,0,0,114,175,0,0,0,104,
4,0,0,115,26,0,0,0,0,4,12,1,9,1,21,1, 4,0,0,115,26,0,0,0,0,4,12,1,9,1,21,1,
12,1,4,1,15,1,9,1,6,3,9,1,24,1,4,2, 12,1,4,1,15,1,9,1,6,3,9,1,24,1,4,2,
7,2,122,20,80,97,116,104,70,105,110,100,101,114,46,102, 7,2,122,20,80,97,116,104,70,105,110,100,101,114,46,102,
...@@ -2083,7 +2083,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2083,7 +2083,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,114,120,0,0,0,41,4,114,164,0,0,0,114,119,0, 0,114,120,0,0,0,41,4,114,164,0,0,0,114,119,0,
0,0,114,35,0,0,0,114,158,0,0,0,114,4,0,0, 0,0,114,35,0,0,0,114,158,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,176,0,0,0, 0,114,4,0,0,0,114,5,0,0,0,114,176,0,0,0,
125,4,0,0,115,8,0,0,0,0,8,18,1,12,1,4, 126,4,0,0,115,8,0,0,0,0,8,18,1,12,1,4,
1,122,22,80,97,116,104,70,105,110,100,101,114,46,102,105, 1,122,22,80,97,116,104,70,105,110,100,101,114,46,102,105,
110,100,95,109,111,100,117,108,101,41,12,114,105,0,0,0, 110,100,95,109,111,100,117,108,101,41,12,114,105,0,0,0,
114,104,0,0,0,114,106,0,0,0,114,107,0,0,0,114, 114,104,0,0,0,114,106,0,0,0,114,107,0,0,0,114,
...@@ -2091,7 +2091,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2091,7 +2091,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,0,114,252,0,0,0,114,255,0,0,0,114,175,0, 0,0,0,114,252,0,0,0,114,255,0,0,0,114,175,0,
0,0,114,176,0,0,0,114,4,0,0,0,114,4,0,0, 0,0,114,176,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,243,0,0,0, 0,114,4,0,0,0,114,5,0,0,0,114,243,0,0,0,
5,4,0,0,115,22,0,0,0,12,2,6,2,18,8,18, 6,4,0,0,115,22,0,0,0,12,2,6,2,18,8,18,
17,18,22,18,15,3,1,18,31,3,1,21,21,3,1,114, 17,18,22,18,15,3,1,18,31,3,1,21,21,3,1,114,
243,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0, 243,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,
0,3,0,0,0,64,0,0,0,115,133,0,0,0,101,0, 0,3,0,0,0,64,0,0,0,115,133,0,0,0,101,0,
...@@ -2140,7 +2140,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2140,7 +2140,7 @@ const unsigned char _Py_M__importlib_external[] = {
3,0,100,0,0,83,41,1,78,114,4,0,0,0,41,2, 3,0,100,0,0,83,41,1,78,114,4,0,0,0,41,2,
114,22,0,0,0,114,219,0,0,0,41,1,114,120,0,0, 114,22,0,0,0,114,219,0,0,0,41,1,114,120,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,221,0,0,0, 0,114,4,0,0,0,114,5,0,0,0,114,221,0,0,0,
154,4,0,0,115,2,0,0,0,6,0,122,38,70,105,108, 155,4,0,0,115,2,0,0,0,6,0,122,38,70,105,108,
101,70,105,110,100,101,114,46,95,95,105,110,105,116,95,95, 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, 46,60,108,111,99,97,108,115,62,46,60,103,101,110,101,120,
112,114,62,114,58,0,0,0,114,29,0,0,0,78,114,87, 112,114,62,114,58,0,0,0,114,29,0,0,0,78,114,87,
...@@ -2152,7 +2152,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2152,7 +2152,7 @@ const unsigned char _Py_M__importlib_external[] = {
100,0,0,0,114,35,0,0,0,218,14,108,111,97,100,101, 100,0,0,0,114,35,0,0,0,218,14,108,111,97,100,101,
114,95,100,101,116,97,105,108,115,90,7,108,111,97,100,101, 114,95,100,101,116,97,105,108,115,90,7,108,111,97,100,101,
114,115,114,160,0,0,0,114,4,0,0,0,41,1,114,120, 114,115,114,160,0,0,0,114,4,0,0,0,41,1,114,120,
0,0,0,114,5,0,0,0,114,179,0,0,0,148,4,0, 0,0,0,114,5,0,0,0,114,179,0,0,0,149,4,0,
0,115,16,0,0,0,0,4,6,1,19,1,36,1,9,2, 0,115,16,0,0,0,0,4,6,1,19,1,36,1,9,2,
15,1,9,1,12,1,122,19,70,105,108,101,70,105,110,100, 15,1,9,1,12,1,122,19,70,105,108,101,70,105,110,100,
101,114,46,95,95,105,110,105,116,95,95,99,1,0,0,0, 101,114,46,95,95,105,110,105,116,95,95,99,1,0,0,0,
...@@ -2163,7 +2163,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2163,7 +2163,7 @@ const unsigned char _Py_M__importlib_external[] = {
116,105,109,101,46,114,29,0,0,0,78,114,87,0,0,0, 116,105,109,101,46,114,29,0,0,0,78,114,87,0,0,0,
41,1,114,2,1,0,0,41,1,114,100,0,0,0,114,4, 41,1,114,2,1,0,0,41,1,114,100,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,114,244,0, 0,0,0,114,4,0,0,0,114,5,0,0,0,114,244,0,
0,0,162,4,0,0,115,2,0,0,0,0,2,122,28,70, 0,0,163,4,0,0,115,2,0,0,0,0,2,122,28,70,
105,108,101,70,105,110,100,101,114,46,105,110,118,97,108,105, 105,108,101,70,105,110,100,101,114,46,105,110,118,97,108,105,
100,97,116,101,95,99,97,99,104,101,115,99,2,0,0,0, 100,97,116,101,95,99,97,99,104,101,115,99,2,0,0,0,
0,0,0,0,3,0,0,0,2,0,0,0,67,0,0,0, 0,0,0,0,3,0,0,0,2,0,0,0,67,0,0,0,
...@@ -2187,7 +2187,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2187,7 +2187,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,114,120,0,0,0,114,150,0,0,0,41,3,114,100,0, 0,114,120,0,0,0,114,150,0,0,0,41,3,114,100,0,
0,0,114,119,0,0,0,114,158,0,0,0,114,4,0,0, 0,0,114,119,0,0,0,114,158,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,117,0,0,0, 0,114,4,0,0,0,114,5,0,0,0,114,117,0,0,0,
168,4,0,0,115,8,0,0,0,0,7,15,1,12,1,10, 169,4,0,0,115,8,0,0,0,0,7,15,1,12,1,10,
1,122,22,70,105,108,101,70,105,110,100,101,114,46,102,105, 1,122,22,70,105,108,101,70,105,110,100,101,114,46,102,105,
110,100,95,108,111,97,100,101,114,99,6,0,0,0,0,0, 110,100,95,108,111,97,100,101,114,99,6,0,0,0,0,0,
0,0,7,0,0,0,7,0,0,0,67,0,0,0,115,40, 0,0,7,0,0,0,7,0,0,0,67,0,0,0,115,40,
...@@ -2198,7 +2198,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2198,7 +2198,7 @@ const unsigned char _Py_M__importlib_external[] = {
7,114,100,0,0,0,114,159,0,0,0,114,119,0,0,0, 7,114,100,0,0,0,114,159,0,0,0,114,119,0,0,0,
114,35,0,0,0,90,4,115,109,115,108,114,174,0,0,0, 114,35,0,0,0,90,4,115,109,115,108,114,174,0,0,0,
114,120,0,0,0,114,4,0,0,0,114,4,0,0,0,114, 114,120,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
5,0,0,0,114,255,0,0,0,180,4,0,0,115,6,0, 5,0,0,0,114,255,0,0,0,181,4,0,0,115,6,0,
0,0,0,1,15,1,18,1,122,20,70,105,108,101,70,105, 0,0,0,1,15,1,18,1,122,20,70,105,108,101,70,105,
110,100,101,114,46,95,103,101,116,95,115,112,101,99,78,99, 110,100,101,114,46,95,103,101,116,95,115,112,101,99,78,99,
3,0,0,0,0,0,0,0,14,0,0,0,15,0,0,0, 3,0,0,0,0,0,0,0,14,0,0,0,15,0,0,0,
...@@ -2262,7 +2262,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2262,7 +2262,7 @@ const unsigned char _Py_M__importlib_external[] = {
110,105,116,95,102,105,108,101,110,97,109,101,90,9,102,117, 110,105,116,95,102,105,108,101,110,97,109,101,90,9,102,117,
108,108,95,112,97,116,104,114,158,0,0,0,114,4,0,0, 108,108,95,112,97,116,104,114,158,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,175,0,0,0, 0,114,4,0,0,0,114,5,0,0,0,114,175,0,0,0,
185,4,0,0,115,70,0,0,0,0,3,6,1,19,1,3, 186,4,0,0,115,70,0,0,0,0,3,6,1,19,1,3,
1,34,1,13,1,11,1,15,1,10,1,9,2,9,1,9, 1,34,1,13,1,11,1,15,1,10,1,9,2,9,1,9,
1,15,2,9,1,6,2,12,1,18,1,22,1,10,1,15, 1,15,2,9,1,6,2,12,1,18,1,22,1,10,1,15,
1,12,1,32,4,12,2,22,1,22,1,22,1,16,1,12, 1,12,1,32,4,12,2,22,1,22,1,22,1,16,1,12,
...@@ -2298,7 +2298,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2298,7 +2298,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,146,2,0,113,6,0,83,114,4,0,0,0,41,1, 0,0,146,2,0,113,6,0,83,114,4,0,0,0,41,1,
114,88,0,0,0,41,2,114,22,0,0,0,90,2,102,110, 114,88,0,0,0,41,2,114,22,0,0,0,90,2,102,110,
114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,250, 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,250,
9,60,115,101,116,99,111,109,112,62,4,5,0,0,115,2, 9,60,115,101,116,99,111,109,112,62,5,5,0,0,115,2,
0,0,0,9,0,122,41,70,105,108,101,70,105,110,100,101, 0,0,0,9,0,122,41,70,105,108,101,70,105,110,100,101,
114,46,95,102,105,108,108,95,99,97,99,104,101,46,60,108, 114,46,95,102,105,108,108,95,99,97,99,104,101,46,60,108,
111,99,97,108,115,62,46,60,115,101,116,99,111,109,112,62, 111,99,97,108,115,62,46,60,115,101,116,99,111,109,112,62,
...@@ -2315,7 +2315,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2315,7 +2315,7 @@ const unsigned char _Py_M__importlib_external[] = {
95,99,111,110,116,101,110,116,115,114,239,0,0,0,114,98, 95,99,111,110,116,101,110,116,115,114,239,0,0,0,114,98,
0,0,0,114,231,0,0,0,114,219,0,0,0,90,8,110, 0,0,0,114,231,0,0,0,114,219,0,0,0,90,8,110,
101,119,95,110,97,109,101,114,4,0,0,0,114,4,0,0, 101,119,95,110,97,109,101,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,114,7,1,0,0,231,4,0,0,115, 0,114,5,0,0,0,114,7,1,0,0,232,4,0,0,115,
34,0,0,0,0,2,9,1,3,1,31,1,22,3,11,3, 34,0,0,0,0,2,9,1,3,1,31,1,22,3,11,3,
18,1,18,7,9,1,13,1,24,1,6,1,27,2,6,1, 18,1,18,7,9,1,13,1,24,1,6,1,27,2,6,1,
17,1,9,1,18,1,122,22,70,105,108,101,70,105,110,100, 17,1,9,1,18,1,122,22,70,105,108,101,70,105,110,100,
...@@ -2354,7 +2354,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2354,7 +2354,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,0,0,41,1,114,35,0,0,0,41,2,114,164,0,0, 0,0,0,41,1,114,35,0,0,0,41,2,114,164,0,0,
0,114,6,1,0,0,114,4,0,0,0,114,5,0,0,0, 0,114,6,1,0,0,114,4,0,0,0,114,5,0,0,0,
218,24,112,97,116,104,95,104,111,111,107,95,102,111,114,95, 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,16,5,0,0,115,6, 70,105,108,101,70,105,110,100,101,114,17,5,0,0,115,6,
0,0,0,0,2,12,1,18,1,122,54,70,105,108,101,70, 0,0,0,0,2,12,1,18,1,122,54,70,105,108,101,70,
105,110,100,101,114,46,112,97,116,104,95,104,111,111,107,46, 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, 60,108,111,99,97,108,115,62,46,112,97,116,104,95,104,111,
...@@ -2362,7 +2362,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2362,7 +2362,7 @@ const unsigned char _Py_M__importlib_external[] = {
114,114,4,0,0,0,41,3,114,164,0,0,0,114,6,1, 114,114,4,0,0,0,41,3,114,164,0,0,0,114,6,1,
0,0,114,12,1,0,0,114,4,0,0,0,41,2,114,164, 0,0,114,12,1,0,0,114,4,0,0,0,41,2,114,164,
0,0,0,114,6,1,0,0,114,5,0,0,0,218,9,112, 0,0,0,114,6,1,0,0,114,5,0,0,0,218,9,112,
97,116,104,95,104,111,111,107,6,5,0,0,115,4,0,0, 97,116,104,95,104,111,111,107,7,5,0,0,115,4,0,0,
0,0,10,21,6,122,20,70,105,108,101,70,105,110,100,101, 0,0,10,21,6,122,20,70,105,108,101,70,105,110,100,101,
114,46,112,97,116,104,95,104,111,111,107,99,1,0,0,0, 114,46,112,97,116,104,95,104,111,111,107,99,1,0,0,0,
0,0,0,0,1,0,0,0,2,0,0,0,67,0,0,0, 0,0,0,0,1,0,0,0,2,0,0,0,67,0,0,0,
...@@ -2371,7 +2371,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2371,7 +2371,7 @@ const unsigned char _Py_M__importlib_external[] = {
110,100,101,114,40,123,33,114,125,41,41,2,114,47,0,0, 110,100,101,114,40,123,33,114,125,41,41,2,114,47,0,0,
0,114,35,0,0,0,41,1,114,100,0,0,0,114,4,0, 0,114,35,0,0,0,41,1,114,100,0,0,0,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,114,238,0,0, 0,0,114,4,0,0,0,114,5,0,0,0,114,238,0,0,
0,24,5,0,0,115,2,0,0,0,0,1,122,19,70,105, 0,25,5,0,0,115,2,0,0,0,0,1,122,19,70,105,
108,101,70,105,110,100,101,114,46,95,95,114,101,112,114,95, 108,101,70,105,110,100,101,114,46,95,95,114,101,112,114,95,
95,41,15,114,105,0,0,0,114,104,0,0,0,114,106,0, 95,41,15,114,105,0,0,0,114,104,0,0,0,114,106,0,
0,0,114,107,0,0,0,114,179,0,0,0,114,244,0,0, 0,0,114,107,0,0,0,114,179,0,0,0,114,244,0,0,
...@@ -2379,7 +2379,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2379,7 +2379,7 @@ const unsigned char _Py_M__importlib_external[] = {
114,255,0,0,0,114,175,0,0,0,114,7,1,0,0,114, 114,255,0,0,0,114,175,0,0,0,114,7,1,0,0,114,
177,0,0,0,114,13,1,0,0,114,238,0,0,0,114,4, 177,0,0,0,114,13,1,0,0,114,238,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0, 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
0,0,114,0,1,0,0,139,4,0,0,115,20,0,0,0, 0,0,114,0,1,0,0,140,4,0,0,115,20,0,0,0,
12,7,6,2,12,14,12,4,6,2,12,12,12,5,15,46, 12,7,6,2,12,14,12,4,6,2,12,12,12,5,15,46,
12,31,18,18,114,0,1,0,0,99,4,0,0,0,0,0, 12,31,18,18,114,0,1,0,0,99,4,0,0,0,0,0,
0,0,6,0,0,0,11,0,0,0,67,0,0,0,115,195, 0,0,6,0,0,0,11,0,0,0,67,0,0,0,115,195,
...@@ -2405,7 +2405,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2405,7 +2405,7 @@ const unsigned char _Py_M__importlib_external[] = {
104,110,97,109,101,90,9,99,112,97,116,104,110,97,109,101, 104,110,97,109,101,90,9,99,112,97,116,104,110,97,109,101,
114,120,0,0,0,114,158,0,0,0,114,4,0,0,0,114, 114,120,0,0,0,114,158,0,0,0,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,218,14,95,102,105,120,95, 4,0,0,0,114,5,0,0,0,218,14,95,102,105,120,95,
117,112,95,109,111,100,117,108,101,30,5,0,0,115,34,0, 117,112,95,109,111,100,117,108,101,31,5,0,0,115,34,0,
0,0,0,2,15,1,15,1,6,1,6,1,12,1,12,1, 0,0,0,2,15,1,15,1,6,1,6,1,12,1,12,1,
18,2,15,1,6,1,21,1,3,1,10,1,10,1,10,1, 18,2,15,1,6,1,21,1,3,1,10,1,10,1,10,1,
14,1,13,2,114,18,1,0,0,99,0,0,0,0,0,0, 14,1,13,2,114,18,1,0,0,99,0,0,0,0,0,0,
...@@ -2426,7 +2426,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2426,7 +2426,7 @@ const unsigned char _Py_M__importlib_external[] = {
0,41,3,90,10,101,120,116,101,110,115,105,111,110,115,90, 0,41,3,90,10,101,120,116,101,110,115,105,111,110,115,90,
6,115,111,117,114,99,101,90,8,98,121,116,101,99,111,100, 6,115,111,117,114,99,101,90,8,98,121,116,101,99,111,100,
101,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, 101,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
114,155,0,0,0,53,5,0,0,115,8,0,0,0,0,5, 114,155,0,0,0,54,5,0,0,115,8,0,0,0,0,5,
18,1,12,1,12,1,114,155,0,0,0,99,1,0,0,0, 18,1,12,1,12,1,114,155,0,0,0,99,1,0,0,0,
0,0,0,0,12,0,0,0,12,0,0,0,67,0,0,0, 0,0,0,0,12,0,0,0,12,0,0,0,67,0,0,0,
115,70,2,0,0,124,0,0,97,0,0,116,0,0,106,1, 115,70,2,0,0,124,0,0,97,0,0,116,0,0,106,1,
...@@ -2488,7 +2488,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2488,7 +2488,7 @@ const unsigned char _Py_M__importlib_external[] = {
83,41,2,114,29,0,0,0,78,41,1,114,31,0,0,0, 83,41,2,114,29,0,0,0,78,41,1,114,31,0,0,0,
41,2,114,22,0,0,0,114,77,0,0,0,114,4,0,0, 41,2,114,22,0,0,0,114,77,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,221,0,0,0, 0,114,4,0,0,0,114,5,0,0,0,114,221,0,0,0,
89,5,0,0,115,2,0,0,0,6,0,122,25,95,115,101, 90,5,0,0,115,2,0,0,0,6,0,122,25,95,115,101,
116,117,112,46,60,108,111,99,97,108,115,62,46,60,103,101, 116,117,112,46,60,108,111,99,97,108,115,62,46,60,103,101,
110,101,120,112,114,62,114,59,0,0,0,122,30,105,109,112, 110,101,120,112,114,62,114,59,0,0,0,122,30,105,109,112,
111,114,116,108,105,98,32,114,101,113,117,105,114,101,115,32, 111,114,116,108,105,98,32,114,101,113,117,105,114,101,115,32,
...@@ -2518,7 +2518,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2518,7 +2518,7 @@ const unsigned char _Py_M__importlib_external[] = {
90,14,119,101,97,107,114,101,102,95,109,111,100,117,108,101, 90,14,119,101,97,107,114,101,102,95,109,111,100,117,108,101,
90,13,119,105,110,114,101,103,95,109,111,100,117,108,101,114, 90,13,119,105,110,114,101,103,95,109,111,100,117,108,101,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,6, 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,6,
95,115,101,116,117,112,64,5,0,0,115,82,0,0,0,0, 95,115,101,116,117,112,65,5,0,0,115,82,0,0,0,0,
8,6,1,9,1,9,3,13,1,13,1,15,1,18,2,13, 8,6,1,9,1,9,3,13,1,13,1,15,1,18,2,13,
1,20,3,33,1,19,2,31,1,10,1,15,1,13,1,4, 1,20,3,33,1,19,2,31,1,10,1,15,1,13,1,4,
2,3,1,15,1,5,1,13,1,12,2,12,1,16,1,16, 2,3,1,15,1,5,1,13,1,12,2,12,1,16,1,16,
...@@ -2544,7 +2544,7 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2544,7 +2544,7 @@ const unsigned char _Py_M__importlib_external[] = {
114,212,0,0,0,41,2,114,26,1,0,0,90,17,115,117, 114,212,0,0,0,41,2,114,26,1,0,0,90,17,115,117,
112,112,111,114,116,101,100,95,108,111,97,100,101,114,115,114, 112,112,111,114,116,101,100,95,108,111,97,100,101,114,115,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,8, 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,8,
95,105,110,115,116,97,108,108,132,5,0,0,115,16,0,0, 95,105,110,115,116,97,108,108,133,5,0,0,115,16,0,0,
0,0,2,10,1,9,1,28,1,15,1,16,1,16,4,9, 0,0,2,10,1,9,1,28,1,15,1,16,1,16,4,9,
1,114,29,1,0,0,41,3,122,3,119,105,110,114,1,0, 1,114,29,1,0,0,41,3,122,3,119,105,110,114,1,0,
0,0,114,2,0,0,0,41,56,114,107,0,0,0,114,10, 0,0,114,2,0,0,0,41,56,114,107,0,0,0,114,10,
...@@ -2571,11 +2571,12 @@ const unsigned char _Py_M__importlib_external[] = { ...@@ -2571,11 +2571,12 @@ const unsigned char _Py_M__importlib_external[] = {
114,18,1,0,0,114,155,0,0,0,114,27,1,0,0,114, 114,18,1,0,0,114,155,0,0,0,114,27,1,0,0,114,
29,1,0,0,114,4,0,0,0,114,4,0,0,0,114,4, 29,1,0,0,114,4,0,0,0,114,4,0,0,0,114,4,
0,0,0,114,5,0,0,0,218,8,60,109,111,100,117,108, 0,0,0,114,5,0,0,0,218,8,60,109,111,100,117,108,
101,62,8,0,0,0,115,98,0,0,0,6,17,6,3,12, 101,62,8,0,0,0,115,102,0,0,0,6,17,6,3,12,
12,12,5,12,5,12,6,12,12,12,10,12,9,12,5,12, 12,12,5,12,5,12,6,12,12,12,10,12,9,12,5,12,
7,15,22,15,111,22,1,18,2,6,1,6,2,9,2,9, 7,15,22,15,112,22,1,18,2,6,1,6,2,9,2,9,
2,10,2,21,44,12,33,12,19,12,12,12,12,12,28,12, 2,10,2,21,44,12,33,12,19,12,12,12,12,12,28,12,
17,21,55,21,12,18,10,12,14,9,3,12,1,15,65,19, 17,21,55,21,12,18,10,12,14,9,3,12,1,15,65,19,
64,19,29,22,110,19,41,25,45,25,16,6,3,25,53,19, 64,19,29,22,110,19,41,25,45,25,16,6,3,25,53,19,
57,19,42,19,134,19,147,15,23,12,11,12,68, 57,19,42,19,127,0,7,19,127,0,20,15,23,12,11,12,
68,
}; };
...@@ -346,19 +346,19 @@ markblocks(unsigned char *code, Py_ssize_t len) ...@@ -346,19 +346,19 @@ markblocks(unsigned char *code, Py_ssize_t len)
single basic block. All transformations keep the code size the same or single basic block. All transformations keep the code size the same or
smaller. For those that reduce size, the gaps are initially filled with smaller. For those that reduce size, the gaps are initially filled with
NOPs. Later those NOPs are removed and the jump addresses retargeted in NOPs. Later those NOPs are removed and the jump addresses retargeted in
a single pass. Line numbering is adjusted accordingly. */ a single pass. Code offset is adjusted accordingly. */
PyObject * PyObject *
PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names,
PyObject *lineno_obj) PyObject *lnotab_obj)
{ {
Py_ssize_t i, j, codelen; Py_ssize_t i, j, codelen;
int nops, h, adj; int nops, h, adj;
int tgt, tgttgt, opcode; int tgt, tgttgt, opcode;
unsigned char *codestr = NULL; unsigned char *codestr = NULL;
unsigned char *lineno; unsigned char *lnotab;
int *addrmap = NULL; int *addrmap = NULL;
int new_line, cum_orig_line, last_line; int cum_orig_offset, last_offset;
Py_ssize_t tabsiz; Py_ssize_t tabsiz;
PyObject **const_stack = NULL; PyObject **const_stack = NULL;
Py_ssize_t *load_const_stack = NULL; Py_ssize_t *load_const_stack = NULL;
...@@ -371,12 +371,17 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, ...@@ -371,12 +371,17 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names,
if (PyErr_Occurred()) if (PyErr_Occurred())
goto exitError; goto exitError;
/* Bypass optimization when the lineno table is too complex */ /* Bypass optimization when the lnotab table is too complex */
assert(PyBytes_Check(lineno_obj)); assert(PyBytes_Check(lnotab_obj));
lineno = (unsigned char*)PyBytes_AS_STRING(lineno_obj); lnotab = (unsigned char*)PyBytes_AS_STRING(lnotab_obj);
tabsiz = PyBytes_GET_SIZE(lineno_obj); tabsiz = PyBytes_GET_SIZE(lnotab_obj);
if (memchr(lineno, 255, tabsiz) != NULL) assert(tabsiz == 0 || Py_REFCNT(lnotab_obj) == 1);
if (memchr(lnotab, 255, tabsiz) != NULL) {
/* 255 value are used for multibyte bytecode instructions */
goto exitUnchanged; goto exitUnchanged;
}
/* Note: -128 and 127 special values for line number delta are ok,
the peephole optimizer doesn't modify line numbers. */
/* Avoid situations where jump retargeting could overflow */ /* Avoid situations where jump retargeting could overflow */
assert(PyBytes_Check(code)); assert(PyBytes_Check(code));
...@@ -663,21 +668,24 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, ...@@ -663,21 +668,24 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names,
} }
} }
/* Fixup linenotab */ /* Fixup lnotab */
for (i=0, nops=0 ; i<codelen ; i += CODESIZE(codestr[i])) { for (i=0, nops=0 ; i<codelen ; i += CODESIZE(codestr[i])) {
assert(i - nops <= INT_MAX); assert(i - nops <= INT_MAX);
/* original code offset => new code offset */
addrmap[i] = (int)(i - nops); addrmap[i] = (int)(i - nops);
if (codestr[i] == NOP) if (codestr[i] == NOP)
nops++; nops++;
} }
cum_orig_line = 0; cum_orig_offset = 0;
last_line = 0; last_offset = 0;
for (i=0 ; i < tabsiz ; i+=2) { for (i=0 ; i < tabsiz ; i+=2) {
cum_orig_line += lineno[i]; int offset_delta, new_offset;
new_line = addrmap[cum_orig_line]; cum_orig_offset += lnotab[i];
assert (new_line - last_line < 255); new_offset = addrmap[cum_orig_offset];
lineno[i] =((unsigned char)(new_line - last_line)); offset_delta = new_offset - last_offset;
last_line = new_line; assert(0 <= offset_delta && offset_delta <= 255);
lnotab[i] = (unsigned char)offset_delta;
last_offset = new_offset;
} }
/* Remove NOPs and fixup jump targets */ /* Remove NOPs and fixup jump targets */
...@@ -727,12 +735,9 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, ...@@ -727,12 +735,9 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names,
exitUnchanged: exitUnchanged:
CONST_STACK_DELETE(); CONST_STACK_DELETE();
if (blocks != NULL) PyMem_Free(blocks);
PyMem_Free(blocks); PyMem_Free(addrmap);
if (addrmap != NULL) PyMem_Free(codestr);
PyMem_Free(addrmap);
if (codestr != NULL)
PyMem_Free(codestr);
Py_XINCREF(code); Py_XINCREF(code);
return code; return code;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment