summaryrefslogtreecommitdiff
path: root/Modules
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2013-08-25 14:57:38 +0200
committerChristian Heimes <christian@cheimes.de>2013-08-25 14:57:38 +0200
commit4af92d5e4d8c2a62cc28fca050c562e41fc13e50 (patch)
treef6d290ea01ca708cfbdb23d447874c6deab8cdc7 /Modules
parentb857cf015ce08a550133631f3b1ec4f6c90e6fc1 (diff)
parent2d218c8a43918bc780643b9966bf62a21291401b (diff)
downloadcpython-4af92d5e4d8c2a62cc28fca050c562e41fc13e50.tar.gz
Issue #11973: Fix a problem in kevent. The flags and fflags fields are now
properly handled as unsigned.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/Setup.dist5
-rw-r--r--Modules/_bz2module.c37
-rw-r--r--Modules/_codecsmodule.c6
-rw-r--r--Modules/_collectionsmodule.c410
-rw-r--r--Modules/_csv.c13
-rw-r--r--Modules/_ctypes/_ctypes.c26
-rw-r--r--Modules/_ctypes/callbacks.c23
-rw-r--r--Modules/_ctypes/callproc.c105
-rw-r--r--Modules/_ctypes/libffi_osx/ffi.c11
-rw-r--r--Modules/_ctypes/libffi_osx/x86/x86-ffi64.c11
-rw-r--r--Modules/_curses_panel.c8
-rw-r--r--Modules/_cursesmodule.c26
-rw-r--r--Modules/_datetimemodule.c78
-rw-r--r--Modules/_dbmmodule.c18
-rw-r--r--Modules/_elementtree.c405
-rw-r--r--Modules/_freeze_importlib.c6
-rw-r--r--Modules/_gdbmmodule.c22
-rw-r--r--Modules/_gestalt.c84
-rw-r--r--Modules/_hashopenssl.c22
-rw-r--r--Modules/_heapqmodule.c5
-rw-r--r--Modules/_io/_iomodule.c25
-rw-r--r--Modules/_io/_iomodule.h4
-rw-r--r--Modules/_io/bufferedio.c84
-rw-r--r--Modules/_io/fileio.c165
-rw-r--r--Modules/_io/iobase.c96
-rw-r--r--Modules/_io/textio.c105
-rw-r--r--Modules/_json.c177
-rw-r--r--Modules/_localemodule.c36
-rw-r--r--Modules/_lsprof.c32
-rw-r--r--Modules/_lzmamodule.c28
-rw-r--r--Modules/_multiprocessing/multiprocessing.c26
-rw-r--r--Modules/_multiprocessing/multiprocessing.h16
-rw-r--r--Modules/_multiprocessing/semaphore.c98
-rw-r--r--Modules/_operator.c (renamed from Modules/operator.c)125
-rw-r--r--Modules/_pickle.c204
-rw-r--r--Modules/_posixsubprocess.c2
-rw-r--r--Modules/_randommodule.c105
-rwxr-xr-xModules/_sha3/cleanup.py49
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-32-rvk.macros555
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-32-s1.macros1187
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-32-s2.macros1187
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-32.macros26
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-64.macros728
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-int-set.h6
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-interface.h46
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-opt32-settings.h6
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-opt32.c524
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-opt64-settings.h9
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-opt64.c510
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-simd128.macros651
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-simd64.macros517
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-unrolling.macros124
-rw-r--r--Modules/_sha3/keccak/KeccakF-1600-xop.macros573
-rw-r--r--Modules/_sha3/keccak/KeccakNISTInterface.c83
-rw-r--r--Modules/_sha3/keccak/KeccakNISTInterface.h72
-rw-r--r--Modules/_sha3/keccak/KeccakSponge.c266
-rw-r--r--Modules/_sha3/keccak/KeccakSponge.h76
-rwxr-xr-xModules/_sha3/keccak/brg_endian.h142
-rw-r--r--Modules/_sha3/keccak/crypto_hash.h (renamed from Modules/_ctypes/libffi/testsuite/libffi.call/a.out)0
-rw-r--r--Modules/_sha3/sha3module.c585
-rw-r--r--Modules/_sqlite/cache.c1
-rw-r--r--Modules/_sqlite/connection.c64
-rw-r--r--Modules/_sqlite/cursor.c6
-rw-r--r--Modules/_sqlite/module.c16
-rw-r--r--Modules/_sqlite/prepare_protocol.c1
-rw-r--r--Modules/_sqlite/row.c1
-rw-r--r--Modules/_sqlite/sqlitecompat.h63
-rw-r--r--Modules/_sqlite/statement.c1
-rw-r--r--Modules/_sqlite/util.c2
-rw-r--r--Modules/_sre.c31
-rw-r--r--Modules/_ssl.c751
-rw-r--r--Modules/_stat.c563
-rw-r--r--Modules/_struct.c359
-rw-r--r--Modules/_testbuffer.c60
-rw-r--r--Modules/_testcapimodule.c315
-rw-r--r--Modules/_testimportmultiple.c57
-rw-r--r--Modules/_threadmodule.c2
-rw-r--r--Modules/_tkinter.c666
-rw-r--r--Modules/_winapi.c7
-rw-r--r--Modules/arraymodule.c59
-rw-r--r--Modules/atexitmodule.c121
-rw-r--r--Modules/audioop.c12
-rw-r--r--Modules/binascii.c23
-rw-r--r--Modules/cjkcodecs/_codecs_cn.c210
-rw-r--r--Modules/cjkcodecs/_codecs_hk.c72
-rw-r--r--Modules/cjkcodecs/_codecs_iso2022.c283
-rw-r--r--Modules/cjkcodecs/_codecs_jp.c325
-rw-r--r--Modules/cjkcodecs/_codecs_kr.c152
-rw-r--r--Modules/cjkcodecs/_codecs_tw.c60
-rw-r--r--Modules/cjkcodecs/alg_jisx0201.h21
-rw-r--r--Modules/cjkcodecs/cjkcodecs.h158
-rw-r--r--Modules/cjkcodecs/emu_jisx0213_2000.h5
-rw-r--r--Modules/cjkcodecs/mappings_cn.h2
-rw-r--r--Modules/cjkcodecs/mappings_jisx0213_pair.h2
-rw-r--r--Modules/cjkcodecs/multibytecodec.c340
-rw-r--r--Modules/cjkcodecs/multibytecodec.h17
-rw-r--r--Modules/faulthandler.c20
-rw-r--r--Modules/fcntlmodule.c172
-rw-r--r--Modules/gcmodule.c302
-rw-r--r--Modules/getpath.c24
-rw-r--r--Modules/grpmodule.c11
-rw-r--r--Modules/hashlib.h33
-rw-r--r--Modules/main.c71
-rw-r--r--Modules/md5module.c10
-rw-r--r--Modules/mmapmodule.c8
-rw-r--r--Modules/ossaudiodev.c6
-rw-r--r--Modules/parsermodule.c101
-rw-r--r--Modules/posixmodule.c1809
-rw-r--r--Modules/pwdmodule.c9
-rw-r--r--Modules/pyexpat.c64
-rw-r--r--Modules/python.c27
-rw-r--r--Modules/readline.c160
-rw-r--r--Modules/resource.c43
-rw-r--r--Modules/selectmodule.c175
-rw-r--r--Modules/sha1module.c10
-rw-r--r--Modules/sha256module.c30
-rw-r--r--Modules/sha512module.c30
-rw-r--r--Modules/signalmodule.c44
-rw-r--r--Modules/socketmodule.c814
-rw-r--r--Modules/socketmodule.h6
-rw-r--r--Modules/spwdmodule.c8
-rw-r--r--Modules/symtablemodule.c32
-rw-r--r--Modules/syslogmodule.c66
-rw-r--r--Modules/timemodule.c75
-rw-r--r--Modules/unicodedata_db.h616
-rw-r--r--Modules/unicodename_db.h22399
-rw-r--r--Modules/zipimport.c29
-rw-r--r--Modules/zlibmodule.c110
128 files changed, 26175 insertions, 16538 deletions
diff --git a/Modules/Setup.dist b/Modules/Setup.dist
index f45de5caf4..ebf8172df3 100644
--- a/Modules/Setup.dist
+++ b/Modules/Setup.dist
@@ -113,9 +113,11 @@ _sre _sre.c # Fredrik Lundh's new regular expressions
_codecs _codecsmodule.c # access to the builtin codecs and codec registry
_weakref _weakref.c # weak references
_functools _functoolsmodule.c # Tools for working with functions and callable objects
-operator operator.c # operator.add() and similar goodies
+_operator _operator.c # operator.add() and similar goodies
_collections _collectionsmodule.c # Container types
itertools itertoolsmodule.c # Functions creating iterators for efficient looping
+atexit atexitmodule.c # Register functions to be run at interpreter-shutdown
+_stat _stat.c # stat.h interface
# access to ISO C locale support
_locale _localemodule.c # -lintl
@@ -170,7 +172,6 @@ _symtable symtablemodule.c
#_weakref _weakref.c # basic weak reference support
#_testcapi _testcapimodule.c # Python C API test module
#_random _randommodule.c # Random number generator
-#atexit atexitmodule.c # Register functions to be run at interpreter-shutdown
#_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator
#_pickle _pickle.c # pickle accelerator
#_datetime _datetimemodule.c # datetime accelerator
diff --git a/Modules/_bz2module.c b/Modules/_bz2module.c
index 4eee5a2fee..abc4d5d732 100644
--- a/Modules/_bz2module.c
+++ b/Modules/_bz2module.c
@@ -36,8 +36,6 @@
#define RELEASE_LOCK(obj)
#endif
-#define MIN(X, Y) (((X) < (Y)) ? (X) : (Y))
-
typedef struct {
PyObject_HEAD
@@ -149,7 +147,7 @@ compress(BZ2Compressor *c, char *data, size_t len, int action)
c->bzs.next_in = data;
c->bzs.avail_in = 0;
c->bzs.next_out = PyBytes_AS_STRING(result);
- c->bzs.avail_out = PyBytes_GET_SIZE(result);
+ c->bzs.avail_out = SMALLCHUNK;
for (;;) {
char *this_out;
int bzerror;
@@ -157,7 +155,7 @@ compress(BZ2Compressor *c, char *data, size_t len, int action)
/* On a 64-bit system, len might not fit in avail_in (an unsigned int).
Do compression in chunks of no more than UINT_MAX bytes each. */
if (c->bzs.avail_in == 0 && len > 0) {
- c->bzs.avail_in = MIN(len, UINT_MAX);
+ c->bzs.avail_in = (unsigned int)Py_MIN(len, UINT_MAX);
len -= c->bzs.avail_in;
}
@@ -173,7 +171,7 @@ compress(BZ2Compressor *c, char *data, size_t len, int action)
c->bzs.next_out = PyBytes_AS_STRING(result) + data_size;
buffer_left = PyBytes_GET_SIZE(result) - data_size;
}
- c->bzs.avail_out = MIN(buffer_left, UINT_MAX);
+ c->bzs.avail_out = (unsigned int)Py_MIN(buffer_left, UINT_MAX);
}
Py_BEGIN_ALLOW_THREADS
@@ -250,6 +248,24 @@ BZ2Compressor_flush(BZ2Compressor *self, PyObject *noargs)
return result;
}
+static void*
+BZ2_Malloc(void* ctx, int items, int size)
+{
+ if (items < 0 || size < 0)
+ return NULL;
+ if ((size_t)items > (size_t)PY_SSIZE_T_MAX / (size_t)size)
+ return NULL;
+ /* PyMem_Malloc() cannot be used: compress() and decompress()
+ release the GIL */
+ return PyMem_RawMalloc(items * size);
+}
+
+static void
+BZ2_Free(void* ctx, void *ptr)
+{
+ PyMem_RawFree(ptr);
+}
+
static int
BZ2Compressor_init(BZ2Compressor *self, PyObject *args, PyObject *kwargs)
{
@@ -272,6 +288,9 @@ BZ2Compressor_init(BZ2Compressor *self, PyObject *args, PyObject *kwargs)
}
#endif
+ self->bzs.opaque = NULL;
+ self->bzs.bzalloc = BZ2_Malloc;
+ self->bzs.bzfree = BZ2_Free;
bzerror = BZ2_bzCompressInit(&self->bzs, compresslevel, 0, 0);
if (catch_bz2_error(bzerror))
goto error;
@@ -370,10 +389,10 @@ decompress(BZ2Decompressor *d, char *data, size_t len)
d->bzs.next_in = data;
/* On a 64-bit system, len might not fit in avail_in (an unsigned int).
Do decompression in chunks of no more than UINT_MAX bytes each. */
- d->bzs.avail_in = MIN(len, UINT_MAX);
+ d->bzs.avail_in = (unsigned int)Py_MIN(len, UINT_MAX);
len -= d->bzs.avail_in;
d->bzs.next_out = PyBytes_AS_STRING(result);
- d->bzs.avail_out = PyBytes_GET_SIZE(result);
+ d->bzs.avail_out = SMALLCHUNK;
for (;;) {
char *this_out;
int bzerror;
@@ -399,7 +418,7 @@ decompress(BZ2Decompressor *d, char *data, size_t len)
if (d->bzs.avail_in == 0) {
if (len == 0)
break;
- d->bzs.avail_in = MIN(len, UINT_MAX);
+ d->bzs.avail_in = (unsigned int)Py_MIN(len, UINT_MAX);
len -= d->bzs.avail_in;
}
if (d->bzs.avail_out == 0) {
@@ -410,7 +429,7 @@ decompress(BZ2Decompressor *d, char *data, size_t len)
d->bzs.next_out = PyBytes_AS_STRING(result) + data_size;
buffer_left = PyBytes_GET_SIZE(result) - data_size;
}
- d->bzs.avail_out = MIN(buffer_left, UINT_MAX);
+ d->bzs.avail_out = (unsigned int)Py_MIN(buffer_left, UINT_MAX);
}
}
if (data_size != PyBytes_GET_SIZE(result))
diff --git a/Modules/_codecsmodule.c b/Modules/_codecsmodule.c
index 40037b1dc6..0b093ab19f 100644
--- a/Modules/_codecsmodule.c
+++ b/Modules/_codecsmodule.c
@@ -189,9 +189,9 @@ escape_encode(PyObject *self,
return NULL;
}
else {
- register Py_ssize_t i;
- register char c;
- register char *p = PyBytes_AS_STRING(v);
+ Py_ssize_t i;
+ char c;
+ char *p = PyBytes_AS_STRING(v);
for (i = 0; i < size; i++) {
/* There's at least enough room for a hex escape */
diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c
index 34a1a903af..e5dfdb4242 100644
--- a/Modules/_collectionsmodule.c
+++ b/Modules/_collectionsmodule.c
@@ -3,30 +3,32 @@
/* collections module implementation of a deque() datatype
Written and maintained by Raymond D. Hettinger <python@rcn.com>
- Copyright (c) 2004 Python Software Foundation.
+ Copyright (c) 2004-2013 Python Software Foundation.
All rights reserved.
*/
/* The block length may be set to any number over 1. Larger numbers
- * reduce the number of calls to the memory allocator but take more
- * memory. Ideally, BLOCKLEN should be set with an eye to the
- * length of a cache line.
+ * reduce the number of calls to the memory allocator, give faster
+ * indexing and rotation, and reduce the link::data overhead ratio.
+ *
+ * Ideally, the block length will be set to two less than some
+ * multiple of the cache-line length (so that the full block
+ * including the leftlink and rightlink will fit neatly into
+ * cache lines).
*/
#define BLOCKLEN 62
#define CENTER ((BLOCKLEN - 1) / 2)
/* A `dequeobject` is composed of a doubly-linked list of `block` nodes.
- * This list is not circular (the leftmost block has leftlink==NULL,
- * and the rightmost block has rightlink==NULL). A deque d's first
- * element is at d.leftblock[leftindex] and its last element is at
- * d.rightblock[rightindex]; note that, unlike as for Python slice
- * indices, these indices are inclusive on both ends. By being inclusive
- * on both ends, algorithms for left and right operations become
- * symmetrical which simplifies the design.
- *
* The list of blocks is never empty, so d.leftblock and d.rightblock
- * are never equal to NULL.
+ * are never equal to NULL. The list is not circular.
+ *
+ * A deque d's first element is at d.leftblock[leftindex]
+ * and its last element is at d.rightblock[rightindex].
+ * Unlike Python slice indices, these indices are inclusive
+ * on both ends. This makes the algorithms for left and
+ * right operations more symmetrical and simplifies the design.
*
* The indices, d.leftindex and d.rightindex are always in the range
* 0 <= index < BLOCKLEN.
@@ -47,42 +49,60 @@
typedef struct BLOCK {
struct BLOCK *leftlink;
- struct BLOCK *rightlink;
PyObject *data[BLOCKLEN];
+ struct BLOCK *rightlink;
} block;
+/* For debug builds, add error checking to track the endpoints
+ * in the chain of links. The goal is to make sure that link
+ * assignments only take place at endpoints so that links already
+ * in use do not get overwritten.
+ *
+ * CHECK_END should happen before each assignment to a block's link field.
+ * MARK_END should happen whenever a link field becomes a new endpoint.
+ * This happens when new blocks are added or whenever an existing
+ * block is freed leaving another existing block as the new endpoint.
+ */
+
+#ifndef NDEBUG
+#define MARK_END(link) link = NULL;
+#define CHECK_END(link) assert(link == NULL);
+#define CHECK_NOT_END(link) assert(link != NULL);
+#else
+#define MARK_END(link)
+#define CHECK_END(link)
+#define CHECK_NOT_END(link)
+#endif
+
+/* A simple freelisting scheme is used to minimize calls to the memory
+ allocator. It accomodates common use cases where new blocks are being
+ added at about the same rate as old blocks are being freed.
+ */
+
#define MAXFREEBLOCKS 10
static Py_ssize_t numfreeblocks = 0;
static block *freeblocks[MAXFREEBLOCKS];
static block *
-newblock(block *leftlink, block *rightlink, Py_ssize_t len) {
+newblock(Py_ssize_t len) {
block *b;
- /* To prevent len from overflowing PY_SSIZE_T_MAX on 64-bit machines, we
- * refuse to allocate new blocks if the current len is dangerously
- * close. There is some extra margin to prevent spurious arithmetic
- * overflows at various places. The following check ensures that
- * the blocks allocated to the deque, in the worst case, can only
- * have PY_SSIZE_T_MAX-2 entries in total.
- */
+ /* To prevent len from overflowing PY_SSIZE_T_MAX, we refuse to
+ * allocate new blocks if the current len is nearing overflow. */
if (len >= PY_SSIZE_T_MAX - 2*BLOCKLEN) {
PyErr_SetString(PyExc_OverflowError,
"cannot add more blocks to the deque");
return NULL;
}
if (numfreeblocks) {
- numfreeblocks -= 1;
- b = freeblocks[numfreeblocks];
- } else {
- b = PyMem_Malloc(sizeof(block));
- if (b == NULL) {
- PyErr_NoMemory();
- return NULL;
- }
+ numfreeblocks--;
+ return freeblocks[numfreeblocks];
}
- b->leftlink = leftlink;
- b->rightlink = rightlink;
- return b;
+ b = PyMem_Malloc(sizeof(block));
+ if (b != NULL) {
+ return b;
+ }
+ PyErr_NoMemory();
+ return NULL;
}
static void
@@ -97,14 +117,13 @@ freeblock(block *b)
}
typedef struct {
- PyObject_HEAD
+ PyObject_VAR_HEAD
block *leftblock;
block *rightblock;
Py_ssize_t leftindex; /* in range(BLOCKLEN) */
Py_ssize_t rightindex; /* in range(BLOCKLEN) */
- Py_ssize_t len;
+ long state; /* incremented whenever the indices move */
Py_ssize_t maxlen;
- long state; /* incremented whenever the indices move */
PyObject *weakreflist; /* List of weak references */
} dequeobject;
@@ -118,9 +137,9 @@ typedef struct {
*/
#define TRIM(d, popfunction) \
- if (d->maxlen != -1 && d->len > d->maxlen) { \
+ if (d->maxlen != -1 && Py_SIZE(d) > d->maxlen) { \
PyObject *rv = popfunction(d, NULL); \
- assert(rv != NULL && d->len <= d->maxlen); \
+ assert(rv != NULL && Py_SIZE(d) <= d->maxlen); \
Py_DECREF(rv); \
}
@@ -137,18 +156,20 @@ deque_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
if (deque == NULL)
return NULL;
- b = newblock(NULL, NULL, 0);
+ b = newblock(0);
if (b == NULL) {
Py_DECREF(deque);
return NULL;
}
+ MARK_END(b->leftlink);
+ MARK_END(b->rightlink);
assert(BLOCKLEN >= 2);
deque->leftblock = b;
deque->rightblock = b;
deque->leftindex = CENTER + 1;
deque->rightindex = CENTER;
- deque->len = 0;
+ Py_SIZE(deque) = 0;
deque->state = 0;
deque->weakreflist = NULL;
deque->maxlen = -1;
@@ -162,17 +183,17 @@ deque_pop(dequeobject *deque, PyObject *unused)
PyObject *item;
block *prevblock;
- if (deque->len == 0) {
+ if (Py_SIZE(deque) == 0) {
PyErr_SetString(PyExc_IndexError, "pop from an empty deque");
return NULL;
}
item = deque->rightblock->data[deque->rightindex];
deque->rightindex--;
- deque->len--;
+ Py_SIZE(deque)--;
deque->state++;
if (deque->rightindex == -1) {
- if (deque->len == 0) {
+ if (Py_SIZE(deque) == 0) {
assert(deque->leftblock == deque->rightblock);
assert(deque->leftindex == deque->rightindex+1);
/* re-center instead of freeing a block */
@@ -182,7 +203,8 @@ deque_pop(dequeobject *deque, PyObject *unused)
prevblock = deque->rightblock->leftlink;
assert(deque->leftblock != deque->rightblock);
freeblock(deque->rightblock);
- prevblock->rightlink = NULL;
+ CHECK_NOT_END(prevblock);
+ MARK_END(prevblock->rightlink);
deque->rightblock = prevblock;
deque->rightindex = BLOCKLEN - 1;
}
@@ -198,18 +220,18 @@ deque_popleft(dequeobject *deque, PyObject *unused)
PyObject *item;
block *prevblock;
- if (deque->len == 0) {
+ if (Py_SIZE(deque) == 0) {
PyErr_SetString(PyExc_IndexError, "pop from an empty deque");
return NULL;
}
assert(deque->leftblock != NULL);
item = deque->leftblock->data[deque->leftindex];
deque->leftindex++;
- deque->len--;
+ Py_SIZE(deque)--;
deque->state++;
if (deque->leftindex == BLOCKLEN) {
- if (deque->len == 0) {
+ if (Py_SIZE(deque) == 0) {
assert(deque->leftblock == deque->rightblock);
assert(deque->leftindex == deque->rightindex+1);
/* re-center instead of freeing a block */
@@ -219,8 +241,8 @@ deque_popleft(dequeobject *deque, PyObject *unused)
assert(deque->leftblock != deque->rightblock);
prevblock = deque->leftblock->rightlink;
freeblock(deque->leftblock);
- assert(prevblock != NULL);
- prevblock->leftlink = NULL;
+ CHECK_NOT_END(prevblock);
+ MARK_END(prevblock->leftlink);
deque->leftblock = prevblock;
deque->leftindex = 0;
}
@@ -235,16 +257,18 @@ deque_append(dequeobject *deque, PyObject *item)
{
deque->state++;
if (deque->rightindex == BLOCKLEN-1) {
- block *b = newblock(deque->rightblock, NULL, deque->len);
+ block *b = newblock(Py_SIZE(deque));
if (b == NULL)
return NULL;
- assert(deque->rightblock->rightlink == NULL);
+ b->leftlink = deque->rightblock;
+ CHECK_END(deque->rightblock->rightlink);
deque->rightblock->rightlink = b;
deque->rightblock = b;
+ MARK_END(b->rightlink);
deque->rightindex = -1;
}
Py_INCREF(item);
- deque->len++;
+ Py_SIZE(deque)++;
deque->rightindex++;
deque->rightblock->data[deque->rightindex] = item;
TRIM(deque, deque_popleft);
@@ -258,16 +282,18 @@ deque_appendleft(dequeobject *deque, PyObject *item)
{
deque->state++;
if (deque->leftindex == 0) {
- block *b = newblock(NULL, deque->leftblock, deque->len);
+ block *b = newblock(Py_SIZE(deque));
if (b == NULL)
return NULL;
- assert(deque->leftblock->leftlink == NULL);
+ b->rightlink = deque->leftblock;
+ CHECK_END(deque->leftblock->leftlink);
deque->leftblock->leftlink = b;
deque->leftblock = b;
+ MARK_END(b->leftlink);
deque->leftindex = BLOCKLEN;
}
Py_INCREF(item);
- deque->len++;
+ Py_SIZE(deque)++;
deque->leftindex--;
deque->leftblock->data[deque->leftindex] = item;
TRIM(deque, deque_pop);
@@ -309,6 +335,14 @@ deque_extend(dequeobject *deque, PyObject *iterable)
return result;
}
+ /* Space saving heuristic. Start filling from the left */
+ if (Py_SIZE(deque) == 0) {
+ assert(deque->leftblock == deque->rightblock);
+ assert(deque->leftindex == deque->rightindex+1);
+ deque->leftindex = 1;
+ deque->rightindex = 0;
+ }
+
it = PyObject_GetIter(iterable);
if (it == NULL)
return NULL;
@@ -319,19 +353,20 @@ deque_extend(dequeobject *deque, PyObject *iterable)
while ((item = PyIter_Next(it)) != NULL) {
deque->state++;
if (deque->rightindex == BLOCKLEN-1) {
- block *b = newblock(deque->rightblock, NULL,
- deque->len);
+ block *b = newblock(Py_SIZE(deque));
if (b == NULL) {
Py_DECREF(item);
Py_DECREF(it);
return NULL;
}
- assert(deque->rightblock->rightlink == NULL);
+ b->leftlink = deque->rightblock;
+ CHECK_END(deque->rightblock->rightlink);
deque->rightblock->rightlink = b;
deque->rightblock = b;
+ MARK_END(b->rightlink);
deque->rightindex = -1;
}
- deque->len++;
+ Py_SIZE(deque)++;
deque->rightindex++;
deque->rightblock->data[deque->rightindex] = item;
TRIM(deque, deque_popleft);
@@ -361,6 +396,14 @@ deque_extendleft(dequeobject *deque, PyObject *iterable)
return result;
}
+ /* Space saving heuristic. Start filling from the right */
+ if (Py_SIZE(deque) == 0) {
+ assert(deque->leftblock == deque->rightblock);
+ assert(deque->leftindex == deque->rightindex+1);
+ deque->leftindex = BLOCKLEN - 1;
+ deque->rightindex = BLOCKLEN - 2;
+ }
+
it = PyObject_GetIter(iterable);
if (it == NULL)
return NULL;
@@ -371,19 +414,20 @@ deque_extendleft(dequeobject *deque, PyObject *iterable)
while ((item = PyIter_Next(it)) != NULL) {
deque->state++;
if (deque->leftindex == 0) {
- block *b = newblock(NULL, deque->leftblock,
- deque->len);
+ block *b = newblock(Py_SIZE(deque));
if (b == NULL) {
Py_DECREF(item);
Py_DECREF(it);
return NULL;
}
- assert(deque->leftblock->leftlink == NULL);
+ b->rightlink = deque->leftblock;
+ CHECK_END(deque->leftblock->leftlink);
deque->leftblock->leftlink = b;
deque->leftblock = b;
+ MARK_END(b->leftlink);
deque->leftindex = BLOCKLEN;
}
- deque->len++;
+ Py_SIZE(deque)++;
deque->leftindex--;
deque->leftblock->data[deque->leftindex] = item;
TRIM(deque, deque_pop);
@@ -413,7 +457,13 @@ deque_inplace_concat(dequeobject *deque, PyObject *other)
static int
_deque_rotate(dequeobject *deque, Py_ssize_t n)
{
- Py_ssize_t m, len=deque->len, halflen=len>>1;
+ block *b = NULL;
+ block *leftblock = deque->leftblock;
+ block *rightblock = deque->rightblock;
+ Py_ssize_t leftindex = deque->leftindex;
+ Py_ssize_t rightindex = deque->rightindex;
+ Py_ssize_t len=Py_SIZE(deque), halflen=len>>1;
+ int rv = -1;
if (len <= 1)
return 0;
@@ -429,76 +479,103 @@ _deque_rotate(dequeobject *deque, Py_ssize_t n)
deque->state++;
while (n > 0) {
- if (deque->leftindex == 0) {
- block *b = newblock(NULL, deque->leftblock, len);
- if (b == NULL)
- return -1;
- assert(deque->leftblock->leftlink == NULL);
- deque->leftblock->leftlink = b;
- deque->leftblock = b;
- deque->leftindex = BLOCKLEN;
+ if (leftindex == 0) {
+ if (b == NULL) {
+ b = newblock(len);
+ if (b == NULL)
+ goto done;
+ }
+ b->rightlink = leftblock;
+ CHECK_END(leftblock->leftlink);
+ leftblock->leftlink = b;
+ leftblock = b;
+ MARK_END(b->leftlink);
+ leftindex = BLOCKLEN;
+ b = NULL;
}
- assert(deque->leftindex > 0);
-
- m = n;
- if (m > deque->rightindex + 1)
- m = deque->rightindex + 1;
- if (m > deque->leftindex)
- m = deque->leftindex;
- assert (m > 0 && m <= len);
- memcpy(&deque->leftblock->data[deque->leftindex - m],
- &deque->rightblock->data[deque->rightindex + 1 - m],
- m * sizeof(PyObject *));
- deque->rightindex -= m;
- deque->leftindex -= m;
- n -= m;
-
- if (deque->rightindex == -1) {
- block *prevblock = deque->rightblock->leftlink;
- assert(deque->rightblock != NULL);
- assert(deque->leftblock != deque->rightblock);
- freeblock(deque->rightblock);
- prevblock->rightlink = NULL;
- deque->rightblock = prevblock;
- deque->rightindex = BLOCKLEN - 1;
+ assert(leftindex > 0);
+ {
+ PyObject **src, **dest;
+ Py_ssize_t m = n;
+
+ if (m > rightindex + 1)
+ m = rightindex + 1;
+ if (m > leftindex)
+ m = leftindex;
+ assert (m > 0 && m <= len);
+ src = &rightblock->data[rightindex];
+ dest = &leftblock->data[leftindex - 1];
+ rightindex -= m;
+ leftindex -= m;
+ n -= m;
+ do {
+ *(dest--) = *(src--);
+ } while (--m);
+ }
+ if (rightindex == -1) {
+ assert(leftblock != rightblock);
+ assert(b == NULL);
+ b = rightblock;
+ CHECK_NOT_END(rightblock->leftlink);
+ rightblock = rightblock->leftlink;
+ MARK_END(rightblock->rightlink);
+ rightindex = BLOCKLEN - 1;
}
}
while (n < 0) {
- if (deque->rightindex == BLOCKLEN - 1) {
- block *b = newblock(deque->rightblock, NULL, len);
- if (b == NULL)
- return -1;
- assert(deque->rightblock->rightlink == NULL);
- deque->rightblock->rightlink = b;
- deque->rightblock = b;
- deque->rightindex = -1;
+ if (rightindex == BLOCKLEN - 1) {
+ if (b == NULL) {
+ b = newblock(len);
+ if (b == NULL)
+ goto done;
+ }
+ b->leftlink = rightblock;
+ CHECK_END(rightblock->rightlink);
+ rightblock->rightlink = b;
+ rightblock = b;
+ MARK_END(b->rightlink);
+ rightindex = -1;
+ b = NULL;
}
- assert (deque->rightindex < BLOCKLEN - 1);
-
- m = -n;
- if (m > BLOCKLEN - deque->leftindex)
- m = BLOCKLEN - deque->leftindex;
- if (m > BLOCKLEN - 1 - deque->rightindex)
- m = BLOCKLEN - 1 - deque->rightindex;
- assert (m > 0 && m <= len);
- memcpy(&deque->rightblock->data[deque->rightindex + 1],
- &deque->leftblock->data[deque->leftindex],
- m * sizeof(PyObject *));
- deque->leftindex += m;
- deque->rightindex += m;
- n += m;
-
- if (deque->leftindex == BLOCKLEN) {
- block *nextblock = deque->leftblock->rightlink;
- assert(deque->leftblock != deque->rightblock);
- freeblock(deque->leftblock);
- assert(nextblock != NULL);
- nextblock->leftlink = NULL;
- deque->leftblock = nextblock;
- deque->leftindex = 0;
+ assert (rightindex < BLOCKLEN - 1);
+ {
+ PyObject **src, **dest;
+ Py_ssize_t m = -n;
+
+ if (m > BLOCKLEN - leftindex)
+ m = BLOCKLEN - leftindex;
+ if (m > BLOCKLEN - 1 - rightindex)
+ m = BLOCKLEN - 1 - rightindex;
+ assert (m > 0 && m <= len);
+ src = &leftblock->data[leftindex];
+ dest = &rightblock->data[rightindex + 1];
+ leftindex += m;
+ rightindex += m;
+ n += m;
+ do {
+ *(dest++) = *(src++);
+ } while (--m);
+ }
+ if (leftindex == BLOCKLEN) {
+ assert(leftblock != rightblock);
+ assert(b == NULL);
+ b = leftblock;
+ CHECK_NOT_END(leftblock->rightlink);
+ leftblock = leftblock->rightlink;
+ MARK_END(leftblock->leftlink);
+ leftindex = 0;
}
}
- return 0;
+ rv = 0;
+done:
+ if (b != NULL)
+ freeblock(b);
+ deque->leftblock = leftblock;
+ deque->rightblock = rightblock;
+ deque->leftindex = leftindex;
+ deque->rightindex = rightindex;
+
+ return rv;
}
static PyObject *
@@ -523,13 +600,15 @@ deque_reverse(dequeobject *deque, PyObject *unused)
block *rightblock = deque->rightblock;
Py_ssize_t leftindex = deque->leftindex;
Py_ssize_t rightindex = deque->rightindex;
- Py_ssize_t n = (deque->len)/2;
+ Py_ssize_t n = (Py_SIZE(deque))/2;
Py_ssize_t i;
PyObject *tmp;
for (i=0 ; i<n ; i++) {
/* Validate that pointers haven't met in the middle */
assert(leftblock != rightblock || leftindex < rightindex);
+ CHECK_NOT_END(leftblock);
+ CHECK_NOT_END(rightblock);
/* Swap */
tmp = leftblock->data[leftindex];
@@ -539,8 +618,6 @@ deque_reverse(dequeobject *deque, PyObject *unused)
/* Advance left block/index pair */
leftindex++;
if (leftindex == BLOCKLEN) {
- if (leftblock->rightlink == NULL)
- break;
leftblock = leftblock->rightlink;
leftindex = 0;
}
@@ -548,8 +625,6 @@ deque_reverse(dequeobject *deque, PyObject *unused)
/* Step backwards with the right block/index pair */
rightindex--;
if (rightindex == -1) {
- if (rightblock->leftlink == NULL)
- break;
rightblock = rightblock->leftlink;
rightindex = BLOCKLEN - 1;
}
@@ -563,9 +638,9 @@ PyDoc_STRVAR(reverse_doc,
static PyObject *
deque_count(dequeobject *deque, PyObject *v)
{
- block *leftblock = deque->leftblock;
- Py_ssize_t leftindex = deque->leftindex;
- Py_ssize_t n = deque->len;
+ block *b = deque->leftblock;
+ Py_ssize_t index = deque->leftindex;
+ Py_ssize_t n = Py_SIZE(deque);
Py_ssize_t i;
Py_ssize_t count = 0;
PyObject *item;
@@ -573,7 +648,8 @@ deque_count(dequeobject *deque, PyObject *v)
int cmp;
for (i=0 ; i<n ; i++) {
- item = leftblock->data[leftindex];
+ CHECK_NOT_END(b);
+ item = b->data[index];
cmp = PyObject_RichCompareBool(item, v, Py_EQ);
if (cmp > 0)
count++;
@@ -587,12 +663,10 @@ deque_count(dequeobject *deque, PyObject *v)
}
/* Advance left block/index pair */
- leftindex++;
- if (leftindex == BLOCKLEN) {
- if (leftblock->rightlink == NULL) /* can occur when i==n-1 */
- break;
- leftblock = leftblock->rightlink;
- leftindex = 0;
+ index++;
+ if (index == BLOCKLEN) {
+ b = b->rightlink;
+ index = 0;
}
}
return PyLong_FromSsize_t(count);
@@ -604,19 +678,19 @@ PyDoc_STRVAR(count_doc,
static Py_ssize_t
deque_len(dequeobject *deque)
{
- return deque->len;
+ return Py_SIZE(deque);
}
static PyObject *
deque_remove(dequeobject *deque, PyObject *value)
{
- Py_ssize_t i, n=deque->len;
+ Py_ssize_t i, n=Py_SIZE(deque);
for (i=0 ; i<n ; i++) {
PyObject *item = deque->leftblock->data[deque->leftindex];
int cmp = PyObject_RichCompareBool(item, value, Py_EQ);
- if (deque->len != n) {
+ if (Py_SIZE(deque) != n) {
PyErr_SetString(PyExc_IndexError,
"deque mutated during remove().");
return NULL;
@@ -647,14 +721,14 @@ deque_clear(dequeobject *deque)
{
PyObject *item;
- while (deque->len) {
+ while (Py_SIZE(deque)) {
item = deque_pop(deque, NULL);
assert (item != NULL);
Py_DECREF(item);
}
assert(deque->leftblock == deque->rightblock &&
deque->leftindex - 1 == deque->rightindex &&
- deque->len == 0);
+ Py_SIZE(deque) == 0);
}
static PyObject *
@@ -664,7 +738,7 @@ deque_item(dequeobject *deque, Py_ssize_t i)
PyObject *item;
Py_ssize_t n, index=i;
- if (i < 0 || i >= deque->len) {
+ if (i < 0 || i >= Py_SIZE(deque)) {
PyErr_SetString(PyExc_IndexError,
"deque index out of range");
return NULL;
@@ -673,19 +747,19 @@ deque_item(dequeobject *deque, Py_ssize_t i)
if (i == 0) {
i = deque->leftindex;
b = deque->leftblock;
- } else if (i == deque->len - 1) {
+ } else if (i == Py_SIZE(deque) - 1) {
i = deque->rightindex;
b = deque->rightblock;
} else {
i += deque->leftindex;
n = i / BLOCKLEN;
i %= BLOCKLEN;
- if (index < (deque->len >> 1)) {
+ if (index < (Py_SIZE(deque) >> 1)) {
b = deque->leftblock;
while (n--)
b = b->rightlink;
} else {
- n = (deque->leftindex + deque->len - 1) / BLOCKLEN - n;
+ n = (deque->leftindex + Py_SIZE(deque) - 1) / BLOCKLEN - n;
b = deque->rightblock;
while (n--)
b = b->leftlink;
@@ -708,7 +782,7 @@ deque_del_item(dequeobject *deque, Py_ssize_t i)
{
PyObject *item;
- assert (i >= 0 && i < deque->len);
+ assert (i >= 0 && i < Py_SIZE(deque));
if (_deque_rotate(deque, -i) == -1)
return -1;
@@ -724,7 +798,7 @@ deque_ass_item(dequeobject *deque, Py_ssize_t i, PyObject *v)
{
PyObject *old_value;
block *b;
- Py_ssize_t n, len=deque->len, halflen=(len+1)>>1, index=i;
+ Py_ssize_t n, len=Py_SIZE(deque), halflen=(len+1)>>1, index=i;
if (i < 0 || i >= len) {
PyErr_SetString(PyExc_IndexError,
@@ -787,17 +861,17 @@ deque_traverse(dequeobject *deque, visitproc visit, void *arg)
Py_ssize_t index;
Py_ssize_t indexlo = deque->leftindex;
- for (b = deque->leftblock; b != NULL; b = b->rightlink) {
- const Py_ssize_t indexhi = b == deque->rightblock ?
- deque->rightindex :
- BLOCKLEN - 1;
-
- for (index = indexlo; index <= indexhi; ++index) {
+ for (b = deque->leftblock; b != deque->rightblock; b = b->rightlink) {
+ for (index = indexlo; index < BLOCKLEN ; index++) {
item = b->data[index];
Py_VISIT(item);
}
indexlo = 0;
}
+ for (index = indexlo; index <= deque->rightindex; index++) {
+ item = b->data[index];
+ Py_VISIT(item);
+ }
return 0;
}
@@ -887,8 +961,8 @@ deque_richcompare(PyObject *v, PyObject *w, int op)
}
/* Shortcuts */
- vs = ((dequeobject *)v)->len;
- ws = ((dequeobject *)w)->len;
+ vs = Py_SIZE((dequeobject *)v);
+ ws = Py_SIZE((dequeobject *)w);
if (op == Py_EQ) {
if (v == w)
Py_RETURN_TRUE;
@@ -989,8 +1063,8 @@ deque_sizeof(dequeobject *deque, void *unused)
Py_ssize_t blocks;
res = sizeof(dequeobject);
- blocks = (deque->leftindex + deque->len + BLOCKLEN - 1) / BLOCKLEN;
- assert(deque->leftindex + deque->len - 1 ==
+ blocks = (deque->leftindex + Py_SIZE(deque) + BLOCKLEN - 1) / BLOCKLEN;
+ assert(deque->leftindex + Py_SIZE(deque) - 1 ==
(blocks - 1) * BLOCKLEN + deque->rightindex);
res += blocks * sizeof(block);
return PyLong_FromSsize_t(res);
@@ -1143,7 +1217,7 @@ deque_iter(dequeobject *deque)
Py_INCREF(deque);
it->deque = deque;
it->state = deque->state;
- it->counter = deque->len;
+ it->counter = Py_SIZE(deque);
PyObject_GC_Track(it);
return (PyObject *)it;
}
@@ -1182,7 +1256,7 @@ dequeiter_next(dequeiterobject *it)
it->index++;
it->counter--;
if (it->index == BLOCKLEN && it->counter > 0) {
- assert (it->b->rightlink != NULL);
+ CHECK_NOT_END(it->b->rightlink);
it->b = it->b->rightlink;
it->index = 0;
}
@@ -1230,7 +1304,7 @@ PyDoc_STRVAR(length_hint_doc, "Private method returning an estimate of len(list(
static PyObject *
dequeiter_reduce(dequeiterobject *it)
{
- return Py_BuildValue("O(On)", Py_TYPE(it), it->deque, it->deque->len - it->counter);
+ return Py_BuildValue("O(On)", Py_TYPE(it), it->deque, Py_SIZE(it->deque) - it->counter);
}
static PyMethodDef dequeiter_methods[] = {
@@ -1299,7 +1373,7 @@ deque_reviter(dequeobject *deque)
Py_INCREF(deque);
it->deque = deque;
it->state = deque->state;
- it->counter = deque->len;
+ it->counter = Py_SIZE(deque);
PyObject_GC_Track(it);
return (PyObject *)it;
}
@@ -1324,7 +1398,7 @@ dequereviter_next(dequeiterobject *it)
it->index--;
it->counter--;
if (it->index == -1 && it->counter > 0) {
- assert (it->b->leftlink != NULL);
+ CHECK_NOT_END(it->b->leftlink);
it->b = it->b->leftlink;
it->index = BLOCKLEN - 1;
}
diff --git a/Modules/_csv.c b/Modules/_csv.c
index 48a5cf8094..22ac2667ff 100644
--- a/Modules/_csv.c
+++ b/Modules/_csv.c
@@ -51,7 +51,7 @@ static struct PyModuleDef _csvmodule;
typedef enum {
START_RECORD, START_FIELD, ESCAPED_CHAR, IN_FIELD,
IN_QUOTED_FIELD, ESCAPE_IN_QUOTED_FIELD, QUOTE_IN_QUOTED_FIELD,
- EAT_CRNL
+ EAT_CRNL,AFTER_ESCAPED_CRNL
} ParserState;
typedef enum {
@@ -644,6 +644,12 @@ parse_process_char(ReaderObj *self, Py_UCS4 c)
break;
case ESCAPED_CHAR:
+ if (c == '\n' || c=='\r') {
+ if (parse_add_char(self, c) < 0)
+ return -1;
+ self->state = AFTER_ESCAPED_CRNL;
+ break;
+ }
if (c == '\0')
c = '\n';
if (parse_add_char(self, c) < 0)
@@ -651,6 +657,11 @@ parse_process_char(ReaderObj *self, Py_UCS4 c)
self->state = IN_FIELD;
break;
+ case AFTER_ESCAPED_CRNL:
+ if (c == '\0')
+ break;
+ /*fallthru*/
+
case IN_FIELD:
/* in unquoted field */
if (c == '\n' || c == '\r' || c == '\0') {
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index 9a37aacf0c..a93290e39c 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -428,13 +428,7 @@ CDataType_from_buffer(PyObject *type, PyObject *args)
StgDictObject *dict = PyType_stgdict(type);
assert (dict);
- if (!PyArg_ParseTuple(args,
-#if (PY_VERSION_HEX < 0x02050000)
- "O|i:from_buffer",
-#else
- "O|n:from_buffer",
-#endif
- &obj, &offset))
+ if (!PyArg_ParseTuple(args, "O|n:from_buffer", &obj, &offset))
return NULL;
if (-1 == PyObject_AsWriteBuffer(obj, &buffer, &buffer_len))
@@ -447,11 +441,7 @@ CDataType_from_buffer(PyObject *type, PyObject *args)
}
if (dict->size > buffer_len - offset) {
PyErr_Format(PyExc_ValueError,
-#if (PY_VERSION_HEX < 0x02050000)
- "Buffer size too small (%d instead of at least %d bytes)",
-#else
"Buffer size too small (%zd instead of at least %zd bytes)",
-#endif
buffer_len, dict->size + offset);
return NULL;
}
@@ -484,13 +474,7 @@ CDataType_from_buffer_copy(PyObject *type, PyObject *args)
StgDictObject *dict = PyType_stgdict(type);
assert (dict);
- if (!PyArg_ParseTuple(args,
-#if (PY_VERSION_HEX < 0x02050000)
- "O|i:from_buffer",
-#else
- "O|n:from_buffer",
-#endif
- &obj, &offset))
+ if (!PyArg_ParseTuple(args, "O|n:from_buffer", &obj, &offset))
return NULL;
if (-1 == PyObject_AsReadBuffer(obj, (const void**)&buffer, &buffer_len))
@@ -504,11 +488,7 @@ CDataType_from_buffer_copy(PyObject *type, PyObject *args)
if (dict->size > buffer_len - offset) {
PyErr_Format(PyExc_ValueError,
-#if (PY_VERSION_HEX < 0x02050000)
- "Buffer size too small (%d instead of at least %d bytes)",
-#else
"Buffer size too small (%zd instead of at least %zd bytes)",
-#endif
buffer_len, dict->size + offset);
return NULL;
}
@@ -1326,7 +1306,7 @@ PyCArrayType_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
if (stgdict->format == NULL)
goto error;
stgdict->ndim = itemdict->ndim + 1;
- stgdict->shape = PyMem_Malloc(sizeof(Py_ssize_t *) * stgdict->ndim);
+ stgdict->shape = PyMem_Malloc(sizeof(Py_ssize_t) * stgdict->ndim);
if (stgdict->shape == NULL)
goto error;
stgdict->shape[0] = length;
diff --git a/Modules/_ctypes/callbacks.c b/Modules/_ctypes/callbacks.c
index 34c46ad7a7..8623239592 100644
--- a/Modules/_ctypes/callbacks.c
+++ b/Modules/_ctypes/callbacks.c
@@ -98,20 +98,37 @@ void _ctypes_add_traceback(char *funcname, char *filename, int lineno)
PyObject *py_globals = 0;
PyCodeObject *py_code = 0;
PyFrameObject *py_frame = 0;
+ PyObject *exception, *value, *tb;
+
+ /* (Save and) Clear the current exception. Python functions must not be
+ called with an exception set. Calling Python functions happens when
+ the codec of the filesystem encoding is implemented in pure Python. */
+ PyErr_Fetch(&exception, &value, &tb);
py_globals = PyDict_New();
- if (!py_globals) goto bad;
+ if (!py_globals)
+ goto bad;
py_code = PyCode_NewEmpty(filename, funcname, lineno);
- if (!py_code) goto bad;
+ if (!py_code)
+ goto bad;
py_frame = PyFrame_New(
PyThreadState_Get(), /*PyThreadState *tstate,*/
py_code, /*PyCodeObject *code,*/
py_globals, /*PyObject *globals,*/
0 /*PyObject *locals*/
);
- if (!py_frame) goto bad;
+ if (!py_frame)
+ goto bad;
py_frame->f_lineno = lineno;
+
+ PyErr_Restore(exception, value, tb);
PyTraceBack_Here(py_frame);
+
+ Py_DECREF(py_globals);
+ Py_DECREF(py_code);
+ Py_DECREF(py_frame);
+ return;
+
bad:
Py_XDECREF(py_globals);
Py_XDECREF(py_code);
diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
index ade52fd9d2..ead1c6f62a 100644
--- a/Modules/_ctypes/callproc.c
+++ b/Modules/_ctypes/callproc.c
@@ -261,18 +261,18 @@ static void SetException(DWORD code, EXCEPTION_RECORD *pr)
to a virtual address for which it does not
have the appropriate access. */
if (pr->ExceptionInformation[0] == 0)
- PyErr_Format(PyExc_WindowsError,
+ PyErr_Format(PyExc_OSError,
"exception: access violation reading %p",
pr->ExceptionInformation[1]);
else
- PyErr_Format(PyExc_WindowsError,
+ PyErr_Format(PyExc_OSError,
"exception: access violation writing %p",
pr->ExceptionInformation[1]);
break;
case EXCEPTION_BREAKPOINT:
/* A breakpoint was encountered. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: breakpoint encountered");
break;
@@ -282,14 +282,14 @@ static void SetException(DWORD code, EXCEPTION_RECORD *pr)
alignment. For example, 16-bit values must be
aligned on 2-byte boundaries, 32-bit values on
4-byte boundaries, and so on. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: datatype misalignment");
break;
case EXCEPTION_SINGLE_STEP:
/* A trace trap or other single-instruction mechanism
signaled that one instruction has been executed. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: single step");
break;
@@ -297,7 +297,7 @@ static void SetException(DWORD code, EXCEPTION_RECORD *pr)
/* The thread attempted to access an array element
that is out of bounds, and the underlying hardware
supports bounds checking. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: array bounds exceeded");
break;
@@ -306,28 +306,28 @@ static void SetException(DWORD code, EXCEPTION_RECORD *pr)
is denormal. A denormal value is one that is too
small to represent as a standard floating-point
value. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: floating-point operand denormal");
break;
case EXCEPTION_FLT_DIVIDE_BY_ZERO:
/* The thread attempted to divide a floating-point
value by a floating-point divisor of zero. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: float divide by zero");
break;
case EXCEPTION_FLT_INEXACT_RESULT:
/* The result of a floating-point operation cannot be
represented exactly as a decimal fraction. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: float inexact");
break;
case EXCEPTION_FLT_INVALID_OPERATION:
/* This exception represents any floating-point
exception not included in this list. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: float invalid operation");
break;
@@ -335,21 +335,21 @@ static void SetException(DWORD code, EXCEPTION_RECORD *pr)
/* The exponent of a floating-point operation is
greater than the magnitude allowed by the
corresponding type. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: float overflow");
break;
case EXCEPTION_FLT_STACK_CHECK:
/* The stack overflowed or underflowed as the result
of a floating-point operation. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: stack over/underflow");
break;
case EXCEPTION_STACK_OVERFLOW:
/* The stack overflowed or underflowed as the result
of a floating-point operation. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: stack overflow");
break;
@@ -357,21 +357,21 @@ static void SetException(DWORD code, EXCEPTION_RECORD *pr)
/* The exponent of a floating-point operation is less
than the magnitude allowed by the corresponding
type. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: float underflow");
break;
case EXCEPTION_INT_DIVIDE_BY_ZERO:
/* The thread attempted to divide an integer value by
an integer divisor of zero. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: integer divide by zero");
break;
case EXCEPTION_INT_OVERFLOW:
/* The result of an integer operation caused a carry
out of the most significant bit of the result. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: integer overflow");
break;
@@ -379,14 +379,14 @@ static void SetException(DWORD code, EXCEPTION_RECORD *pr)
/* The thread attempted to execute an instruction
whose operation is not allowed in the current
machine mode. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: priviledged instruction");
break;
case EXCEPTION_NONCONTINUABLE_EXCEPTION:
/* The thread attempted to continue execution after a
noncontinuable exception occurred. */
- PyErr_SetString(PyExc_WindowsError,
+ PyErr_SetString(PyExc_OSError,
"exception: nocontinuable");
break;
@@ -620,6 +620,8 @@ static int ConvParam(PyObject *obj, Py_ssize_t index, struct argument *pa)
assert(dict->paramfunc);
/* If it has an stgdict, it is a CDataObject */
carg = dict->paramfunc((CDataObject *)obj);
+ if (carg == NULL)
+ return -1;
pa->ffi_type = carg->pffi_type;
memcpy(&pa->value, &carg->value, sizeof(pa->value));
pa->keep = (PyObject *)carg;
@@ -1105,9 +1107,7 @@ PyObject *_ctypes_callproc(PPROC pProc,
if (argtypes && argtype_count > i) {
PyObject *v;
converter = PyTuple_GET_ITEM(argtypes, i);
- v = PyObject_CallFunctionObjArgs(converter,
- arg,
- NULL);
+ v = PyObject_CallFunctionObjArgs(converter, arg, NULL);
if (v == NULL) {
_ctypes_extend_error(PyExc_ArgError, "argument %d: ", i+1);
goto cleanup;
@@ -1272,62 +1272,6 @@ static PyObject *free_library(PyObject *self, PyObject *args)
return Py_None;
}
-/* obsolete, should be removed */
-/* Only used by sample code (in samples\Windows\COM.py) */
-static PyObject *
-call_commethod(PyObject *self, PyObject *args)
-{
- IUnknown *pIunk;
- int index;
- PyObject *arguments;
- PPROC *lpVtbl;
- PyObject *result;
- CDataObject *pcom;
- PyObject *argtypes = NULL;
-
- if (!PyArg_ParseTuple(args,
- "OiO!|O!",
- &pcom, &index,
- &PyTuple_Type, &arguments,
- &PyTuple_Type, &argtypes))
- return NULL;
-
- if (argtypes && (PyTuple_GET_SIZE(arguments) != PyTuple_GET_SIZE(argtypes))) {
- PyErr_Format(PyExc_TypeError,
- "Method takes %d arguments (%d given)",
- PyTuple_GET_SIZE(argtypes), PyTuple_GET_SIZE(arguments));
- return NULL;
- }
-
- if (!CDataObject_Check(pcom) || (pcom->b_size != sizeof(void *))) {
- PyErr_Format(PyExc_TypeError,
- "COM Pointer expected instead of %s instance",
- Py_TYPE(pcom)->tp_name);
- return NULL;
- }
-
- if ((*(void **)(pcom->b_ptr)) == NULL) {
- PyErr_SetString(PyExc_ValueError,
- "The COM 'this' pointer is NULL");
- return NULL;
- }
-
- pIunk = (IUnknown *)(*(void **)(pcom->b_ptr));
- lpVtbl = (PPROC *)(pIunk->lpVtbl);
-
- result = _ctypes_callproc(lpVtbl[index],
- arguments,
-#ifdef MS_WIN32
- pIunk,
- NULL,
-#endif
- FUNCFLAG_HRESULT, /* flags */
- argtypes, /* self->argtypes */
- NULL, /* self->restype */
- NULL); /* checker */
- return result;
-}
-
static char copy_com_pointer_doc[] =
"CopyComPointer(src, dst) -> HRESULT value\n";
@@ -1489,9 +1433,9 @@ call_cdeclfunction(PyObject *self, PyObject *args)
NULL,
#endif
FUNCFLAG_CDECL, /* flags */
- NULL, /* self->argtypes */
- NULL, /* self->restype */
- NULL); /* checker */
+ NULL, /* self->argtypes */
+ NULL, /* self->restype */
+ NULL); /* checker */
return result;
}
@@ -1822,7 +1766,6 @@ PyMethodDef _ctypes_module_methods[] = {
{"FormatError", format_error, METH_VARARGS, format_error_doc},
{"LoadLibrary", load_library, METH_VARARGS, load_library_doc},
{"FreeLibrary", free_library, METH_VARARGS, free_library_doc},
- {"call_commethod", call_commethod, METH_VARARGS },
{"_check_HRESULT", check_hresult, METH_VARARGS},
#else
{"dlopen", py_dl_open, METH_VARARGS,
diff --git a/Modules/_ctypes/libffi_osx/ffi.c b/Modules/_ctypes/libffi_osx/ffi.c
index bf420936db..96826b5c8e 100644
--- a/Modules/_ctypes/libffi_osx/ffi.c
+++ b/Modules/_ctypes/libffi_osx/ffi.c
@@ -38,12 +38,13 @@ initialize_aggregate(
/*@out@*/ ffi_type* arg)
{
/*@-usedef@*/
+ ffi_type** ptr;
if (arg == NULL || arg->elements == NULL ||
arg->size != 0 || arg->alignment != 0)
return FFI_BAD_TYPEDEF;
- ffi_type** ptr = &(arg->elements[0]);
+ ptr = &(arg->elements[0]);
while ((*ptr) != NULL)
{
@@ -135,16 +136,16 @@ ffi_prep_cif(
/*@dependent@*/ /*@out@*/ /*@partial@*/ ffi_type* rtype,
/*@dependent@*/ ffi_type** atypes)
{
+ unsigned int bytes = 0;
+ unsigned int i;
+ ffi_type** ptr;
+
if (cif == NULL)
return FFI_BAD_TYPEDEF;
if (abi <= FFI_FIRST_ABI || abi > FFI_DEFAULT_ABI)
return FFI_BAD_ABI;
- unsigned int bytes = 0;
- unsigned int i;
- ffi_type** ptr;
-
cif->abi = abi;
cif->arg_types = atypes;
cif->nargs = nargs;
diff --git a/Modules/_ctypes/libffi_osx/x86/x86-ffi64.c b/Modules/_ctypes/libffi_osx/x86/x86-ffi64.c
index 2affb14c1a..f2610c16c7 100644
--- a/Modules/_ctypes/libffi_osx/x86/x86-ffi64.c
+++ b/Modules/_ctypes/libffi_osx/x86/x86-ffi64.c
@@ -225,14 +225,16 @@ classify_argument(
/* Merge the fields of structure. */
for (ptr = type->elements; *ptr != NULL; ptr++)
{
+ int num, pos;
+
byte_offset = ALIGN(byte_offset, (*ptr)->alignment);
- int num = classify_argument(*ptr, subclasses, byte_offset % 8);
+ num = classify_argument(*ptr, subclasses, byte_offset % 8);
if (num == 0)
return 0;
- int pos = byte_offset / 8;
+ pos = byte_offset / 8;
for (i = 0; i < num; i++)
{
@@ -589,11 +591,12 @@ ffi_prep_closure(
void (*fun)(ffi_cif*, void*, void**, void*),
void* user_data)
{
+ volatile unsigned short* tramp;
+
if (cif->abi != FFI_UNIX64)
return FFI_BAD_ABI;
- volatile unsigned short* tramp =
- (volatile unsigned short*)&closure->tramp[0];
+ tramp = (volatile unsigned short*)&closure->tramp[0];
tramp[0] = 0xbb49; /* mov <code>, %r11 */
*(void* volatile*)&tramp[1] = ffi_closure_unix64;
diff --git a/Modules/_curses_panel.c b/Modules/_curses_panel.c
index f560702878..87b9c0516f 100644
--- a/Modules/_curses_panel.c
+++ b/Modules/_curses_panel.c
@@ -117,7 +117,7 @@ insert_lop(PyCursesPanelObject *po)
{
list_of_panels *new;
- if ((new = (list_of_panels *)malloc(sizeof(list_of_panels))) == NULL) {
+ if ((new = (list_of_panels *)PyMem_Malloc(sizeof(list_of_panels))) == NULL) {
PyErr_NoMemory();
return -1;
}
@@ -136,7 +136,7 @@ remove_lop(PyCursesPanelObject *po)
temp = lop;
if (temp->po == po) {
lop = temp->next;
- free(temp);
+ PyMem_Free(temp);
return;
}
while (temp->next == NULL || temp->next->po != po) {
@@ -148,7 +148,7 @@ remove_lop(PyCursesPanelObject *po)
temp = temp->next;
}
n = temp->next->next;
- free(temp->next);
+ PyMem_Free(temp->next);
temp->next = n;
return;
}
@@ -513,6 +513,8 @@ PyInit__curses_panel(void)
goto fail;
import_curses();
+ if (PyErr_Occurred())
+ goto fail;
/* For exception _curses_panel.error */
_curses_panelstate(m)->PyCursesError = PyErr_NewException("_curses_panel.error", NULL, NULL);
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index f5df80c746..27e55791c6 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -168,10 +168,6 @@ static char *screen_encoding = NULL;
"must call start_color() first"); \
return 0; }
-#ifndef MIN
-#define MIN(x,y) ((x) < (y) ? (x) : (y))
-#endif
-
/* Utility Functions */
/*
@@ -533,7 +529,7 @@ PyCursesWindow_New(WINDOW *win, const char *encoding)
wo = PyObject_NEW(PyCursesWindowObject, &PyCursesWindow_Type);
if (wo == NULL) return NULL;
wo->win = win;
- wo->encoding = strdup(encoding);
+ wo->encoding = _PyMem_Strdup(encoding);
if (wo->encoding == NULL) {
Py_DECREF(wo);
PyErr_NoMemory();
@@ -547,7 +543,7 @@ PyCursesWindow_Dealloc(PyCursesWindowObject *wo)
{
if (wo->win != stdscr) delwin(wo->win);
if (wo->encoding != NULL)
- free(wo->encoding);
+ PyMem_Free(wo->encoding);
PyObject_DEL(wo);
}
@@ -1212,7 +1208,7 @@ PyCursesWindow_GetStr(PyCursesWindowObject *self, PyObject *args)
if (!PyArg_ParseTuple(args,"i;n", &n))
return NULL;
Py_BEGIN_ALLOW_THREADS
- rtn2 = wgetnstr(self->win,rtn,MIN(n, 1023));
+ rtn2 = wgetnstr(self->win, rtn, Py_MIN(n, 1023));
Py_END_ALLOW_THREADS
break;
case 2:
@@ -1232,11 +1228,11 @@ PyCursesWindow_GetStr(PyCursesWindowObject *self, PyObject *args)
#ifdef STRICT_SYSV_CURSES
Py_BEGIN_ALLOW_THREADS
rtn2 = wmove(self->win,y,x)==ERR ? ERR :
- wgetnstr(self->win, rtn, MIN(n, 1023));
+ wgetnstr(self->win, rtn, Py_MIN(n, 1023));
Py_END_ALLOW_THREADS
#else
Py_BEGIN_ALLOW_THREADS
- rtn2 = mvwgetnstr(self->win, y, x, rtn, MIN(n, 1023));
+ rtn2 = mvwgetnstr(self->win, y, x, rtn, Py_MIN(n, 1023));
Py_END_ALLOW_THREADS
#endif
break;
@@ -1374,7 +1370,7 @@ PyCursesWindow_InStr(PyCursesWindowObject *self, PyObject *args)
case 1:
if (!PyArg_ParseTuple(args,"i;n", &n))
return NULL;
- rtn2 = winnstr(self->win,rtn,MIN(n,1023));
+ rtn2 = winnstr(self->win, rtn, Py_MIN(n, 1023));
break;
case 2:
if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x))
@@ -1384,7 +1380,7 @@ PyCursesWindow_InStr(PyCursesWindowObject *self, PyObject *args)
case 3:
if (!PyArg_ParseTuple(args, "iii;y,x,n", &y, &x, &n))
return NULL;
- rtn2 = mvwinnstr(self->win, y, x, rtn, MIN(n,1023));
+ rtn2 = mvwinnstr(self->win, y, x, rtn, Py_MIN(n,1023));
break;
default:
PyErr_SetString(PyExc_TypeError, "instr requires 0 or 3 arguments");
@@ -1942,13 +1938,13 @@ PyCursesWindow_set_encoding(PyCursesWindowObject *self, PyObject *value)
ascii = PyUnicode_AsASCIIString(value);
if (ascii == NULL)
return -1;
- encoding = strdup(PyBytes_AS_STRING(ascii));
+ encoding = _PyMem_Strdup(PyBytes_AS_STRING(ascii));
Py_DECREF(ascii);
if (encoding == NULL) {
PyErr_NoMemory();
return -1;
}
- free(self->encoding);
+ PyMem_Free(self->encoding);
self->encoding = encoding;
return 0;
}
@@ -3414,7 +3410,7 @@ PyInit__curses(void)
continue;
if (strncmp(key_n,"KEY_F(",6)==0) {
char *p1, *p2;
- key_n2 = malloc(strlen(key_n)+1);
+ key_n2 = PyMem_Malloc(strlen(key_n)+1);
if (!key_n2) {
PyErr_NoMemory();
break;
@@ -3433,7 +3429,7 @@ PyInit__curses(void)
key_n2 = key_n;
SetDictInt(key_n2,key);
if (key_n2 != key_n)
- free(key_n2);
+ PyMem_Free(key_n2);
}
#endif
SetDictInt("KEY_MIN", KEY_MIN);
diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c
index 7c7170dc77..91d30a02e7 100644
--- a/Modules/_datetimemodule.c
+++ b/Modules/_datetimemodule.c
@@ -140,19 +140,6 @@ divmod(int x, int y, int *r)
return quo;
}
-/* Round a double to the nearest long. |x| must be small enough to fit
- * in a C long; this is not checked.
- */
-static long
-round_to_long(double x)
-{
- if (x >= 0.0)
- x = floor(x + 0.5);
- else
- x = ceil(x - 0.5);
- return (long)x;
-}
-
/* Nearest integer to m / n for integers m and n. Half-integer results
* are rounded to even.
*/
@@ -1397,7 +1384,7 @@ cmperror(PyObject *a, PyObject *b)
*/
/* Conversion factors. */
-static PyObject *us_per_us = NULL; /* 1 */
+static PyObject *one = NULL; /* 1 */
static PyObject *us_per_ms = NULL; /* 1000 */
static PyObject *us_per_second = NULL; /* 1000000 */
static PyObject *us_per_minute = NULL; /* 1e6 * 60 as Python int */
@@ -2119,7 +2106,7 @@ delta_new(PyTypeObject *type, PyObject *args, PyObject *kw)
goto Done
if (us) {
- y = accum("microseconds", x, us, us_per_us, &leftover_us);
+ y = accum("microseconds", x, us, one, &leftover_us);
CLEANUP;
}
if (ms) {
@@ -2148,7 +2135,33 @@ delta_new(PyTypeObject *type, PyObject *args, PyObject *kw)
}
if (leftover_us) {
/* Round to nearest whole # of us, and add into x. */
- PyObject *temp = PyLong_FromLong(round_to_long(leftover_us));
+ double whole_us = round(leftover_us);
+ int x_is_odd;
+ PyObject *temp;
+
+ whole_us = round(leftover_us);
+ if (fabs(whole_us - leftover_us) == 0.5) {
+ /* We're exactly halfway between two integers. In order
+ * to do round-half-to-even, we must determine whether x
+ * is odd. Note that x is odd when it's last bit is 1. The
+ * code below uses bitwise and operation to check the last
+ * bit. */
+ temp = PyNumber_And(x, one); /* temp <- x & 1 */
+ if (temp == NULL) {
+ Py_DECREF(x);
+ goto Done;
+ }
+ x_is_odd = PyObject_IsTrue(temp);
+ Py_DECREF(temp);
+ if (x_is_odd == -1) {
+ Py_DECREF(x);
+ goto Done;
+ }
+ whole_us = 2.0 * round((leftover_us + x_is_odd) * 0.5) - x_is_odd;
+ }
+
+ temp = PyLong_FromLong(whole_us);
+
if (temp == NULL) {
Py_DECREF(x);
goto Done;
@@ -2239,22 +2252,14 @@ delta_total_seconds(PyObject *self)
{
PyObject *total_seconds;
PyObject *total_microseconds;
- PyObject *one_million;
total_microseconds = delta_to_microseconds((PyDateTime_Delta *)self);
if (total_microseconds == NULL)
return NULL;
- one_million = PyLong_FromLong(1000000L);
- if (one_million == NULL) {
- Py_DECREF(total_microseconds);
- return NULL;
- }
-
- total_seconds = PyNumber_TrueDivide(total_microseconds, one_million);
+ total_seconds = PyNumber_TrueDivide(total_microseconds, us_per_second);
Py_DECREF(total_microseconds);
- Py_DECREF(one_million);
return total_seconds;
}
@@ -4749,7 +4754,7 @@ local_timezone(PyDateTime_DateTime *utc_time)
goto error;
}
result = new_timezone(delta, nameo);
- Py_DECREF(nameo);
+ Py_XDECREF(nameo);
error:
Py_DECREF(delta);
return result;
@@ -4873,9 +4878,16 @@ datetime_timestamp(PyDateTime_DateTime *self)
time.tm_wday = -1;
time.tm_isdst = -1;
timestamp = mktime(&time);
- /* Return value of -1 does not necessarily mean an error, but tm_wday
- * cannot remain set to -1 if mktime succeeded. */
- if (timestamp == (time_t)(-1) && time.tm_wday == -1) {
+ if (timestamp == (time_t)(-1)
+#ifndef _AIX
+ /* Return value of -1 does not necessarily mean an error,
+ * but tm_wday cannot remain set to -1 if mktime succeeded. */
+ && time.tm_wday == -1
+#else
+ /* on AIX, tm_wday is always sets, even on error */
+#endif
+ )
+ {
PyErr_SetString(PyExc_OverflowError,
"timestamp out of range");
return NULL;
@@ -5299,8 +5311,8 @@ PyInit__datetime(void)
return NULL;
/* module initialization */
- PyModule_AddIntConstant(m, "MINYEAR", MINYEAR);
- PyModule_AddIntConstant(m, "MAXYEAR", MAXYEAR);
+ PyModule_AddIntMacro(m, MINYEAR);
+ PyModule_AddIntMacro(m, MAXYEAR);
Py_INCREF(&PyDateTime_DateType);
PyModule_AddObject(m, "date", (PyObject *) &PyDateTime_DateType);
@@ -5344,12 +5356,12 @@ PyInit__datetime(void)
assert(DI100Y == 25 * DI4Y - 1);
assert(DI100Y == days_before_year(100+1));
- us_per_us = PyLong_FromLong(1);
+ one = PyLong_FromLong(1);
us_per_ms = PyLong_FromLong(1000);
us_per_second = PyLong_FromLong(1000000);
us_per_minute = PyLong_FromLong(60000000);
seconds_per_day = PyLong_FromLong(24 * 3600);
- if (us_per_us == NULL || us_per_ms == NULL || us_per_second == NULL ||
+ if (one == NULL || us_per_ms == NULL || us_per_second == NULL ||
us_per_minute == NULL || seconds_per_day == NULL)
return NULL;
diff --git a/Modules/_dbmmodule.c b/Modules/_dbmmodule.c
index 327b8730c2..d89948050f 100644
--- a/Modules/_dbmmodule.c
+++ b/Modules/_dbmmodule.c
@@ -14,11 +14,7 @@
*/
#if defined(HAVE_NDBM_H)
#include <ndbm.h>
-#if defined(PYOS_OS2) && !defined(PYCC_GCC)
-static char *which_dbm = "ndbm";
-#else
static char *which_dbm = "GNU gdbm"; /* EMX port of GDBM */
-#endif
#elif defined(HAVE_GDBM_NDBM_H)
#include <gdbm/ndbm.h>
static char *which_dbm = "GNU gdbm";
@@ -67,7 +63,7 @@ newdbmobject(char *file, int flags, int mode)
/* Methods */
static void
-dbm_dealloc(register dbmobject *dp)
+dbm_dealloc(dbmobject *dp)
{
if ( dp->di_dbm )
dbm_close(dp->di_dbm);
@@ -95,7 +91,7 @@ dbm_length(dbmobject *dp)
}
static PyObject *
-dbm_subscript(dbmobject *dp, register PyObject *key)
+dbm_subscript(dbmobject *dp, PyObject *key)
{
datum drec, krec;
Py_ssize_t tmp_size;
@@ -170,7 +166,7 @@ static PyMappingMethods dbm_as_mapping = {
};
static PyObject *
-dbm__close(register dbmobject *dp, PyObject *unused)
+dbm__close(dbmobject *dp, PyObject *unused)
{
if (dp->di_dbm)
dbm_close(dp->di_dbm);
@@ -180,9 +176,9 @@ dbm__close(register dbmobject *dp, PyObject *unused)
}
static PyObject *
-dbm_keys(register dbmobject *dp, PyObject *unused)
+dbm_keys(dbmobject *dp, PyObject *unused)
{
- register PyObject *v, *item;
+ PyObject *v, *item;
datum key;
int err;
@@ -253,7 +249,7 @@ static PySequenceMethods dbm_as_sequence = {
};
static PyObject *
-dbm_get(register dbmobject *dp, PyObject *args)
+dbm_get(dbmobject *dp, PyObject *args)
{
datum key, val;
PyObject *defvalue = Py_None;
@@ -276,7 +272,7 @@ dbm_get(register dbmobject *dp, PyObject *args)
}
static PyObject *
-dbm_setdefault(register dbmobject *dp, PyObject *args)
+dbm_setdefault(dbmobject *dp, PyObject *args)
{
datum key, val;
PyObject *defvalue = NULL;
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index c179e965da..e886ae939f 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -1,63 +1,22 @@
-/*
- * ElementTree
- * $Id: _elementtree.c 3473 2009-01-11 22:53:55Z fredrik $
- *
- * elementtree accelerator
- *
- * History:
- * 1999-06-20 fl created (as part of sgmlop)
- * 2001-05-29 fl effdom edition
- * 2003-02-27 fl elementtree edition (alpha)
- * 2004-06-03 fl updates for elementtree 1.2
- * 2005-01-05 fl major optimization effort
- * 2005-01-11 fl first public release (cElementTree 0.8)
- * 2005-01-12 fl split element object into base and extras
- * 2005-01-13 fl use tagged pointers for tail/text (cElementTree 0.9)
- * 2005-01-17 fl added treebuilder close method
- * 2005-01-17 fl fixed crash in getchildren
- * 2005-01-18 fl removed observer api, added iterparse (cElementTree 0.9.3)
- * 2005-01-23 fl revised iterparse api; added namespace event support (0.9.8)
- * 2005-01-26 fl added VERSION module property (cElementTree 1.0)
- * 2005-01-28 fl added remove method (1.0.1)
- * 2005-03-01 fl added iselement function; fixed makeelement aliasing (1.0.2)
- * 2005-03-13 fl export Comment and ProcessingInstruction/PI helpers
- * 2005-03-26 fl added Comment and PI support to XMLParser
- * 2005-03-27 fl event optimizations; complain about bogus events
- * 2005-08-08 fl fixed read error handling in parse
- * 2005-08-11 fl added runtime test for copy workaround (1.0.3)
- * 2005-12-13 fl added expat_capi support (for xml.etree) (1.0.4)
- * 2005-12-16 fl added support for non-standard encodings
- * 2006-03-08 fl fixed a couple of potential null-refs and leaks
- * 2006-03-12 fl merge in 2.5 ssize_t changes
- * 2007-08-25 fl call custom builder's close method from XMLParser
- * 2007-08-31 fl added iter, extend from ET 1.3
- * 2007-09-01 fl fixed ParseError exception, setslice source type, etc
- * 2007-09-03 fl fixed handling of negative insert indexes
- * 2007-09-04 fl added itertext from ET 1.3
- * 2007-09-06 fl added position attribute to ParseError exception
- * 2008-06-06 fl delay error reporting in iterparse (from Hrvoje Niksic)
+/*--------------------------------------------------------------------
+ * Licensed to PSF under a Contributor Agreement.
+ * See http://www.python.org/psf/license for licensing details.
*
+ * _elementtree - C accelerator for xml.etree.ElementTree
* Copyright (c) 1999-2009 by Secret Labs AB. All rights reserved.
* Copyright (c) 1999-2009 by Fredrik Lundh.
*
* info@pythonware.com
* http://www.pythonware.com
+ *--------------------------------------------------------------------
*/
-/* Licensed to PSF under a Contributor Agreement. */
-/* See http://www.python.org/psf/license for licensing details. */
-
#include "Python.h"
#include "structmember.h"
-#define VERSION "1.0.6"
-
/* -------------------------------------------------------------------- */
/* configuration */
-/* Leave defined to include the expat-based XMLParser type */
-#define USE_EXPAT
-
/* An element can hold this many children without extra memory
allocations. */
#define STATIC_CHILDREN 4
@@ -107,10 +66,51 @@ static PyTypeObject TreeBuilder_Type;
static PyTypeObject XMLParser_Type;
-/* glue functions (see the init function for details) */
-static PyObject* elementtree_parseerror_obj;
-static PyObject* elementtree_deepcopy_obj;
-static PyObject* elementpath_obj;
+/* Per-module state; PEP 3121 */
+typedef struct {
+ PyObject *parseerror_obj;
+ PyObject *deepcopy_obj;
+ PyObject *elementpath_obj;
+} elementtreestate;
+
+static struct PyModuleDef elementtreemodule;
+
+/* Given a module object (assumed to be _elementtree), get its per-module
+ * state.
+ */
+#define ET_STATE(mod) ((elementtreestate *) PyModule_GetState(mod))
+
+/* Find the module instance imported in the currently running sub-interpreter
+ * and get its state.
+ */
+#define ET_STATE_GLOBAL \
+ ((elementtreestate *) PyModule_GetState(PyState_FindModule(&elementtreemodule)))
+
+static int
+elementtree_clear(PyObject *m)
+{
+ elementtreestate *st = ET_STATE(m);
+ Py_CLEAR(st->parseerror_obj);
+ Py_CLEAR(st->deepcopy_obj);
+ Py_CLEAR(st->elementpath_obj);
+ return 0;
+}
+
+static int
+elementtree_traverse(PyObject *m, visitproc visit, void *arg)
+{
+ elementtreestate *st = ET_STATE(m);
+ Py_VISIT(st->parseerror_obj);
+ Py_VISIT(st->deepcopy_obj);
+ Py_VISIT(st->elementpath_obj);
+ return 0;
+}
+
+static void
+elementtree_free(void *m)
+{
+ elementtree_clear((PyObject *)m);
+}
/* helpers */
@@ -118,11 +118,11 @@ LOCAL(PyObject*)
deepcopy(PyObject* object, PyObject* memo)
{
/* do a deep copy of the given object */
-
PyObject* args;
PyObject* result;
+ elementtreestate *st = ET_STATE_GLOBAL;
- if (!elementtree_deepcopy_obj) {
+ if (!st->deepcopy_obj) {
PyErr_SetString(
PyExc_RuntimeError,
"deepcopy helper not found"
@@ -133,7 +133,7 @@ deepcopy(PyObject* object, PyObject* memo)
args = PyTuple_Pack(2, object, memo);
if (!args)
return NULL;
- result = PyObject_CallObject(elementtree_deepcopy_obj, args);
+ result = PyObject_CallObject(st->deepcopy_obj, args);
Py_DECREF(args);
return result;
}
@@ -217,8 +217,10 @@ LOCAL(int)
create_extra(ElementObject* self, PyObject* attrib)
{
self->extra = PyObject_Malloc(sizeof(ElementObjectExtra));
- if (!self->extra)
+ if (!self->extra) {
+ PyErr_NoMemory();
return -1;
+ }
if (!attrib)
attrib = Py_None;
@@ -271,13 +273,6 @@ create_new_element(PyObject* tag, PyObject* attrib)
return NULL;
self->extra = NULL;
- if (attrib != Py_None && !is_empty_dict(attrib)) {
- if (create_extra(self, attrib) < 0) {
- PyObject_Del(self);
- return NULL;
- }
- }
-
Py_INCREF(tag);
self->tag = tag;
@@ -291,6 +286,14 @@ create_new_element(PyObject* tag, PyObject* attrib)
ALLOC(sizeof(ElementObject), "create element");
PyObject_GC_Track(self);
+
+ if (attrib != Py_None && !is_empty_dict(attrib)) {
+ if (create_extra(self, attrib) < 0) {
+ Py_DECREF(self);
+ return NULL;
+ }
+ }
+
return (PyObject*) self;
}
@@ -346,6 +349,7 @@ get_attrib_from_keywords(PyObject *kwds)
Py_DECREF(attrib_str);
+ /* attrib can be NULL if PyDict_New failed */
if (attrib)
if (PyDict_Update(attrib, kwds) < 0)
return NULL;
@@ -421,8 +425,10 @@ element_resize(ElementObject* self, int extra)
/* make sure self->children can hold the given number of extra
elements. set an exception and return -1 if allocation failed */
- if (!self->extra)
- create_extra(self, NULL);
+ if (!self->extra) {
+ if (create_extra(self, NULL) < 0)
+ return -1;
+ }
size = self->extra->length + extra;
@@ -574,8 +580,9 @@ subelement(PyObject *self, PyObject *args, PyObject *kwds)
}
elem = create_new_element(tag, attrib);
-
Py_DECREF(attrib);
+ if (elem == NULL)
+ return NULL;
if (element_add_subelement(parent, elem) < 0) {
Py_DECREF(elem);
@@ -1081,6 +1088,7 @@ element_find(ElementObject *self, PyObject *args, PyObject *kwds)
PyObject* tag;
PyObject* namespaces = Py_None;
static char *kwlist[] = {"path", "namespaces", 0};
+ elementtreestate *st = ET_STATE_GLOBAL;
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:find", kwlist,
&tag, &namespaces))
@@ -1089,7 +1097,7 @@ element_find(ElementObject *self, PyObject *args, PyObject *kwds)
if (checkpath(tag) || namespaces != Py_None) {
_Py_IDENTIFIER(find);
return _PyObject_CallMethodId(
- elementpath_obj, &PyId_find, "OOO", self, tag, namespaces
+ st->elementpath_obj, &PyId_find, "OOO", self, tag, namespaces
);
}
@@ -1117,6 +1125,7 @@ element_findtext(ElementObject *self, PyObject *args, PyObject *kwds)
PyObject* namespaces = Py_None;
_Py_IDENTIFIER(findtext);
static char *kwlist[] = {"path", "default", "namespaces", 0};
+ elementtreestate *st = ET_STATE_GLOBAL;
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|OO:findtext", kwlist,
&tag, &default_value, &namespaces))
@@ -1124,7 +1133,7 @@ element_findtext(ElementObject *self, PyObject *args, PyObject *kwds)
if (checkpath(tag) || namespaces != Py_None)
return _PyObject_CallMethodId(
- elementpath_obj, &PyId_findtext, "OOOO", self, tag, default_value, namespaces
+ st->elementpath_obj, &PyId_findtext, "OOOO", self, tag, default_value, namespaces
);
if (!self->extra) {
@@ -1156,6 +1165,7 @@ element_findall(ElementObject *self, PyObject *args, PyObject *kwds)
PyObject* tag;
PyObject* namespaces = Py_None;
static char *kwlist[] = {"path", "namespaces", 0};
+ elementtreestate *st = ET_STATE_GLOBAL;
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:findall", kwlist,
&tag, &namespaces))
@@ -1164,7 +1174,7 @@ element_findall(ElementObject *self, PyObject *args, PyObject *kwds)
if (checkpath(tag) || namespaces != Py_None) {
_Py_IDENTIFIER(findall);
return _PyObject_CallMethodId(
- elementpath_obj, &PyId_findall, "OOO", self, tag, namespaces
+ st->elementpath_obj, &PyId_findall, "OOO", self, tag, namespaces
);
}
@@ -1196,13 +1206,14 @@ element_iterfind(ElementObject *self, PyObject *args, PyObject *kwds)
PyObject* namespaces = Py_None;
_Py_IDENTIFIER(iterfind);
static char *kwlist[] = {"path", "namespaces", 0};
+ elementtreestate *st = ET_STATE_GLOBAL;
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:iterfind", kwlist,
&tag, &namespaces))
return NULL;
return _PyObject_CallMethodId(
- elementpath_obj, &PyId_iterfind, "OOO", self, tag, namespaces
+ st->elementpath_obj, &PyId_iterfind, "OOO", self, tag, namespaces
);
}
@@ -1314,8 +1325,10 @@ element_insert(ElementObject* self, PyObject* args)
&Element_Type, &element))
return NULL;
- if (!self->extra)
- create_extra(self, NULL);
+ if (!self->extra) {
+ if (create_extra(self, NULL) < 0)
+ return NULL;
+ }
if (index < 0) {
index += self->extra->length;
@@ -1456,8 +1469,10 @@ element_set(ElementObject* self, PyObject* args)
if (!PyArg_ParseTuple(args, "OO:set", &key, &value))
return NULL;
- if (!self->extra)
- create_extra(self, NULL);
+ if (!self->extra) {
+ if (create_extra(self, NULL) < 0)
+ return NULL;
+ }
attrib = element_get_attrib(self);
if (!attrib)
@@ -1572,8 +1587,10 @@ element_ass_subscr(PyObject* self_, PyObject* item, PyObject* value)
PyObject* recycle = NULL;
PyObject* seq = NULL;
- if (!self->extra)
- create_extra(self, NULL);
+ if (!self->extra) {
+ if (create_extra(self, NULL) < 0)
+ return -1;
+ }
if (PySlice_GetIndicesEx(item,
self->extra->length,
@@ -1788,7 +1805,7 @@ element_getattro(ElementObject* self, PyObject* nameobj)
return res;
} else if (strcmp(name, "text") == 0) {
res = element_get_text(self);
- Py_INCREF(res);
+ Py_XINCREF(res);
return res;
}
@@ -1803,8 +1820,10 @@ element_getattro(ElementObject* self, PyObject* nameobj)
res = element_get_tail(self);
} else if (strcmp(name, "attrib") == 0) {
PyErr_Clear();
- if (!self->extra)
- create_extra(self, NULL);
+ if (!self->extra) {
+ if (create_extra(self, NULL) < 0)
+ return NULL;
+ }
res = element_get_attrib(self);
}
@@ -1821,10 +1840,10 @@ element_setattro(ElementObject* self, PyObject* nameobj, PyObject* value)
char *name = "";
if (PyUnicode_Check(nameobj))
name = _PyUnicode_AsString(nameobj);
-
- if (name == NULL) {
+ if (name == NULL)
return -1;
- } else if (strcmp(name, "tag") == 0) {
+
+ if (strcmp(name, "tag") == 0) {
Py_DECREF(self->tag);
self->tag = value;
Py_INCREF(self->tag);
@@ -1837,8 +1856,10 @@ element_setattro(ElementObject* self, PyObject* nameobj, PyObject* value)
self->tail = value;
Py_INCREF(self->tail);
} else if (strcmp(name, "attrib") == 0) {
- if (!self->extra)
- create_extra(self, NULL);
+ if (!self->extra) {
+ if (create_extra(self, NULL) < 0)
+ return -1;
+ }
Py_DECREF(self->extra->attrib);
self->extra->attrib = value;
Py_INCREF(self->extra->attrib);
@@ -2154,14 +2175,6 @@ create_elementiter(ElementObject *self, PyObject *tag, int gettext)
it = PyObject_GC_New(ElementIterObject, &ElementIter_Type);
if (!it)
return NULL;
- if (!(it->parent_stack = PyObject_Malloc(sizeof(ParentLocator)))) {
- PyObject_GC_Del(it);
- return NULL;
- }
-
- it->parent_stack->parent = NULL;
- it->parent_stack->child_index = 0;
- it->parent_stack->next = NULL;
if (PyUnicode_Check(tag))
star = PyUnicode_FromString("*");
@@ -2170,17 +2183,27 @@ create_elementiter(ElementObject *self, PyObject *tag, int gettext)
if (star && PyObject_RichCompareBool(tag, star, Py_EQ) == 1)
tag = Py_None;
-
Py_XDECREF(star);
+
+ Py_INCREF(tag);
it->sought_tag = tag;
it->root_done = 0;
it->gettext = gettext;
- it->root_element = self;
-
Py_INCREF(self);
- Py_INCREF(tag);
+ it->root_element = self;
PyObject_GC_Track(it);
+
+ it->parent_stack = PyObject_Malloc(sizeof(ParentLocator));
+ if (it->parent_stack == NULL) {
+ Py_DECREF(it);
+ PyErr_NoMemory();
+ return NULL;
+ }
+ it->parent_stack->parent = NULL;
+ it->parent_stack->child_index = 0;
+ it->parent_stack->next = NULL;
+
return (PyObject *)it;
}
@@ -2373,6 +2396,7 @@ treebuilder_handle_start(TreeBuilderObject* self, PyObject* tag,
{
PyObject* node;
PyObject* this;
+ elementtreestate *st = ET_STATE_GLOBAL;
if (self->data) {
if (self->this == self->last) {
@@ -2403,7 +2427,7 @@ treebuilder_handle_start(TreeBuilderObject* self, PyObject* tag,
} else {
if (self->root) {
PyErr_SetString(
- elementtree_parseerror_obj,
+ st->parseerror_obj,
"multiple elements on top level"
);
goto error;
@@ -2690,10 +2714,12 @@ static PyTypeObject TreeBuilder_Type = {
/* ==================================================================== */
/* the expat interface */
-#if defined(USE_EXPAT)
-
#include "expat.h"
#include "pyexpat.h"
+
+/* The PyExpat_CAPI structure is an immutable dispatch table, so it can be
+ * cached globally without being in per-module state.
+ */
static struct PyExpat_CAPI *expat_capi;
#define EXPAT(func) (expat_capi->func)
@@ -2760,6 +2786,10 @@ makeuniversal(XMLParserObject* self, const char* string)
if (i != size) {
/* convert to universal name */
tag = PyBytes_FromStringAndSize(NULL, size+1);
+ if (tag == NULL) {
+ Py_DECREF(key);
+ return NULL;
+ }
p = PyBytes_AS_STRING(tag);
p[0] = '{';
memcpy(p+1, string, size);
@@ -2799,6 +2829,7 @@ static void
expat_set_error(enum XML_Error error_code, int line, int column, char *message)
{
PyObject *errmsg, *error, *position, *code;
+ elementtreestate *st = ET_STATE_GLOBAL;
errmsg = PyUnicode_FromFormat("%s: line %d, column %d",
message ? message : EXPAT(ErrorString)(error_code),
@@ -2806,7 +2837,7 @@ expat_set_error(enum XML_Error error_code, int line, int column, char *message)
if (errmsg == NULL)
return;
- error = PyObject_CallFunction(elementtree_parseerror_obj, "O", errmsg);
+ error = PyObject_CallFunction(st->parseerror_obj, "O", errmsg);
Py_DECREF(errmsg);
if (!error)
return;
@@ -2836,7 +2867,7 @@ expat_set_error(enum XML_Error error_code, int line, int column, char *message)
}
Py_DECREF(position);
- PyErr_SetObject(elementtree_parseerror_obj, error);
+ PyErr_SetObject(st->parseerror_obj, error);
Py_DECREF(error);
}
@@ -2854,6 +2885,9 @@ expat_default_handler(XMLParserObject* self, const XML_Char* data_in,
if (data_len < 2 || data_in[0] != '&')
return;
+ if (PyErr_Occurred())
+ return;
+
key = PyUnicode_DecodeUTF8(data_in + 1, data_len - 2, "strict");
if (!key)
return;
@@ -2894,6 +2928,9 @@ expat_start_handler(XMLParserObject* self, const XML_Char* tag_in,
PyObject* attrib;
int ok;
+ if (PyErr_Occurred())
+ return;
+
/* tag name */
tag = makeuniversal(self, tag_in);
if (!tag)
@@ -2952,6 +2989,9 @@ expat_data_handler(XMLParserObject* self, const XML_Char* data_in,
PyObject* data;
PyObject* res;
+ if (PyErr_Occurred())
+ return;
+
data = PyUnicode_DecodeUTF8(data_in, data_len, "strict");
if (!data)
return; /* parser will look for errors */
@@ -2975,6 +3015,9 @@ expat_end_handler(XMLParserObject* self, const XML_Char* tag_in)
PyObject* tag;
PyObject* res = NULL;
+ if (PyErr_Occurred())
+ return;
+
if (TreeBuilder_CheckExact(self->target))
/* shortcut */
/* the standard tree builder doesn't look at the end tag */
@@ -2999,6 +3042,9 @@ expat_start_ns_handler(XMLParserObject* self, const XML_Char* prefix,
PyObject* sprefix = NULL;
PyObject* suri = NULL;
+ if (PyErr_Occurred())
+ return;
+
suri = PyUnicode_DecodeUTF8(uri, strlen(uri), "strict");
if (!suri)
return;
@@ -3023,6 +3069,9 @@ expat_start_ns_handler(XMLParserObject* self, const XML_Char* prefix,
static void
expat_end_ns_handler(XMLParserObject* self, const XML_Char* prefix_in)
{
+ if (PyErr_Occurred())
+ return;
+
treebuilder_handle_namespace(
(TreeBuilderObject*) self->target, 0, NULL, NULL
);
@@ -3034,6 +3083,9 @@ expat_comment_handler(XMLParserObject* self, const XML_Char* comment_in)
PyObject* comment;
PyObject* res;
+ if (PyErr_Occurred())
+ return;
+
if (self->handle_comment) {
comment = PyUnicode_DecodeUTF8(comment_in, strlen(comment_in), "strict");
if (comment) {
@@ -3056,6 +3108,9 @@ expat_start_doctype_handler(XMLParserObject *self,
PyObject *parser_doctype = NULL;
PyObject *res = NULL;
+ if (PyErr_Occurred())
+ return;
+
doctype_name_obj = makeuniversal(self, doctype_name);
if (!doctype_name_obj)
return;
@@ -3124,6 +3179,9 @@ expat_pi_handler(XMLParserObject* self, const XML_Char* target_in,
PyObject* data;
PyObject* res;
+ if (PyErr_Occurred())
+ return;
+
if (self->handle_pi) {
target = PyUnicode_DecodeUTF8(target_in, strlen(target_in), "strict");
data = PyUnicode_DecodeUTF8(data_in, strlen(data_in), "strict");
@@ -3296,6 +3354,7 @@ expat_parse(XMLParserObject* self, const char* data, int data_len, int final)
{
int ok;
+ assert(!PyErr_Occurred());
ok = EXPAT(Parse)(self->parser, data, data_len, final);
if (PyErr_Occurred())
@@ -3330,11 +3389,14 @@ xmlparser_close(XMLParserObject* self, PyObject* args)
if (TreeBuilder_CheckExact(self->target)) {
Py_DECREF(res);
return treebuilder_done((TreeBuilderObject*) self->target);
- } if (self->handle_close) {
+ }
+ else if (self->handle_close) {
Py_DECREF(res);
return PyObject_CallFunction(self->handle_close, "");
- } else
+ }
+ else {
return res;
+ }
}
static PyObject*
@@ -3372,10 +3434,9 @@ xmlparser_feed(XMLParserObject* self, PyObject* arg)
}
static PyObject*
-xmlparser_parse(XMLParserObject* self, PyObject* args)
+xmlparser_parse_whole(XMLParserObject* self, PyObject* args)
{
- /* (internal) parse until end of input stream */
-
+ /* (internal) parse the whole input, until end of stream */
PyObject* reader;
PyObject* buffer;
PyObject* temp;
@@ -3456,14 +3517,14 @@ static PyObject*
xmlparser_setevents(XMLParserObject *self, PyObject* args)
{
/* activate element event reporting */
+ Py_ssize_t i, seqlen;
+ TreeBuilderObject *target;
- Py_ssize_t i;
- TreeBuilderObject* target;
-
- PyObject* events; /* event collector */
- PyObject* event_set = Py_None;
- if (!PyArg_ParseTuple(args, "O!|O:_setevents", &PyList_Type, &events,
- &event_set))
+ PyObject *events_queue;
+ PyObject *events_to_report = Py_None;
+ PyObject *events_seq;
+ if (!PyArg_ParseTuple(args, "O!|O:_setevents", &PyList_Type, &events_queue,
+ &events_to_report))
return NULL;
if (!TreeBuilder_CheckExact(self->target)) {
@@ -3477,9 +3538,9 @@ xmlparser_setevents(XMLParserObject *self, PyObject* args)
target = (TreeBuilderObject*) self->target;
- Py_INCREF(events);
+ Py_INCREF(events_queue);
Py_XDECREF(target->events);
- target->events = events;
+ target->events = events_queue;
/* clear out existing events */
Py_CLEAR(target->start_event_obj);
@@ -3487,75 +3548,71 @@ xmlparser_setevents(XMLParserObject *self, PyObject* args)
Py_CLEAR(target->start_ns_event_obj);
Py_CLEAR(target->end_ns_event_obj);
- if (event_set == Py_None) {
+ if (events_to_report == Py_None) {
/* default is "end" only */
target->end_event_obj = PyUnicode_FromString("end");
Py_RETURN_NONE;
}
- if (!PyTuple_Check(event_set)) /* FIXME: handle arbitrary sequences */
- goto error;
+ if (!(events_seq = PySequence_Fast(events_to_report,
+ "events must be a sequence"))) {
+ return NULL;
+ }
- for (i = 0; i < PyTuple_GET_SIZE(event_set); i++) {
- PyObject* item = PyTuple_GET_ITEM(event_set, i);
- char* event;
- if (PyUnicode_Check(item)) {
- event = _PyUnicode_AsString(item);
- if (event == NULL)
- goto error;
- } else if (PyBytes_Check(item))
- event = PyBytes_AS_STRING(item);
- else {
- goto error;
+ seqlen = PySequence_Size(events_seq);
+ for (i = 0; i < seqlen; ++i) {
+ PyObject *event_name_obj = PySequence_Fast_GET_ITEM(events_seq, i);
+ char *event_name = NULL;
+ if (PyUnicode_Check(event_name_obj)) {
+ event_name = _PyUnicode_AsString(event_name_obj);
+ } else if (PyBytes_Check(event_name_obj)) {
+ event_name = PyBytes_AS_STRING(event_name_obj);
}
- if (strcmp(event, "start") == 0) {
- Py_INCREF(item);
- target->start_event_obj = item;
- } else if (strcmp(event, "end") == 0) {
- Py_INCREF(item);
+
+ if (event_name == NULL) {
+ Py_DECREF(events_seq);
+ PyErr_Format(PyExc_ValueError, "invalid events sequence");
+ return NULL;
+ } else if (strcmp(event_name, "start") == 0) {
+ Py_INCREF(event_name_obj);
+ target->start_event_obj = event_name_obj;
+ } else if (strcmp(event_name, "end") == 0) {
+ Py_INCREF(event_name_obj);
Py_XDECREF(target->end_event_obj);
- target->end_event_obj = item;
- } else if (strcmp(event, "start-ns") == 0) {
- Py_INCREF(item);
+ target->end_event_obj = event_name_obj;
+ } else if (strcmp(event_name, "start-ns") == 0) {
+ Py_INCREF(event_name_obj);
Py_XDECREF(target->start_ns_event_obj);
- target->start_ns_event_obj = item;
+ target->start_ns_event_obj = event_name_obj;
EXPAT(SetNamespaceDeclHandler)(
self->parser,
(XML_StartNamespaceDeclHandler) expat_start_ns_handler,
(XML_EndNamespaceDeclHandler) expat_end_ns_handler
);
- } else if (strcmp(event, "end-ns") == 0) {
- Py_INCREF(item);
+ } else if (strcmp(event_name, "end-ns") == 0) {
+ Py_INCREF(event_name_obj);
Py_XDECREF(target->end_ns_event_obj);
- target->end_ns_event_obj = item;
+ target->end_ns_event_obj = event_name_obj;
EXPAT(SetNamespaceDeclHandler)(
self->parser,
(XML_StartNamespaceDeclHandler) expat_start_ns_handler,
(XML_EndNamespaceDeclHandler) expat_end_ns_handler
);
} else {
- PyErr_Format(
- PyExc_ValueError,
- "unknown event '%s'", event
- );
+ Py_DECREF(events_seq);
+ PyErr_Format(PyExc_ValueError, "unknown event '%s'", event_name);
return NULL;
}
}
+ Py_DECREF(events_seq);
Py_RETURN_NONE;
-
- error:
- PyErr_SetString(
- PyExc_TypeError,
- "invalid event tuple"
- );
- return NULL;
}
static PyMethodDef xmlparser_methods[] = {
{"feed", (PyCFunction) xmlparser_feed, METH_O},
{"close", (PyCFunction) xmlparser_close, METH_VARARGS},
- {"_parse", (PyCFunction) xmlparser_parse, METH_VARARGS},
+ {"_parse_whole", (PyCFunction) xmlparser_parse_whole, METH_VARARGS},
{"_setevents", (PyCFunction) xmlparser_setevents, METH_VARARGS},
{"doctype", (PyCFunction) xmlparser_doctype, METH_VARARGS},
{NULL, NULL}
@@ -3627,8 +3684,6 @@ static PyTypeObject XMLParser_Type = {
0, /* tp_free */
};
-#endif
-
/* ==================================================================== */
/* python module interface */
@@ -3638,22 +3693,29 @@ static PyMethodDef _functions[] = {
};
-static struct PyModuleDef _elementtreemodule = {
- PyModuleDef_HEAD_INIT,
- "_elementtree",
- NULL,
- -1,
- _functions,
- NULL,
- NULL,
- NULL,
- NULL
+static struct PyModuleDef elementtreemodule = {
+ PyModuleDef_HEAD_INIT,
+ "_elementtree",
+ NULL,
+ sizeof(elementtreestate),
+ _functions,
+ NULL,
+ elementtree_traverse,
+ elementtree_clear,
+ elementtree_free
};
PyMODINIT_FUNC
PyInit__elementtree(void)
{
PyObject *m, *temp;
+ elementtreestate *st;
+
+ m = PyState_FindModule(&elementtreemodule);
+ if (m) {
+ Py_INCREF(m);
+ return m;
+ }
/* Initialize object types */
if (PyType_Ready(&ElementIter_Type) < 0)
@@ -3662,21 +3724,20 @@ PyInit__elementtree(void)
return NULL;
if (PyType_Ready(&Element_Type) < 0)
return NULL;
-#if defined(USE_EXPAT)
if (PyType_Ready(&XMLParser_Type) < 0)
return NULL;
-#endif
- m = PyModule_Create(&_elementtreemodule);
+ m = PyModule_Create(&elementtreemodule);
if (!m)
return NULL;
+ st = ET_STATE(m);
if (!(temp = PyImport_ImportModule("copy")))
return NULL;
- elementtree_deepcopy_obj = PyObject_GetAttrString(temp, "deepcopy");
+ st->deepcopy_obj = PyObject_GetAttrString(temp, "deepcopy");
Py_XDECREF(temp);
- if (!(elementpath_obj = PyImport_ImportModule("xml.etree.ElementPath")))
+ if (!(st->elementpath_obj = PyImport_ImportModule("xml.etree.ElementPath")))
return NULL;
/* link against pyexpat */
@@ -3696,11 +3757,11 @@ PyInit__elementtree(void)
return NULL;
}
- elementtree_parseerror_obj = PyErr_NewException(
+ st->parseerror_obj = PyErr_NewException(
"xml.etree.ElementTree.ParseError", PyExc_SyntaxError, NULL
);
- Py_INCREF(elementtree_parseerror_obj);
- PyModule_AddObject(m, "ParseError", elementtree_parseerror_obj);
+ Py_INCREF(st->parseerror_obj);
+ PyModule_AddObject(m, "ParseError", st->parseerror_obj);
Py_INCREF((PyObject *)&Element_Type);
PyModule_AddObject(m, "Element", (PyObject *)&Element_Type);
@@ -3708,10 +3769,8 @@ PyInit__elementtree(void)
Py_INCREF((PyObject *)&TreeBuilder_Type);
PyModule_AddObject(m, "TreeBuilder", (PyObject *)&TreeBuilder_Type);
-#if defined(USE_EXPAT)
Py_INCREF((PyObject *)&XMLParser_Type);
PyModule_AddObject(m, "XMLParser", (PyObject *)&XMLParser_Type);
-#endif
return m;
}
diff --git a/Modules/_freeze_importlib.c b/Modules/_freeze_importlib.c
index 8f07a89a8a..57b1ac0662 100644
--- a/Modules/_freeze_importlib.c
+++ b/Modules/_freeze_importlib.c
@@ -17,7 +17,7 @@
of frozen modules instead, left deliberately blank so as to avoid
unintentional import of a stale version of _frozen_importlib. */
-static struct _frozen _PyImport_FrozenModules[] = {
+const static struct _frozen _PyImport_FrozenModules[] = {
{0, 0, 0} /* sentinel */
};
@@ -25,7 +25,7 @@ static struct _frozen _PyImport_FrozenModules[] = {
/* On Windows, this links with the regular pythonXY.dll, so this variable comes
from frozen.obj. In the Makefile, frozen.o is not linked into this executable,
so we define the variable here. */
-struct _frozen *PyImport_FrozenModules;
+const struct _frozen *PyImport_FrozenModules;
#endif
const char header[] = "/* Auto-generated by Modules/_freeze_importlib.c */";
@@ -106,7 +106,7 @@ main(int argc, char *argv[])
goto error;
}
fprintf(outfile, "%s\n", header);
- fprintf(outfile, "unsigned char _Py_M__importlib[] = {\n");
+ fprintf(outfile, "const unsigned char _Py_M__importlib[] = {\n");
for (n = 0; n < data_size; n += 16) {
size_t i, end = Py_MIN(n + 16, data_size);
fprintf(outfile, " ");
diff --git a/Modules/_gdbmmodule.c b/Modules/_gdbmmodule.c
index 474561b235..1db021aaa1 100644
--- a/Modules/_gdbmmodule.c
+++ b/Modules/_gdbmmodule.c
@@ -79,7 +79,7 @@ newdbmobject(char *file, int flags, int mode)
/* Methods */
static void
-dbm_dealloc(register dbmobject *dp)
+dbm_dealloc(dbmobject *dp)
{
if (dp->di_dbm)
gdbm_close(dp->di_dbm);
@@ -112,7 +112,7 @@ dbm_length(dbmobject *dp)
}
static PyObject *
-dbm_subscript(dbmobject *dp, register PyObject *key)
+dbm_subscript(dbmobject *dp, PyObject *key)
{
PyObject *v;
datum drec, krec;
@@ -232,7 +232,7 @@ PyDoc_STRVAR(dbm_close__doc__,
Closes the database.");
static PyObject *
-dbm_close(register dbmobject *dp, PyObject *unused)
+dbm_close(dbmobject *dp, PyObject *unused)
{
if (dp->di_dbm)
gdbm_close(dp->di_dbm);
@@ -247,9 +247,9 @@ PyDoc_STRVAR(dbm_keys__doc__,
Get a list of all keys in the database.");
static PyObject *
-dbm_keys(register dbmobject *dp, PyObject *unused)
+dbm_keys(dbmobject *dp, PyObject *unused)
{
- register PyObject *v, *item;
+ PyObject *v, *item;
datum key, nextkey;
int err;
@@ -328,9 +328,9 @@ hash values, and won't be sorted by the key values. This method\n\
returns the starting key.");
static PyObject *
-dbm_firstkey(register dbmobject *dp, PyObject *unused)
+dbm_firstkey(dbmobject *dp, PyObject *unused)
{
- register PyObject *v;
+ PyObject *v;
datum key;
check_dbmobject_open(dp);
@@ -358,9 +358,9 @@ to create a list in memory that contains them all:\n\
k = db.nextkey(k)");
static PyObject *
-dbm_nextkey(register dbmobject *dp, PyObject *args)
+dbm_nextkey(dbmobject *dp, PyObject *args)
{
- register PyObject *v;
+ PyObject *v;
datum key, nextkey;
if (!PyArg_ParseTuple(args, "s#:nextkey", &key.dptr, &key.dsize))
@@ -387,7 +387,7 @@ by using this reorganization; otherwise, deleted file space will be\n\
kept and reused as new (key,value) pairs are added.");
static PyObject *
-dbm_reorganize(register dbmobject *dp, PyObject *unused)
+dbm_reorganize(dbmobject *dp, PyObject *unused)
{
check_dbmobject_open(dp);
errno = 0;
@@ -408,7 +408,7 @@ When the database has been opened in fast mode, this method forces\n\
any unwritten data to be written to the disk.");
static PyObject *
-dbm_sync(register dbmobject *dp, PyObject *unused)
+dbm_sync(dbmobject *dp, PyObject *unused)
{
check_dbmobject_open(dp);
gdbm_sync(dp->di_dbm);
diff --git a/Modules/_gestalt.c b/Modules/_gestalt.c
deleted file mode 100644
index cd3068334a..0000000000
--- a/Modules/_gestalt.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/***********************************************************
-Copyright 1991-1997 by Stichting Mathematisch Centrum, Amsterdam,
-The Netherlands.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the names of Stichting Mathematisch
-Centrum or CWI not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior permission.
-
-STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
-THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
-FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-******************************************************************/
-
-/* Macintosh Gestalt interface */
-
-#include "Python.h"
-
-#include <Carbon/Carbon.h>
-
-/* Convert a 4-char string object argument to an OSType value */
-static int
-convert_to_OSType(PyObject *v, OSType *pr)
-{
- uint32_t tmp;
- if (!PyUnicode_Check(v) || PyUnicode_GetLength(v) != 4) {
- PyErr_SetString(PyExc_TypeError,
- "OSType arg must be string of 4 chars");
- return 0;
- }
- memcpy((char *)&tmp, _PyUnicode_AsString(v), 4);
- *pr = (OSType)ntohl(tmp);
- return 1;
-}
-
-static PyObject *
-gestalt_gestalt(PyObject *self, PyObject *args)
-{
- OSErr iErr;
- OSType selector;
- SInt32 response;
- if (!PyArg_ParseTuple(args, "O&", convert_to_OSType, &selector))
- return NULL;
- iErr = Gestalt(selector, &response);
- if (iErr != 0) {
- PyErr_SetString(PyExc_OSError,
- "non-zero exit code!");
- return NULL;
- }
- return PyLong_FromLong(response);
-}
-
-static struct PyMethodDef gestalt_methods[] = {
- {"gestalt", gestalt_gestalt, METH_VARARGS},
- {NULL, NULL} /* Sentinel */
-};
-
-static struct PyModuleDef gestaltmodule = {
- PyModuleDef_HEAD_INIT,
- "_gestalt",
- NULL,
- -1,
- gestalt_methods,
- NULL,
- NULL,
- NULL,
- NULL
-};
-
-PyMODINIT_FUNC
-PyInit__gestalt(void)
-{
- return PyModule_Create(&gestaltmodule);
-}
diff --git a/Modules/_hashopenssl.c b/Modules/_hashopenssl.c
index 3ab1c0c99b..c8db5ed2c8 100644
--- a/Modules/_hashopenssl.c
+++ b/Modules/_hashopenssl.c
@@ -17,24 +17,6 @@
#include "structmember.h"
#include "hashlib.h"
-#ifdef WITH_THREAD
-#include "pythread.h"
- #define ENTER_HASHLIB(obj) \
- if ((obj)->lock) { \
- if (!PyThread_acquire_lock((obj)->lock, 0)) { \
- Py_BEGIN_ALLOW_THREADS \
- PyThread_acquire_lock((obj)->lock, 1); \
- Py_END_ALLOW_THREADS \
- } \
- }
- #define LEAVE_HASHLIB(obj) \
- if ((obj)->lock) { \
- PyThread_release_lock((obj)->lock); \
- }
-#else
- #define ENTER_HASHLIB(obj)
- #define LEAVE_HASHLIB(obj)
-#endif
/* EVP is the preferred interface to hashing in OpenSSL */
#include <openssl/evp.h>
@@ -43,10 +25,6 @@
#define MUNCH_SIZE INT_MAX
-/* TODO(gps): We should probably make this a module or EVPobject attribute
- * to allow the user to optimize based on the platform they're using. */
-#define HASHLIB_GIL_MINSIZE 2048
-
#ifndef HASH_OBJ_CONSTRUCTOR
#define HASH_OBJ_CONSTRUCTOR 0
#endif
diff --git a/Modules/_heapqmodule.c b/Modules/_heapqmodule.c
index f377e9cf6c..96afcdc1b3 100644
--- a/Modules/_heapqmodule.c
+++ b/Modules/_heapqmodule.c
@@ -168,7 +168,10 @@ heappop(PyObject *self, PyObject *heap)
lastelt = PyList_GET_ITEM(heap, n-1) ;
Py_INCREF(lastelt);
- PyList_SetSlice(heap, n-1, n, NULL);
+ if (PyList_SetSlice(heap, n-1, n, NULL) < 0) {
+ Py_DECREF(lastelt);
+ return NULL;
+ }
n--;
if (!n)
diff --git a/Modules/_io/_iomodule.c b/Modules/_io/_iomodule.c
index 4a7e758cda..14457e80cb 100644
--- a/Modules/_io/_iomodule.c
+++ b/Modules/_io/_iomodule.c
@@ -533,6 +533,31 @@ _PyIO_ConvertSsize_t(PyObject *obj, void *result) {
}
+PyObject *
+_PyIO_get_locale_module(_PyIO_State *state)
+{
+ PyObject *mod;
+ if (state->locale_module != NULL) {
+ assert(PyWeakref_CheckRef(state->locale_module));
+ mod = PyWeakref_GET_OBJECT(state->locale_module);
+ if (mod != Py_None) {
+ Py_INCREF(mod);
+ return mod;
+ }
+ Py_CLEAR(state->locale_module);
+ }
+ mod = PyImport_ImportModule("locale");
+ if (mod == NULL)
+ return NULL;
+ state->locale_module = PyWeakref_NewRef(mod, NULL);
+ if (state->locale_module == NULL) {
+ Py_DECREF(mod);
+ return NULL;
+ }
+ return mod;
+}
+
+
static int
iomodule_traverse(PyObject *mod, visitproc visit, void *arg) {
_PyIO_State *state = IO_MOD_STATE(mod);
diff --git a/Modules/_io/_iomodule.h b/Modules/_io/_iomodule.h
index 0fe90a3b3b..b90a658397 100644
--- a/Modules/_io/_iomodule.h
+++ b/Modules/_io/_iomodule.h
@@ -77,7 +77,7 @@ extern int _PyIO_trap_eintr(void);
long with "%lld" even when both long and long long have the same
precision. */
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
/* Windows uses long long for offsets */
typedef PY_LONG_LONG Py_off_t;
@@ -137,6 +137,8 @@ typedef struct {
#define IO_MOD_STATE(mod) ((_PyIO_State *)PyModule_GetState(mod))
#define IO_STATE IO_MOD_STATE(PyState_FindModule(&_PyIO_Module))
+extern PyObject *_PyIO_get_locale_module(_PyIO_State *);
+
extern PyObject *_PyIO_str_close;
extern PyObject *_PyIO_str_closed;
extern PyObject *_PyIO_str_decode;
diff --git a/Modules/_io/bufferedio.c b/Modules/_io/bufferedio.c
index 3afe7b17f8..6fe5d586a9 100644
--- a/Modules/_io/bufferedio.c
+++ b/Modules/_io/bufferedio.c
@@ -190,7 +190,8 @@ PyTypeObject PyBufferedIOBase_Type = {
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE
+ | Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
bufferediobase_doc, /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
@@ -209,6 +210,16 @@ PyTypeObject PyBufferedIOBase_Type = {
0, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+ 0, /* tp_version_tag */
+ 0, /* tp_finalize */
};
@@ -220,7 +231,7 @@ typedef struct {
int detached;
int readable;
int writable;
- int deallocating;
+ char finalizing;
/* True if this is a vanilla Buffered object (rather than a user derived
class) *and* the raw stream is a vanilla FileIO object. */
@@ -384,8 +395,8 @@ _enter_buffered_busy(buffered *self)
static void
buffered_dealloc(buffered *self)
{
- self->deallocating = 1;
- if (self->ok && _PyIOBase_finalize((PyObject *) self) < 0)
+ self->finalizing = 1;
+ if (_PyIOBase_finalize((PyObject *) self) < 0)
return;
_PyObject_GC_UNTRACK(self);
self->ok = 0;
@@ -428,8 +439,6 @@ buffered_traverse(buffered *self, visitproc visit, void *arg)
static int
buffered_clear(buffered *self)
{
- if (self->ok && _PyIOBase_finalize((PyObject *) self) < 0)
- return -1;
self->ok = 0;
Py_CLEAR(self->raw);
Py_CLEAR(self->dict);
@@ -508,7 +517,7 @@ buffered_close(buffered *self, PyObject *args)
goto end;
}
- if (self->deallocating) {
+ if (self->finalizing) {
PyObject *r = buffered_dealloc_warn(self, (PyObject *) self);
if (r)
Py_DECREF(r);
@@ -527,6 +536,11 @@ buffered_close(buffered *self, PyObject *args)
res = PyObject_CallMethodObjArgs(self->raw, _PyIO_str_close, NULL);
+ if (self->buffer) {
+ PyMem_Free(self->buffer);
+ self->buffer = NULL;
+ }
+
if (exc != NULL) {
if (res != NULL) {
Py_CLEAR(res);
@@ -658,6 +672,11 @@ static void
_set_BlockingIOError(char *msg, Py_ssize_t written)
{
PyObject *err;
+#ifdef Py_DEBUG
+ /* in debug mode, PyEval_EvalFrameEx() fails with an assertion error
+ if an exception is set when it is called */
+ PyErr_Clear();
+#endif
err = PyObject_CallFunction(PyExc_BlockingIOError, "isn",
errno, msg, written);
if (err)
@@ -1739,6 +1758,7 @@ static PyMethodDef bufferedreader_methods[] = {
static PyMemberDef bufferedreader_members[] = {
{"raw", T_OBJECT, offsetof(buffered, raw), READONLY},
+ {"_finalizing", T_BOOL, offsetof(buffered, finalizing), 0},
{NULL}
};
@@ -1771,7 +1791,7 @@ PyTypeObject PyBufferedReader_Type = {
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE
- | Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
bufferedreader_doc, /* tp_doc */
(traverseproc)buffered_traverse, /* tp_traverse */
(inquiry)buffered_clear, /* tp_clear */
@@ -1790,6 +1810,16 @@ PyTypeObject PyBufferedReader_Type = {
(initproc)bufferedreader_init, /* tp_init */
0, /* tp_alloc */
PyType_GenericNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+ 0, /* tp_version_tag */
+ 0, /* tp_finalize */
};
@@ -2120,6 +2150,7 @@ static PyMethodDef bufferedwriter_methods[] = {
static PyMemberDef bufferedwriter_members[] = {
{"raw", T_OBJECT, offsetof(buffered, raw), READONLY},
+ {"_finalizing", T_BOOL, offsetof(buffered, finalizing), 0},
{NULL}
};
@@ -2152,7 +2183,7 @@ PyTypeObject PyBufferedWriter_Type = {
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE
- | Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
bufferedwriter_doc, /* tp_doc */
(traverseproc)buffered_traverse, /* tp_traverse */
(inquiry)buffered_clear, /* tp_clear */
@@ -2171,6 +2202,16 @@ PyTypeObject PyBufferedWriter_Type = {
(initproc)bufferedwriter_init, /* tp_init */
0, /* tp_alloc */
PyType_GenericNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+ 0, /* tp_version_tag */
+ 0, /* tp_finalize */
};
@@ -2406,7 +2447,7 @@ PyTypeObject PyBufferedRWPair_Type = {
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE
- | Py_TPFLAGS_HAVE_GC, /* tp_flags */
+ | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, /* tp_flags */
bufferedrwpair_doc, /* tp_doc */
(traverseproc)bufferedrwpair_traverse, /* tp_traverse */
(inquiry)bufferedrwpair_clear, /* tp_clear */
@@ -2425,6 +2466,16 @@ PyTypeObject PyBufferedRWPair_Type = {
(initproc)bufferedrwpair_init, /* tp_init */
0, /* tp_alloc */
PyType_GenericNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+ 0, /* tp_version_tag */
+ 0, /* tp_finalize */
};
@@ -2512,6 +2563,7 @@ static PyMethodDef bufferedrandom_methods[] = {
static PyMemberDef bufferedrandom_members[] = {
{"raw", T_OBJECT, offsetof(buffered, raw), READONLY},
+ {"_finalizing", T_BOOL, offsetof(buffered, finalizing), 0},
{NULL}
};
@@ -2544,7 +2596,7 @@ PyTypeObject PyBufferedRandom_Type = {
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE
- | Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
bufferedrandom_doc, /* tp_doc */
(traverseproc)buffered_traverse, /* tp_traverse */
(inquiry)buffered_clear, /* tp_clear */
@@ -2563,4 +2615,14 @@ PyTypeObject PyBufferedRandom_Type = {
(initproc)bufferedrandom_init, /* tp_init */
0, /* tp_alloc */
PyType_GenericNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+ 0, /* tp_version_tag */
+ 0, /* tp_finalize */
};
diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c
index 2d0239e50b..e88ae877f2 100644
--- a/Modules/_io/fileio.c
+++ b/Modules/_io/fileio.c
@@ -51,7 +51,7 @@ typedef struct {
unsigned int writable : 1;
signed int seekable : 2; /* -1 means unknown */
unsigned int closefd : 1;
- unsigned int deallocating: 1;
+ char finalizing;
PyObject *weakreflist;
PyObject *dict;
} fileio;
@@ -128,7 +128,7 @@ fileio_close(fileio *self)
self->fd = -1;
Py_RETURN_NONE;
}
- if (self->deallocating) {
+ if (self->finalizing) {
PyObject *r = fileio_dealloc_warn(self, (PyObject *) self);
if (r)
Py_DECREF(r);
@@ -391,12 +391,7 @@ fileio_init(PyObject *oself, PyObject *args, PyObject *kwds)
fd_is_own = 1;
if (self->fd < 0) {
-#ifdef MS_WINDOWS
- if (widename != NULL)
- PyErr_SetFromErrnoWithFilenameObject(PyExc_IOError, nameobj);
- else
-#endif
- PyErr_SetFromErrnoWithFilename(PyExc_IOError, name);
+ PyErr_SetFromErrnoWithFilenameObject(PyExc_OSError, nameobj);
goto error;
}
}
@@ -452,7 +447,7 @@ fileio_clear(fileio *self)
static void
fileio_dealloc(fileio *self)
{
- self->deallocating = 1;
+ self->finalizing = 1;
if (_PyIOBase_finalize((PyObject *) self) < 0)
return;
_PyObject_GC_UNTRACK(self);
@@ -538,7 +533,7 @@ fileio_readinto(fileio *self, PyObject *args)
len = pbuf.len;
Py_BEGIN_ALLOW_THREADS
errno = 0;
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
if (len > INT_MAX)
len = INT_MAX;
n = read(self->fd, pbuf.buf, (int)len);
@@ -561,33 +556,27 @@ fileio_readinto(fileio *self, PyObject *args)
return PyLong_FromSsize_t(n);
}
+#ifndef HAVE_FSTAT
+
+static PyObject *
+fileio_readall(fileio *self)
+{
+ _Py_IDENTIFIER(readall);
+ return _PyObject_CallMethodId((PyObject*)&PyRawIOBase_Type,
+ &PyId_readall, "O", self);
+}
+
+#else
+
static size_t
-new_buffersize(fileio *self, size_t currentsize
-#ifdef HAVE_FSTAT
- , Py_off_t pos, Py_off_t end
-#endif
- )
+new_buffersize(fileio *self, size_t currentsize)
{
size_t addend;
-#ifdef HAVE_FSTAT
- if (end != (Py_off_t)-1) {
- /* Files claiming a size smaller than SMALLCHUNK may
- actually be streaming pseudo-files. In this case, we
- apply the more aggressive algorithm below.
- */
- if (end >= SMALLCHUNK && end >= pos && pos >= 0) {
- /* Add 1 so if the file were to grow we'd notice. */
- Py_off_t bufsize = currentsize + end - pos + 1;
- if (bufsize < PY_SSIZE_T_MAX)
- return (size_t)bufsize;
- else
- return PY_SSIZE_T_MAX;
- }
- }
-#endif
+
/* Expand the buffer by an amount proportional to the current size,
giving us amortized linear-time behavior. For bigger sizes, use a
less-than-double growth factor to avoid excessive allocation. */
+ assert(currentsize <= PY_SSIZE_T_MAX);
if (currentsize > 65536)
addend = currentsize >> 3;
else
@@ -601,26 +590,19 @@ new_buffersize(fileio *self, size_t currentsize
static PyObject *
fileio_readall(fileio *self)
{
-#ifdef HAVE_FSTAT
struct stat st;
Py_off_t pos, end;
-#endif
PyObject *result;
- Py_ssize_t total = 0;
+ Py_ssize_t bytes_read = 0;
Py_ssize_t n;
- size_t newsize;
+ size_t bufsize;
if (self->fd < 0)
return err_closed();
if (!_PyVerify_fd(self->fd))
return PyErr_SetFromErrno(PyExc_IOError);
- result = PyBytes_FromStringAndSize(NULL, SMALLCHUNK);
- if (result == NULL)
- return NULL;
-
-#ifdef HAVE_FSTAT
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
pos = _lseeki64(self->fd, 0L, SEEK_CUR);
#else
pos = lseek(self->fd, 0L, SEEK_CUR);
@@ -629,44 +611,46 @@ fileio_readall(fileio *self)
end = st.st_size;
else
end = (Py_off_t)-1;
-#endif
+
+ if (end > 0 && end >= pos && pos >= 0 && end - pos < PY_SSIZE_T_MAX) {
+ /* This is probably a real file, so we try to allocate a
+ buffer one byte larger than the rest of the file. If the
+ calculation is right then we should get EOF without having
+ to enlarge the buffer. */
+ bufsize = (size_t)(end - pos + 1);
+ } else {
+ bufsize = SMALLCHUNK;
+ }
+
+ result = PyBytes_FromStringAndSize(NULL, bufsize);
+ if (result == NULL)
+ return NULL;
+
while (1) {
-#ifdef HAVE_FSTAT
- newsize = new_buffersize(self, total, pos, end);
-#else
- newsize = new_buffersize(self, total);
-#endif
- if (newsize > PY_SSIZE_T_MAX || newsize <= 0) {
- PyErr_SetString(PyExc_OverflowError,
- "unbounded read returned more bytes "
- "than a Python string can hold ");
- Py_DECREF(result);
- return NULL;
- }
+ if (bytes_read >= (Py_ssize_t)bufsize) {
+ bufsize = new_buffersize(self, bytes_read);
+ if (bufsize > PY_SSIZE_T_MAX || bufsize <= 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "unbounded read returned more bytes "
+ "than a Python string can hold");
+ Py_DECREF(result);
+ return NULL;
+ }
- if (PyBytes_GET_SIZE(result) < (Py_ssize_t)newsize) {
- if (_PyBytes_Resize(&result, newsize) < 0) {
- if (total == 0) {
- Py_DECREF(result);
+ if (PyBytes_GET_SIZE(result) < (Py_ssize_t)bufsize) {
+ if (_PyBytes_Resize(&result, bufsize) < 0)
return NULL;
- }
- PyErr_Clear();
- break;
}
}
Py_BEGIN_ALLOW_THREADS
errno = 0;
- n = newsize - total;
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+ n = bufsize - bytes_read;
+#ifdef MS_WINDOWS
if (n > INT_MAX)
n = INT_MAX;
- n = read(self->fd,
- PyBytes_AS_STRING(result) + total,
- (int)n);
+ n = read(self->fd, PyBytes_AS_STRING(result) + bytes_read, (int)n);
#else
- n = read(self->fd,
- PyBytes_AS_STRING(result) + total,
- n);
+ n = read(self->fd, PyBytes_AS_STRING(result) + bytes_read, n);
#endif
Py_END_ALLOW_THREADS
if (n == 0)
@@ -679,7 +663,7 @@ fileio_readall(fileio *self)
}
continue;
}
- if (total > 0)
+ if (bytes_read > 0)
break;
if (errno == EAGAIN) {
Py_DECREF(result);
@@ -689,22 +673,19 @@ fileio_readall(fileio *self)
PyErr_SetFromErrno(PyExc_IOError);
return NULL;
}
- total += n;
-#ifdef HAVE_FSTAT
+ bytes_read += n;
pos += n;
-#endif
}
- if (PyBytes_GET_SIZE(result) > total) {
- if (_PyBytes_Resize(&result, total) < 0) {
- /* This should never happen, but just in case */
- Py_DECREF(result);
+ if (PyBytes_GET_SIZE(result) > bytes_read) {
+ if (_PyBytes_Resize(&result, bytes_read) < 0)
return NULL;
- }
}
return result;
}
+#endif /* HAVE_FSTAT */
+
static PyObject *
fileio_read(fileio *self, PyObject *args)
{
@@ -725,7 +706,7 @@ fileio_read(fileio *self, PyObject *args)
return fileio_readall(self);
}
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
if (size > INT_MAX)
size = INT_MAX;
#endif
@@ -737,7 +718,7 @@ fileio_read(fileio *self, PyObject *args)
if (_PyVerify_fd(self->fd)) {
Py_BEGIN_ALLOW_THREADS
errno = 0;
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
n = read(self->fd, ptr, (int)size);
#else
n = read(self->fd, ptr, size);
@@ -758,7 +739,7 @@ fileio_read(fileio *self, PyObject *args)
if (n != size) {
if (_PyBytes_Resize(&bytes, n) < 0) {
- Py_DECREF(bytes);
+ Py_CLEAR(bytes);
return NULL;
}
}
@@ -785,7 +766,7 @@ fileio_write(fileio *self, PyObject *args)
Py_BEGIN_ALLOW_THREADS
errno = 0;
len = pbuf.len;
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
if (len > 32767 && isatty(self->fd)) {
/* Issue #11395: the Windows console returns an error (12: not
enough space error) on writing into stdout if stdout mode is
@@ -858,7 +839,7 @@ portable_lseek(int fd, PyObject *posobj, int whence)
if (_PyVerify_fd(fd)) {
Py_BEGIN_ALLOW_THREADS
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
res = _lseeki64(fd, pos, whence);
#else
res = lseek(fd, pos, whence);
@@ -1201,6 +1182,11 @@ static PyGetSetDef fileio_getsetlist[] = {
{NULL},
};
+static PyMemberDef fileio_members[] = {
+ {"_finalizing", T_BOOL, offsetof(fileio, finalizing), 0},
+ {NULL}
+};
+
PyTypeObject PyFileIO_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"_io.FileIO",
@@ -1222,7 +1208,7 @@ PyTypeObject PyFileIO_Type = {
0, /* tp_setattro */
0, /* tp_as_buffer */
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE
- | Py_TPFLAGS_HAVE_GC, /* tp_flags */
+ | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, /* tp_flags */
fileio_doc, /* tp_doc */
(traverseproc)fileio_traverse, /* tp_traverse */
(inquiry)fileio_clear, /* tp_clear */
@@ -1231,7 +1217,7 @@ PyTypeObject PyFileIO_Type = {
0, /* tp_iter */
0, /* tp_iternext */
fileio_methods, /* tp_methods */
- 0, /* tp_members */
+ fileio_members, /* tp_members */
fileio_getsetlist, /* tp_getset */
0, /* tp_base */
0, /* tp_dict */
@@ -1242,4 +1228,13 @@ PyTypeObject PyFileIO_Type = {
PyType_GenericAlloc, /* tp_alloc */
fileio_new, /* tp_new */
PyObject_GC_Del, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+ 0, /* tp_version_tag */
+ 0, /* tp_finalize */
};
diff --git a/Modules/_io/iobase.c b/Modules/_io/iobase.c
index e38473a745..ae188dd7fe 100644
--- a/Modules/_io/iobase.c
+++ b/Modules/_io/iobase.c
@@ -196,26 +196,24 @@ iobase_close(PyObject *self, PyObject *args)
/* Finalization and garbage collection support */
-int
-_PyIOBase_finalize(PyObject *self)
+static void
+iobase_finalize(PyObject *self)
{
PyObject *res;
- PyObject *tp, *v, *tb;
- int closed = 1;
- int is_zombie;
+ PyObject *error_type, *error_value, *error_traceback;
+ int closed;
+ _Py_IDENTIFIER(_finalizing);
+
+ /* Save the current exception, if any. */
+ PyErr_Fetch(&error_type, &error_value, &error_traceback);
- /* If _PyIOBase_finalize() is called from a destructor, we need to
- resurrect the object as calling close() can invoke arbitrary code. */
- is_zombie = (Py_REFCNT(self) == 0);
- if (is_zombie) {
- ++Py_REFCNT(self);
- }
- PyErr_Fetch(&tp, &v, &tb);
/* If `closed` doesn't exist or can't be evaluated as bool, then the
object is probably in an unusable state, so ignore. */
res = PyObject_GetAttr(self, _PyIO_str_closed);
- if (res == NULL)
+ if (res == NULL) {
PyErr_Clear();
+ closed = -1;
+ }
else {
closed = PyObject_IsTrue(res);
Py_DECREF(res);
@@ -223,6 +221,10 @@ _PyIOBase_finalize(PyObject *self)
PyErr_Clear();
}
if (closed == 0) {
+ /* Signal close() that it was called as part of the object
+ finalization process. */
+ if (_PyObject_SetAttrId(self, &PyId__finalizing, Py_True))
+ PyErr_Clear();
res = PyObject_CallMethodObjArgs((PyObject *) self, _PyIO_str_close,
NULL);
/* Silencing I/O errors is bad, but printing spurious tracebacks is
@@ -233,31 +235,25 @@ _PyIOBase_finalize(PyObject *self)
else
Py_DECREF(res);
}
- PyErr_Restore(tp, v, tb);
- if (is_zombie) {
- if (--Py_REFCNT(self) != 0) {
- /* The object lives again. The following code is taken from
- slot_tp_del in typeobject.c. */
- Py_ssize_t refcnt = Py_REFCNT(self);
- _Py_NewReference(self);
- Py_REFCNT(self) = refcnt;
- /* If Py_REF_DEBUG, _Py_NewReference bumped _Py_RefTotal, so
- * we need to undo that. */
- _Py_DEC_REFTOTAL;
- /* If Py_TRACE_REFS, _Py_NewReference re-added self to the object
- * chain, so no more to do there.
- * If COUNT_ALLOCS, the original decref bumped tp_frees, and
- * _Py_NewReference bumped tp_allocs: both of those need to be
- * undone.
- */
-#ifdef COUNT_ALLOCS
- --Py_TYPE(self)->tp_frees;
- --Py_TYPE(self)->tp_allocs;
-#endif
- return -1;
- }
+
+ /* Restore the saved exception. */
+ PyErr_Restore(error_type, error_value, error_traceback);
+}
+
+int
+_PyIOBase_finalize(PyObject *self)
+{
+ int is_zombie;
+
+ /* If _PyIOBase_finalize() is called from a destructor, we need to
+ resurrect the object as calling close() can invoke arbitrary code. */
+ is_zombie = (Py_REFCNT(self) == 0);
+ if (is_zombie)
+ return PyObject_CallFinalizerFromDealloc(self);
+ else {
+ PyObject_CallFinalizer(self);
+ return 0;
}
- return 0;
}
static int
@@ -270,8 +266,6 @@ iobase_traverse(iobase *self, visitproc visit, void *arg)
static int
iobase_clear(iobase *self)
{
- if (_PyIOBase_finalize((PyObject *) self) < 0)
- return -1;
Py_CLEAR(self->dict);
return 0;
}
@@ -741,7 +735,7 @@ PyTypeObject PyIOBase_Type = {
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE
- | Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
iobase_doc, /* tp_doc */
(traverseproc)iobase_traverse, /* tp_traverse */
(inquiry)iobase_clear, /* tp_clear */
@@ -760,6 +754,16 @@ PyTypeObject PyIOBase_Type = {
0, /* tp_init */
0, /* tp_alloc */
PyType_GenericNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+ 0, /* tp_version_tag */
+ (destructor)iobase_finalize, /* tp_finalize */
};
@@ -905,7 +909,7 @@ PyTypeObject PyRawIOBase_Type = {
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
rawiobase_doc, /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
@@ -924,4 +928,14 @@ PyTypeObject PyRawIOBase_Type = {
0, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+ 0, /* tp_version_tag */
+ 0, /* tp_finalize */
};
diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c
index 111cc7edde..2db37d3fbe 100644
--- a/Modules/_io/textio.c
+++ b/Modules/_io/textio.c
@@ -173,7 +173,8 @@ PyTypeObject PyTextIOBase_Type = {
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE
+ | Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
textiobase_doc, /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
@@ -192,6 +193,16 @@ PyTypeObject PyTextIOBase_Type = {
0, /* tp_init */
0, /* tp_alloc */
0, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+ 0, /* tp_version_tag */
+ 0, /* tp_finalize */
};
@@ -691,7 +702,7 @@ typedef struct
char seekable;
char has_read1;
char telling;
- char deallocating;
+ char finalizing;
/* Specialized encoding func (see below) */
encodefunc_t encodefunc;
/* Whether or not it's the start of the stream */
@@ -758,7 +769,7 @@ utf16_encode(textio *self, PyObject *text)
{
if (!self->encoding_start_of_stream) {
/* Skip the BOM and use native byte ordering */
-#if defined(WORDS_BIGENDIAN)
+#if PY_BIG_ENDIAN
return utf16be_encode(self, text);
#else
return utf16le_encode(self, text);
@@ -787,7 +798,7 @@ utf32_encode(textio *self, PyObject *text)
{
if (!self->encoding_start_of_stream) {
/* Skip the BOM and use native byte ordering */
-#if defined(WORDS_BIGENDIAN)
+#if PY_BIG_ENDIAN
return utf32be_encode(self, text);
#else
return utf32le_encode(self, text);
@@ -906,35 +917,29 @@ textiowrapper_init(textio *self, PyObject *args, PyObject *kwds)
}
}
if (encoding == NULL && self->encoding == NULL) {
- if (state->locale_module == NULL) {
- state->locale_module = PyImport_ImportModule("locale");
- if (state->locale_module == NULL)
- goto catch_ImportError;
- else
- goto use_locale;
- }
- else {
- use_locale:
- self->encoding = _PyObject_CallMethodId(
- state->locale_module, &PyId_getpreferredencoding, "O", Py_False);
- if (self->encoding == NULL) {
- catch_ImportError:
- /*
- Importing locale can raise a ImportError because of
- _functools, and locale.getpreferredencoding can raise a
- ImportError if _locale is not available. These will happen
- during module building.
- */
- if (PyErr_ExceptionMatches(PyExc_ImportError)) {
- PyErr_Clear();
- self->encoding = PyUnicode_FromString("ascii");
- }
- else
- goto error;
+ PyObject *locale_module = _PyIO_get_locale_module(state);
+ if (locale_module == NULL)
+ goto catch_ImportError;
+ self->encoding = _PyObject_CallMethodId(
+ locale_module, &PyId_getpreferredencoding, "O", Py_False);
+ Py_DECREF(locale_module);
+ if (self->encoding == NULL) {
+ catch_ImportError:
+ /*
+ Importing locale can raise a ImportError because of
+ _functools, and locale.getpreferredencoding can raise a
+ ImportError if _locale is not available. These will happen
+ during module building.
+ */
+ if (PyErr_ExceptionMatches(PyExc_ImportError)) {
+ PyErr_Clear();
+ self->encoding = PyUnicode_FromString("ascii");
}
- else if (!PyUnicode_Check(self->encoding))
- Py_CLEAR(self->encoding);
+ else
+ goto error;
}
+ else if (!PyUnicode_Check(self->encoding))
+ Py_CLEAR(self->encoding);
}
if (self->encoding != NULL) {
encoding = _PyUnicode_AsString(self->encoding);
@@ -1112,8 +1117,6 @@ textiowrapper_init(textio *self, PyObject *args, PyObject *kwds)
static int
_textiowrapper_clear(textio *self)
{
- if (self->ok && _PyIOBase_finalize((PyObject *) self) < 0)
- return -1;
self->ok = 0;
Py_CLEAR(self->buffer);
Py_CLEAR(self->encoding);
@@ -1131,9 +1134,10 @@ _textiowrapper_clear(textio *self)
static void
textiowrapper_dealloc(textio *self)
{
- self->deallocating = 1;
- if (_textiowrapper_clear(self) < 0)
+ self->finalizing = 1;
+ if (_PyIOBase_finalize((PyObject *) self) < 0)
return;
+ _textiowrapper_clear(self);
_PyObject_GC_UNTRACK(self);
if (self->weakreflist != NULL)
PyObject_ClearWeakRefs((PyObject *)self);
@@ -1937,10 +1941,7 @@ typedef struct {
#define COOKIE_BUF_LEN (sizeof(Py_off_t) + 3 * sizeof(int) + sizeof(char))
-#if defined(WORDS_BIGENDIAN)
-
-# define IS_LITTLE_ENDIAN 0
-
+#if PY_BIG_ENDIAN
/* We want the least significant byte of start_pos to also be the least
significant byte of the cookie, which means that in big-endian mode we
must copy the fields in reverse order. */
@@ -1952,9 +1953,6 @@ typedef struct {
# define OFF_NEED_EOF 0
#else
-
-# define IS_LITTLE_ENDIAN 1
-
/* Little-endian mode: the least significant byte of start_pos will
naturally end up the least significant byte of the cookie. */
@@ -1975,7 +1973,7 @@ textiowrapper_parse_cookie(cookie_type *cookie, PyObject *cookieObj)
return -1;
if (_PyLong_AsByteArray(cookieLong, buffer, sizeof(buffer),
- IS_LITTLE_ENDIAN, 0) < 0) {
+ PY_LITTLE_ENDIAN, 0) < 0) {
Py_DECREF(cookieLong);
return -1;
}
@@ -2001,9 +1999,9 @@ textiowrapper_build_cookie(cookie_type *cookie)
memcpy(buffer + OFF_CHARS_TO_SKIP, &cookie->chars_to_skip, sizeof(cookie->chars_to_skip));
memcpy(buffer + OFF_NEED_EOF, &cookie->need_eof, sizeof(cookie->need_eof));
- return _PyLong_FromByteArray(buffer, sizeof(buffer), IS_LITTLE_ENDIAN, 0);
+ return _PyLong_FromByteArray(buffer, sizeof(buffer),
+ PY_LITTLE_ENDIAN, 0);
}
-#undef IS_LITTLE_ENDIAN
static int
_textiowrapper_decoder_setstate(textio *self, cookie_type *cookie)
@@ -2353,7 +2351,7 @@ textiowrapper_tell(textio *self, PyObject *args)
/* Note our initial start point. */
cookie.start_pos += skip_bytes;
- cookie.chars_to_skip = chars_to_skip;
+ cookie.chars_to_skip = Py_SAFE_DOWNCAST(chars_to_skip, Py_ssize_t, int);
if (chars_to_skip == 0)
goto finally;
@@ -2579,7 +2577,7 @@ textiowrapper_close(textio *self, PyObject *args)
}
else {
PyObject *exc = NULL, *val, *tb;
- if (self->deallocating) {
+ if (self->finalizing) {
res = _PyObject_CallMethodId(self->buffer, &PyId__dealloc_warn, "O", self);
if (res)
Py_DECREF(res);
@@ -2740,6 +2738,7 @@ static PyMemberDef textiowrapper_members[] = {
{"encoding", T_OBJECT, offsetof(textio, encoding), READONLY},
{"buffer", T_OBJECT, offsetof(textio, buffer), READONLY},
{"line_buffering", T_BOOL, offsetof(textio, line_buffering), READONLY},
+ {"_finalizing", T_BOOL, offsetof(textio, finalizing), 0},
{NULL}
};
@@ -2776,7 +2775,7 @@ PyTypeObject PyTextIOWrapper_Type = {
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE
- | Py_TPFLAGS_HAVE_GC, /*tp_flags*/
+ | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
textiowrapper_doc, /* tp_doc */
(traverseproc)textiowrapper_traverse, /* tp_traverse */
(inquiry)textiowrapper_clear, /* tp_clear */
@@ -2795,4 +2794,14 @@ PyTypeObject PyTextIOWrapper_Type = {
(initproc)textiowrapper_init, /* tp_init */
0, /* tp_alloc */
PyType_GenericNew, /* tp_new */
+ 0, /* tp_free */
+ 0, /* tp_is_gc */
+ 0, /* tp_bases */
+ 0, /* tp_mro */
+ 0, /* tp_cache */
+ 0, /* tp_subclasses */
+ 0, /* tp_weaklist */
+ 0, /* tp_del */
+ 0, /* tp_version_tag */
+ 0, /* tp_finalize */
};
diff --git a/Modules/_json.c b/Modules/_json.c
index db45c28fe4..301bc87d27 100644
--- a/Modules/_json.c
+++ b/Modules/_json.c
@@ -2,20 +2,6 @@
#include "structmember.h"
#include "accu.h"
-#if PY_VERSION_HEX < 0x02060000 && !defined(Py_TYPE)
-#define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
-#endif
-#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
-typedef int Py_ssize_t;
-#define PY_SSIZE_T_MAX INT_MAX
-#define PY_SSIZE_T_MIN INT_MIN
-#define PyInt_FromSsize_t PyInt_FromLong
-#define PyInt_AsSsize_t PyInt_AsLong
-#endif
-#ifndef Py_IS_FINITE
-#define Py_IS_FINITE(X) (!Py_IS_INFINITY(X) && !Py_IS_NAN(X))
-#endif
-
#ifdef __GNUC__
#define UNUSED __attribute__((__unused__))
#else
@@ -129,33 +115,14 @@ static void
raise_errmsg(char *msg, PyObject *s, Py_ssize_t end);
static PyObject *
encoder_encode_string(PyEncoderObject *s, PyObject *obj);
-static int
-_convertPyInt_AsSsize_t(PyObject *o, Py_ssize_t *size_ptr);
static PyObject *
-_convertPyInt_FromSsize_t(Py_ssize_t *size_ptr);
+encoder_encode_long(PyEncoderObject* s UNUSED, PyObject *obj);
static PyObject *
encoder_encode_float(PyEncoderObject *s, PyObject *obj);
#define S_CHAR(c) (c >= ' ' && c <= '~' && c != '\\' && c != '"')
#define IS_WHITESPACE(c) (((c) == ' ') || ((c) == '\t') || ((c) == '\n') || ((c) == '\r'))
-static int
-_convertPyInt_AsSsize_t(PyObject *o, Py_ssize_t *size_ptr)
-{
- /* PyObject to Py_ssize_t converter */
- *size_ptr = PyLong_AsSsize_t(o);
- if (*size_ptr == -1 && PyErr_Occurred())
- return 0;
- return 1;
-}
-
-static PyObject *
-_convertPyInt_FromSsize_t(Py_ssize_t *size_ptr)
-{
- /* Py_ssize_t to PyObject converter */
- return PyLong_FromSsize_t(*size_ptr);
-}
-
static Py_ssize_t
ascii_escape_unichar(Py_UCS4 c, unsigned char *output, Py_ssize_t chars)
{
@@ -174,14 +141,13 @@ ascii_escape_unichar(Py_UCS4 c, unsigned char *output, Py_ssize_t chars)
default:
if (c >= 0x10000) {
/* UTF-16 surrogate pair */
- Py_UCS4 v = c - 0x10000;
- c = 0xd800 | ((v >> 10) & 0x3ff);
+ Py_UCS4 v = Py_UNICODE_HIGH_SURROGATE(c);
output[chars++] = 'u';
- output[chars++] = Py_hexdigits[(c >> 12) & 0xf];
- output[chars++] = Py_hexdigits[(c >> 8) & 0xf];
- output[chars++] = Py_hexdigits[(c >> 4) & 0xf];
- output[chars++] = Py_hexdigits[(c ) & 0xf];
- c = 0xdc00 | (v & 0x3ff);
+ output[chars++] = Py_hexdigits[(v >> 12) & 0xf];
+ output[chars++] = Py_hexdigits[(v >> 8) & 0xf];
+ output[chars++] = Py_hexdigits[(v >> 4) & 0xf];
+ output[chars++] = Py_hexdigits[(v ) & 0xf];
+ c = Py_UNICODE_LOW_SURROGATE(c);
output[chars++] = '\\';
}
output[chars++] = 'u';
@@ -268,13 +234,23 @@ raise_errmsg(char *msg, PyObject *s, Py_ssize_t end)
if (errmsg_fn == NULL)
return;
}
- pymsg = PyObject_CallFunction(errmsg_fn, "(zOO&)", msg, s, _convertPyInt_FromSsize_t, &end);
+ pymsg = PyObject_CallFunction(errmsg_fn, "(zOn)", msg, s, end);
if (pymsg) {
PyErr_SetObject(PyExc_ValueError, pymsg);
Py_DECREF(pymsg);
}
}
+static void
+raise_stop_iteration(Py_ssize_t idx)
+{
+ PyObject *value = PyLong_FromSsize_t(idx);
+ if (value != NULL) {
+ PyErr_SetObject(PyExc_StopIteration, value);
+ Py_DECREF(value);
+ }
+}
+
static PyObject *
_build_rval_index_tuple(PyObject *rval, Py_ssize_t idx) {
/* return (rval, idx) tuple, stealing reference to rval */
@@ -344,7 +320,7 @@ scanstring_unicode(PyObject *pystr, Py_ssize_t end, int strict, Py_ssize_t *next
buf = PyUnicode_DATA(pystr);
kind = PyUnicode_KIND(pystr);
- if (end < 0 || len <= end) {
+ if (end < 0 || len < end) {
PyErr_SetString(PyExc_ValueError, "end is out of bounds");
goto bail;
}
@@ -433,7 +409,7 @@ scanstring_unicode(PyObject *pystr, Py_ssize_t end, int strict, Py_ssize_t *next
}
}
/* Surrogate pair */
- if ((c & 0xfc00) == 0xd800) {
+ if (Py_UNICODE_IS_HIGH_SURROGATE(c)) {
Py_UCS4 c2 = 0;
if (end + 6 >= len) {
raise_errmsg("Unpaired high surrogate", pystr, end - 5);
@@ -464,13 +440,13 @@ scanstring_unicode(PyObject *pystr, Py_ssize_t end, int strict, Py_ssize_t *next
goto bail;
}
}
- if ((c2 & 0xfc00) != 0xdc00) {
+ if (!Py_UNICODE_IS_LOW_SURROGATE(c2)) {
raise_errmsg("Unpaired high surrogate", pystr, end - 5);
goto bail;
}
- c = 0x10000 + (((c - 0xd800) << 10) | (c2 - 0xdc00));
+ c = Py_UNICODE_JOIN_SURROGATES(c, c2);
}
- else if ((c & 0xfc00) == 0xdc00) {
+ else if (Py_UNICODE_IS_LOW_SURROGATE(c)) {
raise_errmsg("Unpaired low surrogate", pystr, end - 5);
goto bail;
}
@@ -527,7 +503,7 @@ py_scanstring(PyObject* self UNUSED, PyObject *args)
Py_ssize_t end;
Py_ssize_t next_end = -1;
int strict = 1;
- if (!PyArg_ParseTuple(args, "OO&|i:scanstring", &pystr, _convertPyInt_AsSsize_t, &end, &strict)) {
+ if (!PyArg_ParseTuple(args, "On|i:scanstring", &pystr, &end, &strict)) {
return NULL;
}
if (PyUnicode_Check(pystr)) {
@@ -642,12 +618,12 @@ _parse_object_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ss
while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind,str, idx))) idx++;
/* only loop if the object is non-empty */
- if (idx <= end_idx && PyUnicode_READ(kind, str, idx) != '}') {
- while (idx <= end_idx) {
+ if (idx > end_idx || PyUnicode_READ(kind, str, idx) != '}') {
+ while (1) {
PyObject *memokey;
/* read key */
- if (PyUnicode_READ(kind, str, idx) != '"') {
+ if (idx > end_idx || PyUnicode_READ(kind, str, idx) != '"') {
raise_errmsg("Expecting property name enclosed in double quotes", pystr, idx);
goto bail;
}
@@ -704,11 +680,9 @@ _parse_object_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ss
while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind, str, idx))) idx++;
/* bail if the object is closed or we didn't get the , delimiter */
- if (idx > end_idx) break;
- if (PyUnicode_READ(kind, str, idx) == '}') {
+ if (idx <= end_idx && PyUnicode_READ(kind, str, idx) == '}')
break;
- }
- else if (PyUnicode_READ(kind, str, idx) != ',') {
+ if (idx > end_idx || PyUnicode_READ(kind, str, idx) != ',') {
raise_errmsg("Expecting ',' delimiter", pystr, idx);
goto bail;
}
@@ -719,12 +693,6 @@ _parse_object_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ss
}
}
- /* verify that idx < end_idx, str[idx] should be '}' */
- if (idx > end_idx || PyUnicode_READ(kind, str, idx) != '}') {
- raise_errmsg("Expecting object", pystr, end_idx);
- goto bail;
- }
-
*next_idx_ptr = idx + 1;
if (has_pairs_hook) {
@@ -776,8 +744,8 @@ _parse_array_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssi
while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind, str, idx))) idx++;
/* only loop if the array is non-empty */
- if (idx <= end_idx && PyUnicode_READ(kind, str, idx) != ']') {
- while (idx <= end_idx) {
+ if (idx > end_idx || PyUnicode_READ(kind, str, idx) != ']') {
+ while (1) {
/* read any JSON term */
val = scan_once_unicode(s, pystr, idx, &next_idx);
@@ -794,11 +762,9 @@ _parse_array_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssi
while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind, str, idx))) idx++;
/* bail if the array is closed or we didn't get the , delimiter */
- if (idx > end_idx) break;
- if (PyUnicode_READ(kind, str, idx) == ']') {
+ if (idx <= end_idx && PyUnicode_READ(kind, str, idx) == ']')
break;
- }
- else if (PyUnicode_READ(kind, str, idx) != ',') {
+ if (idx > end_idx || PyUnicode_READ(kind, str, idx) != ',') {
raise_errmsg("Expecting ',' delimiter", pystr, idx);
goto bail;
}
@@ -811,7 +777,7 @@ _parse_array_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssi
/* verify that idx < end_idx, PyUnicode_READ(kind, str, idx) should be ']' */
if (idx > end_idx || PyUnicode_READ(kind, str, idx) != ']') {
- raise_errmsg("Expecting object", pystr, end_idx);
+ raise_errmsg("Expecting value", pystr, end_idx);
goto bail;
}
*next_idx_ptr = idx + 1;
@@ -879,7 +845,7 @@ _match_number_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t start, Py_
if (PyUnicode_READ(kind, str, idx) == '-') {
idx++;
if (idx > end_idx) {
- PyErr_SetNone(PyExc_StopIteration);
+ raise_stop_iteration(start);
return NULL;
}
}
@@ -895,7 +861,7 @@ _match_number_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t start, Py_
}
/* no integer digits, error */
else {
- PyErr_SetNone(PyExc_StopIteration);
+ raise_stop_iteration(start);
return NULL;
}
@@ -988,7 +954,7 @@ scan_once_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssize_
length = PyUnicode_GET_LENGTH(pystr);
if (idx >= length) {
- PyErr_SetNone(PyExc_StopIteration);
+ raise_stop_iteration(idx);
return NULL;
}
@@ -1090,7 +1056,7 @@ scanner_call(PyObject *self, PyObject *args, PyObject *kwds)
PyScannerObject *s;
assert(PyScanner_Check(self));
s = (PyScannerObject *)self;
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "OO&:scan_once", kwlist, &pystr, _convertPyInt_AsSsize_t, &idx))
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "On:scan_once", kwlist, &pystr, &idx))
return NULL;
if (PyUnicode_Check(pystr)) {
@@ -1291,8 +1257,8 @@ encoder_call(PyObject *self, PyObject *args, PyObject *kwds)
assert(PyEncoder_Check(self));
s = (PyEncoderObject *)self;
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "OO&:_iterencode", kwlist,
- &obj, _convertPyInt_AsSsize_t, &indent_level))
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "On:_iterencode", kwlist,
+ &obj, &indent_level))
return NULL;
if (_PyAccu_Init(&acc))
return NULL;
@@ -1338,13 +1304,45 @@ _encoded_const(PyObject *obj)
}
static PyObject *
+encoder_encode_long(PyEncoderObject* s UNUSED, PyObject *obj)
+{
+ /* Return the JSON representation of a PyLong and PyLong subclasses.
+ Calls int() on PyLong subclasses in case the str() was changed.
+ Added specifically to deal with IntEnum. See Issue18264. */
+ PyObject *encoded, *longobj;
+ if (PyLong_CheckExact(obj)) {
+ encoded = PyObject_Str(obj);
+ }
+ else {
+ longobj = PyNumber_Long(obj);
+ if (longobj == NULL) {
+ PyErr_SetString(
+ PyExc_ValueError,
+ "Unable to coerce int subclass to int"
+ );
+ return NULL;
+ }
+ encoded = PyObject_Str(longobj);
+ Py_DECREF(longobj);
+ }
+ return encoded;
+}
+
+
+static PyObject *
encoder_encode_float(PyEncoderObject *s, PyObject *obj)
{
- /* Return the JSON representation of a PyFloat */
+ /* Return the JSON representation of a PyFloat.
+ Modified to call float() on float subclasses in case the subclass
+ changes the repr. See Issue18264. */
+ PyObject *encoded, *floatobj;
double i = PyFloat_AS_DOUBLE(obj);
if (!Py_IS_FINITE(i)) {
if (!s->allow_nan) {
- PyErr_SetString(PyExc_ValueError, "Out of range float values are not JSON compliant");
+ PyErr_SetString(
+ PyExc_ValueError,
+ "Out of range float values are not JSON compliant"
+ );
return NULL;
}
if (i > 0) {
@@ -1357,8 +1355,24 @@ encoder_encode_float(PyEncoderObject *s, PyObject *obj)
return PyUnicode_FromString("NaN");
}
}
- /* Use a better float format here? */
- return PyObject_Repr(obj);
+ /* coerce float subclasses to float (primarily for Enum) */
+ if (PyFloat_CheckExact(obj)) {
+ /* Use a better float format here? */
+ encoded = PyObject_Repr(obj);
+ }
+ else {
+ floatobj = PyNumber_Float(obj);
+ if (floatobj == NULL) {
+ PyErr_SetString(
+ PyExc_ValueError,
+ "Unable to coerce float subclass to float"
+ );
+ return NULL;
+ }
+ encoded = PyObject_Repr(floatobj);
+ Py_DECREF(floatobj);
+ }
+ return encoded;
}
static PyObject *
@@ -1402,7 +1416,7 @@ encoder_listencode_obj(PyEncoderObject *s, _PyAccu *acc,
return _steal_accumulate(acc, encoded);
}
else if (PyLong_Check(obj)) {
- PyObject *encoded = PyObject_Str(obj);
+ PyObject *encoded = encoder_encode_long(s, obj);
if (encoded == NULL)
return -1;
return _steal_accumulate(acc, encoded);
@@ -1587,9 +1601,10 @@ encoder_listencode_dict(PyEncoderObject *s, _PyAccu *acc,
goto bail;
}
else if (PyLong_Check(key)) {
- kstr = PyObject_Str(key);
- if (kstr == NULL)
+ kstr = encoder_encode_long(s, key);
+ if (kstr == NULL) {
goto bail;
+ }
}
else if (skipkeys) {
Py_DECREF(item);
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index cc688ba140..b196749aec 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -147,26 +147,32 @@ PyLocale_localeconv(PyObject* self)
/* hopefully, the localeconv result survives the C library calls
involved herein */
+#define RESULT(key, obj)\
+ do { \
+ if (obj == NULL) \
+ goto failed; \
+ if (PyDict_SetItemString(result, key, obj) < 0) \
+ goto failed; \
+ Py_DECREF(obj); \
+ } while (0)
+
#define RESULT_STRING(s)\
- x = PyUnicode_DecodeLocale(l->s, NULL); \
- if (!x) goto failed;\
- PyDict_SetItemString(result, #s, x);\
- Py_XDECREF(x)
+ do { \
+ x = PyUnicode_DecodeLocale(l->s, NULL); \
+ RESULT(#s, x); \
+ } while (0)
#define RESULT_INT(i)\
- x = PyLong_FromLong(l->i);\
- if (!x) goto failed;\
- PyDict_SetItemString(result, #i, x);\
- Py_XDECREF(x)
+ do { \
+ x = PyLong_FromLong(l->i); \
+ RESULT(#i, x); \
+ } while (0)
/* Numeric information */
RESULT_STRING(decimal_point);
RESULT_STRING(thousands_sep);
x = copy_grouping(l->grouping);
- if (!x)
- goto failed;
- PyDict_SetItemString(result, "grouping", x);
- Py_XDECREF(x);
+ RESULT("grouping", x);
/* Monetary information */
RESULT_STRING(int_curr_symbol);
@@ -174,10 +180,8 @@ PyLocale_localeconv(PyObject* self)
RESULT_STRING(mon_decimal_point);
RESULT_STRING(mon_thousands_sep);
x = copy_grouping(l->mon_grouping);
- if (!x)
- goto failed;
- PyDict_SetItemString(result, "mon_grouping", x);
- Py_XDECREF(x);
+ RESULT("mon_grouping", x);
+
RESULT_STRING(positive_sign);
RESULT_STRING(negative_sign);
RESULT_INT(int_frac_digits);
diff --git a/Modules/_lsprof.c b/Modules/_lsprof.c
index b0a226bfeb..894788916d 100644
--- a/Modules/_lsprof.c
+++ b/Modules/_lsprof.c
@@ -36,12 +36,8 @@ hpTimerUnit(void)
#error "This module requires gettimeofday() on non-Windows platforms!"
#endif
-#if (defined(PYOS_OS2) && defined(PYCC_GCC))
-#include <sys/time.h>
-#else
#include <sys/resource.h>
#include <sys/times.h>
-#endif
static PY_LONG_LONG
hpTimer(void)
@@ -227,7 +223,7 @@ static ProfilerEntry*
newProfilerEntry(ProfilerObject *pObj, void *key, PyObject *userObj)
{
ProfilerEntry *self;
- self = (ProfilerEntry*) malloc(sizeof(ProfilerEntry));
+ self = (ProfilerEntry*) PyMem_Malloc(sizeof(ProfilerEntry));
if (self == NULL) {
pObj->flags |= POF_NOMEMORY;
return NULL;
@@ -235,7 +231,7 @@ newProfilerEntry(ProfilerObject *pObj, void *key, PyObject *userObj)
userObj = normalizeUserObj(userObj);
if (userObj == NULL) {
PyErr_Clear();
- free(self);
+ PyMem_Free(self);
pObj->flags |= POF_NOMEMORY;
return NULL;
}
@@ -268,7 +264,7 @@ static ProfilerSubEntry *
newSubEntry(ProfilerObject *pObj, ProfilerEntry *caller, ProfilerEntry* entry)
{
ProfilerSubEntry *self;
- self = (ProfilerSubEntry*) malloc(sizeof(ProfilerSubEntry));
+ self = (ProfilerSubEntry*) PyMem_Malloc(sizeof(ProfilerSubEntry));
if (self == NULL) {
pObj->flags |= POF_NOMEMORY;
return NULL;
@@ -286,7 +282,7 @@ newSubEntry(ProfilerObject *pObj, ProfilerEntry *caller, ProfilerEntry* entry)
static int freeSubEntry(rotating_node_t *header, void *arg)
{
ProfilerSubEntry *subentry = (ProfilerSubEntry*) header;
- free(subentry);
+ PyMem_Free(subentry);
return 0;
}
@@ -295,7 +291,7 @@ static int freeEntry(rotating_node_t *header, void *arg)
ProfilerEntry *entry = (ProfilerEntry*) header;
RotatingTree_Enum(entry->calls, freeSubEntry, NULL);
Py_DECREF(entry->userObj);
- free(entry);
+ PyMem_Free(entry);
return 0;
}
@@ -305,13 +301,13 @@ static void clearEntries(ProfilerObject *pObj)
pObj->profilerEntries = EMPTY_ROTATING_TREE;
/* release the memory hold by the ProfilerContexts */
if (pObj->currentProfilerContext) {
- free(pObj->currentProfilerContext);
+ PyMem_Free(pObj->currentProfilerContext);
pObj->currentProfilerContext = NULL;
}
while (pObj->freelistProfilerContext) {
ProfilerContext *c = pObj->freelistProfilerContext;
pObj->freelistProfilerContext = c->previous;
- free(c);
+ PyMem_Free(c);
}
pObj->freelistProfilerContext = NULL;
}
@@ -397,7 +393,7 @@ ptrace_enter_call(PyObject *self, void *key, PyObject *userObj)
else {
/* free list exhausted, allocate a new one */
pContext = (ProfilerContext*)
- malloc(sizeof(ProfilerContext));
+ PyMem_Malloc(sizeof(ProfilerContext));
if (pContext == NULL) {
pObj->flags |= POF_NOMEMORY;
goto restorePyerr;
@@ -716,7 +712,7 @@ flush_unmatched(ProfilerObject *pObj)
else
pObj->currentProfilerContext = pContext->previous;
if (pContext)
- free(pContext);
+ PyMem_Free(pContext);
}
}
@@ -888,10 +884,12 @@ PyInit__lsprof(void)
PyDict_SetItemString(d, "Profiler", (PyObject *)&PyProfiler_Type);
if (!initialized) {
- PyStructSequence_InitType(&StatsEntryType,
- &profiler_entry_desc);
- PyStructSequence_InitType(&StatsSubEntryType,
- &profiler_subentry_desc);
+ if (PyStructSequence_InitType2(&StatsEntryType,
+ &profiler_entry_desc) < 0)
+ return NULL;
+ if (PyStructSequence_InitType2(&StatsSubEntryType,
+ &profiler_subentry_desc) < 0)
+ return NULL;
}
Py_INCREF((PyObject*) &StatsEntryType);
Py_INCREF((PyObject*) &StatsSubEntryType);
diff --git a/Modules/_lzmamodule.c b/Modules/_lzmamodule.c
index b482a7767d..5d610bf3e4 100644
--- a/Modules/_lzmamodule.c
+++ b/Modules/_lzmamodule.c
@@ -51,6 +51,7 @@ enum {
typedef struct {
PyObject_HEAD
+ lzma_allocator alloc;
lzma_stream lzs;
int flushed;
#ifdef WITH_THREAD
@@ -60,6 +61,7 @@ typedef struct {
typedef struct {
PyObject_HEAD
+ lzma_allocator alloc;
lzma_stream lzs;
int check;
char eof;
@@ -117,6 +119,22 @@ catch_lzma_error(lzma_ret lzret)
}
}
+static void*
+PyLzma_Malloc(void *opaque, size_t items, size_t size)
+{
+ if (items > (size_t)PY_SSIZE_T_MAX / size)
+ return NULL;
+ /* PyMem_Malloc() cannot be used:
+ the GIL is not held when lzma_code() is called */
+ return PyMem_RawMalloc(items * size);
+}
+
+static void
+PyLzma_Free(void *opaque, void *ptr)
+{
+ PyMem_RawFree(ptr);
+}
+
#if BUFSIZ < 8192
#define INITIAL_BUFFER_SIZE 8192
#else
@@ -656,6 +674,11 @@ Compressor_init(Compressor *self, PyObject *args, PyObject *kwargs)
if (!uint32_converter(preset_obj, &preset))
return -1;
+ self->alloc.opaque = NULL;
+ self->alloc.alloc = PyLzma_Malloc;
+ self->alloc.free = PyLzma_Free;
+ self->lzs.allocator = &self->alloc;
+
#ifdef WITH_THREAD
self->lock = PyThread_allocate_lock();
if (self->lock == NULL) {
@@ -922,6 +945,11 @@ Decompressor_init(Decompressor *self, PyObject *args, PyObject *kwargs)
return -1;
}
+ self->alloc.opaque = NULL;
+ self->alloc.alloc = PyLzma_Malloc;
+ self->alloc.free = PyLzma_Free;
+ self->lzs.allocator = &self->alloc;
+
#ifdef WITH_THREAD
self->lock = PyThread_allocate_lock();
if (self->lock == NULL) {
diff --git a/Modules/_multiprocessing/multiprocessing.c b/Modules/_multiprocessing/multiprocessing.c
index 9460c896ca..30cb5eb451 100644
--- a/Modules/_multiprocessing/multiprocessing.c
+++ b/Modules/_multiprocessing/multiprocessing.c
@@ -10,25 +10,23 @@
#include "multiprocessing.h"
-PyObject *ProcessError, *BufferTooShort;
-
/*
* Function which raises exceptions based on error codes
*/
PyObject *
-mp_SetError(PyObject *Type, int num)
+_PyMp_SetError(PyObject *Type, int num)
{
switch (num) {
#ifdef MS_WINDOWS
case MP_STANDARD_ERROR:
if (Type == NULL)
- Type = PyExc_WindowsError;
+ Type = PyExc_OSError;
PyErr_SetExcFromWindowsErr(Type, 0);
break;
case MP_SOCKET_ERROR:
if (Type == NULL)
- Type = PyExc_WindowsError;
+ Type = PyExc_OSError;
PyErr_SetExcFromWindowsErr(Type, WSAGetLastError());
break;
#else /* !MS_WINDOWS */
@@ -128,6 +126,7 @@ static PyMethodDef module_methods[] = {
{"recv", multiprocessing_recv, METH_VARARGS, ""},
{"send", multiprocessing_send, METH_VARARGS, ""},
#endif
+ {"sem_unlink", _PyMp_sem_unlink, METH_VARARGS, ""},
{NULL}
};
@@ -159,19 +158,12 @@ PyInit__multiprocessing(void)
if (!module)
return NULL;
- /* Get copy of BufferTooShort */
- temp = PyImport_ImportModule("multiprocessing");
- if (!temp)
- return NULL;
- BufferTooShort = PyObject_GetAttrString(temp, "BufferTooShort");
- Py_XDECREF(temp);
-
#if defined(MS_WINDOWS) || \
(defined(HAVE_SEM_OPEN) && !defined(POSIX_SEMAPHORES_NOT_ENABLED))
- /* Add SemLock type to module */
- if (PyType_Ready(&SemLockType) < 0)
+ /* Add _PyMp_SemLock type to module */
+ if (PyType_Ready(&_PyMp_SemLockType) < 0)
return NULL;
- Py_INCREF(&SemLockType);
+ Py_INCREF(&_PyMp_SemLockType);
{
PyObject *py_sem_value_max;
/* Some systems define SEM_VALUE_MAX as an unsigned value that
@@ -182,10 +174,10 @@ PyInit__multiprocessing(void)
py_sem_value_max = PyLong_FromLong(SEM_VALUE_MAX);
if (py_sem_value_max == NULL)
return NULL;
- PyDict_SetItemString(SemLockType.tp_dict, "SEM_VALUE_MAX",
+ PyDict_SetItemString(_PyMp_SemLockType.tp_dict, "SEM_VALUE_MAX",
py_sem_value_max);
}
- PyModule_AddObject(module, "SemLock", (PyObject*)&SemLockType);
+ PyModule_AddObject(module, "SemLock", (PyObject*)&_PyMp_SemLockType);
#endif
/* Add configuration macros */
diff --git a/Modules/_multiprocessing/multiprocessing.h b/Modules/_multiprocessing/multiprocessing.h
index e3de9baf1b..9aeea8d618 100644
--- a/Modules/_multiprocessing/multiprocessing.h
+++ b/Modules/_multiprocessing/multiprocessing.h
@@ -91,23 +91,13 @@
#define MP_SOCKET_ERROR (-1002)
#define MP_EXCEPTION_HAS_BEEN_SET (-1003)
-PyObject *mp_SetError(PyObject *Type, int num);
+PyObject *_PyMp_SetError(PyObject *Type, int num);
/*
* Externs - not all will really exist on all platforms
*/
-extern PyObject *BufferTooShort;
-extern PyTypeObject SemLockType;
-extern PyTypeObject PipeConnectionType;
-
-/*
- * Miscellaneous
- */
-
-#ifndef MIN
-# define MIN(x, y) ((x) < (y) ? x : y)
-# define MAX(x, y) ((x) > (y) ? x : y)
-#endif
+extern PyTypeObject _PyMp_SemLockType;
+extern PyObject *_PyMp_sem_unlink(PyObject *ignore, PyObject *args);
#endif /* MULTIPROCESSING_H */
diff --git a/Modules/_multiprocessing/semaphore.c b/Modules/_multiprocessing/semaphore.c
index 2c2b020e3b..de85a90d47 100644
--- a/Modules/_multiprocessing/semaphore.c
+++ b/Modules/_multiprocessing/semaphore.c
@@ -18,6 +18,7 @@ typedef struct {
int count;
int maxvalue;
int kind;
+ char *name;
} SemLockObject;
#define ISMINE(o) (o->count > 0 && PyThread_get_thread_ident() == o->last_tid)
@@ -43,7 +44,7 @@ _GetSemaphoreValue(HANDLE handle, long *value)
{
long previous;
- switch (WaitForSingleObject(handle, 0)) {
+ switch (WaitForSingleObjectEx(handle, 0, FALSE)) {
case WAIT_OBJECT_0:
if (!ReleaseSemaphore(handle, 1, &previous))
return MP_STANDARD_ERROR;
@@ -99,7 +100,7 @@ semlock_acquire(SemLockObject *self, PyObject *args, PyObject *kwds)
}
/* check whether we can acquire without releasing the GIL and blocking */
- if (WaitForSingleObject(self->handle, 0) == WAIT_OBJECT_0) {
+ if (WaitForSingleObjectEx(self->handle, 0, FALSE) == WAIT_OBJECT_0) {
self->last_tid = GetCurrentThreadId();
++self->count;
Py_RETURN_TRUE;
@@ -118,7 +119,7 @@ semlock_acquire(SemLockObject *self, PyObject *args, PyObject *kwds)
Py_BEGIN_ALLOW_THREADS
if (sigint_event != NULL)
ResetEvent(sigint_event);
- res = WaitForMultipleObjects(nhandles, handles, FALSE, full_msecs);
+ res = WaitForMultipleObjectsEx(nhandles, handles, FALSE, full_msecs, FALSE);
Py_END_ALLOW_THREADS
/* handle result */
@@ -200,7 +201,7 @@ semlock_release(SemLockObject *self, PyObject *args)
#ifndef HAVE_SEM_TIMEDWAIT
# define sem_timedwait(sem,deadline) sem_timedwait_save(sem,deadline,_save)
-int
+static int
sem_timedwait_save(sem_t *sem, struct timespec *deadline, PyThreadState *_save)
{
int res;
@@ -397,7 +398,8 @@ semlock_release(SemLockObject *self, PyObject *args)
*/
static PyObject *
-newsemlockobject(PyTypeObject *type, SEM_HANDLE handle, int kind, int maxvalue)
+newsemlockobject(PyTypeObject *type, SEM_HANDLE handle, int kind, int maxvalue,
+ char *name)
{
SemLockObject *self;
@@ -409,21 +411,22 @@ newsemlockobject(PyTypeObject *type, SEM_HANDLE handle, int kind, int maxvalue)
self->count = 0;
self->last_tid = 0;
self->maxvalue = maxvalue;
+ self->name = name;
return (PyObject*)self;
}
static PyObject *
semlock_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
- char buffer[256];
SEM_HANDLE handle = SEM_FAILED;
- int kind, maxvalue, value;
+ int kind, maxvalue, value, unlink;
PyObject *result;
- static char *kwlist[] = {"kind", "value", "maxvalue", NULL};
- static int counter = 0;
+ char *name, *name_copy = NULL;
+ static char *kwlist[] = {"kind", "value", "maxvalue", "name", "unlink",
+ NULL};
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "iii", kwlist,
- &kind, &value, &maxvalue))
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "iiisi", kwlist,
+ &kind, &value, &maxvalue, &name, &unlink))
return NULL;
if (kind != RECURSIVE_MUTEX && kind != SEMAPHORE) {
@@ -431,18 +434,23 @@ semlock_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return NULL;
}
- PyOS_snprintf(buffer, sizeof(buffer), "/mp%ld-%d", (long)getpid(), counter++);
+ if (!unlink) {
+ name_copy = PyMem_Malloc(strlen(name) + 1);
+ if (name_copy == NULL)
+ goto failure;
+ strcpy(name_copy, name);
+ }
SEM_CLEAR_ERROR();
- handle = SEM_CREATE(buffer, value, maxvalue);
+ handle = SEM_CREATE(name, value, maxvalue);
/* On Windows we should fail if GetLastError()==ERROR_ALREADY_EXISTS */
if (handle == SEM_FAILED || SEM_GET_LAST_ERROR() != 0)
goto failure;
- if (SEM_UNLINK(buffer) < 0)
+ if (unlink && SEM_UNLINK(name) < 0)
goto failure;
- result = newsemlockobject(type, handle, kind, maxvalue);
+ result = newsemlockobject(type, handle, kind, maxvalue, name_copy);
if (!result)
goto failure;
@@ -451,7 +459,8 @@ semlock_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
failure:
if (handle != SEM_FAILED)
SEM_CLOSE(handle);
- mp_SetError(NULL, MP_STANDARD_ERROR);
+ PyMem_Free(name_copy);
+ _PyMp_SetError(NULL, MP_STANDARD_ERROR);
return NULL;
}
@@ -460,12 +469,30 @@ semlock_rebuild(PyTypeObject *type, PyObject *args)
{
SEM_HANDLE handle;
int kind, maxvalue;
+ char *name, *name_copy = NULL;
- if (!PyArg_ParseTuple(args, F_SEM_HANDLE "ii",
- &handle, &kind, &maxvalue))
+ if (!PyArg_ParseTuple(args, F_SEM_HANDLE "iiz",
+ &handle, &kind, &maxvalue, &name))
return NULL;
- return newsemlockobject(type, handle, kind, maxvalue);
+ if (name != NULL) {
+ name_copy = PyMem_Malloc(strlen(name) + 1);
+ if (name_copy == NULL)
+ return PyErr_NoMemory();
+ strcpy(name_copy, name);
+ }
+
+#ifndef MS_WINDOWS
+ if (name != NULL) {
+ handle = sem_open(name, 0);
+ if (handle == SEM_FAILED) {
+ PyMem_Free(name_copy);
+ return PyErr_SetFromErrno(PyExc_OSError);
+ }
+ }
+#endif
+
+ return newsemlockobject(type, handle, kind, maxvalue, name_copy);
}
static void
@@ -473,6 +500,7 @@ semlock_dealloc(SemLockObject* self)
{
if (self->handle != SEM_FAILED)
SEM_CLOSE(self->handle);
+ PyMem_Free(self->name);
PyObject_Del(self);
}
@@ -498,7 +526,7 @@ semlock_getvalue(SemLockObject *self)
#else
int sval;
if (SEM_GETVALUE(self->handle, &sval) < 0)
- return mp_SetError(NULL, MP_STANDARD_ERROR);
+ return _PyMp_SetError(NULL, MP_STANDARD_ERROR);
/* some posix implementations use negative numbers to indicate
the number of waiting threads */
if (sval < 0)
@@ -514,16 +542,16 @@ semlock_iszero(SemLockObject *self)
if (sem_trywait(self->handle) < 0) {
if (errno == EAGAIN)
Py_RETURN_TRUE;
- return mp_SetError(NULL, MP_STANDARD_ERROR);
+ return _PyMp_SetError(NULL, MP_STANDARD_ERROR);
} else {
if (sem_post(self->handle) < 0)
- return mp_SetError(NULL, MP_STANDARD_ERROR);
+ return _PyMp_SetError(NULL, MP_STANDARD_ERROR);
Py_RETURN_FALSE;
}
#else
int sval;
if (SEM_GETVALUE(self->handle, &sval) < 0)
- return mp_SetError(NULL, MP_STANDARD_ERROR);
+ return _PyMp_SetError(NULL, MP_STANDARD_ERROR);
return PyBool_FromLong((long)sval == 0);
#endif
}
@@ -574,6 +602,8 @@ static PyMemberDef semlock_members[] = {
""},
{"maxvalue", T_INT, offsetof(SemLockObject, maxvalue), READONLY,
""},
+ {"name", T_STRING, offsetof(SemLockObject, name), READONLY,
+ ""},
{NULL}
};
@@ -581,7 +611,7 @@ static PyMemberDef semlock_members[] = {
* Semaphore type
*/
-PyTypeObject SemLockType = {
+PyTypeObject _PyMp_SemLockType = {
PyVarObject_HEAD_INIT(NULL, 0)
/* tp_name */ "_multiprocessing.SemLock",
/* tp_basicsize */ sizeof(SemLockObject),
@@ -621,3 +651,23 @@ PyTypeObject SemLockType = {
/* tp_alloc */ 0,
/* tp_new */ semlock_new,
};
+
+/*
+ * Function to unlink semaphore names
+ */
+
+PyObject *
+_PyMp_sem_unlink(PyObject *ignore, PyObject *args)
+{
+ char *name;
+
+ if (!PyArg_ParseTuple(args, "s", &name))
+ return NULL;
+
+ if (SEM_UNLINK(name) < 0) {
+ _PyMp_SetError(NULL, MP_STANDARD_ERROR);
+ return NULL;
+ }
+
+ Py_RETURN_NONE;
+}
diff --git a/Modules/operator.c b/Modules/_operator.c
index 5156b6b32d..e8bef04f84 100644
--- a/Modules/operator.c
+++ b/Modules/_operator.c
@@ -208,6 +208,31 @@ _tscmp(const unsigned char *a, const unsigned char *b,
return (result == 0);
}
+PyDoc_STRVAR(length_hint__doc__,
+"length_hint(obj, default=0) -> int\n"
+"Return an estimate of the number of items in obj.\n"
+"This is useful for presizing containers when building from an\n"
+"iterable.\n"
+"\n"
+"If the object supports len(), the result will be\n"
+"exact. Otherwise, it may over- or under-estimate by an\n"
+"arbitrary amount. The result will be an integer >= 0.");
+
+static PyObject *length_hint(PyObject *self, PyObject *args)
+{
+ PyObject *obj;
+ Py_ssize_t defaultvalue = 0, res;
+ if (!PyArg_ParseTuple(args, "O|n:length_hint", &obj, &defaultvalue)) {
+ return NULL;
+ }
+ res = PyObject_LengthHint(obj, defaultvalue);
+ if (res == -1 && PyErr_Occurred()) {
+ return NULL;
+ }
+ return PyLong_FromSsize_t(res);
+}
+
+
PyDoc_STRVAR(compare_digest__doc__,
"compare_digest(a, b) -> bool\n"
"\n"
@@ -297,17 +322,15 @@ compare_digest(PyObject *self, PyObject *args)
/* operator methods **********************************************************/
#define spam1(OP,DOC) {#OP, OP, METH_VARARGS, PyDoc_STR(DOC)},
-#define spam2(OP,ALTOP,DOC) {#OP, op_##OP, METH_VARARGS, PyDoc_STR(DOC)}, \
- {#ALTOP, op_##OP, METH_VARARGS, PyDoc_STR(DOC)},
+#define spam2(OP,DOC) {#OP, op_##OP, METH_VARARGS, PyDoc_STR(DOC)},
#define spam1o(OP,DOC) {#OP, OP, METH_O, PyDoc_STR(DOC)},
-#define spam2o(OP,ALTOP,DOC) {#OP, op_##OP, METH_O, PyDoc_STR(DOC)}, \
- {#ALTOP, op_##OP, METH_O, PyDoc_STR(DOC)},
+#define spam2o(OP,DOC) {#OP, op_##OP, METH_O, PyDoc_STR(DOC)},
static struct PyMethodDef operator_methods[] = {
spam1o(truth,
"truth(a) -- Return True if a is true, False otherwise.")
-spam2(contains,__contains__,
+spam2(contains,
"contains(a, b) -- Same as b in a (note reversed operands).")
spam1(indexOf,
"indexOf(a, b) -- Return the first index of b in a.")
@@ -316,56 +339,58 @@ spam1(countOf,
spam1(is_, "is_(a, b) -- Same as a is b.")
spam1(is_not, "is_not(a, b) -- Same as a is not b.")
-spam2o(index, __index__, "index(a) -- Same as a.__index__()")
-spam2(add,__add__, "add(a, b) -- Same as a + b.")
-spam2(sub,__sub__, "sub(a, b) -- Same as a - b.")
-spam2(mul,__mul__, "mul(a, b) -- Same as a * b.")
-spam2(floordiv,__floordiv__, "floordiv(a, b) -- Same as a // b.")
-spam2(truediv,__truediv__, "truediv(a, b) -- Same as a / b.")
-spam2(mod,__mod__, "mod(a, b) -- Same as a % b.")
-spam2o(neg,__neg__, "neg(a) -- Same as -a.")
-spam2o(pos,__pos__, "pos(a) -- Same as +a.")
-spam2o(abs,__abs__, "abs(a) -- Same as abs(a).")
-spam2o(inv,__inv__, "inv(a) -- Same as ~a.")
-spam2o(invert,__invert__, "invert(a) -- Same as ~a.")
-spam2(lshift,__lshift__, "lshift(a, b) -- Same as a << b.")
-spam2(rshift,__rshift__, "rshift(a, b) -- Same as a >> b.")
-spam2o(not_,__not__, "not_(a) -- Same as not a.")
-spam2(and_,__and__, "and_(a, b) -- Same as a & b.")
-spam2(xor,__xor__, "xor(a, b) -- Same as a ^ b.")
-spam2(or_,__or__, "or_(a, b) -- Same as a | b.")
-spam2(iadd,__iadd__, "a = iadd(a, b) -- Same as a += b.")
-spam2(isub,__isub__, "a = isub(a, b) -- Same as a -= b.")
-spam2(imul,__imul__, "a = imul(a, b) -- Same as a *= b.")
-spam2(ifloordiv,__ifloordiv__, "a = ifloordiv(a, b) -- Same as a //= b.")
-spam2(itruediv,__itruediv__, "a = itruediv(a, b) -- Same as a /= b")
-spam2(imod,__imod__, "a = imod(a, b) -- Same as a %= b.")
-spam2(ilshift,__ilshift__, "a = ilshift(a, b) -- Same as a <<= b.")
-spam2(irshift,__irshift__, "a = irshift(a, b) -- Same as a >>= b.")
-spam2(iand,__iand__, "a = iand(a, b) -- Same as a &= b.")
-spam2(ixor,__ixor__, "a = ixor(a, b) -- Same as a ^= b.")
-spam2(ior,__ior__, "a = ior(a, b) -- Same as a |= b.")
-spam2(concat,__concat__,
+spam2o(index, "index(a) -- Same as a.__index__()")
+spam2(add, "add(a, b) -- Same as a + b.")
+spam2(sub, "sub(a, b) -- Same as a - b.")
+spam2(mul, "mul(a, b) -- Same as a * b.")
+spam2(floordiv, "floordiv(a, b) -- Same as a // b.")
+spam2(truediv, "truediv(a, b) -- Same as a / b.")
+spam2(mod, "mod(a, b) -- Same as a % b.")
+spam2o(neg, "neg(a) -- Same as -a.")
+spam2o(pos, "pos(a) -- Same as +a.")
+spam2o(abs, "abs(a) -- Same as abs(a).")
+spam2o(inv, "inv(a) -- Same as ~a.")
+spam2o(invert, "invert(a) -- Same as ~a.")
+spam2(lshift, "lshift(a, b) -- Same as a << b.")
+spam2(rshift, "rshift(a, b) -- Same as a >> b.")
+spam2o(not_, "not_(a) -- Same as not a.")
+spam2(and_, "and_(a, b) -- Same as a & b.")
+spam2(xor, "xor(a, b) -- Same as a ^ b.")
+spam2(or_, "or_(a, b) -- Same as a | b.")
+spam2(iadd, "a = iadd(a, b) -- Same as a += b.")
+spam2(isub, "a = isub(a, b) -- Same as a -= b.")
+spam2(imul, "a = imul(a, b) -- Same as a *= b.")
+spam2(ifloordiv, "a = ifloordiv(a, b) -- Same as a //= b.")
+spam2(itruediv, "a = itruediv(a, b) -- Same as a /= b")
+spam2(imod, "a = imod(a, b) -- Same as a %= b.")
+spam2(ilshift, "a = ilshift(a, b) -- Same as a <<= b.")
+spam2(irshift, "a = irshift(a, b) -- Same as a >>= b.")
+spam2(iand, "a = iand(a, b) -- Same as a &= b.")
+spam2(ixor, "a = ixor(a, b) -- Same as a ^= b.")
+spam2(ior, "a = ior(a, b) -- Same as a |= b.")
+spam2(concat,
"concat(a, b) -- Same as a + b, for a and b sequences.")
-spam2(iconcat,__iconcat__,
+spam2(iconcat,
"a = iconcat(a, b) -- Same as a += b, for a and b sequences.")
-spam2(getitem,__getitem__,
+spam2(getitem,
"getitem(a, b) -- Same as a[b].")
-spam2(setitem,__setitem__,
+spam2(setitem,
"setitem(a, b, c) -- Same as a[b] = c.")
-spam2(delitem,__delitem__,
+spam2(delitem,
"delitem(a, b) -- Same as del a[b].")
-spam2(pow,__pow__, "pow(a, b) -- Same as a ** b.")
-spam2(ipow,__ipow__, "a = ipow(a, b) -- Same as a **= b.")
-spam2(lt,__lt__, "lt(a, b) -- Same as a<b.")
-spam2(le,__le__, "le(a, b) -- Same as a<=b.")
-spam2(eq,__eq__, "eq(a, b) -- Same as a==b.")
-spam2(ne,__ne__, "ne(a, b) -- Same as a!=b.")
-spam2(gt,__gt__, "gt(a, b) -- Same as a>b.")
-spam2(ge,__ge__, "ge(a, b) -- Same as a>=b.")
+spam2(pow, "pow(a, b) -- Same as a ** b.")
+spam2(ipow, "a = ipow(a, b) -- Same as a **= b.")
+spam2(lt, "lt(a, b) -- Same as a<b.")
+spam2(le, "le(a, b) -- Same as a<=b.")
+spam2(eq, "eq(a, b) -- Same as a==b.")
+spam2(ne, "ne(a, b) -- Same as a!=b.")
+spam2(gt, "gt(a, b) -- Same as a>b.")
+spam2(ge, "ge(a, b) -- Same as a>=b.")
{"_compare_digest", (PyCFunction)compare_digest, METH_VARARGS,
compare_digest__doc__},
+ {"length_hint", (PyCFunction)length_hint, METH_VARARGS,
+ length_hint__doc__},
{NULL, NULL} /* sentinel */
};
@@ -892,12 +917,12 @@ static PyTypeObject methodcaller_type = {
};
-/* Initialization function for the module (*must* be called PyInit_operator) */
+/* Initialization function for the module (*must* be called PyInit__operator) */
static struct PyModuleDef operatormodule = {
PyModuleDef_HEAD_INIT,
- "operator",
+ "_operator",
operator_doc,
-1,
operator_methods,
@@ -908,7 +933,7 @@ static struct PyModuleDef operatormodule = {
};
PyMODINIT_FUNC
-PyInit_operator(void)
+PyInit__operator(void)
{
PyObject *m;
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index ce573cf9f9..af73a84763 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -436,6 +436,7 @@ PyMemoTable_Copy(PyMemoTable *self)
new->mt_table = PyMem_MALLOC(self->mt_allocated * sizeof(PyMemoEntry));
if (new->mt_table == NULL) {
PyMem_FREE(new);
+ PyErr_NoMemory();
return NULL;
}
for (i = 0; i < self->mt_allocated; i++) {
@@ -529,7 +530,7 @@ _PyMemoTable_ResizeTable(PyMemoTable *self, Py_ssize_t min_size)
oldtable = self->mt_table;
self->mt_table = PyMem_MALLOC(new_size * sizeof(PyMemoEntry));
if (self->mt_table == NULL) {
- PyMem_FREE(oldtable);
+ self->mt_table = oldtable;
PyErr_NoMemory();
return -1;
}
@@ -774,17 +775,14 @@ _Pickler_New(void)
self->fast_nesting = 0;
self->fix_imports = 0;
self->fast_memo = NULL;
-
- self->memo = PyMemoTable_New();
- if (self->memo == NULL) {
- Py_DECREF(self);
- return NULL;
- }
self->max_output_len = WRITE_BUF_SIZE;
self->output_len = 0;
+
+ self->memo = PyMemoTable_New();
self->output_buffer = PyBytes_FromStringAndSize(NULL,
self->max_output_len);
- if (self->output_buffer == NULL) {
+
+ if (self->memo == NULL || self->output_buffer == NULL) {
Py_DECREF(self);
return NULL;
}
@@ -1006,8 +1004,10 @@ _Unpickler_CopyLine(UnpicklerObject *self, char *line, Py_ssize_t len,
char **result)
{
char *input_line = PyMem_Realloc(self->input_line, len + 1);
- if (input_line == NULL)
+ if (input_line == NULL) {
+ PyErr_NoMemory();
return -1;
+ }
memcpy(input_line, line, len);
input_line[len] = '\0';
@@ -1104,8 +1104,10 @@ static PyObject **
_Unpickler_NewMemo(Py_ssize_t new_size)
{
PyObject **memo = PyMem_MALLOC(new_size * sizeof(PyObject *));
- if (memo == NULL)
+ if (memo == NULL) {
+ PyErr_NoMemory();
return NULL;
+ }
memset(memo, 0, new_size * sizeof(PyObject *));
return memo;
}
@@ -1136,20 +1138,6 @@ _Unpickler_New(void)
if (self == NULL)
return NULL;
- self->stack = (Pdata *)Pdata_New();
- if (self->stack == NULL) {
- Py_DECREF(self);
- return NULL;
- }
- memset(&self->buffer, 0, sizeof(Py_buffer));
-
- self->memo_size = 32;
- self->memo = _Unpickler_NewMemo(self->memo_size);
- if (self->memo == NULL) {
- Py_DECREF(self);
- return NULL;
- }
-
self->arg = NULL;
self->pers_func = NULL;
self->input_buffer = NULL;
@@ -1167,6 +1155,15 @@ _Unpickler_New(void)
self->marks_size = 0;
self->proto = 0;
self->fix_imports = 0;
+ memset(&self->buffer, 0, sizeof(Py_buffer));
+ self->memo_size = 32;
+ self->memo = _Unpickler_NewMemo(self->memo_size);
+ self->stack = (Pdata *)Pdata_New();
+
+ if (self->memo == NULL || self->stack == NULL) {
+ Py_DECREF(self);
+ return NULL;
+ }
return self;
}
@@ -1213,8 +1210,8 @@ _Unpickler_SetInputEncoding(UnpicklerObject *self,
if (errors == NULL)
errors = "strict";
- self->encoding = strdup(encoding);
- self->errors = strdup(errors);
+ self->encoding = _PyMem_Strdup(encoding);
+ self->errors = _PyMem_Strdup(errors);
if (self->encoding == NULL || self->errors == NULL) {
PyErr_NoMemory();
return -1;
@@ -1364,8 +1361,10 @@ whichmodule(PyObject *global, PyObject *global_name)
search:
modules_dict = PySys_GetObject("modules");
- if (modules_dict == NULL)
+ if (modules_dict == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "unable to get sys.modules");
return NULL;
+ }
i = 0;
module_name = NULL;
@@ -1748,8 +1747,10 @@ save_bytes(PicklerObject *self, PyObject *obj)
return -1;
if (latin1 == NULL) {
latin1 = PyUnicode_InternFromString("latin1");
- if (latin1 == NULL)
+ if (latin1 == NULL) {
+ Py_DECREF(unicode_str);
return -1;
+ }
}
reduce_value = Py_BuildValue("(O(OO))",
codecs_encode, unicode_str, latin1);
@@ -1873,63 +1874,97 @@ done:
}
static int
-save_unicode(PicklerObject *self, PyObject *obj)
+write_utf8(PicklerObject *self, char *data, Py_ssize_t size)
{
- Py_ssize_t size;
- PyObject *encoded = NULL;
+ char pdata[5];
- if (self->bin) {
- char pdata[5];
+#if SIZEOF_SIZE_T > 4
+ if (size > 0xffffffffUL) {
+ /* string too large */
+ PyErr_SetString(PyExc_OverflowError,
+ "cannot serialize a string larger than 4GiB");
+ return -1;
+ }
+#endif
- encoded = PyUnicode_AsEncodedString(obj, "utf-8", "surrogatepass");
- if (encoded == NULL)
- goto error;
+ pdata[0] = BINUNICODE;
+ pdata[1] = (unsigned char)(size & 0xff);
+ pdata[2] = (unsigned char)((size >> 8) & 0xff);
+ pdata[3] = (unsigned char)((size >> 16) & 0xff);
+ pdata[4] = (unsigned char)((size >> 24) & 0xff);
- size = PyBytes_GET_SIZE(encoded);
- if (size > 0xffffffffL) {
- PyErr_SetString(PyExc_OverflowError,
- "cannot serialize a string larger than 4 GiB");
- goto error; /* string too large */
- }
+ if (_Pickler_Write(self, pdata, sizeof(pdata)) < 0)
+ return -1;
- pdata[0] = BINUNICODE;
- pdata[1] = (unsigned char)(size & 0xff);
- pdata[2] = (unsigned char)((size >> 8) & 0xff);
- pdata[3] = (unsigned char)((size >> 16) & 0xff);
- pdata[4] = (unsigned char)((size >> 24) & 0xff);
+ if (_Pickler_Write(self, data, size) < 0)
+ return -1;
- if (_Pickler_Write(self, pdata, 5) < 0)
- goto error;
+ return 0;
+}
- if (_Pickler_Write(self, PyBytes_AS_STRING(encoded), size) < 0)
- goto error;
+static int
+write_unicode_binary(PicklerObject *self, PyObject *obj)
+{
+ PyObject *encoded = NULL;
+ Py_ssize_t size;
+ char *data;
+ int r;
+
+ if (PyUnicode_READY(obj))
+ return -1;
+
+ data = PyUnicode_AsUTF8AndSize(obj, &size);
+ if (data != NULL)
+ return write_utf8(self, data, size);
+
+ /* Issue #8383: for strings with lone surrogates, fallback on the
+ "surrogatepass" error handler. */
+ PyErr_Clear();
+ encoded = PyUnicode_AsEncodedString(obj, "utf-8", "surrogatepass");
+ if (encoded == NULL)
+ return -1;
+
+ r = write_utf8(self, PyBytes_AS_STRING(encoded),
+ PyBytes_GET_SIZE(encoded));
+ Py_DECREF(encoded);
+ return r;
+}
+
+static int
+save_unicode(PicklerObject *self, PyObject *obj)
+{
+ if (self->bin) {
+ if (write_unicode_binary(self, obj) < 0)
+ return -1;
}
else {
+ PyObject *encoded;
+ Py_ssize_t size;
const char unicode_op = UNICODE;
encoded = raw_unicode_escape(obj);
if (encoded == NULL)
- goto error;
+ return -1;
- if (_Pickler_Write(self, &unicode_op, 1) < 0)
- goto error;
+ if (_Pickler_Write(self, &unicode_op, 1) < 0) {
+ Py_DECREF(encoded);
+ return -1;
+ }
size = PyBytes_GET_SIZE(encoded);
- if (_Pickler_Write(self, PyBytes_AS_STRING(encoded), size) < 0)
- goto error;
+ if (_Pickler_Write(self, PyBytes_AS_STRING(encoded), size) < 0) {
+ Py_DECREF(encoded);
+ return -1;
+ }
+ Py_DECREF(encoded);
if (_Pickler_Write(self, "\n", 1) < 0)
- goto error;
+ return -1;
}
if (memo_put(self, obj) < 0)
- goto error;
+ return -1;
- Py_DECREF(encoded);
return 0;
-
- error:
- Py_XDECREF(encoded);
- return -1;
}
/* A helper for save_tuple. Push the len elements in tuple t on the stack. */
@@ -4171,36 +4206,23 @@ load_string(UnpicklerObject *self)
if ((len = _Unpickler_Readline(self, &s)) < 0)
return -1;
- if (len < 2)
- return bad_readline();
- if ((s = strdup(s)) == NULL) {
- PyErr_NoMemory();
- return -1;
- }
-
+ /* Strip the newline */
+ len--;
/* Strip outermost quotes */
- while (len > 0 && s[len - 1] <= ' ')
- len--;
- if (len > 1 && s[0] == '"' && s[len - 1] == '"') {
- s[len - 1] = '\0';
- p = s + 1;
- len -= 2;
- }
- else if (len > 1 && s[0] == '\'' && s[len - 1] == '\'') {
- s[len - 1] = '\0';
+ if (len >= 2 && s[0] == s[len - 1] && (s[0] == '\'' || s[0] == '"')) {
p = s + 1;
len -= 2;
}
else {
- free(s);
- PyErr_SetString(PyExc_ValueError, "insecure string pickle");
+ PyErr_SetString(UnpicklingError,
+ "the STRING opcode argument must be quoted");
return -1;
}
+ assert(len >= 0);
/* Use the PyBytes API to decode the string, since that is what is used
to encode, and then coerce the result to Unicode. */
bytes = PyBytes_DecodeEscape(p, len, NULL, 0, NULL);
- free(s);
if (bytes == NULL)
return -1;
str = PyUnicode_FromEncodedObject(bytes, self->encoding, self->errors);
@@ -4226,8 +4248,7 @@ load_binbytes(UnpicklerObject *self)
if (x < 0) {
PyErr_Format(PyExc_OverflowError,
"BINBYTES exceeds system's maximum size of %zd bytes",
- PY_SSIZE_T_MAX
- );
+ PY_SSIZE_T_MAX);
return -1;
}
@@ -4351,8 +4372,7 @@ load_binunicode(UnpicklerObject *self)
if (size < 0) {
PyErr_Format(PyExc_OverflowError,
"BINUNICODE exceeds system's maximum size of %zd bytes",
- PY_SSIZE_T_MAX
- );
+ PY_SSIZE_T_MAX);
return -1;
}
@@ -5526,8 +5546,10 @@ Unpickler_find_class(UnpicklerObject *self, PyObject *args)
}
modules_dict = PySys_GetObject("modules");
- if (modules_dict == NULL)
+ if (modules_dict == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "unable to get sys.modules");
return NULL;
+ }
module = PyDict_GetItemWithError(modules_dict, module_name);
if (module == NULL) {
@@ -5571,8 +5593,8 @@ Unpickler_dealloc(UnpicklerObject *self)
_Unpickler_MemoCleanup(self);
PyMem_Free(self->marks);
PyMem_Free(self->input_line);
- free(self->encoding);
- free(self->errors);
+ PyMem_Free(self->encoding);
+ PyMem_Free(self->errors);
Py_TYPE(self)->tp_free((PyObject *)self);
}
@@ -5608,9 +5630,9 @@ Unpickler_clear(UnpicklerObject *self)
self->marks = NULL;
PyMem_Free(self->input_line);
self->input_line = NULL;
- free(self->encoding);
+ PyMem_Free(self->encoding);
self->encoding = NULL;
- free(self->errors);
+ PyMem_Free(self->errors);
self->errors = NULL;
return 0;
diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c
index 07d709688c..c4a6b7bcb6 100644
--- a/Modules/_posixsubprocess.c
+++ b/Modules/_posixsubprocess.c
@@ -491,7 +491,7 @@ error:
/* We can't call strerror(saved_errno). It is not async signal safe.
* The parent process will look the error message up. */
} else {
- unused = write(errpipe_write, "RuntimeError:0:", 15);
+ unused = write(errpipe_write, "SubprocessError:0:", 18);
unused = write(errpipe_write, err_msg, strlen(err_msg));
}
if (unused) return; /* silly? yes! avoids gcc compiler warning. */
diff --git a/Modules/_randommodule.c b/Modules/_randommodule.c
index 6540ab9d4c..59c15b39d7 100644
--- a/Modules/_randommodule.c
+++ b/Modules/_randommodule.c
@@ -168,9 +168,9 @@ init_genrand(RandomObject *self, unsigned long s)
/* init_key is the array for initializing keys */
/* key_length is its length */
static PyObject *
-init_by_array(RandomObject *self, unsigned long init_key[], unsigned long key_length)
+init_by_array(RandomObject *self, unsigned long init_key[], size_t key_length)
{
- unsigned int i, j, k; /* was signed in the original code. RDH 12/16/2002 */
+ size_t i, j, k; /* was signed in the original code. RDH 12/16/2002 */
unsigned long *mt;
mt = self->state;
@@ -207,14 +207,11 @@ static PyObject *
random_seed(RandomObject *self, PyObject *args)
{
PyObject *result = NULL; /* guilty until proved innocent */
- PyObject *masklower = NULL;
- PyObject *thirtytwo = NULL;
PyObject *n = NULL;
- unsigned long *new_key, *key = NULL;
- unsigned long keymax; /* # of allocated slots in key */
- unsigned long keyused; /* # of used slots in key */
- int err;
-
+ unsigned long *key = NULL;
+ unsigned char *key_as_bytes = NULL;
+ size_t bits, keyused, i;
+ int res;
PyObject *arg = NULL;
if (!PyArg_UnpackTuple(args, "seed", 0, 1, &arg))
@@ -243,69 +240,46 @@ random_seed(RandomObject *self, PyObject *args)
if (n == NULL)
goto Done;
- /* Now split n into 32-bit chunks, from the right. Each piece is
- * stored into key, which has a capacity of keymax chunks, of which
- * keyused are filled. Alas, the repeated shifting makes this a
- * quadratic-time algorithm; we'd really like to use
- * _PyLong_AsByteArray here, but then we'd have to break into the
- * long representation to figure out how big an array was needed
- * in advance.
- */
- keymax = 8; /* arbitrary; grows later if needed */
- keyused = 0;
- key = (unsigned long *)PyMem_Malloc(keymax * sizeof(*key));
- if (key == NULL)
+ /* Now split n into 32-bit chunks, from the right. */
+ bits = _PyLong_NumBits(n);
+ if (bits == (size_t)-1 && PyErr_Occurred())
goto Done;
- masklower = PyLong_FromUnsignedLong(0xffffffffU);
- if (masklower == NULL)
+ /* Figure out how many 32-bit chunks this gives us. */
+ keyused = bits == 0 ? 1 : (bits - 1) / 32 + 1;
+
+ /* Convert seed to byte sequence. */
+ key_as_bytes = (unsigned char *)PyMem_Malloc((size_t)4 * keyused);
+ if (key_as_bytes == NULL) {
+ PyErr_NoMemory();
goto Done;
- thirtytwo = PyLong_FromLong(32L);
- if (thirtytwo == NULL)
+ }
+ res = _PyLong_AsByteArray((PyLongObject *)n,
+ key_as_bytes, keyused * 4,
+ 1, /* little-endian */
+ 0); /* unsigned */
+ if (res == -1) {
+ PyMem_Free(key_as_bytes);
goto Done;
- while ((err=PyObject_IsTrue(n))) {
- PyObject *newn;
- PyObject *pychunk;
- unsigned long chunk;
-
- if (err == -1)
- goto Done;
- pychunk = PyNumber_And(n, masklower);
- if (pychunk == NULL)
- goto Done;
- chunk = PyLong_AsUnsignedLong(pychunk);
- Py_DECREF(pychunk);
- if (chunk == (unsigned long)-1 && PyErr_Occurred())
- goto Done;
- newn = PyNumber_Rshift(n, thirtytwo);
- if (newn == NULL)
- goto Done;
- Py_DECREF(n);
- n = newn;
- if (keyused >= keymax) {
- unsigned long bigger = keymax << 1;
- if ((bigger >> 1) != keymax ||
- bigger > PY_SSIZE_T_MAX / sizeof(*key)) {
- PyErr_NoMemory();
- goto Done;
- }
- new_key = (unsigned long *)PyMem_Realloc(key,
- bigger * sizeof(*key));
- if (new_key == NULL)
- goto Done;
- key = new_key;
- keymax = bigger;
- }
- assert(keyused < keymax);
- key[keyused++] = chunk;
}
- if (keyused == 0)
- key[keyused++] = 0UL;
+ /* Fill array of unsigned longs from byte sequence. */
+ key = (unsigned long *)PyMem_Malloc(sizeof(unsigned long) * keyused);
+ if (key == NULL) {
+ PyErr_NoMemory();
+ PyMem_Free(key_as_bytes);
+ goto Done;
+ }
+ for (i = 0; i < keyused; i++) {
+ key[i] =
+ ((unsigned long)key_as_bytes[4*i + 0] << 0) +
+ ((unsigned long)key_as_bytes[4*i + 1] << 8) +
+ ((unsigned long)key_as_bytes[4*i + 2] << 16) +
+ ((unsigned long)key_as_bytes[4*i + 3] << 24);
+ }
+ PyMem_Free(key_as_bytes);
result = init_by_array(self, key, keyused);
Done:
- Py_XDECREF(masklower);
- Py_XDECREF(thirtytwo);
Py_XDECREF(n);
PyMem_Free(key);
return result;
@@ -389,6 +363,9 @@ random_getrandbits(RandomObject *self, PyObject *args)
return NULL;
}
+ if (k <= 32) /* Fast path */
+ return PyLong_FromUnsignedLong(genrand_int32(self) >> (32 - k));
+
bytes = ((k - 1) / 32 + 1) * 4;
bytearray = (unsigned char *)PyMem_Malloc(bytes);
if (bytearray == NULL) {
diff --git a/Modules/_sha3/cleanup.py b/Modules/_sha3/cleanup.py
new file mode 100755
index 0000000000..aabcb0442c
--- /dev/null
+++ b/Modules/_sha3/cleanup.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# Copyright (C) 2012 Christian Heimes (christian@python.org)
+# Licensed to PSF under a Contributor Agreement.
+#
+# cleanup Keccak sources
+
+import os
+import re
+
+CPP1 = re.compile("^//(.*)")
+CPP2 = re.compile("\ //(.*)")
+
+STATICS = ("void ", "int ", "HashReturn ", "const UINT64 ", "UINT16 ")
+
+HERE = os.path.dirname(os.path.abspath(__file__))
+KECCAK = os.path.join(HERE, "keccak")
+
+def getfiles():
+ for name in os.listdir(KECCAK):
+ name = os.path.join(KECCAK, name)
+ if os.path.isfile(name):
+ yield name
+
+def cleanup(f):
+ buf = []
+ for line in f:
+ # mark all functions and global data as static
+ if line.startswith(STATICS):
+ buf.append("static " + line)
+ continue
+ # remove UINT64 typedef, we have our own
+ if line.startswith("typedef unsigned long long int"):
+ buf.append("/* %s */\n" % line.strip())
+ continue
+ # remove #include "brg_endian.h"
+ if "brg_endian.h" in line:
+ buf.append("/* %s */\n" % line.strip())
+ continue
+ # transform C++ comments into ANSI C comments
+ line = CPP1.sub(r"/* \1 */", line)
+ line = CPP2.sub(r" /* \1 */", line)
+ buf.append(line)
+ return "".join(buf)
+
+for name in getfiles():
+ with open(name) as f:
+ res = cleanup(f)
+ with open(name, "w") as f:
+ f.write(res)
diff --git a/Modules/_sha3/keccak/KeccakF-1600-32-rvk.macros b/Modules/_sha3/keccak/KeccakF-1600-32-rvk.macros
new file mode 100644
index 0000000000..c0c9029873
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-32-rvk.macros
@@ -0,0 +1,555 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by Ronny Van Keer,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+static const UINT32 KeccakF1600RoundConstants_int2[2*24] =
+{
+ 0x00000001UL, 0x00000000UL,
+ 0x00000000UL, 0x00000089UL,
+ 0x00000000UL, 0x8000008bUL,
+ 0x00000000UL, 0x80008080UL,
+ 0x00000001UL, 0x0000008bUL,
+ 0x00000001UL, 0x00008000UL,
+ 0x00000001UL, 0x80008088UL,
+ 0x00000001UL, 0x80000082UL,
+ 0x00000000UL, 0x0000000bUL,
+ 0x00000000UL, 0x0000000aUL,
+ 0x00000001UL, 0x00008082UL,
+ 0x00000000UL, 0x00008003UL,
+ 0x00000001UL, 0x0000808bUL,
+ 0x00000001UL, 0x8000000bUL,
+ 0x00000001UL, 0x8000008aUL,
+ 0x00000001UL, 0x80000081UL,
+ 0x00000000UL, 0x80000081UL,
+ 0x00000000UL, 0x80000008UL,
+ 0x00000000UL, 0x00000083UL,
+ 0x00000000UL, 0x80008003UL,
+ 0x00000001UL, 0x80008088UL,
+ 0x00000000UL, 0x80000088UL,
+ 0x00000001UL, 0x00008000UL,
+ 0x00000000UL, 0x80008082UL
+};
+
+#undef rounds
+
+#define rounds \
+{ \
+ UINT32 Da0, De0, Di0, Do0, Du0; \
+ UINT32 Da1, De1, Di1, Do1, Du1; \
+ UINT32 Ba, Be, Bi, Bo, Bu; \
+ UINT32 Aba0, Abe0, Abi0, Abo0, Abu0; \
+ UINT32 Aba1, Abe1, Abi1, Abo1, Abu1; \
+ UINT32 Aga0, Age0, Agi0, Ago0, Agu0; \
+ UINT32 Aga1, Age1, Agi1, Ago1, Agu1; \
+ UINT32 Aka0, Ake0, Aki0, Ako0, Aku0; \
+ UINT32 Aka1, Ake1, Aki1, Ako1, Aku1; \
+ UINT32 Ama0, Ame0, Ami0, Amo0, Amu0; \
+ UINT32 Ama1, Ame1, Ami1, Amo1, Amu1; \
+ UINT32 Asa0, Ase0, Asi0, Aso0, Asu0; \
+ UINT32 Asa1, Ase1, Asi1, Aso1, Asu1; \
+ UINT32 Cw, Cx, Cy, Cz; \
+ UINT32 Eba0, Ebe0, Ebi0, Ebo0, Ebu0; \
+ UINT32 Eba1, Ebe1, Ebi1, Ebo1, Ebu1; \
+ UINT32 Ega0, Ege0, Egi0, Ego0, Egu0; \
+ UINT32 Ega1, Ege1, Egi1, Ego1, Egu1; \
+ UINT32 Eka0, Eke0, Eki0, Eko0, Eku0; \
+ UINT32 Eka1, Eke1, Eki1, Eko1, Eku1; \
+ UINT32 Ema0, Eme0, Emi0, Emo0, Emu0; \
+ UINT32 Ema1, Eme1, Emi1, Emo1, Emu1; \
+ UINT32 Esa0, Ese0, Esi0, Eso0, Esu0; \
+ UINT32 Esa1, Ese1, Esi1, Eso1, Esu1; \
+ const UINT32 * pRoundConstants = KeccakF1600RoundConstants_int2; \
+ UINT32 i; \
+\
+ copyFromState(A, state) \
+\
+ for( i = 12; i != 0; --i ) { \
+ Cx = Abu0^Agu0^Aku0^Amu0^Asu0; \
+ Du1 = Abe1^Age1^Ake1^Ame1^Ase1; \
+ Da0 = Cx^ROL32(Du1, 1); \
+ Cz = Abu1^Agu1^Aku1^Amu1^Asu1; \
+ Du0 = Abe0^Age0^Ake0^Ame0^Ase0; \
+ Da1 = Cz^Du0; \
+\
+ Cw = Abi0^Agi0^Aki0^Ami0^Asi0; \
+ Do0 = Cw^ROL32(Cz, 1); \
+ Cy = Abi1^Agi1^Aki1^Ami1^Asi1; \
+ Do1 = Cy^Cx; \
+\
+ Cx = Aba0^Aga0^Aka0^Ama0^Asa0; \
+ De0 = Cx^ROL32(Cy, 1); \
+ Cz = Aba1^Aga1^Aka1^Ama1^Asa1; \
+ De1 = Cz^Cw; \
+\
+ Cy = Abo1^Ago1^Ako1^Amo1^Aso1; \
+ Di0 = Du0^ROL32(Cy, 1); \
+ Cw = Abo0^Ago0^Ako0^Amo0^Aso0; \
+ Di1 = Du1^Cw; \
+\
+ Du0 = Cw^ROL32(Cz, 1); \
+ Du1 = Cy^Cx; \
+\
+ Aba0 ^= Da0; \
+ Ba = Aba0; \
+ Age0 ^= De0; \
+ Be = ROL32(Age0, 22); \
+ Aki1 ^= Di1; \
+ Bi = ROL32(Aki1, 22); \
+ Amo1 ^= Do1; \
+ Bo = ROL32(Amo1, 11); \
+ Asu0 ^= Du0; \
+ Bu = ROL32(Asu0, 7); \
+ Eba0 = Ba ^((~Be)& Bi ) ^ *(pRoundConstants++); \
+ Ebe0 = Be ^((~Bi)& Bo ); \
+ Ebi0 = Bi ^((~Bo)& Bu ); \
+ Ebo0 = Bo ^((~Bu)& Ba ); \
+ Ebu0 = Bu ^((~Ba)& Be ); \
+\
+ Abo0 ^= Do0; \
+ Ba = ROL32(Abo0, 14); \
+ Agu0 ^= Du0; \
+ Be = ROL32(Agu0, 10); \
+ Aka1 ^= Da1; \
+ Bi = ROL32(Aka1, 2); \
+ Ame1 ^= De1; \
+ Bo = ROL32(Ame1, 23); \
+ Asi1 ^= Di1; \
+ Bu = ROL32(Asi1, 31); \
+ Ega0 = Ba ^((~Be)& Bi ); \
+ Ege0 = Be ^((~Bi)& Bo ); \
+ Egi0 = Bi ^((~Bo)& Bu ); \
+ Ego0 = Bo ^((~Bu)& Ba ); \
+ Egu0 = Bu ^((~Ba)& Be ); \
+\
+ Abe1 ^= De1; \
+ Ba = ROL32(Abe1, 1); \
+ Agi0 ^= Di0; \
+ Be = ROL32(Agi0, 3); \
+ Ako1 ^= Do1; \
+ Bi = ROL32(Ako1, 13); \
+ Amu0 ^= Du0; \
+ Bo = ROL32(Amu0, 4); \
+ Asa0 ^= Da0; \
+ Bu = ROL32(Asa0, 9); \
+ Eka0 = Ba ^((~Be)& Bi ); \
+ Eke0 = Be ^((~Bi)& Bo ); \
+ Eki0 = Bi ^((~Bo)& Bu ); \
+ Eko0 = Bo ^((~Bu)& Ba ); \
+ Eku0 = Bu ^((~Ba)& Be ); \
+\
+ Abu1 ^= Du1; \
+ Ba = ROL32(Abu1, 14); \
+ Aga0 ^= Da0; \
+ Be = ROL32(Aga0, 18); \
+ Ake0 ^= De0; \
+ Bi = ROL32(Ake0, 5); \
+ Ami1 ^= Di1; \
+ Bo = ROL32(Ami1, 8); \
+ Aso0 ^= Do0; \
+ Bu = ROL32(Aso0, 28); \
+ Ema0 = Ba ^((~Be)& Bi ); \
+ Eme0 = Be ^((~Bi)& Bo ); \
+ Emi0 = Bi ^((~Bo)& Bu ); \
+ Emo0 = Bo ^((~Bu)& Ba ); \
+ Emu0 = Bu ^((~Ba)& Be ); \
+\
+ Abi0 ^= Di0; \
+ Ba = ROL32(Abi0, 31); \
+ Ago1 ^= Do1; \
+ Be = ROL32(Ago1, 28); \
+ Aku1 ^= Du1; \
+ Bi = ROL32(Aku1, 20); \
+ Ama1 ^= Da1; \
+ Bo = ROL32(Ama1, 21); \
+ Ase0 ^= De0; \
+ Bu = ROL32(Ase0, 1); \
+ Esa0 = Ba ^((~Be)& Bi ); \
+ Ese0 = Be ^((~Bi)& Bo ); \
+ Esi0 = Bi ^((~Bo)& Bu ); \
+ Eso0 = Bo ^((~Bu)& Ba ); \
+ Esu0 = Bu ^((~Ba)& Be ); \
+\
+ Aba1 ^= Da1; \
+ Ba = Aba1; \
+ Age1 ^= De1; \
+ Be = ROL32(Age1, 22); \
+ Aki0 ^= Di0; \
+ Bi = ROL32(Aki0, 21); \
+ Amo0 ^= Do0; \
+ Bo = ROL32(Amo0, 10); \
+ Asu1 ^= Du1; \
+ Bu = ROL32(Asu1, 7); \
+ Eba1 = Ba ^((~Be)& Bi ); \
+ Eba1 ^= *(pRoundConstants++); \
+ Ebe1 = Be ^((~Bi)& Bo ); \
+ Ebi1 = Bi ^((~Bo)& Bu ); \
+ Ebo1 = Bo ^((~Bu)& Ba ); \
+ Ebu1 = Bu ^((~Ba)& Be ); \
+\
+ Abo1 ^= Do1; \
+ Ba = ROL32(Abo1, 14); \
+ Agu1 ^= Du1; \
+ Be = ROL32(Agu1, 10); \
+ Aka0 ^= Da0; \
+ Bi = ROL32(Aka0, 1); \
+ Ame0 ^= De0; \
+ Bo = ROL32(Ame0, 22); \
+ Asi0 ^= Di0; \
+ Bu = ROL32(Asi0, 30); \
+ Ega1 = Ba ^((~Be)& Bi ); \
+ Ege1 = Be ^((~Bi)& Bo ); \
+ Egi1 = Bi ^((~Bo)& Bu ); \
+ Ego1 = Bo ^((~Bu)& Ba ); \
+ Egu1 = Bu ^((~Ba)& Be ); \
+\
+ Abe0 ^= De0; \
+ Ba = Abe0; \
+ Agi1 ^= Di1; \
+ Be = ROL32(Agi1, 3); \
+ Ako0 ^= Do0; \
+ Bi = ROL32(Ako0, 12); \
+ Amu1 ^= Du1; \
+ Bo = ROL32(Amu1, 4); \
+ Asa1 ^= Da1; \
+ Bu = ROL32(Asa1, 9); \
+ Eka1 = Ba ^((~Be)& Bi ); \
+ Eke1 = Be ^((~Bi)& Bo ); \
+ Eki1 = Bi ^((~Bo)& Bu ); \
+ Eko1 = Bo ^((~Bu)& Ba ); \
+ Eku1 = Bu ^((~Ba)& Be ); \
+\
+ Abu0 ^= Du0; \
+ Ba = ROL32(Abu0, 13); \
+ Aga1 ^= Da1; \
+ Be = ROL32(Aga1, 18); \
+ Ake1 ^= De1; \
+ Bi = ROL32(Ake1, 5); \
+ Ami0 ^= Di0; \
+ Bo = ROL32(Ami0, 7); \
+ Aso1 ^= Do1; \
+ Bu = ROL32(Aso1, 28); \
+ Ema1 = Ba ^((~Be)& Bi ); \
+ Eme1 = Be ^((~Bi)& Bo ); \
+ Emi1 = Bi ^((~Bo)& Bu ); \
+ Emo1 = Bo ^((~Bu)& Ba ); \
+ Emu1 = Bu ^((~Ba)& Be ); \
+\
+ Abi1 ^= Di1; \
+ Ba = ROL32(Abi1, 31); \
+ Ago0 ^= Do0; \
+ Be = ROL32(Ago0, 27); \
+ Aku0 ^= Du0; \
+ Bi = ROL32(Aku0, 19); \
+ Ama0 ^= Da0; \
+ Bo = ROL32(Ama0, 20); \
+ Ase1 ^= De1; \
+ Bu = ROL32(Ase1, 1); \
+ Esa1 = Ba ^((~Be)& Bi ); \
+ Ese1 = Be ^((~Bi)& Bo ); \
+ Esi1 = Bi ^((~Bo)& Bu ); \
+ Eso1 = Bo ^((~Bu)& Ba ); \
+ Esu1 = Bu ^((~Ba)& Be ); \
+\
+ Cx = Ebu0^Egu0^Eku0^Emu0^Esu0; \
+ Du1 = Ebe1^Ege1^Eke1^Eme1^Ese1; \
+ Da0 = Cx^ROL32(Du1, 1); \
+ Cz = Ebu1^Egu1^Eku1^Emu1^Esu1; \
+ Du0 = Ebe0^Ege0^Eke0^Eme0^Ese0; \
+ Da1 = Cz^Du0; \
+\
+ Cw = Ebi0^Egi0^Eki0^Emi0^Esi0; \
+ Do0 = Cw^ROL32(Cz, 1); \
+ Cy = Ebi1^Egi1^Eki1^Emi1^Esi1; \
+ Do1 = Cy^Cx; \
+\
+ Cx = Eba0^Ega0^Eka0^Ema0^Esa0; \
+ De0 = Cx^ROL32(Cy, 1); \
+ Cz = Eba1^Ega1^Eka1^Ema1^Esa1; \
+ De1 = Cz^Cw; \
+\
+ Cy = Ebo1^Ego1^Eko1^Emo1^Eso1; \
+ Di0 = Du0^ROL32(Cy, 1); \
+ Cw = Ebo0^Ego0^Eko0^Emo0^Eso0; \
+ Di1 = Du1^Cw; \
+\
+ Du0 = Cw^ROL32(Cz, 1); \
+ Du1 = Cy^Cx; \
+\
+ Eba0 ^= Da0; \
+ Ba = Eba0; \
+ Ege0 ^= De0; \
+ Be = ROL32(Ege0, 22); \
+ Eki1 ^= Di1; \
+ Bi = ROL32(Eki1, 22); \
+ Emo1 ^= Do1; \
+ Bo = ROL32(Emo1, 11); \
+ Esu0 ^= Du0; \
+ Bu = ROL32(Esu0, 7); \
+ Aba0 = Ba ^((~Be)& Bi ); \
+ Aba0 ^= *(pRoundConstants++); \
+ Abe0 = Be ^((~Bi)& Bo ); \
+ Abi0 = Bi ^((~Bo)& Bu ); \
+ Abo0 = Bo ^((~Bu)& Ba ); \
+ Abu0 = Bu ^((~Ba)& Be ); \
+\
+ Ebo0 ^= Do0; \
+ Ba = ROL32(Ebo0, 14); \
+ Egu0 ^= Du0; \
+ Be = ROL32(Egu0, 10); \
+ Eka1 ^= Da1; \
+ Bi = ROL32(Eka1, 2); \
+ Eme1 ^= De1; \
+ Bo = ROL32(Eme1, 23); \
+ Esi1 ^= Di1; \
+ Bu = ROL32(Esi1, 31); \
+ Aga0 = Ba ^((~Be)& Bi ); \
+ Age0 = Be ^((~Bi)& Bo ); \
+ Agi0 = Bi ^((~Bo)& Bu ); \
+ Ago0 = Bo ^((~Bu)& Ba ); \
+ Agu0 = Bu ^((~Ba)& Be ); \
+\
+ Ebe1 ^= De1; \
+ Ba = ROL32(Ebe1, 1); \
+ Egi0 ^= Di0; \
+ Be = ROL32(Egi0, 3); \
+ Eko1 ^= Do1; \
+ Bi = ROL32(Eko1, 13); \
+ Emu0 ^= Du0; \
+ Bo = ROL32(Emu0, 4); \
+ Esa0 ^= Da0; \
+ Bu = ROL32(Esa0, 9); \
+ Aka0 = Ba ^((~Be)& Bi ); \
+ Ake0 = Be ^((~Bi)& Bo ); \
+ Aki0 = Bi ^((~Bo)& Bu ); \
+ Ako0 = Bo ^((~Bu)& Ba ); \
+ Aku0 = Bu ^((~Ba)& Be ); \
+\
+ Ebu1 ^= Du1; \
+ Ba = ROL32(Ebu1, 14); \
+ Ega0 ^= Da0; \
+ Be = ROL32(Ega0, 18); \
+ Eke0 ^= De0; \
+ Bi = ROL32(Eke0, 5); \
+ Emi1 ^= Di1; \
+ Bo = ROL32(Emi1, 8); \
+ Eso0 ^= Do0; \
+ Bu = ROL32(Eso0, 28); \
+ Ama0 = Ba ^((~Be)& Bi ); \
+ Ame0 = Be ^((~Bi)& Bo ); \
+ Ami0 = Bi ^((~Bo)& Bu ); \
+ Amo0 = Bo ^((~Bu)& Ba ); \
+ Amu0 = Bu ^((~Ba)& Be ); \
+\
+ Ebi0 ^= Di0; \
+ Ba = ROL32(Ebi0, 31); \
+ Ego1 ^= Do1; \
+ Be = ROL32(Ego1, 28); \
+ Eku1 ^= Du1; \
+ Bi = ROL32(Eku1, 20); \
+ Ema1 ^= Da1; \
+ Bo = ROL32(Ema1, 21); \
+ Ese0 ^= De0; \
+ Bu = ROL32(Ese0, 1); \
+ Asa0 = Ba ^((~Be)& Bi ); \
+ Ase0 = Be ^((~Bi)& Bo ); \
+ Asi0 = Bi ^((~Bo)& Bu ); \
+ Aso0 = Bo ^((~Bu)& Ba ); \
+ Asu0 = Bu ^((~Ba)& Be ); \
+\
+ Eba1 ^= Da1; \
+ Ba = Eba1; \
+ Ege1 ^= De1; \
+ Be = ROL32(Ege1, 22); \
+ Eki0 ^= Di0; \
+ Bi = ROL32(Eki0, 21); \
+ Emo0 ^= Do0; \
+ Bo = ROL32(Emo0, 10); \
+ Esu1 ^= Du1; \
+ Bu = ROL32(Esu1, 7); \
+ Aba1 = Ba ^((~Be)& Bi ); \
+ Aba1 ^= *(pRoundConstants++); \
+ Abe1 = Be ^((~Bi)& Bo ); \
+ Abi1 = Bi ^((~Bo)& Bu ); \
+ Abo1 = Bo ^((~Bu)& Ba ); \
+ Abu1 = Bu ^((~Ba)& Be ); \
+\
+ Ebo1 ^= Do1; \
+ Ba = ROL32(Ebo1, 14); \
+ Egu1 ^= Du1; \
+ Be = ROL32(Egu1, 10); \
+ Eka0 ^= Da0; \
+ Bi = ROL32(Eka0, 1); \
+ Eme0 ^= De0; \
+ Bo = ROL32(Eme0, 22); \
+ Esi0 ^= Di0; \
+ Bu = ROL32(Esi0, 30); \
+ Aga1 = Ba ^((~Be)& Bi ); \
+ Age1 = Be ^((~Bi)& Bo ); \
+ Agi1 = Bi ^((~Bo)& Bu ); \
+ Ago1 = Bo ^((~Bu)& Ba ); \
+ Agu1 = Bu ^((~Ba)& Be ); \
+\
+ Ebe0 ^= De0; \
+ Ba = Ebe0; \
+ Egi1 ^= Di1; \
+ Be = ROL32(Egi1, 3); \
+ Eko0 ^= Do0; \
+ Bi = ROL32(Eko0, 12); \
+ Emu1 ^= Du1; \
+ Bo = ROL32(Emu1, 4); \
+ Esa1 ^= Da1; \
+ Bu = ROL32(Esa1, 9); \
+ Aka1 = Ba ^((~Be)& Bi ); \
+ Ake1 = Be ^((~Bi)& Bo ); \
+ Aki1 = Bi ^((~Bo)& Bu ); \
+ Ako1 = Bo ^((~Bu)& Ba ); \
+ Aku1 = Bu ^((~Ba)& Be ); \
+\
+ Ebu0 ^= Du0; \
+ Ba = ROL32(Ebu0, 13); \
+ Ega1 ^= Da1; \
+ Be = ROL32(Ega1, 18); \
+ Eke1 ^= De1; \
+ Bi = ROL32(Eke1, 5); \
+ Emi0 ^= Di0; \
+ Bo = ROL32(Emi0, 7); \
+ Eso1 ^= Do1; \
+ Bu = ROL32(Eso1, 28); \
+ Ama1 = Ba ^((~Be)& Bi ); \
+ Ame1 = Be ^((~Bi)& Bo ); \
+ Ami1 = Bi ^((~Bo)& Bu ); \
+ Amo1 = Bo ^((~Bu)& Ba ); \
+ Amu1 = Bu ^((~Ba)& Be ); \
+\
+ Ebi1 ^= Di1; \
+ Ba = ROL32(Ebi1, 31); \
+ Ego0 ^= Do0; \
+ Be = ROL32(Ego0, 27); \
+ Eku0 ^= Du0; \
+ Bi = ROL32(Eku0, 19); \
+ Ema0 ^= Da0; \
+ Bo = ROL32(Ema0, 20); \
+ Ese1 ^= De1; \
+ Bu = ROL32(Ese1, 1); \
+ Asa1 = Ba ^((~Be)& Bi ); \
+ Ase1 = Be ^((~Bi)& Bo ); \
+ Asi1 = Bi ^((~Bo)& Bu ); \
+ Aso1 = Bo ^((~Bu)& Ba ); \
+ Asu1 = Bu ^((~Ba)& Be ); \
+ } \
+ copyToState(state, A) \
+}
+
+#define copyFromState(X, state) \
+ X##ba0 = state[ 0]; \
+ X##ba1 = state[ 1]; \
+ X##be0 = state[ 2]; \
+ X##be1 = state[ 3]; \
+ X##bi0 = state[ 4]; \
+ X##bi1 = state[ 5]; \
+ X##bo0 = state[ 6]; \
+ X##bo1 = state[ 7]; \
+ X##bu0 = state[ 8]; \
+ X##bu1 = state[ 9]; \
+ X##ga0 = state[10]; \
+ X##ga1 = state[11]; \
+ X##ge0 = state[12]; \
+ X##ge1 = state[13]; \
+ X##gi0 = state[14]; \
+ X##gi1 = state[15]; \
+ X##go0 = state[16]; \
+ X##go1 = state[17]; \
+ X##gu0 = state[18]; \
+ X##gu1 = state[19]; \
+ X##ka0 = state[20]; \
+ X##ka1 = state[21]; \
+ X##ke0 = state[22]; \
+ X##ke1 = state[23]; \
+ X##ki0 = state[24]; \
+ X##ki1 = state[25]; \
+ X##ko0 = state[26]; \
+ X##ko1 = state[27]; \
+ X##ku0 = state[28]; \
+ X##ku1 = state[29]; \
+ X##ma0 = state[30]; \
+ X##ma1 = state[31]; \
+ X##me0 = state[32]; \
+ X##me1 = state[33]; \
+ X##mi0 = state[34]; \
+ X##mi1 = state[35]; \
+ X##mo0 = state[36]; \
+ X##mo1 = state[37]; \
+ X##mu0 = state[38]; \
+ X##mu1 = state[39]; \
+ X##sa0 = state[40]; \
+ X##sa1 = state[41]; \
+ X##se0 = state[42]; \
+ X##se1 = state[43]; \
+ X##si0 = state[44]; \
+ X##si1 = state[45]; \
+ X##so0 = state[46]; \
+ X##so1 = state[47]; \
+ X##su0 = state[48]; \
+ X##su1 = state[49]; \
+
+#define copyToState(state, X) \
+ state[ 0] = X##ba0; \
+ state[ 1] = X##ba1; \
+ state[ 2] = X##be0; \
+ state[ 3] = X##be1; \
+ state[ 4] = X##bi0; \
+ state[ 5] = X##bi1; \
+ state[ 6] = X##bo0; \
+ state[ 7] = X##bo1; \
+ state[ 8] = X##bu0; \
+ state[ 9] = X##bu1; \
+ state[10] = X##ga0; \
+ state[11] = X##ga1; \
+ state[12] = X##ge0; \
+ state[13] = X##ge1; \
+ state[14] = X##gi0; \
+ state[15] = X##gi1; \
+ state[16] = X##go0; \
+ state[17] = X##go1; \
+ state[18] = X##gu0; \
+ state[19] = X##gu1; \
+ state[20] = X##ka0; \
+ state[21] = X##ka1; \
+ state[22] = X##ke0; \
+ state[23] = X##ke1; \
+ state[24] = X##ki0; \
+ state[25] = X##ki1; \
+ state[26] = X##ko0; \
+ state[27] = X##ko1; \
+ state[28] = X##ku0; \
+ state[29] = X##ku1; \
+ state[30] = X##ma0; \
+ state[31] = X##ma1; \
+ state[32] = X##me0; \
+ state[33] = X##me1; \
+ state[34] = X##mi0; \
+ state[35] = X##mi1; \
+ state[36] = X##mo0; \
+ state[37] = X##mo1; \
+ state[38] = X##mu0; \
+ state[39] = X##mu1; \
+ state[40] = X##sa0; \
+ state[41] = X##sa1; \
+ state[42] = X##se0; \
+ state[43] = X##se1; \
+ state[44] = X##si0; \
+ state[45] = X##si1; \
+ state[46] = X##so0; \
+ state[47] = X##so1; \
+ state[48] = X##su0; \
+ state[49] = X##su1; \
+
diff --git a/Modules/_sha3/keccak/KeccakF-1600-32-s1.macros b/Modules/_sha3/keccak/KeccakF-1600-32-s1.macros
new file mode 100644
index 0000000000..373d61df6e
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-32-s1.macros
@@ -0,0 +1,1187 @@
+/*
+Code automatically generated by KeccakTools!
+
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#define declareABCDE \
+ UINT32 Aba0, Abe0, Abi0, Abo0, Abu0; \
+ UINT32 Aba1, Abe1, Abi1, Abo1, Abu1; \
+ UINT32 Aga0, Age0, Agi0, Ago0, Agu0; \
+ UINT32 Aga1, Age1, Agi1, Ago1, Agu1; \
+ UINT32 Aka0, Ake0, Aki0, Ako0, Aku0; \
+ UINT32 Aka1, Ake1, Aki1, Ako1, Aku1; \
+ UINT32 Ama0, Ame0, Ami0, Amo0, Amu0; \
+ UINT32 Ama1, Ame1, Ami1, Amo1, Amu1; \
+ UINT32 Asa0, Ase0, Asi0, Aso0, Asu0; \
+ UINT32 Asa1, Ase1, Asi1, Aso1, Asu1; \
+ UINT32 Bba0, Bbe0, Bbi0, Bbo0, Bbu0; \
+ UINT32 Bba1, Bbe1, Bbi1, Bbo1, Bbu1; \
+ UINT32 Bga0, Bge0, Bgi0, Bgo0, Bgu0; \
+ UINT32 Bga1, Bge1, Bgi1, Bgo1, Bgu1; \
+ UINT32 Bka0, Bke0, Bki0, Bko0, Bku0; \
+ UINT32 Bka1, Bke1, Bki1, Bko1, Bku1; \
+ UINT32 Bma0, Bme0, Bmi0, Bmo0, Bmu0; \
+ UINT32 Bma1, Bme1, Bmi1, Bmo1, Bmu1; \
+ UINT32 Bsa0, Bse0, Bsi0, Bso0, Bsu0; \
+ UINT32 Bsa1, Bse1, Bsi1, Bso1, Bsu1; \
+ UINT32 Ca0, Ce0, Ci0, Co0, Cu0; \
+ UINT32 Ca1, Ce1, Ci1, Co1, Cu1; \
+ UINT32 Da0, De0, Di0, Do0, Du0; \
+ UINT32 Da1, De1, Di1, Do1, Du1; \
+ UINT32 Eba0, Ebe0, Ebi0, Ebo0, Ebu0; \
+ UINT32 Eba1, Ebe1, Ebi1, Ebo1, Ebu1; \
+ UINT32 Ega0, Ege0, Egi0, Ego0, Egu0; \
+ UINT32 Ega1, Ege1, Egi1, Ego1, Egu1; \
+ UINT32 Eka0, Eke0, Eki0, Eko0, Eku0; \
+ UINT32 Eka1, Eke1, Eki1, Eko1, Eku1; \
+ UINT32 Ema0, Eme0, Emi0, Emo0, Emu0; \
+ UINT32 Ema1, Eme1, Emi1, Emo1, Emu1; \
+ UINT32 Esa0, Ese0, Esi0, Eso0, Esu0; \
+ UINT32 Esa1, Ese1, Esi1, Eso1, Esu1; \
+
+#define prepareTheta \
+ Ca0 = Aba0^Aga0^Aka0^Ama0^Asa0; \
+ Ca1 = Aba1^Aga1^Aka1^Ama1^Asa1; \
+ Ce0 = Abe0^Age0^Ake0^Ame0^Ase0; \
+ Ce1 = Abe1^Age1^Ake1^Ame1^Ase1; \
+ Ci0 = Abi0^Agi0^Aki0^Ami0^Asi0; \
+ Ci1 = Abi1^Agi1^Aki1^Ami1^Asi1; \
+ Co0 = Abo0^Ago0^Ako0^Amo0^Aso0; \
+ Co1 = Abo1^Ago1^Ako1^Amo1^Aso1; \
+ Cu0 = Abu0^Agu0^Aku0^Amu0^Asu0; \
+ Cu1 = Abu1^Agu1^Aku1^Amu1^Asu1; \
+
+#ifdef UseBebigokimisa
+/* --- Code for round, with prepare-theta (lane complementing pattern 'bebigokimisa') */
+/* --- using factor 2 interleaving, 64-bit lanes mapped to 32-bit words */
+#define thetaRhoPiChiIotaPrepareTheta(i, A, E) \
+ Da0 = Cu0^ROL32(Ce1, 1); \
+ Da1 = Cu1^Ce0; \
+ De0 = Ca0^ROL32(Ci1, 1); \
+ De1 = Ca1^Ci0; \
+ Di0 = Ce0^ROL32(Co1, 1); \
+ Di1 = Ce1^Co0; \
+ Do0 = Ci0^ROL32(Cu1, 1); \
+ Do1 = Ci1^Cu0; \
+ Du0 = Co0^ROL32(Ca1, 1); \
+ Du1 = Co1^Ca0; \
+\
+ A##ba0 ^= Da0; \
+ Bba0 = A##ba0; \
+ A##ge0 ^= De0; \
+ Bbe0 = ROL32(A##ge0, 22); \
+ A##ki1 ^= Di1; \
+ Bbi0 = ROL32(A##ki1, 22); \
+ A##mo1 ^= Do1; \
+ Bbo0 = ROL32(A##mo1, 11); \
+ A##su0 ^= Du0; \
+ Bbu0 = ROL32(A##su0, 7); \
+ E##ba0 = Bba0 ^( Bbe0 | Bbi0 ); \
+ E##ba0 ^= KeccakF1600RoundConstants_int2_0[i]; \
+ Ca0 = E##ba0; \
+ E##be0 = Bbe0 ^((~Bbi0)| Bbo0 ); \
+ Ce0 = E##be0; \
+ E##bi0 = Bbi0 ^( Bbo0 & Bbu0 ); \
+ Ci0 = E##bi0; \
+ E##bo0 = Bbo0 ^( Bbu0 | Bba0 ); \
+ Co0 = E##bo0; \
+ E##bu0 = Bbu0 ^( Bba0 & Bbe0 ); \
+ Cu0 = E##bu0; \
+\
+ A##ba1 ^= Da1; \
+ Bba1 = A##ba1; \
+ A##ge1 ^= De1; \
+ Bbe1 = ROL32(A##ge1, 22); \
+ A##ki0 ^= Di0; \
+ Bbi1 = ROL32(A##ki0, 21); \
+ A##mo0 ^= Do0; \
+ Bbo1 = ROL32(A##mo0, 10); \
+ A##su1 ^= Du1; \
+ Bbu1 = ROL32(A##su1, 7); \
+ E##ba1 = Bba1 ^( Bbe1 | Bbi1 ); \
+ E##ba1 ^= KeccakF1600RoundConstants_int2_1[i]; \
+ Ca1 = E##ba1; \
+ E##be1 = Bbe1 ^((~Bbi1)| Bbo1 ); \
+ Ce1 = E##be1; \
+ E##bi1 = Bbi1 ^( Bbo1 & Bbu1 ); \
+ Ci1 = E##bi1; \
+ E##bo1 = Bbo1 ^( Bbu1 | Bba1 ); \
+ Co1 = E##bo1; \
+ E##bu1 = Bbu1 ^( Bba1 & Bbe1 ); \
+ Cu1 = E##bu1; \
+\
+ A##bo0 ^= Do0; \
+ Bga0 = ROL32(A##bo0, 14); \
+ A##gu0 ^= Du0; \
+ Bge0 = ROL32(A##gu0, 10); \
+ A##ka1 ^= Da1; \
+ Bgi0 = ROL32(A##ka1, 2); \
+ A##me1 ^= De1; \
+ Bgo0 = ROL32(A##me1, 23); \
+ A##si1 ^= Di1; \
+ Bgu0 = ROL32(A##si1, 31); \
+ E##ga0 = Bga0 ^( Bge0 | Bgi0 ); \
+ Ca0 ^= E##ga0; \
+ E##ge0 = Bge0 ^( Bgi0 & Bgo0 ); \
+ Ce0 ^= E##ge0; \
+ E##gi0 = Bgi0 ^( Bgo0 |(~Bgu0)); \
+ Ci0 ^= E##gi0; \
+ E##go0 = Bgo0 ^( Bgu0 | Bga0 ); \
+ Co0 ^= E##go0; \
+ E##gu0 = Bgu0 ^( Bga0 & Bge0 ); \
+ Cu0 ^= E##gu0; \
+\
+ A##bo1 ^= Do1; \
+ Bga1 = ROL32(A##bo1, 14); \
+ A##gu1 ^= Du1; \
+ Bge1 = ROL32(A##gu1, 10); \
+ A##ka0 ^= Da0; \
+ Bgi1 = ROL32(A##ka0, 1); \
+ A##me0 ^= De0; \
+ Bgo1 = ROL32(A##me0, 22); \
+ A##si0 ^= Di0; \
+ Bgu1 = ROL32(A##si0, 30); \
+ E##ga1 = Bga1 ^( Bge1 | Bgi1 ); \
+ Ca1 ^= E##ga1; \
+ E##ge1 = Bge1 ^( Bgi1 & Bgo1 ); \
+ Ce1 ^= E##ge1; \
+ E##gi1 = Bgi1 ^( Bgo1 |(~Bgu1)); \
+ Ci1 ^= E##gi1; \
+ E##go1 = Bgo1 ^( Bgu1 | Bga1 ); \
+ Co1 ^= E##go1; \
+ E##gu1 = Bgu1 ^( Bga1 & Bge1 ); \
+ Cu1 ^= E##gu1; \
+\
+ A##be1 ^= De1; \
+ Bka0 = ROL32(A##be1, 1); \
+ A##gi0 ^= Di0; \
+ Bke0 = ROL32(A##gi0, 3); \
+ A##ko1 ^= Do1; \
+ Bki0 = ROL32(A##ko1, 13); \
+ A##mu0 ^= Du0; \
+ Bko0 = ROL32(A##mu0, 4); \
+ A##sa0 ^= Da0; \
+ Bku0 = ROL32(A##sa0, 9); \
+ E##ka0 = Bka0 ^( Bke0 | Bki0 ); \
+ Ca0 ^= E##ka0; \
+ E##ke0 = Bke0 ^( Bki0 & Bko0 ); \
+ Ce0 ^= E##ke0; \
+ E##ki0 = Bki0 ^((~Bko0)& Bku0 ); \
+ Ci0 ^= E##ki0; \
+ E##ko0 = (~Bko0)^( Bku0 | Bka0 ); \
+ Co0 ^= E##ko0; \
+ E##ku0 = Bku0 ^( Bka0 & Bke0 ); \
+ Cu0 ^= E##ku0; \
+\
+ A##be0 ^= De0; \
+ Bka1 = A##be0; \
+ A##gi1 ^= Di1; \
+ Bke1 = ROL32(A##gi1, 3); \
+ A##ko0 ^= Do0; \
+ Bki1 = ROL32(A##ko0, 12); \
+ A##mu1 ^= Du1; \
+ Bko1 = ROL32(A##mu1, 4); \
+ A##sa1 ^= Da1; \
+ Bku1 = ROL32(A##sa1, 9); \
+ E##ka1 = Bka1 ^( Bke1 | Bki1 ); \
+ Ca1 ^= E##ka1; \
+ E##ke1 = Bke1 ^( Bki1 & Bko1 ); \
+ Ce1 ^= E##ke1; \
+ E##ki1 = Bki1 ^((~Bko1)& Bku1 ); \
+ Ci1 ^= E##ki1; \
+ E##ko1 = (~Bko1)^( Bku1 | Bka1 ); \
+ Co1 ^= E##ko1; \
+ E##ku1 = Bku1 ^( Bka1 & Bke1 ); \
+ Cu1 ^= E##ku1; \
+\
+ A##bu1 ^= Du1; \
+ Bma0 = ROL32(A##bu1, 14); \
+ A##ga0 ^= Da0; \
+ Bme0 = ROL32(A##ga0, 18); \
+ A##ke0 ^= De0; \
+ Bmi0 = ROL32(A##ke0, 5); \
+ A##mi1 ^= Di1; \
+ Bmo0 = ROL32(A##mi1, 8); \
+ A##so0 ^= Do0; \
+ Bmu0 = ROL32(A##so0, 28); \
+ E##ma0 = Bma0 ^( Bme0 & Bmi0 ); \
+ Ca0 ^= E##ma0; \
+ E##me0 = Bme0 ^( Bmi0 | Bmo0 ); \
+ Ce0 ^= E##me0; \
+ E##mi0 = Bmi0 ^((~Bmo0)| Bmu0 ); \
+ Ci0 ^= E##mi0; \
+ E##mo0 = (~Bmo0)^( Bmu0 & Bma0 ); \
+ Co0 ^= E##mo0; \
+ E##mu0 = Bmu0 ^( Bma0 | Bme0 ); \
+ Cu0 ^= E##mu0; \
+\
+ A##bu0 ^= Du0; \
+ Bma1 = ROL32(A##bu0, 13); \
+ A##ga1 ^= Da1; \
+ Bme1 = ROL32(A##ga1, 18); \
+ A##ke1 ^= De1; \
+ Bmi1 = ROL32(A##ke1, 5); \
+ A##mi0 ^= Di0; \
+ Bmo1 = ROL32(A##mi0, 7); \
+ A##so1 ^= Do1; \
+ Bmu1 = ROL32(A##so1, 28); \
+ E##ma1 = Bma1 ^( Bme1 & Bmi1 ); \
+ Ca1 ^= E##ma1; \
+ E##me1 = Bme1 ^( Bmi1 | Bmo1 ); \
+ Ce1 ^= E##me1; \
+ E##mi1 = Bmi1 ^((~Bmo1)| Bmu1 ); \
+ Ci1 ^= E##mi1; \
+ E##mo1 = (~Bmo1)^( Bmu1 & Bma1 ); \
+ Co1 ^= E##mo1; \
+ E##mu1 = Bmu1 ^( Bma1 | Bme1 ); \
+ Cu1 ^= E##mu1; \
+\
+ A##bi0 ^= Di0; \
+ Bsa0 = ROL32(A##bi0, 31); \
+ A##go1 ^= Do1; \
+ Bse0 = ROL32(A##go1, 28); \
+ A##ku1 ^= Du1; \
+ Bsi0 = ROL32(A##ku1, 20); \
+ A##ma1 ^= Da1; \
+ Bso0 = ROL32(A##ma1, 21); \
+ A##se0 ^= De0; \
+ Bsu0 = ROL32(A##se0, 1); \
+ E##sa0 = Bsa0 ^((~Bse0)& Bsi0 ); \
+ Ca0 ^= E##sa0; \
+ E##se0 = (~Bse0)^( Bsi0 | Bso0 ); \
+ Ce0 ^= E##se0; \
+ E##si0 = Bsi0 ^( Bso0 & Bsu0 ); \
+ Ci0 ^= E##si0; \
+ E##so0 = Bso0 ^( Bsu0 | Bsa0 ); \
+ Co0 ^= E##so0; \
+ E##su0 = Bsu0 ^( Bsa0 & Bse0 ); \
+ Cu0 ^= E##su0; \
+\
+ A##bi1 ^= Di1; \
+ Bsa1 = ROL32(A##bi1, 31); \
+ A##go0 ^= Do0; \
+ Bse1 = ROL32(A##go0, 27); \
+ A##ku0 ^= Du0; \
+ Bsi1 = ROL32(A##ku0, 19); \
+ A##ma0 ^= Da0; \
+ Bso1 = ROL32(A##ma0, 20); \
+ A##se1 ^= De1; \
+ Bsu1 = ROL32(A##se1, 1); \
+ E##sa1 = Bsa1 ^((~Bse1)& Bsi1 ); \
+ Ca1 ^= E##sa1; \
+ E##se1 = (~Bse1)^( Bsi1 | Bso1 ); \
+ Ce1 ^= E##se1; \
+ E##si1 = Bsi1 ^( Bso1 & Bsu1 ); \
+ Ci1 ^= E##si1; \
+ E##so1 = Bso1 ^( Bsu1 | Bsa1 ); \
+ Co1 ^= E##so1; \
+ E##su1 = Bsu1 ^( Bsa1 & Bse1 ); \
+ Cu1 ^= E##su1; \
+\
+
+/* --- Code for round (lane complementing pattern 'bebigokimisa') */
+/* --- using factor 2 interleaving, 64-bit lanes mapped to 32-bit words */
+#define thetaRhoPiChiIota(i, A, E) \
+ Da0 = Cu0^ROL32(Ce1, 1); \
+ Da1 = Cu1^Ce0; \
+ De0 = Ca0^ROL32(Ci1, 1); \
+ De1 = Ca1^Ci0; \
+ Di0 = Ce0^ROL32(Co1, 1); \
+ Di1 = Ce1^Co0; \
+ Do0 = Ci0^ROL32(Cu1, 1); \
+ Do1 = Ci1^Cu0; \
+ Du0 = Co0^ROL32(Ca1, 1); \
+ Du1 = Co1^Ca0; \
+\
+ A##ba0 ^= Da0; \
+ Bba0 = A##ba0; \
+ A##ge0 ^= De0; \
+ Bbe0 = ROL32(A##ge0, 22); \
+ A##ki1 ^= Di1; \
+ Bbi0 = ROL32(A##ki1, 22); \
+ A##mo1 ^= Do1; \
+ Bbo0 = ROL32(A##mo1, 11); \
+ A##su0 ^= Du0; \
+ Bbu0 = ROL32(A##su0, 7); \
+ E##ba0 = Bba0 ^( Bbe0 | Bbi0 ); \
+ E##ba0 ^= KeccakF1600RoundConstants_int2_0[i]; \
+ E##be0 = Bbe0 ^((~Bbi0)| Bbo0 ); \
+ E##bi0 = Bbi0 ^( Bbo0 & Bbu0 ); \
+ E##bo0 = Bbo0 ^( Bbu0 | Bba0 ); \
+ E##bu0 = Bbu0 ^( Bba0 & Bbe0 ); \
+\
+ A##ba1 ^= Da1; \
+ Bba1 = A##ba1; \
+ A##ge1 ^= De1; \
+ Bbe1 = ROL32(A##ge1, 22); \
+ A##ki0 ^= Di0; \
+ Bbi1 = ROL32(A##ki0, 21); \
+ A##mo0 ^= Do0; \
+ Bbo1 = ROL32(A##mo0, 10); \
+ A##su1 ^= Du1; \
+ Bbu1 = ROL32(A##su1, 7); \
+ E##ba1 = Bba1 ^( Bbe1 | Bbi1 ); \
+ E##ba1 ^= KeccakF1600RoundConstants_int2_1[i]; \
+ E##be1 = Bbe1 ^((~Bbi1)| Bbo1 ); \
+ E##bi1 = Bbi1 ^( Bbo1 & Bbu1 ); \
+ E##bo1 = Bbo1 ^( Bbu1 | Bba1 ); \
+ E##bu1 = Bbu1 ^( Bba1 & Bbe1 ); \
+\
+ A##bo0 ^= Do0; \
+ Bga0 = ROL32(A##bo0, 14); \
+ A##gu0 ^= Du0; \
+ Bge0 = ROL32(A##gu0, 10); \
+ A##ka1 ^= Da1; \
+ Bgi0 = ROL32(A##ka1, 2); \
+ A##me1 ^= De1; \
+ Bgo0 = ROL32(A##me1, 23); \
+ A##si1 ^= Di1; \
+ Bgu0 = ROL32(A##si1, 31); \
+ E##ga0 = Bga0 ^( Bge0 | Bgi0 ); \
+ E##ge0 = Bge0 ^( Bgi0 & Bgo0 ); \
+ E##gi0 = Bgi0 ^( Bgo0 |(~Bgu0)); \
+ E##go0 = Bgo0 ^( Bgu0 | Bga0 ); \
+ E##gu0 = Bgu0 ^( Bga0 & Bge0 ); \
+\
+ A##bo1 ^= Do1; \
+ Bga1 = ROL32(A##bo1, 14); \
+ A##gu1 ^= Du1; \
+ Bge1 = ROL32(A##gu1, 10); \
+ A##ka0 ^= Da0; \
+ Bgi1 = ROL32(A##ka0, 1); \
+ A##me0 ^= De0; \
+ Bgo1 = ROL32(A##me0, 22); \
+ A##si0 ^= Di0; \
+ Bgu1 = ROL32(A##si0, 30); \
+ E##ga1 = Bga1 ^( Bge1 | Bgi1 ); \
+ E##ge1 = Bge1 ^( Bgi1 & Bgo1 ); \
+ E##gi1 = Bgi1 ^( Bgo1 |(~Bgu1)); \
+ E##go1 = Bgo1 ^( Bgu1 | Bga1 ); \
+ E##gu1 = Bgu1 ^( Bga1 & Bge1 ); \
+\
+ A##be1 ^= De1; \
+ Bka0 = ROL32(A##be1, 1); \
+ A##gi0 ^= Di0; \
+ Bke0 = ROL32(A##gi0, 3); \
+ A##ko1 ^= Do1; \
+ Bki0 = ROL32(A##ko1, 13); \
+ A##mu0 ^= Du0; \
+ Bko0 = ROL32(A##mu0, 4); \
+ A##sa0 ^= Da0; \
+ Bku0 = ROL32(A##sa0, 9); \
+ E##ka0 = Bka0 ^( Bke0 | Bki0 ); \
+ E##ke0 = Bke0 ^( Bki0 & Bko0 ); \
+ E##ki0 = Bki0 ^((~Bko0)& Bku0 ); \
+ E##ko0 = (~Bko0)^( Bku0 | Bka0 ); \
+ E##ku0 = Bku0 ^( Bka0 & Bke0 ); \
+\
+ A##be0 ^= De0; \
+ Bka1 = A##be0; \
+ A##gi1 ^= Di1; \
+ Bke1 = ROL32(A##gi1, 3); \
+ A##ko0 ^= Do0; \
+ Bki1 = ROL32(A##ko0, 12); \
+ A##mu1 ^= Du1; \
+ Bko1 = ROL32(A##mu1, 4); \
+ A##sa1 ^= Da1; \
+ Bku1 = ROL32(A##sa1, 9); \
+ E##ka1 = Bka1 ^( Bke1 | Bki1 ); \
+ E##ke1 = Bke1 ^( Bki1 & Bko1 ); \
+ E##ki1 = Bki1 ^((~Bko1)& Bku1 ); \
+ E##ko1 = (~Bko1)^( Bku1 | Bka1 ); \
+ E##ku1 = Bku1 ^( Bka1 & Bke1 ); \
+\
+ A##bu1 ^= Du1; \
+ Bma0 = ROL32(A##bu1, 14); \
+ A##ga0 ^= Da0; \
+ Bme0 = ROL32(A##ga0, 18); \
+ A##ke0 ^= De0; \
+ Bmi0 = ROL32(A##ke0, 5); \
+ A##mi1 ^= Di1; \
+ Bmo0 = ROL32(A##mi1, 8); \
+ A##so0 ^= Do0; \
+ Bmu0 = ROL32(A##so0, 28); \
+ E##ma0 = Bma0 ^( Bme0 & Bmi0 ); \
+ E##me0 = Bme0 ^( Bmi0 | Bmo0 ); \
+ E##mi0 = Bmi0 ^((~Bmo0)| Bmu0 ); \
+ E##mo0 = (~Bmo0)^( Bmu0 & Bma0 ); \
+ E##mu0 = Bmu0 ^( Bma0 | Bme0 ); \
+\
+ A##bu0 ^= Du0; \
+ Bma1 = ROL32(A##bu0, 13); \
+ A##ga1 ^= Da1; \
+ Bme1 = ROL32(A##ga1, 18); \
+ A##ke1 ^= De1; \
+ Bmi1 = ROL32(A##ke1, 5); \
+ A##mi0 ^= Di0; \
+ Bmo1 = ROL32(A##mi0, 7); \
+ A##so1 ^= Do1; \
+ Bmu1 = ROL32(A##so1, 28); \
+ E##ma1 = Bma1 ^( Bme1 & Bmi1 ); \
+ E##me1 = Bme1 ^( Bmi1 | Bmo1 ); \
+ E##mi1 = Bmi1 ^((~Bmo1)| Bmu1 ); \
+ E##mo1 = (~Bmo1)^( Bmu1 & Bma1 ); \
+ E##mu1 = Bmu1 ^( Bma1 | Bme1 ); \
+\
+ A##bi0 ^= Di0; \
+ Bsa0 = ROL32(A##bi0, 31); \
+ A##go1 ^= Do1; \
+ Bse0 = ROL32(A##go1, 28); \
+ A##ku1 ^= Du1; \
+ Bsi0 = ROL32(A##ku1, 20); \
+ A##ma1 ^= Da1; \
+ Bso0 = ROL32(A##ma1, 21); \
+ A##se0 ^= De0; \
+ Bsu0 = ROL32(A##se0, 1); \
+ E##sa0 = Bsa0 ^((~Bse0)& Bsi0 ); \
+ E##se0 = (~Bse0)^( Bsi0 | Bso0 ); \
+ E##si0 = Bsi0 ^( Bso0 & Bsu0 ); \
+ E##so0 = Bso0 ^( Bsu0 | Bsa0 ); \
+ E##su0 = Bsu0 ^( Bsa0 & Bse0 ); \
+\
+ A##bi1 ^= Di1; \
+ Bsa1 = ROL32(A##bi1, 31); \
+ A##go0 ^= Do0; \
+ Bse1 = ROL32(A##go0, 27); \
+ A##ku0 ^= Du0; \
+ Bsi1 = ROL32(A##ku0, 19); \
+ A##ma0 ^= Da0; \
+ Bso1 = ROL32(A##ma0, 20); \
+ A##se1 ^= De1; \
+ Bsu1 = ROL32(A##se1, 1); \
+ E##sa1 = Bsa1 ^((~Bse1)& Bsi1 ); \
+ E##se1 = (~Bse1)^( Bsi1 | Bso1 ); \
+ E##si1 = Bsi1 ^( Bso1 & Bsu1 ); \
+ E##so1 = Bso1 ^( Bsu1 | Bsa1 ); \
+ E##su1 = Bsu1 ^( Bsa1 & Bse1 ); \
+\
+
+#else /* UseBebigokimisa */
+/* --- Code for round, with prepare-theta */
+/* --- using factor 2 interleaving, 64-bit lanes mapped to 32-bit words */
+#define thetaRhoPiChiIotaPrepareTheta(i, A, E) \
+ Da0 = Cu0^ROL32(Ce1, 1); \
+ Da1 = Cu1^Ce0; \
+ De0 = Ca0^ROL32(Ci1, 1); \
+ De1 = Ca1^Ci0; \
+ Di0 = Ce0^ROL32(Co1, 1); \
+ Di1 = Ce1^Co0; \
+ Do0 = Ci0^ROL32(Cu1, 1); \
+ Do1 = Ci1^Cu0; \
+ Du0 = Co0^ROL32(Ca1, 1); \
+ Du1 = Co1^Ca0; \
+\
+ A##ba0 ^= Da0; \
+ Bba0 = A##ba0; \
+ A##ge0 ^= De0; \
+ Bbe0 = ROL32(A##ge0, 22); \
+ A##ki1 ^= Di1; \
+ Bbi0 = ROL32(A##ki1, 22); \
+ A##mo1 ^= Do1; \
+ Bbo0 = ROL32(A##mo1, 11); \
+ A##su0 ^= Du0; \
+ Bbu0 = ROL32(A##su0, 7); \
+ E##ba0 = Bba0 ^((~Bbe0)& Bbi0 ); \
+ E##ba0 ^= KeccakF1600RoundConstants_int2_0[i]; \
+ Ca0 = E##ba0; \
+ E##be0 = Bbe0 ^((~Bbi0)& Bbo0 ); \
+ Ce0 = E##be0; \
+ E##bi0 = Bbi0 ^((~Bbo0)& Bbu0 ); \
+ Ci0 = E##bi0; \
+ E##bo0 = Bbo0 ^((~Bbu0)& Bba0 ); \
+ Co0 = E##bo0; \
+ E##bu0 = Bbu0 ^((~Bba0)& Bbe0 ); \
+ Cu0 = E##bu0; \
+\
+ A##ba1 ^= Da1; \
+ Bba1 = A##ba1; \
+ A##ge1 ^= De1; \
+ Bbe1 = ROL32(A##ge1, 22); \
+ A##ki0 ^= Di0; \
+ Bbi1 = ROL32(A##ki0, 21); \
+ A##mo0 ^= Do0; \
+ Bbo1 = ROL32(A##mo0, 10); \
+ A##su1 ^= Du1; \
+ Bbu1 = ROL32(A##su1, 7); \
+ E##ba1 = Bba1 ^((~Bbe1)& Bbi1 ); \
+ E##ba1 ^= KeccakF1600RoundConstants_int2_1[i]; \
+ Ca1 = E##ba1; \
+ E##be1 = Bbe1 ^((~Bbi1)& Bbo1 ); \
+ Ce1 = E##be1; \
+ E##bi1 = Bbi1 ^((~Bbo1)& Bbu1 ); \
+ Ci1 = E##bi1; \
+ E##bo1 = Bbo1 ^((~Bbu1)& Bba1 ); \
+ Co1 = E##bo1; \
+ E##bu1 = Bbu1 ^((~Bba1)& Bbe1 ); \
+ Cu1 = E##bu1; \
+\
+ A##bo0 ^= Do0; \
+ Bga0 = ROL32(A##bo0, 14); \
+ A##gu0 ^= Du0; \
+ Bge0 = ROL32(A##gu0, 10); \
+ A##ka1 ^= Da1; \
+ Bgi0 = ROL32(A##ka1, 2); \
+ A##me1 ^= De1; \
+ Bgo0 = ROL32(A##me1, 23); \
+ A##si1 ^= Di1; \
+ Bgu0 = ROL32(A##si1, 31); \
+ E##ga0 = Bga0 ^((~Bge0)& Bgi0 ); \
+ Ca0 ^= E##ga0; \
+ E##ge0 = Bge0 ^((~Bgi0)& Bgo0 ); \
+ Ce0 ^= E##ge0; \
+ E##gi0 = Bgi0 ^((~Bgo0)& Bgu0 ); \
+ Ci0 ^= E##gi0; \
+ E##go0 = Bgo0 ^((~Bgu0)& Bga0 ); \
+ Co0 ^= E##go0; \
+ E##gu0 = Bgu0 ^((~Bga0)& Bge0 ); \
+ Cu0 ^= E##gu0; \
+\
+ A##bo1 ^= Do1; \
+ Bga1 = ROL32(A##bo1, 14); \
+ A##gu1 ^= Du1; \
+ Bge1 = ROL32(A##gu1, 10); \
+ A##ka0 ^= Da0; \
+ Bgi1 = ROL32(A##ka0, 1); \
+ A##me0 ^= De0; \
+ Bgo1 = ROL32(A##me0, 22); \
+ A##si0 ^= Di0; \
+ Bgu1 = ROL32(A##si0, 30); \
+ E##ga1 = Bga1 ^((~Bge1)& Bgi1 ); \
+ Ca1 ^= E##ga1; \
+ E##ge1 = Bge1 ^((~Bgi1)& Bgo1 ); \
+ Ce1 ^= E##ge1; \
+ E##gi1 = Bgi1 ^((~Bgo1)& Bgu1 ); \
+ Ci1 ^= E##gi1; \
+ E##go1 = Bgo1 ^((~Bgu1)& Bga1 ); \
+ Co1 ^= E##go1; \
+ E##gu1 = Bgu1 ^((~Bga1)& Bge1 ); \
+ Cu1 ^= E##gu1; \
+\
+ A##be1 ^= De1; \
+ Bka0 = ROL32(A##be1, 1); \
+ A##gi0 ^= Di0; \
+ Bke0 = ROL32(A##gi0, 3); \
+ A##ko1 ^= Do1; \
+ Bki0 = ROL32(A##ko1, 13); \
+ A##mu0 ^= Du0; \
+ Bko0 = ROL32(A##mu0, 4); \
+ A##sa0 ^= Da0; \
+ Bku0 = ROL32(A##sa0, 9); \
+ E##ka0 = Bka0 ^((~Bke0)& Bki0 ); \
+ Ca0 ^= E##ka0; \
+ E##ke0 = Bke0 ^((~Bki0)& Bko0 ); \
+ Ce0 ^= E##ke0; \
+ E##ki0 = Bki0 ^((~Bko0)& Bku0 ); \
+ Ci0 ^= E##ki0; \
+ E##ko0 = Bko0 ^((~Bku0)& Bka0 ); \
+ Co0 ^= E##ko0; \
+ E##ku0 = Bku0 ^((~Bka0)& Bke0 ); \
+ Cu0 ^= E##ku0; \
+\
+ A##be0 ^= De0; \
+ Bka1 = A##be0; \
+ A##gi1 ^= Di1; \
+ Bke1 = ROL32(A##gi1, 3); \
+ A##ko0 ^= Do0; \
+ Bki1 = ROL32(A##ko0, 12); \
+ A##mu1 ^= Du1; \
+ Bko1 = ROL32(A##mu1, 4); \
+ A##sa1 ^= Da1; \
+ Bku1 = ROL32(A##sa1, 9); \
+ E##ka1 = Bka1 ^((~Bke1)& Bki1 ); \
+ Ca1 ^= E##ka1; \
+ E##ke1 = Bke1 ^((~Bki1)& Bko1 ); \
+ Ce1 ^= E##ke1; \
+ E##ki1 = Bki1 ^((~Bko1)& Bku1 ); \
+ Ci1 ^= E##ki1; \
+ E##ko1 = Bko1 ^((~Bku1)& Bka1 ); \
+ Co1 ^= E##ko1; \
+ E##ku1 = Bku1 ^((~Bka1)& Bke1 ); \
+ Cu1 ^= E##ku1; \
+\
+ A##bu1 ^= Du1; \
+ Bma0 = ROL32(A##bu1, 14); \
+ A##ga0 ^= Da0; \
+ Bme0 = ROL32(A##ga0, 18); \
+ A##ke0 ^= De0; \
+ Bmi0 = ROL32(A##ke0, 5); \
+ A##mi1 ^= Di1; \
+ Bmo0 = ROL32(A##mi1, 8); \
+ A##so0 ^= Do0; \
+ Bmu0 = ROL32(A##so0, 28); \
+ E##ma0 = Bma0 ^((~Bme0)& Bmi0 ); \
+ Ca0 ^= E##ma0; \
+ E##me0 = Bme0 ^((~Bmi0)& Bmo0 ); \
+ Ce0 ^= E##me0; \
+ E##mi0 = Bmi0 ^((~Bmo0)& Bmu0 ); \
+ Ci0 ^= E##mi0; \
+ E##mo0 = Bmo0 ^((~Bmu0)& Bma0 ); \
+ Co0 ^= E##mo0; \
+ E##mu0 = Bmu0 ^((~Bma0)& Bme0 ); \
+ Cu0 ^= E##mu0; \
+\
+ A##bu0 ^= Du0; \
+ Bma1 = ROL32(A##bu0, 13); \
+ A##ga1 ^= Da1; \
+ Bme1 = ROL32(A##ga1, 18); \
+ A##ke1 ^= De1; \
+ Bmi1 = ROL32(A##ke1, 5); \
+ A##mi0 ^= Di0; \
+ Bmo1 = ROL32(A##mi0, 7); \
+ A##so1 ^= Do1; \
+ Bmu1 = ROL32(A##so1, 28); \
+ E##ma1 = Bma1 ^((~Bme1)& Bmi1 ); \
+ Ca1 ^= E##ma1; \
+ E##me1 = Bme1 ^((~Bmi1)& Bmo1 ); \
+ Ce1 ^= E##me1; \
+ E##mi1 = Bmi1 ^((~Bmo1)& Bmu1 ); \
+ Ci1 ^= E##mi1; \
+ E##mo1 = Bmo1 ^((~Bmu1)& Bma1 ); \
+ Co1 ^= E##mo1; \
+ E##mu1 = Bmu1 ^((~Bma1)& Bme1 ); \
+ Cu1 ^= E##mu1; \
+\
+ A##bi0 ^= Di0; \
+ Bsa0 = ROL32(A##bi0, 31); \
+ A##go1 ^= Do1; \
+ Bse0 = ROL32(A##go1, 28); \
+ A##ku1 ^= Du1; \
+ Bsi0 = ROL32(A##ku1, 20); \
+ A##ma1 ^= Da1; \
+ Bso0 = ROL32(A##ma1, 21); \
+ A##se0 ^= De0; \
+ Bsu0 = ROL32(A##se0, 1); \
+ E##sa0 = Bsa0 ^((~Bse0)& Bsi0 ); \
+ Ca0 ^= E##sa0; \
+ E##se0 = Bse0 ^((~Bsi0)& Bso0 ); \
+ Ce0 ^= E##se0; \
+ E##si0 = Bsi0 ^((~Bso0)& Bsu0 ); \
+ Ci0 ^= E##si0; \
+ E##so0 = Bso0 ^((~Bsu0)& Bsa0 ); \
+ Co0 ^= E##so0; \
+ E##su0 = Bsu0 ^((~Bsa0)& Bse0 ); \
+ Cu0 ^= E##su0; \
+\
+ A##bi1 ^= Di1; \
+ Bsa1 = ROL32(A##bi1, 31); \
+ A##go0 ^= Do0; \
+ Bse1 = ROL32(A##go0, 27); \
+ A##ku0 ^= Du0; \
+ Bsi1 = ROL32(A##ku0, 19); \
+ A##ma0 ^= Da0; \
+ Bso1 = ROL32(A##ma0, 20); \
+ A##se1 ^= De1; \
+ Bsu1 = ROL32(A##se1, 1); \
+ E##sa1 = Bsa1 ^((~Bse1)& Bsi1 ); \
+ Ca1 ^= E##sa1; \
+ E##se1 = Bse1 ^((~Bsi1)& Bso1 ); \
+ Ce1 ^= E##se1; \
+ E##si1 = Bsi1 ^((~Bso1)& Bsu1 ); \
+ Ci1 ^= E##si1; \
+ E##so1 = Bso1 ^((~Bsu1)& Bsa1 ); \
+ Co1 ^= E##so1; \
+ E##su1 = Bsu1 ^((~Bsa1)& Bse1 ); \
+ Cu1 ^= E##su1; \
+\
+
+/* --- Code for round */
+/* --- using factor 2 interleaving, 64-bit lanes mapped to 32-bit words */
+#define thetaRhoPiChiIota(i, A, E) \
+ Da0 = Cu0^ROL32(Ce1, 1); \
+ Da1 = Cu1^Ce0; \
+ De0 = Ca0^ROL32(Ci1, 1); \
+ De1 = Ca1^Ci0; \
+ Di0 = Ce0^ROL32(Co1, 1); \
+ Di1 = Ce1^Co0; \
+ Do0 = Ci0^ROL32(Cu1, 1); \
+ Do1 = Ci1^Cu0; \
+ Du0 = Co0^ROL32(Ca1, 1); \
+ Du1 = Co1^Ca0; \
+\
+ A##ba0 ^= Da0; \
+ Bba0 = A##ba0; \
+ A##ge0 ^= De0; \
+ Bbe0 = ROL32(A##ge0, 22); \
+ A##ki1 ^= Di1; \
+ Bbi0 = ROL32(A##ki1, 22); \
+ A##mo1 ^= Do1; \
+ Bbo0 = ROL32(A##mo1, 11); \
+ A##su0 ^= Du0; \
+ Bbu0 = ROL32(A##su0, 7); \
+ E##ba0 = Bba0 ^((~Bbe0)& Bbi0 ); \
+ E##ba0 ^= KeccakF1600RoundConstants_int2_0[i]; \
+ E##be0 = Bbe0 ^((~Bbi0)& Bbo0 ); \
+ E##bi0 = Bbi0 ^((~Bbo0)& Bbu0 ); \
+ E##bo0 = Bbo0 ^((~Bbu0)& Bba0 ); \
+ E##bu0 = Bbu0 ^((~Bba0)& Bbe0 ); \
+\
+ A##ba1 ^= Da1; \
+ Bba1 = A##ba1; \
+ A##ge1 ^= De1; \
+ Bbe1 = ROL32(A##ge1, 22); \
+ A##ki0 ^= Di0; \
+ Bbi1 = ROL32(A##ki0, 21); \
+ A##mo0 ^= Do0; \
+ Bbo1 = ROL32(A##mo0, 10); \
+ A##su1 ^= Du1; \
+ Bbu1 = ROL32(A##su1, 7); \
+ E##ba1 = Bba1 ^((~Bbe1)& Bbi1 ); \
+ E##ba1 ^= KeccakF1600RoundConstants_int2_1[i]; \
+ E##be1 = Bbe1 ^((~Bbi1)& Bbo1 ); \
+ E##bi1 = Bbi1 ^((~Bbo1)& Bbu1 ); \
+ E##bo1 = Bbo1 ^((~Bbu1)& Bba1 ); \
+ E##bu1 = Bbu1 ^((~Bba1)& Bbe1 ); \
+\
+ A##bo0 ^= Do0; \
+ Bga0 = ROL32(A##bo0, 14); \
+ A##gu0 ^= Du0; \
+ Bge0 = ROL32(A##gu0, 10); \
+ A##ka1 ^= Da1; \
+ Bgi0 = ROL32(A##ka1, 2); \
+ A##me1 ^= De1; \
+ Bgo0 = ROL32(A##me1, 23); \
+ A##si1 ^= Di1; \
+ Bgu0 = ROL32(A##si1, 31); \
+ E##ga0 = Bga0 ^((~Bge0)& Bgi0 ); \
+ E##ge0 = Bge0 ^((~Bgi0)& Bgo0 ); \
+ E##gi0 = Bgi0 ^((~Bgo0)& Bgu0 ); \
+ E##go0 = Bgo0 ^((~Bgu0)& Bga0 ); \
+ E##gu0 = Bgu0 ^((~Bga0)& Bge0 ); \
+\
+ A##bo1 ^= Do1; \
+ Bga1 = ROL32(A##bo1, 14); \
+ A##gu1 ^= Du1; \
+ Bge1 = ROL32(A##gu1, 10); \
+ A##ka0 ^= Da0; \
+ Bgi1 = ROL32(A##ka0, 1); \
+ A##me0 ^= De0; \
+ Bgo1 = ROL32(A##me0, 22); \
+ A##si0 ^= Di0; \
+ Bgu1 = ROL32(A##si0, 30); \
+ E##ga1 = Bga1 ^((~Bge1)& Bgi1 ); \
+ E##ge1 = Bge1 ^((~Bgi1)& Bgo1 ); \
+ E##gi1 = Bgi1 ^((~Bgo1)& Bgu1 ); \
+ E##go1 = Bgo1 ^((~Bgu1)& Bga1 ); \
+ E##gu1 = Bgu1 ^((~Bga1)& Bge1 ); \
+\
+ A##be1 ^= De1; \
+ Bka0 = ROL32(A##be1, 1); \
+ A##gi0 ^= Di0; \
+ Bke0 = ROL32(A##gi0, 3); \
+ A##ko1 ^= Do1; \
+ Bki0 = ROL32(A##ko1, 13); \
+ A##mu0 ^= Du0; \
+ Bko0 = ROL32(A##mu0, 4); \
+ A##sa0 ^= Da0; \
+ Bku0 = ROL32(A##sa0, 9); \
+ E##ka0 = Bka0 ^((~Bke0)& Bki0 ); \
+ E##ke0 = Bke0 ^((~Bki0)& Bko0 ); \
+ E##ki0 = Bki0 ^((~Bko0)& Bku0 ); \
+ E##ko0 = Bko0 ^((~Bku0)& Bka0 ); \
+ E##ku0 = Bku0 ^((~Bka0)& Bke0 ); \
+\
+ A##be0 ^= De0; \
+ Bka1 = A##be0; \
+ A##gi1 ^= Di1; \
+ Bke1 = ROL32(A##gi1, 3); \
+ A##ko0 ^= Do0; \
+ Bki1 = ROL32(A##ko0, 12); \
+ A##mu1 ^= Du1; \
+ Bko1 = ROL32(A##mu1, 4); \
+ A##sa1 ^= Da1; \
+ Bku1 = ROL32(A##sa1, 9); \
+ E##ka1 = Bka1 ^((~Bke1)& Bki1 ); \
+ E##ke1 = Bke1 ^((~Bki1)& Bko1 ); \
+ E##ki1 = Bki1 ^((~Bko1)& Bku1 ); \
+ E##ko1 = Bko1 ^((~Bku1)& Bka1 ); \
+ E##ku1 = Bku1 ^((~Bka1)& Bke1 ); \
+\
+ A##bu1 ^= Du1; \
+ Bma0 = ROL32(A##bu1, 14); \
+ A##ga0 ^= Da0; \
+ Bme0 = ROL32(A##ga0, 18); \
+ A##ke0 ^= De0; \
+ Bmi0 = ROL32(A##ke0, 5); \
+ A##mi1 ^= Di1; \
+ Bmo0 = ROL32(A##mi1, 8); \
+ A##so0 ^= Do0; \
+ Bmu0 = ROL32(A##so0, 28); \
+ E##ma0 = Bma0 ^((~Bme0)& Bmi0 ); \
+ E##me0 = Bme0 ^((~Bmi0)& Bmo0 ); \
+ E##mi0 = Bmi0 ^((~Bmo0)& Bmu0 ); \
+ E##mo0 = Bmo0 ^((~Bmu0)& Bma0 ); \
+ E##mu0 = Bmu0 ^((~Bma0)& Bme0 ); \
+\
+ A##bu0 ^= Du0; \
+ Bma1 = ROL32(A##bu0, 13); \
+ A##ga1 ^= Da1; \
+ Bme1 = ROL32(A##ga1, 18); \
+ A##ke1 ^= De1; \
+ Bmi1 = ROL32(A##ke1, 5); \
+ A##mi0 ^= Di0; \
+ Bmo1 = ROL32(A##mi0, 7); \
+ A##so1 ^= Do1; \
+ Bmu1 = ROL32(A##so1, 28); \
+ E##ma1 = Bma1 ^((~Bme1)& Bmi1 ); \
+ E##me1 = Bme1 ^((~Bmi1)& Bmo1 ); \
+ E##mi1 = Bmi1 ^((~Bmo1)& Bmu1 ); \
+ E##mo1 = Bmo1 ^((~Bmu1)& Bma1 ); \
+ E##mu1 = Bmu1 ^((~Bma1)& Bme1 ); \
+\
+ A##bi0 ^= Di0; \
+ Bsa0 = ROL32(A##bi0, 31); \
+ A##go1 ^= Do1; \
+ Bse0 = ROL32(A##go1, 28); \
+ A##ku1 ^= Du1; \
+ Bsi0 = ROL32(A##ku1, 20); \
+ A##ma1 ^= Da1; \
+ Bso0 = ROL32(A##ma1, 21); \
+ A##se0 ^= De0; \
+ Bsu0 = ROL32(A##se0, 1); \
+ E##sa0 = Bsa0 ^((~Bse0)& Bsi0 ); \
+ E##se0 = Bse0 ^((~Bsi0)& Bso0 ); \
+ E##si0 = Bsi0 ^((~Bso0)& Bsu0 ); \
+ E##so0 = Bso0 ^((~Bsu0)& Bsa0 ); \
+ E##su0 = Bsu0 ^((~Bsa0)& Bse0 ); \
+\
+ A##bi1 ^= Di1; \
+ Bsa1 = ROL32(A##bi1, 31); \
+ A##go0 ^= Do0; \
+ Bse1 = ROL32(A##go0, 27); \
+ A##ku0 ^= Du0; \
+ Bsi1 = ROL32(A##ku0, 19); \
+ A##ma0 ^= Da0; \
+ Bso1 = ROL32(A##ma0, 20); \
+ A##se1 ^= De1; \
+ Bsu1 = ROL32(A##se1, 1); \
+ E##sa1 = Bsa1 ^((~Bse1)& Bsi1 ); \
+ E##se1 = Bse1 ^((~Bsi1)& Bso1 ); \
+ E##si1 = Bsi1 ^((~Bso1)& Bsu1 ); \
+ E##so1 = Bso1 ^((~Bsu1)& Bsa1 ); \
+ E##su1 = Bsu1 ^((~Bsa1)& Bse1 ); \
+\
+
+#endif /* UseBebigokimisa */
+
+const UINT32 KeccakF1600RoundConstants_int2_0[24] = {
+ 0x00000001UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000001UL,
+ 0x00000000UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000001UL,
+ 0x00000000UL,
+ 0x00000001UL,
+ 0x00000000UL };
+
+const UINT32 KeccakF1600RoundConstants_int2_1[24] = {
+ 0x00000000UL,
+ 0x00000089UL,
+ 0x8000008bUL,
+ 0x80008080UL,
+ 0x0000008bUL,
+ 0x00008000UL,
+ 0x80008088UL,
+ 0x80000082UL,
+ 0x0000000bUL,
+ 0x0000000aUL,
+ 0x00008082UL,
+ 0x00008003UL,
+ 0x0000808bUL,
+ 0x8000000bUL,
+ 0x8000008aUL,
+ 0x80000081UL,
+ 0x80000081UL,
+ 0x80000008UL,
+ 0x00000083UL,
+ 0x80008003UL,
+ 0x80008088UL,
+ 0x80000088UL,
+ 0x00008000UL,
+ 0x80008082UL };
+
+#define copyFromStateAndXor1024bits(X, state, input) \
+ X##ba0 = state[ 0]^input[ 0]; \
+ X##ba1 = state[ 1]^input[ 1]; \
+ X##be0 = state[ 2]^input[ 2]; \
+ X##be1 = state[ 3]^input[ 3]; \
+ X##bi0 = state[ 4]^input[ 4]; \
+ X##bi1 = state[ 5]^input[ 5]; \
+ X##bo0 = state[ 6]^input[ 6]; \
+ X##bo1 = state[ 7]^input[ 7]; \
+ X##bu0 = state[ 8]^input[ 8]; \
+ X##bu1 = state[ 9]^input[ 9]; \
+ X##ga0 = state[10]^input[10]; \
+ X##ga1 = state[11]^input[11]; \
+ X##ge0 = state[12]^input[12]; \
+ X##ge1 = state[13]^input[13]; \
+ X##gi0 = state[14]^input[14]; \
+ X##gi1 = state[15]^input[15]; \
+ X##go0 = state[16]^input[16]; \
+ X##go1 = state[17]^input[17]; \
+ X##gu0 = state[18]^input[18]; \
+ X##gu1 = state[19]^input[19]; \
+ X##ka0 = state[20]^input[20]; \
+ X##ka1 = state[21]^input[21]; \
+ X##ke0 = state[22]^input[22]; \
+ X##ke1 = state[23]^input[23]; \
+ X##ki0 = state[24]^input[24]; \
+ X##ki1 = state[25]^input[25]; \
+ X##ko0 = state[26]^input[26]; \
+ X##ko1 = state[27]^input[27]; \
+ X##ku0 = state[28]^input[28]; \
+ X##ku1 = state[29]^input[29]; \
+ X##ma0 = state[30]^input[30]; \
+ X##ma1 = state[31]^input[31]; \
+ X##me0 = state[32]; \
+ X##me1 = state[33]; \
+ X##mi0 = state[34]; \
+ X##mi1 = state[35]; \
+ X##mo0 = state[36]; \
+ X##mo1 = state[37]; \
+ X##mu0 = state[38]; \
+ X##mu1 = state[39]; \
+ X##sa0 = state[40]; \
+ X##sa1 = state[41]; \
+ X##se0 = state[42]; \
+ X##se1 = state[43]; \
+ X##si0 = state[44]; \
+ X##si1 = state[45]; \
+ X##so0 = state[46]; \
+ X##so1 = state[47]; \
+ X##su0 = state[48]; \
+ X##su1 = state[49]; \
+
+#define copyFromStateAndXor1088bits(X, state, input) \
+ X##ba0 = state[ 0]^input[ 0]; \
+ X##ba1 = state[ 1]^input[ 1]; \
+ X##be0 = state[ 2]^input[ 2]; \
+ X##be1 = state[ 3]^input[ 3]; \
+ X##bi0 = state[ 4]^input[ 4]; \
+ X##bi1 = state[ 5]^input[ 5]; \
+ X##bo0 = state[ 6]^input[ 6]; \
+ X##bo1 = state[ 7]^input[ 7]; \
+ X##bu0 = state[ 8]^input[ 8]; \
+ X##bu1 = state[ 9]^input[ 9]; \
+ X##ga0 = state[10]^input[10]; \
+ X##ga1 = state[11]^input[11]; \
+ X##ge0 = state[12]^input[12]; \
+ X##ge1 = state[13]^input[13]; \
+ X##gi0 = state[14]^input[14]; \
+ X##gi1 = state[15]^input[15]; \
+ X##go0 = state[16]^input[16]; \
+ X##go1 = state[17]^input[17]; \
+ X##gu0 = state[18]^input[18]; \
+ X##gu1 = state[19]^input[19]; \
+ X##ka0 = state[20]^input[20]; \
+ X##ka1 = state[21]^input[21]; \
+ X##ke0 = state[22]^input[22]; \
+ X##ke1 = state[23]^input[23]; \
+ X##ki0 = state[24]^input[24]; \
+ X##ki1 = state[25]^input[25]; \
+ X##ko0 = state[26]^input[26]; \
+ X##ko1 = state[27]^input[27]; \
+ X##ku0 = state[28]^input[28]; \
+ X##ku1 = state[29]^input[29]; \
+ X##ma0 = state[30]^input[30]; \
+ X##ma1 = state[31]^input[31]; \
+ X##me0 = state[32]^input[32]; \
+ X##me1 = state[33]^input[33]; \
+ X##mi0 = state[34]; \
+ X##mi1 = state[35]; \
+ X##mo0 = state[36]; \
+ X##mo1 = state[37]; \
+ X##mu0 = state[38]; \
+ X##mu1 = state[39]; \
+ X##sa0 = state[40]; \
+ X##sa1 = state[41]; \
+ X##se0 = state[42]; \
+ X##se1 = state[43]; \
+ X##si0 = state[44]; \
+ X##si1 = state[45]; \
+ X##so0 = state[46]; \
+ X##so1 = state[47]; \
+ X##su0 = state[48]; \
+ X##su1 = state[49]; \
+
+#define copyFromState(X, state) \
+ X##ba0 = state[ 0]; \
+ X##ba1 = state[ 1]; \
+ X##be0 = state[ 2]; \
+ X##be1 = state[ 3]; \
+ X##bi0 = state[ 4]; \
+ X##bi1 = state[ 5]; \
+ X##bo0 = state[ 6]; \
+ X##bo1 = state[ 7]; \
+ X##bu0 = state[ 8]; \
+ X##bu1 = state[ 9]; \
+ X##ga0 = state[10]; \
+ X##ga1 = state[11]; \
+ X##ge0 = state[12]; \
+ X##ge1 = state[13]; \
+ X##gi0 = state[14]; \
+ X##gi1 = state[15]; \
+ X##go0 = state[16]; \
+ X##go1 = state[17]; \
+ X##gu0 = state[18]; \
+ X##gu1 = state[19]; \
+ X##ka0 = state[20]; \
+ X##ka1 = state[21]; \
+ X##ke0 = state[22]; \
+ X##ke1 = state[23]; \
+ X##ki0 = state[24]; \
+ X##ki1 = state[25]; \
+ X##ko0 = state[26]; \
+ X##ko1 = state[27]; \
+ X##ku0 = state[28]; \
+ X##ku1 = state[29]; \
+ X##ma0 = state[30]; \
+ X##ma1 = state[31]; \
+ X##me0 = state[32]; \
+ X##me1 = state[33]; \
+ X##mi0 = state[34]; \
+ X##mi1 = state[35]; \
+ X##mo0 = state[36]; \
+ X##mo1 = state[37]; \
+ X##mu0 = state[38]; \
+ X##mu1 = state[39]; \
+ X##sa0 = state[40]; \
+ X##sa1 = state[41]; \
+ X##se0 = state[42]; \
+ X##se1 = state[43]; \
+ X##si0 = state[44]; \
+ X##si1 = state[45]; \
+ X##so0 = state[46]; \
+ X##so1 = state[47]; \
+ X##su0 = state[48]; \
+ X##su1 = state[49]; \
+
+#define copyToState(state, X) \
+ state[ 0] = X##ba0; \
+ state[ 1] = X##ba1; \
+ state[ 2] = X##be0; \
+ state[ 3] = X##be1; \
+ state[ 4] = X##bi0; \
+ state[ 5] = X##bi1; \
+ state[ 6] = X##bo0; \
+ state[ 7] = X##bo1; \
+ state[ 8] = X##bu0; \
+ state[ 9] = X##bu1; \
+ state[10] = X##ga0; \
+ state[11] = X##ga1; \
+ state[12] = X##ge0; \
+ state[13] = X##ge1; \
+ state[14] = X##gi0; \
+ state[15] = X##gi1; \
+ state[16] = X##go0; \
+ state[17] = X##go1; \
+ state[18] = X##gu0; \
+ state[19] = X##gu1; \
+ state[20] = X##ka0; \
+ state[21] = X##ka1; \
+ state[22] = X##ke0; \
+ state[23] = X##ke1; \
+ state[24] = X##ki0; \
+ state[25] = X##ki1; \
+ state[26] = X##ko0; \
+ state[27] = X##ko1; \
+ state[28] = X##ku0; \
+ state[29] = X##ku1; \
+ state[30] = X##ma0; \
+ state[31] = X##ma1; \
+ state[32] = X##me0; \
+ state[33] = X##me1; \
+ state[34] = X##mi0; \
+ state[35] = X##mi1; \
+ state[36] = X##mo0; \
+ state[37] = X##mo1; \
+ state[38] = X##mu0; \
+ state[39] = X##mu1; \
+ state[40] = X##sa0; \
+ state[41] = X##sa1; \
+ state[42] = X##se0; \
+ state[43] = X##se1; \
+ state[44] = X##si0; \
+ state[45] = X##si1; \
+ state[46] = X##so0; \
+ state[47] = X##so1; \
+ state[48] = X##su0; \
+ state[49] = X##su1; \
+
+#define copyStateVariables(X, Y) \
+ X##ba0 = Y##ba0; \
+ X##ba1 = Y##ba1; \
+ X##be0 = Y##be0; \
+ X##be1 = Y##be1; \
+ X##bi0 = Y##bi0; \
+ X##bi1 = Y##bi1; \
+ X##bo0 = Y##bo0; \
+ X##bo1 = Y##bo1; \
+ X##bu0 = Y##bu0; \
+ X##bu1 = Y##bu1; \
+ X##ga0 = Y##ga0; \
+ X##ga1 = Y##ga1; \
+ X##ge0 = Y##ge0; \
+ X##ge1 = Y##ge1; \
+ X##gi0 = Y##gi0; \
+ X##gi1 = Y##gi1; \
+ X##go0 = Y##go0; \
+ X##go1 = Y##go1; \
+ X##gu0 = Y##gu0; \
+ X##gu1 = Y##gu1; \
+ X##ka0 = Y##ka0; \
+ X##ka1 = Y##ka1; \
+ X##ke0 = Y##ke0; \
+ X##ke1 = Y##ke1; \
+ X##ki0 = Y##ki0; \
+ X##ki1 = Y##ki1; \
+ X##ko0 = Y##ko0; \
+ X##ko1 = Y##ko1; \
+ X##ku0 = Y##ku0; \
+ X##ku1 = Y##ku1; \
+ X##ma0 = Y##ma0; \
+ X##ma1 = Y##ma1; \
+ X##me0 = Y##me0; \
+ X##me1 = Y##me1; \
+ X##mi0 = Y##mi0; \
+ X##mi1 = Y##mi1; \
+ X##mo0 = Y##mo0; \
+ X##mo1 = Y##mo1; \
+ X##mu0 = Y##mu0; \
+ X##mu1 = Y##mu1; \
+ X##sa0 = Y##sa0; \
+ X##sa1 = Y##sa1; \
+ X##se0 = Y##se0; \
+ X##se1 = Y##se1; \
+ X##si0 = Y##si0; \
+ X##si1 = Y##si1; \
+ X##so0 = Y##so0; \
+ X##so1 = Y##so1; \
+ X##su0 = Y##su0; \
+ X##su1 = Y##su1; \
+
diff --git a/Modules/_sha3/keccak/KeccakF-1600-32-s2.macros b/Modules/_sha3/keccak/KeccakF-1600-32-s2.macros
new file mode 100644
index 0000000000..fa1176219a
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-32-s2.macros
@@ -0,0 +1,1187 @@
+/*
+Code automatically generated by KeccakTools!
+
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#define declareABCDE \
+ UINT32 Aba0, Abe0, Abi0, Abo0, Abu0; \
+ UINT32 Aba1, Abe1, Abi1, Abo1, Abu1; \
+ UINT32 Aga0, Age0, Agi0, Ago0, Agu0; \
+ UINT32 Aga1, Age1, Agi1, Ago1, Agu1; \
+ UINT32 Aka0, Ake0, Aki0, Ako0, Aku0; \
+ UINT32 Aka1, Ake1, Aki1, Ako1, Aku1; \
+ UINT32 Ama0, Ame0, Ami0, Amo0, Amu0; \
+ UINT32 Ama1, Ame1, Ami1, Amo1, Amu1; \
+ UINT32 Asa0, Ase0, Asi0, Aso0, Asu0; \
+ UINT32 Asa1, Ase1, Asi1, Aso1, Asu1; \
+ UINT32 Bba0, Bbe0, Bbi0, Bbo0, Bbu0; \
+ UINT32 Bba1, Bbe1, Bbi1, Bbo1, Bbu1; \
+ UINT32 Bga0, Bge0, Bgi0, Bgo0, Bgu0; \
+ UINT32 Bga1, Bge1, Bgi1, Bgo1, Bgu1; \
+ UINT32 Bka0, Bke0, Bki0, Bko0, Bku0; \
+ UINT32 Bka1, Bke1, Bki1, Bko1, Bku1; \
+ UINT32 Bma0, Bme0, Bmi0, Bmo0, Bmu0; \
+ UINT32 Bma1, Bme1, Bmi1, Bmo1, Bmu1; \
+ UINT32 Bsa0, Bse0, Bsi0, Bso0, Bsu0; \
+ UINT32 Bsa1, Bse1, Bsi1, Bso1, Bsu1; \
+ UINT32 Ca0, Ce0, Ci0, Co0, Cu0; \
+ UINT32 Ca1, Ce1, Ci1, Co1, Cu1; \
+ UINT32 Da0, De0, Di0, Do0, Du0; \
+ UINT32 Da1, De1, Di1, Do1, Du1; \
+ UINT32 Eba0, Ebe0, Ebi0, Ebo0, Ebu0; \
+ UINT32 Eba1, Ebe1, Ebi1, Ebo1, Ebu1; \
+ UINT32 Ega0, Ege0, Egi0, Ego0, Egu0; \
+ UINT32 Ega1, Ege1, Egi1, Ego1, Egu1; \
+ UINT32 Eka0, Eke0, Eki0, Eko0, Eku0; \
+ UINT32 Eka1, Eke1, Eki1, Eko1, Eku1; \
+ UINT32 Ema0, Eme0, Emi0, Emo0, Emu0; \
+ UINT32 Ema1, Eme1, Emi1, Emo1, Emu1; \
+ UINT32 Esa0, Ese0, Esi0, Eso0, Esu0; \
+ UINT32 Esa1, Ese1, Esi1, Eso1, Esu1; \
+
+#define prepareTheta \
+ Ca0 = Aba0^Aga0^Aka0^Ama0^Asa0; \
+ Ca1 = Aba1^Aga1^Aka1^Ama1^Asa1; \
+ Ce0 = Abe0^Age0^Ake0^Ame0^Ase0; \
+ Ce1 = Abe1^Age1^Ake1^Ame1^Ase1; \
+ Ci0 = Abi0^Agi0^Aki0^Ami0^Asi0; \
+ Ci1 = Abi1^Agi1^Aki1^Ami1^Asi1; \
+ Co0 = Abo0^Ago0^Ako0^Amo0^Aso0; \
+ Co1 = Abo1^Ago1^Ako1^Amo1^Aso1; \
+ Cu0 = Abu0^Agu0^Aku0^Amu0^Asu0; \
+ Cu1 = Abu1^Agu1^Aku1^Amu1^Asu1; \
+
+#ifdef UseBebigokimisa
+/* --- Code for round, with prepare-theta (lane complementing pattern 'bebigokimisa') */
+/* --- using factor 2 interleaving, 64-bit lanes mapped to 32-bit words */
+#define thetaRhoPiChiIotaPrepareTheta(i, A, E) \
+ Da0 = Cu0^ROL32(Ce1, 1); \
+ Da1 = Cu1^Ce0; \
+ De0 = Ca0^ROL32(Ci1, 1); \
+ De1 = Ca1^Ci0; \
+ Di0 = Ce0^ROL32(Co1, 1); \
+ Di1 = Ce1^Co0; \
+ Do0 = Ci0^ROL32(Cu1, 1); \
+ Do1 = Ci1^Cu0; \
+ Du0 = Co0^ROL32(Ca1, 1); \
+ Du1 = Co1^Ca0; \
+\
+ A##ba0 ^= Da0; \
+ Bba0 = A##ba0; \
+ A##ge0 ^= De0; \
+ Bbe0 = ROL32(A##ge0, 22); \
+ A##ki1 ^= Di1; \
+ Bbi0 = ROL32(A##ki1, 22); \
+ E##ba0 = Bba0 ^( Bbe0 | Bbi0 ); \
+ E##ba0 ^= KeccakF1600RoundConstants_int2_0[i]; \
+ Ca0 = E##ba0; \
+ A##mo1 ^= Do1; \
+ Bbo0 = ROL32(A##mo1, 11); \
+ E##be0 = Bbe0 ^((~Bbi0)| Bbo0 ); \
+ Ce0 = E##be0; \
+ A##su0 ^= Du0; \
+ Bbu0 = ROL32(A##su0, 7); \
+ E##bi0 = Bbi0 ^( Bbo0 & Bbu0 ); \
+ Ci0 = E##bi0; \
+ E##bo0 = Bbo0 ^( Bbu0 | Bba0 ); \
+ Co0 = E##bo0; \
+ E##bu0 = Bbu0 ^( Bba0 & Bbe0 ); \
+ Cu0 = E##bu0; \
+\
+ A##ba1 ^= Da1; \
+ Bba1 = A##ba1; \
+ A##ge1 ^= De1; \
+ Bbe1 = ROL32(A##ge1, 22); \
+ A##ki0 ^= Di0; \
+ Bbi1 = ROL32(A##ki0, 21); \
+ E##ba1 = Bba1 ^( Bbe1 | Bbi1 ); \
+ E##ba1 ^= KeccakF1600RoundConstants_int2_1[i]; \
+ Ca1 = E##ba1; \
+ A##mo0 ^= Do0; \
+ Bbo1 = ROL32(A##mo0, 10); \
+ E##be1 = Bbe1 ^((~Bbi1)| Bbo1 ); \
+ Ce1 = E##be1; \
+ A##su1 ^= Du1; \
+ Bbu1 = ROL32(A##su1, 7); \
+ E##bi1 = Bbi1 ^( Bbo1 & Bbu1 ); \
+ Ci1 = E##bi1; \
+ E##bo1 = Bbo1 ^( Bbu1 | Bba1 ); \
+ Co1 = E##bo1; \
+ E##bu1 = Bbu1 ^( Bba1 & Bbe1 ); \
+ Cu1 = E##bu1; \
+\
+ A##bo0 ^= Do0; \
+ Bga0 = ROL32(A##bo0, 14); \
+ A##gu0 ^= Du0; \
+ Bge0 = ROL32(A##gu0, 10); \
+ A##ka1 ^= Da1; \
+ Bgi0 = ROL32(A##ka1, 2); \
+ E##ga0 = Bga0 ^( Bge0 | Bgi0 ); \
+ Ca0 ^= E##ga0; \
+ A##me1 ^= De1; \
+ Bgo0 = ROL32(A##me1, 23); \
+ E##ge0 = Bge0 ^( Bgi0 & Bgo0 ); \
+ Ce0 ^= E##ge0; \
+ A##si1 ^= Di1; \
+ Bgu0 = ROL32(A##si1, 31); \
+ E##gi0 = Bgi0 ^( Bgo0 |(~Bgu0)); \
+ Ci0 ^= E##gi0; \
+ E##go0 = Bgo0 ^( Bgu0 | Bga0 ); \
+ Co0 ^= E##go0; \
+ E##gu0 = Bgu0 ^( Bga0 & Bge0 ); \
+ Cu0 ^= E##gu0; \
+\
+ A##bo1 ^= Do1; \
+ Bga1 = ROL32(A##bo1, 14); \
+ A##gu1 ^= Du1; \
+ Bge1 = ROL32(A##gu1, 10); \
+ A##ka0 ^= Da0; \
+ Bgi1 = ROL32(A##ka0, 1); \
+ E##ga1 = Bga1 ^( Bge1 | Bgi1 ); \
+ Ca1 ^= E##ga1; \
+ A##me0 ^= De0; \
+ Bgo1 = ROL32(A##me0, 22); \
+ E##ge1 = Bge1 ^( Bgi1 & Bgo1 ); \
+ Ce1 ^= E##ge1; \
+ A##si0 ^= Di0; \
+ Bgu1 = ROL32(A##si0, 30); \
+ E##gi1 = Bgi1 ^( Bgo1 |(~Bgu1)); \
+ Ci1 ^= E##gi1; \
+ E##go1 = Bgo1 ^( Bgu1 | Bga1 ); \
+ Co1 ^= E##go1; \
+ E##gu1 = Bgu1 ^( Bga1 & Bge1 ); \
+ Cu1 ^= E##gu1; \
+\
+ A##be1 ^= De1; \
+ Bka0 = ROL32(A##be1, 1); \
+ A##gi0 ^= Di0; \
+ Bke0 = ROL32(A##gi0, 3); \
+ A##ko1 ^= Do1; \
+ Bki0 = ROL32(A##ko1, 13); \
+ E##ka0 = Bka0 ^( Bke0 | Bki0 ); \
+ Ca0 ^= E##ka0; \
+ A##mu0 ^= Du0; \
+ Bko0 = ROL32(A##mu0, 4); \
+ E##ke0 = Bke0 ^( Bki0 & Bko0 ); \
+ Ce0 ^= E##ke0; \
+ A##sa0 ^= Da0; \
+ Bku0 = ROL32(A##sa0, 9); \
+ E##ki0 = Bki0 ^((~Bko0)& Bku0 ); \
+ Ci0 ^= E##ki0; \
+ E##ko0 = (~Bko0)^( Bku0 | Bka0 ); \
+ Co0 ^= E##ko0; \
+ E##ku0 = Bku0 ^( Bka0 & Bke0 ); \
+ Cu0 ^= E##ku0; \
+\
+ A##be0 ^= De0; \
+ Bka1 = A##be0; \
+ A##gi1 ^= Di1; \
+ Bke1 = ROL32(A##gi1, 3); \
+ A##ko0 ^= Do0; \
+ Bki1 = ROL32(A##ko0, 12); \
+ E##ka1 = Bka1 ^( Bke1 | Bki1 ); \
+ Ca1 ^= E##ka1; \
+ A##mu1 ^= Du1; \
+ Bko1 = ROL32(A##mu1, 4); \
+ E##ke1 = Bke1 ^( Bki1 & Bko1 ); \
+ Ce1 ^= E##ke1; \
+ A##sa1 ^= Da1; \
+ Bku1 = ROL32(A##sa1, 9); \
+ E##ki1 = Bki1 ^((~Bko1)& Bku1 ); \
+ Ci1 ^= E##ki1; \
+ E##ko1 = (~Bko1)^( Bku1 | Bka1 ); \
+ Co1 ^= E##ko1; \
+ E##ku1 = Bku1 ^( Bka1 & Bke1 ); \
+ Cu1 ^= E##ku1; \
+\
+ A##bu1 ^= Du1; \
+ Bma0 = ROL32(A##bu1, 14); \
+ A##ga0 ^= Da0; \
+ Bme0 = ROL32(A##ga0, 18); \
+ A##ke0 ^= De0; \
+ Bmi0 = ROL32(A##ke0, 5); \
+ E##ma0 = Bma0 ^( Bme0 & Bmi0 ); \
+ Ca0 ^= E##ma0; \
+ A##mi1 ^= Di1; \
+ Bmo0 = ROL32(A##mi1, 8); \
+ E##me0 = Bme0 ^( Bmi0 | Bmo0 ); \
+ Ce0 ^= E##me0; \
+ A##so0 ^= Do0; \
+ Bmu0 = ROL32(A##so0, 28); \
+ E##mi0 = Bmi0 ^((~Bmo0)| Bmu0 ); \
+ Ci0 ^= E##mi0; \
+ E##mo0 = (~Bmo0)^( Bmu0 & Bma0 ); \
+ Co0 ^= E##mo0; \
+ E##mu0 = Bmu0 ^( Bma0 | Bme0 ); \
+ Cu0 ^= E##mu0; \
+\
+ A##bu0 ^= Du0; \
+ Bma1 = ROL32(A##bu0, 13); \
+ A##ga1 ^= Da1; \
+ Bme1 = ROL32(A##ga1, 18); \
+ A##ke1 ^= De1; \
+ Bmi1 = ROL32(A##ke1, 5); \
+ E##ma1 = Bma1 ^( Bme1 & Bmi1 ); \
+ Ca1 ^= E##ma1; \
+ A##mi0 ^= Di0; \
+ Bmo1 = ROL32(A##mi0, 7); \
+ E##me1 = Bme1 ^( Bmi1 | Bmo1 ); \
+ Ce1 ^= E##me1; \
+ A##so1 ^= Do1; \
+ Bmu1 = ROL32(A##so1, 28); \
+ E##mi1 = Bmi1 ^((~Bmo1)| Bmu1 ); \
+ Ci1 ^= E##mi1; \
+ E##mo1 = (~Bmo1)^( Bmu1 & Bma1 ); \
+ Co1 ^= E##mo1; \
+ E##mu1 = Bmu1 ^( Bma1 | Bme1 ); \
+ Cu1 ^= E##mu1; \
+\
+ A##bi0 ^= Di0; \
+ Bsa0 = ROL32(A##bi0, 31); \
+ A##go1 ^= Do1; \
+ Bse0 = ROL32(A##go1, 28); \
+ A##ku1 ^= Du1; \
+ Bsi0 = ROL32(A##ku1, 20); \
+ E##sa0 = Bsa0 ^((~Bse0)& Bsi0 ); \
+ Ca0 ^= E##sa0; \
+ A##ma1 ^= Da1; \
+ Bso0 = ROL32(A##ma1, 21); \
+ E##se0 = (~Bse0)^( Bsi0 | Bso0 ); \
+ Ce0 ^= E##se0; \
+ A##se0 ^= De0; \
+ Bsu0 = ROL32(A##se0, 1); \
+ E##si0 = Bsi0 ^( Bso0 & Bsu0 ); \
+ Ci0 ^= E##si0; \
+ E##so0 = Bso0 ^( Bsu0 | Bsa0 ); \
+ Co0 ^= E##so0; \
+ E##su0 = Bsu0 ^( Bsa0 & Bse0 ); \
+ Cu0 ^= E##su0; \
+\
+ A##bi1 ^= Di1; \
+ Bsa1 = ROL32(A##bi1, 31); \
+ A##go0 ^= Do0; \
+ Bse1 = ROL32(A##go0, 27); \
+ A##ku0 ^= Du0; \
+ Bsi1 = ROL32(A##ku0, 19); \
+ E##sa1 = Bsa1 ^((~Bse1)& Bsi1 ); \
+ Ca1 ^= E##sa1; \
+ A##ma0 ^= Da0; \
+ Bso1 = ROL32(A##ma0, 20); \
+ E##se1 = (~Bse1)^( Bsi1 | Bso1 ); \
+ Ce1 ^= E##se1; \
+ A##se1 ^= De1; \
+ Bsu1 = ROL32(A##se1, 1); \
+ E##si1 = Bsi1 ^( Bso1 & Bsu1 ); \
+ Ci1 ^= E##si1; \
+ E##so1 = Bso1 ^( Bsu1 | Bsa1 ); \
+ Co1 ^= E##so1; \
+ E##su1 = Bsu1 ^( Bsa1 & Bse1 ); \
+ Cu1 ^= E##su1; \
+\
+
+/* --- Code for round (lane complementing pattern 'bebigokimisa') */
+/* --- using factor 2 interleaving, 64-bit lanes mapped to 32-bit words */
+#define thetaRhoPiChiIota(i, A, E) \
+ Da0 = Cu0^ROL32(Ce1, 1); \
+ Da1 = Cu1^Ce0; \
+ De0 = Ca0^ROL32(Ci1, 1); \
+ De1 = Ca1^Ci0; \
+ Di0 = Ce0^ROL32(Co1, 1); \
+ Di1 = Ce1^Co0; \
+ Do0 = Ci0^ROL32(Cu1, 1); \
+ Do1 = Ci1^Cu0; \
+ Du0 = Co0^ROL32(Ca1, 1); \
+ Du1 = Co1^Ca0; \
+\
+ A##ba0 ^= Da0; \
+ Bba0 = A##ba0; \
+ A##ge0 ^= De0; \
+ Bbe0 = ROL32(A##ge0, 22); \
+ A##ki1 ^= Di1; \
+ Bbi0 = ROL32(A##ki1, 22); \
+ E##ba0 = Bba0 ^( Bbe0 | Bbi0 ); \
+ E##ba0 ^= KeccakF1600RoundConstants_int2_0[i]; \
+ A##mo1 ^= Do1; \
+ Bbo0 = ROL32(A##mo1, 11); \
+ E##be0 = Bbe0 ^((~Bbi0)| Bbo0 ); \
+ A##su0 ^= Du0; \
+ Bbu0 = ROL32(A##su0, 7); \
+ E##bi0 = Bbi0 ^( Bbo0 & Bbu0 ); \
+ E##bo0 = Bbo0 ^( Bbu0 | Bba0 ); \
+ E##bu0 = Bbu0 ^( Bba0 & Bbe0 ); \
+\
+ A##ba1 ^= Da1; \
+ Bba1 = A##ba1; \
+ A##ge1 ^= De1; \
+ Bbe1 = ROL32(A##ge1, 22); \
+ A##ki0 ^= Di0; \
+ Bbi1 = ROL32(A##ki0, 21); \
+ E##ba1 = Bba1 ^( Bbe1 | Bbi1 ); \
+ E##ba1 ^= KeccakF1600RoundConstants_int2_1[i]; \
+ A##mo0 ^= Do0; \
+ Bbo1 = ROL32(A##mo0, 10); \
+ E##be1 = Bbe1 ^((~Bbi1)| Bbo1 ); \
+ A##su1 ^= Du1; \
+ Bbu1 = ROL32(A##su1, 7); \
+ E##bi1 = Bbi1 ^( Bbo1 & Bbu1 ); \
+ E##bo1 = Bbo1 ^( Bbu1 | Bba1 ); \
+ E##bu1 = Bbu1 ^( Bba1 & Bbe1 ); \
+\
+ A##bo0 ^= Do0; \
+ Bga0 = ROL32(A##bo0, 14); \
+ A##gu0 ^= Du0; \
+ Bge0 = ROL32(A##gu0, 10); \
+ A##ka1 ^= Da1; \
+ Bgi0 = ROL32(A##ka1, 2); \
+ E##ga0 = Bga0 ^( Bge0 | Bgi0 ); \
+ A##me1 ^= De1; \
+ Bgo0 = ROL32(A##me1, 23); \
+ E##ge0 = Bge0 ^( Bgi0 & Bgo0 ); \
+ A##si1 ^= Di1; \
+ Bgu0 = ROL32(A##si1, 31); \
+ E##gi0 = Bgi0 ^( Bgo0 |(~Bgu0)); \
+ E##go0 = Bgo0 ^( Bgu0 | Bga0 ); \
+ E##gu0 = Bgu0 ^( Bga0 & Bge0 ); \
+\
+ A##bo1 ^= Do1; \
+ Bga1 = ROL32(A##bo1, 14); \
+ A##gu1 ^= Du1; \
+ Bge1 = ROL32(A##gu1, 10); \
+ A##ka0 ^= Da0; \
+ Bgi1 = ROL32(A##ka0, 1); \
+ E##ga1 = Bga1 ^( Bge1 | Bgi1 ); \
+ A##me0 ^= De0; \
+ Bgo1 = ROL32(A##me0, 22); \
+ E##ge1 = Bge1 ^( Bgi1 & Bgo1 ); \
+ A##si0 ^= Di0; \
+ Bgu1 = ROL32(A##si0, 30); \
+ E##gi1 = Bgi1 ^( Bgo1 |(~Bgu1)); \
+ E##go1 = Bgo1 ^( Bgu1 | Bga1 ); \
+ E##gu1 = Bgu1 ^( Bga1 & Bge1 ); \
+\
+ A##be1 ^= De1; \
+ Bka0 = ROL32(A##be1, 1); \
+ A##gi0 ^= Di0; \
+ Bke0 = ROL32(A##gi0, 3); \
+ A##ko1 ^= Do1; \
+ Bki0 = ROL32(A##ko1, 13); \
+ E##ka0 = Bka0 ^( Bke0 | Bki0 ); \
+ A##mu0 ^= Du0; \
+ Bko0 = ROL32(A##mu0, 4); \
+ E##ke0 = Bke0 ^( Bki0 & Bko0 ); \
+ A##sa0 ^= Da0; \
+ Bku0 = ROL32(A##sa0, 9); \
+ E##ki0 = Bki0 ^((~Bko0)& Bku0 ); \
+ E##ko0 = (~Bko0)^( Bku0 | Bka0 ); \
+ E##ku0 = Bku0 ^( Bka0 & Bke0 ); \
+\
+ A##be0 ^= De0; \
+ Bka1 = A##be0; \
+ A##gi1 ^= Di1; \
+ Bke1 = ROL32(A##gi1, 3); \
+ A##ko0 ^= Do0; \
+ Bki1 = ROL32(A##ko0, 12); \
+ E##ka1 = Bka1 ^( Bke1 | Bki1 ); \
+ A##mu1 ^= Du1; \
+ Bko1 = ROL32(A##mu1, 4); \
+ E##ke1 = Bke1 ^( Bki1 & Bko1 ); \
+ A##sa1 ^= Da1; \
+ Bku1 = ROL32(A##sa1, 9); \
+ E##ki1 = Bki1 ^((~Bko1)& Bku1 ); \
+ E##ko1 = (~Bko1)^( Bku1 | Bka1 ); \
+ E##ku1 = Bku1 ^( Bka1 & Bke1 ); \
+\
+ A##bu1 ^= Du1; \
+ Bma0 = ROL32(A##bu1, 14); \
+ A##ga0 ^= Da0; \
+ Bme0 = ROL32(A##ga0, 18); \
+ A##ke0 ^= De0; \
+ Bmi0 = ROL32(A##ke0, 5); \
+ E##ma0 = Bma0 ^( Bme0 & Bmi0 ); \
+ A##mi1 ^= Di1; \
+ Bmo0 = ROL32(A##mi1, 8); \
+ E##me0 = Bme0 ^( Bmi0 | Bmo0 ); \
+ A##so0 ^= Do0; \
+ Bmu0 = ROL32(A##so0, 28); \
+ E##mi0 = Bmi0 ^((~Bmo0)| Bmu0 ); \
+ E##mo0 = (~Bmo0)^( Bmu0 & Bma0 ); \
+ E##mu0 = Bmu0 ^( Bma0 | Bme0 ); \
+\
+ A##bu0 ^= Du0; \
+ Bma1 = ROL32(A##bu0, 13); \
+ A##ga1 ^= Da1; \
+ Bme1 = ROL32(A##ga1, 18); \
+ A##ke1 ^= De1; \
+ Bmi1 = ROL32(A##ke1, 5); \
+ E##ma1 = Bma1 ^( Bme1 & Bmi1 ); \
+ A##mi0 ^= Di0; \
+ Bmo1 = ROL32(A##mi0, 7); \
+ E##me1 = Bme1 ^( Bmi1 | Bmo1 ); \
+ A##so1 ^= Do1; \
+ Bmu1 = ROL32(A##so1, 28); \
+ E##mi1 = Bmi1 ^((~Bmo1)| Bmu1 ); \
+ E##mo1 = (~Bmo1)^( Bmu1 & Bma1 ); \
+ E##mu1 = Bmu1 ^( Bma1 | Bme1 ); \
+\
+ A##bi0 ^= Di0; \
+ Bsa0 = ROL32(A##bi0, 31); \
+ A##go1 ^= Do1; \
+ Bse0 = ROL32(A##go1, 28); \
+ A##ku1 ^= Du1; \
+ Bsi0 = ROL32(A##ku1, 20); \
+ E##sa0 = Bsa0 ^((~Bse0)& Bsi0 ); \
+ A##ma1 ^= Da1; \
+ Bso0 = ROL32(A##ma1, 21); \
+ E##se0 = (~Bse0)^( Bsi0 | Bso0 ); \
+ A##se0 ^= De0; \
+ Bsu0 = ROL32(A##se0, 1); \
+ E##si0 = Bsi0 ^( Bso0 & Bsu0 ); \
+ E##so0 = Bso0 ^( Bsu0 | Bsa0 ); \
+ E##su0 = Bsu0 ^( Bsa0 & Bse0 ); \
+\
+ A##bi1 ^= Di1; \
+ Bsa1 = ROL32(A##bi1, 31); \
+ A##go0 ^= Do0; \
+ Bse1 = ROL32(A##go0, 27); \
+ A##ku0 ^= Du0; \
+ Bsi1 = ROL32(A##ku0, 19); \
+ E##sa1 = Bsa1 ^((~Bse1)& Bsi1 ); \
+ A##ma0 ^= Da0; \
+ Bso1 = ROL32(A##ma0, 20); \
+ E##se1 = (~Bse1)^( Bsi1 | Bso1 ); \
+ A##se1 ^= De1; \
+ Bsu1 = ROL32(A##se1, 1); \
+ E##si1 = Bsi1 ^( Bso1 & Bsu1 ); \
+ E##so1 = Bso1 ^( Bsu1 | Bsa1 ); \
+ E##su1 = Bsu1 ^( Bsa1 & Bse1 ); \
+\
+
+#else /* UseBebigokimisa */
+/* --- Code for round, with prepare-theta */
+/* --- using factor 2 interleaving, 64-bit lanes mapped to 32-bit words */
+#define thetaRhoPiChiIotaPrepareTheta(i, A, E) \
+ Da0 = Cu0^ROL32(Ce1, 1); \
+ Da1 = Cu1^Ce0; \
+ De0 = Ca0^ROL32(Ci1, 1); \
+ De1 = Ca1^Ci0; \
+ Di0 = Ce0^ROL32(Co1, 1); \
+ Di1 = Ce1^Co0; \
+ Do0 = Ci0^ROL32(Cu1, 1); \
+ Do1 = Ci1^Cu0; \
+ Du0 = Co0^ROL32(Ca1, 1); \
+ Du1 = Co1^Ca0; \
+\
+ A##ba0 ^= Da0; \
+ Bba0 = A##ba0; \
+ A##ge0 ^= De0; \
+ Bbe0 = ROL32(A##ge0, 22); \
+ A##ki1 ^= Di1; \
+ Bbi0 = ROL32(A##ki1, 22); \
+ E##ba0 = Bba0 ^((~Bbe0)& Bbi0 ); \
+ E##ba0 ^= KeccakF1600RoundConstants_int2_0[i]; \
+ Ca0 = E##ba0; \
+ A##mo1 ^= Do1; \
+ Bbo0 = ROL32(A##mo1, 11); \
+ E##be0 = Bbe0 ^((~Bbi0)& Bbo0 ); \
+ Ce0 = E##be0; \
+ A##su0 ^= Du0; \
+ Bbu0 = ROL32(A##su0, 7); \
+ E##bi0 = Bbi0 ^((~Bbo0)& Bbu0 ); \
+ Ci0 = E##bi0; \
+ E##bo0 = Bbo0 ^((~Bbu0)& Bba0 ); \
+ Co0 = E##bo0; \
+ E##bu0 = Bbu0 ^((~Bba0)& Bbe0 ); \
+ Cu0 = E##bu0; \
+\
+ A##ba1 ^= Da1; \
+ Bba1 = A##ba1; \
+ A##ge1 ^= De1; \
+ Bbe1 = ROL32(A##ge1, 22); \
+ A##ki0 ^= Di0; \
+ Bbi1 = ROL32(A##ki0, 21); \
+ E##ba1 = Bba1 ^((~Bbe1)& Bbi1 ); \
+ E##ba1 ^= KeccakF1600RoundConstants_int2_1[i]; \
+ Ca1 = E##ba1; \
+ A##mo0 ^= Do0; \
+ Bbo1 = ROL32(A##mo0, 10); \
+ E##be1 = Bbe1 ^((~Bbi1)& Bbo1 ); \
+ Ce1 = E##be1; \
+ A##su1 ^= Du1; \
+ Bbu1 = ROL32(A##su1, 7); \
+ E##bi1 = Bbi1 ^((~Bbo1)& Bbu1 ); \
+ Ci1 = E##bi1; \
+ E##bo1 = Bbo1 ^((~Bbu1)& Bba1 ); \
+ Co1 = E##bo1; \
+ E##bu1 = Bbu1 ^((~Bba1)& Bbe1 ); \
+ Cu1 = E##bu1; \
+\
+ A##bo0 ^= Do0; \
+ Bga0 = ROL32(A##bo0, 14); \
+ A##gu0 ^= Du0; \
+ Bge0 = ROL32(A##gu0, 10); \
+ A##ka1 ^= Da1; \
+ Bgi0 = ROL32(A##ka1, 2); \
+ E##ga0 = Bga0 ^((~Bge0)& Bgi0 ); \
+ Ca0 ^= E##ga0; \
+ A##me1 ^= De1; \
+ Bgo0 = ROL32(A##me1, 23); \
+ E##ge0 = Bge0 ^((~Bgi0)& Bgo0 ); \
+ Ce0 ^= E##ge0; \
+ A##si1 ^= Di1; \
+ Bgu0 = ROL32(A##si1, 31); \
+ E##gi0 = Bgi0 ^((~Bgo0)& Bgu0 ); \
+ Ci0 ^= E##gi0; \
+ E##go0 = Bgo0 ^((~Bgu0)& Bga0 ); \
+ Co0 ^= E##go0; \
+ E##gu0 = Bgu0 ^((~Bga0)& Bge0 ); \
+ Cu0 ^= E##gu0; \
+\
+ A##bo1 ^= Do1; \
+ Bga1 = ROL32(A##bo1, 14); \
+ A##gu1 ^= Du1; \
+ Bge1 = ROL32(A##gu1, 10); \
+ A##ka0 ^= Da0; \
+ Bgi1 = ROL32(A##ka0, 1); \
+ E##ga1 = Bga1 ^((~Bge1)& Bgi1 ); \
+ Ca1 ^= E##ga1; \
+ A##me0 ^= De0; \
+ Bgo1 = ROL32(A##me0, 22); \
+ E##ge1 = Bge1 ^((~Bgi1)& Bgo1 ); \
+ Ce1 ^= E##ge1; \
+ A##si0 ^= Di0; \
+ Bgu1 = ROL32(A##si0, 30); \
+ E##gi1 = Bgi1 ^((~Bgo1)& Bgu1 ); \
+ Ci1 ^= E##gi1; \
+ E##go1 = Bgo1 ^((~Bgu1)& Bga1 ); \
+ Co1 ^= E##go1; \
+ E##gu1 = Bgu1 ^((~Bga1)& Bge1 ); \
+ Cu1 ^= E##gu1; \
+\
+ A##be1 ^= De1; \
+ Bka0 = ROL32(A##be1, 1); \
+ A##gi0 ^= Di0; \
+ Bke0 = ROL32(A##gi0, 3); \
+ A##ko1 ^= Do1; \
+ Bki0 = ROL32(A##ko1, 13); \
+ E##ka0 = Bka0 ^((~Bke0)& Bki0 ); \
+ Ca0 ^= E##ka0; \
+ A##mu0 ^= Du0; \
+ Bko0 = ROL32(A##mu0, 4); \
+ E##ke0 = Bke0 ^((~Bki0)& Bko0 ); \
+ Ce0 ^= E##ke0; \
+ A##sa0 ^= Da0; \
+ Bku0 = ROL32(A##sa0, 9); \
+ E##ki0 = Bki0 ^((~Bko0)& Bku0 ); \
+ Ci0 ^= E##ki0; \
+ E##ko0 = Bko0 ^((~Bku0)& Bka0 ); \
+ Co0 ^= E##ko0; \
+ E##ku0 = Bku0 ^((~Bka0)& Bke0 ); \
+ Cu0 ^= E##ku0; \
+\
+ A##be0 ^= De0; \
+ Bka1 = A##be0; \
+ A##gi1 ^= Di1; \
+ Bke1 = ROL32(A##gi1, 3); \
+ A##ko0 ^= Do0; \
+ Bki1 = ROL32(A##ko0, 12); \
+ E##ka1 = Bka1 ^((~Bke1)& Bki1 ); \
+ Ca1 ^= E##ka1; \
+ A##mu1 ^= Du1; \
+ Bko1 = ROL32(A##mu1, 4); \
+ E##ke1 = Bke1 ^((~Bki1)& Bko1 ); \
+ Ce1 ^= E##ke1; \
+ A##sa1 ^= Da1; \
+ Bku1 = ROL32(A##sa1, 9); \
+ E##ki1 = Bki1 ^((~Bko1)& Bku1 ); \
+ Ci1 ^= E##ki1; \
+ E##ko1 = Bko1 ^((~Bku1)& Bka1 ); \
+ Co1 ^= E##ko1; \
+ E##ku1 = Bku1 ^((~Bka1)& Bke1 ); \
+ Cu1 ^= E##ku1; \
+\
+ A##bu1 ^= Du1; \
+ Bma0 = ROL32(A##bu1, 14); \
+ A##ga0 ^= Da0; \
+ Bme0 = ROL32(A##ga0, 18); \
+ A##ke0 ^= De0; \
+ Bmi0 = ROL32(A##ke0, 5); \
+ E##ma0 = Bma0 ^((~Bme0)& Bmi0 ); \
+ Ca0 ^= E##ma0; \
+ A##mi1 ^= Di1; \
+ Bmo0 = ROL32(A##mi1, 8); \
+ E##me0 = Bme0 ^((~Bmi0)& Bmo0 ); \
+ Ce0 ^= E##me0; \
+ A##so0 ^= Do0; \
+ Bmu0 = ROL32(A##so0, 28); \
+ E##mi0 = Bmi0 ^((~Bmo0)& Bmu0 ); \
+ Ci0 ^= E##mi0; \
+ E##mo0 = Bmo0 ^((~Bmu0)& Bma0 ); \
+ Co0 ^= E##mo0; \
+ E##mu0 = Bmu0 ^((~Bma0)& Bme0 ); \
+ Cu0 ^= E##mu0; \
+\
+ A##bu0 ^= Du0; \
+ Bma1 = ROL32(A##bu0, 13); \
+ A##ga1 ^= Da1; \
+ Bme1 = ROL32(A##ga1, 18); \
+ A##ke1 ^= De1; \
+ Bmi1 = ROL32(A##ke1, 5); \
+ E##ma1 = Bma1 ^((~Bme1)& Bmi1 ); \
+ Ca1 ^= E##ma1; \
+ A##mi0 ^= Di0; \
+ Bmo1 = ROL32(A##mi0, 7); \
+ E##me1 = Bme1 ^((~Bmi1)& Bmo1 ); \
+ Ce1 ^= E##me1; \
+ A##so1 ^= Do1; \
+ Bmu1 = ROL32(A##so1, 28); \
+ E##mi1 = Bmi1 ^((~Bmo1)& Bmu1 ); \
+ Ci1 ^= E##mi1; \
+ E##mo1 = Bmo1 ^((~Bmu1)& Bma1 ); \
+ Co1 ^= E##mo1; \
+ E##mu1 = Bmu1 ^((~Bma1)& Bme1 ); \
+ Cu1 ^= E##mu1; \
+\
+ A##bi0 ^= Di0; \
+ Bsa0 = ROL32(A##bi0, 31); \
+ A##go1 ^= Do1; \
+ Bse0 = ROL32(A##go1, 28); \
+ A##ku1 ^= Du1; \
+ Bsi0 = ROL32(A##ku1, 20); \
+ E##sa0 = Bsa0 ^((~Bse0)& Bsi0 ); \
+ Ca0 ^= E##sa0; \
+ A##ma1 ^= Da1; \
+ Bso0 = ROL32(A##ma1, 21); \
+ E##se0 = Bse0 ^((~Bsi0)& Bso0 ); \
+ Ce0 ^= E##se0; \
+ A##se0 ^= De0; \
+ Bsu0 = ROL32(A##se0, 1); \
+ E##si0 = Bsi0 ^((~Bso0)& Bsu0 ); \
+ Ci0 ^= E##si0; \
+ E##so0 = Bso0 ^((~Bsu0)& Bsa0 ); \
+ Co0 ^= E##so0; \
+ E##su0 = Bsu0 ^((~Bsa0)& Bse0 ); \
+ Cu0 ^= E##su0; \
+\
+ A##bi1 ^= Di1; \
+ Bsa1 = ROL32(A##bi1, 31); \
+ A##go0 ^= Do0; \
+ Bse1 = ROL32(A##go0, 27); \
+ A##ku0 ^= Du0; \
+ Bsi1 = ROL32(A##ku0, 19); \
+ E##sa1 = Bsa1 ^((~Bse1)& Bsi1 ); \
+ Ca1 ^= E##sa1; \
+ A##ma0 ^= Da0; \
+ Bso1 = ROL32(A##ma0, 20); \
+ E##se1 = Bse1 ^((~Bsi1)& Bso1 ); \
+ Ce1 ^= E##se1; \
+ A##se1 ^= De1; \
+ Bsu1 = ROL32(A##se1, 1); \
+ E##si1 = Bsi1 ^((~Bso1)& Bsu1 ); \
+ Ci1 ^= E##si1; \
+ E##so1 = Bso1 ^((~Bsu1)& Bsa1 ); \
+ Co1 ^= E##so1; \
+ E##su1 = Bsu1 ^((~Bsa1)& Bse1 ); \
+ Cu1 ^= E##su1; \
+\
+
+/* --- Code for round */
+/* --- using factor 2 interleaving, 64-bit lanes mapped to 32-bit words */
+#define thetaRhoPiChiIota(i, A, E) \
+ Da0 = Cu0^ROL32(Ce1, 1); \
+ Da1 = Cu1^Ce0; \
+ De0 = Ca0^ROL32(Ci1, 1); \
+ De1 = Ca1^Ci0; \
+ Di0 = Ce0^ROL32(Co1, 1); \
+ Di1 = Ce1^Co0; \
+ Do0 = Ci0^ROL32(Cu1, 1); \
+ Do1 = Ci1^Cu0; \
+ Du0 = Co0^ROL32(Ca1, 1); \
+ Du1 = Co1^Ca0; \
+\
+ A##ba0 ^= Da0; \
+ Bba0 = A##ba0; \
+ A##ge0 ^= De0; \
+ Bbe0 = ROL32(A##ge0, 22); \
+ A##ki1 ^= Di1; \
+ Bbi0 = ROL32(A##ki1, 22); \
+ E##ba0 = Bba0 ^((~Bbe0)& Bbi0 ); \
+ E##ba0 ^= KeccakF1600RoundConstants_int2_0[i]; \
+ A##mo1 ^= Do1; \
+ Bbo0 = ROL32(A##mo1, 11); \
+ E##be0 = Bbe0 ^((~Bbi0)& Bbo0 ); \
+ A##su0 ^= Du0; \
+ Bbu0 = ROL32(A##su0, 7); \
+ E##bi0 = Bbi0 ^((~Bbo0)& Bbu0 ); \
+ E##bo0 = Bbo0 ^((~Bbu0)& Bba0 ); \
+ E##bu0 = Bbu0 ^((~Bba0)& Bbe0 ); \
+\
+ A##ba1 ^= Da1; \
+ Bba1 = A##ba1; \
+ A##ge1 ^= De1; \
+ Bbe1 = ROL32(A##ge1, 22); \
+ A##ki0 ^= Di0; \
+ Bbi1 = ROL32(A##ki0, 21); \
+ E##ba1 = Bba1 ^((~Bbe1)& Bbi1 ); \
+ E##ba1 ^= KeccakF1600RoundConstants_int2_1[i]; \
+ A##mo0 ^= Do0; \
+ Bbo1 = ROL32(A##mo0, 10); \
+ E##be1 = Bbe1 ^((~Bbi1)& Bbo1 ); \
+ A##su1 ^= Du1; \
+ Bbu1 = ROL32(A##su1, 7); \
+ E##bi1 = Bbi1 ^((~Bbo1)& Bbu1 ); \
+ E##bo1 = Bbo1 ^((~Bbu1)& Bba1 ); \
+ E##bu1 = Bbu1 ^((~Bba1)& Bbe1 ); \
+\
+ A##bo0 ^= Do0; \
+ Bga0 = ROL32(A##bo0, 14); \
+ A##gu0 ^= Du0; \
+ Bge0 = ROL32(A##gu0, 10); \
+ A##ka1 ^= Da1; \
+ Bgi0 = ROL32(A##ka1, 2); \
+ E##ga0 = Bga0 ^((~Bge0)& Bgi0 ); \
+ A##me1 ^= De1; \
+ Bgo0 = ROL32(A##me1, 23); \
+ E##ge0 = Bge0 ^((~Bgi0)& Bgo0 ); \
+ A##si1 ^= Di1; \
+ Bgu0 = ROL32(A##si1, 31); \
+ E##gi0 = Bgi0 ^((~Bgo0)& Bgu0 ); \
+ E##go0 = Bgo0 ^((~Bgu0)& Bga0 ); \
+ E##gu0 = Bgu0 ^((~Bga0)& Bge0 ); \
+\
+ A##bo1 ^= Do1; \
+ Bga1 = ROL32(A##bo1, 14); \
+ A##gu1 ^= Du1; \
+ Bge1 = ROL32(A##gu1, 10); \
+ A##ka0 ^= Da0; \
+ Bgi1 = ROL32(A##ka0, 1); \
+ E##ga1 = Bga1 ^((~Bge1)& Bgi1 ); \
+ A##me0 ^= De0; \
+ Bgo1 = ROL32(A##me0, 22); \
+ E##ge1 = Bge1 ^((~Bgi1)& Bgo1 ); \
+ A##si0 ^= Di0; \
+ Bgu1 = ROL32(A##si0, 30); \
+ E##gi1 = Bgi1 ^((~Bgo1)& Bgu1 ); \
+ E##go1 = Bgo1 ^((~Bgu1)& Bga1 ); \
+ E##gu1 = Bgu1 ^((~Bga1)& Bge1 ); \
+\
+ A##be1 ^= De1; \
+ Bka0 = ROL32(A##be1, 1); \
+ A##gi0 ^= Di0; \
+ Bke0 = ROL32(A##gi0, 3); \
+ A##ko1 ^= Do1; \
+ Bki0 = ROL32(A##ko1, 13); \
+ E##ka0 = Bka0 ^((~Bke0)& Bki0 ); \
+ A##mu0 ^= Du0; \
+ Bko0 = ROL32(A##mu0, 4); \
+ E##ke0 = Bke0 ^((~Bki0)& Bko0 ); \
+ A##sa0 ^= Da0; \
+ Bku0 = ROL32(A##sa0, 9); \
+ E##ki0 = Bki0 ^((~Bko0)& Bku0 ); \
+ E##ko0 = Bko0 ^((~Bku0)& Bka0 ); \
+ E##ku0 = Bku0 ^((~Bka0)& Bke0 ); \
+\
+ A##be0 ^= De0; \
+ Bka1 = A##be0; \
+ A##gi1 ^= Di1; \
+ Bke1 = ROL32(A##gi1, 3); \
+ A##ko0 ^= Do0; \
+ Bki1 = ROL32(A##ko0, 12); \
+ E##ka1 = Bka1 ^((~Bke1)& Bki1 ); \
+ A##mu1 ^= Du1; \
+ Bko1 = ROL32(A##mu1, 4); \
+ E##ke1 = Bke1 ^((~Bki1)& Bko1 ); \
+ A##sa1 ^= Da1; \
+ Bku1 = ROL32(A##sa1, 9); \
+ E##ki1 = Bki1 ^((~Bko1)& Bku1 ); \
+ E##ko1 = Bko1 ^((~Bku1)& Bka1 ); \
+ E##ku1 = Bku1 ^((~Bka1)& Bke1 ); \
+\
+ A##bu1 ^= Du1; \
+ Bma0 = ROL32(A##bu1, 14); \
+ A##ga0 ^= Da0; \
+ Bme0 = ROL32(A##ga0, 18); \
+ A##ke0 ^= De0; \
+ Bmi0 = ROL32(A##ke0, 5); \
+ E##ma0 = Bma0 ^((~Bme0)& Bmi0 ); \
+ A##mi1 ^= Di1; \
+ Bmo0 = ROL32(A##mi1, 8); \
+ E##me0 = Bme0 ^((~Bmi0)& Bmo0 ); \
+ A##so0 ^= Do0; \
+ Bmu0 = ROL32(A##so0, 28); \
+ E##mi0 = Bmi0 ^((~Bmo0)& Bmu0 ); \
+ E##mo0 = Bmo0 ^((~Bmu0)& Bma0 ); \
+ E##mu0 = Bmu0 ^((~Bma0)& Bme0 ); \
+\
+ A##bu0 ^= Du0; \
+ Bma1 = ROL32(A##bu0, 13); \
+ A##ga1 ^= Da1; \
+ Bme1 = ROL32(A##ga1, 18); \
+ A##ke1 ^= De1; \
+ Bmi1 = ROL32(A##ke1, 5); \
+ E##ma1 = Bma1 ^((~Bme1)& Bmi1 ); \
+ A##mi0 ^= Di0; \
+ Bmo1 = ROL32(A##mi0, 7); \
+ E##me1 = Bme1 ^((~Bmi1)& Bmo1 ); \
+ A##so1 ^= Do1; \
+ Bmu1 = ROL32(A##so1, 28); \
+ E##mi1 = Bmi1 ^((~Bmo1)& Bmu1 ); \
+ E##mo1 = Bmo1 ^((~Bmu1)& Bma1 ); \
+ E##mu1 = Bmu1 ^((~Bma1)& Bme1 ); \
+\
+ A##bi0 ^= Di0; \
+ Bsa0 = ROL32(A##bi0, 31); \
+ A##go1 ^= Do1; \
+ Bse0 = ROL32(A##go1, 28); \
+ A##ku1 ^= Du1; \
+ Bsi0 = ROL32(A##ku1, 20); \
+ E##sa0 = Bsa0 ^((~Bse0)& Bsi0 ); \
+ A##ma1 ^= Da1; \
+ Bso0 = ROL32(A##ma1, 21); \
+ E##se0 = Bse0 ^((~Bsi0)& Bso0 ); \
+ A##se0 ^= De0; \
+ Bsu0 = ROL32(A##se0, 1); \
+ E##si0 = Bsi0 ^((~Bso0)& Bsu0 ); \
+ E##so0 = Bso0 ^((~Bsu0)& Bsa0 ); \
+ E##su0 = Bsu0 ^((~Bsa0)& Bse0 ); \
+\
+ A##bi1 ^= Di1; \
+ Bsa1 = ROL32(A##bi1, 31); \
+ A##go0 ^= Do0; \
+ Bse1 = ROL32(A##go0, 27); \
+ A##ku0 ^= Du0; \
+ Bsi1 = ROL32(A##ku0, 19); \
+ E##sa1 = Bsa1 ^((~Bse1)& Bsi1 ); \
+ A##ma0 ^= Da0; \
+ Bso1 = ROL32(A##ma0, 20); \
+ E##se1 = Bse1 ^((~Bsi1)& Bso1 ); \
+ A##se1 ^= De1; \
+ Bsu1 = ROL32(A##se1, 1); \
+ E##si1 = Bsi1 ^((~Bso1)& Bsu1 ); \
+ E##so1 = Bso1 ^((~Bsu1)& Bsa1 ); \
+ E##su1 = Bsu1 ^((~Bsa1)& Bse1 ); \
+\
+
+#endif /* UseBebigokimisa */
+
+const UINT32 KeccakF1600RoundConstants_int2_0[24] = {
+ 0x00000001UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000001UL,
+ 0x00000000UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000001UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000000UL,
+ 0x00000001UL,
+ 0x00000000UL,
+ 0x00000001UL,
+ 0x00000000UL };
+
+const UINT32 KeccakF1600RoundConstants_int2_1[24] = {
+ 0x00000000UL,
+ 0x00000089UL,
+ 0x8000008bUL,
+ 0x80008080UL,
+ 0x0000008bUL,
+ 0x00008000UL,
+ 0x80008088UL,
+ 0x80000082UL,
+ 0x0000000bUL,
+ 0x0000000aUL,
+ 0x00008082UL,
+ 0x00008003UL,
+ 0x0000808bUL,
+ 0x8000000bUL,
+ 0x8000008aUL,
+ 0x80000081UL,
+ 0x80000081UL,
+ 0x80000008UL,
+ 0x00000083UL,
+ 0x80008003UL,
+ 0x80008088UL,
+ 0x80000088UL,
+ 0x00008000UL,
+ 0x80008082UL };
+
+#define copyFromStateAndXor1024bits(X, state, input) \
+ X##ba0 = state[ 0]^input[ 0]; \
+ X##ba1 = state[ 1]^input[ 1]; \
+ X##be0 = state[ 2]^input[ 2]; \
+ X##be1 = state[ 3]^input[ 3]; \
+ X##bi0 = state[ 4]^input[ 4]; \
+ X##bi1 = state[ 5]^input[ 5]; \
+ X##bo0 = state[ 6]^input[ 6]; \
+ X##bo1 = state[ 7]^input[ 7]; \
+ X##bu0 = state[ 8]^input[ 8]; \
+ X##bu1 = state[ 9]^input[ 9]; \
+ X##ga0 = state[10]^input[10]; \
+ X##ga1 = state[11]^input[11]; \
+ X##ge0 = state[12]^input[12]; \
+ X##ge1 = state[13]^input[13]; \
+ X##gi0 = state[14]^input[14]; \
+ X##gi1 = state[15]^input[15]; \
+ X##go0 = state[16]^input[16]; \
+ X##go1 = state[17]^input[17]; \
+ X##gu0 = state[18]^input[18]; \
+ X##gu1 = state[19]^input[19]; \
+ X##ka0 = state[20]^input[20]; \
+ X##ka1 = state[21]^input[21]; \
+ X##ke0 = state[22]^input[22]; \
+ X##ke1 = state[23]^input[23]; \
+ X##ki0 = state[24]^input[24]; \
+ X##ki1 = state[25]^input[25]; \
+ X##ko0 = state[26]^input[26]; \
+ X##ko1 = state[27]^input[27]; \
+ X##ku0 = state[28]^input[28]; \
+ X##ku1 = state[29]^input[29]; \
+ X##ma0 = state[30]^input[30]; \
+ X##ma1 = state[31]^input[31]; \
+ X##me0 = state[32]; \
+ X##me1 = state[33]; \
+ X##mi0 = state[34]; \
+ X##mi1 = state[35]; \
+ X##mo0 = state[36]; \
+ X##mo1 = state[37]; \
+ X##mu0 = state[38]; \
+ X##mu1 = state[39]; \
+ X##sa0 = state[40]; \
+ X##sa1 = state[41]; \
+ X##se0 = state[42]; \
+ X##se1 = state[43]; \
+ X##si0 = state[44]; \
+ X##si1 = state[45]; \
+ X##so0 = state[46]; \
+ X##so1 = state[47]; \
+ X##su0 = state[48]; \
+ X##su1 = state[49]; \
+
+#define copyFromStateAndXor1088bits(X, state, input) \
+ X##ba0 = state[ 0]^input[ 0]; \
+ X##ba1 = state[ 1]^input[ 1]; \
+ X##be0 = state[ 2]^input[ 2]; \
+ X##be1 = state[ 3]^input[ 3]; \
+ X##bi0 = state[ 4]^input[ 4]; \
+ X##bi1 = state[ 5]^input[ 5]; \
+ X##bo0 = state[ 6]^input[ 6]; \
+ X##bo1 = state[ 7]^input[ 7]; \
+ X##bu0 = state[ 8]^input[ 8]; \
+ X##bu1 = state[ 9]^input[ 9]; \
+ X##ga0 = state[10]^input[10]; \
+ X##ga1 = state[11]^input[11]; \
+ X##ge0 = state[12]^input[12]; \
+ X##ge1 = state[13]^input[13]; \
+ X##gi0 = state[14]^input[14]; \
+ X##gi1 = state[15]^input[15]; \
+ X##go0 = state[16]^input[16]; \
+ X##go1 = state[17]^input[17]; \
+ X##gu0 = state[18]^input[18]; \
+ X##gu1 = state[19]^input[19]; \
+ X##ka0 = state[20]^input[20]; \
+ X##ka1 = state[21]^input[21]; \
+ X##ke0 = state[22]^input[22]; \
+ X##ke1 = state[23]^input[23]; \
+ X##ki0 = state[24]^input[24]; \
+ X##ki1 = state[25]^input[25]; \
+ X##ko0 = state[26]^input[26]; \
+ X##ko1 = state[27]^input[27]; \
+ X##ku0 = state[28]^input[28]; \
+ X##ku1 = state[29]^input[29]; \
+ X##ma0 = state[30]^input[30]; \
+ X##ma1 = state[31]^input[31]; \
+ X##me0 = state[32]^input[32]; \
+ X##me1 = state[33]^input[33]; \
+ X##mi0 = state[34]; \
+ X##mi1 = state[35]; \
+ X##mo0 = state[36]; \
+ X##mo1 = state[37]; \
+ X##mu0 = state[38]; \
+ X##mu1 = state[39]; \
+ X##sa0 = state[40]; \
+ X##sa1 = state[41]; \
+ X##se0 = state[42]; \
+ X##se1 = state[43]; \
+ X##si0 = state[44]; \
+ X##si1 = state[45]; \
+ X##so0 = state[46]; \
+ X##so1 = state[47]; \
+ X##su0 = state[48]; \
+ X##su1 = state[49]; \
+
+#define copyFromState(X, state) \
+ X##ba0 = state[ 0]; \
+ X##ba1 = state[ 1]; \
+ X##be0 = state[ 2]; \
+ X##be1 = state[ 3]; \
+ X##bi0 = state[ 4]; \
+ X##bi1 = state[ 5]; \
+ X##bo0 = state[ 6]; \
+ X##bo1 = state[ 7]; \
+ X##bu0 = state[ 8]; \
+ X##bu1 = state[ 9]; \
+ X##ga0 = state[10]; \
+ X##ga1 = state[11]; \
+ X##ge0 = state[12]; \
+ X##ge1 = state[13]; \
+ X##gi0 = state[14]; \
+ X##gi1 = state[15]; \
+ X##go0 = state[16]; \
+ X##go1 = state[17]; \
+ X##gu0 = state[18]; \
+ X##gu1 = state[19]; \
+ X##ka0 = state[20]; \
+ X##ka1 = state[21]; \
+ X##ke0 = state[22]; \
+ X##ke1 = state[23]; \
+ X##ki0 = state[24]; \
+ X##ki1 = state[25]; \
+ X##ko0 = state[26]; \
+ X##ko1 = state[27]; \
+ X##ku0 = state[28]; \
+ X##ku1 = state[29]; \
+ X##ma0 = state[30]; \
+ X##ma1 = state[31]; \
+ X##me0 = state[32]; \
+ X##me1 = state[33]; \
+ X##mi0 = state[34]; \
+ X##mi1 = state[35]; \
+ X##mo0 = state[36]; \
+ X##mo1 = state[37]; \
+ X##mu0 = state[38]; \
+ X##mu1 = state[39]; \
+ X##sa0 = state[40]; \
+ X##sa1 = state[41]; \
+ X##se0 = state[42]; \
+ X##se1 = state[43]; \
+ X##si0 = state[44]; \
+ X##si1 = state[45]; \
+ X##so0 = state[46]; \
+ X##so1 = state[47]; \
+ X##su0 = state[48]; \
+ X##su1 = state[49]; \
+
+#define copyToState(state, X) \
+ state[ 0] = X##ba0; \
+ state[ 1] = X##ba1; \
+ state[ 2] = X##be0; \
+ state[ 3] = X##be1; \
+ state[ 4] = X##bi0; \
+ state[ 5] = X##bi1; \
+ state[ 6] = X##bo0; \
+ state[ 7] = X##bo1; \
+ state[ 8] = X##bu0; \
+ state[ 9] = X##bu1; \
+ state[10] = X##ga0; \
+ state[11] = X##ga1; \
+ state[12] = X##ge0; \
+ state[13] = X##ge1; \
+ state[14] = X##gi0; \
+ state[15] = X##gi1; \
+ state[16] = X##go0; \
+ state[17] = X##go1; \
+ state[18] = X##gu0; \
+ state[19] = X##gu1; \
+ state[20] = X##ka0; \
+ state[21] = X##ka1; \
+ state[22] = X##ke0; \
+ state[23] = X##ke1; \
+ state[24] = X##ki0; \
+ state[25] = X##ki1; \
+ state[26] = X##ko0; \
+ state[27] = X##ko1; \
+ state[28] = X##ku0; \
+ state[29] = X##ku1; \
+ state[30] = X##ma0; \
+ state[31] = X##ma1; \
+ state[32] = X##me0; \
+ state[33] = X##me1; \
+ state[34] = X##mi0; \
+ state[35] = X##mi1; \
+ state[36] = X##mo0; \
+ state[37] = X##mo1; \
+ state[38] = X##mu0; \
+ state[39] = X##mu1; \
+ state[40] = X##sa0; \
+ state[41] = X##sa1; \
+ state[42] = X##se0; \
+ state[43] = X##se1; \
+ state[44] = X##si0; \
+ state[45] = X##si1; \
+ state[46] = X##so0; \
+ state[47] = X##so1; \
+ state[48] = X##su0; \
+ state[49] = X##su1; \
+
+#define copyStateVariables(X, Y) \
+ X##ba0 = Y##ba0; \
+ X##ba1 = Y##ba1; \
+ X##be0 = Y##be0; \
+ X##be1 = Y##be1; \
+ X##bi0 = Y##bi0; \
+ X##bi1 = Y##bi1; \
+ X##bo0 = Y##bo0; \
+ X##bo1 = Y##bo1; \
+ X##bu0 = Y##bu0; \
+ X##bu1 = Y##bu1; \
+ X##ga0 = Y##ga0; \
+ X##ga1 = Y##ga1; \
+ X##ge0 = Y##ge0; \
+ X##ge1 = Y##ge1; \
+ X##gi0 = Y##gi0; \
+ X##gi1 = Y##gi1; \
+ X##go0 = Y##go0; \
+ X##go1 = Y##go1; \
+ X##gu0 = Y##gu0; \
+ X##gu1 = Y##gu1; \
+ X##ka0 = Y##ka0; \
+ X##ka1 = Y##ka1; \
+ X##ke0 = Y##ke0; \
+ X##ke1 = Y##ke1; \
+ X##ki0 = Y##ki0; \
+ X##ki1 = Y##ki1; \
+ X##ko0 = Y##ko0; \
+ X##ko1 = Y##ko1; \
+ X##ku0 = Y##ku0; \
+ X##ku1 = Y##ku1; \
+ X##ma0 = Y##ma0; \
+ X##ma1 = Y##ma1; \
+ X##me0 = Y##me0; \
+ X##me1 = Y##me1; \
+ X##mi0 = Y##mi0; \
+ X##mi1 = Y##mi1; \
+ X##mo0 = Y##mo0; \
+ X##mo1 = Y##mo1; \
+ X##mu0 = Y##mu0; \
+ X##mu1 = Y##mu1; \
+ X##sa0 = Y##sa0; \
+ X##sa1 = Y##sa1; \
+ X##se0 = Y##se0; \
+ X##se1 = Y##se1; \
+ X##si0 = Y##si0; \
+ X##si1 = Y##si1; \
+ X##so0 = Y##so0; \
+ X##so1 = Y##so1; \
+ X##su0 = Y##su0; \
+ X##su1 = Y##su1; \
+
diff --git a/Modules/_sha3/keccak/KeccakF-1600-32.macros b/Modules/_sha3/keccak/KeccakF-1600-32.macros
new file mode 100644
index 0000000000..9ade600067
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-32.macros
@@ -0,0 +1,26 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#ifdef UseSchedule
+ #if (UseSchedule == 1)
+ #include "KeccakF-1600-32-s1.macros"
+ #elif (UseSchedule == 2)
+ #include "KeccakF-1600-32-s2.macros"
+ #elif (UseSchedule == 3)
+ #include "KeccakF-1600-32-rvk.macros"
+ #else
+ #error "This schedule is not supported."
+ #endif
+#else
+ #include "KeccakF-1600-32-s1.macros"
+#endif
diff --git a/Modules/_sha3/keccak/KeccakF-1600-64.macros b/Modules/_sha3/keccak/KeccakF-1600-64.macros
new file mode 100644
index 0000000000..dc0f78924d
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-64.macros
@@ -0,0 +1,728 @@
+/*
+Code automatically generated by KeccakTools!
+
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#define declareABCDE \
+ UINT64 Aba, Abe, Abi, Abo, Abu; \
+ UINT64 Aga, Age, Agi, Ago, Agu; \
+ UINT64 Aka, Ake, Aki, Ako, Aku; \
+ UINT64 Ama, Ame, Ami, Amo, Amu; \
+ UINT64 Asa, Ase, Asi, Aso, Asu; \
+ UINT64 Bba, Bbe, Bbi, Bbo, Bbu; \
+ UINT64 Bga, Bge, Bgi, Bgo, Bgu; \
+ UINT64 Bka, Bke, Bki, Bko, Bku; \
+ UINT64 Bma, Bme, Bmi, Bmo, Bmu; \
+ UINT64 Bsa, Bse, Bsi, Bso, Bsu; \
+ UINT64 Ca, Ce, Ci, Co, Cu; \
+ UINT64 Da, De, Di, Do, Du; \
+ UINT64 Eba, Ebe, Ebi, Ebo, Ebu; \
+ UINT64 Ega, Ege, Egi, Ego, Egu; \
+ UINT64 Eka, Eke, Eki, Eko, Eku; \
+ UINT64 Ema, Eme, Emi, Emo, Emu; \
+ UINT64 Esa, Ese, Esi, Eso, Esu; \
+
+#define prepareTheta \
+ Ca = Aba^Aga^Aka^Ama^Asa; \
+ Ce = Abe^Age^Ake^Ame^Ase; \
+ Ci = Abi^Agi^Aki^Ami^Asi; \
+ Co = Abo^Ago^Ako^Amo^Aso; \
+ Cu = Abu^Agu^Aku^Amu^Asu; \
+
+#ifdef UseBebigokimisa
+/* --- Code for round, with prepare-theta (lane complementing pattern 'bebigokimisa') */
+/* --- 64-bit lanes mapped to 64-bit words */
+#define thetaRhoPiChiIotaPrepareTheta(i, A, E) \
+ Da = Cu^ROL64(Ce, 1); \
+ De = Ca^ROL64(Ci, 1); \
+ Di = Ce^ROL64(Co, 1); \
+ Do = Ci^ROL64(Cu, 1); \
+ Du = Co^ROL64(Ca, 1); \
+\
+ A##ba ^= Da; \
+ Bba = A##ba; \
+ A##ge ^= De; \
+ Bbe = ROL64(A##ge, 44); \
+ A##ki ^= Di; \
+ Bbi = ROL64(A##ki, 43); \
+ A##mo ^= Do; \
+ Bbo = ROL64(A##mo, 21); \
+ A##su ^= Du; \
+ Bbu = ROL64(A##su, 14); \
+ E##ba = Bba ^( Bbe | Bbi ); \
+ E##ba ^= KeccakF1600RoundConstants[i]; \
+ Ca = E##ba; \
+ E##be = Bbe ^((~Bbi)| Bbo ); \
+ Ce = E##be; \
+ E##bi = Bbi ^( Bbo & Bbu ); \
+ Ci = E##bi; \
+ E##bo = Bbo ^( Bbu | Bba ); \
+ Co = E##bo; \
+ E##bu = Bbu ^( Bba & Bbe ); \
+ Cu = E##bu; \
+\
+ A##bo ^= Do; \
+ Bga = ROL64(A##bo, 28); \
+ A##gu ^= Du; \
+ Bge = ROL64(A##gu, 20); \
+ A##ka ^= Da; \
+ Bgi = ROL64(A##ka, 3); \
+ A##me ^= De; \
+ Bgo = ROL64(A##me, 45); \
+ A##si ^= Di; \
+ Bgu = ROL64(A##si, 61); \
+ E##ga = Bga ^( Bge | Bgi ); \
+ Ca ^= E##ga; \
+ E##ge = Bge ^( Bgi & Bgo ); \
+ Ce ^= E##ge; \
+ E##gi = Bgi ^( Bgo |(~Bgu)); \
+ Ci ^= E##gi; \
+ E##go = Bgo ^( Bgu | Bga ); \
+ Co ^= E##go; \
+ E##gu = Bgu ^( Bga & Bge ); \
+ Cu ^= E##gu; \
+\
+ A##be ^= De; \
+ Bka = ROL64(A##be, 1); \
+ A##gi ^= Di; \
+ Bke = ROL64(A##gi, 6); \
+ A##ko ^= Do; \
+ Bki = ROL64(A##ko, 25); \
+ A##mu ^= Du; \
+ Bko = ROL64(A##mu, 8); \
+ A##sa ^= Da; \
+ Bku = ROL64(A##sa, 18); \
+ E##ka = Bka ^( Bke | Bki ); \
+ Ca ^= E##ka; \
+ E##ke = Bke ^( Bki & Bko ); \
+ Ce ^= E##ke; \
+ E##ki = Bki ^((~Bko)& Bku ); \
+ Ci ^= E##ki; \
+ E##ko = (~Bko)^( Bku | Bka ); \
+ Co ^= E##ko; \
+ E##ku = Bku ^( Bka & Bke ); \
+ Cu ^= E##ku; \
+\
+ A##bu ^= Du; \
+ Bma = ROL64(A##bu, 27); \
+ A##ga ^= Da; \
+ Bme = ROL64(A##ga, 36); \
+ A##ke ^= De; \
+ Bmi = ROL64(A##ke, 10); \
+ A##mi ^= Di; \
+ Bmo = ROL64(A##mi, 15); \
+ A##so ^= Do; \
+ Bmu = ROL64(A##so, 56); \
+ E##ma = Bma ^( Bme & Bmi ); \
+ Ca ^= E##ma; \
+ E##me = Bme ^( Bmi | Bmo ); \
+ Ce ^= E##me; \
+ E##mi = Bmi ^((~Bmo)| Bmu ); \
+ Ci ^= E##mi; \
+ E##mo = (~Bmo)^( Bmu & Bma ); \
+ Co ^= E##mo; \
+ E##mu = Bmu ^( Bma | Bme ); \
+ Cu ^= E##mu; \
+\
+ A##bi ^= Di; \
+ Bsa = ROL64(A##bi, 62); \
+ A##go ^= Do; \
+ Bse = ROL64(A##go, 55); \
+ A##ku ^= Du; \
+ Bsi = ROL64(A##ku, 39); \
+ A##ma ^= Da; \
+ Bso = ROL64(A##ma, 41); \
+ A##se ^= De; \
+ Bsu = ROL64(A##se, 2); \
+ E##sa = Bsa ^((~Bse)& Bsi ); \
+ Ca ^= E##sa; \
+ E##se = (~Bse)^( Bsi | Bso ); \
+ Ce ^= E##se; \
+ E##si = Bsi ^( Bso & Bsu ); \
+ Ci ^= E##si; \
+ E##so = Bso ^( Bsu | Bsa ); \
+ Co ^= E##so; \
+ E##su = Bsu ^( Bsa & Bse ); \
+ Cu ^= E##su; \
+\
+
+/* --- Code for round (lane complementing pattern 'bebigokimisa') */
+/* --- 64-bit lanes mapped to 64-bit words */
+#define thetaRhoPiChiIota(i, A, E) \
+ Da = Cu^ROL64(Ce, 1); \
+ De = Ca^ROL64(Ci, 1); \
+ Di = Ce^ROL64(Co, 1); \
+ Do = Ci^ROL64(Cu, 1); \
+ Du = Co^ROL64(Ca, 1); \
+\
+ A##ba ^= Da; \
+ Bba = A##ba; \
+ A##ge ^= De; \
+ Bbe = ROL64(A##ge, 44); \
+ A##ki ^= Di; \
+ Bbi = ROL64(A##ki, 43); \
+ A##mo ^= Do; \
+ Bbo = ROL64(A##mo, 21); \
+ A##su ^= Du; \
+ Bbu = ROL64(A##su, 14); \
+ E##ba = Bba ^( Bbe | Bbi ); \
+ E##ba ^= KeccakF1600RoundConstants[i]; \
+ E##be = Bbe ^((~Bbi)| Bbo ); \
+ E##bi = Bbi ^( Bbo & Bbu ); \
+ E##bo = Bbo ^( Bbu | Bba ); \
+ E##bu = Bbu ^( Bba & Bbe ); \
+\
+ A##bo ^= Do; \
+ Bga = ROL64(A##bo, 28); \
+ A##gu ^= Du; \
+ Bge = ROL64(A##gu, 20); \
+ A##ka ^= Da; \
+ Bgi = ROL64(A##ka, 3); \
+ A##me ^= De; \
+ Bgo = ROL64(A##me, 45); \
+ A##si ^= Di; \
+ Bgu = ROL64(A##si, 61); \
+ E##ga = Bga ^( Bge | Bgi ); \
+ E##ge = Bge ^( Bgi & Bgo ); \
+ E##gi = Bgi ^( Bgo |(~Bgu)); \
+ E##go = Bgo ^( Bgu | Bga ); \
+ E##gu = Bgu ^( Bga & Bge ); \
+\
+ A##be ^= De; \
+ Bka = ROL64(A##be, 1); \
+ A##gi ^= Di; \
+ Bke = ROL64(A##gi, 6); \
+ A##ko ^= Do; \
+ Bki = ROL64(A##ko, 25); \
+ A##mu ^= Du; \
+ Bko = ROL64(A##mu, 8); \
+ A##sa ^= Da; \
+ Bku = ROL64(A##sa, 18); \
+ E##ka = Bka ^( Bke | Bki ); \
+ E##ke = Bke ^( Bki & Bko ); \
+ E##ki = Bki ^((~Bko)& Bku ); \
+ E##ko = (~Bko)^( Bku | Bka ); \
+ E##ku = Bku ^( Bka & Bke ); \
+\
+ A##bu ^= Du; \
+ Bma = ROL64(A##bu, 27); \
+ A##ga ^= Da; \
+ Bme = ROL64(A##ga, 36); \
+ A##ke ^= De; \
+ Bmi = ROL64(A##ke, 10); \
+ A##mi ^= Di; \
+ Bmo = ROL64(A##mi, 15); \
+ A##so ^= Do; \
+ Bmu = ROL64(A##so, 56); \
+ E##ma = Bma ^( Bme & Bmi ); \
+ E##me = Bme ^( Bmi | Bmo ); \
+ E##mi = Bmi ^((~Bmo)| Bmu ); \
+ E##mo = (~Bmo)^( Bmu & Bma ); \
+ E##mu = Bmu ^( Bma | Bme ); \
+\
+ A##bi ^= Di; \
+ Bsa = ROL64(A##bi, 62); \
+ A##go ^= Do; \
+ Bse = ROL64(A##go, 55); \
+ A##ku ^= Du; \
+ Bsi = ROL64(A##ku, 39); \
+ A##ma ^= Da; \
+ Bso = ROL64(A##ma, 41); \
+ A##se ^= De; \
+ Bsu = ROL64(A##se, 2); \
+ E##sa = Bsa ^((~Bse)& Bsi ); \
+ E##se = (~Bse)^( Bsi | Bso ); \
+ E##si = Bsi ^( Bso & Bsu ); \
+ E##so = Bso ^( Bsu | Bsa ); \
+ E##su = Bsu ^( Bsa & Bse ); \
+\
+
+#else /* UseBebigokimisa */
+/* --- Code for round, with prepare-theta */
+/* --- 64-bit lanes mapped to 64-bit words */
+#define thetaRhoPiChiIotaPrepareTheta(i, A, E) \
+ Da = Cu^ROL64(Ce, 1); \
+ De = Ca^ROL64(Ci, 1); \
+ Di = Ce^ROL64(Co, 1); \
+ Do = Ci^ROL64(Cu, 1); \
+ Du = Co^ROL64(Ca, 1); \
+\
+ A##ba ^= Da; \
+ Bba = A##ba; \
+ A##ge ^= De; \
+ Bbe = ROL64(A##ge, 44); \
+ A##ki ^= Di; \
+ Bbi = ROL64(A##ki, 43); \
+ A##mo ^= Do; \
+ Bbo = ROL64(A##mo, 21); \
+ A##su ^= Du; \
+ Bbu = ROL64(A##su, 14); \
+ E##ba = Bba ^((~Bbe)& Bbi ); \
+ E##ba ^= KeccakF1600RoundConstants[i]; \
+ Ca = E##ba; \
+ E##be = Bbe ^((~Bbi)& Bbo ); \
+ Ce = E##be; \
+ E##bi = Bbi ^((~Bbo)& Bbu ); \
+ Ci = E##bi; \
+ E##bo = Bbo ^((~Bbu)& Bba ); \
+ Co = E##bo; \
+ E##bu = Bbu ^((~Bba)& Bbe ); \
+ Cu = E##bu; \
+\
+ A##bo ^= Do; \
+ Bga = ROL64(A##bo, 28); \
+ A##gu ^= Du; \
+ Bge = ROL64(A##gu, 20); \
+ A##ka ^= Da; \
+ Bgi = ROL64(A##ka, 3); \
+ A##me ^= De; \
+ Bgo = ROL64(A##me, 45); \
+ A##si ^= Di; \
+ Bgu = ROL64(A##si, 61); \
+ E##ga = Bga ^((~Bge)& Bgi ); \
+ Ca ^= E##ga; \
+ E##ge = Bge ^((~Bgi)& Bgo ); \
+ Ce ^= E##ge; \
+ E##gi = Bgi ^((~Bgo)& Bgu ); \
+ Ci ^= E##gi; \
+ E##go = Bgo ^((~Bgu)& Bga ); \
+ Co ^= E##go; \
+ E##gu = Bgu ^((~Bga)& Bge ); \
+ Cu ^= E##gu; \
+\
+ A##be ^= De; \
+ Bka = ROL64(A##be, 1); \
+ A##gi ^= Di; \
+ Bke = ROL64(A##gi, 6); \
+ A##ko ^= Do; \
+ Bki = ROL64(A##ko, 25); \
+ A##mu ^= Du; \
+ Bko = ROL64(A##mu, 8); \
+ A##sa ^= Da; \
+ Bku = ROL64(A##sa, 18); \
+ E##ka = Bka ^((~Bke)& Bki ); \
+ Ca ^= E##ka; \
+ E##ke = Bke ^((~Bki)& Bko ); \
+ Ce ^= E##ke; \
+ E##ki = Bki ^((~Bko)& Bku ); \
+ Ci ^= E##ki; \
+ E##ko = Bko ^((~Bku)& Bka ); \
+ Co ^= E##ko; \
+ E##ku = Bku ^((~Bka)& Bke ); \
+ Cu ^= E##ku; \
+\
+ A##bu ^= Du; \
+ Bma = ROL64(A##bu, 27); \
+ A##ga ^= Da; \
+ Bme = ROL64(A##ga, 36); \
+ A##ke ^= De; \
+ Bmi = ROL64(A##ke, 10); \
+ A##mi ^= Di; \
+ Bmo = ROL64(A##mi, 15); \
+ A##so ^= Do; \
+ Bmu = ROL64(A##so, 56); \
+ E##ma = Bma ^((~Bme)& Bmi ); \
+ Ca ^= E##ma; \
+ E##me = Bme ^((~Bmi)& Bmo ); \
+ Ce ^= E##me; \
+ E##mi = Bmi ^((~Bmo)& Bmu ); \
+ Ci ^= E##mi; \
+ E##mo = Bmo ^((~Bmu)& Bma ); \
+ Co ^= E##mo; \
+ E##mu = Bmu ^((~Bma)& Bme ); \
+ Cu ^= E##mu; \
+\
+ A##bi ^= Di; \
+ Bsa = ROL64(A##bi, 62); \
+ A##go ^= Do; \
+ Bse = ROL64(A##go, 55); \
+ A##ku ^= Du; \
+ Bsi = ROL64(A##ku, 39); \
+ A##ma ^= Da; \
+ Bso = ROL64(A##ma, 41); \
+ A##se ^= De; \
+ Bsu = ROL64(A##se, 2); \
+ E##sa = Bsa ^((~Bse)& Bsi ); \
+ Ca ^= E##sa; \
+ E##se = Bse ^((~Bsi)& Bso ); \
+ Ce ^= E##se; \
+ E##si = Bsi ^((~Bso)& Bsu ); \
+ Ci ^= E##si; \
+ E##so = Bso ^((~Bsu)& Bsa ); \
+ Co ^= E##so; \
+ E##su = Bsu ^((~Bsa)& Bse ); \
+ Cu ^= E##su; \
+\
+
+/* --- Code for round */
+/* --- 64-bit lanes mapped to 64-bit words */
+#define thetaRhoPiChiIota(i, A, E) \
+ Da = Cu^ROL64(Ce, 1); \
+ De = Ca^ROL64(Ci, 1); \
+ Di = Ce^ROL64(Co, 1); \
+ Do = Ci^ROL64(Cu, 1); \
+ Du = Co^ROL64(Ca, 1); \
+\
+ A##ba ^= Da; \
+ Bba = A##ba; \
+ A##ge ^= De; \
+ Bbe = ROL64(A##ge, 44); \
+ A##ki ^= Di; \
+ Bbi = ROL64(A##ki, 43); \
+ A##mo ^= Do; \
+ Bbo = ROL64(A##mo, 21); \
+ A##su ^= Du; \
+ Bbu = ROL64(A##su, 14); \
+ E##ba = Bba ^((~Bbe)& Bbi ); \
+ E##ba ^= KeccakF1600RoundConstants[i]; \
+ E##be = Bbe ^((~Bbi)& Bbo ); \
+ E##bi = Bbi ^((~Bbo)& Bbu ); \
+ E##bo = Bbo ^((~Bbu)& Bba ); \
+ E##bu = Bbu ^((~Bba)& Bbe ); \
+\
+ A##bo ^= Do; \
+ Bga = ROL64(A##bo, 28); \
+ A##gu ^= Du; \
+ Bge = ROL64(A##gu, 20); \
+ A##ka ^= Da; \
+ Bgi = ROL64(A##ka, 3); \
+ A##me ^= De; \
+ Bgo = ROL64(A##me, 45); \
+ A##si ^= Di; \
+ Bgu = ROL64(A##si, 61); \
+ E##ga = Bga ^((~Bge)& Bgi ); \
+ E##ge = Bge ^((~Bgi)& Bgo ); \
+ E##gi = Bgi ^((~Bgo)& Bgu ); \
+ E##go = Bgo ^((~Bgu)& Bga ); \
+ E##gu = Bgu ^((~Bga)& Bge ); \
+\
+ A##be ^= De; \
+ Bka = ROL64(A##be, 1); \
+ A##gi ^= Di; \
+ Bke = ROL64(A##gi, 6); \
+ A##ko ^= Do; \
+ Bki = ROL64(A##ko, 25); \
+ A##mu ^= Du; \
+ Bko = ROL64(A##mu, 8); \
+ A##sa ^= Da; \
+ Bku = ROL64(A##sa, 18); \
+ E##ka = Bka ^((~Bke)& Bki ); \
+ E##ke = Bke ^((~Bki)& Bko ); \
+ E##ki = Bki ^((~Bko)& Bku ); \
+ E##ko = Bko ^((~Bku)& Bka ); \
+ E##ku = Bku ^((~Bka)& Bke ); \
+\
+ A##bu ^= Du; \
+ Bma = ROL64(A##bu, 27); \
+ A##ga ^= Da; \
+ Bme = ROL64(A##ga, 36); \
+ A##ke ^= De; \
+ Bmi = ROL64(A##ke, 10); \
+ A##mi ^= Di; \
+ Bmo = ROL64(A##mi, 15); \
+ A##so ^= Do; \
+ Bmu = ROL64(A##so, 56); \
+ E##ma = Bma ^((~Bme)& Bmi ); \
+ E##me = Bme ^((~Bmi)& Bmo ); \
+ E##mi = Bmi ^((~Bmo)& Bmu ); \
+ E##mo = Bmo ^((~Bmu)& Bma ); \
+ E##mu = Bmu ^((~Bma)& Bme ); \
+\
+ A##bi ^= Di; \
+ Bsa = ROL64(A##bi, 62); \
+ A##go ^= Do; \
+ Bse = ROL64(A##go, 55); \
+ A##ku ^= Du; \
+ Bsi = ROL64(A##ku, 39); \
+ A##ma ^= Da; \
+ Bso = ROL64(A##ma, 41); \
+ A##se ^= De; \
+ Bsu = ROL64(A##se, 2); \
+ E##sa = Bsa ^((~Bse)& Bsi ); \
+ E##se = Bse ^((~Bsi)& Bso ); \
+ E##si = Bsi ^((~Bso)& Bsu ); \
+ E##so = Bso ^((~Bsu)& Bsa ); \
+ E##su = Bsu ^((~Bsa)& Bse ); \
+\
+
+#endif /* UseBebigokimisa */
+
+static const UINT64 KeccakF1600RoundConstants[24] = {
+ 0x0000000000000001ULL,
+ 0x0000000000008082ULL,
+ 0x800000000000808aULL,
+ 0x8000000080008000ULL,
+ 0x000000000000808bULL,
+ 0x0000000080000001ULL,
+ 0x8000000080008081ULL,
+ 0x8000000000008009ULL,
+ 0x000000000000008aULL,
+ 0x0000000000000088ULL,
+ 0x0000000080008009ULL,
+ 0x000000008000000aULL,
+ 0x000000008000808bULL,
+ 0x800000000000008bULL,
+ 0x8000000000008089ULL,
+ 0x8000000000008003ULL,
+ 0x8000000000008002ULL,
+ 0x8000000000000080ULL,
+ 0x000000000000800aULL,
+ 0x800000008000000aULL,
+ 0x8000000080008081ULL,
+ 0x8000000000008080ULL,
+ 0x0000000080000001ULL,
+ 0x8000000080008008ULL };
+
+#define copyFromStateAndXor576bits(X, state, input) \
+ X##ba = state[ 0]^input[ 0]; \
+ X##be = state[ 1]^input[ 1]; \
+ X##bi = state[ 2]^input[ 2]; \
+ X##bo = state[ 3]^input[ 3]; \
+ X##bu = state[ 4]^input[ 4]; \
+ X##ga = state[ 5]^input[ 5]; \
+ X##ge = state[ 6]^input[ 6]; \
+ X##gi = state[ 7]^input[ 7]; \
+ X##go = state[ 8]^input[ 8]; \
+ X##gu = state[ 9]; \
+ X##ka = state[10]; \
+ X##ke = state[11]; \
+ X##ki = state[12]; \
+ X##ko = state[13]; \
+ X##ku = state[14]; \
+ X##ma = state[15]; \
+ X##me = state[16]; \
+ X##mi = state[17]; \
+ X##mo = state[18]; \
+ X##mu = state[19]; \
+ X##sa = state[20]; \
+ X##se = state[21]; \
+ X##si = state[22]; \
+ X##so = state[23]; \
+ X##su = state[24]; \
+
+#define copyFromStateAndXor832bits(X, state, input) \
+ X##ba = state[ 0]^input[ 0]; \
+ X##be = state[ 1]^input[ 1]; \
+ X##bi = state[ 2]^input[ 2]; \
+ X##bo = state[ 3]^input[ 3]; \
+ X##bu = state[ 4]^input[ 4]; \
+ X##ga = state[ 5]^input[ 5]; \
+ X##ge = state[ 6]^input[ 6]; \
+ X##gi = state[ 7]^input[ 7]; \
+ X##go = state[ 8]^input[ 8]; \
+ X##gu = state[ 9]^input[ 9]; \
+ X##ka = state[10]^input[10]; \
+ X##ke = state[11]^input[11]; \
+ X##ki = state[12]^input[12]; \
+ X##ko = state[13]; \
+ X##ku = state[14]; \
+ X##ma = state[15]; \
+ X##me = state[16]; \
+ X##mi = state[17]; \
+ X##mo = state[18]; \
+ X##mu = state[19]; \
+ X##sa = state[20]; \
+ X##se = state[21]; \
+ X##si = state[22]; \
+ X##so = state[23]; \
+ X##su = state[24]; \
+
+#define copyFromStateAndXor1024bits(X, state, input) \
+ X##ba = state[ 0]^input[ 0]; \
+ X##be = state[ 1]^input[ 1]; \
+ X##bi = state[ 2]^input[ 2]; \
+ X##bo = state[ 3]^input[ 3]; \
+ X##bu = state[ 4]^input[ 4]; \
+ X##ga = state[ 5]^input[ 5]; \
+ X##ge = state[ 6]^input[ 6]; \
+ X##gi = state[ 7]^input[ 7]; \
+ X##go = state[ 8]^input[ 8]; \
+ X##gu = state[ 9]^input[ 9]; \
+ X##ka = state[10]^input[10]; \
+ X##ke = state[11]^input[11]; \
+ X##ki = state[12]^input[12]; \
+ X##ko = state[13]^input[13]; \
+ X##ku = state[14]^input[14]; \
+ X##ma = state[15]^input[15]; \
+ X##me = state[16]; \
+ X##mi = state[17]; \
+ X##mo = state[18]; \
+ X##mu = state[19]; \
+ X##sa = state[20]; \
+ X##se = state[21]; \
+ X##si = state[22]; \
+ X##so = state[23]; \
+ X##su = state[24]; \
+
+#define copyFromStateAndXor1088bits(X, state, input) \
+ X##ba = state[ 0]^input[ 0]; \
+ X##be = state[ 1]^input[ 1]; \
+ X##bi = state[ 2]^input[ 2]; \
+ X##bo = state[ 3]^input[ 3]; \
+ X##bu = state[ 4]^input[ 4]; \
+ X##ga = state[ 5]^input[ 5]; \
+ X##ge = state[ 6]^input[ 6]; \
+ X##gi = state[ 7]^input[ 7]; \
+ X##go = state[ 8]^input[ 8]; \
+ X##gu = state[ 9]^input[ 9]; \
+ X##ka = state[10]^input[10]; \
+ X##ke = state[11]^input[11]; \
+ X##ki = state[12]^input[12]; \
+ X##ko = state[13]^input[13]; \
+ X##ku = state[14]^input[14]; \
+ X##ma = state[15]^input[15]; \
+ X##me = state[16]^input[16]; \
+ X##mi = state[17]; \
+ X##mo = state[18]; \
+ X##mu = state[19]; \
+ X##sa = state[20]; \
+ X##se = state[21]; \
+ X##si = state[22]; \
+ X##so = state[23]; \
+ X##su = state[24]; \
+
+#define copyFromStateAndXor1152bits(X, state, input) \
+ X##ba = state[ 0]^input[ 0]; \
+ X##be = state[ 1]^input[ 1]; \
+ X##bi = state[ 2]^input[ 2]; \
+ X##bo = state[ 3]^input[ 3]; \
+ X##bu = state[ 4]^input[ 4]; \
+ X##ga = state[ 5]^input[ 5]; \
+ X##ge = state[ 6]^input[ 6]; \
+ X##gi = state[ 7]^input[ 7]; \
+ X##go = state[ 8]^input[ 8]; \
+ X##gu = state[ 9]^input[ 9]; \
+ X##ka = state[10]^input[10]; \
+ X##ke = state[11]^input[11]; \
+ X##ki = state[12]^input[12]; \
+ X##ko = state[13]^input[13]; \
+ X##ku = state[14]^input[14]; \
+ X##ma = state[15]^input[15]; \
+ X##me = state[16]^input[16]; \
+ X##mi = state[17]^input[17]; \
+ X##mo = state[18]; \
+ X##mu = state[19]; \
+ X##sa = state[20]; \
+ X##se = state[21]; \
+ X##si = state[22]; \
+ X##so = state[23]; \
+ X##su = state[24]; \
+
+#define copyFromStateAndXor1344bits(X, state, input) \
+ X##ba = state[ 0]^input[ 0]; \
+ X##be = state[ 1]^input[ 1]; \
+ X##bi = state[ 2]^input[ 2]; \
+ X##bo = state[ 3]^input[ 3]; \
+ X##bu = state[ 4]^input[ 4]; \
+ X##ga = state[ 5]^input[ 5]; \
+ X##ge = state[ 6]^input[ 6]; \
+ X##gi = state[ 7]^input[ 7]; \
+ X##go = state[ 8]^input[ 8]; \
+ X##gu = state[ 9]^input[ 9]; \
+ X##ka = state[10]^input[10]; \
+ X##ke = state[11]^input[11]; \
+ X##ki = state[12]^input[12]; \
+ X##ko = state[13]^input[13]; \
+ X##ku = state[14]^input[14]; \
+ X##ma = state[15]^input[15]; \
+ X##me = state[16]^input[16]; \
+ X##mi = state[17]^input[17]; \
+ X##mo = state[18]^input[18]; \
+ X##mu = state[19]^input[19]; \
+ X##sa = state[20]^input[20]; \
+ X##se = state[21]; \
+ X##si = state[22]; \
+ X##so = state[23]; \
+ X##su = state[24]; \
+
+#define copyFromState(X, state) \
+ X##ba = state[ 0]; \
+ X##be = state[ 1]; \
+ X##bi = state[ 2]; \
+ X##bo = state[ 3]; \
+ X##bu = state[ 4]; \
+ X##ga = state[ 5]; \
+ X##ge = state[ 6]; \
+ X##gi = state[ 7]; \
+ X##go = state[ 8]; \
+ X##gu = state[ 9]; \
+ X##ka = state[10]; \
+ X##ke = state[11]; \
+ X##ki = state[12]; \
+ X##ko = state[13]; \
+ X##ku = state[14]; \
+ X##ma = state[15]; \
+ X##me = state[16]; \
+ X##mi = state[17]; \
+ X##mo = state[18]; \
+ X##mu = state[19]; \
+ X##sa = state[20]; \
+ X##se = state[21]; \
+ X##si = state[22]; \
+ X##so = state[23]; \
+ X##su = state[24]; \
+
+#define copyToState(state, X) \
+ state[ 0] = X##ba; \
+ state[ 1] = X##be; \
+ state[ 2] = X##bi; \
+ state[ 3] = X##bo; \
+ state[ 4] = X##bu; \
+ state[ 5] = X##ga; \
+ state[ 6] = X##ge; \
+ state[ 7] = X##gi; \
+ state[ 8] = X##go; \
+ state[ 9] = X##gu; \
+ state[10] = X##ka; \
+ state[11] = X##ke; \
+ state[12] = X##ki; \
+ state[13] = X##ko; \
+ state[14] = X##ku; \
+ state[15] = X##ma; \
+ state[16] = X##me; \
+ state[17] = X##mi; \
+ state[18] = X##mo; \
+ state[19] = X##mu; \
+ state[20] = X##sa; \
+ state[21] = X##se; \
+ state[22] = X##si; \
+ state[23] = X##so; \
+ state[24] = X##su; \
+
+#define copyStateVariables(X, Y) \
+ X##ba = Y##ba; \
+ X##be = Y##be; \
+ X##bi = Y##bi; \
+ X##bo = Y##bo; \
+ X##bu = Y##bu; \
+ X##ga = Y##ga; \
+ X##ge = Y##ge; \
+ X##gi = Y##gi; \
+ X##go = Y##go; \
+ X##gu = Y##gu; \
+ X##ka = Y##ka; \
+ X##ke = Y##ke; \
+ X##ki = Y##ki; \
+ X##ko = Y##ko; \
+ X##ku = Y##ku; \
+ X##ma = Y##ma; \
+ X##me = Y##me; \
+ X##mi = Y##mi; \
+ X##mo = Y##mo; \
+ X##mu = Y##mu; \
+ X##sa = Y##sa; \
+ X##se = Y##se; \
+ X##si = Y##si; \
+ X##so = Y##so; \
+ X##su = Y##su; \
+
diff --git a/Modules/_sha3/keccak/KeccakF-1600-int-set.h b/Modules/_sha3/keccak/KeccakF-1600-int-set.h
new file mode 100644
index 0000000000..0ed1d802e3
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-int-set.h
@@ -0,0 +1,6 @@
+#define ProvideFast576
+#define ProvideFast832
+#define ProvideFast1024
+#define ProvideFast1088
+#define ProvideFast1152
+#define ProvideFast1344
diff --git a/Modules/_sha3/keccak/KeccakF-1600-interface.h b/Modules/_sha3/keccak/KeccakF-1600-interface.h
new file mode 100644
index 0000000000..ce2710eeb2
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-interface.h
@@ -0,0 +1,46 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#ifndef _KeccakPermutationInterface_h_
+#define _KeccakPermutationInterface_h_
+
+#include "KeccakF-1600-int-set.h"
+
+static void KeccakInitialize( void );
+static void KeccakInitializeState(unsigned char *state);
+static void KeccakPermutation(unsigned char *state);
+#ifdef ProvideFast576
+static void KeccakAbsorb576bits(unsigned char *state, const unsigned char *data);
+#endif
+#ifdef ProvideFast832
+static void KeccakAbsorb832bits(unsigned char *state, const unsigned char *data);
+#endif
+#ifdef ProvideFast1024
+static void KeccakAbsorb1024bits(unsigned char *state, const unsigned char *data);
+#endif
+#ifdef ProvideFast1088
+static void KeccakAbsorb1088bits(unsigned char *state, const unsigned char *data);
+#endif
+#ifdef ProvideFast1152
+static void KeccakAbsorb1152bits(unsigned char *state, const unsigned char *data);
+#endif
+#ifdef ProvideFast1344
+static void KeccakAbsorb1344bits(unsigned char *state, const unsigned char *data);
+#endif
+static void KeccakAbsorb(unsigned char *state, const unsigned char *data, unsigned int laneCount);
+#ifdef ProvideFast1024
+static void KeccakExtract1024bits(const unsigned char *state, unsigned char *data);
+#endif
+static void KeccakExtract(const unsigned char *state, unsigned char *data, unsigned int laneCount);
+
+#endif
diff --git a/Modules/_sha3/keccak/KeccakF-1600-opt32-settings.h b/Modules/_sha3/keccak/KeccakF-1600-opt32-settings.h
new file mode 100644
index 0000000000..615c78217e
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-opt32-settings.h
@@ -0,0 +1,6 @@
+/*
+#define Unrolling 2
+#define UseBebigokimisa
+#define UseInterleaveTables
+#define UseSchedule 3
+*/
diff --git a/Modules/_sha3/keccak/KeccakF-1600-opt32.c b/Modules/_sha3/keccak/KeccakF-1600-opt32.c
new file mode 100644
index 0000000000..dba6d59f13
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-opt32.c
@@ -0,0 +1,524 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#include <string.h>
+/* #include "brg_endian.h" */
+#include "KeccakF-1600-opt32-settings.h"
+#include "KeccakF-1600-interface.h"
+
+typedef unsigned char UINT8;
+typedef unsigned short UINT16;
+typedef unsigned int UINT32;
+/* typedef unsigned long long int UINT64; */
+
+#ifdef UseInterleaveTables
+static int interleaveTablesBuilt = 0;
+static UINT16 interleaveTable[65536];
+static UINT16 deinterleaveTable[65536];
+
+static void buildInterleaveTables()
+{
+ UINT32 i, j;
+ UINT16 x;
+
+ if (!interleaveTablesBuilt) {
+ for(i=0; i<65536; i++) {
+ x = 0;
+ for(j=0; j<16; j++) {
+ if (i & (1 << j))
+ x |= (1 << (j/2 + 8*(j%2)));
+ }
+ interleaveTable[i] = x;
+ deinterleaveTable[x] = (UINT16)i;
+ }
+ interleaveTablesBuilt = 1;
+ }
+}
+
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+
+#define xor2bytesIntoInterleavedWords(even, odd, source, j) \
+ i##j = interleaveTable[((const UINT16*)source)[j]]; \
+ ((UINT8*)even)[j] ^= i##j & 0xFF; \
+ ((UINT8*)odd)[j] ^= i##j >> 8;
+
+#define setInterleavedWordsInto2bytes(dest, even, odd, j) \
+ d##j = deinterleaveTable[((even >> (j*8)) & 0xFF) ^ (((odd >> (j*8)) & 0xFF) << 8)]; \
+ ((UINT16*)dest)[j] = d##j;
+
+#else /* (PLATFORM_BYTE_ORDER == IS_BIG_ENDIAN) */
+
+#define xor2bytesIntoInterleavedWords(even, odd, source, j) \
+ i##j = interleaveTable[source[2*j] ^ ((UINT16)source[2*j+1] << 8)]; \
+ *even ^= (i##j & 0xFF) << (j*8); \
+ *odd ^= ((i##j >> 8) & 0xFF) << (j*8);
+
+#define setInterleavedWordsInto2bytes(dest, even, odd, j) \
+ d##j = deinterleaveTable[((even >> (j*8)) & 0xFF) ^ (((odd >> (j*8)) & 0xFF) << 8)]; \
+ dest[2*j] = d##j & 0xFF; \
+ dest[2*j+1] = d##j >> 8;
+
+#endif /* Endianness */
+
+static void xor8bytesIntoInterleavedWords(UINT32 *even, UINT32 *odd, const UINT8* source)
+{
+ UINT16 i0, i1, i2, i3;
+
+ xor2bytesIntoInterleavedWords(even, odd, source, 0)
+ xor2bytesIntoInterleavedWords(even, odd, source, 1)
+ xor2bytesIntoInterleavedWords(even, odd, source, 2)
+ xor2bytesIntoInterleavedWords(even, odd, source, 3)
+}
+
+#define xorLanesIntoState(laneCount, state, input) \
+ { \
+ int i; \
+ for(i=0; i<(laneCount); i++) \
+ xor8bytesIntoInterleavedWords(state+i*2, state+i*2+1, input+i*8); \
+ }
+
+static void setInterleavedWordsInto8bytes(UINT8* dest, UINT32 even, UINT32 odd)
+{
+ UINT16 d0, d1, d2, d3;
+
+ setInterleavedWordsInto2bytes(dest, even, odd, 0)
+ setInterleavedWordsInto2bytes(dest, even, odd, 1)
+ setInterleavedWordsInto2bytes(dest, even, odd, 2)
+ setInterleavedWordsInto2bytes(dest, even, odd, 3)
+}
+
+#define extractLanes(laneCount, state, data) \
+ { \
+ int i; \
+ for(i=0; i<(laneCount); i++) \
+ setInterleavedWordsInto8bytes(data+i*8, ((UINT32*)state)[i*2], ((UINT32*)state)[i*2+1]); \
+ }
+
+#else /* No interleaving tables */
+
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+
+/* Credit: Henry S. Warren, Hacker's Delight, Addison-Wesley, 2002 */
+#define xorInterleavedLE(rateInLanes, state, input) \
+ { \
+ const UINT32 * pI = (const UINT32 *)input; \
+ UINT32 * pS = state; \
+ UINT32 t, x0, x1; \
+ int i; \
+ for (i = (rateInLanes)-1; i >= 0; --i) \
+ { \
+ x0 = *(pI++); \
+ t = (x0 ^ (x0 >> 1)) & 0x22222222UL; x0 = x0 ^ t ^ (t << 1); \
+ t = (x0 ^ (x0 >> 2)) & 0x0C0C0C0CUL; x0 = x0 ^ t ^ (t << 2); \
+ t = (x0 ^ (x0 >> 4)) & 0x00F000F0UL; x0 = x0 ^ t ^ (t << 4); \
+ t = (x0 ^ (x0 >> 8)) & 0x0000FF00UL; x0 = x0 ^ t ^ (t << 8); \
+ x1 = *(pI++); \
+ t = (x1 ^ (x1 >> 1)) & 0x22222222UL; x1 = x1 ^ t ^ (t << 1); \
+ t = (x1 ^ (x1 >> 2)) & 0x0C0C0C0CUL; x1 = x1 ^ t ^ (t << 2); \
+ t = (x1 ^ (x1 >> 4)) & 0x00F000F0UL; x1 = x1 ^ t ^ (t << 4); \
+ t = (x1 ^ (x1 >> 8)) & 0x0000FF00UL; x1 = x1 ^ t ^ (t << 8); \
+ *(pS++) ^= (UINT16)x0 | (x1 << 16); \
+ *(pS++) ^= (x0 >> 16) | (x1 & 0xFFFF0000); \
+ } \
+ }
+
+#define xorLanesIntoState(laneCount, state, input) \
+ xorInterleavedLE(laneCount, state, input)
+
+#else /* (PLATFORM_BYTE_ORDER == IS_BIG_ENDIAN) */
+
+/* Credit: Henry S. Warren, Hacker's Delight, Addison-Wesley, 2002 */
+UINT64 toInterleaving(UINT64 x)
+{
+ UINT64 t;
+
+ t = (x ^ (x >> 1)) & 0x2222222222222222ULL; x = x ^ t ^ (t << 1);
+ t = (x ^ (x >> 2)) & 0x0C0C0C0C0C0C0C0CULL; x = x ^ t ^ (t << 2);
+ t = (x ^ (x >> 4)) & 0x00F000F000F000F0ULL; x = x ^ t ^ (t << 4);
+ t = (x ^ (x >> 8)) & 0x0000FF000000FF00ULL; x = x ^ t ^ (t << 8);
+ t = (x ^ (x >> 16)) & 0x00000000FFFF0000ULL; x = x ^ t ^ (t << 16);
+
+ return x;
+}
+
+static void xor8bytesIntoInterleavedWords(UINT32* evenAndOdd, const UINT8* source)
+{
+ /* This can be optimized */
+ UINT64 sourceWord =
+ (UINT64)source[0]
+ ^ (((UINT64)source[1]) << 8)
+ ^ (((UINT64)source[2]) << 16)
+ ^ (((UINT64)source[3]) << 24)
+ ^ (((UINT64)source[4]) << 32)
+ ^ (((UINT64)source[5]) << 40)
+ ^ (((UINT64)source[6]) << 48)
+ ^ (((UINT64)source[7]) << 56);
+ UINT64 evenAndOddWord = toInterleaving(sourceWord);
+ evenAndOdd[0] ^= (UINT32)evenAndOddWord;
+ evenAndOdd[1] ^= (UINT32)(evenAndOddWord >> 32);
+}
+
+#define xorLanesIntoState(laneCount, state, input) \
+ { \
+ int i; \
+ for(i=0; i<(laneCount); i++) \
+ xor8bytesIntoInterleavedWords(state+i*2, input+i*8); \
+ }
+
+#endif /* Endianness */
+
+/* Credit: Henry S. Warren, Hacker's Delight, Addison-Wesley, 2002 */
+UINT64 fromInterleaving(UINT64 x)
+{
+ UINT64 t;
+
+ t = (x ^ (x >> 16)) & 0x00000000FFFF0000ULL; x = x ^ t ^ (t << 16);
+ t = (x ^ (x >> 8)) & 0x0000FF000000FF00ULL; x = x ^ t ^ (t << 8);
+ t = (x ^ (x >> 4)) & 0x00F000F000F000F0ULL; x = x ^ t ^ (t << 4);
+ t = (x ^ (x >> 2)) & 0x0C0C0C0C0C0C0C0CULL; x = x ^ t ^ (t << 2);
+ t = (x ^ (x >> 1)) & 0x2222222222222222ULL; x = x ^ t ^ (t << 1);
+
+ return x;
+}
+
+static void setInterleavedWordsInto8bytes(UINT8* dest, UINT32* evenAndOdd)
+{
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+ ((UINT64*)dest)[0] = fromInterleaving(*(UINT64*)evenAndOdd);
+#else /* (PLATFORM_BYTE_ORDER == IS_BIG_ENDIAN) */
+ /* This can be optimized */
+ UINT64 evenAndOddWord = (UINT64)evenAndOdd[0] ^ ((UINT64)evenAndOdd[1] << 32);
+ UINT64 destWord = fromInterleaving(evenAndOddWord);
+ dest[0] = destWord & 0xFF;
+ dest[1] = (destWord >> 8) & 0xFF;
+ dest[2] = (destWord >> 16) & 0xFF;
+ dest[3] = (destWord >> 24) & 0xFF;
+ dest[4] = (destWord >> 32) & 0xFF;
+ dest[5] = (destWord >> 40) & 0xFF;
+ dest[6] = (destWord >> 48) & 0xFF;
+ dest[7] = (destWord >> 56) & 0xFF;
+#endif /* Endianness */
+}
+
+#define extractLanes(laneCount, state, data) \
+ { \
+ int i; \
+ for(i=0; i<(laneCount); i++) \
+ setInterleavedWordsInto8bytes(data+i*8, (UINT32*)state+i*2); \
+ }
+
+#endif /* With or without interleaving tables */
+
+#if defined(_MSC_VER)
+#define ROL32(a, offset) _rotl(a, offset)
+#elif (defined (__arm__) && defined(__ARMCC_VERSION))
+#define ROL32(a, offset) __ror(a, 32-(offset))
+#else
+#define ROL32(a, offset) ((((UINT32)a) << (offset)) ^ (((UINT32)a) >> (32-(offset))))
+#endif
+
+#include "KeccakF-1600-unrolling.macros"
+#include "KeccakF-1600-32.macros"
+
+#if (UseSchedule == 3)
+
+#ifdef UseBebigokimisa
+#error "No lane complementing with schedule 3."
+#endif
+
+#if (Unrolling != 2)
+#error "Only unrolling 2 is supported by schedule 3."
+#endif
+
+static void KeccakPermutationOnWords(UINT32 *state)
+{
+ rounds
+}
+
+static void KeccakPermutationOnWordsAfterXoring(UINT32 *state, const UINT8 *input, unsigned int laneCount)
+{
+ xorLanesIntoState(laneCount, state, input)
+ rounds
+}
+
+#ifdef ProvideFast576
+static void KeccakPermutationOnWordsAfterXoring576bits(UINT32 *state, const UINT8 *input)
+{
+ xorLanesIntoState(9, state, input)
+ rounds
+}
+#endif
+
+#ifdef ProvideFast832
+static void KeccakPermutationOnWordsAfterXoring832bits(UINT32 *state, const UINT8 *input)
+{
+ xorLanesIntoState(13, state, input)
+ rounds
+}
+#endif
+
+#ifdef ProvideFast1024
+static void KeccakPermutationOnWordsAfterXoring1024bits(UINT32 *state, const UINT8 *input)
+{
+ xorLanesIntoState(16, state, input)
+ rounds
+}
+#endif
+
+#ifdef ProvideFast1088
+static void KeccakPermutationOnWordsAfterXoring1088bits(UINT32 *state, const UINT8 *input)
+{
+ xorLanesIntoState(17, state, input)
+ rounds
+}
+#endif
+
+#ifdef ProvideFast1152
+static void KeccakPermutationOnWordsAfterXoring1152bits(UINT32 *state, const UINT8 *input)
+{
+ xorLanesIntoState(18, state, input)
+ rounds
+}
+#endif
+
+#ifdef ProvideFast1344
+static void KeccakPermutationOnWordsAfterXoring1344bits(UINT32 *state, const UINT8 *input)
+{
+ xorLanesIntoState(21, state, input)
+ rounds
+}
+#endif
+
+#else /* (Schedule != 3) */
+
+static void KeccakPermutationOnWords(UINT32 *state)
+{
+ declareABCDE
+#if (Unrolling != 24)
+ unsigned int i;
+#endif
+
+ copyFromState(A, state)
+ rounds
+}
+
+static void KeccakPermutationOnWordsAfterXoring(UINT32 *state, const UINT8 *input, unsigned int laneCount)
+{
+ declareABCDE
+ unsigned int i;
+
+ xorLanesIntoState(laneCount, state, input)
+ copyFromState(A, state)
+ rounds
+}
+
+#ifdef ProvideFast576
+static void KeccakPermutationOnWordsAfterXoring576bits(UINT32 *state, const UINT8 *input)
+{
+ declareABCDE
+ unsigned int i;
+
+ xorLanesIntoState(9, state, input)
+ copyFromState(A, state)
+ rounds
+}
+#endif
+
+#ifdef ProvideFast832
+static void KeccakPermutationOnWordsAfterXoring832bits(UINT32 *state, const UINT8 *input)
+{
+ declareABCDE
+ unsigned int i;
+
+ xorLanesIntoState(13, state, input)
+ copyFromState(A, state)
+ rounds
+}
+#endif
+
+#ifdef ProvideFast1024
+static void KeccakPermutationOnWordsAfterXoring1024bits(UINT32 *state, const UINT8 *input)
+{
+ declareABCDE
+ unsigned int i;
+
+ xorLanesIntoState(16, state, input)
+ copyFromState(A, state)
+ rounds
+}
+#endif
+
+#ifdef ProvideFast1088
+static void KeccakPermutationOnWordsAfterXoring1088bits(UINT32 *state, const UINT8 *input)
+{
+ declareABCDE
+ unsigned int i;
+
+ xorLanesIntoState(17, state, input)
+ copyFromState(A, state)
+ rounds
+}
+#endif
+
+#ifdef ProvideFast1152
+static void KeccakPermutationOnWordsAfterXoring1152bits(UINT32 *state, const UINT8 *input)
+{
+ declareABCDE
+ unsigned int i;
+
+ xorLanesIntoState(18, state, input)
+ copyFromState(A, state)
+ rounds
+}
+#endif
+
+#ifdef ProvideFast1344
+static void KeccakPermutationOnWordsAfterXoring1344bits(UINT32 *state, const UINT8 *input)
+{
+ declareABCDE
+ unsigned int i;
+
+ xorLanesIntoState(21, state, input)
+ copyFromState(A, state)
+ rounds
+}
+#endif
+
+#endif
+
+static void KeccakInitialize()
+{
+#ifdef UseInterleaveTables
+ buildInterleaveTables();
+#endif
+}
+
+static void KeccakInitializeState(unsigned char *state)
+{
+ memset(state, 0, 200);
+#ifdef UseBebigokimisa
+ ((UINT32*)state)[ 2] = ~(UINT32)0;
+ ((UINT32*)state)[ 3] = ~(UINT32)0;
+ ((UINT32*)state)[ 4] = ~(UINT32)0;
+ ((UINT32*)state)[ 5] = ~(UINT32)0;
+ ((UINT32*)state)[16] = ~(UINT32)0;
+ ((UINT32*)state)[17] = ~(UINT32)0;
+ ((UINT32*)state)[24] = ~(UINT32)0;
+ ((UINT32*)state)[25] = ~(UINT32)0;
+ ((UINT32*)state)[34] = ~(UINT32)0;
+ ((UINT32*)state)[35] = ~(UINT32)0;
+ ((UINT32*)state)[40] = ~(UINT32)0;
+ ((UINT32*)state)[41] = ~(UINT32)0;
+#endif
+}
+
+static void KeccakPermutation(unsigned char *state)
+{
+ /* We assume the state is always stored as interleaved 32-bit words */
+ KeccakPermutationOnWords((UINT32*)state);
+}
+
+#ifdef ProvideFast576
+static void KeccakAbsorb576bits(unsigned char *state, const unsigned char *data)
+{
+ KeccakPermutationOnWordsAfterXoring576bits((UINT32*)state, data);
+}
+#endif
+
+#ifdef ProvideFast832
+static void KeccakAbsorb832bits(unsigned char *state, const unsigned char *data)
+{
+ KeccakPermutationOnWordsAfterXoring832bits((UINT32*)state, data);
+}
+#endif
+
+#ifdef ProvideFast1024
+static void KeccakAbsorb1024bits(unsigned char *state, const unsigned char *data)
+{
+ KeccakPermutationOnWordsAfterXoring1024bits((UINT32*)state, data);
+}
+#endif
+
+#ifdef ProvideFast1088
+static void KeccakAbsorb1088bits(unsigned char *state, const unsigned char *data)
+{
+ KeccakPermutationOnWordsAfterXoring1088bits((UINT32*)state, data);
+}
+#endif
+
+#ifdef ProvideFast1152
+static void KeccakAbsorb1152bits(unsigned char *state, const unsigned char *data)
+{
+ KeccakPermutationOnWordsAfterXoring1152bits((UINT32*)state, data);
+}
+#endif
+
+#ifdef ProvideFast1344
+static void KeccakAbsorb1344bits(unsigned char *state, const unsigned char *data)
+{
+ KeccakPermutationOnWordsAfterXoring1344bits((UINT32*)state, data);
+}
+#endif
+
+static void KeccakAbsorb(unsigned char *state, const unsigned char *data, unsigned int laneCount)
+{
+ KeccakPermutationOnWordsAfterXoring((UINT32*)state, data, laneCount);
+}
+
+#ifdef ProvideFast1024
+static void KeccakExtract1024bits(const unsigned char *state, unsigned char *data)
+{
+ extractLanes(16, state, data)
+#ifdef UseBebigokimisa
+ ((UINT32*)data)[ 2] = ~((UINT32*)data)[ 2];
+ ((UINT32*)data)[ 3] = ~((UINT32*)data)[ 3];
+ ((UINT32*)data)[ 4] = ~((UINT32*)data)[ 4];
+ ((UINT32*)data)[ 5] = ~((UINT32*)data)[ 5];
+ ((UINT32*)data)[16] = ~((UINT32*)data)[16];
+ ((UINT32*)data)[17] = ~((UINT32*)data)[17];
+ ((UINT32*)data)[24] = ~((UINT32*)data)[24];
+ ((UINT32*)data)[25] = ~((UINT32*)data)[25];
+#endif
+}
+#endif
+
+static void KeccakExtract(const unsigned char *state, unsigned char *data, unsigned int laneCount)
+{
+ extractLanes(laneCount, state, data)
+#ifdef UseBebigokimisa
+ if (laneCount > 1) {
+ ((UINT32*)data)[ 2] = ~((UINT32*)data)[ 2];
+ ((UINT32*)data)[ 3] = ~((UINT32*)data)[ 3];
+ if (laneCount > 2) {
+ ((UINT32*)data)[ 4] = ~((UINT32*)data)[ 4];
+ ((UINT32*)data)[ 5] = ~((UINT32*)data)[ 5];
+ if (laneCount > 8) {
+ ((UINT32*)data)[16] = ~((UINT32*)data)[16];
+ ((UINT32*)data)[17] = ~((UINT32*)data)[17];
+ if (laneCount > 12) {
+ ((UINT32*)data)[24] = ~((UINT32*)data)[24];
+ ((UINT32*)data)[25] = ~((UINT32*)data)[25];
+ if (laneCount > 17) {
+ ((UINT32*)data)[34] = ~((UINT32*)data)[34];
+ ((UINT32*)data)[35] = ~((UINT32*)data)[35];
+ if (laneCount > 20) {
+ ((UINT32*)data)[40] = ~((UINT32*)data)[40];
+ ((UINT32*)data)[41] = ~((UINT32*)data)[41];
+ }
+ }
+ }
+ }
+ }
+ }
+#endif
+}
diff --git a/Modules/_sha3/keccak/KeccakF-1600-opt64-settings.h b/Modules/_sha3/keccak/KeccakF-1600-opt64-settings.h
new file mode 100644
index 0000000000..df83e6331f
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-opt64-settings.h
@@ -0,0 +1,9 @@
+/*
+#define Unrolling 24
+#define UseBebigokimisa
+#define UseSSE
+#define UseOnlySIMD64
+#define UseMMX
+#define UseSHLD
+#define UseXOP
+*/
diff --git a/Modules/_sha3/keccak/KeccakF-1600-opt64.c b/Modules/_sha3/keccak/KeccakF-1600-opt64.c
new file mode 100644
index 0000000000..f19b18b36a
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-opt64.c
@@ -0,0 +1,510 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#include <string.h>
+/* #include "brg_endian.h" */
+#include "KeccakF-1600-opt64-settings.h"
+#include "KeccakF-1600-interface.h"
+
+typedef unsigned char UINT8;
+/* typedef unsigned long long int UINT64; */
+
+#if defined(__GNUC__)
+#define ALIGN __attribute__ ((aligned(32)))
+#elif defined(_MSC_VER)
+#define ALIGN __declspec(align(32))
+#else
+#define ALIGN
+#endif
+
+#if defined(UseSSE)
+ #include <x86intrin.h>
+ typedef __m128i V64;
+ typedef __m128i V128;
+ typedef union {
+ V128 v128;
+ UINT64 v64[2];
+ } V6464;
+
+ #define ANDnu64(a, b) _mm_andnot_si128(a, b)
+ #define LOAD64(a) _mm_loadl_epi64((const V64 *)&(a))
+ #define CONST64(a) _mm_loadl_epi64((const V64 *)&(a))
+ #define ROL64(a, o) _mm_or_si128(_mm_slli_epi64(a, o), _mm_srli_epi64(a, 64-(o)))
+ #define STORE64(a, b) _mm_storel_epi64((V64 *)&(a), b)
+ #define XOR64(a, b) _mm_xor_si128(a, b)
+ #define XOReq64(a, b) a = _mm_xor_si128(a, b)
+ #define SHUFFLEBYTES128(a, b) _mm_shuffle_epi8(a, b)
+
+ #define ANDnu128(a, b) _mm_andnot_si128(a, b)
+ #define LOAD6464(a, b) _mm_set_epi64((__m64)(a), (__m64)(b))
+ #define CONST128(a) _mm_load_si128((const V128 *)&(a))
+ #define LOAD128(a) _mm_load_si128((const V128 *)&(a))
+ #define LOAD128u(a) _mm_loadu_si128((const V128 *)&(a))
+ #define ROL64in128(a, o) _mm_or_si128(_mm_slli_epi64(a, o), _mm_srli_epi64(a, 64-(o)))
+ #define STORE128(a, b) _mm_store_si128((V128 *)&(a), b)
+ #define XOR128(a, b) _mm_xor_si128(a, b)
+ #define XOReq128(a, b) a = _mm_xor_si128(a, b)
+ #define GET64LOLO(a, b) _mm_unpacklo_epi64(a, b)
+ #define GET64HIHI(a, b) _mm_unpackhi_epi64(a, b)
+ #define COPY64HI2LO(a) _mm_shuffle_epi32(a, 0xEE)
+ #define COPY64LO2HI(a) _mm_shuffle_epi32(a, 0x44)
+ #define ZERO128() _mm_setzero_si128()
+
+ #ifdef UseOnlySIMD64
+ #include "KeccakF-1600-simd64.macros"
+ #else
+ALIGN const UINT64 rho8_56[2] = {0x0605040302010007, 0x080F0E0D0C0B0A09};
+ #include "KeccakF-1600-simd128.macros"
+ #endif
+
+ #ifdef UseBebigokimisa
+ #error "UseBebigokimisa cannot be used in combination with UseSSE"
+ #endif
+#elif defined(UseXOP)
+ #include <x86intrin.h>
+ typedef __m128i V64;
+ typedef __m128i V128;
+
+ #define LOAD64(a) _mm_loadl_epi64((const V64 *)&(a))
+ #define CONST64(a) _mm_loadl_epi64((const V64 *)&(a))
+ #define STORE64(a, b) _mm_storel_epi64((V64 *)&(a), b)
+ #define XOR64(a, b) _mm_xor_si128(a, b)
+ #define XOReq64(a, b) a = _mm_xor_si128(a, b)
+
+ #define ANDnu128(a, b) _mm_andnot_si128(a, b)
+ #define LOAD6464(a, b) _mm_set_epi64((__m64)(a), (__m64)(b))
+ #define CONST128(a) _mm_load_si128((const V128 *)&(a))
+ #define LOAD128(a) _mm_load_si128((const V128 *)&(a))
+ #define LOAD128u(a) _mm_loadu_si128((const V128 *)&(a))
+ #define STORE128(a, b) _mm_store_si128((V128 *)&(a), b)
+ #define XOR128(a, b) _mm_xor_si128(a, b)
+ #define XOReq128(a, b) a = _mm_xor_si128(a, b)
+ #define ZERO128() _mm_setzero_si128()
+
+ #define SWAP64(a) _mm_shuffle_epi32(a, 0x4E)
+ #define GET64LOLO(a, b) _mm_unpacklo_epi64(a, b)
+ #define GET64HIHI(a, b) _mm_unpackhi_epi64(a, b)
+ #define GET64LOHI(a, b) ((__m128i)_mm_blend_pd((__m128d)a, (__m128d)b, 2))
+ #define GET64HILO(a, b) SWAP64(GET64LOHI(b, a))
+ #define COPY64HI2LO(a) _mm_shuffle_epi32(a, 0xEE)
+ #define COPY64LO2HI(a) _mm_shuffle_epi32(a, 0x44)
+
+ #define ROL6464same(a, o) _mm_roti_epi64(a, o)
+ #define ROL6464(a, r1, r2) _mm_rot_epi64(a, CONST128( rot_##r1##_##r2 ))
+ALIGN const UINT64 rot_0_20[2] = { 0, 20};
+ALIGN const UINT64 rot_44_3[2] = {44, 3};
+ALIGN const UINT64 rot_43_45[2] = {43, 45};
+ALIGN const UINT64 rot_21_61[2] = {21, 61};
+ALIGN const UINT64 rot_14_28[2] = {14, 28};
+ALIGN const UINT64 rot_1_36[2] = { 1, 36};
+ALIGN const UINT64 rot_6_10[2] = { 6, 10};
+ALIGN const UINT64 rot_25_15[2] = {25, 15};
+ALIGN const UINT64 rot_8_56[2] = { 8, 56};
+ALIGN const UINT64 rot_18_27[2] = {18, 27};
+ALIGN const UINT64 rot_62_55[2] = {62, 55};
+ALIGN const UINT64 rot_39_41[2] = {39, 41};
+
+#if defined(UseSimulatedXOP)
+ /* For debugging purposes, when XOP is not available */
+ #undef ROL6464
+ #undef ROL6464same
+ #define ROL6464same(a, o) _mm_or_si128(_mm_slli_epi64(a, o), _mm_srli_epi64(a, 64-(o)))
+ V128 ROL6464(V128 a, int r0, int r1)
+ {
+ V128 a0 = ROL64(a, r0);
+ V128 a1 = COPY64HI2LO(ROL64(a, r1));
+ return GET64LOLO(a0, a1);
+ }
+#endif
+
+ #include "KeccakF-1600-xop.macros"
+
+ #ifdef UseBebigokimisa
+ #error "UseBebigokimisa cannot be used in combination with UseXOP"
+ #endif
+#elif defined(UseMMX)
+ #include <mmintrin.h>
+ typedef __m64 V64;
+ #define ANDnu64(a, b) _mm_andnot_si64(a, b)
+
+ #if (defined(_MSC_VER) || defined (__INTEL_COMPILER))
+ #define LOAD64(a) *(V64*)&(a)
+ #define CONST64(a) *(V64*)&(a)
+ #define STORE64(a, b) *(V64*)&(a) = b
+ #else
+ #define LOAD64(a) (V64)a
+ #define CONST64(a) (V64)a
+ #define STORE64(a, b) a = (UINT64)b
+ #endif
+ #define ROL64(a, o) _mm_or_si64(_mm_slli_si64(a, o), _mm_srli_si64(a, 64-(o)))
+ #define XOR64(a, b) _mm_xor_si64(a, b)
+ #define XOReq64(a, b) a = _mm_xor_si64(a, b)
+
+ #include "KeccakF-1600-simd64.macros"
+
+ #ifdef UseBebigokimisa
+ #error "UseBebigokimisa cannot be used in combination with UseMMX"
+ #endif
+#else
+ #if defined(_MSC_VER)
+ #define ROL64(a, offset) _rotl64(a, offset)
+ #elif defined(UseSHLD)
+ #define ROL64(x,N) ({ \
+ register UINT64 __out; \
+ register UINT64 __in = x; \
+ __asm__ ("shld %2,%0,%0" : "=r"(__out) : "0"(__in), "i"(N)); \
+ __out; \
+ })
+ #else
+ #define ROL64(a, offset) ((((UINT64)a) << offset) ^ (((UINT64)a) >> (64-offset)))
+ #endif
+
+ #include "KeccakF-1600-64.macros"
+#endif
+
+#include "KeccakF-1600-unrolling.macros"
+
+static void KeccakPermutationOnWords(UINT64 *state)
+{
+ declareABCDE
+#if (Unrolling != 24)
+ unsigned int i;
+#endif
+
+ copyFromState(A, state)
+ rounds
+#if defined(UseMMX)
+ _mm_empty();
+#endif
+}
+
+static void KeccakPermutationOnWordsAfterXoring(UINT64 *state, const UINT64 *input, unsigned int laneCount)
+{
+ declareABCDE
+#if (Unrolling != 24)
+ unsigned int i;
+#endif
+ unsigned int j;
+
+ for(j=0; j<laneCount; j++)
+ state[j] ^= input[j];
+ copyFromState(A, state)
+ rounds
+#if defined(UseMMX)
+ _mm_empty();
+#endif
+}
+
+#ifdef ProvideFast576
+static void KeccakPermutationOnWordsAfterXoring576bits(UINT64 *state, const UINT64 *input)
+{
+ declareABCDE
+#if (Unrolling != 24)
+ unsigned int i;
+#endif
+
+ copyFromStateAndXor576bits(A, state, input)
+ rounds
+#if defined(UseMMX)
+ _mm_empty();
+#endif
+}
+#endif
+
+#ifdef ProvideFast832
+static void KeccakPermutationOnWordsAfterXoring832bits(UINT64 *state, const UINT64 *input)
+{
+ declareABCDE
+#if (Unrolling != 24)
+ unsigned int i;
+#endif
+
+ copyFromStateAndXor832bits(A, state, input)
+ rounds
+#if defined(UseMMX)
+ _mm_empty();
+#endif
+}
+#endif
+
+#ifdef ProvideFast1024
+static void KeccakPermutationOnWordsAfterXoring1024bits(UINT64 *state, const UINT64 *input)
+{
+ declareABCDE
+#if (Unrolling != 24)
+ unsigned int i;
+#endif
+
+ copyFromStateAndXor1024bits(A, state, input)
+ rounds
+#if defined(UseMMX)
+ _mm_empty();
+#endif
+}
+#endif
+
+#ifdef ProvideFast1088
+static void KeccakPermutationOnWordsAfterXoring1088bits(UINT64 *state, const UINT64 *input)
+{
+ declareABCDE
+#if (Unrolling != 24)
+ unsigned int i;
+#endif
+
+ copyFromStateAndXor1088bits(A, state, input)
+ rounds
+#if defined(UseMMX)
+ _mm_empty();
+#endif
+}
+#endif
+
+#ifdef ProvideFast1152
+static void KeccakPermutationOnWordsAfterXoring1152bits(UINT64 *state, const UINT64 *input)
+{
+ declareABCDE
+#if (Unrolling != 24)
+ unsigned int i;
+#endif
+
+ copyFromStateAndXor1152bits(A, state, input)
+ rounds
+#if defined(UseMMX)
+ _mm_empty();
+#endif
+}
+#endif
+
+#ifdef ProvideFast1344
+static void KeccakPermutationOnWordsAfterXoring1344bits(UINT64 *state, const UINT64 *input)
+{
+ declareABCDE
+#if (Unrolling != 24)
+ unsigned int i;
+#endif
+
+ copyFromStateAndXor1344bits(A, state, input)
+ rounds
+#if defined(UseMMX)
+ _mm_empty();
+#endif
+}
+#endif
+
+static void KeccakInitialize()
+{
+}
+
+static void KeccakInitializeState(unsigned char *state)
+{
+ memset(state, 0, 200);
+#ifdef UseBebigokimisa
+ ((UINT64*)state)[ 1] = ~(UINT64)0;
+ ((UINT64*)state)[ 2] = ~(UINT64)0;
+ ((UINT64*)state)[ 8] = ~(UINT64)0;
+ ((UINT64*)state)[12] = ~(UINT64)0;
+ ((UINT64*)state)[17] = ~(UINT64)0;
+ ((UINT64*)state)[20] = ~(UINT64)0;
+#endif
+}
+
+static void KeccakPermutation(unsigned char *state)
+{
+ /* We assume the state is always stored as words */
+ KeccakPermutationOnWords((UINT64*)state);
+}
+
+#if (PLATFORM_BYTE_ORDER == IS_BIG_ENDIAN)
+static void fromBytesToWord(UINT64 *word, const UINT8 *bytes)
+{
+ unsigned int i;
+
+ *word = 0;
+ for(i=0; i<(64/8); i++)
+ *word |= (UINT64)(bytes[i]) << (8*i);
+}
+#endif
+
+
+#ifdef ProvideFast576
+static void KeccakAbsorb576bits(unsigned char *state, const unsigned char *data)
+{
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+ KeccakPermutationOnWordsAfterXoring576bits((UINT64*)state, (const UINT64*)data);
+#else
+ UINT64 dataAsWords[9];
+ unsigned int i;
+
+ for(i=0; i<9; i++)
+ fromBytesToWord(dataAsWords+i, data+(i*8));
+ KeccakPermutationOnWordsAfterXoring576bits((UINT64*)state, dataAsWords);
+#endif
+}
+#endif
+
+#ifdef ProvideFast832
+static void KeccakAbsorb832bits(unsigned char *state, const unsigned char *data)
+{
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+ KeccakPermutationOnWordsAfterXoring832bits((UINT64*)state, (const UINT64*)data);
+#else
+ UINT64 dataAsWords[13];
+ unsigned int i;
+
+ for(i=0; i<13; i++)
+ fromBytesToWord(dataAsWords+i, data+(i*8));
+ KeccakPermutationOnWordsAfterXoring832bits((UINT64*)state, dataAsWords);
+#endif
+}
+#endif
+
+#ifdef ProvideFast1024
+static void KeccakAbsorb1024bits(unsigned char *state, const unsigned char *data)
+{
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+ KeccakPermutationOnWordsAfterXoring1024bits((UINT64*)state, (const UINT64*)data);
+#else
+ UINT64 dataAsWords[16];
+ unsigned int i;
+
+ for(i=0; i<16; i++)
+ fromBytesToWord(dataAsWords+i, data+(i*8));
+ KeccakPermutationOnWordsAfterXoring1024bits((UINT64*)state, dataAsWords);
+#endif
+}
+#endif
+
+#ifdef ProvideFast1088
+static void KeccakAbsorb1088bits(unsigned char *state, const unsigned char *data)
+{
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+ KeccakPermutationOnWordsAfterXoring1088bits((UINT64*)state, (const UINT64*)data);
+#else
+ UINT64 dataAsWords[17];
+ unsigned int i;
+
+ for(i=0; i<17; i++)
+ fromBytesToWord(dataAsWords+i, data+(i*8));
+ KeccakPermutationOnWordsAfterXoring1088bits((UINT64*)state, dataAsWords);
+#endif
+}
+#endif
+
+#ifdef ProvideFast1152
+static void KeccakAbsorb1152bits(unsigned char *state, const unsigned char *data)
+{
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+ KeccakPermutationOnWordsAfterXoring1152bits((UINT64*)state, (const UINT64*)data);
+#else
+ UINT64 dataAsWords[18];
+ unsigned int i;
+
+ for(i=0; i<18; i++)
+ fromBytesToWord(dataAsWords+i, data+(i*8));
+ KeccakPermutationOnWordsAfterXoring1152bits((UINT64*)state, dataAsWords);
+#endif
+}
+#endif
+
+#ifdef ProvideFast1344
+static void KeccakAbsorb1344bits(unsigned char *state, const unsigned char *data)
+{
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+ KeccakPermutationOnWordsAfterXoring1344bits((UINT64*)state, (const UINT64*)data);
+#else
+ UINT64 dataAsWords[21];
+ unsigned int i;
+
+ for(i=0; i<21; i++)
+ fromBytesToWord(dataAsWords+i, data+(i*8));
+ KeccakPermutationOnWordsAfterXoring1344bits((UINT64*)state, dataAsWords);
+#endif
+}
+#endif
+
+static void KeccakAbsorb(unsigned char *state, const unsigned char *data, unsigned int laneCount)
+{
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+ KeccakPermutationOnWordsAfterXoring((UINT64*)state, (const UINT64*)data, laneCount);
+#else
+ UINT64 dataAsWords[25];
+ unsigned int i;
+
+ for(i=0; i<laneCount; i++)
+ fromBytesToWord(dataAsWords+i, data+(i*8));
+ KeccakPermutationOnWordsAfterXoring((UINT64*)state, dataAsWords, laneCount);
+#endif
+}
+
+#if (PLATFORM_BYTE_ORDER == IS_BIG_ENDIAN)
+static void fromWordToBytes(UINT8 *bytes, const UINT64 word)
+{
+ unsigned int i;
+
+ for(i=0; i<(64/8); i++)
+ bytes[i] = (word >> (8*i)) & 0xFF;
+}
+#endif
+
+
+#ifdef ProvideFast1024
+static void KeccakExtract1024bits(const unsigned char *state, unsigned char *data)
+{
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+ memcpy(data, state, 128);
+#else
+ unsigned int i;
+
+ for(i=0; i<16; i++)
+ fromWordToBytes(data+(i*8), ((const UINT64*)state)[i]);
+#endif
+#ifdef UseBebigokimisa
+ ((UINT64*)data)[ 1] = ~((UINT64*)data)[ 1];
+ ((UINT64*)data)[ 2] = ~((UINT64*)data)[ 2];
+ ((UINT64*)data)[ 8] = ~((UINT64*)data)[ 8];
+ ((UINT64*)data)[12] = ~((UINT64*)data)[12];
+#endif
+}
+#endif
+
+static void KeccakExtract(const unsigned char *state, unsigned char *data, unsigned int laneCount)
+{
+#if (PLATFORM_BYTE_ORDER == IS_LITTLE_ENDIAN)
+ memcpy(data, state, laneCount*8);
+#else
+ unsigned int i;
+
+ for(i=0; i<laneCount; i++)
+ fromWordToBytes(data+(i*8), ((const UINT64*)state)[i]);
+#endif
+#ifdef UseBebigokimisa
+ if (laneCount > 1) {
+ ((UINT64*)data)[ 1] = ~((UINT64*)data)[ 1];
+ if (laneCount > 2) {
+ ((UINT64*)data)[ 2] = ~((UINT64*)data)[ 2];
+ if (laneCount > 8) {
+ ((UINT64*)data)[ 8] = ~((UINT64*)data)[ 8];
+ if (laneCount > 12) {
+ ((UINT64*)data)[12] = ~((UINT64*)data)[12];
+ if (laneCount > 17) {
+ ((UINT64*)data)[17] = ~((UINT64*)data)[17];
+ if (laneCount > 20) {
+ ((UINT64*)data)[20] = ~((UINT64*)data)[20];
+ }
+ }
+ }
+ }
+ }
+ }
+#endif
+}
diff --git a/Modules/_sha3/keccak/KeccakF-1600-simd128.macros b/Modules/_sha3/keccak/KeccakF-1600-simd128.macros
new file mode 100644
index 0000000000..98e47f5a59
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-simd128.macros
@@ -0,0 +1,651 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#define declareABCDE \
+ V6464 Abage, Abegi, Abigo, Abogu, Abuga; \
+ V6464 Akame, Akemi, Akimo, Akomu, Akuma; \
+ V6464 Abae, Abio, Agae, Agio, Akae, Akio, Amae, Amio, Asae, Asio; \
+ V64 Aba, Abe, Abi, Abo, Abu; \
+ V64 Aga, Age, Agi, Ago, Agu; \
+ V64 Aka, Ake, Aki, Ako, Aku; \
+ V64 Ama, Ame, Ami, Amo, Amu; \
+ V64 Asa, Ase, Asi, Aso, Asu; \
+ V128 Bbage, Bbegi, Bbigo, Bbogu, Bbuga; \
+ V128 Bkame, Bkemi, Bkimo, Bkomu, Bkuma; \
+ V64 Bba, Bbe, Bbi, Bbo, Bbu; \
+ V64 Bga, Bge, Bgi, Bgo, Bgu; \
+ V64 Bka, Bke, Bki, Bko, Bku; \
+ V64 Bma, Bme, Bmi, Bmo, Bmu; \
+ V64 Bsa, Bse, Bsi, Bso, Bsu; \
+ V128 Cae, Cei, Cio, Cou, Cua, Dei, Dou; \
+ V64 Ca, Ce, Ci, Co, Cu; \
+ V64 Da, De, Di, Do, Du; \
+ V6464 Ebage, Ebegi, Ebigo, Ebogu, Ebuga; \
+ V6464 Ekame, Ekemi, Ekimo, Ekomu, Ekuma; \
+ V64 Eba, Ebe, Ebi, Ebo, Ebu; \
+ V64 Ega, Ege, Egi, Ego, Egu; \
+ V64 Eka, Eke, Eki, Eko, Eku; \
+ V64 Ema, Eme, Emi, Emo, Emu; \
+ V64 Esa, Ese, Esi, Eso, Esu; \
+ V128 Zero;
+
+#define prepareTheta
+
+#define computeD \
+ Cua = GET64LOLO(Cu, Cae); \
+ Dei = XOR128(Cae, ROL64in128(Cio, 1)); \
+ Dou = XOR128(Cio, ROL64in128(Cua, 1)); \
+ Da = XOR64(Cu, ROL64in128(COPY64HI2LO(Cae), 1)); \
+ De = Dei; \
+ Di = COPY64HI2LO(Dei); \
+ Do = Dou; \
+ Du = COPY64HI2LO(Dou);
+
+/* --- Theta Rho Pi Chi Iota Prepare-theta */
+/* --- 64-bit lanes mapped to 64-bit and 128-bit words */
+#define thetaRhoPiChiIotaPrepareTheta(i, A, E) \
+ computeD \
+ \
+ A##ba = LOAD64(A##bage.v64[0]); \
+ XOReq64(A##ba, Da); \
+ Bba = A##ba; \
+ XOReq64(A##gu, Du); \
+ Bge = ROL64(A##gu, 20); \
+ Bbage = GET64LOLO(Bba, Bge); \
+ A##ge = LOAD64(A##bage.v64[1]); \
+ XOReq64(A##ge, De); \
+ Bbe = ROL64(A##ge, 44); \
+ A##ka = LOAD64(A##kame.v64[0]); \
+ XOReq64(A##ka, Da); \
+ Bgi = ROL64(A##ka, 3); \
+ Bbegi = GET64LOLO(Bbe, Bgi); \
+ XOReq64(A##ki, Di); \
+ Bbi = ROL64(A##ki, 43); \
+ A##me = LOAD64(A##kame.v64[1]); \
+ XOReq64(A##me, De); \
+ Bgo = ROL64(A##me, 45); \
+ Bbigo = GET64LOLO(Bbi, Bgo); \
+ E##bage.v128 = XOR128(Bbage, ANDnu128(Bbegi, Bbigo)); \
+ XOReq128(E##bage.v128, CONST64(KeccakF1600RoundConstants[i])); \
+ Cae = E##bage.v128; \
+ XOReq64(A##mo, Do); \
+ Bbo = ROL64(A##mo, 21); \
+ XOReq64(A##si, Di); \
+ Bgu = ROL64(A##si, 61); \
+ Bbogu = GET64LOLO(Bbo, Bgu); \
+ E##begi.v128 = XOR128(Bbegi, ANDnu128(Bbigo, Bbogu)); \
+ Cei = E##begi.v128; \
+ XOReq64(A##su, Du); \
+ Bbu = ROL64(A##su, 14); \
+ XOReq64(A##bo, Do); \
+ Bga = ROL64(A##bo, 28); \
+ Bbuga = GET64LOLO(Bbu, Bga); \
+ E##bigo.v128 = XOR128(Bbigo, ANDnu128(Bbogu, Bbuga)); \
+ E##bi = E##bigo.v128; \
+ E##go = GET64HIHI(E##bigo.v128, E##bigo.v128); \
+ Cio = E##bigo.v128; \
+ E##bogu.v128 = XOR128(Bbogu, ANDnu128(Bbuga, Bbage)); \
+ E##bo = E##bogu.v128; \
+ E##gu = GET64HIHI(E##bogu.v128, E##bogu.v128); \
+ Cou = E##bogu.v128; \
+ E##buga.v128 = XOR128(Bbuga, ANDnu128(Bbage, Bbegi)); \
+ E##bu = E##buga.v128; \
+ E##ga = GET64HIHI(E##buga.v128, E##buga.v128); \
+ Cua = E##buga.v128; \
+\
+ A##be = LOAD64(A##begi.v64[0]); \
+ XOReq64(A##be, De); \
+ Bka = ROL64(A##be, 1); \
+ XOReq64(A##ga, Da); \
+ Bme = ROL64(A##ga, 36); \
+ Bkame = GET64LOLO(Bka, Bme); \
+ A##gi = LOAD64(A##begi.v64[1]); \
+ XOReq64(A##gi, Di); \
+ Bke = ROL64(A##gi, 6); \
+ A##ke = LOAD64(A##kemi.v64[0]); \
+ XOReq64(A##ke, De); \
+ Bmi = ROL64(A##ke, 10); \
+ Bkemi = GET64LOLO(Bke, Bmi); \
+ XOReq64(A##ko, Do); \
+ Bki = ROL64(A##ko, 25); \
+ A##mi = LOAD64(A##kemi.v64[1]); \
+ XOReq64(A##mi, Di); \
+ Bmo = ROL64(A##mi, 15); \
+ Bkimo = GET64LOLO(Bki, Bmo); \
+ E##kame.v128 = XOR128(Bkame, ANDnu128(Bkemi, Bkimo)); \
+ XOReq128(Cae, E##kame.v128); \
+ Bkomu = GET64LOLO(XOR64(A##mu, Du), XOR64(A##so, Do)); \
+ Bkomu = SHUFFLEBYTES128(Bkomu, CONST128(rho8_56)); \
+ E##kemi.v128 = XOR128(Bkemi, ANDnu128(Bkimo, Bkomu)); \
+ XOReq128(Cei, E##kemi.v128); \
+ XOReq64(A##sa, Da); \
+ Bku = ROL64(A##sa, 18); \
+ XOReq64(A##bu, Du); \
+ Bma = ROL64(A##bu, 27); \
+ Bkuma = GET64LOLO(Bku, Bma); \
+ E##kimo.v128 = XOR128(Bkimo, ANDnu128(Bkomu, Bkuma)); \
+ E##ki = E##kimo.v128; \
+ E##mo = GET64HIHI(E##kimo.v128, E##kimo.v128); \
+ XOReq128(Cio, E##kimo.v128); \
+ E##komu.v128 = XOR128(Bkomu, ANDnu128(Bkuma, Bkame)); \
+ E##ko = E##komu.v128; \
+ E##mu = GET64HIHI(E##komu.v128, E##komu.v128); \
+ XOReq128(Cou, E##komu.v128); \
+ E##kuma.v128 = XOR128(Bkuma, ANDnu128(Bkame, Bkemi)); \
+ E##ku = E##kuma.v128; \
+ E##ma = GET64HIHI(E##kuma.v128, E##kuma.v128); \
+ XOReq128(Cua, E##kuma.v128); \
+\
+ XOReq64(A##bi, Di); \
+ Bsa = ROL64(A##bi, 62); \
+ XOReq64(A##go, Do); \
+ Bse = ROL64(A##go, 55); \
+ XOReq64(A##ku, Du); \
+ Bsi = ROL64(A##ku, 39); \
+ E##sa = XOR64(Bsa, ANDnu64(Bse, Bsi)); \
+ Ca = E##sa; \
+ XOReq64(A##ma, Da); \
+ Bso = ROL64(A##ma, 41); \
+ E##se = XOR64(Bse, ANDnu64(Bsi, Bso)); \
+ Ce = E##se; \
+ XOReq128(Cae, GET64LOLO(Ca, Ce)); \
+ XOReq64(A##se, De); \
+ Bsu = ROL64(A##se, 2); \
+ E##si = XOR64(Bsi, ANDnu64(Bso, Bsu)); \
+ Ci = E##si; \
+ E##so = XOR64(Bso, ANDnu64(Bsu, Bsa)); \
+ Co = E##so; \
+ XOReq128(Cio, GET64LOLO(Ci, Co)); \
+ E##su = XOR64(Bsu, ANDnu64(Bsa, Bse)); \
+ Cu = E##su; \
+\
+ Zero = ZERO128(); \
+ XOReq128(Cae, GET64HIHI(Cua, Zero)); \
+ XOReq128(Cae, GET64LOLO(Zero, Cei)); \
+ XOReq128(Cio, GET64HIHI(Cei, Zero)); \
+ XOReq128(Cio, GET64LOLO(Zero, Cou)); \
+ XOReq128(Cua, GET64HIHI(Cou, Zero)); \
+ XOReq64(Cu, Cua); \
+
+/* --- Theta Rho Pi Chi Iota */
+/* --- 64-bit lanes mapped to 64-bit and 128-bit words */
+#define thetaRhoPiChiIota(i, A, E) thetaRhoPiChiIotaPrepareTheta(i, A, E)
+
+static const UINT64 KeccakF1600RoundConstants[24] = {
+ 0x0000000000000001ULL,
+ 0x0000000000008082ULL,
+ 0x800000000000808aULL,
+ 0x8000000080008000ULL,
+ 0x000000000000808bULL,
+ 0x0000000080000001ULL,
+ 0x8000000080008081ULL,
+ 0x8000000000008009ULL,
+ 0x000000000000008aULL,
+ 0x0000000000000088ULL,
+ 0x0000000080008009ULL,
+ 0x000000008000000aULL,
+ 0x000000008000808bULL,
+ 0x800000000000008bULL,
+ 0x8000000000008089ULL,
+ 0x8000000000008003ULL,
+ 0x8000000000008002ULL,
+ 0x8000000000000080ULL,
+ 0x000000000000800aULL,
+ 0x800000008000000aULL,
+ 0x8000000080008081ULL,
+ 0x8000000000008080ULL,
+ 0x0000000080000001ULL,
+ 0x8000000080008008ULL };
+
+#define copyFromStateAndXor576bits(X, state, input) \
+ X##bae.v128 = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae.v128; \
+ X##be = GET64HIHI(X##bae.v128, X##bae.v128); \
+ Cae = X##bae.v128; \
+ X##bio.v128 = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio.v128; \
+ X##bo = GET64HIHI(X##bio.v128, X##bio.v128); \
+ Cio = X##bio.v128; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cu = X##bu; \
+ X##gae.v128 = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae.v128; \
+ X##ge = GET64HIHI(X##gae.v128, X##gae.v128); \
+ X##bage.v128 = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae.v128); \
+ X##gio.v128 = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio.v128; \
+ X##begi.v128 = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio.v128, X##gio.v128); \
+ XOReq128(Cio, X##gio.v128); \
+ X##gu = LOAD64(state[ 9]); \
+ XOReq64(Cu, X##gu); \
+ X##kae.v128 = LOAD128(state[10]); \
+ X##ka = X##kae.v128; \
+ X##ke = GET64HIHI(X##kae.v128, X##kae.v128); \
+ XOReq128(Cae, X##kae.v128); \
+ X##kio.v128 = LOAD128(state[12]); \
+ X##ki = X##kio.v128; \
+ X##ko = GET64HIHI(X##kio.v128, X##kio.v128); \
+ XOReq128(Cio, X##kio.v128); \
+ X##ku = LOAD64(state[14]); \
+ XOReq64(Cu, X##ku); \
+ X##mae.v128 = LOAD128u(state[15]); \
+ X##ma = X##mae.v128; \
+ X##me = GET64HIHI(X##mae.v128, X##mae.v128); \
+ X##kame.v128 = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, X##mae.v128); \
+ X##mio.v128 = LOAD128u(state[17]); \
+ X##mi = X##mio.v128; \
+ X##kemi.v128 = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio.v128, X##mio.v128); \
+ XOReq128(Cio, X##mio.v128); \
+ X##mu = LOAD64(state[19]); \
+ XOReq64(Cu, X##mu); \
+ X##sae.v128 = LOAD128(state[20]); \
+ X##sa = X##sae.v128; \
+ X##se = GET64HIHI(X##sae.v128, X##sae.v128); \
+ XOReq128(Cae, X##sae.v128); \
+ X##sio.v128 = LOAD128(state[22]); \
+ X##si = X##sio.v128; \
+ X##so = GET64HIHI(X##sio.v128, X##sio.v128); \
+ XOReq128(Cio, X##sio.v128); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cu, X##su); \
+
+#define copyFromStateAndXor832bits(X, state, input) \
+ X##bae.v128 = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae.v128; \
+ X##be = GET64HIHI(X##bae.v128, X##bae.v128); \
+ Cae = X##bae.v128; \
+ X##bio.v128 = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio.v128; \
+ X##bo = GET64HIHI(X##bio.v128, X##bio.v128); \
+ Cio = X##bio.v128; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cu = X##bu; \
+ X##gae.v128 = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae.v128; \
+ X##ge = GET64HIHI(X##gae.v128, X##gae.v128); \
+ X##bage.v128 = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae.v128); \
+ X##gio.v128 = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio.v128; \
+ X##begi.v128 = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio.v128, X##gio.v128); \
+ XOReq128(Cio, X##gio.v128); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ XOReq64(Cu, X##gu); \
+ X##kae.v128 = XOR128(LOAD128(state[10]), LOAD128u(input[10])); \
+ X##ka = X##kae.v128; \
+ X##ke = GET64HIHI(X##kae.v128, X##kae.v128); \
+ XOReq128(Cae, X##kae.v128); \
+ X##kio.v128 = XOR128(LOAD128(state[12]), LOAD64(input[12])); \
+ X##ki = X##kio.v128; \
+ X##ko = GET64HIHI(X##kio.v128, X##kio.v128); \
+ XOReq128(Cio, X##kio.v128); \
+ X##ku = LOAD64(state[14]); \
+ XOReq64(Cu, X##ku); \
+ X##mae.v128 = LOAD128u(state[15]); \
+ X##ma = X##mae.v128; \
+ X##me = GET64HIHI(X##mae.v128, X##mae.v128); \
+ X##kame.v128 = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, X##mae.v128); \
+ X##mio.v128 = LOAD128u(state[17]); \
+ X##mi = X##mio.v128; \
+ X##kemi.v128 = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio.v128, X##mio.v128); \
+ XOReq128(Cio, X##mio.v128); \
+ X##mu = LOAD64(state[19]); \
+ XOReq64(Cu, X##mu); \
+ X##sae.v128 = LOAD128(state[20]); \
+ X##sa = X##sae.v128; \
+ X##se = GET64HIHI(X##sae.v128, X##sae.v128); \
+ XOReq128(Cae, X##sae.v128); \
+ X##sio.v128 = LOAD128(state[22]); \
+ X##si = X##sio.v128; \
+ X##so = GET64HIHI(X##sio.v128, X##sio.v128); \
+ XOReq128(Cio, X##sio.v128); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cu, X##su); \
+
+#define copyFromStateAndXor1024bits(X, state, input) \
+ X##bae.v128 = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae.v128; \
+ X##be = GET64HIHI(X##bae.v128, X##bae.v128); \
+ Cae = X##bae.v128; \
+ X##bio.v128 = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio.v128; \
+ X##bo = GET64HIHI(X##bio.v128, X##bio.v128); \
+ Cio = X##bio.v128; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cu = X##bu; \
+ X##gae.v128 = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae.v128; \
+ X##ge = GET64HIHI(X##gae.v128, X##gae.v128); \
+ X##bage.v128 = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae.v128); \
+ X##gio.v128 = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio.v128; \
+ X##begi.v128 = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio.v128, X##gio.v128); \
+ XOReq128(Cio, X##gio.v128); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ XOReq64(Cu, X##gu); \
+ X##kae.v128 = XOR128(LOAD128(state[10]), LOAD128u(input[10])); \
+ X##ka = X##kae.v128; \
+ X##ke = GET64HIHI(X##kae.v128, X##kae.v128); \
+ XOReq128(Cae, X##kae.v128); \
+ X##kio.v128 = XOR128(LOAD128(state[12]), LOAD128u(input[12])); \
+ X##ki = X##kio.v128; \
+ X##ko = GET64HIHI(X##kio.v128, X##kio.v128); \
+ XOReq128(Cio, X##kio.v128); \
+ X##ku = XOR64(LOAD64(state[14]), LOAD64(input[14])); \
+ XOReq64(Cu, X##ku); \
+ X##mae.v128 = XOR128(LOAD128u(state[15]), LOAD64(input[15])); \
+ X##ma = X##mae.v128; \
+ X##me = GET64HIHI(X##mae.v128, X##mae.v128); \
+ X##kame.v128 = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, X##mae.v128); \
+ X##mio.v128 = LOAD128u(state[17]); \
+ X##mi = X##mio.v128; \
+ X##kemi.v128 = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio.v128, X##mio.v128); \
+ XOReq128(Cio, X##mio.v128); \
+ X##mu = LOAD64(state[19]); \
+ XOReq64(Cu, X##mu); \
+ X##sae.v128 = LOAD128(state[20]); \
+ X##sa = X##sae.v128; \
+ X##se = GET64HIHI(X##sae.v128, X##sae.v128); \
+ XOReq128(Cae, X##sae.v128); \
+ X##sio.v128 = LOAD128(state[22]); \
+ X##si = X##sio.v128; \
+ X##so = GET64HIHI(X##sio.v128, X##sio.v128); \
+ XOReq128(Cio, X##sio.v128); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cu, X##su); \
+
+#define copyFromStateAndXor1088bits(X, state, input) \
+ X##bae.v128 = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae.v128; \
+ X##be = GET64HIHI(X##bae.v128, X##bae.v128); \
+ Cae = X##bae.v128; \
+ X##bio.v128 = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio.v128; \
+ X##bo = GET64HIHI(X##bio.v128, X##bio.v128); \
+ Cio = X##bio.v128; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cu = X##bu; \
+ X##gae.v128 = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae.v128; \
+ X##ge = GET64HIHI(X##gae.v128, X##gae.v128); \
+ X##bage.v128 = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae.v128); \
+ X##gio.v128 = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio.v128; \
+ X##begi.v128 = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio.v128, X##gio.v128); \
+ XOReq128(Cio, X##gio.v128); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ XOReq64(Cu, X##gu); \
+ X##kae.v128 = XOR128(LOAD128(state[10]), LOAD128u(input[10])); \
+ X##ka = X##kae.v128; \
+ X##ke = GET64HIHI(X##kae.v128, X##kae.v128); \
+ XOReq128(Cae, X##kae.v128); \
+ X##kio.v128 = XOR128(LOAD128(state[12]), LOAD128u(input[12])); \
+ X##ki = X##kio.v128; \
+ X##ko = GET64HIHI(X##kio.v128, X##kio.v128); \
+ XOReq128(Cio, X##kio.v128); \
+ X##ku = XOR64(LOAD64(state[14]), LOAD64(input[14])); \
+ XOReq64(Cu, X##ku); \
+ X##mae.v128 = XOR128(LOAD128u(state[15]), LOAD128u(input[15])); \
+ X##ma = X##mae.v128; \
+ X##me = GET64HIHI(X##mae.v128, X##mae.v128); \
+ X##kame.v128 = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, X##mae.v128); \
+ X##mio.v128 = LOAD128u(state[17]); \
+ X##mi = X##mio.v128; \
+ X##kemi.v128 = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio.v128, X##mio.v128); \
+ XOReq128(Cio, X##mio.v128); \
+ X##mu = LOAD64(state[19]); \
+ XOReq64(Cu, X##mu); \
+ X##sae.v128 = LOAD128(state[20]); \
+ X##sa = X##sae.v128; \
+ X##se = GET64HIHI(X##sae.v128, X##sae.v128); \
+ XOReq128(Cae, X##sae.v128); \
+ X##sio.v128 = LOAD128(state[22]); \
+ X##si = X##sio.v128; \
+ X##so = GET64HIHI(X##sio.v128, X##sio.v128); \
+ XOReq128(Cio, X##sio.v128); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cu, X##su); \
+
+#define copyFromStateAndXor1152bits(X, state, input) \
+ X##bae.v128 = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae.v128; \
+ X##be = GET64HIHI(X##bae.v128, X##bae.v128); \
+ Cae = X##bae.v128; \
+ X##bio.v128 = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio.v128; \
+ X##bo = GET64HIHI(X##bio.v128, X##bio.v128); \
+ Cio = X##bio.v128; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cu = X##bu; \
+ X##gae.v128 = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae.v128; \
+ X##ge = GET64HIHI(X##gae.v128, X##gae.v128); \
+ X##bage.v128 = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae.v128); \
+ X##gio.v128 = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio.v128; \
+ X##begi.v128 = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio.v128, X##gio.v128); \
+ XOReq128(Cio, X##gio.v128); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ XOReq64(Cu, X##gu); \
+ X##kae.v128 = XOR128(LOAD128(state[10]), LOAD128u(input[10])); \
+ X##ka = X##kae.v128; \
+ X##ke = GET64HIHI(X##kae.v128, X##kae.v128); \
+ XOReq128(Cae, X##kae.v128); \
+ X##kio.v128 = XOR128(LOAD128(state[12]), LOAD128u(input[12])); \
+ X##ki = X##kio.v128; \
+ X##ko = GET64HIHI(X##kio.v128, X##kio.v128); \
+ XOReq128(Cio, X##kio.v128); \
+ X##ku = XOR64(LOAD64(state[14]), LOAD64(input[14])); \
+ XOReq64(Cu, X##ku); \
+ X##mae.v128 = XOR128(LOAD128u(state[15]), LOAD128u(input[15])); \
+ X##ma = X##mae.v128; \
+ X##me = GET64HIHI(X##mae.v128, X##mae.v128); \
+ X##kame.v128 = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, X##mae.v128); \
+ X##mio.v128 = XOR128(LOAD128u(state[17]), LOAD64(input[17])); \
+ X##mi = X##mio.v128; \
+ X##kemi.v128 = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio.v128, X##mio.v128); \
+ XOReq128(Cio, X##mio.v128); \
+ X##mu = LOAD64(state[19]); \
+ XOReq64(Cu, X##mu); \
+ X##sae.v128 = LOAD128(state[20]); \
+ X##sa = X##sae.v128; \
+ X##se = GET64HIHI(X##sae.v128, X##sae.v128); \
+ XOReq128(Cae, X##sae.v128); \
+ X##sio.v128 = LOAD128(state[22]); \
+ X##si = X##sio.v128; \
+ X##so = GET64HIHI(X##sio.v128, X##sio.v128); \
+ XOReq128(Cio, X##sio.v128); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cu, X##su); \
+
+#define copyFromStateAndXor1344bits(X, state, input) \
+ X##bae.v128 = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae.v128; \
+ X##be = GET64HIHI(X##bae.v128, X##bae.v128); \
+ Cae = X##bae.v128; \
+ X##bio.v128 = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio.v128; \
+ X##bo = GET64HIHI(X##bio.v128, X##bio.v128); \
+ Cio = X##bio.v128; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cu = X##bu; \
+ X##gae.v128 = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae.v128; \
+ X##ge = GET64HIHI(X##gae.v128, X##gae.v128); \
+ X##bage.v128 = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae.v128); \
+ X##gio.v128 = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio.v128; \
+ X##begi.v128 = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio.v128, X##gio.v128); \
+ XOReq128(Cio, X##gio.v128); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ XOReq64(Cu, X##gu); \
+ X##kae.v128 = XOR128(LOAD128(state[10]), LOAD128u(input[10])); \
+ X##ka = X##kae.v128; \
+ X##ke = GET64HIHI(X##kae.v128, X##kae.v128); \
+ XOReq128(Cae, X##kae.v128); \
+ X##kio.v128 = XOR128(LOAD128(state[12]), LOAD128u(input[12])); \
+ X##ki = X##kio.v128; \
+ X##ko = GET64HIHI(X##kio.v128, X##kio.v128); \
+ XOReq128(Cio, X##kio.v128); \
+ X##ku = XOR64(LOAD64(state[14]), LOAD64(input[14])); \
+ XOReq64(Cu, X##ku); \
+ X##mae.v128 = XOR128(LOAD128u(state[15]), LOAD128u(input[15])); \
+ X##ma = X##mae.v128; \
+ X##me = GET64HIHI(X##mae.v128, X##mae.v128); \
+ X##kame.v128 = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, X##mae.v128); \
+ X##mio.v128 = XOR128(LOAD128u(state[17]), LOAD128u(input[17])); \
+ X##mi = X##mio.v128; \
+ X##kemi.v128 = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio.v128, X##mio.v128); \
+ XOReq128(Cio, X##mio.v128); \
+ X##mu = XOR64(LOAD64(state[19]), LOAD64(input[19])); \
+ XOReq64(Cu, X##mu); \
+ X##sae.v128 = XOR128(LOAD128(state[20]), LOAD64(input[20])); \
+ X##sa = X##sae.v128; \
+ X##se = GET64HIHI(X##sae.v128, X##sae.v128); \
+ XOReq128(Cae, X##sae.v128); \
+ X##sio.v128 = LOAD128(state[22]); \
+ X##si = X##sio.v128; \
+ X##so = GET64HIHI(X##sio.v128, X##sio.v128); \
+ XOReq128(Cio, X##sio.v128); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cu, X##su); \
+
+#define copyFromState(X, state) \
+ X##bae.v128 = LOAD128(state[ 0]); \
+ X##ba = X##bae.v128; \
+ X##be = GET64HIHI(X##bae.v128, X##bae.v128); \
+ Cae = X##bae.v128; \
+ X##bio.v128 = LOAD128(state[ 2]); \
+ X##bi = X##bio.v128; \
+ X##bo = GET64HIHI(X##bio.v128, X##bio.v128); \
+ Cio = X##bio.v128; \
+ X##bu = LOAD64(state[ 4]); \
+ Cu = X##bu; \
+ X##gae.v128 = LOAD128u(state[ 5]); \
+ X##ga = X##gae.v128; \
+ X##ge = GET64HIHI(X##gae.v128, X##gae.v128); \
+ X##bage.v128 = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae.v128); \
+ X##gio.v128 = LOAD128u(state[ 7]); \
+ X##gi = X##gio.v128; \
+ X##begi.v128 = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio.v128, X##gio.v128); \
+ XOReq128(Cio, X##gio.v128); \
+ X##gu = LOAD64(state[ 9]); \
+ XOReq64(Cu, X##gu); \
+ X##kae.v128 = LOAD128(state[10]); \
+ X##ka = X##kae.v128; \
+ X##ke = GET64HIHI(X##kae.v128, X##kae.v128); \
+ XOReq128(Cae, X##kae.v128); \
+ X##kio.v128 = LOAD128(state[12]); \
+ X##ki = X##kio.v128; \
+ X##ko = GET64HIHI(X##kio.v128, X##kio.v128); \
+ XOReq128(Cio, X##kio.v128); \
+ X##ku = LOAD64(state[14]); \
+ XOReq64(Cu, X##ku); \
+ X##mae.v128 = LOAD128u(state[15]); \
+ X##ma = X##mae.v128; \
+ X##me = GET64HIHI(X##mae.v128, X##mae.v128); \
+ X##kame.v128 = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, X##mae.v128); \
+ X##mio.v128 = LOAD128u(state[17]); \
+ X##mi = X##mio.v128; \
+ X##kemi.v128 = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio.v128, X##mio.v128); \
+ XOReq128(Cio, X##mio.v128); \
+ X##mu = LOAD64(state[19]); \
+ XOReq64(Cu, X##mu); \
+ X##sae.v128 = LOAD128(state[20]); \
+ X##sa = X##sae.v128; \
+ X##se = GET64HIHI(X##sae.v128, X##sae.v128); \
+ XOReq128(Cae, X##sae.v128); \
+ X##sio.v128 = LOAD128(state[22]); \
+ X##si = X##sio.v128; \
+ X##so = GET64HIHI(X##sio.v128, X##sio.v128); \
+ XOReq128(Cio, X##sio.v128); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cu, X##su); \
+
+#define copyToState(state, X) \
+ state[ 0] = A##bage.v64[0]; \
+ state[ 1] = A##begi.v64[0]; \
+ STORE64(state[ 2], X##bi); \
+ STORE64(state[ 3], X##bo); \
+ STORE64(state[ 4], X##bu); \
+ STORE64(state[ 5], X##ga); \
+ state[ 6] = A##bage.v64[1]; \
+ state[ 7] = A##begi.v64[1]; \
+ STORE64(state[ 8], X##go); \
+ STORE64(state[ 9], X##gu); \
+ state[10] = X##kame.v64[0]; \
+ state[11] = X##kemi.v64[0]; \
+ STORE64(state[12], X##ki); \
+ STORE64(state[13], X##ko); \
+ STORE64(state[14], X##ku); \
+ STORE64(state[15], X##ma); \
+ state[16] = X##kame.v64[1]; \
+ state[17] = X##kemi.v64[1]; \
+ STORE64(state[18], X##mo); \
+ STORE64(state[19], X##mu); \
+ STORE64(state[20], X##sa); \
+ STORE64(state[21], X##se); \
+ STORE64(state[22], X##si); \
+ STORE64(state[23], X##so); \
+ STORE64(state[24], X##su); \
+
+#define copyStateVariables(X, Y) \
+ X##bage = Y##bage; \
+ X##begi = Y##begi; \
+ X##bi = Y##bi; \
+ X##bo = Y##bo; \
+ X##bu = Y##bu; \
+ X##ga = Y##ga; \
+ X##go = Y##go; \
+ X##gu = Y##gu; \
+ X##kame = Y##kame; \
+ X##kemi = Y##kemi; \
+ X##ki = Y##ki; \
+ X##ko = Y##ko; \
+ X##ku = Y##ku; \
+ X##ma = Y##ma; \
+ X##mo = Y##mo; \
+ X##mu = Y##mu; \
+ X##sa = Y##sa; \
+ X##se = Y##se; \
+ X##si = Y##si; \
+ X##so = Y##so; \
+ X##su = Y##su; \
+
diff --git a/Modules/_sha3/keccak/KeccakF-1600-simd64.macros b/Modules/_sha3/keccak/KeccakF-1600-simd64.macros
new file mode 100644
index 0000000000..06a30e2ae0
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-simd64.macros
@@ -0,0 +1,517 @@
+/*
+Code automatically generated by KeccakTools!
+
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#define declareABCDE \
+ V64 Aba, Abe, Abi, Abo, Abu; \
+ V64 Aga, Age, Agi, Ago, Agu; \
+ V64 Aka, Ake, Aki, Ako, Aku; \
+ V64 Ama, Ame, Ami, Amo, Amu; \
+ V64 Asa, Ase, Asi, Aso, Asu; \
+ V64 Bba, Bbe, Bbi, Bbo, Bbu; \
+ V64 Bga, Bge, Bgi, Bgo, Bgu; \
+ V64 Bka, Bke, Bki, Bko, Bku; \
+ V64 Bma, Bme, Bmi, Bmo, Bmu; \
+ V64 Bsa, Bse, Bsi, Bso, Bsu; \
+ V64 Ca, Ce, Ci, Co, Cu; \
+ V64 Da, De, Di, Do, Du; \
+ V64 Eba, Ebe, Ebi, Ebo, Ebu; \
+ V64 Ega, Ege, Egi, Ego, Egu; \
+ V64 Eka, Eke, Eki, Eko, Eku; \
+ V64 Ema, Eme, Emi, Emo, Emu; \
+ V64 Esa, Ese, Esi, Eso, Esu; \
+
+#define prepareTheta \
+ Ca = XOR64(Aba, XOR64(Aga, XOR64(Aka, XOR64(Ama, Asa)))); \
+ Ce = XOR64(Abe, XOR64(Age, XOR64(Ake, XOR64(Ame, Ase)))); \
+ Ci = XOR64(Abi, XOR64(Agi, XOR64(Aki, XOR64(Ami, Asi)))); \
+ Co = XOR64(Abo, XOR64(Ago, XOR64(Ako, XOR64(Amo, Aso)))); \
+ Cu = XOR64(Abu, XOR64(Agu, XOR64(Aku, XOR64(Amu, Asu)))); \
+
+/* --- Code for round, with prepare-theta */
+/* --- 64-bit lanes mapped to 64-bit words */
+#define thetaRhoPiChiIotaPrepareTheta(i, A, E) \
+ Da = XOR64(Cu, ROL64(Ce, 1)); \
+ De = XOR64(Ca, ROL64(Ci, 1)); \
+ Di = XOR64(Ce, ROL64(Co, 1)); \
+ Do = XOR64(Ci, ROL64(Cu, 1)); \
+ Du = XOR64(Co, ROL64(Ca, 1)); \
+\
+ XOReq64(A##ba, Da); \
+ Bba = A##ba; \
+ XOReq64(A##ge, De); \
+ Bbe = ROL64(A##ge, 44); \
+ XOReq64(A##ki, Di); \
+ Bbi = ROL64(A##ki, 43); \
+ E##ba = XOR64(Bba, ANDnu64(Bbe, Bbi)); \
+ XOReq64(E##ba, CONST64(KeccakF1600RoundConstants[i])); \
+ Ca = E##ba; \
+ XOReq64(A##mo, Do); \
+ Bbo = ROL64(A##mo, 21); \
+ E##be = XOR64(Bbe, ANDnu64(Bbi, Bbo)); \
+ Ce = E##be; \
+ XOReq64(A##su, Du); \
+ Bbu = ROL64(A##su, 14); \
+ E##bi = XOR64(Bbi, ANDnu64(Bbo, Bbu)); \
+ Ci = E##bi; \
+ E##bo = XOR64(Bbo, ANDnu64(Bbu, Bba)); \
+ Co = E##bo; \
+ E##bu = XOR64(Bbu, ANDnu64(Bba, Bbe)); \
+ Cu = E##bu; \
+\
+ XOReq64(A##bo, Do); \
+ Bga = ROL64(A##bo, 28); \
+ XOReq64(A##gu, Du); \
+ Bge = ROL64(A##gu, 20); \
+ XOReq64(A##ka, Da); \
+ Bgi = ROL64(A##ka, 3); \
+ E##ga = XOR64(Bga, ANDnu64(Bge, Bgi)); \
+ XOReq64(Ca, E##ga); \
+ XOReq64(A##me, De); \
+ Bgo = ROL64(A##me, 45); \
+ E##ge = XOR64(Bge, ANDnu64(Bgi, Bgo)); \
+ XOReq64(Ce, E##ge); \
+ XOReq64(A##si, Di); \
+ Bgu = ROL64(A##si, 61); \
+ E##gi = XOR64(Bgi, ANDnu64(Bgo, Bgu)); \
+ XOReq64(Ci, E##gi); \
+ E##go = XOR64(Bgo, ANDnu64(Bgu, Bga)); \
+ XOReq64(Co, E##go); \
+ E##gu = XOR64(Bgu, ANDnu64(Bga, Bge)); \
+ XOReq64(Cu, E##gu); \
+\
+ XOReq64(A##be, De); \
+ Bka = ROL64(A##be, 1); \
+ XOReq64(A##gi, Di); \
+ Bke = ROL64(A##gi, 6); \
+ XOReq64(A##ko, Do); \
+ Bki = ROL64(A##ko, 25); \
+ E##ka = XOR64(Bka, ANDnu64(Bke, Bki)); \
+ XOReq64(Ca, E##ka); \
+ XOReq64(A##mu, Du); \
+ Bko = ROL64(A##mu, 8); \
+ E##ke = XOR64(Bke, ANDnu64(Bki, Bko)); \
+ XOReq64(Ce, E##ke); \
+ XOReq64(A##sa, Da); \
+ Bku = ROL64(A##sa, 18); \
+ E##ki = XOR64(Bki, ANDnu64(Bko, Bku)); \
+ XOReq64(Ci, E##ki); \
+ E##ko = XOR64(Bko, ANDnu64(Bku, Bka)); \
+ XOReq64(Co, E##ko); \
+ E##ku = XOR64(Bku, ANDnu64(Bka, Bke)); \
+ XOReq64(Cu, E##ku); \
+\
+ XOReq64(A##bu, Du); \
+ Bma = ROL64(A##bu, 27); \
+ XOReq64(A##ga, Da); \
+ Bme = ROL64(A##ga, 36); \
+ XOReq64(A##ke, De); \
+ Bmi = ROL64(A##ke, 10); \
+ E##ma = XOR64(Bma, ANDnu64(Bme, Bmi)); \
+ XOReq64(Ca, E##ma); \
+ XOReq64(A##mi, Di); \
+ Bmo = ROL64(A##mi, 15); \
+ E##me = XOR64(Bme, ANDnu64(Bmi, Bmo)); \
+ XOReq64(Ce, E##me); \
+ XOReq64(A##so, Do); \
+ Bmu = ROL64(A##so, 56); \
+ E##mi = XOR64(Bmi, ANDnu64(Bmo, Bmu)); \
+ XOReq64(Ci, E##mi); \
+ E##mo = XOR64(Bmo, ANDnu64(Bmu, Bma)); \
+ XOReq64(Co, E##mo); \
+ E##mu = XOR64(Bmu, ANDnu64(Bma, Bme)); \
+ XOReq64(Cu, E##mu); \
+\
+ XOReq64(A##bi, Di); \
+ Bsa = ROL64(A##bi, 62); \
+ XOReq64(A##go, Do); \
+ Bse = ROL64(A##go, 55); \
+ XOReq64(A##ku, Du); \
+ Bsi = ROL64(A##ku, 39); \
+ E##sa = XOR64(Bsa, ANDnu64(Bse, Bsi)); \
+ XOReq64(Ca, E##sa); \
+ XOReq64(A##ma, Da); \
+ Bso = ROL64(A##ma, 41); \
+ E##se = XOR64(Bse, ANDnu64(Bsi, Bso)); \
+ XOReq64(Ce, E##se); \
+ XOReq64(A##se, De); \
+ Bsu = ROL64(A##se, 2); \
+ E##si = XOR64(Bsi, ANDnu64(Bso, Bsu)); \
+ XOReq64(Ci, E##si); \
+ E##so = XOR64(Bso, ANDnu64(Bsu, Bsa)); \
+ XOReq64(Co, E##so); \
+ E##su = XOR64(Bsu, ANDnu64(Bsa, Bse)); \
+ XOReq64(Cu, E##su); \
+\
+
+/* --- Code for round */
+/* --- 64-bit lanes mapped to 64-bit words */
+#define thetaRhoPiChiIota(i, A, E) \
+ Da = XOR64(Cu, ROL64(Ce, 1)); \
+ De = XOR64(Ca, ROL64(Ci, 1)); \
+ Di = XOR64(Ce, ROL64(Co, 1)); \
+ Do = XOR64(Ci, ROL64(Cu, 1)); \
+ Du = XOR64(Co, ROL64(Ca, 1)); \
+\
+ XOReq64(A##ba, Da); \
+ Bba = A##ba; \
+ XOReq64(A##ge, De); \
+ Bbe = ROL64(A##ge, 44); \
+ XOReq64(A##ki, Di); \
+ Bbi = ROL64(A##ki, 43); \
+ E##ba = XOR64(Bba, ANDnu64(Bbe, Bbi)); \
+ XOReq64(E##ba, CONST64(KeccakF1600RoundConstants[i])); \
+ XOReq64(A##mo, Do); \
+ Bbo = ROL64(A##mo, 21); \
+ E##be = XOR64(Bbe, ANDnu64(Bbi, Bbo)); \
+ XOReq64(A##su, Du); \
+ Bbu = ROL64(A##su, 14); \
+ E##bi = XOR64(Bbi, ANDnu64(Bbo, Bbu)); \
+ E##bo = XOR64(Bbo, ANDnu64(Bbu, Bba)); \
+ E##bu = XOR64(Bbu, ANDnu64(Bba, Bbe)); \
+\
+ XOReq64(A##bo, Do); \
+ Bga = ROL64(A##bo, 28); \
+ XOReq64(A##gu, Du); \
+ Bge = ROL64(A##gu, 20); \
+ XOReq64(A##ka, Da); \
+ Bgi = ROL64(A##ka, 3); \
+ E##ga = XOR64(Bga, ANDnu64(Bge, Bgi)); \
+ XOReq64(A##me, De); \
+ Bgo = ROL64(A##me, 45); \
+ E##ge = XOR64(Bge, ANDnu64(Bgi, Bgo)); \
+ XOReq64(A##si, Di); \
+ Bgu = ROL64(A##si, 61); \
+ E##gi = XOR64(Bgi, ANDnu64(Bgo, Bgu)); \
+ E##go = XOR64(Bgo, ANDnu64(Bgu, Bga)); \
+ E##gu = XOR64(Bgu, ANDnu64(Bga, Bge)); \
+\
+ XOReq64(A##be, De); \
+ Bka = ROL64(A##be, 1); \
+ XOReq64(A##gi, Di); \
+ Bke = ROL64(A##gi, 6); \
+ XOReq64(A##ko, Do); \
+ Bki = ROL64(A##ko, 25); \
+ E##ka = XOR64(Bka, ANDnu64(Bke, Bki)); \
+ XOReq64(A##mu, Du); \
+ Bko = ROL64(A##mu, 8); \
+ E##ke = XOR64(Bke, ANDnu64(Bki, Bko)); \
+ XOReq64(A##sa, Da); \
+ Bku = ROL64(A##sa, 18); \
+ E##ki = XOR64(Bki, ANDnu64(Bko, Bku)); \
+ E##ko = XOR64(Bko, ANDnu64(Bku, Bka)); \
+ E##ku = XOR64(Bku, ANDnu64(Bka, Bke)); \
+\
+ XOReq64(A##bu, Du); \
+ Bma = ROL64(A##bu, 27); \
+ XOReq64(A##ga, Da); \
+ Bme = ROL64(A##ga, 36); \
+ XOReq64(A##ke, De); \
+ Bmi = ROL64(A##ke, 10); \
+ E##ma = XOR64(Bma, ANDnu64(Bme, Bmi)); \
+ XOReq64(A##mi, Di); \
+ Bmo = ROL64(A##mi, 15); \
+ E##me = XOR64(Bme, ANDnu64(Bmi, Bmo)); \
+ XOReq64(A##so, Do); \
+ Bmu = ROL64(A##so, 56); \
+ E##mi = XOR64(Bmi, ANDnu64(Bmo, Bmu)); \
+ E##mo = XOR64(Bmo, ANDnu64(Bmu, Bma)); \
+ E##mu = XOR64(Bmu, ANDnu64(Bma, Bme)); \
+\
+ XOReq64(A##bi, Di); \
+ Bsa = ROL64(A##bi, 62); \
+ XOReq64(A##go, Do); \
+ Bse = ROL64(A##go, 55); \
+ XOReq64(A##ku, Du); \
+ Bsi = ROL64(A##ku, 39); \
+ E##sa = XOR64(Bsa, ANDnu64(Bse, Bsi)); \
+ XOReq64(A##ma, Da); \
+ Bso = ROL64(A##ma, 41); \
+ E##se = XOR64(Bse, ANDnu64(Bsi, Bso)); \
+ XOReq64(A##se, De); \
+ Bsu = ROL64(A##se, 2); \
+ E##si = XOR64(Bsi, ANDnu64(Bso, Bsu)); \
+ E##so = XOR64(Bso, ANDnu64(Bsu, Bsa)); \
+ E##su = XOR64(Bsu, ANDnu64(Bsa, Bse)); \
+\
+
+static const UINT64 KeccakF1600RoundConstants[24] = {
+ 0x0000000000000001ULL,
+ 0x0000000000008082ULL,
+ 0x800000000000808aULL,
+ 0x8000000080008000ULL,
+ 0x000000000000808bULL,
+ 0x0000000080000001ULL,
+ 0x8000000080008081ULL,
+ 0x8000000000008009ULL,
+ 0x000000000000008aULL,
+ 0x0000000000000088ULL,
+ 0x0000000080008009ULL,
+ 0x000000008000000aULL,
+ 0x000000008000808bULL,
+ 0x800000000000008bULL,
+ 0x8000000000008089ULL,
+ 0x8000000000008003ULL,
+ 0x8000000000008002ULL,
+ 0x8000000000000080ULL,
+ 0x000000000000800aULL,
+ 0x800000008000000aULL,
+ 0x8000000080008081ULL,
+ 0x8000000000008080ULL,
+ 0x0000000080000001ULL,
+ 0x8000000080008008ULL };
+
+#define copyFromStateAndXor576bits(X, state, input) \
+ X##ba = XOR64(LOAD64(state[ 0]), LOAD64(input[ 0])); \
+ X##be = XOR64(LOAD64(state[ 1]), LOAD64(input[ 1])); \
+ X##bi = XOR64(LOAD64(state[ 2]), LOAD64(input[ 2])); \
+ X##bo = XOR64(LOAD64(state[ 3]), LOAD64(input[ 3])); \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ X##ga = XOR64(LOAD64(state[ 5]), LOAD64(input[ 5])); \
+ X##ge = XOR64(LOAD64(state[ 6]), LOAD64(input[ 6])); \
+ X##gi = XOR64(LOAD64(state[ 7]), LOAD64(input[ 7])); \
+ X##go = XOR64(LOAD64(state[ 8]), LOAD64(input[ 8])); \
+ X##gu = LOAD64(state[ 9]); \
+ X##ka = LOAD64(state[10]); \
+ X##ke = LOAD64(state[11]); \
+ X##ki = LOAD64(state[12]); \
+ X##ko = LOAD64(state[13]); \
+ X##ku = LOAD64(state[14]); \
+ X##ma = LOAD64(state[15]); \
+ X##me = LOAD64(state[16]); \
+ X##mi = LOAD64(state[17]); \
+ X##mo = LOAD64(state[18]); \
+ X##mu = LOAD64(state[19]); \
+ X##sa = LOAD64(state[20]); \
+ X##se = LOAD64(state[21]); \
+ X##si = LOAD64(state[22]); \
+ X##so = LOAD64(state[23]); \
+ X##su = LOAD64(state[24]); \
+
+#define copyFromStateAndXor832bits(X, state, input) \
+ X##ba = XOR64(LOAD64(state[ 0]), LOAD64(input[ 0])); \
+ X##be = XOR64(LOAD64(state[ 1]), LOAD64(input[ 1])); \
+ X##bi = XOR64(LOAD64(state[ 2]), LOAD64(input[ 2])); \
+ X##bo = XOR64(LOAD64(state[ 3]), LOAD64(input[ 3])); \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ X##ga = XOR64(LOAD64(state[ 5]), LOAD64(input[ 5])); \
+ X##ge = XOR64(LOAD64(state[ 6]), LOAD64(input[ 6])); \
+ X##gi = XOR64(LOAD64(state[ 7]), LOAD64(input[ 7])); \
+ X##go = XOR64(LOAD64(state[ 8]), LOAD64(input[ 8])); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ X##ka = XOR64(LOAD64(state[10]), LOAD64(input[10])); \
+ X##ke = XOR64(LOAD64(state[11]), LOAD64(input[11])); \
+ X##ki = XOR64(LOAD64(state[12]), LOAD64(input[12])); \
+ X##ko = LOAD64(state[13]); \
+ X##ku = LOAD64(state[14]); \
+ X##ma = LOAD64(state[15]); \
+ X##me = LOAD64(state[16]); \
+ X##mi = LOAD64(state[17]); \
+ X##mo = LOAD64(state[18]); \
+ X##mu = LOAD64(state[19]); \
+ X##sa = LOAD64(state[20]); \
+ X##se = LOAD64(state[21]); \
+ X##si = LOAD64(state[22]); \
+ X##so = LOAD64(state[23]); \
+ X##su = LOAD64(state[24]); \
+
+#define copyFromStateAndXor1024bits(X, state, input) \
+ X##ba = XOR64(LOAD64(state[ 0]), LOAD64(input[ 0])); \
+ X##be = XOR64(LOAD64(state[ 1]), LOAD64(input[ 1])); \
+ X##bi = XOR64(LOAD64(state[ 2]), LOAD64(input[ 2])); \
+ X##bo = XOR64(LOAD64(state[ 3]), LOAD64(input[ 3])); \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ X##ga = XOR64(LOAD64(state[ 5]), LOAD64(input[ 5])); \
+ X##ge = XOR64(LOAD64(state[ 6]), LOAD64(input[ 6])); \
+ X##gi = XOR64(LOAD64(state[ 7]), LOAD64(input[ 7])); \
+ X##go = XOR64(LOAD64(state[ 8]), LOAD64(input[ 8])); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ X##ka = XOR64(LOAD64(state[10]), LOAD64(input[10])); \
+ X##ke = XOR64(LOAD64(state[11]), LOAD64(input[11])); \
+ X##ki = XOR64(LOAD64(state[12]), LOAD64(input[12])); \
+ X##ko = XOR64(LOAD64(state[13]), LOAD64(input[13])); \
+ X##ku = XOR64(LOAD64(state[14]), LOAD64(input[14])); \
+ X##ma = XOR64(LOAD64(state[15]), LOAD64(input[15])); \
+ X##me = LOAD64(state[16]); \
+ X##mi = LOAD64(state[17]); \
+ X##mo = LOAD64(state[18]); \
+ X##mu = LOAD64(state[19]); \
+ X##sa = LOAD64(state[20]); \
+ X##se = LOAD64(state[21]); \
+ X##si = LOAD64(state[22]); \
+ X##so = LOAD64(state[23]); \
+ X##su = LOAD64(state[24]); \
+
+#define copyFromStateAndXor1088bits(X, state, input) \
+ X##ba = XOR64(LOAD64(state[ 0]), LOAD64(input[ 0])); \
+ X##be = XOR64(LOAD64(state[ 1]), LOAD64(input[ 1])); \
+ X##bi = XOR64(LOAD64(state[ 2]), LOAD64(input[ 2])); \
+ X##bo = XOR64(LOAD64(state[ 3]), LOAD64(input[ 3])); \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ X##ga = XOR64(LOAD64(state[ 5]), LOAD64(input[ 5])); \
+ X##ge = XOR64(LOAD64(state[ 6]), LOAD64(input[ 6])); \
+ X##gi = XOR64(LOAD64(state[ 7]), LOAD64(input[ 7])); \
+ X##go = XOR64(LOAD64(state[ 8]), LOAD64(input[ 8])); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ X##ka = XOR64(LOAD64(state[10]), LOAD64(input[10])); \
+ X##ke = XOR64(LOAD64(state[11]), LOAD64(input[11])); \
+ X##ki = XOR64(LOAD64(state[12]), LOAD64(input[12])); \
+ X##ko = XOR64(LOAD64(state[13]), LOAD64(input[13])); \
+ X##ku = XOR64(LOAD64(state[14]), LOAD64(input[14])); \
+ X##ma = XOR64(LOAD64(state[15]), LOAD64(input[15])); \
+ X##me = XOR64(LOAD64(state[16]), LOAD64(input[16])); \
+ X##mi = LOAD64(state[17]); \
+ X##mo = LOAD64(state[18]); \
+ X##mu = LOAD64(state[19]); \
+ X##sa = LOAD64(state[20]); \
+ X##se = LOAD64(state[21]); \
+ X##si = LOAD64(state[22]); \
+ X##so = LOAD64(state[23]); \
+ X##su = LOAD64(state[24]); \
+
+#define copyFromStateAndXor1152bits(X, state, input) \
+ X##ba = XOR64(LOAD64(state[ 0]), LOAD64(input[ 0])); \
+ X##be = XOR64(LOAD64(state[ 1]), LOAD64(input[ 1])); \
+ X##bi = XOR64(LOAD64(state[ 2]), LOAD64(input[ 2])); \
+ X##bo = XOR64(LOAD64(state[ 3]), LOAD64(input[ 3])); \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ X##ga = XOR64(LOAD64(state[ 5]), LOAD64(input[ 5])); \
+ X##ge = XOR64(LOAD64(state[ 6]), LOAD64(input[ 6])); \
+ X##gi = XOR64(LOAD64(state[ 7]), LOAD64(input[ 7])); \
+ X##go = XOR64(LOAD64(state[ 8]), LOAD64(input[ 8])); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ X##ka = XOR64(LOAD64(state[10]), LOAD64(input[10])); \
+ X##ke = XOR64(LOAD64(state[11]), LOAD64(input[11])); \
+ X##ki = XOR64(LOAD64(state[12]), LOAD64(input[12])); \
+ X##ko = XOR64(LOAD64(state[13]), LOAD64(input[13])); \
+ X##ku = XOR64(LOAD64(state[14]), LOAD64(input[14])); \
+ X##ma = XOR64(LOAD64(state[15]), LOAD64(input[15])); \
+ X##me = XOR64(LOAD64(state[16]), LOAD64(input[16])); \
+ X##mi = XOR64(LOAD64(state[17]), LOAD64(input[17])); \
+ X##mo = LOAD64(state[18]); \
+ X##mu = LOAD64(state[19]); \
+ X##sa = LOAD64(state[20]); \
+ X##se = LOAD64(state[21]); \
+ X##si = LOAD64(state[22]); \
+ X##so = LOAD64(state[23]); \
+ X##su = LOAD64(state[24]); \
+
+#define copyFromStateAndXor1344bits(X, state, input) \
+ X##ba = XOR64(LOAD64(state[ 0]), LOAD64(input[ 0])); \
+ X##be = XOR64(LOAD64(state[ 1]), LOAD64(input[ 1])); \
+ X##bi = XOR64(LOAD64(state[ 2]), LOAD64(input[ 2])); \
+ X##bo = XOR64(LOAD64(state[ 3]), LOAD64(input[ 3])); \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ X##ga = XOR64(LOAD64(state[ 5]), LOAD64(input[ 5])); \
+ X##ge = XOR64(LOAD64(state[ 6]), LOAD64(input[ 6])); \
+ X##gi = XOR64(LOAD64(state[ 7]), LOAD64(input[ 7])); \
+ X##go = XOR64(LOAD64(state[ 8]), LOAD64(input[ 8])); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ X##ka = XOR64(LOAD64(state[10]), LOAD64(input[10])); \
+ X##ke = XOR64(LOAD64(state[11]), LOAD64(input[11])); \
+ X##ki = XOR64(LOAD64(state[12]), LOAD64(input[12])); \
+ X##ko = XOR64(LOAD64(state[13]), LOAD64(input[13])); \
+ X##ku = XOR64(LOAD64(state[14]), LOAD64(input[14])); \
+ X##ma = XOR64(LOAD64(state[15]), LOAD64(input[15])); \
+ X##me = XOR64(LOAD64(state[16]), LOAD64(input[16])); \
+ X##mi = XOR64(LOAD64(state[17]), LOAD64(input[17])); \
+ X##mo = XOR64(LOAD64(state[18]), LOAD64(input[18])); \
+ X##mu = XOR64(LOAD64(state[19]), LOAD64(input[19])); \
+ X##sa = XOR64(LOAD64(state[20]), LOAD64(input[20])); \
+ X##se = LOAD64(state[21]); \
+ X##si = LOAD64(state[22]); \
+ X##so = LOAD64(state[23]); \
+ X##su = LOAD64(state[24]); \
+
+#define copyFromState(X, state) \
+ X##ba = LOAD64(state[ 0]); \
+ X##be = LOAD64(state[ 1]); \
+ X##bi = LOAD64(state[ 2]); \
+ X##bo = LOAD64(state[ 3]); \
+ X##bu = LOAD64(state[ 4]); \
+ X##ga = LOAD64(state[ 5]); \
+ X##ge = LOAD64(state[ 6]); \
+ X##gi = LOAD64(state[ 7]); \
+ X##go = LOAD64(state[ 8]); \
+ X##gu = LOAD64(state[ 9]); \
+ X##ka = LOAD64(state[10]); \
+ X##ke = LOAD64(state[11]); \
+ X##ki = LOAD64(state[12]); \
+ X##ko = LOAD64(state[13]); \
+ X##ku = LOAD64(state[14]); \
+ X##ma = LOAD64(state[15]); \
+ X##me = LOAD64(state[16]); \
+ X##mi = LOAD64(state[17]); \
+ X##mo = LOAD64(state[18]); \
+ X##mu = LOAD64(state[19]); \
+ X##sa = LOAD64(state[20]); \
+ X##se = LOAD64(state[21]); \
+ X##si = LOAD64(state[22]); \
+ X##so = LOAD64(state[23]); \
+ X##su = LOAD64(state[24]); \
+
+#define copyToState(state, X) \
+ STORE64(state[ 0], X##ba); \
+ STORE64(state[ 1], X##be); \
+ STORE64(state[ 2], X##bi); \
+ STORE64(state[ 3], X##bo); \
+ STORE64(state[ 4], X##bu); \
+ STORE64(state[ 5], X##ga); \
+ STORE64(state[ 6], X##ge); \
+ STORE64(state[ 7], X##gi); \
+ STORE64(state[ 8], X##go); \
+ STORE64(state[ 9], X##gu); \
+ STORE64(state[10], X##ka); \
+ STORE64(state[11], X##ke); \
+ STORE64(state[12], X##ki); \
+ STORE64(state[13], X##ko); \
+ STORE64(state[14], X##ku); \
+ STORE64(state[15], X##ma); \
+ STORE64(state[16], X##me); \
+ STORE64(state[17], X##mi); \
+ STORE64(state[18], X##mo); \
+ STORE64(state[19], X##mu); \
+ STORE64(state[20], X##sa); \
+ STORE64(state[21], X##se); \
+ STORE64(state[22], X##si); \
+ STORE64(state[23], X##so); \
+ STORE64(state[24], X##su); \
+
+#define copyStateVariables(X, Y) \
+ X##ba = Y##ba; \
+ X##be = Y##be; \
+ X##bi = Y##bi; \
+ X##bo = Y##bo; \
+ X##bu = Y##bu; \
+ X##ga = Y##ga; \
+ X##ge = Y##ge; \
+ X##gi = Y##gi; \
+ X##go = Y##go; \
+ X##gu = Y##gu; \
+ X##ka = Y##ka; \
+ X##ke = Y##ke; \
+ X##ki = Y##ki; \
+ X##ko = Y##ko; \
+ X##ku = Y##ku; \
+ X##ma = Y##ma; \
+ X##me = Y##me; \
+ X##mi = Y##mi; \
+ X##mo = Y##mo; \
+ X##mu = Y##mu; \
+ X##sa = Y##sa; \
+ X##se = Y##se; \
+ X##si = Y##si; \
+ X##so = Y##so; \
+ X##su = Y##su; \
+
diff --git a/Modules/_sha3/keccak/KeccakF-1600-unrolling.macros b/Modules/_sha3/keccak/KeccakF-1600-unrolling.macros
new file mode 100644
index 0000000000..83c694ca48
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-unrolling.macros
@@ -0,0 +1,124 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#if (Unrolling == 24)
+#define rounds \
+ prepareTheta \
+ thetaRhoPiChiIotaPrepareTheta( 0, A, E) \
+ thetaRhoPiChiIotaPrepareTheta( 1, E, A) \
+ thetaRhoPiChiIotaPrepareTheta( 2, A, E) \
+ thetaRhoPiChiIotaPrepareTheta( 3, E, A) \
+ thetaRhoPiChiIotaPrepareTheta( 4, A, E) \
+ thetaRhoPiChiIotaPrepareTheta( 5, E, A) \
+ thetaRhoPiChiIotaPrepareTheta( 6, A, E) \
+ thetaRhoPiChiIotaPrepareTheta( 7, E, A) \
+ thetaRhoPiChiIotaPrepareTheta( 8, A, E) \
+ thetaRhoPiChiIotaPrepareTheta( 9, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(10, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(11, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(12, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(13, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(14, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(15, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(16, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(17, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(18, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(19, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(20, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(21, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(22, A, E) \
+ thetaRhoPiChiIota(23, E, A) \
+ copyToState(state, A)
+#elif (Unrolling == 12)
+#define rounds \
+ prepareTheta \
+ for(i=0; i<24; i+=12) { \
+ thetaRhoPiChiIotaPrepareTheta(i , A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+ 1, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+ 2, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+ 3, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+ 4, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+ 5, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+ 6, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+ 7, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+ 8, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+ 9, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+10, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+11, E, A) \
+ } \
+ copyToState(state, A)
+#elif (Unrolling == 8)
+#define rounds \
+ prepareTheta \
+ for(i=0; i<24; i+=8) { \
+ thetaRhoPiChiIotaPrepareTheta(i , A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+1, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+2, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+3, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+4, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+5, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+6, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+7, E, A) \
+ } \
+ copyToState(state, A)
+#elif (Unrolling == 6)
+#define rounds \
+ prepareTheta \
+ for(i=0; i<24; i+=6) { \
+ thetaRhoPiChiIotaPrepareTheta(i , A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+1, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+2, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+3, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+4, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+5, E, A) \
+ } \
+ copyToState(state, A)
+#elif (Unrolling == 4)
+#define rounds \
+ prepareTheta \
+ for(i=0; i<24; i+=4) { \
+ thetaRhoPiChiIotaPrepareTheta(i , A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+1, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+2, A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+3, E, A) \
+ } \
+ copyToState(state, A)
+#elif (Unrolling == 3)
+#define rounds \
+ prepareTheta \
+ for(i=0; i<24; i+=3) { \
+ thetaRhoPiChiIotaPrepareTheta(i , A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+1, E, A) \
+ thetaRhoPiChiIotaPrepareTheta(i+2, A, E) \
+ copyStateVariables(A, E) \
+ } \
+ copyToState(state, A)
+#elif (Unrolling == 2)
+#define rounds \
+ prepareTheta \
+ for(i=0; i<24; i+=2) { \
+ thetaRhoPiChiIotaPrepareTheta(i , A, E) \
+ thetaRhoPiChiIotaPrepareTheta(i+1, E, A) \
+ } \
+ copyToState(state, A)
+#elif (Unrolling == 1)
+#define rounds \
+ prepareTheta \
+ for(i=0; i<24; i++) { \
+ thetaRhoPiChiIotaPrepareTheta(i , A, E) \
+ copyStateVariables(A, E) \
+ } \
+ copyToState(state, A)
+#else
+#error "Unrolling is not correctly specified!"
+#endif
diff --git a/Modules/_sha3/keccak/KeccakF-1600-xop.macros b/Modules/_sha3/keccak/KeccakF-1600-xop.macros
new file mode 100644
index 0000000000..823c946fff
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakF-1600-xop.macros
@@ -0,0 +1,573 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#define declareABCDE \
+ V128 Abage, Abegi, Abigo, Abogu, Abuga; \
+ V128 Akame, Akemi, Akimo, Akomu, Akuma; \
+ V128 Abae, Abio, Agae, Agio, Akae, Akio, Amae, Amio; \
+ V64 Aba, Abe, Abi, Abo, Abu; \
+ V64 Aga, Age, Agi, Ago, Agu; \
+ V64 Aka, Ake, Aki, Ako, Aku; \
+ V64 Ama, Ame, Ami, Amo, Amu; \
+ V128 Asase, Asiso; \
+ V64 Asu; \
+ V128 Bbage, Bbegi, Bbigo, Bbogu, Bbuga; \
+ V128 Bkame, Bkemi, Bkimo, Bkomu, Bkuma; \
+ V128 Bsase, Bsesi, Bsiso, Bsosu, Bsusa; \
+ V128 Cae, Cei, Cio, Cou, Cua; \
+ V128 Dau, Dea, Die, Doi, Duo; \
+ V128 Dua, Dae, Dei, Dio, Dou; \
+ V128 Ebage, Ebegi, Ebigo, Ebogu, Ebuga; \
+ V128 Ekame, Ekemi, Ekimo, Ekomu, Ekuma; \
+ V128 Esase, Esiso; \
+ V64 Esu; \
+ V128 Zero;
+
+#define prepareTheta
+
+#define computeD \
+ Cua = GET64LOLO(Cua, Cae); \
+ Dei = XOR128(Cae, ROL6464same(Cio, 1)); \
+ Dou = XOR128(Cio, ROL6464same(Cua, 1)); \
+ Cei = GET64HILO(Cae, Cio); \
+ Dae = XOR128(Cua, ROL6464same(Cei, 1)); \
+ Dau = GET64LOHI(Dae, Dou); \
+ Dea = SWAP64(Dae); \
+ Die = SWAP64(Dei); \
+ Doi = GET64LOLO(Dou, Die); \
+ Duo = SWAP64(Dou);
+
+/* --- Theta Rho Pi Chi Iota Prepare-theta */
+/* --- 64-bit lanes mapped to 64-bit and 128-bit words */
+#define thetaRhoPiChiIotaPrepareTheta(i, A, E) \
+ computeD \
+ \
+ Bbage = XOR128(GET64LOHI(A##bage, A##bogu), Dau); \
+ Bbage = ROL6464(Bbage, 0, 20); \
+ Bbegi = XOR128(GET64HILO(A##bage, A##kame), Dea); \
+ Bbegi = ROL6464(Bbegi, 44, 3); \
+ Bbigo = XOR128(GET64LOHI(A##kimo, A##kame), Die); \
+ Bbigo = ROL6464(Bbigo, 43, 45); \
+ E##bage = XOR128(Bbage, ANDnu128(Bbegi, Bbigo)); \
+ XOReq128(E##bage, CONST64(KeccakF1600RoundConstants[i])); \
+ Cae = E##bage; \
+ Bbogu = XOR128(GET64HILO(A##kimo, A##siso), Doi); \
+ Bbogu = ROL6464(Bbogu, 21, 61); \
+ E##begi = XOR128(Bbegi, ANDnu128(Bbigo, Bbogu)); \
+ Cei = E##begi; \
+ Bbuga = XOR128(GET64LOLO(A##su, A##bogu), Duo); \
+ Bbuga = ROL6464(Bbuga, 14, 28); \
+ E##bigo = XOR128(Bbigo, ANDnu128(Bbogu, Bbuga)); \
+ Cio = E##bigo; \
+ E##bogu = XOR128(Bbogu, ANDnu128(Bbuga, Bbage)); \
+ Cou = E##bogu; \
+ E##buga = XOR128(Bbuga, ANDnu128(Bbage, Bbegi)); \
+ Cua = E##buga; \
+\
+ Bkame = XOR128(GET64LOHI(A##begi, A##buga), Dea); \
+ Bkame = ROL6464(Bkame, 1, 36); \
+ Bkemi = XOR128(GET64HILO(A##begi, A##kemi), Die); \
+ Bkemi = ROL6464(Bkemi, 6, 10); \
+ Bkimo = XOR128(GET64LOHI(A##komu, A##kemi), Doi); \
+ Bkimo = ROL6464(Bkimo, 25, 15); \
+ E##kame = XOR128(Bkame, ANDnu128(Bkemi, Bkimo)); \
+ XOReq128(Cae, E##kame); \
+ Bkomu = XOR128(GET64HIHI(A##komu, A##siso), Duo); \
+ Bkomu = ROL6464(Bkomu, 8, 56); \
+ E##kemi = XOR128(Bkemi, ANDnu128(Bkimo, Bkomu)); \
+ XOReq128(Cei, E##kemi); \
+ Bkuma = XOR128(GET64LOLO(A##sase, A##buga), Dau); \
+ Bkuma = ROL6464(Bkuma, 18, 27); \
+ E##kimo = XOR128(Bkimo, ANDnu128(Bkomu, Bkuma)); \
+ XOReq128(Cio, E##kimo); \
+ E##komu = XOR128(Bkomu, ANDnu128(Bkuma, Bkame)); \
+ XOReq128(Cou, E##komu); \
+ E##kuma = XOR128(Bkuma, ANDnu128(Bkame, Bkemi)); \
+ XOReq128(Cua, E##kuma); \
+\
+ Bsase = XOR128(A##bigo, SWAP64(Doi)); \
+ Bsase = ROL6464(Bsase, 62, 55); \
+ Bsiso = XOR128(A##kuma, SWAP64(Dau)); \
+ Bsiso = ROL6464(Bsiso, 39, 41); \
+ Bsusa = XOR64(COPY64HI2LO(A##sase), Dei); \
+ Bsusa = ROL6464same(Bsusa, 2); \
+ Bsusa = GET64LOLO(Bsusa, Bsase); \
+ Bsesi = GET64HILO(Bsase, Bsiso); \
+ Bsosu = GET64HILO(Bsiso, Bsusa); \
+ E##sase = XOR128(Bsase, ANDnu128(Bsesi, Bsiso)); \
+ XOReq128(Cae, E##sase); \
+ E##siso = XOR128(Bsiso, ANDnu128(Bsosu, Bsusa)); \
+ XOReq128(Cio, E##siso); \
+ E##su = GET64LOLO(XOR128(Bsusa, ANDnu128(Bsase, Bsesi)), Zero); \
+ XOReq128(Cua, E##su); \
+\
+ Zero = ZERO128(); \
+ XOReq128(Cae, GET64HIHI(Cua, Zero)); \
+ XOReq128(Cae, GET64LOLO(Zero, Cei)); \
+ XOReq128(Cio, GET64HIHI(Cei, Zero)); \
+ XOReq128(Cio, GET64LOLO(Zero, Cou)); \
+ XOReq128(Cua, GET64HIHI(Cou, Zero)); \
+
+/* --- Theta Rho Pi Chi Iota */
+/* --- 64-bit lanes mapped to 64-bit and 128-bit words */
+#define thetaRhoPiChiIota(i, A, E) thetaRhoPiChiIotaPrepareTheta(i, A, E)
+
+static const UINT64 KeccakF1600RoundConstants[24] = {
+ 0x0000000000000001ULL,
+ 0x0000000000008082ULL,
+ 0x800000000000808aULL,
+ 0x8000000080008000ULL,
+ 0x000000000000808bULL,
+ 0x0000000080000001ULL,
+ 0x8000000080008081ULL,
+ 0x8000000000008009ULL,
+ 0x000000000000008aULL,
+ 0x0000000000000088ULL,
+ 0x0000000080008009ULL,
+ 0x000000008000000aULL,
+ 0x000000008000808bULL,
+ 0x800000000000008bULL,
+ 0x8000000000008089ULL,
+ 0x8000000000008003ULL,
+ 0x8000000000008002ULL,
+ 0x8000000000000080ULL,
+ 0x000000000000800aULL,
+ 0x800000008000000aULL,
+ 0x8000000080008081ULL,
+ 0x8000000000008080ULL,
+ 0x0000000080000001ULL,
+ 0x8000000080008008ULL };
+
+#define copyFromStateAndXor576bits(X, state, input) \
+ X##bae = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae; \
+ X##be = GET64HIHI(X##bae, X##bae); \
+ Cae = X##bae; \
+ X##bio = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio; \
+ X##bo = GET64HIHI(X##bio, X##bio); \
+ Cio = X##bio; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cua = X##bu; \
+ X##gae = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae; \
+ X##buga = GET64LOLO(X##bu, X##ga); \
+ X##ge = GET64HIHI(X##gae, X##gae); \
+ X##bage = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae); \
+ X##gio = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio; \
+ X##begi = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio, X##gio); \
+ X##bigo = GET64LOLO(X##bi, X##go); \
+ XOReq128(Cio, X##gio); \
+ X##gu = LOAD64(state[ 9]); \
+ X##bogu = GET64LOLO(X##bo, X##gu); \
+ XOReq64(Cua, X##gu); \
+ X##kae = LOAD128(state[10]); \
+ X##ka = X##kae; \
+ X##ke = GET64HIHI(X##kae, X##kae); \
+ XOReq128(Cae, X##kae); \
+ X##kio = LOAD128(state[12]); \
+ X##ki = X##kio; \
+ X##ko = GET64HIHI(X##kio, X##kio); \
+ XOReq128(Cio, X##kio); \
+ X##kuma = LOAD128(state[14]); \
+ XOReq64(Cua, X##kuma); \
+ X##me = LOAD64(state[16]); \
+ X##kame = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, GET64HIHI(X##kuma, X##kame)); \
+ X##mio = LOAD128u(state[17]); \
+ X##mi = X##mio; \
+ X##kemi = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio, X##mio); \
+ X##kimo = GET64LOLO(X##ki, X##mo); \
+ XOReq128(Cio, X##mio); \
+ X##mu = LOAD64(state[19]); \
+ X##komu = GET64LOLO(X##ko, X##mu); \
+ XOReq64(Cua, X##mu); \
+ X##sase = LOAD128(state[20]); \
+ XOReq128(Cae, X##sase); \
+ X##siso = LOAD128(state[22]); \
+ XOReq128(Cio, X##siso); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cua, X##su); \
+
+#define copyFromStateAndXor832bits(X, state, input) \
+ X##bae = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae; \
+ X##be = GET64HIHI(X##bae, X##bae); \
+ Cae = X##bae; \
+ X##bio = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio; \
+ X##bo = GET64HIHI(X##bio, X##bio); \
+ Cio = X##bio; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cua = X##bu; \
+ X##gae = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae; \
+ X##buga = GET64LOLO(X##bu, X##ga); \
+ X##ge = GET64HIHI(X##gae, X##gae); \
+ X##bage = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae); \
+ X##gio = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio; \
+ X##begi = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio, X##gio); \
+ X##bigo = GET64LOLO(X##bi, X##go); \
+ XOReq128(Cio, X##gio); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ X##bogu = GET64LOLO(X##bo, X##gu); \
+ XOReq64(Cua, X##gu); \
+ X##kae = XOR128(LOAD128(state[10]), LOAD128u(input[10])); \
+ X##ka = X##kae; \
+ X##ke = GET64HIHI(X##kae, X##kae); \
+ XOReq128(Cae, X##kae); \
+ X##kio = XOR128(LOAD128(state[12]), LOAD64(input[12])); \
+ X##ki = X##kio; \
+ X##ko = GET64HIHI(X##kio, X##kio); \
+ XOReq128(Cio, X##kio); \
+ X##kuma = LOAD128(state[14]); \
+ XOReq64(Cua, X##kuma); \
+ X##me = LOAD64(state[16]); \
+ X##kame = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, GET64HIHI(X##kuma, X##kame)); \
+ X##mio = LOAD128u(state[17]); \
+ X##mi = X##mio; \
+ X##kemi = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio, X##mio); \
+ X##kimo = GET64LOLO(X##ki, X##mo); \
+ XOReq128(Cio, X##mio); \
+ X##mu = LOAD64(state[19]); \
+ X##komu = GET64LOLO(X##ko, X##mu); \
+ XOReq64(Cua, X##mu); \
+ X##sase = LOAD128(state[20]); \
+ XOReq128(Cae, X##sase); \
+ X##siso = LOAD128(state[22]); \
+ XOReq128(Cio, X##siso); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cua, X##su); \
+
+#define copyFromStateAndXor1024bits(X, state, input) \
+ X##bae = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae; \
+ X##be = GET64HIHI(X##bae, X##bae); \
+ Cae = X##bae; \
+ X##bio = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio; \
+ X##bo = GET64HIHI(X##bio, X##bio); \
+ Cio = X##bio; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cua = X##bu; \
+ X##gae = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae; \
+ X##buga = GET64LOLO(X##bu, X##ga); \
+ X##ge = GET64HIHI(X##gae, X##gae); \
+ X##bage = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae); \
+ X##gio = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio; \
+ X##begi = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio, X##gio); \
+ X##bigo = GET64LOLO(X##bi, X##go); \
+ XOReq128(Cio, X##gio); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ X##bogu = GET64LOLO(X##bo, X##gu); \
+ XOReq64(Cua, X##gu); \
+ X##kae = XOR128(LOAD128(state[10]), LOAD128u(input[10])); \
+ X##ka = X##kae; \
+ X##ke = GET64HIHI(X##kae, X##kae); \
+ XOReq128(Cae, X##kae); \
+ X##kio = XOR128(LOAD128(state[12]), LOAD128u(input[12])); \
+ X##ki = X##kio; \
+ X##ko = GET64HIHI(X##kio, X##kio); \
+ XOReq128(Cio, X##kio); \
+ X##kuma = XOR128(LOAD128(state[14]), LOAD128(input[14])); \
+ XOReq64(Cua, X##kuma); \
+ X##me = LOAD64(state[16]); \
+ X##kame = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, GET64HIHI(X##kuma, X##kame)); \
+ X##mio = LOAD128u(state[17]); \
+ X##mi = X##mio; \
+ X##kemi = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio, X##mio); \
+ X##kimo = GET64LOLO(X##ki, X##mo); \
+ XOReq128(Cio, X##mio); \
+ X##mu = LOAD64(state[19]); \
+ X##komu = GET64LOLO(X##ko, X##mu); \
+ XOReq64(Cua, X##mu); \
+ X##sase = LOAD128(state[20]); \
+ XOReq128(Cae, X##sase); \
+ X##siso = LOAD128(state[22]); \
+ XOReq128(Cio, X##siso); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cua, X##su); \
+
+#define copyFromStateAndXor1088bits(X, state, input) \
+ X##bae = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae; \
+ X##be = GET64HIHI(X##bae, X##bae); \
+ Cae = X##bae; \
+ X##bio = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio; \
+ X##bo = GET64HIHI(X##bio, X##bio); \
+ Cio = X##bio; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cua = X##bu; \
+ X##gae = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae; \
+ X##buga = GET64LOLO(X##bu, X##ga); \
+ X##ge = GET64HIHI(X##gae, X##gae); \
+ X##bage = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae); \
+ X##gio = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio; \
+ X##begi = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio, X##gio); \
+ X##bigo = GET64LOLO(X##bi, X##go); \
+ XOReq128(Cio, X##gio); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ X##bogu = GET64LOLO(X##bo, X##gu); \
+ XOReq64(Cua, X##gu); \
+ X##kae = XOR128(LOAD128(state[10]), LOAD128u(input[10])); \
+ X##ka = X##kae; \
+ X##ke = GET64HIHI(X##kae, X##kae); \
+ XOReq128(Cae, X##kae); \
+ X##kio = XOR128(LOAD128(state[12]), LOAD128u(input[12])); \
+ X##ki = X##kio; \
+ X##ko = GET64HIHI(X##kio, X##kio); \
+ XOReq128(Cio, X##kio); \
+ X##kuma = XOR128(LOAD128(state[14]), LOAD128(input[14])); \
+ XOReq64(Cua, X##kuma); \
+ X##me = XOR64(LOAD64(state[16]), LOAD64(input[16])); \
+ X##kame = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, GET64HIHI(X##kuma, X##kame)); \
+ X##mio = LOAD128u(state[17]); \
+ X##mi = X##mio; \
+ X##kemi = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio, X##mio); \
+ X##kimo = GET64LOLO(X##ki, X##mo); \
+ XOReq128(Cio, X##mio); \
+ X##mu = LOAD64(state[19]); \
+ X##komu = GET64LOLO(X##ko, X##mu); \
+ XOReq64(Cua, X##mu); \
+ X##sase = LOAD128(state[20]); \
+ XOReq128(Cae, X##sase); \
+ X##siso = LOAD128(state[22]); \
+ XOReq128(Cio, X##siso); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cua, X##su); \
+
+#define copyFromStateAndXor1152bits(X, state, input) \
+ X##bae = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae; \
+ X##be = GET64HIHI(X##bae, X##bae); \
+ Cae = X##bae; \
+ X##bio = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio; \
+ X##bo = GET64HIHI(X##bio, X##bio); \
+ Cio = X##bio; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cua = X##bu; \
+ X##gae = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae; \
+ X##buga = GET64LOLO(X##bu, X##ga); \
+ X##ge = GET64HIHI(X##gae, X##gae); \
+ X##bage = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae); \
+ X##gio = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio; \
+ X##begi = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio, X##gio); \
+ X##bigo = GET64LOLO(X##bi, X##go); \
+ XOReq128(Cio, X##gio); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ X##bogu = GET64LOLO(X##bo, X##gu); \
+ XOReq64(Cua, X##gu); \
+ X##kae = XOR128(LOAD128(state[10]), LOAD128u(input[10])); \
+ X##ka = X##kae; \
+ X##ke = GET64HIHI(X##kae, X##kae); \
+ XOReq128(Cae, X##kae); \
+ X##kio = XOR128(LOAD128(state[12]), LOAD128u(input[12])); \
+ X##ki = X##kio; \
+ X##ko = GET64HIHI(X##kio, X##kio); \
+ XOReq128(Cio, X##kio); \
+ X##kuma = XOR128(LOAD128(state[14]), LOAD128(input[14])); \
+ XOReq64(Cua, X##kuma); \
+ X##me = XOR64(LOAD64(state[16]), LOAD64(input[16])); \
+ X##kame = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, GET64HIHI(X##kuma, X##kame)); \
+ X##mio = XOR128(LOAD128u(state[17]), LOAD64(input[17])); \
+ X##mi = X##mio; \
+ X##kemi = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio, X##mio); \
+ X##kimo = GET64LOLO(X##ki, X##mo); \
+ XOReq128(Cio, X##mio); \
+ X##mu = LOAD64(state[19]); \
+ X##komu = GET64LOLO(X##ko, X##mu); \
+ XOReq64(Cua, X##mu); \
+ X##sase = LOAD128(state[20]); \
+ XOReq128(Cae, X##sase); \
+ X##siso = LOAD128(state[22]); \
+ XOReq128(Cio, X##siso); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cua, X##su); \
+
+#define copyFromStateAndXor1344bits(X, state, input) \
+ X##bae = XOR128(LOAD128(state[ 0]), LOAD128u(input[ 0])); \
+ X##ba = X##bae; \
+ X##be = GET64HIHI(X##bae, X##bae); \
+ Cae = X##bae; \
+ X##bio = XOR128(LOAD128(state[ 2]), LOAD128u(input[ 2])); \
+ X##bi = X##bio; \
+ X##bo = GET64HIHI(X##bio, X##bio); \
+ Cio = X##bio; \
+ X##bu = XOR64(LOAD64(state[ 4]), LOAD64(input[ 4])); \
+ Cua = X##bu; \
+ X##gae = XOR128(LOAD128u(state[ 5]), LOAD128u(input[ 5])); \
+ X##ga = X##gae; \
+ X##buga = GET64LOLO(X##bu, X##ga); \
+ X##ge = GET64HIHI(X##gae, X##gae); \
+ X##bage = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae); \
+ X##gio = XOR128(LOAD128u(state[ 7]), LOAD128u(input[ 7])); \
+ X##gi = X##gio; \
+ X##begi = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio, X##gio); \
+ X##bigo = GET64LOLO(X##bi, X##go); \
+ XOReq128(Cio, X##gio); \
+ X##gu = XOR64(LOAD64(state[ 9]), LOAD64(input[ 9])); \
+ X##bogu = GET64LOLO(X##bo, X##gu); \
+ XOReq64(Cua, X##gu); \
+ X##kae = XOR128(LOAD128(state[10]), LOAD128u(input[10])); \
+ X##ka = X##kae; \
+ X##ke = GET64HIHI(X##kae, X##kae); \
+ XOReq128(Cae, X##kae); \
+ X##kio = XOR128(LOAD128(state[12]), LOAD128u(input[12])); \
+ X##ki = X##kio; \
+ X##ko = GET64HIHI(X##kio, X##kio); \
+ XOReq128(Cio, X##kio); \
+ X##kuma = XOR128(LOAD128(state[14]), LOAD128(input[14])); \
+ XOReq64(Cua, X##kuma); \
+ X##me = XOR64(LOAD64(state[16]), LOAD64(input[16])); \
+ X##kame = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, GET64HIHI(X##kuma, X##kame)); \
+ X##mio = XOR128(LOAD128u(state[17]), LOAD128u(input[17])); \
+ X##mi = X##mio; \
+ X##kemi = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio, X##mio); \
+ X##kimo = GET64LOLO(X##ki, X##mo); \
+ XOReq128(Cio, X##mio); \
+ X##mu = XOR64(LOAD64(state[19]), LOAD64(input[19])); \
+ X##komu = GET64LOLO(X##ko, X##mu); \
+ XOReq64(Cua, X##mu); \
+ X##sase = XOR128(LOAD128(state[20]), LOAD64(input[20])); \
+ XOReq128(Cae, X##sase); \
+ X##siso = LOAD128(state[22]); \
+ XOReq128(Cio, X##siso); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cua, X##su); \
+
+#define copyFromState(X, state) \
+ X##bae = LOAD128(state[ 0]); \
+ X##ba = X##bae; \
+ X##be = GET64HIHI(X##bae, X##bae); \
+ Cae = X##bae; \
+ X##bio = LOAD128(state[ 2]); \
+ X##bi = X##bio; \
+ X##bo = GET64HIHI(X##bio, X##bio); \
+ Cio = X##bio; \
+ X##bu = LOAD64(state[ 4]); \
+ Cua = X##bu; \
+ X##gae = LOAD128u(state[ 5]); \
+ X##ga = X##gae; \
+ X##buga = GET64LOLO(X##bu, X##ga); \
+ X##ge = GET64HIHI(X##gae, X##gae); \
+ X##bage = GET64LOLO(X##ba, X##ge); \
+ XOReq128(Cae, X##gae); \
+ X##gio = LOAD128u(state[ 7]); \
+ X##gi = X##gio; \
+ X##begi = GET64LOLO(X##be, X##gi); \
+ X##go = GET64HIHI(X##gio, X##gio); \
+ X##bigo = GET64LOLO(X##bi, X##go); \
+ XOReq128(Cio, X##gio); \
+ X##gu = LOAD64(state[ 9]); \
+ X##bogu = GET64LOLO(X##bo, X##gu); \
+ XOReq64(Cua, X##gu); \
+ X##kae = LOAD128(state[10]); \
+ X##ka = X##kae; \
+ X##ke = GET64HIHI(X##kae, X##kae); \
+ XOReq128(Cae, X##kae); \
+ X##kio = LOAD128(state[12]); \
+ X##ki = X##kio; \
+ X##ko = GET64HIHI(X##kio, X##kio); \
+ XOReq128(Cio, X##kio); \
+ X##kuma = LOAD128(state[14]); \
+ XOReq64(Cua, X##kuma); \
+ X##me = LOAD64(state[16]); \
+ X##kame = GET64LOLO(X##ka, X##me); \
+ XOReq128(Cae, GET64HIHI(X##kuma, X##kame)); \
+ X##mio = LOAD128u(state[17]); \
+ X##mi = X##mio; \
+ X##kemi = GET64LOLO(X##ke, X##mi); \
+ X##mo = GET64HIHI(X##mio, X##mio); \
+ X##kimo = GET64LOLO(X##ki, X##mo); \
+ XOReq128(Cio, X##mio); \
+ X##mu = LOAD64(state[19]); \
+ X##komu = GET64LOLO(X##ko, X##mu); \
+ XOReq64(Cua, X##mu); \
+ X##sase = LOAD128(state[20]); \
+ XOReq128(Cae, X##sase); \
+ X##siso = LOAD128(state[22]); \
+ XOReq128(Cio, X##siso); \
+ X##su = LOAD64(state[24]); \
+ XOReq64(Cua, X##su); \
+
+#define copyToState(state, X) \
+ STORE64(state[ 0], X##bage); \
+ STORE64(state[ 1], X##begi); \
+ STORE64(state[ 2], X##bigo); \
+ STORE64(state[ 3], X##bogu); \
+ STORE128(state[ 4], X##buga); \
+ STORE64(state[ 6], COPY64HI2LO(X##bage)); \
+ STORE64(state[ 7], COPY64HI2LO(X##begi)); \
+ STORE64(state[ 8], COPY64HI2LO(X##bigo)); \
+ STORE64(state[ 9], COPY64HI2LO(X##bogu)); \
+ STORE64(state[10], X##kame); \
+ STORE64(state[11], X##kemi); \
+ STORE64(state[12], X##kimo); \
+ STORE64(state[13], X##komu); \
+ STORE128(state[14], X##kuma); \
+ STORE64(state[16], COPY64HI2LO(X##kame)); \
+ STORE64(state[17], COPY64HI2LO(X##kemi)); \
+ STORE64(state[18], COPY64HI2LO(X##kimo)); \
+ STORE64(state[19], COPY64HI2LO(X##komu)); \
+ STORE128(state[20], X##sase); \
+ STORE128(state[22], X##siso); \
+ STORE64(state[24], X##su); \
+
+#define copyStateVariables(X, Y) \
+ X##bage = Y##bage; \
+ X##begi = Y##begi; \
+ X##bigo = Y##bigo; \
+ X##bogu = Y##bogu; \
+ X##buga = Y##buga; \
+ X##kame = Y##kame; \
+ X##kemi = Y##kemi; \
+ X##kimo = Y##kimo; \
+ X##komu = Y##komu; \
+ X##kuma = Y##kuma; \
+ X##sase = Y##sase; \
+ X##siso = Y##siso; \
+ X##su = Y##su; \
+
diff --git a/Modules/_sha3/keccak/KeccakNISTInterface.c b/Modules/_sha3/keccak/KeccakNISTInterface.c
new file mode 100644
index 0000000000..e94082bc24
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakNISTInterface.c
@@ -0,0 +1,83 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#include <string.h>
+#include "KeccakNISTInterface.h"
+#include "KeccakF-1600-interface.h"
+
+static HashReturn Init(hashState *state, int hashbitlen)
+{
+ switch(hashbitlen) {
+ case 0: /* Default parameters, arbitrary length output */
+ InitSponge((spongeState*)state, 1024, 576);
+ break;
+ case 224:
+ InitSponge((spongeState*)state, 1152, 448);
+ break;
+ case 256:
+ InitSponge((spongeState*)state, 1088, 512);
+ break;
+ case 384:
+ InitSponge((spongeState*)state, 832, 768);
+ break;
+ case 512:
+ InitSponge((spongeState*)state, 576, 1024);
+ break;
+ default:
+ return BAD_HASHLEN;
+ }
+ state->fixedOutputLength = hashbitlen;
+ return SUCCESS;
+}
+
+static HashReturn Update(hashState *state, const BitSequence *data, DataLength databitlen)
+{
+ if ((databitlen % 8) == 0)
+ return Absorb((spongeState*)state, data, databitlen);
+ else {
+ HashReturn ret = Absorb((spongeState*)state, data, databitlen - (databitlen % 8));
+ if (ret == SUCCESS) {
+ unsigned char lastByte;
+ /* Align the last partial byte to the least significant bits */
+ lastByte = data[databitlen/8] >> (8 - (databitlen % 8));
+ return Absorb((spongeState*)state, &lastByte, databitlen % 8);
+ }
+ else
+ return ret;
+ }
+}
+
+static HashReturn Final(hashState *state, BitSequence *hashval)
+{
+ return Squeeze(state, hashval, state->fixedOutputLength);
+}
+
+/*
+static HashReturn Hash(int hashbitlen, const BitSequence *data, DataLength databitlen, BitSequence *hashval)
+{
+ hashState state;
+ HashReturn result;
+
+ if ((hashbitlen != 224) && (hashbitlen != 256) && (hashbitlen != 384) && (hashbitlen != 512))
+ return BAD_HASHLEN; * Only the four fixed output lengths available through this API *
+ result = Init(&state, hashbitlen);
+ if (result != SUCCESS)
+ return result;
+ result = Update(&state, data, databitlen);
+ if (result != SUCCESS)
+ return result;
+ result = Final(&state, hashval);
+ return result;
+}
+*/
+
diff --git a/Modules/_sha3/keccak/KeccakNISTInterface.h b/Modules/_sha3/keccak/KeccakNISTInterface.h
new file mode 100644
index 0000000000..244431b1eb
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakNISTInterface.h
@@ -0,0 +1,72 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#ifndef _KeccakNISTInterface_h_
+#define _KeccakNISTInterface_h_
+
+#include "KeccakSponge.h"
+
+typedef unsigned char BitSequence;
+typedef unsigned long long DataLength;
+typedef enum { SUCCESS = 0, FAIL = 1, BAD_HASHLEN = 2 } HashReturn;
+
+typedef spongeState hashState;
+
+/**
+ * Function to initialize the state of the Keccak[r, c] sponge function.
+ * The rate r and capacity c values are determined from @a hashbitlen.
+ * @param state Pointer to the state of the sponge function to be initialized.
+ * @param hashbitlen The desired number of output bits,
+ * or 0 for Keccak[] with default parameters
+ * and arbitrarily-long output.
+ * @pre The value of hashbitlen must be one of 0, 224, 256, 384 and 512.
+ * @return SUCCESS if successful, BAD_HASHLEN if the value of hashbitlen is incorrect.
+ */
+static HashReturn Init(hashState *state, int hashbitlen);
+/**
+ * Function to give input data for the sponge function to absorb.
+ * @param state Pointer to the state of the sponge function initialized by Init().
+ * @param data Pointer to the input data.
+ * When @a databitLen is not a multiple of 8, the last bits of data must be
+ * in the most significant bits of the last byte.
+ * @param databitLen The number of input bits provided in the input data.
+ * @pre In the previous call to Absorb(), databitLen was a multiple of 8.
+ * @return SUCCESS if successful, FAIL otherwise.
+ */
+static HashReturn Update(hashState *state, const BitSequence *data, DataLength databitlen);
+/**
+ * Function to squeeze output data from the sponge function.
+ * If @a hashbitlen was not 0 in the call to Init(), the number of output bits is equal to @a hashbitlen.
+ * If @a hashbitlen was 0 in the call to Init(), the output bits must be extracted using the Squeeze() function.
+ * @param state Pointer to the state of the sponge function initialized by Init().
+ * @param hashval Pointer to the buffer where to store the output data.
+ * @return SUCCESS if successful, FAIL otherwise.
+ */
+static HashReturn Final(hashState *state, BitSequence *hashval);
+/**
+ * Function to compute a hash using the Keccak[r, c] sponge function.
+ * The rate r and capacity c values are determined from @a hashbitlen.
+ * @param hashbitlen The desired number of output bits.
+ * @param data Pointer to the input data.
+ * When @a databitLen is not a multiple of 8, the last bits of data must be
+ * in the most significant bits of the last byte.
+ * @param databitLen The number of input bits provided in the input data.
+ * @param hashval Pointer to the buffer where to store the output data.
+ * @pre The value of hashbitlen must be one of 224, 256, 384 and 512.
+ * @return SUCCESS if successful, BAD_HASHLEN if the value of hashbitlen is incorrect.
+ */
+/*
+static HashReturn Hash(int hashbitlen, const BitSequence *data, DataLength databitlen, BitSequence *hashval);
+*/
+
+#endif
diff --git a/Modules/_sha3/keccak/KeccakSponge.c b/Modules/_sha3/keccak/KeccakSponge.c
new file mode 100644
index 0000000000..1ca6bf0010
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakSponge.c
@@ -0,0 +1,266 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#include <string.h>
+#include "KeccakSponge.h"
+#include "KeccakF-1600-interface.h"
+#ifdef KeccakReference
+#include "displayIntermediateValues.h"
+#endif
+
+static int InitSponge(spongeState *state, unsigned int rate, unsigned int capacity)
+{
+ if (rate+capacity != 1600)
+ return 1;
+ if ((rate <= 0) || (rate >= 1600) || ((rate % 64) != 0))
+ return 1;
+ KeccakInitialize();
+ state->rate = rate;
+ state->capacity = capacity;
+ state->fixedOutputLength = 0;
+ KeccakInitializeState(state->state);
+ memset(state->dataQueue, 0, KeccakMaximumRateInBytes);
+ state->bitsInQueue = 0;
+ state->squeezing = 0;
+ state->bitsAvailableForSqueezing = 0;
+
+ return 0;
+}
+
+static void AbsorbQueue(spongeState *state)
+{
+ /* state->bitsInQueue is assumed to be equal to state->rate */
+ #ifdef KeccakReference
+ displayBytes(1, "Block to be absorbed", state->dataQueue, state->rate/8);
+ #endif
+#ifdef ProvideFast576
+ if (state->rate == 576)
+ KeccakAbsorb576bits(state->state, state->dataQueue);
+ else
+#endif
+#ifdef ProvideFast832
+ if (state->rate == 832)
+ KeccakAbsorb832bits(state->state, state->dataQueue);
+ else
+#endif
+#ifdef ProvideFast1024
+ if (state->rate == 1024)
+ KeccakAbsorb1024bits(state->state, state->dataQueue);
+ else
+#endif
+#ifdef ProvideFast1088
+ if (state->rate == 1088)
+ KeccakAbsorb1088bits(state->state, state->dataQueue);
+ else
+#endif
+#ifdef ProvideFast1152
+ if (state->rate == 1152)
+ KeccakAbsorb1152bits(state->state, state->dataQueue);
+ else
+#endif
+#ifdef ProvideFast1344
+ if (state->rate == 1344)
+ KeccakAbsorb1344bits(state->state, state->dataQueue);
+ else
+#endif
+ KeccakAbsorb(state->state, state->dataQueue, state->rate/64);
+ state->bitsInQueue = 0;
+}
+
+static int Absorb(spongeState *state, const unsigned char *data, unsigned long long databitlen)
+{
+ unsigned long long i, j, wholeBlocks;
+ unsigned int partialBlock, partialByte;
+ const unsigned char *curData;
+
+ if ((state->bitsInQueue % 8) != 0)
+ return 1; /* Only the last call may contain a partial byte */
+ if (state->squeezing)
+ return 1; /* Too late for additional input */
+
+ i = 0;
+ while(i < databitlen) {
+ if ((state->bitsInQueue == 0) && (databitlen >= state->rate) && (i <= (databitlen-state->rate))) {
+ wholeBlocks = (databitlen-i)/state->rate;
+ curData = data+i/8;
+#ifdef ProvideFast576
+ if (state->rate == 576) {
+ for(j=0; j<wholeBlocks; j++, curData+=576/8) {
+ #ifdef KeccakReference
+ displayBytes(1, "Block to be absorbed", curData, state->rate/8);
+ #endif
+ KeccakAbsorb576bits(state->state, curData);
+ }
+ }
+ else
+#endif
+#ifdef ProvideFast832
+ if (state->rate == 832) {
+ for(j=0; j<wholeBlocks; j++, curData+=832/8) {
+ #ifdef KeccakReference
+ displayBytes(1, "Block to be absorbed", curData, state->rate/8);
+ #endif
+ KeccakAbsorb832bits(state->state, curData);
+ }
+ }
+ else
+#endif
+#ifdef ProvideFast1024
+ if (state->rate == 1024) {
+ for(j=0; j<wholeBlocks; j++, curData+=1024/8) {
+ #ifdef KeccakReference
+ displayBytes(1, "Block to be absorbed", curData, state->rate/8);
+ #endif
+ KeccakAbsorb1024bits(state->state, curData);
+ }
+ }
+ else
+#endif
+#ifdef ProvideFast1088
+ if (state->rate == 1088) {
+ for(j=0; j<wholeBlocks; j++, curData+=1088/8) {
+ #ifdef KeccakReference
+ displayBytes(1, "Block to be absorbed", curData, state->rate/8);
+ #endif
+ KeccakAbsorb1088bits(state->state, curData);
+ }
+ }
+ else
+#endif
+#ifdef ProvideFast1152
+ if (state->rate == 1152) {
+ for(j=0; j<wholeBlocks; j++, curData+=1152/8) {
+ #ifdef KeccakReference
+ displayBytes(1, "Block to be absorbed", curData, state->rate/8);
+ #endif
+ KeccakAbsorb1152bits(state->state, curData);
+ }
+ }
+ else
+#endif
+#ifdef ProvideFast1344
+ if (state->rate == 1344) {
+ for(j=0; j<wholeBlocks; j++, curData+=1344/8) {
+ #ifdef KeccakReference
+ displayBytes(1, "Block to be absorbed", curData, state->rate/8);
+ #endif
+ KeccakAbsorb1344bits(state->state, curData);
+ }
+ }
+ else
+#endif
+ {
+ for(j=0; j<wholeBlocks; j++, curData+=state->rate/8) {
+ #ifdef KeccakReference
+ displayBytes(1, "Block to be absorbed", curData, state->rate/8);
+ #endif
+ KeccakAbsorb(state->state, curData, state->rate/64);
+ }
+ }
+ i += wholeBlocks*state->rate;
+ }
+ else {
+ partialBlock = (unsigned int)(databitlen - i);
+ if (partialBlock+state->bitsInQueue > state->rate)
+ partialBlock = state->rate-state->bitsInQueue;
+ partialByte = partialBlock % 8;
+ partialBlock -= partialByte;
+ memcpy(state->dataQueue+state->bitsInQueue/8, data+i/8, partialBlock/8);
+ state->bitsInQueue += partialBlock;
+ i += partialBlock;
+ if (state->bitsInQueue == state->rate)
+ AbsorbQueue(state);
+ if (partialByte > 0) {
+ unsigned char mask = (1 << partialByte)-1;
+ state->dataQueue[state->bitsInQueue/8] = data[i/8] & mask;
+ state->bitsInQueue += partialByte;
+ i += partialByte;
+ }
+ }
+ }
+ return 0;
+}
+
+static void PadAndSwitchToSqueezingPhase(spongeState *state)
+{
+ /* Note: the bits are numbered from 0=LSB to 7=MSB */
+ if (state->bitsInQueue + 1 == state->rate) {
+ state->dataQueue[state->bitsInQueue/8 ] |= 1 << (state->bitsInQueue % 8);
+ AbsorbQueue(state);
+ memset(state->dataQueue, 0, state->rate/8);
+ }
+ else {
+ memset(state->dataQueue + (state->bitsInQueue+7)/8, 0, state->rate/8 - (state->bitsInQueue+7)/8);
+ state->dataQueue[state->bitsInQueue/8 ] |= 1 << (state->bitsInQueue % 8);
+ }
+ state->dataQueue[(state->rate-1)/8] |= 1 << ((state->rate-1) % 8);
+ AbsorbQueue(state);
+
+ #ifdef KeccakReference
+ displayText(1, "--- Switching to squeezing phase ---");
+ #endif
+#ifdef ProvideFast1024
+ if (state->rate == 1024) {
+ KeccakExtract1024bits(state->state, state->dataQueue);
+ state->bitsAvailableForSqueezing = 1024;
+ }
+ else
+#endif
+ {
+ KeccakExtract(state->state, state->dataQueue, state->rate/64);
+ state->bitsAvailableForSqueezing = state->rate;
+ }
+ #ifdef KeccakReference
+ displayBytes(1, "Block available for squeezing", state->dataQueue, state->bitsAvailableForSqueezing/8);
+ #endif
+ state->squeezing = 1;
+}
+
+static int Squeeze(spongeState *state, unsigned char *output, unsigned long long outputLength)
+{
+ unsigned long long i;
+ unsigned int partialBlock;
+
+ if (!state->squeezing)
+ PadAndSwitchToSqueezingPhase(state);
+ if ((outputLength % 8) != 0)
+ return 1; /* Only multiple of 8 bits are allowed, truncation can be done at user level */
+
+ i = 0;
+ while(i < outputLength) {
+ if (state->bitsAvailableForSqueezing == 0) {
+ KeccakPermutation(state->state);
+#ifdef ProvideFast1024
+ if (state->rate == 1024) {
+ KeccakExtract1024bits(state->state, state->dataQueue);
+ state->bitsAvailableForSqueezing = 1024;
+ }
+ else
+#endif
+ {
+ KeccakExtract(state->state, state->dataQueue, state->rate/64);
+ state->bitsAvailableForSqueezing = state->rate;
+ }
+ #ifdef KeccakReference
+ displayBytes(1, "Block available for squeezing", state->dataQueue, state->bitsAvailableForSqueezing/8);
+ #endif
+ }
+ partialBlock = state->bitsAvailableForSqueezing;
+ if ((unsigned long long)partialBlock > outputLength - i)
+ partialBlock = (unsigned int)(outputLength - i);
+ memcpy(output+i/8, state->dataQueue+(state->rate-state->bitsAvailableForSqueezing)/8, partialBlock/8);
+ state->bitsAvailableForSqueezing -= partialBlock;
+ i += partialBlock;
+ }
+ return 0;
+}
diff --git a/Modules/_sha3/keccak/KeccakSponge.h b/Modules/_sha3/keccak/KeccakSponge.h
new file mode 100644
index 0000000000..a545cacb30
--- /dev/null
+++ b/Modules/_sha3/keccak/KeccakSponge.h
@@ -0,0 +1,76 @@
+/*
+The Keccak sponge function, designed by Guido Bertoni, Joan Daemen,
+Michaël Peeters and Gilles Van Assche. For more information, feedback or
+questions, please refer to our website: http://keccak.noekeon.org/
+
+Implementation by the designers,
+hereby denoted as "the implementer".
+
+To the extent possible under law, the implementer has waived all copyright
+and related or neighboring rights to the source code in this file.
+http://creativecommons.org/publicdomain/zero/1.0/
+*/
+
+#ifndef _KeccakSponge_h_
+#define _KeccakSponge_h_
+
+#define KeccakPermutationSize 1600
+#define KeccakPermutationSizeInBytes (KeccakPermutationSize/8)
+#define KeccakMaximumRate 1536
+#define KeccakMaximumRateInBytes (KeccakMaximumRate/8)
+
+#if defined(__GNUC__)
+#define ALIGN __attribute__ ((aligned(32)))
+#elif defined(_MSC_VER)
+#define ALIGN __declspec(align(32))
+#else
+#define ALIGN
+#endif
+
+ALIGN typedef struct spongeStateStruct {
+ ALIGN unsigned char state[KeccakPermutationSizeInBytes];
+ ALIGN unsigned char dataQueue[KeccakMaximumRateInBytes];
+ unsigned int rate;
+ unsigned int capacity;
+ unsigned int bitsInQueue;
+ unsigned int fixedOutputLength;
+ int squeezing;
+ unsigned int bitsAvailableForSqueezing;
+} spongeState;
+
+/**
+ * Function to initialize the state of the Keccak[r, c] sponge function.
+ * The sponge function is set to the absorbing phase.
+ * @param state Pointer to the state of the sponge function to be initialized.
+ * @param rate The value of the rate r.
+ * @param capacity The value of the capacity c.
+ * @pre One must have r+c=1600 and the rate a multiple of 64 bits in this implementation.
+ * @return Zero if successful, 1 otherwise.
+ */
+static int InitSponge(spongeState *state, unsigned int rate, unsigned int capacity);
+/**
+ * Function to give input data for the sponge function to absorb.
+ * @param state Pointer to the state of the sponge function initialized by InitSponge().
+ * @param data Pointer to the input data.
+ * When @a databitLen is not a multiple of 8, the last bits of data must be
+ * in the least significant bits of the last byte.
+ * @param databitLen The number of input bits provided in the input data.
+ * @pre In the previous call to Absorb(), databitLen was a multiple of 8.
+ * @pre The sponge function must be in the absorbing phase,
+ * i.e., Squeeze() must not have been called before.
+ * @return Zero if successful, 1 otherwise.
+ */
+static int Absorb(spongeState *state, const unsigned char *data, unsigned long long databitlen);
+/**
+ * Function to squeeze output data from the sponge function.
+ * If the sponge function was in the absorbing phase, this function
+ * switches it to the squeezing phase.
+ * @param state Pointer to the state of the sponge function initialized by InitSponge().
+ * @param output Pointer to the buffer where to store the output data.
+ * @param outputLength The number of output bits desired.
+ * It must be a multiple of 8.
+ * @return Zero if successful, 1 otherwise.
+ */
+static int Squeeze(spongeState *state, unsigned char *output, unsigned long long outputLength);
+
+#endif
diff --git a/Modules/_sha3/keccak/brg_endian.h b/Modules/_sha3/keccak/brg_endian.h
new file mode 100755
index 0000000000..7226eb3bec
--- /dev/null
+++ b/Modules/_sha3/keccak/brg_endian.h
@@ -0,0 +1,142 @@
+/*
+ ---------------------------------------------------------------------------
+ Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved.
+
+ LICENSE TERMS
+
+ The redistribution and use of this software (with or without changes)
+ is allowed without the payment of fees or royalties provided that:
+
+ 1. source code distributions include the above copyright notice, this
+ list of conditions and the following disclaimer;
+
+ 2. binary distributions include the above copyright notice, this list
+ of conditions and the following disclaimer in their documentation;
+
+ 3. the name of the copyright holder is not used to endorse products
+ built using this software without specific written permission.
+
+ DISCLAIMER
+
+ This software is provided 'as is' with no explicit or implied warranties
+ in respect of its properties, including, but not limited to, correctness
+ and/or fitness for purpose.
+ ---------------------------------------------------------------------------
+ Issue Date: 20/12/2007
+ Changes for ARM 9/9/2010
+*/
+
+#ifndef _BRG_ENDIAN_H
+#define _BRG_ENDIAN_H
+
+#define IS_BIG_ENDIAN 4321 /* byte 0 is most significant (mc68k) */
+#define IS_LITTLE_ENDIAN 1234 /* byte 0 is least significant (i386) */
+
+#if 0
+/* Include files where endian defines and byteswap functions may reside */
+#if defined( __sun )
+# include <sys/isa_defs.h>
+#elif defined( __FreeBSD__ ) || defined( __OpenBSD__ ) || defined( __NetBSD__ )
+# include <sys/endian.h>
+#elif defined( BSD ) && ( BSD >= 199103 ) || defined( __APPLE__ ) || \
+ defined( __CYGWIN32__ ) || defined( __DJGPP__ ) || defined( __osf__ )
+# include <machine/endian.h>
+#elif defined( __linux__ ) || defined( __GNUC__ ) || defined( __GNU_LIBRARY__ )
+# if !defined( __MINGW32__ ) && !defined( _AIX )
+# include <endian.h>
+# if !defined( __BEOS__ )
+# include <byteswap.h>
+# endif
+# endif
+#endif
+#endif
+
+/* Now attempt to set the define for platform byte order using any */
+/* of the four forms SYMBOL, _SYMBOL, __SYMBOL & __SYMBOL__, which */
+/* seem to encompass most endian symbol definitions */
+
+#if defined( BIG_ENDIAN ) && defined( LITTLE_ENDIAN )
+# if defined( BYTE_ORDER ) && BYTE_ORDER == BIG_ENDIAN
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+# elif defined( BYTE_ORDER ) && BYTE_ORDER == LITTLE_ENDIAN
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+# endif
+#elif defined( BIG_ENDIAN )
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+#elif defined( LITTLE_ENDIAN )
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+#endif
+
+#if defined( _BIG_ENDIAN ) && defined( _LITTLE_ENDIAN )
+# if defined( _BYTE_ORDER ) && _BYTE_ORDER == _BIG_ENDIAN
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+# elif defined( _BYTE_ORDER ) && _BYTE_ORDER == _LITTLE_ENDIAN
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+# endif
+#elif defined( _BIG_ENDIAN )
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+#elif defined( _LITTLE_ENDIAN )
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+#endif
+
+#if defined( __BIG_ENDIAN ) && defined( __LITTLE_ENDIAN )
+# if defined( __BYTE_ORDER ) && __BYTE_ORDER == __BIG_ENDIAN
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+# elif defined( __BYTE_ORDER ) && __BYTE_ORDER == __LITTLE_ENDIAN
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+# endif
+#elif defined( __BIG_ENDIAN )
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+#elif defined( __LITTLE_ENDIAN )
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+#endif
+
+#if defined( __BIG_ENDIAN__ ) && defined( __LITTLE_ENDIAN__ )
+# if defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __BIG_ENDIAN__
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+# elif defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __LITTLE_ENDIAN__
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+# endif
+#elif defined( __BIG_ENDIAN__ )
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+#elif defined( __LITTLE_ENDIAN__ )
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+#endif
+
+/* if the platform byte order could not be determined, then try to */
+/* set this define using common machine defines */
+#if !defined(PLATFORM_BYTE_ORDER)
+
+#if defined( __alpha__ ) || defined( __alpha ) || defined( i386 ) || \
+ defined( __i386__ ) || defined( _M_I86 ) || defined( _M_IX86 ) || \
+ defined( __OS2__ ) || defined( sun386 ) || defined( __TURBOC__ ) || \
+ defined( vax ) || defined( vms ) || defined( VMS ) || \
+ defined( __VMS ) || defined( _M_X64 )
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+
+#elif defined( AMIGA ) || defined( applec ) || defined( __AS400__ ) || \
+ defined( _CRAY ) || defined( __hppa ) || defined( __hp9000 ) || \
+ defined( ibm370 ) || defined( mc68000 ) || defined( m68k ) || \
+ defined( __MRC__ ) || defined( __MVS__ ) || defined( __MWERKS__ ) || \
+ defined( sparc ) || defined( __sparc) || defined( SYMANTEC_C ) || \
+ defined( __VOS__ ) || defined( __TIGCC__ ) || defined( __TANDEM ) || \
+ defined( THINK_C ) || defined( __VMCMS__ ) || defined( _AIX )
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+
+#elif defined(__arm__)
+# ifdef __BIG_ENDIAN
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+# else
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+# endif
+#elif 1 /* **** EDIT HERE IF NECESSARY **** */
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+#elif 0 /* **** EDIT HERE IF NECESSARY **** */
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+#else
+# error Please edit lines 132 or 134 in brg_endian.h to set the platform byte order
+#endif
+
+#endif
+
+#endif
diff --git a/Modules/_ctypes/libffi/testsuite/libffi.call/a.out b/Modules/_sha3/keccak/crypto_hash.h
index e69de29bb2..e69de29bb2 100644
--- a/Modules/_ctypes/libffi/testsuite/libffi.call/a.out
+++ b/Modules/_sha3/keccak/crypto_hash.h
diff --git a/Modules/_sha3/sha3module.c b/Modules/_sha3/sha3module.c
new file mode 100644
index 0000000000..4e6352b7ba
--- /dev/null
+++ b/Modules/_sha3/sha3module.c
@@ -0,0 +1,585 @@
+/* SHA3 module
+ *
+ * This module provides an interface to the SHA3 algorithm
+ *
+ * See below for information about the original code this module was
+ * based upon. Additional work performed by:
+ *
+ * Andrew Kuchling (amk@amk.ca)
+ * Greg Stein (gstein@lyra.org)
+ * Trevor Perrin (trevp@trevp.net)
+ * Gregory P. Smith (greg@krypto.org)
+ *
+ * Copyright (C) 2012 Christian Heimes (christian@python.org)
+ * Licensed to PSF under a Contributor Agreement.
+ *
+ */
+
+#include "Python.h"
+#include "../hashlib.h"
+
+/* **************************************************************************
+ * SHA-3 (Keccak)
+ *
+ * The code is based on KeccakReferenceAndOptimized-3.2.zip from 29 May 2012.
+ *
+ * The reference implementation is altered in this points:
+ * - C++ comments are converted to ANSI C comments.
+ * - All functions and globals are declared static.
+ * - The typedef for UINT64 is commented out.
+ * - KeccakF-1600-opt[32|64]-settings.h are commented out
+ * - Some unused functions are commented out to silence compiler warnings.
+ *
+ * In order to avoid name clashes with other software I have to declare all
+ * Keccak functions and global data as static. The C code is directly
+ * included into this file in order to access the static functions.
+ *
+ * Keccak can be tuned with several paramenters. I try to explain all options
+ * as far as I understand them. The reference implementation also contains
+ * assembler code for ARM platforms (NEON instructions).
+ *
+ * Common
+ * ======
+ *
+ * Options:
+ * UseBebigokimisa, Unrolling
+ *
+ * - Unrolling: loop unrolling (24, 12, 8, 6, 4, 3, 2, 1)
+ * - UseBebigokimisa: lane complementing
+ *
+ * 64bit platforms
+ * ===============
+ *
+ * Additional options:
+ * UseSSE, UseOnlySIMD64, UseMMX, UseXOP, UseSHLD
+ *
+ * Optimized instructions (disabled by default):
+ * - UseSSE: use Stream SIMD extensions
+ * o UseOnlySIMD64: limit to 64bit instructions, otherwise 128bit
+ * o w/o UseOnlySIMD64: requires compiler agument -mssse3 or -mtune
+ * - UseMMX: use 64bit MMX instructions
+ * - UseXOP: use AMD's eXtended Operations (128bit SSE extension)
+ *
+ * Other:
+ * - Unrolling: default 24
+ * - UseBebigokimisa: default 1
+ *
+ * When neither UseSSE, UseMMX nor UseXOP is configured, ROL64 (rotate left
+ * 64) is implemented as:
+ * - Windows: _rotl64()
+ * - UseSHLD: use shld (shift left) asm optimization
+ * - otherwise: shift and xor
+ *
+ * UseBebigokimisa can't be used in combination with UseSSE, UseMMX or
+ * UseXOP. UseOnlySIMD64 has no effect unless UseSSE is specified.
+ *
+ * Tests have shown that UseSSE + UseOnlySIMD64 is about three to four
+ * times SLOWER than UseBebigokimisa. UseSSE and UseMMX are about two times
+ * slower. (tested by CH and AP)
+ *
+ * 32bit platforms
+ * ===============
+ *
+ * Additional options:
+ * UseInterleaveTables, UseSchedule
+ *
+ * - Unrolling: default 2
+ * - UseBebigokimisa: default n/a
+ * - UseSchedule: ???, (1, 2, 3; default 3)
+ * - UseInterleaveTables: use two 64k lookup tables for (de)interleaving
+ * default: n/a
+ *
+ * schedules:
+ * - 3: no UseBebigokimisa, Unrolling must be 2
+ * - 2 + 1: ???
+ *
+ * *************************************************************************/
+
+#ifdef __sparc
+ /* opt64 uses un-aligned memory access that causes a BUS error with msg
+ * 'invalid address alignment' on SPARC. */
+ #define KeccakOpt 32
+#elif SIZEOF_VOID_P == 8 && defined(PY_UINT64_T)
+ /* opt64 works only for 64bit platforms with unsigned int64 */
+ #define KeccakOpt 64
+#else
+ /* opt32 is used for the remaining 32 and 64bit platforms */
+ #define KeccakOpt 32
+#endif
+
+#if KeccakOpt == 64 && defined(PY_UINT64_T)
+ /* 64bit platforms with unsigned int64 */
+ #define Unrolling 24
+ #define UseBebigokimisa
+ typedef PY_UINT64_T UINT64;
+#elif KeccakOpt == 32 && defined(PY_UINT64_T)
+ /* 32bit platforms with unsigned int64 */
+ #define Unrolling 2
+ #define UseSchedule 3
+ typedef PY_UINT64_T UINT64;
+#else
+ /* 32 or 64bit platforms without unsigned int64 */
+ #define Unrolling 2
+ #define UseSchedule 3
+ #define UseInterleaveTables
+#endif
+
+/* replacement for brg_endian.h */
+#define IS_BIG_ENDIAN 4321
+#define IS_LITTLE_ENDIAN 1234
+#if PY_BIG_ENDIAN
+# define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+#else
+# define PLATFORM_BYTE_ORDER IS_LITTLE_ENDIAN
+#endif
+
+/* inline all Keccak dependencies */
+#include "keccak/KeccakNISTInterface.h"
+#include "keccak/KeccakNISTInterface.c"
+#include "keccak/KeccakSponge.c"
+#if KeccakOpt == 64
+ #include "keccak/KeccakF-1600-opt64.c"
+#elif KeccakOpt == 32
+ #include "keccak/KeccakF-1600-opt32.c"
+#endif
+
+/* #define SHA3_BLOCKSIZE 200 // 1600 bits */
+#define SHA3_MAX_DIGESTSIZE 64 /* 512 bits */
+#define SHA3_state hashState
+#define SHA3_init Init
+#define SHA3_process Update
+#define SHA3_done Final
+#define SHA3_copystate(dest, src) memcpy(&(dest), &(src), sizeof(SHA3_state))
+#define SHA3_clearstate(state) memset(&(state), 0, sizeof(SHA3_state))
+
+/* The structure for storing SHA3 info */
+
+typedef struct {
+ PyObject_HEAD
+ int hashbitlen;
+ SHA3_state hash_state;
+#ifdef WITH_THREAD
+ PyThread_type_lock lock;
+#endif
+
+} SHA3object;
+
+static PyTypeObject SHA3type;
+
+
+static SHA3object *
+newSHA3object(int hashbitlen)
+{
+ SHA3object *newobj;
+
+ /* check hashbitlen */
+ switch(hashbitlen) {
+ /* supported hash length */
+ case 224:
+ break;
+ case 256:
+ break;
+ case 384:
+ break;
+ case 512:
+ break;
+ case 0:
+ /* arbitrarily-long output isn't supported by this module */
+ default:
+ /* everything else is an error */
+ PyErr_SetString(PyExc_ValueError,
+ "hashbitlen must be one of 224, 256, 384 or 512.");
+ return NULL;
+ }
+ newobj = (SHA3object *)PyObject_New(SHA3object, &SHA3type);
+ if (newobj == NULL) {
+ return NULL;
+ }
+ newobj->hashbitlen = hashbitlen;
+#ifdef WITH_THREAD
+ newobj->lock = NULL;
+#endif
+ return newobj;
+}
+
+
+/* Internal methods for a hash object */
+
+static void
+SHA3_dealloc(SHA3object *self)
+{
+ SHA3_clearstate(self->hash_state);
+#ifdef WITH_THREAD
+ if (self->lock) {
+ PyThread_free_lock(self->lock);
+ }
+#endif
+ PyObject_Del(self);
+}
+
+
+/* External methods for a hash object */
+
+PyDoc_STRVAR(SHA3_copy__doc__, "Return a copy of the hash object.");
+
+static PyObject *
+SHA3_copy(SHA3object *self, PyObject *unused)
+{
+ SHA3object *newobj;
+
+ if ((newobj = newSHA3object(self->hashbitlen)) == NULL) {
+ return NULL;
+ }
+ ENTER_HASHLIB(self);
+ SHA3_copystate(newobj->hash_state, self->hash_state);
+ LEAVE_HASHLIB(self);
+ return (PyObject *)newobj;
+}
+
+
+PyDoc_STRVAR(SHA3_digest__doc__,
+"Return the digest value as a string of binary data.");
+
+static PyObject *
+SHA3_digest(SHA3object *self, PyObject *unused)
+{
+ unsigned char digest[SHA3_MAX_DIGESTSIZE];
+ SHA3_state temp;
+ HashReturn res;
+
+ ENTER_HASHLIB(self);
+ SHA3_copystate(temp, self->hash_state);
+ LEAVE_HASHLIB(self);
+ res = SHA3_done(&temp, digest);
+ SHA3_clearstate(temp);
+ if (res != SUCCESS) {
+ PyErr_SetString(PyExc_RuntimeError, "internal error in SHA3 Final()");
+ return NULL;
+ }
+ return PyBytes_FromStringAndSize((const char *)digest,
+ self->hashbitlen / 8);
+}
+
+
+PyDoc_STRVAR(SHA3_hexdigest__doc__,
+"Return the digest value as a string of hexadecimal digits.");
+
+static PyObject *
+SHA3_hexdigest(SHA3object *self, PyObject *unused)
+{
+ unsigned char digest[SHA3_MAX_DIGESTSIZE];
+ SHA3_state temp;
+ HashReturn res;
+ PyObject *retval;
+ Py_UCS1 *hex_digest;
+ int digestlen, i, j;
+
+ /* Get the raw (binary) digest value */
+ ENTER_HASHLIB(self);
+ SHA3_copystate(temp, self->hash_state);
+ LEAVE_HASHLIB(self);
+ res = SHA3_done(&temp, digest);
+ SHA3_clearstate(temp);
+ if (res != SUCCESS) {
+ PyErr_SetString(PyExc_RuntimeError, "internal error in SHA3 Final()");
+ return NULL;
+ }
+
+ /* Create a new string */
+ digestlen = self->hashbitlen / 8;
+ retval = PyUnicode_New(digestlen * 2, 127);
+ if (!retval)
+ return NULL;
+ hex_digest = PyUnicode_1BYTE_DATA(retval);
+
+ /* Make hex version of the digest */
+ for(i=j=0; i < digestlen; i++) {
+ unsigned char c;
+ c = (digest[i] >> 4) & 0xf;
+ hex_digest[j++] = Py_hexdigits[c];
+ c = (digest[i] & 0xf);
+ hex_digest[j++] = Py_hexdigits[c];
+ }
+#ifdef Py_DEBUG
+ assert(_PyUnicode_CheckConsistency(retval, 1));
+#endif
+ return retval;
+}
+
+PyDoc_STRVAR(SHA3_update__doc__,
+"Update this hash object's state with the provided string.");
+
+static PyObject *
+SHA3_update(SHA3object *self, PyObject *args)
+{
+ PyObject *obj;
+ Py_buffer buf;
+ HashReturn res;
+
+ if (!PyArg_ParseTuple(args, "O:update", &obj))
+ return NULL;
+
+ GET_BUFFER_VIEW_OR_ERROUT(obj, &buf);
+
+ /* add new data, the function takes the length in bits not bytes */
+#ifdef WITH_THREAD
+ if (self->lock == NULL && buf.len >= HASHLIB_GIL_MINSIZE) {
+ self->lock = PyThread_allocate_lock();
+ }
+ /* Once a lock exists all code paths must be synchronized. We have to
+ * release the GIL even for small buffers as acquiring the lock may take
+ * an unlimited amount of time when another thread updates this object
+ * with lots of data. */
+ if (self->lock) {
+ Py_BEGIN_ALLOW_THREADS
+ PyThread_acquire_lock(self->lock, 1);
+ res = SHA3_process(&self->hash_state, buf.buf, buf.len * 8);
+ PyThread_release_lock(self->lock);
+ Py_END_ALLOW_THREADS
+ }
+ else {
+ res = SHA3_process(&self->hash_state, buf.buf, buf.len * 8);
+ }
+#else
+ res = SHA3_process(&self->hash_state, buf.buf, buf.len * 8);
+#endif
+ LEAVE_HASHLIB(self);
+
+ if (res != SUCCESS) {
+ PyBuffer_Release(&buf);
+ PyErr_SetString(PyExc_RuntimeError,
+ "internal error in SHA3 Update()");
+ return NULL;
+ }
+
+ PyBuffer_Release(&buf);
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static PyMethodDef SHA3_methods[] = {
+ {"copy", (PyCFunction)SHA3_copy, METH_NOARGS,
+ SHA3_copy__doc__},
+ {"digest", (PyCFunction)SHA3_digest, METH_NOARGS,
+ SHA3_digest__doc__},
+ {"hexdigest", (PyCFunction)SHA3_hexdigest, METH_NOARGS,
+ SHA3_hexdigest__doc__},
+ {"update", (PyCFunction)SHA3_update, METH_VARARGS,
+ SHA3_update__doc__},
+ {NULL, NULL} /* sentinel */
+};
+
+static PyObject *
+SHA3_get_block_size(SHA3object *self, void *closure)
+{
+ /* HMAC-SHA3 hasn't been specified yet and no official test vectors are
+ * available. Thus block_size returns NotImplemented to prevent people
+ * from using SHA3 with the hmac module.
+ */
+ Py_RETURN_NOTIMPLEMENTED;
+}
+
+static PyObject *
+SHA3_get_name(SHA3object *self, void *closure)
+{
+ return PyUnicode_FromFormat("sha3_%i", self->hashbitlen);
+}
+
+static PyObject *
+SHA3_get_digest_size(SHA3object *self, void *closure)
+{
+ return PyLong_FromLong(self->hashbitlen / 8);
+}
+
+
+static PyGetSetDef SHA3_getseters[] = {
+ {"block_size", (getter)SHA3_get_block_size, NULL, NULL, NULL},
+ {"name", (getter)SHA3_get_name, NULL, NULL, NULL},
+ {"digest_size", (getter)SHA3_get_digest_size, NULL, NULL, NULL},
+ {NULL} /* Sentinel */
+};
+
+static PyTypeObject SHA3type = {
+ PyVarObject_HEAD_INIT(NULL, 0)
+ "_sha3.SHA3", /* tp_name */
+ sizeof(SHA3object), /* tp_size */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)SHA3_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ SHA3_methods, /* tp_methods */
+ NULL, /* tp_members */
+ SHA3_getseters, /* tp_getset */
+};
+
+
+/* constructor helper */
+static PyObject *
+SHA3_factory(PyObject *args, PyObject *kwdict, const char *fmt,
+ int hashbitlen)
+{
+ SHA3object *newobj = NULL;
+ static char *kwlist[] = {"string", NULL};
+ PyObject *data_obj = NULL;
+ Py_buffer buf;
+ HashReturn res;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwdict, fmt, kwlist,
+ &data_obj)) {
+ return NULL;
+ }
+
+ if (data_obj)
+ GET_BUFFER_VIEW_OR_ERROUT(data_obj, &buf);
+
+ if ((newobj = newSHA3object(hashbitlen)) == NULL) {
+ goto error;
+ }
+
+ if (SHA3_init(&newobj->hash_state, hashbitlen) != SUCCESS) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "internal error in SHA3 Update()");
+ goto error;
+ }
+
+ if (data_obj) {
+#ifdef WITH_THREAD
+ if (buf.len >= HASHLIB_GIL_MINSIZE) {
+ /* invariant: New objects can't be accessed by other code yet,
+ * thus it's safe to release the GIL without locking the object.
+ */
+ Py_BEGIN_ALLOW_THREADS
+ res = SHA3_process(&newobj->hash_state, buf.buf, buf.len * 8);
+ Py_END_ALLOW_THREADS
+ }
+ else {
+ res = SHA3_process(&newobj->hash_state, buf.buf, buf.len * 8);
+ }
+#else
+ res = SHA3_process(&newobj->hash_state, buf.buf, buf.len * 8);
+#endif
+ if (res != SUCCESS) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "internal error in SHA3 Update()");
+ goto error;
+ }
+ PyBuffer_Release(&buf);
+ }
+
+ return (PyObject *)newobj;
+
+ error:
+ if (newobj) {
+ SHA3_dealloc(newobj);
+ }
+ if (data_obj) {
+ PyBuffer_Release(&buf);
+ }
+ return NULL;
+
+}
+
+PyDoc_STRVAR(sha3_224__doc__,
+"sha3_224([string]) -> SHA3 object\n\
+\n\
+Return a new SHA3 hash object with a hashbit length of 28 bytes.");
+
+static PyObject *
+sha3_224(PyObject *self, PyObject *args, PyObject *kwdict)
+{
+ return SHA3_factory(args, kwdict, "|O:sha3_224", 224);
+}
+
+
+PyDoc_STRVAR(sha3_256__doc__,
+"sha3_256([string]) -> SHA3 object\n\
+\n\
+Return a new SHA3 hash object with a hashbit length of 32 bytes.");
+
+static PyObject *
+sha3_256(PyObject *self, PyObject *args, PyObject *kwdict)
+{
+ return SHA3_factory(args, kwdict, "|O:sha3_256", 256);
+}
+
+PyDoc_STRVAR(sha3_384__doc__,
+"sha3_384([string]) -> SHA3 object\n\
+\n\
+Return a new SHA3 hash object with a hashbit length of 48 bytes.");
+
+static PyObject *
+sha3_384(PyObject *self, PyObject *args, PyObject *kwdict)
+{
+ return SHA3_factory(args, kwdict, "|O:sha3_384", 384);
+}
+
+PyDoc_STRVAR(sha3_512__doc__,
+"sha3_512([string]) -> SHA3 object\n\
+\n\
+Return a new SHA3 hash object with a hashbit length of 64 bytes.");
+
+static PyObject *
+sha3_512(PyObject *self, PyObject *args, PyObject *kwdict)
+{
+ return SHA3_factory(args, kwdict, "|O:sha3_512", 512);
+}
+
+
+/* List of functions exported by this module */
+static struct PyMethodDef SHA3_functions[] = {
+ {"sha3_224", (PyCFunction)sha3_224, METH_VARARGS|METH_KEYWORDS,
+ sha3_224__doc__},
+ {"sha3_256", (PyCFunction)sha3_256, METH_VARARGS|METH_KEYWORDS,
+ sha3_256__doc__},
+ {"sha3_384", (PyCFunction)sha3_384, METH_VARARGS|METH_KEYWORDS,
+ sha3_384__doc__},
+ {"sha3_512", (PyCFunction)sha3_512, METH_VARARGS|METH_KEYWORDS,
+ sha3_512__doc__},
+ {NULL, NULL} /* Sentinel */
+};
+
+
+/* Initialize this module. */
+static struct PyModuleDef _SHA3module = {
+ PyModuleDef_HEAD_INIT,
+ "_sha3",
+ NULL,
+ -1,
+ SHA3_functions,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+PyMODINIT_FUNC
+PyInit__sha3(void)
+{
+ Py_TYPE(&SHA3type) = &PyType_Type;
+ if (PyType_Ready(&SHA3type) < 0) {
+ return NULL;
+ }
+
+ return PyModule_Create(&_SHA3module);
+}
diff --git a/Modules/_sqlite/cache.c b/Modules/_sqlite/cache.c
index 3693363bb2..3689a4e387 100644
--- a/Modules/_sqlite/cache.c
+++ b/Modules/_sqlite/cache.c
@@ -21,7 +21,6 @@
* 3. This notice may not be removed or altered from any source distribution.
*/
-#include "sqlitecompat.h"
#include "cache.h"
#include <limits.h>
diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c
index 28bd647b3f..531516c277 100644
--- a/Modules/_sqlite/connection.c
+++ b/Modules/_sqlite/connection.c
@@ -29,7 +29,6 @@
#include "cursor.h"
#include "prepare_protocol.h"
#include "util.h"
-#include "sqlitecompat.h"
#include "pythread.h"
@@ -60,7 +59,11 @@ static void _sqlite3_result_error(sqlite3_context* ctx, const char* errmsg, int
int pysqlite_connection_init(pysqlite_Connection* self, PyObject* args, PyObject* kwargs)
{
- static char *kwlist[] = {"database", "timeout", "detect_types", "isolation_level", "check_same_thread", "factory", "cached_statements", NULL, NULL};
+ static char *kwlist[] = {
+ "database", "timeout", "detect_types", "isolation_level",
+ "check_same_thread", "factory", "cached_statements", "uri",
+ NULL
+ };
char* database;
int detect_types = 0;
@@ -68,11 +71,14 @@ int pysqlite_connection_init(pysqlite_Connection* self, PyObject* args, PyObject
PyObject* factory = NULL;
int check_same_thread = 1;
int cached_statements = 100;
+ int uri = 0;
double timeout = 5.0;
int rc;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|diOiOi", kwlist,
- &database, &timeout, &detect_types, &isolation_level, &check_same_thread, &factory, &cached_statements))
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|diOiOip", kwlist,
+ &database, &timeout, &detect_types,
+ &isolation_level, &check_same_thread,
+ &factory, &cached_statements, &uri))
{
return -1;
}
@@ -91,8 +97,19 @@ int pysqlite_connection_init(pysqlite_Connection* self, PyObject* args, PyObject
Py_INCREF(&PyUnicode_Type);
self->text_factory = (PyObject*)&PyUnicode_Type;
+#ifdef SQLITE_OPEN_URI
+ Py_BEGIN_ALLOW_THREADS
+ rc = sqlite3_open_v2(database, &self->db,
+ SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE |
+ (uri ? SQLITE_OPEN_URI : 0), NULL);
+#else
+ if (uri) {
+ PyErr_SetString(pysqlite_NotSupportedError, "URIs not supported");
+ return -1;
+ }
Py_BEGIN_ALLOW_THREADS
rc = sqlite3_open(database, &self->db);
+#endif
Py_END_ALLOW_THREADS
if (rc != SQLITE_OK) {
@@ -679,6 +696,8 @@ void _pysqlite_final_callback(sqlite3_context* context)
PyObject** aggregate_instance;
_Py_IDENTIFIER(finalize);
int ok;
+ PyObject *exception, *value, *tb;
+ int restore;
#ifdef WITH_THREAD
PyGILState_STATE threadstate;
@@ -694,7 +713,12 @@ void _pysqlite_final_callback(sqlite3_context* context)
goto error;
}
+ /* Keep the exception (if any) of the last call to step() */
+ PyErr_Fetch(&exception, &value, &tb);
+ restore = 1;
+
function_result = _PyObject_CallMethodId(*aggregate_instance, &PyId_finalize, "");
+
Py_DECREF(*aggregate_instance);
ok = 0;
@@ -709,6 +733,17 @@ void _pysqlite_final_callback(sqlite3_context* context)
PyErr_Clear();
}
_sqlite3_result_error(context, "user-defined aggregate's 'finalize' method raised error", -1);
+#if SQLITE_VERSION_NUMBER < 3003003
+ /* with old SQLite versions, _sqlite3_result_error() sets a new Python
+ exception, so don't restore the previous exception */
+ restore = 0;
+#endif
+ }
+
+ if (restore) {
+ /* Restore the exception (if any) of the last call to step(),
+ but clear also the current exception if finalize() failed */
+ PyErr_Restore(exception, value, tb);
}
error:
@@ -856,22 +891,29 @@ static int _authorizer_callback(void* user_arg, int action, const char* arg1, co
gilstate = PyGILState_Ensure();
#endif
+
ret = PyObject_CallFunction((PyObject*)user_arg, "issss", action, arg1, arg2, dbname, access_attempt_source);
- if (!ret) {
- if (_enable_callback_tracebacks) {
+ if (ret == NULL) {
+ if (_enable_callback_tracebacks)
PyErr_Print();
- } else {
+ else
PyErr_Clear();
- }
rc = SQLITE_DENY;
- } else {
+ }
+ else {
if (PyLong_Check(ret)) {
rc = _PyLong_AsInt(ret);
- if (rc == -1 && PyErr_Occurred())
+ if (rc == -1 && PyErr_Occurred()) {
+ if (_enable_callback_tracebacks)
+ PyErr_Print();
+ else
+ PyErr_Clear();
rc = SQLITE_DENY;
- } else {
+ }
+ }
+ else {
rc = SQLITE_DENY;
}
Py_DECREF(ret);
diff --git a/Modules/_sqlite/cursor.c b/Modules/_sqlite/cursor.c
index 49994158db..bf4bbb4a28 100644
--- a/Modules/_sqlite/cursor.c
+++ b/Modules/_sqlite/cursor.c
@@ -24,7 +24,6 @@
#include "cursor.h"
#include "module.h"
#include "util.h"
-#include "sqlitecompat.h"
PyObject* pysqlite_cursor_iternext(pysqlite_Cursor* self);
@@ -339,6 +338,11 @@ PyObject* _pysqlite_fetch_one_row(pysqlite_Cursor* self)
if (self->connection->text_factory == (PyObject*)&PyUnicode_Type) {
converted = PyUnicode_FromStringAndSize(val_str, nbytes);
if (!converted) {
+#ifdef Py_DEBUG
+ /* in debug mode, type_call() fails with an assertion
+ error if an exception is set when it is called */
+ PyErr_Clear();
+#endif
colname = sqlite3_column_name(self->statement->st, i);
if (!colname) {
colname = "<unknown column name>";
diff --git a/Modules/_sqlite/module.c b/Modules/_sqlite/module.c
index bea6d6aba1..7a7e86040a 100644
--- a/Modules/_sqlite/module.c
+++ b/Modules/_sqlite/module.c
@@ -50,19 +50,26 @@ static PyObject* module_connect(PyObject* self, PyObject* args, PyObject*
* C-level, so this code is redundant with the one in connection_init in
* connection.c and must always be copied from there ... */
- static char *kwlist[] = {"database", "timeout", "detect_types", "isolation_level", "check_same_thread", "factory", "cached_statements", NULL, NULL};
+ static char *kwlist[] = {
+ "database", "timeout", "detect_types", "isolation_level",
+ "check_same_thread", "factory", "cached_statements", "uri",
+ NULL
+ };
char* database;
int detect_types = 0;
PyObject* isolation_level;
PyObject* factory = NULL;
int check_same_thread = 1;
int cached_statements;
+ int uri = 0;
double timeout = 5.0;
PyObject* result;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|diOiOi", kwlist,
- &database, &timeout, &detect_types, &isolation_level, &check_same_thread, &factory, &cached_statements))
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|diOiOip", kwlist,
+ &database, &timeout, &detect_types,
+ &isolation_level, &check_same_thread,
+ &factory, &cached_statements, &uri))
{
return NULL;
}
@@ -77,7 +84,8 @@ static PyObject* module_connect(PyObject* self, PyObject* args, PyObject*
}
PyDoc_STRVAR(module_connect_doc,
-"connect(database[, timeout, isolation_level, detect_types, factory])\n\
+"connect(database[, timeout, detect_types, isolation_level,\n\
+ check_same_thread, factory, cached_statements, uri])\n\
\n\
Opens a connection to the SQLite database file *database*. You can use\n\
\":memory:\" to open a database connection to a database that resides in\n\
diff --git a/Modules/_sqlite/prepare_protocol.c b/Modules/_sqlite/prepare_protocol.c
index fc6887445e..f2c85f9af6 100644
--- a/Modules/_sqlite/prepare_protocol.c
+++ b/Modules/_sqlite/prepare_protocol.c
@@ -21,7 +21,6 @@
* 3. This notice may not be removed or altered from any source distribution.
*/
-#include "sqlitecompat.h"
#include "prepare_protocol.h"
int pysqlite_prepare_protocol_init(pysqlite_PrepareProtocol* self, PyObject* args, PyObject* kwargs)
diff --git a/Modules/_sqlite/row.c b/Modules/_sqlite/row.c
index b50658c220..14c148e310 100644
--- a/Modules/_sqlite/row.c
+++ b/Modules/_sqlite/row.c
@@ -23,7 +23,6 @@
#include "row.h"
#include "cursor.h"
-#include "sqlitecompat.h"
void pysqlite_row_dealloc(pysqlite_Row* self)
{
diff --git a/Modules/_sqlite/sqlitecompat.h b/Modules/_sqlite/sqlitecompat.h
deleted file mode 100644
index cf20f16f65..0000000000
--- a/Modules/_sqlite/sqlitecompat.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* sqlitecompat.h - compatibility macros
- *
- * Copyright (C) 2006-2010 Gerhard Häring <gh@ghaering.de>
- *
- * This file is part of pysqlite.
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event will the authors be held liable for any damages
- * arising from the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software
- * in a product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- * 3. This notice may not be removed or altered from any source distribution.
- */
-
-#include "Python.h"
-
-#ifndef PYSQLITE_COMPAT_H
-#define PYSQLITE_COMPAT_H
-
-/* define Py_ssize_t for pre-2.5 versions of Python */
-
-#if PY_VERSION_HEX < 0x02050000
-typedef int Py_ssize_t;
-typedef int (*lenfunc)(PyObject*);
-#endif
-
-
-/* define PyDict_CheckExact for pre-2.4 versions of Python */
-#ifndef PyDict_CheckExact
-#define PyDict_CheckExact(op) ((op)->ob_type == &PyDict_Type)
-#endif
-
-/* define Py_CLEAR for pre-2.4 versions of Python */
-#ifndef Py_CLEAR
-#define Py_CLEAR(op) \
- do { \
- if (op) { \
- PyObject *tmp = (PyObject *)(op); \
- (op) = NULL; \
- Py_DECREF(tmp); \
- } \
- } while (0)
-#endif
-
-#ifndef PyVarObject_HEAD_INIT
-#define PyVarObject_HEAD_INIT(type, size) \
- PyObject_HEAD_INIT(type) size,
-#endif
-
-#ifndef Py_TYPE
-#define Py_TYPE(ob) ((ob)->ob_type)
-#endif
-
-#endif
diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
index 471a0676a8..36beef10a1 100644
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -27,7 +27,6 @@
#include "microprotocols.h"
#include "prepare_protocol.h"
#include "util.h"
-#include "sqlitecompat.h"
/* prototypes */
static int pysqlite_check_remaining_sql(const char* tail);
diff --git a/Modules/_sqlite/util.c b/Modules/_sqlite/util.c
index d88bc3fc53..312fe3be11 100644
--- a/Modules/_sqlite/util.c
+++ b/Modules/_sqlite/util.c
@@ -132,7 +132,7 @@ _pysqlite_long_from_int64(sqlite_int64 value)
}
# endif
#endif
- return PyLong_FromLong(value);
+ return PyLong_FromLong(Py_SAFE_DOWNCAST(value, sqlite_int64, long));
}
sqlite_int64
diff --git a/Modules/_sre.c b/Modules/_sre.c
index 2ecbcc0be8..41ed667a37 100644
--- a/Modules/_sre.c
+++ b/Modules/_sre.c
@@ -70,10 +70,6 @@ static char copyright[] =
/* enables copy/deepcopy handling (work in progress) */
#undef USE_BUILTIN_COPY
-#if PY_VERSION_HEX < 0x01060000
-#define PyObject_DEL(op) PyMem_DEL((op))
-#endif
-
/* -------------------------------------------------------------------- */
#if defined(_MSC_VER)
@@ -1871,7 +1867,7 @@ static PyObject*
pattern_match(PatternObject* self, PyObject* args, PyObject* kw)
{
SRE_STATE state;
- int status;
+ Py_ssize_t status;
PyObject* string;
Py_ssize_t start = 0;
@@ -1993,10 +1989,8 @@ join_list(PyObject* list, PyObject* string)
/* join list elements */
PyObject* joiner;
-#if PY_VERSION_HEX >= 0x01060000
PyObject* function;
PyObject* args;
-#endif
PyObject* result;
joiner = PySequence_GetSlice(string, 0, 0);
@@ -2008,7 +2002,6 @@ join_list(PyObject* list, PyObject* string)
return joiner;
}
-#if PY_VERSION_HEX >= 0x01060000
function = PyObject_GetAttrString(joiner, "join");
if (!function) {
Py_DECREF(joiner);
@@ -2024,12 +2017,6 @@ join_list(PyObject* list, PyObject* string)
result = PyObject_CallObject(function, args);
Py_DECREF(args); /* also removes list */
Py_DECREF(function);
-#else
- result = call(
- "string", "join",
- PyTuple_Pack(2, list, joiner)
- );
-#endif
Py_DECREF(joiner);
return result;
@@ -2040,7 +2027,7 @@ pattern_findall(PatternObject* self, PyObject* args, PyObject* kw)
{
SRE_STATE state;
PyObject* list;
- int status;
+ Py_ssize_t status;
Py_ssize_t i, b, e;
PyObject* string;
@@ -2136,7 +2123,6 @@ error:
}
-#if PY_VERSION_HEX >= 0x02020000
static PyObject*
pattern_finditer(PatternObject* pattern, PyObject* args, PyObject* kw)
{
@@ -2158,7 +2144,6 @@ pattern_finditer(PatternObject* pattern, PyObject* args, PyObject* kw)
return iterator;
}
-#endif
static PyObject*
pattern_split(PatternObject* self, PyObject* args, PyObject* kw)
@@ -2166,7 +2151,7 @@ pattern_split(PatternObject* self, PyObject* args, PyObject* kw)
SRE_STATE state;
PyObject* list;
PyObject* item;
- int status;
+ Py_ssize_t status;
Py_ssize_t n;
Py_ssize_t i;
void* last;
@@ -2282,7 +2267,7 @@ pattern_subx(PatternObject* self, PyObject* ptemplate, PyObject* string,
PyObject* args;
PyObject* match;
void* ptr;
- int status;
+ Py_ssize_t status;
Py_ssize_t n;
Py_ssize_t i, b, e;
int logical_charsize, charsize;
@@ -2301,7 +2286,7 @@ pattern_subx(PatternObject* self, PyObject* ptemplate, PyObject* string,
ptr = getstring(ptemplate, &n, &logical_charsize, &charsize, &view);
b = charsize;
if (ptr) {
- literal = sre_literal_template(b, ptr, n);
+ literal = sre_literal_template(charsize, ptr, n);
} else {
PyErr_Clear();
literal = 0;
@@ -2581,10 +2566,8 @@ static PyMethodDef pattern_methods[] = {
pattern_split_doc},
{"findall", (PyCFunction) pattern_findall, METH_VARARGS|METH_KEYWORDS,
pattern_findall_doc},
-#if PY_VERSION_HEX >= 0x02020000
{"finditer", (PyCFunction) pattern_finditer, METH_VARARGS|METH_KEYWORDS,
pattern_finditer_doc},
-#endif
{"scanner", (PyCFunction) pattern_scanner, METH_VARARGS|METH_KEYWORDS},
{"__copy__", (PyCFunction) pattern_copy, METH_NOARGS},
{"__deepcopy__", (PyCFunction) pattern_deepcopy, METH_O},
@@ -3767,7 +3750,7 @@ scanner_match(ScannerObject* self, PyObject *unused)
{
SRE_STATE* state = &self->state;
PyObject* match;
- int status;
+ Py_ssize_t status;
state_reset(state);
@@ -3798,7 +3781,7 @@ scanner_search(ScannerObject* self, PyObject *unused)
{
SRE_STATE* state = &self->state;
PyObject* match;
- int status;
+ Py_ssize_t status;
state_reset(state);
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index 82d0a6a29b..a5086ca17a 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -45,6 +45,70 @@
#endif
+/* Include symbols from _socket module */
+#include "socketmodule.h"
+
+static PySocketModule_APIObject PySocketModule;
+
+#if defined(HAVE_POLL_H)
+#include <poll.h>
+#elif defined(HAVE_SYS_POLL_H)
+#include <sys/poll.h>
+#endif
+
+/* Include OpenSSL header files */
+#include "openssl/rsa.h"
+#include "openssl/crypto.h"
+#include "openssl/x509.h"
+#include "openssl/x509v3.h"
+#include "openssl/pem.h"
+#include "openssl/ssl.h"
+#include "openssl/err.h"
+#include "openssl/rand.h"
+
+/* SSL error object */
+static PyObject *PySSLErrorObject;
+static PyObject *PySSLZeroReturnErrorObject;
+static PyObject *PySSLWantReadErrorObject;
+static PyObject *PySSLWantWriteErrorObject;
+static PyObject *PySSLSyscallErrorObject;
+static PyObject *PySSLEOFErrorObject;
+
+/* Error mappings */
+static PyObject *err_codes_to_names;
+static PyObject *err_names_to_codes;
+static PyObject *lib_codes_to_names;
+
+struct py_ssl_error_code {
+ const char *mnemonic;
+ int library, reason;
+};
+struct py_ssl_library_code {
+ const char *library;
+ int code;
+};
+
+/* Include generated data (error codes) */
+#include "_ssl_data.h"
+
+/* Openssl comes with TLSv1.1 and TLSv1.2 between 1.0.0h and 1.0.1
+ http://www.openssl.org/news/changelog.html
+ */
+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
+# define HAVE_TLSv1_2 1
+#else
+# define HAVE_TLSv1_2 0
+#endif
+
+/* SNI support (client- and server-side) appeared in OpenSSL 1.0.0.
+ * This includes the SSL_set_SSL_CTX() function.
+ */
+#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
+# define HAVE_SNI 1
+#else
+# define HAVE_SNI 0
+#endif
+
enum py_ssl_error {
/* these mirror ssl.h */
PY_SSL_ERROR_NONE,
@@ -78,55 +142,14 @@ enum py_ssl_version {
#endif
PY_SSL_VERSION_SSL3=1,
PY_SSL_VERSION_SSL23,
+#if HAVE_TLSv1_2
+ PY_SSL_VERSION_TLS1,
+ PY_SSL_VERSION_TLS1_1,
+ PY_SSL_VERSION_TLS1_2
+#else
PY_SSL_VERSION_TLS1
-};
-
-struct py_ssl_error_code {
- const char *mnemonic;
- int library, reason;
-};
-
-struct py_ssl_library_code {
- const char *library;
- int code;
-};
-
-/* Include symbols from _socket module */
-#include "socketmodule.h"
-
-static PySocketModule_APIObject PySocketModule;
-
-#if defined(HAVE_POLL_H)
-#include <poll.h>
-#elif defined(HAVE_SYS_POLL_H)
-#include <sys/poll.h>
#endif
-
-/* Include OpenSSL header files */
-#include "openssl/rsa.h"
-#include "openssl/crypto.h"
-#include "openssl/x509.h"
-#include "openssl/x509v3.h"
-#include "openssl/pem.h"
-#include "openssl/ssl.h"
-#include "openssl/err.h"
-#include "openssl/rand.h"
-
-/* Include generated data (error codes) */
-#include "_ssl_data.h"
-
-/* SSL error object */
-static PyObject *PySSLErrorObject;
-static PyObject *PySSLZeroReturnErrorObject;
-static PyObject *PySSLWantReadErrorObject;
-static PyObject *PySSLWantWriteErrorObject;
-static PyObject *PySSLSyscallErrorObject;
-static PyObject *PySSLEOFErrorObject;
-
-/* Error mappings */
-static PyObject *err_codes_to_names;
-static PyObject *err_names_to_codes;
-static PyObject *lib_codes_to_names;
+};
#ifdef WITH_THREAD
@@ -186,12 +209,16 @@ typedef struct {
char *npn_protocols;
int npn_protocols_len;
#endif
+#ifndef OPENSSL_NO_TLSEXT
+ PyObject *set_hostname;
+#endif
} PySSLContext;
typedef struct {
PyObject_HEAD
PyObject *Socket; /* weakref to socket on which we're layered */
SSL *ssl;
+ PySSLContext *ctx; /* weakref to SSL context */
X509 *peer_cert;
int shutdown_seen_zero;
enum py_ssl_server_or_client socket_type;
@@ -442,11 +469,13 @@ _setSSLError (char *errstr, int errcode, char *filename, int lineno) {
*/
static PySSLSocket *
-newPySSLSocket(SSL_CTX *ctx, PySocketSockObject *sock,
+newPySSLSocket(PySSLContext *sslctx, PySocketSockObject *sock,
enum py_ssl_server_or_client socket_type,
char *server_hostname)
{
PySSLSocket *self;
+ SSL_CTX *ctx = sslctx->ctx;
+ long mode;
self = PyObject_New(PySSLSocket, &PySSLSocket_Type);
if (self == NULL)
@@ -455,6 +484,8 @@ newPySSLSocket(SSL_CTX *ctx, PySocketSockObject *sock,
self->peer_cert = NULL;
self->ssl = NULL;
self->Socket = NULL;
+ self->ctx = sslctx;
+ Py_INCREF(sslctx);
/* Make sure the SSL error state is initialized */
(void) ERR_get_state();
@@ -463,12 +494,15 @@ newPySSLSocket(SSL_CTX *ctx, PySocketSockObject *sock,
PySSL_BEGIN_ALLOW_THREADS
self->ssl = SSL_new(ctx);
PySSL_END_ALLOW_THREADS
+ SSL_set_app_data(self->ssl,self);
SSL_set_fd(self->ssl, sock->sock_fd);
+ mode = SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER;
#ifdef SSL_MODE_AUTO_RETRY
- SSL_set_mode(self->ssl, SSL_MODE_AUTO_RETRY);
+ mode |= SSL_MODE_AUTO_RETRY;
#endif
+ SSL_set_mode(self->ssl, mode);
-#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
+#if HAVE_SNI
if (server_hostname != NULL)
SSL_set_tlsext_host_name(self->ssl, server_hostname);
#endif
@@ -1050,6 +1084,24 @@ _decode_certificate(X509 *certificate) {
return NULL;
}
+static PyObject *
+_certificate_to_der(X509 *certificate)
+{
+ unsigned char *bytes_buf = NULL;
+ int len;
+ PyObject *retval;
+
+ bytes_buf = NULL;
+ len = i2d_X509(certificate, &bytes_buf);
+ if (len < 0) {
+ _setSSLError(NULL, 0, __FILE__, __LINE__);
+ return NULL;
+ }
+ /* this is actually an immutable bytes sequence */
+ retval = PyBytes_FromStringAndSize((const char *) bytes_buf, len);
+ OPENSSL_free(bytes_buf);
+ return retval;
+}
static PyObject *
PySSL_test_decode_certificate (PyObject *mod, PyObject *args) {
@@ -1095,8 +1147,6 @@ PySSL_test_decode_certificate (PyObject *mod, PyObject *args) {
static PyObject *
PySSL_peercert(PySSLSocket *self, PyObject *args)
{
- PyObject *retval = NULL;
- int len;
int verification;
int binary_mode = 0;
@@ -1108,21 +1158,7 @@ PySSL_peercert(PySSLSocket *self, PyObject *args)
if (binary_mode) {
/* return cert in DER-encoded format */
-
- unsigned char *bytes_buf = NULL;
-
- bytes_buf = NULL;
- len = i2d_X509(self->peer_cert, &bytes_buf);
- if (len < 0) {
- PySSL_SetError(self, len, __FILE__, __LINE__);
- return NULL;
- }
- /* this is actually an immutable bytes sequence */
- retval = PyBytes_FromStringAndSize
- ((const char *) bytes_buf, len);
- OPENSSL_free(bytes_buf);
- return retval;
-
+ return _certificate_to_der(self->peer_cert);
} else {
verification = SSL_CTX_get_verify_mode(SSL_get_SSL_CTX(self->ssl));
if ((verification & SSL_VERIFY_PEER) == 0)
@@ -1225,6 +1261,43 @@ static PyObject *PySSL_compression(PySSLSocket *self) {
#endif
}
+static PySSLContext *PySSL_get_context(PySSLSocket *self, void *closure) {
+ Py_INCREF(self->ctx);
+ return self->ctx;
+}
+
+static int PySSL_set_context(PySSLSocket *self, PyObject *value,
+ void *closure) {
+
+ if (PyObject_TypeCheck(value, &PySSLContext_Type)) {
+#if !HAVE_SNI
+ PyErr_SetString(PyExc_NotImplementedError, "setting a socket's "
+ "context is not supported by your OpenSSL library");
+ return -1;
+#else
+ Py_INCREF(value);
+ Py_DECREF(self->ctx);
+ self->ctx = (PySSLContext *) value;
+ SSL_set_SSL_CTX(self->ssl, self->ctx->ctx);
+#endif
+ } else {
+ PyErr_SetString(PyExc_TypeError, "The value must be a SSLContext");
+ return -1;
+ }
+
+ return 0;
+}
+
+PyDoc_STRVAR(PySSL_set_context_doc,
+"_setter_context(ctx)\n\
+\
+This changes the context associated with the SSLSocket. This is typically\n\
+used from within a callback function set by the set_servername_callback\n\
+on the SSLContext to change the certificate information associated with the\n\
+SSLSocket before the cryptographic exchange handshake messages\n");
+
+
+
static void PySSL_dealloc(PySSLSocket *self)
{
if (self->peer_cert) /* Possible not to have one? */
@@ -1232,6 +1305,7 @@ static void PySSL_dealloc(PySSLSocket *self)
if (self->ssl)
SSL_free(self->ssl);
Py_XDECREF(self->Socket);
+ Py_XDECREF(self->ctx);
PyObject_Del(self);
}
@@ -1672,6 +1746,12 @@ If the TLS handshake is not yet complete, None is returned");
#endif /* HAVE_OPENSSL_FINISHED */
+static PyGetSetDef ssl_getsetlist[] = {
+ {"context", (getter) PySSL_get_context,
+ (setter) PySSL_set_context, PySSL_set_context_doc},
+ {NULL}, /* sentinel */
+};
+
static PyMethodDef PySSLMethods[] = {
{"do_handshake", (PyCFunction)PySSL_SSLdo_handshake, METH_NOARGS},
{"write", (PyCFunction)PySSL_SSLwrite, METH_VARARGS,
@@ -1726,6 +1806,8 @@ static PyTypeObject PySSLSocket_Type = {
0, /*tp_iter*/
0, /*tp_iternext*/
PySSLMethods, /*tp_methods*/
+ 0, /*tp_members*/
+ ssl_getsetlist, /*tp_getset*/
};
@@ -1749,6 +1831,12 @@ context_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
PySSL_BEGIN_ALLOW_THREADS
if (proto_version == PY_SSL_VERSION_TLS1)
ctx = SSL_CTX_new(TLSv1_method());
+#if HAVE_TLSv1_2
+ else if (proto_version == PY_SSL_VERSION_TLS1_1)
+ ctx = SSL_CTX_new(TLSv1_1_method());
+ else if (proto_version == PY_SSL_VERSION_TLS1_2)
+ ctx = SSL_CTX_new(TLSv1_2_method());
+#endif
else if (proto_version == PY_SSL_VERSION_SSL3)
ctx = SSL_CTX_new(SSLv3_method());
#ifndef OPENSSL_NO_SSL2
@@ -1782,6 +1870,9 @@ context_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
#ifdef OPENSSL_NPN_NEGOTIATED
self->npn_protocols = NULL;
#endif
+#ifndef OPENSSL_NO_TLSEXT
+ self->set_hostname = NULL;
+#endif
/* Defaults */
SSL_CTX_set_verify(self->ctx, SSL_VERIFY_NONE, NULL);
SSL_CTX_set_options(self->ctx,
@@ -1795,9 +1886,28 @@ context_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return (PyObject *)self;
}
+static int
+context_traverse(PySSLContext *self, visitproc visit, void *arg)
+{
+#ifndef OPENSSL_NO_TLSEXT
+ Py_VISIT(self->set_hostname);
+#endif
+ return 0;
+}
+
+static int
+context_clear(PySSLContext *self)
+{
+#ifndef OPENSSL_NO_TLSEXT
+ Py_CLEAR(self->set_hostname);
+#endif
+ return 0;
+}
+
static void
context_dealloc(PySSLContext *self)
{
+ context_clear(self);
SSL_CTX_free(self->ctx);
#ifdef OPENSSL_NPN_NEGOTIATED
PyMem_Free(self->npn_protocols);
@@ -2021,8 +2131,8 @@ _pwinfo_set(_PySSLPasswordInfo *pw_info, PyObject* password,
goto error;
}
- free(pw_info->password);
- pw_info->password = malloc(size);
+ PyMem_Free(pw_info->password);
+ pw_info->password = PyMem_Malloc(size);
if (!pw_info->password) {
PyErr_SetString(PyExc_MemoryError,
"unable to allocate password buffer");
@@ -2166,13 +2276,13 @@ load_cert_chain(PySSLContext *self, PyObject *args, PyObject *kwds)
}
SSL_CTX_set_default_passwd_cb(self->ctx, orig_passwd_cb);
SSL_CTX_set_default_passwd_cb_userdata(self->ctx, orig_passwd_userdata);
- free(pw_info.password);
+ PyMem_Free(pw_info.password);
Py_RETURN_NONE;
error:
SSL_CTX_set_default_passwd_cb(self->ctx, orig_passwd_cb);
SSL_CTX_set_default_passwd_cb_userdata(self->ctx, orig_passwd_userdata);
- free(pw_info.password);
+ PyMem_Free(pw_info.password);
Py_XDECREF(keyfile_bytes);
Py_XDECREF(certfile_bytes);
return NULL;
@@ -2288,7 +2398,7 @@ context_wrap_socket(PySSLContext *self, PyObject *args, PyObject *kwds)
&sock, &server_side,
"idna", &hostname))
return NULL;
-#ifndef SSL_CTRL_SET_TLSEXT_HOSTNAME
+#if !HAVE_SNI
PyMem_Free(hostname);
PyErr_SetString(PyExc_ValueError, "server_hostname is not supported "
"by your OpenSSL library");
@@ -2296,7 +2406,7 @@ context_wrap_socket(PySSLContext *self, PyObject *args, PyObject *kwds)
#endif
}
- res = (PyObject *) newPySSLSocket(self->ctx, sock, server_side,
+ res = (PyObject *) newPySSLSocket(self, sock, server_side,
hostname);
if (hostname != NULL)
PyMem_Free(hostname);
@@ -2381,6 +2491,248 @@ set_ecdh_curve(PySSLContext *self, PyObject *name)
}
#endif
+#if HAVE_SNI && !defined(OPENSSL_NO_TLSEXT)
+static int
+_servername_callback(SSL *s, int *al, void *args)
+{
+ int ret;
+ PySSLContext *ssl_ctx = (PySSLContext *) args;
+ PySSLSocket *ssl;
+ PyObject *servername_o;
+ PyObject *servername_idna;
+ PyObject *result;
+ /* The high-level ssl.SSLSocket object */
+ PyObject *ssl_socket;
+ const char *servername = SSL_get_servername(s, TLSEXT_NAMETYPE_host_name);
+#ifdef WITH_THREAD
+ PyGILState_STATE gstate = PyGILState_Ensure();
+#endif
+
+ if (ssl_ctx->set_hostname == NULL) {
+ /* remove race condition in this the call back while if removing the
+ * callback is in progress */
+#ifdef WITH_THREAD
+ PyGILState_Release(gstate);
+#endif
+ return SSL_TLSEXT_ERR_OK;
+ }
+
+ ssl = SSL_get_app_data(s);
+ assert(PySSLSocket_Check(ssl));
+ ssl_socket = PyWeakref_GetObject(ssl->Socket);
+ Py_INCREF(ssl_socket);
+ if (ssl_socket == Py_None) {
+ goto error;
+ }
+
+ if (servername == NULL) {
+ result = PyObject_CallFunctionObjArgs(ssl_ctx->set_hostname, ssl_socket,
+ Py_None, ssl_ctx, NULL);
+ }
+ else {
+ servername_o = PyBytes_FromString(servername);
+ if (servername_o == NULL) {
+ PyErr_WriteUnraisable((PyObject *) ssl_ctx);
+ goto error;
+ }
+ servername_idna = PyUnicode_FromEncodedObject(servername_o, "idna", NULL);
+ if (servername_idna == NULL) {
+ PyErr_WriteUnraisable(servername_o);
+ Py_DECREF(servername_o);
+ goto error;
+ }
+ Py_DECREF(servername_o);
+ result = PyObject_CallFunctionObjArgs(ssl_ctx->set_hostname, ssl_socket,
+ servername_idna, ssl_ctx, NULL);
+ Py_DECREF(servername_idna);
+ }
+ Py_DECREF(ssl_socket);
+
+ if (result == NULL) {
+ PyErr_WriteUnraisable(ssl_ctx->set_hostname);
+ *al = SSL_AD_HANDSHAKE_FAILURE;
+ ret = SSL_TLSEXT_ERR_ALERT_FATAL;
+ }
+ else {
+ if (result != Py_None) {
+ *al = (int) PyLong_AsLong(result);
+ if (PyErr_Occurred()) {
+ PyErr_WriteUnraisable(result);
+ *al = SSL_AD_INTERNAL_ERROR;
+ }
+ ret = SSL_TLSEXT_ERR_ALERT_FATAL;
+ }
+ else {
+ ret = SSL_TLSEXT_ERR_OK;
+ }
+ Py_DECREF(result);
+ }
+
+#ifdef WITH_THREAD
+ PyGILState_Release(gstate);
+#endif
+ return ret;
+
+error:
+ Py_DECREF(ssl_socket);
+ *al = SSL_AD_INTERNAL_ERROR;
+ ret = SSL_TLSEXT_ERR_ALERT_FATAL;
+#ifdef WITH_THREAD
+ PyGILState_Release(gstate);
+#endif
+ return ret;
+}
+#endif
+
+PyDoc_STRVAR(PySSL_set_servername_callback_doc,
+"set_servername_callback(method)\n\
+\n\
+This sets a callback that will be called when a server name is provided by\n\
+the SSL/TLS client in the SNI extension.\n\
+\n\
+If the argument is None then the callback is disabled. The method is called\n\
+with the SSLSocket, the server name as a string, and the SSLContext object.\n\
+See RFC 6066 for details of the SNI extension.");
+
+static PyObject *
+set_servername_callback(PySSLContext *self, PyObject *args)
+{
+#if HAVE_SNI && !defined(OPENSSL_NO_TLSEXT)
+ PyObject *cb;
+
+ if (!PyArg_ParseTuple(args, "O", &cb))
+ return NULL;
+
+ Py_CLEAR(self->set_hostname);
+ if (cb == Py_None) {
+ SSL_CTX_set_tlsext_servername_callback(self->ctx, NULL);
+ }
+ else {
+ if (!PyCallable_Check(cb)) {
+ SSL_CTX_set_tlsext_servername_callback(self->ctx, NULL);
+ PyErr_SetString(PyExc_TypeError,
+ "not a callable object");
+ return NULL;
+ }
+ Py_INCREF(cb);
+ self->set_hostname = cb;
+ SSL_CTX_set_tlsext_servername_callback(self->ctx, _servername_callback);
+ SSL_CTX_set_tlsext_servername_arg(self->ctx, self);
+ }
+ Py_RETURN_NONE;
+#else
+ PyErr_SetString(PyExc_NotImplementedError,
+ "The TLS extension servername callback, "
+ "SSL_CTX_set_tlsext_servername_callback, "
+ "is not in the current OpenSSL library.");
+ return NULL;
+#endif
+}
+
+PyDoc_STRVAR(PySSL_get_stats_doc,
+"cert_store_stats() -> {'crl': int, 'x509_ca': int, 'x509': int}\n\
+\n\
+Returns quantities of loaded X.509 certificates. X.509 certificates with a\n\
+CA extension and certificate revocation lists inside the context's cert\n\
+store.\n\
+NOTE: Certificates in a capath directory aren't loaded unless they have\n\
+been used at least once.");
+
+static PyObject *
+cert_store_stats(PySSLContext *self)
+{
+ X509_STORE *store;
+ X509_OBJECT *obj;
+ int x509 = 0, crl = 0, pkey = 0, ca = 0, i;
+
+ store = SSL_CTX_get_cert_store(self->ctx);
+ for (i = 0; i < sk_X509_OBJECT_num(store->objs); i++) {
+ obj = sk_X509_OBJECT_value(store->objs, i);
+ switch (obj->type) {
+ case X509_LU_X509:
+ x509++;
+ if (X509_check_ca(obj->data.x509)) {
+ ca++;
+ }
+ break;
+ case X509_LU_CRL:
+ crl++;
+ break;
+ case X509_LU_PKEY:
+ pkey++;
+ break;
+ default:
+ /* Ignore X509_LU_FAIL, X509_LU_RETRY, X509_LU_PKEY.
+ * As far as I can tell they are internal states and never
+ * stored in a cert store */
+ break;
+ }
+ }
+ return Py_BuildValue("{sisisi}", "x509", x509, "crl", crl,
+ "x509_ca", ca);
+}
+
+PyDoc_STRVAR(PySSL_get_ca_certs_doc,
+"get_ca_certs([der=False]) -> list of loaded certificate\n\
+\n\
+Returns a list of dicts with information of loaded CA certs. If the\n\
+optional argument is True, returns a DER-encoded copy of the CA certificate.\n\
+NOTE: Certificates in a capath directory aren't loaded unless they have\n\
+been used at least once.");
+
+static PyObject *
+get_ca_certs(PySSLContext *self, PyObject *args)
+{
+ X509_STORE *store;
+ PyObject *ci = NULL, *rlist = NULL;
+ int i;
+ int binary_mode = 0;
+
+ if (!PyArg_ParseTuple(args, "|p:get_ca_certs", &binary_mode)) {
+ return NULL;
+ }
+
+ if ((rlist = PyList_New(0)) == NULL) {
+ return NULL;
+ }
+
+ store = SSL_CTX_get_cert_store(self->ctx);
+ for (i = 0; i < sk_X509_OBJECT_num(store->objs); i++) {
+ X509_OBJECT *obj;
+ X509 *cert;
+
+ obj = sk_X509_OBJECT_value(store->objs, i);
+ if (obj->type != X509_LU_X509) {
+ /* not a x509 cert */
+ continue;
+ }
+ /* CA for any purpose */
+ cert = obj->data.x509;
+ if (!X509_check_ca(cert)) {
+ continue;
+ }
+ if (binary_mode) {
+ ci = _certificate_to_der(cert);
+ } else {
+ ci = _decode_certificate(cert);
+ }
+ if (ci == NULL) {
+ goto error;
+ }
+ if (PyList_Append(rlist, ci) == -1) {
+ goto error;
+ }
+ Py_CLEAR(ci);
+ }
+ return rlist;
+
+ error:
+ Py_XDECREF(ci);
+ Py_XDECREF(rlist);
+ return NULL;
+}
+
+
static PyGetSetDef context_getsetlist[] = {
{"options", (getter) get_options,
(setter) set_options, NULL},
@@ -2410,6 +2762,12 @@ static struct PyMethodDef context_methods[] = {
{"set_ecdh_curve", (PyCFunction) set_ecdh_curve,
METH_O, NULL},
#endif
+ {"set_servername_callback", (PyCFunction) set_servername_callback,
+ METH_VARARGS, PySSL_set_servername_callback_doc},
+ {"cert_store_stats", (PyCFunction) cert_store_stats,
+ METH_NOARGS, PySSL_get_stats_doc},
+ {"get_ca_certs", (PyCFunction) get_ca_certs,
+ METH_VARARGS, PySSL_get_ca_certs_doc},
{NULL, NULL} /* sentinel */
};
@@ -2433,10 +2791,10 @@ static PyTypeObject PySSLContext_Type = {
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC, /*tp_flags*/
0, /*tp_doc*/
- 0, /*tp_traverse*/
- 0, /*tp_clear*/
+ (traverseproc) context_traverse, /*tp_traverse*/
+ (inquiry) context_clear, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
@@ -2644,7 +3002,169 @@ PySSL_RAND_atfork(void)
#endif /* HAVE_OPENSSL_RAND */
+PyDoc_STRVAR(PySSL_get_default_verify_paths_doc,
+"get_default_verify_paths() -> tuple\n\
+\n\
+Return search paths and environment vars that are used by SSLContext's\n\
+set_default_verify_paths() to load default CAs. The values are\n\
+'cert_file_env', 'cert_file', 'cert_dir_env', 'cert_dir'.");
+
+static PyObject *
+PySSL_get_default_verify_paths(PyObject *self)
+{
+ PyObject *ofile_env = NULL;
+ PyObject *ofile = NULL;
+ PyObject *odir_env = NULL;
+ PyObject *odir = NULL;
+
+#define convert(info, target) { \
+ const char *tmp = (info); \
+ target = NULL; \
+ if (!tmp) { Py_INCREF(Py_None); target = Py_None; } \
+ else if ((target = PyUnicode_DecodeFSDefault(tmp)) == NULL) { \
+ target = PyBytes_FromString(tmp); } \
+ if (!target) goto error; \
+ } while(0)
+
+ convert(X509_get_default_cert_file_env(), ofile_env);
+ convert(X509_get_default_cert_file(), ofile);
+ convert(X509_get_default_cert_dir_env(), odir_env);
+ convert(X509_get_default_cert_dir(), odir);
+#undef convert
+
+ return Py_BuildValue("NNNN", ofile_env, ofile, odir_env, odir);
+
+ error:
+ Py_XDECREF(ofile_env);
+ Py_XDECREF(ofile);
+ Py_XDECREF(odir_env);
+ Py_XDECREF(odir);
+ return NULL;
+}
+#ifdef _MSC_VER
+PyDoc_STRVAR(PySSL_enum_cert_store_doc,
+"enum_cert_store(store_name, cert_type='certificate') -> []\n\
+\n\
+Retrieve certificates from Windows' cert store. store_name may be one of\n\
+'CA', 'ROOT' or 'MY'. The system may provide more cert storages, too.\n\
+cert_type must be either 'certificate' or 'crl'.\n\
+The function returns a list of (bytes, encoding_type) tuples. The\n\
+encoding_type flag can be interpreted with X509_ASN_ENCODING or\n\
+PKCS_7_ASN_ENCODING.");
+
+static PyObject *
+PySSL_enum_cert_store(PyObject *self, PyObject *args, PyObject *kwds)
+{
+ char *kwlist[] = {"store_name", "cert_type", NULL};
+ char *store_name;
+ char *cert_type = "certificate";
+ HCERTSTORE hStore = NULL;
+ PyObject *result = NULL;
+ PyObject *tup = NULL, *cert = NULL, *enc = NULL;
+ int ok = 1;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|s:enum_cert_store",
+ kwlist, &store_name, &cert_type)) {
+ return NULL;
+ }
+
+ if ((strcmp(cert_type, "certificate") != 0) &&
+ (strcmp(cert_type, "crl") != 0)) {
+ return PyErr_Format(PyExc_ValueError,
+ "cert_type must be 'certificate' or 'crl', "
+ "not %.100s", cert_type);
+ }
+
+ if ((result = PyList_New(0)) == NULL) {
+ return NULL;
+ }
+
+ if ((hStore = CertOpenSystemStore((HCRYPTPROV)NULL, store_name)) == NULL) {
+ Py_DECREF(result);
+ return PyErr_SetFromWindowsErr(GetLastError());
+ }
+
+ if (strcmp(cert_type, "certificate") == 0) {
+ PCCERT_CONTEXT pCertCtx = NULL;
+ while (pCertCtx = CertEnumCertificatesInStore(hStore, pCertCtx)) {
+ cert = PyBytes_FromStringAndSize((const char*)pCertCtx->pbCertEncoded,
+ pCertCtx->cbCertEncoded);
+ if (!cert) {
+ ok = 0;
+ break;
+ }
+ if ((enc = PyLong_FromLong(pCertCtx->dwCertEncodingType)) == NULL) {
+ ok = 0;
+ break;
+ }
+ if ((tup = PyTuple_New(2)) == NULL) {
+ ok = 0;
+ break;
+ }
+ PyTuple_SET_ITEM(tup, 0, cert); cert = NULL;
+ PyTuple_SET_ITEM(tup, 1, enc); enc = NULL;
+
+ if (PyList_Append(result, tup) < 0) {
+ ok = 0;
+ break;
+ }
+ Py_CLEAR(tup);
+ }
+ if (pCertCtx) {
+ /* loop ended with an error, need to clean up context manually */
+ CertFreeCertificateContext(pCertCtx);
+ }
+ } else {
+ PCCRL_CONTEXT pCrlCtx = NULL;
+ while (pCrlCtx = CertEnumCRLsInStore(hStore, pCrlCtx)) {
+ cert = PyBytes_FromStringAndSize((const char*)pCrlCtx->pbCrlEncoded,
+ pCrlCtx->cbCrlEncoded);
+ if (!cert) {
+ ok = 0;
+ break;
+ }
+ if ((enc = PyLong_FromLong(pCrlCtx->dwCertEncodingType)) == NULL) {
+ ok = 0;
+ break;
+ }
+ if ((tup = PyTuple_New(2)) == NULL) {
+ ok = 0;
+ break;
+ }
+ PyTuple_SET_ITEM(tup, 0, cert); cert = NULL;
+ PyTuple_SET_ITEM(tup, 1, enc); enc = NULL;
+
+ if (PyList_Append(result, tup) < 0) {
+ ok = 0;
+ break;
+ }
+ Py_CLEAR(tup);
+ }
+ if (pCrlCtx) {
+ /* loop ended with an error, need to clean up context manually */
+ CertFreeCRLContext(pCrlCtx);
+ }
+ }
+
+ /* In error cases cert, enc and tup may not be NULL */
+ Py_XDECREF(cert);
+ Py_XDECREF(enc);
+ Py_XDECREF(tup);
+
+ if (!CertCloseStore(hStore, 0)) {
+ /* This error case might shadow another exception.*/
+ Py_DECREF(result);
+ return PyErr_SetFromWindowsErr(GetLastError());
+ }
+ if (ok) {
+ return result;
+ } else {
+ Py_DECREF(result);
+ return NULL;
+ }
+}
+#endif
/* List of functions exported by this module. */
@@ -2663,6 +3183,12 @@ static PyMethodDef PySSL_methods[] = {
{"RAND_status", (PyCFunction)PySSL_RAND_status, METH_NOARGS,
PySSL_RAND_status_doc},
#endif
+ {"get_default_verify_paths", (PyCFunction)PySSL_get_default_verify_paths,
+ METH_NOARGS, PySSL_get_default_verify_paths_doc},
+#ifdef _MSC_VER
+ {"enum_cert_store", (PyCFunction)PySSL_enum_cert_store,
+ METH_VARARGS | METH_KEYWORDS, PySSL_enum_cert_store_doc},
+#endif
{NULL, NULL} /* Sentinel */
};
@@ -2724,7 +3250,7 @@ static int _setup_ssl_threads(void) {
if (_ssl_locks == NULL) {
_ssl_locks_count = CRYPTO_num_locks();
_ssl_locks = (PyThread_type_lock *)
- malloc(sizeof(PyThread_type_lock) * _ssl_locks_count);
+ PyMem_Malloc(sizeof(PyThread_type_lock) * _ssl_locks_count);
if (_ssl_locks == NULL)
return 0;
memset(_ssl_locks, 0,
@@ -2736,7 +3262,7 @@ static int _setup_ssl_threads(void) {
for (j = 0; j < i; j++) {
PyThread_free_lock(_ssl_locks[j]);
}
- free(_ssl_locks);
+ PyMem_Free(_ssl_locks);
return 0;
}
}
@@ -2891,6 +3417,63 @@ PyInit__ssl(void)
PyModule_AddIntConstant(m, "CERT_REQUIRED",
PY_SSL_CERT_REQUIRED);
+#ifdef _MSC_VER
+ /* Windows dwCertEncodingType */
+ PyModule_AddIntMacro(m, X509_ASN_ENCODING);
+ PyModule_AddIntMacro(m, PKCS_7_ASN_ENCODING);
+#endif
+
+ /* Alert Descriptions from ssl.h */
+ /* note RESERVED constants no longer intended for use have been removed */
+ /* http://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-6 */
+
+#define ADD_AD_CONSTANT(s) \
+ PyModule_AddIntConstant(m, "ALERT_DESCRIPTION_"#s, \
+ SSL_AD_##s)
+
+ ADD_AD_CONSTANT(CLOSE_NOTIFY);
+ ADD_AD_CONSTANT(UNEXPECTED_MESSAGE);
+ ADD_AD_CONSTANT(BAD_RECORD_MAC);
+ ADD_AD_CONSTANT(RECORD_OVERFLOW);
+ ADD_AD_CONSTANT(DECOMPRESSION_FAILURE);
+ ADD_AD_CONSTANT(HANDSHAKE_FAILURE);
+ ADD_AD_CONSTANT(BAD_CERTIFICATE);
+ ADD_AD_CONSTANT(UNSUPPORTED_CERTIFICATE);
+ ADD_AD_CONSTANT(CERTIFICATE_REVOKED);
+ ADD_AD_CONSTANT(CERTIFICATE_EXPIRED);
+ ADD_AD_CONSTANT(CERTIFICATE_UNKNOWN);
+ ADD_AD_CONSTANT(ILLEGAL_PARAMETER);
+ ADD_AD_CONSTANT(UNKNOWN_CA);
+ ADD_AD_CONSTANT(ACCESS_DENIED);
+ ADD_AD_CONSTANT(DECODE_ERROR);
+ ADD_AD_CONSTANT(DECRYPT_ERROR);
+ ADD_AD_CONSTANT(PROTOCOL_VERSION);
+ ADD_AD_CONSTANT(INSUFFICIENT_SECURITY);
+ ADD_AD_CONSTANT(INTERNAL_ERROR);
+ ADD_AD_CONSTANT(USER_CANCELLED);
+ ADD_AD_CONSTANT(NO_RENEGOTIATION);
+ /* Not all constants are in old OpenSSL versions */
+#ifdef SSL_AD_UNSUPPORTED_EXTENSION
+ ADD_AD_CONSTANT(UNSUPPORTED_EXTENSION);
+#endif
+#ifdef SSL_AD_CERTIFICATE_UNOBTAINABLE
+ ADD_AD_CONSTANT(CERTIFICATE_UNOBTAINABLE);
+#endif
+#ifdef SSL_AD_UNRECOGNIZED_NAME
+ ADD_AD_CONSTANT(UNRECOGNIZED_NAME);
+#endif
+#ifdef SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE
+ ADD_AD_CONSTANT(BAD_CERTIFICATE_STATUS_RESPONSE);
+#endif
+#ifdef SSL_AD_BAD_CERTIFICATE_HASH_VALUE
+ ADD_AD_CONSTANT(BAD_CERTIFICATE_HASH_VALUE);
+#endif
+#ifdef SSL_AD_UNKNOWN_PSK_IDENTITY
+ ADD_AD_CONSTANT(UNKNOWN_PSK_IDENTITY);
+#endif
+
+#undef ADD_AD_CONSTANT
+
/* protocol versions */
#ifndef OPENSSL_NO_SSL2
PyModule_AddIntConstant(m, "PROTOCOL_SSLv2",
@@ -2902,6 +3485,12 @@ PyInit__ssl(void)
PY_SSL_VERSION_SSL23);
PyModule_AddIntConstant(m, "PROTOCOL_TLSv1",
PY_SSL_VERSION_TLS1);
+#if HAVE_TLSv1_2
+ PyModule_AddIntConstant(m, "PROTOCOL_TLSv1_1",
+ PY_SSL_VERSION_TLS1_1);
+ PyModule_AddIntConstant(m, "PROTOCOL_TLSv1_2",
+ PY_SSL_VERSION_TLS1_2);
+#endif
/* protocol options */
PyModule_AddIntConstant(m, "OP_ALL",
@@ -2909,6 +3498,10 @@ PyInit__ssl(void)
PyModule_AddIntConstant(m, "OP_NO_SSLv2", SSL_OP_NO_SSLv2);
PyModule_AddIntConstant(m, "OP_NO_SSLv3", SSL_OP_NO_SSLv3);
PyModule_AddIntConstant(m, "OP_NO_TLSv1", SSL_OP_NO_TLSv1);
+#if HAVE_TLSv1_2
+ PyModule_AddIntConstant(m, "OP_NO_TLSv1_1", SSL_OP_NO_TLSv1_1);
+ PyModule_AddIntConstant(m, "OP_NO_TLSv1_2", SSL_OP_NO_TLSv1_2);
+#endif
PyModule_AddIntConstant(m, "OP_CIPHER_SERVER_PREFERENCE",
SSL_OP_CIPHER_SERVER_PREFERENCE);
PyModule_AddIntConstant(m, "OP_SINGLE_DH_USE", SSL_OP_SINGLE_DH_USE);
@@ -2920,7 +3513,7 @@ PyInit__ssl(void)
SSL_OP_NO_COMPRESSION);
#endif
-#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
+#if HAVE_SNI
r = Py_True;
#else
r = Py_False;
diff --git a/Modules/_stat.c b/Modules/_stat.c
new file mode 100644
index 0000000000..a301fa8840
--- /dev/null
+++ b/Modules/_stat.c
@@ -0,0 +1,563 @@
+/* stat.h interface
+ *
+ * The module defines all S_IF*, S_I*, UF_*, SF_* and ST_* constants to
+ * sensible default values as well as defines S_IS*() macros in order to keep
+ * backward compatibility with the old stat.py module.
+ *
+ * New constants and macros such as S_IFDOOR / S_ISDOOR() are always defined
+ * as int 0.
+ *
+ * NOTE: POSIX only defines the values of the S_I* permission bits.
+ *
+ */
+
+#define PY_SSIZE_T_CLEAN
+#include "Python.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif /* HAVE_SYS_TYPES_H */
+
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif /* HAVE_SYS_STAT_H */
+
+#ifdef MS_WINDOWS
+typedef unsigned short mode_t;
+#endif
+
+/* From Python's stat.py */
+#ifndef S_IMODE
+# define S_IMODE 07777
+#endif
+
+/* S_IFXXX constants (file types)
+ *
+ * Only the names are defined by POSIX but not their value. All common file
+ * types seems to have the same numeric value on all platforms, though.
+ *
+ * pyport.h guarantees S_IFMT, S_IFDIR, S_IFCHR, S_IFREG and S_IFLNK
+ */
+
+#ifndef S_IFBLK
+# define S_IFBLK 0060000
+#endif
+
+#ifndef S_IFIFO
+# define S_IFIFO 0010000
+#endif
+
+#ifndef S_IFSOCK
+# define S_IFSOCK 0140000
+#endif
+
+#ifndef S_IFDOOR
+# define S_IFDOOR 0
+#endif
+
+#ifndef S_IFPORT
+# define S_IFPORT 0
+#endif
+
+#ifndef S_IFWHT
+# define S_IFWHT 0
+#endif
+
+
+/* S_ISXXX()
+ * pyport.h defines S_ISDIR(), S_ISREG() and S_ISCHR()
+ */
+
+#ifndef S_ISBLK
+# define S_ISBLK(mode) (((mode) & S_IFMT) == S_IFBLK)
+#endif
+
+#ifndef S_ISFIFO
+# define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFIFO)
+#endif
+
+#ifndef S_ISLNK
+# define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)
+#endif
+
+#ifndef S_ISSOCK
+# define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK)
+#endif
+
+#ifndef S_ISDOOR
+# define S_ISDOOR(mode) 0
+#endif
+
+#ifndef S_ISPORT
+# define S_ISPORT(mode) 0
+#endif
+
+#ifndef S_ISWHT
+# define S_ISWHT(mode) 0
+#endif
+
+
+/* S_I* file permission
+ *
+ * The permission bit value are defined by POSIX standards.
+ */
+#ifndef S_ISUID
+# define S_ISUID 04000
+#endif
+
+#ifndef S_ISGID
+# define S_ISGID 02000
+#endif
+
+/* what is S_ENFMT? */
+#ifndef S_ENFMT
+# define S_ENFMT S_ISGID
+#endif
+
+#ifndef S_ISVTX
+# define S_ISVTX 01000
+#endif
+
+#ifndef S_IREAD
+# define S_IREAD 00400
+#endif
+
+#ifndef S_IWRITE
+# define S_IWRITE 00200
+#endif
+
+#ifndef S_IEXEC
+# define S_IEXEC 00100
+#endif
+
+#ifndef S_IRWXU
+# define S_IRWXU 00700
+#endif
+
+#ifndef S_IRUSR
+# define S_IRUSR 00400
+#endif
+
+#ifndef S_IWUSR
+# define S_IWUSR 00200
+#endif
+
+#ifndef S_IXUSR
+# define S_IXUSR 00100
+#endif
+
+#ifndef S_IRWXG
+# define S_IRWXG 00070
+#endif
+
+#ifndef S_IRGRP
+# define S_IRGRP 00040
+#endif
+
+#ifndef S_IWGRP
+# define S_IWGRP 00020
+#endif
+
+#ifndef S_IXGRP
+# define S_IXGRP 00010
+#endif
+
+#ifndef S_IRWXO
+# define S_IRWXO 00007
+#endif
+
+#ifndef S_IROTH
+# define S_IROTH 00004
+#endif
+
+#ifndef S_IWOTH
+# define S_IWOTH 00002
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 00001
+#endif
+
+
+/* Names for file flags */
+#ifndef UF_NODUMP
+# define UF_NODUMP 0x00000001
+#endif
+
+#ifndef UF_IMMUTABLE
+# define UF_IMMUTABLE 0x00000002
+#endif
+
+#ifndef UF_APPEND
+# define UF_APPEND 0x00000004
+#endif
+
+#ifndef UF_OPAQUE
+# define UF_OPAQUE 0x00000008
+#endif
+
+#ifndef UF_NOUNLINK
+# define UF_NOUNLINK 0x00000010
+#endif
+
+#ifndef UF_COMPRESSED
+# define UF_COMPRESSED 0x00000020
+#endif
+
+#ifndef UF_HIDDEN
+# define UF_HIDDEN 0x00008000
+#endif
+
+#ifndef SF_ARCHIVED
+# define SF_ARCHIVED 0x00010000
+#endif
+
+#ifndef SF_IMMUTABLE
+# define SF_IMMUTABLE 0x00020000
+#endif
+
+#ifndef SF_APPEND
+# define SF_APPEND 0x00040000
+#endif
+
+#ifndef SF_NOUNLINK
+# define SF_NOUNLINK 0x00100000
+#endif
+
+#ifndef SF_SNAPSHOT
+# define SF_SNAPSHOT 0x00200000
+#endif
+
+static mode_t
+_PyLong_AsMode_t(PyObject *op)
+{
+ unsigned long value;
+ mode_t mode;
+
+ value = PyLong_AsUnsignedLong(op);
+ if ((value == (unsigned long)-1) && PyErr_Occurred())
+ return (mode_t)-1;
+
+ mode = (mode_t)value;
+ if ((unsigned long)mode != value) {
+ PyErr_SetString(PyExc_OverflowError, "mode out of range");
+ return (mode_t)-1;
+ }
+ return mode;
+}
+
+
+#define stat_S_ISFUNC(isfunc, doc) \
+ static PyObject * \
+ stat_ ##isfunc (PyObject *self, PyObject *omode) \
+ { \
+ mode_t mode = _PyLong_AsMode_t(omode); \
+ if ((mode == (mode_t)-1) && PyErr_Occurred()) \
+ return NULL; \
+ return PyBool_FromLong(isfunc(mode)); \
+ } \
+ PyDoc_STRVAR(stat_ ## isfunc ## _doc, doc)
+
+stat_S_ISFUNC(S_ISDIR,
+ "S_ISDIR(mode) -> bool\n\n"
+ "Return True if mode is from a directory.");
+
+stat_S_ISFUNC(S_ISCHR,
+ "S_ISCHR(mode) -> bool\n\n"
+ "Return True if mode is from a character special device file.");
+
+stat_S_ISFUNC(S_ISBLK,
+ "S_ISBLK(mode) -> bool\n\n"
+ "Return True if mode is from a block special device file.");
+
+stat_S_ISFUNC(S_ISREG,
+ "S_ISREG(mode) -> bool\n\n"
+ "Return True if mode is from a regular file.");
+
+stat_S_ISFUNC(S_ISFIFO,
+ "S_ISFIFO(mode) -> bool\n\n"
+ "Return True if mode is from a FIFO (named pipe).");
+
+stat_S_ISFUNC(S_ISLNK,
+ "S_ISLNK(mode) -> bool\n\n"
+ "Return True if mode is from a symbolic link.");
+
+stat_S_ISFUNC(S_ISSOCK,
+ "S_ISSOCK(mode) -> bool\n\n"
+ "Return True if mode is from a socket.");
+
+stat_S_ISFUNC(S_ISDOOR,
+ "S_ISDOOR(mode) -> bool\n\n"
+ "Return True if mode is from a door.");
+
+stat_S_ISFUNC(S_ISPORT,
+ "S_ISPORT(mode) -> bool\n\n"
+ "Return True if mode is from an event port.");
+
+stat_S_ISFUNC(S_ISWHT,
+ "S_ISWHT(mode) -> bool\n\n"
+ "Return True if mode is from a whiteout.");
+
+
+PyDoc_STRVAR(stat_S_IMODE_doc,
+"Return the portion of the file's mode that can be set by os.chmod().");
+
+static PyObject *
+stat_S_IMODE(PyObject *self, PyObject *omode)
+{
+ mode_t mode = _PyLong_AsMode_t(omode);
+ if ((mode == (mode_t)-1) && PyErr_Occurred())
+ return NULL;
+ return PyLong_FromUnsignedLong(mode & S_IMODE);
+}
+
+
+PyDoc_STRVAR(stat_S_IFMT_doc,
+"Return the portion of the file's mode that describes the file type.");
+
+static PyObject *
+stat_S_IFMT(PyObject *self, PyObject *omode)
+{
+ mode_t mode = _PyLong_AsMode_t(omode);
+ if ((mode == (mode_t)-1) && PyErr_Occurred())
+ return NULL;
+ return PyLong_FromUnsignedLong(mode & S_IFMT);
+}
+
+/* file type chars according to
+ http://en.wikibooks.org/wiki/C_Programming/POSIX_Reference/sys/stat.h */
+
+static char
+filetype(mode_t mode)
+{
+ /* common cases first */
+ if (S_ISREG(mode)) return '-';
+ if (S_ISDIR(mode)) return 'd';
+ if (S_ISLNK(mode)) return 'l';
+ /* special files */
+ if (S_ISBLK(mode)) return 'b';
+ if (S_ISCHR(mode)) return 'c';
+ if (S_ISFIFO(mode)) return 'p';
+ if (S_ISSOCK(mode)) return 's';
+ /* non-standard types */
+ if (S_ISDOOR(mode)) return 'D';
+ if (S_ISPORT(mode)) return 'P';
+ if (S_ISWHT(mode)) return 'w';
+ /* unknown */
+ return '?';
+}
+
+static void
+fileperm(mode_t mode, char *buf)
+{
+ buf[0] = mode & S_IRUSR ? 'r' : '-';
+ buf[1] = mode & S_IWUSR ? 'w' : '-';
+ if (mode & S_ISUID) {
+ buf[2] = mode & S_IXUSR ? 's' : 'S';
+ } else {
+ buf[2] = mode & S_IXUSR ? 'x' : '-';
+ }
+ buf[3] = mode & S_IRGRP ? 'r' : '-';
+ buf[4] = mode & S_IWGRP ? 'w' : '-';
+ if (mode & S_ISGID) {
+ buf[5] = mode & S_IXGRP ? 's' : 'S';
+ } else {
+ buf[5] = mode & S_IXGRP ? 'x' : '-';
+ }
+ buf[6] = mode & S_IROTH ? 'r' : '-';
+ buf[7] = mode & S_IWOTH ? 'w' : '-';
+ if (mode & S_ISVTX) {
+ buf[8] = mode & S_IXOTH ? 't' : 'T';
+ } else {
+ buf[8] = mode & S_IXOTH ? 'x' : '-';
+ }
+}
+
+PyDoc_STRVAR(stat_filemode_doc,
+"Convert a file's mode to a string of the form '-rwxrwxrwx'");
+
+static PyObject *
+stat_filemode(PyObject *self, PyObject *omode)
+{
+ char buf[10];
+ mode_t mode;
+
+ mode = _PyLong_AsMode_t(omode);
+ if ((mode == (mode_t)-1) && PyErr_Occurred())
+ return NULL;
+
+ buf[0] = filetype(mode);
+ fileperm(mode, &buf[1]);
+ return PyUnicode_FromStringAndSize(buf, 10);
+}
+
+
+static PyMethodDef stat_methods[] = {
+ {"S_ISDIR", stat_S_ISDIR, METH_O, stat_S_ISDIR_doc},
+ {"S_ISCHR", stat_S_ISCHR, METH_O, stat_S_ISCHR_doc},
+ {"S_ISBLK", stat_S_ISBLK, METH_O, stat_S_ISBLK_doc},
+ {"S_ISREG", stat_S_ISREG, METH_O, stat_S_ISREG_doc},
+ {"S_ISFIFO", stat_S_ISFIFO, METH_O, stat_S_ISFIFO_doc},
+ {"S_ISLNK", stat_S_ISLNK, METH_O, stat_S_ISLNK_doc},
+ {"S_ISSOCK", stat_S_ISSOCK, METH_O, stat_S_ISSOCK_doc},
+ {"S_ISDOOR", stat_S_ISDOOR, METH_O, stat_S_ISDOOR_doc},
+ {"S_ISPORT", stat_S_ISPORT, METH_O, stat_S_ISPORT_doc},
+ {"S_ISWHT", stat_S_ISWHT, METH_O, stat_S_ISWHT_doc},
+ {"S_IMODE", stat_S_IMODE, METH_O, stat_S_IMODE_doc},
+ {"S_IFMT", stat_S_IFMT, METH_O, stat_S_IFMT_doc},
+ {"filemode", stat_filemode, METH_O, stat_filemode_doc},
+ {NULL, NULL} /* sentinel */
+};
+
+
+PyDoc_STRVAR(module_doc,
+"S_IFMT_: file type bits\n\
+S_IFDIR: directory\n\
+S_IFCHR: character device\n\
+S_IFBLK: block device\n\
+S_IFREG: regular file\n\
+S_IFIFO: fifo (named pipe)\n\
+S_IFLNK: symbolic link\n\
+S_IFSOCK: socket file\n\
+S_IFDOOR: door\n\
+S_IFPORT: event port\n\
+S_IFWHT: whiteout\n\
+\n"
+
+"S_ISUID: set UID bit\n\
+S_ISGID: set GID bit\n\
+S_ENFMT: file locking enforcement\n\
+S_ISVTX: sticky bit\n\
+S_IREAD: Unix V7 synonym for S_IRUSR\n\
+S_IWRITE: Unix V7 synonym for S_IWUSR\n\
+S_IEXEC: Unix V7 synonym for S_IXUSR\n\
+S_IRWXU: mask for owner permissions\n\
+S_IRUSR: read by owner\n\
+S_IWUSR: write by owner\n\
+S_IXUSR: execute by owner\n\
+S_IRWXG: mask for group permissions\n\
+S_IRGRP: read by group\n\
+S_IWGRP: write by group\n\
+S_IXGRP: execute by group\n\
+S_IRWXO: mask for others (not in group) permissions\n\
+S_IROTH: read by others\n\
+S_IWOTH: write by others\n\
+S_IXOTH: execute by others\n\
+\n"
+
+"UF_NODUMP: do not dump file\n\
+UF_IMMUTABLE: file may not be changed\n\
+UF_APPEND: file may only be appended to\n\
+UF_OPAQUE: directory is opaque when viewed through a union stack\n\
+UF_NOUNLINK: file may not be renamed or deleted\n\
+UF_COMPRESSED: OS X: file is hfs-compressed\n\
+UF_HIDDEN: OS X: file should not be displayed\n\
+SF_ARCHIVED: file may be archived\n\
+SF_IMMUTABLE: file may not be changed\n\
+SF_APPEND: file may only be appended to\n\
+SF_NOUNLINK: file may not be renamed or deleted\n\
+SF_SNAPSHOT: file is a snapshot file\n\
+\n"
+
+"ST_MODE\n\
+ST_INO\n\
+ST_DEV\n\
+ST_NLINK\n\
+ST_UID\n\
+ST_GID\n\
+ST_SIZE\n\
+ST_ATIME\n\
+ST_MTIME\n\
+ST_CTIME\n\
+");
+
+
+static struct PyModuleDef statmodule = {
+ PyModuleDef_HEAD_INIT,
+ "_stat",
+ module_doc,
+ -1,
+ stat_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+PyMODINIT_FUNC
+PyInit__stat(void)
+{
+ PyObject *m;
+ m = PyModule_Create(&statmodule);
+ if (m == NULL)
+ return NULL;
+
+ if (PyModule_AddIntMacro(m, S_IFDIR)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IFCHR)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IFBLK)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IFREG)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IFIFO)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IFLNK)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IFSOCK)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IFDOOR)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IFPORT)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IFWHT)) return NULL;
+
+ if (PyModule_AddIntMacro(m, S_ISUID)) return NULL;
+ if (PyModule_AddIntMacro(m, S_ISGID)) return NULL;
+ if (PyModule_AddIntMacro(m, S_ISVTX)) return NULL;
+ if (PyModule_AddIntMacro(m, S_ENFMT)) return NULL;
+
+ if (PyModule_AddIntMacro(m, S_IREAD)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IWRITE)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IEXEC)) return NULL;
+
+ if (PyModule_AddIntMacro(m, S_IRWXU)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IRUSR)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IWUSR)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IXUSR)) return NULL;
+
+ if (PyModule_AddIntMacro(m, S_IRWXG)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IRGRP)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IWGRP)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IXGRP)) return NULL;
+
+ if (PyModule_AddIntMacro(m, S_IRWXO)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IROTH)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IWOTH)) return NULL;
+ if (PyModule_AddIntMacro(m, S_IXOTH)) return NULL;
+
+ if (PyModule_AddIntMacro(m, UF_NODUMP)) return NULL;
+ if (PyModule_AddIntMacro(m, UF_IMMUTABLE)) return NULL;
+ if (PyModule_AddIntMacro(m, UF_APPEND)) return NULL;
+ if (PyModule_AddIntMacro(m, UF_OPAQUE)) return NULL;
+ if (PyModule_AddIntMacro(m, UF_NOUNLINK)) return NULL;
+ if (PyModule_AddIntMacro(m, UF_COMPRESSED)) return NULL;
+ if (PyModule_AddIntMacro(m, UF_HIDDEN)) return NULL;
+ if (PyModule_AddIntMacro(m, SF_ARCHIVED)) return NULL;
+ if (PyModule_AddIntMacro(m, SF_IMMUTABLE)) return NULL;
+ if (PyModule_AddIntMacro(m, SF_APPEND)) return NULL;
+ if (PyModule_AddIntMacro(m, SF_NOUNLINK)) return NULL;
+ if (PyModule_AddIntMacro(m, SF_SNAPSHOT)) return NULL;
+
+ if (PyModule_AddIntConstant(m, "ST_MODE", 0)) return NULL;
+ if (PyModule_AddIntConstant(m, "ST_INO", 1)) return NULL;
+ if (PyModule_AddIntConstant(m, "ST_DEV", 2)) return NULL;
+ if (PyModule_AddIntConstant(m, "ST_NLINK", 3)) return NULL;
+ if (PyModule_AddIntConstant(m, "ST_UID", 4)) return NULL;
+ if (PyModule_AddIntConstant(m, "ST_GID", 5)) return NULL;
+ if (PyModule_AddIntConstant(m, "ST_SIZE", 6)) return NULL;
+ if (PyModule_AddIntConstant(m, "ST_ATIME", 7)) return NULL;
+ if (PyModule_AddIntConstant(m, "ST_MTIME", 8)) return NULL;
+ if (PyModule_AddIntConstant(m, "ST_CTIME", 9)) return NULL;
+
+ return m;
+}
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/Modules/_struct.c b/Modules/_struct.c
index 28486140f1..5848b199c0 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -26,6 +26,7 @@ typedef struct _formatcode {
const struct _formatdef *fmtdef;
Py_ssize_t offset;
Py_ssize_t size;
+ Py_ssize_t repeat;
} formatcode;
/* Struct object interface */
@@ -1199,12 +1200,11 @@ whichtable(char **pfmt)
case '!': /* Network byte order is big-endian */
return bigendian_table;
case '=': { /* Host byte order -- different from native in alignment! */
- int n = 1;
- char *p = (char *) &n;
- if (*p == 1)
- return lilendian_table;
- else
- return bigendian_table;
+#if PY_LITTLE_ENDIAN
+ return lilendian_table;
+#else
+ return bigendian_table;
+#endif
}
default:
--*pfmt; /* Back out of pointer increment */
@@ -1248,6 +1248,9 @@ align(Py_ssize_t size, char c, const formatdef *e)
return size;
}
+/*
+ * Struct object implementation.
+ */
/* calculate the size of a format string */
@@ -1261,7 +1264,7 @@ prepare_s(PyStructObject *self)
const char *s;
const char *fmt;
char c;
- Py_ssize_t size, len, num, itemsize;
+ Py_ssize_t size, len, ncodes, num, itemsize;
fmt = PyBytes_AS_STRING(self->s_format);
@@ -1270,6 +1273,7 @@ prepare_s(PyStructObject *self)
s = fmt;
size = 0;
len = 0;
+ ncodes = 0;
while ((c = *s++) != '\0') {
if (Py_ISSPACE(Py_CHARMASK(c)))
continue;
@@ -1299,9 +1303,9 @@ prepare_s(PyStructObject *self)
switch (c) {
case 's': /* fall through */
- case 'p': len++; break;
+ case 'p': len++; ncodes++; break;
case 'x': break;
- default: len += num; break;
+ default: len += num; if (num) ncodes++; break;
}
itemsize = e->size;
@@ -1316,14 +1320,14 @@ prepare_s(PyStructObject *self)
}
/* check for overflow */
- if ((len + 1) > (PY_SSIZE_T_MAX / sizeof(formatcode))) {
+ if ((ncodes + 1) > (PY_SSIZE_T_MAX / sizeof(formatcode))) {
PyErr_NoMemory();
return -1;
}
self->s_size = size;
self->s_len = len;
- codes = PyMem_MALLOC((len + 1) * sizeof(formatcode));
+ codes = PyMem_MALLOC((ncodes + 1) * sizeof(formatcode));
if (codes == NULL) {
PyErr_NoMemory();
return -1;
@@ -1355,23 +1359,24 @@ prepare_s(PyStructObject *self)
codes->offset = size;
codes->size = num;
codes->fmtdef = e;
+ codes->repeat = 1;
codes++;
size += num;
} else if (c == 'x') {
size += num;
- } else {
- while (--num >= 0) {
- codes->offset = size;
- codes->size = e->size;
- codes->fmtdef = e;
- codes++;
- size += e->size;
- }
+ } else if (num) {
+ codes->offset = size;
+ codes->size = e->size;
+ codes->fmtdef = e;
+ codes->repeat = num;
+ codes++;
+ size += e->size * num;
}
}
codes->fmtdef = NULL;
codes->offset = size;
codes->size = 0;
+ codes->repeat = 0;
return 0;
@@ -1460,22 +1465,26 @@ s_unpack_internal(PyStructObject *soself, char *startfrom) {
return NULL;
for (code = soself->s_codes; code->fmtdef != NULL; code++) {
- PyObject *v;
const formatdef *e = code->fmtdef;
const char *res = startfrom + code->offset;
- if (e->format == 's') {
- v = PyBytes_FromStringAndSize(res, code->size);
- } else if (e->format == 'p') {
- Py_ssize_t n = *(unsigned char*)res;
- if (n >= code->size)
- n = code->size - 1;
- v = PyBytes_FromStringAndSize(res + 1, n);
- } else {
- v = e->unpack(res, e);
+ Py_ssize_t j = code->repeat;
+ while (j--) {
+ PyObject *v;
+ if (e->format == 's') {
+ v = PyBytes_FromStringAndSize(res, code->size);
+ } else if (e->format == 'p') {
+ Py_ssize_t n = *(unsigned char*)res;
+ if (n >= code->size)
+ n = code->size - 1;
+ v = PyBytes_FromStringAndSize(res + 1, n);
+ } else {
+ v = e->unpack(res, e);
+ }
+ if (v == NULL)
+ goto fail;
+ PyTuple_SET_ITEM(result, i++, v);
+ res += code->size;
}
- if (v == NULL)
- goto fail;
- PyTuple_SET_ITEM(result, i++, v);
}
return result;
@@ -1557,6 +1566,142 @@ s_unpack_from(PyObject *self, PyObject *args, PyObject *kwds)
}
+/* Unpack iterator type */
+
+typedef struct {
+ PyObject_HEAD
+ PyStructObject *so;
+ Py_buffer buf;
+ Py_ssize_t index;
+} unpackiterobject;
+
+static void
+unpackiter_dealloc(unpackiterobject *self)
+{
+ Py_XDECREF(self->so);
+ PyBuffer_Release(&self->buf);
+ PyObject_GC_Del(self);
+}
+
+static int
+unpackiter_traverse(unpackiterobject *self, visitproc visit, void *arg)
+{
+ Py_VISIT(self->so);
+ Py_VISIT(self->buf.obj);
+ return 0;
+}
+
+static PyObject *
+unpackiter_len(unpackiterobject *self)
+{
+ Py_ssize_t len;
+ if (self->so == NULL)
+ len = 0;
+ else
+ len = (self->buf.len - self->index) / self->so->s_size;
+ return PyLong_FromSsize_t(len);
+}
+
+static PyMethodDef unpackiter_methods[] = {
+ {"__length_hint__", (PyCFunction) unpackiter_len, METH_NOARGS, NULL},
+ {NULL, NULL} /* sentinel */
+};
+
+static PyObject *
+unpackiter_iternext(unpackiterobject *self)
+{
+ PyObject *result;
+ if (self->so == NULL)
+ return NULL;
+ if (self->index >= self->buf.len) {
+ /* Iterator exhausted */
+ Py_CLEAR(self->so);
+ PyBuffer_Release(&self->buf);
+ return NULL;
+ }
+ assert(self->index + self->so->s_size <= self->buf.len);
+ result = s_unpack_internal(self->so,
+ (char*) self->buf.buf + self->index);
+ self->index += self->so->s_size;
+ return result;
+}
+
+PyTypeObject unpackiter_type = {
+ PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ "unpack_iterator", /* tp_name */
+ sizeof(unpackiterobject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor)unpackiter_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags */
+ 0, /* tp_doc */
+ (traverseproc)unpackiter_traverse, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ PyObject_SelfIter, /* tp_iter */
+ (iternextfunc)unpackiter_iternext, /* tp_iternext */
+ unpackiter_methods /* tp_methods */
+};
+
+PyDoc_STRVAR(s_iter_unpack__doc__,
+"S.iter_unpack(buffer) -> iterator(v1, v2, ...)\n\
+\n\
+Return an iterator yielding tuples unpacked from the given bytes\n\
+source, like a repeated invocation of unpack_from(). Requires\n\
+that the bytes length be a multiple of the struct size.");
+
+static PyObject *
+s_iter_unpack(PyObject *_so, PyObject *input)
+{
+ PyStructObject *so = (PyStructObject *) _so;
+ unpackiterobject *self;
+
+ assert(PyStruct_Check(_so));
+ assert(so->s_codes != NULL);
+
+ if (so->s_size == 0) {
+ PyErr_Format(StructError,
+ "cannot iteratively unpack with a struct of length 0");
+ return NULL;
+ }
+
+ self = (unpackiterobject *) PyType_GenericAlloc(&unpackiter_type, 0);
+ if (self == NULL)
+ return NULL;
+
+ if (PyObject_GetBuffer(input, &self->buf, PyBUF_SIMPLE) < 0) {
+ Py_DECREF(self);
+ return NULL;
+ }
+ if (self->buf.len % so->s_size != 0) {
+ PyErr_Format(StructError,
+ "iterative unpacking requires a bytes length "
+ "multiple of %zd",
+ so->s_size);
+ Py_DECREF(self);
+ return NULL;
+ }
+ Py_INCREF(so);
+ self->so = so;
+ self->index = 0;
+ return (PyObject *) self;
+}
+
+
/*
* Guts of the pack function.
*
@@ -1578,62 +1723,67 @@ s_pack_internal(PyStructObject *soself, PyObject *args, int offset, char* buf)
memset(buf, '\0', soself->s_size);
i = offset;
for (code = soself->s_codes; code->fmtdef != NULL; code++) {
- Py_ssize_t n;
- PyObject *v = PyTuple_GET_ITEM(args, i++);
const formatdef *e = code->fmtdef;
char *res = buf + code->offset;
- if (e->format == 's') {
- int isstring;
- void *p;
- isstring = PyBytes_Check(v);
- if (!isstring && !PyByteArray_Check(v)) {
- PyErr_SetString(StructError,
- "argument for 's' must be a bytes object");
- return -1;
- }
- if (isstring) {
- n = PyBytes_GET_SIZE(v);
- p = PyBytes_AS_STRING(v);
- }
- else {
- n = PyByteArray_GET_SIZE(v);
- p = PyByteArray_AS_STRING(v);
- }
- if (n > code->size)
- n = code->size;
- if (n > 0)
- memcpy(res, p, n);
- } else if (e->format == 'p') {
- int isstring;
- void *p;
- isstring = PyBytes_Check(v);
- if (!isstring && !PyByteArray_Check(v)) {
- PyErr_SetString(StructError,
- "argument for 'p' must be a bytes object");
- return -1;
- }
- if (isstring) {
- n = PyBytes_GET_SIZE(v);
- p = PyBytes_AS_STRING(v);
- }
- else {
- n = PyByteArray_GET_SIZE(v);
- p = PyByteArray_AS_STRING(v);
- }
- if (n > (code->size - 1))
- n = code->size - 1;
- if (n > 0)
- memcpy(res + 1, p, n);
- if (n > 255)
- n = 255;
- *res = Py_SAFE_DOWNCAST(n, Py_ssize_t, unsigned char);
- } else {
- if (e->pack(res, v, e) < 0) {
- if (PyLong_Check(v) && PyErr_ExceptionMatches(PyExc_OverflowError))
+ Py_ssize_t j = code->repeat;
+ while (j--) {
+ PyObject *v = PyTuple_GET_ITEM(args, i++);
+ if (e->format == 's') {
+ Py_ssize_t n;
+ int isstring;
+ void *p;
+ isstring = PyBytes_Check(v);
+ if (!isstring && !PyByteArray_Check(v)) {
PyErr_SetString(StructError,
- "long too large to convert to int");
- return -1;
+ "argument for 's' must be a bytes object");
+ return -1;
+ }
+ if (isstring) {
+ n = PyBytes_GET_SIZE(v);
+ p = PyBytes_AS_STRING(v);
+ }
+ else {
+ n = PyByteArray_GET_SIZE(v);
+ p = PyByteArray_AS_STRING(v);
+ }
+ if (n > code->size)
+ n = code->size;
+ if (n > 0)
+ memcpy(res, p, n);
+ } else if (e->format == 'p') {
+ Py_ssize_t n;
+ int isstring;
+ void *p;
+ isstring = PyBytes_Check(v);
+ if (!isstring && !PyByteArray_Check(v)) {
+ PyErr_SetString(StructError,
+ "argument for 'p' must be a bytes object");
+ return -1;
+ }
+ if (isstring) {
+ n = PyBytes_GET_SIZE(v);
+ p = PyBytes_AS_STRING(v);
+ }
+ else {
+ n = PyByteArray_GET_SIZE(v);
+ p = PyByteArray_AS_STRING(v);
+ }
+ if (n > (code->size - 1))
+ n = code->size - 1;
+ if (n > 0)
+ memcpy(res + 1, p, n);
+ if (n > 255)
+ n = 255;
+ *res = Py_SAFE_DOWNCAST(n, Py_ssize_t, unsigned char);
+ } else {
+ if (e->pack(res, v, e) < 0) {
+ if (PyLong_Check(v) && PyErr_ExceptionMatches(PyExc_OverflowError))
+ PyErr_SetString(StructError,
+ "long too large to convert to int");
+ return -1;
+ }
}
+ res += code->size;
}
}
@@ -1769,14 +1919,18 @@ static PyObject *
s_sizeof(PyStructObject *self, void *unused)
{
Py_ssize_t size;
+ formatcode *code;
- size = sizeof(PyStructObject) + sizeof(formatcode) * (self->s_len + 1);
+ size = sizeof(PyStructObject) + sizeof(formatcode);
+ for (code = self->s_codes; code->fmtdef != NULL; code++)
+ size += sizeof(formatcode);
return PyLong_FromSsize_t(size);
}
/* List of functions */
static struct PyMethodDef s_methods[] = {
+ {"iter_unpack", s_iter_unpack, METH_O, s_iter_unpack__doc__},
{"pack", s_pack, METH_VARARGS, s_pack__doc__},
{"pack_into", s_pack_into, METH_VARARGS, s_pack_into__doc__},
{"unpack", s_unpack, METH_O, s_unpack__doc__},
@@ -2026,9 +2180,34 @@ unpack_from(PyObject *self, PyObject *args, PyObject *kwds)
return result;
}
+PyDoc_STRVAR(iter_unpack_doc,
+"iter_unpack(fmt, buffer) -> iterator(v1, v2, ...)\n\
+\n\
+Return an iterator yielding tuples unpacked from the given bytes\n\
+source according to the format string, like a repeated invocation of\n\
+unpack_from(). Requires that the bytes length be a multiple of the\n\
+format struct size.");
+
+static PyObject *
+iter_unpack(PyObject *self, PyObject *args)
+{
+ PyObject *s_object, *fmt, *input, *result;
+
+ if (!PyArg_ParseTuple(args, "OO:iter_unpack", &fmt, &input))
+ return NULL;
+
+ s_object = cache_struct(fmt);
+ if (s_object == NULL)
+ return NULL;
+ result = s_iter_unpack(s_object, input);
+ Py_DECREF(s_object);
+ return result;
+}
+
static struct PyMethodDef module_functions[] = {
{"_clearcache", (PyCFunction)clearcache, METH_NOARGS, clearcache_doc},
{"calcsize", calcsize, METH_O, calcsize_doc},
+ {"iter_unpack", iter_unpack, METH_VARARGS, iter_unpack_doc},
{"pack", pack, METH_VARARGS, pack_doc},
{"pack_into", pack_into, METH_VARARGS, pack_into_doc},
{"unpack", unpack, METH_VARARGS, unpack_doc},
@@ -2098,13 +2277,13 @@ PyInit__struct(void)
/* Check endian and swap in faster functions */
{
- int one = 1;
formatdef *native = native_table;
formatdef *other, *ptr;
- if ((int)*(unsigned char*)&one)
- other = lilendian_table;
- else
- other = bigendian_table;
+#if PY_LITTLE_ENDIAN
+ other = lilendian_table;
+#else
+ other = bigendian_table;
+#endif
/* Scan through the native table, find a matching
entry in the endian table and swap in the
native implementations whenever possible
diff --git a/Modules/_testbuffer.c b/Modules/_testbuffer.c
index 316666e68e..a4e1643a0d 100644
--- a/Modules/_testbuffer.c
+++ b/Modules/_testbuffer.c
@@ -2837,36 +2837,36 @@ PyInit__testbuffer(void)
if (simple_format == NULL)
return NULL;
- PyModule_AddIntConstant(m, "ND_MAX_NDIM", ND_MAX_NDIM);
- PyModule_AddIntConstant(m, "ND_VAREXPORT", ND_VAREXPORT);
- PyModule_AddIntConstant(m, "ND_WRITABLE", ND_WRITABLE);
- PyModule_AddIntConstant(m, "ND_FORTRAN", ND_FORTRAN);
- PyModule_AddIntConstant(m, "ND_SCALAR", ND_SCALAR);
- PyModule_AddIntConstant(m, "ND_PIL", ND_PIL);
- PyModule_AddIntConstant(m, "ND_GETBUF_FAIL", ND_GETBUF_FAIL);
- PyModule_AddIntConstant(m, "ND_GETBUF_UNDEFINED", ND_GETBUF_UNDEFINED);
- PyModule_AddIntConstant(m, "ND_REDIRECT", ND_REDIRECT);
-
- PyModule_AddIntConstant(m, "PyBUF_SIMPLE", PyBUF_SIMPLE);
- PyModule_AddIntConstant(m, "PyBUF_WRITABLE", PyBUF_WRITABLE);
- PyModule_AddIntConstant(m, "PyBUF_FORMAT", PyBUF_FORMAT);
- PyModule_AddIntConstant(m, "PyBUF_ND", PyBUF_ND);
- PyModule_AddIntConstant(m, "PyBUF_STRIDES", PyBUF_STRIDES);
- PyModule_AddIntConstant(m, "PyBUF_INDIRECT", PyBUF_INDIRECT);
- PyModule_AddIntConstant(m, "PyBUF_C_CONTIGUOUS", PyBUF_C_CONTIGUOUS);
- PyModule_AddIntConstant(m, "PyBUF_F_CONTIGUOUS", PyBUF_F_CONTIGUOUS);
- PyModule_AddIntConstant(m, "PyBUF_ANY_CONTIGUOUS", PyBUF_ANY_CONTIGUOUS);
- PyModule_AddIntConstant(m, "PyBUF_FULL", PyBUF_FULL);
- PyModule_AddIntConstant(m, "PyBUF_FULL_RO", PyBUF_FULL_RO);
- PyModule_AddIntConstant(m, "PyBUF_RECORDS", PyBUF_RECORDS);
- PyModule_AddIntConstant(m, "PyBUF_RECORDS_RO", PyBUF_RECORDS_RO);
- PyModule_AddIntConstant(m, "PyBUF_STRIDED", PyBUF_STRIDED);
- PyModule_AddIntConstant(m, "PyBUF_STRIDED_RO", PyBUF_STRIDED_RO);
- PyModule_AddIntConstant(m, "PyBUF_CONTIG", PyBUF_CONTIG);
- PyModule_AddIntConstant(m, "PyBUF_CONTIG_RO", PyBUF_CONTIG_RO);
-
- PyModule_AddIntConstant(m, "PyBUF_READ", PyBUF_READ);
- PyModule_AddIntConstant(m, "PyBUF_WRITE", PyBUF_WRITE);
+ PyModule_AddIntMacro(m, ND_MAX_NDIM);
+ PyModule_AddIntMacro(m, ND_VAREXPORT);
+ PyModule_AddIntMacro(m, ND_WRITABLE);
+ PyModule_AddIntMacro(m, ND_FORTRAN);
+ PyModule_AddIntMacro(m, ND_SCALAR);
+ PyModule_AddIntMacro(m, ND_PIL);
+ PyModule_AddIntMacro(m, ND_GETBUF_FAIL);
+ PyModule_AddIntMacro(m, ND_GETBUF_UNDEFINED);
+ PyModule_AddIntMacro(m, ND_REDIRECT);
+
+ PyModule_AddIntMacro(m, PyBUF_SIMPLE);
+ PyModule_AddIntMacro(m, PyBUF_WRITABLE);
+ PyModule_AddIntMacro(m, PyBUF_FORMAT);
+ PyModule_AddIntMacro(m, PyBUF_ND);
+ PyModule_AddIntMacro(m, PyBUF_STRIDES);
+ PyModule_AddIntMacro(m, PyBUF_INDIRECT);
+ PyModule_AddIntMacro(m, PyBUF_C_CONTIGUOUS);
+ PyModule_AddIntMacro(m, PyBUF_F_CONTIGUOUS);
+ PyModule_AddIntMacro(m, PyBUF_ANY_CONTIGUOUS);
+ PyModule_AddIntMacro(m, PyBUF_FULL);
+ PyModule_AddIntMacro(m, PyBUF_FULL_RO);
+ PyModule_AddIntMacro(m, PyBUF_RECORDS);
+ PyModule_AddIntMacro(m, PyBUF_RECORDS_RO);
+ PyModule_AddIntMacro(m, PyBUF_STRIDED);
+ PyModule_AddIntMacro(m, PyBUF_STRIDED_RO);
+ PyModule_AddIntMacro(m, PyBUF_CONTIG);
+ PyModule_AddIntMacro(m, PyBUF_CONTIG_RO);
+
+ PyModule_AddIntMacro(m, PyBUF_READ);
+ PyModule_AddIntMacro(m, PyBUF_WRITE);
return m;
}
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index 86ef713fae..59d318240d 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -1424,6 +1424,20 @@ test_widechar(PyObject *self)
else
return raiseTestError("test_widechar",
"PyUnicode_FromUnicode(L\"\\U00110000\", 1) didn't fail");
+
+ wide = PyUnicode_FromUnicode(NULL, 1);
+ if (wide == NULL)
+ return NULL;
+ PyUnicode_AS_UNICODE(wide)[0] = invalid[0];
+ if (_PyUnicode_Ready(wide) < 0) {
+ Py_DECREF(wide);
+ PyErr_Clear();
+ }
+ else {
+ Py_DECREF(wide);
+ return raiseTestError("test_widechar",
+ "PyUnicode_Ready() didn't fail");
+ }
#endif
Py_RETURN_NONE;
@@ -2477,6 +2491,293 @@ test_pytime_object_to_timespec(PyObject *self, PyObject *args)
return Py_BuildValue("Nl", _PyLong_FromTime_t(sec), nsec);
}
+static void
+slot_tp_del(PyObject *self)
+{
+ _Py_IDENTIFIER(__tp_del__);
+ PyObject *del, *res;
+ PyObject *error_type, *error_value, *error_traceback;
+
+ /* Temporarily resurrect the object. */
+ assert(self->ob_refcnt == 0);
+ self->ob_refcnt = 1;
+
+ /* Save the current exception, if any. */
+ PyErr_Fetch(&error_type, &error_value, &error_traceback);
+
+ /* Execute __del__ method, if any. */
+ del = _PyObject_LookupSpecial(self, &PyId___tp_del__);
+ if (del != NULL) {
+ res = PyEval_CallObject(del, NULL);
+ if (res == NULL)
+ PyErr_WriteUnraisable(del);
+ else
+ Py_DECREF(res);
+ Py_DECREF(del);
+ }
+
+ /* Restore the saved exception. */
+ PyErr_Restore(error_type, error_value, error_traceback);
+
+ /* Undo the temporary resurrection; can't use DECREF here, it would
+ * cause a recursive call.
+ */
+ assert(self->ob_refcnt > 0);
+ if (--self->ob_refcnt == 0)
+ return; /* this is the normal path out */
+
+ /* __del__ resurrected it! Make it look like the original Py_DECREF
+ * never happened.
+ */
+ {
+ Py_ssize_t refcnt = self->ob_refcnt;
+ _Py_NewReference(self);
+ self->ob_refcnt = refcnt;
+ }
+ assert(!PyType_IS_GC(Py_TYPE(self)) ||
+ _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
+ /* If Py_REF_DEBUG, _Py_NewReference bumped _Py_RefTotal, so
+ * we need to undo that. */
+ _Py_DEC_REFTOTAL;
+ /* If Py_TRACE_REFS, _Py_NewReference re-added self to the object
+ * chain, so no more to do there.
+ * If COUNT_ALLOCS, the original decref bumped tp_frees, and
+ * _Py_NewReference bumped tp_allocs: both of those need to be
+ * undone.
+ */
+#ifdef COUNT_ALLOCS
+ --Py_TYPE(self)->tp_frees;
+ --Py_TYPE(self)->tp_allocs;
+#endif
+}
+
+static PyObject *
+with_tp_del(PyObject *self, PyObject *args)
+{
+ PyObject *obj;
+ PyTypeObject *tp;
+
+ if (!PyArg_ParseTuple(args, "O:with_tp_del", &obj))
+ return NULL;
+ tp = (PyTypeObject *) obj;
+ if (!PyType_Check(obj) || !PyType_HasFeature(tp, Py_TPFLAGS_HEAPTYPE)) {
+ PyErr_Format(PyExc_TypeError,
+ "heap type expected, got %R", obj);
+ return NULL;
+ }
+ tp->tp_del = slot_tp_del;
+ Py_INCREF(obj);
+ return obj;
+}
+
+static PyObject *
+_test_incref(PyObject *ob)
+{
+ Py_INCREF(ob);
+ return ob;
+}
+
+static PyObject *
+test_xincref_doesnt_leak(PyObject *ob)
+{
+ PyObject *obj = PyLong_FromLong(0);
+ Py_XINCREF(_test_incref(obj));
+ Py_DECREF(obj);
+ Py_DECREF(obj);
+ Py_DECREF(obj);
+ Py_RETURN_NONE;
+}
+
+static PyObject *
+test_incref_doesnt_leak(PyObject *ob)
+{
+ PyObject *obj = PyLong_FromLong(0);
+ Py_INCREF(_test_incref(obj));
+ Py_DECREF(obj);
+ Py_DECREF(obj);
+ Py_DECREF(obj);
+ Py_RETURN_NONE;
+}
+
+static PyObject *
+test_xdecref_doesnt_leak(PyObject *ob)
+{
+ Py_XDECREF(PyLong_FromLong(0));
+ Py_RETURN_NONE;
+}
+
+static PyObject *
+test_decref_doesnt_leak(PyObject *ob)
+{
+ Py_DECREF(PyLong_FromLong(0));
+ Py_RETURN_NONE;
+}
+
+static PyObject *
+test_incref_decref_API(PyObject *ob)
+{
+ PyObject *obj = PyLong_FromLong(0);
+ Py_IncRef(ob);
+ Py_DecRef(obj);
+ Py_DecRef(obj);
+ Py_RETURN_NONE;
+}
+
+static PyObject *
+test_pymem_alloc0(PyObject *self)
+{
+ void *ptr;
+
+ ptr = PyMem_Malloc(0);
+ if (ptr == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "PyMem_Malloc(0) returns NULL");
+ return NULL;
+ }
+ PyMem_Free(ptr);
+
+ ptr = PyObject_Malloc(0);
+ if (ptr == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "PyObject_Malloc(0) returns NULL");
+ return NULL;
+ }
+ PyObject_Free(ptr);
+
+ Py_RETURN_NONE;
+}
+
+typedef struct {
+ PyMemAllocator alloc;
+
+ size_t malloc_size;
+ void *realloc_ptr;
+ size_t realloc_new_size;
+ void *free_ptr;
+} alloc_hook_t;
+
+static void* hook_malloc (void* ctx, size_t size)
+{
+ alloc_hook_t *hook = (alloc_hook_t *)ctx;
+ hook->malloc_size = size;
+ return hook->alloc.malloc(hook->alloc.ctx, size);
+}
+
+static void* hook_realloc (void* ctx, void* ptr, size_t new_size)
+{
+ alloc_hook_t *hook = (alloc_hook_t *)ctx;
+ hook->realloc_ptr = ptr;
+ hook->realloc_new_size = new_size;
+ return hook->alloc.realloc(hook->alloc.ctx, ptr, new_size);
+}
+
+static void hook_free (void *ctx, void *ptr)
+{
+ alloc_hook_t *hook = (alloc_hook_t *)ctx;
+ hook->free_ptr = ptr;
+ hook->alloc.free(hook->alloc.ctx, ptr);
+}
+
+static PyObject *
+test_setallocators(PyMemAllocatorDomain domain)
+{
+ PyObject *res = NULL;
+ const char *error_msg;
+ alloc_hook_t hook;
+ PyMemAllocator alloc;
+ size_t size, size2;
+ void *ptr, *ptr2;
+
+ hook.malloc_size = 0;
+ hook.realloc_ptr = NULL;
+ hook.realloc_new_size = 0;
+ hook.free_ptr = NULL;
+
+ alloc.ctx = &hook;
+ alloc.malloc = &hook_malloc;
+ alloc.realloc = &hook_realloc;
+ alloc.free = &hook_free;
+ PyMem_GetAllocator(domain, &hook.alloc);
+ PyMem_SetAllocator(domain, &alloc);
+
+ size = 42;
+ switch(domain)
+ {
+ case PYMEM_DOMAIN_RAW: ptr = PyMem_RawMalloc(size); break;
+ case PYMEM_DOMAIN_MEM: ptr = PyMem_Malloc(size); break;
+ case PYMEM_DOMAIN_OBJ: ptr = PyObject_Malloc(size); break;
+ default: ptr = NULL; break;
+ }
+
+ if (ptr == NULL) {
+ error_msg = "malloc failed";
+ goto fail;
+ }
+
+ if (hook.malloc_size != size) {
+ error_msg = "malloc invalid size";
+ goto fail;
+ }
+
+ size2 = 200;
+ switch(domain)
+ {
+ case PYMEM_DOMAIN_RAW: ptr2 = PyMem_RawRealloc(ptr, size2); break;
+ case PYMEM_DOMAIN_MEM: ptr2 = PyMem_Realloc(ptr, size2); break;
+ case PYMEM_DOMAIN_OBJ: ptr2 = PyObject_Realloc(ptr, size2); break;
+ default: ptr2 = NULL; break;
+ }
+
+ if (ptr2 == NULL) {
+ error_msg = "realloc failed";
+ goto fail;
+ }
+
+ if (hook.realloc_ptr != ptr
+ || hook.realloc_new_size != size2) {
+ error_msg = "realloc invalid parameters";
+ goto fail;
+ }
+
+ switch(domain)
+ {
+ case PYMEM_DOMAIN_RAW: PyMem_RawFree(ptr2); break;
+ case PYMEM_DOMAIN_MEM: PyMem_Free(ptr2); break;
+ case PYMEM_DOMAIN_OBJ: PyObject_Free(ptr2); break;
+ }
+
+ if (hook.free_ptr != ptr2) {
+ error_msg = "free invalid pointer";
+ goto fail;
+ }
+
+ Py_INCREF(Py_None);
+ res = Py_None;
+ goto finally;
+
+fail:
+ PyErr_SetString(PyExc_RuntimeError, error_msg);
+
+finally:
+ PyMem_SetAllocator(domain, &hook.alloc);
+ return res;
+}
+
+static PyObject *
+test_pymem_setrawallocators(PyObject *self)
+{
+ return test_setallocators(PYMEM_DOMAIN_RAW);
+}
+
+static PyObject *
+test_pymem_setallocators(PyObject *self)
+{
+ return test_setallocators(PYMEM_DOMAIN_MEM);
+}
+
+static PyObject *
+test_pyobject_setallocators(PyObject *self)
+{
+ return test_setallocators(PYMEM_DOMAIN_OBJ);
+}
static PyMethodDef TestMethods[] = {
{"raise_exception", raise_exception, METH_VARARGS},
@@ -2487,6 +2788,11 @@ static PyMethodDef TestMethods[] = {
{"test_dict_iteration", (PyCFunction)test_dict_iteration,METH_NOARGS},
{"test_lazy_hash_inheritance", (PyCFunction)test_lazy_hash_inheritance,METH_NOARGS},
{"test_long_api", (PyCFunction)test_long_api, METH_NOARGS},
+ {"test_xincref_doesnt_leak",(PyCFunction)test_xincref_doesnt_leak, METH_NOARGS},
+ {"test_incref_doesnt_leak", (PyCFunction)test_incref_doesnt_leak, METH_NOARGS},
+ {"test_xdecref_doesnt_leak",(PyCFunction)test_xdecref_doesnt_leak, METH_NOARGS},
+ {"test_decref_doesnt_leak", (PyCFunction)test_decref_doesnt_leak, METH_NOARGS},
+ {"test_incref_decref_API", (PyCFunction)test_incref_decref_API, METH_NOARGS},
{"test_long_and_overflow", (PyCFunction)test_long_and_overflow,
METH_NOARGS},
{"test_long_as_double", (PyCFunction)test_long_as_double,METH_NOARGS},
@@ -2574,6 +2880,15 @@ static PyMethodDef TestMethods[] = {
{"pytime_object_to_time_t", test_pytime_object_to_time_t, METH_VARARGS},
{"pytime_object_to_timeval", test_pytime_object_to_timeval, METH_VARARGS},
{"pytime_object_to_timespec", test_pytime_object_to_timespec, METH_VARARGS},
+ {"with_tp_del", with_tp_del, METH_VARARGS},
+ {"test_pymem",
+ (PyCFunction)test_pymem_alloc0, METH_NOARGS},
+ {"test_pymem_alloc0",
+ (PyCFunction)test_pymem_setrawallocators, METH_NOARGS},
+ {"test_pymem_setallocators",
+ (PyCFunction)test_pymem_setallocators, METH_NOARGS},
+ {"test_pyobject_setallocators",
+ (PyCFunction)test_pyobject_setallocators, METH_NOARGS},
{NULL, NULL} /* sentinel */
};
diff --git a/Modules/_testimportmultiple.c b/Modules/_testimportmultiple.c
new file mode 100644
index 0000000000..1caeb66eb8
--- /dev/null
+++ b/Modules/_testimportmultiple.c
@@ -0,0 +1,57 @@
+/*
+ * C extensions module to test importing multiple modules from one compiled
+ * file (issue16421). This file defines 3 modules (_testimportmodule,
+ * foo, bar), only the first one is called the same as the compiled file.
+ */
+#include<Python.h>
+
+static struct PyModuleDef _testimportmultiple = {
+ PyModuleDef_HEAD_INIT,
+ "_testimportmultiple",
+ "_testimportmultiple doc",
+ -1,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+PyMODINIT_FUNC PyInit__testimportmultiple(void)
+{
+ return PyModule_Create(&_testimportmultiple);
+}
+
+static struct PyModuleDef _foomodule = {
+ PyModuleDef_HEAD_INIT,
+ "_testimportmultiple_foo",
+ "_testimportmultiple_foo doc",
+ -1,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+PyMODINIT_FUNC PyInit__testimportmultiple_foo(void)
+{
+ return PyModule_Create(&_foomodule);
+}
+
+static struct PyModuleDef _barmodule = {
+ PyModuleDef_HEAD_INIT,
+ "_testimportmultiple_bar",
+ "_testimportmultiple_bar doc",
+ -1,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+PyMODINIT_FUNC PyInit__testimportmultiple_bar(void){
+ return PyModule_Create(&_barmodule);
+}
+
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c
index d1dc61d0b1..cbb29014b5 100644
--- a/Modules/_threadmodule.c
+++ b/Modules/_threadmodule.c
@@ -741,7 +741,7 @@ local_new(PyTypeObject *type, PyObject *args, PyObject *kw)
wr = PyWeakref_NewRef((PyObject *) self, NULL);
if (wr == NULL)
goto err;
- self->wr_callback = PyCFunction_New(&wr_callback_def, wr);
+ self->wr_callback = PyCFunction_NewEx(&wr_callback_def, wr, NULL);
Py_DECREF(wr);
if (self->wr_callback == NULL)
goto err;
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index f049102d9a..9a0db0e9ff 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -128,52 +128,60 @@ Copyright (C) 1994 Steen Lumholt.
/* The threading situation is complicated. Tcl is not thread-safe, except
when configured with --enable-threads.
- So we need to use a lock around all uses of Tcl. Previously, the Python
- interpreter lock was used for this. However, this causes problems when
- other Python threads need to run while Tcl is blocked waiting for events.
-
- To solve this problem, a separate lock for Tcl is introduced. Holding it
- is incompatible with holding Python's interpreter lock. The following four
- macros manipulate both locks together.
-
- ENTER_TCL and LEAVE_TCL are brackets, just like Py_BEGIN_ALLOW_THREADS and
- Py_END_ALLOW_THREADS. They should be used whenever a call into Tcl is made
- that could call an event handler, or otherwise affect the state of a Tcl
- interpreter. These assume that the surrounding code has the Python
- interpreter lock; inside the brackets, the Python interpreter lock has been
- released and the lock for Tcl has been acquired.
-
- Sometimes, it is necessary to have both the Python lock and the Tcl lock.
- (For example, when transferring data from the Tcl interpreter result to a
- Python string object.) This can be done by using different macros to close
- the ENTER_TCL block: ENTER_OVERLAP reacquires the Python lock (and restores
- the thread state) but doesn't release the Tcl lock; LEAVE_OVERLAP_TCL
- releases the Tcl lock.
+
+ So we need to use a lock around all uses of Tcl. Previously, the
+ Python interpreter lock was used for this. However, this causes
+ problems when other Python threads need to run while Tcl is blocked
+ waiting for events.
+
+ To solve this problem, a separate lock for Tcl is introduced.
+ Holding it is incompatible with holding Python's interpreter lock.
+ The following four macros manipulate both locks together.
+
+ ENTER_TCL and LEAVE_TCL are brackets, just like
+ Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS. They should be
+ used whenever a call into Tcl is made that could call an event
+ handler, or otherwise affect the state of a Tcl interpreter. These
+ assume that the surrounding code has the Python interpreter lock;
+ inside the brackets, the Python interpreter lock has been released
+ and the lock for Tcl has been acquired.
+
+ Sometimes, it is necessary to have both the Python lock and the Tcl
+ lock. (For example, when transferring data from the Tcl
+ interpreter result to a Python string object.) This can be done by
+ using different macros to close the ENTER_TCL block: ENTER_OVERLAP
+ reacquires the Python lock (and restores the thread state) but
+ doesn't release the Tcl lock; LEAVE_OVERLAP_TCL releases the Tcl
+ lock.
By contrast, ENTER_PYTHON and LEAVE_PYTHON are used in Tcl event
- handlers when the handler needs to use Python. Such event handlers are
- entered while the lock for Tcl is held; the event handler presumably needs
- to use Python. ENTER_PYTHON releases the lock for Tcl and acquires
- the Python interpreter lock, restoring the appropriate thread state, and
- LEAVE_PYTHON releases the Python interpreter lock and re-acquires the lock
- for Tcl. It is okay for ENTER_TCL/LEAVE_TCL pairs to be contained inside
- the code between ENTER_PYTHON and LEAVE_PYTHON.
-
- These locks expand to several statements and brackets; they should not be
- used in branches of if statements and the like.
-
- If Tcl is threaded, this approach won't work anymore. The Tcl interpreter is
- only valid in the thread that created it, and all Tk activity must happen in this
- thread, also. That means that the mainloop must be invoked in the thread that
- created the interpreter. Invoking commands from other threads is possible;
- _tkinter will queue an event for the interpreter thread, which will then
- execute the command and pass back the result. If the main thread is not in the
- mainloop, and invoking commands causes an exception; if the main loop is running
- but not processing events, the command invocation will block.
-
- In addition, for a threaded Tcl, a single global tcl_tstate won't be sufficient
- anymore, since multiple Tcl interpreters may simultaneously dispatch in different
- threads. So we use the Tcl TLS API.
+ handlers when the handler needs to use Python. Such event handlers
+ are entered while the lock for Tcl is held; the event handler
+ presumably needs to use Python. ENTER_PYTHON releases the lock for
+ Tcl and acquires the Python interpreter lock, restoring the
+ appropriate thread state, and LEAVE_PYTHON releases the Python
+ interpreter lock and re-acquires the lock for Tcl. It is okay for
+ ENTER_TCL/LEAVE_TCL pairs to be contained inside the code between
+ ENTER_PYTHON and LEAVE_PYTHON.
+
+ These locks expand to several statements and brackets; they should
+ not be used in branches of if statements and the like.
+
+ If Tcl is threaded, this approach won't work anymore. The Tcl
+ interpreter is only valid in the thread that created it, and all Tk
+ activity must happen in this thread, also. That means that the
+ mainloop must be invoked in the thread that created the
+ interpreter. Invoking commands from other threads is possible;
+ _tkinter will queue an event for the interpreter thread, which will
+ then execute the command and pass back the result. If the main
+ thread is not in the mainloop, and invoking commands causes an
+ exception; if the main loop is running but not processing events,
+ the command invocation will block.
+
+ In addition, for a threaded Tcl, a single global tcl_tstate won't
+ be sufficient anymore, since multiple Tcl interpreters may
+ simultaneously dispatch in different threads. So we use the Tcl TLS
+ API.
*/
@@ -182,7 +190,8 @@ static PyThread_type_lock tcl_lock = 0;
#ifdef TCL_THREADS
static Tcl_ThreadDataKey state_key;
typedef PyThreadState *ThreadSpecificData;
-#define tcl_tstate (*(PyThreadState**)Tcl_GetThreadData(&state_key, sizeof(PyThreadState*)))
+#define tcl_tstate \
+ (*(PyThreadState**)Tcl_GetThreadData(&state_key, sizeof(PyThreadState*)))
#else
static PyThreadState *tcl_tstate = NULL;
#endif
@@ -192,7 +201,8 @@ static PyThreadState *tcl_tstate = NULL;
if(tcl_lock)PyThread_acquire_lock(tcl_lock, 1); tcl_tstate = tstate;
#define LEAVE_TCL \
- tcl_tstate = NULL; if(tcl_lock)PyThread_release_lock(tcl_lock); Py_END_ALLOW_THREADS}
+ tcl_tstate = NULL; \
+ if(tcl_lock)PyThread_release_lock(tcl_lock); Py_END_ALLOW_THREADS}
#define ENTER_OVERLAP \
Py_END_ALLOW_THREADS
@@ -202,7 +212,8 @@ static PyThreadState *tcl_tstate = NULL;
#define ENTER_PYTHON \
{ PyThreadState *tstate = tcl_tstate; tcl_tstate = NULL; \
- if(tcl_lock)PyThread_release_lock(tcl_lock); PyEval_RestoreThread((tstate)); }
+ if(tcl_lock) \
+ PyThread_release_lock(tcl_lock); PyEval_RestoreThread((tstate)); }
#define LEAVE_PYTHON \
{ PyThreadState *tstate = PyEval_SaveThread(); \
@@ -211,7 +222,8 @@ static PyThreadState *tcl_tstate = NULL;
#define CHECK_TCL_APPARTMENT \
if (((TkappObject *)self)->threaded && \
((TkappObject *)self)->thread_id != Tcl_GetCurrentThread()) { \
- PyErr_SetString(PyExc_RuntimeError, "Calling Tcl from different appartment"); \
+ PyErr_SetString(PyExc_RuntimeError, \
+ "Calling Tcl from different appartment"); \
return 0; \
}
@@ -233,7 +245,7 @@ static PyThreadState *tcl_tstate = NULL;
/**** Tkapp Object Declaration ****/
-static PyTypeObject Tkapp_Type;
+static PyObject *Tkapp_Type;
typedef struct {
PyObject_HEAD
@@ -253,7 +265,6 @@ typedef struct {
Tcl_ObjType *StringType;
} TkappObject;
-#define Tkapp_Check(v) (Py_TYPE(v) == &Tkapp_Type)
#define Tkapp_Interp(v) (((TkappObject *) (v))->interp)
#define Tkapp_Result(v) Tcl_GetStringResult(Tkapp_Interp(v))
@@ -326,119 +337,9 @@ WaitForMainloop(TkappObject* self)
#endif /* WITH_THREAD */
-static char *
-AsString(PyObject *value, PyObject *tmp)
-{
- if (PyBytes_Check(value))
- return PyBytes_AsString(value);
- else if (PyUnicode_Check(value)) {
- PyObject *v = PyUnicode_AsUTF8String(value);
- if (v == NULL)
- return NULL;
- if (PyList_Append(tmp, v) != 0) {
- Py_DECREF(v);
- return NULL;
- }
- Py_DECREF(v);
- return PyBytes_AsString(v);
- }
- else {
- PyObject *v = PyObject_Str(value);
- if (v == NULL)
- return NULL;
- if (PyList_Append(tmp, v) != 0) {
- Py_DECREF(v);
- return NULL;
- }
- Py_DECREF(v);
- return PyBytes_AsString(v);
- }
-}
-
-
#define ARGSZ 64
-static char *
-Merge(PyObject *args)
-{
- PyObject *tmp = NULL;
- char *argvStore[ARGSZ];
- char **argv = NULL;
- int fvStore[ARGSZ];
- int *fv = NULL;
- Py_ssize_t argc = 0, fvc = 0, i;
- char *res = NULL;
-
- if (!(tmp = PyList_New(0)))
- return NULL;
-
- argv = argvStore;
- fv = fvStore;
-
- if (args == NULL)
- argc = 0;
-
- else if (!PyTuple_Check(args)) {
- argc = 1;
- fv[0] = 0;
- if (!(argv[0] = AsString(args, tmp)))
- goto finally;
- }
- else {
- argc = PyTuple_Size(args);
-
- if (argc > ARGSZ) {
- if (!CHECK_SIZE(argc, sizeof(char *))) {
- PyErr_SetString(PyExc_OverflowError, "tuple is too long");
- goto finally;
- }
- argv = (char **)ckalloc((size_t)argc * sizeof(char *));
- fv = (int *)ckalloc((size_t)argc * sizeof(int));
- if (argv == NULL || fv == NULL) {
- PyErr_NoMemory();
- goto finally;
- }
- }
-
- for (i = 0; i < argc; i++) {
- PyObject *v = PyTuple_GetItem(args, i);
- if (PyTuple_Check(v)) {
- fv[i] = 1;
- if (!(argv[i] = Merge(v)))
- goto finally;
- fvc++;
- }
- else if (v == Py_None) {
- argc = i;
- break;
- }
- else {
- fv[i] = 0;
- if (!(argv[i] = AsString(v, tmp)))
- goto finally;
- fvc++;
- }
- }
- }
- res = Tcl_Merge(argc, argv);
- if (res == NULL)
- PyErr_SetString(Tkinter_TclError, "merge failed");
-
- finally:
- for (i = 0; i < fvc; i++)
- if (fv[i]) {
- ckfree(argv[i]);
- }
- if (argv != argvStore)
- ckfree(FREECAST argv);
- if (fv != fvStore)
- ckfree(FREECAST fv);
-
- Py_DECREF(tmp);
- return res;
-}
-
static PyObject *
@@ -449,8 +350,7 @@ Split(char *list)
PyObject *v;
if (list == NULL) {
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
if (Tcl_SplitList((Tcl_Interp *)NULL, list, &argc, &argv) != TCL_OK) {
@@ -482,9 +382,9 @@ Split(char *list)
return v;
}
-/* In some cases, Tcl will still return strings that are supposed to be
- lists. SplitObj walks through a nested tuple, finding string objects that
- need to be split. */
+/* In some cases, Tcl will still return strings that are supposed to
+ be lists. SplitObj walks through a nested tuple, finding string
+ objects that need to be split. */
static PyObject *
SplitObj(PyObject *arg)
@@ -616,9 +516,10 @@ Tkapp_New(char *screenName, char *className,
TkappObject *v;
char *argv0;
- v = PyObject_New(TkappObject, &Tkapp_Type);
+ v = PyObject_New(TkappObject, (PyTypeObject *) Tkapp_Type);
if (v == NULL)
return NULL;
+ Py_INCREF(Tkapp_Type);
v->interp = Tcl_CreateInterp();
v->wantobjects = wantobjects;
@@ -629,7 +530,8 @@ Tkapp_New(char *screenName, char *className,
#ifndef TCL_THREADS
if (v->threaded) {
- PyErr_SetString(PyExc_RuntimeError, "Tcl is threaded but _tkinter is not");
+ PyErr_SetString(PyExc_RuntimeError,
+ "Tcl is threaded but _tkinter is not");
Py_DECREF(v);
return 0;
}
@@ -766,16 +668,17 @@ typedef struct {
PyObject *string; /* This cannot cause cycles. */
} PyTclObject;
-static PyTypeObject PyTclObject_Type;
-#define PyTclObject_Check(v) ((v)->ob_type == &PyTclObject_Type)
+static PyObject *PyTclObject_Type;
+#define PyTclObject_Check(v) ((v)->ob_type == (PyTypeObject *) PyTclObject_Type)
static PyObject *
newPyTclObject(Tcl_Obj *arg)
{
PyTclObject *self;
- self = PyObject_New(PyTclObject, &PyTclObject_Type);
+ self = PyObject_New(PyTclObject, (PyTypeObject *) PyTclObject_Type);
if (self == NULL)
return NULL;
+ Py_INCREF(PyTclObject_Type);
Tcl_IncrRefCount(arg);
self->value = arg;
self->string = NULL;
@@ -785,9 +688,11 @@ newPyTclObject(Tcl_Obj *arg)
static void
PyTclObject_dealloc(PyTclObject *self)
{
+ PyObject *tp = (PyObject *) Py_TYPE(self);
Tcl_DecrRefCount(self->value);
Py_XDECREF(self->string);
PyObject_Del(self);
+ Py_DECREF(tp);
}
static char*
@@ -907,50 +812,25 @@ static PyGetSetDef PyTclObject_getsetlist[] = {
{0},
};
-static PyTypeObject PyTclObject_Type = {
- PyVarObject_HEAD_INIT(NULL, 0)
- "_tkinter.Tcl_Obj", /*tp_name*/
- sizeof(PyTclObject), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- /* methods */
- (destructor)PyTclObject_dealloc,/*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- 0, /*tp_reserved*/
- (reprfunc)PyTclObject_repr, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- (reprfunc)PyTclObject_str, /*tp_str*/
- PyObject_GenericGetAttr, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT, /*tp_flags*/
- 0, /*tp_doc*/
- 0, /*tp_traverse*/
- 0, /*tp_clear*/
- PyTclObject_richcompare, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- 0, /*tp_methods*/
- 0, /*tp_members*/
- PyTclObject_getsetlist, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- 0, /*tp_init*/
- 0, /*tp_alloc*/
- 0, /*tp_new*/
- 0, /*tp_free*/
- 0, /*tp_is_gc*/
+static PyType_Slot PyTclObject_Type_slots[] = {
+ {Py_tp_dealloc, (destructor)PyTclObject_dealloc},
+ {Py_tp_repr, (reprfunc)PyTclObject_repr},
+ {Py_tp_str, (reprfunc)PyTclObject_str},
+ {Py_tp_getattro, PyObject_GenericGetAttr},
+ {Py_tp_richcompare, PyTclObject_richcompare},
+ {Py_tp_getset, PyTclObject_getsetlist},
+ {0, 0}
};
+static PyType_Spec PyTclObject_Type_spec = {
+ "_tkinter.Tcl_Obj",
+ sizeof(PyTclObject),
+ 0,
+ Py_TPFLAGS_DEFAULT,
+ PyTclObject_Type_slots,
+};
+
+
static Tcl_Obj*
AsObj(PyObject *value)
{
@@ -1368,42 +1248,6 @@ Tkapp_Call(PyObject *selfptr, PyObject *args)
static PyObject *
-Tkapp_GlobalCall(PyObject *self, PyObject *args)
-{
- /* Could do the same here as for Tkapp_Call(), but this is not used
- much, so I can't be bothered. Unfortunately Tcl doesn't export a
- way for the user to do what all its Global* variants do (save and
- reset the scope pointer, call the local version, restore the saved
- scope pointer). */
-
- char *cmd;
- PyObject *res = NULL;
-
- if (PyErr_WarnEx(PyExc_DeprecationWarning,
- "globalcall is deprecated and will be removed in 3.4",
- 1) < 0)
- return 0;
-
- CHECK_TCL_APPARTMENT;
-
- cmd = Merge(args);
- if (cmd) {
- int err;
- ENTER_TCL
- err = Tcl_GlobalEval(Tkapp_Interp(self), cmd);
- ENTER_OVERLAP
- if (err == TCL_ERROR)
- res = Tkinter_Error(self);
- else
- res = PyUnicode_FromString(Tkapp_Result(self));
- LEAVE_OVERLAP_TCL
- ckfree(cmd);
- }
-
- return res;
-}
-
-static PyObject *
Tkapp_Eval(PyObject *self, PyObject *args)
{
char *script;
@@ -1427,34 +1271,6 @@ Tkapp_Eval(PyObject *self, PyObject *args)
}
static PyObject *
-Tkapp_GlobalEval(PyObject *self, PyObject *args)
-{
- char *script;
- PyObject *res = NULL;
- int err;
-
- if (PyErr_WarnEx(PyExc_DeprecationWarning,
- "globaleval is deprecated and will be removed in 3.4",
- 1) < 0)
- return 0;
-
- if (!PyArg_ParseTuple(args, "s:globaleval", &script))
- return NULL;
-
- CHECK_TCL_APPARTMENT;
-
- ENTER_TCL
- err = Tcl_GlobalEval(Tkapp_Interp(self), script);
- ENTER_OVERLAP
- if (err == TCL_ERROR)
- res = Tkinter_Error(self);
- else
- res = PyUnicode_FromString(Tkapp_Result(self));
- LEAVE_OVERLAP_TCL
- return res;
-}
-
-static PyObject *
Tkapp_EvalFile(PyObject *self, PyObject *args)
{
char *fileName;
@@ -1514,8 +1330,7 @@ Tkapp_AddErrorInfo(PyObject *self, PyObject *args)
Tcl_AddErrorInfo(Tkapp_Interp(self), msg);
LEAVE_TCL
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
@@ -1713,7 +1528,8 @@ GetVar(PyObject *self, PyObject *args, int flags)
tres = Tcl_GetVar2Ex(Tkapp_Interp(self), name1, name2, flags);
ENTER_OVERLAP
if (tres == NULL) {
- PyErr_SetString(Tkinter_TclError, Tcl_GetStringResult(Tkapp_Interp(self)));
+ PyErr_SetString(Tkinter_TclError,
+ Tcl_GetStringResult(Tkapp_Interp(self)));
} else {
if (((TkappObject*)self)->wantobjects) {
res = FromObj(self, tres);
@@ -1772,7 +1588,8 @@ Tkapp_UnsetVar(PyObject *self, PyObject *args)
static PyObject *
Tkapp_GlobalUnsetVar(PyObject *self, PyObject *args)
{
- return var_invoke(UnsetVar, self, args, TCL_LEAVE_ERR_MSG | TCL_GLOBAL_ONLY);
+ return var_invoke(UnsetVar, self, args,
+ TCL_LEAVE_ERR_MSG | TCL_GLOBAL_ONLY);
}
@@ -2038,27 +1855,6 @@ Tkapp_Split(PyObject *self, PyObject *args)
return v;
}
-static PyObject *
-Tkapp_Merge(PyObject *self, PyObject *args)
-{
- char *s;
- PyObject *res = NULL;
-
- if (PyErr_WarnEx(PyExc_DeprecationWarning,
- "merge is deprecated and will be removed in 3.4",
- 1) < 0)
- return 0;
-
- s = Merge(args);
-
- if (s) {
- res = PyUnicode_FromString(s);
- ckfree(s);
- }
-
- return res;
-}
-
/** Tcl Command **/
@@ -2244,8 +2040,7 @@ Tkapp_CreateCommand(PyObject *selfptr, PyObject *args)
return NULL;
}
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
@@ -2286,8 +2081,7 @@ Tkapp_DeleteCommand(PyObject *selfptr, PyObject *args)
PyErr_SetString(Tkinter_TclError, "can't delete Tcl command");
return NULL;
}
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
@@ -2391,8 +2185,7 @@ Tkapp_CreateFileHandler(PyObject *self, PyObject *args)
ENTER_TCL
Tcl_CreateFileHandler(tfile, mask, FileHandler, (ClientData) data);
LEAVE_TCL
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
static PyObject *
@@ -2416,15 +2209,14 @@ Tkapp_DeleteFileHandler(PyObject *self, PyObject *args)
ENTER_TCL
Tcl_DeleteFileHandler(tfile);
LEAVE_TCL
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
#endif /* HAVE_CREATEFILEHANDLER */
/**** Tktt Object (timer token) ****/
-static PyTypeObject Tktt_Type;
+static PyObject *Tktt_Type;
typedef struct {
PyObject_HEAD
@@ -2449,8 +2241,7 @@ Tktt_DeleteTimerHandler(PyObject *self, PyObject *args)
Py_DECREF(func);
Py_DECREF(v); /* See Tktt_New() */
}
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
static PyMethodDef Tktt_methods[] =
@@ -2464,9 +2255,10 @@ Tktt_New(PyObject *func)
{
TkttObject *v;
- v = PyObject_New(TkttObject, &Tktt_Type);
+ v = PyObject_New(TkttObject, (PyTypeObject *) Tktt_Type);
if (v == NULL)
return NULL;
+ Py_INCREF(Tktt_Type);
Py_INCREF(func);
v->token = NULL;
@@ -2482,10 +2274,12 @@ Tktt_Dealloc(PyObject *self)
{
TkttObject *v = (TkttObject *)self;
PyObject *func = v->func;
+ PyObject *tp = (PyObject *) Py_TYPE(self);
Py_XDECREF(func);
PyObject_Del(self);
+ Py_DECREF(tp);
}
static PyObject *
@@ -2497,38 +2291,20 @@ Tktt_Repr(PyObject *self)
v->func == NULL ? ", handler deleted" : "");
}
-static PyTypeObject Tktt_Type =
-{
- PyVarObject_HEAD_INIT(NULL, 0)
- "tktimertoken", /*tp_name */
- sizeof(TkttObject), /*tp_basicsize */
- 0, /*tp_itemsize */
- Tktt_Dealloc, /*tp_dealloc */
- 0, /*tp_print */
- 0, /*tp_getattr */
- 0, /*tp_setattr */
- 0, /*tp_reserved */
- Tktt_Repr, /*tp_repr */
- 0, /*tp_as_number */
- 0, /*tp_as_sequence */
- 0, /*tp_as_mapping */
- 0, /*tp_hash */
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT, /*tp_flags*/
- 0, /*tp_doc*/
- 0, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- Tktt_methods, /*tp_methods*/
+static PyType_Slot Tktt_Type_slots[] = {
+ {Py_tp_dealloc, Tktt_Dealloc},
+ {Py_tp_repr, Tktt_Repr},
+ {Py_tp_methods, Tktt_methods},
+ {0, 0}
};
+static PyType_Spec Tktt_Type_spec = {
+ "tktimertoken",
+ sizeof(TkttObject),
+ 0,
+ Py_TPFLAGS_DEFAULT,
+ Tktt_Type_slots,
+};
/** Timer Handler **/
@@ -2650,8 +2426,7 @@ Tkapp_MainLoop(PyObject *selfptr, PyObject *args)
excInCmd = valInCmd = trbInCmd = NULL;
return NULL;
}
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
static PyObject *
@@ -2677,8 +2452,7 @@ Tkapp_Quit(PyObject *self, PyObject *args)
return NULL;
quitMainLoop = 1;
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
static PyObject *
@@ -2728,15 +2502,15 @@ Tkapp_TkInit(PyObject *self, PyObject *args)
}
if (_tk_exists == NULL || strcmp(_tk_exists, "1") != 0) {
if (Tk_Init(interp) == TCL_ERROR) {
- PyErr_SetString(Tkinter_TclError, Tcl_GetStringResult(Tkapp_Interp(self)));
+ PyErr_SetString(Tkinter_TclError,
+ Tcl_GetStringResult(Tkapp_Interp(self)));
#ifdef TKINTER_PROTECT_LOADTK
tk_load_failed = 1;
#endif
return NULL;
}
}
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
static PyObject *
@@ -2750,8 +2524,7 @@ Tkapp_WantObjects(PyObject *self, PyObject *args)
return PyBool_FromLong(((TkappObject*)self)->wantobjects);
((TkappObject*)self)->wantobjects = wantobjects;
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
static PyObject *
@@ -2760,8 +2533,7 @@ Tkapp_WillDispatch(PyObject *self, PyObject *args)
((TkappObject*)self)->dispatching = 1;
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
@@ -2772,9 +2544,7 @@ static PyMethodDef Tkapp_methods[] =
{"willdispatch", Tkapp_WillDispatch, METH_NOARGS},
{"wantobjects", Tkapp_WantObjects, METH_VARARGS},
{"call", Tkapp_Call, METH_VARARGS},
- {"globalcall", Tkapp_GlobalCall, METH_VARARGS},
{"eval", Tkapp_Eval, METH_VARARGS},
- {"globaleval", Tkapp_GlobalEval, METH_VARARGS},
{"evalfile", Tkapp_EvalFile, METH_VARARGS},
{"record", Tkapp_Record, METH_VARARGS},
{"adderrorinfo", Tkapp_AddErrorInfo, METH_VARARGS},
@@ -2793,7 +2563,6 @@ static PyMethodDef Tkapp_methods[] =
{"exprboolean", Tkapp_ExprBoolean, METH_VARARGS},
{"splitlist", Tkapp_SplitList, METH_VARARGS},
{"split", Tkapp_Split, METH_VARARGS},
- {"merge", Tkapp_Merge, METH_VARARGS},
{"createcommand", Tkapp_CreateCommand, METH_VARARGS},
{"deletecommand", Tkapp_DeleteCommand, METH_VARARGS},
#ifdef HAVE_CREATEFILEHANDLER
@@ -2816,44 +2585,29 @@ static PyMethodDef Tkapp_methods[] =
static void
Tkapp_Dealloc(PyObject *self)
{
+ PyObject *tp = (PyObject *) Py_TYPE(self);
/*CHECK_TCL_APPARTMENT;*/
ENTER_TCL
Tcl_DeleteInterp(Tkapp_Interp(self));
LEAVE_TCL
PyObject_Del(self);
+ Py_DECREF(tp);
DisableEventHook();
}
-static PyTypeObject Tkapp_Type =
-{
- PyVarObject_HEAD_INIT(NULL, 0)
- "tkapp", /*tp_name */
- sizeof(TkappObject), /*tp_basicsize */
- 0, /*tp_itemsize */
- Tkapp_Dealloc, /*tp_dealloc */
- 0, /*tp_print */
- 0, /*tp_getattr */
- 0, /*tp_setattr */
- 0, /*tp_reserved */
- 0, /*tp_repr */
- 0, /*tp_as_number */
- 0, /*tp_as_sequence */
- 0, /*tp_as_mapping */
- 0, /*tp_hash */
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT, /*tp_flags*/
- 0, /*tp_doc*/
- 0, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- Tkapp_methods, /*tp_methods*/
+static PyType_Slot Tkapp_Type_slots[] = {
+ {Py_tp_dealloc, Tkapp_Dealloc},
+ {Py_tp_methods, Tkapp_methods},
+ {0, 0}
+};
+
+
+static PyType_Spec Tkapp_Type_spec = {
+ "tkapp",
+ sizeof(TkappObject),
+ 0,
+ Py_TPFLAGS_DEFAULT,
+ Tkapp_Type_slots,
};
@@ -2993,7 +2747,7 @@ Tkinter_Create(PyObject *self, PyObject *args)
return NULL;
return (PyObject *) Tkapp_New(screenName, className,
- interactive, wantobjects, wantTk,
+ interactive, wantobjects, wantTk,
sync, use);
}
@@ -3009,8 +2763,7 @@ Tkinter_setbusywaitinterval(PyObject *self, PyObject *args)
return NULL;
}
Tkinter_busywaitinterval = new_val;
- Py_INCREF(Py_None);
- return Py_None;
+ Py_RETURN_NONE;
}
static char setbusywaitinterval_doc[] =
@@ -3143,27 +2896,6 @@ DisableEventHook(void)
}
-/* all errors will be checked in one fell swoop in init_tkinter() */
-static void
-ins_long(PyObject *d, char *name, long val)
-{
- PyObject *v = PyLong_FromLong(val);
- if (v) {
- PyDict_SetItemString(d, name, v);
- Py_DECREF(v);
- }
-}
-static void
-ins_string(PyObject *d, char *name, char *val)
-{
- PyObject *v = PyUnicode_FromString(val);
- if (v) {
- PyDict_SetItemString(d, name, v);
- Py_DECREF(v);
- }
-}
-
-
static struct PyModuleDef _tkintermodule = {
PyModuleDef_HEAD_INIT,
"_tkinter",
@@ -3179,45 +2911,111 @@ static struct PyModuleDef _tkintermodule = {
PyMODINIT_FUNC
PyInit__tkinter(void)
{
- PyObject *m, *d, *uexe, *cexe;
-
- if (PyType_Ready(&Tkapp_Type) < 0)
- return NULL;
+ PyObject *m, *uexe, *cexe, *o;
#ifdef WITH_THREAD
tcl_lock = PyThread_allocate_lock();
+ if (tcl_lock == NULL)
+ return NULL;
#endif
m = PyModule_Create(&_tkintermodule);
if (m == NULL)
return NULL;
- d = PyModule_GetDict(m);
- Tkinter_TclError = PyErr_NewException("_tkinter.TclError", NULL, NULL);
- PyDict_SetItemString(d, "TclError", Tkinter_TclError);
+ o = PyErr_NewException("_tkinter.TclError", NULL, NULL);
+ if (o == NULL) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ Py_INCREF(o);
+ if (PyModule_AddObject(m, "TclError", o)) {
+ Py_DECREF(o);
+ Py_DECREF(m);
+ return NULL;
+ }
+ Tkinter_TclError = o;
- ins_long(d, "READABLE", TCL_READABLE);
- ins_long(d, "WRITABLE", TCL_WRITABLE);
- ins_long(d, "EXCEPTION", TCL_EXCEPTION);
- ins_long(d, "WINDOW_EVENTS", TCL_WINDOW_EVENTS);
- ins_long(d, "FILE_EVENTS", TCL_FILE_EVENTS);
- ins_long(d, "TIMER_EVENTS", TCL_TIMER_EVENTS);
- ins_long(d, "IDLE_EVENTS", TCL_IDLE_EVENTS);
- ins_long(d, "ALL_EVENTS", TCL_ALL_EVENTS);
- ins_long(d, "DONT_WAIT", TCL_DONT_WAIT);
- ins_string(d, "TK_VERSION", TK_VERSION);
- ins_string(d, "TCL_VERSION", TCL_VERSION);
+ if (PyModule_AddIntConstant(m, "READABLE", TCL_READABLE)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddIntConstant(m, "WRITABLE", TCL_WRITABLE)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddIntConstant(m, "EXCEPTION", TCL_EXCEPTION)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddIntConstant(m, "WINDOW_EVENTS", TCL_WINDOW_EVENTS)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddIntConstant(m, "FILE_EVENTS", TCL_FILE_EVENTS)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddIntConstant(m, "TIMER_EVENTS", TCL_TIMER_EVENTS)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddIntConstant(m, "IDLE_EVENTS", TCL_IDLE_EVENTS)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddIntConstant(m, "ALL_EVENTS", TCL_ALL_EVENTS)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddIntConstant(m, "DONT_WAIT", TCL_DONT_WAIT)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddStringConstant(m, "TK_VERSION", TK_VERSION)) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddStringConstant(m, "TCL_VERSION", TCL_VERSION)) {
+ Py_DECREF(m);
+ return NULL;
+ }
- PyDict_SetItemString(d, "TkappType", (PyObject *)&Tkapp_Type);
+ o = PyType_FromSpec(&Tkapp_Type_spec);
+ if (o == NULL) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddObject(m, "TkappType", o)) {
+ Py_DECREF(o);
+ Py_DECREF(m);
+ return NULL;
+ }
+ Tkapp_Type = o;
- if (PyType_Ready(&Tktt_Type) < 0) {
+ o = PyType_FromSpec(&Tktt_Type_spec);
+ if (o == NULL) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddObject(m, "TkttType", o)) {
+ Py_DECREF(o);
Py_DECREF(m);
return NULL;
}
- PyDict_SetItemString(d, "TkttType", (PyObject *)&Tktt_Type);
+ Tktt_Type = o;
- Py_TYPE(&PyTclObject_Type) = &PyType_Type;
- PyDict_SetItemString(d, "Tcl_Obj", (PyObject *)&PyTclObject_Type);
+ o = PyType_FromSpec(&PyTclObject_Type_spec);
+ if (o == NULL) {
+ Py_DECREF(m);
+ return NULL;
+ }
+ if (PyModule_AddObject(m, "Tcl_Obj", o)) {
+ Py_DECREF(o);
+ Py_DECREF(m);
+ return NULL;
+ }
+ PyTclObject_Type = o;
#ifdef TK_AQUA
/* Tk_MacOSXSetupTkNotifier must be called before Tcl's subsystems
diff --git a/Modules/_winapi.c b/Modules/_winapi.c
index c53d55a535..20d0063aaf 100644
--- a/Modules/_winapi.c
+++ b/Modules/_winapi.c
@@ -62,6 +62,8 @@
#define T_HANDLE T_POINTER
+#define DWORD_MAX 4294967295U
+
/* Grab CancelIoEx dynamically from kernel32 */
static int has_CancelIoEx = -1;
static BOOL (CALLBACK *Py_CancelIoEx)(HANDLE, LPOVERLAPPED);
@@ -1142,7 +1144,7 @@ winapi_WriteFile(PyObject *self, PyObject *args, PyObject *kwds)
HANDLE handle;
Py_buffer _buf, *buf;
PyObject *bufobj;
- DWORD written;
+ DWORD len, written;
BOOL ret;
int use_overlapped = 0;
DWORD err;
@@ -1170,7 +1172,8 @@ winapi_WriteFile(PyObject *self, PyObject *args, PyObject *kwds)
}
Py_BEGIN_ALLOW_THREADS
- ret = WriteFile(handle, buf->buf, buf->len, &written,
+ len = (DWORD)Py_MIN(buf->len, DWORD_MAX);
+ ret = WriteFile(handle, buf->buf, len, &written,
overlapped ? &overlapped->overlapped : NULL);
Py_END_ALLOW_THREADS
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 96c9e5bba7..75b31f5b5e 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -513,7 +513,7 @@ newarrayobject(PyTypeObject *type, Py_ssize_t size, struct arraydescr *descr)
static PyObject *
getarrayitem(PyObject *op, Py_ssize_t i)
{
- register arrayobject *ap;
+ arrayobject *ap;
assert(array_Check(op));
ap = (arrayobject *)op;
assert(i>=0 && i<Py_SIZE(ap));
@@ -968,8 +968,13 @@ array_count(arrayobject *self, PyObject *v)
Py_ssize_t i;
for (i = 0; i < Py_SIZE(self); i++) {
- PyObject *selfi = getarrayitem((PyObject *)self, i);
- int cmp = PyObject_RichCompareBool(selfi, v, Py_EQ);
+ PyObject *selfi;
+ int cmp;
+
+ selfi = getarrayitem((PyObject *)self, i);
+ if (selfi == NULL)
+ return NULL;
+ cmp = PyObject_RichCompareBool(selfi, v, Py_EQ);
Py_DECREF(selfi);
if (cmp > 0)
count++;
@@ -990,8 +995,13 @@ array_index(arrayobject *self, PyObject *v)
Py_ssize_t i;
for (i = 0; i < Py_SIZE(self); i++) {
- PyObject *selfi = getarrayitem((PyObject *)self, i);
- int cmp = PyObject_RichCompareBool(selfi, v, Py_EQ);
+ PyObject *selfi;
+ int cmp;
+
+ selfi = getarrayitem((PyObject *)self, i);
+ if (selfi == NULL)
+ return NULL;
+ cmp = PyObject_RichCompareBool(selfi, v, Py_EQ);
Py_DECREF(selfi);
if (cmp > 0) {
return PyLong_FromLong((long)i);
@@ -1016,6 +1026,8 @@ array_contains(arrayobject *self, PyObject *v)
for (i = 0, cmp = 0 ; cmp == 0 && i < Py_SIZE(self); i++) {
PyObject *selfi = getarrayitem((PyObject *)self, i);
+ if (selfi == NULL)
+ return -1;
cmp = PyObject_RichCompareBool(selfi, v, Py_EQ);
Py_DECREF(selfi);
}
@@ -1028,8 +1040,13 @@ array_remove(arrayobject *self, PyObject *v)
int i;
for (i = 0; i < Py_SIZE(self); i++) {
- PyObject *selfi = getarrayitem((PyObject *)self,i);
- int cmp = PyObject_RichCompareBool(selfi, v, Py_EQ);
+ PyObject *selfi;
+ int cmp;
+
+ selfi = getarrayitem((PyObject *)self,i);
+ if (selfi == NULL)
+ return NULL;
+ cmp = PyObject_RichCompareBool(selfi, v, Py_EQ);
Py_DECREF(selfi);
if (cmp > 0) {
if (array_ass_slice(self, i, i+1,
@@ -1068,7 +1085,9 @@ array_pop(arrayobject *self, PyObject *args)
PyErr_SetString(PyExc_IndexError, "pop index out of range");
return NULL;
}
- v = getarrayitem((PyObject *)self,i);
+ v = getarrayitem((PyObject *)self, i);
+ if (v == NULL)
+ return NULL;
if (array_ass_slice(self, i, i+1, (PyObject *)NULL) != 0) {
Py_DECREF(v);
return NULL;
@@ -1206,8 +1225,8 @@ Byteswap all items of the array. If the items in the array are not 1, 2,\n\
static PyObject *
array_reverse(arrayobject *self, PyObject *unused)
{
- register Py_ssize_t itemsize = self->ob_descr->itemsize;
- register char *p, *q;
+ Py_ssize_t itemsize = self->ob_descr->itemsize;
+ char *p, *q;
/* little buffer to hold items while swapping */
char tmp[256]; /* 8 is probably enough -- but why skimp */
assert((size_t)itemsize <= sizeof(tmp));
@@ -1386,13 +1405,16 @@ array_tolist(arrayobject *self, PyObject *unused)
return NULL;
for (i = 0; i < Py_SIZE(self); i++) {
PyObject *v = getarrayitem((PyObject *)self, i);
- if (v == NULL) {
- Py_DECREF(list);
- return NULL;
- }
- PyList_SetItem(list, i, v);
+ if (v == NULL)
+ goto error;
+ if (PyList_SetItem(list, i, v) < 0)
+ goto error;
}
return list;
+
+error:
+ Py_DECREF(list);
+ return NULL;
}
PyDoc_STRVAR(tolist_doc,
@@ -1664,11 +1686,8 @@ static const struct mformatdescr {
static enum machine_format_code
typecode_to_mformat_code(char typecode)
{
-#ifdef WORDS_BIGENDIAN
- const int is_big_endian = 1;
-#else
- const int is_big_endian = 0;
-#endif
+ const int is_big_endian = PY_BIG_ENDIAN;
+
size_t intsize;
int is_signed;
diff --git a/Modules/atexitmodule.c b/Modules/atexitmodule.c
index f68d8047ed..98870141dd 100644
--- a/Modules/atexitmodule.c
+++ b/Modules/atexitmodule.c
@@ -10,8 +10,6 @@
/* Forward declaration (for atexit_cleanup) */
static PyObject *atexit_clear(PyObject*, PyObject*);
-/* Forward declaration (for atexit_callfuncs) */
-static void atexit_cleanup(PyObject*);
/* Forward declaration of module object */
static struct PyModuleDef atexitmodule;
@@ -33,6 +31,35 @@ typedef struct {
#define GET_ATEXIT_STATE(mod) ((atexitmodule_state*)PyModule_GetState(mod))
+static void
+atexit_delete_cb(atexitmodule_state *modstate, int i)
+{
+ atexit_callback *cb;
+
+ cb = modstate->atexit_callbacks[i];
+ modstate->atexit_callbacks[i] = NULL;
+ Py_DECREF(cb->func);
+ Py_DECREF(cb->args);
+ Py_XDECREF(cb->kwargs);
+ PyMem_Free(cb);
+}
+
+/* Clear all callbacks without calling them */
+static void
+atexit_cleanup(atexitmodule_state *modstate)
+{
+ atexit_callback *cb;
+ int i;
+ for (i = 0; i < modstate->ncallbacks; i++) {
+ cb = modstate->atexit_callbacks[i];
+ if (cb == NULL)
+ continue;
+
+ atexit_delete_cb(modstate, i);
+ }
+ modstate->ncallbacks = 0;
+}
+
/* Installed into pythonrun.c's atexit mechanism */
static void
@@ -78,34 +105,12 @@ atexit_callfuncs(void)
}
}
- atexit_cleanup(module);
+ atexit_cleanup(modstate);
if (exc_type)
PyErr_Restore(exc_type, exc_value, exc_tb);
}
-static void
-atexit_delete_cb(PyObject *self, int i)
-{
- atexitmodule_state *modstate;
- atexit_callback *cb;
-
- modstate = GET_ATEXIT_STATE(self);
- cb = modstate->atexit_callbacks[i];
- modstate->atexit_callbacks[i] = NULL;
- Py_DECREF(cb->func);
- Py_DECREF(cb->args);
- Py_XDECREF(cb->kwargs);
- PyMem_Free(cb);
-}
-
-static void
-atexit_cleanup(PyObject *self)
-{
- PyObject *r = atexit_clear(self, NULL);
- Py_DECREF(r);
-}
-
/* ===================================================================== */
/* Module methods. */
@@ -194,21 +199,50 @@ Clear the list of previously registered exit functions.");
static PyObject *
atexit_clear(PyObject *self, PyObject *unused)
{
+ atexit_cleanup(GET_ATEXIT_STATE(self));
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(atexit_ncallbacks__doc__,
+"_ncallbacks() -> int\n\
+\n\
+Return the number of registered exit functions.");
+
+static PyObject *
+atexit_ncallbacks(PyObject *self, PyObject *unused)
+{
atexitmodule_state *modstate;
- atexit_callback *cb;
- int i;
modstate = GET_ATEXIT_STATE(self);
+ return PyLong_FromSsize_t(modstate->ncallbacks);
+}
+
+static int
+atexit_m_traverse(PyObject *self, visitproc visit, void *arg)
+{
+ int i;
+ atexitmodule_state *modstate;
+
+ modstate = GET_ATEXIT_STATE(self);
for (i = 0; i < modstate->ncallbacks; i++) {
- cb = modstate->atexit_callbacks[i];
+ atexit_callback *cb = modstate->atexit_callbacks[i];
if (cb == NULL)
continue;
-
- atexit_delete_cb(self, i);
+ Py_VISIT(cb->func);
+ Py_VISIT(cb->args);
+ Py_VISIT(cb->kwargs);
}
- modstate->ncallbacks = 0;
- Py_RETURN_NONE;
+ return 0;
+}
+
+static int
+atexit_m_clear(PyObject *self)
+{
+ atexitmodule_state *modstate;
+ modstate = GET_ATEXIT_STATE(self);
+ atexit_cleanup(modstate);
+ return 0;
}
static void
@@ -216,6 +250,7 @@ atexit_free(PyObject *m)
{
atexitmodule_state *modstate;
modstate = GET_ATEXIT_STATE(m);
+ atexit_cleanup(modstate);
PyMem_Free(modstate->atexit_callbacks);
}
@@ -246,7 +281,7 @@ atexit_unregister(PyObject *self, PyObject *func)
if (eq < 0)
return NULL;
if (eq)
- atexit_delete_cb(self, i);
+ atexit_delete_cb(modstate, i);
}
Py_RETURN_NONE;
}
@@ -260,6 +295,8 @@ static PyMethodDef atexit_methods[] = {
atexit_unregister__doc__},
{"_run_exitfuncs", (PyCFunction) atexit_run_exitfuncs, METH_NOARGS,
atexit_run_exitfuncs__doc__},
+ {"_ncallbacks", (PyCFunction) atexit_ncallbacks, METH_NOARGS,
+ atexit_ncallbacks__doc__},
{NULL, NULL} /* sentinel */
};
@@ -275,15 +312,15 @@ Two public functions, register and unregister, are defined.\n\
static struct PyModuleDef atexitmodule = {
- PyModuleDef_HEAD_INIT,
- "atexit",
- atexit__doc__,
- sizeof(atexitmodule_state),
- atexit_methods,
- NULL,
- NULL,
- NULL,
- (freefunc)atexit_free
+ PyModuleDef_HEAD_INIT,
+ "atexit",
+ atexit__doc__,
+ sizeof(atexitmodule_state),
+ atexit_methods,
+ NULL,
+ atexit_m_traverse,
+ atexit_m_clear,
+ (freefunc)atexit_free
};
PyMODINIT_FUNC
diff --git a/Modules/audioop.c b/Modules/audioop.c
index 7e40bbddc6..7175cec7c7 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -37,7 +37,7 @@ fbound(double val, double minval, double maxval)
val = maxval;
else if (val < minval + 1)
val = minval;
- return val;
+ return (int)val;
}
@@ -1137,8 +1137,8 @@ audioop_ratecv(PyObject *self, PyObject *args)
"not enough memory for output buffer");
return 0;
}
- prev_i = (int *) malloc(nchannels * sizeof(int));
- cur_i = (int *) malloc(nchannels * sizeof(int));
+ prev_i = (int *) PyMem_Malloc(nchannels * sizeof(int));
+ cur_i = (int *) PyMem_Malloc(nchannels * sizeof(int));
if (prev_i == NULL || cur_i == NULL) {
(void) PyErr_NoMemory();
goto exit;
@@ -1257,10 +1257,8 @@ audioop_ratecv(PyObject *self, PyObject *args)
}
}
exit:
- if (prev_i != NULL)
- free(prev_i);
- if (cur_i != NULL)
- free(cur_i);
+ PyMem_Free(prev_i);
+ PyMem_Free(cur_i);
return rv;
}
diff --git a/Modules/binascii.c b/Modules/binascii.c
index 340ec9c426..386c2deefd 100644
--- a/Modules/binascii.c
+++ b/Modules/binascii.c
@@ -361,8 +361,7 @@ binascii_b2a_uu(PyObject *self, PyObject *args)
if (_PyBytes_Resize(&rv,
(ascii_data -
(unsigned char *)PyBytes_AS_STRING(rv))) < 0) {
- Py_DECREF(rv);
- rv = NULL;
+ Py_CLEAR(rv);
}
PyBuffer_Release(&pbin);
return rv;
@@ -491,8 +490,7 @@ binascii_a2b_base64(PyObject *self, PyObject *args)
*/
if (bin_len > 0) {
if (_PyBytes_Resize(&rv, bin_len) < 0) {
- Py_DECREF(rv);
- rv = NULL;
+ Py_CLEAR(rv);
}
}
else {
@@ -563,8 +561,7 @@ binascii_b2a_base64(PyObject *self, PyObject *args)
if (_PyBytes_Resize(&rv,
(ascii_data -
(unsigned char *)PyBytes_AS_STRING(rv))) < 0) {
- Py_DECREF(rv);
- rv = NULL;
+ Py_CLEAR(rv);
}
PyBuffer_Release(&pbuf);
return rv;
@@ -642,8 +639,7 @@ binascii_a2b_hqx(PyObject *self, PyObject *args)
if (_PyBytes_Resize(&rv,
(bin_data -
(unsigned char *)PyBytes_AS_STRING(rv))) < 0) {
- Py_DECREF(rv);
- rv = NULL;
+ Py_CLEAR(rv);
}
if (rv) {
PyObject *rrv = Py_BuildValue("Oi", rv, done);
@@ -713,8 +709,7 @@ binascii_rlecode_hqx(PyObject *self, PyObject *args)
if (_PyBytes_Resize(&rv,
(out_data -
(unsigned char *)PyBytes_AS_STRING(rv))) < 0) {
- Py_DECREF(rv);
- rv = NULL;
+ Py_CLEAR(rv);
}
PyBuffer_Release(&pbuf);
return rv;
@@ -770,8 +765,7 @@ binascii_b2a_hqx(PyObject *self, PyObject *args)
if (_PyBytes_Resize(&rv,
(ascii_data -
(unsigned char *)PyBytes_AS_STRING(rv))) < 0) {
- Py_DECREF(rv);
- rv = NULL;
+ Py_CLEAR(rv);
}
PyBuffer_Release(&pbin);
return rv;
@@ -834,7 +828,7 @@ binascii_rledecode_hqx(PyObject *self, PyObject *args)
if ( --out_len_left < 0 ) { \
if ( out_len > PY_SSIZE_T_MAX / 2) return PyErr_NoMemory(); \
if (_PyBytes_Resize(&rv, 2*out_len) < 0) \
- { Py_DECREF(rv); PyBuffer_Release(&pin); return NULL; } \
+ { Py_XDECREF(rv); PyBuffer_Release(&pin); return NULL; } \
out_data = (unsigned char *)PyBytes_AS_STRING(rv) \
+ out_len; \
out_len_left = out_len-1; \
@@ -887,8 +881,7 @@ binascii_rledecode_hqx(PyObject *self, PyObject *args)
if (_PyBytes_Resize(&rv,
(out_data -
(unsigned char *)PyBytes_AS_STRING(rv))) < 0) {
- Py_DECREF(rv);
- rv = NULL;
+ Py_CLEAR(rv);
}
PyBuffer_Release(&pin);
return rv;
diff --git a/Modules/cjkcodecs/_codecs_cn.c b/Modules/cjkcodecs/_codecs_cn.c
index 9e9e96c4d1..285da1e28e 100644
--- a/Modules/cjkcodecs/_codecs_cn.c
+++ b/Modules/cjkcodecs/_codecs_cn.c
@@ -23,12 +23,12 @@
* A844 undefined U+2015 HORIZONTAL BAR
*/
-#define GBK_DECODE(dc1, dc2, assi) \
- if ((dc1) == 0xa1 && (dc2) == 0xaa) (assi) = 0x2014; \
- else if ((dc1) == 0xa8 && (dc2) == 0x44) (assi) = 0x2015; \
- else if ((dc1) == 0xa1 && (dc2) == 0xa4) (assi) = 0x00b7; \
- else TRYMAP_DEC(gb2312, assi, dc1 ^ 0x80, dc2 ^ 0x80); \
- else TRYMAP_DEC(gbkext, assi, dc1, dc2);
+#define GBK_DECODE(dc1, dc2, writer) \
+ if ((dc1) == 0xa1 && (dc2) == 0xaa) OUTCHAR(0x2014); \
+ else if ((dc1) == 0xa8 && (dc2) == 0x44) OUTCHAR(0x2015); \
+ else if ((dc1) == 0xa1 && (dc2) == 0xa4) OUTCHAR(0x00b7); \
+ else TRYMAP_DEC(gb2312, writer, dc1 ^ 0x80, dc2 ^ 0x80); \
+ else TRYMAP_DEC(gbkext, writer, dc1, dc2);
#define GBK_ENCODE(code, assi) \
if ((code) == 0x2014) (assi) = 0xa1aa; \
@@ -42,16 +42,18 @@
ENCODER(gb2312)
{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
if (c < 0x80) {
- WRITE1((unsigned char)c)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)c)
+ NEXT(1, 1);
continue;
}
- UCS4INVALID(c)
+
+ if (c > 0xFFFF)
+ return 1;
REQUIRE_OUTBUF(2)
TRYMAP_ENC(gbcommon, code, c);
@@ -60,9 +62,9 @@ ENCODER(gb2312)
if (code & 0x8000) /* MSB set: GBK */
return 1;
- OUT1((code >> 8) | 0x80)
- OUT2((code & 0xFF) | 0x80)
- NEXT(1, 2)
+ OUTBYTE1((code >> 8) | 0x80)
+ OUTBYTE2((code & 0xFF) | 0x80)
+ NEXT(1, 2);
}
return 0;
@@ -73,17 +75,15 @@ DECODER(gb2312)
while (inleft > 0) {
unsigned char c = **inbuf;
- REQUIRE_OUTBUF(1)
-
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
REQUIRE_INBUF(2)
- TRYMAP_DEC(gb2312, **outbuf, c ^ 0x80, IN2 ^ 0x80) {
- NEXT(2, 1)
+ TRYMAP_DEC(gb2312, writer, c ^ 0x80, INBYTE2 ^ 0x80) {
+ NEXT_IN(2);
}
else return 1;
}
@@ -98,28 +98,30 @@ DECODER(gb2312)
ENCODER(gbk)
{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
if (c < 0x80) {
- WRITE1((unsigned char)c)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)c)
+ NEXT(1, 1);
continue;
}
- UCS4INVALID(c)
+
+ if (c > 0xFFFF)
+ return 1;
REQUIRE_OUTBUF(2)
GBK_ENCODE(c, code)
else return 1;
- OUT1((code >> 8) | 0x80)
+ OUTBYTE1((code >> 8) | 0x80)
if (code & 0x8000)
- OUT2((code & 0xFF)) /* MSB set: GBK */
+ OUTBYTE2((code & 0xFF)) /* MSB set: GBK */
else
- OUT2((code & 0xFF) | 0x80) /* MSB unset: GB2312 */
- NEXT(1, 2)
+ OUTBYTE2((code & 0xFF) | 0x80) /* MSB unset: GB2312 */
+ NEXT(1, 2);
}
return 0;
@@ -128,22 +130,20 @@ ENCODER(gbk)
DECODER(gbk)
{
while (inleft > 0) {
- unsigned char c = IN1;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1;
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
REQUIRE_INBUF(2)
- GBK_DECODE(c, IN2, **outbuf)
+ GBK_DECODE(c, INBYTE2, writer)
else return 1;
- NEXT(2, 1)
+ NEXT_IN(2);
}
return 0;
@@ -156,41 +156,31 @@ DECODER(gbk)
ENCODER(gb18030)
{
- while (inleft > 0) {
- ucs4_t c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
if (c < 0x80) {
- WRITE1(c)
- NEXT(1, 1)
+ WRITEBYTE1(c)
+ NEXT(1, 1);
continue;
}
- DECODE_SURROGATE(c)
- if (c > 0x10FFFF)
-#if Py_UNICODE_SIZE == 2
- return 2; /* surrogates pair */
-#else
- return 1;
-#endif
- else if (c >= 0x10000) {
- ucs4_t tc = c - 0x10000;
+ if (c >= 0x10000) {
+ Py_UCS4 tc = c - 0x10000;
+ assert (c <= 0x10FFFF);
REQUIRE_OUTBUF(4)
- OUT4((unsigned char)(tc % 10) + 0x30)
+ OUTBYTE4((unsigned char)(tc % 10) + 0x30)
tc /= 10;
- OUT3((unsigned char)(tc % 126) + 0x81)
+ OUTBYTE3((unsigned char)(tc % 126) + 0x81)
tc /= 126;
- OUT2((unsigned char)(tc % 10) + 0x30)
+ OUTBYTE2((unsigned char)(tc % 10) + 0x30)
tc /= 10;
- OUT1((unsigned char)(tc + 0x90))
+ OUTBYTE1((unsigned char)(tc + 0x90))
-#if Py_UNICODE_SIZE == 2
- NEXT(2, 4) /* surrogates pair */
-#else
- NEXT(1, 4)
-#endif
+ NEXT(1, 4);
continue;
}
@@ -208,20 +198,20 @@ ENCODER(gb18030)
utrrange++)
if (utrrange->first <= c &&
c <= utrrange->last) {
- Py_UNICODE tc;
+ Py_UCS4 tc;
tc = c - utrrange->first +
utrrange->base;
- OUT4((unsigned char)(tc % 10) + 0x30)
+ OUTBYTE4((unsigned char)(tc % 10) + 0x30)
tc /= 10;
- OUT3((unsigned char)(tc % 126) + 0x81)
+ OUTBYTE3((unsigned char)(tc % 126) + 0x81)
tc /= 126;
- OUT2((unsigned char)(tc % 10) + 0x30)
+ OUTBYTE2((unsigned char)(tc % 10) + 0x30)
tc /= 10;
- OUT1((unsigned char)tc + 0x81)
+ OUTBYTE1((unsigned char)tc + 0x81)
- NEXT(1, 4)
+ NEXT(1, 4);
break;
}
@@ -230,13 +220,13 @@ ENCODER(gb18030)
continue;
}
- OUT1((code >> 8) | 0x80)
+ OUTBYTE1((code >> 8) | 0x80)
if (code & 0x8000)
- OUT2((code & 0xFF)) /* MSB set: GBK or GB18030ext */
+ OUTBYTE2((code & 0xFF)) /* MSB set: GBK or GB18030ext */
else
- OUT2((code & 0xFF) | 0x80) /* MSB unset: GB2312 */
+ OUTBYTE2((code & 0xFF) | 0x80) /* MSB unset: GB2312 */
- NEXT(1, 2)
+ NEXT(1, 2);
}
return 0;
@@ -245,61 +235,59 @@ ENCODER(gb18030)
DECODER(gb18030)
{
while (inleft > 0) {
- unsigned char c = IN1, c2;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1, c2;
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
REQUIRE_INBUF(2)
- c2 = IN2;
+ c2 = INBYTE2;
if (c2 >= 0x30 && c2 <= 0x39) { /* 4 bytes seq */
const struct _gb18030_to_unibmp_ranges *utr;
unsigned char c3, c4;
- ucs4_t lseq;
+ Py_UCS4 lseq;
REQUIRE_INBUF(4)
- c3 = IN3;
- c4 = IN4;
+ c3 = INBYTE3;
+ c4 = INBYTE4;
if (c < 0x81 || c3 < 0x81 || c4 < 0x30 || c4 > 0x39)
return 1;
c -= 0x81; c2 -= 0x30;
c3 -= 0x81; c4 -= 0x30;
if (c < 4) { /* U+0080 - U+FFFF */
- lseq = ((ucs4_t)c * 10 + c2) * 1260 +
- (ucs4_t)c3 * 10 + c4;
+ lseq = ((Py_UCS4)c * 10 + c2) * 1260 +
+ (Py_UCS4)c3 * 10 + c4;
if (lseq < 39420) {
for (utr = gb18030_to_unibmp_ranges;
lseq >= (utr + 1)->base;
utr++) ;
- OUT1(utr->first - utr->base + lseq)
- NEXT(4, 1)
+ OUTCHAR(utr->first - utr->base + lseq);
+ NEXT_IN(4);
continue;
}
}
else if (c >= 15) { /* U+10000 - U+10FFFF */
- lseq = 0x10000 + (((ucs4_t)c-15) * 10 + c2)
- * 1260 + (ucs4_t)c3 * 10 + c4;
+ lseq = 0x10000 + (((Py_UCS4)c-15) * 10 + c2)
+ * 1260 + (Py_UCS4)c3 * 10 + c4;
if (lseq <= 0x10FFFF) {
- WRITEUCS4(lseq);
- NEXT_IN(4)
+ OUTCHAR(lseq);
+ NEXT_IN(4);
continue;
}
}
return 1;
}
- GBK_DECODE(c, c2, **outbuf)
- else TRYMAP_DEC(gb18030ext, **outbuf, c, c2);
+ GBK_DECODE(c, c2, writer)
+ else TRYMAP_DEC(gb18030ext, writer, c, c2);
else return 1;
- NEXT(2, 1)
+ NEXT_IN(2);
}
return 0;
@@ -319,33 +307,34 @@ ENCODER_INIT(hz)
ENCODER_RESET(hz)
{
if (state->i != 0) {
- WRITE2('~', '}')
+ WRITEBYTE2('~', '}')
state->i = 0;
- NEXT_OUT(2)
+ NEXT_OUT(2);
}
return 0;
}
ENCODER(hz)
{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
if (c < 0x80) {
if (state->i == 0) {
- WRITE1((unsigned char)c)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)c)
+ NEXT(1, 1);
}
else {
- WRITE3('~', '}', (unsigned char)c)
- NEXT(1, 3)
+ WRITEBYTE3('~', '}', (unsigned char)c)
+ NEXT(1, 3);
state->i = 0;
}
continue;
}
- UCS4INVALID(c)
+ if (c > 0xFFFF)
+ return 1;
TRYMAP_ENC(gbcommon, code, c);
else return 1;
@@ -354,13 +343,13 @@ ENCODER(hz)
return 1;
if (state->i == 0) {
- WRITE4('~', '{', code >> 8, code & 0xff)
- NEXT(1, 4)
+ WRITEBYTE4('~', '{', code >> 8, code & 0xff)
+ NEXT(1, 4);
state->i = 1;
}
else {
- WRITE2(code >> 8, code & 0xff)
- NEXT(1, 2)
+ WRITEBYTE2(code >> 8, code & 0xff)
+ NEXT(1, 2);
}
}
@@ -382,15 +371,15 @@ DECODER_RESET(hz)
DECODER(hz)
{
while (inleft > 0) {
- unsigned char c = IN1;
+ unsigned char c = INBYTE1;
if (c == '~') {
- unsigned char c2 = IN2;
+ unsigned char c2 = INBYTE2;
REQUIRE_INBUF(2)
if (c2 == '~') {
- WRITE1('~')
- NEXT(2, 1)
+ OUTCHAR('~');
+ NEXT_IN(2);
continue;
}
else if (c2 == '{' && state->i == 0)
@@ -401,7 +390,7 @@ DECODER(hz)
; /* line-continuation */
else
return 1;
- NEXT(2, 0);
+ NEXT_IN(2);
continue;
}
@@ -409,14 +398,13 @@ DECODER(hz)
return 1;
if (state->i == 0) { /* ASCII mode */
- WRITE1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
}
else { /* GB mode */
REQUIRE_INBUF(2)
- REQUIRE_OUTBUF(1)
- TRYMAP_DEC(gb2312, **outbuf, c, IN2) {
- NEXT(2, 1)
+ TRYMAP_DEC(gb2312, writer, c, INBYTE2) {
+ NEXT_IN(2);
}
else
return 1;
diff --git a/Modules/cjkcodecs/_codecs_hk.c b/Modules/cjkcodecs/_codecs_hk.c
index d3ad04b6dd..fe5f597859 100644
--- a/Modules/cjkcodecs/_codecs_hk.c
+++ b/Modules/cjkcodecs/_codecs_hk.c
@@ -38,35 +38,39 @@ static const DBCHAR big5hkscs_pairenc_table[4] = {0x8862, 0x8864, 0x88a3, 0x88a5
ENCODER(big5hkscs)
{
- while (inleft > 0) {
- ucs4_t c = **inbuf;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
Py_ssize_t insize;
if (c < 0x80) {
REQUIRE_OUTBUF(1)
**outbuf = (unsigned char)c;
- NEXT(1, 1)
+ NEXT(1, 1);
continue;
}
- DECODE_SURROGATE(c)
- insize = GET_INSIZE(c);
-
+ insize = 1;
REQUIRE_OUTBUF(2)
if (c < 0x10000) {
TRYMAP_ENC(big5hkscs_bmp, code, c) {
if (code == MULTIC) {
- if (inleft >= 2 &&
+ Py_UCS4 c2;
+ if (inlen - *inpos >= 2)
+ c2 = INCHAR2;
+ else
+ c2 = 0;
+
+ if (inlen - *inpos >= 2 &&
((c & 0xffdf) == 0x00ca) &&
- (((*inbuf)[1] & 0xfff7) == 0x0304)) {
+ ((c2 & 0xfff7) == 0x0304)) {
code = big5hkscs_pairenc_table[
((c >> 4) |
- ((*inbuf)[1] >> 3)) & 3];
+ (c2 >> 3)) & 3];
insize = 2;
}
- else if (inleft < 2 &&
+ else if (inlen - *inpos < 2 &&
!(flags & MBENC_FLUSH))
return MBERR_TOOFEW;
else {
@@ -89,9 +93,9 @@ ENCODER(big5hkscs)
else
return insize;
- OUT1(code >> 8)
- OUT2(code & 0xFF)
- NEXT(insize, 2)
+ OUTBYTE1(code >> 8)
+ OUTBYTE2(code & 0xFF)
+ NEXT(insize, 2);
}
return 0;
@@ -102,33 +106,31 @@ ENCODER(big5hkscs)
DECODER(big5hkscs)
{
while (inleft > 0) {
- unsigned char c = IN1;
- ucs4_t decoded;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1;
+ Py_UCS4 decoded;
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
REQUIRE_INBUF(2)
- if (0xc6 > c || c > 0xc8 || (c < 0xc7 && IN2 < 0xa1)) {
- TRYMAP_DEC(big5, **outbuf, c, IN2) {
- NEXT(2, 1)
+ if (0xc6 > c || c > 0xc8 || (c < 0xc7 && INBYTE2 < 0xa1)) {
+ TRYMAP_DEC(big5, writer, c, INBYTE2) {
+ NEXT_IN(2);
continue;
}
}
- TRYMAP_DEC(big5hkscs, decoded, c, IN2)
+ TRYMAP_DEC_CHAR(big5hkscs, decoded, c, INBYTE2)
{
- int s = BH2S(c, IN2);
+ int s = BH2S(c, INBYTE2);
const unsigned char *hintbase;
assert(0x87 <= c && c <= 0xfe);
- assert(0x40 <= IN2 && IN2 <= 0xfe);
+ assert(0x40 <= INBYTE2 && INBYTE2 <= 0xfe);
if (BH2S(0x87, 0x40) <= s && s <= BH2S(0xa0, 0xfe)) {
hintbase = big5hkscs_phint_0;
@@ -146,25 +148,25 @@ DECODER(big5hkscs)
return MBERR_INTERNAL;
if (hintbase[s >> 3] & (1 << (s & 7))) {
- WRITEUCS4(decoded | 0x20000)
- NEXT_IN(2)
+ OUTCHAR(decoded | 0x20000);
+ NEXT_IN(2);
}
else {
- OUT1(decoded)
- NEXT(2, 1)
+ OUTCHAR(decoded);
+ NEXT_IN(2);
}
continue;
}
- switch ((c << 8) | IN2) {
- case 0x8862: WRITE2(0x00ca, 0x0304); break;
- case 0x8864: WRITE2(0x00ca, 0x030c); break;
- case 0x88a3: WRITE2(0x00ea, 0x0304); break;
- case 0x88a5: WRITE2(0x00ea, 0x030c); break;
+ switch ((c << 8) | INBYTE2) {
+ case 0x8862: OUTCHAR2(0x00ca, 0x0304); break;
+ case 0x8864: OUTCHAR2(0x00ca, 0x030c); break;
+ case 0x88a3: OUTCHAR2(0x00ea, 0x0304); break;
+ case 0x88a5: OUTCHAR2(0x00ea, 0x030c); break;
default: return 1;
}
- NEXT(2, 2) /* all decoded codepoints are pairs, above. */
+ NEXT_IN(2); /* all decoded codepoints are pairs, above. */
}
return 0;
diff --git a/Modules/cjkcodecs/_codecs_iso2022.c b/Modules/cjkcodecs/_codecs_iso2022.c
index cbc1542922..bb63835555 100644
--- a/Modules/cjkcodecs/_codecs_iso2022.c
+++ b/Modules/cjkcodecs/_codecs_iso2022.c
@@ -102,8 +102,8 @@
/*-*- internal data structures -*-*/
typedef int (*iso2022_init_func)(void);
-typedef ucs4_t (*iso2022_decode_func)(const unsigned char *data);
-typedef DBCHAR (*iso2022_encode_func)(const ucs4_t *data, Py_ssize_t *length);
+typedef Py_UCS4 (*iso2022_decode_func)(const unsigned char *data);
+typedef DBCHAR (*iso2022_encode_func)(const Py_UCS4 *data, Py_ssize_t *length);
struct iso2022_designation {
unsigned char mark;
@@ -141,13 +141,13 @@ ENCODER_INIT(iso2022)
ENCODER_RESET(iso2022)
{
if (STATE_GETFLAG(F_SHIFTED)) {
- WRITE1(SI)
- NEXT_OUT(1)
+ WRITEBYTE1(SI)
+ NEXT_OUT(1);
STATE_CLEARFLAG(F_SHIFTED)
}
if (STATE_G0 != CHARSET_ASCII) {
- WRITE3(ESC, '(', 'B')
- NEXT_OUT(3)
+ WRITEBYTE3(ESC, '(', 'B')
+ NEXT_OUT(3);
STATE_SETG0(CHARSET_ASCII)
}
return 0;
@@ -155,30 +155,29 @@ ENCODER_RESET(iso2022)
ENCODER(iso2022)
{
- while (inleft > 0) {
+ while (*inpos < inlen) {
const struct iso2022_designation *dsg;
DBCHAR encoded;
- ucs4_t c = **inbuf;
+ Py_UCS4 c = INCHAR1;
Py_ssize_t insize;
if (c < 0x80) {
if (STATE_G0 != CHARSET_ASCII) {
- WRITE3(ESC, '(', 'B')
+ WRITEBYTE3(ESC, '(', 'B')
STATE_SETG0(CHARSET_ASCII)
- NEXT_OUT(3)
+ NEXT_OUT(3);
}
if (STATE_GETFLAG(F_SHIFTED)) {
- WRITE1(SI)
+ WRITEBYTE1(SI)
STATE_CLEARFLAG(F_SHIFTED)
- NEXT_OUT(1)
+ NEXT_OUT(1);
}
- WRITE1((unsigned char)c)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)c)
+ NEXT(1, 1);
continue;
}
- DECODE_SURROGATE(c)
- insize = GET_INSIZE(c);
+ insize = 1;
encoded = MAP_UNMAPPABLE;
for (dsg = CONFIG_DESIGNATIONS; dsg->mark; dsg++) {
@@ -187,24 +186,14 @@ ENCODER(iso2022)
if (encoded == MAP_MULTIPLE_AVAIL) {
/* this implementation won't work for pair
* of non-bmp characters. */
- if (inleft < 2) {
+ if (inlen - *inpos < 2) {
if (!(flags & MBENC_FLUSH))
return MBERR_TOOFEW;
length = -1;
}
else
length = 2;
-#if Py_UNICODE_SIZE == 2
- if (length == 2) {
- ucs4_t u4in[2];
- u4in[0] = (ucs4_t)IN1;
- u4in[1] = (ucs4_t)IN2;
- encoded = dsg->encoder(u4in, &length);
- } else
- encoded = dsg->encoder(&c, &length);
-#else
encoded = dsg->encoder(&c, &length);
-#endif
if (encoded != MAP_UNMAPPABLE) {
insize = length;
break;
@@ -221,47 +210,47 @@ ENCODER(iso2022)
switch (dsg->plane) {
case 0: /* G0 */
if (STATE_GETFLAG(F_SHIFTED)) {
- WRITE1(SI)
+ WRITEBYTE1(SI)
STATE_CLEARFLAG(F_SHIFTED)
- NEXT_OUT(1)
+ NEXT_OUT(1);
}
if (STATE_G0 != dsg->mark) {
if (dsg->width == 1) {
- WRITE3(ESC, '(', ESCMARK(dsg->mark))
+ WRITEBYTE3(ESC, '(', ESCMARK(dsg->mark))
STATE_SETG0(dsg->mark)
- NEXT_OUT(3)
+ NEXT_OUT(3);
}
else if (dsg->mark == CHARSET_JISX0208) {
- WRITE3(ESC, '$', ESCMARK(dsg->mark))
+ WRITEBYTE3(ESC, '$', ESCMARK(dsg->mark))
STATE_SETG0(dsg->mark)
- NEXT_OUT(3)
+ NEXT_OUT(3);
}
else {
- WRITE4(ESC, '$', '(',
+ WRITEBYTE4(ESC, '$', '(',
ESCMARK(dsg->mark))
STATE_SETG0(dsg->mark)
- NEXT_OUT(4)
+ NEXT_OUT(4);
}
}
break;
case 1: /* G1 */
if (STATE_G1 != dsg->mark) {
if (dsg->width == 1) {
- WRITE3(ESC, ')', ESCMARK(dsg->mark))
+ WRITEBYTE3(ESC, ')', ESCMARK(dsg->mark))
STATE_SETG1(dsg->mark)
- NEXT_OUT(3)
+ NEXT_OUT(3);
}
else {
- WRITE4(ESC, '$', ')',
+ WRITEBYTE4(ESC, '$', ')',
ESCMARK(dsg->mark))
STATE_SETG1(dsg->mark)
- NEXT_OUT(4)
+ NEXT_OUT(4);
}
}
if (!STATE_GETFLAG(F_SHIFTED)) {
- WRITE1(SO)
+ WRITEBYTE1(SO)
STATE_SETFLAG(F_SHIFTED)
- NEXT_OUT(1)
+ NEXT_OUT(1);
}
break;
default: /* G2 and G3 is not supported: no encoding in
@@ -270,14 +259,14 @@ ENCODER(iso2022)
}
if (dsg->width == 1) {
- WRITE1((unsigned char)encoded)
- NEXT_OUT(1)
+ WRITEBYTE1((unsigned char)encoded)
+ NEXT_OUT(1);
}
else {
- WRITE2(encoded >> 8, encoded & 0xff)
- NEXT_OUT(2)
+ WRITEBYTE2(encoded >> 8, encoded & 0xff)
+ NEXT_OUT(2);
}
- NEXT_IN(insize)
+ NEXT_INCHAR(insize);
}
return 0;
@@ -323,26 +312,26 @@ iso2022processesc(const void *config, MultibyteCodec_State *state,
switch (esclen) {
case 3:
- if (IN2 == '$') {
- charset = IN3 | CHARSET_DBCS;
+ if (INBYTE2 == '$') {
+ charset = INBYTE3 | CHARSET_DBCS;
designation = 0;
}
else {
- charset = IN3;
- if (IN2 == '(') designation = 0;
- else if (IN2 == ')') designation = 1;
- else if (CONFIG_ISSET(USE_G2) && IN2 == '.')
+ charset = INBYTE3;
+ if (INBYTE2 == '(') designation = 0;
+ else if (INBYTE2 == ')') designation = 1;
+ else if (CONFIG_ISSET(USE_G2) && INBYTE2 == '.')
designation = 2;
else return 3;
}
break;
case 4:
- if (IN2 != '$')
+ if (INBYTE2 != '$')
return 4;
- charset = IN4 | CHARSET_DBCS;
- if (IN3 == '(') designation = 0;
- else if (IN3 == ')') designation = 1;
+ charset = INBYTE4 | CHARSET_DBCS;
+ if (INBYTE3 == '(') designation = 0;
+ else if (INBYTE3 == ')') designation = 1;
else return 4;
break;
case 6: /* designation with prefix */
@@ -376,45 +365,43 @@ iso2022processesc(const void *config, MultibyteCodec_State *state,
return 0;
}
-#define ISO8859_7_DECODE(c, assi) \
- if ((c) < 0xa0) (assi) = (c); \
- else if ((c) < 0xc0 && (0x288f3bc9L & (1L << ((c)-0xa0)))) \
- (assi) = (c); \
- else if ((c) >= 0xb4 && (c) <= 0xfe && ((c) >= 0xd4 || \
- (0xbffffd77L & (1L << ((c)-0xb4))))) \
- (assi) = 0x02d0 + (c); \
- else if ((c) == 0xa1) (assi) = 0x2018; \
- else if ((c) == 0xa2) (assi) = 0x2019; \
- else if ((c) == 0xaf) (assi) = 0x2015;
+#define ISO8859_7_DECODE(c, writer) \
+ if ((c) < 0xa0) OUTCHAR(c); \
+ else if ((c) < 0xc0 && (0x288f3bc9L & (1L << ((c)-0xa0)))) \
+ OUTCHAR(c); \
+ else if ((c) >= 0xb4 && (c) <= 0xfe && ((c) >= 0xd4 || \
+ (0xbffffd77L & (1L << ((c)-0xb4))))) \
+ OUTCHAR(0x02d0 + (c)); \
+ else if ((c) == 0xa1) OUTCHAR(0x2018); \
+ else if ((c) == 0xa2) OUTCHAR(0x2019); \
+ else if ((c) == 0xaf) OUTCHAR(0x2015);
static Py_ssize_t
iso2022processg2(const void *config, MultibyteCodec_State *state,
const unsigned char **inbuf, Py_ssize_t *inleft,
- Py_UNICODE **outbuf, Py_ssize_t *outleft)
+ _PyUnicodeWriter *writer)
{
/* not written to use encoder, decoder functions because only few
* encodings use G2 designations in CJKCodecs */
if (STATE_G2 == CHARSET_ISO8859_1) {
- if (IN3 < 0x80)
- OUT1(IN3 + 0x80)
+ if (INBYTE3 < 0x80)
+ OUTCHAR(INBYTE3 + 0x80);
else
return 3;
}
else if (STATE_G2 == CHARSET_ISO8859_7) {
- ISO8859_7_DECODE(IN3 ^ 0x80, **outbuf)
+ ISO8859_7_DECODE(INBYTE3 ^ 0x80, writer)
else return 3;
}
else if (STATE_G2 == CHARSET_ASCII) {
- if (IN3 & 0x80) return 3;
- else **outbuf = IN3;
+ if (INBYTE3 & 0x80) return 3;
+ else OUTCHAR(INBYTE3);
}
else
return MBERR_INTERNAL;
(*inbuf) += 3;
*inleft -= 3;
- (*outbuf) += 1;
- *outleft -= 1;
return 0;
}
@@ -423,14 +410,14 @@ DECODER(iso2022)
const struct iso2022_designation *dsgcache = NULL;
while (inleft > 0) {
- unsigned char c = IN1;
+ unsigned char c = INBYTE1;
Py_ssize_t err;
if (STATE_GETFLAG(F_ESCTHROUGHOUT)) {
/* ESC throughout mode:
* for non-iso2022 escape sequences */
- WRITE1(c) /* assume as ISO-8859-1 */
- NEXT(1, 1)
+ OUTCHAR(c); /* assume as ISO-8859-1 */
+ NEXT_IN(1);
if (IS_ESCEND(c)) {
STATE_CLEARFLAG(F_ESCTHROUGHOUT)
}
@@ -440,41 +427,41 @@ DECODER(iso2022)
switch (c) {
case ESC:
REQUIRE_INBUF(2)
- if (IS_ISO2022ESC(IN2)) {
+ if (IS_ISO2022ESC(INBYTE2)) {
err = iso2022processesc(config, state,
inbuf, &inleft);
if (err != 0)
return err;
}
- else if (CONFIG_ISSET(USE_G2) && IN2 == 'N') {/* SS2 */
+ else if (CONFIG_ISSET(USE_G2) && INBYTE2 == 'N') {/* SS2 */
REQUIRE_INBUF(3)
err = iso2022processg2(config, state,
- inbuf, &inleft, outbuf, &outleft);
+ inbuf, &inleft, writer);
if (err != 0)
return err;
}
else {
- WRITE1(ESC)
+ OUTCHAR(ESC);
STATE_SETFLAG(F_ESCTHROUGHOUT)
- NEXT(1, 1)
+ NEXT_IN(1);
}
break;
case SI:
if (CONFIG_ISSET(NO_SHIFT))
goto bypass;
STATE_CLEARFLAG(F_SHIFTED)
- NEXT_IN(1)
+ NEXT_IN(1);
break;
case SO:
if (CONFIG_ISSET(NO_SHIFT))
goto bypass;
STATE_SETFLAG(F_SHIFTED)
- NEXT_IN(1)
+ NEXT_IN(1);
break;
case LF:
STATE_CLEARFLAG(F_SHIFTED)
- WRITE1(LF)
- NEXT(1, 1)
+ OUTCHAR(LF);
+ NEXT_IN(1);
break;
default:
if (c < 0x20) /* C0 */
@@ -484,7 +471,7 @@ DECODER(iso2022)
else {
const struct iso2022_designation *dsg;
unsigned char charset;
- ucs4_t decoded;
+ Py_UCS4 decoded;
if (STATE_GETFLAG(F_SHIFTED))
charset = STATE_G1;
@@ -492,8 +479,8 @@ DECODER(iso2022)
charset = STATE_G0;
if (charset == CHARSET_ASCII) {
-bypass: WRITE1(c)
- NEXT(1, 1)
+bypass: OUTCHAR(c);
+ NEXT_IN(1);
break;
}
@@ -518,17 +505,15 @@ bypass: WRITE1(c)
return dsg->width;
if (decoded < 0x10000) {
- WRITE1(decoded)
- NEXT_OUT(1)
+ OUTCHAR(decoded);
}
else if (decoded < 0x30000) {
- WRITEUCS4(decoded)
+ OUTCHAR(decoded);
}
else { /* JIS X 0213 pairs */
- WRITE2(decoded >> 16, decoded & 0xffff)
- NEXT_OUT(2)
+ OUTCHAR2(decoded >> 16, decoded & 0xffff);
}
- NEXT_IN(dsg->width)
+ NEXT_IN(dsg->width);
}
break;
}
@@ -577,18 +562,18 @@ ksx1001_init(void)
return 0;
}
-static ucs4_t
+static Py_UCS4
ksx1001_decoder(const unsigned char *data)
{
- ucs4_t u;
- TRYMAP_DEC(ksx1001, u, data[0], data[1])
+ Py_UCS4 u;
+ TRYMAP_DEC_CHAR(ksx1001, u, data[0], data[1])
return u;
else
return MAP_UNMAPPABLE;
}
static DBCHAR
-ksx1001_encoder(const ucs4_t *data, Py_ssize_t *length)
+ksx1001_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded;
assert(*length == 1);
@@ -613,20 +598,20 @@ jisx0208_init(void)
return 0;
}
-static ucs4_t
+static Py_UCS4
jisx0208_decoder(const unsigned char *data)
{
- ucs4_t u;
+ Py_UCS4 u;
if (data[0] == 0x21 && data[1] == 0x40) /* F/W REVERSE SOLIDUS */
return 0xff3c;
- else TRYMAP_DEC(jisx0208, u, data[0], data[1])
+ else TRYMAP_DEC_CHAR(jisx0208, u, data[0], data[1])
return u;
else
return MAP_UNMAPPABLE;
}
static DBCHAR
-jisx0208_encoder(const ucs4_t *data, Py_ssize_t *length)
+jisx0208_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded;
assert(*length == 1);
@@ -654,18 +639,18 @@ jisx0212_init(void)
return 0;
}
-static ucs4_t
+static Py_UCS4
jisx0212_decoder(const unsigned char *data)
{
- ucs4_t u;
- TRYMAP_DEC(jisx0212, u, data[0], data[1])
+ Py_UCS4 u;
+ TRYMAP_DEC_CHAR(jisx0212, u, data[0], data[1])
return u;
else
return MAP_UNMAPPABLE;
}
static DBCHAR
-jisx0212_encoder(const ucs4_t *data, Py_ssize_t *length)
+jisx0212_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded;
assert(*length == 1);
@@ -705,30 +690,30 @@ jisx0213_init(void)
}
#define config ((void *)2000)
-static ucs4_t
+static Py_UCS4
jisx0213_2000_1_decoder(const unsigned char *data)
{
- ucs4_t u;
+ Py_UCS4 u;
EMULATE_JISX0213_2000_DECODE_PLANE1(u, data[0], data[1])
else if (data[0] == 0x21 && data[1] == 0x40) /* F/W REVERSE SOLIDUS */
return 0xff3c;
- else TRYMAP_DEC(jisx0208, u, data[0], data[1]);
- else TRYMAP_DEC(jisx0213_1_bmp, u, data[0], data[1]);
- else TRYMAP_DEC(jisx0213_1_emp, u, data[0], data[1])
+ else TRYMAP_DEC_CHAR(jisx0208, u, data[0], data[1]);
+ else TRYMAP_DEC_CHAR(jisx0213_1_bmp, u, data[0], data[1]);
+ else TRYMAP_DEC_CHAR(jisx0213_1_emp, u, data[0], data[1])
u |= 0x20000;
- else TRYMAP_DEC(jisx0213_pair, u, data[0], data[1]);
+ else TRYMAP_DEC_CHAR(jisx0213_pair, u, data[0], data[1]);
else
return MAP_UNMAPPABLE;
return u;
}
-static ucs4_t
+static Py_UCS4
jisx0213_2000_2_decoder(const unsigned char *data)
{
- ucs4_t u;
- EMULATE_JISX0213_2000_DECODE_PLANE2(u, data[0], data[1])
- TRYMAP_DEC(jisx0213_2_bmp, u, data[0], data[1]);
- else TRYMAP_DEC(jisx0213_2_emp, u, data[0], data[1])
+ Py_UCS4 u;
+ EMULATE_JISX0213_2000_DECODE_PLANE2_CHAR(u, data[0], data[1])
+ TRYMAP_DEC_CHAR(jisx0213_2_bmp, u, data[0], data[1]);
+ else TRYMAP_DEC_CHAR(jisx0213_2_emp, u, data[0], data[1])
u |= 0x20000;
else
return MAP_UNMAPPABLE;
@@ -736,28 +721,28 @@ jisx0213_2000_2_decoder(const unsigned char *data)
}
#undef config
-static ucs4_t
+static Py_UCS4
jisx0213_2004_1_decoder(const unsigned char *data)
{
- ucs4_t u;
+ Py_UCS4 u;
if (data[0] == 0x21 && data[1] == 0x40) /* F/W REVERSE SOLIDUS */
return 0xff3c;
- else TRYMAP_DEC(jisx0208, u, data[0], data[1]);
- else TRYMAP_DEC(jisx0213_1_bmp, u, data[0], data[1]);
- else TRYMAP_DEC(jisx0213_1_emp, u, data[0], data[1])
+ else TRYMAP_DEC_CHAR(jisx0208, u, data[0], data[1]);
+ else TRYMAP_DEC_CHAR(jisx0213_1_bmp, u, data[0], data[1]);
+ else TRYMAP_DEC_CHAR(jisx0213_1_emp, u, data[0], data[1])
u |= 0x20000;
- else TRYMAP_DEC(jisx0213_pair, u, data[0], data[1]);
+ else TRYMAP_DEC_CHAR(jisx0213_pair, u, data[0], data[1]);
else
return MAP_UNMAPPABLE;
return u;
}
-static ucs4_t
+static Py_UCS4
jisx0213_2004_2_decoder(const unsigned char *data)
{
- ucs4_t u;
- TRYMAP_DEC(jisx0213_2_bmp, u, data[0], data[1]);
- else TRYMAP_DEC(jisx0213_2_emp, u, data[0], data[1])
+ Py_UCS4 u;
+ TRYMAP_DEC_CHAR(jisx0213_2_bmp, u, data[0], data[1]);
+ else TRYMAP_DEC_CHAR(jisx0213_2_emp, u, data[0], data[1])
u |= 0x20000;
else
return MAP_UNMAPPABLE;
@@ -765,7 +750,7 @@ jisx0213_2004_2_decoder(const unsigned char *data)
}
static DBCHAR
-jisx0213_encoder(const ucs4_t *data, Py_ssize_t *length, void *config)
+jisx0213_encoder(const Py_UCS4 *data, Py_ssize_t *length, void *config)
{
DBCHAR coded;
@@ -819,7 +804,7 @@ jisx0213_encoder(const ucs4_t *data, Py_ssize_t *length, void *config)
}
static DBCHAR
-jisx0213_2000_1_encoder(const ucs4_t *data, Py_ssize_t *length)
+jisx0213_2000_1_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded = jisx0213_encoder(data, length, (void *)2000);
if (coded == MAP_UNMAPPABLE || coded == MAP_MULTIPLE_AVAIL)
@@ -831,7 +816,7 @@ jisx0213_2000_1_encoder(const ucs4_t *data, Py_ssize_t *length)
}
static DBCHAR
-jisx0213_2000_1_encoder_paironly(const ucs4_t *data, Py_ssize_t *length)
+jisx0213_2000_1_encoder_paironly(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded;
Py_ssize_t ilength = *length;
@@ -854,7 +839,7 @@ jisx0213_2000_1_encoder_paironly(const ucs4_t *data, Py_ssize_t *length)
}
static DBCHAR
-jisx0213_2000_2_encoder(const ucs4_t *data, Py_ssize_t *length)
+jisx0213_2000_2_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded = jisx0213_encoder(data, length, (void *)2000);
if (coded == MAP_UNMAPPABLE || coded == MAP_MULTIPLE_AVAIL)
@@ -866,7 +851,7 @@ jisx0213_2000_2_encoder(const ucs4_t *data, Py_ssize_t *length)
}
static DBCHAR
-jisx0213_2004_1_encoder(const ucs4_t *data, Py_ssize_t *length)
+jisx0213_2004_1_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded = jisx0213_encoder(data, length, NULL);
if (coded == MAP_UNMAPPABLE || coded == MAP_MULTIPLE_AVAIL)
@@ -878,7 +863,7 @@ jisx0213_2004_1_encoder(const ucs4_t *data, Py_ssize_t *length)
}
static DBCHAR
-jisx0213_2004_1_encoder_paironly(const ucs4_t *data, Py_ssize_t *length)
+jisx0213_2004_1_encoder_paironly(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded;
Py_ssize_t ilength = *length;
@@ -901,7 +886,7 @@ jisx0213_2004_1_encoder_paironly(const ucs4_t *data, Py_ssize_t *length)
}
static DBCHAR
-jisx0213_2004_2_encoder(const ucs4_t *data, Py_ssize_t *length)
+jisx0213_2004_2_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded = jisx0213_encoder(data, length, NULL);
if (coded == MAP_UNMAPPABLE || coded == MAP_MULTIPLE_AVAIL)
@@ -912,17 +897,17 @@ jisx0213_2004_2_encoder(const ucs4_t *data, Py_ssize_t *length)
return MAP_UNMAPPABLE;
}
-static ucs4_t
+static Py_UCS4
jisx0201_r_decoder(const unsigned char *data)
{
- ucs4_t u;
- JISX0201_R_DECODE(*data, u)
+ Py_UCS4 u;
+ JISX0201_R_DECODE_CHAR(*data, u)
else return MAP_UNMAPPABLE;
return u;
}
static DBCHAR
-jisx0201_r_encoder(const ucs4_t *data, Py_ssize_t *length)
+jisx0201_r_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded;
JISX0201_R_ENCODE(*data, coded)
@@ -930,17 +915,17 @@ jisx0201_r_encoder(const ucs4_t *data, Py_ssize_t *length)
return coded;
}
-static ucs4_t
+static Py_UCS4
jisx0201_k_decoder(const unsigned char *data)
{
- ucs4_t u;
- JISX0201_K_DECODE(*data ^ 0x80, u)
+ Py_UCS4 u;
+ JISX0201_K_DECODE_CHAR(*data ^ 0x80, u)
else return MAP_UNMAPPABLE;
return u;
}
static DBCHAR
-jisx0201_k_encoder(const ucs4_t *data, Py_ssize_t *length)
+jisx0201_k_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded;
JISX0201_K_ENCODE(*data, coded)
@@ -961,18 +946,18 @@ gb2312_init(void)
return 0;
}
-static ucs4_t
+static Py_UCS4
gb2312_decoder(const unsigned char *data)
{
- ucs4_t u;
- TRYMAP_DEC(gb2312, u, data[0], data[1])
+ Py_UCS4 u;
+ TRYMAP_DEC_CHAR(gb2312, u, data[0], data[1])
return u;
else
return MAP_UNMAPPABLE;
}
static DBCHAR
-gb2312_encoder(const ucs4_t *data, Py_ssize_t *length)
+gb2312_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
DBCHAR coded;
assert(*length == 1);
@@ -986,14 +971,14 @@ gb2312_encoder(const ucs4_t *data, Py_ssize_t *length)
}
-static ucs4_t
+static Py_UCS4
dummy_decoder(const unsigned char *data)
{
return MAP_UNMAPPABLE;
}
static DBCHAR
-dummy_encoder(const ucs4_t *data, Py_ssize_t *length)
+dummy_encoder(const Py_UCS4 *data, Py_ssize_t *length)
{
return MAP_UNMAPPABLE;
}
diff --git a/Modules/cjkcodecs/_codecs_jp.c b/Modules/cjkcodecs/_codecs_jp.c
index a500696e93..7ab318bcc1 100644
--- a/Modules/cjkcodecs/_codecs_jp.c
+++ b/Modules/cjkcodecs/_codecs_jp.c
@@ -19,38 +19,39 @@
ENCODER(cp932)
{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
unsigned char c1, c2;
if (c <= 0x80) {
- WRITE1((unsigned char)c)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)c)
+ NEXT(1, 1);
continue;
}
else if (c >= 0xff61 && c <= 0xff9f) {
- WRITE1(c - 0xfec0)
- NEXT(1, 1)
+ WRITEBYTE1(c - 0xfec0)
+ NEXT(1, 1);
continue;
}
else if (c >= 0xf8f0 && c <= 0xf8f3) {
/* Windows compatibility */
REQUIRE_OUTBUF(1)
if (c == 0xf8f0)
- OUT1(0xa0)
+ OUTBYTE1(0xa0)
else
- OUT1(c - 0xfef1 + 0xfd)
- NEXT(1, 1)
+ OUTBYTE1(c - 0xfef1 + 0xfd)
+ NEXT(1, 1);
continue;
}
- UCS4INVALID(c)
+ if (c > 0xFFFF)
+ return 1;
REQUIRE_OUTBUF(2)
TRYMAP_ENC(cp932ext, code, c) {
- OUT1(code >> 8)
- OUT2(code & 0xff)
+ OUTBYTE1(code >> 8)
+ OUTBYTE2(code & 0xff)
}
else TRYMAP_ENC(jisxcommon, code, c) {
if (code & 0x8000) /* MSB set: JIS X 0212 */
@@ -61,20 +62,20 @@ ENCODER(cp932)
c2 = code & 0xff;
c2 = (((c1 - 0x21) & 1) ? 0x5e : 0) + (c2 - 0x21);
c1 = (c1 - 0x21) >> 1;
- OUT1(c1 < 0x1f ? c1 + 0x81 : c1 + 0xc1)
- OUT2(c2 < 0x3f ? c2 + 0x40 : c2 + 0x41)
+ OUTBYTE1(c1 < 0x1f ? c1 + 0x81 : c1 + 0xc1)
+ OUTBYTE2(c2 < 0x3f ? c2 + 0x40 : c2 + 0x41)
}
else if (c >= 0xe000 && c < 0xe758) {
/* User-defined area */
- c1 = (Py_UNICODE)(c - 0xe000) / 188;
- c2 = (Py_UNICODE)(c - 0xe000) % 188;
- OUT1(c1 + 0xf0)
- OUT2(c2 < 0x3f ? c2 + 0x40 : c2 + 0x41)
+ c1 = (Py_UCS4)(c - 0xe000) / 188;
+ c2 = (Py_UCS4)(c - 0xe000) % 188;
+ OUTBYTE1(c1 + 0xf0)
+ OUTBYTE2(c2 < 0x3f ? c2 + 0x40 : c2 + 0x41)
}
else
return 1;
- NEXT(1, 2)
+ NEXT(1, 2);
}
return 0;
@@ -83,33 +84,32 @@ ENCODER(cp932)
DECODER(cp932)
{
while (inleft > 0) {
- unsigned char c = IN1, c2;
+ unsigned char c = INBYTE1, c2;
- REQUIRE_OUTBUF(1)
if (c <= 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
else if (c >= 0xa0 && c <= 0xdf) {
if (c == 0xa0)
- OUT1(0xf8f0) /* half-width katakana */
+ OUTCHAR(0xf8f0); /* half-width katakana */
else
- OUT1(0xfec0 + c)
- NEXT(1, 1)
+ OUTCHAR(0xfec0 + c);
+ NEXT_IN(1);
continue;
}
else if (c >= 0xfd/* && c <= 0xff*/) {
/* Windows compatibility */
- OUT1(0xf8f1 - 0xfd + c)
- NEXT(1, 1)
+ OUTCHAR(0xf8f1 - 0xfd + c);
+ NEXT_IN(1);
continue;
}
REQUIRE_INBUF(2)
- c2 = IN2;
+ c2 = INBYTE2;
- TRYMAP_DEC(cp932ext, **outbuf, c, c2);
+ TRYMAP_DEC(cp932ext, writer, c, c2);
else if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xea)){
if (c2 < 0x40 || (c2 > 0x7e && c2 < 0x80) || c2 > 0xfc)
return 1;
@@ -119,21 +119,21 @@ DECODER(cp932)
c = (2 * c + (c2 < 0x5e ? 0 : 1) + 0x21);
c2 = (c2 < 0x5e ? c2 : c2 - 0x5e) + 0x21;
- TRYMAP_DEC(jisx0208, **outbuf, c, c2);
+ TRYMAP_DEC(jisx0208, writer, c, c2);
else return 1;
}
else if (c >= 0xf0 && c <= 0xf9) {
if ((c2 >= 0x40 && c2 <= 0x7e) ||
(c2 >= 0x80 && c2 <= 0xfc))
- OUT1(0xe000 + 188 * (c - 0xf0) +
- (c2 < 0x80 ? c2 - 0x40 : c2 - 0x41))
+ OUTCHAR(0xe000 + 188 * (c - 0xf0) +
+ (c2 < 0x80 ? c2 - 0x40 : c2 - 0x41));
else
return 1;
}
else
return 1;
- NEXT(2, 1)
+ NEXT_IN(2);
}
return 0;
@@ -146,25 +146,24 @@ DECODER(cp932)
ENCODER(euc_jis_2004)
{
- while (inleft > 0) {
- ucs4_t c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
Py_ssize_t insize;
if (c < 0x80) {
- WRITE1(c)
- NEXT(1, 1)
+ WRITEBYTE1(c)
+ NEXT(1, 1);
continue;
}
- DECODE_SURROGATE(c)
- insize = GET_INSIZE(c);
+ insize = 1;
if (c <= 0xFFFF) {
EMULATE_JISX0213_2000_ENCODE_BMP(code, c)
else TRYMAP_ENC(jisx0213_bmp, code, c) {
if (code == MULTIC) {
- if (inleft < 2) {
+ if (inlen - *inpos < 2) {
if (flags & MBENC_FLUSH) {
code = find_pairencmap(
(ucs2_t)c, 0,
@@ -177,8 +176,9 @@ ENCODER(euc_jis_2004)
return MBERR_TOOFEW;
}
else {
+ Py_UCS4 c2 = INCHAR2;
code = find_pairencmap(
- (ucs2_t)c, (*inbuf)[1],
+ (ucs2_t)c, c2,
jisx0213_pair_encmap,
JISX0213_ENCPAIRS);
if (code == DBCINV) {
@@ -196,8 +196,8 @@ ENCODER(euc_jis_2004)
else TRYMAP_ENC(jisxcommon, code, c);
else if (c >= 0xff61 && c <= 0xff9f) {
/* JIS X 0201 half-width katakana */
- WRITE2(0x8e, c - 0xfec0)
- NEXT(1, 2)
+ WRITEBYTE2(0x8e, c - 0xfec0)
+ NEXT(1, 2);
continue;
}
else if (c == 0xff3c)
@@ -219,12 +219,12 @@ ENCODER(euc_jis_2004)
if (code & 0x8000) {
/* Codeset 2 */
- WRITE3(0x8f, code >> 8, (code & 0xFF) | 0x80)
- NEXT(insize, 3)
+ WRITEBYTE3(0x8f, code >> 8, (code & 0xFF) | 0x80)
+ NEXT(insize, 3);
} else {
/* Codeset 1 */
- WRITE2((code >> 8) | 0x80, (code & 0xFF) | 0x80)
- NEXT(insize, 2)
+ WRITEBYTE2((code >> 8) | 0x80, (code & 0xFF) | 0x80)
+ NEXT(insize, 2);
}
}
@@ -234,14 +234,12 @@ ENCODER(euc_jis_2004)
DECODER(euc_jis_2004)
{
while (inleft > 0) {
- unsigned char c = IN1;
- ucs4_t code;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1;
+ Py_UCS4 code;
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
@@ -250,10 +248,10 @@ DECODER(euc_jis_2004)
unsigned char c2;
REQUIRE_INBUF(2)
- c2 = IN2;
+ c2 = INBYTE2;
if (c2 >= 0xa1 && c2 <= 0xdf) {
- OUT1(0xfec0 + c2)
- NEXT(2, 1)
+ OUTCHAR(0xfec0 + c2);
+ NEXT_IN(2);
}
else
return 1;
@@ -262,46 +260,46 @@ DECODER(euc_jis_2004)
unsigned char c2, c3;
REQUIRE_INBUF(3)
- c2 = IN2 ^ 0x80;
- c3 = IN3 ^ 0x80;
+ c2 = INBYTE2 ^ 0x80;
+ c3 = INBYTE3 ^ 0x80;
/* JIS X 0213 Plane 2 or JIS X 0212 (see NOTES) */
- EMULATE_JISX0213_2000_DECODE_PLANE2(**outbuf, c2, c3)
- else TRYMAP_DEC(jisx0213_2_bmp, **outbuf, c2, c3) ;
- else TRYMAP_DEC(jisx0213_2_emp, code, c2, c3) {
- WRITEUCS4(EMPBASE | code)
- NEXT_IN(3)
+ EMULATE_JISX0213_2000_DECODE_PLANE2(writer, c2, c3)
+ else TRYMAP_DEC(jisx0213_2_bmp, writer, c2, c3) ;
+ else TRYMAP_DEC_CHAR(jisx0213_2_emp, code, c2, c3) {
+ OUTCHAR(EMPBASE | code);
+ NEXT_IN(3);
continue;
}
- else TRYMAP_DEC(jisx0212, **outbuf, c2, c3) ;
+ else TRYMAP_DEC(jisx0212, writer, c2, c3) ;
else return 1;
- NEXT(3, 1)
+ NEXT_IN(3);
}
else {
unsigned char c2;
REQUIRE_INBUF(2)
c ^= 0x80;
- c2 = IN2 ^ 0x80;
+ c2 = INBYTE2 ^ 0x80;
/* JIS X 0213 Plane 1 */
- EMULATE_JISX0213_2000_DECODE_PLANE1(**outbuf, c, c2)
- else if (c == 0x21 && c2 == 0x40) **outbuf = 0xff3c;
- else if (c == 0x22 && c2 == 0x32) **outbuf = 0xff5e;
- else TRYMAP_DEC(jisx0208, **outbuf, c, c2);
- else TRYMAP_DEC(jisx0213_1_bmp, **outbuf, c, c2);
- else TRYMAP_DEC(jisx0213_1_emp, code, c, c2) {
- WRITEUCS4(EMPBASE | code)
- NEXT_IN(2)
+ EMULATE_JISX0213_2000_DECODE_PLANE1(writer, c, c2)
+ else if (c == 0x21 && c2 == 0x40) OUTCHAR(0xff3c);
+ else if (c == 0x22 && c2 == 0x32) OUTCHAR(0xff5e);
+ else TRYMAP_DEC(jisx0208, writer, c, c2);
+ else TRYMAP_DEC(jisx0213_1_bmp, writer, c, c2);
+ else TRYMAP_DEC_CHAR(jisx0213_1_emp, code, c, c2) {
+ OUTCHAR(EMPBASE | code);
+ NEXT_IN(2);
continue;
}
- else TRYMAP_DEC(jisx0213_pair, code, c, c2) {
- WRITE2(code >> 16, code & 0xffff)
- NEXT(2, 2)
+ else TRYMAP_DEC_CHAR(jisx0213_pair, code, c, c2) {
+ OUTCHAR2(code >> 16, code & 0xffff);
+ NEXT_IN(2);
continue;
}
else return 1;
- NEXT(2, 1)
+ NEXT_IN(2);
}
}
@@ -315,35 +313,36 @@ DECODER(euc_jis_2004)
ENCODER(euc_jp)
{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
if (c < 0x80) {
- WRITE1((unsigned char)c)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)c)
+ NEXT(1, 1);
continue;
}
- UCS4INVALID(c)
+ if (c > 0xFFFF)
+ return 1;
TRYMAP_ENC(jisxcommon, code, c);
else if (c >= 0xff61 && c <= 0xff9f) {
/* JIS X 0201 half-width katakana */
- WRITE2(0x8e, c - 0xfec0)
- NEXT(1, 2)
+ WRITEBYTE2(0x8e, c - 0xfec0)
+ NEXT(1, 2);
continue;
}
#ifndef STRICT_BUILD
else if (c == 0xff3c) /* FULL-WIDTH REVERSE SOLIDUS */
code = 0x2140;
else if (c == 0xa5) { /* YEN SIGN */
- WRITE1(0x5c);
- NEXT(1, 1)
+ WRITEBYTE1(0x5c);
+ NEXT(1, 1);
continue;
} else if (c == 0x203e) { /* OVERLINE */
- WRITE1(0x7e);
- NEXT(1, 1)
+ WRITEBYTE1(0x7e);
+ NEXT(1, 1);
continue;
}
#endif
@@ -352,12 +351,12 @@ ENCODER(euc_jp)
if (code & 0x8000) {
/* JIS X 0212 */
- WRITE3(0x8f, code >> 8, (code & 0xFF) | 0x80)
- NEXT(1, 3)
+ WRITEBYTE3(0x8f, code >> 8, (code & 0xFF) | 0x80)
+ NEXT(1, 3);
} else {
/* JIS X 0208 */
- WRITE2((code >> 8) | 0x80, (code & 0xFF) | 0x80)
- NEXT(1, 2)
+ WRITEBYTE2((code >> 8) | 0x80, (code & 0xFF) | 0x80)
+ NEXT(1, 2);
}
}
@@ -367,13 +366,11 @@ ENCODER(euc_jp)
DECODER(euc_jp)
{
while (inleft > 0) {
- unsigned char c = IN1;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1;
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
@@ -382,10 +379,10 @@ DECODER(euc_jp)
unsigned char c2;
REQUIRE_INBUF(2)
- c2 = IN2;
+ c2 = INBYTE2;
if (c2 >= 0xa1 && c2 <= 0xdf) {
- OUT1(0xfec0 + c2)
- NEXT(2, 1)
+ OUTCHAR(0xfec0 + c2);
+ NEXT_IN(2);
}
else
return 1;
@@ -394,11 +391,11 @@ DECODER(euc_jp)
unsigned char c2, c3;
REQUIRE_INBUF(3)
- c2 = IN2;
- c3 = IN3;
+ c2 = INBYTE2;
+ c3 = INBYTE3;
/* JIS X 0212 */
- TRYMAP_DEC(jisx0212, **outbuf, c2 ^ 0x80, c3 ^ 0x80) {
- NEXT(3, 1)
+ TRYMAP_DEC(jisx0212, writer, c2 ^ 0x80, c3 ^ 0x80) {
+ NEXT_IN(3);
}
else
return 1;
@@ -407,18 +404,18 @@ DECODER(euc_jp)
unsigned char c2;
REQUIRE_INBUF(2)
- c2 = IN2;
+ c2 = INBYTE2;
/* JIS X 0208 */
#ifndef STRICT_BUILD
if (c == 0xa1 && c2 == 0xc0)
/* FULL-WIDTH REVERSE SOLIDUS */
- **outbuf = 0xff3c;
+ OUTCHAR(0xff3c);
else
#endif
- TRYMAP_DEC(jisx0208, **outbuf,
+ TRYMAP_DEC(jisx0208, writer,
c ^ 0x80, c2 ^ 0x80) ;
else return 1;
- NEXT(2, 1)
+ NEXT_IN(2);
}
}
@@ -432,8 +429,8 @@ DECODER(euc_jp)
ENCODER(shift_jis)
{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
unsigned char c1, c2;
@@ -445,14 +442,16 @@ ENCODER(shift_jis)
else if (c == 0x203e) code = 0x7e; /* OVERLINE */
#endif
else JISX0201_K_ENCODE(c, code)
- else UCS4INVALID(c)
- else code = NOCHAR;
+ else if (c > 0xFFFF)
+ return 1;
+ else
+ code = NOCHAR;
if (code < 0x80 || (code >= 0xa1 && code <= 0xdf)) {
REQUIRE_OUTBUF(1)
- OUT1((unsigned char)code)
- NEXT(1, 1)
+ OUTBYTE1((unsigned char)code)
+ NEXT(1, 1);
continue;
}
@@ -475,9 +474,9 @@ ENCODER(shift_jis)
c2 = code & 0xff;
c2 = (((c1 - 0x21) & 1) ? 0x5e : 0) + (c2 - 0x21);
c1 = (c1 - 0x21) >> 1;
- OUT1(c1 < 0x1f ? c1 + 0x81 : c1 + 0xc1)
- OUT2(c2 < 0x3f ? c2 + 0x40 : c2 + 0x41)
- NEXT(1, 2)
+ OUTBYTE1(c1 < 0x1f ? c1 + 0x81 : c1 + 0xc1)
+ OUTBYTE2(c2 < 0x3f ? c2 + 0x40 : c2 + 0x41)
+ NEXT(1, 2);
}
return 0;
@@ -486,21 +485,19 @@ ENCODER(shift_jis)
DECODER(shift_jis)
{
while (inleft > 0) {
- unsigned char c = IN1;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1;
#ifdef STRICT_BUILD
- JISX0201_R_DECODE(c, **outbuf)
+ JISX0201_R_DECODE(c, writer)
#else
- if (c < 0x80) **outbuf = c;
+ if (c < 0x80) OUTCHAR(c);
#endif
- else JISX0201_K_DECODE(c, **outbuf)
+ else JISX0201_K_DECODE(c, writer)
else if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xea)){
unsigned char c1, c2;
REQUIRE_INBUF(2)
- c2 = IN2;
+ c2 = INBYTE2;
if (c2 < 0x40 || (c2 > 0x7e && c2 < 0x80) || c2 > 0xfc)
return 1;
@@ -512,13 +509,13 @@ DECODER(shift_jis)
#ifndef STRICT_BUILD
if (c1 == 0x21 && c2 == 0x40) {
/* FULL-WIDTH REVERSE SOLIDUS */
- OUT1(0xff3c)
- NEXT(2, 1)
+ OUTCHAR(0xff3c);
+ NEXT_IN(2);
continue;
}
#endif
- TRYMAP_DEC(jisx0208, **outbuf, c1, c2) {
- NEXT(2, 1)
+ TRYMAP_DEC(jisx0208, writer, c1, c2) {
+ NEXT_IN(2);
continue;
}
else
@@ -527,7 +524,7 @@ DECODER(shift_jis)
else
return 1;
- NEXT(1, 1) /* JIS X 0201 */
+ NEXT_IN(1); /* JIS X 0201 */
}
return 0;
@@ -540,30 +537,29 @@ DECODER(shift_jis)
ENCODER(shift_jis_2004)
{
- while (inleft > 0) {
- ucs4_t c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code = NOCHAR;
int c1, c2;
Py_ssize_t insize;
JISX0201_ENCODE(c, code)
- else DECODE_SURROGATE(c)
if (code < 0x80 || (code >= 0xa1 && code <= 0xdf)) {
- WRITE1((unsigned char)code)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)code)
+ NEXT(1, 1);
continue;
}
REQUIRE_OUTBUF(2)
- insize = GET_INSIZE(c);
+ insize = 1;
if (code == NOCHAR) {
if (c <= 0xffff) {
EMULATE_JISX0213_2000_ENCODE_BMP(code, c)
else TRYMAP_ENC(jisx0213_bmp, code, c) {
if (code == MULTIC) {
- if (inleft < 2) {
+ if (inlen - *inpos < 2) {
if (flags & MBENC_FLUSH) {
code = find_pairencmap
((ucs2_t)c, 0,
@@ -576,8 +572,9 @@ ENCODER(shift_jis_2004)
return MBERR_TOOFEW;
}
else {
+ Py_UCS4 ch2 = INCHAR2;
code = find_pairencmap(
- (ucs2_t)c, IN2,
+ (ucs2_t)c, ch2,
jisx0213_pair_encmap,
JISX0213_ENCPAIRS);
if (code == DBCINV) {
@@ -622,10 +619,10 @@ ENCODER(shift_jis_2004)
if (c1 & 1) c2 += 0x5e;
c1 >>= 1;
- OUT1(c1 + (c1 < 0x1f ? 0x81 : 0xc1))
- OUT2(c2 + (c2 < 0x3f ? 0x40 : 0x41))
+ OUTBYTE1(c1 + (c1 < 0x1f ? 0x81 : 0xc1))
+ OUTBYTE2(c2 + (c2 < 0x3f ? 0x40 : 0x41))
- NEXT(insize, 2)
+ NEXT(insize, 2);
}
return 0;
@@ -634,16 +631,15 @@ ENCODER(shift_jis_2004)
DECODER(shift_jis_2004)
{
while (inleft > 0) {
- unsigned char c = IN1;
+ unsigned char c = INBYTE1;
- REQUIRE_OUTBUF(1)
- JISX0201_DECODE(c, **outbuf)
+ JISX0201_DECODE(c, writer)
else if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xfc)){
unsigned char c1, c2;
- ucs4_t code;
+ Py_UCS4 code;
REQUIRE_INBUF(2)
- c2 = IN2;
+ c2 = INBYTE2;
if (c2 < 0x40 || (c2 > 0x7e && c2 < 0x80) || c2 > 0xfc)
return 1;
@@ -654,50 +650,47 @@ DECODER(shift_jis_2004)
if (c1 < 0x5e) { /* Plane 1 */
c1 += 0x21;
- EMULATE_JISX0213_2000_DECODE_PLANE1(**outbuf,
+ EMULATE_JISX0213_2000_DECODE_PLANE1(writer,
c1, c2)
- else TRYMAP_DEC(jisx0208, **outbuf, c1, c2) {
- NEXT_OUT(1)
+ else TRYMAP_DEC(jisx0208, writer, c1, c2) {
}
- else TRYMAP_DEC(jisx0213_1_bmp, **outbuf,
+ else TRYMAP_DEC(jisx0213_1_bmp, writer,
c1, c2) {
- NEXT_OUT(1)
}
- else TRYMAP_DEC(jisx0213_1_emp, code, c1, c2) {
- WRITEUCS4(EMPBASE | code)
+ else TRYMAP_DEC_CHAR(jisx0213_1_emp, code, c1, c2) {
+ OUTCHAR(EMPBASE | code);
}
- else TRYMAP_DEC(jisx0213_pair, code, c1, c2) {
- WRITE2(code >> 16, code & 0xffff)
- NEXT_OUT(2)
+ else TRYMAP_DEC_CHAR(jisx0213_pair, code, c1, c2) {
+ OUTCHAR2(code >> 16, code & 0xffff);
}
else
return 1;
- NEXT_IN(2)
+ NEXT_IN(2);
}
else { /* Plane 2 */
if (c1 >= 0x67) c1 += 0x07;
else if (c1 >= 0x63 || c1 == 0x5f) c1 -= 0x37;
else c1 -= 0x3d;
- EMULATE_JISX0213_2000_DECODE_PLANE2(**outbuf,
+ EMULATE_JISX0213_2000_DECODE_PLANE2(writer,
c1, c2)
- else TRYMAP_DEC(jisx0213_2_bmp, **outbuf,
- c1, c2) ;
- else TRYMAP_DEC(jisx0213_2_emp, code, c1, c2) {
- WRITEUCS4(EMPBASE | code)
- NEXT_IN(2)
+ else TRYMAP_DEC(jisx0213_2_bmp, writer,
+ c1, c2) {
+ } else TRYMAP_DEC_CHAR(jisx0213_2_emp, code, c1, c2) {
+ OUTCHAR(EMPBASE | code);
+ NEXT_IN(2);
continue;
}
else
return 1;
- NEXT(2, 1)
+ NEXT_IN(2);
}
continue;
}
else
return 1;
- NEXT(1, 1) /* JIS X 0201 */
+ NEXT_IN(1); /* JIS X 0201 */
}
return 0;
diff --git a/Modules/cjkcodecs/_codecs_kr.c b/Modules/cjkcodecs/_codecs_kr.c
index f5697dd2f6..0c2309d95f 100644
--- a/Modules/cjkcodecs/_codecs_kr.c
+++ b/Modules/cjkcodecs/_codecs_kr.c
@@ -33,16 +33,18 @@ static const unsigned char u2cgk_jongseong[28] = {
ENCODER(euc_kr)
{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
if (c < 0x80) {
- WRITE1((unsigned char)c)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)c)
+ NEXT(1, 1);
continue;
}
- UCS4INVALID(c)
+
+ if (c > 0xFFFF)
+ return 1;
REQUIRE_OUTBUF(2)
TRYMAP_ENC(cp949, code, c);
@@ -50,9 +52,9 @@ ENCODER(euc_kr)
if ((code & 0x8000) == 0) {
/* KS X 1001 coded character */
- OUT1((code >> 8) | 0x80)
- OUT2((code & 0xFF) | 0x80)
- NEXT(1, 2)
+ OUTBYTE1((code >> 8) | 0x80)
+ OUTBYTE2((code & 0xFF) | 0x80)
+ NEXT(1, 2);
}
else { /* Mapping is found in CP949 extension,
* but we encode it in KS X 1001:1998 Annex 3,
@@ -61,23 +63,23 @@ ENCODER(euc_kr)
REQUIRE_OUTBUF(8)
/* syllable composition precedence */
- OUT1(EUCKR_JAMO_FIRSTBYTE)
- OUT2(EUCKR_JAMO_FILLER)
+ OUTBYTE1(EUCKR_JAMO_FIRSTBYTE)
+ OUTBYTE2(EUCKR_JAMO_FILLER)
/* All codepoints in CP949 extension are in unicode
* Hangul Syllable area. */
assert(0xac00 <= c && c <= 0xd7a3);
c -= 0xac00;
- OUT3(EUCKR_JAMO_FIRSTBYTE)
- OUT4(u2cgk_choseong[c / 588])
- NEXT_OUT(4)
+ OUTBYTE3(EUCKR_JAMO_FIRSTBYTE)
+ OUTBYTE4(u2cgk_choseong[c / 588])
+ NEXT_OUT(4);
- OUT1(EUCKR_JAMO_FIRSTBYTE)
- OUT2(u2cgk_jungseong[(c / 28) % 21])
- OUT3(EUCKR_JAMO_FIRSTBYTE)
- OUT4(u2cgk_jongseong[c % 28])
- NEXT(1, 4)
+ OUTBYTE1(EUCKR_JAMO_FIRSTBYTE)
+ OUTBYTE2(u2cgk_jungseong[(c / 28) % 21])
+ OUTBYTE3(EUCKR_JAMO_FIRSTBYTE)
+ OUTBYTE4(u2cgk_jongseong[c % 28])
+ NEXT(1, 4);
}
}
@@ -102,20 +104,18 @@ static const unsigned char cgk2u_jongseong[] = { /* [A1, BE] */
DECODER(euc_kr)
{
while (inleft > 0) {
- unsigned char c = IN1;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1;
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
REQUIRE_INBUF(2)
if (c == EUCKR_JAMO_FIRSTBYTE &&
- IN2 == EUCKR_JAMO_FILLER) {
+ INBYTE2 == EUCKR_JAMO_FILLER) {
/* KS X 1001:1998 Annex 3 make-up sequence */
DBCHAR cho, jung, jong;
@@ -145,11 +145,11 @@ DECODER(euc_kr)
if (cho == NONE || jung == NONE || jong == NONE)
return 1;
- OUT1(0xac00 + cho*588 + jung*28 + jong);
- NEXT(8, 1)
+ OUTCHAR(0xac00 + cho*588 + jung*28 + jong);
+ NEXT_IN(8);
}
- else TRYMAP_DEC(ksx1001, **outbuf, c ^ 0x80, IN2 ^ 0x80) {
- NEXT(2, 1)
+ else TRYMAP_DEC(ksx1001, writer, c ^ 0x80, INBYTE2 ^ 0x80) {
+ NEXT_IN(2);
}
else
return 1;
@@ -166,27 +166,29 @@ DECODER(euc_kr)
ENCODER(cp949)
{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
if (c < 0x80) {
- WRITE1((unsigned char)c)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)c)
+ NEXT(1, 1);
continue;
}
- UCS4INVALID(c)
+
+ if (c > 0xFFFF)
+ return 1;
REQUIRE_OUTBUF(2)
TRYMAP_ENC(cp949, code, c);
else return 1;
- OUT1((code >> 8) | 0x80)
+ OUTBYTE1((code >> 8) | 0x80)
if (code & 0x8000)
- OUT2(code & 0xFF) /* MSB set: CP949 */
+ OUTBYTE2(code & 0xFF) /* MSB set: CP949 */
else
- OUT2((code & 0xFF) | 0x80) /* MSB unset: ks x 1001 */
- NEXT(1, 2)
+ OUTBYTE2((code & 0xFF) | 0x80) /* MSB unset: ks x 1001 */
+ NEXT(1, 2);
}
return 0;
@@ -195,22 +197,20 @@ ENCODER(cp949)
DECODER(cp949)
{
while (inleft > 0) {
- unsigned char c = IN1;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1;
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
REQUIRE_INBUF(2)
- TRYMAP_DEC(ksx1001, **outbuf, c ^ 0x80, IN2 ^ 0x80);
- else TRYMAP_DEC(cp949ext, **outbuf, c, IN2);
+ TRYMAP_DEC(ksx1001, writer, c ^ 0x80, INBYTE2 ^ 0x80);
+ else TRYMAP_DEC(cp949ext, writer, c, INBYTE2);
else return 1;
- NEXT(2, 1)
+ NEXT_IN(2);
}
return 0;
@@ -250,16 +250,18 @@ static const DBCHAR u2johabjamo[] = {
ENCODER(johab)
{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
if (c < 0x80) {
- WRITE1((unsigned char)c)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)c)
+ NEXT(1, 1);
continue;
}
- UCS4INVALID(c)
+
+ if (c > 0xFFFF)
+ return 1;
REQUIRE_OUTBUF(2)
@@ -285,9 +287,9 @@ ENCODER(johab)
t1 = (c1 < 0x4a ? (c1 - 0x21 + 0x1b2) :
(c1 - 0x21 + 0x197));
t2 = ((t1 & 1) ? 0x5e : 0) + (c2 - 0x21);
- OUT1(t1 >> 1)
- OUT2(t2 < 0x4e ? t2 + 0x31 : t2 + 0x43)
- NEXT(1, 2)
+ OUTBYTE1(t1 >> 1)
+ OUTBYTE2(t2 < 0x4e ? t2 + 0x31 : t2 + 0x43)
+ NEXT(1, 2);
continue;
}
else
@@ -296,9 +298,9 @@ ENCODER(johab)
else
return 1;
- OUT1(code >> 8)
- OUT2(code & 0xff)
- NEXT(1, 2)
+ OUTBYTE1(code >> 8)
+ OUTBYTE2(code & 0xff)
+ NEXT(1, 2);
}
return 0;
@@ -348,18 +350,16 @@ static const unsigned char johabjamo_jongseong[32] = {
DECODER(johab)
{
while (inleft > 0) {
- unsigned char c = IN1, c2;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1, c2;
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
REQUIRE_INBUF(2)
- c2 = IN2;
+ c2 = INBYTE2;
if (c < 0xd8) {
/* johab hangul */
@@ -381,33 +381,33 @@ DECODER(johab)
if (i_cho == FILL) {
if (i_jung == FILL) {
if (i_jong == FILL)
- OUT1(0x3000)
+ OUTCHAR(0x3000);
else
- OUT1(0x3100 |
- johabjamo_jongseong[c_jong])
+ OUTCHAR(0x3100 |
+ johabjamo_jongseong[c_jong]);
}
else {
if (i_jong == FILL)
- OUT1(0x3100 |
- johabjamo_jungseong[c_jung])
+ OUTCHAR(0x3100 |
+ johabjamo_jungseong[c_jung]);
else
return 1;
}
} else {
if (i_jung == FILL) {
if (i_jong == FILL)
- OUT1(0x3100 |
- johabjamo_choseong[c_cho])
+ OUTCHAR(0x3100 |
+ johabjamo_choseong[c_cho]);
else
return 1;
}
else
- OUT1(0xac00 +
- i_cho * 588 +
- i_jung * 28 +
- (i_jong == FILL ? 0 : i_jong))
+ OUTCHAR(0xac00 +
+ i_cho * 588 +
+ i_jung * 28 +
+ (i_jong == FILL ? 0 : i_jong));
}
- NEXT(2, 1)
+ NEXT_IN(2);
} else {
/* KS X 1001 except hangul jamos and syllables */
if (c == 0xdf || c > 0xf9 ||
@@ -424,9 +424,9 @@ DECODER(johab)
t1 = t1 + (t2 < 0x5e ? 0 : 1) + 0x21;
t2 = (t2 < 0x5e ? t2 : t2 - 0x5e) + 0x21;
- TRYMAP_DEC(ksx1001, **outbuf, t1, t2);
+ TRYMAP_DEC(ksx1001, writer, t1, t2);
else return 1;
- NEXT(2, 1)
+ NEXT_IN(2);
}
}
}
diff --git a/Modules/cjkcodecs/_codecs_tw.c b/Modules/cjkcodecs/_codecs_tw.c
index 916298d167..80e0b81db9 100644
--- a/Modules/cjkcodecs/_codecs_tw.c
+++ b/Modules/cjkcodecs/_codecs_tw.c
@@ -13,26 +13,28 @@
ENCODER(big5)
{
- while (inleft > 0) {
- Py_UNICODE c = **inbuf;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
if (c < 0x80) {
REQUIRE_OUTBUF(1)
**outbuf = (unsigned char)c;
- NEXT(1, 1)
+ NEXT(1, 1);
continue;
}
- UCS4INVALID(c)
+
+ if (c > 0xFFFF)
+ return 1;
REQUIRE_OUTBUF(2)
TRYMAP_ENC(big5, code, c);
else return 1;
- OUT1(code >> 8)
- OUT2(code & 0xFF)
- NEXT(1, 2)
+ OUTBYTE1(code >> 8)
+ OUTBYTE2(code & 0xFF)
+ NEXT(1, 2);
}
return 0;
@@ -41,19 +43,17 @@ ENCODER(big5)
DECODER(big5)
{
while (inleft > 0) {
- unsigned char c = IN1;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1;
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
REQUIRE_INBUF(2)
- TRYMAP_DEC(big5, **outbuf, c, IN2) {
- NEXT(2, 1)
+ TRYMAP_DEC(big5, writer, c, INBYTE2) {
+ NEXT_IN(2);
}
else return 1;
}
@@ -68,25 +68,27 @@ DECODER(big5)
ENCODER(cp950)
{
- while (inleft > 0) {
- Py_UNICODE c = IN1;
+ while (*inpos < inlen) {
+ Py_UCS4 c = INCHAR1;
DBCHAR code;
if (c < 0x80) {
- WRITE1((unsigned char)c)
- NEXT(1, 1)
+ WRITEBYTE1((unsigned char)c)
+ NEXT(1, 1);
continue;
}
- UCS4INVALID(c)
+
+ if (c > 0xFFFF)
+ return 1;
REQUIRE_OUTBUF(2)
TRYMAP_ENC(cp950ext, code, c);
else TRYMAP_ENC(big5, code, c);
else return 1;
- OUT1(code >> 8)
- OUT2(code & 0xFF)
- NEXT(1, 2)
+ OUTBYTE1(code >> 8)
+ OUTBYTE2(code & 0xFF)
+ NEXT(1, 2);
}
return 0;
@@ -95,23 +97,21 @@ ENCODER(cp950)
DECODER(cp950)
{
while (inleft > 0) {
- unsigned char c = IN1;
-
- REQUIRE_OUTBUF(1)
+ unsigned char c = INBYTE1;
if (c < 0x80) {
- OUT1(c)
- NEXT(1, 1)
+ OUTCHAR(c);
+ NEXT_IN(1);
continue;
}
REQUIRE_INBUF(2)
- TRYMAP_DEC(cp950ext, **outbuf, c, IN2);
- else TRYMAP_DEC(big5, **outbuf, c, IN2);
+ TRYMAP_DEC(cp950ext, writer, c, INBYTE2);
+ else TRYMAP_DEC(big5, writer, c, INBYTE2);
else return 1;
- NEXT(2, 1)
+ NEXT_IN(2);
}
return 0;
diff --git a/Modules/cjkcodecs/alg_jisx0201.h b/Modules/cjkcodecs/alg_jisx0201.h
index 0bc7db5399..98c63e6b70 100644
--- a/Modules/cjkcodecs/alg_jisx0201.h
+++ b/Modules/cjkcodecs/alg_jisx0201.h
@@ -10,15 +10,24 @@
JISX0201_R_ENCODE(c, assi) \
else JISX0201_K_ENCODE(c, assi)
-#define JISX0201_R_DECODE(c, assi) \
+#define JISX0201_R_DECODE_CHAR(c, assi) \
if ((c) < 0x5c) (assi) = (c); \
else if ((c) == 0x5c) (assi) = 0x00a5; \
else if ((c) < 0x7e) (assi) = (c); \
else if ((c) == 0x7e) (assi) = 0x203e; \
else if ((c) == 0x7f) (assi) = 0x7f;
-#define JISX0201_K_DECODE(c, assi) \
+#define JISX0201_R_DECODE(c, writer) \
+ if ((c) < 0x5c) OUTCHAR(c); \
+ else if ((c) == 0x5c) OUTCHAR(0x00a5); \
+ else if ((c) < 0x7e) OUTCHAR(c); \
+ else if ((c) == 0x7e) OUTCHAR(0x203e); \
+ else if ((c) == 0x7f) OUTCHAR(0x7f);
+#define JISX0201_K_DECODE(c, writer) \
if ((c) >= 0xa1 && (c) <= 0xdf) \
- (assi) = 0xfec0 + (c);
-#define JISX0201_DECODE(c, assi) \
- JISX0201_R_DECODE(c, assi) \
- else JISX0201_K_DECODE(c, assi)
+ OUTCHAR(0xfec0 + (c));
+#define JISX0201_K_DECODE_CHAR(c, assi) \
+ if ((c) >= 0xa1 && (c) <= 0xdf) \
+ (assi) = 0xfec0 + (c);
+#define JISX0201_DECODE(c, writer) \
+ JISX0201_R_DECODE(c, writer) \
+ else JISX0201_K_DECODE(c, writer)
diff --git a/Modules/cjkcodecs/cjkcodecs.h b/Modules/cjkcodecs/cjkcodecs.h
index ab0682a9fa..9e92db2fa5 100644
--- a/Modules/cjkcodecs/cjkcodecs.h
+++ b/Modules/cjkcodecs/cjkcodecs.h
@@ -33,7 +33,7 @@ struct dbcs_index {
typedef struct dbcs_index decode_map;
struct widedbcs_index {
- const ucs4_t *map;
+ const Py_UCS4 *map;
unsigned char bottom, top;
};
typedef struct widedbcs_index widedecode_map;
@@ -56,7 +56,7 @@ struct dbcs_map {
};
struct pair_encodemap {
- ucs4_t uniseq;
+ Py_UCS4 uniseq;
DBCHAR code;
};
@@ -72,7 +72,8 @@ static const struct dbcs_map *mapping_list;
#define ENCODER(encoding) \
static Py_ssize_t encoding##_encode( \
MultibyteCodec_State *state, const void *config, \
- const Py_UNICODE **inbuf, Py_ssize_t inleft, \
+ int kind, void *data, \
+ Py_ssize_t *inpos, Py_ssize_t inlen, \
unsigned char **outbuf, Py_ssize_t outleft, int flags)
#define ENCODER_RESET(encoding) \
static Py_ssize_t encoding##_encode_reset( \
@@ -86,28 +87,30 @@ static const struct dbcs_map *mapping_list;
static Py_ssize_t encoding##_decode( \
MultibyteCodec_State *state, const void *config, \
const unsigned char **inbuf, Py_ssize_t inleft, \
- Py_UNICODE **outbuf, Py_ssize_t outleft)
+ _PyUnicodeWriter *writer)
#define DECODER_RESET(encoding) \
static Py_ssize_t encoding##_decode_reset( \
MultibyteCodec_State *state, const void *config)
-#if Py_UNICODE_SIZE == 4
-#define UCS4INVALID(code) \
- if ((code) > 0xFFFF) \
- return 1;
-#else
-#define UCS4INVALID(code) \
- if (0) ;
-#endif
-
#define NEXT_IN(i) \
- (*inbuf) += (i); \
- (inleft) -= (i);
+ do { \
+ (*inbuf) += (i); \
+ (inleft) -= (i); \
+ } while (0)
+#define NEXT_INCHAR(i) \
+ do { \
+ (*inpos) += (i); \
+ } while (0)
#define NEXT_OUT(o) \
- (*outbuf) += (o); \
- (outleft) -= (o);
+ do { \
+ (*outbuf) += (o); \
+ (outleft) -= (o); \
+ } while (0)
#define NEXT(i, o) \
- NEXT_IN(i) NEXT_OUT(o)
+ do { \
+ NEXT_INCHAR(i); \
+ NEXT_OUT(o); \
+ } while (0)
#define REQUIRE_INBUF(n) \
if (inleft < (n)) \
@@ -116,48 +119,55 @@ static const struct dbcs_map *mapping_list;
if (outleft < (n)) \
return MBERR_TOOSMALL;
-#define IN1 ((*inbuf)[0])
-#define IN2 ((*inbuf)[1])
-#define IN3 ((*inbuf)[2])
-#define IN4 ((*inbuf)[3])
-
-#define OUT1(c) ((*outbuf)[0]) = (c);
-#define OUT2(c) ((*outbuf)[1]) = (c);
-#define OUT3(c) ((*outbuf)[2]) = (c);
-#define OUT4(c) ((*outbuf)[3]) = (c);
-
-#define WRITE1(c1) \
+#define INBYTE1 ((*inbuf)[0])
+#define INBYTE2 ((*inbuf)[1])
+#define INBYTE3 ((*inbuf)[2])
+#define INBYTE4 ((*inbuf)[3])
+
+#define INCHAR1 PyUnicode_READ(kind, data, *inpos)
+#define INCHAR2 PyUnicode_READ(kind, data, *inpos + 1)
+
+#define OUTCHAR(c) \
+ do { \
+ if (_PyUnicodeWriter_WriteChar(writer, (c)) < 0) \
+ return MBERR_EXCEPTION; \
+ } while (0)
+
+#define OUTCHAR2(c1, c2) \
+ do { \
+ Py_UCS4 _c1 = (c1); \
+ Py_UCS4 _c2 = (c2); \
+ if (_PyUnicodeWriter_Prepare(writer, 2, Py_MAX(_c1, c2)) < 0) \
+ return MBERR_EXCEPTION; \
+ PyUnicode_WRITE(writer->kind, writer->data, writer->pos, _c1); \
+ PyUnicode_WRITE(writer->kind, writer->data, writer->pos + 1, _c2); \
+ writer->pos += 2; \
+ } while (0)
+
+#define OUTBYTE1(c) ((*outbuf)[0]) = (c);
+#define OUTBYTE2(c) ((*outbuf)[1]) = (c);
+#define OUTBYTE3(c) ((*outbuf)[2]) = (c);
+#define OUTBYTE4(c) ((*outbuf)[3]) = (c);
+
+#define WRITEBYTE1(c1) \
REQUIRE_OUTBUF(1) \
(*outbuf)[0] = (c1);
-#define WRITE2(c1, c2) \
+#define WRITEBYTE2(c1, c2) \
REQUIRE_OUTBUF(2) \
(*outbuf)[0] = (c1); \
(*outbuf)[1] = (c2);
-#define WRITE3(c1, c2, c3) \
+#define WRITEBYTE3(c1, c2, c3) \
REQUIRE_OUTBUF(3) \
(*outbuf)[0] = (c1); \
(*outbuf)[1] = (c2); \
(*outbuf)[2] = (c3);
-#define WRITE4(c1, c2, c3, c4) \
+#define WRITEBYTE4(c1, c2, c3, c4) \
REQUIRE_OUTBUF(4) \
(*outbuf)[0] = (c1); \
(*outbuf)[1] = (c2); \
(*outbuf)[2] = (c3); \
(*outbuf)[3] = (c4);
-#if Py_UNICODE_SIZE == 2
-# define WRITEUCS4(c) \
- REQUIRE_OUTBUF(2) \
- (*outbuf)[0] = 0xd800 + (((c) - 0x10000) >> 10); \
- (*outbuf)[1] = 0xdc00 + (((c) - 0x10000) & 0x3ff); \
- NEXT_OUT(2)
-#else
-# define WRITEUCS4(c) \
- REQUIRE_OUTBUF(1) \
- **outbuf = (Py_UNICODE)(c); \
- NEXT_OUT(1)
-#endif
-
#define _TRYMAP_ENC(m, assi, val) \
((m)->map != NULL && (val) >= (m)->bottom && \
(val)<= (m)->top && ((assi) = (m)->map[(val) - \
@@ -167,39 +177,41 @@ static const struct dbcs_map *mapping_list;
#define TRYMAP_ENC(charset, assi, uni) \
if TRYMAP_ENC_COND(charset, assi, uni)
-#define _TRYMAP_DEC(m, assi, val) \
- ((m)->map != NULL && (val) >= (m)->bottom && \
- (val)<= (m)->top && ((assi) = (m)->map[(val) - \
- (m)->bottom]) != UNIINV)
-#define TRYMAP_DEC(charset, assi, c1, c2) \
- if _TRYMAP_DEC(&charset##_decmap[c1], assi, c2)
+Py_LOCAL_INLINE(int)
+_TRYMAP_DEC_WRITE(_PyUnicodeWriter *writer, Py_UCS4 c)
+{
+ if (c == UNIINV || _PyUnicodeWriter_WriteChar(writer, c) < 0)
+ return UNIINV;
+ else
+ return c;
+}
-#define _TRYMAP_ENC_MPLANE(m, assplane, asshi, asslo, val) \
- ((m)->map != NULL && (val) >= (m)->bottom && \
- (val)<= (m)->top && \
- ((assplane) = (m)->map[((val) - (m)->bottom)*3]) != 0 && \
+#define _TRYMAP_DEC(m, writer, val) \
+ ((m)->map != NULL && \
+ (val) >= (m)->bottom && \
+ (val)<= (m)->top && \
+ _TRYMAP_DEC_WRITE(writer, (m)->map[(val) - (m)->bottom]) != UNIINV)
+#define _TRYMAP_DEC_CHAR(m, assi, val) \
+ ((m)->map != NULL && \
+ (val) >= (m)->bottom && \
+ (val)<= (m)->top && \
+ ((assi) = (m)->map[(val) - (m)->bottom]) != UNIINV)
+#define TRYMAP_DEC(charset, writer, c1, c2) \
+ if _TRYMAP_DEC(&charset##_decmap[c1], writer, c2)
+#define TRYMAP_DEC_CHAR(charset, assi, c1, c2) \
+ if _TRYMAP_DEC_CHAR(&charset##_decmap[c1], assi, c2)
+
+#define _TRYMAP_ENC_MPLANE(m, assplane, asshi, asslo, val) \
+ ((m)->map != NULL && (val) >= (m)->bottom && \
+ (val)<= (m)->top && \
+ ((assplane) = (m)->map[((val) - (m)->bottom)*3]) != 0 && \
(((asshi) = (m)->map[((val) - (m)->bottom)*3 + 1]), 1) && \
(((asslo) = (m)->map[((val) - (m)->bottom)*3 + 2]), 1))
#define TRYMAP_ENC_MPLANE(charset, assplane, asshi, asslo, uni) \
if _TRYMAP_ENC_MPLANE(&charset##_encmap[(uni) >> 8], \
assplane, asshi, asslo, (uni) & 0xff)
-#define TRYMAP_DEC_MPLANE(charset, assi, plane, c1, c2) \
- if _TRYMAP_DEC(&charset##_decmap[plane][c1], assi, c2)
-
-#if Py_UNICODE_SIZE == 2
-#define DECODE_SURROGATE(c) \
- if (c >> 10 == 0xd800 >> 10) { /* high surrogate */ \
- REQUIRE_INBUF(2) \
- if (IN2 >> 10 == 0xdc00 >> 10) { /* low surrogate */ \
- c = 0x10000 + ((ucs4_t)(c - 0xd800) << 10) + \
- ((ucs4_t)(IN2) - 0xdc00); \
- } \
- }
-#define GET_INSIZE(c) ((c) > 0xffff ? 2 : 1)
-#else
-#define DECODE_SURROGATE(c) {;}
-#define GET_INSIZE(c) 1
-#endif
+#define TRYMAP_DEC_MPLANE(charset, writer, plane, c1, c2) \
+ if _TRYMAP_DEC(&charset##_decmap[plane][c1], writer, c2)
#define BEGIN_MAPPINGS_LIST static const struct dbcs_map _mapping_list[] = {
#define MAPPING_ENCONLY(enc) {#enc, (void*)enc##_encmap, NULL},
@@ -324,7 +336,7 @@ find_pairencmap(ucs2_t body, ucs2_t modifier,
const struct pair_encodemap *haystack, int haystacksize)
{
int pos, min, max;
- ucs4_t value = body << 16 | modifier;
+ Py_UCS4 value = body << 16 | modifier;
min = 0;
max = haystacksize;
diff --git a/Modules/cjkcodecs/emu_jisx0213_2000.h b/Modules/cjkcodecs/emu_jisx0213_2000.h
index 4227fb29dc..877337ef63 100644
--- a/Modules/cjkcodecs/emu_jisx0213_2000.h
+++ b/Modules/cjkcodecs/emu_jisx0213_2000.h
@@ -38,6 +38,9 @@
((c1) == 0x7E && (c2) == 0x7E))) \
return EMULATE_JISX0213_2000_DECODE_INVALID;
-#define EMULATE_JISX0213_2000_DECODE_PLANE2(assi, c1, c2) \
+#define EMULATE_JISX0213_2000_DECODE_PLANE2(writer, c1, c2) \
+ if (config == (void *)2000 && (c1) == 0x7D && (c2) == 0x3B) \
+ OUTCHAR(0x9B1D);
+#define EMULATE_JISX0213_2000_DECODE_PLANE2_CHAR(assi, c1, c2) \
if (config == (void *)2000 && (c1) == 0x7D && (c2) == 0x3B) \
(assi) = 0x9B1D;
diff --git a/Modules/cjkcodecs/mappings_cn.h b/Modules/cjkcodecs/mappings_cn.h
index a6dcebfe4a..1f8c299d24 100644
--- a/Modules/cjkcodecs/mappings_cn.h
+++ b/Modules/cjkcodecs/mappings_cn.h
@@ -4049,7 +4049,7 @@ __gb18030ext_encmap+3126,0,100},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0
static const struct _gb18030_to_unibmp_ranges {
- Py_UNICODE first, last;
+ Py_UCS4 first, last;
DBCHAR base;
} gb18030_to_unibmp_ranges[] = {
{128,163,0},{165,166,36},{169,175,38},{178,182,45},{184,214,50},{216,223,81},{
diff --git a/Modules/cjkcodecs/mappings_jisx0213_pair.h b/Modules/cjkcodecs/mappings_jisx0213_pair.h
index eda8e9e819..729e4bcbe6 100644
--- a/Modules/cjkcodecs/mappings_jisx0213_pair.h
+++ b/Modules/cjkcodecs/mappings_jisx0213_pair.h
@@ -3,7 +3,7 @@
static const struct widedbcs_index *jisx0213_pair_decmap;
static const struct pair_encodemap *jisx0213_pair_encmap;
#else
-static const ucs4_t __jisx0213_pair_decmap[49] = {
+static const Py_UCS4 __jisx0213_pair_decmap[49] = {
810234010,810365082,810496154,810627226,810758298,816525466,816656538,
816787610,816918682,817049754,817574042,818163866,818426010,838283418,
15074048,U,U,U,39060224,39060225,42730240,42730241,39387904,39387905,39453440,
diff --git a/Modules/cjkcodecs/multibytecodec.c b/Modules/cjkcodecs/multibytecodec.c
index c032cdb0ed..3c5173f68c 100644
--- a/Modules/cjkcodecs/multibytecodec.c
+++ b/Modules/cjkcodecs/multibytecodec.c
@@ -10,15 +10,16 @@
#include "multibytecodec.h"
typedef struct {
- const Py_UNICODE *inbuf, *inbuf_top, *inbuf_end;
+ PyObject *inobj;
+ Py_ssize_t inpos, inlen;
unsigned char *outbuf, *outbuf_end;
PyObject *excobj, *outobj;
} MultibyteEncodeBuffer;
typedef struct {
const unsigned char *inbuf, *inbuf_top, *inbuf_end;
- Py_UNICODE *outbuf, *outbuf_end;
- PyObject *excobj, *outobj;
+ PyObject *excobj;
+ _PyUnicodeWriter writer;
} MultibyteDecodeBuffer;
PyDoc_STRVAR(MultibyteCodec_Encode__doc__,
@@ -45,7 +46,7 @@ static char *incrementalkwarglist[] = {"input", "final", NULL};
static char *streamkwarglist[] = {"stream", "errors", NULL};
static PyObject *multibytecodec_encode(MultibyteCodec *,
- MultibyteCodec_State *, const Py_UNICODE **, Py_ssize_t,
+ MultibyteCodec_State *, PyObject *, Py_ssize_t *,
PyObject *, int);
#define MBENC_RESET MBENC_MAX<<1 /* reset after an encoding session */
@@ -197,29 +198,6 @@ expand_encodebuffer(MultibyteEncodeBuffer *buf, Py_ssize_t esize)
goto errorexit; \
}
-static int
-expand_decodebuffer(MultibyteDecodeBuffer *buf, Py_ssize_t esize)
-{
- Py_ssize_t orgpos, orgsize;
-
- orgpos = (Py_ssize_t)(buf->outbuf - PyUnicode_AS_UNICODE(buf->outobj));
- orgsize = PyUnicode_GET_SIZE(buf->outobj);
- if (PyUnicode_Resize(&buf->outobj, orgsize + (
- esize < (orgsize >> 1) ? (orgsize >> 1) | 1 : esize)) == -1)
- return -1;
-
- buf->outbuf = PyUnicode_AS_UNICODE(buf->outobj) + orgpos;
- buf->outbuf_end = PyUnicode_AS_UNICODE(buf->outobj)
- + PyUnicode_GET_SIZE(buf->outobj);
-
- return 0;
-}
-#define REQUIRE_DECODEBUFFER(buf, s) { \
- if ((s) < 1 || (buf)->outbuf + (s) > (buf)->outbuf_end) \
- if (expand_decodebuffer(buf, s) == -1) \
- goto errorexit; \
-}
-
/**
* MultibyteCodec object
@@ -247,7 +225,7 @@ multibytecodec_encerror(MultibyteCodec *codec,
return 0; /* retry it */
case MBERR_TOOFEW:
reason = "incomplete multibyte sequence";
- esize = (Py_ssize_t)(buf->inbuf_end - buf->inbuf);
+ esize = (Py_ssize_t)buf->inpos;
break;
case MBERR_INTERNAL:
PyErr_SetString(PyExc_RuntimeError,
@@ -261,14 +239,24 @@ multibytecodec_encerror(MultibyteCodec *codec,
}
if (errors == ERROR_REPLACE) {
- const Py_UNICODE replchar = '?', *inbuf = &replchar;
+ PyObject *replchar;
Py_ssize_t r;
+ Py_ssize_t inpos;
+ int kind;
+ void *data;
+
+ replchar = PyUnicode_FromOrdinal('?');
+ if (replchar == NULL)
+ goto errorexit;
+ kind = PyUnicode_KIND(replchar);
+ data = PyUnicode_DATA(replchar);
+ inpos = 0;
for (;;) {
- Py_ssize_t outleft;
+ Py_ssize_t outleft = (Py_ssize_t)(buf->outbuf_end - buf->outbuf);
- outleft = (Py_ssize_t)(buf->outbuf_end - buf->outbuf);
- r = codec->encode(state, codec->config, &inbuf, 1,
+ r = codec->encode(state, codec->config,
+ kind, data, &inpos, 1,
&buf->outbuf, outleft, 0);
if (r == MBERR_TOOSMALL) {
REQUIRE_ENCODEBUFFER(buf, -1);
@@ -278,25 +266,27 @@ multibytecodec_encerror(MultibyteCodec *codec,
break;
}
+ Py_DECREF(replchar);
+
if (r != 0) {
REQUIRE_ENCODEBUFFER(buf, 1);
*buf->outbuf++ = '?';
}
}
if (errors == ERROR_IGNORE || errors == ERROR_REPLACE) {
- buf->inbuf += esize;
+ buf->inpos += esize;
return 0;
}
- start = (Py_ssize_t)(buf->inbuf - buf->inbuf_top);
+ start = (Py_ssize_t)buf->inpos;
end = start + esize;
/* use cached exception object if available */
if (buf->excobj == NULL) {
- buf->excobj = PyUnicodeEncodeError_Create(codec->encoding,
- buf->inbuf_top,
- buf->inbuf_end - buf->inbuf_top,
- start, end, reason);
+ buf->excobj = PyObject_CallFunction(PyExc_UnicodeEncodeError,
+ "sOnns",
+ codec->encoding, buf->inobj,
+ start, end, reason);
if (buf->excobj == NULL)
goto errorexit;
}
@@ -325,10 +315,10 @@ multibytecodec_encerror(MultibyteCodec *codec,
}
if (PyUnicode_Check(tobj)) {
- const Py_UNICODE *uraw = PyUnicode_AS_UNICODE(tobj);
+ Py_ssize_t inpos;
- retstr = multibytecodec_encode(codec, state, &uraw,
- PyUnicode_GET_SIZE(tobj), ERROR_STRICT,
+ retstr = multibytecodec_encode(codec, state, tobj,
+ &inpos, ERROR_STRICT,
MBENC_FLUSH);
if (retstr == NULL)
goto errorexit;
@@ -347,15 +337,15 @@ multibytecodec_encerror(MultibyteCodec *codec,
newpos = PyLong_AsSsize_t(PyTuple_GET_ITEM(retobj, 1));
if (newpos < 0 && !PyErr_Occurred())
- newpos += (Py_ssize_t)(buf->inbuf_end - buf->inbuf_top);
- if (newpos < 0 || buf->inbuf_top + newpos > buf->inbuf_end) {
+ newpos += (Py_ssize_t)buf->inlen;
+ if (newpos < 0 || newpos > buf->inlen) {
PyErr_Clear();
PyErr_Format(PyExc_IndexError,
"position %zd from error handler out of bounds",
newpos);
goto errorexit;
}
- buf->inbuf = buf->inbuf_top + newpos;
+ buf->inpos = newpos;
Py_DECREF(retobj);
Py_DECREF(retstr);
@@ -374,7 +364,7 @@ multibytecodec_decerror(MultibyteCodec *codec,
PyObject *errors, Py_ssize_t e)
{
PyObject *retobj = NULL, *retuni = NULL;
- Py_ssize_t retunisize, newpos;
+ Py_ssize_t newpos;
const char *reason;
Py_ssize_t esize, start, end;
@@ -385,7 +375,6 @@ multibytecodec_decerror(MultibyteCodec *codec,
else {
switch (e) {
case MBERR_TOOSMALL:
- REQUIRE_DECODEBUFFER(buf, -1);
return 0; /* retry it */
case MBERR_TOOFEW:
reason = "incomplete multibyte sequence";
@@ -395,6 +384,8 @@ multibytecodec_decerror(MultibyteCodec *codec,
PyErr_SetString(PyExc_RuntimeError,
"internal codec error");
return -1;
+ case MBERR_EXCEPTION:
+ return -1;
default:
PyErr_SetString(PyExc_RuntimeError,
"unknown runtime error");
@@ -403,8 +394,9 @@ multibytecodec_decerror(MultibyteCodec *codec,
}
if (errors == ERROR_REPLACE) {
- REQUIRE_DECODEBUFFER(buf, 1);
- *buf->outbuf++ = Py_UNICODE_REPLACEMENT_CHARACTER;
+ if (_PyUnicodeWriter_WriteChar(&buf->writer,
+ Py_UNICODE_REPLACEMENT_CHARACTER) < 0)
+ goto errorexit;
}
if (errors == ERROR_IGNORE || errors == ERROR_REPLACE) {
buf->inbuf += esize;
@@ -447,15 +439,8 @@ multibytecodec_decerror(MultibyteCodec *codec,
goto errorexit;
}
- if (PyUnicode_AsUnicode(retuni) == NULL)
+ if (_PyUnicodeWriter_WriteStr(&buf->writer, retuni) < 0)
goto errorexit;
- retunisize = PyUnicode_GET_SIZE(retuni);
- if (retunisize > 0) {
- REQUIRE_DECODEBUFFER(buf, retunisize);
- memcpy((char *)buf->outbuf, PyUnicode_AS_UNICODE(retuni),
- retunisize * Py_UNICODE_SIZE);
- buf->outbuf += retunisize;
- }
newpos = PyLong_AsSsize_t(PyTuple_GET_ITEM(retobj, 1));
if (newpos < 0 && !PyErr_Occurred())
@@ -479,19 +464,29 @@ errorexit:
static PyObject *
multibytecodec_encode(MultibyteCodec *codec,
MultibyteCodec_State *state,
- const Py_UNICODE **data, Py_ssize_t datalen,
+ PyObject *text, Py_ssize_t *inpos_t,
PyObject *errors, int flags)
{
MultibyteEncodeBuffer buf;
Py_ssize_t finalsize, r = 0;
+ Py_ssize_t datalen;
+ int kind;
+ void *data;
+
+ if (PyUnicode_READY(text) < 0)
+ return NULL;
+ datalen = PyUnicode_GET_LENGTH(text);
if (datalen == 0 && !(flags & MBENC_RESET))
return PyBytes_FromStringAndSize(NULL, 0);
buf.excobj = NULL;
buf.outobj = NULL;
- buf.inbuf = buf.inbuf_top = *data;
- buf.inbuf_end = buf.inbuf_top + datalen;
+ buf.inobj = text; /* borrowed reference */
+ buf.inpos = 0;
+ buf.inlen = datalen;
+ kind = PyUnicode_KIND(buf.inobj);
+ data = PyUnicode_DATA(buf.inobj);
if (datalen > (PY_SSIZE_T_MAX - 16) / 2) {
PyErr_NoMemory();
@@ -504,14 +499,14 @@ multibytecodec_encode(MultibyteCodec *codec,
buf.outbuf = (unsigned char *)PyBytes_AS_STRING(buf.outobj);
buf.outbuf_end = buf.outbuf + PyBytes_GET_SIZE(buf.outobj);
- while (buf.inbuf < buf.inbuf_end) {
- Py_ssize_t inleft, outleft;
-
+ while (buf.inpos < buf.inlen) {
/* we don't reuse inleft and outleft here.
* error callbacks can relocate the cursor anywhere on buffer*/
- inleft = (Py_ssize_t)(buf.inbuf_end - buf.inbuf);
- outleft = (Py_ssize_t)(buf.outbuf_end - buf.outbuf);
- r = codec->encode(state, codec->config, &buf.inbuf, inleft,
+ Py_ssize_t outleft = (Py_ssize_t)(buf.outbuf_end - buf.outbuf);
+
+ r = codec->encode(state, codec->config,
+ kind, data,
+ &buf.inpos, buf.inlen,
&buf.outbuf, outleft, flags);
if ((r == 0) || (r == MBERR_TOOFEW && !(flags & MBENC_FLUSH)))
break;
@@ -542,7 +537,8 @@ multibytecodec_encode(MultibyteCodec *codec,
if (_PyBytes_Resize(&buf.outobj, finalsize) == -1)
goto errorexit;
- *data = buf.inbuf;
+ if (inpos_t)
+ *inpos_t = buf.inpos;
Py_XDECREF(buf.excobj);
return buf.outobj;
@@ -557,7 +553,6 @@ MultibyteCodec_Encode(MultibyteCodecObject *self,
PyObject *args, PyObject *kwargs)
{
MultibyteCodec_State state;
- Py_UNICODE *data;
PyObject *errorcb, *r, *arg, *ucvt;
const char *errors = NULL;
Py_ssize_t datalen;
@@ -580,11 +575,11 @@ MultibyteCodec_Encode(MultibyteCodecObject *self,
}
}
- data = PyUnicode_AsUnicodeAndSize(arg, &datalen);
- if (data == NULL) {
+ if (PyUnicode_READY(arg) < 0) {
Py_XDECREF(ucvt);
return NULL;
}
+ datalen = PyUnicode_GET_LENGTH(arg);
errorcb = internal_error_callback(errors);
if (errorcb == NULL) {
@@ -596,7 +591,7 @@ MultibyteCodec_Encode(MultibyteCodecObject *self,
self->codec->encinit(&state, self->codec->config) != 0)
goto errorexit;
r = multibytecodec_encode(self->codec, &state,
- (const Py_UNICODE **)&data, datalen, errorcb,
+ arg, NULL, errorcb,
MBENC_FLUSH | MBENC_RESET);
if (r == NULL)
goto errorexit;
@@ -617,10 +612,10 @@ MultibyteCodec_Decode(MultibyteCodecObject *self,
{
MultibyteCodec_State state;
MultibyteDecodeBuffer buf;
- PyObject *errorcb;
+ PyObject *errorcb, *res;
Py_buffer pdata;
const char *data, *errors = NULL;
- Py_ssize_t datalen, finalsize;
+ Py_ssize_t datalen;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "y*|z:decode",
codeckwarglist, &pdata, &errors))
@@ -640,29 +635,23 @@ MultibyteCodec_Decode(MultibyteCodecObject *self,
return make_tuple(PyUnicode_New(0, 0), 0);
}
+ _PyUnicodeWriter_Init(&buf.writer);
+ buf.writer.min_length = datalen;
buf.excobj = NULL;
buf.inbuf = buf.inbuf_top = (unsigned char *)data;
buf.inbuf_end = buf.inbuf_top + datalen;
- buf.outobj = PyUnicode_FromUnicode(NULL, datalen);
- if (buf.outobj == NULL)
- goto errorexit;
- buf.outbuf = PyUnicode_AS_UNICODE(buf.outobj);
- if (buf.outbuf == NULL)
- goto errorexit;
- buf.outbuf_end = buf.outbuf + PyUnicode_GET_SIZE(buf.outobj);
if (self->codec->decinit != NULL &&
self->codec->decinit(&state, self->codec->config) != 0)
goto errorexit;
while (buf.inbuf < buf.inbuf_end) {
- Py_ssize_t inleft, outleft, r;
+ Py_ssize_t inleft, r;
inleft = (Py_ssize_t)(buf.inbuf_end - buf.inbuf);
- outleft = (Py_ssize_t)(buf.outbuf_end - buf.outbuf);
r = self->codec->decode(&state, self->codec->config,
- &buf.inbuf, inleft, &buf.outbuf, outleft);
+ &buf.inbuf, inleft, &buf.writer);
if (r == 0)
break;
else if (multibytecodec_decerror(self->codec, &state,
@@ -670,23 +659,20 @@ MultibyteCodec_Decode(MultibyteCodecObject *self,
goto errorexit;
}
- finalsize = (Py_ssize_t)(buf.outbuf -
- PyUnicode_AS_UNICODE(buf.outobj));
-
- if (finalsize != PyUnicode_GET_SIZE(buf.outobj))
- if (PyUnicode_Resize(&buf.outobj, finalsize) == -1)
- goto errorexit;
+ res = _PyUnicodeWriter_Finish(&buf.writer);
+ if (res == NULL)
+ goto errorexit;
PyBuffer_Release(&pdata);
Py_XDECREF(buf.excobj);
ERROR_DECREF(errorcb);
- return make_tuple(buf.outobj, datalen);
+ return make_tuple(res, datalen);
errorexit:
PyBuffer_Release(&pdata);
ERROR_DECREF(errorcb);
Py_XDECREF(buf.excobj);
- Py_XDECREF(buf.outobj);
+ _PyUnicodeWriter_Dealloc(&buf.writer);
return NULL;
}
@@ -752,9 +738,9 @@ encoder_encode_stateful(MultibyteStatefulEncoderContext *ctx,
PyObject *unistr, int final)
{
PyObject *ucvt, *r = NULL;
- Py_UNICODE *inbuf, *inbuf_end, *inbuf_tmp = NULL;
- Py_ssize_t datalen, origpending;
- wchar_t *data;
+ PyObject *inbuf = NULL;
+ Py_ssize_t inpos, datalen;
+ PyObject *origpending = NULL;
if (PyUnicode_Check(unistr))
ucvt = NULL;
@@ -770,69 +756,66 @@ encoder_encode_stateful(MultibyteStatefulEncoderContext *ctx,
}
}
- data = PyUnicode_AsUnicodeAndSize(unistr, &datalen);
- if (data == NULL)
- goto errorexit;
- origpending = ctx->pendingsize;
+ if (ctx->pending) {
+ PyObject *inbuf_tmp;
- if (origpending > 0) {
- if (datalen > PY_SSIZE_T_MAX - ctx->pendingsize) {
- PyErr_NoMemory();
- /* inbuf_tmp == NULL */
- goto errorexit;
- }
- inbuf_tmp = PyMem_New(Py_UNICODE, datalen + ctx->pendingsize);
+ Py_INCREF(ctx->pending);
+ origpending = ctx->pending;
+
+ Py_INCREF(ctx->pending);
+ inbuf_tmp = ctx->pending;
+ PyUnicode_Append(&inbuf_tmp, unistr);
if (inbuf_tmp == NULL)
goto errorexit;
- memcpy(inbuf_tmp, ctx->pending,
- Py_UNICODE_SIZE * ctx->pendingsize);
- memcpy(inbuf_tmp + ctx->pendingsize,
- PyUnicode_AS_UNICODE(unistr),
- Py_UNICODE_SIZE * datalen);
- datalen += ctx->pendingsize;
- ctx->pendingsize = 0;
+ Py_CLEAR(ctx->pending);
inbuf = inbuf_tmp;
}
- else
- inbuf = (Py_UNICODE *)PyUnicode_AS_UNICODE(unistr);
+ else {
+ origpending = NULL;
- inbuf_end = inbuf + datalen;
+ Py_INCREF(unistr);
+ inbuf = unistr;
+ }
+ if (PyUnicode_READY(inbuf) < 0)
+ goto errorexit;
+ inpos = 0;
+ datalen = PyUnicode_GET_LENGTH(inbuf);
r = multibytecodec_encode(ctx->codec, &ctx->state,
- (const Py_UNICODE **)&inbuf, datalen,
- ctx->errors, final ? MBENC_FLUSH | MBENC_RESET : 0);
+ inbuf, &inpos,
+ ctx->errors, final ? MBENC_FLUSH | MBENC_RESET : 0);
if (r == NULL) {
/* recover the original pending buffer */
- if (origpending > 0)
- memcpy(ctx->pending, inbuf_tmp,
- Py_UNICODE_SIZE * origpending);
- ctx->pendingsize = origpending;
+ Py_CLEAR(ctx->pending);
+ ctx->pending = origpending;
+ origpending = NULL;
goto errorexit;
}
+ Py_XDECREF(origpending);
- if (inbuf < inbuf_end) {
- ctx->pendingsize = (Py_ssize_t)(inbuf_end - inbuf);
- if (ctx->pendingsize > MAXENCPENDING) {
+ if (inpos < datalen) {
+ if (datalen - inpos > MAXENCPENDING) {
/* normal codecs can't reach here */
- ctx->pendingsize = 0;
PyErr_SetString(PyExc_UnicodeError,
"pending buffer overflow");
goto errorexit;
}
- memcpy(ctx->pending, inbuf,
- ctx->pendingsize * Py_UNICODE_SIZE);
+ ctx->pending = PyUnicode_Substring(inbuf, inpos, datalen);
+ if (ctx->pending == NULL) {
+ /* normal codecs can't reach here */
+ goto errorexit;
+ }
}
- if (inbuf_tmp != NULL)
- PyMem_Del(inbuf_tmp);
+ Py_DECREF(inbuf);
Py_XDECREF(ucvt);
return r;
errorexit:
- if (inbuf_tmp != NULL)
- PyMem_Del(inbuf_tmp);
Py_XDECREF(r);
Py_XDECREF(ucvt);
+ Py_XDECREF(origpending);
+ Py_XDECREF(inbuf);
return NULL;
}
@@ -859,17 +842,7 @@ decoder_prepare_buffer(MultibyteDecodeBuffer *buf, const char *data,
{
buf->inbuf = buf->inbuf_top = (const unsigned char *)data;
buf->inbuf_end = buf->inbuf_top + size;
- if (buf->outobj == NULL) { /* only if outobj is not allocated yet */
- buf->outobj = PyUnicode_FromUnicode(NULL, size);
- if (buf->outobj == NULL)
- return -1;
- buf->outbuf = PyUnicode_AsUnicode(buf->outobj);
- if (buf->outbuf == NULL)
- return -1;
- buf->outbuf_end = buf->outbuf +
- PyUnicode_GET_SIZE(buf->outobj);
- }
-
+ buf->writer.min_length += size;
return 0;
}
@@ -878,14 +851,13 @@ decoder_feed_buffer(MultibyteStatefulDecoderContext *ctx,
MultibyteDecodeBuffer *buf)
{
while (buf->inbuf < buf->inbuf_end) {
- Py_ssize_t inleft, outleft;
+ Py_ssize_t inleft;
Py_ssize_t r;
inleft = (Py_ssize_t)(buf->inbuf_end - buf->inbuf);
- outleft = (Py_ssize_t)(buf->outbuf_end - buf->outbuf);
r = ctx->codec->decode(&ctx->state, ctx->codec->config,
- &buf->inbuf, inleft, &buf->outbuf, outleft);
+ &buf->inbuf, inleft, &buf->writer);
if (r == 0 || r == MBERR_TOOFEW)
break;
else if (multibytecodec_decerror(ctx->codec, &ctx->state,
@@ -927,7 +899,7 @@ mbiencoder_reset(MultibyteIncrementalEncoderObject *self)
if (r != 0)
return NULL;
}
- self->pendingsize = 0;
+ Py_CLEAR(self->pending);
Py_RETURN_NONE;
}
@@ -963,7 +935,7 @@ mbiencoder_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
}
self->codec = ((MultibyteCodecObject *)codec)->codec;
- self->pendingsize = 0;
+ self->pending = NULL;
self->errors = internal_error_callback(errors);
if (self->errors == NULL)
goto errorexit;
@@ -1058,8 +1030,9 @@ mbidecoder_decode(MultibyteIncrementalDecoderObject *self,
MultibyteDecodeBuffer buf;
char *data, *wdata = NULL;
Py_buffer pdata;
- Py_ssize_t wsize, finalsize = 0, size, origpending;
+ Py_ssize_t wsize, size, origpending;
int final = 0;
+ PyObject *res;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "y*|i:decode",
incrementalkwarglist, &pdata, &final))
@@ -1067,7 +1040,8 @@ mbidecoder_decode(MultibyteIncrementalDecoderObject *self,
data = pdata.buf;
size = pdata.len;
- buf.outobj = buf.excobj = NULL;
+ _PyUnicodeWriter_Init(&buf.writer);
+ buf.excobj = NULL;
origpending = self->pendingsize;
if (self->pendingsize == 0) {
@@ -1081,8 +1055,10 @@ mbidecoder_decode(MultibyteIncrementalDecoderObject *self,
}
wsize = size + self->pendingsize;
wdata = PyMem_Malloc(wsize);
- if (wdata == NULL)
+ if (wdata == NULL) {
+ PyErr_NoMemory();
goto errorexit;
+ }
memcpy(wdata, self->pending, self->pendingsize);
memcpy(wdata + self->pendingsize, data, size);
self->pendingsize = 0;
@@ -1109,23 +1085,22 @@ mbidecoder_decode(MultibyteIncrementalDecoderObject *self,
goto errorexit;
}
- finalsize = (Py_ssize_t)(buf.outbuf - PyUnicode_AS_UNICODE(buf.outobj));
- if (finalsize != PyUnicode_GET_SIZE(buf.outobj))
- if (PyUnicode_Resize(&buf.outobj, finalsize) == -1)
- goto errorexit;
+ res = _PyUnicodeWriter_Finish(&buf.writer);
+ if (res == NULL)
+ goto errorexit;
PyBuffer_Release(&pdata);
if (wdata != data)
PyMem_Del(wdata);
Py_XDECREF(buf.excobj);
- return buf.outobj;
+ return res;
errorexit:
PyBuffer_Release(&pdata);
if (wdata != NULL && wdata != data)
PyMem_Del(wdata);
Py_XDECREF(buf.excobj);
- Py_XDECREF(buf.outobj);
+ _PyUnicodeWriter_Dealloc(&buf.writer);
return NULL;
}
@@ -1265,13 +1240,14 @@ mbstreamreader_iread(MultibyteStreamReaderObject *self,
const char *method, Py_ssize_t sizehint)
{
MultibyteDecodeBuffer buf;
- PyObject *cres;
- Py_ssize_t rsize, finalsize = 0;
+ PyObject *cres, *res;
+ Py_ssize_t rsize;
if (sizehint == 0)
return PyUnicode_New(0, 0);
- buf.outobj = buf.excobj = NULL;
+ _PyUnicodeWriter_Init(&buf.writer);
+ buf.excobj = NULL;
cres = NULL;
for (;;) {
@@ -1303,19 +1279,19 @@ mbstreamreader_iread(MultibyteStreamReaderObject *self,
if (PyBytes_GET_SIZE(cres) > PY_SSIZE_T_MAX - self->pendingsize) {
PyErr_NoMemory();
goto errorexit;
- }
- rsize = PyBytes_GET_SIZE(cres) + self->pendingsize;
- ctr = PyBytes_FromStringAndSize(NULL, rsize);
- if (ctr == NULL)
- goto errorexit;
- ctrdata = PyBytes_AS_STRING(ctr);
- memcpy(ctrdata, self->pending, self->pendingsize);
- memcpy(ctrdata + self->pendingsize,
- PyBytes_AS_STRING(cres),
- PyBytes_GET_SIZE(cres));
- Py_DECREF(cres);
- cres = ctr;
- self->pendingsize = 0;
+ }
+ rsize = PyBytes_GET_SIZE(cres) + self->pendingsize;
+ ctr = PyBytes_FromStringAndSize(NULL, rsize);
+ if (ctr == NULL)
+ goto errorexit;
+ ctrdata = PyBytes_AS_STRING(ctr);
+ memcpy(ctrdata, self->pending, self->pendingsize);
+ memcpy(ctrdata + self->pendingsize,
+ PyBytes_AS_STRING(cres),
+ PyBytes_GET_SIZE(cres));
+ Py_DECREF(cres);
+ cres = ctr;
+ self->pendingsize = 0;
}
rsize = PyBytes_GET_SIZE(cres);
@@ -1340,29 +1316,27 @@ mbstreamreader_iread(MultibyteStreamReaderObject *self,
goto errorexit;
}
- finalsize = (Py_ssize_t)(buf.outbuf -
- PyUnicode_AS_UNICODE(buf.outobj));
Py_DECREF(cres);
cres = NULL;
- if (sizehint < 0 || finalsize != 0 || rsize == 0)
+ if (sizehint < 0 || buf.writer.pos != 0 || rsize == 0)
break;
sizehint = 1; /* read 1 more byte and retry */
}
- if (finalsize != PyUnicode_GET_SIZE(buf.outobj))
- if (PyUnicode_Resize(&buf.outobj, finalsize) == -1)
- goto errorexit;
+ res = _PyUnicodeWriter_Finish(&buf.writer);
+ if (res == NULL)
+ goto errorexit;
Py_XDECREF(cres);
Py_XDECREF(buf.excobj);
- return buf.outobj;
+ return res;
errorexit:
Py_XDECREF(cres);
Py_XDECREF(buf.excobj);
- Py_XDECREF(buf.outobj);
+ _PyUnicodeWriter_Dealloc(&buf.writer);
return NULL;
}
@@ -1649,18 +1623,16 @@ mbstreamwriter_writelines(MultibyteStreamWriterObject *self, PyObject *lines)
static PyObject *
mbstreamwriter_reset(MultibyteStreamWriterObject *self)
{
- const Py_UNICODE *pending;
PyObject *pwrt;
- pending = self->pending;
pwrt = multibytecodec_encode(self->codec, &self->state,
- &pending, self->pendingsize, self->errors,
+ self->pending, NULL, self->errors,
MBENC_FLUSH | MBENC_RESET);
/* some pending buffer can be truncated when UnicodeEncodeError is
* raised on 'strict' mode. but, 'reset' method is designed to
* reset the pending buffer or states so failed string sequence
* ought to be missed */
- self->pendingsize = 0;
+ Py_CLEAR(self->pending);
if (pwrt == NULL)
return NULL;
@@ -1706,7 +1678,7 @@ mbstreamwriter_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
self->codec = ((MultibyteCodecObject *)codec)->codec;
self->stream = stream;
Py_INCREF(stream);
- self->pendingsize = 0;
+ self->pending = NULL;
self->errors = internal_error_callback(errors);
if (self->errors == NULL)
goto errorexit;
diff --git a/Modules/cjkcodecs/multibytecodec.h b/Modules/cjkcodecs/multibytecodec.h
index 1b6ef55855..7cde8e36af 100644
--- a/Modules/cjkcodecs/multibytecodec.h
+++ b/Modules/cjkcodecs/multibytecodec.h
@@ -10,12 +10,6 @@
extern "C" {
#endif
-#ifdef uint32_t
-typedef uint32_t ucs4_t;
-#else
-typedef unsigned int ucs4_t;
-#endif
-
#ifdef uint16_t
typedef uint16_t ucs2_t, DBCHAR;
#else
@@ -27,13 +21,14 @@ typedef union {
int i;
unsigned char c[8];
ucs2_t u2[4];
- ucs4_t u4[2];
+ Py_UCS4 u4[2];
} MultibyteCodec_State;
typedef int (*mbcodec_init)(const void *config);
typedef Py_ssize_t (*mbencode_func)(MultibyteCodec_State *state,
const void *config,
- const Py_UNICODE **inbuf, Py_ssize_t inleft,
+ int kind, void *data,
+ Py_ssize_t *inpos, Py_ssize_t inlen,
unsigned char **outbuf, Py_ssize_t outleft,
int flags);
typedef int (*mbencodeinit_func)(MultibyteCodec_State *state,
@@ -44,7 +39,7 @@ typedef Py_ssize_t (*mbencodereset_func)(MultibyteCodec_State *state,
typedef Py_ssize_t (*mbdecode_func)(MultibyteCodec_State *state,
const void *config,
const unsigned char **inbuf, Py_ssize_t inleft,
- Py_UNICODE **outbuf, Py_ssize_t outleft);
+ _PyUnicodeWriter *writer);
typedef int (*mbdecodeinit_func)(MultibyteCodec_State *state,
const void *config);
typedef Py_ssize_t (*mbdecodereset_func)(MultibyteCodec_State *state,
@@ -81,8 +76,7 @@ typedef struct {
#define MAXENCPENDING 2
#define _MultibyteStatefulEncoder_HEAD \
_MultibyteStatefulCodec_HEAD \
- Py_UNICODE pending[MAXENCPENDING]; \
- Py_ssize_t pendingsize;
+ PyObject *pending;
typedef struct {
_MultibyteStatefulEncoder_HEAD
} MultibyteStatefulEncoderContext;
@@ -118,6 +112,7 @@ typedef struct {
#define MBERR_TOOSMALL (-1) /* insufficient output buffer space */
#define MBERR_TOOFEW (-2) /* incomplete input buffer */
#define MBERR_INTERNAL (-3) /* internal runtime error */
+#define MBERR_EXCEPTION (-4) /* an exception has been raised */
#define ERROR_STRICT (PyObject *)(1)
#define ERROR_IGNORE (PyObject *)(2)
diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c
index c86a27f26e..172945d1a4 100644
--- a/Modules/faulthandler.c
+++ b/Modules/faulthandler.c
@@ -22,7 +22,9 @@
# define FAULTHANDLER_USER
#endif
-#define PUTS(fd, str) write(fd, str, strlen(str))
+/* cast size_t to int because write() takes an int on Windows
+ (anyway, the length is smaller than 30 characters) */
+#define PUTS(fd, str) write(fd, str, (int)strlen(str))
#ifdef HAVE_SIGACTION
typedef struct sigaction _Py_sighandler_t;
@@ -79,9 +81,6 @@ typedef struct {
static user_signal_t *user_signals;
/* the following macros come from Python: Modules/signalmodule.c */
-#if defined(PYOS_OS2) && !defined(PYCC_GCC)
-#define NSIG 12
-#endif
#ifndef NSIG
# if defined(_NSIG)
# define NSIG _NSIG /* For BSD/SysV */
@@ -448,7 +447,7 @@ faulthandler_thread(void *unused)
/* get the thread holding the GIL, NULL if no thread hold the GIL */
current = _Py_atomic_load_relaxed(&_PyThreadState_Current);
- write(thread.fd, thread.header, thread.header_len);
+ write(thread.fd, thread.header, (int)thread.header_len);
errmsg = _Py_DumpTracebackThreads(thread.fd, thread.interp, current);
ok = (errmsg == NULL);
@@ -476,7 +475,7 @@ cancel_dump_traceback_later(void)
Py_CLEAR(thread.file);
if (thread.header) {
- free(thread.header);
+ PyMem_Free(thread.header);
thread.header = NULL;
}
}
@@ -505,7 +504,7 @@ format_timeout(double timeout)
"Timeout (%lu:%02lu:%02lu)!\n",
hour, min, sec);
- return strdup(buffer);
+ return _PyMem_Strdup(buffer);
}
static PyObject*
@@ -571,7 +570,7 @@ faulthandler_dump_traceback_later(PyObject *self,
if (PyThread_start_new_thread(faulthandler_thread, NULL) == -1) {
PyThread_release_lock(thread.running);
Py_CLEAR(thread.file);
- free(header);
+ PyMem_Free(header);
thread.header = NULL;
PyErr_SetString(PyExc_RuntimeError,
"unable to start watchdog thread");
@@ -730,9 +729,10 @@ faulthandler_register_py(PyObject *self,
return NULL;
if (user_signals == NULL) {
- user_signals = calloc(NSIG, sizeof(user_signal_t));
+ user_signals = PyMem_Malloc(NSIG * sizeof(user_signal_t));
if (user_signals == NULL)
return PyErr_NoMemory();
+ memset(user_signals, 0, NSIG * sizeof(user_signal_t));
}
user = &user_signals[signum];
@@ -1137,7 +1137,7 @@ void _PyFaulthandler_Fini(void)
if (user_signals != NULL) {
for (signum=0; signum < NSIG; signum++)
faulthandler_unregister(&user_signals[signum], signum);
- free(user_signals);
+ PyMem_Free(user_signals);
user_signals = NULL;
}
#endif
diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c
index 6b7e3fc6e1..38ef55f0d6 100644
--- a/Modules/fcntlmodule.c
+++ b/Modules/fcntlmodule.c
@@ -325,11 +325,6 @@ fcntl_lockf(PyObject *self, PyObject *args)
&lenobj, &startobj, &whence))
return NULL;
-#if defined(PYOS_OS2) && defined(PYCC_GCC)
- PyErr_SetString(PyExc_NotImplementedError,
- "lockf not supported on OS/2 (EMX)");
- return NULL;
-#else
#ifndef LOCK_SH
#define LOCK_SH 1 /* shared lock */
#define LOCK_EX 2 /* exclusive lock */
@@ -383,7 +378,6 @@ fcntl_lockf(PyObject *self, PyObject *args)
}
Py_INCREF(Py_None);
return Py_None;
-#endif /* defined(PYOS_OS2) && defined(PYCC_GCC) */
}
PyDoc_STRVAR(lockf_doc,
@@ -430,188 +424,179 @@ a file or socket object.");
/* Module initialisation */
-static int
-ins(PyObject* d, char* symbol, long value)
-{
- PyObject* v = PyLong_FromLong(value);
- if (!v || PyDict_SetItemString(d, symbol, v) < 0)
- return -1;
-
- Py_DECREF(v);
- return 0;
-}
-
-#define INS(x) if (ins(d, #x, (long)x)) return -1
static int
-all_ins(PyObject* d)
+all_ins(PyObject* m)
{
- if (ins(d, "LOCK_SH", (long)LOCK_SH)) return -1;
- if (ins(d, "LOCK_EX", (long)LOCK_EX)) return -1;
- if (ins(d, "LOCK_NB", (long)LOCK_NB)) return -1;
- if (ins(d, "LOCK_UN", (long)LOCK_UN)) return -1;
+ if (PyModule_AddIntMacro(m, LOCK_SH)) return -1;
+ if (PyModule_AddIntMacro(m, LOCK_EX)) return -1;
+ if (PyModule_AddIntMacro(m, LOCK_NB)) return -1;
+ if (PyModule_AddIntMacro(m, LOCK_UN)) return -1;
/* GNU extensions, as of glibc 2.2.4 */
#ifdef LOCK_MAND
- if (ins(d, "LOCK_MAND", (long)LOCK_MAND)) return -1;
+ if (PyModule_AddIntMacro(m, LOCK_MAND)) return -1;
#endif
#ifdef LOCK_READ
- if (ins(d, "LOCK_READ", (long)LOCK_READ)) return -1;
+ if (PyModule_AddIntMacro(m, LOCK_READ)) return -1;
#endif
#ifdef LOCK_WRITE
- if (ins(d, "LOCK_WRITE", (long)LOCK_WRITE)) return -1;
+ if (PyModule_AddIntMacro(m, LOCK_WRITE)) return -1;
#endif
#ifdef LOCK_RW
- if (ins(d, "LOCK_RW", (long)LOCK_RW)) return -1;
+ if (PyModule_AddIntMacro(m, LOCK_RW)) return -1;
#endif
#ifdef F_DUPFD
- if (ins(d, "F_DUPFD", (long)F_DUPFD)) return -1;
+ if (PyModule_AddIntMacro(m, F_DUPFD)) return -1;
+#endif
+#ifdef F_DUPFD_CLOEXEC
+ if (PyModule_AddIntMacro(m, F_DUPFD_CLOEXEC)) return -1;
#endif
#ifdef F_GETFD
- if (ins(d, "F_GETFD", (long)F_GETFD)) return -1;
+ if (PyModule_AddIntMacro(m, F_GETFD)) return -1;
#endif
#ifdef F_SETFD
- if (ins(d, "F_SETFD", (long)F_SETFD)) return -1;
+ if (PyModule_AddIntMacro(m, F_SETFD)) return -1;
#endif
#ifdef F_GETFL
- if (ins(d, "F_GETFL", (long)F_GETFL)) return -1;
+ if (PyModule_AddIntMacro(m, F_GETFL)) return -1;
#endif
#ifdef F_SETFL
- if (ins(d, "F_SETFL", (long)F_SETFL)) return -1;
+ if (PyModule_AddIntMacro(m, F_SETFL)) return -1;
#endif
#ifdef F_GETLK
- if (ins(d, "F_GETLK", (long)F_GETLK)) return -1;
+ if (PyModule_AddIntMacro(m, F_GETLK)) return -1;
#endif
#ifdef F_SETLK
- if (ins(d, "F_SETLK", (long)F_SETLK)) return -1;
+ if (PyModule_AddIntMacro(m, F_SETLK)) return -1;
#endif
#ifdef F_SETLKW
- if (ins(d, "F_SETLKW", (long)F_SETLKW)) return -1;
+ if (PyModule_AddIntMacro(m, F_SETLKW)) return -1;
#endif
#ifdef F_GETOWN
- if (ins(d, "F_GETOWN", (long)F_GETOWN)) return -1;
+ if (PyModule_AddIntMacro(m, F_GETOWN)) return -1;
#endif
#ifdef F_SETOWN
- if (ins(d, "F_SETOWN", (long)F_SETOWN)) return -1;
+ if (PyModule_AddIntMacro(m, F_SETOWN)) return -1;
#endif
#ifdef F_GETSIG
- if (ins(d, "F_GETSIG", (long)F_GETSIG)) return -1;
+ if (PyModule_AddIntMacro(m, F_GETSIG)) return -1;
#endif
#ifdef F_SETSIG
- if (ins(d, "F_SETSIG", (long)F_SETSIG)) return -1;
+ if (PyModule_AddIntMacro(m, F_SETSIG)) return -1;
#endif
#ifdef F_RDLCK
- if (ins(d, "F_RDLCK", (long)F_RDLCK)) return -1;
+ if (PyModule_AddIntMacro(m, F_RDLCK)) return -1;
#endif
#ifdef F_WRLCK
- if (ins(d, "F_WRLCK", (long)F_WRLCK)) return -1;
+ if (PyModule_AddIntMacro(m, F_WRLCK)) return -1;
#endif
#ifdef F_UNLCK
- if (ins(d, "F_UNLCK", (long)F_UNLCK)) return -1;
+ if (PyModule_AddIntMacro(m, F_UNLCK)) return -1;
#endif
/* LFS constants */
#ifdef F_GETLK64
- if (ins(d, "F_GETLK64", (long)F_GETLK64)) return -1;
+ if (PyModule_AddIntMacro(m, F_GETLK64)) return -1;
#endif
#ifdef F_SETLK64
- if (ins(d, "F_SETLK64", (long)F_SETLK64)) return -1;
+ if (PyModule_AddIntMacro(m, F_SETLK64)) return -1;
#endif
#ifdef F_SETLKW64
- if (ins(d, "F_SETLKW64", (long)F_SETLKW64)) return -1;
+ if (PyModule_AddIntMacro(m, F_SETLKW64)) return -1;
#endif
/* GNU extensions, as of glibc 2.2.4. */
#ifdef FASYNC
- if (ins(d, "FASYNC", (long)FASYNC)) return -1;
+ if (PyModule_AddIntMacro(m, FASYNC)) return -1;
#endif
#ifdef F_SETLEASE
- if (ins(d, "F_SETLEASE", (long)F_SETLEASE)) return -1;
+ if (PyModule_AddIntMacro(m, F_SETLEASE)) return -1;
#endif
#ifdef F_GETLEASE
- if (ins(d, "F_GETLEASE", (long)F_GETLEASE)) return -1;
+ if (PyModule_AddIntMacro(m, F_GETLEASE)) return -1;
#endif
#ifdef F_NOTIFY
- if (ins(d, "F_NOTIFY", (long)F_NOTIFY)) return -1;
+ if (PyModule_AddIntMacro(m, F_NOTIFY)) return -1;
#endif
/* Old BSD flock(). */
#ifdef F_EXLCK
- if (ins(d, "F_EXLCK", (long)F_EXLCK)) return -1;
+ if (PyModule_AddIntMacro(m, F_EXLCK)) return -1;
#endif
#ifdef F_SHLCK
- if (ins(d, "F_SHLCK", (long)F_SHLCK)) return -1;
+ if (PyModule_AddIntMacro(m, F_SHLCK)) return -1;
#endif
/* OS X specifics */
#ifdef F_FULLFSYNC
- if (ins(d, "F_FULLFSYNC", (long)F_FULLFSYNC)) return -1;
+ if (PyModule_AddIntMacro(m, F_FULLFSYNC)) return -1;
#endif
#ifdef F_NOCACHE
- if (ins(d, "F_NOCACHE", (long)F_NOCACHE)) return -1;
+ if (PyModule_AddIntMacro(m, F_NOCACHE)) return -1;
#endif
/* For F_{GET|SET}FL */
#ifdef FD_CLOEXEC
- if (ins(d, "FD_CLOEXEC", (long)FD_CLOEXEC)) return -1;
+ if (PyModule_AddIntMacro(m, FD_CLOEXEC)) return -1;
#endif
/* For F_NOTIFY */
#ifdef DN_ACCESS
- if (ins(d, "DN_ACCESS", (long)DN_ACCESS)) return -1;
+ if (PyModule_AddIntMacro(m, DN_ACCESS)) return -1;
#endif
#ifdef DN_MODIFY
- if (ins(d, "DN_MODIFY", (long)DN_MODIFY)) return -1;
+ if (PyModule_AddIntMacro(m, DN_MODIFY)) return -1;
#endif
#ifdef DN_CREATE
- if (ins(d, "DN_CREATE", (long)DN_CREATE)) return -1;
+ if (PyModule_AddIntMacro(m, DN_CREATE)) return -1;
#endif
#ifdef DN_DELETE
- if (ins(d, "DN_DELETE", (long)DN_DELETE)) return -1;
+ if (PyModule_AddIntMacro(m, DN_DELETE)) return -1;
#endif
#ifdef DN_RENAME
- if (ins(d, "DN_RENAME", (long)DN_RENAME)) return -1;
+ if (PyModule_AddIntMacro(m, DN_RENAME)) return -1;
#endif
#ifdef DN_ATTRIB
- if (ins(d, "DN_ATTRIB", (long)DN_ATTRIB)) return -1;
+ if (PyModule_AddIntMacro(m, DN_ATTRIB)) return -1;
#endif
#ifdef DN_MULTISHOT
- if (ins(d, "DN_MULTISHOT", (long)DN_MULTISHOT)) return -1;
+ if (PyModule_AddIntMacro(m, DN_MULTISHOT)) return -1;
#endif
#ifdef HAVE_STROPTS_H
/* Unix 98 guarantees that these are in stropts.h. */
- INS(I_PUSH);
- INS(I_POP);
- INS(I_LOOK);
- INS(I_FLUSH);
- INS(I_FLUSHBAND);
- INS(I_SETSIG);
- INS(I_GETSIG);
- INS(I_FIND);
- INS(I_PEEK);
- INS(I_SRDOPT);
- INS(I_GRDOPT);
- INS(I_NREAD);
- INS(I_FDINSERT);
- INS(I_STR);
- INS(I_SWROPT);
+ if (PyModule_AddIntMacro(m, I_PUSH)) return -1;
+ if (PyModule_AddIntMacro(m, I_POP)) return -1;
+ if (PyModule_AddIntMacro(m, I_LOOK)) return -1;
+ if (PyModule_AddIntMacro(m, I_FLUSH)) return -1;
+ if (PyModule_AddIntMacro(m, I_FLUSHBAND)) return -1;
+ if (PyModule_AddIntMacro(m, I_SETSIG)) return -1;
+ if (PyModule_AddIntMacro(m, I_GETSIG)) return -1;
+ if (PyModule_AddIntMacro(m, I_FIND)) return -1;
+ if (PyModule_AddIntMacro(m, I_PEEK)) return -1;
+ if (PyModule_AddIntMacro(m, I_SRDOPT)) return -1;
+ if (PyModule_AddIntMacro(m, I_GRDOPT)) return -1;
+ if (PyModule_AddIntMacro(m, I_NREAD)) return -1;
+ if (PyModule_AddIntMacro(m, I_FDINSERT)) return -1;
+ if (PyModule_AddIntMacro(m, I_STR)) return -1;
+ if (PyModule_AddIntMacro(m, I_SWROPT)) return -1;
#ifdef I_GWROPT
/* despite the comment above, old-ish glibcs miss a couple... */
- INS(I_GWROPT);
-#endif
- INS(I_SENDFD);
- INS(I_RECVFD);
- INS(I_LIST);
- INS(I_ATMARK);
- INS(I_CKBAND);
- INS(I_GETBAND);
- INS(I_CANPUT);
- INS(I_SETCLTIME);
+ if (PyModule_AddIntMacro(m, I_GWROPT)) return -1;
+#endif
+ if (PyModule_AddIntMacro(m, I_SENDFD)) return -1;
+ if (PyModule_AddIntMacro(m, I_RECVFD)) return -1;
+ if (PyModule_AddIntMacro(m, I_LIST)) return -1;
+ if (PyModule_AddIntMacro(m, I_ATMARK)) return -1;
+ if (PyModule_AddIntMacro(m, I_CKBAND)) return -1;
+ if (PyModule_AddIntMacro(m, I_GETBAND)) return -1;
+ if (PyModule_AddIntMacro(m, I_CANPUT)) return -1;
+ if (PyModule_AddIntMacro(m, I_SETCLTIME)) return -1;
#ifdef I_GETCLTIME
- INS(I_GETCLTIME);
+ if (PyModule_AddIntMacro(m, I_GETCLTIME)) return -1;
#endif
- INS(I_LINK);
- INS(I_UNLINK);
- INS(I_PLINK);
- INS(I_PUNLINK);
+ if (PyModule_AddIntMacro(m, I_LINK)) return -1;
+ if (PyModule_AddIntMacro(m, I_UNLINK)) return -1;
+ if (PyModule_AddIntMacro(m, I_PLINK)) return -1;
+ if (PyModule_AddIntMacro(m, I_PUNLINK)) return -1;
#endif
return 0;
@@ -633,7 +618,7 @@ static struct PyModuleDef fcntlmodule = {
PyMODINIT_FUNC
PyInit_fcntl(void)
{
- PyObject *m, *d;
+ PyObject *m;
/* Create the module and add the functions and documentation */
m = PyModule_Create(&fcntlmodule);
@@ -641,7 +626,6 @@ PyInit_fcntl(void)
return NULL;
/* Add some symbolic constants to the module */
- d = PyModule_GetDict(m);
- all_ins(d);
+ all_ins(m);
return m;
}
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index f782dd0923..a84d752ffa 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -118,7 +118,7 @@ static Py_ssize_t long_lived_pending = 0;
/*
NOTE: about untracking of mutable objects.
-
+
Certain types of container cannot participate in a reference cycle, and
so do not need to be tracked by the garbage collector. Untracking these
objects reduces the cost of garbage collections. However, determining
@@ -136,10 +136,10 @@ static Py_ssize_t long_lived_pending = 0;
not survive until garbage collection. It is therefore not worthwhile
to untrack eligible tuples at creation time.
- Instead, all tuples except the empty tuple are tracked when created.
- During garbage collection it is determined whether any surviving tuples
- can be untracked. A tuple can be untracked if all of its contents are
- already not tracked. Tuples are examined for untracking in all garbage
+ Instead, all tuples except the empty tuple are tracked when created.
+ During garbage collection it is determined whether any surviving tuples
+ can be untracked. A tuple can be untracked if all of its contents are
+ already not tracked. Tuples are examined for untracking in all garbage
collection cycles. It may take more than one cycle to untrack a tuple.
Dictionaries containing only immutable objects also do not need to be
@@ -152,8 +152,8 @@ static Py_ssize_t long_lived_pending = 0;
The module provides the python function is_tracked(obj), which returns
the CURRENT tracking status of the object. Subsequent garbage
collections may change the tracking status of the object.
-
- Untracking of certain containers was introduced in issue #4688, and
+
+ Untracking of certain containers was introduced in issue #4688, and
the algorithm was refined in response to issue #14775.
*/
@@ -168,6 +168,18 @@ static Py_ssize_t long_lived_pending = 0;
static int debug;
static PyObject *tmod = NULL;
+/* Running stats per generation */
+struct gc_generation_stats {
+ /* total number of collections */
+ Py_ssize_t collections;
+ /* total number of collected objects */
+ Py_ssize_t collected;
+ /* total number of uncollectable objects (put into gc.garbage) */
+ Py_ssize_t uncollectable;
+};
+
+static struct gc_generation_stats generation_stats[NUM_GENERATIONS];
+
/*--------------------------------------------------------------------------
gc_refs values.
@@ -211,10 +223,10 @@ GC_TENTATIVELY_UNREACHABLE
#define GC_REACHABLE _PyGC_REFS_REACHABLE
#define GC_TENTATIVELY_UNREACHABLE _PyGC_REFS_TENTATIVELY_UNREACHABLE
-#define IS_TRACKED(o) ((AS_GC(o))->gc.gc_refs != GC_UNTRACKED)
-#define IS_REACHABLE(o) ((AS_GC(o))->gc.gc_refs == GC_REACHABLE)
+#define IS_TRACKED(o) (_PyGC_REFS(o) != GC_UNTRACKED)
+#define IS_REACHABLE(o) (_PyGC_REFS(o) == GC_REACHABLE)
#define IS_TENTATIVELY_UNREACHABLE(o) ( \
- (AS_GC(o))->gc.gc_refs == GC_TENTATIVELY_UNREACHABLE)
+ _PyGC_REFS(o) == GC_TENTATIVELY_UNREACHABLE)
/*** list functions ***/
@@ -329,8 +341,8 @@ update_refs(PyGC_Head *containers)
{
PyGC_Head *gc = containers->gc.gc_next;
for (; gc != containers; gc = gc->gc.gc_next) {
- assert(gc->gc.gc_refs == GC_REACHABLE);
- gc->gc.gc_refs = Py_REFCNT(FROM_GC(gc));
+ assert(_PyGCHead_REFS(gc) == GC_REACHABLE);
+ _PyGCHead_SET_REFS(gc, Py_REFCNT(FROM_GC(gc)));
/* Python's cyclic gc should never see an incoming refcount
* of 0: if something decref'ed to 0, it should have been
* deallocated immediately at that time.
@@ -349,7 +361,7 @@ update_refs(PyGC_Head *containers)
* so serious that maybe this should be a release-build
* check instead of an assert?
*/
- assert(gc->gc.gc_refs != 0);
+ assert(_PyGCHead_REFS(gc) != 0);
}
}
@@ -364,9 +376,9 @@ visit_decref(PyObject *op, void *data)
* generation being collected, which can be recognized
* because only they have positive gc_refs.
*/
- assert(gc->gc.gc_refs != 0); /* else refcount was too small */
- if (gc->gc.gc_refs > 0)
- gc->gc.gc_refs--;
+ assert(_PyGCHead_REFS(gc) != 0); /* else refcount was too small */
+ if (_PyGCHead_REFS(gc) > 0)
+ _PyGCHead_DECREF(gc);
}
return 0;
}
@@ -395,7 +407,7 @@ visit_reachable(PyObject *op, PyGC_Head *reachable)
{
if (PyObject_IS_GC(op)) {
PyGC_Head *gc = AS_GC(op);
- const Py_ssize_t gc_refs = gc->gc.gc_refs;
+ const Py_ssize_t gc_refs = _PyGCHead_REFS(gc);
if (gc_refs == 0) {
/* This is in move_unreachable's 'young' list, but
@@ -403,7 +415,7 @@ visit_reachable(PyObject *op, PyGC_Head *reachable)
* we need to do is tell move_unreachable that it's
* reachable.
*/
- gc->gc.gc_refs = 1;
+ _PyGCHead_SET_REFS(gc, 1);
}
else if (gc_refs == GC_TENTATIVELY_UNREACHABLE) {
/* This had gc_refs = 0 when move_unreachable got
@@ -413,7 +425,7 @@ visit_reachable(PyObject *op, PyGC_Head *reachable)
* again.
*/
gc_list_move(gc, reachable);
- gc->gc.gc_refs = 1;
+ _PyGCHead_SET_REFS(gc, 1);
}
/* Else there's nothing to do.
* If gc_refs > 0, it must be in move_unreachable's 'young'
@@ -457,7 +469,7 @@ move_unreachable(PyGC_Head *young, PyGC_Head *unreachable)
while (gc != young) {
PyGC_Head *next;
- if (gc->gc.gc_refs) {
+ if (_PyGCHead_REFS(gc)) {
/* gc is definitely reachable from outside the
* original 'young'. Mark it as such, and traverse
* its pointers to find any other objects that may
@@ -468,8 +480,8 @@ move_unreachable(PyGC_Head *young, PyGC_Head *unreachable)
*/
PyObject *op = FROM_GC(gc);
traverseproc traverse = Py_TYPE(op)->tp_traverse;
- assert(gc->gc.gc_refs > 0);
- gc->gc.gc_refs = GC_REACHABLE;
+ assert(_PyGCHead_REFS(gc) > 0);
+ _PyGCHead_SET_REFS(gc, GC_REACHABLE);
(void) traverse(op,
(visitproc)visit_reachable,
(void *)young);
@@ -488,7 +500,7 @@ move_unreachable(PyGC_Head *young, PyGC_Head *unreachable)
*/
next = gc->gc.gc_next;
gc_list_move(gc, unreachable);
- gc->gc.gc_refs = GC_TENTATIVELY_UNREACHABLE;
+ _PyGCHead_SET_REFS(gc, GC_TENTATIVELY_UNREACHABLE);
}
gc = next;
}
@@ -508,22 +520,19 @@ untrack_dicts(PyGC_Head *head)
}
}
-/* Return true if object has a finalization method. */
+/* Return true if object has a pre-PEP 442 finalization method. */
static int
-has_finalizer(PyObject *op)
+has_legacy_finalizer(PyObject *op)
{
- if (PyGen_CheckExact(op))
- return PyGen_NeedsFinalizing((PyGenObject *)op);
- else
- return op->ob_type->tp_del != NULL;
+ return op->ob_type->tp_del != NULL;
}
-/* Move the objects in unreachable with __del__ methods into `finalizers`.
+/* Move the objects in unreachable with tp_del slots into `finalizers`.
* Objects moved into `finalizers` have gc_refs set to GC_REACHABLE; the
* objects remaining in unreachable are left at GC_TENTATIVELY_UNREACHABLE.
*/
static void
-move_finalizers(PyGC_Head *unreachable, PyGC_Head *finalizers)
+move_legacy_finalizers(PyGC_Head *unreachable, PyGC_Head *finalizers)
{
PyGC_Head *gc;
PyGC_Head *next;
@@ -537,14 +546,14 @@ move_finalizers(PyGC_Head *unreachable, PyGC_Head *finalizers)
assert(IS_TENTATIVELY_UNREACHABLE(op));
next = gc->gc.gc_next;
- if (has_finalizer(op)) {
+ if (has_legacy_finalizer(op)) {
gc_list_move(gc, finalizers);
- gc->gc.gc_refs = GC_REACHABLE;
+ _PyGCHead_SET_REFS(gc, GC_REACHABLE);
}
}
}
-/* A traversal callback for move_finalizer_reachable. */
+/* A traversal callback for move_legacy_finalizer_reachable. */
static int
visit_move(PyObject *op, PyGC_Head *tolist)
{
@@ -552,7 +561,7 @@ visit_move(PyObject *op, PyGC_Head *tolist)
if (IS_TENTATIVELY_UNREACHABLE(op)) {
PyGC_Head *gc = AS_GC(op);
gc_list_move(gc, tolist);
- gc->gc.gc_refs = GC_REACHABLE;
+ _PyGCHead_SET_REFS(gc, GC_REACHABLE);
}
}
return 0;
@@ -562,7 +571,7 @@ visit_move(PyObject *op, PyGC_Head *tolist)
* into finalizers set.
*/
static void
-move_finalizer_reachable(PyGC_Head *finalizers)
+move_legacy_finalizer_reachable(PyGC_Head *finalizers)
{
traverseproc traverse;
PyGC_Head *gc = finalizers->gc.gc_next;
@@ -735,7 +744,7 @@ debug_cycle(char *msg, PyObject *op)
msg, Py_TYPE(op)->tp_name, op);
}
-/* Handle uncollectable garbage (cycles with finalizers, and stuff reachable
+/* Handle uncollectable garbage (cycles with tp_del slots, and stuff reachable
* only from such cycles).
* If DEBUG_SAVEALL, all objects in finalizers are appended to the module
* garbage list (a Python list), else only the objects in finalizers with
@@ -745,7 +754,7 @@ debug_cycle(char *msg, PyObject *op)
* The finalizers list is made empty on a successful return.
*/
static int
-handle_finalizers(PyGC_Head *finalizers, PyGC_Head *old)
+handle_legacy_finalizers(PyGC_Head *finalizers, PyGC_Head *old)
{
PyGC_Head *gc = finalizers->gc.gc_next;
@@ -757,7 +766,7 @@ handle_finalizers(PyGC_Head *finalizers, PyGC_Head *old)
for (; gc != finalizers; gc = gc->gc.gc_next) {
PyObject *op = FROM_GC(gc);
- if ((debug & DEBUG_SAVEALL) || has_finalizer(op)) {
+ if ((debug & DEBUG_SAVEALL) || has_legacy_finalizer(op)) {
if (PyList_Append(garbage, op) < 0)
return -1;
}
@@ -767,6 +776,62 @@ handle_finalizers(PyGC_Head *finalizers, PyGC_Head *old)
return 0;
}
+static void
+finalize_garbage(PyGC_Head *collectable, PyGC_Head *old)
+{
+ destructor finalize;
+ PyGC_Head *gc = collectable->gc.gc_next;
+
+ for (; gc != collectable; gc = gc->gc.gc_next) {
+ PyObject *op = FROM_GC(gc);
+
+ if (!_PyGCHead_FINALIZED(gc) &&
+ PyType_HasFeature(Py_TYPE(op), Py_TPFLAGS_HAVE_FINALIZE) &&
+ (finalize = Py_TYPE(op)->tp_finalize) != NULL) {
+ _PyGCHead_SET_FINALIZED(gc, 1);
+ Py_INCREF(op);
+ finalize(op);
+ if (Py_REFCNT(op) == 1) {
+ /* op will be destroyed */
+ gc = gc->gc.gc_prev;
+ }
+ Py_DECREF(op);
+ }
+ }
+}
+
+/* Walk the collectable list and check that they are really unreachable
+ from the outside (some objects could have been resurrected by a
+ finalizer). */
+static int
+check_garbage(PyGC_Head *collectable)
+{
+ PyGC_Head *gc;
+ for (gc = collectable->gc.gc_next; gc != collectable;
+ gc = gc->gc.gc_next) {
+ _PyGCHead_SET_REFS(gc, Py_REFCNT(FROM_GC(gc)));
+ assert(_PyGCHead_REFS(gc) != 0);
+ }
+ subtract_refs(collectable);
+ for (gc = collectable->gc.gc_next; gc != collectable;
+ gc = gc->gc.gc_next) {
+ assert(_PyGCHead_REFS(gc) >= 0);
+ if (_PyGCHead_REFS(gc) != 0)
+ return -1;
+ }
+ return 0;
+}
+
+static void
+revive_garbage(PyGC_Head *collectable)
+{
+ PyGC_Head *gc;
+ for (gc = collectable->gc.gc_next; gc != collectable;
+ gc = gc->gc.gc_next) {
+ _PyGCHead_SET_REFS(gc, GC_REACHABLE);
+ }
+}
+
/* Break reference cycles by clearing the containers involved. This is
* tricky business as the lists can be changing and we don't know which
* objects may be freed. It is possible I screwed something up here.
@@ -780,7 +845,6 @@ delete_garbage(PyGC_Head *collectable, PyGC_Head *old)
PyGC_Head *gc = collectable->gc.gc_next;
PyObject *op = FROM_GC(gc);
- assert(IS_TENTATIVELY_UNREACHABLE(op));
if (debug & DEBUG_SAVEALL) {
PyList_Append(garbage, op);
}
@@ -794,7 +858,7 @@ delete_garbage(PyGC_Head *collectable, PyGC_Head *old)
if (collectable->gc.gc_next == gc) {
/* object is still alive, move it, it may die later */
gc_list_move(gc, old);
- gc->gc.gc_refs = GC_REACHABLE;
+ _PyGCHead_SET_REFS(gc, GC_REACHABLE);
}
}
}
@@ -841,7 +905,8 @@ get_time(void)
/* This is the main function. Read this to understand how the
* collection process works. */
static Py_ssize_t
-collect(int generation, Py_ssize_t *n_collected, Py_ssize_t *n_uncollectable)
+collect(int generation, Py_ssize_t *n_collected, Py_ssize_t *n_uncollectable,
+ int nofail)
{
int i;
Py_ssize_t m = 0; /* # objects collected */
@@ -852,6 +917,7 @@ collect(int generation, Py_ssize_t *n_collected, Py_ssize_t *n_uncollectable)
PyGC_Head finalizers; /* objects with, & reachable from, __del__ */
PyGC_Head *gc;
double t1 = 0.0;
+ struct gc_generation_stats *stats = &generation_stats[generation];
if (debug & DEBUG_STATS) {
PySys_WriteStderr("gc: collecting generation %d...\n",
@@ -915,19 +981,15 @@ collect(int generation, Py_ssize_t *n_collected, Py_ssize_t *n_uncollectable)
}
/* All objects in unreachable are trash, but objects reachable from
- * finalizers can't safely be deleted. Python programmers should take
- * care not to create such things. For Python, finalizers means
- * instance objects with __del__ methods. Weakrefs with callbacks
- * can also call arbitrary Python code but they will be dealt with by
- * handle_weakrefs().
+ * legacy finalizers (e.g. tp_del) can't safely be deleted.
*/
gc_list_init(&finalizers);
- move_finalizers(&unreachable, &finalizers);
- /* finalizers contains the unreachable objects with a finalizer;
+ move_legacy_finalizers(&unreachable, &finalizers);
+ /* finalizers contains the unreachable objects with a legacy finalizer;
* unreachable objects reachable *from* those are also uncollectable,
* and we move those into the finalizers list too.
*/
- move_finalizer_reachable(&finalizers);
+ move_legacy_finalizer_reachable(&finalizers);
/* Collect statistics on collectable objects found and print
* debugging information.
@@ -943,11 +1005,20 @@ collect(int generation, Py_ssize_t *n_collected, Py_ssize_t *n_uncollectable)
/* Clear weakrefs and invoke callbacks as necessary. */
m += handle_weakrefs(&unreachable, old);
- /* Call tp_clear on objects in the unreachable set. This will cause
- * the reference cycles to be broken. It may also cause some objects
- * in finalizers to be freed.
- */
- delete_garbage(&unreachable, old);
+ /* Call tp_finalize on objects which have one. */
+ finalize_garbage(&unreachable, old);
+
+ if (check_garbage(&unreachable)) {
+ revive_garbage(&unreachable);
+ gc_list_merge(&unreachable, old);
+ }
+ else {
+ /* Call tp_clear on objects in the unreachable set. This will cause
+ * the reference cycles to be broken. It may also cause some objects
+ * in finalizers to be freed.
+ */
+ delete_garbage(&unreachable, old);
+ }
/* Collect statistics on uncollectable objects found and print
* debugging information. */
@@ -978,7 +1049,7 @@ collect(int generation, Py_ssize_t *n_collected, Py_ssize_t *n_uncollectable)
* reachable list of garbage. The programmer has to deal with
* this if they insist on creating this type of structure.
*/
- (void)handle_finalizers(&finalizers, old);
+ (void)handle_legacy_finalizers(&finalizers, old);
/* Clear free list only during the collection of the highest
* generation */
@@ -987,16 +1058,25 @@ collect(int generation, Py_ssize_t *n_collected, Py_ssize_t *n_uncollectable)
}
if (PyErr_Occurred()) {
- if (gc_str == NULL)
- gc_str = PyUnicode_FromString("garbage collection");
- PyErr_WriteUnraisable(gc_str);
- Py_FatalError("unexpected exception during garbage collection");
+ if (nofail) {
+ PyErr_Clear();
+ }
+ else {
+ if (gc_str == NULL)
+ gc_str = PyUnicode_FromString("garbage collection");
+ PyErr_WriteUnraisable(gc_str);
+ Py_FatalError("unexpected exception during garbage collection");
+ }
}
+ /* Update stats */
if (n_collected)
*n_collected = m;
if (n_uncollectable)
*n_uncollectable = n;
+ stats->collections++;
+ stats->collected += m;
+ stats->uncollectable += n;
return n+m;
}
@@ -1045,7 +1125,7 @@ collect_with_callback(int generation)
{
Py_ssize_t result, collected, uncollectable;
invoke_gc_callback("start", generation, 0, 0);
- result = collect(generation, &collected, &uncollectable);
+ result = collect(generation, &collected, &uncollectable, 0);
invoke_gc_callback("stop", generation, collected, uncollectable);
return result;
}
@@ -1343,6 +1423,52 @@ gc_get_objects(PyObject *self, PyObject *noargs)
return result;
}
+PyDoc_STRVAR(gc_get_stats__doc__,
+"get_stats() -> [...]\n"
+"\n"
+"Return a list of dictionaries containing per-generation statistics.\n");
+
+static PyObject *
+gc_get_stats(PyObject *self, PyObject *noargs)
+{
+ int i;
+ PyObject *result;
+ struct gc_generation_stats stats[NUM_GENERATIONS], *st;
+
+ /* To get consistent values despite allocations while constructing
+ the result list, we use a snapshot of the running stats. */
+ for (i = 0; i < NUM_GENERATIONS; i++) {
+ stats[i] = generation_stats[i];
+ }
+
+ result = PyList_New(0);
+ if (result == NULL)
+ return NULL;
+
+ for (i = 0; i < NUM_GENERATIONS; i++) {
+ PyObject *dict;
+ st = &stats[i];
+ dict = Py_BuildValue("{snsnsn}",
+ "collections", st->collections,
+ "collected", st->collected,
+ "uncollectable", st->uncollectable
+ );
+ if (dict == NULL)
+ goto error;
+ if (PyList_Append(result, dict)) {
+ Py_DECREF(dict);
+ goto error;
+ }
+ Py_DECREF(dict);
+ }
+ return result;
+
+error:
+ Py_XDECREF(result);
+ return NULL;
+}
+
+
PyDoc_STRVAR(gc_is_tracked__doc__,
"is_tracked(obj) -> bool\n"
"\n"
@@ -1393,6 +1519,7 @@ static PyMethodDef GcMethods[] = {
{"collect", (PyCFunction)gc_collect,
METH_VARARGS | METH_KEYWORDS, gc_collect__doc__},
{"get_objects", gc_get_objects,METH_NOARGS, gc_get_objects__doc__},
+ {"get_stats", gc_get_stats, METH_NOARGS, gc_get_stats__doc__},
{"is_tracked", gc_is_tracked, METH_O, gc_is_tracked__doc__},
{"get_referrers", gc_get_referrers, METH_VARARGS,
gc_get_referrers__doc__},
@@ -1480,8 +1607,29 @@ PyGC_Collect(void)
return n;
}
+Py_ssize_t
+_PyGC_CollectNoFail(void)
+{
+ Py_ssize_t n;
+
+ /* Ideally, this function is only called on interpreter shutdown,
+ and therefore not recursively. Unfortunately, when there are daemon
+ threads, a daemon thread can start a cyclic garbage collection
+ during interpreter shutdown (and then never finish it).
+ See http://bugs.python.org/issue8713#msg195178 for an example.
+ */
+ if (collecting)
+ n = 0;
+ else {
+ collecting = 1;
+ n = collect(NUM_GENERATIONS - 1, NULL, NULL, 1);
+ collecting = 0;
+ }
+ return n;
+}
+
void
-_PyGC_Fini(void)
+_PyGC_DumpShutdownStats(void)
{
if (!(debug & DEBUG_SAVEALL)
&& garbage != NULL && PyList_GET_SIZE(garbage) > 0) {
@@ -1492,8 +1640,12 @@ _PyGC_Fini(void)
else
message = "gc: %zd uncollectable objects at " \
"shutdown; use gc.set_debug(gc.DEBUG_UNCOLLECTABLE) to list them";
- if (PyErr_WarnFormat(PyExc_ResourceWarning, 0, message,
- PyList_GET_SIZE(garbage)) < 0)
+ /* PyErr_WarnFormat does too many things and we are at shutdown,
+ the warnings module's dependencies (e.g. linecache) may be gone
+ already. */
+ if (PyErr_WarnExplicitFormat(PyExc_ResourceWarning, "gc", 0,
+ "gc", NULL, message,
+ PyList_GET_SIZE(garbage)))
PyErr_WriteUnraisable(NULL);
if (debug & DEBUG_UNCOLLECTABLE) {
PyObject *repr = NULL, *bytes = NULL;
@@ -1502,7 +1654,7 @@ _PyGC_Fini(void)
PyErr_WriteUnraisable(garbage);
else {
PySys_WriteStderr(
- " %s\n",
+ " %s\n",
PyBytes_AS_STRING(bytes)
);
}
@@ -1510,7 +1662,13 @@ _PyGC_Fini(void)
Py_XDECREF(bytes);
}
}
+}
+
+void
+_PyGC_Fini(void)
+{
Py_CLEAR(callbacks);
+ Py_CLEAR(tmod);
}
/* for debugging */
@@ -1569,7 +1727,8 @@ _PyObject_GC_Malloc(size_t basicsize)
sizeof(PyGC_Head) + basicsize);
if (g == NULL)
return PyErr_NoMemory();
- g->gc.gc_refs = GC_UNTRACKED;
+ g->gc.gc_refs = 0;
+ _PyGCHead_SET_REFS(g, GC_UNTRACKED);
generations[0].count++; /* number of allocated GC objects */
if (generations[0].count > generations[0].threshold &&
enabled &&
@@ -1596,8 +1755,15 @@ _PyObject_GC_New(PyTypeObject *tp)
PyVarObject *
_PyObject_GC_NewVar(PyTypeObject *tp, Py_ssize_t nitems)
{
- const size_t size = _PyObject_VAR_SIZE(tp, nitems);
- PyVarObject *op = (PyVarObject *) _PyObject_GC_Malloc(size);
+ size_t size;
+ PyVarObject *op;
+
+ if (nitems < 0) {
+ PyErr_BadInternalCall();
+ return NULL;
+ }
+ size = _PyObject_VAR_SIZE(tp, nitems);
+ op = (PyVarObject *) _PyObject_GC_Malloc(size);
if (op != NULL)
op = PyObject_INIT_VAR(op, tp, nitems);
return op;
diff --git a/Modules/getpath.c b/Modules/getpath.c
index ff14fdd6cd..1a43150c0b 100644
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
@@ -346,7 +346,7 @@ search_for_prefix(wchar_t *argv0_path, wchar_t *home, wchar_t *_prefix)
wcsncpy(prefix, argv0_path, MAXPATHLEN);
prefix[MAXPATHLEN] = L'\0';
joinpath(prefix, vpath);
- PyMem_Free(vpath);
+ PyMem_RawFree(vpath);
joinpath(prefix, L"Lib");
joinpath(prefix, LANDMARK);
if (ismodule(prefix))
@@ -562,8 +562,7 @@ calculate_path(void)
}
else
progpath[0] = '\0';
- if (path_buffer != NULL)
- PyMem_Free(path_buffer);
+ PyMem_RawFree(path_buffer);
if (progpath[0] != SEP && progpath[0] != '\0')
absolutize(progpath);
wcsncpy(argv0_path, progpath, MAXPATHLEN);
@@ -605,7 +604,7 @@ calculate_path(void)
/* Use the location of the library as the progpath */
wcsncpy(argv0_path, wbuf, MAXPATHLEN);
}
- PyMem_Free(wbuf);
+ PyMem_RawFree(wbuf);
}
#endif
@@ -707,13 +706,11 @@ calculate_path(void)
*/
bufsz = 0;
- if (_rtpypath) {
+ if (_rtpypath && _rtpypath[0] != '\0') {
size_t rtpypath_len;
rtpypath = _Py_char2wchar(_rtpypath, &rtpypath_len);
if (rtpypath != NULL)
bufsz += rtpypath_len + 1;
- else
- _rtpypath = NULL;
}
defpath = _pythonpath;
@@ -818,11 +815,10 @@ calculate_path(void)
else
wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN);
- PyMem_Free(_pythonpath);
- PyMem_Free(_prefix);
- PyMem_Free(_exec_prefix);
- if (rtpypath != NULL)
- PyMem_Free(rtpypath);
+ PyMem_RawFree(_pythonpath);
+ PyMem_RawFree(_prefix);
+ PyMem_RawFree(_exec_prefix);
+ PyMem_RawFree(rtpypath);
}
@@ -832,7 +828,7 @@ Py_SetPath(const wchar_t *path)
{
if (module_search_path != NULL) {
if (module_search_path_malloced)
- PyMem_Free(module_search_path);
+ PyMem_RawFree(module_search_path);
module_search_path = NULL;
module_search_path_malloced = 0;
}
@@ -841,7 +837,7 @@ Py_SetPath(const wchar_t *path)
wchar_t *prog = Py_GetProgramName();
wcsncpy(progpath, prog, MAXPATHLEN);
exec_prefix[0] = prefix[0] = L'\0';
- module_search_path = PyMem_Malloc((wcslen(path) + 1) * sizeof(wchar_t));
+ module_search_path = PyMem_RawMalloc((wcslen(path) + 1) * sizeof(wchar_t));
module_search_path_malloced = 1;
if (module_search_path != NULL)
wcscpy(module_search_path, path);
diff --git a/Modules/grpmodule.c b/Modules/grpmodule.c
index 042cf0554a..a85a2715e9 100644
--- a/Modules/grpmodule.c
+++ b/Modules/grpmodule.c
@@ -210,9 +210,14 @@ PyInit_grp(void)
if (m == NULL)
return NULL;
d = PyModule_GetDict(m);
- if (!initialized)
- PyStructSequence_InitType(&StructGrpType, &struct_group_type_desc);
- PyDict_SetItemString(d, "struct_group", (PyObject *) &StructGrpType);
+ if (!initialized) {
+ if (PyStructSequence_InitType2(&StructGrpType,
+ &struct_group_type_desc) < 0)
+ return NULL;
+ }
+ if (PyDict_SetItemString(d, "struct_group",
+ (PyObject *)&StructGrpType) < 0)
+ return NULL;
initialized = 1;
return m;
}
diff --git a/Modules/hashlib.h b/Modules/hashlib.h
index 459914605f..51c68f6aa7 100644
--- a/Modules/hashlib.h
+++ b/Modules/hashlib.h
@@ -26,3 +26,36 @@
return NULL; \
} \
} while(0);
+
+/*
+ * Helper code to synchronize access to the hash object when the GIL is
+ * released around a CPU consuming hashlib operation. All code paths that
+ * access a mutable part of obj must be enclosed in a ENTER_HASHLIB /
+ * LEAVE_HASHLIB block or explicitly acquire and release the lock inside
+ * a PY_BEGIN / END_ALLOW_THREADS block if they wish to release the GIL for
+ * an operation.
+ */
+
+#ifdef WITH_THREAD
+#include "pythread.h"
+ #define ENTER_HASHLIB(obj) \
+ if ((obj)->lock) { \
+ if (!PyThread_acquire_lock((obj)->lock, 0)) { \
+ Py_BEGIN_ALLOW_THREADS \
+ PyThread_acquire_lock((obj)->lock, 1); \
+ Py_END_ALLOW_THREADS \
+ } \
+ }
+ #define LEAVE_HASHLIB(obj) \
+ if ((obj)->lock) { \
+ PyThread_release_lock((obj)->lock); \
+ }
+#else
+ #define ENTER_HASHLIB(obj)
+ #define LEAVE_HASHLIB(obj)
+#endif
+
+/* TODO(gps): We should probably make this a module or EVPobject attribute
+ * to allow the user to optimize based on the platform they're using. */
+#define HASHLIB_GIL_MINSIZE 2048
+
diff --git a/Modules/main.c b/Modules/main.c
index 3cfc9c3bd4..25190b8e7f 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -22,15 +22,11 @@
#include <crtdbg.h>
#endif
-#if (defined(PYOS_OS2) && !defined(PYCC_GCC)) || defined(MS_WINDOWS)
+#if defined(MS_WINDOWS)
#define PYTHONHOMEHELP "<prefix>\\lib"
#else
-#if defined(PYOS_OS2) && defined(PYCC_GCC)
-#define PYTHONHOMEHELP "<prefix>/Lib"
-#else
#define PYTHONHOMEHELP "<prefix>/pythonX.X"
#endif
-#endif
#include "pygetopt.h"
@@ -47,7 +43,7 @@ static wchar_t **orig_argv;
static int orig_argc;
/* command line options */
-#define BASE_OPTS L"bBc:dEhiJm:OqRsStuvVW:xX:?"
+#define BASE_OPTS L"bBc:dEhiIJm:OqRsStuvVW:xX:?"
#define PROGRAM_OPTS BASE_OPTS
@@ -69,6 +65,7 @@ Options and arguments (and corresponding environment variables):\n\
static char *usage_2 = "\
-i : inspect interactively after running script; forces a prompt even\n\
if stdin does not appear to be a terminal; also PYTHONINSPECT=x\n\
+-I : isolate Python from the user's environment (implies -E and -s)\n\
-m mod : run library module as a script (terminates option list)\n\
-O : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x\n\
-OO : remove doc-strings in addition to the -O optimizations\n\
@@ -165,6 +162,32 @@ static void RunStartupFile(PyCompilerFlags *cf)
}
}
+static void RunInteractiveHook(void)
+{
+ PyObject *sys, *hook, *result;
+ sys = PyImport_ImportModule("sys");
+ if (sys == NULL)
+ goto error;
+ hook = PyObject_GetAttrString(sys, "__interactivehook__");
+ Py_DECREF(sys);
+ if (hook == NULL)
+ PyErr_Clear();
+ else {
+ result = PyObject_CallObject(hook, NULL);
+ Py_DECREF(hook);
+ if (result == NULL)
+ goto error;
+ else
+ Py_DECREF(result);
+ }
+ return;
+
+error:
+ PySys_WriteStderr("Failed calling sys.__interactivehook__\n");
+ PyErr_Print();
+ PyErr_Clear();
+}
+
static int RunModule(wchar_t *modname, int set_argv0)
{
@@ -172,17 +195,20 @@ static int RunModule(wchar_t *modname, int set_argv0)
runpy = PyImport_ImportModule("runpy");
if (runpy == NULL) {
fprintf(stderr, "Could not import runpy module\n");
+ PyErr_Print();
return -1;
}
runmodule = PyObject_GetAttrString(runpy, "_run_module_as_main");
if (runmodule == NULL) {
fprintf(stderr, "Could not access runpy._run_module_as_main\n");
+ PyErr_Print();
Py_DECREF(runpy);
return -1;
}
module = PyUnicode_FromWideChar(modname, wcslen(modname));
if (module == NULL) {
fprintf(stderr, "Could not convert module name to unicode\n");
+ PyErr_Print();
Py_DECREF(runpy);
Py_DECREF(runmodule);
return -1;
@@ -191,6 +217,7 @@ static int RunModule(wchar_t *modname, int set_argv0)
if (runargs == NULL) {
fprintf(stderr,
"Could not create arguments for runpy._run_module_as_main\n");
+ PyErr_Print();
Py_DECREF(runpy);
Py_DECREF(runmodule);
Py_DECREF(module);
@@ -235,8 +262,10 @@ RunMainFromImporter(wchar_t *filename)
/* argv0 is usable as an import source, so put it in sys.path[0]
and import __main__ */
sys_path = PySys_GetObject("path");
- if (sys_path == NULL)
+ if (sys_path == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "unable to get sys.path");
goto error;
+ }
if (PyList_SetItem(sys_path, 0, argv0)) {
argv0 = NULL;
goto error;
@@ -366,7 +395,7 @@ Py_Main(int argc, wchar_t **argv)
command to interpret. */
len = wcslen(_PyOS_optarg) + 1 + 1;
- command = (wchar_t *)malloc(sizeof(wchar_t) * len);
+ command = (wchar_t *)PyMem_RawMalloc(sizeof(wchar_t) * len);
if (command == NULL)
Py_FatalError(
"not enough memory to copy -c argument");
@@ -398,6 +427,12 @@ Py_Main(int argc, wchar_t **argv)
Py_InteractiveFlag++;
break;
+ case 'I':
+ Py_IsolatedFlag++;
+ Py_NoUserSiteDirectory++;
+ Py_IgnoreEnvironmentFlag++;
+ break;
+
/* case 'J': reserved for Jython */
case 'O':
@@ -475,7 +510,7 @@ Py_Main(int argc, wchar_t **argv)
return usage(0, argv[0]);
if (version) {
- fprintf(stderr, "Python %s\n", PY_VERSION);
+ printf("Python %s\n", PY_VERSION);
return 0;
}
@@ -495,7 +530,7 @@ Py_Main(int argc, wchar_t **argv)
*wp != L'\0') {
wchar_t *buf, *warning;
- buf = (wchar_t *)malloc((wcslen(wp) + 1) * sizeof(wchar_t));
+ buf = (wchar_t *)PyMem_RawMalloc((wcslen(wp) + 1) * sizeof(wchar_t));
if (buf == NULL)
Py_FatalError(
"not enough memory to copy PYTHONWARNINGS");
@@ -505,7 +540,7 @@ Py_Main(int argc, wchar_t **argv)
warning = wcstok(NULL, L",")) {
PySys_AddWarnOption(warning);
}
- free(buf);
+ PyMem_RawFree(buf);
}
#else
if ((p = Py_GETENV("PYTHONWARNINGS")) && *p != '\0') {
@@ -514,12 +549,12 @@ Py_Main(int argc, wchar_t **argv)
/* settle for strtok here as there's no one standard
C89 wcstok */
- buf = (char *)malloc(strlen(p) + 1);
+ buf = (char *)PyMem_RawMalloc(strlen(p) + 1);
if (buf == NULL)
Py_FatalError(
"not enough memory to copy PYTHONWARNINGS");
strcpy(buf, p);
- oldloc = strdup(setlocale(LC_ALL, NULL));
+ oldloc = _PyMem_RawStrdup(setlocale(LC_ALL, NULL));
setlocale(LC_ALL, "");
for (p = strtok(buf, ","); p != NULL; p = strtok(NULL, ",")) {
#ifdef __APPLE__
@@ -537,8 +572,8 @@ Py_Main(int argc, wchar_t **argv)
Py_DECREF(unicode);
}
setlocale(LC_ALL, oldloc);
- free(oldloc);
- free(buf);
+ PyMem_RawFree(oldloc);
+ PyMem_RawFree(buf);
}
#endif
@@ -608,7 +643,7 @@ Py_Main(int argc, wchar_t **argv)
wchar_t* buffer;
size_t len = strlen(p) + 1;
- buffer = malloc(len * sizeof(wchar_t));
+ buffer = PyMem_RawMalloc(len * sizeof(wchar_t));
if (buffer == NULL) {
Py_FatalError(
"not enough memory to copy PYTHONEXECUTABLE");
@@ -682,7 +717,7 @@ Py_Main(int argc, wchar_t **argv)
if (command) {
sts = run_command(command, &cf);
- free(command);
+ PyMem_RawFree(command);
} else if (module) {
sts = (RunModule(module, 1) != 0);
}
@@ -691,6 +726,7 @@ Py_Main(int argc, wchar_t **argv)
if (filename == NULL && stdin_is_interactive) {
Py_InspectFlag = 0; /* do exit on SystemExit */
RunStartupFile(&cf);
+ RunInteractiveHook();
}
/* XXX */
@@ -756,6 +792,7 @@ Py_Main(int argc, wchar_t **argv)
if (Py_InspectFlag && stdin_is_interactive &&
(filename != NULL || command != NULL || module != NULL)) {
Py_InspectFlag = 0;
+ RunInteractiveHook();
/* XXX */
sts = PyRun_AnyFileFlags(stdin, "<stdin>", &cf) != 0;
}
diff --git a/Modules/md5module.c b/Modules/md5module.c
index 12e187cb94..bb91b6c369 100644
--- a/Modules/md5module.c
+++ b/Modules/md5module.c
@@ -91,10 +91,6 @@ typedef struct {
(y)[3] = (unsigned char)(((x)>>24)&255); (y)[2] = (unsigned char)(((x)>>16)&255); \
(y)[1] = (unsigned char)(((x)>>8)&255); (y)[0] = (unsigned char)((x)&255); }
-#ifndef MIN
- #define MIN(x, y) ( ((x)<(y))?(x):(y) )
-#endif
-
/* MD5 macros */
@@ -244,9 +240,9 @@ md5_process(struct md5_state *md5, const unsigned char *in, Py_ssize_t inlen)
in += MD5_BLOCKSIZE;
inlen -= MD5_BLOCKSIZE;
} else {
- n = MIN(inlen, (Py_ssize_t)(MD5_BLOCKSIZE - md5->curlen));
+ n = Py_MIN(inlen, (Py_ssize_t)(MD5_BLOCKSIZE - md5->curlen));
memcpy(md5->buf + md5->curlen, in, (size_t)n);
- md5->curlen += n;
+ md5->curlen += (MD5_INT32)n;
in += n;
inlen -= n;
if (md5->curlen == MD5_BLOCKSIZE) {
@@ -443,7 +439,7 @@ MD5_get_block_size(PyObject *self, void *closure)
static PyObject *
MD5_get_name(PyObject *self, void *closure)
{
- return PyUnicode_FromStringAndSize("MD5", 3);
+ return PyUnicode_FromStringAndSize("md5", 3);
}
static PyObject *
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index 1107eb8f6e..4b4be61257 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -20,6 +20,7 @@
#define PY_SSIZE_T_CLEAN
#include <Python.h>
+#include "structmember.h"
#ifndef MS_WINDOWS
#define UNIX
@@ -108,6 +109,7 @@ typedef struct {
int fd;
#endif
+ PyObject *weakreflist;
access_mode access;
} mmap_object;
@@ -134,6 +136,8 @@ mmap_object_dealloc(mmap_object *m_obj)
}
#endif /* UNIX */
+ if (m_obj->weakreflist != NULL)
+ PyObject_ClearWeakRefs((PyObject *) m_obj);
Py_TYPE(m_obj)->tp_free((PyObject*)m_obj);
}
@@ -1032,7 +1036,7 @@ static PyTypeObject mmap_object_type = {
0, /* tp_traverse */
0, /* tp_clear */
0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
+ offsetof(mmap_object, weakreflist), /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
mmap_object_methods, /* tp_methods */
@@ -1190,6 +1194,7 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
m_obj->data = NULL;
m_obj->size = (size_t) map_size;
m_obj->pos = (size_t) 0;
+ m_obj->weakreflist = NULL;
m_obj->exports = 0;
m_obj->offset = offset;
if (fd == -1) {
@@ -1394,6 +1399,7 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
/* set the initial position */
m_obj->pos = (size_t) 0;
+ m_obj->weakreflist = NULL;
m_obj->exports = 0;
/* set the tag name */
if (tagname != NULL && *tagname != '\0') {
diff --git a/Modules/ossaudiodev.c b/Modules/ossaudiodev.c
index 50e266f087..5e45abdf98 100644
--- a/Modules/ossaudiodev.c
+++ b/Modules/ossaudiodev.c
@@ -245,7 +245,7 @@ _do_ioctl_1(int fd, PyObject *args, char *fname, int cmd)
int arg;
assert(strlen(fname) <= 30);
- strcat(argfmt, fname);
+ strncat(argfmt, fname, 30);
if (!PyArg_ParseTuple(args, argfmt, &arg))
return NULL;
@@ -270,7 +270,7 @@ _do_ioctl_1_internal(int fd, PyObject *args, char *fname, int cmd)
int arg = 0;
assert(strlen(fname) <= 30);
- strcat(argfmt, fname);
+ strncat(argfmt, fname, 30);
if (!PyArg_ParseTuple(args, argfmt, &arg))
return NULL;
@@ -290,7 +290,7 @@ _do_ioctl_0(int fd, PyObject *args, char *fname, int cmd)
int rv;
assert(strlen(fname) <= 30);
- strcat(argfmt, fname);
+ strncat(argfmt, fname, 30);
if (!PyArg_ParseTuple(args, argfmt))
return NULL;
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index e86fe4d2eb..7a6e455207 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -83,54 +83,78 @@ node2tuple(node *n, /* node to convert */
int lineno, /* include line numbers? */
int col_offset) /* include column offsets? */
{
+ PyObject *result = NULL, *w;
+
if (n == NULL) {
Py_INCREF(Py_None);
- return (Py_None);
+ return Py_None;
}
+
if (ISNONTERMINAL(TYPE(n))) {
int i;
- PyObject *v;
- PyObject *w;
- v = mkseq(1 + NCH(n) + (TYPE(n) == encoding_decl));
- if (v == NULL)
- return (v);
+ result = mkseq(1 + NCH(n) + (TYPE(n) == encoding_decl));
+ if (result == NULL)
+ goto error;
+
w = PyLong_FromLong(TYPE(n));
- if (w == NULL) {
- Py_DECREF(v);
- return ((PyObject*) NULL);
- }
- (void) addelem(v, 0, w);
+ if (w == NULL)
+ goto error;
+ (void) addelem(result, 0, w);
+
for (i = 0; i < NCH(n); i++) {
w = node2tuple(CHILD(n, i), mkseq, addelem, lineno, col_offset);
- if (w == NULL) {
- Py_DECREF(v);
- return ((PyObject*) NULL);
- }
- (void) addelem(v, i+1, w);
+ if (w == NULL)
+ goto error;
+ (void) addelem(result, i+1, w);
}
- if (TYPE(n) == encoding_decl)
- (void) addelem(v, i+1, PyUnicode_FromString(STR(n)));
- return (v);
+ if (TYPE(n) == encoding_decl) {
+ w = PyUnicode_FromString(STR(n));
+ if (w == NULL)
+ goto error;
+ (void) addelem(result, i+1, w);
+ }
}
else if (ISTERMINAL(TYPE(n))) {
- PyObject *result = mkseq(2 + lineno + col_offset);
- if (result != NULL) {
- (void) addelem(result, 0, PyLong_FromLong(TYPE(n)));
- (void) addelem(result, 1, PyUnicode_FromString(STR(n)));
- if (lineno == 1)
- (void) addelem(result, 2, PyLong_FromLong(n->n_lineno));
- if (col_offset == 1)
- (void) addelem(result, 3, PyLong_FromLong(n->n_col_offset));
+ result = mkseq(2 + lineno + col_offset);
+ if (result == NULL)
+ goto error;
+
+ w = PyLong_FromLong(TYPE(n));
+ if (w == NULL)
+ goto error;
+ (void) addelem(result, 0, w);
+
+ w = PyUnicode_FromString(STR(n));
+ if (w == NULL)
+ goto error;
+ (void) addelem(result, 1, w);
+
+ if (lineno == 1) {
+ w = PyLong_FromLong(n->n_lineno);
+ if (w == NULL)
+ goto error;
+ (void) addelem(result, 2, w);
+ }
+
+ if (col_offset == 1) {
+ w = PyLong_FromLong(n->n_col_offset);
+ if (w == NULL)
+ goto error;
+ (void) addelem(result, 3, w);
}
- return (result);
}
else {
PyErr_SetString(PyExc_SystemError,
"unrecognized parse tree node type");
return ((PyObject*) NULL);
}
+ return result;
+
+error:
+ Py_XDECREF(result);
+ return NULL;
}
/*
* End of material copyrighted by Stichting Mathematisch Centrum.
@@ -809,8 +833,13 @@ build_node_children(PyObject *tuple, node *root, int *line_num)
return 0;
}
strn = (char *)PyObject_MALLOC(len + 1);
- if (strn != NULL)
- (void) memcpy(strn, temp_str, len + 1);
+ if (strn == NULL) {
+ Py_DECREF(temp);
+ Py_XDECREF(elem);
+ PyErr_NoMemory();
+ return 0;
+ }
+ (void) memcpy(strn, temp_str, len + 1);
Py_DECREF(temp);
}
else if (!ISNONTERMINAL(type)) {
@@ -870,7 +899,7 @@ build_node_tree(PyObject *tuple)
* The tuple is simple, but it doesn't start with a start symbol.
* Raise an exception now and be done with it.
*/
- tuple = Py_BuildValue("os", tuple,
+ tuple = Py_BuildValue("Os", tuple,
"Illegal syntax-tree; cannot start with terminal symbol.");
PyErr_SetObject(parser_error, tuple);
Py_XDECREF(tuple);
@@ -906,8 +935,14 @@ build_node_tree(PyObject *tuple)
return NULL;
}
res->n_str = (char *)PyObject_MALLOC(len + 1);
- if (res->n_str != NULL && temp != NULL)
- (void) memcpy(res->n_str, temp, len + 1);
+ if (res->n_str == NULL) {
+ Py_DECREF(res);
+ Py_DECREF(encoding);
+ Py_DECREF(tuple);
+ PyErr_NoMemory();
+ return NULL;
+ }
+ (void) memcpy(res->n_str, temp, len + 1);
Py_DECREF(encoding);
Py_DECREF(tuple);
}
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index f3234a4538..fde675284b 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -1,15 +1,12 @@
/* POSIX module implementation */
-/* This file is also used for Windows NT/MS-Win and OS/2. In that case the
- module actually calls itself 'nt' or 'os2', not 'posix', and a few
+/* This file is also used for Windows NT/MS-Win. In that case the
+ module actually calls itself 'nt', not 'posix', and a few
functions are either unimplemented or implemented differently. The source
assumes that for Windows NT, the macro 'MS_WINDOWS' is defined independent
of the compiler used. Different compilers define their own feature
- test macro, e.g. '__BORLANDC__' or '_MSC_VER'. For OS/2, the compiler
- independent macro PYOS_OS2 should be defined. On OS/2 the default
- compiler is assumed to be IBM's VisualAge C++ (VACPP). PYCC_GCC is used
- as the compiler specific macro for the EMX port of gcc to OS/2. */
+ test macro, e.g. '__BORLANDC__' or '_MSC_VER'. */
#ifdef __APPLE__
/*
@@ -46,22 +43,6 @@ disguised Unix interface). Refer to the library manual and\n\
corresponding Unix manual entries for more information on calls.");
-#if defined(PYOS_OS2)
-#error "PEP 11: OS/2 is now unsupported, code will be removed in Python 3.4"
-#define INCL_DOS
-#define INCL_DOSERRORS
-#define INCL_DOSPROCESS
-#define INCL_NOPMAPI
-#include <os2.h>
-#if defined(PYCC_GCC)
-#include <ctype.h>
-#include <io.h>
-#include <stdio.h>
-#include <process.h>
-#endif
-#include "osdefs.h"
-#endif
-
#ifdef HAVE_SYS_UIO_H
#include <sys/uio.h>
#endif
@@ -132,6 +113,18 @@ corresponding Unix manual entries for more information on calls.");
#include <dlfcn.h>
#endif
+#ifdef __hpux
+#include <sys/mpctl.h>
+#endif
+
+#if defined(__DragonFly__) || \
+ defined(__OpenBSD__) || \
+ defined(__FreeBSD__) || \
+ defined(__NetBSD__) || \
+ defined(__APPLE__)
+#include <sys/sysctl.h>
+#endif
+
#if defined(MS_WINDOWS)
# define TERMSIZE_USE_CONIO
#elif defined(HAVE_SYS_IOCTL_H)
@@ -146,29 +139,19 @@ corresponding Unix manual entries for more information on calls.");
/* Various compilers have only certain posix functions */
/* XXX Gosh I wish these were all moved into pyconfig.h */
-#if defined(PYCC_VACPP) && defined(PYOS_OS2)
-#include <process.h>
-#else
#if defined(__WATCOMC__) && !defined(__QNX__) /* Watcom compiler */
-#define HAVE_GETCWD 1
#define HAVE_OPENDIR 1
#define HAVE_SYSTEM 1
-#if defined(__OS2__)
-#define HAVE_EXECV 1
-#define HAVE_WAIT 1
-#endif
#include <process.h>
#else
#ifdef __BORLANDC__ /* Borland compiler */
#define HAVE_EXECV 1
-#define HAVE_GETCWD 1
#define HAVE_OPENDIR 1
#define HAVE_PIPE 1
#define HAVE_SYSTEM 1
#define HAVE_WAIT 1
#else
#ifdef _MSC_VER /* Microsoft compiler */
-#define HAVE_GETCWD 1
#define HAVE_GETPPID 1
#define HAVE_GETLOGIN 1
#define HAVE_SPAWNV 1
@@ -179,8 +162,8 @@ corresponding Unix manual entries for more information on calls.");
#define HAVE_FSYNC 1
#define fsync _commit
#else
-#if defined(PYOS_OS2) && defined(PYCC_GCC) || defined(__VMS)
-/* Everything needed is defined in PC/os2emx/pyconfig.h or vms/pyconfig.h */
+#if defined(__VMS)
+/* Everything needed is defined in vms/pyconfig.h */
#else /* all other compilers */
/* Unix functions that the configure script doesn't check for */
#define HAVE_EXECV 1
@@ -188,7 +171,6 @@ corresponding Unix manual entries for more information on calls.");
#if defined(__USLC__) && defined(__SCO_VERSION__) /* SCO UDK Compiler */
#define HAVE_FORK1 1
#endif
-#define HAVE_GETCWD 1
#define HAVE_GETEGID 1
#define HAVE_GETEUID 1
#define HAVE_GETGID 1
@@ -200,11 +182,10 @@ corresponding Unix manual entries for more information on calls.");
#define HAVE_SYSTEM 1
#define HAVE_WAIT 1
#define HAVE_TTYNAME 1
-#endif /* PYOS_OS2 && PYCC_GCC && __VMS */
+#endif /* __VMS */
#endif /* _MSC_VER */
#endif /* __BORLANDC__ */
#endif /* ! __WATCOMC__ || __QNX__ */
-#endif /* ! __IBMC__ */
@@ -335,10 +316,6 @@ static int win32_can_symlink = 0;
#endif
#endif /* _MSC_VER */
-#if defined(PYCC_VACPP) && defined(PYOS_OS2)
-#include <io.h>
-#endif /* OS2 */
-
#ifndef MAXPATHLEN
#if defined(PATH_MAX) && PATH_MAX > 1024
#define MAXPATHLEN PATH_MAX
@@ -380,7 +357,7 @@ static int win32_can_symlink = 0;
#undef STAT
#undef FSTAT
#undef STRUCT_STAT
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
# define STAT win32_stat
# define LSTAT win32_lstat
# define FSTAT win32_fstat
@@ -436,108 +413,213 @@ _PyLong_FromGid(gid_t gid)
int
_Py_Uid_Converter(PyObject *obj, void *p)
{
+ uid_t uid;
+ PyObject *index;
int overflow;
long result;
- if (PyFloat_Check(obj)) {
- PyErr_SetString(PyExc_TypeError,
- "integer argument expected, got float");
+ unsigned long uresult;
+
+ index = PyNumber_Index(obj);
+ if (index == NULL) {
+ PyErr_Format(PyExc_TypeError,
+ "uid should be integer, not %.200s",
+ Py_TYPE(obj)->tp_name);
return 0;
}
- result = PyLong_AsLongAndOverflow(obj, &overflow);
- if (overflow < 0)
- goto OverflowDown;
- if (!overflow && result == -1) {
- /* error or -1 */
- if (PyErr_Occurred())
- return 0;
- *(uid_t *)p = (uid_t)-1;
- }
- else {
- /* unsigned uid_t */
- unsigned long uresult;
- if (overflow > 0) {
- uresult = PyLong_AsUnsignedLong(obj);
- if (PyErr_Occurred()) {
- if (PyErr_ExceptionMatches(PyExc_OverflowError))
- goto OverflowUp;
- return 0;
- }
- if ((uid_t)uresult == (uid_t)-1)
- goto OverflowUp;
- } else {
- if (result < 0)
- goto OverflowDown;
- uresult = result;
+
+ /*
+ * Handling uid_t is complicated for two reasons:
+ * * Although uid_t is (always?) unsigned, it still
+ * accepts -1.
+ * * We don't know its size in advance--it may be
+ * bigger than an int, or it may be smaller than
+ * a long.
+ *
+ * So a bit of defensive programming is in order.
+ * Start with interpreting the value passed
+ * in as a signed long and see if it works.
+ */
+
+ result = PyLong_AsLongAndOverflow(index, &overflow);
+
+ if (!overflow) {
+ uid = (uid_t)result;
+
+ if (result == -1) {
+ if (PyErr_Occurred())
+ goto fail;
+ /* It's a legitimate -1, we're done. */
+ goto success;
}
+
+ /* Any other negative number is disallowed. */
+ if (result < 0)
+ goto underflow;
+
+ /* Ensure the value wasn't truncated. */
if (sizeof(uid_t) < sizeof(long) &&
- (unsigned long)(uid_t)uresult != uresult)
- goto OverflowUp;
- *(uid_t *)p = (uid_t)uresult;
+ (long)uid != result)
+ goto underflow;
+ goto success;
}
+
+ if (overflow < 0)
+ goto underflow;
+
+ /*
+ * Okay, the value overflowed a signed long. If it
+ * fits in an *unsigned* long, it may still be okay,
+ * as uid_t may be unsigned long on this platform.
+ */
+ uresult = PyLong_AsUnsignedLong(index);
+ if (PyErr_Occurred()) {
+ if (PyErr_ExceptionMatches(PyExc_OverflowError))
+ goto overflow;
+ goto fail;
+ }
+
+ uid = (uid_t)uresult;
+
+ /*
+ * If uid == (uid_t)-1, the user actually passed in ULONG_MAX,
+ * but this value would get interpreted as (uid_t)-1 by chown
+ * and its siblings. That's not what the user meant! So we
+ * throw an overflow exception instead. (We already
+ * handled a real -1 with PyLong_AsLongAndOverflow() above.)
+ */
+ if (uid == (uid_t)-1)
+ goto overflow;
+
+ /* Ensure the value wasn't truncated. */
+ if (sizeof(uid_t) < sizeof(long) &&
+ (unsigned long)uid != uresult)
+ goto overflow;
+ /* fallthrough */
+
+success:
+ Py_DECREF(index);
+ *(uid_t *)p = uid;
return 1;
-OverflowDown:
+underflow:
PyErr_SetString(PyExc_OverflowError,
- "user id is less than minimum");
- return 0;
+ "uid is less than minimum");
+ goto fail;
-OverflowUp:
+overflow:
PyErr_SetString(PyExc_OverflowError,
- "user id is greater than maximum");
+ "uid is greater than maximum");
+ /* fallthrough */
+
+fail:
+ Py_DECREF(index);
return 0;
}
int
_Py_Gid_Converter(PyObject *obj, void *p)
{
+ gid_t gid;
+ PyObject *index;
int overflow;
long result;
- if (PyFloat_Check(obj)) {
- PyErr_SetString(PyExc_TypeError,
- "integer argument expected, got float");
+ unsigned long uresult;
+
+ index = PyNumber_Index(obj);
+ if (index == NULL) {
+ PyErr_Format(PyExc_TypeError,
+ "gid should be integer, not %.200s",
+ Py_TYPE(obj)->tp_name);
return 0;
}
- result = PyLong_AsLongAndOverflow(obj, &overflow);
- if (overflow < 0)
- goto OverflowDown;
- if (!overflow && result == -1) {
- /* error or -1 */
- if (PyErr_Occurred())
- return 0;
- *(gid_t *)p = (gid_t)-1;
- }
- else {
- /* unsigned gid_t */
- unsigned long uresult;
- if (overflow > 0) {
- uresult = PyLong_AsUnsignedLong(obj);
- if (PyErr_Occurred()) {
- if (PyErr_ExceptionMatches(PyExc_OverflowError))
- goto OverflowUp;
- return 0;
- }
- if ((gid_t)uresult == (gid_t)-1)
- goto OverflowUp;
- } else {
- if (result < 0)
- goto OverflowDown;
- uresult = result;
+
+ /*
+ * Handling gid_t is complicated for two reasons:
+ * * Although gid_t is (always?) unsigned, it still
+ * accepts -1.
+ * * We don't know its size in advance--it may be
+ * bigger than an int, or it may be smaller than
+ * a long.
+ *
+ * So a bit of defensive programming is in order.
+ * Start with interpreting the value passed
+ * in as a signed long and see if it works.
+ */
+
+ result = PyLong_AsLongAndOverflow(index, &overflow);
+
+ if (!overflow) {
+ gid = (gid_t)result;
+
+ if (result == -1) {
+ if (PyErr_Occurred())
+ goto fail;
+ /* It's a legitimate -1, we're done. */
+ goto success;
+ }
+
+ /* Any other negative number is disallowed. */
+ if (result < 0) {
+ goto underflow;
}
+
+ /* Ensure the value wasn't truncated. */
if (sizeof(gid_t) < sizeof(long) &&
- (unsigned long)(gid_t)uresult != uresult)
- goto OverflowUp;
- *(gid_t *)p = (gid_t)uresult;
+ (long)gid != result)
+ goto underflow;
+ goto success;
}
+
+ if (overflow < 0)
+ goto underflow;
+
+ /*
+ * Okay, the value overflowed a signed long. If it
+ * fits in an *unsigned* long, it may still be okay,
+ * as gid_t may be unsigned long on this platform.
+ */
+ uresult = PyLong_AsUnsignedLong(index);
+ if (PyErr_Occurred()) {
+ if (PyErr_ExceptionMatches(PyExc_OverflowError))
+ goto overflow;
+ goto fail;
+ }
+
+ gid = (gid_t)uresult;
+
+ /*
+ * If gid == (gid_t)-1, the user actually passed in ULONG_MAX,
+ * but this value would get interpreted as (gid_t)-1 by chown
+ * and its siblings. That's not what the user meant! So we
+ * throw an overflow exception instead. (We already
+ * handled a real -1 with PyLong_AsLongAndOverflow() above.)
+ */
+ if (gid == (gid_t)-1)
+ goto overflow;
+
+ /* Ensure the value wasn't truncated. */
+ if (sizeof(gid_t) < sizeof(long) &&
+ (unsigned long)gid != uresult)
+ goto overflow;
+ /* fallthrough */
+
+success:
+ Py_DECREF(index);
+ *(gid_t *)p = gid;
return 1;
-OverflowDown:
+underflow:
PyErr_SetString(PyExc_OverflowError,
- "group id is less than minimum");
- return 0;
+ "gid is less than minimum");
+ goto fail;
-OverflowUp:
+overflow:
PyErr_SetString(PyExc_OverflowError,
- "group id is greater than maximum");
+ "gid is greater than maximum");
+ /* fallthrough */
+
+fail:
+ Py_DECREF(index);
return 0;
}
#endif /* MS_WINDOWS */
@@ -560,25 +642,29 @@ static int
_fd_converter(PyObject *o, int *p, const char *allowed)
{
int overflow;
- long long_value = PyLong_AsLongAndOverflow(o, &overflow);
- if (PyFloat_Check(o) ||
- (long_value == -1 && !overflow && PyErr_Occurred())) {
- PyErr_Clear();
+ long long_value;
+
+ PyObject *index = PyNumber_Index(o);
+ if (index == NULL) {
PyErr_Format(PyExc_TypeError,
- "argument should be %s, not %.200s",
- allowed, Py_TYPE(o)->tp_name);
+ "argument should be %s, not %.200s",
+ allowed, Py_TYPE(o)->tp_name);
return 0;
}
+
+ long_value = PyLong_AsLongAndOverflow(index, &overflow);
+ Py_DECREF(index);
if (overflow > 0 || long_value > INT_MAX) {
PyErr_SetString(PyExc_OverflowError,
- "signed integer is greater than maximum");
+ "fd is greater than maximum");
return 0;
}
if (overflow < 0 || long_value < INT_MIN) {
PyErr_SetString(PyExc_OverflowError,
- "signed integer is less than minimum");
+ "fd is less than minimum");
return 0;
}
+
*p = (int)long_value;
return 1;
}
@@ -678,8 +764,8 @@ dir_fd_converter(PyObject *o, void *p)
* path_cleanup(). However it is safe to do so.)
*/
typedef struct {
- char *function_name;
- char *argument_name;
+ const char *function_name;
+ const char *argument_name;
int nullable;
int allow_fd;
wchar_t *wide;
@@ -1105,10 +1191,6 @@ convertenviron(void)
#else
char **e;
#endif
-#if defined(PYOS_OS2)
- APIRET rc;
- char buffer[1024]; /* OS/2 Provides a Documented Max of 1024 Chars */
-#endif
d = PyDict_New();
if (d == NULL)
@@ -1177,20 +1259,6 @@ convertenviron(void)
Py_DECREF(v);
}
#endif
-#if defined(PYOS_OS2)
- rc = DosQueryExtLIBPATH(buffer, BEGIN_LIBPATH);
- if (rc == NO_ERROR) { /* (not a type, envname is NOT 'BEGIN_LIBPATH') */
- PyObject *v = PyBytes_FromString(buffer);
- PyDict_SetItemString(d, "BEGINLIBPATH", v);
- Py_DECREF(v);
- }
- rc = DosQueryExtLIBPATH(buffer, END_LIBPATH);
- if (rc == NO_ERROR) { /* (not a typo, envname is NOT 'END_LIBPATH') */
- PyObject *v = PyBytes_FromString(buffer);
- PyDict_SetItemString(d, "ENDLIBPATH", v);
- Py_DECREF(v);
- }
-#endif
return d;
}
@@ -1201,25 +1269,6 @@ posix_error(void)
{
return PyErr_SetFromErrno(PyExc_OSError);
}
-static PyObject *
-posix_error_with_filename(char* name)
-{
- return PyErr_SetFromErrnoWithFilename(PyExc_OSError, name);
-}
-
-
-static PyObject *
-posix_error_with_allocated_filename(PyObject* name)
-{
- PyObject *name_str, *rc;
- name_str = PyUnicode_DecodeFSDefaultAndSize(PyBytes_AsString(name),
- PyBytes_GET_SIZE(name));
- Py_DECREF(name);
- rc = PyErr_SetFromErrnoWithFilenameObject(PyExc_OSError,
- name_str);
- Py_XDECREF(name_str);
- return rc;
-}
#ifdef MS_WINDOWS
static PyObject *
@@ -1238,24 +1287,13 @@ win32_error(char* function, const char* filename)
}
static PyObject *
-win32_error_unicode(char* function, wchar_t* filename)
-{
- /* XXX - see win32_error for comments on 'function' */
- errno = GetLastError();
- if (filename)
- return PyErr_SetFromWindowsErrWithUnicodeFilename(errno, filename);
- else
- return PyErr_SetFromWindowsErr(errno);
-}
-
-static PyObject *
win32_error_object(char* function, PyObject* filename)
{
/* XXX - see win32_error for comments on 'function' */
errno = GetLastError();
if (filename)
return PyErr_SetExcFromWindowsErrWithFilenameObject(
- PyExc_WindowsError,
+ PyExc_OSError,
errno,
filename);
else
@@ -1264,109 +1302,17 @@ win32_error_object(char* function, PyObject* filename)
#endif /* MS_WINDOWS */
-/*
- * Some functions return Win32 errors, others only ever use posix_error
- * (this is for backwards compatibility with exceptions)
- */
-static PyObject *
-path_posix_error(char *function_name, path_t *path)
-{
- if (path->narrow)
- return posix_error_with_filename(path->narrow);
- return posix_error();
-}
-
static PyObject *
-path_error(char *function_name, path_t *path)
+path_error(path_t *path)
{
#ifdef MS_WINDOWS
- if (path->narrow)
- return win32_error(function_name, path->narrow);
- if (path->wide)
- return win32_error_unicode(function_name, path->wide);
- return win32_error(function_name, NULL);
+ return PyErr_SetExcFromWindowsErrWithFilenameObject(PyExc_OSError,
+ 0, path->object);
#else
- return path_posix_error(function_name, path);
+ return PyErr_SetFromErrnoWithFilenameObject(PyExc_OSError, path->object);
#endif
}
-#if defined(PYOS_OS2)
-/**********************************************************************
- * Helper Function to Trim and Format OS/2 Messages
- **********************************************************************/
-static void
-os2_formatmsg(char *msgbuf, int msglen, char *reason)
-{
- msgbuf[msglen] = '\0'; /* OS/2 Doesn't Guarantee a Terminator */
-
- if (strlen(msgbuf) > 0) { /* If Non-Empty Msg, Trim CRLF */
- char *lastc = &msgbuf[ strlen(msgbuf)-1 ];
-
- while (lastc > msgbuf && Py_ISSPACE(Py_CHARMASK(*lastc)))
- *lastc-- = '\0'; /* Trim Trailing Whitespace (CRLF) */
- }
-
- /* Add Optional Reason Text */
- if (reason) {
- strcat(msgbuf, " : ");
- strcat(msgbuf, reason);
- }
-}
-
-/**********************************************************************
- * Decode an OS/2 Operating System Error Code
- *
- * A convenience function to lookup an OS/2 error code and return a
- * text message we can use to raise a Python exception.
- *
- * Notes:
- * The messages for errors returned from the OS/2 kernel reside in
- * the file OSO001.MSG in the \OS2 directory hierarchy.
- *
- **********************************************************************/
-static char *
-os2_strerror(char *msgbuf, int msgbuflen, int errorcode, char *reason)
-{
- APIRET rc;
- ULONG msglen;
-
- /* Retrieve Kernel-Related Error Message from OSO001.MSG File */
- Py_BEGIN_ALLOW_THREADS
- rc = DosGetMessage(NULL, 0, msgbuf, msgbuflen,
- errorcode, "oso001.msg", &msglen);
- Py_END_ALLOW_THREADS
-
- if (rc == NO_ERROR)
- os2_formatmsg(msgbuf, msglen, reason);
- else
- PyOS_snprintf(msgbuf, msgbuflen,
- "unknown OS error #%d", errorcode);
-
- return msgbuf;
-}
-
-/* Set an OS/2-specific error and return NULL. OS/2 kernel
- errors are not in a global variable e.g. 'errno' nor are
- they congruent with posix error numbers. */
-
-static PyObject *
-os2_error(int code)
-{
- char text[1024];
- PyObject *v;
-
- os2_strerror(text, sizeof(text), code, "");
-
- v = Py_BuildValue("(is)", code, text);
- if (v != NULL) {
- PyErr_SetObject(PyExc_OSError, v);
- Py_DECREF(v);
- }
- return NULL; /* Signal to Python that an Exception is Pending */
-}
-
-#endif /* OS2 */
-
/* POSIX generic methods */
static PyObject *
@@ -1389,65 +1335,31 @@ posix_fildes(PyObject *fdobj, int (*func)(int))
}
static PyObject *
-posix_1str(PyObject *args, char *format, int (*func)(const char*))
+posix_1str(const char *func_name, PyObject *args, char *format,
+ int (*func)(const char*))
{
- PyObject *opath1 = NULL;
- char *path1;
+ path_t path;
int res;
+ memset(&path, 0, sizeof(path));
+ path.function_name = func_name;
if (!PyArg_ParseTuple(args, format,
- PyUnicode_FSConverter, &opath1))
+ path_converter, &path))
return NULL;
- path1 = PyBytes_AsString(opath1);
Py_BEGIN_ALLOW_THREADS
- res = (*func)(path1);
+ res = (*func)(path.narrow);
Py_END_ALLOW_THREADS
- if (res < 0)
- return posix_error_with_allocated_filename(opath1);
- Py_DECREF(opath1);
+ if (res < 0) {
+ path_error(&path);
+ path_cleanup(&path);
+ return NULL;
+ }
+ path_cleanup(&path);
Py_INCREF(Py_None);
return Py_None;
}
#ifdef MS_WINDOWS
-static PyObject*
-win32_1str(PyObject* args, char* func,
- char* format, BOOL (__stdcall *funcA)(LPCSTR),
- char* wformat, BOOL (__stdcall *funcW)(LPWSTR))
-{
- PyObject *uni;
- const char *ansi;
- BOOL result;
-
- if (PyArg_ParseTuple(args, wformat, &uni))
- {
- wchar_t *wstr = PyUnicode_AsUnicode(uni);
- if (wstr == NULL)
- return NULL;
- Py_BEGIN_ALLOW_THREADS
- result = funcW(wstr);
- Py_END_ALLOW_THREADS
- if (!result)
- return win32_error_object(func, uni);
- Py_INCREF(Py_None);
- return Py_None;
- }
- PyErr_Clear();
-
- if (!PyArg_ParseTuple(args, format, &ansi))
- return NULL;
- if (win32_warn_bytes_api())
- return NULL;
- Py_BEGIN_ALLOW_THREADS
- result = funcA(ansi);
- Py_END_ALLOW_THREADS
- if (!result)
- return win32_error(func, ansi);
- Py_INCREF(Py_None);
- return Py_None;
-
-}
-
/* This is a reimplementation of the C library's chdir function,
but one that produces Win32 errors instead of DOS error codes.
chdir is essentially a wrapper around SetCurrentDirectory; however,
@@ -1491,14 +1403,14 @@ win32_wchdir(LPCWSTR path)
if (!result)
return FALSE;
if (result > MAX_PATH+1) {
- new_path = malloc(result * sizeof(wchar_t));
+ new_path = PyMem_RawMalloc(result * sizeof(wchar_t));
if (!new_path) {
SetLastError(ERROR_OUTOFMEMORY);
return FALSE;
}
result = GetCurrentDirectoryW(result, new_path);
if (!result) {
- free(new_path);
+ PyMem_RawFree(new_path);
return FALSE;
}
}
@@ -1509,7 +1421,7 @@ win32_wchdir(LPCWSTR path)
env[1] = new_path[0];
result = SetEnvironmentVariableW(env, new_path);
if (new_path != _new_path)
- free(new_path);
+ PyMem_RawFree(new_path);
return result;
}
#endif
@@ -1524,13 +1436,13 @@ win32_wchdir(LPCWSTR path)
#define HAVE_STAT_NSEC 1
struct win32_stat{
- int st_dev;
+ unsigned long st_dev;
__int64 st_ino;
unsigned short st_mode;
int st_nlink;
int st_uid;
int st_gid;
- int st_rdev;
+ unsigned long st_rdev;
__int64 st_size;
time_t st_atime;
int st_atime_nsec;
@@ -1589,6 +1501,8 @@ attribute_data_to_stat(BY_HANDLE_FILE_INFORMATION *info, ULONG reparse_tag, stru
memset(result, 0, sizeof(*result));
result->st_mode = attributes_to_mode(info->dwFileAttributes);
result->st_size = (((__int64)info->nFileSizeHigh)<<32) + info->nFileSizeLow;
+ result->st_dev = info->dwVolumeSerialNumber;
+ result->st_rdev = result->st_dev;
FILE_TIME_to_time_t_nsec(&info->ftCreationTime, &result->st_ctime, &result->st_ctime_nsec);
FILE_TIME_to_time_t_nsec(&info->ftLastWriteTime, &result->st_mtime, &result->st_mtime_nsec);
FILE_TIME_to_time_t_nsec(&info->ftLastAccessTime, &result->st_atime, &result->st_atime_nsec);
@@ -1596,9 +1510,9 @@ attribute_data_to_stat(BY_HANDLE_FILE_INFORMATION *info, ULONG reparse_tag, stru
result->st_ino = (((__int64)info->nFileIndexHigh)<<32) + info->nFileIndexLow;
if (reparse_tag == IO_REPARSE_TAG_SYMLINK) {
/* first clear the S_IFMT bits */
- result->st_mode ^= (result->st_mode & 0170000);
+ result->st_mode ^= (result->st_mode & S_IFMT);
/* now set the bits that make this a symlink */
- result->st_mode |= 0120000;
+ result->st_mode |= S_IFLNK;
}
return 0;
@@ -1651,7 +1565,7 @@ attributes_from_dir_w(LPCWSTR pszFile, BY_HANDLE_FILE_INFORMATION *info, ULONG *
}
/* Grab GetFinalPathNameByHandle dynamically from kernel32 */
-static int has_GetFinalPathNameByHandle = 0;
+static int has_GetFinalPathNameByHandle = -1;
static DWORD (CALLBACK *Py_GetFinalPathNameByHandleW)(HANDLE, LPWSTR, DWORD,
DWORD);
static int
@@ -1662,7 +1576,7 @@ check_GetFinalPathNameByHandle()
DWORD);
/* only recheck */
- if (!has_GetFinalPathNameByHandle)
+ if (-1 == has_GetFinalPathNameByHandle)
{
hKernel32 = GetModuleHandleW(L"KERNEL32");
*(FARPROC*)&Py_GetFinalPathNameByHandleA = GetProcAddress(hKernel32,
@@ -1688,7 +1602,7 @@ get_target_path(HANDLE hdl, wchar_t **target_path)
if(!buf_size)
return FALSE;
- buf = (wchar_t *)malloc((buf_size+1)*sizeof(wchar_t));
+ buf = (wchar_t *)PyMem_Malloc((buf_size+1)*sizeof(wchar_t));
if (!buf) {
SetLastError(ERROR_OUTOFMEMORY);
return FALSE;
@@ -1698,12 +1612,12 @@ get_target_path(HANDLE hdl, wchar_t **target_path)
buf, buf_size, VOLUME_NAME_DOS);
if(!result_length) {
- free(buf);
+ PyMem_Free(buf);
return FALSE;
}
if(!CloseHandle(hdl)) {
- free(buf);
+ PyMem_Free(buf);
return FALSE;
}
@@ -1794,7 +1708,7 @@ win32_xstat_impl(const char *path, struct win32_stat *result,
return -1;
code = win32_xstat_impl_w(target_path, result, FALSE);
- free(target_path);
+ PyMem_Free(target_path);
return code;
}
} else
@@ -1890,7 +1804,7 @@ win32_xstat_impl_w(const wchar_t *path, struct win32_stat *result,
return -1;
code = win32_xstat_impl_w(target_path, result, FALSE);
- free(target_path);
+ PyMem_Free(target_path);
return code;
}
} else
@@ -2289,7 +2203,9 @@ _pystat_fromstructstat(STRUCT_STAT *st)
#else
PyStructSequence_SET_ITEM(v, 1, PyLong_FromLong((long)st->st_ino));
#endif
-#if defined(HAVE_LONG_LONG) && !defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
+ PyStructSequence_SET_ITEM(v, 2, PyLong_FromUnsignedLong(st->st_dev));
+#elif defined(HAVE_LONG_LONG)
PyStructSequence_SET_ITEM(v, 2,
PyLong_FromLongLong((PY_LONG_LONG)st->st_dev));
#else
@@ -2424,8 +2340,9 @@ posix_do_stat(char *function_name, path_t *path,
result = STAT(path->narrow, &st);
Py_END_ALLOW_THREADS
- if (result != 0)
- return path_error("stat", path);
+ if (result != 0) {
+ return path_error(path);
+ }
return _pystat_fromstructstat(&st);
}
@@ -2456,6 +2373,7 @@ posix_stat(PyObject *self, PyObject *args, PyObject *kwargs)
PyObject *return_value;
memset(&path, 0, sizeof(path));
+ path.function_name = "stat";
path.allow_fd = 1;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&|$O&p:stat", keywords,
path_converter, &path,
@@ -2486,6 +2404,7 @@ posix_lstat(PyObject *self, PyObject *args, PyObject *kwargs)
PyObject *return_value;
memset(&path, 0, sizeof(path));
+ path.function_name = "lstat";
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&|$O&:lstat", keywords,
path_converter, &path,
#ifdef HAVE_FSTATAT
@@ -2694,6 +2613,7 @@ posix_chdir(PyObject *self, PyObject *args, PyObject *kwargs)
static char *keywords[] = {"path", NULL};
memset(&path, 0, sizeof(path));
+ path.function_name = "chdir";
#ifdef HAVE_FCHDIR
path.allow_fd = 1;
#endif
@@ -2709,8 +2629,6 @@ posix_chdir(PyObject *self, PyObject *args, PyObject *kwargs)
else
result = win32_chdir(path.narrow);
result = !result; /* on unix, success = 0, on windows, success = !0 */
-#elif defined(PYOS_OS2) && defined(PYCC_GCC)
- result = _chdir2(path.narrow);
#else
#ifdef HAVE_FCHDIR
if (path.fd != -1)
@@ -2722,7 +2640,7 @@ posix_chdir(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (result) {
- return_value = path_error("chdir", &path);
+ return_value = path_error(&path);
goto exit;
}
@@ -2786,6 +2704,7 @@ posix_chmod(PyObject *self, PyObject *args, PyObject *kwargs)
#endif
memset(&path, 0, sizeof(path));
+ path.function_name = "chmod";
#ifdef HAVE_FCHMOD
path.allow_fd = 1;
#endif
@@ -2826,7 +2745,7 @@ posix_chmod(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (!result) {
- return_value = win32_error_object("chmod", path.object);
+ return_value = path_error(&path);
goto exit;
}
#else /* MS_WINDOWS */
@@ -2880,7 +2799,7 @@ posix_chmod(PyObject *self, PyObject *args, PyObject *kwargs)
}
else
#endif
- return_value = path_error("chmod", &path);
+ return_value = path_error(&path);
goto exit;
}
#endif
@@ -2924,20 +2843,23 @@ Equivalent to chmod(path, mode, follow_symlinks=False).");
static PyObject *
posix_lchmod(PyObject *self, PyObject *args)
{
- PyObject *opath;
- char *path;
+ path_t path;
int i;
int res;
- if (!PyArg_ParseTuple(args, "O&i:lchmod", PyUnicode_FSConverter,
- &opath, &i))
+ memset(&path, 0, sizeof(path));
+ path.function_name = "lchmod";
+ if (!PyArg_ParseTuple(args, "O&i:lchmod",
+ path_converter, &path, &i))
return NULL;
- path = PyBytes_AsString(opath);
Py_BEGIN_ALLOW_THREADS
- res = lchmod(path, i);
+ res = lchmod(path.narrow, i);
Py_END_ALLOW_THREADS
- if (res < 0)
- return posix_error_with_allocated_filename(opath);
- Py_DECREF(opath);
+ if (res < 0) {
+ path_error(&path);
+ path_cleanup(&path);
+ return NULL;
+ }
+ path_cleanup(&path);
Py_RETURN_NONE;
}
#endif /* HAVE_LCHMOD */
@@ -2965,6 +2887,7 @@ posix_chflags(PyObject *self, PyObject *args, PyObject *kwargs)
static char *keywords[] = {"path", "flags", "follow_symlinks", NULL};
memset(&path, 0, sizeof(path));
+ path.function_name = "chflags";
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&k|$i:chflags", keywords,
path_converter, &path,
&flags, &follow_symlinks))
@@ -2985,7 +2908,7 @@ posix_chflags(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (result) {
- return_value = path_posix_error("chflags", &path);
+ return_value = path_error(&path);
goto exit;
}
@@ -3008,22 +2931,24 @@ Equivalent to chflags(path, flags, follow_symlinks=False).");
static PyObject *
posix_lchflags(PyObject *self, PyObject *args)
{
- PyObject *opath;
- char *path;
+ path_t path;
unsigned long flags;
int res;
+ memset(&path, 0, sizeof(path));
+ path.function_name = "lchflags";
if (!PyArg_ParseTuple(args, "O&k:lchflags",
- PyUnicode_FSConverter, &opath, &flags))
+ path_converter, &path, &flags))
return NULL;
- path = PyBytes_AsString(opath);
Py_BEGIN_ALLOW_THREADS
- res = lchflags(path, flags);
+ res = lchflags(path.narrow, flags);
Py_END_ALLOW_THREADS
- if (res < 0)
- return posix_error_with_allocated_filename(opath);
- Py_DECREF(opath);
- Py_INCREF(Py_None);
- return Py_None;
+ if (res < 0) {
+ path_error(&path);
+ path_cleanup(&path);
+ return NULL;
+ }
+ path_cleanup(&path);
+ Py_RETURN_NONE;
}
#endif /* HAVE_LCHFLAGS */
@@ -3035,7 +2960,7 @@ Change root directory to path.");
static PyObject *
posix_chroot(PyObject *self, PyObject *args)
{
- return posix_1str(args, "O&:chroot", chroot);
+ return posix_1str("chroot", args, "O&:chroot", chroot);
}
#endif
@@ -3117,6 +3042,7 @@ posix_chown(PyObject *self, PyObject *args, PyObject *kwargs)
"follow_symlinks", NULL};
memset(&path, 0, sizeof(path));
+ path.function_name = "chown";
#ifdef HAVE_FCHOWN
path.allow_fd = 1;
#endif
@@ -3174,7 +3100,7 @@ posix_chown(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (result) {
- return_value = path_posix_error("chown", &path);
+ return_value = path_error(&path);
goto exit;
}
@@ -3223,30 +3149,32 @@ Equivalent to os.chown(path, uid, gid, follow_symlinks=False).");
static PyObject *
posix_lchown(PyObject *self, PyObject *args)
{
- PyObject *opath;
- char *path;
+ path_t path;
uid_t uid;
gid_t gid;
int res;
+ memset(&path, 0, sizeof(path));
+ path.function_name = "lchown";
if (!PyArg_ParseTuple(args, "O&O&O&:lchown",
- PyUnicode_FSConverter, &opath,
+ path_converter, &path,
_Py_Uid_Converter, &uid,
_Py_Gid_Converter, &gid))
return NULL;
- path = PyBytes_AsString(opath);
Py_BEGIN_ALLOW_THREADS
- res = lchown(path, uid, gid);
+ res = lchown(path.narrow, uid, gid);
Py_END_ALLOW_THREADS
- if (res < 0)
- return posix_error_with_allocated_filename(opath);
- Py_DECREF(opath);
+ if (res < 0) {
+ path_error(&path);
+ path_cleanup(&path);
+ return NULL;
+ }
+ path_cleanup(&path);
Py_INCREF(Py_None);
return Py_None;
}
#endif /* HAVE_LCHOWN */
-#ifdef HAVE_GETCWD
static PyObject *
posix_getcwd(int use_bytes)
{
@@ -3265,7 +3193,7 @@ posix_getcwd(int use_bytes)
terminating \0. If the buffer is too small, len includes
the space needed for the terminator. */
if (len >= sizeof wbuf/ sizeof wbuf[0]) {
- wbuf2 = malloc(len * sizeof(wchar_t));
+ wbuf2 = PyMem_RawMalloc(len * sizeof(wchar_t));
if (wbuf2)
len = GetCurrentDirectoryW(len, wbuf2);
}
@@ -3275,11 +3203,13 @@ posix_getcwd(int use_bytes)
return NULL;
}
if (!len) {
- if (wbuf2 != wbuf) free(wbuf2);
- return win32_error("getcwdu", NULL);
+ if (wbuf2 != wbuf)
+ PyMem_RawFree(wbuf2);
+ return PyErr_SetFromWindowsErr(0);
}
resobj = PyUnicode_FromWideChar(wbuf2, len);
- if (wbuf2 != wbuf) free(wbuf2);
+ if (wbuf2 != wbuf)
+ PyMem_RawFree(wbuf2);
return resobj;
}
@@ -3288,11 +3218,7 @@ posix_getcwd(int use_bytes)
#endif
Py_BEGIN_ALLOW_THREADS
-#if defined(PYOS_OS2) && defined(PYCC_GCC)
- res = _getcwd2(buf, sizeof buf);
-#else
res = getcwd(buf, sizeof buf);
-#endif
Py_END_ALLOW_THREADS
if (res == NULL)
return posix_error();
@@ -3320,7 +3246,6 @@ posix_getcwd_bytes(PyObject *self)
{
return posix_getcwd(1);
}
-#endif
#if ((!defined(HAVE_LINK)) && defined(MS_WINDOWS))
#define HAVE_LINK 1
@@ -3359,6 +3284,8 @@ posix_link(PyObject *self, PyObject *args, PyObject *kwargs)
memset(&src, 0, sizeof(src));
memset(&dst, 0, sizeof(dst));
+ src.function_name = "link";
+ dst.function_name = "link";
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&|O&O&p:link", keywords,
path_converter, &src,
path_converter, &dst,
@@ -3389,7 +3316,7 @@ posix_link(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (!result) {
- return_value = win32_error_object("link", dst.object);
+ return_value = path_error(&src);
goto exit;
}
#else
@@ -3407,7 +3334,7 @@ posix_link(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (result) {
- return_value = path_error("link", &dst);
+ return_value = path_error(&src);
goto exit;
}
#endif
@@ -3437,17 +3364,11 @@ On some platforms, path may also be specified as an open file descriptor;\n\
the file descriptor must refer to a directory.\n\
If this functionality is unavailable, using it raises NotImplementedError.");
+#if defined(MS_WINDOWS) && !defined(HAVE_OPENDIR)
static PyObject *
-posix_listdir(PyObject *self, PyObject *args, PyObject *kwargs)
+_listdir_windows_no_opendir(path_t *path, PyObject *list)
{
- path_t path;
- PyObject *list = NULL;
static char *keywords[] = {"path", NULL};
-#ifdef HAVE_FDOPENDIR
- int fd = -1;
-#endif /* HAVE_FDOPENDIR */
-
-#if defined(MS_WINDOWS) && !defined(HAVE_OPENDIR)
PyObject *v;
HANDLE hFindFile = INVALID_HANDLE_VALUE;
BOOL result;
@@ -3458,51 +3379,20 @@ posix_listdir(PyObject *self, PyObject *args, PyObject *kwargs)
Py_ssize_t len = sizeof(namebuf)-5;
PyObject *po = NULL;
wchar_t *wnamebuf = NULL;
-#elif defined(PYOS_OS2)
-#ifndef MAX_PATH
-#define MAX_PATH CCHMAXPATH
-#endif
- char *pt;
- PyObject *v;
- char namebuf[MAX_PATH+5];
- HDIR hdir = 1;
- ULONG srchcnt = 1;
- FILEFINDBUF3 ep;
- APIRET rc;
-#else
- PyObject *v;
- DIR *dirp = NULL;
- struct dirent *ep;
- int return_str; /* if false, return bytes */
-#endif
-
- memset(&path, 0, sizeof(path));
- path.nullable = 1;
-#ifdef HAVE_FDOPENDIR
- path.allow_fd = 1;
- path.fd = -1;
-#endif
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|O&:listdir", keywords,
- path_converter, &path
- ))
- return NULL;
- /* XXX Should redo this putting the (now four) versions of opendir
- in separate files instead of having them all here... */
-#if defined(MS_WINDOWS) && !defined(HAVE_OPENDIR)
- if (!path.narrow) {
+ if (!path->narrow) {
WIN32_FIND_DATAW wFileData;
wchar_t *po_wchars;
- if (!path.wide) { /* Default arg: "." */
+ if (!path->wide) { /* Default arg: "." */
po_wchars = L".";
len = 1;
} else {
- po_wchars = path.wide;
- len = wcslen(path.wide);
+ po_wchars = path->wide;
+ len = wcslen(path->wide);
}
/* The +5 is so we can append "\\*.*\0" */
- wnamebuf = malloc((len + 5) * sizeof(wchar_t));
+ wnamebuf = PyMem_Malloc((len + 5) * sizeof(wchar_t));
if (!wnamebuf) {
PyErr_NoMemory();
goto exit;
@@ -3525,8 +3415,7 @@ posix_listdir(PyObject *self, PyObject *args, PyObject *kwargs)
if (error == ERROR_FILE_NOT_FOUND)
goto exit;
Py_DECREF(list);
- list = NULL;
- win32_error_unicode("FindFirstFileW", wnamebuf);
+ list = path_error(path);
goto exit;
}
do {
@@ -3555,15 +3444,15 @@ posix_listdir(PyObject *self, PyObject *args, PyObject *kwargs)
it got to the end of the directory. */
if (!result && GetLastError() != ERROR_NO_MORE_FILES) {
Py_DECREF(list);
- list = win32_error_unicode("FindNextFileW", wnamebuf);
+ list = path_error(path);
goto exit;
}
} while (result == TRUE);
goto exit;
}
- strcpy(namebuf, path.narrow);
- len = path.length;
+ strcpy(namebuf, path->narrow);
+ len = path->length;
if (len > 0) {
char ch = namebuf[len-1];
if (ch != SEP && ch != ALTSEP && ch != ':')
@@ -3582,7 +3471,7 @@ posix_listdir(PyObject *self, PyObject *args, PyObject *kwargs)
if (error == ERROR_FILE_NOT_FOUND)
goto exit;
Py_DECREF(list);
- list = win32_error("FindFirstFile", namebuf);
+ list = path_error(path);
goto exit;
}
do {
@@ -3610,7 +3499,7 @@ posix_listdir(PyObject *self, PyObject *args, PyObject *kwargs)
it got to the end of the directory. */
if (!result && GetLastError() != ERROR_NO_MORE_FILES) {
Py_DECREF(list);
- list = win32_error("FindNextFile", namebuf);
+ list = path_error(path);
goto exit;
}
} while (result == TRUE);
@@ -3620,86 +3509,34 @@ exit:
if (FindClose(hFindFile) == FALSE) {
if (list != NULL) {
Py_DECREF(list);
- list = win32_error_object("FindClose", path.object);
+ list = path_error(path);
}
}
}
- if (wnamebuf)
- free(wnamebuf);
- path_cleanup(&path);
+ PyMem_Free(wnamebuf);
return list;
+} /* end of _listdir_windows_no_opendir */
-#elif defined(PYOS_OS2)
- if (path.length >= MAX_PATH) {
- PyErr_SetString(PyExc_ValueError, "path too long");
- goto exit;
- }
- strcpy(namebuf, path.narrow);
- for (pt = namebuf; *pt; pt++)
- if (*pt == ALTSEP)
- *pt = SEP;
- if (namebuf[len-1] != SEP)
- namebuf[len++] = SEP;
- strcpy(namebuf + len, "*.*");
-
- if ((list = PyList_New(0)) == NULL) {
- goto exit;
- }
-
- rc = DosFindFirst(namebuf, /* Wildcard Pattern to Match */
- &hdir, /* Handle to Use While Search Directory */
- FILE_READONLY | FILE_HIDDEN | FILE_SYSTEM | FILE_DIRECTORY,
- &ep, sizeof(ep), /* Structure to Receive Directory Entry */
- &srchcnt, /* Max and Actual Count of Entries Per Iteration */
- FIL_STANDARD); /* Format of Entry (EAs or Not) */
-
- if (rc != NO_ERROR) {
- errno = ENOENT;
- Py_DECREF(list);
- list = posix_error_with_filename(path.narrow);
- goto exit;
- }
-
- if (srchcnt > 0) { /* If Directory is NOT Totally Empty, */
- do {
- if (ep.achName[0] == '.'
- && (ep.achName[1] == '\0' || (ep.achName[1] == '.' && ep.achName[2] == '\0')))
- continue; /* Skip Over "." and ".." Names */
-
- strcpy(namebuf, ep.achName);
-
- /* Leave Case of Name Alone -- In Native Form */
- /* (Removed Forced Lowercasing Code) */
-
- v = PyBytes_FromString(namebuf);
- if (v == NULL) {
- Py_DECREF(list);
- list = NULL;
- break;
- }
- if (PyList_Append(list, v) != 0) {
- Py_DECREF(v);
- Py_DECREF(list);
- list = NULL;
- break;
- }
- Py_DECREF(v);
- } while (DosFindNext(hdir, &ep, sizeof(ep), &srchcnt) == NO_ERROR && srchcnt > 0);
- }
-
-exit:
- path_cleanup(&path);
+#else /* thus POSIX, ie: not (MS_WINDOWS and not HAVE_OPENDIR) */
- return list;
-#else
+static PyObject *
+_posix_listdir(path_t *path, PyObject *list)
+{
+ PyObject *v;
+ DIR *dirp = NULL;
+ struct dirent *ep;
+ int return_str; /* if false, return bytes */
+#ifdef HAVE_FDOPENDIR
+ int fd = -1;
+#endif
errno = 0;
#ifdef HAVE_FDOPENDIR
- if (path.fd != -1) {
+ if (path->fd != -1) {
/* closedir() closes the FD, so we duplicate it */
Py_BEGIN_ALLOW_THREADS
- fd = dup(path.fd);
+ fd = dup(path->fd);
Py_END_ALLOW_THREADS
if (fd == -1) {
@@ -3717,10 +3554,10 @@ exit:
#endif
{
char *name;
- if (path.narrow) {
- name = path.narrow;
+ if (path->narrow) {
+ name = path->narrow;
/* only return bytes if they specified a bytes object */
- return_str = !(PyBytes_Check(path.object));
+ return_str = !(PyBytes_Check(path->object));
}
else {
name = ".";
@@ -3733,14 +3570,14 @@ exit:
}
if (dirp == NULL) {
- list = path_error("listdir", &path);
+ list = path_error(path);
#ifdef HAVE_FDOPENDIR
if (fd != -1) {
Py_BEGIN_ALLOW_THREADS
close(fd);
Py_END_ALLOW_THREADS
}
-#endif /* HAVE_FDOPENDIR */
+#endif
goto exit;
}
if ((list = PyList_New(0)) == NULL) {
@@ -3756,7 +3593,7 @@ exit:
break;
} else {
Py_DECREF(list);
- list = path_error("listdir", &path);
+ list = path_error(path);
goto exit;
}
}
@@ -3786,17 +3623,44 @@ exit:
#ifdef HAVE_FDOPENDIR
if (fd > -1)
rewinddir(dirp);
-#endif /* HAVE_FDOPENDIR */
+#endif
closedir(dirp);
Py_END_ALLOW_THREADS
}
- path_cleanup(&path);
-
return list;
+} /* end of _posix_listdir */
+#endif /* which OS */
-#endif /* which OS */
-} /* end of posix_listdir */
+static PyObject *
+posix_listdir(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+ path_t path;
+ PyObject *list = NULL;
+ static char *keywords[] = {"path", NULL};
+ PyObject *return_value;
+
+ memset(&path, 0, sizeof(path));
+ path.function_name = "listdir";
+ path.nullable = 1;
+#ifdef HAVE_FDOPENDIR
+ path.allow_fd = 1;
+ path.fd = -1;
+#endif
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|O&:listdir", keywords,
+ path_converter, &path)) {
+ return NULL;
+ }
+
+#if defined(MS_WINDOWS) && !defined(HAVE_OPENDIR)
+ return_value = _listdir_windows_no_opendir(&path, list);
+#else
+ return_value = _posix_listdir(&path, list);
+#endif
+ path_cleanup(&path);
+ return return_value;
+}
#ifdef MS_WINDOWS
/* A helper function for abspath on win32 */
@@ -3823,7 +3687,7 @@ posix__getfullpathname(PyObject *self, PyObject *args)
Py_ARRAY_LENGTH(woutbuf),
woutbuf, &wtemp);
if (result > Py_ARRAY_LENGTH(woutbuf)) {
- woutbufp = malloc(result * sizeof(wchar_t));
+ woutbufp = PyMem_Malloc(result * sizeof(wchar_t));
if (!woutbufp)
return PyErr_NoMemory();
result = GetFullPathNameW(wpath, result, woutbufp, &wtemp);
@@ -3833,7 +3697,7 @@ posix__getfullpathname(PyObject *self, PyObject *args)
else
v = win32_error_object("GetFullPathNameW", po);
if (woutbufp != woutbuf)
- free(woutbufp);
+ PyMem_Free(woutbufp);
return v;
}
/* Drop the argument parsing error as narrow strings
@@ -3903,7 +3767,7 @@ posix__getfinalpathname(PyObject *self, PyObject *args)
if(!buf_size)
return win32_error_object("GetFinalPathNameByHandle", po);
- target_path = (wchar_t *)malloc((buf_size+1)*sizeof(wchar_t));
+ target_path = (wchar_t *)PyMem_Malloc((buf_size+1)*sizeof(wchar_t));
if(!target_path)
return PyErr_NoMemory();
@@ -3917,36 +3781,11 @@ posix__getfinalpathname(PyObject *self, PyObject *args)
target_path[result_length] = 0;
result = PyUnicode_FromWideChar(target_path, result_length);
- free(target_path);
+ PyMem_Free(target_path);
return result;
} /* end of posix__getfinalpathname */
-static PyObject *
-posix__getfileinformation(PyObject *self, PyObject *args)
-{
- HANDLE hFile;
- BY_HANDLE_FILE_INFORMATION info;
- int fd;
-
- if (!PyArg_ParseTuple(args, "i:_getfileinformation", &fd))
- return NULL;
-
- if (!_PyVerify_fd(fd))
- return posix_error();
-
- hFile = (HANDLE)_get_osfhandle(fd);
- if (hFile == INVALID_HANDLE_VALUE)
- return posix_error();
-
- if (!GetFileInformationByHandle(hFile, &info))
- return win32_error("_getfileinformation", NULL);
-
- return Py_BuildValue("iii", info.dwVolumeSerialNumber,
- info.nFileIndexHigh,
- info.nFileIndexLow);
-}
-
PyDoc_STRVAR(posix__isdir__doc__,
"Return true if the pathname refers to an existing directory.");
@@ -3985,6 +3824,47 @@ check:
else
Py_RETURN_FALSE;
}
+
+PyDoc_STRVAR(posix__getvolumepathname__doc__,
+"Return volume mount point of the specified path.");
+
+/* A helper function for ismount on windows */
+static PyObject *
+posix__getvolumepathname(PyObject *self, PyObject *args)
+{
+ PyObject *po, *result;
+ wchar_t *path, *mountpath=NULL;
+ size_t bufsize;
+ BOOL ret;
+
+ if (!PyArg_ParseTuple(args, "U|:_getvolumepathname", &po))
+ return NULL;
+ path = PyUnicode_AsUnicode(po);
+ if (path == NULL)
+ return NULL;
+
+ /* Volume path should be shorter than entire path */
+ bufsize = max(MAX_PATH, wcslen(path) * 2 * sizeof(wchar_t)+1);
+ mountpath = (wchar_t *)PyMem_Malloc(bufsize);
+ if (mountpath == NULL)
+ return PyErr_NoMemory();
+
+ Py_BEGIN_ALLOW_THREADS
+ ret = GetVolumePathNameW(path, mountpath, bufsize);
+ Py_END_ALLOW_THREADS
+
+ if (!ret) {
+ result = win32_error_object("_getvolumepathname", po);
+ goto exit;
+ }
+ result = PyUnicode_FromWideChar(mountpath, wcslen(mountpath));
+
+exit:
+ PyMem_Free(mountpath);
+ return result;
+}
+/* end of posix__getvolumepathname */
+
#endif /* MS_WINDOWS */
PyDoc_STRVAR(posix_mkdir__doc__,
@@ -4009,6 +3889,7 @@ posix_mkdir(PyObject *self, PyObject *args, PyObject *kwargs)
int result;
memset(&path, 0, sizeof(path));
+ path.function_name = "mkdir";
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&|i$O&:mkdir", keywords,
path_converter, &path, &mode,
#ifdef HAVE_MKDIRAT
@@ -4028,7 +3909,7 @@ posix_mkdir(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (!result) {
- return_value = win32_error_object("mkdir", path.object);
+ return_value = path_error(&path);
goto exit;
}
#else
@@ -4045,7 +3926,7 @@ posix_mkdir(PyObject *self, PyObject *args, PyObject *kwargs)
#endif
Py_END_ALLOW_THREADS
if (result < 0) {
- return_value = path_error("mkdir", &path);
+ return_value = path_error(&path);
goto exit;
}
#endif
@@ -4163,6 +4044,8 @@ internal_rename(PyObject *args, PyObject *kwargs, int is_replace)
memset(&src, 0, sizeof(src));
memset(&dst, 0, sizeof(dst));
+ src.function_name = function_name;
+ dst.function_name = function_name;
strcpy(format, "O&O&|$O&O&:");
strcat(format, function_name);
if (!PyArg_ParseTupleAndKeywords(args, kwargs, format, keywords,
@@ -4196,7 +4079,7 @@ internal_rename(PyObject *args, PyObject *kwargs, int is_replace)
Py_END_ALLOW_THREADS
if (!result) {
- return_value = win32_error_object(function_name, dst.object);
+ return_value = path_error(&src);
goto exit;
}
@@ -4211,7 +4094,7 @@ internal_rename(PyObject *args, PyObject *kwargs, int is_replace)
Py_END_ALLOW_THREADS
if (result) {
- return_value = path_error(function_name, &dst);
+ return_value = path_error(&src);
goto exit;
}
#endif
@@ -4275,6 +4158,7 @@ posix_rmdir(PyObject *self, PyObject *args, PyObject *kwargs)
PyObject *return_value = NULL;
memset(&path, 0, sizeof(path));
+ path.function_name = "rmdir";
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&|$O&:rmdir", keywords,
path_converter, &path,
#ifdef HAVE_UNLINKAT
@@ -4303,7 +4187,7 @@ posix_rmdir(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (result) {
- return_value = path_error("rmdir", &path);
+ return_value = path_error(&path);
goto exit;
}
@@ -4431,6 +4315,7 @@ posix_unlink(PyObject *self, PyObject *args, PyObject *kwargs)
PyObject *return_value = NULL;
memset(&path, 0, sizeof(path));
+ path.function_name = "unlink";
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&|$O&:unlink", keywords,
path_converter, &path,
#ifdef HAVE_UNLINKAT
@@ -4459,7 +4344,7 @@ posix_unlink(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (result) {
- return_value = path_error("unlink", &path);
+ return_value = path_error(&path);
goto exit;
}
@@ -4762,6 +4647,7 @@ posix_utime(PyObject *self, PyObject *args, PyObject *kwargs)
PyObject *return_value = NULL;
memset(&path, 0, sizeof(path));
+ path.function_name = "utime";
memset(&utime, 0, sizeof(utime_t));
#if UTIME_HAVE_FD
path.allow_fd = 1;
@@ -4857,7 +4743,7 @@ posix_utime(PyObject *self, PyObject *args, PyObject *kwargs)
FILE_FLAG_BACKUP_SEMANTICS, NULL);
Py_END_ALLOW_THREADS
if (hFile == INVALID_HANDLE_VALUE) {
- win32_error_object("utime", path.object);
+ path_error(&path);
goto exit;
}
@@ -4866,7 +4752,7 @@ posix_utime(PyObject *self, PyObject *args, PyObject *kwargs)
GetSystemTime(&now);
if (!SystemTimeToFileTime(&now, &mtime) ||
!SystemTimeToFileTime(&now, &atime)) {
- win32_error("utime", NULL);
+ PyErr_SetFromWindowsErr(0);
goto exit;
}
}
@@ -4879,7 +4765,7 @@ posix_utime(PyObject *self, PyObject *args, PyObject *kwargs)
as that may confuse the user into believing that
something is wrong with the file, when it also
could be the time stamp that gives a problem. */
- win32_error("utime", NULL);
+ PyErr_SetFromWindowsErr(0);
goto exit;
}
#else /* MS_WINDOWS */
@@ -5013,10 +4899,6 @@ parse_envlist(PyObject* env, Py_ssize_t *envc_ptr)
goto error;
}
-#if defined(PYOS_OS2)
- /* Omit Pseudo-Env Vars that Would Confuse Programs if Passed On */
- if (stricmp(k, "BEGINLIBPATH") != 0 && stricmp(k, "ENDLIBPATH") != 0) {
-#endif
k = PyBytes_AsString(key2);
v = PyBytes_AsString(val2);
len = PyBytes_GET_SIZE(key2) + PyBytes_GET_SIZE(val2) + 2;
@@ -5032,9 +4914,6 @@ parse_envlist(PyObject* env, Py_ssize_t *envc_ptr)
envlist[envc++] = p;
Py_DECREF(key2);
Py_DECREF(val2);
-#if defined(PYOS_OS2)
- }
-#endif
}
Py_DECREF(vals);
Py_DECREF(keys);
@@ -5160,6 +5039,7 @@ posix_execve(PyObject *self, PyObject *args, PyObject *kwargs)
like posix.environ. */
memset(&path, 0, sizeof(path));
+ path.function_name = "execve";
#ifdef HAVE_FEXECVE
path.allow_fd = 1;
#endif
@@ -5199,7 +5079,7 @@ posix_execve(PyObject *self, PyObject *args, PyObject *kwargs)
/* If we get here it's definitely an error */
- path_posix_error("execve", &path);
+ path_error(&path);
while (--envc >= 0)
PyMem_DEL(envlist[envc]);
@@ -5275,18 +5155,12 @@ posix_spawnv(PyObject *self, PyObject *args)
}
argvlist[argc] = NULL;
-#if defined(PYOS_OS2) && defined(PYCC_GCC)
- Py_BEGIN_ALLOW_THREADS
- spawnval = spawnv(mode, path, argvlist);
- Py_END_ALLOW_THREADS
-#else
if (mode == _OLD_P_OVERLAY)
mode = _P_OVERLAY;
Py_BEGIN_ALLOW_THREADS
spawnval = _spawnv(mode, path, argvlist);
Py_END_ALLOW_THREADS
-#endif
free_string_array(argvlist, argc);
Py_DECREF(opath);
@@ -5294,11 +5168,7 @@ posix_spawnv(PyObject *self, PyObject *args)
if (spawnval == -1)
return posix_error();
else
-#if SIZEOF_LONG == SIZEOF_VOID_P
- return Py_BuildValue("l", (long) spawnval);
-#else
- return Py_BuildValue("L", (PY_LONG_LONG) spawnval);
-#endif
+ return Py_BuildValue(_Py_PARSE_INTPTR, spawnval);
}
@@ -5374,27 +5244,17 @@ posix_spawnve(PyObject *self, PyObject *args)
if (envlist == NULL)
goto fail_1;
-#if defined(PYOS_OS2) && defined(PYCC_GCC)
- Py_BEGIN_ALLOW_THREADS
- spawnval = spawnve(mode, path, argvlist, envlist);
- Py_END_ALLOW_THREADS
-#else
if (mode == _OLD_P_OVERLAY)
mode = _P_OVERLAY;
Py_BEGIN_ALLOW_THREADS
spawnval = _spawnve(mode, path, argvlist, envlist);
Py_END_ALLOW_THREADS
-#endif
if (spawnval == -1)
(void) posix_error();
else
-#if SIZEOF_LONG == SIZEOF_VOID_P
- res = Py_BuildValue("l", (long) spawnval);
-#else
- res = Py_BuildValue("L", (PY_LONG_LONG) spawnval);
-#endif
+ res = Py_BuildValue(_Py_PARSE_INTPTR, spawnval);
while (--envc >= 0)
PyMem_DEL(envlist[envc]);
@@ -5406,183 +5266,6 @@ posix_spawnve(PyObject *self, PyObject *args)
return res;
}
-/* OS/2 supports spawnvp & spawnvpe natively */
-#if defined(PYOS_OS2)
-PyDoc_STRVAR(posix_spawnvp__doc__,
-"spawnvp(mode, file, args)\n\n\
-Execute the program 'file' in a new process, using the environment\n\
-search path to find the file.\n\
-\n\
- mode: mode of process creation\n\
- file: executable file name\n\
- args: tuple or list of strings");
-
-static PyObject *
-posix_spawnvp(PyObject *self, PyObject *args)
-{
- PyObject *opath;
- char *path;
- PyObject *argv;
- char **argvlist;
- int mode, i, argc;
- Py_intptr_t spawnval;
- PyObject *(*getitem)(PyObject *, Py_ssize_t);
-
- /* spawnvp has three arguments: (mode, path, argv), where
- argv is a list or tuple of strings. */
-
- if (!PyArg_ParseTuple(args, "iO&O:spawnvp", &mode,
- PyUnicode_FSConverter,
- &opath, &argv))
- return NULL;
- path = PyBytes_AsString(opath);
- if (PyList_Check(argv)) {
- argc = PyList_Size(argv);
- getitem = PyList_GetItem;
- }
- else if (PyTuple_Check(argv)) {
- argc = PyTuple_Size(argv);
- getitem = PyTuple_GetItem;
- }
- else {
- PyErr_SetString(PyExc_TypeError,
- "spawnvp() arg 2 must be a tuple or list");
- Py_DECREF(opath);
- return NULL;
- }
-
- argvlist = PyMem_NEW(char *, argc+1);
- if (argvlist == NULL) {
- Py_DECREF(opath);
- return PyErr_NoMemory();
- }
- for (i = 0; i < argc; i++) {
- if (!fsconvert_strdup((*getitem)(argv, i),
- &argvlist[i])) {
- free_string_array(argvlist, i);
- PyErr_SetString(
- PyExc_TypeError,
- "spawnvp() arg 2 must contain only strings");
- Py_DECREF(opath);
- return NULL;
- }
- }
- argvlist[argc] = NULL;
-
- Py_BEGIN_ALLOW_THREADS
-#if defined(PYCC_GCC)
- spawnval = spawnvp(mode, path, argvlist);
-#else
- spawnval = _spawnvp(mode, path, argvlist);
-#endif
- Py_END_ALLOW_THREADS
-
- free_string_array(argvlist, argc);
- Py_DECREF(opath);
-
- if (spawnval == -1)
- return posix_error();
- else
- return Py_BuildValue("l", (long) spawnval);
-}
-
-
-PyDoc_STRVAR(posix_spawnvpe__doc__,
-"spawnvpe(mode, file, args, env)\n\n\
-Execute the program 'file' in a new process, using the environment\n\
-search path to find the file.\n\
-\n\
- mode: mode of process creation\n\
- file: executable file name\n\
- args: tuple or list of arguments\n\
- env: dictionary of strings mapping to strings");
-
-static PyObject *
-posix_spawnvpe(PyObject *self, PyObject *args)
-{
- PyObject *opath;
- char *path;
- PyObject *argv, *env;
- char **argvlist;
- char **envlist;
- PyObject *res=NULL;
- int mode;
- Py_ssize_t argc, i, envc;
- Py_intptr_t spawnval;
- PyObject *(*getitem)(PyObject *, Py_ssize_t);
- int lastarg = 0;
-
- /* spawnvpe has four arguments: (mode, path, argv, env), where
- argv is a list or tuple of strings and env is a dictionary
- like posix.environ. */
-
- if (!PyArg_ParseTuple(args, "ietOO:spawnvpe", &mode,
- PyUnicode_FSConverter,
- &opath, &argv, &env))
- return NULL;
- path = PyBytes_AsString(opath);
- if (PyList_Check(argv)) {
- argc = PyList_Size(argv);
- getitem = PyList_GetItem;
- }
- else if (PyTuple_Check(argv)) {
- argc = PyTuple_Size(argv);
- getitem = PyTuple_GetItem;
- }
- else {
- PyErr_SetString(PyExc_TypeError,
- "spawnvpe() arg 2 must be a tuple or list");
- goto fail_0;
- }
- if (!PyMapping_Check(env)) {
- PyErr_SetString(PyExc_TypeError,
- "spawnvpe() arg 3 must be a mapping object");
- goto fail_0;
- }
-
- argvlist = PyMem_NEW(char *, argc+1);
- if (argvlist == NULL) {
- PyErr_NoMemory();
- goto fail_0;
- }
- for (i = 0; i < argc; i++) {
- if (!fsconvert_strdup((*getitem)(argv, i),
- &argvlist[i]))
- {
- lastarg = i;
- goto fail_1;
- }
- }
- lastarg = argc;
- argvlist[argc] = NULL;
-
- envlist = parse_envlist(env, &envc);
- if (envlist == NULL)
- goto fail_1;
-
- Py_BEGIN_ALLOW_THREADS
-#if defined(PYCC_GCC)
- spawnval = spawnvpe(mode, path, argvlist, envlist);
-#else
- spawnval = _spawnvpe(mode, path, argvlist, envlist);
-#endif
- Py_END_ALLOW_THREADS
-
- if (spawnval == -1)
- (void) posix_error();
- else
- res = Py_BuildValue("l", (long) spawnval);
-
- while (--envc >= 0)
- PyMem_DEL(envlist[envc]);
- PyMem_DEL(envlist);
- fail_1:
- free_string_array(argvlist, lastarg);
- fail_0:
- Py_DECREF(opath);
- return res;
-}
-#endif /* PYOS_OS2 */
#endif /* HAVE_SPAWNV */
@@ -6632,23 +6315,8 @@ posix_kill(PyObject *self, PyObject *args)
int sig;
if (!PyArg_ParseTuple(args, _Py_PARSE_PID "i:kill", &pid, &sig))
return NULL;
-#if defined(PYOS_OS2) && !defined(PYCC_GCC)
- if (sig == XCPT_SIGNAL_INTR || sig == XCPT_SIGNAL_BREAK) {
- APIRET rc;
- if ((rc = DosSendSignalException(pid, sig)) != NO_ERROR)
- return os2_error(rc);
-
- } else if (sig == XCPT_SIGNAL_KILLPROC) {
- APIRET rc;
- if ((rc = DosKillProcess(DKP_PROCESS, pid)) != NO_ERROR)
- return os2_error(rc);
-
- } else
- return NULL; /* Unrecognized Signal Requested */
-#else
if (kill(pid, sig) == -1)
return posix_error();
-#endif
Py_INCREF(Py_None);
return Py_None;
}
@@ -6686,16 +6354,17 @@ static PyObject *
win32_kill(PyObject *self, PyObject *args)
{
PyObject *result;
- DWORD pid, sig, err;
+ pid_t pid;
+ DWORD sig, err;
HANDLE handle;
- if (!PyArg_ParseTuple(args, "kk:kill", &pid, &sig))
+ if (!PyArg_ParseTuple(args, _Py_PARSE_PID "k:kill", &pid, &sig))
return NULL;
/* Console processes which share a common console can be sent CTRL+C or
CTRL+BREAK events, provided they handle said events. */
if (sig == CTRL_C_EVENT || sig == CTRL_BREAK_EVENT) {
- if (GenerateConsoleCtrlEvent(sig, pid) == 0) {
+ if (GenerateConsoleCtrlEvent(sig, (DWORD)pid) == 0) {
err = GetLastError();
PyErr_SetFromWindowsErr(err);
}
@@ -6705,7 +6374,7 @@ win32_kill(PyObject *self, PyObject *args)
/* If the signal is outside of what GenerateConsoleCtrlEvent can use,
attempt to open and terminate the process. */
- handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
+ handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, (DWORD)pid);
if (handle == NULL) {
err = GetLastError();
return PyErr_SetFromWindowsErr(err);
@@ -7111,7 +6780,7 @@ posix_waitpid(PyObject *self, PyObject *args)
Py_intptr_t pid;
int status, options;
- if (!PyArg_ParseTuple(args, _Py_PARSE_PID "i:waitpid", &pid, &options))
+ if (!PyArg_ParseTuple(args, _Py_PARSE_INTPTR "i:waitpid", &pid, &options))
return NULL;
Py_BEGIN_ALLOW_THREADS
pid = _cwait(&status, pid, options);
@@ -7120,7 +6789,7 @@ posix_waitpid(PyObject *self, PyObject *args)
return posix_error();
/* shift the status left a byte so this is more like the POSIX waitpid */
- return Py_BuildValue("Ni", PyLong_FromPid(pid), status << 8);
+ return Py_BuildValue(_Py_PARSE_INTPTR "i", pid, status << 8);
}
#endif /* HAVE_WAITPID || HAVE_CWAIT */
@@ -7171,6 +6840,7 @@ posix_readlink(PyObject *self, PyObject *args, PyObject *kwargs)
static char *keywords[] = {"path", "dir_fd", NULL};
memset(&path, 0, sizeof(path));
+ path.function_name = "readlink";
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&|$O&:readlink", keywords,
path_converter, &path,
#ifdef HAVE_READLINKAT
@@ -7191,7 +6861,7 @@ posix_readlink(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (length < 0) {
- return_value = path_posix_error("readlink", &path);
+ return_value = path_error(&path);
goto exit;
}
@@ -7227,8 +6897,9 @@ dir_fd may not be implemented on your platform.\n\
/* Grab CreateSymbolicLinkW dynamically from kernel32 */
static DWORD (CALLBACK *Py_CreateSymbolicLinkW)(LPWSTR, LPWSTR, DWORD) = NULL;
static DWORD (CALLBACK *Py_CreateSymbolicLinkA)(LPSTR, LPSTR, DWORD) = NULL;
+
static int
-check_CreateSymbolicLink()
+check_CreateSymbolicLink(void)
{
HINSTANCE hKernel32;
/* only recheck */
@@ -7242,55 +6913,57 @@ check_CreateSymbolicLink()
return (Py_CreateSymbolicLinkW && Py_CreateSymbolicLinkA);
}
-void _dirnameW(WCHAR *path) {
- /* Remove the last portion of the path */
-
+/* Remove the last portion of the path */
+static void
+_dirnameW(WCHAR *path)
+{
WCHAR *ptr;
/* walk the path from the end until a backslash is encountered */
- for(ptr = path + wcslen(path); ptr != path; ptr--)
- {
- if(*ptr == *L"\\" || *ptr == *L"/") {
+ for(ptr = path + wcslen(path); ptr != path; ptr--) {
+ if (*ptr == L'\\' || *ptr == L'/')
break;
- }
}
*ptr = 0;
}
-void _dirnameA(char *path) {
- /* Remove the last portion of the path */
-
+/* Remove the last portion of the path */
+static void
+_dirnameA(char *path)
+{
char *ptr;
/* walk the path from the end until a backslash is encountered */
- for(ptr = path + strlen(path); ptr != path; ptr--)
- {
- if(*ptr == '\\' || *ptr == '/') {
+ for(ptr = path + strlen(path); ptr != path; ptr--) {
+ if (*ptr == '\\' || *ptr == '/')
break;
- }
}
*ptr = 0;
}
-int _is_absW(WCHAR *path) {
- /* Is this path absolute? */
-
+/* Is this path absolute? */
+static int
+_is_absW(const WCHAR *path)
+{
return path[0] == L'\\' || path[0] == L'/' || path[1] == L':';
}
-int _is_absA(char *path) {
- /* Is this path absolute? */
-
+/* Is this path absolute? */
+static int
+_is_absA(const char *path)
+{
return path[0] == '\\' || path[0] == '/' || path[1] == ':';
}
-void _joinW(WCHAR *dest_path, const WCHAR *root, const WCHAR *rest) {
- /* join root and rest with a backslash */
- int root_len;
+/* join root and rest with a backslash */
+static void
+_joinW(WCHAR *dest_path, const WCHAR *root, const WCHAR *rest)
+{
+ size_t root_len;
- if(_is_absW(rest)) {
+ if (_is_absW(rest)) {
wcscpy(dest_path, rest);
return;
}
@@ -7299,17 +6972,19 @@ void _joinW(WCHAR *dest_path, const WCHAR *root, const WCHAR *rest) {
wcscpy(dest_path, root);
if(root_len) {
- dest_path[root_len] = *L"\\";
- root_len += 1;
+ dest_path[root_len] = L'\\';
+ root_len++;
}
wcscpy(dest_path+root_len, rest);
}
-void _joinA(char *dest_path, const char *root, const char *rest) {
- /* join root and rest with a backslash */
- int root_len;
+/* join root and rest with a backslash */
+static void
+_joinA(char *dest_path, const char *root, const char *rest)
+{
+ size_t root_len;
- if(_is_absA(rest)) {
+ if (_is_absA(rest)) {
strcpy(dest_path, rest);
return;
}
@@ -7319,14 +6994,15 @@ void _joinA(char *dest_path, const char *root, const char *rest) {
strcpy(dest_path, root);
if(root_len) {
dest_path[root_len] = '\\';
- root_len += 1;
+ root_len++;
}
strcpy(dest_path+root_len, rest);
}
-int _check_dirW(WCHAR *src, WCHAR *dest)
+/* Return True if the path at src relative to dest is a directory */
+static int
+_check_dirW(WCHAR *src, WCHAR *dest)
{
- /* Return True if the path at src relative to dest is a directory */
WIN32_FILE_ATTRIBUTE_DATA src_info;
WCHAR dest_parent[MAX_PATH];
WCHAR src_resolved[MAX_PATH] = L"";
@@ -7342,18 +7018,19 @@ int _check_dirW(WCHAR *src, WCHAR *dest)
);
}
-int _check_dirA(char *src, char *dest)
+/* Return True if the path at src relative to dest is a directory */
+static int
+_check_dirA(char *src, char *dest)
{
- /* Return True if the path at src relative to dest is a directory */
WIN32_FILE_ATTRIBUTE_DATA src_info;
char dest_parent[MAX_PATH];
char src_resolved[MAX_PATH] = "";
/* dest_parent = os.path.dirname(dest) */
strcpy(dest_parent, dest);
- _dirnameW(dest_parent);
+ _dirnameA(dest_parent);
/* src_resolved = os.path.join(dest_parent, src) */
- _joinW(src_resolved, dest_parent, src);
+ _joinA(src_resolved, dest_parent, src);
return (
GetFileAttributesExA(src_resolved, GetFileExInfoStandard, &src_info)
&& src_info.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY
@@ -7379,8 +7056,10 @@ posix_symlink(PyObject *self, PyObject *args, PyObject *kwargs)
#endif
memset(&src, 0, sizeof(src));
+ src.function_name = "symlink";
src.argument_name = "src";
memset(&dst, 0, sizeof(dst));
+ dst.function_name = "symlink";
dst.argument_name = "dst";
#ifdef MS_WINDOWS
@@ -7433,7 +7112,7 @@ posix_symlink(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (!result) {
- return_value = win32_error_object("symlink", src.object);
+ return_value = path_error(&src);
goto exit;
}
@@ -7449,7 +7128,7 @@ posix_symlink(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (result) {
- return_value = path_error("symlink", &dst);
+ return_value = path_error(&src);
goto exit;
}
#endif
@@ -7611,31 +7290,7 @@ Return an object containing floating point numbers indicating process\n\
times. The object behaves like a named tuple with these fields:\n\
(utime, stime, cutime, cstime, elapsed_time)");
-#if defined(PYCC_VACPP) && defined(PYOS_OS2)
-static long
-system_uptime(void)
-{
- ULONG value = 0;
-
- Py_BEGIN_ALLOW_THREADS
- DosQuerySysInfo(QSV_MS_COUNT, QSV_MS_COUNT, &value, sizeof(value));
- Py_END_ALLOW_THREADS
-
- return value;
-}
-
-static PyObject *
-posix_times(PyObject *self, PyObject *noargs)
-{
- /* Currently Only Uptime is Provided -- Others Later */
- return build_times_result(
- (double)0 /* t.tms_utime / HZ */,
- (double)0 /* t.tms_stime / HZ */,
- (double)0 /* t.tms_cutime / HZ */,
- (double)0 /* t.tms_cstime / HZ */,
- (double)system_uptime() / 1000);
-}
-#elif defined(MS_WINDOWS)
+#if defined(MS_WINDOWS)
static PyObject *
posix_times(PyObject *self, PyObject *noargs)
{
@@ -7657,7 +7312,7 @@ posix_times(PyObject *self, PyObject *noargs)
(double)0,
(double)0);
}
-#else /* Neither Windows nor OS/2 */
+#else /* Not Windows */
#define NEED_TICKS_PER_SECOND
static long ticks_per_second = -1;
static PyObject *
@@ -7798,6 +7453,7 @@ posix_open(PyObject *self, PyObject *args, PyObject *kwargs)
static char *keywords[] = {"path", "flags", "mode", "dir_fd", NULL};
memset(&path, 0, sizeof(path));
+ path.function_name = "open";
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&i|i$O&:open", keywords,
path_converter, &path,
&flags, &mode,
@@ -7824,13 +7480,7 @@ posix_open(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (fd == -1) {
-#ifdef MS_WINDOWS
- /* force use of posix_error here for exact backwards compatibility */
- if (path.wide)
- return_value = posix_error();
- else
-#endif
- return_value = path_error("open", &path);
+ PyErr_SetFromErrnoWithFilenameObject(PyExc_OSError, path.object);
goto exit;
}
@@ -7959,7 +7609,7 @@ static PyObject *
posix_lseek(PyObject *self, PyObject *args)
{
int fd, how;
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
PY_LONG_LONG pos, res;
#else
off_t pos, res;
@@ -7987,7 +7637,7 @@ posix_lseek(PyObject *self, PyObject *args)
if (!_PyVerify_fd(fd))
return posix_error();
Py_BEGIN_ALLOW_THREADS
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
res = _lseeki64(fd, pos, how);
#else
res = lseek(fd, pos, how);
@@ -8193,7 +7843,7 @@ posix_write(PyObject *self, PyObject *args)
}
len = pbuf.len;
Py_BEGIN_ALLOW_THREADS
-#if defined(MS_WIN64) || defined(MS_WINDOWS)
+#ifdef MS_WINDOWS
if (len > INT_MAX)
len = INT_MAX;
size = write(fd, pbuf.buf, (int)len);
@@ -8230,12 +7880,13 @@ posix_sendfile(PyObject *self, PyObject *args, PyObject *kwdict)
off_t sbytes;
struct sf_hdtr sf;
int flags = 0;
- sf.headers = NULL;
- sf.trailers = NULL;
static char *keywords[] = {"out", "in",
"offset", "count",
"headers", "trailers", "flags", NULL};
+ sf.headers = NULL;
+ sf.trailers = NULL;
+
#ifdef __APPLE__
if (!PyArg_ParseTupleAndKeywords(args, kwdict, "iiO&O&|OOi:sendfile",
keywords, &out, &in, _parse_off_t, &offset, _parse_off_t, &sbytes,
@@ -8368,7 +8019,7 @@ posix_fstat(PyObject *self, PyObject *args)
Py_END_ALLOW_THREADS
if (res != 0) {
#ifdef MS_WINDOWS
- return win32_error("fstat", NULL);
+ return PyErr_SetFromWindowsErr(0);
#else
return posix_error();
#endif
@@ -8401,16 +8052,6 @@ Create a pipe.");
static PyObject *
posix_pipe(PyObject *self, PyObject *noargs)
{
-#if defined(PYOS_OS2)
- HFILE read, write;
- APIRET rc;
-
- rc = DosCreatePipe( &read, &write, 4096);
- if (rc != NO_ERROR)
- return os2_error(rc);
-
- return Py_BuildValue("(ii)", read, write);
-#else
#if !defined(MS_WINDOWS)
int fds[2];
int res;
@@ -8424,12 +8065,11 @@ posix_pipe(PyObject *self, PyObject *noargs)
BOOL ok;
ok = CreatePipe(&read, &write, NULL, 0);
if (!ok)
- return win32_error("CreatePipe", NULL);
+ return PyErr_SetFromWindowsErr(0);
read_fd = _open_osfhandle((Py_intptr_t)read, 0);
write_fd = _open_osfhandle((Py_intptr_t)write, 1);
return Py_BuildValue("(ii)", read_fd, write_fd);
#endif /* MS_WINDOWS */
-#endif
}
#endif /* HAVE_PIPE */
@@ -8728,6 +8368,7 @@ posix_truncate(PyObject *self, PyObject *args, PyObject *kwargs)
static char *keywords[] = {"path", "length", NULL};
memset(&path, 0, sizeof(path));
+ path.function_name = "truncate";
#ifdef HAVE_FTRUNCATE
path.allow_fd = 1;
#endif
@@ -8745,7 +8386,7 @@ posix_truncate(PyObject *self, PyObject *args, PyObject *kwargs)
res = truncate(path.narrow, length);
Py_END_ALLOW_THREADS
if (res < 0)
- result = path_posix_error("truncate", &path);
+ result = path_error(&path);
else {
Py_INCREF(Py_None);
result = Py_None;
@@ -9217,6 +8858,7 @@ posix_statvfs(PyObject *self, PyObject *args, PyObject *kwargs)
struct statvfs st;
memset(&path, 0, sizeof(path));
+ path.function_name = "statvfs";
#ifdef HAVE_FSTATVFS
path.allow_fd = 1;
#endif
@@ -9243,7 +8885,7 @@ posix_statvfs(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS
if (result) {
- return_value = path_posix_error("statvfs", &path);
+ return_value = path_error(&path);
goto exit;
}
@@ -9480,6 +9122,7 @@ posix_pathconf(PyObject *self, PyObject *args, PyObject *kwargs)
static char *keywords[] = {"path", "name", NULL};
memset(&path, 0, sizeof(path));
+ path.function_name = "pathconf";
#ifdef HAVE_FPATHCONF
path.allow_fd = 1;
#endif
@@ -9500,7 +9143,7 @@ posix_pathconf(PyObject *self, PyObject *args, PyObject *kwargs)
/* could be a path or name problem */
posix_error();
else
- result = path_posix_error("pathconf", &path);
+ result = path_error(&path);
}
else
result = PyLong_FromLong(limit);
@@ -9682,7 +9325,7 @@ posix_confstr(PyObject *self, PyObject *args)
PyObject *result = NULL;
int name;
char buffer[255];
- int len;
+ size_t len;
if (!PyArg_ParseTuple(args, "O&:confstr", conv_confstr_confname, &name))
return NULL;
@@ -9699,7 +9342,7 @@ posix_confstr(PyObject *self, PyObject *args)
}
}
- if ((unsigned int)len >= sizeof(buffer)) {
+ if (len >= sizeof(buffer)) {
char *buf = PyMem_Malloc(len);
if (buf == NULL)
return PyErr_NoMemory();
@@ -10229,7 +9872,7 @@ posix_sysconf(PyObject *self, PyObject *args)
int name;
if (PyArg_ParseTuple(args, "O&:sysconf", conv_sysconf_confname, &name)) {
- int value;
+ long value;
errno = 0;
value = sysconf(name);
@@ -10559,6 +10202,8 @@ posix_getxattr(PyObject *self, PyObject *args, PyObject *kwargs)
memset(&path, 0, sizeof(path));
memset(&attribute, 0, sizeof(attribute));
+ path.function_name = "getxattr";
+ attribute.function_name = "getxattr";
path.allow_fd = 1;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&|$p:getxattr", keywords,
path_converter, &path,
@@ -10575,7 +10220,7 @@ posix_getxattr(PyObject *self, PyObject *args, PyObject *kwargs)
static Py_ssize_t buffer_sizes[] = {128, XATTR_SIZE_MAX, 0};
Py_ssize_t buffer_size = buffer_sizes[i];
if (!buffer_size) {
- path_error("getxattr", &path);
+ path_error(&path);
goto exit;
}
buffer = PyBytes_FromStringAndSize(NULL, buffer_size);
@@ -10597,7 +10242,7 @@ posix_getxattr(PyObject *self, PyObject *args, PyObject *kwargs)
buffer = NULL;
if (errno == ERANGE)
continue;
- path_error("getxattr", &path);
+ path_error(&path);
goto exit;
}
@@ -10636,6 +10281,7 @@ posix_setxattr(PyObject *self, PyObject *args, PyObject *kwargs)
"flags", "follow_symlinks", NULL};
memset(&path, 0, sizeof(path));
+ path.function_name = "setxattr";
path.allow_fd = 1;
memset(&attribute, 0, sizeof(attribute));
memset(&value, 0, sizeof(value));
@@ -10663,7 +10309,7 @@ posix_setxattr(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS;
if (result) {
- return_value = path_error("setxattr", &path);
+ return_value = path_error(&path);
goto exit;
}
@@ -10697,7 +10343,9 @@ posix_removexattr(PyObject *self, PyObject *args, PyObject *kwargs)
static char *keywords[] = {"path", "attribute", "follow_symlinks", NULL};
memset(&path, 0, sizeof(path));
+ path.function_name = "removexattr";
memset(&attribute, 0, sizeof(attribute));
+ attribute.function_name = "removexattr";
path.allow_fd = 1;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&|$p:removexattr",
keywords,
@@ -10719,7 +10367,7 @@ posix_removexattr(PyObject *self, PyObject *args, PyObject *kwargs)
Py_END_ALLOW_THREADS;
if (result) {
- return_value = path_error("removexattr", &path);
+ return_value = path_error(&path);
goto exit;
}
@@ -10755,6 +10403,7 @@ posix_listxattr(PyObject *self, PyObject *args, PyObject *kwargs)
static char *keywords[] = {"path", "follow_symlinks", NULL};
memset(&path, 0, sizeof(path));
+ path.function_name = "listxattr";
path.allow_fd = 1;
path.fd = -1;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|O&$p:listxattr", keywords,
@@ -10773,7 +10422,7 @@ posix_listxattr(PyObject *self, PyObject *args, PyObject *kwargs)
Py_ssize_t buffer_size = buffer_sizes[i];
if (!buffer_size) {
/* ERANGE */
- path_error("listxattr", &path);
+ path_error(&path);
break;
}
buffer = PyMem_MALLOC(buffer_size);
@@ -10797,7 +10446,7 @@ posix_listxattr(PyObject *self, PyObject *args, PyObject *kwargs)
buffer = NULL;
continue;
}
- path_error("listxattr", &path);
+ path_error(&path);
break;
}
@@ -10975,6 +10624,41 @@ get_terminal_size(PyObject *self, PyObject *args)
}
#endif /* defined(TERMSIZE_USE_CONIO) || defined(TERMSIZE_USE_IOCTL) */
+PyDoc_STRVAR(posix_cpu_count__doc__,
+"cpu_count() -> integer\n\n\
+Return the number of CPUs in the system, or None if this value cannot be\n\
+established.");
+
+static PyObject *
+posix_cpu_count(PyObject *self)
+{
+ int ncpu = 0;
+#ifdef MS_WINDOWS
+ SYSTEM_INFO sysinfo;
+ GetSystemInfo(&sysinfo);
+ ncpu = sysinfo.dwNumberOfProcessors;
+#elif defined(__hpux)
+ ncpu = mpctl(MPC_GETNUMSPUS, NULL, NULL);
+#elif defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN)
+ ncpu = sysconf(_SC_NPROCESSORS_ONLN);
+#elif defined(__DragonFly__) || \
+ defined(__OpenBSD__) || \
+ defined(__FreeBSD__) || \
+ defined(__NetBSD__) || \
+ defined(__APPLE__)
+ int mib[2];
+ size_t len = sizeof(ncpu);
+ mib[0] = CTL_HW;
+ mib[1] = HW_NCPU;
+ if (sysctl(mib, 2, &ncpu, &len, NULL, 0) != 0)
+ ncpu = 0;
+#endif
+ if (ncpu >= 1)
+ return PyLong_FromLong(ncpu);
+ else
+ Py_RETURN_NONE;
+}
+
static PyMethodDef posix_methods[] = {
{"access", (PyCFunction)posix_access,
@@ -11020,12 +10704,10 @@ static PyMethodDef posix_methods[] = {
#ifdef HAVE_CTERMID
{"ctermid", posix_ctermid, METH_NOARGS, posix_ctermid__doc__},
#endif
-#ifdef HAVE_GETCWD
{"getcwd", (PyCFunction)posix_getcwd_unicode,
METH_NOARGS, posix_getcwd__doc__},
{"getcwdb", (PyCFunction)posix_getcwd_bytes,
METH_NOARGS, posix_getcwdb__doc__},
-#endif
#if defined(HAVE_LINK) || defined(MS_WINDOWS)
{"link", (PyCFunction)posix_link,
METH_VARARGS | METH_KEYWORDS,
@@ -11105,10 +10787,6 @@ static PyMethodDef posix_methods[] = {
#ifdef HAVE_SPAWNV
{"spawnv", posix_spawnv, METH_VARARGS, posix_spawnv__doc__},
{"spawnve", posix_spawnve, METH_VARARGS, posix_spawnve__doc__},
-#if defined(PYOS_OS2)
- {"spawnvp", posix_spawnvp, METH_VARARGS, posix_spawnvp__doc__},
- {"spawnvpe", posix_spawnvpe, METH_VARARGS, posix_spawnvpe__doc__},
-#endif /* PYOS_OS2 */
#endif /* HAVE_SPAWNV */
#ifdef HAVE_FORK1
{"fork1", posix_fork1, METH_NOARGS, posix_fork1__doc__},
@@ -11387,9 +11065,9 @@ static PyMethodDef posix_methods[] = {
#ifdef MS_WINDOWS
{"_getfullpathname", posix__getfullpathname, METH_VARARGS, NULL},
{"_getfinalpathname", posix__getfinalpathname, METH_VARARGS, NULL},
- {"_getfileinformation", posix__getfileinformation, METH_VARARGS, NULL},
{"_isdir", posix__isdir, METH_VARARGS, posix__isdir__doc__},
{"_getdiskusage", win32__getdiskusage, METH_VARARGS, win32__getdiskusage__doc__},
+ {"_getvolumepathname", posix__getvolumepathname, METH_VARARGS, posix__getvolumepathname__doc__},
#endif
#ifdef HAVE_GETLOADAVG
{"getloadavg", posix_getloadavg, METH_NOARGS, posix_getloadavg__doc__},
@@ -11425,69 +11103,12 @@ static PyMethodDef posix_methods[] = {
#if defined(TERMSIZE_USE_CONIO) || defined(TERMSIZE_USE_IOCTL)
{"get_terminal_size", get_terminal_size, METH_VARARGS, termsize__doc__},
#endif
+ {"cpu_count", (PyCFunction)posix_cpu_count,
+ METH_NOARGS, posix_cpu_count__doc__},
{NULL, NULL} /* Sentinel */
};
-static int
-ins(PyObject *module, char *symbol, long value)
-{
- return PyModule_AddIntConstant(module, symbol, value);
-}
-
-#if defined(PYOS_OS2)
-/* Insert Platform-Specific Constant Values (Strings & Numbers) of Common Use */
-static int insertvalues(PyObject *module)
-{
- APIRET rc;
- ULONG values[QSV_MAX+1];
- PyObject *v;
- char *ver, tmp[50];
-
- Py_BEGIN_ALLOW_THREADS
- rc = DosQuerySysInfo(1L, QSV_MAX, &values[1], sizeof(ULONG) * QSV_MAX);
- Py_END_ALLOW_THREADS
-
- if (rc != NO_ERROR) {
- os2_error(rc);
- return -1;
- }
-
- if (ins(module, "meminstalled", values[QSV_TOTPHYSMEM])) return -1;
- if (ins(module, "memkernel", values[QSV_TOTRESMEM])) return -1;
- if (ins(module, "memvirtual", values[QSV_TOTAVAILMEM])) return -1;
- if (ins(module, "maxpathlen", values[QSV_MAX_PATH_LENGTH])) return -1;
- if (ins(module, "maxnamelen", values[QSV_MAX_COMP_LENGTH])) return -1;
- if (ins(module, "revision", values[QSV_VERSION_REVISION])) return -1;
- if (ins(module, "timeslice", values[QSV_MIN_SLICE])) return -1;
-
- switch (values[QSV_VERSION_MINOR]) {
- case 0: ver = "2.00"; break;
- case 10: ver = "2.10"; break;
- case 11: ver = "2.11"; break;
- case 30: ver = "3.00"; break;
- case 40: ver = "4.00"; break;
- case 50: ver = "5.00"; break;
- default:
- PyOS_snprintf(tmp, sizeof(tmp),
- "%d-%d", values[QSV_VERSION_MAJOR],
- values[QSV_VERSION_MINOR]);
- ver = &tmp[0];
- }
-
- /* Add Indicator of the Version of the Operating System */
- if (PyModule_AddStringConstant(module, "version", tmp) < 0)
- return -1;
-
- /* Add Indicator of Which Drive was Used to Boot the System */
- tmp[0] = 'A' + values[QSV_BOOT_DRIVE] - 1;
- tmp[1] = ':';
- tmp[2] = '\0';
-
- return PyModule_AddStringConstant(module, "bootdrive", tmp);
-}
-#endif
-
#if defined(HAVE_SYMLINK) && defined(MS_WINDOWS)
static int
enable_symlink()
@@ -11518,401 +11139,381 @@ enable_symlink()
#endif /* defined(HAVE_SYMLINK) && defined(MS_WINDOWS) */
static int
-all_ins(PyObject *d)
+all_ins(PyObject *m)
{
#ifdef F_OK
- if (ins(d, "F_OK", (long)F_OK)) return -1;
+ if (PyModule_AddIntMacro(m, F_OK)) return -1;
#endif
#ifdef R_OK
- if (ins(d, "R_OK", (long)R_OK)) return -1;
+ if (PyModule_AddIntMacro(m, R_OK)) return -1;
#endif
#ifdef W_OK
- if (ins(d, "W_OK", (long)W_OK)) return -1;
+ if (PyModule_AddIntMacro(m, W_OK)) return -1;
#endif
#ifdef X_OK
- if (ins(d, "X_OK", (long)X_OK)) return -1;
+ if (PyModule_AddIntMacro(m, X_OK)) return -1;
#endif
#ifdef NGROUPS_MAX
- if (ins(d, "NGROUPS_MAX", (long)NGROUPS_MAX)) return -1;
+ if (PyModule_AddIntMacro(m, NGROUPS_MAX)) return -1;
#endif
#ifdef TMP_MAX
- if (ins(d, "TMP_MAX", (long)TMP_MAX)) return -1;
+ if (PyModule_AddIntMacro(m, TMP_MAX)) return -1;
#endif
#ifdef WCONTINUED
- if (ins(d, "WCONTINUED", (long)WCONTINUED)) return -1;
+ if (PyModule_AddIntMacro(m, WCONTINUED)) return -1;
#endif
#ifdef WNOHANG
- if (ins(d, "WNOHANG", (long)WNOHANG)) return -1;
+ if (PyModule_AddIntMacro(m, WNOHANG)) return -1;
#endif
#ifdef WUNTRACED
- if (ins(d, "WUNTRACED", (long)WUNTRACED)) return -1;
+ if (PyModule_AddIntMacro(m, WUNTRACED)) return -1;
#endif
#ifdef O_RDONLY
- if (ins(d, "O_RDONLY", (long)O_RDONLY)) return -1;
+ if (PyModule_AddIntMacro(m, O_RDONLY)) return -1;
#endif
#ifdef O_WRONLY
- if (ins(d, "O_WRONLY", (long)O_WRONLY)) return -1;
+ if (PyModule_AddIntMacro(m, O_WRONLY)) return -1;
#endif
#ifdef O_RDWR
- if (ins(d, "O_RDWR", (long)O_RDWR)) return -1;
+ if (PyModule_AddIntMacro(m, O_RDWR)) return -1;
#endif
#ifdef O_NDELAY
- if (ins(d, "O_NDELAY", (long)O_NDELAY)) return -1;
+ if (PyModule_AddIntMacro(m, O_NDELAY)) return -1;
#endif
#ifdef O_NONBLOCK
- if (ins(d, "O_NONBLOCK", (long)O_NONBLOCK)) return -1;
+ if (PyModule_AddIntMacro(m, O_NONBLOCK)) return -1;
#endif
#ifdef O_APPEND
- if (ins(d, "O_APPEND", (long)O_APPEND)) return -1;
+ if (PyModule_AddIntMacro(m, O_APPEND)) return -1;
#endif
#ifdef O_DSYNC
- if (ins(d, "O_DSYNC", (long)O_DSYNC)) return -1;
+ if (PyModule_AddIntMacro(m, O_DSYNC)) return -1;
#endif
#ifdef O_RSYNC
- if (ins(d, "O_RSYNC", (long)O_RSYNC)) return -1;
+ if (PyModule_AddIntMacro(m, O_RSYNC)) return -1;
#endif
#ifdef O_SYNC
- if (ins(d, "O_SYNC", (long)O_SYNC)) return -1;
+ if (PyModule_AddIntMacro(m, O_SYNC)) return -1;
#endif
#ifdef O_NOCTTY
- if (ins(d, "O_NOCTTY", (long)O_NOCTTY)) return -1;
+ if (PyModule_AddIntMacro(m, O_NOCTTY)) return -1;
#endif
#ifdef O_CREAT
- if (ins(d, "O_CREAT", (long)O_CREAT)) return -1;
+ if (PyModule_AddIntMacro(m, O_CREAT)) return -1;
#endif
#ifdef O_EXCL
- if (ins(d, "O_EXCL", (long)O_EXCL)) return -1;
+ if (PyModule_AddIntMacro(m, O_EXCL)) return -1;
#endif
#ifdef O_TRUNC
- if (ins(d, "O_TRUNC", (long)O_TRUNC)) return -1;
+ if (PyModule_AddIntMacro(m, O_TRUNC)) return -1;
#endif
#ifdef O_BINARY
- if (ins(d, "O_BINARY", (long)O_BINARY)) return -1;
+ if (PyModule_AddIntMacro(m, O_BINARY)) return -1;
#endif
#ifdef O_TEXT
- if (ins(d, "O_TEXT", (long)O_TEXT)) return -1;
+ if (PyModule_AddIntMacro(m, O_TEXT)) return -1;
#endif
#ifdef O_XATTR
- if (ins(d, "O_XATTR", (long)O_XATTR)) return -1;
+ if (PyModule_AddIntMacro(m, O_XATTR)) return -1;
#endif
#ifdef O_LARGEFILE
- if (ins(d, "O_LARGEFILE", (long)O_LARGEFILE)) return -1;
+ if (PyModule_AddIntMacro(m, O_LARGEFILE)) return -1;
#endif
#ifdef O_SHLOCK
- if (ins(d, "O_SHLOCK", (long)O_SHLOCK)) return -1;
+ if (PyModule_AddIntMacro(m, O_SHLOCK)) return -1;
#endif
#ifdef O_EXLOCK
- if (ins(d, "O_EXLOCK", (long)O_EXLOCK)) return -1;
+ if (PyModule_AddIntMacro(m, O_EXLOCK)) return -1;
#endif
#ifdef O_EXEC
- if (ins(d, "O_EXEC", (long)O_EXEC)) return -1;
+ if (PyModule_AddIntMacro(m, O_EXEC)) return -1;
#endif
#ifdef O_SEARCH
- if (ins(d, "O_SEARCH", (long)O_SEARCH)) return -1;
+ if (PyModule_AddIntMacro(m, O_SEARCH)) return -1;
+#endif
+#ifdef O_PATH
+ if (PyModule_AddIntMacro(m, O_PATH)) return -1;
#endif
#ifdef O_TTY_INIT
- if (ins(d, "O_TTY_INIT", (long)O_TTY_INIT)) return -1;
+ if (PyModule_AddIntMacro(m, O_TTY_INIT)) return -1;
+#endif
+#ifdef O_TMPFILE
+ if (PyModule_AddIntMacro(m, O_TMPFILE)) return -1;
#endif
#ifdef PRIO_PROCESS
- if (ins(d, "PRIO_PROCESS", (long)PRIO_PROCESS)) return -1;
+ if (PyModule_AddIntMacro(m, PRIO_PROCESS)) return -1;
#endif
#ifdef PRIO_PGRP
- if (ins(d, "PRIO_PGRP", (long)PRIO_PGRP)) return -1;
+ if (PyModule_AddIntMacro(m, PRIO_PGRP)) return -1;
#endif
#ifdef PRIO_USER
- if (ins(d, "PRIO_USER", (long)PRIO_USER)) return -1;
+ if (PyModule_AddIntMacro(m, PRIO_USER)) return -1;
#endif
#ifdef O_CLOEXEC
- if (ins(d, "O_CLOEXEC", (long)O_CLOEXEC)) return -1;
+ if (PyModule_AddIntMacro(m, O_CLOEXEC)) return -1;
#endif
#ifdef O_ACCMODE
- if (ins(d, "O_ACCMODE", (long)O_ACCMODE)) return -1;
+ if (PyModule_AddIntMacro(m, O_ACCMODE)) return -1;
#endif
#ifdef SEEK_HOLE
- if (ins(d, "SEEK_HOLE", (long)SEEK_HOLE)) return -1;
+ if (PyModule_AddIntMacro(m, SEEK_HOLE)) return -1;
#endif
#ifdef SEEK_DATA
- if (ins(d, "SEEK_DATA", (long)SEEK_DATA)) return -1;
+ if (PyModule_AddIntMacro(m, SEEK_DATA)) return -1;
#endif
/* MS Windows */
#ifdef O_NOINHERIT
/* Don't inherit in child processes. */
- if (ins(d, "O_NOINHERIT", (long)O_NOINHERIT)) return -1;
+ if (PyModule_AddIntMacro(m, O_NOINHERIT)) return -1;
#endif
#ifdef _O_SHORT_LIVED
/* Optimize for short life (keep in memory). */
/* MS forgot to define this one with a non-underscore form too. */
- if (ins(d, "O_SHORT_LIVED", (long)_O_SHORT_LIVED)) return -1;
+ if (PyModule_AddIntConstant(m, "O_SHORT_LIVED", _O_SHORT_LIVED)) return -1;
#endif
#ifdef O_TEMPORARY
/* Automatically delete when last handle is closed. */
- if (ins(d, "O_TEMPORARY", (long)O_TEMPORARY)) return -1;
+ if (PyModule_AddIntMacro(m, O_TEMPORARY)) return -1;
#endif
#ifdef O_RANDOM
/* Optimize for random access. */
- if (ins(d, "O_RANDOM", (long)O_RANDOM)) return -1;
+ if (PyModule_AddIntMacro(m, O_RANDOM)) return -1;
#endif
#ifdef O_SEQUENTIAL
/* Optimize for sequential access. */
- if (ins(d, "O_SEQUENTIAL", (long)O_SEQUENTIAL)) return -1;
+ if (PyModule_AddIntMacro(m, O_SEQUENTIAL)) return -1;
#endif
/* GNU extensions. */
#ifdef O_ASYNC
/* Send a SIGIO signal whenever input or output
becomes available on file descriptor */
- if (ins(d, "O_ASYNC", (long)O_ASYNC)) return -1;
+ if (PyModule_AddIntMacro(m, O_ASYNC)) return -1;
#endif
#ifdef O_DIRECT
/* Direct disk access. */
- if (ins(d, "O_DIRECT", (long)O_DIRECT)) return -1;
+ if (PyModule_AddIntMacro(m, O_DIRECT)) return -1;
#endif
#ifdef O_DIRECTORY
/* Must be a directory. */
- if (ins(d, "O_DIRECTORY", (long)O_DIRECTORY)) return -1;
+ if (PyModule_AddIntMacro(m, O_DIRECTORY)) return -1;
#endif
#ifdef O_NOFOLLOW
/* Do not follow links. */
- if (ins(d, "O_NOFOLLOW", (long)O_NOFOLLOW)) return -1;
+ if (PyModule_AddIntMacro(m, O_NOFOLLOW)) return -1;
#endif
#ifdef O_NOLINKS
/* Fails if link count of the named file is greater than 1 */
- if (ins(d, "O_NOLINKS", (long)O_NOLINKS)) return -1;
+ if (PyModule_AddIntMacro(m, O_NOLINKS)) return -1;
#endif
#ifdef O_NOATIME
/* Do not update the access time. */
- if (ins(d, "O_NOATIME", (long)O_NOATIME)) return -1;
+ if (PyModule_AddIntMacro(m, O_NOATIME)) return -1;
#endif
/* These come from sysexits.h */
#ifdef EX_OK
- if (ins(d, "EX_OK", (long)EX_OK)) return -1;
+ if (PyModule_AddIntMacro(m, EX_OK)) return -1;
#endif /* EX_OK */
#ifdef EX_USAGE
- if (ins(d, "EX_USAGE", (long)EX_USAGE)) return -1;
+ if (PyModule_AddIntMacro(m, EX_USAGE)) return -1;
#endif /* EX_USAGE */
#ifdef EX_DATAERR
- if (ins(d, "EX_DATAERR", (long)EX_DATAERR)) return -1;
+ if (PyModule_AddIntMacro(m, EX_DATAERR)) return -1;
#endif /* EX_DATAERR */
#ifdef EX_NOINPUT
- if (ins(d, "EX_NOINPUT", (long)EX_NOINPUT)) return -1;
+ if (PyModule_AddIntMacro(m, EX_NOINPUT)) return -1;
#endif /* EX_NOINPUT */
#ifdef EX_NOUSER
- if (ins(d, "EX_NOUSER", (long)EX_NOUSER)) return -1;
+ if (PyModule_AddIntMacro(m, EX_NOUSER)) return -1;
#endif /* EX_NOUSER */
#ifdef EX_NOHOST
- if (ins(d, "EX_NOHOST", (long)EX_NOHOST)) return -1;
+ if (PyModule_AddIntMacro(m, EX_NOHOST)) return -1;
#endif /* EX_NOHOST */
#ifdef EX_UNAVAILABLE
- if (ins(d, "EX_UNAVAILABLE", (long)EX_UNAVAILABLE)) return -1;
+ if (PyModule_AddIntMacro(m, EX_UNAVAILABLE)) return -1;
#endif /* EX_UNAVAILABLE */
#ifdef EX_SOFTWARE
- if (ins(d, "EX_SOFTWARE", (long)EX_SOFTWARE)) return -1;
+ if (PyModule_AddIntMacro(m, EX_SOFTWARE)) return -1;
#endif /* EX_SOFTWARE */
#ifdef EX_OSERR
- if (ins(d, "EX_OSERR", (long)EX_OSERR)) return -1;
+ if (PyModule_AddIntMacro(m, EX_OSERR)) return -1;
#endif /* EX_OSERR */
#ifdef EX_OSFILE
- if (ins(d, "EX_OSFILE", (long)EX_OSFILE)) return -1;
+ if (PyModule_AddIntMacro(m, EX_OSFILE)) return -1;
#endif /* EX_OSFILE */
#ifdef EX_CANTCREAT
- if (ins(d, "EX_CANTCREAT", (long)EX_CANTCREAT)) return -1;
+ if (PyModule_AddIntMacro(m, EX_CANTCREAT)) return -1;
#endif /* EX_CANTCREAT */
#ifdef EX_IOERR
- if (ins(d, "EX_IOERR", (long)EX_IOERR)) return -1;
+ if (PyModule_AddIntMacro(m, EX_IOERR)) return -1;
#endif /* EX_IOERR */
#ifdef EX_TEMPFAIL
- if (ins(d, "EX_TEMPFAIL", (long)EX_TEMPFAIL)) return -1;
+ if (PyModule_AddIntMacro(m, EX_TEMPFAIL)) return -1;
#endif /* EX_TEMPFAIL */
#ifdef EX_PROTOCOL
- if (ins(d, "EX_PROTOCOL", (long)EX_PROTOCOL)) return -1;
+ if (PyModule_AddIntMacro(m, EX_PROTOCOL)) return -1;
#endif /* EX_PROTOCOL */
#ifdef EX_NOPERM
- if (ins(d, "EX_NOPERM", (long)EX_NOPERM)) return -1;
+ if (PyModule_AddIntMacro(m, EX_NOPERM)) return -1;
#endif /* EX_NOPERM */
#ifdef EX_CONFIG
- if (ins(d, "EX_CONFIG", (long)EX_CONFIG)) return -1;
+ if (PyModule_AddIntMacro(m, EX_CONFIG)) return -1;
#endif /* EX_CONFIG */
#ifdef EX_NOTFOUND
- if (ins(d, "EX_NOTFOUND", (long)EX_NOTFOUND)) return -1;
+ if (PyModule_AddIntMacro(m, EX_NOTFOUND)) return -1;
#endif /* EX_NOTFOUND */
/* statvfs */
#ifdef ST_RDONLY
- if (ins(d, "ST_RDONLY", (long)ST_RDONLY)) return -1;
+ if (PyModule_AddIntMacro(m, ST_RDONLY)) return -1;
#endif /* ST_RDONLY */
#ifdef ST_NOSUID
- if (ins(d, "ST_NOSUID", (long)ST_NOSUID)) return -1;
+ if (PyModule_AddIntMacro(m, ST_NOSUID)) return -1;
#endif /* ST_NOSUID */
/* FreeBSD sendfile() constants */
#ifdef SF_NODISKIO
- if (ins(d, "SF_NODISKIO", (long)SF_NODISKIO)) return -1;
+ if (PyModule_AddIntMacro(m, SF_NODISKIO)) return -1;
#endif
#ifdef SF_MNOWAIT
- if (ins(d, "SF_MNOWAIT", (long)SF_MNOWAIT)) return -1;
+ if (PyModule_AddIntMacro(m, SF_MNOWAIT)) return -1;
#endif
#ifdef SF_SYNC
- if (ins(d, "SF_SYNC", (long)SF_SYNC)) return -1;
+ if (PyModule_AddIntMacro(m, SF_SYNC)) return -1;
#endif
/* constants for posix_fadvise */
#ifdef POSIX_FADV_NORMAL
- if (ins(d, "POSIX_FADV_NORMAL", (long)POSIX_FADV_NORMAL)) return -1;
+ if (PyModule_AddIntMacro(m, POSIX_FADV_NORMAL)) return -1;
#endif
#ifdef POSIX_FADV_SEQUENTIAL
- if (ins(d, "POSIX_FADV_SEQUENTIAL", (long)POSIX_FADV_SEQUENTIAL)) return -1;
+ if (PyModule_AddIntMacro(m, POSIX_FADV_SEQUENTIAL)) return -1;
#endif
#ifdef POSIX_FADV_RANDOM
- if (ins(d, "POSIX_FADV_RANDOM", (long)POSIX_FADV_RANDOM)) return -1;
+ if (PyModule_AddIntMacro(m, POSIX_FADV_RANDOM)) return -1;
#endif
#ifdef POSIX_FADV_NOREUSE
- if (ins(d, "POSIX_FADV_NOREUSE", (long)POSIX_FADV_NOREUSE)) return -1;
+ if (PyModule_AddIntMacro(m, POSIX_FADV_NOREUSE)) return -1;
#endif
#ifdef POSIX_FADV_WILLNEED
- if (ins(d, "POSIX_FADV_WILLNEED", (long)POSIX_FADV_WILLNEED)) return -1;
+ if (PyModule_AddIntMacro(m, POSIX_FADV_WILLNEED)) return -1;
#endif
#ifdef POSIX_FADV_DONTNEED
- if (ins(d, "POSIX_FADV_DONTNEED", (long)POSIX_FADV_DONTNEED)) return -1;
+ if (PyModule_AddIntMacro(m, POSIX_FADV_DONTNEED)) return -1;
#endif
/* constants for waitid */
#if defined(HAVE_SYS_WAIT_H) && defined(HAVE_WAITID)
- if (ins(d, "P_PID", (long)P_PID)) return -1;
- if (ins(d, "P_PGID", (long)P_PGID)) return -1;
- if (ins(d, "P_ALL", (long)P_ALL)) return -1;
+ if (PyModule_AddIntMacro(m, P_PID)) return -1;
+ if (PyModule_AddIntMacro(m, P_PGID)) return -1;
+ if (PyModule_AddIntMacro(m, P_ALL)) return -1;
#endif
#ifdef WEXITED
- if (ins(d, "WEXITED", (long)WEXITED)) return -1;
+ if (PyModule_AddIntMacro(m, WEXITED)) return -1;
#endif
#ifdef WNOWAIT
- if (ins(d, "WNOWAIT", (long)WNOWAIT)) return -1;
+ if (PyModule_AddIntMacro(m, WNOWAIT)) return -1;
#endif
#ifdef WSTOPPED
- if (ins(d, "WSTOPPED", (long)WSTOPPED)) return -1;
+ if (PyModule_AddIntMacro(m, WSTOPPED)) return -1;
#endif
#ifdef CLD_EXITED
- if (ins(d, "CLD_EXITED", (long)CLD_EXITED)) return -1;
+ if (PyModule_AddIntMacro(m, CLD_EXITED)) return -1;
#endif
#ifdef CLD_DUMPED
- if (ins(d, "CLD_DUMPED", (long)CLD_DUMPED)) return -1;
+ if (PyModule_AddIntMacro(m, CLD_DUMPED)) return -1;
#endif
#ifdef CLD_TRAPPED
- if (ins(d, "CLD_TRAPPED", (long)CLD_TRAPPED)) return -1;
+ if (PyModule_AddIntMacro(m, CLD_TRAPPED)) return -1;
#endif
#ifdef CLD_CONTINUED
- if (ins(d, "CLD_CONTINUED", (long)CLD_CONTINUED)) return -1;
+ if (PyModule_AddIntMacro(m, CLD_CONTINUED)) return -1;
#endif
/* constants for lockf */
#ifdef F_LOCK
- if (ins(d, "F_LOCK", (long)F_LOCK)) return -1;
+ if (PyModule_AddIntMacro(m, F_LOCK)) return -1;
#endif
#ifdef F_TLOCK
- if (ins(d, "F_TLOCK", (long)F_TLOCK)) return -1;
+ if (PyModule_AddIntMacro(m, F_TLOCK)) return -1;
#endif
#ifdef F_ULOCK
- if (ins(d, "F_ULOCK", (long)F_ULOCK)) return -1;
+ if (PyModule_AddIntMacro(m, F_ULOCK)) return -1;
#endif
#ifdef F_TEST
- if (ins(d, "F_TEST", (long)F_TEST)) return -1;
+ if (PyModule_AddIntMacro(m, F_TEST)) return -1;
#endif
#ifdef HAVE_SPAWNV
-#if defined(PYOS_OS2) && defined(PYCC_GCC)
- if (ins(d, "P_WAIT", (long)P_WAIT)) return -1;
- if (ins(d, "P_NOWAIT", (long)P_NOWAIT)) return -1;
- if (ins(d, "P_OVERLAY", (long)P_OVERLAY)) return -1;
- if (ins(d, "P_DEBUG", (long)P_DEBUG)) return -1;
- if (ins(d, "P_SESSION", (long)P_SESSION)) return -1;
- if (ins(d, "P_DETACH", (long)P_DETACH)) return -1;
- if (ins(d, "P_PM", (long)P_PM)) return -1;
- if (ins(d, "P_DEFAULT", (long)P_DEFAULT)) return -1;
- if (ins(d, "P_MINIMIZE", (long)P_MINIMIZE)) return -1;
- if (ins(d, "P_MAXIMIZE", (long)P_MAXIMIZE)) return -1;
- if (ins(d, "P_FULLSCREEN", (long)P_FULLSCREEN)) return -1;
- if (ins(d, "P_WINDOWED", (long)P_WINDOWED)) return -1;
- if (ins(d, "P_FOREGROUND", (long)P_FOREGROUND)) return -1;
- if (ins(d, "P_BACKGROUND", (long)P_BACKGROUND)) return -1;
- if (ins(d, "P_NOCLOSE", (long)P_NOCLOSE)) return -1;
- if (ins(d, "P_NOSESSION", (long)P_NOSESSION)) return -1;
- if (ins(d, "P_QUOTE", (long)P_QUOTE)) return -1;
- if (ins(d, "P_TILDE", (long)P_TILDE)) return -1;
- if (ins(d, "P_UNRELATED", (long)P_UNRELATED)) return -1;
- if (ins(d, "P_DEBUGDESC", (long)P_DEBUGDESC)) return -1;
-#else
- if (ins(d, "P_WAIT", (long)_P_WAIT)) return -1;
- if (ins(d, "P_NOWAIT", (long)_P_NOWAIT)) return -1;
- if (ins(d, "P_OVERLAY", (long)_OLD_P_OVERLAY)) return -1;
- if (ins(d, "P_NOWAITO", (long)_P_NOWAITO)) return -1;
- if (ins(d, "P_DETACH", (long)_P_DETACH)) return -1;
-#endif
+ if (PyModule_AddIntConstant(m, "P_WAIT", _P_WAIT)) return -1;
+ if (PyModule_AddIntConstant(m, "P_NOWAIT", _P_NOWAIT)) return -1;
+ if (PyModule_AddIntConstant(m, "P_OVERLAY", _OLD_P_OVERLAY)) return -1;
+ if (PyModule_AddIntConstant(m, "P_NOWAITO", _P_NOWAITO)) return -1;
+ if (PyModule_AddIntConstant(m, "P_DETACH", _P_DETACH)) return -1;
#endif
#ifdef HAVE_SCHED_H
- if (ins(d, "SCHED_OTHER", (long)SCHED_OTHER)) return -1;
- if (ins(d, "SCHED_FIFO", (long)SCHED_FIFO)) return -1;
- if (ins(d, "SCHED_RR", (long)SCHED_RR)) return -1;
+ if (PyModule_AddIntMacro(m, SCHED_OTHER)) return -1;
+ if (PyModule_AddIntMacro(m, SCHED_FIFO)) return -1;
+ if (PyModule_AddIntMacro(m, SCHED_RR)) return -1;
#ifdef SCHED_SPORADIC
- if (ins(d, "SCHED_SPORADIC", (long)SCHED_SPORADIC) return -1;
+ if (PyModule_AddIntMacro(m, SCHED_SPORADIC) return -1;
#endif
#ifdef SCHED_BATCH
- if (ins(d, "SCHED_BATCH", (long)SCHED_BATCH)) return -1;
+ if (PyModule_AddIntMacro(m, SCHED_BATCH)) return -1;
#endif
#ifdef SCHED_IDLE
- if (ins(d, "SCHED_IDLE", (long)SCHED_IDLE)) return -1;
+ if (PyModule_AddIntMacro(m, SCHED_IDLE)) return -1;
#endif
#ifdef SCHED_RESET_ON_FORK
- if (ins(d, "SCHED_RESET_ON_FORK", (long)SCHED_RESET_ON_FORK)) return -1;
+ if (PyModule_AddIntMacro(m, SCHED_RESET_ON_FORK)) return -1;
#endif
#ifdef SCHED_SYS
- if (ins(d, "SCHED_SYS", (long)SCHED_SYS)) return -1;
+ if (PyModule_AddIntMacro(m, SCHED_SYS)) return -1;
#endif
#ifdef SCHED_IA
- if (ins(d, "SCHED_IA", (long)SCHED_IA)) return -1;
+ if (PyModule_AddIntMacro(m, SCHED_IA)) return -1;
#endif
#ifdef SCHED_FSS
- if (ins(d, "SCHED_FSS", (long)SCHED_FSS)) return -1;
+ if (PyModule_AddIntMacro(m, SCHED_FSS)) return -1;
#endif
#ifdef SCHED_FX
- if (ins(d, "SCHED_FX", (long)SCHED_FSS)) return -1;
+ if (PyModule_AddIntConstant(m, "SCHED_FX", SCHED_FSS)) return -1;
#endif
#endif
#ifdef USE_XATTRS
- if (ins(d, "XATTR_CREATE", (long)XATTR_CREATE)) return -1;
- if (ins(d, "XATTR_REPLACE", (long)XATTR_REPLACE)) return -1;
- if (ins(d, "XATTR_SIZE_MAX", (long)XATTR_SIZE_MAX)) return -1;
+ if (PyModule_AddIntMacro(m, XATTR_CREATE)) return -1;
+ if (PyModule_AddIntMacro(m, XATTR_REPLACE)) return -1;
+ if (PyModule_AddIntMacro(m, XATTR_SIZE_MAX)) return -1;
#endif
#ifdef RTLD_LAZY
- if (PyModule_AddIntMacro(d, RTLD_LAZY)) return -1;
+ if (PyModule_AddIntMacro(m, RTLD_LAZY)) return -1;
#endif
#ifdef RTLD_NOW
- if (PyModule_AddIntMacro(d, RTLD_NOW)) return -1;
+ if (PyModule_AddIntMacro(m, RTLD_NOW)) return -1;
#endif
#ifdef RTLD_GLOBAL
- if (PyModule_AddIntMacro(d, RTLD_GLOBAL)) return -1;
+ if (PyModule_AddIntMacro(m, RTLD_GLOBAL)) return -1;
#endif
#ifdef RTLD_LOCAL
- if (PyModule_AddIntMacro(d, RTLD_LOCAL)) return -1;
+ if (PyModule_AddIntMacro(m, RTLD_LOCAL)) return -1;
#endif
#ifdef RTLD_NODELETE
- if (PyModule_AddIntMacro(d, RTLD_NODELETE)) return -1;
+ if (PyModule_AddIntMacro(m, RTLD_NODELETE)) return -1;
#endif
#ifdef RTLD_NOLOAD
- if (PyModule_AddIntMacro(d, RTLD_NOLOAD)) return -1;
+ if (PyModule_AddIntMacro(m, RTLD_NOLOAD)) return -1;
#endif
#ifdef RTLD_DEEPBIND
- if (PyModule_AddIntMacro(d, RTLD_DEEPBIND)) return -1;
+ if (PyModule_AddIntMacro(m, RTLD_DEEPBIND)) return -1;
#endif
-#if defined(PYOS_OS2)
- if (insertvalues(d)) return -1;
-#endif
return 0;
}
@@ -11921,10 +11522,6 @@ all_ins(PyObject *d)
#define INITFUNC PyInit_nt
#define MODNAME "nt"
-#elif defined(PYOS_OS2)
-#define INITFUNC PyInit_os2
-#define MODNAME "os2"
-
#else
#define INITFUNC PyInit_posix
#define MODNAME "posix"
@@ -12112,19 +11709,23 @@ INITFUNC(void)
if (!initialized) {
#if defined(HAVE_WAITID) && !defined(__APPLE__)
waitid_result_desc.name = MODNAME ".waitid_result";
- PyStructSequence_InitType(&WaitidResultType, &waitid_result_desc);
+ if (PyStructSequence_InitType2(&WaitidResultType, &waitid_result_desc) < 0)
+ return NULL;
#endif
stat_result_desc.name = MODNAME ".stat_result";
stat_result_desc.fields[7].name = PyStructSequence_UnnamedField;
stat_result_desc.fields[8].name = PyStructSequence_UnnamedField;
stat_result_desc.fields[9].name = PyStructSequence_UnnamedField;
- PyStructSequence_InitType(&StatResultType, &stat_result_desc);
+ if (PyStructSequence_InitType2(&StatResultType, &stat_result_desc) < 0)
+ return NULL;
structseq_new = StatResultType.tp_new;
StatResultType.tp_new = statresult_new;
statvfs_result_desc.name = MODNAME ".statvfs_result";
- PyStructSequence_InitType(&StatVFSResultType, &statvfs_result_desc);
+ if (PyStructSequence_InitType2(&StatVFSResultType,
+ &statvfs_result_desc) < 0)
+ return NULL;
#ifdef NEED_TICKS_PER_SECOND
# if defined(HAVE_SYSCONF) && defined(_SC_CLK_TCK)
ticks_per_second = sysconf(_SC_CLK_TCK);
@@ -12137,12 +11738,15 @@ INITFUNC(void)
#if defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER)
sched_param_desc.name = MODNAME ".sched_param";
- PyStructSequence_InitType(&SchedParamType, &sched_param_desc);
+ if (PyStructSequence_InitType2(&SchedParamType, &sched_param_desc) < 0)
+ return NULL;
SchedParamType.tp_new = sched_param_new;
#endif
/* initialize TerminalSize_info */
- PyStructSequence_InitType(&TerminalSizeType, &TerminalSize_desc);
+ if (PyStructSequence_InitType2(&TerminalSizeType,
+ &TerminalSize_desc) < 0)
+ return NULL;
}
#if defined(HAVE_WAITID) && !defined(__APPLE__)
Py_INCREF((PyObject*) &WaitidResultType);
@@ -12160,11 +11764,13 @@ INITFUNC(void)
#endif
times_result_desc.name = MODNAME ".times_result";
- PyStructSequence_InitType(&TimesResultType, &times_result_desc);
+ if (PyStructSequence_InitType2(&TimesResultType, &times_result_desc) < 0)
+ return NULL;
PyModule_AddObject(m, "times_result", (PyObject *)&TimesResultType);
uname_result_desc.name = MODNAME ".uname_result";
- PyStructSequence_InitType(&UnameResultType, &uname_result_desc);
+ if (PyStructSequence_InitType2(&UnameResultType, &uname_result_desc) < 0)
+ return NULL;
PyModule_AddObject(m, "uname_result", (PyObject *)&UnameResultType);
#ifdef __APPLE__
@@ -12242,7 +11848,6 @@ INITFUNC(void)
initialized = 1;
return m;
-
}
#ifdef __cplusplus
diff --git a/Modules/pwdmodule.c b/Modules/pwdmodule.c
index 285fd9c984..9909400441 100644
--- a/Modules/pwdmodule.c
+++ b/Modules/pwdmodule.c
@@ -168,12 +168,8 @@ pwd_getpwall(PyObject *self)
struct passwd *p;
if ((d = PyList_New(0)) == NULL)
return NULL;
-#if defined(PYOS_OS2) && defined(PYCC_GCC)
- if ((p = getpwuid(0)) != NULL) {
-#else
setpwent();
while ((p = getpwent()) != NULL) {
-#endif
PyObject *v = mkpwent(p);
if (v == NULL || PyList_Append(d, v) != 0) {
Py_XDECREF(v);
@@ -220,8 +216,9 @@ PyInit_pwd(void)
return NULL;
if (!initialized) {
- PyStructSequence_InitType(&StructPwdType,
- &struct_pwd_type_desc);
+ if (PyStructSequence_InitType2(&StructPwdType,
+ &struct_pwd_type_desc) < 0)
+ return NULL;
initialized = 1;
}
Py_INCREF((PyObject *) &StructPwdType);
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index 7e51d35e62..156dbf13ba 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -10,6 +10,9 @@
#define FIX_TRACE
+static XML_Memory_Handling_Suite ExpatMemoryHandler = {
+ PyObject_Malloc, PyObject_Realloc, PyObject_Free};
+
enum HandlerTypes {
StartElement,
EndElement,
@@ -404,6 +407,10 @@ static void
my_CharacterDataHandler(void *userData, const XML_Char *data, int len)
{
xmlparseobject *self = (xmlparseobject *) userData;
+
+ if (PyErr_Occurred())
+ return;
+
if (self->buffer == NULL)
call_character_handler(self, data, len);
else {
@@ -438,6 +445,9 @@ my_StartElementHandler(void *userData,
PyObject *container, *rv, *args;
int i, max;
+ if (PyErr_Occurred())
+ return;
+
if (flush_character_buffer(self) < 0)
return;
/* Set max to the number of slots filled in atts[]; max/2 is
@@ -521,6 +531,8 @@ my_##NAME##Handler PARAMS {\
INIT \
\
if (have_handler(self, NAME)) { \
+ if (PyErr_Occurred()) \
+ return RETURN; \
if (flush_character_buffer(self) < 0) \
return RETURN; \
args = Py_BuildValue PARAM_FORMAT ;\
@@ -635,6 +647,9 @@ my_ElementDeclHandler(void *userData,
PyObject *rv = NULL;
PyObject *modelobj, *nameobj;
+ if (PyErr_Occurred())
+ return;
+
if (flush_character_buffer(self) < 0)
goto finally;
modelobj = conv_content_model(model, (conv_string_to_unicode));
@@ -1002,7 +1017,7 @@ xmlparse_ExternalEntityParserCreate(xmlparseobject *self, PyObject *args)
PyObject_GC_Track(new_parser);
if (self->buffer != NULL) {
- new_parser->buffer = malloc(new_parser->buffer_size);
+ new_parser->buffer = PyMem_Malloc(new_parser->buffer_size);
if (new_parser->buffer == NULL) {
Py_DECREF(new_parser);
return PyErr_NoMemory();
@@ -1019,7 +1034,7 @@ xmlparse_ExternalEntityParserCreate(xmlparseobject *self, PyObject *args)
for (i = 0; handler_info[i].name != NULL; i++)
/* do nothing */;
- new_parser->handlers = malloc(sizeof(PyObject *) * i);
+ new_parser->handlers = PyMem_Malloc(sizeof(PyObject *) * i);
if (!new_parser->handlers) {
Py_DECREF(new_parser);
return PyErr_NoMemory();
@@ -1127,14 +1142,19 @@ PyUnknownEncodingHandler(void *encodingHandlerData,
void *data;
unsigned int kind;
+ if (PyErr_Occurred())
+ return XML_STATUS_ERROR;
+
if (template_buffer[1] == 0) {
for (i = 0; i < 256; i++)
template_buffer[i] = i;
}
u = PyUnicode_Decode((char*) template_buffer, 256, name, "replace");
- if (u == NULL || PyUnicode_READY(u))
+ if (u == NULL || PyUnicode_READY(u)) {
+ Py_XDECREF(u);
return XML_STATUS_ERROR;
+ }
if (PyUnicode_GET_LENGTH(u) != 256) {
Py_DECREF(u);
@@ -1180,28 +1200,26 @@ newxmlparseobject(char *encoding, char *namespace_separator, PyObject *intern)
self->in_callback = 0;
self->ns_prefixes = 0;
self->handlers = NULL;
- if (namespace_separator != NULL) {
- self->itself = XML_ParserCreateNS(encoding, *namespace_separator);
- }
- else {
- self->itself = XML_ParserCreate(encoding);
- }
-#if ((XML_MAJOR_VERSION >= 2) && (XML_MINOR_VERSION >= 1)) || defined(XML_HAS_SET_HASH_SALT)
- /* This feature was added upstream in libexpat 2.1.0. Our expat copy
- * has a backport of this feature where we also define XML_HAS_SET_HASH_SALT
- * to indicate that we can still use it. */
- XML_SetHashSalt(self->itself,
- (unsigned long)_Py_HashSecret.prefix);
-#endif
self->intern = intern;
Py_XINCREF(self->intern);
PyObject_GC_Track(self);
+
+ /* namespace_separator is either NULL or contains one char + \0 */
+ self->itself = XML_ParserCreate_MM(encoding, &ExpatMemoryHandler,
+ namespace_separator);
if (self->itself == NULL) {
PyErr_SetString(PyExc_RuntimeError,
"XML_ParserCreate failed");
Py_DECREF(self);
return NULL;
}
+#if ((XML_MAJOR_VERSION >= 2) && (XML_MINOR_VERSION >= 1)) || defined(XML_HAS_SET_HASH_SALT)
+ /* This feature was added upstream in libexpat 2.1.0. Our expat copy
+ * has a backport of this feature where we also define XML_HAS_SET_HASH_SALT
+ * to indicate that we can still use it. */
+ XML_SetHashSalt(self->itself,
+ (unsigned long)_Py_HashSecret.prefix);
+#endif
XML_SetUserData(self->itself, (void *)self);
XML_SetUnknownEncodingHandler(self->itself,
(XML_UnknownEncodingHandler) PyUnknownEncodingHandler, NULL);
@@ -1209,7 +1227,7 @@ newxmlparseobject(char *encoding, char *namespace_separator, PyObject *intern)
for (i = 0; handler_info[i].name != NULL; i++)
/* do nothing */;
- self->handlers = malloc(sizeof(PyObject *) * i);
+ self->handlers = PyMem_Malloc(sizeof(PyObject *) * i);
if (!self->handlers) {
Py_DECREF(self);
return PyErr_NoMemory();
@@ -1236,11 +1254,11 @@ xmlparse_dealloc(xmlparseobject *self)
self->handlers[i] = NULL;
Py_XDECREF(temp);
}
- free(self->handlers);
+ PyMem_Free(self->handlers);
self->handlers = NULL;
}
if (self->buffer != NULL) {
- free(self->buffer);
+ PyMem_Free(self->buffer);
self->buffer = NULL;
}
Py_XDECREF(self->intern);
@@ -1440,7 +1458,7 @@ xmlparse_setattro(xmlparseobject *self, PyObject *name, PyObject *v)
return -1;
if (b) {
if (self->buffer == NULL) {
- self->buffer = malloc(self->buffer_size);
+ self->buffer = PyMem_Malloc(self->buffer_size);
if (self->buffer == NULL) {
PyErr_NoMemory();
return -1;
@@ -1451,7 +1469,7 @@ xmlparse_setattro(xmlparseobject *self, PyObject *name, PyObject *v)
else if (self->buffer != NULL) {
if (flush_character_buffer(self) < 0)
return -1;
- free(self->buffer);
+ PyMem_Free(self->buffer);
self->buffer = NULL;
}
return 0;
@@ -1513,9 +1531,9 @@ xmlparse_setattro(xmlparseobject *self, PyObject *name, PyObject *v)
}
}
/* free existing buffer */
- free(self->buffer);
+ PyMem_Free(self->buffer);
}
- self->buffer = malloc(new_buffer_size);
+ self->buffer = PyMem_Malloc(new_buffer_size);
if (self->buffer == NULL) {
PyErr_NoMemory();
return -1;
diff --git a/Modules/python.c b/Modules/python.c
index f781d9a525..9811c01d49 100644
--- a/Modules/python.c
+++ b/Modules/python.c
@@ -23,9 +23,12 @@ main(int argc, char **argv)
wchar_t **argv_copy2;
int i, res;
char *oldloc;
+#ifdef __FreeBSD__
+ fp_except_t m;
+#endif
- argv_copy = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*(argc+1));
- argv_copy2 = (wchar_t **)PyMem_Malloc(sizeof(wchar_t*)*(argc+1));
+ argv_copy = (wchar_t **)PyMem_RawMalloc(sizeof(wchar_t*) * (argc+1));
+ argv_copy2 = (wchar_t **)PyMem_RawMalloc(sizeof(wchar_t*) * (argc+1));
if (!argv_copy || !argv_copy2) {
fprintf(stderr, "out of memory\n");
return 1;
@@ -37,17 +40,21 @@ main(int argc, char **argv)
* exceptions by default. Here we disable them.
*/
#ifdef __FreeBSD__
- fp_except_t m;
-
m = fpgetmask();
fpsetmask(m & ~FP_X_OFL);
#endif
- oldloc = strdup(setlocale(LC_ALL, NULL));
+
+ oldloc = _PyMem_RawStrdup(setlocale(LC_ALL, NULL));
+ if (!oldloc) {
+ fprintf(stderr, "out of memory\n");
+ return 1;
+ }
+
setlocale(LC_ALL, "");
for (i = 0; i < argc; i++) {
argv_copy[i] = _Py_char2wchar(argv[i], NULL);
if (!argv_copy[i]) {
- free(oldloc);
+ PyMem_RawFree(oldloc);
fprintf(stderr, "Fatal Python error: "
"unable to decode the command line argument #%i\n",
i + 1);
@@ -58,13 +65,13 @@ main(int argc, char **argv)
argv_copy2[argc] = argv_copy[argc] = NULL;
setlocale(LC_ALL, oldloc);
- free(oldloc);
+ PyMem_RawFree(oldloc);
res = Py_Main(argc, argv_copy);
for (i = 0; i < argc; i++) {
- PyMem_Free(argv_copy2[i]);
+ PyMem_RawFree(argv_copy2[i]);
}
- PyMem_Free(argv_copy);
- PyMem_Free(argv_copy2);
+ PyMem_RawFree(argv_copy);
+ PyMem_RawFree(argv_copy2);
return res;
}
#endif
diff --git a/Modules/readline.c b/Modules/readline.c
index 71c24231c8..ab24636e2f 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -6,6 +6,7 @@
/* Standard definitions */
#include "Python.h"
+#include <stddef.h>
#include <setjmp.h>
#include <signal.h>
#include <errno.h>
@@ -74,6 +75,55 @@ on_completion_display_matches_hook(char **matches,
(see issue #17289 for the motivation). */
static char *completer_word_break_characters;
+typedef struct {
+ PyObject *completion_display_matches_hook;
+ PyObject *startup_hook;
+ PyObject *pre_input_hook;
+ PyObject *completer;
+ PyObject *begidx;
+ PyObject *endidx;
+} readlinestate;
+
+
+#define readline_state(o) ((readlinestate *)PyModule_GetState(o))
+
+static int
+readline_clear(PyObject *m)
+{
+ readlinestate *state = readline_state(m);
+ Py_CLEAR(state->completion_display_matches_hook);
+ Py_CLEAR(state->startup_hook);
+ Py_CLEAR(state->pre_input_hook);
+ Py_CLEAR(state->completer);
+ Py_CLEAR(state->begidx);
+ Py_CLEAR(state->endidx);
+ return 0;
+}
+
+static int
+readline_traverse(PyObject *m, visitproc visit, void *arg)
+{
+ readlinestate *state = readline_state(m);
+ Py_VISIT(state->completion_display_matches_hook);
+ Py_VISIT(state->startup_hook);
+ Py_VISIT(state->pre_input_hook);
+ Py_VISIT(state->completer);
+ Py_VISIT(state->begidx);
+ Py_VISIT(state->endidx);
+ return 0;
+}
+
+static void
+readline_free(void *m)
+{
+ readline_clear((PyObject *)m);
+}
+
+static PyModuleDef readlinemodule;
+
+#define readlinestate_global ((readlinestate *)PyModule_GetState(PyState_FindModule(&readlinemodule)))
+
+
/* Exported function to send one line to readline's init file parser */
static PyObject *
@@ -84,12 +134,12 @@ parse_and_bind(PyObject *self, PyObject *args)
return NULL;
/* Make a copy -- rl_parse_and_bind() modifies its argument */
/* Bernard Herzog */
- copy = malloc(1 + strlen(s));
+ copy = PyMem_Malloc(1 + strlen(s));
if (copy == NULL)
return PyErr_NoMemory();
strcpy(copy, s);
rl_parse_and_bind(copy);
- free(copy); /* Free the copy */
+ PyMem_Free(copy); /* Free the copy */
Py_RETURN_NONE;
}
@@ -250,23 +300,21 @@ set_hook(const char *funcname, PyObject **hook_var, PyObject *args)
/* Exported functions to specify hook functions in Python */
-static PyObject *completion_display_matches_hook = NULL;
-static PyObject *startup_hook = NULL;
#ifdef HAVE_RL_PRE_INPUT_HOOK
-static PyObject *pre_input_hook = NULL;
+
#endif
static PyObject *
set_completion_display_matches_hook(PyObject *self, PyObject *args)
{
PyObject *result = set_hook("completion_display_matches_hook",
- &completion_display_matches_hook, args);
+ &readlinestate_global->completion_display_matches_hook, args);
#ifdef HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK
/* We cannot set this hook globally, since it replaces the
default completion display. */
rl_completion_display_matches_hook =
- completion_display_matches_hook ?
+ readlinestate_global->completion_display_matches_hook ?
#if defined(_RL_FUNCTION_TYPEDEF)
(rl_compdisp_func_t *)on_completion_display_matches_hook : 0;
#else
@@ -287,7 +335,7 @@ once each time matches need to be displayed.");
static PyObject *
set_startup_hook(PyObject *self, PyObject *args)
{
- return set_hook("startup_hook", &startup_hook, args);
+ return set_hook("startup_hook", &readlinestate_global->startup_hook, args);
}
PyDoc_STRVAR(doc_set_startup_hook,
@@ -304,7 +352,7 @@ before readline prints the first prompt.");
static PyObject *
set_pre_input_hook(PyObject *self, PyObject *args)
{
- return set_hook("pre_input_hook", &pre_input_hook, args);
+ return set_hook("pre_input_hook", &readlinestate_global->pre_input_hook, args);
}
PyDoc_STRVAR(doc_set_pre_input_hook,
@@ -319,10 +367,10 @@ characters.");
/* Exported function to specify a word completer in Python */
-static PyObject *completer = NULL;
-static PyObject *begidx = NULL;
-static PyObject *endidx = NULL;
+
+
+
/* Get the completion type for the scope of the tab-completion */
@@ -342,8 +390,8 @@ Get the type of completion being attempted.");
static PyObject *
get_begidx(PyObject *self, PyObject *noarg)
{
- Py_INCREF(begidx);
- return begidx;
+ Py_INCREF(readlinestate_global->begidx);
+ return readlinestate_global->begidx;
}
PyDoc_STRVAR(doc_get_begidx,
@@ -356,8 +404,8 @@ get the beginning index of the readline tab-completion scope");
static PyObject *
get_endidx(PyObject *self, PyObject *noarg)
{
- Py_INCREF(endidx);
- return endidx;
+ Py_INCREF(readlinestate_global->endidx);
+ return readlinestate_global->endidx;
}
PyDoc_STRVAR(doc_get_endidx,
@@ -522,7 +570,7 @@ get the readline word delimiters for tab-completion");
static PyObject *
set_completer(PyObject *self, PyObject *args)
{
- return set_hook("completer", &completer, args);
+ return set_hook("completer", &readlinestate_global->completer, args);
}
PyDoc_STRVAR(doc_set_completer,
@@ -536,11 +584,11 @@ It should return the next possible completion starting with 'text'.");
static PyObject *
get_completer(PyObject *self, PyObject *noargs)
{
- if (completer == NULL) {
+ if (readlinestate_global->completer == NULL) {
Py_RETURN_NONE;
}
- Py_INCREF(completer);
- return completer;
+ Py_INCREF(readlinestate_global->completer);
+ return readlinestate_global->completer;
}
PyDoc_STRVAR(doc_get_completer,
@@ -744,9 +792,6 @@ on_hook(PyObject *func)
int result = 0;
if (func != NULL) {
PyObject *r;
-#ifdef WITH_THREAD
- PyGILState_STATE gilstate = PyGILState_Ensure();
-#endif
r = PyObject_CallFunction(func, NULL);
if (r == NULL)
goto error;
@@ -763,9 +808,6 @@ on_hook(PyObject *func)
PyErr_Clear();
Py_XDECREF(r);
done:
-#ifdef WITH_THREAD
- PyGILState_Release(gilstate);
-#endif
return result;
}
return result;
@@ -774,14 +816,30 @@ on_hook(PyObject *func)
static int
on_startup_hook(void)
{
- return on_hook(startup_hook);
+ int r;
+#ifdef WITH_THREAD
+ PyGILState_STATE gilstate = PyGILState_Ensure();
+#endif
+ r = on_hook(readlinestate_global->startup_hook);
+#ifdef WITH_THREAD
+ PyGILState_Release(gilstate);
+#endif
+ return r;
}
#ifdef HAVE_RL_PRE_INPUT_HOOK
static int
on_pre_input_hook(void)
{
- return on_hook(pre_input_hook);
+ int r;
+#ifdef WITH_THREAD
+ PyGILState_STATE gilstate = PyGILState_Ensure();
+#endif
+ r = on_hook(readlinestate_global->pre_input_hook);
+#ifdef WITH_THREAD
+ PyGILState_Release(gilstate);
+#endif
+ return r;
}
#endif
@@ -808,7 +866,7 @@ on_completion_display_matches_hook(char **matches,
if (PyList_SetItem(m, i, s) == -1)
goto error;
}
- r = PyObject_CallFunction(completion_display_matches_hook,
+ r = PyObject_CallFunction(readlinestate_global->completion_display_matches_hook,
"sOi", matches[0], m, max_length);
Py_DECREF(m); m=NULL;
@@ -838,13 +896,13 @@ static char *
on_completion(const char *text, int state)
{
char *result = NULL;
- if (completer != NULL) {
+ if (readlinestate_global->completer != NULL) {
PyObject *r;
#ifdef WITH_THREAD
PyGILState_STATE gilstate = PyGILState_Ensure();
#endif
rl_attempted_completion_over = 1;
- r = PyObject_CallFunction(completer, "si", text, state);
+ r = PyObject_CallFunction(readlinestate_global->completer, "si", text, state);
if (r == NULL)
goto error;
if (r == Py_None) {
@@ -877,24 +935,32 @@ on_completion(const char *text, int state)
static char **
flex_complete(char *text, int start, int end)
{
+ char **result;
+#ifdef WITH_THREAD
+ PyGILState_STATE gilstate = PyGILState_Ensure();
+#endif
#ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER
rl_completion_append_character ='\0';
#endif
#ifdef HAVE_RL_COMPLETION_SUPPRESS_APPEND
rl_completion_suppress_append = 0;
#endif
- Py_XDECREF(begidx);
- Py_XDECREF(endidx);
- begidx = PyLong_FromLong((long) start);
- endidx = PyLong_FromLong((long) end);
- return completion_matches(text, *on_completion);
+ Py_XDECREF(readlinestate_global->begidx);
+ Py_XDECREF(readlinestate_global->endidx);
+ readlinestate_global->begidx = PyLong_FromLong((long) start);
+ readlinestate_global->endidx = PyLong_FromLong((long) end);
+ result = completion_matches(text, *on_completion);
+#ifdef WITH_THREAD
+ PyGILState_Release(gilstate);
+#endif
+ return result;
}
/* Helper to initialize GNU readline properly. */
static void
-setup_readline(void)
+setup_readline(readlinestate *mod_state)
{
#ifdef SAVE_LOCALE
char *saved_locale = strdup(setlocale(LC_CTYPE, NULL));
@@ -913,10 +979,6 @@ setup_readline(void)
using_history();
rl_readline_name = "python";
-#if defined(PYOS_OS2) && defined(PYCC_GCC)
- /* Allow $if term= in .inputrc to work */
- rl_terminal_name = getenv("TERM");
-#endif
/* Force rebind of TAB to insert-tab */
rl_bind_key('\t', rl_insert);
/* Bind both ESC-TAB and ESC-ESC to the completion function */
@@ -935,8 +997,8 @@ setup_readline(void)
strdup(" \t\n`~!@#$%^&*()-=+[{]}\\|;:'\",<>/?");
/* All nonalphanums except '.' */
- begidx = PyLong_FromLong(0L);
- endidx = PyLong_FromLong(0L);
+ mod_state->begidx = PyLong_FromLong(0L);
+ mod_state->endidx = PyLong_FromLong(0L);
/* Initialize (allows .inputrc to override)
*
* XXX: A bug in the readline-2.2 library causes a memory leak
@@ -1158,12 +1220,12 @@ static struct PyModuleDef readlinemodule = {
PyModuleDef_HEAD_INIT,
"readline",
doc_module,
- -1,
+ sizeof(readlinestate),
readline_methods,
NULL,
- NULL,
- NULL,
- NULL
+ readline_traverse,
+ readline_clear,
+ readline_free
};
@@ -1171,6 +1233,7 @@ PyMODINIT_FUNC
PyInit_readline(void)
{
PyObject *m;
+ readlinestate *mod_state;
#ifdef __APPLE__
if (strncmp(rl_library_version, libedit_version_tag, strlen(libedit_version_tag)) == 0) {
@@ -1187,7 +1250,8 @@ PyInit_readline(void)
if (m == NULL)
return NULL;
+ mod_state = (readlinestate *) PyModule_GetState(m);
PyOS_ReadlineFunctionPointer = call_readline;
- setup_readline();
+ setup_readline(mod_state);
return m;
}
diff --git a/Modules/resource.c b/Modules/resource.c
index b294a8cfe1..8768315372 100644
--- a/Modules/resource.c
+++ b/Modules/resource.c
@@ -263,80 +263,83 @@ PyInit_resource(void)
/* Add some symbolic constants to the module */
Py_INCREF(PyExc_OSError);
PyModule_AddObject(m, "error", PyExc_OSError);
- if (!initialized)
- PyStructSequence_InitType(&StructRUsageType,
- &struct_rusage_desc);
+ if (!initialized) {
+ if (PyStructSequence_InitType2(&StructRUsageType,
+ &struct_rusage_desc) < 0)
+ return NULL;
+ }
+
Py_INCREF(&StructRUsageType);
PyModule_AddObject(m, "struct_rusage",
(PyObject*) &StructRUsageType);
/* insert constants */
#ifdef RLIMIT_CPU
- PyModule_AddIntConstant(m, "RLIMIT_CPU", RLIMIT_CPU);
+ PyModule_AddIntMacro(m, RLIMIT_CPU);
#endif
#ifdef RLIMIT_FSIZE
- PyModule_AddIntConstant(m, "RLIMIT_FSIZE", RLIMIT_FSIZE);
+ PyModule_AddIntMacro(m, RLIMIT_FSIZE);
#endif
#ifdef RLIMIT_DATA
- PyModule_AddIntConstant(m, "RLIMIT_DATA", RLIMIT_DATA);
+ PyModule_AddIntMacro(m, RLIMIT_DATA);
#endif
#ifdef RLIMIT_STACK
- PyModule_AddIntConstant(m, "RLIMIT_STACK", RLIMIT_STACK);
+ PyModule_AddIntMacro(m, RLIMIT_STACK);
#endif
#ifdef RLIMIT_CORE
- PyModule_AddIntConstant(m, "RLIMIT_CORE", RLIMIT_CORE);
+ PyModule_AddIntMacro(m, RLIMIT_CORE);
#endif
#ifdef RLIMIT_NOFILE
- PyModule_AddIntConstant(m, "RLIMIT_NOFILE", RLIMIT_NOFILE);
+ PyModule_AddIntMacro(m, RLIMIT_NOFILE);
#endif
#ifdef RLIMIT_OFILE
- PyModule_AddIntConstant(m, "RLIMIT_OFILE", RLIMIT_OFILE);
+ PyModule_AddIntMacro(m, RLIMIT_OFILE);
#endif
#ifdef RLIMIT_VMEM
- PyModule_AddIntConstant(m, "RLIMIT_VMEM", RLIMIT_VMEM);
+ PyModule_AddIntMacro(m, RLIMIT_VMEM);
#endif
#ifdef RLIMIT_AS
- PyModule_AddIntConstant(m, "RLIMIT_AS", RLIMIT_AS);
+ PyModule_AddIntMacro(m, RLIMIT_AS);
#endif
#ifdef RLIMIT_RSS
- PyModule_AddIntConstant(m, "RLIMIT_RSS", RLIMIT_RSS);
+ PyModule_AddIntMacro(m, RLIMIT_RSS);
#endif
#ifdef RLIMIT_NPROC
- PyModule_AddIntConstant(m, "RLIMIT_NPROC", RLIMIT_NPROC);
+ PyModule_AddIntMacro(m, RLIMIT_NPROC);
#endif
#ifdef RLIMIT_MEMLOCK
- PyModule_AddIntConstant(m, "RLIMIT_MEMLOCK", RLIMIT_MEMLOCK);
+ PyModule_AddIntMacro(m, RLIMIT_MEMLOCK);
#endif
#ifdef RLIMIT_SBSIZE
- PyModule_AddIntConstant(m, "RLIMIT_SBSIZE", RLIMIT_SBSIZE);
+ PyModule_AddIntMacro(m, RLIMIT_SBSIZE);
#endif
#ifdef RUSAGE_SELF
- PyModule_AddIntConstant(m, "RUSAGE_SELF", RUSAGE_SELF);
+ PyModule_AddIntMacro(m, RUSAGE_SELF);
#endif
#ifdef RUSAGE_CHILDREN
- PyModule_AddIntConstant(m, "RUSAGE_CHILDREN", RUSAGE_CHILDREN);
+ PyModule_AddIntMacro(m, RUSAGE_CHILDREN);
#endif
#ifdef RUSAGE_BOTH
- PyModule_AddIntConstant(m, "RUSAGE_BOTH", RUSAGE_BOTH);
+ PyModule_AddIntMacro(m, RUSAGE_BOTH);
#endif
#ifdef RUSAGE_THREAD
- PyModule_AddIntConstant(m, "RUSAGE_THREAD", RUSAGE_THREAD);
+ PyModule_AddIntMacro(m, RUSAGE_THREAD);
#endif
#if defined(HAVE_LONG_LONG)
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 603a2b670b..5da0d9237e 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -47,11 +47,6 @@ extern void bzero(void *, int);
#include <sys/types.h>
#endif
-#if defined(PYOS_OS2) && !defined(PYCC_GCC)
-#include <sys/time.h>
-#include <utils.h>
-#endif
-
#ifdef MS_WINDOWS
# define WIN32_LEAN_AND_MEAN
# include <winsock.h>
@@ -304,9 +299,9 @@ select_select(PyObject *self, PyObject *args)
else
ret = PyTuple_Pack(3, ifdlist, ofdlist, efdlist);
- Py_DECREF(ifdlist);
- Py_DECREF(ofdlist);
- Py_DECREF(efdlist);
+ Py_XDECREF(ifdlist);
+ Py_XDECREF(ofdlist);
+ Py_XDECREF(efdlist);
}
finally:
@@ -689,6 +684,13 @@ typedef struct {
static PyTypeObject devpoll_Type;
+static PyObject *
+devpoll_err_closed(void)
+{
+ PyErr_SetString(PyExc_ValueError, "I/O operation on closed devpoll object");
+ return NULL;
+}
+
static int devpoll_flush(devpollObject *self)
{
int size, n;
@@ -729,6 +731,9 @@ internal_devpoll_register(devpollObject *self, PyObject *args, int remove)
PyObject *o;
int fd, events = POLLIN | POLLPRI | POLLOUT;
+ if (self->fd_devpoll < 0)
+ return devpoll_err_closed();
+
if (!PyArg_ParseTuple(args, "O|i:register", &o, &events)) {
return NULL;
}
@@ -793,6 +798,9 @@ devpoll_unregister(devpollObject *self, PyObject *o)
{
int fd;
+ if (self->fd_devpoll < 0)
+ return devpoll_err_closed();
+
fd = PyObject_AsFileDescriptor( o );
if (fd == -1)
return NULL;
@@ -822,6 +830,9 @@ devpoll_poll(devpollObject *self, PyObject *args)
long timeout;
PyObject *value, *num1, *num2;
+ if (self->fd_devpoll < 0)
+ return devpoll_err_closed();
+
if (!PyArg_UnpackTuple(args, "poll", 0, 1, &tout)) {
return NULL;
}
@@ -900,6 +911,60 @@ devpoll_poll(devpollObject *self, PyObject *args)
return NULL;
}
+static int
+devpoll_internal_close(devpollObject *self)
+{
+ int save_errno = 0;
+ if (self->fd_devpoll >= 0) {
+ int fd = self->fd_devpoll;
+ self->fd_devpoll = -1;
+ Py_BEGIN_ALLOW_THREADS
+ if (close(fd) < 0)
+ save_errno = errno;
+ Py_END_ALLOW_THREADS
+ }
+ return save_errno;
+}
+
+static PyObject*
+devpoll_close(devpollObject *self)
+{
+ errno = devpoll_internal_close(self);
+ if (errno < 0) {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return NULL;
+ }
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(devpoll_close_doc,
+"close() -> None\n\
+\n\
+Close the devpoll file descriptor. Further operations on the devpoll\n\
+object will raise an exception.");
+
+static PyObject*
+devpoll_get_closed(devpollObject *self)
+{
+ if (self->fd_devpoll < 0)
+ Py_RETURN_TRUE;
+ else
+ Py_RETURN_FALSE;
+}
+
+static PyObject*
+devpoll_fileno(devpollObject *self)
+{
+ if (self->fd_devpoll < 0)
+ return devpoll_err_closed();
+ return PyLong_FromLong(self->fd_devpoll);
+}
+
+PyDoc_STRVAR(devpoll_fileno_doc,
+"fileno() -> int\n\
+\n\
+Return the file descriptor.");
+
static PyMethodDef devpoll_methods[] = {
{"register", (PyCFunction)devpoll_register,
METH_VARARGS, devpoll_register_doc},
@@ -909,9 +974,19 @@ static PyMethodDef devpoll_methods[] = {
METH_O, devpoll_unregister_doc},
{"poll", (PyCFunction)devpoll_poll,
METH_VARARGS, devpoll_poll_doc},
+ {"close", (PyCFunction)devpoll_close, METH_NOARGS,
+ devpoll_close_doc},
+ {"fileno", (PyCFunction)devpoll_fileno, METH_NOARGS,
+ devpoll_fileno_doc},
{NULL, NULL} /* sentinel */
};
+static PyGetSetDef devpoll_getsetlist[] = {
+ {"closed", (getter)devpoll_get_closed, NULL,
+ "True if the devpoll object is closed"},
+ {0},
+};
+
static devpollObject *
newDevPollObject(void)
{
@@ -965,12 +1040,8 @@ newDevPollObject(void)
static void
devpoll_dealloc(devpollObject *self)
{
- Py_BEGIN_ALLOW_THREADS
- close(self->fd_devpoll);
- Py_END_ALLOW_THREADS
-
+ (void)devpoll_internal_close(self);
PyMem_DEL(self->fds);
-
PyObject_Del(self);
}
@@ -1006,6 +1077,8 @@ static PyTypeObject devpoll_Type = {
0, /*tp_iter*/
0, /*tp_iternext*/
devpoll_methods, /*tp_methods*/
+ 0, /* tp_members */
+ devpoll_getsetlist, /* tp_getset */
};
#endif /* HAVE_SYS_DEVPOLL_H */
@@ -1089,7 +1162,7 @@ static PyTypeObject pyEpoll_Type;
static PyObject *
pyepoll_err_closed(void)
{
- PyErr_SetString(PyExc_ValueError, "I/O operation on closed epoll fd");
+ PyErr_SetString(PyExc_ValueError, "I/O operation on closed epoll object");
return NULL;
}
@@ -1416,6 +1489,24 @@ Wait for events on the epoll file descriptor for a maximum time of timeout\n\
in seconds (as float). -1 makes poll wait indefinitely.\n\
Up to maxevents are returned to the caller.");
+static PyObject *
+pyepoll_enter(pyEpoll_Object *self, PyObject *args)
+{
+ if (self->epfd < 0)
+ return pyepoll_err_closed();
+
+ Py_INCREF(self);
+ return (PyObject *)self;
+}
+
+static PyObject *
+pyepoll_exit(PyObject *self, PyObject *args)
+{
+ _Py_IDENTIFIER(close);
+
+ return _PyObject_CallMethodId(self, &PyId_close, NULL);
+}
+
static PyMethodDef pyepoll_methods[] = {
{"fromfd", (PyCFunction)pyepoll_fromfd,
METH_VARARGS | METH_CLASS, pyepoll_fromfd_doc},
@@ -1431,6 +1522,10 @@ static PyMethodDef pyepoll_methods[] = {
METH_VARARGS | METH_KEYWORDS, pyepoll_unregister_doc},
{"poll", (PyCFunction)pyepoll_poll,
METH_VARARGS | METH_KEYWORDS, pyepoll_poll_doc},
+ {"__enter__", (PyCFunction)pyepoll_enter, METH_NOARGS,
+ NULL},
+ {"__exit__", (PyCFunction)pyepoll_exit, METH_VARARGS,
+ NULL},
{NULL, NULL},
};
@@ -1759,7 +1854,7 @@ static PyTypeObject kqueue_event_Type = {
static PyObject *
kqueue_queue_err_closed(void)
{
- PyErr_SetString(PyExc_ValueError, "I/O operation on closed kqueue fd");
+ PyErr_SetString(PyExc_ValueError, "I/O operation on closed kqueue object");
return NULL;
}
@@ -2179,7 +2274,7 @@ PyInit_select(void)
#undef PIPE_BUF
#define PIPE_BUF 512
#endif
- PyModule_AddIntConstant(m, "PIPE_BUF", PIPE_BUF);
+ PyModule_AddIntMacro(m, PIPE_BUF);
#endif
#if defined(HAVE_POLL) && !defined(HAVE_BROKEN_POLL)
@@ -2194,27 +2289,27 @@ PyInit_select(void)
#endif
if (PyType_Ready(&poll_Type) < 0)
return NULL;
- PyModule_AddIntConstant(m, "POLLIN", POLLIN);
- PyModule_AddIntConstant(m, "POLLPRI", POLLPRI);
- PyModule_AddIntConstant(m, "POLLOUT", POLLOUT);
- PyModule_AddIntConstant(m, "POLLERR", POLLERR);
- PyModule_AddIntConstant(m, "POLLHUP", POLLHUP);
- PyModule_AddIntConstant(m, "POLLNVAL", POLLNVAL);
+ PyModule_AddIntMacro(m, POLLIN);
+ PyModule_AddIntMacro(m, POLLPRI);
+ PyModule_AddIntMacro(m, POLLOUT);
+ PyModule_AddIntMacro(m, POLLERR);
+ PyModule_AddIntMacro(m, POLLHUP);
+ PyModule_AddIntMacro(m, POLLNVAL);
#ifdef POLLRDNORM
- PyModule_AddIntConstant(m, "POLLRDNORM", POLLRDNORM);
+ PyModule_AddIntMacro(m, POLLRDNORM);
#endif
#ifdef POLLRDBAND
- PyModule_AddIntConstant(m, "POLLRDBAND", POLLRDBAND);
+ PyModule_AddIntMacro(m, POLLRDBAND);
#endif
#ifdef POLLWRNORM
- PyModule_AddIntConstant(m, "POLLWRNORM", POLLWRNORM);
+ PyModule_AddIntMacro(m, POLLWRNORM);
#endif
#ifdef POLLWRBAND
- PyModule_AddIntConstant(m, "POLLWRBAND", POLLWRBAND);
+ PyModule_AddIntMacro(m, POLLWRBAND);
#endif
#ifdef POLLMSG
- PyModule_AddIntConstant(m, "POLLMSG", POLLMSG);
+ PyModule_AddIntMacro(m, POLLMSG);
#endif
}
#endif /* HAVE_POLL */
@@ -2232,25 +2327,25 @@ PyInit_select(void)
Py_INCREF(&pyEpoll_Type);
PyModule_AddObject(m, "epoll", (PyObject *) &pyEpoll_Type);
- PyModule_AddIntConstant(m, "EPOLLIN", EPOLLIN);
- PyModule_AddIntConstant(m, "EPOLLOUT", EPOLLOUT);
- PyModule_AddIntConstant(m, "EPOLLPRI", EPOLLPRI);
- PyModule_AddIntConstant(m, "EPOLLERR", EPOLLERR);
- PyModule_AddIntConstant(m, "EPOLLHUP", EPOLLHUP);
- PyModule_AddIntConstant(m, "EPOLLET", EPOLLET);
+ PyModule_AddIntMacro(m, EPOLLIN);
+ PyModule_AddIntMacro(m, EPOLLOUT);
+ PyModule_AddIntMacro(m, EPOLLPRI);
+ PyModule_AddIntMacro(m, EPOLLERR);
+ PyModule_AddIntMacro(m, EPOLLHUP);
+ PyModule_AddIntMacro(m, EPOLLET);
#ifdef EPOLLONESHOT
/* Kernel 2.6.2+ */
- PyModule_AddIntConstant(m, "EPOLLONESHOT", EPOLLONESHOT);
+ PyModule_AddIntMacro(m, EPOLLONESHOT);
#endif
/* PyModule_AddIntConstant(m, "EPOLL_RDHUP", EPOLLRDHUP); */
- PyModule_AddIntConstant(m, "EPOLLRDNORM", EPOLLRDNORM);
- PyModule_AddIntConstant(m, "EPOLLRDBAND", EPOLLRDBAND);
- PyModule_AddIntConstant(m, "EPOLLWRNORM", EPOLLWRNORM);
- PyModule_AddIntConstant(m, "EPOLLWRBAND", EPOLLWRBAND);
- PyModule_AddIntConstant(m, "EPOLLMSG", EPOLLMSG);
+ PyModule_AddIntMacro(m, EPOLLRDNORM);
+ PyModule_AddIntMacro(m, EPOLLRDBAND);
+ PyModule_AddIntMacro(m, EPOLLWRNORM);
+ PyModule_AddIntMacro(m, EPOLLWRBAND);
+ PyModule_AddIntMacro(m, EPOLLMSG);
#ifdef EPOLL_CLOEXEC
- PyModule_AddIntConstant(m, "EPOLL_CLOEXEC", EPOLL_CLOEXEC);
+ PyModule_AddIntMacro(m, EPOLL_CLOEXEC);
#endif
#endif /* HAVE_EPOLL */
diff --git a/Modules/sha1module.c b/Modules/sha1module.c
index d0f318d3fd..403194c06b 100644
--- a/Modules/sha1module.c
+++ b/Modules/sha1module.c
@@ -92,10 +92,6 @@ typedef struct {
(y)[4] = (unsigned char)(((x)>>24)&255); (y)[5] = (unsigned char)(((x)>>16)&255); \
(y)[6] = (unsigned char)(((x)>>8)&255); (y)[7] = (unsigned char)((x)&255); }
-#ifndef MIN
- #define MIN(x, y) ( ((x)<(y))?(x):(y) )
-#endif
-
/* SHA1 macros */
@@ -220,9 +216,9 @@ sha1_process(struct sha1_state *sha1,
in += SHA1_BLOCKSIZE;
inlen -= SHA1_BLOCKSIZE;
} else {
- n = MIN(inlen, (Py_ssize_t)(SHA1_BLOCKSIZE - sha1->curlen));
+ n = Py_MIN(inlen, (Py_ssize_t)(SHA1_BLOCKSIZE - sha1->curlen));
memcpy(sha1->buf + sha1->curlen, in, (size_t)n);
- sha1->curlen += n;
+ sha1->curlen += (SHA1_INT32)n;
in += n;
inlen -= n;
if (sha1->curlen == SHA1_BLOCKSIZE) {
@@ -415,7 +411,7 @@ SHA1_get_block_size(PyObject *self, void *closure)
static PyObject *
SHA1_get_name(PyObject *self, void *closure)
{
- return PyUnicode_FromStringAndSize("SHA1", 4);
+ return PyUnicode_FromStringAndSize("sha1", 4);
}
static PyObject *
diff --git a/Modules/sha256module.c b/Modules/sha256module.c
index 9f6b41639c..e60111ad02 100644
--- a/Modules/sha256module.c
+++ b/Modules/sha256module.c
@@ -21,13 +21,6 @@
#include "hashlib.h"
-/* Endianness testing and definitions */
-#define TestEndianness(variable) {int i=1; variable=PCT_BIG_ENDIAN;\
- if (*((char*)&i)==1) variable=PCT_LITTLE_ENDIAN;}
-
-#define PCT_LITTLE_ENDIAN 1
-#define PCT_BIG_ENDIAN 0
-
/* Some useful types */
typedef unsigned char SHA_BYTE;
@@ -50,7 +43,6 @@ typedef struct {
SHA_INT32 digest[8]; /* Message digest */
SHA_INT32 count_lo, count_hi; /* 64-bit bit count */
SHA_BYTE data[SHA_BLOCKSIZE]; /* SHA data buffer */
- int Endianness;
int local; /* unprocessed amount in data */
int digestsize;
} SHAobject;
@@ -58,13 +50,11 @@ typedef struct {
/* When run on a little-endian CPU we need to perform byte reversal on an
array of longwords. */
-static void longReverse(SHA_INT32 *buffer, int byteCount, int Endianness)
+#if PY_LITTLE_ENDIAN
+static void longReverse(SHA_INT32 *buffer, int byteCount)
{
SHA_INT32 value;
- if ( Endianness == PCT_BIG_ENDIAN )
- return;
-
byteCount /= sizeof(*buffer);
while (byteCount--) {
value = *buffer;
@@ -73,10 +63,10 @@ static void longReverse(SHA_INT32 *buffer, int byteCount, int Endianness)
*buffer++ = ( value << 16 ) | ( value >> 16 );
}
}
+#endif
static void SHAcopy(SHAobject *src, SHAobject *dest)
{
- dest->Endianness = src->Endianness;
dest->local = src->local;
dest->digestsize = src->digestsize;
dest->count_lo = src->count_lo;
@@ -131,7 +121,9 @@ sha_transform(SHAobject *sha_info)
SHA_INT32 S[8], W[64], t0, t1;
memcpy(W, sha_info->data, sizeof(sha_info->data));
- longReverse(W, (int)sizeof(sha_info->data), sha_info->Endianness);
+#if PY_LITTLE_ENDIAN
+ longReverse(W, (int)sizeof(sha_info->data));
+#endif
for (i = 16; i < 64; ++i) {
W[i] = Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + W[i - 16];
@@ -228,7 +220,6 @@ sha_transform(SHAobject *sha_info)
static void
sha_init(SHAobject *sha_info)
{
- TestEndianness(sha_info->Endianness)
sha_info->digest[0] = 0x6A09E667L;
sha_info->digest[1] = 0xBB67AE85L;
sha_info->digest[2] = 0x3C6EF372L;
@@ -246,7 +237,6 @@ sha_init(SHAobject *sha_info)
static void
sha224_init(SHAobject *sha_info)
{
- TestEndianness(sha_info->Endianness)
sha_info->digest[0] = 0xc1059ed8L;
sha_info->digest[1] = 0x367cd507L;
sha_info->digest[2] = 0x3070dd17L;
@@ -284,7 +274,7 @@ sha_update(SHAobject *sha_info, SHA_BYTE *buffer, Py_ssize_t count)
memcpy(((SHA_BYTE *) sha_info->data) + sha_info->local, buffer, i);
count -= i;
buffer += i;
- sha_info->local += i;
+ sha_info->local += (int)i;
if (sha_info->local == SHA_BLOCKSIZE) {
sha_transform(sha_info);
}
@@ -299,7 +289,7 @@ sha_update(SHAobject *sha_info, SHA_BYTE *buffer, Py_ssize_t count)
sha_transform(sha_info);
}
memcpy(sha_info->data, buffer, count);
- sha_info->local = count;
+ sha_info->local = (int)count;
}
/* finish computing the SHA digest */
@@ -511,9 +501,9 @@ static PyObject *
SHA256_get_name(PyObject *self, void *closure)
{
if (((SHAobject *)self)->digestsize == 32)
- return PyUnicode_FromStringAndSize("SHA256", 6);
+ return PyUnicode_FromStringAndSize("sha256", 6);
else
- return PyUnicode_FromStringAndSize("SHA224", 6);
+ return PyUnicode_FromStringAndSize("sha224", 6);
}
static PyGetSetDef SHA_getseters[] = {
diff --git a/Modules/sha512module.c b/Modules/sha512module.c
index 5536fd5c1c..2841eabb2b 100644
--- a/Modules/sha512module.c
+++ b/Modules/sha512module.c
@@ -22,13 +22,6 @@
#ifdef PY_LONG_LONG /* If no PY_LONG_LONG, don't compile anything! */
-/* Endianness testing and definitions */
-#define TestEndianness(variable) {int i=1; variable=PCT_BIG_ENDIAN;\
- if (*((char*)&i)==1) variable=PCT_LITTLE_ENDIAN;}
-
-#define PCT_LITTLE_ENDIAN 1
-#define PCT_BIG_ENDIAN 0
-
/* Some useful types */
typedef unsigned char SHA_BYTE;
@@ -52,7 +45,6 @@ typedef struct {
SHA_INT64 digest[8]; /* Message digest */
SHA_INT32 count_lo, count_hi; /* 64-bit bit count */
SHA_BYTE data[SHA_BLOCKSIZE]; /* SHA data buffer */
- int Endianness;
int local; /* unprocessed amount in data */
int digestsize;
} SHAobject;
@@ -60,13 +52,11 @@ typedef struct {
/* When run on a little-endian CPU we need to perform byte reversal on an
array of longwords. */
-static void longReverse(SHA_INT64 *buffer, int byteCount, int Endianness)
+#if PY_LITTLE_ENDIAN
+static void longReverse(SHA_INT64 *buffer, int byteCount)
{
SHA_INT64 value;
- if ( Endianness == PCT_BIG_ENDIAN )
- return;
-
byteCount /= sizeof(*buffer);
while (byteCount--) {
value = *buffer;
@@ -83,10 +73,10 @@ static void longReverse(SHA_INT64 *buffer, int byteCount, int Endianness)
buffer++;
}
}
+#endif
static void SHAcopy(SHAobject *src, SHAobject *dest)
{
- dest->Endianness = src->Endianness;
dest->local = src->local;
dest->digestsize = src->digestsize;
dest->count_lo = src->count_lo;
@@ -141,7 +131,9 @@ sha512_transform(SHAobject *sha_info)
SHA_INT64 S[8], W[80], t0, t1;
memcpy(W, sha_info->data, sizeof(sha_info->data));
- longReverse(W, (int)sizeof(sha_info->data), sha_info->Endianness);
+#if PY_LITTLE_ENDIAN
+ longReverse(W, (int)sizeof(sha_info->data));
+#endif
for (i = 16; i < 80; ++i) {
W[i] = Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + W[i - 16];
@@ -254,7 +246,6 @@ sha512_transform(SHAobject *sha_info)
static void
sha512_init(SHAobject *sha_info)
{
- TestEndianness(sha_info->Endianness)
sha_info->digest[0] = Py_ULL(0x6a09e667f3bcc908);
sha_info->digest[1] = Py_ULL(0xbb67ae8584caa73b);
sha_info->digest[2] = Py_ULL(0x3c6ef372fe94f82b);
@@ -272,7 +263,6 @@ sha512_init(SHAobject *sha_info)
static void
sha384_init(SHAobject *sha_info)
{
- TestEndianness(sha_info->Endianness)
sha_info->digest[0] = Py_ULL(0xcbbb9d5dc1059ed8);
sha_info->digest[1] = Py_ULL(0x629a292a367cd507);
sha_info->digest[2] = Py_ULL(0x9159015a3070dd17);
@@ -310,7 +300,7 @@ sha512_update(SHAobject *sha_info, SHA_BYTE *buffer, Py_ssize_t count)
memcpy(((SHA_BYTE *) sha_info->data) + sha_info->local, buffer, i);
count -= i;
buffer += i;
- sha_info->local += i;
+ sha_info->local += (int)i;
if (sha_info->local == SHA_BLOCKSIZE) {
sha512_transform(sha_info);
}
@@ -325,7 +315,7 @@ sha512_update(SHAobject *sha_info, SHA_BYTE *buffer, Py_ssize_t count)
sha512_transform(sha_info);
}
memcpy(sha_info->data, buffer, count);
- sha_info->local = count;
+ sha_info->local = (int)count;
}
/* finish computing the SHA digest */
@@ -577,9 +567,9 @@ static PyObject *
SHA512_get_name(PyObject *self, void *closure)
{
if (((SHAobject *)self)->digestsize == 64)
- return PyUnicode_FromStringAndSize("SHA512", 6);
+ return PyUnicode_FromStringAndSize("sha512", 6);
else
- return PyUnicode_FromStringAndSize("SHA384", 6);
+ return PyUnicode_FromStringAndSize("sha384", 6);
}
static PyGetSetDef SHA_getseters[] = {
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index fbe1bb7a8c..9a0e8e3365 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -9,7 +9,7 @@
#endif
#ifdef MS_WINDOWS
-#include <Windows.h>
+#include <windows.h>
#ifdef HAVE_PROCESS_H
#include <process.h>
#endif
@@ -37,11 +37,6 @@
#define SIG_ERR ((PyOS_sighandler_t)(-1))
#endif
-#if defined(PYOS_OS2) && !defined(PYCC_GCC)
-#define NSIG 12
-#include <process.h>
-#endif
-
#ifndef NSIG
# if defined(_NSIG)
# define NSIG _NSIG /* For BSD/SysV */
@@ -78,10 +73,6 @@
a working implementation that works in all three cases -- the
handler ignores signals if getpid() isn't the same as in the main
thread. XXX This is a hack.
-
- GNU pth is a user-space threading library, and as such, all threads
- run within the same process. In this case, if the currently running
- thread is not the main_thread, send the signal to the main_thread.
*/
#ifdef WITH_THREAD
@@ -180,15 +171,31 @@ checksignals_witharg(void * unused)
return PyErr_CheckSignals();
}
+static int
+report_wakeup_error(void *data)
+{
+ int save_errno = errno;
+ errno = (int) (Py_intptr_t) data;
+ PyErr_SetFromErrno(PyExc_OSError);
+ PySys_WriteStderr("Exception ignored when trying to write to the "
+ "signal wakeup fd:\n");
+ PyErr_WriteUnraisable(NULL);
+ errno = save_errno;
+ return 0;
+}
+
static void
trip_signal(int sig_num)
{
unsigned char byte;
+ int rc = 0;
Handlers[sig_num].tripped = 1;
if (wakeup_fd != -1) {
byte = (unsigned char)sig_num;
- write(wakeup_fd, &byte, 1);
+ while ((rc = write(wakeup_fd, &byte, 1)) == -1 && errno == EINTR);
+ if (rc == -1)
+ Py_AddPendingCall(report_wakeup_error, (void *) (Py_intptr_t) errno);
}
if (is_tripped)
return;
@@ -203,13 +210,6 @@ signal_handler(int sig_num)
{
int save_errno = errno;
-#if defined(WITH_THREAD) && defined(WITH_PTH)
- if (PyThread_get_thread_ident() != main_thread) {
- pth_raise(*(pth_t *) main_thread, sig_num);
- }
- else
-#endif
- {
#ifdef WITH_THREAD
/* See NOTES section above */
if (getpid() == main_pid)
@@ -231,7 +231,6 @@ signal_handler(int sig_num)
* makes this true. See also issue8354. */
PyOS_setsig(sig_num, signal_handler);
#endif
- }
/* Issue #10311: asynchronously executing signal handlers should not
mutate errno under the feet of unsuspecting C code. */
@@ -983,9 +982,10 @@ PyInit_signal(void)
return NULL;
#if defined(HAVE_SIGWAITINFO) || defined(HAVE_SIGTIMEDWAIT)
- if (!initialized)
- PyStructSequence_InitType(&SiginfoType, &struct_siginfo_desc);
-
+ if (!initialized) {
+ if (PyStructSequence_InitType2(&SiginfoType, &struct_siginfo_desc) < 0)
+ return NULL;
+ }
Py_INCREF((PyObject*) &SiginfoType);
PyModule_AddObject(m, "struct_siginfo", (PyObject*) &SiginfoType);
initialized = 1;
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 1202d38693..1e2e84fee5 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -15,7 +15,7 @@ Limitations:
Module interface:
-- socket.error: exception raised for socket specific errors
+- socket.error: exception raised for socket specific errors, alias for OSError
- socket.gaierror: exception raised for getaddrinfo/getnameinfo errors,
a subclass of socket.error
- socket.herror: exception raised for gethostby* errors,
@@ -95,9 +95,6 @@ Local naming conventions:
#include "Python.h"
#include "structmember.h"
-#undef MAX
-#define MAX(x, y) ((x) < (y) ? (y) : (x))
-
/* Socket object documentation */
PyDoc_STRVAR(sock_doc,
"socket([family[, type[, proto]]]) -> socket object\n\
@@ -223,13 +220,6 @@ if_indextoname(index) -- return the corresponding interface name\n\
#endif
-#if defined(PYOS_OS2)
-# define INCL_DOS
-# define INCL_DOSERRORS
-# define INCL_NOPMAPI
-# include <os2.h>
-#endif
-
#if defined(__sgi) && _COMPILER_VERSION>700 && !_SGIAPI
/* make sure that the reentrant (gethostbyaddr_r etc)
functions are declared correctly if compiling with
@@ -286,12 +276,7 @@ if_indextoname(index) -- return the corresponding interface name\n\
# include <unistd.h>
/* Headers needed for inet_ntoa() and inet_addr() */
-# if defined(PYOS_OS2) && defined(PYCC_VACPP)
-# include <netdb.h>
-typedef size_t socklen_t;
-# else
# include <arpa/inet.h>
-# endif
# include <fcntl.h>
@@ -395,11 +380,6 @@ dup_socket(SOCKET handle)
#define snprintf _snprintf
#endif
-#if defined(PYOS_OS2) && !defined(PYCC_GCC)
-#define SOCKETCLOSE soclose
-#define NO_DUP /* Sockets are Not Actual File Handles under OS/2 */
-#endif
-
#ifndef SOCKETCLOSE
#define SOCKETCLOSE close
#endif
@@ -534,42 +514,6 @@ set_error(void)
return PyErr_SetExcFromWindowsErr(PyExc_OSError, err_no);
#endif
-#if defined(PYOS_OS2) && !defined(PYCC_GCC)
- if (sock_errno() != NO_ERROR) {
- APIRET rc;
- ULONG msglen;
- char outbuf[100];
- int myerrorcode = sock_errno();
-
- /* Retrieve socket-related error message from MPTN.MSG file */
- rc = DosGetMessage(NULL, 0, outbuf, sizeof(outbuf),
- myerrorcode - SOCBASEERR + 26,
- "mptn.msg",
- &msglen);
- if (rc == NO_ERROR) {
- PyObject *v;
-
- /* OS/2 doesn't guarantee a terminator */
- outbuf[msglen] = '\0';
- if (strlen(outbuf) > 0) {
- /* If non-empty msg, trim CRLF */
- char *lastc = &outbuf[ strlen(outbuf)-1 ];
- while (lastc > outbuf &&
- Py_ISSPACE(Py_CHARMASK(*lastc))) {
- /* Trim trailing whitespace (CRLF) */
- *lastc-- = '\0';
- }
- }
- v = Py_BuildValue("(is)", myerrorcode, outbuf);
- if (v != NULL) {
- PyErr_SetObject(PyExc_OSError, v);
- Py_DECREF(v);
- }
- return NULL;
- }
- }
-#endif
-
return PyErr_SetFromErrno(PyExc_OSError);
}
@@ -658,20 +602,17 @@ internal_setblocking(PySocketSockObject *s, int block)
Py_BEGIN_ALLOW_THREADS
#ifndef MS_WINDOWS
-#if defined(PYOS_OS2) && !defined(PYCC_GCC)
- block = !block;
- ioctl(s->sock_fd, FIONBIO, (caddr_t)&block, sizeof(block));
-#elif defined(__VMS)
+#if defined(__VMS)
block = !block;
ioctl(s->sock_fd, FIONBIO, (unsigned int *)&block);
-#else /* !PYOS_OS2 && !__VMS */
+#else /* !__VMS */
delay_flag = fcntl(s->sock_fd, F_GETFL, 0);
if (block)
delay_flag &= (~O_NONBLOCK);
else
delay_flag |= O_NONBLOCK;
fcntl(s->sock_fd, F_SETFL, delay_flag);
-#endif /* !PYOS_OS2 */
+#endif /* !__VMS */
#else /* MS_WINDOWS */
block = !block;
ioctlsocket(s->sock_fd, FIONBIO, (u_long*)&block);
@@ -1329,11 +1270,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
}
addr->sun_family = s->sock_family;
memcpy(addr->sun_path, path, len);
-#if defined(PYOS_OS2)
- *len_ret = sizeof(*addr);
-#else
*len_ret = len + offsetof(struct sockaddr_un, sun_path);
-#endif
retval = 1;
unix_out:
Py_DECREF(args);
@@ -1658,6 +1595,8 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
case AF_CAN:
switch (s->sock_proto) {
case CAN_RAW:
+ /* fall-through */
+ case CAN_BCM:
{
struct sockaddr_can *addr;
PyObject *interfaceName;
@@ -2613,8 +2552,15 @@ sock_recv_guts(PySocketSockObject *s, char* cbuf, Py_ssize_t len, int flags)
BEGIN_SELECT_LOOP(s)
Py_BEGIN_ALLOW_THREADS
timeout = internal_select_ex(s, 0, interval);
- if (!timeout)
+ if (!timeout) {
+#ifdef MS_WINDOWS
+ if (len > INT_MAX)
+ len = INT_MAX;
+ outlen = recv(s->sock_fd, cbuf, (int)len, flags);
+#else
outlen = recv(s->sock_fd, cbuf, len, flags);
+#endif
+ }
Py_END_ALLOW_THREADS
if (timeout == 1) {
@@ -2821,13 +2767,10 @@ sock_recvfrom_guts(PySocketSockObject *s, char* cbuf, Py_ssize_t len, int flags,
timeout = internal_select_ex(s, 0, interval);
if (!timeout) {
#ifndef MS_WINDOWS
-#if defined(PYOS_OS2) && !defined(PYCC_GCC)
- n = recvfrom(s->sock_fd, cbuf, len, flags,
- SAS2SA(&addrbuf), &addrlen);
-#else
- n = recvfrom(s->sock_fd, cbuf, len, flags,
+ if (len > INT_MAX)
+ len = INT_MAX;
+ n = recvfrom(s->sock_fd, cbuf, (int)len, flags,
(void *) &addrbuf, &addrlen);
-#endif
#else
n = recvfrom(s->sock_fd, cbuf, len, flags,
SAS2SA(&addrbuf), &addrlen);
@@ -3305,12 +3248,17 @@ sock_send(PySocketSockObject *s, PyObject *args)
BEGIN_SELECT_LOOP(s)
Py_BEGIN_ALLOW_THREADS
timeout = internal_select_ex(s, 1, interval);
- if (!timeout)
+ if (!timeout) {
#ifdef __VMS
n = sendsegmented(s->sock_fd, buf, len, flags);
+#elif defined(MS_WINDOWS)
+ if (len > INT_MAX)
+ len = INT_MAX;
+ n = send(s->sock_fd, buf, (int)len, flags);
#else
n = send(s->sock_fd, buf, len, flags);
#endif
+ }
Py_END_ALLOW_THREADS
if (timeout == 1) {
PyBuffer_Release(&pbuf);
@@ -3360,6 +3308,10 @@ sock_sendall(PySocketSockObject *s, PyObject *args)
if (!timeout) {
#ifdef __VMS
n = sendsegmented(s->sock_fd, buf, len, flags);
+#elif defined(MS_WINDOWS)
+ if (len > INT_MAX)
+ len = INT_MAX;
+ n = send(s->sock_fd, buf, (int)len, flags);
#else
n = send(s->sock_fd, buf, len, flags);
#endif
@@ -3454,8 +3406,17 @@ sock_sendto(PySocketSockObject *s, PyObject *args)
BEGIN_SELECT_LOOP(s)
Py_BEGIN_ALLOW_THREADS
timeout = internal_select_ex(s, 1, interval);
- if (!timeout)
- n = sendto(s->sock_fd, buf, len, flags, SAS2SA(&addrbuf), addrlen);
+ if (!timeout) {
+#ifdef MS_WINDOWS
+ if (len > INT_MAX)
+ len = INT_MAX;
+ n = sendto(s->sock_fd, buf, (int)len, flags,
+ SAS2SA(&addrbuf), addrlen);
+#else
+ n = sendto(s->sock_fd, buf, len, flags,
+ SAS2SA(&addrbuf), addrlen);
+#endif
+ }
Py_END_ALLOW_THREADS
if (timeout == 1) {
@@ -4885,7 +4846,7 @@ socket_inet_pton(PyObject *self, PyObject *args)
char* ip;
int retval;
#ifdef ENABLE_IPV6
- char packed[MAX(sizeof(struct in_addr), sizeof(struct in6_addr))];
+ char packed[Py_MAX(sizeof(struct in_addr), sizeof(struct in6_addr))];
#else
char packed[sizeof(struct in_addr)];
#endif
@@ -4936,7 +4897,7 @@ socket_inet_ntop(PyObject *self, PyObject *args)
int len;
const char* retval;
#ifdef ENABLE_IPV6
- char ip[MAX(INET_ADDRSTRLEN, INET6_ADDRSTRLEN) + 1];
+ char ip[Py_MAX(INET_ADDRSTRLEN, INET6_ADDRSTRLEN) + 1];
#else
char ip[INET_ADDRSTRLEN + 1];
#endif
@@ -5522,32 +5483,6 @@ os_init(void)
#endif /* MS_WINDOWS */
-#ifdef PYOS_OS2
-#define OS_INIT_DEFINED
-
-/* Additional initialization for OS/2 */
-
-static int
-os_init(void)
-{
-#ifndef PYCC_GCC
- int rc = sock_init();
-
- if (rc == 0) {
- return 1; /* Success */
- }
-
- PyErr_Format(PyExc_ImportError, "OS/2 TCP/IP Error# %d", sock_errno());
-
- return 0; /* Failure */
-#else
- /* No need to initialize sockets with GCC/EMX */
- return 1; /* Success */
-#endif
-}
-
-#endif /* PYOS_OS2 */
-
#ifndef OS_INIT_DEFINED
static int
@@ -5657,184 +5592,187 @@ PyInit__socket(void)
/* Address families (we only support AF_INET and AF_UNIX) */
#ifdef AF_UNSPEC
- PyModule_AddIntConstant(m, "AF_UNSPEC", AF_UNSPEC);
+ PyModule_AddIntMacro(m, AF_UNSPEC);
#endif
- PyModule_AddIntConstant(m, "AF_INET", AF_INET);
+ PyModule_AddIntMacro(m, AF_INET);
#ifdef AF_INET6
- PyModule_AddIntConstant(m, "AF_INET6", AF_INET6);
+ PyModule_AddIntMacro(m, AF_INET6);
#endif /* AF_INET6 */
#if defined(AF_UNIX)
- PyModule_AddIntConstant(m, "AF_UNIX", AF_UNIX);
+ PyModule_AddIntMacro(m, AF_UNIX);
#endif /* AF_UNIX */
#ifdef AF_AX25
/* Amateur Radio AX.25 */
- PyModule_AddIntConstant(m, "AF_AX25", AF_AX25);
+ PyModule_AddIntMacro(m, AF_AX25);
#endif
#ifdef AF_IPX
- PyModule_AddIntConstant(m, "AF_IPX", AF_IPX); /* Novell IPX */
+ PyModule_AddIntMacro(m, AF_IPX); /* Novell IPX */
#endif
#ifdef AF_APPLETALK
/* Appletalk DDP */
- PyModule_AddIntConstant(m, "AF_APPLETALK", AF_APPLETALK);
+ PyModule_AddIntMacro(m, AF_APPLETALK);
#endif
#ifdef AF_NETROM
/* Amateur radio NetROM */
- PyModule_AddIntConstant(m, "AF_NETROM", AF_NETROM);
+ PyModule_AddIntMacro(m, AF_NETROM);
#endif
#ifdef AF_BRIDGE
/* Multiprotocol bridge */
- PyModule_AddIntConstant(m, "AF_BRIDGE", AF_BRIDGE);
+ PyModule_AddIntMacro(m, AF_BRIDGE);
#endif
#ifdef AF_ATMPVC
/* ATM PVCs */
- PyModule_AddIntConstant(m, "AF_ATMPVC", AF_ATMPVC);
+ PyModule_AddIntMacro(m, AF_ATMPVC);
#endif
#ifdef AF_AAL5
/* Reserved for Werner's ATM */
- PyModule_AddIntConstant(m, "AF_AAL5", AF_AAL5);
+ PyModule_AddIntMacro(m, AF_AAL5);
#endif
#ifdef AF_X25
/* Reserved for X.25 project */
- PyModule_AddIntConstant(m, "AF_X25", AF_X25);
+ PyModule_AddIntMacro(m, AF_X25);
#endif
#ifdef AF_INET6
- PyModule_AddIntConstant(m, "AF_INET6", AF_INET6); /* IP version 6 */
+ PyModule_AddIntMacro(m, AF_INET6); /* IP version 6 */
#endif
#ifdef AF_ROSE
/* Amateur Radio X.25 PLP */
- PyModule_AddIntConstant(m, "AF_ROSE", AF_ROSE);
+ PyModule_AddIntMacro(m, AF_ROSE);
#endif
#ifdef AF_DECnet
/* Reserved for DECnet project */
- PyModule_AddIntConstant(m, "AF_DECnet", AF_DECnet);
+ PyModule_AddIntMacro(m, AF_DECnet);
#endif
#ifdef AF_NETBEUI
/* Reserved for 802.2LLC project */
- PyModule_AddIntConstant(m, "AF_NETBEUI", AF_NETBEUI);
+ PyModule_AddIntMacro(m, AF_NETBEUI);
#endif
#ifdef AF_SECURITY
/* Security callback pseudo AF */
- PyModule_AddIntConstant(m, "AF_SECURITY", AF_SECURITY);
+ PyModule_AddIntMacro(m, AF_SECURITY);
#endif
#ifdef AF_KEY
/* PF_KEY key management API */
- PyModule_AddIntConstant(m, "AF_KEY", AF_KEY);
+ PyModule_AddIntMacro(m, AF_KEY);
#endif
#ifdef AF_NETLINK
/* */
- PyModule_AddIntConstant(m, "AF_NETLINK", AF_NETLINK);
- PyModule_AddIntConstant(m, "NETLINK_ROUTE", NETLINK_ROUTE);
+ PyModule_AddIntMacro(m, AF_NETLINK);
+ PyModule_AddIntMacro(m, NETLINK_ROUTE);
#ifdef NETLINK_SKIP
- PyModule_AddIntConstant(m, "NETLINK_SKIP", NETLINK_SKIP);
+ PyModule_AddIntMacro(m, NETLINK_SKIP);
#endif
#ifdef NETLINK_W1
- PyModule_AddIntConstant(m, "NETLINK_W1", NETLINK_W1);
+ PyModule_AddIntMacro(m, NETLINK_W1);
#endif
- PyModule_AddIntConstant(m, "NETLINK_USERSOCK", NETLINK_USERSOCK);
- PyModule_AddIntConstant(m, "NETLINK_FIREWALL", NETLINK_FIREWALL);
+ PyModule_AddIntMacro(m, NETLINK_USERSOCK);
+ PyModule_AddIntMacro(m, NETLINK_FIREWALL);
#ifdef NETLINK_TCPDIAG
- PyModule_AddIntConstant(m, "NETLINK_TCPDIAG", NETLINK_TCPDIAG);
+ PyModule_AddIntMacro(m, NETLINK_TCPDIAG);
#endif
#ifdef NETLINK_NFLOG
- PyModule_AddIntConstant(m, "NETLINK_NFLOG", NETLINK_NFLOG);
+ PyModule_AddIntMacro(m, NETLINK_NFLOG);
#endif
#ifdef NETLINK_XFRM
- PyModule_AddIntConstant(m, "NETLINK_XFRM", NETLINK_XFRM);
+ PyModule_AddIntMacro(m, NETLINK_XFRM);
#endif
#ifdef NETLINK_ARPD
- PyModule_AddIntConstant(m, "NETLINK_ARPD", NETLINK_ARPD);
+ PyModule_AddIntMacro(m, NETLINK_ARPD);
#endif
#ifdef NETLINK_ROUTE6
- PyModule_AddIntConstant(m, "NETLINK_ROUTE6", NETLINK_ROUTE6);
+ PyModule_AddIntMacro(m, NETLINK_ROUTE6);
#endif
- PyModule_AddIntConstant(m, "NETLINK_IP6_FW", NETLINK_IP6_FW);
+ PyModule_AddIntMacro(m, NETLINK_IP6_FW);
#ifdef NETLINK_DNRTMSG
- PyModule_AddIntConstant(m, "NETLINK_DNRTMSG", NETLINK_DNRTMSG);
+ PyModule_AddIntMacro(m, NETLINK_DNRTMSG);
#endif
#ifdef NETLINK_TAPBASE
- PyModule_AddIntConstant(m, "NETLINK_TAPBASE", NETLINK_TAPBASE);
+ PyModule_AddIntMacro(m, NETLINK_TAPBASE);
#endif
#endif /* AF_NETLINK */
#ifdef AF_ROUTE
/* Alias to emulate 4.4BSD */
- PyModule_AddIntConstant(m, "AF_ROUTE", AF_ROUTE);
+ PyModule_AddIntMacro(m, AF_ROUTE);
+#endif
+#ifdef AF_LINK
+ PyModule_AddIntMacro(m, AF_LINK);
#endif
#ifdef AF_ASH
/* Ash */
- PyModule_AddIntConstant(m, "AF_ASH", AF_ASH);
+ PyModule_AddIntMacro(m, AF_ASH);
#endif
#ifdef AF_ECONET
/* Acorn Econet */
- PyModule_AddIntConstant(m, "AF_ECONET", AF_ECONET);
+ PyModule_AddIntMacro(m, AF_ECONET);
#endif
#ifdef AF_ATMSVC
/* ATM SVCs */
- PyModule_AddIntConstant(m, "AF_ATMSVC", AF_ATMSVC);
+ PyModule_AddIntMacro(m, AF_ATMSVC);
#endif
#ifdef AF_SNA
/* Linux SNA Project (nutters!) */
- PyModule_AddIntConstant(m, "AF_SNA", AF_SNA);
+ PyModule_AddIntMacro(m, AF_SNA);
#endif
#ifdef AF_IRDA
/* IRDA sockets */
- PyModule_AddIntConstant(m, "AF_IRDA", AF_IRDA);
+ PyModule_AddIntMacro(m, AF_IRDA);
#endif
#ifdef AF_PPPOX
/* PPPoX sockets */
- PyModule_AddIntConstant(m, "AF_PPPOX", AF_PPPOX);
+ PyModule_AddIntMacro(m, AF_PPPOX);
#endif
#ifdef AF_WANPIPE
/* Wanpipe API Sockets */
- PyModule_AddIntConstant(m, "AF_WANPIPE", AF_WANPIPE);
+ PyModule_AddIntMacro(m, AF_WANPIPE);
#endif
#ifdef AF_LLC
/* Linux LLC */
- PyModule_AddIntConstant(m, "AF_LLC", AF_LLC);
+ PyModule_AddIntMacro(m, AF_LLC);
#endif
#ifdef USE_BLUETOOTH
- PyModule_AddIntConstant(m, "AF_BLUETOOTH", AF_BLUETOOTH);
- PyModule_AddIntConstant(m, "BTPROTO_L2CAP", BTPROTO_L2CAP);
- PyModule_AddIntConstant(m, "BTPROTO_HCI", BTPROTO_HCI);
- PyModule_AddIntConstant(m, "SOL_HCI", SOL_HCI);
+ PyModule_AddIntMacro(m, AF_BLUETOOTH);
+ PyModule_AddIntMacro(m, BTPROTO_L2CAP);
+ PyModule_AddIntMacro(m, BTPROTO_HCI);
+ PyModule_AddIntMacro(m, SOL_HCI);
#if !defined(__NetBSD__) && !defined(__DragonFly__)
- PyModule_AddIntConstant(m, "HCI_FILTER", HCI_FILTER);
+ PyModule_AddIntMacro(m, HCI_FILTER);
#endif
#if !defined(__FreeBSD__)
#if !defined(__NetBSD__) && !defined(__DragonFly__)
- PyModule_AddIntConstant(m, "HCI_TIME_STAMP", HCI_TIME_STAMP);
+ PyModule_AddIntMacro(m, HCI_TIME_STAMP);
#endif
- PyModule_AddIntConstant(m, "HCI_DATA_DIR", HCI_DATA_DIR);
- PyModule_AddIntConstant(m, "BTPROTO_SCO", BTPROTO_SCO);
+ PyModule_AddIntMacro(m, HCI_DATA_DIR);
+ PyModule_AddIntMacro(m, BTPROTO_SCO);
#endif
- PyModule_AddIntConstant(m, "BTPROTO_RFCOMM", BTPROTO_RFCOMM);
+ PyModule_AddIntMacro(m, BTPROTO_RFCOMM);
PyModule_AddStringConstant(m, "BDADDR_ANY", "00:00:00:00:00:00");
PyModule_AddStringConstant(m, "BDADDR_LOCAL", "00:00:00:FF:FF:FF");
#endif
#ifdef AF_CAN
/* Controller Area Network */
- PyModule_AddIntConstant(m, "AF_CAN", AF_CAN);
+ PyModule_AddIntMacro(m, AF_CAN);
#endif
#ifdef PF_CAN
/* Controller Area Network */
- PyModule_AddIntConstant(m, "PF_CAN", PF_CAN);
+ PyModule_AddIntMacro(m, PF_CAN);
#endif
/* Reliable Datagram Sockets */
#ifdef AF_RDS
- PyModule_AddIntConstant(m, "AF_RDS", AF_RDS);
+ PyModule_AddIntMacro(m, AF_RDS);
#endif
#ifdef PF_RDS
- PyModule_AddIntConstant(m, "PF_RDS", PF_RDS);
+ PyModule_AddIntMacro(m, PF_RDS);
#endif
/* Kernel event messages */
#ifdef PF_SYSTEM
- PyModule_AddIntConstant(m, "PF_SYSTEM", PF_SYSTEM);
+ PyModule_AddIntMacro(m, PF_SYSTEM);
#endif
#ifdef AF_SYSTEM
- PyModule_AddIntConstant(m, "AF_SYSTEM", AF_SYSTEM);
+ PyModule_AddIntMacro(m, AF_SYSTEM);
#endif
#ifdef AF_PACKET
@@ -5866,134 +5804,129 @@ PyInit__socket(void)
#endif
#ifdef HAVE_LINUX_TIPC_H
- PyModule_AddIntConstant(m, "AF_TIPC", AF_TIPC);
+ PyModule_AddIntMacro(m, AF_TIPC);
/* for addresses */
- PyModule_AddIntConstant(m, "TIPC_ADDR_NAMESEQ", TIPC_ADDR_NAMESEQ);
- PyModule_AddIntConstant(m, "TIPC_ADDR_NAME", TIPC_ADDR_NAME);
- PyModule_AddIntConstant(m, "TIPC_ADDR_ID", TIPC_ADDR_ID);
+ PyModule_AddIntMacro(m, TIPC_ADDR_NAMESEQ);
+ PyModule_AddIntMacro(m, TIPC_ADDR_NAME);
+ PyModule_AddIntMacro(m, TIPC_ADDR_ID);
- PyModule_AddIntConstant(m, "TIPC_ZONE_SCOPE", TIPC_ZONE_SCOPE);
- PyModule_AddIntConstant(m, "TIPC_CLUSTER_SCOPE", TIPC_CLUSTER_SCOPE);
- PyModule_AddIntConstant(m, "TIPC_NODE_SCOPE", TIPC_NODE_SCOPE);
+ PyModule_AddIntMacro(m, TIPC_ZONE_SCOPE);
+ PyModule_AddIntMacro(m, TIPC_CLUSTER_SCOPE);
+ PyModule_AddIntMacro(m, TIPC_NODE_SCOPE);
/* for setsockopt() */
- PyModule_AddIntConstant(m, "SOL_TIPC", SOL_TIPC);
- PyModule_AddIntConstant(m, "TIPC_IMPORTANCE", TIPC_IMPORTANCE);
- PyModule_AddIntConstant(m, "TIPC_SRC_DROPPABLE", TIPC_SRC_DROPPABLE);
- PyModule_AddIntConstant(m, "TIPC_DEST_DROPPABLE",
- TIPC_DEST_DROPPABLE);
- PyModule_AddIntConstant(m, "TIPC_CONN_TIMEOUT", TIPC_CONN_TIMEOUT);
-
- PyModule_AddIntConstant(m, "TIPC_LOW_IMPORTANCE",
- TIPC_LOW_IMPORTANCE);
- PyModule_AddIntConstant(m, "TIPC_MEDIUM_IMPORTANCE",
- TIPC_MEDIUM_IMPORTANCE);
- PyModule_AddIntConstant(m, "TIPC_HIGH_IMPORTANCE",
- TIPC_HIGH_IMPORTANCE);
- PyModule_AddIntConstant(m, "TIPC_CRITICAL_IMPORTANCE",
- TIPC_CRITICAL_IMPORTANCE);
+ PyModule_AddIntMacro(m, SOL_TIPC);
+ PyModule_AddIntMacro(m, TIPC_IMPORTANCE);
+ PyModule_AddIntMacro(m, TIPC_SRC_DROPPABLE);
+ PyModule_AddIntMacro(m, TIPC_DEST_DROPPABLE);
+ PyModule_AddIntMacro(m, TIPC_CONN_TIMEOUT);
+
+ PyModule_AddIntMacro(m, TIPC_LOW_IMPORTANCE);
+ PyModule_AddIntMacro(m, TIPC_MEDIUM_IMPORTANCE);
+ PyModule_AddIntMacro(m, TIPC_HIGH_IMPORTANCE);
+ PyModule_AddIntMacro(m, TIPC_CRITICAL_IMPORTANCE);
/* for subscriptions */
- PyModule_AddIntConstant(m, "TIPC_SUB_PORTS", TIPC_SUB_PORTS);
- PyModule_AddIntConstant(m, "TIPC_SUB_SERVICE", TIPC_SUB_SERVICE);
+ PyModule_AddIntMacro(m, TIPC_SUB_PORTS);
+ PyModule_AddIntMacro(m, TIPC_SUB_SERVICE);
#ifdef TIPC_SUB_CANCEL
/* doesn't seem to be available everywhere */
- PyModule_AddIntConstant(m, "TIPC_SUB_CANCEL", TIPC_SUB_CANCEL);
+ PyModule_AddIntMacro(m, TIPC_SUB_CANCEL);
#endif
- PyModule_AddIntConstant(m, "TIPC_WAIT_FOREVER", TIPC_WAIT_FOREVER);
- PyModule_AddIntConstant(m, "TIPC_PUBLISHED", TIPC_PUBLISHED);
- PyModule_AddIntConstant(m, "TIPC_WITHDRAWN", TIPC_WITHDRAWN);
- PyModule_AddIntConstant(m, "TIPC_SUBSCR_TIMEOUT", TIPC_SUBSCR_TIMEOUT);
- PyModule_AddIntConstant(m, "TIPC_CFG_SRV", TIPC_CFG_SRV);
- PyModule_AddIntConstant(m, "TIPC_TOP_SRV", TIPC_TOP_SRV);
+ PyModule_AddIntMacro(m, TIPC_WAIT_FOREVER);
+ PyModule_AddIntMacro(m, TIPC_PUBLISHED);
+ PyModule_AddIntMacro(m, TIPC_WITHDRAWN);
+ PyModule_AddIntMacro(m, TIPC_SUBSCR_TIMEOUT);
+ PyModule_AddIntMacro(m, TIPC_CFG_SRV);
+ PyModule_AddIntMacro(m, TIPC_TOP_SRV);
#endif
/* Socket types */
- PyModule_AddIntConstant(m, "SOCK_STREAM", SOCK_STREAM);
- PyModule_AddIntConstant(m, "SOCK_DGRAM", SOCK_DGRAM);
+ PyModule_AddIntMacro(m, SOCK_STREAM);
+ PyModule_AddIntMacro(m, SOCK_DGRAM);
/* We have incomplete socket support. */
- PyModule_AddIntConstant(m, "SOCK_RAW", SOCK_RAW);
- PyModule_AddIntConstant(m, "SOCK_SEQPACKET", SOCK_SEQPACKET);
+ PyModule_AddIntMacro(m, SOCK_RAW);
+ PyModule_AddIntMacro(m, SOCK_SEQPACKET);
#if defined(SOCK_RDM)
- PyModule_AddIntConstant(m, "SOCK_RDM", SOCK_RDM);
+ PyModule_AddIntMacro(m, SOCK_RDM);
#endif
#ifdef SOCK_CLOEXEC
- PyModule_AddIntConstant(m, "SOCK_CLOEXEC", SOCK_CLOEXEC);
+ PyModule_AddIntMacro(m, SOCK_CLOEXEC);
#endif
#ifdef SOCK_NONBLOCK
- PyModule_AddIntConstant(m, "SOCK_NONBLOCK", SOCK_NONBLOCK);
+ PyModule_AddIntMacro(m, SOCK_NONBLOCK);
#endif
#ifdef SO_DEBUG
- PyModule_AddIntConstant(m, "SO_DEBUG", SO_DEBUG);
+ PyModule_AddIntMacro(m, SO_DEBUG);
#endif
#ifdef SO_ACCEPTCONN
- PyModule_AddIntConstant(m, "SO_ACCEPTCONN", SO_ACCEPTCONN);
+ PyModule_AddIntMacro(m, SO_ACCEPTCONN);
#endif
#ifdef SO_REUSEADDR
- PyModule_AddIntConstant(m, "SO_REUSEADDR", SO_REUSEADDR);
+ PyModule_AddIntMacro(m, SO_REUSEADDR);
#endif
#ifdef SO_EXCLUSIVEADDRUSE
- PyModule_AddIntConstant(m, "SO_EXCLUSIVEADDRUSE", SO_EXCLUSIVEADDRUSE);
+ PyModule_AddIntMacro(m, SO_EXCLUSIVEADDRUSE);
#endif
#ifdef SO_KEEPALIVE
- PyModule_AddIntConstant(m, "SO_KEEPALIVE", SO_KEEPALIVE);
+ PyModule_AddIntMacro(m, SO_KEEPALIVE);
#endif
#ifdef SO_DONTROUTE
- PyModule_AddIntConstant(m, "SO_DONTROUTE", SO_DONTROUTE);
+ PyModule_AddIntMacro(m, SO_DONTROUTE);
#endif
#ifdef SO_BROADCAST
- PyModule_AddIntConstant(m, "SO_BROADCAST", SO_BROADCAST);
+ PyModule_AddIntMacro(m, SO_BROADCAST);
#endif
#ifdef SO_USELOOPBACK
- PyModule_AddIntConstant(m, "SO_USELOOPBACK", SO_USELOOPBACK);
+ PyModule_AddIntMacro(m, SO_USELOOPBACK);
#endif
#ifdef SO_LINGER
- PyModule_AddIntConstant(m, "SO_LINGER", SO_LINGER);
+ PyModule_AddIntMacro(m, SO_LINGER);
#endif
#ifdef SO_OOBINLINE
- PyModule_AddIntConstant(m, "SO_OOBINLINE", SO_OOBINLINE);
+ PyModule_AddIntMacro(m, SO_OOBINLINE);
#endif
#ifdef SO_REUSEPORT
- PyModule_AddIntConstant(m, "SO_REUSEPORT", SO_REUSEPORT);
+ PyModule_AddIntMacro(m, SO_REUSEPORT);
#endif
#ifdef SO_SNDBUF
- PyModule_AddIntConstant(m, "SO_SNDBUF", SO_SNDBUF);
+ PyModule_AddIntMacro(m, SO_SNDBUF);
#endif
#ifdef SO_RCVBUF
- PyModule_AddIntConstant(m, "SO_RCVBUF", SO_RCVBUF);
+ PyModule_AddIntMacro(m, SO_RCVBUF);
#endif
#ifdef SO_SNDLOWAT
- PyModule_AddIntConstant(m, "SO_SNDLOWAT", SO_SNDLOWAT);
+ PyModule_AddIntMacro(m, SO_SNDLOWAT);
#endif
#ifdef SO_RCVLOWAT
- PyModule_AddIntConstant(m, "SO_RCVLOWAT", SO_RCVLOWAT);
+ PyModule_AddIntMacro(m, SO_RCVLOWAT);
#endif
#ifdef SO_SNDTIMEO
- PyModule_AddIntConstant(m, "SO_SNDTIMEO", SO_SNDTIMEO);
+ PyModule_AddIntMacro(m, SO_SNDTIMEO);
#endif
#ifdef SO_RCVTIMEO
- PyModule_AddIntConstant(m, "SO_RCVTIMEO", SO_RCVTIMEO);
+ PyModule_AddIntMacro(m, SO_RCVTIMEO);
#endif
#ifdef SO_ERROR
- PyModule_AddIntConstant(m, "SO_ERROR", SO_ERROR);
+ PyModule_AddIntMacro(m, SO_ERROR);
#endif
#ifdef SO_TYPE
- PyModule_AddIntConstant(m, "SO_TYPE", SO_TYPE);
+ PyModule_AddIntMacro(m, SO_TYPE);
#endif
#ifdef SO_SETFIB
- PyModule_AddIntConstant(m, "SO_SETFIB", SO_SETFIB);
+ PyModule_AddIntMacro(m, SO_SETFIB);
#endif
#ifdef SO_PASSCRED
- PyModule_AddIntConstant(m, "SO_PASSCRED", SO_PASSCRED);
+ PyModule_AddIntMacro(m, SO_PASSCRED);
#endif
#ifdef SO_PEERCRED
- PyModule_AddIntConstant(m, "SO_PEERCRED", SO_PEERCRED);
+ PyModule_AddIntMacro(m, SO_PEERCRED);
#endif
#ifdef LOCAL_PEERCRED
- PyModule_AddIntConstant(m, "LOCAL_PEERCRED", LOCAL_PEERCRED);
+ PyModule_AddIntMacro(m, LOCAL_PEERCRED);
#endif
#ifdef SO_BINDTODEVICE
PyModule_AddIntMacro(m, SO_BINDTODEVICE);
@@ -6001,312 +5934,330 @@ PyInit__socket(void)
/* Maximum number of connections for "listen" */
#ifdef SOMAXCONN
- PyModule_AddIntConstant(m, "SOMAXCONN", SOMAXCONN);
+ PyModule_AddIntMacro(m, SOMAXCONN);
#else
PyModule_AddIntConstant(m, "SOMAXCONN", 5); /* Common value */
#endif
/* Ancilliary message types */
#ifdef SCM_RIGHTS
- PyModule_AddIntConstant(m, "SCM_RIGHTS", SCM_RIGHTS);
+ PyModule_AddIntMacro(m, SCM_RIGHTS);
#endif
#ifdef SCM_CREDENTIALS
- PyModule_AddIntConstant(m, "SCM_CREDENTIALS", SCM_CREDENTIALS);
+ PyModule_AddIntMacro(m, SCM_CREDENTIALS);
#endif
#ifdef SCM_CREDS
- PyModule_AddIntConstant(m, "SCM_CREDS", SCM_CREDS);
+ PyModule_AddIntMacro(m, SCM_CREDS);
#endif
/* Flags for send, recv */
#ifdef MSG_OOB
- PyModule_AddIntConstant(m, "MSG_OOB", MSG_OOB);
+ PyModule_AddIntMacro(m, MSG_OOB);
#endif
#ifdef MSG_PEEK
- PyModule_AddIntConstant(m, "MSG_PEEK", MSG_PEEK);
+ PyModule_AddIntMacro(m, MSG_PEEK);
#endif
#ifdef MSG_DONTROUTE
- PyModule_AddIntConstant(m, "MSG_DONTROUTE", MSG_DONTROUTE);
+ PyModule_AddIntMacro(m, MSG_DONTROUTE);
#endif
#ifdef MSG_DONTWAIT
- PyModule_AddIntConstant(m, "MSG_DONTWAIT", MSG_DONTWAIT);
+ PyModule_AddIntMacro(m, MSG_DONTWAIT);
#endif
#ifdef MSG_EOR
- PyModule_AddIntConstant(m, "MSG_EOR", MSG_EOR);
+ PyModule_AddIntMacro(m, MSG_EOR);
#endif
#ifdef MSG_TRUNC
- PyModule_AddIntConstant(m, "MSG_TRUNC", MSG_TRUNC);
+ PyModule_AddIntMacro(m, MSG_TRUNC);
#endif
#ifdef MSG_CTRUNC
- PyModule_AddIntConstant(m, "MSG_CTRUNC", MSG_CTRUNC);
+ PyModule_AddIntMacro(m, MSG_CTRUNC);
#endif
#ifdef MSG_WAITALL
- PyModule_AddIntConstant(m, "MSG_WAITALL", MSG_WAITALL);
+ PyModule_AddIntMacro(m, MSG_WAITALL);
#endif
#ifdef MSG_BTAG
- PyModule_AddIntConstant(m, "MSG_BTAG", MSG_BTAG);
+ PyModule_AddIntMacro(m, MSG_BTAG);
#endif
#ifdef MSG_ETAG
- PyModule_AddIntConstant(m, "MSG_ETAG", MSG_ETAG);
+ PyModule_AddIntMacro(m, MSG_ETAG);
#endif
#ifdef MSG_NOSIGNAL
- PyModule_AddIntConstant(m, "MSG_NOSIGNAL", MSG_NOSIGNAL);
+ PyModule_AddIntMacro(m, MSG_NOSIGNAL);
#endif
#ifdef MSG_NOTIFICATION
- PyModule_AddIntConstant(m, "MSG_NOTIFICATION", MSG_NOTIFICATION);
+ PyModule_AddIntMacro(m, MSG_NOTIFICATION);
#endif
#ifdef MSG_CMSG_CLOEXEC
- PyModule_AddIntConstant(m, "MSG_CMSG_CLOEXEC", MSG_CMSG_CLOEXEC);
+ PyModule_AddIntMacro(m, MSG_CMSG_CLOEXEC);
#endif
#ifdef MSG_ERRQUEUE
- PyModule_AddIntConstant(m, "MSG_ERRQUEUE", MSG_ERRQUEUE);
+ PyModule_AddIntMacro(m, MSG_ERRQUEUE);
#endif
#ifdef MSG_CONFIRM
- PyModule_AddIntConstant(m, "MSG_CONFIRM", MSG_CONFIRM);
+ PyModule_AddIntMacro(m, MSG_CONFIRM);
#endif
#ifdef MSG_MORE
- PyModule_AddIntConstant(m, "MSG_MORE", MSG_MORE);
+ PyModule_AddIntMacro(m, MSG_MORE);
#endif
#ifdef MSG_EOF
- PyModule_AddIntConstant(m, "MSG_EOF", MSG_EOF);
+ PyModule_AddIntMacro(m, MSG_EOF);
#endif
#ifdef MSG_BCAST
- PyModule_AddIntConstant(m, "MSG_BCAST", MSG_BCAST);
+ PyModule_AddIntMacro(m, MSG_BCAST);
#endif
#ifdef MSG_MCAST
- PyModule_AddIntConstant(m, "MSG_MCAST", MSG_MCAST);
+ PyModule_AddIntMacro(m, MSG_MCAST);
+#endif
+#ifdef MSG_FASTOPEN
+ PyModule_AddIntMacro(m, MSG_FASTOPEN);
#endif
/* Protocol level and numbers, usable for [gs]etsockopt */
#ifdef SOL_SOCKET
- PyModule_AddIntConstant(m, "SOL_SOCKET", SOL_SOCKET);
+ PyModule_AddIntMacro(m, SOL_SOCKET);
#endif
#ifdef SOL_IP
- PyModule_AddIntConstant(m, "SOL_IP", SOL_IP);
+ PyModule_AddIntMacro(m, SOL_IP);
#else
PyModule_AddIntConstant(m, "SOL_IP", 0);
#endif
#ifdef SOL_IPX
- PyModule_AddIntConstant(m, "SOL_IPX", SOL_IPX);
+ PyModule_AddIntMacro(m, SOL_IPX);
#endif
#ifdef SOL_AX25
- PyModule_AddIntConstant(m, "SOL_AX25", SOL_AX25);
+ PyModule_AddIntMacro(m, SOL_AX25);
#endif
#ifdef SOL_ATALK
- PyModule_AddIntConstant(m, "SOL_ATALK", SOL_ATALK);
+ PyModule_AddIntMacro(m, SOL_ATALK);
#endif
#ifdef SOL_NETROM
- PyModule_AddIntConstant(m, "SOL_NETROM", SOL_NETROM);
+ PyModule_AddIntMacro(m, SOL_NETROM);
#endif
#ifdef SOL_ROSE
- PyModule_AddIntConstant(m, "SOL_ROSE", SOL_ROSE);
+ PyModule_AddIntMacro(m, SOL_ROSE);
#endif
#ifdef SOL_TCP
- PyModule_AddIntConstant(m, "SOL_TCP", SOL_TCP);
+ PyModule_AddIntMacro(m, SOL_TCP);
#else
PyModule_AddIntConstant(m, "SOL_TCP", 6);
#endif
#ifdef SOL_UDP
- PyModule_AddIntConstant(m, "SOL_UDP", SOL_UDP);
+ PyModule_AddIntMacro(m, SOL_UDP);
#else
PyModule_AddIntConstant(m, "SOL_UDP", 17);
#endif
#ifdef SOL_CAN_BASE
- PyModule_AddIntConstant(m, "SOL_CAN_BASE", SOL_CAN_BASE);
+ PyModule_AddIntMacro(m, SOL_CAN_BASE);
#endif
#ifdef SOL_CAN_RAW
- PyModule_AddIntConstant(m, "SOL_CAN_RAW", SOL_CAN_RAW);
- PyModule_AddIntConstant(m, "CAN_RAW", CAN_RAW);
+ PyModule_AddIntMacro(m, SOL_CAN_RAW);
+ PyModule_AddIntMacro(m, CAN_RAW);
#endif
#ifdef HAVE_LINUX_CAN_H
- PyModule_AddIntConstant(m, "CAN_EFF_FLAG", CAN_EFF_FLAG);
- PyModule_AddIntConstant(m, "CAN_RTR_FLAG", CAN_RTR_FLAG);
- PyModule_AddIntConstant(m, "CAN_ERR_FLAG", CAN_ERR_FLAG);
+ PyModule_AddIntMacro(m, CAN_EFF_FLAG);
+ PyModule_AddIntMacro(m, CAN_RTR_FLAG);
+ PyModule_AddIntMacro(m, CAN_ERR_FLAG);
- PyModule_AddIntConstant(m, "CAN_SFF_MASK", CAN_SFF_MASK);
- PyModule_AddIntConstant(m, "CAN_EFF_MASK", CAN_EFF_MASK);
- PyModule_AddIntConstant(m, "CAN_ERR_MASK", CAN_ERR_MASK);
+ PyModule_AddIntMacro(m, CAN_SFF_MASK);
+ PyModule_AddIntMacro(m, CAN_EFF_MASK);
+ PyModule_AddIntMacro(m, CAN_ERR_MASK);
#endif
#ifdef HAVE_LINUX_CAN_RAW_H
- PyModule_AddIntConstant(m, "CAN_RAW_FILTER", CAN_RAW_FILTER);
- PyModule_AddIntConstant(m, "CAN_RAW_ERR_FILTER", CAN_RAW_ERR_FILTER);
- PyModule_AddIntConstant(m, "CAN_RAW_LOOPBACK", CAN_RAW_LOOPBACK);
- PyModule_AddIntConstant(m, "CAN_RAW_RECV_OWN_MSGS", CAN_RAW_RECV_OWN_MSGS);
+ PyModule_AddIntMacro(m, CAN_RAW_FILTER);
+ PyModule_AddIntMacro(m, CAN_RAW_ERR_FILTER);
+ PyModule_AddIntMacro(m, CAN_RAW_LOOPBACK);
+ PyModule_AddIntMacro(m, CAN_RAW_RECV_OWN_MSGS);
+#endif
+#ifdef HAVE_LINUX_CAN_BCM_H
+ PyModule_AddIntMacro(m, CAN_BCM);
+ PyModule_AddIntConstant(m, "CAN_BCM_TX_SETUP", TX_SETUP);
+ PyModule_AddIntConstant(m, "CAN_BCM_TX_DELETE", TX_DELETE);
+ PyModule_AddIntConstant(m, "CAN_BCM_TX_READ", TX_READ);
+ PyModule_AddIntConstant(m, "CAN_BCM_TX_SEND", TX_SEND);
+ PyModule_AddIntConstant(m, "CAN_BCM_RX_SETUP", RX_SETUP);
+ PyModule_AddIntConstant(m, "CAN_BCM_RX_DELETE", RX_DELETE);
+ PyModule_AddIntConstant(m, "CAN_BCM_RX_READ", RX_READ);
+ PyModule_AddIntConstant(m, "CAN_BCM_TX_STATUS", TX_STATUS);
+ PyModule_AddIntConstant(m, "CAN_BCM_TX_EXPIRED", TX_EXPIRED);
+ PyModule_AddIntConstant(m, "CAN_BCM_RX_STATUS", RX_STATUS);
+ PyModule_AddIntConstant(m, "CAN_BCM_RX_TIMEOUT", RX_TIMEOUT);
+ PyModule_AddIntConstant(m, "CAN_BCM_RX_CHANGED", RX_CHANGED);
#endif
#ifdef SOL_RDS
- PyModule_AddIntConstant(m, "SOL_RDS", SOL_RDS);
+ PyModule_AddIntMacro(m, SOL_RDS);
#endif
#ifdef RDS_CANCEL_SENT_TO
- PyModule_AddIntConstant(m, "RDS_CANCEL_SENT_TO", RDS_CANCEL_SENT_TO);
+ PyModule_AddIntMacro(m, RDS_CANCEL_SENT_TO);
#endif
#ifdef RDS_GET_MR
- PyModule_AddIntConstant(m, "RDS_GET_MR", RDS_GET_MR);
+ PyModule_AddIntMacro(m, RDS_GET_MR);
#endif
#ifdef RDS_FREE_MR
- PyModule_AddIntConstant(m, "RDS_FREE_MR", RDS_FREE_MR);
+ PyModule_AddIntMacro(m, RDS_FREE_MR);
#endif
#ifdef RDS_RECVERR
- PyModule_AddIntConstant(m, "RDS_RECVERR", RDS_RECVERR);
+ PyModule_AddIntMacro(m, RDS_RECVERR);
#endif
#ifdef RDS_CONG_MONITOR
- PyModule_AddIntConstant(m, "RDS_CONG_MONITOR", RDS_CONG_MONITOR);
+ PyModule_AddIntMacro(m, RDS_CONG_MONITOR);
#endif
#ifdef RDS_GET_MR_FOR_DEST
- PyModule_AddIntConstant(m, "RDS_GET_MR_FOR_DEST", RDS_GET_MR_FOR_DEST);
+ PyModule_AddIntMacro(m, RDS_GET_MR_FOR_DEST);
#endif
#ifdef IPPROTO_IP
- PyModule_AddIntConstant(m, "IPPROTO_IP", IPPROTO_IP);
+ PyModule_AddIntMacro(m, IPPROTO_IP);
#else
PyModule_AddIntConstant(m, "IPPROTO_IP", 0);
#endif
#ifdef IPPROTO_HOPOPTS
- PyModule_AddIntConstant(m, "IPPROTO_HOPOPTS", IPPROTO_HOPOPTS);
+ PyModule_AddIntMacro(m, IPPROTO_HOPOPTS);
#endif
#ifdef IPPROTO_ICMP
- PyModule_AddIntConstant(m, "IPPROTO_ICMP", IPPROTO_ICMP);
+ PyModule_AddIntMacro(m, IPPROTO_ICMP);
#else
PyModule_AddIntConstant(m, "IPPROTO_ICMP", 1);
#endif
#ifdef IPPROTO_IGMP
- PyModule_AddIntConstant(m, "IPPROTO_IGMP", IPPROTO_IGMP);
+ PyModule_AddIntMacro(m, IPPROTO_IGMP);
#endif
#ifdef IPPROTO_GGP
- PyModule_AddIntConstant(m, "IPPROTO_GGP", IPPROTO_GGP);
+ PyModule_AddIntMacro(m, IPPROTO_GGP);
#endif
#ifdef IPPROTO_IPV4
- PyModule_AddIntConstant(m, "IPPROTO_IPV4", IPPROTO_IPV4);
+ PyModule_AddIntMacro(m, IPPROTO_IPV4);
#endif
#ifdef IPPROTO_IPV6
- PyModule_AddIntConstant(m, "IPPROTO_IPV6", IPPROTO_IPV6);
+ PyModule_AddIntMacro(m, IPPROTO_IPV6);
#endif
#ifdef IPPROTO_IPIP
- PyModule_AddIntConstant(m, "IPPROTO_IPIP", IPPROTO_IPIP);
+ PyModule_AddIntMacro(m, IPPROTO_IPIP);
#endif
#ifdef IPPROTO_TCP
- PyModule_AddIntConstant(m, "IPPROTO_TCP", IPPROTO_TCP);
+ PyModule_AddIntMacro(m, IPPROTO_TCP);
#else
PyModule_AddIntConstant(m, "IPPROTO_TCP", 6);
#endif
#ifdef IPPROTO_EGP
- PyModule_AddIntConstant(m, "IPPROTO_EGP", IPPROTO_EGP);
+ PyModule_AddIntMacro(m, IPPROTO_EGP);
#endif
#ifdef IPPROTO_PUP
- PyModule_AddIntConstant(m, "IPPROTO_PUP", IPPROTO_PUP);
+ PyModule_AddIntMacro(m, IPPROTO_PUP);
#endif
#ifdef IPPROTO_UDP
- PyModule_AddIntConstant(m, "IPPROTO_UDP", IPPROTO_UDP);
+ PyModule_AddIntMacro(m, IPPROTO_UDP);
#else
PyModule_AddIntConstant(m, "IPPROTO_UDP", 17);
#endif
#ifdef IPPROTO_IDP
- PyModule_AddIntConstant(m, "IPPROTO_IDP", IPPROTO_IDP);
+ PyModule_AddIntMacro(m, IPPROTO_IDP);
#endif
#ifdef IPPROTO_HELLO
- PyModule_AddIntConstant(m, "IPPROTO_HELLO", IPPROTO_HELLO);
+ PyModule_AddIntMacro(m, IPPROTO_HELLO);
#endif
#ifdef IPPROTO_ND
- PyModule_AddIntConstant(m, "IPPROTO_ND", IPPROTO_ND);
+ PyModule_AddIntMacro(m, IPPROTO_ND);
#endif
#ifdef IPPROTO_TP
- PyModule_AddIntConstant(m, "IPPROTO_TP", IPPROTO_TP);
+ PyModule_AddIntMacro(m, IPPROTO_TP);
#endif
#ifdef IPPROTO_IPV6
- PyModule_AddIntConstant(m, "IPPROTO_IPV6", IPPROTO_IPV6);
+ PyModule_AddIntMacro(m, IPPROTO_IPV6);
#endif
#ifdef IPPROTO_ROUTING
- PyModule_AddIntConstant(m, "IPPROTO_ROUTING", IPPROTO_ROUTING);
+ PyModule_AddIntMacro(m, IPPROTO_ROUTING);
#endif
#ifdef IPPROTO_FRAGMENT
- PyModule_AddIntConstant(m, "IPPROTO_FRAGMENT", IPPROTO_FRAGMENT);
+ PyModule_AddIntMacro(m, IPPROTO_FRAGMENT);
#endif
#ifdef IPPROTO_RSVP
- PyModule_AddIntConstant(m, "IPPROTO_RSVP", IPPROTO_RSVP);
+ PyModule_AddIntMacro(m, IPPROTO_RSVP);
#endif
#ifdef IPPROTO_GRE
- PyModule_AddIntConstant(m, "IPPROTO_GRE", IPPROTO_GRE);
+ PyModule_AddIntMacro(m, IPPROTO_GRE);
#endif
#ifdef IPPROTO_ESP
- PyModule_AddIntConstant(m, "IPPROTO_ESP", IPPROTO_ESP);
+ PyModule_AddIntMacro(m, IPPROTO_ESP);
#endif
#ifdef IPPROTO_AH
- PyModule_AddIntConstant(m, "IPPROTO_AH", IPPROTO_AH);
+ PyModule_AddIntMacro(m, IPPROTO_AH);
#endif
#ifdef IPPROTO_MOBILE
- PyModule_AddIntConstant(m, "IPPROTO_MOBILE", IPPROTO_MOBILE);
+ PyModule_AddIntMacro(m, IPPROTO_MOBILE);
#endif
#ifdef IPPROTO_ICMPV6
- PyModule_AddIntConstant(m, "IPPROTO_ICMPV6", IPPROTO_ICMPV6);
+ PyModule_AddIntMacro(m, IPPROTO_ICMPV6);
#endif
#ifdef IPPROTO_NONE
- PyModule_AddIntConstant(m, "IPPROTO_NONE", IPPROTO_NONE);
+ PyModule_AddIntMacro(m, IPPROTO_NONE);
#endif
#ifdef IPPROTO_DSTOPTS
- PyModule_AddIntConstant(m, "IPPROTO_DSTOPTS", IPPROTO_DSTOPTS);
+ PyModule_AddIntMacro(m, IPPROTO_DSTOPTS);
#endif
#ifdef IPPROTO_XTP
- PyModule_AddIntConstant(m, "IPPROTO_XTP", IPPROTO_XTP);
+ PyModule_AddIntMacro(m, IPPROTO_XTP);
#endif
#ifdef IPPROTO_EON
- PyModule_AddIntConstant(m, "IPPROTO_EON", IPPROTO_EON);
+ PyModule_AddIntMacro(m, IPPROTO_EON);
#endif
#ifdef IPPROTO_PIM
- PyModule_AddIntConstant(m, "IPPROTO_PIM", IPPROTO_PIM);
+ PyModule_AddIntMacro(m, IPPROTO_PIM);
#endif
#ifdef IPPROTO_IPCOMP
- PyModule_AddIntConstant(m, "IPPROTO_IPCOMP", IPPROTO_IPCOMP);
+ PyModule_AddIntMacro(m, IPPROTO_IPCOMP);
#endif
#ifdef IPPROTO_VRRP
- PyModule_AddIntConstant(m, "IPPROTO_VRRP", IPPROTO_VRRP);
+ PyModule_AddIntMacro(m, IPPROTO_VRRP);
#endif
#ifdef IPPROTO_SCTP
- PyModule_AddIntConstant(m, "IPPROTO_SCTP", IPPROTO_SCTP);
+ PyModule_AddIntMacro(m, IPPROTO_SCTP);
#endif
#ifdef IPPROTO_BIP
- PyModule_AddIntConstant(m, "IPPROTO_BIP", IPPROTO_BIP);
+ PyModule_AddIntMacro(m, IPPROTO_BIP);
#endif
/**/
#ifdef IPPROTO_RAW
- PyModule_AddIntConstant(m, "IPPROTO_RAW", IPPROTO_RAW);
+ PyModule_AddIntMacro(m, IPPROTO_RAW);
#else
PyModule_AddIntConstant(m, "IPPROTO_RAW", 255);
#endif
#ifdef IPPROTO_MAX
- PyModule_AddIntConstant(m, "IPPROTO_MAX", IPPROTO_MAX);
+ PyModule_AddIntMacro(m, IPPROTO_MAX);
#endif
#ifdef SYSPROTO_CONTROL
- PyModule_AddIntConstant(m, "SYSPROTO_CONTROL", SYSPROTO_CONTROL);
+ PyModule_AddIntMacro(m, SYSPROTO_CONTROL);
#endif
/* Some port configuration */
#ifdef IPPORT_RESERVED
- PyModule_AddIntConstant(m, "IPPORT_RESERVED", IPPORT_RESERVED);
+ PyModule_AddIntMacro(m, IPPORT_RESERVED);
#else
PyModule_AddIntConstant(m, "IPPORT_RESERVED", 1024);
#endif
#ifdef IPPORT_USERRESERVED
- PyModule_AddIntConstant(m, "IPPORT_USERRESERVED", IPPORT_USERRESERVED);
+ PyModule_AddIntMacro(m, IPPORT_USERRESERVED);
#else
PyModule_AddIntConstant(m, "IPPORT_USERRESERVED", 5000);
#endif
/* Some reserved IP v.4 addresses */
#ifdef INADDR_ANY
- PyModule_AddIntConstant(m, "INADDR_ANY", INADDR_ANY);
+ PyModule_AddIntMacro(m, INADDR_ANY);
#else
PyModule_AddIntConstant(m, "INADDR_ANY", 0x00000000);
#endif
#ifdef INADDR_BROADCAST
- PyModule_AddIntConstant(m, "INADDR_BROADCAST", INADDR_BROADCAST);
+ PyModule_AddIntMacro(m, INADDR_BROADCAST);
#else
PyModule_AddIntConstant(m, "INADDR_BROADCAST", 0xffffffff);
#endif
#ifdef INADDR_LOOPBACK
- PyModule_AddIntConstant(m, "INADDR_LOOPBACK", INADDR_LOOPBACK);
+ PyModule_AddIntMacro(m, INADDR_LOOPBACK);
#else
PyModule_AddIntConstant(m, "INADDR_LOOPBACK", 0x7F000001);
#endif
#ifdef INADDR_UNSPEC_GROUP
- PyModule_AddIntConstant(m, "INADDR_UNSPEC_GROUP", INADDR_UNSPEC_GROUP);
+ PyModule_AddIntMacro(m, INADDR_UNSPEC_GROUP);
#else
PyModule_AddIntConstant(m, "INADDR_UNSPEC_GROUP", 0xe0000000);
#endif
@@ -6317,354 +6268,353 @@ PyInit__socket(void)
PyModule_AddIntConstant(m, "INADDR_ALLHOSTS_GROUP", 0xe0000001);
#endif
#ifdef INADDR_MAX_LOCAL_GROUP
- PyModule_AddIntConstant(m, "INADDR_MAX_LOCAL_GROUP",
- INADDR_MAX_LOCAL_GROUP);
+ PyModule_AddIntMacro(m, INADDR_MAX_LOCAL_GROUP);
#else
PyModule_AddIntConstant(m, "INADDR_MAX_LOCAL_GROUP", 0xe00000ff);
#endif
#ifdef INADDR_NONE
- PyModule_AddIntConstant(m, "INADDR_NONE", INADDR_NONE);
+ PyModule_AddIntMacro(m, INADDR_NONE);
#else
PyModule_AddIntConstant(m, "INADDR_NONE", 0xffffffff);
#endif
/* IPv4 [gs]etsockopt options */
#ifdef IP_OPTIONS
- PyModule_AddIntConstant(m, "IP_OPTIONS", IP_OPTIONS);
+ PyModule_AddIntMacro(m, IP_OPTIONS);
#endif
#ifdef IP_HDRINCL
- PyModule_AddIntConstant(m, "IP_HDRINCL", IP_HDRINCL);
+ PyModule_AddIntMacro(m, IP_HDRINCL);
#endif
#ifdef IP_TOS
- PyModule_AddIntConstant(m, "IP_TOS", IP_TOS);
+ PyModule_AddIntMacro(m, IP_TOS);
#endif
#ifdef IP_TTL
- PyModule_AddIntConstant(m, "IP_TTL", IP_TTL);
+ PyModule_AddIntMacro(m, IP_TTL);
#endif
#ifdef IP_RECVOPTS
- PyModule_AddIntConstant(m, "IP_RECVOPTS", IP_RECVOPTS);
+ PyModule_AddIntMacro(m, IP_RECVOPTS);
#endif
#ifdef IP_RECVRETOPTS
- PyModule_AddIntConstant(m, "IP_RECVRETOPTS", IP_RECVRETOPTS);
+ PyModule_AddIntMacro(m, IP_RECVRETOPTS);
#endif
#ifdef IP_RECVDSTADDR
- PyModule_AddIntConstant(m, "IP_RECVDSTADDR", IP_RECVDSTADDR);
+ PyModule_AddIntMacro(m, IP_RECVDSTADDR);
#endif
#ifdef IP_RETOPTS
- PyModule_AddIntConstant(m, "IP_RETOPTS", IP_RETOPTS);
+ PyModule_AddIntMacro(m, IP_RETOPTS);
#endif
#ifdef IP_MULTICAST_IF
- PyModule_AddIntConstant(m, "IP_MULTICAST_IF", IP_MULTICAST_IF);
+ PyModule_AddIntMacro(m, IP_MULTICAST_IF);
#endif
#ifdef IP_MULTICAST_TTL
- PyModule_AddIntConstant(m, "IP_MULTICAST_TTL", IP_MULTICAST_TTL);
+ PyModule_AddIntMacro(m, IP_MULTICAST_TTL);
#endif
#ifdef IP_MULTICAST_LOOP
- PyModule_AddIntConstant(m, "IP_MULTICAST_LOOP", IP_MULTICAST_LOOP);
+ PyModule_AddIntMacro(m, IP_MULTICAST_LOOP);
#endif
#ifdef IP_ADD_MEMBERSHIP
- PyModule_AddIntConstant(m, "IP_ADD_MEMBERSHIP", IP_ADD_MEMBERSHIP);
+ PyModule_AddIntMacro(m, IP_ADD_MEMBERSHIP);
#endif
#ifdef IP_DROP_MEMBERSHIP
- PyModule_AddIntConstant(m, "IP_DROP_MEMBERSHIP", IP_DROP_MEMBERSHIP);
+ PyModule_AddIntMacro(m, IP_DROP_MEMBERSHIP);
#endif
#ifdef IP_DEFAULT_MULTICAST_TTL
- PyModule_AddIntConstant(m, "IP_DEFAULT_MULTICAST_TTL",
- IP_DEFAULT_MULTICAST_TTL);
+ PyModule_AddIntMacro(m, IP_DEFAULT_MULTICAST_TTL);
#endif
#ifdef IP_DEFAULT_MULTICAST_LOOP
- PyModule_AddIntConstant(m, "IP_DEFAULT_MULTICAST_LOOP",
- IP_DEFAULT_MULTICAST_LOOP);
+ PyModule_AddIntMacro(m, IP_DEFAULT_MULTICAST_LOOP);
#endif
#ifdef IP_MAX_MEMBERSHIPS
- PyModule_AddIntConstant(m, "IP_MAX_MEMBERSHIPS", IP_MAX_MEMBERSHIPS);
+ PyModule_AddIntMacro(m, IP_MAX_MEMBERSHIPS);
#endif
#ifdef IP_TRANSPARENT
- PyModule_AddIntConstant(m, "IP_TRANSPARENT", IP_TRANSPARENT);
+ PyModule_AddIntMacro(m, IP_TRANSPARENT);
#endif
/* IPv6 [gs]etsockopt options, defined in RFC2553 */
#ifdef IPV6_JOIN_GROUP
- PyModule_AddIntConstant(m, "IPV6_JOIN_GROUP", IPV6_JOIN_GROUP);
+ PyModule_AddIntMacro(m, IPV6_JOIN_GROUP);
#endif
#ifdef IPV6_LEAVE_GROUP
- PyModule_AddIntConstant(m, "IPV6_LEAVE_GROUP", IPV6_LEAVE_GROUP);
+ PyModule_AddIntMacro(m, IPV6_LEAVE_GROUP);
#endif
#ifdef IPV6_MULTICAST_HOPS
- PyModule_AddIntConstant(m, "IPV6_MULTICAST_HOPS", IPV6_MULTICAST_HOPS);
+ PyModule_AddIntMacro(m, IPV6_MULTICAST_HOPS);
#endif
#ifdef IPV6_MULTICAST_IF
- PyModule_AddIntConstant(m, "IPV6_MULTICAST_IF", IPV6_MULTICAST_IF);
+ PyModule_AddIntMacro(m, IPV6_MULTICAST_IF);
#endif
#ifdef IPV6_MULTICAST_LOOP
- PyModule_AddIntConstant(m, "IPV6_MULTICAST_LOOP", IPV6_MULTICAST_LOOP);
+ PyModule_AddIntMacro(m, IPV6_MULTICAST_LOOP);
#endif
#ifdef IPV6_UNICAST_HOPS
- PyModule_AddIntConstant(m, "IPV6_UNICAST_HOPS", IPV6_UNICAST_HOPS);
+ PyModule_AddIntMacro(m, IPV6_UNICAST_HOPS);
#endif
/* Additional IPV6 socket options, defined in RFC 3493 */
#ifdef IPV6_V6ONLY
- PyModule_AddIntConstant(m, "IPV6_V6ONLY", IPV6_V6ONLY);
+ PyModule_AddIntMacro(m, IPV6_V6ONLY);
#endif
/* Advanced IPV6 socket options, from RFC 3542 */
#ifdef IPV6_CHECKSUM
- PyModule_AddIntConstant(m, "IPV6_CHECKSUM", IPV6_CHECKSUM);
+ PyModule_AddIntMacro(m, IPV6_CHECKSUM);
#endif
#ifdef IPV6_DONTFRAG
- PyModule_AddIntConstant(m, "IPV6_DONTFRAG", IPV6_DONTFRAG);
+ PyModule_AddIntMacro(m, IPV6_DONTFRAG);
#endif
#ifdef IPV6_DSTOPTS
- PyModule_AddIntConstant(m, "IPV6_DSTOPTS", IPV6_DSTOPTS);
+ PyModule_AddIntMacro(m, IPV6_DSTOPTS);
#endif
#ifdef IPV6_HOPLIMIT
- PyModule_AddIntConstant(m, "IPV6_HOPLIMIT", IPV6_HOPLIMIT);
+ PyModule_AddIntMacro(m, IPV6_HOPLIMIT);
#endif
#ifdef IPV6_HOPOPTS
- PyModule_AddIntConstant(m, "IPV6_HOPOPTS", IPV6_HOPOPTS);
+ PyModule_AddIntMacro(m, IPV6_HOPOPTS);
#endif
#ifdef IPV6_NEXTHOP
- PyModule_AddIntConstant(m, "IPV6_NEXTHOP", IPV6_NEXTHOP);
+ PyModule_AddIntMacro(m, IPV6_NEXTHOP);
#endif
#ifdef IPV6_PATHMTU
- PyModule_AddIntConstant(m, "IPV6_PATHMTU", IPV6_PATHMTU);
+ PyModule_AddIntMacro(m, IPV6_PATHMTU);
#endif
#ifdef IPV6_PKTINFO
- PyModule_AddIntConstant(m, "IPV6_PKTINFO", IPV6_PKTINFO);
+ PyModule_AddIntMacro(m, IPV6_PKTINFO);
#endif
#ifdef IPV6_RECVDSTOPTS
- PyModule_AddIntConstant(m, "IPV6_RECVDSTOPTS", IPV6_RECVDSTOPTS);
+ PyModule_AddIntMacro(m, IPV6_RECVDSTOPTS);
#endif
#ifdef IPV6_RECVHOPLIMIT
- PyModule_AddIntConstant(m, "IPV6_RECVHOPLIMIT", IPV6_RECVHOPLIMIT);
+ PyModule_AddIntMacro(m, IPV6_RECVHOPLIMIT);
#endif
#ifdef IPV6_RECVHOPOPTS
- PyModule_AddIntConstant(m, "IPV6_RECVHOPOPTS", IPV6_RECVHOPOPTS);
+ PyModule_AddIntMacro(m, IPV6_RECVHOPOPTS);
#endif
#ifdef IPV6_RECVPKTINFO
- PyModule_AddIntConstant(m, "IPV6_RECVPKTINFO", IPV6_RECVPKTINFO);
+ PyModule_AddIntMacro(m, IPV6_RECVPKTINFO);
#endif
#ifdef IPV6_RECVRTHDR
- PyModule_AddIntConstant(m, "IPV6_RECVRTHDR", IPV6_RECVRTHDR);
+ PyModule_AddIntMacro(m, IPV6_RECVRTHDR);
#endif
#ifdef IPV6_RECVTCLASS
- PyModule_AddIntConstant(m, "IPV6_RECVTCLASS", IPV6_RECVTCLASS);
+ PyModule_AddIntMacro(m, IPV6_RECVTCLASS);
#endif
#ifdef IPV6_RTHDR
- PyModule_AddIntConstant(m, "IPV6_RTHDR", IPV6_RTHDR);
+ PyModule_AddIntMacro(m, IPV6_RTHDR);
#endif
#ifdef IPV6_RTHDRDSTOPTS
- PyModule_AddIntConstant(m, "IPV6_RTHDRDSTOPTS", IPV6_RTHDRDSTOPTS);
+ PyModule_AddIntMacro(m, IPV6_RTHDRDSTOPTS);
#endif
#ifdef IPV6_RTHDR_TYPE_0
- PyModule_AddIntConstant(m, "IPV6_RTHDR_TYPE_0", IPV6_RTHDR_TYPE_0);
+ PyModule_AddIntMacro(m, IPV6_RTHDR_TYPE_0);
#endif
#ifdef IPV6_RECVPATHMTU
- PyModule_AddIntConstant(m, "IPV6_RECVPATHMTU", IPV6_RECVPATHMTU);
+ PyModule_AddIntMacro(m, IPV6_RECVPATHMTU);
#endif
#ifdef IPV6_TCLASS
- PyModule_AddIntConstant(m, "IPV6_TCLASS", IPV6_TCLASS);
+ PyModule_AddIntMacro(m, IPV6_TCLASS);
#endif
#ifdef IPV6_USE_MIN_MTU
- PyModule_AddIntConstant(m, "IPV6_USE_MIN_MTU", IPV6_USE_MIN_MTU);
+ PyModule_AddIntMacro(m, IPV6_USE_MIN_MTU);
#endif
/* TCP options */
#ifdef TCP_NODELAY
- PyModule_AddIntConstant(m, "TCP_NODELAY", TCP_NODELAY);
+ PyModule_AddIntMacro(m, TCP_NODELAY);
#endif
#ifdef TCP_MAXSEG
- PyModule_AddIntConstant(m, "TCP_MAXSEG", TCP_MAXSEG);
+ PyModule_AddIntMacro(m, TCP_MAXSEG);
#endif
#ifdef TCP_CORK
- PyModule_AddIntConstant(m, "TCP_CORK", TCP_CORK);
+ PyModule_AddIntMacro(m, TCP_CORK);
#endif
#ifdef TCP_KEEPIDLE
- PyModule_AddIntConstant(m, "TCP_KEEPIDLE", TCP_KEEPIDLE);
+ PyModule_AddIntMacro(m, TCP_KEEPIDLE);
#endif
#ifdef TCP_KEEPINTVL
- PyModule_AddIntConstant(m, "TCP_KEEPINTVL", TCP_KEEPINTVL);
+ PyModule_AddIntMacro(m, TCP_KEEPINTVL);
#endif
#ifdef TCP_KEEPCNT
- PyModule_AddIntConstant(m, "TCP_KEEPCNT", TCP_KEEPCNT);
+ PyModule_AddIntMacro(m, TCP_KEEPCNT);
#endif
#ifdef TCP_SYNCNT
- PyModule_AddIntConstant(m, "TCP_SYNCNT", TCP_SYNCNT);
+ PyModule_AddIntMacro(m, TCP_SYNCNT);
#endif
#ifdef TCP_LINGER2
- PyModule_AddIntConstant(m, "TCP_LINGER2", TCP_LINGER2);
+ PyModule_AddIntMacro(m, TCP_LINGER2);
#endif
#ifdef TCP_DEFER_ACCEPT
- PyModule_AddIntConstant(m, "TCP_DEFER_ACCEPT", TCP_DEFER_ACCEPT);
+ PyModule_AddIntMacro(m, TCP_DEFER_ACCEPT);
#endif
#ifdef TCP_WINDOW_CLAMP
- PyModule_AddIntConstant(m, "TCP_WINDOW_CLAMP", TCP_WINDOW_CLAMP);
+ PyModule_AddIntMacro(m, TCP_WINDOW_CLAMP);
#endif
#ifdef TCP_INFO
- PyModule_AddIntConstant(m, "TCP_INFO", TCP_INFO);
+ PyModule_AddIntMacro(m, TCP_INFO);
#endif
#ifdef TCP_QUICKACK
- PyModule_AddIntConstant(m, "TCP_QUICKACK", TCP_QUICKACK);
+ PyModule_AddIntMacro(m, TCP_QUICKACK);
+#endif
+#ifdef TCP_FASTOPEN
+ PyModule_AddIntMacro(m, TCP_FASTOPEN);
#endif
-
/* IPX options */
#ifdef IPX_TYPE
- PyModule_AddIntConstant(m, "IPX_TYPE", IPX_TYPE);
+ PyModule_AddIntMacro(m, IPX_TYPE);
#endif
/* Reliable Datagram Sockets */
#ifdef RDS_CMSG_RDMA_ARGS
- PyModule_AddIntConstant(m, "RDS_CMSG_RDMA_ARGS", RDS_CMSG_RDMA_ARGS);
+ PyModule_AddIntMacro(m, RDS_CMSG_RDMA_ARGS);
#endif
#ifdef RDS_CMSG_RDMA_DEST
- PyModule_AddIntConstant(m, "RDS_CMSG_RDMA_DEST", RDS_CMSG_RDMA_DEST);
+ PyModule_AddIntMacro(m, RDS_CMSG_RDMA_DEST);
#endif
#ifdef RDS_CMSG_RDMA_MAP
- PyModule_AddIntConstant(m, "RDS_CMSG_RDMA_MAP", RDS_CMSG_RDMA_MAP);
+ PyModule_AddIntMacro(m, RDS_CMSG_RDMA_MAP);
#endif
#ifdef RDS_CMSG_RDMA_STATUS
- PyModule_AddIntConstant(m, "RDS_CMSG_RDMA_STATUS", RDS_CMSG_RDMA_STATUS);
+ PyModule_AddIntMacro(m, RDS_CMSG_RDMA_STATUS);
#endif
#ifdef RDS_CMSG_RDMA_UPDATE
- PyModule_AddIntConstant(m, "RDS_CMSG_RDMA_UPDATE", RDS_CMSG_RDMA_UPDATE);
+ PyModule_AddIntMacro(m, RDS_CMSG_RDMA_UPDATE);
#endif
#ifdef RDS_RDMA_READWRITE
- PyModule_AddIntConstant(m, "RDS_RDMA_READWRITE", RDS_RDMA_READWRITE);
+ PyModule_AddIntMacro(m, RDS_RDMA_READWRITE);
#endif
#ifdef RDS_RDMA_FENCE
- PyModule_AddIntConstant(m, "RDS_RDMA_FENCE", RDS_RDMA_FENCE);
+ PyModule_AddIntMacro(m, RDS_RDMA_FENCE);
#endif
#ifdef RDS_RDMA_INVALIDATE
- PyModule_AddIntConstant(m, "RDS_RDMA_INVALIDATE", RDS_RDMA_INVALIDATE);
+ PyModule_AddIntMacro(m, RDS_RDMA_INVALIDATE);
#endif
#ifdef RDS_RDMA_USE_ONCE
- PyModule_AddIntConstant(m, "RDS_RDMA_USE_ONCE", RDS_RDMA_USE_ONCE);
+ PyModule_AddIntMacro(m, RDS_RDMA_USE_ONCE);
#endif
#ifdef RDS_RDMA_DONTWAIT
- PyModule_AddIntConstant(m, "RDS_RDMA_DONTWAIT", RDS_RDMA_DONTWAIT);
+ PyModule_AddIntMacro(m, RDS_RDMA_DONTWAIT);
#endif
#ifdef RDS_RDMA_NOTIFY_ME
- PyModule_AddIntConstant(m, "RDS_RDMA_NOTIFY_ME", RDS_RDMA_NOTIFY_ME);
+ PyModule_AddIntMacro(m, RDS_RDMA_NOTIFY_ME);
#endif
#ifdef RDS_RDMA_SILENT
- PyModule_AddIntConstant(m, "RDS_RDMA_SILENT", RDS_RDMA_SILENT);
+ PyModule_AddIntMacro(m, RDS_RDMA_SILENT);
#endif
/* get{addr,name}info parameters */
#ifdef EAI_ADDRFAMILY
- PyModule_AddIntConstant(m, "EAI_ADDRFAMILY", EAI_ADDRFAMILY);
+ PyModule_AddIntMacro(m, EAI_ADDRFAMILY);
#endif
#ifdef EAI_AGAIN
- PyModule_AddIntConstant(m, "EAI_AGAIN", EAI_AGAIN);
+ PyModule_AddIntMacro(m, EAI_AGAIN);
#endif
#ifdef EAI_BADFLAGS
- PyModule_AddIntConstant(m, "EAI_BADFLAGS", EAI_BADFLAGS);
+ PyModule_AddIntMacro(m, EAI_BADFLAGS);
#endif
#ifdef EAI_FAIL
- PyModule_AddIntConstant(m, "EAI_FAIL", EAI_FAIL);
+ PyModule_AddIntMacro(m, EAI_FAIL);
#endif
#ifdef EAI_FAMILY
- PyModule_AddIntConstant(m, "EAI_FAMILY", EAI_FAMILY);
+ PyModule_AddIntMacro(m, EAI_FAMILY);
#endif
#ifdef EAI_MEMORY
- PyModule_AddIntConstant(m, "EAI_MEMORY", EAI_MEMORY);
+ PyModule_AddIntMacro(m, EAI_MEMORY);
#endif
#ifdef EAI_NODATA
- PyModule_AddIntConstant(m, "EAI_NODATA", EAI_NODATA);
+ PyModule_AddIntMacro(m, EAI_NODATA);
#endif
#ifdef EAI_NONAME
- PyModule_AddIntConstant(m, "EAI_NONAME", EAI_NONAME);
+ PyModule_AddIntMacro(m, EAI_NONAME);
#endif
#ifdef EAI_OVERFLOW
- PyModule_AddIntConstant(m, "EAI_OVERFLOW", EAI_OVERFLOW);
+ PyModule_AddIntMacro(m, EAI_OVERFLOW);
#endif
#ifdef EAI_SERVICE
- PyModule_AddIntConstant(m, "EAI_SERVICE", EAI_SERVICE);
+ PyModule_AddIntMacro(m, EAI_SERVICE);
#endif
#ifdef EAI_SOCKTYPE
- PyModule_AddIntConstant(m, "EAI_SOCKTYPE", EAI_SOCKTYPE);
+ PyModule_AddIntMacro(m, EAI_SOCKTYPE);
#endif
#ifdef EAI_SYSTEM
- PyModule_AddIntConstant(m, "EAI_SYSTEM", EAI_SYSTEM);
+ PyModule_AddIntMacro(m, EAI_SYSTEM);
#endif
#ifdef EAI_BADHINTS
- PyModule_AddIntConstant(m, "EAI_BADHINTS", EAI_BADHINTS);
+ PyModule_AddIntMacro(m, EAI_BADHINTS);
#endif
#ifdef EAI_PROTOCOL
- PyModule_AddIntConstant(m, "EAI_PROTOCOL", EAI_PROTOCOL);
+ PyModule_AddIntMacro(m, EAI_PROTOCOL);
#endif
#ifdef EAI_MAX
- PyModule_AddIntConstant(m, "EAI_MAX", EAI_MAX);
+ PyModule_AddIntMacro(m, EAI_MAX);
#endif
#ifdef AI_PASSIVE
- PyModule_AddIntConstant(m, "AI_PASSIVE", AI_PASSIVE);
+ PyModule_AddIntMacro(m, AI_PASSIVE);
#endif
#ifdef AI_CANONNAME
- PyModule_AddIntConstant(m, "AI_CANONNAME", AI_CANONNAME);
+ PyModule_AddIntMacro(m, AI_CANONNAME);
#endif
#ifdef AI_NUMERICHOST
- PyModule_AddIntConstant(m, "AI_NUMERICHOST", AI_NUMERICHOST);
+ PyModule_AddIntMacro(m, AI_NUMERICHOST);
#endif
#ifdef AI_NUMERICSERV
- PyModule_AddIntConstant(m, "AI_NUMERICSERV", AI_NUMERICSERV);
+ PyModule_AddIntMacro(m, AI_NUMERICSERV);
#endif
#ifdef AI_MASK
- PyModule_AddIntConstant(m, "AI_MASK", AI_MASK);
+ PyModule_AddIntMacro(m, AI_MASK);
#endif
#ifdef AI_ALL
- PyModule_AddIntConstant(m, "AI_ALL", AI_ALL);
+ PyModule_AddIntMacro(m, AI_ALL);
#endif
#ifdef AI_V4MAPPED_CFG
- PyModule_AddIntConstant(m, "AI_V4MAPPED_CFG", AI_V4MAPPED_CFG);
+ PyModule_AddIntMacro(m, AI_V4MAPPED_CFG);
#endif
#ifdef AI_ADDRCONFIG
- PyModule_AddIntConstant(m, "AI_ADDRCONFIG", AI_ADDRCONFIG);
+ PyModule_AddIntMacro(m, AI_ADDRCONFIG);
#endif
#ifdef AI_V4MAPPED
- PyModule_AddIntConstant(m, "AI_V4MAPPED", AI_V4MAPPED);
+ PyModule_AddIntMacro(m, AI_V4MAPPED);
#endif
#ifdef AI_DEFAULT
- PyModule_AddIntConstant(m, "AI_DEFAULT", AI_DEFAULT);
+ PyModule_AddIntMacro(m, AI_DEFAULT);
#endif
#ifdef NI_MAXHOST
- PyModule_AddIntConstant(m, "NI_MAXHOST", NI_MAXHOST);
+ PyModule_AddIntMacro(m, NI_MAXHOST);
#endif
#ifdef NI_MAXSERV
- PyModule_AddIntConstant(m, "NI_MAXSERV", NI_MAXSERV);
+ PyModule_AddIntMacro(m, NI_MAXSERV);
#endif
#ifdef NI_NOFQDN
- PyModule_AddIntConstant(m, "NI_NOFQDN", NI_NOFQDN);
+ PyModule_AddIntMacro(m, NI_NOFQDN);
#endif
#ifdef NI_NUMERICHOST
- PyModule_AddIntConstant(m, "NI_NUMERICHOST", NI_NUMERICHOST);
+ PyModule_AddIntMacro(m, NI_NUMERICHOST);
#endif
#ifdef NI_NAMEREQD
- PyModule_AddIntConstant(m, "NI_NAMEREQD", NI_NAMEREQD);
+ PyModule_AddIntMacro(m, NI_NAMEREQD);
#endif
#ifdef NI_NUMERICSERV
- PyModule_AddIntConstant(m, "NI_NUMERICSERV", NI_NUMERICSERV);
+ PyModule_AddIntMacro(m, NI_NUMERICSERV);
#endif
#ifdef NI_DGRAM
- PyModule_AddIntConstant(m, "NI_DGRAM", NI_DGRAM);
+ PyModule_AddIntMacro(m, NI_DGRAM);
#endif
/* shutdown() parameters */
#ifdef SHUT_RD
- PyModule_AddIntConstant(m, "SHUT_RD", SHUT_RD);
+ PyModule_AddIntMacro(m, SHUT_RD);
#elif defined(SD_RECEIVE)
PyModule_AddIntConstant(m, "SHUT_RD", SD_RECEIVE);
#else
PyModule_AddIntConstant(m, "SHUT_RD", 0);
#endif
#ifdef SHUT_WR
- PyModule_AddIntConstant(m, "SHUT_WR", SHUT_WR);
+ PyModule_AddIntMacro(m, SHUT_WR);
#elif defined(SD_SEND)
PyModule_AddIntConstant(m, "SHUT_WR", SD_SEND);
#else
PyModule_AddIntConstant(m, "SHUT_WR", 1);
#endif
#ifdef SHUT_RDWR
- PyModule_AddIntConstant(m, "SHUT_RDWR", SHUT_RDWR);
+ PyModule_AddIntMacro(m, SHUT_RDWR);
#elif defined(SD_BOTH)
PyModule_AddIntConstant(m, "SHUT_RDWR", SD_BOTH);
#else
@@ -6684,14 +6634,14 @@ PyInit__socket(void)
PyModule_AddObject(m, names[i], tmp);
}
}
- PyModule_AddIntConstant(m, "RCVALL_OFF", RCVALL_OFF);
- PyModule_AddIntConstant(m, "RCVALL_ON", RCVALL_ON);
- PyModule_AddIntConstant(m, "RCVALL_SOCKETLEVELONLY", RCVALL_SOCKETLEVELONLY);
+ PyModule_AddIntMacro(m, RCVALL_OFF);
+ PyModule_AddIntMacro(m, RCVALL_ON);
+ PyModule_AddIntMacro(m, RCVALL_SOCKETLEVELONLY);
#ifdef RCVALL_IPLEVEL
- PyModule_AddIntConstant(m, "RCVALL_IPLEVEL", RCVALL_IPLEVEL);
+ PyModule_AddIntMacro(m, RCVALL_IPLEVEL);
#endif
#ifdef RCVALL_MAX
- PyModule_AddIntConstant(m, "RCVALL_MAX", RCVALL_MAX);
+ PyModule_AddIntMacro(m, RCVALL_MAX);
#endif
#endif /* _MSTCPIP_ */
diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h
index 0435878721..b83f9af3bd 100644
--- a/Modules/socketmodule.h
+++ b/Modules/socketmodule.h
@@ -8,7 +8,7 @@
# include <sys/socket.h>
# endif
# include <netinet/in.h>
-# if !(defined(__CYGWIN__) || (defined(PYOS_OS2) && defined(PYCC_VACPP)))
+# if !defined(__CYGWIN__)
# include <netinet/tcp.h>
# endif
@@ -80,6 +80,10 @@ typedef int socklen_t;
#include <linux/can/raw.h>
#endif
+#ifdef HAVE_LINUX_CAN_BCM_H
+#include <linux/can/bcm.h>
+#endif
+
#ifdef HAVE_SYS_SYS_DOMAIN_H
#include <sys/sys_domain.h>
#endif
diff --git a/Modules/spwdmodule.c b/Modules/spwdmodule.c
index 194ae196ba..d06f8cecd1 100644
--- a/Modules/spwdmodule.c
+++ b/Modules/spwdmodule.c
@@ -196,9 +196,11 @@ PyInit_spwd(void)
m=PyModule_Create(&spwdmodule);
if (m == NULL)
return NULL;
- if (!initialized)
- PyStructSequence_InitType(&StructSpwdType,
- &struct_spwd_type_desc);
+ if (!initialized) {
+ if (PyStructSequence_InitType2(&StructSpwdType,
+ &struct_spwd_type_desc) < 0)
+ return NULL;
+ }
Py_INCREF((PyObject *) &StructSpwdType);
PyModule_AddObject(m, "struct_spwd", (PyObject *) &StructSpwdType);
initialized = 1;
diff --git a/Modules/symtablemodule.c b/Modules/symtablemodule.c
index 02a81f11dc..fbc1ff6922 100644
--- a/Modules/symtablemodule.c
+++ b/Modules/symtablemodule.c
@@ -69,30 +69,30 @@ PyInit__symtable(void)
m = PyModule_Create(&symtablemodule);
if (m == NULL)
return NULL;
- PyModule_AddIntConstant(m, "USE", USE);
- PyModule_AddIntConstant(m, "DEF_GLOBAL", DEF_GLOBAL);
- PyModule_AddIntConstant(m, "DEF_LOCAL", DEF_LOCAL);
- PyModule_AddIntConstant(m, "DEF_PARAM", DEF_PARAM);
- PyModule_AddIntConstant(m, "DEF_FREE", DEF_FREE);
- PyModule_AddIntConstant(m, "DEF_FREE_CLASS", DEF_FREE_CLASS);
- PyModule_AddIntConstant(m, "DEF_IMPORT", DEF_IMPORT);
- PyModule_AddIntConstant(m, "DEF_BOUND", DEF_BOUND);
+ PyModule_AddIntMacro(m, USE);
+ PyModule_AddIntMacro(m, DEF_GLOBAL);
+ PyModule_AddIntMacro(m, DEF_LOCAL);
+ PyModule_AddIntMacro(m, DEF_PARAM);
+ PyModule_AddIntMacro(m, DEF_FREE);
+ PyModule_AddIntMacro(m, DEF_FREE_CLASS);
+ PyModule_AddIntMacro(m, DEF_IMPORT);
+ PyModule_AddIntMacro(m, DEF_BOUND);
PyModule_AddIntConstant(m, "TYPE_FUNCTION", FunctionBlock);
PyModule_AddIntConstant(m, "TYPE_CLASS", ClassBlock);
PyModule_AddIntConstant(m, "TYPE_MODULE", ModuleBlock);
- PyModule_AddIntConstant(m, "OPT_IMPORT_STAR", OPT_IMPORT_STAR);
- PyModule_AddIntConstant(m, "OPT_TOPLEVEL", OPT_TOPLEVEL);
+ PyModule_AddIntMacro(m, OPT_IMPORT_STAR);
+ PyModule_AddIntMacro(m, OPT_TOPLEVEL);
- PyModule_AddIntConstant(m, "LOCAL", LOCAL);
- PyModule_AddIntConstant(m, "GLOBAL_EXPLICIT", GLOBAL_EXPLICIT);
- PyModule_AddIntConstant(m, "GLOBAL_IMPLICIT", GLOBAL_IMPLICIT);
- PyModule_AddIntConstant(m, "FREE", FREE);
- PyModule_AddIntConstant(m, "CELL", CELL);
+ PyModule_AddIntMacro(m, LOCAL);
+ PyModule_AddIntMacro(m, GLOBAL_EXPLICIT);
+ PyModule_AddIntMacro(m, GLOBAL_IMPLICIT);
+ PyModule_AddIntMacro(m, FREE);
+ PyModule_AddIntMacro(m, CELL);
PyModule_AddIntConstant(m, "SCOPE_OFF", SCOPE_OFFSET);
- PyModule_AddIntConstant(m, "SCOPE_MASK", SCOPE_MASK);
+ PyModule_AddIntMacro(m, SCOPE_MASK);
if (PyErr_Occurred()) {
Py_DECREF(m);
diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c
index 8b877cfdbc..9d79eec52a 100644
--- a/Modules/syslogmodule.c
+++ b/Modules/syslogmodule.c
@@ -278,44 +278,44 @@ PyInit_syslog(void)
/* Add some symbolic constants to the module */
/* Priorities */
- PyModule_AddIntConstant(m, "LOG_EMERG", LOG_EMERG);
- PyModule_AddIntConstant(m, "LOG_ALERT", LOG_ALERT);
- PyModule_AddIntConstant(m, "LOG_CRIT", LOG_CRIT);
- PyModule_AddIntConstant(m, "LOG_ERR", LOG_ERR);
- PyModule_AddIntConstant(m, "LOG_WARNING", LOG_WARNING);
- PyModule_AddIntConstant(m, "LOG_NOTICE", LOG_NOTICE);
- PyModule_AddIntConstant(m, "LOG_INFO", LOG_INFO);
- PyModule_AddIntConstant(m, "LOG_DEBUG", LOG_DEBUG);
+ PyModule_AddIntMacro(m, LOG_EMERG);
+ PyModule_AddIntMacro(m, LOG_ALERT);
+ PyModule_AddIntMacro(m, LOG_CRIT);
+ PyModule_AddIntMacro(m, LOG_ERR);
+ PyModule_AddIntMacro(m, LOG_WARNING);
+ PyModule_AddIntMacro(m, LOG_NOTICE);
+ PyModule_AddIntMacro(m, LOG_INFO);
+ PyModule_AddIntMacro(m, LOG_DEBUG);
/* openlog() option flags */
- PyModule_AddIntConstant(m, "LOG_PID", LOG_PID);
- PyModule_AddIntConstant(m, "LOG_CONS", LOG_CONS);
- PyModule_AddIntConstant(m, "LOG_NDELAY", LOG_NDELAY);
+ PyModule_AddIntMacro(m, LOG_PID);
+ PyModule_AddIntMacro(m, LOG_CONS);
+ PyModule_AddIntMacro(m, LOG_NDELAY);
#ifdef LOG_ODELAY
- PyModule_AddIntConstant(m, "LOG_ODELAY", LOG_ODELAY);
+ PyModule_AddIntMacro(m, LOG_ODELAY);
#endif
#ifdef LOG_NOWAIT
- PyModule_AddIntConstant(m, "LOG_NOWAIT", LOG_NOWAIT);
+ PyModule_AddIntMacro(m, LOG_NOWAIT);
#endif
#ifdef LOG_PERROR
- PyModule_AddIntConstant(m, "LOG_PERROR", LOG_PERROR);
+ PyModule_AddIntMacro(m, LOG_PERROR);
#endif
/* Facilities */
- PyModule_AddIntConstant(m, "LOG_KERN", LOG_KERN);
- PyModule_AddIntConstant(m, "LOG_USER", LOG_USER);
- PyModule_AddIntConstant(m, "LOG_MAIL", LOG_MAIL);
- PyModule_AddIntConstant(m, "LOG_DAEMON", LOG_DAEMON);
- PyModule_AddIntConstant(m, "LOG_AUTH", LOG_AUTH);
- PyModule_AddIntConstant(m, "LOG_LPR", LOG_LPR);
- PyModule_AddIntConstant(m, "LOG_LOCAL0", LOG_LOCAL0);
- PyModule_AddIntConstant(m, "LOG_LOCAL1", LOG_LOCAL1);
- PyModule_AddIntConstant(m, "LOG_LOCAL2", LOG_LOCAL2);
- PyModule_AddIntConstant(m, "LOG_LOCAL3", LOG_LOCAL3);
- PyModule_AddIntConstant(m, "LOG_LOCAL4", LOG_LOCAL4);
- PyModule_AddIntConstant(m, "LOG_LOCAL5", LOG_LOCAL5);
- PyModule_AddIntConstant(m, "LOG_LOCAL6", LOG_LOCAL6);
- PyModule_AddIntConstant(m, "LOG_LOCAL7", LOG_LOCAL7);
+ PyModule_AddIntMacro(m, LOG_KERN);
+ PyModule_AddIntMacro(m, LOG_USER);
+ PyModule_AddIntMacro(m, LOG_MAIL);
+ PyModule_AddIntMacro(m, LOG_DAEMON);
+ PyModule_AddIntMacro(m, LOG_AUTH);
+ PyModule_AddIntMacro(m, LOG_LPR);
+ PyModule_AddIntMacro(m, LOG_LOCAL0);
+ PyModule_AddIntMacro(m, LOG_LOCAL1);
+ PyModule_AddIntMacro(m, LOG_LOCAL2);
+ PyModule_AddIntMacro(m, LOG_LOCAL3);
+ PyModule_AddIntMacro(m, LOG_LOCAL4);
+ PyModule_AddIntMacro(m, LOG_LOCAL5);
+ PyModule_AddIntMacro(m, LOG_LOCAL6);
+ PyModule_AddIntMacro(m, LOG_LOCAL7);
#ifndef LOG_SYSLOG
#define LOG_SYSLOG LOG_DAEMON
@@ -330,13 +330,13 @@ PyInit_syslog(void)
#define LOG_CRON LOG_DAEMON
#endif
- PyModule_AddIntConstant(m, "LOG_SYSLOG", LOG_SYSLOG);
- PyModule_AddIntConstant(m, "LOG_CRON", LOG_CRON);
- PyModule_AddIntConstant(m, "LOG_UUCP", LOG_UUCP);
- PyModule_AddIntConstant(m, "LOG_NEWS", LOG_NEWS);
+ PyModule_AddIntMacro(m, LOG_SYSLOG);
+ PyModule_AddIntMacro(m, LOG_CRON);
+ PyModule_AddIntMacro(m, LOG_UUCP);
+ PyModule_AddIntMacro(m, LOG_NEWS);
#ifdef LOG_AUTHPRIV
- PyModule_AddIntConstant(m, "LOG_AUTHPRIV", LOG_AUTHPRIV);
+ PyModule_AddIntMacro(m, LOG_AUTHPRIV);
#endif
return m;
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 03476d97dc..8d161d4d64 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -37,16 +37,6 @@
#endif /* MS_WINDOWS */
#endif /* !__WATCOMC__ || __QNX__ */
-#if defined(PYOS_OS2)
-#define INCL_DOS
-#define INCL_ERRORS
-#include <os2.h>
-#endif
-
-#if defined(PYCC_VACPP)
-#include <sys/time.h>
-#endif
-
#if defined(__APPLE__)
#include <mach/mach_time.h>
#endif
@@ -543,6 +533,26 @@ checktm(struct tm* buf)
/* wcsftime() doesn't format correctly time zones, see issue #10653 */
# undef HAVE_WCSFTIME
#endif
+#define STRFTIME_FORMAT_CODES \
+"Commonly used format codes:\n\
+\n\
+%Y Year with century as a decimal number.\n\
+%m Month as a decimal number [01,12].\n\
+%d Day of the month as a decimal number [01,31].\n\
+%H Hour (24-hour clock) as a decimal number [00,23].\n\
+%M Minute as a decimal number [00,59].\n\
+%S Second as a decimal number [00,61].\n\
+%z Time zone offset from UTC.\n\
+%a Locale's abbreviated weekday name.\n\
+%A Locale's full weekday name.\n\
+%b Locale's abbreviated month name.\n\
+%B Locale's full month name.\n\
+%c Locale's appropriate date and time representation.\n\
+%I Hour (12-hour clock) as a decimal number [01,12].\n\
+%p Locale's equivalent of either AM or PM.\n\
+\n\
+Other codes may be available on your platform. See documentation for\n\
+the C library strftime function.\n"
#ifdef HAVE_STRFTIME
#ifdef HAVE_WCSFTIME
@@ -687,13 +697,13 @@ time_strftime(PyObject *self, PyObject *args)
#undef time_char
#undef format_time
-
PyDoc_STRVAR(strftime_doc,
"strftime(format[, tuple]) -> string\n\
\n\
Convert a time tuple to a string according to a format specification.\n\
See the library reference manual for formatting codes. When the time tuple\n\
-is not present, current time as returned by localtime() is used.");
+is not present, current time as returned by localtime() is used.\n\
+\n" STRFTIME_FORMAT_CODES);
#endif /* HAVE_STRFTIME */
static PyObject *
@@ -716,7 +726,9 @@ PyDoc_STRVAR(strptime_doc,
"strptime(string, format) -> struct_time\n\
\n\
Parse a string to a time tuple according to a format specification.\n\
-See the library reference manual for formatting codes (same as strftime()).");
+See the library reference manual for formatting codes (same as\n\
+strftime()).\n\
+\n" STRFTIME_FORMAT_CODES);
static PyObject *
_asctime(struct tm *timeptr)
@@ -795,7 +807,16 @@ time_mktime(PyObject *self, PyObject *tup)
tt = mktime(&buf);
/* Return value of -1 does not necessarily mean an error, but tm_wday
* cannot remain set to -1 if mktime succeeded. */
- if (tt == (time_t)(-1) && buf.tm_wday == -1) {
+ if (tt == (time_t)(-1)
+#ifndef _AIX
+ /* Return value of -1 does not necessarily mean an error, but
+ * tm_wday cannot remain set to -1 if mktime succeeded. */
+ && buf.tm_wday == -1
+#else
+ /* on AIX, tm_wday is always sets, even on error */
+#endif
+ )
+ {
PyErr_SetString(PyExc_OverflowError,
"mktime argument out of range");
return NULL;
@@ -830,6 +851,8 @@ time_tzset(PyObject *self, PyObject *unused)
/* Reset timezone, altzone, daylight and tzname */
PyInit_timezone(m);
Py_DECREF(m);
+ if (PyErr_Occurred())
+ return NULL;
Py_INCREF(Py_None);
return Py_None;
@@ -1266,19 +1289,11 @@ PyInit_timezone(PyObject *m) {
#if defined(HAVE_TZNAME) && !defined(__GLIBC__) && !defined(__CYGWIN__)
PyObject *otz0, *otz1;
tzset();
-#ifdef PYOS_OS2
- PyModule_AddIntConstant(m, "timezone", _timezone);
-#else /* !PYOS_OS2 */
PyModule_AddIntConstant(m, "timezone", timezone);
-#endif /* PYOS_OS2 */
#ifdef HAVE_ALTZONE
PyModule_AddIntConstant(m, "altzone", altzone);
#else
-#ifdef PYOS_OS2
- PyModule_AddIntConstant(m, "altzone", _timezone-3600);
-#else /* !PYOS_OS2 */
PyModule_AddIntConstant(m, "altzone", timezone-3600);
-#endif /* PYOS_OS2 */
#endif
PyModule_AddIntConstant(m, "daylight", daylight);
otz0 = PyUnicode_DecodeLocale(tzname[0], "surrogateescape");
@@ -1461,8 +1476,9 @@ PyInit_time(void)
PyInit_timezone(m);
if (!initialized) {
- PyStructSequence_InitType(&StructTimeType,
- &struct_time_type_desc);
+ if (PyStructSequence_InitType2(&StructTimeType,
+ &struct_time_type_desc) < 0)
+ return NULL;
#ifdef MS_WINDOWS
winver.dwOSVersionInfoSize = sizeof(winver);
@@ -1574,7 +1590,7 @@ floatsleep(double secs)
DWORD rc;
HANDLE hInterruptEvent = _PyOS_SigintEvent();
ResetEvent(hInterruptEvent);
- rc = WaitForSingleObject(hInterruptEvent, ul_millis);
+ rc = WaitForSingleObjectEx(hInterruptEvent, ul_millis, FALSE);
if (rc == WAIT_OBJECT_0) {
Py_BLOCK_THREADS
errno = EINTR;
@@ -1584,15 +1600,6 @@ floatsleep(double secs)
}
Py_END_ALLOW_THREADS
}
-#elif defined(PYOS_OS2)
- /* This Sleep *IS* Interruptable by Exceptions */
- Py_BEGIN_ALLOW_THREADS
- if (DosSleep(secs * 1000) != NO_ERROR) {
- Py_BLOCK_THREADS
- PyErr_SetFromErrno(PyExc_IOError);
- return -1;
- }
- Py_END_ALLOW_THREADS
#else
/* XXX Can't interrupt this sleep */
Py_BEGIN_ALLOW_THREADS
diff --git a/Modules/unicodedata_db.h b/Modules/unicodedata_db.h
index 5d5dca80af..93a09cd6cf 100644
--- a/Modules/unicodedata_db.h
+++ b/Modules/unicodedata_db.h
@@ -1,6 +1,6 @@
/* this file was generated by Tools/unicode/makeunicodedata.py 3.2 */
-#define UNIDATA_VERSION "6.1.0"
+#define UNIDATA_VERSION "6.2.0"
/* a list of unique database records */
const _PyUnicode_DatabaseRecord _PyUnicode_Database_Records[] = {
{0, 0, 0, 0, 0, 0},
@@ -1444,41 +1444,40 @@ static unsigned short index2[] = {
171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 170, 170, 170, 170, 170, 171, 171, 171, 171, 171,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
- 171, 171, 171, 171, 171, 171, 171, 171, 48, 48, 48, 48, 48, 48, 48, 48,
+ 171, 171, 171, 171, 171, 171, 171, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 170, 170, 170, 170, 170, 170,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 0, 48, 48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 0, 48, 0, 48,
- 48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0,
+ 48, 48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 0, 48, 0, 48, 48, 48,
+ 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 0, 0, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 0, 0, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 0, 0,
- 48, 48, 48, 48, 48, 48, 48, 0, 48, 0, 48, 48, 48, 48, 0, 0, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 0, 0, 48, 48,
+ 48, 48, 48, 48, 48, 0, 48, 0, 48, 48, 48, 48, 0, 0, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48,
- 48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48,
+ 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0,
- 81, 81, 81, 83, 83, 83, 83, 83, 83, 83, 83, 83, 148, 148, 148, 148, 148,
- 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
- 148, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 81, 81,
+ 81, 83, 83, 83, 83, 83, 83, 83, 83, 83, 148, 148, 148, 148, 148, 148,
+ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 0,
+ 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
@@ -1498,15 +1497,16 @@ static unsigned short index2[] = {
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 83, 83, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 172, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 163, 164, 0,
- 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 83, 83, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 172, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 163, 164, 0, 0, 0,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 83, 83, 83, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 83, 83, 83, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48,
48, 48, 48, 135, 135, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 135, 135,
142, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48,
@@ -1645,15 +1645,15 @@ static unsigned short index2[] = {
211, 211, 212, 213, 214, 215, 210, 34, 34, 34, 34, 210, 210, 210, 210,
210, 211, 211, 212, 213, 214, 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
51, 51, 51, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 85, 216, 217, 85, 85,
- 23, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 81, 175, 175, 81, 81,
- 81, 81, 175, 175, 175, 81, 81, 82, 82, 82, 82, 81, 82, 82, 82, 175, 175,
- 81, 86, 81, 175, 175, 86, 86, 86, 86, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 218, 218, 49, 219, 26, 219, 218, 49, 26, 219, 35, 49, 49,
- 49, 35, 35, 49, 49, 49, 46, 26, 49, 219, 26, 78, 49, 49, 49, 49, 49, 26,
- 26, 218, 219, 219, 26, 49, 26, 220, 26, 49, 26, 183, 220, 49, 49, 221,
- 35, 49, 49, 44, 49, 35, 156, 156, 156, 156, 35, 26, 218, 35, 35, 49, 49,
- 222, 78, 78, 78, 78, 49, 35, 35, 35, 35, 26, 78, 26, 26, 47, 80, 223,
+ 23, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 81, 175, 175, 81,
+ 81, 81, 81, 175, 175, 175, 81, 81, 82, 82, 82, 82, 81, 82, 82, 82, 175,
+ 175, 81, 86, 81, 175, 175, 86, 86, 86, 86, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 218, 218, 49, 219, 26, 219, 218, 49, 26, 219, 35, 49,
+ 49, 49, 35, 35, 49, 49, 49, 46, 26, 49, 219, 26, 78, 49, 49, 49, 49, 49,
+ 26, 26, 218, 219, 219, 26, 49, 26, 220, 26, 49, 26, 183, 220, 49, 49,
+ 221, 35, 49, 49, 44, 49, 35, 156, 156, 156, 156, 35, 26, 218, 35, 35, 49,
+ 49, 222, 78, 78, 78, 78, 49, 35, 35, 35, 35, 26, 78, 26, 26, 47, 80, 223,
223, 223, 37, 37, 223, 223, 223, 223, 223, 223, 37, 37, 37, 37, 223, 224,
224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, 225,
225, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, 225,
@@ -2072,12 +2072,11 @@ static unsigned short index2[] = {
257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0,
- 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0, 268, 268, 268, 268, 268,
+ 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 268, 268, 268, 268, 268, 268,
268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
@@ -2086,7 +2085,7 @@ static unsigned short index2[] = {
268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
- 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 269, 269, 269,
+ 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 269, 269, 269, 269,
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
@@ -2095,7 +2094,8 @@ static unsigned short index2[] = {
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
- 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 270,
+ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 270, 270,
+ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
@@ -2105,14 +2105,13 @@ static unsigned short index2[] = {
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
+ 170, 170, 270, 170, 270, 170, 170, 270, 270, 270, 270, 270, 270, 270,
+ 270, 270, 270, 170, 270, 170, 270, 170, 170, 270, 270, 170, 170, 170,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 170, 170, 270, 170, 270, 170, 170, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 170, 270, 170, 270, 170, 170, 270, 270, 170, 170,
- 170, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 0, 0,
+ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 0, 0, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
@@ -2120,22 +2119,22 @@ static unsigned short index2[] = {
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 270, 270, 270, 270, 270, 270, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 35, 35, 35, 35, 35, 35, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 35, 35, 35, 35, 35, 0, 0, 0, 0, 0, 271, 272, 271, 273, 273, 273, 273,
- 273, 273, 273, 273, 273, 211, 271, 271, 271, 271, 271, 271, 271, 271,
- 271, 271, 271, 271, 271, 0, 271, 271, 271, 271, 271, 0, 271, 0, 271, 271,
- 0, 271, 271, 0, 271, 271, 271, 271, 271, 271, 271, 271, 271, 273, 130,
+ 0, 35, 35, 35, 35, 35, 35, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,
+ 35, 35, 35, 35, 0, 0, 0, 0, 0, 271, 272, 271, 273, 273, 273, 273, 273,
+ 273, 273, 273, 273, 211, 271, 271, 271, 271, 271, 271, 271, 271, 271,
+ 271, 271, 271, 271, 0, 271, 271, 271, 271, 271, 0, 271, 0, 271, 271, 0,
+ 271, 271, 0, 271, 271, 271, 271, 271, 271, 271, 271, 271, 273, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 274,
- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
- 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 274, 274,
+ 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
@@ -2152,26 +2151,26 @@ static unsigned short index2[] = {
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 195, 275, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 195, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 276, 26, 0, 0, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 277, 277, 277, 277, 277, 277, 277, 278, 279,
- 277, 0, 0, 0, 0, 0, 0, 81, 81, 81, 81, 81, 81, 81, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 277, 280, 280, 281, 281, 278, 279, 278, 279, 278, 279, 278, 279,
- 278, 279, 278, 279, 278, 279, 278, 279, 243, 243, 278, 279, 277, 277,
- 277, 277, 281, 281, 281, 282, 277, 282, 0, 277, 282, 277, 277, 280, 283,
- 284, 283, 284, 283, 284, 285, 277, 277, 286, 287, 288, 288, 289, 0, 277,
- 290, 285, 277, 0, 0, 0, 0, 130, 130, 130, 117, 130, 0, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 276, 26, 0, 0, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 277, 277, 277, 277, 277, 277, 277, 278, 279, 277, 0, 0,
+ 0, 0, 0, 0, 81, 81, 81, 81, 81, 81, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
+ 280, 280, 281, 281, 278, 279, 278, 279, 278, 279, 278, 279, 278, 279,
+ 278, 279, 278, 279, 278, 279, 243, 243, 278, 279, 277, 277, 277, 277,
+ 281, 281, 281, 282, 277, 282, 0, 277, 282, 277, 277, 280, 283, 284, 283,
+ 284, 283, 284, 285, 277, 277, 286, 287, 288, 288, 289, 0, 277, 290, 285,
+ 277, 0, 0, 0, 0, 130, 130, 130, 117, 130, 0, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
@@ -2181,296 +2180,289 @@ static unsigned short index2[] = {
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 0, 0, 187, 0, 291, 291, 292, 293, 292, 291,
- 291, 294, 295, 291, 296, 297, 298, 297, 297, 299, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 297, 291, 300, 301, 300, 291, 291, 302, 302,
+ 130, 130, 130, 130, 0, 0, 187, 0, 291, 291, 292, 293, 292, 291, 291, 294,
+ 295, 291, 296, 297, 298, 297, 297, 299, 299, 299, 299, 299, 299, 299,
+ 299, 299, 299, 297, 291, 300, 301, 300, 291, 291, 302, 302, 302, 302,
302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 294, 291, 295, 303,
- 304, 303, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
+ 302, 302, 302, 302, 302, 302, 302, 302, 294, 291, 295, 303, 304, 303,
305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
- 294, 301, 295, 301, 294, 295, 306, 307, 308, 306, 306, 309, 309, 309,
- 309, 309, 309, 309, 309, 309, 309, 310, 309, 309, 309, 309, 309, 309,
- 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
+ 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 294, 301,
+ 295, 301, 294, 295, 306, 307, 308, 306, 306, 309, 309, 309, 309, 309,
+ 309, 309, 309, 309, 309, 310, 309, 309, 309, 309, 309, 309, 309, 309,
309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 310, 310, 309,
309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
+ 309, 309, 309, 309, 309, 309, 309, 309, 309, 310, 310, 309, 309, 309,
309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
- 309, 309, 0, 0, 0, 309, 309, 309, 309, 309, 309, 0, 0, 309, 309, 309,
- 309, 309, 309, 0, 0, 309, 309, 309, 309, 309, 309, 0, 0, 309, 309, 309,
- 0, 0, 0, 293, 293, 301, 303, 311, 293, 293, 0, 312, 313, 313, 313, 313,
- 312, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 314, 314, 26, 30, 0, 0, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48,
+ 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 0,
+ 0, 0, 309, 309, 309, 309, 309, 309, 0, 0, 309, 309, 309, 309, 309, 309,
+ 0, 0, 309, 309, 309, 309, 309, 309, 0, 0, 309, 309, 309, 0, 0, 0, 293,
+ 293, 301, 303, 311, 293, 293, 0, 312, 313, 313, 313, 313, 312, 312, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 314, 314, 314, 26, 30, 0, 0, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 0, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 0, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 83, 138, 83, 0, 0, 0, 0, 148, 148,
- 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
+ 48, 0, 0, 0, 0, 0, 83, 138, 83, 0, 0, 0, 0, 148, 148, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
- 148, 0, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 315, 315, 315, 315,
+ 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, 0, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 315, 315, 315, 315, 315, 315, 315, 315, 315,
315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
- 315, 315, 315, 315, 315, 315, 315, 153, 153, 153, 153, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 153, 0, 0, 0, 0, 0,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0,
+ 315, 315, 153, 153, 153, 153, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 153, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 86, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 86, 0, 0,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 148, 148, 148, 148, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 173, 48, 48, 48, 48, 48, 48, 48, 48, 173, 0, 0,
+ 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 0, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 173, 48,
+ 48, 48, 48, 48, 48, 48, 48, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 83, 48, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 0, 83, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0,
- 0, 48, 48, 48, 48, 48, 48, 48, 48, 83, 173, 173, 173, 173, 173, 0, 0, 0,
+ 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48,
+ 48, 83, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 44, 44, 44, 44, 44, 44,
+ 0, 0, 0, 0, 0, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 47, 47, 47,
+ 44, 44, 44, 44, 44, 44, 44, 44, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107,
- 107, 107, 0, 0, 107, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107, 107, 107, 0, 0, 107, 0, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 0, 107, 107, 0, 0, 0, 107, 0, 0, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 107, 0, 104, 316, 316, 316, 316, 316, 316,
- 316, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 0, 107, 107, 0, 0, 0, 107, 0, 0, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 316, 316, 316, 316, 316, 316, 0, 0, 0, 138, 107, 107, 107, 107, 107, 107,
+ 107, 107, 0, 104, 316, 316, 316, 316, 316, 316, 316, 316, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 316, 316, 316, 316, 316,
+ 316, 0, 0, 0, 138, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0,
+ 107, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0,
+ 0, 0, 0, 0, 0, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 107, 135, 135, 135, 0, 135, 135, 0, 0, 0, 0, 0,
- 135, 86, 135, 81, 107, 107, 107, 107, 0, 107, 107, 107, 0, 107, 107, 107,
+ 107, 135, 135, 135, 0, 135, 135, 0, 0, 0, 0, 0, 135, 86, 135, 81, 107,
+ 107, 107, 107, 0, 107, 107, 107, 0, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 81, 175,
- 86, 0, 0, 0, 0, 142, 316, 316, 316, 316, 316, 316, 316, 316, 0, 0, 0, 0,
- 0, 0, 0, 0, 104, 104, 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0,
- 0, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 81, 175, 86, 0, 0, 0, 0, 142,
+ 316, 316, 316, 316, 316, 316, 316, 316, 0, 0, 0, 0, 0, 0, 0, 0, 104, 104,
+ 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 316, 316, 104, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 316, 316,
+ 104, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
+ 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0,
+ 138, 138, 138, 138, 138, 138, 138, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 107, 107, 107,
+ 107, 0, 0, 316, 316, 316, 316, 316, 316, 316, 316, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 0, 0, 316, 316, 316, 316, 316, 316, 316, 316,
+ 107, 0, 0, 0, 0, 0, 316, 316, 316, 316, 316, 316, 316, 316, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 316, 316, 316, 316, 316, 316,
- 316, 316, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
- 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 317, 317, 317, 317,
+ 0, 0, 0, 0, 0, 0, 0, 0, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
- 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 0, 139, 135,
- 139, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 317, 317, 317, 317, 317, 317, 317, 0, 139, 135, 139, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 142, 83, 83, 83, 83, 83, 83, 83, 0, 0, 0, 0, 153, 153, 153, 153, 153,
- 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
- 153, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 139, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 140, 48,
- 140, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 140, 48, 48,
- 48, 48, 139, 139, 139, 135, 135, 135, 135, 139, 139, 142, 141, 83, 83,
- 188, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 81, 81, 81, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 135, 135, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 135, 135, 135, 142, 83, 83, 83, 83, 83, 83,
+ 83, 0, 0, 0, 0, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
+ 153, 153, 153, 153, 153, 153, 153, 153, 153, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 135, 135, 139, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 140, 48, 140, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 140, 48, 48, 48, 48, 139, 139, 139, 135,
+ 135, 135, 135, 139, 139, 142, 141, 83, 83, 188, 83, 83, 83, 83, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0,
+ 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0,
+ 0, 81, 81, 81, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 149, 135, 135, 135, 135,
- 139, 135, 150, 150, 135, 135, 135, 142, 142, 0, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 144, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 48, 48, 48, 48, 149, 135, 135, 135, 135, 139, 135, 150, 150, 135, 135,
+ 135, 142, 142, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 83,
+ 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 135, 135, 139, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 139, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 139, 139,
- 139, 135, 135, 135, 135, 135, 135, 135, 135, 135, 139, 174, 48, 48, 48,
- 48, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144,
- 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 139, 139, 139, 135, 135, 135,
+ 135, 135, 135, 135, 135, 135, 139, 174, 48, 48, 48, 48, 83, 83, 83, 83,
+ 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 135, 139, 135, 139, 139, 135, 135, 135, 135, 135, 135,
- 174, 145, 0, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144,
- 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 135,
+ 139, 135, 139, 139, 135, 135, 135, 135, 135, 135, 174, 145, 0, 0, 0, 0,
+ 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
+ 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173,
173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
- 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 83, 83,
- 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0,
+ 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
- 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+ 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 139, 139, 139, 139, 139,
139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
- 139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135,
- 135, 135, 135, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0,
+ 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, 135, 53, 53, 53,
+ 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170,
- 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 170, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
+ 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
+ 318, 318, 318, 318, 318, 318, 318, 319, 319, 175, 175, 175, 80, 80, 80,
+ 320, 319, 319, 319, 319, 319, 187, 187, 187, 187, 187, 187, 187, 187, 86,
+ 86, 86, 86, 86, 86, 86, 86, 80, 80, 81, 81, 81, 81, 81, 86, 86, 80, 80,
80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 318, 318, 318, 318, 318, 318, 318, 319, 319,
- 175, 175, 175, 80, 80, 80, 320, 319, 319, 319, 319, 319, 187, 187, 187,
- 187, 187, 187, 187, 187, 86, 86, 86, 86, 86, 86, 86, 86, 80, 80, 81, 81,
- 81, 81, 81, 86, 86, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81,
- 81, 81, 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 318, 318,
- 318, 318, 318, 318, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, 80, 80, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 318, 318, 318, 318, 318, 318, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 81,
- 81, 81, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 81, 81, 81, 26, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 148, 148,
- 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
- 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49, 49, 49, 49,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 148, 148, 148, 148, 148, 148, 148, 148,
+ 148, 148, 148, 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35, 35, 0,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 0,
+ 49, 49, 0, 0, 49, 0, 0, 49, 49, 0, 0, 49, 49, 49, 49, 0, 49, 49, 49, 49,
+ 49, 49, 49, 49, 35, 35, 35, 35, 0, 35, 0, 35, 35, 35, 35, 35, 35, 35, 0,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 35, 35, 35, 35, 35, 35, 35, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35,
+ 49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 0, 49, 49, 49, 49, 0, 0, 49,
+ 49, 49, 49, 49, 49, 49, 49, 0, 49, 49, 49, 49, 49, 49, 49, 0, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 49, 49, 0, 49, 49, 49, 49, 0, 49, 49, 49, 49, 49, 0,
+ 49, 0, 0, 0, 49, 49, 49, 49, 49, 49, 49, 0, 35, 35, 35, 35, 35, 35, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 49, 0, 49, 49, 0, 0, 49, 0, 0, 49, 49, 0, 0, 49,
- 49, 49, 49, 0, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 0, 35, 0,
- 35, 35, 35, 35, 35, 35, 35, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35, 35, 35, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49,
- 49, 0, 49, 49, 49, 49, 0, 0, 49, 49, 49, 49, 49, 49, 49, 49, 0, 49, 49,
- 49, 49, 49, 49, 49, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 0, 49,
- 49, 49, 49, 0, 49, 49, 49, 49, 49, 0, 49, 0, 0, 0, 49, 49, 49, 49, 49,
- 49, 49, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 0, 0, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 321, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 222,
- 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 321, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 222, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 321,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
35, 35, 35, 35, 35, 35, 35, 222, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49,
@@ -2480,78 +2472,84 @@ static unsigned short index2[] = {
49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
49, 49, 49, 49, 49, 49, 49, 321, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 222, 35, 35,
- 35, 35, 35, 35, 49, 35, 0, 0, 322, 322, 322, 322, 322, 322, 322, 322,
+ 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 321, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 222, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 321, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 222, 35, 35, 35, 35, 35, 35, 49, 35, 0, 0, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
- 130, 130, 130, 130, 0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 322, 322, 322, 322, 322, 322, 130, 130, 130, 130, 0, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 130, 130, 0, 130, 0, 0,
+ 130, 0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 130, 130,
+ 130, 130, 0, 130, 0, 130, 0, 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 130, 0, 130,
+ 0, 130, 0, 130, 130, 130, 0, 130, 130, 0, 130, 0, 0, 130, 0, 130, 0, 130,
+ 0, 130, 0, 130, 0, 130, 130, 0, 130, 0, 0, 130, 130, 130, 130, 0, 130,
+ 130, 130, 130, 130, 130, 130, 0, 130, 130, 130, 130, 0, 130, 130, 130,
+ 130, 0, 130, 0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 130,
130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 0, 130, 130, 0, 130, 0, 0, 130, 0, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 0, 130, 130, 130, 130, 0, 130, 0, 130, 0,
- 0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 130, 0, 130, 0, 130, 0, 130, 130, 130, 0,
- 130, 130, 0, 130, 0, 0, 130, 0, 130, 0, 130, 0, 130, 0, 130, 0, 130, 130,
- 0, 130, 0, 0, 130, 130, 130, 130, 0, 130, 130, 130, 130, 130, 130, 130,
- 0, 130, 130, 130, 130, 0, 130, 130, 130, 130, 0, 130, 0, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 0, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 130,
- 130, 130, 0, 130, 130, 130, 130, 130, 0, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26,
+ 130, 130, 0, 0, 0, 0, 0, 130, 130, 130, 0, 130, 130, 130, 130, 130, 0,
+ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
+ 130, 130, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 237, 237,
+ 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34,
+ 34, 34, 0, 0, 0, 0, 0, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+ 237, 237, 237, 237, 237, 237, 323, 0, 237, 237, 237, 237, 237, 237, 237,
237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
- 323, 0, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
- 237, 237, 237, 237, 237, 324, 324, 324, 324, 324, 324, 324, 324, 324,
+ 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 324, 324, 324,
+ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
+ 324, 324, 324, 324, 324, 324, 324, 324, 324, 218, 218, 0, 0, 0, 0, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
- 324, 324, 324, 218, 218, 0, 0, 0, 0, 324, 324, 324, 324, 324, 324, 324,
324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
- 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 237, 324, 324,
- 324, 324, 324, 324, 324, 324, 324, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 324, 324, 324, 237, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 264,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264,
- 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 0, 0, 0,
- 0, 0, 264, 264, 264, 264, 264, 264, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0,
- 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 264, 264, 264, 264, 0, 0, 0, 0, 0, 264, 264, 264, 264, 264, 264, 264,
+ 264, 264, 0, 0, 0, 0, 0, 0, 0, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 0, 26, 26,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26,
+ 26, 26, 26, 26, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 26, 26, 26, 26, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0,
+ 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 26, 0, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 0, 26, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
@@ -2561,76 +2559,76 @@ static unsigned short index2[] = {
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 0, 26, 26, 26, 26, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 26, 0, 26, 26, 26, 26, 0, 0, 0, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 26, 26,
- 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 0, 0, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0,
- 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
+ 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
+ 170, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
+ 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
- 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
- 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
+ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
+ 270, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
+ 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 187, 187, 187, 187, 187, 187,
187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
- 187, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+ 187, 187, 187, 187, 187, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
@@ -2643,8 +2641,9 @@ static unsigned short index2[] = {
71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
+ 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
@@ -2652,8 +2651,7 @@ static unsigned short index2[] = {
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
- 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 0,
- 0,
+ 269, 269, 269, 269, 0, 0,
};
/* decomposition data */
@@ -5863,7 +5861,7 @@ static unsigned char changes_3_2_0_data[] = {
0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 4, 0, 0, 37, 38, 39, 40,
41, 42, 1, 1, 0, 0, 0, 4, 36, 8, 6, 7, 37, 38, 39, 40, 41, 42, 1, 1, 0,
0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9,
9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/Modules/unicodename_db.h b/Modules/unicodename_db.h
index 38388822b9..084f0118f0 100644
--- a/Modules/unicodename_db.h
+++ b/Modules/unicodename_db.h
@@ -65,9 +65,9 @@ static unsigned char lexicon[] = {
76, 85, 197, 83, 72, 65, 82, 65, 68, 193, 83, 73, 78, 72, 65, 76, 193,
75, 65, 128, 82, 85, 78, 73, 195, 83, 65, 85, 82, 65, 83, 72, 84, 82,
193, 84, 69, 84, 82, 65, 71, 82, 65, 205, 68, 69, 83, 69, 82, 69, 212,
- 84, 73, 76, 68, 69, 128, 71, 85, 82, 77, 85, 75, 72, 201, 77, 65, 128,
- 77, 65, 89, 69, 203, 77, 69, 69, 84, 69, 201, 78, 79, 84, 65, 84, 73, 79,
- 206, 83, 89, 82, 73, 65, 195, 70, 73, 86, 69, 128, 80, 65, 128, 89, 65,
+ 83, 89, 82, 73, 65, 195, 84, 73, 76, 68, 69, 128, 71, 85, 82, 77, 85, 75,
+ 72, 201, 77, 65, 128, 77, 65, 89, 69, 203, 77, 69, 69, 84, 69, 201, 78,
+ 79, 84, 65, 84, 73, 79, 206, 70, 73, 86, 69, 128, 80, 65, 128, 89, 65,
128, 76, 73, 71, 72, 212, 83, 73, 88, 128, 69, 73, 71, 72, 84, 128, 76,
69, 80, 67, 72, 193, 78, 65, 128, 83, 69, 86, 69, 78, 128, 76, 79, 78,
199, 78, 73, 78, 69, 128, 84, 85, 82, 75, 73, 195, 72, 65, 77, 90, 193,
@@ -525,79 +525,79 @@ static unsigned char lexicon[] = {
84, 85, 84, 84, 89, 128, 84, 85, 84, 69, 89, 65, 83, 65, 84, 128, 84, 85,
84, 128, 84, 85, 82, 88, 128, 84, 85, 82, 85, 128, 84, 85, 82, 84, 76,
69, 128, 84, 85, 82, 79, 50, 128, 84, 85, 82, 78, 83, 84, 73, 76, 69,
- 128, 84, 85, 82, 78, 69, 196, 84, 85, 82, 206, 84, 85, 82, 66, 65, 78,
- 128, 84, 85, 82, 128, 84, 85, 80, 128, 84, 85, 79, 88, 128, 84, 85, 79,
- 84, 128, 84, 85, 79, 80, 128, 84, 85, 79, 128, 84, 85, 78, 78, 89, 128,
- 84, 85, 77, 69, 84, 69, 83, 128, 84, 85, 77, 65, 69, 128, 84, 85, 77,
- 128, 84, 85, 76, 73, 80, 128, 84, 85, 75, 87, 69, 78, 84, 73, 83, 128,
- 84, 85, 75, 128, 84, 85, 71, 82, 73, 203, 84, 85, 71, 50, 128, 84, 85,
- 71, 178, 84, 85, 65, 82, 69, 199, 84, 85, 65, 69, 80, 128, 84, 85, 65,
- 69, 128, 84, 213, 84, 84, 85, 85, 128, 84, 84, 85, 68, 68, 65, 71, 128,
- 84, 84, 85, 68, 68, 65, 65, 71, 128, 84, 84, 85, 128, 84, 84, 84, 72, 65,
- 128, 84, 84, 84, 65, 128, 84, 84, 83, 85, 128, 84, 84, 83, 79, 128, 84,
- 84, 83, 73, 128, 84, 84, 83, 69, 69, 128, 84, 84, 83, 69, 128, 84, 84,
- 83, 65, 128, 84, 84, 79, 79, 128, 84, 84, 73, 73, 128, 84, 84, 73, 128,
- 84, 84, 72, 87, 69, 128, 84, 84, 72, 85, 128, 84, 84, 72, 79, 79, 128,
- 84, 84, 72, 79, 128, 84, 84, 72, 73, 128, 84, 84, 72, 69, 69, 128, 84,
- 84, 72, 69, 128, 84, 84, 72, 65, 65, 128, 84, 84, 72, 128, 84, 84, 69,
- 72, 69, 72, 128, 84, 84, 69, 72, 69, 200, 84, 84, 69, 72, 128, 84, 84,
- 69, 200, 84, 84, 69, 69, 128, 84, 84, 65, 89, 65, 78, 78, 65, 128, 84,
- 84, 65, 85, 128, 84, 84, 65, 73, 128, 84, 84, 65, 65, 128, 84, 84, 50,
- 128, 84, 83, 87, 69, 128, 84, 83, 87, 65, 128, 84, 83, 86, 128, 84, 83,
- 83, 69, 128, 84, 83, 83, 65, 128, 84, 83, 72, 85, 71, 83, 128, 84, 83,
- 72, 79, 79, 75, 128, 84, 83, 72, 79, 79, 203, 84, 83, 72, 69, 83, 128,
- 84, 83, 72, 69, 71, 128, 84, 83, 72, 69, 199, 84, 83, 72, 69, 128, 84,
- 83, 72, 65, 128, 84, 83, 69, 82, 69, 128, 84, 83, 65, 68, 73, 128, 84,
- 83, 65, 68, 201, 84, 83, 65, 65, 68, 73, 89, 128, 84, 83, 65, 65, 128,
- 84, 83, 193, 84, 82, 89, 66, 76, 73, 79, 206, 84, 82, 85, 84, 72, 128,
- 84, 82, 85, 78, 75, 128, 84, 82, 85, 78, 67, 65, 84, 69, 196, 84, 82, 85,
- 77, 80, 69, 84, 128, 84, 82, 85, 69, 128, 84, 82, 85, 67, 75, 128, 84,
- 82, 79, 80, 73, 67, 65, 204, 84, 82, 79, 80, 72, 89, 128, 84, 82, 79, 77,
- 73, 75, 79, 83, 89, 78, 65, 71, 77, 65, 128, 84, 82, 79, 77, 73, 75, 79,
- 80, 83, 73, 70, 73, 83, 84, 79, 78, 128, 84, 82, 79, 77, 73, 75, 79, 80,
- 65, 82, 65, 75, 65, 76, 69, 83, 77, 65, 128, 84, 82, 79, 77, 73, 75, 79,
- 78, 128, 84, 82, 79, 77, 73, 75, 79, 206, 84, 82, 79, 77, 73, 75, 79, 76,
- 89, 71, 73, 83, 77, 65, 128, 84, 82, 79, 76, 76, 69, 89, 66, 85, 83, 128,
- 84, 82, 79, 75, 85, 84, 65, 83, 84, 201, 84, 82, 79, 69, 90, 69, 78, 73,
- 65, 206, 84, 82, 73, 85, 77, 80, 72, 128, 84, 82, 73, 84, 79, 211, 84,
- 82, 73, 84, 73, 77, 79, 82, 73, 79, 78, 128, 84, 82, 73, 83, 73, 77, 79,
- 85, 128, 84, 82, 73, 83, 69, 77, 69, 128, 84, 82, 73, 80, 79, 68, 128,
- 84, 82, 73, 80, 76, 73, 128, 84, 82, 73, 80, 76, 197, 84, 82, 73, 79,
- 206, 84, 82, 73, 73, 83, 65, 80, 128, 84, 82, 73, 71, 82, 65, 77, 77, 79,
- 211, 84, 82, 73, 71, 82, 65, 205, 84, 82, 73, 71, 79, 82, 71, 79, 78,
- 128, 84, 82, 73, 70, 79, 78, 73, 65, 83, 128, 84, 82, 73, 70, 79, 76, 73,
- 65, 84, 197, 84, 82, 73, 68, 69, 78, 84, 128, 84, 82, 73, 68, 69, 78,
- 212, 84, 82, 73, 67, 79, 76, 79, 78, 128, 84, 82, 73, 65, 78, 71, 85, 76,
- 65, 210, 84, 82, 73, 65, 78, 71, 76, 69, 45, 82, 79, 85, 78, 196, 84, 82,
- 73, 65, 78, 71, 76, 69, 45, 72, 69, 65, 68, 69, 196, 84, 82, 73, 65, 78,
- 71, 76, 69, 128, 84, 82, 73, 65, 78, 71, 76, 197, 84, 82, 73, 65, 128,
- 84, 82, 73, 128, 84, 82, 69, 83, 73, 76, 76, 79, 128, 84, 82, 69, 78, 68,
- 128, 84, 82, 69, 78, 196, 84, 82, 69, 77, 79, 76, 79, 45, 51, 128, 84,
- 82, 69, 77, 79, 76, 79, 45, 50, 128, 84, 82, 69, 77, 79, 76, 79, 45, 49,
- 128, 84, 82, 69, 69, 128, 84, 82, 69, 197, 84, 82, 69, 65, 68, 73, 78,
- 71, 128, 84, 82, 65, 89, 128, 84, 82, 65, 80, 69, 90, 73, 85, 77, 128,
- 84, 82, 65, 78, 83, 86, 69, 82, 83, 65, 204, 84, 82, 65, 78, 83, 80, 79,
- 83, 73, 84, 73, 79, 206, 84, 82, 65, 78, 83, 77, 73, 212, 84, 82, 65, 78,
- 83, 77, 73, 83, 83, 73, 79, 78, 128, 84, 82, 65, 78, 83, 77, 73, 83, 83,
- 73, 79, 206, 84, 82, 65, 77, 87, 65, 89, 128, 84, 82, 65, 77, 128, 84,
- 82, 65, 205, 84, 82, 65, 73, 78, 128, 84, 82, 65, 73, 206, 84, 82, 65,
- 73, 76, 73, 78, 199, 84, 82, 65, 70, 70, 73, 67, 128, 84, 82, 65, 70, 70,
- 73, 195, 84, 82, 65, 68, 197, 84, 82, 65, 67, 84, 79, 82, 128, 84, 82,
- 65, 67, 75, 128, 84, 82, 128, 84, 79, 88, 128, 84, 79, 87, 69, 82, 128,
- 84, 79, 85, 82, 78, 79, 73, 211, 84, 79, 84, 65, 204, 84, 79, 84, 128,
- 84, 79, 82, 84, 79, 73, 83, 197, 84, 79, 82, 67, 85, 76, 85, 83, 128, 84,
- 79, 82, 67, 85, 76, 85, 211, 84, 79, 82, 67, 72, 128, 84, 79, 81, 128,
- 84, 79, 80, 66, 65, 82, 128, 84, 79, 80, 45, 76, 73, 71, 72, 84, 69, 196,
- 84, 79, 80, 128, 84, 79, 208, 84, 79, 79, 84, 72, 128, 84, 79, 79, 78,
- 128, 84, 79, 78, 79, 83, 128, 84, 79, 78, 71, 85, 69, 128, 84, 79, 78,
- 71, 85, 197, 84, 79, 78, 71, 128, 84, 79, 78, 69, 45, 56, 128, 84, 79,
- 78, 69, 45, 55, 128, 84, 79, 78, 69, 45, 54, 128, 84, 79, 78, 69, 45, 53,
- 128, 84, 79, 78, 69, 45, 52, 128, 84, 79, 78, 69, 45, 51, 128, 84, 79,
- 78, 69, 45, 50, 128, 84, 79, 78, 69, 45, 49, 128, 84, 79, 78, 69, 128,
- 84, 79, 78, 65, 204, 84, 79, 77, 80, 73, 128, 84, 79, 77, 65, 84, 79,
- 128, 84, 79, 76, 79, 78, 71, 128, 84, 79, 75, 89, 207, 84, 79, 73, 76,
- 69, 84, 128, 84, 79, 71, 69, 84, 72, 69, 82, 128, 84, 79, 68, 207, 84,
- 79, 65, 78, 68, 65, 75, 72, 73, 65, 84, 128, 84, 79, 65, 128, 84, 78,
+ 128, 84, 85, 82, 78, 69, 196, 84, 85, 82, 206, 84, 85, 82, 75, 73, 83,
+ 200, 84, 85, 82, 66, 65, 78, 128, 84, 85, 82, 128, 84, 85, 80, 128, 84,
+ 85, 79, 88, 128, 84, 85, 79, 84, 128, 84, 85, 79, 80, 128, 84, 85, 79,
+ 128, 84, 85, 78, 78, 89, 128, 84, 85, 77, 69, 84, 69, 83, 128, 84, 85,
+ 77, 65, 69, 128, 84, 85, 77, 128, 84, 85, 76, 73, 80, 128, 84, 85, 75,
+ 87, 69, 78, 84, 73, 83, 128, 84, 85, 75, 128, 84, 85, 71, 82, 73, 203,
+ 84, 85, 71, 50, 128, 84, 85, 71, 178, 84, 85, 65, 82, 69, 199, 84, 85,
+ 65, 69, 80, 128, 84, 85, 65, 69, 128, 84, 213, 84, 84, 85, 85, 128, 84,
+ 84, 85, 68, 68, 65, 71, 128, 84, 84, 85, 68, 68, 65, 65, 71, 128, 84, 84,
+ 85, 128, 84, 84, 84, 72, 65, 128, 84, 84, 84, 65, 128, 84, 84, 83, 85,
+ 128, 84, 84, 83, 79, 128, 84, 84, 83, 73, 128, 84, 84, 83, 69, 69, 128,
+ 84, 84, 83, 69, 128, 84, 84, 83, 65, 128, 84, 84, 79, 79, 128, 84, 84,
+ 73, 73, 128, 84, 84, 73, 128, 84, 84, 72, 87, 69, 128, 84, 84, 72, 85,
+ 128, 84, 84, 72, 79, 79, 128, 84, 84, 72, 79, 128, 84, 84, 72, 73, 128,
+ 84, 84, 72, 69, 69, 128, 84, 84, 72, 69, 128, 84, 84, 72, 65, 65, 128,
+ 84, 84, 72, 128, 84, 84, 69, 72, 69, 72, 128, 84, 84, 69, 72, 69, 200,
+ 84, 84, 69, 72, 128, 84, 84, 69, 200, 84, 84, 69, 69, 128, 84, 84, 65,
+ 89, 65, 78, 78, 65, 128, 84, 84, 65, 85, 128, 84, 84, 65, 73, 128, 84,
+ 84, 65, 65, 128, 84, 84, 50, 128, 84, 83, 87, 69, 128, 84, 83, 87, 65,
+ 128, 84, 83, 86, 128, 84, 83, 83, 69, 128, 84, 83, 83, 65, 128, 84, 83,
+ 72, 85, 71, 83, 128, 84, 83, 72, 79, 79, 75, 128, 84, 83, 72, 79, 79,
+ 203, 84, 83, 72, 69, 83, 128, 84, 83, 72, 69, 71, 128, 84, 83, 72, 69,
+ 199, 84, 83, 72, 69, 128, 84, 83, 72, 65, 128, 84, 83, 69, 82, 69, 128,
+ 84, 83, 65, 68, 73, 128, 84, 83, 65, 68, 201, 84, 83, 65, 65, 68, 73, 89,
+ 128, 84, 83, 65, 65, 128, 84, 83, 193, 84, 82, 89, 66, 76, 73, 79, 206,
+ 84, 82, 85, 84, 72, 128, 84, 82, 85, 78, 75, 128, 84, 82, 85, 78, 67, 65,
+ 84, 69, 196, 84, 82, 85, 77, 80, 69, 84, 128, 84, 82, 85, 69, 128, 84,
+ 82, 85, 67, 75, 128, 84, 82, 79, 80, 73, 67, 65, 204, 84, 82, 79, 80, 72,
+ 89, 128, 84, 82, 79, 77, 73, 75, 79, 83, 89, 78, 65, 71, 77, 65, 128, 84,
+ 82, 79, 77, 73, 75, 79, 80, 83, 73, 70, 73, 83, 84, 79, 78, 128, 84, 82,
+ 79, 77, 73, 75, 79, 80, 65, 82, 65, 75, 65, 76, 69, 83, 77, 65, 128, 84,
+ 82, 79, 77, 73, 75, 79, 78, 128, 84, 82, 79, 77, 73, 75, 79, 206, 84, 82,
+ 79, 77, 73, 75, 79, 76, 89, 71, 73, 83, 77, 65, 128, 84, 82, 79, 76, 76,
+ 69, 89, 66, 85, 83, 128, 84, 82, 79, 75, 85, 84, 65, 83, 84, 201, 84, 82,
+ 79, 69, 90, 69, 78, 73, 65, 206, 84, 82, 73, 85, 77, 80, 72, 128, 84, 82,
+ 73, 84, 79, 211, 84, 82, 73, 84, 73, 77, 79, 82, 73, 79, 78, 128, 84, 82,
+ 73, 83, 73, 77, 79, 85, 128, 84, 82, 73, 83, 69, 77, 69, 128, 84, 82, 73,
+ 80, 79, 68, 128, 84, 82, 73, 80, 76, 73, 128, 84, 82, 73, 80, 76, 197,
+ 84, 82, 73, 79, 206, 84, 82, 73, 73, 83, 65, 80, 128, 84, 82, 73, 71, 82,
+ 65, 77, 77, 79, 211, 84, 82, 73, 71, 82, 65, 205, 84, 82, 73, 71, 79, 82,
+ 71, 79, 78, 128, 84, 82, 73, 70, 79, 78, 73, 65, 83, 128, 84, 82, 73, 70,
+ 79, 76, 73, 65, 84, 197, 84, 82, 73, 68, 69, 78, 84, 128, 84, 82, 73, 68,
+ 69, 78, 212, 84, 82, 73, 67, 79, 76, 79, 78, 128, 84, 82, 73, 65, 78, 71,
+ 85, 76, 65, 210, 84, 82, 73, 65, 78, 71, 76, 69, 45, 82, 79, 85, 78, 196,
+ 84, 82, 73, 65, 78, 71, 76, 69, 45, 72, 69, 65, 68, 69, 196, 84, 82, 73,
+ 65, 78, 71, 76, 69, 128, 84, 82, 73, 65, 78, 71, 76, 197, 84, 82, 73, 65,
+ 128, 84, 82, 73, 128, 84, 82, 69, 83, 73, 76, 76, 79, 128, 84, 82, 69,
+ 78, 68, 128, 84, 82, 69, 78, 196, 84, 82, 69, 77, 79, 76, 79, 45, 51,
+ 128, 84, 82, 69, 77, 79, 76, 79, 45, 50, 128, 84, 82, 69, 77, 79, 76, 79,
+ 45, 49, 128, 84, 82, 69, 69, 128, 84, 82, 69, 197, 84, 82, 69, 65, 68,
+ 73, 78, 71, 128, 84, 82, 65, 89, 128, 84, 82, 65, 80, 69, 90, 73, 85, 77,
+ 128, 84, 82, 65, 78, 83, 86, 69, 82, 83, 65, 204, 84, 82, 65, 78, 83, 80,
+ 79, 83, 73, 84, 73, 79, 206, 84, 82, 65, 78, 83, 77, 73, 212, 84, 82, 65,
+ 78, 83, 77, 73, 83, 83, 73, 79, 78, 128, 84, 82, 65, 78, 83, 77, 73, 83,
+ 83, 73, 79, 206, 84, 82, 65, 77, 87, 65, 89, 128, 84, 82, 65, 77, 128,
+ 84, 82, 65, 205, 84, 82, 65, 73, 78, 128, 84, 82, 65, 73, 206, 84, 82,
+ 65, 73, 76, 73, 78, 199, 84, 82, 65, 70, 70, 73, 67, 128, 84, 82, 65, 70,
+ 70, 73, 195, 84, 82, 65, 68, 197, 84, 82, 65, 67, 84, 79, 82, 128, 84,
+ 82, 65, 67, 75, 128, 84, 82, 128, 84, 79, 88, 128, 84, 79, 87, 69, 82,
+ 128, 84, 79, 85, 82, 78, 79, 73, 211, 84, 79, 84, 65, 204, 84, 79, 84,
+ 128, 84, 79, 82, 84, 79, 73, 83, 197, 84, 79, 82, 67, 85, 76, 85, 83,
+ 128, 84, 79, 82, 67, 85, 76, 85, 211, 84, 79, 82, 67, 72, 128, 84, 79,
+ 81, 128, 84, 79, 80, 66, 65, 82, 128, 84, 79, 80, 45, 76, 73, 71, 72, 84,
+ 69, 196, 84, 79, 80, 128, 84, 79, 208, 84, 79, 79, 84, 72, 128, 84, 79,
+ 79, 78, 128, 84, 79, 78, 79, 83, 128, 84, 79, 78, 71, 85, 69, 128, 84,
+ 79, 78, 71, 85, 197, 84, 79, 78, 71, 128, 84, 79, 78, 69, 45, 56, 128,
+ 84, 79, 78, 69, 45, 55, 128, 84, 79, 78, 69, 45, 54, 128, 84, 79, 78, 69,
+ 45, 53, 128, 84, 79, 78, 69, 45, 52, 128, 84, 79, 78, 69, 45, 51, 128,
+ 84, 79, 78, 69, 45, 50, 128, 84, 79, 78, 69, 45, 49, 128, 84, 79, 78, 69,
+ 128, 84, 79, 78, 65, 204, 84, 79, 77, 80, 73, 128, 84, 79, 77, 65, 84,
+ 79, 128, 84, 79, 76, 79, 78, 71, 128, 84, 79, 75, 89, 207, 84, 79, 73,
+ 76, 69, 84, 128, 84, 79, 71, 69, 84, 72, 69, 82, 128, 84, 79, 68, 207,
+ 84, 79, 65, 78, 68, 65, 75, 72, 73, 65, 84, 128, 84, 79, 65, 128, 84, 78,
128, 84, 76, 86, 128, 84, 76, 85, 128, 84, 76, 79, 128, 84, 76, 73, 128,
84, 76, 72, 89, 65, 128, 84, 76, 72, 87, 69, 128, 84, 76, 72, 85, 128,
84, 76, 72, 79, 79, 128, 84, 76, 72, 79, 128, 84, 76, 72, 73, 128, 84,
@@ -4635,7 +4635,7 @@ static unsigned int lexicon_offset[] = {
557, 850, 860, 867, 873, 879, 886, 894, 898, 749, 906, 915, 503, 923,
928, 934, 17, 943, 948, 951, 955, 959, 966, 969, 976, 980, 988, 992,
1000, 1004, 1007, 1014, 1021, 192, 1024, 1029, 1039, 1048, 1055, 1061,
- 1069, 1072, 1077, 1083, 1091, 1097, 1102, 1105, 1108, 111, 1113, 1117,
+ 1067, 1075, 1078, 1083, 1089, 1097, 1102, 1105, 1108, 111, 1113, 1117,
1123, 1129, 1132, 1138, 1142, 1147, 1153, 1158, 1168, 1172, 1175, 1178,
1187, 1191, 1194, 1199, 1204, 1210, 1215, 1220, 1225, 1229, 1234, 1240,
1245, 1250, 1254, 1260, 1265, 1270, 1275, 1279, 1284, 1289, 1294, 1300,
@@ -4755,7373 +4755,7374 @@ static unsigned int lexicon_offset[] = {
8645, 8649, 8653, 8658, 8665, 8676, 8684, 8694, 8700, 8707, 8712, 8716,
8727, 8740, 8751, 8764, 8775, 8787, 8799, 8811, 8824, 8837, 8844, 8850,
8864, 8871, 8877, 8881, 8886, 8890, 8897, 8905, 8909, 8915, 8919, 8925,
- 8935, 8939, 8944, 8949, 8956, 8962, 8972, 7909, 8978, 8982, 8989, 768,
- 8993, 8997, 9002, 9007, 9012, 9016, 9022, 9030, 9036, 9040, 9046, 9056,
- 9060, 9066, 9071, 9075, 9081, 9087, 2161, 9092, 9094, 9099, 9107, 9116,
- 9120, 9126, 9131, 9136, 9141, 9146, 9152, 9157, 9162, 4006, 9167, 9172,
- 9176, 9182, 9187, 9193, 9198, 9203, 9209, 9214, 9121, 9220, 9224, 9231,
- 9237, 9242, 9246, 6183, 9251, 9260, 9265, 9270, 8218, 8225, 9275, 2853,
- 9279, 9284, 9289, 9132, 9293, 9298, 9137, 9142, 9303, 9310, 9317, 9323,
- 9329, 9335, 9340, 9345, 9350, 9147, 9153, 9356, 9362, 9367, 9375, 9158,
- 9380, 990, 9383, 9391, 9397, 9403, 9412, 9420, 9425, 9431, 9439, 9446,
- 9461, 9478, 9497, 9506, 9514, 9529, 9540, 9550, 9560, 9568, 9574, 9586,
- 9595, 9603, 9610, 9617, 9623, 9628, 9636, 9646, 9653, 9663, 9673, 9683,
- 9691, 9698, 9707, 9717, 9731, 9746, 9755, 9763, 9768, 9772, 9781, 9787,
- 9792, 9802, 9812, 9822, 9827, 9831, 9840, 9845, 9855, 9866, 9879, 9887,
- 9900, 9912, 9920, 9925, 9929, 9935, 9940, 9948, 9956, 9963, 9968, 9976,
- 9982, 9985, 9989, 9995, 10003, 10008, 10012, 10020, 10029, 10037, 10043,
- 10047, 10054, 10065, 10069, 10072, 10078, 9163, 10083, 10089, 10096,
- 10102, 10107, 10114, 10121, 10128, 10135, 10142, 10149, 10156, 10163,
- 10168, 9474, 10173, 10179, 10186, 10193, 10198, 10205, 10214, 10218,
- 10230, 8256, 10234, 10237, 10241, 10245, 10249, 10253, 10259, 10265,
- 10270, 10276, 10281, 10286, 10292, 10297, 10302, 8952, 10307, 10311,
- 10315, 10319, 10324, 10329, 10337, 10343, 10347, 10351, 10358, 10363,
- 10371, 10376, 10380, 10383, 10389, 10396, 10400, 10403, 10408, 10412,
- 4045, 10418, 10427, 36, 10435, 10441, 10446, 8967, 10451, 10456, 10460,
- 10463, 10478, 10497, 10509, 10522, 10535, 10548, 10562, 10575, 10590,
- 10597, 9168, 10603, 10617, 10622, 10628, 10633, 10641, 10646, 8040,
- 10651, 10654, 10661, 10666, 10670, 2858, 998, 10676, 10680, 10686, 10692,
- 10697, 10703, 10708, 9177, 10714, 10720, 10725, 10730, 10738, 10744,
- 10757, 10765, 10772, 9183, 10778, 10786, 10794, 10801, 10814, 10826,
- 10836, 10844, 10851, 10858, 10867, 10876, 10884, 10891, 10896, 10902,
- 9188, 10907, 10913, 9194, 10918, 10921, 10928, 10934, 10947, 8669, 10958,
- 10964, 10973, 10981, 10988, 10994, 11000, 11005, 11009, 11014, 10470,
- 11020, 9199, 11027, 11032, 11039, 11045, 11051, 11056, 11064, 11072,
- 11079, 11083, 11097, 11107, 11112, 11116, 11127, 11133, 11138, 11143,
- 9204, 9210, 11147, 11150, 11155, 11167, 11174, 11179, 11183, 11188,
- 11192, 11199, 11205, 9215, 9122, 11212, 2863, 8, 11219, 11224, 11228,
- 11234, 11242, 11252, 11257, 11262, 11269, 11276, 11280, 11291, 11301,
- 11310, 11322, 11327, 11331, 11339, 11353, 11357, 11360, 11368, 11375,
- 11383, 11387, 11398, 11402, 11409, 11414, 11418, 11424, 11429, 11433,
- 11439, 11444, 11455, 11459, 11462, 11468, 11473, 11479, 11485, 11492,
- 11503, 11513, 11523, 11532, 11539, 11548, 9225, 9232, 9238, 9243, 11554,
- 11560, 9247, 11566, 11569, 11576, 11581, 11596, 11612, 11627, 11635,
- 11641, 11646, 838, 420, 11651, 11659, 11666, 11672, 11677, 11682, 9252,
- 11684, 11688, 11693, 11697, 11707, 11712, 11716, 11725, 11729, 11732,
- 9261, 11739, 11742, 11750, 11757, 11765, 11769, 11776, 11785, 11788,
- 11792, 11796, 11802, 11806, 11810, 11814, 11820, 11830, 11834, 11842,
- 11846, 11853, 11857, 11862, 11866, 11873, 11879, 11887, 11893, 11898,
- 11908, 11913, 11918, 11922, 11930, 3905, 11938, 11943, 9266, 11947,
- 11951, 11954, 11962, 11969, 11973, 5991, 11977, 11982, 11986, 11997,
- 12007, 12012, 12018, 12022, 12025, 12033, 12038, 12043, 12050, 12055,
- 9271, 12060, 12064, 12071, 1722, 6145, 12076, 12081, 12086, 12091, 12097,
- 12102, 12108, 12113, 12118, 12123, 12128, 12133, 12138, 12143, 12148,
- 12153, 12158, 12163, 12168, 12173, 12178, 12183, 12188, 12194, 12199,
- 12204, 12209, 12214, 12219, 12225, 12230, 12235, 12241, 12246, 12252,
- 12257, 12263, 12268, 12273, 12278, 12283, 12289, 12294, 12299, 12304,
- 737, 139, 12312, 12316, 12321, 12326, 12330, 12334, 12338, 12343, 12347,
- 12352, 12356, 12359, 12363, 12367, 12373, 12378, 12388, 12394, 12402,
- 12406, 12410, 12417, 12425, 12434, 12445, 12452, 12459, 12463, 12472,
- 12481, 12489, 12498, 12507, 12516, 12525, 12535, 12545, 12555, 12565,
- 12575, 12584, 12594, 12604, 12614, 12624, 12634, 12644, 12654, 12663,
- 12673, 12683, 12693, 12703, 12713, 12723, 12732, 12742, 12752, 12762,
- 12772, 12782, 12792, 12802, 12812, 12822, 12831, 12841, 12851, 12861,
- 12871, 12881, 12891, 12901, 12911, 12921, 12931, 12940, 1256, 12946,
- 12949, 12953, 12958, 12965, 12971, 12976, 12980, 12985, 12994, 13002,
- 13007, 13011, 13015, 13021, 13026, 13032, 9280, 13037, 13042, 13051,
- 9285, 13056, 13059, 13065, 13073, 9290, 13080, 13084, 13088, 13092,
- 13102, 13108, 13114, 13119, 13128, 13136, 13143, 13150, 13155, 13162,
- 13167, 13171, 13174, 13185, 13195, 13204, 13212, 13223, 13235, 13245,
- 13250, 13254, 13259, 13264, 13268, 13274, 13282, 13289, 13300, 13305,
- 13315, 13319, 13322, 13329, 13339, 13348, 13355, 13359, 13366, 13372,
- 13377, 13382, 13386, 13395, 13400, 13406, 13410, 13415, 13419, 13428,
- 13436, 13444, 13451, 13459, 13471, 13482, 13492, 13499, 13505, 13514,
- 13525, 13534, 13546, 13558, 13570, 13580, 13589, 13598, 13606, 13613,
- 13622, 13630, 13634, 13640, 13646, 13651, 7753, 13655, 13657, 13661,
- 13666, 13672, 13681, 13685, 13693, 13700, 13709, 13718, 13727, 13736,
- 13745, 13754, 13763, 13772, 13782, 13792, 13801, 13807, 13814, 13821,
- 13827, 13841, 13848, 13856, 13865, 13871, 13880, 13889, 13900, 13910,
- 13918, 13925, 13933, 13942, 13955, 13963, 13970, 13983, 13989, 13995,
- 14005, 14014, 14023, 14028, 14032, 14038, 14044, 14051, 8966, 14056,
- 14061, 14068, 14073, 12369, 14078, 14086, 14092, 14097, 14105, 14113,
- 14120, 14128, 14134, 14142, 14150, 14156, 14161, 14167, 14174, 14180,
- 14185, 14189, 14200, 14208, 14214, 14219, 14228, 14234, 14239, 14248,
- 14262, 3853, 14266, 14271, 14276, 14282, 14287, 14292, 14296, 14301,
- 14306, 14311, 7752, 14316, 14321, 14326, 14331, 14336, 14340, 14345,
- 14350, 14355, 14360, 14366, 14372, 14377, 14381, 14386, 14391, 14396,
- 9294, 14401, 14406, 14411, 14416, 14421, 14438, 14456, 14468, 14481,
- 14498, 14514, 14531, 14541, 14560, 14571, 14582, 14593, 14604, 14616,
- 14627, 14638, 14655, 14666, 14677, 14682, 9299, 14687, 14691, 2381,
- 14695, 14698, 14704, 14712, 14720, 14725, 14733, 14741, 14748, 14753,
- 14759, 14766, 14774, 14781, 14793, 14801, 14806, 11590, 14812, 14821,
- 14830, 14838, 14845, 14851, 14859, 14866, 14872, 14879, 14885, 14894,
- 14902, 14912, 14919, 14925, 14933, 14939, 14947, 14954, 14967, 14974,
- 14983, 14992, 15001, 15009, 15019, 15026, 15031, 3560, 15038, 15043,
- 1372, 15047, 14317, 15051, 15057, 15061, 15069, 15081, 15086, 15093,
- 15099, 15104, 15111, 14322, 15115, 15119, 15123, 14327, 15127, 14332,
- 15131, 15138, 15143, 15147, 15154, 15158, 15166, 15173, 15177, 15184,
- 15201, 15210, 15214, 15217, 15225, 15231, 15236, 3638, 15240, 15242,
- 15250, 15257, 15267, 15279, 15284, 15290, 15295, 15299, 15305, 15310,
- 15316, 15319, 15326, 15334, 15341, 15347, 15353, 15358, 15365, 15371,
- 15376, 15383, 15387, 15393, 15397, 15404, 15410, 15416, 15424, 15430,
- 15435, 15441, 15449, 15457, 15463, 15469, 15474, 15481, 15486, 15490,
- 15496, 15501, 15508, 15513, 15519, 15522, 15528, 15534, 15537, 15541,
- 15553, 15559, 15564, 15571, 15577, 15583, 15594, 15604, 15613, 15621,
- 15628, 15639, 15649, 15659, 15667, 15670, 14346, 15675, 15680, 14351,
- 14486, 15688, 15701, 15716, 15727, 14503, 15745, 15758, 15771, 15782,
- 10485, 15793, 15806, 15825, 15836, 15847, 15858, 2649, 15871, 15875,
- 15883, 15898, 15913, 15924, 15931, 15937, 15945, 15949, 15955, 15958,
- 15968, 15976, 15983, 15991, 16001, 16006, 16013, 16018, 16025, 16036,
- 16046, 16052, 16057, 16062, 14356, 16066, 16072, 16078, 16083, 16088,
- 16093, 16097, 14361, 14367, 16101, 14373, 16106, 16114, 16123, 16130,
- 9143, 16134, 16136, 16141, 16146, 16152, 16157, 16162, 16167, 16172,
- 16176, 16182, 16188, 16193, 16199, 16204, 16209, 16215, 16220, 16225,
- 16230, 16235, 16241, 16246, 16251, 16257, 16263, 16268, 16273, 16280,
- 16286, 16297, 16304, 16309, 16313, 16317, 16320, 16328, 16333, 16340,
- 16347, 16353, 16358, 16363, 16370, 16380, 16385, 16392, 16398, 16408,
- 16418, 16432, 16446, 16460, 16474, 16489, 16504, 16521, 16539, 16552,
- 16558, 16563, 16568, 16572, 16577, 16585, 16591, 16596, 16601, 16605,
- 16610, 16614, 16619, 16623, 16634, 16640, 16645, 16650, 16657, 16662,
- 16666, 16671, 16676, 16682, 16689, 16695, 16700, 16704, 16710, 16715,
- 16720, 16724, 16730, 16735, 16740, 16747, 16752, 13104, 16756, 16761,
- 16765, 16770, 16776, 16782, 16789, 16799, 16807, 16814, 16819, 16823,
- 16832, 16840, 16847, 16854, 16860, 16866, 16871, 16876, 16882, 16887,
- 16893, 16898, 16904, 16910, 16917, 16923, 16928, 16933, 9341, 16942,
- 16945, 16951, 16956, 16961, 16971, 16978, 16984, 16989, 16994, 17000,
- 17005, 17011, 17016, 17022, 17028, 17033, 17041, 17048, 17053, 17058,
- 17064, 17069, 17073, 17082, 17093, 17100, 17105, 17113, 17119, 17126,
- 17132, 17137, 17141, 17147, 17152, 17157, 17162, 1440, 7777, 2877, 17166,
- 17170, 17174, 17178, 17182, 17186, 17189, 17196, 17204, 14387, 17211,
- 17221, 17229, 17236, 17244, 17254, 17263, 17276, 17281, 17286, 17294,
- 17301, 13200, 13209, 17308, 17318, 17333, 17339, 17346, 17353, 17359,
- 17367, 17377, 17387, 14392, 17396, 17402, 17408, 17416, 17424, 17429,
- 17438, 17446, 17458, 17468, 17478, 17488, 17497, 17509, 17519, 17529,
- 17540, 17545, 17557, 17569, 17581, 17593, 17605, 17617, 17629, 17641,
- 17653, 17665, 17676, 17688, 17700, 17712, 17724, 17736, 17748, 17760,
- 17772, 17784, 17796, 17807, 17819, 17831, 17843, 17855, 17867, 17879,
- 17891, 17903, 17915, 17927, 17938, 17950, 17962, 17974, 17986, 17998,
- 18010, 18022, 18034, 18046, 18058, 18069, 18081, 18093, 18105, 18117,
- 18129, 18141, 18153, 18165, 18177, 18189, 18200, 18212, 18224, 18236,
- 18248, 18260, 18272, 18284, 18296, 18308, 18320, 18331, 18343, 18355,
- 18367, 18379, 18391, 18403, 18415, 18427, 18439, 18451, 18462, 18474,
- 18486, 18498, 18510, 18523, 18536, 18549, 18562, 18575, 18588, 18601,
- 18613, 18626, 18639, 18652, 18665, 18678, 18691, 18704, 18717, 18730,
- 18743, 18755, 18768, 18781, 18794, 18807, 18820, 18833, 18846, 18859,
- 18872, 18885, 18897, 18910, 18923, 18936, 18949, 18962, 18975, 18988,
- 19001, 19014, 19027, 19039, 19052, 19065, 19078, 19091, 19104, 19117,
- 19130, 19143, 19156, 19169, 19181, 19194, 19207, 19220, 19233, 19246,
- 19259, 19272, 19285, 19298, 19311, 19323, 19334, 19347, 19360, 19373,
- 19386, 19399, 19412, 19425, 19438, 19451, 19464, 19476, 19489, 19502,
- 19515, 19528, 19541, 19554, 19567, 19580, 19593, 19606, 19618, 19631,
- 19644, 19657, 19670, 19683, 19696, 19709, 19722, 19735, 19748, 19760,
- 19773, 19786, 19799, 19812, 19825, 19838, 19851, 19864, 19877, 19890,
- 19902, 19915, 19928, 19941, 19954, 19967, 19980, 19993, 20006, 20019,
- 20032, 20044, 20057, 20070, 20083, 20096, 20109, 20122, 20135, 20148,
- 20161, 20174, 20186, 20199, 20212, 20225, 20238, 20251, 20264, 20277,
- 20290, 20303, 20316, 20328, 20341, 20354, 20367, 20380, 20393, 20406,
- 20419, 20432, 20445, 20458, 20470, 20483, 20496, 20509, 20522, 20535,
- 20548, 20561, 20574, 20587, 20600, 20612, 20625, 20638, 20651, 20664,
- 20677, 20690, 20703, 20716, 20729, 20742, 20754, 20765, 20773, 20781,
- 20788, 20794, 20798, 20804, 20810, 20818, 20824, 20829, 20833, 20842,
- 9148, 20853, 20860, 20868, 20875, 20882, 10941, 20889, 20898, 20903,
- 20908, 7805, 20915, 20920, 20923, 20928, 20936, 20943, 20950, 20957,
- 20963, 20972, 20981, 20987, 20996, 21000, 21006, 21011, 21021, 21028,
- 21034, 21042, 21048, 21055, 21065, 21074, 21078, 21085, 21089, 21094,
- 21100, 21108, 21112, 21122, 14402, 21131, 21137, 21141, 21150, 14407,
- 21156, 21163, 21174, 21182, 21191, 21199, 8931, 21207, 21212, 21218,
- 21223, 21227, 21231, 21235, 9632, 21240, 21248, 21255, 21264, 21271,
- 21278, 10871, 21285, 21291, 21295, 21301, 21308, 21314, 21322, 21328,
- 21335, 21341, 21347, 21356, 21360, 21368, 21377, 21384, 21389, 21393,
- 21404, 21409, 21414, 21419, 21432, 7995, 21436, 21442, 21450, 21454,
- 21461, 21470, 21475, 14678, 21483, 21487, 21499, 21504, 21508, 21511,
- 21517, 21523, 21528, 21532, 21535, 21546, 21551, 9376, 21558, 21563,
- 9381, 21568, 21573, 21578, 21583, 21588, 21593, 21598, 21603, 21608,
- 21613, 21618, 21623, 21629, 21634, 21639, 21644, 21649, 21654, 21659,
- 21664, 21669, 21674, 21680, 21686, 21691, 21696, 21701, 21706, 21711,
- 21716, 21721, 21726, 21731, 21737, 21742, 21747, 21752, 21758, 21764,
- 21769, 21774, 21779, 21784, 21789, 21794, 21799, 21804, 21810, 21815,
- 21820, 21825, 21830, 21836, 21841, 21846, 21850, 1368, 129, 21858, 21862,
- 21866, 21870, 21875, 21879, 13110, 12469, 21883, 21888, 21892, 21897,
- 21901, 21906, 21910, 21916, 21921, 21925, 21929, 21937, 21941, 21945,
- 21950, 21955, 21959, 21965, 21970, 21974, 21979, 21984, 21988, 21995,
- 22002, 22009, 22013, 22017, 22022, 22026, 22029, 22035, 22048, 22053,
- 22062, 22067, 9421, 22072, 22075, 2712, 2717, 22079, 22085, 22091, 7209,
- 22096, 22101, 22106, 22112, 22117, 13896, 22122, 22127, 22132, 22137,
- 22143, 22148, 22153, 22159, 22164, 22168, 22173, 22178, 22183, 22188,
- 22192, 22197, 22201, 22206, 22211, 22216, 22221, 22225, 22230, 22234,
- 22239, 22244, 22249, 22254, 2886, 22169, 22258, 22266, 22273, 9726,
- 22285, 22293, 22174, 22300, 22305, 22313, 22179, 22318, 22323, 22331,
- 22336, 22184, 22341, 22346, 22350, 22356, 22364, 22367, 22374, 22378,
- 22382, 22388, 22395, 22400, 8958, 1727, 1732, 22404, 22410, 22416, 22421,
- 22425, 22429, 22433, 22437, 22441, 22445, 22449, 22452, 22458, 22465,
- 22473, 22479, 22485, 22490, 22495, 22499, 13816, 13823, 22504, 22516,
- 22519, 22526, 16349, 22533, 22541, 22552, 22561, 22574, 22584, 22598,
- 22610, 22624, 22636, 22646, 22658, 22664, 22679, 22703, 22721, 22740,
- 22753, 22767, 22785, 22801, 22818, 22836, 22847, 22866, 22883, 22903,
- 22921, 22933, 22947, 22961, 22973, 22990, 23009, 23027, 23039, 23057,
- 23076, 14546, 23089, 23109, 23121, 10516, 23133, 23138, 23143, 23148,
- 23154, 23159, 23163, 23170, 2398, 23174, 23180, 23184, 23187, 23191,
- 23199, 23205, 22202, 23209, 23218, 23229, 23235, 23241, 23250, 23258,
- 23265, 23270, 23274, 23281, 23287, 23296, 23304, 23311, 23321, 23330,
- 23340, 23345, 23354, 23363, 23374, 23385, 3963, 23395, 23399, 23409,
- 23417, 23427, 23438, 23443, 23453, 23461, 23468, 23474, 23481, 23486,
- 22212, 23490, 23499, 23503, 23506, 23511, 23518, 23527, 23535, 23543,
- 23553, 23562, 23568, 23574, 22217, 22222, 23578, 23588, 23598, 23608,
- 23616, 23623, 23633, 23641, 23649, 23655, 23663, 930, 23672, 14737, 542,
- 23686, 23695, 23703, 23714, 23725, 23735, 23744, 23756, 23765, 23774,
- 23780, 23789, 23798, 23808, 23816, 23824, 9353, 23830, 23833, 23837,
- 23842, 23847, 9841, 22235, 22240, 23855, 23861, 23867, 23872, 23877,
- 23881, 23889, 23895, 23901, 23905, 3525, 23913, 23918, 23923, 23927,
- 23931, 9921, 23938, 23946, 23960, 23967, 23973, 9930, 9936, 23981, 23989,
- 23996, 24001, 24006, 22245, 24012, 24023, 24027, 24032, 2601, 24037,
- 24048, 24054, 24059, 24063, 24067, 24070, 24077, 24084, 24091, 24097,
- 24101, 22250, 24106, 24110, 24114, 1037, 24119, 24124, 24129, 24134,
- 24139, 24144, 24149, 24154, 24159, 24164, 24169, 24174, 24179, 24184,
- 24190, 24195, 24200, 24205, 24210, 24215, 24220, 24226, 24231, 24236,
- 24241, 24246, 24251, 24256, 24261, 24267, 24273, 24278, 24284, 24289,
- 24294, 5, 24300, 24304, 24308, 24312, 24317, 24321, 24325, 24329, 24333,
- 24338, 24342, 24347, 24351, 24354, 24358, 24363, 24367, 24372, 24376,
- 24380, 24384, 24389, 24393, 24397, 24407, 24412, 24416, 24420, 24425,
- 24430, 24439, 24444, 24449, 24453, 24457, 24470, 24482, 24491, 24500,
- 24506, 24511, 24515, 24519, 24529, 24538, 24546, 24552, 24557, 24561,
- 24568, 24578, 24587, 24595, 24603, 24610, 24618, 24627, 24636, 24644,
- 24649, 24653, 24657, 24660, 24662, 24666, 24670, 24675, 24680, 24684,
- 24688, 24691, 24695, 24698, 24702, 24705, 24708, 24712, 24718, 24722,
- 24726, 24730, 24735, 24740, 24745, 24749, 24752, 24757, 24763, 24768,
- 24774, 24779, 24783, 24787, 24791, 24796, 24800, 24805, 24809, 24813,
- 24820, 24824, 24827, 24831, 24837, 24843, 24847, 24851, 24856, 24863,
- 24869, 24873, 24882, 24886, 24890, 24893, 24899, 24904, 24910, 1489,
- 1791, 24915, 24920, 24925, 24930, 24935, 24940, 24945, 2148, 2194, 24950,
- 24953, 24957, 24961, 24966, 24970, 24974, 24977, 24982, 24987, 24991,
- 24994, 24999, 25003, 25008, 25012, 14749, 25017, 25020, 25023, 25027,
- 25032, 25036, 25049, 25053, 25056, 25064, 25073, 25080, 25085, 25091,
- 25097, 25105, 25112, 25119, 25123, 25127, 25131, 25136, 25141, 25145,
- 25153, 25158, 25170, 25181, 25186, 25190, 25194, 25200, 25205, 25210,
- 25214, 25218, 25221, 25227, 7915, 2316, 25231, 25236, 25252, 9468, 25272,
- 25281, 25297, 25301, 25304, 25310, 25320, 25326, 25335, 25350, 25362,
- 25373, 25381, 25390, 25396, 25405, 25415, 25426, 25437, 25446, 25453,
- 25462, 25470, 25477, 25485, 25492, 25499, 25512, 25519, 25525, 25530,
- 25539, 25545, 25550, 25558, 25565, 23419, 25577, 25589, 25603, 25611,
- 25618, 25630, 25639, 25648, 25656, 25664, 25672, 25679, 25688, 25696,
- 25706, 25715, 25725, 25734, 25743, 25751, 25756, 25760, 25763, 25767,
- 25771, 25775, 25779, 25783, 25789, 25795, 25803, 14794, 25810, 25815,
- 25822, 25828, 25835, 14802, 25842, 25845, 25857, 25865, 25871, 25876,
- 25880, 9871, 25891, 25901, 25910, 25917, 25921, 14807, 25924, 25931,
- 25935, 25941, 25944, 25951, 25957, 25964, 25970, 25974, 25979, 25983,
- 25992, 25999, 26005, 7956, 26012, 26020, 26027, 26033, 26038, 26044,
- 26050, 26058, 26062, 26065, 26067, 25768, 26076, 26082, 26092, 26097,
- 26104, 26110, 26115, 26120, 26125, 26129, 26134, 26141, 26150, 26154,
- 26161, 26170, 26176, 26181, 26187, 26192, 26199, 26210, 26215, 26219,
- 26229, 26235, 26239, 26244, 26254, 26263, 26267, 26274, 26282, 26289,
- 26295, 26300, 26308, 26315, 26327, 26336, 26340, 13046, 26348, 26358,
- 26362, 25060, 26373, 26378, 26382, 26389, 26396, 21961, 25693, 26401,
- 26405, 26408, 22853, 26413, 26427, 26443, 26461, 26480, 26497, 26515,
- 22872, 26532, 26552, 22889, 26564, 26576, 15732, 26588, 22909, 26602,
- 26614, 10529, 26628, 26633, 26638, 26643, 26649, 26655, 26661, 26665,
- 26672, 26677, 26687, 26693, 10176, 26699, 26701, 26706, 26714, 26718,
- 26137, 26724, 26731, 11517, 11527, 26738, 26748, 26753, 26757, 26760,
- 26766, 26774, 26786, 26796, 26812, 26825, 26839, 15750, 26853, 26860,
- 26864, 26867, 26872, 26876, 26883, 26890, 26900, 26905, 26910, 26915,
- 26923, 26931, 26940, 26945, 9565, 26949, 26952, 26955, 26960, 26967,
- 26972, 26988, 26996, 27004, 9416, 27012, 27017, 27021, 27027, 27033,
- 27036, 27042, 27054, 27062, 27069, 27075, 27082, 27093, 27107, 27120,
- 27129, 27138, 27150, 27161, 27171, 27180, 27189, 27197, 27208, 7938,
- 27215, 27221, 27226, 27232, 27239, 27249, 27259, 27268, 27274, 27281,
- 27286, 27293, 27301, 27309, 27321, 6246, 27328, 27337, 27345, 27351,
- 27357, 27362, 27366, 27369, 27375, 27382, 27387, 27392, 27396, 27408,
- 27419, 27428, 27436, 14934, 27441, 27447, 27453, 11510, 8635, 27458,
- 27462, 27465, 27468, 27474, 27482, 27490, 27494, 27498, 27503, 27506,
- 27515, 27519, 27527, 27538, 27542, 27548, 27554, 27558, 27564, 27572,
- 27594, 27618, 27625, 27632, 27638, 27646, 27652, 27657, 27668, 27686,
- 27693, 27701, 27705, 27714, 27727, 27735, 27747, 27758, 27768, 27782,
- 27791, 27799, 27811, 9485, 27822, 27833, 27845, 27855, 27864, 27869,
- 27873, 27881, 27891, 27896, 27900, 27903, 27906, 27914, 27922, 27931,
- 27941, 27950, 27956, 27970, 2663, 27992, 28003, 28012, 28022, 28034,
- 28043, 28052, 28062, 28070, 28078, 28087, 28092, 28103, 28108, 28119,
- 28123, 28133, 28142, 28150, 28160, 28170, 28178, 28187, 28194, 28202,
- 28209, 28218, 28222, 28230, 28237, 28245, 28252, 28263, 28278, 28285,
- 28291, 28301, 28310, 28316, 28320, 28327, 28331, 14018, 28337, 28341,
- 28346, 28353, 28357, 28361, 28369, 28377, 28383, 28392, 28399, 28404,
- 28409, 28419, 23488, 28423, 28426, 28431, 28436, 28441, 28446, 28451,
- 28456, 28461, 28466, 28472, 28477, 28482, 28488, 1218, 704, 28493, 28502,
- 2364, 28509, 28514, 28518, 28524, 1267, 546, 318, 28529, 28538, 28546,
- 28555, 28563, 28574, 28583, 28591, 28595, 28598, 28606, 28614, 28619,
- 14762, 28625, 28631, 28637, 5872, 28642, 28646, 28652, 28656, 28663,
- 1455, 28669, 28676, 9572, 28680, 28690, 28698, 28704, 28713, 28721,
- 28727, 28735, 28742, 11103, 28748, 28755, 28760, 28767, 1496, 2147,
- 28773, 28779, 28786, 28797, 28808, 28816, 28823, 28833, 28842, 28850,
- 28859, 28866, 28873, 28886, 28897, 1272, 28916, 28921, 28929, 3575,
- 28933, 28938, 28942, 1459, 24689, 28952, 28956, 28961, 28965, 3493,
- 28971, 28979, 28986, 28997, 29005, 29013, 3576, 279, 29018, 29026, 29034,
- 29041, 29047, 29052, 2216, 29059, 29065, 25975, 26205, 29071, 106, 29075,
- 29079, 29085, 615, 9321, 29090, 29097, 29103, 2327, 29107, 29111, 15174,
- 29114, 29119, 29126, 29132, 29137, 29145, 29152, 29158, 22338, 29162,
- 29166, 3646, 16612, 29170, 29175, 29178, 29186, 29194, 29199, 29202,
- 29209, 29219, 29231, 29236, 29240, 29248, 29255, 29261, 29268, 29275,
- 29278, 29282, 29286, 1463, 29296, 29298, 29303, 29309, 29315, 29320,
- 29325, 29330, 29335, 29340, 29345, 29350, 29355, 29360, 29365, 29370,
- 29375, 29380, 29385, 29391, 29397, 29403, 29409, 29414, 29419, 29424,
- 29430, 29435, 29440, 29445, 29451, 29456, 29462, 29467, 29472, 29477,
- 29482, 29488, 29493, 29499, 29504, 29509, 29514, 29519, 29525, 29530,
- 29536, 29541, 29546, 29551, 29556, 29561, 29566, 29571, 29576, 29581,
- 29587, 29593, 29599, 29604, 29609, 29614, 29619, 29625, 29631, 29637,
- 29643, 29649, 29655, 29660, 29666, 29671, 29676, 29681, 29686, 29692,
- 2443, 29697, 2450, 2457, 2754, 29702, 2463, 2473, 29708, 29712, 29717,
- 29722, 29728, 29733, 29738, 29742, 29747, 29753, 29758, 29763, 29768,
- 29774, 29779, 29783, 29787, 29792, 29797, 29802, 29807, 29812, 29818,
- 29824, 29829, 29833, 29838, 29844, 29848, 29853, 29858, 29863, 29868,
- 29872, 29875, 29880, 29885, 29890, 29895, 29900, 29906, 29912, 29917,
- 29922, 29926, 29931, 29936, 29941, 29946, 29951, 29955, 29960, 29965,
- 29970, 29974, 29978, 29982, 29987, 29995, 30000, 30006, 30012, 30018,
- 30023, 30027, 30030, 30035, 30040, 30044, 30049, 30053, 30058, 30062,
- 30065, 30070, 17289, 30075, 30080, 30085, 30093, 21267, 28673, 9019,
- 30098, 30103, 30107, 30112, 30116, 30120, 30125, 30129, 30132, 30135,
- 30139, 30144, 30148, 30156, 30160, 30163, 30168, 30172, 30176, 30181,
- 30186, 30190, 30196, 30201, 30206, 30213, 30220, 30224, 30227, 30233,
- 30242, 30249, 30257, 30264, 30268, 30273, 30277, 30281, 30287, 30293,
- 30297, 30303, 30308, 30313, 30320, 30326, 30332, 30338, 30344, 30351,
- 30357, 30363, 30369, 30375, 30381, 30387, 30393, 30400, 30406, 30413,
- 30419, 30425, 30431, 30437, 30443, 30449, 30455, 30461, 30467, 11411,
- 30473, 30478, 30483, 30486, 30494, 30499, 30508, 30514, 30519, 30524,
- 30529, 30533, 30538, 30543, 30548, 30553, 30558, 30565, 30572, 30578,
- 30584, 30589, 16290, 30596, 30602, 30609, 30615, 30621, 30626, 30634,
- 30639, 16069, 30643, 30648, 30653, 30659, 30664, 30669, 30673, 30678,
- 30683, 30689, 30694, 30699, 30703, 30708, 30713, 30717, 30722, 30727,
- 30732, 30736, 30741, 30746, 30751, 30755, 30759, 15280, 30763, 30772,
- 30778, 30784, 30793, 30801, 30810, 30818, 30823, 30827, 30834, 30840,
- 30844, 30847, 30852, 30861, 30869, 30874, 1495, 30880, 30883, 30887,
- 22411, 22417, 30893, 30897, 30908, 30919, 30930, 30942, 30949, 30956,
- 30961, 30965, 5909, 755, 21266, 30973, 30978, 30982, 30987, 30991, 30997,
- 31002, 31008, 31013, 31019, 31024, 31030, 31035, 31041, 31047, 31053,
- 31058, 31014, 31020, 31062, 31067, 31073, 31078, 31084, 31089, 31095,
- 31100, 31025, 10414, 31104, 31036, 31042, 31048, 2831, 3423, 31110,
- 31113, 31119, 31125, 31131, 31138, 31144, 31150, 31156, 31162, 31168,
- 31174, 31180, 31186, 31192, 31198, 31204, 31210, 31217, 31223, 31229,
- 31235, 31241, 31247, 31250, 31255, 31258, 31265, 31273, 31278, 31283,
- 31289, 31294, 31299, 31303, 31308, 31314, 31319, 31325, 31330, 31336,
- 31341, 31347, 31353, 31357, 31362, 31367, 31372, 31377, 31381, 31386,
- 31391, 31396, 31402, 31408, 31414, 31420, 31425, 31429, 31432, 31438,
- 31444, 31453, 31461, 31468, 31473, 31477, 31481, 31486, 15133, 31491,
- 31499, 31505, 3683, 1377, 31510, 31514, 8005, 31520, 31526, 31533, 8014,
- 31537, 31543, 31550, 31556, 31565, 31573, 31585, 31589, 31596, 31602,
- 31606, 31609, 31618, 31626, 31015, 31631, 31641, 31651, 31661, 31667,
- 31672, 31682, 31687, 31700, 31714, 31725, 31737, 31749, 31763, 31776,
- 31788, 31800, 14587, 31814, 31819, 31824, 31828, 31832, 31836, 1780,
- 27159, 31840, 31845, 31063, 31850, 31853, 31858, 31863, 31868, 31874,
- 31880, 10091, 31885, 31892, 15684, 31898, 31903, 31908, 31912, 31917,
- 31922, 31068, 31927, 31932, 31937, 31943, 31074, 31948, 31951, 31958,
- 31966, 31972, 31978, 31984, 31995, 32000, 32007, 32014, 32021, 32029,
- 32038, 32047, 32053, 32059, 32067, 31079, 32072, 32078, 32084, 31085,
- 32089, 32094, 32102, 32110, 32116, 32123, 32129, 32136, 32143, 32149,
- 32157, 32167, 32174, 32179, 32185, 32190, 32195, 32202, 32211, 32219,
- 32224, 32230, 32237, 32245, 32251, 32256, 32262, 32271, 27936, 32278,
- 32282, 32287, 32296, 32301, 32306, 32311, 12398, 32319, 32324, 32329,
- 32334, 32338, 32343, 32348, 32355, 32360, 32365, 32370, 31090, 21203,
- 32376, 2519, 244, 32379, 32382, 32386, 32390, 32400, 32408, 32412, 32419,
- 32426, 32430, 32433, 32439, 32447, 32455, 32459, 32463, 32466, 32473,
- 32477, 32481, 32488, 32496, 31026, 32503, 32511, 10151, 660, 308, 32523,
- 32528, 32533, 32539, 32544, 32549, 3704, 32554, 32557, 32562, 32567,
- 32572, 32577, 32582, 32589, 22512, 32594, 32599, 32604, 32609, 32614,
- 32620, 32625, 32631, 31261, 32637, 32642, 32648, 32654, 32664, 32669,
- 32674, 32678, 32683, 32688, 32693, 32698, 32711, 32716, 22289, 16692,
- 3710, 32720, 32725, 32730, 32736, 32741, 32746, 32750, 32755, 32760,
- 32766, 32771, 32776, 1382, 32780, 32785, 32790, 32795, 32799, 32804,
- 32809, 32814, 32820, 32826, 32831, 32835, 32839, 32844, 32849, 32854,
- 32858, 32866, 32870, 32876, 32880, 32887, 16485, 31037, 32893, 32900,
- 32908, 32915, 32921, 32934, 32946, 32952, 32956, 2773, 32960, 32964,
- 32468, 32973, 32984, 32989, 32994, 32999, 33003, 33008, 22422, 33012,
- 33016, 33021, 31043, 21287, 33025, 33030, 33036, 33041, 33045, 33049,
- 33052, 33056, 33062, 33073, 33085, 31049, 33090, 33093, 33097, 347,
- 33102, 33107, 33112, 33117, 33122, 33127, 33133, 33138, 33143, 33149,
- 33154, 33160, 33165, 33171, 33176, 33181, 33186, 33191, 33196, 33201,
- 33206, 33211, 33217, 33222, 33227, 33232, 33237, 33242, 33247, 33252,
- 33258, 33264, 33269, 33274, 33279, 33284, 33289, 33294, 33299, 33304,
- 33309, 33314, 33319, 33324, 33329, 33334, 33339, 33344, 33349, 33354,
- 33360, 313, 26, 33365, 33369, 33373, 33381, 33385, 33389, 33392, 33395,
- 33397, 33402, 33406, 33411, 33415, 33420, 33424, 33429, 33433, 33436,
- 33438, 33442, 33447, 33451, 33462, 33465, 33467, 33471, 33483, 33492,
- 33496, 33500, 33506, 33511, 33520, 33526, 33531, 33536, 33540, 33545,
- 33552, 33557, 33563, 33568, 33572, 33579, 25701, 25711, 33583, 33588,
- 33593, 33598, 33605, 33609, 33616, 8113, 33622, 33631, 33639, 33654,
- 33668, 33676, 33687, 33696, 33701, 7227, 33711, 33716, 33721, 33725,
- 33728, 33732, 33737, 33741, 33748, 33753, 33758, 8912, 33768, 33770,
- 33773, 33777, 33783, 33787, 33792, 33797, 33803, 33808, 33814, 33819,
- 33829, 33838, 33846, 33851, 33857, 33862, 33869, 33873, 33881, 33888,
- 33901, 33909, 33913, 33923, 33928, 33932, 33940, 33948, 33952, 33961,
- 33967, 33972, 33980, 33990, 33999, 34008, 34017, 34028, 34036, 34047,
- 34056, 34063, 34069, 34074, 34085, 34090, 34094, 34097, 34101, 34109,
- 34115, 34123, 34130, 34136, 34141, 34147, 2418, 34151, 34153, 34158,
- 34163, 34168, 34171, 34173, 34177, 34180, 34187, 34191, 9884, 34195,
- 34201, 34211, 34216, 34222, 34226, 34231, 34244, 26087, 34250, 34259,
- 17462, 34266, 34275, 31647, 34283, 34288, 34292, 34300, 34307, 34312,
- 34316, 34321, 34325, 34333, 34339, 34345, 34350, 34354, 34357, 34362,
- 34375, 34391, 22979, 34408, 34420, 34437, 34449, 34463, 22996, 23015,
- 34475, 34487, 2680, 34501, 34506, 34511, 34516, 34520, 34527, 34539,
- 34545, 34548, 34559, 34570, 34575, 32064, 695, 34579, 34583, 34587,
- 34590, 34595, 34600, 34606, 34611, 34616, 34622, 34628, 34633, 34637,
- 34642, 34647, 34652, 34656, 34659, 34665, 34670, 34675, 34680, 34684,
- 34689, 34695, 34703, 26320, 34708, 34713, 34720, 34726, 34732, 34737,
- 34745, 22521, 34752, 34757, 34762, 34767, 34771, 34774, 34779, 34783,
- 34787, 34794, 34800, 34806, 34812, 34819, 34824, 34830, 33943, 34834,
- 34838, 34843, 34856, 34861, 34867, 34875, 34882, 34890, 34900, 34906,
- 34912, 34918, 34922, 34931, 34939, 34946, 34951, 34956, 10437, 34961,
- 34969, 34976, 34982, 34992, 34997, 35003, 35011, 3608, 35018, 35025,
- 3614, 35029, 35034, 35045, 35052, 35058, 35067, 35071, 4015, 35074,
- 35081, 35087, 35093, 35101, 35111, 29042, 35118, 35126, 35131, 35137,
- 35142, 25947, 35148, 35155, 35161, 35170, 23660, 35177, 35182, 35186,
- 35194, 35202, 9600, 5895, 35209, 35213, 35215, 35219, 35224, 35226,
- 35232, 35237, 35242, 35249, 32585, 35255, 35260, 35264, 35269, 35273,
- 35282, 35286, 35292, 35299, 35305, 35312, 35317, 35326, 35331, 35335,
- 35340, 35347, 35355, 35363, 35368, 21343, 35372, 35375, 35379, 35383,
- 35387, 35390, 35392, 35400, 35404, 35411, 35415, 35419, 35427, 35434,
- 35444, 35448, 35452, 35460, 35468, 35474, 35479, 35488, 13350, 35494,
- 35503, 35508, 35515, 35523, 35531, 35539, 35546, 35553, 35560, 35567,
- 35574, 35579, 35585, 35602, 35610, 35620, 35628, 35635, 407, 35639,
- 35645, 35649, 35654, 33692, 35660, 35663, 35667, 35675, 3619, 35683,
- 35689, 35695, 35704, 35714, 35721, 35727, 3625, 3631, 35736, 35743,
- 35751, 35756, 35760, 35767, 35775, 35782, 35788, 35797, 35807, 35813,
- 35821, 35830, 35837, 35845, 35852, 22019, 35856, 35863, 35869, 35879,
- 35888, 35899, 35903, 35913, 35919, 35926, 35934, 35943, 35952, 35962,
- 35973, 35980, 35985, 35992, 3029, 36000, 36006, 36011, 36017, 36023,
- 36028, 36041, 36054, 36067, 36074, 36080, 36088, 36096, 36101, 36105,
- 1469, 36109, 36114, 36119, 36124, 36129, 36135, 36140, 36145, 36150,
- 36155, 36160, 36165, 36170, 36176, 36182, 36187, 36192, 36198, 36203,
- 36208, 36213, 36219, 36224, 36229, 36234, 36239, 36245, 36250, 36255,
- 36261, 36266, 36271, 36276, 36281, 36286, 36292, 36297, 36303, 36308,
- 36314, 36319, 36324, 36329, 36335, 36341, 36347, 36353, 36359, 36365,
- 36371, 36377, 36382, 36387, 36393, 36398, 36403, 36408, 36413, 36418,
- 36423, 36428, 36434, 36439, 36444, 36450, 36456, 101, 36461, 36463,
- 36467, 36471, 36475, 36480, 36484, 9521, 36488, 36494, 1741, 6280, 36500,
- 36503, 36508, 36512, 36517, 36521, 36525, 36530, 10238, 36534, 36538,
- 36542, 36546, 15372, 36551, 36555, 36560, 36565, 36570, 36574, 36581,
- 26111, 36587, 36590, 36594, 36599, 36605, 36609, 36617, 36623, 36628,
- 36632, 36638, 36642, 36646, 3462, 3467, 29234, 36649, 36653, 36657,
- 36661, 36669, 36676, 36680, 36687, 36692, 317, 36697, 36701, 36707,
- 36719, 36725, 36731, 36735, 36741, 36750, 36754, 36758, 36763, 36769,
- 36774, 36778, 36783, 36787, 36791, 36798, 36804, 36809, 36824, 36839,
- 36854, 36870, 36888, 10188, 36902, 36909, 36913, 36916, 36925, 36930,
- 36934, 36942, 33894, 36950, 36954, 36964, 36975, 29204, 36988, 36992,
- 37001, 37009, 9778, 14900, 37013, 22434, 37016, 30152, 37021, 9777,
- 37026, 37032, 37037, 37043, 37048, 37054, 37059, 37065, 37070, 37076,
- 37082, 37088, 37093, 37049, 37055, 37060, 37066, 37071, 37077, 37083,
- 8126, 3874, 37097, 37105, 37109, 37112, 37116, 37121, 37126, 37132,
- 37138, 37143, 37147, 25959, 37151, 37155, 37161, 37165, 9042, 37174,
- 37181, 37185, 11868, 37192, 37198, 37203, 37210, 37217, 37224, 28550,
- 8049, 37231, 37238, 37245, 37251, 37256, 37263, 37274, 37280, 37285,
- 37290, 37295, 37302, 37050, 37306, 37316, 37327, 37333, 37338, 37343,
- 37348, 37353, 37358, 37362, 37366, 37372, 37380, 2319, 865, 10254, 10266,
- 10271, 10277, 37389, 10282, 10287, 10293, 37394, 37404, 37408, 10298,
- 37413, 16890, 37416, 37421, 37425, 37430, 37435, 37442, 37449, 37453,
- 37456, 37464, 10201, 37471, 37474, 37480, 37490, 5929, 37499, 37503,
- 37511, 37515, 37525, 37531, 37542, 37548, 37554, 37559, 37565, 37571,
- 37577, 37582, 37585, 37592, 37598, 37603, 37610, 37617, 37621, 37631,
- 37644, 37653, 37662, 37673, 37686, 37697, 37706, 37717, 37722, 37731,
- 37736, 10303, 37742, 37749, 37757, 37762, 37766, 37773, 37780, 3829, 16,
- 37784, 37789, 16744, 37793, 37796, 37799, 28056, 37803, 28559, 37811,
- 37815, 37819, 37822, 37828, 37072, 37834, 37842, 37848, 37855, 28039,
- 37859, 28233, 37863, 37872, 37878, 37884, 37889, 37893, 37899, 37903,
- 37911, 37919, 26177, 37925, 37932, 37938, 37943, 37948, 37952, 37958,
- 37963, 37969, 4056, 791, 37976, 37980, 37983, 15262, 37995, 35826, 38006,
- 38009, 38016, 38020, 38026, 38030, 38036, 38041, 38047, 38052, 38057,
- 38061, 38065, 38070, 38075, 38085, 38091, 38104, 38110, 38116, 38123,
- 38128, 38134, 38139, 16630, 1472, 1019, 31193, 31199, 38144, 31205,
- 31218, 31224, 31230, 38150, 31236, 31242, 38156, 38162, 22, 38170, 38177,
- 38181, 38185, 38193, 31953, 38197, 38201, 38208, 38213, 38217, 38222,
- 38228, 38233, 38239, 38244, 38248, 38252, 38256, 38261, 38265, 38270,
- 38274, 38281, 38286, 38290, 38295, 38299, 38304, 38308, 38313, 38319,
- 15482, 15487, 38324, 38328, 38331, 38335, 21170, 38340, 38344, 38350,
- 38357, 38362, 38372, 38377, 38385, 38389, 38392, 31968, 38396, 4109,
- 38401, 38406, 38410, 38415, 38419, 38424, 13368, 38435, 38439, 38442,
- 38447, 38451, 38455, 38458, 38462, 8145, 13384, 38465, 38468, 38474,
- 38479, 38485, 38490, 38496, 38501, 38507, 38512, 38518, 38524, 38530,
- 38535, 38539, 38543, 38552, 38568, 38584, 38594, 27946, 38601, 38605,
- 38610, 38615, 38619, 38623, 35947, 38629, 38634, 38638, 38645, 38650,
- 38654, 38658, 26979, 38664, 21438, 38669, 38676, 38684, 38690, 38697,
- 38705, 38711, 38715, 38721, 38729, 38733, 38742, 9502, 38750, 38754,
- 38762, 38769, 38774, 38779, 38783, 38786, 38790, 38793, 38797, 38804,
- 38809, 38815, 26398, 31256, 38819, 38826, 38832, 38838, 38843, 38846,
- 38848, 38855, 38862, 38868, 38872, 38875, 38879, 38883, 38887, 38892,
- 38896, 38900, 38903, 38907, 38921, 23045, 38940, 38953, 38966, 38979,
- 23063, 38994, 10490, 39009, 39015, 39019, 39023, 39030, 39035, 39039,
- 39046, 39052, 39057, 39063, 39073, 39085, 39096, 39101, 39108, 39112,
- 39116, 39119, 15878, 3677, 39127, 15509, 39140, 39147, 39151, 39155,
- 39160, 39165, 39171, 39175, 39179, 39182, 7742, 15520, 39187, 39191,
- 39197, 39206, 39211, 39218, 35803, 39224, 39229, 39233, 39238, 39245,
- 39249, 39252, 39256, 39261, 14552, 39268, 39275, 1066, 39279, 39284,
- 39289, 39295, 39300, 39305, 39309, 39319, 39324, 39330, 39335, 39341,
- 39346, 39352, 39362, 39367, 39372, 39376, 7229, 7241, 39381, 39384,
- 39391, 39397, 34059, 34066, 39406, 39410, 32016, 39418, 39429, 39437,
- 35995, 39444, 39449, 39454, 39465, 39472, 39483, 32040, 21444, 39491,
- 735, 39496, 39502, 28030, 39508, 39513, 39523, 39532, 39539, 39545,
- 39549, 39552, 39559, 39565, 39572, 39578, 39588, 39596, 39602, 39608,
- 39613, 39617, 39624, 39630, 39637, 38888, 535, 13805, 39643, 39648,
- 39651, 39657, 39665, 1396, 39670, 39674, 39679, 39686, 39692, 39696,
- 39700, 39705, 39714, 39721, 39731, 39737, 28074, 39754, 39763, 39771,
- 39777, 39782, 39789, 39795, 39803, 39812, 39820, 39824, 39829, 39837,
- 32049, 39843, 39862, 15811, 39876, 39892, 39906, 39912, 39917, 39922,
- 39927, 39933, 32055, 39938, 39945, 39950, 39954, 345, 2936, 39961, 39966,
- 39971, 27305, 39792, 39975, 39980, 39988, 39992, 39995, 40001, 40007,
- 40011, 28129, 40014, 40019, 40023, 40026, 40031, 40035, 40040, 40045,
- 40049, 40054, 40058, 40062, 21166, 21177, 40066, 40071, 40077, 26936,
- 40082, 40086, 21253, 16059, 40089, 40094, 40099, 40104, 40109, 40114,
- 40119, 40124, 447, 43, 31274, 31279, 31284, 31290, 31295, 31300, 40129,
- 31304, 40133, 40137, 40141, 31309, 31315, 40155, 31326, 31331, 40163,
- 40168, 31337, 40173, 40178, 40183, 40188, 40194, 40200, 40206, 31354,
- 40219, 40225, 31358, 40229, 31363, 40234, 31368, 31373, 40237, 40242,
- 40246, 30923, 40252, 13592, 40259, 40264, 31378, 40268, 40273, 40278,
- 40283, 40287, 40292, 40297, 40303, 40308, 40313, 40319, 40325, 40330,
- 40334, 40339, 40344, 40349, 40353, 40358, 40363, 40368, 40374, 40380,
- 40386, 40391, 40395, 40400, 40404, 31382, 31387, 31392, 40408, 40412,
- 40416, 31397, 31403, 31409, 31421, 40428, 25996, 40432, 40436, 40441,
- 40446, 40451, 40456, 40460, 40464, 40474, 40479, 40484, 40488, 40492,
- 40495, 40503, 31469, 40508, 1479, 40514, 40522, 40531, 40535, 40539,
- 40547, 40553, 40561, 40577, 40581, 40585, 40590, 40605, 31506, 1749,
- 12048, 40609, 1378, 40621, 40622, 40630, 40637, 40642, 40649, 40654,
- 9372, 1114, 10325, 40661, 40666, 40669, 40672, 40681, 1286, 40686, 39036,
- 40693, 40698, 22486, 2557, 40702, 10734, 40712, 40718, 2337, 2347, 40727,
- 40736, 40746, 40757, 3293, 34212, 10377, 3807, 16668, 1291, 40762, 40770,
- 40777, 40782, 40786, 40790, 23858, 10404, 40798, 40807, 40816, 40824,
- 40831, 40842, 40847, 40860, 40873, 40885, 40897, 40909, 40922, 40933,
- 40944, 40954, 40962, 40970, 40982, 40994, 41005, 41014, 41022, 41029,
- 41041, 41048, 41057, 41064, 41077, 41082, 41092, 41097, 41103, 41108,
- 37182, 41112, 41119, 41123, 41130, 41138, 2518, 41145, 41156, 41166,
- 41175, 41183, 41193, 41201, 41211, 41220, 41225, 41231, 41237, 3709,
- 41248, 41258, 41267, 41276, 41286, 41294, 41303, 41308, 41313, 41318,
- 1705, 37, 41326, 41334, 41345, 41356, 16343, 41366, 41370, 41377, 41383,
- 41388, 41392, 41403, 41413, 41422, 41433, 16717, 16722, 41438, 41447,
- 41452, 41462, 41467, 41475, 41483, 41490, 41496, 7078, 228, 41500, 41506,
- 41511, 41514, 2117, 39152, 41522, 41526, 41529, 1512, 41535, 13967, 1296,
- 41540, 41553, 41567, 2643, 41585, 41597, 41609, 2657, 2674, 41623, 41636,
- 2689, 41650, 41662, 2704, 41676, 1302, 1308, 1314, 10652, 41681, 41686,
- 41691, 41695, 41710, 41725, 41740, 41755, 41770, 41785, 41800, 41815,
- 41830, 41845, 41860, 41875, 41890, 41905, 41920, 41935, 41950, 41965,
- 41980, 41995, 42010, 42025, 42040, 42055, 42070, 42085, 42100, 42115,
- 42130, 42145, 42160, 42175, 42190, 42205, 42220, 42235, 42250, 42265,
- 42280, 42295, 42310, 42325, 42340, 42355, 42370, 42385, 42400, 42415,
- 42430, 42445, 42460, 42475, 42490, 42505, 42520, 42535, 42550, 42565,
- 42580, 42595, 42610, 42625, 42640, 42655, 42670, 42685, 42700, 42715,
- 42730, 42745, 42760, 42775, 42790, 42805, 42820, 42835, 42850, 42865,
- 42880, 42895, 42910, 42925, 42940, 42955, 42970, 42985, 43000, 43015,
- 43030, 43045, 43060, 43075, 43090, 43105, 43120, 43135, 43150, 43165,
- 43180, 43195, 43210, 43225, 43240, 43255, 43270, 43285, 43300, 43315,
- 43330, 43345, 43360, 43375, 43390, 43405, 43420, 43435, 43450, 43465,
- 43480, 43495, 43510, 43525, 43540, 43555, 43570, 43585, 43600, 43615,
- 43630, 43645, 43660, 43675, 43690, 43705, 43720, 43735, 43750, 43765,
- 43780, 43795, 43810, 43825, 43840, 43855, 43870, 43885, 43900, 43915,
- 43930, 43945, 43960, 43975, 43990, 44005, 44020, 44035, 44050, 44065,
- 44080, 44095, 44110, 44125, 44140, 44155, 44170, 44185, 44200, 44215,
- 44230, 44245, 44260, 44275, 44290, 44305, 44320, 44335, 44350, 44365,
- 44380, 44395, 44410, 44425, 44440, 44455, 44470, 44485, 44500, 44515,
- 44530, 44545, 44560, 44575, 44590, 44605, 44620, 44635, 44650, 44665,
- 44680, 44695, 44710, 44725, 44740, 44755, 44770, 44785, 44800, 44815,
- 44830, 44845, 44860, 44875, 44890, 44905, 44920, 44935, 44950, 44965,
- 44980, 44995, 45010, 45025, 45040, 45055, 45070, 45085, 45100, 45115,
- 45130, 45145, 45160, 45175, 45190, 45205, 45220, 45235, 45250, 45265,
- 45280, 45295, 45310, 45325, 45340, 45355, 45370, 45385, 45400, 45415,
- 45430, 45445, 45460, 45475, 45490, 45505, 45520, 45535, 45550, 45565,
- 45580, 45595, 45610, 45625, 45640, 45655, 45670, 45685, 45700, 45715,
- 45730, 45745, 45760, 45775, 45790, 45805, 45820, 45835, 45850, 45865,
- 45880, 45895, 45910, 45925, 45940, 45955, 45970, 45985, 46000, 46015,
- 46030, 46045, 46060, 46075, 46090, 46105, 46120, 46135, 46150, 46165,
- 46180, 46195, 46210, 46225, 46240, 46255, 46270, 46285, 46300, 46315,
- 46330, 46345, 46360, 46375, 46390, 46405, 46420, 46435, 46450, 46465,
- 46480, 46495, 46510, 46525, 46540, 46555, 46570, 46585, 46600, 46615,
- 46630, 46645, 46660, 46675, 46690, 46705, 46720, 46735, 46750, 46765,
- 46780, 46795, 46810, 46825, 46840, 46855, 46870, 46885, 46900, 46915,
- 46930, 46945, 46960, 46975, 46990, 47005, 47020, 47035, 47050, 47065,
- 47080, 47095, 47110, 47125, 47140, 47155, 47170, 47185, 47200, 47215,
- 47230, 47245, 47260, 47275, 47290, 47305, 47320, 47335, 47350, 47365,
- 47380, 47395, 47410, 47425, 47440, 47455, 47470, 47485, 47500, 47515,
- 47530, 47545, 47560, 47575, 47590, 47605, 47620, 47635, 47650, 47665,
- 47680, 47695, 47710, 47725, 47740, 47755, 47770, 47785, 47800, 47815,
- 47830, 47845, 47860, 47875, 47890, 47905, 47920, 47935, 47950, 47965,
- 47980, 47995, 48010, 48025, 48040, 48055, 48070, 48085, 48100, 48115,
- 48130, 48145, 48160, 48175, 48190, 48205, 48220, 48235, 48250, 48265,
- 48280, 48295, 48310, 48325, 48340, 48355, 48370, 48385, 48400, 48415,
- 48430, 48445, 48460, 48475, 48490, 48505, 48520, 48535, 48550, 48565,
- 48580, 48595, 48610, 48625, 48640, 48655, 48670, 48685, 48700, 48715,
- 48730, 48745, 48760, 48775, 48790, 48805, 48820, 48835, 48850, 48865,
- 48880, 48895, 48910, 48925, 48940, 48955, 48970, 48985, 49000, 49015,
- 49030, 49045, 49060, 49075, 49090, 49105, 49120, 49135, 49150, 49165,
- 49180, 49195, 49210, 49225, 49240, 49255, 49270, 49285, 49300, 49315,
- 49330, 49345, 49360, 49375, 49390, 49405, 49420, 49435, 49450, 49465,
- 49480, 49495, 49511, 49527, 49543, 49559, 49575, 49591, 49607, 49623,
- 49639, 49655, 49671, 49687, 49703, 49719, 49735, 49751, 49767, 49783,
- 49799, 49815, 49831, 49847, 49863, 49879, 49895, 49911, 49927, 49943,
- 49959, 49975, 49991, 50007, 50023, 50039, 50055, 50071, 50087, 50103,
- 50119, 50135, 50151, 50167, 50183, 50199, 50215, 50231, 50247, 50263,
- 50279, 50295, 50311, 50327, 50343, 50359, 50375, 50391, 50407, 50423,
- 50439, 50455, 50471, 50487, 50503, 50519, 50535, 50551, 50567, 50583,
- 50599, 50615, 50631, 50647, 50663, 50679, 50695, 50711, 50727, 50743,
- 50759, 50775, 50791, 50807, 50823, 50839, 50855, 50871, 50887, 50903,
- 50919, 50935, 50951, 50967, 50983, 50999, 51015, 51031, 51047, 51063,
- 51079, 51095, 51111, 51127, 51143, 51159, 51175, 51191, 51207, 51223,
- 51239, 51255, 51271, 51287, 51303, 51319, 51335, 51351, 51367, 51383,
- 51399, 51415, 51431, 51447, 51463, 51479, 51495, 51511, 51527, 51543,
- 51559, 51575, 51591, 51607, 51623, 51639, 51655, 51671, 51687, 51703,
- 51719, 51735, 51751, 51767, 51783, 51799, 51815, 51831, 51847, 51863,
- 51879, 51895, 51911, 51927, 51943, 51959, 51975, 51991, 52007, 52023,
- 52039, 52055, 52071, 52087, 52103, 52119, 52135, 52151, 52167, 52183,
- 52199, 52215, 52231, 52247, 52263, 52279, 52295, 52311, 52327, 52343,
- 52359, 52375, 52391, 52407, 52423, 52439, 52455, 52471, 52487, 52503,
- 52519, 52535, 52551, 52567, 52583, 52599, 52615, 52631, 52647, 52663,
- 52679, 52695, 52711, 52727, 52743, 52759, 52775, 52791, 52807, 52823,
- 52839, 52855, 52871, 52887, 52903, 52919, 52935, 52951, 52967, 52983,
- 52999, 53015, 53031, 53047, 53063, 53079, 53095, 53111, 53127, 53143,
- 53159, 53175, 53191, 53207, 53223, 53239, 53255, 53271, 53287, 53303,
- 53319, 53335, 53351, 53367, 53383, 53399, 53415, 53431, 53447, 53463,
- 53479, 53495, 53511, 53527, 53543, 53559, 53575, 53591, 53607, 53623,
- 53639, 53655, 53671, 53687, 53703, 53719, 53735, 53751, 53767, 53783,
- 53799, 53815, 53831, 53847, 53863, 53879, 53895, 53911, 53927, 53943,
- 53959, 53975, 53991, 54007, 54023, 54039, 54055, 54071, 54087, 54103,
- 54119, 54135, 54151, 54167, 54183, 54199, 54215, 54231, 54247, 54263,
- 54279, 54295, 54311, 54327, 54343, 54359, 54375, 54391, 54407, 54423,
- 54439, 54455, 54471, 54487, 54503, 54519, 54535, 54551, 54567, 54583,
- 54599, 54615, 54631, 54647, 54663, 54679, 54695, 54711, 54727, 54743,
- 54759, 54775, 54791, 54807, 54823, 54839, 54855, 54871, 54887, 54903,
- 54919, 54935, 54951, 54967, 54983, 54999, 55015, 55031, 55047, 55063,
- 55079, 55095, 55111, 55127, 55143, 55159, 55175, 55191, 55207, 55223,
- 55239, 55255, 55271, 55287, 55303, 55319, 55335, 55351, 55367, 55383,
- 55399, 55415, 55431, 55447, 55463, 55479, 55495, 55511, 55527, 55543,
- 55559, 55575, 55591, 55607, 55623, 55639, 55655, 55671, 55687, 55703,
- 55719, 55735, 55751, 55767, 55783, 55799, 55815, 55831, 55847, 55863,
- 55879, 55895, 55911, 55927, 55943, 55959, 55975, 55991, 56007, 56023,
- 56039, 56055, 56071, 56087, 56103, 56119, 56135, 56151, 56167, 56183,
- 56199, 56215, 56231, 56247, 56263, 56279, 56295, 56311, 56327, 56343,
- 56359, 56375, 56391, 56407, 56423, 56439, 56455, 56471, 56487, 56503,
- 56519, 56535, 56551, 56567, 56583, 56599, 56615, 56631, 56647, 56663,
- 56679, 56695, 56711, 56727, 56743, 56759, 56775, 56791, 56807, 56823,
- 56839, 56855, 56871, 56887, 56903, 56919, 56935, 56951, 56967, 56983,
- 56999, 57015, 57031, 57047, 57063, 57079, 57095, 57111, 57127, 57143,
- 57159, 57175, 57191, 57207, 57223, 57239, 57255, 57271, 57287, 57303,
- 57319, 57335, 57351, 57367, 57383, 57399, 57415, 57431, 57447, 57463,
- 57479, 57495, 57511, 57527, 57543, 57559, 57575, 57591, 57607, 57623,
- 57639, 57655, 57671, 57687, 57703, 57719, 57735, 57751, 57767, 57783,
- 57799, 57815, 57831, 57847, 57863, 57879, 57895, 57911, 57927, 57943,
- 57959, 57975, 57991, 58007, 58023, 58039, 58055, 58071, 58087, 58103,
- 58119, 58135, 58151, 58167, 58182, 16749, 58191, 58197, 58203, 58213,
- 58221, 14881, 15432, 9953, 58234, 1520, 58242, 3761, 27415, 7183, 58248,
- 58253, 58258, 58263, 58268, 58274, 58279, 58285, 58290, 58296, 58301,
- 58306, 58311, 58316, 58322, 58327, 58332, 58337, 58342, 58347, 58352,
- 58357, 58363, 58368, 58374, 58381, 2561, 58386, 58392, 8526, 58396,
- 58401, 58408, 58416, 40, 58420, 58426, 58431, 58436, 58440, 58445, 58449,
- 58453, 10677, 58457, 58467, 58480, 58491, 58504, 58511, 58517, 58522,
- 58528, 58534, 58540, 58545, 58550, 58555, 58560, 58564, 58569, 58574,
- 58579, 58585, 58591, 58597, 58602, 58606, 58611, 58616, 58620, 58625,
- 58630, 58635, 58639, 10693, 10704, 10709, 1563, 58643, 1568, 58649,
- 16226, 58652, 58658, 1599, 58664, 1605, 1611, 10739, 58669, 58677, 58684,
- 58688, 58694, 58699, 30952, 58704, 58711, 58716, 58720, 58724, 1616,
- 16318, 58733, 58737, 16329, 1120, 58741, 58748, 58753, 58757, 16354,
- 1620, 37321, 58760, 58765, 58775, 58784, 58789, 58793, 58799, 1625,
- 39230, 58804, 58813, 58819, 58824, 10897, 10903, 58830, 58842, 58859,
- 58876, 58893, 58910, 58927, 58944, 58961, 58978, 58995, 59012, 59029,
- 59046, 59063, 59080, 59097, 59114, 59131, 59148, 59165, 59182, 59199,
- 59216, 59233, 59250, 59267, 59284, 59301, 59318, 59335, 59352, 59369,
- 59386, 59403, 59420, 59437, 59454, 59471, 59488, 59505, 59522, 59539,
- 59556, 59573, 59590, 59607, 59624, 59641, 59658, 59675, 59686, 59691,
- 1630, 59695, 59701, 59706, 59711, 9319, 1635, 59717, 59726, 27710, 59731,
- 59742, 59752, 59757, 59764, 59770, 59775, 59780, 16606, 59784, 10914,
- 1640, 10919, 59790, 59795, 59801, 59806, 59811, 59816, 59821, 59826,
- 59831, 59836, 59842, 59848, 59854, 59859, 59863, 59868, 59873, 59877,
- 59882, 59887, 59892, 59896, 59901, 59907, 59912, 59917, 59921, 59926,
- 59931, 59937, 59942, 59947, 59953, 59959, 59964, 59968, 59973, 59978,
- 59983, 59987, 59992, 59997, 60002, 60008, 60014, 60019, 60023, 60027,
- 60032, 60037, 60042, 29108, 60046, 60051, 60056, 60062, 60067, 60072,
- 60076, 60081, 60086, 60092, 60097, 60102, 60108, 60114, 60119, 60123,
- 60128, 60133, 60137, 60142, 60147, 60152, 60158, 60164, 60169, 60173,
- 60178, 60183, 60187, 60192, 60197, 60202, 60206, 60209, 31614, 60214,
- 60222, 16672, 3663, 11010, 60228, 60238, 60253, 11015, 60264, 60269,
- 60280, 60292, 60304, 60316, 2695, 60328, 60333, 60345, 60349, 60355,
- 60361, 60366, 1652, 1067, 60375, 60380, 39280, 60384, 60388, 60393,
- 60397, 16757, 60402, 60405, 60413, 60421, 1656, 11040, 11046, 1661,
- 60429, 60436, 60441, 60450, 60460, 60467, 60472, 60477, 1666, 60484,
- 60489, 16872, 60493, 60498, 60505, 60511, 60515, 60526, 60536, 16894,
- 9227, 9234, 1671, 60543, 60549, 60557, 60564, 60570, 60577, 60589, 60595,
- 60600, 60612, 60623, 60632, 60642, 3740, 30788, 30797, 16934, 1676, 1680,
- 60650, 60661, 60666, 1683, 60674, 60679, 16985, 60691, 60697, 60702,
- 60710, 1688, 60715, 60720, 60728, 60736, 60743, 60752, 60760, 60769,
- 1693, 60773, 1698, 60778, 60785, 17059, 60793, 60799, 60804, 60812,
- 60819, 60827, 22557, 60832, 11175, 60841, 60847, 60854, 60861, 60867,
- 60877, 60883, 60888, 60899, 60904, 60912, 11184, 11189, 60920, 60926,
- 60934, 3805, 17101, 39368, 60939, 60945, 60950, 60958, 60965, 12029,
- 60970, 60976, 1709, 60981, 60984, 1127, 60990, 60995, 61000, 61006,
- 61011, 61016, 61021, 61026, 61031, 61036, 1718, 9, 61042, 61046, 61051,
- 61055, 61059, 61063, 31854, 61068, 61073, 61078, 61082, 61085, 61089,
- 61093, 61098, 61102, 61107, 61111, 34591, 34596, 34601, 61114, 61121,
- 61127, 39089, 61137, 34607, 32112, 31869, 31875, 34623, 31881, 61142,
- 61147, 32145, 61151, 61154, 61158, 61165, 61168, 61173, 61177, 61181,
- 61184, 61194, 61206, 61213, 61219, 61226, 33548, 61229, 8543, 877, 61232,
- 61236, 61241, 3690, 61245, 61248, 13625, 61255, 61262, 61275, 61283,
- 61292, 61301, 61306, 61316, 61329, 61341, 61348, 61353, 61362, 61375,
- 36035, 61393, 61398, 61405, 61411, 652, 61416, 61424, 61431, 27254, 627,
- 61437, 61443, 61453, 61459, 61464, 31899, 6003, 31913, 61468, 61478,
- 61483, 61493, 61508, 61514, 61520, 31923, 61525, 31069, 61529, 61534,
- 61539, 61543, 61548, 16937, 61555, 61560, 61564, 6044, 31949, 61568,
- 61574, 312, 61584, 61591, 61598, 61603, 61612, 58769, 61618, 61626,
- 61630, 61634, 61638, 61642, 61647, 61651, 61657, 61665, 61670, 61675,
- 61679, 61684, 61688, 61692, 61698, 61704, 61709, 61713, 32073, 61718,
- 32079, 32085, 61723, 61729, 61736, 61741, 61745, 31086, 16599, 61748,
- 61752, 61757, 61764, 61770, 61774, 61779, 38799, 61785, 61789, 61793,
- 61798, 61804, 61810, 61822, 61831, 61841, 61847, 61854, 61859, 61864,
- 61868, 61871, 61877, 61884, 61889, 61894, 61901, 61908, 61914, 61919,
- 61924, 61932, 32090, 2423, 61937, 61942, 61948, 61953, 61959, 61964,
- 61969, 61974, 61980, 32111, 61985, 61991, 61997, 62003, 32175, 62008,
- 62013, 62018, 32186, 62023, 62028, 62033, 62039, 62045, 32191, 62050,
- 62055, 62060, 32246, 32252, 62065, 62070, 32257, 62075, 27937, 32279,
- 32283, 62080, 62056, 62084, 62092, 62098, 62106, 62113, 62119, 62129,
- 62135, 62142, 10624, 32297, 62148, 62161, 62170, 62176, 62185, 62191,
- 23495, 62198, 62205, 62215, 32247, 62218, 62225, 62230, 62234, 62238,
- 62243, 6120, 62247, 62252, 62257, 34685, 34690, 62261, 34704, 62266,
- 34709, 62271, 62277, 34721, 34727, 34733, 62282, 62288, 22522, 62299,
- 62302, 62314, 62322, 32320, 62326, 62335, 62345, 62354, 32330, 62359,
- 62366, 62375, 62381, 62389, 62396, 6095, 4397, 62401, 32258, 62407,
- 62410, 62416, 62423, 62428, 62433, 23405, 62437, 62443, 62449, 62454,
- 62459, 62463, 62469, 62475, 33458, 863, 35698, 36619, 36625, 32366,
- 62480, 62484, 62488, 62491, 62504, 62510, 62514, 62517, 62522, 33761,
- 62526, 31091, 21274, 62532, 6024, 6032, 9068, 62535, 62540, 62545, 62550,
- 62555, 62560, 62565, 62570, 62575, 62580, 62586, 62591, 62596, 62602,
- 62607, 62612, 62617, 62622, 62627, 62632, 62638, 62643, 62649, 62654,
- 62659, 62664, 62669, 62674, 62679, 62684, 62689, 62694, 62699, 62705,
- 62710, 62715, 62720, 62725, 62730, 62735, 62741, 62746, 62751, 62756,
- 62761, 62766, 62771, 62776, 62781, 62786, 62792, 62797, 62802, 62807,
- 62812, 62818, 62824, 62829, 62835, 62840, 62845, 62850, 62855, 62860,
- 1513, 245, 62865, 62869, 62873, 62877, 25116, 62881, 62885, 62890, 62894,
- 62899, 62903, 62908, 62913, 62918, 62922, 62926, 62931, 62935, 13362,
- 62940, 62944, 62951, 62961, 15193, 62970, 62979, 62983, 62988, 62993,
- 62997, 24907, 3019, 63001, 17350, 63007, 63016, 63024, 63030, 63042,
- 63054, 63058, 63063, 63067, 63073, 63079, 63084, 63094, 63104, 63110,
- 63115, 63119, 63124, 63130, 63139, 63148, 63156, 15547, 63160, 63169,
- 63177, 63189, 63200, 63211, 63220, 63224, 63233, 63243, 63251, 63257,
- 63262, 63268, 63273, 98, 30900, 63284, 26249, 26259, 63290, 63297, 63303,
- 63307, 63317, 63328, 63336, 63345, 63350, 63355, 63359, 17304, 63367,
- 63371, 63377, 63387, 63394, 63400, 34784, 63406, 63408, 63411, 63415,
- 63425, 63431, 63438, 13308, 63445, 63451, 63460, 63469, 63475, 63481,
- 63487, 63492, 63499, 63506, 63512, 63525, 63534, 63543, 63548, 63552,
- 63558, 63565, 63572, 63579, 63586, 63593, 63598, 63602, 63606, 63609,
- 63619, 63623, 63635, 63644, 63648, 63653, 63657, 63663, 63668, 63675,
- 63684, 63692, 63700, 63705, 63709, 63714, 63719, 63729, 63737, 63742,
- 63746, 63750, 63756, 63768, 63776, 63786, 63793, 63799, 63804, 63808,
- 63812, 63816, 63825, 63834, 63843, 63849, 63855, 63861, 63866, 63873,
- 63879, 63887, 63894, 12456, 63900, 63906, 63910, 14231, 63914, 63919,
- 63929, 63938, 63944, 63950, 63958, 63965, 63969, 63973, 63979, 63987,
- 63994, 64000, 64011, 64015, 64019, 64023, 64026, 64032, 64037, 64041,
- 64045, 64054, 64062, 64069, 64075, 64082, 24029, 38841, 64087, 64095,
- 64099, 64103, 64106, 64114, 64121, 64127, 64136, 64144, 64150, 64155,
- 64159, 64164, 64168, 64172, 64177, 64186, 64190, 64197, 64204, 64210,
- 64218, 64224, 64235, 64243, 64249, 22652, 64258, 64265, 64272, 64279,
- 64286, 64293, 41870, 13146, 64300, 64307, 64312, 34820, 6217, 64318,
- 64323, 64328, 64334, 64340, 64346, 64351, 64356, 64361, 64366, 64372,
- 64377, 64383, 64388, 64394, 64399, 64404, 64409, 64414, 64419, 64424,
- 64429, 64435, 64440, 64446, 64451, 64456, 64461, 64466, 64471, 64476,
- 64482, 64487, 64492, 64497, 64502, 64507, 64512, 64517, 64522, 64527,
- 64532, 64538, 64543, 64548, 64553, 64558, 64563, 64568, 64573, 64578,
- 64584, 64589, 64594, 64599, 64604, 64609, 64614, 64619, 64624, 64629,
- 64634, 64639, 64644, 64650, 1834, 224, 37417, 64655, 64658, 64663, 64667,
- 64670, 64675, 63696, 64686, 64696, 64703, 64719, 64728, 64738, 64748,
- 64756, 64770, 64778, 64782, 64785, 64792, 64798, 64809, 64821, 64832,
- 64841, 64848, 1297, 23294, 64858, 2590, 64862, 64871, 1133, 17277, 38054,
- 64879, 64887, 64901, 64914, 64918, 64923, 64928, 64933, 64939, 64945,
- 64950, 8535, 64955, 64959, 64967, 11041, 64972, 64978, 64987, 1721,
- 11053, 736, 64991, 65000, 65010, 27013, 65019, 65025, 16849, 65031,
- 65035, 3964, 11384, 65041, 65048, 60656, 65052, 65056, 3988, 189, 14146,
- 65062, 65074, 65078, 65084, 27730, 65088, 11372, 2730, 4, 65093, 65103,
- 65109, 65120, 65127, 65133, 65139, 65147, 65154, 65160, 65170, 65180,
- 65190, 23482, 1309, 65199, 65203, 65207, 65213, 65217, 2753, 2759, 8532,
- 2264, 65221, 65225, 65234, 65242, 65253, 65261, 65269, 65275, 65280,
- 65291, 65302, 65310, 65316, 9687, 65321, 65329, 65333, 65337, 65341,
- 65353, 28115, 65360, 65370, 65376, 65382, 9789, 65392, 65403, 65413,
- 65422, 65426, 65433, 1135, 1170, 65443, 65448, 65456, 65464, 65475,
- 65482, 65496, 14075, 393, 65506, 65510, 65518, 65527, 65535, 65541,
- 65555, 65562, 65568, 65577, 65584, 65594, 65602, 3812, 156, 65610, 65621,
- 65625, 65637, 27928, 161, 65643, 65648, 65652, 65659, 65665, 65673,
- 65680, 8818, 65687, 65696, 65704, 3878, 65717, 8199, 65721, 2798, 450,
- 65726, 65739, 65744, 1833, 668, 65748, 3895, 65756, 65762, 65766, 931,
- 65776, 65785, 65790, 14915, 14922, 45232, 65794, 3822, 13034, 65802,
- 65809, 23538, 65813, 65820, 65826, 65831, 65836, 14935, 372, 65841,
- 65853, 65859, 65867, 2810, 1753, 65875, 65877, 65882, 65887, 65892,
- 65898, 65903, 65908, 65913, 65918, 65923, 65928, 65934, 65939, 65944,
- 65949, 65954, 65959, 65964, 65969, 65974, 65980, 65985, 65990, 65995,
- 66001, 66006, 66012, 66017, 66022, 66027, 66032, 66037, 66042, 66047,
- 66053, 66058, 66064, 66069, 66074, 66079, 66084, 66089, 66094, 66099,
- 66104, 66110, 66115, 66120, 66125, 66129, 66133, 66138, 66142, 66147,
- 66152, 66158, 66163, 66167, 66172, 66176, 66179, 66181, 66185, 66188,
- 66193, 66197, 66201, 66205, 66209, 66218, 66222, 32524, 66225, 32529,
- 66232, 66237, 32534, 66246, 66255, 32540, 66260, 32545, 66269, 66274,
- 11571, 66278, 66283, 66288, 32550, 66292, 40196, 66296, 66299, 66303,
- 8211, 66309, 66314, 66318, 3705, 32555, 66321, 66325, 66328, 66333,
- 66337, 66343, 66351, 66364, 66373, 66379, 66384, 66390, 66394, 66400,
- 66408, 66413, 66417, 66424, 66430, 66438, 66447, 66455, 32558, 66462,
- 66472, 66481, 66494, 66499, 66504, 66513, 66519, 66526, 66537, 66549,
- 66556, 66565, 66574, 66583, 66590, 66596, 66603, 66611, 66618, 66626,
- 66635, 66643, 66650, 66658, 66667, 66675, 66684, 66694, 66703, 66711,
- 66718, 66726, 66735, 66743, 66752, 66762, 66771, 66779, 66788, 66798,
- 66807, 66817, 66828, 66838, 66847, 66855, 66862, 66870, 66879, 66887,
- 66896, 66906, 66915, 66923, 66932, 66942, 66951, 66961, 66972, 66982,
- 66991, 66999, 67008, 67018, 67027, 67037, 67048, 67058, 67067, 67077,
- 67088, 67098, 67109, 67121, 67132, 67142, 67151, 67159, 67166, 67174,
- 67183, 67191, 67200, 67210, 67219, 67227, 67236, 67246, 67255, 67265,
- 67276, 67286, 67295, 67303, 67312, 67322, 67331, 67341, 67352, 67362,
- 67371, 67381, 67392, 67402, 67413, 67425, 67436, 67446, 67455, 67463,
- 67472, 67482, 67491, 67501, 67512, 67522, 67531, 67541, 67552, 67562,
- 67573, 67585, 67596, 67606, 67615, 67625, 67636, 67646, 67657, 67669,
- 67680, 67690, 67701, 67713, 67724, 67736, 67749, 67761, 67772, 67782,
- 67791, 67799, 67806, 67814, 67823, 67831, 67840, 67850, 67859, 67867,
- 67876, 67886, 67895, 67905, 67916, 67926, 67935, 67943, 67952, 67962,
- 67971, 67981, 67992, 68002, 68011, 68021, 68032, 68042, 68053, 68065,
- 68076, 68086, 68095, 68103, 68112, 68122, 68131, 68141, 68152, 68162,
- 68171, 68181, 68192, 68202, 68213, 68225, 68236, 68246, 68255, 68265,
- 68276, 68286, 68297, 68309, 68320, 68330, 68341, 68353, 68364, 68376,
- 68389, 68401, 68412, 68422, 68431, 68439, 68448, 68458, 68467, 68477,
- 68488, 68498, 68507, 68517, 68528, 68538, 68549, 68561, 68572, 68582,
- 68591, 68601, 68612, 68622, 68633, 68645, 68656, 68666, 68677, 68689,
- 68700, 68712, 68725, 68737, 68748, 68758, 68767, 68777, 68788, 68798,
- 68809, 68821, 68832, 68842, 68853, 68865, 68876, 68888, 68901, 68913,
- 68924, 68934, 68945, 68957, 68968, 68980, 68993, 69005, 69016, 69028,
- 69041, 69053, 69066, 69080, 69093, 69105, 69116, 69126, 69135, 69143,
- 69150, 69155, 8058, 69162, 32568, 69167, 69172, 32573, 69178, 20916,
- 32578, 69183, 69189, 69197, 69203, 69209, 69216, 69223, 69228, 69232,
- 69235, 69239, 69248, 69254, 69266, 69277, 69281, 3081, 8033, 69286,
- 69289, 69291, 69295, 69299, 69303, 69309, 69314, 25927, 69319, 69323,
- 69326, 69331, 69335, 69342, 69348, 69352, 6170, 69356, 32595, 69361,
- 69368, 69377, 69385, 69396, 69404, 69412, 69419, 69426, 69432, 69443,
- 32600, 69448, 69459, 69471, 69479, 69490, 69499, 69510, 69515, 69523,
- 2556, 69528, 34270, 69541, 69545, 69557, 69565, 69570, 69578, 17472,
- 69589, 69595, 69602, 69610, 69616, 32610, 69621, 3914, 58217, 69628,
- 69631, 69639, 69652, 69665, 69678, 69691, 69698, 69709, 69718, 41687,
- 41692, 69723, 69727, 69735, 69742, 69751, 69759, 69765, 69774, 69782,
- 69790, 69794, 69803, 69812, 69822, 69835, 69848, 69858, 32615, 69864,
- 69871, 69877, 32621, 69882, 69885, 69889, 69897, 69906, 41425, 69914,
- 69923, 69931, 69938, 69946, 69956, 69965, 69974, 69983, 69991, 70002,
- 70012, 9359, 21554, 70021, 70026, 70031, 70035, 70039, 70044, 70050,
- 70055, 70060, 70066, 70071, 70076, 21519, 70081, 70088, 70096, 70104,
- 70109, 70116, 70123, 70128, 70132, 70136, 70144, 70152, 32638, 70158,
- 70164, 70176, 70182, 70186, 70193, 70198, 70209, 70219, 70229, 70241,
- 70247, 70257, 70267, 32665, 70276, 70285, 70291, 70303, 70314, 70321,
- 70326, 70330, 70338, 70344, 70349, 70354, 70361, 70369, 70381, 70391,
- 70400, 70409, 70416, 34132, 23834, 70422, 70427, 70431, 70435, 70440,
- 70446, 70457, 70470, 70475, 70482, 32670, 70487, 70499, 70508, 70518,
- 70529, 70542, 70549, 70558, 70567, 70575, 70580, 70586, 1058, 70591,
- 70596, 70601, 70606, 70612, 70617, 70622, 70628, 70634, 70639, 70643,
- 70648, 70653, 70658, 58729, 70663, 70668, 70673, 70678, 70684, 70690,
- 70695, 70699, 70704, 70709, 70714, 70720, 70725, 70731, 70736, 70741,
- 70746, 70751, 70755, 70761, 70766, 70775, 70780, 70785, 70790, 70795,
- 70799, 70806, 70812, 17122, 17129, 70817, 70821, 70825, 70829, 70833,
- 45487, 70837, 70767, 70839, 70849, 32679, 70852, 70861, 70867, 6143,
- 32684, 70871, 70877, 70882, 70888, 70893, 70897, 70904, 70909, 70919,
- 70928, 70932, 70938, 70944, 70950, 70954, 70962, 70969, 70977, 70985,
- 32689, 70992, 70995, 71002, 71008, 71013, 71017, 71023, 71030, 71035,
- 71039, 71048, 71056, 71062, 71067, 32694, 71074, 71081, 71087, 71092,
- 71098, 71105, 71111, 21281, 27438, 71117, 71122, 71128, 71140, 70800,
- 70807, 21457, 71150, 71155, 71162, 71168, 71175, 71181, 71192, 71197,
- 9103, 71205, 71208, 71214, 71218, 71222, 71225, 71231, 32443, 6194, 964,
- 13412, 71238, 71244, 71250, 71256, 71262, 71268, 71274, 71280, 71286,
- 71291, 71296, 71301, 71306, 71311, 71316, 71321, 71326, 71331, 71336,
- 71341, 71346, 71351, 71357, 71362, 71367, 71373, 71378, 71383, 71389,
- 71395, 71401, 71407, 71413, 71419, 71425, 71431, 71437, 71442, 71447,
- 71453, 71458, 71463, 71469, 71474, 71479, 71484, 71489, 71494, 71499,
- 71504, 71509, 71514, 71519, 71524, 71529, 71535, 71540, 71545, 71550,
- 71556, 71561, 71566, 71571, 71576, 71582, 71587, 71592, 71597, 71602,
- 71607, 71612, 71617, 71622, 71627, 71632, 71637, 71642, 71647, 71652,
- 71657, 71662, 71667, 71672, 71677, 71683, 71688, 71693, 71698, 71703,
- 71708, 71713, 71718, 1864, 142, 71723, 71727, 71731, 71736, 71744, 71748,
- 71755, 71763, 71767, 71780, 71788, 71792, 71795, 71800, 71804, 71809,
- 71813, 71821, 71825, 20924, 71830, 71834, 60930, 71838, 71841, 71849,
- 71857, 71865, 71870, 71877, 71883, 71889, 71894, 71901, 71906, 71914,
- 64906, 71921, 71926, 71931, 71935, 11638, 71939, 71944, 71949, 71953,
- 71956, 71962, 71966, 71976, 71985, 71988, 71992, 71999, 72012, 72018,
- 72026, 72037, 72048, 72059, 72070, 72079, 72085, 72094, 72102, 72112,
- 72125, 72132, 72143, 72149, 72154, 72159, 72165, 72171, 72181, 72190,
- 70489, 72198, 72204, 72212, 72218, 72226, 72229, 72233, 72237, 72240,
- 72246, 72252, 72260, 72272, 72284, 72291, 72295, 72306, 72314, 72321,
- 72333, 72341, 72349, 72356, 72362, 72372, 72381, 72386, 72396, 72405,
- 40751, 72412, 72416, 72421, 72429, 72436, 72442, 72446, 72456, 72467,
- 72475, 72482, 72494, 72506, 72515, 69531, 72522, 72533, 72547, 72555,
- 72565, 72572, 72580, 72592, 72601, 72609, 72619, 72630, 72642, 72651,
- 72661, 72668, 72677, 72692, 72700, 72710, 72719, 72727, 72740, 72755,
- 72759, 72768, 72780, 72791, 72802, 72813, 72823, 72834, 72842, 72848,
- 72858, 72866, 72872, 29007, 72877, 72883, 72888, 72895, 9701, 17492,
- 72901, 72910, 72915, 72919, 72926, 72932, 72937, 72942, 72950, 72958,
- 72962, 72965, 72968, 72970, 72977, 72983, 72994, 72999, 73003, 73010,
- 73016, 73021, 73029, 65405, 65415, 73035, 73042, 73052, 10611, 73059,
- 73064, 29203, 73073, 73078, 73085, 73095, 73103, 73111, 73120, 73126,
- 73132, 73139, 73146, 73151, 73155, 73163, 73168, 73173, 73181, 73188,
- 73193, 73199, 73202, 73206, 73215, 71775, 73224, 73228, 73234, 73245,
- 73255, 17501, 73266, 73274, 17513, 73281, 73285, 73294, 27324, 73301,
- 73305, 73310, 73327, 73339, 10569, 73351, 73356, 73361, 73366, 20997,
- 73370, 73375, 73380, 73386, 73391, 5846, 21001, 73396, 73401, 73407,
- 73414, 73419, 73424, 73430, 73436, 73442, 73447, 73453, 73457, 73471,
- 73479, 73487, 73493, 73498, 73505, 73515, 73524, 73529, 73534, 73542,
- 73547, 73553, 73558, 73567, 59786, 73572, 73575, 73593, 73612, 73625,
- 73639, 73655, 73662, 73669, 73675, 73682, 73687, 73693, 73699, 73707,
- 73713, 73718, 73723, 73739, 10582, 73753, 73760, 73768, 73774, 73778,
- 73781, 73786, 73791, 73798, 73803, 73812, 73817, 73823, 73832, 73841,
- 73846, 73850, 73858, 73867, 11667, 73876, 73884, 73889, 73895, 11678,
- 73900, 73903, 73908, 73918, 73927, 73932, 73938, 73943, 73951, 73958,
- 73969, 73979, 73984, 64834, 73989, 73995, 74000, 74007, 74016, 74024,
- 74030, 74036, 74043, 74049, 74053, 16947, 3055, 74058, 74062, 74066,
- 74072, 74081, 74087, 74094, 74098, 74119, 74141, 74157, 74174, 74193,
- 74202, 74212, 74219, 74226, 27211, 74232, 74236, 74244, 74256, 74262,
- 74270, 74274, 74282, 74289, 74293, 74299, 74305, 74310, 3563, 41887,
- 74316, 74320, 74324, 74328, 74333, 74338, 74343, 74349, 74355, 74361,
- 74368, 74374, 74381, 74387, 74393, 74398, 74404, 74409, 74413, 74418,
- 74422, 74427, 41902, 74431, 74436, 74444, 74448, 74453, 74460, 74469,
- 74475, 74479, 74486, 74490, 74493, 74500, 74509, 74514, 74518, 74526,
- 74535, 74539, 74547, 74553, 74558, 74563, 74569, 74575, 74580, 74584,
- 74590, 74595, 74599, 74603, 74606, 74611, 74619, 74629, 74634, 39387,
- 74642, 74654, 74658, 74664, 74676, 74687, 74694, 74700, 74707, 74719,
- 74726, 74732, 21075, 74736, 74742, 74749, 74755, 74761, 74766, 74771,
- 74776, 74785, 7033, 74790, 16413, 74796, 74800, 74804, 74808, 74816,
- 74825, 74829, 74836, 74845, 74858, 74864, 74423, 30067, 74869, 74871,
- 74876, 74881, 74886, 74891, 74896, 74901, 74906, 74911, 74916, 74921,
- 74926, 74931, 74936, 74941, 74947, 74952, 74957, 74962, 74967, 74972,
- 74977, 74982, 74987, 74993, 74999, 75005, 75010, 75015, 75027, 75032,
- 1870, 49, 75037, 75042, 32721, 75046, 32726, 32731, 32737, 32742, 75050,
- 32747, 22070, 75072, 75076, 75080, 75085, 75089, 32751, 75093, 75101,
- 32756, 75108, 75111, 75116, 75120, 9536, 75129, 32761, 21932, 75132,
- 75136, 1428, 75141, 32772, 75144, 75149, 25720, 25730, 35233, 75154,
- 75159, 75164, 75169, 75175, 75180, 75189, 75194, 75201, 75207, 75212,
- 75217, 75222, 75232, 75241, 75246, 75254, 75258, 75266, 32586, 37288,
- 75273, 75279, 75284, 75289, 12009, 75294, 75300, 75305, 75312, 75318,
- 75323, 75331, 75341, 75351, 75357, 75362, 75368, 17523, 75375, 36048,
- 75388, 75393, 75399, 30968, 75412, 75418, 75422, 75431, 75438, 75444,
- 75452, 75461, 75468, 75474, 75477, 75481, 25861, 75485, 75492, 75498,
- 75506, 75511, 23977, 75517, 75520, 75528, 75536, 75550, 75557, 75563,
- 75570, 75576, 32786, 75580, 75587, 75595, 75603, 75609, 32791, 75617,
- 75623, 75628, 75638, 75644, 75653, 30805, 34691, 75661, 75666, 75671,
- 75675, 75680, 75684, 75692, 14907, 39400, 75697, 75702, 32796, 62232,
- 75706, 75711, 75715, 75724, 75732, 75738, 75743, 75749, 75756, 75762,
- 75767, 75772, 75781, 75793, 75808, 33058, 75814, 16532, 32800, 75818,
- 75825, 24087, 75831, 75838, 75847, 75854, 75863, 75869, 75874, 75882,
- 75888, 32810, 75893, 75902, 74682, 75911, 75918, 75924, 75930, 75940,
- 75948, 75955, 75959, 32815, 75962, 32821, 32827, 75967, 75975, 75983,
- 75993, 76002, 76010, 76017, 76027, 32832, 76031, 76033, 76037, 76042,
- 76046, 76050, 76056, 76061, 76065, 76076, 76081, 76086, 3060, 76090,
- 76097, 76101, 76110, 76118, 76125, 76130, 76135, 62278, 76139, 76142,
- 76148, 76156, 76162, 76166, 76171, 76178, 76183, 76189, 34722, 76194,
- 76197, 76202, 76206, 76211, 76216, 76220, 76228, 76232, 25739, 25748,
- 76238, 76244, 76250, 76255, 76259, 76262, 76272, 76281, 76286, 76292,
- 76299, 76305, 76309, 76317, 76322, 34728, 76326, 76334, 76340, 76347,
- 76352, 76356, 76361, 58403, 34734, 76367, 76372, 76376, 76381, 76386,
- 76391, 76395, 76400, 76405, 76411, 76416, 76421, 76427, 76433, 76438,
- 76442, 76447, 76452, 76457, 76461, 24086, 76466, 76471, 76477, 76483,
- 76489, 76494, 76498, 76503, 76508, 76513, 76517, 76522, 76527, 76532,
- 76537, 76541, 32840, 76549, 76553, 76561, 76569, 76580, 76585, 76589,
- 22384, 76594, 76600, 76610, 76617, 76622, 76631, 76636, 76640, 76645,
- 76653, 76661, 76668, 65068, 76674, 76682, 76689, 76700, 76706, 76710,
- 76716, 32850, 76719, 76726, 76734, 76739, 39591, 76743, 76748, 76755,
- 76760, 8985, 76764, 76772, 76779, 76786, 76792, 76806, 63340, 76814,
- 76820, 76824, 76827, 76835, 76842, 76847, 76860, 76867, 76871, 76878,
- 76883, 60823, 76888, 76891, 76898, 76904, 76908, 76916, 76925, 76935,
- 76945, 76954, 76962, 76973, 76978, 76982, 76987, 76991, 35364, 76999,
- 21344, 35373, 77004, 77009, 77014, 77019, 77024, 77029, 77034, 77038,
- 77043, 77048, 77053, 77058, 77063, 77068, 77072, 77077, 77082, 77086,
- 77090, 77094, 77098, 77103, 77108, 77112, 77117, 77121, 77125, 77130,
- 77135, 77140, 77145, 77149, 77154, 77159, 77163, 77168, 77173, 77178,
- 77183, 77188, 77193, 77198, 77203, 77208, 77213, 77218, 77223, 77228,
- 77233, 77238, 77243, 77248, 77253, 77258, 77263, 77267, 77272, 77277,
- 77282, 77287, 77292, 77297, 77302, 77307, 77312, 77317, 77322, 77326,
- 77331, 77335, 77340, 77345, 77350, 77355, 77360, 77365, 77370, 77375,
- 77380, 77384, 77388, 77393, 77398, 77402, 77407, 77412, 77416, 77421,
- 77426, 77431, 77436, 77440, 77445, 77450, 77454, 77459, 77463, 77467,
- 77471, 77475, 77480, 77484, 77488, 77492, 77496, 77500, 77504, 77508,
- 77512, 77516, 77521, 77526, 77531, 77536, 77541, 77546, 77551, 77556,
- 77561, 77566, 77570, 77574, 77578, 77582, 77586, 77590, 77595, 77599,
- 77604, 77608, 77613, 77618, 77622, 77626, 77631, 77635, 77639, 77643,
- 77647, 77651, 77655, 77659, 77663, 77667, 77671, 77675, 77679, 77683,
- 77687, 77692, 77697, 77701, 77705, 77709, 77713, 77717, 77721, 77726,
- 77730, 77734, 77738, 77742, 77746, 77750, 77755, 77759, 77764, 77768,
- 77772, 77776, 77780, 77784, 77788, 77792, 77796, 77800, 77804, 77808,
- 77813, 77817, 77821, 77825, 77829, 77833, 77837, 77841, 77845, 77849,
- 77853, 77857, 77862, 77866, 77870, 77875, 77880, 77884, 77888, 77892,
- 77896, 77900, 77904, 77908, 77912, 77917, 77921, 77926, 77930, 77935,
- 77939, 77944, 77948, 77954, 77959, 77963, 77968, 77972, 77977, 77981,
- 77986, 77990, 77995, 1521, 77999, 2824, 1759, 1764, 78003, 78007, 2828,
- 78011, 1397, 78016, 1342, 78020, 2840, 78024, 78031, 78038, 78052, 2844,
- 7131, 78061, 78069, 78076, 78087, 78096, 78103, 78115, 78128, 78141,
- 78152, 78157, 78164, 78176, 78180, 2848, 11740, 78190, 78195, 78204,
- 78214, 2852, 78219, 78223, 78228, 78235, 78241, 78249, 78261, 1347,
- 13035, 78271, 78275, 78281, 78295, 78307, 78319, 78329, 78338, 78347,
- 78356, 78364, 78375, 78383, 4051, 78393, 78404, 78413, 78419, 78434,
- 78441, 78447, 35489, 78452, 2876, 13039, 78456, 78463, 8930, 78472, 2881,
- 32336, 78478, 60572, 78485, 78491, 78502, 78508, 78515, 78521, 78529,
- 78536, 78542, 78552, 78561, 78572, 78579, 78585, 78595, 78603, 78609,
- 78624, 78630, 78635, 78642, 78645, 78651, 78658, 78664, 78672, 78681,
- 78689, 78695, 78704, 41427, 78718, 78723, 78729, 14744, 78734, 78747,
- 78756, 78764, 78771, 78775, 78779, 78782, 78789, 78796, 78804, 78812,
- 78821, 78829, 14671, 78837, 78842, 78846, 78858, 78865, 78874, 748,
- 78884, 78893, 78904, 2897, 78908, 78912, 78918, 78931, 78943, 78953,
- 78962, 78974, 26352, 78985, 78993, 79002, 79013, 79024, 79034, 79044,
- 79053, 79061, 11305, 79068, 79072, 79075, 79080, 79085, 79089, 79095,
- 1352, 11811, 79102, 79113, 79122, 79130, 79139, 79147, 79163, 79174,
- 79183, 79191, 79203, 79214, 79230, 79240, 79261, 79274, 79282, 79289,
- 14855, 79302, 79307, 79313, 5908, 79319, 79322, 79329, 79339, 8176,
- 79346, 79351, 79356, 79361, 79369, 79378, 79386, 9749, 9758, 79391,
- 79402, 79407, 79413, 2913, 2918, 79419, 10872, 79425, 79432, 79439,
- 79452, 2251, 68, 79457, 79462, 79472, 79478, 79487, 79495, 79505, 79509,
- 79514, 79518, 79530, 2941, 79538, 79546, 79551, 79562, 79573, 79582,
- 79587, 79593, 79598, 79608, 79618, 79623, 79629, 79634, 79643, 21397,
- 79647, 4128, 20, 79652, 79661, 79668, 79675, 79681, 79687, 864, 79692,
- 79697, 60900, 79702, 79707, 79713, 79719, 79727, 79732, 79739, 79745,
- 79750, 38001, 41321, 79756, 2945, 32, 79766, 79779, 79784, 79792, 79797,
- 79803, 2967, 28289, 79808, 79816, 79823, 79828, 58645, 61903, 79837,
- 79841, 1704, 1813, 79846, 79851, 79858, 1817, 247, 79865, 79871, 2989,
- 79876, 79881, 79888, 1821, 79893, 79899, 79904, 79916, 6119, 79926, 1828,
- 79932, 79937, 79944, 79951, 79966, 79973, 79984, 79992, 2618, 79996,
- 80008, 80013, 80017, 80023, 28114, 2256, 80027, 80038, 80042, 80046,
- 80052, 80056, 80065, 80069, 80080, 80084, 2302, 32165, 80088, 80098,
- 3080, 9364, 80106, 80111, 80115, 80124, 80131, 80137, 3050, 17139, 80141,
- 80154, 80172, 80177, 80185, 80193, 80203, 9978, 13147, 80215, 80228,
- 80235, 80242, 80258, 80265, 80271, 1095, 80278, 80285, 80295, 80304,
- 80316, 42291, 80324, 3064, 12023, 80327, 80335, 80339, 78231, 3068,
- 80343, 21178, 12039, 3756, 80347, 3074, 80351, 80361, 80367, 80373,
- 80379, 80385, 80391, 80397, 80403, 80409, 80415, 80421, 80427, 80433,
- 80439, 80445, 80451, 80457, 80463, 80469, 80475, 80481, 80487, 80493,
- 80499, 80505, 80511, 80518, 80525, 80531, 80537, 80543, 80549, 80555,
- 80561, 1357, 16049, 12061, 80567, 80572, 80577, 80582, 80587, 80592,
- 80597, 80602, 80607, 80612, 80617, 80622, 80627, 80632, 80637, 80642,
- 80647, 80652, 80657, 80662, 80667, 80672, 80677, 80682, 80687, 80692,
- 80698, 80703, 80708, 80714, 80719, 80725, 80730, 80735, 80741, 80746,
- 80751, 80756, 80761, 80766, 80771, 80776, 80781, 80362, 80368, 80374,
- 80380, 80386, 80392, 80398, 80404, 80410, 80416, 80422, 80428, 80434,
- 80440, 80446, 80787, 80452, 80458, 80464, 80793, 80470, 80476, 80482,
- 80488, 80494, 80500, 80506, 80526, 80799, 80805, 80532, 80811, 80538,
- 80544, 80550, 80556, 80562, 3091, 3096, 80817, 80822, 80825, 80831,
- 80837, 80844, 80849, 80854, 2307,
+ 8935, 8939, 8944, 8949, 8956, 8962, 8972, 7909, 8978, 8982, 8989, 8996,
+ 768, 9000, 9004, 9009, 9014, 9019, 9023, 9029, 9037, 9043, 9047, 9053,
+ 9063, 9067, 9073, 9078, 9082, 9088, 9094, 2161, 9099, 9101, 9106, 9114,
+ 9123, 9127, 9133, 9138, 9143, 9148, 9153, 9159, 9164, 9169, 4006, 9174,
+ 9179, 9183, 9189, 9194, 9200, 9205, 9210, 9216, 9221, 9128, 9227, 9231,
+ 9238, 9244, 9249, 9253, 6183, 9258, 9267, 9272, 9277, 8218, 8225, 9282,
+ 2853, 9286, 9291, 9296, 9139, 9300, 9305, 9144, 9149, 9310, 9317, 9324,
+ 9330, 9336, 9342, 9347, 9352, 9357, 9154, 9160, 9363, 9369, 9374, 9382,
+ 9165, 9387, 990, 9390, 9398, 9404, 9410, 9419, 9427, 9432, 9438, 9446,
+ 9453, 9468, 9485, 9504, 9513, 9521, 9536, 9547, 9557, 9567, 9575, 9581,
+ 9593, 9602, 9610, 9617, 9624, 9630, 9635, 9643, 9653, 9660, 9670, 9680,
+ 9690, 9698, 9705, 9714, 9724, 9738, 9753, 9762, 9770, 9775, 9779, 9788,
+ 9794, 9799, 9809, 9819, 9829, 9834, 9838, 9847, 9852, 9862, 9873, 9886,
+ 9894, 9907, 9919, 9927, 9932, 9936, 9942, 9947, 9955, 9963, 9970, 9975,
+ 9983, 9989, 9992, 9996, 10002, 10010, 10015, 10019, 10027, 10036, 10044,
+ 10050, 10054, 10061, 10072, 10076, 10079, 10085, 9170, 10090, 10096,
+ 10103, 10109, 10114, 10121, 10128, 10135, 10142, 10149, 10156, 10163,
+ 10170, 10175, 9481, 10180, 10186, 10193, 10200, 10205, 10212, 10221,
+ 10225, 10237, 8256, 10241, 10244, 10248, 10252, 10256, 10260, 10266,
+ 10272, 10277, 10283, 10288, 10293, 10299, 10304, 10309, 8952, 10314,
+ 10318, 10322, 10326, 10331, 10336, 10344, 10350, 10354, 10358, 10365,
+ 10370, 10378, 10383, 10387, 10390, 10396, 10403, 10407, 10410, 10415,
+ 10419, 4045, 10425, 10434, 36, 10442, 10448, 10453, 8967, 10458, 10463,
+ 10467, 10470, 10485, 10504, 10516, 10529, 10542, 10555, 10569, 10582,
+ 10597, 10604, 9175, 10610, 10624, 10629, 10635, 10640, 10648, 10653,
+ 8040, 10658, 10661, 10668, 10673, 10677, 2858, 998, 10683, 10687, 10693,
+ 10699, 10704, 10710, 10715, 9184, 10721, 10727, 10732, 10737, 10745,
+ 10751, 10764, 10772, 10779, 9190, 10785, 10793, 10801, 10808, 10821,
+ 10833, 10843, 10851, 10858, 10865, 10874, 10883, 10891, 10898, 10903,
+ 10909, 9195, 10914, 10920, 9201, 10925, 10928, 10935, 10941, 10954, 8669,
+ 10965, 10971, 10980, 10988, 10995, 11001, 11007, 11012, 11016, 11021,
+ 10477, 11027, 9206, 11034, 11039, 11046, 11052, 11058, 11063, 11071,
+ 11079, 11086, 11090, 11104, 11114, 11119, 11123, 11134, 11140, 11145,
+ 11150, 9211, 9217, 11154, 11157, 11162, 11174, 11181, 11186, 11190,
+ 11195, 11199, 11206, 11212, 9222, 9129, 11219, 2863, 8, 11226, 11231,
+ 11235, 11241, 11249, 11259, 11264, 11269, 11276, 11283, 11287, 11298,
+ 11308, 11317, 11329, 11334, 11338, 11346, 11360, 11364, 11367, 11375,
+ 11382, 11390, 11394, 11405, 11409, 11416, 11421, 11425, 11431, 11436,
+ 11440, 11446, 11451, 11462, 11466, 11469, 11475, 11480, 11486, 11492,
+ 11499, 11510, 11520, 11530, 11539, 11546, 11555, 9232, 9239, 9245, 9250,
+ 11561, 11567, 9254, 11573, 11576, 11583, 11588, 11603, 11619, 11634,
+ 11642, 11648, 11653, 838, 420, 11658, 11666, 11673, 11679, 11684, 11689,
+ 9259, 11691, 11695, 11700, 11704, 11714, 11719, 11723, 11732, 11736,
+ 11739, 9268, 11746, 11749, 11757, 11764, 11772, 11776, 11783, 11792,
+ 11795, 11799, 11803, 11809, 11813, 11817, 11821, 11827, 11837, 11841,
+ 11849, 11853, 11860, 11864, 11869, 11873, 11880, 11886, 11894, 11900,
+ 11905, 11915, 11920, 11925, 11929, 11937, 3905, 11945, 11950, 9273,
+ 11954, 11958, 11961, 11969, 11976, 11980, 5991, 11984, 11989, 11993,
+ 12004, 12014, 12019, 12025, 12029, 12032, 12040, 12045, 12050, 12057,
+ 12062, 9278, 12067, 12071, 12078, 1722, 6145, 12083, 12088, 12093, 12098,
+ 12104, 12109, 12115, 12120, 12125, 12130, 12135, 12140, 12145, 12150,
+ 12155, 12160, 12165, 12170, 12175, 12180, 12185, 12190, 12195, 12201,
+ 12206, 12211, 12216, 12221, 12226, 12232, 12237, 12242, 12248, 12253,
+ 12259, 12264, 12270, 12275, 12280, 12285, 12290, 12296, 12301, 12306,
+ 12311, 737, 139, 12319, 12323, 12328, 12333, 12337, 12341, 12345, 12350,
+ 12354, 12359, 12363, 12366, 12370, 12374, 12380, 12385, 12395, 12401,
+ 12409, 12413, 12417, 12424, 12432, 12441, 12452, 12459, 12466, 12470,
+ 12479, 12488, 12496, 12505, 12514, 12523, 12532, 12542, 12552, 12562,
+ 12572, 12582, 12591, 12601, 12611, 12621, 12631, 12641, 12651, 12661,
+ 12670, 12680, 12690, 12700, 12710, 12720, 12730, 12739, 12749, 12759,
+ 12769, 12779, 12789, 12799, 12809, 12819, 12829, 12838, 12848, 12858,
+ 12868, 12878, 12888, 12898, 12908, 12918, 12928, 12938, 12947, 1256,
+ 12953, 12956, 12960, 12965, 12972, 12978, 12983, 12987, 12992, 13001,
+ 13009, 13014, 13018, 13022, 13028, 13033, 13039, 9287, 13044, 13049,
+ 13058, 9292, 13063, 13066, 13072, 13080, 9297, 13087, 13091, 13095,
+ 13099, 13109, 13115, 13121, 13126, 13135, 13143, 13150, 13157, 13162,
+ 13169, 13174, 13178, 13181, 13192, 13202, 13211, 13219, 13230, 13242,
+ 13252, 13257, 13261, 13266, 13271, 13275, 13281, 13289, 13296, 13307,
+ 13312, 13322, 13326, 13329, 13336, 13346, 13355, 13362, 13366, 13373,
+ 13379, 13384, 13389, 13393, 13402, 13407, 13413, 13417, 13422, 13426,
+ 13435, 13443, 13451, 13458, 13466, 13478, 13489, 13499, 13506, 13512,
+ 13521, 13532, 13541, 13553, 13565, 13577, 13587, 13596, 13605, 13613,
+ 13620, 13629, 13637, 13641, 13647, 13653, 13658, 7753, 13662, 13664,
+ 13668, 13673, 13679, 13688, 13692, 13700, 13707, 13716, 13725, 13734,
+ 13743, 13752, 13761, 13770, 13779, 13789, 13799, 13808, 13814, 13821,
+ 13828, 13834, 13848, 13855, 13863, 13872, 13878, 13887, 13896, 13907,
+ 13917, 13925, 13932, 13940, 13949, 13962, 13970, 13977, 13990, 13996,
+ 14002, 14012, 14021, 14030, 14035, 14039, 14045, 14051, 14058, 8966,
+ 14063, 14068, 14075, 14080, 12376, 14085, 14093, 14099, 14104, 14112,
+ 14120, 14127, 14135, 14141, 14149, 14157, 14163, 14168, 14174, 14181,
+ 14187, 14192, 14196, 14207, 14215, 14221, 14226, 14235, 14241, 14246,
+ 14255, 14269, 3853, 14273, 14278, 14283, 14289, 14294, 14299, 14303,
+ 14308, 14313, 14318, 7752, 14323, 14328, 14333, 14338, 14343, 14347,
+ 14352, 14357, 14362, 14367, 14373, 14379, 14384, 14388, 14393, 14398,
+ 14403, 9301, 14408, 14413, 14418, 14423, 14428, 14445, 14463, 14475,
+ 14488, 14505, 14521, 14538, 14548, 14567, 14578, 14589, 14600, 14611,
+ 14623, 14634, 14645, 14662, 14673, 14684, 14689, 9306, 14694, 14698,
+ 2381, 14702, 14705, 14711, 14719, 14727, 14732, 14740, 14748, 14755,
+ 14760, 14766, 14773, 14781, 14788, 14800, 14808, 14813, 11597, 14819,
+ 14828, 14837, 14845, 14852, 14858, 14866, 14873, 14879, 14886, 14892,
+ 14901, 14909, 14919, 14926, 14932, 14940, 14946, 14954, 14961, 14974,
+ 14981, 14990, 14999, 15008, 15016, 15026, 15033, 15038, 3560, 15045,
+ 15050, 1372, 15054, 14324, 15058, 15064, 15068, 15076, 15088, 15093,
+ 15100, 15106, 15111, 15118, 14329, 15122, 15126, 15130, 14334, 15134,
+ 14339, 15138, 15145, 15150, 15154, 15161, 15165, 15173, 15180, 15184,
+ 15191, 15208, 15217, 15221, 15224, 15232, 15238, 15243, 3638, 15247,
+ 15249, 15257, 15264, 15274, 15286, 15291, 15297, 15302, 15306, 15312,
+ 15317, 15323, 15326, 15333, 15341, 15348, 15354, 15360, 15365, 15372,
+ 15378, 15383, 15390, 15394, 15400, 15404, 15411, 15417, 15423, 15431,
+ 15437, 15442, 15448, 15456, 15464, 15470, 15476, 15481, 15488, 15493,
+ 15497, 15503, 15508, 15515, 15520, 15526, 15529, 15535, 15541, 15544,
+ 15548, 15560, 15566, 15571, 15578, 15584, 15590, 15601, 15611, 15620,
+ 15628, 15635, 15646, 15656, 15666, 15674, 15677, 14353, 15682, 15687,
+ 14358, 14493, 15695, 15708, 15723, 15734, 14510, 15752, 15765, 15778,
+ 15789, 10492, 15800, 15813, 15832, 15843, 15854, 15865, 2649, 15878,
+ 15882, 15890, 15905, 15920, 15931, 15938, 15944, 15952, 15956, 15962,
+ 15965, 15975, 15983, 15990, 15998, 16008, 16013, 16020, 16025, 16032,
+ 16043, 16053, 16059, 16064, 16069, 14363, 16073, 16079, 16085, 16090,
+ 16095, 16100, 16104, 14368, 14374, 16108, 14380, 16113, 16121, 16130,
+ 16137, 9150, 16141, 16143, 16148, 16153, 16159, 16164, 16169, 16174,
+ 16179, 16183, 16189, 16195, 16200, 16206, 16211, 16216, 16222, 16227,
+ 16232, 16237, 16242, 16248, 16253, 16258, 16264, 16270, 16275, 16280,
+ 16287, 16293, 16304, 16311, 16316, 16320, 16324, 16327, 16335, 16340,
+ 16347, 16354, 16360, 16365, 16370, 16377, 16387, 16392, 16399, 16405,
+ 16415, 16425, 16439, 16453, 16467, 16481, 16496, 16511, 16528, 16546,
+ 16559, 16565, 16570, 16575, 16579, 16584, 16592, 16598, 16603, 16608,
+ 16612, 16617, 16621, 16626, 16630, 16641, 16647, 16652, 16657, 16664,
+ 16669, 16673, 16678, 16683, 16689, 16696, 16702, 16707, 16711, 16717,
+ 16722, 16727, 16731, 16737, 16742, 16747, 16754, 16759, 13111, 16763,
+ 16768, 16772, 16777, 16783, 16789, 16796, 16806, 16814, 16821, 16826,
+ 16830, 16839, 16847, 16854, 16861, 16867, 16873, 16878, 16883, 16889,
+ 16894, 16900, 16905, 16911, 16917, 16924, 16930, 16935, 16940, 9348,
+ 16949, 16952, 16958, 16963, 16968, 16978, 16985, 16991, 16996, 17001,
+ 17007, 17012, 17018, 17023, 17029, 17035, 17040, 17048, 17055, 17060,
+ 17065, 17071, 17076, 17080, 17089, 17100, 17107, 17112, 17120, 17126,
+ 17133, 17139, 17144, 17148, 17154, 17159, 17164, 17169, 1440, 7777, 2877,
+ 17173, 17177, 17181, 17185, 17189, 17193, 17196, 17203, 17211, 14394,
+ 17218, 17228, 17236, 17243, 17251, 17261, 17270, 17283, 17288, 17293,
+ 17301, 17308, 13207, 13216, 17315, 17325, 17340, 17346, 17353, 17360,
+ 17366, 17374, 17384, 17394, 14399, 17403, 17409, 17415, 17423, 17431,
+ 17436, 17445, 17453, 17465, 17475, 17485, 17495, 17504, 17516, 17526,
+ 17536, 17547, 17552, 17564, 17576, 17588, 17600, 17612, 17624, 17636,
+ 17648, 17660, 17672, 17683, 17695, 17707, 17719, 17731, 17743, 17755,
+ 17767, 17779, 17791, 17803, 17814, 17826, 17838, 17850, 17862, 17874,
+ 17886, 17898, 17910, 17922, 17934, 17945, 17957, 17969, 17981, 17993,
+ 18005, 18017, 18029, 18041, 18053, 18065, 18076, 18088, 18100, 18112,
+ 18124, 18136, 18148, 18160, 18172, 18184, 18196, 18207, 18219, 18231,
+ 18243, 18255, 18267, 18279, 18291, 18303, 18315, 18327, 18338, 18350,
+ 18362, 18374, 18386, 18398, 18410, 18422, 18434, 18446, 18458, 18469,
+ 18481, 18493, 18505, 18517, 18530, 18543, 18556, 18569, 18582, 18595,
+ 18608, 18620, 18633, 18646, 18659, 18672, 18685, 18698, 18711, 18724,
+ 18737, 18750, 18762, 18775, 18788, 18801, 18814, 18827, 18840, 18853,
+ 18866, 18879, 18892, 18904, 18917, 18930, 18943, 18956, 18969, 18982,
+ 18995, 19008, 19021, 19034, 19046, 19059, 19072, 19085, 19098, 19111,
+ 19124, 19137, 19150, 19163, 19176, 19188, 19201, 19214, 19227, 19240,
+ 19253, 19266, 19279, 19292, 19305, 19318, 19330, 19341, 19354, 19367,
+ 19380, 19393, 19406, 19419, 19432, 19445, 19458, 19471, 19483, 19496,
+ 19509, 19522, 19535, 19548, 19561, 19574, 19587, 19600, 19613, 19625,
+ 19638, 19651, 19664, 19677, 19690, 19703, 19716, 19729, 19742, 19755,
+ 19767, 19780, 19793, 19806, 19819, 19832, 19845, 19858, 19871, 19884,
+ 19897, 19909, 19922, 19935, 19948, 19961, 19974, 19987, 20000, 20013,
+ 20026, 20039, 20051, 20064, 20077, 20090, 20103, 20116, 20129, 20142,
+ 20155, 20168, 20181, 20193, 20206, 20219, 20232, 20245, 20258, 20271,
+ 20284, 20297, 20310, 20323, 20335, 20348, 20361, 20374, 20387, 20400,
+ 20413, 20426, 20439, 20452, 20465, 20477, 20490, 20503, 20516, 20529,
+ 20542, 20555, 20568, 20581, 20594, 20607, 20619, 20632, 20645, 20658,
+ 20671, 20684, 20697, 20710, 20723, 20736, 20749, 20761, 20772, 20780,
+ 20788, 20795, 20801, 20805, 20811, 20817, 20825, 20831, 20836, 20840,
+ 20849, 9155, 20860, 20867, 20875, 20882, 20889, 10948, 20896, 20905,
+ 20910, 20915, 7805, 20922, 20927, 20930, 20935, 20943, 20950, 20957,
+ 20964, 20970, 20979, 20988, 20994, 21003, 21007, 21013, 21018, 21028,
+ 21035, 21041, 21049, 21055, 21062, 21072, 21081, 21085, 21092, 21096,
+ 21101, 21107, 21115, 21119, 21129, 14409, 21138, 21144, 21148, 21157,
+ 14414, 21163, 21170, 21181, 21189, 21198, 21206, 8931, 21214, 21219,
+ 21225, 21230, 21234, 21238, 21242, 9639, 21247, 21255, 21262, 21271,
+ 21278, 21285, 10878, 21292, 21298, 21302, 21308, 21315, 21321, 21329,
+ 21335, 21342, 21348, 21354, 21363, 21367, 21375, 21384, 21391, 21396,
+ 21400, 21411, 21416, 21421, 21426, 21439, 7995, 21443, 21449, 21457,
+ 21461, 21468, 21477, 21482, 14685, 21490, 21494, 21506, 21511, 21515,
+ 21518, 21524, 21530, 21535, 21539, 21542, 21553, 21558, 9383, 21565,
+ 21570, 9388, 21575, 21580, 21585, 21590, 21595, 21600, 21605, 21610,
+ 21615, 21620, 21625, 21630, 21636, 21641, 21646, 21651, 21656, 21661,
+ 21666, 21671, 21676, 21681, 21687, 21693, 21698, 21703, 21708, 21713,
+ 21718, 21723, 21728, 21733, 21738, 21744, 21749, 21754, 21759, 21765,
+ 21771, 21776, 21781, 21786, 21791, 21796, 21801, 21806, 21811, 21817,
+ 21822, 21827, 21832, 21837, 21843, 21848, 21853, 21857, 1368, 129, 21865,
+ 21869, 21873, 21877, 21882, 21886, 13117, 12476, 21890, 21895, 21899,
+ 21904, 21908, 21913, 21917, 21923, 21928, 21932, 21936, 21944, 21948,
+ 21952, 21957, 21962, 21966, 21972, 21977, 21981, 21986, 21991, 21995,
+ 22002, 22009, 22016, 22020, 22024, 22029, 22033, 22036, 22042, 22055,
+ 22060, 22069, 22074, 9428, 22079, 22082, 2712, 2717, 22086, 22092, 22098,
+ 7209, 22103, 22108, 22113, 22119, 22124, 13903, 22129, 22134, 22139,
+ 22144, 22150, 22155, 22160, 22166, 22171, 22175, 22180, 22185, 22190,
+ 22195, 22199, 22204, 22208, 22213, 22218, 22223, 22228, 22232, 22237,
+ 22241, 22246, 22251, 22256, 22261, 2886, 22176, 22265, 22273, 22280,
+ 9733, 22292, 22300, 22181, 22307, 22312, 22320, 22186, 22325, 22330,
+ 22338, 22343, 22191, 22348, 22353, 22357, 22363, 22371, 22374, 22381,
+ 22385, 22389, 22395, 22402, 22407, 8958, 1727, 1732, 22411, 22417, 22423,
+ 22428, 22432, 22436, 22440, 22444, 22448, 22452, 22456, 22459, 22465,
+ 22472, 22480, 22486, 22492, 22497, 22502, 22506, 13823, 13830, 22511,
+ 22523, 22526, 22533, 16356, 22540, 22548, 22559, 22568, 22581, 22591,
+ 22605, 22617, 22631, 22643, 22653, 22665, 22671, 22686, 22710, 22728,
+ 22747, 22760, 22774, 22792, 22808, 22825, 22843, 22854, 22873, 22890,
+ 22910, 22928, 22940, 22954, 22968, 22980, 22997, 23016, 23034, 23046,
+ 23064, 23083, 14553, 23096, 23116, 23128, 10523, 23140, 23145, 23150,
+ 23155, 23161, 23166, 23170, 23177, 2398, 23181, 23187, 23191, 23194,
+ 23198, 23206, 23212, 22209, 23216, 23225, 23236, 23242, 23248, 23257,
+ 23265, 23272, 23277, 23281, 23288, 23294, 23303, 23311, 23318, 23328,
+ 23337, 23347, 23352, 23361, 23370, 23381, 23392, 3963, 23402, 23406,
+ 23416, 23424, 23434, 23445, 23450, 23460, 23468, 23475, 23481, 23488,
+ 23493, 22219, 23497, 23506, 23510, 23513, 23518, 23525, 23534, 23542,
+ 23550, 23560, 23569, 23575, 23581, 22224, 22229, 23585, 23595, 23605,
+ 23615, 23623, 23630, 23640, 23648, 23656, 23662, 23670, 930, 23679,
+ 14744, 542, 23693, 23702, 23710, 23721, 23732, 23742, 23751, 23763,
+ 23772, 23781, 23787, 23796, 23805, 23815, 23823, 23831, 9360, 23837,
+ 23840, 23844, 23849, 23854, 9848, 22242, 22247, 23862, 23868, 23874,
+ 23879, 23884, 23888, 23896, 23902, 23908, 23912, 3525, 23920, 23925,
+ 23930, 23934, 23938, 9928, 23945, 23953, 23967, 23974, 23980, 9937, 9943,
+ 23988, 23996, 24003, 24008, 24013, 22252, 24019, 24030, 24034, 24039,
+ 2601, 24044, 24055, 24061, 24066, 24070, 24074, 24077, 24084, 24091,
+ 24098, 24104, 24108, 22257, 24113, 24117, 24121, 1037, 24126, 24131,
+ 24136, 24141, 24146, 24151, 24156, 24161, 24166, 24171, 24176, 24181,
+ 24186, 24191, 24197, 24202, 24207, 24212, 24217, 24222, 24227, 24233,
+ 24238, 24243, 24248, 24253, 24258, 24263, 24268, 24274, 24280, 24285,
+ 24291, 24296, 24301, 5, 24307, 24311, 24315, 24319, 24324, 24328, 24332,
+ 24336, 24340, 24345, 24349, 24354, 24358, 24361, 24365, 24370, 24374,
+ 24379, 24383, 24387, 24391, 24396, 24400, 24404, 24414, 24419, 24423,
+ 24427, 24432, 24437, 24446, 24451, 24456, 24460, 24464, 24477, 24489,
+ 24498, 24507, 24513, 24518, 24522, 24526, 24536, 24545, 24553, 24559,
+ 24564, 24568, 24575, 24585, 24594, 24602, 24610, 24617, 24625, 24634,
+ 24643, 24651, 24656, 24660, 24664, 24667, 24669, 24673, 24677, 24682,
+ 24687, 24691, 24695, 24698, 24702, 24705, 24709, 24712, 24715, 24719,
+ 24725, 24729, 24733, 24737, 24742, 24747, 24752, 24756, 24759, 24764,
+ 24770, 24775, 24781, 24786, 24790, 24794, 24798, 24803, 24807, 24812,
+ 24816, 24820, 24827, 24831, 24834, 24838, 24844, 24850, 24854, 24858,
+ 24863, 24870, 24876, 24880, 24889, 24893, 24897, 24900, 24906, 24911,
+ 24917, 1489, 1791, 24922, 24927, 24932, 24937, 24942, 24947, 24952, 2148,
+ 2194, 24957, 24960, 24964, 24968, 24973, 24977, 24981, 24984, 24989,
+ 24994, 24998, 25001, 25006, 25010, 25015, 25019, 14756, 25024, 25027,
+ 25030, 25034, 25039, 25043, 25056, 25060, 25063, 25071, 25080, 25087,
+ 25092, 25098, 25104, 25112, 25119, 25126, 25130, 25134, 25138, 25143,
+ 25148, 25152, 25160, 25165, 25177, 25188, 25193, 25197, 25201, 25207,
+ 25212, 25217, 25221, 25225, 25228, 25234, 7915, 2316, 25238, 25243,
+ 25259, 9475, 25279, 25288, 25304, 25308, 25311, 25317, 25327, 25333,
+ 25342, 25357, 25369, 25380, 25388, 25397, 25403, 25412, 25422, 25433,
+ 25444, 25453, 25460, 25469, 25477, 25484, 25492, 25499, 25506, 25519,
+ 25526, 25532, 25537, 25546, 25552, 25557, 25565, 25572, 23426, 25584,
+ 25596, 25610, 25618, 25625, 25637, 25646, 25655, 25663, 25671, 25679,
+ 25686, 25695, 25703, 25713, 25722, 25732, 25741, 25750, 25758, 25763,
+ 25767, 25770, 25774, 25778, 25782, 25786, 25790, 25796, 25802, 25810,
+ 14801, 25817, 25822, 25829, 25835, 25842, 14809, 25849, 25852, 25864,
+ 25872, 25878, 25883, 25887, 9878, 25898, 25908, 25917, 25924, 25928,
+ 14814, 25931, 25938, 25942, 25948, 25951, 25958, 25964, 25971, 25977,
+ 25981, 25986, 25990, 25999, 26006, 26012, 7956, 26019, 26027, 26034,
+ 26040, 26045, 26051, 26057, 26065, 26069, 26072, 26074, 25775, 26083,
+ 26089, 26099, 26104, 26111, 26117, 26122, 26127, 26132, 26136, 26141,
+ 26148, 26157, 26161, 26168, 26177, 26183, 26188, 26194, 26199, 26206,
+ 26217, 26222, 26226, 26236, 26242, 26246, 26251, 26261, 26270, 26274,
+ 26281, 26289, 26296, 26302, 26307, 26315, 26322, 26334, 26343, 26347,
+ 13053, 26355, 26365, 26369, 25067, 26380, 26385, 26389, 26396, 26403,
+ 21968, 25700, 26408, 26412, 26415, 22860, 26420, 26434, 26450, 26468,
+ 26487, 26504, 26522, 22879, 26539, 26559, 22896, 26571, 26583, 15739,
+ 26595, 22916, 26609, 26621, 10536, 26635, 26640, 26645, 26650, 26656,
+ 26662, 26668, 26672, 26679, 26684, 26694, 26700, 10183, 26706, 26708,
+ 26713, 26721, 26725, 26144, 26731, 26738, 11524, 11534, 26745, 26755,
+ 26760, 26764, 26767, 26773, 26781, 26793, 26803, 26819, 26832, 26846,
+ 15757, 26860, 26867, 26871, 26874, 26879, 26883, 26890, 26897, 26907,
+ 26912, 26917, 26922, 26930, 26938, 26947, 26952, 9572, 26956, 26959,
+ 26962, 26967, 26974, 26979, 26995, 27003, 27011, 9423, 27019, 27024,
+ 27028, 27034, 27040, 27043, 27049, 27061, 27069, 27076, 27082, 27089,
+ 27100, 27114, 27127, 27136, 27145, 27157, 27168, 27178, 27187, 27196,
+ 27204, 27215, 7938, 27222, 27228, 27233, 27239, 27246, 27256, 27266,
+ 27275, 27281, 27288, 27293, 27300, 27308, 27316, 27328, 6246, 27335,
+ 27344, 27352, 27358, 27364, 27369, 27373, 27376, 27382, 27389, 27394,
+ 27399, 27403, 27415, 27426, 27435, 27443, 14941, 27448, 27454, 27460,
+ 11517, 8635, 27465, 27469, 27472, 27475, 27481, 27489, 27497, 27501,
+ 27505, 27510, 27513, 27522, 27526, 27534, 27545, 27549, 27555, 27561,
+ 27565, 27571, 27579, 27601, 27625, 27632, 27639, 27645, 27653, 27659,
+ 27664, 27675, 27693, 27700, 27708, 27712, 27721, 27734, 27742, 27754,
+ 27765, 27775, 27789, 27798, 27806, 27818, 9492, 27829, 27840, 27852,
+ 27862, 27871, 27876, 27880, 27888, 27898, 27903, 27907, 27910, 27913,
+ 27921, 27929, 27938, 27948, 27957, 27963, 27977, 2663, 27999, 28010,
+ 28019, 28029, 28041, 28050, 28059, 28069, 28077, 28085, 28094, 28099,
+ 28110, 28115, 28126, 28130, 28140, 28149, 28157, 28167, 28177, 28185,
+ 28194, 28201, 28209, 28216, 28225, 28229, 28237, 28244, 28252, 28259,
+ 28270, 28285, 28292, 28298, 28308, 28317, 28323, 28327, 28334, 28338,
+ 14025, 28344, 28348, 28353, 28360, 28364, 28368, 28376, 28384, 28390,
+ 28399, 28406, 28411, 28416, 28426, 23495, 28430, 28433, 28438, 28443,
+ 28448, 28453, 28458, 28463, 28468, 28473, 28479, 28484, 28489, 28495,
+ 1218, 704, 28500, 28509, 2364, 28516, 28521, 28525, 28531, 1267, 546,
+ 318, 28536, 28545, 28553, 28562, 28570, 28581, 28590, 28598, 28602,
+ 28605, 28613, 28621, 28626, 14769, 28632, 28638, 28644, 5872, 28649,
+ 28653, 28659, 28663, 28670, 1455, 28676, 28683, 9579, 28687, 28697,
+ 28705, 28711, 28720, 28728, 28734, 28742, 28749, 11110, 28755, 28762,
+ 28767, 28774, 1496, 2147, 28780, 28786, 28793, 28804, 28815, 28823,
+ 28830, 28840, 28849, 28857, 28866, 28873, 28880, 28893, 28904, 1272,
+ 28923, 28928, 28936, 3575, 28940, 28945, 28949, 1459, 24696, 28959,
+ 28963, 28968, 28972, 3493, 28978, 28986, 28993, 29004, 29012, 29020,
+ 3576, 279, 29025, 29033, 29041, 29048, 29054, 29059, 2216, 29066, 29072,
+ 25982, 26212, 29078, 106, 29082, 29086, 29092, 615, 9328, 29097, 29104,
+ 29110, 2327, 29114, 29118, 15181, 29121, 29126, 29133, 29139, 29144,
+ 29152, 29159, 29165, 22345, 29169, 29173, 3646, 16619, 29177, 29182,
+ 29185, 29193, 29201, 29206, 29209, 29216, 29226, 29238, 29243, 29247,
+ 29255, 29262, 29268, 29275, 29282, 29285, 29289, 29293, 1463, 29303,
+ 29305, 29310, 29316, 29322, 29327, 29332, 29337, 29342, 29347, 29352,
+ 29357, 29362, 29367, 29372, 29377, 29382, 29387, 29392, 29398, 29404,
+ 29410, 29416, 29421, 29426, 29431, 29437, 29442, 29447, 29452, 29458,
+ 29463, 29469, 29474, 29479, 29484, 29489, 29495, 29500, 29506, 29511,
+ 29516, 29521, 29526, 29532, 29537, 29543, 29548, 29553, 29558, 29563,
+ 29568, 29573, 29578, 29583, 29588, 29594, 29600, 29606, 29611, 29616,
+ 29621, 29626, 29632, 29638, 29644, 29650, 29656, 29662, 29667, 29673,
+ 29678, 29683, 29688, 29693, 29699, 2443, 29704, 2450, 2457, 2754, 29709,
+ 2463, 2473, 29715, 29719, 29724, 29729, 29735, 29740, 29745, 29749,
+ 29754, 29760, 29765, 29770, 29775, 29781, 29786, 29790, 29794, 29799,
+ 29804, 29809, 29814, 29819, 29825, 29831, 29836, 29840, 29845, 29851,
+ 29855, 29860, 29865, 29870, 29875, 29879, 29882, 29887, 29892, 29897,
+ 29902, 29907, 29913, 29919, 29924, 29929, 29933, 29938, 29943, 29948,
+ 29953, 29958, 29962, 29967, 29972, 29977, 29981, 29985, 29989, 29994,
+ 30002, 30007, 30013, 30019, 30025, 30030, 30034, 30037, 30042, 30047,
+ 30051, 30056, 30060, 30065, 30069, 30072, 30077, 17296, 30082, 30087,
+ 30092, 30100, 21274, 28680, 9026, 30105, 30110, 30114, 30119, 30123,
+ 30127, 30132, 30136, 30139, 30142, 30146, 30151, 30155, 30163, 30167,
+ 30170, 30175, 30179, 30183, 30188, 30193, 30197, 30203, 30208, 30213,
+ 30220, 30227, 30231, 30234, 30240, 30249, 30256, 30264, 30271, 30275,
+ 30280, 30284, 30288, 30294, 30300, 30304, 30310, 30315, 30320, 30327,
+ 30333, 30339, 30345, 30351, 30358, 30364, 30370, 30376, 30382, 30388,
+ 30394, 30400, 30407, 30413, 30420, 30426, 30432, 30438, 30444, 30450,
+ 30456, 30462, 30468, 30474, 11418, 30480, 30485, 30490, 30493, 30501,
+ 30506, 30515, 30521, 30526, 30531, 30536, 30540, 30545, 30550, 30555,
+ 30560, 30565, 30572, 30579, 30585, 30591, 30596, 16297, 30603, 30609,
+ 30616, 30622, 30628, 30633, 30641, 30646, 16076, 30650, 30655, 30660,
+ 30666, 30671, 30676, 30680, 30685, 30690, 30696, 30701, 30706, 30710,
+ 30715, 30720, 30724, 30729, 30734, 30739, 30743, 30748, 30753, 30758,
+ 30762, 30766, 15287, 30770, 30779, 30785, 30791, 30800, 30808, 30817,
+ 30825, 30830, 30834, 30841, 30847, 30851, 30854, 30859, 30868, 30876,
+ 30881, 1495, 30887, 30890, 30894, 22418, 22424, 30900, 30904, 30915,
+ 30926, 30937, 30949, 30956, 30963, 30968, 30972, 5909, 755, 21273, 30980,
+ 30985, 30989, 30994, 30998, 31004, 31009, 31015, 31020, 31026, 31031,
+ 31037, 31042, 31048, 31054, 31060, 31065, 31021, 31027, 31069, 31074,
+ 31080, 31085, 31091, 31096, 31102, 31107, 31032, 10421, 31111, 31043,
+ 31049, 31055, 2831, 3423, 31117, 31120, 31126, 31132, 31138, 31145,
+ 31151, 31157, 31163, 31169, 31175, 31181, 31187, 31193, 31199, 31205,
+ 31211, 31217, 31224, 31230, 31236, 31242, 31248, 31254, 31257, 31262,
+ 31265, 31272, 31280, 31285, 31290, 31296, 31301, 31306, 31310, 31315,
+ 31321, 31326, 31332, 31337, 31343, 31348, 31354, 31360, 31364, 31369,
+ 31374, 31379, 31384, 31388, 31393, 31398, 31403, 31409, 31415, 31421,
+ 31427, 31432, 31436, 31439, 31445, 31451, 31460, 31468, 31475, 31480,
+ 31484, 31488, 31493, 15140, 31498, 31506, 31512, 3683, 1377, 31517,
+ 31521, 8005, 31527, 31533, 31540, 8014, 31544, 31550, 31557, 31563,
+ 31572, 31580, 31592, 31596, 31603, 31609, 31613, 31616, 31625, 31633,
+ 31022, 31638, 31648, 31658, 31668, 31674, 31679, 31689, 31694, 31707,
+ 31721, 31732, 31744, 31756, 31770, 31783, 31795, 31807, 14594, 31821,
+ 31826, 31831, 31835, 31839, 31843, 1780, 27166, 31847, 31852, 31070,
+ 31857, 31860, 31865, 31870, 31875, 31881, 31887, 10098, 31892, 31899,
+ 15691, 31905, 31910, 31915, 31919, 31924, 31929, 31075, 31934, 31939,
+ 31944, 31950, 31081, 31955, 31958, 31965, 31973, 31979, 31985, 31991,
+ 32002, 32007, 32014, 32021, 32028, 32036, 32045, 32054, 32060, 32066,
+ 32074, 31086, 32079, 32085, 32091, 31092, 32096, 32101, 32109, 32117,
+ 32123, 32130, 32136, 32143, 32150, 32156, 32164, 32174, 32181, 32186,
+ 32192, 32197, 32202, 32209, 32218, 32226, 32231, 32237, 32244, 32252,
+ 32258, 32263, 32269, 32278, 27943, 32285, 32289, 32294, 32303, 32308,
+ 32313, 32318, 12405, 32326, 32331, 32336, 32341, 32345, 32350, 32355,
+ 32362, 32367, 32372, 32377, 31097, 21210, 32383, 2519, 244, 32386, 32389,
+ 32393, 32397, 32407, 32415, 32419, 32426, 32433, 32437, 32440, 32446,
+ 32454, 32462, 32466, 32470, 32473, 32480, 32484, 32488, 32495, 32503,
+ 31033, 32510, 32518, 10158, 660, 308, 32530, 32535, 32540, 32546, 32551,
+ 32556, 3704, 32561, 32564, 32569, 32574, 32579, 32584, 32589, 32596,
+ 22519, 32601, 32606, 32611, 32616, 32621, 32627, 32632, 32638, 31268,
+ 32644, 32649, 32655, 32661, 32671, 32676, 32681, 32685, 32690, 32695,
+ 32700, 32705, 32718, 32723, 22296, 16699, 3710, 32727, 32732, 32737,
+ 32743, 32748, 32753, 32757, 32762, 32767, 32773, 32778, 32783, 1382,
+ 32787, 32792, 32797, 32802, 32806, 32811, 32816, 32821, 32827, 32833,
+ 32838, 32842, 32846, 32851, 32856, 32861, 32865, 32873, 32877, 32883,
+ 32887, 32894, 16492, 31044, 32900, 32907, 32915, 32922, 32928, 32941,
+ 32953, 32959, 32963, 2773, 32967, 32971, 32475, 32980, 32991, 32996,
+ 33001, 33006, 33010, 33015, 22429, 33019, 33023, 33028, 31050, 21294,
+ 33032, 33037, 33043, 33048, 33052, 33056, 33059, 33063, 33069, 33080,
+ 33092, 31056, 33097, 33100, 33104, 347, 33109, 33114, 33119, 33124,
+ 33129, 33134, 33140, 33145, 33150, 33156, 33161, 33167, 33172, 33178,
+ 33183, 33188, 33193, 33198, 33203, 33208, 33213, 33218, 33224, 33229,
+ 33234, 33239, 33244, 33249, 33254, 33259, 33265, 33271, 33276, 33281,
+ 33286, 33291, 33296, 33301, 33306, 33311, 33316, 33321, 33326, 33331,
+ 33336, 33341, 33346, 33351, 33356, 33361, 33367, 313, 26, 33372, 33376,
+ 33380, 33388, 33392, 33396, 33399, 33402, 33404, 33409, 33413, 33418,
+ 33422, 33427, 33431, 33436, 33440, 33443, 33445, 33449, 33454, 33458,
+ 33469, 33472, 33474, 33478, 33490, 33499, 33503, 33507, 33513, 33518,
+ 33527, 33533, 33538, 33543, 33547, 33552, 33559, 33564, 33570, 33575,
+ 33579, 33586, 25708, 25718, 33590, 33595, 33600, 33605, 33612, 33616,
+ 33623, 8113, 33629, 33638, 33646, 33661, 33675, 33683, 33694, 33703,
+ 33708, 7227, 33718, 33723, 33728, 33732, 33735, 33739, 33744, 33748,
+ 33755, 33760, 33765, 8912, 33775, 33777, 33780, 33784, 33790, 33794,
+ 33799, 33804, 33810, 33815, 33821, 33826, 33836, 33845, 33853, 33858,
+ 33864, 33869, 33876, 33880, 33888, 33895, 33908, 33916, 33920, 33930,
+ 33935, 33939, 33947, 33955, 33959, 33968, 33974, 33979, 33987, 33997,
+ 34006, 34015, 34024, 34035, 34043, 34054, 34063, 34070, 34076, 34081,
+ 34092, 34097, 34101, 34104, 34108, 34116, 34122, 34130, 34137, 34143,
+ 34148, 34154, 2418, 34158, 34160, 34165, 34170, 34175, 34178, 34180,
+ 34184, 34187, 34194, 34198, 9891, 34202, 34208, 34218, 34223, 34229,
+ 34233, 34238, 34251, 26094, 34257, 34266, 17469, 34273, 34282, 31654,
+ 34290, 34295, 34299, 34307, 34314, 34319, 34323, 34328, 34332, 34340,
+ 34346, 34352, 34357, 34361, 34364, 34369, 34382, 34398, 22986, 34415,
+ 34427, 34444, 34456, 34470, 23003, 23022, 34482, 34494, 2680, 34508,
+ 34513, 34518, 34523, 34527, 34534, 34546, 34552, 34555, 34566, 34577,
+ 34582, 32071, 695, 34586, 34590, 34594, 34597, 34602, 34607, 34613,
+ 34618, 34623, 34629, 34635, 34640, 34644, 34649, 34654, 34659, 34663,
+ 34666, 34672, 34677, 34682, 34687, 34691, 34696, 34702, 34710, 26327,
+ 34715, 34720, 34727, 34733, 34739, 34744, 34752, 22528, 34759, 34764,
+ 34769, 34774, 34778, 34781, 34786, 34790, 34794, 34801, 34807, 34813,
+ 34819, 34826, 34831, 34837, 33950, 34841, 34845, 34850, 34863, 34868,
+ 34874, 34882, 34889, 34897, 34907, 34913, 34919, 34925, 34929, 34938,
+ 34946, 34953, 34958, 34963, 10444, 34968, 34976, 34983, 34989, 34999,
+ 35004, 35010, 35018, 3608, 35025, 35032, 3614, 35036, 35041, 35052,
+ 35059, 35065, 35074, 35078, 4015, 35081, 35088, 35094, 35100, 35108,
+ 35118, 29049, 35125, 35133, 35138, 35144, 35149, 25954, 35155, 35162,
+ 35168, 35177, 23667, 35184, 35189, 35193, 35201, 35209, 9607, 5895,
+ 35216, 35220, 35222, 35226, 35231, 35233, 35239, 35244, 35249, 35256,
+ 32592, 35262, 35267, 35271, 35276, 35280, 35289, 35293, 35299, 35306,
+ 35312, 35319, 35324, 35333, 35338, 35342, 35347, 35354, 35362, 35370,
+ 35375, 21350, 35379, 35382, 35386, 35390, 35394, 35397, 35399, 35407,
+ 35411, 35418, 35422, 35426, 35434, 35441, 35451, 35455, 35459, 35467,
+ 35475, 35481, 35486, 35495, 13357, 35501, 35510, 35515, 35522, 35530,
+ 35538, 35546, 35553, 35560, 35567, 35574, 35581, 35586, 35592, 35609,
+ 35617, 35627, 35635, 35642, 407, 35646, 35652, 35656, 35661, 33699,
+ 35667, 35670, 35674, 35682, 3619, 35690, 35696, 35702, 35711, 35721,
+ 35728, 35734, 3625, 3631, 35743, 35750, 35758, 35763, 35767, 35774,
+ 35782, 35789, 35795, 35804, 35814, 35820, 35828, 35837, 35844, 35852,
+ 35859, 22026, 35863, 35870, 35876, 35886, 35895, 35906, 35910, 35920,
+ 35926, 35933, 35941, 35950, 35959, 35969, 35980, 35987, 35992, 35999,
+ 3029, 36007, 36013, 36018, 36024, 36030, 36035, 36048, 36061, 36074,
+ 36081, 36087, 36095, 36103, 36108, 36112, 1469, 36116, 36121, 36126,
+ 36131, 36136, 36142, 36147, 36152, 36157, 36162, 36167, 36172, 36177,
+ 36183, 36189, 36194, 36199, 36205, 36210, 36215, 36220, 36226, 36231,
+ 36236, 36241, 36246, 36252, 36257, 36262, 36268, 36273, 36278, 36283,
+ 36288, 36293, 36299, 36304, 36310, 36315, 36321, 36326, 36331, 36336,
+ 36342, 36348, 36354, 36360, 36366, 36372, 36378, 36384, 36389, 36394,
+ 36400, 36405, 36410, 36415, 36420, 36425, 36430, 36435, 36441, 36446,
+ 36451, 36457, 36463, 101, 36468, 36470, 36474, 36478, 36482, 36487,
+ 36491, 9528, 36495, 36501, 1741, 6280, 36507, 36510, 36515, 36519, 36524,
+ 36528, 36532, 36537, 10245, 36541, 36545, 36549, 36553, 15379, 36558,
+ 36562, 36567, 36572, 36577, 36581, 36588, 26118, 36594, 36597, 36601,
+ 36606, 36612, 36616, 36624, 36630, 36635, 36639, 36645, 36649, 36653,
+ 3462, 3467, 29241, 36656, 36660, 36664, 36668, 36676, 36683, 36687,
+ 36694, 36699, 317, 36704, 36708, 36714, 36726, 36732, 36738, 36742,
+ 36748, 36757, 36761, 36765, 36770, 36776, 36781, 36785, 36790, 36794,
+ 36798, 36805, 36811, 36816, 36831, 36846, 36861, 36877, 36895, 10195,
+ 36909, 36916, 36920, 36923, 36932, 36937, 36941, 36949, 33901, 36957,
+ 36961, 36971, 36982, 29211, 36995, 36999, 37008, 37016, 9785, 14907,
+ 37020, 22441, 37023, 30159, 37028, 9784, 37033, 37039, 37044, 37050,
+ 37055, 37061, 37066, 37072, 37077, 37083, 37089, 37095, 37100, 37056,
+ 37062, 37067, 37073, 37078, 37084, 37090, 8126, 3874, 37104, 37112,
+ 37116, 37119, 37123, 37128, 37133, 37139, 37145, 37150, 37154, 25966,
+ 37158, 37162, 37168, 37172, 9049, 37181, 37188, 37192, 11875, 37199,
+ 37205, 37210, 37217, 37224, 37231, 28557, 8049, 37238, 37245, 37252,
+ 37258, 37263, 37270, 37281, 37287, 37292, 37297, 37302, 37309, 37057,
+ 37313, 37323, 37334, 37340, 37345, 37350, 37355, 37360, 37365, 37369,
+ 37373, 37379, 37387, 2319, 865, 10261, 10273, 10278, 10284, 37396, 10289,
+ 10294, 10300, 37401, 37411, 37415, 10305, 37420, 16897, 37423, 37428,
+ 37432, 37437, 37442, 37449, 37456, 37460, 37463, 37471, 10208, 37478,
+ 37481, 37487, 37497, 5929, 37506, 37510, 37518, 37522, 37532, 37538,
+ 37549, 37555, 37561, 37566, 37572, 37578, 37584, 37589, 37592, 37599,
+ 37605, 37610, 37617, 37624, 37628, 37638, 37651, 37660, 37669, 37680,
+ 37693, 37704, 37713, 37724, 37729, 37738, 37743, 10310, 37749, 37756,
+ 37764, 37769, 37773, 37780, 37787, 3829, 16, 37791, 37796, 16751, 37800,
+ 37803, 37806, 28063, 37810, 28566, 37818, 37822, 37826, 37829, 37835,
+ 37079, 37841, 37849, 37855, 37862, 28046, 37866, 28240, 37870, 37879,
+ 37885, 37891, 37896, 37900, 37906, 37910, 37918, 37926, 26184, 37932,
+ 37939, 37945, 37950, 37955, 37959, 37965, 37970, 37976, 4056, 791, 37983,
+ 37987, 37990, 15269, 38002, 35833, 38013, 38016, 38023, 38027, 38033,
+ 38037, 38043, 38048, 38054, 38059, 38064, 38068, 38072, 38077, 38082,
+ 38092, 38098, 38111, 38117, 38123, 38130, 38135, 38141, 38146, 16637,
+ 1472, 1019, 31200, 31206, 38151, 31212, 31225, 31231, 31237, 38157,
+ 31243, 31249, 38163, 38169, 22, 38177, 38184, 38188, 38192, 38200, 31960,
+ 38204, 38208, 38215, 38220, 38224, 38229, 38235, 38240, 38246, 38251,
+ 38255, 38259, 38263, 38268, 38272, 38277, 38281, 38288, 38293, 38297,
+ 38302, 38306, 38311, 38315, 38320, 38326, 15489, 15494, 38331, 38335,
+ 38338, 38342, 21177, 38347, 38351, 38357, 38364, 38369, 38379, 38384,
+ 38392, 38396, 38399, 31975, 38403, 4109, 38408, 38413, 38417, 38422,
+ 38426, 38431, 13375, 38442, 38446, 38449, 38454, 38458, 38462, 38465,
+ 38469, 8145, 13391, 38472, 38475, 38481, 38486, 38492, 38497, 38503,
+ 38508, 38514, 38519, 38525, 38531, 38537, 38542, 38546, 38550, 38559,
+ 38575, 38591, 38601, 27953, 38608, 38612, 38617, 38622, 38626, 38630,
+ 35954, 38636, 38641, 38645, 38652, 38657, 38661, 38665, 26986, 38671,
+ 21445, 38676, 38683, 38691, 38697, 38704, 38712, 38718, 38722, 38728,
+ 38736, 38740, 38749, 9509, 38757, 38761, 38769, 38776, 38781, 38786,
+ 38790, 38793, 38797, 38800, 38804, 38811, 38816, 38822, 26405, 31263,
+ 38826, 38833, 38839, 38845, 38850, 38853, 38855, 38862, 38869, 38875,
+ 38879, 38882, 38886, 38890, 38894, 38899, 38903, 38907, 38910, 38914,
+ 38928, 23052, 38947, 38960, 38973, 38986, 23070, 39001, 10497, 39016,
+ 39022, 39026, 39030, 39037, 39042, 39046, 39053, 39059, 39064, 39070,
+ 39080, 39092, 39103, 39108, 39115, 39119, 39123, 39126, 15885, 3677,
+ 39134, 15516, 39147, 39154, 39158, 39162, 39167, 39172, 39178, 39182,
+ 39186, 39189, 7742, 15527, 39194, 39198, 39204, 39213, 39218, 39225,
+ 35810, 39231, 39236, 39240, 39245, 39252, 39256, 39259, 39263, 39268,
+ 14559, 39275, 39282, 1072, 39286, 39291, 39296, 39302, 39307, 39312,
+ 39316, 39326, 39331, 39337, 39342, 39348, 39353, 39359, 39369, 39374,
+ 39379, 39383, 7229, 7241, 39388, 39391, 39398, 39404, 34066, 34073,
+ 39413, 39417, 32023, 39425, 39436, 39444, 36002, 39451, 39456, 39461,
+ 39472, 39479, 39490, 32047, 21451, 39498, 735, 39503, 39509, 28037,
+ 39515, 39520, 39530, 39539, 39546, 39552, 39556, 39559, 39566, 39572,
+ 39579, 39585, 39595, 39603, 39609, 39615, 39620, 39624, 39631, 39637,
+ 39644, 38895, 535, 13812, 39650, 39655, 39658, 39664, 39672, 1396, 39677,
+ 39681, 39686, 39693, 39699, 39703, 39707, 39712, 39721, 39728, 39738,
+ 39744, 28081, 39761, 39770, 39778, 39784, 39789, 39796, 39802, 39810,
+ 39819, 39827, 39831, 39836, 39844, 32056, 39850, 39869, 15818, 39883,
+ 39899, 39913, 39919, 39924, 39929, 39934, 39940, 32062, 39945, 39952,
+ 39957, 39961, 345, 2936, 39968, 39973, 39978, 27312, 39799, 39982, 39987,
+ 39995, 39999, 40002, 40008, 40014, 40018, 28136, 40021, 40026, 40030,
+ 40033, 40038, 40042, 40047, 40052, 40056, 40061, 40065, 40069, 21173,
+ 21184, 40073, 40078, 40084, 26943, 40089, 40093, 21260, 16066, 40096,
+ 40101, 40106, 40111, 40116, 40121, 40126, 40131, 447, 43, 31281, 31286,
+ 31291, 31297, 31302, 31307, 40136, 31311, 40140, 40144, 40148, 31316,
+ 31322, 40162, 31333, 31338, 40170, 40175, 31344, 40180, 40185, 40190,
+ 40195, 40201, 40207, 40213, 31361, 40226, 40232, 31365, 40236, 31370,
+ 40241, 31375, 31380, 40244, 40249, 40253, 30930, 40259, 13599, 40266,
+ 40271, 31385, 40275, 40280, 40285, 40290, 40294, 40299, 40304, 40310,
+ 40315, 40320, 40326, 40332, 40337, 40341, 40346, 40351, 40356, 40360,
+ 40365, 40370, 40375, 40381, 40387, 40393, 40398, 40402, 40407, 40411,
+ 31389, 31394, 31399, 40415, 40419, 40423, 31404, 31410, 31416, 31428,
+ 40435, 26003, 40439, 40443, 40448, 40453, 40458, 40463, 40467, 40471,
+ 40481, 40486, 40491, 40495, 40499, 40502, 40510, 31476, 40515, 1479,
+ 40521, 40529, 40538, 40542, 40546, 40554, 40560, 40568, 40584, 40588,
+ 40592, 40597, 40612, 31513, 1749, 12055, 40616, 1378, 40628, 40629,
+ 40637, 40644, 40649, 40656, 40661, 9379, 1114, 10332, 40668, 40673,
+ 40676, 40679, 40688, 1286, 40693, 39043, 40700, 40705, 22493, 2557,
+ 40709, 10741, 40719, 40725, 2337, 2347, 40734, 40743, 40753, 40764, 3293,
+ 34219, 10384, 3807, 16675, 1291, 40769, 40777, 40784, 40789, 40793,
+ 40797, 23865, 10411, 40805, 40814, 40823, 40831, 40838, 40849, 40854,
+ 40867, 40880, 40892, 40904, 40916, 40929, 40940, 40951, 40961, 40969,
+ 40977, 40989, 41001, 41012, 41021, 41029, 41036, 41048, 41055, 41064,
+ 41071, 41084, 41089, 41099, 41104, 41110, 41115, 37189, 41119, 41126,
+ 41130, 41137, 41145, 2518, 41152, 41163, 41173, 41182, 41190, 41200,
+ 41208, 41218, 41227, 41232, 41238, 41244, 3709, 41255, 41265, 41274,
+ 41283, 41293, 41301, 41310, 41315, 41320, 41325, 1705, 37, 41333, 41341,
+ 41352, 41363, 16350, 41373, 41377, 41384, 41390, 41395, 41399, 41410,
+ 41420, 41429, 41440, 16724, 16729, 41445, 41454, 41459, 41469, 41474,
+ 41482, 41490, 41497, 41503, 7078, 228, 41507, 41513, 41518, 41521, 2117,
+ 39159, 41529, 41533, 41536, 1512, 41542, 13974, 1296, 41547, 41560,
+ 41574, 2643, 41592, 41604, 41616, 2657, 2674, 41630, 41643, 2689, 41657,
+ 41669, 2704, 41683, 1302, 1308, 1314, 10659, 41688, 41693, 41698, 41702,
+ 41717, 41732, 41747, 41762, 41777, 41792, 41807, 41822, 41837, 41852,
+ 41867, 41882, 41897, 41912, 41927, 41942, 41957, 41972, 41987, 42002,
+ 42017, 42032, 42047, 42062, 42077, 42092, 42107, 42122, 42137, 42152,
+ 42167, 42182, 42197, 42212, 42227, 42242, 42257, 42272, 42287, 42302,
+ 42317, 42332, 42347, 42362, 42377, 42392, 42407, 42422, 42437, 42452,
+ 42467, 42482, 42497, 42512, 42527, 42542, 42557, 42572, 42587, 42602,
+ 42617, 42632, 42647, 42662, 42677, 42692, 42707, 42722, 42737, 42752,
+ 42767, 42782, 42797, 42812, 42827, 42842, 42857, 42872, 42887, 42902,
+ 42917, 42932, 42947, 42962, 42977, 42992, 43007, 43022, 43037, 43052,
+ 43067, 43082, 43097, 43112, 43127, 43142, 43157, 43172, 43187, 43202,
+ 43217, 43232, 43247, 43262, 43277, 43292, 43307, 43322, 43337, 43352,
+ 43367, 43382, 43397, 43412, 43427, 43442, 43457, 43472, 43487, 43502,
+ 43517, 43532, 43547, 43562, 43577, 43592, 43607, 43622, 43637, 43652,
+ 43667, 43682, 43697, 43712, 43727, 43742, 43757, 43772, 43787, 43802,
+ 43817, 43832, 43847, 43862, 43877, 43892, 43907, 43922, 43937, 43952,
+ 43967, 43982, 43997, 44012, 44027, 44042, 44057, 44072, 44087, 44102,
+ 44117, 44132, 44147, 44162, 44177, 44192, 44207, 44222, 44237, 44252,
+ 44267, 44282, 44297, 44312, 44327, 44342, 44357, 44372, 44387, 44402,
+ 44417, 44432, 44447, 44462, 44477, 44492, 44507, 44522, 44537, 44552,
+ 44567, 44582, 44597, 44612, 44627, 44642, 44657, 44672, 44687, 44702,
+ 44717, 44732, 44747, 44762, 44777, 44792, 44807, 44822, 44837, 44852,
+ 44867, 44882, 44897, 44912, 44927, 44942, 44957, 44972, 44987, 45002,
+ 45017, 45032, 45047, 45062, 45077, 45092, 45107, 45122, 45137, 45152,
+ 45167, 45182, 45197, 45212, 45227, 45242, 45257, 45272, 45287, 45302,
+ 45317, 45332, 45347, 45362, 45377, 45392, 45407, 45422, 45437, 45452,
+ 45467, 45482, 45497, 45512, 45527, 45542, 45557, 45572, 45587, 45602,
+ 45617, 45632, 45647, 45662, 45677, 45692, 45707, 45722, 45737, 45752,
+ 45767, 45782, 45797, 45812, 45827, 45842, 45857, 45872, 45887, 45902,
+ 45917, 45932, 45947, 45962, 45977, 45992, 46007, 46022, 46037, 46052,
+ 46067, 46082, 46097, 46112, 46127, 46142, 46157, 46172, 46187, 46202,
+ 46217, 46232, 46247, 46262, 46277, 46292, 46307, 46322, 46337, 46352,
+ 46367, 46382, 46397, 46412, 46427, 46442, 46457, 46472, 46487, 46502,
+ 46517, 46532, 46547, 46562, 46577, 46592, 46607, 46622, 46637, 46652,
+ 46667, 46682, 46697, 46712, 46727, 46742, 46757, 46772, 46787, 46802,
+ 46817, 46832, 46847, 46862, 46877, 46892, 46907, 46922, 46937, 46952,
+ 46967, 46982, 46997, 47012, 47027, 47042, 47057, 47072, 47087, 47102,
+ 47117, 47132, 47147, 47162, 47177, 47192, 47207, 47222, 47237, 47252,
+ 47267, 47282, 47297, 47312, 47327, 47342, 47357, 47372, 47387, 47402,
+ 47417, 47432, 47447, 47462, 47477, 47492, 47507, 47522, 47537, 47552,
+ 47567, 47582, 47597, 47612, 47627, 47642, 47657, 47672, 47687, 47702,
+ 47717, 47732, 47747, 47762, 47777, 47792, 47807, 47822, 47837, 47852,
+ 47867, 47882, 47897, 47912, 47927, 47942, 47957, 47972, 47987, 48002,
+ 48017, 48032, 48047, 48062, 48077, 48092, 48107, 48122, 48137, 48152,
+ 48167, 48182, 48197, 48212, 48227, 48242, 48257, 48272, 48287, 48302,
+ 48317, 48332, 48347, 48362, 48377, 48392, 48407, 48422, 48437, 48452,
+ 48467, 48482, 48497, 48512, 48527, 48542, 48557, 48572, 48587, 48602,
+ 48617, 48632, 48647, 48662, 48677, 48692, 48707, 48722, 48737, 48752,
+ 48767, 48782, 48797, 48812, 48827, 48842, 48857, 48872, 48887, 48902,
+ 48917, 48932, 48947, 48962, 48977, 48992, 49007, 49022, 49037, 49052,
+ 49067, 49082, 49097, 49112, 49127, 49142, 49157, 49172, 49187, 49202,
+ 49217, 49232, 49247, 49262, 49277, 49292, 49307, 49322, 49337, 49352,
+ 49367, 49382, 49397, 49412, 49427, 49442, 49457, 49472, 49487, 49502,
+ 49518, 49534, 49550, 49566, 49582, 49598, 49614, 49630, 49646, 49662,
+ 49678, 49694, 49710, 49726, 49742, 49758, 49774, 49790, 49806, 49822,
+ 49838, 49854, 49870, 49886, 49902, 49918, 49934, 49950, 49966, 49982,
+ 49998, 50014, 50030, 50046, 50062, 50078, 50094, 50110, 50126, 50142,
+ 50158, 50174, 50190, 50206, 50222, 50238, 50254, 50270, 50286, 50302,
+ 50318, 50334, 50350, 50366, 50382, 50398, 50414, 50430, 50446, 50462,
+ 50478, 50494, 50510, 50526, 50542, 50558, 50574, 50590, 50606, 50622,
+ 50638, 50654, 50670, 50686, 50702, 50718, 50734, 50750, 50766, 50782,
+ 50798, 50814, 50830, 50846, 50862, 50878, 50894, 50910, 50926, 50942,
+ 50958, 50974, 50990, 51006, 51022, 51038, 51054, 51070, 51086, 51102,
+ 51118, 51134, 51150, 51166, 51182, 51198, 51214, 51230, 51246, 51262,
+ 51278, 51294, 51310, 51326, 51342, 51358, 51374, 51390, 51406, 51422,
+ 51438, 51454, 51470, 51486, 51502, 51518, 51534, 51550, 51566, 51582,
+ 51598, 51614, 51630, 51646, 51662, 51678, 51694, 51710, 51726, 51742,
+ 51758, 51774, 51790, 51806, 51822, 51838, 51854, 51870, 51886, 51902,
+ 51918, 51934, 51950, 51966, 51982, 51998, 52014, 52030, 52046, 52062,
+ 52078, 52094, 52110, 52126, 52142, 52158, 52174, 52190, 52206, 52222,
+ 52238, 52254, 52270, 52286, 52302, 52318, 52334, 52350, 52366, 52382,
+ 52398, 52414, 52430, 52446, 52462, 52478, 52494, 52510, 52526, 52542,
+ 52558, 52574, 52590, 52606, 52622, 52638, 52654, 52670, 52686, 52702,
+ 52718, 52734, 52750, 52766, 52782, 52798, 52814, 52830, 52846, 52862,
+ 52878, 52894, 52910, 52926, 52942, 52958, 52974, 52990, 53006, 53022,
+ 53038, 53054, 53070, 53086, 53102, 53118, 53134, 53150, 53166, 53182,
+ 53198, 53214, 53230, 53246, 53262, 53278, 53294, 53310, 53326, 53342,
+ 53358, 53374, 53390, 53406, 53422, 53438, 53454, 53470, 53486, 53502,
+ 53518, 53534, 53550, 53566, 53582, 53598, 53614, 53630, 53646, 53662,
+ 53678, 53694, 53710, 53726, 53742, 53758, 53774, 53790, 53806, 53822,
+ 53838, 53854, 53870, 53886, 53902, 53918, 53934, 53950, 53966, 53982,
+ 53998, 54014, 54030, 54046, 54062, 54078, 54094, 54110, 54126, 54142,
+ 54158, 54174, 54190, 54206, 54222, 54238, 54254, 54270, 54286, 54302,
+ 54318, 54334, 54350, 54366, 54382, 54398, 54414, 54430, 54446, 54462,
+ 54478, 54494, 54510, 54526, 54542, 54558, 54574, 54590, 54606, 54622,
+ 54638, 54654, 54670, 54686, 54702, 54718, 54734, 54750, 54766, 54782,
+ 54798, 54814, 54830, 54846, 54862, 54878, 54894, 54910, 54926, 54942,
+ 54958, 54974, 54990, 55006, 55022, 55038, 55054, 55070, 55086, 55102,
+ 55118, 55134, 55150, 55166, 55182, 55198, 55214, 55230, 55246, 55262,
+ 55278, 55294, 55310, 55326, 55342, 55358, 55374, 55390, 55406, 55422,
+ 55438, 55454, 55470, 55486, 55502, 55518, 55534, 55550, 55566, 55582,
+ 55598, 55614, 55630, 55646, 55662, 55678, 55694, 55710, 55726, 55742,
+ 55758, 55774, 55790, 55806, 55822, 55838, 55854, 55870, 55886, 55902,
+ 55918, 55934, 55950, 55966, 55982, 55998, 56014, 56030, 56046, 56062,
+ 56078, 56094, 56110, 56126, 56142, 56158, 56174, 56190, 56206, 56222,
+ 56238, 56254, 56270, 56286, 56302, 56318, 56334, 56350, 56366, 56382,
+ 56398, 56414, 56430, 56446, 56462, 56478, 56494, 56510, 56526, 56542,
+ 56558, 56574, 56590, 56606, 56622, 56638, 56654, 56670, 56686, 56702,
+ 56718, 56734, 56750, 56766, 56782, 56798, 56814, 56830, 56846, 56862,
+ 56878, 56894, 56910, 56926, 56942, 56958, 56974, 56990, 57006, 57022,
+ 57038, 57054, 57070, 57086, 57102, 57118, 57134, 57150, 57166, 57182,
+ 57198, 57214, 57230, 57246, 57262, 57278, 57294, 57310, 57326, 57342,
+ 57358, 57374, 57390, 57406, 57422, 57438, 57454, 57470, 57486, 57502,
+ 57518, 57534, 57550, 57566, 57582, 57598, 57614, 57630, 57646, 57662,
+ 57678, 57694, 57710, 57726, 57742, 57758, 57774, 57790, 57806, 57822,
+ 57838, 57854, 57870, 57886, 57902, 57918, 57934, 57950, 57966, 57982,
+ 57998, 58014, 58030, 58046, 58062, 58078, 58094, 58110, 58126, 58142,
+ 58158, 58174, 58189, 16756, 58198, 58204, 58210, 58220, 58228, 14888,
+ 15439, 9960, 58241, 1520, 58249, 3761, 27422, 7183, 58255, 58260, 58265,
+ 58270, 58275, 58281, 58286, 58292, 58297, 58303, 58308, 58313, 58318,
+ 58323, 58329, 58334, 58339, 58344, 58349, 58354, 58359, 58364, 58370,
+ 58375, 58381, 58388, 2561, 58393, 58399, 8526, 58403, 58408, 58415,
+ 58423, 40, 58427, 58433, 58438, 58443, 58447, 58452, 58456, 58460, 10684,
+ 58464, 58474, 58487, 58498, 58511, 58518, 58524, 58529, 58535, 58541,
+ 58547, 58552, 58557, 58562, 58567, 58571, 58576, 58581, 58586, 58592,
+ 58598, 58604, 58609, 58613, 58618, 58623, 58627, 58632, 58637, 58642,
+ 58646, 10700, 10711, 10716, 1563, 58650, 1568, 58656, 16233, 58659,
+ 58665, 1599, 58671, 1605, 1611, 10746, 58676, 58684, 58691, 58695, 58701,
+ 58706, 30959, 58711, 58718, 58723, 58727, 58731, 1616, 16325, 58740,
+ 58744, 16336, 1120, 58748, 58755, 58760, 58764, 16361, 1620, 37328,
+ 58767, 58772, 58782, 58791, 58796, 58800, 58806, 1625, 39237, 58811,
+ 58820, 58826, 58831, 10904, 10910, 58837, 58849, 58866, 58883, 58900,
+ 58917, 58934, 58951, 58968, 58985, 59002, 59019, 59036, 59053, 59070,
+ 59087, 59104, 59121, 59138, 59155, 59172, 59189, 59206, 59223, 59240,
+ 59257, 59274, 59291, 59308, 59325, 59342, 59359, 59376, 59393, 59410,
+ 59427, 59444, 59461, 59478, 59495, 59512, 59529, 59546, 59563, 59580,
+ 59597, 59614, 59631, 59648, 59665, 59682, 59693, 59698, 1630, 59702,
+ 59708, 59713, 59718, 9326, 1635, 59724, 59733, 27717, 59738, 59749,
+ 59759, 59764, 59771, 59777, 59782, 59787, 16613, 59791, 10921, 1640,
+ 10926, 59797, 59802, 59808, 59813, 59818, 59823, 59828, 59833, 59838,
+ 59843, 59849, 59855, 59861, 59866, 59870, 59875, 59880, 59884, 59889,
+ 59894, 59899, 59903, 59908, 59914, 59919, 59924, 59928, 59933, 59938,
+ 59944, 59949, 59954, 59960, 59966, 59971, 59975, 59980, 59985, 59990,
+ 59994, 59999, 60004, 60009, 60015, 60021, 60026, 60030, 60034, 60039,
+ 60044, 60049, 29115, 60053, 60058, 60063, 60069, 60074, 60079, 60083,
+ 60088, 60093, 60099, 60104, 60109, 60115, 60121, 60126, 60130, 60135,
+ 60140, 60144, 60149, 60154, 60159, 60165, 60171, 60176, 60180, 60185,
+ 60190, 60194, 60199, 60204, 60209, 60213, 60216, 31621, 60221, 60229,
+ 16679, 3663, 11017, 60235, 60245, 60260, 11022, 60271, 60276, 60287,
+ 60299, 60311, 60323, 2695, 60335, 60340, 60352, 60356, 60362, 60368,
+ 60373, 1652, 1073, 60382, 60387, 39287, 60391, 60395, 60400, 60404,
+ 16764, 60409, 60412, 60420, 60428, 1656, 11047, 11053, 1661, 60436,
+ 60443, 60448, 60457, 60467, 60474, 60479, 60484, 1666, 60491, 60496,
+ 16879, 60500, 60505, 60512, 60518, 60522, 60533, 60543, 16901, 9234,
+ 9241, 1671, 60550, 60556, 60564, 60571, 60577, 60584, 60596, 60602,
+ 60607, 60619, 60630, 60639, 60649, 3740, 30795, 30804, 16941, 1676, 1680,
+ 60657, 60668, 60673, 1683, 60681, 60686, 16992, 60698, 60704, 60709,
+ 60717, 1688, 60722, 60727, 60735, 60743, 60750, 60759, 60767, 60776,
+ 1693, 60780, 1698, 60785, 60792, 17066, 60800, 60806, 60811, 60819,
+ 60826, 60834, 22564, 60839, 11182, 60848, 60854, 60861, 60868, 60874,
+ 60884, 60890, 60895, 60906, 60911, 60919, 11191, 11196, 60927, 60933,
+ 60941, 3805, 17108, 39375, 60946, 60952, 60957, 60965, 60972, 12036,
+ 60977, 60983, 1709, 60988, 60991, 1127, 60997, 61002, 61007, 61013,
+ 61018, 61023, 61028, 61033, 61038, 61043, 1718, 9, 61049, 61053, 61058,
+ 61062, 61066, 61070, 31861, 61075, 61080, 61085, 61089, 61092, 61096,
+ 61100, 61105, 61109, 61114, 61118, 34598, 34603, 34608, 61121, 61128,
+ 61134, 39096, 61144, 34614, 32119, 31876, 31882, 34630, 31888, 61149,
+ 61154, 32152, 61158, 61161, 61165, 61172, 61175, 61180, 61184, 61188,
+ 61191, 61201, 61213, 61220, 61226, 61233, 33555, 61236, 8543, 877, 61239,
+ 61243, 61248, 3690, 61252, 61255, 13632, 61262, 61269, 61282, 61290,
+ 61299, 61308, 61313, 61323, 61336, 61348, 61355, 61360, 61369, 61382,
+ 36042, 61400, 61405, 61412, 61418, 652, 61423, 61431, 61438, 27261, 627,
+ 61444, 61450, 61460, 61466, 61471, 31906, 6003, 31920, 61475, 61485,
+ 61490, 61500, 61515, 61521, 61527, 31930, 61532, 31076, 61536, 61541,
+ 61546, 61550, 61555, 16944, 61562, 61567, 61571, 6044, 31956, 61575,
+ 61581, 312, 61591, 61598, 61605, 61610, 61619, 58776, 61625, 61633,
+ 61637, 61641, 61645, 61649, 61654, 61658, 61664, 61672, 61677, 61682,
+ 61686, 61691, 61695, 61699, 61705, 61711, 61716, 61720, 32080, 61725,
+ 32086, 32092, 61730, 61736, 61743, 61748, 61752, 31093, 16606, 61755,
+ 61759, 61764, 61771, 61777, 61781, 61786, 38806, 61792, 61796, 61800,
+ 61805, 61811, 61817, 61829, 61838, 61848, 61854, 61861, 61866, 61871,
+ 61875, 61878, 61884, 61891, 61896, 61901, 61908, 61915, 61921, 61926,
+ 61931, 61939, 32097, 2423, 61944, 61949, 61955, 61960, 61966, 61971,
+ 61976, 61981, 61987, 32118, 61992, 61998, 62004, 62010, 32182, 62015,
+ 62020, 62025, 32193, 62030, 62035, 62040, 62046, 62052, 32198, 62057,
+ 62062, 62067, 32253, 32259, 62072, 62077, 32264, 62082, 27944, 32286,
+ 32290, 62087, 62063, 62091, 62099, 62105, 62113, 62120, 62126, 62136,
+ 62142, 62149, 10631, 32304, 62155, 62168, 62177, 62183, 62192, 62198,
+ 23502, 62205, 62212, 62222, 32254, 62225, 62232, 62237, 62241, 62245,
+ 62250, 6120, 62254, 62259, 62264, 34692, 34697, 62268, 34711, 62273,
+ 34716, 62278, 62284, 34728, 34734, 34740, 62289, 62295, 22529, 62306,
+ 62309, 62321, 62329, 32327, 62333, 62342, 62352, 62361, 32337, 62366,
+ 62373, 62382, 62388, 62396, 62403, 6095, 4397, 62408, 32265, 62414,
+ 62417, 62423, 62430, 62435, 62440, 23412, 62444, 62450, 62456, 62461,
+ 62466, 62470, 62476, 62482, 33465, 863, 35705, 36626, 36632, 32373,
+ 62487, 62491, 62495, 62498, 62511, 62517, 62521, 62524, 62529, 33768,
+ 62533, 31098, 21281, 62539, 6024, 6032, 9075, 62542, 62547, 62552, 62557,
+ 62562, 62567, 62572, 62577, 62582, 62587, 62593, 62598, 62603, 62609,
+ 62614, 62619, 62624, 62629, 62634, 62639, 62645, 62650, 62656, 62661,
+ 62666, 62671, 62676, 62681, 62686, 62691, 62696, 62701, 62706, 62712,
+ 62717, 62722, 62727, 62732, 62737, 62742, 62748, 62753, 62758, 62763,
+ 62768, 62773, 62778, 62783, 62788, 62793, 62799, 62804, 62809, 62814,
+ 62819, 62825, 62831, 62836, 62842, 62847, 62852, 62857, 62862, 62867,
+ 1513, 245, 62872, 62876, 62880, 62884, 25123, 62888, 62892, 62897, 62901,
+ 62906, 62910, 62915, 62920, 62925, 62929, 62933, 62938, 62942, 13369,
+ 62947, 62951, 62958, 62968, 15200, 62977, 62986, 62990, 62995, 63000,
+ 63004, 24914, 3019, 63008, 17357, 63014, 63023, 63031, 63037, 63049,
+ 63061, 63065, 63070, 63074, 63080, 63086, 63091, 63101, 63111, 63117,
+ 63122, 63126, 63131, 63137, 63146, 63155, 63163, 15554, 63167, 63176,
+ 63184, 63196, 63207, 63218, 63227, 63231, 63240, 63250, 63258, 63264,
+ 63269, 63275, 63280, 98, 30907, 63291, 26256, 26266, 63297, 63304, 63310,
+ 63314, 63324, 63335, 63343, 63352, 63357, 63362, 63366, 17311, 63374,
+ 63378, 63384, 63394, 63401, 63407, 34791, 63413, 63415, 63418, 63422,
+ 63432, 63438, 63445, 13315, 63452, 63458, 63467, 63476, 63482, 63488,
+ 63494, 63499, 63506, 63513, 63519, 63532, 63541, 63550, 63555, 63559,
+ 63565, 63572, 63579, 63586, 63593, 63600, 63605, 63609, 63613, 63616,
+ 63626, 63630, 63642, 63651, 63655, 63660, 63664, 63670, 63675, 63682,
+ 63691, 63699, 63707, 63712, 63716, 63721, 63726, 63736, 63744, 63749,
+ 63753, 63757, 63763, 63775, 63783, 63793, 63800, 63806, 63811, 63815,
+ 63819, 63823, 63832, 63841, 63850, 63856, 63862, 63868, 63873, 63880,
+ 63886, 63894, 63901, 12463, 63907, 63913, 63917, 14238, 63921, 63926,
+ 63936, 63945, 63951, 63957, 63965, 63972, 63976, 63980, 63986, 63994,
+ 64001, 64007, 64018, 64022, 64026, 64030, 64033, 64039, 64044, 64048,
+ 64052, 64061, 64069, 64076, 64082, 64089, 24036, 38848, 64094, 64102,
+ 64106, 64110, 64113, 64121, 64128, 64134, 64143, 64151, 64157, 64162,
+ 64166, 64171, 64175, 64179, 64184, 64193, 64197, 64204, 64211, 64217,
+ 64225, 64231, 64242, 64250, 64256, 22659, 64265, 64272, 64279, 64286,
+ 64293, 64300, 41877, 13153, 64307, 64314, 64319, 34827, 6217, 64325,
+ 64330, 64335, 64341, 64347, 64353, 64358, 64363, 64368, 64373, 64379,
+ 64384, 64390, 64395, 64401, 64406, 64411, 64416, 64421, 64426, 64431,
+ 64436, 64442, 64447, 64453, 64458, 64463, 64468, 64473, 64478, 64483,
+ 64489, 64494, 64499, 64504, 64509, 64514, 64519, 64524, 64529, 64534,
+ 64539, 64545, 64550, 64555, 64560, 64565, 64570, 64575, 64580, 64585,
+ 64591, 64596, 64601, 64606, 64611, 64616, 64621, 64626, 64631, 64636,
+ 64641, 64646, 64651, 64657, 1834, 224, 37424, 64662, 64665, 64670, 64674,
+ 64677, 64682, 63703, 64693, 64703, 64710, 64726, 64735, 64745, 64755,
+ 64763, 64777, 64785, 64789, 64792, 64799, 64805, 64816, 64828, 64839,
+ 64848, 64855, 1297, 23301, 64865, 2590, 64869, 64878, 1133, 17284, 38061,
+ 64886, 64894, 64908, 64921, 64925, 64930, 64935, 64940, 64946, 64952,
+ 64957, 8535, 64962, 64966, 64974, 11048, 64979, 64985, 64994, 1721,
+ 11060, 736, 64998, 65007, 65017, 27020, 65026, 65032, 16856, 65038,
+ 65042, 3964, 11391, 65048, 65055, 60663, 65059, 65063, 3988, 189, 14153,
+ 65069, 65081, 65085, 65091, 27737, 65095, 11379, 2730, 4, 65100, 65110,
+ 65116, 65127, 65134, 65140, 65146, 65154, 65161, 65167, 65177, 65187,
+ 65197, 23489, 1309, 65206, 65210, 65214, 65220, 65224, 2753, 2759, 8532,
+ 2264, 65228, 65232, 65241, 65249, 65260, 65268, 65276, 65282, 65287,
+ 65298, 65309, 65317, 65323, 9694, 65328, 65336, 65340, 65344, 65348,
+ 65360, 28122, 65367, 65377, 65383, 65389, 9796, 65399, 65410, 65420,
+ 65429, 65433, 65440, 1135, 1170, 65450, 65455, 65463, 65471, 65482,
+ 65489, 65503, 14082, 393, 65513, 65517, 65525, 65534, 65542, 65548,
+ 65562, 65569, 65575, 65584, 65591, 65601, 65609, 3812, 156, 65617, 65628,
+ 65632, 65644, 27935, 161, 65650, 65655, 65659, 65666, 65672, 65680,
+ 65687, 8818, 65694, 65703, 65711, 3878, 65724, 8199, 65728, 2798, 450,
+ 65733, 65746, 65751, 1833, 668, 65755, 3895, 65763, 65769, 65773, 931,
+ 65783, 65792, 65797, 14922, 14929, 45239, 65801, 3822, 13041, 65809,
+ 65816, 23545, 65820, 65827, 65833, 65838, 65843, 14942, 372, 65848,
+ 65860, 65866, 65874, 2810, 1753, 65882, 65884, 65889, 65894, 65899,
+ 65905, 65910, 65915, 65920, 65925, 65930, 65935, 65941, 65946, 65951,
+ 65956, 65961, 65966, 65971, 65976, 65981, 65987, 65992, 65997, 66002,
+ 66008, 66013, 66019, 66024, 66029, 66034, 66039, 66044, 66049, 66054,
+ 66060, 66065, 66071, 66076, 66081, 66086, 66091, 66096, 66101, 66106,
+ 66111, 66117, 66122, 66127, 66132, 66136, 66140, 66145, 66149, 66154,
+ 66159, 66165, 66170, 66174, 66179, 66183, 66186, 66188, 66192, 66195,
+ 66200, 66204, 66208, 66212, 66216, 66225, 66229, 32531, 66232, 32536,
+ 66239, 66244, 32541, 66253, 66262, 32547, 66267, 32552, 66276, 66281,
+ 11578, 66285, 66290, 66295, 32557, 66299, 40203, 66303, 66306, 66310,
+ 8211, 66316, 66321, 66325, 3705, 32562, 66328, 66332, 66335, 66340,
+ 66344, 66350, 66358, 66371, 66380, 66386, 66391, 66397, 66401, 66407,
+ 66415, 66420, 66424, 66431, 66437, 66445, 66454, 66462, 32565, 66469,
+ 66479, 66488, 66501, 66506, 66511, 66520, 66526, 66533, 66544, 66556,
+ 66563, 66572, 66581, 66590, 66597, 66603, 66610, 66618, 66625, 66633,
+ 66642, 66650, 66657, 66665, 66674, 66682, 66691, 66701, 66710, 66718,
+ 66725, 66733, 66742, 66750, 66759, 66769, 66778, 66786, 66795, 66805,
+ 66814, 66824, 66835, 66845, 66854, 66862, 66869, 66877, 66886, 66894,
+ 66903, 66913, 66922, 66930, 66939, 66949, 66958, 66968, 66979, 66989,
+ 66998, 67006, 67015, 67025, 67034, 67044, 67055, 67065, 67074, 67084,
+ 67095, 67105, 67116, 67128, 67139, 67149, 67158, 67166, 67173, 67181,
+ 67190, 67198, 67207, 67217, 67226, 67234, 67243, 67253, 67262, 67272,
+ 67283, 67293, 67302, 67310, 67319, 67329, 67338, 67348, 67359, 67369,
+ 67378, 67388, 67399, 67409, 67420, 67432, 67443, 67453, 67462, 67470,
+ 67479, 67489, 67498, 67508, 67519, 67529, 67538, 67548, 67559, 67569,
+ 67580, 67592, 67603, 67613, 67622, 67632, 67643, 67653, 67664, 67676,
+ 67687, 67697, 67708, 67720, 67731, 67743, 67756, 67768, 67779, 67789,
+ 67798, 67806, 67813, 67821, 67830, 67838, 67847, 67857, 67866, 67874,
+ 67883, 67893, 67902, 67912, 67923, 67933, 67942, 67950, 67959, 67969,
+ 67978, 67988, 67999, 68009, 68018, 68028, 68039, 68049, 68060, 68072,
+ 68083, 68093, 68102, 68110, 68119, 68129, 68138, 68148, 68159, 68169,
+ 68178, 68188, 68199, 68209, 68220, 68232, 68243, 68253, 68262, 68272,
+ 68283, 68293, 68304, 68316, 68327, 68337, 68348, 68360, 68371, 68383,
+ 68396, 68408, 68419, 68429, 68438, 68446, 68455, 68465, 68474, 68484,
+ 68495, 68505, 68514, 68524, 68535, 68545, 68556, 68568, 68579, 68589,
+ 68598, 68608, 68619, 68629, 68640, 68652, 68663, 68673, 68684, 68696,
+ 68707, 68719, 68732, 68744, 68755, 68765, 68774, 68784, 68795, 68805,
+ 68816, 68828, 68839, 68849, 68860, 68872, 68883, 68895, 68908, 68920,
+ 68931, 68941, 68952, 68964, 68975, 68987, 69000, 69012, 69023, 69035,
+ 69048, 69060, 69073, 69087, 69100, 69112, 69123, 69133, 69142, 69150,
+ 69157, 69162, 8058, 69169, 32575, 69174, 69179, 32580, 69185, 20923,
+ 32585, 69190, 69196, 69204, 69210, 69216, 69223, 69230, 69235, 69239,
+ 69242, 69246, 69255, 69261, 69273, 69284, 69288, 3081, 8033, 69293,
+ 69296, 69298, 69302, 69306, 69310, 69316, 69321, 25934, 69326, 69330,
+ 69333, 69338, 69342, 69349, 69355, 69359, 6170, 69363, 32602, 69368,
+ 69375, 69384, 69392, 69403, 69411, 69419, 69426, 69433, 69439, 69450,
+ 32607, 69455, 69466, 69478, 69486, 69497, 69506, 69517, 69522, 69530,
+ 2556, 69535, 34277, 69548, 69552, 69564, 69572, 69577, 69585, 17479,
+ 69596, 69602, 69609, 69617, 69623, 32617, 69628, 3914, 58224, 69635,
+ 69638, 69646, 69659, 69672, 69685, 69698, 69705, 69716, 69725, 41694,
+ 41699, 69730, 69734, 69742, 69749, 69758, 69766, 69772, 69781, 69789,
+ 69797, 69801, 69810, 69819, 69829, 69842, 69855, 69865, 32622, 69871,
+ 69878, 69884, 32628, 69889, 69892, 69896, 69904, 69913, 41432, 69921,
+ 69930, 69938, 69945, 69953, 69963, 69972, 69981, 69990, 69998, 70009,
+ 70019, 9366, 21561, 70028, 70033, 70038, 70042, 70046, 70051, 70057,
+ 70062, 70067, 70073, 70078, 70083, 21526, 70088, 70095, 70103, 70111,
+ 70116, 70123, 70130, 70135, 70139, 70143, 70151, 70159, 32645, 70165,
+ 70171, 70183, 70189, 70193, 70200, 70205, 70216, 70226, 70236, 70248,
+ 70254, 70264, 70274, 32672, 70283, 70292, 70298, 70310, 70321, 70328,
+ 70333, 70337, 70345, 70351, 70356, 70361, 70368, 70376, 70388, 70398,
+ 70407, 70416, 70423, 34139, 23841, 70429, 70434, 70438, 70442, 70447,
+ 70453, 70464, 70477, 70482, 70489, 32677, 70494, 70506, 70515, 70525,
+ 70536, 70549, 70556, 70565, 70574, 70582, 70587, 70593, 1064, 70598,
+ 70603, 70608, 70613, 70619, 70624, 70629, 70635, 70641, 70646, 70650,
+ 70655, 70660, 70665, 58736, 70670, 70675, 70680, 70685, 70691, 70697,
+ 70702, 70706, 70711, 70716, 70721, 70727, 70732, 70738, 70743, 70748,
+ 70753, 70758, 70762, 70768, 70773, 70782, 70787, 70792, 70797, 70802,
+ 70806, 70813, 70819, 17129, 17136, 70824, 70828, 70832, 70836, 70840,
+ 45494, 70844, 70774, 70846, 70856, 32686, 70859, 70868, 70874, 6143,
+ 32691, 70878, 70884, 70889, 70895, 70900, 70904, 70911, 70916, 70926,
+ 70935, 70939, 70945, 70951, 70957, 70961, 70969, 70976, 70984, 70992,
+ 32696, 70999, 71002, 71009, 71015, 71020, 71024, 71030, 71037, 71042,
+ 71046, 71055, 71063, 71069, 71074, 32701, 71081, 71088, 71094, 71099,
+ 71105, 71112, 71118, 21288, 27445, 71124, 71129, 71135, 71147, 70807,
+ 70814, 21464, 71157, 71162, 71169, 71175, 71182, 71188, 71199, 71204,
+ 9110, 71212, 71215, 71221, 71225, 71229, 71232, 71238, 32450, 6194, 964,
+ 13419, 71245, 71251, 71257, 71263, 71269, 71275, 71281, 71287, 71293,
+ 71298, 71303, 71308, 71313, 71318, 71323, 71328, 71333, 71338, 71343,
+ 71348, 71353, 71358, 71364, 71369, 71374, 71380, 71385, 71390, 71396,
+ 71402, 71408, 71414, 71420, 71426, 71432, 71438, 71444, 71449, 71454,
+ 71460, 71465, 71470, 71476, 71481, 71486, 71491, 71496, 71501, 71506,
+ 71511, 71516, 71521, 71526, 71531, 71536, 71542, 71547, 71552, 71557,
+ 71563, 71568, 71573, 71578, 71583, 71589, 71594, 71599, 71604, 71609,
+ 71614, 71619, 71624, 71629, 71634, 71639, 71644, 71649, 71654, 71659,
+ 71664, 71669, 71674, 71679, 71684, 71690, 71695, 71700, 71705, 71710,
+ 71715, 71720, 71725, 1864, 142, 71730, 71734, 71738, 71743, 71751, 71755,
+ 71762, 71770, 71774, 71787, 71795, 71799, 71802, 71807, 71811, 71816,
+ 71820, 71828, 71832, 20931, 71837, 71841, 60937, 71845, 71848, 71856,
+ 71864, 71872, 71877, 71884, 71890, 71896, 71901, 71908, 71913, 71921,
+ 64913, 71928, 71933, 71938, 71942, 11645, 71946, 71951, 71956, 71960,
+ 71963, 71969, 71973, 71983, 71992, 71995, 71999, 72006, 72019, 72025,
+ 72033, 72044, 72055, 72066, 72077, 72086, 72092, 72101, 72109, 72119,
+ 72132, 72139, 72150, 72156, 72161, 72166, 72172, 72178, 72188, 72197,
+ 70496, 72205, 72211, 72219, 72225, 72233, 72236, 72240, 72244, 72247,
+ 72253, 72259, 72267, 72279, 72291, 72298, 72302, 72313, 72321, 72328,
+ 72340, 72348, 72356, 72363, 72369, 72379, 72388, 72393, 72403, 72412,
+ 40758, 72419, 72423, 72428, 72436, 72443, 72449, 72453, 72463, 72474,
+ 72482, 72489, 72501, 72513, 72522, 69538, 72529, 72540, 72554, 72562,
+ 72572, 72579, 72587, 72599, 72608, 72616, 72626, 72637, 72649, 72658,
+ 72668, 72675, 72684, 72699, 72707, 72717, 72726, 72734, 72747, 72762,
+ 72766, 72775, 72787, 72798, 72809, 72820, 72830, 72841, 72849, 72855,
+ 72865, 72873, 72879, 29014, 72884, 72890, 72895, 72902, 9708, 17499,
+ 72908, 72917, 72922, 72926, 72933, 72939, 72944, 72949, 72957, 72965,
+ 72969, 72972, 72975, 72977, 72984, 72990, 73001, 73006, 73010, 73017,
+ 73023, 73028, 73036, 65412, 65422, 73042, 73049, 73059, 10618, 73066,
+ 73071, 29210, 73080, 73085, 73092, 73102, 73110, 73118, 73127, 73133,
+ 73139, 73146, 73153, 73158, 73162, 73170, 73175, 73180, 73188, 73195,
+ 73200, 73206, 73209, 73213, 73222, 71782, 73231, 73235, 73241, 73252,
+ 73262, 17508, 73273, 73281, 17520, 73288, 73292, 73301, 27331, 73308,
+ 73312, 73317, 73334, 73346, 10576, 73358, 73363, 73368, 73373, 21004,
+ 73377, 73382, 73387, 73393, 73398, 5846, 21008, 73403, 73408, 73414,
+ 73421, 73426, 73431, 73437, 73443, 73449, 73454, 73460, 73464, 73478,
+ 73486, 73494, 73500, 73505, 73512, 73522, 73531, 73536, 73541, 73549,
+ 73554, 73560, 73565, 73574, 59793, 73579, 73582, 73600, 73619, 73632,
+ 73646, 73662, 73669, 73676, 73682, 73689, 73694, 73700, 73706, 73714,
+ 73720, 73725, 73730, 73746, 10589, 73760, 73767, 73775, 73781, 73785,
+ 73788, 73793, 73798, 73805, 73810, 73819, 73824, 73830, 73839, 73848,
+ 73853, 73857, 73865, 73874, 11674, 73883, 73891, 73896, 73902, 11685,
+ 73907, 73910, 73915, 73925, 73934, 73939, 73945, 73950, 73958, 73965,
+ 73976, 73986, 73991, 64841, 73996, 74002, 74007, 74014, 74023, 74031,
+ 74037, 74043, 74050, 74056, 74060, 16954, 3055, 74065, 74069, 74073,
+ 74079, 74088, 74094, 74101, 74105, 74126, 74148, 74164, 74181, 74200,
+ 74209, 74219, 74226, 74233, 27218, 74239, 74243, 74251, 74263, 74269,
+ 74277, 74281, 74289, 74296, 74300, 74306, 74312, 74317, 3563, 41894,
+ 74323, 74327, 74331, 74335, 74340, 74345, 74350, 74356, 74362, 74368,
+ 74375, 74381, 74388, 74394, 74400, 74405, 74411, 74416, 74420, 74425,
+ 74429, 74434, 41909, 74438, 74443, 74451, 74455, 74460, 74467, 74476,
+ 74482, 74486, 74493, 74497, 74500, 74507, 74516, 74521, 74525, 74533,
+ 74542, 74546, 74554, 74560, 74565, 74570, 74576, 74582, 74587, 74591,
+ 74597, 74602, 74606, 74610, 74613, 74618, 74626, 74636, 74641, 39394,
+ 74649, 74661, 74665, 74671, 74683, 74694, 74701, 74707, 74714, 74726,
+ 74733, 74739, 21082, 74743, 74749, 74756, 74762, 74768, 74773, 74778,
+ 74783, 74792, 7033, 74797, 16420, 74803, 74807, 74811, 74815, 74823,
+ 74832, 74836, 74843, 74852, 74865, 74871, 74430, 30074, 74876, 74878,
+ 74883, 74888, 74893, 74898, 74903, 74908, 74913, 74918, 74923, 74928,
+ 74933, 74938, 74943, 74948, 74954, 74959, 74964, 74969, 74974, 74979,
+ 74984, 74989, 74994, 75000, 75006, 75012, 75017, 75022, 75034, 75039,
+ 1870, 49, 75044, 75049, 32728, 75053, 32733, 32738, 32744, 32749, 75057,
+ 32754, 22077, 75079, 75083, 75087, 75092, 75096, 32758, 75100, 75108,
+ 32763, 75115, 75118, 75123, 75127, 9543, 75136, 32768, 21939, 75139,
+ 75143, 1428, 75148, 32779, 75151, 75156, 25727, 25737, 35240, 75161,
+ 75166, 75171, 75176, 75182, 75187, 75196, 75201, 75208, 75214, 75219,
+ 75224, 75229, 75239, 75248, 75253, 75261, 75265, 75273, 32593, 37295,
+ 75280, 75286, 75291, 75296, 12016, 75301, 75307, 75312, 75319, 75325,
+ 75330, 75338, 75348, 75358, 75364, 75369, 75375, 17530, 75382, 36055,
+ 75395, 75400, 75406, 30975, 75419, 75425, 75429, 75438, 75445, 75451,
+ 75459, 75468, 75475, 75481, 75484, 75488, 25868, 75492, 75499, 75505,
+ 75513, 75518, 23984, 75524, 75527, 75535, 75543, 75557, 75564, 75570,
+ 75577, 75583, 32793, 75587, 75594, 75602, 75610, 75616, 32798, 75624,
+ 75630, 75635, 75645, 75651, 75660, 30812, 34698, 75668, 75673, 75678,
+ 75682, 75687, 75691, 75699, 14914, 39407, 75704, 75709, 32803, 62239,
+ 75713, 75718, 75722, 75731, 75739, 75745, 75750, 75756, 75763, 75769,
+ 75774, 75779, 75788, 75800, 75815, 33065, 75821, 16539, 32807, 75825,
+ 75832, 24094, 75838, 75845, 75854, 75861, 75870, 75876, 75881, 75889,
+ 75895, 32817, 75900, 75909, 74689, 75918, 75925, 75931, 75937, 75947,
+ 75955, 75962, 75966, 32822, 75969, 32828, 32834, 75974, 75982, 75990,
+ 76000, 76009, 76017, 76024, 76034, 32839, 76038, 76040, 76044, 76049,
+ 76053, 76057, 76063, 76068, 76072, 76083, 76088, 76093, 3060, 76097,
+ 76104, 76108, 76117, 76125, 76132, 76137, 76142, 62285, 76146, 76149,
+ 76155, 76163, 76169, 76173, 76178, 76185, 76190, 76196, 34729, 76201,
+ 76204, 76209, 76213, 76218, 76223, 76227, 76235, 76239, 25746, 25755,
+ 76245, 76251, 76257, 76262, 76266, 76269, 76279, 76288, 76293, 76299,
+ 76306, 76312, 76316, 76324, 76329, 34735, 76333, 76341, 76347, 76354,
+ 76359, 76363, 76368, 58410, 34741, 76374, 76379, 76383, 76388, 76393,
+ 76398, 76402, 76407, 76412, 76418, 76423, 76428, 76434, 76440, 76445,
+ 76449, 76454, 76459, 76464, 76468, 24093, 76473, 76478, 76484, 76490,
+ 76496, 76501, 76505, 76510, 76515, 76520, 76524, 76529, 76534, 76539,
+ 76544, 76548, 32847, 76556, 76560, 76568, 76576, 76587, 76592, 76596,
+ 22391, 76601, 76607, 76617, 76624, 76629, 76638, 76643, 76647, 76652,
+ 76660, 76668, 76675, 65075, 76681, 76689, 76696, 76707, 76713, 76717,
+ 76723, 32857, 76726, 76733, 76741, 76746, 39598, 76750, 76755, 76762,
+ 76767, 8992, 76771, 76779, 76786, 76793, 76799, 76813, 63347, 76821,
+ 76827, 76831, 76834, 76842, 76849, 76854, 76867, 76874, 76878, 76885,
+ 76890, 60830, 76895, 76898, 76905, 76911, 76915, 76923, 76932, 76942,
+ 76952, 76961, 76969, 76980, 76985, 76989, 76994, 76998, 35371, 77006,
+ 21351, 35380, 77011, 77016, 77021, 77026, 77031, 77036, 77041, 77045,
+ 77050, 77055, 77060, 77065, 77070, 77075, 77079, 77084, 77089, 77093,
+ 77097, 77101, 77105, 77110, 77115, 77119, 77124, 77128, 77132, 77137,
+ 77142, 77147, 77152, 77156, 77161, 77166, 77170, 77175, 77180, 77185,
+ 77190, 77195, 77200, 77205, 77210, 77215, 77220, 77225, 77230, 77235,
+ 77240, 77245, 77250, 77255, 77260, 77265, 77270, 77274, 77279, 77284,
+ 77289, 77294, 77299, 77304, 77309, 77314, 77319, 77324, 77329, 77333,
+ 77338, 77342, 77347, 77352, 77357, 77362, 77367, 77372, 77377, 77382,
+ 77387, 77391, 77395, 77400, 77405, 77409, 77414, 77419, 77423, 77428,
+ 77433, 77438, 77443, 77447, 77452, 77457, 77461, 77466, 77470, 77474,
+ 77478, 77482, 77487, 77491, 77495, 77499, 77503, 77507, 77511, 77515,
+ 77519, 77523, 77528, 77533, 77538, 77543, 77548, 77553, 77558, 77563,
+ 77568, 77573, 77577, 77581, 77585, 77589, 77593, 77597, 77602, 77606,
+ 77611, 77615, 77620, 77625, 77629, 77633, 77638, 77642, 77646, 77650,
+ 77654, 77658, 77662, 77666, 77670, 77674, 77678, 77682, 77686, 77690,
+ 77694, 77699, 77704, 77708, 77712, 77716, 77720, 77724, 77728, 77733,
+ 77737, 77741, 77745, 77749, 77753, 77757, 77762, 77766, 77771, 77775,
+ 77779, 77783, 77787, 77791, 77795, 77799, 77803, 77807, 77811, 77815,
+ 77820, 77824, 77828, 77832, 77836, 77840, 77844, 77848, 77852, 77856,
+ 77860, 77864, 77869, 77873, 77877, 77882, 77887, 77891, 77895, 77899,
+ 77903, 77907, 77911, 77915, 77919, 77924, 77928, 77933, 77937, 77942,
+ 77946, 77951, 77955, 77961, 77966, 77970, 77975, 77979, 77984, 77988,
+ 77993, 77997, 78002, 1521, 78006, 2824, 1759, 1764, 78010, 78014, 2828,
+ 78018, 1397, 78023, 1342, 78027, 2840, 78031, 78038, 78045, 78059, 2844,
+ 7131, 78068, 78076, 78083, 78094, 78103, 78110, 78122, 78135, 78148,
+ 78159, 78164, 78171, 78183, 78187, 2848, 11747, 78197, 78202, 78211,
+ 78221, 2852, 78226, 78230, 78235, 78242, 78248, 78256, 78268, 1347,
+ 13042, 78278, 78282, 78288, 78302, 78314, 78326, 78336, 78345, 78354,
+ 78363, 78371, 78382, 78390, 4051, 78400, 78411, 78420, 78426, 78441,
+ 78448, 78454, 35496, 78459, 2876, 13046, 78463, 78470, 8930, 78479, 2881,
+ 32343, 78485, 60579, 78492, 78498, 78509, 78515, 78522, 78528, 78536,
+ 78543, 78549, 78559, 78568, 78579, 78586, 78592, 78602, 78610, 78616,
+ 78631, 78637, 78642, 78649, 78652, 78658, 78665, 78671, 78679, 78688,
+ 78696, 78702, 78711, 41434, 78725, 78730, 78736, 14751, 78741, 78754,
+ 78763, 78771, 78778, 78782, 78786, 78789, 78796, 78803, 78811, 78819,
+ 78828, 78836, 14678, 78844, 78849, 78853, 78865, 78872, 78881, 748,
+ 78891, 78900, 78911, 2897, 78915, 78919, 78925, 78938, 78950, 78960,
+ 78969, 78981, 26359, 78992, 79000, 79009, 79020, 79031, 79041, 79051,
+ 79060, 79068, 11312, 79075, 79079, 79082, 79087, 79092, 79096, 79102,
+ 1352, 11818, 79109, 79120, 79129, 79137, 79146, 79154, 79170, 79181,
+ 79190, 79198, 79210, 79221, 79237, 79247, 79268, 79281, 79289, 79296,
+ 14862, 79309, 79314, 79320, 5908, 79326, 79329, 79336, 79346, 8176,
+ 79353, 79358, 79363, 79368, 79376, 79385, 79393, 9756, 9765, 79398,
+ 79409, 79414, 79420, 2913, 2918, 79426, 10879, 79432, 79439, 79446,
+ 79459, 2251, 68, 79464, 79469, 79479, 79485, 79494, 79502, 79512, 79516,
+ 79521, 79525, 79537, 2941, 79545, 79553, 79558, 79569, 79580, 79589,
+ 79594, 79600, 79605, 79615, 79625, 79630, 79636, 79641, 79650, 21404,
+ 79654, 4128, 20, 79659, 79668, 79675, 79682, 79688, 79694, 864, 79699,
+ 79704, 60907, 79709, 79714, 79720, 79726, 79734, 79739, 79746, 79752,
+ 79757, 38008, 41328, 79763, 2945, 32, 79773, 79786, 79791, 79799, 79804,
+ 79810, 2967, 28296, 79815, 79823, 79830, 79835, 58652, 61910, 79844,
+ 79848, 1704, 1813, 79853, 79858, 79865, 1817, 247, 79872, 79878, 2989,
+ 79883, 79888, 79895, 1821, 79900, 79906, 79911, 79923, 6119, 79933, 1828,
+ 79939, 79944, 79951, 79958, 79973, 79980, 79991, 79999, 2618, 80003,
+ 80015, 80020, 80024, 80030, 28121, 2256, 80034, 80045, 80049, 80053,
+ 80059, 80063, 80072, 80076, 80087, 80091, 2302, 32172, 80095, 80105,
+ 3080, 9371, 80113, 80118, 80122, 80131, 80138, 80144, 3050, 17146, 80148,
+ 80161, 80179, 80184, 80192, 80200, 80210, 9985, 13154, 80222, 80235,
+ 80242, 80249, 80265, 80272, 80278, 1059, 80285, 80292, 80302, 80311,
+ 80323, 42298, 80331, 3064, 12030, 80334, 80342, 80346, 78238, 3068,
+ 80350, 21185, 12046, 3756, 80354, 3074, 80358, 80368, 80374, 80380,
+ 80386, 80392, 80398, 80404, 80410, 80416, 80422, 80428, 80434, 80440,
+ 80446, 80452, 80458, 80464, 80470, 80476, 80482, 80488, 80494, 80500,
+ 80506, 80512, 80518, 80525, 80532, 80538, 80544, 80550, 80556, 80562,
+ 80568, 1357, 16056, 12068, 80574, 80579, 80584, 80589, 80594, 80599,
+ 80604, 80609, 80614, 80619, 80624, 80629, 80634, 80639, 80644, 80649,
+ 80654, 80659, 80664, 80669, 80674, 80679, 80684, 80689, 80694, 80699,
+ 80705, 80710, 80715, 80721, 80726, 80732, 80737, 80742, 80748, 80753,
+ 80758, 80763, 80768, 80773, 80778, 80783, 80788, 80369, 80375, 80381,
+ 80387, 80393, 80399, 80405, 80411, 80417, 80423, 80429, 80435, 80441,
+ 80447, 80453, 80794, 80459, 80465, 80471, 80800, 80477, 80483, 80489,
+ 80495, 80501, 80507, 80513, 80533, 80806, 80812, 80539, 80818, 80545,
+ 80551, 80557, 80563, 80569, 3091, 3096, 80824, 80829, 80832, 80838,
+ 80844, 80851, 80856, 80861, 2307,
};
/* code->name phrasebook */
#define phrasebook_shift 7
#define phrasebook_short 209
static unsigned char phrasebook[] = {
- 0, 219, 18, 245, 31, 78, 223, 254, 78, 54, 50, 247, 132, 50, 225, 182,
- 50, 254, 126, 254, 57, 43, 226, 3, 44, 226, 3, 253, 216, 96, 50, 249,
- 219, 240, 167, 243, 229, 218, 129, 219, 46, 21, 210, 86, 21, 110, 21,
+ 0, 219, 19, 245, 32, 78, 223, 255, 78, 54, 50, 247, 133, 50, 225, 183,
+ 50, 254, 127, 254, 58, 43, 226, 4, 44, 226, 4, 253, 217, 96, 50, 249,
+ 220, 240, 168, 243, 230, 218, 130, 219, 47, 21, 210, 86, 21, 110, 21,
105, 21, 158, 21, 161, 21, 189, 21, 194, 21, 198, 21, 195, 21, 200, 249,
- 226, 220, 150, 233, 15, 50, 245, 98, 50, 242, 130, 50, 224, 13, 78, 249,
- 217, 253, 206, 7, 6, 1, 61, 7, 6, 1, 253, 158, 7, 6, 1, 251, 66, 7, 6, 1,
- 249, 60, 7, 6, 1, 75, 7, 6, 1, 245, 6, 7, 6, 1, 243, 202, 7, 6, 1, 242,
- 60, 7, 6, 1, 73, 7, 6, 1, 235, 144, 7, 6, 1, 235, 23, 7, 6, 1, 156, 7, 6,
- 1, 193, 7, 6, 1, 230, 25, 7, 6, 1, 76, 7, 6, 1, 226, 105, 7, 6, 1, 224,
- 96, 7, 6, 1, 153, 7, 6, 1, 222, 91, 7, 6, 1, 217, 152, 7, 6, 1, 70, 7, 6,
+ 227, 220, 151, 233, 16, 50, 245, 99, 50, 242, 131, 50, 224, 14, 78, 249,
+ 218, 253, 207, 7, 6, 1, 61, 7, 6, 1, 253, 159, 7, 6, 1, 251, 67, 7, 6, 1,
+ 249, 61, 7, 6, 1, 75, 7, 6, 1, 245, 7, 7, 6, 1, 243, 203, 7, 6, 1, 242,
+ 61, 7, 6, 1, 73, 7, 6, 1, 235, 145, 7, 6, 1, 235, 24, 7, 6, 1, 156, 7, 6,
+ 1, 193, 7, 6, 1, 230, 26, 7, 6, 1, 76, 7, 6, 1, 226, 106, 7, 6, 1, 224,
+ 97, 7, 6, 1, 153, 7, 6, 1, 222, 92, 7, 6, 1, 217, 153, 7, 6, 1, 70, 7, 6,
1, 214, 105, 7, 6, 1, 212, 98, 7, 6, 1, 211, 178, 7, 6, 1, 211, 117, 7,
- 6, 1, 210, 159, 43, 42, 127, 223, 50, 219, 46, 44, 42, 127, 250, 31, 255,
- 14, 121, 232, 213, 242, 137, 255, 14, 7, 4, 1, 61, 7, 4, 1, 253, 158, 7,
- 4, 1, 251, 66, 7, 4, 1, 249, 60, 7, 4, 1, 75, 7, 4, 1, 245, 6, 7, 4, 1,
- 243, 202, 7, 4, 1, 242, 60, 7, 4, 1, 73, 7, 4, 1, 235, 144, 7, 4, 1, 235,
- 23, 7, 4, 1, 156, 7, 4, 1, 193, 7, 4, 1, 230, 25, 7, 4, 1, 76, 7, 4, 1,
- 226, 105, 7, 4, 1, 224, 96, 7, 4, 1, 153, 7, 4, 1, 222, 91, 7, 4, 1, 217,
- 152, 7, 4, 1, 70, 7, 4, 1, 214, 105, 7, 4, 1, 212, 98, 7, 4, 1, 211, 178,
- 7, 4, 1, 211, 117, 7, 4, 1, 210, 159, 43, 249, 99, 127, 67, 232, 213, 44,
- 249, 99, 127, 182, 228, 73, 219, 18, 235, 193, 245, 31, 78, 250, 176, 50,
- 224, 228, 50, 249, 98, 50, 211, 40, 50, 251, 135, 130, 221, 173, 50, 248,
- 1, 249, 163, 50, 244, 136, 226, 154, 235, 238, 233, 42, 52, 254, 110,
- 223, 254, 78, 228, 52, 50, 219, 52, 240, 168, 223, 102, 50, 231, 232,
- 248, 71, 50, 225, 21, 50, 218, 23, 105, 218, 23, 158, 255, 3, 255, 14,
- 230, 228, 50, 225, 68, 50, 230, 224, 247, 120, 250, 183, 218, 23, 110,
- 231, 148, 226, 154, 235, 238, 222, 247, 52, 254, 110, 223, 254, 78, 212,
- 114, 244, 2, 123, 224, 21, 212, 114, 244, 2, 123, 242, 27, 212, 114, 244,
- 2, 134, 224, 19, 235, 193, 224, 13, 78, 7, 6, 1, 115, 2, 242, 136, 7, 6,
- 1, 115, 2, 142, 7, 6, 1, 115, 2, 250, 30, 7, 6, 1, 115, 2, 182, 7, 6, 1,
- 115, 2, 248, 1, 7, 6, 1, 115, 2, 222, 234, 48, 7, 6, 1, 254, 243, 7, 6,
- 1, 251, 67, 2, 250, 183, 7, 6, 1, 160, 2, 242, 136, 7, 6, 1, 160, 2, 142,
- 7, 6, 1, 160, 2, 250, 30, 7, 6, 1, 160, 2, 248, 1, 7, 6, 1, 240, 154, 2,
- 242, 136, 7, 6, 1, 240, 154, 2, 142, 7, 6, 1, 240, 154, 2, 250, 30, 7, 6,
- 1, 240, 154, 2, 248, 1, 7, 6, 1, 245, 59, 7, 6, 1, 230, 26, 2, 182, 7, 6,
- 1, 144, 2, 242, 136, 7, 6, 1, 144, 2, 142, 7, 6, 1, 144, 2, 250, 30, 7,
- 6, 1, 144, 2, 182, 7, 6, 1, 144, 2, 248, 1, 230, 84, 50, 7, 6, 1, 144, 2,
- 91, 7, 6, 1, 104, 2, 242, 136, 7, 6, 1, 104, 2, 142, 7, 6, 1, 104, 2,
- 250, 30, 7, 6, 1, 104, 2, 248, 1, 7, 6, 1, 211, 118, 2, 142, 7, 6, 1,
- 216, 151, 7, 4, 1, 220, 76, 222, 91, 7, 4, 1, 115, 2, 242, 136, 7, 4, 1,
- 115, 2, 142, 7, 4, 1, 115, 2, 250, 30, 7, 4, 1, 115, 2, 182, 7, 4, 1,
- 115, 2, 248, 1, 7, 4, 1, 115, 2, 222, 234, 48, 7, 4, 1, 254, 243, 7, 4,
- 1, 251, 67, 2, 250, 183, 7, 4, 1, 160, 2, 242, 136, 7, 4, 1, 160, 2, 142,
- 7, 4, 1, 160, 2, 250, 30, 7, 4, 1, 160, 2, 248, 1, 7, 4, 1, 240, 154, 2,
- 242, 136, 7, 4, 1, 240, 154, 2, 142, 7, 4, 1, 240, 154, 2, 250, 30, 7, 4,
- 1, 240, 154, 2, 248, 1, 7, 4, 1, 245, 59, 7, 4, 1, 230, 26, 2, 182, 7, 4,
- 1, 144, 2, 242, 136, 7, 4, 1, 144, 2, 142, 7, 4, 1, 144, 2, 250, 30, 7,
- 4, 1, 144, 2, 182, 7, 4, 1, 144, 2, 248, 1, 247, 169, 50, 7, 4, 1, 144,
- 2, 91, 7, 4, 1, 104, 2, 242, 136, 7, 4, 1, 104, 2, 142, 7, 4, 1, 104, 2,
- 250, 30, 7, 4, 1, 104, 2, 248, 1, 7, 4, 1, 211, 118, 2, 142, 7, 4, 1,
- 216, 151, 7, 4, 1, 211, 118, 2, 248, 1, 7, 6, 1, 115, 2, 231, 232, 7, 4,
- 1, 115, 2, 231, 232, 7, 6, 1, 115, 2, 251, 146, 7, 4, 1, 115, 2, 251,
- 146, 7, 6, 1, 115, 2, 226, 224, 7, 4, 1, 115, 2, 226, 224, 7, 6, 1, 251,
- 67, 2, 142, 7, 4, 1, 251, 67, 2, 142, 7, 6, 1, 251, 67, 2, 250, 30, 7, 4,
- 1, 251, 67, 2, 250, 30, 7, 6, 1, 251, 67, 2, 59, 48, 7, 4, 1, 251, 67, 2,
- 59, 48, 7, 6, 1, 251, 67, 2, 250, 234, 7, 4, 1, 251, 67, 2, 250, 234, 7,
- 6, 1, 249, 61, 2, 250, 234, 7, 4, 1, 249, 61, 2, 250, 234, 7, 6, 1, 249,
- 61, 2, 91, 7, 4, 1, 249, 61, 2, 91, 7, 6, 1, 160, 2, 231, 232, 7, 4, 1,
- 160, 2, 231, 232, 7, 6, 1, 160, 2, 251, 146, 7, 4, 1, 160, 2, 251, 146,
- 7, 6, 1, 160, 2, 59, 48, 7, 4, 1, 160, 2, 59, 48, 7, 6, 1, 160, 2, 226,
- 224, 7, 4, 1, 160, 2, 226, 224, 7, 6, 1, 160, 2, 250, 234, 7, 4, 1, 160,
- 2, 250, 234, 7, 6, 1, 243, 203, 2, 250, 30, 7, 4, 1, 243, 203, 2, 250,
- 30, 7, 6, 1, 243, 203, 2, 251, 146, 7, 4, 1, 243, 203, 2, 251, 146, 7, 6,
- 1, 243, 203, 2, 59, 48, 7, 4, 1, 243, 203, 2, 59, 48, 7, 6, 1, 243, 203,
- 2, 250, 183, 7, 4, 1, 243, 203, 2, 250, 183, 7, 6, 1, 242, 61, 2, 250,
- 30, 7, 4, 1, 242, 61, 2, 250, 30, 7, 6, 1, 242, 61, 2, 91, 7, 4, 1, 242,
- 61, 2, 91, 7, 6, 1, 240, 154, 2, 182, 7, 4, 1, 240, 154, 2, 182, 7, 6, 1,
- 240, 154, 2, 231, 232, 7, 4, 1, 240, 154, 2, 231, 232, 7, 6, 1, 240, 154,
- 2, 251, 146, 7, 4, 1, 240, 154, 2, 251, 146, 7, 6, 1, 240, 154, 2, 226,
- 224, 7, 4, 1, 240, 154, 2, 226, 224, 7, 6, 1, 240, 154, 2, 59, 48, 7, 4,
- 1, 247, 119, 73, 7, 6, 27, 236, 31, 7, 4, 27, 236, 31, 7, 6, 1, 235, 145,
- 2, 250, 30, 7, 4, 1, 235, 145, 2, 250, 30, 7, 6, 1, 235, 24, 2, 250, 183,
- 7, 4, 1, 235, 24, 2, 250, 183, 7, 4, 1, 233, 239, 7, 6, 1, 233, 149, 2,
- 142, 7, 4, 1, 233, 149, 2, 142, 7, 6, 1, 233, 149, 2, 250, 183, 7, 4, 1,
- 233, 149, 2, 250, 183, 7, 6, 1, 233, 149, 2, 250, 234, 7, 4, 1, 233, 149,
- 2, 250, 234, 7, 6, 1, 233, 149, 2, 230, 224, 247, 120, 7, 4, 1, 233, 149,
- 2, 230, 224, 247, 120, 7, 6, 1, 233, 149, 2, 91, 7, 4, 1, 233, 149, 2,
- 91, 7, 6, 1, 230, 26, 2, 142, 7, 4, 1, 230, 26, 2, 142, 7, 6, 1, 230, 26,
- 2, 250, 183, 7, 4, 1, 230, 26, 2, 250, 183, 7, 6, 1, 230, 26, 2, 250,
- 234, 7, 4, 1, 230, 26, 2, 250, 234, 7, 4, 1, 230, 26, 224, 204, 251, 78,
- 254, 57, 7, 6, 1, 245, 138, 7, 4, 1, 245, 138, 7, 6, 1, 144, 2, 231, 232,
- 7, 4, 1, 144, 2, 231, 232, 7, 6, 1, 144, 2, 251, 146, 7, 4, 1, 144, 2,
- 251, 146, 7, 6, 1, 144, 2, 52, 142, 7, 4, 1, 144, 2, 52, 142, 7, 6, 27,
- 226, 234, 7, 4, 27, 226, 234, 7, 6, 1, 223, 224, 2, 142, 7, 4, 1, 223,
- 224, 2, 142, 7, 6, 1, 223, 224, 2, 250, 183, 7, 4, 1, 223, 224, 2, 250,
- 183, 7, 6, 1, 223, 224, 2, 250, 234, 7, 4, 1, 223, 224, 2, 250, 234, 7,
- 6, 1, 222, 92, 2, 142, 7, 4, 1, 222, 92, 2, 142, 7, 6, 1, 222, 92, 2,
- 250, 30, 7, 4, 1, 222, 92, 2, 250, 30, 7, 6, 1, 222, 92, 2, 250, 183, 7,
- 4, 1, 222, 92, 2, 250, 183, 7, 6, 1, 222, 92, 2, 250, 234, 7, 4, 1, 222,
- 92, 2, 250, 234, 7, 6, 1, 217, 153, 2, 250, 183, 7, 4, 1, 217, 153, 2,
- 250, 183, 7, 6, 1, 217, 153, 2, 250, 234, 7, 4, 1, 217, 153, 2, 250, 234,
- 7, 6, 1, 217, 153, 2, 91, 7, 4, 1, 217, 153, 2, 91, 7, 6, 1, 104, 2, 182,
- 7, 4, 1, 104, 2, 182, 7, 6, 1, 104, 2, 231, 232, 7, 4, 1, 104, 2, 231,
- 232, 7, 6, 1, 104, 2, 251, 146, 7, 4, 1, 104, 2, 251, 146, 7, 6, 1, 104,
- 2, 222, 234, 48, 7, 4, 1, 104, 2, 222, 234, 48, 7, 6, 1, 104, 2, 52, 142,
- 7, 4, 1, 104, 2, 52, 142, 7, 6, 1, 104, 2, 226, 224, 7, 4, 1, 104, 2,
- 226, 224, 7, 6, 1, 212, 99, 2, 250, 30, 7, 4, 1, 212, 99, 2, 250, 30, 7,
- 6, 1, 211, 118, 2, 250, 30, 7, 4, 1, 211, 118, 2, 250, 30, 7, 6, 1, 211,
- 118, 2, 248, 1, 7, 6, 1, 210, 160, 2, 142, 7, 4, 1, 210, 160, 2, 142, 7,
- 6, 1, 210, 160, 2, 59, 48, 7, 4, 1, 210, 160, 2, 59, 48, 7, 6, 1, 210,
- 160, 2, 250, 234, 7, 4, 1, 210, 160, 2, 250, 234, 7, 4, 1, 199, 222, 91,
- 7, 4, 1, 57, 2, 91, 7, 6, 1, 57, 2, 103, 7, 6, 1, 57, 2, 216, 11, 7, 4,
- 1, 57, 2, 216, 11, 7, 6, 1, 138, 194, 7, 4, 1, 138, 194, 7, 6, 1, 204,
- 76, 7, 6, 1, 251, 67, 2, 103, 7, 4, 1, 251, 67, 2, 103, 7, 6, 1, 254,
- 219, 249, 60, 7, 6, 1, 249, 61, 2, 103, 7, 6, 1, 249, 61, 2, 216, 11, 7,
- 4, 1, 249, 61, 2, 216, 11, 7, 4, 1, 215, 94, 248, 54, 7, 6, 1, 223, 49,
- 75, 7, 6, 1, 221, 195, 7, 6, 1, 204, 75, 7, 6, 1, 245, 7, 2, 103, 7, 4,
- 1, 245, 7, 2, 103, 7, 6, 1, 243, 203, 2, 103, 7, 6, 1, 243, 107, 7, 4, 1,
- 240, 201, 7, 6, 1, 235, 185, 7, 6, 1, 240, 154, 2, 91, 7, 6, 1, 235, 24,
- 2, 103, 7, 4, 1, 235, 24, 2, 103, 7, 4, 1, 233, 149, 2, 130, 7, 4, 1,
- 233, 100, 2, 91, 7, 6, 1, 215, 94, 193, 7, 6, 1, 230, 26, 2, 43, 103, 7,
- 4, 1, 230, 26, 2, 199, 44, 233, 36, 7, 6, 1, 144, 2, 230, 224, 182, 7, 6,
- 1, 144, 2, 240, 248, 7, 4, 1, 144, 2, 240, 248, 7, 6, 1, 226, 219, 7, 4,
- 1, 226, 219, 7, 6, 1, 226, 106, 2, 103, 7, 4, 1, 226, 106, 2, 103, 7, 1,
- 210, 214, 7, 6, 1, 138, 105, 7, 4, 1, 138, 105, 7, 6, 1, 245, 75, 7, 1,
- 223, 49, 245, 76, 232, 123, 7, 4, 1, 217, 153, 2, 226, 66, 103, 7, 6, 1,
- 217, 153, 2, 103, 7, 4, 1, 217, 153, 2, 103, 7, 6, 1, 217, 153, 2, 223,
- 55, 103, 7, 6, 1, 104, 2, 240, 248, 7, 4, 1, 104, 2, 240, 248, 7, 6, 1,
- 214, 157, 7, 6, 1, 214, 106, 2, 103, 7, 6, 1, 211, 118, 2, 103, 7, 4, 1,
- 211, 118, 2, 103, 7, 6, 1, 210, 160, 2, 91, 7, 4, 1, 210, 160, 2, 91, 7,
- 6, 1, 245, 8, 7, 6, 1, 245, 9, 223, 48, 7, 4, 1, 245, 9, 223, 48, 7, 4,
- 1, 245, 9, 2, 217, 77, 7, 1, 113, 2, 91, 7, 6, 1, 138, 189, 7, 4, 1, 138,
- 189, 7, 1, 235, 193, 242, 180, 218, 130, 2, 91, 7, 1, 211, 181, 7, 1,
- 248, 47, 250, 11, 7, 1, 233, 77, 250, 11, 7, 1, 254, 137, 250, 11, 7, 1,
- 223, 55, 250, 11, 7, 6, 1, 246, 40, 2, 250, 234, 7, 6, 1, 249, 61, 2, 4,
- 1, 210, 160, 2, 250, 234, 7, 4, 1, 246, 40, 2, 250, 234, 7, 6, 1, 232,
- 188, 7, 6, 1, 233, 149, 2, 4, 1, 235, 144, 7, 4, 1, 232, 188, 7, 6, 1,
- 228, 186, 7, 6, 1, 230, 26, 2, 4, 1, 235, 144, 7, 4, 1, 228, 186, 7, 6,
- 1, 115, 2, 250, 234, 7, 4, 1, 115, 2, 250, 234, 7, 6, 1, 240, 154, 2,
- 250, 234, 7, 4, 1, 240, 154, 2, 250, 234, 7, 6, 1, 144, 2, 250, 234, 7,
- 4, 1, 144, 2, 250, 234, 7, 6, 1, 104, 2, 250, 234, 7, 4, 1, 104, 2, 250,
- 234, 7, 6, 1, 104, 2, 248, 2, 22, 231, 232, 7, 4, 1, 104, 2, 248, 2, 22,
- 231, 232, 7, 6, 1, 104, 2, 248, 2, 22, 142, 7, 4, 1, 104, 2, 248, 2, 22,
- 142, 7, 6, 1, 104, 2, 248, 2, 22, 250, 234, 7, 4, 1, 104, 2, 248, 2, 22,
- 250, 234, 7, 6, 1, 104, 2, 248, 2, 22, 242, 136, 7, 4, 1, 104, 2, 248, 2,
- 22, 242, 136, 7, 4, 1, 215, 94, 75, 7, 6, 1, 115, 2, 248, 2, 22, 231,
- 232, 7, 4, 1, 115, 2, 248, 2, 22, 231, 232, 7, 6, 1, 115, 2, 59, 77, 22,
- 231, 232, 7, 4, 1, 115, 2, 59, 77, 22, 231, 232, 7, 6, 1, 254, 244, 2,
- 231, 232, 7, 4, 1, 254, 244, 2, 231, 232, 7, 6, 1, 243, 203, 2, 91, 7, 4,
- 1, 243, 203, 2, 91, 7, 6, 1, 243, 203, 2, 250, 234, 7, 4, 1, 243, 203, 2,
- 250, 234, 7, 6, 1, 235, 24, 2, 250, 234, 7, 4, 1, 235, 24, 2, 250, 234,
- 7, 6, 1, 144, 2, 226, 224, 7, 4, 1, 144, 2, 226, 224, 7, 6, 1, 144, 2,
- 226, 225, 22, 231, 232, 7, 4, 1, 144, 2, 226, 225, 22, 231, 232, 7, 6, 1,
- 245, 9, 2, 250, 234, 7, 4, 1, 245, 9, 2, 250, 234, 7, 4, 1, 235, 145, 2,
- 250, 234, 7, 6, 1, 246, 39, 7, 6, 1, 249, 61, 2, 4, 1, 210, 159, 7, 4, 1,
- 246, 39, 7, 6, 1, 243, 203, 2, 142, 7, 4, 1, 243, 203, 2, 142, 7, 6, 1,
- 240, 199, 7, 6, 1, 211, 181, 7, 6, 1, 230, 26, 2, 242, 136, 7, 4, 1, 230,
- 26, 2, 242, 136, 7, 6, 1, 115, 2, 222, 234, 77, 22, 142, 7, 4, 1, 115, 2,
- 222, 234, 77, 22, 142, 7, 6, 1, 254, 244, 2, 142, 7, 4, 1, 254, 244, 2,
- 142, 7, 6, 1, 144, 2, 218, 103, 22, 142, 7, 4, 1, 144, 2, 218, 103, 22,
- 142, 7, 6, 1, 115, 2, 52, 242, 136, 7, 4, 1, 115, 2, 52, 242, 136, 7, 6,
- 1, 115, 2, 235, 193, 251, 146, 7, 4, 1, 115, 2, 235, 193, 251, 146, 7, 6,
- 1, 160, 2, 52, 242, 136, 7, 4, 1, 160, 2, 52, 242, 136, 7, 6, 1, 160, 2,
- 235, 193, 251, 146, 7, 4, 1, 160, 2, 235, 193, 251, 146, 7, 6, 1, 240,
- 154, 2, 52, 242, 136, 7, 4, 1, 240, 154, 2, 52, 242, 136, 7, 6, 1, 240,
- 154, 2, 235, 193, 251, 146, 7, 4, 1, 240, 154, 2, 235, 193, 251, 146, 7,
- 6, 1, 144, 2, 52, 242, 136, 7, 4, 1, 144, 2, 52, 242, 136, 7, 6, 1, 144,
- 2, 235, 193, 251, 146, 7, 4, 1, 144, 2, 235, 193, 251, 146, 7, 6, 1, 223,
- 224, 2, 52, 242, 136, 7, 4, 1, 223, 224, 2, 52, 242, 136, 7, 6, 1, 223,
- 224, 2, 235, 193, 251, 146, 7, 4, 1, 223, 224, 2, 235, 193, 251, 146, 7,
- 6, 1, 104, 2, 52, 242, 136, 7, 4, 1, 104, 2, 52, 242, 136, 7, 6, 1, 104,
- 2, 235, 193, 251, 146, 7, 4, 1, 104, 2, 235, 193, 251, 146, 7, 6, 1, 222,
- 92, 2, 249, 220, 51, 7, 4, 1, 222, 92, 2, 249, 220, 51, 7, 6, 1, 217,
- 153, 2, 249, 220, 51, 7, 4, 1, 217, 153, 2, 249, 220, 51, 7, 6, 1, 210,
- 231, 7, 4, 1, 210, 231, 7, 6, 1, 242, 61, 2, 250, 234, 7, 4, 1, 242, 61,
- 2, 250, 234, 7, 6, 1, 230, 26, 2, 199, 44, 233, 36, 7, 4, 1, 249, 61, 2,
- 249, 100, 7, 6, 1, 226, 134, 7, 4, 1, 226, 134, 7, 6, 1, 210, 160, 2,
- 103, 7, 4, 1, 210, 160, 2, 103, 7, 6, 1, 115, 2, 59, 48, 7, 4, 1, 115, 2,
- 59, 48, 7, 6, 1, 160, 2, 250, 183, 7, 4, 1, 160, 2, 250, 183, 7, 6, 1,
- 144, 2, 248, 2, 22, 231, 232, 7, 4, 1, 144, 2, 248, 2, 22, 231, 232, 7,
- 6, 1, 144, 2, 216, 89, 22, 231, 232, 7, 4, 1, 144, 2, 216, 89, 22, 231,
- 232, 7, 6, 1, 144, 2, 59, 48, 7, 4, 1, 144, 2, 59, 48, 7, 6, 1, 144, 2,
- 59, 77, 22, 231, 232, 7, 4, 1, 144, 2, 59, 77, 22, 231, 232, 7, 6, 1,
- 211, 118, 2, 231, 232, 7, 4, 1, 211, 118, 2, 231, 232, 7, 4, 1, 233, 149,
- 2, 249, 100, 7, 4, 1, 230, 26, 2, 249, 100, 7, 4, 1, 217, 153, 2, 249,
- 100, 7, 4, 1, 247, 119, 235, 144, 7, 4, 1, 248, 143, 247, 220, 7, 4, 1,
- 224, 31, 247, 220, 7, 6, 1, 115, 2, 91, 7, 6, 1, 251, 67, 2, 91, 7, 4, 1,
- 251, 67, 2, 91, 7, 6, 1, 233, 149, 2, 130, 7, 6, 1, 217, 153, 2, 247,
- 255, 91, 7, 4, 1, 222, 92, 2, 217, 250, 217, 77, 7, 4, 1, 210, 160, 2,
- 217, 250, 217, 77, 7, 6, 1, 242, 180, 218, 129, 7, 4, 1, 242, 180, 218,
- 129, 7, 6, 1, 57, 2, 91, 7, 6, 1, 104, 130, 7, 6, 1, 215, 94, 214, 105,
- 7, 6, 1, 160, 2, 91, 7, 4, 1, 160, 2, 91, 7, 6, 1, 235, 145, 2, 91, 7, 4,
- 1, 235, 145, 2, 91, 7, 6, 1, 4, 224, 97, 2, 241, 52, 217, 77, 7, 4, 1,
- 224, 97, 2, 241, 52, 217, 77, 7, 6, 1, 223, 224, 2, 91, 7, 4, 1, 223,
- 224, 2, 91, 7, 6, 1, 211, 118, 2, 91, 7, 4, 1, 211, 118, 2, 91, 7, 4, 1,
- 215, 94, 61, 7, 4, 1, 254, 143, 7, 4, 1, 215, 94, 254, 143, 7, 4, 1, 57,
- 2, 103, 7, 4, 1, 204, 76, 7, 4, 1, 251, 67, 2, 249, 100, 7, 4, 1, 249,
- 61, 2, 217, 77, 7, 4, 1, 249, 61, 2, 103, 7, 4, 1, 223, 49, 75, 7, 4, 1,
- 221, 195, 7, 4, 1, 221, 196, 2, 103, 7, 4, 1, 204, 75, 7, 4, 1, 223, 49,
- 204, 75, 7, 4, 1, 223, 49, 204, 160, 2, 103, 7, 4, 1, 250, 0, 223, 49,
- 204, 75, 7, 4, 1, 247, 119, 235, 145, 2, 91, 7, 4, 1, 243, 203, 2, 103,
- 7, 4, 1, 119, 243, 202, 7, 1, 4, 6, 243, 202, 7, 4, 1, 243, 107, 7, 4, 1,
- 223, 151, 240, 248, 7, 4, 1, 215, 94, 242, 60, 7, 4, 1, 242, 61, 2, 103,
- 7, 4, 1, 241, 208, 2, 103, 7, 4, 1, 240, 154, 2, 91, 7, 4, 1, 235, 185,
- 7, 1, 4, 6, 73, 7, 4, 1, 233, 149, 2, 230, 224, 182, 7, 4, 1, 233, 149,
- 2, 252, 41, 7, 4, 1, 233, 149, 2, 223, 55, 103, 7, 4, 1, 233, 1, 7, 4, 1,
- 215, 94, 193, 7, 4, 1, 215, 94, 232, 50, 2, 199, 233, 36, 7, 4, 1, 232,
- 50, 2, 103, 7, 4, 1, 230, 26, 2, 43, 103, 7, 4, 1, 230, 26, 2, 223, 55,
- 103, 7, 1, 4, 6, 230, 25, 7, 4, 1, 252, 134, 76, 7, 1, 4, 6, 226, 234, 7,
- 4, 1, 250, 0, 226, 201, 7, 4, 1, 225, 133, 7, 4, 1, 215, 94, 153, 7, 4,
- 1, 215, 94, 223, 224, 2, 199, 233, 36, 7, 4, 1, 215, 94, 223, 224, 2,
- 103, 7, 4, 1, 223, 224, 2, 199, 233, 36, 7, 4, 1, 223, 224, 2, 217, 77,
- 7, 4, 1, 223, 224, 2, 244, 87, 7, 4, 1, 223, 49, 223, 224, 2, 244, 87, 7,
- 1, 4, 6, 153, 7, 1, 4, 6, 235, 193, 153, 7, 4, 1, 222, 92, 2, 103, 7, 4,
- 1, 245, 75, 7, 4, 1, 247, 119, 235, 145, 2, 218, 103, 22, 103, 7, 4, 1,
- 218, 231, 223, 49, 245, 75, 7, 4, 1, 245, 76, 2, 249, 100, 7, 4, 1, 215,
- 94, 217, 152, 7, 4, 1, 217, 153, 2, 223, 55, 103, 7, 4, 1, 104, 130, 7,
- 4, 1, 214, 157, 7, 4, 1, 214, 106, 2, 103, 7, 4, 1, 215, 94, 214, 105, 7,
- 4, 1, 215, 94, 212, 98, 7, 4, 1, 215, 94, 211, 117, 7, 1, 4, 6, 211, 117,
- 7, 4, 1, 210, 160, 2, 223, 55, 103, 7, 4, 1, 210, 160, 2, 249, 100, 7, 4,
- 1, 245, 8, 7, 4, 1, 245, 9, 2, 249, 100, 7, 1, 242, 180, 218, 129, 7, 1,
- 225, 139, 213, 135, 243, 249, 7, 1, 235, 193, 242, 180, 218, 129, 7, 1,
- 218, 110, 251, 66, 7, 1, 251, 246, 250, 11, 7, 1, 4, 6, 253, 158, 7, 4,
- 1, 250, 0, 204, 75, 7, 1, 4, 6, 243, 203, 2, 103, 7, 1, 4, 6, 242, 60, 7,
- 4, 1, 235, 145, 2, 249, 127, 7, 4, 1, 215, 94, 235, 23, 7, 1, 4, 6, 156,
- 7, 4, 1, 224, 97, 2, 103, 7, 1, 242, 180, 218, 130, 2, 91, 7, 1, 223, 49,
- 242, 180, 218, 130, 2, 91, 7, 4, 1, 246, 40, 247, 220, 7, 4, 1, 248, 26,
- 247, 220, 7, 4, 1, 246, 40, 247, 221, 2, 249, 100, 7, 4, 1, 215, 185,
- 247, 220, 7, 4, 1, 216, 235, 247, 220, 7, 4, 1, 217, 29, 247, 221, 2,
- 249, 100, 7, 4, 1, 244, 134, 247, 220, 7, 4, 1, 232, 100, 247, 220, 7, 4,
- 1, 232, 51, 247, 220, 7, 1, 251, 246, 225, 181, 7, 1, 251, 254, 225, 181,
- 7, 4, 1, 215, 94, 242, 61, 2, 244, 87, 7, 4, 1, 215, 94, 242, 61, 2, 244,
- 88, 22, 217, 77, 58, 1, 4, 242, 60, 58, 1, 4, 242, 61, 2, 103, 58, 1, 4,
- 235, 144, 58, 1, 4, 153, 58, 1, 4, 215, 94, 153, 58, 1, 4, 215, 94, 223,
- 224, 2, 103, 58, 1, 4, 6, 235, 193, 153, 58, 1, 4, 212, 98, 58, 1, 4,
- 211, 117, 58, 1, 224, 190, 58, 1, 52, 224, 190, 58, 1, 215, 94, 249, 219,
- 58, 1, 254, 57, 58, 1, 223, 49, 249, 219, 58, 1, 44, 163, 222, 233, 58,
- 1, 43, 163, 222, 233, 58, 1, 242, 180, 218, 129, 58, 1, 223, 49, 242,
- 180, 218, 129, 58, 1, 43, 253, 249, 58, 1, 44, 253, 249, 58, 1, 120, 253,
- 249, 58, 1, 124, 253, 249, 58, 1, 250, 31, 255, 14, 250, 234, 58, 1, 67,
- 232, 213, 58, 1, 231, 232, 58, 1, 255, 3, 255, 14, 58, 1, 242, 137, 255,
- 14, 58, 1, 121, 67, 232, 213, 58, 1, 121, 231, 232, 58, 1, 121, 242, 137,
- 255, 14, 58, 1, 121, 255, 3, 255, 14, 58, 1, 215, 222, 249, 226, 58, 1,
- 163, 215, 222, 249, 226, 58, 1, 250, 173, 44, 163, 222, 233, 58, 1, 250,
- 173, 43, 163, 222, 233, 58, 1, 120, 217, 87, 58, 1, 124, 217, 87, 58, 1,
- 96, 50, 58, 1, 230, 182, 50, 251, 146, 59, 48, 222, 234, 48, 226, 224, 4,
- 182, 52, 255, 3, 255, 14, 58, 1, 223, 36, 103, 58, 1, 249, 131, 255, 14,
- 58, 1, 4, 243, 107, 58, 1, 4, 156, 58, 1, 4, 222, 91, 58, 1, 4, 211, 178,
- 58, 1, 4, 223, 49, 242, 180, 218, 129, 58, 1, 245, 20, 138, 130, 58, 1,
- 125, 138, 130, 58, 1, 230, 225, 138, 130, 58, 1, 121, 138, 130, 58, 1,
- 245, 19, 138, 130, 58, 1, 210, 254, 248, 44, 138, 78, 58, 1, 211, 70,
- 248, 44, 138, 78, 58, 1, 213, 133, 58, 1, 214, 186, 58, 1, 52, 254, 57,
- 58, 1, 121, 124, 253, 249, 58, 1, 121, 120, 253, 249, 58, 1, 121, 43,
- 253, 249, 58, 1, 121, 44, 253, 249, 58, 1, 121, 222, 233, 58, 1, 230,
- 224, 242, 137, 255, 14, 58, 1, 230, 224, 52, 242, 137, 255, 14, 58, 1,
- 230, 224, 52, 255, 3, 255, 14, 58, 1, 121, 182, 58, 1, 223, 157, 249,
- 226, 58, 1, 252, 58, 125, 216, 30, 58, 1, 245, 143, 125, 216, 30, 58, 1,
- 252, 58, 121, 216, 30, 58, 1, 245, 143, 121, 216, 30, 58, 1, 220, 54, 58,
- 1, 204, 220, 54, 58, 1, 121, 43, 74, 38, 242, 137, 255, 14, 38, 255, 3,
- 255, 14, 38, 250, 31, 255, 14, 38, 182, 38, 231, 232, 38, 226, 119, 38,
- 251, 146, 38, 59, 48, 38, 248, 1, 38, 241, 52, 48, 38, 222, 234, 48, 38,
- 52, 255, 3, 255, 14, 38, 250, 234, 38, 67, 232, 214, 48, 38, 52, 67, 232,
- 214, 48, 38, 52, 242, 137, 255, 14, 38, 250, 255, 38, 235, 193, 251, 146,
- 38, 215, 94, 249, 220, 48, 38, 249, 220, 48, 38, 223, 49, 249, 220, 48,
- 38, 249, 220, 77, 222, 251, 38, 242, 137, 255, 15, 51, 38, 255, 3, 255,
- 15, 51, 38, 43, 217, 88, 51, 38, 44, 217, 88, 51, 38, 43, 254, 110, 48,
- 38, 240, 248, 38, 43, 163, 222, 234, 51, 38, 120, 217, 88, 51, 38, 124,
- 217, 88, 51, 38, 96, 5, 51, 38, 230, 182, 5, 51, 38, 226, 64, 241, 52,
- 51, 38, 223, 55, 241, 52, 51, 38, 59, 51, 38, 248, 2, 51, 38, 222, 234,
- 51, 38, 249, 220, 51, 38, 250, 183, 38, 226, 224, 38, 67, 232, 214, 51,
- 38, 251, 140, 51, 38, 235, 193, 52, 254, 24, 51, 38, 250, 235, 51, 38,
- 250, 31, 255, 15, 51, 38, 251, 147, 51, 38, 235, 193, 251, 147, 51, 38,
- 216, 89, 51, 38, 231, 233, 51, 38, 121, 232, 213, 38, 52, 121, 232, 213,
- 38, 216, 89, 226, 120, 38, 219, 251, 218, 103, 226, 120, 38, 199, 218,
- 103, 226, 120, 38, 219, 251, 219, 47, 226, 120, 38, 199, 219, 47, 226,
- 120, 38, 44, 163, 222, 234, 51, 38, 235, 193, 251, 140, 51, 38, 42, 51,
- 38, 221, 180, 51, 38, 211, 179, 48, 38, 67, 182, 38, 52, 226, 119, 38,
- 242, 137, 138, 78, 38, 255, 3, 138, 78, 38, 26, 225, 175, 38, 26, 234, 2,
- 38, 26, 247, 252, 216, 18, 38, 26, 210, 219, 38, 251, 140, 48, 38, 245,
- 98, 5, 51, 38, 52, 67, 232, 214, 51, 38, 43, 254, 110, 51, 38, 228, 52,
- 216, 89, 48, 38, 241, 58, 48, 38, 254, 148, 128, 216, 42, 48, 38, 43, 44,
- 80, 51, 38, 214, 153, 80, 51, 38, 242, 142, 235, 63, 38, 44, 253, 250,
- 48, 38, 43, 163, 222, 234, 48, 38, 244, 131, 38, 211, 179, 51, 38, 43,
- 253, 250, 51, 38, 44, 253, 250, 51, 38, 44, 253, 250, 22, 120, 253, 250,
- 51, 38, 44, 163, 222, 234, 48, 38, 59, 77, 222, 251, 38, 253, 217, 51,
- 38, 52, 222, 234, 51, 38, 210, 35, 48, 38, 52, 251, 147, 51, 38, 52, 251,
- 146, 38, 52, 231, 232, 38, 52, 231, 233, 51, 38, 52, 182, 38, 52, 235,
- 193, 251, 146, 38, 52, 97, 80, 51, 38, 7, 4, 1, 61, 38, 7, 4, 1, 75, 38,
- 7, 4, 1, 73, 38, 7, 4, 1, 76, 38, 7, 4, 1, 70, 38, 7, 4, 1, 251, 66, 38,
- 7, 4, 1, 249, 60, 38, 7, 4, 1, 242, 60, 38, 7, 4, 1, 193, 38, 7, 4, 1,
- 153, 38, 7, 4, 1, 217, 152, 38, 7, 4, 1, 214, 105, 38, 7, 4, 1, 211, 178,
- 26, 6, 1, 241, 196, 26, 4, 1, 241, 196, 26, 6, 1, 254, 23, 221, 246, 26,
- 4, 1, 254, 23, 221, 246, 26, 227, 198, 50, 26, 232, 108, 227, 198, 50,
- 26, 6, 1, 226, 51, 247, 227, 26, 4, 1, 226, 51, 247, 227, 26, 210, 219,
- 26, 4, 223, 49, 232, 83, 219, 178, 87, 26, 4, 246, 118, 232, 83, 219,
- 178, 87, 26, 4, 223, 49, 246, 118, 232, 83, 219, 178, 87, 26, 224, 13,
- 78, 26, 216, 18, 26, 247, 252, 216, 18, 26, 6, 1, 254, 144, 2, 216, 18,
- 26, 254, 97, 217, 2, 26, 6, 1, 245, 101, 2, 216, 18, 26, 6, 1, 245, 64,
- 2, 216, 18, 26, 6, 1, 235, 186, 2, 216, 18, 26, 6, 1, 226, 200, 2, 216,
- 18, 26, 6, 1, 214, 158, 2, 216, 18, 26, 6, 1, 226, 202, 2, 216, 18, 26,
- 4, 1, 235, 186, 2, 247, 252, 22, 216, 18, 26, 6, 1, 254, 143, 26, 6, 1,
- 252, 26, 26, 6, 1, 243, 107, 26, 6, 1, 248, 54, 26, 6, 1, 245, 100, 26,
- 6, 1, 210, 85, 26, 6, 1, 245, 63, 26, 6, 1, 216, 179, 26, 6, 1, 235, 185,
- 26, 6, 1, 234, 222, 26, 6, 1, 233, 98, 26, 6, 1, 230, 102, 26, 6, 1, 227,
- 237, 26, 6, 1, 211, 157, 26, 6, 1, 226, 199, 26, 6, 1, 225, 108, 26, 6,
- 1, 223, 37, 26, 6, 1, 219, 177, 26, 6, 1, 217, 41, 26, 6, 1, 214, 157,
- 26, 6, 1, 225, 133, 26, 6, 1, 250, 110, 26, 6, 1, 224, 161, 26, 6, 1,
- 226, 201, 26, 6, 1, 235, 186, 2, 247, 251, 26, 6, 1, 214, 158, 2, 247,
- 251, 26, 4, 1, 254, 144, 2, 216, 18, 26, 4, 1, 245, 101, 2, 216, 18, 26,
- 4, 1, 245, 64, 2, 216, 18, 26, 4, 1, 235, 186, 2, 216, 18, 26, 4, 1, 214,
- 158, 2, 247, 252, 22, 216, 18, 26, 4, 1, 254, 143, 26, 4, 1, 252, 26, 26,
- 4, 1, 243, 107, 26, 4, 1, 248, 54, 26, 4, 1, 245, 100, 26, 4, 1, 210, 85,
- 26, 4, 1, 245, 63, 26, 4, 1, 216, 179, 26, 4, 1, 235, 185, 26, 4, 1, 234,
- 222, 26, 4, 1, 233, 98, 26, 4, 1, 230, 102, 26, 4, 1, 227, 237, 26, 4, 1,
- 211, 157, 26, 4, 1, 226, 199, 26, 4, 1, 225, 108, 26, 4, 1, 223, 37, 26,
- 4, 1, 40, 219, 177, 26, 4, 1, 219, 177, 26, 4, 1, 217, 41, 26, 4, 1, 214,
- 157, 26, 4, 1, 225, 133, 26, 4, 1, 250, 110, 26, 4, 1, 224, 161, 26, 4,
- 1, 226, 201, 26, 4, 1, 235, 186, 2, 247, 251, 26, 4, 1, 214, 158, 2, 247,
- 251, 26, 4, 1, 226, 200, 2, 216, 18, 26, 4, 1, 214, 158, 2, 216, 18, 26,
- 4, 1, 226, 202, 2, 216, 18, 26, 6, 234, 247, 87, 26, 252, 27, 87, 26,
- 216, 180, 87, 26, 214, 158, 2, 241, 52, 87, 26, 214, 158, 2, 255, 3, 22,
- 241, 52, 87, 26, 214, 158, 2, 248, 2, 22, 241, 52, 87, 26, 225, 134, 87,
- 26, 225, 109, 87, 26, 234, 247, 87, 26, 1, 254, 23, 234, 6, 26, 4, 1,
- 254, 23, 234, 6, 26, 1, 218, 137, 26, 4, 1, 218, 137, 26, 1, 247, 227,
- 26, 4, 1, 247, 227, 26, 1, 234, 6, 26, 4, 1, 234, 6, 26, 1, 221, 246, 26,
- 4, 1, 221, 246, 81, 6, 1, 220, 55, 81, 4, 1, 220, 55, 81, 6, 1, 244, 140,
- 81, 4, 1, 244, 140, 81, 6, 1, 234, 117, 81, 4, 1, 234, 117, 81, 6, 1,
- 241, 45, 81, 4, 1, 241, 45, 81, 6, 1, 243, 102, 81, 4, 1, 243, 102, 81,
- 6, 1, 220, 22, 81, 4, 1, 220, 22, 81, 6, 1, 248, 69, 81, 4, 1, 248, 69,
- 26, 234, 223, 87, 26, 223, 38, 87, 26, 232, 83, 219, 178, 87, 26, 1, 210,
- 224, 26, 6, 216, 180, 87, 26, 232, 83, 245, 101, 87, 26, 223, 49, 232,
- 83, 245, 101, 87, 26, 6, 1, 220, 7, 26, 4, 1, 220, 7, 26, 6, 232, 83,
- 219, 178, 87, 26, 6, 1, 221, 243, 26, 4, 1, 221, 243, 26, 223, 38, 2,
- 218, 103, 87, 26, 6, 223, 49, 232, 83, 219, 178, 87, 26, 6, 246, 118,
- 232, 83, 219, 178, 87, 26, 6, 223, 49, 246, 118, 232, 83, 219, 178, 87,
- 33, 6, 1, 236, 61, 2, 242, 136, 33, 6, 1, 235, 189, 33, 6, 1, 247, 162,
- 33, 6, 1, 242, 187, 33, 6, 1, 214, 202, 236, 60, 33, 6, 1, 246, 36, 33,
- 6, 1, 251, 76, 73, 33, 6, 1, 211, 8, 33, 6, 1, 235, 126, 33, 6, 1, 232,
- 187, 33, 6, 1, 228, 178, 33, 6, 1, 215, 174, 33, 6, 1, 234, 48, 33, 6, 1,
- 240, 154, 2, 242, 136, 33, 6, 1, 219, 251, 70, 33, 6, 1, 246, 32, 33, 6,
- 1, 61, 33, 6, 1, 252, 75, 33, 6, 1, 213, 255, 33, 6, 1, 242, 236, 33, 6,
- 1, 248, 90, 33, 6, 1, 236, 60, 33, 6, 1, 210, 74, 33, 6, 1, 210, 94, 33,
- 6, 1, 73, 33, 6, 1, 219, 251, 73, 33, 6, 1, 176, 33, 6, 1, 245, 174, 33,
- 6, 1, 245, 159, 33, 6, 1, 245, 150, 33, 6, 1, 76, 33, 6, 1, 225, 221, 33,
- 6, 1, 245, 92, 33, 6, 1, 245, 82, 33, 6, 1, 217, 22, 33, 6, 1, 70, 33, 6,
- 1, 245, 202, 33, 6, 1, 162, 33, 6, 1, 215, 178, 33, 6, 1, 250, 131, 33,
- 6, 1, 220, 102, 33, 6, 1, 220, 65, 33, 6, 1, 242, 3, 50, 33, 6, 1, 211,
- 27, 33, 6, 1, 219, 52, 50, 33, 6, 1, 75, 33, 6, 1, 210, 212, 33, 6, 1,
- 191, 33, 4, 1, 61, 33, 4, 1, 252, 75, 33, 4, 1, 213, 255, 33, 4, 1, 242,
- 236, 33, 4, 1, 248, 90, 33, 4, 1, 236, 60, 33, 4, 1, 210, 74, 33, 4, 1,
- 210, 94, 33, 4, 1, 73, 33, 4, 1, 219, 251, 73, 33, 4, 1, 176, 33, 4, 1,
- 245, 174, 33, 4, 1, 245, 159, 33, 4, 1, 245, 150, 33, 4, 1, 76, 33, 4, 1,
- 225, 221, 33, 4, 1, 245, 92, 33, 4, 1, 245, 82, 33, 4, 1, 217, 22, 33, 4,
- 1, 70, 33, 4, 1, 245, 202, 33, 4, 1, 162, 33, 4, 1, 215, 178, 33, 4, 1,
- 250, 131, 33, 4, 1, 220, 102, 33, 4, 1, 220, 65, 33, 4, 1, 242, 3, 50,
- 33, 4, 1, 211, 27, 33, 4, 1, 219, 52, 50, 33, 4, 1, 75, 33, 4, 1, 210,
- 212, 33, 4, 1, 191, 33, 4, 1, 236, 61, 2, 242, 136, 33, 4, 1, 235, 189,
- 33, 4, 1, 247, 162, 33, 4, 1, 242, 187, 33, 4, 1, 214, 202, 236, 60, 33,
- 4, 1, 246, 36, 33, 4, 1, 251, 76, 73, 33, 4, 1, 211, 8, 33, 4, 1, 235,
- 126, 33, 4, 1, 232, 187, 33, 4, 1, 228, 178, 33, 4, 1, 215, 174, 33, 4,
- 1, 234, 48, 33, 4, 1, 240, 154, 2, 242, 136, 33, 4, 1, 219, 251, 70, 33,
- 4, 1, 246, 32, 33, 6, 1, 226, 201, 33, 4, 1, 226, 201, 33, 6, 1, 211, 59,
- 33, 4, 1, 211, 59, 33, 6, 1, 235, 183, 75, 33, 4, 1, 235, 183, 75, 33, 6,
- 1, 232, 192, 210, 183, 33, 4, 1, 232, 192, 210, 183, 33, 6, 1, 235, 183,
- 232, 192, 210, 183, 33, 4, 1, 235, 183, 232, 192, 210, 183, 33, 6, 1,
- 251, 249, 210, 183, 33, 4, 1, 251, 249, 210, 183, 33, 6, 1, 235, 183,
- 251, 249, 210, 183, 33, 4, 1, 235, 183, 251, 249, 210, 183, 33, 6, 1,
- 233, 233, 33, 4, 1, 233, 233, 33, 6, 1, 224, 161, 33, 4, 1, 224, 161, 33,
- 6, 1, 244, 82, 33, 4, 1, 244, 82, 33, 6, 1, 235, 146, 33, 4, 1, 235, 146,
- 33, 6, 1, 235, 147, 2, 52, 242, 137, 255, 14, 33, 4, 1, 235, 147, 2, 52,
- 242, 137, 255, 14, 33, 6, 1, 214, 205, 33, 4, 1, 214, 205, 33, 6, 1, 222,
- 185, 226, 201, 33, 4, 1, 222, 185, 226, 201, 33, 6, 1, 226, 202, 2, 216,
- 65, 33, 4, 1, 226, 202, 2, 216, 65, 33, 6, 1, 226, 140, 33, 4, 1, 226,
- 140, 33, 6, 1, 234, 6, 33, 4, 1, 234, 6, 33, 216, 146, 50, 38, 33, 216,
- 65, 38, 33, 226, 65, 38, 33, 248, 154, 225, 18, 38, 33, 224, 155, 225,
- 18, 38, 33, 225, 3, 38, 33, 240, 211, 216, 146, 50, 38, 33, 230, 191, 50,
- 33, 6, 1, 219, 251, 240, 154, 2, 217, 77, 33, 4, 1, 219, 251, 240, 154,
- 2, 217, 77, 33, 6, 1, 220, 146, 50, 33, 4, 1, 220, 146, 50, 33, 6, 1,
- 245, 93, 2, 216, 114, 33, 4, 1, 245, 93, 2, 216, 114, 33, 6, 1, 242, 237,
- 2, 214, 156, 33, 4, 1, 242, 237, 2, 214, 156, 33, 6, 1, 242, 237, 2, 91,
- 33, 4, 1, 242, 237, 2, 91, 33, 6, 1, 242, 237, 2, 230, 224, 103, 33, 4,
- 1, 242, 237, 2, 230, 224, 103, 33, 6, 1, 210, 75, 2, 248, 39, 33, 4, 1,
- 210, 75, 2, 248, 39, 33, 6, 1, 210, 95, 2, 248, 39, 33, 4, 1, 210, 95, 2,
- 248, 39, 33, 6, 1, 235, 13, 2, 248, 39, 33, 4, 1, 235, 13, 2, 248, 39,
- 33, 6, 1, 235, 13, 2, 67, 91, 33, 4, 1, 235, 13, 2, 67, 91, 33, 6, 1,
- 235, 13, 2, 91, 33, 4, 1, 235, 13, 2, 91, 33, 6, 1, 252, 124, 176, 33, 4,
- 1, 252, 124, 176, 33, 6, 1, 245, 151, 2, 248, 39, 33, 4, 1, 245, 151, 2,
- 248, 39, 33, 6, 27, 245, 151, 242, 236, 33, 4, 27, 245, 151, 242, 236,
- 33, 6, 1, 225, 222, 2, 230, 224, 103, 33, 4, 1, 225, 222, 2, 230, 224,
- 103, 33, 6, 1, 255, 20, 162, 33, 4, 1, 255, 20, 162, 33, 6, 1, 245, 83,
- 2, 248, 39, 33, 4, 1, 245, 83, 2, 248, 39, 33, 6, 1, 217, 23, 2, 248, 39,
- 33, 4, 1, 217, 23, 2, 248, 39, 33, 6, 1, 218, 121, 70, 33, 4, 1, 218,
- 121, 70, 33, 6, 1, 218, 121, 104, 2, 91, 33, 4, 1, 218, 121, 104, 2, 91,
- 33, 6, 1, 242, 49, 2, 248, 39, 33, 4, 1, 242, 49, 2, 248, 39, 33, 6, 27,
- 217, 23, 215, 178, 33, 4, 27, 217, 23, 215, 178, 33, 6, 1, 250, 132, 2,
- 248, 39, 33, 4, 1, 250, 132, 2, 248, 39, 33, 6, 1, 250, 132, 2, 67, 91,
- 33, 4, 1, 250, 132, 2, 67, 91, 33, 6, 1, 220, 33, 33, 4, 1, 220, 33, 33,
- 6, 1, 255, 20, 250, 131, 33, 4, 1, 255, 20, 250, 131, 33, 6, 1, 255, 20,
- 250, 132, 2, 248, 39, 33, 4, 1, 255, 20, 250, 132, 2, 248, 39, 33, 1,
- 226, 58, 33, 6, 1, 210, 75, 2, 251, 146, 33, 4, 1, 210, 75, 2, 251, 146,
- 33, 6, 1, 235, 13, 2, 103, 33, 4, 1, 235, 13, 2, 103, 33, 6, 1, 245, 175,
- 2, 217, 77, 33, 4, 1, 245, 175, 2, 217, 77, 33, 6, 1, 245, 151, 2, 103,
- 33, 4, 1, 245, 151, 2, 103, 33, 6, 1, 245, 151, 2, 217, 77, 33, 4, 1,
- 245, 151, 2, 217, 77, 33, 6, 1, 234, 127, 250, 131, 33, 4, 1, 234, 127,
- 250, 131, 33, 6, 1, 245, 160, 2, 217, 77, 33, 4, 1, 245, 160, 2, 217, 77,
- 33, 4, 1, 226, 58, 33, 6, 1, 115, 2, 251, 146, 33, 4, 1, 115, 2, 251,
- 146, 33, 6, 1, 115, 2, 248, 1, 33, 4, 1, 115, 2, 248, 1, 33, 6, 27, 115,
- 236, 60, 33, 4, 27, 115, 236, 60, 33, 6, 1, 236, 61, 2, 251, 146, 33, 4,
- 1, 236, 61, 2, 251, 146, 33, 6, 1, 221, 195, 33, 4, 1, 221, 195, 33, 6,
- 1, 221, 196, 2, 248, 1, 33, 4, 1, 221, 196, 2, 248, 1, 33, 6, 1, 210, 75,
- 2, 248, 1, 33, 4, 1, 210, 75, 2, 248, 1, 33, 6, 1, 210, 95, 2, 248, 1,
- 33, 4, 1, 210, 95, 2, 248, 1, 33, 6, 1, 255, 20, 246, 36, 33, 4, 1, 255,
- 20, 246, 36, 33, 6, 1, 240, 154, 2, 231, 232, 33, 4, 1, 240, 154, 2, 231,
- 232, 33, 6, 1, 240, 154, 2, 248, 1, 33, 4, 1, 240, 154, 2, 248, 1, 33, 6,
- 1, 144, 2, 248, 1, 33, 4, 1, 144, 2, 248, 1, 33, 6, 1, 252, 134, 76, 33,
- 4, 1, 252, 134, 76, 33, 6, 1, 252, 134, 144, 2, 248, 1, 33, 4, 1, 252,
- 134, 144, 2, 248, 1, 33, 6, 1, 160, 2, 248, 1, 33, 4, 1, 160, 2, 248, 1,
- 33, 6, 1, 104, 2, 231, 232, 33, 4, 1, 104, 2, 231, 232, 33, 6, 1, 104, 2,
- 248, 1, 33, 4, 1, 104, 2, 248, 1, 33, 6, 1, 104, 2, 52, 142, 33, 4, 1,
- 104, 2, 52, 142, 33, 6, 1, 250, 132, 2, 248, 1, 33, 4, 1, 250, 132, 2,
- 248, 1, 33, 6, 1, 242, 237, 2, 248, 39, 33, 4, 1, 242, 237, 2, 248, 39,
- 33, 6, 1, 211, 28, 2, 248, 1, 33, 4, 1, 211, 28, 2, 248, 1, 33, 6, 1,
- 242, 237, 2, 218, 103, 22, 103, 33, 4, 1, 242, 237, 2, 218, 103, 22, 103,
- 33, 6, 1, 242, 49, 2, 103, 33, 4, 1, 242, 49, 2, 103, 33, 6, 1, 242, 49,
- 2, 91, 33, 4, 1, 242, 49, 2, 91, 33, 6, 1, 234, 14, 248, 90, 33, 4, 1,
- 234, 14, 248, 90, 33, 6, 1, 234, 14, 247, 162, 33, 4, 1, 234, 14, 247,
- 162, 33, 6, 1, 234, 14, 210, 27, 33, 4, 1, 234, 14, 210, 27, 33, 6, 1,
- 234, 14, 246, 30, 33, 4, 1, 234, 14, 246, 30, 33, 6, 1, 234, 14, 232,
- 187, 33, 4, 1, 234, 14, 232, 187, 33, 6, 1, 234, 14, 228, 178, 33, 4, 1,
- 234, 14, 228, 178, 33, 6, 1, 234, 14, 219, 109, 33, 4, 1, 234, 14, 219,
- 109, 33, 6, 1, 234, 14, 216, 60, 33, 4, 1, 234, 14, 216, 60, 33, 6, 1,
- 223, 49, 210, 94, 33, 4, 1, 223, 49, 210, 94, 33, 6, 1, 245, 175, 2, 103,
- 33, 4, 1, 245, 175, 2, 103, 33, 6, 1, 232, 254, 33, 4, 1, 232, 254, 33,
- 6, 1, 223, 39, 33, 4, 1, 223, 39, 33, 6, 1, 211, 92, 33, 4, 1, 211, 92,
- 33, 6, 1, 224, 88, 33, 4, 1, 224, 88, 33, 6, 1, 212, 22, 33, 4, 1, 212,
- 22, 33, 6, 1, 254, 166, 176, 33, 4, 1, 254, 166, 176, 33, 6, 1, 245, 175,
- 2, 230, 224, 103, 33, 4, 1, 245, 175, 2, 230, 224, 103, 33, 6, 1, 245,
- 151, 2, 230, 224, 103, 33, 4, 1, 245, 151, 2, 230, 224, 103, 33, 6, 1,
- 225, 222, 2, 248, 39, 33, 4, 1, 225, 222, 2, 248, 39, 33, 6, 1, 220, 34,
- 2, 248, 39, 33, 4, 1, 220, 34, 2, 248, 39, 150, 6, 1, 253, 164, 150, 6,
- 1, 252, 39, 150, 6, 1, 242, 203, 150, 6, 1, 248, 221, 150, 6, 1, 245,
- 213, 150, 6, 1, 210, 116, 150, 6, 1, 245, 197, 150, 6, 1, 245, 65, 150,
- 6, 1, 111, 150, 6, 1, 210, 74, 150, 6, 1, 235, 227, 150, 6, 1, 232, 190,
- 150, 6, 1, 211, 160, 150, 6, 1, 251, 33, 150, 6, 1, 234, 165, 150, 6, 1,
- 241, 68, 150, 6, 1, 235, 141, 150, 6, 1, 242, 246, 150, 6, 1, 250, 126,
- 150, 6, 1, 231, 58, 150, 6, 1, 211, 8, 150, 6, 1, 228, 39, 150, 6, 1,
- 220, 102, 150, 6, 1, 213, 138, 150, 6, 1, 250, 157, 150, 6, 1, 225, 205,
- 150, 6, 1, 235, 110, 150, 6, 1, 205, 150, 6, 1, 221, 161, 150, 6, 1, 213,
- 179, 150, 6, 1, 216, 62, 150, 6, 1, 223, 95, 150, 6, 1, 249, 238, 150, 6,
- 1, 210, 249, 150, 6, 1, 225, 46, 150, 6, 1, 234, 176, 150, 6, 1, 226,
- 222, 150, 6, 1, 244, 142, 150, 58, 1, 43, 163, 222, 233, 150, 254, 57,
- 150, 245, 154, 78, 150, 245, 31, 78, 150, 249, 219, 150, 224, 13, 78,
- 150, 255, 21, 78, 150, 4, 1, 253, 164, 150, 4, 1, 252, 39, 150, 4, 1,
- 242, 203, 150, 4, 1, 248, 221, 150, 4, 1, 245, 213, 150, 4, 1, 210, 116,
- 150, 4, 1, 245, 197, 150, 4, 1, 245, 65, 150, 4, 1, 111, 150, 4, 1, 210,
- 74, 150, 4, 1, 235, 227, 150, 4, 1, 232, 190, 150, 4, 1, 211, 160, 150,
- 4, 1, 251, 33, 150, 4, 1, 234, 165, 150, 4, 1, 241, 68, 150, 4, 1, 235,
- 141, 150, 4, 1, 242, 246, 150, 4, 1, 250, 126, 150, 4, 1, 231, 58, 150,
- 4, 1, 211, 8, 150, 4, 1, 228, 39, 150, 4, 1, 220, 102, 150, 4, 1, 213,
- 138, 150, 4, 1, 250, 157, 150, 4, 1, 225, 205, 150, 4, 1, 235, 110, 150,
- 4, 1, 205, 150, 4, 1, 221, 161, 150, 4, 1, 213, 179, 150, 4, 1, 216, 62,
- 150, 4, 1, 223, 95, 150, 4, 1, 249, 238, 150, 4, 1, 210, 249, 150, 4, 1,
- 225, 46, 150, 4, 1, 234, 176, 150, 4, 1, 226, 222, 150, 4, 1, 244, 142,
- 150, 4, 27, 245, 214, 210, 249, 150, 243, 229, 218, 129, 150, 240, 168,
- 150, 246, 95, 50, 94, 255, 15, 245, 57, 94, 255, 15, 221, 162, 94, 255,
- 15, 220, 88, 94, 255, 15, 210, 104, 224, 71, 94, 255, 15, 210, 104, 243,
- 125, 94, 255, 15, 216, 75, 94, 255, 15, 223, 47, 94, 255, 15, 210, 103,
- 94, 255, 15, 225, 245, 94, 255, 15, 211, 20, 94, 255, 15, 216, 214, 94,
- 255, 15, 243, 41, 94, 255, 15, 243, 42, 230, 69, 94, 255, 15, 243, 39,
- 94, 255, 15, 224, 72, 226, 16, 94, 255, 15, 216, 253, 243, 56, 94, 255,
- 15, 225, 226, 94, 255, 15, 253, 200, 242, 41, 94, 255, 15, 230, 79, 94,
- 255, 15, 231, 208, 94, 255, 15, 231, 49, 94, 255, 15, 231, 50, 234, 177,
- 94, 255, 15, 248, 163, 94, 255, 15, 224, 83, 94, 255, 15, 216, 253, 224,
- 67, 94, 255, 15, 211, 30, 252, 40, 210, 230, 94, 255, 15, 226, 207, 94,
- 255, 15, 236, 19, 94, 255, 15, 248, 70, 94, 255, 15, 210, 33, 94, 164,
- 231, 143, 250, 35, 94, 225, 11, 220, 36, 94, 225, 11, 241, 250, 221, 162,
- 94, 225, 11, 241, 250, 225, 239, 94, 225, 11, 241, 250, 224, 76, 94, 225,
- 11, 241, 158, 94, 225, 11, 215, 176, 94, 225, 11, 221, 162, 94, 225, 11,
- 225, 239, 94, 225, 11, 224, 76, 94, 225, 11, 241, 61, 94, 225, 11, 241,
- 62, 241, 252, 31, 214, 3, 94, 225, 11, 224, 17, 94, 225, 11, 248, 208,
- 177, 231, 171, 94, 225, 11, 231, 38, 94, 224, 141, 231, 168, 94, 225, 11,
- 223, 169, 94, 224, 141, 225, 247, 94, 225, 11, 220, 21, 247, 120, 94,
- 225, 11, 219, 159, 247, 120, 94, 224, 141, 219, 53, 225, 241, 94, 164,
- 214, 160, 247, 120, 94, 164, 232, 108, 247, 120, 94, 224, 141, 227, 195,
- 242, 40, 94, 225, 11, 224, 77, 224, 71, 94, 1, 254, 170, 94, 1, 252, 28,
- 94, 1, 242, 201, 94, 1, 248, 189, 94, 1, 241, 238, 94, 1, 214, 3, 94, 1,
- 210, 97, 94, 1, 241, 197, 94, 1, 216, 230, 94, 1, 210, 233, 94, 1, 40,
- 234, 250, 94, 1, 234, 250, 94, 1, 233, 94, 94, 1, 40, 231, 65, 94, 1,
- 231, 65, 94, 1, 40, 227, 194, 94, 1, 227, 194, 94, 1, 221, 249, 94, 1,
- 253, 162, 94, 1, 40, 225, 221, 94, 1, 225, 221, 94, 1, 40, 215, 179, 94,
- 1, 215, 179, 94, 1, 224, 39, 94, 1, 223, 67, 94, 1, 220, 20, 94, 1, 217,
- 38, 94, 27, 211, 6, 52, 214, 3, 94, 27, 211, 6, 214, 4, 210, 233, 94, 27,
- 211, 6, 52, 210, 233, 94, 224, 141, 243, 41, 94, 224, 141, 243, 39, 10,
- 54, 50, 10, 5, 221, 242, 10, 244, 30, 231, 154, 10, 5, 222, 23, 10, 5,
- 221, 245, 254, 37, 249, 109, 222, 193, 254, 37, 244, 4, 222, 193, 10,
- 223, 134, 254, 37, 225, 183, 230, 193, 50, 254, 37, 225, 183, 216, 248,
- 216, 148, 50, 254, 221, 50, 10, 249, 219, 10, 248, 150, 220, 137, 10,
- 225, 13, 213, 241, 50, 10, 5, 230, 174, 10, 5, 222, 3, 254, 172, 212, 45,
- 10, 5, 254, 172, 253, 221, 10, 5, 223, 167, 254, 171, 10, 5, 223, 175,
- 254, 152, 254, 104, 10, 5, 217, 70, 10, 4, 125, 217, 80, 10, 4, 125, 27,
- 112, 2, 233, 103, 2, 211, 43, 10, 4, 125, 210, 108, 10, 4, 244, 165, 10,
- 4, 248, 184, 10, 4, 234, 205, 10, 220, 150, 10, 215, 211, 59, 224, 141,
- 78, 10, 224, 13, 78, 10, 1, 234, 209, 211, 43, 10, 1, 242, 19, 10, 1,
- 112, 2, 231, 228, 48, 10, 1, 112, 2, 202, 48, 10, 1, 212, 31, 2, 202, 48,
- 10, 1, 112, 2, 202, 51, 10, 1, 79, 2, 202, 48, 10, 1, 254, 170, 10, 1,
- 252, 54, 10, 1, 217, 8, 231, 164, 10, 1, 217, 7, 10, 1, 216, 192, 10, 1,
- 235, 123, 10, 1, 242, 37, 10, 1, 234, 129, 10, 1, 248, 195, 10, 1, 216,
- 202, 10, 1, 223, 95, 10, 1, 210, 108, 10, 1, 221, 166, 10, 1, 220, 59,
- 10, 1, 222, 26, 10, 1, 248, 216, 10, 1, 217, 80, 10, 1, 210, 111, 10, 1,
- 254, 196, 10, 1, 242, 244, 10, 1, 234, 175, 2, 113, 170, 48, 10, 1, 234,
- 175, 2, 134, 170, 51, 10, 1, 244, 168, 79, 2, 235, 193, 214, 105, 10, 1,
- 244, 168, 79, 2, 113, 170, 48, 10, 1, 244, 168, 79, 2, 134, 170, 48, 10,
- 217, 43, 10, 1, 244, 142, 10, 1, 224, 81, 10, 1, 234, 250, 10, 1, 233,
- 102, 10, 1, 231, 78, 10, 1, 228, 62, 10, 1, 241, 218, 10, 1, 212, 30, 10,
- 1, 112, 231, 192, 10, 1, 211, 43, 10, 244, 163, 10, 248, 182, 10, 234,
- 203, 10, 244, 165, 10, 248, 184, 10, 234, 205, 10, 220, 93, 10, 218, 45,
- 10, 231, 226, 48, 10, 202, 48, 10, 202, 51, 10, 218, 65, 254, 170, 10,
- 235, 193, 248, 184, 10, 164, 228, 63, 242, 218, 10, 209, 255, 10, 25, 5,
- 4, 214, 106, 48, 10, 25, 5, 235, 193, 4, 214, 106, 48, 10, 25, 5, 59, 51,
- 10, 223, 49, 248, 184, 10, 244, 166, 2, 113, 247, 118, 10, 212, 32, 202,
- 51, 254, 37, 21, 210, 86, 254, 37, 21, 110, 254, 37, 21, 105, 254, 37,
- 21, 158, 254, 37, 21, 161, 254, 37, 21, 189, 254, 37, 21, 194, 254, 37,
- 21, 198, 254, 37, 21, 195, 254, 37, 21, 200, 10, 225, 182, 50, 10, 248,
- 83, 220, 137, 10, 216, 146, 220, 137, 10, 244, 81, 225, 9, 218, 156, 10,
- 1, 247, 119, 252, 54, 10, 1, 247, 119, 224, 81, 10, 1, 218, 23, 254, 170,
- 10, 1, 112, 212, 46, 10, 1, 112, 2, 212, 32, 202, 48, 10, 1, 112, 2, 212,
- 32, 202, 51, 10, 1, 125, 242, 19, 10, 1, 125, 202, 254, 170, 10, 1, 125,
- 202, 212, 30, 10, 1, 104, 2, 202, 48, 10, 1, 125, 202, 211, 43, 10, 1,
- 215, 148, 10, 1, 215, 146, 10, 1, 252, 64, 10, 1, 217, 8, 2, 222, 233,
- 10, 1, 217, 8, 2, 134, 170, 77, 246, 103, 10, 1, 225, 205, 10, 1, 217, 5,
- 10, 1, 252, 52, 10, 1, 122, 2, 202, 48, 10, 1, 122, 2, 113, 170, 67, 48,
- 10, 1, 227, 153, 10, 1, 246, 43, 10, 1, 122, 2, 134, 170, 48, 10, 1, 217,
- 26, 10, 1, 217, 24, 10, 1, 248, 130, 10, 1, 248, 196, 2, 222, 233, 10, 1,
- 248, 196, 2, 59, 51, 10, 1, 248, 196, 2, 59, 252, 43, 22, 4, 217, 80, 10,
- 1, 248, 201, 10, 1, 248, 132, 10, 1, 246, 70, 10, 1, 248, 196, 2, 134,
- 170, 77, 246, 103, 10, 1, 248, 196, 2, 244, 11, 170, 48, 10, 1, 222, 171,
- 10, 1, 223, 96, 2, 4, 214, 105, 10, 1, 223, 96, 2, 222, 233, 10, 1, 223,
- 96, 2, 59, 51, 10, 1, 223, 96, 2, 4, 214, 106, 51, 10, 1, 223, 96, 2, 59,
- 252, 43, 22, 59, 48, 10, 1, 223, 96, 2, 113, 170, 48, 10, 1, 235, 120,
- 10, 1, 223, 96, 2, 244, 11, 170, 48, 10, 1, 221, 167, 2, 59, 252, 43, 22,
- 59, 48, 10, 1, 221, 167, 2, 134, 170, 51, 10, 1, 221, 167, 2, 134, 170,
- 252, 43, 22, 134, 170, 48, 10, 1, 222, 27, 2, 113, 170, 51, 10, 1, 222,
- 27, 2, 134, 170, 48, 10, 1, 217, 81, 2, 134, 170, 48, 10, 1, 254, 197, 2,
- 134, 170, 48, 10, 1, 247, 119, 244, 142, 10, 1, 244, 143, 2, 59, 230,
- 109, 51, 10, 1, 244, 143, 2, 59, 51, 10, 1, 213, 248, 10, 1, 244, 143, 2,
- 134, 170, 51, 10, 1, 225, 203, 10, 1, 224, 82, 2, 59, 48, 10, 1, 224, 82,
- 2, 134, 170, 48, 10, 1, 234, 174, 10, 1, 217, 250, 234, 250, 10, 1, 234,
- 251, 2, 222, 233, 10, 1, 234, 251, 2, 59, 48, 10, 1, 229, 79, 10, 1, 234,
- 251, 2, 134, 170, 51, 10, 1, 243, 122, 10, 1, 243, 123, 2, 222, 233, 10,
- 1, 229, 2, 10, 1, 243, 123, 2, 113, 170, 51, 10, 1, 242, 101, 10, 1, 243,
- 123, 2, 134, 170, 48, 10, 1, 233, 103, 2, 4, 214, 105, 10, 1, 233, 103,
- 2, 59, 48, 10, 1, 233, 103, 2, 134, 170, 48, 10, 1, 233, 103, 2, 134,
- 170, 51, 10, 1, 228, 63, 2, 59, 51, 10, 1, 228, 63, 242, 218, 10, 1, 222,
- 214, 10, 1, 228, 63, 2, 222, 233, 10, 1, 228, 63, 2, 134, 170, 48, 10, 1,
- 241, 219, 247, 141, 10, 1, 217, 27, 2, 59, 48, 10, 1, 241, 219, 2, 79,
- 48, 10, 1, 241, 219, 242, 171, 10, 1, 241, 219, 242, 172, 2, 202, 48, 10,
- 1, 217, 8, 231, 165, 242, 171, 10, 1, 212, 31, 2, 222, 233, 10, 1, 234,
- 73, 226, 234, 10, 1, 226, 234, 10, 1, 70, 10, 1, 210, 212, 10, 1, 234,
- 73, 210, 212, 10, 1, 212, 31, 2, 113, 170, 48, 10, 1, 213, 255, 10, 1,
- 244, 168, 211, 43, 10, 1, 79, 2, 217, 77, 10, 1, 79, 2, 4, 214, 105, 10,
- 1, 212, 31, 2, 59, 48, 10, 1, 75, 10, 1, 79, 2, 134, 170, 51, 10, 1, 79,
- 252, 132, 10, 1, 79, 252, 133, 2, 202, 48, 10, 243, 229, 218, 129, 10, 1,
- 254, 243, 10, 4, 125, 27, 222, 27, 2, 233, 103, 2, 112, 231, 192, 10, 4,
- 125, 27, 224, 82, 2, 233, 103, 2, 112, 231, 192, 10, 4, 125, 66, 65, 17,
- 10, 4, 125, 233, 103, 254, 170, 10, 4, 125, 235, 123, 10, 4, 125, 134,
- 247, 118, 10, 4, 125, 221, 166, 10, 245, 143, 64, 253, 166, 10, 218, 152,
- 64, 222, 138, 245, 175, 241, 155, 10, 4, 125, 222, 183, 210, 86, 10, 4,
- 125, 214, 159, 223, 115, 210, 86, 10, 4, 125, 247, 119, 241, 236, 64,
- 234, 129, 10, 4, 125, 66, 53, 17, 10, 4, 121, 221, 166, 10, 4, 125, 231,
- 227, 10, 4, 212, 30, 10, 4, 211, 43, 10, 4, 125, 211, 43, 10, 4, 125,
- 228, 62, 10, 225, 41, 64, 222, 13, 10, 245, 152, 250, 175, 121, 218, 129,
- 10, 245, 152, 250, 175, 125, 218, 129, 10, 222, 183, 125, 218, 130, 2,
- 244, 104, 250, 174, 10, 4, 121, 231, 78, 10, 1, 248, 196, 2, 235, 193,
- 214, 105, 10, 1, 223, 96, 2, 235, 193, 214, 105, 245, 22, 254, 37, 21,
- 210, 86, 245, 22, 254, 37, 21, 110, 245, 22, 254, 37, 21, 105, 245, 22,
- 254, 37, 21, 158, 245, 22, 254, 37, 21, 161, 245, 22, 254, 37, 21, 189,
- 245, 22, 254, 37, 21, 194, 245, 22, 254, 37, 21, 198, 245, 22, 254, 37,
- 21, 195, 245, 22, 254, 37, 21, 200, 10, 1, 220, 60, 2, 59, 51, 10, 1,
- 248, 217, 2, 59, 51, 10, 1, 242, 245, 2, 59, 51, 10, 5, 219, 158, 254,
- 126, 10, 5, 219, 158, 224, 235, 231, 58, 10, 1, 241, 219, 2, 235, 193,
- 214, 105, 188, 245, 143, 64, 226, 14, 188, 218, 19, 243, 229, 218, 129,
- 188, 218, 67, 243, 229, 218, 129, 188, 218, 19, 249, 226, 188, 218, 67,
- 249, 226, 188, 203, 249, 226, 188, 249, 227, 219, 106, 233, 46, 188, 249,
- 227, 219, 106, 222, 251, 188, 218, 19, 249, 227, 219, 106, 233, 46, 188,
- 218, 67, 249, 227, 219, 106, 222, 251, 188, 249, 180, 188, 242, 1, 226,
- 250, 188, 242, 1, 231, 36, 188, 242, 1, 253, 218, 188, 255, 21, 78, 188,
- 1, 254, 174, 188, 1, 218, 23, 254, 174, 188, 1, 252, 25, 188, 1, 243,
- 113, 188, 1, 243, 114, 243, 91, 188, 1, 248, 192, 188, 1, 247, 119, 248,
- 193, 222, 229, 188, 1, 241, 238, 188, 1, 212, 30, 188, 1, 210, 108, 188,
- 1, 241, 195, 188, 1, 216, 226, 188, 1, 216, 227, 243, 91, 188, 1, 210,
- 199, 188, 1, 210, 200, 241, 238, 188, 1, 234, 225, 188, 1, 233, 101, 188,
- 1, 230, 190, 188, 1, 227, 194, 188, 1, 220, 143, 188, 1, 40, 220, 143,
- 188, 1, 75, 188, 1, 225, 221, 188, 1, 223, 49, 225, 221, 188, 1, 222, 24,
- 188, 1, 224, 75, 188, 1, 222, 229, 188, 1, 220, 20, 188, 1, 217, 36, 188,
- 1, 225, 169, 252, 12, 188, 1, 225, 169, 242, 242, 188, 1, 225, 169, 248,
- 20, 188, 224, 151, 48, 188, 224, 151, 51, 188, 224, 151, 246, 117, 188,
- 210, 17, 48, 188, 210, 17, 51, 188, 210, 17, 246, 117, 188, 223, 131, 48,
- 188, 223, 131, 51, 188, 246, 118, 210, 24, 241, 44, 188, 246, 118, 210,
- 24, 254, 105, 188, 241, 241, 48, 188, 241, 241, 51, 188, 241, 240, 246,
- 117, 188, 245, 79, 48, 188, 245, 79, 51, 188, 222, 107, 188, 244, 136,
- 247, 120, 188, 223, 248, 188, 222, 134, 188, 113, 67, 170, 48, 188, 113,
- 67, 170, 51, 188, 134, 170, 48, 188, 134, 170, 51, 188, 226, 248, 232,
- 214, 48, 188, 226, 248, 232, 214, 51, 188, 230, 56, 188, 252, 131, 188,
- 1, 219, 49, 210, 80, 188, 1, 219, 49, 234, 122, 188, 1, 219, 49, 244,
- 154, 10, 1, 252, 55, 2, 134, 170, 240, 250, 51, 10, 1, 252, 55, 2, 59,
- 252, 43, 22, 134, 170, 48, 10, 1, 252, 55, 2, 134, 170, 225, 7, 214, 153,
- 51, 10, 1, 252, 55, 2, 134, 170, 225, 7, 214, 153, 252, 43, 22, 113, 170,
- 48, 10, 1, 252, 55, 2, 113, 170, 252, 43, 22, 59, 48, 10, 1, 252, 55, 2,
- 235, 193, 4, 214, 106, 51, 10, 1, 252, 55, 2, 4, 214, 105, 10, 1, 122, 2,
- 113, 170, 48, 10, 1, 122, 2, 134, 170, 225, 7, 214, 153, 51, 10, 1, 248,
- 196, 2, 113, 170, 213, 189, 252, 43, 22, 4, 217, 80, 10, 1, 248, 196, 2,
- 235, 193, 4, 214, 106, 51, 10, 1, 223, 96, 2, 91, 10, 1, 221, 167, 2,
- 244, 11, 170, 48, 10, 1, 254, 197, 2, 113, 170, 48, 10, 1, 254, 197, 2,
- 134, 170, 225, 7, 246, 104, 48, 10, 1, 254, 197, 2, 113, 170, 213, 189,
- 48, 10, 1, 244, 143, 2, 113, 170, 51, 10, 1, 244, 143, 2, 134, 170, 225,
- 7, 214, 153, 51, 10, 1, 234, 175, 2, 59, 48, 10, 1, 234, 175, 2, 134,
- 170, 48, 10, 1, 234, 175, 2, 134, 170, 225, 7, 214, 153, 51, 10, 1, 66,
- 2, 59, 48, 10, 1, 66, 2, 59, 51, 10, 1, 228, 63, 2, 113, 170, 51, 10, 1,
- 228, 63, 2, 4, 217, 80, 10, 1, 228, 63, 2, 4, 214, 105, 10, 1, 233, 103,
- 2, 130, 10, 1, 223, 96, 2, 113, 170, 213, 189, 48, 10, 1, 223, 96, 2,
- 202, 48, 10, 1, 221, 167, 2, 113, 170, 213, 189, 48, 10, 1, 122, 2, 4,
- 10, 1, 217, 81, 51, 10, 1, 122, 2, 4, 10, 1, 217, 81, 22, 113, 247, 118,
- 10, 1, 221, 167, 2, 4, 10, 1, 217, 81, 22, 113, 247, 118, 10, 1, 223, 96,
- 2, 4, 10, 1, 217, 81, 22, 113, 247, 118, 10, 1, 122, 2, 4, 10, 1, 217,
- 81, 48, 10, 1, 112, 2, 245, 22, 254, 37, 21, 113, 48, 10, 1, 112, 2, 245,
- 22, 254, 37, 21, 134, 48, 10, 1, 244, 168, 79, 2, 245, 22, 254, 37, 21,
- 113, 48, 10, 1, 244, 168, 79, 2, 245, 22, 254, 37, 21, 134, 48, 10, 1,
- 244, 168, 79, 2, 245, 22, 254, 37, 21, 244, 11, 51, 10, 1, 212, 31, 2,
- 245, 22, 254, 37, 21, 113, 48, 10, 1, 212, 31, 2, 245, 22, 254, 37, 21,
- 134, 48, 10, 1, 79, 252, 133, 2, 245, 22, 254, 37, 21, 113, 48, 10, 1,
- 79, 252, 133, 2, 245, 22, 254, 37, 21, 134, 48, 10, 1, 122, 2, 245, 22,
- 254, 37, 21, 244, 11, 51, 10, 1, 221, 167, 2, 245, 22, 254, 37, 21, 244,
- 11, 48, 10, 1, 221, 167, 2, 235, 193, 214, 105, 10, 1, 234, 251, 2, 113,
- 170, 48, 216, 205, 1, 242, 46, 216, 205, 1, 220, 68, 216, 205, 1, 228,
- 61, 216, 205, 1, 223, 184, 216, 205, 1, 252, 189, 216, 205, 1, 232, 251,
- 216, 205, 1, 235, 8, 216, 205, 1, 254, 159, 216, 205, 1, 214, 25, 216,
- 205, 1, 231, 77, 216, 205, 1, 244, 194, 216, 205, 1, 248, 23, 216, 205,
- 1, 216, 207, 216, 205, 1, 233, 131, 216, 205, 1, 243, 131, 216, 205, 1,
- 242, 177, 216, 205, 1, 221, 165, 216, 205, 1, 248, 148, 216, 205, 1, 210,
- 100, 216, 205, 1, 217, 37, 216, 205, 1, 211, 103, 216, 205, 1, 225, 233,
- 216, 205, 1, 235, 128, 216, 205, 1, 250, 134, 216, 205, 1, 215, 155, 216,
- 205, 1, 241, 188, 216, 205, 1, 234, 131, 216, 205, 1, 216, 206, 216, 205,
- 1, 210, 115, 216, 205, 1, 220, 58, 216, 205, 1, 222, 30, 216, 205, 1,
- 248, 219, 216, 205, 1, 111, 216, 205, 1, 210, 23, 216, 205, 1, 254, 193,
- 216, 205, 1, 242, 243, 216, 205, 1, 224, 85, 216, 205, 1, 212, 63, 216,
- 205, 255, 22, 216, 205, 255, 38, 216, 205, 240, 114, 216, 205, 245, 208,
- 216, 205, 214, 222, 216, 205, 226, 182, 216, 205, 245, 216, 216, 205,
- 245, 16, 216, 205, 226, 247, 216, 205, 226, 255, 216, 205, 218, 45, 216,
- 205, 1, 229, 225, 228, 137, 21, 210, 86, 228, 137, 21, 110, 228, 137, 21,
- 105, 228, 137, 21, 158, 228, 137, 21, 161, 228, 137, 21, 189, 228, 137,
- 21, 194, 228, 137, 21, 198, 228, 137, 21, 195, 228, 137, 21, 200, 228,
- 137, 1, 61, 228, 137, 1, 245, 209, 228, 137, 1, 73, 228, 137, 1, 75, 228,
- 137, 1, 70, 228, 137, 1, 226, 183, 228, 137, 1, 76, 228, 137, 1, 248,
- 209, 228, 137, 1, 230, 25, 228, 137, 1, 252, 191, 228, 137, 1, 190, 228,
- 137, 1, 217, 105, 228, 137, 1, 235, 141, 228, 137, 1, 250, 157, 228, 137,
- 1, 248, 221, 228, 137, 1, 205, 228, 137, 1, 222, 179, 228, 137, 1, 206,
- 228, 137, 1, 243, 79, 228, 137, 1, 244, 196, 228, 137, 1, 176, 228, 137,
- 1, 233, 135, 228, 137, 1, 229, 229, 211, 223, 228, 137, 1, 184, 228, 137,
- 1, 227, 165, 228, 137, 1, 197, 228, 137, 1, 162, 228, 137, 1, 212, 65,
- 228, 137, 1, 191, 228, 137, 1, 227, 166, 211, 223, 228, 137, 1, 235, 61,
- 235, 141, 228, 137, 1, 235, 61, 250, 157, 228, 137, 1, 235, 61, 205, 228,
- 137, 38, 219, 251, 125, 216, 30, 228, 137, 38, 219, 251, 121, 216, 30,
- 228, 137, 38, 219, 251, 222, 228, 216, 30, 228, 137, 38, 199, 248, 38,
- 216, 30, 228, 137, 38, 199, 125, 216, 30, 228, 137, 38, 199, 121, 216,
- 30, 228, 137, 38, 199, 222, 228, 216, 30, 228, 137, 38, 229, 193, 78,
- 228, 137, 38, 52, 59, 48, 228, 137, 125, 138, 254, 57, 228, 137, 121,
- 138, 254, 57, 228, 137, 16, 226, 184, 248, 50, 228, 137, 16, 243, 78,
- 228, 137, 249, 219, 228, 137, 245, 31, 78, 228, 137, 233, 108, 221, 252,
- 1, 254, 176, 221, 252, 1, 251, 228, 221, 252, 1, 243, 112, 221, 252, 1,
- 248, 194, 221, 252, 1, 235, 152, 221, 252, 1, 252, 189, 221, 252, 1, 210,
- 89, 221, 252, 1, 235, 160, 221, 252, 1, 216, 67, 221, 252, 1, 210, 182,
- 221, 252, 1, 235, 9, 221, 252, 1, 233, 128, 221, 252, 1, 230, 190, 221,
- 252, 1, 227, 194, 221, 252, 1, 219, 156, 221, 252, 1, 235, 255, 221, 252,
- 1, 244, 121, 221, 252, 1, 215, 181, 221, 252, 1, 224, 10, 221, 252, 1,
- 222, 229, 221, 252, 1, 220, 85, 221, 252, 1, 217, 100, 221, 252, 164,
- 235, 255, 221, 252, 164, 235, 254, 221, 252, 164, 226, 243, 221, 252,
- 164, 248, 207, 221, 252, 58, 1, 245, 105, 210, 182, 221, 252, 164, 245,
- 105, 210, 182, 221, 252, 25, 5, 199, 75, 221, 252, 25, 5, 75, 221, 252,
- 25, 5, 226, 118, 255, 73, 221, 252, 25, 5, 199, 255, 73, 221, 252, 25, 5,
- 255, 73, 221, 252, 25, 5, 226, 118, 61, 221, 252, 25, 5, 199, 61, 221,
- 252, 25, 5, 61, 221, 252, 58, 1, 219, 251, 61, 221, 252, 25, 5, 219, 251,
- 61, 221, 252, 25, 5, 199, 70, 221, 252, 25, 5, 70, 221, 252, 58, 1, 73,
- 221, 252, 25, 5, 199, 73, 221, 252, 25, 5, 73, 221, 252, 25, 5, 76, 221,
- 252, 25, 5, 218, 45, 221, 252, 164, 229, 92, 221, 252, 224, 141, 229, 92,
- 221, 252, 224, 141, 254, 218, 221, 252, 224, 141, 254, 114, 221, 252,
- 224, 141, 252, 114, 221, 252, 224, 141, 253, 201, 221, 252, 224, 141,
- 220, 8, 221, 252, 255, 21, 78, 221, 252, 224, 141, 231, 68, 224, 45, 221,
- 252, 224, 141, 210, 31, 221, 252, 224, 141, 224, 45, 221, 252, 224, 141,
- 210, 114, 221, 252, 224, 141, 215, 90, 221, 252, 224, 141, 254, 9, 221,
- 252, 224, 141, 219, 53, 231, 145, 221, 252, 224, 141, 254, 100, 231, 182,
- 1, 242, 24, 231, 182, 1, 255, 25, 231, 182, 1, 254, 216, 231, 182, 1,
- 254, 255, 231, 182, 1, 254, 209, 231, 182, 1, 214, 124, 231, 182, 1, 253,
- 160, 231, 182, 1, 235, 160, 231, 182, 1, 253, 198, 231, 182, 1, 254, 181,
- 231, 182, 1, 254, 186, 231, 182, 1, 254, 178, 231, 182, 1, 254, 136, 231,
- 182, 1, 254, 123, 231, 182, 1, 253, 237, 231, 182, 1, 235, 255, 231, 182,
- 1, 254, 72, 231, 182, 1, 253, 208, 231, 182, 1, 254, 45, 231, 182, 1,
- 254, 41, 231, 182, 1, 253, 231, 231, 182, 1, 253, 206, 231, 182, 1, 246,
- 55, 231, 182, 1, 235, 2, 231, 182, 1, 254, 196, 231, 182, 254, 222, 78,
- 231, 182, 213, 136, 78, 231, 182, 243, 53, 78, 231, 182, 224, 140, 10, 1,
- 252, 55, 2, 4, 214, 106, 51, 10, 1, 151, 2, 113, 170, 48, 10, 1, 217, 81,
- 2, 113, 170, 48, 10, 1, 244, 143, 2, 59, 252, 43, 22, 134, 170, 48, 10,
- 1, 224, 82, 2, 59, 51, 10, 1, 233, 103, 2, 52, 130, 10, 1, 66, 2, 134,
- 170, 48, 10, 1, 79, 2, 113, 170, 252, 43, 22, 202, 48, 10, 1, 79, 2, 113,
- 170, 252, 43, 22, 59, 48, 10, 1, 223, 96, 2, 232, 123, 10, 1, 212, 31, 2,
- 59, 211, 231, 10, 1, 222, 201, 211, 43, 10, 249, 99, 244, 165, 10, 249,
- 99, 248, 184, 10, 249, 99, 234, 205, 10, 249, 99, 244, 163, 10, 249, 99,
- 248, 182, 10, 249, 99, 234, 203, 10, 138, 123, 59, 48, 10, 138, 113, 170,
- 48, 10, 138, 232, 124, 48, 10, 138, 123, 59, 51, 10, 138, 113, 170, 51,
- 10, 138, 232, 124, 51, 10, 204, 244, 163, 10, 204, 248, 182, 10, 204,
- 234, 203, 10, 4, 125, 212, 30, 10, 244, 166, 2, 222, 233, 10, 244, 166,
- 2, 59, 48, 10, 234, 206, 2, 59, 51, 10, 43, 253, 250, 48, 10, 44, 253,
- 250, 48, 10, 43, 253, 250, 51, 10, 44, 253, 250, 51, 10, 52, 44, 253,
- 250, 48, 10, 52, 44, 253, 250, 77, 2, 247, 120, 10, 44, 253, 250, 77, 2,
- 247, 120, 10, 248, 185, 2, 247, 120, 84, 5, 235, 193, 250, 255, 84, 5,
- 250, 255, 84, 5, 254, 75, 84, 5, 213, 147, 84, 1, 219, 251, 61, 84, 1,
- 61, 84, 1, 255, 73, 84, 1, 73, 84, 1, 236, 33, 84, 1, 70, 84, 1, 214,
- 118, 84, 1, 149, 153, 84, 1, 149, 156, 84, 1, 251, 2, 75, 84, 1, 219,
- 251, 75, 84, 1, 75, 84, 1, 254, 201, 84, 1, 251, 2, 76, 84, 1, 219, 251,
- 76, 84, 1, 76, 84, 1, 253, 192, 84, 1, 176, 84, 1, 234, 132, 84, 1, 243,
- 135, 84, 1, 242, 249, 84, 1, 229, 77, 84, 1, 251, 33, 84, 1, 250, 157,
- 84, 1, 235, 141, 84, 1, 235, 114, 84, 1, 227, 165, 84, 1, 215, 156, 84,
- 1, 215, 144, 84, 1, 248, 135, 84, 1, 248, 119, 84, 1, 228, 110, 84, 1,
- 217, 105, 84, 1, 216, 208, 84, 1, 248, 221, 84, 1, 248, 25, 84, 1, 197,
- 84, 1, 228, 92, 84, 1, 190, 84, 1, 225, 147, 84, 1, 252, 191, 84, 1, 252,
- 18, 84, 1, 184, 84, 1, 191, 84, 1, 205, 84, 1, 222, 179, 84, 1, 233, 135,
- 84, 1, 232, 184, 84, 1, 232, 175, 84, 1, 214, 27, 84, 1, 220, 102, 84, 1,
- 218, 223, 84, 1, 206, 84, 1, 162, 84, 25, 5, 226, 234, 84, 25, 5, 226,
- 181, 84, 5, 227, 205, 84, 5, 253, 175, 84, 25, 5, 255, 73, 84, 25, 5, 73,
- 84, 25, 5, 236, 33, 84, 25, 5, 70, 84, 25, 5, 214, 118, 84, 25, 5, 149,
- 153, 84, 25, 5, 149, 222, 180, 84, 25, 5, 251, 2, 75, 84, 25, 5, 219,
- 251, 75, 84, 25, 5, 75, 84, 25, 5, 254, 201, 84, 25, 5, 251, 2, 76, 84,
- 25, 5, 219, 251, 76, 84, 25, 5, 76, 84, 25, 5, 253, 192, 84, 5, 213, 152,
- 84, 25, 5, 224, 185, 75, 84, 25, 5, 253, 171, 84, 226, 204, 84, 218, 111,
- 5, 214, 216, 84, 218, 111, 5, 254, 77, 84, 242, 137, 255, 14, 84, 255, 3,
- 255, 14, 84, 25, 5, 251, 2, 199, 75, 84, 25, 5, 214, 214, 84, 25, 5, 214,
- 117, 84, 1, 224, 88, 84, 1, 234, 115, 84, 1, 242, 226, 84, 1, 210, 116,
- 84, 1, 248, 124, 84, 1, 223, 39, 84, 1, 244, 196, 84, 1, 210, 168, 84, 1,
- 149, 222, 180, 84, 1, 149, 232, 185, 84, 25, 5, 149, 156, 84, 25, 5, 149,
- 232, 185, 84, 248, 178, 84, 52, 248, 178, 84, 21, 210, 86, 84, 21, 110,
- 84, 21, 105, 84, 21, 158, 84, 21, 161, 84, 21, 189, 84, 21, 194, 84, 21,
- 198, 84, 21, 195, 84, 21, 200, 84, 255, 21, 50, 84, 5, 125, 219, 17, 247,
- 120, 84, 1, 251, 2, 61, 84, 1, 226, 234, 84, 1, 226, 181, 84, 1, 253,
- 171, 84, 1, 214, 214, 84, 1, 214, 117, 84, 1, 210, 82, 84, 1, 114, 191,
- 84, 1, 243, 29, 84, 1, 235, 96, 84, 1, 242, 180, 218, 129, 84, 1, 248,
- 125, 84, 1, 252, 111, 146, 5, 250, 255, 146, 5, 254, 75, 146, 5, 213,
- 147, 146, 1, 61, 146, 1, 255, 73, 146, 1, 73, 146, 1, 236, 33, 146, 1,
- 70, 146, 1, 214, 118, 146, 1, 149, 153, 146, 1, 149, 156, 146, 1, 75,
- 146, 1, 254, 201, 146, 1, 76, 146, 1, 253, 192, 146, 1, 176, 146, 1, 234,
- 132, 146, 1, 243, 135, 146, 1, 242, 249, 146, 1, 229, 77, 146, 1, 251,
- 33, 146, 1, 250, 157, 146, 1, 235, 141, 146, 1, 235, 114, 146, 1, 227,
- 165, 146, 1, 215, 156, 146, 1, 215, 144, 146, 1, 248, 135, 146, 1, 248,
- 119, 146, 1, 228, 110, 146, 1, 217, 105, 146, 1, 216, 208, 146, 1, 248,
- 221, 146, 1, 248, 25, 146, 1, 197, 146, 1, 190, 146, 1, 225, 147, 146, 1,
- 252, 191, 146, 1, 252, 18, 146, 1, 184, 146, 1, 191, 146, 1, 205, 146, 1,
- 233, 135, 146, 1, 220, 102, 146, 1, 218, 223, 146, 1, 206, 146, 1, 162,
- 146, 5, 227, 205, 146, 5, 253, 175, 146, 25, 5, 255, 73, 146, 25, 5, 73,
- 146, 25, 5, 236, 33, 146, 25, 5, 70, 146, 25, 5, 214, 118, 146, 25, 5,
- 149, 153, 146, 25, 5, 149, 222, 180, 146, 25, 5, 75, 146, 25, 5, 254,
- 201, 146, 25, 5, 76, 146, 25, 5, 253, 192, 146, 5, 213, 152, 146, 1, 234,
- 124, 217, 105, 146, 253, 193, 233, 23, 78, 146, 1, 222, 179, 146, 1, 223,
- 39, 146, 1, 210, 168, 146, 1, 149, 222, 180, 146, 1, 149, 232, 185, 146,
- 25, 5, 149, 156, 146, 25, 5, 149, 232, 185, 146, 21, 210, 86, 146, 21,
- 110, 146, 21, 105, 146, 21, 158, 146, 21, 161, 146, 21, 189, 146, 21,
- 194, 146, 21, 198, 146, 21, 195, 146, 21, 200, 146, 1, 223, 188, 2, 230,
- 224, 247, 254, 146, 1, 223, 188, 2, 232, 108, 247, 254, 146, 222, 118,
- 78, 146, 222, 118, 50, 146, 249, 98, 227, 197, 110, 146, 249, 98, 227,
- 197, 105, 146, 249, 98, 227, 197, 158, 146, 249, 98, 227, 197, 161, 146,
- 249, 98, 227, 197, 123, 233, 16, 216, 201, 216, 196, 248, 48, 146, 249,
- 98, 248, 49, 219, 119, 146, 235, 161, 146, 243, 103, 78, 183, 5, 254,
- 254, 251, 243, 183, 5, 251, 243, 183, 5, 213, 147, 183, 1, 61, 183, 1,
- 255, 73, 183, 1, 73, 183, 1, 236, 33, 183, 1, 70, 183, 1, 214, 118, 183,
- 1, 245, 209, 183, 1, 254, 201, 183, 1, 226, 183, 183, 1, 253, 192, 183,
- 1, 176, 183, 1, 234, 132, 183, 1, 243, 135, 183, 1, 242, 249, 183, 1,
- 229, 77, 183, 1, 251, 33, 183, 1, 250, 157, 183, 1, 235, 141, 183, 1,
- 235, 114, 183, 1, 227, 165, 183, 1, 215, 156, 183, 1, 215, 144, 183, 1,
- 248, 135, 183, 1, 248, 119, 183, 1, 228, 110, 183, 1, 217, 105, 183, 1,
- 216, 208, 183, 1, 248, 221, 183, 1, 248, 25, 183, 1, 197, 183, 1, 190,
- 183, 1, 225, 147, 183, 1, 252, 191, 183, 1, 252, 18, 183, 1, 184, 183, 1,
- 191, 183, 1, 205, 183, 1, 233, 135, 183, 1, 232, 184, 183, 1, 214, 27,
- 183, 1, 220, 102, 183, 1, 206, 183, 1, 162, 183, 5, 227, 205, 183, 25, 5,
- 255, 73, 183, 25, 5, 73, 183, 25, 5, 236, 33, 183, 25, 5, 70, 183, 25, 5,
- 214, 118, 183, 25, 5, 245, 209, 183, 25, 5, 254, 201, 183, 25, 5, 226,
- 183, 183, 25, 5, 253, 192, 183, 5, 213, 152, 183, 5, 214, 218, 183, 1,
- 234, 115, 183, 1, 242, 226, 183, 1, 210, 116, 183, 1, 222, 179, 183, 1,
- 244, 196, 183, 21, 210, 86, 183, 21, 110, 183, 21, 105, 183, 21, 158,
- 183, 21, 161, 183, 21, 189, 183, 21, 194, 183, 21, 198, 183, 21, 195,
- 183, 21, 200, 183, 216, 74, 183, 254, 253, 183, 235, 178, 183, 214, 146,
- 183, 245, 181, 226, 188, 183, 5, 211, 78, 171, 5, 250, 255, 171, 5, 254,
- 75, 171, 5, 213, 147, 171, 1, 61, 171, 1, 255, 73, 171, 1, 73, 171, 1,
- 236, 33, 171, 1, 70, 171, 1, 214, 118, 171, 1, 149, 153, 171, 1, 149,
- 156, 171, 25, 251, 2, 75, 171, 1, 75, 171, 1, 254, 201, 171, 25, 251, 2,
- 76, 171, 1, 76, 171, 1, 253, 192, 171, 1, 176, 171, 1, 234, 132, 171, 1,
- 243, 135, 171, 1, 242, 249, 171, 1, 229, 77, 171, 1, 251, 33, 171, 1,
- 250, 157, 171, 1, 235, 141, 171, 1, 235, 114, 171, 1, 227, 165, 171, 1,
- 215, 156, 171, 1, 215, 144, 171, 1, 248, 135, 171, 1, 248, 119, 171, 1,
- 228, 110, 171, 1, 217, 105, 171, 1, 216, 208, 171, 1, 248, 221, 171, 1,
- 248, 25, 171, 1, 197, 171, 1, 190, 171, 1, 225, 147, 171, 1, 252, 191,
- 171, 1, 252, 18, 171, 1, 184, 171, 1, 191, 171, 1, 205, 171, 1, 233, 135,
- 171, 1, 232, 184, 171, 1, 214, 27, 171, 1, 220, 102, 171, 1, 218, 223,
- 171, 1, 206, 171, 1, 162, 171, 5, 227, 205, 171, 5, 253, 175, 171, 25, 5,
- 255, 73, 171, 25, 5, 73, 171, 25, 5, 236, 33, 171, 25, 5, 70, 171, 25, 5,
- 214, 118, 171, 25, 5, 149, 153, 171, 25, 5, 149, 222, 180, 171, 25, 5,
- 251, 2, 75, 171, 25, 5, 75, 171, 25, 5, 254, 201, 171, 25, 5, 251, 2, 76,
- 171, 25, 5, 76, 171, 25, 5, 253, 192, 171, 5, 213, 152, 171, 226, 204,
- 171, 1, 149, 222, 180, 171, 1, 149, 232, 185, 171, 25, 5, 149, 156, 171,
- 25, 5, 149, 232, 185, 171, 21, 210, 86, 171, 21, 110, 171, 21, 105, 171,
+ 6, 1, 210, 159, 43, 42, 127, 223, 51, 219, 47, 44, 42, 127, 250, 32, 255,
+ 15, 121, 232, 214, 242, 138, 255, 15, 7, 4, 1, 61, 7, 4, 1, 253, 159, 7,
+ 4, 1, 251, 67, 7, 4, 1, 249, 61, 7, 4, 1, 75, 7, 4, 1, 245, 7, 7, 4, 1,
+ 243, 203, 7, 4, 1, 242, 61, 7, 4, 1, 73, 7, 4, 1, 235, 145, 7, 4, 1, 235,
+ 24, 7, 4, 1, 156, 7, 4, 1, 193, 7, 4, 1, 230, 26, 7, 4, 1, 76, 7, 4, 1,
+ 226, 106, 7, 4, 1, 224, 97, 7, 4, 1, 153, 7, 4, 1, 222, 92, 7, 4, 1, 217,
+ 153, 7, 4, 1, 70, 7, 4, 1, 214, 105, 7, 4, 1, 212, 98, 7, 4, 1, 211, 178,
+ 7, 4, 1, 211, 117, 7, 4, 1, 210, 159, 43, 249, 100, 127, 67, 232, 214,
+ 44, 249, 100, 127, 183, 228, 74, 219, 19, 235, 194, 245, 32, 78, 250,
+ 177, 50, 224, 229, 50, 249, 99, 50, 211, 40, 50, 251, 136, 130, 221, 174,
+ 50, 248, 2, 249, 164, 50, 244, 137, 226, 155, 235, 239, 233, 43, 52, 254,
+ 111, 223, 255, 78, 228, 53, 50, 219, 53, 240, 169, 223, 103, 50, 231,
+ 233, 248, 72, 50, 225, 22, 50, 218, 24, 105, 218, 24, 158, 255, 4, 255,
+ 15, 230, 229, 50, 225, 69, 50, 230, 225, 247, 121, 250, 184, 218, 24,
+ 110, 231, 149, 226, 155, 235, 239, 222, 248, 52, 254, 111, 223, 255, 78,
+ 212, 114, 244, 3, 123, 224, 22, 212, 114, 244, 3, 123, 242, 28, 212, 114,
+ 244, 3, 134, 224, 20, 235, 194, 224, 14, 78, 7, 6, 1, 115, 2, 242, 137,
+ 7, 6, 1, 115, 2, 142, 7, 6, 1, 115, 2, 250, 31, 7, 6, 1, 115, 2, 183, 7,
+ 6, 1, 115, 2, 248, 2, 7, 6, 1, 115, 2, 222, 235, 48, 7, 6, 1, 254, 244,
+ 7, 6, 1, 251, 68, 2, 250, 184, 7, 6, 1, 160, 2, 242, 137, 7, 6, 1, 160,
+ 2, 142, 7, 6, 1, 160, 2, 250, 31, 7, 6, 1, 160, 2, 248, 2, 7, 6, 1, 240,
+ 155, 2, 242, 137, 7, 6, 1, 240, 155, 2, 142, 7, 6, 1, 240, 155, 2, 250,
+ 31, 7, 6, 1, 240, 155, 2, 248, 2, 7, 6, 1, 245, 60, 7, 6, 1, 230, 27, 2,
+ 183, 7, 6, 1, 144, 2, 242, 137, 7, 6, 1, 144, 2, 142, 7, 6, 1, 144, 2,
+ 250, 31, 7, 6, 1, 144, 2, 183, 7, 6, 1, 144, 2, 248, 2, 230, 85, 50, 7,
+ 6, 1, 144, 2, 91, 7, 6, 1, 104, 2, 242, 137, 7, 6, 1, 104, 2, 142, 7, 6,
+ 1, 104, 2, 250, 31, 7, 6, 1, 104, 2, 248, 2, 7, 6, 1, 211, 118, 2, 142,
+ 7, 6, 1, 216, 152, 7, 4, 1, 220, 77, 222, 92, 7, 4, 1, 115, 2, 242, 137,
+ 7, 4, 1, 115, 2, 142, 7, 4, 1, 115, 2, 250, 31, 7, 4, 1, 115, 2, 183, 7,
+ 4, 1, 115, 2, 248, 2, 7, 4, 1, 115, 2, 222, 235, 48, 7, 4, 1, 254, 244,
+ 7, 4, 1, 251, 68, 2, 250, 184, 7, 4, 1, 160, 2, 242, 137, 7, 4, 1, 160,
+ 2, 142, 7, 4, 1, 160, 2, 250, 31, 7, 4, 1, 160, 2, 248, 2, 7, 4, 1, 240,
+ 155, 2, 242, 137, 7, 4, 1, 240, 155, 2, 142, 7, 4, 1, 240, 155, 2, 250,
+ 31, 7, 4, 1, 240, 155, 2, 248, 2, 7, 4, 1, 245, 60, 7, 4, 1, 230, 27, 2,
+ 183, 7, 4, 1, 144, 2, 242, 137, 7, 4, 1, 144, 2, 142, 7, 4, 1, 144, 2,
+ 250, 31, 7, 4, 1, 144, 2, 183, 7, 4, 1, 144, 2, 248, 2, 247, 170, 50, 7,
+ 4, 1, 144, 2, 91, 7, 4, 1, 104, 2, 242, 137, 7, 4, 1, 104, 2, 142, 7, 4,
+ 1, 104, 2, 250, 31, 7, 4, 1, 104, 2, 248, 2, 7, 4, 1, 211, 118, 2, 142,
+ 7, 4, 1, 216, 152, 7, 4, 1, 211, 118, 2, 248, 2, 7, 6, 1, 115, 2, 231,
+ 233, 7, 4, 1, 115, 2, 231, 233, 7, 6, 1, 115, 2, 251, 147, 7, 4, 1, 115,
+ 2, 251, 147, 7, 6, 1, 115, 2, 226, 225, 7, 4, 1, 115, 2, 226, 225, 7, 6,
+ 1, 251, 68, 2, 142, 7, 4, 1, 251, 68, 2, 142, 7, 6, 1, 251, 68, 2, 250,
+ 31, 7, 4, 1, 251, 68, 2, 250, 31, 7, 6, 1, 251, 68, 2, 59, 48, 7, 4, 1,
+ 251, 68, 2, 59, 48, 7, 6, 1, 251, 68, 2, 250, 235, 7, 4, 1, 251, 68, 2,
+ 250, 235, 7, 6, 1, 249, 62, 2, 250, 235, 7, 4, 1, 249, 62, 2, 250, 235,
+ 7, 6, 1, 249, 62, 2, 91, 7, 4, 1, 249, 62, 2, 91, 7, 6, 1, 160, 2, 231,
+ 233, 7, 4, 1, 160, 2, 231, 233, 7, 6, 1, 160, 2, 251, 147, 7, 4, 1, 160,
+ 2, 251, 147, 7, 6, 1, 160, 2, 59, 48, 7, 4, 1, 160, 2, 59, 48, 7, 6, 1,
+ 160, 2, 226, 225, 7, 4, 1, 160, 2, 226, 225, 7, 6, 1, 160, 2, 250, 235,
+ 7, 4, 1, 160, 2, 250, 235, 7, 6, 1, 243, 204, 2, 250, 31, 7, 4, 1, 243,
+ 204, 2, 250, 31, 7, 6, 1, 243, 204, 2, 251, 147, 7, 4, 1, 243, 204, 2,
+ 251, 147, 7, 6, 1, 243, 204, 2, 59, 48, 7, 4, 1, 243, 204, 2, 59, 48, 7,
+ 6, 1, 243, 204, 2, 250, 184, 7, 4, 1, 243, 204, 2, 250, 184, 7, 6, 1,
+ 242, 62, 2, 250, 31, 7, 4, 1, 242, 62, 2, 250, 31, 7, 6, 1, 242, 62, 2,
+ 91, 7, 4, 1, 242, 62, 2, 91, 7, 6, 1, 240, 155, 2, 183, 7, 4, 1, 240,
+ 155, 2, 183, 7, 6, 1, 240, 155, 2, 231, 233, 7, 4, 1, 240, 155, 2, 231,
+ 233, 7, 6, 1, 240, 155, 2, 251, 147, 7, 4, 1, 240, 155, 2, 251, 147, 7,
+ 6, 1, 240, 155, 2, 226, 225, 7, 4, 1, 240, 155, 2, 226, 225, 7, 6, 1,
+ 240, 155, 2, 59, 48, 7, 4, 1, 247, 120, 73, 7, 6, 27, 236, 32, 7, 4, 27,
+ 236, 32, 7, 6, 1, 235, 146, 2, 250, 31, 7, 4, 1, 235, 146, 2, 250, 31, 7,
+ 6, 1, 235, 25, 2, 250, 184, 7, 4, 1, 235, 25, 2, 250, 184, 7, 4, 1, 233,
+ 240, 7, 6, 1, 233, 150, 2, 142, 7, 4, 1, 233, 150, 2, 142, 7, 6, 1, 233,
+ 150, 2, 250, 184, 7, 4, 1, 233, 150, 2, 250, 184, 7, 6, 1, 233, 150, 2,
+ 250, 235, 7, 4, 1, 233, 150, 2, 250, 235, 7, 6, 1, 233, 150, 2, 230, 225,
+ 247, 121, 7, 4, 1, 233, 150, 2, 230, 225, 247, 121, 7, 6, 1, 233, 150, 2,
+ 91, 7, 4, 1, 233, 150, 2, 91, 7, 6, 1, 230, 27, 2, 142, 7, 4, 1, 230, 27,
+ 2, 142, 7, 6, 1, 230, 27, 2, 250, 184, 7, 4, 1, 230, 27, 2, 250, 184, 7,
+ 6, 1, 230, 27, 2, 250, 235, 7, 4, 1, 230, 27, 2, 250, 235, 7, 4, 1, 230,
+ 27, 224, 205, 251, 79, 254, 58, 7, 6, 1, 245, 139, 7, 4, 1, 245, 139, 7,
+ 6, 1, 144, 2, 231, 233, 7, 4, 1, 144, 2, 231, 233, 7, 6, 1, 144, 2, 251,
+ 147, 7, 4, 1, 144, 2, 251, 147, 7, 6, 1, 144, 2, 52, 142, 7, 4, 1, 144,
+ 2, 52, 142, 7, 6, 27, 226, 235, 7, 4, 27, 226, 235, 7, 6, 1, 223, 225, 2,
+ 142, 7, 4, 1, 223, 225, 2, 142, 7, 6, 1, 223, 225, 2, 250, 184, 7, 4, 1,
+ 223, 225, 2, 250, 184, 7, 6, 1, 223, 225, 2, 250, 235, 7, 4, 1, 223, 225,
+ 2, 250, 235, 7, 6, 1, 222, 93, 2, 142, 7, 4, 1, 222, 93, 2, 142, 7, 6, 1,
+ 222, 93, 2, 250, 31, 7, 4, 1, 222, 93, 2, 250, 31, 7, 6, 1, 222, 93, 2,
+ 250, 184, 7, 4, 1, 222, 93, 2, 250, 184, 7, 6, 1, 222, 93, 2, 250, 235,
+ 7, 4, 1, 222, 93, 2, 250, 235, 7, 6, 1, 217, 154, 2, 250, 184, 7, 4, 1,
+ 217, 154, 2, 250, 184, 7, 6, 1, 217, 154, 2, 250, 235, 7, 4, 1, 217, 154,
+ 2, 250, 235, 7, 6, 1, 217, 154, 2, 91, 7, 4, 1, 217, 154, 2, 91, 7, 6, 1,
+ 104, 2, 183, 7, 4, 1, 104, 2, 183, 7, 6, 1, 104, 2, 231, 233, 7, 4, 1,
+ 104, 2, 231, 233, 7, 6, 1, 104, 2, 251, 147, 7, 4, 1, 104, 2, 251, 147,
+ 7, 6, 1, 104, 2, 222, 235, 48, 7, 4, 1, 104, 2, 222, 235, 48, 7, 6, 1,
+ 104, 2, 52, 142, 7, 4, 1, 104, 2, 52, 142, 7, 6, 1, 104, 2, 226, 225, 7,
+ 4, 1, 104, 2, 226, 225, 7, 6, 1, 212, 99, 2, 250, 31, 7, 4, 1, 212, 99,
+ 2, 250, 31, 7, 6, 1, 211, 118, 2, 250, 31, 7, 4, 1, 211, 118, 2, 250, 31,
+ 7, 6, 1, 211, 118, 2, 248, 2, 7, 6, 1, 210, 160, 2, 142, 7, 4, 1, 210,
+ 160, 2, 142, 7, 6, 1, 210, 160, 2, 59, 48, 7, 4, 1, 210, 160, 2, 59, 48,
+ 7, 6, 1, 210, 160, 2, 250, 235, 7, 4, 1, 210, 160, 2, 250, 235, 7, 4, 1,
+ 199, 222, 92, 7, 4, 1, 57, 2, 91, 7, 6, 1, 57, 2, 103, 7, 6, 1, 57, 2,
+ 216, 12, 7, 4, 1, 57, 2, 216, 12, 7, 6, 1, 138, 194, 7, 4, 1, 138, 194,
+ 7, 6, 1, 204, 76, 7, 6, 1, 251, 68, 2, 103, 7, 4, 1, 251, 68, 2, 103, 7,
+ 6, 1, 254, 220, 249, 61, 7, 6, 1, 249, 62, 2, 103, 7, 6, 1, 249, 62, 2,
+ 216, 12, 7, 4, 1, 249, 62, 2, 216, 12, 7, 4, 1, 215, 94, 248, 55, 7, 6,
+ 1, 223, 50, 75, 7, 6, 1, 221, 196, 7, 6, 1, 204, 75, 7, 6, 1, 245, 8, 2,
+ 103, 7, 4, 1, 245, 8, 2, 103, 7, 6, 1, 243, 204, 2, 103, 7, 6, 1, 243,
+ 108, 7, 4, 1, 240, 202, 7, 6, 1, 235, 186, 7, 6, 1, 240, 155, 2, 91, 7,
+ 6, 1, 235, 25, 2, 103, 7, 4, 1, 235, 25, 2, 103, 7, 4, 1, 233, 150, 2,
+ 130, 7, 4, 1, 233, 101, 2, 91, 7, 6, 1, 215, 94, 193, 7, 6, 1, 230, 27,
+ 2, 43, 103, 7, 4, 1, 230, 27, 2, 199, 44, 233, 37, 7, 6, 1, 144, 2, 230,
+ 225, 183, 7, 6, 1, 144, 2, 240, 249, 7, 4, 1, 144, 2, 240, 249, 7, 6, 1,
+ 226, 220, 7, 4, 1, 226, 220, 7, 6, 1, 226, 107, 2, 103, 7, 4, 1, 226,
+ 107, 2, 103, 7, 1, 210, 214, 7, 6, 1, 138, 105, 7, 4, 1, 138, 105, 7, 6,
+ 1, 245, 76, 7, 1, 223, 50, 245, 77, 232, 124, 7, 4, 1, 217, 154, 2, 226,
+ 67, 103, 7, 6, 1, 217, 154, 2, 103, 7, 4, 1, 217, 154, 2, 103, 7, 6, 1,
+ 217, 154, 2, 223, 56, 103, 7, 6, 1, 104, 2, 240, 249, 7, 4, 1, 104, 2,
+ 240, 249, 7, 6, 1, 214, 157, 7, 6, 1, 214, 106, 2, 103, 7, 6, 1, 211,
+ 118, 2, 103, 7, 4, 1, 211, 118, 2, 103, 7, 6, 1, 210, 160, 2, 91, 7, 4,
+ 1, 210, 160, 2, 91, 7, 6, 1, 245, 9, 7, 6, 1, 245, 10, 223, 49, 7, 4, 1,
+ 245, 10, 223, 49, 7, 4, 1, 245, 10, 2, 217, 78, 7, 1, 113, 2, 91, 7, 6,
+ 1, 138, 189, 7, 4, 1, 138, 189, 7, 1, 235, 194, 242, 181, 218, 131, 2,
+ 91, 7, 1, 211, 181, 7, 1, 248, 48, 250, 12, 7, 1, 233, 78, 250, 12, 7, 1,
+ 254, 138, 250, 12, 7, 1, 223, 56, 250, 12, 7, 6, 1, 246, 41, 2, 250, 235,
+ 7, 6, 1, 249, 62, 2, 4, 1, 210, 160, 2, 250, 235, 7, 4, 1, 246, 41, 2,
+ 250, 235, 7, 6, 1, 232, 189, 7, 6, 1, 233, 150, 2, 4, 1, 235, 145, 7, 4,
+ 1, 232, 189, 7, 6, 1, 228, 187, 7, 6, 1, 230, 27, 2, 4, 1, 235, 145, 7,
+ 4, 1, 228, 187, 7, 6, 1, 115, 2, 250, 235, 7, 4, 1, 115, 2, 250, 235, 7,
+ 6, 1, 240, 155, 2, 250, 235, 7, 4, 1, 240, 155, 2, 250, 235, 7, 6, 1,
+ 144, 2, 250, 235, 7, 4, 1, 144, 2, 250, 235, 7, 6, 1, 104, 2, 250, 235,
+ 7, 4, 1, 104, 2, 250, 235, 7, 6, 1, 104, 2, 248, 3, 22, 231, 233, 7, 4,
+ 1, 104, 2, 248, 3, 22, 231, 233, 7, 6, 1, 104, 2, 248, 3, 22, 142, 7, 4,
+ 1, 104, 2, 248, 3, 22, 142, 7, 6, 1, 104, 2, 248, 3, 22, 250, 235, 7, 4,
+ 1, 104, 2, 248, 3, 22, 250, 235, 7, 6, 1, 104, 2, 248, 3, 22, 242, 137,
+ 7, 4, 1, 104, 2, 248, 3, 22, 242, 137, 7, 4, 1, 215, 94, 75, 7, 6, 1,
+ 115, 2, 248, 3, 22, 231, 233, 7, 4, 1, 115, 2, 248, 3, 22, 231, 233, 7,
+ 6, 1, 115, 2, 59, 77, 22, 231, 233, 7, 4, 1, 115, 2, 59, 77, 22, 231,
+ 233, 7, 6, 1, 254, 245, 2, 231, 233, 7, 4, 1, 254, 245, 2, 231, 233, 7,
+ 6, 1, 243, 204, 2, 91, 7, 4, 1, 243, 204, 2, 91, 7, 6, 1, 243, 204, 2,
+ 250, 235, 7, 4, 1, 243, 204, 2, 250, 235, 7, 6, 1, 235, 25, 2, 250, 235,
+ 7, 4, 1, 235, 25, 2, 250, 235, 7, 6, 1, 144, 2, 226, 225, 7, 4, 1, 144,
+ 2, 226, 225, 7, 6, 1, 144, 2, 226, 226, 22, 231, 233, 7, 4, 1, 144, 2,
+ 226, 226, 22, 231, 233, 7, 6, 1, 245, 10, 2, 250, 235, 7, 4, 1, 245, 10,
+ 2, 250, 235, 7, 4, 1, 235, 146, 2, 250, 235, 7, 6, 1, 246, 40, 7, 6, 1,
+ 249, 62, 2, 4, 1, 210, 159, 7, 4, 1, 246, 40, 7, 6, 1, 243, 204, 2, 142,
+ 7, 4, 1, 243, 204, 2, 142, 7, 6, 1, 240, 200, 7, 6, 1, 211, 181, 7, 6, 1,
+ 230, 27, 2, 242, 137, 7, 4, 1, 230, 27, 2, 242, 137, 7, 6, 1, 115, 2,
+ 222, 235, 77, 22, 142, 7, 4, 1, 115, 2, 222, 235, 77, 22, 142, 7, 6, 1,
+ 254, 245, 2, 142, 7, 4, 1, 254, 245, 2, 142, 7, 6, 1, 144, 2, 218, 104,
+ 22, 142, 7, 4, 1, 144, 2, 218, 104, 22, 142, 7, 6, 1, 115, 2, 52, 242,
+ 137, 7, 4, 1, 115, 2, 52, 242, 137, 7, 6, 1, 115, 2, 235, 194, 251, 147,
+ 7, 4, 1, 115, 2, 235, 194, 251, 147, 7, 6, 1, 160, 2, 52, 242, 137, 7, 4,
+ 1, 160, 2, 52, 242, 137, 7, 6, 1, 160, 2, 235, 194, 251, 147, 7, 4, 1,
+ 160, 2, 235, 194, 251, 147, 7, 6, 1, 240, 155, 2, 52, 242, 137, 7, 4, 1,
+ 240, 155, 2, 52, 242, 137, 7, 6, 1, 240, 155, 2, 235, 194, 251, 147, 7,
+ 4, 1, 240, 155, 2, 235, 194, 251, 147, 7, 6, 1, 144, 2, 52, 242, 137, 7,
+ 4, 1, 144, 2, 52, 242, 137, 7, 6, 1, 144, 2, 235, 194, 251, 147, 7, 4, 1,
+ 144, 2, 235, 194, 251, 147, 7, 6, 1, 223, 225, 2, 52, 242, 137, 7, 4, 1,
+ 223, 225, 2, 52, 242, 137, 7, 6, 1, 223, 225, 2, 235, 194, 251, 147, 7,
+ 4, 1, 223, 225, 2, 235, 194, 251, 147, 7, 6, 1, 104, 2, 52, 242, 137, 7,
+ 4, 1, 104, 2, 52, 242, 137, 7, 6, 1, 104, 2, 235, 194, 251, 147, 7, 4, 1,
+ 104, 2, 235, 194, 251, 147, 7, 6, 1, 222, 93, 2, 249, 221, 51, 7, 4, 1,
+ 222, 93, 2, 249, 221, 51, 7, 6, 1, 217, 154, 2, 249, 221, 51, 7, 4, 1,
+ 217, 154, 2, 249, 221, 51, 7, 6, 1, 210, 231, 7, 4, 1, 210, 231, 7, 6, 1,
+ 242, 62, 2, 250, 235, 7, 4, 1, 242, 62, 2, 250, 235, 7, 6, 1, 230, 27, 2,
+ 199, 44, 233, 37, 7, 4, 1, 249, 62, 2, 249, 101, 7, 6, 1, 226, 135, 7, 4,
+ 1, 226, 135, 7, 6, 1, 210, 160, 2, 103, 7, 4, 1, 210, 160, 2, 103, 7, 6,
+ 1, 115, 2, 59, 48, 7, 4, 1, 115, 2, 59, 48, 7, 6, 1, 160, 2, 250, 184, 7,
+ 4, 1, 160, 2, 250, 184, 7, 6, 1, 144, 2, 248, 3, 22, 231, 233, 7, 4, 1,
+ 144, 2, 248, 3, 22, 231, 233, 7, 6, 1, 144, 2, 216, 90, 22, 231, 233, 7,
+ 4, 1, 144, 2, 216, 90, 22, 231, 233, 7, 6, 1, 144, 2, 59, 48, 7, 4, 1,
+ 144, 2, 59, 48, 7, 6, 1, 144, 2, 59, 77, 22, 231, 233, 7, 4, 1, 144, 2,
+ 59, 77, 22, 231, 233, 7, 6, 1, 211, 118, 2, 231, 233, 7, 4, 1, 211, 118,
+ 2, 231, 233, 7, 4, 1, 233, 150, 2, 249, 101, 7, 4, 1, 230, 27, 2, 249,
+ 101, 7, 4, 1, 217, 154, 2, 249, 101, 7, 4, 1, 247, 120, 235, 145, 7, 4,
+ 1, 248, 144, 247, 221, 7, 4, 1, 224, 32, 247, 221, 7, 6, 1, 115, 2, 91,
+ 7, 6, 1, 251, 68, 2, 91, 7, 4, 1, 251, 68, 2, 91, 7, 6, 1, 233, 150, 2,
+ 130, 7, 6, 1, 217, 154, 2, 248, 0, 91, 7, 4, 1, 222, 93, 2, 217, 251,
+ 217, 78, 7, 4, 1, 210, 160, 2, 217, 251, 217, 78, 7, 6, 1, 242, 181, 218,
+ 130, 7, 4, 1, 242, 181, 218, 130, 7, 6, 1, 57, 2, 91, 7, 6, 1, 104, 130,
+ 7, 6, 1, 215, 94, 214, 105, 7, 6, 1, 160, 2, 91, 7, 4, 1, 160, 2, 91, 7,
+ 6, 1, 235, 146, 2, 91, 7, 4, 1, 235, 146, 2, 91, 7, 6, 1, 4, 224, 98, 2,
+ 241, 53, 217, 78, 7, 4, 1, 224, 98, 2, 241, 53, 217, 78, 7, 6, 1, 223,
+ 225, 2, 91, 7, 4, 1, 223, 225, 2, 91, 7, 6, 1, 211, 118, 2, 91, 7, 4, 1,
+ 211, 118, 2, 91, 7, 4, 1, 215, 94, 61, 7, 4, 1, 254, 144, 7, 4, 1, 215,
+ 94, 254, 144, 7, 4, 1, 57, 2, 103, 7, 4, 1, 204, 76, 7, 4, 1, 251, 68, 2,
+ 249, 101, 7, 4, 1, 249, 62, 2, 217, 78, 7, 4, 1, 249, 62, 2, 103, 7, 4,
+ 1, 223, 50, 75, 7, 4, 1, 221, 196, 7, 4, 1, 221, 197, 2, 103, 7, 4, 1,
+ 204, 75, 7, 4, 1, 223, 50, 204, 75, 7, 4, 1, 223, 50, 204, 160, 2, 103,
+ 7, 4, 1, 250, 1, 223, 50, 204, 75, 7, 4, 1, 247, 120, 235, 146, 2, 91, 7,
+ 4, 1, 243, 204, 2, 103, 7, 4, 1, 119, 243, 203, 7, 1, 4, 6, 243, 203, 7,
+ 4, 1, 243, 108, 7, 4, 1, 223, 152, 240, 249, 7, 4, 1, 215, 94, 242, 61,
+ 7, 4, 1, 242, 62, 2, 103, 7, 4, 1, 241, 209, 2, 103, 7, 4, 1, 240, 155,
+ 2, 91, 7, 4, 1, 235, 186, 7, 1, 4, 6, 73, 7, 4, 1, 233, 150, 2, 230, 225,
+ 183, 7, 4, 1, 233, 150, 2, 252, 42, 7, 4, 1, 233, 150, 2, 223, 56, 103,
+ 7, 4, 1, 233, 2, 7, 4, 1, 215, 94, 193, 7, 4, 1, 215, 94, 232, 51, 2,
+ 199, 233, 37, 7, 4, 1, 232, 51, 2, 103, 7, 4, 1, 230, 27, 2, 43, 103, 7,
+ 4, 1, 230, 27, 2, 223, 56, 103, 7, 1, 4, 6, 230, 26, 7, 4, 1, 252, 135,
+ 76, 7, 1, 4, 6, 226, 235, 7, 4, 1, 250, 1, 226, 202, 7, 4, 1, 225, 134,
+ 7, 4, 1, 215, 94, 153, 7, 4, 1, 215, 94, 223, 225, 2, 199, 233, 37, 7, 4,
+ 1, 215, 94, 223, 225, 2, 103, 7, 4, 1, 223, 225, 2, 199, 233, 37, 7, 4,
+ 1, 223, 225, 2, 217, 78, 7, 4, 1, 223, 225, 2, 244, 88, 7, 4, 1, 223, 50,
+ 223, 225, 2, 244, 88, 7, 1, 4, 6, 153, 7, 1, 4, 6, 235, 194, 153, 7, 4,
+ 1, 222, 93, 2, 103, 7, 4, 1, 245, 76, 7, 4, 1, 247, 120, 235, 146, 2,
+ 218, 104, 22, 103, 7, 4, 1, 218, 232, 223, 50, 245, 76, 7, 4, 1, 245, 77,
+ 2, 249, 101, 7, 4, 1, 215, 94, 217, 153, 7, 4, 1, 217, 154, 2, 223, 56,
+ 103, 7, 4, 1, 104, 130, 7, 4, 1, 214, 157, 7, 4, 1, 214, 106, 2, 103, 7,
+ 4, 1, 215, 94, 214, 105, 7, 4, 1, 215, 94, 212, 98, 7, 4, 1, 215, 94,
+ 211, 117, 7, 1, 4, 6, 211, 117, 7, 4, 1, 210, 160, 2, 223, 56, 103, 7, 4,
+ 1, 210, 160, 2, 249, 101, 7, 4, 1, 245, 9, 7, 4, 1, 245, 10, 2, 249, 101,
+ 7, 1, 242, 181, 218, 130, 7, 1, 225, 140, 213, 135, 243, 250, 7, 1, 235,
+ 194, 242, 181, 218, 130, 7, 1, 218, 111, 251, 67, 7, 1, 251, 247, 250,
+ 12, 7, 1, 4, 6, 253, 159, 7, 4, 1, 250, 1, 204, 75, 7, 1, 4, 6, 243, 204,
+ 2, 103, 7, 1, 4, 6, 242, 61, 7, 4, 1, 235, 146, 2, 249, 128, 7, 4, 1,
+ 215, 94, 235, 24, 7, 1, 4, 6, 156, 7, 4, 1, 224, 98, 2, 103, 7, 1, 242,
+ 181, 218, 131, 2, 91, 7, 1, 223, 50, 242, 181, 218, 131, 2, 91, 7, 4, 1,
+ 246, 41, 247, 221, 7, 4, 1, 248, 27, 247, 221, 7, 4, 1, 246, 41, 247,
+ 222, 2, 249, 101, 7, 4, 1, 215, 186, 247, 221, 7, 4, 1, 216, 236, 247,
+ 221, 7, 4, 1, 217, 30, 247, 222, 2, 249, 101, 7, 4, 1, 244, 135, 247,
+ 221, 7, 4, 1, 232, 101, 247, 221, 7, 4, 1, 232, 52, 247, 221, 7, 1, 251,
+ 247, 225, 182, 7, 1, 251, 255, 225, 182, 7, 4, 1, 215, 94, 242, 62, 2,
+ 244, 88, 7, 4, 1, 215, 94, 242, 62, 2, 244, 89, 22, 217, 78, 58, 1, 4,
+ 242, 61, 58, 1, 4, 242, 62, 2, 103, 58, 1, 4, 235, 145, 58, 1, 4, 153,
+ 58, 1, 4, 215, 94, 153, 58, 1, 4, 215, 94, 223, 225, 2, 103, 58, 1, 4, 6,
+ 235, 194, 153, 58, 1, 4, 212, 98, 58, 1, 4, 211, 117, 58, 1, 224, 191,
+ 58, 1, 52, 224, 191, 58, 1, 215, 94, 249, 220, 58, 1, 254, 58, 58, 1,
+ 223, 50, 249, 220, 58, 1, 44, 163, 222, 234, 58, 1, 43, 163, 222, 234,
+ 58, 1, 242, 181, 218, 130, 58, 1, 223, 50, 242, 181, 218, 130, 58, 1, 43,
+ 253, 250, 58, 1, 44, 253, 250, 58, 1, 120, 253, 250, 58, 1, 124, 253,
+ 250, 58, 1, 250, 32, 255, 15, 250, 235, 58, 1, 67, 232, 214, 58, 1, 231,
+ 233, 58, 1, 255, 4, 255, 15, 58, 1, 242, 138, 255, 15, 58, 1, 121, 67,
+ 232, 214, 58, 1, 121, 231, 233, 58, 1, 121, 242, 138, 255, 15, 58, 1,
+ 121, 255, 4, 255, 15, 58, 1, 215, 223, 249, 227, 58, 1, 163, 215, 223,
+ 249, 227, 58, 1, 250, 174, 44, 163, 222, 234, 58, 1, 250, 174, 43, 163,
+ 222, 234, 58, 1, 120, 217, 88, 58, 1, 124, 217, 88, 58, 1, 96, 50, 58, 1,
+ 230, 183, 50, 251, 147, 59, 48, 222, 235, 48, 226, 225, 4, 183, 52, 255,
+ 4, 255, 15, 58, 1, 223, 37, 103, 58, 1, 249, 132, 255, 15, 58, 1, 4, 243,
+ 108, 58, 1, 4, 156, 58, 1, 4, 222, 92, 58, 1, 4, 211, 178, 58, 1, 4, 223,
+ 50, 242, 181, 218, 130, 58, 1, 245, 21, 138, 130, 58, 1, 125, 138, 130,
+ 58, 1, 230, 226, 138, 130, 58, 1, 121, 138, 130, 58, 1, 245, 20, 138,
+ 130, 58, 1, 210, 254, 248, 45, 138, 78, 58, 1, 211, 70, 248, 45, 138, 78,
+ 58, 1, 213, 133, 58, 1, 214, 186, 58, 1, 52, 254, 58, 58, 1, 121, 124,
+ 253, 250, 58, 1, 121, 120, 253, 250, 58, 1, 121, 43, 253, 250, 58, 1,
+ 121, 44, 253, 250, 58, 1, 121, 222, 234, 58, 1, 230, 225, 242, 138, 255,
+ 15, 58, 1, 230, 225, 52, 242, 138, 255, 15, 58, 1, 230, 225, 52, 255, 4,
+ 255, 15, 58, 1, 121, 183, 58, 1, 223, 158, 249, 227, 58, 1, 252, 59, 125,
+ 216, 31, 58, 1, 245, 144, 125, 216, 31, 58, 1, 252, 59, 121, 216, 31, 58,
+ 1, 245, 144, 121, 216, 31, 58, 1, 220, 55, 58, 1, 204, 220, 55, 58, 1,
+ 121, 43, 74, 38, 242, 138, 255, 15, 38, 255, 4, 255, 15, 38, 250, 32,
+ 255, 15, 38, 183, 38, 231, 233, 38, 226, 120, 38, 251, 147, 38, 59, 48,
+ 38, 248, 2, 38, 241, 53, 48, 38, 222, 235, 48, 38, 52, 255, 4, 255, 15,
+ 38, 250, 235, 38, 67, 232, 215, 48, 38, 52, 67, 232, 215, 48, 38, 52,
+ 242, 138, 255, 15, 38, 251, 0, 38, 235, 194, 251, 147, 38, 215, 94, 249,
+ 221, 48, 38, 249, 221, 48, 38, 223, 50, 249, 221, 48, 38, 249, 221, 77,
+ 222, 252, 38, 242, 138, 255, 16, 51, 38, 255, 4, 255, 16, 51, 38, 43,
+ 217, 89, 51, 38, 44, 217, 89, 51, 38, 43, 254, 111, 48, 38, 240, 249, 38,
+ 43, 163, 222, 235, 51, 38, 120, 217, 89, 51, 38, 124, 217, 89, 51, 38,
+ 96, 5, 51, 38, 230, 183, 5, 51, 38, 226, 65, 241, 53, 51, 38, 223, 56,
+ 241, 53, 51, 38, 59, 51, 38, 248, 3, 51, 38, 222, 235, 51, 38, 249, 221,
+ 51, 38, 250, 184, 38, 226, 225, 38, 67, 232, 215, 51, 38, 251, 141, 51,
+ 38, 235, 194, 52, 254, 25, 51, 38, 250, 236, 51, 38, 250, 32, 255, 16,
+ 51, 38, 251, 148, 51, 38, 235, 194, 251, 148, 51, 38, 216, 90, 51, 38,
+ 231, 234, 51, 38, 121, 232, 214, 38, 52, 121, 232, 214, 38, 216, 90, 226,
+ 121, 38, 219, 252, 218, 104, 226, 121, 38, 199, 218, 104, 226, 121, 38,
+ 219, 252, 219, 48, 226, 121, 38, 199, 219, 48, 226, 121, 38, 44, 163,
+ 222, 235, 51, 38, 235, 194, 251, 141, 51, 38, 42, 51, 38, 221, 181, 51,
+ 38, 211, 179, 48, 38, 67, 183, 38, 52, 226, 120, 38, 242, 138, 138, 78,
+ 38, 255, 4, 138, 78, 38, 26, 225, 176, 38, 26, 234, 3, 38, 26, 247, 253,
+ 216, 19, 38, 26, 210, 219, 38, 251, 141, 48, 38, 245, 99, 5, 51, 38, 52,
+ 67, 232, 215, 51, 38, 43, 254, 111, 51, 38, 228, 53, 216, 90, 48, 38,
+ 241, 59, 48, 38, 254, 149, 128, 216, 43, 48, 38, 43, 44, 80, 51, 38, 214,
+ 153, 80, 51, 38, 242, 143, 235, 64, 38, 44, 253, 251, 48, 38, 43, 163,
+ 222, 235, 48, 38, 244, 132, 38, 211, 179, 51, 38, 43, 253, 251, 51, 38,
+ 44, 253, 251, 51, 38, 44, 253, 251, 22, 120, 253, 251, 51, 38, 44, 163,
+ 222, 235, 48, 38, 59, 77, 222, 252, 38, 253, 218, 51, 38, 52, 222, 235,
+ 51, 38, 210, 35, 48, 38, 52, 251, 148, 51, 38, 52, 251, 147, 38, 52, 231,
+ 233, 38, 52, 231, 234, 51, 38, 52, 183, 38, 52, 235, 194, 251, 147, 38,
+ 52, 97, 80, 51, 38, 7, 4, 1, 61, 38, 7, 4, 1, 75, 38, 7, 4, 1, 73, 38, 7,
+ 4, 1, 76, 38, 7, 4, 1, 70, 38, 7, 4, 1, 251, 67, 38, 7, 4, 1, 249, 61,
+ 38, 7, 4, 1, 242, 61, 38, 7, 4, 1, 193, 38, 7, 4, 1, 153, 38, 7, 4, 1,
+ 217, 153, 38, 7, 4, 1, 214, 105, 38, 7, 4, 1, 211, 178, 26, 6, 1, 241,
+ 197, 26, 4, 1, 241, 197, 26, 6, 1, 254, 24, 221, 247, 26, 4, 1, 254, 24,
+ 221, 247, 26, 227, 199, 50, 26, 232, 109, 227, 199, 50, 26, 6, 1, 226,
+ 52, 247, 228, 26, 4, 1, 226, 52, 247, 228, 26, 210, 219, 26, 4, 223, 50,
+ 232, 84, 219, 179, 87, 26, 4, 246, 119, 232, 84, 219, 179, 87, 26, 4,
+ 223, 50, 246, 119, 232, 84, 219, 179, 87, 26, 224, 14, 78, 26, 216, 19,
+ 26, 247, 253, 216, 19, 26, 6, 1, 254, 145, 2, 216, 19, 26, 254, 98, 217,
+ 3, 26, 6, 1, 245, 102, 2, 216, 19, 26, 6, 1, 245, 65, 2, 216, 19, 26, 6,
+ 1, 235, 187, 2, 216, 19, 26, 6, 1, 226, 201, 2, 216, 19, 26, 6, 1, 214,
+ 158, 2, 216, 19, 26, 6, 1, 226, 203, 2, 216, 19, 26, 4, 1, 235, 187, 2,
+ 247, 253, 22, 216, 19, 26, 6, 1, 254, 144, 26, 6, 1, 252, 27, 26, 6, 1,
+ 243, 108, 26, 6, 1, 248, 55, 26, 6, 1, 245, 101, 26, 6, 1, 210, 85, 26,
+ 6, 1, 245, 64, 26, 6, 1, 216, 180, 26, 6, 1, 235, 186, 26, 6, 1, 234,
+ 223, 26, 6, 1, 233, 99, 26, 6, 1, 230, 103, 26, 6, 1, 227, 238, 26, 6, 1,
+ 211, 157, 26, 6, 1, 226, 200, 26, 6, 1, 225, 109, 26, 6, 1, 223, 38, 26,
+ 6, 1, 219, 178, 26, 6, 1, 217, 42, 26, 6, 1, 214, 157, 26, 6, 1, 225,
+ 134, 26, 6, 1, 250, 111, 26, 6, 1, 224, 162, 26, 6, 1, 226, 202, 26, 6,
+ 1, 235, 187, 2, 247, 252, 26, 6, 1, 214, 158, 2, 247, 252, 26, 4, 1, 254,
+ 145, 2, 216, 19, 26, 4, 1, 245, 102, 2, 216, 19, 26, 4, 1, 245, 65, 2,
+ 216, 19, 26, 4, 1, 235, 187, 2, 216, 19, 26, 4, 1, 214, 158, 2, 247, 253,
+ 22, 216, 19, 26, 4, 1, 254, 144, 26, 4, 1, 252, 27, 26, 4, 1, 243, 108,
+ 26, 4, 1, 248, 55, 26, 4, 1, 245, 101, 26, 4, 1, 210, 85, 26, 4, 1, 245,
+ 64, 26, 4, 1, 216, 180, 26, 4, 1, 235, 186, 26, 4, 1, 234, 223, 26, 4, 1,
+ 233, 99, 26, 4, 1, 230, 103, 26, 4, 1, 227, 238, 26, 4, 1, 211, 157, 26,
+ 4, 1, 226, 200, 26, 4, 1, 225, 109, 26, 4, 1, 223, 38, 26, 4, 1, 40, 219,
+ 178, 26, 4, 1, 219, 178, 26, 4, 1, 217, 42, 26, 4, 1, 214, 157, 26, 4, 1,
+ 225, 134, 26, 4, 1, 250, 111, 26, 4, 1, 224, 162, 26, 4, 1, 226, 202, 26,
+ 4, 1, 235, 187, 2, 247, 252, 26, 4, 1, 214, 158, 2, 247, 252, 26, 4, 1,
+ 226, 201, 2, 216, 19, 26, 4, 1, 214, 158, 2, 216, 19, 26, 4, 1, 226, 203,
+ 2, 216, 19, 26, 6, 234, 248, 87, 26, 252, 28, 87, 26, 216, 181, 87, 26,
+ 214, 158, 2, 241, 53, 87, 26, 214, 158, 2, 255, 4, 22, 241, 53, 87, 26,
+ 214, 158, 2, 248, 3, 22, 241, 53, 87, 26, 225, 135, 87, 26, 225, 110, 87,
+ 26, 234, 248, 87, 26, 1, 254, 24, 234, 7, 26, 4, 1, 254, 24, 234, 7, 26,
+ 1, 218, 138, 26, 4, 1, 218, 138, 26, 1, 247, 228, 26, 4, 1, 247, 228, 26,
+ 1, 234, 7, 26, 4, 1, 234, 7, 26, 1, 221, 247, 26, 4, 1, 221, 247, 81, 6,
+ 1, 220, 56, 81, 4, 1, 220, 56, 81, 6, 1, 244, 141, 81, 4, 1, 244, 141,
+ 81, 6, 1, 234, 118, 81, 4, 1, 234, 118, 81, 6, 1, 241, 46, 81, 4, 1, 241,
+ 46, 81, 6, 1, 243, 103, 81, 4, 1, 243, 103, 81, 6, 1, 220, 23, 81, 4, 1,
+ 220, 23, 81, 6, 1, 248, 70, 81, 4, 1, 248, 70, 26, 234, 224, 87, 26, 223,
+ 39, 87, 26, 232, 84, 219, 179, 87, 26, 1, 210, 224, 26, 6, 216, 181, 87,
+ 26, 232, 84, 245, 102, 87, 26, 223, 50, 232, 84, 245, 102, 87, 26, 6, 1,
+ 220, 8, 26, 4, 1, 220, 8, 26, 6, 232, 84, 219, 179, 87, 26, 6, 1, 221,
+ 244, 26, 4, 1, 221, 244, 26, 223, 39, 2, 218, 104, 87, 26, 6, 223, 50,
+ 232, 84, 219, 179, 87, 26, 6, 246, 119, 232, 84, 219, 179, 87, 26, 6,
+ 223, 50, 246, 119, 232, 84, 219, 179, 87, 33, 6, 1, 236, 62, 2, 242, 137,
+ 33, 6, 1, 235, 190, 33, 6, 1, 247, 163, 33, 6, 1, 242, 188, 33, 6, 1,
+ 214, 202, 236, 61, 33, 6, 1, 246, 37, 33, 6, 1, 251, 77, 73, 33, 6, 1,
+ 211, 8, 33, 6, 1, 235, 127, 33, 6, 1, 232, 188, 33, 6, 1, 228, 179, 33,
+ 6, 1, 215, 175, 33, 6, 1, 234, 49, 33, 6, 1, 240, 155, 2, 242, 137, 33,
+ 6, 1, 219, 252, 70, 33, 6, 1, 246, 33, 33, 6, 1, 61, 33, 6, 1, 252, 76,
+ 33, 6, 1, 213, 255, 33, 6, 1, 242, 237, 33, 6, 1, 248, 91, 33, 6, 1, 236,
+ 61, 33, 6, 1, 210, 74, 33, 6, 1, 210, 94, 33, 6, 1, 73, 33, 6, 1, 219,
+ 252, 73, 33, 6, 1, 176, 33, 6, 1, 245, 175, 33, 6, 1, 245, 160, 33, 6, 1,
+ 245, 151, 33, 6, 1, 76, 33, 6, 1, 225, 222, 33, 6, 1, 245, 93, 33, 6, 1,
+ 245, 83, 33, 6, 1, 217, 23, 33, 6, 1, 70, 33, 6, 1, 245, 203, 33, 6, 1,
+ 162, 33, 6, 1, 215, 179, 33, 6, 1, 250, 132, 33, 6, 1, 220, 103, 33, 6,
+ 1, 220, 66, 33, 6, 1, 242, 4, 50, 33, 6, 1, 211, 27, 33, 6, 1, 219, 53,
+ 50, 33, 6, 1, 75, 33, 6, 1, 210, 212, 33, 6, 1, 191, 33, 4, 1, 61, 33, 4,
+ 1, 252, 76, 33, 4, 1, 213, 255, 33, 4, 1, 242, 237, 33, 4, 1, 248, 91,
+ 33, 4, 1, 236, 61, 33, 4, 1, 210, 74, 33, 4, 1, 210, 94, 33, 4, 1, 73,
+ 33, 4, 1, 219, 252, 73, 33, 4, 1, 176, 33, 4, 1, 245, 175, 33, 4, 1, 245,
+ 160, 33, 4, 1, 245, 151, 33, 4, 1, 76, 33, 4, 1, 225, 222, 33, 4, 1, 245,
+ 93, 33, 4, 1, 245, 83, 33, 4, 1, 217, 23, 33, 4, 1, 70, 33, 4, 1, 245,
+ 203, 33, 4, 1, 162, 33, 4, 1, 215, 179, 33, 4, 1, 250, 132, 33, 4, 1,
+ 220, 103, 33, 4, 1, 220, 66, 33, 4, 1, 242, 4, 50, 33, 4, 1, 211, 27, 33,
+ 4, 1, 219, 53, 50, 33, 4, 1, 75, 33, 4, 1, 210, 212, 33, 4, 1, 191, 33,
+ 4, 1, 236, 62, 2, 242, 137, 33, 4, 1, 235, 190, 33, 4, 1, 247, 163, 33,
+ 4, 1, 242, 188, 33, 4, 1, 214, 202, 236, 61, 33, 4, 1, 246, 37, 33, 4, 1,
+ 251, 77, 73, 33, 4, 1, 211, 8, 33, 4, 1, 235, 127, 33, 4, 1, 232, 188,
+ 33, 4, 1, 228, 179, 33, 4, 1, 215, 175, 33, 4, 1, 234, 49, 33, 4, 1, 240,
+ 155, 2, 242, 137, 33, 4, 1, 219, 252, 70, 33, 4, 1, 246, 33, 33, 6, 1,
+ 226, 202, 33, 4, 1, 226, 202, 33, 6, 1, 211, 59, 33, 4, 1, 211, 59, 33,
+ 6, 1, 235, 184, 75, 33, 4, 1, 235, 184, 75, 33, 6, 1, 232, 193, 210, 183,
+ 33, 4, 1, 232, 193, 210, 183, 33, 6, 1, 235, 184, 232, 193, 210, 183, 33,
+ 4, 1, 235, 184, 232, 193, 210, 183, 33, 6, 1, 251, 250, 210, 183, 33, 4,
+ 1, 251, 250, 210, 183, 33, 6, 1, 235, 184, 251, 250, 210, 183, 33, 4, 1,
+ 235, 184, 251, 250, 210, 183, 33, 6, 1, 233, 234, 33, 4, 1, 233, 234, 33,
+ 6, 1, 224, 162, 33, 4, 1, 224, 162, 33, 6, 1, 244, 83, 33, 4, 1, 244, 83,
+ 33, 6, 1, 235, 147, 33, 4, 1, 235, 147, 33, 6, 1, 235, 148, 2, 52, 242,
+ 138, 255, 15, 33, 4, 1, 235, 148, 2, 52, 242, 138, 255, 15, 33, 6, 1,
+ 214, 205, 33, 4, 1, 214, 205, 33, 6, 1, 222, 186, 226, 202, 33, 4, 1,
+ 222, 186, 226, 202, 33, 6, 1, 226, 203, 2, 216, 66, 33, 4, 1, 226, 203,
+ 2, 216, 66, 33, 6, 1, 226, 141, 33, 4, 1, 226, 141, 33, 6, 1, 234, 7, 33,
+ 4, 1, 234, 7, 33, 216, 147, 50, 38, 33, 216, 66, 38, 33, 226, 66, 38, 33,
+ 248, 155, 225, 19, 38, 33, 224, 156, 225, 19, 38, 33, 225, 4, 38, 33,
+ 240, 212, 216, 147, 50, 38, 33, 230, 192, 50, 33, 6, 1, 219, 252, 240,
+ 155, 2, 217, 78, 33, 4, 1, 219, 252, 240, 155, 2, 217, 78, 33, 6, 1, 220,
+ 147, 50, 33, 4, 1, 220, 147, 50, 33, 6, 1, 245, 94, 2, 216, 115, 33, 4,
+ 1, 245, 94, 2, 216, 115, 33, 6, 1, 242, 238, 2, 214, 156, 33, 4, 1, 242,
+ 238, 2, 214, 156, 33, 6, 1, 242, 238, 2, 91, 33, 4, 1, 242, 238, 2, 91,
+ 33, 6, 1, 242, 238, 2, 230, 225, 103, 33, 4, 1, 242, 238, 2, 230, 225,
+ 103, 33, 6, 1, 210, 75, 2, 248, 40, 33, 4, 1, 210, 75, 2, 248, 40, 33, 6,
+ 1, 210, 95, 2, 248, 40, 33, 4, 1, 210, 95, 2, 248, 40, 33, 6, 1, 235, 14,
+ 2, 248, 40, 33, 4, 1, 235, 14, 2, 248, 40, 33, 6, 1, 235, 14, 2, 67, 91,
+ 33, 4, 1, 235, 14, 2, 67, 91, 33, 6, 1, 235, 14, 2, 91, 33, 4, 1, 235,
+ 14, 2, 91, 33, 6, 1, 252, 125, 176, 33, 4, 1, 252, 125, 176, 33, 6, 1,
+ 245, 152, 2, 248, 40, 33, 4, 1, 245, 152, 2, 248, 40, 33, 6, 27, 245,
+ 152, 242, 237, 33, 4, 27, 245, 152, 242, 237, 33, 6, 1, 225, 223, 2, 230,
+ 225, 103, 33, 4, 1, 225, 223, 2, 230, 225, 103, 33, 6, 1, 255, 21, 162,
+ 33, 4, 1, 255, 21, 162, 33, 6, 1, 245, 84, 2, 248, 40, 33, 4, 1, 245, 84,
+ 2, 248, 40, 33, 6, 1, 217, 24, 2, 248, 40, 33, 4, 1, 217, 24, 2, 248, 40,
+ 33, 6, 1, 218, 122, 70, 33, 4, 1, 218, 122, 70, 33, 6, 1, 218, 122, 104,
+ 2, 91, 33, 4, 1, 218, 122, 104, 2, 91, 33, 6, 1, 242, 50, 2, 248, 40, 33,
+ 4, 1, 242, 50, 2, 248, 40, 33, 6, 27, 217, 24, 215, 179, 33, 4, 27, 217,
+ 24, 215, 179, 33, 6, 1, 250, 133, 2, 248, 40, 33, 4, 1, 250, 133, 2, 248,
+ 40, 33, 6, 1, 250, 133, 2, 67, 91, 33, 4, 1, 250, 133, 2, 67, 91, 33, 6,
+ 1, 220, 34, 33, 4, 1, 220, 34, 33, 6, 1, 255, 21, 250, 132, 33, 4, 1,
+ 255, 21, 250, 132, 33, 6, 1, 255, 21, 250, 133, 2, 248, 40, 33, 4, 1,
+ 255, 21, 250, 133, 2, 248, 40, 33, 1, 226, 59, 33, 6, 1, 210, 75, 2, 251,
+ 147, 33, 4, 1, 210, 75, 2, 251, 147, 33, 6, 1, 235, 14, 2, 103, 33, 4, 1,
+ 235, 14, 2, 103, 33, 6, 1, 245, 176, 2, 217, 78, 33, 4, 1, 245, 176, 2,
+ 217, 78, 33, 6, 1, 245, 152, 2, 103, 33, 4, 1, 245, 152, 2, 103, 33, 6,
+ 1, 245, 152, 2, 217, 78, 33, 4, 1, 245, 152, 2, 217, 78, 33, 6, 1, 234,
+ 128, 250, 132, 33, 4, 1, 234, 128, 250, 132, 33, 6, 1, 245, 161, 2, 217,
+ 78, 33, 4, 1, 245, 161, 2, 217, 78, 33, 4, 1, 226, 59, 33, 6, 1, 115, 2,
+ 251, 147, 33, 4, 1, 115, 2, 251, 147, 33, 6, 1, 115, 2, 248, 2, 33, 4, 1,
+ 115, 2, 248, 2, 33, 6, 27, 115, 236, 61, 33, 4, 27, 115, 236, 61, 33, 6,
+ 1, 236, 62, 2, 251, 147, 33, 4, 1, 236, 62, 2, 251, 147, 33, 6, 1, 221,
+ 196, 33, 4, 1, 221, 196, 33, 6, 1, 221, 197, 2, 248, 2, 33, 4, 1, 221,
+ 197, 2, 248, 2, 33, 6, 1, 210, 75, 2, 248, 2, 33, 4, 1, 210, 75, 2, 248,
+ 2, 33, 6, 1, 210, 95, 2, 248, 2, 33, 4, 1, 210, 95, 2, 248, 2, 33, 6, 1,
+ 255, 21, 246, 37, 33, 4, 1, 255, 21, 246, 37, 33, 6, 1, 240, 155, 2, 231,
+ 233, 33, 4, 1, 240, 155, 2, 231, 233, 33, 6, 1, 240, 155, 2, 248, 2, 33,
+ 4, 1, 240, 155, 2, 248, 2, 33, 6, 1, 144, 2, 248, 2, 33, 4, 1, 144, 2,
+ 248, 2, 33, 6, 1, 252, 135, 76, 33, 4, 1, 252, 135, 76, 33, 6, 1, 252,
+ 135, 144, 2, 248, 2, 33, 4, 1, 252, 135, 144, 2, 248, 2, 33, 6, 1, 160,
+ 2, 248, 2, 33, 4, 1, 160, 2, 248, 2, 33, 6, 1, 104, 2, 231, 233, 33, 4,
+ 1, 104, 2, 231, 233, 33, 6, 1, 104, 2, 248, 2, 33, 4, 1, 104, 2, 248, 2,
+ 33, 6, 1, 104, 2, 52, 142, 33, 4, 1, 104, 2, 52, 142, 33, 6, 1, 250, 133,
+ 2, 248, 2, 33, 4, 1, 250, 133, 2, 248, 2, 33, 6, 1, 242, 238, 2, 248, 40,
+ 33, 4, 1, 242, 238, 2, 248, 40, 33, 6, 1, 211, 28, 2, 248, 2, 33, 4, 1,
+ 211, 28, 2, 248, 2, 33, 6, 1, 242, 238, 2, 218, 104, 22, 103, 33, 4, 1,
+ 242, 238, 2, 218, 104, 22, 103, 33, 6, 1, 242, 50, 2, 103, 33, 4, 1, 242,
+ 50, 2, 103, 33, 6, 1, 242, 50, 2, 91, 33, 4, 1, 242, 50, 2, 91, 33, 6, 1,
+ 234, 15, 248, 91, 33, 4, 1, 234, 15, 248, 91, 33, 6, 1, 234, 15, 247,
+ 163, 33, 4, 1, 234, 15, 247, 163, 33, 6, 1, 234, 15, 210, 27, 33, 4, 1,
+ 234, 15, 210, 27, 33, 6, 1, 234, 15, 246, 31, 33, 4, 1, 234, 15, 246, 31,
+ 33, 6, 1, 234, 15, 232, 188, 33, 4, 1, 234, 15, 232, 188, 33, 6, 1, 234,
+ 15, 228, 179, 33, 4, 1, 234, 15, 228, 179, 33, 6, 1, 234, 15, 219, 110,
+ 33, 4, 1, 234, 15, 219, 110, 33, 6, 1, 234, 15, 216, 61, 33, 4, 1, 234,
+ 15, 216, 61, 33, 6, 1, 223, 50, 210, 94, 33, 4, 1, 223, 50, 210, 94, 33,
+ 6, 1, 245, 176, 2, 103, 33, 4, 1, 245, 176, 2, 103, 33, 6, 1, 232, 255,
+ 33, 4, 1, 232, 255, 33, 6, 1, 223, 40, 33, 4, 1, 223, 40, 33, 6, 1, 211,
+ 92, 33, 4, 1, 211, 92, 33, 6, 1, 224, 89, 33, 4, 1, 224, 89, 33, 6, 1,
+ 212, 22, 33, 4, 1, 212, 22, 33, 6, 1, 254, 167, 176, 33, 4, 1, 254, 167,
+ 176, 33, 6, 1, 245, 176, 2, 230, 225, 103, 33, 4, 1, 245, 176, 2, 230,
+ 225, 103, 33, 6, 1, 245, 152, 2, 230, 225, 103, 33, 4, 1, 245, 152, 2,
+ 230, 225, 103, 33, 6, 1, 225, 223, 2, 248, 40, 33, 4, 1, 225, 223, 2,
+ 248, 40, 33, 6, 1, 220, 35, 2, 248, 40, 33, 4, 1, 220, 35, 2, 248, 40,
+ 150, 6, 1, 253, 165, 150, 6, 1, 252, 40, 150, 6, 1, 242, 204, 150, 6, 1,
+ 248, 222, 150, 6, 1, 245, 214, 150, 6, 1, 210, 116, 150, 6, 1, 245, 198,
+ 150, 6, 1, 245, 66, 150, 6, 1, 111, 150, 6, 1, 210, 74, 150, 6, 1, 235,
+ 228, 150, 6, 1, 232, 191, 150, 6, 1, 211, 160, 150, 6, 1, 251, 34, 150,
+ 6, 1, 234, 166, 150, 6, 1, 241, 69, 150, 6, 1, 235, 142, 150, 6, 1, 242,
+ 247, 150, 6, 1, 250, 127, 150, 6, 1, 231, 59, 150, 6, 1, 211, 8, 150, 6,
+ 1, 228, 40, 150, 6, 1, 220, 103, 150, 6, 1, 213, 138, 150, 6, 1, 250,
+ 158, 150, 6, 1, 225, 206, 150, 6, 1, 235, 111, 150, 6, 1, 205, 150, 6, 1,
+ 221, 162, 150, 6, 1, 213, 179, 150, 6, 1, 216, 63, 150, 6, 1, 223, 96,
+ 150, 6, 1, 249, 239, 150, 6, 1, 210, 249, 150, 6, 1, 225, 47, 150, 6, 1,
+ 234, 177, 150, 6, 1, 226, 223, 150, 6, 1, 244, 143, 150, 58, 1, 43, 163,
+ 222, 234, 150, 254, 58, 150, 245, 155, 78, 150, 245, 32, 78, 150, 249,
+ 220, 150, 224, 14, 78, 150, 255, 22, 78, 150, 4, 1, 253, 165, 150, 4, 1,
+ 252, 40, 150, 4, 1, 242, 204, 150, 4, 1, 248, 222, 150, 4, 1, 245, 214,
+ 150, 4, 1, 210, 116, 150, 4, 1, 245, 198, 150, 4, 1, 245, 66, 150, 4, 1,
+ 111, 150, 4, 1, 210, 74, 150, 4, 1, 235, 228, 150, 4, 1, 232, 191, 150,
+ 4, 1, 211, 160, 150, 4, 1, 251, 34, 150, 4, 1, 234, 166, 150, 4, 1, 241,
+ 69, 150, 4, 1, 235, 142, 150, 4, 1, 242, 247, 150, 4, 1, 250, 127, 150,
+ 4, 1, 231, 59, 150, 4, 1, 211, 8, 150, 4, 1, 228, 40, 150, 4, 1, 220,
+ 103, 150, 4, 1, 213, 138, 150, 4, 1, 250, 158, 150, 4, 1, 225, 206, 150,
+ 4, 1, 235, 111, 150, 4, 1, 205, 150, 4, 1, 221, 162, 150, 4, 1, 213, 179,
+ 150, 4, 1, 216, 63, 150, 4, 1, 223, 96, 150, 4, 1, 249, 239, 150, 4, 1,
+ 210, 249, 150, 4, 1, 225, 47, 150, 4, 1, 234, 177, 150, 4, 1, 226, 223,
+ 150, 4, 1, 244, 143, 150, 4, 27, 245, 215, 210, 249, 150, 243, 230, 218,
+ 130, 150, 240, 169, 150, 246, 96, 50, 94, 255, 16, 245, 58, 94, 255, 16,
+ 221, 163, 94, 255, 16, 220, 89, 94, 255, 16, 210, 104, 224, 72, 94, 255,
+ 16, 210, 104, 243, 126, 94, 255, 16, 216, 76, 94, 255, 16, 223, 48, 94,
+ 255, 16, 210, 103, 94, 255, 16, 225, 246, 94, 255, 16, 211, 20, 94, 255,
+ 16, 216, 215, 94, 255, 16, 243, 42, 94, 255, 16, 243, 43, 230, 70, 94,
+ 255, 16, 243, 40, 94, 255, 16, 224, 73, 226, 17, 94, 255, 16, 216, 254,
+ 243, 57, 94, 255, 16, 225, 227, 94, 255, 16, 253, 201, 242, 42, 94, 255,
+ 16, 230, 80, 94, 255, 16, 231, 209, 94, 255, 16, 231, 50, 94, 255, 16,
+ 231, 51, 234, 178, 94, 255, 16, 248, 164, 94, 255, 16, 224, 84, 94, 255,
+ 16, 216, 254, 224, 68, 94, 255, 16, 211, 30, 252, 41, 210, 230, 94, 255,
+ 16, 226, 208, 94, 255, 16, 236, 20, 94, 255, 16, 248, 71, 94, 255, 16,
+ 210, 33, 94, 164, 231, 144, 250, 36, 94, 225, 12, 220, 37, 94, 225, 12,
+ 241, 251, 221, 163, 94, 225, 12, 241, 251, 225, 240, 94, 225, 12, 241,
+ 251, 224, 77, 94, 225, 12, 241, 159, 94, 225, 12, 215, 177, 94, 225, 12,
+ 221, 163, 94, 225, 12, 225, 240, 94, 225, 12, 224, 77, 94, 225, 12, 241,
+ 62, 94, 225, 12, 241, 63, 241, 253, 31, 214, 3, 94, 225, 12, 224, 18, 94,
+ 225, 12, 248, 209, 177, 231, 172, 94, 225, 12, 231, 39, 94, 224, 142,
+ 231, 169, 94, 225, 12, 223, 170, 94, 224, 142, 225, 248, 94, 225, 12,
+ 220, 22, 247, 121, 94, 225, 12, 219, 160, 247, 121, 94, 224, 142, 219,
+ 54, 225, 242, 94, 164, 214, 160, 247, 121, 94, 164, 232, 109, 247, 121,
+ 94, 224, 142, 227, 196, 242, 41, 94, 225, 12, 224, 78, 224, 72, 94, 1,
+ 254, 171, 94, 1, 252, 29, 94, 1, 242, 202, 94, 1, 248, 190, 94, 1, 241,
+ 239, 94, 1, 214, 3, 94, 1, 210, 97, 94, 1, 241, 198, 94, 1, 216, 231, 94,
+ 1, 210, 233, 94, 1, 40, 234, 251, 94, 1, 234, 251, 94, 1, 233, 95, 94, 1,
+ 40, 231, 66, 94, 1, 231, 66, 94, 1, 40, 227, 195, 94, 1, 227, 195, 94, 1,
+ 221, 250, 94, 1, 253, 163, 94, 1, 40, 225, 222, 94, 1, 225, 222, 94, 1,
+ 40, 215, 180, 94, 1, 215, 180, 94, 1, 224, 40, 94, 1, 223, 68, 94, 1,
+ 220, 21, 94, 1, 217, 39, 94, 27, 211, 6, 52, 214, 3, 94, 27, 211, 6, 214,
+ 4, 210, 233, 94, 27, 211, 6, 52, 210, 233, 94, 224, 142, 243, 42, 94,
+ 224, 142, 243, 40, 10, 54, 50, 10, 5, 221, 243, 10, 244, 31, 231, 155,
+ 10, 5, 222, 24, 10, 5, 221, 246, 254, 38, 249, 110, 222, 194, 254, 38,
+ 244, 5, 222, 194, 10, 223, 135, 254, 38, 225, 184, 230, 194, 50, 254, 38,
+ 225, 184, 216, 249, 216, 149, 50, 254, 222, 50, 10, 249, 220, 10, 248,
+ 151, 220, 138, 10, 225, 14, 213, 241, 50, 10, 5, 230, 175, 10, 5, 222, 4,
+ 254, 173, 212, 45, 10, 5, 254, 173, 253, 222, 10, 5, 223, 168, 254, 172,
+ 10, 5, 223, 176, 254, 153, 254, 105, 10, 5, 217, 71, 10, 4, 125, 217, 81,
+ 10, 4, 125, 27, 112, 2, 233, 104, 2, 211, 43, 10, 4, 125, 210, 108, 10,
+ 4, 244, 166, 10, 4, 248, 185, 10, 4, 234, 206, 10, 220, 151, 10, 215,
+ 212, 59, 224, 142, 78, 10, 224, 14, 78, 10, 1, 234, 210, 211, 43, 10, 1,
+ 242, 20, 10, 1, 112, 2, 231, 229, 48, 10, 1, 112, 2, 202, 48, 10, 1, 212,
+ 31, 2, 202, 48, 10, 1, 112, 2, 202, 51, 10, 1, 79, 2, 202, 48, 10, 1,
+ 254, 171, 10, 1, 252, 55, 10, 1, 217, 9, 231, 165, 10, 1, 217, 8, 10, 1,
+ 216, 193, 10, 1, 235, 124, 10, 1, 242, 38, 10, 1, 234, 130, 10, 1, 248,
+ 196, 10, 1, 216, 203, 10, 1, 223, 96, 10, 1, 210, 108, 10, 1, 221, 167,
+ 10, 1, 220, 60, 10, 1, 222, 27, 10, 1, 248, 217, 10, 1, 217, 81, 10, 1,
+ 210, 111, 10, 1, 254, 197, 10, 1, 242, 245, 10, 1, 234, 176, 2, 113, 170,
+ 48, 10, 1, 234, 176, 2, 134, 170, 51, 10, 1, 244, 169, 79, 2, 235, 194,
+ 214, 105, 10, 1, 244, 169, 79, 2, 113, 170, 48, 10, 1, 244, 169, 79, 2,
+ 134, 170, 48, 10, 217, 44, 10, 1, 244, 143, 10, 1, 224, 82, 10, 1, 234,
+ 251, 10, 1, 233, 103, 10, 1, 231, 79, 10, 1, 228, 63, 10, 1, 241, 219,
+ 10, 1, 212, 30, 10, 1, 112, 231, 193, 10, 1, 211, 43, 10, 244, 164, 10,
+ 248, 183, 10, 234, 204, 10, 244, 166, 10, 248, 185, 10, 234, 206, 10,
+ 220, 94, 10, 218, 46, 10, 231, 227, 48, 10, 202, 48, 10, 202, 51, 10,
+ 218, 66, 254, 171, 10, 235, 194, 248, 185, 10, 164, 228, 64, 242, 219,
+ 10, 209, 255, 10, 25, 5, 4, 214, 106, 48, 10, 25, 5, 235, 194, 4, 214,
+ 106, 48, 10, 25, 5, 59, 51, 10, 223, 50, 248, 185, 10, 244, 167, 2, 113,
+ 247, 119, 10, 212, 32, 202, 51, 254, 38, 21, 210, 86, 254, 38, 21, 110,
+ 254, 38, 21, 105, 254, 38, 21, 158, 254, 38, 21, 161, 254, 38, 21, 189,
+ 254, 38, 21, 194, 254, 38, 21, 198, 254, 38, 21, 195, 254, 38, 21, 200,
+ 10, 225, 183, 50, 10, 248, 84, 220, 138, 10, 216, 147, 220, 138, 10, 244,
+ 82, 225, 10, 218, 157, 10, 1, 247, 120, 252, 55, 10, 1, 247, 120, 224,
+ 82, 10, 1, 218, 24, 254, 171, 10, 1, 112, 212, 46, 10, 1, 112, 2, 212,
+ 32, 202, 48, 10, 1, 112, 2, 212, 32, 202, 51, 10, 1, 125, 242, 20, 10, 1,
+ 125, 202, 254, 171, 10, 1, 125, 202, 212, 30, 10, 1, 104, 2, 202, 48, 10,
+ 1, 125, 202, 211, 43, 10, 1, 215, 149, 10, 1, 215, 147, 10, 1, 252, 65,
+ 10, 1, 217, 9, 2, 222, 234, 10, 1, 217, 9, 2, 134, 170, 77, 246, 104, 10,
+ 1, 225, 206, 10, 1, 217, 6, 10, 1, 252, 53, 10, 1, 122, 2, 202, 48, 10,
+ 1, 122, 2, 113, 170, 67, 48, 10, 1, 227, 154, 10, 1, 246, 44, 10, 1, 122,
+ 2, 134, 170, 48, 10, 1, 217, 27, 10, 1, 217, 25, 10, 1, 248, 131, 10, 1,
+ 248, 197, 2, 222, 234, 10, 1, 248, 197, 2, 59, 51, 10, 1, 248, 197, 2,
+ 59, 252, 44, 22, 4, 217, 81, 10, 1, 248, 202, 10, 1, 248, 133, 10, 1,
+ 246, 71, 10, 1, 248, 197, 2, 134, 170, 77, 246, 104, 10, 1, 248, 197, 2,
+ 244, 12, 170, 48, 10, 1, 222, 172, 10, 1, 223, 97, 2, 4, 214, 105, 10, 1,
+ 223, 97, 2, 222, 234, 10, 1, 223, 97, 2, 59, 51, 10, 1, 223, 97, 2, 4,
+ 214, 106, 51, 10, 1, 223, 97, 2, 59, 252, 44, 22, 59, 48, 10, 1, 223, 97,
+ 2, 113, 170, 48, 10, 1, 235, 121, 10, 1, 223, 97, 2, 244, 12, 170, 48,
+ 10, 1, 221, 168, 2, 59, 252, 44, 22, 59, 48, 10, 1, 221, 168, 2, 134,
+ 170, 51, 10, 1, 221, 168, 2, 134, 170, 252, 44, 22, 134, 170, 48, 10, 1,
+ 222, 28, 2, 113, 170, 51, 10, 1, 222, 28, 2, 134, 170, 48, 10, 1, 217,
+ 82, 2, 134, 170, 48, 10, 1, 254, 198, 2, 134, 170, 48, 10, 1, 247, 120,
+ 244, 143, 10, 1, 244, 144, 2, 59, 230, 110, 51, 10, 1, 244, 144, 2, 59,
+ 51, 10, 1, 213, 248, 10, 1, 244, 144, 2, 134, 170, 51, 10, 1, 225, 204,
+ 10, 1, 224, 83, 2, 59, 48, 10, 1, 224, 83, 2, 134, 170, 48, 10, 1, 234,
+ 175, 10, 1, 217, 251, 234, 251, 10, 1, 234, 252, 2, 222, 234, 10, 1, 234,
+ 252, 2, 59, 48, 10, 1, 229, 80, 10, 1, 234, 252, 2, 134, 170, 51, 10, 1,
+ 243, 123, 10, 1, 243, 124, 2, 222, 234, 10, 1, 229, 3, 10, 1, 243, 124,
+ 2, 113, 170, 51, 10, 1, 242, 102, 10, 1, 243, 124, 2, 134, 170, 48, 10,
+ 1, 233, 104, 2, 4, 214, 105, 10, 1, 233, 104, 2, 59, 48, 10, 1, 233, 104,
+ 2, 134, 170, 48, 10, 1, 233, 104, 2, 134, 170, 51, 10, 1, 228, 64, 2, 59,
+ 51, 10, 1, 228, 64, 242, 219, 10, 1, 222, 215, 10, 1, 228, 64, 2, 222,
+ 234, 10, 1, 228, 64, 2, 134, 170, 48, 10, 1, 241, 220, 247, 142, 10, 1,
+ 217, 28, 2, 59, 48, 10, 1, 241, 220, 2, 79, 48, 10, 1, 241, 220, 242,
+ 172, 10, 1, 241, 220, 242, 173, 2, 202, 48, 10, 1, 217, 9, 231, 166, 242,
+ 172, 10, 1, 212, 31, 2, 222, 234, 10, 1, 234, 74, 226, 235, 10, 1, 226,
+ 235, 10, 1, 70, 10, 1, 210, 212, 10, 1, 234, 74, 210, 212, 10, 1, 212,
+ 31, 2, 113, 170, 48, 10, 1, 213, 255, 10, 1, 244, 169, 211, 43, 10, 1,
+ 79, 2, 217, 78, 10, 1, 79, 2, 4, 214, 105, 10, 1, 212, 31, 2, 59, 48, 10,
+ 1, 75, 10, 1, 79, 2, 134, 170, 51, 10, 1, 79, 252, 133, 10, 1, 79, 252,
+ 134, 2, 202, 48, 10, 243, 230, 218, 130, 10, 1, 254, 244, 10, 4, 125, 27,
+ 222, 28, 2, 233, 104, 2, 112, 231, 193, 10, 4, 125, 27, 224, 83, 2, 233,
+ 104, 2, 112, 231, 193, 10, 4, 125, 66, 65, 17, 10, 4, 125, 233, 104, 254,
+ 171, 10, 4, 125, 235, 124, 10, 4, 125, 134, 247, 119, 10, 4, 125, 221,
+ 167, 10, 245, 144, 64, 253, 167, 10, 218, 153, 64, 222, 139, 245, 176,
+ 241, 156, 10, 4, 125, 222, 184, 210, 86, 10, 4, 125, 214, 159, 223, 116,
+ 210, 86, 10, 4, 125, 247, 120, 241, 237, 64, 234, 130, 10, 4, 125, 66,
+ 53, 17, 10, 4, 121, 221, 167, 10, 4, 125, 231, 228, 10, 4, 212, 30, 10,
+ 4, 211, 43, 10, 4, 125, 211, 43, 10, 4, 125, 228, 63, 10, 225, 42, 64,
+ 222, 14, 10, 245, 153, 250, 176, 121, 218, 130, 10, 245, 153, 250, 176,
+ 125, 218, 130, 10, 222, 184, 125, 218, 131, 2, 244, 105, 250, 175, 10, 4,
+ 121, 231, 79, 10, 1, 248, 197, 2, 235, 194, 214, 105, 10, 1, 223, 97, 2,
+ 235, 194, 214, 105, 245, 23, 254, 38, 21, 210, 86, 245, 23, 254, 38, 21,
+ 110, 245, 23, 254, 38, 21, 105, 245, 23, 254, 38, 21, 158, 245, 23, 254,
+ 38, 21, 161, 245, 23, 254, 38, 21, 189, 245, 23, 254, 38, 21, 194, 245,
+ 23, 254, 38, 21, 198, 245, 23, 254, 38, 21, 195, 245, 23, 254, 38, 21,
+ 200, 10, 1, 220, 61, 2, 59, 51, 10, 1, 248, 218, 2, 59, 51, 10, 1, 242,
+ 246, 2, 59, 51, 10, 5, 219, 159, 254, 127, 10, 5, 219, 159, 224, 236,
+ 231, 59, 10, 1, 241, 220, 2, 235, 194, 214, 105, 182, 245, 144, 64, 226,
+ 15, 182, 218, 20, 243, 230, 218, 130, 182, 218, 68, 243, 230, 218, 130,
+ 182, 218, 20, 249, 227, 182, 218, 68, 249, 227, 182, 203, 249, 227, 182,
+ 249, 228, 219, 107, 233, 47, 182, 249, 228, 219, 107, 222, 252, 182, 218,
+ 20, 249, 228, 219, 107, 233, 47, 182, 218, 68, 249, 228, 219, 107, 222,
+ 252, 182, 249, 181, 182, 242, 2, 226, 251, 182, 242, 2, 231, 37, 182,
+ 242, 2, 253, 219, 182, 255, 22, 78, 182, 1, 254, 175, 182, 1, 218, 24,
+ 254, 175, 182, 1, 252, 26, 182, 1, 243, 114, 182, 1, 243, 115, 243, 92,
+ 182, 1, 248, 193, 182, 1, 247, 120, 248, 194, 222, 230, 182, 1, 241, 239,
+ 182, 1, 212, 30, 182, 1, 210, 108, 182, 1, 241, 196, 182, 1, 216, 227,
+ 182, 1, 216, 228, 243, 92, 182, 1, 210, 199, 182, 1, 210, 200, 241, 239,
+ 182, 1, 234, 226, 182, 1, 233, 102, 182, 1, 230, 191, 182, 1, 227, 195,
+ 182, 1, 220, 144, 182, 1, 40, 220, 144, 182, 1, 75, 182, 1, 225, 222,
+ 182, 1, 223, 50, 225, 222, 182, 1, 222, 25, 182, 1, 224, 76, 182, 1, 222,
+ 230, 182, 1, 220, 21, 182, 1, 217, 37, 182, 1, 225, 170, 252, 13, 182, 1,
+ 225, 170, 242, 243, 182, 1, 225, 170, 248, 21, 182, 224, 152, 48, 182,
+ 224, 152, 51, 182, 224, 152, 246, 118, 182, 210, 17, 48, 182, 210, 17,
+ 51, 182, 210, 17, 246, 118, 182, 223, 132, 48, 182, 223, 132, 51, 182,
+ 246, 119, 210, 24, 241, 45, 182, 246, 119, 210, 24, 254, 106, 182, 241,
+ 242, 48, 182, 241, 242, 51, 182, 241, 241, 246, 118, 182, 245, 80, 48,
+ 182, 245, 80, 51, 182, 222, 108, 182, 244, 137, 247, 121, 182, 223, 249,
+ 182, 222, 135, 182, 113, 67, 170, 48, 182, 113, 67, 170, 51, 182, 134,
+ 170, 48, 182, 134, 170, 51, 182, 226, 249, 232, 215, 48, 182, 226, 249,
+ 232, 215, 51, 182, 230, 57, 182, 252, 132, 182, 1, 219, 50, 210, 80, 182,
+ 1, 219, 50, 234, 123, 182, 1, 219, 50, 244, 155, 10, 1, 252, 56, 2, 134,
+ 170, 240, 251, 51, 10, 1, 252, 56, 2, 59, 252, 44, 22, 134, 170, 48, 10,
+ 1, 252, 56, 2, 134, 170, 225, 8, 214, 153, 51, 10, 1, 252, 56, 2, 134,
+ 170, 225, 8, 214, 153, 252, 44, 22, 113, 170, 48, 10, 1, 252, 56, 2, 113,
+ 170, 252, 44, 22, 59, 48, 10, 1, 252, 56, 2, 235, 194, 4, 214, 106, 51,
+ 10, 1, 252, 56, 2, 4, 214, 105, 10, 1, 122, 2, 113, 170, 48, 10, 1, 122,
+ 2, 134, 170, 225, 8, 214, 153, 51, 10, 1, 248, 197, 2, 113, 170, 213,
+ 189, 252, 44, 22, 4, 217, 81, 10, 1, 248, 197, 2, 235, 194, 4, 214, 106,
+ 51, 10, 1, 223, 97, 2, 91, 10, 1, 221, 168, 2, 244, 12, 170, 48, 10, 1,
+ 254, 198, 2, 113, 170, 48, 10, 1, 254, 198, 2, 134, 170, 225, 8, 246,
+ 105, 48, 10, 1, 254, 198, 2, 113, 170, 213, 189, 48, 10, 1, 244, 144, 2,
+ 113, 170, 51, 10, 1, 244, 144, 2, 134, 170, 225, 8, 214, 153, 51, 10, 1,
+ 234, 176, 2, 59, 48, 10, 1, 234, 176, 2, 134, 170, 48, 10, 1, 234, 176,
+ 2, 134, 170, 225, 8, 214, 153, 51, 10, 1, 66, 2, 59, 48, 10, 1, 66, 2,
+ 59, 51, 10, 1, 228, 64, 2, 113, 170, 51, 10, 1, 228, 64, 2, 4, 217, 81,
+ 10, 1, 228, 64, 2, 4, 214, 105, 10, 1, 233, 104, 2, 130, 10, 1, 223, 97,
+ 2, 113, 170, 213, 189, 48, 10, 1, 223, 97, 2, 202, 48, 10, 1, 221, 168,
+ 2, 113, 170, 213, 189, 48, 10, 1, 122, 2, 4, 10, 1, 217, 82, 51, 10, 1,
+ 122, 2, 4, 10, 1, 217, 82, 22, 113, 247, 119, 10, 1, 221, 168, 2, 4, 10,
+ 1, 217, 82, 22, 113, 247, 119, 10, 1, 223, 97, 2, 4, 10, 1, 217, 82, 22,
+ 113, 247, 119, 10, 1, 122, 2, 4, 10, 1, 217, 82, 48, 10, 1, 112, 2, 245,
+ 23, 254, 38, 21, 113, 48, 10, 1, 112, 2, 245, 23, 254, 38, 21, 134, 48,
+ 10, 1, 244, 169, 79, 2, 245, 23, 254, 38, 21, 113, 48, 10, 1, 244, 169,
+ 79, 2, 245, 23, 254, 38, 21, 134, 48, 10, 1, 244, 169, 79, 2, 245, 23,
+ 254, 38, 21, 244, 12, 51, 10, 1, 212, 31, 2, 245, 23, 254, 38, 21, 113,
+ 48, 10, 1, 212, 31, 2, 245, 23, 254, 38, 21, 134, 48, 10, 1, 79, 252,
+ 134, 2, 245, 23, 254, 38, 21, 113, 48, 10, 1, 79, 252, 134, 2, 245, 23,
+ 254, 38, 21, 134, 48, 10, 1, 122, 2, 245, 23, 254, 38, 21, 244, 12, 51,
+ 10, 1, 221, 168, 2, 245, 23, 254, 38, 21, 244, 12, 48, 10, 1, 221, 168,
+ 2, 235, 194, 214, 105, 10, 1, 234, 252, 2, 113, 170, 48, 216, 206, 1,
+ 242, 47, 216, 206, 1, 220, 69, 216, 206, 1, 228, 62, 216, 206, 1, 223,
+ 185, 216, 206, 1, 252, 190, 216, 206, 1, 232, 252, 216, 206, 1, 235, 9,
+ 216, 206, 1, 254, 160, 216, 206, 1, 214, 25, 216, 206, 1, 231, 78, 216,
+ 206, 1, 244, 195, 216, 206, 1, 248, 24, 216, 206, 1, 216, 208, 216, 206,
+ 1, 233, 132, 216, 206, 1, 243, 132, 216, 206, 1, 242, 178, 216, 206, 1,
+ 221, 166, 216, 206, 1, 248, 149, 216, 206, 1, 210, 100, 216, 206, 1, 217,
+ 38, 216, 206, 1, 211, 103, 216, 206, 1, 225, 234, 216, 206, 1, 235, 129,
+ 216, 206, 1, 250, 135, 216, 206, 1, 215, 156, 216, 206, 1, 241, 189, 216,
+ 206, 1, 234, 132, 216, 206, 1, 216, 207, 216, 206, 1, 210, 115, 216, 206,
+ 1, 220, 59, 216, 206, 1, 222, 31, 216, 206, 1, 248, 220, 216, 206, 1,
+ 111, 216, 206, 1, 210, 23, 216, 206, 1, 254, 194, 216, 206, 1, 242, 244,
+ 216, 206, 1, 224, 86, 216, 206, 1, 212, 63, 216, 206, 255, 23, 216, 206,
+ 255, 39, 216, 206, 240, 115, 216, 206, 245, 209, 216, 206, 214, 222, 216,
+ 206, 226, 183, 216, 206, 245, 217, 216, 206, 245, 17, 216, 206, 226, 248,
+ 216, 206, 227, 0, 216, 206, 218, 46, 216, 206, 1, 229, 226, 228, 138, 21,
+ 210, 86, 228, 138, 21, 110, 228, 138, 21, 105, 228, 138, 21, 158, 228,
+ 138, 21, 161, 228, 138, 21, 189, 228, 138, 21, 194, 228, 138, 21, 198,
+ 228, 138, 21, 195, 228, 138, 21, 200, 228, 138, 1, 61, 228, 138, 1, 245,
+ 210, 228, 138, 1, 73, 228, 138, 1, 75, 228, 138, 1, 70, 228, 138, 1, 226,
+ 184, 228, 138, 1, 76, 228, 138, 1, 248, 210, 228, 138, 1, 230, 26, 228,
+ 138, 1, 252, 192, 228, 138, 1, 190, 228, 138, 1, 217, 106, 228, 138, 1,
+ 235, 142, 228, 138, 1, 250, 158, 228, 138, 1, 248, 222, 228, 138, 1, 205,
+ 228, 138, 1, 222, 180, 228, 138, 1, 206, 228, 138, 1, 243, 80, 228, 138,
+ 1, 244, 197, 228, 138, 1, 176, 228, 138, 1, 233, 136, 228, 138, 1, 229,
+ 230, 211, 223, 228, 138, 1, 185, 228, 138, 1, 227, 166, 228, 138, 1, 197,
+ 228, 138, 1, 162, 228, 138, 1, 212, 65, 228, 138, 1, 191, 228, 138, 1,
+ 227, 167, 211, 223, 228, 138, 1, 235, 62, 235, 142, 228, 138, 1, 235, 62,
+ 250, 158, 228, 138, 1, 235, 62, 205, 228, 138, 38, 219, 252, 125, 216,
+ 31, 228, 138, 38, 219, 252, 121, 216, 31, 228, 138, 38, 219, 252, 222,
+ 229, 216, 31, 228, 138, 38, 199, 248, 39, 216, 31, 228, 138, 38, 199,
+ 125, 216, 31, 228, 138, 38, 199, 121, 216, 31, 228, 138, 38, 199, 222,
+ 229, 216, 31, 228, 138, 38, 229, 194, 78, 228, 138, 38, 52, 59, 48, 228,
+ 138, 125, 138, 254, 58, 228, 138, 121, 138, 254, 58, 228, 138, 16, 226,
+ 185, 248, 51, 228, 138, 16, 243, 79, 228, 138, 249, 220, 228, 138, 245,
+ 32, 78, 228, 138, 233, 109, 221, 253, 1, 254, 177, 221, 253, 1, 251, 229,
+ 221, 253, 1, 243, 113, 221, 253, 1, 248, 195, 221, 253, 1, 235, 153, 221,
+ 253, 1, 252, 190, 221, 253, 1, 210, 89, 221, 253, 1, 235, 161, 221, 253,
+ 1, 216, 68, 221, 253, 1, 210, 182, 221, 253, 1, 235, 10, 221, 253, 1,
+ 233, 129, 221, 253, 1, 230, 191, 221, 253, 1, 227, 195, 221, 253, 1, 219,
+ 157, 221, 253, 1, 236, 0, 221, 253, 1, 244, 122, 221, 253, 1, 215, 182,
+ 221, 253, 1, 224, 11, 221, 253, 1, 222, 230, 221, 253, 1, 220, 86, 221,
+ 253, 1, 217, 101, 221, 253, 164, 236, 0, 221, 253, 164, 235, 255, 221,
+ 253, 164, 226, 244, 221, 253, 164, 248, 208, 221, 253, 58, 1, 245, 106,
+ 210, 182, 221, 253, 164, 245, 106, 210, 182, 221, 253, 25, 5, 199, 75,
+ 221, 253, 25, 5, 75, 221, 253, 25, 5, 226, 119, 255, 74, 221, 253, 25, 5,
+ 199, 255, 74, 221, 253, 25, 5, 255, 74, 221, 253, 25, 5, 226, 119, 61,
+ 221, 253, 25, 5, 199, 61, 221, 253, 25, 5, 61, 221, 253, 58, 1, 219, 252,
+ 61, 221, 253, 25, 5, 219, 252, 61, 221, 253, 25, 5, 199, 70, 221, 253,
+ 25, 5, 70, 221, 253, 58, 1, 73, 221, 253, 25, 5, 199, 73, 221, 253, 25,
+ 5, 73, 221, 253, 25, 5, 76, 221, 253, 25, 5, 218, 46, 221, 253, 164, 229,
+ 93, 221, 253, 224, 142, 229, 93, 221, 253, 224, 142, 254, 219, 221, 253,
+ 224, 142, 254, 115, 221, 253, 224, 142, 252, 115, 221, 253, 224, 142,
+ 253, 202, 221, 253, 224, 142, 220, 9, 221, 253, 255, 22, 78, 221, 253,
+ 224, 142, 231, 69, 224, 46, 221, 253, 224, 142, 210, 31, 221, 253, 224,
+ 142, 224, 46, 221, 253, 224, 142, 210, 114, 221, 253, 224, 142, 215, 90,
+ 221, 253, 224, 142, 254, 10, 221, 253, 224, 142, 219, 54, 231, 146, 221,
+ 253, 224, 142, 254, 101, 231, 183, 1, 242, 25, 231, 183, 1, 255, 26, 231,
+ 183, 1, 254, 217, 231, 183, 1, 255, 0, 231, 183, 1, 254, 210, 231, 183,
+ 1, 214, 124, 231, 183, 1, 253, 161, 231, 183, 1, 235, 161, 231, 183, 1,
+ 253, 199, 231, 183, 1, 254, 182, 231, 183, 1, 254, 187, 231, 183, 1, 254,
+ 179, 231, 183, 1, 254, 137, 231, 183, 1, 254, 124, 231, 183, 1, 253, 238,
+ 231, 183, 1, 236, 0, 231, 183, 1, 254, 73, 231, 183, 1, 253, 209, 231,
+ 183, 1, 254, 46, 231, 183, 1, 254, 42, 231, 183, 1, 253, 232, 231, 183,
+ 1, 253, 207, 231, 183, 1, 246, 56, 231, 183, 1, 235, 3, 231, 183, 1, 254,
+ 197, 231, 183, 254, 223, 78, 231, 183, 213, 136, 78, 231, 183, 243, 54,
+ 78, 231, 183, 224, 141, 10, 1, 252, 56, 2, 4, 214, 106, 51, 10, 1, 151,
+ 2, 113, 170, 48, 10, 1, 217, 82, 2, 113, 170, 48, 10, 1, 244, 144, 2, 59,
+ 252, 44, 22, 134, 170, 48, 10, 1, 224, 83, 2, 59, 51, 10, 1, 233, 104, 2,
+ 52, 130, 10, 1, 66, 2, 134, 170, 48, 10, 1, 79, 2, 113, 170, 252, 44, 22,
+ 202, 48, 10, 1, 79, 2, 113, 170, 252, 44, 22, 59, 48, 10, 1, 223, 97, 2,
+ 232, 124, 10, 1, 212, 31, 2, 59, 211, 231, 10, 1, 222, 202, 211, 43, 10,
+ 249, 100, 244, 166, 10, 249, 100, 248, 185, 10, 249, 100, 234, 206, 10,
+ 249, 100, 244, 164, 10, 249, 100, 248, 183, 10, 249, 100, 234, 204, 10,
+ 138, 123, 59, 48, 10, 138, 113, 170, 48, 10, 138, 232, 125, 48, 10, 138,
+ 123, 59, 51, 10, 138, 113, 170, 51, 10, 138, 232, 125, 51, 10, 204, 244,
+ 164, 10, 204, 248, 183, 10, 204, 234, 204, 10, 4, 125, 212, 30, 10, 244,
+ 167, 2, 222, 234, 10, 244, 167, 2, 59, 48, 10, 234, 207, 2, 59, 51, 10,
+ 43, 253, 251, 48, 10, 44, 253, 251, 48, 10, 43, 253, 251, 51, 10, 44,
+ 253, 251, 51, 10, 52, 44, 253, 251, 48, 10, 52, 44, 253, 251, 77, 2, 247,
+ 121, 10, 44, 253, 251, 77, 2, 247, 121, 10, 248, 186, 2, 247, 121, 84, 5,
+ 235, 194, 251, 0, 84, 5, 251, 0, 84, 5, 254, 76, 84, 5, 213, 147, 84, 1,
+ 219, 252, 61, 84, 1, 61, 84, 1, 255, 74, 84, 1, 73, 84, 1, 236, 34, 84,
+ 1, 70, 84, 1, 214, 118, 84, 1, 149, 153, 84, 1, 149, 156, 84, 1, 251, 3,
+ 75, 84, 1, 219, 252, 75, 84, 1, 75, 84, 1, 254, 202, 84, 1, 251, 3, 76,
+ 84, 1, 219, 252, 76, 84, 1, 76, 84, 1, 253, 193, 84, 1, 176, 84, 1, 234,
+ 133, 84, 1, 243, 136, 84, 1, 242, 250, 84, 1, 229, 78, 84, 1, 251, 34,
+ 84, 1, 250, 158, 84, 1, 235, 142, 84, 1, 235, 115, 84, 1, 227, 166, 84,
+ 1, 215, 157, 84, 1, 215, 145, 84, 1, 248, 136, 84, 1, 248, 120, 84, 1,
+ 228, 111, 84, 1, 217, 106, 84, 1, 216, 209, 84, 1, 248, 222, 84, 1, 248,
+ 26, 84, 1, 197, 84, 1, 228, 93, 84, 1, 190, 84, 1, 225, 148, 84, 1, 252,
+ 192, 84, 1, 252, 19, 84, 1, 185, 84, 1, 191, 84, 1, 205, 84, 1, 222, 180,
+ 84, 1, 233, 136, 84, 1, 232, 185, 84, 1, 232, 176, 84, 1, 214, 27, 84, 1,
+ 220, 103, 84, 1, 218, 224, 84, 1, 206, 84, 1, 162, 84, 25, 5, 226, 235,
+ 84, 25, 5, 226, 182, 84, 5, 227, 206, 84, 5, 253, 176, 84, 25, 5, 255,
+ 74, 84, 25, 5, 73, 84, 25, 5, 236, 34, 84, 25, 5, 70, 84, 25, 5, 214,
+ 118, 84, 25, 5, 149, 153, 84, 25, 5, 149, 222, 181, 84, 25, 5, 251, 3,
+ 75, 84, 25, 5, 219, 252, 75, 84, 25, 5, 75, 84, 25, 5, 254, 202, 84, 25,
+ 5, 251, 3, 76, 84, 25, 5, 219, 252, 76, 84, 25, 5, 76, 84, 25, 5, 253,
+ 193, 84, 5, 213, 152, 84, 25, 5, 224, 186, 75, 84, 25, 5, 253, 172, 84,
+ 226, 205, 84, 218, 112, 5, 214, 216, 84, 218, 112, 5, 254, 78, 84, 242,
+ 138, 255, 15, 84, 255, 4, 255, 15, 84, 25, 5, 251, 3, 199, 75, 84, 25, 5,
+ 214, 214, 84, 25, 5, 214, 117, 84, 1, 224, 89, 84, 1, 234, 116, 84, 1,
+ 242, 227, 84, 1, 210, 116, 84, 1, 248, 125, 84, 1, 223, 40, 84, 1, 244,
+ 197, 84, 1, 210, 168, 84, 1, 149, 222, 181, 84, 1, 149, 232, 186, 84, 25,
+ 5, 149, 156, 84, 25, 5, 149, 232, 186, 84, 248, 179, 84, 52, 248, 179,
+ 84, 21, 210, 86, 84, 21, 110, 84, 21, 105, 84, 21, 158, 84, 21, 161, 84,
+ 21, 189, 84, 21, 194, 84, 21, 198, 84, 21, 195, 84, 21, 200, 84, 255, 22,
+ 50, 84, 5, 125, 219, 18, 247, 121, 84, 1, 251, 3, 61, 84, 1, 226, 235,
+ 84, 1, 226, 182, 84, 1, 253, 172, 84, 1, 214, 214, 84, 1, 214, 117, 84,
+ 1, 210, 82, 84, 1, 114, 191, 84, 1, 243, 30, 84, 1, 235, 97, 84, 1, 242,
+ 181, 218, 130, 84, 1, 248, 126, 84, 1, 252, 112, 146, 5, 251, 0, 146, 5,
+ 254, 76, 146, 5, 213, 147, 146, 1, 61, 146, 1, 255, 74, 146, 1, 73, 146,
+ 1, 236, 34, 146, 1, 70, 146, 1, 214, 118, 146, 1, 149, 153, 146, 1, 149,
+ 156, 146, 1, 75, 146, 1, 254, 202, 146, 1, 76, 146, 1, 253, 193, 146, 1,
+ 176, 146, 1, 234, 133, 146, 1, 243, 136, 146, 1, 242, 250, 146, 1, 229,
+ 78, 146, 1, 251, 34, 146, 1, 250, 158, 146, 1, 235, 142, 146, 1, 235,
+ 115, 146, 1, 227, 166, 146, 1, 215, 157, 146, 1, 215, 145, 146, 1, 248,
+ 136, 146, 1, 248, 120, 146, 1, 228, 111, 146, 1, 217, 106, 146, 1, 216,
+ 209, 146, 1, 248, 222, 146, 1, 248, 26, 146, 1, 197, 146, 1, 190, 146, 1,
+ 225, 148, 146, 1, 252, 192, 146, 1, 252, 19, 146, 1, 185, 146, 1, 191,
+ 146, 1, 205, 146, 1, 233, 136, 146, 1, 220, 103, 146, 1, 218, 224, 146,
+ 1, 206, 146, 1, 162, 146, 5, 227, 206, 146, 5, 253, 176, 146, 25, 5, 255,
+ 74, 146, 25, 5, 73, 146, 25, 5, 236, 34, 146, 25, 5, 70, 146, 25, 5, 214,
+ 118, 146, 25, 5, 149, 153, 146, 25, 5, 149, 222, 181, 146, 25, 5, 75,
+ 146, 25, 5, 254, 202, 146, 25, 5, 76, 146, 25, 5, 253, 193, 146, 5, 213,
+ 152, 146, 1, 234, 125, 217, 106, 146, 253, 194, 233, 24, 78, 146, 1, 222,
+ 180, 146, 1, 223, 40, 146, 1, 210, 168, 146, 1, 149, 222, 181, 146, 1,
+ 149, 232, 186, 146, 25, 5, 149, 156, 146, 25, 5, 149, 232, 186, 146, 21,
+ 210, 86, 146, 21, 110, 146, 21, 105, 146, 21, 158, 146, 21, 161, 146, 21,
+ 189, 146, 21, 194, 146, 21, 198, 146, 21, 195, 146, 21, 200, 146, 1, 223,
+ 189, 2, 230, 225, 247, 255, 146, 1, 223, 189, 2, 232, 109, 247, 255, 146,
+ 222, 119, 78, 146, 222, 119, 50, 146, 249, 99, 227, 198, 110, 146, 249,
+ 99, 227, 198, 105, 146, 249, 99, 227, 198, 158, 146, 249, 99, 227, 198,
+ 161, 146, 249, 99, 227, 198, 123, 233, 17, 216, 202, 216, 197, 248, 49,
+ 146, 249, 99, 248, 50, 219, 120, 146, 235, 162, 146, 243, 104, 78, 184,
+ 5, 254, 255, 251, 244, 184, 5, 251, 244, 184, 5, 213, 147, 184, 1, 61,
+ 184, 1, 255, 74, 184, 1, 73, 184, 1, 236, 34, 184, 1, 70, 184, 1, 214,
+ 118, 184, 1, 245, 210, 184, 1, 254, 202, 184, 1, 226, 184, 184, 1, 253,
+ 193, 184, 1, 176, 184, 1, 234, 133, 184, 1, 243, 136, 184, 1, 242, 250,
+ 184, 1, 229, 78, 184, 1, 251, 34, 184, 1, 250, 158, 184, 1, 235, 142,
+ 184, 1, 235, 115, 184, 1, 227, 166, 184, 1, 215, 157, 184, 1, 215, 145,
+ 184, 1, 248, 136, 184, 1, 248, 120, 184, 1, 228, 111, 184, 1, 217, 106,
+ 184, 1, 216, 209, 184, 1, 248, 222, 184, 1, 248, 26, 184, 1, 197, 184, 1,
+ 190, 184, 1, 225, 148, 184, 1, 252, 192, 184, 1, 252, 19, 184, 1, 185,
+ 184, 1, 191, 184, 1, 205, 184, 1, 233, 136, 184, 1, 232, 185, 184, 1,
+ 214, 27, 184, 1, 220, 103, 184, 1, 206, 184, 1, 162, 184, 5, 227, 206,
+ 184, 25, 5, 255, 74, 184, 25, 5, 73, 184, 25, 5, 236, 34, 184, 25, 5, 70,
+ 184, 25, 5, 214, 118, 184, 25, 5, 245, 210, 184, 25, 5, 254, 202, 184,
+ 25, 5, 226, 184, 184, 25, 5, 253, 193, 184, 5, 213, 152, 184, 5, 214,
+ 218, 184, 1, 234, 116, 184, 1, 242, 227, 184, 1, 210, 116, 184, 1, 222,
+ 180, 184, 1, 244, 197, 184, 21, 210, 86, 184, 21, 110, 184, 21, 105, 184,
+ 21, 158, 184, 21, 161, 184, 21, 189, 184, 21, 194, 184, 21, 198, 184, 21,
+ 195, 184, 21, 200, 184, 216, 75, 184, 254, 254, 184, 235, 179, 184, 214,
+ 146, 184, 245, 182, 226, 189, 184, 5, 211, 78, 171, 5, 251, 0, 171, 5,
+ 254, 76, 171, 5, 213, 147, 171, 1, 61, 171, 1, 255, 74, 171, 1, 73, 171,
+ 1, 236, 34, 171, 1, 70, 171, 1, 214, 118, 171, 1, 149, 153, 171, 1, 149,
+ 156, 171, 25, 251, 3, 75, 171, 1, 75, 171, 1, 254, 202, 171, 25, 251, 3,
+ 76, 171, 1, 76, 171, 1, 253, 193, 171, 1, 176, 171, 1, 234, 133, 171, 1,
+ 243, 136, 171, 1, 242, 250, 171, 1, 229, 78, 171, 1, 251, 34, 171, 1,
+ 250, 158, 171, 1, 235, 142, 171, 1, 235, 115, 171, 1, 227, 166, 171, 1,
+ 215, 157, 171, 1, 215, 145, 171, 1, 248, 136, 171, 1, 248, 120, 171, 1,
+ 228, 111, 171, 1, 217, 106, 171, 1, 216, 209, 171, 1, 248, 222, 171, 1,
+ 248, 26, 171, 1, 197, 171, 1, 190, 171, 1, 225, 148, 171, 1, 252, 192,
+ 171, 1, 252, 19, 171, 1, 185, 171, 1, 191, 171, 1, 205, 171, 1, 233, 136,
+ 171, 1, 232, 185, 171, 1, 214, 27, 171, 1, 220, 103, 171, 1, 218, 224,
+ 171, 1, 206, 171, 1, 162, 171, 5, 227, 206, 171, 5, 253, 176, 171, 25, 5,
+ 255, 74, 171, 25, 5, 73, 171, 25, 5, 236, 34, 171, 25, 5, 70, 171, 25, 5,
+ 214, 118, 171, 25, 5, 149, 153, 171, 25, 5, 149, 222, 181, 171, 25, 5,
+ 251, 3, 75, 171, 25, 5, 75, 171, 25, 5, 254, 202, 171, 25, 5, 251, 3, 76,
+ 171, 25, 5, 76, 171, 25, 5, 253, 193, 171, 5, 213, 152, 171, 226, 205,
+ 171, 1, 149, 222, 181, 171, 1, 149, 232, 186, 171, 25, 5, 149, 156, 171,
+ 25, 5, 149, 232, 186, 171, 21, 210, 86, 171, 21, 110, 171, 21, 105, 171,
21, 158, 171, 21, 161, 171, 21, 189, 171, 21, 194, 171, 21, 198, 171, 21,
- 195, 171, 21, 200, 171, 255, 21, 50, 171, 222, 118, 50, 157, 5, 250, 255,
- 157, 5, 254, 75, 157, 5, 213, 147, 157, 1, 61, 157, 1, 255, 73, 157, 1,
- 73, 157, 1, 236, 33, 157, 1, 70, 157, 1, 214, 118, 157, 1, 149, 153, 157,
- 1, 149, 156, 157, 1, 75, 157, 1, 254, 201, 157, 1, 76, 157, 1, 253, 192,
- 157, 1, 176, 157, 1, 234, 132, 157, 1, 243, 135, 157, 1, 242, 249, 157,
- 1, 229, 77, 157, 1, 251, 33, 157, 1, 250, 157, 157, 1, 235, 141, 157, 1,
- 235, 114, 157, 1, 227, 165, 157, 1, 215, 156, 157, 1, 215, 144, 157, 1,
- 248, 135, 157, 1, 248, 119, 157, 1, 228, 110, 157, 1, 217, 105, 157, 1,
- 216, 208, 157, 1, 248, 221, 157, 1, 248, 25, 157, 1, 197, 157, 1, 190,
- 157, 1, 225, 147, 157, 1, 252, 191, 157, 1, 252, 18, 157, 1, 184, 157, 1,
- 191, 157, 1, 205, 157, 1, 233, 135, 157, 1, 232, 184, 157, 1, 214, 27,
- 157, 1, 220, 102, 157, 1, 218, 223, 157, 1, 206, 157, 1, 162, 157, 5,
- 227, 205, 157, 5, 253, 175, 157, 25, 5, 255, 73, 157, 25, 5, 73, 157, 25,
- 5, 236, 33, 157, 25, 5, 70, 157, 25, 5, 214, 118, 157, 25, 5, 149, 153,
- 157, 25, 5, 149, 222, 180, 157, 25, 5, 75, 157, 25, 5, 254, 201, 157, 25,
- 5, 76, 157, 25, 5, 253, 192, 157, 5, 213, 152, 157, 254, 202, 233, 23,
- 78, 157, 253, 193, 233, 23, 78, 157, 1, 222, 179, 157, 1, 223, 39, 157,
- 1, 210, 168, 157, 1, 149, 222, 180, 157, 1, 149, 232, 185, 157, 25, 5,
- 149, 156, 157, 25, 5, 149, 232, 185, 157, 21, 210, 86, 157, 21, 110, 157,
+ 195, 171, 21, 200, 171, 255, 22, 50, 171, 222, 119, 50, 157, 5, 251, 0,
+ 157, 5, 254, 76, 157, 5, 213, 147, 157, 1, 61, 157, 1, 255, 74, 157, 1,
+ 73, 157, 1, 236, 34, 157, 1, 70, 157, 1, 214, 118, 157, 1, 149, 153, 157,
+ 1, 149, 156, 157, 1, 75, 157, 1, 254, 202, 157, 1, 76, 157, 1, 253, 193,
+ 157, 1, 176, 157, 1, 234, 133, 157, 1, 243, 136, 157, 1, 242, 250, 157,
+ 1, 229, 78, 157, 1, 251, 34, 157, 1, 250, 158, 157, 1, 235, 142, 157, 1,
+ 235, 115, 157, 1, 227, 166, 157, 1, 215, 157, 157, 1, 215, 145, 157, 1,
+ 248, 136, 157, 1, 248, 120, 157, 1, 228, 111, 157, 1, 217, 106, 157, 1,
+ 216, 209, 157, 1, 248, 222, 157, 1, 248, 26, 157, 1, 197, 157, 1, 190,
+ 157, 1, 225, 148, 157, 1, 252, 192, 157, 1, 252, 19, 157, 1, 185, 157, 1,
+ 191, 157, 1, 205, 157, 1, 233, 136, 157, 1, 232, 185, 157, 1, 214, 27,
+ 157, 1, 220, 103, 157, 1, 218, 224, 157, 1, 206, 157, 1, 162, 157, 5,
+ 227, 206, 157, 5, 253, 176, 157, 25, 5, 255, 74, 157, 25, 5, 73, 157, 25,
+ 5, 236, 34, 157, 25, 5, 70, 157, 25, 5, 214, 118, 157, 25, 5, 149, 153,
+ 157, 25, 5, 149, 222, 181, 157, 25, 5, 75, 157, 25, 5, 254, 202, 157, 25,
+ 5, 76, 157, 25, 5, 253, 193, 157, 5, 213, 152, 157, 254, 203, 233, 24,
+ 78, 157, 253, 194, 233, 24, 78, 157, 1, 222, 180, 157, 1, 223, 40, 157,
+ 1, 210, 168, 157, 1, 149, 222, 181, 157, 1, 149, 232, 186, 157, 25, 5,
+ 149, 156, 157, 25, 5, 149, 232, 186, 157, 21, 210, 86, 157, 21, 110, 157,
21, 105, 157, 21, 158, 157, 21, 161, 157, 21, 189, 157, 21, 194, 157, 21,
- 198, 157, 21, 195, 157, 21, 200, 157, 235, 161, 157, 1, 212, 65, 157,
- 244, 2, 123, 224, 21, 157, 244, 2, 123, 242, 27, 157, 244, 2, 134, 224,
- 19, 157, 244, 2, 123, 219, 117, 157, 244, 2, 123, 245, 188, 157, 244, 2,
- 134, 219, 116, 36, 5, 254, 75, 36, 5, 213, 147, 36, 1, 61, 36, 1, 255,
- 73, 36, 1, 73, 36, 1, 236, 33, 36, 1, 70, 36, 1, 214, 118, 36, 1, 75, 36,
- 1, 245, 209, 36, 1, 254, 201, 36, 1, 76, 36, 1, 226, 183, 36, 1, 253,
- 192, 36, 1, 176, 36, 1, 229, 77, 36, 1, 251, 33, 36, 1, 235, 141, 36, 1,
- 227, 165, 36, 1, 215, 156, 36, 1, 228, 110, 36, 1, 217, 105, 36, 1, 197,
- 36, 1, 228, 92, 36, 1, 190, 36, 1, 184, 36, 1, 191, 36, 1, 205, 36, 1,
- 222, 179, 36, 1, 233, 135, 36, 1, 232, 184, 36, 1, 232, 175, 36, 1, 214,
- 27, 36, 1, 220, 102, 36, 1, 218, 223, 36, 1, 206, 36, 1, 162, 36, 25, 5,
- 255, 73, 36, 25, 5, 73, 36, 25, 5, 236, 33, 36, 25, 5, 70, 36, 25, 5,
- 214, 118, 36, 25, 5, 75, 36, 25, 5, 245, 209, 36, 25, 5, 254, 201, 36,
- 25, 5, 76, 36, 25, 5, 226, 183, 36, 25, 5, 253, 192, 36, 5, 213, 152, 36,
- 226, 204, 36, 253, 193, 233, 23, 78, 36, 21, 210, 86, 36, 21, 110, 36,
+ 198, 157, 21, 195, 157, 21, 200, 157, 235, 162, 157, 1, 212, 65, 157,
+ 244, 3, 123, 224, 22, 157, 244, 3, 123, 242, 28, 157, 244, 3, 134, 224,
+ 20, 157, 244, 3, 123, 219, 118, 157, 244, 3, 123, 245, 189, 157, 244, 3,
+ 134, 219, 117, 36, 5, 254, 76, 36, 5, 213, 147, 36, 1, 61, 36, 1, 255,
+ 74, 36, 1, 73, 36, 1, 236, 34, 36, 1, 70, 36, 1, 214, 118, 36, 1, 75, 36,
+ 1, 245, 210, 36, 1, 254, 202, 36, 1, 76, 36, 1, 226, 184, 36, 1, 253,
+ 193, 36, 1, 176, 36, 1, 229, 78, 36, 1, 251, 34, 36, 1, 235, 142, 36, 1,
+ 227, 166, 36, 1, 215, 157, 36, 1, 228, 111, 36, 1, 217, 106, 36, 1, 197,
+ 36, 1, 228, 93, 36, 1, 190, 36, 1, 185, 36, 1, 191, 36, 1, 205, 36, 1,
+ 222, 180, 36, 1, 233, 136, 36, 1, 232, 185, 36, 1, 232, 176, 36, 1, 214,
+ 27, 36, 1, 220, 103, 36, 1, 218, 224, 36, 1, 206, 36, 1, 162, 36, 25, 5,
+ 255, 74, 36, 25, 5, 73, 36, 25, 5, 236, 34, 36, 25, 5, 70, 36, 25, 5,
+ 214, 118, 36, 25, 5, 75, 36, 25, 5, 245, 210, 36, 25, 5, 254, 202, 36,
+ 25, 5, 76, 36, 25, 5, 226, 184, 36, 25, 5, 253, 193, 36, 5, 213, 152, 36,
+ 226, 205, 36, 253, 194, 233, 24, 78, 36, 21, 210, 86, 36, 21, 110, 36,
21, 105, 36, 21, 158, 36, 21, 161, 36, 21, 189, 36, 21, 194, 36, 21, 198,
- 36, 21, 195, 36, 21, 200, 36, 54, 216, 247, 36, 54, 123, 240, 210, 36,
- 54, 123, 216, 147, 36, 248, 146, 50, 36, 230, 135, 50, 36, 211, 45, 50,
- 36, 248, 87, 50, 36, 249, 139, 50, 36, 253, 238, 77, 50, 36, 222, 118,
- 50, 36, 54, 50, 148, 5, 250, 255, 148, 5, 254, 75, 148, 5, 213, 147, 148,
- 1, 61, 148, 1, 255, 73, 148, 1, 73, 148, 1, 236, 33, 148, 1, 70, 148, 1,
+ 36, 21, 195, 36, 21, 200, 36, 54, 216, 248, 36, 54, 123, 240, 211, 36,
+ 54, 123, 216, 148, 36, 248, 147, 50, 36, 230, 136, 50, 36, 211, 45, 50,
+ 36, 248, 88, 50, 36, 249, 140, 50, 36, 253, 239, 77, 50, 36, 222, 119,
+ 50, 36, 54, 50, 148, 5, 251, 0, 148, 5, 254, 76, 148, 5, 213, 147, 148,
+ 1, 61, 148, 1, 255, 74, 148, 1, 73, 148, 1, 236, 34, 148, 1, 70, 148, 1,
214, 118, 148, 1, 149, 153, 148, 1, 149, 156, 148, 1, 75, 148, 1, 245,
- 209, 148, 1, 254, 201, 148, 1, 76, 148, 1, 226, 183, 148, 1, 253, 192,
- 148, 1, 176, 148, 1, 234, 132, 148, 1, 243, 135, 148, 1, 242, 249, 148,
- 1, 229, 77, 148, 1, 251, 33, 148, 1, 250, 157, 148, 1, 235, 141, 148, 1,
- 235, 114, 148, 1, 227, 165, 148, 1, 215, 156, 148, 1, 215, 144, 148, 1,
- 248, 135, 148, 1, 248, 119, 148, 1, 228, 110, 148, 1, 217, 105, 148, 1,
- 216, 208, 148, 1, 248, 221, 148, 1, 248, 25, 148, 1, 197, 148, 1, 190,
- 148, 1, 225, 147, 148, 1, 252, 191, 148, 1, 252, 18, 148, 1, 184, 148, 1,
- 191, 148, 1, 205, 148, 1, 222, 179, 148, 1, 233, 135, 148, 1, 232, 184,
- 148, 1, 214, 27, 148, 1, 220, 102, 148, 1, 218, 223, 148, 1, 206, 148, 1,
- 162, 148, 5, 253, 175, 148, 25, 5, 255, 73, 148, 25, 5, 73, 148, 25, 5,
- 236, 33, 148, 25, 5, 70, 148, 25, 5, 214, 118, 148, 25, 5, 149, 153, 148,
- 25, 5, 149, 222, 180, 148, 25, 5, 75, 148, 25, 5, 245, 209, 148, 25, 5,
- 254, 201, 148, 25, 5, 76, 148, 25, 5, 226, 183, 148, 25, 5, 253, 192,
- 148, 5, 213, 152, 148, 233, 23, 78, 148, 254, 202, 233, 23, 78, 148, 1,
- 215, 183, 148, 1, 246, 38, 148, 1, 149, 222, 180, 148, 1, 149, 232, 185,
- 148, 25, 5, 149, 156, 148, 25, 5, 149, 232, 185, 148, 21, 210, 86, 148,
+ 210, 148, 1, 254, 202, 148, 1, 76, 148, 1, 226, 184, 148, 1, 253, 193,
+ 148, 1, 176, 148, 1, 234, 133, 148, 1, 243, 136, 148, 1, 242, 250, 148,
+ 1, 229, 78, 148, 1, 251, 34, 148, 1, 250, 158, 148, 1, 235, 142, 148, 1,
+ 235, 115, 148, 1, 227, 166, 148, 1, 215, 157, 148, 1, 215, 145, 148, 1,
+ 248, 136, 148, 1, 248, 120, 148, 1, 228, 111, 148, 1, 217, 106, 148, 1,
+ 216, 209, 148, 1, 248, 222, 148, 1, 248, 26, 148, 1, 197, 148, 1, 190,
+ 148, 1, 225, 148, 148, 1, 252, 192, 148, 1, 252, 19, 148, 1, 185, 148, 1,
+ 191, 148, 1, 205, 148, 1, 222, 180, 148, 1, 233, 136, 148, 1, 232, 185,
+ 148, 1, 214, 27, 148, 1, 220, 103, 148, 1, 218, 224, 148, 1, 206, 148, 1,
+ 162, 148, 5, 253, 176, 148, 25, 5, 255, 74, 148, 25, 5, 73, 148, 25, 5,
+ 236, 34, 148, 25, 5, 70, 148, 25, 5, 214, 118, 148, 25, 5, 149, 153, 148,
+ 25, 5, 149, 222, 181, 148, 25, 5, 75, 148, 25, 5, 245, 210, 148, 25, 5,
+ 254, 202, 148, 25, 5, 76, 148, 25, 5, 226, 184, 148, 25, 5, 253, 193,
+ 148, 5, 213, 152, 148, 233, 24, 78, 148, 254, 203, 233, 24, 78, 148, 1,
+ 215, 184, 148, 1, 246, 39, 148, 1, 149, 222, 181, 148, 1, 149, 232, 186,
+ 148, 25, 5, 149, 156, 148, 25, 5, 149, 232, 186, 148, 21, 210, 86, 148,
21, 110, 148, 21, 105, 148, 21, 158, 148, 21, 161, 148, 21, 189, 148, 21,
- 194, 148, 21, 198, 148, 21, 195, 148, 21, 200, 148, 244, 2, 21, 210, 87,
- 31, 226, 237, 224, 223, 64, 161, 148, 244, 2, 21, 123, 31, 226, 237, 224,
- 223, 64, 161, 148, 244, 2, 21, 113, 31, 226, 237, 224, 223, 64, 161, 148,
- 244, 2, 21, 134, 31, 226, 237, 224, 223, 64, 161, 148, 244, 2, 21, 123,
- 31, 245, 42, 224, 223, 64, 161, 148, 244, 2, 21, 113, 31, 245, 42, 224,
- 223, 64, 161, 148, 244, 2, 21, 134, 31, 245, 42, 224, 223, 64, 161, 148,
- 5, 215, 84, 165, 5, 254, 75, 165, 5, 213, 147, 165, 1, 61, 165, 1, 255,
- 73, 165, 1, 73, 165, 1, 236, 33, 165, 1, 70, 165, 1, 214, 118, 165, 1,
- 149, 153, 165, 1, 149, 156, 165, 1, 75, 165, 1, 245, 209, 165, 1, 254,
- 201, 165, 1, 76, 165, 1, 226, 183, 165, 1, 253, 192, 165, 1, 176, 165, 1,
- 234, 132, 165, 1, 243, 135, 165, 1, 242, 249, 165, 1, 229, 77, 165, 1,
- 251, 33, 165, 1, 250, 157, 165, 1, 235, 141, 165, 1, 235, 114, 165, 1,
- 227, 165, 165, 1, 215, 156, 165, 1, 215, 144, 165, 1, 248, 135, 165, 1,
- 248, 119, 165, 1, 228, 110, 165, 1, 217, 105, 165, 1, 216, 208, 165, 1,
- 248, 221, 165, 1, 248, 25, 165, 1, 197, 165, 1, 190, 165, 1, 225, 147,
- 165, 1, 252, 191, 165, 1, 252, 18, 165, 1, 184, 165, 1, 191, 165, 1, 205,
- 165, 1, 222, 179, 165, 1, 233, 135, 165, 1, 232, 184, 165, 1, 214, 27,
- 165, 1, 220, 102, 165, 1, 218, 223, 165, 1, 206, 165, 1, 162, 165, 5,
- 227, 205, 165, 5, 253, 175, 165, 25, 5, 255, 73, 165, 25, 5, 73, 165, 25,
- 5, 236, 33, 165, 25, 5, 70, 165, 25, 5, 214, 118, 165, 25, 5, 149, 153,
- 165, 25, 5, 149, 222, 180, 165, 25, 5, 75, 165, 25, 5, 245, 209, 165, 25,
- 5, 254, 201, 165, 25, 5, 76, 165, 25, 5, 226, 183, 165, 25, 5, 253, 192,
- 165, 5, 213, 152, 165, 233, 23, 78, 165, 254, 202, 233, 23, 78, 165, 1,
- 244, 196, 165, 1, 149, 222, 180, 165, 1, 149, 232, 185, 165, 25, 5, 149,
- 156, 165, 25, 5, 149, 232, 185, 165, 21, 210, 86, 165, 21, 110, 165, 21,
+ 194, 148, 21, 198, 148, 21, 195, 148, 21, 200, 148, 244, 3, 21, 210, 87,
+ 31, 226, 238, 224, 224, 64, 161, 148, 244, 3, 21, 123, 31, 226, 238, 224,
+ 224, 64, 161, 148, 244, 3, 21, 113, 31, 226, 238, 224, 224, 64, 161, 148,
+ 244, 3, 21, 134, 31, 226, 238, 224, 224, 64, 161, 148, 244, 3, 21, 123,
+ 31, 245, 43, 224, 224, 64, 161, 148, 244, 3, 21, 113, 31, 245, 43, 224,
+ 224, 64, 161, 148, 244, 3, 21, 134, 31, 245, 43, 224, 224, 64, 161, 148,
+ 5, 215, 84, 165, 5, 254, 76, 165, 5, 213, 147, 165, 1, 61, 165, 1, 255,
+ 74, 165, 1, 73, 165, 1, 236, 34, 165, 1, 70, 165, 1, 214, 118, 165, 1,
+ 149, 153, 165, 1, 149, 156, 165, 1, 75, 165, 1, 245, 210, 165, 1, 254,
+ 202, 165, 1, 76, 165, 1, 226, 184, 165, 1, 253, 193, 165, 1, 176, 165, 1,
+ 234, 133, 165, 1, 243, 136, 165, 1, 242, 250, 165, 1, 229, 78, 165, 1,
+ 251, 34, 165, 1, 250, 158, 165, 1, 235, 142, 165, 1, 235, 115, 165, 1,
+ 227, 166, 165, 1, 215, 157, 165, 1, 215, 145, 165, 1, 248, 136, 165, 1,
+ 248, 120, 165, 1, 228, 111, 165, 1, 217, 106, 165, 1, 216, 209, 165, 1,
+ 248, 222, 165, 1, 248, 26, 165, 1, 197, 165, 1, 190, 165, 1, 225, 148,
+ 165, 1, 252, 192, 165, 1, 252, 19, 165, 1, 185, 165, 1, 191, 165, 1, 205,
+ 165, 1, 222, 180, 165, 1, 233, 136, 165, 1, 232, 185, 165, 1, 214, 27,
+ 165, 1, 220, 103, 165, 1, 218, 224, 165, 1, 206, 165, 1, 162, 165, 5,
+ 227, 206, 165, 5, 253, 176, 165, 25, 5, 255, 74, 165, 25, 5, 73, 165, 25,
+ 5, 236, 34, 165, 25, 5, 70, 165, 25, 5, 214, 118, 165, 25, 5, 149, 153,
+ 165, 25, 5, 149, 222, 181, 165, 25, 5, 75, 165, 25, 5, 245, 210, 165, 25,
+ 5, 254, 202, 165, 25, 5, 76, 165, 25, 5, 226, 184, 165, 25, 5, 253, 193,
+ 165, 5, 213, 152, 165, 233, 24, 78, 165, 254, 203, 233, 24, 78, 165, 1,
+ 244, 197, 165, 1, 149, 222, 181, 165, 1, 149, 232, 186, 165, 25, 5, 149,
+ 156, 165, 25, 5, 149, 232, 186, 165, 21, 210, 86, 165, 21, 110, 165, 21,
105, 165, 21, 158, 165, 21, 161, 165, 21, 189, 165, 21, 194, 165, 21,
- 198, 165, 21, 195, 165, 21, 200, 165, 5, 235, 102, 165, 5, 214, 161, 136,
- 5, 254, 75, 136, 5, 213, 147, 136, 1, 61, 136, 1, 255, 73, 136, 1, 73,
- 136, 1, 236, 33, 136, 1, 70, 136, 1, 214, 118, 136, 1, 149, 153, 136, 1,
- 149, 156, 136, 1, 75, 136, 1, 245, 209, 136, 1, 254, 201, 136, 1, 76,
- 136, 1, 226, 183, 136, 1, 253, 192, 136, 1, 176, 136, 1, 234, 132, 136,
- 1, 243, 135, 136, 1, 242, 249, 136, 1, 229, 77, 136, 1, 251, 33, 136, 1,
- 250, 157, 136, 1, 235, 141, 136, 1, 235, 114, 136, 1, 227, 165, 136, 1,
- 215, 156, 136, 1, 215, 144, 136, 1, 248, 135, 136, 1, 248, 119, 136, 1,
- 228, 110, 136, 1, 217, 105, 136, 1, 216, 208, 136, 1, 248, 221, 136, 1,
- 248, 25, 136, 1, 197, 136, 1, 228, 92, 136, 1, 190, 136, 1, 225, 147,
- 136, 1, 252, 191, 136, 1, 252, 18, 136, 1, 184, 136, 1, 191, 136, 1, 205,
- 136, 1, 222, 179, 136, 1, 233, 135, 136, 1, 232, 184, 136, 1, 232, 175,
- 136, 1, 214, 27, 136, 1, 220, 102, 136, 1, 218, 223, 136, 1, 206, 136, 1,
- 162, 136, 1, 215, 125, 136, 5, 253, 175, 136, 25, 5, 255, 73, 136, 25, 5,
- 73, 136, 25, 5, 236, 33, 136, 25, 5, 70, 136, 25, 5, 214, 118, 136, 25,
- 5, 149, 153, 136, 25, 5, 149, 222, 180, 136, 25, 5, 75, 136, 25, 5, 245,
- 209, 136, 25, 5, 254, 201, 136, 25, 5, 76, 136, 25, 5, 226, 183, 136, 25,
- 5, 253, 192, 136, 5, 213, 152, 136, 1, 59, 223, 73, 136, 253, 193, 233,
- 23, 78, 136, 1, 149, 222, 180, 136, 1, 149, 232, 185, 136, 25, 5, 149,
- 156, 136, 25, 5, 149, 232, 185, 136, 21, 210, 86, 136, 21, 110, 136, 21,
+ 198, 165, 21, 195, 165, 21, 200, 165, 5, 235, 103, 165, 5, 214, 161, 136,
+ 5, 254, 76, 136, 5, 213, 147, 136, 1, 61, 136, 1, 255, 74, 136, 1, 73,
+ 136, 1, 236, 34, 136, 1, 70, 136, 1, 214, 118, 136, 1, 149, 153, 136, 1,
+ 149, 156, 136, 1, 75, 136, 1, 245, 210, 136, 1, 254, 202, 136, 1, 76,
+ 136, 1, 226, 184, 136, 1, 253, 193, 136, 1, 176, 136, 1, 234, 133, 136,
+ 1, 243, 136, 136, 1, 242, 250, 136, 1, 229, 78, 136, 1, 251, 34, 136, 1,
+ 250, 158, 136, 1, 235, 142, 136, 1, 235, 115, 136, 1, 227, 166, 136, 1,
+ 215, 157, 136, 1, 215, 145, 136, 1, 248, 136, 136, 1, 248, 120, 136, 1,
+ 228, 111, 136, 1, 217, 106, 136, 1, 216, 209, 136, 1, 248, 222, 136, 1,
+ 248, 26, 136, 1, 197, 136, 1, 228, 93, 136, 1, 190, 136, 1, 225, 148,
+ 136, 1, 252, 192, 136, 1, 252, 19, 136, 1, 185, 136, 1, 191, 136, 1, 205,
+ 136, 1, 222, 180, 136, 1, 233, 136, 136, 1, 232, 185, 136, 1, 232, 176,
+ 136, 1, 214, 27, 136, 1, 220, 103, 136, 1, 218, 224, 136, 1, 206, 136, 1,
+ 162, 136, 1, 215, 126, 136, 5, 253, 176, 136, 25, 5, 255, 74, 136, 25, 5,
+ 73, 136, 25, 5, 236, 34, 136, 25, 5, 70, 136, 25, 5, 214, 118, 136, 25,
+ 5, 149, 153, 136, 25, 5, 149, 222, 181, 136, 25, 5, 75, 136, 25, 5, 245,
+ 210, 136, 25, 5, 254, 202, 136, 25, 5, 76, 136, 25, 5, 226, 184, 136, 25,
+ 5, 253, 193, 136, 5, 213, 152, 136, 1, 59, 223, 74, 136, 253, 194, 233,
+ 24, 78, 136, 1, 149, 222, 181, 136, 1, 149, 232, 186, 136, 25, 5, 149,
+ 156, 136, 25, 5, 149, 232, 186, 136, 21, 210, 86, 136, 21, 110, 136, 21,
105, 136, 21, 158, 136, 21, 161, 136, 21, 189, 136, 21, 194, 136, 21,
- 198, 136, 21, 195, 136, 21, 200, 136, 54, 216, 247, 136, 54, 123, 240,
- 210, 136, 54, 123, 216, 147, 136, 244, 2, 123, 224, 21, 136, 244, 2, 123,
- 242, 27, 136, 244, 2, 134, 224, 19, 136, 248, 150, 78, 136, 1, 250, 99,
- 228, 111, 136, 1, 250, 99, 230, 25, 136, 1, 250, 99, 222, 180, 136, 1,
- 250, 99, 156, 136, 1, 250, 99, 232, 185, 136, 1, 250, 99, 235, 23, 175,
- 5, 254, 74, 175, 5, 213, 146, 175, 1, 253, 165, 175, 1, 255, 27, 175, 1,
- 254, 223, 175, 1, 254, 238, 175, 1, 235, 151, 175, 1, 236, 32, 175, 1,
- 214, 110, 175, 1, 214, 112, 175, 1, 235, 173, 175, 1, 235, 174, 175, 1,
- 236, 18, 175, 1, 236, 20, 175, 1, 245, 17, 175, 1, 245, 204, 175, 1, 254,
- 188, 175, 1, 226, 108, 175, 1, 226, 177, 175, 1, 253, 178, 175, 1, 254,
- 146, 234, 187, 175, 1, 231, 209, 234, 187, 175, 1, 254, 146, 243, 82,
- 175, 1, 231, 209, 243, 82, 175, 1, 234, 229, 229, 222, 175, 1, 221, 236,
- 243, 82, 175, 1, 254, 146, 250, 216, 175, 1, 231, 209, 250, 216, 175, 1,
- 254, 146, 235, 127, 175, 1, 231, 209, 235, 127, 175, 1, 217, 98, 229,
- 222, 175, 1, 217, 98, 221, 235, 229, 223, 175, 1, 221, 236, 235, 127,
- 175, 1, 254, 146, 215, 152, 175, 1, 231, 209, 215, 152, 175, 1, 254, 146,
- 248, 126, 175, 1, 231, 209, 248, 126, 175, 1, 230, 53, 229, 180, 175, 1,
- 221, 236, 248, 126, 175, 1, 254, 146, 217, 30, 175, 1, 231, 209, 217, 30,
- 175, 1, 254, 146, 248, 144, 175, 1, 231, 209, 248, 144, 175, 1, 248, 174,
- 229, 180, 175, 1, 221, 236, 248, 144, 175, 1, 254, 146, 225, 228, 175, 1,
- 231, 209, 225, 228, 175, 1, 254, 146, 252, 112, 175, 1, 231, 209, 252,
- 112, 175, 1, 231, 131, 175, 1, 254, 131, 252, 112, 175, 1, 211, 51, 175,
- 1, 223, 133, 175, 1, 248, 174, 233, 67, 175, 1, 214, 1, 175, 1, 217, 98,
- 221, 210, 175, 1, 230, 53, 221, 210, 175, 1, 248, 174, 221, 210, 175, 1,
- 241, 242, 175, 1, 230, 53, 233, 67, 175, 1, 244, 156, 175, 5, 254, 177,
- 175, 25, 5, 254, 233, 175, 25, 5, 234, 155, 254, 240, 175, 25, 5, 247,
- 228, 254, 240, 175, 25, 5, 234, 155, 235, 170, 175, 25, 5, 247, 228, 235,
- 170, 175, 25, 5, 234, 155, 226, 88, 175, 25, 5, 247, 228, 226, 88, 175,
- 25, 5, 243, 124, 175, 25, 5, 234, 15, 175, 25, 5, 247, 228, 234, 15, 175,
- 25, 5, 234, 17, 248, 67, 175, 25, 5, 234, 16, 242, 47, 254, 233, 175, 25,
- 5, 234, 16, 242, 47, 247, 228, 254, 233, 175, 25, 5, 234, 16, 242, 47,
- 243, 81, 175, 25, 5, 243, 81, 175, 25, 5, 247, 228, 243, 124, 175, 25, 5,
- 247, 228, 243, 81, 175, 224, 141, 233, 207, 168, 135, 234, 29, 234, 246,
- 168, 135, 234, 106, 234, 128, 168, 135, 234, 106, 234, 99, 168, 135, 234,
- 106, 234, 95, 168, 135, 234, 106, 234, 103, 168, 135, 234, 106, 223, 154,
- 168, 135, 229, 5, 228, 248, 168, 135, 250, 87, 250, 147, 168, 135, 250,
- 87, 250, 95, 168, 135, 250, 87, 250, 146, 168, 135, 219, 59, 219, 58,
- 168, 135, 250, 87, 250, 83, 168, 135, 210, 245, 210, 252, 168, 135, 247,
- 146, 250, 154, 168, 135, 216, 42, 225, 238, 168, 135, 216, 157, 216, 200,
- 168, 135, 216, 157, 229, 201, 168, 135, 216, 157, 225, 111, 168, 135,
- 228, 75, 229, 98, 168, 135, 247, 146, 248, 68, 168, 135, 216, 42, 217,
- 55, 168, 135, 216, 157, 216, 131, 168, 135, 216, 157, 216, 204, 168, 135,
- 216, 157, 216, 154, 168, 135, 228, 75, 227, 237, 168, 135, 251, 206, 252,
- 164, 168, 135, 225, 17, 225, 42, 168, 135, 225, 122, 225, 113, 168, 135,
- 244, 44, 244, 196, 168, 135, 225, 122, 225, 141, 168, 135, 244, 44, 244,
- 173, 168, 135, 225, 122, 221, 247, 168, 135, 230, 162, 184, 168, 135,
- 210, 245, 211, 79, 168, 135, 222, 212, 222, 139, 168, 135, 222, 140, 168,
- 135, 232, 157, 232, 206, 168, 135, 232, 98, 168, 135, 211, 228, 212, 61,
- 168, 135, 219, 59, 222, 6, 168, 135, 219, 59, 222, 114, 168, 135, 219,
- 59, 218, 82, 168, 135, 241, 69, 241, 159, 168, 135, 232, 157, 250, 68,
- 168, 135, 144, 254, 115, 168, 135, 241, 69, 228, 70, 168, 135, 226, 68,
- 168, 135, 221, 230, 61, 168, 135, 231, 204, 242, 17, 168, 135, 221, 230,
- 255, 73, 168, 135, 221, 230, 254, 136, 168, 135, 221, 230, 73, 168, 135,
- 221, 230, 236, 33, 168, 135, 221, 230, 214, 214, 168, 135, 221, 230, 214,
- 212, 168, 135, 221, 230, 70, 168, 135, 221, 230, 214, 118, 168, 135, 225,
- 124, 168, 249, 98, 16, 252, 165, 168, 135, 221, 230, 75, 168, 135, 221,
- 230, 254, 243, 168, 135, 221, 230, 76, 168, 135, 221, 230, 254, 202, 231,
- 198, 168, 135, 221, 230, 254, 202, 231, 199, 168, 135, 233, 106, 168,
- 135, 231, 195, 168, 135, 231, 196, 168, 135, 231, 204, 245, 180, 168,
- 135, 231, 204, 216, 156, 168, 135, 231, 204, 215, 228, 168, 135, 231,
- 204, 250, 135, 168, 135, 216, 198, 168, 135, 228, 205, 168, 135, 211, 73,
- 168, 135, 244, 35, 168, 21, 210, 86, 168, 21, 110, 168, 21, 105, 168, 21,
- 158, 168, 21, 161, 168, 21, 189, 168, 21, 194, 168, 21, 198, 168, 21,
- 195, 168, 21, 200, 168, 135, 254, 111, 168, 135, 234, 104, 209, 209, 1,
- 234, 28, 209, 209, 1, 234, 106, 218, 35, 209, 209, 1, 234, 106, 217, 62,
- 209, 209, 1, 229, 4, 209, 209, 1, 249, 238, 209, 209, 1, 219, 59, 217,
- 62, 209, 209, 1, 227, 134, 209, 209, 1, 247, 145, 209, 209, 1, 111, 209,
- 209, 1, 216, 157, 218, 35, 209, 209, 1, 216, 157, 217, 62, 209, 209, 1,
- 228, 74, 209, 209, 1, 251, 205, 209, 209, 1, 225, 16, 209, 209, 1, 225,
- 122, 218, 35, 209, 209, 1, 244, 44, 217, 62, 209, 209, 1, 225, 122, 217,
- 62, 209, 209, 1, 244, 44, 218, 35, 209, 209, 1, 230, 161, 209, 209, 1,
- 210, 244, 209, 209, 1, 232, 157, 232, 206, 209, 209, 1, 232, 157, 232,
- 121, 209, 209, 1, 211, 227, 209, 209, 1, 219, 59, 218, 35, 209, 209, 1,
- 241, 69, 218, 35, 209, 209, 1, 76, 209, 209, 1, 241, 69, 217, 62, 209,
- 209, 245, 163, 209, 209, 25, 5, 61, 209, 209, 25, 5, 231, 204, 234, 234,
- 209, 209, 25, 5, 255, 73, 209, 209, 25, 5, 254, 136, 209, 209, 25, 5, 73,
- 209, 209, 25, 5, 236, 33, 209, 209, 25, 5, 211, 117, 209, 209, 25, 5,
- 210, 169, 209, 209, 25, 5, 70, 209, 209, 25, 5, 214, 118, 209, 209, 25,
- 5, 231, 204, 234, 13, 209, 209, 220, 145, 5, 232, 156, 209, 209, 220,
- 145, 5, 227, 134, 209, 209, 25, 5, 75, 209, 209, 25, 5, 245, 195, 209,
- 209, 25, 5, 76, 209, 209, 25, 5, 253, 167, 209, 209, 25, 5, 254, 201,
- 209, 209, 234, 29, 233, 135, 209, 209, 138, 231, 204, 245, 180, 209, 209,
- 138, 231, 204, 216, 156, 209, 209, 138, 231, 204, 216, 117, 209, 209,
- 138, 231, 204, 250, 223, 209, 209, 251, 4, 78, 209, 209, 228, 214, 209,
+ 198, 136, 21, 195, 136, 21, 200, 136, 54, 216, 248, 136, 54, 123, 240,
+ 211, 136, 54, 123, 216, 148, 136, 244, 3, 123, 224, 22, 136, 244, 3, 123,
+ 242, 28, 136, 244, 3, 134, 224, 20, 136, 248, 151, 78, 136, 1, 250, 100,
+ 228, 112, 136, 1, 250, 100, 230, 26, 136, 1, 250, 100, 222, 181, 136, 1,
+ 250, 100, 156, 136, 1, 250, 100, 232, 186, 136, 1, 250, 100, 235, 24,
+ 175, 5, 254, 75, 175, 5, 213, 146, 175, 1, 253, 166, 175, 1, 255, 28,
+ 175, 1, 254, 224, 175, 1, 254, 239, 175, 1, 235, 152, 175, 1, 236, 33,
+ 175, 1, 214, 110, 175, 1, 214, 112, 175, 1, 235, 174, 175, 1, 235, 175,
+ 175, 1, 236, 19, 175, 1, 236, 21, 175, 1, 245, 18, 175, 1, 245, 205, 175,
+ 1, 254, 189, 175, 1, 226, 109, 175, 1, 226, 178, 175, 1, 253, 179, 175,
+ 1, 254, 147, 234, 188, 175, 1, 231, 210, 234, 188, 175, 1, 254, 147, 243,
+ 83, 175, 1, 231, 210, 243, 83, 175, 1, 234, 230, 229, 223, 175, 1, 221,
+ 237, 243, 83, 175, 1, 254, 147, 250, 217, 175, 1, 231, 210, 250, 217,
+ 175, 1, 254, 147, 235, 128, 175, 1, 231, 210, 235, 128, 175, 1, 217, 99,
+ 229, 223, 175, 1, 217, 99, 221, 236, 229, 224, 175, 1, 221, 237, 235,
+ 128, 175, 1, 254, 147, 215, 153, 175, 1, 231, 210, 215, 153, 175, 1, 254,
+ 147, 248, 127, 175, 1, 231, 210, 248, 127, 175, 1, 230, 54, 229, 181,
+ 175, 1, 221, 237, 248, 127, 175, 1, 254, 147, 217, 31, 175, 1, 231, 210,
+ 217, 31, 175, 1, 254, 147, 248, 145, 175, 1, 231, 210, 248, 145, 175, 1,
+ 248, 175, 229, 181, 175, 1, 221, 237, 248, 145, 175, 1, 254, 147, 225,
+ 229, 175, 1, 231, 210, 225, 229, 175, 1, 254, 147, 252, 113, 175, 1, 231,
+ 210, 252, 113, 175, 1, 231, 132, 175, 1, 254, 132, 252, 113, 175, 1, 211,
+ 51, 175, 1, 223, 134, 175, 1, 248, 175, 233, 68, 175, 1, 214, 1, 175, 1,
+ 217, 99, 221, 211, 175, 1, 230, 54, 221, 211, 175, 1, 248, 175, 221, 211,
+ 175, 1, 241, 243, 175, 1, 230, 54, 233, 68, 175, 1, 244, 157, 175, 5,
+ 254, 178, 175, 25, 5, 254, 234, 175, 25, 5, 234, 156, 254, 241, 175, 25,
+ 5, 247, 229, 254, 241, 175, 25, 5, 234, 156, 235, 171, 175, 25, 5, 247,
+ 229, 235, 171, 175, 25, 5, 234, 156, 226, 89, 175, 25, 5, 247, 229, 226,
+ 89, 175, 25, 5, 243, 125, 175, 25, 5, 234, 16, 175, 25, 5, 247, 229, 234,
+ 16, 175, 25, 5, 234, 18, 248, 68, 175, 25, 5, 234, 17, 242, 48, 254, 234,
+ 175, 25, 5, 234, 17, 242, 48, 247, 229, 254, 234, 175, 25, 5, 234, 17,
+ 242, 48, 243, 82, 175, 25, 5, 243, 82, 175, 25, 5, 247, 229, 243, 125,
+ 175, 25, 5, 247, 229, 243, 82, 175, 224, 142, 233, 208, 168, 135, 234,
+ 30, 234, 247, 168, 135, 234, 107, 234, 129, 168, 135, 234, 107, 234, 100,
+ 168, 135, 234, 107, 234, 96, 168, 135, 234, 107, 234, 104, 168, 135, 234,
+ 107, 223, 155, 168, 135, 229, 6, 228, 249, 168, 135, 250, 88, 250, 148,
+ 168, 135, 250, 88, 250, 96, 168, 135, 250, 88, 250, 147, 168, 135, 219,
+ 60, 219, 59, 168, 135, 250, 88, 250, 84, 168, 135, 210, 245, 210, 252,
+ 168, 135, 247, 147, 250, 155, 168, 135, 216, 43, 225, 239, 168, 135, 216,
+ 158, 216, 201, 168, 135, 216, 158, 229, 202, 168, 135, 216, 158, 225,
+ 112, 168, 135, 228, 76, 229, 99, 168, 135, 247, 147, 248, 69, 168, 135,
+ 216, 43, 217, 56, 168, 135, 216, 158, 216, 132, 168, 135, 216, 158, 216,
+ 205, 168, 135, 216, 158, 216, 155, 168, 135, 228, 76, 227, 238, 168, 135,
+ 251, 207, 252, 165, 168, 135, 225, 18, 225, 43, 168, 135, 225, 123, 225,
+ 114, 168, 135, 244, 45, 244, 197, 168, 135, 225, 123, 225, 142, 168, 135,
+ 244, 45, 244, 174, 168, 135, 225, 123, 221, 248, 168, 135, 230, 163, 185,
+ 168, 135, 210, 245, 211, 79, 168, 135, 222, 213, 222, 140, 168, 135, 222,
+ 141, 168, 135, 232, 158, 232, 207, 168, 135, 232, 99, 168, 135, 211, 228,
+ 212, 61, 168, 135, 219, 60, 222, 7, 168, 135, 219, 60, 222, 115, 168,
+ 135, 219, 60, 218, 83, 168, 135, 241, 70, 241, 160, 168, 135, 232, 158,
+ 250, 69, 168, 135, 144, 254, 116, 168, 135, 241, 70, 228, 71, 168, 135,
+ 226, 69, 168, 135, 221, 231, 61, 168, 135, 231, 205, 242, 18, 168, 135,
+ 221, 231, 255, 74, 168, 135, 221, 231, 254, 137, 168, 135, 221, 231, 73,
+ 168, 135, 221, 231, 236, 34, 168, 135, 221, 231, 214, 214, 168, 135, 221,
+ 231, 214, 212, 168, 135, 221, 231, 70, 168, 135, 221, 231, 214, 118, 168,
+ 135, 225, 125, 168, 249, 99, 16, 252, 166, 168, 135, 221, 231, 75, 168,
+ 135, 221, 231, 254, 244, 168, 135, 221, 231, 76, 168, 135, 221, 231, 254,
+ 203, 231, 199, 168, 135, 221, 231, 254, 203, 231, 200, 168, 135, 233,
+ 107, 168, 135, 231, 196, 168, 135, 231, 197, 168, 135, 231, 205, 245,
+ 181, 168, 135, 231, 205, 216, 157, 168, 135, 231, 205, 215, 229, 168,
+ 135, 231, 205, 250, 136, 168, 135, 216, 199, 168, 135, 228, 206, 168,
+ 135, 211, 73, 168, 135, 244, 36, 168, 21, 210, 86, 168, 21, 110, 168, 21,
+ 105, 168, 21, 158, 168, 21, 161, 168, 21, 189, 168, 21, 194, 168, 21,
+ 198, 168, 21, 195, 168, 21, 200, 168, 135, 254, 112, 168, 135, 234, 105,
+ 209, 209, 1, 234, 29, 209, 209, 1, 234, 107, 218, 36, 209, 209, 1, 234,
+ 107, 217, 63, 209, 209, 1, 229, 5, 209, 209, 1, 249, 239, 209, 209, 1,
+ 219, 60, 217, 63, 209, 209, 1, 227, 135, 209, 209, 1, 247, 146, 209, 209,
+ 1, 111, 209, 209, 1, 216, 158, 218, 36, 209, 209, 1, 216, 158, 217, 63,
+ 209, 209, 1, 228, 75, 209, 209, 1, 251, 206, 209, 209, 1, 225, 17, 209,
+ 209, 1, 225, 123, 218, 36, 209, 209, 1, 244, 45, 217, 63, 209, 209, 1,
+ 225, 123, 217, 63, 209, 209, 1, 244, 45, 218, 36, 209, 209, 1, 230, 162,
+ 209, 209, 1, 210, 244, 209, 209, 1, 232, 158, 232, 207, 209, 209, 1, 232,
+ 158, 232, 122, 209, 209, 1, 211, 227, 209, 209, 1, 219, 60, 218, 36, 209,
+ 209, 1, 241, 70, 218, 36, 209, 209, 1, 76, 209, 209, 1, 241, 70, 217, 63,
+ 209, 209, 245, 164, 209, 209, 25, 5, 61, 209, 209, 25, 5, 231, 205, 234,
+ 235, 209, 209, 25, 5, 255, 74, 209, 209, 25, 5, 254, 137, 209, 209, 25,
+ 5, 73, 209, 209, 25, 5, 236, 34, 209, 209, 25, 5, 211, 117, 209, 209, 25,
+ 5, 210, 169, 209, 209, 25, 5, 70, 209, 209, 25, 5, 214, 118, 209, 209,
+ 25, 5, 231, 205, 234, 14, 209, 209, 220, 146, 5, 232, 157, 209, 209, 220,
+ 146, 5, 227, 135, 209, 209, 25, 5, 75, 209, 209, 25, 5, 245, 196, 209,
+ 209, 25, 5, 76, 209, 209, 25, 5, 253, 168, 209, 209, 25, 5, 254, 202,
+ 209, 209, 234, 30, 233, 136, 209, 209, 138, 231, 205, 245, 181, 209, 209,
+ 138, 231, 205, 216, 157, 209, 209, 138, 231, 205, 216, 118, 209, 209,
+ 138, 231, 205, 250, 224, 209, 209, 251, 5, 78, 209, 209, 228, 215, 209,
209, 21, 210, 86, 209, 209, 21, 110, 209, 209, 21, 105, 209, 209, 21,
158, 209, 209, 21, 161, 209, 209, 21, 189, 209, 209, 21, 194, 209, 209,
- 21, 198, 209, 209, 21, 195, 209, 209, 21, 200, 209, 209, 241, 69, 228,
- 74, 209, 209, 241, 69, 230, 161, 209, 209, 1, 234, 107, 242, 174, 209,
- 209, 1, 234, 107, 227, 134, 63, 3, 226, 204, 63, 164, 242, 115, 211, 0,
- 230, 248, 215, 189, 61, 63, 164, 242, 115, 211, 0, 230, 248, 255, 159,
- 222, 216, 252, 77, 184, 63, 164, 242, 115, 211, 0, 230, 248, 255, 159,
- 242, 115, 215, 173, 184, 63, 164, 65, 211, 0, 230, 248, 231, 93, 184, 63,
- 164, 249, 252, 211, 0, 230, 248, 220, 109, 184, 63, 164, 250, 239, 211,
- 0, 230, 248, 225, 112, 220, 96, 184, 63, 164, 211, 0, 230, 248, 215, 173,
- 220, 96, 184, 63, 164, 221, 208, 220, 95, 63, 164, 251, 128, 211, 0, 230,
- 247, 63, 164, 251, 223, 220, 3, 211, 0, 230, 247, 63, 164, 235, 197, 215,
- 172, 63, 164, 248, 61, 215, 173, 251, 127, 63, 164, 220, 95, 63, 164,
- 227, 139, 220, 95, 63, 164, 215, 173, 220, 95, 63, 164, 227, 139, 215,
- 173, 220, 95, 63, 164, 222, 236, 250, 122, 218, 236, 220, 95, 63, 164,
- 223, 42, 242, 146, 220, 95, 63, 164, 250, 239, 255, 163, 222, 144, 231,
- 92, 199, 251, 7, 63, 164, 242, 115, 215, 172, 63, 232, 144, 5, 250, 155,
- 222, 143, 63, 232, 144, 5, 232, 252, 222, 143, 63, 253, 212, 5, 220, 105,
- 243, 65, 255, 164, 222, 143, 63, 253, 212, 5, 255, 161, 190, 63, 253,
- 212, 5, 221, 182, 215, 168, 63, 5, 223, 130, 247, 159, 243, 64, 63, 5,
- 223, 130, 247, 159, 242, 176, 63, 5, 223, 130, 247, 159, 242, 116, 63, 5,
- 223, 130, 229, 219, 243, 64, 63, 5, 223, 130, 229, 219, 242, 176, 63, 5,
- 223, 130, 247, 159, 223, 130, 229, 218, 63, 21, 210, 86, 63, 21, 110, 63,
+ 21, 198, 209, 209, 21, 195, 209, 209, 21, 200, 209, 209, 241, 70, 228,
+ 75, 209, 209, 241, 70, 230, 162, 209, 209, 1, 234, 108, 242, 175, 209,
+ 209, 1, 234, 108, 227, 135, 63, 3, 226, 205, 63, 164, 242, 116, 211, 0,
+ 230, 249, 215, 190, 61, 63, 164, 242, 116, 211, 0, 230, 249, 255, 160,
+ 222, 217, 252, 78, 185, 63, 164, 242, 116, 211, 0, 230, 249, 255, 160,
+ 242, 116, 215, 174, 185, 63, 164, 65, 211, 0, 230, 249, 231, 94, 185, 63,
+ 164, 249, 253, 211, 0, 230, 249, 220, 110, 185, 63, 164, 250, 240, 211,
+ 0, 230, 249, 225, 113, 220, 97, 185, 63, 164, 211, 0, 230, 249, 215, 174,
+ 220, 97, 185, 63, 164, 221, 209, 220, 96, 63, 164, 251, 129, 211, 0, 230,
+ 248, 63, 164, 251, 224, 220, 4, 211, 0, 230, 248, 63, 164, 235, 198, 215,
+ 173, 63, 164, 248, 62, 215, 174, 251, 128, 63, 164, 220, 96, 63, 164,
+ 227, 140, 220, 96, 63, 164, 215, 174, 220, 96, 63, 164, 227, 140, 215,
+ 174, 220, 96, 63, 164, 222, 237, 250, 123, 218, 237, 220, 96, 63, 164,
+ 223, 43, 242, 147, 220, 96, 63, 164, 250, 240, 255, 164, 222, 145, 231,
+ 93, 199, 251, 8, 63, 164, 242, 116, 215, 173, 63, 232, 145, 5, 250, 156,
+ 222, 144, 63, 232, 145, 5, 232, 253, 222, 144, 63, 253, 213, 5, 220, 106,
+ 243, 66, 255, 165, 222, 144, 63, 253, 213, 5, 255, 162, 190, 63, 253,
+ 213, 5, 221, 183, 215, 169, 63, 5, 223, 131, 247, 160, 243, 65, 63, 5,
+ 223, 131, 247, 160, 242, 177, 63, 5, 223, 131, 247, 160, 242, 117, 63, 5,
+ 223, 131, 229, 220, 243, 65, 63, 5, 223, 131, 229, 220, 242, 177, 63, 5,
+ 223, 131, 247, 160, 223, 131, 229, 219, 63, 21, 210, 86, 63, 21, 110, 63,
21, 105, 63, 21, 158, 63, 21, 161, 63, 21, 189, 63, 21, 194, 63, 21, 198,
63, 21, 195, 63, 21, 200, 63, 21, 163, 110, 63, 21, 163, 105, 63, 21,
163, 158, 63, 21, 163, 161, 63, 21, 163, 189, 63, 21, 163, 194, 63, 21,
163, 198, 63, 21, 163, 195, 63, 21, 163, 200, 63, 21, 163, 210, 86, 63,
- 164, 251, 130, 222, 143, 63, 164, 229, 68, 251, 68, 227, 149, 210, 25,
- 63, 164, 250, 239, 255, 163, 222, 144, 251, 69, 230, 202, 251, 7, 63,
- 164, 229, 68, 251, 68, 220, 106, 222, 143, 63, 164, 250, 132, 230, 247,
- 63, 164, 215, 184, 255, 160, 63, 164, 242, 100, 222, 144, 242, 63, 63,
- 164, 242, 100, 222, 144, 242, 69, 63, 164, 254, 116, 234, 123, 242, 63,
- 63, 164, 254, 116, 234, 123, 242, 69, 63, 5, 211, 65, 215, 171, 63, 5,
- 231, 167, 215, 171, 63, 1, 176, 63, 1, 234, 132, 63, 1, 243, 135, 63, 1,
- 242, 249, 63, 1, 229, 77, 63, 1, 251, 33, 63, 1, 250, 157, 63, 1, 235,
- 141, 63, 1, 227, 165, 63, 1, 215, 156, 63, 1, 215, 144, 63, 1, 248, 135,
- 63, 1, 248, 119, 63, 1, 228, 110, 63, 1, 217, 105, 63, 1, 216, 208, 63,
- 1, 248, 221, 63, 1, 248, 25, 63, 1, 197, 63, 1, 190, 63, 1, 225, 147, 63,
- 1, 252, 191, 63, 1, 252, 18, 63, 1, 184, 63, 1, 215, 183, 63, 1, 215,
- 175, 63, 1, 246, 38, 63, 1, 246, 33, 63, 1, 212, 65, 63, 1, 210, 82, 63,
- 1, 210, 116, 63, 1, 255, 166, 63, 1, 191, 63, 1, 205, 63, 1, 233, 135,
- 63, 1, 220, 102, 63, 1, 218, 223, 63, 1, 206, 63, 1, 162, 63, 1, 61, 63,
- 1, 233, 231, 63, 1, 244, 77, 205, 63, 1, 234, 46, 63, 1, 222, 179, 63,
- 25, 5, 255, 73, 63, 25, 5, 73, 63, 25, 5, 236, 33, 63, 25, 5, 70, 63, 25,
- 5, 214, 118, 63, 25, 5, 149, 153, 63, 25, 5, 149, 222, 180, 63, 25, 5,
- 149, 156, 63, 25, 5, 149, 232, 185, 63, 25, 5, 75, 63, 25, 5, 245, 209,
- 63, 25, 5, 76, 63, 25, 5, 226, 183, 63, 5, 222, 221, 218, 84, 229, 78,
- 222, 211, 63, 5, 222, 216, 252, 76, 63, 25, 5, 223, 49, 73, 63, 25, 5,
- 223, 49, 236, 33, 63, 5, 227, 149, 210, 26, 229, 226, 248, 221, 63, 5,
- 219, 71, 233, 60, 63, 164, 242, 29, 63, 164, 226, 57, 63, 5, 233, 63,
- 222, 143, 63, 5, 211, 70, 222, 143, 63, 5, 233, 64, 215, 184, 251, 7, 63,
- 5, 231, 95, 251, 7, 63, 5, 242, 119, 251, 8, 223, 40, 63, 5, 242, 119,
- 231, 85, 223, 40, 63, 5, 235, 193, 231, 95, 251, 7, 63, 218, 73, 5, 233,
- 64, 215, 184, 251, 7, 63, 218, 73, 5, 231, 95, 251, 7, 63, 218, 73, 5,
- 235, 193, 231, 95, 251, 7, 63, 218, 73, 1, 176, 63, 218, 73, 1, 234, 132,
- 63, 218, 73, 1, 243, 135, 63, 218, 73, 1, 242, 249, 63, 218, 73, 1, 229,
- 77, 63, 218, 73, 1, 251, 33, 63, 218, 73, 1, 250, 157, 63, 218, 73, 1,
- 235, 141, 63, 218, 73, 1, 227, 165, 63, 218, 73, 1, 215, 156, 63, 218,
- 73, 1, 215, 144, 63, 218, 73, 1, 248, 135, 63, 218, 73, 1, 248, 119, 63,
- 218, 73, 1, 228, 110, 63, 218, 73, 1, 217, 105, 63, 218, 73, 1, 216, 208,
- 63, 218, 73, 1, 248, 221, 63, 218, 73, 1, 248, 25, 63, 218, 73, 1, 197,
- 63, 218, 73, 1, 190, 63, 218, 73, 1, 225, 147, 63, 218, 73, 1, 252, 191,
- 63, 218, 73, 1, 252, 18, 63, 218, 73, 1, 184, 63, 218, 73, 1, 215, 183,
- 63, 218, 73, 1, 215, 175, 63, 218, 73, 1, 246, 38, 63, 218, 73, 1, 246,
- 33, 63, 218, 73, 1, 212, 65, 63, 218, 73, 1, 210, 82, 63, 218, 73, 1,
- 210, 116, 63, 218, 73, 1, 255, 166, 63, 218, 73, 1, 191, 63, 218, 73, 1,
- 205, 63, 218, 73, 1, 233, 135, 63, 218, 73, 1, 220, 102, 63, 218, 73, 1,
- 218, 223, 63, 218, 73, 1, 206, 63, 218, 73, 1, 162, 63, 218, 73, 1, 61,
- 63, 218, 73, 1, 233, 231, 63, 218, 73, 1, 244, 77, 212, 65, 63, 218, 73,
- 1, 244, 77, 191, 63, 218, 73, 1, 244, 77, 205, 63, 233, 218, 222, 141,
- 234, 132, 63, 233, 218, 222, 141, 234, 133, 251, 69, 230, 202, 251, 7,
- 63, 250, 252, 5, 114, 252, 70, 63, 250, 252, 5, 192, 252, 70, 63, 250,
- 252, 5, 250, 253, 217, 20, 63, 250, 252, 5, 221, 207, 255, 165, 63, 16,
- 246, 91, 251, 125, 63, 16, 223, 129, 222, 222, 63, 16, 226, 77, 243, 63,
- 63, 16, 223, 129, 222, 223, 223, 42, 242, 145, 63, 16, 225, 112, 190, 63,
- 16, 228, 59, 251, 125, 63, 16, 228, 59, 251, 126, 227, 139, 255, 162, 63,
- 16, 228, 59, 251, 126, 242, 117, 255, 162, 63, 16, 228, 59, 251, 126,
- 251, 69, 255, 162, 63, 5, 223, 130, 229, 219, 223, 130, 247, 158, 63, 5,
- 223, 130, 229, 219, 242, 116, 63, 164, 251, 129, 220, 3, 242, 215, 230,
- 248, 223, 41, 63, 164, 230, 163, 211, 0, 242, 215, 230, 248, 223, 41, 63,
- 164, 227, 139, 215, 172, 63, 164, 65, 251, 152, 222, 213, 211, 0, 230,
- 248, 231, 93, 184, 63, 164, 249, 252, 251, 152, 222, 213, 211, 0, 230,
- 248, 220, 109, 184, 222, 250, 217, 255, 50, 233, 45, 217, 255, 50, 222,
- 250, 217, 255, 5, 2, 247, 118, 233, 45, 217, 255, 5, 2, 247, 118, 63,
- 164, 233, 55, 231, 96, 222, 143, 63, 164, 215, 250, 231, 96, 222, 143,
- 68, 1, 176, 68, 1, 234, 132, 68, 1, 243, 135, 68, 1, 242, 249, 68, 1,
- 229, 77, 68, 1, 251, 33, 68, 1, 250, 157, 68, 1, 235, 141, 68, 1, 235,
- 114, 68, 1, 227, 165, 68, 1, 228, 76, 68, 1, 215, 156, 68, 1, 215, 144,
- 68, 1, 248, 135, 68, 1, 248, 119, 68, 1, 228, 110, 68, 1, 217, 105, 68,
- 1, 216, 208, 68, 1, 248, 221, 68, 1, 248, 25, 68, 1, 197, 68, 1, 190, 68,
- 1, 225, 147, 68, 1, 252, 191, 68, 1, 252, 18, 68, 1, 184, 68, 1, 191, 68,
- 1, 205, 68, 1, 233, 135, 68, 1, 212, 65, 68, 1, 206, 68, 1, 162, 68, 1,
- 232, 184, 68, 1, 61, 68, 1, 220, 86, 61, 68, 1, 73, 68, 1, 236, 33, 68,
- 1, 70, 68, 1, 214, 118, 68, 1, 75, 68, 1, 230, 151, 75, 68, 1, 76, 68, 1,
- 253, 192, 68, 25, 5, 217, 64, 255, 73, 68, 25, 5, 255, 73, 68, 25, 5, 73,
- 68, 25, 5, 236, 33, 68, 25, 5, 70, 68, 25, 5, 214, 118, 68, 25, 5, 75,
- 68, 25, 5, 254, 201, 68, 25, 5, 230, 151, 236, 33, 68, 25, 5, 230, 151,
- 76, 68, 25, 5, 160, 48, 68, 5, 254, 75, 68, 5, 59, 51, 68, 5, 213, 147,
- 68, 5, 213, 152, 68, 5, 253, 235, 68, 116, 5, 147, 191, 68, 116, 5, 147,
- 205, 68, 116, 5, 147, 212, 65, 68, 116, 5, 147, 162, 68, 1, 242, 132,
- 206, 68, 21, 210, 86, 68, 21, 110, 68, 21, 105, 68, 21, 158, 68, 21, 161,
- 68, 21, 189, 68, 21, 194, 68, 21, 198, 68, 21, 195, 68, 21, 200, 68, 5,
- 232, 192, 221, 172, 68, 5, 221, 172, 68, 16, 232, 153, 68, 16, 249, 213,
- 68, 16, 254, 220, 68, 16, 243, 48, 68, 1, 220, 102, 68, 1, 218, 223, 68,
- 1, 149, 153, 68, 1, 149, 222, 180, 68, 1, 149, 156, 68, 1, 149, 232, 185,
- 68, 25, 5, 149, 153, 68, 25, 5, 149, 222, 180, 68, 25, 5, 149, 156, 68,
- 25, 5, 149, 232, 185, 68, 1, 230, 151, 229, 77, 68, 1, 230, 151, 235,
- 114, 68, 1, 230, 151, 252, 111, 68, 1, 230, 151, 252, 106, 68, 116, 5,
- 230, 151, 147, 197, 68, 116, 5, 230, 151, 147, 184, 68, 116, 5, 230, 151,
- 147, 233, 135, 68, 1, 220, 108, 234, 213, 220, 102, 68, 25, 5, 220, 108,
- 234, 213, 245, 55, 68, 138, 164, 220, 108, 234, 213, 241, 247, 68, 138,
- 164, 220, 108, 234, 213, 234, 183, 225, 121, 68, 1, 212, 7, 224, 108,
- 234, 213, 216, 208, 68, 1, 212, 7, 224, 108, 234, 213, 224, 114, 68, 25,
- 5, 212, 7, 224, 108, 234, 213, 245, 55, 68, 25, 5, 212, 7, 224, 108, 234,
- 213, 214, 214, 68, 5, 212, 7, 224, 108, 234, 213, 216, 29, 68, 5, 212, 7,
- 224, 108, 234, 213, 216, 28, 68, 5, 212, 7, 224, 108, 234, 213, 216, 27,
- 68, 5, 212, 7, 224, 108, 234, 213, 216, 26, 68, 5, 212, 7, 224, 108, 234,
- 213, 216, 25, 68, 1, 245, 219, 224, 108, 234, 213, 228, 110, 68, 1, 245,
- 219, 224, 108, 234, 213, 210, 176, 68, 1, 245, 219, 224, 108, 234, 213,
- 242, 217, 68, 25, 5, 243, 59, 234, 213, 73, 68, 25, 5, 234, 188, 226,
- 234, 68, 25, 5, 234, 188, 70, 68, 25, 5, 234, 188, 245, 209, 68, 1, 220,
- 86, 176, 68, 1, 220, 86, 234, 132, 68, 1, 220, 86, 243, 135, 68, 1, 220,
- 86, 251, 33, 68, 1, 220, 86, 210, 116, 68, 1, 220, 86, 227, 165, 68, 1,
- 220, 86, 248, 221, 68, 1, 220, 86, 197, 68, 1, 220, 86, 225, 147, 68, 1,
- 220, 86, 244, 196, 68, 1, 220, 86, 252, 191, 68, 1, 220, 86, 216, 208,
- 68, 1, 220, 86, 162, 68, 116, 5, 220, 86, 147, 212, 65, 68, 25, 5, 220,
- 86, 255, 73, 68, 25, 5, 220, 86, 75, 68, 25, 5, 220, 86, 160, 48, 68, 25,
- 5, 220, 86, 40, 211, 117, 68, 5, 220, 86, 216, 28, 68, 5, 220, 86, 216,
- 27, 68, 5, 220, 86, 216, 25, 68, 5, 220, 86, 216, 24, 68, 5, 220, 86,
- 249, 152, 216, 28, 68, 5, 220, 86, 249, 152, 216, 27, 68, 5, 220, 86,
- 249, 152, 245, 153, 216, 30, 68, 1, 222, 128, 226, 63, 244, 196, 68, 5,
- 222, 128, 226, 63, 216, 25, 68, 220, 86, 21, 210, 86, 68, 220, 86, 21,
- 110, 68, 220, 86, 21, 105, 68, 220, 86, 21, 158, 68, 220, 86, 21, 161,
- 68, 220, 86, 21, 189, 68, 220, 86, 21, 194, 68, 220, 86, 21, 198, 68,
- 220, 86, 21, 195, 68, 220, 86, 21, 200, 68, 5, 234, 126, 216, 29, 68, 5,
- 234, 126, 216, 27, 68, 25, 5, 254, 190, 61, 68, 25, 5, 254, 190, 254,
- 201, 68, 16, 220, 86, 110, 68, 16, 220, 86, 245, 30, 98, 6, 1, 254, 123,
- 98, 6, 1, 252, 152, 98, 6, 1, 243, 106, 98, 6, 1, 247, 128, 98, 6, 1,
- 245, 150, 98, 6, 1, 213, 160, 98, 6, 1, 210, 89, 98, 6, 1, 217, 60, 98,
- 6, 1, 235, 255, 98, 6, 1, 234, 234, 98, 6, 1, 233, 81, 98, 6, 1, 231,
- 185, 98, 6, 1, 229, 195, 98, 6, 1, 226, 196, 98, 6, 1, 226, 17, 98, 6, 1,
- 210, 78, 98, 6, 1, 223, 171, 98, 6, 1, 221, 243, 98, 6, 1, 217, 50, 98,
- 6, 1, 214, 190, 98, 6, 1, 225, 140, 98, 6, 1, 234, 121, 98, 6, 1, 242,
- 241, 98, 6, 1, 224, 73, 98, 6, 1, 220, 20, 98, 6, 1, 250, 97, 98, 6, 1,
- 251, 7, 98, 6, 1, 235, 100, 98, 6, 1, 250, 40, 98, 6, 1, 250, 143, 98, 6,
- 1, 211, 163, 98, 6, 1, 235, 111, 98, 6, 1, 242, 43, 98, 6, 1, 241, 238,
- 98, 6, 1, 241, 175, 98, 6, 1, 212, 22, 98, 6, 1, 242, 4, 98, 6, 1, 241,
- 65, 98, 6, 1, 210, 246, 98, 6, 1, 254, 232, 98, 1, 254, 123, 98, 1, 252,
- 152, 98, 1, 243, 106, 98, 1, 247, 128, 98, 1, 245, 150, 98, 1, 213, 160,
- 98, 1, 210, 89, 98, 1, 217, 60, 98, 1, 235, 255, 98, 1, 234, 234, 98, 1,
- 233, 81, 98, 1, 231, 185, 98, 1, 229, 195, 98, 1, 226, 196, 98, 1, 226,
- 17, 98, 1, 210, 78, 98, 1, 223, 171, 98, 1, 221, 243, 98, 1, 217, 50, 98,
- 1, 214, 190, 98, 1, 225, 140, 98, 1, 234, 121, 98, 1, 242, 241, 98, 1,
- 224, 73, 98, 1, 220, 20, 98, 1, 250, 97, 98, 1, 251, 7, 98, 1, 235, 100,
- 98, 1, 250, 40, 98, 1, 250, 143, 98, 1, 211, 163, 98, 1, 235, 111, 98, 1,
- 242, 43, 98, 1, 241, 238, 98, 1, 241, 175, 98, 1, 212, 22, 98, 1, 242, 4,
- 98, 1, 241, 65, 98, 1, 244, 121, 98, 1, 210, 246, 98, 1, 245, 165, 98, 1,
- 215, 94, 243, 106, 98, 1, 254, 196, 98, 226, 15, 220, 137, 58, 1, 98,
- 229, 195, 98, 1, 254, 232, 98, 1, 242, 3, 50, 98, 1, 233, 127, 50, 24,
- 100, 234, 58, 24, 100, 218, 215, 24, 100, 228, 226, 24, 100, 216, 101,
- 24, 100, 218, 204, 24, 100, 223, 26, 24, 100, 230, 217, 24, 100, 225, 95,
- 24, 100, 218, 212, 24, 100, 219, 148, 24, 100, 218, 209, 24, 100, 236,
- 56, 24, 100, 250, 46, 24, 100, 218, 219, 24, 100, 250, 106, 24, 100, 234,
- 110, 24, 100, 216, 173, 24, 100, 225, 131, 24, 100, 241, 172, 24, 100,
- 228, 222, 24, 100, 218, 213, 24, 100, 228, 216, 24, 100, 228, 220, 24,
- 100, 216, 98, 24, 100, 223, 14, 24, 100, 218, 211, 24, 100, 223, 24, 24,
- 100, 234, 218, 24, 100, 230, 210, 24, 100, 234, 221, 24, 100, 225, 90,
- 24, 100, 225, 88, 24, 100, 225, 76, 24, 100, 225, 84, 24, 100, 225, 82,
- 24, 100, 225, 79, 24, 100, 225, 81, 24, 100, 225, 78, 24, 100, 225, 83,
- 24, 100, 225, 93, 24, 100, 225, 94, 24, 100, 225, 77, 24, 100, 225, 87,
- 24, 100, 234, 219, 24, 100, 234, 217, 24, 100, 219, 141, 24, 100, 219,
- 139, 24, 100, 219, 131, 24, 100, 219, 134, 24, 100, 219, 140, 24, 100,
- 219, 136, 24, 100, 219, 135, 24, 100, 219, 133, 24, 100, 219, 144, 24,
- 100, 219, 146, 24, 100, 219, 147, 24, 100, 219, 142, 24, 100, 219, 132,
- 24, 100, 219, 137, 24, 100, 219, 145, 24, 100, 250, 90, 24, 100, 250, 88,
- 24, 100, 250, 168, 24, 100, 250, 166, 24, 100, 226, 32, 24, 100, 236, 51,
- 24, 100, 236, 42, 24, 100, 236, 50, 24, 100, 236, 47, 24, 100, 236, 45,
- 24, 100, 236, 49, 24, 100, 218, 216, 24, 100, 236, 54, 24, 100, 236, 55,
- 24, 100, 236, 43, 24, 100, 236, 48, 24, 100, 211, 26, 24, 100, 250, 45,
- 24, 100, 250, 91, 24, 100, 250, 89, 24, 100, 250, 169, 24, 100, 250, 167,
- 24, 100, 250, 104, 24, 100, 250, 105, 24, 100, 250, 92, 24, 100, 250,
- 170, 24, 100, 225, 129, 24, 100, 234, 220, 24, 100, 218, 217, 24, 100,
- 211, 32, 24, 100, 234, 49, 24, 100, 228, 218, 24, 100, 228, 224, 24, 100,
- 228, 223, 24, 100, 216, 95, 24, 100, 244, 103, 24, 143, 244, 103, 24,
- 143, 61, 24, 143, 254, 243, 24, 143, 191, 24, 143, 211, 92, 24, 143, 245,
- 117, 24, 143, 75, 24, 143, 211, 36, 24, 143, 211, 47, 24, 143, 76, 24,
- 143, 212, 65, 24, 143, 212, 62, 24, 143, 226, 234, 24, 143, 210, 244, 24,
- 143, 70, 24, 143, 212, 11, 24, 143, 212, 22, 24, 143, 211, 250, 24, 143,
- 210, 212, 24, 143, 245, 55, 24, 143, 211, 8, 24, 143, 73, 24, 143, 255,
- 157, 24, 143, 255, 156, 24, 143, 211, 106, 24, 143, 211, 104, 24, 143,
- 245, 115, 24, 143, 245, 114, 24, 143, 245, 116, 24, 143, 211, 35, 24,
- 143, 211, 34, 24, 143, 227, 84, 24, 143, 227, 85, 24, 143, 227, 78, 24,
- 143, 227, 83, 24, 143, 227, 81, 24, 143, 210, 238, 24, 143, 210, 237, 24,
- 143, 210, 236, 24, 143, 210, 239, 24, 143, 210, 240, 24, 143, 215, 30,
- 24, 143, 215, 29, 24, 143, 215, 27, 24, 143, 215, 24, 24, 143, 215, 25,
- 24, 143, 210, 211, 24, 143, 210, 208, 24, 143, 210, 209, 24, 143, 210,
- 203, 24, 143, 210, 204, 24, 143, 210, 205, 24, 143, 210, 207, 24, 143,
- 245, 49, 24, 143, 245, 51, 24, 143, 211, 7, 24, 143, 240, 153, 24, 143,
- 240, 145, 24, 143, 240, 148, 24, 143, 240, 146, 24, 143, 240, 150, 24,
- 143, 240, 152, 24, 143, 254, 34, 24, 143, 254, 31, 24, 143, 254, 29, 24,
- 143, 254, 30, 24, 143, 218, 220, 24, 143, 255, 158, 24, 143, 211, 105,
- 24, 143, 211, 33, 24, 143, 227, 80, 24, 143, 227, 79, 24, 90, 234, 58,
- 24, 90, 218, 215, 24, 90, 234, 51, 24, 90, 228, 226, 24, 90, 228, 224,
- 24, 90, 228, 223, 24, 90, 216, 101, 24, 90, 223, 26, 24, 90, 223, 21, 24,
- 90, 223, 18, 24, 90, 223, 11, 24, 90, 223, 6, 24, 90, 223, 1, 24, 90,
- 223, 12, 24, 90, 223, 24, 24, 90, 230, 217, 24, 90, 225, 95, 24, 90, 225,
- 84, 24, 90, 219, 148, 24, 90, 218, 209, 24, 90, 236, 56, 24, 90, 250, 46,
- 24, 90, 250, 106, 24, 90, 234, 110, 24, 90, 216, 173, 24, 90, 225, 131,
- 24, 90, 241, 172, 24, 90, 234, 52, 24, 90, 234, 50, 24, 90, 228, 222, 24,
- 90, 228, 216, 24, 90, 228, 218, 24, 90, 228, 221, 24, 90, 228, 217, 24,
- 90, 216, 98, 24, 90, 216, 95, 24, 90, 223, 19, 24, 90, 223, 14, 24, 90,
- 223, 0, 24, 90, 222, 255, 24, 90, 218, 211, 24, 90, 223, 16, 24, 90, 223,
- 15, 24, 90, 223, 8, 24, 90, 223, 10, 24, 90, 223, 23, 24, 90, 223, 3, 24,
- 90, 223, 13, 24, 90, 223, 22, 24, 90, 222, 254, 24, 90, 230, 213, 24, 90,
- 230, 208, 24, 90, 230, 210, 24, 90, 230, 207, 24, 90, 230, 205, 24, 90,
- 230, 211, 24, 90, 230, 216, 24, 90, 230, 214, 24, 90, 234, 221, 24, 90,
- 225, 86, 24, 90, 225, 87, 24, 90, 225, 92, 24, 90, 234, 219, 24, 90, 219,
- 141, 24, 90, 219, 131, 24, 90, 219, 134, 24, 90, 219, 136, 24, 90, 226,
- 32, 24, 90, 236, 51, 24, 90, 236, 44, 24, 90, 218, 216, 24, 90, 236, 52,
- 24, 90, 211, 26, 24, 90, 211, 22, 24, 90, 211, 23, 24, 90, 225, 129, 24,
- 90, 234, 220, 24, 90, 241, 170, 24, 90, 241, 168, 24, 90, 241, 171, 24,
- 90, 241, 169, 24, 90, 211, 32, 24, 90, 234, 54, 24, 90, 234, 53, 24, 90,
- 234, 57, 24, 90, 234, 55, 24, 90, 234, 56, 24, 90, 218, 213, 29, 3, 162,
- 29, 3, 240, 222, 29, 3, 241, 180, 29, 3, 242, 46, 29, 3, 241, 220, 29, 3,
- 241, 238, 29, 3, 241, 68, 29, 3, 241, 67, 29, 3, 233, 135, 29, 3, 232,
- 98, 29, 3, 232, 241, 29, 3, 233, 134, 29, 3, 233, 50, 29, 3, 233, 58, 29,
- 3, 232, 156, 29, 3, 232, 70, 29, 3, 241, 189, 29, 3, 241, 183, 29, 3,
- 241, 185, 29, 3, 241, 188, 29, 3, 241, 186, 29, 3, 241, 187, 29, 3, 241,
- 184, 29, 3, 241, 182, 29, 3, 184, 29, 3, 230, 102, 29, 3, 230, 230, 29,
- 3, 231, 237, 29, 3, 231, 80, 29, 3, 231, 91, 29, 3, 230, 161, 29, 3, 230,
- 42, 29, 3, 217, 163, 29, 3, 217, 157, 29, 3, 217, 159, 29, 3, 217, 162,
- 29, 3, 217, 160, 29, 3, 217, 161, 29, 3, 217, 158, 29, 3, 217, 156, 29,
- 3, 205, 29, 3, 222, 140, 29, 3, 223, 35, 29, 3, 223, 184, 29, 3, 223,
- 108, 29, 3, 223, 128, 29, 3, 222, 211, 29, 3, 222, 109, 29, 3, 206, 29,
- 3, 218, 83, 29, 3, 219, 191, 29, 3, 222, 31, 29, 3, 221, 170, 29, 3, 221,
- 181, 29, 3, 219, 58, 29, 3, 217, 253, 29, 3, 220, 102, 29, 3, 219, 225,
- 29, 3, 220, 32, 29, 3, 220, 98, 29, 3, 220, 61, 29, 3, 220, 63, 29, 3,
- 220, 7, 29, 3, 219, 208, 29, 3, 224, 88, 29, 3, 224, 30, 29, 3, 224, 53,
- 29, 3, 224, 87, 29, 3, 224, 68, 29, 3, 224, 69, 29, 3, 224, 42, 29, 3,
- 224, 41, 29, 3, 223, 242, 29, 3, 223, 238, 29, 3, 223, 241, 29, 3, 223,
- 239, 29, 3, 223, 240, 29, 3, 224, 65, 29, 3, 224, 59, 29, 3, 224, 61, 29,
- 3, 224, 64, 29, 3, 224, 62, 29, 3, 224, 63, 29, 3, 224, 60, 29, 3, 224,
- 58, 29, 3, 224, 54, 29, 3, 224, 57, 29, 3, 224, 55, 29, 3, 224, 56, 29,
- 3, 252, 191, 29, 3, 251, 125, 29, 3, 252, 6, 29, 3, 252, 189, 29, 3, 252,
- 66, 29, 3, 252, 75, 29, 3, 251, 205, 29, 3, 251, 83, 29, 3, 214, 27, 29,
- 3, 212, 116, 29, 3, 213, 176, 29, 3, 214, 26, 29, 3, 213, 250, 29, 3,
- 213, 255, 29, 3, 213, 138, 29, 3, 212, 107, 29, 3, 217, 105, 29, 3, 215,
- 118, 29, 3, 216, 117, 29, 3, 217, 101, 29, 3, 217, 11, 29, 3, 217, 22,
- 29, 3, 111, 29, 3, 215, 80, 29, 3, 251, 33, 29, 3, 249, 112, 29, 3, 250,
- 51, 29, 3, 251, 32, 29, 3, 250, 182, 29, 3, 250, 190, 29, 3, 249, 238,
- 29, 3, 249, 81, 29, 3, 211, 165, 29, 3, 211, 141, 29, 3, 211, 157, 29, 3,
- 211, 164, 29, 3, 211, 161, 29, 3, 211, 162, 29, 3, 211, 148, 29, 3, 211,
- 147, 29, 3, 211, 136, 29, 3, 211, 132, 29, 3, 211, 135, 29, 3, 211, 133,
- 29, 3, 211, 134, 29, 3, 197, 29, 3, 227, 237, 29, 3, 228, 233, 29, 3,
- 229, 225, 29, 3, 229, 103, 29, 3, 229, 107, 29, 3, 228, 74, 29, 3, 227,
- 174, 29, 3, 227, 165, 29, 3, 227, 128, 29, 3, 227, 148, 29, 3, 227, 164,
- 29, 3, 227, 155, 29, 3, 227, 156, 29, 3, 227, 134, 29, 3, 227, 119, 29,
- 3, 242, 180, 61, 29, 3, 242, 180, 70, 29, 3, 242, 180, 73, 29, 3, 242,
- 180, 255, 73, 29, 3, 242, 180, 245, 209, 29, 3, 242, 180, 75, 29, 3, 242,
- 180, 76, 29, 3, 242, 180, 212, 65, 29, 3, 176, 29, 3, 233, 217, 29, 3,
- 234, 92, 29, 3, 235, 10, 29, 3, 234, 181, 29, 3, 234, 182, 29, 3, 234,
- 28, 29, 3, 234, 27, 29, 3, 233, 182, 29, 3, 233, 176, 29, 3, 233, 181,
- 29, 3, 233, 177, 29, 3, 233, 178, 29, 3, 233, 171, 29, 3, 233, 165, 29,
- 3, 233, 167, 29, 3, 233, 170, 29, 3, 233, 168, 29, 3, 233, 169, 29, 3,
- 233, 166, 29, 3, 233, 164, 29, 3, 233, 160, 29, 3, 233, 163, 29, 3, 233,
- 161, 29, 3, 233, 162, 29, 3, 212, 65, 29, 3, 211, 195, 29, 3, 211, 250,
- 29, 3, 212, 64, 29, 3, 212, 17, 29, 3, 212, 22, 29, 3, 211, 227, 29, 3,
- 211, 226, 29, 3, 225, 139, 61, 29, 3, 225, 139, 70, 29, 3, 225, 139, 73,
- 29, 3, 225, 139, 255, 73, 29, 3, 225, 139, 245, 209, 29, 3, 225, 139, 75,
- 29, 3, 225, 139, 76, 29, 3, 210, 116, 29, 3, 210, 13, 29, 3, 210, 44, 29,
- 3, 210, 115, 29, 3, 210, 92, 29, 3, 210, 94, 29, 3, 210, 23, 29, 3, 210,
- 0, 29, 3, 210, 82, 29, 3, 210, 62, 29, 3, 210, 69, 29, 3, 210, 81, 29, 3,
- 210, 73, 29, 3, 210, 74, 29, 3, 210, 67, 29, 3, 210, 53, 29, 3, 191, 29,
- 3, 210, 212, 29, 3, 211, 8, 29, 3, 211, 103, 29, 3, 211, 44, 29, 3, 211,
- 47, 29, 3, 210, 244, 29, 3, 210, 235, 29, 3, 248, 221, 29, 3, 246, 78,
- 29, 3, 248, 3, 29, 3, 248, 220, 29, 3, 248, 77, 29, 3, 248, 90, 29, 3,
- 247, 145, 29, 3, 246, 47, 29, 3, 248, 135, 29, 3, 248, 100, 29, 3, 248,
- 112, 29, 3, 248, 134, 29, 3, 248, 122, 29, 3, 248, 123, 29, 3, 248, 105,
- 29, 3, 248, 91, 29, 3, 235, 141, 29, 3, 235, 51, 29, 3, 235, 108, 29, 3,
- 235, 140, 29, 3, 235, 124, 29, 3, 235, 126, 29, 3, 235, 68, 29, 3, 235,
- 31, 29, 3, 243, 135, 29, 3, 242, 113, 29, 3, 242, 214, 29, 3, 243, 132,
- 29, 3, 243, 55, 29, 3, 243, 62, 29, 3, 242, 174, 29, 3, 242, 173, 29, 3,
- 242, 78, 29, 3, 242, 74, 29, 3, 242, 77, 29, 3, 242, 75, 29, 3, 242, 76,
- 29, 3, 243, 29, 29, 3, 243, 9, 29, 3, 243, 19, 29, 3, 243, 28, 29, 3,
- 243, 23, 29, 3, 243, 24, 29, 3, 243, 13, 29, 3, 242, 254, 29, 3, 216,
- 208, 29, 3, 216, 136, 29, 3, 216, 175, 29, 3, 216, 207, 29, 3, 216, 194,
- 29, 3, 216, 195, 29, 3, 216, 156, 29, 3, 216, 128, 29, 3, 250, 157, 29,
- 3, 250, 69, 29, 3, 250, 110, 29, 3, 250, 156, 29, 3, 250, 128, 29, 3,
- 250, 131, 29, 3, 250, 86, 29, 3, 250, 58, 29, 3, 225, 147, 29, 3, 225,
- 114, 29, 3, 225, 133, 29, 3, 225, 146, 29, 3, 225, 135, 29, 3, 225, 136,
- 29, 3, 225, 121, 29, 3, 225, 110, 29, 3, 215, 183, 29, 3, 215, 163, 29,
- 3, 215, 167, 29, 3, 215, 182, 29, 3, 215, 177, 29, 3, 215, 178, 29, 3,
- 215, 166, 29, 3, 215, 161, 29, 3, 215, 39, 29, 3, 215, 31, 29, 3, 215,
- 35, 29, 3, 215, 38, 29, 3, 215, 36, 29, 3, 215, 37, 29, 3, 215, 33, 29,
- 3, 215, 32, 29, 3, 244, 196, 29, 3, 243, 234, 29, 3, 244, 121, 29, 3,
- 244, 195, 29, 3, 244, 147, 29, 3, 244, 154, 29, 3, 244, 43, 29, 3, 243,
- 213, 29, 3, 190, 29, 3, 224, 150, 29, 3, 225, 108, 29, 3, 226, 89, 29, 3,
- 225, 211, 29, 3, 225, 221, 29, 3, 225, 16, 29, 3, 224, 114, 29, 3, 222,
- 99, 29, 3, 230, 31, 29, 3, 243, 207, 29, 38, 243, 53, 22, 25, 233, 23,
- 78, 29, 38, 25, 233, 23, 78, 29, 38, 243, 53, 78, 29, 221, 173, 78, 29,
- 211, 208, 29, 243, 229, 218, 129, 29, 249, 219, 29, 220, 150, 29, 249,
- 226, 29, 224, 199, 249, 226, 29, 224, 13, 78, 29, 226, 15, 220, 137, 29,
- 21, 110, 29, 21, 105, 29, 21, 158, 29, 21, 161, 29, 21, 189, 29, 21, 194,
- 29, 21, 198, 29, 21, 195, 29, 21, 200, 29, 54, 216, 247, 29, 54, 215, 73,
- 29, 54, 216, 162, 29, 54, 244, 15, 29, 54, 244, 114, 29, 54, 219, 111,
- 29, 54, 220, 116, 29, 54, 245, 184, 29, 54, 228, 195, 29, 54, 240, 210,
- 29, 54, 216, 248, 216, 147, 29, 3, 221, 177, 230, 42, 29, 3, 230, 38, 29,
- 3, 230, 39, 29, 3, 230, 40, 29, 3, 221, 177, 251, 83, 29, 3, 251, 80, 29,
- 3, 251, 81, 29, 3, 251, 82, 29, 3, 221, 177, 243, 213, 29, 3, 243, 209,
- 29, 3, 243, 210, 29, 3, 243, 211, 29, 3, 221, 177, 224, 114, 29, 3, 224,
- 110, 29, 3, 224, 111, 29, 3, 224, 112, 29, 216, 31, 164, 210, 247, 29,
- 216, 31, 164, 248, 41, 29, 216, 31, 164, 222, 238, 29, 216, 31, 164, 219,
- 251, 222, 238, 29, 216, 31, 164, 247, 235, 29, 216, 31, 164, 234, 164,
- 29, 216, 31, 164, 250, 94, 29, 216, 31, 164, 241, 177, 29, 216, 31, 164,
- 248, 40, 29, 216, 31, 164, 233, 194, 169, 1, 61, 169, 1, 75, 169, 1, 73,
- 169, 1, 76, 169, 1, 70, 169, 1, 214, 105, 169, 1, 243, 135, 169, 1, 176,
- 169, 1, 243, 62, 169, 1, 242, 214, 169, 1, 242, 174, 169, 1, 242, 113,
- 169, 1, 242, 79, 169, 1, 162, 169, 1, 241, 238, 169, 1, 241, 180, 169, 1,
- 241, 68, 169, 1, 240, 222, 169, 1, 240, 201, 169, 1, 233, 135, 169, 1,
- 233, 58, 169, 1, 232, 241, 169, 1, 232, 156, 169, 1, 232, 98, 169, 1,
- 232, 71, 169, 1, 184, 169, 1, 231, 91, 169, 1, 230, 230, 169, 1, 230,
- 161, 169, 1, 230, 102, 169, 1, 197, 169, 1, 241, 90, 169, 1, 229, 213,
- 169, 1, 229, 107, 169, 1, 228, 233, 169, 1, 228, 74, 169, 1, 227, 237,
- 169, 1, 227, 176, 169, 1, 224, 29, 169, 1, 224, 16, 169, 1, 224, 9, 169,
- 1, 224, 1, 169, 1, 223, 246, 169, 1, 223, 244, 169, 1, 206, 169, 1, 222,
- 91, 169, 1, 221, 181, 169, 1, 219, 191, 169, 1, 219, 58, 169, 1, 218, 83,
- 169, 1, 218, 2, 169, 1, 248, 221, 169, 1, 217, 105, 169, 1, 248, 90, 169,
- 1, 217, 22, 169, 1, 248, 3, 169, 1, 216, 117, 169, 1, 247, 145, 169, 1,
- 246, 78, 169, 1, 246, 50, 169, 1, 247, 156, 169, 1, 216, 59, 169, 1, 216,
- 58, 169, 1, 216, 47, 169, 1, 216, 46, 169, 1, 216, 45, 169, 1, 216, 44,
- 169, 1, 215, 183, 169, 1, 215, 178, 169, 1, 215, 167, 169, 1, 215, 166,
- 169, 1, 215, 163, 169, 1, 215, 162, 169, 1, 212, 65, 169, 1, 212, 22,
- 169, 1, 211, 250, 169, 1, 211, 227, 169, 1, 211, 195, 169, 1, 211, 183,
- 169, 1, 191, 169, 1, 211, 47, 169, 1, 211, 8, 169, 1, 210, 244, 169, 1,
- 210, 212, 169, 1, 210, 177, 18, 19, 240, 168, 18, 19, 75, 18, 19, 255,
- 37, 18, 19, 73, 18, 19, 236, 33, 18, 19, 76, 18, 19, 226, 183, 18, 19,
- 211, 116, 226, 183, 18, 19, 72, 245, 209, 18, 19, 72, 73, 18, 19, 61, 18,
- 19, 255, 73, 18, 19, 212, 22, 18, 19, 159, 212, 22, 18, 19, 211, 250, 18,
- 19, 159, 211, 250, 18, 19, 211, 242, 18, 19, 159, 211, 242, 18, 19, 211,
- 227, 18, 19, 159, 211, 227, 18, 19, 211, 215, 18, 19, 159, 211, 215, 18,
- 19, 229, 190, 211, 215, 18, 19, 212, 65, 18, 19, 159, 212, 65, 18, 19,
- 212, 64, 18, 19, 159, 212, 64, 18, 19, 229, 190, 212, 64, 18, 19, 254,
- 201, 18, 19, 211, 116, 212, 98, 18, 19, 242, 180, 218, 129, 18, 19, 40,
- 142, 18, 19, 40, 242, 136, 18, 19, 40, 251, 175, 163, 222, 233, 18, 19,
- 40, 216, 14, 163, 222, 233, 18, 19, 40, 44, 163, 222, 233, 18, 19, 40,
- 222, 233, 18, 19, 40, 52, 142, 18, 19, 40, 52, 219, 251, 67, 218, 90, 18,
- 19, 40, 230, 224, 247, 120, 18, 19, 40, 219, 251, 203, 91, 18, 19, 40,
- 225, 22, 18, 19, 40, 124, 217, 87, 18, 19, 245, 150, 18, 19, 235, 255,
- 18, 19, 226, 196, 18, 19, 254, 123, 18, 19, 225, 221, 18, 19, 226, 87,
- 18, 19, 225, 108, 18, 19, 225, 71, 18, 19, 225, 16, 18, 19, 224, 249, 18,
- 19, 211, 116, 224, 249, 18, 19, 72, 241, 220, 18, 19, 72, 241, 180, 18,
- 19, 190, 18, 19, 226, 89, 18, 19, 224, 112, 18, 19, 159, 224, 112, 18,
- 19, 224, 110, 18, 19, 159, 224, 110, 18, 19, 224, 109, 18, 19, 159, 224,
- 109, 18, 19, 224, 107, 18, 19, 159, 224, 107, 18, 19, 224, 106, 18, 19,
- 159, 224, 106, 18, 19, 224, 114, 18, 19, 159, 224, 114, 18, 19, 224, 113,
- 18, 19, 159, 224, 113, 18, 19, 211, 116, 224, 113, 18, 19, 226, 105, 18,
- 19, 159, 226, 105, 18, 19, 72, 242, 60, 18, 19, 217, 22, 18, 19, 217, 99,
- 18, 19, 216, 117, 18, 19, 216, 103, 18, 19, 111, 18, 19, 216, 17, 18, 19,
- 211, 116, 216, 17, 18, 19, 72, 248, 77, 18, 19, 72, 248, 3, 18, 19, 217,
- 105, 18, 19, 217, 101, 18, 19, 215, 78, 18, 19, 159, 215, 78, 18, 19,
- 215, 62, 18, 19, 159, 215, 62, 18, 19, 215, 61, 18, 19, 159, 215, 61, 18,
- 19, 105, 18, 19, 159, 105, 18, 19, 215, 54, 18, 19, 159, 215, 54, 18, 19,
- 215, 80, 18, 19, 159, 215, 80, 18, 19, 215, 79, 18, 19, 159, 215, 79, 18,
- 19, 229, 190, 215, 79, 18, 19, 217, 152, 18, 19, 215, 151, 18, 19, 215,
- 135, 18, 19, 215, 133, 18, 19, 215, 156, 18, 19, 234, 182, 18, 19, 235,
- 7, 18, 19, 234, 92, 18, 19, 234, 83, 18, 19, 234, 28, 18, 19, 234, 10,
- 18, 19, 211, 116, 234, 10, 18, 19, 176, 18, 19, 235, 10, 18, 19, 233,
- 178, 18, 19, 159, 233, 178, 18, 19, 233, 176, 18, 19, 159, 233, 176, 18,
- 19, 233, 175, 18, 19, 159, 233, 175, 18, 19, 233, 174, 18, 19, 159, 233,
- 174, 18, 19, 233, 173, 18, 19, 159, 233, 173, 18, 19, 233, 182, 18, 19,
- 159, 233, 182, 18, 19, 233, 181, 18, 19, 159, 233, 181, 18, 19, 229, 190,
- 233, 181, 18, 19, 235, 23, 18, 19, 233, 183, 18, 19, 219, 27, 234, 176,
- 18, 19, 219, 27, 234, 84, 18, 19, 219, 27, 234, 23, 18, 19, 219, 27, 234,
- 248, 18, 19, 250, 190, 18, 19, 251, 31, 18, 19, 250, 51, 18, 19, 250, 41,
- 18, 19, 249, 238, 18, 19, 249, 174, 18, 19, 211, 116, 249, 174, 18, 19,
- 251, 33, 18, 19, 251, 32, 18, 19, 249, 79, 18, 19, 159, 249, 79, 18, 19,
- 249, 77, 18, 19, 159, 249, 77, 18, 19, 249, 76, 18, 19, 159, 249, 76, 18,
- 19, 249, 75, 18, 19, 159, 249, 75, 18, 19, 249, 74, 18, 19, 159, 249, 74,
- 18, 19, 249, 81, 18, 19, 159, 249, 81, 18, 19, 249, 80, 18, 19, 159, 249,
- 80, 18, 19, 229, 190, 249, 80, 18, 19, 251, 66, 18, 19, 221, 209, 216,
- 210, 18, 19, 231, 91, 18, 19, 231, 236, 18, 19, 230, 230, 18, 19, 230,
- 201, 18, 19, 230, 161, 18, 19, 230, 132, 18, 19, 211, 116, 230, 132, 18,
- 19, 184, 18, 19, 231, 237, 18, 19, 230, 40, 18, 19, 159, 230, 40, 18, 19,
- 230, 38, 18, 19, 159, 230, 38, 18, 19, 230, 37, 18, 19, 159, 230, 37, 18,
- 19, 230, 36, 18, 19, 159, 230, 36, 18, 19, 230, 35, 18, 19, 159, 230, 35,
- 18, 19, 230, 42, 18, 19, 159, 230, 42, 18, 19, 230, 41, 18, 19, 159, 230,
- 41, 18, 19, 229, 190, 230, 41, 18, 19, 193, 18, 19, 159, 193, 18, 19,
- 230, 234, 18, 19, 253, 205, 193, 18, 19, 221, 209, 193, 18, 19, 229, 107,
- 18, 19, 229, 224, 18, 19, 228, 233, 18, 19, 228, 208, 18, 19, 228, 74,
- 18, 19, 228, 64, 18, 19, 211, 116, 228, 64, 18, 19, 197, 18, 19, 229,
- 225, 18, 19, 227, 172, 18, 19, 159, 227, 172, 18, 19, 227, 174, 18, 19,
- 159, 227, 174, 18, 19, 227, 173, 18, 19, 159, 227, 173, 18, 19, 229, 190,
- 227, 173, 18, 19, 230, 25, 18, 19, 72, 229, 79, 18, 19, 228, 238, 18, 19,
- 233, 58, 18, 19, 233, 133, 18, 19, 232, 241, 18, 19, 232, 227, 18, 19,
- 232, 156, 18, 19, 232, 127, 18, 19, 211, 116, 232, 127, 18, 19, 233, 135,
- 18, 19, 233, 134, 18, 19, 232, 68, 18, 19, 159, 232, 68, 18, 19, 232, 67,
- 18, 19, 159, 232, 67, 18, 19, 232, 66, 18, 19, 159, 232, 66, 18, 19, 232,
- 65, 18, 19, 159, 232, 65, 18, 19, 232, 64, 18, 19, 159, 232, 64, 18, 19,
- 232, 70, 18, 19, 159, 232, 70, 18, 19, 232, 69, 18, 19, 159, 232, 69, 18,
- 19, 156, 18, 19, 159, 156, 18, 19, 147, 156, 18, 19, 221, 181, 18, 19,
- 222, 29, 18, 19, 219, 191, 18, 19, 219, 175, 18, 19, 219, 58, 18, 19,
- 219, 40, 18, 19, 211, 116, 219, 40, 18, 19, 206, 18, 19, 222, 31, 18, 19,
- 217, 249, 18, 19, 159, 217, 249, 18, 19, 217, 243, 18, 19, 159, 217, 243,
- 18, 19, 217, 242, 18, 19, 159, 217, 242, 18, 19, 217, 238, 18, 19, 159,
- 217, 238, 18, 19, 217, 237, 18, 19, 159, 217, 237, 18, 19, 217, 253, 18,
- 19, 159, 217, 253, 18, 19, 217, 252, 18, 19, 159, 217, 252, 18, 19, 229,
- 190, 217, 252, 18, 19, 222, 91, 18, 19, 253, 205, 222, 91, 18, 19, 217,
- 254, 18, 19, 251, 218, 222, 91, 18, 19, 230, 127, 219, 108, 18, 19, 229,
- 190, 219, 99, 18, 19, 229, 190, 222, 89, 18, 19, 229, 190, 218, 235, 18,
- 19, 229, 190, 218, 86, 18, 19, 229, 190, 219, 98, 18, 19, 229, 190, 221,
- 184, 18, 19, 220, 63, 18, 19, 220, 32, 18, 19, 220, 27, 18, 19, 220, 7,
- 18, 19, 220, 1, 18, 19, 220, 102, 18, 19, 220, 98, 18, 19, 219, 206, 18,
- 19, 159, 219, 206, 18, 19, 219, 205, 18, 19, 159, 219, 205, 18, 19, 219,
- 204, 18, 19, 159, 219, 204, 18, 19, 219, 203, 18, 19, 159, 219, 203, 18,
- 19, 219, 202, 18, 19, 159, 219, 202, 18, 19, 219, 208, 18, 19, 159, 219,
- 208, 18, 19, 219, 207, 18, 19, 159, 219, 207, 18, 19, 220, 104, 18, 19,
- 211, 47, 18, 19, 211, 101, 18, 19, 211, 8, 18, 19, 210, 255, 18, 19, 210,
- 244, 18, 19, 210, 229, 18, 19, 211, 116, 210, 229, 18, 19, 191, 18, 19,
- 211, 103, 18, 19, 210, 174, 18, 19, 159, 210, 174, 18, 19, 210, 173, 18,
- 19, 159, 210, 173, 18, 19, 210, 172, 18, 19, 159, 210, 172, 18, 19, 210,
- 171, 18, 19, 159, 210, 171, 18, 19, 210, 170, 18, 19, 159, 210, 170, 18,
- 19, 210, 176, 18, 19, 159, 210, 176, 18, 19, 210, 175, 18, 19, 159, 210,
- 175, 18, 19, 229, 190, 210, 175, 18, 19, 211, 117, 18, 19, 252, 4, 211,
- 117, 18, 19, 159, 211, 117, 18, 19, 221, 209, 211, 8, 18, 19, 223, 128,
- 18, 19, 223, 223, 223, 128, 18, 19, 159, 233, 58, 18, 19, 223, 183, 18,
- 19, 223, 35, 18, 19, 222, 239, 18, 19, 222, 211, 18, 19, 222, 197, 18,
- 19, 159, 232, 156, 18, 19, 205, 18, 19, 223, 184, 18, 19, 159, 233, 135,
- 18, 19, 222, 108, 18, 19, 159, 222, 108, 18, 19, 153, 18, 19, 159, 153,
- 18, 19, 147, 153, 18, 19, 244, 154, 18, 19, 244, 193, 18, 19, 244, 121,
- 18, 19, 244, 108, 18, 19, 244, 43, 18, 19, 244, 34, 18, 19, 244, 196, 18,
- 19, 244, 195, 18, 19, 243, 212, 18, 19, 159, 243, 212, 18, 19, 245, 6,
- 18, 19, 216, 195, 18, 19, 230, 23, 216, 195, 18, 19, 216, 175, 18, 19,
- 230, 23, 216, 175, 18, 19, 216, 171, 18, 19, 230, 23, 216, 171, 18, 19,
- 216, 156, 18, 19, 216, 153, 18, 19, 216, 208, 18, 19, 216, 207, 18, 19,
- 216, 127, 18, 19, 159, 216, 127, 18, 19, 216, 210, 18, 19, 215, 142, 18,
- 19, 215, 140, 18, 19, 215, 139, 18, 19, 215, 144, 18, 19, 215, 145, 18,
- 19, 215, 52, 18, 19, 215, 51, 18, 19, 215, 50, 18, 19, 215, 53, 18, 19,
- 227, 193, 241, 238, 18, 19, 227, 193, 241, 180, 18, 19, 227, 193, 241,
- 161, 18, 19, 227, 193, 241, 68, 18, 19, 227, 193, 241, 53, 18, 19, 227,
- 193, 162, 18, 19, 227, 193, 242, 46, 18, 19, 227, 193, 242, 60, 18, 19,
- 227, 192, 242, 60, 18, 19, 241, 154, 18, 19, 224, 84, 18, 19, 224, 53,
- 18, 19, 224, 48, 18, 19, 224, 42, 18, 19, 224, 37, 18, 19, 224, 88, 18,
- 19, 224, 87, 18, 19, 224, 96, 18, 19, 216, 55, 18, 19, 216, 53, 18, 19,
- 216, 52, 18, 19, 216, 56, 18, 19, 159, 223, 128, 18, 19, 159, 223, 35,
- 18, 19, 159, 222, 211, 18, 19, 159, 205, 18, 19, 229, 75, 18, 19, 229,
- 27, 18, 19, 229, 23, 18, 19, 229, 4, 18, 19, 228, 255, 18, 19, 229, 77,
- 18, 19, 229, 76, 18, 19, 229, 79, 18, 19, 228, 103, 18, 19, 221, 209,
- 220, 63, 18, 19, 221, 209, 220, 32, 18, 19, 221, 209, 220, 7, 18, 19,
- 221, 209, 220, 102, 18, 19, 211, 213, 216, 195, 18, 19, 211, 213, 216,
- 175, 18, 19, 211, 213, 216, 156, 18, 19, 211, 213, 216, 208, 18, 19, 211,
- 213, 216, 210, 18, 19, 232, 248, 18, 19, 232, 247, 18, 19, 232, 246, 18,
- 19, 232, 245, 18, 19, 232, 254, 18, 19, 232, 253, 18, 19, 232, 255, 18,
- 19, 216, 209, 216, 195, 18, 19, 216, 209, 216, 175, 18, 19, 216, 209,
- 216, 171, 18, 19, 216, 209, 216, 156, 18, 19, 216, 209, 216, 153, 18, 19,
- 216, 209, 216, 208, 18, 19, 216, 209, 216, 207, 18, 19, 216, 209, 216,
- 210, 18, 19, 254, 189, 253, 158, 18, 19, 251, 218, 75, 18, 19, 251, 218,
- 73, 18, 19, 251, 218, 76, 18, 19, 251, 218, 61, 18, 19, 251, 218, 212,
- 22, 18, 19, 251, 218, 211, 250, 18, 19, 251, 218, 211, 227, 18, 19, 251,
- 218, 212, 65, 18, 19, 251, 218, 229, 107, 18, 19, 251, 218, 228, 233, 18,
- 19, 251, 218, 228, 74, 18, 19, 251, 218, 197, 18, 19, 251, 218, 234, 182,
- 18, 19, 251, 218, 234, 92, 18, 19, 251, 218, 234, 28, 18, 19, 251, 218,
- 176, 18, 19, 221, 209, 241, 238, 18, 19, 221, 209, 241, 180, 18, 19, 221,
- 209, 241, 68, 18, 19, 221, 209, 162, 18, 19, 72, 242, 220, 18, 19, 72,
- 242, 224, 18, 19, 72, 242, 236, 18, 19, 72, 242, 235, 18, 19, 72, 242,
- 225, 18, 19, 72, 242, 249, 18, 19, 72, 222, 140, 18, 19, 72, 222, 211,
- 18, 19, 72, 223, 128, 18, 19, 72, 223, 108, 18, 19, 72, 223, 35, 18, 19,
- 72, 205, 18, 19, 72, 211, 195, 18, 19, 72, 211, 227, 18, 19, 72, 212, 22,
- 18, 19, 72, 212, 17, 18, 19, 72, 211, 250, 18, 19, 72, 212, 65, 18, 19,
- 72, 240, 194, 18, 19, 72, 240, 195, 18, 19, 72, 240, 198, 18, 19, 72,
- 240, 197, 18, 19, 72, 240, 196, 18, 19, 72, 240, 200, 18, 19, 72, 216,
- 136, 18, 19, 72, 216, 156, 18, 19, 72, 216, 195, 18, 19, 72, 216, 194,
- 18, 19, 72, 216, 175, 18, 19, 72, 216, 208, 18, 19, 72, 215, 123, 18, 19,
- 72, 215, 133, 18, 19, 72, 215, 151, 18, 19, 72, 215, 150, 18, 19, 72,
- 215, 135, 18, 19, 72, 215, 156, 18, 19, 72, 224, 150, 18, 19, 72, 225,
- 16, 18, 19, 72, 225, 221, 18, 19, 72, 225, 211, 18, 19, 72, 225, 108, 18,
- 19, 72, 190, 18, 19, 72, 226, 105, 18, 19, 72, 242, 113, 18, 19, 72, 242,
- 174, 18, 19, 72, 243, 62, 18, 19, 72, 243, 55, 18, 19, 72, 242, 214, 18,
- 19, 72, 243, 135, 18, 19, 72, 234, 100, 18, 19, 72, 234, 105, 18, 19, 72,
- 234, 119, 18, 19, 72, 234, 118, 18, 19, 72, 234, 112, 18, 19, 72, 234,
- 132, 18, 19, 72, 234, 41, 18, 19, 72, 234, 42, 18, 19, 72, 234, 45, 18,
- 19, 72, 234, 44, 18, 19, 72, 234, 43, 18, 19, 72, 234, 46, 18, 19, 72,
- 234, 47, 18, 19, 72, 227, 237, 18, 19, 72, 228, 74, 18, 19, 72, 229, 107,
- 18, 19, 72, 229, 103, 18, 19, 72, 228, 233, 18, 19, 72, 197, 18, 19, 72,
- 230, 102, 18, 19, 72, 230, 161, 18, 19, 72, 231, 91, 18, 19, 72, 231, 80,
- 18, 19, 72, 230, 230, 18, 19, 72, 184, 18, 19, 72, 210, 212, 18, 19, 72,
- 210, 244, 18, 19, 72, 211, 47, 18, 19, 72, 211, 44, 18, 19, 72, 211, 8,
- 18, 19, 72, 191, 18, 19, 72, 235, 51, 18, 19, 221, 209, 235, 51, 18, 19,
- 72, 235, 68, 18, 19, 72, 235, 126, 18, 19, 72, 235, 124, 18, 19, 72, 235,
- 108, 18, 19, 221, 209, 235, 108, 18, 19, 72, 235, 141, 18, 19, 72, 235,
- 81, 18, 19, 72, 235, 85, 18, 19, 72, 235, 95, 18, 19, 72, 235, 94, 18,
- 19, 72, 235, 93, 18, 19, 72, 235, 96, 18, 19, 72, 232, 98, 18, 19, 72,
- 232, 156, 18, 19, 72, 233, 58, 18, 19, 72, 233, 50, 18, 19, 72, 232, 241,
- 18, 19, 72, 233, 135, 18, 19, 72, 247, 149, 18, 19, 72, 247, 150, 18, 19,
- 72, 247, 155, 18, 19, 72, 247, 154, 18, 19, 72, 247, 151, 18, 19, 72,
- 247, 156, 18, 19, 72, 232, 244, 18, 19, 72, 232, 246, 18, 19, 72, 232,
- 250, 18, 19, 72, 232, 249, 18, 19, 72, 232, 248, 18, 19, 72, 232, 254,
- 18, 19, 72, 216, 50, 18, 19, 72, 216, 52, 18, 19, 72, 216, 55, 18, 19,
- 72, 216, 54, 18, 19, 72, 216, 53, 18, 19, 72, 216, 56, 18, 19, 72, 216,
- 45, 18, 19, 72, 216, 46, 18, 19, 72, 216, 58, 18, 19, 72, 216, 57, 18,
- 19, 72, 216, 47, 18, 19, 72, 216, 59, 18, 19, 72, 210, 13, 18, 19, 72,
- 210, 23, 18, 19, 72, 210, 94, 18, 19, 72, 210, 92, 18, 19, 72, 210, 44,
- 18, 19, 72, 210, 116, 18, 19, 72, 210, 159, 18, 19, 72, 65, 210, 159, 18,
- 19, 72, 246, 28, 18, 19, 72, 246, 29, 18, 19, 72, 246, 36, 18, 19, 72,
- 246, 35, 18, 19, 72, 246, 31, 18, 19, 72, 246, 38, 18, 19, 72, 218, 83,
- 18, 19, 72, 219, 58, 18, 19, 72, 221, 181, 18, 19, 72, 221, 170, 18, 19,
- 72, 219, 191, 18, 19, 72, 206, 18, 19, 72, 219, 225, 18, 19, 72, 220, 7,
- 18, 19, 72, 220, 63, 18, 19, 72, 220, 61, 18, 19, 72, 220, 32, 18, 19,
- 72, 220, 102, 18, 19, 72, 220, 104, 18, 19, 72, 215, 163, 18, 19, 72,
- 215, 166, 18, 19, 72, 215, 178, 18, 19, 72, 215, 177, 18, 19, 72, 215,
- 167, 18, 19, 72, 215, 183, 18, 19, 72, 250, 69, 18, 19, 72, 250, 86, 18,
- 19, 72, 250, 131, 18, 19, 72, 250, 128, 18, 19, 72, 250, 110, 18, 19, 72,
- 250, 157, 18, 19, 72, 215, 126, 18, 19, 72, 215, 127, 18, 19, 72, 215,
- 130, 18, 19, 72, 215, 129, 18, 19, 72, 215, 128, 18, 19, 72, 215, 131,
- 18, 19, 250, 111, 50, 18, 19, 243, 229, 218, 129, 18, 19, 224, 80, 18,
- 19, 229, 73, 18, 19, 228, 100, 18, 19, 228, 99, 18, 19, 228, 98, 18, 19,
- 228, 97, 18, 19, 228, 102, 18, 19, 228, 101, 18, 19, 211, 213, 216, 125,
- 18, 19, 211, 213, 216, 124, 18, 19, 211, 213, 216, 123, 18, 19, 211, 213,
- 216, 122, 18, 19, 211, 213, 216, 121, 18, 19, 211, 213, 216, 128, 18, 19,
- 211, 213, 216, 127, 18, 19, 211, 213, 40, 216, 210, 18, 19, 251, 218,
- 212, 98, 226, 226, 219, 19, 78, 226, 226, 1, 252, 48, 226, 226, 1, 232,
- 87, 226, 226, 1, 244, 151, 226, 226, 1, 222, 15, 226, 226, 1, 228, 193,
- 226, 226, 1, 214, 226, 226, 226, 1, 248, 197, 226, 226, 1, 216, 80, 226,
- 226, 1, 249, 229, 226, 226, 1, 250, 180, 226, 226, 1, 230, 91, 226, 226,
- 1, 242, 156, 226, 226, 1, 229, 63, 226, 226, 1, 218, 122, 226, 226, 1,
- 222, 135, 226, 226, 1, 254, 198, 226, 226, 1, 226, 187, 226, 226, 1, 214,
- 150, 226, 226, 1, 245, 231, 226, 226, 1, 235, 188, 226, 226, 1, 245, 232,
- 226, 226, 1, 226, 158, 226, 226, 1, 214, 206, 226, 226, 1, 236, 39, 226,
- 226, 1, 245, 229, 226, 226, 1, 225, 202, 226, 226, 244, 150, 78, 226,
- 226, 223, 49, 244, 150, 78, 178, 1, 244, 141, 244, 133, 244, 155, 245, 6,
- 178, 1, 214, 105, 178, 1, 214, 135, 214, 151, 70, 178, 1, 210, 214, 178,
- 1, 211, 117, 178, 1, 212, 98, 178, 1, 216, 130, 216, 129, 216, 151, 178,
- 1, 245, 59, 178, 1, 254, 93, 61, 178, 1, 226, 143, 76, 178, 1, 255, 17,
- 61, 178, 1, 254, 227, 178, 1, 232, 133, 76, 178, 1, 219, 244, 76, 178, 1,
- 76, 178, 1, 226, 234, 178, 1, 226, 196, 178, 1, 223, 164, 223, 177, 223,
- 94, 153, 178, 1, 234, 193, 178, 1, 250, 177, 178, 1, 234, 194, 235, 23,
- 178, 1, 243, 202, 178, 1, 245, 138, 178, 1, 243, 58, 242, 66, 243, 202,
- 178, 1, 243, 96, 178, 1, 211, 188, 211, 182, 212, 98, 178, 1, 242, 38,
- 242, 60, 178, 1, 242, 42, 242, 60, 178, 1, 232, 135, 242, 60, 178, 1,
- 219, 247, 242, 60, 178, 1, 229, 185, 227, 157, 229, 186, 230, 25, 178, 1,
- 219, 245, 230, 25, 178, 1, 246, 115, 178, 1, 235, 168, 235, 172, 235,
- 162, 73, 178, 1, 75, 178, 1, 235, 117, 235, 144, 178, 1, 243, 43, 178, 1,
- 232, 136, 254, 243, 178, 1, 219, 249, 61, 178, 1, 235, 154, 245, 113,
- 178, 1, 225, 164, 225, 186, 226, 105, 178, 1, 254, 163, 245, 111, 178, 1,
- 219, 24, 222, 91, 178, 1, 219, 179, 232, 132, 222, 91, 178, 1, 219, 243,
- 222, 91, 178, 1, 251, 66, 178, 1, 210, 159, 178, 1, 216, 63, 216, 73,
- 215, 41, 217, 152, 178, 1, 219, 242, 217, 152, 178, 1, 249, 60, 178, 1,
- 252, 31, 252, 34, 251, 224, 253, 158, 178, 1, 219, 248, 253, 158, 178, 1,
- 246, 114, 178, 1, 226, 171, 178, 1, 245, 196, 245, 198, 75, 178, 1, 231,
- 178, 231, 186, 193, 178, 1, 232, 134, 193, 178, 1, 219, 246, 193, 178, 1,
- 233, 73, 233, 114, 232, 143, 156, 178, 1, 246, 116, 178, 1, 235, 230,
- 178, 1, 235, 231, 178, 1, 248, 210, 248, 215, 249, 60, 178, 1, 226, 138,
- 245, 58, 76, 178, 1, 245, 227, 178, 1, 235, 187, 178, 1, 249, 78, 178, 1,
- 251, 17, 178, 1, 250, 189, 178, 1, 218, 161, 178, 1, 232, 131, 178, 1,
- 219, 241, 178, 1, 240, 110, 178, 1, 224, 96, 178, 1, 211, 178, 178, 219,
- 155, 224, 140, 178, 230, 85, 224, 140, 178, 249, 131, 224, 140, 178, 254,
- 6, 87, 178, 215, 82, 87, 178, 252, 46, 87, 217, 83, 1, 61, 217, 83, 1,
- 73, 217, 83, 1, 70, 217, 83, 1, 176, 217, 83, 1, 243, 135, 217, 83, 1,
- 229, 77, 217, 83, 1, 217, 105, 217, 83, 1, 248, 221, 217, 83, 1, 197,
- 217, 83, 1, 190, 217, 83, 1, 252, 191, 217, 83, 1, 184, 217, 83, 1, 191,
- 217, 83, 1, 233, 135, 217, 83, 1, 212, 65, 217, 83, 1, 206, 217, 83, 1,
- 162, 217, 83, 25, 5, 73, 217, 83, 25, 5, 70, 217, 83, 5, 213, 152, 242,
- 7, 1, 61, 242, 7, 1, 73, 242, 7, 1, 70, 242, 7, 1, 176, 242, 7, 1, 243,
- 135, 242, 7, 1, 229, 77, 242, 7, 1, 217, 105, 242, 7, 1, 248, 221, 242,
- 7, 1, 197, 242, 7, 1, 190, 242, 7, 1, 252, 191, 242, 7, 1, 184, 242, 7,
- 1, 191, 242, 7, 1, 205, 242, 7, 1, 233, 135, 242, 7, 1, 212, 65, 242, 7,
- 1, 206, 242, 7, 1, 162, 242, 7, 25, 5, 73, 242, 7, 25, 5, 70, 242, 7, 5,
- 226, 49, 225, 126, 219, 155, 224, 140, 225, 126, 52, 224, 140, 251, 120,
- 1, 61, 251, 120, 1, 73, 251, 120, 1, 70, 251, 120, 1, 176, 251, 120, 1,
- 243, 135, 251, 120, 1, 229, 77, 251, 120, 1, 217, 105, 251, 120, 1, 248,
- 221, 251, 120, 1, 197, 251, 120, 1, 190, 251, 120, 1, 252, 191, 251, 120,
- 1, 184, 251, 120, 1, 191, 251, 120, 1, 205, 251, 120, 1, 233, 135, 251,
- 120, 1, 212, 65, 251, 120, 1, 206, 251, 120, 1, 162, 251, 120, 25, 5, 73,
- 251, 120, 25, 5, 70, 217, 82, 1, 61, 217, 82, 1, 73, 217, 82, 1, 70, 217,
- 82, 1, 176, 217, 82, 1, 243, 135, 217, 82, 1, 229, 77, 217, 82, 1, 217,
- 105, 217, 82, 1, 248, 221, 217, 82, 1, 197, 217, 82, 1, 190, 217, 82, 1,
- 252, 191, 217, 82, 1, 184, 217, 82, 1, 191, 217, 82, 1, 233, 135, 217,
- 82, 1, 212, 65, 217, 82, 1, 206, 217, 82, 25, 5, 73, 217, 82, 25, 5, 70,
- 69, 1, 176, 69, 1, 234, 132, 69, 1, 234, 28, 69, 1, 234, 105, 69, 1, 229,
- 4, 69, 1, 251, 33, 69, 1, 250, 157, 69, 1, 249, 238, 69, 1, 250, 86, 69,
- 1, 227, 134, 69, 1, 248, 221, 69, 1, 215, 144, 69, 1, 247, 145, 69, 1,
- 215, 139, 69, 1, 228, 80, 69, 1, 217, 105, 69, 1, 216, 208, 69, 1, 111,
- 69, 1, 216, 156, 69, 1, 228, 74, 69, 1, 252, 191, 69, 1, 225, 147, 69, 1,
- 225, 16, 69, 1, 225, 121, 69, 1, 230, 161, 69, 1, 210, 244, 69, 1, 222,
- 211, 69, 1, 232, 156, 69, 1, 213, 138, 69, 1, 220, 102, 69, 1, 218, 184,
- 69, 1, 206, 69, 1, 162, 69, 1, 233, 135, 69, 1, 224, 88, 69, 235, 243,
- 25, 224, 74, 69, 235, 243, 25, 224, 87, 69, 235, 243, 25, 224, 53, 69,
- 235, 243, 25, 224, 48, 69, 235, 243, 25, 224, 30, 69, 235, 243, 25, 224,
- 2, 69, 235, 243, 25, 223, 246, 69, 235, 243, 25, 223, 245, 69, 235, 243,
- 25, 222, 100, 69, 235, 243, 25, 222, 93, 69, 235, 243, 25, 232, 62, 69,
- 235, 243, 25, 232, 52, 69, 235, 243, 25, 224, 69, 69, 235, 243, 25, 224,
- 80, 69, 235, 243, 25, 224, 38, 215, 49, 110, 69, 235, 243, 25, 224, 38,
- 215, 49, 105, 69, 235, 243, 25, 224, 70, 69, 25, 235, 229, 254, 45, 69,
- 25, 235, 229, 255, 73, 69, 25, 5, 255, 73, 69, 25, 5, 73, 69, 25, 5, 236,
- 33, 69, 25, 5, 211, 117, 69, 25, 5, 210, 169, 69, 25, 5, 70, 69, 25, 5,
- 214, 118, 69, 25, 5, 214, 229, 69, 25, 5, 226, 234, 69, 25, 5, 191, 69,
- 25, 5, 236, 60, 69, 25, 5, 75, 69, 25, 5, 254, 243, 69, 25, 5, 254, 201,
- 69, 25, 5, 226, 183, 69, 25, 5, 253, 192, 69, 5, 228, 206, 69, 5, 223,
- 126, 69, 5, 210, 180, 69, 5, 230, 52, 69, 5, 215, 213, 69, 5, 252, 143,
- 69, 5, 222, 206, 69, 5, 216, 40, 69, 5, 234, 241, 69, 5, 254, 203, 69, 5,
- 221, 244, 221, 238, 69, 5, 213, 149, 69, 5, 249, 232, 69, 5, 252, 117,
- 69, 5, 234, 125, 69, 5, 252, 137, 69, 5, 251, 9, 225, 72, 233, 187, 69,
- 5, 233, 30, 216, 17, 69, 5, 252, 20, 69, 5, 225, 123, 230, 99, 69, 5,
- 234, 9, 69, 249, 98, 16, 223, 28, 69, 5, 253, 174, 69, 5, 253, 195, 69,
- 21, 210, 86, 69, 21, 110, 69, 21, 105, 69, 21, 158, 69, 21, 161, 69, 21,
- 189, 69, 21, 194, 69, 21, 198, 69, 21, 195, 69, 21, 200, 69, 16, 233, 30,
- 253, 197, 219, 43, 69, 16, 233, 30, 253, 197, 230, 71, 69, 16, 233, 30,
- 253, 197, 225, 71, 69, 16, 233, 30, 253, 197, 252, 49, 69, 16, 233, 30,
- 253, 197, 251, 103, 69, 16, 233, 30, 253, 197, 224, 215, 69, 16, 233, 30,
- 253, 197, 224, 209, 69, 16, 233, 30, 253, 197, 224, 207, 69, 16, 233, 30,
- 253, 197, 224, 213, 69, 16, 233, 30, 253, 197, 224, 211, 83, 251, 236,
- 83, 245, 163, 83, 249, 219, 83, 243, 229, 218, 129, 83, 249, 226, 83,
- 244, 11, 247, 118, 83, 216, 39, 219, 52, 240, 168, 83, 219, 190, 3, 251,
- 172, 231, 154, 83, 231, 183, 249, 219, 83, 231, 183, 243, 229, 218, 129,
- 83, 228, 191, 83, 243, 253, 45, 221, 157, 110, 83, 243, 253, 45, 221,
- 157, 105, 83, 243, 253, 45, 221, 157, 158, 83, 25, 220, 137, 83, 21, 210,
- 86, 83, 21, 110, 83, 21, 105, 83, 21, 158, 83, 21, 161, 83, 21, 189, 83,
- 21, 194, 83, 21, 198, 83, 21, 195, 83, 21, 200, 83, 1, 61, 83, 1, 75, 83,
- 1, 73, 83, 1, 76, 83, 1, 70, 83, 1, 226, 234, 83, 1, 214, 214, 83, 1,
- 245, 209, 83, 1, 197, 83, 1, 254, 115, 83, 1, 252, 191, 83, 1, 190, 83,
- 1, 224, 88, 83, 1, 243, 135, 83, 1, 184, 83, 1, 233, 135, 83, 1, 206, 83,
- 1, 220, 102, 83, 1, 217, 105, 83, 1, 248, 221, 83, 1, 250, 157, 83, 1,
- 235, 141, 83, 1, 191, 83, 1, 205, 83, 1, 212, 65, 83, 1, 244, 196, 83, 1,
- 176, 83, 1, 234, 132, 83, 1, 215, 183, 83, 1, 210, 116, 83, 1, 242, 46,
- 83, 1, 210, 16, 83, 1, 232, 254, 83, 1, 210, 69, 83, 1, 250, 110, 83, 1,
- 216, 39, 199, 25, 50, 83, 1, 216, 39, 75, 83, 1, 216, 39, 73, 83, 1, 216,
- 39, 76, 83, 1, 216, 39, 70, 83, 1, 216, 39, 226, 234, 83, 1, 216, 39,
- 214, 214, 83, 1, 216, 39, 254, 115, 83, 1, 216, 39, 252, 191, 83, 1, 216,
- 39, 190, 83, 1, 216, 39, 224, 88, 83, 1, 216, 39, 243, 135, 83, 1, 216,
- 39, 184, 83, 1, 216, 39, 217, 105, 83, 1, 216, 39, 248, 221, 83, 1, 216,
- 39, 250, 157, 83, 1, 216, 39, 235, 141, 83, 1, 216, 39, 215, 183, 83, 1,
- 216, 39, 191, 83, 1, 216, 39, 212, 65, 83, 1, 216, 39, 176, 83, 1, 216,
- 39, 243, 132, 83, 1, 216, 39, 242, 46, 83, 1, 216, 39, 235, 107, 83, 1,
- 216, 39, 228, 231, 83, 1, 216, 39, 246, 38, 83, 1, 219, 190, 75, 83, 1,
- 219, 190, 73, 83, 1, 219, 190, 235, 152, 83, 1, 219, 190, 214, 214, 83,
- 1, 219, 190, 70, 83, 1, 219, 190, 254, 115, 83, 1, 219, 190, 176, 83, 1,
- 219, 190, 243, 135, 83, 1, 219, 190, 162, 83, 1, 219, 190, 190, 83, 1,
- 219, 190, 220, 102, 83, 1, 219, 190, 217, 105, 83, 1, 219, 190, 248, 221,
- 83, 1, 219, 190, 235, 141, 83, 1, 219, 190, 244, 196, 83, 1, 219, 190,
- 243, 132, 83, 1, 219, 190, 242, 46, 83, 1, 219, 190, 215, 183, 83, 1,
- 219, 190, 210, 116, 83, 1, 219, 190, 223, 184, 83, 1, 219, 190, 250, 157,
- 83, 1, 219, 190, 210, 82, 83, 1, 231, 183, 73, 83, 1, 231, 183, 176, 83,
- 1, 231, 183, 205, 83, 1, 231, 183, 244, 196, 83, 1, 231, 183, 210, 82,
- 83, 1, 254, 162, 243, 116, 254, 76, 110, 83, 1, 254, 162, 243, 116, 213,
- 148, 110, 83, 1, 254, 162, 243, 116, 248, 186, 83, 1, 254, 162, 243, 116,
- 214, 224, 83, 1, 254, 162, 243, 116, 235, 193, 214, 224, 83, 1, 254, 162,
- 243, 116, 252, 155, 83, 1, 254, 162, 243, 116, 134, 252, 155, 83, 1, 254,
- 162, 243, 116, 61, 83, 1, 254, 162, 243, 116, 73, 83, 1, 254, 162, 243,
- 116, 176, 83, 1, 254, 162, 243, 116, 229, 77, 83, 1, 254, 162, 243, 116,
- 251, 33, 83, 1, 254, 162, 243, 116, 215, 156, 83, 1, 254, 162, 243, 116,
- 215, 144, 83, 1, 254, 162, 243, 116, 248, 135, 83, 1, 254, 162, 243, 116,
- 228, 110, 83, 1, 254, 162, 243, 116, 217, 105, 83, 1, 254, 162, 243, 116,
- 248, 221, 83, 1, 254, 162, 243, 116, 190, 83, 1, 254, 162, 243, 116, 225,
- 147, 83, 1, 254, 162, 243, 116, 218, 223, 83, 1, 254, 162, 243, 116, 210,
- 82, 83, 1, 254, 162, 243, 116, 210, 116, 83, 1, 254, 162, 243, 116, 254,
- 209, 83, 1, 216, 39, 254, 162, 243, 116, 217, 105, 83, 1, 216, 39, 254,
- 162, 243, 116, 210, 82, 83, 1, 231, 183, 254, 162, 243, 116, 242, 249,
- 83, 1, 231, 183, 254, 162, 243, 116, 229, 77, 83, 1, 231, 183, 254, 162,
- 243, 116, 251, 33, 83, 1, 231, 183, 254, 162, 243, 116, 235, 114, 83, 1,
- 231, 183, 254, 162, 243, 116, 215, 156, 83, 1, 231, 183, 254, 162, 243,
- 116, 248, 119, 83, 1, 231, 183, 254, 162, 243, 116, 217, 105, 83, 1, 231,
- 183, 254, 162, 243, 116, 248, 25, 83, 1, 231, 183, 254, 162, 243, 116,
- 218, 223, 83, 1, 231, 183, 254, 162, 243, 116, 249, 72, 83, 1, 231, 183,
- 254, 162, 243, 116, 210, 82, 83, 1, 231, 183, 254, 162, 243, 116, 210,
- 116, 83, 1, 254, 162, 243, 116, 163, 70, 83, 1, 254, 162, 243, 116, 163,
- 191, 83, 1, 231, 183, 254, 162, 243, 116, 252, 18, 83, 1, 254, 162, 243,
- 116, 248, 211, 83, 1, 231, 183, 254, 162, 243, 116, 232, 254, 18, 19,
- 226, 109, 18, 19, 253, 167, 18, 19, 255, 28, 18, 19, 212, 25, 18, 19,
- 224, 221, 18, 19, 225, 229, 18, 19, 224, 105, 18, 19, 217, 31, 18, 19,
- 234, 189, 18, 19, 233, 179, 18, 19, 231, 132, 18, 19, 228, 37, 18, 19,
- 229, 181, 18, 19, 233, 68, 18, 19, 219, 22, 18, 19, 221, 211, 18, 19,
- 219, 232, 18, 19, 220, 66, 18, 19, 219, 201, 18, 19, 210, 220, 18, 19,
- 211, 52, 18, 19, 223, 134, 18, 19, 227, 171, 18, 19, 226, 216, 227, 171,
- 18, 19, 227, 170, 18, 19, 226, 216, 227, 170, 18, 19, 227, 169, 18, 19,
- 226, 216, 227, 169, 18, 19, 227, 168, 18, 19, 226, 216, 227, 168, 18, 19,
- 222, 105, 18, 19, 222, 104, 18, 19, 222, 103, 18, 19, 222, 102, 18, 19,
- 222, 101, 18, 19, 222, 109, 18, 19, 226, 216, 226, 105, 18, 19, 226, 216,
- 217, 152, 18, 19, 226, 216, 235, 23, 18, 19, 226, 216, 251, 66, 18, 19,
- 226, 216, 193, 18, 19, 226, 216, 230, 25, 18, 19, 226, 216, 222, 91, 18,
- 19, 226, 216, 220, 104, 18, 19, 245, 219, 212, 98, 18, 19, 212, 7, 212,
- 98, 18, 19, 40, 4, 222, 233, 18, 19, 40, 223, 157, 247, 120, 18, 19, 223,
- 223, 222, 106, 18, 19, 159, 232, 127, 18, 19, 159, 233, 134, 18, 19, 216,
- 126, 18, 19, 216, 128, 18, 19, 215, 136, 18, 19, 215, 138, 18, 19, 215,
- 143, 18, 19, 216, 49, 18, 19, 216, 51, 18, 19, 221, 209, 219, 206, 18,
- 19, 221, 209, 220, 1, 18, 19, 221, 209, 241, 53, 18, 19, 72, 242, 73, 18,
- 19, 72, 248, 52, 243, 55, 18, 19, 72, 243, 132, 18, 19, 72, 242, 78, 18,
- 19, 221, 209, 235, 33, 18, 19, 72, 235, 31, 18, 19, 252, 68, 248, 52,
- 156, 18, 19, 252, 68, 248, 52, 153, 18, 19, 72, 248, 47, 222, 91, 232,
- 223, 213, 122, 233, 10, 232, 223, 1, 176, 232, 223, 1, 234, 132, 232,
- 223, 1, 243, 135, 232, 223, 1, 242, 249, 232, 223, 1, 229, 77, 232, 223,
- 1, 251, 33, 232, 223, 1, 250, 157, 232, 223, 1, 235, 141, 232, 223, 1,
- 235, 114, 232, 223, 1, 211, 71, 232, 223, 1, 217, 105, 232, 223, 1, 216,
- 208, 232, 223, 1, 248, 221, 232, 223, 1, 248, 25, 232, 223, 1, 197, 232,
- 223, 1, 190, 232, 223, 1, 225, 147, 232, 223, 1, 252, 191, 232, 223, 1,
- 252, 18, 232, 223, 1, 184, 232, 223, 1, 191, 232, 223, 1, 205, 232, 223,
- 1, 233, 135, 232, 223, 1, 212, 65, 232, 223, 1, 220, 102, 232, 223, 1,
- 218, 223, 232, 223, 1, 206, 232, 223, 1, 162, 232, 223, 25, 5, 61, 232,
- 223, 25, 5, 73, 232, 223, 25, 5, 70, 232, 223, 25, 5, 245, 209, 232, 223,
- 25, 5, 254, 201, 232, 223, 25, 5, 226, 183, 232, 223, 25, 5, 253, 192,
- 232, 223, 25, 5, 75, 232, 223, 25, 5, 76, 232, 223, 218, 73, 1, 191, 232,
- 223, 218, 73, 1, 205, 232, 223, 218, 73, 1, 212, 65, 232, 223, 4, 1, 176,
- 232, 223, 4, 1, 229, 77, 232, 223, 4, 1, 254, 75, 232, 223, 4, 1, 217,
- 105, 232, 223, 4, 1, 197, 232, 223, 4, 1, 190, 232, 223, 4, 1, 184, 232,
- 223, 4, 1, 205, 232, 223, 4, 1, 233, 135, 232, 223, 5, 230, 89, 232, 223,
- 5, 234, 171, 232, 223, 5, 222, 32, 232, 223, 5, 232, 127, 232, 223, 245,
- 31, 78, 232, 223, 224, 13, 78, 232, 223, 21, 210, 86, 232, 223, 21, 110,
- 232, 223, 21, 105, 232, 223, 21, 158, 232, 223, 21, 161, 232, 223, 21,
- 189, 232, 223, 21, 194, 232, 223, 21, 198, 232, 223, 21, 195, 232, 223,
- 21, 200, 39, 233, 59, 1, 176, 39, 233, 59, 1, 211, 165, 39, 233, 59, 1,
- 229, 77, 39, 233, 59, 1, 215, 183, 39, 233, 59, 1, 206, 39, 233, 59, 1,
- 191, 39, 233, 59, 1, 217, 105, 39, 233, 59, 1, 216, 208, 39, 233, 59, 1,
- 233, 135, 39, 233, 59, 1, 190, 39, 233, 59, 1, 225, 147, 39, 233, 59, 1,
- 184, 39, 233, 59, 1, 244, 196, 39, 233, 59, 1, 214, 27, 39, 233, 59, 1,
- 162, 39, 233, 59, 1, 224, 88, 39, 233, 59, 1, 234, 132, 39, 233, 59, 1,
- 215, 175, 39, 233, 59, 1, 197, 39, 233, 59, 1, 61, 39, 233, 59, 1, 73,
- 39, 233, 59, 1, 245, 209, 39, 233, 59, 1, 245, 197, 39, 233, 59, 1, 70,
- 39, 233, 59, 1, 226, 183, 39, 233, 59, 1, 76, 39, 233, 59, 1, 214, 214,
- 39, 233, 59, 1, 75, 39, 233, 59, 1, 253, 190, 39, 233, 59, 1, 254, 201,
- 39, 233, 59, 1, 216, 28, 39, 233, 59, 1, 216, 27, 39, 233, 59, 1, 216,
- 26, 39, 233, 59, 1, 216, 25, 39, 233, 59, 1, 216, 24, 166, 39, 173, 1,
- 125, 224, 88, 166, 39, 173, 1, 121, 224, 88, 166, 39, 173, 1, 125, 176,
- 166, 39, 173, 1, 125, 211, 165, 166, 39, 173, 1, 125, 229, 77, 166, 39,
+ 164, 251, 131, 222, 144, 63, 164, 229, 69, 251, 69, 227, 150, 210, 25,
+ 63, 164, 250, 240, 255, 164, 222, 145, 251, 70, 230, 203, 251, 8, 63,
+ 164, 229, 69, 251, 69, 220, 107, 222, 144, 63, 164, 250, 133, 230, 248,
+ 63, 164, 215, 185, 255, 161, 63, 164, 242, 101, 222, 145, 242, 64, 63,
+ 164, 242, 101, 222, 145, 242, 70, 63, 164, 254, 117, 234, 124, 242, 64,
+ 63, 164, 254, 117, 234, 124, 242, 70, 63, 5, 211, 65, 215, 172, 63, 5,
+ 231, 168, 215, 172, 63, 1, 176, 63, 1, 234, 133, 63, 1, 243, 136, 63, 1,
+ 242, 250, 63, 1, 229, 78, 63, 1, 251, 34, 63, 1, 250, 158, 63, 1, 235,
+ 142, 63, 1, 227, 166, 63, 1, 215, 157, 63, 1, 215, 145, 63, 1, 248, 136,
+ 63, 1, 248, 120, 63, 1, 228, 111, 63, 1, 217, 106, 63, 1, 216, 209, 63,
+ 1, 248, 222, 63, 1, 248, 26, 63, 1, 197, 63, 1, 190, 63, 1, 225, 148, 63,
+ 1, 252, 192, 63, 1, 252, 19, 63, 1, 185, 63, 1, 215, 184, 63, 1, 215,
+ 176, 63, 1, 246, 39, 63, 1, 246, 34, 63, 1, 212, 65, 63, 1, 210, 82, 63,
+ 1, 210, 116, 63, 1, 255, 167, 63, 1, 191, 63, 1, 205, 63, 1, 233, 136,
+ 63, 1, 220, 103, 63, 1, 218, 224, 63, 1, 206, 63, 1, 162, 63, 1, 61, 63,
+ 1, 233, 232, 63, 1, 244, 78, 205, 63, 1, 234, 47, 63, 1, 222, 180, 63,
+ 25, 5, 255, 74, 63, 25, 5, 73, 63, 25, 5, 236, 34, 63, 25, 5, 70, 63, 25,
+ 5, 214, 118, 63, 25, 5, 149, 153, 63, 25, 5, 149, 222, 181, 63, 25, 5,
+ 149, 156, 63, 25, 5, 149, 232, 186, 63, 25, 5, 75, 63, 25, 5, 245, 210,
+ 63, 25, 5, 76, 63, 25, 5, 226, 184, 63, 5, 222, 222, 218, 85, 229, 79,
+ 222, 212, 63, 5, 222, 217, 252, 77, 63, 25, 5, 223, 50, 73, 63, 25, 5,
+ 223, 50, 236, 34, 63, 5, 227, 150, 210, 26, 229, 227, 248, 222, 63, 5,
+ 219, 72, 233, 61, 63, 164, 242, 30, 63, 164, 226, 58, 63, 5, 233, 64,
+ 222, 144, 63, 5, 211, 70, 222, 144, 63, 5, 233, 65, 215, 185, 251, 8, 63,
+ 5, 231, 96, 251, 8, 63, 5, 242, 120, 251, 9, 223, 41, 63, 5, 242, 120,
+ 231, 86, 223, 41, 63, 5, 235, 194, 231, 96, 251, 8, 63, 218, 74, 5, 233,
+ 65, 215, 185, 251, 8, 63, 218, 74, 5, 231, 96, 251, 8, 63, 218, 74, 5,
+ 235, 194, 231, 96, 251, 8, 63, 218, 74, 1, 176, 63, 218, 74, 1, 234, 133,
+ 63, 218, 74, 1, 243, 136, 63, 218, 74, 1, 242, 250, 63, 218, 74, 1, 229,
+ 78, 63, 218, 74, 1, 251, 34, 63, 218, 74, 1, 250, 158, 63, 218, 74, 1,
+ 235, 142, 63, 218, 74, 1, 227, 166, 63, 218, 74, 1, 215, 157, 63, 218,
+ 74, 1, 215, 145, 63, 218, 74, 1, 248, 136, 63, 218, 74, 1, 248, 120, 63,
+ 218, 74, 1, 228, 111, 63, 218, 74, 1, 217, 106, 63, 218, 74, 1, 216, 209,
+ 63, 218, 74, 1, 248, 222, 63, 218, 74, 1, 248, 26, 63, 218, 74, 1, 197,
+ 63, 218, 74, 1, 190, 63, 218, 74, 1, 225, 148, 63, 218, 74, 1, 252, 192,
+ 63, 218, 74, 1, 252, 19, 63, 218, 74, 1, 185, 63, 218, 74, 1, 215, 184,
+ 63, 218, 74, 1, 215, 176, 63, 218, 74, 1, 246, 39, 63, 218, 74, 1, 246,
+ 34, 63, 218, 74, 1, 212, 65, 63, 218, 74, 1, 210, 82, 63, 218, 74, 1,
+ 210, 116, 63, 218, 74, 1, 255, 167, 63, 218, 74, 1, 191, 63, 218, 74, 1,
+ 205, 63, 218, 74, 1, 233, 136, 63, 218, 74, 1, 220, 103, 63, 218, 74, 1,
+ 218, 224, 63, 218, 74, 1, 206, 63, 218, 74, 1, 162, 63, 218, 74, 1, 61,
+ 63, 218, 74, 1, 233, 232, 63, 218, 74, 1, 244, 78, 212, 65, 63, 218, 74,
+ 1, 244, 78, 191, 63, 218, 74, 1, 244, 78, 205, 63, 233, 219, 222, 142,
+ 234, 133, 63, 233, 219, 222, 142, 234, 134, 251, 70, 230, 203, 251, 8,
+ 63, 250, 253, 5, 114, 252, 71, 63, 250, 253, 5, 192, 252, 71, 63, 250,
+ 253, 5, 250, 254, 217, 21, 63, 250, 253, 5, 221, 208, 255, 166, 63, 16,
+ 246, 92, 251, 126, 63, 16, 223, 130, 222, 223, 63, 16, 226, 78, 243, 64,
+ 63, 16, 223, 130, 222, 224, 223, 43, 242, 146, 63, 16, 225, 113, 190, 63,
+ 16, 228, 60, 251, 126, 63, 16, 228, 60, 251, 127, 227, 140, 255, 163, 63,
+ 16, 228, 60, 251, 127, 242, 118, 255, 163, 63, 16, 228, 60, 251, 127,
+ 251, 70, 255, 163, 63, 5, 223, 131, 229, 220, 223, 131, 247, 159, 63, 5,
+ 223, 131, 229, 220, 242, 117, 63, 164, 251, 130, 220, 4, 242, 216, 230,
+ 249, 223, 42, 63, 164, 230, 164, 211, 0, 242, 216, 230, 249, 223, 42, 63,
+ 164, 227, 140, 215, 173, 63, 164, 65, 251, 153, 222, 214, 211, 0, 230,
+ 249, 231, 94, 185, 63, 164, 249, 253, 251, 153, 222, 214, 211, 0, 230,
+ 249, 220, 110, 185, 222, 251, 218, 0, 50, 233, 46, 218, 0, 50, 222, 251,
+ 218, 0, 5, 2, 247, 119, 233, 46, 218, 0, 5, 2, 247, 119, 63, 164, 233,
+ 56, 231, 97, 222, 144, 63, 164, 215, 251, 231, 97, 222, 144, 68, 1, 176,
+ 68, 1, 234, 133, 68, 1, 243, 136, 68, 1, 242, 250, 68, 1, 229, 78, 68, 1,
+ 251, 34, 68, 1, 250, 158, 68, 1, 235, 142, 68, 1, 235, 115, 68, 1, 227,
+ 166, 68, 1, 228, 77, 68, 1, 215, 157, 68, 1, 215, 145, 68, 1, 248, 136,
+ 68, 1, 248, 120, 68, 1, 228, 111, 68, 1, 217, 106, 68, 1, 216, 209, 68,
+ 1, 248, 222, 68, 1, 248, 26, 68, 1, 197, 68, 1, 190, 68, 1, 225, 148, 68,
+ 1, 252, 192, 68, 1, 252, 19, 68, 1, 185, 68, 1, 191, 68, 1, 205, 68, 1,
+ 233, 136, 68, 1, 212, 65, 68, 1, 206, 68, 1, 162, 68, 1, 232, 185, 68, 1,
+ 61, 68, 1, 220, 87, 61, 68, 1, 73, 68, 1, 236, 34, 68, 1, 70, 68, 1, 214,
+ 118, 68, 1, 75, 68, 1, 230, 152, 75, 68, 1, 76, 68, 1, 253, 193, 68, 25,
+ 5, 217, 65, 255, 74, 68, 25, 5, 255, 74, 68, 25, 5, 73, 68, 25, 5, 236,
+ 34, 68, 25, 5, 70, 68, 25, 5, 214, 118, 68, 25, 5, 75, 68, 25, 5, 254,
+ 202, 68, 25, 5, 230, 152, 236, 34, 68, 25, 5, 230, 152, 76, 68, 25, 5,
+ 160, 48, 68, 5, 254, 76, 68, 5, 59, 51, 68, 5, 213, 147, 68, 5, 213, 152,
+ 68, 5, 253, 236, 68, 116, 5, 147, 191, 68, 116, 5, 147, 205, 68, 116, 5,
+ 147, 212, 65, 68, 116, 5, 147, 162, 68, 1, 242, 133, 206, 68, 21, 210,
+ 86, 68, 21, 110, 68, 21, 105, 68, 21, 158, 68, 21, 161, 68, 21, 189, 68,
+ 21, 194, 68, 21, 198, 68, 21, 195, 68, 21, 200, 68, 5, 232, 193, 221,
+ 173, 68, 5, 221, 173, 68, 16, 232, 154, 68, 16, 249, 214, 68, 16, 254,
+ 221, 68, 16, 243, 49, 68, 1, 220, 103, 68, 1, 218, 224, 68, 1, 149, 153,
+ 68, 1, 149, 222, 181, 68, 1, 149, 156, 68, 1, 149, 232, 186, 68, 25, 5,
+ 149, 153, 68, 25, 5, 149, 222, 181, 68, 25, 5, 149, 156, 68, 25, 5, 149,
+ 232, 186, 68, 1, 230, 152, 229, 78, 68, 1, 230, 152, 235, 115, 68, 1,
+ 230, 152, 252, 112, 68, 1, 230, 152, 252, 107, 68, 116, 5, 230, 152, 147,
+ 197, 68, 116, 5, 230, 152, 147, 185, 68, 116, 5, 230, 152, 147, 233, 136,
+ 68, 1, 220, 109, 234, 214, 220, 103, 68, 25, 5, 220, 109, 234, 214, 245,
+ 56, 68, 138, 164, 220, 109, 234, 214, 241, 248, 68, 138, 164, 220, 109,
+ 234, 214, 234, 184, 225, 122, 68, 1, 212, 7, 224, 109, 234, 214, 216,
+ 209, 68, 1, 212, 7, 224, 109, 234, 214, 224, 115, 68, 25, 5, 212, 7, 224,
+ 109, 234, 214, 245, 56, 68, 25, 5, 212, 7, 224, 109, 234, 214, 214, 214,
+ 68, 5, 212, 7, 224, 109, 234, 214, 216, 30, 68, 5, 212, 7, 224, 109, 234,
+ 214, 216, 29, 68, 5, 212, 7, 224, 109, 234, 214, 216, 28, 68, 5, 212, 7,
+ 224, 109, 234, 214, 216, 27, 68, 5, 212, 7, 224, 109, 234, 214, 216, 26,
+ 68, 1, 245, 220, 224, 109, 234, 214, 228, 111, 68, 1, 245, 220, 224, 109,
+ 234, 214, 210, 176, 68, 1, 245, 220, 224, 109, 234, 214, 242, 218, 68,
+ 25, 5, 243, 60, 234, 214, 73, 68, 25, 5, 234, 189, 226, 235, 68, 25, 5,
+ 234, 189, 70, 68, 25, 5, 234, 189, 245, 210, 68, 1, 220, 87, 176, 68, 1,
+ 220, 87, 234, 133, 68, 1, 220, 87, 243, 136, 68, 1, 220, 87, 251, 34, 68,
+ 1, 220, 87, 210, 116, 68, 1, 220, 87, 227, 166, 68, 1, 220, 87, 248, 222,
+ 68, 1, 220, 87, 197, 68, 1, 220, 87, 225, 148, 68, 1, 220, 87, 244, 197,
+ 68, 1, 220, 87, 252, 192, 68, 1, 220, 87, 216, 209, 68, 1, 220, 87, 162,
+ 68, 116, 5, 220, 87, 147, 212, 65, 68, 25, 5, 220, 87, 255, 74, 68, 25,
+ 5, 220, 87, 75, 68, 25, 5, 220, 87, 160, 48, 68, 25, 5, 220, 87, 40, 211,
+ 117, 68, 5, 220, 87, 216, 29, 68, 5, 220, 87, 216, 28, 68, 5, 220, 87,
+ 216, 26, 68, 5, 220, 87, 216, 25, 68, 5, 220, 87, 249, 153, 216, 29, 68,
+ 5, 220, 87, 249, 153, 216, 28, 68, 5, 220, 87, 249, 153, 245, 154, 216,
+ 31, 68, 1, 222, 129, 226, 64, 244, 197, 68, 5, 222, 129, 226, 64, 216,
+ 26, 68, 220, 87, 21, 210, 86, 68, 220, 87, 21, 110, 68, 220, 87, 21, 105,
+ 68, 220, 87, 21, 158, 68, 220, 87, 21, 161, 68, 220, 87, 21, 189, 68,
+ 220, 87, 21, 194, 68, 220, 87, 21, 198, 68, 220, 87, 21, 195, 68, 220,
+ 87, 21, 200, 68, 5, 234, 127, 216, 30, 68, 5, 234, 127, 216, 28, 68, 25,
+ 5, 254, 191, 61, 68, 25, 5, 254, 191, 254, 202, 68, 16, 220, 87, 110, 68,
+ 16, 220, 87, 245, 31, 98, 6, 1, 254, 124, 98, 6, 1, 252, 153, 98, 6, 1,
+ 243, 107, 98, 6, 1, 247, 129, 98, 6, 1, 245, 151, 98, 6, 1, 213, 160, 98,
+ 6, 1, 210, 89, 98, 6, 1, 217, 61, 98, 6, 1, 236, 0, 98, 6, 1, 234, 235,
+ 98, 6, 1, 233, 82, 98, 6, 1, 231, 186, 98, 6, 1, 229, 196, 98, 6, 1, 226,
+ 197, 98, 6, 1, 226, 18, 98, 6, 1, 210, 78, 98, 6, 1, 223, 172, 98, 6, 1,
+ 221, 244, 98, 6, 1, 217, 51, 98, 6, 1, 214, 190, 98, 6, 1, 225, 141, 98,
+ 6, 1, 234, 122, 98, 6, 1, 242, 242, 98, 6, 1, 224, 74, 98, 6, 1, 220, 21,
+ 98, 6, 1, 250, 98, 98, 6, 1, 251, 8, 98, 6, 1, 235, 101, 98, 6, 1, 250,
+ 41, 98, 6, 1, 250, 144, 98, 6, 1, 211, 163, 98, 6, 1, 235, 112, 98, 6, 1,
+ 242, 44, 98, 6, 1, 241, 239, 98, 6, 1, 241, 176, 98, 6, 1, 212, 22, 98,
+ 6, 1, 242, 5, 98, 6, 1, 241, 66, 98, 6, 1, 210, 246, 98, 6, 1, 254, 233,
+ 98, 1, 254, 124, 98, 1, 252, 153, 98, 1, 243, 107, 98, 1, 247, 129, 98,
+ 1, 245, 151, 98, 1, 213, 160, 98, 1, 210, 89, 98, 1, 217, 61, 98, 1, 236,
+ 0, 98, 1, 234, 235, 98, 1, 233, 82, 98, 1, 231, 186, 98, 1, 229, 196, 98,
+ 1, 226, 197, 98, 1, 226, 18, 98, 1, 210, 78, 98, 1, 223, 172, 98, 1, 221,
+ 244, 98, 1, 217, 51, 98, 1, 214, 190, 98, 1, 225, 141, 98, 1, 234, 122,
+ 98, 1, 242, 242, 98, 1, 224, 74, 98, 1, 220, 21, 98, 1, 250, 98, 98, 1,
+ 251, 8, 98, 1, 235, 101, 98, 1, 250, 41, 98, 1, 250, 144, 98, 1, 211,
+ 163, 98, 1, 235, 112, 98, 1, 242, 44, 98, 1, 241, 239, 98, 1, 241, 176,
+ 98, 1, 212, 22, 98, 1, 242, 5, 98, 1, 241, 66, 98, 1, 244, 122, 98, 1,
+ 210, 246, 98, 1, 245, 166, 98, 1, 215, 94, 243, 107, 98, 1, 254, 197, 98,
+ 226, 16, 220, 138, 58, 1, 98, 229, 196, 98, 1, 254, 233, 98, 1, 242, 4,
+ 50, 98, 1, 233, 128, 50, 24, 100, 234, 59, 24, 100, 218, 216, 24, 100,
+ 228, 227, 24, 100, 216, 102, 24, 100, 218, 205, 24, 100, 223, 27, 24,
+ 100, 230, 218, 24, 100, 225, 96, 24, 100, 218, 213, 24, 100, 219, 149,
+ 24, 100, 218, 210, 24, 100, 236, 57, 24, 100, 250, 47, 24, 100, 218, 220,
+ 24, 100, 250, 107, 24, 100, 234, 111, 24, 100, 216, 174, 24, 100, 225,
+ 132, 24, 100, 241, 173, 24, 100, 228, 223, 24, 100, 218, 214, 24, 100,
+ 228, 217, 24, 100, 228, 221, 24, 100, 216, 99, 24, 100, 223, 15, 24, 100,
+ 218, 212, 24, 100, 223, 25, 24, 100, 234, 219, 24, 100, 230, 211, 24,
+ 100, 234, 222, 24, 100, 225, 91, 24, 100, 225, 89, 24, 100, 225, 77, 24,
+ 100, 225, 85, 24, 100, 225, 83, 24, 100, 225, 80, 24, 100, 225, 82, 24,
+ 100, 225, 79, 24, 100, 225, 84, 24, 100, 225, 94, 24, 100, 225, 95, 24,
+ 100, 225, 78, 24, 100, 225, 88, 24, 100, 234, 220, 24, 100, 234, 218, 24,
+ 100, 219, 142, 24, 100, 219, 140, 24, 100, 219, 132, 24, 100, 219, 135,
+ 24, 100, 219, 141, 24, 100, 219, 137, 24, 100, 219, 136, 24, 100, 219,
+ 134, 24, 100, 219, 145, 24, 100, 219, 147, 24, 100, 219, 148, 24, 100,
+ 219, 143, 24, 100, 219, 133, 24, 100, 219, 138, 24, 100, 219, 146, 24,
+ 100, 250, 91, 24, 100, 250, 89, 24, 100, 250, 169, 24, 100, 250, 167, 24,
+ 100, 226, 33, 24, 100, 236, 52, 24, 100, 236, 43, 24, 100, 236, 51, 24,
+ 100, 236, 48, 24, 100, 236, 46, 24, 100, 236, 50, 24, 100, 218, 217, 24,
+ 100, 236, 55, 24, 100, 236, 56, 24, 100, 236, 44, 24, 100, 236, 49, 24,
+ 100, 211, 26, 24, 100, 250, 46, 24, 100, 250, 92, 24, 100, 250, 90, 24,
+ 100, 250, 170, 24, 100, 250, 168, 24, 100, 250, 105, 24, 100, 250, 106,
+ 24, 100, 250, 93, 24, 100, 250, 171, 24, 100, 225, 130, 24, 100, 234,
+ 221, 24, 100, 218, 218, 24, 100, 211, 32, 24, 100, 234, 50, 24, 100, 228,
+ 219, 24, 100, 228, 225, 24, 100, 228, 224, 24, 100, 216, 96, 24, 100,
+ 244, 104, 24, 143, 244, 104, 24, 143, 61, 24, 143, 254, 244, 24, 143,
+ 191, 24, 143, 211, 92, 24, 143, 245, 118, 24, 143, 75, 24, 143, 211, 36,
+ 24, 143, 211, 47, 24, 143, 76, 24, 143, 212, 65, 24, 143, 212, 62, 24,
+ 143, 226, 235, 24, 143, 210, 244, 24, 143, 70, 24, 143, 212, 11, 24, 143,
+ 212, 22, 24, 143, 211, 250, 24, 143, 210, 212, 24, 143, 245, 56, 24, 143,
+ 211, 8, 24, 143, 73, 24, 143, 255, 158, 24, 143, 255, 157, 24, 143, 211,
+ 106, 24, 143, 211, 104, 24, 143, 245, 116, 24, 143, 245, 115, 24, 143,
+ 245, 117, 24, 143, 211, 35, 24, 143, 211, 34, 24, 143, 227, 85, 24, 143,
+ 227, 86, 24, 143, 227, 79, 24, 143, 227, 84, 24, 143, 227, 82, 24, 143,
+ 210, 238, 24, 143, 210, 237, 24, 143, 210, 236, 24, 143, 210, 239, 24,
+ 143, 210, 240, 24, 143, 215, 30, 24, 143, 215, 29, 24, 143, 215, 27, 24,
+ 143, 215, 24, 24, 143, 215, 25, 24, 143, 210, 211, 24, 143, 210, 208, 24,
+ 143, 210, 209, 24, 143, 210, 203, 24, 143, 210, 204, 24, 143, 210, 205,
+ 24, 143, 210, 207, 24, 143, 245, 50, 24, 143, 245, 52, 24, 143, 211, 7,
+ 24, 143, 240, 154, 24, 143, 240, 146, 24, 143, 240, 149, 24, 143, 240,
+ 147, 24, 143, 240, 151, 24, 143, 240, 153, 24, 143, 254, 35, 24, 143,
+ 254, 32, 24, 143, 254, 30, 24, 143, 254, 31, 24, 143, 218, 221, 24, 143,
+ 255, 159, 24, 143, 211, 105, 24, 143, 211, 33, 24, 143, 227, 81, 24, 143,
+ 227, 80, 24, 90, 234, 59, 24, 90, 218, 216, 24, 90, 234, 52, 24, 90, 228,
+ 227, 24, 90, 228, 225, 24, 90, 228, 224, 24, 90, 216, 102, 24, 90, 223,
+ 27, 24, 90, 223, 22, 24, 90, 223, 19, 24, 90, 223, 12, 24, 90, 223, 7,
+ 24, 90, 223, 2, 24, 90, 223, 13, 24, 90, 223, 25, 24, 90, 230, 218, 24,
+ 90, 225, 96, 24, 90, 225, 85, 24, 90, 219, 149, 24, 90, 218, 210, 24, 90,
+ 236, 57, 24, 90, 250, 47, 24, 90, 250, 107, 24, 90, 234, 111, 24, 90,
+ 216, 174, 24, 90, 225, 132, 24, 90, 241, 173, 24, 90, 234, 53, 24, 90,
+ 234, 51, 24, 90, 228, 223, 24, 90, 228, 217, 24, 90, 228, 219, 24, 90,
+ 228, 222, 24, 90, 228, 218, 24, 90, 216, 99, 24, 90, 216, 96, 24, 90,
+ 223, 20, 24, 90, 223, 15, 24, 90, 223, 1, 24, 90, 223, 0, 24, 90, 218,
+ 212, 24, 90, 223, 17, 24, 90, 223, 16, 24, 90, 223, 9, 24, 90, 223, 11,
+ 24, 90, 223, 24, 24, 90, 223, 4, 24, 90, 223, 14, 24, 90, 223, 23, 24,
+ 90, 222, 255, 24, 90, 230, 214, 24, 90, 230, 209, 24, 90, 230, 211, 24,
+ 90, 230, 208, 24, 90, 230, 206, 24, 90, 230, 212, 24, 90, 230, 217, 24,
+ 90, 230, 215, 24, 90, 234, 222, 24, 90, 225, 87, 24, 90, 225, 88, 24, 90,
+ 225, 93, 24, 90, 234, 220, 24, 90, 219, 142, 24, 90, 219, 132, 24, 90,
+ 219, 135, 24, 90, 219, 137, 24, 90, 226, 33, 24, 90, 236, 52, 24, 90,
+ 236, 45, 24, 90, 218, 217, 24, 90, 236, 53, 24, 90, 211, 26, 24, 90, 211,
+ 22, 24, 90, 211, 23, 24, 90, 225, 130, 24, 90, 234, 221, 24, 90, 241,
+ 171, 24, 90, 241, 169, 24, 90, 241, 172, 24, 90, 241, 170, 24, 90, 211,
+ 32, 24, 90, 234, 55, 24, 90, 234, 54, 24, 90, 234, 58, 24, 90, 234, 56,
+ 24, 90, 234, 57, 24, 90, 218, 214, 29, 3, 162, 29, 3, 240, 223, 29, 3,
+ 241, 181, 29, 3, 242, 47, 29, 3, 241, 221, 29, 3, 241, 239, 29, 3, 241,
+ 69, 29, 3, 241, 68, 29, 3, 233, 136, 29, 3, 232, 99, 29, 3, 232, 242, 29,
+ 3, 233, 135, 29, 3, 233, 51, 29, 3, 233, 59, 29, 3, 232, 157, 29, 3, 232,
+ 71, 29, 3, 241, 190, 29, 3, 241, 184, 29, 3, 241, 186, 29, 3, 241, 189,
+ 29, 3, 241, 187, 29, 3, 241, 188, 29, 3, 241, 185, 29, 3, 241, 183, 29,
+ 3, 185, 29, 3, 230, 103, 29, 3, 230, 231, 29, 3, 231, 238, 29, 3, 231,
+ 81, 29, 3, 231, 92, 29, 3, 230, 162, 29, 3, 230, 43, 29, 3, 217, 164, 29,
+ 3, 217, 158, 29, 3, 217, 160, 29, 3, 217, 163, 29, 3, 217, 161, 29, 3,
+ 217, 162, 29, 3, 217, 159, 29, 3, 217, 157, 29, 3, 205, 29, 3, 222, 141,
+ 29, 3, 223, 36, 29, 3, 223, 185, 29, 3, 223, 109, 29, 3, 223, 129, 29, 3,
+ 222, 212, 29, 3, 222, 110, 29, 3, 206, 29, 3, 218, 84, 29, 3, 219, 192,
+ 29, 3, 222, 32, 29, 3, 221, 171, 29, 3, 221, 182, 29, 3, 219, 59, 29, 3,
+ 217, 254, 29, 3, 220, 103, 29, 3, 219, 226, 29, 3, 220, 33, 29, 3, 220,
+ 99, 29, 3, 220, 62, 29, 3, 220, 64, 29, 3, 220, 8, 29, 3, 219, 209, 29,
+ 3, 224, 89, 29, 3, 224, 31, 29, 3, 224, 54, 29, 3, 224, 88, 29, 3, 224,
+ 69, 29, 3, 224, 70, 29, 3, 224, 43, 29, 3, 224, 42, 29, 3, 223, 243, 29,
+ 3, 223, 239, 29, 3, 223, 242, 29, 3, 223, 240, 29, 3, 223, 241, 29, 3,
+ 224, 66, 29, 3, 224, 60, 29, 3, 224, 62, 29, 3, 224, 65, 29, 3, 224, 63,
+ 29, 3, 224, 64, 29, 3, 224, 61, 29, 3, 224, 59, 29, 3, 224, 55, 29, 3,
+ 224, 58, 29, 3, 224, 56, 29, 3, 224, 57, 29, 3, 252, 192, 29, 3, 251,
+ 126, 29, 3, 252, 7, 29, 3, 252, 190, 29, 3, 252, 67, 29, 3, 252, 76, 29,
+ 3, 251, 206, 29, 3, 251, 84, 29, 3, 214, 27, 29, 3, 212, 116, 29, 3, 213,
+ 176, 29, 3, 214, 26, 29, 3, 213, 250, 29, 3, 213, 255, 29, 3, 213, 138,
+ 29, 3, 212, 107, 29, 3, 217, 106, 29, 3, 215, 119, 29, 3, 216, 118, 29,
+ 3, 217, 102, 29, 3, 217, 12, 29, 3, 217, 23, 29, 3, 111, 29, 3, 215, 80,
+ 29, 3, 251, 34, 29, 3, 249, 113, 29, 3, 250, 52, 29, 3, 251, 33, 29, 3,
+ 250, 183, 29, 3, 250, 191, 29, 3, 249, 239, 29, 3, 249, 82, 29, 3, 211,
+ 165, 29, 3, 211, 141, 29, 3, 211, 157, 29, 3, 211, 164, 29, 3, 211, 161,
+ 29, 3, 211, 162, 29, 3, 211, 148, 29, 3, 211, 147, 29, 3, 211, 136, 29,
+ 3, 211, 132, 29, 3, 211, 135, 29, 3, 211, 133, 29, 3, 211, 134, 29, 3,
+ 197, 29, 3, 227, 238, 29, 3, 228, 234, 29, 3, 229, 226, 29, 3, 229, 104,
+ 29, 3, 229, 108, 29, 3, 228, 75, 29, 3, 227, 175, 29, 3, 227, 166, 29, 3,
+ 227, 129, 29, 3, 227, 149, 29, 3, 227, 165, 29, 3, 227, 156, 29, 3, 227,
+ 157, 29, 3, 227, 135, 29, 3, 227, 120, 29, 3, 242, 181, 61, 29, 3, 242,
+ 181, 70, 29, 3, 242, 181, 73, 29, 3, 242, 181, 255, 74, 29, 3, 242, 181,
+ 245, 210, 29, 3, 242, 181, 75, 29, 3, 242, 181, 76, 29, 3, 242, 181, 212,
+ 65, 29, 3, 176, 29, 3, 233, 218, 29, 3, 234, 93, 29, 3, 235, 11, 29, 3,
+ 234, 182, 29, 3, 234, 183, 29, 3, 234, 29, 29, 3, 234, 28, 29, 3, 233,
+ 183, 29, 3, 233, 177, 29, 3, 233, 182, 29, 3, 233, 178, 29, 3, 233, 179,
+ 29, 3, 233, 172, 29, 3, 233, 166, 29, 3, 233, 168, 29, 3, 233, 171, 29,
+ 3, 233, 169, 29, 3, 233, 170, 29, 3, 233, 167, 29, 3, 233, 165, 29, 3,
+ 233, 161, 29, 3, 233, 164, 29, 3, 233, 162, 29, 3, 233, 163, 29, 3, 212,
+ 65, 29, 3, 211, 195, 29, 3, 211, 250, 29, 3, 212, 64, 29, 3, 212, 17, 29,
+ 3, 212, 22, 29, 3, 211, 227, 29, 3, 211, 226, 29, 3, 225, 140, 61, 29, 3,
+ 225, 140, 70, 29, 3, 225, 140, 73, 29, 3, 225, 140, 255, 74, 29, 3, 225,
+ 140, 245, 210, 29, 3, 225, 140, 75, 29, 3, 225, 140, 76, 29, 3, 210, 116,
+ 29, 3, 210, 13, 29, 3, 210, 44, 29, 3, 210, 115, 29, 3, 210, 92, 29, 3,
+ 210, 94, 29, 3, 210, 23, 29, 3, 210, 0, 29, 3, 210, 82, 29, 3, 210, 62,
+ 29, 3, 210, 69, 29, 3, 210, 81, 29, 3, 210, 73, 29, 3, 210, 74, 29, 3,
+ 210, 67, 29, 3, 210, 53, 29, 3, 191, 29, 3, 210, 212, 29, 3, 211, 8, 29,
+ 3, 211, 103, 29, 3, 211, 44, 29, 3, 211, 47, 29, 3, 210, 244, 29, 3, 210,
+ 235, 29, 3, 248, 222, 29, 3, 246, 79, 29, 3, 248, 4, 29, 3, 248, 221, 29,
+ 3, 248, 78, 29, 3, 248, 91, 29, 3, 247, 146, 29, 3, 246, 48, 29, 3, 248,
+ 136, 29, 3, 248, 101, 29, 3, 248, 113, 29, 3, 248, 135, 29, 3, 248, 123,
+ 29, 3, 248, 124, 29, 3, 248, 106, 29, 3, 248, 92, 29, 3, 235, 142, 29, 3,
+ 235, 52, 29, 3, 235, 109, 29, 3, 235, 141, 29, 3, 235, 125, 29, 3, 235,
+ 127, 29, 3, 235, 69, 29, 3, 235, 32, 29, 3, 243, 136, 29, 3, 242, 114,
+ 29, 3, 242, 215, 29, 3, 243, 133, 29, 3, 243, 56, 29, 3, 243, 63, 29, 3,
+ 242, 175, 29, 3, 242, 174, 29, 3, 242, 79, 29, 3, 242, 75, 29, 3, 242,
+ 78, 29, 3, 242, 76, 29, 3, 242, 77, 29, 3, 243, 30, 29, 3, 243, 10, 29,
+ 3, 243, 20, 29, 3, 243, 29, 29, 3, 243, 24, 29, 3, 243, 25, 29, 3, 243,
+ 14, 29, 3, 242, 255, 29, 3, 216, 209, 29, 3, 216, 137, 29, 3, 216, 176,
+ 29, 3, 216, 208, 29, 3, 216, 195, 29, 3, 216, 196, 29, 3, 216, 157, 29,
+ 3, 216, 129, 29, 3, 250, 158, 29, 3, 250, 70, 29, 3, 250, 111, 29, 3,
+ 250, 157, 29, 3, 250, 129, 29, 3, 250, 132, 29, 3, 250, 87, 29, 3, 250,
+ 59, 29, 3, 225, 148, 29, 3, 225, 115, 29, 3, 225, 134, 29, 3, 225, 147,
+ 29, 3, 225, 136, 29, 3, 225, 137, 29, 3, 225, 122, 29, 3, 225, 111, 29,
+ 3, 215, 184, 29, 3, 215, 164, 29, 3, 215, 168, 29, 3, 215, 183, 29, 3,
+ 215, 178, 29, 3, 215, 179, 29, 3, 215, 167, 29, 3, 215, 162, 29, 3, 215,
+ 39, 29, 3, 215, 31, 29, 3, 215, 35, 29, 3, 215, 38, 29, 3, 215, 36, 29,
+ 3, 215, 37, 29, 3, 215, 33, 29, 3, 215, 32, 29, 3, 244, 197, 29, 3, 243,
+ 235, 29, 3, 244, 122, 29, 3, 244, 196, 29, 3, 244, 148, 29, 3, 244, 155,
+ 29, 3, 244, 44, 29, 3, 243, 214, 29, 3, 190, 29, 3, 224, 151, 29, 3, 225,
+ 109, 29, 3, 226, 90, 29, 3, 225, 212, 29, 3, 225, 222, 29, 3, 225, 17,
+ 29, 3, 224, 115, 29, 3, 222, 100, 29, 3, 230, 32, 29, 3, 243, 208, 29,
+ 38, 243, 54, 22, 25, 233, 24, 78, 29, 38, 25, 233, 24, 78, 29, 38, 243,
+ 54, 78, 29, 221, 174, 78, 29, 211, 208, 29, 243, 230, 218, 130, 29, 249,
+ 220, 29, 220, 151, 29, 249, 227, 29, 224, 200, 249, 227, 29, 224, 14, 78,
+ 29, 226, 16, 220, 138, 29, 21, 110, 29, 21, 105, 29, 21, 158, 29, 21,
+ 161, 29, 21, 189, 29, 21, 194, 29, 21, 198, 29, 21, 195, 29, 21, 200, 29,
+ 54, 216, 248, 29, 54, 215, 73, 29, 54, 216, 163, 29, 54, 244, 16, 29, 54,
+ 244, 115, 29, 54, 219, 112, 29, 54, 220, 117, 29, 54, 245, 185, 29, 54,
+ 228, 196, 29, 54, 240, 211, 29, 54, 216, 249, 216, 148, 29, 3, 221, 178,
+ 230, 43, 29, 3, 230, 39, 29, 3, 230, 40, 29, 3, 230, 41, 29, 3, 221, 178,
+ 251, 84, 29, 3, 251, 81, 29, 3, 251, 82, 29, 3, 251, 83, 29, 3, 221, 178,
+ 243, 214, 29, 3, 243, 210, 29, 3, 243, 211, 29, 3, 243, 212, 29, 3, 221,
+ 178, 224, 115, 29, 3, 224, 111, 29, 3, 224, 112, 29, 3, 224, 113, 29,
+ 216, 32, 164, 210, 247, 29, 216, 32, 164, 248, 42, 29, 216, 32, 164, 222,
+ 239, 29, 216, 32, 164, 219, 252, 222, 239, 29, 216, 32, 164, 247, 236,
+ 29, 216, 32, 164, 234, 165, 29, 216, 32, 164, 250, 95, 29, 216, 32, 164,
+ 241, 178, 29, 216, 32, 164, 248, 41, 29, 216, 32, 164, 233, 195, 169, 1,
+ 61, 169, 1, 75, 169, 1, 73, 169, 1, 76, 169, 1, 70, 169, 1, 214, 105,
+ 169, 1, 243, 136, 169, 1, 176, 169, 1, 243, 63, 169, 1, 242, 215, 169, 1,
+ 242, 175, 169, 1, 242, 114, 169, 1, 242, 80, 169, 1, 162, 169, 1, 241,
+ 239, 169, 1, 241, 181, 169, 1, 241, 69, 169, 1, 240, 223, 169, 1, 240,
+ 202, 169, 1, 233, 136, 169, 1, 233, 59, 169, 1, 232, 242, 169, 1, 232,
+ 157, 169, 1, 232, 99, 169, 1, 232, 72, 169, 1, 185, 169, 1, 231, 92, 169,
+ 1, 230, 231, 169, 1, 230, 162, 169, 1, 230, 103, 169, 1, 197, 169, 1,
+ 241, 91, 169, 1, 229, 214, 169, 1, 229, 108, 169, 1, 228, 234, 169, 1,
+ 228, 75, 169, 1, 227, 238, 169, 1, 227, 177, 169, 1, 224, 30, 169, 1,
+ 224, 17, 169, 1, 224, 10, 169, 1, 224, 2, 169, 1, 223, 247, 169, 1, 223,
+ 245, 169, 1, 206, 169, 1, 222, 92, 169, 1, 221, 182, 169, 1, 219, 192,
+ 169, 1, 219, 59, 169, 1, 218, 84, 169, 1, 218, 3, 169, 1, 248, 222, 169,
+ 1, 217, 106, 169, 1, 248, 91, 169, 1, 217, 23, 169, 1, 248, 4, 169, 1,
+ 216, 118, 169, 1, 247, 146, 169, 1, 246, 79, 169, 1, 246, 51, 169, 1,
+ 247, 157, 169, 1, 216, 60, 169, 1, 216, 59, 169, 1, 216, 48, 169, 1, 216,
+ 47, 169, 1, 216, 46, 169, 1, 216, 45, 169, 1, 215, 184, 169, 1, 215, 179,
+ 169, 1, 215, 168, 169, 1, 215, 167, 169, 1, 215, 164, 169, 1, 215, 163,
+ 169, 1, 212, 65, 169, 1, 212, 22, 169, 1, 211, 250, 169, 1, 211, 227,
+ 169, 1, 211, 195, 169, 1, 211, 183, 169, 1, 191, 169, 1, 211, 47, 169, 1,
+ 211, 8, 169, 1, 210, 244, 169, 1, 210, 212, 169, 1, 210, 177, 18, 19,
+ 240, 169, 18, 19, 75, 18, 19, 255, 38, 18, 19, 73, 18, 19, 236, 34, 18,
+ 19, 76, 18, 19, 226, 184, 18, 19, 211, 116, 226, 184, 18, 19, 72, 245,
+ 210, 18, 19, 72, 73, 18, 19, 61, 18, 19, 255, 74, 18, 19, 212, 22, 18,
+ 19, 159, 212, 22, 18, 19, 211, 250, 18, 19, 159, 211, 250, 18, 19, 211,
+ 242, 18, 19, 159, 211, 242, 18, 19, 211, 227, 18, 19, 159, 211, 227, 18,
+ 19, 211, 215, 18, 19, 159, 211, 215, 18, 19, 229, 191, 211, 215, 18, 19,
+ 212, 65, 18, 19, 159, 212, 65, 18, 19, 212, 64, 18, 19, 159, 212, 64, 18,
+ 19, 229, 191, 212, 64, 18, 19, 254, 202, 18, 19, 211, 116, 212, 98, 18,
+ 19, 242, 181, 218, 130, 18, 19, 40, 142, 18, 19, 40, 242, 137, 18, 19,
+ 40, 251, 176, 163, 222, 234, 18, 19, 40, 216, 15, 163, 222, 234, 18, 19,
+ 40, 44, 163, 222, 234, 18, 19, 40, 222, 234, 18, 19, 40, 52, 142, 18, 19,
+ 40, 52, 219, 252, 67, 218, 91, 18, 19, 40, 230, 225, 247, 121, 18, 19,
+ 40, 219, 252, 203, 91, 18, 19, 40, 225, 23, 18, 19, 40, 124, 217, 88, 18,
+ 19, 245, 151, 18, 19, 236, 0, 18, 19, 226, 197, 18, 19, 254, 124, 18, 19,
+ 225, 222, 18, 19, 226, 88, 18, 19, 225, 109, 18, 19, 225, 72, 18, 19,
+ 225, 17, 18, 19, 224, 250, 18, 19, 211, 116, 224, 250, 18, 19, 72, 241,
+ 221, 18, 19, 72, 241, 181, 18, 19, 190, 18, 19, 226, 90, 18, 19, 224,
+ 113, 18, 19, 159, 224, 113, 18, 19, 224, 111, 18, 19, 159, 224, 111, 18,
+ 19, 224, 110, 18, 19, 159, 224, 110, 18, 19, 224, 108, 18, 19, 159, 224,
+ 108, 18, 19, 224, 107, 18, 19, 159, 224, 107, 18, 19, 224, 115, 18, 19,
+ 159, 224, 115, 18, 19, 224, 114, 18, 19, 159, 224, 114, 18, 19, 211, 116,
+ 224, 114, 18, 19, 226, 106, 18, 19, 159, 226, 106, 18, 19, 72, 242, 61,
+ 18, 19, 217, 23, 18, 19, 217, 100, 18, 19, 216, 118, 18, 19, 216, 104,
+ 18, 19, 111, 18, 19, 216, 18, 18, 19, 211, 116, 216, 18, 18, 19, 72, 248,
+ 78, 18, 19, 72, 248, 4, 18, 19, 217, 106, 18, 19, 217, 102, 18, 19, 215,
+ 78, 18, 19, 159, 215, 78, 18, 19, 215, 62, 18, 19, 159, 215, 62, 18, 19,
+ 215, 61, 18, 19, 159, 215, 61, 18, 19, 105, 18, 19, 159, 105, 18, 19,
+ 215, 54, 18, 19, 159, 215, 54, 18, 19, 215, 80, 18, 19, 159, 215, 80, 18,
+ 19, 215, 79, 18, 19, 159, 215, 79, 18, 19, 229, 191, 215, 79, 18, 19,
+ 217, 153, 18, 19, 215, 152, 18, 19, 215, 136, 18, 19, 215, 134, 18, 19,
+ 215, 157, 18, 19, 234, 183, 18, 19, 235, 8, 18, 19, 234, 93, 18, 19, 234,
+ 84, 18, 19, 234, 29, 18, 19, 234, 11, 18, 19, 211, 116, 234, 11, 18, 19,
+ 176, 18, 19, 235, 11, 18, 19, 233, 179, 18, 19, 159, 233, 179, 18, 19,
+ 233, 177, 18, 19, 159, 233, 177, 18, 19, 233, 176, 18, 19, 159, 233, 176,
+ 18, 19, 233, 175, 18, 19, 159, 233, 175, 18, 19, 233, 174, 18, 19, 159,
+ 233, 174, 18, 19, 233, 183, 18, 19, 159, 233, 183, 18, 19, 233, 182, 18,
+ 19, 159, 233, 182, 18, 19, 229, 191, 233, 182, 18, 19, 235, 24, 18, 19,
+ 233, 184, 18, 19, 219, 28, 234, 177, 18, 19, 219, 28, 234, 85, 18, 19,
+ 219, 28, 234, 24, 18, 19, 219, 28, 234, 249, 18, 19, 250, 191, 18, 19,
+ 251, 32, 18, 19, 250, 52, 18, 19, 250, 42, 18, 19, 249, 239, 18, 19, 249,
+ 175, 18, 19, 211, 116, 249, 175, 18, 19, 251, 34, 18, 19, 251, 33, 18,
+ 19, 249, 80, 18, 19, 159, 249, 80, 18, 19, 249, 78, 18, 19, 159, 249, 78,
+ 18, 19, 249, 77, 18, 19, 159, 249, 77, 18, 19, 249, 76, 18, 19, 159, 249,
+ 76, 18, 19, 249, 75, 18, 19, 159, 249, 75, 18, 19, 249, 82, 18, 19, 159,
+ 249, 82, 18, 19, 249, 81, 18, 19, 159, 249, 81, 18, 19, 229, 191, 249,
+ 81, 18, 19, 251, 67, 18, 19, 221, 210, 216, 211, 18, 19, 231, 92, 18, 19,
+ 231, 237, 18, 19, 230, 231, 18, 19, 230, 202, 18, 19, 230, 162, 18, 19,
+ 230, 133, 18, 19, 211, 116, 230, 133, 18, 19, 185, 18, 19, 231, 238, 18,
+ 19, 230, 41, 18, 19, 159, 230, 41, 18, 19, 230, 39, 18, 19, 159, 230, 39,
+ 18, 19, 230, 38, 18, 19, 159, 230, 38, 18, 19, 230, 37, 18, 19, 159, 230,
+ 37, 18, 19, 230, 36, 18, 19, 159, 230, 36, 18, 19, 230, 43, 18, 19, 159,
+ 230, 43, 18, 19, 230, 42, 18, 19, 159, 230, 42, 18, 19, 229, 191, 230,
+ 42, 18, 19, 193, 18, 19, 159, 193, 18, 19, 230, 235, 18, 19, 253, 206,
+ 193, 18, 19, 221, 210, 193, 18, 19, 229, 108, 18, 19, 229, 225, 18, 19,
+ 228, 234, 18, 19, 228, 209, 18, 19, 228, 75, 18, 19, 228, 65, 18, 19,
+ 211, 116, 228, 65, 18, 19, 197, 18, 19, 229, 226, 18, 19, 227, 173, 18,
+ 19, 159, 227, 173, 18, 19, 227, 175, 18, 19, 159, 227, 175, 18, 19, 227,
+ 174, 18, 19, 159, 227, 174, 18, 19, 229, 191, 227, 174, 18, 19, 230, 26,
+ 18, 19, 72, 229, 80, 18, 19, 228, 239, 18, 19, 233, 59, 18, 19, 233, 134,
+ 18, 19, 232, 242, 18, 19, 232, 228, 18, 19, 232, 157, 18, 19, 232, 128,
+ 18, 19, 211, 116, 232, 128, 18, 19, 233, 136, 18, 19, 233, 135, 18, 19,
+ 232, 69, 18, 19, 159, 232, 69, 18, 19, 232, 68, 18, 19, 159, 232, 68, 18,
+ 19, 232, 67, 18, 19, 159, 232, 67, 18, 19, 232, 66, 18, 19, 159, 232, 66,
+ 18, 19, 232, 65, 18, 19, 159, 232, 65, 18, 19, 232, 71, 18, 19, 159, 232,
+ 71, 18, 19, 232, 70, 18, 19, 159, 232, 70, 18, 19, 156, 18, 19, 159, 156,
+ 18, 19, 147, 156, 18, 19, 221, 182, 18, 19, 222, 30, 18, 19, 219, 192,
+ 18, 19, 219, 176, 18, 19, 219, 59, 18, 19, 219, 41, 18, 19, 211, 116,
+ 219, 41, 18, 19, 206, 18, 19, 222, 32, 18, 19, 217, 250, 18, 19, 159,
+ 217, 250, 18, 19, 217, 244, 18, 19, 159, 217, 244, 18, 19, 217, 243, 18,
+ 19, 159, 217, 243, 18, 19, 217, 239, 18, 19, 159, 217, 239, 18, 19, 217,
+ 238, 18, 19, 159, 217, 238, 18, 19, 217, 254, 18, 19, 159, 217, 254, 18,
+ 19, 217, 253, 18, 19, 159, 217, 253, 18, 19, 229, 191, 217, 253, 18, 19,
+ 222, 92, 18, 19, 253, 206, 222, 92, 18, 19, 217, 255, 18, 19, 251, 219,
+ 222, 92, 18, 19, 230, 128, 219, 109, 18, 19, 229, 191, 219, 100, 18, 19,
+ 229, 191, 222, 90, 18, 19, 229, 191, 218, 236, 18, 19, 229, 191, 218, 87,
+ 18, 19, 229, 191, 219, 99, 18, 19, 229, 191, 221, 185, 18, 19, 220, 64,
+ 18, 19, 220, 33, 18, 19, 220, 28, 18, 19, 220, 8, 18, 19, 220, 2, 18, 19,
+ 220, 103, 18, 19, 220, 99, 18, 19, 219, 207, 18, 19, 159, 219, 207, 18,
+ 19, 219, 206, 18, 19, 159, 219, 206, 18, 19, 219, 205, 18, 19, 159, 219,
+ 205, 18, 19, 219, 204, 18, 19, 159, 219, 204, 18, 19, 219, 203, 18, 19,
+ 159, 219, 203, 18, 19, 219, 209, 18, 19, 159, 219, 209, 18, 19, 219, 208,
+ 18, 19, 159, 219, 208, 18, 19, 220, 105, 18, 19, 211, 47, 18, 19, 211,
+ 101, 18, 19, 211, 8, 18, 19, 210, 255, 18, 19, 210, 244, 18, 19, 210,
+ 229, 18, 19, 211, 116, 210, 229, 18, 19, 191, 18, 19, 211, 103, 18, 19,
+ 210, 174, 18, 19, 159, 210, 174, 18, 19, 210, 173, 18, 19, 159, 210, 173,
+ 18, 19, 210, 172, 18, 19, 159, 210, 172, 18, 19, 210, 171, 18, 19, 159,
+ 210, 171, 18, 19, 210, 170, 18, 19, 159, 210, 170, 18, 19, 210, 176, 18,
+ 19, 159, 210, 176, 18, 19, 210, 175, 18, 19, 159, 210, 175, 18, 19, 229,
+ 191, 210, 175, 18, 19, 211, 117, 18, 19, 252, 5, 211, 117, 18, 19, 159,
+ 211, 117, 18, 19, 221, 210, 211, 8, 18, 19, 223, 129, 18, 19, 223, 224,
+ 223, 129, 18, 19, 159, 233, 59, 18, 19, 223, 184, 18, 19, 223, 36, 18,
+ 19, 222, 240, 18, 19, 222, 212, 18, 19, 222, 198, 18, 19, 159, 232, 157,
+ 18, 19, 205, 18, 19, 223, 185, 18, 19, 159, 233, 136, 18, 19, 222, 109,
+ 18, 19, 159, 222, 109, 18, 19, 153, 18, 19, 159, 153, 18, 19, 147, 153,
+ 18, 19, 244, 155, 18, 19, 244, 194, 18, 19, 244, 122, 18, 19, 244, 109,
+ 18, 19, 244, 44, 18, 19, 244, 35, 18, 19, 244, 197, 18, 19, 244, 196, 18,
+ 19, 243, 213, 18, 19, 159, 243, 213, 18, 19, 245, 7, 18, 19, 216, 196,
+ 18, 19, 230, 24, 216, 196, 18, 19, 216, 176, 18, 19, 230, 24, 216, 176,
+ 18, 19, 216, 172, 18, 19, 230, 24, 216, 172, 18, 19, 216, 157, 18, 19,
+ 216, 154, 18, 19, 216, 209, 18, 19, 216, 208, 18, 19, 216, 128, 18, 19,
+ 159, 216, 128, 18, 19, 216, 211, 18, 19, 215, 143, 18, 19, 215, 141, 18,
+ 19, 215, 140, 18, 19, 215, 145, 18, 19, 215, 146, 18, 19, 215, 52, 18,
+ 19, 215, 51, 18, 19, 215, 50, 18, 19, 215, 53, 18, 19, 227, 194, 241,
+ 239, 18, 19, 227, 194, 241, 181, 18, 19, 227, 194, 241, 162, 18, 19, 227,
+ 194, 241, 69, 18, 19, 227, 194, 241, 54, 18, 19, 227, 194, 162, 18, 19,
+ 227, 194, 242, 47, 18, 19, 227, 194, 242, 61, 18, 19, 227, 193, 242, 61,
+ 18, 19, 241, 155, 18, 19, 224, 85, 18, 19, 224, 54, 18, 19, 224, 49, 18,
+ 19, 224, 43, 18, 19, 224, 38, 18, 19, 224, 89, 18, 19, 224, 88, 18, 19,
+ 224, 97, 18, 19, 216, 56, 18, 19, 216, 54, 18, 19, 216, 53, 18, 19, 216,
+ 57, 18, 19, 159, 223, 129, 18, 19, 159, 223, 36, 18, 19, 159, 222, 212,
+ 18, 19, 159, 205, 18, 19, 229, 76, 18, 19, 229, 28, 18, 19, 229, 24, 18,
+ 19, 229, 5, 18, 19, 229, 0, 18, 19, 229, 78, 18, 19, 229, 77, 18, 19,
+ 229, 80, 18, 19, 228, 104, 18, 19, 221, 210, 220, 64, 18, 19, 221, 210,
+ 220, 33, 18, 19, 221, 210, 220, 8, 18, 19, 221, 210, 220, 103, 18, 19,
+ 211, 213, 216, 196, 18, 19, 211, 213, 216, 176, 18, 19, 211, 213, 216,
+ 157, 18, 19, 211, 213, 216, 209, 18, 19, 211, 213, 216, 211, 18, 19, 232,
+ 249, 18, 19, 232, 248, 18, 19, 232, 247, 18, 19, 232, 246, 18, 19, 232,
+ 255, 18, 19, 232, 254, 18, 19, 233, 0, 18, 19, 216, 210, 216, 196, 18,
+ 19, 216, 210, 216, 176, 18, 19, 216, 210, 216, 172, 18, 19, 216, 210,
+ 216, 157, 18, 19, 216, 210, 216, 154, 18, 19, 216, 210, 216, 209, 18, 19,
+ 216, 210, 216, 208, 18, 19, 216, 210, 216, 211, 18, 19, 254, 190, 253,
+ 159, 18, 19, 251, 219, 75, 18, 19, 251, 219, 73, 18, 19, 251, 219, 76,
+ 18, 19, 251, 219, 61, 18, 19, 251, 219, 212, 22, 18, 19, 251, 219, 211,
+ 250, 18, 19, 251, 219, 211, 227, 18, 19, 251, 219, 212, 65, 18, 19, 251,
+ 219, 229, 108, 18, 19, 251, 219, 228, 234, 18, 19, 251, 219, 228, 75, 18,
+ 19, 251, 219, 197, 18, 19, 251, 219, 234, 183, 18, 19, 251, 219, 234, 93,
+ 18, 19, 251, 219, 234, 29, 18, 19, 251, 219, 176, 18, 19, 221, 210, 241,
+ 239, 18, 19, 221, 210, 241, 181, 18, 19, 221, 210, 241, 69, 18, 19, 221,
+ 210, 162, 18, 19, 72, 242, 221, 18, 19, 72, 242, 225, 18, 19, 72, 242,
+ 237, 18, 19, 72, 242, 236, 18, 19, 72, 242, 226, 18, 19, 72, 242, 250,
+ 18, 19, 72, 222, 141, 18, 19, 72, 222, 212, 18, 19, 72, 223, 129, 18, 19,
+ 72, 223, 109, 18, 19, 72, 223, 36, 18, 19, 72, 205, 18, 19, 72, 211, 195,
+ 18, 19, 72, 211, 227, 18, 19, 72, 212, 22, 18, 19, 72, 212, 17, 18, 19,
+ 72, 211, 250, 18, 19, 72, 212, 65, 18, 19, 72, 240, 195, 18, 19, 72, 240,
+ 196, 18, 19, 72, 240, 199, 18, 19, 72, 240, 198, 18, 19, 72, 240, 197,
+ 18, 19, 72, 240, 201, 18, 19, 72, 216, 137, 18, 19, 72, 216, 157, 18, 19,
+ 72, 216, 196, 18, 19, 72, 216, 195, 18, 19, 72, 216, 176, 18, 19, 72,
+ 216, 209, 18, 19, 72, 215, 124, 18, 19, 72, 215, 134, 18, 19, 72, 215,
+ 152, 18, 19, 72, 215, 151, 18, 19, 72, 215, 136, 18, 19, 72, 215, 157,
+ 18, 19, 72, 224, 151, 18, 19, 72, 225, 17, 18, 19, 72, 225, 222, 18, 19,
+ 72, 225, 212, 18, 19, 72, 225, 109, 18, 19, 72, 190, 18, 19, 72, 226,
+ 106, 18, 19, 72, 242, 114, 18, 19, 72, 242, 175, 18, 19, 72, 243, 63, 18,
+ 19, 72, 243, 56, 18, 19, 72, 242, 215, 18, 19, 72, 243, 136, 18, 19, 72,
+ 234, 101, 18, 19, 72, 234, 106, 18, 19, 72, 234, 120, 18, 19, 72, 234,
+ 119, 18, 19, 72, 234, 113, 18, 19, 72, 234, 133, 18, 19, 72, 234, 42, 18,
+ 19, 72, 234, 43, 18, 19, 72, 234, 46, 18, 19, 72, 234, 45, 18, 19, 72,
+ 234, 44, 18, 19, 72, 234, 47, 18, 19, 72, 234, 48, 18, 19, 72, 227, 238,
+ 18, 19, 72, 228, 75, 18, 19, 72, 229, 108, 18, 19, 72, 229, 104, 18, 19,
+ 72, 228, 234, 18, 19, 72, 197, 18, 19, 72, 230, 103, 18, 19, 72, 230,
+ 162, 18, 19, 72, 231, 92, 18, 19, 72, 231, 81, 18, 19, 72, 230, 231, 18,
+ 19, 72, 185, 18, 19, 72, 210, 212, 18, 19, 72, 210, 244, 18, 19, 72, 211,
+ 47, 18, 19, 72, 211, 44, 18, 19, 72, 211, 8, 18, 19, 72, 191, 18, 19, 72,
+ 235, 52, 18, 19, 221, 210, 235, 52, 18, 19, 72, 235, 69, 18, 19, 72, 235,
+ 127, 18, 19, 72, 235, 125, 18, 19, 72, 235, 109, 18, 19, 221, 210, 235,
+ 109, 18, 19, 72, 235, 142, 18, 19, 72, 235, 82, 18, 19, 72, 235, 86, 18,
+ 19, 72, 235, 96, 18, 19, 72, 235, 95, 18, 19, 72, 235, 94, 18, 19, 72,
+ 235, 97, 18, 19, 72, 232, 99, 18, 19, 72, 232, 157, 18, 19, 72, 233, 59,
+ 18, 19, 72, 233, 51, 18, 19, 72, 232, 242, 18, 19, 72, 233, 136, 18, 19,
+ 72, 247, 150, 18, 19, 72, 247, 151, 18, 19, 72, 247, 156, 18, 19, 72,
+ 247, 155, 18, 19, 72, 247, 152, 18, 19, 72, 247, 157, 18, 19, 72, 232,
+ 245, 18, 19, 72, 232, 247, 18, 19, 72, 232, 251, 18, 19, 72, 232, 250,
+ 18, 19, 72, 232, 249, 18, 19, 72, 232, 255, 18, 19, 72, 216, 51, 18, 19,
+ 72, 216, 53, 18, 19, 72, 216, 56, 18, 19, 72, 216, 55, 18, 19, 72, 216,
+ 54, 18, 19, 72, 216, 57, 18, 19, 72, 216, 46, 18, 19, 72, 216, 47, 18,
+ 19, 72, 216, 59, 18, 19, 72, 216, 58, 18, 19, 72, 216, 48, 18, 19, 72,
+ 216, 60, 18, 19, 72, 210, 13, 18, 19, 72, 210, 23, 18, 19, 72, 210, 94,
+ 18, 19, 72, 210, 92, 18, 19, 72, 210, 44, 18, 19, 72, 210, 116, 18, 19,
+ 72, 210, 159, 18, 19, 72, 65, 210, 159, 18, 19, 72, 246, 29, 18, 19, 72,
+ 246, 30, 18, 19, 72, 246, 37, 18, 19, 72, 246, 36, 18, 19, 72, 246, 32,
+ 18, 19, 72, 246, 39, 18, 19, 72, 218, 84, 18, 19, 72, 219, 59, 18, 19,
+ 72, 221, 182, 18, 19, 72, 221, 171, 18, 19, 72, 219, 192, 18, 19, 72,
+ 206, 18, 19, 72, 219, 226, 18, 19, 72, 220, 8, 18, 19, 72, 220, 64, 18,
+ 19, 72, 220, 62, 18, 19, 72, 220, 33, 18, 19, 72, 220, 103, 18, 19, 72,
+ 220, 105, 18, 19, 72, 215, 164, 18, 19, 72, 215, 167, 18, 19, 72, 215,
+ 179, 18, 19, 72, 215, 178, 18, 19, 72, 215, 168, 18, 19, 72, 215, 184,
+ 18, 19, 72, 250, 70, 18, 19, 72, 250, 87, 18, 19, 72, 250, 132, 18, 19,
+ 72, 250, 129, 18, 19, 72, 250, 111, 18, 19, 72, 250, 158, 18, 19, 72,
+ 215, 127, 18, 19, 72, 215, 128, 18, 19, 72, 215, 131, 18, 19, 72, 215,
+ 130, 18, 19, 72, 215, 129, 18, 19, 72, 215, 132, 18, 19, 250, 112, 50,
+ 18, 19, 243, 230, 218, 130, 18, 19, 224, 81, 18, 19, 229, 74, 18, 19,
+ 228, 101, 18, 19, 228, 100, 18, 19, 228, 99, 18, 19, 228, 98, 18, 19,
+ 228, 103, 18, 19, 228, 102, 18, 19, 211, 213, 216, 126, 18, 19, 211, 213,
+ 216, 125, 18, 19, 211, 213, 216, 124, 18, 19, 211, 213, 216, 123, 18, 19,
+ 211, 213, 216, 122, 18, 19, 211, 213, 216, 129, 18, 19, 211, 213, 216,
+ 128, 18, 19, 211, 213, 40, 216, 211, 18, 19, 251, 219, 212, 98, 226, 227,
+ 219, 20, 78, 226, 227, 1, 252, 49, 226, 227, 1, 232, 88, 226, 227, 1,
+ 244, 152, 226, 227, 1, 222, 16, 226, 227, 1, 228, 194, 226, 227, 1, 214,
+ 226, 226, 227, 1, 248, 198, 226, 227, 1, 216, 81, 226, 227, 1, 249, 230,
+ 226, 227, 1, 250, 181, 226, 227, 1, 230, 92, 226, 227, 1, 242, 157, 226,
+ 227, 1, 229, 64, 226, 227, 1, 218, 123, 226, 227, 1, 222, 136, 226, 227,
+ 1, 254, 199, 226, 227, 1, 226, 188, 226, 227, 1, 214, 150, 226, 227, 1,
+ 245, 232, 226, 227, 1, 235, 189, 226, 227, 1, 245, 233, 226, 227, 1, 226,
+ 159, 226, 227, 1, 214, 206, 226, 227, 1, 236, 40, 226, 227, 1, 245, 230,
+ 226, 227, 1, 225, 203, 226, 227, 244, 151, 78, 226, 227, 223, 50, 244,
+ 151, 78, 178, 1, 244, 142, 244, 134, 244, 156, 245, 7, 178, 1, 214, 105,
+ 178, 1, 214, 135, 214, 151, 70, 178, 1, 210, 214, 178, 1, 211, 117, 178,
+ 1, 212, 98, 178, 1, 216, 131, 216, 130, 216, 152, 178, 1, 245, 60, 178,
+ 1, 254, 94, 61, 178, 1, 226, 144, 76, 178, 1, 255, 18, 61, 178, 1, 254,
+ 228, 178, 1, 232, 134, 76, 178, 1, 219, 245, 76, 178, 1, 76, 178, 1, 226,
+ 235, 178, 1, 226, 197, 178, 1, 223, 165, 223, 178, 223, 95, 153, 178, 1,
+ 234, 194, 178, 1, 250, 178, 178, 1, 234, 195, 235, 24, 178, 1, 243, 203,
+ 178, 1, 245, 139, 178, 1, 243, 59, 242, 67, 243, 203, 178, 1, 243, 97,
+ 178, 1, 211, 188, 211, 182, 212, 98, 178, 1, 242, 39, 242, 61, 178, 1,
+ 242, 43, 242, 61, 178, 1, 232, 136, 242, 61, 178, 1, 219, 248, 242, 61,
+ 178, 1, 229, 186, 227, 158, 229, 187, 230, 26, 178, 1, 219, 246, 230, 26,
+ 178, 1, 246, 116, 178, 1, 235, 169, 235, 173, 235, 163, 73, 178, 1, 75,
+ 178, 1, 235, 118, 235, 145, 178, 1, 243, 44, 178, 1, 232, 137, 254, 244,
+ 178, 1, 219, 250, 61, 178, 1, 235, 155, 245, 114, 178, 1, 225, 165, 225,
+ 187, 226, 106, 178, 1, 254, 164, 245, 112, 178, 1, 219, 25, 222, 92, 178,
+ 1, 219, 180, 232, 133, 222, 92, 178, 1, 219, 244, 222, 92, 178, 1, 251,
+ 67, 178, 1, 210, 159, 178, 1, 216, 64, 216, 74, 215, 41, 217, 153, 178,
+ 1, 219, 243, 217, 153, 178, 1, 249, 61, 178, 1, 252, 32, 252, 35, 251,
+ 225, 253, 159, 178, 1, 219, 249, 253, 159, 178, 1, 246, 115, 178, 1, 226,
+ 172, 178, 1, 245, 197, 245, 199, 75, 178, 1, 231, 179, 231, 187, 193,
+ 178, 1, 232, 135, 193, 178, 1, 219, 247, 193, 178, 1, 233, 74, 233, 115,
+ 232, 144, 156, 178, 1, 246, 117, 178, 1, 235, 231, 178, 1, 235, 232, 178,
+ 1, 248, 211, 248, 216, 249, 61, 178, 1, 226, 139, 245, 59, 76, 178, 1,
+ 245, 228, 178, 1, 235, 188, 178, 1, 249, 79, 178, 1, 251, 18, 178, 1,
+ 250, 190, 178, 1, 218, 162, 178, 1, 232, 132, 178, 1, 219, 242, 178, 1,
+ 240, 111, 178, 1, 224, 97, 178, 1, 211, 178, 178, 219, 156, 224, 141,
+ 178, 230, 86, 224, 141, 178, 249, 132, 224, 141, 178, 254, 7, 87, 178,
+ 215, 82, 87, 178, 252, 47, 87, 217, 84, 1, 61, 217, 84, 1, 73, 217, 84,
+ 1, 70, 217, 84, 1, 176, 217, 84, 1, 243, 136, 217, 84, 1, 229, 78, 217,
+ 84, 1, 217, 106, 217, 84, 1, 248, 222, 217, 84, 1, 197, 217, 84, 1, 190,
+ 217, 84, 1, 252, 192, 217, 84, 1, 185, 217, 84, 1, 191, 217, 84, 1, 233,
+ 136, 217, 84, 1, 212, 65, 217, 84, 1, 206, 217, 84, 1, 162, 217, 84, 25,
+ 5, 73, 217, 84, 25, 5, 70, 217, 84, 5, 213, 152, 242, 8, 1, 61, 242, 8,
+ 1, 73, 242, 8, 1, 70, 242, 8, 1, 176, 242, 8, 1, 243, 136, 242, 8, 1,
+ 229, 78, 242, 8, 1, 217, 106, 242, 8, 1, 248, 222, 242, 8, 1, 197, 242,
+ 8, 1, 190, 242, 8, 1, 252, 192, 242, 8, 1, 185, 242, 8, 1, 191, 242, 8,
+ 1, 205, 242, 8, 1, 233, 136, 242, 8, 1, 212, 65, 242, 8, 1, 206, 242, 8,
+ 1, 162, 242, 8, 25, 5, 73, 242, 8, 25, 5, 70, 242, 8, 5, 226, 50, 225,
+ 127, 219, 156, 224, 141, 225, 127, 52, 224, 141, 251, 121, 1, 61, 251,
+ 121, 1, 73, 251, 121, 1, 70, 251, 121, 1, 176, 251, 121, 1, 243, 136,
+ 251, 121, 1, 229, 78, 251, 121, 1, 217, 106, 251, 121, 1, 248, 222, 251,
+ 121, 1, 197, 251, 121, 1, 190, 251, 121, 1, 252, 192, 251, 121, 1, 185,
+ 251, 121, 1, 191, 251, 121, 1, 205, 251, 121, 1, 233, 136, 251, 121, 1,
+ 212, 65, 251, 121, 1, 206, 251, 121, 1, 162, 251, 121, 25, 5, 73, 251,
+ 121, 25, 5, 70, 217, 83, 1, 61, 217, 83, 1, 73, 217, 83, 1, 70, 217, 83,
+ 1, 176, 217, 83, 1, 243, 136, 217, 83, 1, 229, 78, 217, 83, 1, 217, 106,
+ 217, 83, 1, 248, 222, 217, 83, 1, 197, 217, 83, 1, 190, 217, 83, 1, 252,
+ 192, 217, 83, 1, 185, 217, 83, 1, 191, 217, 83, 1, 233, 136, 217, 83, 1,
+ 212, 65, 217, 83, 1, 206, 217, 83, 25, 5, 73, 217, 83, 25, 5, 70, 69, 1,
+ 176, 69, 1, 234, 133, 69, 1, 234, 29, 69, 1, 234, 106, 69, 1, 229, 5, 69,
+ 1, 251, 34, 69, 1, 250, 158, 69, 1, 249, 239, 69, 1, 250, 87, 69, 1, 227,
+ 135, 69, 1, 248, 222, 69, 1, 215, 145, 69, 1, 247, 146, 69, 1, 215, 140,
+ 69, 1, 228, 81, 69, 1, 217, 106, 69, 1, 216, 209, 69, 1, 111, 69, 1, 216,
+ 157, 69, 1, 228, 75, 69, 1, 252, 192, 69, 1, 225, 148, 69, 1, 225, 17,
+ 69, 1, 225, 122, 69, 1, 230, 162, 69, 1, 210, 244, 69, 1, 222, 212, 69,
+ 1, 232, 157, 69, 1, 213, 138, 69, 1, 220, 103, 69, 1, 218, 185, 69, 1,
+ 206, 69, 1, 162, 69, 1, 233, 136, 69, 1, 224, 89, 69, 235, 244, 25, 224,
+ 75, 69, 235, 244, 25, 224, 88, 69, 235, 244, 25, 224, 54, 69, 235, 244,
+ 25, 224, 49, 69, 235, 244, 25, 224, 31, 69, 235, 244, 25, 224, 3, 69,
+ 235, 244, 25, 223, 247, 69, 235, 244, 25, 223, 246, 69, 235, 244, 25,
+ 222, 101, 69, 235, 244, 25, 222, 94, 69, 235, 244, 25, 232, 63, 69, 235,
+ 244, 25, 232, 53, 69, 235, 244, 25, 224, 70, 69, 235, 244, 25, 224, 81,
+ 69, 235, 244, 25, 224, 39, 215, 49, 110, 69, 235, 244, 25, 224, 39, 215,
+ 49, 105, 69, 235, 244, 25, 224, 71, 69, 25, 235, 230, 254, 46, 69, 25,
+ 235, 230, 255, 74, 69, 25, 5, 255, 74, 69, 25, 5, 73, 69, 25, 5, 236, 34,
+ 69, 25, 5, 211, 117, 69, 25, 5, 210, 169, 69, 25, 5, 70, 69, 25, 5, 214,
+ 118, 69, 25, 5, 214, 229, 69, 25, 5, 226, 235, 69, 25, 5, 191, 69, 25, 5,
+ 236, 61, 69, 25, 5, 75, 69, 25, 5, 254, 244, 69, 25, 5, 254, 202, 69, 25,
+ 5, 226, 184, 69, 25, 5, 253, 193, 69, 5, 228, 207, 69, 5, 223, 127, 69,
+ 5, 210, 180, 69, 5, 230, 53, 69, 5, 215, 214, 69, 5, 252, 144, 69, 5,
+ 222, 207, 69, 5, 216, 41, 69, 5, 234, 242, 69, 5, 254, 204, 69, 5, 221,
+ 245, 221, 239, 69, 5, 213, 149, 69, 5, 249, 233, 69, 5, 252, 118, 69, 5,
+ 234, 126, 69, 5, 252, 138, 69, 5, 251, 10, 225, 73, 233, 188, 69, 5, 233,
+ 31, 216, 18, 69, 5, 252, 21, 69, 5, 225, 124, 230, 100, 69, 5, 234, 10,
+ 69, 249, 99, 16, 223, 29, 69, 5, 253, 175, 69, 5, 253, 196, 69, 21, 210,
+ 86, 69, 21, 110, 69, 21, 105, 69, 21, 158, 69, 21, 161, 69, 21, 189, 69,
+ 21, 194, 69, 21, 198, 69, 21, 195, 69, 21, 200, 69, 16, 233, 31, 253,
+ 198, 219, 44, 69, 16, 233, 31, 253, 198, 230, 72, 69, 16, 233, 31, 253,
+ 198, 225, 72, 69, 16, 233, 31, 253, 198, 252, 50, 69, 16, 233, 31, 253,
+ 198, 251, 104, 69, 16, 233, 31, 253, 198, 224, 216, 69, 16, 233, 31, 253,
+ 198, 224, 210, 69, 16, 233, 31, 253, 198, 224, 208, 69, 16, 233, 31, 253,
+ 198, 224, 214, 69, 16, 233, 31, 253, 198, 224, 212, 83, 251, 237, 83,
+ 245, 164, 83, 249, 220, 83, 243, 230, 218, 130, 83, 249, 227, 83, 244,
+ 12, 247, 119, 83, 216, 40, 219, 53, 240, 169, 83, 219, 191, 3, 251, 173,
+ 231, 155, 83, 231, 184, 249, 220, 83, 231, 184, 243, 230, 218, 130, 83,
+ 228, 192, 83, 243, 254, 45, 221, 158, 110, 83, 243, 254, 45, 221, 158,
+ 105, 83, 243, 254, 45, 221, 158, 158, 83, 25, 220, 138, 83, 21, 210, 86,
+ 83, 21, 110, 83, 21, 105, 83, 21, 158, 83, 21, 161, 83, 21, 189, 83, 21,
+ 194, 83, 21, 198, 83, 21, 195, 83, 21, 200, 83, 1, 61, 83, 1, 75, 83, 1,
+ 73, 83, 1, 76, 83, 1, 70, 83, 1, 226, 235, 83, 1, 214, 214, 83, 1, 245,
+ 210, 83, 1, 197, 83, 1, 254, 116, 83, 1, 252, 192, 83, 1, 190, 83, 1,
+ 224, 89, 83, 1, 243, 136, 83, 1, 185, 83, 1, 233, 136, 83, 1, 206, 83, 1,
+ 220, 103, 83, 1, 217, 106, 83, 1, 248, 222, 83, 1, 250, 158, 83, 1, 235,
+ 142, 83, 1, 191, 83, 1, 205, 83, 1, 212, 65, 83, 1, 244, 197, 83, 1, 176,
+ 83, 1, 234, 133, 83, 1, 215, 184, 83, 1, 210, 116, 83, 1, 242, 47, 83, 1,
+ 210, 16, 83, 1, 232, 255, 83, 1, 210, 69, 83, 1, 250, 111, 83, 1, 216,
+ 40, 199, 25, 50, 83, 1, 216, 40, 75, 83, 1, 216, 40, 73, 83, 1, 216, 40,
+ 76, 83, 1, 216, 40, 70, 83, 1, 216, 40, 226, 235, 83, 1, 216, 40, 214,
+ 214, 83, 1, 216, 40, 254, 116, 83, 1, 216, 40, 252, 192, 83, 1, 216, 40,
+ 190, 83, 1, 216, 40, 224, 89, 83, 1, 216, 40, 243, 136, 83, 1, 216, 40,
+ 185, 83, 1, 216, 40, 217, 106, 83, 1, 216, 40, 248, 222, 83, 1, 216, 40,
+ 250, 158, 83, 1, 216, 40, 235, 142, 83, 1, 216, 40, 215, 184, 83, 1, 216,
+ 40, 191, 83, 1, 216, 40, 212, 65, 83, 1, 216, 40, 176, 83, 1, 216, 40,
+ 243, 133, 83, 1, 216, 40, 242, 47, 83, 1, 216, 40, 235, 108, 83, 1, 216,
+ 40, 228, 232, 83, 1, 216, 40, 246, 39, 83, 1, 219, 191, 75, 83, 1, 219,
+ 191, 73, 83, 1, 219, 191, 235, 153, 83, 1, 219, 191, 214, 214, 83, 1,
+ 219, 191, 70, 83, 1, 219, 191, 254, 116, 83, 1, 219, 191, 176, 83, 1,
+ 219, 191, 243, 136, 83, 1, 219, 191, 162, 83, 1, 219, 191, 190, 83, 1,
+ 219, 191, 220, 103, 83, 1, 219, 191, 217, 106, 83, 1, 219, 191, 248, 222,
+ 83, 1, 219, 191, 235, 142, 83, 1, 219, 191, 244, 197, 83, 1, 219, 191,
+ 243, 133, 83, 1, 219, 191, 242, 47, 83, 1, 219, 191, 215, 184, 83, 1,
+ 219, 191, 210, 116, 83, 1, 219, 191, 223, 185, 83, 1, 219, 191, 250, 158,
+ 83, 1, 219, 191, 210, 82, 83, 1, 231, 184, 73, 83, 1, 231, 184, 176, 83,
+ 1, 231, 184, 205, 83, 1, 231, 184, 244, 197, 83, 1, 231, 184, 210, 82,
+ 83, 1, 254, 163, 243, 117, 254, 77, 110, 83, 1, 254, 163, 243, 117, 213,
+ 148, 110, 83, 1, 254, 163, 243, 117, 248, 187, 83, 1, 254, 163, 243, 117,
+ 214, 224, 83, 1, 254, 163, 243, 117, 235, 194, 214, 224, 83, 1, 254, 163,
+ 243, 117, 252, 156, 83, 1, 254, 163, 243, 117, 134, 252, 156, 83, 1, 254,
+ 163, 243, 117, 61, 83, 1, 254, 163, 243, 117, 73, 83, 1, 254, 163, 243,
+ 117, 176, 83, 1, 254, 163, 243, 117, 229, 78, 83, 1, 254, 163, 243, 117,
+ 251, 34, 83, 1, 254, 163, 243, 117, 215, 157, 83, 1, 254, 163, 243, 117,
+ 215, 145, 83, 1, 254, 163, 243, 117, 248, 136, 83, 1, 254, 163, 243, 117,
+ 228, 111, 83, 1, 254, 163, 243, 117, 217, 106, 83, 1, 254, 163, 243, 117,
+ 248, 222, 83, 1, 254, 163, 243, 117, 190, 83, 1, 254, 163, 243, 117, 225,
+ 148, 83, 1, 254, 163, 243, 117, 218, 224, 83, 1, 254, 163, 243, 117, 210,
+ 82, 83, 1, 254, 163, 243, 117, 210, 116, 83, 1, 254, 163, 243, 117, 254,
+ 210, 83, 1, 216, 40, 254, 163, 243, 117, 217, 106, 83, 1, 216, 40, 254,
+ 163, 243, 117, 210, 82, 83, 1, 231, 184, 254, 163, 243, 117, 242, 250,
+ 83, 1, 231, 184, 254, 163, 243, 117, 229, 78, 83, 1, 231, 184, 254, 163,
+ 243, 117, 251, 34, 83, 1, 231, 184, 254, 163, 243, 117, 235, 115, 83, 1,
+ 231, 184, 254, 163, 243, 117, 215, 157, 83, 1, 231, 184, 254, 163, 243,
+ 117, 248, 120, 83, 1, 231, 184, 254, 163, 243, 117, 217, 106, 83, 1, 231,
+ 184, 254, 163, 243, 117, 248, 26, 83, 1, 231, 184, 254, 163, 243, 117,
+ 218, 224, 83, 1, 231, 184, 254, 163, 243, 117, 249, 73, 83, 1, 231, 184,
+ 254, 163, 243, 117, 210, 82, 83, 1, 231, 184, 254, 163, 243, 117, 210,
+ 116, 83, 1, 254, 163, 243, 117, 163, 70, 83, 1, 254, 163, 243, 117, 163,
+ 191, 83, 1, 231, 184, 254, 163, 243, 117, 252, 19, 83, 1, 254, 163, 243,
+ 117, 248, 212, 83, 1, 231, 184, 254, 163, 243, 117, 232, 255, 18, 19,
+ 226, 110, 18, 19, 253, 168, 18, 19, 255, 29, 18, 19, 212, 25, 18, 19,
+ 224, 222, 18, 19, 225, 230, 18, 19, 224, 106, 18, 19, 217, 32, 18, 19,
+ 234, 190, 18, 19, 233, 180, 18, 19, 231, 133, 18, 19, 228, 38, 18, 19,
+ 229, 182, 18, 19, 233, 69, 18, 19, 219, 23, 18, 19, 221, 212, 18, 19,
+ 219, 233, 18, 19, 220, 67, 18, 19, 219, 202, 18, 19, 210, 220, 18, 19,
+ 211, 52, 18, 19, 223, 135, 18, 19, 227, 172, 18, 19, 226, 217, 227, 172,
+ 18, 19, 227, 171, 18, 19, 226, 217, 227, 171, 18, 19, 227, 170, 18, 19,
+ 226, 217, 227, 170, 18, 19, 227, 169, 18, 19, 226, 217, 227, 169, 18, 19,
+ 222, 106, 18, 19, 222, 105, 18, 19, 222, 104, 18, 19, 222, 103, 18, 19,
+ 222, 102, 18, 19, 222, 110, 18, 19, 226, 217, 226, 106, 18, 19, 226, 217,
+ 217, 153, 18, 19, 226, 217, 235, 24, 18, 19, 226, 217, 251, 67, 18, 19,
+ 226, 217, 193, 18, 19, 226, 217, 230, 26, 18, 19, 226, 217, 222, 92, 18,
+ 19, 226, 217, 220, 105, 18, 19, 245, 220, 212, 98, 18, 19, 212, 7, 212,
+ 98, 18, 19, 40, 4, 222, 234, 18, 19, 40, 223, 158, 247, 121, 18, 19, 223,
+ 224, 222, 107, 18, 19, 159, 232, 128, 18, 19, 159, 233, 135, 18, 19, 216,
+ 127, 18, 19, 216, 129, 18, 19, 215, 137, 18, 19, 215, 139, 18, 19, 215,
+ 144, 18, 19, 216, 50, 18, 19, 216, 52, 18, 19, 221, 210, 219, 207, 18,
+ 19, 221, 210, 220, 2, 18, 19, 221, 210, 241, 54, 18, 19, 72, 242, 74, 18,
+ 19, 72, 248, 53, 243, 56, 18, 19, 72, 243, 133, 18, 19, 72, 242, 79, 18,
+ 19, 221, 210, 235, 34, 18, 19, 72, 235, 32, 18, 19, 252, 69, 248, 53,
+ 156, 18, 19, 252, 69, 248, 53, 153, 18, 19, 72, 248, 48, 222, 92, 232,
+ 224, 213, 122, 233, 11, 232, 224, 1, 176, 232, 224, 1, 234, 133, 232,
+ 224, 1, 243, 136, 232, 224, 1, 242, 250, 232, 224, 1, 229, 78, 232, 224,
+ 1, 251, 34, 232, 224, 1, 250, 158, 232, 224, 1, 235, 142, 232, 224, 1,
+ 235, 115, 232, 224, 1, 211, 71, 232, 224, 1, 217, 106, 232, 224, 1, 216,
+ 209, 232, 224, 1, 248, 222, 232, 224, 1, 248, 26, 232, 224, 1, 197, 232,
+ 224, 1, 190, 232, 224, 1, 225, 148, 232, 224, 1, 252, 192, 232, 224, 1,
+ 252, 19, 232, 224, 1, 185, 232, 224, 1, 191, 232, 224, 1, 205, 232, 224,
+ 1, 233, 136, 232, 224, 1, 212, 65, 232, 224, 1, 220, 103, 232, 224, 1,
+ 218, 224, 232, 224, 1, 206, 232, 224, 1, 162, 232, 224, 25, 5, 61, 232,
+ 224, 25, 5, 73, 232, 224, 25, 5, 70, 232, 224, 25, 5, 245, 210, 232, 224,
+ 25, 5, 254, 202, 232, 224, 25, 5, 226, 184, 232, 224, 25, 5, 253, 193,
+ 232, 224, 25, 5, 75, 232, 224, 25, 5, 76, 232, 224, 218, 74, 1, 191, 232,
+ 224, 218, 74, 1, 205, 232, 224, 218, 74, 1, 212, 65, 232, 224, 4, 1, 176,
+ 232, 224, 4, 1, 229, 78, 232, 224, 4, 1, 254, 76, 232, 224, 4, 1, 217,
+ 106, 232, 224, 4, 1, 197, 232, 224, 4, 1, 190, 232, 224, 4, 1, 185, 232,
+ 224, 4, 1, 205, 232, 224, 4, 1, 233, 136, 232, 224, 5, 230, 90, 232, 224,
+ 5, 234, 172, 232, 224, 5, 222, 33, 232, 224, 5, 232, 128, 232, 224, 245,
+ 32, 78, 232, 224, 224, 14, 78, 232, 224, 21, 210, 86, 232, 224, 21, 110,
+ 232, 224, 21, 105, 232, 224, 21, 158, 232, 224, 21, 161, 232, 224, 21,
+ 189, 232, 224, 21, 194, 232, 224, 21, 198, 232, 224, 21, 195, 232, 224,
+ 21, 200, 39, 233, 60, 1, 176, 39, 233, 60, 1, 211, 165, 39, 233, 60, 1,
+ 229, 78, 39, 233, 60, 1, 215, 184, 39, 233, 60, 1, 206, 39, 233, 60, 1,
+ 191, 39, 233, 60, 1, 217, 106, 39, 233, 60, 1, 216, 209, 39, 233, 60, 1,
+ 233, 136, 39, 233, 60, 1, 190, 39, 233, 60, 1, 225, 148, 39, 233, 60, 1,
+ 185, 39, 233, 60, 1, 244, 197, 39, 233, 60, 1, 214, 27, 39, 233, 60, 1,
+ 162, 39, 233, 60, 1, 224, 89, 39, 233, 60, 1, 234, 133, 39, 233, 60, 1,
+ 215, 176, 39, 233, 60, 1, 197, 39, 233, 60, 1, 61, 39, 233, 60, 1, 73,
+ 39, 233, 60, 1, 245, 210, 39, 233, 60, 1, 245, 198, 39, 233, 60, 1, 70,
+ 39, 233, 60, 1, 226, 184, 39, 233, 60, 1, 76, 39, 233, 60, 1, 214, 214,
+ 39, 233, 60, 1, 75, 39, 233, 60, 1, 253, 191, 39, 233, 60, 1, 254, 202,
+ 39, 233, 60, 1, 216, 29, 39, 233, 60, 1, 216, 28, 39, 233, 60, 1, 216,
+ 27, 39, 233, 60, 1, 216, 26, 39, 233, 60, 1, 216, 25, 166, 39, 173, 1,
+ 125, 224, 89, 166, 39, 173, 1, 121, 224, 89, 166, 39, 173, 1, 125, 176,
+ 166, 39, 173, 1, 125, 211, 165, 166, 39, 173, 1, 125, 229, 78, 166, 39,
173, 1, 121, 176, 166, 39, 173, 1, 121, 211, 165, 166, 39, 173, 1, 121,
- 229, 77, 166, 39, 173, 1, 125, 215, 183, 166, 39, 173, 1, 125, 206, 166,
- 39, 173, 1, 125, 191, 166, 39, 173, 1, 121, 215, 183, 166, 39, 173, 1,
- 121, 206, 166, 39, 173, 1, 121, 191, 166, 39, 173, 1, 125, 217, 105, 166,
- 39, 173, 1, 125, 216, 208, 166, 39, 173, 1, 125, 197, 166, 39, 173, 1,
- 121, 217, 105, 166, 39, 173, 1, 121, 216, 208, 166, 39, 173, 1, 121, 197,
- 166, 39, 173, 1, 125, 190, 166, 39, 173, 1, 125, 225, 147, 166, 39, 173,
- 1, 125, 184, 166, 39, 173, 1, 121, 190, 166, 39, 173, 1, 121, 225, 147,
- 166, 39, 173, 1, 121, 184, 166, 39, 173, 1, 125, 244, 196, 166, 39, 173,
- 1, 125, 214, 27, 166, 39, 173, 1, 125, 233, 135, 166, 39, 173, 1, 121,
- 244, 196, 166, 39, 173, 1, 121, 214, 27, 166, 39, 173, 1, 121, 233, 135,
- 166, 39, 173, 1, 125, 162, 166, 39, 173, 1, 125, 248, 221, 166, 39, 173,
- 1, 125, 252, 191, 166, 39, 173, 1, 121, 162, 166, 39, 173, 1, 121, 248,
- 221, 166, 39, 173, 1, 121, 252, 191, 166, 39, 173, 1, 125, 233, 184, 166,
- 39, 173, 1, 125, 211, 138, 166, 39, 173, 1, 121, 233, 184, 166, 39, 173,
- 1, 121, 211, 138, 166, 39, 173, 1, 125, 218, 82, 166, 39, 173, 1, 121,
- 218, 82, 166, 39, 173, 25, 5, 25, 219, 239, 166, 39, 173, 25, 5, 255, 73,
- 166, 39, 173, 25, 5, 236, 33, 166, 39, 173, 25, 5, 70, 166, 39, 173, 25,
- 5, 214, 118, 166, 39, 173, 25, 5, 75, 166, 39, 173, 25, 5, 254, 243, 166,
- 39, 173, 25, 5, 76, 166, 39, 173, 25, 5, 227, 0, 166, 39, 173, 25, 5,
- 214, 214, 166, 39, 173, 25, 5, 253, 167, 166, 39, 173, 25, 5, 255, 28,
- 166, 39, 173, 25, 5, 214, 111, 166, 39, 173, 25, 5, 226, 109, 166, 39,
- 173, 25, 5, 226, 253, 166, 39, 173, 25, 5, 214, 210, 166, 39, 173, 25, 5,
- 235, 152, 166, 39, 173, 1, 40, 214, 105, 166, 39, 173, 1, 40, 229, 79,
- 166, 39, 173, 1, 40, 230, 25, 166, 39, 173, 1, 40, 193, 166, 39, 173, 1,
- 40, 235, 23, 166, 39, 173, 1, 40, 249, 60, 166, 39, 173, 1, 40, 253, 158,
- 166, 39, 173, 138, 231, 158, 166, 39, 173, 138, 231, 157, 166, 39, 173,
+ 229, 78, 166, 39, 173, 1, 125, 215, 184, 166, 39, 173, 1, 125, 206, 166,
+ 39, 173, 1, 125, 191, 166, 39, 173, 1, 121, 215, 184, 166, 39, 173, 1,
+ 121, 206, 166, 39, 173, 1, 121, 191, 166, 39, 173, 1, 125, 217, 106, 166,
+ 39, 173, 1, 125, 216, 209, 166, 39, 173, 1, 125, 197, 166, 39, 173, 1,
+ 121, 217, 106, 166, 39, 173, 1, 121, 216, 209, 166, 39, 173, 1, 121, 197,
+ 166, 39, 173, 1, 125, 190, 166, 39, 173, 1, 125, 225, 148, 166, 39, 173,
+ 1, 125, 185, 166, 39, 173, 1, 121, 190, 166, 39, 173, 1, 121, 225, 148,
+ 166, 39, 173, 1, 121, 185, 166, 39, 173, 1, 125, 244, 197, 166, 39, 173,
+ 1, 125, 214, 27, 166, 39, 173, 1, 125, 233, 136, 166, 39, 173, 1, 121,
+ 244, 197, 166, 39, 173, 1, 121, 214, 27, 166, 39, 173, 1, 121, 233, 136,
+ 166, 39, 173, 1, 125, 162, 166, 39, 173, 1, 125, 248, 222, 166, 39, 173,
+ 1, 125, 252, 192, 166, 39, 173, 1, 121, 162, 166, 39, 173, 1, 121, 248,
+ 222, 166, 39, 173, 1, 121, 252, 192, 166, 39, 173, 1, 125, 233, 185, 166,
+ 39, 173, 1, 125, 211, 138, 166, 39, 173, 1, 121, 233, 185, 166, 39, 173,
+ 1, 121, 211, 138, 166, 39, 173, 1, 125, 218, 83, 166, 39, 173, 1, 121,
+ 218, 83, 166, 39, 173, 25, 5, 25, 219, 240, 166, 39, 173, 25, 5, 255, 74,
+ 166, 39, 173, 25, 5, 236, 34, 166, 39, 173, 25, 5, 70, 166, 39, 173, 25,
+ 5, 214, 118, 166, 39, 173, 25, 5, 75, 166, 39, 173, 25, 5, 254, 244, 166,
+ 39, 173, 25, 5, 76, 166, 39, 173, 25, 5, 227, 1, 166, 39, 173, 25, 5,
+ 214, 214, 166, 39, 173, 25, 5, 253, 168, 166, 39, 173, 25, 5, 255, 29,
+ 166, 39, 173, 25, 5, 214, 111, 166, 39, 173, 25, 5, 226, 110, 166, 39,
+ 173, 25, 5, 226, 254, 166, 39, 173, 25, 5, 214, 210, 166, 39, 173, 25, 5,
+ 235, 153, 166, 39, 173, 1, 40, 214, 105, 166, 39, 173, 1, 40, 229, 80,
+ 166, 39, 173, 1, 40, 230, 26, 166, 39, 173, 1, 40, 193, 166, 39, 173, 1,
+ 40, 235, 24, 166, 39, 173, 1, 40, 249, 61, 166, 39, 173, 1, 40, 253, 159,
+ 166, 39, 173, 138, 231, 159, 166, 39, 173, 138, 231, 158, 166, 39, 173,
21, 210, 86, 166, 39, 173, 21, 110, 166, 39, 173, 21, 105, 166, 39, 173,
21, 158, 166, 39, 173, 21, 161, 166, 39, 173, 21, 189, 166, 39, 173, 21,
194, 166, 39, 173, 21, 198, 166, 39, 173, 21, 195, 166, 39, 173, 21, 200,
- 166, 39, 173, 89, 21, 110, 166, 39, 173, 5, 233, 120, 166, 39, 173, 5,
- 233, 119, 69, 16, 225, 236, 69, 16, 230, 72, 234, 25, 69, 16, 225, 72,
- 234, 25, 69, 16, 252, 50, 234, 25, 69, 16, 251, 104, 234, 25, 69, 16,
- 224, 216, 234, 25, 69, 16, 224, 210, 234, 25, 69, 16, 224, 208, 234, 25,
- 69, 16, 224, 214, 234, 25, 69, 16, 224, 212, 234, 25, 69, 16, 248, 173,
- 234, 25, 69, 16, 248, 169, 234, 25, 69, 16, 248, 168, 234, 25, 69, 16,
- 248, 171, 234, 25, 69, 16, 248, 170, 234, 25, 69, 16, 248, 167, 234, 25,
- 69, 16, 215, 87, 69, 16, 230, 72, 222, 205, 69, 16, 225, 72, 222, 205,
- 69, 16, 252, 50, 222, 205, 69, 16, 251, 104, 222, 205, 69, 16, 224, 216,
- 222, 205, 69, 16, 224, 210, 222, 205, 69, 16, 224, 208, 222, 205, 69, 16,
- 224, 214, 222, 205, 69, 16, 224, 212, 222, 205, 69, 16, 248, 173, 222,
- 205, 69, 16, 248, 169, 222, 205, 69, 16, 248, 168, 222, 205, 69, 16, 248,
- 171, 222, 205, 69, 16, 248, 170, 222, 205, 69, 16, 248, 167, 222, 205,
- 251, 121, 1, 176, 251, 121, 1, 243, 135, 251, 121, 1, 229, 77, 251, 121,
- 1, 229, 22, 251, 121, 1, 190, 251, 121, 1, 252, 191, 251, 121, 1, 184,
- 251, 121, 1, 230, 105, 251, 121, 1, 217, 105, 251, 121, 1, 248, 221, 251,
- 121, 1, 197, 251, 121, 1, 228, 36, 251, 121, 1, 251, 33, 251, 121, 1,
- 235, 141, 251, 121, 1, 227, 165, 251, 121, 1, 227, 158, 251, 121, 1, 191,
- 251, 121, 1, 205, 251, 121, 1, 233, 135, 251, 121, 1, 214, 27, 251, 121,
- 1, 206, 251, 121, 1, 61, 251, 121, 1, 162, 251, 121, 25, 5, 73, 251, 121,
- 25, 5, 70, 251, 121, 25, 5, 75, 251, 121, 25, 5, 76, 251, 121, 25, 5,
- 254, 243, 251, 121, 226, 60, 251, 121, 245, 143, 64, 221, 172, 39, 89, 1,
- 125, 176, 39, 89, 1, 125, 234, 132, 39, 89, 1, 125, 233, 171, 39, 89, 1,
- 121, 176, 39, 89, 1, 121, 233, 171, 39, 89, 1, 121, 234, 132, 39, 89, 1,
- 229, 77, 39, 89, 1, 125, 251, 33, 39, 89, 1, 125, 250, 157, 39, 89, 1,
- 121, 251, 33, 39, 89, 1, 121, 206, 39, 89, 1, 121, 250, 157, 39, 89, 1,
- 227, 165, 39, 89, 1, 223, 140, 39, 89, 1, 125, 223, 138, 39, 89, 1, 248,
- 221, 39, 89, 1, 121, 223, 138, 39, 89, 1, 223, 149, 39, 89, 1, 125, 217,
- 105, 39, 89, 1, 125, 216, 208, 39, 89, 1, 121, 217, 105, 39, 89, 1, 121,
- 216, 208, 39, 89, 1, 197, 39, 89, 1, 252, 191, 39, 89, 1, 125, 190, 39,
- 89, 1, 125, 225, 147, 39, 89, 1, 125, 244, 196, 39, 89, 1, 121, 190, 39,
- 89, 1, 121, 244, 196, 39, 89, 1, 121, 225, 147, 39, 89, 1, 184, 39, 89,
- 1, 121, 191, 39, 89, 1, 125, 191, 39, 89, 1, 205, 39, 89, 1, 222, 137,
- 39, 89, 1, 233, 135, 39, 89, 1, 232, 93, 39, 89, 1, 212, 65, 39, 89, 1,
- 125, 220, 102, 39, 89, 1, 125, 218, 223, 39, 89, 1, 125, 206, 39, 89, 1,
- 125, 162, 39, 89, 1, 232, 184, 39, 89, 1, 61, 39, 89, 1, 121, 162, 39,
- 89, 1, 73, 39, 89, 1, 236, 33, 39, 89, 1, 70, 39, 89, 1, 214, 118, 39,
- 89, 1, 245, 209, 39, 89, 1, 226, 183, 39, 89, 1, 233, 120, 39, 89, 1,
- 242, 132, 206, 39, 89, 116, 5, 147, 205, 39, 89, 116, 5, 147, 233, 135,
- 39, 89, 116, 5, 233, 136, 217, 58, 233, 109, 39, 89, 5, 231, 204, 234,
- 231, 233, 109, 39, 89, 116, 5, 40, 229, 77, 39, 89, 116, 5, 121, 190, 39,
- 89, 116, 5, 125, 223, 139, 177, 121, 190, 39, 89, 116, 5, 184, 39, 89,
- 116, 5, 252, 191, 39, 89, 116, 5, 206, 39, 89, 5, 222, 10, 39, 89, 25, 5,
- 61, 39, 89, 25, 5, 231, 204, 221, 226, 39, 89, 25, 5, 255, 73, 39, 89,
- 25, 5, 217, 64, 255, 73, 39, 89, 25, 5, 73, 39, 89, 25, 5, 236, 33, 39,
+ 166, 39, 173, 89, 21, 110, 166, 39, 173, 5, 233, 121, 166, 39, 173, 5,
+ 233, 120, 69, 16, 225, 237, 69, 16, 230, 73, 234, 26, 69, 16, 225, 73,
+ 234, 26, 69, 16, 252, 51, 234, 26, 69, 16, 251, 105, 234, 26, 69, 16,
+ 224, 217, 234, 26, 69, 16, 224, 211, 234, 26, 69, 16, 224, 209, 234, 26,
+ 69, 16, 224, 215, 234, 26, 69, 16, 224, 213, 234, 26, 69, 16, 248, 174,
+ 234, 26, 69, 16, 248, 170, 234, 26, 69, 16, 248, 169, 234, 26, 69, 16,
+ 248, 172, 234, 26, 69, 16, 248, 171, 234, 26, 69, 16, 248, 168, 234, 26,
+ 69, 16, 215, 87, 69, 16, 230, 73, 222, 206, 69, 16, 225, 73, 222, 206,
+ 69, 16, 252, 51, 222, 206, 69, 16, 251, 105, 222, 206, 69, 16, 224, 217,
+ 222, 206, 69, 16, 224, 211, 222, 206, 69, 16, 224, 209, 222, 206, 69, 16,
+ 224, 215, 222, 206, 69, 16, 224, 213, 222, 206, 69, 16, 248, 174, 222,
+ 206, 69, 16, 248, 170, 222, 206, 69, 16, 248, 169, 222, 206, 69, 16, 248,
+ 172, 222, 206, 69, 16, 248, 171, 222, 206, 69, 16, 248, 168, 222, 206,
+ 251, 122, 1, 176, 251, 122, 1, 243, 136, 251, 122, 1, 229, 78, 251, 122,
+ 1, 229, 23, 251, 122, 1, 190, 251, 122, 1, 252, 192, 251, 122, 1, 185,
+ 251, 122, 1, 230, 106, 251, 122, 1, 217, 106, 251, 122, 1, 248, 222, 251,
+ 122, 1, 197, 251, 122, 1, 228, 37, 251, 122, 1, 251, 34, 251, 122, 1,
+ 235, 142, 251, 122, 1, 227, 166, 251, 122, 1, 227, 159, 251, 122, 1, 191,
+ 251, 122, 1, 205, 251, 122, 1, 233, 136, 251, 122, 1, 214, 27, 251, 122,
+ 1, 206, 251, 122, 1, 61, 251, 122, 1, 162, 251, 122, 25, 5, 73, 251, 122,
+ 25, 5, 70, 251, 122, 25, 5, 75, 251, 122, 25, 5, 76, 251, 122, 25, 5,
+ 254, 244, 251, 122, 226, 61, 251, 122, 245, 144, 64, 221, 173, 39, 89, 1,
+ 125, 176, 39, 89, 1, 125, 234, 133, 39, 89, 1, 125, 233, 172, 39, 89, 1,
+ 121, 176, 39, 89, 1, 121, 233, 172, 39, 89, 1, 121, 234, 133, 39, 89, 1,
+ 229, 78, 39, 89, 1, 125, 251, 34, 39, 89, 1, 125, 250, 158, 39, 89, 1,
+ 121, 251, 34, 39, 89, 1, 121, 206, 39, 89, 1, 121, 250, 158, 39, 89, 1,
+ 227, 166, 39, 89, 1, 223, 141, 39, 89, 1, 125, 223, 139, 39, 89, 1, 248,
+ 222, 39, 89, 1, 121, 223, 139, 39, 89, 1, 223, 150, 39, 89, 1, 125, 217,
+ 106, 39, 89, 1, 125, 216, 209, 39, 89, 1, 121, 217, 106, 39, 89, 1, 121,
+ 216, 209, 39, 89, 1, 197, 39, 89, 1, 252, 192, 39, 89, 1, 125, 190, 39,
+ 89, 1, 125, 225, 148, 39, 89, 1, 125, 244, 197, 39, 89, 1, 121, 190, 39,
+ 89, 1, 121, 244, 197, 39, 89, 1, 121, 225, 148, 39, 89, 1, 185, 39, 89,
+ 1, 121, 191, 39, 89, 1, 125, 191, 39, 89, 1, 205, 39, 89, 1, 222, 138,
+ 39, 89, 1, 233, 136, 39, 89, 1, 232, 94, 39, 89, 1, 212, 65, 39, 89, 1,
+ 125, 220, 103, 39, 89, 1, 125, 218, 224, 39, 89, 1, 125, 206, 39, 89, 1,
+ 125, 162, 39, 89, 1, 232, 185, 39, 89, 1, 61, 39, 89, 1, 121, 162, 39,
+ 89, 1, 73, 39, 89, 1, 236, 34, 39, 89, 1, 70, 39, 89, 1, 214, 118, 39,
+ 89, 1, 245, 210, 39, 89, 1, 226, 184, 39, 89, 1, 233, 121, 39, 89, 1,
+ 242, 133, 206, 39, 89, 116, 5, 147, 205, 39, 89, 116, 5, 147, 233, 136,
+ 39, 89, 116, 5, 233, 137, 217, 59, 233, 110, 39, 89, 5, 231, 205, 234,
+ 232, 233, 110, 39, 89, 116, 5, 40, 229, 78, 39, 89, 116, 5, 121, 190, 39,
+ 89, 116, 5, 125, 223, 140, 177, 121, 190, 39, 89, 116, 5, 185, 39, 89,
+ 116, 5, 252, 192, 39, 89, 116, 5, 206, 39, 89, 5, 222, 11, 39, 89, 25, 5,
+ 61, 39, 89, 25, 5, 231, 205, 221, 227, 39, 89, 25, 5, 255, 74, 39, 89,
+ 25, 5, 217, 65, 255, 74, 39, 89, 25, 5, 73, 39, 89, 25, 5, 236, 34, 39,
89, 25, 5, 214, 214, 39, 89, 25, 5, 214, 117, 39, 89, 25, 5, 70, 39, 89,
- 25, 5, 214, 118, 39, 89, 25, 5, 76, 39, 89, 25, 5, 227, 1, 51, 39, 89,
- 25, 5, 226, 109, 39, 89, 25, 5, 75, 39, 89, 25, 5, 254, 243, 39, 89, 25,
- 5, 226, 183, 39, 89, 25, 5, 254, 201, 39, 89, 25, 5, 89, 254, 201, 39,
- 89, 25, 5, 227, 1, 48, 39, 89, 5, 231, 204, 234, 230, 39, 89, 5, 216, 29,
- 39, 89, 5, 216, 28, 39, 89, 5, 234, 97, 216, 27, 39, 89, 5, 234, 97, 216,
- 26, 39, 89, 5, 234, 97, 216, 25, 39, 89, 5, 223, 188, 242, 45, 39, 89, 5,
- 231, 204, 221, 253, 39, 89, 5, 234, 96, 234, 215, 39, 89, 38, 249, 115,
- 247, 120, 39, 89, 241, 46, 21, 210, 86, 39, 89, 241, 46, 21, 110, 39, 89,
- 241, 46, 21, 105, 39, 89, 241, 46, 21, 158, 39, 89, 241, 46, 21, 161, 39,
- 89, 241, 46, 21, 189, 39, 89, 241, 46, 21, 194, 39, 89, 241, 46, 21, 198,
- 39, 89, 241, 46, 21, 195, 39, 89, 241, 46, 21, 200, 39, 89, 89, 21, 210,
+ 25, 5, 214, 118, 39, 89, 25, 5, 76, 39, 89, 25, 5, 227, 2, 51, 39, 89,
+ 25, 5, 226, 110, 39, 89, 25, 5, 75, 39, 89, 25, 5, 254, 244, 39, 89, 25,
+ 5, 226, 184, 39, 89, 25, 5, 254, 202, 39, 89, 25, 5, 89, 254, 202, 39,
+ 89, 25, 5, 227, 2, 48, 39, 89, 5, 231, 205, 234, 231, 39, 89, 5, 216, 30,
+ 39, 89, 5, 216, 29, 39, 89, 5, 234, 98, 216, 28, 39, 89, 5, 234, 98, 216,
+ 27, 39, 89, 5, 234, 98, 216, 26, 39, 89, 5, 223, 189, 242, 46, 39, 89, 5,
+ 231, 205, 221, 254, 39, 89, 5, 234, 97, 234, 216, 39, 89, 38, 249, 116,
+ 247, 121, 39, 89, 241, 47, 21, 210, 86, 39, 89, 241, 47, 21, 110, 39, 89,
+ 241, 47, 21, 105, 39, 89, 241, 47, 21, 158, 39, 89, 241, 47, 21, 161, 39,
+ 89, 241, 47, 21, 189, 39, 89, 241, 47, 21, 194, 39, 89, 241, 47, 21, 198,
+ 39, 89, 241, 47, 21, 195, 39, 89, 241, 47, 21, 200, 39, 89, 89, 21, 210,
86, 39, 89, 89, 21, 110, 39, 89, 89, 21, 105, 39, 89, 89, 21, 158, 39,
89, 89, 21, 161, 39, 89, 89, 21, 189, 39, 89, 89, 21, 194, 39, 89, 89,
21, 198, 39, 89, 89, 21, 195, 39, 89, 89, 21, 200, 39, 89, 5, 211, 249,
- 39, 89, 5, 211, 248, 39, 89, 5, 221, 215, 39, 89, 5, 234, 160, 39, 89, 5,
- 240, 232, 39, 89, 5, 247, 134, 39, 89, 5, 223, 49, 222, 187, 223, 149,
- 39, 89, 5, 231, 204, 211, 72, 39, 89, 5, 235, 6, 39, 89, 5, 235, 5, 39,
- 89, 5, 221, 222, 39, 89, 5, 221, 221, 39, 89, 5, 242, 9, 39, 89, 5, 251,
- 30, 102, 5, 214, 200, 223, 30, 102, 5, 214, 200, 251, 1, 102, 5, 250,
- 186, 102, 5, 218, 15, 102, 5, 251, 233, 102, 1, 254, 184, 102, 1, 254,
- 185, 217, 13, 102, 1, 236, 29, 102, 1, 236, 30, 217, 13, 102, 1, 214,
- 203, 102, 1, 214, 204, 217, 13, 102, 1, 223, 188, 223, 79, 102, 1, 223,
- 188, 223, 80, 217, 13, 102, 1, 233, 136, 233, 24, 102, 1, 233, 136, 233,
- 25, 217, 13, 102, 1, 245, 179, 102, 1, 254, 199, 102, 1, 226, 212, 102,
- 1, 226, 213, 217, 13, 102, 1, 176, 102, 1, 235, 13, 231, 207, 102, 1,
- 243, 135, 102, 1, 243, 136, 242, 161, 102, 1, 229, 77, 102, 1, 251, 33,
- 102, 1, 251, 34, 233, 123, 102, 1, 235, 141, 102, 1, 235, 142, 235, 118,
- 102, 1, 227, 165, 102, 1, 217, 106, 233, 76, 102, 1, 217, 106, 230, 67,
- 231, 207, 102, 1, 248, 222, 230, 67, 254, 145, 102, 1, 248, 222, 230, 67,
- 231, 207, 102, 1, 229, 229, 223, 152, 102, 1, 217, 105, 102, 1, 217, 106,
- 217, 35, 102, 1, 248, 221, 102, 1, 248, 222, 231, 225, 102, 1, 197, 102,
- 1, 190, 102, 1, 226, 90, 234, 226, 102, 1, 252, 191, 102, 1, 252, 192,
- 234, 172, 102, 1, 184, 102, 1, 191, 102, 1, 205, 102, 1, 233, 135, 102,
- 1, 212, 65, 102, 1, 222, 34, 222, 20, 102, 1, 222, 34, 221, 233, 102, 1,
- 206, 102, 1, 162, 102, 5, 223, 70, 102, 25, 5, 217, 13, 102, 25, 5, 214,
- 199, 102, 25, 5, 214, 200, 221, 229, 102, 25, 5, 218, 47, 102, 25, 5,
- 218, 48, 236, 21, 102, 25, 5, 223, 188, 223, 79, 102, 25, 5, 223, 188,
- 223, 80, 217, 13, 102, 25, 5, 233, 136, 233, 24, 102, 25, 5, 233, 136,
- 233, 25, 217, 13, 102, 25, 5, 217, 65, 102, 25, 5, 217, 66, 223, 79, 102,
- 25, 5, 217, 66, 217, 13, 102, 25, 5, 217, 66, 223, 80, 217, 13, 102, 25,
- 5, 225, 184, 102, 25, 5, 225, 185, 217, 13, 102, 254, 250, 254, 249, 102,
- 1, 234, 251, 221, 228, 102, 1, 234, 102, 221, 228, 102, 1, 215, 34, 221,
- 228, 102, 1, 245, 203, 221, 228, 102, 1, 214, 0, 221, 228, 102, 1, 210,
- 107, 221, 228, 102, 1, 253, 209, 221, 228, 102, 21, 210, 86, 102, 21,
+ 39, 89, 5, 211, 248, 39, 89, 5, 221, 216, 39, 89, 5, 234, 161, 39, 89, 5,
+ 240, 233, 39, 89, 5, 247, 135, 39, 89, 5, 223, 50, 222, 188, 223, 150,
+ 39, 89, 5, 231, 205, 211, 72, 39, 89, 5, 235, 7, 39, 89, 5, 235, 6, 39,
+ 89, 5, 221, 223, 39, 89, 5, 221, 222, 39, 89, 5, 242, 10, 39, 89, 5, 251,
+ 31, 102, 5, 214, 200, 223, 31, 102, 5, 214, 200, 251, 2, 102, 5, 250,
+ 187, 102, 5, 218, 16, 102, 5, 251, 234, 102, 1, 254, 185, 102, 1, 254,
+ 186, 217, 14, 102, 1, 236, 30, 102, 1, 236, 31, 217, 14, 102, 1, 214,
+ 203, 102, 1, 214, 204, 217, 14, 102, 1, 223, 189, 223, 80, 102, 1, 223,
+ 189, 223, 81, 217, 14, 102, 1, 233, 137, 233, 25, 102, 1, 233, 137, 233,
+ 26, 217, 14, 102, 1, 245, 180, 102, 1, 254, 200, 102, 1, 226, 213, 102,
+ 1, 226, 214, 217, 14, 102, 1, 176, 102, 1, 235, 14, 231, 208, 102, 1,
+ 243, 136, 102, 1, 243, 137, 242, 162, 102, 1, 229, 78, 102, 1, 251, 34,
+ 102, 1, 251, 35, 233, 124, 102, 1, 235, 142, 102, 1, 235, 143, 235, 119,
+ 102, 1, 227, 166, 102, 1, 217, 107, 233, 77, 102, 1, 217, 107, 230, 68,
+ 231, 208, 102, 1, 248, 223, 230, 68, 254, 146, 102, 1, 248, 223, 230, 68,
+ 231, 208, 102, 1, 229, 230, 223, 153, 102, 1, 217, 106, 102, 1, 217, 107,
+ 217, 36, 102, 1, 248, 222, 102, 1, 248, 223, 231, 226, 102, 1, 197, 102,
+ 1, 190, 102, 1, 226, 91, 234, 227, 102, 1, 252, 192, 102, 1, 252, 193,
+ 234, 173, 102, 1, 185, 102, 1, 191, 102, 1, 205, 102, 1, 233, 136, 102,
+ 1, 212, 65, 102, 1, 222, 35, 222, 21, 102, 1, 222, 35, 221, 234, 102, 1,
+ 206, 102, 1, 162, 102, 5, 223, 71, 102, 25, 5, 217, 14, 102, 25, 5, 214,
+ 199, 102, 25, 5, 214, 200, 221, 230, 102, 25, 5, 218, 48, 102, 25, 5,
+ 218, 49, 236, 22, 102, 25, 5, 223, 189, 223, 80, 102, 25, 5, 223, 189,
+ 223, 81, 217, 14, 102, 25, 5, 233, 137, 233, 25, 102, 25, 5, 233, 137,
+ 233, 26, 217, 14, 102, 25, 5, 217, 66, 102, 25, 5, 217, 67, 223, 80, 102,
+ 25, 5, 217, 67, 217, 14, 102, 25, 5, 217, 67, 223, 81, 217, 14, 102, 25,
+ 5, 225, 185, 102, 25, 5, 225, 186, 217, 14, 102, 254, 251, 254, 250, 102,
+ 1, 234, 252, 221, 229, 102, 1, 234, 103, 221, 229, 102, 1, 215, 34, 221,
+ 229, 102, 1, 245, 204, 221, 229, 102, 1, 214, 0, 221, 229, 102, 1, 210,
+ 107, 221, 229, 102, 1, 253, 210, 221, 229, 102, 21, 210, 86, 102, 21,
110, 102, 21, 105, 102, 21, 158, 102, 21, 161, 102, 21, 189, 102, 21,
- 194, 102, 21, 198, 102, 21, 195, 102, 21, 200, 102, 226, 29, 102, 226,
- 55, 102, 211, 238, 102, 250, 236, 226, 48, 102, 250, 236, 219, 172, 102,
- 250, 236, 226, 2, 102, 226, 54, 102, 28, 16, 247, 126, 102, 28, 16, 248,
- 51, 102, 28, 16, 246, 64, 102, 28, 16, 248, 176, 102, 28, 16, 248, 177,
- 218, 15, 102, 28, 16, 247, 205, 102, 28, 16, 248, 214, 102, 28, 16, 248,
- 33, 102, 28, 16, 248, 198, 102, 28, 16, 248, 177, 243, 57, 102, 28, 16,
- 38, 217, 9, 102, 28, 16, 38, 245, 141, 102, 28, 16, 38, 234, 167, 102,
- 28, 16, 38, 234, 169, 102, 28, 16, 38, 235, 122, 102, 28, 16, 38, 234,
- 168, 2, 235, 122, 102, 28, 16, 38, 234, 170, 2, 235, 122, 102, 28, 16,
- 38, 252, 37, 102, 28, 16, 38, 242, 165, 102, 28, 16, 222, 249, 204, 246,
- 74, 102, 28, 16, 222, 249, 204, 248, 212, 102, 28, 16, 222, 249, 250, 0,
- 215, 111, 102, 28, 16, 222, 249, 250, 0, 217, 73, 102, 28, 16, 233, 44,
- 204, 226, 43, 102, 28, 16, 233, 44, 204, 224, 139, 102, 28, 16, 233, 44,
- 250, 0, 225, 38, 102, 28, 16, 233, 44, 250, 0, 225, 26, 102, 28, 16, 233,
- 44, 204, 225, 61, 207, 5, 226, 26, 207, 5, 226, 39, 207, 5, 226, 35, 207,
- 1, 61, 207, 1, 73, 207, 1, 70, 207, 1, 254, 243, 207, 1, 76, 207, 1, 75,
- 207, 1, 245, 55, 207, 1, 176, 207, 1, 224, 88, 207, 1, 243, 135, 207, 1,
- 229, 77, 207, 1, 251, 33, 207, 1, 235, 141, 207, 1, 210, 116, 207, 1,
- 227, 165, 207, 1, 217, 105, 207, 1, 248, 221, 207, 1, 197, 207, 1, 190,
- 207, 1, 244, 196, 207, 1, 214, 27, 207, 1, 252, 191, 207, 1, 184, 207, 1,
- 191, 207, 1, 205, 207, 1, 233, 135, 207, 1, 212, 65, 207, 1, 206, 207, 1,
- 211, 165, 207, 1, 162, 207, 116, 5, 226, 52, 207, 116, 5, 226, 28, 207,
- 116, 5, 226, 25, 207, 25, 5, 226, 42, 207, 25, 5, 226, 24, 207, 25, 5,
- 226, 46, 207, 25, 5, 226, 34, 207, 25, 5, 226, 53, 207, 25, 5, 226, 44,
- 207, 5, 226, 56, 207, 5, 213, 152, 207, 116, 5, 225, 248, 184, 207, 116,
- 5, 225, 248, 212, 65, 207, 1, 234, 132, 207, 1, 217, 231, 207, 21, 210,
+ 194, 102, 21, 198, 102, 21, 195, 102, 21, 200, 102, 226, 30, 102, 226,
+ 56, 102, 211, 238, 102, 250, 237, 226, 49, 102, 250, 237, 219, 173, 102,
+ 250, 237, 226, 3, 102, 226, 55, 102, 28, 16, 247, 127, 102, 28, 16, 248,
+ 52, 102, 28, 16, 246, 65, 102, 28, 16, 248, 177, 102, 28, 16, 248, 178,
+ 218, 16, 102, 28, 16, 247, 206, 102, 28, 16, 248, 215, 102, 28, 16, 248,
+ 34, 102, 28, 16, 248, 199, 102, 28, 16, 248, 178, 243, 58, 102, 28, 16,
+ 38, 217, 10, 102, 28, 16, 38, 245, 142, 102, 28, 16, 38, 234, 168, 102,
+ 28, 16, 38, 234, 170, 102, 28, 16, 38, 235, 123, 102, 28, 16, 38, 234,
+ 169, 2, 235, 123, 102, 28, 16, 38, 234, 171, 2, 235, 123, 102, 28, 16,
+ 38, 252, 38, 102, 28, 16, 38, 242, 166, 102, 28, 16, 222, 250, 204, 246,
+ 75, 102, 28, 16, 222, 250, 204, 248, 213, 102, 28, 16, 222, 250, 250, 1,
+ 215, 112, 102, 28, 16, 222, 250, 250, 1, 217, 74, 102, 28, 16, 233, 45,
+ 204, 226, 44, 102, 28, 16, 233, 45, 204, 224, 140, 102, 28, 16, 233, 45,
+ 250, 1, 225, 39, 102, 28, 16, 233, 45, 250, 1, 225, 27, 102, 28, 16, 233,
+ 45, 204, 225, 62, 207, 5, 226, 27, 207, 5, 226, 40, 207, 5, 226, 36, 207,
+ 1, 61, 207, 1, 73, 207, 1, 70, 207, 1, 254, 244, 207, 1, 76, 207, 1, 75,
+ 207, 1, 245, 56, 207, 1, 176, 207, 1, 224, 89, 207, 1, 243, 136, 207, 1,
+ 229, 78, 207, 1, 251, 34, 207, 1, 235, 142, 207, 1, 210, 116, 207, 1,
+ 227, 166, 207, 1, 217, 106, 207, 1, 248, 222, 207, 1, 197, 207, 1, 190,
+ 207, 1, 244, 197, 207, 1, 214, 27, 207, 1, 252, 192, 207, 1, 185, 207, 1,
+ 191, 207, 1, 205, 207, 1, 233, 136, 207, 1, 212, 65, 207, 1, 206, 207, 1,
+ 211, 165, 207, 1, 162, 207, 116, 5, 226, 53, 207, 116, 5, 226, 29, 207,
+ 116, 5, 226, 26, 207, 25, 5, 226, 43, 207, 25, 5, 226, 25, 207, 25, 5,
+ 226, 47, 207, 25, 5, 226, 35, 207, 25, 5, 226, 54, 207, 25, 5, 226, 45,
+ 207, 5, 226, 57, 207, 5, 213, 152, 207, 116, 5, 225, 249, 185, 207, 116,
+ 5, 225, 249, 212, 65, 207, 1, 234, 133, 207, 1, 217, 232, 207, 21, 210,
86, 207, 21, 110, 207, 21, 105, 207, 21, 158, 207, 21, 161, 207, 21, 189,
- 207, 21, 194, 207, 21, 198, 207, 21, 195, 207, 21, 200, 207, 253, 175,
- 207, 1, 223, 52, 207, 1, 233, 7, 207, 1, 252, 18, 207, 1, 40, 235, 23,
- 207, 1, 40, 193, 252, 120, 1, 61, 252, 120, 1, 219, 164, 61, 252, 120, 1,
- 162, 252, 120, 1, 219, 164, 162, 252, 120, 1, 231, 181, 162, 252, 120, 1,
- 252, 191, 252, 120, 1, 234, 212, 252, 191, 252, 120, 1, 190, 252, 120, 1,
- 219, 164, 190, 252, 120, 1, 197, 252, 120, 1, 231, 181, 197, 252, 120, 1,
- 212, 65, 252, 120, 1, 219, 164, 212, 65, 252, 120, 1, 226, 67, 212, 65,
- 252, 120, 1, 243, 135, 252, 120, 1, 219, 164, 243, 135, 252, 120, 1, 235,
- 141, 252, 120, 1, 248, 221, 252, 120, 1, 205, 252, 120, 1, 219, 164, 205,
- 252, 120, 1, 184, 252, 120, 1, 219, 164, 184, 252, 120, 1, 219, 26, 217,
- 105, 252, 120, 1, 228, 55, 217, 105, 252, 120, 1, 206, 252, 120, 1, 219,
- 164, 206, 252, 120, 1, 231, 181, 206, 252, 120, 1, 191, 252, 120, 1, 219,
- 164, 191, 252, 120, 1, 229, 77, 252, 120, 1, 233, 135, 252, 120, 1, 219,
- 164, 233, 135, 252, 120, 1, 227, 165, 252, 120, 1, 251, 33, 252, 120, 1,
- 229, 148, 252, 120, 1, 231, 124, 252, 120, 1, 73, 252, 120, 1, 70, 252,
- 120, 5, 216, 33, 252, 120, 25, 5, 75, 252, 120, 25, 5, 226, 67, 75, 252,
- 120, 25, 5, 245, 209, 252, 120, 25, 5, 73, 252, 120, 25, 5, 234, 212, 73,
- 252, 120, 25, 5, 76, 252, 120, 25, 5, 234, 212, 76, 252, 120, 25, 5, 70,
- 252, 120, 25, 5, 104, 31, 219, 164, 206, 252, 120, 116, 5, 229, 79, 252,
- 120, 116, 5, 242, 60, 252, 120, 226, 37, 252, 120, 226, 33, 252, 120, 16,
- 251, 241, 229, 229, 231, 37, 252, 120, 16, 251, 241, 225, 64, 252, 120,
- 16, 251, 241, 235, 48, 252, 120, 16, 251, 241, 226, 37, 196, 1, 176, 196,
- 1, 234, 39, 196, 1, 234, 132, 196, 1, 243, 135, 196, 1, 242, 186, 196, 1,
- 229, 77, 196, 1, 251, 33, 196, 1, 250, 157, 196, 1, 235, 141, 196, 1,
- 227, 165, 196, 1, 217, 105, 196, 1, 216, 208, 196, 1, 248, 221, 196, 1,
- 197, 196, 1, 190, 196, 1, 225, 42, 196, 1, 225, 147, 196, 1, 244, 196,
- 196, 1, 244, 75, 196, 1, 252, 191, 196, 1, 251, 222, 196, 1, 184, 196, 1,
- 230, 168, 196, 1, 215, 183, 196, 1, 215, 175, 196, 1, 246, 38, 196, 1,
- 191, 196, 1, 205, 196, 1, 233, 135, 196, 1, 162, 196, 1, 241, 153, 196,
- 1, 214, 27, 196, 1, 206, 196, 1, 220, 102, 196, 1, 212, 65, 196, 1, 61,
- 196, 218, 73, 1, 191, 196, 218, 73, 1, 205, 196, 25, 5, 255, 73, 196, 25,
- 5, 73, 196, 25, 5, 76, 196, 25, 5, 226, 183, 196, 25, 5, 70, 196, 25, 5,
- 214, 118, 196, 25, 5, 75, 196, 116, 5, 235, 23, 196, 116, 5, 193, 196,
- 116, 5, 156, 196, 116, 5, 230, 25, 196, 116, 5, 226, 105, 196, 116, 5,
- 153, 196, 116, 5, 217, 152, 196, 116, 5, 227, 142, 196, 116, 5, 234, 230,
- 196, 5, 223, 150, 196, 5, 227, 205, 196, 224, 141, 217, 103, 196, 224,
- 141, 227, 152, 216, 120, 217, 103, 196, 224, 141, 250, 164, 196, 224,
- 141, 215, 170, 250, 164, 196, 224, 141, 215, 169, 196, 21, 210, 86, 196,
+ 207, 21, 194, 207, 21, 198, 207, 21, 195, 207, 21, 200, 207, 253, 176,
+ 207, 1, 223, 53, 207, 1, 233, 8, 207, 1, 252, 19, 207, 1, 40, 235, 24,
+ 207, 1, 40, 193, 252, 121, 1, 61, 252, 121, 1, 219, 165, 61, 252, 121, 1,
+ 162, 252, 121, 1, 219, 165, 162, 252, 121, 1, 231, 182, 162, 252, 121, 1,
+ 252, 192, 252, 121, 1, 234, 213, 252, 192, 252, 121, 1, 190, 252, 121, 1,
+ 219, 165, 190, 252, 121, 1, 197, 252, 121, 1, 231, 182, 197, 252, 121, 1,
+ 212, 65, 252, 121, 1, 219, 165, 212, 65, 252, 121, 1, 226, 68, 212, 65,
+ 252, 121, 1, 243, 136, 252, 121, 1, 219, 165, 243, 136, 252, 121, 1, 235,
+ 142, 252, 121, 1, 248, 222, 252, 121, 1, 205, 252, 121, 1, 219, 165, 205,
+ 252, 121, 1, 185, 252, 121, 1, 219, 165, 185, 252, 121, 1, 219, 27, 217,
+ 106, 252, 121, 1, 228, 56, 217, 106, 252, 121, 1, 206, 252, 121, 1, 219,
+ 165, 206, 252, 121, 1, 231, 182, 206, 252, 121, 1, 191, 252, 121, 1, 219,
+ 165, 191, 252, 121, 1, 229, 78, 252, 121, 1, 233, 136, 252, 121, 1, 219,
+ 165, 233, 136, 252, 121, 1, 227, 166, 252, 121, 1, 251, 34, 252, 121, 1,
+ 229, 149, 252, 121, 1, 231, 125, 252, 121, 1, 73, 252, 121, 1, 70, 252,
+ 121, 5, 216, 34, 252, 121, 25, 5, 75, 252, 121, 25, 5, 226, 68, 75, 252,
+ 121, 25, 5, 245, 210, 252, 121, 25, 5, 73, 252, 121, 25, 5, 234, 213, 73,
+ 252, 121, 25, 5, 76, 252, 121, 25, 5, 234, 213, 76, 252, 121, 25, 5, 70,
+ 252, 121, 25, 5, 104, 31, 219, 165, 206, 252, 121, 116, 5, 229, 80, 252,
+ 121, 116, 5, 242, 61, 252, 121, 226, 38, 252, 121, 226, 34, 252, 121, 16,
+ 251, 242, 229, 230, 231, 38, 252, 121, 16, 251, 242, 225, 65, 252, 121,
+ 16, 251, 242, 235, 49, 252, 121, 16, 251, 242, 226, 38, 196, 1, 176, 196,
+ 1, 234, 40, 196, 1, 234, 133, 196, 1, 243, 136, 196, 1, 242, 187, 196, 1,
+ 229, 78, 196, 1, 251, 34, 196, 1, 250, 158, 196, 1, 235, 142, 196, 1,
+ 227, 166, 196, 1, 217, 106, 196, 1, 216, 209, 196, 1, 248, 222, 196, 1,
+ 197, 196, 1, 190, 196, 1, 225, 43, 196, 1, 225, 148, 196, 1, 244, 197,
+ 196, 1, 244, 76, 196, 1, 252, 192, 196, 1, 251, 223, 196, 1, 185, 196, 1,
+ 230, 169, 196, 1, 215, 184, 196, 1, 215, 176, 196, 1, 246, 39, 196, 1,
+ 191, 196, 1, 205, 196, 1, 233, 136, 196, 1, 162, 196, 1, 241, 154, 196,
+ 1, 214, 27, 196, 1, 206, 196, 1, 220, 103, 196, 1, 212, 65, 196, 1, 61,
+ 196, 218, 74, 1, 191, 196, 218, 74, 1, 205, 196, 25, 5, 255, 74, 196, 25,
+ 5, 73, 196, 25, 5, 76, 196, 25, 5, 226, 184, 196, 25, 5, 70, 196, 25, 5,
+ 214, 118, 196, 25, 5, 75, 196, 116, 5, 235, 24, 196, 116, 5, 193, 196,
+ 116, 5, 156, 196, 116, 5, 230, 26, 196, 116, 5, 226, 106, 196, 116, 5,
+ 153, 196, 116, 5, 217, 153, 196, 116, 5, 227, 143, 196, 116, 5, 234, 231,
+ 196, 5, 223, 151, 196, 5, 227, 206, 196, 224, 142, 217, 104, 196, 224,
+ 142, 227, 153, 216, 121, 217, 104, 196, 224, 142, 250, 165, 196, 224,
+ 142, 215, 171, 250, 165, 196, 224, 142, 215, 170, 196, 21, 210, 86, 196,
21, 110, 196, 21, 105, 196, 21, 158, 196, 21, 161, 196, 21, 189, 196, 21,
- 194, 196, 21, 198, 196, 21, 195, 196, 21, 200, 196, 1, 215, 156, 196, 1,
- 215, 144, 196, 1, 248, 135, 226, 210, 250, 103, 21, 210, 86, 226, 210,
- 250, 103, 21, 110, 226, 210, 250, 103, 21, 105, 226, 210, 250, 103, 21,
- 158, 226, 210, 250, 103, 21, 161, 226, 210, 250, 103, 21, 189, 226, 210,
- 250, 103, 21, 194, 226, 210, 250, 103, 21, 198, 226, 210, 250, 103, 21,
- 195, 226, 210, 250, 103, 21, 200, 226, 210, 250, 103, 1, 233, 135, 226,
- 210, 250, 103, 1, 253, 206, 226, 210, 250, 103, 1, 254, 216, 226, 210,
- 250, 103, 1, 254, 115, 226, 210, 250, 103, 1, 254, 178, 226, 210, 250,
- 103, 1, 233, 134, 226, 210, 250, 103, 1, 255, 35, 226, 210, 250, 103, 1,
- 255, 36, 226, 210, 250, 103, 1, 255, 34, 226, 210, 250, 103, 1, 255, 29,
- 226, 210, 250, 103, 1, 232, 241, 226, 210, 250, 103, 1, 235, 171, 226,
- 210, 250, 103, 1, 236, 34, 226, 210, 250, 103, 1, 235, 190, 226, 210,
- 250, 103, 1, 235, 179, 226, 210, 250, 103, 1, 232, 98, 226, 210, 250,
- 103, 1, 214, 221, 226, 210, 250, 103, 1, 214, 219, 226, 210, 250, 103, 1,
- 214, 168, 226, 210, 250, 103, 1, 214, 111, 226, 210, 250, 103, 1, 233,
- 58, 226, 210, 250, 103, 1, 245, 108, 226, 210, 250, 103, 1, 245, 212,
- 226, 210, 250, 103, 1, 245, 150, 226, 210, 250, 103, 1, 245, 86, 226,
- 210, 250, 103, 1, 232, 156, 226, 210, 250, 103, 1, 226, 137, 226, 210,
- 250, 103, 1, 226, 252, 226, 210, 250, 103, 1, 226, 125, 226, 210, 250,
- 103, 1, 226, 222, 226, 210, 250, 103, 230, 103, 215, 121, 226, 210, 250,
- 103, 243, 130, 215, 122, 226, 210, 250, 103, 230, 101, 215, 122, 226,
- 210, 250, 103, 223, 92, 226, 210, 250, 103, 225, 145, 226, 210, 250, 103,
- 254, 208, 226, 210, 250, 103, 224, 141, 230, 98, 226, 210, 250, 103, 224,
- 141, 52, 230, 98, 207, 224, 141, 251, 241, 218, 8, 207, 224, 141, 251,
- 241, 226, 38, 207, 224, 141, 251, 241, 224, 129, 207, 224, 141, 251, 241,
- 251, 19, 207, 224, 141, 251, 241, 233, 8, 221, 225, 207, 224, 141, 251,
- 241, 235, 13, 221, 225, 207, 224, 141, 251, 241, 248, 222, 221, 225, 207,
- 224, 141, 251, 241, 252, 192, 221, 225, 213, 252, 138, 234, 210, 213,
- 252, 138, 220, 77, 213, 252, 138, 224, 198, 213, 252, 5, 228, 209, 213,
- 252, 5, 211, 80, 230, 222, 218, 0, 213, 252, 138, 211, 80, 254, 213, 235,
- 243, 218, 0, 213, 252, 138, 211, 80, 235, 243, 218, 0, 213, 252, 138,
- 211, 80, 234, 198, 235, 243, 218, 0, 213, 252, 138, 251, 2, 51, 213, 252,
- 138, 211, 80, 234, 198, 235, 243, 218, 1, 221, 197, 213, 252, 138, 52,
- 218, 0, 213, 252, 138, 215, 211, 218, 0, 213, 252, 138, 234, 198, 254,
- 77, 213, 252, 138, 59, 51, 213, 252, 138, 113, 170, 51, 213, 252, 138,
- 134, 170, 51, 213, 252, 138, 222, 240, 234, 209, 235, 243, 218, 0, 213,
- 252, 138, 253, 204, 235, 243, 218, 0, 213, 252, 5, 213, 148, 218, 0, 213,
- 252, 5, 213, 148, 214, 216, 213, 252, 5, 223, 49, 213, 148, 214, 216,
- 213, 252, 5, 213, 148, 254, 77, 213, 252, 5, 223, 49, 213, 148, 254, 77,
- 213, 252, 5, 213, 148, 214, 217, 2, 217, 77, 213, 252, 5, 213, 148, 254,
- 78, 2, 217, 77, 213, 252, 5, 254, 76, 254, 91, 213, 252, 5, 254, 76, 252,
- 166, 213, 252, 5, 254, 76, 214, 20, 213, 252, 5, 254, 76, 214, 21, 2,
- 217, 77, 213, 252, 5, 216, 68, 213, 252, 5, 241, 191, 199, 254, 75, 213,
- 252, 5, 199, 254, 75, 213, 252, 5, 222, 142, 199, 254, 75, 213, 252, 5,
- 254, 76, 214, 223, 230, 90, 213, 252, 5, 254, 20, 213, 252, 5, 222, 187,
- 254, 20, 213, 252, 138, 251, 2, 48, 213, 252, 5, 235, 102, 213, 252, 5,
- 214, 161, 7, 1, 4, 6, 61, 7, 1, 4, 6, 254, 243, 7, 4, 1, 215, 94, 254,
- 243, 7, 1, 4, 6, 252, 134, 253, 158, 7, 1, 4, 6, 251, 66, 7, 1, 4, 6,
- 249, 60, 7, 1, 4, 6, 245, 59, 7, 1, 4, 6, 75, 7, 4, 1, 215, 94, 204, 75,
- 7, 4, 1, 215, 94, 73, 7, 1, 4, 6, 235, 144, 7, 1, 4, 6, 235, 23, 7, 1, 4,
- 6, 233, 149, 2, 91, 7, 1, 4, 6, 193, 7, 1, 4, 6, 223, 49, 230, 25, 7, 1,
- 4, 6, 76, 7, 1, 4, 6, 204, 76, 7, 4, 1, 219, 187, 76, 7, 4, 1, 219, 187,
- 204, 76, 7, 4, 1, 219, 187, 144, 2, 91, 7, 4, 1, 215, 94, 226, 234, 7, 1,
- 4, 6, 226, 134, 7, 4, 1, 216, 14, 163, 76, 7, 4, 1, 251, 175, 163, 76, 7,
- 1, 4, 6, 226, 105, 7, 1, 4, 6, 223, 49, 153, 7, 1, 4, 6, 215, 94, 153, 7,
- 1, 4, 6, 217, 152, 7, 1, 4, 6, 70, 7, 4, 1, 219, 187, 70, 7, 4, 1, 219,
- 187, 248, 0, 70, 7, 4, 1, 219, 187, 215, 94, 193, 7, 1, 4, 6, 214, 105,
- 7, 1, 4, 6, 212, 98, 7, 1, 4, 6, 210, 159, 7, 1, 4, 6, 245, 8, 7, 1, 213,
- 135, 233, 82, 218, 250, 7, 1, 254, 196, 26, 1, 4, 6, 243, 107, 26, 1, 4,
- 6, 233, 98, 26, 1, 4, 6, 225, 108, 26, 1, 4, 6, 223, 37, 26, 1, 4, 6,
- 224, 161, 33, 1, 4, 6, 245, 174, 58, 1, 6, 61, 58, 1, 6, 254, 243, 58, 1,
- 6, 253, 158, 58, 1, 6, 252, 134, 253, 158, 58, 1, 6, 249, 60, 58, 1, 6,
- 75, 58, 1, 6, 223, 49, 75, 58, 1, 6, 243, 202, 58, 1, 6, 242, 60, 58, 1,
- 6, 73, 58, 1, 6, 235, 144, 58, 1, 6, 235, 23, 58, 1, 6, 156, 58, 1, 6,
- 193, 58, 1, 6, 230, 25, 58, 1, 6, 223, 49, 230, 25, 58, 1, 6, 76, 58, 1,
- 6, 226, 134, 58, 1, 6, 226, 105, 58, 1, 6, 153, 58, 1, 6, 217, 152, 58,
+ 194, 196, 21, 198, 196, 21, 195, 196, 21, 200, 196, 1, 215, 157, 196, 1,
+ 215, 145, 196, 1, 248, 136, 226, 211, 250, 104, 21, 210, 86, 226, 211,
+ 250, 104, 21, 110, 226, 211, 250, 104, 21, 105, 226, 211, 250, 104, 21,
+ 158, 226, 211, 250, 104, 21, 161, 226, 211, 250, 104, 21, 189, 226, 211,
+ 250, 104, 21, 194, 226, 211, 250, 104, 21, 198, 226, 211, 250, 104, 21,
+ 195, 226, 211, 250, 104, 21, 200, 226, 211, 250, 104, 1, 233, 136, 226,
+ 211, 250, 104, 1, 253, 207, 226, 211, 250, 104, 1, 254, 217, 226, 211,
+ 250, 104, 1, 254, 116, 226, 211, 250, 104, 1, 254, 179, 226, 211, 250,
+ 104, 1, 233, 135, 226, 211, 250, 104, 1, 255, 36, 226, 211, 250, 104, 1,
+ 255, 37, 226, 211, 250, 104, 1, 255, 35, 226, 211, 250, 104, 1, 255, 30,
+ 226, 211, 250, 104, 1, 232, 242, 226, 211, 250, 104, 1, 235, 172, 226,
+ 211, 250, 104, 1, 236, 35, 226, 211, 250, 104, 1, 235, 191, 226, 211,
+ 250, 104, 1, 235, 180, 226, 211, 250, 104, 1, 232, 99, 226, 211, 250,
+ 104, 1, 214, 221, 226, 211, 250, 104, 1, 214, 219, 226, 211, 250, 104, 1,
+ 214, 168, 226, 211, 250, 104, 1, 214, 111, 226, 211, 250, 104, 1, 233,
+ 59, 226, 211, 250, 104, 1, 245, 109, 226, 211, 250, 104, 1, 245, 213,
+ 226, 211, 250, 104, 1, 245, 151, 226, 211, 250, 104, 1, 245, 87, 226,
+ 211, 250, 104, 1, 232, 157, 226, 211, 250, 104, 1, 226, 138, 226, 211,
+ 250, 104, 1, 226, 253, 226, 211, 250, 104, 1, 226, 126, 226, 211, 250,
+ 104, 1, 226, 223, 226, 211, 250, 104, 230, 104, 215, 122, 226, 211, 250,
+ 104, 243, 131, 215, 123, 226, 211, 250, 104, 230, 102, 215, 123, 226,
+ 211, 250, 104, 223, 93, 226, 211, 250, 104, 225, 146, 226, 211, 250, 104,
+ 254, 209, 226, 211, 250, 104, 224, 142, 230, 99, 226, 211, 250, 104, 224,
+ 142, 52, 230, 99, 207, 224, 142, 251, 242, 218, 9, 207, 224, 142, 251,
+ 242, 226, 39, 207, 224, 142, 251, 242, 224, 130, 207, 224, 142, 251, 242,
+ 251, 20, 207, 224, 142, 251, 242, 233, 9, 221, 226, 207, 224, 142, 251,
+ 242, 235, 14, 221, 226, 207, 224, 142, 251, 242, 248, 223, 221, 226, 207,
+ 224, 142, 251, 242, 252, 193, 221, 226, 213, 252, 138, 234, 211, 213,
+ 252, 138, 220, 78, 213, 252, 138, 224, 199, 213, 252, 5, 228, 210, 213,
+ 252, 5, 211, 80, 230, 223, 218, 1, 213, 252, 138, 211, 80, 254, 214, 235,
+ 244, 218, 1, 213, 252, 138, 211, 80, 235, 244, 218, 1, 213, 252, 138,
+ 211, 80, 234, 199, 235, 244, 218, 1, 213, 252, 138, 251, 3, 51, 213, 252,
+ 138, 211, 80, 234, 199, 235, 244, 218, 2, 221, 198, 213, 252, 138, 52,
+ 218, 1, 213, 252, 138, 215, 212, 218, 1, 213, 252, 138, 234, 199, 254,
+ 78, 213, 252, 138, 59, 51, 213, 252, 138, 113, 170, 51, 213, 252, 138,
+ 134, 170, 51, 213, 252, 138, 222, 241, 234, 210, 235, 244, 218, 1, 213,
+ 252, 138, 253, 205, 235, 244, 218, 1, 213, 252, 5, 213, 148, 218, 1, 213,
+ 252, 5, 213, 148, 214, 216, 213, 252, 5, 223, 50, 213, 148, 214, 216,
+ 213, 252, 5, 213, 148, 254, 78, 213, 252, 5, 223, 50, 213, 148, 254, 78,
+ 213, 252, 5, 213, 148, 214, 217, 2, 217, 78, 213, 252, 5, 213, 148, 254,
+ 79, 2, 217, 78, 213, 252, 5, 254, 77, 254, 92, 213, 252, 5, 254, 77, 252,
+ 167, 213, 252, 5, 254, 77, 214, 20, 213, 252, 5, 254, 77, 214, 21, 2,
+ 217, 78, 213, 252, 5, 216, 69, 213, 252, 5, 241, 192, 199, 254, 76, 213,
+ 252, 5, 199, 254, 76, 213, 252, 5, 222, 143, 199, 254, 76, 213, 252, 5,
+ 254, 77, 214, 223, 230, 91, 213, 252, 5, 254, 21, 213, 252, 5, 222, 188,
+ 254, 21, 213, 252, 138, 251, 3, 48, 213, 252, 5, 235, 103, 213, 252, 5,
+ 214, 161, 7, 1, 4, 6, 61, 7, 1, 4, 6, 254, 244, 7, 4, 1, 215, 94, 254,
+ 244, 7, 1, 4, 6, 252, 135, 253, 159, 7, 1, 4, 6, 251, 67, 7, 1, 4, 6,
+ 249, 61, 7, 1, 4, 6, 245, 60, 7, 1, 4, 6, 75, 7, 4, 1, 215, 94, 204, 75,
+ 7, 4, 1, 215, 94, 73, 7, 1, 4, 6, 235, 145, 7, 1, 4, 6, 235, 24, 7, 1, 4,
+ 6, 233, 150, 2, 91, 7, 1, 4, 6, 193, 7, 1, 4, 6, 223, 50, 230, 26, 7, 1,
+ 4, 6, 76, 7, 1, 4, 6, 204, 76, 7, 4, 1, 219, 188, 76, 7, 4, 1, 219, 188,
+ 204, 76, 7, 4, 1, 219, 188, 144, 2, 91, 7, 4, 1, 215, 94, 226, 235, 7, 1,
+ 4, 6, 226, 135, 7, 4, 1, 216, 15, 163, 76, 7, 4, 1, 251, 176, 163, 76, 7,
+ 1, 4, 6, 226, 106, 7, 1, 4, 6, 223, 50, 153, 7, 1, 4, 6, 215, 94, 153, 7,
+ 1, 4, 6, 217, 153, 7, 1, 4, 6, 70, 7, 4, 1, 219, 188, 70, 7, 4, 1, 219,
+ 188, 248, 1, 70, 7, 4, 1, 219, 188, 215, 94, 193, 7, 1, 4, 6, 214, 105,
+ 7, 1, 4, 6, 212, 98, 7, 1, 4, 6, 210, 159, 7, 1, 4, 6, 245, 9, 7, 1, 213,
+ 135, 233, 83, 218, 251, 7, 1, 254, 197, 26, 1, 4, 6, 243, 108, 26, 1, 4,
+ 6, 233, 99, 26, 1, 4, 6, 225, 109, 26, 1, 4, 6, 223, 38, 26, 1, 4, 6,
+ 224, 162, 33, 1, 4, 6, 245, 175, 58, 1, 6, 61, 58, 1, 6, 254, 244, 58, 1,
+ 6, 253, 159, 58, 1, 6, 252, 135, 253, 159, 58, 1, 6, 249, 61, 58, 1, 6,
+ 75, 58, 1, 6, 223, 50, 75, 58, 1, 6, 243, 203, 58, 1, 6, 242, 61, 58, 1,
+ 6, 73, 58, 1, 6, 235, 145, 58, 1, 6, 235, 24, 58, 1, 6, 156, 58, 1, 6,
+ 193, 58, 1, 6, 230, 26, 58, 1, 6, 223, 50, 230, 26, 58, 1, 6, 76, 58, 1,
+ 6, 226, 135, 58, 1, 6, 226, 106, 58, 1, 6, 153, 58, 1, 6, 217, 153, 58,
1, 6, 70, 58, 1, 6, 212, 98, 58, 1, 4, 61, 58, 1, 4, 215, 94, 61, 58, 1,
- 4, 254, 143, 58, 1, 4, 215, 94, 254, 243, 58, 1, 4, 253, 158, 58, 1, 4,
- 249, 60, 58, 1, 4, 75, 58, 1, 4, 221, 195, 58, 1, 4, 204, 75, 58, 1, 4,
- 215, 94, 204, 75, 58, 1, 4, 243, 202, 58, 1, 4, 215, 94, 73, 58, 1, 4,
- 235, 23, 58, 1, 4, 193, 58, 1, 4, 245, 138, 58, 1, 4, 76, 58, 1, 4, 204,
- 76, 58, 1, 4, 216, 14, 163, 76, 58, 1, 4, 251, 175, 163, 76, 58, 1, 4,
- 226, 105, 58, 1, 4, 217, 152, 58, 1, 4, 70, 58, 1, 4, 219, 187, 70, 58,
- 1, 4, 215, 94, 193, 58, 1, 4, 214, 105, 58, 1, 4, 254, 196, 58, 1, 4,
- 252, 26, 58, 1, 4, 26, 243, 107, 58, 1, 4, 248, 54, 58, 1, 4, 26, 225,
- 133, 58, 1, 4, 250, 110, 7, 218, 65, 4, 1, 73, 7, 218, 65, 4, 1, 153, 7,
- 218, 65, 4, 1, 70, 7, 218, 65, 4, 1, 214, 105, 26, 218, 65, 4, 1, 252,
- 26, 26, 218, 65, 4, 1, 243, 107, 26, 218, 65, 4, 1, 223, 37, 26, 218, 65,
- 4, 1, 225, 133, 26, 218, 65, 4, 1, 250, 110, 7, 4, 1, 214, 214, 7, 4, 1,
- 57, 2, 230, 224, 182, 7, 4, 1, 249, 61, 2, 230, 224, 182, 7, 4, 1, 245,
- 7, 2, 230, 224, 182, 7, 4, 1, 232, 50, 2, 230, 224, 182, 7, 4, 1, 230,
- 26, 2, 230, 224, 182, 7, 4, 1, 226, 106, 2, 230, 224, 182, 7, 4, 1, 223,
- 224, 2, 230, 224, 182, 7, 4, 1, 223, 224, 2, 244, 88, 22, 230, 224, 182,
- 7, 4, 1, 222, 92, 2, 230, 224, 182, 7, 4, 1, 217, 153, 2, 230, 224, 182,
- 7, 4, 1, 210, 160, 2, 230, 224, 182, 7, 4, 1, 215, 94, 243, 202, 58, 1,
- 33, 245, 150, 7, 4, 1, 235, 213, 243, 202, 7, 4, 1, 216, 211, 2, 218,
- 107, 7, 4, 6, 1, 240, 154, 2, 91, 7, 4, 1, 235, 186, 2, 91, 7, 4, 1, 226,
- 106, 2, 91, 7, 4, 6, 1, 104, 2, 91, 7, 4, 1, 214, 158, 2, 91, 7, 4, 1,
- 57, 2, 226, 66, 103, 7, 4, 1, 249, 61, 2, 226, 66, 103, 7, 4, 1, 245, 7,
- 2, 226, 66, 103, 7, 4, 1, 243, 203, 2, 226, 66, 103, 7, 4, 1, 235, 24, 2,
- 226, 66, 103, 7, 4, 1, 233, 149, 2, 226, 66, 103, 7, 4, 1, 232, 50, 2,
- 226, 66, 103, 7, 4, 1, 230, 26, 2, 226, 66, 103, 7, 4, 1, 226, 106, 2,
- 226, 66, 103, 7, 4, 1, 223, 224, 2, 226, 66, 103, 7, 4, 1, 222, 92, 2,
- 226, 66, 103, 7, 4, 1, 245, 76, 2, 226, 66, 103, 7, 4, 1, 214, 106, 2,
- 226, 66, 103, 7, 4, 1, 211, 179, 2, 226, 66, 103, 7, 4, 1, 210, 160, 2,
- 226, 66, 103, 7, 4, 1, 115, 2, 223, 55, 103, 7, 4, 1, 254, 144, 2, 223,
- 55, 103, 7, 4, 1, 249, 61, 2, 241, 52, 22, 217, 77, 7, 4, 1, 160, 2, 223,
- 55, 103, 7, 4, 1, 204, 160, 2, 223, 55, 103, 7, 4, 1, 223, 49, 204, 160,
- 2, 223, 55, 103, 7, 4, 1, 221, 196, 2, 223, 55, 103, 7, 4, 1, 240, 154,
- 2, 223, 55, 103, 7, 4, 1, 204, 144, 2, 223, 55, 103, 7, 4, 1, 245, 76, 2,
- 223, 55, 103, 7, 4, 1, 104, 2, 223, 55, 103, 7, 4, 1, 245, 9, 2, 223, 55,
- 103, 58, 1, 4, 215, 94, 254, 143, 58, 1, 4, 251, 66, 58, 1, 4, 251, 67,
- 2, 249, 100, 58, 1, 4, 245, 59, 58, 1, 4, 223, 49, 204, 75, 58, 1, 4,
- 245, 6, 58, 1, 4, 247, 119, 235, 145, 2, 91, 58, 1, 4, 119, 243, 202, 58,
- 1, 4, 215, 94, 242, 60, 58, 1, 4, 240, 154, 2, 91, 58, 1, 4, 235, 185,
- 58, 1, 4, 6, 73, 58, 1, 4, 6, 240, 154, 2, 91, 58, 1, 4, 235, 145, 2,
- 249, 127, 58, 1, 4, 233, 149, 2, 223, 55, 103, 58, 1, 4, 233, 149, 2,
- 226, 66, 103, 58, 1, 4, 6, 156, 58, 1, 4, 232, 50, 2, 103, 58, 1, 4, 215,
- 94, 232, 50, 2, 199, 233, 36, 58, 1, 4, 230, 26, 2, 43, 103, 58, 1, 4,
- 230, 26, 2, 223, 55, 103, 58, 1, 4, 6, 230, 25, 58, 1, 4, 252, 134, 76,
- 58, 1, 4, 225, 133, 58, 1, 4, 222, 92, 2, 103, 58, 1, 4, 245, 75, 58, 1,
- 4, 217, 153, 2, 226, 66, 103, 58, 1, 4, 104, 130, 58, 1, 4, 214, 157, 58,
+ 4, 254, 144, 58, 1, 4, 215, 94, 254, 244, 58, 1, 4, 253, 159, 58, 1, 4,
+ 249, 61, 58, 1, 4, 75, 58, 1, 4, 221, 196, 58, 1, 4, 204, 75, 58, 1, 4,
+ 215, 94, 204, 75, 58, 1, 4, 243, 203, 58, 1, 4, 215, 94, 73, 58, 1, 4,
+ 235, 24, 58, 1, 4, 193, 58, 1, 4, 245, 139, 58, 1, 4, 76, 58, 1, 4, 204,
+ 76, 58, 1, 4, 216, 15, 163, 76, 58, 1, 4, 251, 176, 163, 76, 58, 1, 4,
+ 226, 106, 58, 1, 4, 217, 153, 58, 1, 4, 70, 58, 1, 4, 219, 188, 70, 58,
+ 1, 4, 215, 94, 193, 58, 1, 4, 214, 105, 58, 1, 4, 254, 197, 58, 1, 4,
+ 252, 27, 58, 1, 4, 26, 243, 108, 58, 1, 4, 248, 55, 58, 1, 4, 26, 225,
+ 134, 58, 1, 4, 250, 111, 7, 218, 66, 4, 1, 73, 7, 218, 66, 4, 1, 153, 7,
+ 218, 66, 4, 1, 70, 7, 218, 66, 4, 1, 214, 105, 26, 218, 66, 4, 1, 252,
+ 27, 26, 218, 66, 4, 1, 243, 108, 26, 218, 66, 4, 1, 223, 38, 26, 218, 66,
+ 4, 1, 225, 134, 26, 218, 66, 4, 1, 250, 111, 7, 4, 1, 214, 214, 7, 4, 1,
+ 57, 2, 230, 225, 183, 7, 4, 1, 249, 62, 2, 230, 225, 183, 7, 4, 1, 245,
+ 8, 2, 230, 225, 183, 7, 4, 1, 232, 51, 2, 230, 225, 183, 7, 4, 1, 230,
+ 27, 2, 230, 225, 183, 7, 4, 1, 226, 107, 2, 230, 225, 183, 7, 4, 1, 223,
+ 225, 2, 230, 225, 183, 7, 4, 1, 223, 225, 2, 244, 89, 22, 230, 225, 183,
+ 7, 4, 1, 222, 93, 2, 230, 225, 183, 7, 4, 1, 217, 154, 2, 230, 225, 183,
+ 7, 4, 1, 210, 160, 2, 230, 225, 183, 7, 4, 1, 215, 94, 243, 203, 58, 1,
+ 33, 245, 151, 7, 4, 1, 235, 214, 243, 203, 7, 4, 1, 216, 212, 2, 218,
+ 108, 7, 4, 6, 1, 240, 155, 2, 91, 7, 4, 1, 235, 187, 2, 91, 7, 4, 1, 226,
+ 107, 2, 91, 7, 4, 6, 1, 104, 2, 91, 7, 4, 1, 214, 158, 2, 91, 7, 4, 1,
+ 57, 2, 226, 67, 103, 7, 4, 1, 249, 62, 2, 226, 67, 103, 7, 4, 1, 245, 8,
+ 2, 226, 67, 103, 7, 4, 1, 243, 204, 2, 226, 67, 103, 7, 4, 1, 235, 25, 2,
+ 226, 67, 103, 7, 4, 1, 233, 150, 2, 226, 67, 103, 7, 4, 1, 232, 51, 2,
+ 226, 67, 103, 7, 4, 1, 230, 27, 2, 226, 67, 103, 7, 4, 1, 226, 107, 2,
+ 226, 67, 103, 7, 4, 1, 223, 225, 2, 226, 67, 103, 7, 4, 1, 222, 93, 2,
+ 226, 67, 103, 7, 4, 1, 245, 77, 2, 226, 67, 103, 7, 4, 1, 214, 106, 2,
+ 226, 67, 103, 7, 4, 1, 211, 179, 2, 226, 67, 103, 7, 4, 1, 210, 160, 2,
+ 226, 67, 103, 7, 4, 1, 115, 2, 223, 56, 103, 7, 4, 1, 254, 145, 2, 223,
+ 56, 103, 7, 4, 1, 249, 62, 2, 241, 53, 22, 217, 78, 7, 4, 1, 160, 2, 223,
+ 56, 103, 7, 4, 1, 204, 160, 2, 223, 56, 103, 7, 4, 1, 223, 50, 204, 160,
+ 2, 223, 56, 103, 7, 4, 1, 221, 197, 2, 223, 56, 103, 7, 4, 1, 240, 155,
+ 2, 223, 56, 103, 7, 4, 1, 204, 144, 2, 223, 56, 103, 7, 4, 1, 245, 77, 2,
+ 223, 56, 103, 7, 4, 1, 104, 2, 223, 56, 103, 7, 4, 1, 245, 10, 2, 223,
+ 56, 103, 58, 1, 4, 215, 94, 254, 144, 58, 1, 4, 251, 67, 58, 1, 4, 251,
+ 68, 2, 249, 101, 58, 1, 4, 245, 60, 58, 1, 4, 223, 50, 204, 75, 58, 1, 4,
+ 245, 7, 58, 1, 4, 247, 120, 235, 146, 2, 91, 58, 1, 4, 119, 243, 203, 58,
+ 1, 4, 215, 94, 242, 61, 58, 1, 4, 240, 155, 2, 91, 58, 1, 4, 235, 186,
+ 58, 1, 4, 6, 73, 58, 1, 4, 6, 240, 155, 2, 91, 58, 1, 4, 235, 146, 2,
+ 249, 128, 58, 1, 4, 233, 150, 2, 223, 56, 103, 58, 1, 4, 233, 150, 2,
+ 226, 67, 103, 58, 1, 4, 6, 156, 58, 1, 4, 232, 51, 2, 103, 58, 1, 4, 215,
+ 94, 232, 51, 2, 199, 233, 37, 58, 1, 4, 230, 27, 2, 43, 103, 58, 1, 4,
+ 230, 27, 2, 223, 56, 103, 58, 1, 4, 6, 230, 26, 58, 1, 4, 252, 135, 76,
+ 58, 1, 4, 225, 134, 58, 1, 4, 222, 93, 2, 103, 58, 1, 4, 245, 76, 58, 1,
+ 4, 217, 154, 2, 226, 67, 103, 58, 1, 4, 104, 130, 58, 1, 4, 214, 157, 58,
1, 4, 6, 70, 58, 1, 4, 214, 106, 2, 103, 58, 1, 4, 215, 94, 214, 105, 58,
- 1, 4, 210, 159, 58, 1, 4, 210, 160, 2, 223, 55, 103, 58, 1, 4, 210, 160,
- 2, 249, 100, 58, 1, 4, 245, 8, 58, 1, 4, 216, 179, 38, 246, 118, 242,
- 137, 255, 14, 38, 246, 118, 255, 3, 255, 14, 38, 219, 69, 51, 38, 218, 6,
- 78, 38, 231, 231, 38, 242, 134, 38, 231, 229, 38, 255, 1, 38, 242, 135,
- 38, 255, 2, 38, 7, 4, 1, 223, 224, 51, 38, 251, 145, 38, 231, 230, 38,
- 52, 250, 31, 48, 38, 226, 225, 48, 38, 210, 35, 51, 38, 235, 172, 51, 38,
- 214, 151, 48, 38, 214, 134, 48, 38, 7, 4, 1, 244, 63, 204, 115, 48, 38,
- 7, 4, 1, 254, 243, 38, 7, 4, 1, 254, 73, 38, 7, 4, 1, 253, 176, 38, 7, 4,
- 1, 251, 67, 250, 183, 38, 7, 4, 1, 235, 213, 249, 60, 38, 7, 4, 1, 245,
- 59, 38, 7, 4, 1, 243, 202, 38, 7, 1, 4, 6, 243, 202, 38, 7, 4, 1, 235,
- 23, 38, 7, 4, 1, 156, 38, 7, 1, 4, 6, 156, 38, 7, 1, 4, 6, 193, 38, 7, 4,
- 1, 230, 25, 38, 7, 1, 4, 6, 230, 25, 38, 7, 1, 4, 6, 153, 38, 7, 4, 1,
- 223, 224, 222, 186, 38, 7, 4, 1, 222, 91, 38, 7, 4, 1, 199, 222, 91, 38,
- 7, 4, 1, 210, 159, 38, 52, 235, 193, 251, 147, 51, 38, 254, 148, 128,
- 216, 42, 51, 38, 43, 253, 250, 48, 38, 44, 253, 250, 22, 124, 253, 250,
- 51, 7, 6, 1, 115, 2, 222, 234, 51, 7, 4, 1, 115, 2, 222, 234, 51, 7, 6,
+ 1, 4, 210, 159, 58, 1, 4, 210, 160, 2, 223, 56, 103, 58, 1, 4, 210, 160,
+ 2, 249, 101, 58, 1, 4, 245, 9, 58, 1, 4, 216, 180, 38, 246, 119, 242,
+ 138, 255, 15, 38, 246, 119, 255, 4, 255, 15, 38, 219, 70, 51, 38, 218, 7,
+ 78, 38, 231, 232, 38, 242, 135, 38, 231, 230, 38, 255, 2, 38, 242, 136,
+ 38, 255, 3, 38, 7, 4, 1, 223, 225, 51, 38, 251, 146, 38, 231, 231, 38,
+ 52, 250, 32, 48, 38, 226, 226, 48, 38, 210, 35, 51, 38, 235, 173, 51, 38,
+ 214, 151, 48, 38, 214, 134, 48, 38, 7, 4, 1, 244, 64, 204, 115, 48, 38,
+ 7, 4, 1, 254, 244, 38, 7, 4, 1, 254, 74, 38, 7, 4, 1, 253, 177, 38, 7, 4,
+ 1, 251, 68, 250, 184, 38, 7, 4, 1, 235, 214, 249, 61, 38, 7, 4, 1, 245,
+ 60, 38, 7, 4, 1, 243, 203, 38, 7, 1, 4, 6, 243, 203, 38, 7, 4, 1, 235,
+ 24, 38, 7, 4, 1, 156, 38, 7, 1, 4, 6, 156, 38, 7, 1, 4, 6, 193, 38, 7, 4,
+ 1, 230, 26, 38, 7, 1, 4, 6, 230, 26, 38, 7, 1, 4, 6, 153, 38, 7, 4, 1,
+ 223, 225, 222, 187, 38, 7, 4, 1, 222, 92, 38, 7, 4, 1, 199, 222, 92, 38,
+ 7, 4, 1, 210, 159, 38, 52, 235, 194, 251, 148, 51, 38, 254, 149, 128,
+ 216, 43, 51, 38, 43, 253, 251, 48, 38, 44, 253, 251, 22, 124, 253, 251,
+ 51, 7, 6, 1, 115, 2, 222, 235, 51, 7, 4, 1, 115, 2, 222, 235, 51, 7, 6,
1, 57, 2, 59, 48, 7, 4, 1, 57, 2, 59, 48, 7, 6, 1, 57, 2, 59, 51, 7, 4,
- 1, 57, 2, 59, 51, 7, 6, 1, 57, 2, 232, 214, 51, 7, 4, 1, 57, 2, 232, 214,
- 51, 7, 6, 1, 251, 67, 2, 250, 184, 22, 142, 7, 4, 1, 251, 67, 2, 250,
- 184, 22, 142, 7, 6, 1, 249, 61, 2, 59, 48, 7, 4, 1, 249, 61, 2, 59, 48,
- 7, 6, 1, 249, 61, 2, 59, 51, 7, 4, 1, 249, 61, 2, 59, 51, 7, 6, 1, 249,
- 61, 2, 232, 214, 51, 7, 4, 1, 249, 61, 2, 232, 214, 51, 7, 6, 1, 249, 61,
- 2, 250, 183, 7, 4, 1, 249, 61, 2, 250, 183, 7, 6, 1, 249, 61, 2, 250, 31,
- 51, 7, 4, 1, 249, 61, 2, 250, 31, 51, 7, 6, 1, 160, 2, 231, 233, 22, 242,
- 136, 7, 4, 1, 160, 2, 231, 233, 22, 242, 136, 7, 6, 1, 160, 2, 231, 233,
- 22, 142, 7, 4, 1, 160, 2, 231, 233, 22, 142, 7, 6, 1, 160, 2, 250, 31,
- 51, 7, 4, 1, 160, 2, 250, 31, 51, 7, 6, 1, 160, 2, 216, 89, 51, 7, 4, 1,
- 160, 2, 216, 89, 51, 7, 6, 1, 160, 2, 250, 184, 22, 251, 146, 7, 4, 1,
- 160, 2, 250, 184, 22, 251, 146, 7, 6, 1, 245, 7, 2, 59, 48, 7, 4, 1, 245,
- 7, 2, 59, 48, 7, 6, 1, 243, 203, 2, 231, 232, 7, 4, 1, 243, 203, 2, 231,
- 232, 7, 6, 1, 242, 61, 2, 59, 48, 7, 4, 1, 242, 61, 2, 59, 48, 7, 6, 1,
- 242, 61, 2, 59, 51, 7, 4, 1, 242, 61, 2, 59, 51, 7, 6, 1, 242, 61, 2,
- 248, 1, 7, 4, 1, 242, 61, 2, 248, 1, 7, 6, 1, 242, 61, 2, 250, 183, 7, 4,
- 1, 242, 61, 2, 250, 183, 7, 6, 1, 242, 61, 2, 251, 147, 51, 7, 4, 1, 242,
- 61, 2, 251, 147, 51, 7, 6, 1, 240, 154, 2, 216, 89, 51, 7, 4, 1, 240,
- 154, 2, 216, 89, 51, 7, 6, 1, 240, 154, 2, 248, 2, 22, 142, 7, 4, 1, 240,
- 154, 2, 248, 2, 22, 142, 7, 6, 1, 235, 24, 2, 142, 7, 4, 1, 235, 24, 2,
- 142, 7, 6, 1, 235, 24, 2, 59, 51, 7, 4, 1, 235, 24, 2, 59, 51, 7, 6, 1,
- 235, 24, 2, 232, 214, 51, 7, 4, 1, 235, 24, 2, 232, 214, 51, 7, 6, 1,
- 233, 149, 2, 59, 51, 7, 4, 1, 233, 149, 2, 59, 51, 7, 6, 1, 233, 149, 2,
- 59, 252, 43, 22, 231, 232, 7, 4, 1, 233, 149, 2, 59, 252, 43, 22, 231,
- 232, 7, 6, 1, 233, 149, 2, 232, 214, 51, 7, 4, 1, 233, 149, 2, 232, 214,
- 51, 7, 6, 1, 233, 149, 2, 250, 31, 51, 7, 4, 1, 233, 149, 2, 250, 31, 51,
- 7, 6, 1, 232, 50, 2, 142, 7, 4, 1, 232, 50, 2, 142, 7, 6, 1, 232, 50, 2,
- 59, 48, 7, 4, 1, 232, 50, 2, 59, 48, 7, 6, 1, 232, 50, 2, 59, 51, 7, 4,
- 1, 232, 50, 2, 59, 51, 7, 6, 1, 230, 26, 2, 59, 48, 7, 4, 1, 230, 26, 2,
- 59, 48, 7, 6, 1, 230, 26, 2, 59, 51, 7, 4, 1, 230, 26, 2, 59, 51, 7, 6,
- 1, 230, 26, 2, 232, 214, 51, 7, 4, 1, 230, 26, 2, 232, 214, 51, 7, 6, 1,
- 230, 26, 2, 250, 31, 51, 7, 4, 1, 230, 26, 2, 250, 31, 51, 7, 6, 1, 144,
- 2, 216, 89, 22, 142, 7, 4, 1, 144, 2, 216, 89, 22, 142, 7, 6, 1, 144, 2,
- 216, 89, 22, 248, 1, 7, 4, 1, 144, 2, 216, 89, 22, 248, 1, 7, 6, 1, 144,
- 2, 231, 233, 22, 242, 136, 7, 4, 1, 144, 2, 231, 233, 22, 242, 136, 7, 6,
- 1, 144, 2, 231, 233, 22, 142, 7, 4, 1, 144, 2, 231, 233, 22, 142, 7, 6,
- 1, 226, 106, 2, 142, 7, 4, 1, 226, 106, 2, 142, 7, 6, 1, 226, 106, 2, 59,
- 48, 7, 4, 1, 226, 106, 2, 59, 48, 7, 6, 1, 223, 224, 2, 59, 48, 7, 4, 1,
- 223, 224, 2, 59, 48, 7, 6, 1, 223, 224, 2, 59, 51, 7, 4, 1, 223, 224, 2,
- 59, 51, 7, 6, 1, 223, 224, 2, 59, 252, 43, 22, 231, 232, 7, 4, 1, 223,
- 224, 2, 59, 252, 43, 22, 231, 232, 7, 6, 1, 223, 224, 2, 232, 214, 51, 7,
- 4, 1, 223, 224, 2, 232, 214, 51, 7, 6, 1, 222, 92, 2, 59, 48, 7, 4, 1,
- 222, 92, 2, 59, 48, 7, 6, 1, 222, 92, 2, 59, 51, 7, 4, 1, 222, 92, 2, 59,
- 51, 7, 6, 1, 222, 92, 2, 255, 3, 22, 59, 48, 7, 4, 1, 222, 92, 2, 255, 3,
- 22, 59, 48, 7, 6, 1, 222, 92, 2, 250, 235, 22, 59, 48, 7, 4, 1, 222, 92,
- 2, 250, 235, 22, 59, 48, 7, 6, 1, 222, 92, 2, 59, 252, 43, 22, 59, 48, 7,
- 4, 1, 222, 92, 2, 59, 252, 43, 22, 59, 48, 7, 6, 1, 217, 153, 2, 59, 48,
- 7, 4, 1, 217, 153, 2, 59, 48, 7, 6, 1, 217, 153, 2, 59, 51, 7, 4, 1, 217,
- 153, 2, 59, 51, 7, 6, 1, 217, 153, 2, 232, 214, 51, 7, 4, 1, 217, 153, 2,
- 232, 214, 51, 7, 6, 1, 217, 153, 2, 250, 31, 51, 7, 4, 1, 217, 153, 2,
- 250, 31, 51, 7, 6, 1, 104, 2, 248, 2, 51, 7, 4, 1, 104, 2, 248, 2, 51, 7,
- 6, 1, 104, 2, 216, 89, 51, 7, 4, 1, 104, 2, 216, 89, 51, 7, 6, 1, 104, 2,
- 250, 31, 51, 7, 4, 1, 104, 2, 250, 31, 51, 7, 6, 1, 104, 2, 216, 89, 22,
- 142, 7, 4, 1, 104, 2, 216, 89, 22, 142, 7, 6, 1, 104, 2, 231, 233, 22,
- 248, 1, 7, 4, 1, 104, 2, 231, 233, 22, 248, 1, 7, 6, 1, 214, 106, 2, 182,
- 7, 4, 1, 214, 106, 2, 182, 7, 6, 1, 214, 106, 2, 59, 51, 7, 4, 1, 214,
- 106, 2, 59, 51, 7, 6, 1, 212, 99, 2, 242, 136, 7, 4, 1, 212, 99, 2, 242,
- 136, 7, 6, 1, 212, 99, 2, 142, 7, 4, 1, 212, 99, 2, 142, 7, 6, 1, 212,
- 99, 2, 248, 1, 7, 4, 1, 212, 99, 2, 248, 1, 7, 6, 1, 212, 99, 2, 59, 48,
+ 1, 57, 2, 59, 51, 7, 6, 1, 57, 2, 232, 215, 51, 7, 4, 1, 57, 2, 232, 215,
+ 51, 7, 6, 1, 251, 68, 2, 250, 185, 22, 142, 7, 4, 1, 251, 68, 2, 250,
+ 185, 22, 142, 7, 6, 1, 249, 62, 2, 59, 48, 7, 4, 1, 249, 62, 2, 59, 48,
+ 7, 6, 1, 249, 62, 2, 59, 51, 7, 4, 1, 249, 62, 2, 59, 51, 7, 6, 1, 249,
+ 62, 2, 232, 215, 51, 7, 4, 1, 249, 62, 2, 232, 215, 51, 7, 6, 1, 249, 62,
+ 2, 250, 184, 7, 4, 1, 249, 62, 2, 250, 184, 7, 6, 1, 249, 62, 2, 250, 32,
+ 51, 7, 4, 1, 249, 62, 2, 250, 32, 51, 7, 6, 1, 160, 2, 231, 234, 22, 242,
+ 137, 7, 4, 1, 160, 2, 231, 234, 22, 242, 137, 7, 6, 1, 160, 2, 231, 234,
+ 22, 142, 7, 4, 1, 160, 2, 231, 234, 22, 142, 7, 6, 1, 160, 2, 250, 32,
+ 51, 7, 4, 1, 160, 2, 250, 32, 51, 7, 6, 1, 160, 2, 216, 90, 51, 7, 4, 1,
+ 160, 2, 216, 90, 51, 7, 6, 1, 160, 2, 250, 185, 22, 251, 147, 7, 4, 1,
+ 160, 2, 250, 185, 22, 251, 147, 7, 6, 1, 245, 8, 2, 59, 48, 7, 4, 1, 245,
+ 8, 2, 59, 48, 7, 6, 1, 243, 204, 2, 231, 233, 7, 4, 1, 243, 204, 2, 231,
+ 233, 7, 6, 1, 242, 62, 2, 59, 48, 7, 4, 1, 242, 62, 2, 59, 48, 7, 6, 1,
+ 242, 62, 2, 59, 51, 7, 4, 1, 242, 62, 2, 59, 51, 7, 6, 1, 242, 62, 2,
+ 248, 2, 7, 4, 1, 242, 62, 2, 248, 2, 7, 6, 1, 242, 62, 2, 250, 184, 7, 4,
+ 1, 242, 62, 2, 250, 184, 7, 6, 1, 242, 62, 2, 251, 148, 51, 7, 4, 1, 242,
+ 62, 2, 251, 148, 51, 7, 6, 1, 240, 155, 2, 216, 90, 51, 7, 4, 1, 240,
+ 155, 2, 216, 90, 51, 7, 6, 1, 240, 155, 2, 248, 3, 22, 142, 7, 4, 1, 240,
+ 155, 2, 248, 3, 22, 142, 7, 6, 1, 235, 25, 2, 142, 7, 4, 1, 235, 25, 2,
+ 142, 7, 6, 1, 235, 25, 2, 59, 51, 7, 4, 1, 235, 25, 2, 59, 51, 7, 6, 1,
+ 235, 25, 2, 232, 215, 51, 7, 4, 1, 235, 25, 2, 232, 215, 51, 7, 6, 1,
+ 233, 150, 2, 59, 51, 7, 4, 1, 233, 150, 2, 59, 51, 7, 6, 1, 233, 150, 2,
+ 59, 252, 44, 22, 231, 233, 7, 4, 1, 233, 150, 2, 59, 252, 44, 22, 231,
+ 233, 7, 6, 1, 233, 150, 2, 232, 215, 51, 7, 4, 1, 233, 150, 2, 232, 215,
+ 51, 7, 6, 1, 233, 150, 2, 250, 32, 51, 7, 4, 1, 233, 150, 2, 250, 32, 51,
+ 7, 6, 1, 232, 51, 2, 142, 7, 4, 1, 232, 51, 2, 142, 7, 6, 1, 232, 51, 2,
+ 59, 48, 7, 4, 1, 232, 51, 2, 59, 48, 7, 6, 1, 232, 51, 2, 59, 51, 7, 4,
+ 1, 232, 51, 2, 59, 51, 7, 6, 1, 230, 27, 2, 59, 48, 7, 4, 1, 230, 27, 2,
+ 59, 48, 7, 6, 1, 230, 27, 2, 59, 51, 7, 4, 1, 230, 27, 2, 59, 51, 7, 6,
+ 1, 230, 27, 2, 232, 215, 51, 7, 4, 1, 230, 27, 2, 232, 215, 51, 7, 6, 1,
+ 230, 27, 2, 250, 32, 51, 7, 4, 1, 230, 27, 2, 250, 32, 51, 7, 6, 1, 144,
+ 2, 216, 90, 22, 142, 7, 4, 1, 144, 2, 216, 90, 22, 142, 7, 6, 1, 144, 2,
+ 216, 90, 22, 248, 2, 7, 4, 1, 144, 2, 216, 90, 22, 248, 2, 7, 6, 1, 144,
+ 2, 231, 234, 22, 242, 137, 7, 4, 1, 144, 2, 231, 234, 22, 242, 137, 7, 6,
+ 1, 144, 2, 231, 234, 22, 142, 7, 4, 1, 144, 2, 231, 234, 22, 142, 7, 6,
+ 1, 226, 107, 2, 142, 7, 4, 1, 226, 107, 2, 142, 7, 6, 1, 226, 107, 2, 59,
+ 48, 7, 4, 1, 226, 107, 2, 59, 48, 7, 6, 1, 223, 225, 2, 59, 48, 7, 4, 1,
+ 223, 225, 2, 59, 48, 7, 6, 1, 223, 225, 2, 59, 51, 7, 4, 1, 223, 225, 2,
+ 59, 51, 7, 6, 1, 223, 225, 2, 59, 252, 44, 22, 231, 233, 7, 4, 1, 223,
+ 225, 2, 59, 252, 44, 22, 231, 233, 7, 6, 1, 223, 225, 2, 232, 215, 51, 7,
+ 4, 1, 223, 225, 2, 232, 215, 51, 7, 6, 1, 222, 93, 2, 59, 48, 7, 4, 1,
+ 222, 93, 2, 59, 48, 7, 6, 1, 222, 93, 2, 59, 51, 7, 4, 1, 222, 93, 2, 59,
+ 51, 7, 6, 1, 222, 93, 2, 255, 4, 22, 59, 48, 7, 4, 1, 222, 93, 2, 255, 4,
+ 22, 59, 48, 7, 6, 1, 222, 93, 2, 250, 236, 22, 59, 48, 7, 4, 1, 222, 93,
+ 2, 250, 236, 22, 59, 48, 7, 6, 1, 222, 93, 2, 59, 252, 44, 22, 59, 48, 7,
+ 4, 1, 222, 93, 2, 59, 252, 44, 22, 59, 48, 7, 6, 1, 217, 154, 2, 59, 48,
+ 7, 4, 1, 217, 154, 2, 59, 48, 7, 6, 1, 217, 154, 2, 59, 51, 7, 4, 1, 217,
+ 154, 2, 59, 51, 7, 6, 1, 217, 154, 2, 232, 215, 51, 7, 4, 1, 217, 154, 2,
+ 232, 215, 51, 7, 6, 1, 217, 154, 2, 250, 32, 51, 7, 4, 1, 217, 154, 2,
+ 250, 32, 51, 7, 6, 1, 104, 2, 248, 3, 51, 7, 4, 1, 104, 2, 248, 3, 51, 7,
+ 6, 1, 104, 2, 216, 90, 51, 7, 4, 1, 104, 2, 216, 90, 51, 7, 6, 1, 104, 2,
+ 250, 32, 51, 7, 4, 1, 104, 2, 250, 32, 51, 7, 6, 1, 104, 2, 216, 90, 22,
+ 142, 7, 4, 1, 104, 2, 216, 90, 22, 142, 7, 6, 1, 104, 2, 231, 234, 22,
+ 248, 2, 7, 4, 1, 104, 2, 231, 234, 22, 248, 2, 7, 6, 1, 214, 106, 2, 183,
+ 7, 4, 1, 214, 106, 2, 183, 7, 6, 1, 214, 106, 2, 59, 51, 7, 4, 1, 214,
+ 106, 2, 59, 51, 7, 6, 1, 212, 99, 2, 242, 137, 7, 4, 1, 212, 99, 2, 242,
+ 137, 7, 6, 1, 212, 99, 2, 142, 7, 4, 1, 212, 99, 2, 142, 7, 6, 1, 212,
+ 99, 2, 248, 2, 7, 4, 1, 212, 99, 2, 248, 2, 7, 6, 1, 212, 99, 2, 59, 48,
7, 4, 1, 212, 99, 2, 59, 48, 7, 6, 1, 212, 99, 2, 59, 51, 7, 4, 1, 212,
99, 2, 59, 51, 7, 6, 1, 211, 179, 2, 59, 48, 7, 4, 1, 211, 179, 2, 59,
- 48, 7, 6, 1, 211, 179, 2, 248, 1, 7, 4, 1, 211, 179, 2, 248, 1, 7, 6, 1,
+ 48, 7, 6, 1, 211, 179, 2, 248, 2, 7, 4, 1, 211, 179, 2, 248, 2, 7, 6, 1,
211, 118, 2, 59, 48, 7, 4, 1, 211, 118, 2, 59, 48, 7, 6, 1, 210, 160, 2,
- 250, 30, 7, 4, 1, 210, 160, 2, 250, 30, 7, 6, 1, 210, 160, 2, 59, 51, 7,
- 4, 1, 210, 160, 2, 59, 51, 7, 6, 1, 210, 160, 2, 232, 214, 51, 7, 4, 1,
- 210, 160, 2, 232, 214, 51, 7, 4, 1, 242, 61, 2, 232, 214, 51, 7, 4, 1,
- 217, 153, 2, 248, 1, 7, 4, 1, 212, 99, 2, 222, 234, 48, 7, 4, 1, 211,
- 118, 2, 222, 234, 48, 7, 4, 1, 115, 2, 44, 163, 222, 233, 7, 4, 1, 199,
- 222, 92, 2, 59, 48, 7, 4, 1, 199, 222, 92, 2, 247, 255, 91, 7, 4, 1, 199,
- 222, 92, 2, 125, 91, 7, 6, 1, 220, 76, 222, 91, 7, 4, 1, 248, 54, 7, 6,
- 1, 115, 2, 59, 51, 7, 4, 1, 115, 2, 59, 51, 7, 6, 1, 115, 2, 241, 52, 48,
- 7, 4, 1, 115, 2, 241, 52, 48, 7, 6, 1, 115, 2, 250, 31, 22, 142, 7, 4, 1,
- 115, 2, 250, 31, 22, 142, 7, 6, 1, 115, 2, 250, 31, 22, 242, 136, 7, 4,
- 1, 115, 2, 250, 31, 22, 242, 136, 7, 6, 1, 115, 2, 250, 31, 22, 241, 52,
- 48, 7, 4, 1, 115, 2, 250, 31, 22, 241, 52, 48, 7, 6, 1, 115, 2, 250, 31,
- 22, 182, 7, 4, 1, 115, 2, 250, 31, 22, 182, 7, 6, 1, 115, 2, 250, 31, 22,
- 59, 51, 7, 4, 1, 115, 2, 250, 31, 22, 59, 51, 7, 6, 1, 115, 2, 251, 147,
- 22, 142, 7, 4, 1, 115, 2, 251, 147, 22, 142, 7, 6, 1, 115, 2, 251, 147,
- 22, 242, 136, 7, 4, 1, 115, 2, 251, 147, 22, 242, 136, 7, 6, 1, 115, 2,
- 251, 147, 22, 241, 52, 48, 7, 4, 1, 115, 2, 251, 147, 22, 241, 52, 48, 7,
- 6, 1, 115, 2, 251, 147, 22, 182, 7, 4, 1, 115, 2, 251, 147, 22, 182, 7,
- 6, 1, 115, 2, 251, 147, 22, 59, 51, 7, 4, 1, 115, 2, 251, 147, 22, 59,
+ 250, 31, 7, 4, 1, 210, 160, 2, 250, 31, 7, 6, 1, 210, 160, 2, 59, 51, 7,
+ 4, 1, 210, 160, 2, 59, 51, 7, 6, 1, 210, 160, 2, 232, 215, 51, 7, 4, 1,
+ 210, 160, 2, 232, 215, 51, 7, 4, 1, 242, 62, 2, 232, 215, 51, 7, 4, 1,
+ 217, 154, 2, 248, 2, 7, 4, 1, 212, 99, 2, 222, 235, 48, 7, 4, 1, 211,
+ 118, 2, 222, 235, 48, 7, 4, 1, 115, 2, 44, 163, 222, 234, 7, 4, 1, 199,
+ 222, 93, 2, 59, 48, 7, 4, 1, 199, 222, 93, 2, 248, 0, 91, 7, 4, 1, 199,
+ 222, 93, 2, 125, 91, 7, 6, 1, 220, 77, 222, 92, 7, 4, 1, 248, 55, 7, 6,
+ 1, 115, 2, 59, 51, 7, 4, 1, 115, 2, 59, 51, 7, 6, 1, 115, 2, 241, 53, 48,
+ 7, 4, 1, 115, 2, 241, 53, 48, 7, 6, 1, 115, 2, 250, 32, 22, 142, 7, 4, 1,
+ 115, 2, 250, 32, 22, 142, 7, 6, 1, 115, 2, 250, 32, 22, 242, 137, 7, 4,
+ 1, 115, 2, 250, 32, 22, 242, 137, 7, 6, 1, 115, 2, 250, 32, 22, 241, 53,
+ 48, 7, 4, 1, 115, 2, 250, 32, 22, 241, 53, 48, 7, 6, 1, 115, 2, 250, 32,
+ 22, 183, 7, 4, 1, 115, 2, 250, 32, 22, 183, 7, 6, 1, 115, 2, 250, 32, 22,
+ 59, 51, 7, 4, 1, 115, 2, 250, 32, 22, 59, 51, 7, 6, 1, 115, 2, 251, 148,
+ 22, 142, 7, 4, 1, 115, 2, 251, 148, 22, 142, 7, 6, 1, 115, 2, 251, 148,
+ 22, 242, 137, 7, 4, 1, 115, 2, 251, 148, 22, 242, 137, 7, 6, 1, 115, 2,
+ 251, 148, 22, 241, 53, 48, 7, 4, 1, 115, 2, 251, 148, 22, 241, 53, 48, 7,
+ 6, 1, 115, 2, 251, 148, 22, 183, 7, 4, 1, 115, 2, 251, 148, 22, 183, 7,
+ 6, 1, 115, 2, 251, 148, 22, 59, 51, 7, 4, 1, 115, 2, 251, 148, 22, 59,
51, 7, 6, 1, 160, 2, 59, 51, 7, 4, 1, 160, 2, 59, 51, 7, 6, 1, 160, 2,
- 241, 52, 48, 7, 4, 1, 160, 2, 241, 52, 48, 7, 6, 1, 160, 2, 182, 7, 4, 1,
- 160, 2, 182, 7, 6, 1, 160, 2, 250, 31, 22, 142, 7, 4, 1, 160, 2, 250, 31,
- 22, 142, 7, 6, 1, 160, 2, 250, 31, 22, 242, 136, 7, 4, 1, 160, 2, 250,
- 31, 22, 242, 136, 7, 6, 1, 160, 2, 250, 31, 22, 241, 52, 48, 7, 4, 1,
- 160, 2, 250, 31, 22, 241, 52, 48, 7, 6, 1, 160, 2, 250, 31, 22, 182, 7,
- 4, 1, 160, 2, 250, 31, 22, 182, 7, 6, 1, 160, 2, 250, 31, 22, 59, 51, 7,
- 4, 1, 160, 2, 250, 31, 22, 59, 51, 7, 6, 1, 240, 154, 2, 241, 52, 48, 7,
- 4, 1, 240, 154, 2, 241, 52, 48, 7, 6, 1, 240, 154, 2, 59, 51, 7, 4, 1,
- 240, 154, 2, 59, 51, 7, 6, 1, 144, 2, 59, 51, 7, 4, 1, 144, 2, 59, 51, 7,
- 6, 1, 144, 2, 241, 52, 48, 7, 4, 1, 144, 2, 241, 52, 48, 7, 6, 1, 144, 2,
- 250, 31, 22, 142, 7, 4, 1, 144, 2, 250, 31, 22, 142, 7, 6, 1, 144, 2,
- 250, 31, 22, 242, 136, 7, 4, 1, 144, 2, 250, 31, 22, 242, 136, 7, 6, 1,
- 144, 2, 250, 31, 22, 241, 52, 48, 7, 4, 1, 144, 2, 250, 31, 22, 241, 52,
- 48, 7, 6, 1, 144, 2, 250, 31, 22, 182, 7, 4, 1, 144, 2, 250, 31, 22, 182,
- 7, 6, 1, 144, 2, 250, 31, 22, 59, 51, 7, 4, 1, 144, 2, 250, 31, 22, 59,
- 51, 7, 6, 1, 144, 2, 240, 249, 22, 142, 7, 4, 1, 144, 2, 240, 249, 22,
- 142, 7, 6, 1, 144, 2, 240, 249, 22, 242, 136, 7, 4, 1, 144, 2, 240, 249,
- 22, 242, 136, 7, 6, 1, 144, 2, 240, 249, 22, 241, 52, 48, 7, 4, 1, 144,
- 2, 240, 249, 22, 241, 52, 48, 7, 6, 1, 144, 2, 240, 249, 22, 182, 7, 4,
- 1, 144, 2, 240, 249, 22, 182, 7, 6, 1, 144, 2, 240, 249, 22, 59, 51, 7,
- 4, 1, 144, 2, 240, 249, 22, 59, 51, 7, 6, 1, 104, 2, 59, 51, 7, 4, 1,
- 104, 2, 59, 51, 7, 6, 1, 104, 2, 241, 52, 48, 7, 4, 1, 104, 2, 241, 52,
- 48, 7, 6, 1, 104, 2, 240, 249, 22, 142, 7, 4, 1, 104, 2, 240, 249, 22,
- 142, 7, 6, 1, 104, 2, 240, 249, 22, 242, 136, 7, 4, 1, 104, 2, 240, 249,
- 22, 242, 136, 7, 6, 1, 104, 2, 240, 249, 22, 241, 52, 48, 7, 4, 1, 104,
- 2, 240, 249, 22, 241, 52, 48, 7, 6, 1, 104, 2, 240, 249, 22, 182, 7, 4,
- 1, 104, 2, 240, 249, 22, 182, 7, 6, 1, 104, 2, 240, 249, 22, 59, 51, 7,
- 4, 1, 104, 2, 240, 249, 22, 59, 51, 7, 6, 1, 211, 118, 2, 242, 136, 7, 4,
- 1, 211, 118, 2, 242, 136, 7, 6, 1, 211, 118, 2, 59, 51, 7, 4, 1, 211,
- 118, 2, 59, 51, 7, 6, 1, 211, 118, 2, 241, 52, 48, 7, 4, 1, 211, 118, 2,
- 241, 52, 48, 7, 6, 1, 211, 118, 2, 182, 7, 4, 1, 211, 118, 2, 182, 7, 6,
- 1, 230, 223, 232, 185, 7, 4, 1, 230, 223, 232, 185, 7, 6, 1, 230, 223,
- 214, 105, 7, 4, 1, 230, 223, 214, 105, 7, 6, 1, 211, 118, 2, 232, 123, 7,
- 4, 1, 211, 118, 2, 232, 123, 26, 4, 1, 254, 144, 2, 224, 154, 26, 4, 1,
- 254, 144, 2, 248, 153, 26, 4, 1, 254, 144, 2, 224, 155, 22, 214, 13, 26,
- 4, 1, 254, 144, 2, 248, 154, 22, 214, 13, 26, 4, 1, 254, 144, 2, 224,
- 155, 22, 226, 110, 26, 4, 1, 254, 144, 2, 248, 154, 22, 226, 110, 26, 4,
- 1, 254, 144, 2, 224, 155, 22, 225, 175, 26, 4, 1, 254, 144, 2, 248, 154,
- 22, 225, 175, 26, 6, 1, 254, 144, 2, 224, 154, 26, 6, 1, 254, 144, 2,
- 248, 153, 26, 6, 1, 254, 144, 2, 224, 155, 22, 214, 13, 26, 6, 1, 254,
- 144, 2, 248, 154, 22, 214, 13, 26, 6, 1, 254, 144, 2, 224, 155, 22, 226,
- 110, 26, 6, 1, 254, 144, 2, 248, 154, 22, 226, 110, 26, 6, 1, 254, 144,
- 2, 224, 155, 22, 225, 175, 26, 6, 1, 254, 144, 2, 248, 154, 22, 225, 175,
- 26, 4, 1, 245, 101, 2, 224, 154, 26, 4, 1, 245, 101, 2, 248, 153, 26, 4,
- 1, 245, 101, 2, 224, 155, 22, 214, 13, 26, 4, 1, 245, 101, 2, 248, 154,
- 22, 214, 13, 26, 4, 1, 245, 101, 2, 224, 155, 22, 226, 110, 26, 4, 1,
- 245, 101, 2, 248, 154, 22, 226, 110, 26, 6, 1, 245, 101, 2, 224, 154, 26,
- 6, 1, 245, 101, 2, 248, 153, 26, 6, 1, 245, 101, 2, 224, 155, 22, 214,
- 13, 26, 6, 1, 245, 101, 2, 248, 154, 22, 214, 13, 26, 6, 1, 245, 101, 2,
- 224, 155, 22, 226, 110, 26, 6, 1, 245, 101, 2, 248, 154, 22, 226, 110,
- 26, 4, 1, 245, 64, 2, 224, 154, 26, 4, 1, 245, 64, 2, 248, 153, 26, 4, 1,
- 245, 64, 2, 224, 155, 22, 214, 13, 26, 4, 1, 245, 64, 2, 248, 154, 22,
- 214, 13, 26, 4, 1, 245, 64, 2, 224, 155, 22, 226, 110, 26, 4, 1, 245, 64,
- 2, 248, 154, 22, 226, 110, 26, 4, 1, 245, 64, 2, 224, 155, 22, 225, 175,
- 26, 4, 1, 245, 64, 2, 248, 154, 22, 225, 175, 26, 6, 1, 245, 64, 2, 224,
- 154, 26, 6, 1, 245, 64, 2, 248, 153, 26, 6, 1, 245, 64, 2, 224, 155, 22,
- 214, 13, 26, 6, 1, 245, 64, 2, 248, 154, 22, 214, 13, 26, 6, 1, 245, 64,
- 2, 224, 155, 22, 226, 110, 26, 6, 1, 245, 64, 2, 248, 154, 22, 226, 110,
- 26, 6, 1, 245, 64, 2, 224, 155, 22, 225, 175, 26, 6, 1, 245, 64, 2, 248,
- 154, 22, 225, 175, 26, 4, 1, 235, 186, 2, 224, 154, 26, 4, 1, 235, 186,
- 2, 248, 153, 26, 4, 1, 235, 186, 2, 224, 155, 22, 214, 13, 26, 4, 1, 235,
- 186, 2, 248, 154, 22, 214, 13, 26, 4, 1, 235, 186, 2, 224, 155, 22, 226,
- 110, 26, 4, 1, 235, 186, 2, 248, 154, 22, 226, 110, 26, 4, 1, 235, 186,
- 2, 224, 155, 22, 225, 175, 26, 4, 1, 235, 186, 2, 248, 154, 22, 225, 175,
- 26, 6, 1, 235, 186, 2, 224, 154, 26, 6, 1, 235, 186, 2, 248, 153, 26, 6,
- 1, 235, 186, 2, 224, 155, 22, 214, 13, 26, 6, 1, 235, 186, 2, 248, 154,
- 22, 214, 13, 26, 6, 1, 235, 186, 2, 224, 155, 22, 226, 110, 26, 6, 1,
- 235, 186, 2, 248, 154, 22, 226, 110, 26, 6, 1, 235, 186, 2, 224, 155, 22,
- 225, 175, 26, 6, 1, 235, 186, 2, 248, 154, 22, 225, 175, 26, 4, 1, 226,
- 200, 2, 224, 154, 26, 4, 1, 226, 200, 2, 248, 153, 26, 4, 1, 226, 200, 2,
- 224, 155, 22, 214, 13, 26, 4, 1, 226, 200, 2, 248, 154, 22, 214, 13, 26,
- 4, 1, 226, 200, 2, 224, 155, 22, 226, 110, 26, 4, 1, 226, 200, 2, 248,
- 154, 22, 226, 110, 26, 6, 1, 226, 200, 2, 224, 154, 26, 6, 1, 226, 200,
- 2, 248, 153, 26, 6, 1, 226, 200, 2, 224, 155, 22, 214, 13, 26, 6, 1, 226,
- 200, 2, 248, 154, 22, 214, 13, 26, 6, 1, 226, 200, 2, 224, 155, 22, 226,
- 110, 26, 6, 1, 226, 200, 2, 248, 154, 22, 226, 110, 26, 4, 1, 214, 158,
- 2, 224, 154, 26, 4, 1, 214, 158, 2, 248, 153, 26, 4, 1, 214, 158, 2, 224,
- 155, 22, 214, 13, 26, 4, 1, 214, 158, 2, 248, 154, 22, 214, 13, 26, 4, 1,
- 214, 158, 2, 224, 155, 22, 226, 110, 26, 4, 1, 214, 158, 2, 248, 154, 22,
- 226, 110, 26, 4, 1, 214, 158, 2, 224, 155, 22, 225, 175, 26, 4, 1, 214,
- 158, 2, 248, 154, 22, 225, 175, 26, 6, 1, 214, 158, 2, 248, 153, 26, 6,
- 1, 214, 158, 2, 248, 154, 22, 214, 13, 26, 6, 1, 214, 158, 2, 248, 154,
- 22, 226, 110, 26, 6, 1, 214, 158, 2, 248, 154, 22, 225, 175, 26, 4, 1,
- 226, 202, 2, 224, 154, 26, 4, 1, 226, 202, 2, 248, 153, 26, 4, 1, 226,
- 202, 2, 224, 155, 22, 214, 13, 26, 4, 1, 226, 202, 2, 248, 154, 22, 214,
- 13, 26, 4, 1, 226, 202, 2, 224, 155, 22, 226, 110, 26, 4, 1, 226, 202, 2,
- 248, 154, 22, 226, 110, 26, 4, 1, 226, 202, 2, 224, 155, 22, 225, 175,
- 26, 4, 1, 226, 202, 2, 248, 154, 22, 225, 175, 26, 6, 1, 226, 202, 2,
- 224, 154, 26, 6, 1, 226, 202, 2, 248, 153, 26, 6, 1, 226, 202, 2, 224,
- 155, 22, 214, 13, 26, 6, 1, 226, 202, 2, 248, 154, 22, 214, 13, 26, 6, 1,
- 226, 202, 2, 224, 155, 22, 226, 110, 26, 6, 1, 226, 202, 2, 248, 154, 22,
- 226, 110, 26, 6, 1, 226, 202, 2, 224, 155, 22, 225, 175, 26, 6, 1, 226,
- 202, 2, 248, 154, 22, 225, 175, 26, 4, 1, 254, 144, 2, 214, 13, 26, 4, 1,
- 254, 144, 2, 226, 110, 26, 4, 1, 245, 101, 2, 214, 13, 26, 4, 1, 245,
- 101, 2, 226, 110, 26, 4, 1, 245, 64, 2, 214, 13, 26, 4, 1, 245, 64, 2,
- 226, 110, 26, 4, 1, 235, 186, 2, 214, 13, 26, 4, 1, 235, 186, 2, 226,
- 110, 26, 4, 1, 226, 200, 2, 214, 13, 26, 4, 1, 226, 200, 2, 226, 110, 26,
- 4, 1, 214, 158, 2, 214, 13, 26, 4, 1, 214, 158, 2, 226, 110, 26, 4, 1,
- 226, 202, 2, 214, 13, 26, 4, 1, 226, 202, 2, 226, 110, 26, 4, 1, 254,
- 144, 2, 224, 155, 22, 210, 219, 26, 4, 1, 254, 144, 2, 248, 154, 22, 210,
- 219, 26, 4, 1, 254, 144, 2, 224, 155, 22, 214, 14, 22, 210, 219, 26, 4,
- 1, 254, 144, 2, 248, 154, 22, 214, 14, 22, 210, 219, 26, 4, 1, 254, 144,
- 2, 224, 155, 22, 226, 111, 22, 210, 219, 26, 4, 1, 254, 144, 2, 248, 154,
- 22, 226, 111, 22, 210, 219, 26, 4, 1, 254, 144, 2, 224, 155, 22, 225,
- 176, 22, 210, 219, 26, 4, 1, 254, 144, 2, 248, 154, 22, 225, 176, 22,
- 210, 219, 26, 6, 1, 254, 144, 2, 224, 155, 22, 224, 167, 26, 6, 1, 254,
- 144, 2, 248, 154, 22, 224, 167, 26, 6, 1, 254, 144, 2, 224, 155, 22, 214,
- 14, 22, 224, 167, 26, 6, 1, 254, 144, 2, 248, 154, 22, 214, 14, 22, 224,
- 167, 26, 6, 1, 254, 144, 2, 224, 155, 22, 226, 111, 22, 224, 167, 26, 6,
- 1, 254, 144, 2, 248, 154, 22, 226, 111, 22, 224, 167, 26, 6, 1, 254, 144,
- 2, 224, 155, 22, 225, 176, 22, 224, 167, 26, 6, 1, 254, 144, 2, 248, 154,
- 22, 225, 176, 22, 224, 167, 26, 4, 1, 245, 64, 2, 224, 155, 22, 210, 219,
- 26, 4, 1, 245, 64, 2, 248, 154, 22, 210, 219, 26, 4, 1, 245, 64, 2, 224,
- 155, 22, 214, 14, 22, 210, 219, 26, 4, 1, 245, 64, 2, 248, 154, 22, 214,
- 14, 22, 210, 219, 26, 4, 1, 245, 64, 2, 224, 155, 22, 226, 111, 22, 210,
- 219, 26, 4, 1, 245, 64, 2, 248, 154, 22, 226, 111, 22, 210, 219, 26, 4,
- 1, 245, 64, 2, 224, 155, 22, 225, 176, 22, 210, 219, 26, 4, 1, 245, 64,
- 2, 248, 154, 22, 225, 176, 22, 210, 219, 26, 6, 1, 245, 64, 2, 224, 155,
- 22, 224, 167, 26, 6, 1, 245, 64, 2, 248, 154, 22, 224, 167, 26, 6, 1,
- 245, 64, 2, 224, 155, 22, 214, 14, 22, 224, 167, 26, 6, 1, 245, 64, 2,
- 248, 154, 22, 214, 14, 22, 224, 167, 26, 6, 1, 245, 64, 2, 224, 155, 22,
- 226, 111, 22, 224, 167, 26, 6, 1, 245, 64, 2, 248, 154, 22, 226, 111, 22,
- 224, 167, 26, 6, 1, 245, 64, 2, 224, 155, 22, 225, 176, 22, 224, 167, 26,
- 6, 1, 245, 64, 2, 248, 154, 22, 225, 176, 22, 224, 167, 26, 4, 1, 226,
- 202, 2, 224, 155, 22, 210, 219, 26, 4, 1, 226, 202, 2, 248, 154, 22, 210,
- 219, 26, 4, 1, 226, 202, 2, 224, 155, 22, 214, 14, 22, 210, 219, 26, 4,
- 1, 226, 202, 2, 248, 154, 22, 214, 14, 22, 210, 219, 26, 4, 1, 226, 202,
- 2, 224, 155, 22, 226, 111, 22, 210, 219, 26, 4, 1, 226, 202, 2, 248, 154,
- 22, 226, 111, 22, 210, 219, 26, 4, 1, 226, 202, 2, 224, 155, 22, 225,
- 176, 22, 210, 219, 26, 4, 1, 226, 202, 2, 248, 154, 22, 225, 176, 22,
- 210, 219, 26, 6, 1, 226, 202, 2, 224, 155, 22, 224, 167, 26, 6, 1, 226,
- 202, 2, 248, 154, 22, 224, 167, 26, 6, 1, 226, 202, 2, 224, 155, 22, 214,
- 14, 22, 224, 167, 26, 6, 1, 226, 202, 2, 248, 154, 22, 214, 14, 22, 224,
- 167, 26, 6, 1, 226, 202, 2, 224, 155, 22, 226, 111, 22, 224, 167, 26, 6,
- 1, 226, 202, 2, 248, 154, 22, 226, 111, 22, 224, 167, 26, 6, 1, 226, 202,
- 2, 224, 155, 22, 225, 176, 22, 224, 167, 26, 6, 1, 226, 202, 2, 248, 154,
- 22, 225, 176, 22, 224, 167, 26, 4, 1, 254, 144, 2, 213, 120, 26, 4, 1,
- 254, 144, 2, 231, 232, 26, 4, 1, 254, 144, 2, 214, 14, 22, 210, 219, 26,
- 4, 1, 254, 144, 2, 210, 219, 26, 4, 1, 254, 144, 2, 226, 111, 22, 210,
- 219, 26, 4, 1, 254, 144, 2, 225, 175, 26, 4, 1, 254, 144, 2, 225, 176,
- 22, 210, 219, 26, 6, 1, 254, 144, 2, 213, 120, 26, 6, 1, 254, 144, 2,
- 231, 232, 26, 6, 1, 254, 144, 2, 214, 13, 26, 6, 1, 254, 144, 2, 226,
- 110, 26, 6, 1, 254, 144, 2, 224, 167, 26, 234, 2, 26, 224, 167, 26, 224,
- 154, 26, 225, 175, 26, 247, 252, 22, 225, 175, 26, 4, 1, 245, 64, 2, 214,
- 14, 22, 210, 219, 26, 4, 1, 245, 64, 2, 210, 219, 26, 4, 1, 245, 64, 2,
- 226, 111, 22, 210, 219, 26, 4, 1, 245, 64, 2, 225, 175, 26, 4, 1, 245,
- 64, 2, 225, 176, 22, 210, 219, 26, 6, 1, 245, 101, 2, 214, 13, 26, 6, 1,
- 245, 101, 2, 226, 110, 26, 6, 1, 245, 64, 2, 214, 13, 26, 6, 1, 245, 64,
- 2, 226, 110, 26, 6, 1, 245, 64, 2, 224, 167, 26, 224, 155, 22, 214, 13,
- 26, 224, 155, 22, 226, 110, 26, 224, 155, 22, 225, 175, 26, 4, 1, 235,
- 186, 2, 213, 120, 26, 4, 1, 235, 186, 2, 231, 232, 26, 4, 1, 235, 186, 2,
- 247, 252, 22, 214, 13, 26, 4, 1, 235, 186, 2, 247, 252, 22, 226, 110, 26,
- 4, 1, 235, 186, 2, 225, 175, 26, 4, 1, 235, 186, 2, 247, 252, 22, 225,
- 175, 26, 6, 1, 235, 186, 2, 213, 120, 26, 6, 1, 235, 186, 2, 231, 232,
- 26, 6, 1, 235, 186, 2, 214, 13, 26, 6, 1, 235, 186, 2, 226, 110, 26, 248,
- 154, 22, 214, 13, 26, 248, 154, 22, 226, 110, 26, 248, 154, 22, 225, 175,
- 26, 4, 1, 214, 158, 2, 213, 120, 26, 4, 1, 214, 158, 2, 231, 232, 26, 4,
- 1, 214, 158, 2, 247, 252, 22, 214, 13, 26, 4, 1, 214, 158, 2, 247, 252,
- 22, 226, 110, 26, 4, 1, 223, 38, 2, 224, 154, 26, 4, 1, 223, 38, 2, 248,
- 153, 26, 4, 1, 214, 158, 2, 225, 175, 26, 4, 1, 214, 158, 2, 247, 252,
- 22, 225, 175, 26, 6, 1, 214, 158, 2, 213, 120, 26, 6, 1, 214, 158, 2,
- 231, 232, 26, 6, 1, 214, 158, 2, 214, 13, 26, 6, 1, 214, 158, 2, 226,
- 110, 26, 6, 1, 223, 38, 2, 248, 153, 26, 247, 252, 22, 214, 13, 26, 247,
- 252, 22, 226, 110, 26, 214, 13, 26, 4, 1, 226, 202, 2, 214, 14, 22, 210,
- 219, 26, 4, 1, 226, 202, 2, 210, 219, 26, 4, 1, 226, 202, 2, 226, 111,
- 22, 210, 219, 26, 4, 1, 226, 202, 2, 225, 175, 26, 4, 1, 226, 202, 2,
- 225, 176, 22, 210, 219, 26, 6, 1, 226, 200, 2, 214, 13, 26, 6, 1, 226,
- 200, 2, 226, 110, 26, 6, 1, 226, 202, 2, 214, 13, 26, 6, 1, 226, 202, 2,
- 226, 110, 26, 6, 1, 226, 202, 2, 224, 167, 26, 226, 110, 26, 248, 153,
- 245, 151, 224, 27, 245, 160, 224, 27, 245, 151, 219, 18, 245, 160, 219,
- 18, 216, 141, 219, 18, 244, 9, 219, 18, 219, 123, 219, 18, 244, 112, 219,
- 18, 224, 141, 219, 18, 216, 170, 219, 18, 242, 35, 219, 18, 210, 87, 211,
- 245, 219, 18, 210, 87, 211, 245, 228, 67, 210, 87, 211, 245, 235, 63,
- 233, 38, 78, 222, 243, 78, 240, 168, 228, 68, 240, 168, 244, 112, 248,
- 156, 245, 151, 248, 156, 245, 160, 248, 156, 203, 130, 52, 67, 232, 213,
- 52, 121, 232, 213, 43, 219, 155, 223, 254, 78, 44, 219, 155, 223, 254,
- 78, 219, 155, 232, 109, 223, 254, 78, 219, 155, 241, 163, 223, 254, 78,
- 43, 52, 223, 254, 78, 44, 52, 223, 254, 78, 52, 232, 109, 223, 254, 78,
- 52, 241, 163, 223, 254, 78, 248, 205, 52, 248, 205, 251, 113, 215, 222,
- 251, 113, 123, 59, 233, 56, 113, 59, 233, 56, 203, 245, 163, 240, 166,
- 225, 10, 232, 214, 220, 137, 226, 15, 220, 137, 233, 38, 245, 158, 222,
- 243, 245, 158, 224, 246, 247, 196, 244, 19, 233, 38, 226, 117, 222, 243,
- 226, 117, 229, 194, 228, 73, 219, 18, 225, 183, 230, 193, 50, 225, 183,
- 216, 248, 216, 148, 50, 224, 190, 52, 224, 190, 215, 211, 224, 190, 223,
- 49, 224, 190, 223, 49, 52, 224, 190, 223, 49, 215, 211, 224, 190, 250,
- 238, 219, 155, 233, 42, 254, 110, 223, 254, 78, 219, 155, 222, 247, 254,
- 110, 223, 254, 78, 223, 107, 78, 52, 245, 31, 78, 235, 201, 226, 119,
- 214, 180, 135, 216, 111, 250, 239, 235, 216, 225, 10, 253, 214, 240, 169,
- 251, 113, 244, 2, 219, 95, 43, 42, 251, 158, 2, 224, 7, 44, 42, 251, 158,
- 2, 224, 7, 52, 224, 13, 78, 224, 13, 245, 31, 78, 245, 31, 224, 13, 78,
- 216, 70, 5, 245, 65, 223, 49, 225, 68, 50, 85, 140, 251, 113, 85, 97,
- 251, 113, 121, 253, 216, 223, 49, 220, 150, 250, 1, 214, 163, 113, 253,
- 215, 254, 158, 213, 188, 249, 217, 230, 182, 50, 217, 234, 248, 156, 235,
- 193, 214, 180, 244, 52, 224, 141, 78, 134, 59, 224, 140, 224, 24, 224,
- 190, 244, 11, 59, 224, 140, 244, 81, 59, 224, 140, 113, 59, 224, 140,
- 244, 11, 59, 78, 246, 118, 249, 130, 215, 221, 67, 244, 11, 247, 118,
- 231, 82, 11, 219, 18, 211, 209, 235, 63, 243, 227, 254, 52, 235, 191,
- 216, 85, 235, 191, 220, 137, 235, 191, 225, 22, 235, 228, 217, 182, 217,
- 251, 255, 5, 217, 182, 217, 251, 235, 228, 10, 244, 20, 220, 80, 255, 5,
- 10, 244, 20, 220, 80, 229, 189, 21, 220, 81, 228, 69, 21, 220, 81, 218,
- 23, 210, 86, 218, 23, 7, 4, 1, 73, 218, 23, 161, 218, 23, 189, 218, 23,
- 194, 218, 23, 198, 218, 23, 195, 218, 23, 200, 218, 23, 96, 50, 218, 23,
- 230, 181, 218, 23, 245, 98, 50, 218, 23, 43, 226, 3, 218, 23, 44, 226, 3,
- 218, 23, 7, 4, 1, 230, 25, 218, 65, 210, 86, 218, 65, 110, 218, 65, 105,
- 218, 65, 158, 218, 65, 161, 218, 65, 189, 218, 65, 194, 218, 65, 198,
- 218, 65, 195, 218, 65, 200, 218, 65, 96, 50, 218, 65, 230, 181, 218, 65,
- 245, 98, 50, 218, 65, 43, 226, 3, 218, 65, 44, 226, 3, 7, 218, 65, 4, 1,
- 61, 7, 218, 65, 4, 1, 75, 7, 218, 65, 4, 1, 76, 7, 218, 65, 4, 1, 211,
- 178, 7, 218, 65, 4, 1, 221, 195, 7, 218, 65, 4, 1, 242, 60, 7, 218, 65,
- 4, 1, 235, 23, 7, 218, 65, 4, 1, 156, 7, 218, 65, 4, 1, 193, 7, 218, 65,
- 4, 1, 230, 25, 7, 218, 65, 4, 1, 226, 105, 7, 218, 65, 4, 1, 222, 91, 7,
- 218, 65, 4, 1, 217, 152, 245, 46, 50, 249, 227, 50, 249, 117, 50, 243,
- 251, 243, 254, 50, 232, 198, 50, 230, 194, 50, 229, 210, 50, 225, 162,
- 50, 222, 118, 50, 211, 217, 50, 166, 220, 49, 50, 247, 127, 50, 245, 47,
- 50, 234, 76, 50, 215, 112, 50, 246, 101, 50, 243, 40, 225, 193, 50, 225,
- 160, 50, 242, 109, 50, 253, 182, 50, 240, 228, 50, 250, 185, 50, 232,
- 191, 216, 3, 50, 219, 0, 50, 216, 245, 50, 235, 241, 222, 118, 50, 38,
- 43, 241, 255, 48, 38, 44, 241, 255, 48, 38, 199, 67, 232, 214, 226, 120,
- 38, 219, 251, 67, 232, 214, 226, 120, 38, 254, 88, 80, 48, 38, 250, 2,
- 80, 48, 38, 43, 80, 48, 38, 44, 80, 48, 38, 222, 234, 226, 120, 38, 250,
- 2, 222, 234, 226, 120, 38, 254, 88, 222, 234, 226, 120, 38, 134, 170, 48,
- 38, 244, 11, 170, 48, 38, 245, 146, 250, 35, 38, 245, 146, 218, 234, 38,
- 245, 146, 247, 248, 38, 245, 146, 250, 36, 252, 180, 38, 43, 44, 80, 48,
- 38, 245, 146, 221, 188, 38, 245, 146, 234, 135, 38, 245, 146, 214, 155,
- 225, 7, 215, 225, 38, 223, 50, 219, 47, 226, 120, 38, 52, 67, 218, 103,
- 226, 120, 38, 254, 98, 87, 38, 215, 211, 214, 182, 38, 211, 247, 251,
- 140, 48, 38, 140, 80, 226, 120, 38, 199, 52, 219, 47, 226, 120, 38, 97,
- 241, 255, 2, 252, 139, 246, 103, 38, 140, 241, 255, 2, 252, 139, 246,
- 103, 38, 43, 80, 51, 38, 44, 80, 51, 38, 253, 217, 48, 255, 11, 226, 231,
- 254, 251, 216, 42, 216, 196, 218, 74, 139, 6, 251, 66, 248, 71, 250, 178,
- 250, 175, 232, 214, 87, 250, 240, 226, 231, 251, 26, 214, 189, 245, 48,
- 249, 191, 221, 185, 248, 71, 244, 179, 119, 4, 243, 202, 119, 6, 242, 60,
- 251, 219, 6, 242, 60, 139, 6, 242, 60, 225, 37, 249, 191, 225, 37, 249,
- 192, 117, 113, 225, 108, 119, 6, 73, 251, 219, 6, 73, 119, 6, 156, 119,
- 4, 156, 233, 149, 57, 252, 141, 87, 139, 6, 230, 25, 227, 196, 50, 219,
- 31, 223, 119, 249, 162, 119, 6, 226, 105, 139, 6, 226, 105, 139, 6, 224,
- 96, 119, 6, 153, 251, 219, 6, 153, 139, 6, 153, 224, 196, 217, 71, 223,
- 62, 220, 132, 78, 217, 1, 50, 215, 253, 164, 50, 213, 240, 139, 6, 210,
- 159, 226, 133, 50, 226, 221, 50, 235, 193, 226, 221, 50, 251, 219, 6,
- 210, 159, 215, 94, 26, 4, 1, 235, 185, 234, 173, 50, 254, 107, 50, 119,
- 6, 253, 158, 251, 219, 6, 251, 66, 245, 68, 87, 119, 4, 75, 119, 6, 75,
- 119, 6, 245, 6, 215, 94, 6, 245, 6, 119, 6, 193, 119, 4, 76, 112, 87,
- 252, 29, 87, 242, 202, 87, 248, 190, 87, 235, 232, 219, 29, 222, 187, 6,
- 224, 96, 244, 182, 50, 139, 4, 225, 108, 139, 4, 243, 107, 139, 6, 243,
- 107, 139, 6, 225, 108, 139, 230, 24, 218, 40, 215, 94, 35, 6, 243, 202,
- 215, 94, 35, 6, 156, 223, 49, 35, 6, 156, 215, 94, 35, 6, 211, 117, 139,
- 32, 6, 249, 60, 139, 32, 4, 249, 60, 139, 32, 4, 75, 139, 32, 4, 73, 139,
- 32, 4, 235, 144, 224, 170, 232, 213, 215, 94, 254, 126, 225, 183, 50,
- 254, 180, 215, 94, 4, 245, 6, 16, 31, 221, 252, 219, 29, 212, 114, 244,
- 2, 123, 220, 118, 212, 114, 244, 2, 123, 228, 194, 212, 114, 244, 2, 123,
- 216, 241, 212, 114, 244, 2, 123, 216, 168, 212, 114, 244, 2, 113, 216,
- 166, 212, 114, 244, 2, 123, 244, 117, 212, 114, 244, 2, 113, 244, 116,
- 212, 114, 244, 2, 134, 244, 116, 212, 114, 244, 2, 244, 11, 244, 116,
- 212, 114, 244, 2, 123, 219, 115, 212, 114, 244, 2, 244, 81, 219, 113,
- 212, 114, 244, 2, 123, 245, 188, 212, 114, 244, 2, 134, 245, 186, 212,
- 114, 244, 2, 244, 81, 245, 186, 212, 114, 244, 2, 220, 122, 245, 186,
- 244, 2, 227, 197, 110, 222, 198, 227, 198, 110, 222, 198, 227, 198, 105,
- 222, 198, 227, 198, 158, 222, 198, 227, 198, 161, 222, 198, 227, 198,
- 189, 222, 198, 227, 198, 194, 222, 198, 227, 198, 198, 222, 198, 227,
- 198, 195, 222, 198, 227, 198, 200, 222, 198, 227, 198, 216, 247, 222,
- 198, 227, 198, 245, 167, 222, 198, 227, 198, 215, 76, 222, 198, 227, 198,
- 244, 114, 222, 198, 227, 198, 123, 240, 210, 222, 198, 227, 198, 244, 81,
- 240, 210, 222, 198, 227, 198, 123, 216, 147, 4, 222, 198, 227, 198, 110,
- 4, 222, 198, 227, 198, 105, 4, 222, 198, 227, 198, 158, 4, 222, 198, 227,
- 198, 161, 4, 222, 198, 227, 198, 189, 4, 222, 198, 227, 198, 194, 4, 222,
- 198, 227, 198, 198, 4, 222, 198, 227, 198, 195, 4, 222, 198, 227, 198,
- 200, 4, 222, 198, 227, 198, 216, 247, 4, 222, 198, 227, 198, 245, 167, 4,
- 222, 198, 227, 198, 215, 76, 4, 222, 198, 227, 198, 244, 114, 4, 222,
- 198, 227, 198, 123, 240, 210, 4, 222, 198, 227, 198, 244, 81, 240, 210,
- 4, 222, 198, 227, 198, 123, 216, 147, 222, 198, 227, 198, 123, 216, 148,
- 251, 67, 249, 60, 222, 198, 227, 198, 244, 81, 216, 147, 222, 198, 227,
- 198, 216, 248, 216, 147, 222, 198, 227, 198, 223, 49, 123, 240, 210, 7,
- 4, 1, 223, 49, 251, 66, 222, 198, 227, 198, 219, 125, 233, 78, 17, 222,
- 198, 227, 198, 244, 115, 245, 226, 17, 222, 198, 227, 198, 244, 115, 216,
- 147, 222, 198, 227, 198, 123, 240, 211, 216, 147, 212, 114, 244, 2, 210,
- 87, 216, 166, 140, 74, 214, 153, 74, 97, 74, 246, 104, 74, 43, 44, 74,
- 120, 124, 74, 228, 56, 212, 9, 74, 228, 56, 245, 220, 74, 219, 28, 245,
- 220, 74, 219, 28, 212, 9, 74, 140, 80, 2, 91, 97, 80, 2, 91, 140, 212,
- 36, 74, 97, 212, 36, 74, 140, 113, 241, 234, 74, 214, 153, 113, 241, 234,
- 74, 97, 113, 241, 234, 74, 246, 104, 113, 241, 234, 74, 140, 80, 2, 217,
- 77, 97, 80, 2, 217, 77, 140, 80, 243, 243, 130, 214, 153, 80, 243, 243,
- 130, 97, 80, 243, 243, 130, 246, 104, 80, 243, 243, 130, 120, 124, 80, 2,
- 252, 127, 140, 80, 2, 103, 97, 80, 2, 103, 140, 80, 2, 232, 123, 97, 80,
- 2, 232, 123, 43, 44, 212, 36, 74, 43, 44, 80, 2, 91, 246, 104, 210, 35,
- 74, 214, 153, 80, 2, 216, 77, 233, 37, 214, 153, 80, 2, 216, 77, 222,
- 241, 246, 104, 80, 2, 216, 77, 233, 37, 246, 104, 80, 2, 216, 77, 222,
- 241, 97, 80, 2, 249, 161, 246, 103, 246, 104, 80, 2, 249, 161, 233, 37,
- 254, 88, 216, 14, 220, 153, 74, 250, 2, 216, 14, 220, 153, 74, 228, 56,
- 212, 9, 80, 216, 42, 199, 130, 140, 80, 216, 42, 252, 141, 117, 97, 80,
- 216, 42, 130, 254, 88, 204, 250, 36, 74, 250, 2, 204, 250, 36, 74, 140,
- 241, 255, 2, 252, 139, 214, 152, 140, 241, 255, 2, 252, 139, 246, 103,
- 214, 153, 241, 255, 2, 252, 139, 222, 241, 214, 153, 241, 255, 2, 252,
- 139, 233, 37, 97, 241, 255, 2, 252, 139, 214, 152, 97, 241, 255, 2, 252,
- 139, 246, 103, 246, 104, 241, 255, 2, 252, 139, 222, 241, 246, 104, 241,
- 255, 2, 252, 139, 233, 37, 97, 80, 117, 140, 74, 214, 153, 80, 140, 64,
- 246, 104, 74, 140, 80, 117, 97, 74, 140, 226, 70, 253, 247, 214, 153,
- 226, 70, 253, 247, 97, 226, 70, 253, 247, 246, 104, 226, 70, 253, 247,
- 140, 241, 255, 117, 97, 241, 254, 97, 241, 255, 117, 140, 241, 254, 140,
- 52, 80, 2, 91, 43, 44, 52, 80, 2, 91, 97, 52, 80, 2, 91, 140, 52, 74,
- 214, 153, 52, 74, 97, 52, 74, 246, 104, 52, 74, 43, 44, 52, 74, 120, 124,
- 52, 74, 228, 56, 212, 9, 52, 74, 228, 56, 245, 220, 52, 74, 219, 28, 245,
- 220, 52, 74, 219, 28, 212, 9, 52, 74, 140, 215, 211, 74, 97, 215, 211,
- 74, 140, 218, 230, 74, 97, 218, 230, 74, 214, 153, 80, 2, 52, 91, 246,
- 104, 80, 2, 52, 91, 140, 248, 155, 74, 214, 153, 248, 155, 74, 97, 248,
- 155, 74, 246, 104, 248, 155, 74, 140, 80, 216, 42, 130, 97, 80, 216, 42,
- 130, 140, 71, 74, 214, 153, 71, 74, 97, 71, 74, 246, 104, 71, 74, 214,
- 153, 71, 80, 243, 243, 130, 214, 153, 71, 80, 226, 197, 225, 214, 214,
- 153, 71, 80, 226, 197, 225, 215, 2, 203, 130, 214, 153, 71, 80, 226, 197,
- 225, 215, 2, 67, 130, 214, 153, 71, 52, 74, 214, 153, 71, 52, 80, 226,
- 197, 225, 214, 97, 71, 80, 243, 243, 212, 56, 228, 56, 212, 9, 80, 216,
- 42, 249, 160, 219, 28, 245, 220, 80, 216, 42, 249, 160, 120, 124, 71, 74,
- 44, 80, 2, 4, 250, 35, 246, 104, 80, 140, 64, 214, 153, 74, 134, 97, 253,
- 247, 140, 80, 2, 67, 91, 97, 80, 2, 67, 91, 43, 44, 80, 2, 67, 91, 140,
- 80, 2, 52, 67, 91, 97, 80, 2, 52, 67, 91, 43, 44, 80, 2, 52, 67, 91, 140,
- 226, 173, 74, 97, 226, 173, 74, 43, 44, 226, 173, 74, 31, 254, 154, 249,
- 214, 225, 253, 247, 233, 216, 187, 245, 27, 216, 187, 247, 138, 228, 52,
- 245, 28, 245, 152, 220, 127, 235, 245, 229, 221, 245, 170, 226, 231, 228,
- 52, 254, 124, 245, 170, 226, 231, 4, 245, 170, 226, 231, 249, 186, 253,
- 238, 231, 62, 247, 138, 228, 52, 249, 188, 253, 238, 231, 62, 4, 249,
- 186, 253, 238, 231, 62, 245, 143, 64, 224, 172, 230, 24, 224, 180, 230,
- 24, 249, 165, 230, 24, 218, 40, 230, 182, 50, 230, 180, 50, 59, 225, 22,
- 247, 169, 219, 95, 220, 128, 230, 181, 253, 217, 226, 167, 222, 234, 226,
- 167, 251, 114, 226, 167, 42, 222, 193, 249, 109, 222, 193, 244, 4, 222,
- 193, 224, 168, 111, 235, 234, 44, 254, 109, 254, 109, 231, 88, 254, 109,
- 218, 255, 254, 109, 247, 171, 247, 138, 228, 52, 247, 174, 226, 8, 111,
- 228, 52, 226, 8, 111, 232, 146, 254, 118, 232, 146, 226, 158, 235, 198,
- 214, 175, 235, 211, 52, 235, 211, 215, 211, 235, 211, 249, 182, 235, 211,
- 218, 13, 235, 211, 213, 129, 235, 211, 250, 2, 235, 211, 250, 2, 249,
- 182, 235, 211, 254, 88, 249, 182, 235, 211, 216, 186, 252, 67, 223, 137,
- 224, 169, 59, 230, 181, 245, 33, 243, 46, 224, 169, 241, 57, 216, 89,
- 226, 167, 223, 49, 182, 235, 193, 233, 65, 222, 91, 219, 157, 212, 35,
- 211, 200, 224, 180, 228, 52, 182, 230, 182, 182, 253, 210, 128, 111, 228,
- 52, 253, 210, 128, 111, 254, 48, 128, 111, 254, 48, 251, 88, 228, 52,
- 255, 4, 128, 111, 229, 100, 254, 48, 228, 59, 255, 4, 128, 111, 254, 148,
- 128, 111, 228, 52, 254, 148, 128, 111, 254, 148, 128, 177, 128, 111, 215,
- 211, 182, 254, 155, 128, 111, 245, 94, 111, 243, 45, 245, 94, 111, 247,
- 234, 252, 23, 254, 50, 216, 196, 232, 221, 243, 45, 128, 111, 254, 48,
- 128, 216, 42, 177, 216, 196, 236, 15, 226, 231, 236, 15, 64, 177, 254,
- 48, 128, 111, 249, 227, 245, 97, 245, 98, 249, 226, 222, 234, 236, 0,
- 128, 111, 222, 234, 128, 111, 249, 154, 111, 245, 67, 245, 96, 111, 218,
- 157, 245, 97, 248, 55, 128, 111, 128, 216, 42, 251, 78, 248, 72, 231, 88,
- 251, 77, 224, 11, 128, 111, 228, 52, 128, 111, 240, 104, 111, 228, 52,
- 240, 104, 111, 218, 109, 245, 94, 111, 233, 15, 177, 128, 111, 242, 130,
- 177, 128, 111, 233, 15, 117, 128, 111, 242, 130, 117, 128, 111, 233, 15,
- 251, 88, 228, 52, 128, 111, 242, 130, 251, 88, 228, 52, 128, 111, 230,
- 97, 233, 14, 230, 97, 242, 129, 252, 23, 228, 52, 245, 94, 111, 228, 52,
- 233, 14, 228, 52, 242, 129, 229, 100, 233, 15, 228, 59, 128, 111, 229,
- 100, 242, 130, 228, 59, 128, 111, 233, 15, 177, 245, 94, 111, 242, 130,
- 177, 245, 94, 111, 229, 100, 233, 15, 228, 59, 245, 94, 111, 229, 100,
- 242, 130, 228, 59, 245, 94, 111, 233, 15, 177, 242, 129, 242, 130, 177,
- 233, 14, 229, 100, 233, 15, 228, 59, 242, 129, 229, 100, 242, 130, 228,
- 59, 233, 14, 224, 202, 218, 55, 224, 203, 177, 128, 111, 218, 56, 177,
- 128, 111, 224, 203, 177, 245, 94, 111, 218, 56, 177, 245, 94, 111, 247,
- 138, 228, 52, 224, 205, 247, 138, 228, 52, 218, 57, 218, 64, 226, 231,
- 218, 22, 226, 231, 228, 52, 115, 218, 64, 226, 231, 228, 52, 115, 218,
- 22, 226, 231, 218, 64, 64, 177, 128, 111, 218, 22, 64, 177, 128, 111,
- 229, 100, 115, 218, 64, 64, 228, 59, 128, 111, 229, 100, 115, 218, 22,
- 64, 228, 59, 128, 111, 218, 64, 64, 2, 228, 52, 128, 111, 218, 22, 64, 2,
- 228, 52, 128, 111, 230, 81, 230, 82, 230, 83, 230, 82, 214, 175, 42, 236,
- 15, 226, 231, 42, 226, 150, 226, 231, 42, 236, 15, 64, 177, 128, 111, 42,
- 226, 150, 64, 177, 128, 111, 42, 250, 251, 42, 249, 102, 37, 225, 22, 37,
- 230, 181, 37, 216, 85, 37, 247, 169, 219, 95, 37, 59, 226, 167, 37, 222,
- 234, 226, 167, 37, 253, 217, 226, 167, 37, 245, 97, 37, 248, 156, 92,
- 225, 22, 92, 230, 181, 92, 216, 85, 92, 59, 226, 167, 44, 217, 87, 43,
- 217, 87, 124, 217, 87, 120, 217, 87, 253, 220, 230, 156, 215, 191, 244,
- 25, 215, 211, 67, 252, 141, 44, 215, 93, 52, 67, 252, 141, 52, 44, 215,
- 93, 247, 138, 228, 52, 224, 163, 228, 52, 215, 191, 247, 138, 228, 52,
- 244, 26, 229, 102, 52, 67, 252, 141, 52, 44, 215, 93, 224, 203, 214, 184,
- 223, 91, 218, 56, 214, 184, 223, 91, 228, 57, 218, 77, 226, 231, 249,
- 186, 253, 238, 228, 57, 218, 76, 228, 57, 218, 77, 64, 177, 128, 111,
- 249, 186, 253, 238, 228, 57, 218, 77, 177, 128, 111, 226, 150, 226, 231,
- 236, 15, 226, 231, 230, 87, 241, 200, 249, 196, 231, 137, 235, 208, 211,
- 145, 229, 202, 228, 58, 44, 254, 110, 2, 254, 25, 44, 215, 225, 230, 24,
- 232, 146, 254, 118, 230, 24, 232, 146, 226, 158, 230, 24, 235, 198, 230,
- 24, 214, 175, 247, 249, 226, 167, 59, 226, 167, 218, 157, 226, 167, 247,
- 169, 216, 85, 251, 164, 43, 228, 57, 244, 181, 220, 149, 224, 180, 44,
- 228, 57, 244, 181, 220, 149, 224, 180, 43, 220, 149, 224, 180, 44, 220,
- 149, 224, 180, 223, 49, 216, 89, 245, 97, 249, 99, 232, 146, 226, 158,
- 249, 99, 232, 146, 254, 118, 52, 218, 63, 52, 218, 21, 52, 235, 198, 52,
- 214, 175, 225, 47, 128, 22, 226, 8, 111, 233, 15, 2, 247, 120, 242, 130,
- 2, 247, 120, 213, 187, 230, 97, 233, 14, 213, 187, 230, 97, 242, 129,
- 233, 15, 128, 216, 42, 177, 242, 129, 242, 130, 128, 216, 42, 177, 233,
- 14, 128, 216, 42, 177, 233, 14, 128, 216, 42, 177, 242, 129, 128, 216,
- 42, 177, 224, 202, 128, 216, 42, 177, 218, 55, 247, 138, 228, 52, 224,
- 206, 177, 245, 99, 247, 138, 228, 52, 218, 58, 177, 245, 99, 228, 52, 42,
- 236, 15, 64, 177, 128, 111, 228, 52, 42, 226, 150, 64, 177, 128, 111, 42,
- 236, 15, 64, 177, 228, 52, 128, 111, 42, 226, 150, 64, 177, 228, 52, 128,
- 111, 233, 15, 251, 88, 228, 52, 245, 94, 111, 242, 130, 251, 88, 228, 52,
- 245, 94, 111, 224, 203, 251, 88, 228, 52, 245, 94, 111, 218, 56, 251, 88,
- 228, 52, 245, 94, 111, 228, 52, 228, 57, 218, 77, 226, 231, 247, 138,
- 228, 52, 249, 188, 253, 238, 228, 57, 218, 76, 228, 52, 228, 57, 218, 77,
- 64, 177, 128, 111, 247, 138, 228, 52, 249, 188, 253, 238, 228, 57, 218,
- 77, 177, 245, 99, 67, 245, 163, 230, 222, 203, 245, 163, 120, 44, 247,
- 255, 245, 163, 124, 44, 247, 255, 245, 163, 245, 170, 64, 2, 199, 203,
- 91, 245, 170, 64, 2, 67, 252, 141, 253, 207, 245, 143, 64, 203, 91, 4,
- 245, 170, 64, 2, 67, 252, 141, 253, 207, 245, 143, 64, 203, 91, 245, 170,
- 64, 2, 59, 48, 245, 170, 64, 2, 226, 123, 4, 245, 170, 64, 2, 226, 123,
- 245, 170, 64, 2, 214, 183, 245, 170, 64, 2, 113, 203, 218, 90, 249, 186,
- 2, 199, 203, 91, 249, 186, 2, 67, 252, 141, 253, 207, 245, 143, 64, 203,
- 91, 4, 249, 186, 2, 67, 252, 141, 253, 207, 245, 143, 64, 203, 91, 249,
- 186, 2, 226, 123, 4, 249, 186, 2, 226, 123, 210, 160, 187, 252, 173, 231,
- 61, 247, 250, 50, 245, 172, 74, 240, 234, 120, 253, 249, 124, 253, 249,
- 224, 175, 225, 165, 212, 32, 232, 213, 43, 250, 181, 44, 250, 181, 43,
- 244, 57, 44, 244, 57, 251, 175, 44, 249, 132, 251, 175, 43, 249, 132,
- 216, 14, 44, 249, 132, 216, 14, 43, 249, 132, 223, 49, 228, 52, 50, 42,
- 232, 104, 254, 25, 221, 164, 221, 171, 217, 1, 223, 120, 224, 241, 235,
- 238, 213, 165, 218, 234, 225, 41, 64, 235, 207, 50, 215, 94, 228, 52, 50,
- 212, 42, 240, 236, 216, 14, 43, 249, 160, 216, 14, 44, 249, 160, 251,
- 175, 43, 249, 160, 251, 175, 44, 249, 160, 216, 14, 163, 235, 211, 251,
- 175, 163, 235, 211, 243, 240, 219, 75, 120, 253, 250, 252, 24, 113, 203,
- 252, 129, 226, 160, 234, 138, 245, 90, 216, 42, 216, 196, 222, 251, 211,
- 179, 236, 0, 115, 223, 117, 251, 163, 234, 137, 233, 42, 254, 110, 127,
- 222, 247, 254, 110, 127, 245, 90, 216, 42, 216, 196, 233, 46, 252, 35,
- 222, 233, 249, 70, 254, 155, 254, 1, 217, 181, 216, 4, 222, 123, 247,
- 215, 226, 151, 249, 198, 217, 52, 219, 86, 249, 151, 249, 150, 254, 66,
- 243, 225, 16, 240, 151, 254, 66, 243, 225, 16, 218, 228, 224, 27, 254,
- 66, 243, 225, 16, 224, 28, 245, 99, 254, 66, 243, 225, 16, 224, 28, 247,
- 174, 254, 66, 243, 225, 16, 224, 28, 247, 248, 254, 66, 243, 225, 16,
- 224, 28, 235, 56, 254, 66, 243, 225, 16, 224, 28, 250, 35, 254, 66, 243,
- 225, 16, 250, 36, 218, 135, 254, 66, 243, 225, 16, 250, 36, 235, 56, 254,
- 66, 243, 225, 16, 219, 96, 130, 254, 66, 243, 225, 16, 252, 181, 130,
- 254, 66, 243, 225, 16, 224, 28, 219, 95, 254, 66, 243, 225, 16, 224, 28,
- 252, 180, 254, 66, 243, 225, 16, 224, 28, 233, 14, 254, 66, 243, 225, 16,
- 224, 28, 242, 129, 254, 66, 243, 225, 16, 140, 214, 19, 254, 66, 243,
- 225, 16, 97, 214, 19, 254, 66, 243, 225, 16, 224, 28, 140, 74, 254, 66,
- 243, 225, 16, 224, 28, 97, 74, 254, 66, 243, 225, 16, 250, 36, 252, 180,
- 254, 66, 243, 225, 16, 124, 217, 88, 214, 183, 254, 66, 243, 225, 16,
- 248, 55, 218, 135, 254, 66, 243, 225, 16, 224, 28, 124, 250, 238, 254,
- 66, 243, 225, 16, 224, 28, 248, 54, 254, 66, 243, 225, 16, 124, 217, 88,
- 235, 56, 254, 66, 243, 225, 16, 214, 153, 214, 19, 254, 66, 243, 225, 16,
- 224, 28, 214, 153, 74, 254, 66, 243, 225, 16, 120, 217, 88, 226, 123,
- 254, 66, 243, 225, 16, 248, 66, 218, 135, 254, 66, 243, 225, 16, 224, 28,
- 120, 250, 238, 254, 66, 243, 225, 16, 224, 28, 248, 65, 254, 66, 243,
- 225, 16, 120, 217, 88, 235, 56, 254, 66, 243, 225, 16, 246, 104, 214, 19,
- 254, 66, 243, 225, 16, 224, 28, 246, 104, 74, 254, 66, 243, 225, 16, 223,
- 253, 214, 183, 254, 66, 243, 225, 16, 248, 55, 214, 183, 254, 66, 243,
- 225, 16, 247, 249, 214, 183, 254, 66, 243, 225, 16, 235, 57, 214, 183,
- 254, 66, 243, 225, 16, 250, 36, 214, 183, 254, 66, 243, 225, 16, 120,
- 220, 5, 235, 56, 254, 66, 243, 225, 16, 223, 253, 224, 27, 254, 66, 243,
- 225, 16, 250, 36, 218, 156, 254, 66, 243, 225, 16, 224, 28, 249, 226,
- 254, 66, 243, 225, 16, 120, 217, 88, 248, 1, 254, 66, 243, 225, 16, 248,
- 66, 248, 1, 254, 66, 243, 225, 16, 218, 157, 248, 1, 254, 66, 243, 225,
- 16, 235, 57, 248, 1, 254, 66, 243, 225, 16, 250, 36, 248, 1, 254, 66,
- 243, 225, 16, 124, 220, 5, 218, 135, 254, 66, 243, 225, 16, 43, 220, 5,
- 218, 135, 254, 66, 243, 225, 16, 216, 89, 248, 1, 254, 66, 243, 225, 16,
- 242, 130, 248, 1, 254, 66, 243, 225, 16, 249, 220, 130, 254, 66, 243,
- 225, 16, 248, 66, 182, 254, 66, 243, 225, 16, 210, 34, 254, 66, 243, 225,
- 16, 218, 136, 182, 254, 66, 243, 225, 16, 220, 151, 214, 183, 254, 66,
- 243, 225, 16, 224, 28, 228, 52, 245, 99, 254, 66, 243, 225, 16, 224, 28,
- 224, 12, 254, 66, 243, 225, 16, 124, 250, 239, 182, 254, 66, 243, 225,
- 16, 120, 250, 239, 182, 254, 66, 243, 225, 16, 235, 185, 254, 66, 243,
- 225, 16, 223, 37, 254, 66, 243, 225, 16, 226, 201, 254, 66, 243, 225, 16,
- 254, 144, 214, 183, 254, 66, 243, 225, 16, 245, 101, 214, 183, 254, 66,
- 243, 225, 16, 235, 186, 214, 183, 254, 66, 243, 225, 16, 226, 202, 214,
- 183, 254, 66, 243, 225, 16, 254, 143, 228, 52, 250, 130, 78, 44, 254,
- 110, 2, 246, 104, 210, 35, 74, 219, 235, 204, 251, 163, 252, 45, 87, 67,
- 232, 214, 2, 230, 224, 247, 120, 235, 216, 87, 249, 183, 214, 181, 87,
- 247, 189, 214, 181, 87, 245, 154, 87, 249, 210, 87, 71, 42, 2, 250, 175,
- 67, 232, 213, 245, 130, 87, 254, 139, 234, 139, 87, 241, 213, 87, 37,
- 203, 252, 141, 2, 228, 50, 37, 215, 226, 246, 106, 251, 135, 250, 36, 2,
- 228, 54, 74, 214, 179, 87, 230, 137, 87, 240, 164, 87, 226, 174, 242, 59,
- 87, 226, 174, 233, 147, 87, 225, 244, 87, 225, 243, 87, 247, 197, 249,
- 97, 16, 244, 20, 105, 219, 50, 87, 254, 66, 243, 225, 16, 224, 27, 248,
- 83, 220, 138, 234, 139, 87, 224, 192, 226, 75, 229, 82, 226, 75, 224,
- 188, 221, 189, 87, 250, 17, 221, 189, 87, 43, 226, 4, 214, 160, 103, 43,
- 226, 4, 245, 21, 43, 226, 4, 232, 108, 103, 44, 226, 4, 214, 160, 103,
- 44, 226, 4, 245, 21, 44, 226, 4, 232, 108, 103, 43, 42, 251, 158, 214,
- 160, 249, 160, 43, 42, 251, 158, 245, 21, 43, 42, 251, 158, 232, 108,
- 249, 160, 44, 42, 251, 158, 214, 160, 249, 160, 44, 42, 251, 158, 245,
- 21, 44, 42, 251, 158, 232, 108, 249, 160, 43, 249, 99, 251, 158, 214,
- 160, 103, 43, 249, 99, 251, 158, 230, 224, 225, 101, 43, 249, 99, 251,
- 158, 232, 108, 103, 249, 99, 251, 158, 245, 21, 44, 249, 99, 251, 158,
- 214, 160, 103, 44, 249, 99, 251, 158, 230, 224, 225, 101, 44, 249, 99,
- 251, 158, 232, 108, 103, 235, 212, 245, 21, 203, 232, 214, 245, 21, 214,
- 160, 43, 177, 232, 108, 44, 249, 99, 251, 158, 221, 172, 214, 160, 44,
- 177, 232, 108, 43, 249, 99, 251, 158, 221, 172, 218, 41, 216, 13, 218,
- 41, 251, 174, 216, 14, 42, 127, 251, 175, 42, 127, 251, 175, 42, 251,
- 158, 117, 216, 14, 42, 127, 34, 16, 251, 174, 43, 67, 93, 232, 213, 44,
- 67, 93, 232, 213, 203, 221, 205, 232, 212, 203, 221, 205, 232, 211, 203,
- 221, 205, 232, 210, 203, 221, 205, 232, 209, 248, 46, 16, 192, 67, 22,
- 216, 14, 222, 251, 248, 46, 16, 192, 67, 22, 251, 175, 222, 251, 248, 46,
- 16, 192, 67, 2, 250, 35, 248, 46, 16, 192, 124, 22, 203, 2, 250, 35, 248,
- 46, 16, 192, 120, 22, 203, 2, 250, 35, 248, 46, 16, 192, 67, 2, 215, 225,
- 248, 46, 16, 192, 124, 22, 203, 2, 215, 225, 248, 46, 16, 192, 120, 22,
- 203, 2, 215, 225, 248, 46, 16, 192, 67, 22, 212, 35, 248, 46, 16, 192,
- 124, 22, 203, 2, 212, 35, 248, 46, 16, 192, 120, 22, 203, 2, 212, 35,
- 248, 46, 16, 192, 124, 22, 241, 44, 248, 46, 16, 192, 120, 22, 241, 44,
- 248, 46, 16, 192, 67, 22, 216, 14, 233, 46, 248, 46, 16, 192, 67, 22,
- 251, 175, 233, 46, 42, 244, 32, 223, 54, 87, 245, 182, 87, 67, 232, 214,
- 245, 21, 231, 33, 251, 146, 231, 33, 199, 117, 219, 250, 231, 33, 219,
- 251, 117, 232, 137, 231, 33, 199, 117, 113, 219, 237, 231, 33, 113, 219,
- 238, 117, 232, 137, 231, 33, 113, 219, 238, 235, 64, 231, 33, 215, 208,
- 231, 33, 216, 223, 231, 33, 225, 188, 245, 224, 242, 122, 243, 219, 216,
- 14, 226, 3, 251, 175, 226, 3, 216, 14, 249, 99, 127, 251, 175, 249, 99,
- 127, 216, 14, 216, 6, 220, 53, 127, 251, 175, 216, 6, 220, 53, 127, 71,
- 215, 239, 252, 35, 222, 234, 2, 250, 35, 218, 120, 244, 64, 255, 17, 249,
- 96, 245, 171, 235, 198, 248, 83, 245, 24, 87, 85, 222, 247, 52, 215, 225,
- 85, 233, 42, 52, 215, 225, 85, 214, 162, 52, 215, 225, 85, 246, 105, 52,
- 215, 225, 85, 222, 247, 52, 215, 226, 2, 67, 130, 85, 233, 42, 52, 215,
- 226, 2, 67, 130, 85, 222, 247, 215, 226, 2, 52, 67, 130, 254, 173, 250,
- 3, 218, 126, 216, 86, 250, 3, 240, 237, 2, 244, 50, 221, 241, 16, 31,
- 227, 202, 16, 31, 218, 152, 64, 241, 233, 16, 31, 218, 152, 64, 216, 212,
- 16, 31, 245, 143, 64, 216, 212, 16, 31, 245, 143, 64, 215, 243, 16, 31,
- 245, 132, 16, 31, 255, 7, 16, 31, 252, 44, 16, 31, 252, 179, 16, 31, 203,
- 217, 89, 16, 31, 232, 214, 244, 145, 16, 31, 67, 217, 89, 16, 31, 244,
- 20, 244, 145, 16, 31, 250, 230, 223, 53, 16, 31, 220, 28, 226, 130, 16,
- 31, 220, 28, 235, 255, 16, 31, 248, 151, 232, 204, 245, 77, 16, 31, 248,
- 31, 249, 178, 110, 16, 31, 248, 31, 249, 178, 105, 16, 31, 248, 31, 249,
- 178, 158, 16, 31, 248, 31, 249, 178, 161, 16, 31, 152, 255, 7, 16, 31,
- 217, 177, 236, 62, 16, 31, 245, 143, 64, 215, 244, 251, 213, 16, 31, 251,
- 5, 16, 31, 245, 143, 64, 231, 81, 16, 31, 218, 61, 16, 31, 245, 77, 16,
- 31, 244, 107, 220, 137, 16, 31, 242, 121, 220, 137, 16, 31, 223, 121,
- 220, 137, 16, 31, 214, 174, 220, 137, 16, 31, 219, 18, 16, 31, 248, 63,
- 251, 216, 87, 204, 251, 163, 16, 31, 229, 85, 16, 31, 248, 64, 244, 20,
- 105, 16, 31, 218, 62, 244, 20, 105, 226, 241, 103, 226, 241, 250, 152,
- 226, 241, 244, 23, 226, 241, 235, 193, 244, 23, 226, 241, 252, 42, 251,
- 124, 226, 241, 251, 170, 216, 111, 226, 241, 251, 155, 252, 146, 240,
- 103, 226, 241, 254, 127, 64, 250, 129, 226, 241, 248, 156, 226, 241, 249,
- 87, 255, 11, 227, 200, 226, 241, 52, 252, 180, 37, 21, 110, 37, 21, 105,
- 37, 21, 158, 37, 21, 161, 37, 21, 189, 37, 21, 194, 37, 21, 198, 37, 21,
- 195, 37, 21, 200, 37, 54, 216, 247, 37, 54, 245, 167, 37, 54, 215, 76,
- 37, 54, 216, 164, 37, 54, 244, 5, 37, 54, 244, 118, 37, 54, 219, 119, 37,
- 54, 220, 119, 37, 54, 245, 190, 37, 54, 228, 197, 37, 54, 215, 73, 88,
- 21, 110, 88, 21, 105, 88, 21, 158, 88, 21, 161, 88, 21, 189, 88, 21, 194,
- 88, 21, 198, 88, 21, 195, 88, 21, 200, 88, 54, 216, 247, 88, 54, 245,
- 167, 88, 54, 215, 76, 88, 54, 216, 164, 88, 54, 244, 5, 88, 54, 244, 118,
- 88, 54, 219, 119, 88, 54, 220, 119, 88, 54, 245, 190, 88, 54, 228, 197,
- 88, 54, 215, 73, 21, 123, 243, 229, 218, 129, 21, 113, 243, 229, 218,
- 129, 21, 134, 243, 229, 218, 129, 21, 244, 11, 243, 229, 218, 129, 21,
- 244, 81, 243, 229, 218, 129, 21, 219, 125, 243, 229, 218, 129, 21, 220,
- 122, 243, 229, 218, 129, 21, 245, 193, 243, 229, 218, 129, 21, 228, 200,
- 243, 229, 218, 129, 54, 216, 248, 243, 229, 218, 129, 54, 245, 168, 243,
- 229, 218, 129, 54, 215, 77, 243, 229, 218, 129, 54, 216, 165, 243, 229,
- 218, 129, 54, 244, 6, 243, 229, 218, 129, 54, 244, 119, 243, 229, 218,
- 129, 54, 219, 120, 243, 229, 218, 129, 54, 220, 120, 243, 229, 218, 129,
- 54, 245, 191, 243, 229, 218, 129, 54, 228, 198, 243, 229, 218, 129, 54,
- 215, 74, 243, 229, 218, 129, 88, 7, 4, 1, 61, 88, 7, 4, 1, 253, 158, 88,
- 7, 4, 1, 251, 66, 88, 7, 4, 1, 249, 60, 88, 7, 4, 1, 75, 88, 7, 4, 1,
- 245, 6, 88, 7, 4, 1, 243, 202, 88, 7, 4, 1, 242, 60, 88, 7, 4, 1, 73, 88,
- 7, 4, 1, 235, 144, 88, 7, 4, 1, 235, 23, 88, 7, 4, 1, 156, 88, 7, 4, 1,
- 193, 88, 7, 4, 1, 230, 25, 88, 7, 4, 1, 76, 88, 7, 4, 1, 226, 105, 88, 7,
- 4, 1, 224, 96, 88, 7, 4, 1, 153, 88, 7, 4, 1, 222, 91, 88, 7, 4, 1, 217,
- 152, 88, 7, 4, 1, 70, 88, 7, 4, 1, 214, 105, 88, 7, 4, 1, 212, 98, 88, 7,
- 4, 1, 211, 178, 88, 7, 4, 1, 211, 117, 88, 7, 4, 1, 210, 159, 37, 7, 6,
- 1, 61, 37, 7, 6, 1, 253, 158, 37, 7, 6, 1, 251, 66, 37, 7, 6, 1, 249, 60,
- 37, 7, 6, 1, 75, 37, 7, 6, 1, 245, 6, 37, 7, 6, 1, 243, 202, 37, 7, 6, 1,
- 242, 60, 37, 7, 6, 1, 73, 37, 7, 6, 1, 235, 144, 37, 7, 6, 1, 235, 23,
- 37, 7, 6, 1, 156, 37, 7, 6, 1, 193, 37, 7, 6, 1, 230, 25, 37, 7, 6, 1,
- 76, 37, 7, 6, 1, 226, 105, 37, 7, 6, 1, 224, 96, 37, 7, 6, 1, 153, 37, 7,
- 6, 1, 222, 91, 37, 7, 6, 1, 217, 152, 37, 7, 6, 1, 70, 37, 7, 6, 1, 214,
- 105, 37, 7, 6, 1, 212, 98, 37, 7, 6, 1, 211, 178, 37, 7, 6, 1, 211, 117,
- 37, 7, 6, 1, 210, 159, 37, 7, 4, 1, 61, 37, 7, 4, 1, 253, 158, 37, 7, 4,
- 1, 251, 66, 37, 7, 4, 1, 249, 60, 37, 7, 4, 1, 75, 37, 7, 4, 1, 245, 6,
- 37, 7, 4, 1, 243, 202, 37, 7, 4, 1, 242, 60, 37, 7, 4, 1, 73, 37, 7, 4,
- 1, 235, 144, 37, 7, 4, 1, 235, 23, 37, 7, 4, 1, 156, 37, 7, 4, 1, 193,
- 37, 7, 4, 1, 230, 25, 37, 7, 4, 1, 76, 37, 7, 4, 1, 226, 105, 37, 7, 4,
- 1, 224, 96, 37, 7, 4, 1, 153, 37, 7, 4, 1, 222, 91, 37, 7, 4, 1, 217,
- 152, 37, 7, 4, 1, 70, 37, 7, 4, 1, 214, 105, 37, 7, 4, 1, 212, 98, 37, 7,
- 4, 1, 211, 178, 37, 7, 4, 1, 211, 117, 37, 7, 4, 1, 210, 159, 37, 21,
- 210, 86, 152, 37, 54, 245, 167, 152, 37, 54, 215, 76, 152, 37, 54, 216,
- 164, 152, 37, 54, 244, 5, 152, 37, 54, 244, 118, 152, 37, 54, 219, 119,
- 152, 37, 54, 220, 119, 152, 37, 54, 245, 190, 152, 37, 54, 228, 197, 152,
- 37, 54, 215, 73, 52, 37, 21, 110, 52, 37, 21, 105, 52, 37, 21, 158, 52,
- 37, 21, 161, 52, 37, 21, 189, 52, 37, 21, 194, 52, 37, 21, 198, 52, 37,
- 21, 195, 52, 37, 21, 200, 52, 37, 54, 216, 247, 152, 37, 21, 210, 86, 93,
- 99, 192, 241, 44, 93, 99, 114, 241, 44, 93, 99, 192, 213, 239, 93, 99,
- 114, 213, 239, 93, 99, 192, 215, 211, 248, 157, 241, 44, 93, 99, 114,
- 215, 211, 248, 157, 241, 44, 93, 99, 192, 215, 211, 248, 157, 213, 239,
- 93, 99, 114, 215, 211, 248, 157, 213, 239, 93, 99, 192, 224, 24, 248,
- 157, 241, 44, 93, 99, 114, 224, 24, 248, 157, 241, 44, 93, 99, 192, 224,
- 24, 248, 157, 213, 239, 93, 99, 114, 224, 24, 248, 157, 213, 239, 93, 99,
- 192, 124, 22, 222, 251, 93, 99, 124, 192, 22, 44, 241, 221, 93, 99, 124,
- 114, 22, 44, 232, 230, 93, 99, 114, 124, 22, 222, 251, 93, 99, 192, 124,
- 22, 233, 46, 93, 99, 124, 192, 22, 43, 241, 221, 93, 99, 124, 114, 22,
- 43, 232, 230, 93, 99, 114, 124, 22, 233, 46, 93, 99, 192, 120, 22, 222,
- 251, 93, 99, 120, 192, 22, 44, 241, 221, 93, 99, 120, 114, 22, 44, 232,
- 230, 93, 99, 114, 120, 22, 222, 251, 93, 99, 192, 120, 22, 233, 46, 93,
- 99, 120, 192, 22, 43, 241, 221, 93, 99, 120, 114, 22, 43, 232, 230, 93,
- 99, 114, 120, 22, 233, 46, 93, 99, 192, 67, 22, 222, 251, 93, 99, 67,
- 192, 22, 44, 241, 221, 93, 99, 120, 114, 22, 44, 124, 232, 230, 93, 99,
- 124, 114, 22, 44, 120, 232, 230, 93, 99, 67, 114, 22, 44, 232, 230, 93,
- 99, 124, 192, 22, 44, 120, 241, 221, 93, 99, 120, 192, 22, 44, 124, 241,
- 221, 93, 99, 114, 67, 22, 222, 251, 93, 99, 192, 67, 22, 233, 46, 93, 99,
- 67, 192, 22, 43, 241, 221, 93, 99, 120, 114, 22, 43, 124, 232, 230, 93,
- 99, 124, 114, 22, 43, 120, 232, 230, 93, 99, 67, 114, 22, 43, 232, 230,
- 93, 99, 124, 192, 22, 43, 120, 241, 221, 93, 99, 120, 192, 22, 43, 124,
- 241, 221, 93, 99, 114, 67, 22, 233, 46, 93, 99, 192, 124, 22, 241, 44,
- 93, 99, 43, 114, 22, 44, 124, 232, 230, 93, 99, 44, 114, 22, 43, 124,
- 232, 230, 93, 99, 124, 192, 22, 203, 241, 221, 93, 99, 124, 114, 22, 203,
- 232, 230, 93, 99, 44, 192, 22, 43, 124, 241, 221, 93, 99, 43, 192, 22,
- 44, 124, 241, 221, 93, 99, 114, 124, 22, 241, 44, 93, 99, 192, 120, 22,
- 241, 44, 93, 99, 43, 114, 22, 44, 120, 232, 230, 93, 99, 44, 114, 22, 43,
- 120, 232, 230, 93, 99, 120, 192, 22, 203, 241, 221, 93, 99, 120, 114, 22,
- 203, 232, 230, 93, 99, 44, 192, 22, 43, 120, 241, 221, 93, 99, 43, 192,
- 22, 44, 120, 241, 221, 93, 99, 114, 120, 22, 241, 44, 93, 99, 192, 67,
- 22, 241, 44, 93, 99, 43, 114, 22, 44, 67, 232, 230, 93, 99, 44, 114, 22,
- 43, 67, 232, 230, 93, 99, 67, 192, 22, 203, 241, 221, 93, 99, 120, 114,
- 22, 124, 203, 232, 230, 93, 99, 124, 114, 22, 120, 203, 232, 230, 93, 99,
- 67, 114, 22, 203, 232, 230, 93, 99, 43, 120, 114, 22, 44, 124, 232, 230,
- 93, 99, 44, 120, 114, 22, 43, 124, 232, 230, 93, 99, 43, 124, 114, 22,
- 44, 120, 232, 230, 93, 99, 44, 124, 114, 22, 43, 120, 232, 230, 93, 99,
- 124, 192, 22, 120, 203, 241, 221, 93, 99, 120, 192, 22, 124, 203, 241,
- 221, 93, 99, 44, 192, 22, 43, 67, 241, 221, 93, 99, 43, 192, 22, 44, 67,
- 241, 221, 93, 99, 114, 67, 22, 241, 44, 93, 99, 192, 52, 248, 157, 241,
- 44, 93, 99, 114, 52, 248, 157, 241, 44, 93, 99, 192, 52, 248, 157, 213,
- 239, 93, 99, 114, 52, 248, 157, 213, 239, 93, 99, 52, 241, 44, 93, 99,
- 52, 213, 239, 93, 99, 124, 219, 155, 22, 44, 246, 113, 93, 99, 124, 52,
- 22, 44, 219, 154, 93, 99, 52, 124, 22, 222, 251, 93, 99, 124, 219, 155,
- 22, 43, 246, 113, 93, 99, 124, 52, 22, 43, 219, 154, 93, 99, 52, 124, 22,
- 233, 46, 93, 99, 120, 219, 155, 22, 44, 246, 113, 93, 99, 120, 52, 22,
- 44, 219, 154, 93, 99, 52, 120, 22, 222, 251, 93, 99, 120, 219, 155, 22,
- 43, 246, 113, 93, 99, 120, 52, 22, 43, 219, 154, 93, 99, 52, 120, 22,
- 233, 46, 93, 99, 67, 219, 155, 22, 44, 246, 113, 93, 99, 67, 52, 22, 44,
- 219, 154, 93, 99, 52, 67, 22, 222, 251, 93, 99, 67, 219, 155, 22, 43,
- 246, 113, 93, 99, 67, 52, 22, 43, 219, 154, 93, 99, 52, 67, 22, 233, 46,
- 93, 99, 124, 219, 155, 22, 203, 246, 113, 93, 99, 124, 52, 22, 203, 219,
- 154, 93, 99, 52, 124, 22, 241, 44, 93, 99, 120, 219, 155, 22, 203, 246,
- 113, 93, 99, 120, 52, 22, 203, 219, 154, 93, 99, 52, 120, 22, 241, 44,
- 93, 99, 67, 219, 155, 22, 203, 246, 113, 93, 99, 67, 52, 22, 203, 219,
- 154, 93, 99, 52, 67, 22, 241, 44, 93, 99, 192, 254, 26, 124, 22, 222,
- 251, 93, 99, 192, 254, 26, 124, 22, 233, 46, 93, 99, 192, 254, 26, 120,
- 22, 233, 46, 93, 99, 192, 254, 26, 120, 22, 222, 251, 93, 99, 192, 247,
- 255, 214, 160, 44, 216, 42, 232, 108, 233, 46, 93, 99, 192, 247, 255,
- 214, 160, 43, 216, 42, 232, 108, 222, 251, 93, 99, 192, 247, 255, 249,
- 130, 93, 99, 192, 233, 46, 93, 99, 192, 214, 163, 93, 99, 192, 222, 251,
- 93, 99, 192, 246, 106, 93, 99, 114, 233, 46, 93, 99, 114, 214, 163, 93,
- 99, 114, 222, 251, 93, 99, 114, 246, 106, 93, 99, 192, 43, 22, 114, 222,
- 251, 93, 99, 192, 120, 22, 114, 246, 106, 93, 99, 114, 43, 22, 192, 222,
- 251, 93, 99, 114, 120, 22, 192, 246, 106, 214, 160, 163, 251, 213, 232,
- 108, 123, 245, 189, 251, 213, 232, 108, 123, 224, 22, 251, 213, 232, 108,
- 134, 245, 187, 251, 213, 232, 108, 163, 251, 213, 232, 108, 244, 81, 245,
- 187, 251, 213, 232, 108, 134, 224, 20, 251, 213, 232, 108, 220, 122, 245,
- 187, 251, 213, 243, 229, 251, 213, 43, 220, 122, 245, 187, 251, 213, 43,
- 134, 224, 20, 251, 213, 43, 244, 81, 245, 187, 251, 213, 43, 163, 251,
- 213, 43, 134, 245, 187, 251, 213, 43, 123, 224, 22, 251, 213, 43, 123,
- 245, 189, 251, 213, 44, 163, 251, 213, 192, 220, 92, 231, 82, 220, 92,
- 248, 162, 220, 92, 214, 160, 123, 245, 189, 251, 213, 44, 123, 245, 189,
- 251, 213, 224, 26, 232, 108, 233, 46, 224, 26, 232, 108, 222, 251, 224,
- 26, 214, 160, 233, 46, 224, 26, 214, 160, 43, 22, 232, 108, 43, 22, 232,
- 108, 222, 251, 224, 26, 214, 160, 43, 22, 232, 108, 222, 251, 224, 26,
- 214, 160, 43, 22, 214, 160, 44, 22, 232, 108, 233, 46, 224, 26, 214, 160,
- 43, 22, 214, 160, 44, 22, 232, 108, 222, 251, 224, 26, 214, 160, 222,
- 251, 224, 26, 214, 160, 44, 22, 232, 108, 233, 46, 224, 26, 214, 160, 44,
- 22, 232, 108, 43, 22, 232, 108, 222, 251, 85, 218, 234, 71, 218, 234, 71,
- 42, 2, 222, 183, 249, 159, 71, 42, 249, 187, 85, 4, 218, 234, 42, 2, 203,
- 244, 105, 42, 2, 67, 244, 105, 42, 2, 226, 144, 249, 126, 244, 105, 42,
- 2, 214, 160, 43, 216, 42, 232, 108, 44, 244, 105, 42, 2, 214, 160, 44,
- 216, 42, 232, 108, 43, 244, 105, 42, 2, 247, 255, 249, 126, 244, 105, 85,
- 4, 218, 234, 71, 4, 218, 234, 85, 223, 116, 71, 223, 116, 85, 67, 223,
- 116, 71, 67, 223, 116, 85, 226, 6, 71, 226, 6, 85, 214, 162, 215, 225,
- 71, 214, 162, 215, 225, 85, 214, 162, 4, 215, 225, 71, 214, 162, 4, 215,
- 225, 85, 222, 247, 215, 225, 71, 222, 247, 215, 225, 85, 222, 247, 4,
- 215, 225, 71, 222, 247, 4, 215, 225, 85, 222, 247, 225, 8, 71, 222, 247,
- 225, 8, 85, 246, 105, 215, 225, 71, 246, 105, 215, 225, 85, 246, 105, 4,
- 215, 225, 71, 246, 105, 4, 215, 225, 85, 233, 42, 215, 225, 71, 233, 42,
- 215, 225, 85, 233, 42, 4, 215, 225, 71, 233, 42, 4, 215, 225, 85, 233,
- 42, 225, 8, 71, 233, 42, 225, 8, 85, 247, 248, 71, 247, 248, 71, 247,
- 249, 249, 187, 85, 4, 247, 248, 244, 89, 232, 104, 71, 250, 35, 246, 118,
- 250, 35, 250, 36, 2, 67, 244, 105, 251, 111, 85, 250, 35, 250, 36, 2, 43,
- 163, 251, 221, 250, 36, 2, 44, 163, 251, 221, 250, 36, 2, 232, 108, 163,
- 251, 221, 250, 36, 2, 214, 160, 163, 251, 221, 250, 36, 2, 214, 160, 44,
- 224, 26, 251, 221, 250, 36, 2, 254, 155, 251, 88, 214, 160, 43, 224, 26,
- 251, 221, 43, 163, 85, 250, 35, 44, 163, 85, 250, 35, 235, 194, 251, 113,
- 235, 194, 71, 250, 35, 214, 160, 163, 235, 194, 71, 250, 35, 232, 108,
- 163, 235, 194, 71, 250, 35, 214, 160, 43, 224, 26, 250, 33, 254, 25, 214,
- 160, 44, 224, 26, 250, 33, 254, 25, 232, 108, 44, 224, 26, 250, 33, 254,
- 25, 232, 108, 43, 224, 26, 250, 33, 254, 25, 214, 160, 163, 250, 35, 232,
- 108, 163, 250, 35, 85, 232, 108, 44, 215, 225, 85, 232, 108, 43, 215,
- 225, 85, 214, 160, 43, 215, 225, 85, 214, 160, 44, 215, 225, 71, 251,
- 113, 42, 2, 43, 163, 251, 221, 42, 2, 44, 163, 251, 221, 42, 2, 214, 160,
- 43, 247, 255, 163, 251, 221, 42, 2, 232, 108, 44, 247, 255, 163, 251,
- 221, 71, 42, 2, 67, 251, 232, 232, 213, 71, 214, 162, 215, 226, 2, 247,
- 120, 214, 162, 215, 226, 2, 43, 163, 251, 221, 214, 162, 215, 226, 2, 44,
- 163, 251, 221, 233, 85, 250, 35, 71, 42, 2, 214, 160, 43, 224, 25, 71,
- 42, 2, 232, 108, 43, 224, 25, 71, 42, 2, 232, 108, 44, 224, 25, 71, 42,
- 2, 214, 160, 44, 224, 25, 71, 250, 36, 2, 214, 160, 43, 224, 25, 71, 250,
- 36, 2, 232, 108, 43, 224, 25, 71, 250, 36, 2, 232, 108, 44, 224, 25, 71,
- 250, 36, 2, 214, 160, 44, 224, 25, 214, 160, 43, 215, 225, 214, 160, 44,
- 215, 225, 232, 108, 43, 215, 225, 71, 231, 82, 218, 234, 85, 231, 82,
- 218, 234, 71, 231, 82, 4, 218, 234, 85, 231, 82, 4, 218, 234, 232, 108,
- 44, 215, 225, 85, 218, 38, 2, 223, 132, 249, 247, 214, 194, 219, 60, 249,
- 222, 85, 218, 156, 71, 218, 156, 232, 228, 216, 132, 218, 37, 253, 234,
- 228, 71, 248, 38, 228, 71, 249, 195, 226, 163, 85, 217, 0, 71, 217, 0,
- 252, 156, 251, 163, 252, 156, 93, 2, 250, 129, 252, 156, 93, 2, 211, 178,
- 221, 254, 214, 195, 2, 223, 160, 246, 84, 240, 243, 252, 22, 71, 220, 2,
- 225, 101, 85, 220, 2, 225, 101, 220, 87, 223, 49, 222, 187, 244, 55, 241,
- 228, 251, 113, 85, 43, 225, 7, 235, 242, 85, 44, 225, 7, 235, 242, 71,
- 43, 225, 7, 235, 242, 71, 120, 225, 7, 235, 242, 71, 44, 225, 7, 235,
- 242, 71, 124, 225, 7, 235, 242, 219, 101, 22, 249, 129, 250, 219, 50,
- 223, 172, 50, 251, 239, 50, 251, 25, 254, 102, 226, 145, 249, 130, 250,
- 111, 223, 37, 249, 131, 64, 232, 118, 249, 131, 64, 235, 116, 218, 157,
- 22, 249, 136, 244, 168, 87, 254, 248, 220, 89, 242, 22, 22, 219, 189,
- 225, 220, 87, 210, 254, 211, 69, 215, 215, 31, 241, 223, 215, 215, 31,
- 233, 107, 215, 215, 31, 244, 96, 215, 215, 31, 216, 133, 215, 215, 31,
- 211, 239, 215, 215, 31, 212, 40, 215, 215, 31, 230, 115, 215, 215, 31,
- 245, 223, 212, 1, 64, 248, 18, 71, 243, 239, 244, 190, 71, 219, 74, 244,
- 190, 85, 219, 74, 244, 190, 71, 218, 38, 2, 223, 132, 244, 92, 224, 22,
- 230, 128, 233, 80, 224, 22, 230, 128, 231, 54, 244, 138, 50, 245, 223,
- 231, 190, 50, 235, 38, 221, 220, 214, 145, 229, 93, 225, 20, 254, 12,
- 217, 40, 243, 52, 251, 3, 233, 19, 213, 150, 232, 238, 221, 191, 222, 19,
- 250, 248, 254, 42, 225, 52, 71, 250, 117, 234, 78, 71, 250, 117, 224, 14,
- 71, 250, 117, 222, 195, 71, 250, 117, 251, 231, 71, 250, 117, 234, 30,
- 71, 250, 117, 225, 231, 85, 250, 117, 234, 78, 85, 250, 117, 224, 14, 85,
- 250, 117, 222, 195, 85, 250, 117, 251, 231, 85, 250, 117, 234, 30, 85,
- 250, 117, 225, 231, 85, 219, 16, 218, 50, 71, 241, 228, 218, 50, 71, 247,
- 249, 218, 50, 85, 249, 245, 218, 50, 71, 219, 16, 218, 50, 85, 241, 228,
- 218, 50, 85, 247, 249, 218, 50, 71, 249, 245, 218, 50, 240, 243, 218,
- 238, 224, 22, 228, 47, 245, 189, 228, 47, 252, 73, 245, 189, 228, 42,
- 252, 73, 219, 118, 228, 42, 230, 57, 244, 66, 50, 230, 57, 229, 188, 50,
- 230, 57, 220, 76, 50, 212, 9, 188, 249, 130, 245, 220, 188, 249, 130,
- 214, 171, 223, 112, 87, 223, 112, 16, 31, 215, 48, 225, 34, 223, 112, 16,
- 31, 215, 47, 225, 34, 223, 112, 16, 31, 215, 46, 225, 34, 223, 112, 16,
- 31, 215, 45, 225, 34, 223, 112, 16, 31, 215, 44, 225, 34, 223, 112, 16,
- 31, 215, 43, 225, 34, 223, 112, 16, 31, 215, 42, 225, 34, 223, 112, 16,
- 31, 243, 50, 231, 138, 85, 214, 171, 223, 112, 87, 223, 113, 226, 20, 87,
- 225, 252, 226, 20, 87, 225, 174, 226, 20, 50, 211, 255, 87, 247, 241,
- 244, 189, 247, 241, 244, 188, 247, 241, 244, 187, 247, 241, 244, 186,
- 247, 241, 244, 185, 247, 241, 244, 184, 71, 250, 36, 2, 59, 222, 251, 71,
- 250, 36, 2, 113, 247, 118, 85, 250, 36, 2, 71, 59, 222, 251, 85, 250, 36,
- 2, 113, 71, 247, 118, 230, 142, 31, 211, 69, 230, 142, 31, 210, 253, 247,
- 224, 31, 242, 131, 211, 69, 247, 224, 31, 233, 13, 210, 253, 247, 224,
- 31, 233, 13, 211, 69, 247, 224, 31, 242, 131, 210, 253, 71, 244, 73, 85,
- 244, 73, 242, 22, 22, 225, 104, 254, 120, 249, 128, 217, 235, 218, 164,
- 64, 254, 226, 221, 206, 254, 169, 244, 51, 243, 60, 218, 164, 64, 241,
- 202, 253, 199, 87, 244, 62, 226, 126, 71, 218, 156, 134, 232, 208, 249,
- 175, 222, 251, 134, 232, 208, 249, 175, 233, 46, 212, 50, 50, 125, 213,
- 130, 50, 246, 110, 244, 138, 50, 246, 110, 231, 190, 50, 235, 203, 244,
- 138, 22, 231, 190, 50, 231, 190, 22, 244, 138, 50, 231, 190, 2, 218, 103,
- 50, 231, 190, 2, 218, 103, 22, 231, 190, 22, 244, 138, 50, 67, 231, 190,
- 2, 218, 103, 50, 203, 231, 190, 2, 218, 103, 50, 231, 82, 71, 250, 35,
- 231, 82, 85, 250, 35, 231, 82, 4, 71, 250, 35, 231, 153, 87, 247, 167,
- 87, 214, 169, 225, 251, 87, 249, 231, 243, 224, 214, 141, 229, 88, 250,
- 161, 226, 61, 235, 44, 213, 185, 250, 93, 85, 230, 129, 232, 225, 220,
- 112, 220, 147, 224, 5, 220, 130, 219, 55, 252, 159, 252, 126, 92, 234,
- 138, 71, 246, 93, 231, 185, 71, 246, 93, 234, 78, 85, 246, 93, 231, 185,
- 85, 246, 93, 234, 78, 219, 61, 211, 230, 219, 64, 218, 38, 252, 51, 249,
- 247, 223, 159, 85, 219, 60, 216, 134, 249, 248, 22, 223, 159, 215, 94,
- 71, 220, 2, 225, 101, 215, 94, 85, 220, 2, 225, 101, 71, 247, 249, 236,
- 0, 218, 234, 249, 125, 233, 91, 247, 193, 250, 244, 226, 166, 225, 104,
- 250, 245, 219, 88, 241, 212, 2, 71, 249, 130, 37, 249, 125, 233, 91, 250,
- 153, 228, 75, 245, 124, 254, 141, 226, 191, 43, 212, 26, 215, 251, 85,
- 215, 55, 43, 212, 26, 215, 251, 71, 215, 55, 43, 212, 26, 215, 251, 85,
- 43, 233, 92, 231, 53, 71, 43, 233, 92, 231, 53, 246, 89, 219, 82, 50,
- 114, 71, 246, 105, 215, 225, 43, 250, 0, 245, 124, 92, 221, 254, 244,
- 175, 247, 255, 236, 0, 71, 250, 36, 236, 0, 85, 218, 234, 85, 215, 192,
- 223, 60, 43, 245, 123, 223, 60, 43, 245, 122, 253, 211, 16, 31, 214, 145,
- 114, 250, 36, 2, 218, 103, 22, 113, 170, 48, 225, 189, 222, 248, 235,
- 205, 225, 189, 233, 43, 235, 205, 225, 189, 235, 193, 225, 189, 85, 249,
- 131, 226, 197, 220, 29, 220, 17, 219, 229, 250, 61, 250, 226, 241, 157,
- 219, 126, 243, 61, 211, 230, 240, 220, 243, 61, 2, 242, 12, 231, 173, 16,
- 31, 232, 229, 230, 115, 214, 195, 226, 197, 242, 122, 244, 12, 244, 74,
- 236, 0, 241, 59, 244, 129, 222, 14, 42, 244, 11, 249, 159, 219, 104, 240,
- 112, 219, 107, 225, 168, 2, 252, 159, 216, 242, 235, 131, 252, 146, 87,
- 241, 231, 242, 133, 87, 243, 232, 224, 142, 249, 103, 226, 197, 85, 218,
- 234, 71, 244, 74, 2, 203, 230, 224, 85, 218, 104, 214, 160, 251, 217,
- 221, 193, 85, 221, 193, 232, 108, 251, 217, 221, 193, 71, 221, 193, 71,
- 114, 250, 130, 78, 217, 1, 232, 154, 50, 217, 53, 246, 88, 254, 191, 245,
- 119, 223, 157, 244, 85, 223, 157, 242, 15, 213, 174, 242, 15, 211, 198,
- 242, 15, 232, 108, 44, 225, 198, 225, 198, 214, 160, 44, 225, 198, 71,
- 228, 230, 85, 228, 230, 250, 130, 78, 114, 250, 130, 78, 230, 84, 211,
- 178, 114, 230, 84, 211, 178, 252, 156, 211, 178, 114, 252, 156, 211, 178,
- 226, 126, 26, 249, 130, 114, 26, 249, 130, 204, 250, 175, 249, 130, 114,
- 204, 250, 175, 249, 130, 7, 249, 130, 220, 91, 71, 7, 249, 130, 226, 126,
- 7, 249, 130, 231, 187, 249, 130, 218, 157, 64, 248, 149, 244, 11, 217,
- 15, 253, 216, 244, 11, 252, 157, 253, 216, 114, 244, 11, 252, 157, 253,
- 216, 244, 11, 249, 243, 253, 216, 85, 244, 11, 225, 9, 218, 156, 71, 244,
- 11, 225, 9, 218, 156, 219, 11, 218, 111, 226, 126, 71, 218, 156, 37, 71,
- 218, 156, 204, 250, 175, 85, 218, 156, 85, 250, 175, 71, 218, 156, 226,
- 126, 85, 218, 156, 114, 226, 126, 85, 218, 156, 225, 60, 218, 156, 220,
- 91, 71, 218, 156, 114, 253, 216, 204, 250, 175, 253, 216, 245, 193, 218,
- 244, 253, 216, 245, 193, 225, 9, 85, 218, 156, 245, 193, 225, 9, 225, 60,
- 218, 156, 219, 125, 225, 9, 85, 218, 156, 245, 193, 225, 9, 223, 114, 85,
- 218, 156, 114, 245, 193, 225, 9, 223, 114, 85, 218, 156, 215, 77, 225, 9,
- 85, 218, 156, 219, 120, 225, 9, 253, 216, 217, 15, 253, 216, 204, 250,
- 175, 217, 15, 253, 216, 114, 217, 15, 253, 216, 219, 125, 225, 157, 85,
- 22, 71, 244, 54, 85, 244, 54, 71, 244, 54, 245, 193, 225, 157, 226, 126,
- 85, 244, 54, 37, 204, 250, 175, 245, 193, 225, 9, 218, 156, 114, 217, 15,
- 225, 60, 253, 216, 219, 62, 216, 105, 215, 218, 219, 62, 114, 250, 114,
- 219, 62, 219, 13, 114, 219, 13, 252, 157, 253, 216, 245, 193, 217, 15,
- 224, 171, 253, 216, 114, 245, 193, 217, 15, 224, 171, 253, 216, 249, 131,
- 78, 220, 91, 71, 250, 35, 152, 92, 249, 131, 78, 232, 108, 44, 246, 86,
- 71, 218, 234, 214, 160, 44, 246, 86, 71, 218, 234, 232, 108, 44, 220, 91,
- 71, 218, 234, 214, 160, 44, 220, 91, 71, 218, 234, 85, 224, 13, 164, 226,
- 147, 71, 224, 13, 164, 226, 147, 71, 245, 31, 164, 226, 147, 85, 247,
- 249, 230, 182, 71, 211, 178, 114, 245, 31, 164, 87, 192, 67, 130, 231,
- 82, 67, 130, 114, 67, 130, 114, 219, 155, 215, 94, 249, 220, 223, 254,
- 164, 226, 147, 114, 219, 155, 249, 220, 223, 254, 164, 226, 147, 114, 52,
- 215, 94, 249, 220, 223, 254, 164, 226, 147, 114, 52, 249, 220, 223, 254,
- 164, 226, 147, 114, 121, 219, 155, 249, 220, 223, 254, 164, 226, 147,
- 114, 121, 52, 249, 220, 223, 254, 164, 226, 147, 249, 91, 218, 140, 226,
- 15, 5, 226, 147, 114, 245, 31, 164, 226, 147, 114, 241, 228, 245, 31,
- 164, 226, 147, 114, 85, 241, 227, 222, 187, 114, 85, 241, 228, 251, 113,
- 244, 55, 241, 227, 222, 187, 244, 55, 241, 228, 251, 113, 231, 82, 43,
- 226, 4, 226, 147, 231, 82, 44, 226, 4, 226, 147, 231, 82, 244, 63, 43,
- 226, 4, 226, 147, 231, 82, 244, 63, 44, 226, 4, 226, 147, 231, 82, 233,
- 42, 254, 110, 251, 158, 226, 147, 231, 82, 222, 247, 254, 110, 251, 158,
- 226, 147, 114, 233, 42, 254, 110, 223, 254, 164, 226, 147, 114, 222, 247,
- 254, 110, 223, 254, 164, 226, 147, 114, 233, 42, 254, 110, 251, 158, 226,
- 147, 114, 222, 247, 254, 110, 251, 158, 226, 147, 192, 43, 216, 6, 220,
- 53, 251, 158, 226, 147, 192, 44, 216, 6, 220, 53, 251, 158, 226, 147,
- 231, 82, 43, 249, 99, 251, 158, 226, 147, 231, 82, 44, 249, 99, 251, 158,
- 226, 147, 247, 204, 152, 37, 21, 110, 247, 204, 152, 37, 21, 105, 247,
- 204, 152, 37, 21, 158, 247, 204, 152, 37, 21, 161, 247, 204, 152, 37, 21,
- 189, 247, 204, 152, 37, 21, 194, 247, 204, 152, 37, 21, 198, 247, 204,
- 152, 37, 21, 195, 247, 204, 152, 37, 21, 200, 247, 204, 152, 37, 54, 216,
- 247, 247, 204, 37, 35, 21, 110, 247, 204, 37, 35, 21, 105, 247, 204, 37,
- 35, 21, 158, 247, 204, 37, 35, 21, 161, 247, 204, 37, 35, 21, 189, 247,
- 204, 37, 35, 21, 194, 247, 204, 37, 35, 21, 198, 247, 204, 37, 35, 21,
- 195, 247, 204, 37, 35, 21, 200, 247, 204, 37, 35, 54, 216, 247, 247, 204,
- 152, 37, 35, 21, 110, 247, 204, 152, 37, 35, 21, 105, 247, 204, 152, 37,
- 35, 21, 158, 247, 204, 152, 37, 35, 21, 161, 247, 204, 152, 37, 35, 21,
- 189, 247, 204, 152, 37, 35, 21, 194, 247, 204, 152, 37, 35, 21, 198, 247,
- 204, 152, 37, 35, 21, 195, 247, 204, 152, 37, 35, 21, 200, 247, 204, 152,
- 37, 35, 54, 216, 247, 114, 211, 246, 97, 74, 114, 96, 50, 114, 230, 182,
- 50, 114, 247, 169, 50, 114, 219, 28, 245, 220, 74, 114, 97, 74, 114, 228,
- 56, 245, 220, 74, 246, 98, 225, 11, 97, 74, 114, 222, 184, 97, 74, 215,
- 224, 97, 74, 114, 215, 224, 97, 74, 248, 155, 215, 224, 97, 74, 114, 248,
- 155, 215, 224, 97, 74, 85, 97, 74, 216, 144, 216, 12, 97, 253, 249, 216,
- 144, 251, 173, 97, 253, 249, 85, 97, 253, 249, 114, 85, 249, 91, 246,
- 104, 22, 97, 74, 114, 85, 249, 91, 214, 153, 22, 97, 74, 218, 231, 85,
- 97, 74, 114, 249, 206, 85, 97, 74, 222, 246, 71, 97, 74, 233, 41, 71, 97,
- 74, 252, 183, 220, 91, 71, 97, 74, 243, 241, 220, 91, 71, 97, 74, 114,
- 232, 108, 222, 245, 71, 97, 74, 114, 214, 160, 222, 245, 71, 97, 74, 228,
- 49, 232, 108, 222, 245, 71, 97, 74, 249, 99, 232, 123, 228, 49, 214, 160,
- 222, 245, 71, 97, 74, 37, 114, 71, 97, 74, 211, 252, 97, 74, 251, 220,
- 219, 28, 245, 220, 74, 251, 220, 97, 74, 251, 220, 228, 56, 245, 220, 74,
- 114, 251, 220, 219, 28, 245, 220, 74, 114, 251, 220, 97, 74, 114, 251,
- 220, 228, 56, 245, 220, 74, 217, 17, 97, 74, 114, 217, 16, 97, 74, 212,
- 18, 97, 74, 114, 212, 18, 97, 74, 226, 172, 97, 74, 52, 249, 99, 232,
- 123, 134, 247, 214, 254, 109, 71, 215, 226, 249, 187, 4, 71, 215, 225,
- 225, 171, 204, 218, 63, 204, 218, 21, 43, 222, 90, 252, 173, 248, 60, 44,
- 222, 90, 252, 173, 248, 60, 177, 2, 59, 235, 215, 223, 50, 219, 47, 224,
- 201, 218, 63, 218, 22, 224, 201, 219, 46, 67, 252, 141, 2, 203, 91, 11,
- 222, 228, 247, 254, 199, 247, 168, 11, 244, 175, 247, 254, 92, 232, 146,
- 254, 118, 92, 232, 146, 226, 158, 71, 247, 249, 2, 250, 173, 247, 120,
- 22, 2, 247, 120, 245, 170, 64, 226, 170, 214, 152, 232, 108, 44, 249,
- 161, 2, 247, 120, 214, 160, 43, 249, 161, 2, 247, 120, 43, 226, 128, 235,
- 66, 44, 226, 128, 235, 66, 243, 229, 226, 128, 235, 66, 233, 85, 120,
- 217, 87, 233, 85, 124, 217, 87, 43, 22, 44, 52, 215, 93, 43, 22, 44, 217,
- 87, 43, 230, 87, 199, 44, 217, 87, 199, 43, 217, 87, 120, 217, 88, 2,
- 250, 36, 48, 232, 105, 247, 173, 251, 78, 203, 222, 133, 71, 249, 205,
- 247, 248, 71, 249, 205, 247, 249, 2, 140, 216, 114, 71, 249, 205, 247,
- 249, 2, 97, 216, 114, 71, 42, 2, 140, 216, 114, 71, 42, 2, 97, 216, 114,
- 11, 43, 71, 42, 127, 11, 44, 71, 42, 127, 11, 43, 254, 110, 127, 11, 44,
- 254, 110, 127, 11, 43, 52, 254, 110, 127, 11, 44, 52, 254, 110, 127, 11,
- 43, 71, 216, 6, 220, 53, 127, 11, 44, 71, 216, 6, 220, 53, 127, 11, 43,
- 244, 63, 226, 3, 11, 44, 244, 63, 226, 3, 214, 153, 224, 24, 74, 246,
- 104, 224, 24, 74, 254, 88, 243, 98, 250, 36, 74, 250, 2, 243, 98, 250,
- 36, 74, 44, 80, 2, 37, 225, 22, 199, 140, 74, 199, 97, 74, 199, 43, 44,
- 74, 199, 140, 52, 74, 199, 97, 52, 74, 199, 43, 44, 52, 74, 199, 140, 80,
- 243, 243, 130, 199, 97, 80, 243, 243, 130, 199, 140, 52, 80, 243, 243,
- 130, 199, 97, 52, 80, 243, 243, 130, 199, 97, 218, 230, 74, 46, 47, 251,
- 215, 46, 47, 247, 117, 46, 47, 246, 245, 46, 47, 247, 116, 46, 47, 246,
- 181, 46, 47, 247, 52, 46, 47, 246, 244, 46, 47, 247, 115, 46, 47, 246,
- 149, 46, 47, 247, 20, 46, 47, 246, 212, 46, 47, 247, 83, 46, 47, 246,
- 180, 46, 47, 247, 51, 46, 47, 246, 243, 46, 47, 247, 114, 46, 47, 246,
- 133, 46, 47, 247, 4, 46, 47, 246, 196, 46, 47, 247, 67, 46, 47, 246, 164,
- 46, 47, 247, 35, 46, 47, 246, 227, 46, 47, 247, 98, 46, 47, 246, 148, 46,
- 47, 247, 19, 46, 47, 246, 211, 46, 47, 247, 82, 46, 47, 246, 179, 46, 47,
- 247, 50, 46, 47, 246, 242, 46, 47, 247, 113, 46, 47, 246, 125, 46, 47,
- 246, 252, 46, 47, 246, 188, 46, 47, 247, 59, 46, 47, 246, 156, 46, 47,
- 247, 27, 46, 47, 246, 219, 46, 47, 247, 90, 46, 47, 246, 140, 46, 47,
- 247, 11, 46, 47, 246, 203, 46, 47, 247, 74, 46, 47, 246, 171, 46, 47,
- 247, 42, 46, 47, 246, 234, 46, 47, 247, 105, 46, 47, 246, 132, 46, 47,
- 247, 3, 46, 47, 246, 195, 46, 47, 247, 66, 46, 47, 246, 163, 46, 47, 247,
- 34, 46, 47, 246, 226, 46, 47, 247, 97, 46, 47, 246, 147, 46, 47, 247, 18,
- 46, 47, 246, 210, 46, 47, 247, 81, 46, 47, 246, 178, 46, 47, 247, 49, 46,
- 47, 246, 241, 46, 47, 247, 112, 46, 47, 246, 121, 46, 47, 246, 248, 46,
- 47, 246, 184, 46, 47, 247, 55, 46, 47, 246, 152, 46, 47, 247, 23, 46, 47,
- 246, 215, 46, 47, 247, 86, 46, 47, 246, 136, 46, 47, 247, 7, 46, 47, 246,
- 199, 46, 47, 247, 70, 46, 47, 246, 167, 46, 47, 247, 38, 46, 47, 246,
- 230, 46, 47, 247, 101, 46, 47, 246, 128, 46, 47, 246, 255, 46, 47, 246,
- 191, 46, 47, 247, 62, 46, 47, 246, 159, 46, 47, 247, 30, 46, 47, 246,
- 222, 46, 47, 247, 93, 46, 47, 246, 143, 46, 47, 247, 14, 46, 47, 246,
- 206, 46, 47, 247, 77, 46, 47, 246, 174, 46, 47, 247, 45, 46, 47, 246,
- 237, 46, 47, 247, 108, 46, 47, 246, 124, 46, 47, 246, 251, 46, 47, 246,
- 187, 46, 47, 247, 58, 46, 47, 246, 155, 46, 47, 247, 26, 46, 47, 246,
- 218, 46, 47, 247, 89, 46, 47, 246, 139, 46, 47, 247, 10, 46, 47, 246,
- 202, 46, 47, 247, 73, 46, 47, 246, 170, 46, 47, 247, 41, 46, 47, 246,
- 233, 46, 47, 247, 104, 46, 47, 246, 131, 46, 47, 247, 2, 46, 47, 246,
- 194, 46, 47, 247, 65, 46, 47, 246, 162, 46, 47, 247, 33, 46, 47, 246,
- 225, 46, 47, 247, 96, 46, 47, 246, 146, 46, 47, 247, 17, 46, 47, 246,
- 209, 46, 47, 247, 80, 46, 47, 246, 177, 46, 47, 247, 48, 46, 47, 246,
- 240, 46, 47, 247, 111, 46, 47, 246, 119, 46, 47, 246, 246, 46, 47, 246,
- 182, 46, 47, 247, 53, 46, 47, 246, 150, 46, 47, 247, 21, 46, 47, 246,
- 213, 46, 47, 247, 84, 46, 47, 246, 134, 46, 47, 247, 5, 46, 47, 246, 197,
- 46, 47, 247, 68, 46, 47, 246, 165, 46, 47, 247, 36, 46, 47, 246, 228, 46,
- 47, 247, 99, 46, 47, 246, 126, 46, 47, 246, 253, 46, 47, 246, 189, 46,
- 47, 247, 60, 46, 47, 246, 157, 46, 47, 247, 28, 46, 47, 246, 220, 46, 47,
- 247, 91, 46, 47, 246, 141, 46, 47, 247, 12, 46, 47, 246, 204, 46, 47,
- 247, 75, 46, 47, 246, 172, 46, 47, 247, 43, 46, 47, 246, 235, 46, 47,
- 247, 106, 46, 47, 246, 122, 46, 47, 246, 249, 46, 47, 246, 185, 46, 47,
- 247, 56, 46, 47, 246, 153, 46, 47, 247, 24, 46, 47, 246, 216, 46, 47,
- 247, 87, 46, 47, 246, 137, 46, 47, 247, 8, 46, 47, 246, 200, 46, 47, 247,
- 71, 46, 47, 246, 168, 46, 47, 247, 39, 46, 47, 246, 231, 46, 47, 247,
- 102, 46, 47, 246, 129, 46, 47, 247, 0, 46, 47, 246, 192, 46, 47, 247, 63,
- 46, 47, 246, 160, 46, 47, 247, 31, 46, 47, 246, 223, 46, 47, 247, 94, 46,
- 47, 246, 144, 46, 47, 247, 15, 46, 47, 246, 207, 46, 47, 247, 78, 46, 47,
- 246, 175, 46, 47, 247, 46, 46, 47, 246, 238, 46, 47, 247, 109, 46, 47,
- 246, 120, 46, 47, 246, 247, 46, 47, 246, 183, 46, 47, 247, 54, 46, 47,
- 246, 151, 46, 47, 247, 22, 46, 47, 246, 214, 46, 47, 247, 85, 46, 47,
- 246, 135, 46, 47, 247, 6, 46, 47, 246, 198, 46, 47, 247, 69, 46, 47, 246,
- 166, 46, 47, 247, 37, 46, 47, 246, 229, 46, 47, 247, 100, 46, 47, 246,
- 127, 46, 47, 246, 254, 46, 47, 246, 190, 46, 47, 247, 61, 46, 47, 246,
- 158, 46, 47, 247, 29, 46, 47, 246, 221, 46, 47, 247, 92, 46, 47, 246,
- 142, 46, 47, 247, 13, 46, 47, 246, 205, 46, 47, 247, 76, 46, 47, 246,
- 173, 46, 47, 247, 44, 46, 47, 246, 236, 46, 47, 247, 107, 46, 47, 246,
- 123, 46, 47, 246, 250, 46, 47, 246, 186, 46, 47, 247, 57, 46, 47, 246,
- 154, 46, 47, 247, 25, 46, 47, 246, 217, 46, 47, 247, 88, 46, 47, 246,
- 138, 46, 47, 247, 9, 46, 47, 246, 201, 46, 47, 247, 72, 46, 47, 246, 169,
- 46, 47, 247, 40, 46, 47, 246, 232, 46, 47, 247, 103, 46, 47, 246, 130,
- 46, 47, 247, 1, 46, 47, 246, 193, 46, 47, 247, 64, 46, 47, 246, 161, 46,
- 47, 247, 32, 46, 47, 246, 224, 46, 47, 247, 95, 46, 47, 246, 145, 46, 47,
- 247, 16, 46, 47, 246, 208, 46, 47, 247, 79, 46, 47, 246, 176, 46, 47,
- 247, 47, 46, 47, 246, 239, 46, 47, 247, 110, 97, 215, 58, 80, 2, 67, 91,
+ 241, 53, 48, 7, 4, 1, 160, 2, 241, 53, 48, 7, 6, 1, 160, 2, 183, 7, 4, 1,
+ 160, 2, 183, 7, 6, 1, 160, 2, 250, 32, 22, 142, 7, 4, 1, 160, 2, 250, 32,
+ 22, 142, 7, 6, 1, 160, 2, 250, 32, 22, 242, 137, 7, 4, 1, 160, 2, 250,
+ 32, 22, 242, 137, 7, 6, 1, 160, 2, 250, 32, 22, 241, 53, 48, 7, 4, 1,
+ 160, 2, 250, 32, 22, 241, 53, 48, 7, 6, 1, 160, 2, 250, 32, 22, 183, 7,
+ 4, 1, 160, 2, 250, 32, 22, 183, 7, 6, 1, 160, 2, 250, 32, 22, 59, 51, 7,
+ 4, 1, 160, 2, 250, 32, 22, 59, 51, 7, 6, 1, 240, 155, 2, 241, 53, 48, 7,
+ 4, 1, 240, 155, 2, 241, 53, 48, 7, 6, 1, 240, 155, 2, 59, 51, 7, 4, 1,
+ 240, 155, 2, 59, 51, 7, 6, 1, 144, 2, 59, 51, 7, 4, 1, 144, 2, 59, 51, 7,
+ 6, 1, 144, 2, 241, 53, 48, 7, 4, 1, 144, 2, 241, 53, 48, 7, 6, 1, 144, 2,
+ 250, 32, 22, 142, 7, 4, 1, 144, 2, 250, 32, 22, 142, 7, 6, 1, 144, 2,
+ 250, 32, 22, 242, 137, 7, 4, 1, 144, 2, 250, 32, 22, 242, 137, 7, 6, 1,
+ 144, 2, 250, 32, 22, 241, 53, 48, 7, 4, 1, 144, 2, 250, 32, 22, 241, 53,
+ 48, 7, 6, 1, 144, 2, 250, 32, 22, 183, 7, 4, 1, 144, 2, 250, 32, 22, 183,
+ 7, 6, 1, 144, 2, 250, 32, 22, 59, 51, 7, 4, 1, 144, 2, 250, 32, 22, 59,
+ 51, 7, 6, 1, 144, 2, 240, 250, 22, 142, 7, 4, 1, 144, 2, 240, 250, 22,
+ 142, 7, 6, 1, 144, 2, 240, 250, 22, 242, 137, 7, 4, 1, 144, 2, 240, 250,
+ 22, 242, 137, 7, 6, 1, 144, 2, 240, 250, 22, 241, 53, 48, 7, 4, 1, 144,
+ 2, 240, 250, 22, 241, 53, 48, 7, 6, 1, 144, 2, 240, 250, 22, 183, 7, 4,
+ 1, 144, 2, 240, 250, 22, 183, 7, 6, 1, 144, 2, 240, 250, 22, 59, 51, 7,
+ 4, 1, 144, 2, 240, 250, 22, 59, 51, 7, 6, 1, 104, 2, 59, 51, 7, 4, 1,
+ 104, 2, 59, 51, 7, 6, 1, 104, 2, 241, 53, 48, 7, 4, 1, 104, 2, 241, 53,
+ 48, 7, 6, 1, 104, 2, 240, 250, 22, 142, 7, 4, 1, 104, 2, 240, 250, 22,
+ 142, 7, 6, 1, 104, 2, 240, 250, 22, 242, 137, 7, 4, 1, 104, 2, 240, 250,
+ 22, 242, 137, 7, 6, 1, 104, 2, 240, 250, 22, 241, 53, 48, 7, 4, 1, 104,
+ 2, 240, 250, 22, 241, 53, 48, 7, 6, 1, 104, 2, 240, 250, 22, 183, 7, 4,
+ 1, 104, 2, 240, 250, 22, 183, 7, 6, 1, 104, 2, 240, 250, 22, 59, 51, 7,
+ 4, 1, 104, 2, 240, 250, 22, 59, 51, 7, 6, 1, 211, 118, 2, 242, 137, 7, 4,
+ 1, 211, 118, 2, 242, 137, 7, 6, 1, 211, 118, 2, 59, 51, 7, 4, 1, 211,
+ 118, 2, 59, 51, 7, 6, 1, 211, 118, 2, 241, 53, 48, 7, 4, 1, 211, 118, 2,
+ 241, 53, 48, 7, 6, 1, 211, 118, 2, 183, 7, 4, 1, 211, 118, 2, 183, 7, 6,
+ 1, 230, 224, 232, 186, 7, 4, 1, 230, 224, 232, 186, 7, 6, 1, 230, 224,
+ 214, 105, 7, 4, 1, 230, 224, 214, 105, 7, 6, 1, 211, 118, 2, 232, 124, 7,
+ 4, 1, 211, 118, 2, 232, 124, 26, 4, 1, 254, 145, 2, 224, 155, 26, 4, 1,
+ 254, 145, 2, 248, 154, 26, 4, 1, 254, 145, 2, 224, 156, 22, 214, 13, 26,
+ 4, 1, 254, 145, 2, 248, 155, 22, 214, 13, 26, 4, 1, 254, 145, 2, 224,
+ 156, 22, 226, 111, 26, 4, 1, 254, 145, 2, 248, 155, 22, 226, 111, 26, 4,
+ 1, 254, 145, 2, 224, 156, 22, 225, 176, 26, 4, 1, 254, 145, 2, 248, 155,
+ 22, 225, 176, 26, 6, 1, 254, 145, 2, 224, 155, 26, 6, 1, 254, 145, 2,
+ 248, 154, 26, 6, 1, 254, 145, 2, 224, 156, 22, 214, 13, 26, 6, 1, 254,
+ 145, 2, 248, 155, 22, 214, 13, 26, 6, 1, 254, 145, 2, 224, 156, 22, 226,
+ 111, 26, 6, 1, 254, 145, 2, 248, 155, 22, 226, 111, 26, 6, 1, 254, 145,
+ 2, 224, 156, 22, 225, 176, 26, 6, 1, 254, 145, 2, 248, 155, 22, 225, 176,
+ 26, 4, 1, 245, 102, 2, 224, 155, 26, 4, 1, 245, 102, 2, 248, 154, 26, 4,
+ 1, 245, 102, 2, 224, 156, 22, 214, 13, 26, 4, 1, 245, 102, 2, 248, 155,
+ 22, 214, 13, 26, 4, 1, 245, 102, 2, 224, 156, 22, 226, 111, 26, 4, 1,
+ 245, 102, 2, 248, 155, 22, 226, 111, 26, 6, 1, 245, 102, 2, 224, 155, 26,
+ 6, 1, 245, 102, 2, 248, 154, 26, 6, 1, 245, 102, 2, 224, 156, 22, 214,
+ 13, 26, 6, 1, 245, 102, 2, 248, 155, 22, 214, 13, 26, 6, 1, 245, 102, 2,
+ 224, 156, 22, 226, 111, 26, 6, 1, 245, 102, 2, 248, 155, 22, 226, 111,
+ 26, 4, 1, 245, 65, 2, 224, 155, 26, 4, 1, 245, 65, 2, 248, 154, 26, 4, 1,
+ 245, 65, 2, 224, 156, 22, 214, 13, 26, 4, 1, 245, 65, 2, 248, 155, 22,
+ 214, 13, 26, 4, 1, 245, 65, 2, 224, 156, 22, 226, 111, 26, 4, 1, 245, 65,
+ 2, 248, 155, 22, 226, 111, 26, 4, 1, 245, 65, 2, 224, 156, 22, 225, 176,
+ 26, 4, 1, 245, 65, 2, 248, 155, 22, 225, 176, 26, 6, 1, 245, 65, 2, 224,
+ 155, 26, 6, 1, 245, 65, 2, 248, 154, 26, 6, 1, 245, 65, 2, 224, 156, 22,
+ 214, 13, 26, 6, 1, 245, 65, 2, 248, 155, 22, 214, 13, 26, 6, 1, 245, 65,
+ 2, 224, 156, 22, 226, 111, 26, 6, 1, 245, 65, 2, 248, 155, 22, 226, 111,
+ 26, 6, 1, 245, 65, 2, 224, 156, 22, 225, 176, 26, 6, 1, 245, 65, 2, 248,
+ 155, 22, 225, 176, 26, 4, 1, 235, 187, 2, 224, 155, 26, 4, 1, 235, 187,
+ 2, 248, 154, 26, 4, 1, 235, 187, 2, 224, 156, 22, 214, 13, 26, 4, 1, 235,
+ 187, 2, 248, 155, 22, 214, 13, 26, 4, 1, 235, 187, 2, 224, 156, 22, 226,
+ 111, 26, 4, 1, 235, 187, 2, 248, 155, 22, 226, 111, 26, 4, 1, 235, 187,
+ 2, 224, 156, 22, 225, 176, 26, 4, 1, 235, 187, 2, 248, 155, 22, 225, 176,
+ 26, 6, 1, 235, 187, 2, 224, 155, 26, 6, 1, 235, 187, 2, 248, 154, 26, 6,
+ 1, 235, 187, 2, 224, 156, 22, 214, 13, 26, 6, 1, 235, 187, 2, 248, 155,
+ 22, 214, 13, 26, 6, 1, 235, 187, 2, 224, 156, 22, 226, 111, 26, 6, 1,
+ 235, 187, 2, 248, 155, 22, 226, 111, 26, 6, 1, 235, 187, 2, 224, 156, 22,
+ 225, 176, 26, 6, 1, 235, 187, 2, 248, 155, 22, 225, 176, 26, 4, 1, 226,
+ 201, 2, 224, 155, 26, 4, 1, 226, 201, 2, 248, 154, 26, 4, 1, 226, 201, 2,
+ 224, 156, 22, 214, 13, 26, 4, 1, 226, 201, 2, 248, 155, 22, 214, 13, 26,
+ 4, 1, 226, 201, 2, 224, 156, 22, 226, 111, 26, 4, 1, 226, 201, 2, 248,
+ 155, 22, 226, 111, 26, 6, 1, 226, 201, 2, 224, 155, 26, 6, 1, 226, 201,
+ 2, 248, 154, 26, 6, 1, 226, 201, 2, 224, 156, 22, 214, 13, 26, 6, 1, 226,
+ 201, 2, 248, 155, 22, 214, 13, 26, 6, 1, 226, 201, 2, 224, 156, 22, 226,
+ 111, 26, 6, 1, 226, 201, 2, 248, 155, 22, 226, 111, 26, 4, 1, 214, 158,
+ 2, 224, 155, 26, 4, 1, 214, 158, 2, 248, 154, 26, 4, 1, 214, 158, 2, 224,
+ 156, 22, 214, 13, 26, 4, 1, 214, 158, 2, 248, 155, 22, 214, 13, 26, 4, 1,
+ 214, 158, 2, 224, 156, 22, 226, 111, 26, 4, 1, 214, 158, 2, 248, 155, 22,
+ 226, 111, 26, 4, 1, 214, 158, 2, 224, 156, 22, 225, 176, 26, 4, 1, 214,
+ 158, 2, 248, 155, 22, 225, 176, 26, 6, 1, 214, 158, 2, 248, 154, 26, 6,
+ 1, 214, 158, 2, 248, 155, 22, 214, 13, 26, 6, 1, 214, 158, 2, 248, 155,
+ 22, 226, 111, 26, 6, 1, 214, 158, 2, 248, 155, 22, 225, 176, 26, 4, 1,
+ 226, 203, 2, 224, 155, 26, 4, 1, 226, 203, 2, 248, 154, 26, 4, 1, 226,
+ 203, 2, 224, 156, 22, 214, 13, 26, 4, 1, 226, 203, 2, 248, 155, 22, 214,
+ 13, 26, 4, 1, 226, 203, 2, 224, 156, 22, 226, 111, 26, 4, 1, 226, 203, 2,
+ 248, 155, 22, 226, 111, 26, 4, 1, 226, 203, 2, 224, 156, 22, 225, 176,
+ 26, 4, 1, 226, 203, 2, 248, 155, 22, 225, 176, 26, 6, 1, 226, 203, 2,
+ 224, 155, 26, 6, 1, 226, 203, 2, 248, 154, 26, 6, 1, 226, 203, 2, 224,
+ 156, 22, 214, 13, 26, 6, 1, 226, 203, 2, 248, 155, 22, 214, 13, 26, 6, 1,
+ 226, 203, 2, 224, 156, 22, 226, 111, 26, 6, 1, 226, 203, 2, 248, 155, 22,
+ 226, 111, 26, 6, 1, 226, 203, 2, 224, 156, 22, 225, 176, 26, 6, 1, 226,
+ 203, 2, 248, 155, 22, 225, 176, 26, 4, 1, 254, 145, 2, 214, 13, 26, 4, 1,
+ 254, 145, 2, 226, 111, 26, 4, 1, 245, 102, 2, 214, 13, 26, 4, 1, 245,
+ 102, 2, 226, 111, 26, 4, 1, 245, 65, 2, 214, 13, 26, 4, 1, 245, 65, 2,
+ 226, 111, 26, 4, 1, 235, 187, 2, 214, 13, 26, 4, 1, 235, 187, 2, 226,
+ 111, 26, 4, 1, 226, 201, 2, 214, 13, 26, 4, 1, 226, 201, 2, 226, 111, 26,
+ 4, 1, 214, 158, 2, 214, 13, 26, 4, 1, 214, 158, 2, 226, 111, 26, 4, 1,
+ 226, 203, 2, 214, 13, 26, 4, 1, 226, 203, 2, 226, 111, 26, 4, 1, 254,
+ 145, 2, 224, 156, 22, 210, 219, 26, 4, 1, 254, 145, 2, 248, 155, 22, 210,
+ 219, 26, 4, 1, 254, 145, 2, 224, 156, 22, 214, 14, 22, 210, 219, 26, 4,
+ 1, 254, 145, 2, 248, 155, 22, 214, 14, 22, 210, 219, 26, 4, 1, 254, 145,
+ 2, 224, 156, 22, 226, 112, 22, 210, 219, 26, 4, 1, 254, 145, 2, 248, 155,
+ 22, 226, 112, 22, 210, 219, 26, 4, 1, 254, 145, 2, 224, 156, 22, 225,
+ 177, 22, 210, 219, 26, 4, 1, 254, 145, 2, 248, 155, 22, 225, 177, 22,
+ 210, 219, 26, 6, 1, 254, 145, 2, 224, 156, 22, 224, 168, 26, 6, 1, 254,
+ 145, 2, 248, 155, 22, 224, 168, 26, 6, 1, 254, 145, 2, 224, 156, 22, 214,
+ 14, 22, 224, 168, 26, 6, 1, 254, 145, 2, 248, 155, 22, 214, 14, 22, 224,
+ 168, 26, 6, 1, 254, 145, 2, 224, 156, 22, 226, 112, 22, 224, 168, 26, 6,
+ 1, 254, 145, 2, 248, 155, 22, 226, 112, 22, 224, 168, 26, 6, 1, 254, 145,
+ 2, 224, 156, 22, 225, 177, 22, 224, 168, 26, 6, 1, 254, 145, 2, 248, 155,
+ 22, 225, 177, 22, 224, 168, 26, 4, 1, 245, 65, 2, 224, 156, 22, 210, 219,
+ 26, 4, 1, 245, 65, 2, 248, 155, 22, 210, 219, 26, 4, 1, 245, 65, 2, 224,
+ 156, 22, 214, 14, 22, 210, 219, 26, 4, 1, 245, 65, 2, 248, 155, 22, 214,
+ 14, 22, 210, 219, 26, 4, 1, 245, 65, 2, 224, 156, 22, 226, 112, 22, 210,
+ 219, 26, 4, 1, 245, 65, 2, 248, 155, 22, 226, 112, 22, 210, 219, 26, 4,
+ 1, 245, 65, 2, 224, 156, 22, 225, 177, 22, 210, 219, 26, 4, 1, 245, 65,
+ 2, 248, 155, 22, 225, 177, 22, 210, 219, 26, 6, 1, 245, 65, 2, 224, 156,
+ 22, 224, 168, 26, 6, 1, 245, 65, 2, 248, 155, 22, 224, 168, 26, 6, 1,
+ 245, 65, 2, 224, 156, 22, 214, 14, 22, 224, 168, 26, 6, 1, 245, 65, 2,
+ 248, 155, 22, 214, 14, 22, 224, 168, 26, 6, 1, 245, 65, 2, 224, 156, 22,
+ 226, 112, 22, 224, 168, 26, 6, 1, 245, 65, 2, 248, 155, 22, 226, 112, 22,
+ 224, 168, 26, 6, 1, 245, 65, 2, 224, 156, 22, 225, 177, 22, 224, 168, 26,
+ 6, 1, 245, 65, 2, 248, 155, 22, 225, 177, 22, 224, 168, 26, 4, 1, 226,
+ 203, 2, 224, 156, 22, 210, 219, 26, 4, 1, 226, 203, 2, 248, 155, 22, 210,
+ 219, 26, 4, 1, 226, 203, 2, 224, 156, 22, 214, 14, 22, 210, 219, 26, 4,
+ 1, 226, 203, 2, 248, 155, 22, 214, 14, 22, 210, 219, 26, 4, 1, 226, 203,
+ 2, 224, 156, 22, 226, 112, 22, 210, 219, 26, 4, 1, 226, 203, 2, 248, 155,
+ 22, 226, 112, 22, 210, 219, 26, 4, 1, 226, 203, 2, 224, 156, 22, 225,
+ 177, 22, 210, 219, 26, 4, 1, 226, 203, 2, 248, 155, 22, 225, 177, 22,
+ 210, 219, 26, 6, 1, 226, 203, 2, 224, 156, 22, 224, 168, 26, 6, 1, 226,
+ 203, 2, 248, 155, 22, 224, 168, 26, 6, 1, 226, 203, 2, 224, 156, 22, 214,
+ 14, 22, 224, 168, 26, 6, 1, 226, 203, 2, 248, 155, 22, 214, 14, 22, 224,
+ 168, 26, 6, 1, 226, 203, 2, 224, 156, 22, 226, 112, 22, 224, 168, 26, 6,
+ 1, 226, 203, 2, 248, 155, 22, 226, 112, 22, 224, 168, 26, 6, 1, 226, 203,
+ 2, 224, 156, 22, 225, 177, 22, 224, 168, 26, 6, 1, 226, 203, 2, 248, 155,
+ 22, 225, 177, 22, 224, 168, 26, 4, 1, 254, 145, 2, 213, 120, 26, 4, 1,
+ 254, 145, 2, 231, 233, 26, 4, 1, 254, 145, 2, 214, 14, 22, 210, 219, 26,
+ 4, 1, 254, 145, 2, 210, 219, 26, 4, 1, 254, 145, 2, 226, 112, 22, 210,
+ 219, 26, 4, 1, 254, 145, 2, 225, 176, 26, 4, 1, 254, 145, 2, 225, 177,
+ 22, 210, 219, 26, 6, 1, 254, 145, 2, 213, 120, 26, 6, 1, 254, 145, 2,
+ 231, 233, 26, 6, 1, 254, 145, 2, 214, 13, 26, 6, 1, 254, 145, 2, 226,
+ 111, 26, 6, 1, 254, 145, 2, 224, 168, 26, 234, 3, 26, 224, 168, 26, 224,
+ 155, 26, 225, 176, 26, 247, 253, 22, 225, 176, 26, 4, 1, 245, 65, 2, 214,
+ 14, 22, 210, 219, 26, 4, 1, 245, 65, 2, 210, 219, 26, 4, 1, 245, 65, 2,
+ 226, 112, 22, 210, 219, 26, 4, 1, 245, 65, 2, 225, 176, 26, 4, 1, 245,
+ 65, 2, 225, 177, 22, 210, 219, 26, 6, 1, 245, 102, 2, 214, 13, 26, 6, 1,
+ 245, 102, 2, 226, 111, 26, 6, 1, 245, 65, 2, 214, 13, 26, 6, 1, 245, 65,
+ 2, 226, 111, 26, 6, 1, 245, 65, 2, 224, 168, 26, 224, 156, 22, 214, 13,
+ 26, 224, 156, 22, 226, 111, 26, 224, 156, 22, 225, 176, 26, 4, 1, 235,
+ 187, 2, 213, 120, 26, 4, 1, 235, 187, 2, 231, 233, 26, 4, 1, 235, 187, 2,
+ 247, 253, 22, 214, 13, 26, 4, 1, 235, 187, 2, 247, 253, 22, 226, 111, 26,
+ 4, 1, 235, 187, 2, 225, 176, 26, 4, 1, 235, 187, 2, 247, 253, 22, 225,
+ 176, 26, 6, 1, 235, 187, 2, 213, 120, 26, 6, 1, 235, 187, 2, 231, 233,
+ 26, 6, 1, 235, 187, 2, 214, 13, 26, 6, 1, 235, 187, 2, 226, 111, 26, 248,
+ 155, 22, 214, 13, 26, 248, 155, 22, 226, 111, 26, 248, 155, 22, 225, 176,
+ 26, 4, 1, 214, 158, 2, 213, 120, 26, 4, 1, 214, 158, 2, 231, 233, 26, 4,
+ 1, 214, 158, 2, 247, 253, 22, 214, 13, 26, 4, 1, 214, 158, 2, 247, 253,
+ 22, 226, 111, 26, 4, 1, 223, 39, 2, 224, 155, 26, 4, 1, 223, 39, 2, 248,
+ 154, 26, 4, 1, 214, 158, 2, 225, 176, 26, 4, 1, 214, 158, 2, 247, 253,
+ 22, 225, 176, 26, 6, 1, 214, 158, 2, 213, 120, 26, 6, 1, 214, 158, 2,
+ 231, 233, 26, 6, 1, 214, 158, 2, 214, 13, 26, 6, 1, 214, 158, 2, 226,
+ 111, 26, 6, 1, 223, 39, 2, 248, 154, 26, 247, 253, 22, 214, 13, 26, 247,
+ 253, 22, 226, 111, 26, 214, 13, 26, 4, 1, 226, 203, 2, 214, 14, 22, 210,
+ 219, 26, 4, 1, 226, 203, 2, 210, 219, 26, 4, 1, 226, 203, 2, 226, 112,
+ 22, 210, 219, 26, 4, 1, 226, 203, 2, 225, 176, 26, 4, 1, 226, 203, 2,
+ 225, 177, 22, 210, 219, 26, 6, 1, 226, 201, 2, 214, 13, 26, 6, 1, 226,
+ 201, 2, 226, 111, 26, 6, 1, 226, 203, 2, 214, 13, 26, 6, 1, 226, 203, 2,
+ 226, 111, 26, 6, 1, 226, 203, 2, 224, 168, 26, 226, 111, 26, 248, 154,
+ 245, 152, 224, 28, 245, 161, 224, 28, 245, 152, 219, 19, 245, 161, 219,
+ 19, 216, 142, 219, 19, 244, 10, 219, 19, 219, 124, 219, 19, 244, 113,
+ 219, 19, 224, 142, 219, 19, 216, 171, 219, 19, 242, 36, 219, 19, 210, 87,
+ 211, 245, 219, 19, 210, 87, 211, 245, 228, 68, 210, 87, 211, 245, 235,
+ 64, 233, 39, 78, 222, 244, 78, 240, 169, 228, 69, 240, 169, 244, 113,
+ 248, 157, 245, 152, 248, 157, 245, 161, 248, 157, 203, 130, 52, 67, 232,
+ 214, 52, 121, 232, 214, 43, 219, 156, 223, 255, 78, 44, 219, 156, 223,
+ 255, 78, 219, 156, 232, 110, 223, 255, 78, 219, 156, 241, 164, 223, 255,
+ 78, 43, 52, 223, 255, 78, 44, 52, 223, 255, 78, 52, 232, 110, 223, 255,
+ 78, 52, 241, 164, 223, 255, 78, 248, 206, 52, 248, 206, 251, 114, 215,
+ 223, 251, 114, 123, 59, 233, 57, 113, 59, 233, 57, 203, 245, 164, 240,
+ 167, 225, 11, 232, 215, 220, 138, 226, 16, 220, 138, 233, 39, 245, 159,
+ 222, 244, 245, 159, 224, 247, 247, 197, 244, 20, 233, 39, 226, 118, 222,
+ 244, 226, 118, 229, 195, 228, 74, 219, 19, 225, 184, 230, 194, 50, 225,
+ 184, 216, 249, 216, 149, 50, 224, 191, 52, 224, 191, 215, 212, 224, 191,
+ 223, 50, 224, 191, 223, 50, 52, 224, 191, 223, 50, 215, 212, 224, 191,
+ 250, 239, 219, 156, 233, 43, 254, 111, 223, 255, 78, 219, 156, 222, 248,
+ 254, 111, 223, 255, 78, 223, 108, 78, 52, 245, 32, 78, 235, 202, 226,
+ 120, 214, 180, 135, 216, 112, 250, 240, 235, 217, 225, 11, 253, 215, 240,
+ 170, 251, 114, 244, 3, 219, 96, 43, 42, 251, 159, 2, 224, 8, 44, 42, 251,
+ 159, 2, 224, 8, 52, 224, 14, 78, 224, 14, 245, 32, 78, 245, 32, 224, 14,
+ 78, 216, 71, 5, 245, 66, 223, 50, 225, 69, 50, 85, 140, 251, 114, 85, 97,
+ 251, 114, 121, 253, 217, 223, 50, 220, 151, 250, 2, 214, 163, 113, 253,
+ 216, 254, 159, 213, 188, 249, 218, 230, 183, 50, 217, 235, 248, 157, 235,
+ 194, 214, 180, 244, 53, 224, 142, 78, 134, 59, 224, 141, 224, 25, 224,
+ 191, 244, 12, 59, 224, 141, 244, 82, 59, 224, 141, 113, 59, 224, 141,
+ 244, 12, 59, 78, 246, 119, 249, 131, 215, 222, 67, 244, 12, 247, 119,
+ 231, 83, 11, 219, 19, 211, 209, 235, 64, 243, 228, 254, 53, 235, 192,
+ 216, 86, 235, 192, 220, 138, 235, 192, 225, 23, 235, 229, 217, 183, 217,
+ 252, 255, 6, 217, 183, 217, 252, 235, 229, 10, 244, 21, 220, 81, 255, 6,
+ 10, 244, 21, 220, 81, 229, 190, 21, 220, 82, 228, 70, 21, 220, 82, 218,
+ 24, 210, 86, 218, 24, 7, 4, 1, 73, 218, 24, 161, 218, 24, 189, 218, 24,
+ 194, 218, 24, 198, 218, 24, 195, 218, 24, 200, 218, 24, 96, 50, 218, 24,
+ 230, 182, 218, 24, 245, 99, 50, 218, 24, 43, 226, 4, 218, 24, 44, 226, 4,
+ 218, 24, 7, 4, 1, 230, 26, 218, 66, 210, 86, 218, 66, 110, 218, 66, 105,
+ 218, 66, 158, 218, 66, 161, 218, 66, 189, 218, 66, 194, 218, 66, 198,
+ 218, 66, 195, 218, 66, 200, 218, 66, 96, 50, 218, 66, 230, 182, 218, 66,
+ 245, 99, 50, 218, 66, 43, 226, 4, 218, 66, 44, 226, 4, 7, 218, 66, 4, 1,
+ 61, 7, 218, 66, 4, 1, 75, 7, 218, 66, 4, 1, 76, 7, 218, 66, 4, 1, 211,
+ 178, 7, 218, 66, 4, 1, 221, 196, 7, 218, 66, 4, 1, 242, 61, 7, 218, 66,
+ 4, 1, 235, 24, 7, 218, 66, 4, 1, 156, 7, 218, 66, 4, 1, 193, 7, 218, 66,
+ 4, 1, 230, 26, 7, 218, 66, 4, 1, 226, 106, 7, 218, 66, 4, 1, 222, 92, 7,
+ 218, 66, 4, 1, 217, 153, 245, 47, 50, 249, 228, 50, 249, 118, 50, 243,
+ 252, 243, 255, 50, 232, 199, 50, 230, 195, 50, 229, 211, 50, 225, 163,
+ 50, 222, 119, 50, 211, 217, 50, 166, 220, 50, 50, 247, 128, 50, 245, 48,
+ 50, 234, 77, 50, 215, 113, 50, 246, 102, 50, 243, 41, 225, 194, 50, 225,
+ 161, 50, 242, 110, 50, 253, 183, 50, 240, 229, 50, 250, 186, 50, 232,
+ 192, 216, 4, 50, 219, 1, 50, 216, 246, 50, 235, 242, 222, 119, 50, 215,
+ 97, 232, 199, 50, 38, 43, 242, 0, 48, 38, 44, 242, 0, 48, 38, 199, 67,
+ 232, 215, 226, 121, 38, 219, 252, 67, 232, 215, 226, 121, 38, 254, 89,
+ 80, 48, 38, 250, 3, 80, 48, 38, 43, 80, 48, 38, 44, 80, 48, 38, 222, 235,
+ 226, 121, 38, 250, 3, 222, 235, 226, 121, 38, 254, 89, 222, 235, 226,
+ 121, 38, 134, 170, 48, 38, 244, 12, 170, 48, 38, 245, 147, 250, 36, 38,
+ 245, 147, 218, 235, 38, 245, 147, 247, 249, 38, 245, 147, 250, 37, 252,
+ 181, 38, 43, 44, 80, 48, 38, 245, 147, 221, 189, 38, 245, 147, 234, 136,
+ 38, 245, 147, 214, 155, 225, 8, 215, 226, 38, 223, 51, 219, 48, 226, 121,
+ 38, 52, 67, 218, 104, 226, 121, 38, 254, 99, 87, 38, 215, 212, 214, 182,
+ 38, 211, 247, 251, 141, 48, 38, 140, 80, 226, 121, 38, 199, 52, 219, 48,
+ 226, 121, 38, 97, 242, 0, 2, 252, 140, 246, 104, 38, 140, 242, 0, 2, 252,
+ 140, 246, 104, 38, 43, 80, 51, 38, 44, 80, 51, 38, 253, 218, 48, 255, 12,
+ 226, 232, 254, 252, 216, 43, 216, 197, 218, 75, 139, 6, 251, 67, 248, 72,
+ 250, 179, 250, 176, 232, 215, 87, 250, 241, 226, 232, 251, 27, 214, 189,
+ 245, 49, 249, 192, 221, 186, 248, 72, 244, 180, 119, 4, 243, 203, 119, 6,
+ 242, 61, 251, 220, 6, 242, 61, 139, 6, 242, 61, 225, 38, 249, 192, 225,
+ 38, 249, 193, 117, 113, 225, 109, 119, 6, 73, 251, 220, 6, 73, 119, 6,
+ 156, 119, 4, 156, 233, 150, 57, 252, 142, 87, 139, 6, 230, 26, 227, 197,
+ 50, 219, 32, 223, 120, 249, 163, 119, 6, 226, 106, 139, 6, 226, 106, 139,
+ 6, 224, 97, 119, 6, 153, 251, 220, 6, 153, 139, 6, 153, 224, 197, 217,
+ 72, 223, 63, 220, 133, 78, 217, 2, 50, 215, 254, 164, 50, 213, 240, 139,
+ 6, 210, 159, 226, 134, 50, 226, 222, 50, 235, 194, 226, 222, 50, 251,
+ 220, 6, 210, 159, 215, 94, 26, 4, 1, 235, 186, 234, 174, 50, 254, 108,
+ 50, 119, 6, 253, 159, 251, 220, 6, 251, 67, 245, 69, 87, 119, 4, 75, 119,
+ 6, 75, 119, 6, 245, 7, 215, 94, 6, 245, 7, 119, 6, 193, 119, 4, 76, 112,
+ 87, 252, 30, 87, 242, 203, 87, 248, 191, 87, 235, 233, 219, 30, 222, 188,
+ 6, 224, 97, 244, 183, 50, 139, 4, 225, 109, 139, 4, 243, 108, 139, 6,
+ 243, 108, 139, 6, 225, 109, 139, 230, 25, 218, 41, 215, 94, 35, 6, 243,
+ 203, 215, 94, 35, 6, 156, 223, 50, 35, 6, 156, 215, 94, 35, 6, 211, 117,
+ 139, 32, 6, 249, 61, 139, 32, 4, 249, 61, 139, 32, 4, 75, 139, 32, 4, 73,
+ 139, 32, 4, 235, 145, 224, 171, 232, 214, 215, 94, 254, 127, 225, 184,
+ 50, 254, 181, 215, 94, 4, 245, 7, 16, 31, 221, 253, 219, 30, 212, 114,
+ 244, 3, 123, 220, 119, 212, 114, 244, 3, 123, 228, 195, 212, 114, 244, 3,
+ 123, 216, 242, 212, 114, 244, 3, 123, 216, 169, 212, 114, 244, 3, 113,
+ 216, 167, 212, 114, 244, 3, 123, 244, 118, 212, 114, 244, 3, 113, 244,
+ 117, 212, 114, 244, 3, 134, 244, 117, 212, 114, 244, 3, 244, 12, 244,
+ 117, 212, 114, 244, 3, 123, 219, 116, 212, 114, 244, 3, 244, 82, 219,
+ 114, 212, 114, 244, 3, 123, 245, 189, 212, 114, 244, 3, 134, 245, 187,
+ 212, 114, 244, 3, 244, 82, 245, 187, 212, 114, 244, 3, 220, 123, 245,
+ 187, 244, 3, 227, 198, 110, 222, 199, 227, 199, 110, 222, 199, 227, 199,
+ 105, 222, 199, 227, 199, 158, 222, 199, 227, 199, 161, 222, 199, 227,
+ 199, 189, 222, 199, 227, 199, 194, 222, 199, 227, 199, 198, 222, 199,
+ 227, 199, 195, 222, 199, 227, 199, 200, 222, 199, 227, 199, 216, 248,
+ 222, 199, 227, 199, 245, 168, 222, 199, 227, 199, 215, 76, 222, 199, 227,
+ 199, 244, 115, 222, 199, 227, 199, 123, 240, 211, 222, 199, 227, 199,
+ 244, 82, 240, 211, 222, 199, 227, 199, 123, 216, 148, 4, 222, 199, 227,
+ 199, 110, 4, 222, 199, 227, 199, 105, 4, 222, 199, 227, 199, 158, 4, 222,
+ 199, 227, 199, 161, 4, 222, 199, 227, 199, 189, 4, 222, 199, 227, 199,
+ 194, 4, 222, 199, 227, 199, 198, 4, 222, 199, 227, 199, 195, 4, 222, 199,
+ 227, 199, 200, 4, 222, 199, 227, 199, 216, 248, 4, 222, 199, 227, 199,
+ 245, 168, 4, 222, 199, 227, 199, 215, 76, 4, 222, 199, 227, 199, 244,
+ 115, 4, 222, 199, 227, 199, 123, 240, 211, 4, 222, 199, 227, 199, 244,
+ 82, 240, 211, 4, 222, 199, 227, 199, 123, 216, 148, 222, 199, 227, 199,
+ 123, 216, 149, 251, 68, 249, 61, 222, 199, 227, 199, 244, 82, 216, 148,
+ 222, 199, 227, 199, 216, 249, 216, 148, 222, 199, 227, 199, 223, 50, 123,
+ 240, 211, 7, 4, 1, 223, 50, 251, 67, 222, 199, 227, 199, 219, 126, 233,
+ 79, 17, 222, 199, 227, 199, 244, 116, 245, 227, 17, 222, 199, 227, 199,
+ 244, 116, 216, 148, 222, 199, 227, 199, 123, 240, 212, 216, 148, 212,
+ 114, 244, 3, 210, 87, 216, 167, 140, 74, 214, 153, 74, 97, 74, 246, 105,
+ 74, 43, 44, 74, 120, 124, 74, 228, 57, 212, 9, 74, 228, 57, 245, 221, 74,
+ 219, 29, 245, 221, 74, 219, 29, 212, 9, 74, 140, 80, 2, 91, 97, 80, 2,
+ 91, 140, 212, 36, 74, 97, 212, 36, 74, 140, 113, 241, 235, 74, 214, 153,
+ 113, 241, 235, 74, 97, 113, 241, 235, 74, 246, 105, 113, 241, 235, 74,
+ 140, 80, 2, 217, 78, 97, 80, 2, 217, 78, 140, 80, 243, 244, 130, 214,
+ 153, 80, 243, 244, 130, 97, 80, 243, 244, 130, 246, 105, 80, 243, 244,
+ 130, 120, 124, 80, 2, 252, 128, 140, 80, 2, 103, 97, 80, 2, 103, 140, 80,
+ 2, 232, 124, 97, 80, 2, 232, 124, 43, 44, 212, 36, 74, 43, 44, 80, 2, 91,
+ 246, 105, 210, 35, 74, 214, 153, 80, 2, 216, 78, 233, 38, 214, 153, 80,
+ 2, 216, 78, 222, 242, 246, 105, 80, 2, 216, 78, 233, 38, 246, 105, 80, 2,
+ 216, 78, 222, 242, 97, 80, 2, 249, 162, 246, 104, 246, 105, 80, 2, 249,
+ 162, 233, 38, 254, 89, 216, 15, 220, 154, 74, 250, 3, 216, 15, 220, 154,
+ 74, 228, 57, 212, 9, 80, 216, 43, 199, 130, 140, 80, 216, 43, 252, 142,
+ 117, 97, 80, 216, 43, 130, 254, 89, 204, 250, 37, 74, 250, 3, 204, 250,
+ 37, 74, 140, 242, 0, 2, 252, 140, 214, 152, 140, 242, 0, 2, 252, 140,
+ 246, 104, 214, 153, 242, 0, 2, 252, 140, 222, 242, 214, 153, 242, 0, 2,
+ 252, 140, 233, 38, 97, 242, 0, 2, 252, 140, 214, 152, 97, 242, 0, 2, 252,
+ 140, 246, 104, 246, 105, 242, 0, 2, 252, 140, 222, 242, 246, 105, 242, 0,
+ 2, 252, 140, 233, 38, 97, 80, 117, 140, 74, 214, 153, 80, 140, 64, 246,
+ 105, 74, 140, 80, 117, 97, 74, 140, 226, 71, 253, 248, 214, 153, 226, 71,
+ 253, 248, 97, 226, 71, 253, 248, 246, 105, 226, 71, 253, 248, 140, 242,
+ 0, 117, 97, 241, 255, 97, 242, 0, 117, 140, 241, 255, 140, 52, 80, 2, 91,
+ 43, 44, 52, 80, 2, 91, 97, 52, 80, 2, 91, 140, 52, 74, 214, 153, 52, 74,
+ 97, 52, 74, 246, 105, 52, 74, 43, 44, 52, 74, 120, 124, 52, 74, 228, 57,
+ 212, 9, 52, 74, 228, 57, 245, 221, 52, 74, 219, 29, 245, 221, 52, 74,
+ 219, 29, 212, 9, 52, 74, 140, 215, 212, 74, 97, 215, 212, 74, 140, 218,
+ 231, 74, 97, 218, 231, 74, 214, 153, 80, 2, 52, 91, 246, 105, 80, 2, 52,
+ 91, 140, 248, 156, 74, 214, 153, 248, 156, 74, 97, 248, 156, 74, 246,
+ 105, 248, 156, 74, 140, 80, 216, 43, 130, 97, 80, 216, 43, 130, 140, 71,
+ 74, 214, 153, 71, 74, 97, 71, 74, 246, 105, 71, 74, 214, 153, 71, 80,
+ 243, 244, 130, 214, 153, 71, 80, 226, 198, 225, 215, 214, 153, 71, 80,
+ 226, 198, 225, 216, 2, 203, 130, 214, 153, 71, 80, 226, 198, 225, 216, 2,
+ 67, 130, 214, 153, 71, 52, 74, 214, 153, 71, 52, 80, 226, 198, 225, 215,
+ 97, 71, 80, 243, 244, 212, 56, 228, 57, 212, 9, 80, 216, 43, 249, 161,
+ 219, 29, 245, 221, 80, 216, 43, 249, 161, 120, 124, 71, 74, 44, 80, 2, 4,
+ 250, 36, 246, 105, 80, 140, 64, 214, 153, 74, 134, 97, 253, 248, 140, 80,
+ 2, 67, 91, 97, 80, 2, 67, 91, 43, 44, 80, 2, 67, 91, 140, 80, 2, 52, 67,
+ 91, 97, 80, 2, 52, 67, 91, 43, 44, 80, 2, 52, 67, 91, 140, 226, 174, 74,
+ 97, 226, 174, 74, 43, 44, 226, 174, 74, 31, 254, 155, 249, 215, 225, 254,
+ 247, 234, 216, 188, 245, 28, 216, 188, 247, 139, 228, 53, 245, 29, 245,
+ 153, 220, 128, 235, 246, 229, 222, 245, 171, 226, 232, 228, 53, 254, 125,
+ 245, 171, 226, 232, 4, 245, 171, 226, 232, 249, 187, 253, 239, 231, 63,
+ 247, 139, 228, 53, 249, 189, 253, 239, 231, 63, 4, 249, 187, 253, 239,
+ 231, 63, 245, 144, 64, 224, 173, 230, 25, 224, 181, 230, 25, 249, 166,
+ 230, 25, 218, 41, 230, 183, 50, 230, 181, 50, 59, 225, 23, 247, 170, 219,
+ 96, 220, 129, 230, 182, 253, 218, 226, 168, 222, 235, 226, 168, 251, 115,
+ 226, 168, 42, 222, 194, 249, 110, 222, 194, 244, 5, 222, 194, 224, 169,
+ 111, 235, 235, 44, 254, 110, 254, 110, 231, 89, 254, 110, 219, 0, 254,
+ 110, 247, 172, 247, 139, 228, 53, 247, 175, 226, 9, 111, 228, 53, 226, 9,
+ 111, 232, 147, 254, 119, 232, 147, 226, 159, 235, 199, 214, 175, 235,
+ 212, 52, 235, 212, 215, 212, 235, 212, 249, 183, 235, 212, 218, 14, 235,
+ 212, 213, 129, 235, 212, 250, 3, 235, 212, 250, 3, 249, 183, 235, 212,
+ 254, 89, 249, 183, 235, 212, 216, 187, 252, 68, 223, 138, 224, 170, 59,
+ 230, 182, 245, 34, 243, 47, 224, 170, 241, 58, 216, 90, 226, 168, 223,
+ 50, 183, 235, 194, 233, 66, 222, 92, 219, 158, 212, 35, 211, 200, 224,
+ 181, 228, 53, 183, 230, 183, 183, 253, 211, 128, 111, 228, 53, 253, 211,
+ 128, 111, 254, 49, 128, 111, 254, 49, 251, 89, 228, 53, 255, 5, 128, 111,
+ 229, 101, 254, 49, 228, 60, 255, 5, 128, 111, 254, 149, 128, 111, 228,
+ 53, 254, 149, 128, 111, 254, 149, 128, 177, 128, 111, 215, 212, 183, 254,
+ 156, 128, 111, 245, 95, 111, 243, 46, 245, 95, 111, 247, 235, 252, 24,
+ 254, 51, 216, 197, 232, 222, 243, 46, 128, 111, 254, 49, 128, 216, 43,
+ 177, 216, 197, 236, 16, 226, 232, 236, 16, 64, 177, 254, 49, 128, 111,
+ 249, 228, 245, 98, 245, 99, 249, 227, 222, 235, 236, 1, 128, 111, 222,
+ 235, 128, 111, 249, 155, 111, 245, 68, 245, 97, 111, 218, 158, 245, 98,
+ 248, 56, 128, 111, 128, 216, 43, 251, 79, 248, 73, 231, 89, 251, 78, 224,
+ 12, 128, 111, 228, 53, 128, 111, 240, 105, 111, 228, 53, 240, 105, 111,
+ 218, 110, 245, 95, 111, 233, 16, 177, 128, 111, 242, 131, 177, 128, 111,
+ 233, 16, 117, 128, 111, 242, 131, 117, 128, 111, 233, 16, 251, 89, 228,
+ 53, 128, 111, 242, 131, 251, 89, 228, 53, 128, 111, 230, 98, 233, 15,
+ 230, 98, 242, 130, 252, 24, 228, 53, 245, 95, 111, 228, 53, 233, 15, 228,
+ 53, 242, 130, 229, 101, 233, 16, 228, 60, 128, 111, 229, 101, 242, 131,
+ 228, 60, 128, 111, 233, 16, 177, 245, 95, 111, 242, 131, 177, 245, 95,
+ 111, 229, 101, 233, 16, 228, 60, 245, 95, 111, 229, 101, 242, 131, 228,
+ 60, 245, 95, 111, 233, 16, 177, 242, 130, 242, 131, 177, 233, 15, 229,
+ 101, 233, 16, 228, 60, 242, 130, 229, 101, 242, 131, 228, 60, 233, 15,
+ 224, 203, 218, 56, 224, 204, 177, 128, 111, 218, 57, 177, 128, 111, 224,
+ 204, 177, 245, 95, 111, 218, 57, 177, 245, 95, 111, 247, 139, 228, 53,
+ 224, 206, 247, 139, 228, 53, 218, 58, 218, 65, 226, 232, 218, 23, 226,
+ 232, 228, 53, 115, 218, 65, 226, 232, 228, 53, 115, 218, 23, 226, 232,
+ 218, 65, 64, 177, 128, 111, 218, 23, 64, 177, 128, 111, 229, 101, 115,
+ 218, 65, 64, 228, 60, 128, 111, 229, 101, 115, 218, 23, 64, 228, 60, 128,
+ 111, 218, 65, 64, 2, 228, 53, 128, 111, 218, 23, 64, 2, 228, 53, 128,
+ 111, 230, 82, 230, 83, 230, 84, 230, 83, 214, 175, 42, 236, 16, 226, 232,
+ 42, 226, 151, 226, 232, 42, 236, 16, 64, 177, 128, 111, 42, 226, 151, 64,
+ 177, 128, 111, 42, 250, 252, 42, 249, 103, 37, 225, 23, 37, 230, 182, 37,
+ 216, 86, 37, 247, 170, 219, 96, 37, 59, 226, 168, 37, 222, 235, 226, 168,
+ 37, 253, 218, 226, 168, 37, 245, 98, 37, 248, 157, 92, 225, 23, 92, 230,
+ 182, 92, 216, 86, 92, 59, 226, 168, 44, 217, 88, 43, 217, 88, 124, 217,
+ 88, 120, 217, 88, 253, 221, 230, 157, 215, 192, 244, 26, 215, 212, 67,
+ 252, 142, 44, 215, 93, 52, 67, 252, 142, 52, 44, 215, 93, 247, 139, 228,
+ 53, 224, 164, 228, 53, 215, 192, 247, 139, 228, 53, 244, 27, 229, 103,
+ 52, 67, 252, 142, 52, 44, 215, 93, 224, 204, 214, 184, 223, 92, 218, 57,
+ 214, 184, 223, 92, 228, 58, 218, 78, 226, 232, 249, 187, 253, 239, 228,
+ 58, 218, 77, 228, 58, 218, 78, 64, 177, 128, 111, 249, 187, 253, 239,
+ 228, 58, 218, 78, 177, 128, 111, 226, 151, 226, 232, 236, 16, 226, 232,
+ 230, 88, 241, 201, 249, 197, 231, 138, 235, 209, 211, 145, 229, 203, 228,
+ 59, 44, 254, 111, 2, 254, 26, 44, 215, 226, 230, 25, 232, 147, 254, 119,
+ 230, 25, 232, 147, 226, 159, 230, 25, 235, 199, 230, 25, 214, 175, 247,
+ 250, 226, 168, 59, 226, 168, 218, 158, 226, 168, 247, 170, 216, 86, 251,
+ 165, 43, 228, 58, 244, 182, 220, 150, 224, 181, 44, 228, 58, 244, 182,
+ 220, 150, 224, 181, 43, 220, 150, 224, 181, 44, 220, 150, 224, 181, 223,
+ 50, 216, 90, 245, 98, 249, 100, 232, 147, 226, 159, 249, 100, 232, 147,
+ 254, 119, 52, 218, 64, 52, 218, 22, 52, 235, 199, 52, 214, 175, 225, 48,
+ 128, 22, 226, 9, 111, 233, 16, 2, 247, 121, 242, 131, 2, 247, 121, 213,
+ 187, 230, 98, 233, 15, 213, 187, 230, 98, 242, 130, 233, 16, 128, 216,
+ 43, 177, 242, 130, 242, 131, 128, 216, 43, 177, 233, 15, 128, 216, 43,
+ 177, 233, 15, 128, 216, 43, 177, 242, 130, 128, 216, 43, 177, 224, 203,
+ 128, 216, 43, 177, 218, 56, 247, 139, 228, 53, 224, 207, 177, 245, 100,
+ 247, 139, 228, 53, 218, 59, 177, 245, 100, 228, 53, 42, 236, 16, 64, 177,
+ 128, 111, 228, 53, 42, 226, 151, 64, 177, 128, 111, 42, 236, 16, 64, 177,
+ 228, 53, 128, 111, 42, 226, 151, 64, 177, 228, 53, 128, 111, 233, 16,
+ 251, 89, 228, 53, 245, 95, 111, 242, 131, 251, 89, 228, 53, 245, 95, 111,
+ 224, 204, 251, 89, 228, 53, 245, 95, 111, 218, 57, 251, 89, 228, 53, 245,
+ 95, 111, 228, 53, 228, 58, 218, 78, 226, 232, 247, 139, 228, 53, 249,
+ 189, 253, 239, 228, 58, 218, 77, 228, 53, 228, 58, 218, 78, 64, 177, 128,
+ 111, 247, 139, 228, 53, 249, 189, 253, 239, 228, 58, 218, 78, 177, 245,
+ 100, 67, 245, 164, 230, 223, 203, 245, 164, 120, 44, 248, 0, 245, 164,
+ 124, 44, 248, 0, 245, 164, 245, 171, 64, 2, 199, 203, 91, 245, 171, 64,
+ 2, 67, 252, 142, 253, 208, 245, 144, 64, 203, 91, 4, 245, 171, 64, 2, 67,
+ 252, 142, 253, 208, 245, 144, 64, 203, 91, 245, 171, 64, 2, 59, 48, 245,
+ 171, 64, 2, 226, 124, 4, 245, 171, 64, 2, 226, 124, 245, 171, 64, 2, 214,
+ 183, 245, 171, 64, 2, 113, 203, 218, 91, 249, 187, 2, 199, 203, 91, 249,
+ 187, 2, 67, 252, 142, 253, 208, 245, 144, 64, 203, 91, 4, 249, 187, 2,
+ 67, 252, 142, 253, 208, 245, 144, 64, 203, 91, 249, 187, 2, 226, 124, 4,
+ 249, 187, 2, 226, 124, 210, 160, 188, 252, 174, 231, 62, 247, 251, 50,
+ 245, 173, 74, 240, 235, 120, 253, 250, 124, 253, 250, 224, 176, 225, 166,
+ 212, 32, 232, 214, 43, 250, 182, 44, 250, 182, 43, 244, 58, 44, 244, 58,
+ 251, 176, 44, 249, 133, 251, 176, 43, 249, 133, 216, 15, 44, 249, 133,
+ 216, 15, 43, 249, 133, 223, 50, 228, 53, 50, 42, 232, 105, 254, 26, 221,
+ 165, 221, 172, 217, 2, 223, 121, 224, 242, 235, 239, 213, 165, 218, 235,
+ 225, 42, 64, 235, 208, 50, 215, 94, 228, 53, 50, 212, 42, 240, 237, 216,
+ 15, 43, 249, 161, 216, 15, 44, 249, 161, 251, 176, 43, 249, 161, 251,
+ 176, 44, 249, 161, 216, 15, 163, 235, 212, 251, 176, 163, 235, 212, 243,
+ 241, 219, 76, 120, 253, 251, 252, 25, 113, 203, 252, 130, 226, 161, 234,
+ 139, 245, 91, 216, 43, 216, 197, 222, 252, 211, 179, 236, 1, 115, 223,
+ 118, 251, 164, 234, 138, 233, 43, 254, 111, 127, 222, 248, 254, 111, 127,
+ 245, 91, 216, 43, 216, 197, 233, 47, 252, 36, 222, 234, 249, 71, 254,
+ 156, 254, 2, 217, 182, 216, 5, 222, 124, 247, 216, 226, 152, 249, 199,
+ 217, 53, 219, 87, 249, 152, 249, 151, 254, 67, 243, 226, 16, 240, 152,
+ 254, 67, 243, 226, 16, 218, 229, 224, 28, 254, 67, 243, 226, 16, 224, 29,
+ 245, 100, 254, 67, 243, 226, 16, 224, 29, 247, 175, 254, 67, 243, 226,
+ 16, 224, 29, 247, 249, 254, 67, 243, 226, 16, 224, 29, 235, 57, 254, 67,
+ 243, 226, 16, 224, 29, 250, 36, 254, 67, 243, 226, 16, 250, 37, 218, 136,
+ 254, 67, 243, 226, 16, 250, 37, 235, 57, 254, 67, 243, 226, 16, 219, 97,
+ 130, 254, 67, 243, 226, 16, 252, 182, 130, 254, 67, 243, 226, 16, 224,
+ 29, 219, 96, 254, 67, 243, 226, 16, 224, 29, 252, 181, 254, 67, 243, 226,
+ 16, 224, 29, 233, 15, 254, 67, 243, 226, 16, 224, 29, 242, 130, 254, 67,
+ 243, 226, 16, 140, 214, 19, 254, 67, 243, 226, 16, 97, 214, 19, 254, 67,
+ 243, 226, 16, 224, 29, 140, 74, 254, 67, 243, 226, 16, 224, 29, 97, 74,
+ 254, 67, 243, 226, 16, 250, 37, 252, 181, 254, 67, 243, 226, 16, 124,
+ 217, 89, 214, 183, 254, 67, 243, 226, 16, 248, 56, 218, 136, 254, 67,
+ 243, 226, 16, 224, 29, 124, 250, 239, 254, 67, 243, 226, 16, 224, 29,
+ 248, 55, 254, 67, 243, 226, 16, 124, 217, 89, 235, 57, 254, 67, 243, 226,
+ 16, 214, 153, 214, 19, 254, 67, 243, 226, 16, 224, 29, 214, 153, 74, 254,
+ 67, 243, 226, 16, 120, 217, 89, 226, 124, 254, 67, 243, 226, 16, 248, 67,
+ 218, 136, 254, 67, 243, 226, 16, 224, 29, 120, 250, 239, 254, 67, 243,
+ 226, 16, 224, 29, 248, 66, 254, 67, 243, 226, 16, 120, 217, 89, 235, 57,
+ 254, 67, 243, 226, 16, 246, 105, 214, 19, 254, 67, 243, 226, 16, 224, 29,
+ 246, 105, 74, 254, 67, 243, 226, 16, 223, 254, 214, 183, 254, 67, 243,
+ 226, 16, 248, 56, 214, 183, 254, 67, 243, 226, 16, 247, 250, 214, 183,
+ 254, 67, 243, 226, 16, 235, 58, 214, 183, 254, 67, 243, 226, 16, 250, 37,
+ 214, 183, 254, 67, 243, 226, 16, 120, 220, 6, 235, 57, 254, 67, 243, 226,
+ 16, 223, 254, 224, 28, 254, 67, 243, 226, 16, 250, 37, 218, 157, 254, 67,
+ 243, 226, 16, 224, 29, 249, 227, 254, 67, 243, 226, 16, 120, 217, 89,
+ 248, 2, 254, 67, 243, 226, 16, 248, 67, 248, 2, 254, 67, 243, 226, 16,
+ 218, 158, 248, 2, 254, 67, 243, 226, 16, 235, 58, 248, 2, 254, 67, 243,
+ 226, 16, 250, 37, 248, 2, 254, 67, 243, 226, 16, 124, 220, 6, 218, 136,
+ 254, 67, 243, 226, 16, 43, 220, 6, 218, 136, 254, 67, 243, 226, 16, 216,
+ 90, 248, 2, 254, 67, 243, 226, 16, 242, 131, 248, 2, 254, 67, 243, 226,
+ 16, 249, 221, 130, 254, 67, 243, 226, 16, 248, 67, 183, 254, 67, 243,
+ 226, 16, 210, 34, 254, 67, 243, 226, 16, 218, 137, 183, 254, 67, 243,
+ 226, 16, 220, 152, 214, 183, 254, 67, 243, 226, 16, 224, 29, 228, 53,
+ 245, 100, 254, 67, 243, 226, 16, 224, 29, 224, 13, 254, 67, 243, 226, 16,
+ 124, 250, 240, 183, 254, 67, 243, 226, 16, 120, 250, 240, 183, 254, 67,
+ 243, 226, 16, 235, 186, 254, 67, 243, 226, 16, 223, 38, 254, 67, 243,
+ 226, 16, 226, 202, 254, 67, 243, 226, 16, 254, 145, 214, 183, 254, 67,
+ 243, 226, 16, 245, 102, 214, 183, 254, 67, 243, 226, 16, 235, 187, 214,
+ 183, 254, 67, 243, 226, 16, 226, 203, 214, 183, 254, 67, 243, 226, 16,
+ 254, 144, 228, 53, 250, 131, 78, 44, 254, 111, 2, 246, 105, 210, 35, 74,
+ 219, 236, 204, 251, 164, 252, 46, 87, 67, 232, 215, 2, 230, 225, 247,
+ 121, 235, 217, 87, 249, 184, 214, 181, 87, 247, 190, 214, 181, 87, 245,
+ 155, 87, 249, 211, 87, 71, 42, 2, 250, 176, 67, 232, 214, 245, 131, 87,
+ 254, 140, 234, 140, 87, 241, 214, 87, 37, 203, 252, 142, 2, 228, 51, 37,
+ 215, 227, 246, 107, 251, 136, 250, 37, 2, 228, 55, 74, 214, 179, 87, 230,
+ 138, 87, 240, 165, 87, 226, 175, 242, 60, 87, 226, 175, 233, 148, 87,
+ 225, 245, 87, 225, 244, 87, 247, 198, 249, 98, 16, 244, 21, 105, 219, 51,
+ 87, 254, 67, 243, 226, 16, 224, 28, 248, 84, 220, 139, 234, 140, 87, 224,
+ 193, 226, 76, 229, 83, 226, 76, 224, 189, 221, 190, 87, 250, 18, 221,
+ 190, 87, 43, 226, 5, 214, 160, 103, 43, 226, 5, 245, 22, 43, 226, 5, 232,
+ 109, 103, 44, 226, 5, 214, 160, 103, 44, 226, 5, 245, 22, 44, 226, 5,
+ 232, 109, 103, 43, 42, 251, 159, 214, 160, 249, 161, 43, 42, 251, 159,
+ 245, 22, 43, 42, 251, 159, 232, 109, 249, 161, 44, 42, 251, 159, 214,
+ 160, 249, 161, 44, 42, 251, 159, 245, 22, 44, 42, 251, 159, 232, 109,
+ 249, 161, 43, 249, 100, 251, 159, 214, 160, 103, 43, 249, 100, 251, 159,
+ 230, 225, 225, 102, 43, 249, 100, 251, 159, 232, 109, 103, 249, 100, 251,
+ 159, 245, 22, 44, 249, 100, 251, 159, 214, 160, 103, 44, 249, 100, 251,
+ 159, 230, 225, 225, 102, 44, 249, 100, 251, 159, 232, 109, 103, 235, 213,
+ 245, 22, 203, 232, 215, 245, 22, 214, 160, 43, 177, 232, 109, 44, 249,
+ 100, 251, 159, 221, 173, 214, 160, 44, 177, 232, 109, 43, 249, 100, 251,
+ 159, 221, 173, 218, 42, 216, 14, 218, 42, 251, 175, 216, 15, 42, 127,
+ 251, 176, 42, 127, 251, 176, 42, 251, 159, 117, 216, 15, 42, 127, 34, 16,
+ 251, 175, 43, 67, 93, 232, 214, 44, 67, 93, 232, 214, 203, 221, 206, 232,
+ 213, 203, 221, 206, 232, 212, 203, 221, 206, 232, 211, 203, 221, 206,
+ 232, 210, 248, 47, 16, 192, 67, 22, 216, 15, 222, 252, 248, 47, 16, 192,
+ 67, 22, 251, 176, 222, 252, 248, 47, 16, 192, 67, 2, 250, 36, 248, 47,
+ 16, 192, 124, 22, 203, 2, 250, 36, 248, 47, 16, 192, 120, 22, 203, 2,
+ 250, 36, 248, 47, 16, 192, 67, 2, 215, 226, 248, 47, 16, 192, 124, 22,
+ 203, 2, 215, 226, 248, 47, 16, 192, 120, 22, 203, 2, 215, 226, 248, 47,
+ 16, 192, 67, 22, 212, 35, 248, 47, 16, 192, 124, 22, 203, 2, 212, 35,
+ 248, 47, 16, 192, 120, 22, 203, 2, 212, 35, 248, 47, 16, 192, 124, 22,
+ 241, 45, 248, 47, 16, 192, 120, 22, 241, 45, 248, 47, 16, 192, 67, 22,
+ 216, 15, 233, 47, 248, 47, 16, 192, 67, 22, 251, 176, 233, 47, 42, 244,
+ 33, 223, 55, 87, 245, 183, 87, 67, 232, 215, 245, 22, 231, 34, 251, 147,
+ 231, 34, 199, 117, 219, 251, 231, 34, 219, 252, 117, 232, 138, 231, 34,
+ 199, 117, 113, 219, 238, 231, 34, 113, 219, 239, 117, 232, 138, 231, 34,
+ 113, 219, 239, 235, 65, 231, 34, 215, 209, 231, 34, 216, 224, 231, 34,
+ 225, 189, 245, 225, 242, 123, 243, 220, 216, 15, 226, 4, 251, 176, 226,
+ 4, 216, 15, 249, 100, 127, 251, 176, 249, 100, 127, 216, 15, 216, 7, 220,
+ 54, 127, 251, 176, 216, 7, 220, 54, 127, 71, 215, 240, 252, 36, 222, 235,
+ 2, 250, 36, 218, 121, 244, 65, 255, 18, 249, 97, 245, 172, 235, 199, 248,
+ 84, 245, 25, 87, 85, 222, 248, 52, 215, 226, 85, 233, 43, 52, 215, 226,
+ 85, 214, 162, 52, 215, 226, 85, 246, 106, 52, 215, 226, 85, 222, 248, 52,
+ 215, 227, 2, 67, 130, 85, 233, 43, 52, 215, 227, 2, 67, 130, 85, 222,
+ 248, 215, 227, 2, 52, 67, 130, 254, 174, 250, 4, 218, 127, 216, 87, 250,
+ 4, 240, 238, 2, 244, 51, 221, 242, 16, 31, 227, 203, 16, 31, 218, 153,
+ 64, 241, 234, 16, 31, 218, 153, 64, 216, 213, 16, 31, 245, 144, 64, 216,
+ 213, 16, 31, 245, 144, 64, 215, 244, 16, 31, 245, 133, 16, 31, 255, 8,
+ 16, 31, 252, 45, 16, 31, 252, 180, 16, 31, 203, 217, 90, 16, 31, 232,
+ 215, 244, 146, 16, 31, 67, 217, 90, 16, 31, 244, 21, 244, 146, 16, 31,
+ 250, 231, 223, 54, 16, 31, 220, 29, 226, 131, 16, 31, 220, 29, 236, 0,
+ 16, 31, 248, 152, 232, 205, 245, 78, 16, 31, 248, 32, 249, 179, 110, 16,
+ 31, 248, 32, 249, 179, 105, 16, 31, 248, 32, 249, 179, 158, 16, 31, 248,
+ 32, 249, 179, 161, 16, 31, 152, 255, 8, 16, 31, 217, 178, 236, 63, 16,
+ 31, 245, 144, 64, 215, 245, 251, 214, 16, 31, 251, 6, 16, 31, 245, 144,
+ 64, 231, 82, 16, 31, 218, 62, 16, 31, 245, 78, 16, 31, 244, 108, 220,
+ 138, 16, 31, 242, 122, 220, 138, 16, 31, 223, 122, 220, 138, 16, 31, 214,
+ 174, 220, 138, 16, 31, 219, 19, 16, 31, 248, 64, 251, 217, 87, 204, 251,
+ 164, 16, 31, 229, 86, 16, 31, 248, 65, 244, 21, 105, 16, 31, 218, 63,
+ 244, 21, 105, 226, 242, 103, 226, 242, 250, 153, 226, 242, 244, 24, 226,
+ 242, 235, 194, 244, 24, 226, 242, 252, 43, 251, 125, 226, 242, 251, 171,
+ 216, 112, 226, 242, 251, 156, 252, 147, 240, 104, 226, 242, 254, 128, 64,
+ 250, 130, 226, 242, 248, 157, 226, 242, 249, 88, 255, 12, 227, 201, 226,
+ 242, 52, 252, 181, 37, 21, 110, 37, 21, 105, 37, 21, 158, 37, 21, 161,
+ 37, 21, 189, 37, 21, 194, 37, 21, 198, 37, 21, 195, 37, 21, 200, 37, 54,
+ 216, 248, 37, 54, 245, 168, 37, 54, 215, 76, 37, 54, 216, 165, 37, 54,
+ 244, 6, 37, 54, 244, 119, 37, 54, 219, 120, 37, 54, 220, 120, 37, 54,
+ 245, 191, 37, 54, 228, 198, 37, 54, 215, 73, 88, 21, 110, 88, 21, 105,
+ 88, 21, 158, 88, 21, 161, 88, 21, 189, 88, 21, 194, 88, 21, 198, 88, 21,
+ 195, 88, 21, 200, 88, 54, 216, 248, 88, 54, 245, 168, 88, 54, 215, 76,
+ 88, 54, 216, 165, 88, 54, 244, 6, 88, 54, 244, 119, 88, 54, 219, 120, 88,
+ 54, 220, 120, 88, 54, 245, 191, 88, 54, 228, 198, 88, 54, 215, 73, 21,
+ 123, 243, 230, 218, 130, 21, 113, 243, 230, 218, 130, 21, 134, 243, 230,
+ 218, 130, 21, 244, 12, 243, 230, 218, 130, 21, 244, 82, 243, 230, 218,
+ 130, 21, 219, 126, 243, 230, 218, 130, 21, 220, 123, 243, 230, 218, 130,
+ 21, 245, 194, 243, 230, 218, 130, 21, 228, 201, 243, 230, 218, 130, 54,
+ 216, 249, 243, 230, 218, 130, 54, 245, 169, 243, 230, 218, 130, 54, 215,
+ 77, 243, 230, 218, 130, 54, 216, 166, 243, 230, 218, 130, 54, 244, 7,
+ 243, 230, 218, 130, 54, 244, 120, 243, 230, 218, 130, 54, 219, 121, 243,
+ 230, 218, 130, 54, 220, 121, 243, 230, 218, 130, 54, 245, 192, 243, 230,
+ 218, 130, 54, 228, 199, 243, 230, 218, 130, 54, 215, 74, 243, 230, 218,
+ 130, 88, 7, 4, 1, 61, 88, 7, 4, 1, 253, 159, 88, 7, 4, 1, 251, 67, 88, 7,
+ 4, 1, 249, 61, 88, 7, 4, 1, 75, 88, 7, 4, 1, 245, 7, 88, 7, 4, 1, 243,
+ 203, 88, 7, 4, 1, 242, 61, 88, 7, 4, 1, 73, 88, 7, 4, 1, 235, 145, 88, 7,
+ 4, 1, 235, 24, 88, 7, 4, 1, 156, 88, 7, 4, 1, 193, 88, 7, 4, 1, 230, 26,
+ 88, 7, 4, 1, 76, 88, 7, 4, 1, 226, 106, 88, 7, 4, 1, 224, 97, 88, 7, 4,
+ 1, 153, 88, 7, 4, 1, 222, 92, 88, 7, 4, 1, 217, 153, 88, 7, 4, 1, 70, 88,
+ 7, 4, 1, 214, 105, 88, 7, 4, 1, 212, 98, 88, 7, 4, 1, 211, 178, 88, 7, 4,
+ 1, 211, 117, 88, 7, 4, 1, 210, 159, 37, 7, 6, 1, 61, 37, 7, 6, 1, 253,
+ 159, 37, 7, 6, 1, 251, 67, 37, 7, 6, 1, 249, 61, 37, 7, 6, 1, 75, 37, 7,
+ 6, 1, 245, 7, 37, 7, 6, 1, 243, 203, 37, 7, 6, 1, 242, 61, 37, 7, 6, 1,
+ 73, 37, 7, 6, 1, 235, 145, 37, 7, 6, 1, 235, 24, 37, 7, 6, 1, 156, 37, 7,
+ 6, 1, 193, 37, 7, 6, 1, 230, 26, 37, 7, 6, 1, 76, 37, 7, 6, 1, 226, 106,
+ 37, 7, 6, 1, 224, 97, 37, 7, 6, 1, 153, 37, 7, 6, 1, 222, 92, 37, 7, 6,
+ 1, 217, 153, 37, 7, 6, 1, 70, 37, 7, 6, 1, 214, 105, 37, 7, 6, 1, 212,
+ 98, 37, 7, 6, 1, 211, 178, 37, 7, 6, 1, 211, 117, 37, 7, 6, 1, 210, 159,
+ 37, 7, 4, 1, 61, 37, 7, 4, 1, 253, 159, 37, 7, 4, 1, 251, 67, 37, 7, 4,
+ 1, 249, 61, 37, 7, 4, 1, 75, 37, 7, 4, 1, 245, 7, 37, 7, 4, 1, 243, 203,
+ 37, 7, 4, 1, 242, 61, 37, 7, 4, 1, 73, 37, 7, 4, 1, 235, 145, 37, 7, 4,
+ 1, 235, 24, 37, 7, 4, 1, 156, 37, 7, 4, 1, 193, 37, 7, 4, 1, 230, 26, 37,
+ 7, 4, 1, 76, 37, 7, 4, 1, 226, 106, 37, 7, 4, 1, 224, 97, 37, 7, 4, 1,
+ 153, 37, 7, 4, 1, 222, 92, 37, 7, 4, 1, 217, 153, 37, 7, 4, 1, 70, 37, 7,
+ 4, 1, 214, 105, 37, 7, 4, 1, 212, 98, 37, 7, 4, 1, 211, 178, 37, 7, 4, 1,
+ 211, 117, 37, 7, 4, 1, 210, 159, 37, 21, 210, 86, 152, 37, 54, 245, 168,
+ 152, 37, 54, 215, 76, 152, 37, 54, 216, 165, 152, 37, 54, 244, 6, 152,
+ 37, 54, 244, 119, 152, 37, 54, 219, 120, 152, 37, 54, 220, 120, 152, 37,
+ 54, 245, 191, 152, 37, 54, 228, 198, 152, 37, 54, 215, 73, 52, 37, 21,
+ 110, 52, 37, 21, 105, 52, 37, 21, 158, 52, 37, 21, 161, 52, 37, 21, 189,
+ 52, 37, 21, 194, 52, 37, 21, 198, 52, 37, 21, 195, 52, 37, 21, 200, 52,
+ 37, 54, 216, 248, 152, 37, 21, 210, 86, 93, 99, 192, 241, 45, 93, 99,
+ 114, 241, 45, 93, 99, 192, 213, 239, 93, 99, 114, 213, 239, 93, 99, 192,
+ 215, 212, 248, 158, 241, 45, 93, 99, 114, 215, 212, 248, 158, 241, 45,
+ 93, 99, 192, 215, 212, 248, 158, 213, 239, 93, 99, 114, 215, 212, 248,
+ 158, 213, 239, 93, 99, 192, 224, 25, 248, 158, 241, 45, 93, 99, 114, 224,
+ 25, 248, 158, 241, 45, 93, 99, 192, 224, 25, 248, 158, 213, 239, 93, 99,
+ 114, 224, 25, 248, 158, 213, 239, 93, 99, 192, 124, 22, 222, 252, 93, 99,
+ 124, 192, 22, 44, 241, 222, 93, 99, 124, 114, 22, 44, 232, 231, 93, 99,
+ 114, 124, 22, 222, 252, 93, 99, 192, 124, 22, 233, 47, 93, 99, 124, 192,
+ 22, 43, 241, 222, 93, 99, 124, 114, 22, 43, 232, 231, 93, 99, 114, 124,
+ 22, 233, 47, 93, 99, 192, 120, 22, 222, 252, 93, 99, 120, 192, 22, 44,
+ 241, 222, 93, 99, 120, 114, 22, 44, 232, 231, 93, 99, 114, 120, 22, 222,
+ 252, 93, 99, 192, 120, 22, 233, 47, 93, 99, 120, 192, 22, 43, 241, 222,
+ 93, 99, 120, 114, 22, 43, 232, 231, 93, 99, 114, 120, 22, 233, 47, 93,
+ 99, 192, 67, 22, 222, 252, 93, 99, 67, 192, 22, 44, 241, 222, 93, 99,
+ 120, 114, 22, 44, 124, 232, 231, 93, 99, 124, 114, 22, 44, 120, 232, 231,
+ 93, 99, 67, 114, 22, 44, 232, 231, 93, 99, 124, 192, 22, 44, 120, 241,
+ 222, 93, 99, 120, 192, 22, 44, 124, 241, 222, 93, 99, 114, 67, 22, 222,
+ 252, 93, 99, 192, 67, 22, 233, 47, 93, 99, 67, 192, 22, 43, 241, 222, 93,
+ 99, 120, 114, 22, 43, 124, 232, 231, 93, 99, 124, 114, 22, 43, 120, 232,
+ 231, 93, 99, 67, 114, 22, 43, 232, 231, 93, 99, 124, 192, 22, 43, 120,
+ 241, 222, 93, 99, 120, 192, 22, 43, 124, 241, 222, 93, 99, 114, 67, 22,
+ 233, 47, 93, 99, 192, 124, 22, 241, 45, 93, 99, 43, 114, 22, 44, 124,
+ 232, 231, 93, 99, 44, 114, 22, 43, 124, 232, 231, 93, 99, 124, 192, 22,
+ 203, 241, 222, 93, 99, 124, 114, 22, 203, 232, 231, 93, 99, 44, 192, 22,
+ 43, 124, 241, 222, 93, 99, 43, 192, 22, 44, 124, 241, 222, 93, 99, 114,
+ 124, 22, 241, 45, 93, 99, 192, 120, 22, 241, 45, 93, 99, 43, 114, 22, 44,
+ 120, 232, 231, 93, 99, 44, 114, 22, 43, 120, 232, 231, 93, 99, 120, 192,
+ 22, 203, 241, 222, 93, 99, 120, 114, 22, 203, 232, 231, 93, 99, 44, 192,
+ 22, 43, 120, 241, 222, 93, 99, 43, 192, 22, 44, 120, 241, 222, 93, 99,
+ 114, 120, 22, 241, 45, 93, 99, 192, 67, 22, 241, 45, 93, 99, 43, 114, 22,
+ 44, 67, 232, 231, 93, 99, 44, 114, 22, 43, 67, 232, 231, 93, 99, 67, 192,
+ 22, 203, 241, 222, 93, 99, 120, 114, 22, 124, 203, 232, 231, 93, 99, 124,
+ 114, 22, 120, 203, 232, 231, 93, 99, 67, 114, 22, 203, 232, 231, 93, 99,
+ 43, 120, 114, 22, 44, 124, 232, 231, 93, 99, 44, 120, 114, 22, 43, 124,
+ 232, 231, 93, 99, 43, 124, 114, 22, 44, 120, 232, 231, 93, 99, 44, 124,
+ 114, 22, 43, 120, 232, 231, 93, 99, 124, 192, 22, 120, 203, 241, 222, 93,
+ 99, 120, 192, 22, 124, 203, 241, 222, 93, 99, 44, 192, 22, 43, 67, 241,
+ 222, 93, 99, 43, 192, 22, 44, 67, 241, 222, 93, 99, 114, 67, 22, 241, 45,
+ 93, 99, 192, 52, 248, 158, 241, 45, 93, 99, 114, 52, 248, 158, 241, 45,
+ 93, 99, 192, 52, 248, 158, 213, 239, 93, 99, 114, 52, 248, 158, 213, 239,
+ 93, 99, 52, 241, 45, 93, 99, 52, 213, 239, 93, 99, 124, 219, 156, 22, 44,
+ 246, 114, 93, 99, 124, 52, 22, 44, 219, 155, 93, 99, 52, 124, 22, 222,
+ 252, 93, 99, 124, 219, 156, 22, 43, 246, 114, 93, 99, 124, 52, 22, 43,
+ 219, 155, 93, 99, 52, 124, 22, 233, 47, 93, 99, 120, 219, 156, 22, 44,
+ 246, 114, 93, 99, 120, 52, 22, 44, 219, 155, 93, 99, 52, 120, 22, 222,
+ 252, 93, 99, 120, 219, 156, 22, 43, 246, 114, 93, 99, 120, 52, 22, 43,
+ 219, 155, 93, 99, 52, 120, 22, 233, 47, 93, 99, 67, 219, 156, 22, 44,
+ 246, 114, 93, 99, 67, 52, 22, 44, 219, 155, 93, 99, 52, 67, 22, 222, 252,
+ 93, 99, 67, 219, 156, 22, 43, 246, 114, 93, 99, 67, 52, 22, 43, 219, 155,
+ 93, 99, 52, 67, 22, 233, 47, 93, 99, 124, 219, 156, 22, 203, 246, 114,
+ 93, 99, 124, 52, 22, 203, 219, 155, 93, 99, 52, 124, 22, 241, 45, 93, 99,
+ 120, 219, 156, 22, 203, 246, 114, 93, 99, 120, 52, 22, 203, 219, 155, 93,
+ 99, 52, 120, 22, 241, 45, 93, 99, 67, 219, 156, 22, 203, 246, 114, 93,
+ 99, 67, 52, 22, 203, 219, 155, 93, 99, 52, 67, 22, 241, 45, 93, 99, 192,
+ 254, 27, 124, 22, 222, 252, 93, 99, 192, 254, 27, 124, 22, 233, 47, 93,
+ 99, 192, 254, 27, 120, 22, 233, 47, 93, 99, 192, 254, 27, 120, 22, 222,
+ 252, 93, 99, 192, 248, 0, 214, 160, 44, 216, 43, 232, 109, 233, 47, 93,
+ 99, 192, 248, 0, 214, 160, 43, 216, 43, 232, 109, 222, 252, 93, 99, 192,
+ 248, 0, 249, 131, 93, 99, 192, 233, 47, 93, 99, 192, 214, 163, 93, 99,
+ 192, 222, 252, 93, 99, 192, 246, 107, 93, 99, 114, 233, 47, 93, 99, 114,
+ 214, 163, 93, 99, 114, 222, 252, 93, 99, 114, 246, 107, 93, 99, 192, 43,
+ 22, 114, 222, 252, 93, 99, 192, 120, 22, 114, 246, 107, 93, 99, 114, 43,
+ 22, 192, 222, 252, 93, 99, 114, 120, 22, 192, 246, 107, 214, 160, 163,
+ 251, 214, 232, 109, 123, 245, 190, 251, 214, 232, 109, 123, 224, 23, 251,
+ 214, 232, 109, 134, 245, 188, 251, 214, 232, 109, 163, 251, 214, 232,
+ 109, 244, 82, 245, 188, 251, 214, 232, 109, 134, 224, 21, 251, 214, 232,
+ 109, 220, 123, 245, 188, 251, 214, 243, 230, 251, 214, 43, 220, 123, 245,
+ 188, 251, 214, 43, 134, 224, 21, 251, 214, 43, 244, 82, 245, 188, 251,
+ 214, 43, 163, 251, 214, 43, 134, 245, 188, 251, 214, 43, 123, 224, 23,
+ 251, 214, 43, 123, 245, 190, 251, 214, 44, 163, 251, 214, 192, 220, 93,
+ 231, 83, 220, 93, 248, 163, 220, 93, 214, 160, 123, 245, 190, 251, 214,
+ 44, 123, 245, 190, 251, 214, 224, 27, 232, 109, 233, 47, 224, 27, 232,
+ 109, 222, 252, 224, 27, 214, 160, 233, 47, 224, 27, 214, 160, 43, 22,
+ 232, 109, 43, 22, 232, 109, 222, 252, 224, 27, 214, 160, 43, 22, 232,
+ 109, 222, 252, 224, 27, 214, 160, 43, 22, 214, 160, 44, 22, 232, 109,
+ 233, 47, 224, 27, 214, 160, 43, 22, 214, 160, 44, 22, 232, 109, 222, 252,
+ 224, 27, 214, 160, 222, 252, 224, 27, 214, 160, 44, 22, 232, 109, 233,
+ 47, 224, 27, 214, 160, 44, 22, 232, 109, 43, 22, 232, 109, 222, 252, 85,
+ 218, 235, 71, 218, 235, 71, 42, 2, 222, 184, 249, 160, 71, 42, 249, 188,
+ 85, 4, 218, 235, 42, 2, 203, 244, 106, 42, 2, 67, 244, 106, 42, 2, 226,
+ 145, 249, 127, 244, 106, 42, 2, 214, 160, 43, 216, 43, 232, 109, 44, 244,
+ 106, 42, 2, 214, 160, 44, 216, 43, 232, 109, 43, 244, 106, 42, 2, 248, 0,
+ 249, 127, 244, 106, 85, 4, 218, 235, 71, 4, 218, 235, 85, 223, 117, 71,
+ 223, 117, 85, 67, 223, 117, 71, 67, 223, 117, 85, 226, 7, 71, 226, 7, 85,
+ 214, 162, 215, 226, 71, 214, 162, 215, 226, 85, 214, 162, 4, 215, 226,
+ 71, 214, 162, 4, 215, 226, 85, 222, 248, 215, 226, 71, 222, 248, 215,
+ 226, 85, 222, 248, 4, 215, 226, 71, 222, 248, 4, 215, 226, 85, 222, 248,
+ 225, 9, 71, 222, 248, 225, 9, 85, 246, 106, 215, 226, 71, 246, 106, 215,
+ 226, 85, 246, 106, 4, 215, 226, 71, 246, 106, 4, 215, 226, 85, 233, 43,
+ 215, 226, 71, 233, 43, 215, 226, 85, 233, 43, 4, 215, 226, 71, 233, 43,
+ 4, 215, 226, 85, 233, 43, 225, 9, 71, 233, 43, 225, 9, 85, 247, 249, 71,
+ 247, 249, 71, 247, 250, 249, 188, 85, 4, 247, 249, 244, 90, 232, 105, 71,
+ 250, 36, 246, 119, 250, 36, 250, 37, 2, 67, 244, 106, 251, 112, 85, 250,
+ 36, 250, 37, 2, 43, 163, 251, 222, 250, 37, 2, 44, 163, 251, 222, 250,
+ 37, 2, 232, 109, 163, 251, 222, 250, 37, 2, 214, 160, 163, 251, 222, 250,
+ 37, 2, 214, 160, 44, 224, 27, 251, 222, 250, 37, 2, 254, 156, 251, 89,
+ 214, 160, 43, 224, 27, 251, 222, 43, 163, 85, 250, 36, 44, 163, 85, 250,
+ 36, 235, 195, 251, 114, 235, 195, 71, 250, 36, 214, 160, 163, 235, 195,
+ 71, 250, 36, 232, 109, 163, 235, 195, 71, 250, 36, 214, 160, 43, 224, 27,
+ 250, 34, 254, 26, 214, 160, 44, 224, 27, 250, 34, 254, 26, 232, 109, 44,
+ 224, 27, 250, 34, 254, 26, 232, 109, 43, 224, 27, 250, 34, 254, 26, 214,
+ 160, 163, 250, 36, 232, 109, 163, 250, 36, 85, 232, 109, 44, 215, 226,
+ 85, 232, 109, 43, 215, 226, 85, 214, 160, 43, 215, 226, 85, 214, 160, 44,
+ 215, 226, 71, 251, 114, 42, 2, 43, 163, 251, 222, 42, 2, 44, 163, 251,
+ 222, 42, 2, 214, 160, 43, 248, 0, 163, 251, 222, 42, 2, 232, 109, 44,
+ 248, 0, 163, 251, 222, 71, 42, 2, 67, 251, 233, 232, 214, 71, 214, 162,
+ 215, 227, 2, 247, 121, 214, 162, 215, 227, 2, 43, 163, 251, 222, 214,
+ 162, 215, 227, 2, 44, 163, 251, 222, 233, 86, 250, 36, 71, 42, 2, 214,
+ 160, 43, 224, 26, 71, 42, 2, 232, 109, 43, 224, 26, 71, 42, 2, 232, 109,
+ 44, 224, 26, 71, 42, 2, 214, 160, 44, 224, 26, 71, 250, 37, 2, 214, 160,
+ 43, 224, 26, 71, 250, 37, 2, 232, 109, 43, 224, 26, 71, 250, 37, 2, 232,
+ 109, 44, 224, 26, 71, 250, 37, 2, 214, 160, 44, 224, 26, 214, 160, 43,
+ 215, 226, 214, 160, 44, 215, 226, 232, 109, 43, 215, 226, 71, 231, 83,
+ 218, 235, 85, 231, 83, 218, 235, 71, 231, 83, 4, 218, 235, 85, 231, 83,
+ 4, 218, 235, 232, 109, 44, 215, 226, 85, 218, 39, 2, 223, 133, 249, 248,
+ 214, 194, 219, 61, 249, 223, 85, 218, 157, 71, 218, 157, 232, 229, 216,
+ 133, 218, 38, 253, 235, 228, 72, 248, 39, 228, 72, 249, 196, 226, 164,
+ 85, 217, 1, 71, 217, 1, 252, 157, 251, 164, 252, 157, 93, 2, 250, 130,
+ 252, 157, 93, 2, 211, 178, 221, 255, 214, 195, 2, 223, 161, 246, 85, 240,
+ 244, 252, 23, 71, 220, 3, 225, 102, 85, 220, 3, 225, 102, 220, 88, 223,
+ 50, 222, 188, 244, 56, 241, 229, 251, 114, 85, 43, 225, 8, 235, 243, 85,
+ 44, 225, 8, 235, 243, 71, 43, 225, 8, 235, 243, 71, 120, 225, 8, 235,
+ 243, 71, 44, 225, 8, 235, 243, 71, 124, 225, 8, 235, 243, 219, 102, 22,
+ 249, 130, 250, 220, 50, 223, 173, 50, 251, 240, 50, 251, 26, 254, 103,
+ 226, 146, 249, 131, 250, 112, 223, 38, 249, 132, 64, 232, 119, 249, 132,
+ 64, 235, 117, 218, 158, 22, 249, 137, 244, 169, 87, 254, 249, 220, 90,
+ 242, 23, 22, 219, 190, 225, 221, 87, 210, 254, 211, 69, 215, 216, 31,
+ 241, 224, 215, 216, 31, 233, 108, 215, 216, 31, 244, 97, 215, 216, 31,
+ 216, 134, 215, 216, 31, 211, 239, 215, 216, 31, 212, 40, 215, 216, 31,
+ 230, 116, 215, 216, 31, 245, 224, 212, 1, 64, 248, 19, 71, 243, 240, 244,
+ 191, 71, 219, 75, 244, 191, 85, 219, 75, 244, 191, 71, 218, 39, 2, 223,
+ 133, 244, 93, 224, 23, 230, 129, 233, 81, 224, 23, 230, 129, 231, 55,
+ 244, 139, 50, 245, 224, 231, 191, 50, 235, 39, 221, 221, 214, 145, 229,
+ 94, 225, 21, 254, 13, 217, 41, 243, 53, 251, 4, 233, 20, 213, 150, 232,
+ 239, 221, 192, 222, 20, 250, 249, 254, 43, 225, 53, 71, 250, 118, 234,
+ 79, 71, 250, 118, 224, 15, 71, 250, 118, 222, 196, 71, 250, 118, 251,
+ 232, 71, 250, 118, 234, 31, 71, 250, 118, 225, 232, 85, 250, 118, 234,
+ 79, 85, 250, 118, 224, 15, 85, 250, 118, 222, 196, 85, 250, 118, 251,
+ 232, 85, 250, 118, 234, 31, 85, 250, 118, 225, 232, 85, 219, 17, 218, 51,
+ 71, 241, 229, 218, 51, 71, 247, 250, 218, 51, 85, 249, 246, 218, 51, 71,
+ 219, 17, 218, 51, 85, 241, 229, 218, 51, 85, 247, 250, 218, 51, 71, 249,
+ 246, 218, 51, 240, 244, 218, 239, 224, 23, 228, 48, 245, 190, 228, 48,
+ 252, 74, 245, 190, 228, 43, 252, 74, 219, 119, 228, 43, 230, 58, 244, 67,
+ 50, 230, 58, 229, 189, 50, 230, 58, 220, 77, 50, 212, 9, 182, 249, 131,
+ 245, 221, 182, 249, 131, 214, 171, 223, 113, 87, 223, 113, 16, 31, 215,
+ 48, 225, 35, 223, 113, 16, 31, 215, 47, 225, 35, 223, 113, 16, 31, 215,
+ 46, 225, 35, 223, 113, 16, 31, 215, 45, 225, 35, 223, 113, 16, 31, 215,
+ 44, 225, 35, 223, 113, 16, 31, 215, 43, 225, 35, 223, 113, 16, 31, 215,
+ 42, 225, 35, 223, 113, 16, 31, 243, 51, 231, 139, 85, 214, 171, 223, 113,
+ 87, 223, 114, 226, 21, 87, 225, 253, 226, 21, 87, 225, 175, 226, 21, 50,
+ 211, 255, 87, 247, 242, 244, 190, 247, 242, 244, 189, 247, 242, 244, 188,
+ 247, 242, 244, 187, 247, 242, 244, 186, 247, 242, 244, 185, 71, 250, 37,
+ 2, 59, 222, 252, 71, 250, 37, 2, 113, 247, 119, 85, 250, 37, 2, 71, 59,
+ 222, 252, 85, 250, 37, 2, 113, 71, 247, 119, 230, 143, 31, 211, 69, 230,
+ 143, 31, 210, 253, 247, 225, 31, 242, 132, 211, 69, 247, 225, 31, 233,
+ 14, 210, 253, 247, 225, 31, 233, 14, 211, 69, 247, 225, 31, 242, 132,
+ 210, 253, 71, 244, 74, 85, 244, 74, 242, 23, 22, 225, 105, 254, 121, 249,
+ 129, 217, 236, 218, 165, 64, 254, 227, 221, 207, 254, 170, 244, 52, 243,
+ 61, 218, 165, 64, 241, 203, 253, 200, 87, 244, 63, 226, 127, 71, 218,
+ 157, 134, 232, 209, 249, 176, 222, 252, 134, 232, 209, 249, 176, 233, 47,
+ 212, 50, 50, 125, 213, 130, 50, 246, 111, 244, 139, 50, 246, 111, 231,
+ 191, 50, 235, 204, 244, 139, 22, 231, 191, 50, 231, 191, 22, 244, 139,
+ 50, 231, 191, 2, 218, 104, 50, 231, 191, 2, 218, 104, 22, 231, 191, 22,
+ 244, 139, 50, 67, 231, 191, 2, 218, 104, 50, 203, 231, 191, 2, 218, 104,
+ 50, 231, 83, 71, 250, 36, 231, 83, 85, 250, 36, 231, 83, 4, 71, 250, 36,
+ 231, 154, 87, 247, 168, 87, 214, 169, 225, 252, 87, 249, 232, 243, 225,
+ 214, 141, 229, 89, 250, 162, 226, 62, 235, 45, 213, 185, 250, 94, 85,
+ 230, 130, 232, 226, 220, 113, 220, 148, 224, 6, 220, 131, 219, 56, 252,
+ 160, 252, 127, 92, 234, 139, 71, 246, 94, 231, 186, 71, 246, 94, 234, 79,
+ 85, 246, 94, 231, 186, 85, 246, 94, 234, 79, 219, 62, 211, 230, 219, 65,
+ 218, 39, 252, 52, 249, 248, 223, 160, 85, 219, 61, 216, 135, 249, 249,
+ 22, 223, 160, 215, 94, 71, 220, 3, 225, 102, 215, 94, 85, 220, 3, 225,
+ 102, 71, 247, 250, 236, 1, 218, 235, 249, 126, 233, 92, 247, 194, 250,
+ 245, 226, 167, 225, 105, 250, 246, 219, 89, 241, 213, 2, 71, 249, 131,
+ 37, 249, 126, 233, 92, 250, 154, 228, 76, 245, 125, 254, 142, 226, 192,
+ 43, 212, 26, 215, 252, 85, 215, 55, 43, 212, 26, 215, 252, 71, 215, 55,
+ 43, 212, 26, 215, 252, 85, 43, 233, 93, 231, 54, 71, 43, 233, 93, 231,
+ 54, 246, 90, 219, 83, 50, 114, 71, 246, 106, 215, 226, 43, 250, 1, 245,
+ 125, 92, 221, 255, 244, 176, 248, 0, 236, 1, 71, 250, 37, 236, 1, 85,
+ 218, 235, 85, 215, 193, 223, 61, 43, 245, 124, 223, 61, 43, 245, 123,
+ 253, 212, 16, 31, 214, 145, 114, 250, 37, 2, 218, 104, 22, 113, 170, 48,
+ 225, 190, 222, 249, 235, 206, 225, 190, 233, 44, 235, 206, 225, 190, 235,
+ 194, 225, 190, 85, 249, 132, 226, 198, 220, 30, 220, 18, 219, 230, 250,
+ 62, 250, 227, 241, 158, 219, 127, 243, 62, 211, 230, 240, 221, 243, 62,
+ 2, 242, 13, 231, 174, 16, 31, 232, 230, 230, 116, 214, 195, 226, 198,
+ 242, 123, 244, 13, 244, 75, 236, 1, 241, 60, 244, 130, 222, 15, 42, 244,
+ 12, 249, 160, 219, 105, 240, 113, 219, 108, 225, 169, 2, 252, 160, 216,
+ 243, 235, 132, 252, 147, 87, 241, 232, 242, 134, 87, 243, 233, 224, 143,
+ 249, 104, 226, 198, 85, 218, 235, 71, 244, 75, 2, 203, 230, 225, 85, 218,
+ 105, 214, 160, 251, 218, 221, 194, 85, 221, 194, 232, 109, 251, 218, 221,
+ 194, 71, 221, 194, 71, 114, 250, 131, 78, 217, 2, 232, 155, 50, 217, 54,
+ 246, 89, 254, 192, 245, 120, 223, 158, 244, 86, 223, 158, 242, 16, 213,
+ 174, 242, 16, 211, 198, 242, 16, 232, 109, 44, 225, 199, 225, 199, 214,
+ 160, 44, 225, 199, 71, 228, 231, 85, 228, 231, 250, 131, 78, 114, 250,
+ 131, 78, 230, 85, 211, 178, 114, 230, 85, 211, 178, 252, 157, 211, 178,
+ 114, 252, 157, 211, 178, 226, 127, 26, 249, 131, 114, 26, 249, 131, 204,
+ 250, 176, 249, 131, 114, 204, 250, 176, 249, 131, 7, 249, 131, 220, 92,
+ 71, 7, 249, 131, 226, 127, 7, 249, 131, 231, 188, 249, 131, 218, 158, 64,
+ 248, 150, 244, 12, 217, 16, 253, 217, 244, 12, 252, 158, 253, 217, 114,
+ 244, 12, 252, 158, 253, 217, 244, 12, 249, 244, 253, 217, 85, 244, 12,
+ 225, 10, 218, 157, 71, 244, 12, 225, 10, 218, 157, 219, 12, 218, 112,
+ 226, 127, 71, 218, 157, 37, 71, 218, 157, 204, 250, 176, 85, 218, 157,
+ 85, 250, 176, 71, 218, 157, 226, 127, 85, 218, 157, 114, 226, 127, 85,
+ 218, 157, 225, 61, 218, 157, 220, 92, 71, 218, 157, 114, 253, 217, 204,
+ 250, 176, 253, 217, 245, 194, 218, 245, 253, 217, 245, 194, 225, 10, 85,
+ 218, 157, 245, 194, 225, 10, 225, 61, 218, 157, 219, 126, 225, 10, 85,
+ 218, 157, 245, 194, 225, 10, 223, 115, 85, 218, 157, 114, 245, 194, 225,
+ 10, 223, 115, 85, 218, 157, 215, 77, 225, 10, 85, 218, 157, 219, 121,
+ 225, 10, 253, 217, 217, 16, 253, 217, 204, 250, 176, 217, 16, 253, 217,
+ 114, 217, 16, 253, 217, 219, 126, 225, 158, 85, 22, 71, 244, 55, 85, 244,
+ 55, 71, 244, 55, 245, 194, 225, 158, 226, 127, 85, 244, 55, 37, 204, 250,
+ 176, 245, 194, 225, 10, 218, 157, 114, 217, 16, 225, 61, 253, 217, 219,
+ 63, 216, 106, 215, 219, 219, 63, 114, 250, 115, 219, 63, 219, 14, 114,
+ 219, 14, 252, 158, 253, 217, 245, 194, 217, 16, 224, 172, 253, 217, 114,
+ 245, 194, 217, 16, 224, 172, 253, 217, 249, 132, 78, 220, 92, 71, 250,
+ 36, 152, 92, 249, 132, 78, 232, 109, 44, 246, 87, 71, 218, 235, 214, 160,
+ 44, 246, 87, 71, 218, 235, 232, 109, 44, 220, 92, 71, 218, 235, 214, 160,
+ 44, 220, 92, 71, 218, 235, 85, 224, 14, 164, 226, 148, 71, 224, 14, 164,
+ 226, 148, 71, 245, 32, 164, 226, 148, 85, 247, 250, 230, 183, 71, 211,
+ 178, 114, 245, 32, 164, 87, 192, 67, 130, 231, 83, 67, 130, 114, 67, 130,
+ 114, 219, 156, 215, 94, 249, 221, 223, 255, 164, 226, 148, 114, 219, 156,
+ 249, 221, 223, 255, 164, 226, 148, 114, 52, 215, 94, 249, 221, 223, 255,
+ 164, 226, 148, 114, 52, 249, 221, 223, 255, 164, 226, 148, 114, 121, 219,
+ 156, 249, 221, 223, 255, 164, 226, 148, 114, 121, 52, 249, 221, 223, 255,
+ 164, 226, 148, 249, 92, 218, 141, 226, 16, 5, 226, 148, 114, 245, 32,
+ 164, 226, 148, 114, 241, 229, 245, 32, 164, 226, 148, 114, 85, 241, 228,
+ 222, 188, 114, 85, 241, 229, 251, 114, 244, 56, 241, 228, 222, 188, 244,
+ 56, 241, 229, 251, 114, 231, 83, 43, 226, 5, 226, 148, 231, 83, 44, 226,
+ 5, 226, 148, 231, 83, 244, 64, 43, 226, 5, 226, 148, 231, 83, 244, 64,
+ 44, 226, 5, 226, 148, 231, 83, 233, 43, 254, 111, 251, 159, 226, 148,
+ 231, 83, 222, 248, 254, 111, 251, 159, 226, 148, 114, 233, 43, 254, 111,
+ 223, 255, 164, 226, 148, 114, 222, 248, 254, 111, 223, 255, 164, 226,
+ 148, 114, 233, 43, 254, 111, 251, 159, 226, 148, 114, 222, 248, 254, 111,
+ 251, 159, 226, 148, 192, 43, 216, 7, 220, 54, 251, 159, 226, 148, 192,
+ 44, 216, 7, 220, 54, 251, 159, 226, 148, 231, 83, 43, 249, 100, 251, 159,
+ 226, 148, 231, 83, 44, 249, 100, 251, 159, 226, 148, 247, 205, 152, 37,
+ 21, 110, 247, 205, 152, 37, 21, 105, 247, 205, 152, 37, 21, 158, 247,
+ 205, 152, 37, 21, 161, 247, 205, 152, 37, 21, 189, 247, 205, 152, 37, 21,
+ 194, 247, 205, 152, 37, 21, 198, 247, 205, 152, 37, 21, 195, 247, 205,
+ 152, 37, 21, 200, 247, 205, 152, 37, 54, 216, 248, 247, 205, 37, 35, 21,
+ 110, 247, 205, 37, 35, 21, 105, 247, 205, 37, 35, 21, 158, 247, 205, 37,
+ 35, 21, 161, 247, 205, 37, 35, 21, 189, 247, 205, 37, 35, 21, 194, 247,
+ 205, 37, 35, 21, 198, 247, 205, 37, 35, 21, 195, 247, 205, 37, 35, 21,
+ 200, 247, 205, 37, 35, 54, 216, 248, 247, 205, 152, 37, 35, 21, 110, 247,
+ 205, 152, 37, 35, 21, 105, 247, 205, 152, 37, 35, 21, 158, 247, 205, 152,
+ 37, 35, 21, 161, 247, 205, 152, 37, 35, 21, 189, 247, 205, 152, 37, 35,
+ 21, 194, 247, 205, 152, 37, 35, 21, 198, 247, 205, 152, 37, 35, 21, 195,
+ 247, 205, 152, 37, 35, 21, 200, 247, 205, 152, 37, 35, 54, 216, 248, 114,
+ 211, 246, 97, 74, 114, 96, 50, 114, 230, 183, 50, 114, 247, 170, 50, 114,
+ 219, 29, 245, 221, 74, 114, 97, 74, 114, 228, 57, 245, 221, 74, 246, 99,
+ 225, 12, 97, 74, 114, 222, 185, 97, 74, 215, 225, 97, 74, 114, 215, 225,
+ 97, 74, 248, 156, 215, 225, 97, 74, 114, 248, 156, 215, 225, 97, 74, 85,
+ 97, 74, 216, 145, 216, 13, 97, 253, 250, 216, 145, 251, 174, 97, 253,
+ 250, 85, 97, 253, 250, 114, 85, 249, 92, 246, 105, 22, 97, 74, 114, 85,
+ 249, 92, 214, 153, 22, 97, 74, 218, 232, 85, 97, 74, 114, 249, 207, 85,
+ 97, 74, 222, 247, 71, 97, 74, 233, 42, 71, 97, 74, 252, 184, 220, 92, 71,
+ 97, 74, 243, 242, 220, 92, 71, 97, 74, 114, 232, 109, 222, 246, 71, 97,
+ 74, 114, 214, 160, 222, 246, 71, 97, 74, 228, 50, 232, 109, 222, 246, 71,
+ 97, 74, 249, 100, 232, 124, 228, 50, 214, 160, 222, 246, 71, 97, 74, 37,
+ 114, 71, 97, 74, 211, 252, 97, 74, 251, 221, 219, 29, 245, 221, 74, 251,
+ 221, 97, 74, 251, 221, 228, 57, 245, 221, 74, 114, 251, 221, 219, 29,
+ 245, 221, 74, 114, 251, 221, 97, 74, 114, 251, 221, 228, 57, 245, 221,
+ 74, 217, 18, 97, 74, 114, 217, 17, 97, 74, 212, 18, 97, 74, 114, 212, 18,
+ 97, 74, 226, 173, 97, 74, 52, 249, 100, 232, 124, 134, 247, 215, 254,
+ 110, 71, 215, 227, 249, 188, 4, 71, 215, 226, 225, 172, 204, 218, 64,
+ 204, 218, 22, 43, 222, 91, 252, 174, 248, 61, 44, 222, 91, 252, 174, 248,
+ 61, 177, 2, 59, 235, 216, 223, 51, 219, 48, 224, 202, 218, 64, 218, 23,
+ 224, 202, 219, 47, 67, 252, 142, 2, 203, 91, 11, 222, 229, 247, 255, 199,
+ 247, 169, 11, 244, 176, 247, 255, 92, 232, 147, 254, 119, 92, 232, 147,
+ 226, 159, 71, 247, 250, 2, 250, 174, 247, 121, 22, 2, 247, 121, 245, 171,
+ 64, 226, 171, 214, 152, 232, 109, 44, 249, 162, 2, 247, 121, 214, 160,
+ 43, 249, 162, 2, 247, 121, 43, 226, 129, 235, 67, 44, 226, 129, 235, 67,
+ 243, 230, 226, 129, 235, 67, 233, 86, 120, 217, 88, 233, 86, 124, 217,
+ 88, 43, 22, 44, 52, 215, 93, 43, 22, 44, 217, 88, 43, 230, 88, 199, 44,
+ 217, 88, 199, 43, 217, 88, 120, 217, 89, 2, 250, 37, 48, 232, 106, 247,
+ 174, 251, 79, 203, 222, 134, 71, 249, 206, 247, 249, 71, 249, 206, 247,
+ 250, 2, 140, 216, 115, 71, 249, 206, 247, 250, 2, 97, 216, 115, 71, 42,
+ 2, 140, 216, 115, 71, 42, 2, 97, 216, 115, 11, 43, 71, 42, 127, 11, 44,
+ 71, 42, 127, 11, 43, 254, 111, 127, 11, 44, 254, 111, 127, 11, 43, 52,
+ 254, 111, 127, 11, 44, 52, 254, 111, 127, 11, 43, 71, 216, 7, 220, 54,
+ 127, 11, 44, 71, 216, 7, 220, 54, 127, 11, 43, 244, 64, 226, 4, 11, 44,
+ 244, 64, 226, 4, 214, 153, 224, 25, 74, 246, 105, 224, 25, 74, 254, 89,
+ 243, 99, 250, 37, 74, 250, 3, 243, 99, 250, 37, 74, 44, 80, 2, 37, 225,
+ 23, 199, 140, 74, 199, 97, 74, 199, 43, 44, 74, 199, 140, 52, 74, 199,
+ 97, 52, 74, 199, 43, 44, 52, 74, 199, 140, 80, 243, 244, 130, 199, 97,
+ 80, 243, 244, 130, 199, 140, 52, 80, 243, 244, 130, 199, 97, 52, 80, 243,
+ 244, 130, 199, 97, 218, 231, 74, 46, 47, 251, 216, 46, 47, 247, 118, 46,
+ 47, 246, 246, 46, 47, 247, 117, 46, 47, 246, 182, 46, 47, 247, 53, 46,
+ 47, 246, 245, 46, 47, 247, 116, 46, 47, 246, 150, 46, 47, 247, 21, 46,
+ 47, 246, 213, 46, 47, 247, 84, 46, 47, 246, 181, 46, 47, 247, 52, 46, 47,
+ 246, 244, 46, 47, 247, 115, 46, 47, 246, 134, 46, 47, 247, 5, 46, 47,
+ 246, 197, 46, 47, 247, 68, 46, 47, 246, 165, 46, 47, 247, 36, 46, 47,
+ 246, 228, 46, 47, 247, 99, 46, 47, 246, 149, 46, 47, 247, 20, 46, 47,
+ 246, 212, 46, 47, 247, 83, 46, 47, 246, 180, 46, 47, 247, 51, 46, 47,
+ 246, 243, 46, 47, 247, 114, 46, 47, 246, 126, 46, 47, 246, 253, 46, 47,
+ 246, 189, 46, 47, 247, 60, 46, 47, 246, 157, 46, 47, 247, 28, 46, 47,
+ 246, 220, 46, 47, 247, 91, 46, 47, 246, 141, 46, 47, 247, 12, 46, 47,
+ 246, 204, 46, 47, 247, 75, 46, 47, 246, 172, 46, 47, 247, 43, 46, 47,
+ 246, 235, 46, 47, 247, 106, 46, 47, 246, 133, 46, 47, 247, 4, 46, 47,
+ 246, 196, 46, 47, 247, 67, 46, 47, 246, 164, 46, 47, 247, 35, 46, 47,
+ 246, 227, 46, 47, 247, 98, 46, 47, 246, 148, 46, 47, 247, 19, 46, 47,
+ 246, 211, 46, 47, 247, 82, 46, 47, 246, 179, 46, 47, 247, 50, 46, 47,
+ 246, 242, 46, 47, 247, 113, 46, 47, 246, 122, 46, 47, 246, 249, 46, 47,
+ 246, 185, 46, 47, 247, 56, 46, 47, 246, 153, 46, 47, 247, 24, 46, 47,
+ 246, 216, 46, 47, 247, 87, 46, 47, 246, 137, 46, 47, 247, 8, 46, 47, 246,
+ 200, 46, 47, 247, 71, 46, 47, 246, 168, 46, 47, 247, 39, 46, 47, 246,
+ 231, 46, 47, 247, 102, 46, 47, 246, 129, 46, 47, 247, 0, 46, 47, 246,
+ 192, 46, 47, 247, 63, 46, 47, 246, 160, 46, 47, 247, 31, 46, 47, 246,
+ 223, 46, 47, 247, 94, 46, 47, 246, 144, 46, 47, 247, 15, 46, 47, 246,
+ 207, 46, 47, 247, 78, 46, 47, 246, 175, 46, 47, 247, 46, 46, 47, 246,
+ 238, 46, 47, 247, 109, 46, 47, 246, 125, 46, 47, 246, 252, 46, 47, 246,
+ 188, 46, 47, 247, 59, 46, 47, 246, 156, 46, 47, 247, 27, 46, 47, 246,
+ 219, 46, 47, 247, 90, 46, 47, 246, 140, 46, 47, 247, 11, 46, 47, 246,
+ 203, 46, 47, 247, 74, 46, 47, 246, 171, 46, 47, 247, 42, 46, 47, 246,
+ 234, 46, 47, 247, 105, 46, 47, 246, 132, 46, 47, 247, 3, 46, 47, 246,
+ 195, 46, 47, 247, 66, 46, 47, 246, 163, 46, 47, 247, 34, 46, 47, 246,
+ 226, 46, 47, 247, 97, 46, 47, 246, 147, 46, 47, 247, 18, 46, 47, 246,
+ 210, 46, 47, 247, 81, 46, 47, 246, 178, 46, 47, 247, 49, 46, 47, 246,
+ 241, 46, 47, 247, 112, 46, 47, 246, 120, 46, 47, 246, 247, 46, 47, 246,
+ 183, 46, 47, 247, 54, 46, 47, 246, 151, 46, 47, 247, 22, 46, 47, 246,
+ 214, 46, 47, 247, 85, 46, 47, 246, 135, 46, 47, 247, 6, 46, 47, 246, 198,
+ 46, 47, 247, 69, 46, 47, 246, 166, 46, 47, 247, 37, 46, 47, 246, 229, 46,
+ 47, 247, 100, 46, 47, 246, 127, 46, 47, 246, 254, 46, 47, 246, 190, 46,
+ 47, 247, 61, 46, 47, 246, 158, 46, 47, 247, 29, 46, 47, 246, 221, 46, 47,
+ 247, 92, 46, 47, 246, 142, 46, 47, 247, 13, 46, 47, 246, 205, 46, 47,
+ 247, 76, 46, 47, 246, 173, 46, 47, 247, 44, 46, 47, 246, 236, 46, 47,
+ 247, 107, 46, 47, 246, 123, 46, 47, 246, 250, 46, 47, 246, 186, 46, 47,
+ 247, 57, 46, 47, 246, 154, 46, 47, 247, 25, 46, 47, 246, 217, 46, 47,
+ 247, 88, 46, 47, 246, 138, 46, 47, 247, 9, 46, 47, 246, 201, 46, 47, 247,
+ 72, 46, 47, 246, 169, 46, 47, 247, 40, 46, 47, 246, 232, 46, 47, 247,
+ 103, 46, 47, 246, 130, 46, 47, 247, 1, 46, 47, 246, 193, 46, 47, 247, 64,
+ 46, 47, 246, 161, 46, 47, 247, 32, 46, 47, 246, 224, 46, 47, 247, 95, 46,
+ 47, 246, 145, 46, 47, 247, 16, 46, 47, 246, 208, 46, 47, 247, 79, 46, 47,
+ 246, 176, 46, 47, 247, 47, 46, 47, 246, 239, 46, 47, 247, 110, 46, 47,
+ 246, 121, 46, 47, 246, 248, 46, 47, 246, 184, 46, 47, 247, 55, 46, 47,
+ 246, 152, 46, 47, 247, 23, 46, 47, 246, 215, 46, 47, 247, 86, 46, 47,
+ 246, 136, 46, 47, 247, 7, 46, 47, 246, 199, 46, 47, 247, 70, 46, 47, 246,
+ 167, 46, 47, 247, 38, 46, 47, 246, 230, 46, 47, 247, 101, 46, 47, 246,
+ 128, 46, 47, 246, 255, 46, 47, 246, 191, 46, 47, 247, 62, 46, 47, 246,
+ 159, 46, 47, 247, 30, 46, 47, 246, 222, 46, 47, 247, 93, 46, 47, 246,
+ 143, 46, 47, 247, 14, 46, 47, 246, 206, 46, 47, 247, 77, 46, 47, 246,
+ 174, 46, 47, 247, 45, 46, 47, 246, 237, 46, 47, 247, 108, 46, 47, 246,
+ 124, 46, 47, 246, 251, 46, 47, 246, 187, 46, 47, 247, 58, 46, 47, 246,
+ 155, 46, 47, 247, 26, 46, 47, 246, 218, 46, 47, 247, 89, 46, 47, 246,
+ 139, 46, 47, 247, 10, 46, 47, 246, 202, 46, 47, 247, 73, 46, 47, 246,
+ 170, 46, 47, 247, 41, 46, 47, 246, 233, 46, 47, 247, 104, 46, 47, 246,
+ 131, 46, 47, 247, 2, 46, 47, 246, 194, 46, 47, 247, 65, 46, 47, 246, 162,
+ 46, 47, 247, 33, 46, 47, 246, 225, 46, 47, 247, 96, 46, 47, 246, 146, 46,
+ 47, 247, 17, 46, 47, 246, 209, 46, 47, 247, 80, 46, 47, 246, 177, 46, 47,
+ 247, 48, 46, 47, 246, 240, 46, 47, 247, 111, 97, 215, 58, 80, 2, 67, 91,
97, 215, 58, 80, 2, 52, 67, 91, 140, 52, 80, 2, 67, 91, 97, 52, 80, 2,
- 67, 91, 43, 44, 52, 80, 2, 67, 91, 97, 215, 58, 80, 243, 243, 130, 140,
- 52, 80, 243, 243, 130, 97, 52, 80, 243, 243, 130, 246, 104, 80, 2, 203,
- 91, 214, 153, 80, 2, 203, 91, 214, 153, 215, 211, 74, 246, 104, 215, 211,
- 74, 140, 52, 248, 157, 74, 97, 52, 248, 157, 74, 140, 215, 211, 248, 157,
- 74, 97, 215, 211, 248, 157, 74, 97, 215, 58, 215, 211, 248, 157, 74, 97,
- 80, 2, 246, 118, 218, 139, 214, 153, 80, 216, 42, 130, 246, 104, 80, 216,
- 42, 130, 97, 80, 2, 217, 78, 2, 67, 91, 97, 80, 2, 217, 78, 2, 52, 67,
- 91, 97, 215, 58, 80, 2, 217, 77, 97, 215, 58, 80, 2, 217, 78, 2, 67, 91,
- 97, 215, 58, 80, 2, 217, 78, 2, 52, 67, 91, 140, 253, 251, 97, 253, 251,
- 140, 52, 253, 251, 97, 52, 253, 251, 140, 80, 216, 42, 85, 247, 248, 97,
- 80, 216, 42, 85, 247, 248, 140, 80, 243, 243, 252, 141, 216, 42, 85, 247,
- 248, 97, 80, 243, 243, 252, 141, 216, 42, 85, 247, 248, 228, 56, 212, 9,
- 22, 219, 28, 245, 220, 74, 228, 56, 245, 220, 22, 219, 28, 212, 9, 74,
- 228, 56, 212, 9, 80, 2, 103, 228, 56, 245, 220, 80, 2, 103, 219, 28, 245,
- 220, 80, 2, 103, 219, 28, 212, 9, 80, 2, 103, 228, 56, 212, 9, 80, 22,
- 228, 56, 245, 220, 74, 228, 56, 245, 220, 80, 22, 219, 28, 245, 220, 74,
- 219, 28, 245, 220, 80, 22, 219, 28, 212, 9, 74, 219, 28, 212, 9, 80, 22,
- 228, 56, 212, 9, 74, 222, 228, 247, 255, 249, 125, 244, 175, 247, 254,
- 244, 175, 247, 255, 249, 125, 222, 228, 247, 254, 219, 28, 245, 220, 80,
- 249, 125, 228, 56, 245, 220, 74, 228, 56, 245, 220, 80, 249, 125, 219,
- 28, 245, 220, 74, 244, 175, 247, 255, 249, 125, 228, 56, 245, 220, 74,
- 222, 228, 247, 255, 249, 125, 219, 28, 245, 220, 74, 228, 56, 245, 220,
- 80, 249, 125, 228, 56, 212, 9, 74, 228, 56, 212, 9, 80, 249, 125, 228,
- 56, 245, 220, 74, 212, 36, 80, 225, 7, 247, 195, 222, 251, 80, 225, 7,
- 97, 216, 188, 249, 90, 214, 152, 80, 225, 7, 97, 216, 188, 249, 90, 246,
- 103, 80, 225, 7, 246, 104, 216, 188, 249, 90, 233, 37, 80, 225, 7, 246,
- 104, 216, 188, 249, 90, 222, 241, 222, 244, 254, 26, 250, 2, 74, 233, 40,
- 254, 26, 254, 88, 74, 216, 14, 254, 26, 254, 88, 74, 251, 175, 254, 26,
- 254, 88, 74, 216, 14, 254, 26, 250, 2, 80, 2, 230, 181, 216, 14, 254, 26,
- 254, 88, 80, 2, 225, 22, 232, 108, 44, 220, 152, 250, 2, 74, 232, 108,
- 43, 220, 152, 254, 88, 74, 254, 88, 250, 0, 250, 36, 74, 250, 2, 250, 0,
- 250, 36, 74, 97, 80, 77, 219, 251, 140, 74, 140, 80, 77, 219, 251, 97,
- 74, 219, 251, 97, 80, 77, 140, 74, 97, 80, 2, 96, 51, 140, 80, 2, 96, 51,
- 97, 80, 216, 139, 211, 178, 43, 44, 80, 216, 139, 4, 250, 35, 214, 153,
- 215, 58, 80, 243, 243, 4, 250, 35, 43, 252, 139, 120, 44, 252, 139, 124,
- 241, 254, 43, 252, 139, 124, 44, 252, 139, 120, 241, 254, 120, 252, 139,
- 44, 124, 252, 139, 43, 241, 254, 120, 252, 139, 43, 124, 252, 139, 44,
- 241, 254, 43, 252, 139, 120, 44, 252, 139, 120, 241, 254, 120, 252, 139,
- 44, 124, 252, 139, 44, 241, 254, 43, 252, 139, 124, 44, 252, 139, 124,
- 241, 254, 120, 252, 139, 43, 124, 252, 139, 43, 241, 254, 140, 241, 255,
- 2, 252, 139, 120, 216, 42, 130, 97, 241, 255, 2, 252, 139, 120, 216, 42,
- 130, 214, 153, 241, 255, 2, 252, 139, 44, 216, 42, 130, 246, 104, 241,
- 255, 2, 252, 139, 44, 216, 42, 130, 140, 241, 255, 2, 252, 139, 124, 216,
- 42, 130, 97, 241, 255, 2, 252, 139, 124, 216, 42, 130, 214, 153, 241,
- 255, 2, 252, 139, 43, 216, 42, 130, 246, 104, 241, 255, 2, 252, 139, 43,
- 216, 42, 130, 140, 241, 255, 2, 252, 139, 120, 243, 243, 130, 97, 241,
- 255, 2, 252, 139, 120, 243, 243, 130, 214, 153, 241, 255, 2, 252, 139,
- 44, 243, 243, 130, 246, 104, 241, 255, 2, 252, 139, 44, 243, 243, 130,
- 140, 241, 255, 2, 252, 139, 124, 243, 243, 130, 97, 241, 255, 2, 252,
- 139, 124, 243, 243, 130, 214, 153, 241, 255, 2, 252, 139, 43, 243, 243,
- 130, 246, 104, 241, 255, 2, 252, 139, 43, 243, 243, 130, 140, 241, 255,
- 2, 252, 139, 120, 77, 140, 241, 255, 2, 252, 139, 246, 106, 214, 153,
- 241, 255, 2, 252, 139, 43, 252, 30, 214, 153, 241, 255, 2, 252, 139, 222,
- 251, 97, 241, 255, 2, 252, 139, 120, 77, 97, 241, 255, 2, 252, 139, 246,
- 106, 246, 104, 241, 255, 2, 252, 139, 43, 252, 30, 246, 104, 241, 255, 2,
- 252, 139, 222, 251, 140, 241, 255, 2, 252, 139, 120, 77, 97, 241, 255, 2,
- 252, 139, 214, 163, 140, 241, 255, 2, 252, 139, 124, 77, 97, 241, 255, 2,
- 252, 139, 246, 106, 97, 241, 255, 2, 252, 139, 120, 77, 140, 241, 255, 2,
- 252, 139, 214, 163, 97, 241, 255, 2, 252, 139, 124, 77, 140, 241, 255, 2,
- 252, 139, 246, 106, 140, 241, 255, 2, 252, 139, 120, 77, 199, 248, 156,
- 140, 241, 255, 2, 252, 139, 124, 252, 43, 199, 248, 156, 97, 241, 255, 2,
- 252, 139, 120, 77, 199, 248, 156, 97, 241, 255, 2, 252, 139, 124, 252,
- 43, 199, 248, 156, 214, 153, 241, 255, 2, 252, 139, 43, 252, 30, 246,
- 104, 241, 255, 2, 252, 139, 222, 251, 246, 104, 241, 255, 2, 252, 139,
- 43, 252, 30, 214, 153, 241, 255, 2, 252, 139, 222, 251, 44, 52, 80, 2,
- 222, 183, 241, 235, 245, 98, 5, 77, 97, 74, 216, 89, 226, 168, 77, 97,
- 74, 140, 80, 77, 216, 89, 226, 167, 97, 80, 77, 216, 89, 226, 167, 97,
- 80, 77, 254, 148, 128, 111, 233, 15, 77, 140, 74, 140, 80, 216, 139, 233,
- 14, 242, 130, 77, 97, 74, 218, 64, 77, 97, 74, 140, 80, 216, 139, 218,
- 63, 218, 22, 77, 140, 74, 43, 244, 91, 217, 77, 44, 244, 91, 217, 77,
- 120, 244, 91, 217, 77, 124, 244, 91, 217, 77, 215, 211, 67, 252, 141,
- 248, 60, 210, 160, 187, 218, 242, 210, 160, 187, 215, 49, 249, 226, 43,
- 71, 249, 99, 127, 44, 71, 249, 99, 127, 43, 71, 226, 3, 44, 71, 226, 3,
- 210, 160, 187, 43, 236, 15, 127, 210, 160, 187, 44, 236, 15, 127, 210,
- 160, 187, 43, 251, 242, 127, 210, 160, 187, 44, 251, 242, 127, 43, 42,
- 251, 158, 2, 214, 183, 44, 42, 251, 158, 2, 214, 183, 43, 42, 251, 158,
- 2, 216, 115, 236, 0, 216, 14, 249, 160, 44, 42, 251, 158, 2, 216, 115,
- 236, 0, 251, 175, 249, 160, 43, 42, 251, 158, 2, 216, 115, 236, 0, 251,
- 175, 249, 160, 44, 42, 251, 158, 2, 216, 115, 236, 0, 216, 14, 249, 160,
- 43, 254, 110, 251, 158, 2, 247, 120, 44, 254, 110, 251, 158, 2, 247, 120,
- 43, 254, 26, 233, 15, 127, 44, 254, 26, 242, 130, 127, 52, 43, 254, 26,
- 242, 130, 127, 52, 44, 254, 26, 233, 15, 127, 43, 85, 216, 6, 220, 53,
- 127, 44, 85, 216, 6, 220, 53, 127, 246, 118, 244, 135, 67, 210, 35, 232,
- 213, 231, 88, 254, 110, 226, 170, 233, 46, 44, 254, 110, 214, 12, 2, 218,
- 234, 231, 88, 44, 254, 110, 2, 247, 120, 254, 110, 2, 222, 92, 235, 215,
- 255, 3, 254, 109, 218, 255, 254, 110, 226, 170, 233, 46, 218, 255, 254,
- 110, 226, 170, 214, 163, 215, 94, 254, 109, 223, 49, 254, 109, 254, 110,
- 2, 214, 183, 223, 49, 254, 110, 2, 214, 183, 226, 248, 254, 110, 226,
- 170, 214, 163, 226, 248, 254, 110, 226, 170, 246, 106, 231, 88, 254, 110,
- 2, 204, 254, 5, 245, 140, 236, 0, 80, 225, 7, 120, 22, 222, 251, 231, 88,
- 254, 110, 2, 204, 254, 5, 245, 140, 236, 0, 80, 225, 7, 120, 22, 233, 46,
- 231, 88, 254, 110, 2, 204, 254, 5, 245, 140, 236, 0, 80, 225, 7, 124, 22,
- 222, 251, 231, 88, 254, 110, 2, 204, 254, 5, 245, 140, 236, 0, 80, 225,
- 7, 124, 22, 233, 46, 231, 88, 254, 110, 2, 204, 254, 5, 245, 140, 236, 0,
- 80, 225, 7, 44, 22, 214, 163, 231, 88, 254, 110, 2, 204, 254, 5, 245,
- 140, 236, 0, 80, 225, 7, 43, 22, 214, 163, 231, 88, 254, 110, 2, 204,
- 254, 5, 245, 140, 236, 0, 80, 225, 7, 44, 22, 246, 106, 231, 88, 254,
- 110, 2, 204, 254, 5, 245, 140, 236, 0, 80, 225, 7, 43, 22, 246, 106, 223,
- 49, 245, 152, 220, 127, 245, 152, 220, 128, 2, 226, 123, 245, 152, 220,
- 128, 2, 4, 250, 36, 48, 245, 152, 220, 128, 2, 44, 80, 48, 245, 152, 220,
- 128, 2, 43, 80, 48, 250, 36, 2, 203, 130, 37, 67, 130, 37, 226, 7, 37,
- 223, 50, 219, 46, 37, 225, 171, 250, 36, 247, 173, 251, 78, 203, 252,
- 141, 22, 216, 14, 163, 247, 173, 251, 78, 67, 130, 250, 36, 2, 218, 24,
- 211, 178, 37, 254, 87, 247, 169, 50, 120, 80, 216, 139, 250, 35, 37, 71,
- 251, 113, 37, 251, 113, 37, 233, 14, 37, 242, 129, 250, 36, 2, 4, 250,
- 36, 216, 42, 216, 196, 222, 251, 250, 36, 2, 113, 203, 218, 91, 216, 42,
- 216, 196, 222, 251, 92, 222, 228, 247, 255, 219, 95, 92, 244, 175, 247,
- 255, 219, 95, 92, 253, 216, 92, 4, 250, 35, 92, 218, 234, 113, 235, 65,
- 218, 232, 215, 226, 2, 59, 48, 215, 226, 2, 214, 183, 222, 92, 236, 0,
- 215, 225, 215, 226, 2, 220, 134, 253, 207, 251, 174, 44, 215, 226, 77,
- 43, 215, 225, 43, 215, 226, 252, 30, 67, 130, 67, 252, 141, 252, 30, 44,
- 215, 225, 251, 165, 2, 43, 163, 251, 221, 251, 165, 2, 44, 163, 251, 221,
- 85, 251, 164, 30, 2, 43, 163, 251, 221, 30, 2, 44, 163, 251, 221, 71,
- 240, 236, 85, 240, 236, 43, 211, 244, 244, 135, 44, 211, 244, 244, 135,
- 43, 52, 211, 244, 244, 135, 44, 52, 211, 244, 244, 135, 235, 248, 235,
- 234, 216, 112, 117, 235, 234, 235, 235, 229, 102, 2, 67, 130, 246, 112,
- 230, 87, 42, 2, 249, 181, 226, 127, 235, 246, 253, 237, 219, 219, 224,
- 180, 245, 98, 5, 22, 219, 97, 226, 7, 245, 98, 5, 22, 219, 97, 226, 8, 2,
- 216, 89, 48, 240, 104, 216, 42, 22, 219, 97, 226, 7, 242, 183, 218, 155,
- 216, 185, 246, 105, 215, 226, 2, 43, 163, 251, 221, 246, 105, 215, 226,
- 2, 44, 163, 251, 221, 85, 247, 249, 2, 124, 74, 85, 232, 104, 71, 250,
- 36, 2, 124, 74, 85, 250, 36, 2, 124, 74, 245, 85, 71, 218, 234, 245, 85,
- 85, 218, 234, 245, 85, 71, 247, 248, 245, 85, 85, 247, 248, 245, 85, 71,
- 250, 35, 245, 85, 85, 250, 35, 222, 132, 223, 50, 219, 47, 226, 167, 219,
- 47, 2, 226, 123, 223, 50, 219, 47, 2, 203, 91, 251, 249, 219, 46, 251,
- 249, 223, 50, 219, 46, 52, 225, 22, 215, 211, 225, 22, 233, 42, 249, 91,
- 254, 110, 127, 222, 247, 249, 91, 254, 110, 127, 216, 78, 230, 179, 230,
- 24, 37, 59, 226, 167, 230, 24, 37, 96, 226, 167, 230, 24, 37, 30, 226,
- 167, 230, 24, 214, 176, 226, 168, 2, 247, 120, 230, 24, 214, 176, 226,
- 168, 2, 225, 22, 230, 24, 42, 235, 199, 226, 167, 230, 24, 42, 214, 176,
- 226, 167, 113, 232, 146, 22, 226, 167, 113, 232, 146, 177, 226, 167, 230,
- 24, 30, 226, 167, 230, 154, 113, 218, 43, 218, 41, 2, 235, 211, 224, 24,
- 235, 212, 226, 167, 244, 99, 225, 255, 235, 211, 235, 212, 2, 52, 91,
- 235, 212, 253, 173, 2, 219, 95, 250, 32, 243, 226, 254, 88, 235, 209,
- 232, 214, 235, 210, 2, 223, 115, 225, 237, 254, 2, 225, 1, 232, 214, 235,
- 210, 2, 220, 152, 225, 237, 254, 2, 225, 1, 232, 214, 235, 210, 228, 52,
- 235, 250, 216, 196, 225, 1, 235, 212, 254, 2, 115, 225, 11, 226, 167,
- 224, 18, 235, 212, 226, 167, 235, 212, 2, 140, 80, 2, 103, 235, 212, 2,
- 30, 50, 235, 212, 2, 235, 198, 235, 212, 2, 214, 175, 235, 212, 2, 226,
- 123, 235, 212, 2, 214, 183, 235, 66, 233, 85, 43, 215, 226, 226, 167,
- 210, 160, 187, 221, 201, 249, 209, 210, 160, 187, 221, 201, 225, 56, 210,
- 160, 187, 221, 201, 224, 176, 96, 5, 2, 4, 250, 36, 48, 96, 5, 2, 250,
- 31, 255, 15, 48, 96, 5, 2, 216, 89, 48, 96, 5, 2, 59, 51, 96, 5, 2, 216,
- 89, 51, 96, 5, 2, 218, 65, 105, 96, 5, 2, 85, 215, 225, 230, 182, 5, 2,
- 249, 220, 48, 230, 182, 5, 2, 59, 51, 230, 182, 5, 2, 244, 175, 247, 118,
- 230, 182, 5, 2, 222, 228, 247, 118, 96, 5, 236, 0, 43, 163, 250, 35, 96,
- 5, 236, 0, 44, 163, 250, 35, 213, 254, 177, 249, 131, 224, 180, 230, 84,
- 5, 2, 59, 48, 230, 84, 5, 2, 214, 183, 220, 149, 224, 181, 2, 251, 175,
- 249, 255, 219, 77, 224, 180, 230, 84, 5, 236, 0, 43, 163, 250, 35, 230,
- 84, 5, 236, 0, 44, 163, 250, 35, 37, 230, 84, 5, 2, 250, 31, 255, 14,
- 230, 84, 5, 236, 0, 52, 250, 35, 37, 247, 169, 50, 96, 5, 236, 0, 215,
- 225, 230, 182, 5, 236, 0, 215, 225, 230, 84, 5, 236, 0, 215, 225, 235,
- 206, 224, 180, 222, 242, 235, 206, 224, 180, 210, 160, 187, 223, 90, 249,
- 209, 254, 134, 177, 249, 165, 235, 199, 2, 247, 120, 214, 176, 2, 230,
- 182, 50, 214, 176, 2, 226, 123, 235, 199, 2, 226, 123, 235, 199, 2, 232,
- 146, 254, 118, 214, 176, 2, 232, 146, 226, 158, 214, 176, 77, 235, 198,
- 235, 199, 77, 214, 175, 214, 176, 77, 252, 141, 77, 235, 198, 235, 199,
- 77, 252, 141, 77, 214, 175, 214, 176, 252, 30, 22, 235, 65, 2, 214, 175,
- 235, 199, 252, 30, 22, 235, 65, 2, 235, 198, 250, 0, 214, 176, 2, 220,
- 133, 250, 0, 235, 199, 2, 220, 133, 52, 42, 235, 198, 52, 42, 214, 175,
- 250, 0, 214, 176, 2, 220, 134, 22, 219, 77, 224, 180, 232, 146, 22, 2,
- 59, 48, 232, 146, 177, 2, 59, 48, 52, 232, 146, 254, 118, 52, 232, 146,
- 226, 158, 113, 235, 200, 232, 146, 254, 118, 113, 235, 200, 232, 146,
- 226, 158, 219, 85, 233, 85, 226, 158, 219, 85, 233, 85, 254, 118, 232,
- 146, 177, 226, 121, 232, 146, 254, 118, 232, 146, 22, 2, 230, 224, 218,
- 139, 232, 146, 177, 2, 230, 224, 218, 139, 232, 146, 22, 2, 203, 248,
- 156, 232, 146, 177, 2, 203, 248, 156, 232, 146, 22, 2, 52, 226, 123, 232,
- 146, 22, 2, 214, 183, 232, 146, 22, 2, 52, 214, 183, 4, 213, 251, 2, 214,
- 183, 232, 146, 177, 2, 52, 226, 123, 232, 146, 177, 2, 52, 214, 183, 210,
- 160, 187, 247, 129, 254, 79, 210, 160, 187, 223, 148, 254, 79, 245, 98,
- 5, 2, 59, 51, 240, 104, 2, 59, 48, 215, 211, 203, 252, 141, 2, 52, 67,
- 91, 215, 211, 203, 252, 141, 2, 215, 211, 67, 91, 216, 89, 226, 168, 2,
- 59, 48, 216, 89, 226, 168, 2, 222, 228, 247, 118, 219, 162, 230, 182,
- 219, 161, 249, 199, 2, 59, 48, 245, 98, 2, 253, 216, 254, 148, 128, 216,
- 42, 2, 250, 31, 255, 14, 254, 48, 128, 177, 128, 111, 245, 98, 5, 77, 96,
- 50, 96, 5, 77, 245, 98, 50, 245, 98, 5, 77, 216, 89, 226, 167, 52, 249,
- 227, 245, 99, 113, 249, 194, 245, 98, 219, 176, 134, 249, 194, 245, 98,
- 219, 176, 245, 98, 5, 2, 113, 170, 77, 22, 113, 170, 51, 245, 94, 2, 244,
- 11, 170, 48, 233, 15, 2, 250, 36, 235, 215, 242, 130, 2, 250, 36, 235,
- 215, 233, 15, 2, 224, 13, 164, 48, 242, 130, 2, 224, 13, 164, 48, 233,
- 15, 177, 219, 97, 128, 111, 242, 130, 177, 219, 97, 128, 111, 233, 15,
- 177, 219, 97, 128, 216, 42, 2, 59, 235, 215, 242, 130, 177, 219, 97, 128,
- 216, 42, 2, 59, 235, 215, 233, 15, 177, 219, 97, 128, 216, 42, 2, 59, 48,
- 242, 130, 177, 219, 97, 128, 216, 42, 2, 59, 48, 233, 15, 177, 219, 97,
- 128, 216, 42, 2, 59, 77, 222, 251, 242, 130, 177, 219, 97, 128, 216, 42,
- 2, 59, 77, 233, 46, 233, 15, 177, 254, 49, 242, 130, 177, 254, 49, 233,
- 15, 22, 219, 153, 228, 52, 128, 111, 242, 130, 22, 219, 153, 228, 52,
- 128, 111, 233, 15, 22, 228, 52, 254, 49, 242, 130, 22, 228, 52, 254, 49,
- 233, 15, 77, 246, 111, 128, 77, 242, 129, 242, 130, 77, 246, 111, 128,
- 77, 233, 14, 233, 15, 77, 219, 162, 177, 245, 99, 242, 130, 77, 219, 162,
- 177, 245, 99, 233, 15, 77, 219, 162, 77, 242, 129, 242, 130, 77, 219,
- 162, 77, 233, 14, 233, 15, 77, 242, 130, 77, 246, 111, 245, 99, 242, 130,
- 77, 233, 15, 77, 246, 111, 245, 99, 233, 15, 77, 219, 97, 128, 77, 242,
- 130, 77, 219, 97, 245, 99, 242, 130, 77, 219, 97, 128, 77, 233, 15, 77,
- 219, 97, 245, 99, 219, 97, 128, 216, 42, 177, 233, 14, 219, 97, 128, 216,
- 42, 177, 242, 129, 219, 97, 128, 216, 42, 177, 233, 15, 2, 59, 235, 215,
- 219, 97, 128, 216, 42, 177, 242, 130, 2, 59, 235, 215, 246, 111, 128,
- 216, 42, 177, 233, 14, 246, 111, 128, 216, 42, 177, 242, 129, 246, 111,
- 219, 97, 128, 216, 42, 177, 233, 14, 246, 111, 219, 97, 128, 216, 42,
- 177, 242, 129, 219, 162, 177, 233, 14, 219, 162, 177, 242, 129, 219, 162,
- 77, 233, 15, 77, 245, 98, 50, 219, 162, 77, 242, 130, 77, 245, 98, 50,
- 52, 229, 91, 233, 14, 52, 229, 91, 242, 129, 52, 229, 91, 233, 15, 2,
- 214, 183, 242, 130, 226, 121, 233, 14, 242, 130, 252, 30, 233, 14, 233,
- 15, 250, 0, 251, 78, 249, 92, 242, 130, 250, 0, 251, 78, 249, 92, 233,
- 15, 250, 0, 251, 78, 249, 93, 77, 219, 97, 245, 99, 242, 130, 250, 0,
- 251, 78, 249, 93, 77, 219, 97, 245, 99, 219, 78, 216, 200, 233, 83, 216,
- 200, 219, 78, 216, 201, 177, 128, 111, 233, 83, 216, 201, 177, 128, 111,
- 245, 98, 5, 2, 251, 108, 48, 224, 203, 77, 219, 153, 245, 98, 50, 218,
- 56, 77, 219, 153, 245, 98, 50, 224, 203, 77, 219, 153, 228, 52, 128, 111,
- 218, 56, 77, 219, 153, 228, 52, 128, 111, 224, 203, 77, 245, 98, 50, 218,
- 56, 77, 245, 98, 50, 224, 203, 77, 228, 52, 128, 111, 218, 56, 77, 228,
- 52, 128, 111, 224, 203, 77, 254, 148, 128, 111, 218, 56, 77, 254, 148,
- 128, 111, 224, 203, 77, 228, 52, 254, 148, 128, 111, 218, 56, 77, 228,
- 52, 254, 148, 128, 111, 52, 224, 202, 52, 218, 55, 218, 64, 2, 247, 120,
- 218, 22, 2, 247, 120, 218, 64, 2, 96, 5, 51, 218, 22, 2, 96, 5, 51, 218,
- 64, 2, 230, 84, 5, 51, 218, 22, 2, 230, 84, 5, 51, 218, 64, 64, 177, 128,
- 216, 42, 2, 59, 48, 218, 22, 64, 177, 128, 216, 42, 2, 59, 48, 218, 64,
- 64, 77, 245, 98, 50, 218, 22, 64, 77, 245, 98, 50, 218, 64, 64, 77, 216,
- 89, 226, 167, 218, 22, 64, 77, 216, 89, 226, 167, 218, 64, 64, 77, 254,
- 148, 128, 111, 218, 22, 64, 77, 254, 148, 128, 111, 218, 64, 64, 77, 228,
- 52, 128, 111, 218, 22, 64, 77, 228, 52, 128, 111, 42, 43, 204, 93, 226,
- 167, 42, 44, 204, 93, 226, 167, 250, 0, 218, 63, 250, 0, 218, 21, 250, 0,
- 218, 64, 177, 128, 111, 250, 0, 218, 22, 177, 128, 111, 218, 64, 77, 218,
- 21, 218, 22, 77, 218, 63, 218, 64, 77, 218, 63, 218, 22, 77, 218, 21,
- 218, 22, 252, 30, 218, 63, 218, 22, 252, 30, 22, 235, 65, 251, 78, 248,
- 157, 2, 218, 63, 245, 170, 64, 226, 170, 246, 103, 225, 48, 2, 217, 12,
- 216, 13, 215, 240, 235, 198, 244, 21, 228, 65, 219, 251, 43, 217, 87,
- 219, 251, 124, 217, 87, 219, 251, 120, 217, 87, 225, 172, 2, 222, 91, 67,
- 252, 141, 215, 211, 44, 215, 93, 52, 67, 252, 141, 43, 215, 93, 67, 252,
- 141, 52, 43, 215, 93, 52, 67, 252, 141, 52, 43, 215, 93, 199, 248, 157,
- 243, 243, 43, 231, 63, 64, 52, 213, 239, 219, 251, 124, 217, 88, 2, 226,
- 123, 219, 251, 120, 217, 88, 2, 214, 183, 219, 251, 120, 217, 88, 77,
- 219, 251, 124, 217, 87, 52, 124, 217, 87, 52, 120, 217, 87, 52, 218, 103,
- 228, 52, 50, 223, 49, 52, 218, 103, 228, 52, 50, 247, 138, 228, 52, 247,
- 175, 2, 223, 49, 229, 101, 219, 95, 67, 232, 214, 2, 250, 36, 48, 67,
- 232, 214, 2, 250, 36, 51, 124, 217, 88, 2, 250, 36, 51, 226, 8, 2, 203,
- 91, 226, 8, 2, 216, 89, 226, 167, 215, 211, 67, 252, 141, 251, 244, 223,
- 91, 215, 211, 67, 252, 141, 2, 203, 91, 215, 211, 249, 227, 226, 167,
- 215, 211, 229, 91, 233, 14, 215, 211, 229, 91, 242, 129, 246, 111, 219,
- 97, 233, 15, 177, 128, 111, 246, 111, 219, 97, 242, 130, 177, 128, 111,
- 215, 211, 219, 47, 251, 244, 223, 91, 233, 85, 215, 211, 67, 252, 141,
- 226, 167, 52, 219, 47, 226, 167, 71, 67, 130, 230, 24, 71, 67, 130, 228,
- 56, 245, 220, 71, 74, 228, 56, 212, 9, 71, 74, 219, 28, 245, 220, 71, 74,
- 219, 28, 212, 9, 71, 74, 43, 44, 71, 74, 140, 85, 74, 214, 153, 85, 74,
- 246, 104, 85, 74, 228, 56, 245, 220, 85, 74, 228, 56, 212, 9, 85, 74,
- 219, 28, 245, 220, 85, 74, 219, 28, 212, 9, 85, 74, 43, 44, 85, 74, 120,
- 124, 85, 74, 97, 80, 2, 216, 77, 246, 103, 97, 80, 2, 216, 77, 214, 152,
- 140, 80, 2, 216, 77, 246, 103, 140, 80, 2, 216, 77, 214, 152, 42, 2, 216,
- 14, 163, 251, 221, 42, 2, 251, 175, 163, 251, 221, 42, 2, 214, 160, 44,
- 247, 255, 163, 251, 221, 42, 2, 232, 108, 43, 247, 255, 163, 251, 221,
- 247, 249, 2, 43, 163, 251, 221, 247, 249, 2, 44, 163, 251, 221, 247, 249,
- 2, 216, 14, 163, 251, 221, 247, 249, 2, 251, 175, 163, 251, 221, 246,
- 118, 218, 234, 85, 233, 85, 218, 234, 71, 233, 85, 218, 234, 85, 213,
- 187, 4, 218, 234, 71, 213, 187, 4, 218, 234, 85, 225, 190, 71, 225, 190,
- 71, 241, 193, 85, 241, 193, 203, 85, 241, 193, 85, 233, 85, 250, 35, 85,
- 231, 82, 247, 248, 71, 231, 82, 247, 248, 85, 231, 82, 232, 104, 71, 231,
- 82, 232, 104, 85, 4, 247, 248, 85, 4, 232, 104, 71, 4, 232, 104, 85, 203,
- 245, 164, 71, 203, 245, 164, 85, 67, 245, 164, 71, 67, 245, 164, 43, 80,
- 2, 4, 250, 35, 134, 140, 253, 247, 43, 80, 2, 37, 225, 22, 199, 140, 218,
- 230, 74, 140, 215, 58, 80, 2, 67, 91, 140, 215, 58, 80, 2, 52, 67, 91,
- 140, 215, 58, 80, 243, 243, 130, 140, 215, 58, 215, 211, 248, 157, 74,
- 140, 80, 2, 246, 118, 218, 139, 140, 80, 2, 217, 78, 2, 67, 91, 140, 80,
- 2, 217, 78, 2, 52, 67, 91, 140, 215, 58, 80, 2, 217, 77, 140, 215, 58,
- 80, 2, 217, 78, 2, 67, 91, 140, 215, 58, 80, 2, 217, 78, 2, 52, 67, 91,
- 140, 80, 216, 139, 211, 178, 212, 36, 80, 225, 7, 247, 195, 233, 46, 245,
- 98, 5, 77, 140, 74, 223, 50, 216, 89, 226, 168, 77, 140, 74, 140, 80, 77,
- 223, 50, 254, 148, 128, 111, 97, 80, 216, 139, 242, 129, 97, 80, 216,
- 139, 218, 21, 140, 224, 24, 74, 97, 224, 24, 74, 223, 50, 216, 89, 226,
- 168, 77, 97, 74, 97, 80, 77, 223, 50, 254, 148, 128, 111, 216, 89, 226,
- 168, 77, 140, 74, 140, 80, 77, 254, 148, 128, 111, 140, 80, 77, 223, 50,
- 216, 89, 226, 167, 97, 80, 77, 223, 50, 216, 89, 226, 167, 71, 231, 82,
- 218, 156, 85, 4, 218, 156, 71, 4, 218, 156, 85, 222, 247, 225, 190, 71,
- 222, 247, 225, 190, 114, 233, 85, 250, 35, 114, 226, 124, 2, 226, 124,
- 235, 215, 114, 250, 36, 2, 250, 36, 235, 215, 114, 250, 35, 114, 37, 221,
- 254, 145, 6, 1, 253, 159, 145, 6, 1, 251, 117, 145, 6, 1, 213, 253, 145,
- 6, 1, 242, 185, 145, 6, 1, 247, 140, 145, 6, 1, 211, 21, 145, 6, 1, 210,
- 68, 145, 6, 1, 246, 34, 145, 6, 1, 210, 91, 145, 6, 1, 235, 148, 145, 6,
- 1, 65, 235, 148, 145, 6, 1, 73, 145, 6, 1, 247, 160, 145, 6, 1, 234, 240,
- 145, 6, 1, 232, 186, 145, 6, 1, 230, 29, 145, 6, 1, 229, 191, 145, 6, 1,
- 226, 185, 145, 6, 1, 225, 4, 145, 6, 1, 222, 227, 145, 6, 1, 219, 83,
- 145, 6, 1, 215, 81, 145, 6, 1, 214, 201, 145, 6, 1, 243, 246, 145, 6, 1,
- 241, 199, 145, 6, 1, 226, 135, 145, 6, 1, 225, 221, 145, 6, 1, 219, 228,
- 145, 6, 1, 215, 167, 145, 6, 1, 250, 75, 145, 6, 1, 220, 102, 145, 6, 1,
- 211, 27, 145, 6, 1, 211, 29, 145, 6, 1, 211, 57, 145, 6, 1, 218, 253,
- 162, 145, 6, 1, 210, 212, 145, 6, 1, 4, 210, 183, 145, 6, 1, 4, 210, 184,
- 2, 217, 77, 145, 6, 1, 210, 244, 145, 6, 1, 235, 184, 4, 210, 183, 145,
- 6, 1, 251, 249, 210, 183, 145, 6, 1, 235, 184, 251, 249, 210, 183, 145,
- 6, 1, 244, 82, 145, 6, 1, 235, 146, 145, 6, 1, 219, 227, 145, 6, 1, 215,
- 202, 61, 145, 6, 1, 233, 75, 230, 29, 145, 4, 1, 253, 159, 145, 4, 1,
- 251, 117, 145, 4, 1, 213, 253, 145, 4, 1, 242, 185, 145, 4, 1, 247, 140,
- 145, 4, 1, 211, 21, 145, 4, 1, 210, 68, 145, 4, 1, 246, 34, 145, 4, 1,
- 210, 91, 145, 4, 1, 235, 148, 145, 4, 1, 65, 235, 148, 145, 4, 1, 73,
- 145, 4, 1, 247, 160, 145, 4, 1, 234, 240, 145, 4, 1, 232, 186, 145, 4, 1,
- 230, 29, 145, 4, 1, 229, 191, 145, 4, 1, 226, 185, 145, 4, 1, 225, 4,
- 145, 4, 1, 222, 227, 145, 4, 1, 219, 83, 145, 4, 1, 215, 81, 145, 4, 1,
- 214, 201, 145, 4, 1, 243, 246, 145, 4, 1, 241, 199, 145, 4, 1, 226, 135,
- 145, 4, 1, 225, 221, 145, 4, 1, 219, 228, 145, 4, 1, 215, 167, 145, 4, 1,
- 250, 75, 145, 4, 1, 220, 102, 145, 4, 1, 211, 27, 145, 4, 1, 211, 29,
- 145, 4, 1, 211, 57, 145, 4, 1, 218, 253, 162, 145, 4, 1, 210, 212, 145,
- 4, 1, 4, 210, 183, 145, 4, 1, 4, 210, 184, 2, 217, 77, 145, 4, 1, 210,
- 244, 145, 4, 1, 235, 184, 4, 210, 183, 145, 4, 1, 251, 249, 210, 183,
- 145, 4, 1, 235, 184, 251, 249, 210, 183, 145, 4, 1, 244, 82, 145, 4, 1,
- 235, 146, 145, 4, 1, 219, 227, 145, 4, 1, 215, 202, 61, 145, 4, 1, 233,
- 75, 230, 29, 7, 6, 1, 233, 149, 2, 52, 130, 7, 4, 1, 233, 149, 2, 52,
- 130, 7, 6, 1, 233, 149, 2, 230, 224, 182, 7, 6, 1, 226, 106, 2, 91, 7, 6,
- 1, 223, 224, 2, 217, 77, 7, 4, 1, 115, 2, 91, 7, 4, 1, 217, 153, 2, 247,
- 255, 91, 7, 6, 1, 242, 61, 2, 248, 39, 7, 4, 1, 242, 61, 2, 248, 39, 7,
- 6, 1, 235, 24, 2, 248, 39, 7, 4, 1, 235, 24, 2, 248, 39, 7, 6, 1, 210,
- 160, 2, 248, 39, 7, 4, 1, 210, 160, 2, 248, 39, 7, 6, 1, 254, 143, 7, 6,
- 1, 232, 50, 2, 103, 7, 6, 1, 215, 94, 61, 7, 6, 1, 215, 94, 254, 143, 7,
- 4, 1, 214, 106, 2, 44, 103, 7, 6, 1, 212, 99, 2, 103, 7, 4, 1, 212, 99,
- 2, 103, 7, 4, 1, 214, 106, 2, 249, 100, 7, 6, 1, 163, 242, 60, 7, 4, 1,
- 163, 242, 60, 7, 4, 1, 217, 75, 225, 133, 7, 4, 1, 160, 2, 228, 50, 7, 4,
- 1, 215, 94, 223, 224, 2, 217, 77, 7, 4, 1, 144, 2, 121, 222, 234, 235,
- 215, 7, 1, 4, 6, 215, 94, 75, 7, 218, 65, 4, 1, 235, 144, 58, 1, 6, 214,
- 105, 7, 6, 1, 222, 92, 2, 217, 250, 217, 77, 7, 6, 1, 210, 160, 2, 217,
- 250, 217, 77, 81, 6, 1, 254, 164, 81, 4, 1, 254, 164, 81, 6, 1, 213, 173,
- 81, 4, 1, 213, 173, 81, 6, 1, 243, 107, 81, 4, 1, 243, 107, 81, 6, 1,
- 248, 191, 81, 4, 1, 248, 191, 81, 6, 1, 245, 194, 81, 4, 1, 245, 194, 81,
- 6, 1, 219, 33, 81, 4, 1, 219, 33, 81, 6, 1, 210, 101, 81, 4, 1, 210, 101,
- 81, 6, 1, 241, 248, 81, 4, 1, 241, 248, 81, 6, 1, 216, 177, 81, 4, 1,
- 216, 177, 81, 6, 1, 240, 116, 81, 4, 1, 240, 116, 81, 6, 1, 234, 227, 81,
- 4, 1, 234, 227, 81, 6, 1, 233, 72, 81, 4, 1, 233, 72, 81, 6, 1, 230, 230,
- 81, 4, 1, 230, 230, 81, 6, 1, 228, 233, 81, 4, 1, 228, 233, 81, 6, 1,
- 233, 233, 81, 4, 1, 233, 233, 81, 6, 1, 76, 81, 4, 1, 76, 81, 6, 1, 225,
- 108, 81, 4, 1, 225, 108, 81, 6, 1, 222, 211, 81, 4, 1, 222, 211, 81, 6,
- 1, 219, 165, 81, 4, 1, 219, 165, 81, 6, 1, 217, 41, 81, 4, 1, 217, 41,
- 81, 6, 1, 214, 229, 81, 4, 1, 214, 229, 81, 6, 1, 244, 121, 81, 4, 1,
- 244, 121, 81, 6, 1, 234, 112, 81, 4, 1, 234, 112, 81, 6, 1, 224, 161, 81,
- 4, 1, 224, 161, 81, 6, 1, 226, 178, 81, 4, 1, 226, 178, 81, 6, 1, 247,
- 253, 254, 170, 81, 4, 1, 247, 253, 254, 170, 81, 6, 1, 55, 81, 254, 196,
- 81, 4, 1, 55, 81, 254, 196, 81, 6, 1, 249, 115, 245, 194, 81, 4, 1, 249,
- 115, 245, 194, 81, 6, 1, 247, 253, 234, 227, 81, 4, 1, 247, 253, 234,
- 227, 81, 6, 1, 247, 253, 228, 233, 81, 4, 1, 247, 253, 228, 233, 81, 6,
- 1, 249, 115, 228, 233, 81, 4, 1, 249, 115, 228, 233, 81, 6, 1, 55, 81,
- 226, 178, 81, 4, 1, 55, 81, 226, 178, 81, 6, 1, 221, 246, 81, 4, 1, 221,
- 246, 81, 6, 1, 249, 128, 220, 55, 81, 4, 1, 249, 128, 220, 55, 81, 6, 1,
- 55, 81, 220, 55, 81, 4, 1, 55, 81, 220, 55, 81, 6, 1, 55, 81, 245, 75,
- 81, 4, 1, 55, 81, 245, 75, 81, 6, 1, 254, 182, 234, 117, 81, 4, 1, 254,
- 182, 234, 117, 81, 6, 1, 247, 253, 241, 45, 81, 4, 1, 247, 253, 241, 45,
- 81, 6, 1, 55, 81, 241, 45, 81, 4, 1, 55, 81, 241, 45, 81, 6, 1, 55, 81,
- 162, 81, 4, 1, 55, 81, 162, 81, 6, 1, 233, 148, 162, 81, 4, 1, 233, 148,
- 162, 81, 6, 1, 55, 81, 241, 217, 81, 4, 1, 55, 81, 241, 217, 81, 6, 1,
- 55, 81, 241, 251, 81, 4, 1, 55, 81, 241, 251, 81, 6, 1, 55, 81, 243, 102,
- 81, 4, 1, 55, 81, 243, 102, 81, 6, 1, 55, 81, 247, 163, 81, 4, 1, 55, 81,
- 247, 163, 81, 6, 1, 55, 81, 220, 22, 81, 4, 1, 55, 81, 220, 22, 81, 6, 1,
- 55, 227, 208, 220, 22, 81, 4, 1, 55, 227, 208, 220, 22, 81, 6, 1, 55,
- 227, 208, 229, 27, 81, 4, 1, 55, 227, 208, 229, 27, 81, 6, 1, 55, 227,
- 208, 227, 148, 81, 4, 1, 55, 227, 208, 227, 148, 81, 6, 1, 55, 227, 208,
- 212, 37, 81, 4, 1, 55, 227, 208, 212, 37, 81, 16, 234, 246, 81, 16, 230,
- 231, 222, 211, 81, 16, 225, 109, 222, 211, 81, 16, 218, 147, 81, 16, 217,
- 42, 222, 211, 81, 16, 234, 113, 222, 211, 81, 16, 220, 23, 219, 165, 81,
- 6, 1, 249, 115, 220, 55, 81, 4, 1, 249, 115, 220, 55, 81, 6, 1, 249, 115,
- 243, 102, 81, 4, 1, 249, 115, 243, 102, 81, 38, 228, 234, 48, 81, 38,
- 218, 247, 253, 224, 81, 38, 218, 247, 233, 21, 81, 6, 1, 251, 199, 234,
- 117, 81, 4, 1, 251, 199, 234, 117, 81, 55, 227, 208, 243, 229, 218, 129,
- 81, 55, 227, 208, 247, 197, 224, 13, 78, 81, 55, 227, 208, 235, 237, 224,
- 13, 78, 81, 55, 227, 208, 213, 241, 247, 172, 81, 244, 2, 123, 242, 27,
- 81, 243, 229, 218, 129, 81, 230, 124, 247, 172, 98, 4, 1, 254, 123, 98,
- 4, 1, 252, 152, 98, 4, 1, 243, 106, 98, 4, 1, 247, 128, 98, 4, 1, 245,
- 150, 98, 4, 1, 213, 160, 98, 4, 1, 210, 89, 98, 4, 1, 217, 60, 98, 4, 1,
- 235, 255, 98, 4, 1, 234, 234, 98, 4, 1, 233, 81, 98, 4, 1, 231, 185, 98,
- 4, 1, 229, 195, 98, 4, 1, 226, 196, 98, 4, 1, 226, 17, 98, 4, 1, 210, 78,
- 98, 4, 1, 223, 171, 98, 4, 1, 221, 243, 98, 4, 1, 217, 50, 98, 4, 1, 214,
- 190, 98, 4, 1, 225, 140, 98, 4, 1, 234, 121, 98, 4, 1, 242, 241, 98, 4,
- 1, 224, 73, 98, 4, 1, 220, 20, 98, 4, 1, 250, 97, 98, 4, 1, 251, 7, 98,
- 4, 1, 235, 100, 98, 4, 1, 250, 40, 98, 4, 1, 250, 143, 98, 4, 1, 211,
- 163, 98, 4, 1, 235, 111, 98, 4, 1, 242, 43, 98, 4, 1, 241, 238, 98, 4, 1,
- 241, 175, 98, 4, 1, 212, 22, 98, 4, 1, 242, 4, 98, 4, 1, 241, 65, 98, 4,
- 1, 210, 246, 98, 4, 1, 254, 232, 216, 108, 1, 191, 216, 108, 1, 211, 99,
- 216, 108, 1, 211, 98, 216, 108, 1, 211, 88, 216, 108, 1, 211, 86, 216,
- 108, 1, 252, 32, 255, 16, 211, 81, 216, 108, 1, 211, 81, 216, 108, 1,
- 211, 96, 216, 108, 1, 211, 93, 216, 108, 1, 211, 95, 216, 108, 1, 211,
- 94, 216, 108, 1, 211, 12, 216, 108, 1, 211, 90, 216, 108, 1, 211, 79,
- 216, 108, 1, 215, 115, 211, 79, 216, 108, 1, 211, 76, 216, 108, 1, 211,
- 84, 216, 108, 1, 252, 32, 255, 16, 211, 84, 216, 108, 1, 215, 115, 211,
- 84, 216, 108, 1, 211, 83, 216, 108, 1, 211, 103, 216, 108, 1, 211, 77,
- 216, 108, 1, 215, 115, 211, 77, 216, 108, 1, 211, 66, 216, 108, 1, 215,
- 115, 211, 66, 216, 108, 1, 211, 8, 216, 108, 1, 211, 49, 216, 108, 1,
- 254, 207, 211, 49, 216, 108, 1, 215, 115, 211, 49, 216, 108, 1, 211, 75,
- 216, 108, 1, 211, 74, 216, 108, 1, 211, 71, 216, 108, 1, 215, 115, 211,
- 85, 216, 108, 1, 215, 115, 211, 69, 216, 108, 1, 211, 67, 216, 108, 1,
- 210, 212, 216, 108, 1, 211, 64, 216, 108, 1, 211, 63, 216, 108, 1, 211,
- 87, 216, 108, 1, 215, 115, 211, 87, 216, 108, 1, 253, 163, 211, 87, 216,
- 108, 1, 211, 62, 216, 108, 1, 211, 60, 216, 108, 1, 211, 61, 216, 108, 1,
- 211, 59, 216, 108, 1, 211, 58, 216, 108, 1, 211, 97, 216, 108, 1, 211,
- 56, 216, 108, 1, 211, 54, 216, 108, 1, 211, 53, 216, 108, 1, 211, 52,
- 216, 108, 1, 211, 50, 216, 108, 1, 217, 34, 211, 50, 216, 108, 1, 211,
- 48, 216, 108, 1, 211, 47, 216, 108, 1, 210, 244, 216, 108, 58, 1, 233,
- 126, 78, 216, 108, 220, 138, 78, 216, 108, 116, 235, 63, 29, 3, 232, 155,
- 29, 3, 230, 160, 29, 3, 222, 209, 29, 3, 219, 57, 29, 3, 220, 6, 29, 3,
- 251, 204, 29, 3, 216, 41, 29, 3, 249, 237, 29, 3, 228, 72, 29, 3, 227,
- 133, 29, 3, 242, 180, 227, 0, 29, 3, 210, 22, 29, 3, 247, 143, 29, 3,
- 248, 104, 29, 3, 235, 67, 29, 3, 216, 155, 29, 3, 250, 85, 29, 3, 225,
- 120, 29, 3, 225, 15, 29, 3, 242, 255, 29, 3, 242, 251, 29, 3, 242, 252,
- 29, 3, 242, 253, 29, 3, 218, 223, 29, 3, 218, 179, 29, 3, 218, 192, 29,
- 3, 218, 222, 29, 3, 218, 196, 29, 3, 218, 197, 29, 3, 218, 184, 29, 3,
- 250, 213, 29, 3, 250, 192, 29, 3, 250, 194, 29, 3, 250, 212, 29, 3, 250,
- 210, 29, 3, 250, 211, 29, 3, 250, 193, 29, 3, 209, 243, 29, 3, 209, 221,
- 29, 3, 209, 234, 29, 3, 209, 242, 29, 3, 209, 237, 29, 3, 209, 238, 29,
- 3, 209, 226, 29, 3, 250, 208, 29, 3, 250, 195, 29, 3, 250, 197, 29, 3,
- 250, 207, 29, 3, 250, 205, 29, 3, 250, 206, 29, 3, 250, 196, 29, 3, 223,
- 236, 29, 3, 223, 226, 29, 3, 223, 232, 29, 3, 223, 235, 29, 3, 223, 233,
- 29, 3, 223, 234, 29, 3, 223, 231, 29, 3, 233, 159, 29, 3, 233, 151, 29,
- 3, 233, 154, 29, 3, 233, 158, 29, 3, 233, 155, 29, 3, 233, 156, 29, 3,
- 233, 152, 29, 3, 211, 130, 29, 3, 211, 120, 29, 3, 211, 126, 29, 3, 211,
- 129, 29, 3, 211, 127, 29, 3, 211, 128, 29, 3, 211, 125, 29, 3, 242, 71,
- 29, 3, 242, 62, 29, 3, 242, 65, 29, 3, 242, 70, 29, 3, 242, 67, 29, 3,
- 242, 68, 29, 3, 242, 64, 38, 33, 1, 252, 75, 38, 33, 1, 213, 255, 38, 33,
- 1, 242, 236, 38, 33, 1, 248, 90, 38, 33, 1, 210, 74, 38, 33, 1, 210, 94,
- 38, 33, 1, 176, 38, 33, 1, 245, 174, 38, 33, 1, 245, 159, 38, 33, 1, 245,
- 150, 38, 33, 1, 76, 38, 33, 1, 225, 221, 38, 33, 1, 245, 92, 38, 33, 1,
- 245, 82, 38, 33, 1, 217, 22, 38, 33, 1, 162, 38, 33, 1, 215, 178, 38, 33,
- 1, 250, 131, 38, 33, 1, 220, 102, 38, 33, 1, 220, 65, 38, 33, 1, 244, 82,
- 38, 33, 1, 245, 81, 38, 33, 1, 61, 38, 33, 1, 236, 60, 38, 33, 1, 247,
- 161, 38, 33, 1, 230, 140, 214, 205, 38, 33, 1, 211, 59, 38, 33, 1, 210,
- 212, 38, 33, 1, 235, 183, 61, 38, 33, 1, 232, 192, 210, 183, 38, 33, 1,
- 251, 249, 210, 183, 38, 33, 1, 235, 183, 251, 249, 210, 183, 44, 254,
- 110, 218, 60, 231, 154, 44, 254, 110, 246, 118, 218, 60, 231, 154, 43,
- 218, 60, 127, 44, 218, 60, 127, 43, 246, 118, 218, 60, 127, 44, 246, 118,
- 218, 60, 127, 223, 157, 235, 202, 231, 154, 223, 157, 246, 118, 235, 202,
- 231, 154, 246, 118, 215, 241, 231, 154, 43, 215, 241, 127, 44, 215, 241,
- 127, 223, 157, 218, 234, 43, 223, 157, 226, 198, 127, 44, 223, 157, 226,
- 198, 127, 245, 210, 249, 158, 226, 13, 244, 22, 226, 13, 223, 49, 244,
- 22, 226, 13, 240, 165, 246, 118, 226, 251, 246, 104, 254, 119, 214, 153,
- 254, 119, 246, 118, 222, 247, 254, 109, 52, 226, 248, 240, 168, 235, 193,
- 235, 201, 226, 59, 251, 154, 240, 169, 2, 248, 1, 216, 89, 2, 222, 234,
- 48, 43, 121, 226, 5, 127, 44, 121, 226, 5, 127, 216, 89, 2, 59, 48, 216,
- 89, 2, 59, 51, 43, 67, 252, 141, 2, 224, 7, 44, 67, 252, 141, 2, 224, 7,
- 216, 14, 43, 163, 127, 216, 14, 44, 163, 127, 251, 175, 43, 163, 127,
- 251, 175, 44, 163, 127, 43, 219, 187, 104, 127, 44, 219, 187, 104, 127,
- 43, 52, 226, 3, 44, 52, 226, 3, 113, 170, 117, 123, 59, 224, 140, 123,
- 59, 117, 113, 170, 224, 140, 92, 244, 11, 59, 224, 140, 244, 81, 59, 78,
- 223, 49, 224, 13, 78, 67, 182, 222, 234, 225, 10, 211, 209, 220, 138,
- 230, 224, 247, 120, 215, 94, 249, 219, 223, 157, 247, 120, 223, 157, 249,
- 219, 215, 94, 220, 150, 248, 206, 2, 43, 242, 108, 248, 206, 2, 44, 242,
- 108, 215, 94, 248, 205, 216, 14, 163, 221, 173, 50, 215, 59, 248, 156,
- 216, 143, 248, 156, 9, 34, 223, 76, 9, 34, 250, 10, 9, 34, 221, 176, 110,
- 9, 34, 221, 176, 105, 9, 34, 221, 176, 158, 9, 34, 225, 167, 9, 34, 251,
- 163, 9, 34, 217, 92, 9, 34, 234, 33, 110, 9, 34, 234, 33, 105, 9, 34,
- 247, 170, 9, 34, 221, 179, 9, 34, 4, 110, 9, 34, 4, 105, 9, 34, 233, 97,
- 110, 9, 34, 233, 97, 105, 9, 34, 233, 97, 158, 9, 34, 233, 97, 161, 9,
- 34, 219, 68, 9, 34, 216, 145, 9, 34, 219, 66, 110, 9, 34, 219, 66, 105,
- 9, 34, 241, 228, 110, 9, 34, 241, 228, 105, 9, 34, 242, 15, 9, 34, 223,
- 147, 9, 34, 250, 82, 9, 34, 218, 37, 9, 34, 230, 128, 9, 34, 248, 88, 9,
- 34, 230, 120, 9, 34, 250, 25, 9, 34, 212, 41, 110, 9, 34, 212, 41, 105,
- 9, 34, 244, 96, 9, 34, 225, 232, 110, 9, 34, 225, 232, 105, 9, 34, 219,
- 160, 163, 215, 236, 215, 188, 9, 34, 249, 145, 9, 34, 247, 136, 9, 34,
- 235, 137, 9, 34, 251, 198, 64, 249, 250, 9, 34, 245, 15, 9, 34, 218, 249,
- 110, 9, 34, 218, 249, 105, 9, 34, 252, 154, 9, 34, 219, 167, 9, 34, 251,
- 63, 219, 167, 9, 34, 229, 90, 110, 9, 34, 229, 90, 105, 9, 34, 229, 90,
- 158, 9, 34, 229, 90, 161, 9, 34, 231, 46, 9, 34, 220, 57, 9, 34, 223,
- 153, 9, 34, 245, 37, 9, 34, 226, 209, 9, 34, 251, 133, 110, 9, 34, 251,
- 133, 105, 9, 34, 231, 86, 9, 34, 230, 123, 9, 34, 242, 140, 110, 9, 34,
- 242, 140, 105, 9, 34, 242, 140, 158, 9, 34, 216, 106, 9, 34, 249, 249, 9,
- 34, 212, 9, 110, 9, 34, 212, 9, 105, 9, 34, 251, 63, 221, 170, 9, 34,
- 219, 160, 240, 248, 9, 34, 240, 248, 9, 34, 251, 63, 219, 2, 9, 34, 251,
- 63, 220, 52, 9, 34, 244, 32, 9, 34, 251, 63, 250, 228, 9, 34, 219, 160,
- 212, 57, 9, 34, 212, 58, 110, 9, 34, 212, 58, 105, 9, 34, 250, 27, 9, 34,
- 251, 63, 242, 166, 9, 34, 199, 110, 9, 34, 199, 105, 9, 34, 251, 63, 232,
- 137, 9, 34, 251, 63, 243, 88, 9, 34, 230, 119, 110, 9, 34, 230, 119, 105,
- 9, 34, 223, 159, 9, 34, 251, 207, 9, 34, 251, 63, 217, 56, 233, 52, 9,
- 34, 251, 63, 233, 53, 9, 34, 251, 63, 211, 239, 9, 34, 251, 63, 244, 46,
- 9, 34, 245, 218, 110, 9, 34, 245, 218, 105, 9, 34, 245, 218, 158, 9, 34,
- 251, 63, 245, 217, 9, 34, 241, 235, 9, 34, 251, 63, 240, 245, 9, 34, 251,
- 194, 9, 34, 242, 222, 9, 34, 251, 63, 244, 90, 9, 34, 251, 63, 251, 237,
- 9, 34, 251, 63, 222, 1, 9, 34, 219, 160, 212, 2, 9, 34, 219, 160, 211,
- 41, 9, 34, 251, 63, 243, 244, 9, 34, 235, 143, 245, 41, 9, 34, 251, 63,
- 245, 41, 9, 34, 235, 143, 216, 15, 9, 34, 251, 63, 216, 15, 9, 34, 235,
- 143, 246, 96, 9, 34, 251, 63, 246, 96, 9, 34, 215, 91, 9, 34, 235, 143,
- 215, 91, 9, 34, 251, 63, 215, 91, 60, 34, 110, 60, 34, 232, 213, 60, 34,
- 247, 120, 60, 34, 219, 95, 60, 34, 221, 175, 60, 34, 103, 60, 34, 105,
- 60, 34, 232, 237, 60, 34, 231, 185, 60, 34, 233, 33, 60, 34, 245, 129,
- 60, 34, 195, 60, 34, 124, 251, 163, 60, 34, 249, 147, 60, 34, 240, 111,
- 60, 34, 217, 92, 60, 34, 204, 251, 163, 60, 34, 234, 32, 60, 34, 224,
- 224, 60, 34, 211, 202, 60, 34, 218, 243, 60, 34, 44, 204, 251, 163, 60,
- 34, 241, 176, 245, 145, 60, 34, 216, 247, 60, 34, 247, 170, 60, 34, 221,
- 179, 60, 34, 250, 10, 60, 34, 224, 182, 60, 34, 254, 215, 60, 34, 230,
- 110, 60, 34, 245, 145, 60, 34, 245, 223, 60, 34, 221, 200, 60, 34, 242,
- 174, 60, 34, 242, 175, 219, 81, 60, 34, 245, 40, 60, 34, 251, 248, 60,
- 34, 211, 221, 60, 34, 250, 101, 60, 34, 222, 196, 60, 34, 235, 251, 60,
- 34, 219, 79, 60, 34, 233, 96, 60, 34, 249, 156, 60, 34, 218, 237, 60, 34,
- 230, 115, 60, 34, 222, 224, 60, 34, 211, 206, 60, 34, 226, 190, 60, 34,
- 215, 97, 60, 34, 246, 80, 60, 34, 219, 251, 216, 145, 60, 34, 246, 118,
- 250, 10, 60, 34, 199, 218, 108, 60, 34, 113, 242, 10, 60, 34, 220, 0, 60,
- 34, 251, 169, 60, 34, 219, 65, 60, 34, 251, 137, 60, 34, 218, 138, 60,
- 34, 241, 227, 60, 34, 242, 28, 60, 34, 247, 123, 60, 34, 242, 15, 60, 34,
- 251, 154, 60, 34, 223, 147, 60, 34, 221, 187, 60, 34, 247, 199, 60, 34,
- 253, 168, 60, 34, 218, 234, 60, 34, 228, 51, 60, 34, 218, 37, 60, 34,
- 221, 211, 60, 34, 230, 128, 60, 34, 215, 235, 60, 34, 233, 122, 60, 34,
- 218, 129, 60, 34, 248, 88, 60, 34, 212, 21, 60, 34, 247, 146, 228, 51,
- 60, 34, 249, 215, 60, 34, 243, 222, 60, 34, 250, 21, 60, 34, 218, 142,
- 60, 34, 212, 40, 60, 34, 244, 96, 60, 34, 250, 18, 60, 34, 244, 161, 60,
- 34, 52, 211, 178, 60, 34, 163, 215, 236, 215, 188, 60, 34, 219, 89, 60,
- 34, 244, 171, 60, 34, 249, 145, 60, 34, 247, 136, 60, 34, 224, 179, 60,
- 34, 235, 137, 60, 34, 231, 67, 60, 34, 216, 88, 60, 34, 217, 245, 60, 34,
- 232, 231, 60, 34, 214, 131, 60, 34, 244, 120, 60, 34, 251, 198, 64, 249,
- 250, 60, 34, 219, 188, 60, 34, 246, 118, 216, 242, 60, 34, 211, 253, 60,
- 34, 219, 103, 60, 34, 247, 187, 60, 34, 245, 15, 60, 34, 219, 5, 60, 34,
- 74, 60, 34, 218, 131, 60, 34, 218, 248, 60, 34, 215, 255, 60, 34, 242,
- 147, 60, 34, 250, 218, 60, 34, 218, 160, 60, 34, 252, 154, 60, 34, 223,
- 31, 60, 34, 219, 167, 60, 34, 235, 130, 60, 34, 229, 89, 60, 34, 220, 57,
- 60, 34, 244, 149, 60, 34, 226, 209, 60, 34, 254, 118, 60, 34, 225, 29,
- 60, 34, 245, 227, 60, 34, 251, 132, 60, 34, 231, 86, 60, 34, 230, 183,
- 60, 34, 220, 156, 60, 34, 253, 252, 60, 34, 230, 123, 60, 34, 216, 19,
- 60, 34, 226, 165, 60, 34, 251, 201, 60, 34, 218, 127, 60, 34, 249, 225,
- 60, 34, 242, 139, 60, 34, 216, 106, 60, 34, 235, 217, 60, 34, 251, 211,
- 60, 34, 212, 58, 245, 145, 60, 34, 249, 249, 60, 34, 212, 8, 60, 34, 221,
- 170, 60, 34, 240, 248, 60, 34, 219, 2, 60, 34, 214, 22, 60, 34, 252, 72,
- 60, 34, 225, 73, 60, 34, 252, 174, 60, 34, 220, 52, 60, 34, 223, 110, 60,
- 34, 222, 126, 60, 34, 244, 32, 60, 34, 251, 200, 60, 34, 250, 228, 60,
- 34, 251, 226, 60, 34, 230, 125, 60, 34, 212, 57, 60, 34, 250, 27, 60, 34,
- 211, 236, 60, 34, 247, 180, 60, 34, 213, 161, 60, 34, 242, 166, 60, 34,
- 232, 137, 60, 34, 243, 88, 60, 34, 230, 118, 60, 34, 219, 94, 60, 34,
- 219, 251, 217, 76, 251, 237, 60, 34, 223, 159, 60, 34, 251, 207, 60, 34,
- 211, 197, 60, 34, 244, 190, 60, 34, 233, 52, 60, 34, 217, 56, 233, 52,
- 60, 34, 233, 48, 60, 34, 219, 30, 60, 34, 233, 53, 60, 34, 211, 239, 60,
- 34, 244, 46, 60, 34, 245, 217, 60, 34, 241, 235, 60, 34, 244, 0, 60, 34,
- 240, 245, 60, 34, 251, 194, 60, 34, 217, 63, 60, 34, 242, 34, 60, 34,
- 244, 113, 60, 34, 222, 28, 211, 236, 60, 34, 250, 220, 60, 34, 242, 222,
- 60, 34, 244, 90, 60, 34, 251, 237, 60, 34, 222, 1, 60, 34, 248, 74, 60,
- 34, 212, 2, 60, 34, 241, 210, 60, 34, 211, 41, 60, 34, 230, 192, 60, 34,
- 251, 221, 60, 34, 245, 155, 60, 34, 243, 244, 60, 34, 215, 209, 60, 34,
- 246, 82, 60, 34, 223, 141, 60, 34, 228, 53, 60, 34, 245, 41, 60, 34, 216,
- 15, 60, 34, 246, 96, 60, 34, 215, 91, 60, 34, 244, 48, 109, 248, 37, 135,
- 43, 216, 42, 222, 251, 109, 248, 37, 135, 77, 216, 42, 51, 109, 248, 37,
- 135, 43, 216, 42, 230, 224, 22, 222, 251, 109, 248, 37, 135, 77, 216, 42,
- 230, 224, 22, 51, 109, 248, 37, 135, 243, 229, 218, 10, 109, 248, 37,
- 135, 218, 11, 243, 243, 48, 109, 248, 37, 135, 218, 11, 243, 243, 51,
- 109, 248, 37, 135, 218, 11, 243, 243, 233, 46, 109, 248, 37, 135, 218,
- 11, 243, 243, 214, 160, 233, 46, 109, 248, 37, 135, 218, 11, 243, 243,
- 214, 160, 222, 251, 109, 248, 37, 135, 218, 11, 243, 243, 232, 108, 233,
- 46, 109, 248, 37, 135, 226, 122, 109, 219, 18, 109, 249, 219, 109, 243,
- 229, 218, 129, 247, 177, 78, 235, 131, 235, 236, 218, 159, 87, 109, 235,
- 158, 78, 109, 249, 252, 78, 109, 54, 210, 86, 43, 254, 110, 127, 44, 254,
- 110, 127, 43, 52, 254, 110, 127, 44, 52, 254, 110, 127, 43, 249, 161,
- 127, 44, 249, 161, 127, 43, 71, 249, 161, 127, 44, 71, 249, 161, 127, 43,
- 85, 233, 20, 127, 44, 85, 233, 20, 127, 224, 237, 78, 243, 32, 78, 43,
- 216, 6, 220, 53, 127, 44, 216, 6, 220, 53, 127, 43, 71, 233, 20, 127, 44,
- 71, 233, 20, 127, 43, 71, 216, 6, 220, 53, 127, 44, 71, 216, 6, 220, 53,
- 127, 43, 71, 42, 127, 44, 71, 42, 127, 212, 36, 248, 156, 223, 49, 52,
- 224, 191, 223, 254, 78, 52, 224, 191, 223, 254, 78, 121, 52, 224, 191,
- 223, 254, 78, 224, 237, 164, 244, 190, 242, 8, 227, 198, 110, 242, 8,
- 227, 198, 105, 242, 8, 227, 198, 158, 242, 8, 227, 198, 161, 242, 8, 227,
- 198, 189, 242, 8, 227, 198, 194, 242, 8, 227, 198, 198, 242, 8, 227, 198,
- 195, 242, 8, 227, 198, 200, 109, 233, 3, 138, 78, 109, 222, 228, 138, 78,
- 109, 248, 44, 138, 78, 109, 245, 128, 138, 78, 24, 219, 155, 59, 138, 78,
- 24, 52, 59, 138, 78, 212, 32, 248, 156, 67, 234, 233, 223, 77, 78, 67,
- 234, 233, 223, 77, 2, 213, 135, 219, 31, 78, 67, 234, 233, 223, 77, 164,
- 214, 160, 242, 27, 67, 234, 233, 223, 77, 2, 213, 135, 219, 31, 164, 214,
- 160, 242, 27, 67, 234, 233, 223, 77, 164, 232, 108, 242, 27, 37, 224,
- 237, 78, 109, 217, 3, 232, 214, 244, 146, 220, 138, 87, 242, 8, 227, 198,
- 216, 247, 242, 8, 227, 198, 215, 73, 242, 8, 227, 198, 216, 162, 67, 109,
- 235, 158, 78, 231, 140, 78, 225, 255, 254, 140, 78, 109, 45, 235, 238,
- 109, 163, 244, 106, 219, 18, 141, 1, 4, 61, 141, 1, 61, 141, 1, 4, 73,
- 141, 1, 73, 141, 1, 4, 70, 141, 1, 70, 141, 1, 4, 75, 141, 1, 75, 141, 1,
- 4, 76, 141, 1, 76, 141, 1, 176, 141, 1, 243, 135, 141, 1, 234, 92, 141,
- 1, 242, 214, 141, 1, 233, 217, 141, 1, 242, 113, 141, 1, 234, 182, 141,
- 1, 243, 62, 141, 1, 234, 28, 141, 1, 242, 174, 141, 1, 206, 141, 1, 210,
- 116, 141, 1, 219, 191, 141, 1, 210, 44, 141, 1, 218, 83, 141, 1, 210, 13,
- 141, 1, 221, 181, 141, 1, 210, 94, 141, 1, 219, 58, 141, 1, 210, 23, 141,
- 1, 217, 105, 141, 1, 248, 221, 141, 1, 216, 117, 141, 1, 248, 3, 141, 1,
- 4, 215, 118, 141, 1, 215, 118, 141, 1, 246, 78, 141, 1, 217, 22, 141, 1,
- 248, 90, 141, 1, 111, 141, 1, 247, 145, 141, 1, 197, 141, 1, 228, 233,
- 141, 1, 227, 237, 141, 1, 229, 107, 141, 1, 228, 74, 141, 1, 162, 141, 1,
- 252, 191, 141, 1, 190, 141, 1, 241, 180, 141, 1, 252, 6, 141, 1, 225,
- 108, 141, 1, 240, 222, 141, 1, 251, 125, 141, 1, 224, 150, 141, 1, 241,
- 238, 141, 1, 252, 75, 141, 1, 225, 221, 141, 1, 241, 68, 141, 1, 251,
- 205, 141, 1, 225, 16, 141, 1, 184, 141, 1, 230, 230, 141, 1, 230, 102,
- 141, 1, 231, 91, 141, 1, 230, 161, 141, 1, 4, 191, 141, 1, 191, 141, 1,
- 4, 210, 212, 141, 1, 210, 212, 141, 1, 4, 210, 244, 141, 1, 210, 244,
- 141, 1, 205, 141, 1, 223, 35, 141, 1, 222, 140, 141, 1, 223, 128, 141, 1,
- 222, 211, 141, 1, 4, 212, 65, 141, 1, 212, 65, 141, 1, 211, 250, 141, 1,
- 212, 22, 141, 1, 211, 227, 141, 1, 230, 25, 141, 1, 212, 116, 141, 1, 4,
- 176, 141, 1, 4, 234, 182, 38, 234, 201, 213, 135, 219, 31, 78, 38, 234,
- 201, 220, 155, 219, 31, 78, 234, 201, 213, 135, 219, 31, 78, 234, 201,
- 220, 155, 219, 31, 78, 141, 235, 158, 78, 141, 213, 135, 235, 158, 78,
- 141, 247, 221, 210, 225, 234, 201, 52, 240, 168, 56, 1, 4, 61, 56, 1, 61,
- 56, 1, 4, 73, 56, 1, 73, 56, 1, 4, 70, 56, 1, 70, 56, 1, 4, 75, 56, 1,
- 75, 56, 1, 4, 76, 56, 1, 76, 56, 1, 176, 56, 1, 243, 135, 56, 1, 234, 92,
- 56, 1, 242, 214, 56, 1, 233, 217, 56, 1, 242, 113, 56, 1, 234, 182, 56,
- 1, 243, 62, 56, 1, 234, 28, 56, 1, 242, 174, 56, 1, 206, 56, 1, 210, 116,
- 56, 1, 219, 191, 56, 1, 210, 44, 56, 1, 218, 83, 56, 1, 210, 13, 56, 1,
- 221, 181, 56, 1, 210, 94, 56, 1, 219, 58, 56, 1, 210, 23, 56, 1, 217,
- 105, 56, 1, 248, 221, 56, 1, 216, 117, 56, 1, 248, 3, 56, 1, 4, 215, 118,
- 56, 1, 215, 118, 56, 1, 246, 78, 56, 1, 217, 22, 56, 1, 248, 90, 56, 1,
- 111, 56, 1, 247, 145, 56, 1, 197, 56, 1, 228, 233, 56, 1, 227, 237, 56,
- 1, 229, 107, 56, 1, 228, 74, 56, 1, 162, 56, 1, 252, 191, 56, 1, 190, 56,
- 1, 241, 180, 56, 1, 252, 6, 56, 1, 225, 108, 56, 1, 240, 222, 56, 1, 251,
- 125, 56, 1, 224, 150, 56, 1, 241, 238, 56, 1, 252, 75, 56, 1, 225, 221,
- 56, 1, 241, 68, 56, 1, 251, 205, 56, 1, 225, 16, 56, 1, 184, 56, 1, 230,
- 230, 56, 1, 230, 102, 56, 1, 231, 91, 56, 1, 230, 161, 56, 1, 4, 191, 56,
- 1, 191, 56, 1, 4, 210, 212, 56, 1, 210, 212, 56, 1, 4, 210, 244, 56, 1,
- 210, 244, 56, 1, 205, 56, 1, 223, 35, 56, 1, 222, 140, 56, 1, 223, 128,
- 56, 1, 222, 211, 56, 1, 4, 212, 65, 56, 1, 212, 65, 56, 1, 211, 250, 56,
- 1, 212, 22, 56, 1, 211, 227, 56, 1, 230, 25, 56, 1, 212, 116, 56, 1, 4,
- 176, 56, 1, 4, 234, 182, 56, 1, 214, 27, 56, 1, 213, 176, 56, 1, 213,
- 255, 56, 1, 213, 138, 56, 230, 224, 247, 120, 234, 201, 224, 173, 219,
- 31, 78, 56, 235, 158, 78, 56, 213, 135, 235, 158, 78, 56, 247, 221, 233,
- 255, 251, 184, 1, 253, 158, 251, 184, 1, 226, 105, 251, 184, 1, 193, 251,
- 184, 1, 245, 6, 251, 184, 1, 249, 60, 251, 184, 1, 217, 152, 251, 184, 1,
- 230, 25, 251, 184, 1, 156, 251, 184, 1, 243, 202, 251, 184, 1, 235, 23,
- 251, 184, 1, 242, 60, 251, 184, 1, 235, 144, 251, 184, 1, 224, 96, 251,
- 184, 1, 211, 178, 251, 184, 1, 210, 83, 251, 184, 1, 250, 158, 251, 184,
- 1, 220, 104, 251, 184, 1, 153, 251, 184, 1, 210, 159, 251, 184, 1, 251,
- 66, 251, 184, 1, 222, 91, 251, 184, 1, 61, 251, 184, 1, 76, 251, 184, 1,
- 75, 251, 184, 1, 245, 197, 251, 184, 1, 254, 201, 251, 184, 1, 245, 195,
- 251, 184, 1, 253, 192, 251, 184, 1, 226, 134, 251, 184, 1, 254, 123, 251,
- 184, 1, 245, 150, 251, 184, 1, 254, 115, 251, 184, 1, 245, 138, 251, 184,
- 1, 245, 92, 251, 184, 1, 73, 251, 184, 1, 70, 251, 184, 1, 235, 156, 251,
- 184, 1, 214, 105, 251, 184, 1, 229, 79, 251, 184, 1, 242, 178, 251, 184,
- 1, 236, 34, 24, 1, 234, 58, 24, 1, 218, 215, 24, 1, 234, 51, 24, 1, 228,
- 226, 24, 1, 228, 224, 24, 1, 228, 223, 24, 1, 216, 101, 24, 1, 218, 204,
- 24, 1, 223, 26, 24, 1, 223, 21, 24, 1, 223, 18, 24, 1, 223, 11, 24, 1,
- 223, 6, 24, 1, 223, 1, 24, 1, 223, 12, 24, 1, 223, 24, 24, 1, 230, 217,
- 24, 1, 225, 95, 24, 1, 218, 212, 24, 1, 225, 84, 24, 1, 219, 148, 24, 1,
- 218, 209, 24, 1, 236, 56, 24, 1, 250, 46, 24, 1, 218, 219, 24, 1, 250,
- 106, 24, 1, 234, 110, 24, 1, 216, 173, 24, 1, 225, 131, 24, 1, 241, 172,
- 24, 1, 61, 24, 1, 254, 243, 24, 1, 191, 24, 1, 211, 92, 24, 1, 245, 117,
- 24, 1, 75, 24, 1, 211, 36, 24, 1, 211, 47, 24, 1, 76, 24, 1, 212, 65, 24,
- 1, 212, 62, 24, 1, 226, 234, 24, 1, 210, 244, 24, 1, 70, 24, 1, 212, 11,
- 24, 1, 212, 22, 24, 1, 211, 250, 24, 1, 210, 212, 24, 1, 245, 55, 24, 1,
- 211, 8, 24, 1, 73, 24, 244, 103, 24, 1, 218, 213, 24, 1, 228, 216, 24, 1,
- 228, 218, 24, 1, 228, 221, 24, 1, 223, 19, 24, 1, 223, 0, 24, 1, 223, 8,
- 24, 1, 223, 13, 24, 1, 222, 254, 24, 1, 230, 210, 24, 1, 230, 207, 24, 1,
- 230, 211, 24, 1, 234, 221, 24, 1, 225, 90, 24, 1, 225, 76, 24, 1, 225,
- 82, 24, 1, 225, 79, 24, 1, 225, 93, 24, 1, 225, 77, 24, 1, 234, 219, 24,
- 1, 234, 217, 24, 1, 219, 141, 24, 1, 219, 139, 24, 1, 219, 131, 24, 1,
- 219, 136, 24, 1, 219, 146, 24, 1, 226, 32, 24, 1, 218, 216, 24, 1, 211,
- 26, 24, 1, 211, 22, 24, 1, 211, 23, 24, 1, 234, 220, 24, 1, 218, 217, 24,
+ 67, 91, 43, 44, 52, 80, 2, 67, 91, 97, 215, 58, 80, 243, 244, 130, 140,
+ 52, 80, 243, 244, 130, 97, 52, 80, 243, 244, 130, 246, 105, 80, 2, 203,
+ 91, 214, 153, 80, 2, 203, 91, 214, 153, 215, 212, 74, 246, 105, 215, 212,
+ 74, 140, 52, 248, 158, 74, 97, 52, 248, 158, 74, 140, 215, 212, 248, 158,
+ 74, 97, 215, 212, 248, 158, 74, 97, 215, 58, 215, 212, 248, 158, 74, 97,
+ 80, 2, 246, 119, 218, 140, 214, 153, 80, 216, 43, 130, 246, 105, 80, 216,
+ 43, 130, 97, 80, 2, 217, 79, 2, 67, 91, 97, 80, 2, 217, 79, 2, 52, 67,
+ 91, 97, 215, 58, 80, 2, 217, 78, 97, 215, 58, 80, 2, 217, 79, 2, 67, 91,
+ 97, 215, 58, 80, 2, 217, 79, 2, 52, 67, 91, 140, 253, 252, 97, 253, 252,
+ 140, 52, 253, 252, 97, 52, 253, 252, 140, 80, 216, 43, 85, 247, 249, 97,
+ 80, 216, 43, 85, 247, 249, 140, 80, 243, 244, 252, 142, 216, 43, 85, 247,
+ 249, 97, 80, 243, 244, 252, 142, 216, 43, 85, 247, 249, 228, 57, 212, 9,
+ 22, 219, 29, 245, 221, 74, 228, 57, 245, 221, 22, 219, 29, 212, 9, 74,
+ 228, 57, 212, 9, 80, 2, 103, 228, 57, 245, 221, 80, 2, 103, 219, 29, 245,
+ 221, 80, 2, 103, 219, 29, 212, 9, 80, 2, 103, 228, 57, 212, 9, 80, 22,
+ 228, 57, 245, 221, 74, 228, 57, 245, 221, 80, 22, 219, 29, 245, 221, 74,
+ 219, 29, 245, 221, 80, 22, 219, 29, 212, 9, 74, 219, 29, 212, 9, 80, 22,
+ 228, 57, 212, 9, 74, 222, 229, 248, 0, 249, 126, 244, 176, 247, 255, 244,
+ 176, 248, 0, 249, 126, 222, 229, 247, 255, 219, 29, 245, 221, 80, 249,
+ 126, 228, 57, 245, 221, 74, 228, 57, 245, 221, 80, 249, 126, 219, 29,
+ 245, 221, 74, 244, 176, 248, 0, 249, 126, 228, 57, 245, 221, 74, 222,
+ 229, 248, 0, 249, 126, 219, 29, 245, 221, 74, 228, 57, 245, 221, 80, 249,
+ 126, 228, 57, 212, 9, 74, 228, 57, 212, 9, 80, 249, 126, 228, 57, 245,
+ 221, 74, 212, 36, 80, 225, 8, 247, 196, 222, 252, 80, 225, 8, 97, 216,
+ 189, 249, 91, 214, 152, 80, 225, 8, 97, 216, 189, 249, 91, 246, 104, 80,
+ 225, 8, 246, 105, 216, 189, 249, 91, 233, 38, 80, 225, 8, 246, 105, 216,
+ 189, 249, 91, 222, 242, 222, 245, 254, 27, 250, 3, 74, 233, 41, 254, 27,
+ 254, 89, 74, 216, 15, 254, 27, 254, 89, 74, 251, 176, 254, 27, 254, 89,
+ 74, 216, 15, 254, 27, 250, 3, 80, 2, 230, 182, 216, 15, 254, 27, 254, 89,
+ 80, 2, 225, 23, 232, 109, 44, 220, 153, 250, 3, 74, 232, 109, 43, 220,
+ 153, 254, 89, 74, 254, 89, 250, 1, 250, 37, 74, 250, 3, 250, 1, 250, 37,
+ 74, 97, 80, 77, 219, 252, 140, 74, 140, 80, 77, 219, 252, 97, 74, 219,
+ 252, 97, 80, 77, 140, 74, 97, 80, 2, 96, 51, 140, 80, 2, 96, 51, 97, 80,
+ 216, 140, 211, 178, 43, 44, 80, 216, 140, 4, 250, 36, 214, 153, 215, 58,
+ 80, 243, 244, 4, 250, 36, 43, 252, 140, 120, 44, 252, 140, 124, 241, 255,
+ 43, 252, 140, 124, 44, 252, 140, 120, 241, 255, 120, 252, 140, 44, 124,
+ 252, 140, 43, 241, 255, 120, 252, 140, 43, 124, 252, 140, 44, 241, 255,
+ 43, 252, 140, 120, 44, 252, 140, 120, 241, 255, 120, 252, 140, 44, 124,
+ 252, 140, 44, 241, 255, 43, 252, 140, 124, 44, 252, 140, 124, 241, 255,
+ 120, 252, 140, 43, 124, 252, 140, 43, 241, 255, 140, 242, 0, 2, 252, 140,
+ 120, 216, 43, 130, 97, 242, 0, 2, 252, 140, 120, 216, 43, 130, 214, 153,
+ 242, 0, 2, 252, 140, 44, 216, 43, 130, 246, 105, 242, 0, 2, 252, 140, 44,
+ 216, 43, 130, 140, 242, 0, 2, 252, 140, 124, 216, 43, 130, 97, 242, 0, 2,
+ 252, 140, 124, 216, 43, 130, 214, 153, 242, 0, 2, 252, 140, 43, 216, 43,
+ 130, 246, 105, 242, 0, 2, 252, 140, 43, 216, 43, 130, 140, 242, 0, 2,
+ 252, 140, 120, 243, 244, 130, 97, 242, 0, 2, 252, 140, 120, 243, 244,
+ 130, 214, 153, 242, 0, 2, 252, 140, 44, 243, 244, 130, 246, 105, 242, 0,
+ 2, 252, 140, 44, 243, 244, 130, 140, 242, 0, 2, 252, 140, 124, 243, 244,
+ 130, 97, 242, 0, 2, 252, 140, 124, 243, 244, 130, 214, 153, 242, 0, 2,
+ 252, 140, 43, 243, 244, 130, 246, 105, 242, 0, 2, 252, 140, 43, 243, 244,
+ 130, 140, 242, 0, 2, 252, 140, 120, 77, 140, 242, 0, 2, 252, 140, 246,
+ 107, 214, 153, 242, 0, 2, 252, 140, 43, 252, 31, 214, 153, 242, 0, 2,
+ 252, 140, 222, 252, 97, 242, 0, 2, 252, 140, 120, 77, 97, 242, 0, 2, 252,
+ 140, 246, 107, 246, 105, 242, 0, 2, 252, 140, 43, 252, 31, 246, 105, 242,
+ 0, 2, 252, 140, 222, 252, 140, 242, 0, 2, 252, 140, 120, 77, 97, 242, 0,
+ 2, 252, 140, 214, 163, 140, 242, 0, 2, 252, 140, 124, 77, 97, 242, 0, 2,
+ 252, 140, 246, 107, 97, 242, 0, 2, 252, 140, 120, 77, 140, 242, 0, 2,
+ 252, 140, 214, 163, 97, 242, 0, 2, 252, 140, 124, 77, 140, 242, 0, 2,
+ 252, 140, 246, 107, 140, 242, 0, 2, 252, 140, 120, 77, 199, 248, 157,
+ 140, 242, 0, 2, 252, 140, 124, 252, 44, 199, 248, 157, 97, 242, 0, 2,
+ 252, 140, 120, 77, 199, 248, 157, 97, 242, 0, 2, 252, 140, 124, 252, 44,
+ 199, 248, 157, 214, 153, 242, 0, 2, 252, 140, 43, 252, 31, 246, 105, 242,
+ 0, 2, 252, 140, 222, 252, 246, 105, 242, 0, 2, 252, 140, 43, 252, 31,
+ 214, 153, 242, 0, 2, 252, 140, 222, 252, 44, 52, 80, 2, 222, 184, 241,
+ 236, 245, 99, 5, 77, 97, 74, 216, 90, 226, 169, 77, 97, 74, 140, 80, 77,
+ 216, 90, 226, 168, 97, 80, 77, 216, 90, 226, 168, 97, 80, 77, 254, 149,
+ 128, 111, 233, 16, 77, 140, 74, 140, 80, 216, 140, 233, 15, 242, 131, 77,
+ 97, 74, 218, 65, 77, 97, 74, 140, 80, 216, 140, 218, 64, 218, 23, 77,
+ 140, 74, 43, 244, 92, 217, 78, 44, 244, 92, 217, 78, 120, 244, 92, 217,
+ 78, 124, 244, 92, 217, 78, 215, 212, 67, 252, 142, 248, 61, 210, 160,
+ 188, 218, 243, 210, 160, 188, 215, 49, 249, 227, 43, 71, 249, 100, 127,
+ 44, 71, 249, 100, 127, 43, 71, 226, 4, 44, 71, 226, 4, 210, 160, 188, 43,
+ 236, 16, 127, 210, 160, 188, 44, 236, 16, 127, 210, 160, 188, 43, 251,
+ 243, 127, 210, 160, 188, 44, 251, 243, 127, 43, 42, 251, 159, 2, 214,
+ 183, 44, 42, 251, 159, 2, 214, 183, 43, 42, 251, 159, 2, 216, 116, 236,
+ 1, 216, 15, 249, 161, 44, 42, 251, 159, 2, 216, 116, 236, 1, 251, 176,
+ 249, 161, 43, 42, 251, 159, 2, 216, 116, 236, 1, 251, 176, 249, 161, 44,
+ 42, 251, 159, 2, 216, 116, 236, 1, 216, 15, 249, 161, 43, 254, 111, 251,
+ 159, 2, 247, 121, 44, 254, 111, 251, 159, 2, 247, 121, 43, 254, 27, 233,
+ 16, 127, 44, 254, 27, 242, 131, 127, 52, 43, 254, 27, 242, 131, 127, 52,
+ 44, 254, 27, 233, 16, 127, 43, 85, 216, 7, 220, 54, 127, 44, 85, 216, 7,
+ 220, 54, 127, 246, 119, 244, 136, 67, 210, 35, 232, 214, 231, 89, 254,
+ 111, 226, 171, 233, 47, 44, 254, 111, 214, 12, 2, 218, 235, 231, 89, 44,
+ 254, 111, 2, 247, 121, 254, 111, 2, 222, 93, 235, 216, 255, 4, 254, 110,
+ 219, 0, 254, 111, 226, 171, 233, 47, 219, 0, 254, 111, 226, 171, 214,
+ 163, 215, 94, 254, 110, 223, 50, 254, 110, 254, 111, 2, 214, 183, 223,
+ 50, 254, 111, 2, 214, 183, 226, 249, 254, 111, 226, 171, 214, 163, 226,
+ 249, 254, 111, 226, 171, 246, 107, 231, 89, 254, 111, 2, 204, 254, 6,
+ 245, 141, 236, 1, 80, 225, 8, 120, 22, 222, 252, 231, 89, 254, 111, 2,
+ 204, 254, 6, 245, 141, 236, 1, 80, 225, 8, 120, 22, 233, 47, 231, 89,
+ 254, 111, 2, 204, 254, 6, 245, 141, 236, 1, 80, 225, 8, 124, 22, 222,
+ 252, 231, 89, 254, 111, 2, 204, 254, 6, 245, 141, 236, 1, 80, 225, 8,
+ 124, 22, 233, 47, 231, 89, 254, 111, 2, 204, 254, 6, 245, 141, 236, 1,
+ 80, 225, 8, 44, 22, 214, 163, 231, 89, 254, 111, 2, 204, 254, 6, 245,
+ 141, 236, 1, 80, 225, 8, 43, 22, 214, 163, 231, 89, 254, 111, 2, 204,
+ 254, 6, 245, 141, 236, 1, 80, 225, 8, 44, 22, 246, 107, 231, 89, 254,
+ 111, 2, 204, 254, 6, 245, 141, 236, 1, 80, 225, 8, 43, 22, 246, 107, 223,
+ 50, 245, 153, 220, 128, 245, 153, 220, 129, 2, 226, 124, 245, 153, 220,
+ 129, 2, 4, 250, 37, 48, 245, 153, 220, 129, 2, 44, 80, 48, 245, 153, 220,
+ 129, 2, 43, 80, 48, 250, 37, 2, 203, 130, 37, 67, 130, 37, 226, 8, 37,
+ 223, 51, 219, 47, 37, 225, 172, 250, 37, 247, 174, 251, 79, 203, 252,
+ 142, 22, 216, 15, 163, 247, 174, 251, 79, 67, 130, 250, 37, 2, 218, 25,
+ 211, 178, 37, 254, 88, 247, 170, 50, 120, 80, 216, 140, 250, 36, 37, 71,
+ 251, 114, 37, 251, 114, 37, 233, 15, 37, 242, 130, 250, 37, 2, 4, 250,
+ 37, 216, 43, 216, 197, 222, 252, 250, 37, 2, 113, 203, 218, 92, 216, 43,
+ 216, 197, 222, 252, 92, 222, 229, 248, 0, 219, 96, 92, 244, 176, 248, 0,
+ 219, 96, 92, 253, 217, 92, 4, 250, 36, 92, 218, 235, 113, 235, 66, 218,
+ 233, 215, 227, 2, 59, 48, 215, 227, 2, 214, 183, 222, 93, 236, 1, 215,
+ 226, 215, 227, 2, 220, 135, 253, 208, 251, 175, 44, 215, 227, 77, 43,
+ 215, 226, 43, 215, 227, 252, 31, 67, 130, 67, 252, 142, 252, 31, 44, 215,
+ 226, 251, 166, 2, 43, 163, 251, 222, 251, 166, 2, 44, 163, 251, 222, 85,
+ 251, 165, 30, 2, 43, 163, 251, 222, 30, 2, 44, 163, 251, 222, 71, 240,
+ 237, 85, 240, 237, 43, 211, 244, 244, 136, 44, 211, 244, 244, 136, 43,
+ 52, 211, 244, 244, 136, 44, 52, 211, 244, 244, 136, 235, 249, 235, 235,
+ 216, 113, 117, 235, 235, 235, 236, 229, 103, 2, 67, 130, 246, 113, 230,
+ 88, 42, 2, 249, 182, 226, 128, 235, 247, 253, 238, 219, 220, 224, 181,
+ 245, 99, 5, 22, 219, 98, 226, 8, 245, 99, 5, 22, 219, 98, 226, 9, 2, 216,
+ 90, 48, 240, 105, 216, 43, 22, 219, 98, 226, 8, 242, 184, 218, 156, 216,
+ 186, 246, 106, 215, 227, 2, 43, 163, 251, 222, 246, 106, 215, 227, 2, 44,
+ 163, 251, 222, 85, 247, 250, 2, 124, 74, 85, 232, 105, 71, 250, 37, 2,
+ 124, 74, 85, 250, 37, 2, 124, 74, 245, 86, 71, 218, 235, 245, 86, 85,
+ 218, 235, 245, 86, 71, 247, 249, 245, 86, 85, 247, 249, 245, 86, 71, 250,
+ 36, 245, 86, 85, 250, 36, 222, 133, 223, 51, 219, 48, 226, 168, 219, 48,
+ 2, 226, 124, 223, 51, 219, 48, 2, 203, 91, 251, 250, 219, 47, 251, 250,
+ 223, 51, 219, 47, 52, 225, 23, 215, 212, 225, 23, 233, 43, 249, 92, 254,
+ 111, 127, 222, 248, 249, 92, 254, 111, 127, 216, 79, 230, 180, 230, 25,
+ 37, 59, 226, 168, 230, 25, 37, 96, 226, 168, 230, 25, 37, 30, 226, 168,
+ 230, 25, 214, 176, 226, 169, 2, 247, 121, 230, 25, 214, 176, 226, 169, 2,
+ 225, 23, 230, 25, 42, 235, 200, 226, 168, 230, 25, 42, 214, 176, 226,
+ 168, 113, 232, 147, 22, 226, 168, 113, 232, 147, 177, 226, 168, 230, 25,
+ 30, 226, 168, 230, 155, 113, 218, 44, 218, 42, 2, 235, 212, 224, 25, 235,
+ 213, 226, 168, 244, 100, 226, 0, 235, 212, 235, 213, 2, 52, 91, 235, 213,
+ 253, 174, 2, 219, 96, 250, 33, 243, 227, 254, 89, 235, 210, 232, 215,
+ 235, 211, 2, 223, 116, 225, 238, 254, 3, 225, 2, 232, 215, 235, 211, 2,
+ 220, 153, 225, 238, 254, 3, 225, 2, 232, 215, 235, 211, 228, 53, 235,
+ 251, 216, 197, 225, 2, 235, 213, 254, 3, 115, 225, 12, 226, 168, 224, 19,
+ 235, 213, 226, 168, 235, 213, 2, 140, 80, 2, 103, 235, 213, 2, 30, 50,
+ 235, 213, 2, 235, 199, 235, 213, 2, 214, 175, 235, 213, 2, 226, 124, 235,
+ 213, 2, 214, 183, 235, 67, 233, 86, 43, 215, 227, 226, 168, 210, 160,
+ 188, 221, 202, 249, 210, 210, 160, 188, 221, 202, 225, 57, 210, 160, 188,
+ 221, 202, 224, 177, 96, 5, 2, 4, 250, 37, 48, 96, 5, 2, 250, 32, 255, 16,
+ 48, 96, 5, 2, 216, 90, 48, 96, 5, 2, 59, 51, 96, 5, 2, 216, 90, 51, 96,
+ 5, 2, 218, 66, 105, 96, 5, 2, 85, 215, 226, 230, 183, 5, 2, 249, 221, 48,
+ 230, 183, 5, 2, 59, 51, 230, 183, 5, 2, 244, 176, 247, 119, 230, 183, 5,
+ 2, 222, 229, 247, 119, 96, 5, 236, 1, 43, 163, 250, 36, 96, 5, 236, 1,
+ 44, 163, 250, 36, 213, 254, 177, 249, 132, 224, 181, 230, 85, 5, 2, 59,
+ 48, 230, 85, 5, 2, 214, 183, 220, 150, 224, 182, 2, 251, 176, 250, 0,
+ 219, 78, 224, 181, 230, 85, 5, 236, 1, 43, 163, 250, 36, 230, 85, 5, 236,
+ 1, 44, 163, 250, 36, 37, 230, 85, 5, 2, 250, 32, 255, 15, 230, 85, 5,
+ 236, 1, 52, 250, 36, 37, 247, 170, 50, 96, 5, 236, 1, 215, 226, 230, 183,
+ 5, 236, 1, 215, 226, 230, 85, 5, 236, 1, 215, 226, 235, 207, 224, 181,
+ 222, 243, 235, 207, 224, 181, 210, 160, 188, 223, 91, 249, 210, 254, 135,
+ 177, 249, 166, 235, 200, 2, 247, 121, 214, 176, 2, 230, 183, 50, 214,
+ 176, 2, 226, 124, 235, 200, 2, 226, 124, 235, 200, 2, 232, 147, 254, 119,
+ 214, 176, 2, 232, 147, 226, 159, 214, 176, 77, 235, 199, 235, 200, 77,
+ 214, 175, 214, 176, 77, 252, 142, 77, 235, 199, 235, 200, 77, 252, 142,
+ 77, 214, 175, 214, 176, 252, 31, 22, 235, 66, 2, 214, 175, 235, 200, 252,
+ 31, 22, 235, 66, 2, 235, 199, 250, 1, 214, 176, 2, 220, 134, 250, 1, 235,
+ 200, 2, 220, 134, 52, 42, 235, 199, 52, 42, 214, 175, 250, 1, 214, 176,
+ 2, 220, 135, 22, 219, 78, 224, 181, 232, 147, 22, 2, 59, 48, 232, 147,
+ 177, 2, 59, 48, 52, 232, 147, 254, 119, 52, 232, 147, 226, 159, 113, 235,
+ 201, 232, 147, 254, 119, 113, 235, 201, 232, 147, 226, 159, 219, 86, 233,
+ 86, 226, 159, 219, 86, 233, 86, 254, 119, 232, 147, 177, 226, 122, 232,
+ 147, 254, 119, 232, 147, 22, 2, 230, 225, 218, 140, 232, 147, 177, 2,
+ 230, 225, 218, 140, 232, 147, 22, 2, 203, 248, 157, 232, 147, 177, 2,
+ 203, 248, 157, 232, 147, 22, 2, 52, 226, 124, 232, 147, 22, 2, 214, 183,
+ 232, 147, 22, 2, 52, 214, 183, 4, 213, 251, 2, 214, 183, 232, 147, 177,
+ 2, 52, 226, 124, 232, 147, 177, 2, 52, 214, 183, 210, 160, 188, 247, 130,
+ 254, 80, 210, 160, 188, 223, 149, 254, 80, 245, 99, 5, 2, 59, 51, 240,
+ 105, 2, 59, 48, 215, 212, 203, 252, 142, 2, 52, 67, 91, 215, 212, 203,
+ 252, 142, 2, 215, 212, 67, 91, 216, 90, 226, 169, 2, 59, 48, 216, 90,
+ 226, 169, 2, 222, 229, 247, 119, 219, 163, 230, 183, 219, 162, 249, 200,
+ 2, 59, 48, 245, 99, 2, 253, 217, 254, 149, 128, 216, 43, 2, 250, 32, 255,
+ 15, 254, 49, 128, 177, 128, 111, 245, 99, 5, 77, 96, 50, 96, 5, 77, 245,
+ 99, 50, 245, 99, 5, 77, 216, 90, 226, 168, 52, 249, 228, 245, 100, 113,
+ 249, 195, 245, 99, 219, 177, 134, 249, 195, 245, 99, 219, 177, 245, 99,
+ 5, 2, 113, 170, 77, 22, 113, 170, 51, 245, 95, 2, 244, 12, 170, 48, 233,
+ 16, 2, 250, 37, 235, 216, 242, 131, 2, 250, 37, 235, 216, 233, 16, 2,
+ 224, 14, 164, 48, 242, 131, 2, 224, 14, 164, 48, 233, 16, 177, 219, 98,
+ 128, 111, 242, 131, 177, 219, 98, 128, 111, 233, 16, 177, 219, 98, 128,
+ 216, 43, 2, 59, 235, 216, 242, 131, 177, 219, 98, 128, 216, 43, 2, 59,
+ 235, 216, 233, 16, 177, 219, 98, 128, 216, 43, 2, 59, 48, 242, 131, 177,
+ 219, 98, 128, 216, 43, 2, 59, 48, 233, 16, 177, 219, 98, 128, 216, 43, 2,
+ 59, 77, 222, 252, 242, 131, 177, 219, 98, 128, 216, 43, 2, 59, 77, 233,
+ 47, 233, 16, 177, 254, 50, 242, 131, 177, 254, 50, 233, 16, 22, 219, 154,
+ 228, 53, 128, 111, 242, 131, 22, 219, 154, 228, 53, 128, 111, 233, 16,
+ 22, 228, 53, 254, 50, 242, 131, 22, 228, 53, 254, 50, 233, 16, 77, 246,
+ 112, 128, 77, 242, 130, 242, 131, 77, 246, 112, 128, 77, 233, 15, 233,
+ 16, 77, 219, 163, 177, 245, 100, 242, 131, 77, 219, 163, 177, 245, 100,
+ 233, 16, 77, 219, 163, 77, 242, 130, 242, 131, 77, 219, 163, 77, 233, 15,
+ 233, 16, 77, 242, 131, 77, 246, 112, 245, 100, 242, 131, 77, 233, 16, 77,
+ 246, 112, 245, 100, 233, 16, 77, 219, 98, 128, 77, 242, 131, 77, 219, 98,
+ 245, 100, 242, 131, 77, 219, 98, 128, 77, 233, 16, 77, 219, 98, 245, 100,
+ 219, 98, 128, 216, 43, 177, 233, 15, 219, 98, 128, 216, 43, 177, 242,
+ 130, 219, 98, 128, 216, 43, 177, 233, 16, 2, 59, 235, 216, 219, 98, 128,
+ 216, 43, 177, 242, 131, 2, 59, 235, 216, 246, 112, 128, 216, 43, 177,
+ 233, 15, 246, 112, 128, 216, 43, 177, 242, 130, 246, 112, 219, 98, 128,
+ 216, 43, 177, 233, 15, 246, 112, 219, 98, 128, 216, 43, 177, 242, 130,
+ 219, 163, 177, 233, 15, 219, 163, 177, 242, 130, 219, 163, 77, 233, 16,
+ 77, 245, 99, 50, 219, 163, 77, 242, 131, 77, 245, 99, 50, 52, 229, 92,
+ 233, 15, 52, 229, 92, 242, 130, 52, 229, 92, 233, 16, 2, 214, 183, 242,
+ 131, 226, 122, 233, 15, 242, 131, 252, 31, 233, 15, 233, 16, 250, 1, 251,
+ 79, 249, 93, 242, 131, 250, 1, 251, 79, 249, 93, 233, 16, 250, 1, 251,
+ 79, 249, 94, 77, 219, 98, 245, 100, 242, 131, 250, 1, 251, 79, 249, 94,
+ 77, 219, 98, 245, 100, 219, 79, 216, 201, 233, 84, 216, 201, 219, 79,
+ 216, 202, 177, 128, 111, 233, 84, 216, 202, 177, 128, 111, 245, 99, 5, 2,
+ 251, 109, 48, 224, 204, 77, 219, 154, 245, 99, 50, 218, 57, 77, 219, 154,
+ 245, 99, 50, 224, 204, 77, 219, 154, 228, 53, 128, 111, 218, 57, 77, 219,
+ 154, 228, 53, 128, 111, 224, 204, 77, 245, 99, 50, 218, 57, 77, 245, 99,
+ 50, 224, 204, 77, 228, 53, 128, 111, 218, 57, 77, 228, 53, 128, 111, 224,
+ 204, 77, 254, 149, 128, 111, 218, 57, 77, 254, 149, 128, 111, 224, 204,
+ 77, 228, 53, 254, 149, 128, 111, 218, 57, 77, 228, 53, 254, 149, 128,
+ 111, 52, 224, 203, 52, 218, 56, 218, 65, 2, 247, 121, 218, 23, 2, 247,
+ 121, 218, 65, 2, 96, 5, 51, 218, 23, 2, 96, 5, 51, 218, 65, 2, 230, 85,
+ 5, 51, 218, 23, 2, 230, 85, 5, 51, 218, 65, 64, 177, 128, 216, 43, 2, 59,
+ 48, 218, 23, 64, 177, 128, 216, 43, 2, 59, 48, 218, 65, 64, 77, 245, 99,
+ 50, 218, 23, 64, 77, 245, 99, 50, 218, 65, 64, 77, 216, 90, 226, 168,
+ 218, 23, 64, 77, 216, 90, 226, 168, 218, 65, 64, 77, 254, 149, 128, 111,
+ 218, 23, 64, 77, 254, 149, 128, 111, 218, 65, 64, 77, 228, 53, 128, 111,
+ 218, 23, 64, 77, 228, 53, 128, 111, 42, 43, 204, 93, 226, 168, 42, 44,
+ 204, 93, 226, 168, 250, 1, 218, 64, 250, 1, 218, 22, 250, 1, 218, 65,
+ 177, 128, 111, 250, 1, 218, 23, 177, 128, 111, 218, 65, 77, 218, 22, 218,
+ 23, 77, 218, 64, 218, 65, 77, 218, 64, 218, 23, 77, 218, 22, 218, 23,
+ 252, 31, 218, 64, 218, 23, 252, 31, 22, 235, 66, 251, 79, 248, 158, 2,
+ 218, 64, 245, 171, 64, 226, 171, 246, 104, 225, 49, 2, 217, 13, 216, 14,
+ 215, 241, 235, 199, 244, 22, 228, 66, 219, 252, 43, 217, 88, 219, 252,
+ 124, 217, 88, 219, 252, 120, 217, 88, 225, 173, 2, 222, 92, 67, 252, 142,
+ 215, 212, 44, 215, 93, 52, 67, 252, 142, 43, 215, 93, 67, 252, 142, 52,
+ 43, 215, 93, 52, 67, 252, 142, 52, 43, 215, 93, 199, 248, 158, 243, 244,
+ 43, 231, 64, 64, 52, 213, 239, 219, 252, 124, 217, 89, 2, 226, 124, 219,
+ 252, 120, 217, 89, 2, 214, 183, 219, 252, 120, 217, 89, 77, 219, 252,
+ 124, 217, 88, 52, 124, 217, 88, 52, 120, 217, 88, 52, 218, 104, 228, 53,
+ 50, 223, 50, 52, 218, 104, 228, 53, 50, 247, 139, 228, 53, 247, 176, 2,
+ 223, 50, 229, 102, 219, 96, 67, 232, 215, 2, 250, 37, 48, 67, 232, 215,
+ 2, 250, 37, 51, 124, 217, 89, 2, 250, 37, 51, 226, 9, 2, 203, 91, 226, 9,
+ 2, 216, 90, 226, 168, 215, 212, 67, 252, 142, 251, 245, 223, 92, 215,
+ 212, 67, 252, 142, 2, 203, 91, 215, 212, 249, 228, 226, 168, 215, 212,
+ 229, 92, 233, 15, 215, 212, 229, 92, 242, 130, 246, 112, 219, 98, 233,
+ 16, 177, 128, 111, 246, 112, 219, 98, 242, 131, 177, 128, 111, 215, 212,
+ 219, 48, 251, 245, 223, 92, 233, 86, 215, 212, 67, 252, 142, 226, 168,
+ 52, 219, 48, 226, 168, 71, 67, 130, 230, 25, 71, 67, 130, 228, 57, 245,
+ 221, 71, 74, 228, 57, 212, 9, 71, 74, 219, 29, 245, 221, 71, 74, 219, 29,
+ 212, 9, 71, 74, 43, 44, 71, 74, 140, 85, 74, 214, 153, 85, 74, 246, 105,
+ 85, 74, 228, 57, 245, 221, 85, 74, 228, 57, 212, 9, 85, 74, 219, 29, 245,
+ 221, 85, 74, 219, 29, 212, 9, 85, 74, 43, 44, 85, 74, 120, 124, 85, 74,
+ 97, 80, 2, 216, 78, 246, 104, 97, 80, 2, 216, 78, 214, 152, 140, 80, 2,
+ 216, 78, 246, 104, 140, 80, 2, 216, 78, 214, 152, 42, 2, 216, 15, 163,
+ 251, 222, 42, 2, 251, 176, 163, 251, 222, 42, 2, 214, 160, 44, 248, 0,
+ 163, 251, 222, 42, 2, 232, 109, 43, 248, 0, 163, 251, 222, 247, 250, 2,
+ 43, 163, 251, 222, 247, 250, 2, 44, 163, 251, 222, 247, 250, 2, 216, 15,
+ 163, 251, 222, 247, 250, 2, 251, 176, 163, 251, 222, 246, 119, 218, 235,
+ 85, 233, 86, 218, 235, 71, 233, 86, 218, 235, 85, 213, 187, 4, 218, 235,
+ 71, 213, 187, 4, 218, 235, 85, 225, 191, 71, 225, 191, 71, 241, 194, 85,
+ 241, 194, 203, 85, 241, 194, 85, 233, 86, 250, 36, 85, 231, 83, 247, 249,
+ 71, 231, 83, 247, 249, 85, 231, 83, 232, 105, 71, 231, 83, 232, 105, 85,
+ 4, 247, 249, 85, 4, 232, 105, 71, 4, 232, 105, 85, 203, 245, 165, 71,
+ 203, 245, 165, 85, 67, 245, 165, 71, 67, 245, 165, 43, 80, 2, 4, 250, 36,
+ 134, 140, 253, 248, 43, 80, 2, 37, 225, 23, 199, 140, 218, 231, 74, 140,
+ 215, 58, 80, 2, 67, 91, 140, 215, 58, 80, 2, 52, 67, 91, 140, 215, 58,
+ 80, 243, 244, 130, 140, 215, 58, 215, 212, 248, 158, 74, 140, 80, 2, 246,
+ 119, 218, 140, 140, 80, 2, 217, 79, 2, 67, 91, 140, 80, 2, 217, 79, 2,
+ 52, 67, 91, 140, 215, 58, 80, 2, 217, 78, 140, 215, 58, 80, 2, 217, 79,
+ 2, 67, 91, 140, 215, 58, 80, 2, 217, 79, 2, 52, 67, 91, 140, 80, 216,
+ 140, 211, 178, 212, 36, 80, 225, 8, 247, 196, 233, 47, 245, 99, 5, 77,
+ 140, 74, 223, 51, 216, 90, 226, 169, 77, 140, 74, 140, 80, 77, 223, 51,
+ 254, 149, 128, 111, 97, 80, 216, 140, 242, 130, 97, 80, 216, 140, 218,
+ 22, 140, 224, 25, 74, 97, 224, 25, 74, 223, 51, 216, 90, 226, 169, 77,
+ 97, 74, 97, 80, 77, 223, 51, 254, 149, 128, 111, 216, 90, 226, 169, 77,
+ 140, 74, 140, 80, 77, 254, 149, 128, 111, 140, 80, 77, 223, 51, 216, 90,
+ 226, 168, 97, 80, 77, 223, 51, 216, 90, 226, 168, 71, 231, 83, 218, 157,
+ 85, 4, 218, 157, 71, 4, 218, 157, 85, 222, 248, 225, 191, 71, 222, 248,
+ 225, 191, 114, 233, 86, 250, 36, 114, 226, 125, 2, 226, 125, 235, 216,
+ 114, 250, 37, 2, 250, 37, 235, 216, 114, 250, 36, 114, 37, 221, 255, 145,
+ 6, 1, 253, 160, 145, 6, 1, 251, 118, 145, 6, 1, 213, 253, 145, 6, 1, 242,
+ 186, 145, 6, 1, 247, 141, 145, 6, 1, 211, 21, 145, 6, 1, 210, 68, 145, 6,
+ 1, 246, 35, 145, 6, 1, 210, 91, 145, 6, 1, 235, 149, 145, 6, 1, 65, 235,
+ 149, 145, 6, 1, 73, 145, 6, 1, 247, 161, 145, 6, 1, 234, 241, 145, 6, 1,
+ 232, 187, 145, 6, 1, 230, 30, 145, 6, 1, 229, 192, 145, 6, 1, 226, 186,
+ 145, 6, 1, 225, 5, 145, 6, 1, 222, 228, 145, 6, 1, 219, 84, 145, 6, 1,
+ 215, 81, 145, 6, 1, 214, 201, 145, 6, 1, 243, 247, 145, 6, 1, 241, 200,
+ 145, 6, 1, 226, 136, 145, 6, 1, 225, 222, 145, 6, 1, 219, 229, 145, 6, 1,
+ 215, 168, 145, 6, 1, 250, 76, 145, 6, 1, 220, 103, 145, 6, 1, 211, 27,
+ 145, 6, 1, 211, 29, 145, 6, 1, 211, 57, 145, 6, 1, 218, 254, 162, 145, 6,
+ 1, 210, 212, 145, 6, 1, 4, 210, 183, 145, 6, 1, 4, 210, 184, 2, 217, 78,
+ 145, 6, 1, 210, 244, 145, 6, 1, 235, 185, 4, 210, 183, 145, 6, 1, 251,
+ 250, 210, 183, 145, 6, 1, 235, 185, 251, 250, 210, 183, 145, 6, 1, 244,
+ 83, 145, 6, 1, 235, 147, 145, 6, 1, 219, 228, 145, 6, 1, 215, 203, 61,
+ 145, 6, 1, 233, 76, 230, 30, 145, 4, 1, 253, 160, 145, 4, 1, 251, 118,
+ 145, 4, 1, 213, 253, 145, 4, 1, 242, 186, 145, 4, 1, 247, 141, 145, 4, 1,
+ 211, 21, 145, 4, 1, 210, 68, 145, 4, 1, 246, 35, 145, 4, 1, 210, 91, 145,
+ 4, 1, 235, 149, 145, 4, 1, 65, 235, 149, 145, 4, 1, 73, 145, 4, 1, 247,
+ 161, 145, 4, 1, 234, 241, 145, 4, 1, 232, 187, 145, 4, 1, 230, 30, 145,
+ 4, 1, 229, 192, 145, 4, 1, 226, 186, 145, 4, 1, 225, 5, 145, 4, 1, 222,
+ 228, 145, 4, 1, 219, 84, 145, 4, 1, 215, 81, 145, 4, 1, 214, 201, 145, 4,
+ 1, 243, 247, 145, 4, 1, 241, 200, 145, 4, 1, 226, 136, 145, 4, 1, 225,
+ 222, 145, 4, 1, 219, 229, 145, 4, 1, 215, 168, 145, 4, 1, 250, 76, 145,
+ 4, 1, 220, 103, 145, 4, 1, 211, 27, 145, 4, 1, 211, 29, 145, 4, 1, 211,
+ 57, 145, 4, 1, 218, 254, 162, 145, 4, 1, 210, 212, 145, 4, 1, 4, 210,
+ 183, 145, 4, 1, 4, 210, 184, 2, 217, 78, 145, 4, 1, 210, 244, 145, 4, 1,
+ 235, 185, 4, 210, 183, 145, 4, 1, 251, 250, 210, 183, 145, 4, 1, 235,
+ 185, 251, 250, 210, 183, 145, 4, 1, 244, 83, 145, 4, 1, 235, 147, 145, 4,
+ 1, 219, 228, 145, 4, 1, 215, 203, 61, 145, 4, 1, 233, 76, 230, 30, 7, 6,
+ 1, 233, 150, 2, 52, 130, 7, 4, 1, 233, 150, 2, 52, 130, 7, 6, 1, 233,
+ 150, 2, 230, 225, 183, 7, 6, 1, 226, 107, 2, 91, 7, 6, 1, 223, 225, 2,
+ 217, 78, 7, 4, 1, 115, 2, 91, 7, 4, 1, 217, 154, 2, 248, 0, 91, 7, 6, 1,
+ 242, 62, 2, 248, 40, 7, 4, 1, 242, 62, 2, 248, 40, 7, 6, 1, 235, 25, 2,
+ 248, 40, 7, 4, 1, 235, 25, 2, 248, 40, 7, 6, 1, 210, 160, 2, 248, 40, 7,
+ 4, 1, 210, 160, 2, 248, 40, 7, 6, 1, 254, 144, 7, 6, 1, 232, 51, 2, 103,
+ 7, 6, 1, 215, 94, 61, 7, 6, 1, 215, 94, 254, 144, 7, 4, 1, 214, 106, 2,
+ 44, 103, 7, 6, 1, 212, 99, 2, 103, 7, 4, 1, 212, 99, 2, 103, 7, 4, 1,
+ 214, 106, 2, 249, 101, 7, 6, 1, 163, 242, 61, 7, 4, 1, 163, 242, 61, 7,
+ 4, 1, 217, 76, 225, 134, 7, 4, 1, 160, 2, 228, 51, 7, 4, 1, 215, 94, 223,
+ 225, 2, 217, 78, 7, 4, 1, 144, 2, 121, 222, 235, 235, 216, 7, 1, 4, 6,
+ 215, 94, 75, 7, 218, 66, 4, 1, 235, 145, 58, 1, 6, 214, 105, 7, 6, 1,
+ 222, 93, 2, 217, 251, 217, 78, 7, 6, 1, 210, 160, 2, 217, 251, 217, 78,
+ 81, 6, 1, 254, 165, 81, 4, 1, 254, 165, 81, 6, 1, 213, 173, 81, 4, 1,
+ 213, 173, 81, 6, 1, 243, 108, 81, 4, 1, 243, 108, 81, 6, 1, 248, 192, 81,
+ 4, 1, 248, 192, 81, 6, 1, 245, 195, 81, 4, 1, 245, 195, 81, 6, 1, 219,
+ 34, 81, 4, 1, 219, 34, 81, 6, 1, 210, 101, 81, 4, 1, 210, 101, 81, 6, 1,
+ 241, 249, 81, 4, 1, 241, 249, 81, 6, 1, 216, 178, 81, 4, 1, 216, 178, 81,
+ 6, 1, 240, 117, 81, 4, 1, 240, 117, 81, 6, 1, 234, 228, 81, 4, 1, 234,
+ 228, 81, 6, 1, 233, 73, 81, 4, 1, 233, 73, 81, 6, 1, 230, 231, 81, 4, 1,
+ 230, 231, 81, 6, 1, 228, 234, 81, 4, 1, 228, 234, 81, 6, 1, 233, 234, 81,
+ 4, 1, 233, 234, 81, 6, 1, 76, 81, 4, 1, 76, 81, 6, 1, 225, 109, 81, 4, 1,
+ 225, 109, 81, 6, 1, 222, 212, 81, 4, 1, 222, 212, 81, 6, 1, 219, 166, 81,
+ 4, 1, 219, 166, 81, 6, 1, 217, 42, 81, 4, 1, 217, 42, 81, 6, 1, 214, 229,
+ 81, 4, 1, 214, 229, 81, 6, 1, 244, 122, 81, 4, 1, 244, 122, 81, 6, 1,
+ 234, 113, 81, 4, 1, 234, 113, 81, 6, 1, 224, 162, 81, 4, 1, 224, 162, 81,
+ 6, 1, 226, 179, 81, 4, 1, 226, 179, 81, 6, 1, 247, 254, 254, 171, 81, 4,
+ 1, 247, 254, 254, 171, 81, 6, 1, 55, 81, 254, 197, 81, 4, 1, 55, 81, 254,
+ 197, 81, 6, 1, 249, 116, 245, 195, 81, 4, 1, 249, 116, 245, 195, 81, 6,
+ 1, 247, 254, 234, 228, 81, 4, 1, 247, 254, 234, 228, 81, 6, 1, 247, 254,
+ 228, 234, 81, 4, 1, 247, 254, 228, 234, 81, 6, 1, 249, 116, 228, 234, 81,
+ 4, 1, 249, 116, 228, 234, 81, 6, 1, 55, 81, 226, 179, 81, 4, 1, 55, 81,
+ 226, 179, 81, 6, 1, 221, 247, 81, 4, 1, 221, 247, 81, 6, 1, 249, 129,
+ 220, 56, 81, 4, 1, 249, 129, 220, 56, 81, 6, 1, 55, 81, 220, 56, 81, 4,
+ 1, 55, 81, 220, 56, 81, 6, 1, 55, 81, 245, 76, 81, 4, 1, 55, 81, 245, 76,
+ 81, 6, 1, 254, 183, 234, 118, 81, 4, 1, 254, 183, 234, 118, 81, 6, 1,
+ 247, 254, 241, 46, 81, 4, 1, 247, 254, 241, 46, 81, 6, 1, 55, 81, 241,
+ 46, 81, 4, 1, 55, 81, 241, 46, 81, 6, 1, 55, 81, 162, 81, 4, 1, 55, 81,
+ 162, 81, 6, 1, 233, 149, 162, 81, 4, 1, 233, 149, 162, 81, 6, 1, 55, 81,
+ 241, 218, 81, 4, 1, 55, 81, 241, 218, 81, 6, 1, 55, 81, 241, 252, 81, 4,
+ 1, 55, 81, 241, 252, 81, 6, 1, 55, 81, 243, 103, 81, 4, 1, 55, 81, 243,
+ 103, 81, 6, 1, 55, 81, 247, 164, 81, 4, 1, 55, 81, 247, 164, 81, 6, 1,
+ 55, 81, 220, 23, 81, 4, 1, 55, 81, 220, 23, 81, 6, 1, 55, 227, 209, 220,
+ 23, 81, 4, 1, 55, 227, 209, 220, 23, 81, 6, 1, 55, 227, 209, 229, 28, 81,
+ 4, 1, 55, 227, 209, 229, 28, 81, 6, 1, 55, 227, 209, 227, 149, 81, 4, 1,
+ 55, 227, 209, 227, 149, 81, 6, 1, 55, 227, 209, 212, 37, 81, 4, 1, 55,
+ 227, 209, 212, 37, 81, 16, 234, 247, 81, 16, 230, 232, 222, 212, 81, 16,
+ 225, 110, 222, 212, 81, 16, 218, 148, 81, 16, 217, 43, 222, 212, 81, 16,
+ 234, 114, 222, 212, 81, 16, 220, 24, 219, 166, 81, 6, 1, 249, 116, 220,
+ 56, 81, 4, 1, 249, 116, 220, 56, 81, 6, 1, 249, 116, 243, 103, 81, 4, 1,
+ 249, 116, 243, 103, 81, 38, 228, 235, 48, 81, 38, 218, 248, 253, 225, 81,
+ 38, 218, 248, 233, 22, 81, 6, 1, 251, 200, 234, 118, 81, 4, 1, 251, 200,
+ 234, 118, 81, 55, 227, 209, 243, 230, 218, 130, 81, 55, 227, 209, 247,
+ 198, 224, 14, 78, 81, 55, 227, 209, 235, 238, 224, 14, 78, 81, 55, 227,
+ 209, 213, 241, 247, 173, 81, 244, 3, 123, 242, 28, 81, 243, 230, 218,
+ 130, 81, 230, 125, 247, 173, 98, 4, 1, 254, 124, 98, 4, 1, 252, 153, 98,
+ 4, 1, 243, 107, 98, 4, 1, 247, 129, 98, 4, 1, 245, 151, 98, 4, 1, 213,
+ 160, 98, 4, 1, 210, 89, 98, 4, 1, 217, 61, 98, 4, 1, 236, 0, 98, 4, 1,
+ 234, 235, 98, 4, 1, 233, 82, 98, 4, 1, 231, 186, 98, 4, 1, 229, 196, 98,
+ 4, 1, 226, 197, 98, 4, 1, 226, 18, 98, 4, 1, 210, 78, 98, 4, 1, 223, 172,
+ 98, 4, 1, 221, 244, 98, 4, 1, 217, 51, 98, 4, 1, 214, 190, 98, 4, 1, 225,
+ 141, 98, 4, 1, 234, 122, 98, 4, 1, 242, 242, 98, 4, 1, 224, 74, 98, 4, 1,
+ 220, 21, 98, 4, 1, 250, 98, 98, 4, 1, 251, 8, 98, 4, 1, 235, 101, 98, 4,
+ 1, 250, 41, 98, 4, 1, 250, 144, 98, 4, 1, 211, 163, 98, 4, 1, 235, 112,
+ 98, 4, 1, 242, 44, 98, 4, 1, 241, 239, 98, 4, 1, 241, 176, 98, 4, 1, 212,
+ 22, 98, 4, 1, 242, 5, 98, 4, 1, 241, 66, 98, 4, 1, 210, 246, 98, 4, 1,
+ 254, 233, 216, 109, 1, 191, 216, 109, 1, 211, 99, 216, 109, 1, 211, 98,
+ 216, 109, 1, 211, 88, 216, 109, 1, 211, 86, 216, 109, 1, 252, 33, 255,
+ 17, 211, 81, 216, 109, 1, 211, 81, 216, 109, 1, 211, 96, 216, 109, 1,
+ 211, 93, 216, 109, 1, 211, 95, 216, 109, 1, 211, 94, 216, 109, 1, 211,
+ 12, 216, 109, 1, 211, 90, 216, 109, 1, 211, 79, 216, 109, 1, 215, 116,
+ 211, 79, 216, 109, 1, 211, 76, 216, 109, 1, 211, 84, 216, 109, 1, 252,
+ 33, 255, 17, 211, 84, 216, 109, 1, 215, 116, 211, 84, 216, 109, 1, 211,
+ 83, 216, 109, 1, 211, 103, 216, 109, 1, 211, 77, 216, 109, 1, 215, 116,
+ 211, 77, 216, 109, 1, 211, 66, 216, 109, 1, 215, 116, 211, 66, 216, 109,
+ 1, 211, 8, 216, 109, 1, 211, 49, 216, 109, 1, 254, 208, 211, 49, 216,
+ 109, 1, 215, 116, 211, 49, 216, 109, 1, 211, 75, 216, 109, 1, 211, 74,
+ 216, 109, 1, 211, 71, 216, 109, 1, 215, 116, 211, 85, 216, 109, 1, 215,
+ 116, 211, 69, 216, 109, 1, 211, 67, 216, 109, 1, 210, 212, 216, 109, 1,
+ 211, 64, 216, 109, 1, 211, 63, 216, 109, 1, 211, 87, 216, 109, 1, 215,
+ 116, 211, 87, 216, 109, 1, 253, 164, 211, 87, 216, 109, 1, 211, 62, 216,
+ 109, 1, 211, 60, 216, 109, 1, 211, 61, 216, 109, 1, 211, 59, 216, 109, 1,
+ 211, 58, 216, 109, 1, 211, 97, 216, 109, 1, 211, 56, 216, 109, 1, 211,
+ 54, 216, 109, 1, 211, 53, 216, 109, 1, 211, 52, 216, 109, 1, 211, 50,
+ 216, 109, 1, 217, 35, 211, 50, 216, 109, 1, 211, 48, 216, 109, 1, 211,
+ 47, 216, 109, 1, 210, 244, 216, 109, 58, 1, 233, 127, 78, 216, 109, 220,
+ 139, 78, 216, 109, 116, 235, 64, 29, 3, 232, 156, 29, 3, 230, 161, 29, 3,
+ 222, 210, 29, 3, 219, 58, 29, 3, 220, 7, 29, 3, 251, 205, 29, 3, 216, 42,
+ 29, 3, 249, 238, 29, 3, 228, 73, 29, 3, 227, 134, 29, 3, 242, 181, 227,
+ 1, 29, 3, 210, 22, 29, 3, 247, 144, 29, 3, 248, 105, 29, 3, 235, 68, 29,
+ 3, 216, 156, 29, 3, 250, 86, 29, 3, 225, 121, 29, 3, 225, 16, 29, 3, 243,
+ 0, 29, 3, 242, 252, 29, 3, 242, 253, 29, 3, 242, 254, 29, 3, 218, 224,
+ 29, 3, 218, 180, 29, 3, 218, 193, 29, 3, 218, 223, 29, 3, 218, 197, 29,
+ 3, 218, 198, 29, 3, 218, 185, 29, 3, 250, 214, 29, 3, 250, 193, 29, 3,
+ 250, 195, 29, 3, 250, 213, 29, 3, 250, 211, 29, 3, 250, 212, 29, 3, 250,
+ 194, 29, 3, 209, 243, 29, 3, 209, 221, 29, 3, 209, 234, 29, 3, 209, 242,
+ 29, 3, 209, 237, 29, 3, 209, 238, 29, 3, 209, 226, 29, 3, 250, 209, 29,
+ 3, 250, 196, 29, 3, 250, 198, 29, 3, 250, 208, 29, 3, 250, 206, 29, 3,
+ 250, 207, 29, 3, 250, 197, 29, 3, 223, 237, 29, 3, 223, 227, 29, 3, 223,
+ 233, 29, 3, 223, 236, 29, 3, 223, 234, 29, 3, 223, 235, 29, 3, 223, 232,
+ 29, 3, 233, 160, 29, 3, 233, 152, 29, 3, 233, 155, 29, 3, 233, 159, 29,
+ 3, 233, 156, 29, 3, 233, 157, 29, 3, 233, 153, 29, 3, 211, 130, 29, 3,
+ 211, 120, 29, 3, 211, 126, 29, 3, 211, 129, 29, 3, 211, 127, 29, 3, 211,
+ 128, 29, 3, 211, 125, 29, 3, 242, 72, 29, 3, 242, 63, 29, 3, 242, 66, 29,
+ 3, 242, 71, 29, 3, 242, 68, 29, 3, 242, 69, 29, 3, 242, 65, 38, 33, 1,
+ 252, 76, 38, 33, 1, 213, 255, 38, 33, 1, 242, 237, 38, 33, 1, 248, 91,
+ 38, 33, 1, 210, 74, 38, 33, 1, 210, 94, 38, 33, 1, 176, 38, 33, 1, 245,
+ 175, 38, 33, 1, 245, 160, 38, 33, 1, 245, 151, 38, 33, 1, 76, 38, 33, 1,
+ 225, 222, 38, 33, 1, 245, 93, 38, 33, 1, 245, 83, 38, 33, 1, 217, 23, 38,
+ 33, 1, 162, 38, 33, 1, 215, 179, 38, 33, 1, 250, 132, 38, 33, 1, 220,
+ 103, 38, 33, 1, 220, 66, 38, 33, 1, 244, 83, 38, 33, 1, 245, 82, 38, 33,
+ 1, 61, 38, 33, 1, 236, 61, 38, 33, 1, 247, 162, 38, 33, 1, 230, 141, 214,
+ 205, 38, 33, 1, 211, 59, 38, 33, 1, 210, 212, 38, 33, 1, 235, 184, 61,
+ 38, 33, 1, 232, 193, 210, 183, 38, 33, 1, 251, 250, 210, 183, 38, 33, 1,
+ 235, 184, 251, 250, 210, 183, 44, 254, 111, 218, 61, 231, 155, 44, 254,
+ 111, 246, 119, 218, 61, 231, 155, 43, 218, 61, 127, 44, 218, 61, 127, 43,
+ 246, 119, 218, 61, 127, 44, 246, 119, 218, 61, 127, 223, 158, 235, 203,
+ 231, 155, 223, 158, 246, 119, 235, 203, 231, 155, 246, 119, 215, 242,
+ 231, 155, 43, 215, 242, 127, 44, 215, 242, 127, 223, 158, 218, 235, 43,
+ 223, 158, 226, 199, 127, 44, 223, 158, 226, 199, 127, 245, 211, 249, 159,
+ 226, 14, 244, 23, 226, 14, 223, 50, 244, 23, 226, 14, 240, 166, 246, 119,
+ 226, 252, 246, 105, 254, 120, 214, 153, 254, 120, 246, 119, 222, 248,
+ 254, 110, 52, 226, 249, 240, 169, 235, 194, 235, 202, 226, 60, 251, 155,
+ 240, 170, 2, 248, 2, 216, 90, 2, 222, 235, 48, 43, 121, 226, 6, 127, 44,
+ 121, 226, 6, 127, 216, 90, 2, 59, 48, 216, 90, 2, 59, 51, 43, 67, 252,
+ 142, 2, 224, 8, 44, 67, 252, 142, 2, 224, 8, 216, 15, 43, 163, 127, 216,
+ 15, 44, 163, 127, 251, 176, 43, 163, 127, 251, 176, 44, 163, 127, 43,
+ 219, 188, 104, 127, 44, 219, 188, 104, 127, 43, 52, 226, 4, 44, 52, 226,
+ 4, 113, 170, 117, 123, 59, 224, 141, 123, 59, 117, 113, 170, 224, 141,
+ 92, 244, 12, 59, 224, 141, 244, 82, 59, 78, 223, 50, 224, 14, 78, 67,
+ 183, 222, 235, 225, 11, 211, 209, 220, 139, 230, 225, 247, 121, 215, 94,
+ 249, 220, 223, 158, 247, 121, 223, 158, 249, 220, 215, 94, 220, 151, 248,
+ 207, 2, 43, 242, 109, 248, 207, 2, 44, 242, 109, 215, 94, 248, 206, 216,
+ 15, 163, 221, 174, 50, 215, 59, 248, 157, 216, 144, 248, 157, 9, 34, 223,
+ 77, 9, 34, 250, 11, 9, 34, 221, 177, 110, 9, 34, 221, 177, 105, 9, 34,
+ 221, 177, 158, 9, 34, 225, 168, 9, 34, 251, 164, 9, 34, 217, 93, 9, 34,
+ 234, 34, 110, 9, 34, 234, 34, 105, 9, 34, 247, 171, 9, 34, 221, 180, 9,
+ 34, 4, 110, 9, 34, 4, 105, 9, 34, 233, 98, 110, 9, 34, 233, 98, 105, 9,
+ 34, 233, 98, 158, 9, 34, 233, 98, 161, 9, 34, 219, 69, 9, 34, 216, 146,
+ 9, 34, 219, 67, 110, 9, 34, 219, 67, 105, 9, 34, 241, 229, 110, 9, 34,
+ 241, 229, 105, 9, 34, 242, 16, 9, 34, 223, 148, 9, 34, 250, 83, 9, 34,
+ 218, 38, 9, 34, 230, 129, 9, 34, 248, 89, 9, 34, 230, 121, 9, 34, 250,
+ 26, 9, 34, 212, 41, 110, 9, 34, 212, 41, 105, 9, 34, 244, 97, 9, 34, 225,
+ 233, 110, 9, 34, 225, 233, 105, 9, 34, 219, 161, 163, 215, 237, 215, 189,
+ 9, 34, 249, 146, 9, 34, 247, 137, 9, 34, 235, 138, 9, 34, 251, 199, 64,
+ 249, 251, 9, 34, 245, 16, 9, 34, 218, 250, 110, 9, 34, 218, 250, 105, 9,
+ 34, 252, 155, 9, 34, 219, 168, 9, 34, 251, 64, 219, 168, 9, 34, 229, 91,
+ 110, 9, 34, 229, 91, 105, 9, 34, 229, 91, 158, 9, 34, 229, 91, 161, 9,
+ 34, 231, 47, 9, 34, 220, 58, 9, 34, 223, 154, 9, 34, 245, 38, 9, 34, 226,
+ 210, 9, 34, 251, 134, 110, 9, 34, 251, 134, 105, 9, 34, 231, 87, 9, 34,
+ 230, 124, 9, 34, 242, 141, 110, 9, 34, 242, 141, 105, 9, 34, 242, 141,
+ 158, 9, 34, 216, 107, 9, 34, 249, 250, 9, 34, 212, 9, 110, 9, 34, 212, 9,
+ 105, 9, 34, 251, 64, 221, 171, 9, 34, 219, 161, 240, 249, 9, 34, 240,
+ 249, 9, 34, 251, 64, 219, 3, 9, 34, 251, 64, 220, 53, 9, 34, 244, 33, 9,
+ 34, 251, 64, 250, 229, 9, 34, 219, 161, 212, 57, 9, 34, 212, 58, 110, 9,
+ 34, 212, 58, 105, 9, 34, 250, 28, 9, 34, 251, 64, 242, 167, 9, 34, 199,
+ 110, 9, 34, 199, 105, 9, 34, 251, 64, 232, 138, 9, 34, 251, 64, 243, 89,
+ 9, 34, 230, 120, 110, 9, 34, 230, 120, 105, 9, 34, 223, 160, 9, 34, 251,
+ 208, 9, 34, 251, 64, 217, 57, 233, 53, 9, 34, 251, 64, 233, 54, 9, 34,
+ 251, 64, 211, 239, 9, 34, 251, 64, 244, 47, 9, 34, 245, 219, 110, 9, 34,
+ 245, 219, 105, 9, 34, 245, 219, 158, 9, 34, 251, 64, 245, 218, 9, 34,
+ 241, 236, 9, 34, 251, 64, 240, 246, 9, 34, 251, 195, 9, 34, 242, 223, 9,
+ 34, 251, 64, 244, 91, 9, 34, 251, 64, 251, 238, 9, 34, 251, 64, 222, 2,
+ 9, 34, 219, 161, 212, 2, 9, 34, 219, 161, 211, 41, 9, 34, 251, 64, 243,
+ 245, 9, 34, 235, 144, 245, 42, 9, 34, 251, 64, 245, 42, 9, 34, 235, 144,
+ 216, 16, 9, 34, 251, 64, 216, 16, 9, 34, 235, 144, 246, 97, 9, 34, 251,
+ 64, 246, 97, 9, 34, 215, 91, 9, 34, 235, 144, 215, 91, 9, 34, 251, 64,
+ 215, 91, 60, 34, 110, 60, 34, 232, 214, 60, 34, 247, 121, 60, 34, 219,
+ 96, 60, 34, 221, 176, 60, 34, 103, 60, 34, 105, 60, 34, 232, 238, 60, 34,
+ 231, 186, 60, 34, 233, 34, 60, 34, 245, 130, 60, 34, 195, 60, 34, 124,
+ 251, 164, 60, 34, 249, 148, 60, 34, 240, 112, 60, 34, 217, 93, 60, 34,
+ 204, 251, 164, 60, 34, 234, 33, 60, 34, 224, 225, 60, 34, 211, 202, 60,
+ 34, 218, 244, 60, 34, 44, 204, 251, 164, 60, 34, 241, 177, 245, 146, 60,
+ 34, 216, 248, 60, 34, 247, 171, 60, 34, 221, 180, 60, 34, 250, 11, 60,
+ 34, 224, 183, 60, 34, 254, 216, 60, 34, 230, 111, 60, 34, 245, 146, 60,
+ 34, 245, 224, 60, 34, 221, 201, 60, 34, 242, 175, 60, 34, 242, 176, 219,
+ 82, 60, 34, 245, 41, 60, 34, 251, 249, 60, 34, 211, 221, 60, 34, 250,
+ 102, 60, 34, 222, 197, 60, 34, 235, 252, 60, 34, 219, 80, 60, 34, 233,
+ 97, 60, 34, 249, 157, 60, 34, 218, 238, 60, 34, 230, 116, 60, 34, 222,
+ 225, 60, 34, 211, 206, 60, 34, 226, 191, 60, 34, 215, 98, 60, 34, 246,
+ 81, 60, 34, 219, 252, 216, 146, 60, 34, 246, 119, 250, 11, 60, 34, 199,
+ 218, 109, 60, 34, 113, 242, 11, 60, 34, 220, 1, 60, 34, 251, 170, 60, 34,
+ 219, 66, 60, 34, 251, 138, 60, 34, 218, 139, 60, 34, 241, 228, 60, 34,
+ 242, 29, 60, 34, 247, 124, 60, 34, 242, 16, 60, 34, 251, 155, 60, 34,
+ 223, 148, 60, 34, 221, 188, 60, 34, 247, 200, 60, 34, 253, 169, 60, 34,
+ 218, 235, 60, 34, 228, 52, 60, 34, 218, 38, 60, 34, 221, 212, 60, 34,
+ 230, 129, 60, 34, 215, 236, 60, 34, 233, 123, 60, 34, 218, 130, 60, 34,
+ 248, 89, 60, 34, 212, 21, 60, 34, 247, 147, 228, 52, 60, 34, 249, 216,
+ 60, 34, 243, 223, 60, 34, 250, 22, 60, 34, 218, 143, 60, 34, 212, 40, 60,
+ 34, 244, 97, 60, 34, 250, 19, 60, 34, 244, 162, 60, 34, 52, 211, 178, 60,
+ 34, 163, 215, 237, 215, 189, 60, 34, 219, 90, 60, 34, 244, 172, 60, 34,
+ 249, 146, 60, 34, 247, 137, 60, 34, 224, 180, 60, 34, 235, 138, 60, 34,
+ 231, 68, 60, 34, 216, 89, 60, 34, 217, 246, 60, 34, 232, 232, 60, 34,
+ 214, 131, 60, 34, 244, 121, 60, 34, 251, 199, 64, 249, 251, 60, 34, 219,
+ 189, 60, 34, 246, 119, 216, 243, 60, 34, 211, 253, 60, 34, 219, 104, 60,
+ 34, 247, 188, 60, 34, 245, 16, 60, 34, 219, 6, 60, 34, 74, 60, 34, 218,
+ 132, 60, 34, 218, 249, 60, 34, 216, 0, 60, 34, 242, 148, 60, 34, 250,
+ 219, 60, 34, 218, 161, 60, 34, 252, 155, 60, 34, 223, 32, 60, 34, 219,
+ 168, 60, 34, 235, 131, 60, 34, 229, 90, 60, 34, 220, 58, 60, 34, 244,
+ 150, 60, 34, 226, 210, 60, 34, 254, 119, 60, 34, 225, 30, 60, 34, 245,
+ 228, 60, 34, 251, 133, 60, 34, 231, 87, 60, 34, 230, 184, 60, 34, 220,
+ 157, 60, 34, 253, 253, 60, 34, 230, 124, 60, 34, 216, 20, 60, 34, 226,
+ 166, 60, 34, 251, 202, 60, 34, 218, 128, 60, 34, 249, 226, 60, 34, 242,
+ 140, 60, 34, 216, 107, 60, 34, 235, 218, 60, 34, 251, 212, 60, 34, 212,
+ 58, 245, 146, 60, 34, 249, 250, 60, 34, 212, 8, 60, 34, 221, 171, 60, 34,
+ 240, 249, 60, 34, 219, 3, 60, 34, 214, 22, 60, 34, 252, 73, 60, 34, 225,
+ 74, 60, 34, 252, 175, 60, 34, 220, 53, 60, 34, 223, 111, 60, 34, 222,
+ 127, 60, 34, 244, 33, 60, 34, 251, 201, 60, 34, 250, 229, 60, 34, 251,
+ 227, 60, 34, 230, 126, 60, 34, 212, 57, 60, 34, 250, 28, 60, 34, 211,
+ 236, 60, 34, 247, 181, 60, 34, 213, 161, 60, 34, 242, 167, 60, 34, 232,
+ 138, 60, 34, 243, 89, 60, 34, 230, 119, 60, 34, 219, 95, 60, 34, 219,
+ 252, 217, 77, 251, 238, 60, 34, 223, 160, 60, 34, 251, 208, 60, 34, 211,
+ 197, 60, 34, 244, 191, 60, 34, 233, 53, 60, 34, 217, 57, 233, 53, 60, 34,
+ 233, 49, 60, 34, 219, 31, 60, 34, 233, 54, 60, 34, 211, 239, 60, 34, 244,
+ 47, 60, 34, 245, 218, 60, 34, 241, 236, 60, 34, 244, 1, 60, 34, 240, 246,
+ 60, 34, 251, 195, 60, 34, 217, 64, 60, 34, 242, 35, 60, 34, 244, 114, 60,
+ 34, 222, 29, 211, 236, 60, 34, 250, 221, 60, 34, 242, 223, 60, 34, 244,
+ 91, 60, 34, 251, 238, 60, 34, 222, 2, 60, 34, 248, 75, 60, 34, 212, 2,
+ 60, 34, 241, 211, 60, 34, 211, 41, 60, 34, 230, 193, 60, 34, 251, 222,
+ 60, 34, 245, 156, 60, 34, 243, 245, 60, 34, 215, 210, 60, 34, 246, 83,
+ 60, 34, 223, 142, 60, 34, 228, 54, 60, 34, 245, 42, 60, 34, 216, 16, 60,
+ 34, 246, 97, 60, 34, 215, 91, 60, 34, 244, 49, 109, 248, 38, 135, 43,
+ 216, 43, 222, 252, 109, 248, 38, 135, 77, 216, 43, 51, 109, 248, 38, 135,
+ 43, 216, 43, 230, 225, 22, 222, 252, 109, 248, 38, 135, 77, 216, 43, 230,
+ 225, 22, 51, 109, 248, 38, 135, 243, 230, 218, 11, 109, 248, 38, 135,
+ 218, 12, 243, 244, 48, 109, 248, 38, 135, 218, 12, 243, 244, 51, 109,
+ 248, 38, 135, 218, 12, 243, 244, 233, 47, 109, 248, 38, 135, 218, 12,
+ 243, 244, 214, 160, 233, 47, 109, 248, 38, 135, 218, 12, 243, 244, 214,
+ 160, 222, 252, 109, 248, 38, 135, 218, 12, 243, 244, 232, 109, 233, 47,
+ 109, 248, 38, 135, 226, 123, 109, 219, 19, 109, 249, 220, 109, 243, 230,
+ 218, 130, 247, 178, 78, 235, 132, 235, 237, 218, 160, 87, 109, 235, 159,
+ 78, 109, 249, 253, 78, 109, 54, 210, 86, 43, 254, 111, 127, 44, 254, 111,
+ 127, 43, 52, 254, 111, 127, 44, 52, 254, 111, 127, 43, 249, 162, 127, 44,
+ 249, 162, 127, 43, 71, 249, 162, 127, 44, 71, 249, 162, 127, 43, 85, 233,
+ 21, 127, 44, 85, 233, 21, 127, 224, 238, 78, 243, 33, 78, 43, 216, 7,
+ 220, 54, 127, 44, 216, 7, 220, 54, 127, 43, 71, 233, 21, 127, 44, 71,
+ 233, 21, 127, 43, 71, 216, 7, 220, 54, 127, 44, 71, 216, 7, 220, 54, 127,
+ 43, 71, 42, 127, 44, 71, 42, 127, 212, 36, 248, 157, 223, 50, 52, 224,
+ 192, 223, 255, 78, 52, 224, 192, 223, 255, 78, 121, 52, 224, 192, 223,
+ 255, 78, 224, 238, 164, 244, 191, 242, 9, 227, 199, 110, 242, 9, 227,
+ 199, 105, 242, 9, 227, 199, 158, 242, 9, 227, 199, 161, 242, 9, 227, 199,
+ 189, 242, 9, 227, 199, 194, 242, 9, 227, 199, 198, 242, 9, 227, 199, 195,
+ 242, 9, 227, 199, 200, 109, 233, 4, 138, 78, 109, 222, 229, 138, 78, 109,
+ 248, 45, 138, 78, 109, 245, 129, 138, 78, 24, 219, 156, 59, 138, 78, 24,
+ 52, 59, 138, 78, 212, 32, 248, 157, 67, 234, 234, 223, 78, 78, 67, 234,
+ 234, 223, 78, 2, 213, 135, 219, 32, 78, 67, 234, 234, 223, 78, 164, 214,
+ 160, 242, 28, 67, 234, 234, 223, 78, 2, 213, 135, 219, 32, 164, 214, 160,
+ 242, 28, 67, 234, 234, 223, 78, 164, 232, 109, 242, 28, 37, 224, 238, 78,
+ 109, 217, 4, 232, 215, 244, 147, 220, 139, 87, 242, 9, 227, 199, 216,
+ 248, 242, 9, 227, 199, 215, 73, 242, 9, 227, 199, 216, 163, 67, 109, 235,
+ 159, 78, 231, 141, 78, 226, 0, 254, 141, 78, 109, 45, 235, 239, 109, 163,
+ 244, 107, 219, 19, 141, 1, 4, 61, 141, 1, 61, 141, 1, 4, 73, 141, 1, 73,
+ 141, 1, 4, 70, 141, 1, 70, 141, 1, 4, 75, 141, 1, 75, 141, 1, 4, 76, 141,
+ 1, 76, 141, 1, 176, 141, 1, 243, 136, 141, 1, 234, 93, 141, 1, 242, 215,
+ 141, 1, 233, 218, 141, 1, 242, 114, 141, 1, 234, 183, 141, 1, 243, 63,
+ 141, 1, 234, 29, 141, 1, 242, 175, 141, 1, 206, 141, 1, 210, 116, 141, 1,
+ 219, 192, 141, 1, 210, 44, 141, 1, 218, 84, 141, 1, 210, 13, 141, 1, 221,
+ 182, 141, 1, 210, 94, 141, 1, 219, 59, 141, 1, 210, 23, 141, 1, 217, 106,
+ 141, 1, 248, 222, 141, 1, 216, 118, 141, 1, 248, 4, 141, 1, 4, 215, 119,
+ 141, 1, 215, 119, 141, 1, 246, 79, 141, 1, 217, 23, 141, 1, 248, 91, 141,
+ 1, 111, 141, 1, 247, 146, 141, 1, 197, 141, 1, 228, 234, 141, 1, 227,
+ 238, 141, 1, 229, 108, 141, 1, 228, 75, 141, 1, 162, 141, 1, 252, 192,
+ 141, 1, 190, 141, 1, 241, 181, 141, 1, 252, 7, 141, 1, 225, 109, 141, 1,
+ 240, 223, 141, 1, 251, 126, 141, 1, 224, 151, 141, 1, 241, 239, 141, 1,
+ 252, 76, 141, 1, 225, 222, 141, 1, 241, 69, 141, 1, 251, 206, 141, 1,
+ 225, 17, 141, 1, 185, 141, 1, 230, 231, 141, 1, 230, 103, 141, 1, 231,
+ 92, 141, 1, 230, 162, 141, 1, 4, 191, 141, 1, 191, 141, 1, 4, 210, 212,
+ 141, 1, 210, 212, 141, 1, 4, 210, 244, 141, 1, 210, 244, 141, 1, 205,
+ 141, 1, 223, 36, 141, 1, 222, 141, 141, 1, 223, 129, 141, 1, 222, 212,
+ 141, 1, 4, 212, 65, 141, 1, 212, 65, 141, 1, 211, 250, 141, 1, 212, 22,
+ 141, 1, 211, 227, 141, 1, 230, 26, 141, 1, 212, 116, 141, 1, 4, 176, 141,
+ 1, 4, 234, 183, 38, 234, 202, 213, 135, 219, 32, 78, 38, 234, 202, 220,
+ 156, 219, 32, 78, 234, 202, 213, 135, 219, 32, 78, 234, 202, 220, 156,
+ 219, 32, 78, 141, 235, 159, 78, 141, 213, 135, 235, 159, 78, 141, 247,
+ 222, 210, 225, 234, 202, 52, 240, 169, 56, 1, 4, 61, 56, 1, 61, 56, 1, 4,
+ 73, 56, 1, 73, 56, 1, 4, 70, 56, 1, 70, 56, 1, 4, 75, 56, 1, 75, 56, 1,
+ 4, 76, 56, 1, 76, 56, 1, 176, 56, 1, 243, 136, 56, 1, 234, 93, 56, 1,
+ 242, 215, 56, 1, 233, 218, 56, 1, 242, 114, 56, 1, 234, 183, 56, 1, 243,
+ 63, 56, 1, 234, 29, 56, 1, 242, 175, 56, 1, 206, 56, 1, 210, 116, 56, 1,
+ 219, 192, 56, 1, 210, 44, 56, 1, 218, 84, 56, 1, 210, 13, 56, 1, 221,
+ 182, 56, 1, 210, 94, 56, 1, 219, 59, 56, 1, 210, 23, 56, 1, 217, 106, 56,
+ 1, 248, 222, 56, 1, 216, 118, 56, 1, 248, 4, 56, 1, 4, 215, 119, 56, 1,
+ 215, 119, 56, 1, 246, 79, 56, 1, 217, 23, 56, 1, 248, 91, 56, 1, 111, 56,
+ 1, 247, 146, 56, 1, 197, 56, 1, 228, 234, 56, 1, 227, 238, 56, 1, 229,
+ 108, 56, 1, 228, 75, 56, 1, 162, 56, 1, 252, 192, 56, 1, 190, 56, 1, 241,
+ 181, 56, 1, 252, 7, 56, 1, 225, 109, 56, 1, 240, 223, 56, 1, 251, 126,
+ 56, 1, 224, 151, 56, 1, 241, 239, 56, 1, 252, 76, 56, 1, 225, 222, 56, 1,
+ 241, 69, 56, 1, 251, 206, 56, 1, 225, 17, 56, 1, 185, 56, 1, 230, 231,
+ 56, 1, 230, 103, 56, 1, 231, 92, 56, 1, 230, 162, 56, 1, 4, 191, 56, 1,
+ 191, 56, 1, 4, 210, 212, 56, 1, 210, 212, 56, 1, 4, 210, 244, 56, 1, 210,
+ 244, 56, 1, 205, 56, 1, 223, 36, 56, 1, 222, 141, 56, 1, 223, 129, 56, 1,
+ 222, 212, 56, 1, 4, 212, 65, 56, 1, 212, 65, 56, 1, 211, 250, 56, 1, 212,
+ 22, 56, 1, 211, 227, 56, 1, 230, 26, 56, 1, 212, 116, 56, 1, 4, 176, 56,
+ 1, 4, 234, 183, 56, 1, 214, 27, 56, 1, 213, 176, 56, 1, 213, 255, 56, 1,
+ 213, 138, 56, 230, 225, 247, 121, 234, 202, 224, 174, 219, 32, 78, 56,
+ 235, 159, 78, 56, 213, 135, 235, 159, 78, 56, 247, 222, 234, 0, 251, 185,
+ 1, 253, 159, 251, 185, 1, 226, 106, 251, 185, 1, 193, 251, 185, 1, 245,
+ 7, 251, 185, 1, 249, 61, 251, 185, 1, 217, 153, 251, 185, 1, 230, 26,
+ 251, 185, 1, 156, 251, 185, 1, 243, 203, 251, 185, 1, 235, 24, 251, 185,
+ 1, 242, 61, 251, 185, 1, 235, 145, 251, 185, 1, 224, 97, 251, 185, 1,
+ 211, 178, 251, 185, 1, 210, 83, 251, 185, 1, 250, 159, 251, 185, 1, 220,
+ 105, 251, 185, 1, 153, 251, 185, 1, 210, 159, 251, 185, 1, 251, 67, 251,
+ 185, 1, 222, 92, 251, 185, 1, 61, 251, 185, 1, 76, 251, 185, 1, 75, 251,
+ 185, 1, 245, 198, 251, 185, 1, 254, 202, 251, 185, 1, 245, 196, 251, 185,
+ 1, 253, 193, 251, 185, 1, 226, 135, 251, 185, 1, 254, 124, 251, 185, 1,
+ 245, 151, 251, 185, 1, 254, 116, 251, 185, 1, 245, 139, 251, 185, 1, 245,
+ 93, 251, 185, 1, 73, 251, 185, 1, 70, 251, 185, 1, 235, 157, 251, 185, 1,
+ 214, 105, 251, 185, 1, 229, 80, 251, 185, 1, 242, 179, 251, 185, 1, 236,
+ 35, 24, 1, 234, 59, 24, 1, 218, 216, 24, 1, 234, 52, 24, 1, 228, 227, 24,
+ 1, 228, 225, 24, 1, 228, 224, 24, 1, 216, 102, 24, 1, 218, 205, 24, 1,
+ 223, 27, 24, 1, 223, 22, 24, 1, 223, 19, 24, 1, 223, 12, 24, 1, 223, 7,
+ 24, 1, 223, 2, 24, 1, 223, 13, 24, 1, 223, 25, 24, 1, 230, 218, 24, 1,
+ 225, 96, 24, 1, 218, 213, 24, 1, 225, 85, 24, 1, 219, 149, 24, 1, 218,
+ 210, 24, 1, 236, 57, 24, 1, 250, 47, 24, 1, 218, 220, 24, 1, 250, 107,
+ 24, 1, 234, 111, 24, 1, 216, 174, 24, 1, 225, 132, 24, 1, 241, 173, 24,
+ 1, 61, 24, 1, 254, 244, 24, 1, 191, 24, 1, 211, 92, 24, 1, 245, 118, 24,
+ 1, 75, 24, 1, 211, 36, 24, 1, 211, 47, 24, 1, 76, 24, 1, 212, 65, 24, 1,
+ 212, 62, 24, 1, 226, 235, 24, 1, 210, 244, 24, 1, 70, 24, 1, 212, 11, 24,
+ 1, 212, 22, 24, 1, 211, 250, 24, 1, 210, 212, 24, 1, 245, 56, 24, 1, 211,
+ 8, 24, 1, 73, 24, 244, 104, 24, 1, 218, 214, 24, 1, 228, 217, 24, 1, 228,
+ 219, 24, 1, 228, 222, 24, 1, 223, 20, 24, 1, 223, 1, 24, 1, 223, 9, 24,
+ 1, 223, 14, 24, 1, 222, 255, 24, 1, 230, 211, 24, 1, 230, 208, 24, 1,
+ 230, 212, 24, 1, 234, 222, 24, 1, 225, 91, 24, 1, 225, 77, 24, 1, 225,
+ 83, 24, 1, 225, 80, 24, 1, 225, 94, 24, 1, 225, 78, 24, 1, 234, 220, 24,
+ 1, 234, 218, 24, 1, 219, 142, 24, 1, 219, 140, 24, 1, 219, 132, 24, 1,
+ 219, 137, 24, 1, 219, 147, 24, 1, 226, 33, 24, 1, 218, 217, 24, 1, 211,
+ 26, 24, 1, 211, 22, 24, 1, 211, 23, 24, 1, 234, 221, 24, 1, 218, 218, 24,
1, 211, 32, 24, 1, 210, 238, 24, 1, 210, 237, 24, 1, 210, 240, 24, 1,
- 210, 203, 24, 1, 210, 204, 24, 1, 210, 207, 24, 1, 254, 34, 24, 1, 254,
- 28, 109, 254, 99, 232, 203, 78, 109, 254, 99, 223, 50, 78, 109, 254, 99,
- 123, 78, 109, 254, 99, 113, 78, 109, 254, 99, 134, 78, 109, 254, 99, 244,
- 11, 78, 109, 254, 99, 216, 14, 78, 109, 254, 99, 230, 224, 78, 109, 254,
- 99, 251, 175, 78, 109, 254, 99, 244, 92, 78, 109, 254, 99, 221, 176, 78,
- 109, 254, 99, 216, 169, 78, 109, 254, 99, 244, 4, 78, 109, 254, 99, 241,
- 224, 78, 109, 254, 99, 245, 224, 78, 109, 254, 99, 231, 186, 78, 251,
- 184, 1, 251, 125, 251, 184, 1, 210, 44, 251, 184, 1, 235, 108, 251, 184,
- 1, 242, 113, 251, 184, 1, 245, 209, 251, 184, 1, 245, 135, 251, 184, 1,
- 226, 183, 251, 184, 1, 226, 187, 251, 184, 1, 235, 179, 251, 184, 1, 254,
- 101, 251, 184, 1, 235, 224, 251, 184, 1, 214, 168, 251, 184, 1, 236, 16,
- 251, 184, 1, 229, 57, 251, 184, 1, 254, 195, 251, 184, 1, 253, 187, 251,
- 184, 1, 254, 136, 251, 184, 1, 226, 204, 251, 184, 1, 226, 189, 251, 184,
- 1, 235, 221, 251, 184, 40, 1, 226, 105, 251, 184, 40, 1, 217, 152, 251,
- 184, 40, 1, 235, 23, 251, 184, 40, 1, 242, 60, 251, 184, 1, 242, 250,
- 251, 184, 1, 232, 255, 251, 184, 1, 209, 250, 9, 218, 103, 217, 152, 9,
- 218, 103, 212, 4, 9, 218, 103, 211, 158, 9, 218, 103, 251, 79, 9, 218,
- 103, 217, 254, 9, 218, 103, 240, 158, 9, 218, 103, 240, 162, 9, 218, 103,
- 240, 231, 9, 218, 103, 240, 159, 9, 218, 103, 217, 155, 9, 218, 103, 240,
- 161, 9, 218, 103, 240, 157, 9, 218, 103, 240, 229, 9, 218, 103, 240, 160,
- 9, 218, 103, 240, 156, 9, 218, 103, 230, 25, 9, 218, 103, 242, 60, 9,
- 218, 103, 222, 91, 9, 218, 103, 226, 105, 9, 218, 103, 219, 21, 9, 218,
- 103, 249, 60, 9, 218, 103, 240, 163, 9, 218, 103, 241, 190, 9, 218, 103,
- 217, 164, 9, 218, 103, 217, 233, 9, 218, 103, 218, 168, 9, 218, 103, 220,
- 110, 9, 218, 103, 225, 224, 9, 218, 103, 224, 98, 9, 218, 103, 216, 43,
- 9, 218, 103, 217, 154, 9, 218, 103, 217, 244, 9, 218, 103, 240, 170, 9,
- 218, 103, 240, 155, 9, 218, 103, 225, 149, 9, 218, 103, 224, 96, 56, 1,
- 4, 233, 217, 56, 1, 4, 219, 191, 56, 1, 4, 218, 83, 56, 1, 4, 111, 56, 1,
- 4, 227, 237, 56, 1, 4, 162, 56, 1, 4, 241, 180, 56, 1, 4, 240, 222, 56,
- 1, 4, 241, 238, 56, 1, 4, 241, 68, 56, 1, 4, 230, 102, 56, 1, 4, 205, 56,
- 1, 4, 223, 35, 56, 1, 4, 222, 140, 56, 1, 4, 223, 128, 56, 1, 4, 222,
- 211, 88, 24, 234, 58, 88, 24, 228, 226, 88, 24, 216, 101, 88, 24, 223,
- 26, 88, 24, 230, 217, 88, 24, 225, 95, 88, 24, 219, 148, 88, 24, 236, 56,
- 88, 24, 250, 46, 88, 24, 250, 106, 88, 24, 234, 110, 88, 24, 216, 173,
- 88, 24, 225, 131, 88, 24, 241, 172, 88, 24, 234, 59, 61, 88, 24, 228,
- 227, 61, 88, 24, 216, 102, 61, 88, 24, 223, 27, 61, 88, 24, 230, 218, 61,
- 88, 24, 225, 96, 61, 88, 24, 219, 149, 61, 88, 24, 236, 57, 61, 88, 24,
- 250, 47, 61, 88, 24, 250, 107, 61, 88, 24, 234, 111, 61, 88, 24, 216,
- 174, 61, 88, 24, 225, 132, 61, 88, 24, 241, 173, 61, 88, 24, 250, 47, 70,
- 88, 234, 3, 135, 226, 217, 88, 234, 3, 135, 144, 240, 222, 88, 154, 110,
- 88, 154, 105, 88, 154, 158, 88, 154, 161, 88, 154, 189, 88, 154, 194, 88,
- 154, 198, 88, 154, 195, 88, 154, 200, 88, 154, 216, 247, 88, 154, 230,
- 128, 88, 154, 244, 96, 88, 154, 212, 40, 88, 154, 211, 214, 88, 154, 231,
- 39, 88, 154, 245, 223, 88, 154, 218, 37, 88, 154, 218, 132, 88, 154, 241,
- 244, 88, 154, 219, 54, 88, 154, 229, 204, 88, 154, 219, 4, 88, 154, 244,
- 102, 88, 154, 249, 200, 88, 154, 233, 125, 88, 154, 223, 71, 88, 154,
- 251, 15, 88, 154, 218, 87, 88, 154, 218, 20, 88, 154, 245, 127, 88, 154,
- 223, 63, 88, 154, 254, 150, 88, 154, 244, 128, 88, 154, 223, 61, 88, 154,
- 220, 156, 88, 154, 223, 127, 37, 154, 224, 12, 37, 154, 234, 80, 37, 154,
- 221, 198, 37, 154, 233, 255, 37, 54, 216, 248, 226, 197, 85, 218, 234,
- 37, 54, 215, 74, 226, 197, 85, 218, 234, 37, 54, 216, 163, 226, 197, 85,
- 218, 234, 37, 54, 244, 16, 226, 197, 85, 218, 234, 37, 54, 244, 115, 226,
- 197, 85, 218, 234, 37, 54, 219, 112, 226, 197, 85, 218, 234, 37, 54, 220,
- 117, 226, 197, 85, 218, 234, 37, 54, 245, 185, 226, 197, 85, 218, 234,
- 225, 251, 50, 37, 54, 215, 74, 110, 37, 54, 215, 74, 105, 37, 54, 215,
- 74, 158, 37, 54, 215, 74, 161, 37, 54, 215, 74, 189, 37, 54, 215, 74,
- 194, 37, 54, 215, 74, 198, 37, 54, 215, 74, 195, 37, 54, 215, 74, 200,
- 37, 54, 216, 162, 37, 54, 216, 163, 110, 37, 54, 216, 163, 105, 37, 54,
- 216, 163, 158, 37, 54, 216, 163, 161, 37, 54, 216, 163, 189, 37, 24, 234,
- 58, 37, 24, 228, 226, 37, 24, 216, 101, 37, 24, 223, 26, 37, 24, 230,
- 217, 37, 24, 225, 95, 37, 24, 219, 148, 37, 24, 236, 56, 37, 24, 250, 46,
- 37, 24, 250, 106, 37, 24, 234, 110, 37, 24, 216, 173, 37, 24, 225, 131,
- 37, 24, 241, 172, 37, 24, 234, 59, 61, 37, 24, 228, 227, 61, 37, 24, 216,
- 102, 61, 37, 24, 223, 27, 61, 37, 24, 230, 218, 61, 37, 24, 225, 96, 61,
- 37, 24, 219, 149, 61, 37, 24, 236, 57, 61, 37, 24, 250, 47, 61, 37, 24,
- 250, 107, 61, 37, 24, 234, 111, 61, 37, 24, 216, 174, 61, 37, 24, 225,
- 132, 61, 37, 24, 241, 173, 61, 37, 234, 3, 135, 250, 148, 37, 234, 3,
- 135, 235, 47, 37, 24, 236, 57, 70, 234, 3, 218, 159, 87, 37, 154, 110,
- 37, 154, 105, 37, 154, 158, 37, 154, 161, 37, 154, 189, 37, 154, 194, 37,
- 154, 198, 37, 154, 195, 37, 154, 200, 37, 154, 216, 247, 37, 154, 230,
- 128, 37, 154, 244, 96, 37, 154, 212, 40, 37, 154, 211, 214, 37, 154, 231,
- 39, 37, 154, 245, 223, 37, 154, 218, 37, 37, 154, 218, 132, 37, 154, 241,
- 244, 37, 154, 219, 54, 37, 154, 229, 204, 37, 154, 219, 4, 37, 154, 244,
- 102, 37, 154, 249, 200, 37, 154, 233, 125, 37, 154, 221, 174, 37, 154,
- 231, 189, 37, 154, 244, 137, 37, 154, 218, 49, 37, 154, 245, 34, 37, 154,
- 224, 187, 37, 154, 253, 196, 37, 154, 235, 159, 37, 154, 223, 61, 37,
- 154, 249, 164, 37, 154, 249, 155, 37, 154, 241, 165, 37, 154, 250, 174,
- 37, 154, 232, 110, 37, 154, 233, 46, 37, 154, 222, 251, 37, 154, 231, 83,
- 37, 154, 223, 87, 37, 154, 218, 87, 37, 154, 218, 20, 37, 154, 245, 127,
- 37, 154, 223, 63, 37, 154, 254, 150, 37, 154, 228, 212, 37, 54, 216, 163,
- 194, 37, 54, 216, 163, 198, 37, 54, 216, 163, 195, 37, 54, 216, 163, 200,
- 37, 54, 244, 15, 37, 54, 244, 16, 110, 37, 54, 244, 16, 105, 37, 54, 244,
- 16, 158, 37, 54, 244, 16, 161, 37, 54, 244, 16, 189, 37, 54, 244, 16,
- 194, 37, 54, 244, 16, 198, 37, 54, 244, 16, 195, 37, 54, 244, 16, 200,
- 37, 54, 244, 114, 109, 217, 3, 16, 31, 235, 133, 109, 217, 3, 16, 31,
- 244, 148, 109, 217, 3, 16, 31, 231, 160, 109, 217, 3, 16, 31, 254, 47,
- 109, 217, 3, 16, 31, 231, 132, 109, 217, 3, 16, 31, 235, 45, 109, 217, 3,
- 16, 31, 235, 46, 109, 217, 3, 16, 31, 253, 188, 109, 217, 3, 16, 31, 220,
- 136, 109, 217, 3, 16, 31, 226, 239, 109, 217, 3, 16, 31, 228, 40, 109,
- 217, 3, 16, 31, 248, 85, 42, 241, 190, 42, 245, 88, 42, 245, 43, 232,
- 219, 232, 240, 50, 37, 56, 61, 37, 56, 73, 37, 56, 70, 37, 56, 75, 37,
- 56, 76, 37, 56, 176, 37, 56, 234, 92, 37, 56, 233, 217, 37, 56, 234, 182,
- 37, 56, 234, 28, 37, 56, 206, 37, 56, 219, 191, 37, 56, 218, 83, 37, 56,
- 221, 181, 37, 56, 219, 58, 37, 56, 217, 105, 37, 56, 216, 117, 37, 56,
- 215, 118, 37, 56, 217, 22, 37, 56, 111, 37, 56, 197, 37, 56, 228, 233,
- 37, 56, 227, 237, 37, 56, 229, 107, 37, 56, 228, 74, 37, 56, 162, 37, 56,
- 241, 180, 37, 56, 240, 222, 37, 56, 241, 238, 37, 56, 241, 68, 37, 56,
- 184, 37, 56, 230, 230, 37, 56, 230, 102, 37, 56, 231, 91, 37, 56, 230,
- 161, 37, 56, 191, 37, 56, 210, 212, 37, 56, 210, 244, 37, 56, 205, 37,
- 56, 223, 35, 37, 56, 222, 140, 37, 56, 223, 128, 37, 56, 222, 211, 37,
- 56, 212, 65, 37, 56, 211, 250, 37, 56, 212, 22, 37, 56, 211, 227, 42,
- 254, 71, 42, 253, 239, 42, 254, 95, 42, 255, 31, 42, 235, 226, 42, 235,
- 196, 42, 214, 166, 42, 245, 66, 42, 245, 206, 42, 226, 186, 42, 226, 180,
- 42, 234, 245, 42, 234, 214, 42, 234, 211, 42, 243, 92, 42, 243, 101, 42,
- 242, 204, 42, 242, 200, 42, 233, 150, 42, 242, 193, 42, 234, 72, 42, 234,
- 71, 42, 234, 70, 42, 234, 69, 42, 242, 86, 42, 242, 85, 42, 233, 193, 42,
- 233, 195, 42, 234, 178, 42, 234, 1, 42, 234, 8, 42, 222, 16, 42, 221,
- 237, 42, 219, 129, 42, 220, 141, 42, 220, 140, 42, 248, 218, 42, 248, 36,
- 42, 247, 121, 42, 216, 32, 42, 229, 200, 42, 228, 41, 42, 242, 32, 42,
- 226, 84, 42, 226, 83, 42, 252, 188, 42, 225, 105, 42, 225, 69, 42, 225,
- 70, 42, 251, 234, 42, 240, 221, 42, 240, 217, 42, 251, 91, 42, 240, 204,
- 42, 241, 215, 42, 225, 159, 42, 225, 194, 42, 241, 198, 42, 225, 191, 42,
- 225, 207, 42, 252, 61, 42, 225, 6, 42, 251, 180, 42, 241, 56, 42, 224,
- 250, 42, 241, 48, 42, 241, 50, 42, 231, 201, 42, 231, 197, 42, 231, 206,
- 42, 231, 150, 42, 231, 175, 42, 230, 197, 42, 230, 176, 42, 230, 175, 42,
- 231, 74, 42, 231, 71, 42, 231, 75, 42, 211, 102, 42, 211, 100, 42, 210,
- 201, 42, 222, 226, 42, 222, 230, 42, 222, 117, 42, 222, 111, 42, 223, 85,
- 42, 223, 82, 42, 212, 38, 109, 217, 3, 16, 31, 240, 239, 210, 86, 109,
- 217, 3, 16, 31, 240, 239, 110, 109, 217, 3, 16, 31, 240, 239, 105, 109,
- 217, 3, 16, 31, 240, 239, 158, 109, 217, 3, 16, 31, 240, 239, 161, 109,
- 217, 3, 16, 31, 240, 239, 189, 109, 217, 3, 16, 31, 240, 239, 194, 109,
- 217, 3, 16, 31, 240, 239, 198, 109, 217, 3, 16, 31, 240, 239, 195, 109,
- 217, 3, 16, 31, 240, 239, 200, 109, 217, 3, 16, 31, 240, 239, 216, 247,
- 109, 217, 3, 16, 31, 240, 239, 245, 167, 109, 217, 3, 16, 31, 240, 239,
- 215, 76, 109, 217, 3, 16, 31, 240, 239, 216, 164, 109, 217, 3, 16, 31,
- 240, 239, 244, 5, 109, 217, 3, 16, 31, 240, 239, 244, 118, 109, 217, 3,
- 16, 31, 240, 239, 219, 119, 109, 217, 3, 16, 31, 240, 239, 220, 119, 109,
- 217, 3, 16, 31, 240, 239, 245, 190, 109, 217, 3, 16, 31, 240, 239, 228,
- 197, 109, 217, 3, 16, 31, 240, 239, 215, 73, 109, 217, 3, 16, 31, 240,
- 239, 215, 67, 109, 217, 3, 16, 31, 240, 239, 215, 63, 109, 217, 3, 16,
- 31, 240, 239, 215, 64, 109, 217, 3, 16, 31, 240, 239, 215, 69, 42, 240,
- 230, 42, 248, 221, 42, 253, 192, 42, 130, 42, 226, 125, 42, 225, 225, 42,
- 247, 147, 42, 247, 148, 218, 233, 42, 247, 148, 249, 108, 42, 235, 156,
- 42, 245, 91, 229, 205, 241, 216, 42, 245, 91, 229, 205, 217, 174, 42,
- 245, 91, 229, 205, 217, 74, 42, 245, 91, 229, 205, 231, 70, 42, 249, 157,
- 42, 226, 90, 254, 125, 42, 197, 42, 230, 103, 61, 42, 184, 42, 176, 42,
- 234, 185, 42, 231, 129, 42, 243, 80, 42, 251, 18, 42, 234, 184, 42, 225,
- 150, 42, 229, 81, 42, 230, 103, 245, 6, 42, 230, 103, 243, 202, 42, 231,
- 15, 42, 234, 134, 42, 240, 163, 42, 234, 94, 42, 230, 232, 42, 242, 216,
- 42, 216, 119, 42, 230, 103, 156, 42, 230, 169, 42, 247, 157, 42, 234, 40,
- 42, 244, 45, 42, 228, 112, 42, 230, 103, 193, 42, 230, 166, 42, 249, 239,
- 42, 234, 34, 42, 230, 167, 218, 233, 42, 249, 240, 218, 233, 42, 232, 50,
- 218, 233, 42, 234, 35, 218, 233, 42, 230, 167, 249, 108, 42, 249, 240,
- 249, 108, 42, 232, 50, 249, 108, 42, 234, 35, 249, 108, 42, 232, 50, 117,
- 222, 91, 42, 232, 50, 117, 222, 92, 218, 233, 42, 190, 42, 233, 251, 42,
- 230, 105, 42, 242, 151, 42, 223, 176, 42, 223, 177, 117, 222, 91, 42,
- 223, 177, 117, 222, 92, 218, 233, 42, 224, 162, 42, 228, 13, 42, 230,
- 103, 222, 91, 42, 230, 104, 42, 224, 116, 42, 227, 176, 42, 230, 103,
- 214, 105, 42, 230, 49, 42, 233, 185, 42, 230, 50, 231, 74, 42, 224, 115,
- 42, 227, 175, 42, 230, 103, 212, 98, 42, 230, 43, 42, 233, 183, 42, 230,
- 44, 231, 74, 42, 235, 24, 226, 220, 42, 232, 50, 226, 220, 42, 254, 136,
- 42, 251, 160, 42, 250, 214, 42, 250, 191, 42, 251, 67, 117, 234, 134, 42,
- 249, 238, 42, 248, 142, 42, 242, 72, 42, 162, 42, 240, 231, 42, 235, 255,
- 42, 234, 47, 42, 234, 35, 250, 250, 42, 233, 219, 42, 232, 159, 42, 232,
- 158, 42, 232, 147, 42, 232, 63, 42, 231, 130, 219, 79, 42, 230, 196, 42,
- 230, 152, 42, 225, 148, 42, 225, 19, 42, 224, 219, 42, 224, 217, 42, 218,
- 227, 42, 218, 2, 42, 212, 24, 42, 214, 106, 117, 193, 42, 115, 117, 193,
- 109, 217, 3, 16, 31, 248, 146, 110, 109, 217, 3, 16, 31, 248, 146, 105,
- 109, 217, 3, 16, 31, 248, 146, 158, 109, 217, 3, 16, 31, 248, 146, 161,
- 109, 217, 3, 16, 31, 248, 146, 189, 109, 217, 3, 16, 31, 248, 146, 194,
- 109, 217, 3, 16, 31, 248, 146, 198, 109, 217, 3, 16, 31, 248, 146, 195,
- 109, 217, 3, 16, 31, 248, 146, 200, 109, 217, 3, 16, 31, 248, 146, 216,
- 247, 109, 217, 3, 16, 31, 248, 146, 245, 167, 109, 217, 3, 16, 31, 248,
- 146, 215, 76, 109, 217, 3, 16, 31, 248, 146, 216, 164, 109, 217, 3, 16,
- 31, 248, 146, 244, 5, 109, 217, 3, 16, 31, 248, 146, 244, 118, 109, 217,
- 3, 16, 31, 248, 146, 219, 119, 109, 217, 3, 16, 31, 248, 146, 220, 119,
- 109, 217, 3, 16, 31, 248, 146, 245, 190, 109, 217, 3, 16, 31, 248, 146,
- 228, 197, 109, 217, 3, 16, 31, 248, 146, 215, 73, 109, 217, 3, 16, 31,
- 248, 146, 215, 67, 109, 217, 3, 16, 31, 248, 146, 215, 63, 109, 217, 3,
- 16, 31, 248, 146, 215, 64, 109, 217, 3, 16, 31, 248, 146, 215, 69, 109,
- 217, 3, 16, 31, 248, 146, 215, 70, 109, 217, 3, 16, 31, 248, 146, 215,
- 65, 109, 217, 3, 16, 31, 248, 146, 215, 66, 109, 217, 3, 16, 31, 248,
- 146, 215, 72, 109, 217, 3, 16, 31, 248, 146, 215, 68, 109, 217, 3, 16,
- 31, 248, 146, 216, 162, 109, 217, 3, 16, 31, 248, 146, 216, 161, 42, 243,
- 118, 241, 192, 31, 216, 196, 249, 140, 241, 223, 241, 192, 31, 216, 196,
- 223, 122, 245, 223, 241, 192, 31, 247, 231, 253, 207, 216, 196, 252, 56,
- 241, 192, 31, 210, 223, 244, 38, 241, 192, 31, 212, 59, 241, 192, 31,
- 249, 203, 241, 192, 31, 216, 196, 254, 3, 241, 192, 31, 241, 60, 216, 38,
- 241, 192, 31, 4, 217, 61, 241, 192, 31, 215, 237, 241, 192, 31, 225, 219,
- 241, 192, 31, 218, 158, 241, 192, 31, 244, 139, 241, 192, 31, 242, 132,
- 224, 240, 241, 192, 31, 230, 155, 241, 192, 31, 245, 126, 241, 192, 31,
- 244, 39, 241, 192, 31, 211, 207, 226, 197, 216, 196, 248, 86, 241, 192,
- 31, 254, 51, 241, 192, 31, 249, 185, 241, 192, 31, 251, 227, 216, 138,
- 241, 192, 31, 242, 149, 241, 192, 31, 218, 245, 254, 70, 241, 192, 31,
- 223, 53, 241, 192, 31, 235, 220, 241, 192, 31, 242, 132, 217, 61, 241,
- 192, 31, 230, 111, 249, 159, 241, 192, 31, 242, 132, 224, 197, 241, 192,
- 31, 216, 196, 255, 18, 212, 40, 241, 192, 31, 216, 196, 250, 8, 244, 96,
- 241, 192, 31, 235, 233, 241, 192, 31, 246, 57, 241, 192, 31, 223, 56,
- 241, 192, 31, 242, 132, 224, 224, 241, 192, 31, 224, 177, 241, 192, 31,
- 248, 161, 64, 216, 196, 232, 230, 241, 192, 31, 216, 196, 244, 174, 241,
- 192, 31, 226, 163, 241, 192, 31, 226, 244, 241, 192, 31, 248, 59, 241,
- 192, 31, 248, 79, 241, 192, 31, 235, 247, 241, 192, 31, 251, 149, 241,
- 192, 31, 249, 221, 216, 42, 231, 76, 241, 192, 31, 243, 87, 216, 38, 241,
- 192, 31, 224, 125, 214, 154, 241, 192, 31, 226, 162, 241, 192, 31, 216,
- 196, 212, 13, 241, 192, 31, 223, 45, 241, 192, 31, 216, 196, 250, 220,
- 241, 192, 31, 216, 196, 253, 255, 216, 133, 241, 192, 31, 216, 196, 234,
- 179, 218, 134, 230, 115, 241, 192, 31, 248, 32, 241, 192, 31, 216, 196,
- 231, 152, 231, 202, 241, 192, 31, 255, 19, 241, 192, 31, 216, 196, 212,
- 54, 241, 192, 31, 216, 196, 243, 47, 211, 239, 241, 192, 31, 216, 196,
- 235, 52, 233, 107, 241, 192, 31, 247, 184, 241, 192, 31, 232, 220, 241,
- 192, 31, 235, 223, 215, 187, 241, 192, 31, 4, 224, 197, 241, 192, 31,
- 254, 217, 249, 212, 241, 192, 31, 252, 59, 249, 212, 8, 3, 235, 160, 8,
- 3, 235, 153, 8, 3, 73, 8, 3, 235, 182, 8, 3, 236, 58, 8, 3, 236, 41, 8,
- 3, 236, 60, 8, 3, 236, 59, 8, 3, 253, 206, 8, 3, 253, 169, 8, 3, 61, 8,
- 3, 254, 72, 8, 3, 214, 164, 8, 3, 214, 167, 8, 3, 214, 165, 8, 3, 226,
- 140, 8, 3, 226, 114, 8, 3, 76, 8, 3, 226, 175, 8, 3, 245, 35, 8, 3, 75,
- 8, 3, 211, 195, 8, 3, 251, 228, 8, 3, 251, 225, 8, 3, 252, 6, 8, 3, 251,
- 238, 8, 3, 251, 251, 8, 3, 251, 250, 8, 3, 251, 253, 8, 3, 251, 252, 8,
- 3, 252, 121, 8, 3, 252, 113, 8, 3, 252, 191, 8, 3, 252, 142, 8, 3, 251,
- 101, 8, 3, 251, 105, 8, 3, 251, 102, 8, 3, 251, 179, 8, 3, 251, 163, 8,
- 3, 251, 205, 8, 3, 251, 185, 8, 3, 252, 21, 8, 3, 252, 75, 8, 3, 252, 33,
- 8, 3, 251, 87, 8, 3, 251, 84, 8, 3, 251, 125, 8, 3, 251, 100, 8, 3, 251,
- 94, 8, 3, 251, 98, 8, 3, 251, 72, 8, 3, 251, 70, 8, 3, 251, 77, 8, 3,
- 251, 75, 8, 3, 251, 73, 8, 3, 251, 74, 8, 3, 225, 49, 8, 3, 225, 45, 8,
- 3, 225, 108, 8, 3, 225, 59, 8, 3, 225, 75, 8, 3, 225, 102, 8, 3, 225, 98,
- 8, 3, 225, 240, 8, 3, 225, 230, 8, 3, 190, 8, 3, 226, 21, 8, 3, 224, 135,
- 8, 3, 224, 137, 8, 3, 224, 136, 8, 3, 224, 233, 8, 3, 224, 222, 8, 3,
- 225, 16, 8, 3, 224, 245, 8, 3, 224, 121, 8, 3, 224, 117, 8, 3, 224, 150,
- 8, 3, 224, 134, 8, 3, 224, 126, 8, 3, 224, 132, 8, 3, 224, 100, 8, 3,
- 224, 99, 8, 3, 224, 104, 8, 3, 224, 103, 8, 3, 224, 101, 8, 3, 224, 102,
- 8, 3, 252, 96, 8, 3, 252, 95, 8, 3, 252, 102, 8, 3, 252, 97, 8, 3, 252,
- 99, 8, 3, 252, 98, 8, 3, 252, 101, 8, 3, 252, 100, 8, 3, 252, 108, 8, 3,
- 252, 107, 8, 3, 252, 111, 8, 3, 252, 109, 8, 3, 252, 87, 8, 3, 252, 89,
- 8, 3, 252, 88, 8, 3, 252, 92, 8, 3, 252, 91, 8, 3, 252, 94, 8, 3, 252,
- 93, 8, 3, 252, 103, 8, 3, 252, 106, 8, 3, 252, 104, 8, 3, 252, 83, 8, 3,
- 252, 82, 8, 3, 252, 90, 8, 3, 252, 86, 8, 3, 252, 84, 8, 3, 252, 85, 8,
- 3, 252, 79, 8, 3, 252, 78, 8, 3, 252, 81, 8, 3, 252, 80, 8, 3, 229, 169,
- 8, 3, 229, 168, 8, 3, 229, 174, 8, 3, 229, 170, 8, 3, 229, 171, 8, 3,
- 229, 173, 8, 3, 229, 172, 8, 3, 229, 177, 8, 3, 229, 176, 8, 3, 229, 179,
- 8, 3, 229, 178, 8, 3, 229, 165, 8, 3, 229, 164, 8, 3, 229, 167, 8, 3,
- 229, 166, 8, 3, 229, 158, 8, 3, 229, 157, 8, 3, 229, 162, 8, 3, 229, 161,
- 8, 3, 229, 159, 8, 3, 229, 160, 8, 3, 229, 152, 8, 3, 229, 151, 8, 3,
- 229, 156, 8, 3, 229, 155, 8, 3, 229, 153, 8, 3, 229, 154, 8, 3, 241, 110,
- 8, 3, 241, 109, 8, 3, 241, 115, 8, 3, 241, 111, 8, 3, 241, 112, 8, 3,
- 241, 114, 8, 3, 241, 113, 8, 3, 241, 118, 8, 3, 241, 117, 8, 3, 241, 120,
- 8, 3, 241, 119, 8, 3, 241, 101, 8, 3, 241, 103, 8, 3, 241, 102, 8, 3,
- 241, 106, 8, 3, 241, 105, 8, 3, 241, 108, 8, 3, 241, 107, 8, 3, 241, 97,
- 8, 3, 241, 96, 8, 3, 241, 104, 8, 3, 241, 100, 8, 3, 241, 98, 8, 3, 241,
- 99, 8, 3, 241, 91, 8, 3, 241, 95, 8, 3, 241, 94, 8, 3, 241, 92, 8, 3,
- 241, 93, 8, 3, 230, 172, 8, 3, 230, 171, 8, 3, 230, 230, 8, 3, 230, 178,
- 8, 3, 230, 203, 8, 3, 230, 221, 8, 3, 230, 219, 8, 3, 231, 139, 8, 3,
- 231, 134, 8, 3, 184, 8, 3, 231, 172, 8, 3, 230, 74, 8, 3, 230, 73, 8, 3,
- 230, 77, 8, 3, 230, 75, 8, 3, 230, 121, 8, 3, 230, 107, 8, 3, 230, 161,
- 8, 3, 230, 126, 8, 3, 231, 26, 8, 3, 231, 91, 8, 3, 230, 55, 8, 3, 230,
- 51, 8, 3, 230, 102, 8, 3, 230, 70, 8, 3, 230, 63, 8, 3, 230, 68, 8, 3,
- 230, 28, 8, 3, 230, 27, 8, 3, 230, 33, 8, 3, 230, 30, 8, 3, 244, 83, 8,
- 3, 244, 78, 8, 3, 244, 121, 8, 3, 244, 98, 8, 3, 244, 167, 8, 3, 244,
- 158, 8, 3, 244, 196, 8, 3, 244, 170, 8, 3, 244, 3, 8, 3, 244, 43, 8, 3,
- 244, 27, 8, 3, 243, 218, 8, 3, 243, 217, 8, 3, 243, 234, 8, 3, 243, 223,
- 8, 3, 243, 221, 8, 3, 243, 222, 8, 3, 243, 205, 8, 3, 243, 204, 8, 3,
- 243, 208, 8, 3, 243, 206, 8, 3, 213, 144, 8, 3, 213, 139, 8, 3, 213, 176,
- 8, 3, 213, 153, 8, 3, 213, 166, 8, 3, 213, 163, 8, 3, 213, 168, 8, 3,
- 213, 167, 8, 3, 214, 7, 8, 3, 214, 2, 8, 3, 214, 27, 8, 3, 214, 18, 8, 3,
- 213, 125, 8, 3, 213, 121, 8, 3, 213, 138, 8, 3, 213, 126, 8, 3, 213, 178,
- 8, 3, 213, 244, 8, 3, 212, 110, 8, 3, 212, 108, 8, 3, 212, 116, 8, 3,
- 212, 113, 8, 3, 212, 111, 8, 3, 212, 112, 8, 3, 212, 102, 8, 3, 212, 101,
- 8, 3, 212, 106, 8, 3, 212, 105, 8, 3, 212, 103, 8, 3, 212, 104, 8, 3,
- 247, 178, 8, 3, 247, 166, 8, 3, 248, 3, 8, 3, 247, 203, 8, 3, 247, 236,
- 8, 3, 247, 240, 8, 3, 247, 239, 8, 3, 248, 152, 8, 3, 248, 147, 8, 3,
- 248, 221, 8, 3, 248, 172, 8, 3, 246, 62, 8, 3, 246, 63, 8, 3, 247, 120,
- 8, 3, 246, 102, 8, 3, 247, 145, 8, 3, 247, 122, 8, 3, 248, 30, 8, 3, 248,
- 90, 8, 3, 248, 45, 8, 3, 246, 53, 8, 3, 246, 51, 8, 3, 246, 78, 8, 3,
- 246, 61, 8, 3, 246, 56, 8, 3, 246, 59, 8, 3, 216, 67, 8, 3, 216, 61, 8,
- 3, 216, 117, 8, 3, 216, 76, 8, 3, 216, 109, 8, 3, 216, 111, 8, 3, 216,
- 110, 8, 3, 217, 46, 8, 3, 217, 33, 8, 3, 217, 105, 8, 3, 217, 54, 8, 3,
- 215, 102, 8, 3, 215, 101, 8, 3, 215, 104, 8, 3, 215, 103, 8, 3, 216, 5,
- 8, 3, 216, 1, 8, 3, 111, 8, 3, 216, 13, 8, 3, 216, 213, 8, 3, 217, 22, 8,
- 3, 216, 237, 8, 3, 215, 88, 8, 3, 215, 83, 8, 3, 215, 118, 8, 3, 215,
- 100, 8, 3, 215, 89, 8, 3, 215, 98, 8, 3, 248, 107, 8, 3, 248, 106, 8, 3,
- 248, 112, 8, 3, 248, 108, 8, 3, 248, 109, 8, 3, 248, 111, 8, 3, 248, 110,
- 8, 3, 248, 128, 8, 3, 248, 127, 8, 3, 248, 135, 8, 3, 248, 129, 8, 3,
- 248, 97, 8, 3, 248, 99, 8, 3, 248, 98, 8, 3, 248, 102, 8, 3, 248, 101, 8,
- 3, 248, 105, 8, 3, 248, 103, 8, 3, 248, 120, 8, 3, 248, 123, 8, 3, 248,
- 121, 8, 3, 248, 93, 8, 3, 248, 92, 8, 3, 248, 100, 8, 3, 248, 96, 8, 3,
- 248, 94, 8, 3, 248, 95, 8, 3, 229, 126, 8, 3, 229, 125, 8, 3, 229, 133,
- 8, 3, 229, 128, 8, 3, 229, 129, 8, 3, 229, 130, 8, 3, 229, 142, 8, 3,
- 229, 141, 8, 3, 229, 148, 8, 3, 229, 143, 8, 3, 229, 118, 8, 3, 229, 117,
- 8, 3, 229, 124, 8, 3, 229, 119, 8, 3, 229, 134, 8, 3, 229, 140, 8, 3,
- 229, 138, 8, 3, 229, 110, 8, 3, 229, 109, 8, 3, 229, 115, 8, 3, 229, 113,
- 8, 3, 229, 111, 8, 3, 229, 112, 8, 3, 241, 77, 8, 3, 241, 76, 8, 3, 241,
- 83, 8, 3, 241, 78, 8, 3, 241, 80, 8, 3, 241, 79, 8, 3, 241, 82, 8, 3,
- 241, 81, 8, 3, 241, 88, 8, 3, 241, 87, 8, 3, 241, 90, 8, 3, 241, 89, 8,
- 3, 241, 71, 8, 3, 241, 72, 8, 3, 241, 74, 8, 3, 241, 73, 8, 3, 241, 75,
- 8, 3, 241, 84, 8, 3, 241, 86, 8, 3, 241, 85, 8, 3, 241, 70, 8, 3, 228,
- 189, 8, 3, 228, 187, 8, 3, 228, 233, 8, 3, 228, 192, 8, 3, 228, 215, 8,
- 3, 228, 229, 8, 3, 228, 228, 8, 3, 229, 183, 8, 3, 197, 8, 3, 229, 197,
- 8, 3, 227, 186, 8, 3, 227, 188, 8, 3, 227, 187, 8, 3, 228, 51, 8, 3, 228,
- 38, 8, 3, 228, 74, 8, 3, 228, 60, 8, 3, 229, 83, 8, 3, 229, 107, 8, 3,
- 229, 94, 8, 3, 227, 181, 8, 3, 227, 177, 8, 3, 227, 237, 8, 3, 227, 185,
- 8, 3, 227, 183, 8, 3, 227, 184, 8, 3, 241, 141, 8, 3, 241, 140, 8, 3,
- 241, 146, 8, 3, 241, 142, 8, 3, 241, 143, 8, 3, 241, 145, 8, 3, 241, 144,
- 8, 3, 241, 151, 8, 3, 241, 150, 8, 3, 241, 153, 8, 3, 241, 152, 8, 3,
- 241, 133, 8, 3, 241, 135, 8, 3, 241, 134, 8, 3, 241, 137, 8, 3, 241, 139,
- 8, 3, 241, 138, 8, 3, 241, 147, 8, 3, 241, 149, 8, 3, 241, 148, 8, 3,
- 241, 129, 8, 3, 241, 128, 8, 3, 241, 136, 8, 3, 241, 132, 8, 3, 241, 130,
- 8, 3, 241, 131, 8, 3, 241, 123, 8, 3, 241, 122, 8, 3, 241, 127, 8, 3,
- 241, 126, 8, 3, 241, 124, 8, 3, 241, 125, 8, 3, 232, 195, 8, 3, 232, 189,
- 8, 3, 232, 241, 8, 3, 232, 202, 8, 3, 232, 233, 8, 3, 232, 232, 8, 3,
- 232, 236, 8, 3, 232, 234, 8, 3, 233, 79, 8, 3, 233, 69, 8, 3, 233, 135,
- 8, 3, 233, 88, 8, 3, 232, 79, 8, 3, 232, 78, 8, 3, 232, 81, 8, 3, 232,
- 80, 8, 3, 232, 116, 8, 3, 232, 106, 8, 3, 232, 156, 8, 3, 232, 120, 8, 3,
- 233, 2, 8, 3, 233, 58, 8, 3, 233, 17, 8, 3, 232, 74, 8, 3, 232, 72, 8, 3,
- 232, 98, 8, 3, 232, 77, 8, 3, 232, 75, 8, 3, 232, 76, 8, 3, 232, 54, 8,
- 3, 232, 53, 8, 3, 232, 62, 8, 3, 232, 57, 8, 3, 232, 55, 8, 3, 232, 56,
- 8, 3, 242, 189, 8, 3, 242, 188, 8, 3, 242, 214, 8, 3, 242, 199, 8, 3,
- 242, 206, 8, 3, 242, 205, 8, 3, 242, 208, 8, 3, 242, 207, 8, 3, 243, 89,
- 8, 3, 243, 84, 8, 3, 243, 135, 8, 3, 243, 99, 8, 3, 242, 91, 8, 3, 242,
- 90, 8, 3, 242, 93, 8, 3, 242, 92, 8, 3, 242, 154, 8, 3, 242, 152, 8, 3,
- 242, 174, 8, 3, 242, 162, 8, 3, 243, 33, 8, 3, 243, 31, 8, 3, 243, 62, 8,
- 3, 243, 44, 8, 3, 242, 81, 8, 3, 242, 80, 8, 3, 242, 113, 8, 3, 242, 89,
- 8, 3, 242, 82, 8, 3, 242, 88, 8, 3, 234, 61, 8, 3, 234, 60, 8, 3, 234,
- 92, 8, 3, 234, 75, 8, 3, 234, 85, 8, 3, 234, 88, 8, 3, 234, 86, 8, 3,
- 234, 202, 8, 3, 234, 190, 8, 3, 176, 8, 3, 234, 228, 8, 3, 233, 200, 8,
- 3, 233, 205, 8, 3, 233, 202, 8, 3, 234, 0, 8, 3, 233, 252, 8, 3, 234, 28,
- 8, 3, 234, 7, 8, 3, 234, 156, 8, 3, 234, 140, 8, 3, 234, 182, 8, 3, 234,
- 159, 8, 3, 233, 189, 8, 3, 233, 186, 8, 3, 233, 217, 8, 3, 233, 199, 8,
- 3, 233, 192, 8, 3, 233, 196, 8, 3, 243, 15, 8, 3, 243, 14, 8, 3, 243, 19,
- 8, 3, 243, 16, 8, 3, 243, 18, 8, 3, 243, 17, 8, 3, 243, 26, 8, 3, 243,
- 25, 8, 3, 243, 29, 8, 3, 243, 27, 8, 3, 243, 6, 8, 3, 243, 5, 8, 3, 243,
- 8, 8, 3, 243, 7, 8, 3, 243, 11, 8, 3, 243, 10, 8, 3, 243, 13, 8, 3, 243,
- 12, 8, 3, 243, 21, 8, 3, 243, 20, 8, 3, 243, 24, 8, 3, 243, 22, 8, 3,
- 243, 1, 8, 3, 243, 0, 8, 3, 243, 9, 8, 3, 243, 4, 8, 3, 243, 2, 8, 3,
- 243, 3, 8, 3, 230, 249, 8, 3, 230, 250, 8, 3, 231, 12, 8, 3, 231, 11, 8,
- 3, 231, 14, 8, 3, 231, 13, 8, 3, 230, 240, 8, 3, 230, 242, 8, 3, 230,
- 241, 8, 3, 230, 245, 8, 3, 230, 244, 8, 3, 230, 247, 8, 3, 230, 246, 8,
- 3, 230, 251, 8, 3, 230, 253, 8, 3, 230, 252, 8, 3, 230, 236, 8, 3, 230,
- 235, 8, 3, 230, 243, 8, 3, 230, 239, 8, 3, 230, 237, 8, 3, 230, 238, 8,
- 3, 240, 180, 8, 3, 240, 179, 8, 3, 240, 186, 8, 3, 240, 181, 8, 3, 240,
- 183, 8, 3, 240, 182, 8, 3, 240, 185, 8, 3, 240, 184, 8, 3, 240, 191, 8,
- 3, 240, 190, 8, 3, 240, 193, 8, 3, 240, 192, 8, 3, 240, 172, 8, 3, 240,
- 171, 8, 3, 240, 174, 8, 3, 240, 173, 8, 3, 240, 176, 8, 3, 240, 175, 8,
- 3, 240, 178, 8, 3, 240, 177, 8, 3, 240, 187, 8, 3, 240, 189, 8, 3, 240,
- 188, 8, 3, 229, 24, 8, 3, 229, 26, 8, 3, 229, 25, 8, 3, 229, 67, 8, 3,
- 229, 65, 8, 3, 229, 77, 8, 3, 229, 70, 8, 3, 228, 243, 8, 3, 228, 242, 8,
- 3, 228, 244, 8, 3, 228, 252, 8, 3, 228, 249, 8, 3, 229, 4, 8, 3, 228,
- 254, 8, 3, 229, 58, 8, 3, 229, 64, 8, 3, 229, 60, 8, 3, 241, 156, 8, 3,
- 241, 166, 8, 3, 241, 175, 8, 3, 241, 251, 8, 3, 241, 243, 8, 3, 162, 8,
- 3, 242, 6, 8, 3, 240, 206, 8, 3, 240, 205, 8, 3, 240, 208, 8, 3, 240,
- 207, 8, 3, 240, 242, 8, 3, 240, 233, 8, 3, 241, 68, 8, 3, 241, 47, 8, 3,
- 241, 194, 8, 3, 241, 238, 8, 3, 241, 206, 8, 3, 212, 43, 8, 3, 212, 28,
- 8, 3, 212, 65, 8, 3, 212, 51, 8, 3, 211, 185, 8, 3, 211, 187, 8, 3, 211,
- 186, 8, 3, 211, 203, 8, 3, 211, 227, 8, 3, 211, 210, 8, 3, 212, 5, 8, 3,
- 212, 22, 8, 3, 212, 10, 8, 3, 210, 30, 8, 3, 210, 29, 8, 3, 210, 44, 8,
- 3, 210, 32, 8, 3, 210, 37, 8, 3, 210, 39, 8, 3, 210, 38, 8, 3, 210, 102,
- 8, 3, 210, 99, 8, 3, 210, 116, 8, 3, 210, 105, 8, 3, 210, 6, 8, 3, 210,
- 8, 8, 3, 210, 7, 8, 3, 210, 19, 8, 3, 210, 18, 8, 3, 210, 23, 8, 3, 210,
- 20, 8, 3, 210, 84, 8, 3, 210, 94, 8, 3, 210, 88, 8, 3, 210, 2, 8, 3, 210,
- 1, 8, 3, 210, 13, 8, 3, 210, 5, 8, 3, 210, 3, 8, 3, 210, 4, 8, 3, 209,
- 245, 8, 3, 209, 244, 8, 3, 209, 250, 8, 3, 209, 248, 8, 3, 209, 246, 8,
- 3, 209, 247, 8, 3, 250, 28, 8, 3, 250, 24, 8, 3, 250, 51, 8, 3, 250, 37,
- 8, 3, 250, 48, 8, 3, 250, 42, 8, 3, 250, 50, 8, 3, 250, 49, 8, 3, 250,
- 224, 8, 3, 250, 217, 8, 3, 251, 33, 8, 3, 250, 251, 8, 3, 249, 104, 8, 3,
- 249, 106, 8, 3, 249, 105, 8, 3, 249, 153, 8, 3, 249, 144, 8, 3, 249, 238,
- 8, 3, 249, 169, 8, 3, 250, 160, 8, 3, 250, 190, 8, 3, 250, 165, 8, 3,
- 249, 84, 8, 3, 249, 82, 8, 3, 249, 112, 8, 3, 249, 102, 8, 3, 249, 89, 8,
- 3, 249, 101, 8, 3, 249, 63, 8, 3, 249, 62, 8, 3, 249, 73, 8, 3, 249, 69,
- 8, 3, 249, 64, 8, 3, 249, 66, 8, 3, 209, 228, 8, 3, 209, 227, 8, 3, 209,
- 234, 8, 3, 209, 229, 8, 3, 209, 231, 8, 3, 209, 230, 8, 3, 209, 233, 8,
- 3, 209, 232, 8, 3, 209, 240, 8, 3, 209, 239, 8, 3, 209, 243, 8, 3, 209,
- 241, 8, 3, 209, 224, 8, 3, 209, 226, 8, 3, 209, 225, 8, 3, 209, 235, 8,
- 3, 209, 238, 8, 3, 209, 236, 8, 3, 209, 217, 8, 3, 209, 221, 8, 3, 209,
- 220, 8, 3, 209, 218, 8, 3, 209, 219, 8, 3, 209, 211, 8, 3, 209, 210, 8,
- 3, 209, 216, 8, 3, 209, 214, 8, 3, 209, 212, 8, 3, 209, 213, 8, 3, 227,
- 104, 8, 3, 227, 103, 8, 3, 227, 109, 8, 3, 227, 105, 8, 3, 227, 106, 8,
- 3, 227, 108, 8, 3, 227, 107, 8, 3, 227, 114, 8, 3, 227, 113, 8, 3, 227,
- 117, 8, 3, 227, 116, 8, 3, 227, 97, 8, 3, 227, 98, 8, 3, 227, 101, 8, 3,
- 227, 102, 8, 3, 227, 110, 8, 3, 227, 112, 8, 3, 227, 92, 8, 3, 227, 100,
- 8, 3, 227, 96, 8, 3, 227, 93, 8, 3, 227, 94, 8, 3, 227, 87, 8, 3, 227,
- 86, 8, 3, 227, 91, 8, 3, 227, 90, 8, 3, 227, 88, 8, 3, 227, 89, 8, 3,
- 219, 127, 8, 3, 194, 8, 3, 219, 191, 8, 3, 219, 130, 8, 3, 219, 183, 8,
- 3, 219, 186, 8, 3, 219, 184, 8, 3, 221, 226, 8, 3, 221, 214, 8, 3, 206,
- 8, 3, 221, 234, 8, 3, 218, 28, 8, 3, 218, 30, 8, 3, 218, 29, 8, 3, 219,
- 34, 8, 3, 219, 23, 8, 3, 219, 58, 8, 3, 219, 38, 8, 3, 220, 114, 8, 3,
- 221, 181, 8, 3, 220, 139, 8, 3, 218, 5, 8, 3, 218, 3, 8, 3, 218, 83, 8,
- 3, 218, 27, 8, 3, 218, 9, 8, 3, 218, 17, 8, 3, 217, 166, 8, 3, 217, 165,
- 8, 3, 217, 232, 8, 3, 217, 173, 8, 3, 217, 168, 8, 3, 217, 172, 8, 3,
- 218, 186, 8, 3, 218, 185, 8, 3, 218, 192, 8, 3, 218, 187, 8, 3, 218, 189,
- 8, 3, 218, 191, 8, 3, 218, 190, 8, 3, 218, 200, 8, 3, 218, 198, 8, 3,
- 218, 223, 8, 3, 218, 201, 8, 3, 218, 181, 8, 3, 218, 180, 8, 3, 218, 184,
- 8, 3, 218, 182, 8, 3, 218, 194, 8, 3, 218, 197, 8, 3, 218, 195, 8, 3,
- 218, 177, 8, 3, 218, 175, 8, 3, 218, 179, 8, 3, 218, 178, 8, 3, 218, 170,
- 8, 3, 218, 169, 8, 3, 218, 174, 8, 3, 218, 173, 8, 3, 218, 171, 8, 3,
- 218, 172, 8, 3, 210, 77, 8, 3, 210, 76, 8, 3, 210, 82, 8, 3, 210, 79, 8,
- 3, 210, 59, 8, 3, 210, 61, 8, 3, 210, 60, 8, 3, 210, 64, 8, 3, 210, 63,
- 8, 3, 210, 67, 8, 3, 210, 65, 8, 3, 210, 71, 8, 3, 210, 70, 8, 3, 210,
- 74, 8, 3, 210, 72, 8, 3, 210, 55, 8, 3, 210, 54, 8, 3, 210, 62, 8, 3,
- 210, 58, 8, 3, 210, 56, 8, 3, 210, 57, 8, 3, 210, 47, 8, 3, 210, 46, 8,
- 3, 210, 51, 8, 3, 210, 50, 8, 3, 210, 48, 8, 3, 210, 49, 8, 3, 250, 136,
- 8, 3, 250, 133, 8, 3, 250, 157, 8, 3, 250, 144, 8, 3, 250, 65, 8, 3, 250,
- 64, 8, 3, 250, 67, 8, 3, 250, 66, 8, 3, 250, 79, 8, 3, 250, 78, 8, 3,
- 250, 86, 8, 3, 250, 81, 8, 3, 250, 115, 8, 3, 250, 113, 8, 3, 250, 131,
- 8, 3, 250, 121, 8, 3, 250, 59, 8, 3, 250, 69, 8, 3, 250, 63, 8, 3, 250,
- 60, 8, 3, 250, 62, 8, 3, 250, 53, 8, 3, 250, 52, 8, 3, 250, 57, 8, 3,
- 250, 56, 8, 3, 250, 54, 8, 3, 250, 55, 8, 3, 222, 175, 8, 3, 222, 179, 8,
- 3, 222, 158, 8, 3, 222, 159, 8, 3, 222, 162, 8, 3, 222, 161, 8, 3, 222,
- 165, 8, 3, 222, 163, 8, 3, 222, 169, 8, 3, 222, 168, 8, 3, 222, 174, 8,
- 3, 222, 170, 8, 3, 222, 154, 8, 3, 222, 152, 8, 3, 222, 160, 8, 3, 222,
- 157, 8, 3, 222, 155, 8, 3, 222, 156, 8, 3, 222, 147, 8, 3, 222, 146, 8,
- 3, 222, 151, 8, 3, 222, 150, 8, 3, 222, 148, 8, 3, 222, 149, 8, 3, 228,
- 34, 8, 3, 228, 33, 8, 3, 228, 36, 8, 3, 228, 35, 8, 3, 228, 26, 8, 3,
- 228, 28, 8, 3, 228, 27, 8, 3, 228, 30, 8, 3, 228, 29, 8, 3, 228, 32, 8,
- 3, 228, 31, 8, 3, 228, 21, 8, 3, 228, 20, 8, 3, 228, 25, 8, 3, 228, 24,
- 8, 3, 228, 22, 8, 3, 228, 23, 8, 3, 228, 15, 8, 3, 228, 14, 8, 3, 228,
- 19, 8, 3, 228, 18, 8, 3, 228, 16, 8, 3, 228, 17, 8, 3, 220, 72, 8, 3,
- 220, 67, 8, 3, 220, 102, 8, 3, 220, 83, 8, 3, 219, 215, 8, 3, 219, 217,
- 8, 3, 219, 216, 8, 3, 219, 236, 8, 3, 219, 233, 8, 3, 220, 7, 8, 3, 219,
- 254, 8, 3, 220, 42, 8, 3, 220, 35, 8, 3, 220, 63, 8, 3, 220, 50, 8, 3,
- 219, 211, 8, 3, 219, 209, 8, 3, 219, 225, 8, 3, 219, 214, 8, 3, 219, 212,
- 8, 3, 219, 213, 8, 3, 219, 194, 8, 3, 219, 193, 8, 3, 219, 200, 8, 3,
- 219, 197, 8, 3, 219, 195, 8, 3, 219, 196, 8, 3, 223, 141, 8, 3, 223, 135,
- 8, 3, 205, 8, 3, 223, 147, 8, 3, 222, 120, 8, 3, 222, 122, 8, 3, 222,
- 121, 8, 3, 222, 188, 8, 3, 222, 181, 8, 3, 222, 211, 8, 3, 222, 192, 8,
- 3, 223, 43, 8, 3, 223, 128, 8, 3, 223, 81, 8, 3, 222, 113, 8, 3, 222,
- 110, 8, 3, 222, 140, 8, 3, 222, 119, 8, 3, 222, 115, 8, 3, 222, 116, 8,
- 3, 222, 95, 8, 3, 222, 94, 8, 3, 222, 100, 8, 3, 222, 98, 8, 3, 222, 96,
- 8, 3, 222, 97, 8, 3, 235, 98, 8, 3, 235, 97, 8, 3, 235, 108, 8, 3, 235,
- 99, 8, 3, 235, 104, 8, 3, 235, 103, 8, 3, 235, 106, 8, 3, 235, 105, 8, 3,
- 235, 41, 8, 3, 235, 40, 8, 3, 235, 43, 8, 3, 235, 42, 8, 3, 235, 56, 8,
- 3, 235, 54, 8, 3, 235, 68, 8, 3, 235, 58, 8, 3, 235, 34, 8, 3, 235, 32,
- 8, 3, 235, 51, 8, 3, 235, 39, 8, 3, 235, 36, 8, 3, 235, 37, 8, 3, 235,
- 26, 8, 3, 235, 25, 8, 3, 235, 30, 8, 3, 235, 29, 8, 3, 235, 27, 8, 3,
- 235, 28, 8, 3, 224, 46, 8, 3, 224, 44, 8, 3, 224, 53, 8, 3, 224, 47, 8,
- 3, 224, 50, 8, 3, 224, 49, 8, 3, 224, 52, 8, 3, 224, 51, 8, 3, 223, 255,
- 8, 3, 223, 252, 8, 3, 224, 1, 8, 3, 224, 0, 8, 3, 224, 33, 8, 3, 224, 32,
- 8, 3, 224, 42, 8, 3, 224, 36, 8, 3, 223, 247, 8, 3, 223, 243, 8, 3, 224,
- 30, 8, 3, 223, 251, 8, 3, 223, 249, 8, 3, 223, 250, 8, 3, 223, 227, 8, 3,
- 223, 225, 8, 3, 223, 237, 8, 3, 223, 230, 8, 3, 223, 228, 8, 3, 223, 229,
- 8, 3, 235, 87, 8, 3, 235, 86, 8, 3, 235, 93, 8, 3, 235, 88, 8, 3, 235,
- 90, 8, 3, 235, 89, 8, 3, 235, 92, 8, 3, 235, 91, 8, 3, 235, 78, 8, 3,
- 235, 80, 8, 3, 235, 79, 8, 3, 235, 83, 8, 3, 235, 82, 8, 3, 235, 85, 8,
- 3, 235, 84, 8, 3, 235, 74, 8, 3, 235, 73, 8, 3, 235, 81, 8, 3, 235, 77,
- 8, 3, 235, 75, 8, 3, 235, 76, 8, 3, 235, 70, 8, 3, 235, 69, 8, 3, 235,
- 72, 8, 3, 235, 71, 8, 3, 228, 162, 8, 3, 228, 161, 8, 3, 228, 169, 8, 3,
- 228, 163, 8, 3, 228, 165, 8, 3, 228, 164, 8, 3, 228, 168, 8, 3, 228, 166,
- 8, 3, 228, 151, 8, 3, 228, 152, 8, 3, 228, 157, 8, 3, 228, 156, 8, 3,
- 228, 160, 8, 3, 228, 158, 8, 3, 228, 146, 8, 3, 228, 155, 8, 3, 228, 150,
- 8, 3, 228, 147, 8, 3, 228, 148, 8, 3, 228, 141, 8, 3, 228, 140, 8, 3,
- 228, 145, 8, 3, 228, 144, 8, 3, 228, 142, 8, 3, 228, 143, 8, 3, 227, 137,
- 8, 3, 227, 136, 8, 3, 227, 148, 8, 3, 227, 141, 8, 3, 227, 145, 8, 3,
- 227, 144, 8, 3, 227, 147, 8, 3, 227, 146, 8, 3, 227, 124, 8, 3, 227, 126,
- 8, 3, 227, 125, 8, 3, 227, 130, 8, 3, 227, 129, 8, 3, 227, 134, 8, 3,
- 227, 131, 8, 3, 227, 122, 8, 3, 227, 120, 8, 3, 227, 128, 8, 3, 227, 123,
- 8, 3, 211, 150, 8, 3, 211, 149, 8, 3, 211, 157, 8, 3, 211, 152, 8, 3,
- 211, 154, 8, 3, 211, 153, 8, 3, 211, 156, 8, 3, 211, 155, 8, 3, 211, 139,
- 8, 3, 211, 140, 8, 3, 211, 144, 8, 3, 211, 143, 8, 3, 211, 148, 8, 3,
- 211, 146, 8, 3, 211, 121, 8, 3, 211, 119, 8, 3, 211, 131, 8, 3, 211, 124,
- 8, 3, 211, 122, 8, 3, 211, 123, 8, 3, 210, 250, 8, 3, 210, 248, 8, 3,
- 211, 8, 8, 3, 210, 251, 8, 3, 211, 2, 8, 3, 211, 1, 8, 3, 211, 5, 8, 3,
- 211, 3, 8, 3, 210, 191, 8, 3, 210, 190, 8, 3, 210, 194, 8, 3, 210, 192,
- 8, 3, 210, 224, 8, 3, 210, 221, 8, 3, 210, 244, 8, 3, 210, 228, 8, 3,
- 210, 182, 8, 3, 210, 178, 8, 3, 210, 212, 8, 3, 210, 189, 8, 3, 210, 185,
- 8, 3, 210, 186, 8, 3, 210, 162, 8, 3, 210, 161, 8, 3, 210, 169, 8, 3,
- 210, 165, 8, 3, 210, 163, 8, 3, 210, 164, 8, 34, 224, 33, 8, 34, 232,
- 241, 8, 34, 234, 61, 8, 34, 227, 141, 8, 34, 249, 69, 8, 34, 218, 192, 8,
- 34, 243, 12, 8, 34, 243, 44, 8, 34, 230, 230, 8, 34, 240, 180, 8, 34,
- 232, 56, 8, 34, 252, 83, 8, 34, 230, 126, 8, 34, 210, 244, 8, 34, 224,
- 121, 8, 34, 240, 174, 8, 34, 217, 46, 8, 34, 243, 135, 8, 34, 210, 5, 8,
- 34, 249, 63, 8, 34, 248, 95, 8, 34, 251, 98, 8, 34, 243, 8, 8, 34, 227,
- 131, 8, 34, 215, 118, 8, 34, 226, 175, 8, 34, 235, 74, 8, 34, 210, 19, 8,
- 34, 224, 100, 8, 34, 241, 108, 8, 34, 210, 250, 8, 34, 212, 112, 8, 34,
- 219, 200, 8, 34, 213, 244, 8, 34, 210, 116, 8, 34, 235, 68, 8, 34, 227,
- 96, 8, 34, 235, 72, 8, 34, 242, 154, 8, 34, 235, 92, 8, 34, 211, 227, 8,
- 34, 246, 78, 8, 34, 219, 213, 8, 34, 232, 236, 8, 34, 249, 73, 8, 34,
- 249, 105, 8, 34, 250, 37, 8, 34, 240, 177, 8, 34, 220, 72, 8, 34, 210, 4,
- 8, 34, 219, 254, 8, 34, 250, 131, 8, 34, 209, 231, 8, 34, 229, 173, 8,
- 34, 234, 182, 232, 196, 1, 252, 191, 232, 196, 1, 190, 232, 196, 1, 225,
- 147, 232, 196, 1, 248, 221, 232, 196, 1, 217, 105, 232, 196, 1, 216, 208,
- 232, 196, 1, 243, 135, 232, 196, 1, 176, 232, 196, 1, 234, 132, 232, 196,
- 1, 235, 141, 232, 196, 1, 251, 33, 232, 196, 1, 250, 157, 232, 196, 1,
- 246, 38, 232, 196, 1, 215, 183, 232, 196, 1, 215, 175, 232, 196, 1, 184,
- 232, 196, 1, 197, 232, 196, 1, 233, 135, 232, 196, 1, 206, 232, 196, 1,
- 210, 82, 232, 196, 1, 210, 116, 232, 196, 1, 229, 77, 232, 196, 1, 162,
- 232, 196, 1, 211, 165, 232, 196, 1, 241, 189, 232, 196, 1, 244, 196, 232,
- 196, 1, 212, 65, 232, 196, 1, 220, 102, 232, 196, 1, 191, 232, 196, 1,
- 242, 249, 232, 196, 1, 61, 232, 196, 1, 254, 243, 232, 196, 1, 75, 232,
- 196, 1, 245, 55, 232, 196, 1, 73, 232, 196, 1, 76, 232, 196, 1, 70, 232,
- 196, 1, 214, 214, 232, 196, 1, 214, 208, 232, 196, 1, 226, 234, 232, 196,
- 1, 138, 230, 32, 216, 117, 232, 196, 1, 138, 229, 229, 225, 16, 232, 196,
- 1, 138, 230, 32, 249, 72, 232, 196, 1, 138, 230, 32, 251, 205, 232, 196,
- 1, 138, 230, 32, 197, 232, 196, 1, 138, 230, 32, 235, 115, 232, 196, 224,
- 141, 249, 219, 232, 196, 224, 141, 243, 229, 218, 129, 41, 3, 245, 209,
- 41, 3, 245, 205, 41, 3, 241, 220, 41, 3, 212, 17, 41, 3, 212, 16, 41, 3,
- 225, 211, 41, 3, 252, 13, 41, 3, 252, 66, 41, 3, 231, 116, 41, 3, 233,
- 247, 41, 3, 231, 6, 41, 3, 243, 75, 41, 3, 244, 147, 41, 3, 213, 250, 41,
- 3, 217, 11, 41, 3, 216, 194, 41, 3, 248, 16, 41, 3, 248, 13, 41, 3, 233,
- 50, 41, 3, 223, 108, 41, 3, 248, 77, 41, 3, 229, 139, 41, 3, 221, 170,
- 41, 3, 220, 61, 41, 3, 210, 92, 41, 3, 210, 73, 41, 3, 250, 182, 41, 3,
- 235, 124, 41, 3, 228, 176, 41, 3, 211, 44, 41, 3, 234, 181, 41, 3, 229,
- 51, 41, 3, 243, 55, 41, 3, 231, 80, 41, 3, 229, 103, 41, 3, 227, 155, 41,
- 3, 73, 41, 3, 235, 255, 41, 3, 241, 180, 41, 3, 241, 160, 41, 3, 211,
- 250, 41, 3, 211, 241, 41, 3, 225, 108, 41, 3, 252, 11, 41, 3, 252, 6, 41,
- 3, 231, 109, 41, 3, 233, 244, 41, 3, 231, 3, 41, 3, 243, 71, 41, 3, 244,
- 121, 41, 3, 213, 176, 41, 3, 216, 117, 41, 3, 216, 175, 41, 3, 248, 8,
- 41, 3, 248, 12, 41, 3, 232, 241, 41, 3, 223, 35, 41, 3, 248, 3, 41, 3,
- 229, 133, 41, 3, 219, 191, 41, 3, 220, 32, 41, 3, 210, 44, 41, 3, 210,
- 69, 41, 3, 250, 51, 41, 3, 235, 108, 41, 3, 228, 169, 41, 3, 211, 8, 41,
- 3, 234, 92, 41, 3, 229, 43, 41, 3, 242, 214, 41, 3, 230, 230, 41, 3, 228,
- 233, 41, 3, 227, 148, 41, 3, 61, 41, 3, 254, 123, 41, 3, 229, 72, 41, 3,
- 162, 41, 3, 242, 18, 41, 3, 212, 65, 41, 3, 212, 55, 41, 3, 190, 41, 3,
- 252, 18, 41, 3, 252, 191, 41, 3, 231, 124, 41, 3, 233, 251, 41, 3, 233,
- 250, 41, 3, 231, 10, 41, 3, 243, 79, 41, 3, 244, 196, 41, 3, 214, 27, 41,
- 3, 217, 105, 41, 3, 216, 208, 41, 3, 248, 25, 41, 3, 248, 15, 41, 3, 233,
- 135, 41, 3, 205, 41, 3, 248, 221, 41, 3, 229, 148, 41, 3, 206, 41, 3,
- 220, 102, 41, 3, 210, 116, 41, 3, 210, 82, 41, 3, 251, 33, 41, 3, 235,
- 141, 41, 3, 228, 185, 41, 3, 191, 41, 3, 176, 41, 3, 234, 234, 41, 3,
- 229, 56, 41, 3, 243, 135, 41, 3, 184, 41, 3, 197, 41, 3, 227, 165, 41, 3,
- 226, 183, 41, 3, 226, 179, 41, 3, 241, 53, 41, 3, 211, 215, 41, 3, 211,
- 211, 41, 3, 224, 249, 41, 3, 252, 9, 41, 3, 251, 193, 41, 3, 231, 104,
- 41, 3, 233, 242, 41, 3, 230, 255, 41, 3, 243, 67, 41, 3, 244, 34, 41, 3,
- 213, 127, 41, 3, 216, 17, 41, 3, 216, 153, 41, 3, 248, 6, 41, 3, 248, 10,
- 41, 3, 232, 127, 41, 3, 222, 197, 41, 3, 247, 125, 41, 3, 229, 120, 41,
- 3, 219, 40, 41, 3, 220, 1, 41, 3, 210, 21, 41, 3, 210, 66, 41, 3, 249,
- 174, 41, 3, 235, 59, 41, 3, 228, 159, 41, 3, 210, 229, 41, 3, 234, 10,
- 41, 3, 229, 41, 41, 3, 242, 164, 41, 3, 230, 132, 41, 3, 228, 64, 41, 3,
- 227, 132, 41, 3, 70, 41, 3, 214, 190, 41, 3, 240, 222, 41, 3, 240, 212,
- 41, 3, 211, 195, 41, 3, 211, 189, 41, 3, 224, 150, 41, 3, 252, 8, 41, 3,
- 251, 125, 41, 3, 231, 103, 41, 3, 233, 240, 41, 3, 230, 254, 41, 3, 243,
- 66, 41, 3, 243, 234, 41, 3, 212, 116, 41, 3, 215, 118, 41, 3, 216, 136,
- 41, 3, 248, 4, 41, 3, 248, 9, 41, 3, 232, 98, 41, 3, 222, 140, 41, 3,
- 246, 78, 41, 3, 229, 115, 41, 3, 218, 83, 41, 3, 219, 225, 41, 3, 210,
- 13, 41, 3, 210, 62, 41, 3, 249, 112, 41, 3, 235, 51, 41, 3, 228, 155, 41,
- 3, 210, 212, 41, 3, 233, 217, 41, 3, 229, 40, 41, 3, 242, 113, 41, 3,
- 230, 102, 41, 3, 227, 237, 41, 3, 227, 128, 41, 3, 76, 41, 3, 226, 196,
- 41, 3, 229, 0, 41, 3, 241, 68, 41, 3, 241, 56, 41, 3, 211, 227, 41, 3,
- 211, 216, 41, 3, 225, 16, 41, 3, 252, 10, 41, 3, 251, 205, 41, 3, 231,
- 105, 41, 3, 233, 243, 41, 3, 231, 1, 41, 3, 243, 69, 41, 3, 243, 68, 41,
- 3, 244, 43, 41, 3, 213, 138, 41, 3, 111, 41, 3, 216, 156, 41, 3, 248, 7,
- 41, 3, 248, 11, 41, 3, 232, 156, 41, 3, 222, 211, 41, 3, 247, 145, 41, 3,
- 229, 124, 41, 3, 219, 58, 41, 3, 220, 7, 41, 3, 210, 23, 41, 3, 210, 67,
- 41, 3, 249, 238, 41, 3, 235, 68, 41, 3, 228, 160, 41, 3, 210, 244, 41, 3,
- 234, 28, 41, 3, 229, 42, 41, 3, 242, 174, 41, 3, 230, 161, 41, 3, 228,
- 74, 41, 3, 227, 134, 41, 3, 75, 41, 3, 245, 150, 41, 3, 229, 61, 41, 3,
- 241, 238, 41, 3, 241, 209, 41, 3, 212, 22, 41, 3, 212, 12, 41, 3, 225,
- 221, 41, 3, 252, 14, 41, 3, 252, 75, 41, 3, 231, 117, 41, 3, 233, 248,
- 41, 3, 233, 246, 41, 3, 231, 7, 41, 3, 243, 76, 41, 3, 243, 74, 41, 3,
- 244, 154, 41, 3, 213, 255, 41, 3, 217, 22, 41, 3, 216, 195, 41, 3, 248,
- 17, 41, 3, 248, 14, 41, 3, 233, 58, 41, 3, 223, 128, 41, 3, 248, 90, 41,
- 3, 229, 140, 41, 3, 221, 181, 41, 3, 220, 63, 41, 3, 210, 94, 41, 3, 210,
- 74, 41, 3, 250, 190, 41, 3, 235, 126, 41, 3, 228, 178, 41, 3, 211, 47,
- 41, 3, 234, 182, 41, 3, 229, 52, 41, 3, 229, 48, 41, 3, 243, 62, 41, 3,
- 243, 51, 41, 3, 231, 91, 41, 3, 229, 107, 41, 3, 227, 156, 41, 3, 229,
- 79, 41, 3, 233, 22, 41, 249, 219, 41, 243, 229, 218, 129, 41, 224, 13,
- 78, 41, 3, 229, 123, 244, 196, 41, 3, 229, 123, 176, 41, 3, 229, 123,
- 219, 40, 41, 16, 244, 144, 41, 16, 234, 180, 41, 16, 216, 81, 41, 16,
- 228, 208, 41, 16, 252, 147, 41, 16, 244, 195, 41, 16, 217, 101, 41, 16,
- 248, 176, 41, 16, 247, 124, 41, 16, 233, 206, 41, 16, 216, 21, 41, 16,
- 247, 144, 41, 16, 235, 60, 41, 21, 210, 86, 41, 21, 110, 41, 21, 105, 41,
- 21, 158, 41, 21, 161, 41, 21, 189, 41, 21, 194, 41, 21, 198, 41, 21, 195,
- 41, 21, 200, 41, 3, 229, 123, 184, 41, 3, 229, 123, 247, 145, 33, 6, 1,
- 210, 90, 33, 4, 1, 210, 90, 33, 6, 1, 246, 34, 33, 4, 1, 246, 34, 33, 6,
- 1, 223, 49, 246, 36, 33, 4, 1, 223, 49, 246, 36, 33, 6, 1, 235, 185, 33,
- 4, 1, 235, 185, 33, 6, 1, 247, 161, 33, 4, 1, 247, 161, 33, 6, 1, 230,
- 140, 214, 205, 33, 4, 1, 230, 140, 214, 205, 33, 6, 1, 251, 136, 226,
- 201, 33, 4, 1, 251, 136, 226, 201, 33, 6, 1, 229, 87, 211, 31, 33, 4, 1,
- 229, 87, 211, 31, 33, 6, 1, 211, 28, 2, 252, 185, 211, 31, 33, 4, 1, 211,
- 28, 2, 252, 185, 211, 31, 33, 6, 1, 235, 183, 211, 59, 33, 4, 1, 235,
- 183, 211, 59, 33, 6, 1, 223, 49, 210, 212, 33, 4, 1, 223, 49, 210, 212,
- 33, 6, 1, 235, 183, 61, 33, 4, 1, 235, 183, 61, 33, 6, 1, 250, 0, 232,
- 192, 210, 183, 33, 4, 1, 250, 0, 232, 192, 210, 183, 33, 6, 1, 251, 214,
- 210, 183, 33, 4, 1, 251, 214, 210, 183, 33, 6, 1, 235, 183, 250, 0, 232,
- 192, 210, 183, 33, 4, 1, 235, 183, 250, 0, 232, 192, 210, 183, 33, 6, 1,
- 210, 246, 33, 4, 1, 210, 246, 33, 6, 1, 223, 49, 215, 178, 33, 4, 1, 223,
- 49, 215, 178, 33, 6, 1, 219, 52, 248, 90, 33, 4, 1, 219, 52, 248, 90, 33,
- 6, 1, 219, 52, 245, 174, 33, 4, 1, 219, 52, 245, 174, 33, 6, 1, 219, 52,
- 245, 159, 33, 4, 1, 219, 52, 245, 159, 33, 6, 1, 230, 144, 76, 33, 4, 1,
- 230, 144, 76, 33, 6, 1, 251, 240, 76, 33, 4, 1, 251, 240, 76, 33, 6, 1,
- 52, 230, 144, 76, 33, 4, 1, 52, 230, 144, 76, 33, 1, 230, 86, 76, 38, 33,
- 212, 100, 38, 33, 216, 248, 230, 191, 50, 38, 33, 240, 211, 230, 191, 50,
- 38, 33, 216, 148, 230, 191, 50, 219, 93, 253, 216, 38, 33, 1, 214, 202,
- 236, 60, 38, 33, 1, 73, 38, 33, 1, 211, 8, 38, 33, 1, 70, 38, 33, 1, 242,
- 3, 50, 38, 33, 1, 211, 27, 38, 33, 1, 219, 52, 50, 38, 33, 1, 226, 201,
- 38, 33, 234, 192, 38, 33, 225, 227, 33, 234, 192, 33, 225, 227, 33, 6, 1,
- 246, 46, 33, 4, 1, 246, 46, 33, 6, 1, 246, 27, 33, 4, 1, 246, 27, 33, 6,
- 1, 210, 52, 33, 4, 1, 210, 52, 33, 6, 1, 250, 206, 33, 4, 1, 250, 206,
- 33, 6, 1, 246, 25, 33, 4, 1, 246, 25, 33, 6, 1, 217, 23, 2, 230, 224,
- 103, 33, 4, 1, 217, 23, 2, 230, 224, 103, 33, 6, 1, 215, 78, 33, 4, 1,
- 215, 78, 33, 6, 1, 215, 160, 33, 4, 1, 215, 160, 33, 6, 1, 215, 164, 33,
- 4, 1, 215, 164, 33, 6, 1, 217, 28, 33, 4, 1, 217, 28, 33, 6, 1, 240, 198,
- 33, 4, 1, 240, 198, 33, 6, 1, 219, 206, 33, 4, 1, 219, 206, 38, 33, 1,
- 235, 183, 75, 20, 1, 61, 20, 1, 176, 20, 1, 70, 20, 1, 233, 217, 20, 1,
- 245, 209, 20, 1, 223, 108, 20, 1, 217, 86, 20, 1, 76, 20, 1, 227, 148,
- 20, 1, 73, 20, 1, 233, 135, 20, 1, 190, 20, 1, 222, 239, 20, 1, 223, 29,
- 20, 1, 233, 49, 20, 1, 231, 79, 20, 1, 217, 101, 20, 1, 229, 146, 20, 1,
- 228, 183, 20, 1, 193, 20, 1, 218, 4, 20, 1, 230, 102, 20, 1, 220, 27, 20,
- 1, 219, 191, 20, 1, 220, 37, 20, 1, 220, 123, 20, 1, 233, 155, 20, 1,
- 234, 156, 20, 1, 227, 209, 20, 1, 227, 237, 20, 1, 228, 154, 20, 1, 210,
- 226, 20, 1, 219, 225, 20, 1, 210, 187, 20, 1, 191, 20, 1, 228, 9, 20, 1,
- 234, 142, 20, 1, 225, 151, 20, 1, 228, 176, 20, 1, 227, 246, 20, 1, 224,
- 144, 20, 1, 211, 192, 20, 1, 225, 211, 20, 1, 244, 147, 20, 1, 222, 140,
- 20, 1, 232, 98, 20, 1, 230, 230, 20, 1, 228, 233, 20, 1, 223, 51, 20, 1,
- 223, 171, 20, 1, 234, 165, 20, 1, 229, 7, 20, 1, 229, 56, 20, 1, 229, 77,
- 20, 1, 220, 7, 20, 1, 224, 147, 20, 1, 243, 234, 20, 1, 244, 37, 20, 1,
- 212, 65, 20, 1, 197, 20, 1, 232, 241, 20, 1, 225, 108, 20, 1, 232, 119,
- 20, 1, 234, 28, 20, 1, 231, 114, 20, 1, 223, 83, 20, 1, 231, 58, 20, 1,
- 184, 20, 1, 216, 117, 20, 1, 234, 92, 20, 1, 230, 161, 20, 1, 231, 122,
- 20, 1, 216, 230, 20, 1, 233, 251, 20, 1, 216, 247, 20, 1, 227, 238, 20,
- 1, 221, 251, 20, 1, 244, 192, 20, 1, 233, 253, 20, 1, 234, 24, 20, 38,
- 164, 234, 5, 20, 38, 164, 215, 110, 20, 228, 182, 20, 243, 229, 218, 129,
- 20, 249, 226, 20, 249, 219, 20, 220, 150, 20, 224, 13, 78, 58, 1, 250,
- 96, 138, 210, 254, 225, 61, 58, 1, 250, 96, 138, 211, 70, 225, 61, 58, 1,
- 250, 96, 138, 210, 254, 220, 84, 58, 1, 250, 96, 138, 211, 70, 220, 84,
- 58, 1, 250, 96, 138, 210, 254, 224, 30, 58, 1, 250, 96, 138, 211, 70,
- 224, 30, 58, 1, 250, 96, 138, 210, 254, 222, 140, 58, 1, 250, 96, 138,
- 211, 70, 222, 140, 58, 1, 245, 20, 246, 118, 138, 130, 58, 1, 125, 246,
- 118, 138, 130, 58, 1, 230, 225, 246, 118, 138, 130, 58, 1, 121, 246, 118,
- 138, 130, 58, 1, 245, 19, 246, 118, 138, 130, 58, 1, 245, 20, 246, 118,
- 233, 39, 138, 130, 58, 1, 125, 246, 118, 233, 39, 138, 130, 58, 1, 230,
- 225, 246, 118, 233, 39, 138, 130, 58, 1, 121, 246, 118, 233, 39, 138,
- 130, 58, 1, 245, 19, 246, 118, 233, 39, 138, 130, 58, 1, 245, 20, 233,
- 39, 138, 130, 58, 1, 125, 233, 39, 138, 130, 58, 1, 230, 225, 233, 39,
- 138, 130, 58, 1, 121, 233, 39, 138, 130, 58, 1, 245, 19, 233, 39, 138,
- 130, 58, 1, 59, 67, 130, 58, 1, 59, 219, 95, 58, 1, 59, 203, 130, 58, 1,
- 232, 108, 44, 249, 161, 254, 109, 58, 1, 223, 157, 120, 74, 58, 1, 223,
- 157, 124, 74, 58, 1, 223, 157, 245, 31, 78, 58, 1, 223, 157, 235, 193,
- 245, 31, 78, 58, 1, 121, 235, 193, 245, 31, 78, 58, 1, 218, 111, 22, 125,
- 216, 30, 58, 1, 218, 111, 22, 121, 216, 30, 7, 6, 1, 245, 199, 254, 170,
- 7, 4, 1, 245, 199, 254, 170, 7, 6, 1, 245, 199, 254, 196, 7, 4, 1, 245,
- 199, 254, 196, 7, 6, 1, 241, 207, 7, 4, 1, 241, 207, 7, 6, 1, 215, 40, 7,
- 4, 1, 215, 40, 7, 6, 1, 215, 229, 7, 4, 1, 215, 229, 7, 6, 1, 249, 110,
- 7, 4, 1, 249, 110, 7, 6, 1, 249, 111, 2, 249, 219, 7, 4, 1, 249, 111, 2,
- 249, 219, 7, 1, 4, 6, 245, 6, 7, 1, 4, 6, 222, 91, 7, 6, 1, 255, 73, 7,
- 4, 1, 255, 73, 7, 6, 1, 254, 73, 7, 4, 1, 254, 73, 7, 6, 1, 253, 192, 7,
- 4, 1, 253, 192, 7, 6, 1, 253, 176, 7, 4, 1, 253, 176, 7, 6, 1, 253, 177,
- 2, 203, 130, 7, 4, 1, 253, 177, 2, 203, 130, 7, 6, 1, 253, 167, 7, 4, 1,
- 253, 167, 7, 6, 1, 223, 49, 251, 67, 2, 247, 120, 7, 4, 1, 223, 49, 251,
- 67, 2, 247, 120, 7, 6, 1, 235, 24, 2, 91, 7, 4, 1, 235, 24, 2, 91, 7, 6,
- 1, 235, 24, 2, 247, 255, 91, 7, 4, 1, 235, 24, 2, 247, 255, 91, 7, 6, 1,
- 235, 24, 2, 218, 103, 22, 247, 255, 91, 7, 4, 1, 235, 24, 2, 218, 103,
- 22, 247, 255, 91, 7, 6, 1, 251, 135, 156, 7, 4, 1, 251, 135, 156, 7, 6,
- 1, 233, 149, 2, 125, 91, 7, 4, 1, 233, 149, 2, 125, 91, 7, 6, 1, 144, 2,
- 199, 218, 103, 226, 120, 7, 4, 1, 144, 2, 199, 218, 103, 226, 120, 7, 6,
- 1, 144, 2, 232, 123, 7, 4, 1, 144, 2, 232, 123, 7, 6, 1, 226, 183, 7, 4,
- 1, 226, 183, 7, 6, 1, 226, 106, 2, 218, 103, 216, 139, 248, 39, 7, 4, 1,
- 226, 106, 2, 218, 103, 216, 139, 248, 39, 7, 6, 1, 226, 106, 2, 244, 53,
- 7, 4, 1, 226, 106, 2, 244, 53, 7, 6, 1, 226, 106, 2, 218, 229, 217, 77,
- 7, 4, 1, 226, 106, 2, 218, 229, 217, 77, 7, 6, 1, 224, 97, 2, 218, 103,
- 216, 139, 248, 39, 7, 4, 1, 224, 97, 2, 218, 103, 216, 139, 248, 39, 7,
- 6, 1, 224, 97, 2, 247, 255, 91, 7, 4, 1, 224, 97, 2, 247, 255, 91, 7, 6,
- 1, 223, 224, 222, 186, 7, 4, 1, 223, 224, 222, 186, 7, 6, 1, 222, 130,
- 222, 186, 7, 4, 1, 222, 130, 222, 186, 7, 6, 1, 214, 106, 2, 247, 255,
- 91, 7, 4, 1, 214, 106, 2, 247, 255, 91, 7, 6, 1, 212, 106, 7, 4, 1, 212,
- 106, 7, 6, 1, 213, 145, 210, 159, 7, 4, 1, 213, 145, 210, 159, 7, 6, 1,
- 216, 152, 2, 91, 7, 4, 1, 216, 152, 2, 91, 7, 6, 1, 216, 152, 2, 218,
- 103, 216, 139, 248, 39, 7, 4, 1, 216, 152, 2, 218, 103, 216, 139, 248,
- 39, 7, 6, 1, 213, 245, 7, 4, 1, 213, 245, 7, 6, 1, 245, 65, 7, 4, 1, 245,
- 65, 7, 6, 1, 235, 171, 7, 4, 1, 235, 171, 7, 6, 1, 249, 207, 7, 4, 1,
- 249, 207, 58, 1, 214, 133, 7, 4, 1, 246, 69, 7, 4, 1, 232, 84, 7, 4, 1,
- 230, 80, 7, 4, 1, 227, 201, 7, 4, 1, 222, 129, 7, 1, 4, 6, 222, 129, 7,
- 4, 1, 215, 108, 7, 4, 1, 214, 197, 7, 6, 1, 235, 213, 249, 60, 7, 4, 1,
- 235, 213, 249, 60, 7, 6, 1, 235, 213, 245, 6, 7, 4, 1, 235, 213, 245, 6,
- 7, 6, 1, 235, 213, 243, 202, 7, 6, 1, 215, 94, 235, 213, 243, 202, 7, 4,
- 1, 215, 94, 235, 213, 243, 202, 7, 6, 1, 215, 94, 156, 7, 4, 1, 215, 94,
- 156, 7, 6, 1, 235, 213, 153, 7, 4, 1, 235, 213, 153, 7, 6, 1, 235, 213,
- 222, 91, 7, 4, 1, 235, 213, 222, 91, 7, 6, 1, 235, 213, 217, 152, 7, 4,
- 1, 235, 213, 217, 152, 58, 1, 121, 250, 31, 255, 14, 58, 1, 249, 226, 58,
- 1, 219, 251, 245, 98, 50, 7, 6, 1, 221, 255, 7, 4, 1, 221, 255, 7, 6, 1,
- 215, 94, 242, 60, 7, 4, 1, 233, 149, 2, 223, 55, 241, 52, 22, 252, 41, 7,
- 6, 1, 230, 26, 2, 248, 39, 7, 4, 1, 230, 26, 2, 248, 39, 7, 6, 1, 251,
- 67, 2, 130, 7, 4, 1, 251, 67, 2, 130, 7, 6, 1, 243, 203, 2, 226, 248, 91,
- 7, 4, 1, 243, 203, 2, 226, 248, 91, 7, 6, 1, 235, 24, 2, 226, 248, 91, 7,
- 4, 1, 235, 24, 2, 226, 248, 91, 7, 6, 1, 230, 26, 2, 226, 248, 91, 7, 4,
- 1, 230, 26, 2, 226, 248, 91, 7, 6, 1, 223, 224, 2, 226, 248, 91, 7, 4, 1,
- 223, 224, 2, 226, 248, 91, 7, 6, 1, 222, 92, 2, 226, 248, 91, 7, 4, 1,
- 222, 92, 2, 226, 248, 91, 7, 6, 1, 242, 61, 2, 103, 58, 1, 6, 242, 61, 2,
- 91, 58, 1, 4, 27, 226, 234, 7, 1, 4, 6, 215, 94, 193, 7, 245, 103, 1,
- 223, 49, 245, 6, 7, 245, 103, 1, 223, 49, 226, 105, 7, 245, 103, 1, 235,
- 193, 193, 7, 245, 103, 1, 240, 154, 232, 129, 7, 245, 103, 1, 254, 23,
- 193, 217, 230, 229, 214, 1, 61, 217, 230, 229, 214, 1, 73, 217, 230, 229,
- 214, 5, 246, 48, 217, 230, 229, 214, 1, 70, 217, 230, 229, 214, 1, 75,
- 217, 230, 229, 214, 1, 76, 217, 230, 229, 214, 5, 241, 253, 217, 230,
- 229, 214, 1, 234, 28, 217, 230, 229, 214, 1, 234, 105, 217, 230, 229,
- 214, 1, 242, 174, 217, 230, 229, 214, 1, 242, 224, 217, 230, 229, 214, 5,
- 254, 75, 217, 230, 229, 214, 1, 249, 238, 217, 230, 229, 214, 1, 250, 86,
- 217, 230, 229, 214, 1, 235, 68, 217, 230, 229, 214, 1, 235, 109, 217,
- 230, 229, 214, 1, 215, 133, 217, 230, 229, 214, 1, 215, 139, 217, 230,
- 229, 214, 1, 248, 105, 217, 230, 229, 214, 1, 248, 114, 217, 230, 229,
- 214, 1, 111, 217, 230, 229, 214, 1, 216, 156, 217, 230, 229, 214, 1, 247,
- 145, 217, 230, 229, 214, 1, 248, 7, 217, 230, 229, 214, 1, 228, 74, 217,
- 230, 229, 214, 1, 225, 16, 217, 230, 229, 214, 1, 225, 121, 217, 230,
- 229, 214, 1, 251, 205, 217, 230, 229, 214, 1, 252, 10, 217, 230, 229,
- 214, 1, 230, 161, 217, 230, 229, 214, 1, 222, 211, 217, 230, 229, 214, 1,
- 232, 156, 217, 230, 229, 214, 1, 222, 165, 217, 230, 229, 214, 1, 219,
- 58, 217, 230, 229, 214, 1, 241, 68, 217, 230, 229, 214, 25, 5, 61, 217,
- 230, 229, 214, 25, 5, 73, 217, 230, 229, 214, 25, 5, 70, 217, 230, 229,
- 214, 25, 5, 75, 217, 230, 229, 214, 25, 5, 226, 183, 217, 230, 229, 214,
- 225, 12, 231, 158, 217, 230, 229, 214, 225, 12, 231, 157, 217, 230, 229,
- 214, 225, 12, 231, 156, 217, 230, 229, 214, 225, 12, 231, 155, 228, 56,
- 235, 240, 244, 2, 123, 224, 21, 228, 56, 235, 240, 244, 2, 123, 242, 27,
- 228, 56, 235, 240, 244, 2, 134, 224, 19, 228, 56, 235, 240, 244, 2, 123,
- 219, 117, 228, 56, 235, 240, 244, 2, 123, 245, 188, 228, 56, 235, 240,
- 244, 2, 134, 219, 116, 228, 56, 235, 240, 224, 22, 78, 228, 56, 235, 240,
- 225, 40, 78, 228, 56, 235, 240, 222, 118, 78, 228, 56, 235, 240, 224, 23,
- 78, 225, 144, 1, 176, 225, 144, 1, 234, 132, 225, 144, 1, 243, 135, 225,
- 144, 1, 229, 77, 225, 144, 1, 251, 33, 225, 144, 1, 250, 157, 225, 144,
- 1, 235, 141, 225, 144, 1, 227, 165, 225, 144, 1, 217, 105, 225, 144, 1,
- 216, 208, 225, 144, 1, 248, 221, 225, 144, 1, 197, 225, 144, 1, 190, 225,
- 144, 1, 225, 147, 225, 144, 1, 252, 191, 225, 144, 1, 184, 225, 144, 1,
- 215, 183, 225, 144, 1, 215, 175, 225, 144, 1, 246, 38, 225, 144, 1, 212,
- 65, 225, 144, 1, 210, 82, 225, 144, 1, 210, 116, 225, 144, 1, 4, 61, 225,
- 144, 1, 191, 225, 144, 1, 205, 225, 144, 1, 233, 135, 225, 144, 1, 220,
- 102, 225, 144, 1, 206, 225, 144, 1, 162, 225, 144, 1, 61, 225, 144, 1,
- 73, 225, 144, 1, 70, 225, 144, 1, 75, 225, 144, 1, 76, 225, 144, 1, 224,
- 88, 225, 144, 1, 211, 165, 225, 144, 1, 244, 196, 225, 144, 1, 243, 29,
- 225, 144, 1, 245, 209, 225, 144, 218, 73, 1, 212, 65, 225, 144, 218, 73,
- 1, 191, 225, 144, 1, 215, 156, 225, 144, 1, 215, 144, 225, 144, 1, 248,
- 135, 225, 144, 1, 228, 110, 225, 144, 1, 254, 141, 191, 225, 144, 1, 213,
- 134, 220, 102, 225, 144, 1, 213, 135, 162, 225, 144, 1, 253, 223, 244,
- 196, 225, 144, 218, 73, 1, 205, 225, 144, 218, 25, 1, 205, 225, 144, 1,
- 250, 255, 225, 144, 219, 155, 241, 236, 78, 225, 144, 52, 241, 236, 78,
- 225, 144, 164, 220, 95, 225, 144, 164, 52, 220, 95, 179, 5, 254, 75, 179,
- 5, 213, 147, 179, 1, 61, 179, 1, 255, 73, 179, 1, 73, 179, 1, 236, 33,
- 179, 1, 70, 179, 1, 214, 118, 179, 1, 149, 153, 179, 1, 149, 222, 180,
- 179, 1, 149, 156, 179, 1, 149, 232, 185, 179, 1, 75, 179, 1, 245, 209,
- 179, 1, 254, 201, 179, 1, 76, 179, 1, 226, 183, 179, 1, 253, 192, 179, 1,
- 176, 179, 1, 234, 132, 179, 1, 243, 135, 179, 1, 242, 249, 179, 1, 229,
- 77, 179, 1, 251, 33, 179, 1, 250, 157, 179, 1, 235, 141, 179, 1, 235,
- 114, 179, 1, 227, 165, 179, 1, 215, 156, 179, 1, 215, 144, 179, 1, 248,
- 135, 179, 1, 248, 119, 179, 1, 228, 110, 179, 1, 217, 105, 179, 1, 216,
- 208, 179, 1, 248, 221, 179, 1, 248, 25, 179, 1, 197, 179, 1, 190, 179, 1,
- 225, 147, 179, 1, 252, 191, 179, 1, 252, 18, 179, 1, 184, 179, 1, 191,
- 179, 1, 205, 179, 1, 233, 135, 179, 1, 214, 27, 179, 1, 220, 102, 179, 1,
- 218, 223, 179, 1, 206, 179, 1, 162, 179, 1, 232, 184, 179, 116, 5, 242,
- 44, 179, 25, 5, 255, 73, 179, 25, 5, 73, 179, 25, 5, 236, 33, 179, 25, 5,
+ 210, 203, 24, 1, 210, 204, 24, 1, 210, 207, 24, 1, 254, 35, 24, 1, 254,
+ 29, 109, 254, 100, 232, 204, 78, 109, 254, 100, 223, 51, 78, 109, 254,
+ 100, 123, 78, 109, 254, 100, 113, 78, 109, 254, 100, 134, 78, 109, 254,
+ 100, 244, 12, 78, 109, 254, 100, 216, 15, 78, 109, 254, 100, 230, 225,
+ 78, 109, 254, 100, 251, 176, 78, 109, 254, 100, 244, 93, 78, 109, 254,
+ 100, 221, 177, 78, 109, 254, 100, 216, 170, 78, 109, 254, 100, 244, 5,
+ 78, 109, 254, 100, 241, 225, 78, 109, 254, 100, 245, 225, 78, 109, 254,
+ 100, 231, 187, 78, 251, 185, 1, 251, 126, 251, 185, 1, 210, 44, 251, 185,
+ 1, 235, 109, 251, 185, 1, 242, 114, 251, 185, 1, 245, 210, 251, 185, 1,
+ 245, 136, 251, 185, 1, 226, 184, 251, 185, 1, 226, 188, 251, 185, 1, 235,
+ 180, 251, 185, 1, 254, 102, 251, 185, 1, 235, 225, 251, 185, 1, 214, 168,
+ 251, 185, 1, 236, 17, 251, 185, 1, 229, 58, 251, 185, 1, 254, 196, 251,
+ 185, 1, 253, 188, 251, 185, 1, 254, 137, 251, 185, 1, 226, 205, 251, 185,
+ 1, 226, 190, 251, 185, 1, 235, 222, 251, 185, 40, 1, 226, 106, 251, 185,
+ 40, 1, 217, 153, 251, 185, 40, 1, 235, 24, 251, 185, 40, 1, 242, 61, 251,
+ 185, 1, 242, 251, 251, 185, 1, 233, 0, 251, 185, 1, 209, 250, 9, 218,
+ 104, 217, 153, 9, 218, 104, 212, 4, 9, 218, 104, 211, 158, 9, 218, 104,
+ 251, 80, 9, 218, 104, 217, 255, 9, 218, 104, 240, 159, 9, 218, 104, 240,
+ 163, 9, 218, 104, 240, 232, 9, 218, 104, 240, 160, 9, 218, 104, 217, 156,
+ 9, 218, 104, 240, 162, 9, 218, 104, 240, 158, 9, 218, 104, 240, 230, 9,
+ 218, 104, 240, 161, 9, 218, 104, 240, 157, 9, 218, 104, 230, 26, 9, 218,
+ 104, 242, 61, 9, 218, 104, 222, 92, 9, 218, 104, 226, 106, 9, 218, 104,
+ 219, 22, 9, 218, 104, 249, 61, 9, 218, 104, 240, 164, 9, 218, 104, 241,
+ 191, 9, 218, 104, 217, 165, 9, 218, 104, 217, 234, 9, 218, 104, 218, 169,
+ 9, 218, 104, 220, 111, 9, 218, 104, 225, 225, 9, 218, 104, 224, 99, 9,
+ 218, 104, 216, 44, 9, 218, 104, 217, 155, 9, 218, 104, 217, 245, 9, 218,
+ 104, 240, 171, 9, 218, 104, 240, 156, 9, 218, 104, 225, 150, 9, 218, 104,
+ 224, 97, 56, 1, 4, 233, 218, 56, 1, 4, 219, 192, 56, 1, 4, 218, 84, 56,
+ 1, 4, 111, 56, 1, 4, 227, 238, 56, 1, 4, 162, 56, 1, 4, 241, 181, 56, 1,
+ 4, 240, 223, 56, 1, 4, 241, 239, 56, 1, 4, 241, 69, 56, 1, 4, 230, 103,
+ 56, 1, 4, 205, 56, 1, 4, 223, 36, 56, 1, 4, 222, 141, 56, 1, 4, 223, 129,
+ 56, 1, 4, 222, 212, 88, 24, 234, 59, 88, 24, 228, 227, 88, 24, 216, 102,
+ 88, 24, 223, 27, 88, 24, 230, 218, 88, 24, 225, 96, 88, 24, 219, 149, 88,
+ 24, 236, 57, 88, 24, 250, 47, 88, 24, 250, 107, 88, 24, 234, 111, 88, 24,
+ 216, 174, 88, 24, 225, 132, 88, 24, 241, 173, 88, 24, 234, 60, 61, 88,
+ 24, 228, 228, 61, 88, 24, 216, 103, 61, 88, 24, 223, 28, 61, 88, 24, 230,
+ 219, 61, 88, 24, 225, 97, 61, 88, 24, 219, 150, 61, 88, 24, 236, 58, 61,
+ 88, 24, 250, 48, 61, 88, 24, 250, 108, 61, 88, 24, 234, 112, 61, 88, 24,
+ 216, 175, 61, 88, 24, 225, 133, 61, 88, 24, 241, 174, 61, 88, 24, 250,
+ 48, 70, 88, 234, 4, 135, 226, 218, 88, 234, 4, 135, 144, 240, 223, 88,
+ 154, 110, 88, 154, 105, 88, 154, 158, 88, 154, 161, 88, 154, 189, 88,
+ 154, 194, 88, 154, 198, 88, 154, 195, 88, 154, 200, 88, 154, 216, 248,
+ 88, 154, 230, 129, 88, 154, 244, 97, 88, 154, 212, 40, 88, 154, 211, 214,
+ 88, 154, 231, 40, 88, 154, 245, 224, 88, 154, 218, 38, 88, 154, 218, 133,
+ 88, 154, 241, 245, 88, 154, 219, 55, 88, 154, 229, 205, 88, 154, 219, 5,
+ 88, 154, 244, 103, 88, 154, 249, 201, 88, 154, 233, 126, 88, 154, 223,
+ 72, 88, 154, 251, 16, 88, 154, 218, 88, 88, 154, 218, 21, 88, 154, 245,
+ 128, 88, 154, 223, 64, 88, 154, 254, 151, 88, 154, 244, 129, 88, 154,
+ 223, 62, 88, 154, 220, 157, 88, 154, 223, 128, 37, 154, 224, 13, 37, 154,
+ 234, 81, 37, 154, 221, 199, 37, 154, 234, 0, 37, 54, 216, 249, 226, 198,
+ 85, 218, 235, 37, 54, 215, 74, 226, 198, 85, 218, 235, 37, 54, 216, 164,
+ 226, 198, 85, 218, 235, 37, 54, 244, 17, 226, 198, 85, 218, 235, 37, 54,
+ 244, 116, 226, 198, 85, 218, 235, 37, 54, 219, 113, 226, 198, 85, 218,
+ 235, 37, 54, 220, 118, 226, 198, 85, 218, 235, 37, 54, 245, 186, 226,
+ 198, 85, 218, 235, 225, 252, 50, 37, 54, 215, 74, 110, 37, 54, 215, 74,
+ 105, 37, 54, 215, 74, 158, 37, 54, 215, 74, 161, 37, 54, 215, 74, 189,
+ 37, 54, 215, 74, 194, 37, 54, 215, 74, 198, 37, 54, 215, 74, 195, 37, 54,
+ 215, 74, 200, 37, 54, 216, 163, 37, 54, 216, 164, 110, 37, 54, 216, 164,
+ 105, 37, 54, 216, 164, 158, 37, 54, 216, 164, 161, 37, 54, 216, 164, 189,
+ 37, 24, 234, 59, 37, 24, 228, 227, 37, 24, 216, 102, 37, 24, 223, 27, 37,
+ 24, 230, 218, 37, 24, 225, 96, 37, 24, 219, 149, 37, 24, 236, 57, 37, 24,
+ 250, 47, 37, 24, 250, 107, 37, 24, 234, 111, 37, 24, 216, 174, 37, 24,
+ 225, 132, 37, 24, 241, 173, 37, 24, 234, 60, 61, 37, 24, 228, 228, 61,
+ 37, 24, 216, 103, 61, 37, 24, 223, 28, 61, 37, 24, 230, 219, 61, 37, 24,
+ 225, 97, 61, 37, 24, 219, 150, 61, 37, 24, 236, 58, 61, 37, 24, 250, 48,
+ 61, 37, 24, 250, 108, 61, 37, 24, 234, 112, 61, 37, 24, 216, 175, 61, 37,
+ 24, 225, 133, 61, 37, 24, 241, 174, 61, 37, 234, 4, 135, 250, 149, 37,
+ 234, 4, 135, 235, 48, 37, 24, 236, 58, 70, 234, 4, 218, 160, 87, 37, 154,
+ 110, 37, 154, 105, 37, 154, 158, 37, 154, 161, 37, 154, 189, 37, 154,
+ 194, 37, 154, 198, 37, 154, 195, 37, 154, 200, 37, 154, 216, 248, 37,
+ 154, 230, 129, 37, 154, 244, 97, 37, 154, 212, 40, 37, 154, 211, 214, 37,
+ 154, 231, 40, 37, 154, 245, 224, 37, 154, 218, 38, 37, 154, 218, 133, 37,
+ 154, 241, 245, 37, 154, 219, 55, 37, 154, 229, 205, 37, 154, 219, 5, 37,
+ 154, 244, 103, 37, 154, 249, 201, 37, 154, 233, 126, 37, 154, 221, 175,
+ 37, 154, 231, 190, 37, 154, 244, 138, 37, 154, 218, 50, 37, 154, 245, 35,
+ 37, 154, 224, 188, 37, 154, 253, 197, 37, 154, 235, 160, 37, 154, 223,
+ 62, 37, 154, 249, 165, 37, 154, 249, 156, 37, 154, 241, 166, 37, 154,
+ 250, 175, 37, 154, 232, 111, 37, 154, 233, 47, 37, 154, 222, 252, 37,
+ 154, 231, 84, 37, 154, 223, 88, 37, 154, 218, 88, 37, 154, 218, 21, 37,
+ 154, 245, 128, 37, 154, 223, 64, 37, 154, 254, 151, 37, 154, 228, 213,
+ 37, 54, 216, 164, 194, 37, 54, 216, 164, 198, 37, 54, 216, 164, 195, 37,
+ 54, 216, 164, 200, 37, 54, 244, 16, 37, 54, 244, 17, 110, 37, 54, 244,
+ 17, 105, 37, 54, 244, 17, 158, 37, 54, 244, 17, 161, 37, 54, 244, 17,
+ 189, 37, 54, 244, 17, 194, 37, 54, 244, 17, 198, 37, 54, 244, 17, 195,
+ 37, 54, 244, 17, 200, 37, 54, 244, 115, 109, 217, 4, 16, 31, 235, 134,
+ 109, 217, 4, 16, 31, 244, 149, 109, 217, 4, 16, 31, 231, 161, 109, 217,
+ 4, 16, 31, 254, 48, 109, 217, 4, 16, 31, 231, 133, 109, 217, 4, 16, 31,
+ 235, 46, 109, 217, 4, 16, 31, 235, 47, 109, 217, 4, 16, 31, 253, 189,
+ 109, 217, 4, 16, 31, 220, 137, 109, 217, 4, 16, 31, 226, 240, 109, 217,
+ 4, 16, 31, 228, 41, 109, 217, 4, 16, 31, 248, 86, 42, 241, 191, 42, 245,
+ 89, 42, 245, 44, 232, 220, 232, 241, 50, 37, 56, 61, 37, 56, 73, 37, 56,
+ 70, 37, 56, 75, 37, 56, 76, 37, 56, 176, 37, 56, 234, 93, 37, 56, 233,
+ 218, 37, 56, 234, 183, 37, 56, 234, 29, 37, 56, 206, 37, 56, 219, 192,
+ 37, 56, 218, 84, 37, 56, 221, 182, 37, 56, 219, 59, 37, 56, 217, 106, 37,
+ 56, 216, 118, 37, 56, 215, 119, 37, 56, 217, 23, 37, 56, 111, 37, 56,
+ 197, 37, 56, 228, 234, 37, 56, 227, 238, 37, 56, 229, 108, 37, 56, 228,
+ 75, 37, 56, 162, 37, 56, 241, 181, 37, 56, 240, 223, 37, 56, 241, 239,
+ 37, 56, 241, 69, 37, 56, 185, 37, 56, 230, 231, 37, 56, 230, 103, 37, 56,
+ 231, 92, 37, 56, 230, 162, 37, 56, 191, 37, 56, 210, 212, 37, 56, 210,
+ 244, 37, 56, 205, 37, 56, 223, 36, 37, 56, 222, 141, 37, 56, 223, 129,
+ 37, 56, 222, 212, 37, 56, 212, 65, 37, 56, 211, 250, 37, 56, 212, 22, 37,
+ 56, 211, 227, 42, 254, 72, 42, 253, 240, 42, 254, 96, 42, 255, 32, 42,
+ 235, 227, 42, 235, 197, 42, 214, 166, 42, 245, 67, 42, 245, 207, 42, 226,
+ 187, 42, 226, 181, 42, 234, 246, 42, 234, 215, 42, 234, 212, 42, 243, 93,
+ 42, 243, 102, 42, 242, 205, 42, 242, 201, 42, 233, 151, 42, 242, 194, 42,
+ 234, 73, 42, 234, 72, 42, 234, 71, 42, 234, 70, 42, 242, 87, 42, 242, 86,
+ 42, 233, 194, 42, 233, 196, 42, 234, 179, 42, 234, 2, 42, 234, 9, 42,
+ 222, 17, 42, 221, 238, 42, 219, 130, 42, 220, 142, 42, 220, 141, 42, 248,
+ 219, 42, 248, 37, 42, 247, 122, 42, 216, 33, 42, 229, 201, 42, 228, 42,
+ 42, 242, 33, 42, 226, 85, 42, 226, 84, 42, 252, 189, 42, 225, 106, 42,
+ 225, 70, 42, 225, 71, 42, 251, 235, 42, 240, 222, 42, 240, 218, 42, 251,
+ 92, 42, 240, 205, 42, 241, 216, 42, 225, 160, 42, 225, 195, 42, 241, 199,
+ 42, 225, 192, 42, 225, 208, 42, 252, 62, 42, 225, 7, 42, 251, 181, 42,
+ 241, 57, 42, 224, 251, 42, 241, 49, 42, 241, 51, 42, 231, 202, 42, 231,
+ 198, 42, 231, 207, 42, 231, 151, 42, 231, 176, 42, 230, 198, 42, 230,
+ 177, 42, 230, 176, 42, 231, 75, 42, 231, 72, 42, 231, 76, 42, 211, 102,
+ 42, 211, 100, 42, 210, 201, 42, 222, 227, 42, 222, 231, 42, 222, 118, 42,
+ 222, 112, 42, 223, 86, 42, 223, 83, 42, 212, 38, 109, 217, 4, 16, 31,
+ 240, 240, 210, 86, 109, 217, 4, 16, 31, 240, 240, 110, 109, 217, 4, 16,
+ 31, 240, 240, 105, 109, 217, 4, 16, 31, 240, 240, 158, 109, 217, 4, 16,
+ 31, 240, 240, 161, 109, 217, 4, 16, 31, 240, 240, 189, 109, 217, 4, 16,
+ 31, 240, 240, 194, 109, 217, 4, 16, 31, 240, 240, 198, 109, 217, 4, 16,
+ 31, 240, 240, 195, 109, 217, 4, 16, 31, 240, 240, 200, 109, 217, 4, 16,
+ 31, 240, 240, 216, 248, 109, 217, 4, 16, 31, 240, 240, 245, 168, 109,
+ 217, 4, 16, 31, 240, 240, 215, 76, 109, 217, 4, 16, 31, 240, 240, 216,
+ 165, 109, 217, 4, 16, 31, 240, 240, 244, 6, 109, 217, 4, 16, 31, 240,
+ 240, 244, 119, 109, 217, 4, 16, 31, 240, 240, 219, 120, 109, 217, 4, 16,
+ 31, 240, 240, 220, 120, 109, 217, 4, 16, 31, 240, 240, 245, 191, 109,
+ 217, 4, 16, 31, 240, 240, 228, 198, 109, 217, 4, 16, 31, 240, 240, 215,
+ 73, 109, 217, 4, 16, 31, 240, 240, 215, 67, 109, 217, 4, 16, 31, 240,
+ 240, 215, 63, 109, 217, 4, 16, 31, 240, 240, 215, 64, 109, 217, 4, 16,
+ 31, 240, 240, 215, 69, 42, 240, 231, 42, 248, 222, 42, 253, 193, 42, 130,
+ 42, 226, 126, 42, 225, 226, 42, 247, 148, 42, 247, 149, 218, 234, 42,
+ 247, 149, 249, 109, 42, 235, 157, 42, 245, 92, 229, 206, 241, 217, 42,
+ 245, 92, 229, 206, 217, 175, 42, 245, 92, 229, 206, 217, 75, 42, 245, 92,
+ 229, 206, 231, 71, 42, 249, 158, 42, 226, 91, 254, 126, 42, 197, 42, 230,
+ 104, 61, 42, 185, 42, 176, 42, 234, 186, 42, 231, 130, 42, 243, 81, 42,
+ 251, 19, 42, 234, 185, 42, 225, 151, 42, 229, 82, 42, 230, 104, 245, 7,
+ 42, 230, 104, 243, 203, 42, 231, 16, 42, 234, 135, 42, 240, 164, 42, 234,
+ 95, 42, 230, 233, 42, 242, 217, 42, 216, 120, 42, 230, 104, 156, 42, 230,
+ 170, 42, 247, 158, 42, 234, 41, 42, 244, 46, 42, 228, 113, 42, 230, 104,
+ 193, 42, 230, 167, 42, 249, 240, 42, 234, 35, 42, 230, 168, 218, 234, 42,
+ 249, 241, 218, 234, 42, 232, 51, 218, 234, 42, 234, 36, 218, 234, 42,
+ 230, 168, 249, 109, 42, 249, 241, 249, 109, 42, 232, 51, 249, 109, 42,
+ 234, 36, 249, 109, 42, 232, 51, 117, 222, 92, 42, 232, 51, 117, 222, 93,
+ 218, 234, 42, 190, 42, 233, 252, 42, 230, 106, 42, 242, 152, 42, 223,
+ 177, 42, 223, 178, 117, 222, 92, 42, 223, 178, 117, 222, 93, 218, 234,
+ 42, 224, 163, 42, 228, 14, 42, 230, 104, 222, 92, 42, 230, 105, 42, 224,
+ 117, 42, 227, 177, 42, 230, 104, 214, 105, 42, 230, 50, 42, 233, 186, 42,
+ 230, 51, 231, 75, 42, 224, 116, 42, 227, 176, 42, 230, 104, 212, 98, 42,
+ 230, 44, 42, 233, 184, 42, 230, 45, 231, 75, 42, 235, 25, 226, 221, 42,
+ 232, 51, 226, 221, 42, 254, 137, 42, 251, 161, 42, 250, 215, 42, 250,
+ 192, 42, 251, 68, 117, 234, 135, 42, 249, 239, 42, 248, 143, 42, 242, 73,
+ 42, 162, 42, 240, 232, 42, 236, 0, 42, 234, 48, 42, 234, 36, 250, 251,
+ 42, 233, 220, 42, 232, 160, 42, 232, 159, 42, 232, 148, 42, 232, 64, 42,
+ 231, 131, 219, 80, 42, 230, 197, 42, 230, 153, 42, 225, 149, 42, 225, 20,
+ 42, 224, 220, 42, 224, 218, 42, 218, 228, 42, 218, 3, 42, 212, 24, 42,
+ 214, 106, 117, 193, 42, 115, 117, 193, 109, 217, 4, 16, 31, 248, 147,
+ 110, 109, 217, 4, 16, 31, 248, 147, 105, 109, 217, 4, 16, 31, 248, 147,
+ 158, 109, 217, 4, 16, 31, 248, 147, 161, 109, 217, 4, 16, 31, 248, 147,
+ 189, 109, 217, 4, 16, 31, 248, 147, 194, 109, 217, 4, 16, 31, 248, 147,
+ 198, 109, 217, 4, 16, 31, 248, 147, 195, 109, 217, 4, 16, 31, 248, 147,
+ 200, 109, 217, 4, 16, 31, 248, 147, 216, 248, 109, 217, 4, 16, 31, 248,
+ 147, 245, 168, 109, 217, 4, 16, 31, 248, 147, 215, 76, 109, 217, 4, 16,
+ 31, 248, 147, 216, 165, 109, 217, 4, 16, 31, 248, 147, 244, 6, 109, 217,
+ 4, 16, 31, 248, 147, 244, 119, 109, 217, 4, 16, 31, 248, 147, 219, 120,
+ 109, 217, 4, 16, 31, 248, 147, 220, 120, 109, 217, 4, 16, 31, 248, 147,
+ 245, 191, 109, 217, 4, 16, 31, 248, 147, 228, 198, 109, 217, 4, 16, 31,
+ 248, 147, 215, 73, 109, 217, 4, 16, 31, 248, 147, 215, 67, 109, 217, 4,
+ 16, 31, 248, 147, 215, 63, 109, 217, 4, 16, 31, 248, 147, 215, 64, 109,
+ 217, 4, 16, 31, 248, 147, 215, 69, 109, 217, 4, 16, 31, 248, 147, 215,
+ 70, 109, 217, 4, 16, 31, 248, 147, 215, 65, 109, 217, 4, 16, 31, 248,
+ 147, 215, 66, 109, 217, 4, 16, 31, 248, 147, 215, 72, 109, 217, 4, 16,
+ 31, 248, 147, 215, 68, 109, 217, 4, 16, 31, 248, 147, 216, 163, 109, 217,
+ 4, 16, 31, 248, 147, 216, 162, 42, 243, 119, 241, 193, 31, 216, 197, 249,
+ 141, 241, 224, 241, 193, 31, 216, 197, 223, 123, 245, 224, 241, 193, 31,
+ 247, 232, 253, 208, 216, 197, 252, 57, 241, 193, 31, 210, 223, 244, 39,
+ 241, 193, 31, 212, 59, 241, 193, 31, 249, 204, 241, 193, 31, 216, 197,
+ 254, 4, 241, 193, 31, 241, 61, 216, 39, 241, 193, 31, 4, 217, 62, 241,
+ 193, 31, 215, 238, 241, 193, 31, 225, 220, 241, 193, 31, 218, 159, 241,
+ 193, 31, 244, 140, 241, 193, 31, 242, 133, 224, 241, 241, 193, 31, 230,
+ 156, 241, 193, 31, 245, 127, 241, 193, 31, 244, 40, 241, 193, 31, 211,
+ 207, 226, 198, 216, 197, 248, 87, 241, 193, 31, 254, 52, 241, 193, 31,
+ 249, 186, 241, 193, 31, 251, 228, 216, 139, 241, 193, 31, 242, 150, 241,
+ 193, 31, 218, 246, 254, 71, 241, 193, 31, 223, 54, 241, 193, 31, 235,
+ 221, 241, 193, 31, 242, 133, 217, 62, 241, 193, 31, 230, 112, 249, 160,
+ 241, 193, 31, 242, 133, 224, 198, 241, 193, 31, 216, 197, 255, 19, 212,
+ 40, 241, 193, 31, 216, 197, 250, 9, 244, 97, 241, 193, 31, 235, 234, 241,
+ 193, 31, 246, 58, 241, 193, 31, 223, 57, 241, 193, 31, 242, 133, 224,
+ 225, 241, 193, 31, 224, 178, 241, 193, 31, 248, 162, 64, 216, 197, 232,
+ 231, 241, 193, 31, 216, 197, 244, 175, 241, 193, 31, 226, 164, 241, 193,
+ 31, 226, 245, 241, 193, 31, 248, 60, 241, 193, 31, 248, 80, 241, 193, 31,
+ 235, 248, 241, 193, 31, 251, 150, 241, 193, 31, 249, 222, 216, 43, 231,
+ 77, 241, 193, 31, 243, 88, 216, 39, 241, 193, 31, 224, 126, 214, 154,
+ 241, 193, 31, 226, 163, 241, 193, 31, 216, 197, 212, 13, 241, 193, 31,
+ 223, 46, 241, 193, 31, 216, 197, 250, 221, 241, 193, 31, 216, 197, 254,
+ 0, 216, 134, 241, 193, 31, 216, 197, 234, 180, 218, 135, 230, 116, 241,
+ 193, 31, 248, 33, 241, 193, 31, 216, 197, 231, 153, 231, 203, 241, 193,
+ 31, 255, 20, 241, 193, 31, 216, 197, 212, 54, 241, 193, 31, 216, 197,
+ 243, 48, 211, 239, 241, 193, 31, 216, 197, 235, 53, 233, 108, 241, 193,
+ 31, 247, 185, 241, 193, 31, 232, 221, 241, 193, 31, 235, 224, 215, 188,
+ 241, 193, 31, 4, 224, 198, 241, 193, 31, 254, 218, 249, 213, 241, 193,
+ 31, 252, 60, 249, 213, 8, 3, 235, 161, 8, 3, 235, 154, 8, 3, 73, 8, 3,
+ 235, 183, 8, 3, 236, 59, 8, 3, 236, 42, 8, 3, 236, 61, 8, 3, 236, 60, 8,
+ 3, 253, 207, 8, 3, 253, 170, 8, 3, 61, 8, 3, 254, 73, 8, 3, 214, 164, 8,
+ 3, 214, 167, 8, 3, 214, 165, 8, 3, 226, 141, 8, 3, 226, 115, 8, 3, 76, 8,
+ 3, 226, 176, 8, 3, 245, 36, 8, 3, 75, 8, 3, 211, 195, 8, 3, 251, 229, 8,
+ 3, 251, 226, 8, 3, 252, 7, 8, 3, 251, 239, 8, 3, 251, 252, 8, 3, 251,
+ 251, 8, 3, 251, 254, 8, 3, 251, 253, 8, 3, 252, 122, 8, 3, 252, 114, 8,
+ 3, 252, 192, 8, 3, 252, 143, 8, 3, 251, 102, 8, 3, 251, 106, 8, 3, 251,
+ 103, 8, 3, 251, 180, 8, 3, 251, 164, 8, 3, 251, 206, 8, 3, 251, 186, 8,
+ 3, 252, 22, 8, 3, 252, 76, 8, 3, 252, 34, 8, 3, 251, 88, 8, 3, 251, 85,
+ 8, 3, 251, 126, 8, 3, 251, 101, 8, 3, 251, 95, 8, 3, 251, 99, 8, 3, 251,
+ 73, 8, 3, 251, 71, 8, 3, 251, 78, 8, 3, 251, 76, 8, 3, 251, 74, 8, 3,
+ 251, 75, 8, 3, 225, 50, 8, 3, 225, 46, 8, 3, 225, 109, 8, 3, 225, 60, 8,
+ 3, 225, 76, 8, 3, 225, 103, 8, 3, 225, 99, 8, 3, 225, 241, 8, 3, 225,
+ 231, 8, 3, 190, 8, 3, 226, 22, 8, 3, 224, 136, 8, 3, 224, 138, 8, 3, 224,
+ 137, 8, 3, 224, 234, 8, 3, 224, 223, 8, 3, 225, 17, 8, 3, 224, 246, 8, 3,
+ 224, 122, 8, 3, 224, 118, 8, 3, 224, 151, 8, 3, 224, 135, 8, 3, 224, 127,
+ 8, 3, 224, 133, 8, 3, 224, 101, 8, 3, 224, 100, 8, 3, 224, 105, 8, 3,
+ 224, 104, 8, 3, 224, 102, 8, 3, 224, 103, 8, 3, 252, 97, 8, 3, 252, 96,
+ 8, 3, 252, 103, 8, 3, 252, 98, 8, 3, 252, 100, 8, 3, 252, 99, 8, 3, 252,
+ 102, 8, 3, 252, 101, 8, 3, 252, 109, 8, 3, 252, 108, 8, 3, 252, 112, 8,
+ 3, 252, 110, 8, 3, 252, 88, 8, 3, 252, 90, 8, 3, 252, 89, 8, 3, 252, 93,
+ 8, 3, 252, 92, 8, 3, 252, 95, 8, 3, 252, 94, 8, 3, 252, 104, 8, 3, 252,
+ 107, 8, 3, 252, 105, 8, 3, 252, 84, 8, 3, 252, 83, 8, 3, 252, 91, 8, 3,
+ 252, 87, 8, 3, 252, 85, 8, 3, 252, 86, 8, 3, 252, 80, 8, 3, 252, 79, 8,
+ 3, 252, 82, 8, 3, 252, 81, 8, 3, 229, 170, 8, 3, 229, 169, 8, 3, 229,
+ 175, 8, 3, 229, 171, 8, 3, 229, 172, 8, 3, 229, 174, 8, 3, 229, 173, 8,
+ 3, 229, 178, 8, 3, 229, 177, 8, 3, 229, 180, 8, 3, 229, 179, 8, 3, 229,
+ 166, 8, 3, 229, 165, 8, 3, 229, 168, 8, 3, 229, 167, 8, 3, 229, 159, 8,
+ 3, 229, 158, 8, 3, 229, 163, 8, 3, 229, 162, 8, 3, 229, 160, 8, 3, 229,
+ 161, 8, 3, 229, 153, 8, 3, 229, 152, 8, 3, 229, 157, 8, 3, 229, 156, 8,
+ 3, 229, 154, 8, 3, 229, 155, 8, 3, 241, 111, 8, 3, 241, 110, 8, 3, 241,
+ 116, 8, 3, 241, 112, 8, 3, 241, 113, 8, 3, 241, 115, 8, 3, 241, 114, 8,
+ 3, 241, 119, 8, 3, 241, 118, 8, 3, 241, 121, 8, 3, 241, 120, 8, 3, 241,
+ 102, 8, 3, 241, 104, 8, 3, 241, 103, 8, 3, 241, 107, 8, 3, 241, 106, 8,
+ 3, 241, 109, 8, 3, 241, 108, 8, 3, 241, 98, 8, 3, 241, 97, 8, 3, 241,
+ 105, 8, 3, 241, 101, 8, 3, 241, 99, 8, 3, 241, 100, 8, 3, 241, 92, 8, 3,
+ 241, 96, 8, 3, 241, 95, 8, 3, 241, 93, 8, 3, 241, 94, 8, 3, 230, 173, 8,
+ 3, 230, 172, 8, 3, 230, 231, 8, 3, 230, 179, 8, 3, 230, 204, 8, 3, 230,
+ 222, 8, 3, 230, 220, 8, 3, 231, 140, 8, 3, 231, 135, 8, 3, 185, 8, 3,
+ 231, 173, 8, 3, 230, 75, 8, 3, 230, 74, 8, 3, 230, 78, 8, 3, 230, 76, 8,
+ 3, 230, 122, 8, 3, 230, 108, 8, 3, 230, 162, 8, 3, 230, 127, 8, 3, 231,
+ 27, 8, 3, 231, 92, 8, 3, 230, 56, 8, 3, 230, 52, 8, 3, 230, 103, 8, 3,
+ 230, 71, 8, 3, 230, 64, 8, 3, 230, 69, 8, 3, 230, 29, 8, 3, 230, 28, 8,
+ 3, 230, 34, 8, 3, 230, 31, 8, 3, 244, 84, 8, 3, 244, 79, 8, 3, 244, 122,
+ 8, 3, 244, 99, 8, 3, 244, 168, 8, 3, 244, 159, 8, 3, 244, 197, 8, 3, 244,
+ 171, 8, 3, 244, 4, 8, 3, 244, 44, 8, 3, 244, 28, 8, 3, 243, 219, 8, 3,
+ 243, 218, 8, 3, 243, 235, 8, 3, 243, 224, 8, 3, 243, 222, 8, 3, 243, 223,
+ 8, 3, 243, 206, 8, 3, 243, 205, 8, 3, 243, 209, 8, 3, 243, 207, 8, 3,
+ 213, 144, 8, 3, 213, 139, 8, 3, 213, 176, 8, 3, 213, 153, 8, 3, 213, 166,
+ 8, 3, 213, 163, 8, 3, 213, 168, 8, 3, 213, 167, 8, 3, 214, 7, 8, 3, 214,
+ 2, 8, 3, 214, 27, 8, 3, 214, 18, 8, 3, 213, 125, 8, 3, 213, 121, 8, 3,
+ 213, 138, 8, 3, 213, 126, 8, 3, 213, 178, 8, 3, 213, 244, 8, 3, 212, 110,
+ 8, 3, 212, 108, 8, 3, 212, 116, 8, 3, 212, 113, 8, 3, 212, 111, 8, 3,
+ 212, 112, 8, 3, 212, 102, 8, 3, 212, 101, 8, 3, 212, 106, 8, 3, 212, 105,
+ 8, 3, 212, 103, 8, 3, 212, 104, 8, 3, 247, 179, 8, 3, 247, 167, 8, 3,
+ 248, 4, 8, 3, 247, 204, 8, 3, 247, 237, 8, 3, 247, 241, 8, 3, 247, 240,
+ 8, 3, 248, 153, 8, 3, 248, 148, 8, 3, 248, 222, 8, 3, 248, 173, 8, 3,
+ 246, 63, 8, 3, 246, 64, 8, 3, 247, 121, 8, 3, 246, 103, 8, 3, 247, 146,
+ 8, 3, 247, 123, 8, 3, 248, 31, 8, 3, 248, 91, 8, 3, 248, 46, 8, 3, 246,
+ 54, 8, 3, 246, 52, 8, 3, 246, 79, 8, 3, 246, 62, 8, 3, 246, 57, 8, 3,
+ 246, 60, 8, 3, 216, 68, 8, 3, 216, 62, 8, 3, 216, 118, 8, 3, 216, 77, 8,
+ 3, 216, 110, 8, 3, 216, 112, 8, 3, 216, 111, 8, 3, 217, 47, 8, 3, 217,
+ 34, 8, 3, 217, 106, 8, 3, 217, 55, 8, 3, 215, 103, 8, 3, 215, 102, 8, 3,
+ 215, 105, 8, 3, 215, 104, 8, 3, 216, 6, 8, 3, 216, 2, 8, 3, 111, 8, 3,
+ 216, 14, 8, 3, 216, 214, 8, 3, 217, 23, 8, 3, 216, 238, 8, 3, 215, 88, 8,
+ 3, 215, 83, 8, 3, 215, 119, 8, 3, 215, 101, 8, 3, 215, 89, 8, 3, 215, 99,
+ 8, 3, 248, 108, 8, 3, 248, 107, 8, 3, 248, 113, 8, 3, 248, 109, 8, 3,
+ 248, 110, 8, 3, 248, 112, 8, 3, 248, 111, 8, 3, 248, 129, 8, 3, 248, 128,
+ 8, 3, 248, 136, 8, 3, 248, 130, 8, 3, 248, 98, 8, 3, 248, 100, 8, 3, 248,
+ 99, 8, 3, 248, 103, 8, 3, 248, 102, 8, 3, 248, 106, 8, 3, 248, 104, 8, 3,
+ 248, 121, 8, 3, 248, 124, 8, 3, 248, 122, 8, 3, 248, 94, 8, 3, 248, 93,
+ 8, 3, 248, 101, 8, 3, 248, 97, 8, 3, 248, 95, 8, 3, 248, 96, 8, 3, 229,
+ 127, 8, 3, 229, 126, 8, 3, 229, 134, 8, 3, 229, 129, 8, 3, 229, 130, 8,
+ 3, 229, 131, 8, 3, 229, 143, 8, 3, 229, 142, 8, 3, 229, 149, 8, 3, 229,
+ 144, 8, 3, 229, 119, 8, 3, 229, 118, 8, 3, 229, 125, 8, 3, 229, 120, 8,
+ 3, 229, 135, 8, 3, 229, 141, 8, 3, 229, 139, 8, 3, 229, 111, 8, 3, 229,
+ 110, 8, 3, 229, 116, 8, 3, 229, 114, 8, 3, 229, 112, 8, 3, 229, 113, 8,
+ 3, 241, 78, 8, 3, 241, 77, 8, 3, 241, 84, 8, 3, 241, 79, 8, 3, 241, 81,
+ 8, 3, 241, 80, 8, 3, 241, 83, 8, 3, 241, 82, 8, 3, 241, 89, 8, 3, 241,
+ 88, 8, 3, 241, 91, 8, 3, 241, 90, 8, 3, 241, 72, 8, 3, 241, 73, 8, 3,
+ 241, 75, 8, 3, 241, 74, 8, 3, 241, 76, 8, 3, 241, 85, 8, 3, 241, 87, 8,
+ 3, 241, 86, 8, 3, 241, 71, 8, 3, 228, 190, 8, 3, 228, 188, 8, 3, 228,
+ 234, 8, 3, 228, 193, 8, 3, 228, 216, 8, 3, 228, 230, 8, 3, 228, 229, 8,
+ 3, 229, 184, 8, 3, 197, 8, 3, 229, 198, 8, 3, 227, 187, 8, 3, 227, 189,
+ 8, 3, 227, 188, 8, 3, 228, 52, 8, 3, 228, 39, 8, 3, 228, 75, 8, 3, 228,
+ 61, 8, 3, 229, 84, 8, 3, 229, 108, 8, 3, 229, 95, 8, 3, 227, 182, 8, 3,
+ 227, 178, 8, 3, 227, 238, 8, 3, 227, 186, 8, 3, 227, 184, 8, 3, 227, 185,
+ 8, 3, 241, 142, 8, 3, 241, 141, 8, 3, 241, 147, 8, 3, 241, 143, 8, 3,
+ 241, 144, 8, 3, 241, 146, 8, 3, 241, 145, 8, 3, 241, 152, 8, 3, 241, 151,
+ 8, 3, 241, 154, 8, 3, 241, 153, 8, 3, 241, 134, 8, 3, 241, 136, 8, 3,
+ 241, 135, 8, 3, 241, 138, 8, 3, 241, 140, 8, 3, 241, 139, 8, 3, 241, 148,
+ 8, 3, 241, 150, 8, 3, 241, 149, 8, 3, 241, 130, 8, 3, 241, 129, 8, 3,
+ 241, 137, 8, 3, 241, 133, 8, 3, 241, 131, 8, 3, 241, 132, 8, 3, 241, 124,
+ 8, 3, 241, 123, 8, 3, 241, 128, 8, 3, 241, 127, 8, 3, 241, 125, 8, 3,
+ 241, 126, 8, 3, 232, 196, 8, 3, 232, 190, 8, 3, 232, 242, 8, 3, 232, 203,
+ 8, 3, 232, 234, 8, 3, 232, 233, 8, 3, 232, 237, 8, 3, 232, 235, 8, 3,
+ 233, 80, 8, 3, 233, 70, 8, 3, 233, 136, 8, 3, 233, 89, 8, 3, 232, 80, 8,
+ 3, 232, 79, 8, 3, 232, 82, 8, 3, 232, 81, 8, 3, 232, 117, 8, 3, 232, 107,
+ 8, 3, 232, 157, 8, 3, 232, 121, 8, 3, 233, 3, 8, 3, 233, 59, 8, 3, 233,
+ 18, 8, 3, 232, 75, 8, 3, 232, 73, 8, 3, 232, 99, 8, 3, 232, 78, 8, 3,
+ 232, 76, 8, 3, 232, 77, 8, 3, 232, 55, 8, 3, 232, 54, 8, 3, 232, 63, 8,
+ 3, 232, 58, 8, 3, 232, 56, 8, 3, 232, 57, 8, 3, 242, 190, 8, 3, 242, 189,
+ 8, 3, 242, 215, 8, 3, 242, 200, 8, 3, 242, 207, 8, 3, 242, 206, 8, 3,
+ 242, 209, 8, 3, 242, 208, 8, 3, 243, 90, 8, 3, 243, 85, 8, 3, 243, 136,
+ 8, 3, 243, 100, 8, 3, 242, 92, 8, 3, 242, 91, 8, 3, 242, 94, 8, 3, 242,
+ 93, 8, 3, 242, 155, 8, 3, 242, 153, 8, 3, 242, 175, 8, 3, 242, 163, 8, 3,
+ 243, 34, 8, 3, 243, 32, 8, 3, 243, 63, 8, 3, 243, 45, 8, 3, 242, 82, 8,
+ 3, 242, 81, 8, 3, 242, 114, 8, 3, 242, 90, 8, 3, 242, 83, 8, 3, 242, 89,
+ 8, 3, 234, 62, 8, 3, 234, 61, 8, 3, 234, 93, 8, 3, 234, 76, 8, 3, 234,
+ 86, 8, 3, 234, 89, 8, 3, 234, 87, 8, 3, 234, 203, 8, 3, 234, 191, 8, 3,
+ 176, 8, 3, 234, 229, 8, 3, 233, 201, 8, 3, 233, 206, 8, 3, 233, 203, 8,
+ 3, 234, 1, 8, 3, 233, 253, 8, 3, 234, 29, 8, 3, 234, 8, 8, 3, 234, 157,
+ 8, 3, 234, 141, 8, 3, 234, 183, 8, 3, 234, 160, 8, 3, 233, 190, 8, 3,
+ 233, 187, 8, 3, 233, 218, 8, 3, 233, 200, 8, 3, 233, 193, 8, 3, 233, 197,
+ 8, 3, 243, 16, 8, 3, 243, 15, 8, 3, 243, 20, 8, 3, 243, 17, 8, 3, 243,
+ 19, 8, 3, 243, 18, 8, 3, 243, 27, 8, 3, 243, 26, 8, 3, 243, 30, 8, 3,
+ 243, 28, 8, 3, 243, 7, 8, 3, 243, 6, 8, 3, 243, 9, 8, 3, 243, 8, 8, 3,
+ 243, 12, 8, 3, 243, 11, 8, 3, 243, 14, 8, 3, 243, 13, 8, 3, 243, 22, 8,
+ 3, 243, 21, 8, 3, 243, 25, 8, 3, 243, 23, 8, 3, 243, 2, 8, 3, 243, 1, 8,
+ 3, 243, 10, 8, 3, 243, 5, 8, 3, 243, 3, 8, 3, 243, 4, 8, 3, 230, 250, 8,
+ 3, 230, 251, 8, 3, 231, 13, 8, 3, 231, 12, 8, 3, 231, 15, 8, 3, 231, 14,
+ 8, 3, 230, 241, 8, 3, 230, 243, 8, 3, 230, 242, 8, 3, 230, 246, 8, 3,
+ 230, 245, 8, 3, 230, 248, 8, 3, 230, 247, 8, 3, 230, 252, 8, 3, 230, 254,
+ 8, 3, 230, 253, 8, 3, 230, 237, 8, 3, 230, 236, 8, 3, 230, 244, 8, 3,
+ 230, 240, 8, 3, 230, 238, 8, 3, 230, 239, 8, 3, 240, 181, 8, 3, 240, 180,
+ 8, 3, 240, 187, 8, 3, 240, 182, 8, 3, 240, 184, 8, 3, 240, 183, 8, 3,
+ 240, 186, 8, 3, 240, 185, 8, 3, 240, 192, 8, 3, 240, 191, 8, 3, 240, 194,
+ 8, 3, 240, 193, 8, 3, 240, 173, 8, 3, 240, 172, 8, 3, 240, 175, 8, 3,
+ 240, 174, 8, 3, 240, 177, 8, 3, 240, 176, 8, 3, 240, 179, 8, 3, 240, 178,
+ 8, 3, 240, 188, 8, 3, 240, 190, 8, 3, 240, 189, 8, 3, 229, 25, 8, 3, 229,
+ 27, 8, 3, 229, 26, 8, 3, 229, 68, 8, 3, 229, 66, 8, 3, 229, 78, 8, 3,
+ 229, 71, 8, 3, 228, 244, 8, 3, 228, 243, 8, 3, 228, 245, 8, 3, 228, 253,
+ 8, 3, 228, 250, 8, 3, 229, 5, 8, 3, 228, 255, 8, 3, 229, 59, 8, 3, 229,
+ 65, 8, 3, 229, 61, 8, 3, 241, 157, 8, 3, 241, 167, 8, 3, 241, 176, 8, 3,
+ 241, 252, 8, 3, 241, 244, 8, 3, 162, 8, 3, 242, 7, 8, 3, 240, 207, 8, 3,
+ 240, 206, 8, 3, 240, 209, 8, 3, 240, 208, 8, 3, 240, 243, 8, 3, 240, 234,
+ 8, 3, 241, 69, 8, 3, 241, 48, 8, 3, 241, 195, 8, 3, 241, 239, 8, 3, 241,
+ 207, 8, 3, 212, 43, 8, 3, 212, 28, 8, 3, 212, 65, 8, 3, 212, 51, 8, 3,
+ 211, 185, 8, 3, 211, 187, 8, 3, 211, 186, 8, 3, 211, 203, 8, 3, 211, 227,
+ 8, 3, 211, 210, 8, 3, 212, 5, 8, 3, 212, 22, 8, 3, 212, 10, 8, 3, 210,
+ 30, 8, 3, 210, 29, 8, 3, 210, 44, 8, 3, 210, 32, 8, 3, 210, 37, 8, 3,
+ 210, 39, 8, 3, 210, 38, 8, 3, 210, 102, 8, 3, 210, 99, 8, 3, 210, 116, 8,
+ 3, 210, 105, 8, 3, 210, 6, 8, 3, 210, 8, 8, 3, 210, 7, 8, 3, 210, 19, 8,
+ 3, 210, 18, 8, 3, 210, 23, 8, 3, 210, 20, 8, 3, 210, 84, 8, 3, 210, 94,
+ 8, 3, 210, 88, 8, 3, 210, 2, 8, 3, 210, 1, 8, 3, 210, 13, 8, 3, 210, 5,
+ 8, 3, 210, 3, 8, 3, 210, 4, 8, 3, 209, 245, 8, 3, 209, 244, 8, 3, 209,
+ 250, 8, 3, 209, 248, 8, 3, 209, 246, 8, 3, 209, 247, 8, 3, 250, 29, 8, 3,
+ 250, 25, 8, 3, 250, 52, 8, 3, 250, 38, 8, 3, 250, 49, 8, 3, 250, 43, 8,
+ 3, 250, 51, 8, 3, 250, 50, 8, 3, 250, 225, 8, 3, 250, 218, 8, 3, 251, 34,
+ 8, 3, 250, 252, 8, 3, 249, 105, 8, 3, 249, 107, 8, 3, 249, 106, 8, 3,
+ 249, 154, 8, 3, 249, 145, 8, 3, 249, 239, 8, 3, 249, 170, 8, 3, 250, 161,
+ 8, 3, 250, 191, 8, 3, 250, 166, 8, 3, 249, 85, 8, 3, 249, 83, 8, 3, 249,
+ 113, 8, 3, 249, 103, 8, 3, 249, 90, 8, 3, 249, 102, 8, 3, 249, 64, 8, 3,
+ 249, 63, 8, 3, 249, 74, 8, 3, 249, 70, 8, 3, 249, 65, 8, 3, 249, 67, 8,
+ 3, 209, 228, 8, 3, 209, 227, 8, 3, 209, 234, 8, 3, 209, 229, 8, 3, 209,
+ 231, 8, 3, 209, 230, 8, 3, 209, 233, 8, 3, 209, 232, 8, 3, 209, 240, 8,
+ 3, 209, 239, 8, 3, 209, 243, 8, 3, 209, 241, 8, 3, 209, 224, 8, 3, 209,
+ 226, 8, 3, 209, 225, 8, 3, 209, 235, 8, 3, 209, 238, 8, 3, 209, 236, 8,
+ 3, 209, 217, 8, 3, 209, 221, 8, 3, 209, 220, 8, 3, 209, 218, 8, 3, 209,
+ 219, 8, 3, 209, 211, 8, 3, 209, 210, 8, 3, 209, 216, 8, 3, 209, 214, 8,
+ 3, 209, 212, 8, 3, 209, 213, 8, 3, 227, 105, 8, 3, 227, 104, 8, 3, 227,
+ 110, 8, 3, 227, 106, 8, 3, 227, 107, 8, 3, 227, 109, 8, 3, 227, 108, 8,
+ 3, 227, 115, 8, 3, 227, 114, 8, 3, 227, 118, 8, 3, 227, 117, 8, 3, 227,
+ 98, 8, 3, 227, 99, 8, 3, 227, 102, 8, 3, 227, 103, 8, 3, 227, 111, 8, 3,
+ 227, 113, 8, 3, 227, 93, 8, 3, 227, 101, 8, 3, 227, 97, 8, 3, 227, 94, 8,
+ 3, 227, 95, 8, 3, 227, 88, 8, 3, 227, 87, 8, 3, 227, 92, 8, 3, 227, 91,
+ 8, 3, 227, 89, 8, 3, 227, 90, 8, 3, 219, 128, 8, 3, 194, 8, 3, 219, 192,
+ 8, 3, 219, 131, 8, 3, 219, 184, 8, 3, 219, 187, 8, 3, 219, 185, 8, 3,
+ 221, 227, 8, 3, 221, 215, 8, 3, 206, 8, 3, 221, 235, 8, 3, 218, 29, 8, 3,
+ 218, 31, 8, 3, 218, 30, 8, 3, 219, 35, 8, 3, 219, 24, 8, 3, 219, 59, 8,
+ 3, 219, 39, 8, 3, 220, 115, 8, 3, 221, 182, 8, 3, 220, 140, 8, 3, 218, 6,
+ 8, 3, 218, 4, 8, 3, 218, 84, 8, 3, 218, 28, 8, 3, 218, 10, 8, 3, 218, 18,
+ 8, 3, 217, 167, 8, 3, 217, 166, 8, 3, 217, 233, 8, 3, 217, 174, 8, 3,
+ 217, 169, 8, 3, 217, 173, 8, 3, 218, 187, 8, 3, 218, 186, 8, 3, 218, 193,
+ 8, 3, 218, 188, 8, 3, 218, 190, 8, 3, 218, 192, 8, 3, 218, 191, 8, 3,
+ 218, 201, 8, 3, 218, 199, 8, 3, 218, 224, 8, 3, 218, 202, 8, 3, 218, 182,
+ 8, 3, 218, 181, 8, 3, 218, 185, 8, 3, 218, 183, 8, 3, 218, 195, 8, 3,
+ 218, 198, 8, 3, 218, 196, 8, 3, 218, 178, 8, 3, 218, 176, 8, 3, 218, 180,
+ 8, 3, 218, 179, 8, 3, 218, 171, 8, 3, 218, 170, 8, 3, 218, 175, 8, 3,
+ 218, 174, 8, 3, 218, 172, 8, 3, 218, 173, 8, 3, 210, 77, 8, 3, 210, 76,
+ 8, 3, 210, 82, 8, 3, 210, 79, 8, 3, 210, 59, 8, 3, 210, 61, 8, 3, 210,
+ 60, 8, 3, 210, 64, 8, 3, 210, 63, 8, 3, 210, 67, 8, 3, 210, 65, 8, 3,
+ 210, 71, 8, 3, 210, 70, 8, 3, 210, 74, 8, 3, 210, 72, 8, 3, 210, 55, 8,
+ 3, 210, 54, 8, 3, 210, 62, 8, 3, 210, 58, 8, 3, 210, 56, 8, 3, 210, 57,
+ 8, 3, 210, 47, 8, 3, 210, 46, 8, 3, 210, 51, 8, 3, 210, 50, 8, 3, 210,
+ 48, 8, 3, 210, 49, 8, 3, 250, 137, 8, 3, 250, 134, 8, 3, 250, 158, 8, 3,
+ 250, 145, 8, 3, 250, 66, 8, 3, 250, 65, 8, 3, 250, 68, 8, 3, 250, 67, 8,
+ 3, 250, 80, 8, 3, 250, 79, 8, 3, 250, 87, 8, 3, 250, 82, 8, 3, 250, 116,
+ 8, 3, 250, 114, 8, 3, 250, 132, 8, 3, 250, 122, 8, 3, 250, 60, 8, 3, 250,
+ 70, 8, 3, 250, 64, 8, 3, 250, 61, 8, 3, 250, 63, 8, 3, 250, 54, 8, 3,
+ 250, 53, 8, 3, 250, 58, 8, 3, 250, 57, 8, 3, 250, 55, 8, 3, 250, 56, 8,
+ 3, 222, 176, 8, 3, 222, 180, 8, 3, 222, 159, 8, 3, 222, 160, 8, 3, 222,
+ 163, 8, 3, 222, 162, 8, 3, 222, 166, 8, 3, 222, 164, 8, 3, 222, 170, 8,
+ 3, 222, 169, 8, 3, 222, 175, 8, 3, 222, 171, 8, 3, 222, 155, 8, 3, 222,
+ 153, 8, 3, 222, 161, 8, 3, 222, 158, 8, 3, 222, 156, 8, 3, 222, 157, 8,
+ 3, 222, 148, 8, 3, 222, 147, 8, 3, 222, 152, 8, 3, 222, 151, 8, 3, 222,
+ 149, 8, 3, 222, 150, 8, 3, 228, 35, 8, 3, 228, 34, 8, 3, 228, 37, 8, 3,
+ 228, 36, 8, 3, 228, 27, 8, 3, 228, 29, 8, 3, 228, 28, 8, 3, 228, 31, 8,
+ 3, 228, 30, 8, 3, 228, 33, 8, 3, 228, 32, 8, 3, 228, 22, 8, 3, 228, 21,
+ 8, 3, 228, 26, 8, 3, 228, 25, 8, 3, 228, 23, 8, 3, 228, 24, 8, 3, 228,
+ 16, 8, 3, 228, 15, 8, 3, 228, 20, 8, 3, 228, 19, 8, 3, 228, 17, 8, 3,
+ 228, 18, 8, 3, 220, 73, 8, 3, 220, 68, 8, 3, 220, 103, 8, 3, 220, 84, 8,
+ 3, 219, 216, 8, 3, 219, 218, 8, 3, 219, 217, 8, 3, 219, 237, 8, 3, 219,
+ 234, 8, 3, 220, 8, 8, 3, 219, 255, 8, 3, 220, 43, 8, 3, 220, 36, 8, 3,
+ 220, 64, 8, 3, 220, 51, 8, 3, 219, 212, 8, 3, 219, 210, 8, 3, 219, 226,
+ 8, 3, 219, 215, 8, 3, 219, 213, 8, 3, 219, 214, 8, 3, 219, 195, 8, 3,
+ 219, 194, 8, 3, 219, 201, 8, 3, 219, 198, 8, 3, 219, 196, 8, 3, 219, 197,
+ 8, 3, 223, 142, 8, 3, 223, 136, 8, 3, 205, 8, 3, 223, 148, 8, 3, 222,
+ 121, 8, 3, 222, 123, 8, 3, 222, 122, 8, 3, 222, 189, 8, 3, 222, 182, 8,
+ 3, 222, 212, 8, 3, 222, 193, 8, 3, 223, 44, 8, 3, 223, 129, 8, 3, 223,
+ 82, 8, 3, 222, 114, 8, 3, 222, 111, 8, 3, 222, 141, 8, 3, 222, 120, 8, 3,
+ 222, 116, 8, 3, 222, 117, 8, 3, 222, 96, 8, 3, 222, 95, 8, 3, 222, 101,
+ 8, 3, 222, 99, 8, 3, 222, 97, 8, 3, 222, 98, 8, 3, 235, 99, 8, 3, 235,
+ 98, 8, 3, 235, 109, 8, 3, 235, 100, 8, 3, 235, 105, 8, 3, 235, 104, 8, 3,
+ 235, 107, 8, 3, 235, 106, 8, 3, 235, 42, 8, 3, 235, 41, 8, 3, 235, 44, 8,
+ 3, 235, 43, 8, 3, 235, 57, 8, 3, 235, 55, 8, 3, 235, 69, 8, 3, 235, 59,
+ 8, 3, 235, 35, 8, 3, 235, 33, 8, 3, 235, 52, 8, 3, 235, 40, 8, 3, 235,
+ 37, 8, 3, 235, 38, 8, 3, 235, 27, 8, 3, 235, 26, 8, 3, 235, 31, 8, 3,
+ 235, 30, 8, 3, 235, 28, 8, 3, 235, 29, 8, 3, 224, 47, 8, 3, 224, 45, 8,
+ 3, 224, 54, 8, 3, 224, 48, 8, 3, 224, 51, 8, 3, 224, 50, 8, 3, 224, 53,
+ 8, 3, 224, 52, 8, 3, 224, 0, 8, 3, 223, 253, 8, 3, 224, 2, 8, 3, 224, 1,
+ 8, 3, 224, 34, 8, 3, 224, 33, 8, 3, 224, 43, 8, 3, 224, 37, 8, 3, 223,
+ 248, 8, 3, 223, 244, 8, 3, 224, 31, 8, 3, 223, 252, 8, 3, 223, 250, 8, 3,
+ 223, 251, 8, 3, 223, 228, 8, 3, 223, 226, 8, 3, 223, 238, 8, 3, 223, 231,
+ 8, 3, 223, 229, 8, 3, 223, 230, 8, 3, 235, 88, 8, 3, 235, 87, 8, 3, 235,
+ 94, 8, 3, 235, 89, 8, 3, 235, 91, 8, 3, 235, 90, 8, 3, 235, 93, 8, 3,
+ 235, 92, 8, 3, 235, 79, 8, 3, 235, 81, 8, 3, 235, 80, 8, 3, 235, 84, 8,
+ 3, 235, 83, 8, 3, 235, 86, 8, 3, 235, 85, 8, 3, 235, 75, 8, 3, 235, 74,
+ 8, 3, 235, 82, 8, 3, 235, 78, 8, 3, 235, 76, 8, 3, 235, 77, 8, 3, 235,
+ 71, 8, 3, 235, 70, 8, 3, 235, 73, 8, 3, 235, 72, 8, 3, 228, 163, 8, 3,
+ 228, 162, 8, 3, 228, 170, 8, 3, 228, 164, 8, 3, 228, 166, 8, 3, 228, 165,
+ 8, 3, 228, 169, 8, 3, 228, 167, 8, 3, 228, 152, 8, 3, 228, 153, 8, 3,
+ 228, 158, 8, 3, 228, 157, 8, 3, 228, 161, 8, 3, 228, 159, 8, 3, 228, 147,
+ 8, 3, 228, 156, 8, 3, 228, 151, 8, 3, 228, 148, 8, 3, 228, 149, 8, 3,
+ 228, 142, 8, 3, 228, 141, 8, 3, 228, 146, 8, 3, 228, 145, 8, 3, 228, 143,
+ 8, 3, 228, 144, 8, 3, 227, 138, 8, 3, 227, 137, 8, 3, 227, 149, 8, 3,
+ 227, 142, 8, 3, 227, 146, 8, 3, 227, 145, 8, 3, 227, 148, 8, 3, 227, 147,
+ 8, 3, 227, 125, 8, 3, 227, 127, 8, 3, 227, 126, 8, 3, 227, 131, 8, 3,
+ 227, 130, 8, 3, 227, 135, 8, 3, 227, 132, 8, 3, 227, 123, 8, 3, 227, 121,
+ 8, 3, 227, 129, 8, 3, 227, 124, 8, 3, 211, 150, 8, 3, 211, 149, 8, 3,
+ 211, 157, 8, 3, 211, 152, 8, 3, 211, 154, 8, 3, 211, 153, 8, 3, 211, 156,
+ 8, 3, 211, 155, 8, 3, 211, 139, 8, 3, 211, 140, 8, 3, 211, 144, 8, 3,
+ 211, 143, 8, 3, 211, 148, 8, 3, 211, 146, 8, 3, 211, 121, 8, 3, 211, 119,
+ 8, 3, 211, 131, 8, 3, 211, 124, 8, 3, 211, 122, 8, 3, 211, 123, 8, 3,
+ 210, 250, 8, 3, 210, 248, 8, 3, 211, 8, 8, 3, 210, 251, 8, 3, 211, 2, 8,
+ 3, 211, 1, 8, 3, 211, 5, 8, 3, 211, 3, 8, 3, 210, 191, 8, 3, 210, 190, 8,
+ 3, 210, 194, 8, 3, 210, 192, 8, 3, 210, 224, 8, 3, 210, 221, 8, 3, 210,
+ 244, 8, 3, 210, 228, 8, 3, 210, 182, 8, 3, 210, 178, 8, 3, 210, 212, 8,
+ 3, 210, 189, 8, 3, 210, 185, 8, 3, 210, 186, 8, 3, 210, 162, 8, 3, 210,
+ 161, 8, 3, 210, 169, 8, 3, 210, 165, 8, 3, 210, 163, 8, 3, 210, 164, 8,
+ 34, 224, 34, 8, 34, 232, 242, 8, 34, 234, 62, 8, 34, 227, 142, 8, 34,
+ 249, 70, 8, 34, 218, 193, 8, 34, 243, 13, 8, 34, 243, 45, 8, 34, 230,
+ 231, 8, 34, 240, 181, 8, 34, 232, 57, 8, 34, 252, 84, 8, 34, 230, 127, 8,
+ 34, 210, 244, 8, 34, 224, 122, 8, 34, 240, 175, 8, 34, 217, 47, 8, 34,
+ 243, 136, 8, 34, 210, 5, 8, 34, 249, 64, 8, 34, 248, 96, 8, 34, 251, 99,
+ 8, 34, 243, 9, 8, 34, 227, 132, 8, 34, 215, 119, 8, 34, 226, 176, 8, 34,
+ 235, 75, 8, 34, 210, 19, 8, 34, 224, 101, 8, 34, 241, 109, 8, 34, 210,
+ 250, 8, 34, 212, 112, 8, 34, 219, 201, 8, 34, 213, 244, 8, 34, 210, 116,
+ 8, 34, 235, 69, 8, 34, 227, 97, 8, 34, 235, 73, 8, 34, 242, 155, 8, 34,
+ 235, 93, 8, 34, 211, 227, 8, 34, 246, 79, 8, 34, 219, 214, 8, 34, 232,
+ 237, 8, 34, 249, 74, 8, 34, 249, 106, 8, 34, 250, 38, 8, 34, 240, 178, 8,
+ 34, 220, 73, 8, 34, 210, 4, 8, 34, 219, 255, 8, 34, 250, 132, 8, 34, 209,
+ 231, 8, 34, 229, 174, 8, 34, 234, 183, 232, 197, 1, 252, 192, 232, 197,
+ 1, 190, 232, 197, 1, 225, 148, 232, 197, 1, 248, 222, 232, 197, 1, 217,
+ 106, 232, 197, 1, 216, 209, 232, 197, 1, 243, 136, 232, 197, 1, 176, 232,
+ 197, 1, 234, 133, 232, 197, 1, 235, 142, 232, 197, 1, 251, 34, 232, 197,
+ 1, 250, 158, 232, 197, 1, 246, 39, 232, 197, 1, 215, 184, 232, 197, 1,
+ 215, 176, 232, 197, 1, 185, 232, 197, 1, 197, 232, 197, 1, 233, 136, 232,
+ 197, 1, 206, 232, 197, 1, 210, 82, 232, 197, 1, 210, 116, 232, 197, 1,
+ 229, 78, 232, 197, 1, 162, 232, 197, 1, 211, 165, 232, 197, 1, 241, 190,
+ 232, 197, 1, 244, 197, 232, 197, 1, 212, 65, 232, 197, 1, 220, 103, 232,
+ 197, 1, 191, 232, 197, 1, 242, 250, 232, 197, 1, 61, 232, 197, 1, 254,
+ 244, 232, 197, 1, 75, 232, 197, 1, 245, 56, 232, 197, 1, 73, 232, 197, 1,
+ 76, 232, 197, 1, 70, 232, 197, 1, 214, 214, 232, 197, 1, 214, 208, 232,
+ 197, 1, 226, 235, 232, 197, 1, 138, 230, 33, 216, 118, 232, 197, 1, 138,
+ 229, 230, 225, 17, 232, 197, 1, 138, 230, 33, 249, 73, 232, 197, 1, 138,
+ 230, 33, 251, 206, 232, 197, 1, 138, 230, 33, 197, 232, 197, 1, 138, 230,
+ 33, 235, 116, 232, 197, 224, 142, 249, 220, 232, 197, 224, 142, 243, 230,
+ 218, 130, 41, 3, 245, 210, 41, 3, 245, 206, 41, 3, 241, 221, 41, 3, 212,
+ 17, 41, 3, 212, 16, 41, 3, 225, 212, 41, 3, 252, 14, 41, 3, 252, 67, 41,
+ 3, 231, 117, 41, 3, 233, 248, 41, 3, 231, 7, 41, 3, 243, 76, 41, 3, 244,
+ 148, 41, 3, 213, 250, 41, 3, 217, 12, 41, 3, 216, 195, 41, 3, 248, 17,
+ 41, 3, 248, 14, 41, 3, 233, 51, 41, 3, 223, 109, 41, 3, 248, 78, 41, 3,
+ 229, 140, 41, 3, 221, 171, 41, 3, 220, 62, 41, 3, 210, 92, 41, 3, 210,
+ 73, 41, 3, 250, 183, 41, 3, 235, 125, 41, 3, 228, 177, 41, 3, 211, 44,
+ 41, 3, 234, 182, 41, 3, 229, 52, 41, 3, 243, 56, 41, 3, 231, 81, 41, 3,
+ 229, 104, 41, 3, 227, 156, 41, 3, 73, 41, 3, 236, 0, 41, 3, 241, 181, 41,
+ 3, 241, 161, 41, 3, 211, 250, 41, 3, 211, 241, 41, 3, 225, 109, 41, 3,
+ 252, 12, 41, 3, 252, 7, 41, 3, 231, 110, 41, 3, 233, 245, 41, 3, 231, 4,
+ 41, 3, 243, 72, 41, 3, 244, 122, 41, 3, 213, 176, 41, 3, 216, 118, 41, 3,
+ 216, 176, 41, 3, 248, 9, 41, 3, 248, 13, 41, 3, 232, 242, 41, 3, 223, 36,
+ 41, 3, 248, 4, 41, 3, 229, 134, 41, 3, 219, 192, 41, 3, 220, 33, 41, 3,
+ 210, 44, 41, 3, 210, 69, 41, 3, 250, 52, 41, 3, 235, 109, 41, 3, 228,
+ 170, 41, 3, 211, 8, 41, 3, 234, 93, 41, 3, 229, 44, 41, 3, 242, 215, 41,
+ 3, 230, 231, 41, 3, 228, 234, 41, 3, 227, 149, 41, 3, 61, 41, 3, 254,
+ 124, 41, 3, 229, 73, 41, 3, 162, 41, 3, 242, 19, 41, 3, 212, 65, 41, 3,
+ 212, 55, 41, 3, 190, 41, 3, 252, 19, 41, 3, 252, 192, 41, 3, 231, 125,
+ 41, 3, 233, 252, 41, 3, 233, 251, 41, 3, 231, 11, 41, 3, 243, 80, 41, 3,
+ 244, 197, 41, 3, 214, 27, 41, 3, 217, 106, 41, 3, 216, 209, 41, 3, 248,
+ 26, 41, 3, 248, 16, 41, 3, 233, 136, 41, 3, 205, 41, 3, 248, 222, 41, 3,
+ 229, 149, 41, 3, 206, 41, 3, 220, 103, 41, 3, 210, 116, 41, 3, 210, 82,
+ 41, 3, 251, 34, 41, 3, 235, 142, 41, 3, 228, 186, 41, 3, 191, 41, 3, 176,
+ 41, 3, 234, 235, 41, 3, 229, 57, 41, 3, 243, 136, 41, 3, 185, 41, 3, 197,
+ 41, 3, 227, 166, 41, 3, 226, 184, 41, 3, 226, 180, 41, 3, 241, 54, 41, 3,
+ 211, 215, 41, 3, 211, 211, 41, 3, 224, 250, 41, 3, 252, 10, 41, 3, 251,
+ 194, 41, 3, 231, 105, 41, 3, 233, 243, 41, 3, 231, 0, 41, 3, 243, 68, 41,
+ 3, 244, 35, 41, 3, 213, 127, 41, 3, 216, 18, 41, 3, 216, 154, 41, 3, 248,
+ 7, 41, 3, 248, 11, 41, 3, 232, 128, 41, 3, 222, 198, 41, 3, 247, 126, 41,
+ 3, 229, 121, 41, 3, 219, 41, 41, 3, 220, 2, 41, 3, 210, 21, 41, 3, 210,
+ 66, 41, 3, 249, 175, 41, 3, 235, 60, 41, 3, 228, 160, 41, 3, 210, 229,
+ 41, 3, 234, 11, 41, 3, 229, 42, 41, 3, 242, 165, 41, 3, 230, 133, 41, 3,
+ 228, 65, 41, 3, 227, 133, 41, 3, 70, 41, 3, 214, 190, 41, 3, 240, 223,
+ 41, 3, 240, 213, 41, 3, 211, 195, 41, 3, 211, 189, 41, 3, 224, 151, 41,
+ 3, 252, 9, 41, 3, 251, 126, 41, 3, 231, 104, 41, 3, 233, 241, 41, 3, 230,
+ 255, 41, 3, 243, 67, 41, 3, 243, 235, 41, 3, 212, 116, 41, 3, 215, 119,
+ 41, 3, 216, 137, 41, 3, 248, 5, 41, 3, 248, 10, 41, 3, 232, 99, 41, 3,
+ 222, 141, 41, 3, 246, 79, 41, 3, 229, 116, 41, 3, 218, 84, 41, 3, 219,
+ 226, 41, 3, 210, 13, 41, 3, 210, 62, 41, 3, 249, 113, 41, 3, 235, 52, 41,
+ 3, 228, 156, 41, 3, 210, 212, 41, 3, 233, 218, 41, 3, 229, 41, 41, 3,
+ 242, 114, 41, 3, 230, 103, 41, 3, 227, 238, 41, 3, 227, 129, 41, 3, 76,
+ 41, 3, 226, 197, 41, 3, 229, 1, 41, 3, 241, 69, 41, 3, 241, 57, 41, 3,
+ 211, 227, 41, 3, 211, 216, 41, 3, 225, 17, 41, 3, 252, 11, 41, 3, 251,
+ 206, 41, 3, 231, 106, 41, 3, 233, 244, 41, 3, 231, 2, 41, 3, 243, 70, 41,
+ 3, 243, 69, 41, 3, 244, 44, 41, 3, 213, 138, 41, 3, 111, 41, 3, 216, 157,
+ 41, 3, 248, 8, 41, 3, 248, 12, 41, 3, 232, 157, 41, 3, 222, 212, 41, 3,
+ 247, 146, 41, 3, 229, 125, 41, 3, 219, 59, 41, 3, 220, 8, 41, 3, 210, 23,
+ 41, 3, 210, 67, 41, 3, 249, 239, 41, 3, 235, 69, 41, 3, 228, 161, 41, 3,
+ 210, 244, 41, 3, 234, 29, 41, 3, 229, 43, 41, 3, 242, 175, 41, 3, 230,
+ 162, 41, 3, 228, 75, 41, 3, 227, 135, 41, 3, 75, 41, 3, 245, 151, 41, 3,
+ 229, 62, 41, 3, 241, 239, 41, 3, 241, 210, 41, 3, 212, 22, 41, 3, 212,
+ 12, 41, 3, 225, 222, 41, 3, 252, 15, 41, 3, 252, 76, 41, 3, 231, 118, 41,
+ 3, 233, 249, 41, 3, 233, 247, 41, 3, 231, 8, 41, 3, 243, 77, 41, 3, 243,
+ 75, 41, 3, 244, 155, 41, 3, 213, 255, 41, 3, 217, 23, 41, 3, 216, 196,
+ 41, 3, 248, 18, 41, 3, 248, 15, 41, 3, 233, 59, 41, 3, 223, 129, 41, 3,
+ 248, 91, 41, 3, 229, 141, 41, 3, 221, 182, 41, 3, 220, 64, 41, 3, 210,
+ 94, 41, 3, 210, 74, 41, 3, 250, 191, 41, 3, 235, 127, 41, 3, 228, 179,
+ 41, 3, 211, 47, 41, 3, 234, 183, 41, 3, 229, 53, 41, 3, 229, 49, 41, 3,
+ 243, 63, 41, 3, 243, 52, 41, 3, 231, 92, 41, 3, 229, 108, 41, 3, 227,
+ 157, 41, 3, 229, 80, 41, 3, 233, 23, 41, 249, 220, 41, 243, 230, 218,
+ 130, 41, 224, 14, 78, 41, 3, 229, 124, 244, 197, 41, 3, 229, 124, 176,
+ 41, 3, 229, 124, 219, 41, 41, 16, 244, 145, 41, 16, 234, 181, 41, 16,
+ 216, 82, 41, 16, 228, 209, 41, 16, 252, 148, 41, 16, 244, 196, 41, 16,
+ 217, 102, 41, 16, 248, 177, 41, 16, 247, 125, 41, 16, 233, 207, 41, 16,
+ 216, 22, 41, 16, 247, 145, 41, 16, 235, 61, 41, 21, 210, 86, 41, 21, 110,
+ 41, 21, 105, 41, 21, 158, 41, 21, 161, 41, 21, 189, 41, 21, 194, 41, 21,
+ 198, 41, 21, 195, 41, 21, 200, 41, 3, 229, 124, 185, 41, 3, 229, 124,
+ 247, 146, 33, 6, 1, 210, 90, 33, 4, 1, 210, 90, 33, 6, 1, 246, 35, 33, 4,
+ 1, 246, 35, 33, 6, 1, 223, 50, 246, 37, 33, 4, 1, 223, 50, 246, 37, 33,
+ 6, 1, 235, 186, 33, 4, 1, 235, 186, 33, 6, 1, 247, 162, 33, 4, 1, 247,
+ 162, 33, 6, 1, 230, 141, 214, 205, 33, 4, 1, 230, 141, 214, 205, 33, 6,
+ 1, 251, 137, 226, 202, 33, 4, 1, 251, 137, 226, 202, 33, 6, 1, 229, 88,
+ 211, 31, 33, 4, 1, 229, 88, 211, 31, 33, 6, 1, 211, 28, 2, 252, 186, 211,
+ 31, 33, 4, 1, 211, 28, 2, 252, 186, 211, 31, 33, 6, 1, 235, 184, 211, 59,
+ 33, 4, 1, 235, 184, 211, 59, 33, 6, 1, 223, 50, 210, 212, 33, 4, 1, 223,
+ 50, 210, 212, 33, 6, 1, 235, 184, 61, 33, 4, 1, 235, 184, 61, 33, 6, 1,
+ 250, 1, 232, 193, 210, 183, 33, 4, 1, 250, 1, 232, 193, 210, 183, 33, 6,
+ 1, 251, 215, 210, 183, 33, 4, 1, 251, 215, 210, 183, 33, 6, 1, 235, 184,
+ 250, 1, 232, 193, 210, 183, 33, 4, 1, 235, 184, 250, 1, 232, 193, 210,
+ 183, 33, 6, 1, 210, 246, 33, 4, 1, 210, 246, 33, 6, 1, 223, 50, 215, 179,
+ 33, 4, 1, 223, 50, 215, 179, 33, 6, 1, 219, 53, 248, 91, 33, 4, 1, 219,
+ 53, 248, 91, 33, 6, 1, 219, 53, 245, 175, 33, 4, 1, 219, 53, 245, 175,
+ 33, 6, 1, 219, 53, 245, 160, 33, 4, 1, 219, 53, 245, 160, 33, 6, 1, 230,
+ 145, 76, 33, 4, 1, 230, 145, 76, 33, 6, 1, 251, 241, 76, 33, 4, 1, 251,
+ 241, 76, 33, 6, 1, 52, 230, 145, 76, 33, 4, 1, 52, 230, 145, 76, 33, 1,
+ 230, 87, 76, 38, 33, 212, 100, 38, 33, 216, 249, 230, 192, 50, 38, 33,
+ 240, 212, 230, 192, 50, 38, 33, 216, 149, 230, 192, 50, 219, 94, 253,
+ 217, 38, 33, 1, 214, 202, 236, 61, 38, 33, 1, 73, 38, 33, 1, 211, 8, 38,
+ 33, 1, 70, 38, 33, 1, 242, 4, 50, 38, 33, 1, 211, 27, 38, 33, 1, 219, 53,
+ 50, 38, 33, 1, 226, 202, 38, 33, 234, 193, 38, 33, 225, 228, 33, 234,
+ 193, 33, 225, 228, 33, 6, 1, 246, 47, 33, 4, 1, 246, 47, 33, 6, 1, 246,
+ 28, 33, 4, 1, 246, 28, 33, 6, 1, 210, 52, 33, 4, 1, 210, 52, 33, 6, 1,
+ 250, 207, 33, 4, 1, 250, 207, 33, 6, 1, 246, 26, 33, 4, 1, 246, 26, 33,
+ 6, 1, 217, 24, 2, 230, 225, 103, 33, 4, 1, 217, 24, 2, 230, 225, 103, 33,
+ 6, 1, 215, 78, 33, 4, 1, 215, 78, 33, 6, 1, 215, 161, 33, 4, 1, 215, 161,
+ 33, 6, 1, 215, 165, 33, 4, 1, 215, 165, 33, 6, 1, 217, 29, 33, 4, 1, 217,
+ 29, 33, 6, 1, 240, 199, 33, 4, 1, 240, 199, 33, 6, 1, 219, 207, 33, 4, 1,
+ 219, 207, 38, 33, 1, 235, 184, 75, 20, 1, 61, 20, 1, 176, 20, 1, 70, 20,
+ 1, 233, 218, 20, 1, 245, 210, 20, 1, 223, 109, 20, 1, 217, 87, 20, 1, 76,
+ 20, 1, 227, 149, 20, 1, 73, 20, 1, 233, 136, 20, 1, 190, 20, 1, 222, 240,
+ 20, 1, 223, 30, 20, 1, 233, 50, 20, 1, 231, 80, 20, 1, 217, 102, 20, 1,
+ 229, 147, 20, 1, 228, 184, 20, 1, 193, 20, 1, 218, 5, 20, 1, 230, 103,
+ 20, 1, 220, 28, 20, 1, 219, 192, 20, 1, 220, 38, 20, 1, 220, 124, 20, 1,
+ 233, 156, 20, 1, 234, 157, 20, 1, 227, 210, 20, 1, 227, 238, 20, 1, 228,
+ 155, 20, 1, 210, 226, 20, 1, 219, 226, 20, 1, 210, 187, 20, 1, 191, 20,
+ 1, 228, 10, 20, 1, 234, 143, 20, 1, 225, 152, 20, 1, 228, 177, 20, 1,
+ 227, 247, 20, 1, 224, 145, 20, 1, 211, 192, 20, 1, 225, 212, 20, 1, 244,
+ 148, 20, 1, 222, 141, 20, 1, 232, 99, 20, 1, 230, 231, 20, 1, 228, 234,
+ 20, 1, 223, 52, 20, 1, 223, 172, 20, 1, 234, 166, 20, 1, 229, 8, 20, 1,
+ 229, 57, 20, 1, 229, 78, 20, 1, 220, 8, 20, 1, 224, 148, 20, 1, 243, 235,
+ 20, 1, 244, 38, 20, 1, 212, 65, 20, 1, 197, 20, 1, 232, 242, 20, 1, 225,
+ 109, 20, 1, 232, 120, 20, 1, 234, 29, 20, 1, 231, 115, 20, 1, 223, 84,
+ 20, 1, 231, 59, 20, 1, 185, 20, 1, 216, 118, 20, 1, 234, 93, 20, 1, 230,
+ 162, 20, 1, 231, 123, 20, 1, 216, 231, 20, 1, 233, 252, 20, 1, 216, 248,
+ 20, 1, 227, 239, 20, 1, 221, 252, 20, 1, 244, 193, 20, 1, 233, 254, 20,
+ 1, 234, 25, 20, 38, 164, 234, 6, 20, 38, 164, 215, 111, 20, 228, 183, 20,
+ 243, 230, 218, 130, 20, 249, 227, 20, 249, 220, 20, 220, 151, 20, 224,
+ 14, 78, 58, 1, 250, 97, 138, 210, 254, 225, 62, 58, 1, 250, 97, 138, 211,
+ 70, 225, 62, 58, 1, 250, 97, 138, 210, 254, 220, 85, 58, 1, 250, 97, 138,
+ 211, 70, 220, 85, 58, 1, 250, 97, 138, 210, 254, 224, 31, 58, 1, 250, 97,
+ 138, 211, 70, 224, 31, 58, 1, 250, 97, 138, 210, 254, 222, 141, 58, 1,
+ 250, 97, 138, 211, 70, 222, 141, 58, 1, 245, 21, 246, 119, 138, 130, 58,
+ 1, 125, 246, 119, 138, 130, 58, 1, 230, 226, 246, 119, 138, 130, 58, 1,
+ 121, 246, 119, 138, 130, 58, 1, 245, 20, 246, 119, 138, 130, 58, 1, 245,
+ 21, 246, 119, 233, 40, 138, 130, 58, 1, 125, 246, 119, 233, 40, 138, 130,
+ 58, 1, 230, 226, 246, 119, 233, 40, 138, 130, 58, 1, 121, 246, 119, 233,
+ 40, 138, 130, 58, 1, 245, 20, 246, 119, 233, 40, 138, 130, 58, 1, 245,
+ 21, 233, 40, 138, 130, 58, 1, 125, 233, 40, 138, 130, 58, 1, 230, 226,
+ 233, 40, 138, 130, 58, 1, 121, 233, 40, 138, 130, 58, 1, 245, 20, 233,
+ 40, 138, 130, 58, 1, 59, 67, 130, 58, 1, 59, 219, 96, 58, 1, 59, 203,
+ 130, 58, 1, 232, 109, 44, 249, 162, 254, 110, 58, 1, 223, 158, 120, 74,
+ 58, 1, 223, 158, 124, 74, 58, 1, 223, 158, 245, 32, 78, 58, 1, 223, 158,
+ 235, 194, 245, 32, 78, 58, 1, 121, 235, 194, 245, 32, 78, 58, 1, 218,
+ 112, 22, 125, 216, 31, 58, 1, 218, 112, 22, 121, 216, 31, 7, 6, 1, 245,
+ 200, 254, 171, 7, 4, 1, 245, 200, 254, 171, 7, 6, 1, 245, 200, 254, 197,
+ 7, 4, 1, 245, 200, 254, 197, 7, 6, 1, 241, 208, 7, 4, 1, 241, 208, 7, 6,
+ 1, 215, 40, 7, 4, 1, 215, 40, 7, 6, 1, 215, 230, 7, 4, 1, 215, 230, 7, 6,
+ 1, 249, 111, 7, 4, 1, 249, 111, 7, 6, 1, 249, 112, 2, 249, 220, 7, 4, 1,
+ 249, 112, 2, 249, 220, 7, 1, 4, 6, 245, 7, 7, 1, 4, 6, 222, 92, 7, 6, 1,
+ 255, 74, 7, 4, 1, 255, 74, 7, 6, 1, 254, 74, 7, 4, 1, 254, 74, 7, 6, 1,
+ 253, 193, 7, 4, 1, 253, 193, 7, 6, 1, 253, 177, 7, 4, 1, 253, 177, 7, 6,
+ 1, 253, 178, 2, 203, 130, 7, 4, 1, 253, 178, 2, 203, 130, 7, 6, 1, 253,
+ 168, 7, 4, 1, 253, 168, 7, 6, 1, 223, 50, 251, 68, 2, 247, 121, 7, 4, 1,
+ 223, 50, 251, 68, 2, 247, 121, 7, 6, 1, 235, 25, 2, 91, 7, 4, 1, 235, 25,
+ 2, 91, 7, 6, 1, 235, 25, 2, 248, 0, 91, 7, 4, 1, 235, 25, 2, 248, 0, 91,
+ 7, 6, 1, 235, 25, 2, 218, 104, 22, 248, 0, 91, 7, 4, 1, 235, 25, 2, 218,
+ 104, 22, 248, 0, 91, 7, 6, 1, 251, 136, 156, 7, 4, 1, 251, 136, 156, 7,
+ 6, 1, 233, 150, 2, 125, 91, 7, 4, 1, 233, 150, 2, 125, 91, 7, 6, 1, 144,
+ 2, 199, 218, 104, 226, 121, 7, 4, 1, 144, 2, 199, 218, 104, 226, 121, 7,
+ 6, 1, 144, 2, 232, 124, 7, 4, 1, 144, 2, 232, 124, 7, 6, 1, 226, 184, 7,
+ 4, 1, 226, 184, 7, 6, 1, 226, 107, 2, 218, 104, 216, 140, 248, 40, 7, 4,
+ 1, 226, 107, 2, 218, 104, 216, 140, 248, 40, 7, 6, 1, 226, 107, 2, 244,
+ 54, 7, 4, 1, 226, 107, 2, 244, 54, 7, 6, 1, 226, 107, 2, 218, 230, 217,
+ 78, 7, 4, 1, 226, 107, 2, 218, 230, 217, 78, 7, 6, 1, 224, 98, 2, 218,
+ 104, 216, 140, 248, 40, 7, 4, 1, 224, 98, 2, 218, 104, 216, 140, 248, 40,
+ 7, 6, 1, 224, 98, 2, 248, 0, 91, 7, 4, 1, 224, 98, 2, 248, 0, 91, 7, 6,
+ 1, 223, 225, 222, 187, 7, 4, 1, 223, 225, 222, 187, 7, 6, 1, 222, 131,
+ 222, 187, 7, 4, 1, 222, 131, 222, 187, 7, 6, 1, 214, 106, 2, 248, 0, 91,
+ 7, 4, 1, 214, 106, 2, 248, 0, 91, 7, 6, 1, 212, 106, 7, 4, 1, 212, 106,
+ 7, 6, 1, 213, 145, 210, 159, 7, 4, 1, 213, 145, 210, 159, 7, 6, 1, 216,
+ 153, 2, 91, 7, 4, 1, 216, 153, 2, 91, 7, 6, 1, 216, 153, 2, 218, 104,
+ 216, 140, 248, 40, 7, 4, 1, 216, 153, 2, 218, 104, 216, 140, 248, 40, 7,
+ 6, 1, 213, 245, 7, 4, 1, 213, 245, 7, 6, 1, 245, 66, 7, 4, 1, 245, 66, 7,
+ 6, 1, 235, 172, 7, 4, 1, 235, 172, 7, 6, 1, 249, 208, 7, 4, 1, 249, 208,
+ 58, 1, 214, 133, 7, 4, 1, 246, 70, 7, 4, 1, 232, 85, 7, 4, 1, 230, 81, 7,
+ 4, 1, 227, 202, 7, 4, 1, 222, 130, 7, 1, 4, 6, 222, 130, 7, 4, 1, 215,
+ 109, 7, 4, 1, 214, 197, 7, 6, 1, 235, 214, 249, 61, 7, 4, 1, 235, 214,
+ 249, 61, 7, 6, 1, 235, 214, 245, 7, 7, 4, 1, 235, 214, 245, 7, 7, 6, 1,
+ 235, 214, 243, 203, 7, 6, 1, 215, 94, 235, 214, 243, 203, 7, 4, 1, 215,
+ 94, 235, 214, 243, 203, 7, 6, 1, 215, 94, 156, 7, 4, 1, 215, 94, 156, 7,
+ 6, 1, 235, 214, 153, 7, 4, 1, 235, 214, 153, 7, 6, 1, 235, 214, 222, 92,
+ 7, 4, 1, 235, 214, 222, 92, 7, 6, 1, 235, 214, 217, 153, 7, 4, 1, 235,
+ 214, 217, 153, 58, 1, 121, 250, 32, 255, 15, 58, 1, 249, 227, 58, 1, 219,
+ 252, 245, 99, 50, 7, 6, 1, 222, 0, 7, 4, 1, 222, 0, 7, 6, 1, 215, 94,
+ 242, 61, 7, 4, 1, 233, 150, 2, 223, 56, 241, 53, 22, 252, 42, 7, 6, 1,
+ 230, 27, 2, 248, 40, 7, 4, 1, 230, 27, 2, 248, 40, 7, 6, 1, 251, 68, 2,
+ 130, 7, 4, 1, 251, 68, 2, 130, 7, 6, 1, 243, 204, 2, 226, 249, 91, 7, 4,
+ 1, 243, 204, 2, 226, 249, 91, 7, 6, 1, 235, 25, 2, 226, 249, 91, 7, 4, 1,
+ 235, 25, 2, 226, 249, 91, 7, 6, 1, 230, 27, 2, 226, 249, 91, 7, 4, 1,
+ 230, 27, 2, 226, 249, 91, 7, 6, 1, 223, 225, 2, 226, 249, 91, 7, 4, 1,
+ 223, 225, 2, 226, 249, 91, 7, 6, 1, 222, 93, 2, 226, 249, 91, 7, 4, 1,
+ 222, 93, 2, 226, 249, 91, 7, 6, 1, 242, 62, 2, 103, 58, 1, 6, 242, 62, 2,
+ 91, 58, 1, 4, 27, 226, 235, 7, 1, 4, 6, 215, 94, 193, 7, 245, 104, 1,
+ 223, 50, 245, 7, 7, 245, 104, 1, 223, 50, 226, 106, 7, 245, 104, 1, 235,
+ 194, 193, 7, 245, 104, 1, 240, 155, 232, 130, 7, 245, 104, 1, 254, 24,
+ 193, 217, 231, 229, 215, 1, 61, 217, 231, 229, 215, 1, 73, 217, 231, 229,
+ 215, 5, 246, 49, 217, 231, 229, 215, 1, 70, 217, 231, 229, 215, 1, 75,
+ 217, 231, 229, 215, 1, 76, 217, 231, 229, 215, 5, 241, 254, 217, 231,
+ 229, 215, 1, 234, 29, 217, 231, 229, 215, 1, 234, 106, 217, 231, 229,
+ 215, 1, 242, 175, 217, 231, 229, 215, 1, 242, 225, 217, 231, 229, 215, 5,
+ 254, 76, 217, 231, 229, 215, 1, 249, 239, 217, 231, 229, 215, 1, 250, 87,
+ 217, 231, 229, 215, 1, 235, 69, 217, 231, 229, 215, 1, 235, 110, 217,
+ 231, 229, 215, 1, 215, 134, 217, 231, 229, 215, 1, 215, 140, 217, 231,
+ 229, 215, 1, 248, 106, 217, 231, 229, 215, 1, 248, 115, 217, 231, 229,
+ 215, 1, 111, 217, 231, 229, 215, 1, 216, 157, 217, 231, 229, 215, 1, 247,
+ 146, 217, 231, 229, 215, 1, 248, 8, 217, 231, 229, 215, 1, 228, 75, 217,
+ 231, 229, 215, 1, 225, 17, 217, 231, 229, 215, 1, 225, 122, 217, 231,
+ 229, 215, 1, 251, 206, 217, 231, 229, 215, 1, 252, 11, 217, 231, 229,
+ 215, 1, 230, 162, 217, 231, 229, 215, 1, 222, 212, 217, 231, 229, 215, 1,
+ 232, 157, 217, 231, 229, 215, 1, 222, 166, 217, 231, 229, 215, 1, 219,
+ 59, 217, 231, 229, 215, 1, 241, 69, 217, 231, 229, 215, 25, 5, 61, 217,
+ 231, 229, 215, 25, 5, 73, 217, 231, 229, 215, 25, 5, 70, 217, 231, 229,
+ 215, 25, 5, 75, 217, 231, 229, 215, 25, 5, 226, 184, 217, 231, 229, 215,
+ 225, 13, 231, 159, 217, 231, 229, 215, 225, 13, 231, 158, 217, 231, 229,
+ 215, 225, 13, 231, 157, 217, 231, 229, 215, 225, 13, 231, 156, 228, 57,
+ 235, 241, 244, 3, 123, 224, 22, 228, 57, 235, 241, 244, 3, 123, 242, 28,
+ 228, 57, 235, 241, 244, 3, 134, 224, 20, 228, 57, 235, 241, 244, 3, 123,
+ 219, 118, 228, 57, 235, 241, 244, 3, 123, 245, 189, 228, 57, 235, 241,
+ 244, 3, 134, 219, 117, 228, 57, 235, 241, 224, 23, 78, 228, 57, 235, 241,
+ 225, 41, 78, 228, 57, 235, 241, 222, 119, 78, 228, 57, 235, 241, 224, 24,
+ 78, 225, 145, 1, 176, 225, 145, 1, 234, 133, 225, 145, 1, 243, 136, 225,
+ 145, 1, 229, 78, 225, 145, 1, 251, 34, 225, 145, 1, 250, 158, 225, 145,
+ 1, 235, 142, 225, 145, 1, 227, 166, 225, 145, 1, 217, 106, 225, 145, 1,
+ 216, 209, 225, 145, 1, 248, 222, 225, 145, 1, 197, 225, 145, 1, 190, 225,
+ 145, 1, 225, 148, 225, 145, 1, 252, 192, 225, 145, 1, 185, 225, 145, 1,
+ 215, 184, 225, 145, 1, 215, 176, 225, 145, 1, 246, 39, 225, 145, 1, 212,
+ 65, 225, 145, 1, 210, 82, 225, 145, 1, 210, 116, 225, 145, 1, 4, 61, 225,
+ 145, 1, 191, 225, 145, 1, 205, 225, 145, 1, 233, 136, 225, 145, 1, 220,
+ 103, 225, 145, 1, 206, 225, 145, 1, 162, 225, 145, 1, 61, 225, 145, 1,
+ 73, 225, 145, 1, 70, 225, 145, 1, 75, 225, 145, 1, 76, 225, 145, 1, 224,
+ 89, 225, 145, 1, 211, 165, 225, 145, 1, 244, 197, 225, 145, 1, 243, 30,
+ 225, 145, 1, 245, 210, 225, 145, 218, 74, 1, 212, 65, 225, 145, 218, 74,
+ 1, 191, 225, 145, 1, 215, 157, 225, 145, 1, 215, 145, 225, 145, 1, 248,
+ 136, 225, 145, 1, 228, 111, 225, 145, 1, 254, 142, 191, 225, 145, 1, 213,
+ 134, 220, 103, 225, 145, 1, 213, 135, 162, 225, 145, 1, 253, 224, 244,
+ 197, 225, 145, 218, 74, 1, 205, 225, 145, 218, 26, 1, 205, 225, 145, 1,
+ 251, 0, 225, 145, 219, 156, 241, 237, 78, 225, 145, 52, 241, 237, 78,
+ 225, 145, 164, 220, 96, 225, 145, 164, 52, 220, 96, 179, 5, 254, 76, 179,
+ 5, 213, 147, 179, 1, 61, 179, 1, 255, 74, 179, 1, 73, 179, 1, 236, 34,
+ 179, 1, 70, 179, 1, 214, 118, 179, 1, 149, 153, 179, 1, 149, 222, 181,
+ 179, 1, 149, 156, 179, 1, 149, 232, 186, 179, 1, 75, 179, 1, 245, 210,
+ 179, 1, 254, 202, 179, 1, 76, 179, 1, 226, 184, 179, 1, 253, 193, 179, 1,
+ 176, 179, 1, 234, 133, 179, 1, 243, 136, 179, 1, 242, 250, 179, 1, 229,
+ 78, 179, 1, 251, 34, 179, 1, 250, 158, 179, 1, 235, 142, 179, 1, 235,
+ 115, 179, 1, 227, 166, 179, 1, 215, 157, 179, 1, 215, 145, 179, 1, 248,
+ 136, 179, 1, 248, 120, 179, 1, 228, 111, 179, 1, 217, 106, 179, 1, 216,
+ 209, 179, 1, 248, 222, 179, 1, 248, 26, 179, 1, 197, 179, 1, 190, 179, 1,
+ 225, 148, 179, 1, 252, 192, 179, 1, 252, 19, 179, 1, 185, 179, 1, 191,
+ 179, 1, 205, 179, 1, 233, 136, 179, 1, 214, 27, 179, 1, 220, 103, 179, 1,
+ 218, 224, 179, 1, 206, 179, 1, 162, 179, 1, 232, 185, 179, 116, 5, 242,
+ 45, 179, 25, 5, 255, 74, 179, 25, 5, 73, 179, 25, 5, 236, 34, 179, 25, 5,
70, 179, 25, 5, 214, 118, 179, 25, 5, 149, 153, 179, 25, 5, 149, 222,
- 180, 179, 25, 5, 149, 156, 179, 25, 5, 149, 232, 185, 179, 25, 5, 75,
- 179, 25, 5, 245, 209, 179, 25, 5, 254, 201, 179, 25, 5, 76, 179, 25, 5,
- 226, 183, 179, 25, 5, 253, 192, 179, 5, 213, 152, 179, 248, 178, 179, 52,
- 248, 178, 179, 21, 210, 86, 179, 21, 110, 179, 21, 105, 179, 21, 158,
+ 181, 179, 25, 5, 149, 156, 179, 25, 5, 149, 232, 186, 179, 25, 5, 75,
+ 179, 25, 5, 245, 210, 179, 25, 5, 254, 202, 179, 25, 5, 76, 179, 25, 5,
+ 226, 184, 179, 25, 5, 253, 193, 179, 5, 213, 152, 179, 248, 179, 179, 52,
+ 248, 179, 179, 21, 210, 86, 179, 21, 110, 179, 21, 105, 179, 21, 158,
179, 21, 161, 179, 21, 189, 179, 21, 194, 179, 21, 198, 179, 21, 195,
179, 21, 200, 38, 84, 21, 210, 86, 38, 84, 21, 110, 38, 84, 21, 105, 38,
84, 21, 158, 38, 84, 21, 161, 38, 84, 21, 189, 38, 84, 21, 194, 38, 84,
21, 198, 38, 84, 21, 195, 38, 84, 21, 200, 38, 84, 1, 61, 38, 84, 1, 70,
38, 84, 1, 176, 38, 84, 1, 197, 38, 84, 1, 190, 38, 84, 1, 205, 38, 84,
- 1, 213, 176, 38, 84, 5, 253, 175, 84, 5, 219, 17, 250, 255, 84, 5, 251,
- 0, 213, 152, 84, 5, 52, 251, 0, 213, 152, 84, 5, 251, 0, 105, 84, 5, 251,
- 0, 158, 84, 5, 251, 0, 253, 175, 84, 5, 224, 124, 84, 243, 100, 244, 103,
- 84, 250, 238, 84, 241, 230, 234, 188, 232, 242, 21, 210, 86, 234, 188,
- 232, 242, 21, 110, 234, 188, 232, 242, 21, 105, 234, 188, 232, 242, 21,
- 158, 234, 188, 232, 242, 21, 161, 234, 188, 232, 242, 21, 189, 234, 188,
- 232, 242, 21, 194, 234, 188, 232, 242, 21, 198, 234, 188, 232, 242, 21,
- 195, 234, 188, 232, 242, 21, 200, 234, 188, 232, 242, 1, 176, 234, 188,
- 232, 242, 1, 234, 132, 234, 188, 232, 242, 1, 243, 135, 234, 188, 232,
- 242, 1, 229, 77, 234, 188, 232, 242, 1, 206, 234, 188, 232, 242, 1, 220,
- 102, 234, 188, 232, 242, 1, 210, 116, 234, 188, 232, 242, 1, 227, 165,
- 234, 188, 232, 242, 1, 217, 105, 234, 188, 232, 242, 1, 240, 226, 234,
- 188, 232, 242, 1, 197, 234, 188, 232, 242, 1, 190, 234, 188, 232, 242, 1,
- 225, 147, 234, 188, 232, 242, 1, 184, 234, 188, 232, 242, 1, 248, 221,
- 234, 188, 232, 242, 1, 252, 191, 234, 188, 232, 242, 1, 205, 234, 188,
- 232, 242, 1, 191, 234, 188, 232, 242, 1, 233, 135, 234, 188, 232, 242, 1,
- 212, 65, 234, 188, 232, 242, 1, 216, 208, 234, 188, 232, 242, 1, 162,
- 234, 188, 232, 242, 1, 214, 27, 234, 188, 232, 242, 1, 251, 33, 234, 188,
- 232, 242, 1, 61, 234, 188, 232, 242, 1, 226, 234, 234, 188, 232, 242, 1,
- 73, 234, 188, 232, 242, 1, 226, 183, 234, 188, 232, 242, 25, 214, 214,
- 234, 188, 232, 242, 25, 75, 234, 188, 232, 242, 25, 70, 234, 188, 232,
- 242, 25, 245, 209, 234, 188, 232, 242, 25, 76, 234, 188, 232, 242, 138,
- 225, 30, 234, 188, 232, 242, 138, 251, 12, 234, 188, 232, 242, 138, 251,
- 13, 225, 30, 234, 188, 232, 242, 5, 249, 77, 234, 188, 232, 242, 5, 219,
- 199, 223, 93, 1, 176, 223, 93, 1, 243, 135, 223, 93, 1, 229, 77, 223, 93,
- 1, 217, 105, 223, 93, 1, 248, 221, 223, 93, 1, 197, 223, 93, 1, 190, 223,
- 93, 1, 252, 191, 223, 93, 1, 184, 223, 93, 1, 251, 33, 223, 93, 1, 235,
- 141, 223, 93, 1, 227, 165, 223, 93, 1, 206, 223, 93, 1, 205, 223, 93, 1,
- 233, 135, 223, 93, 1, 191, 223, 93, 1, 212, 65, 223, 93, 1, 162, 223, 93,
- 1, 231, 124, 223, 93, 1, 229, 56, 223, 93, 1, 229, 148, 223, 93, 1, 227,
- 135, 223, 93, 1, 61, 223, 93, 25, 5, 73, 223, 93, 25, 5, 70, 223, 93, 25,
- 5, 75, 223, 93, 25, 5, 254, 201, 223, 93, 25, 5, 76, 223, 93, 25, 5, 253,
- 192, 223, 93, 25, 5, 245, 55, 223, 93, 25, 5, 245, 233, 223, 93, 116, 5,
- 229, 79, 223, 93, 116, 5, 230, 25, 223, 93, 116, 5, 153, 223, 93, 116, 5,
- 242, 60, 223, 93, 213, 152, 223, 93, 221, 173, 78, 24, 100, 216, 97, 24,
- 100, 216, 96, 24, 100, 216, 94, 24, 100, 216, 99, 24, 100, 223, 21, 24,
- 100, 223, 5, 24, 100, 223, 0, 24, 100, 223, 2, 24, 100, 223, 18, 24, 100,
- 223, 11, 24, 100, 223, 4, 24, 100, 223, 23, 24, 100, 223, 6, 24, 100,
- 223, 25, 24, 100, 223, 22, 24, 100, 230, 213, 24, 100, 230, 204, 24, 100,
- 230, 207, 24, 100, 225, 80, 24, 100, 225, 91, 24, 100, 225, 92, 24, 100,
- 218, 207, 24, 100, 236, 46, 24, 100, 236, 53, 24, 100, 218, 218, 24, 100,
- 218, 205, 24, 100, 225, 130, 24, 100, 241, 167, 24, 100, 218, 202, 155,
- 5, 226, 27, 155, 5, 250, 187, 155, 5, 233, 66, 155, 5, 211, 243, 155, 1,
- 61, 155, 1, 240, 154, 234, 191, 155, 1, 73, 155, 1, 236, 33, 155, 1, 70,
- 155, 1, 226, 90, 250, 163, 155, 1, 229, 78, 233, 28, 155, 1, 229, 78,
- 233, 29, 223, 142, 155, 1, 75, 155, 1, 254, 201, 155, 1, 76, 155, 1, 176,
- 155, 1, 235, 13, 221, 228, 155, 1, 235, 13, 230, 66, 155, 1, 243, 135,
- 155, 1, 243, 136, 230, 66, 155, 1, 229, 77, 155, 1, 251, 33, 155, 1, 251,
- 34, 230, 66, 155, 1, 235, 141, 155, 1, 227, 166, 230, 66, 155, 1, 235,
- 142, 231, 207, 155, 1, 227, 165, 155, 1, 215, 156, 155, 1, 215, 157, 231,
- 207, 155, 1, 248, 135, 155, 1, 248, 136, 231, 207, 155, 1, 229, 229, 230,
- 66, 155, 1, 217, 105, 155, 1, 217, 106, 230, 66, 155, 1, 248, 221, 155,
- 1, 248, 222, 231, 207, 155, 1, 197, 155, 1, 190, 155, 1, 226, 90, 230,
- 66, 155, 1, 252, 191, 155, 1, 252, 192, 230, 66, 155, 1, 184, 155, 1,
- 191, 155, 1, 205, 155, 1, 223, 188, 254, 210, 155, 1, 233, 135, 155, 1,
- 212, 65, 155, 1, 222, 34, 230, 66, 155, 1, 222, 34, 231, 207, 155, 1,
- 206, 155, 1, 162, 155, 5, 250, 188, 216, 250, 155, 25, 5, 217, 47, 155,
- 25, 5, 216, 35, 155, 25, 5, 211, 190, 155, 25, 5, 211, 191, 231, 69, 155,
- 25, 5, 218, 47, 155, 25, 5, 218, 48, 231, 57, 155, 25, 5, 217, 65, 155,
- 25, 5, 247, 194, 230, 65, 155, 25, 5, 225, 184, 155, 116, 5, 234, 158,
- 155, 116, 5, 225, 196, 155, 116, 5, 251, 19, 155, 226, 40, 155, 43, 223,
- 69, 155, 44, 223, 69, 155, 226, 79, 254, 117, 155, 226, 79, 231, 224,
- 155, 226, 79, 232, 88, 155, 226, 79, 211, 238, 155, 226, 79, 226, 41,
- 155, 226, 79, 232, 205, 155, 226, 79, 232, 82, 155, 226, 79, 254, 249,
- 155, 226, 79, 254, 250, 254, 249, 155, 226, 79, 225, 51, 155, 215, 94,
- 226, 79, 225, 51, 155, 226, 36, 155, 21, 210, 86, 155, 21, 110, 155, 21,
+ 1, 213, 176, 38, 84, 5, 253, 176, 84, 5, 219, 18, 251, 0, 84, 5, 251, 1,
+ 213, 152, 84, 5, 52, 251, 1, 213, 152, 84, 5, 251, 1, 105, 84, 5, 251, 1,
+ 158, 84, 5, 251, 1, 253, 176, 84, 5, 224, 125, 84, 243, 101, 244, 104,
+ 84, 250, 239, 84, 241, 231, 234, 189, 232, 243, 21, 210, 86, 234, 189,
+ 232, 243, 21, 110, 234, 189, 232, 243, 21, 105, 234, 189, 232, 243, 21,
+ 158, 234, 189, 232, 243, 21, 161, 234, 189, 232, 243, 21, 189, 234, 189,
+ 232, 243, 21, 194, 234, 189, 232, 243, 21, 198, 234, 189, 232, 243, 21,
+ 195, 234, 189, 232, 243, 21, 200, 234, 189, 232, 243, 1, 176, 234, 189,
+ 232, 243, 1, 234, 133, 234, 189, 232, 243, 1, 243, 136, 234, 189, 232,
+ 243, 1, 229, 78, 234, 189, 232, 243, 1, 206, 234, 189, 232, 243, 1, 220,
+ 103, 234, 189, 232, 243, 1, 210, 116, 234, 189, 232, 243, 1, 227, 166,
+ 234, 189, 232, 243, 1, 217, 106, 234, 189, 232, 243, 1, 240, 227, 234,
+ 189, 232, 243, 1, 197, 234, 189, 232, 243, 1, 190, 234, 189, 232, 243, 1,
+ 225, 148, 234, 189, 232, 243, 1, 185, 234, 189, 232, 243, 1, 248, 222,
+ 234, 189, 232, 243, 1, 252, 192, 234, 189, 232, 243, 1, 205, 234, 189,
+ 232, 243, 1, 191, 234, 189, 232, 243, 1, 233, 136, 234, 189, 232, 243, 1,
+ 212, 65, 234, 189, 232, 243, 1, 216, 209, 234, 189, 232, 243, 1, 162,
+ 234, 189, 232, 243, 1, 214, 27, 234, 189, 232, 243, 1, 251, 34, 234, 189,
+ 232, 243, 1, 61, 234, 189, 232, 243, 1, 226, 235, 234, 189, 232, 243, 1,
+ 73, 234, 189, 232, 243, 1, 226, 184, 234, 189, 232, 243, 25, 214, 214,
+ 234, 189, 232, 243, 25, 75, 234, 189, 232, 243, 25, 70, 234, 189, 232,
+ 243, 25, 245, 210, 234, 189, 232, 243, 25, 76, 234, 189, 232, 243, 138,
+ 225, 31, 234, 189, 232, 243, 138, 251, 13, 234, 189, 232, 243, 138, 251,
+ 14, 225, 31, 234, 189, 232, 243, 5, 249, 78, 234, 189, 232, 243, 5, 219,
+ 200, 223, 94, 1, 176, 223, 94, 1, 243, 136, 223, 94, 1, 229, 78, 223, 94,
+ 1, 217, 106, 223, 94, 1, 248, 222, 223, 94, 1, 197, 223, 94, 1, 190, 223,
+ 94, 1, 252, 192, 223, 94, 1, 185, 223, 94, 1, 251, 34, 223, 94, 1, 235,
+ 142, 223, 94, 1, 227, 166, 223, 94, 1, 206, 223, 94, 1, 205, 223, 94, 1,
+ 233, 136, 223, 94, 1, 191, 223, 94, 1, 212, 65, 223, 94, 1, 162, 223, 94,
+ 1, 231, 125, 223, 94, 1, 229, 57, 223, 94, 1, 229, 149, 223, 94, 1, 227,
+ 136, 223, 94, 1, 61, 223, 94, 25, 5, 73, 223, 94, 25, 5, 70, 223, 94, 25,
+ 5, 75, 223, 94, 25, 5, 254, 202, 223, 94, 25, 5, 76, 223, 94, 25, 5, 253,
+ 193, 223, 94, 25, 5, 245, 56, 223, 94, 25, 5, 245, 234, 223, 94, 116, 5,
+ 229, 80, 223, 94, 116, 5, 230, 26, 223, 94, 116, 5, 153, 223, 94, 116, 5,
+ 242, 61, 223, 94, 213, 152, 223, 94, 221, 174, 78, 24, 100, 216, 98, 24,
+ 100, 216, 97, 24, 100, 216, 95, 24, 100, 216, 100, 24, 100, 223, 22, 24,
+ 100, 223, 6, 24, 100, 223, 1, 24, 100, 223, 3, 24, 100, 223, 19, 24, 100,
+ 223, 12, 24, 100, 223, 5, 24, 100, 223, 24, 24, 100, 223, 7, 24, 100,
+ 223, 26, 24, 100, 223, 23, 24, 100, 230, 214, 24, 100, 230, 205, 24, 100,
+ 230, 208, 24, 100, 225, 81, 24, 100, 225, 92, 24, 100, 225, 93, 24, 100,
+ 218, 208, 24, 100, 236, 47, 24, 100, 236, 54, 24, 100, 218, 219, 24, 100,
+ 218, 206, 24, 100, 225, 131, 24, 100, 241, 168, 24, 100, 218, 203, 155,
+ 5, 226, 28, 155, 5, 250, 188, 155, 5, 233, 67, 155, 5, 211, 243, 155, 1,
+ 61, 155, 1, 240, 155, 234, 192, 155, 1, 73, 155, 1, 236, 34, 155, 1, 70,
+ 155, 1, 226, 91, 250, 164, 155, 1, 229, 79, 233, 29, 155, 1, 229, 79,
+ 233, 30, 223, 143, 155, 1, 75, 155, 1, 254, 202, 155, 1, 76, 155, 1, 176,
+ 155, 1, 235, 14, 221, 229, 155, 1, 235, 14, 230, 67, 155, 1, 243, 136,
+ 155, 1, 243, 137, 230, 67, 155, 1, 229, 78, 155, 1, 251, 34, 155, 1, 251,
+ 35, 230, 67, 155, 1, 235, 142, 155, 1, 227, 167, 230, 67, 155, 1, 235,
+ 143, 231, 208, 155, 1, 227, 166, 155, 1, 215, 157, 155, 1, 215, 158, 231,
+ 208, 155, 1, 248, 136, 155, 1, 248, 137, 231, 208, 155, 1, 229, 230, 230,
+ 67, 155, 1, 217, 106, 155, 1, 217, 107, 230, 67, 155, 1, 248, 222, 155,
+ 1, 248, 223, 231, 208, 155, 1, 197, 155, 1, 190, 155, 1, 226, 91, 230,
+ 67, 155, 1, 252, 192, 155, 1, 252, 193, 230, 67, 155, 1, 185, 155, 1,
+ 191, 155, 1, 205, 155, 1, 223, 189, 254, 211, 155, 1, 233, 136, 155, 1,
+ 212, 65, 155, 1, 222, 35, 230, 67, 155, 1, 222, 35, 231, 208, 155, 1,
+ 206, 155, 1, 162, 155, 5, 250, 189, 216, 251, 155, 25, 5, 217, 48, 155,
+ 25, 5, 216, 36, 155, 25, 5, 211, 190, 155, 25, 5, 211, 191, 231, 70, 155,
+ 25, 5, 218, 48, 155, 25, 5, 218, 49, 231, 58, 155, 25, 5, 217, 66, 155,
+ 25, 5, 247, 195, 230, 66, 155, 25, 5, 225, 185, 155, 116, 5, 234, 159,
+ 155, 116, 5, 225, 197, 155, 116, 5, 251, 20, 155, 226, 41, 155, 43, 223,
+ 70, 155, 44, 223, 70, 155, 226, 80, 254, 118, 155, 226, 80, 231, 225,
+ 155, 226, 80, 232, 89, 155, 226, 80, 211, 238, 155, 226, 80, 226, 42,
+ 155, 226, 80, 232, 206, 155, 226, 80, 232, 83, 155, 226, 80, 254, 250,
+ 155, 226, 80, 254, 251, 254, 250, 155, 226, 80, 225, 52, 155, 215, 94,
+ 226, 80, 225, 52, 155, 226, 37, 155, 21, 210, 86, 155, 21, 110, 155, 21,
105, 155, 21, 158, 155, 21, 161, 155, 21, 189, 155, 21, 194, 155, 21,
- 198, 155, 21, 195, 155, 21, 200, 155, 226, 79, 216, 69, 215, 106, 155,
- 226, 79, 235, 167, 172, 1, 61, 172, 1, 73, 172, 1, 70, 172, 1, 75, 172,
- 1, 254, 201, 172, 1, 76, 172, 1, 176, 172, 1, 234, 132, 172, 1, 243, 135,
- 172, 1, 242, 249, 172, 1, 228, 245, 172, 1, 229, 77, 172, 1, 250, 157,
- 172, 1, 250, 112, 172, 1, 235, 141, 172, 1, 235, 114, 172, 1, 228, 235,
- 172, 1, 228, 237, 172, 1, 228, 236, 172, 1, 217, 105, 172, 1, 216, 208,
- 172, 1, 248, 221, 172, 1, 248, 25, 172, 1, 227, 207, 172, 1, 197, 172, 1,
- 248, 135, 172, 1, 190, 172, 1, 224, 220, 172, 1, 225, 147, 172, 1, 252,
- 191, 172, 1, 252, 18, 172, 1, 230, 95, 172, 1, 184, 172, 1, 252, 111,
- 172, 1, 191, 172, 1, 205, 172, 1, 233, 135, 172, 1, 214, 27, 172, 1, 218,
- 223, 172, 1, 206, 172, 1, 162, 172, 25, 5, 255, 73, 172, 25, 5, 73, 172,
- 25, 5, 236, 33, 172, 25, 5, 245, 195, 172, 25, 5, 70, 172, 25, 5, 226,
- 234, 172, 25, 5, 76, 172, 25, 5, 254, 201, 172, 25, 5, 253, 192, 172, 25,
- 5, 214, 214, 172, 116, 5, 191, 172, 116, 5, 205, 172, 116, 5, 233, 135,
- 172, 116, 5, 212, 65, 172, 1, 40, 235, 23, 172, 1, 40, 243, 202, 172, 1,
- 40, 229, 79, 172, 116, 5, 40, 229, 79, 172, 1, 40, 250, 158, 172, 1, 40,
- 217, 152, 172, 1, 40, 230, 25, 172, 1, 40, 226, 105, 172, 1, 40, 211,
- 117, 172, 1, 40, 153, 172, 1, 40, 156, 172, 1, 40, 218, 226, 172, 116, 5,
- 40, 193, 172, 116, 5, 40, 242, 60, 172, 21, 210, 86, 172, 21, 110, 172,
+ 198, 155, 21, 195, 155, 21, 200, 155, 226, 80, 216, 70, 215, 107, 155,
+ 226, 80, 235, 168, 172, 1, 61, 172, 1, 73, 172, 1, 70, 172, 1, 75, 172,
+ 1, 254, 202, 172, 1, 76, 172, 1, 176, 172, 1, 234, 133, 172, 1, 243, 136,
+ 172, 1, 242, 250, 172, 1, 228, 246, 172, 1, 229, 78, 172, 1, 250, 158,
+ 172, 1, 250, 113, 172, 1, 235, 142, 172, 1, 235, 115, 172, 1, 228, 236,
+ 172, 1, 228, 238, 172, 1, 228, 237, 172, 1, 217, 106, 172, 1, 216, 209,
+ 172, 1, 248, 222, 172, 1, 248, 26, 172, 1, 227, 208, 172, 1, 197, 172, 1,
+ 248, 136, 172, 1, 190, 172, 1, 224, 221, 172, 1, 225, 148, 172, 1, 252,
+ 192, 172, 1, 252, 19, 172, 1, 230, 96, 172, 1, 185, 172, 1, 252, 112,
+ 172, 1, 191, 172, 1, 205, 172, 1, 233, 136, 172, 1, 214, 27, 172, 1, 218,
+ 224, 172, 1, 206, 172, 1, 162, 172, 25, 5, 255, 74, 172, 25, 5, 73, 172,
+ 25, 5, 236, 34, 172, 25, 5, 245, 196, 172, 25, 5, 70, 172, 25, 5, 226,
+ 235, 172, 25, 5, 76, 172, 25, 5, 254, 202, 172, 25, 5, 253, 193, 172, 25,
+ 5, 214, 214, 172, 116, 5, 191, 172, 116, 5, 205, 172, 116, 5, 233, 136,
+ 172, 116, 5, 212, 65, 172, 1, 40, 235, 24, 172, 1, 40, 243, 203, 172, 1,
+ 40, 229, 80, 172, 116, 5, 40, 229, 80, 172, 1, 40, 250, 159, 172, 1, 40,
+ 217, 153, 172, 1, 40, 230, 26, 172, 1, 40, 226, 106, 172, 1, 40, 211,
+ 117, 172, 1, 40, 153, 172, 1, 40, 156, 172, 1, 40, 218, 227, 172, 116, 5,
+ 40, 193, 172, 116, 5, 40, 242, 61, 172, 21, 210, 86, 172, 21, 110, 172,
21, 105, 172, 21, 158, 172, 21, 161, 172, 21, 189, 172, 21, 194, 172, 21,
- 198, 172, 21, 195, 172, 21, 200, 172, 224, 141, 218, 251, 172, 224, 141,
- 248, 178, 172, 224, 141, 52, 248, 178, 172, 224, 141, 215, 211, 248, 178,
- 68, 1, 234, 126, 243, 135, 68, 1, 234, 126, 251, 33, 68, 1, 234, 126,
- 250, 157, 68, 1, 234, 126, 235, 141, 68, 1, 234, 126, 235, 114, 68, 1,
- 234, 126, 227, 165, 68, 1, 234, 126, 215, 156, 68, 1, 234, 126, 215, 144,
- 68, 1, 234, 126, 248, 135, 68, 1, 234, 126, 248, 119, 68, 1, 234, 126,
- 248, 25, 68, 1, 234, 126, 197, 68, 1, 234, 126, 206, 68, 1, 234, 126,
- 162, 68, 1, 234, 126, 241, 189, 68, 1, 234, 126, 244, 196, 68, 58, 1,
- 234, 126, 223, 109, 68, 1, 234, 126, 211, 165, 68, 1, 234, 126, 210, 116,
- 68, 1, 234, 126, 205, 68, 232, 145, 234, 126, 226, 253, 68, 232, 145,
- 234, 126, 224, 43, 68, 232, 145, 234, 126, 241, 121, 68, 16, 254, 190,
- 245, 30, 68, 16, 254, 190, 110, 68, 16, 254, 190, 105, 68, 1, 254, 190,
- 205, 68, 5, 226, 23, 234, 213, 216, 30, 39, 208, 1, 121, 234, 28, 39,
- 208, 1, 125, 234, 28, 39, 208, 1, 121, 234, 105, 39, 208, 1, 125, 234,
- 105, 39, 208, 1, 121, 234, 114, 39, 208, 1, 125, 234, 114, 39, 208, 1,
- 121, 242, 174, 39, 208, 1, 125, 242, 174, 39, 208, 1, 121, 229, 4, 39,
- 208, 1, 125, 229, 4, 39, 208, 1, 121, 249, 238, 39, 208, 1, 125, 249,
- 238, 39, 208, 1, 121, 250, 86, 39, 208, 1, 125, 250, 86, 39, 208, 1, 121,
- 219, 58, 39, 208, 1, 125, 219, 58, 39, 208, 1, 121, 227, 134, 39, 208, 1,
- 125, 227, 134, 39, 208, 1, 121, 247, 145, 39, 208, 1, 125, 247, 145, 39,
- 208, 1, 121, 111, 39, 208, 1, 125, 111, 39, 208, 1, 121, 216, 156, 39,
- 208, 1, 125, 216, 156, 39, 208, 1, 121, 228, 74, 39, 208, 1, 125, 228,
- 74, 39, 208, 1, 121, 251, 205, 39, 208, 1, 125, 251, 205, 39, 208, 1,
- 121, 225, 16, 39, 208, 1, 125, 225, 16, 39, 208, 1, 121, 225, 121, 39,
- 208, 1, 125, 225, 121, 39, 208, 1, 121, 244, 43, 39, 208, 1, 125, 244,
- 43, 39, 208, 1, 121, 230, 161, 39, 208, 1, 125, 230, 161, 39, 208, 1,
- 121, 210, 244, 39, 208, 1, 125, 210, 244, 39, 208, 1, 121, 222, 211, 39,
- 208, 1, 125, 222, 211, 39, 208, 1, 121, 232, 156, 39, 208, 1, 125, 232,
- 156, 39, 208, 1, 121, 213, 138, 39, 208, 1, 125, 213, 138, 39, 208, 1,
- 121, 241, 68, 39, 208, 1, 125, 241, 68, 39, 208, 1, 121, 76, 39, 208, 1,
- 125, 76, 39, 208, 231, 204, 234, 230, 39, 208, 25, 255, 73, 39, 208, 25,
+ 198, 172, 21, 195, 172, 21, 200, 172, 224, 142, 218, 252, 172, 224, 142,
+ 248, 179, 172, 224, 142, 52, 248, 179, 172, 224, 142, 215, 212, 248, 179,
+ 68, 1, 234, 127, 243, 136, 68, 1, 234, 127, 251, 34, 68, 1, 234, 127,
+ 250, 158, 68, 1, 234, 127, 235, 142, 68, 1, 234, 127, 235, 115, 68, 1,
+ 234, 127, 227, 166, 68, 1, 234, 127, 215, 157, 68, 1, 234, 127, 215, 145,
+ 68, 1, 234, 127, 248, 136, 68, 1, 234, 127, 248, 120, 68, 1, 234, 127,
+ 248, 26, 68, 1, 234, 127, 197, 68, 1, 234, 127, 206, 68, 1, 234, 127,
+ 162, 68, 1, 234, 127, 241, 190, 68, 1, 234, 127, 244, 197, 68, 58, 1,
+ 234, 127, 223, 110, 68, 1, 234, 127, 211, 165, 68, 1, 234, 127, 210, 116,
+ 68, 1, 234, 127, 205, 68, 232, 146, 234, 127, 226, 254, 68, 232, 146,
+ 234, 127, 224, 44, 68, 232, 146, 234, 127, 241, 122, 68, 16, 254, 191,
+ 245, 31, 68, 16, 254, 191, 110, 68, 16, 254, 191, 105, 68, 1, 254, 191,
+ 205, 68, 5, 226, 24, 234, 214, 216, 31, 39, 208, 1, 121, 234, 29, 39,
+ 208, 1, 125, 234, 29, 39, 208, 1, 121, 234, 106, 39, 208, 1, 125, 234,
+ 106, 39, 208, 1, 121, 234, 115, 39, 208, 1, 125, 234, 115, 39, 208, 1,
+ 121, 242, 175, 39, 208, 1, 125, 242, 175, 39, 208, 1, 121, 229, 5, 39,
+ 208, 1, 125, 229, 5, 39, 208, 1, 121, 249, 239, 39, 208, 1, 125, 249,
+ 239, 39, 208, 1, 121, 250, 87, 39, 208, 1, 125, 250, 87, 39, 208, 1, 121,
+ 219, 59, 39, 208, 1, 125, 219, 59, 39, 208, 1, 121, 227, 135, 39, 208, 1,
+ 125, 227, 135, 39, 208, 1, 121, 247, 146, 39, 208, 1, 125, 247, 146, 39,
+ 208, 1, 121, 111, 39, 208, 1, 125, 111, 39, 208, 1, 121, 216, 157, 39,
+ 208, 1, 125, 216, 157, 39, 208, 1, 121, 228, 75, 39, 208, 1, 125, 228,
+ 75, 39, 208, 1, 121, 251, 206, 39, 208, 1, 125, 251, 206, 39, 208, 1,
+ 121, 225, 17, 39, 208, 1, 125, 225, 17, 39, 208, 1, 121, 225, 122, 39,
+ 208, 1, 125, 225, 122, 39, 208, 1, 121, 244, 44, 39, 208, 1, 125, 244,
+ 44, 39, 208, 1, 121, 230, 162, 39, 208, 1, 125, 230, 162, 39, 208, 1,
+ 121, 210, 244, 39, 208, 1, 125, 210, 244, 39, 208, 1, 121, 222, 212, 39,
+ 208, 1, 125, 222, 212, 39, 208, 1, 121, 232, 157, 39, 208, 1, 125, 232,
+ 157, 39, 208, 1, 121, 213, 138, 39, 208, 1, 125, 213, 138, 39, 208, 1,
+ 121, 241, 69, 39, 208, 1, 125, 241, 69, 39, 208, 1, 121, 76, 39, 208, 1,
+ 125, 76, 39, 208, 231, 205, 234, 231, 39, 208, 25, 255, 74, 39, 208, 25,
73, 39, 208, 25, 214, 214, 39, 208, 25, 70, 39, 208, 25, 75, 39, 208, 25,
- 76, 39, 208, 231, 204, 234, 108, 39, 208, 25, 240, 119, 39, 208, 25, 214,
- 213, 39, 208, 25, 214, 229, 39, 208, 25, 253, 190, 39, 208, 25, 253, 167,
- 39, 208, 25, 254, 123, 39, 208, 25, 254, 136, 39, 208, 138, 231, 204,
- 245, 180, 39, 208, 138, 231, 204, 227, 206, 39, 208, 138, 231, 204, 216,
- 156, 39, 208, 138, 231, 204, 219, 42, 39, 208, 16, 234, 13, 39, 208, 16,
- 227, 206, 39, 208, 16, 221, 253, 39, 208, 16, 241, 69, 241, 64, 39, 208,
- 16, 234, 22, 234, 21, 186, 185, 1, 75, 186, 185, 1, 76, 186, 185, 1, 250,
- 157, 186, 185, 1, 227, 165, 186, 185, 1, 215, 156, 186, 185, 1, 215, 144,
- 186, 185, 1, 248, 135, 186, 185, 1, 248, 119, 186, 185, 1, 228, 110, 186,
- 185, 1, 220, 102, 186, 185, 1, 218, 223, 186, 185, 25, 5, 236, 33, 186,
- 185, 25, 5, 214, 118, 186, 185, 25, 5, 255, 37, 186, 185, 25, 5, 253,
- 192, 186, 185, 25, 5, 255, 30, 186, 185, 250, 125, 186, 185, 254, 206,
- 234, 98, 186, 185, 254, 103, 186, 185, 3, 223, 74, 78, 186, 185, 211,
- 209, 223, 74, 78, 186, 185, 25, 5, 213, 147, 186, 185, 213, 152, 29, 3,
- 215, 137, 29, 3, 215, 140, 29, 3, 215, 143, 29, 3, 215, 141, 29, 3, 215,
- 142, 29, 3, 215, 139, 29, 3, 248, 113, 29, 3, 248, 115, 29, 3, 248, 118,
- 29, 3, 248, 116, 29, 3, 248, 117, 29, 3, 248, 114, 29, 3, 246, 28, 29, 3,
- 246, 31, 29, 3, 246, 37, 29, 3, 246, 35, 29, 3, 246, 36, 29, 3, 246, 29,
- 29, 3, 250, 204, 29, 3, 250, 198, 29, 3, 250, 200, 29, 3, 250, 203, 29,
- 3, 250, 201, 29, 3, 250, 202, 29, 3, 250, 199, 29, 3, 252, 111, 29, 3,
- 252, 90, 29, 3, 252, 102, 29, 3, 252, 110, 29, 3, 252, 105, 29, 3, 252,
- 106, 29, 3, 252, 94, 186, 185, 1, 234, 19, 186, 185, 1, 221, 253, 186,
- 185, 1, 233, 109, 186, 185, 1, 230, 172, 186, 185, 1, 190, 186, 185, 1,
- 197, 186, 185, 1, 250, 102, 186, 185, 1, 216, 90, 186, 185, 1, 234, 101,
- 186, 185, 1, 228, 250, 186, 185, 1, 216, 150, 186, 185, 1, 212, 60, 186,
- 185, 1, 211, 69, 186, 185, 1, 240, 216, 186, 185, 1, 214, 190, 186, 185,
- 1, 73, 186, 185, 1, 225, 142, 186, 185, 1, 253, 202, 186, 185, 1, 242,
- 167, 186, 185, 1, 235, 112, 186, 185, 1, 223, 166, 186, 185, 1, 252, 191,
- 186, 185, 1, 235, 100, 186, 185, 1, 247, 219, 186, 185, 1, 242, 221, 186,
- 185, 1, 248, 5, 186, 185, 1, 252, 16, 186, 185, 1, 234, 20, 232, 128,
- 186, 185, 1, 233, 110, 232, 128, 186, 185, 1, 230, 173, 232, 128, 186,
- 185, 1, 226, 90, 232, 128, 186, 185, 1, 229, 229, 232, 128, 186, 185, 1,
- 216, 91, 232, 128, 186, 185, 1, 228, 251, 232, 128, 186, 185, 1, 240,
- 154, 232, 128, 186, 185, 25, 5, 226, 195, 186, 185, 25, 5, 235, 253, 186,
- 185, 25, 5, 254, 122, 186, 185, 25, 5, 211, 38, 186, 185, 25, 5, 219, 32,
- 186, 185, 25, 5, 214, 187, 186, 185, 25, 5, 250, 123, 186, 185, 25, 5,
- 227, 191, 186, 185, 250, 124, 186, 185, 232, 85, 235, 150, 186, 185, 254,
- 46, 235, 150, 186, 185, 21, 210, 86, 186, 185, 21, 110, 186, 185, 21,
- 105, 186, 185, 21, 158, 186, 185, 21, 161, 186, 185, 21, 189, 186, 185,
- 21, 194, 186, 185, 21, 198, 186, 185, 21, 195, 186, 185, 21, 200, 24,
- 143, 227, 77, 24, 143, 227, 82, 24, 143, 210, 243, 24, 143, 210, 242, 24,
+ 76, 39, 208, 231, 205, 234, 109, 39, 208, 25, 240, 120, 39, 208, 25, 214,
+ 213, 39, 208, 25, 214, 229, 39, 208, 25, 253, 191, 39, 208, 25, 253, 168,
+ 39, 208, 25, 254, 124, 39, 208, 25, 254, 137, 39, 208, 138, 231, 205,
+ 245, 181, 39, 208, 138, 231, 205, 227, 207, 39, 208, 138, 231, 205, 216,
+ 157, 39, 208, 138, 231, 205, 219, 43, 39, 208, 16, 234, 14, 39, 208, 16,
+ 227, 207, 39, 208, 16, 221, 254, 39, 208, 16, 241, 70, 241, 65, 39, 208,
+ 16, 234, 23, 234, 22, 187, 186, 1, 75, 187, 186, 1, 76, 187, 186, 1, 250,
+ 158, 187, 186, 1, 227, 166, 187, 186, 1, 215, 157, 187, 186, 1, 215, 145,
+ 187, 186, 1, 248, 136, 187, 186, 1, 248, 120, 187, 186, 1, 228, 111, 187,
+ 186, 1, 220, 103, 187, 186, 1, 218, 224, 187, 186, 25, 5, 236, 34, 187,
+ 186, 25, 5, 214, 118, 187, 186, 25, 5, 255, 38, 187, 186, 25, 5, 253,
+ 193, 187, 186, 25, 5, 255, 31, 187, 186, 250, 126, 187, 186, 254, 207,
+ 234, 99, 187, 186, 254, 104, 187, 186, 3, 223, 75, 78, 187, 186, 211,
+ 209, 223, 75, 78, 187, 186, 25, 5, 213, 147, 187, 186, 213, 152, 29, 3,
+ 215, 138, 29, 3, 215, 141, 29, 3, 215, 144, 29, 3, 215, 142, 29, 3, 215,
+ 143, 29, 3, 215, 140, 29, 3, 248, 114, 29, 3, 248, 116, 29, 3, 248, 119,
+ 29, 3, 248, 117, 29, 3, 248, 118, 29, 3, 248, 115, 29, 3, 246, 29, 29, 3,
+ 246, 32, 29, 3, 246, 38, 29, 3, 246, 36, 29, 3, 246, 37, 29, 3, 246, 30,
+ 29, 3, 250, 205, 29, 3, 250, 199, 29, 3, 250, 201, 29, 3, 250, 204, 29,
+ 3, 250, 202, 29, 3, 250, 203, 29, 3, 250, 200, 29, 3, 252, 112, 29, 3,
+ 252, 91, 29, 3, 252, 103, 29, 3, 252, 111, 29, 3, 252, 106, 29, 3, 252,
+ 107, 29, 3, 252, 95, 187, 186, 1, 234, 20, 187, 186, 1, 221, 254, 187,
+ 186, 1, 233, 110, 187, 186, 1, 230, 173, 187, 186, 1, 190, 187, 186, 1,
+ 197, 187, 186, 1, 250, 103, 187, 186, 1, 216, 91, 187, 186, 1, 234, 102,
+ 187, 186, 1, 228, 251, 187, 186, 1, 216, 151, 187, 186, 1, 212, 60, 187,
+ 186, 1, 211, 69, 187, 186, 1, 240, 217, 187, 186, 1, 214, 190, 187, 186,
+ 1, 73, 187, 186, 1, 225, 143, 187, 186, 1, 253, 203, 187, 186, 1, 242,
+ 168, 187, 186, 1, 235, 113, 187, 186, 1, 223, 167, 187, 186, 1, 252, 192,
+ 187, 186, 1, 235, 101, 187, 186, 1, 247, 220, 187, 186, 1, 242, 222, 187,
+ 186, 1, 248, 6, 187, 186, 1, 252, 17, 187, 186, 1, 234, 21, 232, 129,
+ 187, 186, 1, 233, 111, 232, 129, 187, 186, 1, 230, 174, 232, 129, 187,
+ 186, 1, 226, 91, 232, 129, 187, 186, 1, 229, 230, 232, 129, 187, 186, 1,
+ 216, 92, 232, 129, 187, 186, 1, 228, 252, 232, 129, 187, 186, 1, 240,
+ 155, 232, 129, 187, 186, 25, 5, 226, 196, 187, 186, 25, 5, 235, 254, 187,
+ 186, 25, 5, 254, 123, 187, 186, 25, 5, 211, 38, 187, 186, 25, 5, 219, 33,
+ 187, 186, 25, 5, 214, 187, 187, 186, 25, 5, 250, 124, 187, 186, 25, 5,
+ 227, 192, 187, 186, 250, 125, 187, 186, 232, 86, 235, 151, 187, 186, 254,
+ 47, 235, 151, 187, 186, 21, 210, 86, 187, 186, 21, 110, 187, 186, 21,
+ 105, 187, 186, 21, 158, 187, 186, 21, 161, 187, 186, 21, 189, 187, 186,
+ 21, 194, 187, 186, 21, 198, 187, 186, 21, 195, 187, 186, 21, 200, 24,
+ 143, 227, 78, 24, 143, 227, 83, 24, 143, 210, 243, 24, 143, 210, 242, 24,
143, 210, 241, 24, 143, 215, 23, 24, 143, 215, 26, 24, 143, 210, 210, 24,
- 143, 210, 206, 24, 143, 245, 54, 24, 143, 245, 52, 24, 143, 245, 53, 24,
- 143, 245, 50, 24, 143, 240, 144, 24, 143, 240, 143, 24, 143, 240, 141,
- 24, 143, 240, 142, 24, 143, 240, 147, 24, 143, 240, 140, 24, 143, 240,
- 139, 24, 143, 240, 149, 24, 143, 254, 33, 24, 143, 254, 32, 24, 90, 228,
- 219, 24, 90, 228, 225, 24, 90, 218, 204, 24, 90, 218, 203, 24, 90, 216,
- 96, 24, 90, 216, 94, 24, 90, 216, 93, 24, 90, 216, 99, 24, 90, 216, 100,
- 24, 90, 216, 92, 24, 90, 223, 5, 24, 90, 223, 20, 24, 90, 218, 210, 24,
- 90, 223, 17, 24, 90, 223, 7, 24, 90, 223, 9, 24, 90, 222, 252, 24, 90,
- 222, 253, 24, 90, 234, 218, 24, 90, 230, 212, 24, 90, 230, 206, 24, 90,
- 218, 214, 24, 90, 230, 209, 24, 90, 230, 215, 24, 90, 225, 76, 24, 90,
- 225, 85, 24, 90, 225, 89, 24, 90, 218, 212, 24, 90, 225, 79, 24, 90, 225,
- 93, 24, 90, 225, 94, 24, 90, 219, 140, 24, 90, 219, 143, 24, 90, 218,
- 208, 24, 90, 218, 206, 24, 90, 219, 138, 24, 90, 219, 146, 24, 90, 219,
- 147, 24, 90, 219, 132, 24, 90, 219, 145, 24, 90, 226, 30, 24, 90, 226,
- 31, 24, 90, 211, 24, 24, 90, 211, 25, 24, 90, 250, 44, 24, 90, 250, 43,
- 24, 90, 218, 219, 24, 90, 225, 128, 24, 90, 225, 127, 9, 14, 238, 24, 9,
- 14, 238, 23, 9, 14, 238, 22, 9, 14, 238, 21, 9, 14, 238, 20, 9, 14, 238,
- 19, 9, 14, 238, 18, 9, 14, 238, 17, 9, 14, 238, 16, 9, 14, 238, 15, 9,
- 14, 238, 14, 9, 14, 238, 13, 9, 14, 238, 12, 9, 14, 238, 11, 9, 14, 238,
- 10, 9, 14, 238, 9, 9, 14, 238, 8, 9, 14, 238, 7, 9, 14, 238, 6, 9, 14,
- 238, 5, 9, 14, 238, 4, 9, 14, 238, 3, 9, 14, 238, 2, 9, 14, 238, 1, 9,
- 14, 238, 0, 9, 14, 237, 255, 9, 14, 237, 254, 9, 14, 237, 253, 9, 14,
- 237, 252, 9, 14, 237, 251, 9, 14, 237, 250, 9, 14, 237, 249, 9, 14, 237,
- 248, 9, 14, 237, 247, 9, 14, 237, 246, 9, 14, 237, 245, 9, 14, 237, 244,
- 9, 14, 237, 243, 9, 14, 237, 242, 9, 14, 237, 241, 9, 14, 237, 240, 9,
- 14, 237, 239, 9, 14, 237, 238, 9, 14, 237, 237, 9, 14, 237, 236, 9, 14,
- 237, 235, 9, 14, 237, 234, 9, 14, 237, 233, 9, 14, 237, 232, 9, 14, 237,
- 231, 9, 14, 237, 230, 9, 14, 237, 229, 9, 14, 237, 228, 9, 14, 237, 227,
- 9, 14, 237, 226, 9, 14, 237, 225, 9, 14, 237, 224, 9, 14, 237, 223, 9,
- 14, 237, 222, 9, 14, 237, 221, 9, 14, 237, 220, 9, 14, 237, 219, 9, 14,
- 237, 218, 9, 14, 237, 217, 9, 14, 237, 216, 9, 14, 237, 215, 9, 14, 237,
- 214, 9, 14, 237, 213, 9, 14, 237, 212, 9, 14, 237, 211, 9, 14, 237, 210,
- 9, 14, 237, 209, 9, 14, 237, 208, 9, 14, 237, 207, 9, 14, 237, 206, 9,
- 14, 237, 205, 9, 14, 237, 204, 9, 14, 237, 203, 9, 14, 237, 202, 9, 14,
- 237, 201, 9, 14, 237, 200, 9, 14, 237, 199, 9, 14, 237, 198, 9, 14, 237,
- 197, 9, 14, 237, 196, 9, 14, 237, 195, 9, 14, 237, 194, 9, 14, 237, 193,
- 9, 14, 237, 192, 9, 14, 237, 191, 9, 14, 237, 190, 9, 14, 237, 189, 9,
- 14, 237, 188, 9, 14, 237, 187, 9, 14, 237, 186, 9, 14, 237, 185, 9, 14,
- 237, 184, 9, 14, 237, 183, 9, 14, 237, 182, 9, 14, 237, 181, 9, 14, 237,
- 180, 9, 14, 237, 179, 9, 14, 237, 178, 9, 14, 237, 177, 9, 14, 237, 176,
- 9, 14, 237, 175, 9, 14, 237, 174, 9, 14, 237, 173, 9, 14, 237, 172, 9,
- 14, 237, 171, 9, 14, 237, 170, 9, 14, 237, 169, 9, 14, 237, 168, 9, 14,
- 237, 167, 9, 14, 237, 166, 9, 14, 237, 165, 9, 14, 237, 164, 9, 14, 237,
- 163, 9, 14, 237, 162, 9, 14, 237, 161, 9, 14, 237, 160, 9, 14, 237, 159,
- 9, 14, 237, 158, 9, 14, 237, 157, 9, 14, 237, 156, 9, 14, 237, 155, 9,
- 14, 237, 154, 9, 14, 237, 153, 9, 14, 237, 152, 9, 14, 237, 151, 9, 14,
- 237, 150, 9, 14, 237, 149, 9, 14, 237, 148, 9, 14, 237, 147, 9, 14, 237,
- 146, 9, 14, 237, 145, 9, 14, 237, 144, 9, 14, 237, 143, 9, 14, 237, 142,
- 9, 14, 237, 141, 9, 14, 237, 140, 9, 14, 237, 139, 9, 14, 237, 138, 9,
- 14, 237, 137, 9, 14, 237, 136, 9, 14, 237, 135, 9, 14, 237, 134, 9, 14,
- 237, 133, 9, 14, 237, 132, 9, 14, 237, 131, 9, 14, 237, 130, 9, 14, 237,
- 129, 9, 14, 237, 128, 9, 14, 237, 127, 9, 14, 237, 126, 9, 14, 237, 125,
- 9, 14, 237, 124, 9, 14, 237, 123, 9, 14, 237, 122, 9, 14, 237, 121, 9,
- 14, 237, 120, 9, 14, 237, 119, 9, 14, 237, 118, 9, 14, 237, 117, 9, 14,
- 237, 116, 9, 14, 237, 115, 9, 14, 237, 114, 9, 14, 237, 113, 9, 14, 237,
- 112, 9, 14, 237, 111, 9, 14, 237, 110, 9, 14, 237, 109, 9, 14, 237, 108,
- 9, 14, 237, 107, 9, 14, 237, 106, 9, 14, 237, 105, 9, 14, 237, 104, 9,
- 14, 237, 103, 9, 14, 237, 102, 9, 14, 237, 101, 9, 14, 237, 100, 9, 14,
- 237, 99, 9, 14, 237, 98, 9, 14, 237, 97, 9, 14, 237, 96, 9, 14, 237, 95,
- 9, 14, 237, 94, 9, 14, 237, 93, 9, 14, 237, 92, 9, 14, 237, 91, 9, 14,
- 237, 90, 9, 14, 237, 89, 9, 14, 237, 88, 9, 14, 237, 87, 9, 14, 237, 86,
- 9, 14, 237, 85, 9, 14, 237, 84, 9, 14, 237, 83, 9, 14, 237, 82, 9, 14,
- 237, 81, 9, 14, 237, 80, 9, 14, 237, 79, 9, 14, 237, 78, 9, 14, 237, 77,
- 9, 14, 237, 76, 9, 14, 237, 75, 9, 14, 237, 74, 9, 14, 237, 73, 9, 14,
- 237, 72, 9, 14, 237, 71, 9, 14, 237, 70, 9, 14, 237, 69, 9, 14, 237, 68,
- 9, 14, 237, 67, 9, 14, 237, 66, 9, 14, 237, 65, 9, 14, 237, 64, 9, 14,
- 237, 63, 9, 14, 237, 62, 9, 14, 237, 61, 9, 14, 237, 60, 9, 14, 237, 59,
- 9, 14, 237, 58, 9, 14, 237, 57, 9, 14, 237, 56, 9, 14, 237, 55, 9, 14,
- 237, 54, 9, 14, 237, 53, 9, 14, 237, 52, 9, 14, 237, 51, 9, 14, 237, 50,
- 9, 14, 237, 49, 9, 14, 237, 48, 9, 14, 237, 47, 9, 14, 237, 46, 9, 14,
- 237, 45, 9, 14, 237, 44, 9, 14, 237, 43, 9, 14, 237, 42, 9, 14, 237, 41,
- 9, 14, 237, 40, 9, 14, 237, 39, 9, 14, 237, 38, 9, 14, 237, 37, 9, 14,
- 237, 36, 9, 14, 237, 35, 9, 14, 237, 34, 9, 14, 237, 33, 9, 14, 237, 32,
- 9, 14, 237, 31, 9, 14, 237, 30, 9, 14, 237, 29, 9, 14, 237, 28, 9, 14,
- 237, 27, 9, 14, 237, 26, 9, 14, 237, 25, 9, 14, 237, 24, 9, 14, 237, 23,
- 9, 14, 237, 22, 9, 14, 237, 21, 9, 14, 237, 20, 9, 14, 237, 19, 9, 14,
- 237, 18, 9, 14, 237, 17, 9, 14, 237, 16, 9, 14, 237, 15, 9, 14, 237, 14,
- 9, 14, 237, 13, 9, 14, 237, 12, 9, 14, 237, 11, 9, 14, 237, 10, 9, 14,
- 237, 9, 9, 14, 237, 8, 9, 14, 237, 7, 9, 14, 237, 6, 9, 14, 237, 5, 9,
- 14, 237, 4, 9, 14, 237, 3, 9, 14, 237, 2, 9, 14, 237, 1, 9, 14, 237, 0,
- 9, 14, 236, 255, 9, 14, 236, 254, 9, 14, 236, 253, 9, 14, 236, 252, 9,
- 14, 236, 251, 9, 14, 236, 250, 9, 14, 236, 249, 9, 14, 236, 248, 9, 14,
- 236, 247, 9, 14, 236, 246, 9, 14, 236, 245, 9, 14, 236, 244, 9, 14, 236,
- 243, 9, 14, 236, 242, 9, 14, 236, 241, 9, 14, 236, 240, 9, 14, 236, 239,
- 9, 14, 236, 238, 9, 14, 236, 237, 9, 14, 236, 236, 9, 14, 236, 235, 9,
- 14, 236, 234, 9, 14, 236, 233, 9, 14, 236, 232, 9, 14, 236, 231, 9, 14,
- 236, 230, 9, 14, 236, 229, 9, 14, 236, 228, 9, 14, 236, 227, 9, 14, 236,
- 226, 9, 14, 236, 225, 9, 14, 236, 224, 9, 14, 236, 223, 9, 14, 236, 222,
- 9, 14, 236, 221, 9, 14, 236, 220, 9, 14, 236, 219, 9, 14, 236, 218, 9,
- 14, 236, 217, 9, 14, 236, 216, 9, 14, 236, 215, 9, 14, 236, 214, 9, 14,
- 236, 213, 9, 14, 236, 212, 9, 14, 236, 211, 9, 14, 236, 210, 9, 14, 236,
- 209, 9, 14, 236, 208, 9, 14, 236, 207, 9, 14, 236, 206, 9, 14, 236, 205,
- 9, 14, 236, 204, 9, 14, 236, 203, 9, 14, 236, 202, 9, 14, 236, 201, 9,
- 14, 236, 200, 9, 14, 236, 199, 9, 14, 236, 198, 9, 14, 236, 197, 9, 14,
- 236, 196, 9, 14, 236, 195, 9, 14, 236, 194, 9, 14, 236, 193, 9, 14, 236,
- 192, 9, 14, 236, 191, 9, 14, 236, 190, 9, 14, 236, 189, 9, 14, 236, 188,
- 9, 14, 236, 187, 9, 14, 236, 186, 9, 14, 236, 185, 9, 14, 236, 184, 9,
- 14, 236, 183, 9, 14, 236, 182, 9, 14, 236, 181, 9, 14, 236, 180, 9, 14,
- 236, 179, 9, 14, 236, 178, 9, 14, 236, 177, 9, 14, 236, 176, 9, 14, 236,
- 175, 9, 14, 236, 174, 9, 14, 236, 173, 9, 14, 236, 172, 9, 14, 236, 171,
- 9, 14, 236, 170, 9, 14, 236, 169, 9, 14, 236, 168, 9, 14, 236, 167, 9,
- 14, 236, 166, 9, 14, 236, 165, 9, 14, 236, 164, 9, 14, 236, 163, 9, 14,
- 236, 162, 9, 14, 236, 161, 9, 14, 236, 160, 9, 14, 236, 159, 9, 14, 236,
- 158, 9, 14, 236, 157, 9, 14, 236, 156, 9, 14, 236, 155, 9, 14, 236, 154,
- 9, 14, 236, 153, 9, 14, 236, 152, 9, 14, 236, 151, 9, 14, 236, 150, 9,
- 14, 236, 149, 9, 14, 236, 148, 9, 14, 236, 147, 9, 14, 236, 146, 9, 14,
- 236, 145, 9, 14, 236, 144, 9, 14, 236, 143, 9, 14, 236, 142, 9, 14, 236,
- 141, 9, 14, 236, 140, 9, 14, 236, 139, 9, 14, 236, 138, 9, 14, 236, 137,
- 9, 14, 236, 136, 9, 14, 236, 135, 9, 14, 236, 134, 9, 14, 236, 133, 9,
- 14, 236, 132, 9, 14, 236, 131, 9, 14, 236, 130, 9, 14, 236, 129, 9, 14,
- 236, 128, 9, 14, 236, 127, 9, 14, 236, 126, 9, 14, 236, 125, 9, 14, 236,
- 124, 9, 14, 236, 123, 9, 14, 236, 122, 9, 14, 236, 121, 9, 14, 236, 120,
- 9, 14, 236, 119, 9, 14, 236, 118, 9, 14, 236, 117, 9, 14, 236, 116, 9,
- 14, 236, 115, 9, 14, 236, 114, 9, 14, 236, 113, 9, 14, 236, 112, 9, 14,
- 236, 111, 9, 14, 236, 110, 9, 14, 236, 109, 9, 14, 236, 108, 9, 14, 236,
- 107, 9, 14, 236, 106, 9, 14, 236, 105, 9, 14, 236, 104, 9, 14, 236, 103,
- 9, 14, 236, 102, 9, 14, 236, 101, 9, 14, 236, 100, 9, 14, 236, 99, 9, 14,
- 236, 98, 9, 14, 236, 97, 9, 14, 236, 96, 9, 14, 236, 95, 9, 14, 236, 94,
- 9, 14, 236, 93, 9, 14, 236, 92, 9, 14, 236, 91, 9, 14, 236, 90, 9, 14,
- 236, 89, 9, 14, 236, 88, 9, 14, 236, 87, 9, 14, 236, 86, 9, 14, 236, 85,
- 9, 14, 236, 84, 9, 14, 236, 83, 9, 14, 236, 82, 9, 14, 236, 81, 9, 14,
- 236, 80, 9, 14, 236, 79, 9, 14, 236, 78, 9, 14, 236, 77, 9, 14, 236, 76,
- 9, 14, 236, 75, 9, 14, 236, 74, 9, 14, 236, 73, 9, 14, 236, 72, 9, 14,
- 236, 71, 9, 14, 236, 70, 9, 14, 236, 69, 9, 14, 236, 68, 9, 14, 236, 67,
- 9, 14, 236, 66, 9, 14, 236, 65, 7, 4, 27, 244, 125, 7, 4, 27, 244, 121,
- 7, 4, 27, 244, 76, 7, 4, 27, 244, 124, 7, 4, 27, 244, 123, 7, 4, 27, 199,
- 222, 92, 217, 152, 7, 4, 27, 218, 168, 150, 4, 27, 231, 59, 228, 39, 150,
- 4, 27, 231, 59, 245, 213, 150, 4, 27, 231, 59, 235, 227, 150, 4, 27, 213,
- 180, 228, 39, 150, 4, 27, 231, 59, 211, 160, 94, 1, 210, 234, 2, 241,
- 158, 94, 225, 11, 235, 50, 214, 11, 94, 27, 211, 6, 210, 234, 210, 234,
- 225, 239, 94, 1, 254, 139, 253, 162, 94, 1, 211, 247, 254, 170, 94, 1,
- 211, 247, 248, 189, 94, 1, 211, 247, 241, 238, 94, 1, 211, 247, 234, 250,
- 94, 1, 211, 247, 233, 94, 94, 1, 211, 247, 40, 231, 65, 94, 1, 211, 247,
- 223, 67, 94, 1, 211, 247, 217, 38, 94, 1, 254, 139, 96, 50, 94, 1, 220,
- 21, 2, 220, 21, 247, 120, 94, 1, 220, 21, 2, 219, 159, 247, 120, 94, 1,
- 220, 21, 2, 248, 208, 22, 220, 21, 247, 120, 94, 1, 220, 21, 2, 248, 208,
- 22, 219, 159, 247, 120, 94, 1, 112, 2, 225, 239, 94, 1, 112, 2, 224, 76,
- 94, 1, 112, 2, 231, 171, 94, 1, 252, 29, 2, 248, 207, 94, 1, 242, 202, 2,
- 248, 207, 94, 1, 248, 190, 2, 248, 207, 94, 1, 241, 239, 2, 231, 171, 94,
- 1, 214, 4, 2, 248, 207, 94, 1, 210, 98, 2, 248, 207, 94, 1, 216, 231, 2,
- 248, 207, 94, 1, 210, 234, 2, 248, 207, 94, 1, 40, 234, 251, 2, 248, 207,
- 94, 1, 234, 251, 2, 248, 207, 94, 1, 233, 95, 2, 248, 207, 94, 1, 231,
- 66, 2, 248, 207, 94, 1, 227, 195, 2, 248, 207, 94, 1, 221, 250, 2, 248,
- 207, 94, 1, 40, 225, 222, 2, 248, 207, 94, 1, 225, 222, 2, 248, 207, 94,
- 1, 215, 180, 2, 248, 207, 94, 1, 224, 40, 2, 248, 207, 94, 1, 223, 68, 2,
- 248, 207, 94, 1, 220, 21, 2, 248, 207, 94, 1, 217, 39, 2, 248, 207, 94,
- 1, 214, 4, 2, 241, 61, 94, 1, 252, 29, 2, 223, 169, 94, 1, 234, 251, 2,
- 223, 169, 94, 1, 225, 222, 2, 223, 169, 94, 27, 112, 233, 94, 10, 1, 112,
- 212, 47, 53, 17, 10, 1, 112, 212, 47, 40, 17, 10, 1, 252, 65, 53, 17, 10,
- 1, 252, 65, 40, 17, 10, 1, 252, 65, 65, 17, 10, 1, 252, 65, 147, 17, 10,
- 1, 225, 206, 53, 17, 10, 1, 225, 206, 40, 17, 10, 1, 225, 206, 65, 17,
- 10, 1, 225, 206, 147, 17, 10, 1, 252, 53, 53, 17, 10, 1, 252, 53, 40, 17,
- 10, 1, 252, 53, 65, 17, 10, 1, 252, 53, 147, 17, 10, 1, 215, 147, 53, 17,
- 10, 1, 215, 147, 40, 17, 10, 1, 215, 147, 65, 17, 10, 1, 215, 147, 147,
- 17, 10, 1, 217, 6, 53, 17, 10, 1, 217, 6, 40, 17, 10, 1, 217, 6, 65, 17,
- 10, 1, 217, 6, 147, 17, 10, 1, 215, 149, 53, 17, 10, 1, 215, 149, 40, 17,
- 10, 1, 215, 149, 65, 17, 10, 1, 215, 149, 147, 17, 10, 1, 213, 249, 53,
+ 143, 210, 206, 24, 143, 245, 55, 24, 143, 245, 53, 24, 143, 245, 54, 24,
+ 143, 245, 51, 24, 143, 240, 145, 24, 143, 240, 144, 24, 143, 240, 142,
+ 24, 143, 240, 143, 24, 143, 240, 148, 24, 143, 240, 141, 24, 143, 240,
+ 140, 24, 143, 240, 150, 24, 143, 254, 34, 24, 143, 254, 33, 24, 90, 228,
+ 220, 24, 90, 228, 226, 24, 90, 218, 205, 24, 90, 218, 204, 24, 90, 216,
+ 97, 24, 90, 216, 95, 24, 90, 216, 94, 24, 90, 216, 100, 24, 90, 216, 101,
+ 24, 90, 216, 93, 24, 90, 223, 6, 24, 90, 223, 21, 24, 90, 218, 211, 24,
+ 90, 223, 18, 24, 90, 223, 8, 24, 90, 223, 10, 24, 90, 222, 253, 24, 90,
+ 222, 254, 24, 90, 234, 219, 24, 90, 230, 213, 24, 90, 230, 207, 24, 90,
+ 218, 215, 24, 90, 230, 210, 24, 90, 230, 216, 24, 90, 225, 77, 24, 90,
+ 225, 86, 24, 90, 225, 90, 24, 90, 218, 213, 24, 90, 225, 80, 24, 90, 225,
+ 94, 24, 90, 225, 95, 24, 90, 219, 141, 24, 90, 219, 144, 24, 90, 218,
+ 209, 24, 90, 218, 207, 24, 90, 219, 139, 24, 90, 219, 147, 24, 90, 219,
+ 148, 24, 90, 219, 133, 24, 90, 219, 146, 24, 90, 226, 31, 24, 90, 226,
+ 32, 24, 90, 211, 24, 24, 90, 211, 25, 24, 90, 250, 45, 24, 90, 250, 44,
+ 24, 90, 218, 220, 24, 90, 225, 129, 24, 90, 225, 128, 9, 14, 238, 25, 9,
+ 14, 238, 24, 9, 14, 238, 23, 9, 14, 238, 22, 9, 14, 238, 21, 9, 14, 238,
+ 20, 9, 14, 238, 19, 9, 14, 238, 18, 9, 14, 238, 17, 9, 14, 238, 16, 9,
+ 14, 238, 15, 9, 14, 238, 14, 9, 14, 238, 13, 9, 14, 238, 12, 9, 14, 238,
+ 11, 9, 14, 238, 10, 9, 14, 238, 9, 9, 14, 238, 8, 9, 14, 238, 7, 9, 14,
+ 238, 6, 9, 14, 238, 5, 9, 14, 238, 4, 9, 14, 238, 3, 9, 14, 238, 2, 9,
+ 14, 238, 1, 9, 14, 238, 0, 9, 14, 237, 255, 9, 14, 237, 254, 9, 14, 237,
+ 253, 9, 14, 237, 252, 9, 14, 237, 251, 9, 14, 237, 250, 9, 14, 237, 249,
+ 9, 14, 237, 248, 9, 14, 237, 247, 9, 14, 237, 246, 9, 14, 237, 245, 9,
+ 14, 237, 244, 9, 14, 237, 243, 9, 14, 237, 242, 9, 14, 237, 241, 9, 14,
+ 237, 240, 9, 14, 237, 239, 9, 14, 237, 238, 9, 14, 237, 237, 9, 14, 237,
+ 236, 9, 14, 237, 235, 9, 14, 237, 234, 9, 14, 237, 233, 9, 14, 237, 232,
+ 9, 14, 237, 231, 9, 14, 237, 230, 9, 14, 237, 229, 9, 14, 237, 228, 9,
+ 14, 237, 227, 9, 14, 237, 226, 9, 14, 237, 225, 9, 14, 237, 224, 9, 14,
+ 237, 223, 9, 14, 237, 222, 9, 14, 237, 221, 9, 14, 237, 220, 9, 14, 237,
+ 219, 9, 14, 237, 218, 9, 14, 237, 217, 9, 14, 237, 216, 9, 14, 237, 215,
+ 9, 14, 237, 214, 9, 14, 237, 213, 9, 14, 237, 212, 9, 14, 237, 211, 9,
+ 14, 237, 210, 9, 14, 237, 209, 9, 14, 237, 208, 9, 14, 237, 207, 9, 14,
+ 237, 206, 9, 14, 237, 205, 9, 14, 237, 204, 9, 14, 237, 203, 9, 14, 237,
+ 202, 9, 14, 237, 201, 9, 14, 237, 200, 9, 14, 237, 199, 9, 14, 237, 198,
+ 9, 14, 237, 197, 9, 14, 237, 196, 9, 14, 237, 195, 9, 14, 237, 194, 9,
+ 14, 237, 193, 9, 14, 237, 192, 9, 14, 237, 191, 9, 14, 237, 190, 9, 14,
+ 237, 189, 9, 14, 237, 188, 9, 14, 237, 187, 9, 14, 237, 186, 9, 14, 237,
+ 185, 9, 14, 237, 184, 9, 14, 237, 183, 9, 14, 237, 182, 9, 14, 237, 181,
+ 9, 14, 237, 180, 9, 14, 237, 179, 9, 14, 237, 178, 9, 14, 237, 177, 9,
+ 14, 237, 176, 9, 14, 237, 175, 9, 14, 237, 174, 9, 14, 237, 173, 9, 14,
+ 237, 172, 9, 14, 237, 171, 9, 14, 237, 170, 9, 14, 237, 169, 9, 14, 237,
+ 168, 9, 14, 237, 167, 9, 14, 237, 166, 9, 14, 237, 165, 9, 14, 237, 164,
+ 9, 14, 237, 163, 9, 14, 237, 162, 9, 14, 237, 161, 9, 14, 237, 160, 9,
+ 14, 237, 159, 9, 14, 237, 158, 9, 14, 237, 157, 9, 14, 237, 156, 9, 14,
+ 237, 155, 9, 14, 237, 154, 9, 14, 237, 153, 9, 14, 237, 152, 9, 14, 237,
+ 151, 9, 14, 237, 150, 9, 14, 237, 149, 9, 14, 237, 148, 9, 14, 237, 147,
+ 9, 14, 237, 146, 9, 14, 237, 145, 9, 14, 237, 144, 9, 14, 237, 143, 9,
+ 14, 237, 142, 9, 14, 237, 141, 9, 14, 237, 140, 9, 14, 237, 139, 9, 14,
+ 237, 138, 9, 14, 237, 137, 9, 14, 237, 136, 9, 14, 237, 135, 9, 14, 237,
+ 134, 9, 14, 237, 133, 9, 14, 237, 132, 9, 14, 237, 131, 9, 14, 237, 130,
+ 9, 14, 237, 129, 9, 14, 237, 128, 9, 14, 237, 127, 9, 14, 237, 126, 9,
+ 14, 237, 125, 9, 14, 237, 124, 9, 14, 237, 123, 9, 14, 237, 122, 9, 14,
+ 237, 121, 9, 14, 237, 120, 9, 14, 237, 119, 9, 14, 237, 118, 9, 14, 237,
+ 117, 9, 14, 237, 116, 9, 14, 237, 115, 9, 14, 237, 114, 9, 14, 237, 113,
+ 9, 14, 237, 112, 9, 14, 237, 111, 9, 14, 237, 110, 9, 14, 237, 109, 9,
+ 14, 237, 108, 9, 14, 237, 107, 9, 14, 237, 106, 9, 14, 237, 105, 9, 14,
+ 237, 104, 9, 14, 237, 103, 9, 14, 237, 102, 9, 14, 237, 101, 9, 14, 237,
+ 100, 9, 14, 237, 99, 9, 14, 237, 98, 9, 14, 237, 97, 9, 14, 237, 96, 9,
+ 14, 237, 95, 9, 14, 237, 94, 9, 14, 237, 93, 9, 14, 237, 92, 9, 14, 237,
+ 91, 9, 14, 237, 90, 9, 14, 237, 89, 9, 14, 237, 88, 9, 14, 237, 87, 9,
+ 14, 237, 86, 9, 14, 237, 85, 9, 14, 237, 84, 9, 14, 237, 83, 9, 14, 237,
+ 82, 9, 14, 237, 81, 9, 14, 237, 80, 9, 14, 237, 79, 9, 14, 237, 78, 9,
+ 14, 237, 77, 9, 14, 237, 76, 9, 14, 237, 75, 9, 14, 237, 74, 9, 14, 237,
+ 73, 9, 14, 237, 72, 9, 14, 237, 71, 9, 14, 237, 70, 9, 14, 237, 69, 9,
+ 14, 237, 68, 9, 14, 237, 67, 9, 14, 237, 66, 9, 14, 237, 65, 9, 14, 237,
+ 64, 9, 14, 237, 63, 9, 14, 237, 62, 9, 14, 237, 61, 9, 14, 237, 60, 9,
+ 14, 237, 59, 9, 14, 237, 58, 9, 14, 237, 57, 9, 14, 237, 56, 9, 14, 237,
+ 55, 9, 14, 237, 54, 9, 14, 237, 53, 9, 14, 237, 52, 9, 14, 237, 51, 9,
+ 14, 237, 50, 9, 14, 237, 49, 9, 14, 237, 48, 9, 14, 237, 47, 9, 14, 237,
+ 46, 9, 14, 237, 45, 9, 14, 237, 44, 9, 14, 237, 43, 9, 14, 237, 42, 9,
+ 14, 237, 41, 9, 14, 237, 40, 9, 14, 237, 39, 9, 14, 237, 38, 9, 14, 237,
+ 37, 9, 14, 237, 36, 9, 14, 237, 35, 9, 14, 237, 34, 9, 14, 237, 33, 9,
+ 14, 237, 32, 9, 14, 237, 31, 9, 14, 237, 30, 9, 14, 237, 29, 9, 14, 237,
+ 28, 9, 14, 237, 27, 9, 14, 237, 26, 9, 14, 237, 25, 9, 14, 237, 24, 9,
+ 14, 237, 23, 9, 14, 237, 22, 9, 14, 237, 21, 9, 14, 237, 20, 9, 14, 237,
+ 19, 9, 14, 237, 18, 9, 14, 237, 17, 9, 14, 237, 16, 9, 14, 237, 15, 9,
+ 14, 237, 14, 9, 14, 237, 13, 9, 14, 237, 12, 9, 14, 237, 11, 9, 14, 237,
+ 10, 9, 14, 237, 9, 9, 14, 237, 8, 9, 14, 237, 7, 9, 14, 237, 6, 9, 14,
+ 237, 5, 9, 14, 237, 4, 9, 14, 237, 3, 9, 14, 237, 2, 9, 14, 237, 1, 9,
+ 14, 237, 0, 9, 14, 236, 255, 9, 14, 236, 254, 9, 14, 236, 253, 9, 14,
+ 236, 252, 9, 14, 236, 251, 9, 14, 236, 250, 9, 14, 236, 249, 9, 14, 236,
+ 248, 9, 14, 236, 247, 9, 14, 236, 246, 9, 14, 236, 245, 9, 14, 236, 244,
+ 9, 14, 236, 243, 9, 14, 236, 242, 9, 14, 236, 241, 9, 14, 236, 240, 9,
+ 14, 236, 239, 9, 14, 236, 238, 9, 14, 236, 237, 9, 14, 236, 236, 9, 14,
+ 236, 235, 9, 14, 236, 234, 9, 14, 236, 233, 9, 14, 236, 232, 9, 14, 236,
+ 231, 9, 14, 236, 230, 9, 14, 236, 229, 9, 14, 236, 228, 9, 14, 236, 227,
+ 9, 14, 236, 226, 9, 14, 236, 225, 9, 14, 236, 224, 9, 14, 236, 223, 9,
+ 14, 236, 222, 9, 14, 236, 221, 9, 14, 236, 220, 9, 14, 236, 219, 9, 14,
+ 236, 218, 9, 14, 236, 217, 9, 14, 236, 216, 9, 14, 236, 215, 9, 14, 236,
+ 214, 9, 14, 236, 213, 9, 14, 236, 212, 9, 14, 236, 211, 9, 14, 236, 210,
+ 9, 14, 236, 209, 9, 14, 236, 208, 9, 14, 236, 207, 9, 14, 236, 206, 9,
+ 14, 236, 205, 9, 14, 236, 204, 9, 14, 236, 203, 9, 14, 236, 202, 9, 14,
+ 236, 201, 9, 14, 236, 200, 9, 14, 236, 199, 9, 14, 236, 198, 9, 14, 236,
+ 197, 9, 14, 236, 196, 9, 14, 236, 195, 9, 14, 236, 194, 9, 14, 236, 193,
+ 9, 14, 236, 192, 9, 14, 236, 191, 9, 14, 236, 190, 9, 14, 236, 189, 9,
+ 14, 236, 188, 9, 14, 236, 187, 9, 14, 236, 186, 9, 14, 236, 185, 9, 14,
+ 236, 184, 9, 14, 236, 183, 9, 14, 236, 182, 9, 14, 236, 181, 9, 14, 236,
+ 180, 9, 14, 236, 179, 9, 14, 236, 178, 9, 14, 236, 177, 9, 14, 236, 176,
+ 9, 14, 236, 175, 9, 14, 236, 174, 9, 14, 236, 173, 9, 14, 236, 172, 9,
+ 14, 236, 171, 9, 14, 236, 170, 9, 14, 236, 169, 9, 14, 236, 168, 9, 14,
+ 236, 167, 9, 14, 236, 166, 9, 14, 236, 165, 9, 14, 236, 164, 9, 14, 236,
+ 163, 9, 14, 236, 162, 9, 14, 236, 161, 9, 14, 236, 160, 9, 14, 236, 159,
+ 9, 14, 236, 158, 9, 14, 236, 157, 9, 14, 236, 156, 9, 14, 236, 155, 9,
+ 14, 236, 154, 9, 14, 236, 153, 9, 14, 236, 152, 9, 14, 236, 151, 9, 14,
+ 236, 150, 9, 14, 236, 149, 9, 14, 236, 148, 9, 14, 236, 147, 9, 14, 236,
+ 146, 9, 14, 236, 145, 9, 14, 236, 144, 9, 14, 236, 143, 9, 14, 236, 142,
+ 9, 14, 236, 141, 9, 14, 236, 140, 9, 14, 236, 139, 9, 14, 236, 138, 9,
+ 14, 236, 137, 9, 14, 236, 136, 9, 14, 236, 135, 9, 14, 236, 134, 9, 14,
+ 236, 133, 9, 14, 236, 132, 9, 14, 236, 131, 9, 14, 236, 130, 9, 14, 236,
+ 129, 9, 14, 236, 128, 9, 14, 236, 127, 9, 14, 236, 126, 9, 14, 236, 125,
+ 9, 14, 236, 124, 9, 14, 236, 123, 9, 14, 236, 122, 9, 14, 236, 121, 9,
+ 14, 236, 120, 9, 14, 236, 119, 9, 14, 236, 118, 9, 14, 236, 117, 9, 14,
+ 236, 116, 9, 14, 236, 115, 9, 14, 236, 114, 9, 14, 236, 113, 9, 14, 236,
+ 112, 9, 14, 236, 111, 9, 14, 236, 110, 9, 14, 236, 109, 9, 14, 236, 108,
+ 9, 14, 236, 107, 9, 14, 236, 106, 9, 14, 236, 105, 9, 14, 236, 104, 9,
+ 14, 236, 103, 9, 14, 236, 102, 9, 14, 236, 101, 9, 14, 236, 100, 9, 14,
+ 236, 99, 9, 14, 236, 98, 9, 14, 236, 97, 9, 14, 236, 96, 9, 14, 236, 95,
+ 9, 14, 236, 94, 9, 14, 236, 93, 9, 14, 236, 92, 9, 14, 236, 91, 9, 14,
+ 236, 90, 9, 14, 236, 89, 9, 14, 236, 88, 9, 14, 236, 87, 9, 14, 236, 86,
+ 9, 14, 236, 85, 9, 14, 236, 84, 9, 14, 236, 83, 9, 14, 236, 82, 9, 14,
+ 236, 81, 9, 14, 236, 80, 9, 14, 236, 79, 9, 14, 236, 78, 9, 14, 236, 77,
+ 9, 14, 236, 76, 9, 14, 236, 75, 9, 14, 236, 74, 9, 14, 236, 73, 9, 14,
+ 236, 72, 9, 14, 236, 71, 9, 14, 236, 70, 9, 14, 236, 69, 9, 14, 236, 68,
+ 9, 14, 236, 67, 9, 14, 236, 66, 7, 4, 27, 244, 126, 7, 4, 27, 244, 122,
+ 7, 4, 27, 244, 77, 7, 4, 27, 244, 125, 7, 4, 27, 244, 124, 7, 4, 27, 199,
+ 222, 93, 217, 153, 7, 4, 27, 218, 169, 150, 4, 27, 231, 60, 228, 40, 150,
+ 4, 27, 231, 60, 245, 214, 150, 4, 27, 231, 60, 235, 228, 150, 4, 27, 213,
+ 180, 228, 40, 150, 4, 27, 231, 60, 211, 160, 94, 1, 210, 234, 2, 241,
+ 159, 94, 225, 12, 235, 51, 214, 11, 94, 27, 211, 6, 210, 234, 210, 234,
+ 225, 240, 94, 1, 254, 140, 253, 163, 94, 1, 211, 247, 254, 171, 94, 1,
+ 211, 247, 248, 190, 94, 1, 211, 247, 241, 239, 94, 1, 211, 247, 234, 251,
+ 94, 1, 211, 247, 233, 95, 94, 1, 211, 247, 40, 231, 66, 94, 1, 211, 247,
+ 223, 68, 94, 1, 211, 247, 217, 39, 94, 1, 254, 140, 96, 50, 94, 1, 220,
+ 22, 2, 220, 22, 247, 121, 94, 1, 220, 22, 2, 219, 160, 247, 121, 94, 1,
+ 220, 22, 2, 248, 209, 22, 220, 22, 247, 121, 94, 1, 220, 22, 2, 248, 209,
+ 22, 219, 160, 247, 121, 94, 1, 112, 2, 225, 240, 94, 1, 112, 2, 224, 77,
+ 94, 1, 112, 2, 231, 172, 94, 1, 252, 30, 2, 248, 208, 94, 1, 242, 203, 2,
+ 248, 208, 94, 1, 248, 191, 2, 248, 208, 94, 1, 241, 240, 2, 231, 172, 94,
+ 1, 214, 4, 2, 248, 208, 94, 1, 210, 98, 2, 248, 208, 94, 1, 216, 232, 2,
+ 248, 208, 94, 1, 210, 234, 2, 248, 208, 94, 1, 40, 234, 252, 2, 248, 208,
+ 94, 1, 234, 252, 2, 248, 208, 94, 1, 233, 96, 2, 248, 208, 94, 1, 231,
+ 67, 2, 248, 208, 94, 1, 227, 196, 2, 248, 208, 94, 1, 221, 251, 2, 248,
+ 208, 94, 1, 40, 225, 223, 2, 248, 208, 94, 1, 225, 223, 2, 248, 208, 94,
+ 1, 215, 181, 2, 248, 208, 94, 1, 224, 41, 2, 248, 208, 94, 1, 223, 69, 2,
+ 248, 208, 94, 1, 220, 22, 2, 248, 208, 94, 1, 217, 40, 2, 248, 208, 94,
+ 1, 214, 4, 2, 241, 62, 94, 1, 252, 30, 2, 223, 170, 94, 1, 234, 252, 2,
+ 223, 170, 94, 1, 225, 223, 2, 223, 170, 94, 27, 112, 233, 95, 10, 1, 112,
+ 212, 47, 53, 17, 10, 1, 112, 212, 47, 40, 17, 10, 1, 252, 66, 53, 17, 10,
+ 1, 252, 66, 40, 17, 10, 1, 252, 66, 65, 17, 10, 1, 252, 66, 147, 17, 10,
+ 1, 225, 207, 53, 17, 10, 1, 225, 207, 40, 17, 10, 1, 225, 207, 65, 17,
+ 10, 1, 225, 207, 147, 17, 10, 1, 252, 54, 53, 17, 10, 1, 252, 54, 40, 17,
+ 10, 1, 252, 54, 65, 17, 10, 1, 252, 54, 147, 17, 10, 1, 215, 148, 53, 17,
+ 10, 1, 215, 148, 40, 17, 10, 1, 215, 148, 65, 17, 10, 1, 215, 148, 147,
+ 17, 10, 1, 217, 7, 53, 17, 10, 1, 217, 7, 40, 17, 10, 1, 217, 7, 65, 17,
+ 10, 1, 217, 7, 147, 17, 10, 1, 215, 150, 53, 17, 10, 1, 215, 150, 40, 17,
+ 10, 1, 215, 150, 65, 17, 10, 1, 215, 150, 147, 17, 10, 1, 213, 249, 53,
17, 10, 1, 213, 249, 40, 17, 10, 1, 213, 249, 65, 17, 10, 1, 213, 249,
- 147, 17, 10, 1, 225, 204, 53, 17, 10, 1, 225, 204, 40, 17, 10, 1, 225,
- 204, 65, 17, 10, 1, 225, 204, 147, 17, 10, 1, 246, 44, 53, 17, 10, 1,
- 246, 44, 40, 17, 10, 1, 246, 44, 65, 17, 10, 1, 246, 44, 147, 17, 10, 1,
- 227, 154, 53, 17, 10, 1, 227, 154, 40, 17, 10, 1, 227, 154, 65, 17, 10,
- 1, 227, 154, 147, 17, 10, 1, 217, 27, 53, 17, 10, 1, 217, 27, 40, 17, 10,
- 1, 217, 27, 65, 17, 10, 1, 217, 27, 147, 17, 10, 1, 217, 25, 53, 17, 10,
- 1, 217, 25, 40, 17, 10, 1, 217, 25, 65, 17, 10, 1, 217, 25, 147, 17, 10,
- 1, 248, 133, 53, 17, 10, 1, 248, 133, 40, 17, 10, 1, 248, 202, 53, 17,
- 10, 1, 248, 202, 40, 17, 10, 1, 246, 71, 53, 17, 10, 1, 246, 71, 40, 17,
- 10, 1, 248, 131, 53, 17, 10, 1, 248, 131, 40, 17, 10, 1, 235, 121, 53,
- 17, 10, 1, 235, 121, 40, 17, 10, 1, 222, 172, 53, 17, 10, 1, 222, 172,
- 40, 17, 10, 1, 234, 175, 53, 17, 10, 1, 234, 175, 40, 17, 10, 1, 234,
- 175, 65, 17, 10, 1, 234, 175, 147, 17, 10, 1, 243, 123, 53, 17, 10, 1,
- 243, 123, 40, 17, 10, 1, 243, 123, 65, 17, 10, 1, 243, 123, 147, 17, 10,
- 1, 242, 102, 53, 17, 10, 1, 242, 102, 40, 17, 10, 1, 242, 102, 65, 17,
- 10, 1, 242, 102, 147, 17, 10, 1, 229, 3, 53, 17, 10, 1, 229, 3, 40, 17,
- 10, 1, 229, 3, 65, 17, 10, 1, 229, 3, 147, 17, 10, 1, 228, 63, 242, 219,
- 53, 17, 10, 1, 228, 63, 242, 219, 40, 17, 10, 1, 222, 215, 53, 17, 10, 1,
- 222, 215, 40, 17, 10, 1, 222, 215, 65, 17, 10, 1, 222, 215, 147, 17, 10,
- 1, 241, 219, 2, 79, 77, 53, 17, 10, 1, 241, 219, 2, 79, 77, 40, 17, 10,
- 1, 241, 219, 242, 172, 53, 17, 10, 1, 241, 219, 242, 172, 40, 17, 10, 1,
- 241, 219, 242, 172, 65, 17, 10, 1, 241, 219, 242, 172, 147, 17, 10, 1,
- 241, 219, 247, 142, 53, 17, 10, 1, 241, 219, 247, 142, 40, 17, 10, 1,
- 241, 219, 247, 142, 65, 17, 10, 1, 241, 219, 247, 142, 147, 17, 10, 1,
- 79, 252, 133, 53, 17, 10, 1, 79, 252, 133, 40, 17, 10, 1, 79, 252, 133,
- 2, 202, 77, 53, 17, 10, 1, 79, 252, 133, 2, 202, 77, 40, 17, 10, 16, 59,
+ 147, 17, 10, 1, 225, 205, 53, 17, 10, 1, 225, 205, 40, 17, 10, 1, 225,
+ 205, 65, 17, 10, 1, 225, 205, 147, 17, 10, 1, 246, 45, 53, 17, 10, 1,
+ 246, 45, 40, 17, 10, 1, 246, 45, 65, 17, 10, 1, 246, 45, 147, 17, 10, 1,
+ 227, 155, 53, 17, 10, 1, 227, 155, 40, 17, 10, 1, 227, 155, 65, 17, 10,
+ 1, 227, 155, 147, 17, 10, 1, 217, 28, 53, 17, 10, 1, 217, 28, 40, 17, 10,
+ 1, 217, 28, 65, 17, 10, 1, 217, 28, 147, 17, 10, 1, 217, 26, 53, 17, 10,
+ 1, 217, 26, 40, 17, 10, 1, 217, 26, 65, 17, 10, 1, 217, 26, 147, 17, 10,
+ 1, 248, 134, 53, 17, 10, 1, 248, 134, 40, 17, 10, 1, 248, 203, 53, 17,
+ 10, 1, 248, 203, 40, 17, 10, 1, 246, 72, 53, 17, 10, 1, 246, 72, 40, 17,
+ 10, 1, 248, 132, 53, 17, 10, 1, 248, 132, 40, 17, 10, 1, 235, 122, 53,
+ 17, 10, 1, 235, 122, 40, 17, 10, 1, 222, 173, 53, 17, 10, 1, 222, 173,
+ 40, 17, 10, 1, 234, 176, 53, 17, 10, 1, 234, 176, 40, 17, 10, 1, 234,
+ 176, 65, 17, 10, 1, 234, 176, 147, 17, 10, 1, 243, 124, 53, 17, 10, 1,
+ 243, 124, 40, 17, 10, 1, 243, 124, 65, 17, 10, 1, 243, 124, 147, 17, 10,
+ 1, 242, 103, 53, 17, 10, 1, 242, 103, 40, 17, 10, 1, 242, 103, 65, 17,
+ 10, 1, 242, 103, 147, 17, 10, 1, 229, 4, 53, 17, 10, 1, 229, 4, 40, 17,
+ 10, 1, 229, 4, 65, 17, 10, 1, 229, 4, 147, 17, 10, 1, 228, 64, 242, 220,
+ 53, 17, 10, 1, 228, 64, 242, 220, 40, 17, 10, 1, 222, 216, 53, 17, 10, 1,
+ 222, 216, 40, 17, 10, 1, 222, 216, 65, 17, 10, 1, 222, 216, 147, 17, 10,
+ 1, 241, 220, 2, 79, 77, 53, 17, 10, 1, 241, 220, 2, 79, 77, 40, 17, 10,
+ 1, 241, 220, 242, 173, 53, 17, 10, 1, 241, 220, 242, 173, 40, 17, 10, 1,
+ 241, 220, 242, 173, 65, 17, 10, 1, 241, 220, 242, 173, 147, 17, 10, 1,
+ 241, 220, 247, 143, 53, 17, 10, 1, 241, 220, 247, 143, 40, 17, 10, 1,
+ 241, 220, 247, 143, 65, 17, 10, 1, 241, 220, 247, 143, 147, 17, 10, 1,
+ 79, 252, 134, 53, 17, 10, 1, 79, 252, 134, 40, 17, 10, 1, 79, 252, 134,
+ 2, 202, 77, 53, 17, 10, 1, 79, 252, 134, 2, 202, 77, 40, 17, 10, 16, 59,
48, 10, 16, 59, 51, 10, 16, 113, 170, 48, 10, 16, 113, 170, 51, 10, 16,
- 134, 170, 48, 10, 16, 134, 170, 51, 10, 16, 134, 170, 225, 7, 246, 104,
- 48, 10, 16, 134, 170, 225, 7, 246, 104, 51, 10, 16, 244, 11, 170, 48, 10,
- 16, 244, 11, 170, 51, 10, 16, 52, 67, 252, 141, 51, 10, 16, 113, 170,
- 213, 189, 48, 10, 16, 113, 170, 213, 189, 51, 10, 16, 222, 233, 10, 16,
- 4, 217, 81, 48, 10, 16, 4, 217, 81, 51, 10, 1, 229, 80, 53, 17, 10, 1,
- 229, 80, 40, 17, 10, 1, 229, 80, 65, 17, 10, 1, 229, 80, 147, 17, 10, 1,
- 104, 53, 17, 10, 1, 104, 40, 17, 10, 1, 226, 235, 53, 17, 10, 1, 226,
- 235, 40, 17, 10, 1, 210, 213, 53, 17, 10, 1, 210, 213, 40, 17, 10, 1,
+ 134, 170, 48, 10, 16, 134, 170, 51, 10, 16, 134, 170, 225, 8, 246, 105,
+ 48, 10, 16, 134, 170, 225, 8, 246, 105, 51, 10, 16, 244, 12, 170, 48, 10,
+ 16, 244, 12, 170, 51, 10, 16, 52, 67, 252, 142, 51, 10, 16, 113, 170,
+ 213, 189, 48, 10, 16, 113, 170, 213, 189, 51, 10, 16, 222, 234, 10, 16,
+ 4, 217, 82, 48, 10, 16, 4, 217, 82, 51, 10, 1, 229, 81, 53, 17, 10, 1,
+ 229, 81, 40, 17, 10, 1, 229, 81, 65, 17, 10, 1, 229, 81, 147, 17, 10, 1,
+ 104, 53, 17, 10, 1, 104, 40, 17, 10, 1, 226, 236, 53, 17, 10, 1, 226,
+ 236, 40, 17, 10, 1, 210, 213, 53, 17, 10, 1, 210, 213, 40, 17, 10, 1,
104, 2, 202, 77, 53, 17, 10, 1, 214, 0, 53, 17, 10, 1, 214, 0, 40, 17,
- 10, 1, 234, 73, 226, 235, 53, 17, 10, 1, 234, 73, 226, 235, 40, 17, 10,
- 1, 234, 73, 210, 213, 53, 17, 10, 1, 234, 73, 210, 213, 40, 17, 10, 1,
+ 10, 1, 234, 74, 226, 236, 53, 17, 10, 1, 234, 74, 226, 236, 40, 17, 10,
+ 1, 234, 74, 210, 213, 53, 17, 10, 1, 234, 74, 210, 213, 40, 17, 10, 1,
160, 53, 17, 10, 1, 160, 40, 17, 10, 1, 160, 65, 17, 10, 1, 160, 147, 17,
- 10, 1, 214, 207, 234, 186, 234, 73, 112, 231, 193, 65, 17, 10, 1, 214,
- 207, 234, 186, 234, 73, 112, 231, 193, 147, 17, 10, 27, 79, 2, 202, 77,
+ 10, 1, 214, 207, 234, 187, 234, 74, 112, 231, 194, 65, 17, 10, 1, 214,
+ 207, 234, 187, 234, 74, 112, 231, 194, 147, 17, 10, 27, 79, 2, 202, 77,
2, 112, 53, 17, 10, 27, 79, 2, 202, 77, 2, 112, 40, 17, 10, 27, 79, 2,
- 202, 77, 2, 254, 244, 53, 17, 10, 27, 79, 2, 202, 77, 2, 254, 244, 40,
+ 202, 77, 2, 254, 245, 53, 17, 10, 27, 79, 2, 202, 77, 2, 254, 245, 40,
17, 10, 27, 79, 2, 202, 77, 2, 212, 31, 53, 17, 10, 27, 79, 2, 202, 77,
2, 212, 31, 40, 17, 10, 27, 79, 2, 202, 77, 2, 104, 53, 17, 10, 27, 79,
- 2, 202, 77, 2, 104, 40, 17, 10, 27, 79, 2, 202, 77, 2, 226, 235, 53, 17,
- 10, 27, 79, 2, 202, 77, 2, 226, 235, 40, 17, 10, 27, 79, 2, 202, 77, 2,
+ 2, 202, 77, 2, 104, 40, 17, 10, 27, 79, 2, 202, 77, 2, 226, 236, 53, 17,
+ 10, 27, 79, 2, 202, 77, 2, 226, 236, 40, 17, 10, 27, 79, 2, 202, 77, 2,
210, 213, 53, 17, 10, 27, 79, 2, 202, 77, 2, 210, 213, 40, 17, 10, 27,
79, 2, 202, 77, 2, 160, 53, 17, 10, 27, 79, 2, 202, 77, 2, 160, 40, 17,
- 10, 27, 79, 2, 202, 77, 2, 160, 65, 17, 10, 27, 214, 207, 234, 73, 79, 2,
- 202, 77, 2, 112, 231, 193, 53, 17, 10, 27, 214, 207, 234, 73, 79, 2, 202,
- 77, 2, 112, 231, 193, 40, 17, 10, 27, 214, 207, 234, 73, 79, 2, 202, 77,
- 2, 112, 231, 193, 65, 17, 10, 1, 244, 168, 79, 53, 17, 10, 1, 244, 168,
- 79, 40, 17, 10, 1, 244, 168, 79, 65, 17, 10, 1, 244, 168, 79, 147, 17,
+ 10, 27, 79, 2, 202, 77, 2, 160, 65, 17, 10, 27, 214, 207, 234, 74, 79, 2,
+ 202, 77, 2, 112, 231, 194, 53, 17, 10, 27, 214, 207, 234, 74, 79, 2, 202,
+ 77, 2, 112, 231, 194, 40, 17, 10, 27, 214, 207, 234, 74, 79, 2, 202, 77,
+ 2, 112, 231, 194, 65, 17, 10, 1, 244, 169, 79, 53, 17, 10, 1, 244, 169,
+ 79, 40, 17, 10, 1, 244, 169, 79, 65, 17, 10, 1, 244, 169, 79, 147, 17,
10, 27, 79, 2, 202, 77, 2, 151, 53, 17, 10, 27, 79, 2, 202, 77, 2, 122,
53, 17, 10, 27, 79, 2, 202, 77, 2, 66, 53, 17, 10, 27, 79, 2, 202, 77, 2,
- 112, 231, 193, 53, 17, 10, 27, 79, 2, 202, 77, 2, 79, 53, 17, 10, 27,
- 252, 55, 2, 151, 53, 17, 10, 27, 252, 55, 2, 122, 53, 17, 10, 27, 252,
- 55, 2, 234, 130, 53, 17, 10, 27, 252, 55, 2, 66, 53, 17, 10, 27, 252, 55,
- 2, 112, 231, 193, 53, 17, 10, 27, 252, 55, 2, 79, 53, 17, 10, 27, 217, 8,
- 2, 151, 53, 17, 10, 27, 217, 8, 2, 122, 53, 17, 10, 27, 217, 8, 2, 234,
- 130, 53, 17, 10, 27, 217, 8, 2, 66, 53, 17, 10, 27, 217, 8, 2, 112, 231,
- 193, 53, 17, 10, 27, 217, 8, 2, 79, 53, 17, 10, 27, 216, 193, 2, 151, 53,
- 17, 10, 27, 216, 193, 2, 66, 53, 17, 10, 27, 216, 193, 2, 112, 231, 193,
- 53, 17, 10, 27, 216, 193, 2, 79, 53, 17, 10, 27, 151, 2, 122, 53, 17, 10,
+ 112, 231, 194, 53, 17, 10, 27, 79, 2, 202, 77, 2, 79, 53, 17, 10, 27,
+ 252, 56, 2, 151, 53, 17, 10, 27, 252, 56, 2, 122, 53, 17, 10, 27, 252,
+ 56, 2, 234, 131, 53, 17, 10, 27, 252, 56, 2, 66, 53, 17, 10, 27, 252, 56,
+ 2, 112, 231, 194, 53, 17, 10, 27, 252, 56, 2, 79, 53, 17, 10, 27, 217, 9,
+ 2, 151, 53, 17, 10, 27, 217, 9, 2, 122, 53, 17, 10, 27, 217, 9, 2, 234,
+ 131, 53, 17, 10, 27, 217, 9, 2, 66, 53, 17, 10, 27, 217, 9, 2, 112, 231,
+ 194, 53, 17, 10, 27, 217, 9, 2, 79, 53, 17, 10, 27, 216, 194, 2, 151, 53,
+ 17, 10, 27, 216, 194, 2, 66, 53, 17, 10, 27, 216, 194, 2, 112, 231, 194,
+ 53, 17, 10, 27, 216, 194, 2, 79, 53, 17, 10, 27, 151, 2, 122, 53, 17, 10,
27, 151, 2, 66, 53, 17, 10, 27, 122, 2, 151, 53, 17, 10, 27, 122, 2, 66,
- 53, 17, 10, 27, 234, 130, 2, 151, 53, 17, 10, 27, 234, 130, 2, 122, 53,
- 17, 10, 27, 234, 130, 2, 66, 53, 17, 10, 27, 221, 167, 2, 151, 53, 17,
- 10, 27, 221, 167, 2, 122, 53, 17, 10, 27, 221, 167, 2, 234, 130, 53, 17,
- 10, 27, 221, 167, 2, 66, 53, 17, 10, 27, 222, 27, 2, 122, 53, 17, 10, 27,
- 222, 27, 2, 66, 53, 17, 10, 27, 248, 217, 2, 151, 53, 17, 10, 27, 248,
- 217, 2, 122, 53, 17, 10, 27, 248, 217, 2, 234, 130, 53, 17, 10, 27, 248,
- 217, 2, 66, 53, 17, 10, 27, 217, 81, 2, 122, 53, 17, 10, 27, 217, 81, 2,
- 66, 53, 17, 10, 27, 210, 112, 2, 66, 53, 17, 10, 27, 254, 197, 2, 151,
- 53, 17, 10, 27, 254, 197, 2, 66, 53, 17, 10, 27, 242, 245, 2, 151, 53,
- 17, 10, 27, 242, 245, 2, 66, 53, 17, 10, 27, 244, 143, 2, 151, 53, 17,
- 10, 27, 244, 143, 2, 122, 53, 17, 10, 27, 244, 143, 2, 234, 130, 53, 17,
- 10, 27, 244, 143, 2, 66, 53, 17, 10, 27, 244, 143, 2, 112, 231, 193, 53,
- 17, 10, 27, 244, 143, 2, 79, 53, 17, 10, 27, 224, 82, 2, 122, 53, 17, 10,
- 27, 224, 82, 2, 66, 53, 17, 10, 27, 224, 82, 2, 112, 231, 193, 53, 17,
- 10, 27, 224, 82, 2, 79, 53, 17, 10, 27, 234, 251, 2, 112, 53, 17, 10, 27,
- 234, 251, 2, 151, 53, 17, 10, 27, 234, 251, 2, 122, 53, 17, 10, 27, 234,
- 251, 2, 234, 130, 53, 17, 10, 27, 234, 251, 2, 233, 103, 53, 17, 10, 27,
- 234, 251, 2, 66, 53, 17, 10, 27, 234, 251, 2, 112, 231, 193, 53, 17, 10,
- 27, 234, 251, 2, 79, 53, 17, 10, 27, 233, 103, 2, 151, 53, 17, 10, 27,
- 233, 103, 2, 122, 53, 17, 10, 27, 233, 103, 2, 234, 130, 53, 17, 10, 27,
- 233, 103, 2, 66, 53, 17, 10, 27, 233, 103, 2, 112, 231, 193, 53, 17, 10,
- 27, 233, 103, 2, 79, 53, 17, 10, 27, 66, 2, 151, 53, 17, 10, 27, 66, 2,
- 122, 53, 17, 10, 27, 66, 2, 234, 130, 53, 17, 10, 27, 66, 2, 66, 53, 17,
- 10, 27, 66, 2, 112, 231, 193, 53, 17, 10, 27, 66, 2, 79, 53, 17, 10, 27,
- 228, 63, 2, 151, 53, 17, 10, 27, 228, 63, 2, 122, 53, 17, 10, 27, 228,
- 63, 2, 234, 130, 53, 17, 10, 27, 228, 63, 2, 66, 53, 17, 10, 27, 228, 63,
- 2, 112, 231, 193, 53, 17, 10, 27, 228, 63, 2, 79, 53, 17, 10, 27, 241,
- 219, 2, 151, 53, 17, 10, 27, 241, 219, 2, 66, 53, 17, 10, 27, 241, 219,
- 2, 112, 231, 193, 53, 17, 10, 27, 241, 219, 2, 79, 53, 17, 10, 27, 79, 2,
- 151, 53, 17, 10, 27, 79, 2, 122, 53, 17, 10, 27, 79, 2, 234, 130, 53, 17,
- 10, 27, 79, 2, 66, 53, 17, 10, 27, 79, 2, 112, 231, 193, 53, 17, 10, 27,
- 79, 2, 79, 53, 17, 10, 27, 216, 203, 2, 218, 23, 112, 53, 17, 10, 27,
- 223, 96, 2, 218, 23, 112, 53, 17, 10, 27, 112, 231, 193, 2, 218, 23, 112,
- 53, 17, 10, 27, 220, 94, 2, 248, 183, 53, 17, 10, 27, 220, 94, 2, 234,
- 204, 53, 17, 10, 27, 220, 94, 2, 244, 166, 53, 17, 10, 27, 220, 94, 2,
- 248, 185, 53, 17, 10, 27, 220, 94, 2, 234, 206, 53, 17, 10, 27, 220, 94,
- 2, 218, 23, 112, 53, 17, 10, 27, 79, 2, 202, 77, 2, 223, 96, 40, 17, 10,
+ 53, 17, 10, 27, 234, 131, 2, 151, 53, 17, 10, 27, 234, 131, 2, 122, 53,
+ 17, 10, 27, 234, 131, 2, 66, 53, 17, 10, 27, 221, 168, 2, 151, 53, 17,
+ 10, 27, 221, 168, 2, 122, 53, 17, 10, 27, 221, 168, 2, 234, 131, 53, 17,
+ 10, 27, 221, 168, 2, 66, 53, 17, 10, 27, 222, 28, 2, 122, 53, 17, 10, 27,
+ 222, 28, 2, 66, 53, 17, 10, 27, 248, 218, 2, 151, 53, 17, 10, 27, 248,
+ 218, 2, 122, 53, 17, 10, 27, 248, 218, 2, 234, 131, 53, 17, 10, 27, 248,
+ 218, 2, 66, 53, 17, 10, 27, 217, 82, 2, 122, 53, 17, 10, 27, 217, 82, 2,
+ 66, 53, 17, 10, 27, 210, 112, 2, 66, 53, 17, 10, 27, 254, 198, 2, 151,
+ 53, 17, 10, 27, 254, 198, 2, 66, 53, 17, 10, 27, 242, 246, 2, 151, 53,
+ 17, 10, 27, 242, 246, 2, 66, 53, 17, 10, 27, 244, 144, 2, 151, 53, 17,
+ 10, 27, 244, 144, 2, 122, 53, 17, 10, 27, 244, 144, 2, 234, 131, 53, 17,
+ 10, 27, 244, 144, 2, 66, 53, 17, 10, 27, 244, 144, 2, 112, 231, 194, 53,
+ 17, 10, 27, 244, 144, 2, 79, 53, 17, 10, 27, 224, 83, 2, 122, 53, 17, 10,
+ 27, 224, 83, 2, 66, 53, 17, 10, 27, 224, 83, 2, 112, 231, 194, 53, 17,
+ 10, 27, 224, 83, 2, 79, 53, 17, 10, 27, 234, 252, 2, 112, 53, 17, 10, 27,
+ 234, 252, 2, 151, 53, 17, 10, 27, 234, 252, 2, 122, 53, 17, 10, 27, 234,
+ 252, 2, 234, 131, 53, 17, 10, 27, 234, 252, 2, 233, 104, 53, 17, 10, 27,
+ 234, 252, 2, 66, 53, 17, 10, 27, 234, 252, 2, 112, 231, 194, 53, 17, 10,
+ 27, 234, 252, 2, 79, 53, 17, 10, 27, 233, 104, 2, 151, 53, 17, 10, 27,
+ 233, 104, 2, 122, 53, 17, 10, 27, 233, 104, 2, 234, 131, 53, 17, 10, 27,
+ 233, 104, 2, 66, 53, 17, 10, 27, 233, 104, 2, 112, 231, 194, 53, 17, 10,
+ 27, 233, 104, 2, 79, 53, 17, 10, 27, 66, 2, 151, 53, 17, 10, 27, 66, 2,
+ 122, 53, 17, 10, 27, 66, 2, 234, 131, 53, 17, 10, 27, 66, 2, 66, 53, 17,
+ 10, 27, 66, 2, 112, 231, 194, 53, 17, 10, 27, 66, 2, 79, 53, 17, 10, 27,
+ 228, 64, 2, 151, 53, 17, 10, 27, 228, 64, 2, 122, 53, 17, 10, 27, 228,
+ 64, 2, 234, 131, 53, 17, 10, 27, 228, 64, 2, 66, 53, 17, 10, 27, 228, 64,
+ 2, 112, 231, 194, 53, 17, 10, 27, 228, 64, 2, 79, 53, 17, 10, 27, 241,
+ 220, 2, 151, 53, 17, 10, 27, 241, 220, 2, 66, 53, 17, 10, 27, 241, 220,
+ 2, 112, 231, 194, 53, 17, 10, 27, 241, 220, 2, 79, 53, 17, 10, 27, 79, 2,
+ 151, 53, 17, 10, 27, 79, 2, 122, 53, 17, 10, 27, 79, 2, 234, 131, 53, 17,
+ 10, 27, 79, 2, 66, 53, 17, 10, 27, 79, 2, 112, 231, 194, 53, 17, 10, 27,
+ 79, 2, 79, 53, 17, 10, 27, 216, 204, 2, 218, 24, 112, 53, 17, 10, 27,
+ 223, 97, 2, 218, 24, 112, 53, 17, 10, 27, 112, 231, 194, 2, 218, 24, 112,
+ 53, 17, 10, 27, 220, 95, 2, 248, 184, 53, 17, 10, 27, 220, 95, 2, 234,
+ 205, 53, 17, 10, 27, 220, 95, 2, 244, 167, 53, 17, 10, 27, 220, 95, 2,
+ 248, 186, 53, 17, 10, 27, 220, 95, 2, 234, 207, 53, 17, 10, 27, 220, 95,
+ 2, 218, 24, 112, 53, 17, 10, 27, 79, 2, 202, 77, 2, 223, 97, 40, 17, 10,
27, 79, 2, 202, 77, 2, 210, 109, 40, 17, 10, 27, 79, 2, 202, 77, 2, 66,
- 40, 17, 10, 27, 79, 2, 202, 77, 2, 228, 63, 40, 17, 10, 27, 79, 2, 202,
- 77, 2, 112, 231, 193, 40, 17, 10, 27, 79, 2, 202, 77, 2, 79, 40, 17, 10,
- 27, 252, 55, 2, 223, 96, 40, 17, 10, 27, 252, 55, 2, 210, 109, 40, 17,
- 10, 27, 252, 55, 2, 66, 40, 17, 10, 27, 252, 55, 2, 228, 63, 40, 17, 10,
- 27, 252, 55, 2, 112, 231, 193, 40, 17, 10, 27, 252, 55, 2, 79, 40, 17,
- 10, 27, 217, 8, 2, 223, 96, 40, 17, 10, 27, 217, 8, 2, 210, 109, 40, 17,
- 10, 27, 217, 8, 2, 66, 40, 17, 10, 27, 217, 8, 2, 228, 63, 40, 17, 10,
- 27, 217, 8, 2, 112, 231, 193, 40, 17, 10, 27, 217, 8, 2, 79, 40, 17, 10,
- 27, 216, 193, 2, 223, 96, 40, 17, 10, 27, 216, 193, 2, 210, 109, 40, 17,
- 10, 27, 216, 193, 2, 66, 40, 17, 10, 27, 216, 193, 2, 228, 63, 40, 17,
- 10, 27, 216, 193, 2, 112, 231, 193, 40, 17, 10, 27, 216, 193, 2, 79, 40,
- 17, 10, 27, 244, 143, 2, 112, 231, 193, 40, 17, 10, 27, 244, 143, 2, 79,
- 40, 17, 10, 27, 224, 82, 2, 112, 231, 193, 40, 17, 10, 27, 224, 82, 2,
- 79, 40, 17, 10, 27, 234, 251, 2, 112, 40, 17, 10, 27, 234, 251, 2, 233,
- 103, 40, 17, 10, 27, 234, 251, 2, 66, 40, 17, 10, 27, 234, 251, 2, 112,
- 231, 193, 40, 17, 10, 27, 234, 251, 2, 79, 40, 17, 10, 27, 233, 103, 2,
- 66, 40, 17, 10, 27, 233, 103, 2, 112, 231, 193, 40, 17, 10, 27, 233, 103,
+ 40, 17, 10, 27, 79, 2, 202, 77, 2, 228, 64, 40, 17, 10, 27, 79, 2, 202,
+ 77, 2, 112, 231, 194, 40, 17, 10, 27, 79, 2, 202, 77, 2, 79, 40, 17, 10,
+ 27, 252, 56, 2, 223, 97, 40, 17, 10, 27, 252, 56, 2, 210, 109, 40, 17,
+ 10, 27, 252, 56, 2, 66, 40, 17, 10, 27, 252, 56, 2, 228, 64, 40, 17, 10,
+ 27, 252, 56, 2, 112, 231, 194, 40, 17, 10, 27, 252, 56, 2, 79, 40, 17,
+ 10, 27, 217, 9, 2, 223, 97, 40, 17, 10, 27, 217, 9, 2, 210, 109, 40, 17,
+ 10, 27, 217, 9, 2, 66, 40, 17, 10, 27, 217, 9, 2, 228, 64, 40, 17, 10,
+ 27, 217, 9, 2, 112, 231, 194, 40, 17, 10, 27, 217, 9, 2, 79, 40, 17, 10,
+ 27, 216, 194, 2, 223, 97, 40, 17, 10, 27, 216, 194, 2, 210, 109, 40, 17,
+ 10, 27, 216, 194, 2, 66, 40, 17, 10, 27, 216, 194, 2, 228, 64, 40, 17,
+ 10, 27, 216, 194, 2, 112, 231, 194, 40, 17, 10, 27, 216, 194, 2, 79, 40,
+ 17, 10, 27, 244, 144, 2, 112, 231, 194, 40, 17, 10, 27, 244, 144, 2, 79,
+ 40, 17, 10, 27, 224, 83, 2, 112, 231, 194, 40, 17, 10, 27, 224, 83, 2,
+ 79, 40, 17, 10, 27, 234, 252, 2, 112, 40, 17, 10, 27, 234, 252, 2, 233,
+ 104, 40, 17, 10, 27, 234, 252, 2, 66, 40, 17, 10, 27, 234, 252, 2, 112,
+ 231, 194, 40, 17, 10, 27, 234, 252, 2, 79, 40, 17, 10, 27, 233, 104, 2,
+ 66, 40, 17, 10, 27, 233, 104, 2, 112, 231, 194, 40, 17, 10, 27, 233, 104,
2, 79, 40, 17, 10, 27, 66, 2, 112, 40, 17, 10, 27, 66, 2, 66, 40, 17, 10,
- 27, 228, 63, 2, 223, 96, 40, 17, 10, 27, 228, 63, 2, 210, 109, 40, 17,
- 10, 27, 228, 63, 2, 66, 40, 17, 10, 27, 228, 63, 2, 228, 63, 40, 17, 10,
- 27, 228, 63, 2, 112, 231, 193, 40, 17, 10, 27, 228, 63, 2, 79, 40, 17,
- 10, 27, 112, 231, 193, 2, 218, 23, 112, 40, 17, 10, 27, 79, 2, 223, 96,
+ 27, 228, 64, 2, 223, 97, 40, 17, 10, 27, 228, 64, 2, 210, 109, 40, 17,
+ 10, 27, 228, 64, 2, 66, 40, 17, 10, 27, 228, 64, 2, 228, 64, 40, 17, 10,
+ 27, 228, 64, 2, 112, 231, 194, 40, 17, 10, 27, 228, 64, 2, 79, 40, 17,
+ 10, 27, 112, 231, 194, 2, 218, 24, 112, 40, 17, 10, 27, 79, 2, 223, 97,
40, 17, 10, 27, 79, 2, 210, 109, 40, 17, 10, 27, 79, 2, 66, 40, 17, 10,
- 27, 79, 2, 228, 63, 40, 17, 10, 27, 79, 2, 112, 231, 193, 40, 17, 10, 27,
+ 27, 79, 2, 228, 64, 40, 17, 10, 27, 79, 2, 112, 231, 194, 40, 17, 10, 27,
79, 2, 79, 40, 17, 10, 27, 79, 2, 202, 77, 2, 151, 65, 17, 10, 27, 79, 2,
- 202, 77, 2, 122, 65, 17, 10, 27, 79, 2, 202, 77, 2, 234, 130, 65, 17, 10,
- 27, 79, 2, 202, 77, 2, 66, 65, 17, 10, 27, 79, 2, 202, 77, 2, 241, 219,
- 65, 17, 10, 27, 252, 55, 2, 151, 65, 17, 10, 27, 252, 55, 2, 122, 65, 17,
- 10, 27, 252, 55, 2, 234, 130, 65, 17, 10, 27, 252, 55, 2, 66, 65, 17, 10,
- 27, 252, 55, 2, 241, 219, 65, 17, 10, 27, 217, 8, 2, 151, 65, 17, 10, 27,
- 217, 8, 2, 122, 65, 17, 10, 27, 217, 8, 2, 234, 130, 65, 17, 10, 27, 217,
- 8, 2, 66, 65, 17, 10, 27, 217, 8, 2, 241, 219, 65, 17, 10, 27, 216, 193,
+ 202, 77, 2, 122, 65, 17, 10, 27, 79, 2, 202, 77, 2, 234, 131, 65, 17, 10,
+ 27, 79, 2, 202, 77, 2, 66, 65, 17, 10, 27, 79, 2, 202, 77, 2, 241, 220,
+ 65, 17, 10, 27, 252, 56, 2, 151, 65, 17, 10, 27, 252, 56, 2, 122, 65, 17,
+ 10, 27, 252, 56, 2, 234, 131, 65, 17, 10, 27, 252, 56, 2, 66, 65, 17, 10,
+ 27, 252, 56, 2, 241, 220, 65, 17, 10, 27, 217, 9, 2, 151, 65, 17, 10, 27,
+ 217, 9, 2, 122, 65, 17, 10, 27, 217, 9, 2, 234, 131, 65, 17, 10, 27, 217,
+ 9, 2, 66, 65, 17, 10, 27, 217, 9, 2, 241, 220, 65, 17, 10, 27, 216, 194,
2, 66, 65, 17, 10, 27, 151, 2, 122, 65, 17, 10, 27, 151, 2, 66, 65, 17,
10, 27, 122, 2, 151, 65, 17, 10, 27, 122, 2, 66, 65, 17, 10, 27, 234,
- 130, 2, 151, 65, 17, 10, 27, 234, 130, 2, 66, 65, 17, 10, 27, 221, 167,
- 2, 151, 65, 17, 10, 27, 221, 167, 2, 122, 65, 17, 10, 27, 221, 167, 2,
- 234, 130, 65, 17, 10, 27, 221, 167, 2, 66, 65, 17, 10, 27, 222, 27, 2,
- 122, 65, 17, 10, 27, 222, 27, 2, 234, 130, 65, 17, 10, 27, 222, 27, 2,
- 66, 65, 17, 10, 27, 248, 217, 2, 151, 65, 17, 10, 27, 248, 217, 2, 122,
- 65, 17, 10, 27, 248, 217, 2, 234, 130, 65, 17, 10, 27, 248, 217, 2, 66,
- 65, 17, 10, 27, 217, 81, 2, 122, 65, 17, 10, 27, 210, 112, 2, 66, 65, 17,
- 10, 27, 254, 197, 2, 151, 65, 17, 10, 27, 254, 197, 2, 66, 65, 17, 10,
- 27, 242, 245, 2, 151, 65, 17, 10, 27, 242, 245, 2, 66, 65, 17, 10, 27,
- 244, 143, 2, 151, 65, 17, 10, 27, 244, 143, 2, 122, 65, 17, 10, 27, 244,
- 143, 2, 234, 130, 65, 17, 10, 27, 244, 143, 2, 66, 65, 17, 10, 27, 224,
- 82, 2, 122, 65, 17, 10, 27, 224, 82, 2, 66, 65, 17, 10, 27, 234, 251, 2,
- 151, 65, 17, 10, 27, 234, 251, 2, 122, 65, 17, 10, 27, 234, 251, 2, 234,
- 130, 65, 17, 10, 27, 234, 251, 2, 233, 103, 65, 17, 10, 27, 234, 251, 2,
- 66, 65, 17, 10, 27, 233, 103, 2, 151, 65, 17, 10, 27, 233, 103, 2, 122,
- 65, 17, 10, 27, 233, 103, 2, 234, 130, 65, 17, 10, 27, 233, 103, 2, 66,
- 65, 17, 10, 27, 233, 103, 2, 241, 219, 65, 17, 10, 27, 66, 2, 151, 65,
- 17, 10, 27, 66, 2, 122, 65, 17, 10, 27, 66, 2, 234, 130, 65, 17, 10, 27,
- 66, 2, 66, 65, 17, 10, 27, 228, 63, 2, 151, 65, 17, 10, 27, 228, 63, 2,
- 122, 65, 17, 10, 27, 228, 63, 2, 234, 130, 65, 17, 10, 27, 228, 63, 2,
- 66, 65, 17, 10, 27, 228, 63, 2, 241, 219, 65, 17, 10, 27, 241, 219, 2,
- 151, 65, 17, 10, 27, 241, 219, 2, 66, 65, 17, 10, 27, 241, 219, 2, 218,
- 23, 112, 65, 17, 10, 27, 79, 2, 151, 65, 17, 10, 27, 79, 2, 122, 65, 17,
- 10, 27, 79, 2, 234, 130, 65, 17, 10, 27, 79, 2, 66, 65, 17, 10, 27, 79,
- 2, 241, 219, 65, 17, 10, 27, 79, 2, 202, 77, 2, 66, 147, 17, 10, 27, 79,
- 2, 202, 77, 2, 241, 219, 147, 17, 10, 27, 252, 55, 2, 66, 147, 17, 10,
- 27, 252, 55, 2, 241, 219, 147, 17, 10, 27, 217, 8, 2, 66, 147, 17, 10,
- 27, 217, 8, 2, 241, 219, 147, 17, 10, 27, 216, 193, 2, 66, 147, 17, 10,
- 27, 216, 193, 2, 241, 219, 147, 17, 10, 27, 221, 167, 2, 66, 147, 17, 10,
- 27, 221, 167, 2, 241, 219, 147, 17, 10, 27, 220, 60, 2, 66, 147, 17, 10,
- 27, 220, 60, 2, 241, 219, 147, 17, 10, 27, 234, 251, 2, 233, 103, 147,
- 17, 10, 27, 234, 251, 2, 66, 147, 17, 10, 27, 233, 103, 2, 66, 147, 17,
- 10, 27, 228, 63, 2, 66, 147, 17, 10, 27, 228, 63, 2, 241, 219, 147, 17,
- 10, 27, 79, 2, 66, 147, 17, 10, 27, 79, 2, 241, 219, 147, 17, 10, 27,
- 220, 94, 2, 244, 166, 147, 17, 10, 27, 220, 94, 2, 248, 185, 147, 17, 10,
- 27, 220, 94, 2, 234, 206, 147, 17, 10, 27, 217, 81, 2, 112, 231, 193, 53,
- 17, 10, 27, 217, 81, 2, 79, 53, 17, 10, 27, 254, 197, 2, 112, 231, 193,
- 53, 17, 10, 27, 254, 197, 2, 79, 53, 17, 10, 27, 242, 245, 2, 112, 231,
- 193, 53, 17, 10, 27, 242, 245, 2, 79, 53, 17, 10, 27, 221, 167, 2, 112,
- 231, 193, 53, 17, 10, 27, 221, 167, 2, 79, 53, 17, 10, 27, 220, 60, 2,
- 112, 231, 193, 53, 17, 10, 27, 220, 60, 2, 79, 53, 17, 10, 27, 122, 2,
- 112, 231, 193, 53, 17, 10, 27, 122, 2, 79, 53, 17, 10, 27, 151, 2, 112,
- 231, 193, 53, 17, 10, 27, 151, 2, 79, 53, 17, 10, 27, 234, 130, 2, 112,
- 231, 193, 53, 17, 10, 27, 234, 130, 2, 79, 53, 17, 10, 27, 222, 27, 2,
- 112, 231, 193, 53, 17, 10, 27, 222, 27, 2, 79, 53, 17, 10, 27, 248, 217,
- 2, 112, 231, 193, 53, 17, 10, 27, 248, 217, 2, 79, 53, 17, 10, 27, 220,
- 60, 2, 151, 53, 17, 10, 27, 220, 60, 2, 122, 53, 17, 10, 27, 220, 60, 2,
- 234, 130, 53, 17, 10, 27, 220, 60, 2, 66, 53, 17, 10, 27, 220, 60, 2,
- 223, 96, 53, 17, 10, 27, 221, 167, 2, 223, 96, 53, 17, 10, 27, 222, 27,
- 2, 223, 96, 53, 17, 10, 27, 248, 217, 2, 223, 96, 53, 17, 10, 27, 217,
- 81, 2, 112, 231, 193, 40, 17, 10, 27, 217, 81, 2, 79, 40, 17, 10, 27,
- 254, 197, 2, 112, 231, 193, 40, 17, 10, 27, 254, 197, 2, 79, 40, 17, 10,
- 27, 242, 245, 2, 112, 231, 193, 40, 17, 10, 27, 242, 245, 2, 79, 40, 17,
- 10, 27, 221, 167, 2, 112, 231, 193, 40, 17, 10, 27, 221, 167, 2, 79, 40,
- 17, 10, 27, 220, 60, 2, 112, 231, 193, 40, 17, 10, 27, 220, 60, 2, 79,
- 40, 17, 10, 27, 122, 2, 112, 231, 193, 40, 17, 10, 27, 122, 2, 79, 40,
- 17, 10, 27, 151, 2, 112, 231, 193, 40, 17, 10, 27, 151, 2, 79, 40, 17,
- 10, 27, 234, 130, 2, 112, 231, 193, 40, 17, 10, 27, 234, 130, 2, 79, 40,
- 17, 10, 27, 222, 27, 2, 112, 231, 193, 40, 17, 10, 27, 222, 27, 2, 79,
- 40, 17, 10, 27, 248, 217, 2, 112, 231, 193, 40, 17, 10, 27, 248, 217, 2,
- 79, 40, 17, 10, 27, 220, 60, 2, 151, 40, 17, 10, 27, 220, 60, 2, 122, 40,
- 17, 10, 27, 220, 60, 2, 234, 130, 40, 17, 10, 27, 220, 60, 2, 66, 40, 17,
- 10, 27, 220, 60, 2, 223, 96, 40, 17, 10, 27, 221, 167, 2, 223, 96, 40,
- 17, 10, 27, 222, 27, 2, 223, 96, 40, 17, 10, 27, 248, 217, 2, 223, 96,
- 40, 17, 10, 27, 220, 60, 2, 151, 65, 17, 10, 27, 220, 60, 2, 122, 65, 17,
- 10, 27, 220, 60, 2, 234, 130, 65, 17, 10, 27, 220, 60, 2, 66, 65, 17, 10,
- 27, 221, 167, 2, 241, 219, 65, 17, 10, 27, 220, 60, 2, 241, 219, 65, 17,
- 10, 27, 217, 81, 2, 66, 65, 17, 10, 27, 221, 167, 2, 151, 147, 17, 10,
- 27, 221, 167, 2, 122, 147, 17, 10, 27, 221, 167, 2, 234, 130, 147, 17,
- 10, 27, 220, 60, 2, 151, 147, 17, 10, 27, 220, 60, 2, 122, 147, 17, 10,
- 27, 220, 60, 2, 234, 130, 147, 17, 10, 27, 217, 81, 2, 66, 147, 17, 10,
- 27, 210, 112, 2, 66, 147, 17, 10, 27, 112, 2, 244, 164, 40, 17, 10, 27,
- 112, 2, 244, 164, 53, 17, 226, 146, 43, 226, 3, 226, 146, 44, 226, 3, 10,
- 27, 217, 8, 2, 151, 2, 66, 65, 17, 10, 27, 217, 8, 2, 122, 2, 151, 40,
- 17, 10, 27, 217, 8, 2, 122, 2, 151, 65, 17, 10, 27, 217, 8, 2, 122, 2,
- 66, 65, 17, 10, 27, 217, 8, 2, 234, 130, 2, 66, 65, 17, 10, 27, 217, 8,
- 2, 66, 2, 151, 65, 17, 10, 27, 217, 8, 2, 66, 2, 122, 65, 17, 10, 27,
- 217, 8, 2, 66, 2, 234, 130, 65, 17, 10, 27, 151, 2, 66, 2, 122, 40, 17,
+ 131, 2, 151, 65, 17, 10, 27, 234, 131, 2, 66, 65, 17, 10, 27, 221, 168,
+ 2, 151, 65, 17, 10, 27, 221, 168, 2, 122, 65, 17, 10, 27, 221, 168, 2,
+ 234, 131, 65, 17, 10, 27, 221, 168, 2, 66, 65, 17, 10, 27, 222, 28, 2,
+ 122, 65, 17, 10, 27, 222, 28, 2, 234, 131, 65, 17, 10, 27, 222, 28, 2,
+ 66, 65, 17, 10, 27, 248, 218, 2, 151, 65, 17, 10, 27, 248, 218, 2, 122,
+ 65, 17, 10, 27, 248, 218, 2, 234, 131, 65, 17, 10, 27, 248, 218, 2, 66,
+ 65, 17, 10, 27, 217, 82, 2, 122, 65, 17, 10, 27, 210, 112, 2, 66, 65, 17,
+ 10, 27, 254, 198, 2, 151, 65, 17, 10, 27, 254, 198, 2, 66, 65, 17, 10,
+ 27, 242, 246, 2, 151, 65, 17, 10, 27, 242, 246, 2, 66, 65, 17, 10, 27,
+ 244, 144, 2, 151, 65, 17, 10, 27, 244, 144, 2, 122, 65, 17, 10, 27, 244,
+ 144, 2, 234, 131, 65, 17, 10, 27, 244, 144, 2, 66, 65, 17, 10, 27, 224,
+ 83, 2, 122, 65, 17, 10, 27, 224, 83, 2, 66, 65, 17, 10, 27, 234, 252, 2,
+ 151, 65, 17, 10, 27, 234, 252, 2, 122, 65, 17, 10, 27, 234, 252, 2, 234,
+ 131, 65, 17, 10, 27, 234, 252, 2, 233, 104, 65, 17, 10, 27, 234, 252, 2,
+ 66, 65, 17, 10, 27, 233, 104, 2, 151, 65, 17, 10, 27, 233, 104, 2, 122,
+ 65, 17, 10, 27, 233, 104, 2, 234, 131, 65, 17, 10, 27, 233, 104, 2, 66,
+ 65, 17, 10, 27, 233, 104, 2, 241, 220, 65, 17, 10, 27, 66, 2, 151, 65,
+ 17, 10, 27, 66, 2, 122, 65, 17, 10, 27, 66, 2, 234, 131, 65, 17, 10, 27,
+ 66, 2, 66, 65, 17, 10, 27, 228, 64, 2, 151, 65, 17, 10, 27, 228, 64, 2,
+ 122, 65, 17, 10, 27, 228, 64, 2, 234, 131, 65, 17, 10, 27, 228, 64, 2,
+ 66, 65, 17, 10, 27, 228, 64, 2, 241, 220, 65, 17, 10, 27, 241, 220, 2,
+ 151, 65, 17, 10, 27, 241, 220, 2, 66, 65, 17, 10, 27, 241, 220, 2, 218,
+ 24, 112, 65, 17, 10, 27, 79, 2, 151, 65, 17, 10, 27, 79, 2, 122, 65, 17,
+ 10, 27, 79, 2, 234, 131, 65, 17, 10, 27, 79, 2, 66, 65, 17, 10, 27, 79,
+ 2, 241, 220, 65, 17, 10, 27, 79, 2, 202, 77, 2, 66, 147, 17, 10, 27, 79,
+ 2, 202, 77, 2, 241, 220, 147, 17, 10, 27, 252, 56, 2, 66, 147, 17, 10,
+ 27, 252, 56, 2, 241, 220, 147, 17, 10, 27, 217, 9, 2, 66, 147, 17, 10,
+ 27, 217, 9, 2, 241, 220, 147, 17, 10, 27, 216, 194, 2, 66, 147, 17, 10,
+ 27, 216, 194, 2, 241, 220, 147, 17, 10, 27, 221, 168, 2, 66, 147, 17, 10,
+ 27, 221, 168, 2, 241, 220, 147, 17, 10, 27, 220, 61, 2, 66, 147, 17, 10,
+ 27, 220, 61, 2, 241, 220, 147, 17, 10, 27, 234, 252, 2, 233, 104, 147,
+ 17, 10, 27, 234, 252, 2, 66, 147, 17, 10, 27, 233, 104, 2, 66, 147, 17,
+ 10, 27, 228, 64, 2, 66, 147, 17, 10, 27, 228, 64, 2, 241, 220, 147, 17,
+ 10, 27, 79, 2, 66, 147, 17, 10, 27, 79, 2, 241, 220, 147, 17, 10, 27,
+ 220, 95, 2, 244, 167, 147, 17, 10, 27, 220, 95, 2, 248, 186, 147, 17, 10,
+ 27, 220, 95, 2, 234, 207, 147, 17, 10, 27, 217, 82, 2, 112, 231, 194, 53,
+ 17, 10, 27, 217, 82, 2, 79, 53, 17, 10, 27, 254, 198, 2, 112, 231, 194,
+ 53, 17, 10, 27, 254, 198, 2, 79, 53, 17, 10, 27, 242, 246, 2, 112, 231,
+ 194, 53, 17, 10, 27, 242, 246, 2, 79, 53, 17, 10, 27, 221, 168, 2, 112,
+ 231, 194, 53, 17, 10, 27, 221, 168, 2, 79, 53, 17, 10, 27, 220, 61, 2,
+ 112, 231, 194, 53, 17, 10, 27, 220, 61, 2, 79, 53, 17, 10, 27, 122, 2,
+ 112, 231, 194, 53, 17, 10, 27, 122, 2, 79, 53, 17, 10, 27, 151, 2, 112,
+ 231, 194, 53, 17, 10, 27, 151, 2, 79, 53, 17, 10, 27, 234, 131, 2, 112,
+ 231, 194, 53, 17, 10, 27, 234, 131, 2, 79, 53, 17, 10, 27, 222, 28, 2,
+ 112, 231, 194, 53, 17, 10, 27, 222, 28, 2, 79, 53, 17, 10, 27, 248, 218,
+ 2, 112, 231, 194, 53, 17, 10, 27, 248, 218, 2, 79, 53, 17, 10, 27, 220,
+ 61, 2, 151, 53, 17, 10, 27, 220, 61, 2, 122, 53, 17, 10, 27, 220, 61, 2,
+ 234, 131, 53, 17, 10, 27, 220, 61, 2, 66, 53, 17, 10, 27, 220, 61, 2,
+ 223, 97, 53, 17, 10, 27, 221, 168, 2, 223, 97, 53, 17, 10, 27, 222, 28,
+ 2, 223, 97, 53, 17, 10, 27, 248, 218, 2, 223, 97, 53, 17, 10, 27, 217,
+ 82, 2, 112, 231, 194, 40, 17, 10, 27, 217, 82, 2, 79, 40, 17, 10, 27,
+ 254, 198, 2, 112, 231, 194, 40, 17, 10, 27, 254, 198, 2, 79, 40, 17, 10,
+ 27, 242, 246, 2, 112, 231, 194, 40, 17, 10, 27, 242, 246, 2, 79, 40, 17,
+ 10, 27, 221, 168, 2, 112, 231, 194, 40, 17, 10, 27, 221, 168, 2, 79, 40,
+ 17, 10, 27, 220, 61, 2, 112, 231, 194, 40, 17, 10, 27, 220, 61, 2, 79,
+ 40, 17, 10, 27, 122, 2, 112, 231, 194, 40, 17, 10, 27, 122, 2, 79, 40,
+ 17, 10, 27, 151, 2, 112, 231, 194, 40, 17, 10, 27, 151, 2, 79, 40, 17,
+ 10, 27, 234, 131, 2, 112, 231, 194, 40, 17, 10, 27, 234, 131, 2, 79, 40,
+ 17, 10, 27, 222, 28, 2, 112, 231, 194, 40, 17, 10, 27, 222, 28, 2, 79,
+ 40, 17, 10, 27, 248, 218, 2, 112, 231, 194, 40, 17, 10, 27, 248, 218, 2,
+ 79, 40, 17, 10, 27, 220, 61, 2, 151, 40, 17, 10, 27, 220, 61, 2, 122, 40,
+ 17, 10, 27, 220, 61, 2, 234, 131, 40, 17, 10, 27, 220, 61, 2, 66, 40, 17,
+ 10, 27, 220, 61, 2, 223, 97, 40, 17, 10, 27, 221, 168, 2, 223, 97, 40,
+ 17, 10, 27, 222, 28, 2, 223, 97, 40, 17, 10, 27, 248, 218, 2, 223, 97,
+ 40, 17, 10, 27, 220, 61, 2, 151, 65, 17, 10, 27, 220, 61, 2, 122, 65, 17,
+ 10, 27, 220, 61, 2, 234, 131, 65, 17, 10, 27, 220, 61, 2, 66, 65, 17, 10,
+ 27, 221, 168, 2, 241, 220, 65, 17, 10, 27, 220, 61, 2, 241, 220, 65, 17,
+ 10, 27, 217, 82, 2, 66, 65, 17, 10, 27, 221, 168, 2, 151, 147, 17, 10,
+ 27, 221, 168, 2, 122, 147, 17, 10, 27, 221, 168, 2, 234, 131, 147, 17,
+ 10, 27, 220, 61, 2, 151, 147, 17, 10, 27, 220, 61, 2, 122, 147, 17, 10,
+ 27, 220, 61, 2, 234, 131, 147, 17, 10, 27, 217, 82, 2, 66, 147, 17, 10,
+ 27, 210, 112, 2, 66, 147, 17, 10, 27, 112, 2, 244, 165, 40, 17, 10, 27,
+ 112, 2, 244, 165, 53, 17, 226, 147, 43, 226, 4, 226, 147, 44, 226, 4, 10,
+ 27, 217, 9, 2, 151, 2, 66, 65, 17, 10, 27, 217, 9, 2, 122, 2, 151, 40,
+ 17, 10, 27, 217, 9, 2, 122, 2, 151, 65, 17, 10, 27, 217, 9, 2, 122, 2,
+ 66, 65, 17, 10, 27, 217, 9, 2, 234, 131, 2, 66, 65, 17, 10, 27, 217, 9,
+ 2, 66, 2, 151, 65, 17, 10, 27, 217, 9, 2, 66, 2, 122, 65, 17, 10, 27,
+ 217, 9, 2, 66, 2, 234, 131, 65, 17, 10, 27, 151, 2, 66, 2, 122, 40, 17,
10, 27, 151, 2, 66, 2, 122, 65, 17, 10, 27, 122, 2, 66, 2, 79, 40, 17,
- 10, 27, 122, 2, 66, 2, 112, 231, 193, 40, 17, 10, 27, 221, 167, 2, 122,
- 2, 151, 65, 17, 10, 27, 221, 167, 2, 151, 2, 122, 65, 17, 10, 27, 221,
- 167, 2, 151, 2, 112, 231, 193, 40, 17, 10, 27, 221, 167, 2, 66, 2, 122,
- 40, 17, 10, 27, 221, 167, 2, 66, 2, 122, 65, 17, 10, 27, 221, 167, 2, 66,
- 2, 151, 65, 17, 10, 27, 221, 167, 2, 66, 2, 66, 40, 17, 10, 27, 221, 167,
- 2, 66, 2, 66, 65, 17, 10, 27, 222, 27, 2, 122, 2, 122, 40, 17, 10, 27,
- 222, 27, 2, 122, 2, 122, 65, 17, 10, 27, 222, 27, 2, 66, 2, 66, 40, 17,
- 10, 27, 220, 60, 2, 122, 2, 66, 40, 17, 10, 27, 220, 60, 2, 122, 2, 66,
- 65, 17, 10, 27, 220, 60, 2, 151, 2, 79, 40, 17, 10, 27, 220, 60, 2, 66,
- 2, 234, 130, 40, 17, 10, 27, 220, 60, 2, 66, 2, 234, 130, 65, 17, 10, 27,
- 220, 60, 2, 66, 2, 66, 40, 17, 10, 27, 220, 60, 2, 66, 2, 66, 65, 17, 10,
- 27, 248, 217, 2, 122, 2, 112, 231, 193, 40, 17, 10, 27, 248, 217, 2, 234,
- 130, 2, 66, 40, 17, 10, 27, 248, 217, 2, 234, 130, 2, 66, 65, 17, 10, 27,
- 217, 81, 2, 66, 2, 122, 40, 17, 10, 27, 217, 81, 2, 66, 2, 122, 65, 17,
- 10, 27, 217, 81, 2, 66, 2, 66, 65, 17, 10, 27, 217, 81, 2, 66, 2, 79, 40,
- 17, 10, 27, 254, 197, 2, 151, 2, 66, 40, 17, 10, 27, 254, 197, 2, 66, 2,
- 66, 40, 17, 10, 27, 254, 197, 2, 66, 2, 66, 65, 17, 10, 27, 254, 197, 2,
- 66, 2, 112, 231, 193, 40, 17, 10, 27, 242, 245, 2, 66, 2, 66, 40, 17, 10,
- 27, 242, 245, 2, 66, 2, 79, 40, 17, 10, 27, 242, 245, 2, 66, 2, 112, 231,
- 193, 40, 17, 10, 27, 244, 143, 2, 234, 130, 2, 66, 40, 17, 10, 27, 244,
- 143, 2, 234, 130, 2, 66, 65, 17, 10, 27, 224, 82, 2, 66, 2, 122, 40, 17,
- 10, 27, 224, 82, 2, 66, 2, 66, 40, 17, 10, 27, 233, 103, 2, 122, 2, 66,
- 40, 17, 10, 27, 233, 103, 2, 122, 2, 79, 40, 17, 10, 27, 233, 103, 2,
- 122, 2, 112, 231, 193, 40, 17, 10, 27, 233, 103, 2, 151, 2, 151, 65, 17,
- 10, 27, 233, 103, 2, 151, 2, 151, 40, 17, 10, 27, 233, 103, 2, 234, 130,
- 2, 66, 40, 17, 10, 27, 233, 103, 2, 234, 130, 2, 66, 65, 17, 10, 27, 233,
- 103, 2, 66, 2, 122, 40, 17, 10, 27, 233, 103, 2, 66, 2, 122, 65, 17, 10,
+ 10, 27, 122, 2, 66, 2, 112, 231, 194, 40, 17, 10, 27, 221, 168, 2, 122,
+ 2, 151, 65, 17, 10, 27, 221, 168, 2, 151, 2, 122, 65, 17, 10, 27, 221,
+ 168, 2, 151, 2, 112, 231, 194, 40, 17, 10, 27, 221, 168, 2, 66, 2, 122,
+ 40, 17, 10, 27, 221, 168, 2, 66, 2, 122, 65, 17, 10, 27, 221, 168, 2, 66,
+ 2, 151, 65, 17, 10, 27, 221, 168, 2, 66, 2, 66, 40, 17, 10, 27, 221, 168,
+ 2, 66, 2, 66, 65, 17, 10, 27, 222, 28, 2, 122, 2, 122, 40, 17, 10, 27,
+ 222, 28, 2, 122, 2, 122, 65, 17, 10, 27, 222, 28, 2, 66, 2, 66, 40, 17,
+ 10, 27, 220, 61, 2, 122, 2, 66, 40, 17, 10, 27, 220, 61, 2, 122, 2, 66,
+ 65, 17, 10, 27, 220, 61, 2, 151, 2, 79, 40, 17, 10, 27, 220, 61, 2, 66,
+ 2, 234, 131, 40, 17, 10, 27, 220, 61, 2, 66, 2, 234, 131, 65, 17, 10, 27,
+ 220, 61, 2, 66, 2, 66, 40, 17, 10, 27, 220, 61, 2, 66, 2, 66, 65, 17, 10,
+ 27, 248, 218, 2, 122, 2, 112, 231, 194, 40, 17, 10, 27, 248, 218, 2, 234,
+ 131, 2, 66, 40, 17, 10, 27, 248, 218, 2, 234, 131, 2, 66, 65, 17, 10, 27,
+ 217, 82, 2, 66, 2, 122, 40, 17, 10, 27, 217, 82, 2, 66, 2, 122, 65, 17,
+ 10, 27, 217, 82, 2, 66, 2, 66, 65, 17, 10, 27, 217, 82, 2, 66, 2, 79, 40,
+ 17, 10, 27, 254, 198, 2, 151, 2, 66, 40, 17, 10, 27, 254, 198, 2, 66, 2,
+ 66, 40, 17, 10, 27, 254, 198, 2, 66, 2, 66, 65, 17, 10, 27, 254, 198, 2,
+ 66, 2, 112, 231, 194, 40, 17, 10, 27, 242, 246, 2, 66, 2, 66, 40, 17, 10,
+ 27, 242, 246, 2, 66, 2, 79, 40, 17, 10, 27, 242, 246, 2, 66, 2, 112, 231,
+ 194, 40, 17, 10, 27, 244, 144, 2, 234, 131, 2, 66, 40, 17, 10, 27, 244,
+ 144, 2, 234, 131, 2, 66, 65, 17, 10, 27, 224, 83, 2, 66, 2, 122, 40, 17,
+ 10, 27, 224, 83, 2, 66, 2, 66, 40, 17, 10, 27, 233, 104, 2, 122, 2, 66,
+ 40, 17, 10, 27, 233, 104, 2, 122, 2, 79, 40, 17, 10, 27, 233, 104, 2,
+ 122, 2, 112, 231, 194, 40, 17, 10, 27, 233, 104, 2, 151, 2, 151, 65, 17,
+ 10, 27, 233, 104, 2, 151, 2, 151, 40, 17, 10, 27, 233, 104, 2, 234, 131,
+ 2, 66, 40, 17, 10, 27, 233, 104, 2, 234, 131, 2, 66, 65, 17, 10, 27, 233,
+ 104, 2, 66, 2, 122, 40, 17, 10, 27, 233, 104, 2, 66, 2, 122, 65, 17, 10,
27, 66, 2, 122, 2, 151, 65, 17, 10, 27, 66, 2, 122, 2, 66, 65, 17, 10,
27, 66, 2, 122, 2, 79, 40, 17, 10, 27, 66, 2, 151, 2, 122, 65, 17, 10,
- 27, 66, 2, 151, 2, 66, 65, 17, 10, 27, 66, 2, 234, 130, 2, 151, 65, 17,
- 10, 27, 66, 2, 234, 130, 2, 66, 65, 17, 10, 27, 66, 2, 151, 2, 234, 130,
- 65, 17, 10, 27, 241, 219, 2, 66, 2, 151, 65, 17, 10, 27, 241, 219, 2, 66,
- 2, 66, 65, 17, 10, 27, 228, 63, 2, 122, 2, 66, 65, 17, 10, 27, 228, 63,
- 2, 122, 2, 112, 231, 193, 40, 17, 10, 27, 228, 63, 2, 151, 2, 66, 40, 17,
- 10, 27, 228, 63, 2, 151, 2, 66, 65, 17, 10, 27, 228, 63, 2, 151, 2, 112,
- 231, 193, 40, 17, 10, 27, 228, 63, 2, 66, 2, 79, 40, 17, 10, 27, 228, 63,
- 2, 66, 2, 112, 231, 193, 40, 17, 10, 27, 79, 2, 66, 2, 66, 40, 17, 10,
- 27, 79, 2, 66, 2, 66, 65, 17, 10, 27, 252, 55, 2, 234, 130, 2, 79, 40,
- 17, 10, 27, 217, 8, 2, 151, 2, 79, 40, 17, 10, 27, 217, 8, 2, 151, 2,
- 112, 231, 193, 40, 17, 10, 27, 217, 8, 2, 234, 130, 2, 79, 40, 17, 10,
- 27, 217, 8, 2, 234, 130, 2, 112, 231, 193, 40, 17, 10, 27, 217, 8, 2, 66,
- 2, 79, 40, 17, 10, 27, 217, 8, 2, 66, 2, 112, 231, 193, 40, 17, 10, 27,
- 151, 2, 66, 2, 79, 40, 17, 10, 27, 151, 2, 122, 2, 112, 231, 193, 40, 17,
- 10, 27, 151, 2, 66, 2, 112, 231, 193, 40, 17, 10, 27, 221, 167, 2, 234,
- 130, 2, 112, 231, 193, 40, 17, 10, 27, 222, 27, 2, 122, 2, 79, 40, 17,
- 10, 27, 220, 60, 2, 122, 2, 79, 40, 17, 10, 27, 248, 217, 2, 122, 2, 79,
- 40, 17, 10, 27, 233, 103, 2, 151, 2, 79, 40, 17, 10, 27, 233, 103, 2, 66,
+ 27, 66, 2, 151, 2, 66, 65, 17, 10, 27, 66, 2, 234, 131, 2, 151, 65, 17,
+ 10, 27, 66, 2, 234, 131, 2, 66, 65, 17, 10, 27, 66, 2, 151, 2, 234, 131,
+ 65, 17, 10, 27, 241, 220, 2, 66, 2, 151, 65, 17, 10, 27, 241, 220, 2, 66,
+ 2, 66, 65, 17, 10, 27, 228, 64, 2, 122, 2, 66, 65, 17, 10, 27, 228, 64,
+ 2, 122, 2, 112, 231, 194, 40, 17, 10, 27, 228, 64, 2, 151, 2, 66, 40, 17,
+ 10, 27, 228, 64, 2, 151, 2, 66, 65, 17, 10, 27, 228, 64, 2, 151, 2, 112,
+ 231, 194, 40, 17, 10, 27, 228, 64, 2, 66, 2, 79, 40, 17, 10, 27, 228, 64,
+ 2, 66, 2, 112, 231, 194, 40, 17, 10, 27, 79, 2, 66, 2, 66, 40, 17, 10,
+ 27, 79, 2, 66, 2, 66, 65, 17, 10, 27, 252, 56, 2, 234, 131, 2, 79, 40,
+ 17, 10, 27, 217, 9, 2, 151, 2, 79, 40, 17, 10, 27, 217, 9, 2, 151, 2,
+ 112, 231, 194, 40, 17, 10, 27, 217, 9, 2, 234, 131, 2, 79, 40, 17, 10,
+ 27, 217, 9, 2, 234, 131, 2, 112, 231, 194, 40, 17, 10, 27, 217, 9, 2, 66,
+ 2, 79, 40, 17, 10, 27, 217, 9, 2, 66, 2, 112, 231, 194, 40, 17, 10, 27,
+ 151, 2, 66, 2, 79, 40, 17, 10, 27, 151, 2, 122, 2, 112, 231, 194, 40, 17,
+ 10, 27, 151, 2, 66, 2, 112, 231, 194, 40, 17, 10, 27, 221, 168, 2, 234,
+ 131, 2, 112, 231, 194, 40, 17, 10, 27, 222, 28, 2, 122, 2, 79, 40, 17,
+ 10, 27, 220, 61, 2, 122, 2, 79, 40, 17, 10, 27, 248, 218, 2, 122, 2, 79,
+ 40, 17, 10, 27, 233, 104, 2, 151, 2, 79, 40, 17, 10, 27, 233, 104, 2, 66,
2, 79, 40, 17, 10, 27, 79, 2, 122, 2, 79, 40, 17, 10, 27, 79, 2, 151, 2,
79, 40, 17, 10, 27, 79, 2, 66, 2, 79, 40, 17, 10, 27, 66, 2, 66, 2, 79,
- 40, 17, 10, 27, 224, 82, 2, 66, 2, 79, 40, 17, 10, 27, 228, 63, 2, 122,
- 2, 79, 40, 17, 10, 27, 224, 82, 2, 66, 2, 122, 65, 17, 10, 27, 233, 103,
- 2, 122, 2, 66, 65, 17, 10, 27, 254, 197, 2, 66, 2, 79, 40, 17, 10, 27,
- 234, 251, 2, 66, 2, 79, 40, 17, 10, 27, 228, 63, 2, 151, 2, 122, 65, 17,
- 10, 27, 66, 2, 234, 130, 2, 79, 40, 17, 10, 27, 233, 103, 2, 151, 2, 66,
- 65, 17, 10, 27, 234, 251, 2, 66, 2, 66, 40, 17, 10, 27, 233, 103, 2, 151,
- 2, 66, 40, 17, 10, 27, 228, 63, 2, 151, 2, 122, 40, 17, 10, 27, 151, 2,
+ 40, 17, 10, 27, 224, 83, 2, 66, 2, 79, 40, 17, 10, 27, 228, 64, 2, 122,
+ 2, 79, 40, 17, 10, 27, 224, 83, 2, 66, 2, 122, 65, 17, 10, 27, 233, 104,
+ 2, 122, 2, 66, 65, 17, 10, 27, 254, 198, 2, 66, 2, 79, 40, 17, 10, 27,
+ 234, 252, 2, 66, 2, 79, 40, 17, 10, 27, 228, 64, 2, 151, 2, 122, 65, 17,
+ 10, 27, 66, 2, 234, 131, 2, 79, 40, 17, 10, 27, 233, 104, 2, 151, 2, 66,
+ 65, 17, 10, 27, 234, 252, 2, 66, 2, 66, 40, 17, 10, 27, 233, 104, 2, 151,
+ 2, 66, 40, 17, 10, 27, 228, 64, 2, 151, 2, 122, 40, 17, 10, 27, 151, 2,
122, 2, 79, 40, 17, 10, 27, 122, 2, 151, 2, 79, 40, 17, 10, 27, 66, 2,
- 151, 2, 79, 40, 17, 10, 27, 244, 143, 2, 66, 2, 79, 40, 17, 10, 27, 252,
- 55, 2, 122, 2, 79, 40, 17, 10, 27, 234, 251, 2, 66, 2, 66, 65, 17, 10,
- 27, 254, 197, 2, 151, 2, 66, 65, 17, 10, 27, 222, 27, 2, 66, 2, 66, 65,
- 17, 10, 27, 221, 167, 2, 234, 130, 2, 79, 40, 17, 10, 27, 228, 63, 2,
- 151, 2, 79, 40, 17, 10, 27, 222, 4, 214, 128, 253, 238, 234, 4, 218, 130,
- 5, 53, 17, 10, 27, 224, 78, 214, 128, 253, 238, 234, 4, 218, 130, 5, 53,
- 17, 10, 27, 254, 153, 53, 17, 10, 27, 254, 183, 53, 17, 10, 27, 230, 153,
- 53, 17, 10, 27, 222, 5, 53, 17, 10, 27, 223, 143, 53, 17, 10, 27, 254,
- 172, 53, 17, 10, 27, 212, 49, 53, 17, 10, 27, 222, 4, 53, 17, 10, 27,
- 222, 3, 254, 172, 212, 48, 10, 27, 235, 134, 223, 34, 50, 10, 27, 251,
- 230, 254, 39, 254, 40, 45, 221, 156, 45, 221, 45, 45, 220, 233, 45, 220,
- 222, 45, 220, 211, 45, 220, 200, 45, 220, 189, 45, 220, 178, 45, 220,
- 167, 45, 221, 155, 45, 221, 144, 45, 221, 133, 45, 221, 122, 45, 221,
- 111, 45, 221, 100, 45, 221, 89, 224, 194, 244, 20, 31, 67, 249, 219, 224,
- 194, 244, 20, 31, 67, 109, 249, 219, 224, 194, 244, 20, 31, 67, 109, 243,
- 229, 218, 129, 224, 194, 244, 20, 31, 67, 249, 226, 224, 194, 244, 20,
- 31, 67, 220, 150, 224, 194, 244, 20, 31, 67, 245, 31, 78, 224, 194, 244,
- 20, 31, 67, 224, 13, 78, 224, 194, 244, 20, 31, 67, 43, 71, 233, 20, 127,
- 224, 194, 244, 20, 31, 67, 44, 71, 233, 20, 251, 156, 224, 194, 244, 20,
- 31, 67, 203, 245, 163, 38, 27, 43, 242, 27, 38, 27, 44, 242, 27, 38, 52,
- 216, 89, 43, 242, 27, 38, 52, 216, 89, 44, 242, 27, 38, 231, 233, 43,
- 242, 27, 38, 231, 233, 44, 242, 27, 38, 249, 197, 231, 232, 224, 194,
- 244, 20, 31, 67, 113, 59, 233, 56, 224, 194, 244, 20, 31, 67, 245, 160,
- 248, 156, 224, 194, 244, 20, 31, 67, 245, 151, 248, 156, 224, 194, 244,
- 20, 31, 67, 121, 232, 213, 224, 194, 244, 20, 31, 67, 212, 32, 121, 232,
- 213, 224, 194, 244, 20, 31, 67, 43, 226, 3, 224, 194, 244, 20, 31, 67,
- 44, 226, 3, 224, 194, 244, 20, 31, 67, 43, 249, 99, 127, 224, 194, 244,
- 20, 31, 67, 44, 249, 99, 127, 224, 194, 244, 20, 31, 67, 43, 216, 6, 220,
- 53, 127, 224, 194, 244, 20, 31, 67, 44, 216, 6, 220, 53, 127, 224, 194,
- 244, 20, 31, 67, 43, 85, 233, 20, 127, 224, 194, 244, 20, 31, 67, 44, 85,
- 233, 20, 127, 224, 194, 244, 20, 31, 67, 43, 52, 254, 110, 127, 224, 194,
- 244, 20, 31, 67, 44, 52, 254, 110, 127, 224, 194, 244, 20, 31, 67, 43,
- 254, 110, 127, 224, 194, 244, 20, 31, 67, 44, 254, 110, 127, 224, 194,
- 244, 20, 31, 67, 43, 249, 161, 127, 224, 194, 244, 20, 31, 67, 44, 249,
- 161, 127, 224, 194, 244, 20, 31, 67, 43, 71, 249, 161, 127, 224, 194,
- 244, 20, 31, 67, 44, 71, 249, 161, 127, 220, 131, 247, 120, 71, 220, 131,
- 247, 120, 224, 194, 244, 20, 31, 67, 43, 42, 127, 224, 194, 244, 20, 31,
- 67, 44, 42, 127, 248, 155, 226, 119, 250, 172, 226, 119, 212, 32, 226,
- 119, 52, 212, 32, 226, 119, 248, 155, 121, 232, 213, 250, 172, 121, 232,
- 213, 212, 32, 121, 232, 213, 4, 249, 219, 4, 109, 249, 219, 4, 243, 229,
- 218, 129, 4, 220, 150, 4, 249, 226, 4, 224, 13, 78, 4, 245, 31, 78, 4,
- 245, 160, 248, 156, 4, 43, 226, 3, 4, 44, 226, 3, 4, 43, 249, 99, 127, 4,
- 44, 249, 99, 127, 4, 43, 216, 6, 220, 53, 127, 4, 44, 216, 6, 220, 53,
- 127, 4, 54, 50, 4, 254, 126, 4, 253, 216, 4, 96, 50, 4, 240, 167, 4, 233,
- 15, 50, 4, 242, 130, 50, 4, 245, 98, 50, 4, 223, 50, 219, 46, 4, 247,
- 132, 50, 4, 225, 182, 50, 4, 249, 217, 253, 206, 10, 244, 164, 53, 17,
- 10, 217, 44, 2, 244, 164, 48, 10, 248, 183, 53, 17, 10, 217, 78, 244, 1,
- 10, 234, 204, 53, 17, 10, 244, 166, 53, 17, 10, 244, 166, 147, 17, 10,
- 248, 185, 53, 17, 10, 248, 185, 147, 17, 10, 234, 206, 53, 17, 10, 234,
- 206, 147, 17, 10, 220, 94, 53, 17, 10, 220, 94, 147, 17, 10, 218, 46, 53,
- 17, 10, 218, 46, 147, 17, 10, 1, 202, 53, 17, 10, 1, 112, 2, 231, 228,
- 77, 53, 17, 10, 1, 112, 2, 231, 228, 77, 40, 17, 10, 1, 112, 2, 202, 77,
- 53, 17, 10, 1, 112, 2, 202, 77, 40, 17, 10, 1, 212, 31, 2, 202, 77, 53,
- 17, 10, 1, 212, 31, 2, 202, 77, 40, 17, 10, 1, 112, 2, 202, 252, 43, 53,
- 17, 10, 1, 112, 2, 202, 252, 43, 40, 17, 10, 1, 79, 2, 202, 77, 53, 17,
- 10, 1, 79, 2, 202, 77, 40, 17, 10, 1, 79, 2, 202, 77, 65, 17, 10, 1, 79,
- 2, 202, 77, 147, 17, 10, 1, 112, 53, 17, 10, 1, 112, 40, 17, 10, 1, 252,
- 55, 53, 17, 10, 1, 252, 55, 40, 17, 10, 1, 252, 55, 65, 17, 10, 1, 252,
- 55, 147, 17, 10, 1, 217, 8, 231, 165, 53, 17, 10, 1, 217, 8, 231, 165,
- 40, 17, 10, 1, 217, 8, 53, 17, 10, 1, 217, 8, 40, 17, 10, 1, 217, 8, 65,
- 17, 10, 1, 217, 8, 147, 17, 10, 1, 216, 193, 53, 17, 10, 1, 216, 193, 40,
- 17, 10, 1, 216, 193, 65, 17, 10, 1, 216, 193, 147, 17, 10, 1, 151, 53,
- 17, 10, 1, 151, 40, 17, 10, 1, 151, 65, 17, 10, 1, 151, 147, 17, 10, 1,
- 122, 53, 17, 10, 1, 122, 40, 17, 10, 1, 122, 65, 17, 10, 1, 122, 147, 17,
- 10, 1, 234, 130, 53, 17, 10, 1, 234, 130, 40, 17, 10, 1, 234, 130, 65,
- 17, 10, 1, 234, 130, 147, 17, 10, 1, 248, 196, 53, 17, 10, 1, 248, 196,
- 40, 17, 10, 1, 216, 203, 53, 17, 10, 1, 216, 203, 40, 17, 10, 1, 223, 96,
- 53, 17, 10, 1, 223, 96, 40, 17, 10, 1, 210, 109, 53, 17, 10, 1, 210, 109,
- 40, 17, 10, 1, 221, 167, 53, 17, 10, 1, 221, 167, 40, 17, 10, 1, 221,
- 167, 65, 17, 10, 1, 221, 167, 147, 17, 10, 1, 220, 60, 53, 17, 10, 1,
- 220, 60, 40, 17, 10, 1, 220, 60, 65, 17, 10, 1, 220, 60, 147, 17, 10, 1,
- 222, 27, 53, 17, 10, 1, 222, 27, 40, 17, 10, 1, 222, 27, 65, 17, 10, 1,
- 222, 27, 147, 17, 10, 1, 248, 217, 53, 17, 10, 1, 248, 217, 40, 17, 10,
- 1, 248, 217, 65, 17, 10, 1, 248, 217, 147, 17, 10, 1, 217, 81, 53, 17,
- 10, 1, 217, 81, 40, 17, 10, 1, 217, 81, 65, 17, 10, 1, 217, 81, 147, 17,
- 10, 1, 210, 112, 53, 17, 10, 1, 210, 112, 40, 17, 10, 1, 210, 112, 65,
- 17, 10, 1, 210, 112, 147, 17, 10, 1, 254, 197, 53, 17, 10, 1, 254, 197,
- 40, 17, 10, 1, 254, 197, 65, 17, 10, 1, 254, 197, 147, 17, 10, 1, 242,
- 245, 53, 17, 10, 1, 242, 245, 40, 17, 10, 1, 242, 245, 65, 17, 10, 1,
- 242, 245, 147, 17, 10, 1, 244, 143, 53, 17, 10, 1, 244, 143, 40, 17, 10,
- 1, 244, 143, 65, 17, 10, 1, 244, 143, 147, 17, 10, 1, 224, 82, 53, 17,
- 10, 1, 224, 82, 40, 17, 10, 1, 224, 82, 65, 17, 10, 1, 224, 82, 147, 17,
- 10, 1, 234, 251, 53, 17, 10, 1, 234, 251, 40, 17, 10, 1, 234, 251, 65,
- 17, 10, 1, 234, 251, 147, 17, 10, 1, 233, 103, 53, 17, 10, 1, 233, 103,
- 40, 17, 10, 1, 233, 103, 65, 17, 10, 1, 233, 103, 147, 17, 10, 1, 66, 53,
- 17, 10, 1, 66, 40, 17, 10, 1, 66, 65, 17, 10, 1, 66, 147, 17, 10, 1, 228,
- 63, 53, 17, 10, 1, 228, 63, 40, 17, 10, 1, 228, 63, 65, 17, 10, 1, 228,
- 63, 147, 17, 10, 1, 241, 219, 53, 17, 10, 1, 241, 219, 40, 17, 10, 1,
- 241, 219, 65, 17, 10, 1, 241, 219, 147, 17, 10, 1, 212, 31, 53, 17, 10,
- 1, 212, 31, 40, 17, 10, 1, 112, 231, 193, 53, 17, 10, 1, 112, 231, 193,
- 40, 17, 10, 1, 79, 53, 17, 10, 1, 79, 40, 17, 10, 1, 79, 65, 17, 10, 1,
- 79, 147, 17, 10, 27, 233, 103, 2, 112, 2, 231, 228, 77, 53, 17, 10, 27,
- 233, 103, 2, 112, 2, 231, 228, 77, 40, 17, 10, 27, 233, 103, 2, 112, 2,
- 202, 77, 53, 17, 10, 27, 233, 103, 2, 112, 2, 202, 77, 40, 17, 10, 27,
- 233, 103, 2, 112, 2, 202, 252, 43, 53, 17, 10, 27, 233, 103, 2, 112, 2,
- 202, 252, 43, 40, 17, 10, 27, 233, 103, 2, 112, 53, 17, 10, 27, 233, 103,
- 2, 112, 40, 17, 210, 87, 211, 245, 228, 73, 219, 18, 126, 245, 31, 78,
- 126, 223, 254, 78, 126, 54, 50, 126, 247, 132, 50, 126, 225, 182, 50,
- 126, 254, 126, 126, 254, 57, 126, 43, 226, 3, 126, 44, 226, 3, 126, 253,
- 216, 126, 96, 50, 126, 249, 219, 126, 240, 167, 126, 243, 229, 218, 129,
- 126, 219, 46, 126, 21, 210, 86, 126, 21, 110, 126, 21, 105, 126, 21, 158,
- 126, 21, 161, 126, 21, 189, 126, 21, 194, 126, 21, 198, 126, 21, 195,
- 126, 21, 200, 126, 249, 226, 126, 220, 150, 126, 233, 15, 50, 126, 245,
- 98, 50, 126, 242, 130, 50, 126, 224, 13, 78, 126, 249, 217, 253, 206,
- 126, 7, 6, 1, 61, 126, 7, 6, 1, 253, 158, 126, 7, 6, 1, 251, 66, 126, 7,
- 6, 1, 249, 60, 126, 7, 6, 1, 75, 126, 7, 6, 1, 245, 6, 126, 7, 6, 1, 243,
- 202, 126, 7, 6, 1, 242, 60, 126, 7, 6, 1, 73, 126, 7, 6, 1, 235, 144,
- 126, 7, 6, 1, 235, 23, 126, 7, 6, 1, 156, 126, 7, 6, 1, 193, 126, 7, 6,
- 1, 230, 25, 126, 7, 6, 1, 76, 126, 7, 6, 1, 226, 105, 126, 7, 6, 1, 224,
- 96, 126, 7, 6, 1, 153, 126, 7, 6, 1, 222, 91, 126, 7, 6, 1, 217, 152,
- 126, 7, 6, 1, 70, 126, 7, 6, 1, 214, 105, 126, 7, 6, 1, 212, 98, 126, 7,
- 6, 1, 211, 178, 126, 7, 6, 1, 211, 117, 126, 7, 6, 1, 210, 159, 126, 43,
- 42, 127, 126, 223, 50, 219, 46, 126, 44, 42, 127, 126, 250, 31, 255, 14,
- 126, 121, 232, 213, 126, 242, 137, 255, 14, 126, 7, 4, 1, 61, 126, 7, 4,
- 1, 253, 158, 126, 7, 4, 1, 251, 66, 126, 7, 4, 1, 249, 60, 126, 7, 4, 1,
- 75, 126, 7, 4, 1, 245, 6, 126, 7, 4, 1, 243, 202, 126, 7, 4, 1, 242, 60,
- 126, 7, 4, 1, 73, 126, 7, 4, 1, 235, 144, 126, 7, 4, 1, 235, 23, 126, 7,
- 4, 1, 156, 126, 7, 4, 1, 193, 126, 7, 4, 1, 230, 25, 126, 7, 4, 1, 76,
- 126, 7, 4, 1, 226, 105, 126, 7, 4, 1, 224, 96, 126, 7, 4, 1, 153, 126, 7,
- 4, 1, 222, 91, 126, 7, 4, 1, 217, 152, 126, 7, 4, 1, 70, 126, 7, 4, 1,
- 214, 105, 126, 7, 4, 1, 212, 98, 126, 7, 4, 1, 211, 178, 126, 7, 4, 1,
- 211, 117, 126, 7, 4, 1, 210, 159, 126, 43, 249, 99, 127, 126, 67, 232,
- 213, 126, 44, 249, 99, 127, 126, 182, 126, 43, 71, 226, 3, 126, 44, 71,
- 226, 3, 101, 109, 243, 229, 218, 129, 101, 43, 249, 161, 127, 101, 44,
- 249, 161, 127, 101, 109, 249, 219, 101, 56, 230, 224, 247, 120, 101, 56,
- 1, 211, 227, 101, 56, 1, 4, 61, 101, 56, 1, 4, 73, 101, 56, 1, 4, 70,
- 101, 56, 1, 4, 75, 101, 56, 1, 4, 76, 101, 56, 1, 4, 191, 101, 56, 1, 4,
- 210, 212, 101, 56, 1, 4, 210, 244, 101, 56, 1, 4, 215, 118, 101, 234,
- 201, 224, 173, 219, 31, 78, 101, 56, 1, 61, 101, 56, 1, 73, 101, 56, 1,
- 70, 101, 56, 1, 75, 101, 56, 1, 76, 101, 56, 1, 176, 101, 56, 1, 234, 92,
- 101, 56, 1, 233, 217, 101, 56, 1, 234, 182, 101, 56, 1, 234, 28, 101, 56,
- 1, 206, 101, 56, 1, 219, 191, 101, 56, 1, 218, 83, 101, 56, 1, 221, 181,
- 101, 56, 1, 219, 58, 101, 56, 1, 217, 105, 101, 56, 1, 216, 117, 101, 56,
- 1, 215, 118, 101, 56, 1, 217, 22, 101, 56, 1, 111, 101, 56, 1, 197, 101,
- 56, 1, 228, 233, 101, 56, 1, 227, 237, 101, 56, 1, 229, 107, 101, 56, 1,
- 228, 74, 101, 56, 1, 162, 101, 56, 1, 241, 180, 101, 56, 1, 240, 222,
- 101, 56, 1, 241, 238, 101, 56, 1, 241, 68, 101, 56, 1, 184, 101, 56, 1,
- 230, 230, 101, 56, 1, 230, 102, 101, 56, 1, 231, 91, 101, 56, 1, 230,
- 161, 101, 56, 1, 191, 101, 56, 1, 210, 212, 101, 56, 1, 210, 244, 101,
- 56, 1, 205, 101, 56, 1, 223, 35, 101, 56, 1, 222, 140, 101, 56, 1, 223,
- 128, 101, 56, 1, 222, 211, 101, 56, 1, 212, 65, 101, 56, 1, 230, 25, 101,
- 56, 213, 135, 219, 31, 78, 101, 56, 220, 155, 219, 31, 78, 101, 24, 244,
- 103, 101, 24, 1, 234, 58, 101, 24, 1, 218, 215, 101, 24, 1, 234, 51, 101,
- 24, 1, 228, 226, 101, 24, 1, 228, 224, 101, 24, 1, 228, 223, 101, 24, 1,
- 216, 101, 101, 24, 1, 218, 204, 101, 24, 1, 223, 26, 101, 24, 1, 223, 21,
- 101, 24, 1, 223, 18, 101, 24, 1, 223, 11, 101, 24, 1, 223, 6, 101, 24, 1,
- 223, 1, 101, 24, 1, 223, 12, 101, 24, 1, 223, 24, 101, 24, 1, 230, 217,
- 101, 24, 1, 225, 95, 101, 24, 1, 218, 212, 101, 24, 1, 225, 84, 101, 24,
- 1, 219, 148, 101, 24, 1, 218, 209, 101, 24, 1, 236, 56, 101, 24, 1, 250,
- 46, 101, 24, 1, 218, 219, 101, 24, 1, 250, 106, 101, 24, 1, 234, 110,
- 101, 24, 1, 216, 173, 101, 24, 1, 225, 131, 101, 24, 1, 241, 172, 101,
- 24, 1, 61, 101, 24, 1, 254, 243, 101, 24, 1, 191, 101, 24, 1, 211, 92,
- 101, 24, 1, 245, 117, 101, 24, 1, 75, 101, 24, 1, 211, 36, 101, 24, 1,
- 211, 47, 101, 24, 1, 76, 101, 24, 1, 212, 65, 101, 24, 1, 212, 62, 101,
- 24, 1, 226, 234, 101, 24, 1, 210, 244, 101, 24, 1, 70, 101, 24, 1, 212,
- 11, 101, 24, 1, 212, 22, 101, 24, 1, 211, 250, 101, 24, 1, 210, 212, 101,
- 24, 1, 245, 55, 101, 24, 1, 211, 8, 101, 24, 1, 73, 126, 250, 176, 50,
- 126, 224, 228, 50, 126, 228, 52, 50, 126, 231, 232, 126, 251, 135, 130,
- 126, 211, 40, 50, 126, 211, 217, 50, 101, 244, 18, 192, 213, 239, 101,
- 140, 74, 101, 214, 153, 74, 101, 97, 74, 101, 246, 104, 74, 101, 85, 218,
- 234, 101, 71, 250, 35, 235, 204, 254, 99, 254, 120, 235, 204, 254, 99,
- 220, 137, 235, 204, 254, 99, 216, 236, 226, 249, 223, 72, 250, 142, 223,
- 72, 250, 142, 62, 57, 3, 253, 142, 61, 62, 57, 3, 253, 111, 75, 62, 57,
- 3, 253, 120, 73, 62, 57, 3, 253, 88, 76, 62, 57, 3, 253, 138, 70, 62, 57,
- 3, 253, 157, 248, 221, 62, 57, 3, 253, 104, 248, 90, 62, 57, 3, 253, 144,
- 248, 3, 62, 57, 3, 253, 134, 247, 145, 62, 57, 3, 253, 98, 246, 78, 62,
- 57, 3, 253, 92, 235, 141, 62, 57, 3, 253, 103, 235, 126, 62, 57, 3, 253,
- 113, 235, 68, 62, 57, 3, 253, 84, 235, 51, 62, 57, 3, 253, 72, 176, 62,
- 57, 3, 253, 105, 234, 182, 62, 57, 3, 253, 82, 234, 92, 62, 57, 3, 253,
- 79, 234, 28, 62, 57, 3, 253, 68, 233, 217, 62, 57, 3, 253, 69, 184, 62,
- 57, 3, 253, 135, 231, 91, 62, 57, 3, 253, 76, 230, 230, 62, 57, 3, 253,
- 133, 230, 161, 62, 57, 3, 253, 125, 230, 102, 62, 57, 3, 253, 146, 197,
- 62, 57, 3, 253, 124, 229, 107, 62, 57, 3, 253, 118, 228, 233, 62, 57, 3,
- 253, 97, 228, 74, 62, 57, 3, 253, 94, 227, 237, 62, 57, 3, 253, 153, 190,
- 62, 57, 3, 253, 77, 225, 221, 62, 57, 3, 253, 110, 225, 108, 62, 57, 3,
- 253, 137, 225, 16, 62, 57, 3, 253, 99, 224, 150, 62, 57, 3, 253, 132,
- 224, 88, 62, 57, 3, 253, 71, 224, 69, 62, 57, 3, 253, 127, 224, 53, 62,
- 57, 3, 253, 116, 224, 42, 62, 57, 3, 253, 89, 205, 62, 57, 3, 253, 121,
- 223, 128, 62, 57, 3, 253, 96, 223, 35, 62, 57, 3, 253, 155, 222, 211, 62,
- 57, 3, 253, 122, 222, 140, 62, 57, 3, 253, 117, 206, 62, 57, 3, 253, 140,
- 221, 181, 62, 57, 3, 253, 108, 219, 191, 62, 57, 3, 253, 136, 219, 58,
- 62, 57, 3, 253, 91, 218, 83, 62, 57, 3, 253, 90, 217, 105, 62, 57, 3,
- 253, 151, 217, 22, 62, 57, 3, 253, 112, 216, 117, 62, 57, 3, 253, 149,
- 111, 62, 57, 3, 253, 80, 215, 118, 62, 57, 3, 253, 95, 212, 65, 62, 57,
- 3, 253, 74, 212, 22, 62, 57, 3, 253, 109, 211, 250, 62, 57, 3, 253, 107,
- 211, 227, 62, 57, 3, 253, 131, 210, 116, 62, 57, 3, 253, 75, 210, 94, 62,
- 57, 3, 253, 128, 210, 23, 62, 57, 3, 253, 123, 255, 75, 62, 57, 3, 253,
- 106, 255, 74, 62, 57, 3, 253, 65, 253, 192, 62, 57, 3, 253, 78, 246, 46,
- 62, 57, 3, 253, 61, 246, 45, 62, 57, 3, 253, 101, 227, 174, 62, 57, 3,
- 253, 119, 224, 148, 62, 57, 3, 253, 87, 224, 152, 62, 57, 3, 253, 73,
- 223, 186, 62, 57, 3, 253, 115, 223, 185, 62, 57, 3, 253, 81, 222, 210,
- 62, 57, 3, 253, 83, 217, 102, 62, 57, 3, 253, 63, 215, 78, 62, 57, 3,
- 253, 60, 105, 62, 57, 16, 253, 130, 62, 57, 16, 253, 129, 62, 57, 16,
- 253, 126, 62, 57, 16, 253, 114, 62, 57, 16, 253, 102, 62, 57, 16, 253,
- 100, 62, 57, 16, 253, 93, 62, 57, 16, 253, 86, 62, 57, 16, 253, 85, 62,
- 57, 16, 253, 70, 62, 57, 16, 253, 67, 62, 57, 16, 253, 66, 62, 57, 16,
- 253, 64, 62, 57, 16, 253, 62, 62, 57, 106, 253, 59, 231, 185, 62, 57,
- 106, 253, 58, 211, 221, 62, 57, 106, 253, 57, 248, 74, 62, 57, 106, 253,
- 56, 245, 95, 62, 57, 106, 253, 55, 231, 159, 62, 57, 106, 253, 54, 218,
- 162, 62, 57, 106, 253, 53, 245, 37, 62, 57, 106, 253, 52, 223, 153, 62,
- 57, 106, 253, 51, 220, 62, 62, 57, 106, 253, 50, 241, 237, 62, 57, 106,
- 253, 49, 219, 25, 62, 57, 106, 253, 48, 251, 203, 62, 57, 106, 253, 47,
- 249, 145, 62, 57, 106, 253, 46, 251, 115, 62, 57, 106, 253, 45, 212, 2,
- 62, 57, 106, 253, 44, 252, 136, 62, 57, 106, 253, 43, 226, 205, 62, 57,
- 106, 253, 42, 218, 254, 62, 57, 106, 253, 41, 249, 68, 62, 57, 230, 142,
- 253, 40, 234, 224, 62, 57, 230, 142, 253, 39, 234, 232, 62, 57, 106, 253,
- 38, 226, 218, 62, 57, 106, 253, 37, 211, 236, 62, 57, 106, 253, 36, 62,
- 57, 230, 142, 253, 35, 254, 17, 62, 57, 230, 142, 253, 34, 231, 52, 62,
- 57, 106, 253, 33, 251, 134, 62, 57, 106, 253, 32, 242, 166, 62, 57, 106,
- 253, 31, 62, 57, 106, 253, 30, 211, 212, 62, 57, 106, 253, 29, 62, 57,
- 106, 253, 28, 62, 57, 106, 253, 27, 240, 248, 62, 57, 106, 253, 26, 62,
- 57, 106, 253, 25, 62, 57, 106, 253, 24, 62, 57, 230, 142, 253, 22, 215,
- 92, 62, 57, 106, 253, 21, 62, 57, 106, 253, 20, 62, 57, 106, 253, 19,
- 249, 250, 62, 57, 106, 253, 18, 62, 57, 106, 253, 17, 62, 57, 106, 253,
- 16, 243, 93, 62, 57, 106, 253, 15, 254, 4, 62, 57, 106, 253, 14, 62, 57,
- 106, 253, 13, 62, 57, 106, 253, 12, 62, 57, 106, 253, 11, 62, 57, 106,
- 253, 10, 62, 57, 106, 253, 9, 62, 57, 106, 253, 8, 62, 57, 106, 253, 7,
- 62, 57, 106, 253, 6, 62, 57, 106, 253, 5, 230, 134, 62, 57, 106, 253, 4,
- 62, 57, 106, 253, 3, 215, 235, 62, 57, 106, 253, 2, 62, 57, 106, 253, 1,
- 62, 57, 106, 253, 0, 62, 57, 106, 252, 255, 62, 57, 106, 252, 254, 62,
- 57, 106, 252, 253, 62, 57, 106, 252, 252, 62, 57, 106, 252, 251, 62, 57,
- 106, 252, 250, 62, 57, 106, 252, 249, 62, 57, 106, 252, 248, 62, 57, 106,
- 252, 247, 241, 211, 62, 57, 106, 252, 226, 244, 28, 62, 57, 106, 252,
- 223, 252, 116, 62, 57, 106, 252, 218, 219, 5, 62, 57, 106, 252, 217, 74,
- 62, 57, 106, 252, 216, 62, 57, 106, 252, 215, 217, 236, 62, 57, 106, 252,
- 214, 62, 57, 106, 252, 213, 62, 57, 106, 252, 212, 211, 254, 250, 139,
- 62, 57, 106, 252, 211, 250, 139, 62, 57, 106, 252, 210, 250, 140, 243,
- 255, 62, 57, 106, 252, 209, 212, 0, 62, 57, 106, 252, 208, 62, 57, 106,
- 252, 207, 62, 57, 230, 142, 252, 206, 247, 198, 62, 57, 106, 252, 205,
- 62, 57, 106, 252, 204, 62, 57, 106, 252, 202, 62, 57, 106, 252, 201, 62,
- 57, 106, 252, 200, 62, 57, 106, 252, 199, 248, 159, 62, 57, 106, 252,
- 198, 62, 57, 106, 252, 197, 62, 57, 106, 252, 196, 62, 57, 106, 252, 195,
- 62, 57, 106, 252, 194, 62, 57, 106, 213, 186, 253, 23, 62, 57, 106, 213,
- 186, 252, 246, 62, 57, 106, 213, 186, 252, 245, 62, 57, 106, 213, 186,
- 252, 244, 62, 57, 106, 213, 186, 252, 243, 62, 57, 106, 213, 186, 252,
- 242, 62, 57, 106, 213, 186, 252, 241, 62, 57, 106, 213, 186, 252, 240,
- 62, 57, 106, 213, 186, 252, 239, 62, 57, 106, 213, 186, 252, 238, 62, 57,
- 106, 213, 186, 252, 237, 62, 57, 106, 213, 186, 252, 236, 62, 57, 106,
- 213, 186, 252, 235, 62, 57, 106, 213, 186, 252, 234, 62, 57, 106, 213,
- 186, 252, 233, 62, 57, 106, 213, 186, 252, 232, 62, 57, 106, 213, 186,
- 252, 231, 62, 57, 106, 213, 186, 252, 230, 62, 57, 106, 213, 186, 252,
- 229, 62, 57, 106, 213, 186, 252, 228, 62, 57, 106, 213, 186, 252, 227,
- 62, 57, 106, 213, 186, 252, 225, 62, 57, 106, 213, 186, 252, 224, 62, 57,
- 106, 213, 186, 252, 222, 62, 57, 106, 213, 186, 252, 221, 62, 57, 106,
- 213, 186, 252, 220, 62, 57, 106, 213, 186, 252, 219, 62, 57, 106, 213,
- 186, 252, 203, 62, 57, 106, 213, 186, 252, 193, 254, 236, 211, 209, 220,
- 138, 232, 213, 254, 236, 211, 209, 220, 138, 247, 120, 254, 236, 250,
- 130, 78, 254, 236, 54, 110, 254, 236, 54, 105, 254, 236, 54, 158, 254,
- 236, 54, 161, 254, 236, 54, 189, 254, 236, 54, 194, 254, 236, 54, 198,
- 254, 236, 54, 195, 254, 236, 54, 200, 254, 236, 54, 216, 247, 254, 236,
- 54, 215, 73, 254, 236, 54, 216, 162, 254, 236, 54, 244, 15, 254, 236, 54,
- 244, 114, 254, 236, 54, 219, 111, 254, 236, 54, 220, 116, 254, 236, 54,
- 245, 184, 254, 236, 54, 228, 195, 254, 236, 54, 123, 240, 210, 254, 236,
- 54, 113, 240, 210, 254, 236, 54, 134, 240, 210, 254, 236, 54, 244, 11,
- 240, 210, 254, 236, 54, 244, 81, 240, 210, 254, 236, 54, 219, 125, 240,
- 210, 254, 236, 54, 220, 122, 240, 210, 254, 236, 54, 245, 193, 240, 210,
- 254, 236, 54, 228, 200, 240, 210, 254, 236, 54, 123, 216, 147, 254, 236,
- 54, 113, 216, 147, 254, 236, 54, 134, 216, 147, 254, 236, 54, 244, 11,
- 216, 147, 254, 236, 54, 244, 81, 216, 147, 254, 236, 54, 219, 125, 216,
- 147, 254, 236, 54, 220, 122, 216, 147, 254, 236, 54, 245, 193, 216, 147,
- 254, 236, 54, 228, 200, 216, 147, 254, 236, 54, 216, 248, 216, 147, 254,
- 236, 54, 215, 74, 216, 147, 254, 236, 54, 216, 163, 216, 147, 254, 236,
- 54, 244, 16, 216, 147, 254, 236, 54, 244, 115, 216, 147, 254, 236, 54,
- 219, 112, 216, 147, 254, 236, 54, 220, 117, 216, 147, 254, 236, 54, 245,
- 185, 216, 147, 254, 236, 54, 228, 196, 216, 147, 254, 236, 212, 14, 252,
- 128, 214, 173, 254, 236, 212, 14, 244, 92, 218, 59, 254, 236, 212, 14,
- 221, 176, 218, 59, 254, 236, 212, 14, 216, 169, 218, 59, 254, 236, 212,
- 14, 244, 4, 218, 59, 254, 236, 246, 81, 231, 90, 244, 92, 218, 59, 254,
- 236, 232, 199, 231, 90, 244, 92, 218, 59, 254, 236, 231, 90, 221, 176,
- 218, 59, 254, 236, 231, 90, 216, 169, 218, 59, 26, 255, 6, 253, 194, 123,
- 224, 21, 26, 255, 6, 253, 194, 123, 242, 27, 26, 255, 6, 253, 194, 123,
- 246, 100, 26, 255, 6, 253, 194, 189, 26, 255, 6, 253, 194, 244, 114, 26,
- 255, 6, 253, 194, 244, 81, 240, 210, 26, 255, 6, 253, 194, 244, 81, 216,
- 147, 26, 255, 6, 253, 194, 244, 115, 216, 147, 26, 255, 6, 253, 194, 244,
- 81, 217, 67, 26, 255, 6, 253, 194, 216, 248, 217, 67, 26, 255, 6, 253,
- 194, 244, 115, 217, 67, 26, 255, 6, 253, 194, 123, 240, 211, 217, 67, 26,
- 255, 6, 253, 194, 244, 81, 240, 211, 217, 67, 26, 255, 6, 253, 194, 123,
- 216, 148, 217, 67, 26, 255, 6, 253, 194, 244, 81, 216, 148, 217, 67, 26,
- 255, 6, 253, 194, 244, 81, 218, 150, 26, 255, 6, 253, 194, 216, 248, 218,
- 150, 26, 255, 6, 253, 194, 244, 115, 218, 150, 26, 255, 6, 253, 194, 123,
- 240, 211, 218, 150, 26, 255, 6, 253, 194, 244, 81, 240, 211, 218, 150,
- 26, 255, 6, 253, 194, 123, 216, 148, 218, 150, 26, 255, 6, 253, 194, 216,
- 248, 216, 148, 218, 150, 26, 255, 6, 253, 194, 244, 115, 216, 148, 218,
- 150, 26, 255, 6, 253, 194, 216, 248, 230, 164, 26, 255, 6, 241, 205, 123,
- 225, 31, 26, 255, 6, 216, 181, 110, 26, 255, 6, 241, 201, 110, 26, 255,
- 6, 245, 104, 105, 26, 255, 6, 216, 181, 105, 26, 255, 6, 249, 65, 113,
- 246, 99, 26, 255, 6, 245, 104, 113, 246, 99, 26, 255, 6, 215, 203, 189,
- 26, 255, 6, 215, 203, 216, 247, 26, 255, 6, 215, 203, 216, 248, 254, 141,
- 17, 26, 255, 6, 241, 201, 216, 247, 26, 255, 6, 231, 41, 216, 247, 26,
- 255, 6, 216, 181, 216, 247, 26, 255, 6, 216, 181, 216, 162, 26, 255, 6,
- 215, 203, 244, 114, 26, 255, 6, 215, 203, 244, 115, 254, 141, 17, 26,
- 255, 6, 241, 201, 244, 114, 26, 255, 6, 216, 181, 244, 114, 26, 255, 6,
- 216, 181, 123, 240, 210, 26, 255, 6, 216, 181, 134, 240, 210, 26, 255, 6,
- 245, 104, 244, 81, 240, 210, 26, 255, 6, 215, 203, 244, 81, 240, 210, 26,
- 255, 6, 216, 181, 244, 81, 240, 210, 26, 255, 6, 250, 227, 244, 81, 240,
- 210, 26, 255, 6, 229, 182, 244, 81, 240, 210, 26, 255, 6, 216, 181, 123,
- 216, 147, 26, 255, 6, 216, 181, 244, 81, 216, 147, 26, 255, 6, 248, 57,
- 244, 81, 230, 164, 26, 255, 6, 218, 118, 244, 115, 230, 164, 26, 123,
- 163, 50, 26, 123, 163, 5, 254, 141, 17, 26, 113, 216, 167, 50, 26, 134,
- 224, 20, 50, 26, 211, 45, 50, 26, 217, 68, 50, 26, 246, 101, 50, 26, 226,
- 246, 50, 26, 113, 226, 245, 50, 26, 134, 226, 245, 50, 26, 244, 11, 226,
- 245, 50, 26, 244, 81, 226, 245, 50, 26, 231, 35, 50, 26, 233, 157, 252,
- 128, 50, 26, 232, 194, 50, 26, 226, 131, 50, 26, 211, 159, 50, 26, 253,
- 243, 50, 26, 254, 0, 50, 26, 242, 144, 50, 26, 215, 186, 252, 128, 50,
- 26, 210, 87, 50, 222, 198, 220, 113, 50, 222, 198, 214, 185, 50, 222,
- 198, 220, 142, 50, 222, 198, 220, 111, 50, 222, 198, 247, 213, 220, 111,
- 50, 222, 198, 219, 168, 50, 222, 198, 248, 53, 50, 222, 198, 224, 6, 50,
- 222, 198, 220, 129, 50, 222, 198, 246, 60, 50, 222, 198, 253, 238, 50,
- 222, 198, 250, 171, 50, 225, 143, 247, 191, 5, 225, 213, 225, 143, 247,
- 191, 5, 225, 24, 241, 235, 225, 143, 247, 191, 5, 217, 45, 241, 235, 225,
- 143, 247, 191, 5, 250, 247, 225, 143, 247, 191, 5, 250, 101, 225, 143,
- 247, 191, 5, 211, 221, 225, 143, 247, 191, 5, 241, 211, 225, 143, 247,
- 191, 5, 243, 85, 225, 143, 247, 191, 5, 216, 116, 225, 143, 247, 191, 5,
- 74, 225, 143, 247, 191, 5, 251, 169, 225, 143, 247, 191, 5, 220, 29, 225,
- 143, 247, 191, 5, 249, 244, 225, 143, 247, 191, 5, 231, 184, 225, 143,
- 247, 191, 5, 231, 136, 225, 143, 247, 191, 5, 221, 216, 225, 143, 247,
- 191, 5, 232, 237, 225, 143, 247, 191, 5, 251, 188, 225, 143, 247, 191, 5,
- 250, 231, 225, 35, 225, 143, 247, 191, 5, 247, 133, 225, 143, 247, 191,
- 5, 249, 223, 225, 143, 247, 191, 5, 219, 87, 225, 143, 247, 191, 5, 249,
- 224, 225, 143, 247, 191, 5, 252, 63, 225, 143, 247, 191, 5, 220, 16, 225,
- 143, 247, 191, 5, 240, 248, 225, 143, 247, 191, 5, 241, 178, 225, 143,
- 247, 191, 5, 251, 112, 233, 36, 225, 143, 247, 191, 5, 250, 224, 225,
- 143, 247, 191, 5, 223, 153, 225, 143, 247, 191, 5, 245, 230, 225, 143,
- 247, 191, 5, 246, 107, 225, 143, 247, 191, 5, 215, 105, 225, 143, 247,
- 191, 5, 252, 66, 225, 143, 247, 191, 5, 225, 36, 215, 235, 225, 143, 247,
- 191, 5, 213, 159, 225, 143, 247, 191, 5, 226, 18, 225, 143, 247, 191, 5,
- 222, 190, 225, 143, 247, 191, 5, 232, 224, 225, 143, 247, 191, 5, 226,
- 115, 252, 184, 225, 143, 247, 191, 5, 244, 48, 225, 143, 247, 191, 5,
- 242, 138, 225, 143, 247, 191, 5, 218, 119, 225, 143, 247, 191, 5, 4, 253,
- 168, 225, 143, 247, 191, 5, 212, 32, 252, 148, 225, 143, 247, 191, 5, 38,
- 226, 248, 91, 232, 60, 1, 61, 232, 60, 1, 75, 232, 60, 1, 253, 158, 232,
- 60, 1, 252, 19, 232, 60, 1, 243, 202, 232, 60, 1, 249, 60, 232, 60, 1,
- 73, 232, 60, 1, 212, 98, 232, 60, 1, 210, 159, 232, 60, 1, 216, 210, 232,
- 60, 1, 235, 144, 232, 60, 1, 235, 23, 232, 60, 1, 224, 96, 232, 60, 1,
- 156, 232, 60, 1, 193, 232, 60, 1, 230, 25, 232, 60, 1, 230, 166, 232, 60,
- 1, 228, 111, 232, 60, 1, 70, 232, 60, 1, 226, 105, 232, 60, 1, 234, 47,
- 232, 60, 1, 153, 232, 60, 1, 222, 91, 232, 60, 1, 217, 152, 232, 60, 1,
- 215, 159, 232, 60, 1, 254, 123, 232, 60, 1, 245, 150, 232, 60, 1, 242,
- 60, 232, 60, 1, 211, 178, 250, 237, 1, 61, 250, 237, 1, 226, 91, 250,
- 237, 1, 249, 60, 250, 237, 1, 156, 250, 237, 1, 214, 116, 250, 237, 1,
- 153, 250, 237, 1, 233, 62, 250, 237, 1, 255, 75, 250, 237, 1, 224, 96,
- 250, 237, 1, 253, 158, 250, 237, 1, 193, 250, 237, 1, 76, 250, 237, 1,
- 248, 223, 250, 237, 1, 217, 152, 250, 237, 1, 220, 104, 250, 237, 1, 220,
- 103, 250, 237, 1, 222, 91, 250, 237, 1, 251, 65, 250, 237, 1, 70, 250,
- 237, 1, 228, 111, 250, 237, 1, 211, 178, 250, 237, 1, 230, 25, 250, 237,
- 1, 215, 158, 250, 237, 1, 226, 105, 250, 237, 1, 218, 226, 250, 237, 1,
- 73, 250, 237, 1, 75, 250, 237, 1, 214, 113, 250, 237, 1, 235, 23, 250,
- 237, 1, 235, 14, 250, 237, 1, 229, 150, 250, 237, 1, 214, 118, 250, 237,
- 1, 243, 202, 250, 237, 1, 243, 137, 250, 237, 1, 218, 168, 250, 237, 1,
- 218, 167, 250, 237, 1, 229, 79, 250, 237, 1, 236, 33, 250, 237, 1, 251,
- 64, 250, 237, 1, 215, 159, 250, 237, 1, 214, 115, 250, 237, 1, 222, 180,
- 250, 237, 1, 231, 129, 250, 237, 1, 231, 128, 250, 237, 1, 231, 127, 250,
- 237, 1, 231, 126, 250, 237, 1, 233, 61, 250, 237, 1, 245, 234, 250, 237,
- 1, 214, 114, 55, 32, 1, 61, 55, 32, 1, 252, 75, 55, 32, 1, 234, 182, 55,
- 32, 1, 248, 90, 55, 32, 1, 75, 55, 32, 1, 213, 255, 55, 32, 1, 210, 94,
- 55, 32, 1, 241, 238, 55, 32, 1, 216, 195, 55, 32, 1, 73, 55, 32, 1, 176,
- 55, 32, 1, 245, 174, 55, 32, 1, 245, 159, 55, 32, 1, 245, 150, 55, 32, 1,
- 245, 75, 55, 32, 1, 76, 55, 32, 1, 225, 221, 55, 32, 1, 220, 63, 55, 32,
- 1, 233, 217, 55, 32, 1, 245, 92, 55, 32, 1, 245, 82, 55, 32, 1, 217, 22,
- 55, 32, 1, 70, 55, 32, 1, 245, 177, 55, 32, 1, 225, 136, 55, 32, 1, 234,
- 119, 55, 32, 1, 245, 202, 55, 32, 1, 245, 84, 55, 32, 1, 250, 131, 55,
- 32, 1, 236, 33, 55, 32, 1, 214, 118, 55, 32, 227, 198, 110, 55, 32, 227,
- 198, 189, 55, 32, 227, 198, 216, 247, 55, 32, 227, 198, 244, 114, 242,
- 153, 1, 254, 204, 242, 153, 1, 252, 163, 242, 153, 1, 242, 211, 242, 153,
- 1, 248, 204, 242, 153, 1, 254, 200, 242, 153, 1, 224, 79, 242, 153, 1,
- 235, 155, 242, 153, 1, 242, 39, 242, 153, 1, 216, 158, 242, 153, 1, 245,
- 183, 242, 153, 1, 233, 190, 242, 153, 1, 233, 113, 242, 153, 1, 231, 179,
- 242, 153, 1, 229, 184, 242, 153, 1, 235, 119, 242, 153, 1, 214, 136, 242,
- 153, 1, 226, 69, 242, 153, 1, 228, 195, 242, 153, 1, 223, 165, 242, 153,
- 1, 221, 218, 242, 153, 1, 217, 4, 242, 153, 1, 211, 234, 242, 153, 1,
- 244, 178, 242, 153, 1, 236, 37, 242, 153, 1, 240, 199, 242, 153, 1, 226,
- 139, 242, 153, 1, 228, 200, 240, 210, 214, 209, 1, 254, 147, 214, 209, 1,
- 252, 26, 214, 209, 1, 243, 108, 214, 209, 1, 234, 132, 214, 209, 1, 248,
- 54, 214, 209, 1, 241, 68, 214, 209, 1, 211, 227, 214, 209, 1, 210, 85,
- 214, 209, 1, 240, 241, 214, 209, 1, 216, 230, 214, 209, 1, 210, 233, 214,
- 209, 1, 234, 250, 214, 209, 1, 220, 20, 214, 209, 1, 233, 98, 214, 209,
- 1, 231, 65, 214, 209, 1, 248, 21, 214, 209, 1, 227, 194, 214, 209, 1,
- 210, 13, 214, 209, 1, 221, 248, 214, 209, 1, 254, 196, 214, 209, 1, 224,
- 150, 214, 209, 1, 222, 25, 214, 209, 1, 224, 35, 214, 209, 1, 223, 144,
- 214, 209, 1, 216, 199, 214, 209, 1, 242, 244, 214, 209, 1, 111, 214, 209,
- 1, 73, 214, 209, 1, 70, 214, 209, 1, 218, 179, 214, 209, 211, 209, 247,
- 172, 55, 225, 169, 5, 61, 55, 225, 169, 5, 73, 55, 225, 169, 5, 70, 55,
- 225, 169, 5, 176, 55, 225, 169, 5, 233, 217, 55, 225, 169, 5, 243, 135,
- 55, 225, 169, 5, 242, 113, 55, 225, 169, 5, 211, 165, 55, 225, 169, 5,
- 251, 33, 55, 225, 169, 5, 235, 141, 55, 225, 169, 5, 235, 108, 55, 225,
- 169, 5, 217, 105, 55, 225, 169, 5, 215, 118, 55, 225, 169, 5, 248, 221,
- 55, 225, 169, 5, 248, 3, 55, 225, 169, 5, 246, 78, 55, 225, 169, 5, 216,
- 208, 55, 225, 169, 5, 190, 55, 225, 169, 5, 252, 191, 55, 225, 169, 5,
- 244, 196, 55, 225, 169, 5, 197, 55, 225, 169, 5, 227, 237, 55, 225, 169,
- 5, 184, 55, 225, 169, 5, 230, 230, 55, 225, 169, 5, 230, 102, 55, 225,
- 169, 5, 191, 55, 225, 169, 5, 214, 27, 55, 225, 169, 5, 213, 176, 55,
- 225, 169, 5, 205, 55, 225, 169, 5, 222, 140, 55, 225, 169, 5, 233, 135,
- 55, 225, 169, 5, 206, 55, 225, 169, 5, 210, 116, 55, 225, 169, 5, 220,
- 102, 55, 225, 169, 5, 218, 223, 55, 225, 169, 5, 162, 55, 225, 169, 5,
- 253, 186, 55, 225, 169, 5, 253, 185, 55, 225, 169, 5, 253, 184, 55, 225,
- 169, 5, 211, 142, 55, 225, 169, 5, 248, 200, 55, 225, 169, 5, 248, 199,
- 55, 225, 169, 5, 252, 170, 55, 225, 169, 5, 251, 85, 55, 225, 169, 211,
- 209, 247, 172, 55, 225, 169, 54, 110, 55, 225, 169, 54, 105, 55, 225,
- 169, 54, 216, 247, 55, 225, 169, 54, 215, 73, 55, 225, 169, 54, 240, 210,
+ 151, 2, 79, 40, 17, 10, 27, 244, 144, 2, 66, 2, 79, 40, 17, 10, 27, 252,
+ 56, 2, 122, 2, 79, 40, 17, 10, 27, 234, 252, 2, 66, 2, 66, 65, 17, 10,
+ 27, 254, 198, 2, 151, 2, 66, 65, 17, 10, 27, 222, 28, 2, 66, 2, 66, 65,
+ 17, 10, 27, 221, 168, 2, 234, 131, 2, 79, 40, 17, 10, 27, 228, 64, 2,
+ 151, 2, 79, 40, 17, 10, 27, 222, 5, 214, 128, 253, 239, 234, 5, 218, 131,
+ 5, 53, 17, 10, 27, 224, 79, 214, 128, 253, 239, 234, 5, 218, 131, 5, 53,
+ 17, 10, 27, 254, 154, 53, 17, 10, 27, 254, 184, 53, 17, 10, 27, 230, 154,
+ 53, 17, 10, 27, 222, 6, 53, 17, 10, 27, 223, 144, 53, 17, 10, 27, 254,
+ 173, 53, 17, 10, 27, 212, 49, 53, 17, 10, 27, 222, 5, 53, 17, 10, 27,
+ 222, 4, 254, 173, 212, 48, 10, 27, 235, 135, 223, 35, 50, 10, 27, 251,
+ 231, 254, 40, 254, 41, 45, 221, 157, 45, 221, 46, 45, 220, 234, 45, 220,
+ 223, 45, 220, 212, 45, 220, 201, 45, 220, 190, 45, 220, 179, 45, 220,
+ 168, 45, 221, 156, 45, 221, 145, 45, 221, 134, 45, 221, 123, 45, 221,
+ 112, 45, 221, 101, 45, 221, 90, 224, 195, 244, 21, 31, 67, 249, 220, 224,
+ 195, 244, 21, 31, 67, 109, 249, 220, 224, 195, 244, 21, 31, 67, 109, 243,
+ 230, 218, 130, 224, 195, 244, 21, 31, 67, 249, 227, 224, 195, 244, 21,
+ 31, 67, 220, 151, 224, 195, 244, 21, 31, 67, 245, 32, 78, 224, 195, 244,
+ 21, 31, 67, 224, 14, 78, 224, 195, 244, 21, 31, 67, 43, 71, 233, 21, 127,
+ 224, 195, 244, 21, 31, 67, 44, 71, 233, 21, 251, 157, 224, 195, 244, 21,
+ 31, 67, 203, 245, 164, 38, 27, 43, 242, 28, 38, 27, 44, 242, 28, 38, 52,
+ 216, 90, 43, 242, 28, 38, 52, 216, 90, 44, 242, 28, 38, 231, 234, 43,
+ 242, 28, 38, 231, 234, 44, 242, 28, 38, 249, 198, 231, 233, 224, 195,
+ 244, 21, 31, 67, 113, 59, 233, 57, 224, 195, 244, 21, 31, 67, 245, 161,
+ 248, 157, 224, 195, 244, 21, 31, 67, 245, 152, 248, 157, 224, 195, 244,
+ 21, 31, 67, 121, 232, 214, 224, 195, 244, 21, 31, 67, 212, 32, 121, 232,
+ 214, 224, 195, 244, 21, 31, 67, 43, 226, 4, 224, 195, 244, 21, 31, 67,
+ 44, 226, 4, 224, 195, 244, 21, 31, 67, 43, 249, 100, 127, 224, 195, 244,
+ 21, 31, 67, 44, 249, 100, 127, 224, 195, 244, 21, 31, 67, 43, 216, 7,
+ 220, 54, 127, 224, 195, 244, 21, 31, 67, 44, 216, 7, 220, 54, 127, 224,
+ 195, 244, 21, 31, 67, 43, 85, 233, 21, 127, 224, 195, 244, 21, 31, 67,
+ 44, 85, 233, 21, 127, 224, 195, 244, 21, 31, 67, 43, 52, 254, 111, 127,
+ 224, 195, 244, 21, 31, 67, 44, 52, 254, 111, 127, 224, 195, 244, 21, 31,
+ 67, 43, 254, 111, 127, 224, 195, 244, 21, 31, 67, 44, 254, 111, 127, 224,
+ 195, 244, 21, 31, 67, 43, 249, 162, 127, 224, 195, 244, 21, 31, 67, 44,
+ 249, 162, 127, 224, 195, 244, 21, 31, 67, 43, 71, 249, 162, 127, 224,
+ 195, 244, 21, 31, 67, 44, 71, 249, 162, 127, 220, 132, 247, 121, 71, 220,
+ 132, 247, 121, 224, 195, 244, 21, 31, 67, 43, 42, 127, 224, 195, 244, 21,
+ 31, 67, 44, 42, 127, 248, 156, 226, 120, 250, 173, 226, 120, 212, 32,
+ 226, 120, 52, 212, 32, 226, 120, 248, 156, 121, 232, 214, 250, 173, 121,
+ 232, 214, 212, 32, 121, 232, 214, 4, 249, 220, 4, 109, 249, 220, 4, 243,
+ 230, 218, 130, 4, 220, 151, 4, 249, 227, 4, 224, 14, 78, 4, 245, 32, 78,
+ 4, 245, 161, 248, 157, 4, 43, 226, 4, 4, 44, 226, 4, 4, 43, 249, 100,
+ 127, 4, 44, 249, 100, 127, 4, 43, 216, 7, 220, 54, 127, 4, 44, 216, 7,
+ 220, 54, 127, 4, 54, 50, 4, 254, 127, 4, 253, 217, 4, 96, 50, 4, 240,
+ 168, 4, 233, 16, 50, 4, 242, 131, 50, 4, 245, 99, 50, 4, 223, 51, 219,
+ 47, 4, 247, 133, 50, 4, 225, 183, 50, 4, 249, 218, 253, 207, 10, 244,
+ 165, 53, 17, 10, 217, 45, 2, 244, 165, 48, 10, 248, 184, 53, 17, 10, 217,
+ 79, 244, 2, 10, 234, 205, 53, 17, 10, 244, 167, 53, 17, 10, 244, 167,
+ 147, 17, 10, 248, 186, 53, 17, 10, 248, 186, 147, 17, 10, 234, 207, 53,
+ 17, 10, 234, 207, 147, 17, 10, 220, 95, 53, 17, 10, 220, 95, 147, 17, 10,
+ 218, 47, 53, 17, 10, 218, 47, 147, 17, 10, 1, 202, 53, 17, 10, 1, 112, 2,
+ 231, 229, 77, 53, 17, 10, 1, 112, 2, 231, 229, 77, 40, 17, 10, 1, 112, 2,
+ 202, 77, 53, 17, 10, 1, 112, 2, 202, 77, 40, 17, 10, 1, 212, 31, 2, 202,
+ 77, 53, 17, 10, 1, 212, 31, 2, 202, 77, 40, 17, 10, 1, 112, 2, 202, 252,
+ 44, 53, 17, 10, 1, 112, 2, 202, 252, 44, 40, 17, 10, 1, 79, 2, 202, 77,
+ 53, 17, 10, 1, 79, 2, 202, 77, 40, 17, 10, 1, 79, 2, 202, 77, 65, 17, 10,
+ 1, 79, 2, 202, 77, 147, 17, 10, 1, 112, 53, 17, 10, 1, 112, 40, 17, 10,
+ 1, 252, 56, 53, 17, 10, 1, 252, 56, 40, 17, 10, 1, 252, 56, 65, 17, 10,
+ 1, 252, 56, 147, 17, 10, 1, 217, 9, 231, 166, 53, 17, 10, 1, 217, 9, 231,
+ 166, 40, 17, 10, 1, 217, 9, 53, 17, 10, 1, 217, 9, 40, 17, 10, 1, 217, 9,
+ 65, 17, 10, 1, 217, 9, 147, 17, 10, 1, 216, 194, 53, 17, 10, 1, 216, 194,
+ 40, 17, 10, 1, 216, 194, 65, 17, 10, 1, 216, 194, 147, 17, 10, 1, 151,
+ 53, 17, 10, 1, 151, 40, 17, 10, 1, 151, 65, 17, 10, 1, 151, 147, 17, 10,
+ 1, 122, 53, 17, 10, 1, 122, 40, 17, 10, 1, 122, 65, 17, 10, 1, 122, 147,
+ 17, 10, 1, 234, 131, 53, 17, 10, 1, 234, 131, 40, 17, 10, 1, 234, 131,
+ 65, 17, 10, 1, 234, 131, 147, 17, 10, 1, 248, 197, 53, 17, 10, 1, 248,
+ 197, 40, 17, 10, 1, 216, 204, 53, 17, 10, 1, 216, 204, 40, 17, 10, 1,
+ 223, 97, 53, 17, 10, 1, 223, 97, 40, 17, 10, 1, 210, 109, 53, 17, 10, 1,
+ 210, 109, 40, 17, 10, 1, 221, 168, 53, 17, 10, 1, 221, 168, 40, 17, 10,
+ 1, 221, 168, 65, 17, 10, 1, 221, 168, 147, 17, 10, 1, 220, 61, 53, 17,
+ 10, 1, 220, 61, 40, 17, 10, 1, 220, 61, 65, 17, 10, 1, 220, 61, 147, 17,
+ 10, 1, 222, 28, 53, 17, 10, 1, 222, 28, 40, 17, 10, 1, 222, 28, 65, 17,
+ 10, 1, 222, 28, 147, 17, 10, 1, 248, 218, 53, 17, 10, 1, 248, 218, 40,
+ 17, 10, 1, 248, 218, 65, 17, 10, 1, 248, 218, 147, 17, 10, 1, 217, 82,
+ 53, 17, 10, 1, 217, 82, 40, 17, 10, 1, 217, 82, 65, 17, 10, 1, 217, 82,
+ 147, 17, 10, 1, 210, 112, 53, 17, 10, 1, 210, 112, 40, 17, 10, 1, 210,
+ 112, 65, 17, 10, 1, 210, 112, 147, 17, 10, 1, 254, 198, 53, 17, 10, 1,
+ 254, 198, 40, 17, 10, 1, 254, 198, 65, 17, 10, 1, 254, 198, 147, 17, 10,
+ 1, 242, 246, 53, 17, 10, 1, 242, 246, 40, 17, 10, 1, 242, 246, 65, 17,
+ 10, 1, 242, 246, 147, 17, 10, 1, 244, 144, 53, 17, 10, 1, 244, 144, 40,
+ 17, 10, 1, 244, 144, 65, 17, 10, 1, 244, 144, 147, 17, 10, 1, 224, 83,
+ 53, 17, 10, 1, 224, 83, 40, 17, 10, 1, 224, 83, 65, 17, 10, 1, 224, 83,
+ 147, 17, 10, 1, 234, 252, 53, 17, 10, 1, 234, 252, 40, 17, 10, 1, 234,
+ 252, 65, 17, 10, 1, 234, 252, 147, 17, 10, 1, 233, 104, 53, 17, 10, 1,
+ 233, 104, 40, 17, 10, 1, 233, 104, 65, 17, 10, 1, 233, 104, 147, 17, 10,
+ 1, 66, 53, 17, 10, 1, 66, 40, 17, 10, 1, 66, 65, 17, 10, 1, 66, 147, 17,
+ 10, 1, 228, 64, 53, 17, 10, 1, 228, 64, 40, 17, 10, 1, 228, 64, 65, 17,
+ 10, 1, 228, 64, 147, 17, 10, 1, 241, 220, 53, 17, 10, 1, 241, 220, 40,
+ 17, 10, 1, 241, 220, 65, 17, 10, 1, 241, 220, 147, 17, 10, 1, 212, 31,
+ 53, 17, 10, 1, 212, 31, 40, 17, 10, 1, 112, 231, 194, 53, 17, 10, 1, 112,
+ 231, 194, 40, 17, 10, 1, 79, 53, 17, 10, 1, 79, 40, 17, 10, 1, 79, 65,
+ 17, 10, 1, 79, 147, 17, 10, 27, 233, 104, 2, 112, 2, 231, 229, 77, 53,
+ 17, 10, 27, 233, 104, 2, 112, 2, 231, 229, 77, 40, 17, 10, 27, 233, 104,
+ 2, 112, 2, 202, 77, 53, 17, 10, 27, 233, 104, 2, 112, 2, 202, 77, 40, 17,
+ 10, 27, 233, 104, 2, 112, 2, 202, 252, 44, 53, 17, 10, 27, 233, 104, 2,
+ 112, 2, 202, 252, 44, 40, 17, 10, 27, 233, 104, 2, 112, 53, 17, 10, 27,
+ 233, 104, 2, 112, 40, 17, 210, 87, 211, 245, 228, 74, 219, 19, 126, 245,
+ 32, 78, 126, 223, 255, 78, 126, 54, 50, 126, 247, 133, 50, 126, 225, 183,
+ 50, 126, 254, 127, 126, 254, 58, 126, 43, 226, 4, 126, 44, 226, 4, 126,
+ 253, 217, 126, 96, 50, 126, 249, 220, 126, 240, 168, 126, 243, 230, 218,
+ 130, 126, 219, 47, 126, 21, 210, 86, 126, 21, 110, 126, 21, 105, 126, 21,
+ 158, 126, 21, 161, 126, 21, 189, 126, 21, 194, 126, 21, 198, 126, 21,
+ 195, 126, 21, 200, 126, 249, 227, 126, 220, 151, 126, 233, 16, 50, 126,
+ 245, 99, 50, 126, 242, 131, 50, 126, 224, 14, 78, 126, 249, 218, 253,
+ 207, 126, 7, 6, 1, 61, 126, 7, 6, 1, 253, 159, 126, 7, 6, 1, 251, 67,
+ 126, 7, 6, 1, 249, 61, 126, 7, 6, 1, 75, 126, 7, 6, 1, 245, 7, 126, 7, 6,
+ 1, 243, 203, 126, 7, 6, 1, 242, 61, 126, 7, 6, 1, 73, 126, 7, 6, 1, 235,
+ 145, 126, 7, 6, 1, 235, 24, 126, 7, 6, 1, 156, 126, 7, 6, 1, 193, 126, 7,
+ 6, 1, 230, 26, 126, 7, 6, 1, 76, 126, 7, 6, 1, 226, 106, 126, 7, 6, 1,
+ 224, 97, 126, 7, 6, 1, 153, 126, 7, 6, 1, 222, 92, 126, 7, 6, 1, 217,
+ 153, 126, 7, 6, 1, 70, 126, 7, 6, 1, 214, 105, 126, 7, 6, 1, 212, 98,
+ 126, 7, 6, 1, 211, 178, 126, 7, 6, 1, 211, 117, 126, 7, 6, 1, 210, 159,
+ 126, 43, 42, 127, 126, 223, 51, 219, 47, 126, 44, 42, 127, 126, 250, 32,
+ 255, 15, 126, 121, 232, 214, 126, 242, 138, 255, 15, 126, 7, 4, 1, 61,
+ 126, 7, 4, 1, 253, 159, 126, 7, 4, 1, 251, 67, 126, 7, 4, 1, 249, 61,
+ 126, 7, 4, 1, 75, 126, 7, 4, 1, 245, 7, 126, 7, 4, 1, 243, 203, 126, 7,
+ 4, 1, 242, 61, 126, 7, 4, 1, 73, 126, 7, 4, 1, 235, 145, 126, 7, 4, 1,
+ 235, 24, 126, 7, 4, 1, 156, 126, 7, 4, 1, 193, 126, 7, 4, 1, 230, 26,
+ 126, 7, 4, 1, 76, 126, 7, 4, 1, 226, 106, 126, 7, 4, 1, 224, 97, 126, 7,
+ 4, 1, 153, 126, 7, 4, 1, 222, 92, 126, 7, 4, 1, 217, 153, 126, 7, 4, 1,
+ 70, 126, 7, 4, 1, 214, 105, 126, 7, 4, 1, 212, 98, 126, 7, 4, 1, 211,
+ 178, 126, 7, 4, 1, 211, 117, 126, 7, 4, 1, 210, 159, 126, 43, 249, 100,
+ 127, 126, 67, 232, 214, 126, 44, 249, 100, 127, 126, 183, 126, 43, 71,
+ 226, 4, 126, 44, 71, 226, 4, 101, 109, 243, 230, 218, 130, 101, 43, 249,
+ 162, 127, 101, 44, 249, 162, 127, 101, 109, 249, 220, 101, 56, 230, 225,
+ 247, 121, 101, 56, 1, 211, 227, 101, 56, 1, 4, 61, 101, 56, 1, 4, 73,
+ 101, 56, 1, 4, 70, 101, 56, 1, 4, 75, 101, 56, 1, 4, 76, 101, 56, 1, 4,
+ 191, 101, 56, 1, 4, 210, 212, 101, 56, 1, 4, 210, 244, 101, 56, 1, 4,
+ 215, 119, 101, 234, 202, 224, 174, 219, 32, 78, 101, 56, 1, 61, 101, 56,
+ 1, 73, 101, 56, 1, 70, 101, 56, 1, 75, 101, 56, 1, 76, 101, 56, 1, 176,
+ 101, 56, 1, 234, 93, 101, 56, 1, 233, 218, 101, 56, 1, 234, 183, 101, 56,
+ 1, 234, 29, 101, 56, 1, 206, 101, 56, 1, 219, 192, 101, 56, 1, 218, 84,
+ 101, 56, 1, 221, 182, 101, 56, 1, 219, 59, 101, 56, 1, 217, 106, 101, 56,
+ 1, 216, 118, 101, 56, 1, 215, 119, 101, 56, 1, 217, 23, 101, 56, 1, 111,
+ 101, 56, 1, 197, 101, 56, 1, 228, 234, 101, 56, 1, 227, 238, 101, 56, 1,
+ 229, 108, 101, 56, 1, 228, 75, 101, 56, 1, 162, 101, 56, 1, 241, 181,
+ 101, 56, 1, 240, 223, 101, 56, 1, 241, 239, 101, 56, 1, 241, 69, 101, 56,
+ 1, 185, 101, 56, 1, 230, 231, 101, 56, 1, 230, 103, 101, 56, 1, 231, 92,
+ 101, 56, 1, 230, 162, 101, 56, 1, 191, 101, 56, 1, 210, 212, 101, 56, 1,
+ 210, 244, 101, 56, 1, 205, 101, 56, 1, 223, 36, 101, 56, 1, 222, 141,
+ 101, 56, 1, 223, 129, 101, 56, 1, 222, 212, 101, 56, 1, 212, 65, 101, 56,
+ 1, 230, 26, 101, 56, 213, 135, 219, 32, 78, 101, 56, 220, 156, 219, 32,
+ 78, 101, 24, 244, 104, 101, 24, 1, 234, 59, 101, 24, 1, 218, 216, 101,
+ 24, 1, 234, 52, 101, 24, 1, 228, 227, 101, 24, 1, 228, 225, 101, 24, 1,
+ 228, 224, 101, 24, 1, 216, 102, 101, 24, 1, 218, 205, 101, 24, 1, 223,
+ 27, 101, 24, 1, 223, 22, 101, 24, 1, 223, 19, 101, 24, 1, 223, 12, 101,
+ 24, 1, 223, 7, 101, 24, 1, 223, 2, 101, 24, 1, 223, 13, 101, 24, 1, 223,
+ 25, 101, 24, 1, 230, 218, 101, 24, 1, 225, 96, 101, 24, 1, 218, 213, 101,
+ 24, 1, 225, 85, 101, 24, 1, 219, 149, 101, 24, 1, 218, 210, 101, 24, 1,
+ 236, 57, 101, 24, 1, 250, 47, 101, 24, 1, 218, 220, 101, 24, 1, 250, 107,
+ 101, 24, 1, 234, 111, 101, 24, 1, 216, 174, 101, 24, 1, 225, 132, 101,
+ 24, 1, 241, 173, 101, 24, 1, 61, 101, 24, 1, 254, 244, 101, 24, 1, 191,
+ 101, 24, 1, 211, 92, 101, 24, 1, 245, 118, 101, 24, 1, 75, 101, 24, 1,
+ 211, 36, 101, 24, 1, 211, 47, 101, 24, 1, 76, 101, 24, 1, 212, 65, 101,
+ 24, 1, 212, 62, 101, 24, 1, 226, 235, 101, 24, 1, 210, 244, 101, 24, 1,
+ 70, 101, 24, 1, 212, 11, 101, 24, 1, 212, 22, 101, 24, 1, 211, 250, 101,
+ 24, 1, 210, 212, 101, 24, 1, 245, 56, 101, 24, 1, 211, 8, 101, 24, 1, 73,
+ 126, 250, 177, 50, 126, 224, 229, 50, 126, 228, 53, 50, 126, 231, 233,
+ 126, 251, 136, 130, 126, 211, 40, 50, 126, 211, 217, 50, 101, 244, 19,
+ 192, 213, 239, 101, 140, 74, 101, 214, 153, 74, 101, 97, 74, 101, 246,
+ 105, 74, 101, 85, 218, 235, 101, 71, 250, 36, 235, 205, 254, 100, 254,
+ 121, 235, 205, 254, 100, 220, 138, 235, 205, 254, 100, 216, 237, 226,
+ 250, 223, 73, 250, 143, 223, 73, 250, 143, 62, 57, 3, 253, 143, 61, 62,
+ 57, 3, 253, 112, 75, 62, 57, 3, 253, 121, 73, 62, 57, 3, 253, 89, 76, 62,
+ 57, 3, 253, 139, 70, 62, 57, 3, 253, 158, 248, 222, 62, 57, 3, 253, 105,
+ 248, 91, 62, 57, 3, 253, 145, 248, 4, 62, 57, 3, 253, 135, 247, 146, 62,
+ 57, 3, 253, 99, 246, 79, 62, 57, 3, 253, 93, 235, 142, 62, 57, 3, 253,
+ 104, 235, 127, 62, 57, 3, 253, 114, 235, 69, 62, 57, 3, 253, 85, 235, 52,
+ 62, 57, 3, 253, 73, 176, 62, 57, 3, 253, 106, 234, 183, 62, 57, 3, 253,
+ 83, 234, 93, 62, 57, 3, 253, 80, 234, 29, 62, 57, 3, 253, 69, 233, 218,
+ 62, 57, 3, 253, 70, 185, 62, 57, 3, 253, 136, 231, 92, 62, 57, 3, 253,
+ 77, 230, 231, 62, 57, 3, 253, 134, 230, 162, 62, 57, 3, 253, 126, 230,
+ 103, 62, 57, 3, 253, 147, 197, 62, 57, 3, 253, 125, 229, 108, 62, 57, 3,
+ 253, 119, 228, 234, 62, 57, 3, 253, 98, 228, 75, 62, 57, 3, 253, 95, 227,
+ 238, 62, 57, 3, 253, 154, 190, 62, 57, 3, 253, 78, 225, 222, 62, 57, 3,
+ 253, 111, 225, 109, 62, 57, 3, 253, 138, 225, 17, 62, 57, 3, 253, 100,
+ 224, 151, 62, 57, 3, 253, 133, 224, 89, 62, 57, 3, 253, 72, 224, 70, 62,
+ 57, 3, 253, 128, 224, 54, 62, 57, 3, 253, 117, 224, 43, 62, 57, 3, 253,
+ 90, 205, 62, 57, 3, 253, 122, 223, 129, 62, 57, 3, 253, 97, 223, 36, 62,
+ 57, 3, 253, 156, 222, 212, 62, 57, 3, 253, 123, 222, 141, 62, 57, 3, 253,
+ 118, 206, 62, 57, 3, 253, 141, 221, 182, 62, 57, 3, 253, 109, 219, 192,
+ 62, 57, 3, 253, 137, 219, 59, 62, 57, 3, 253, 92, 218, 84, 62, 57, 3,
+ 253, 91, 217, 106, 62, 57, 3, 253, 152, 217, 23, 62, 57, 3, 253, 113,
+ 216, 118, 62, 57, 3, 253, 150, 111, 62, 57, 3, 253, 81, 215, 119, 62, 57,
+ 3, 253, 96, 212, 65, 62, 57, 3, 253, 75, 212, 22, 62, 57, 3, 253, 110,
+ 211, 250, 62, 57, 3, 253, 108, 211, 227, 62, 57, 3, 253, 132, 210, 116,
+ 62, 57, 3, 253, 76, 210, 94, 62, 57, 3, 253, 129, 210, 23, 62, 57, 3,
+ 253, 124, 255, 76, 62, 57, 3, 253, 107, 255, 75, 62, 57, 3, 253, 66, 253,
+ 193, 62, 57, 3, 253, 79, 246, 47, 62, 57, 3, 253, 62, 246, 46, 62, 57, 3,
+ 253, 102, 227, 175, 62, 57, 3, 253, 120, 224, 149, 62, 57, 3, 253, 88,
+ 224, 153, 62, 57, 3, 253, 74, 223, 187, 62, 57, 3, 253, 116, 223, 186,
+ 62, 57, 3, 253, 82, 222, 211, 62, 57, 3, 253, 84, 217, 103, 62, 57, 3,
+ 253, 64, 215, 78, 62, 57, 3, 253, 61, 105, 62, 57, 16, 253, 131, 62, 57,
+ 16, 253, 130, 62, 57, 16, 253, 127, 62, 57, 16, 253, 115, 62, 57, 16,
+ 253, 103, 62, 57, 16, 253, 101, 62, 57, 16, 253, 94, 62, 57, 16, 253, 87,
+ 62, 57, 16, 253, 86, 62, 57, 16, 253, 71, 62, 57, 16, 253, 68, 62, 57,
+ 16, 253, 67, 62, 57, 16, 253, 65, 62, 57, 16, 253, 63, 62, 57, 106, 253,
+ 60, 231, 186, 62, 57, 106, 253, 59, 211, 221, 62, 57, 106, 253, 58, 248,
+ 75, 62, 57, 106, 253, 57, 245, 96, 62, 57, 106, 253, 56, 231, 160, 62,
+ 57, 106, 253, 55, 218, 163, 62, 57, 106, 253, 54, 245, 38, 62, 57, 106,
+ 253, 53, 223, 154, 62, 57, 106, 253, 52, 220, 63, 62, 57, 106, 253, 51,
+ 241, 238, 62, 57, 106, 253, 50, 219, 26, 62, 57, 106, 253, 49, 251, 204,
+ 62, 57, 106, 253, 48, 249, 146, 62, 57, 106, 253, 47, 251, 116, 62, 57,
+ 106, 253, 46, 212, 2, 62, 57, 106, 253, 45, 252, 137, 62, 57, 106, 253,
+ 44, 226, 206, 62, 57, 106, 253, 43, 218, 255, 62, 57, 106, 253, 42, 249,
+ 69, 62, 57, 230, 143, 253, 41, 234, 225, 62, 57, 230, 143, 253, 40, 234,
+ 233, 62, 57, 106, 253, 39, 226, 219, 62, 57, 106, 253, 38, 211, 236, 62,
+ 57, 106, 253, 37, 62, 57, 230, 143, 253, 36, 254, 18, 62, 57, 230, 143,
+ 253, 35, 231, 53, 62, 57, 106, 253, 34, 251, 135, 62, 57, 106, 253, 33,
+ 242, 167, 62, 57, 106, 253, 32, 62, 57, 106, 253, 31, 211, 212, 62, 57,
+ 106, 253, 30, 62, 57, 106, 253, 29, 62, 57, 106, 253, 28, 240, 249, 62,
+ 57, 106, 253, 27, 62, 57, 106, 253, 26, 62, 57, 106, 253, 25, 62, 57,
+ 230, 143, 253, 23, 215, 92, 62, 57, 106, 253, 22, 62, 57, 106, 253, 21,
+ 62, 57, 106, 253, 20, 249, 251, 62, 57, 106, 253, 19, 62, 57, 106, 253,
+ 18, 62, 57, 106, 253, 17, 243, 94, 62, 57, 106, 253, 16, 254, 5, 62, 57,
+ 106, 253, 15, 62, 57, 106, 253, 14, 62, 57, 106, 253, 13, 62, 57, 106,
+ 253, 12, 62, 57, 106, 253, 11, 62, 57, 106, 253, 10, 62, 57, 106, 253, 9,
+ 62, 57, 106, 253, 8, 62, 57, 106, 253, 7, 62, 57, 106, 253, 6, 230, 135,
+ 62, 57, 106, 253, 5, 62, 57, 106, 253, 4, 215, 236, 62, 57, 106, 253, 3,
+ 62, 57, 106, 253, 2, 62, 57, 106, 253, 1, 62, 57, 106, 253, 0, 62, 57,
+ 106, 252, 255, 62, 57, 106, 252, 254, 62, 57, 106, 252, 253, 62, 57, 106,
+ 252, 252, 62, 57, 106, 252, 251, 62, 57, 106, 252, 250, 62, 57, 106, 252,
+ 249, 62, 57, 106, 252, 248, 241, 212, 62, 57, 106, 252, 227, 244, 29, 62,
+ 57, 106, 252, 224, 252, 117, 62, 57, 106, 252, 219, 219, 6, 62, 57, 106,
+ 252, 218, 74, 62, 57, 106, 252, 217, 62, 57, 106, 252, 216, 217, 237, 62,
+ 57, 106, 252, 215, 62, 57, 106, 252, 214, 62, 57, 106, 252, 213, 211,
+ 254, 250, 140, 62, 57, 106, 252, 212, 250, 140, 62, 57, 106, 252, 211,
+ 250, 141, 244, 0, 62, 57, 106, 252, 210, 212, 0, 62, 57, 106, 252, 209,
+ 62, 57, 106, 252, 208, 62, 57, 230, 143, 252, 207, 247, 199, 62, 57, 106,
+ 252, 206, 62, 57, 106, 252, 205, 62, 57, 106, 252, 203, 62, 57, 106, 252,
+ 202, 62, 57, 106, 252, 201, 62, 57, 106, 252, 200, 248, 160, 62, 57, 106,
+ 252, 199, 62, 57, 106, 252, 198, 62, 57, 106, 252, 197, 62, 57, 106, 252,
+ 196, 62, 57, 106, 252, 195, 62, 57, 106, 213, 186, 253, 24, 62, 57, 106,
+ 213, 186, 252, 247, 62, 57, 106, 213, 186, 252, 246, 62, 57, 106, 213,
+ 186, 252, 245, 62, 57, 106, 213, 186, 252, 244, 62, 57, 106, 213, 186,
+ 252, 243, 62, 57, 106, 213, 186, 252, 242, 62, 57, 106, 213, 186, 252,
+ 241, 62, 57, 106, 213, 186, 252, 240, 62, 57, 106, 213, 186, 252, 239,
+ 62, 57, 106, 213, 186, 252, 238, 62, 57, 106, 213, 186, 252, 237, 62, 57,
+ 106, 213, 186, 252, 236, 62, 57, 106, 213, 186, 252, 235, 62, 57, 106,
+ 213, 186, 252, 234, 62, 57, 106, 213, 186, 252, 233, 62, 57, 106, 213,
+ 186, 252, 232, 62, 57, 106, 213, 186, 252, 231, 62, 57, 106, 213, 186,
+ 252, 230, 62, 57, 106, 213, 186, 252, 229, 62, 57, 106, 213, 186, 252,
+ 228, 62, 57, 106, 213, 186, 252, 226, 62, 57, 106, 213, 186, 252, 225,
+ 62, 57, 106, 213, 186, 252, 223, 62, 57, 106, 213, 186, 252, 222, 62, 57,
+ 106, 213, 186, 252, 221, 62, 57, 106, 213, 186, 252, 220, 62, 57, 106,
+ 213, 186, 252, 204, 62, 57, 106, 213, 186, 252, 194, 254, 237, 211, 209,
+ 220, 139, 232, 214, 254, 237, 211, 209, 220, 139, 247, 121, 254, 237,
+ 250, 131, 78, 254, 237, 54, 110, 254, 237, 54, 105, 254, 237, 54, 158,
+ 254, 237, 54, 161, 254, 237, 54, 189, 254, 237, 54, 194, 254, 237, 54,
+ 198, 254, 237, 54, 195, 254, 237, 54, 200, 254, 237, 54, 216, 248, 254,
+ 237, 54, 215, 73, 254, 237, 54, 216, 163, 254, 237, 54, 244, 16, 254,
+ 237, 54, 244, 115, 254, 237, 54, 219, 112, 254, 237, 54, 220, 117, 254,
+ 237, 54, 245, 185, 254, 237, 54, 228, 196, 254, 237, 54, 123, 240, 211,
+ 254, 237, 54, 113, 240, 211, 254, 237, 54, 134, 240, 211, 254, 237, 54,
+ 244, 12, 240, 211, 254, 237, 54, 244, 82, 240, 211, 254, 237, 54, 219,
+ 126, 240, 211, 254, 237, 54, 220, 123, 240, 211, 254, 237, 54, 245, 194,
+ 240, 211, 254, 237, 54, 228, 201, 240, 211, 254, 237, 54, 123, 216, 148,
+ 254, 237, 54, 113, 216, 148, 254, 237, 54, 134, 216, 148, 254, 237, 54,
+ 244, 12, 216, 148, 254, 237, 54, 244, 82, 216, 148, 254, 237, 54, 219,
+ 126, 216, 148, 254, 237, 54, 220, 123, 216, 148, 254, 237, 54, 245, 194,
+ 216, 148, 254, 237, 54, 228, 201, 216, 148, 254, 237, 54, 216, 249, 216,
+ 148, 254, 237, 54, 215, 74, 216, 148, 254, 237, 54, 216, 164, 216, 148,
+ 254, 237, 54, 244, 17, 216, 148, 254, 237, 54, 244, 116, 216, 148, 254,
+ 237, 54, 219, 113, 216, 148, 254, 237, 54, 220, 118, 216, 148, 254, 237,
+ 54, 245, 186, 216, 148, 254, 237, 54, 228, 197, 216, 148, 254, 237, 212,
+ 14, 252, 129, 214, 173, 254, 237, 212, 14, 244, 93, 218, 60, 254, 237,
+ 212, 14, 221, 177, 218, 60, 254, 237, 212, 14, 216, 170, 218, 60, 254,
+ 237, 212, 14, 244, 5, 218, 60, 254, 237, 246, 82, 231, 91, 244, 93, 218,
+ 60, 254, 237, 232, 200, 231, 91, 244, 93, 218, 60, 254, 237, 231, 91,
+ 221, 177, 218, 60, 254, 237, 231, 91, 216, 170, 218, 60, 26, 255, 7, 253,
+ 195, 123, 224, 22, 26, 255, 7, 253, 195, 123, 242, 28, 26, 255, 7, 253,
+ 195, 123, 246, 101, 26, 255, 7, 253, 195, 189, 26, 255, 7, 253, 195, 244,
+ 115, 26, 255, 7, 253, 195, 244, 82, 240, 211, 26, 255, 7, 253, 195, 244,
+ 82, 216, 148, 26, 255, 7, 253, 195, 244, 116, 216, 148, 26, 255, 7, 253,
+ 195, 244, 82, 217, 68, 26, 255, 7, 253, 195, 216, 249, 217, 68, 26, 255,
+ 7, 253, 195, 244, 116, 217, 68, 26, 255, 7, 253, 195, 123, 240, 212, 217,
+ 68, 26, 255, 7, 253, 195, 244, 82, 240, 212, 217, 68, 26, 255, 7, 253,
+ 195, 123, 216, 149, 217, 68, 26, 255, 7, 253, 195, 244, 82, 216, 149,
+ 217, 68, 26, 255, 7, 253, 195, 244, 82, 218, 151, 26, 255, 7, 253, 195,
+ 216, 249, 218, 151, 26, 255, 7, 253, 195, 244, 116, 218, 151, 26, 255, 7,
+ 253, 195, 123, 240, 212, 218, 151, 26, 255, 7, 253, 195, 244, 82, 240,
+ 212, 218, 151, 26, 255, 7, 253, 195, 123, 216, 149, 218, 151, 26, 255, 7,
+ 253, 195, 216, 249, 216, 149, 218, 151, 26, 255, 7, 253, 195, 244, 116,
+ 216, 149, 218, 151, 26, 255, 7, 253, 195, 216, 249, 230, 165, 26, 255, 7,
+ 241, 206, 123, 225, 32, 26, 255, 7, 216, 182, 110, 26, 255, 7, 241, 202,
+ 110, 26, 255, 7, 245, 105, 105, 26, 255, 7, 216, 182, 105, 26, 255, 7,
+ 249, 66, 113, 246, 100, 26, 255, 7, 245, 105, 113, 246, 100, 26, 255, 7,
+ 215, 204, 189, 26, 255, 7, 215, 204, 216, 248, 26, 255, 7, 215, 204, 216,
+ 249, 254, 142, 17, 26, 255, 7, 241, 202, 216, 248, 26, 255, 7, 231, 42,
+ 216, 248, 26, 255, 7, 216, 182, 216, 248, 26, 255, 7, 216, 182, 216, 163,
+ 26, 255, 7, 215, 204, 244, 115, 26, 255, 7, 215, 204, 244, 116, 254, 142,
+ 17, 26, 255, 7, 241, 202, 244, 115, 26, 255, 7, 216, 182, 244, 115, 26,
+ 255, 7, 216, 182, 123, 240, 211, 26, 255, 7, 216, 182, 134, 240, 211, 26,
+ 255, 7, 245, 105, 244, 82, 240, 211, 26, 255, 7, 215, 204, 244, 82, 240,
+ 211, 26, 255, 7, 216, 182, 244, 82, 240, 211, 26, 255, 7, 250, 228, 244,
+ 82, 240, 211, 26, 255, 7, 229, 183, 244, 82, 240, 211, 26, 255, 7, 216,
+ 182, 123, 216, 148, 26, 255, 7, 216, 182, 244, 82, 216, 148, 26, 255, 7,
+ 248, 58, 244, 82, 230, 165, 26, 255, 7, 218, 119, 244, 116, 230, 165, 26,
+ 123, 163, 50, 26, 123, 163, 5, 254, 142, 17, 26, 113, 216, 168, 50, 26,
+ 134, 224, 21, 50, 26, 211, 45, 50, 26, 217, 69, 50, 26, 246, 102, 50, 26,
+ 226, 247, 50, 26, 113, 226, 246, 50, 26, 134, 226, 246, 50, 26, 244, 12,
+ 226, 246, 50, 26, 244, 82, 226, 246, 50, 26, 231, 36, 50, 26, 233, 158,
+ 252, 129, 50, 26, 232, 195, 50, 26, 226, 132, 50, 26, 211, 159, 50, 26,
+ 253, 244, 50, 26, 254, 1, 50, 26, 242, 145, 50, 26, 215, 187, 252, 129,
+ 50, 26, 210, 87, 50, 222, 199, 220, 114, 50, 222, 199, 214, 185, 50, 222,
+ 199, 220, 143, 50, 222, 199, 220, 112, 50, 222, 199, 247, 214, 220, 112,
+ 50, 222, 199, 219, 169, 50, 222, 199, 248, 54, 50, 222, 199, 224, 7, 50,
+ 222, 199, 220, 130, 50, 222, 199, 246, 61, 50, 222, 199, 253, 239, 50,
+ 222, 199, 250, 172, 50, 225, 144, 247, 192, 5, 225, 214, 225, 144, 247,
+ 192, 5, 225, 25, 241, 236, 225, 144, 247, 192, 5, 217, 46, 241, 236, 225,
+ 144, 247, 192, 5, 250, 248, 225, 144, 247, 192, 5, 250, 102, 225, 144,
+ 247, 192, 5, 211, 221, 225, 144, 247, 192, 5, 241, 212, 225, 144, 247,
+ 192, 5, 243, 86, 225, 144, 247, 192, 5, 216, 117, 225, 144, 247, 192, 5,
+ 74, 225, 144, 247, 192, 5, 251, 170, 225, 144, 247, 192, 5, 220, 30, 225,
+ 144, 247, 192, 5, 249, 245, 225, 144, 247, 192, 5, 231, 185, 225, 144,
+ 247, 192, 5, 231, 137, 225, 144, 247, 192, 5, 221, 217, 225, 144, 247,
+ 192, 5, 232, 238, 225, 144, 247, 192, 5, 251, 189, 225, 144, 247, 192, 5,
+ 250, 232, 225, 36, 225, 144, 247, 192, 5, 247, 134, 225, 144, 247, 192,
+ 5, 249, 224, 225, 144, 247, 192, 5, 219, 88, 225, 144, 247, 192, 5, 249,
+ 225, 225, 144, 247, 192, 5, 252, 64, 225, 144, 247, 192, 5, 220, 17, 225,
+ 144, 247, 192, 5, 240, 249, 225, 144, 247, 192, 5, 241, 179, 225, 144,
+ 247, 192, 5, 251, 113, 233, 37, 225, 144, 247, 192, 5, 250, 225, 225,
+ 144, 247, 192, 5, 223, 154, 225, 144, 247, 192, 5, 245, 231, 225, 144,
+ 247, 192, 5, 246, 108, 225, 144, 247, 192, 5, 215, 106, 225, 144, 247,
+ 192, 5, 252, 67, 225, 144, 247, 192, 5, 225, 37, 215, 236, 225, 144, 247,
+ 192, 5, 213, 159, 225, 144, 247, 192, 5, 226, 19, 225, 144, 247, 192, 5,
+ 222, 191, 225, 144, 247, 192, 5, 232, 225, 225, 144, 247, 192, 5, 226,
+ 116, 252, 185, 225, 144, 247, 192, 5, 244, 49, 225, 144, 247, 192, 5,
+ 242, 139, 225, 144, 247, 192, 5, 218, 120, 225, 144, 247, 192, 5, 4, 253,
+ 169, 225, 144, 247, 192, 5, 212, 32, 252, 149, 225, 144, 247, 192, 5, 38,
+ 226, 249, 91, 232, 61, 1, 61, 232, 61, 1, 75, 232, 61, 1, 253, 159, 232,
+ 61, 1, 252, 20, 232, 61, 1, 243, 203, 232, 61, 1, 249, 61, 232, 61, 1,
+ 73, 232, 61, 1, 212, 98, 232, 61, 1, 210, 159, 232, 61, 1, 216, 211, 232,
+ 61, 1, 235, 145, 232, 61, 1, 235, 24, 232, 61, 1, 224, 97, 232, 61, 1,
+ 156, 232, 61, 1, 193, 232, 61, 1, 230, 26, 232, 61, 1, 230, 167, 232, 61,
+ 1, 228, 112, 232, 61, 1, 70, 232, 61, 1, 226, 106, 232, 61, 1, 234, 48,
+ 232, 61, 1, 153, 232, 61, 1, 222, 92, 232, 61, 1, 217, 153, 232, 61, 1,
+ 215, 160, 232, 61, 1, 254, 124, 232, 61, 1, 245, 151, 232, 61, 1, 242,
+ 61, 232, 61, 1, 211, 178, 250, 238, 1, 61, 250, 238, 1, 226, 92, 250,
+ 238, 1, 249, 61, 250, 238, 1, 156, 250, 238, 1, 214, 116, 250, 238, 1,
+ 153, 250, 238, 1, 233, 63, 250, 238, 1, 255, 76, 250, 238, 1, 224, 97,
+ 250, 238, 1, 253, 159, 250, 238, 1, 193, 250, 238, 1, 76, 250, 238, 1,
+ 248, 224, 250, 238, 1, 217, 153, 250, 238, 1, 220, 105, 250, 238, 1, 220,
+ 104, 250, 238, 1, 222, 92, 250, 238, 1, 251, 66, 250, 238, 1, 70, 250,
+ 238, 1, 228, 112, 250, 238, 1, 211, 178, 250, 238, 1, 230, 26, 250, 238,
+ 1, 215, 159, 250, 238, 1, 226, 106, 250, 238, 1, 218, 227, 250, 238, 1,
+ 73, 250, 238, 1, 75, 250, 238, 1, 214, 113, 250, 238, 1, 235, 24, 250,
+ 238, 1, 235, 15, 250, 238, 1, 229, 151, 250, 238, 1, 214, 118, 250, 238,
+ 1, 243, 203, 250, 238, 1, 243, 138, 250, 238, 1, 218, 169, 250, 238, 1,
+ 218, 168, 250, 238, 1, 229, 80, 250, 238, 1, 236, 34, 250, 238, 1, 251,
+ 65, 250, 238, 1, 215, 160, 250, 238, 1, 214, 115, 250, 238, 1, 222, 181,
+ 250, 238, 1, 231, 130, 250, 238, 1, 231, 129, 250, 238, 1, 231, 128, 250,
+ 238, 1, 231, 127, 250, 238, 1, 233, 62, 250, 238, 1, 245, 235, 250, 238,
+ 1, 214, 114, 55, 32, 1, 61, 55, 32, 1, 252, 76, 55, 32, 1, 234, 183, 55,
+ 32, 1, 248, 91, 55, 32, 1, 75, 55, 32, 1, 213, 255, 55, 32, 1, 210, 94,
+ 55, 32, 1, 241, 239, 55, 32, 1, 216, 196, 55, 32, 1, 73, 55, 32, 1, 176,
+ 55, 32, 1, 245, 175, 55, 32, 1, 245, 160, 55, 32, 1, 245, 151, 55, 32, 1,
+ 245, 76, 55, 32, 1, 76, 55, 32, 1, 225, 222, 55, 32, 1, 220, 64, 55, 32,
+ 1, 233, 218, 55, 32, 1, 245, 93, 55, 32, 1, 245, 83, 55, 32, 1, 217, 23,
+ 55, 32, 1, 70, 55, 32, 1, 245, 178, 55, 32, 1, 225, 137, 55, 32, 1, 234,
+ 120, 55, 32, 1, 245, 203, 55, 32, 1, 245, 85, 55, 32, 1, 250, 132, 55,
+ 32, 1, 236, 34, 55, 32, 1, 214, 118, 55, 32, 227, 199, 110, 55, 32, 227,
+ 199, 189, 55, 32, 227, 199, 216, 248, 55, 32, 227, 199, 244, 115, 242,
+ 154, 1, 254, 205, 242, 154, 1, 252, 164, 242, 154, 1, 242, 212, 242, 154,
+ 1, 248, 205, 242, 154, 1, 254, 201, 242, 154, 1, 224, 80, 242, 154, 1,
+ 235, 156, 242, 154, 1, 242, 40, 242, 154, 1, 216, 159, 242, 154, 1, 245,
+ 184, 242, 154, 1, 233, 191, 242, 154, 1, 233, 114, 242, 154, 1, 231, 180,
+ 242, 154, 1, 229, 185, 242, 154, 1, 235, 120, 242, 154, 1, 214, 136, 242,
+ 154, 1, 226, 70, 242, 154, 1, 228, 196, 242, 154, 1, 223, 166, 242, 154,
+ 1, 221, 219, 242, 154, 1, 217, 5, 242, 154, 1, 211, 234, 242, 154, 1,
+ 244, 179, 242, 154, 1, 236, 38, 242, 154, 1, 240, 200, 242, 154, 1, 226,
+ 140, 242, 154, 1, 228, 201, 240, 211, 214, 209, 1, 254, 148, 214, 209, 1,
+ 252, 27, 214, 209, 1, 243, 109, 214, 209, 1, 234, 133, 214, 209, 1, 248,
+ 55, 214, 209, 1, 241, 69, 214, 209, 1, 211, 227, 214, 209, 1, 210, 85,
+ 214, 209, 1, 240, 242, 214, 209, 1, 216, 231, 214, 209, 1, 210, 233, 214,
+ 209, 1, 234, 251, 214, 209, 1, 220, 21, 214, 209, 1, 233, 99, 214, 209,
+ 1, 231, 66, 214, 209, 1, 248, 22, 214, 209, 1, 227, 195, 214, 209, 1,
+ 210, 13, 214, 209, 1, 221, 249, 214, 209, 1, 254, 197, 214, 209, 1, 224,
+ 151, 214, 209, 1, 222, 26, 214, 209, 1, 224, 36, 214, 209, 1, 223, 145,
+ 214, 209, 1, 216, 200, 214, 209, 1, 242, 245, 214, 209, 1, 111, 214, 209,
+ 1, 73, 214, 209, 1, 70, 214, 209, 1, 218, 180, 214, 209, 211, 209, 247,
+ 173, 55, 225, 170, 5, 61, 55, 225, 170, 5, 73, 55, 225, 170, 5, 70, 55,
+ 225, 170, 5, 176, 55, 225, 170, 5, 233, 218, 55, 225, 170, 5, 243, 136,
+ 55, 225, 170, 5, 242, 114, 55, 225, 170, 5, 211, 165, 55, 225, 170, 5,
+ 251, 34, 55, 225, 170, 5, 235, 142, 55, 225, 170, 5, 235, 109, 55, 225,
+ 170, 5, 217, 106, 55, 225, 170, 5, 215, 119, 55, 225, 170, 5, 248, 222,
+ 55, 225, 170, 5, 248, 4, 55, 225, 170, 5, 246, 79, 55, 225, 170, 5, 216,
+ 209, 55, 225, 170, 5, 190, 55, 225, 170, 5, 252, 192, 55, 225, 170, 5,
+ 244, 197, 55, 225, 170, 5, 197, 55, 225, 170, 5, 227, 238, 55, 225, 170,
+ 5, 185, 55, 225, 170, 5, 230, 231, 55, 225, 170, 5, 230, 103, 55, 225,
+ 170, 5, 191, 55, 225, 170, 5, 214, 27, 55, 225, 170, 5, 213, 176, 55,
+ 225, 170, 5, 205, 55, 225, 170, 5, 222, 141, 55, 225, 170, 5, 233, 136,
+ 55, 225, 170, 5, 206, 55, 225, 170, 5, 210, 116, 55, 225, 170, 5, 220,
+ 103, 55, 225, 170, 5, 218, 224, 55, 225, 170, 5, 162, 55, 225, 170, 5,
+ 253, 187, 55, 225, 170, 5, 253, 186, 55, 225, 170, 5, 253, 185, 55, 225,
+ 170, 5, 211, 142, 55, 225, 170, 5, 248, 201, 55, 225, 170, 5, 248, 200,
+ 55, 225, 170, 5, 252, 171, 55, 225, 170, 5, 251, 86, 55, 225, 170, 211,
+ 209, 247, 173, 55, 225, 170, 54, 110, 55, 225, 170, 54, 105, 55, 225,
+ 170, 54, 216, 248, 55, 225, 170, 54, 215, 73, 55, 225, 170, 54, 240, 211,
181, 6, 1, 199, 73, 181, 6, 1, 199, 75, 181, 6, 1, 199, 61, 181, 6, 1,
- 199, 254, 209, 181, 6, 1, 199, 76, 181, 6, 1, 199, 226, 183, 181, 6, 1,
- 219, 251, 73, 181, 6, 1, 219, 251, 75, 181, 6, 1, 219, 251, 61, 181, 6,
- 1, 219, 251, 254, 209, 181, 6, 1, 219, 251, 76, 181, 6, 1, 219, 251, 226,
- 183, 181, 6, 1, 253, 167, 181, 6, 1, 226, 116, 181, 6, 1, 211, 195, 181,
- 6, 1, 211, 44, 181, 6, 1, 242, 60, 181, 6, 1, 225, 211, 181, 6, 1, 252,
- 66, 181, 6, 1, 217, 11, 181, 6, 1, 248, 77, 181, 6, 1, 250, 128, 181, 6,
- 1, 235, 124, 181, 6, 1, 234, 189, 181, 6, 1, 243, 83, 181, 6, 1, 245,
- 202, 181, 6, 1, 213, 250, 181, 6, 1, 245, 59, 181, 6, 1, 216, 194, 181,
- 6, 1, 245, 82, 181, 6, 1, 210, 92, 181, 6, 1, 245, 75, 181, 6, 1, 210,
- 73, 181, 6, 1, 245, 92, 181, 6, 1, 245, 174, 181, 6, 1, 245, 159, 181, 6,
- 1, 245, 150, 181, 6, 1, 245, 138, 181, 6, 1, 226, 219, 181, 6, 1, 245,
- 38, 181, 4, 1, 199, 73, 181, 4, 1, 199, 75, 181, 4, 1, 199, 61, 181, 4,
- 1, 199, 254, 209, 181, 4, 1, 199, 76, 181, 4, 1, 199, 226, 183, 181, 4,
- 1, 219, 251, 73, 181, 4, 1, 219, 251, 75, 181, 4, 1, 219, 251, 61, 181,
- 4, 1, 219, 251, 254, 209, 181, 4, 1, 219, 251, 76, 181, 4, 1, 219, 251,
- 226, 183, 181, 4, 1, 253, 167, 181, 4, 1, 226, 116, 181, 4, 1, 211, 195,
- 181, 4, 1, 211, 44, 181, 4, 1, 242, 60, 181, 4, 1, 225, 211, 181, 4, 1,
- 252, 66, 181, 4, 1, 217, 11, 181, 4, 1, 248, 77, 181, 4, 1, 250, 128,
- 181, 4, 1, 235, 124, 181, 4, 1, 234, 189, 181, 4, 1, 243, 83, 181, 4, 1,
- 245, 202, 181, 4, 1, 213, 250, 181, 4, 1, 245, 59, 181, 4, 1, 216, 194,
- 181, 4, 1, 245, 82, 181, 4, 1, 210, 92, 181, 4, 1, 245, 75, 181, 4, 1,
- 210, 73, 181, 4, 1, 245, 92, 181, 4, 1, 245, 174, 181, 4, 1, 245, 159,
- 181, 4, 1, 245, 150, 181, 4, 1, 245, 138, 181, 4, 1, 226, 219, 181, 4, 1,
- 245, 38, 220, 69, 1, 225, 209, 220, 69, 1, 216, 5, 220, 69, 1, 234, 91,
- 220, 69, 1, 244, 147, 220, 69, 1, 216, 172, 220, 69, 1, 219, 58, 220, 69,
- 1, 218, 14, 220, 69, 1, 250, 61, 220, 69, 1, 211, 46, 220, 69, 1, 240,
- 209, 220, 69, 1, 252, 5, 220, 69, 1, 248, 89, 220, 69, 1, 243, 121, 220,
- 69, 1, 213, 123, 220, 69, 1, 216, 176, 220, 69, 1, 210, 21, 220, 69, 1,
- 231, 89, 220, 69, 1, 235, 49, 220, 69, 1, 211, 225, 220, 69, 1, 242, 48,
- 220, 69, 1, 232, 142, 220, 69, 1, 230, 189, 220, 69, 1, 236, 40, 220, 69,
- 1, 245, 201, 220, 69, 1, 253, 231, 220, 69, 1, 254, 247, 220, 69, 1, 226,
- 196, 220, 69, 1, 211, 212, 220, 69, 1, 226, 130, 220, 69, 1, 254, 209,
- 220, 69, 1, 222, 208, 220, 69, 1, 227, 194, 220, 69, 1, 245, 217, 220,
- 69, 1, 254, 214, 220, 69, 1, 240, 111, 220, 69, 1, 214, 163, 220, 69, 1,
- 226, 254, 220, 69, 1, 226, 176, 220, 69, 1, 226, 218, 220, 69, 1, 253,
- 170, 220, 69, 1, 254, 19, 220, 69, 1, 226, 158, 220, 69, 1, 254, 192,
- 220, 69, 1, 245, 86, 220, 69, 1, 253, 253, 220, 69, 1, 245, 227, 220, 69,
- 1, 240, 118, 220, 69, 1, 211, 13, 226, 141, 1, 254, 170, 226, 141, 1,
- 252, 191, 226, 141, 1, 217, 105, 226, 141, 1, 235, 141, 226, 141, 1, 211,
- 165, 226, 141, 1, 234, 132, 226, 141, 1, 248, 76, 226, 141, 1, 205, 226,
- 141, 1, 206, 226, 141, 1, 220, 26, 226, 141, 1, 248, 25, 226, 141, 1,
- 250, 215, 226, 141, 1, 243, 135, 226, 141, 1, 244, 196, 226, 141, 1, 224,
- 86, 226, 141, 1, 235, 9, 226, 141, 1, 233, 130, 226, 141, 1, 230, 200,
- 226, 141, 1, 227, 178, 226, 141, 1, 212, 30, 226, 141, 1, 162, 226, 141,
- 1, 191, 226, 141, 1, 61, 226, 141, 1, 75, 226, 141, 1, 73, 226, 141, 1,
- 76, 226, 141, 1, 70, 226, 141, 1, 255, 73, 226, 141, 1, 245, 209, 226,
- 141, 1, 226, 183, 226, 141, 21, 210, 86, 226, 141, 21, 110, 226, 141, 21,
- 105, 226, 141, 21, 158, 226, 141, 21, 161, 226, 141, 21, 189, 226, 141,
- 21, 194, 226, 141, 21, 198, 226, 141, 21, 195, 226, 141, 21, 200, 249,
- 67, 3, 61, 249, 67, 3, 75, 249, 67, 3, 73, 249, 67, 3, 76, 249, 67, 3,
- 70, 249, 67, 3, 235, 141, 249, 67, 3, 235, 68, 249, 67, 3, 176, 249, 67,
- 3, 234, 182, 249, 67, 3, 234, 92, 249, 67, 3, 234, 28, 249, 67, 3, 233,
- 217, 249, 67, 3, 233, 135, 249, 67, 3, 233, 58, 249, 67, 3, 232, 241,
- 249, 67, 3, 232, 156, 249, 67, 3, 232, 98, 249, 67, 3, 184, 249, 67, 3,
- 231, 91, 249, 67, 3, 230, 230, 249, 67, 3, 230, 161, 249, 67, 3, 230,
- 102, 249, 67, 3, 197, 249, 67, 3, 229, 107, 249, 67, 3, 228, 233, 249,
- 67, 3, 228, 74, 249, 67, 3, 227, 237, 249, 67, 3, 190, 249, 67, 3, 225,
- 221, 249, 67, 3, 225, 108, 249, 67, 3, 225, 16, 249, 67, 3, 224, 150,
- 249, 67, 3, 205, 249, 67, 3, 223, 128, 249, 67, 3, 223, 35, 249, 67, 3,
- 222, 211, 249, 67, 3, 222, 140, 249, 67, 3, 206, 249, 67, 3, 221, 181,
- 249, 67, 3, 219, 191, 249, 67, 3, 219, 58, 249, 67, 3, 218, 83, 249, 67,
- 3, 217, 105, 249, 67, 3, 217, 22, 249, 67, 3, 216, 117, 249, 67, 3, 111,
- 249, 67, 3, 215, 118, 249, 67, 3, 212, 65, 249, 67, 3, 212, 22, 249, 67,
- 3, 211, 250, 249, 67, 3, 211, 227, 249, 67, 3, 211, 165, 249, 67, 3, 211,
- 162, 249, 67, 3, 210, 116, 249, 67, 3, 210, 23, 236, 1, 254, 27, 1, 254,
- 168, 236, 1, 254, 27, 1, 252, 25, 236, 1, 254, 27, 1, 242, 201, 236, 1,
- 254, 27, 1, 248, 188, 236, 1, 254, 27, 1, 241, 238, 236, 1, 254, 27, 1,
- 212, 30, 236, 1, 254, 27, 1, 210, 97, 236, 1, 254, 27, 1, 241, 195, 236,
- 1, 254, 27, 1, 216, 226, 236, 1, 254, 27, 1, 210, 232, 236, 1, 254, 27,
- 1, 234, 225, 236, 1, 254, 27, 1, 233, 93, 236, 1, 254, 27, 1, 231, 65,
- 236, 1, 254, 27, 1, 227, 194, 236, 1, 254, 27, 1, 221, 249, 236, 1, 254,
- 27, 1, 253, 162, 236, 1, 254, 27, 1, 225, 221, 236, 1, 254, 27, 1, 222,
- 24, 236, 1, 254, 27, 1, 224, 34, 236, 1, 254, 27, 1, 223, 67, 236, 1,
- 254, 27, 1, 220, 20, 236, 1, 254, 27, 1, 217, 36, 236, 1, 254, 27, 221,
- 173, 50, 236, 1, 254, 27, 54, 110, 236, 1, 254, 27, 54, 105, 236, 1, 254,
- 27, 54, 158, 236, 1, 254, 27, 54, 216, 247, 236, 1, 254, 27, 54, 215, 73,
- 236, 1, 254, 27, 54, 123, 240, 210, 236, 1, 254, 27, 54, 123, 216, 147,
- 236, 1, 254, 27, 54, 216, 248, 216, 147, 225, 119, 1, 254, 165, 225, 119,
- 1, 252, 28, 225, 119, 1, 243, 109, 225, 119, 1, 248, 56, 225, 119, 1,
- 241, 238, 225, 119, 1, 212, 37, 225, 119, 1, 210, 110, 225, 119, 1, 241,
- 197, 225, 119, 1, 216, 230, 225, 119, 1, 210, 233, 225, 119, 1, 234, 250,
- 225, 119, 1, 233, 99, 225, 119, 1, 231, 65, 225, 119, 1, 227, 194, 225,
- 119, 1, 220, 144, 225, 119, 1, 254, 196, 225, 119, 1, 225, 221, 225, 119,
- 1, 222, 25, 225, 119, 1, 224, 39, 225, 119, 1, 222, 189, 225, 119, 1,
- 220, 20, 225, 119, 1, 217, 41, 225, 119, 54, 110, 225, 119, 54, 216, 247,
- 225, 119, 54, 215, 73, 225, 119, 54, 123, 240, 210, 225, 119, 54, 105,
- 225, 119, 54, 158, 225, 119, 211, 209, 220, 137, 232, 59, 1, 61, 232, 59,
- 1, 253, 158, 232, 59, 1, 243, 202, 232, 59, 1, 249, 60, 232, 59, 1, 75,
- 232, 59, 1, 214, 105, 232, 59, 1, 73, 232, 59, 1, 211, 117, 232, 59, 1,
- 235, 23, 232, 59, 1, 156, 232, 59, 1, 193, 232, 59, 1, 230, 25, 232, 59,
- 1, 76, 232, 59, 1, 153, 232, 59, 1, 218, 226, 232, 59, 1, 217, 152, 232,
- 59, 1, 70, 232, 59, 1, 245, 6, 232, 59, 1, 224, 96, 232, 59, 1, 222, 91,
- 232, 59, 1, 215, 159, 232, 59, 1, 254, 123, 232, 59, 1, 245, 150, 232,
- 59, 1, 232, 62, 232, 59, 1, 228, 111, 232, 59, 1, 251, 66, 232, 59, 215,
- 222, 78, 231, 48, 241, 174, 1, 61, 231, 48, 241, 174, 1, 75, 231, 48,
- 241, 174, 1, 73, 231, 48, 241, 174, 1, 76, 231, 48, 241, 174, 1, 191,
- 231, 48, 241, 174, 1, 212, 65, 231, 48, 241, 174, 1, 252, 191, 231, 48,
- 241, 174, 1, 252, 190, 231, 48, 241, 174, 1, 190, 231, 48, 241, 174, 1,
- 184, 231, 48, 241, 174, 1, 197, 231, 48, 241, 174, 1, 229, 228, 231, 48,
- 241, 174, 1, 229, 107, 231, 48, 241, 174, 1, 229, 106, 231, 48, 241, 174,
- 1, 205, 231, 48, 241, 174, 1, 223, 187, 231, 48, 241, 174, 1, 233, 135,
- 231, 48, 241, 174, 1, 234, 132, 231, 48, 241, 174, 1, 241, 189, 231, 48,
- 241, 174, 1, 206, 231, 48, 241, 174, 1, 222, 33, 231, 48, 241, 174, 1,
- 221, 181, 231, 48, 241, 174, 1, 176, 231, 48, 241, 174, 1, 224, 88, 231,
- 48, 241, 174, 1, 217, 105, 231, 48, 241, 174, 1, 217, 104, 231, 48, 241,
- 174, 1, 217, 22, 231, 48, 241, 174, 1, 217, 21, 231, 48, 241, 174, 1,
- 111, 231, 48, 241, 174, 1, 248, 221, 231, 48, 241, 174, 16, 213, 170,
- 231, 48, 241, 174, 16, 213, 169, 231, 48, 249, 94, 1, 61, 231, 48, 249,
- 94, 1, 75, 231, 48, 249, 94, 1, 73, 231, 48, 249, 94, 1, 76, 231, 48,
- 249, 94, 1, 191, 231, 48, 249, 94, 1, 212, 65, 231, 48, 249, 94, 1, 252,
- 191, 231, 48, 249, 94, 1, 190, 231, 48, 249, 94, 1, 184, 231, 48, 249,
- 94, 1, 197, 231, 48, 249, 94, 1, 229, 107, 231, 48, 249, 94, 1, 205, 231,
- 48, 249, 94, 1, 233, 135, 231, 48, 249, 94, 1, 234, 132, 231, 48, 249,
- 94, 1, 241, 189, 231, 48, 249, 94, 1, 206, 231, 48, 249, 94, 1, 254, 23,
- 206, 231, 48, 249, 94, 1, 221, 181, 231, 48, 249, 94, 1, 176, 231, 48,
- 249, 94, 1, 224, 88, 231, 48, 249, 94, 1, 217, 105, 231, 48, 249, 94, 1,
- 217, 22, 231, 48, 249, 94, 1, 111, 231, 48, 249, 94, 1, 248, 221, 231,
- 48, 249, 94, 232, 145, 222, 217, 231, 48, 249, 94, 232, 145, 236, 6, 234,
- 120, 1, 61, 234, 120, 25, 5, 73, 234, 120, 25, 5, 70, 234, 120, 25, 5,
- 149, 153, 234, 120, 25, 5, 75, 234, 120, 25, 5, 76, 234, 120, 25, 233,
- 23, 78, 234, 120, 5, 52, 222, 234, 51, 234, 120, 5, 254, 75, 234, 120, 5,
- 213, 147, 234, 120, 1, 176, 234, 120, 1, 234, 132, 234, 120, 1, 243, 135,
- 234, 120, 1, 242, 249, 234, 120, 1, 251, 33, 234, 120, 1, 250, 157, 234,
- 120, 1, 235, 141, 234, 120, 1, 227, 165, 234, 120, 1, 215, 156, 234, 120,
- 1, 215, 144, 234, 120, 1, 248, 135, 234, 120, 1, 248, 119, 234, 120, 1,
- 228, 110, 234, 120, 1, 217, 105, 234, 120, 1, 216, 208, 234, 120, 1, 248,
- 221, 234, 120, 1, 248, 25, 234, 120, 1, 197, 234, 120, 1, 190, 234, 120,
- 1, 225, 147, 234, 120, 1, 252, 191, 234, 120, 1, 252, 18, 234, 120, 1,
- 184, 234, 120, 1, 191, 234, 120, 1, 205, 234, 120, 1, 233, 135, 234, 120,
- 1, 214, 27, 234, 120, 1, 220, 102, 234, 120, 1, 218, 223, 234, 120, 1,
- 206, 234, 120, 1, 210, 116, 234, 120, 1, 162, 234, 120, 1, 234, 46, 234,
- 120, 1, 215, 124, 234, 120, 5, 252, 141, 48, 234, 120, 5, 250, 221, 234,
- 120, 5, 59, 51, 234, 120, 213, 152, 234, 120, 21, 110, 234, 120, 21, 105,
- 234, 120, 21, 158, 234, 120, 21, 161, 234, 120, 54, 216, 247, 234, 120,
- 54, 215, 73, 234, 120, 54, 123, 240, 210, 234, 120, 54, 123, 216, 147,
- 234, 120, 224, 141, 247, 120, 234, 120, 224, 141, 4, 250, 35, 234, 120,
- 224, 141, 250, 35, 234, 120, 224, 141, 249, 137, 130, 234, 120, 224, 141,
- 231, 180, 234, 120, 224, 141, 232, 115, 234, 120, 224, 141, 248, 178,
- 234, 120, 224, 141, 52, 248, 178, 234, 120, 224, 141, 232, 207, 55, 219,
- 28, 254, 38, 1, 241, 238, 55, 219, 28, 254, 38, 1, 233, 93, 55, 219, 28,
- 254, 38, 1, 241, 195, 55, 219, 28, 254, 38, 1, 231, 65, 55, 219, 28, 254,
- 38, 1, 224, 34, 55, 219, 28, 254, 38, 1, 212, 30, 55, 219, 28, 254, 38,
- 1, 220, 20, 55, 219, 28, 254, 38, 1, 223, 67, 55, 219, 28, 254, 38, 1,
- 252, 25, 55, 219, 28, 254, 38, 1, 217, 36, 55, 219, 28, 254, 38, 1, 221,
- 226, 55, 219, 28, 254, 38, 1, 234, 225, 55, 219, 28, 254, 38, 1, 227,
- 194, 55, 219, 28, 254, 38, 1, 234, 116, 55, 219, 28, 254, 38, 1, 222, 24,
- 55, 219, 28, 254, 38, 1, 221, 249, 55, 219, 28, 254, 38, 1, 244, 154, 55,
- 219, 28, 254, 38, 1, 254, 170, 55, 219, 28, 254, 38, 1, 253, 161, 55,
- 219, 28, 254, 38, 1, 248, 22, 55, 219, 28, 254, 38, 1, 242, 201, 55, 219,
- 28, 254, 38, 1, 248, 188, 55, 219, 28, 254, 38, 1, 242, 238, 55, 219, 28,
- 254, 38, 1, 216, 226, 55, 219, 28, 254, 38, 1, 210, 96, 55, 219, 28, 254,
- 38, 1, 248, 19, 55, 219, 28, 254, 38, 1, 210, 232, 55, 219, 28, 254, 38,
- 1, 216, 197, 55, 219, 28, 254, 38, 1, 216, 178, 55, 219, 28, 254, 38, 54,
- 110, 55, 219, 28, 254, 38, 54, 244, 114, 55, 219, 28, 254, 38, 132, 235,
- 238, 253, 172, 1, 61, 253, 172, 1, 255, 73, 253, 172, 1, 254, 73, 253,
- 172, 1, 255, 32, 253, 172, 1, 254, 123, 253, 172, 1, 255, 33, 253, 172,
- 1, 254, 243, 253, 172, 1, 254, 239, 253, 172, 1, 75, 253, 172, 1, 245,
- 209, 253, 172, 1, 76, 253, 172, 1, 226, 183, 253, 172, 1, 73, 253, 172,
- 1, 236, 33, 253, 172, 1, 70, 253, 172, 1, 214, 118, 253, 172, 1, 234,
- 182, 253, 172, 1, 211, 162, 253, 172, 1, 211, 128, 253, 172, 1, 211, 137,
- 253, 172, 1, 243, 62, 253, 172, 1, 243, 24, 253, 172, 1, 242, 236, 253,
- 172, 1, 250, 190, 253, 172, 1, 235, 126, 253, 172, 1, 217, 22, 253, 172,
- 1, 216, 195, 253, 172, 1, 248, 90, 253, 172, 1, 248, 17, 253, 172, 1,
- 215, 151, 253, 172, 1, 225, 221, 253, 172, 1, 244, 154, 253, 172, 1, 252,
- 75, 253, 172, 1, 252, 14, 253, 172, 1, 229, 64, 253, 172, 1, 228, 239,
- 253, 172, 1, 228, 240, 253, 172, 1, 229, 107, 253, 172, 1, 227, 156, 253,
- 172, 1, 228, 105, 253, 172, 1, 231, 91, 253, 172, 1, 241, 116, 253, 172,
- 1, 210, 166, 253, 172, 1, 211, 47, 253, 172, 1, 213, 255, 253, 172, 1,
- 223, 128, 253, 172, 1, 233, 58, 253, 172, 1, 221, 181, 253, 172, 1, 210,
- 94, 253, 172, 1, 220, 63, 253, 172, 1, 210, 74, 253, 172, 1, 219, 198,
- 253, 172, 1, 218, 193, 253, 172, 1, 241, 238, 253, 172, 255, 21, 78, 216,
- 79, 113, 170, 117, 123, 59, 224, 140, 4, 113, 170, 117, 123, 59, 224,
- 140, 233, 85, 113, 170, 117, 123, 59, 224, 140, 233, 85, 123, 59, 117,
- 113, 170, 224, 140, 233, 85, 113, 222, 232, 117, 123, 222, 234, 224, 140,
- 233, 85, 123, 222, 234, 117, 113, 222, 232, 224, 140, 235, 218, 225, 254,
- 1, 254, 168, 235, 218, 225, 254, 1, 252, 25, 235, 218, 225, 254, 1, 242,
- 201, 235, 218, 225, 254, 1, 248, 188, 235, 218, 225, 254, 1, 241, 238,
- 235, 218, 225, 254, 1, 212, 30, 235, 218, 225, 254, 1, 210, 97, 235, 218,
- 225, 254, 1, 241, 195, 235, 218, 225, 254, 1, 216, 226, 235, 218, 225,
- 254, 1, 210, 232, 235, 218, 225, 254, 1, 234, 225, 235, 218, 225, 254, 1,
- 233, 93, 235, 218, 225, 254, 1, 231, 65, 235, 218, 225, 254, 1, 227, 194,
- 235, 218, 225, 254, 1, 221, 249, 235, 218, 225, 254, 1, 253, 162, 235,
- 218, 225, 254, 1, 225, 221, 235, 218, 225, 254, 1, 222, 24, 235, 218,
- 225, 254, 1, 224, 34, 235, 218, 225, 254, 1, 223, 67, 235, 218, 225, 254,
- 1, 220, 20, 235, 218, 225, 254, 1, 217, 36, 235, 218, 225, 254, 54, 110,
- 235, 218, 225, 254, 54, 105, 235, 218, 225, 254, 54, 158, 235, 218, 225,
- 254, 54, 161, 235, 218, 225, 254, 54, 216, 247, 235, 218, 225, 254, 54,
- 215, 73, 235, 218, 225, 254, 54, 123, 240, 210, 235, 218, 225, 254, 54,
- 123, 216, 147, 235, 218, 226, 72, 1, 254, 168, 235, 218, 226, 72, 1, 252,
- 25, 235, 218, 226, 72, 1, 242, 201, 235, 218, 226, 72, 1, 248, 188, 235,
- 218, 226, 72, 1, 241, 238, 235, 218, 226, 72, 1, 212, 29, 235, 218, 226,
- 72, 1, 210, 97, 235, 218, 226, 72, 1, 241, 195, 235, 218, 226, 72, 1,
- 216, 226, 235, 218, 226, 72, 1, 210, 232, 235, 218, 226, 72, 1, 234, 225,
- 235, 218, 226, 72, 1, 233, 93, 235, 218, 226, 72, 1, 231, 64, 235, 218,
- 226, 72, 1, 227, 194, 235, 218, 226, 72, 1, 221, 249, 235, 218, 226, 72,
- 1, 225, 221, 235, 218, 226, 72, 1, 222, 24, 235, 218, 226, 72, 1, 220,
- 20, 235, 218, 226, 72, 1, 217, 36, 235, 218, 226, 72, 54, 110, 235, 218,
- 226, 72, 54, 105, 235, 218, 226, 72, 54, 158, 235, 218, 226, 72, 54, 161,
- 235, 218, 226, 72, 54, 216, 247, 235, 218, 226, 72, 54, 215, 73, 235,
- 218, 226, 72, 54, 123, 240, 210, 235, 218, 226, 72, 54, 123, 216, 147,
- 55, 201, 1, 226, 149, 61, 55, 201, 1, 211, 37, 61, 55, 201, 1, 211, 37,
- 254, 243, 55, 201, 1, 226, 149, 73, 55, 201, 1, 211, 37, 73, 55, 201, 1,
- 211, 37, 75, 55, 201, 1, 226, 149, 76, 55, 201, 1, 226, 149, 226, 234,
- 55, 201, 1, 211, 37, 226, 234, 55, 201, 1, 226, 149, 255, 25, 55, 201, 1,
- 211, 37, 255, 25, 55, 201, 1, 226, 149, 254, 242, 55, 201, 1, 211, 37,
- 254, 242, 55, 201, 1, 226, 149, 254, 216, 55, 201, 1, 211, 37, 254, 216,
- 55, 201, 1, 226, 149, 254, 237, 55, 201, 1, 211, 37, 254, 237, 55, 201,
- 1, 226, 149, 254, 255, 55, 201, 1, 211, 37, 254, 255, 55, 201, 1, 226,
- 149, 254, 241, 55, 201, 1, 226, 149, 245, 12, 55, 201, 1, 211, 37, 245,
- 12, 55, 201, 1, 226, 149, 253, 167, 55, 201, 1, 211, 37, 253, 167, 55,
- 201, 1, 226, 149, 254, 224, 55, 201, 1, 211, 37, 254, 224, 55, 201, 1,
- 226, 149, 254, 235, 55, 201, 1, 211, 37, 254, 235, 55, 201, 1, 226, 149,
- 226, 233, 55, 201, 1, 211, 37, 226, 233, 55, 201, 1, 226, 149, 254, 178,
- 55, 201, 1, 211, 37, 254, 178, 55, 201, 1, 226, 149, 254, 234, 55, 201,
- 1, 226, 149, 245, 161, 55, 201, 1, 226, 149, 245, 159, 55, 201, 1, 226,
- 149, 254, 123, 55, 201, 1, 226, 149, 254, 232, 55, 201, 1, 211, 37, 254,
- 232, 55, 201, 1, 226, 149, 245, 131, 55, 201, 1, 211, 37, 245, 131, 55,
- 201, 1, 226, 149, 245, 147, 55, 201, 1, 211, 37, 245, 147, 55, 201, 1,
- 226, 149, 245, 118, 55, 201, 1, 211, 37, 245, 118, 55, 201, 1, 211, 37,
- 254, 115, 55, 201, 1, 226, 149, 245, 138, 55, 201, 1, 211, 37, 254, 231,
- 55, 201, 1, 226, 149, 245, 108, 55, 201, 1, 226, 149, 226, 175, 55, 201,
- 1, 226, 149, 240, 113, 55, 201, 1, 226, 149, 245, 215, 55, 201, 1, 211,
- 37, 245, 215, 55, 201, 1, 226, 149, 254, 45, 55, 201, 1, 211, 37, 254,
- 45, 55, 201, 1, 226, 149, 235, 181, 55, 201, 1, 211, 37, 235, 181, 55,
- 201, 1, 226, 149, 226, 159, 55, 201, 1, 211, 37, 226, 159, 55, 201, 1,
- 226, 149, 254, 41, 55, 201, 1, 211, 37, 254, 41, 55, 201, 1, 226, 149,
- 254, 230, 55, 201, 1, 226, 149, 253, 237, 55, 201, 1, 226, 149, 254, 228,
- 55, 201, 1, 226, 149, 253, 231, 55, 201, 1, 211, 37, 253, 231, 55, 201,
- 1, 226, 149, 245, 75, 55, 201, 1, 211, 37, 245, 75, 55, 201, 1, 226, 149,
- 253, 206, 55, 201, 1, 211, 37, 253, 206, 55, 201, 1, 226, 149, 254, 225,
- 55, 201, 1, 211, 37, 254, 225, 55, 201, 1, 226, 149, 226, 140, 55, 201,
- 1, 226, 149, 252, 125, 222, 127, 21, 110, 222, 127, 21, 105, 222, 127,
- 21, 158, 222, 127, 21, 161, 222, 127, 21, 189, 222, 127, 21, 194, 222,
- 127, 21, 198, 222, 127, 21, 195, 222, 127, 21, 200, 222, 127, 54, 216,
- 247, 222, 127, 54, 215, 73, 222, 127, 54, 216, 162, 222, 127, 54, 244,
- 15, 222, 127, 54, 244, 114, 222, 127, 54, 219, 111, 222, 127, 54, 220,
- 116, 222, 127, 54, 245, 184, 222, 127, 54, 228, 195, 222, 127, 54, 123,
- 240, 210, 222, 127, 54, 113, 240, 210, 222, 127, 54, 134, 240, 210, 222,
- 127, 54, 244, 11, 240, 210, 222, 127, 54, 244, 81, 240, 210, 222, 127,
- 54, 219, 125, 240, 210, 222, 127, 54, 220, 122, 240, 210, 222, 127, 54,
- 245, 193, 240, 210, 222, 127, 54, 228, 200, 240, 210, 222, 127, 244, 2,
- 123, 242, 27, 222, 127, 244, 2, 123, 224, 21, 222, 127, 244, 2, 123, 216,
- 168, 222, 127, 244, 2, 113, 216, 166, 118, 5, 250, 255, 118, 5, 254, 75,
- 118, 5, 213, 147, 118, 5, 235, 102, 118, 5, 214, 161, 118, 1, 61, 118, 1,
- 255, 73, 118, 1, 73, 118, 1, 236, 33, 118, 1, 70, 118, 1, 214, 118, 118,
- 1, 149, 153, 118, 1, 149, 222, 180, 118, 1, 149, 156, 118, 1, 149, 232,
- 185, 118, 1, 75, 118, 1, 254, 201, 118, 1, 76, 118, 1, 253, 192, 118, 1,
- 176, 118, 1, 234, 132, 118, 1, 243, 135, 118, 1, 242, 249, 118, 1, 229,
- 77, 118, 1, 251, 33, 118, 1, 250, 157, 118, 1, 235, 141, 118, 1, 235,
- 114, 118, 1, 227, 165, 118, 1, 215, 156, 118, 1, 215, 144, 118, 1, 248,
- 135, 118, 1, 248, 119, 118, 1, 228, 110, 118, 1, 217, 105, 118, 1, 216,
- 208, 118, 1, 248, 221, 118, 1, 248, 25, 118, 1, 197, 118, 1, 190, 118, 1,
- 225, 147, 118, 1, 252, 191, 118, 1, 252, 18, 118, 1, 184, 118, 1, 191,
- 118, 1, 205, 118, 1, 233, 135, 118, 1, 214, 27, 118, 1, 220, 102, 118, 1,
- 218, 223, 118, 1, 206, 118, 1, 162, 118, 1, 232, 184, 118, 1, 55, 36,
- 232, 175, 118, 1, 55, 36, 222, 179, 118, 1, 55, 36, 228, 92, 118, 25, 5,
- 255, 73, 118, 25, 5, 252, 15, 255, 73, 118, 25, 5, 73, 118, 25, 5, 236,
- 33, 118, 25, 5, 70, 118, 25, 5, 214, 118, 118, 25, 5, 149, 153, 118, 25,
- 5, 149, 222, 180, 118, 25, 5, 149, 156, 118, 25, 5, 149, 232, 185, 118,
- 25, 5, 75, 118, 25, 5, 254, 201, 118, 25, 5, 76, 118, 25, 5, 253, 192,
- 118, 213, 152, 118, 248, 178, 118, 52, 248, 178, 118, 224, 141, 247, 120,
- 118, 224, 141, 52, 247, 120, 118, 224, 141, 232, 213, 118, 224, 141, 249,
- 137, 130, 118, 224, 141, 232, 115, 118, 54, 110, 118, 54, 105, 118, 54,
+ 199, 254, 210, 181, 6, 1, 199, 76, 181, 6, 1, 199, 226, 184, 181, 6, 1,
+ 219, 252, 73, 181, 6, 1, 219, 252, 75, 181, 6, 1, 219, 252, 61, 181, 6,
+ 1, 219, 252, 254, 210, 181, 6, 1, 219, 252, 76, 181, 6, 1, 219, 252, 226,
+ 184, 181, 6, 1, 253, 168, 181, 6, 1, 226, 117, 181, 6, 1, 211, 195, 181,
+ 6, 1, 211, 44, 181, 6, 1, 242, 61, 181, 6, 1, 225, 212, 181, 6, 1, 252,
+ 67, 181, 6, 1, 217, 12, 181, 6, 1, 248, 78, 181, 6, 1, 250, 129, 181, 6,
+ 1, 235, 125, 181, 6, 1, 234, 190, 181, 6, 1, 243, 84, 181, 6, 1, 245,
+ 203, 181, 6, 1, 213, 250, 181, 6, 1, 245, 60, 181, 6, 1, 216, 195, 181,
+ 6, 1, 245, 83, 181, 6, 1, 210, 92, 181, 6, 1, 245, 76, 181, 6, 1, 210,
+ 73, 181, 6, 1, 245, 93, 181, 6, 1, 245, 175, 181, 6, 1, 245, 160, 181, 6,
+ 1, 245, 151, 181, 6, 1, 245, 139, 181, 6, 1, 226, 220, 181, 6, 1, 245,
+ 39, 181, 4, 1, 199, 73, 181, 4, 1, 199, 75, 181, 4, 1, 199, 61, 181, 4,
+ 1, 199, 254, 210, 181, 4, 1, 199, 76, 181, 4, 1, 199, 226, 184, 181, 4,
+ 1, 219, 252, 73, 181, 4, 1, 219, 252, 75, 181, 4, 1, 219, 252, 61, 181,
+ 4, 1, 219, 252, 254, 210, 181, 4, 1, 219, 252, 76, 181, 4, 1, 219, 252,
+ 226, 184, 181, 4, 1, 253, 168, 181, 4, 1, 226, 117, 181, 4, 1, 211, 195,
+ 181, 4, 1, 211, 44, 181, 4, 1, 242, 61, 181, 4, 1, 225, 212, 181, 4, 1,
+ 252, 67, 181, 4, 1, 217, 12, 181, 4, 1, 248, 78, 181, 4, 1, 250, 129,
+ 181, 4, 1, 235, 125, 181, 4, 1, 234, 190, 181, 4, 1, 243, 84, 181, 4, 1,
+ 245, 203, 181, 4, 1, 213, 250, 181, 4, 1, 245, 60, 181, 4, 1, 216, 195,
+ 181, 4, 1, 245, 83, 181, 4, 1, 210, 92, 181, 4, 1, 245, 76, 181, 4, 1,
+ 210, 73, 181, 4, 1, 245, 93, 181, 4, 1, 245, 175, 181, 4, 1, 245, 160,
+ 181, 4, 1, 245, 151, 181, 4, 1, 245, 139, 181, 4, 1, 226, 220, 181, 4, 1,
+ 245, 39, 220, 70, 1, 225, 210, 220, 70, 1, 216, 6, 220, 70, 1, 234, 92,
+ 220, 70, 1, 244, 148, 220, 70, 1, 216, 173, 220, 70, 1, 219, 59, 220, 70,
+ 1, 218, 15, 220, 70, 1, 250, 62, 220, 70, 1, 211, 46, 220, 70, 1, 240,
+ 210, 220, 70, 1, 252, 6, 220, 70, 1, 248, 90, 220, 70, 1, 243, 122, 220,
+ 70, 1, 213, 123, 220, 70, 1, 216, 177, 220, 70, 1, 210, 21, 220, 70, 1,
+ 231, 90, 220, 70, 1, 235, 50, 220, 70, 1, 211, 225, 220, 70, 1, 242, 49,
+ 220, 70, 1, 232, 143, 220, 70, 1, 230, 190, 220, 70, 1, 236, 41, 220, 70,
+ 1, 245, 202, 220, 70, 1, 253, 232, 220, 70, 1, 254, 248, 220, 70, 1, 226,
+ 197, 220, 70, 1, 211, 212, 220, 70, 1, 226, 131, 220, 70, 1, 254, 210,
+ 220, 70, 1, 222, 209, 220, 70, 1, 227, 195, 220, 70, 1, 245, 218, 220,
+ 70, 1, 254, 215, 220, 70, 1, 240, 112, 220, 70, 1, 214, 163, 220, 70, 1,
+ 226, 255, 220, 70, 1, 226, 177, 220, 70, 1, 226, 219, 220, 70, 1, 253,
+ 171, 220, 70, 1, 254, 20, 220, 70, 1, 226, 159, 220, 70, 1, 254, 193,
+ 220, 70, 1, 245, 87, 220, 70, 1, 253, 254, 220, 70, 1, 245, 228, 220, 70,
+ 1, 240, 119, 220, 70, 1, 211, 13, 226, 142, 1, 254, 171, 226, 142, 1,
+ 252, 192, 226, 142, 1, 217, 106, 226, 142, 1, 235, 142, 226, 142, 1, 211,
+ 165, 226, 142, 1, 234, 133, 226, 142, 1, 248, 77, 226, 142, 1, 205, 226,
+ 142, 1, 206, 226, 142, 1, 220, 27, 226, 142, 1, 248, 26, 226, 142, 1,
+ 250, 216, 226, 142, 1, 243, 136, 226, 142, 1, 244, 197, 226, 142, 1, 224,
+ 87, 226, 142, 1, 235, 10, 226, 142, 1, 233, 131, 226, 142, 1, 230, 201,
+ 226, 142, 1, 227, 179, 226, 142, 1, 212, 30, 226, 142, 1, 162, 226, 142,
+ 1, 191, 226, 142, 1, 61, 226, 142, 1, 75, 226, 142, 1, 73, 226, 142, 1,
+ 76, 226, 142, 1, 70, 226, 142, 1, 255, 74, 226, 142, 1, 245, 210, 226,
+ 142, 1, 226, 184, 226, 142, 21, 210, 86, 226, 142, 21, 110, 226, 142, 21,
+ 105, 226, 142, 21, 158, 226, 142, 21, 161, 226, 142, 21, 189, 226, 142,
+ 21, 194, 226, 142, 21, 198, 226, 142, 21, 195, 226, 142, 21, 200, 249,
+ 68, 3, 61, 249, 68, 3, 75, 249, 68, 3, 73, 249, 68, 3, 76, 249, 68, 3,
+ 70, 249, 68, 3, 235, 142, 249, 68, 3, 235, 69, 249, 68, 3, 176, 249, 68,
+ 3, 234, 183, 249, 68, 3, 234, 93, 249, 68, 3, 234, 29, 249, 68, 3, 233,
+ 218, 249, 68, 3, 233, 136, 249, 68, 3, 233, 59, 249, 68, 3, 232, 242,
+ 249, 68, 3, 232, 157, 249, 68, 3, 232, 99, 249, 68, 3, 185, 249, 68, 3,
+ 231, 92, 249, 68, 3, 230, 231, 249, 68, 3, 230, 162, 249, 68, 3, 230,
+ 103, 249, 68, 3, 197, 249, 68, 3, 229, 108, 249, 68, 3, 228, 234, 249,
+ 68, 3, 228, 75, 249, 68, 3, 227, 238, 249, 68, 3, 190, 249, 68, 3, 225,
+ 222, 249, 68, 3, 225, 109, 249, 68, 3, 225, 17, 249, 68, 3, 224, 151,
+ 249, 68, 3, 205, 249, 68, 3, 223, 129, 249, 68, 3, 223, 36, 249, 68, 3,
+ 222, 212, 249, 68, 3, 222, 141, 249, 68, 3, 206, 249, 68, 3, 221, 182,
+ 249, 68, 3, 219, 192, 249, 68, 3, 219, 59, 249, 68, 3, 218, 84, 249, 68,
+ 3, 217, 106, 249, 68, 3, 217, 23, 249, 68, 3, 216, 118, 249, 68, 3, 111,
+ 249, 68, 3, 215, 119, 249, 68, 3, 212, 65, 249, 68, 3, 212, 22, 249, 68,
+ 3, 211, 250, 249, 68, 3, 211, 227, 249, 68, 3, 211, 165, 249, 68, 3, 211,
+ 162, 249, 68, 3, 210, 116, 249, 68, 3, 210, 23, 236, 2, 254, 28, 1, 254,
+ 169, 236, 2, 254, 28, 1, 252, 26, 236, 2, 254, 28, 1, 242, 202, 236, 2,
+ 254, 28, 1, 248, 189, 236, 2, 254, 28, 1, 241, 239, 236, 2, 254, 28, 1,
+ 212, 30, 236, 2, 254, 28, 1, 210, 97, 236, 2, 254, 28, 1, 241, 196, 236,
+ 2, 254, 28, 1, 216, 227, 236, 2, 254, 28, 1, 210, 232, 236, 2, 254, 28,
+ 1, 234, 226, 236, 2, 254, 28, 1, 233, 94, 236, 2, 254, 28, 1, 231, 66,
+ 236, 2, 254, 28, 1, 227, 195, 236, 2, 254, 28, 1, 221, 250, 236, 2, 254,
+ 28, 1, 253, 163, 236, 2, 254, 28, 1, 225, 222, 236, 2, 254, 28, 1, 222,
+ 25, 236, 2, 254, 28, 1, 224, 35, 236, 2, 254, 28, 1, 223, 68, 236, 2,
+ 254, 28, 1, 220, 21, 236, 2, 254, 28, 1, 217, 37, 236, 2, 254, 28, 221,
+ 174, 50, 236, 2, 254, 28, 54, 110, 236, 2, 254, 28, 54, 105, 236, 2, 254,
+ 28, 54, 158, 236, 2, 254, 28, 54, 216, 248, 236, 2, 254, 28, 54, 215, 73,
+ 236, 2, 254, 28, 54, 123, 240, 211, 236, 2, 254, 28, 54, 123, 216, 148,
+ 236, 2, 254, 28, 54, 216, 249, 216, 148, 225, 120, 1, 254, 166, 225, 120,
+ 1, 252, 29, 225, 120, 1, 243, 110, 225, 120, 1, 248, 57, 225, 120, 1,
+ 241, 239, 225, 120, 1, 212, 37, 225, 120, 1, 210, 110, 225, 120, 1, 241,
+ 198, 225, 120, 1, 216, 231, 225, 120, 1, 210, 233, 225, 120, 1, 234, 251,
+ 225, 120, 1, 233, 100, 225, 120, 1, 231, 66, 225, 120, 1, 227, 195, 225,
+ 120, 1, 220, 145, 225, 120, 1, 254, 197, 225, 120, 1, 225, 222, 225, 120,
+ 1, 222, 26, 225, 120, 1, 224, 40, 225, 120, 1, 222, 190, 225, 120, 1,
+ 220, 21, 225, 120, 1, 217, 42, 225, 120, 54, 110, 225, 120, 54, 216, 248,
+ 225, 120, 54, 215, 73, 225, 120, 54, 123, 240, 211, 225, 120, 54, 105,
+ 225, 120, 54, 158, 225, 120, 211, 209, 220, 138, 232, 60, 1, 61, 232, 60,
+ 1, 253, 159, 232, 60, 1, 243, 203, 232, 60, 1, 249, 61, 232, 60, 1, 75,
+ 232, 60, 1, 214, 105, 232, 60, 1, 73, 232, 60, 1, 211, 117, 232, 60, 1,
+ 235, 24, 232, 60, 1, 156, 232, 60, 1, 193, 232, 60, 1, 230, 26, 232, 60,
+ 1, 76, 232, 60, 1, 153, 232, 60, 1, 218, 227, 232, 60, 1, 217, 153, 232,
+ 60, 1, 70, 232, 60, 1, 245, 7, 232, 60, 1, 224, 97, 232, 60, 1, 222, 92,
+ 232, 60, 1, 215, 160, 232, 60, 1, 254, 124, 232, 60, 1, 245, 151, 232,
+ 60, 1, 232, 63, 232, 60, 1, 228, 112, 232, 60, 1, 251, 67, 232, 60, 215,
+ 223, 78, 231, 49, 241, 175, 1, 61, 231, 49, 241, 175, 1, 75, 231, 49,
+ 241, 175, 1, 73, 231, 49, 241, 175, 1, 76, 231, 49, 241, 175, 1, 191,
+ 231, 49, 241, 175, 1, 212, 65, 231, 49, 241, 175, 1, 252, 192, 231, 49,
+ 241, 175, 1, 252, 191, 231, 49, 241, 175, 1, 190, 231, 49, 241, 175, 1,
+ 185, 231, 49, 241, 175, 1, 197, 231, 49, 241, 175, 1, 229, 229, 231, 49,
+ 241, 175, 1, 229, 108, 231, 49, 241, 175, 1, 229, 107, 231, 49, 241, 175,
+ 1, 205, 231, 49, 241, 175, 1, 223, 188, 231, 49, 241, 175, 1, 233, 136,
+ 231, 49, 241, 175, 1, 234, 133, 231, 49, 241, 175, 1, 241, 190, 231, 49,
+ 241, 175, 1, 206, 231, 49, 241, 175, 1, 222, 34, 231, 49, 241, 175, 1,
+ 221, 182, 231, 49, 241, 175, 1, 176, 231, 49, 241, 175, 1, 224, 89, 231,
+ 49, 241, 175, 1, 217, 106, 231, 49, 241, 175, 1, 217, 105, 231, 49, 241,
+ 175, 1, 217, 23, 231, 49, 241, 175, 1, 217, 22, 231, 49, 241, 175, 1,
+ 111, 231, 49, 241, 175, 1, 248, 222, 231, 49, 241, 175, 16, 213, 170,
+ 231, 49, 241, 175, 16, 213, 169, 231, 49, 249, 95, 1, 61, 231, 49, 249,
+ 95, 1, 75, 231, 49, 249, 95, 1, 73, 231, 49, 249, 95, 1, 76, 231, 49,
+ 249, 95, 1, 191, 231, 49, 249, 95, 1, 212, 65, 231, 49, 249, 95, 1, 252,
+ 192, 231, 49, 249, 95, 1, 190, 231, 49, 249, 95, 1, 185, 231, 49, 249,
+ 95, 1, 197, 231, 49, 249, 95, 1, 229, 108, 231, 49, 249, 95, 1, 205, 231,
+ 49, 249, 95, 1, 233, 136, 231, 49, 249, 95, 1, 234, 133, 231, 49, 249,
+ 95, 1, 241, 190, 231, 49, 249, 95, 1, 206, 231, 49, 249, 95, 1, 254, 24,
+ 206, 231, 49, 249, 95, 1, 221, 182, 231, 49, 249, 95, 1, 176, 231, 49,
+ 249, 95, 1, 224, 89, 231, 49, 249, 95, 1, 217, 106, 231, 49, 249, 95, 1,
+ 217, 23, 231, 49, 249, 95, 1, 111, 231, 49, 249, 95, 1, 248, 222, 231,
+ 49, 249, 95, 232, 146, 222, 218, 231, 49, 249, 95, 232, 146, 236, 7, 234,
+ 121, 1, 61, 234, 121, 25, 5, 73, 234, 121, 25, 5, 70, 234, 121, 25, 5,
+ 149, 153, 234, 121, 25, 5, 75, 234, 121, 25, 5, 76, 234, 121, 25, 233,
+ 24, 78, 234, 121, 5, 52, 222, 235, 51, 234, 121, 5, 254, 76, 234, 121, 5,
+ 213, 147, 234, 121, 1, 176, 234, 121, 1, 234, 133, 234, 121, 1, 243, 136,
+ 234, 121, 1, 242, 250, 234, 121, 1, 251, 34, 234, 121, 1, 250, 158, 234,
+ 121, 1, 235, 142, 234, 121, 1, 227, 166, 234, 121, 1, 215, 157, 234, 121,
+ 1, 215, 145, 234, 121, 1, 248, 136, 234, 121, 1, 248, 120, 234, 121, 1,
+ 228, 111, 234, 121, 1, 217, 106, 234, 121, 1, 216, 209, 234, 121, 1, 248,
+ 222, 234, 121, 1, 248, 26, 234, 121, 1, 197, 234, 121, 1, 190, 234, 121,
+ 1, 225, 148, 234, 121, 1, 252, 192, 234, 121, 1, 252, 19, 234, 121, 1,
+ 185, 234, 121, 1, 191, 234, 121, 1, 205, 234, 121, 1, 233, 136, 234, 121,
+ 1, 214, 27, 234, 121, 1, 220, 103, 234, 121, 1, 218, 224, 234, 121, 1,
+ 206, 234, 121, 1, 210, 116, 234, 121, 1, 162, 234, 121, 1, 234, 47, 234,
+ 121, 1, 215, 125, 234, 121, 5, 252, 142, 48, 234, 121, 5, 250, 222, 234,
+ 121, 5, 59, 51, 234, 121, 213, 152, 234, 121, 21, 110, 234, 121, 21, 105,
+ 234, 121, 21, 158, 234, 121, 21, 161, 234, 121, 54, 216, 248, 234, 121,
+ 54, 215, 73, 234, 121, 54, 123, 240, 211, 234, 121, 54, 123, 216, 148,
+ 234, 121, 224, 142, 247, 121, 234, 121, 224, 142, 4, 250, 36, 234, 121,
+ 224, 142, 250, 36, 234, 121, 224, 142, 249, 138, 130, 234, 121, 224, 142,
+ 231, 181, 234, 121, 224, 142, 232, 116, 234, 121, 224, 142, 248, 179,
+ 234, 121, 224, 142, 52, 248, 179, 234, 121, 224, 142, 232, 208, 55, 219,
+ 29, 254, 39, 1, 241, 239, 55, 219, 29, 254, 39, 1, 233, 94, 55, 219, 29,
+ 254, 39, 1, 241, 196, 55, 219, 29, 254, 39, 1, 231, 66, 55, 219, 29, 254,
+ 39, 1, 224, 35, 55, 219, 29, 254, 39, 1, 212, 30, 55, 219, 29, 254, 39,
+ 1, 220, 21, 55, 219, 29, 254, 39, 1, 223, 68, 55, 219, 29, 254, 39, 1,
+ 252, 26, 55, 219, 29, 254, 39, 1, 217, 37, 55, 219, 29, 254, 39, 1, 221,
+ 227, 55, 219, 29, 254, 39, 1, 234, 226, 55, 219, 29, 254, 39, 1, 227,
+ 195, 55, 219, 29, 254, 39, 1, 234, 117, 55, 219, 29, 254, 39, 1, 222, 25,
+ 55, 219, 29, 254, 39, 1, 221, 250, 55, 219, 29, 254, 39, 1, 244, 155, 55,
+ 219, 29, 254, 39, 1, 254, 171, 55, 219, 29, 254, 39, 1, 253, 162, 55,
+ 219, 29, 254, 39, 1, 248, 23, 55, 219, 29, 254, 39, 1, 242, 202, 55, 219,
+ 29, 254, 39, 1, 248, 189, 55, 219, 29, 254, 39, 1, 242, 239, 55, 219, 29,
+ 254, 39, 1, 216, 227, 55, 219, 29, 254, 39, 1, 210, 96, 55, 219, 29, 254,
+ 39, 1, 248, 20, 55, 219, 29, 254, 39, 1, 210, 232, 55, 219, 29, 254, 39,
+ 1, 216, 198, 55, 219, 29, 254, 39, 1, 216, 179, 55, 219, 29, 254, 39, 54,
+ 110, 55, 219, 29, 254, 39, 54, 244, 115, 55, 219, 29, 254, 39, 132, 235,
+ 239, 253, 173, 1, 61, 253, 173, 1, 255, 74, 253, 173, 1, 254, 74, 253,
+ 173, 1, 255, 33, 253, 173, 1, 254, 124, 253, 173, 1, 255, 34, 253, 173,
+ 1, 254, 244, 253, 173, 1, 254, 240, 253, 173, 1, 75, 253, 173, 1, 245,
+ 210, 253, 173, 1, 76, 253, 173, 1, 226, 184, 253, 173, 1, 73, 253, 173,
+ 1, 236, 34, 253, 173, 1, 70, 253, 173, 1, 214, 118, 253, 173, 1, 234,
+ 183, 253, 173, 1, 211, 162, 253, 173, 1, 211, 128, 253, 173, 1, 211, 137,
+ 253, 173, 1, 243, 63, 253, 173, 1, 243, 25, 253, 173, 1, 242, 237, 253,
+ 173, 1, 250, 191, 253, 173, 1, 235, 127, 253, 173, 1, 217, 23, 253, 173,
+ 1, 216, 196, 253, 173, 1, 248, 91, 253, 173, 1, 248, 18, 253, 173, 1,
+ 215, 152, 253, 173, 1, 225, 222, 253, 173, 1, 244, 155, 253, 173, 1, 252,
+ 76, 253, 173, 1, 252, 15, 253, 173, 1, 229, 65, 253, 173, 1, 228, 240,
+ 253, 173, 1, 228, 241, 253, 173, 1, 229, 108, 253, 173, 1, 227, 157, 253,
+ 173, 1, 228, 106, 253, 173, 1, 231, 92, 253, 173, 1, 241, 117, 253, 173,
+ 1, 210, 166, 253, 173, 1, 211, 47, 253, 173, 1, 213, 255, 253, 173, 1,
+ 223, 129, 253, 173, 1, 233, 59, 253, 173, 1, 221, 182, 253, 173, 1, 210,
+ 94, 253, 173, 1, 220, 64, 253, 173, 1, 210, 74, 253, 173, 1, 219, 199,
+ 253, 173, 1, 218, 194, 253, 173, 1, 241, 239, 253, 173, 255, 22, 78, 216,
+ 80, 113, 170, 117, 123, 59, 224, 141, 4, 113, 170, 117, 123, 59, 224,
+ 141, 233, 86, 113, 170, 117, 123, 59, 224, 141, 233, 86, 123, 59, 117,
+ 113, 170, 224, 141, 233, 86, 113, 222, 233, 117, 123, 222, 235, 224, 141,
+ 233, 86, 123, 222, 235, 117, 113, 222, 233, 224, 141, 235, 219, 225, 255,
+ 1, 254, 169, 235, 219, 225, 255, 1, 252, 26, 235, 219, 225, 255, 1, 242,
+ 202, 235, 219, 225, 255, 1, 248, 189, 235, 219, 225, 255, 1, 241, 239,
+ 235, 219, 225, 255, 1, 212, 30, 235, 219, 225, 255, 1, 210, 97, 235, 219,
+ 225, 255, 1, 241, 196, 235, 219, 225, 255, 1, 216, 227, 235, 219, 225,
+ 255, 1, 210, 232, 235, 219, 225, 255, 1, 234, 226, 235, 219, 225, 255, 1,
+ 233, 94, 235, 219, 225, 255, 1, 231, 66, 235, 219, 225, 255, 1, 227, 195,
+ 235, 219, 225, 255, 1, 221, 250, 235, 219, 225, 255, 1, 253, 163, 235,
+ 219, 225, 255, 1, 225, 222, 235, 219, 225, 255, 1, 222, 25, 235, 219,
+ 225, 255, 1, 224, 35, 235, 219, 225, 255, 1, 223, 68, 235, 219, 225, 255,
+ 1, 220, 21, 235, 219, 225, 255, 1, 217, 37, 235, 219, 225, 255, 54, 110,
+ 235, 219, 225, 255, 54, 105, 235, 219, 225, 255, 54, 158, 235, 219, 225,
+ 255, 54, 161, 235, 219, 225, 255, 54, 216, 248, 235, 219, 225, 255, 54,
+ 215, 73, 235, 219, 225, 255, 54, 123, 240, 211, 235, 219, 225, 255, 54,
+ 123, 216, 148, 235, 219, 226, 73, 1, 254, 169, 235, 219, 226, 73, 1, 252,
+ 26, 235, 219, 226, 73, 1, 242, 202, 235, 219, 226, 73, 1, 248, 189, 235,
+ 219, 226, 73, 1, 241, 239, 235, 219, 226, 73, 1, 212, 29, 235, 219, 226,
+ 73, 1, 210, 97, 235, 219, 226, 73, 1, 241, 196, 235, 219, 226, 73, 1,
+ 216, 227, 235, 219, 226, 73, 1, 210, 232, 235, 219, 226, 73, 1, 234, 226,
+ 235, 219, 226, 73, 1, 233, 94, 235, 219, 226, 73, 1, 231, 65, 235, 219,
+ 226, 73, 1, 227, 195, 235, 219, 226, 73, 1, 221, 250, 235, 219, 226, 73,
+ 1, 225, 222, 235, 219, 226, 73, 1, 222, 25, 235, 219, 226, 73, 1, 220,
+ 21, 235, 219, 226, 73, 1, 217, 37, 235, 219, 226, 73, 54, 110, 235, 219,
+ 226, 73, 54, 105, 235, 219, 226, 73, 54, 158, 235, 219, 226, 73, 54, 161,
+ 235, 219, 226, 73, 54, 216, 248, 235, 219, 226, 73, 54, 215, 73, 235,
+ 219, 226, 73, 54, 123, 240, 211, 235, 219, 226, 73, 54, 123, 216, 148,
+ 55, 201, 1, 226, 150, 61, 55, 201, 1, 211, 37, 61, 55, 201, 1, 211, 37,
+ 254, 244, 55, 201, 1, 226, 150, 73, 55, 201, 1, 211, 37, 73, 55, 201, 1,
+ 211, 37, 75, 55, 201, 1, 226, 150, 76, 55, 201, 1, 226, 150, 226, 235,
+ 55, 201, 1, 211, 37, 226, 235, 55, 201, 1, 226, 150, 255, 26, 55, 201, 1,
+ 211, 37, 255, 26, 55, 201, 1, 226, 150, 254, 243, 55, 201, 1, 211, 37,
+ 254, 243, 55, 201, 1, 226, 150, 254, 217, 55, 201, 1, 211, 37, 254, 217,
+ 55, 201, 1, 226, 150, 254, 238, 55, 201, 1, 211, 37, 254, 238, 55, 201,
+ 1, 226, 150, 255, 0, 55, 201, 1, 211, 37, 255, 0, 55, 201, 1, 226, 150,
+ 254, 242, 55, 201, 1, 226, 150, 245, 13, 55, 201, 1, 211, 37, 245, 13,
+ 55, 201, 1, 226, 150, 253, 168, 55, 201, 1, 211, 37, 253, 168, 55, 201,
+ 1, 226, 150, 254, 225, 55, 201, 1, 211, 37, 254, 225, 55, 201, 1, 226,
+ 150, 254, 236, 55, 201, 1, 211, 37, 254, 236, 55, 201, 1, 226, 150, 226,
+ 234, 55, 201, 1, 211, 37, 226, 234, 55, 201, 1, 226, 150, 254, 179, 55,
+ 201, 1, 211, 37, 254, 179, 55, 201, 1, 226, 150, 254, 235, 55, 201, 1,
+ 226, 150, 245, 162, 55, 201, 1, 226, 150, 245, 160, 55, 201, 1, 226, 150,
+ 254, 124, 55, 201, 1, 226, 150, 254, 233, 55, 201, 1, 211, 37, 254, 233,
+ 55, 201, 1, 226, 150, 245, 132, 55, 201, 1, 211, 37, 245, 132, 55, 201,
+ 1, 226, 150, 245, 148, 55, 201, 1, 211, 37, 245, 148, 55, 201, 1, 226,
+ 150, 245, 119, 55, 201, 1, 211, 37, 245, 119, 55, 201, 1, 211, 37, 254,
+ 116, 55, 201, 1, 226, 150, 245, 139, 55, 201, 1, 211, 37, 254, 232, 55,
+ 201, 1, 226, 150, 245, 109, 55, 201, 1, 226, 150, 226, 176, 55, 201, 1,
+ 226, 150, 240, 114, 55, 201, 1, 226, 150, 245, 216, 55, 201, 1, 211, 37,
+ 245, 216, 55, 201, 1, 226, 150, 254, 46, 55, 201, 1, 211, 37, 254, 46,
+ 55, 201, 1, 226, 150, 235, 182, 55, 201, 1, 211, 37, 235, 182, 55, 201,
+ 1, 226, 150, 226, 160, 55, 201, 1, 211, 37, 226, 160, 55, 201, 1, 226,
+ 150, 254, 42, 55, 201, 1, 211, 37, 254, 42, 55, 201, 1, 226, 150, 254,
+ 231, 55, 201, 1, 226, 150, 253, 238, 55, 201, 1, 226, 150, 254, 229, 55,
+ 201, 1, 226, 150, 253, 232, 55, 201, 1, 211, 37, 253, 232, 55, 201, 1,
+ 226, 150, 245, 76, 55, 201, 1, 211, 37, 245, 76, 55, 201, 1, 226, 150,
+ 253, 207, 55, 201, 1, 211, 37, 253, 207, 55, 201, 1, 226, 150, 254, 226,
+ 55, 201, 1, 211, 37, 254, 226, 55, 201, 1, 226, 150, 226, 141, 55, 201,
+ 1, 226, 150, 252, 126, 222, 128, 21, 110, 222, 128, 21, 105, 222, 128,
+ 21, 158, 222, 128, 21, 161, 222, 128, 21, 189, 222, 128, 21, 194, 222,
+ 128, 21, 198, 222, 128, 21, 195, 222, 128, 21, 200, 222, 128, 54, 216,
+ 248, 222, 128, 54, 215, 73, 222, 128, 54, 216, 163, 222, 128, 54, 244,
+ 16, 222, 128, 54, 244, 115, 222, 128, 54, 219, 112, 222, 128, 54, 220,
+ 117, 222, 128, 54, 245, 185, 222, 128, 54, 228, 196, 222, 128, 54, 123,
+ 240, 211, 222, 128, 54, 113, 240, 211, 222, 128, 54, 134, 240, 211, 222,
+ 128, 54, 244, 12, 240, 211, 222, 128, 54, 244, 82, 240, 211, 222, 128,
+ 54, 219, 126, 240, 211, 222, 128, 54, 220, 123, 240, 211, 222, 128, 54,
+ 245, 194, 240, 211, 222, 128, 54, 228, 201, 240, 211, 222, 128, 244, 3,
+ 123, 242, 28, 222, 128, 244, 3, 123, 224, 22, 222, 128, 244, 3, 123, 216,
+ 169, 222, 128, 244, 3, 113, 216, 167, 118, 5, 251, 0, 118, 5, 254, 76,
+ 118, 5, 213, 147, 118, 5, 235, 103, 118, 5, 214, 161, 118, 1, 61, 118, 1,
+ 255, 74, 118, 1, 73, 118, 1, 236, 34, 118, 1, 70, 118, 1, 214, 118, 118,
+ 1, 149, 153, 118, 1, 149, 222, 181, 118, 1, 149, 156, 118, 1, 149, 232,
+ 186, 118, 1, 75, 118, 1, 254, 202, 118, 1, 76, 118, 1, 253, 193, 118, 1,
+ 176, 118, 1, 234, 133, 118, 1, 243, 136, 118, 1, 242, 250, 118, 1, 229,
+ 78, 118, 1, 251, 34, 118, 1, 250, 158, 118, 1, 235, 142, 118, 1, 235,
+ 115, 118, 1, 227, 166, 118, 1, 215, 157, 118, 1, 215, 145, 118, 1, 248,
+ 136, 118, 1, 248, 120, 118, 1, 228, 111, 118, 1, 217, 106, 118, 1, 216,
+ 209, 118, 1, 248, 222, 118, 1, 248, 26, 118, 1, 197, 118, 1, 190, 118, 1,
+ 225, 148, 118, 1, 252, 192, 118, 1, 252, 19, 118, 1, 185, 118, 1, 191,
+ 118, 1, 205, 118, 1, 233, 136, 118, 1, 214, 27, 118, 1, 220, 103, 118, 1,
+ 218, 224, 118, 1, 206, 118, 1, 162, 118, 1, 232, 185, 118, 1, 55, 36,
+ 232, 176, 118, 1, 55, 36, 222, 180, 118, 1, 55, 36, 228, 93, 118, 25, 5,
+ 255, 74, 118, 25, 5, 252, 16, 255, 74, 118, 25, 5, 73, 118, 25, 5, 236,
+ 34, 118, 25, 5, 70, 118, 25, 5, 214, 118, 118, 25, 5, 149, 153, 118, 25,
+ 5, 149, 222, 181, 118, 25, 5, 149, 156, 118, 25, 5, 149, 232, 186, 118,
+ 25, 5, 75, 118, 25, 5, 254, 202, 118, 25, 5, 76, 118, 25, 5, 253, 193,
+ 118, 213, 152, 118, 248, 179, 118, 52, 248, 179, 118, 224, 142, 247, 121,
+ 118, 224, 142, 52, 247, 121, 118, 224, 142, 232, 214, 118, 224, 142, 249,
+ 138, 130, 118, 224, 142, 232, 116, 118, 54, 110, 118, 54, 105, 118, 54,
158, 118, 54, 161, 118, 54, 189, 118, 54, 194, 118, 54, 198, 118, 54,
- 195, 118, 54, 200, 118, 54, 216, 247, 118, 54, 215, 73, 118, 54, 216,
- 162, 118, 54, 244, 15, 118, 54, 244, 114, 118, 54, 219, 111, 118, 54,
- 220, 116, 118, 54, 245, 184, 118, 54, 228, 195, 118, 54, 123, 240, 210,
- 118, 54, 123, 216, 147, 118, 21, 210, 86, 118, 21, 110, 118, 21, 105,
+ 195, 118, 54, 200, 118, 54, 216, 248, 118, 54, 215, 73, 118, 54, 216,
+ 163, 118, 54, 244, 16, 118, 54, 244, 115, 118, 54, 219, 112, 118, 54,
+ 220, 117, 118, 54, 245, 185, 118, 54, 228, 196, 118, 54, 123, 240, 211,
+ 118, 54, 123, 216, 148, 118, 21, 210, 86, 118, 21, 110, 118, 21, 105,
118, 21, 158, 118, 21, 161, 118, 21, 189, 118, 21, 194, 118, 21, 198,
- 118, 21, 195, 118, 21, 200, 234, 244, 5, 250, 255, 234, 244, 5, 254, 75,
- 234, 244, 5, 213, 147, 234, 244, 1, 61, 234, 244, 1, 255, 73, 234, 244,
- 1, 73, 234, 244, 1, 236, 33, 234, 244, 1, 70, 234, 244, 1, 214, 118, 234,
- 244, 1, 75, 234, 244, 1, 254, 201, 234, 244, 1, 76, 234, 244, 1, 253,
- 192, 234, 244, 1, 176, 234, 244, 1, 234, 132, 234, 244, 1, 243, 135, 234,
- 244, 1, 242, 249, 234, 244, 1, 229, 77, 234, 244, 1, 251, 33, 234, 244,
- 1, 250, 157, 234, 244, 1, 235, 141, 234, 244, 1, 235, 114, 234, 244, 1,
- 227, 165, 234, 244, 1, 215, 156, 234, 244, 1, 215, 144, 234, 244, 1, 248,
- 135, 234, 244, 1, 248, 124, 234, 244, 1, 248, 119, 234, 244, 1, 223, 39,
- 234, 244, 1, 228, 110, 234, 244, 1, 217, 105, 234, 244, 1, 216, 208, 234,
- 244, 1, 248, 221, 234, 244, 1, 248, 25, 234, 244, 1, 197, 234, 244, 1,
- 190, 234, 244, 1, 225, 147, 234, 244, 1, 252, 191, 234, 244, 1, 252, 18,
- 234, 244, 1, 184, 234, 244, 1, 191, 234, 244, 1, 205, 234, 244, 1, 233,
- 135, 234, 244, 1, 214, 27, 234, 244, 1, 220, 102, 234, 244, 1, 218, 223,
- 234, 244, 1, 206, 234, 244, 1, 162, 234, 244, 25, 5, 255, 73, 234, 244,
- 25, 5, 73, 234, 244, 25, 5, 236, 33, 234, 244, 25, 5, 70, 234, 244, 25,
- 5, 214, 118, 234, 244, 25, 5, 75, 234, 244, 25, 5, 254, 201, 234, 244,
- 25, 5, 76, 234, 244, 25, 5, 253, 192, 234, 244, 5, 213, 152, 234, 244, 5,
- 227, 205, 234, 244, 255, 21, 50, 234, 244, 245, 121, 50, 234, 244, 54,
- 50, 234, 244, 221, 173, 78, 234, 244, 52, 221, 173, 78, 234, 244, 248,
- 178, 234, 244, 52, 248, 178, 219, 36, 219, 44, 1, 222, 18, 219, 36, 219,
- 44, 1, 217, 80, 219, 36, 219, 44, 1, 252, 168, 219, 36, 219, 44, 1, 251,
- 23, 219, 36, 219, 44, 1, 248, 203, 219, 36, 219, 44, 1, 243, 120, 219,
- 36, 219, 44, 1, 231, 210, 219, 36, 219, 44, 1, 229, 74, 219, 36, 219, 44,
- 1, 233, 112, 219, 36, 219, 44, 1, 229, 213, 219, 36, 219, 44, 1, 214, 24,
- 219, 36, 219, 44, 1, 226, 73, 219, 36, 219, 44, 1, 211, 84, 219, 36, 219,
- 44, 1, 223, 168, 219, 36, 219, 44, 1, 242, 37, 219, 36, 219, 44, 1, 234,
- 248, 219, 36, 219, 44, 1, 235, 136, 219, 36, 219, 44, 1, 227, 162, 219,
- 36, 219, 44, 1, 254, 209, 219, 36, 219, 44, 1, 245, 207, 219, 36, 219,
- 44, 1, 236, 34, 219, 36, 219, 44, 1, 214, 208, 219, 36, 219, 44, 1, 226,
- 222, 219, 36, 219, 44, 1, 245, 197, 219, 36, 219, 44, 1, 231, 223, 219,
- 36, 219, 44, 21, 210, 86, 219, 36, 219, 44, 21, 110, 219, 36, 219, 44,
- 21, 105, 219, 36, 219, 44, 21, 158, 219, 36, 219, 44, 21, 161, 219, 36,
- 219, 44, 21, 189, 219, 36, 219, 44, 21, 194, 219, 36, 219, 44, 21, 198,
- 219, 36, 219, 44, 21, 195, 219, 36, 219, 44, 21, 200, 250, 151, 5, 250,
- 255, 250, 151, 5, 254, 75, 250, 151, 5, 213, 147, 250, 151, 1, 255, 73,
- 250, 151, 1, 73, 250, 151, 1, 70, 250, 151, 1, 75, 250, 151, 1, 235, 10,
- 250, 151, 1, 234, 131, 250, 151, 1, 243, 132, 250, 151, 1, 242, 248, 250,
- 151, 1, 229, 76, 250, 151, 1, 251, 32, 250, 151, 1, 250, 156, 250, 151,
- 1, 235, 140, 250, 151, 1, 235, 113, 250, 151, 1, 227, 164, 250, 151, 1,
- 215, 155, 250, 151, 1, 215, 143, 250, 151, 1, 248, 134, 250, 151, 1, 248,
- 118, 250, 151, 1, 228, 109, 250, 151, 1, 217, 101, 250, 151, 1, 216, 207,
- 250, 151, 1, 248, 220, 250, 151, 1, 248, 24, 250, 151, 1, 229, 225, 250,
- 151, 1, 226, 89, 250, 151, 1, 225, 146, 250, 151, 1, 252, 189, 250, 151,
- 1, 252, 17, 250, 151, 1, 231, 237, 250, 151, 1, 210, 167, 250, 151, 1,
- 211, 103, 250, 151, 1, 223, 184, 250, 151, 1, 233, 134, 250, 151, 1, 212,
- 64, 250, 151, 1, 222, 31, 250, 151, 1, 242, 46, 250, 151, 25, 5, 61, 250,
- 151, 25, 5, 73, 250, 151, 25, 5, 236, 33, 250, 151, 25, 5, 70, 250, 151,
- 25, 5, 214, 118, 250, 151, 25, 5, 75, 250, 151, 25, 5, 254, 201, 250,
- 151, 25, 5, 76, 250, 151, 25, 5, 253, 192, 250, 151, 25, 5, 226, 219,
- 250, 151, 144, 78, 250, 151, 253, 193, 78, 250, 151, 213, 152, 250, 151,
- 231, 235, 250, 151, 21, 210, 86, 250, 151, 21, 110, 250, 151, 21, 105,
- 250, 151, 21, 158, 250, 151, 21, 161, 250, 151, 21, 189, 250, 151, 21,
- 194, 250, 151, 21, 198, 250, 151, 21, 195, 250, 151, 21, 200, 250, 151,
- 221, 173, 78, 250, 151, 248, 178, 250, 151, 52, 248, 178, 250, 151, 224,
- 13, 78, 174, 5, 250, 255, 174, 5, 254, 75, 174, 5, 213, 147, 174, 1, 61,
- 174, 1, 255, 73, 174, 1, 73, 174, 1, 236, 33, 174, 1, 70, 174, 1, 214,
- 118, 174, 1, 149, 153, 174, 1, 149, 222, 180, 174, 1, 149, 156, 174, 1,
- 149, 232, 185, 174, 1, 75, 174, 1, 254, 201, 174, 1, 76, 174, 1, 253,
- 192, 174, 1, 176, 174, 1, 234, 132, 174, 1, 243, 135, 174, 1, 242, 249,
- 174, 1, 229, 77, 174, 1, 251, 33, 174, 1, 250, 157, 174, 1, 235, 141,
- 174, 1, 235, 114, 174, 1, 227, 165, 174, 1, 215, 156, 174, 1, 215, 144,
- 174, 1, 248, 135, 174, 1, 248, 119, 174, 1, 228, 110, 174, 1, 217, 105,
- 174, 1, 216, 208, 174, 1, 248, 221, 174, 1, 248, 25, 174, 1, 197, 174, 1,
- 190, 174, 1, 225, 147, 174, 1, 252, 191, 174, 1, 252, 18, 174, 1, 184,
- 174, 1, 191, 174, 1, 205, 174, 1, 233, 135, 174, 1, 232, 184, 174, 1,
- 214, 27, 174, 1, 220, 102, 174, 1, 218, 223, 174, 1, 206, 174, 1, 162,
- 174, 25, 5, 255, 73, 174, 25, 5, 73, 174, 25, 5, 236, 33, 174, 25, 5, 70,
- 174, 25, 5, 214, 118, 174, 25, 5, 149, 153, 174, 25, 5, 149, 222, 180,
- 174, 25, 5, 149, 156, 174, 25, 5, 149, 232, 185, 174, 25, 5, 75, 174, 25,
- 5, 254, 201, 174, 25, 5, 76, 174, 25, 5, 253, 192, 174, 5, 213, 152, 174,
- 5, 253, 175, 174, 5, 235, 102, 174, 5, 214, 161, 174, 226, 204, 174, 248,
- 178, 174, 52, 248, 178, 174, 255, 21, 50, 174, 220, 137, 174, 21, 210,
+ 118, 21, 195, 118, 21, 200, 234, 245, 5, 251, 0, 234, 245, 5, 254, 76,
+ 234, 245, 5, 213, 147, 234, 245, 1, 61, 234, 245, 1, 255, 74, 234, 245,
+ 1, 73, 234, 245, 1, 236, 34, 234, 245, 1, 70, 234, 245, 1, 214, 118, 234,
+ 245, 1, 75, 234, 245, 1, 254, 202, 234, 245, 1, 76, 234, 245, 1, 253,
+ 193, 234, 245, 1, 176, 234, 245, 1, 234, 133, 234, 245, 1, 243, 136, 234,
+ 245, 1, 242, 250, 234, 245, 1, 229, 78, 234, 245, 1, 251, 34, 234, 245,
+ 1, 250, 158, 234, 245, 1, 235, 142, 234, 245, 1, 235, 115, 234, 245, 1,
+ 227, 166, 234, 245, 1, 215, 157, 234, 245, 1, 215, 145, 234, 245, 1, 248,
+ 136, 234, 245, 1, 248, 125, 234, 245, 1, 248, 120, 234, 245, 1, 223, 40,
+ 234, 245, 1, 228, 111, 234, 245, 1, 217, 106, 234, 245, 1, 216, 209, 234,
+ 245, 1, 248, 222, 234, 245, 1, 248, 26, 234, 245, 1, 197, 234, 245, 1,
+ 190, 234, 245, 1, 225, 148, 234, 245, 1, 252, 192, 234, 245, 1, 252, 19,
+ 234, 245, 1, 185, 234, 245, 1, 191, 234, 245, 1, 205, 234, 245, 1, 233,
+ 136, 234, 245, 1, 214, 27, 234, 245, 1, 220, 103, 234, 245, 1, 218, 224,
+ 234, 245, 1, 206, 234, 245, 1, 162, 234, 245, 25, 5, 255, 74, 234, 245,
+ 25, 5, 73, 234, 245, 25, 5, 236, 34, 234, 245, 25, 5, 70, 234, 245, 25,
+ 5, 214, 118, 234, 245, 25, 5, 75, 234, 245, 25, 5, 254, 202, 234, 245,
+ 25, 5, 76, 234, 245, 25, 5, 253, 193, 234, 245, 5, 213, 152, 234, 245, 5,
+ 227, 206, 234, 245, 255, 22, 50, 234, 245, 245, 122, 50, 234, 245, 54,
+ 50, 234, 245, 221, 174, 78, 234, 245, 52, 221, 174, 78, 234, 245, 248,
+ 179, 234, 245, 52, 248, 179, 219, 37, 219, 45, 1, 222, 19, 219, 37, 219,
+ 45, 1, 217, 81, 219, 37, 219, 45, 1, 252, 169, 219, 37, 219, 45, 1, 251,
+ 24, 219, 37, 219, 45, 1, 248, 204, 219, 37, 219, 45, 1, 243, 121, 219,
+ 37, 219, 45, 1, 231, 211, 219, 37, 219, 45, 1, 229, 75, 219, 37, 219, 45,
+ 1, 233, 113, 219, 37, 219, 45, 1, 229, 214, 219, 37, 219, 45, 1, 214, 24,
+ 219, 37, 219, 45, 1, 226, 74, 219, 37, 219, 45, 1, 211, 84, 219, 37, 219,
+ 45, 1, 223, 169, 219, 37, 219, 45, 1, 242, 38, 219, 37, 219, 45, 1, 234,
+ 249, 219, 37, 219, 45, 1, 235, 137, 219, 37, 219, 45, 1, 227, 163, 219,
+ 37, 219, 45, 1, 254, 210, 219, 37, 219, 45, 1, 245, 208, 219, 37, 219,
+ 45, 1, 236, 35, 219, 37, 219, 45, 1, 214, 208, 219, 37, 219, 45, 1, 226,
+ 223, 219, 37, 219, 45, 1, 245, 198, 219, 37, 219, 45, 1, 231, 224, 219,
+ 37, 219, 45, 21, 210, 86, 219, 37, 219, 45, 21, 110, 219, 37, 219, 45,
+ 21, 105, 219, 37, 219, 45, 21, 158, 219, 37, 219, 45, 21, 161, 219, 37,
+ 219, 45, 21, 189, 219, 37, 219, 45, 21, 194, 219, 37, 219, 45, 21, 198,
+ 219, 37, 219, 45, 21, 195, 219, 37, 219, 45, 21, 200, 250, 152, 5, 251,
+ 0, 250, 152, 5, 254, 76, 250, 152, 5, 213, 147, 250, 152, 1, 255, 74,
+ 250, 152, 1, 73, 250, 152, 1, 70, 250, 152, 1, 75, 250, 152, 1, 235, 11,
+ 250, 152, 1, 234, 132, 250, 152, 1, 243, 133, 250, 152, 1, 242, 249, 250,
+ 152, 1, 229, 77, 250, 152, 1, 251, 33, 250, 152, 1, 250, 157, 250, 152,
+ 1, 235, 141, 250, 152, 1, 235, 114, 250, 152, 1, 227, 165, 250, 152, 1,
+ 215, 156, 250, 152, 1, 215, 144, 250, 152, 1, 248, 135, 250, 152, 1, 248,
+ 119, 250, 152, 1, 228, 110, 250, 152, 1, 217, 102, 250, 152, 1, 216, 208,
+ 250, 152, 1, 248, 221, 250, 152, 1, 248, 25, 250, 152, 1, 229, 226, 250,
+ 152, 1, 226, 90, 250, 152, 1, 225, 147, 250, 152, 1, 252, 190, 250, 152,
+ 1, 252, 18, 250, 152, 1, 231, 238, 250, 152, 1, 210, 167, 250, 152, 1,
+ 211, 103, 250, 152, 1, 223, 185, 250, 152, 1, 233, 135, 250, 152, 1, 212,
+ 64, 250, 152, 1, 222, 32, 250, 152, 1, 242, 47, 250, 152, 25, 5, 61, 250,
+ 152, 25, 5, 73, 250, 152, 25, 5, 236, 34, 250, 152, 25, 5, 70, 250, 152,
+ 25, 5, 214, 118, 250, 152, 25, 5, 75, 250, 152, 25, 5, 254, 202, 250,
+ 152, 25, 5, 76, 250, 152, 25, 5, 253, 193, 250, 152, 25, 5, 226, 220,
+ 250, 152, 144, 78, 250, 152, 253, 194, 78, 250, 152, 213, 152, 250, 152,
+ 231, 236, 250, 152, 21, 210, 86, 250, 152, 21, 110, 250, 152, 21, 105,
+ 250, 152, 21, 158, 250, 152, 21, 161, 250, 152, 21, 189, 250, 152, 21,
+ 194, 250, 152, 21, 198, 250, 152, 21, 195, 250, 152, 21, 200, 250, 152,
+ 221, 174, 78, 250, 152, 248, 179, 250, 152, 52, 248, 179, 250, 152, 224,
+ 14, 78, 174, 5, 251, 0, 174, 5, 254, 76, 174, 5, 213, 147, 174, 1, 61,
+ 174, 1, 255, 74, 174, 1, 73, 174, 1, 236, 34, 174, 1, 70, 174, 1, 214,
+ 118, 174, 1, 149, 153, 174, 1, 149, 222, 181, 174, 1, 149, 156, 174, 1,
+ 149, 232, 186, 174, 1, 75, 174, 1, 254, 202, 174, 1, 76, 174, 1, 253,
+ 193, 174, 1, 176, 174, 1, 234, 133, 174, 1, 243, 136, 174, 1, 242, 250,
+ 174, 1, 229, 78, 174, 1, 251, 34, 174, 1, 250, 158, 174, 1, 235, 142,
+ 174, 1, 235, 115, 174, 1, 227, 166, 174, 1, 215, 157, 174, 1, 215, 145,
+ 174, 1, 248, 136, 174, 1, 248, 120, 174, 1, 228, 111, 174, 1, 217, 106,
+ 174, 1, 216, 209, 174, 1, 248, 222, 174, 1, 248, 26, 174, 1, 197, 174, 1,
+ 190, 174, 1, 225, 148, 174, 1, 252, 192, 174, 1, 252, 19, 174, 1, 185,
+ 174, 1, 191, 174, 1, 205, 174, 1, 233, 136, 174, 1, 232, 185, 174, 1,
+ 214, 27, 174, 1, 220, 103, 174, 1, 218, 224, 174, 1, 206, 174, 1, 162,
+ 174, 25, 5, 255, 74, 174, 25, 5, 73, 174, 25, 5, 236, 34, 174, 25, 5, 70,
+ 174, 25, 5, 214, 118, 174, 25, 5, 149, 153, 174, 25, 5, 149, 222, 181,
+ 174, 25, 5, 149, 156, 174, 25, 5, 149, 232, 186, 174, 25, 5, 75, 174, 25,
+ 5, 254, 202, 174, 25, 5, 76, 174, 25, 5, 253, 193, 174, 5, 213, 152, 174,
+ 5, 253, 176, 174, 5, 235, 103, 174, 5, 214, 161, 174, 226, 205, 174, 248,
+ 179, 174, 52, 248, 179, 174, 255, 22, 50, 174, 220, 138, 174, 21, 210,
86, 174, 21, 110, 174, 21, 105, 174, 21, 158, 174, 21, 161, 174, 21, 189,
- 174, 21, 194, 174, 21, 198, 174, 21, 195, 174, 21, 200, 217, 69, 1, 61,
- 217, 69, 1, 255, 73, 217, 69, 1, 73, 217, 69, 1, 236, 33, 217, 69, 1, 70,
- 217, 69, 1, 214, 118, 217, 69, 1, 75, 217, 69, 1, 254, 201, 217, 69, 1,
- 76, 217, 69, 1, 253, 192, 217, 69, 1, 176, 217, 69, 1, 234, 132, 217, 69,
- 1, 243, 135, 217, 69, 1, 242, 249, 217, 69, 1, 229, 77, 217, 69, 1, 251,
- 33, 217, 69, 1, 250, 157, 217, 69, 1, 235, 141, 217, 69, 1, 235, 114,
- 217, 69, 1, 227, 165, 217, 69, 1, 215, 156, 217, 69, 1, 215, 144, 217,
- 69, 1, 248, 135, 217, 69, 1, 248, 119, 217, 69, 1, 228, 110, 217, 69, 1,
- 217, 105, 217, 69, 1, 216, 208, 217, 69, 1, 248, 221, 217, 69, 1, 248,
- 25, 217, 69, 1, 197, 217, 69, 1, 190, 217, 69, 1, 225, 147, 217, 69, 1,
- 252, 191, 217, 69, 1, 252, 18, 217, 69, 1, 184, 217, 69, 1, 191, 217, 69,
- 1, 205, 217, 69, 1, 233, 135, 217, 69, 1, 214, 27, 217, 69, 1, 220, 102,
- 217, 69, 1, 206, 217, 69, 1, 162, 217, 69, 1, 222, 179, 217, 69, 5, 254,
- 75, 217, 69, 5, 213, 147, 217, 69, 25, 5, 255, 73, 217, 69, 25, 5, 73,
- 217, 69, 25, 5, 236, 33, 217, 69, 25, 5, 70, 217, 69, 25, 5, 214, 118,
- 217, 69, 25, 5, 75, 217, 69, 25, 5, 254, 201, 217, 69, 25, 5, 76, 217,
- 69, 25, 5, 253, 192, 217, 69, 5, 213, 152, 217, 69, 5, 227, 205, 217, 69,
- 21, 210, 86, 217, 69, 21, 110, 217, 69, 21, 105, 217, 69, 21, 158, 217,
- 69, 21, 161, 217, 69, 21, 189, 217, 69, 21, 194, 217, 69, 21, 198, 217,
- 69, 21, 195, 217, 69, 21, 200, 15, 5, 61, 15, 5, 115, 30, 61, 15, 5, 115,
- 30, 252, 176, 15, 5, 115, 30, 243, 105, 216, 239, 15, 5, 115, 30, 162,
- 15, 5, 115, 30, 236, 35, 15, 5, 115, 30, 233, 116, 242, 94, 15, 5, 115,
- 30, 230, 61, 15, 5, 115, 30, 222, 21, 15, 5, 255, 75, 15, 5, 255, 25, 15,
- 5, 255, 26, 30, 253, 229, 15, 5, 255, 26, 30, 246, 67, 242, 94, 15, 5,
- 255, 26, 30, 243, 118, 15, 5, 255, 26, 30, 243, 105, 216, 239, 15, 5,
- 255, 26, 30, 162, 15, 5, 255, 26, 30, 236, 36, 242, 94, 15, 5, 255, 26,
- 30, 236, 9, 15, 5, 255, 26, 30, 233, 117, 15, 5, 255, 26, 30, 220, 48,
- 15, 5, 255, 26, 30, 104, 96, 104, 96, 70, 15, 5, 255, 26, 242, 94, 15, 5,
- 255, 23, 15, 5, 255, 24, 30, 252, 160, 15, 5, 255, 24, 30, 243, 105, 216,
- 239, 15, 5, 255, 24, 30, 231, 92, 96, 245, 150, 15, 5, 255, 24, 30, 220,
- 100, 15, 5, 255, 24, 30, 217, 72, 15, 5, 254, 255, 15, 5, 254, 186, 15,
- 5, 254, 187, 30, 245, 87, 15, 5, 254, 187, 30, 220, 10, 96, 242, 190, 15,
- 5, 254, 178, 15, 5, 254, 179, 30, 254, 178, 15, 5, 254, 179, 30, 247,
- 216, 15, 5, 254, 179, 30, 242, 190, 15, 5, 254, 179, 30, 162, 15, 5, 254,
- 179, 30, 234, 255, 15, 5, 254, 179, 30, 234, 92, 15, 5, 254, 179, 30,
- 220, 63, 15, 5, 254, 179, 30, 214, 126, 15, 5, 254, 175, 15, 5, 254, 168,
- 15, 5, 254, 132, 15, 5, 254, 133, 30, 220, 63, 15, 5, 254, 123, 15, 5,
- 254, 124, 117, 254, 123, 15, 5, 254, 124, 134, 216, 85, 15, 5, 254, 124,
- 96, 229, 217, 226, 164, 254, 124, 96, 229, 216, 15, 5, 254, 124, 96, 229,
- 217, 218, 233, 15, 5, 254, 94, 15, 5, 254, 67, 15, 5, 254, 35, 15, 5,
- 254, 36, 30, 233, 196, 15, 5, 254, 8, 15, 5, 253, 236, 15, 5, 253, 231,
- 15, 5, 253, 232, 210, 40, 216, 239, 15, 5, 253, 232, 235, 3, 216, 239,
- 15, 5, 253, 232, 117, 253, 232, 215, 114, 117, 215, 114, 215, 114, 117,
- 215, 114, 226, 21, 15, 5, 253, 232, 117, 253, 232, 117, 253, 231, 15, 5,
- 253, 232, 117, 253, 232, 117, 253, 232, 249, 125, 253, 232, 117, 253,
- 232, 117, 253, 231, 15, 5, 253, 229, 15, 5, 253, 226, 15, 5, 252, 191,
- 15, 5, 252, 176, 15, 5, 252, 171, 15, 5, 252, 167, 15, 5, 252, 161, 15,
- 5, 252, 162, 117, 252, 161, 15, 5, 252, 160, 15, 5, 130, 15, 5, 252, 140,
- 15, 5, 252, 6, 15, 5, 252, 7, 30, 61, 15, 5, 252, 7, 30, 243, 96, 15, 5,
- 252, 7, 30, 236, 36, 242, 94, 15, 5, 251, 125, 15, 5, 251, 126, 117, 251,
- 126, 255, 25, 15, 5, 251, 126, 117, 251, 126, 214, 190, 15, 5, 251, 126,
- 249, 125, 251, 125, 15, 5, 251, 109, 15, 5, 251, 110, 117, 251, 109, 15,
- 5, 251, 98, 15, 5, 251, 97, 15, 5, 248, 221, 15, 5, 248, 212, 15, 5, 248,
- 213, 234, 66, 30, 115, 96, 231, 147, 15, 5, 248, 213, 234, 66, 30, 254,
- 132, 15, 5, 248, 213, 234, 66, 30, 252, 160, 15, 5, 248, 213, 234, 66,
- 30, 252, 6, 15, 5, 248, 213, 234, 66, 30, 243, 135, 15, 5, 248, 213, 234,
- 66, 30, 243, 136, 96, 231, 147, 15, 5, 248, 213, 234, 66, 30, 242, 214,
- 15, 5, 248, 213, 234, 66, 30, 242, 197, 15, 5, 248, 213, 234, 66, 30,
- 242, 103, 15, 5, 248, 213, 234, 66, 30, 162, 15, 5, 248, 213, 234, 66,
- 30, 235, 179, 15, 5, 248, 213, 234, 66, 30, 235, 180, 96, 232, 98, 15, 5,
- 248, 213, 234, 66, 30, 234, 242, 15, 5, 248, 213, 234, 66, 30, 233, 135,
- 15, 5, 248, 213, 234, 66, 30, 232, 98, 15, 5, 248, 213, 234, 66, 30, 232,
- 99, 96, 231, 146, 15, 5, 248, 213, 234, 66, 30, 232, 84, 15, 5, 248, 213,
- 234, 66, 30, 229, 107, 15, 5, 248, 213, 234, 66, 30, 226, 22, 96, 226,
- 21, 15, 5, 248, 213, 234, 66, 30, 219, 191, 15, 5, 248, 213, 234, 66, 30,
- 217, 72, 15, 5, 248, 213, 234, 66, 30, 214, 231, 96, 242, 197, 15, 5,
- 248, 213, 234, 66, 30, 214, 126, 15, 5, 248, 187, 15, 5, 248, 166, 15, 5,
- 248, 165, 15, 5, 248, 164, 15, 5, 248, 3, 15, 5, 247, 242, 15, 5, 247,
- 217, 15, 5, 247, 218, 30, 220, 63, 15, 5, 247, 216, 15, 5, 247, 206, 15,
- 5, 247, 207, 234, 208, 104, 242, 95, 247, 187, 15, 5, 247, 187, 15, 5,
- 246, 78, 15, 5, 246, 79, 117, 246, 78, 15, 5, 246, 79, 242, 94, 15, 5,
- 246, 79, 220, 45, 15, 5, 246, 76, 15, 5, 246, 77, 30, 245, 72, 15, 5,
- 246, 75, 15, 5, 246, 74, 15, 5, 246, 73, 15, 5, 246, 72, 15, 5, 246, 68,
- 15, 5, 246, 66, 15, 5, 246, 67, 242, 94, 15, 5, 246, 67, 242, 95, 242,
- 94, 15, 5, 246, 65, 15, 5, 246, 58, 15, 5, 75, 15, 5, 160, 30, 226, 21,
- 15, 5, 160, 117, 160, 227, 195, 117, 227, 194, 15, 5, 245, 234, 15, 5,
- 245, 235, 30, 115, 96, 242, 49, 96, 248, 221, 15, 5, 245, 235, 30, 243,
- 96, 15, 5, 245, 235, 30, 230, 230, 15, 5, 245, 235, 30, 222, 8, 15, 5,
- 245, 235, 30, 220, 63, 15, 5, 245, 235, 30, 70, 15, 5, 245, 211, 15, 5,
- 245, 200, 15, 5, 245, 174, 15, 5, 245, 150, 15, 5, 245, 151, 30, 243,
- 104, 15, 5, 245, 151, 30, 243, 105, 216, 239, 15, 5, 245, 151, 30, 231,
- 91, 15, 5, 245, 151, 249, 125, 245, 150, 15, 5, 245, 151, 226, 164, 245,
- 150, 15, 5, 245, 151, 218, 233, 15, 5, 245, 89, 15, 5, 245, 87, 15, 5,
- 245, 72, 15, 5, 245, 10, 15, 5, 245, 11, 30, 61, 15, 5, 245, 11, 30, 115,
- 96, 233, 104, 15, 5, 245, 11, 30, 115, 96, 233, 105, 30, 233, 104, 15, 5,
- 245, 11, 30, 254, 123, 15, 5, 245, 11, 30, 252, 176, 15, 5, 245, 11, 30,
- 246, 67, 242, 94, 15, 5, 245, 11, 30, 246, 67, 242, 95, 242, 94, 15, 5,
- 245, 11, 30, 162, 15, 5, 245, 11, 30, 242, 49, 242, 94, 15, 5, 245, 11,
- 30, 236, 36, 242, 94, 15, 5, 245, 11, 30, 234, 207, 15, 5, 245, 11, 30,
- 234, 208, 218, 233, 15, 5, 245, 11, 30, 233, 215, 15, 5, 245, 11, 30,
- 233, 135, 15, 5, 245, 11, 30, 233, 105, 30, 233, 104, 15, 5, 245, 11, 30,
- 232, 241, 15, 5, 245, 11, 30, 232, 98, 15, 5, 245, 11, 30, 214, 230, 15,
- 5, 245, 11, 30, 214, 219, 15, 5, 243, 135, 15, 5, 243, 136, 242, 94, 15,
- 5, 243, 133, 15, 5, 243, 134, 30, 115, 96, 248, 222, 96, 162, 15, 5, 243,
- 134, 30, 115, 96, 162, 15, 5, 243, 134, 30, 115, 96, 236, 35, 15, 5, 243,
- 134, 30, 255, 24, 216, 240, 96, 217, 93, 15, 5, 243, 134, 30, 254, 123,
- 15, 5, 243, 134, 30, 253, 231, 15, 5, 243, 134, 30, 253, 230, 96, 243,
- 118, 15, 5, 243, 134, 30, 252, 176, 15, 5, 243, 134, 30, 252, 141, 96,
- 205, 15, 5, 243, 134, 30, 251, 98, 15, 5, 243, 134, 30, 251, 99, 96, 205,
- 15, 5, 243, 134, 30, 248, 221, 15, 5, 243, 134, 30, 248, 3, 15, 5, 243,
- 134, 30, 247, 218, 30, 220, 63, 15, 5, 243, 134, 30, 246, 76, 15, 5, 243,
- 134, 30, 245, 174, 15, 5, 243, 134, 30, 245, 175, 96, 233, 135, 15, 5,
- 243, 134, 30, 245, 150, 15, 5, 243, 134, 30, 245, 151, 30, 243, 105, 216,
- 239, 15, 5, 243, 134, 30, 243, 105, 216, 239, 15, 5, 243, 134, 30, 243,
- 96, 15, 5, 243, 134, 30, 242, 214, 15, 5, 243, 134, 30, 242, 212, 15, 5,
- 243, 134, 30, 242, 213, 96, 61, 15, 5, 243, 134, 30, 242, 198, 96, 218,
- 83, 15, 5, 243, 134, 30, 242, 49, 96, 232, 99, 96, 245, 72, 15, 5, 243,
- 134, 30, 242, 30, 15, 5, 243, 134, 30, 242, 31, 96, 233, 135, 15, 5, 243,
- 134, 30, 241, 181, 96, 232, 241, 15, 5, 243, 134, 30, 240, 218, 15, 5,
- 243, 134, 30, 236, 36, 242, 94, 15, 5, 243, 134, 30, 235, 166, 96, 240,
- 223, 96, 253, 231, 15, 5, 243, 134, 30, 234, 242, 15, 5, 243, 134, 30,
- 234, 207, 15, 5, 243, 134, 30, 234, 89, 15, 5, 243, 134, 30, 234, 90, 96,
- 233, 104, 15, 5, 243, 134, 30, 233, 216, 96, 254, 123, 15, 5, 243, 134,
- 30, 233, 135, 15, 5, 243, 134, 30, 231, 92, 96, 245, 150, 15, 5, 243,
- 134, 30, 230, 230, 15, 5, 243, 134, 30, 227, 194, 15, 5, 243, 134, 30,
- 227, 195, 117, 227, 194, 15, 5, 243, 134, 30, 190, 15, 5, 243, 134, 30,
- 222, 8, 15, 5, 243, 134, 30, 221, 231, 15, 5, 243, 134, 30, 220, 63, 15,
- 5, 243, 134, 30, 220, 64, 96, 215, 98, 15, 5, 243, 134, 30, 220, 30, 15,
- 5, 243, 134, 30, 218, 43, 15, 5, 243, 134, 30, 217, 72, 15, 5, 243, 134,
- 30, 70, 15, 5, 243, 134, 30, 214, 219, 15, 5, 243, 134, 30, 214, 220, 96,
- 246, 78, 15, 5, 243, 134, 117, 243, 133, 15, 5, 243, 128, 15, 5, 243,
- 129, 249, 125, 243, 128, 15, 5, 243, 126, 15, 5, 243, 127, 117, 243, 127,
- 243, 97, 117, 243, 96, 15, 5, 243, 118, 15, 5, 243, 119, 243, 127, 117,
- 243, 127, 243, 97, 117, 243, 96, 15, 5, 243, 117, 15, 5, 243, 115, 15, 5,
- 243, 106, 15, 5, 243, 104, 15, 5, 243, 105, 216, 239, 15, 5, 243, 105,
- 117, 243, 104, 15, 5, 243, 105, 249, 125, 243, 104, 15, 5, 243, 96, 15,
- 5, 243, 95, 15, 5, 243, 90, 15, 5, 243, 36, 15, 5, 243, 37, 30, 233, 196,
- 15, 5, 242, 214, 15, 5, 242, 215, 30, 75, 15, 5, 242, 215, 30, 70, 15, 5,
- 242, 215, 249, 125, 242, 214, 15, 5, 242, 212, 15, 5, 242, 213, 117, 242,
- 212, 15, 5, 242, 213, 249, 125, 242, 212, 15, 5, 242, 209, 15, 5, 242,
- 197, 15, 5, 242, 198, 242, 94, 15, 5, 242, 195, 15, 5, 242, 196, 30, 115,
- 96, 236, 35, 15, 5, 242, 196, 30, 243, 105, 216, 239, 15, 5, 242, 196,
- 30, 236, 35, 15, 5, 242, 196, 30, 232, 99, 96, 236, 35, 15, 5, 242, 196,
- 30, 190, 15, 5, 242, 192, 15, 5, 242, 190, 15, 5, 242, 191, 249, 125,
- 242, 190, 15, 5, 242, 191, 30, 252, 176, 15, 5, 242, 191, 30, 217, 72,
- 15, 5, 242, 191, 216, 239, 15, 5, 242, 113, 15, 5, 242, 114, 249, 125,
- 242, 113, 15, 5, 242, 111, 15, 5, 242, 112, 30, 234, 242, 15, 5, 242,
- 112, 30, 234, 243, 30, 236, 36, 242, 94, 15, 5, 242, 112, 30, 227, 194,
- 15, 5, 242, 112, 30, 222, 9, 96, 215, 113, 15, 5, 242, 112, 242, 94, 15,
- 5, 242, 103, 15, 5, 242, 104, 30, 115, 96, 233, 196, 15, 5, 242, 104, 30,
- 233, 196, 15, 5, 242, 104, 117, 242, 104, 232, 91, 15, 5, 242, 98, 15, 5,
- 242, 96, 15, 5, 242, 97, 30, 220, 63, 15, 5, 242, 88, 15, 5, 242, 87, 15,
- 5, 242, 84, 15, 5, 242, 83, 15, 5, 162, 15, 5, 242, 49, 216, 239, 15, 5,
- 242, 49, 242, 94, 15, 5, 242, 30, 15, 5, 241, 180, 15, 5, 241, 181, 30,
- 253, 231, 15, 5, 241, 181, 30, 253, 229, 15, 5, 241, 181, 30, 252, 176,
- 15, 5, 241, 181, 30, 247, 187, 15, 5, 241, 181, 30, 243, 126, 15, 5, 241,
- 181, 30, 234, 81, 15, 5, 241, 181, 30, 227, 194, 15, 5, 241, 181, 30,
- 220, 63, 15, 5, 241, 181, 30, 70, 15, 5, 240, 222, 15, 5, 240, 218, 15,
- 5, 240, 219, 30, 254, 123, 15, 5, 240, 219, 30, 242, 30, 15, 5, 240, 219,
- 30, 234, 207, 15, 5, 240, 219, 30, 232, 197, 15, 5, 240, 219, 30, 214,
- 219, 15, 5, 240, 215, 15, 5, 73, 15, 5, 240, 154, 61, 15, 5, 240, 115,
- 15, 5, 236, 63, 15, 5, 236, 64, 117, 236, 64, 251, 98, 15, 5, 236, 64,
- 117, 236, 64, 218, 233, 15, 5, 236, 38, 15, 5, 236, 35, 15, 5, 236, 36,
- 247, 242, 15, 5, 236, 36, 223, 35, 15, 5, 236, 36, 117, 236, 36, 220, 14,
- 117, 220, 14, 214, 220, 117, 214, 219, 15, 5, 236, 36, 242, 94, 15, 5,
- 236, 27, 15, 5, 236, 28, 30, 243, 105, 216, 239, 15, 5, 236, 26, 15, 5,
- 236, 16, 15, 5, 236, 17, 30, 217, 72, 15, 5, 236, 17, 249, 125, 236, 16,
- 15, 5, 236, 17, 226, 164, 236, 16, 15, 5, 236, 17, 218, 233, 15, 5, 236,
- 9, 15, 5, 235, 255, 15, 5, 235, 179, 15, 5, 235, 165, 15, 5, 176, 15, 5,
- 235, 13, 30, 61, 15, 5, 235, 13, 30, 254, 255, 15, 5, 235, 13, 30, 255,
- 0, 96, 233, 215, 15, 5, 235, 13, 30, 253, 229, 15, 5, 235, 13, 30, 252,
- 176, 15, 5, 235, 13, 30, 252, 160, 15, 5, 235, 13, 30, 130, 15, 5, 235,
- 13, 30, 252, 6, 15, 5, 235, 13, 30, 245, 87, 15, 5, 235, 13, 30, 245, 72,
- 15, 5, 235, 13, 30, 243, 135, 15, 5, 235, 13, 30, 243, 118, 15, 5, 235,
- 13, 30, 243, 105, 216, 239, 15, 5, 235, 13, 30, 243, 96, 15, 5, 235, 13,
- 30, 243, 97, 96, 220, 101, 96, 61, 15, 5, 235, 13, 30, 242, 214, 15, 5,
- 235, 13, 30, 242, 197, 15, 5, 235, 13, 30, 242, 191, 96, 221, 231, 15, 5,
- 235, 13, 30, 242, 191, 249, 125, 242, 190, 15, 5, 235, 13, 30, 242, 113,
- 15, 5, 235, 13, 30, 242, 87, 15, 5, 235, 13, 30, 236, 35, 15, 5, 235, 13,
- 30, 236, 16, 15, 5, 235, 13, 30, 234, 242, 15, 5, 235, 13, 30, 234, 92,
- 15, 5, 235, 13, 30, 234, 89, 15, 5, 235, 13, 30, 232, 241, 15, 5, 235,
- 13, 30, 232, 98, 15, 5, 235, 13, 30, 231, 91, 15, 5, 235, 13, 30, 231,
- 92, 96, 246, 78, 15, 5, 235, 13, 30, 231, 92, 96, 242, 214, 15, 5, 235,
- 13, 30, 231, 92, 96, 217, 22, 15, 5, 235, 13, 30, 230, 230, 15, 5, 235,
- 13, 30, 230, 231, 96, 227, 189, 15, 5, 235, 13, 30, 229, 107, 15, 5, 235,
- 13, 30, 227, 194, 15, 5, 235, 13, 30, 225, 108, 15, 5, 235, 13, 30, 222,
- 140, 15, 5, 235, 13, 30, 206, 15, 5, 235, 13, 30, 221, 231, 15, 5, 235,
- 13, 30, 220, 102, 15, 5, 235, 13, 30, 220, 63, 15, 5, 235, 13, 30, 220,
- 30, 15, 5, 235, 13, 30, 219, 225, 15, 5, 235, 13, 30, 219, 182, 15, 5,
- 235, 13, 30, 218, 51, 15, 5, 235, 13, 30, 217, 50, 15, 5, 235, 13, 30,
- 70, 15, 5, 235, 13, 30, 214, 230, 15, 5, 235, 13, 30, 214, 219, 15, 5,
- 235, 13, 30, 214, 193, 30, 190, 15, 5, 235, 13, 30, 214, 126, 15, 5, 235,
- 13, 30, 210, 44, 15, 5, 235, 11, 15, 5, 235, 12, 249, 125, 235, 11, 15,
- 5, 235, 4, 15, 5, 235, 1, 15, 5, 234, 255, 15, 5, 234, 254, 15, 5, 234,
- 252, 15, 5, 234, 253, 117, 234, 252, 15, 5, 234, 242, 15, 5, 234, 243,
- 30, 236, 36, 242, 94, 15, 5, 234, 238, 15, 5, 234, 239, 30, 252, 176, 15,
- 5, 234, 239, 249, 125, 234, 238, 15, 5, 234, 236, 15, 5, 234, 235, 15, 5,
- 234, 207, 15, 5, 234, 208, 233, 118, 30, 104, 117, 233, 118, 30, 70, 15,
- 5, 234, 208, 117, 234, 208, 233, 118, 30, 104, 117, 233, 118, 30, 70, 15,
- 5, 234, 157, 15, 5, 234, 92, 15, 5, 234, 93, 30, 252, 176, 15, 5, 234,
- 93, 30, 70, 15, 5, 234, 93, 30, 214, 219, 15, 5, 234, 89, 15, 5, 234, 81,
- 15, 5, 234, 68, 15, 5, 234, 67, 15, 5, 234, 65, 15, 5, 234, 66, 117, 234,
- 65, 15, 5, 233, 217, 15, 5, 233, 218, 117, 241, 181, 30, 253, 230, 233,
- 218, 117, 241, 181, 30, 253, 229, 15, 5, 233, 215, 15, 5, 233, 213, 15,
- 5, 233, 214, 214, 12, 17, 15, 5, 233, 212, 15, 5, 233, 209, 15, 5, 233,
- 210, 242, 94, 15, 5, 233, 208, 15, 5, 233, 196, 15, 5, 233, 197, 226,
- 164, 233, 196, 15, 5, 233, 191, 15, 5, 233, 172, 15, 5, 233, 135, 15, 5,
- 233, 117, 15, 5, 233, 118, 30, 61, 15, 5, 233, 118, 30, 115, 96, 248,
- 222, 96, 162, 15, 5, 233, 118, 30, 115, 96, 243, 96, 15, 5, 233, 118, 30,
- 115, 96, 233, 104, 15, 5, 233, 118, 30, 254, 178, 15, 5, 233, 118, 30,
- 254, 123, 15, 5, 233, 118, 30, 253, 232, 210, 40, 216, 239, 15, 5, 233,
- 118, 30, 252, 176, 15, 5, 233, 118, 30, 252, 6, 15, 5, 233, 118, 30, 248,
- 166, 15, 5, 233, 118, 30, 245, 150, 15, 5, 233, 118, 30, 243, 135, 15, 5,
- 233, 118, 30, 243, 96, 15, 5, 233, 118, 30, 242, 103, 15, 5, 233, 118,
- 30, 242, 104, 96, 242, 103, 15, 5, 233, 118, 30, 162, 15, 5, 233, 118,
- 30, 242, 30, 15, 5, 233, 118, 30, 241, 181, 30, 227, 194, 15, 5, 233,
- 118, 30, 236, 36, 242, 94, 15, 5, 233, 118, 30, 236, 16, 15, 5, 233, 118,
- 30, 236, 17, 96, 162, 15, 5, 233, 118, 30, 236, 17, 96, 232, 98, 15, 5,
- 233, 118, 30, 234, 92, 15, 5, 233, 118, 30, 234, 81, 15, 5, 233, 118, 30,
- 233, 215, 15, 5, 233, 118, 30, 233, 209, 15, 5, 233, 118, 30, 233, 210,
- 96, 241, 181, 96, 61, 15, 5, 233, 118, 30, 233, 117, 15, 5, 233, 118, 30,
- 232, 197, 15, 5, 233, 118, 30, 232, 98, 15, 5, 233, 118, 30, 232, 86, 15,
- 5, 233, 118, 30, 231, 91, 15, 5, 233, 118, 30, 231, 92, 96, 245, 150, 15,
- 5, 233, 118, 30, 230, 61, 15, 5, 233, 118, 30, 229, 107, 15, 5, 233, 118,
- 30, 220, 64, 96, 218, 43, 15, 5, 233, 118, 30, 220, 10, 96, 242, 191, 96,
- 245, 87, 15, 5, 233, 118, 30, 220, 10, 96, 242, 191, 216, 239, 15, 5,
- 233, 118, 30, 219, 223, 15, 5, 233, 118, 30, 219, 224, 96, 219, 223, 15,
- 5, 233, 118, 30, 218, 43, 15, 5, 233, 118, 30, 217, 84, 15, 5, 233, 118,
- 30, 217, 72, 15, 5, 233, 118, 30, 217, 23, 96, 115, 96, 218, 84, 96, 197,
- 15, 5, 233, 118, 30, 70, 15, 5, 233, 118, 30, 104, 96, 61, 15, 5, 233,
- 118, 30, 104, 96, 104, 96, 70, 15, 5, 233, 118, 30, 214, 231, 96, 253,
- 231, 15, 5, 233, 118, 30, 214, 219, 15, 5, 233, 118, 30, 214, 126, 15, 5,
- 233, 118, 218, 233, 15, 5, 233, 115, 15, 5, 233, 116, 30, 220, 63, 15, 5,
- 233, 116, 30, 220, 64, 96, 218, 43, 15, 5, 233, 116, 242, 94, 15, 5, 233,
- 116, 242, 95, 117, 233, 116, 242, 95, 220, 63, 15, 5, 233, 111, 15, 5,
- 233, 104, 15, 5, 233, 105, 30, 233, 104, 15, 5, 233, 102, 15, 5, 233,
- 103, 30, 233, 196, 15, 5, 233, 103, 30, 233, 197, 96, 222, 140, 15, 5,
- 232, 241, 15, 5, 232, 226, 15, 5, 232, 216, 15, 5, 232, 197, 15, 5, 232,
- 98, 15, 5, 232, 99, 30, 252, 176, 15, 5, 232, 96, 15, 5, 232, 97, 30,
- 254, 178, 15, 5, 232, 97, 30, 252, 176, 15, 5, 232, 97, 30, 245, 72, 15,
- 5, 232, 97, 30, 245, 73, 216, 239, 15, 5, 232, 97, 30, 243, 105, 216,
- 239, 15, 5, 232, 97, 30, 241, 181, 30, 252, 176, 15, 5, 232, 97, 30, 236,
- 16, 15, 5, 232, 97, 30, 235, 1, 15, 5, 232, 97, 30, 234, 255, 15, 5, 232,
- 97, 30, 235, 0, 96, 253, 231, 15, 5, 232, 97, 30, 234, 92, 15, 5, 232,
- 97, 30, 233, 136, 96, 253, 231, 15, 5, 232, 97, 30, 233, 117, 15, 5, 232,
- 97, 30, 231, 92, 96, 245, 150, 15, 5, 232, 97, 30, 229, 107, 15, 5, 232,
- 97, 30, 227, 237, 15, 5, 232, 97, 30, 219, 192, 96, 253, 231, 15, 5, 232,
- 97, 30, 219, 174, 96, 251, 125, 15, 5, 232, 97, 30, 215, 113, 15, 5, 232,
- 97, 216, 239, 15, 5, 232, 97, 249, 125, 232, 96, 15, 5, 232, 97, 226,
- 164, 232, 96, 15, 5, 232, 97, 218, 233, 15, 5, 232, 97, 220, 45, 15, 5,
- 232, 95, 15, 5, 232, 91, 15, 5, 232, 92, 117, 232, 91, 15, 5, 232, 92,
- 226, 164, 232, 91, 15, 5, 232, 92, 220, 45, 15, 5, 232, 89, 15, 5, 232,
- 86, 15, 5, 232, 84, 15, 5, 232, 85, 117, 232, 84, 15, 5, 232, 85, 117,
- 232, 85, 243, 97, 117, 243, 96, 15, 5, 184, 15, 5, 231, 239, 30, 217, 72,
- 15, 5, 231, 239, 242, 94, 15, 5, 231, 238, 15, 5, 231, 210, 15, 5, 231,
- 166, 15, 5, 231, 147, 15, 5, 231, 146, 15, 5, 231, 91, 15, 5, 231, 47,
- 15, 5, 230, 230, 15, 5, 230, 188, 15, 5, 230, 102, 15, 5, 230, 103, 117,
- 230, 102, 15, 5, 230, 93, 15, 5, 230, 94, 242, 94, 15, 5, 230, 78, 15, 5,
- 230, 64, 15, 5, 230, 61, 15, 5, 230, 62, 30, 61, 15, 5, 230, 62, 30, 233,
- 196, 15, 5, 230, 62, 30, 210, 116, 15, 5, 230, 62, 117, 230, 61, 15, 5,
- 230, 62, 117, 230, 62, 30, 115, 96, 197, 15, 5, 230, 62, 249, 125, 230,
- 61, 15, 5, 230, 59, 15, 5, 230, 60, 30, 61, 15, 5, 230, 60, 30, 115, 96,
- 248, 3, 15, 5, 230, 60, 30, 248, 3, 15, 5, 230, 60, 242, 94, 15, 5, 197,
- 15, 5, 229, 227, 15, 5, 229, 216, 15, 5, 229, 217, 235, 192, 15, 5, 229,
- 217, 30, 219, 226, 216, 239, 15, 5, 229, 217, 226, 164, 229, 216, 15, 5,
- 229, 215, 15, 5, 229, 208, 227, 180, 15, 5, 229, 207, 15, 5, 229, 206,
- 15, 5, 229, 107, 15, 5, 229, 108, 30, 61, 15, 5, 229, 108, 30, 214, 219,
- 15, 5, 229, 108, 220, 45, 15, 5, 228, 233, 15, 5, 228, 234, 30, 75, 15,
- 5, 228, 232, 15, 5, 228, 203, 15, 5, 228, 204, 30, 243, 105, 216, 239,
- 15, 5, 228, 204, 30, 243, 97, 96, 243, 105, 216, 239, 15, 5, 228, 201,
- 15, 5, 228, 202, 30, 254, 123, 15, 5, 228, 202, 30, 253, 231, 15, 5, 228,
- 202, 30, 253, 232, 96, 253, 231, 15, 5, 228, 202, 30, 242, 103, 15, 5,
- 228, 202, 30, 231, 92, 96, 243, 105, 216, 239, 15, 5, 228, 202, 30, 229,
- 107, 15, 5, 228, 202, 30, 227, 194, 15, 5, 228, 202, 30, 220, 63, 15, 5,
- 228, 202, 30, 220, 64, 96, 115, 254, 123, 15, 5, 228, 202, 30, 220, 64,
- 96, 253, 231, 15, 5, 228, 202, 30, 220, 64, 96, 253, 232, 96, 253, 231,
- 15, 5, 228, 202, 30, 214, 231, 96, 253, 231, 15, 5, 228, 202, 30, 214,
- 126, 15, 5, 228, 190, 15, 5, 227, 237, 15, 5, 227, 210, 15, 5, 227, 194,
- 15, 5, 227, 195, 233, 116, 30, 243, 96, 15, 5, 227, 195, 233, 116, 30,
- 231, 147, 15, 5, 227, 195, 233, 116, 30, 222, 8, 15, 5, 227, 195, 233,
- 116, 30, 222, 9, 117, 227, 195, 233, 116, 30, 222, 8, 15, 5, 227, 195,
- 233, 116, 30, 214, 126, 15, 5, 227, 195, 216, 239, 15, 5, 227, 195, 117,
- 227, 194, 15, 5, 227, 195, 249, 125, 227, 194, 15, 5, 227, 195, 249, 125,
- 227, 195, 233, 116, 117, 233, 115, 15, 5, 227, 189, 15, 5, 227, 190, 255,
- 24, 30, 253, 226, 15, 5, 227, 190, 255, 24, 30, 252, 6, 15, 5, 227, 190,
- 255, 24, 30, 246, 74, 15, 5, 227, 190, 255, 24, 30, 242, 103, 15, 5, 227,
- 190, 255, 24, 30, 236, 36, 242, 94, 15, 5, 227, 190, 255, 24, 30, 234,
- 255, 15, 5, 227, 190, 255, 24, 30, 233, 135, 15, 5, 227, 190, 255, 24,
- 30, 229, 107, 15, 5, 227, 190, 255, 24, 30, 219, 171, 15, 5, 227, 190,
- 255, 24, 30, 214, 230, 15, 5, 227, 190, 234, 66, 30, 252, 6, 15, 5, 227,
- 190, 234, 66, 30, 252, 7, 70, 15, 5, 190, 15, 5, 226, 80, 15, 5, 226, 47,
- 15, 5, 226, 21, 15, 5, 225, 161, 15, 5, 225, 108, 15, 5, 225, 109, 30,
- 61, 15, 5, 225, 109, 30, 255, 25, 15, 5, 225, 109, 30, 252, 6, 15, 5,
- 225, 109, 30, 251, 125, 15, 5, 225, 109, 30, 75, 15, 5, 225, 109, 30, 73,
- 15, 5, 225, 109, 30, 240, 115, 15, 5, 225, 109, 30, 70, 15, 5, 225, 109,
- 30, 214, 230, 15, 5, 225, 109, 249, 125, 225, 108, 15, 5, 225, 53, 15, 5,
- 225, 54, 30, 234, 238, 15, 5, 225, 54, 30, 214, 219, 15, 5, 225, 54, 30,
- 210, 116, 15, 5, 225, 54, 226, 164, 225, 53, 15, 5, 205, 15, 5, 223, 182,
- 15, 5, 223, 35, 15, 5, 222, 140, 15, 5, 206, 15, 5, 222, 22, 227, 180,
- 15, 5, 222, 21, 15, 5, 222, 22, 30, 61, 15, 5, 222, 22, 30, 246, 78, 15,
- 5, 222, 22, 30, 246, 76, 15, 5, 222, 22, 30, 162, 15, 5, 222, 22, 30,
- 234, 242, 15, 5, 222, 22, 30, 233, 196, 15, 5, 222, 22, 30, 232, 84, 15,
- 5, 222, 22, 30, 230, 230, 15, 5, 222, 22, 30, 227, 194, 15, 5, 222, 22,
- 30, 222, 8, 15, 5, 222, 22, 30, 220, 30, 15, 5, 222, 22, 30, 217, 93, 15,
- 5, 222, 22, 30, 214, 230, 15, 5, 222, 22, 30, 214, 225, 15, 5, 222, 22,
- 30, 214, 197, 15, 5, 222, 22, 30, 214, 150, 15, 5, 222, 22, 30, 214, 126,
- 15, 5, 222, 22, 117, 222, 21, 15, 5, 222, 22, 242, 94, 15, 5, 222, 8, 15,
- 5, 222, 9, 233, 118, 30, 253, 229, 15, 5, 221, 239, 15, 5, 221, 231, 15,
- 5, 220, 102, 15, 5, 220, 100, 15, 5, 220, 101, 30, 61, 15, 5, 220, 101,
- 30, 252, 176, 15, 5, 220, 101, 30, 242, 190, 15, 5, 220, 101, 30, 229,
- 107, 15, 5, 220, 101, 30, 219, 223, 15, 5, 220, 101, 30, 215, 98, 15, 5,
- 220, 101, 30, 70, 15, 5, 220, 101, 30, 104, 96, 61, 15, 5, 220, 99, 15,
- 5, 220, 97, 15, 5, 220, 78, 15, 5, 220, 63, 15, 5, 220, 64, 240, 222, 15,
- 5, 220, 64, 117, 220, 64, 243, 127, 117, 243, 127, 243, 97, 117, 243, 96,
- 15, 5, 220, 64, 117, 220, 64, 217, 94, 117, 217, 94, 243, 97, 117, 243,
- 96, 15, 5, 220, 56, 15, 5, 220, 51, 15, 5, 220, 48, 15, 5, 220, 47, 15,
- 5, 220, 44, 15, 5, 220, 30, 15, 5, 220, 31, 30, 61, 15, 5, 220, 31, 30,
- 236, 16, 15, 5, 220, 24, 15, 5, 220, 25, 30, 61, 15, 5, 220, 25, 30, 252,
- 161, 15, 5, 220, 25, 30, 251, 109, 15, 5, 220, 25, 30, 247, 206, 15, 5,
- 220, 25, 30, 243, 96, 15, 5, 220, 25, 30, 236, 35, 15, 5, 220, 25, 30,
- 236, 36, 242, 94, 15, 5, 220, 25, 30, 233, 191, 15, 5, 220, 25, 30, 232,
- 86, 15, 5, 220, 25, 30, 230, 93, 15, 5, 220, 25, 30, 222, 8, 15, 5, 220,
- 18, 15, 5, 220, 13, 15, 5, 220, 14, 216, 239, 15, 5, 220, 14, 117, 220,
- 14, 251, 99, 117, 251, 98, 15, 5, 220, 9, 15, 5, 219, 225, 15, 5, 219,
- 226, 117, 235, 193, 219, 225, 15, 5, 219, 223, 15, 5, 219, 222, 15, 5,
- 219, 191, 15, 5, 219, 192, 242, 94, 15, 5, 219, 182, 15, 5, 219, 180, 15,
- 5, 219, 181, 117, 219, 181, 219, 223, 15, 5, 219, 173, 15, 5, 219, 171,
- 15, 5, 218, 83, 15, 5, 218, 84, 117, 218, 83, 15, 5, 218, 54, 15, 5, 218,
- 53, 15, 5, 218, 51, 15, 5, 218, 43, 15, 5, 218, 42, 15, 5, 218, 17, 15,
- 5, 218, 16, 15, 5, 217, 105, 15, 5, 217, 106, 253, 216, 15, 5, 217, 106,
- 30, 241, 180, 15, 5, 217, 106, 30, 230, 230, 15, 5, 217, 106, 242, 94,
- 15, 5, 217, 93, 15, 5, 217, 94, 117, 217, 94, 228, 234, 117, 228, 234,
- 247, 188, 117, 247, 187, 15, 5, 217, 94, 218, 233, 15, 5, 217, 84, 15, 5,
- 129, 30, 252, 6, 15, 5, 129, 30, 242, 103, 15, 5, 129, 30, 220, 63, 15,
- 5, 129, 30, 219, 225, 15, 5, 129, 30, 215, 113, 15, 5, 129, 30, 214, 219,
- 15, 5, 217, 72, 15, 5, 217, 50, 15, 5, 217, 22, 15, 5, 217, 23, 242, 94,
- 15, 5, 216, 117, 15, 5, 216, 118, 216, 239, 15, 5, 216, 90, 15, 5, 216,
- 72, 15, 5, 216, 73, 30, 217, 72, 15, 5, 216, 73, 117, 216, 72, 15, 5,
- 216, 73, 117, 216, 73, 243, 127, 117, 243, 127, 243, 97, 117, 243, 96,
- 15, 5, 215, 118, 15, 5, 215, 113, 15, 5, 215, 111, 15, 5, 215, 108, 15,
- 5, 215, 98, 15, 5, 215, 99, 117, 215, 99, 210, 117, 117, 210, 116, 15, 5,
- 70, 15, 5, 104, 242, 103, 15, 5, 104, 104, 70, 15, 5, 104, 117, 104, 226,
- 90, 117, 226, 90, 243, 97, 117, 243, 96, 15, 5, 104, 117, 104, 218, 18,
- 117, 218, 17, 15, 5, 104, 117, 104, 104, 223, 49, 117, 104, 223, 48, 15,
- 5, 214, 230, 15, 5, 214, 225, 15, 5, 214, 219, 15, 5, 214, 220, 233, 191,
- 15, 5, 214, 220, 30, 252, 176, 15, 5, 214, 220, 30, 230, 230, 15, 5, 214,
- 220, 30, 104, 96, 104, 96, 70, 15, 5, 214, 220, 30, 104, 96, 104, 96,
- 104, 242, 94, 15, 5, 214, 220, 242, 94, 15, 5, 214, 220, 220, 45, 15, 5,
- 214, 220, 220, 46, 30, 252, 176, 15, 5, 214, 215, 15, 5, 214, 197, 15, 5,
- 214, 198, 30, 233, 117, 15, 5, 214, 198, 30, 231, 92, 96, 248, 221, 15,
- 5, 214, 198, 30, 220, 100, 15, 5, 214, 198, 30, 70, 15, 5, 214, 196, 15,
- 5, 214, 192, 15, 5, 214, 193, 30, 234, 207, 15, 5, 214, 193, 30, 190, 15,
- 5, 214, 190, 15, 5, 214, 191, 242, 94, 15, 5, 214, 150, 15, 5, 214, 151,
- 249, 125, 214, 150, 15, 5, 214, 151, 220, 45, 15, 5, 214, 148, 15, 5,
- 214, 149, 30, 115, 96, 162, 15, 5, 214, 149, 30, 115, 96, 197, 15, 5,
- 214, 149, 30, 254, 178, 15, 5, 214, 149, 30, 162, 15, 5, 214, 149, 30,
- 227, 194, 15, 5, 214, 149, 30, 214, 230, 15, 5, 214, 149, 30, 214, 231,
- 96, 253, 231, 15, 5, 214, 149, 30, 214, 231, 96, 252, 6, 15, 5, 214, 147,
- 15, 5, 214, 144, 15, 5, 214, 143, 15, 5, 214, 139, 15, 5, 214, 140, 30,
- 61, 15, 5, 214, 140, 30, 253, 226, 15, 5, 214, 140, 30, 130, 15, 5, 214,
- 140, 30, 246, 68, 15, 5, 214, 140, 30, 243, 135, 15, 5, 214, 140, 30,
- 243, 118, 15, 5, 214, 140, 30, 243, 105, 216, 239, 15, 5, 214, 140, 30,
- 243, 96, 15, 5, 214, 140, 30, 242, 113, 15, 5, 214, 140, 30, 162, 15, 5,
- 214, 140, 30, 236, 35, 15, 5, 214, 140, 30, 236, 16, 15, 5, 214, 140, 30,
- 235, 165, 15, 5, 214, 140, 30, 234, 92, 15, 5, 214, 140, 30, 232, 84, 15,
- 5, 214, 140, 30, 230, 188, 15, 5, 214, 140, 30, 190, 15, 5, 214, 140, 30,
- 220, 63, 15, 5, 214, 140, 30, 219, 180, 15, 5, 214, 140, 30, 215, 118,
- 15, 5, 214, 140, 30, 104, 96, 242, 103, 15, 5, 214, 140, 30, 214, 219,
+ 174, 21, 194, 174, 21, 198, 174, 21, 195, 174, 21, 200, 217, 70, 1, 61,
+ 217, 70, 1, 255, 74, 217, 70, 1, 73, 217, 70, 1, 236, 34, 217, 70, 1, 70,
+ 217, 70, 1, 214, 118, 217, 70, 1, 75, 217, 70, 1, 254, 202, 217, 70, 1,
+ 76, 217, 70, 1, 253, 193, 217, 70, 1, 176, 217, 70, 1, 234, 133, 217, 70,
+ 1, 243, 136, 217, 70, 1, 242, 250, 217, 70, 1, 229, 78, 217, 70, 1, 251,
+ 34, 217, 70, 1, 250, 158, 217, 70, 1, 235, 142, 217, 70, 1, 235, 115,
+ 217, 70, 1, 227, 166, 217, 70, 1, 215, 157, 217, 70, 1, 215, 145, 217,
+ 70, 1, 248, 136, 217, 70, 1, 248, 120, 217, 70, 1, 228, 111, 217, 70, 1,
+ 217, 106, 217, 70, 1, 216, 209, 217, 70, 1, 248, 222, 217, 70, 1, 248,
+ 26, 217, 70, 1, 197, 217, 70, 1, 190, 217, 70, 1, 225, 148, 217, 70, 1,
+ 252, 192, 217, 70, 1, 252, 19, 217, 70, 1, 185, 217, 70, 1, 191, 217, 70,
+ 1, 205, 217, 70, 1, 233, 136, 217, 70, 1, 214, 27, 217, 70, 1, 220, 103,
+ 217, 70, 1, 206, 217, 70, 1, 162, 217, 70, 1, 222, 180, 217, 70, 5, 254,
+ 76, 217, 70, 5, 213, 147, 217, 70, 25, 5, 255, 74, 217, 70, 25, 5, 73,
+ 217, 70, 25, 5, 236, 34, 217, 70, 25, 5, 70, 217, 70, 25, 5, 214, 118,
+ 217, 70, 25, 5, 75, 217, 70, 25, 5, 254, 202, 217, 70, 25, 5, 76, 217,
+ 70, 25, 5, 253, 193, 217, 70, 5, 213, 152, 217, 70, 5, 227, 206, 217, 70,
+ 21, 210, 86, 217, 70, 21, 110, 217, 70, 21, 105, 217, 70, 21, 158, 217,
+ 70, 21, 161, 217, 70, 21, 189, 217, 70, 21, 194, 217, 70, 21, 198, 217,
+ 70, 21, 195, 217, 70, 21, 200, 15, 5, 61, 15, 5, 115, 30, 61, 15, 5, 115,
+ 30, 252, 177, 15, 5, 115, 30, 243, 106, 216, 240, 15, 5, 115, 30, 162,
+ 15, 5, 115, 30, 236, 36, 15, 5, 115, 30, 233, 117, 242, 95, 15, 5, 115,
+ 30, 230, 62, 15, 5, 115, 30, 222, 22, 15, 5, 255, 76, 15, 5, 255, 26, 15,
+ 5, 255, 27, 30, 253, 230, 15, 5, 255, 27, 30, 246, 68, 242, 95, 15, 5,
+ 255, 27, 30, 243, 119, 15, 5, 255, 27, 30, 243, 106, 216, 240, 15, 5,
+ 255, 27, 30, 162, 15, 5, 255, 27, 30, 236, 37, 242, 95, 15, 5, 255, 27,
+ 30, 236, 10, 15, 5, 255, 27, 30, 233, 118, 15, 5, 255, 27, 30, 220, 49,
+ 15, 5, 255, 27, 30, 104, 96, 104, 96, 70, 15, 5, 255, 27, 242, 95, 15, 5,
+ 255, 24, 15, 5, 255, 25, 30, 252, 161, 15, 5, 255, 25, 30, 243, 106, 216,
+ 240, 15, 5, 255, 25, 30, 231, 93, 96, 245, 151, 15, 5, 255, 25, 30, 220,
+ 101, 15, 5, 255, 25, 30, 217, 73, 15, 5, 255, 0, 15, 5, 254, 187, 15, 5,
+ 254, 188, 30, 245, 88, 15, 5, 254, 188, 30, 220, 11, 96, 242, 191, 15, 5,
+ 254, 179, 15, 5, 254, 180, 30, 254, 179, 15, 5, 254, 180, 30, 247, 217,
+ 15, 5, 254, 180, 30, 242, 191, 15, 5, 254, 180, 30, 162, 15, 5, 254, 180,
+ 30, 235, 0, 15, 5, 254, 180, 30, 234, 93, 15, 5, 254, 180, 30, 220, 64,
+ 15, 5, 254, 180, 30, 214, 126, 15, 5, 254, 176, 15, 5, 254, 169, 15, 5,
+ 254, 133, 15, 5, 254, 134, 30, 220, 64, 15, 5, 254, 124, 15, 5, 254, 125,
+ 117, 254, 124, 15, 5, 254, 125, 134, 216, 86, 15, 5, 254, 125, 96, 229,
+ 218, 226, 165, 254, 125, 96, 229, 217, 15, 5, 254, 125, 96, 229, 218,
+ 218, 234, 15, 5, 254, 95, 15, 5, 254, 68, 15, 5, 254, 36, 15, 5, 254, 37,
+ 30, 233, 197, 15, 5, 254, 9, 15, 5, 253, 237, 15, 5, 253, 232, 15, 5,
+ 253, 233, 210, 40, 216, 240, 15, 5, 253, 233, 235, 4, 216, 240, 15, 5,
+ 253, 233, 117, 253, 233, 215, 115, 117, 215, 115, 215, 115, 117, 215,
+ 115, 226, 22, 15, 5, 253, 233, 117, 253, 233, 117, 253, 232, 15, 5, 253,
+ 233, 117, 253, 233, 117, 253, 233, 249, 126, 253, 233, 117, 253, 233,
+ 117, 253, 232, 15, 5, 253, 230, 15, 5, 253, 227, 15, 5, 252, 192, 15, 5,
+ 252, 177, 15, 5, 252, 172, 15, 5, 252, 168, 15, 5, 252, 162, 15, 5, 252,
+ 163, 117, 252, 162, 15, 5, 252, 161, 15, 5, 130, 15, 5, 252, 141, 15, 5,
+ 252, 7, 15, 5, 252, 8, 30, 61, 15, 5, 252, 8, 30, 243, 97, 15, 5, 252, 8,
+ 30, 236, 37, 242, 95, 15, 5, 251, 126, 15, 5, 251, 127, 117, 251, 127,
+ 255, 26, 15, 5, 251, 127, 117, 251, 127, 214, 190, 15, 5, 251, 127, 249,
+ 126, 251, 126, 15, 5, 251, 110, 15, 5, 251, 111, 117, 251, 110, 15, 5,
+ 251, 99, 15, 5, 251, 98, 15, 5, 248, 222, 15, 5, 248, 213, 15, 5, 248,
+ 214, 234, 67, 30, 115, 96, 231, 148, 15, 5, 248, 214, 234, 67, 30, 254,
+ 133, 15, 5, 248, 214, 234, 67, 30, 252, 161, 15, 5, 248, 214, 234, 67,
+ 30, 252, 7, 15, 5, 248, 214, 234, 67, 30, 243, 136, 15, 5, 248, 214, 234,
+ 67, 30, 243, 137, 96, 231, 148, 15, 5, 248, 214, 234, 67, 30, 242, 215,
+ 15, 5, 248, 214, 234, 67, 30, 242, 198, 15, 5, 248, 214, 234, 67, 30,
+ 242, 104, 15, 5, 248, 214, 234, 67, 30, 162, 15, 5, 248, 214, 234, 67,
+ 30, 235, 180, 15, 5, 248, 214, 234, 67, 30, 235, 181, 96, 232, 99, 15, 5,
+ 248, 214, 234, 67, 30, 234, 243, 15, 5, 248, 214, 234, 67, 30, 233, 136,
+ 15, 5, 248, 214, 234, 67, 30, 232, 99, 15, 5, 248, 214, 234, 67, 30, 232,
+ 100, 96, 231, 147, 15, 5, 248, 214, 234, 67, 30, 232, 85, 15, 5, 248,
+ 214, 234, 67, 30, 229, 108, 15, 5, 248, 214, 234, 67, 30, 226, 23, 96,
+ 226, 22, 15, 5, 248, 214, 234, 67, 30, 219, 192, 15, 5, 248, 214, 234,
+ 67, 30, 217, 73, 15, 5, 248, 214, 234, 67, 30, 214, 231, 96, 242, 198,
+ 15, 5, 248, 214, 234, 67, 30, 214, 126, 15, 5, 248, 188, 15, 5, 248, 167,
+ 15, 5, 248, 166, 15, 5, 248, 165, 15, 5, 248, 4, 15, 5, 247, 243, 15, 5,
+ 247, 218, 15, 5, 247, 219, 30, 220, 64, 15, 5, 247, 217, 15, 5, 247, 207,
+ 15, 5, 247, 208, 234, 209, 104, 242, 96, 247, 188, 15, 5, 247, 188, 15,
+ 5, 246, 79, 15, 5, 246, 80, 117, 246, 79, 15, 5, 246, 80, 242, 95, 15, 5,
+ 246, 80, 220, 46, 15, 5, 246, 77, 15, 5, 246, 78, 30, 245, 73, 15, 5,
+ 246, 76, 15, 5, 246, 75, 15, 5, 246, 74, 15, 5, 246, 73, 15, 5, 246, 69,
+ 15, 5, 246, 67, 15, 5, 246, 68, 242, 95, 15, 5, 246, 68, 242, 96, 242,
+ 95, 15, 5, 246, 66, 15, 5, 246, 59, 15, 5, 75, 15, 5, 160, 30, 226, 22,
+ 15, 5, 160, 117, 160, 227, 196, 117, 227, 195, 15, 5, 245, 235, 15, 5,
+ 245, 236, 30, 115, 96, 242, 50, 96, 248, 222, 15, 5, 245, 236, 30, 243,
+ 97, 15, 5, 245, 236, 30, 230, 231, 15, 5, 245, 236, 30, 222, 9, 15, 5,
+ 245, 236, 30, 220, 64, 15, 5, 245, 236, 30, 70, 15, 5, 245, 212, 15, 5,
+ 245, 201, 15, 5, 245, 175, 15, 5, 245, 151, 15, 5, 245, 152, 30, 243,
+ 105, 15, 5, 245, 152, 30, 243, 106, 216, 240, 15, 5, 245, 152, 30, 231,
+ 92, 15, 5, 245, 152, 249, 126, 245, 151, 15, 5, 245, 152, 226, 165, 245,
+ 151, 15, 5, 245, 152, 218, 234, 15, 5, 245, 90, 15, 5, 245, 88, 15, 5,
+ 245, 73, 15, 5, 245, 11, 15, 5, 245, 12, 30, 61, 15, 5, 245, 12, 30, 115,
+ 96, 233, 105, 15, 5, 245, 12, 30, 115, 96, 233, 106, 30, 233, 105, 15, 5,
+ 245, 12, 30, 254, 124, 15, 5, 245, 12, 30, 252, 177, 15, 5, 245, 12, 30,
+ 246, 68, 242, 95, 15, 5, 245, 12, 30, 246, 68, 242, 96, 242, 95, 15, 5,
+ 245, 12, 30, 162, 15, 5, 245, 12, 30, 242, 50, 242, 95, 15, 5, 245, 12,
+ 30, 236, 37, 242, 95, 15, 5, 245, 12, 30, 234, 208, 15, 5, 245, 12, 30,
+ 234, 209, 218, 234, 15, 5, 245, 12, 30, 233, 216, 15, 5, 245, 12, 30,
+ 233, 136, 15, 5, 245, 12, 30, 233, 106, 30, 233, 105, 15, 5, 245, 12, 30,
+ 232, 242, 15, 5, 245, 12, 30, 232, 99, 15, 5, 245, 12, 30, 214, 230, 15,
+ 5, 245, 12, 30, 214, 219, 15, 5, 243, 136, 15, 5, 243, 137, 242, 95, 15,
+ 5, 243, 134, 15, 5, 243, 135, 30, 115, 96, 248, 223, 96, 162, 15, 5, 243,
+ 135, 30, 115, 96, 162, 15, 5, 243, 135, 30, 115, 96, 236, 36, 15, 5, 243,
+ 135, 30, 255, 25, 216, 241, 96, 217, 94, 15, 5, 243, 135, 30, 254, 124,
+ 15, 5, 243, 135, 30, 253, 232, 15, 5, 243, 135, 30, 253, 231, 96, 243,
+ 119, 15, 5, 243, 135, 30, 252, 177, 15, 5, 243, 135, 30, 252, 142, 96,
+ 205, 15, 5, 243, 135, 30, 251, 99, 15, 5, 243, 135, 30, 251, 100, 96,
+ 205, 15, 5, 243, 135, 30, 248, 222, 15, 5, 243, 135, 30, 248, 4, 15, 5,
+ 243, 135, 30, 247, 219, 30, 220, 64, 15, 5, 243, 135, 30, 246, 77, 15, 5,
+ 243, 135, 30, 245, 175, 15, 5, 243, 135, 30, 245, 176, 96, 233, 136, 15,
+ 5, 243, 135, 30, 245, 151, 15, 5, 243, 135, 30, 245, 152, 30, 243, 106,
+ 216, 240, 15, 5, 243, 135, 30, 243, 106, 216, 240, 15, 5, 243, 135, 30,
+ 243, 97, 15, 5, 243, 135, 30, 242, 215, 15, 5, 243, 135, 30, 242, 213,
+ 15, 5, 243, 135, 30, 242, 214, 96, 61, 15, 5, 243, 135, 30, 242, 199, 96,
+ 218, 84, 15, 5, 243, 135, 30, 242, 50, 96, 232, 100, 96, 245, 73, 15, 5,
+ 243, 135, 30, 242, 31, 15, 5, 243, 135, 30, 242, 32, 96, 233, 136, 15, 5,
+ 243, 135, 30, 241, 182, 96, 232, 242, 15, 5, 243, 135, 30, 240, 219, 15,
+ 5, 243, 135, 30, 236, 37, 242, 95, 15, 5, 243, 135, 30, 235, 167, 96,
+ 240, 224, 96, 253, 232, 15, 5, 243, 135, 30, 234, 243, 15, 5, 243, 135,
+ 30, 234, 208, 15, 5, 243, 135, 30, 234, 90, 15, 5, 243, 135, 30, 234, 91,
+ 96, 233, 105, 15, 5, 243, 135, 30, 233, 217, 96, 254, 124, 15, 5, 243,
+ 135, 30, 233, 136, 15, 5, 243, 135, 30, 231, 93, 96, 245, 151, 15, 5,
+ 243, 135, 30, 230, 231, 15, 5, 243, 135, 30, 227, 195, 15, 5, 243, 135,
+ 30, 227, 196, 117, 227, 195, 15, 5, 243, 135, 30, 190, 15, 5, 243, 135,
+ 30, 222, 9, 15, 5, 243, 135, 30, 221, 232, 15, 5, 243, 135, 30, 220, 64,
+ 15, 5, 243, 135, 30, 220, 65, 96, 215, 99, 15, 5, 243, 135, 30, 220, 31,
+ 15, 5, 243, 135, 30, 218, 44, 15, 5, 243, 135, 30, 217, 73, 15, 5, 243,
+ 135, 30, 70, 15, 5, 243, 135, 30, 214, 219, 15, 5, 243, 135, 30, 214,
+ 220, 96, 246, 79, 15, 5, 243, 135, 117, 243, 134, 15, 5, 243, 129, 15, 5,
+ 243, 130, 249, 126, 243, 129, 15, 5, 243, 127, 15, 5, 243, 128, 117, 243,
+ 128, 243, 98, 117, 243, 97, 15, 5, 243, 119, 15, 5, 243, 120, 243, 128,
+ 117, 243, 128, 243, 98, 117, 243, 97, 15, 5, 243, 118, 15, 5, 243, 116,
+ 15, 5, 243, 107, 15, 5, 243, 105, 15, 5, 243, 106, 216, 240, 15, 5, 243,
+ 106, 117, 243, 105, 15, 5, 243, 106, 249, 126, 243, 105, 15, 5, 243, 97,
+ 15, 5, 243, 96, 15, 5, 243, 91, 15, 5, 243, 37, 15, 5, 243, 38, 30, 233,
+ 197, 15, 5, 242, 215, 15, 5, 242, 216, 30, 75, 15, 5, 242, 216, 30, 70,
+ 15, 5, 242, 216, 249, 126, 242, 215, 15, 5, 242, 213, 15, 5, 242, 214,
+ 117, 242, 213, 15, 5, 242, 214, 249, 126, 242, 213, 15, 5, 242, 210, 15,
+ 5, 242, 198, 15, 5, 242, 199, 242, 95, 15, 5, 242, 196, 15, 5, 242, 197,
+ 30, 115, 96, 236, 36, 15, 5, 242, 197, 30, 243, 106, 216, 240, 15, 5,
+ 242, 197, 30, 236, 36, 15, 5, 242, 197, 30, 232, 100, 96, 236, 36, 15, 5,
+ 242, 197, 30, 190, 15, 5, 242, 193, 15, 5, 242, 191, 15, 5, 242, 192,
+ 249, 126, 242, 191, 15, 5, 242, 192, 30, 252, 177, 15, 5, 242, 192, 30,
+ 217, 73, 15, 5, 242, 192, 216, 240, 15, 5, 242, 114, 15, 5, 242, 115,
+ 249, 126, 242, 114, 15, 5, 242, 112, 15, 5, 242, 113, 30, 234, 243, 15,
+ 5, 242, 113, 30, 234, 244, 30, 236, 37, 242, 95, 15, 5, 242, 113, 30,
+ 227, 195, 15, 5, 242, 113, 30, 222, 10, 96, 215, 114, 15, 5, 242, 113,
+ 242, 95, 15, 5, 242, 104, 15, 5, 242, 105, 30, 115, 96, 233, 197, 15, 5,
+ 242, 105, 30, 233, 197, 15, 5, 242, 105, 117, 242, 105, 232, 92, 15, 5,
+ 242, 99, 15, 5, 242, 97, 15, 5, 242, 98, 30, 220, 64, 15, 5, 242, 89, 15,
+ 5, 242, 88, 15, 5, 242, 85, 15, 5, 242, 84, 15, 5, 162, 15, 5, 242, 50,
+ 216, 240, 15, 5, 242, 50, 242, 95, 15, 5, 242, 31, 15, 5, 241, 181, 15,
+ 5, 241, 182, 30, 253, 232, 15, 5, 241, 182, 30, 253, 230, 15, 5, 241,
+ 182, 30, 252, 177, 15, 5, 241, 182, 30, 247, 188, 15, 5, 241, 182, 30,
+ 243, 127, 15, 5, 241, 182, 30, 234, 82, 15, 5, 241, 182, 30, 227, 195,
+ 15, 5, 241, 182, 30, 220, 64, 15, 5, 241, 182, 30, 70, 15, 5, 240, 223,
+ 15, 5, 240, 219, 15, 5, 240, 220, 30, 254, 124, 15, 5, 240, 220, 30, 242,
+ 31, 15, 5, 240, 220, 30, 234, 208, 15, 5, 240, 220, 30, 232, 198, 15, 5,
+ 240, 220, 30, 214, 219, 15, 5, 240, 216, 15, 5, 73, 15, 5, 240, 155, 61,
+ 15, 5, 240, 116, 15, 5, 236, 64, 15, 5, 236, 65, 117, 236, 65, 251, 99,
+ 15, 5, 236, 65, 117, 236, 65, 218, 234, 15, 5, 236, 39, 15, 5, 236, 36,
+ 15, 5, 236, 37, 247, 243, 15, 5, 236, 37, 223, 36, 15, 5, 236, 37, 117,
+ 236, 37, 220, 15, 117, 220, 15, 214, 220, 117, 214, 219, 15, 5, 236, 37,
+ 242, 95, 15, 5, 236, 28, 15, 5, 236, 29, 30, 243, 106, 216, 240, 15, 5,
+ 236, 27, 15, 5, 236, 17, 15, 5, 236, 18, 30, 217, 73, 15, 5, 236, 18,
+ 249, 126, 236, 17, 15, 5, 236, 18, 226, 165, 236, 17, 15, 5, 236, 18,
+ 218, 234, 15, 5, 236, 10, 15, 5, 236, 0, 15, 5, 235, 180, 15, 5, 235,
+ 166, 15, 5, 176, 15, 5, 235, 14, 30, 61, 15, 5, 235, 14, 30, 255, 0, 15,
+ 5, 235, 14, 30, 255, 1, 96, 233, 216, 15, 5, 235, 14, 30, 253, 230, 15,
+ 5, 235, 14, 30, 252, 177, 15, 5, 235, 14, 30, 252, 161, 15, 5, 235, 14,
+ 30, 130, 15, 5, 235, 14, 30, 252, 7, 15, 5, 235, 14, 30, 245, 88, 15, 5,
+ 235, 14, 30, 245, 73, 15, 5, 235, 14, 30, 243, 136, 15, 5, 235, 14, 30,
+ 243, 119, 15, 5, 235, 14, 30, 243, 106, 216, 240, 15, 5, 235, 14, 30,
+ 243, 97, 15, 5, 235, 14, 30, 243, 98, 96, 220, 102, 96, 61, 15, 5, 235,
+ 14, 30, 242, 215, 15, 5, 235, 14, 30, 242, 198, 15, 5, 235, 14, 30, 242,
+ 192, 96, 221, 232, 15, 5, 235, 14, 30, 242, 192, 249, 126, 242, 191, 15,
+ 5, 235, 14, 30, 242, 114, 15, 5, 235, 14, 30, 242, 88, 15, 5, 235, 14,
+ 30, 236, 36, 15, 5, 235, 14, 30, 236, 17, 15, 5, 235, 14, 30, 234, 243,
+ 15, 5, 235, 14, 30, 234, 93, 15, 5, 235, 14, 30, 234, 90, 15, 5, 235, 14,
+ 30, 232, 242, 15, 5, 235, 14, 30, 232, 99, 15, 5, 235, 14, 30, 231, 92,
+ 15, 5, 235, 14, 30, 231, 93, 96, 246, 79, 15, 5, 235, 14, 30, 231, 93,
+ 96, 242, 215, 15, 5, 235, 14, 30, 231, 93, 96, 217, 23, 15, 5, 235, 14,
+ 30, 230, 231, 15, 5, 235, 14, 30, 230, 232, 96, 227, 190, 15, 5, 235, 14,
+ 30, 229, 108, 15, 5, 235, 14, 30, 227, 195, 15, 5, 235, 14, 30, 225, 109,
+ 15, 5, 235, 14, 30, 222, 141, 15, 5, 235, 14, 30, 206, 15, 5, 235, 14,
+ 30, 221, 232, 15, 5, 235, 14, 30, 220, 103, 15, 5, 235, 14, 30, 220, 64,
+ 15, 5, 235, 14, 30, 220, 31, 15, 5, 235, 14, 30, 219, 226, 15, 5, 235,
+ 14, 30, 219, 183, 15, 5, 235, 14, 30, 218, 52, 15, 5, 235, 14, 30, 217,
+ 51, 15, 5, 235, 14, 30, 70, 15, 5, 235, 14, 30, 214, 230, 15, 5, 235, 14,
+ 30, 214, 219, 15, 5, 235, 14, 30, 214, 193, 30, 190, 15, 5, 235, 14, 30,
+ 214, 126, 15, 5, 235, 14, 30, 210, 44, 15, 5, 235, 12, 15, 5, 235, 13,
+ 249, 126, 235, 12, 15, 5, 235, 5, 15, 5, 235, 2, 15, 5, 235, 0, 15, 5,
+ 234, 255, 15, 5, 234, 253, 15, 5, 234, 254, 117, 234, 253, 15, 5, 234,
+ 243, 15, 5, 234, 244, 30, 236, 37, 242, 95, 15, 5, 234, 239, 15, 5, 234,
+ 240, 30, 252, 177, 15, 5, 234, 240, 249, 126, 234, 239, 15, 5, 234, 237,
+ 15, 5, 234, 236, 15, 5, 234, 208, 15, 5, 234, 209, 233, 119, 30, 104,
+ 117, 233, 119, 30, 70, 15, 5, 234, 209, 117, 234, 209, 233, 119, 30, 104,
+ 117, 233, 119, 30, 70, 15, 5, 234, 158, 15, 5, 234, 93, 15, 5, 234, 94,
+ 30, 252, 177, 15, 5, 234, 94, 30, 70, 15, 5, 234, 94, 30, 214, 219, 15,
+ 5, 234, 90, 15, 5, 234, 82, 15, 5, 234, 69, 15, 5, 234, 68, 15, 5, 234,
+ 66, 15, 5, 234, 67, 117, 234, 66, 15, 5, 233, 218, 15, 5, 233, 219, 117,
+ 241, 182, 30, 253, 231, 233, 219, 117, 241, 182, 30, 253, 230, 15, 5,
+ 233, 216, 15, 5, 233, 214, 15, 5, 233, 215, 214, 12, 17, 15, 5, 233, 213,
+ 15, 5, 233, 210, 15, 5, 233, 211, 242, 95, 15, 5, 233, 209, 15, 5, 233,
+ 197, 15, 5, 233, 198, 226, 165, 233, 197, 15, 5, 233, 192, 15, 5, 233,
+ 173, 15, 5, 233, 136, 15, 5, 233, 118, 15, 5, 233, 119, 30, 61, 15, 5,
+ 233, 119, 30, 115, 96, 248, 223, 96, 162, 15, 5, 233, 119, 30, 115, 96,
+ 243, 97, 15, 5, 233, 119, 30, 115, 96, 233, 105, 15, 5, 233, 119, 30,
+ 254, 179, 15, 5, 233, 119, 30, 254, 124, 15, 5, 233, 119, 30, 253, 233,
+ 210, 40, 216, 240, 15, 5, 233, 119, 30, 252, 177, 15, 5, 233, 119, 30,
+ 252, 7, 15, 5, 233, 119, 30, 248, 167, 15, 5, 233, 119, 30, 245, 151, 15,
+ 5, 233, 119, 30, 243, 136, 15, 5, 233, 119, 30, 243, 97, 15, 5, 233, 119,
+ 30, 242, 104, 15, 5, 233, 119, 30, 242, 105, 96, 242, 104, 15, 5, 233,
+ 119, 30, 162, 15, 5, 233, 119, 30, 242, 31, 15, 5, 233, 119, 30, 241,
+ 182, 30, 227, 195, 15, 5, 233, 119, 30, 236, 37, 242, 95, 15, 5, 233,
+ 119, 30, 236, 17, 15, 5, 233, 119, 30, 236, 18, 96, 162, 15, 5, 233, 119,
+ 30, 236, 18, 96, 232, 99, 15, 5, 233, 119, 30, 234, 93, 15, 5, 233, 119,
+ 30, 234, 82, 15, 5, 233, 119, 30, 233, 216, 15, 5, 233, 119, 30, 233,
+ 210, 15, 5, 233, 119, 30, 233, 211, 96, 241, 182, 96, 61, 15, 5, 233,
+ 119, 30, 233, 118, 15, 5, 233, 119, 30, 232, 198, 15, 5, 233, 119, 30,
+ 232, 99, 15, 5, 233, 119, 30, 232, 87, 15, 5, 233, 119, 30, 231, 92, 15,
+ 5, 233, 119, 30, 231, 93, 96, 245, 151, 15, 5, 233, 119, 30, 230, 62, 15,
+ 5, 233, 119, 30, 229, 108, 15, 5, 233, 119, 30, 220, 65, 96, 218, 44, 15,
+ 5, 233, 119, 30, 220, 11, 96, 242, 192, 96, 245, 88, 15, 5, 233, 119, 30,
+ 220, 11, 96, 242, 192, 216, 240, 15, 5, 233, 119, 30, 219, 224, 15, 5,
+ 233, 119, 30, 219, 225, 96, 219, 224, 15, 5, 233, 119, 30, 218, 44, 15,
+ 5, 233, 119, 30, 217, 85, 15, 5, 233, 119, 30, 217, 73, 15, 5, 233, 119,
+ 30, 217, 24, 96, 115, 96, 218, 85, 96, 197, 15, 5, 233, 119, 30, 70, 15,
+ 5, 233, 119, 30, 104, 96, 61, 15, 5, 233, 119, 30, 104, 96, 104, 96, 70,
+ 15, 5, 233, 119, 30, 214, 231, 96, 253, 232, 15, 5, 233, 119, 30, 214,
+ 219, 15, 5, 233, 119, 30, 214, 126, 15, 5, 233, 119, 218, 234, 15, 5,
+ 233, 116, 15, 5, 233, 117, 30, 220, 64, 15, 5, 233, 117, 30, 220, 65, 96,
+ 218, 44, 15, 5, 233, 117, 242, 95, 15, 5, 233, 117, 242, 96, 117, 233,
+ 117, 242, 96, 220, 64, 15, 5, 233, 112, 15, 5, 233, 105, 15, 5, 233, 106,
+ 30, 233, 105, 15, 5, 233, 103, 15, 5, 233, 104, 30, 233, 197, 15, 5, 233,
+ 104, 30, 233, 198, 96, 222, 141, 15, 5, 232, 242, 15, 5, 232, 227, 15, 5,
+ 232, 217, 15, 5, 232, 198, 15, 5, 232, 99, 15, 5, 232, 100, 30, 252, 177,
+ 15, 5, 232, 97, 15, 5, 232, 98, 30, 254, 179, 15, 5, 232, 98, 30, 252,
+ 177, 15, 5, 232, 98, 30, 245, 73, 15, 5, 232, 98, 30, 245, 74, 216, 240,
+ 15, 5, 232, 98, 30, 243, 106, 216, 240, 15, 5, 232, 98, 30, 241, 182, 30,
+ 252, 177, 15, 5, 232, 98, 30, 236, 17, 15, 5, 232, 98, 30, 235, 2, 15, 5,
+ 232, 98, 30, 235, 0, 15, 5, 232, 98, 30, 235, 1, 96, 253, 232, 15, 5,
+ 232, 98, 30, 234, 93, 15, 5, 232, 98, 30, 233, 137, 96, 253, 232, 15, 5,
+ 232, 98, 30, 233, 118, 15, 5, 232, 98, 30, 231, 93, 96, 245, 151, 15, 5,
+ 232, 98, 30, 229, 108, 15, 5, 232, 98, 30, 227, 238, 15, 5, 232, 98, 30,
+ 219, 193, 96, 253, 232, 15, 5, 232, 98, 30, 219, 175, 96, 251, 126, 15,
+ 5, 232, 98, 30, 215, 114, 15, 5, 232, 98, 216, 240, 15, 5, 232, 98, 249,
+ 126, 232, 97, 15, 5, 232, 98, 226, 165, 232, 97, 15, 5, 232, 98, 218,
+ 234, 15, 5, 232, 98, 220, 46, 15, 5, 232, 96, 15, 5, 232, 92, 15, 5, 232,
+ 93, 117, 232, 92, 15, 5, 232, 93, 226, 165, 232, 92, 15, 5, 232, 93, 220,
+ 46, 15, 5, 232, 90, 15, 5, 232, 87, 15, 5, 232, 85, 15, 5, 232, 86, 117,
+ 232, 85, 15, 5, 232, 86, 117, 232, 86, 243, 98, 117, 243, 97, 15, 5, 185,
+ 15, 5, 231, 240, 30, 217, 73, 15, 5, 231, 240, 242, 95, 15, 5, 231, 239,
+ 15, 5, 231, 211, 15, 5, 231, 167, 15, 5, 231, 148, 15, 5, 231, 147, 15,
+ 5, 231, 92, 15, 5, 231, 48, 15, 5, 230, 231, 15, 5, 230, 189, 15, 5, 230,
+ 103, 15, 5, 230, 104, 117, 230, 103, 15, 5, 230, 94, 15, 5, 230, 95, 242,
+ 95, 15, 5, 230, 79, 15, 5, 230, 65, 15, 5, 230, 62, 15, 5, 230, 63, 30,
+ 61, 15, 5, 230, 63, 30, 233, 197, 15, 5, 230, 63, 30, 210, 116, 15, 5,
+ 230, 63, 117, 230, 62, 15, 5, 230, 63, 117, 230, 63, 30, 115, 96, 197,
+ 15, 5, 230, 63, 249, 126, 230, 62, 15, 5, 230, 60, 15, 5, 230, 61, 30,
+ 61, 15, 5, 230, 61, 30, 115, 96, 248, 4, 15, 5, 230, 61, 30, 248, 4, 15,
+ 5, 230, 61, 242, 95, 15, 5, 197, 15, 5, 229, 228, 15, 5, 229, 217, 15, 5,
+ 229, 218, 235, 193, 15, 5, 229, 218, 30, 219, 227, 216, 240, 15, 5, 229,
+ 218, 226, 165, 229, 217, 15, 5, 229, 216, 15, 5, 229, 209, 227, 181, 15,
+ 5, 229, 208, 15, 5, 229, 207, 15, 5, 229, 108, 15, 5, 229, 109, 30, 61,
+ 15, 5, 229, 109, 30, 214, 219, 15, 5, 229, 109, 220, 46, 15, 5, 228, 234,
+ 15, 5, 228, 235, 30, 75, 15, 5, 228, 233, 15, 5, 228, 204, 15, 5, 228,
+ 205, 30, 243, 106, 216, 240, 15, 5, 228, 205, 30, 243, 98, 96, 243, 106,
+ 216, 240, 15, 5, 228, 202, 15, 5, 228, 203, 30, 254, 124, 15, 5, 228,
+ 203, 30, 253, 232, 15, 5, 228, 203, 30, 253, 233, 96, 253, 232, 15, 5,
+ 228, 203, 30, 242, 104, 15, 5, 228, 203, 30, 231, 93, 96, 243, 106, 216,
+ 240, 15, 5, 228, 203, 30, 229, 108, 15, 5, 228, 203, 30, 227, 195, 15, 5,
+ 228, 203, 30, 220, 64, 15, 5, 228, 203, 30, 220, 65, 96, 115, 254, 124,
+ 15, 5, 228, 203, 30, 220, 65, 96, 253, 232, 15, 5, 228, 203, 30, 220, 65,
+ 96, 253, 233, 96, 253, 232, 15, 5, 228, 203, 30, 214, 231, 96, 253, 232,
+ 15, 5, 228, 203, 30, 214, 126, 15, 5, 228, 191, 15, 5, 227, 238, 15, 5,
+ 227, 211, 15, 5, 227, 195, 15, 5, 227, 196, 233, 117, 30, 243, 97, 15, 5,
+ 227, 196, 233, 117, 30, 231, 148, 15, 5, 227, 196, 233, 117, 30, 222, 9,
+ 15, 5, 227, 196, 233, 117, 30, 222, 10, 117, 227, 196, 233, 117, 30, 222,
+ 9, 15, 5, 227, 196, 233, 117, 30, 214, 126, 15, 5, 227, 196, 216, 240,
+ 15, 5, 227, 196, 117, 227, 195, 15, 5, 227, 196, 249, 126, 227, 195, 15,
+ 5, 227, 196, 249, 126, 227, 196, 233, 117, 117, 233, 116, 15, 5, 227,
+ 190, 15, 5, 227, 191, 255, 25, 30, 253, 227, 15, 5, 227, 191, 255, 25,
+ 30, 252, 7, 15, 5, 227, 191, 255, 25, 30, 246, 75, 15, 5, 227, 191, 255,
+ 25, 30, 242, 104, 15, 5, 227, 191, 255, 25, 30, 236, 37, 242, 95, 15, 5,
+ 227, 191, 255, 25, 30, 235, 0, 15, 5, 227, 191, 255, 25, 30, 233, 136,
+ 15, 5, 227, 191, 255, 25, 30, 229, 108, 15, 5, 227, 191, 255, 25, 30,
+ 219, 172, 15, 5, 227, 191, 255, 25, 30, 214, 230, 15, 5, 227, 191, 234,
+ 67, 30, 252, 7, 15, 5, 227, 191, 234, 67, 30, 252, 8, 70, 15, 5, 190, 15,
+ 5, 226, 81, 15, 5, 226, 48, 15, 5, 226, 22, 15, 5, 225, 162, 15, 5, 225,
+ 109, 15, 5, 225, 110, 30, 61, 15, 5, 225, 110, 30, 255, 26, 15, 5, 225,
+ 110, 30, 252, 7, 15, 5, 225, 110, 30, 251, 126, 15, 5, 225, 110, 30, 75,
+ 15, 5, 225, 110, 30, 73, 15, 5, 225, 110, 30, 240, 116, 15, 5, 225, 110,
+ 30, 70, 15, 5, 225, 110, 30, 214, 230, 15, 5, 225, 110, 249, 126, 225,
+ 109, 15, 5, 225, 54, 15, 5, 225, 55, 30, 234, 239, 15, 5, 225, 55, 30,
+ 214, 219, 15, 5, 225, 55, 30, 210, 116, 15, 5, 225, 55, 226, 165, 225,
+ 54, 15, 5, 205, 15, 5, 223, 183, 15, 5, 223, 36, 15, 5, 222, 141, 15, 5,
+ 206, 15, 5, 222, 23, 227, 181, 15, 5, 222, 22, 15, 5, 222, 23, 30, 61,
+ 15, 5, 222, 23, 30, 246, 79, 15, 5, 222, 23, 30, 246, 77, 15, 5, 222, 23,
+ 30, 162, 15, 5, 222, 23, 30, 234, 243, 15, 5, 222, 23, 30, 233, 197, 15,
+ 5, 222, 23, 30, 232, 85, 15, 5, 222, 23, 30, 230, 231, 15, 5, 222, 23,
+ 30, 227, 195, 15, 5, 222, 23, 30, 222, 9, 15, 5, 222, 23, 30, 220, 31,
+ 15, 5, 222, 23, 30, 217, 94, 15, 5, 222, 23, 30, 214, 230, 15, 5, 222,
+ 23, 30, 214, 225, 15, 5, 222, 23, 30, 214, 197, 15, 5, 222, 23, 30, 214,
+ 150, 15, 5, 222, 23, 30, 214, 126, 15, 5, 222, 23, 117, 222, 22, 15, 5,
+ 222, 23, 242, 95, 15, 5, 222, 9, 15, 5, 222, 10, 233, 119, 30, 253, 230,
+ 15, 5, 221, 240, 15, 5, 221, 232, 15, 5, 220, 103, 15, 5, 220, 101, 15,
+ 5, 220, 102, 30, 61, 15, 5, 220, 102, 30, 252, 177, 15, 5, 220, 102, 30,
+ 242, 191, 15, 5, 220, 102, 30, 229, 108, 15, 5, 220, 102, 30, 219, 224,
+ 15, 5, 220, 102, 30, 215, 99, 15, 5, 220, 102, 30, 70, 15, 5, 220, 102,
+ 30, 104, 96, 61, 15, 5, 220, 100, 15, 5, 220, 98, 15, 5, 220, 79, 15, 5,
+ 220, 64, 15, 5, 220, 65, 240, 223, 15, 5, 220, 65, 117, 220, 65, 243,
+ 128, 117, 243, 128, 243, 98, 117, 243, 97, 15, 5, 220, 65, 117, 220, 65,
+ 217, 95, 117, 217, 95, 243, 98, 117, 243, 97, 15, 5, 220, 57, 15, 5, 220,
+ 52, 15, 5, 220, 49, 15, 5, 220, 48, 15, 5, 220, 45, 15, 5, 220, 31, 15,
+ 5, 220, 32, 30, 61, 15, 5, 220, 32, 30, 236, 17, 15, 5, 220, 25, 15, 5,
+ 220, 26, 30, 61, 15, 5, 220, 26, 30, 252, 162, 15, 5, 220, 26, 30, 251,
+ 110, 15, 5, 220, 26, 30, 247, 207, 15, 5, 220, 26, 30, 243, 97, 15, 5,
+ 220, 26, 30, 236, 36, 15, 5, 220, 26, 30, 236, 37, 242, 95, 15, 5, 220,
+ 26, 30, 233, 192, 15, 5, 220, 26, 30, 232, 87, 15, 5, 220, 26, 30, 230,
+ 94, 15, 5, 220, 26, 30, 222, 9, 15, 5, 220, 19, 15, 5, 220, 14, 15, 5,
+ 220, 15, 216, 240, 15, 5, 220, 15, 117, 220, 15, 251, 100, 117, 251, 99,
+ 15, 5, 220, 10, 15, 5, 219, 226, 15, 5, 219, 227, 117, 235, 194, 219,
+ 226, 15, 5, 219, 224, 15, 5, 219, 223, 15, 5, 219, 192, 15, 5, 219, 193,
+ 242, 95, 15, 5, 219, 183, 15, 5, 219, 181, 15, 5, 219, 182, 117, 219,
+ 182, 219, 224, 15, 5, 219, 174, 15, 5, 219, 172, 15, 5, 218, 84, 15, 5,
+ 218, 85, 117, 218, 84, 15, 5, 218, 55, 15, 5, 218, 54, 15, 5, 218, 52,
+ 15, 5, 218, 44, 15, 5, 218, 43, 15, 5, 218, 18, 15, 5, 218, 17, 15, 5,
+ 217, 106, 15, 5, 217, 107, 253, 217, 15, 5, 217, 107, 30, 241, 181, 15,
+ 5, 217, 107, 30, 230, 231, 15, 5, 217, 107, 242, 95, 15, 5, 217, 94, 15,
+ 5, 217, 95, 117, 217, 95, 228, 235, 117, 228, 235, 247, 189, 117, 247,
+ 188, 15, 5, 217, 95, 218, 234, 15, 5, 217, 85, 15, 5, 129, 30, 252, 7,
+ 15, 5, 129, 30, 242, 104, 15, 5, 129, 30, 220, 64, 15, 5, 129, 30, 219,
+ 226, 15, 5, 129, 30, 215, 114, 15, 5, 129, 30, 214, 219, 15, 5, 217, 73,
+ 15, 5, 217, 51, 15, 5, 217, 23, 15, 5, 217, 24, 242, 95, 15, 5, 216, 118,
+ 15, 5, 216, 119, 216, 240, 15, 5, 216, 91, 15, 5, 216, 73, 15, 5, 216,
+ 74, 30, 217, 73, 15, 5, 216, 74, 117, 216, 73, 15, 5, 216, 74, 117, 216,
+ 74, 243, 128, 117, 243, 128, 243, 98, 117, 243, 97, 15, 5, 215, 119, 15,
+ 5, 215, 114, 15, 5, 215, 112, 15, 5, 215, 109, 15, 5, 215, 99, 15, 5,
+ 215, 100, 117, 215, 100, 210, 117, 117, 210, 116, 15, 5, 70, 15, 5, 104,
+ 242, 104, 15, 5, 104, 104, 70, 15, 5, 104, 117, 104, 226, 91, 117, 226,
+ 91, 243, 98, 117, 243, 97, 15, 5, 104, 117, 104, 218, 19, 117, 218, 18,
+ 15, 5, 104, 117, 104, 104, 223, 50, 117, 104, 223, 49, 15, 5, 214, 230,
+ 15, 5, 214, 225, 15, 5, 214, 219, 15, 5, 214, 220, 233, 192, 15, 5, 214,
+ 220, 30, 252, 177, 15, 5, 214, 220, 30, 230, 231, 15, 5, 214, 220, 30,
+ 104, 96, 104, 96, 70, 15, 5, 214, 220, 30, 104, 96, 104, 96, 104, 242,
+ 95, 15, 5, 214, 220, 242, 95, 15, 5, 214, 220, 220, 46, 15, 5, 214, 220,
+ 220, 47, 30, 252, 177, 15, 5, 214, 215, 15, 5, 214, 197, 15, 5, 214, 198,
+ 30, 233, 118, 15, 5, 214, 198, 30, 231, 93, 96, 248, 222, 15, 5, 214,
+ 198, 30, 220, 101, 15, 5, 214, 198, 30, 70, 15, 5, 214, 196, 15, 5, 214,
+ 192, 15, 5, 214, 193, 30, 234, 208, 15, 5, 214, 193, 30, 190, 15, 5, 214,
+ 190, 15, 5, 214, 191, 242, 95, 15, 5, 214, 150, 15, 5, 214, 151, 249,
+ 126, 214, 150, 15, 5, 214, 151, 220, 46, 15, 5, 214, 148, 15, 5, 214,
+ 149, 30, 115, 96, 162, 15, 5, 214, 149, 30, 115, 96, 197, 15, 5, 214,
+ 149, 30, 254, 179, 15, 5, 214, 149, 30, 162, 15, 5, 214, 149, 30, 227,
+ 195, 15, 5, 214, 149, 30, 214, 230, 15, 5, 214, 149, 30, 214, 231, 96,
+ 253, 232, 15, 5, 214, 149, 30, 214, 231, 96, 252, 7, 15, 5, 214, 147, 15,
+ 5, 214, 144, 15, 5, 214, 143, 15, 5, 214, 139, 15, 5, 214, 140, 30, 61,
+ 15, 5, 214, 140, 30, 253, 227, 15, 5, 214, 140, 30, 130, 15, 5, 214, 140,
+ 30, 246, 69, 15, 5, 214, 140, 30, 243, 136, 15, 5, 214, 140, 30, 243,
+ 119, 15, 5, 214, 140, 30, 243, 106, 216, 240, 15, 5, 214, 140, 30, 243,
+ 97, 15, 5, 214, 140, 30, 242, 114, 15, 5, 214, 140, 30, 162, 15, 5, 214,
+ 140, 30, 236, 36, 15, 5, 214, 140, 30, 236, 17, 15, 5, 214, 140, 30, 235,
+ 166, 15, 5, 214, 140, 30, 234, 93, 15, 5, 214, 140, 30, 232, 85, 15, 5,
+ 214, 140, 30, 230, 189, 15, 5, 214, 140, 30, 190, 15, 5, 214, 140, 30,
+ 220, 64, 15, 5, 214, 140, 30, 219, 181, 15, 5, 214, 140, 30, 215, 119,
+ 15, 5, 214, 140, 30, 104, 96, 242, 104, 15, 5, 214, 140, 30, 214, 219,
15, 5, 214, 140, 30, 214, 137, 15, 5, 214, 137, 15, 5, 214, 138, 30, 70,
- 15, 5, 214, 126, 15, 5, 214, 127, 30, 61, 15, 5, 214, 127, 30, 233, 217,
- 15, 5, 214, 127, 30, 233, 196, 15, 5, 214, 127, 30, 217, 72, 15, 5, 214,
+ 15, 5, 214, 126, 15, 5, 214, 127, 30, 61, 15, 5, 214, 127, 30, 233, 218,
+ 15, 5, 214, 127, 30, 233, 197, 15, 5, 214, 127, 30, 217, 73, 15, 5, 214,
122, 15, 5, 214, 125, 15, 5, 214, 123, 15, 5, 214, 119, 15, 5, 214, 108,
- 15, 5, 214, 109, 30, 234, 207, 15, 5, 214, 107, 15, 5, 210, 116, 15, 5,
- 210, 117, 216, 239, 15, 5, 210, 117, 92, 30, 233, 196, 15, 5, 210, 113,
+ 15, 5, 214, 109, 30, 234, 208, 15, 5, 214, 107, 15, 5, 210, 116, 15, 5,
+ 210, 117, 216, 240, 15, 5, 210, 117, 92, 30, 233, 197, 15, 5, 210, 113,
15, 5, 210, 106, 15, 5, 210, 93, 15, 5, 210, 44, 15, 5, 210, 45, 117,
- 210, 44, 15, 5, 210, 43, 15, 5, 210, 41, 15, 5, 210, 42, 235, 3, 216,
- 239, 15, 5, 210, 36, 15, 5, 210, 28, 15, 5, 210, 13, 15, 5, 210, 11, 15,
+ 210, 44, 15, 5, 210, 43, 15, 5, 210, 41, 15, 5, 210, 42, 235, 4, 216,
+ 240, 15, 5, 210, 36, 15, 5, 210, 28, 15, 5, 210, 13, 15, 5, 210, 11, 15,
5, 210, 12, 30, 61, 15, 5, 210, 10, 15, 5, 210, 9, 15, 132, 5, 113, 253,
- 231, 15, 132, 5, 134, 253, 231, 15, 132, 5, 244, 11, 253, 231, 15, 132,
- 5, 244, 81, 253, 231, 15, 132, 5, 219, 125, 253, 231, 15, 132, 5, 220,
- 122, 253, 231, 15, 132, 5, 245, 193, 253, 231, 15, 132, 5, 228, 200, 253,
- 231, 15, 132, 5, 134, 247, 187, 15, 132, 5, 244, 11, 247, 187, 15, 132,
- 5, 244, 81, 247, 187, 15, 132, 5, 219, 125, 247, 187, 15, 132, 5, 220,
- 122, 247, 187, 15, 132, 5, 245, 193, 247, 187, 15, 132, 5, 228, 200, 247,
- 187, 15, 132, 5, 244, 11, 70, 15, 132, 5, 244, 81, 70, 15, 132, 5, 219,
- 125, 70, 15, 132, 5, 220, 122, 70, 15, 132, 5, 245, 193, 70, 15, 132, 5,
- 228, 200, 70, 15, 132, 5, 123, 243, 38, 15, 132, 5, 113, 243, 38, 15,
- 132, 5, 134, 243, 38, 15, 132, 5, 244, 11, 243, 38, 15, 132, 5, 244, 81,
- 243, 38, 15, 132, 5, 219, 125, 243, 38, 15, 132, 5, 220, 122, 243, 38,
- 15, 132, 5, 245, 193, 243, 38, 15, 132, 5, 228, 200, 243, 38, 15, 132, 5,
- 123, 243, 35, 15, 132, 5, 113, 243, 35, 15, 132, 5, 134, 243, 35, 15,
- 132, 5, 244, 11, 243, 35, 15, 132, 5, 244, 81, 243, 35, 15, 132, 5, 113,
- 220, 78, 15, 132, 5, 134, 220, 78, 15, 132, 5, 134, 220, 79, 214, 12, 17,
- 15, 132, 5, 244, 11, 220, 78, 15, 132, 5, 244, 81, 220, 78, 15, 132, 5,
- 219, 125, 220, 78, 15, 132, 5, 220, 122, 220, 78, 15, 132, 5, 245, 193,
- 220, 78, 15, 132, 5, 228, 200, 220, 78, 15, 132, 5, 123, 220, 73, 15,
- 132, 5, 113, 220, 73, 15, 132, 5, 134, 220, 73, 15, 132, 5, 134, 220, 74,
- 214, 12, 17, 15, 132, 5, 244, 11, 220, 73, 15, 132, 5, 244, 81, 220, 73,
- 15, 132, 5, 220, 79, 30, 243, 119, 96, 247, 187, 15, 132, 5, 220, 79, 30,
- 243, 119, 96, 230, 188, 15, 132, 5, 123, 251, 95, 15, 132, 5, 113, 251,
- 95, 15, 132, 5, 134, 251, 95, 15, 132, 5, 134, 251, 96, 214, 12, 17, 15,
- 132, 5, 244, 11, 251, 95, 15, 132, 5, 244, 81, 251, 95, 15, 132, 5, 134,
- 214, 12, 244, 20, 245, 74, 15, 132, 5, 134, 214, 12, 244, 20, 245, 71,
- 15, 132, 5, 244, 11, 214, 12, 244, 20, 232, 217, 15, 132, 5, 244, 11,
- 214, 12, 244, 20, 232, 215, 15, 132, 5, 244, 11, 214, 12, 244, 20, 232,
- 218, 61, 15, 132, 5, 244, 11, 214, 12, 244, 20, 232, 218, 253, 158, 15,
- 132, 5, 219, 125, 214, 12, 244, 20, 253, 228, 15, 132, 5, 220, 122, 214,
- 12, 244, 20, 236, 8, 15, 132, 5, 220, 122, 214, 12, 244, 20, 236, 10, 61,
- 15, 132, 5, 220, 122, 214, 12, 244, 20, 236, 10, 253, 158, 15, 132, 5,
- 245, 193, 214, 12, 244, 20, 214, 121, 15, 132, 5, 245, 193, 214, 12, 244,
- 20, 214, 120, 15, 132, 5, 228, 200, 214, 12, 244, 20, 236, 24, 15, 132,
- 5, 228, 200, 214, 12, 244, 20, 236, 23, 15, 132, 5, 228, 200, 214, 12,
- 244, 20, 236, 22, 15, 132, 5, 228, 200, 214, 12, 244, 20, 236, 25, 61,
- 15, 132, 5, 113, 253, 232, 216, 239, 15, 132, 5, 134, 253, 232, 216, 239,
- 15, 132, 5, 244, 11, 253, 232, 216, 239, 15, 132, 5, 244, 81, 253, 232,
- 216, 239, 15, 132, 5, 219, 125, 253, 232, 216, 239, 15, 132, 5, 123, 252,
- 150, 15, 132, 5, 113, 252, 150, 15, 132, 5, 134, 252, 150, 15, 132, 5,
- 244, 11, 252, 150, 15, 132, 5, 244, 11, 252, 151, 214, 12, 17, 15, 132,
- 5, 244, 81, 252, 150, 15, 132, 5, 244, 81, 252, 151, 214, 12, 17, 15,
- 132, 5, 228, 210, 15, 132, 5, 228, 211, 15, 132, 5, 123, 245, 70, 15,
- 132, 5, 113, 245, 70, 15, 132, 5, 123, 216, 169, 247, 187, 15, 132, 5,
- 113, 216, 167, 247, 187, 15, 132, 5, 244, 81, 219, 114, 247, 187, 15,
- 132, 5, 123, 216, 169, 214, 12, 244, 20, 61, 15, 132, 5, 113, 216, 167,
- 214, 12, 244, 20, 61, 15, 132, 5, 123, 245, 189, 253, 231, 15, 132, 5,
- 123, 224, 22, 253, 231, 15, 132, 5, 55, 253, 219, 123, 219, 115, 15, 132,
- 5, 55, 253, 219, 123, 224, 21, 15, 224, 141, 5, 55, 253, 219, 211, 209,
- 247, 172, 15, 224, 141, 5, 67, 249, 226, 15, 224, 141, 5, 247, 255, 249,
- 226, 15, 224, 141, 5, 247, 255, 215, 221, 12, 13, 255, 155, 12, 13, 255,
- 154, 12, 13, 255, 153, 12, 13, 255, 152, 12, 13, 255, 151, 12, 13, 255,
- 150, 12, 13, 255, 149, 12, 13, 255, 148, 12, 13, 255, 147, 12, 13, 255,
- 146, 12, 13, 255, 145, 12, 13, 255, 144, 12, 13, 255, 143, 12, 13, 255,
- 142, 12, 13, 255, 141, 12, 13, 255, 140, 12, 13, 255, 139, 12, 13, 255,
- 138, 12, 13, 255, 137, 12, 13, 255, 136, 12, 13, 255, 135, 12, 13, 255,
- 134, 12, 13, 255, 133, 12, 13, 255, 132, 12, 13, 255, 131, 12, 13, 255,
- 130, 12, 13, 255, 129, 12, 13, 255, 128, 12, 13, 255, 127, 12, 13, 255,
- 126, 12, 13, 255, 125, 12, 13, 255, 124, 12, 13, 255, 123, 12, 13, 255,
- 122, 12, 13, 255, 121, 12, 13, 255, 120, 12, 13, 255, 119, 12, 13, 255,
- 118, 12, 13, 255, 117, 12, 13, 255, 116, 12, 13, 255, 115, 12, 13, 255,
- 114, 12, 13, 255, 113, 12, 13, 255, 112, 12, 13, 255, 111, 12, 13, 255,
- 110, 12, 13, 255, 109, 12, 13, 255, 108, 12, 13, 255, 107, 12, 13, 255,
- 106, 12, 13, 255, 105, 12, 13, 255, 104, 12, 13, 255, 103, 12, 13, 255,
- 102, 12, 13, 255, 101, 12, 13, 255, 100, 12, 13, 255, 99, 12, 13, 255,
- 98, 12, 13, 255, 97, 12, 13, 255, 96, 12, 13, 255, 95, 12, 13, 255, 94,
- 12, 13, 255, 93, 12, 13, 255, 92, 12, 13, 255, 91, 12, 13, 255, 90, 12,
- 13, 255, 89, 12, 13, 255, 88, 12, 13, 255, 87, 12, 13, 255, 86, 12, 13,
- 255, 85, 12, 13, 255, 84, 12, 13, 255, 83, 12, 13, 255, 82, 12, 13, 255,
- 81, 12, 13, 255, 80, 12, 13, 255, 79, 12, 13, 255, 78, 12, 13, 255, 77,
- 12, 13, 255, 76, 12, 13, 253, 156, 12, 13, 253, 154, 12, 13, 253, 152,
- 12, 13, 253, 150, 12, 13, 253, 148, 12, 13, 253, 147, 12, 13, 253, 145,
- 12, 13, 253, 143, 12, 13, 253, 141, 12, 13, 253, 139, 12, 13, 251, 62,
- 12, 13, 251, 61, 12, 13, 251, 60, 12, 13, 251, 59, 12, 13, 251, 58, 12,
- 13, 251, 57, 12, 13, 251, 56, 12, 13, 251, 55, 12, 13, 251, 54, 12, 13,
- 251, 53, 12, 13, 251, 52, 12, 13, 251, 51, 12, 13, 251, 50, 12, 13, 251,
- 49, 12, 13, 251, 48, 12, 13, 251, 47, 12, 13, 251, 46, 12, 13, 251, 45,
- 12, 13, 251, 44, 12, 13, 251, 43, 12, 13, 251, 42, 12, 13, 251, 41, 12,
- 13, 251, 40, 12, 13, 251, 39, 12, 13, 251, 38, 12, 13, 251, 37, 12, 13,
- 251, 36, 12, 13, 251, 35, 12, 13, 249, 59, 12, 13, 249, 58, 12, 13, 249,
- 57, 12, 13, 249, 56, 12, 13, 249, 55, 12, 13, 249, 54, 12, 13, 249, 53,
- 12, 13, 249, 52, 12, 13, 249, 51, 12, 13, 249, 50, 12, 13, 249, 49, 12,
- 13, 249, 48, 12, 13, 249, 47, 12, 13, 249, 46, 12, 13, 249, 45, 12, 13,
- 249, 44, 12, 13, 249, 43, 12, 13, 249, 42, 12, 13, 249, 41, 12, 13, 249,
- 40, 12, 13, 249, 39, 12, 13, 249, 38, 12, 13, 249, 37, 12, 13, 249, 36,
- 12, 13, 249, 35, 12, 13, 249, 34, 12, 13, 249, 33, 12, 13, 249, 32, 12,
- 13, 249, 31, 12, 13, 249, 30, 12, 13, 249, 29, 12, 13, 249, 28, 12, 13,
- 249, 27, 12, 13, 249, 26, 12, 13, 249, 25, 12, 13, 249, 24, 12, 13, 249,
- 23, 12, 13, 249, 22, 12, 13, 249, 21, 12, 13, 249, 20, 12, 13, 249, 19,
- 12, 13, 249, 18, 12, 13, 249, 17, 12, 13, 249, 16, 12, 13, 249, 15, 12,
- 13, 249, 14, 12, 13, 249, 13, 12, 13, 249, 12, 12, 13, 249, 11, 12, 13,
- 249, 10, 12, 13, 249, 9, 12, 13, 249, 8, 12, 13, 249, 7, 12, 13, 249, 6,
- 12, 13, 249, 5, 12, 13, 249, 4, 12, 13, 249, 3, 12, 13, 249, 2, 12, 13,
- 249, 1, 12, 13, 249, 0, 12, 13, 248, 255, 12, 13, 248, 254, 12, 13, 248,
- 253, 12, 13, 248, 252, 12, 13, 248, 251, 12, 13, 248, 250, 12, 13, 248,
- 249, 12, 13, 248, 248, 12, 13, 248, 247, 12, 13, 248, 246, 12, 13, 248,
- 245, 12, 13, 248, 244, 12, 13, 248, 243, 12, 13, 248, 242, 12, 13, 248,
- 241, 12, 13, 248, 240, 12, 13, 248, 239, 12, 13, 248, 238, 12, 13, 248,
- 237, 12, 13, 248, 236, 12, 13, 248, 235, 12, 13, 248, 234, 12, 13, 248,
- 233, 12, 13, 248, 232, 12, 13, 248, 231, 12, 13, 248, 230, 12, 13, 248,
- 229, 12, 13, 248, 228, 12, 13, 248, 227, 12, 13, 248, 226, 12, 13, 248,
- 225, 12, 13, 248, 224, 12, 13, 246, 23, 12, 13, 246, 22, 12, 13, 246, 21,
- 12, 13, 246, 20, 12, 13, 246, 19, 12, 13, 246, 18, 12, 13, 246, 17, 12,
- 13, 246, 16, 12, 13, 246, 15, 12, 13, 246, 14, 12, 13, 246, 13, 12, 13,
- 246, 12, 12, 13, 246, 11, 12, 13, 246, 10, 12, 13, 246, 9, 12, 13, 246,
- 8, 12, 13, 246, 7, 12, 13, 246, 6, 12, 13, 246, 5, 12, 13, 246, 4, 12,
- 13, 246, 3, 12, 13, 246, 2, 12, 13, 246, 1, 12, 13, 246, 0, 12, 13, 245,
- 255, 12, 13, 245, 254, 12, 13, 245, 253, 12, 13, 245, 252, 12, 13, 245,
- 251, 12, 13, 245, 250, 12, 13, 245, 249, 12, 13, 245, 248, 12, 13, 245,
- 247, 12, 13, 245, 246, 12, 13, 245, 245, 12, 13, 245, 244, 12, 13, 245,
- 243, 12, 13, 245, 242, 12, 13, 245, 241, 12, 13, 245, 240, 12, 13, 245,
- 239, 12, 13, 245, 238, 12, 13, 245, 237, 12, 13, 245, 236, 12, 13, 245,
- 5, 12, 13, 245, 4, 12, 13, 245, 3, 12, 13, 245, 2, 12, 13, 245, 1, 12,
- 13, 245, 0, 12, 13, 244, 255, 12, 13, 244, 254, 12, 13, 244, 253, 12, 13,
- 244, 252, 12, 13, 244, 251, 12, 13, 244, 250, 12, 13, 244, 249, 12, 13,
- 244, 248, 12, 13, 244, 247, 12, 13, 244, 246, 12, 13, 244, 245, 12, 13,
- 244, 244, 12, 13, 244, 243, 12, 13, 244, 242, 12, 13, 244, 241, 12, 13,
- 244, 240, 12, 13, 244, 239, 12, 13, 244, 238, 12, 13, 244, 237, 12, 13,
- 244, 236, 12, 13, 244, 235, 12, 13, 244, 234, 12, 13, 244, 233, 12, 13,
- 244, 232, 12, 13, 244, 231, 12, 13, 244, 230, 12, 13, 244, 229, 12, 13,
- 244, 228, 12, 13, 244, 227, 12, 13, 244, 226, 12, 13, 244, 225, 12, 13,
- 244, 224, 12, 13, 244, 223, 12, 13, 244, 222, 12, 13, 244, 221, 12, 13,
- 244, 220, 12, 13, 244, 219, 12, 13, 244, 218, 12, 13, 244, 217, 12, 13,
- 244, 216, 12, 13, 244, 215, 12, 13, 244, 214, 12, 13, 244, 213, 12, 13,
- 244, 212, 12, 13, 244, 211, 12, 13, 244, 210, 12, 13, 244, 209, 12, 13,
- 244, 208, 12, 13, 244, 207, 12, 13, 244, 206, 12, 13, 244, 205, 12, 13,
- 244, 204, 12, 13, 244, 203, 12, 13, 244, 202, 12, 13, 244, 201, 12, 13,
- 244, 200, 12, 13, 244, 199, 12, 13, 244, 198, 12, 13, 244, 197, 12, 13,
- 243, 201, 12, 13, 243, 200, 12, 13, 243, 199, 12, 13, 243, 198, 12, 13,
- 243, 197, 12, 13, 243, 196, 12, 13, 243, 195, 12, 13, 243, 194, 12, 13,
- 243, 193, 12, 13, 243, 192, 12, 13, 243, 191, 12, 13, 243, 190, 12, 13,
- 243, 189, 12, 13, 243, 188, 12, 13, 243, 187, 12, 13, 243, 186, 12, 13,
- 243, 185, 12, 13, 243, 184, 12, 13, 243, 183, 12, 13, 243, 182, 12, 13,
- 243, 181, 12, 13, 243, 180, 12, 13, 243, 179, 12, 13, 243, 178, 12, 13,
- 243, 177, 12, 13, 243, 176, 12, 13, 243, 175, 12, 13, 243, 174, 12, 13,
- 243, 173, 12, 13, 243, 172, 12, 13, 243, 171, 12, 13, 243, 170, 12, 13,
- 243, 169, 12, 13, 243, 168, 12, 13, 243, 167, 12, 13, 243, 166, 12, 13,
- 243, 165, 12, 13, 243, 164, 12, 13, 243, 163, 12, 13, 243, 162, 12, 13,
- 243, 161, 12, 13, 243, 160, 12, 13, 243, 159, 12, 13, 243, 158, 12, 13,
- 243, 157, 12, 13, 243, 156, 12, 13, 243, 155, 12, 13, 243, 154, 12, 13,
- 243, 153, 12, 13, 243, 152, 12, 13, 243, 151, 12, 13, 243, 150, 12, 13,
- 243, 149, 12, 13, 243, 148, 12, 13, 243, 147, 12, 13, 243, 146, 12, 13,
- 243, 145, 12, 13, 243, 144, 12, 13, 243, 143, 12, 13, 243, 142, 12, 13,
- 243, 141, 12, 13, 243, 140, 12, 13, 243, 139, 12, 13, 243, 138, 12, 13,
- 242, 58, 12, 13, 242, 57, 12, 13, 242, 56, 12, 13, 242, 55, 12, 13, 242,
- 54, 12, 13, 242, 53, 12, 13, 242, 52, 12, 13, 242, 51, 12, 13, 242, 50,
- 12, 13, 240, 138, 12, 13, 240, 137, 12, 13, 240, 136, 12, 13, 240, 135,
- 12, 13, 240, 134, 12, 13, 240, 133, 12, 13, 240, 132, 12, 13, 240, 131,
- 12, 13, 240, 130, 12, 13, 240, 129, 12, 13, 240, 128, 12, 13, 240, 127,
- 12, 13, 240, 126, 12, 13, 240, 125, 12, 13, 240, 124, 12, 13, 240, 123,
- 12, 13, 240, 122, 12, 13, 240, 121, 12, 13, 240, 120, 12, 13, 235, 22,
- 12, 13, 235, 21, 12, 13, 235, 20, 12, 13, 235, 19, 12, 13, 235, 18, 12,
- 13, 235, 17, 12, 13, 235, 16, 12, 13, 235, 15, 12, 13, 233, 146, 12, 13,
- 233, 145, 12, 13, 233, 144, 12, 13, 233, 143, 12, 13, 233, 142, 12, 13,
- 233, 141, 12, 13, 233, 140, 12, 13, 233, 139, 12, 13, 233, 138, 12, 13,
- 233, 137, 12, 13, 232, 49, 12, 13, 232, 48, 12, 13, 232, 47, 12, 13, 232,
- 46, 12, 13, 232, 45, 12, 13, 232, 44, 12, 13, 232, 43, 12, 13, 232, 42,
- 12, 13, 232, 41, 12, 13, 232, 40, 12, 13, 232, 39, 12, 13, 232, 38, 12,
- 13, 232, 37, 12, 13, 232, 36, 12, 13, 232, 35, 12, 13, 232, 34, 12, 13,
- 232, 33, 12, 13, 232, 32, 12, 13, 232, 31, 12, 13, 232, 30, 12, 13, 232,
- 29, 12, 13, 232, 28, 12, 13, 232, 27, 12, 13, 232, 26, 12, 13, 232, 25,
- 12, 13, 232, 24, 12, 13, 232, 23, 12, 13, 232, 22, 12, 13, 232, 21, 12,
- 13, 232, 20, 12, 13, 232, 19, 12, 13, 232, 18, 12, 13, 232, 17, 12, 13,
- 232, 16, 12, 13, 232, 15, 12, 13, 232, 14, 12, 13, 232, 13, 12, 13, 232,
- 12, 12, 13, 232, 11, 12, 13, 232, 10, 12, 13, 232, 9, 12, 13, 232, 8, 12,
- 13, 232, 7, 12, 13, 232, 6, 12, 13, 232, 5, 12, 13, 232, 4, 12, 13, 232,
- 3, 12, 13, 232, 2, 12, 13, 232, 1, 12, 13, 232, 0, 12, 13, 231, 255, 12,
- 13, 231, 254, 12, 13, 231, 253, 12, 13, 231, 252, 12, 13, 231, 251, 12,
- 13, 231, 250, 12, 13, 231, 249, 12, 13, 231, 248, 12, 13, 231, 247, 12,
- 13, 231, 246, 12, 13, 231, 245, 12, 13, 231, 244, 12, 13, 231, 243, 12,
- 13, 231, 242, 12, 13, 231, 241, 12, 13, 231, 240, 12, 13, 230, 22, 12,
- 13, 230, 21, 12, 13, 230, 20, 12, 13, 230, 19, 12, 13, 230, 18, 12, 13,
- 230, 17, 12, 13, 230, 16, 12, 13, 230, 15, 12, 13, 230, 14, 12, 13, 230,
- 13, 12, 13, 230, 12, 12, 13, 230, 11, 12, 13, 230, 10, 12, 13, 230, 9,
- 12, 13, 230, 8, 12, 13, 230, 7, 12, 13, 230, 6, 12, 13, 230, 5, 12, 13,
- 230, 4, 12, 13, 230, 3, 12, 13, 230, 2, 12, 13, 230, 1, 12, 13, 230, 0,
- 12, 13, 229, 255, 12, 13, 229, 254, 12, 13, 229, 253, 12, 13, 229, 252,
- 12, 13, 229, 251, 12, 13, 229, 250, 12, 13, 229, 249, 12, 13, 229, 248,
- 12, 13, 229, 247, 12, 13, 229, 246, 12, 13, 229, 245, 12, 13, 229, 244,
- 12, 13, 229, 243, 12, 13, 229, 242, 12, 13, 229, 241, 12, 13, 229, 240,
- 12, 13, 229, 239, 12, 13, 229, 238, 12, 13, 229, 237, 12, 13, 229, 236,
- 12, 13, 229, 235, 12, 13, 229, 234, 12, 13, 229, 233, 12, 13, 229, 232,
- 12, 13, 229, 231, 12, 13, 229, 230, 12, 13, 228, 134, 12, 13, 228, 133,
- 12, 13, 228, 132, 12, 13, 228, 131, 12, 13, 228, 130, 12, 13, 228, 129,
- 12, 13, 228, 128, 12, 13, 228, 127, 12, 13, 228, 126, 12, 13, 228, 125,
- 12, 13, 228, 124, 12, 13, 228, 123, 12, 13, 228, 122, 12, 13, 228, 121,
- 12, 13, 228, 120, 12, 13, 228, 119, 12, 13, 228, 118, 12, 13, 228, 117,
- 12, 13, 228, 116, 12, 13, 228, 115, 12, 13, 228, 114, 12, 13, 228, 113,
- 12, 13, 227, 236, 12, 13, 227, 235, 12, 13, 227, 234, 12, 13, 227, 233,
- 12, 13, 227, 232, 12, 13, 227, 231, 12, 13, 227, 230, 12, 13, 227, 229,
- 12, 13, 227, 228, 12, 13, 227, 227, 12, 13, 227, 226, 12, 13, 227, 225,
- 12, 13, 227, 224, 12, 13, 227, 223, 12, 13, 227, 222, 12, 13, 227, 221,
- 12, 13, 227, 220, 12, 13, 227, 219, 12, 13, 227, 218, 12, 13, 227, 217,
- 12, 13, 227, 216, 12, 13, 227, 215, 12, 13, 227, 214, 12, 13, 227, 213,
- 12, 13, 227, 212, 12, 13, 227, 211, 12, 13, 227, 76, 12, 13, 227, 75, 12,
- 13, 227, 74, 12, 13, 227, 73, 12, 13, 227, 72, 12, 13, 227, 71, 12, 13,
- 227, 70, 12, 13, 227, 69, 12, 13, 227, 68, 12, 13, 227, 67, 12, 13, 227,
- 66, 12, 13, 227, 65, 12, 13, 227, 64, 12, 13, 227, 63, 12, 13, 227, 62,
- 12, 13, 227, 61, 12, 13, 227, 60, 12, 13, 227, 59, 12, 13, 227, 58, 12,
- 13, 227, 57, 12, 13, 227, 56, 12, 13, 227, 55, 12, 13, 227, 54, 12, 13,
- 227, 53, 12, 13, 227, 52, 12, 13, 227, 51, 12, 13, 227, 50, 12, 13, 227,
- 49, 12, 13, 227, 48, 12, 13, 227, 47, 12, 13, 227, 46, 12, 13, 227, 45,
- 12, 13, 227, 44, 12, 13, 227, 43, 12, 13, 227, 42, 12, 13, 227, 41, 12,
- 13, 227, 40, 12, 13, 227, 39, 12, 13, 227, 38, 12, 13, 227, 37, 12, 13,
- 227, 36, 12, 13, 227, 35, 12, 13, 227, 34, 12, 13, 227, 33, 12, 13, 227,
- 32, 12, 13, 227, 31, 12, 13, 227, 30, 12, 13, 227, 29, 12, 13, 227, 28,
- 12, 13, 227, 27, 12, 13, 227, 26, 12, 13, 227, 25, 12, 13, 227, 24, 12,
- 13, 227, 23, 12, 13, 227, 22, 12, 13, 227, 21, 12, 13, 227, 20, 12, 13,
- 227, 19, 12, 13, 227, 18, 12, 13, 227, 17, 12, 13, 227, 16, 12, 13, 227,
- 15, 12, 13, 227, 14, 12, 13, 227, 13, 12, 13, 227, 12, 12, 13, 227, 11,
- 12, 13, 227, 10, 12, 13, 227, 9, 12, 13, 227, 8, 12, 13, 227, 7, 12, 13,
- 227, 6, 12, 13, 227, 5, 12, 13, 227, 4, 12, 13, 227, 3, 12, 13, 227, 2,
- 12, 13, 226, 104, 12, 13, 226, 103, 12, 13, 226, 102, 12, 13, 226, 101,
- 12, 13, 226, 100, 12, 13, 226, 99, 12, 13, 226, 98, 12, 13, 226, 97, 12,
- 13, 226, 96, 12, 13, 226, 95, 12, 13, 226, 94, 12, 13, 226, 93, 12, 13,
- 226, 92, 12, 13, 224, 95, 12, 13, 224, 94, 12, 13, 224, 93, 12, 13, 224,
- 92, 12, 13, 224, 91, 12, 13, 224, 90, 12, 13, 224, 89, 12, 13, 223, 222,
- 12, 13, 223, 221, 12, 13, 223, 220, 12, 13, 223, 219, 12, 13, 223, 218,
- 12, 13, 223, 217, 12, 13, 223, 216, 12, 13, 223, 215, 12, 13, 223, 214,
- 12, 13, 223, 213, 12, 13, 223, 212, 12, 13, 223, 211, 12, 13, 223, 210,
- 12, 13, 223, 209, 12, 13, 223, 208, 12, 13, 223, 207, 12, 13, 223, 206,
- 12, 13, 223, 205, 12, 13, 223, 204, 12, 13, 223, 203, 12, 13, 223, 202,
- 12, 13, 223, 201, 12, 13, 223, 200, 12, 13, 223, 199, 12, 13, 223, 198,
- 12, 13, 223, 197, 12, 13, 223, 196, 12, 13, 223, 195, 12, 13, 223, 194,
- 12, 13, 223, 193, 12, 13, 223, 192, 12, 13, 223, 191, 12, 13, 223, 190,
- 12, 13, 223, 189, 12, 13, 222, 88, 12, 13, 222, 87, 12, 13, 222, 86, 12,
- 13, 222, 85, 12, 13, 222, 84, 12, 13, 222, 83, 12, 13, 222, 82, 12, 13,
- 222, 81, 12, 13, 222, 80, 12, 13, 222, 79, 12, 13, 222, 78, 12, 13, 222,
- 77, 12, 13, 222, 76, 12, 13, 222, 75, 12, 13, 222, 74, 12, 13, 222, 73,
- 12, 13, 222, 72, 12, 13, 222, 71, 12, 13, 222, 70, 12, 13, 222, 69, 12,
- 13, 222, 68, 12, 13, 222, 67, 12, 13, 222, 66, 12, 13, 222, 65, 12, 13,
- 222, 64, 12, 13, 222, 63, 12, 13, 222, 62, 12, 13, 222, 61, 12, 13, 222,
- 60, 12, 13, 222, 59, 12, 13, 222, 58, 12, 13, 222, 57, 12, 13, 222, 56,
- 12, 13, 222, 55, 12, 13, 222, 54, 12, 13, 222, 53, 12, 13, 222, 52, 12,
- 13, 222, 51, 12, 13, 222, 50, 12, 13, 222, 49, 12, 13, 222, 48, 12, 13,
- 222, 47, 12, 13, 222, 46, 12, 13, 222, 45, 12, 13, 222, 44, 12, 13, 222,
- 43, 12, 13, 222, 42, 12, 13, 222, 41, 12, 13, 222, 40, 12, 13, 222, 39,
- 12, 13, 222, 38, 12, 13, 222, 37, 12, 13, 222, 36, 12, 13, 222, 35, 12,
- 13, 217, 150, 12, 13, 217, 149, 12, 13, 217, 148, 12, 13, 217, 147, 12,
- 13, 217, 146, 12, 13, 217, 145, 12, 13, 217, 144, 12, 13, 217, 143, 12,
- 13, 217, 142, 12, 13, 217, 141, 12, 13, 217, 140, 12, 13, 217, 139, 12,
- 13, 217, 138, 12, 13, 217, 137, 12, 13, 217, 136, 12, 13, 217, 135, 12,
- 13, 217, 134, 12, 13, 217, 133, 12, 13, 217, 132, 12, 13, 217, 131, 12,
- 13, 217, 130, 12, 13, 217, 129, 12, 13, 217, 128, 12, 13, 217, 127, 12,
- 13, 217, 126, 12, 13, 217, 125, 12, 13, 217, 124, 12, 13, 217, 123, 12,
- 13, 217, 122, 12, 13, 217, 121, 12, 13, 217, 120, 12, 13, 217, 119, 12,
- 13, 217, 118, 12, 13, 217, 117, 12, 13, 217, 116, 12, 13, 217, 115, 12,
- 13, 217, 114, 12, 13, 217, 113, 12, 13, 217, 112, 12, 13, 217, 111, 12,
- 13, 217, 110, 12, 13, 217, 109, 12, 13, 217, 108, 12, 13, 217, 107, 12,
+ 232, 15, 132, 5, 134, 253, 232, 15, 132, 5, 244, 12, 253, 232, 15, 132,
+ 5, 244, 82, 253, 232, 15, 132, 5, 219, 126, 253, 232, 15, 132, 5, 220,
+ 123, 253, 232, 15, 132, 5, 245, 194, 253, 232, 15, 132, 5, 228, 201, 253,
+ 232, 15, 132, 5, 134, 247, 188, 15, 132, 5, 244, 12, 247, 188, 15, 132,
+ 5, 244, 82, 247, 188, 15, 132, 5, 219, 126, 247, 188, 15, 132, 5, 220,
+ 123, 247, 188, 15, 132, 5, 245, 194, 247, 188, 15, 132, 5, 228, 201, 247,
+ 188, 15, 132, 5, 244, 12, 70, 15, 132, 5, 244, 82, 70, 15, 132, 5, 219,
+ 126, 70, 15, 132, 5, 220, 123, 70, 15, 132, 5, 245, 194, 70, 15, 132, 5,
+ 228, 201, 70, 15, 132, 5, 123, 243, 39, 15, 132, 5, 113, 243, 39, 15,
+ 132, 5, 134, 243, 39, 15, 132, 5, 244, 12, 243, 39, 15, 132, 5, 244, 82,
+ 243, 39, 15, 132, 5, 219, 126, 243, 39, 15, 132, 5, 220, 123, 243, 39,
+ 15, 132, 5, 245, 194, 243, 39, 15, 132, 5, 228, 201, 243, 39, 15, 132, 5,
+ 123, 243, 36, 15, 132, 5, 113, 243, 36, 15, 132, 5, 134, 243, 36, 15,
+ 132, 5, 244, 12, 243, 36, 15, 132, 5, 244, 82, 243, 36, 15, 132, 5, 113,
+ 220, 79, 15, 132, 5, 134, 220, 79, 15, 132, 5, 134, 220, 80, 214, 12, 17,
+ 15, 132, 5, 244, 12, 220, 79, 15, 132, 5, 244, 82, 220, 79, 15, 132, 5,
+ 219, 126, 220, 79, 15, 132, 5, 220, 123, 220, 79, 15, 132, 5, 245, 194,
+ 220, 79, 15, 132, 5, 228, 201, 220, 79, 15, 132, 5, 123, 220, 74, 15,
+ 132, 5, 113, 220, 74, 15, 132, 5, 134, 220, 74, 15, 132, 5, 134, 220, 75,
+ 214, 12, 17, 15, 132, 5, 244, 12, 220, 74, 15, 132, 5, 244, 82, 220, 74,
+ 15, 132, 5, 220, 80, 30, 243, 120, 96, 247, 188, 15, 132, 5, 220, 80, 30,
+ 243, 120, 96, 230, 189, 15, 132, 5, 123, 251, 96, 15, 132, 5, 113, 251,
+ 96, 15, 132, 5, 134, 251, 96, 15, 132, 5, 134, 251, 97, 214, 12, 17, 15,
+ 132, 5, 244, 12, 251, 96, 15, 132, 5, 244, 82, 251, 96, 15, 132, 5, 134,
+ 214, 12, 244, 21, 245, 75, 15, 132, 5, 134, 214, 12, 244, 21, 245, 72,
+ 15, 132, 5, 244, 12, 214, 12, 244, 21, 232, 218, 15, 132, 5, 244, 12,
+ 214, 12, 244, 21, 232, 216, 15, 132, 5, 244, 12, 214, 12, 244, 21, 232,
+ 219, 61, 15, 132, 5, 244, 12, 214, 12, 244, 21, 232, 219, 253, 159, 15,
+ 132, 5, 219, 126, 214, 12, 244, 21, 253, 229, 15, 132, 5, 220, 123, 214,
+ 12, 244, 21, 236, 9, 15, 132, 5, 220, 123, 214, 12, 244, 21, 236, 11, 61,
+ 15, 132, 5, 220, 123, 214, 12, 244, 21, 236, 11, 253, 159, 15, 132, 5,
+ 245, 194, 214, 12, 244, 21, 214, 121, 15, 132, 5, 245, 194, 214, 12, 244,
+ 21, 214, 120, 15, 132, 5, 228, 201, 214, 12, 244, 21, 236, 25, 15, 132,
+ 5, 228, 201, 214, 12, 244, 21, 236, 24, 15, 132, 5, 228, 201, 214, 12,
+ 244, 21, 236, 23, 15, 132, 5, 228, 201, 214, 12, 244, 21, 236, 26, 61,
+ 15, 132, 5, 113, 253, 233, 216, 240, 15, 132, 5, 134, 253, 233, 216, 240,
+ 15, 132, 5, 244, 12, 253, 233, 216, 240, 15, 132, 5, 244, 82, 253, 233,
+ 216, 240, 15, 132, 5, 219, 126, 253, 233, 216, 240, 15, 132, 5, 123, 252,
+ 151, 15, 132, 5, 113, 252, 151, 15, 132, 5, 134, 252, 151, 15, 132, 5,
+ 244, 12, 252, 151, 15, 132, 5, 244, 12, 252, 152, 214, 12, 17, 15, 132,
+ 5, 244, 82, 252, 151, 15, 132, 5, 244, 82, 252, 152, 214, 12, 17, 15,
+ 132, 5, 228, 211, 15, 132, 5, 228, 212, 15, 132, 5, 123, 245, 71, 15,
+ 132, 5, 113, 245, 71, 15, 132, 5, 123, 216, 170, 247, 188, 15, 132, 5,
+ 113, 216, 168, 247, 188, 15, 132, 5, 244, 82, 219, 115, 247, 188, 15,
+ 132, 5, 123, 216, 170, 214, 12, 244, 21, 61, 15, 132, 5, 113, 216, 168,
+ 214, 12, 244, 21, 61, 15, 132, 5, 123, 245, 190, 253, 232, 15, 132, 5,
+ 123, 224, 23, 253, 232, 15, 132, 5, 55, 253, 220, 123, 219, 116, 15, 132,
+ 5, 55, 253, 220, 123, 224, 22, 15, 224, 142, 5, 55, 253, 220, 211, 209,
+ 247, 173, 15, 224, 142, 5, 67, 249, 227, 15, 224, 142, 5, 248, 0, 249,
+ 227, 15, 224, 142, 5, 248, 0, 215, 222, 12, 13, 255, 156, 12, 13, 255,
+ 155, 12, 13, 255, 154, 12, 13, 255, 153, 12, 13, 255, 152, 12, 13, 255,
+ 151, 12, 13, 255, 150, 12, 13, 255, 149, 12, 13, 255, 148, 12, 13, 255,
+ 147, 12, 13, 255, 146, 12, 13, 255, 145, 12, 13, 255, 144, 12, 13, 255,
+ 143, 12, 13, 255, 142, 12, 13, 255, 141, 12, 13, 255, 140, 12, 13, 255,
+ 139, 12, 13, 255, 138, 12, 13, 255, 137, 12, 13, 255, 136, 12, 13, 255,
+ 135, 12, 13, 255, 134, 12, 13, 255, 133, 12, 13, 255, 132, 12, 13, 255,
+ 131, 12, 13, 255, 130, 12, 13, 255, 129, 12, 13, 255, 128, 12, 13, 255,
+ 127, 12, 13, 255, 126, 12, 13, 255, 125, 12, 13, 255, 124, 12, 13, 255,
+ 123, 12, 13, 255, 122, 12, 13, 255, 121, 12, 13, 255, 120, 12, 13, 255,
+ 119, 12, 13, 255, 118, 12, 13, 255, 117, 12, 13, 255, 116, 12, 13, 255,
+ 115, 12, 13, 255, 114, 12, 13, 255, 113, 12, 13, 255, 112, 12, 13, 255,
+ 111, 12, 13, 255, 110, 12, 13, 255, 109, 12, 13, 255, 108, 12, 13, 255,
+ 107, 12, 13, 255, 106, 12, 13, 255, 105, 12, 13, 255, 104, 12, 13, 255,
+ 103, 12, 13, 255, 102, 12, 13, 255, 101, 12, 13, 255, 100, 12, 13, 255,
+ 99, 12, 13, 255, 98, 12, 13, 255, 97, 12, 13, 255, 96, 12, 13, 255, 95,
+ 12, 13, 255, 94, 12, 13, 255, 93, 12, 13, 255, 92, 12, 13, 255, 91, 12,
+ 13, 255, 90, 12, 13, 255, 89, 12, 13, 255, 88, 12, 13, 255, 87, 12, 13,
+ 255, 86, 12, 13, 255, 85, 12, 13, 255, 84, 12, 13, 255, 83, 12, 13, 255,
+ 82, 12, 13, 255, 81, 12, 13, 255, 80, 12, 13, 255, 79, 12, 13, 255, 78,
+ 12, 13, 255, 77, 12, 13, 253, 157, 12, 13, 253, 155, 12, 13, 253, 153,
+ 12, 13, 253, 151, 12, 13, 253, 149, 12, 13, 253, 148, 12, 13, 253, 146,
+ 12, 13, 253, 144, 12, 13, 253, 142, 12, 13, 253, 140, 12, 13, 251, 63,
+ 12, 13, 251, 62, 12, 13, 251, 61, 12, 13, 251, 60, 12, 13, 251, 59, 12,
+ 13, 251, 58, 12, 13, 251, 57, 12, 13, 251, 56, 12, 13, 251, 55, 12, 13,
+ 251, 54, 12, 13, 251, 53, 12, 13, 251, 52, 12, 13, 251, 51, 12, 13, 251,
+ 50, 12, 13, 251, 49, 12, 13, 251, 48, 12, 13, 251, 47, 12, 13, 251, 46,
+ 12, 13, 251, 45, 12, 13, 251, 44, 12, 13, 251, 43, 12, 13, 251, 42, 12,
+ 13, 251, 41, 12, 13, 251, 40, 12, 13, 251, 39, 12, 13, 251, 38, 12, 13,
+ 251, 37, 12, 13, 251, 36, 12, 13, 249, 60, 12, 13, 249, 59, 12, 13, 249,
+ 58, 12, 13, 249, 57, 12, 13, 249, 56, 12, 13, 249, 55, 12, 13, 249, 54,
+ 12, 13, 249, 53, 12, 13, 249, 52, 12, 13, 249, 51, 12, 13, 249, 50, 12,
+ 13, 249, 49, 12, 13, 249, 48, 12, 13, 249, 47, 12, 13, 249, 46, 12, 13,
+ 249, 45, 12, 13, 249, 44, 12, 13, 249, 43, 12, 13, 249, 42, 12, 13, 249,
+ 41, 12, 13, 249, 40, 12, 13, 249, 39, 12, 13, 249, 38, 12, 13, 249, 37,
+ 12, 13, 249, 36, 12, 13, 249, 35, 12, 13, 249, 34, 12, 13, 249, 33, 12,
+ 13, 249, 32, 12, 13, 249, 31, 12, 13, 249, 30, 12, 13, 249, 29, 12, 13,
+ 249, 28, 12, 13, 249, 27, 12, 13, 249, 26, 12, 13, 249, 25, 12, 13, 249,
+ 24, 12, 13, 249, 23, 12, 13, 249, 22, 12, 13, 249, 21, 12, 13, 249, 20,
+ 12, 13, 249, 19, 12, 13, 249, 18, 12, 13, 249, 17, 12, 13, 249, 16, 12,
+ 13, 249, 15, 12, 13, 249, 14, 12, 13, 249, 13, 12, 13, 249, 12, 12, 13,
+ 249, 11, 12, 13, 249, 10, 12, 13, 249, 9, 12, 13, 249, 8, 12, 13, 249, 7,
+ 12, 13, 249, 6, 12, 13, 249, 5, 12, 13, 249, 4, 12, 13, 249, 3, 12, 13,
+ 249, 2, 12, 13, 249, 1, 12, 13, 249, 0, 12, 13, 248, 255, 12, 13, 248,
+ 254, 12, 13, 248, 253, 12, 13, 248, 252, 12, 13, 248, 251, 12, 13, 248,
+ 250, 12, 13, 248, 249, 12, 13, 248, 248, 12, 13, 248, 247, 12, 13, 248,
+ 246, 12, 13, 248, 245, 12, 13, 248, 244, 12, 13, 248, 243, 12, 13, 248,
+ 242, 12, 13, 248, 241, 12, 13, 248, 240, 12, 13, 248, 239, 12, 13, 248,
+ 238, 12, 13, 248, 237, 12, 13, 248, 236, 12, 13, 248, 235, 12, 13, 248,
+ 234, 12, 13, 248, 233, 12, 13, 248, 232, 12, 13, 248, 231, 12, 13, 248,
+ 230, 12, 13, 248, 229, 12, 13, 248, 228, 12, 13, 248, 227, 12, 13, 248,
+ 226, 12, 13, 248, 225, 12, 13, 246, 24, 12, 13, 246, 23, 12, 13, 246, 22,
+ 12, 13, 246, 21, 12, 13, 246, 20, 12, 13, 246, 19, 12, 13, 246, 18, 12,
+ 13, 246, 17, 12, 13, 246, 16, 12, 13, 246, 15, 12, 13, 246, 14, 12, 13,
+ 246, 13, 12, 13, 246, 12, 12, 13, 246, 11, 12, 13, 246, 10, 12, 13, 246,
+ 9, 12, 13, 246, 8, 12, 13, 246, 7, 12, 13, 246, 6, 12, 13, 246, 5, 12,
+ 13, 246, 4, 12, 13, 246, 3, 12, 13, 246, 2, 12, 13, 246, 1, 12, 13, 246,
+ 0, 12, 13, 245, 255, 12, 13, 245, 254, 12, 13, 245, 253, 12, 13, 245,
+ 252, 12, 13, 245, 251, 12, 13, 245, 250, 12, 13, 245, 249, 12, 13, 245,
+ 248, 12, 13, 245, 247, 12, 13, 245, 246, 12, 13, 245, 245, 12, 13, 245,
+ 244, 12, 13, 245, 243, 12, 13, 245, 242, 12, 13, 245, 241, 12, 13, 245,
+ 240, 12, 13, 245, 239, 12, 13, 245, 238, 12, 13, 245, 237, 12, 13, 245,
+ 6, 12, 13, 245, 5, 12, 13, 245, 4, 12, 13, 245, 3, 12, 13, 245, 2, 12,
+ 13, 245, 1, 12, 13, 245, 0, 12, 13, 244, 255, 12, 13, 244, 254, 12, 13,
+ 244, 253, 12, 13, 244, 252, 12, 13, 244, 251, 12, 13, 244, 250, 12, 13,
+ 244, 249, 12, 13, 244, 248, 12, 13, 244, 247, 12, 13, 244, 246, 12, 13,
+ 244, 245, 12, 13, 244, 244, 12, 13, 244, 243, 12, 13, 244, 242, 12, 13,
+ 244, 241, 12, 13, 244, 240, 12, 13, 244, 239, 12, 13, 244, 238, 12, 13,
+ 244, 237, 12, 13, 244, 236, 12, 13, 244, 235, 12, 13, 244, 234, 12, 13,
+ 244, 233, 12, 13, 244, 232, 12, 13, 244, 231, 12, 13, 244, 230, 12, 13,
+ 244, 229, 12, 13, 244, 228, 12, 13, 244, 227, 12, 13, 244, 226, 12, 13,
+ 244, 225, 12, 13, 244, 224, 12, 13, 244, 223, 12, 13, 244, 222, 12, 13,
+ 244, 221, 12, 13, 244, 220, 12, 13, 244, 219, 12, 13, 244, 218, 12, 13,
+ 244, 217, 12, 13, 244, 216, 12, 13, 244, 215, 12, 13, 244, 214, 12, 13,
+ 244, 213, 12, 13, 244, 212, 12, 13, 244, 211, 12, 13, 244, 210, 12, 13,
+ 244, 209, 12, 13, 244, 208, 12, 13, 244, 207, 12, 13, 244, 206, 12, 13,
+ 244, 205, 12, 13, 244, 204, 12, 13, 244, 203, 12, 13, 244, 202, 12, 13,
+ 244, 201, 12, 13, 244, 200, 12, 13, 244, 199, 12, 13, 244, 198, 12, 13,
+ 243, 202, 12, 13, 243, 201, 12, 13, 243, 200, 12, 13, 243, 199, 12, 13,
+ 243, 198, 12, 13, 243, 197, 12, 13, 243, 196, 12, 13, 243, 195, 12, 13,
+ 243, 194, 12, 13, 243, 193, 12, 13, 243, 192, 12, 13, 243, 191, 12, 13,
+ 243, 190, 12, 13, 243, 189, 12, 13, 243, 188, 12, 13, 243, 187, 12, 13,
+ 243, 186, 12, 13, 243, 185, 12, 13, 243, 184, 12, 13, 243, 183, 12, 13,
+ 243, 182, 12, 13, 243, 181, 12, 13, 243, 180, 12, 13, 243, 179, 12, 13,
+ 243, 178, 12, 13, 243, 177, 12, 13, 243, 176, 12, 13, 243, 175, 12, 13,
+ 243, 174, 12, 13, 243, 173, 12, 13, 243, 172, 12, 13, 243, 171, 12, 13,
+ 243, 170, 12, 13, 243, 169, 12, 13, 243, 168, 12, 13, 243, 167, 12, 13,
+ 243, 166, 12, 13, 243, 165, 12, 13, 243, 164, 12, 13, 243, 163, 12, 13,
+ 243, 162, 12, 13, 243, 161, 12, 13, 243, 160, 12, 13, 243, 159, 12, 13,
+ 243, 158, 12, 13, 243, 157, 12, 13, 243, 156, 12, 13, 243, 155, 12, 13,
+ 243, 154, 12, 13, 243, 153, 12, 13, 243, 152, 12, 13, 243, 151, 12, 13,
+ 243, 150, 12, 13, 243, 149, 12, 13, 243, 148, 12, 13, 243, 147, 12, 13,
+ 243, 146, 12, 13, 243, 145, 12, 13, 243, 144, 12, 13, 243, 143, 12, 13,
+ 243, 142, 12, 13, 243, 141, 12, 13, 243, 140, 12, 13, 243, 139, 12, 13,
+ 242, 59, 12, 13, 242, 58, 12, 13, 242, 57, 12, 13, 242, 56, 12, 13, 242,
+ 55, 12, 13, 242, 54, 12, 13, 242, 53, 12, 13, 242, 52, 12, 13, 242, 51,
+ 12, 13, 240, 139, 12, 13, 240, 138, 12, 13, 240, 137, 12, 13, 240, 136,
+ 12, 13, 240, 135, 12, 13, 240, 134, 12, 13, 240, 133, 12, 13, 240, 132,
+ 12, 13, 240, 131, 12, 13, 240, 130, 12, 13, 240, 129, 12, 13, 240, 128,
+ 12, 13, 240, 127, 12, 13, 240, 126, 12, 13, 240, 125, 12, 13, 240, 124,
+ 12, 13, 240, 123, 12, 13, 240, 122, 12, 13, 240, 121, 12, 13, 235, 23,
+ 12, 13, 235, 22, 12, 13, 235, 21, 12, 13, 235, 20, 12, 13, 235, 19, 12,
+ 13, 235, 18, 12, 13, 235, 17, 12, 13, 235, 16, 12, 13, 233, 147, 12, 13,
+ 233, 146, 12, 13, 233, 145, 12, 13, 233, 144, 12, 13, 233, 143, 12, 13,
+ 233, 142, 12, 13, 233, 141, 12, 13, 233, 140, 12, 13, 233, 139, 12, 13,
+ 233, 138, 12, 13, 232, 50, 12, 13, 232, 49, 12, 13, 232, 48, 12, 13, 232,
+ 47, 12, 13, 232, 46, 12, 13, 232, 45, 12, 13, 232, 44, 12, 13, 232, 43,
+ 12, 13, 232, 42, 12, 13, 232, 41, 12, 13, 232, 40, 12, 13, 232, 39, 12,
+ 13, 232, 38, 12, 13, 232, 37, 12, 13, 232, 36, 12, 13, 232, 35, 12, 13,
+ 232, 34, 12, 13, 232, 33, 12, 13, 232, 32, 12, 13, 232, 31, 12, 13, 232,
+ 30, 12, 13, 232, 29, 12, 13, 232, 28, 12, 13, 232, 27, 12, 13, 232, 26,
+ 12, 13, 232, 25, 12, 13, 232, 24, 12, 13, 232, 23, 12, 13, 232, 22, 12,
+ 13, 232, 21, 12, 13, 232, 20, 12, 13, 232, 19, 12, 13, 232, 18, 12, 13,
+ 232, 17, 12, 13, 232, 16, 12, 13, 232, 15, 12, 13, 232, 14, 12, 13, 232,
+ 13, 12, 13, 232, 12, 12, 13, 232, 11, 12, 13, 232, 10, 12, 13, 232, 9,
+ 12, 13, 232, 8, 12, 13, 232, 7, 12, 13, 232, 6, 12, 13, 232, 5, 12, 13,
+ 232, 4, 12, 13, 232, 3, 12, 13, 232, 2, 12, 13, 232, 1, 12, 13, 232, 0,
+ 12, 13, 231, 255, 12, 13, 231, 254, 12, 13, 231, 253, 12, 13, 231, 252,
+ 12, 13, 231, 251, 12, 13, 231, 250, 12, 13, 231, 249, 12, 13, 231, 248,
+ 12, 13, 231, 247, 12, 13, 231, 246, 12, 13, 231, 245, 12, 13, 231, 244,
+ 12, 13, 231, 243, 12, 13, 231, 242, 12, 13, 231, 241, 12, 13, 230, 23,
+ 12, 13, 230, 22, 12, 13, 230, 21, 12, 13, 230, 20, 12, 13, 230, 19, 12,
+ 13, 230, 18, 12, 13, 230, 17, 12, 13, 230, 16, 12, 13, 230, 15, 12, 13,
+ 230, 14, 12, 13, 230, 13, 12, 13, 230, 12, 12, 13, 230, 11, 12, 13, 230,
+ 10, 12, 13, 230, 9, 12, 13, 230, 8, 12, 13, 230, 7, 12, 13, 230, 6, 12,
+ 13, 230, 5, 12, 13, 230, 4, 12, 13, 230, 3, 12, 13, 230, 2, 12, 13, 230,
+ 1, 12, 13, 230, 0, 12, 13, 229, 255, 12, 13, 229, 254, 12, 13, 229, 253,
+ 12, 13, 229, 252, 12, 13, 229, 251, 12, 13, 229, 250, 12, 13, 229, 249,
+ 12, 13, 229, 248, 12, 13, 229, 247, 12, 13, 229, 246, 12, 13, 229, 245,
+ 12, 13, 229, 244, 12, 13, 229, 243, 12, 13, 229, 242, 12, 13, 229, 241,
+ 12, 13, 229, 240, 12, 13, 229, 239, 12, 13, 229, 238, 12, 13, 229, 237,
+ 12, 13, 229, 236, 12, 13, 229, 235, 12, 13, 229, 234, 12, 13, 229, 233,
+ 12, 13, 229, 232, 12, 13, 229, 231, 12, 13, 228, 135, 12, 13, 228, 134,
+ 12, 13, 228, 133, 12, 13, 228, 132, 12, 13, 228, 131, 12, 13, 228, 130,
+ 12, 13, 228, 129, 12, 13, 228, 128, 12, 13, 228, 127, 12, 13, 228, 126,
+ 12, 13, 228, 125, 12, 13, 228, 124, 12, 13, 228, 123, 12, 13, 228, 122,
+ 12, 13, 228, 121, 12, 13, 228, 120, 12, 13, 228, 119, 12, 13, 228, 118,
+ 12, 13, 228, 117, 12, 13, 228, 116, 12, 13, 228, 115, 12, 13, 228, 114,
+ 12, 13, 227, 237, 12, 13, 227, 236, 12, 13, 227, 235, 12, 13, 227, 234,
+ 12, 13, 227, 233, 12, 13, 227, 232, 12, 13, 227, 231, 12, 13, 227, 230,
+ 12, 13, 227, 229, 12, 13, 227, 228, 12, 13, 227, 227, 12, 13, 227, 226,
+ 12, 13, 227, 225, 12, 13, 227, 224, 12, 13, 227, 223, 12, 13, 227, 222,
+ 12, 13, 227, 221, 12, 13, 227, 220, 12, 13, 227, 219, 12, 13, 227, 218,
+ 12, 13, 227, 217, 12, 13, 227, 216, 12, 13, 227, 215, 12, 13, 227, 214,
+ 12, 13, 227, 213, 12, 13, 227, 212, 12, 13, 227, 77, 12, 13, 227, 76, 12,
+ 13, 227, 75, 12, 13, 227, 74, 12, 13, 227, 73, 12, 13, 227, 72, 12, 13,
+ 227, 71, 12, 13, 227, 70, 12, 13, 227, 69, 12, 13, 227, 68, 12, 13, 227,
+ 67, 12, 13, 227, 66, 12, 13, 227, 65, 12, 13, 227, 64, 12, 13, 227, 63,
+ 12, 13, 227, 62, 12, 13, 227, 61, 12, 13, 227, 60, 12, 13, 227, 59, 12,
+ 13, 227, 58, 12, 13, 227, 57, 12, 13, 227, 56, 12, 13, 227, 55, 12, 13,
+ 227, 54, 12, 13, 227, 53, 12, 13, 227, 52, 12, 13, 227, 51, 12, 13, 227,
+ 50, 12, 13, 227, 49, 12, 13, 227, 48, 12, 13, 227, 47, 12, 13, 227, 46,
+ 12, 13, 227, 45, 12, 13, 227, 44, 12, 13, 227, 43, 12, 13, 227, 42, 12,
+ 13, 227, 41, 12, 13, 227, 40, 12, 13, 227, 39, 12, 13, 227, 38, 12, 13,
+ 227, 37, 12, 13, 227, 36, 12, 13, 227, 35, 12, 13, 227, 34, 12, 13, 227,
+ 33, 12, 13, 227, 32, 12, 13, 227, 31, 12, 13, 227, 30, 12, 13, 227, 29,
+ 12, 13, 227, 28, 12, 13, 227, 27, 12, 13, 227, 26, 12, 13, 227, 25, 12,
+ 13, 227, 24, 12, 13, 227, 23, 12, 13, 227, 22, 12, 13, 227, 21, 12, 13,
+ 227, 20, 12, 13, 227, 19, 12, 13, 227, 18, 12, 13, 227, 17, 12, 13, 227,
+ 16, 12, 13, 227, 15, 12, 13, 227, 14, 12, 13, 227, 13, 12, 13, 227, 12,
+ 12, 13, 227, 11, 12, 13, 227, 10, 12, 13, 227, 9, 12, 13, 227, 8, 12, 13,
+ 227, 7, 12, 13, 227, 6, 12, 13, 227, 5, 12, 13, 227, 4, 12, 13, 227, 3,
+ 12, 13, 226, 105, 12, 13, 226, 104, 12, 13, 226, 103, 12, 13, 226, 102,
+ 12, 13, 226, 101, 12, 13, 226, 100, 12, 13, 226, 99, 12, 13, 226, 98, 12,
+ 13, 226, 97, 12, 13, 226, 96, 12, 13, 226, 95, 12, 13, 226, 94, 12, 13,
+ 226, 93, 12, 13, 224, 96, 12, 13, 224, 95, 12, 13, 224, 94, 12, 13, 224,
+ 93, 12, 13, 224, 92, 12, 13, 224, 91, 12, 13, 224, 90, 12, 13, 223, 223,
+ 12, 13, 223, 222, 12, 13, 223, 221, 12, 13, 223, 220, 12, 13, 223, 219,
+ 12, 13, 223, 218, 12, 13, 223, 217, 12, 13, 223, 216, 12, 13, 223, 215,
+ 12, 13, 223, 214, 12, 13, 223, 213, 12, 13, 223, 212, 12, 13, 223, 211,
+ 12, 13, 223, 210, 12, 13, 223, 209, 12, 13, 223, 208, 12, 13, 223, 207,
+ 12, 13, 223, 206, 12, 13, 223, 205, 12, 13, 223, 204, 12, 13, 223, 203,
+ 12, 13, 223, 202, 12, 13, 223, 201, 12, 13, 223, 200, 12, 13, 223, 199,
+ 12, 13, 223, 198, 12, 13, 223, 197, 12, 13, 223, 196, 12, 13, 223, 195,
+ 12, 13, 223, 194, 12, 13, 223, 193, 12, 13, 223, 192, 12, 13, 223, 191,
+ 12, 13, 223, 190, 12, 13, 222, 89, 12, 13, 222, 88, 12, 13, 222, 87, 12,
+ 13, 222, 86, 12, 13, 222, 85, 12, 13, 222, 84, 12, 13, 222, 83, 12, 13,
+ 222, 82, 12, 13, 222, 81, 12, 13, 222, 80, 12, 13, 222, 79, 12, 13, 222,
+ 78, 12, 13, 222, 77, 12, 13, 222, 76, 12, 13, 222, 75, 12, 13, 222, 74,
+ 12, 13, 222, 73, 12, 13, 222, 72, 12, 13, 222, 71, 12, 13, 222, 70, 12,
+ 13, 222, 69, 12, 13, 222, 68, 12, 13, 222, 67, 12, 13, 222, 66, 12, 13,
+ 222, 65, 12, 13, 222, 64, 12, 13, 222, 63, 12, 13, 222, 62, 12, 13, 222,
+ 61, 12, 13, 222, 60, 12, 13, 222, 59, 12, 13, 222, 58, 12, 13, 222, 57,
+ 12, 13, 222, 56, 12, 13, 222, 55, 12, 13, 222, 54, 12, 13, 222, 53, 12,
+ 13, 222, 52, 12, 13, 222, 51, 12, 13, 222, 50, 12, 13, 222, 49, 12, 13,
+ 222, 48, 12, 13, 222, 47, 12, 13, 222, 46, 12, 13, 222, 45, 12, 13, 222,
+ 44, 12, 13, 222, 43, 12, 13, 222, 42, 12, 13, 222, 41, 12, 13, 222, 40,
+ 12, 13, 222, 39, 12, 13, 222, 38, 12, 13, 222, 37, 12, 13, 222, 36, 12,
+ 13, 217, 151, 12, 13, 217, 150, 12, 13, 217, 149, 12, 13, 217, 148, 12,
+ 13, 217, 147, 12, 13, 217, 146, 12, 13, 217, 145, 12, 13, 217, 144, 12,
+ 13, 217, 143, 12, 13, 217, 142, 12, 13, 217, 141, 12, 13, 217, 140, 12,
+ 13, 217, 139, 12, 13, 217, 138, 12, 13, 217, 137, 12, 13, 217, 136, 12,
+ 13, 217, 135, 12, 13, 217, 134, 12, 13, 217, 133, 12, 13, 217, 132, 12,
+ 13, 217, 131, 12, 13, 217, 130, 12, 13, 217, 129, 12, 13, 217, 128, 12,
+ 13, 217, 127, 12, 13, 217, 126, 12, 13, 217, 125, 12, 13, 217, 124, 12,
+ 13, 217, 123, 12, 13, 217, 122, 12, 13, 217, 121, 12, 13, 217, 120, 12,
+ 13, 217, 119, 12, 13, 217, 118, 12, 13, 217, 117, 12, 13, 217, 116, 12,
+ 13, 217, 115, 12, 13, 217, 114, 12, 13, 217, 113, 12, 13, 217, 112, 12,
+ 13, 217, 111, 12, 13, 217, 110, 12, 13, 217, 109, 12, 13, 217, 108, 12,
13, 215, 22, 12, 13, 215, 21, 12, 13, 215, 20, 12, 13, 215, 19, 12, 13,
215, 18, 12, 13, 215, 17, 12, 13, 215, 16, 12, 13, 215, 15, 12, 13, 215,
14, 12, 13, 215, 13, 12, 13, 215, 12, 12, 13, 215, 11, 12, 13, 215, 10,
@@ -12174,1649 +12175,1650 @@ static unsigned char phrasebook[] = {
210, 131, 12, 13, 210, 130, 12, 13, 210, 129, 12, 13, 210, 128, 12, 13,
210, 127, 12, 13, 210, 126, 12, 13, 210, 125, 12, 13, 210, 124, 12, 13,
210, 123, 12, 13, 210, 122, 12, 13, 210, 121, 12, 13, 210, 120, 12, 13,
- 210, 119, 12, 13, 210, 118, 12, 13, 255, 72, 12, 13, 255, 71, 12, 13,
- 255, 70, 12, 13, 255, 69, 12, 13, 255, 68, 12, 13, 255, 67, 12, 13, 255,
- 66, 12, 13, 255, 65, 12, 13, 255, 64, 12, 13, 255, 63, 12, 13, 255, 62,
- 12, 13, 255, 61, 12, 13, 255, 60, 12, 13, 255, 59, 12, 13, 255, 58, 12,
- 13, 255, 57, 12, 13, 255, 56, 12, 13, 255, 55, 12, 13, 255, 54, 12, 13,
- 255, 53, 12, 13, 255, 52, 12, 13, 255, 51, 12, 13, 255, 50, 12, 13, 255,
- 49, 12, 13, 255, 48, 12, 13, 255, 47, 12, 13, 255, 46, 12, 13, 255, 45,
- 12, 13, 255, 44, 12, 13, 255, 43, 12, 13, 255, 42, 12, 13, 255, 41, 12,
- 13, 255, 40, 12, 13, 255, 39, 20, 1, 167, 229, 12, 231, 16, 20, 1, 167,
- 243, 70, 244, 36, 20, 1, 167, 224, 251, 231, 17, 225, 57, 20, 1, 167,
- 224, 251, 231, 17, 225, 58, 20, 1, 167, 229, 226, 231, 16, 20, 1, 167,
- 219, 221, 20, 1, 167, 216, 66, 231, 16, 20, 1, 167, 227, 118, 231, 16,
- 20, 1, 167, 220, 19, 226, 90, 228, 169, 20, 1, 167, 224, 251, 226, 90,
- 228, 170, 225, 57, 20, 1, 167, 224, 251, 226, 90, 228, 170, 225, 58, 20,
- 1, 167, 231, 218, 20, 1, 167, 215, 119, 231, 219, 20, 1, 167, 229, 71,
- 20, 1, 167, 231, 215, 20, 1, 167, 231, 176, 20, 1, 167, 230, 48, 20, 1,
- 167, 220, 124, 20, 1, 167, 227, 241, 20, 1, 167, 234, 149, 20, 1, 167,
- 228, 138, 20, 1, 167, 218, 4, 20, 1, 167, 229, 11, 20, 1, 167, 233, 87,
- 20, 1, 167, 233, 12, 233, 189, 20, 1, 167, 227, 248, 231, 24, 20, 1, 167,
- 231, 222, 20, 1, 167, 225, 246, 20, 1, 167, 242, 231, 20, 1, 167, 226,
- 50, 20, 1, 167, 230, 151, 229, 45, 20, 1, 167, 227, 99, 231, 27, 20, 1,
- 167, 104, 210, 188, 229, 220, 20, 1, 167, 242, 232, 20, 1, 167, 227, 248,
- 227, 249, 20, 1, 167, 219, 128, 20, 1, 167, 231, 9, 20, 1, 167, 231, 30,
- 20, 1, 167, 230, 130, 20, 1, 167, 234, 249, 20, 1, 167, 226, 90, 233, 47,
- 20, 1, 167, 229, 149, 233, 47, 20, 1, 167, 225, 158, 20, 1, 167, 231,
- 216, 20, 1, 167, 228, 207, 20, 1, 167, 224, 134, 20, 1, 167, 215, 116,
- 20, 1, 167, 232, 94, 20, 1, 167, 219, 41, 20, 1, 167, 216, 216, 20, 1,
- 167, 231, 213, 20, 1, 167, 234, 156, 20, 1, 167, 229, 145, 20, 1, 167,
- 233, 201, 20, 1, 167, 230, 131, 20, 1, 167, 219, 218, 20, 1, 167, 232,
- 138, 20, 1, 167, 244, 93, 20, 1, 167, 222, 199, 20, 1, 167, 233, 241, 20,
- 1, 167, 219, 37, 20, 1, 167, 231, 173, 225, 99, 20, 1, 167, 220, 12, 20,
- 1, 167, 227, 247, 20, 1, 167, 219, 253, 228, 2, 210, 196, 20, 1, 167,
- 227, 138, 230, 148, 20, 1, 167, 226, 85, 20, 1, 167, 228, 139, 20, 1,
- 167, 214, 170, 20, 1, 167, 229, 48, 20, 1, 167, 231, 212, 20, 1, 167,
- 228, 181, 20, 1, 167, 231, 119, 20, 1, 167, 227, 151, 20, 1, 167, 216,
- 220, 20, 1, 167, 219, 34, 20, 1, 167, 226, 86, 20, 1, 167, 228, 6, 20, 1,
- 167, 231, 220, 20, 1, 167, 227, 148, 20, 1, 167, 234, 216, 20, 1, 167,
- 228, 9, 20, 1, 167, 213, 250, 20, 1, 167, 232, 98, 20, 1, 167, 229, 98,
- 20, 1, 167, 229, 196, 20, 1, 167, 231, 118, 20, 1, 225, 138, 228, 4, 20,
- 1, 225, 138, 215, 119, 231, 217, 20, 1, 225, 138, 219, 185, 20, 1, 225,
- 138, 220, 128, 215, 118, 20, 1, 225, 138, 232, 140, 227, 244, 20, 1, 225,
- 138, 231, 125, 231, 221, 20, 1, 225, 138, 234, 87, 20, 1, 225, 138, 211,
- 15, 20, 1, 225, 138, 231, 120, 20, 1, 225, 138, 234, 237, 20, 1, 225,
- 138, 225, 208, 20, 1, 225, 138, 211, 89, 233, 47, 20, 1, 225, 138, 233,
- 103, 228, 2, 227, 160, 20, 1, 225, 138, 227, 242, 220, 38, 20, 1, 225,
- 138, 229, 116, 228, 184, 20, 1, 225, 138, 242, 229, 20, 1, 225, 138, 225,
- 49, 20, 1, 225, 138, 215, 119, 228, 0, 20, 1, 225, 138, 220, 43, 228,
- 179, 20, 1, 225, 138, 220, 39, 20, 1, 225, 138, 231, 17, 216, 219, 20, 1,
- 225, 138, 231, 107, 231, 121, 20, 1, 225, 138, 227, 149, 227, 244, 20, 1,
- 225, 138, 234, 145, 20, 1, 225, 138, 242, 230, 20, 1, 225, 138, 234, 141,
- 20, 1, 225, 138, 233, 129, 20, 1, 225, 138, 225, 249, 20, 1, 225, 138,
- 213, 182, 20, 1, 225, 138, 229, 13, 230, 46, 20, 1, 225, 138, 229, 47,
- 231, 103, 20, 1, 225, 138, 211, 193, 20, 1, 225, 138, 222, 11, 20, 1,
- 225, 138, 217, 97, 20, 1, 225, 138, 231, 29, 20, 1, 225, 138, 229, 32,
- 20, 1, 225, 138, 229, 33, 233, 84, 20, 1, 225, 138, 231, 19, 20, 1, 225,
- 138, 218, 52, 20, 1, 225, 138, 231, 111, 20, 1, 225, 138, 230, 133, 20,
- 1, 225, 138, 227, 163, 20, 1, 225, 138, 224, 138, 20, 1, 225, 138, 231,
- 28, 229, 49, 20, 1, 225, 138, 244, 126, 20, 1, 225, 138, 231, 98, 20, 1,
- 225, 138, 244, 147, 20, 1, 225, 138, 234, 153, 20, 1, 225, 138, 231, 239,
- 228, 173, 20, 1, 225, 138, 231, 239, 228, 149, 20, 1, 225, 138, 233, 11,
- 20, 1, 225, 138, 229, 55, 20, 1, 225, 138, 228, 11, 20, 1, 225, 138, 184,
- 20, 1, 225, 138, 234, 74, 20, 1, 225, 138, 229, 1, 20, 1, 137, 229, 12,
- 231, 219, 20, 1, 137, 227, 117, 20, 1, 137, 210, 196, 20, 1, 137, 212,
- 53, 20, 1, 137, 229, 48, 20, 1, 137, 229, 137, 20, 1, 137, 229, 19, 20,
- 1, 137, 242, 239, 20, 1, 137, 231, 115, 20, 1, 137, 243, 77, 20, 1, 137,
- 227, 140, 230, 170, 231, 31, 20, 1, 137, 227, 240, 231, 106, 20, 1, 137,
- 231, 112, 20, 1, 137, 225, 55, 20, 1, 137, 229, 122, 20, 1, 137, 231,
- 123, 251, 29, 20, 1, 137, 234, 143, 20, 1, 137, 242, 240, 20, 1, 137,
- 234, 150, 20, 1, 137, 210, 213, 230, 76, 20, 1, 137, 227, 111, 20, 1,
- 137, 231, 100, 20, 1, 137, 228, 10, 20, 1, 137, 231, 106, 20, 1, 137,
- 211, 16, 20, 1, 137, 233, 249, 20, 1, 137, 235, 10, 20, 1, 137, 220, 123,
- 20, 1, 137, 229, 131, 20, 1, 137, 217, 95, 20, 1, 137, 228, 153, 20, 1,
- 137, 216, 66, 210, 198, 20, 1, 137, 218, 79, 20, 1, 137, 229, 39, 227,
- 160, 20, 1, 137, 213, 181, 20, 1, 137, 229, 199, 20, 1, 137, 231, 239,
- 234, 152, 20, 1, 137, 227, 249, 20, 1, 137, 229, 34, 20, 1, 137, 233, 88,
- 20, 1, 137, 231, 108, 20, 1, 137, 231, 8, 20, 1, 137, 227, 243, 20, 1,
- 137, 216, 215, 20, 1, 137, 229, 36, 20, 1, 137, 243, 233, 20, 1, 137,
- 229, 136, 20, 1, 137, 228, 12, 20, 1, 137, 228, 8, 20, 1, 137, 251, 107,
- 20, 1, 137, 213, 183, 20, 1, 137, 231, 113, 20, 1, 137, 222, 140, 20, 1,
- 137, 228, 183, 20, 1, 137, 233, 102, 20, 1, 137, 216, 64, 20, 1, 137,
- 227, 250, 229, 1, 20, 1, 137, 228, 175, 20, 1, 137, 234, 156, 20, 1, 137,
- 229, 40, 20, 1, 137, 231, 212, 20, 1, 137, 231, 101, 20, 1, 137, 232, 98,
- 20, 1, 137, 233, 189, 20, 1, 137, 228, 181, 20, 1, 137, 229, 1, 20, 1,
- 137, 211, 184, 20, 1, 137, 229, 37, 20, 1, 137, 227, 253, 20, 1, 137,
- 227, 245, 20, 1, 137, 233, 203, 228, 139, 20, 1, 137, 227, 251, 20, 1,
- 137, 229, 144, 20, 1, 137, 231, 239, 228, 0, 20, 1, 137, 211, 103, 20, 1,
- 137, 229, 143, 20, 1, 137, 219, 220, 20, 1, 137, 220, 126, 20, 1, 137,
- 231, 109, 20, 1, 137, 231, 219, 20, 1, 137, 231, 119, 20, 1, 137, 234,
- 144, 20, 1, 137, 231, 110, 20, 1, 137, 234, 148, 20, 1, 137, 231, 123,
- 225, 103, 20, 1, 137, 210, 179, 20, 1, 137, 228, 171, 20, 1, 137, 230,
- 220, 20, 1, 137, 230, 100, 20, 1, 137, 220, 15, 20, 1, 137, 234, 166,
- 233, 70, 20, 1, 137, 234, 166, 244, 160, 20, 1, 137, 229, 69, 20, 1, 137,
- 229, 196, 20, 1, 137, 232, 200, 20, 1, 137, 225, 65, 20, 1, 137, 225,
- 199, 20, 1, 137, 216, 230, 20, 1, 107, 231, 99, 20, 1, 107, 212, 51, 20,
- 1, 107, 228, 169, 20, 1, 107, 231, 16, 20, 1, 107, 228, 167, 20, 1, 107,
- 232, 235, 20, 1, 107, 228, 172, 20, 1, 107, 228, 7, 20, 1, 107, 229, 54,
- 20, 1, 107, 227, 160, 20, 1, 107, 211, 194, 20, 1, 107, 229, 9, 20, 1,
- 107, 220, 61, 20, 1, 107, 229, 20, 20, 1, 107, 234, 151, 20, 1, 107, 216,
- 217, 20, 1, 107, 220, 41, 20, 1, 107, 228, 180, 20, 1, 107, 218, 52, 20,
- 1, 107, 234, 156, 20, 1, 107, 211, 91, 20, 1, 107, 233, 204, 20, 1, 107,
- 221, 234, 20, 1, 107, 231, 21, 20, 1, 107, 229, 135, 20, 1, 107, 231,
- 188, 20, 1, 107, 231, 27, 20, 1, 107, 220, 125, 20, 1, 107, 211, 39, 20,
- 1, 107, 228, 174, 20, 1, 107, 234, 147, 231, 102, 20, 1, 107, 229, 16,
- 20, 1, 107, 215, 118, 20, 1, 107, 242, 248, 20, 1, 107, 229, 6, 20, 1,
- 107, 244, 127, 20, 1, 107, 229, 139, 20, 1, 107, 231, 0, 20, 1, 107, 233,
- 5, 20, 1, 107, 229, 121, 20, 1, 107, 230, 147, 20, 1, 107, 231, 4, 20, 1,
- 107, 224, 118, 20, 1, 107, 231, 2, 20, 1, 107, 231, 18, 20, 1, 107, 232,
- 84, 20, 1, 107, 227, 255, 20, 1, 107, 231, 122, 20, 1, 107, 233, 180, 20,
- 1, 107, 227, 151, 20, 1, 107, 216, 220, 20, 1, 107, 219, 34, 20, 1, 107,
- 210, 179, 20, 1, 107, 234, 148, 20, 1, 107, 223, 170, 20, 1, 107, 217,
- 10, 20, 1, 107, 229, 17, 20, 1, 107, 231, 23, 20, 1, 107, 227, 254, 20,
- 1, 107, 234, 146, 20, 1, 107, 225, 59, 20, 1, 107, 225, 152, 20, 1, 107,
- 227, 127, 20, 1, 107, 233, 11, 20, 1, 107, 229, 55, 20, 1, 107, 231, 20,
- 20, 1, 107, 229, 29, 20, 1, 107, 210, 193, 20, 1, 107, 226, 21, 20, 1,
- 107, 210, 192, 20, 1, 107, 229, 144, 20, 1, 107, 227, 244, 20, 1, 107,
- 218, 81, 20, 1, 107, 233, 208, 20, 1, 107, 229, 44, 20, 1, 107, 229, 14,
- 20, 1, 107, 215, 102, 20, 1, 107, 231, 31, 20, 1, 107, 233, 198, 20, 1,
- 107, 227, 252, 20, 1, 107, 216, 218, 20, 1, 107, 231, 214, 20, 1, 107,
- 229, 53, 20, 1, 107, 233, 4, 20, 1, 107, 229, 35, 20, 1, 107, 228, 1, 20,
- 1, 107, 228, 153, 20, 1, 107, 242, 233, 20, 1, 107, 233, 217, 20, 1, 107,
- 223, 84, 226, 209, 20, 1, 107, 217, 86, 20, 1, 107, 216, 10, 20, 1, 107,
- 227, 148, 20, 1, 107, 222, 239, 20, 1, 107, 233, 49, 20, 1, 107, 231, 79,
- 20, 1, 107, 193, 20, 1, 107, 218, 4, 20, 1, 107, 230, 102, 20, 1, 107,
- 220, 27, 20, 1, 107, 220, 37, 20, 1, 107, 233, 155, 20, 1, 107, 227, 237,
- 20, 1, 107, 219, 225, 20, 1, 107, 227, 246, 20, 1, 107, 225, 211, 20, 1,
- 107, 228, 233, 20, 1, 107, 219, 252, 20, 1, 107, 224, 133, 20, 1, 107,
- 230, 46, 20, 1, 107, 232, 119, 20, 1, 107, 223, 84, 230, 96, 20, 1, 107,
- 216, 117, 20, 1, 107, 227, 238, 20, 1, 107, 231, 123, 198, 20, 1, 107,
- 221, 232, 20, 1, 107, 244, 195, 20, 1, 82, 229, 143, 20, 1, 82, 216, 16,
- 20, 1, 82, 231, 112, 20, 1, 82, 233, 88, 20, 1, 82, 213, 128, 20, 1, 82,
- 232, 125, 20, 1, 82, 226, 89, 20, 1, 82, 219, 45, 20, 1, 82, 223, 145,
- 20, 1, 82, 228, 3, 20, 1, 82, 229, 114, 20, 1, 82, 224, 147, 20, 1, 82,
- 217, 62, 20, 1, 82, 229, 22, 20, 1, 82, 233, 245, 20, 1, 82, 211, 187,
- 20, 1, 82, 221, 170, 20, 1, 82, 229, 45, 20, 1, 82, 226, 86, 20, 1, 82,
- 216, 17, 20, 1, 82, 233, 202, 20, 1, 82, 232, 139, 20, 1, 82, 228, 6, 20,
- 1, 82, 228, 254, 20, 1, 82, 231, 220, 20, 1, 82, 229, 15, 20, 1, 82, 228,
- 253, 20, 1, 82, 228, 5, 20, 1, 82, 222, 237, 20, 1, 82, 228, 171, 20, 1,
- 82, 225, 210, 20, 1, 82, 222, 31, 20, 1, 82, 229, 30, 20, 1, 82, 231, 10,
- 20, 1, 82, 242, 227, 20, 1, 82, 229, 18, 20, 1, 82, 228, 182, 20, 1, 82,
- 231, 172, 20, 1, 82, 232, 121, 20, 1, 82, 229, 50, 20, 1, 82, 229, 127,
- 20, 1, 82, 217, 85, 227, 244, 20, 1, 82, 220, 127, 20, 1, 82, 224, 143,
- 20, 1, 82, 229, 147, 219, 51, 20, 1, 82, 229, 38, 227, 160, 20, 1, 82,
- 211, 4, 20, 1, 82, 242, 228, 20, 1, 82, 215, 117, 20, 1, 82, 211, 19, 20,
- 1, 82, 225, 16, 20, 1, 82, 215, 107, 20, 1, 82, 234, 154, 20, 1, 82, 218,
- 80, 20, 1, 82, 216, 219, 20, 1, 82, 213, 184, 20, 1, 82, 212, 6, 20, 1,
- 82, 233, 132, 20, 1, 82, 224, 150, 20, 1, 82, 217, 96, 20, 1, 82, 242,
- 247, 20, 1, 82, 229, 59, 20, 1, 82, 220, 40, 20, 1, 82, 231, 5, 20, 1,
- 82, 231, 116, 20, 1, 82, 227, 115, 20, 1, 82, 228, 136, 20, 1, 82, 243,
- 73, 20, 1, 82, 215, 108, 20, 1, 82, 233, 211, 20, 1, 82, 211, 67, 20, 1,
- 82, 227, 149, 250, 16, 20, 1, 82, 210, 250, 20, 1, 82, 231, 22, 20, 1,
- 82, 229, 132, 20, 1, 82, 225, 100, 20, 1, 82, 210, 197, 20, 1, 82, 233,
- 6, 20, 1, 82, 243, 233, 20, 1, 82, 243, 72, 20, 1, 82, 229, 8, 20, 1, 82,
- 234, 156, 20, 1, 82, 231, 223, 20, 1, 82, 229, 21, 20, 1, 82, 242, 234,
- 20, 1, 82, 244, 196, 20, 1, 82, 227, 239, 20, 1, 82, 225, 153, 20, 1, 82,
- 211, 17, 20, 1, 82, 229, 46, 20, 1, 82, 227, 149, 252, 23, 20, 1, 82,
- 227, 95, 20, 1, 82, 224, 247, 20, 1, 82, 230, 220, 20, 1, 82, 243, 231,
- 20, 1, 82, 229, 220, 20, 1, 82, 230, 100, 20, 1, 82, 242, 233, 20, 1, 82,
- 243, 235, 73, 20, 1, 82, 230, 47, 20, 1, 82, 224, 146, 20, 1, 82, 229,
- 10, 20, 1, 82, 233, 189, 20, 1, 82, 225, 97, 20, 1, 82, 227, 247, 20, 1,
- 82, 211, 18, 20, 1, 82, 229, 31, 20, 1, 82, 226, 90, 225, 187, 20, 1, 82,
- 243, 235, 251, 15, 20, 1, 82, 244, 37, 20, 1, 82, 228, 176, 20, 1, 82,
- 61, 20, 1, 82, 216, 10, 20, 1, 82, 76, 20, 1, 82, 73, 20, 1, 82, 233, 86,
- 20, 1, 82, 226, 90, 225, 23, 20, 1, 82, 217, 101, 20, 1, 82, 217, 51, 20,
- 1, 82, 229, 147, 230, 34, 240, 234, 20, 1, 82, 220, 15, 20, 1, 82, 211,
- 14, 20, 1, 82, 228, 247, 20, 1, 82, 210, 202, 20, 1, 82, 210, 227, 217,
- 240, 20, 1, 82, 210, 227, 249, 147, 20, 1, 82, 210, 187, 20, 1, 82, 210,
- 195, 20, 1, 82, 234, 142, 20, 1, 82, 225, 151, 20, 1, 82, 228, 177, 245,
- 102, 20, 1, 82, 224, 144, 20, 1, 82, 211, 192, 20, 1, 82, 244, 147, 20,
- 1, 82, 213, 250, 20, 1, 82, 232, 98, 20, 1, 82, 230, 230, 20, 1, 82, 223,
- 51, 20, 1, 82, 223, 171, 20, 1, 82, 228, 246, 20, 1, 82, 229, 77, 20, 1,
- 82, 220, 7, 20, 1, 82, 219, 252, 20, 1, 82, 243, 235, 223, 86, 20, 1, 82,
- 197, 20, 1, 82, 225, 108, 20, 1, 82, 232, 119, 20, 1, 82, 234, 28, 20, 1,
- 82, 231, 58, 20, 1, 82, 184, 20, 1, 82, 231, 169, 20, 1, 82, 216, 221,
- 20, 1, 82, 234, 92, 20, 1, 82, 230, 150, 20, 1, 82, 216, 247, 20, 1, 82,
- 244, 169, 20, 1, 82, 242, 223, 20, 1, 225, 137, 176, 20, 1, 225, 137, 70,
- 20, 1, 225, 137, 233, 217, 20, 1, 225, 137, 245, 209, 20, 1, 225, 137,
- 223, 108, 20, 1, 225, 137, 217, 86, 20, 1, 225, 137, 227, 148, 20, 1,
- 225, 137, 233, 135, 20, 1, 225, 137, 222, 239, 20, 1, 225, 137, 223, 29,
- 20, 1, 225, 137, 231, 79, 20, 1, 225, 137, 217, 101, 20, 1, 225, 137,
- 229, 146, 20, 1, 225, 137, 228, 183, 20, 1, 225, 137, 193, 20, 1, 225,
- 137, 218, 4, 20, 1, 225, 137, 220, 27, 20, 1, 225, 137, 219, 191, 20, 1,
- 225, 137, 220, 123, 20, 1, 225, 137, 233, 155, 20, 1, 225, 137, 234, 156,
- 20, 1, 225, 137, 227, 209, 20, 1, 225, 137, 227, 237, 20, 1, 225, 137,
- 228, 154, 20, 1, 225, 137, 210, 226, 20, 1, 225, 137, 219, 225, 20, 1,
- 225, 137, 191, 20, 1, 225, 137, 228, 9, 20, 1, 225, 137, 225, 151, 20, 1,
- 225, 137, 227, 246, 20, 1, 225, 137, 211, 192, 20, 1, 225, 137, 225, 211,
- 20, 1, 225, 137, 222, 140, 20, 1, 225, 137, 228, 233, 20, 1, 225, 137,
- 223, 51, 20, 1, 225, 137, 234, 165, 20, 1, 225, 137, 229, 7, 20, 1, 225,
- 137, 229, 56, 20, 1, 225, 137, 220, 7, 20, 1, 225, 137, 224, 147, 20, 1,
- 225, 137, 244, 37, 20, 1, 225, 137, 212, 65, 20, 1, 225, 137, 232, 241,
- 20, 1, 225, 137, 232, 119, 20, 1, 225, 137, 234, 28, 20, 1, 225, 137,
- 231, 114, 20, 1, 225, 137, 223, 83, 20, 1, 225, 137, 184, 20, 1, 225,
- 137, 230, 161, 20, 1, 225, 137, 231, 122, 20, 1, 225, 137, 216, 230, 20,
- 1, 225, 137, 233, 251, 20, 1, 225, 137, 221, 251, 20, 1, 225, 137, 212,
- 115, 95, 1, 190, 95, 1, 252, 191, 95, 1, 8, 190, 95, 1, 225, 42, 95, 1,
- 184, 95, 1, 230, 233, 95, 1, 254, 23, 184, 95, 1, 244, 196, 95, 1, 214,
- 27, 95, 1, 213, 177, 95, 1, 217, 105, 95, 1, 248, 221, 95, 1, 8, 215,
- 156, 95, 1, 8, 217, 105, 95, 1, 215, 156, 95, 1, 248, 135, 95, 1, 197,
- 95, 1, 228, 237, 95, 1, 8, 228, 110, 95, 1, 254, 23, 197, 95, 1, 228,
- 110, 95, 1, 228, 96, 95, 1, 233, 135, 95, 1, 232, 61, 95, 1, 232, 254,
- 95, 1, 232, 243, 95, 1, 216, 56, 95, 1, 247, 153, 95, 1, 216, 48, 95, 1,
- 247, 152, 95, 1, 176, 95, 1, 243, 135, 95, 1, 8, 176, 95, 1, 224, 88, 95,
- 1, 224, 66, 95, 1, 229, 77, 95, 1, 229, 28, 95, 1, 254, 23, 229, 77, 95,
- 1, 162, 95, 1, 211, 165, 95, 1, 242, 249, 95, 1, 242, 226, 95, 1, 215,
- 165, 95, 1, 246, 26, 95, 1, 227, 165, 95, 1, 227, 150, 95, 1, 215, 175,
- 95, 1, 246, 33, 95, 1, 8, 215, 175, 95, 1, 8, 246, 33, 95, 1, 223, 106,
- 215, 175, 95, 1, 220, 102, 95, 1, 218, 223, 95, 1, 210, 82, 95, 1, 210,
- 14, 95, 1, 215, 183, 95, 1, 246, 38, 95, 1, 8, 215, 183, 95, 1, 206, 95,
- 1, 210, 116, 95, 1, 210, 15, 95, 1, 209, 243, 95, 1, 209, 223, 95, 1,
- 254, 23, 209, 243, 95, 1, 209, 215, 95, 1, 209, 222, 95, 1, 212, 65, 95,
- 1, 254, 209, 95, 1, 241, 189, 95, 1, 229, 192, 95, 5, 253, 222, 95, 5,
- 223, 106, 213, 133, 95, 5, 223, 106, 253, 222, 95, 25, 5, 61, 95, 25, 5,
- 255, 73, 95, 25, 5, 254, 205, 95, 25, 5, 254, 123, 95, 25, 5, 254, 115,
- 95, 25, 5, 76, 95, 25, 5, 226, 183, 95, 25, 5, 211, 227, 95, 25, 5, 212,
- 98, 95, 25, 5, 75, 95, 25, 5, 245, 150, 95, 25, 5, 245, 138, 95, 25, 5,
- 226, 232, 95, 25, 5, 73, 95, 25, 5, 240, 119, 95, 25, 5, 240, 118, 95,
- 25, 5, 240, 117, 95, 25, 5, 235, 189, 95, 25, 5, 236, 60, 95, 25, 5, 236,
- 33, 95, 25, 5, 235, 156, 95, 25, 5, 235, 231, 95, 25, 5, 70, 95, 25, 5,
+ 210, 119, 12, 13, 210, 118, 12, 13, 255, 73, 12, 13, 255, 72, 12, 13,
+ 255, 71, 12, 13, 255, 70, 12, 13, 255, 69, 12, 13, 255, 68, 12, 13, 255,
+ 67, 12, 13, 255, 66, 12, 13, 255, 65, 12, 13, 255, 64, 12, 13, 255, 63,
+ 12, 13, 255, 62, 12, 13, 255, 61, 12, 13, 255, 60, 12, 13, 255, 59, 12,
+ 13, 255, 58, 12, 13, 255, 57, 12, 13, 255, 56, 12, 13, 255, 55, 12, 13,
+ 255, 54, 12, 13, 255, 53, 12, 13, 255, 52, 12, 13, 255, 51, 12, 13, 255,
+ 50, 12, 13, 255, 49, 12, 13, 255, 48, 12, 13, 255, 47, 12, 13, 255, 46,
+ 12, 13, 255, 45, 12, 13, 255, 44, 12, 13, 255, 43, 12, 13, 255, 42, 12,
+ 13, 255, 41, 12, 13, 255, 40, 20, 1, 167, 229, 13, 231, 17, 20, 1, 167,
+ 243, 71, 244, 37, 20, 1, 167, 224, 252, 231, 18, 225, 58, 20, 1, 167,
+ 224, 252, 231, 18, 225, 59, 20, 1, 167, 229, 227, 231, 17, 20, 1, 167,
+ 219, 222, 20, 1, 167, 216, 67, 231, 17, 20, 1, 167, 227, 119, 231, 17,
+ 20, 1, 167, 220, 20, 226, 91, 228, 170, 20, 1, 167, 224, 252, 226, 91,
+ 228, 171, 225, 58, 20, 1, 167, 224, 252, 226, 91, 228, 171, 225, 59, 20,
+ 1, 167, 231, 219, 20, 1, 167, 215, 120, 231, 220, 20, 1, 167, 229, 72,
+ 20, 1, 167, 231, 216, 20, 1, 167, 231, 177, 20, 1, 167, 230, 49, 20, 1,
+ 167, 220, 125, 20, 1, 167, 227, 242, 20, 1, 167, 234, 150, 20, 1, 167,
+ 228, 139, 20, 1, 167, 218, 5, 20, 1, 167, 229, 12, 20, 1, 167, 233, 88,
+ 20, 1, 167, 233, 13, 233, 190, 20, 1, 167, 227, 249, 231, 25, 20, 1, 167,
+ 231, 223, 20, 1, 167, 225, 247, 20, 1, 167, 242, 232, 20, 1, 167, 226,
+ 51, 20, 1, 167, 230, 152, 229, 46, 20, 1, 167, 227, 100, 231, 28, 20, 1,
+ 167, 104, 210, 188, 229, 221, 20, 1, 167, 242, 233, 20, 1, 167, 227, 249,
+ 227, 250, 20, 1, 167, 219, 129, 20, 1, 167, 231, 10, 20, 1, 167, 231, 31,
+ 20, 1, 167, 230, 131, 20, 1, 167, 234, 250, 20, 1, 167, 226, 91, 233, 48,
+ 20, 1, 167, 229, 150, 233, 48, 20, 1, 167, 225, 159, 20, 1, 167, 231,
+ 217, 20, 1, 167, 228, 208, 20, 1, 167, 224, 135, 20, 1, 167, 215, 117,
+ 20, 1, 167, 232, 95, 20, 1, 167, 219, 42, 20, 1, 167, 216, 217, 20, 1,
+ 167, 231, 214, 20, 1, 167, 234, 157, 20, 1, 167, 229, 146, 20, 1, 167,
+ 233, 202, 20, 1, 167, 230, 132, 20, 1, 167, 219, 219, 20, 1, 167, 232,
+ 139, 20, 1, 167, 244, 94, 20, 1, 167, 222, 200, 20, 1, 167, 233, 242, 20,
+ 1, 167, 219, 38, 20, 1, 167, 231, 174, 225, 100, 20, 1, 167, 220, 13, 20,
+ 1, 167, 227, 248, 20, 1, 167, 219, 254, 228, 3, 210, 196, 20, 1, 167,
+ 227, 139, 230, 149, 20, 1, 167, 226, 86, 20, 1, 167, 228, 140, 20, 1,
+ 167, 214, 170, 20, 1, 167, 229, 49, 20, 1, 167, 231, 213, 20, 1, 167,
+ 228, 182, 20, 1, 167, 231, 120, 20, 1, 167, 227, 152, 20, 1, 167, 216,
+ 221, 20, 1, 167, 219, 35, 20, 1, 167, 226, 87, 20, 1, 167, 228, 7, 20, 1,
+ 167, 231, 221, 20, 1, 167, 227, 149, 20, 1, 167, 234, 217, 20, 1, 167,
+ 228, 10, 20, 1, 167, 213, 250, 20, 1, 167, 232, 99, 20, 1, 167, 229, 99,
+ 20, 1, 167, 229, 197, 20, 1, 167, 231, 119, 20, 1, 225, 139, 228, 5, 20,
+ 1, 225, 139, 215, 120, 231, 218, 20, 1, 225, 139, 219, 186, 20, 1, 225,
+ 139, 220, 129, 215, 119, 20, 1, 225, 139, 232, 141, 227, 245, 20, 1, 225,
+ 139, 231, 126, 231, 222, 20, 1, 225, 139, 234, 88, 20, 1, 225, 139, 211,
+ 15, 20, 1, 225, 139, 231, 121, 20, 1, 225, 139, 234, 238, 20, 1, 225,
+ 139, 225, 209, 20, 1, 225, 139, 211, 89, 233, 48, 20, 1, 225, 139, 233,
+ 104, 228, 3, 227, 161, 20, 1, 225, 139, 227, 243, 220, 39, 20, 1, 225,
+ 139, 229, 117, 228, 185, 20, 1, 225, 139, 242, 230, 20, 1, 225, 139, 225,
+ 50, 20, 1, 225, 139, 215, 120, 228, 1, 20, 1, 225, 139, 220, 44, 228,
+ 180, 20, 1, 225, 139, 220, 40, 20, 1, 225, 139, 231, 18, 216, 220, 20, 1,
+ 225, 139, 231, 108, 231, 122, 20, 1, 225, 139, 227, 150, 227, 245, 20, 1,
+ 225, 139, 234, 146, 20, 1, 225, 139, 242, 231, 20, 1, 225, 139, 234, 142,
+ 20, 1, 225, 139, 233, 130, 20, 1, 225, 139, 225, 250, 20, 1, 225, 139,
+ 213, 182, 20, 1, 225, 139, 229, 14, 230, 47, 20, 1, 225, 139, 229, 48,
+ 231, 104, 20, 1, 225, 139, 211, 193, 20, 1, 225, 139, 222, 12, 20, 1,
+ 225, 139, 217, 98, 20, 1, 225, 139, 231, 30, 20, 1, 225, 139, 229, 33,
+ 20, 1, 225, 139, 229, 34, 233, 85, 20, 1, 225, 139, 231, 20, 20, 1, 225,
+ 139, 218, 53, 20, 1, 225, 139, 231, 112, 20, 1, 225, 139, 230, 134, 20,
+ 1, 225, 139, 227, 164, 20, 1, 225, 139, 224, 139, 20, 1, 225, 139, 231,
+ 29, 229, 50, 20, 1, 225, 139, 244, 127, 20, 1, 225, 139, 231, 99, 20, 1,
+ 225, 139, 244, 148, 20, 1, 225, 139, 234, 154, 20, 1, 225, 139, 231, 240,
+ 228, 174, 20, 1, 225, 139, 231, 240, 228, 150, 20, 1, 225, 139, 233, 12,
+ 20, 1, 225, 139, 229, 56, 20, 1, 225, 139, 228, 12, 20, 1, 225, 139, 185,
+ 20, 1, 225, 139, 234, 75, 20, 1, 225, 139, 229, 2, 20, 1, 137, 229, 13,
+ 231, 220, 20, 1, 137, 227, 118, 20, 1, 137, 210, 196, 20, 1, 137, 212,
+ 53, 20, 1, 137, 229, 49, 20, 1, 137, 229, 138, 20, 1, 137, 229, 20, 20,
+ 1, 137, 242, 240, 20, 1, 137, 231, 116, 20, 1, 137, 243, 78, 20, 1, 137,
+ 227, 141, 230, 171, 231, 32, 20, 1, 137, 227, 241, 231, 107, 20, 1, 137,
+ 231, 113, 20, 1, 137, 225, 56, 20, 1, 137, 229, 123, 20, 1, 137, 231,
+ 124, 251, 30, 20, 1, 137, 234, 144, 20, 1, 137, 242, 241, 20, 1, 137,
+ 234, 151, 20, 1, 137, 210, 213, 230, 77, 20, 1, 137, 227, 112, 20, 1,
+ 137, 231, 101, 20, 1, 137, 228, 11, 20, 1, 137, 231, 107, 20, 1, 137,
+ 211, 16, 20, 1, 137, 233, 250, 20, 1, 137, 235, 11, 20, 1, 137, 220, 124,
+ 20, 1, 137, 229, 132, 20, 1, 137, 217, 96, 20, 1, 137, 228, 154, 20, 1,
+ 137, 216, 67, 210, 198, 20, 1, 137, 218, 80, 20, 1, 137, 229, 40, 227,
+ 161, 20, 1, 137, 213, 181, 20, 1, 137, 229, 200, 20, 1, 137, 231, 240,
+ 234, 153, 20, 1, 137, 227, 250, 20, 1, 137, 229, 35, 20, 1, 137, 233, 89,
+ 20, 1, 137, 231, 109, 20, 1, 137, 231, 9, 20, 1, 137, 227, 244, 20, 1,
+ 137, 216, 216, 20, 1, 137, 229, 37, 20, 1, 137, 243, 234, 20, 1, 137,
+ 229, 137, 20, 1, 137, 228, 13, 20, 1, 137, 228, 9, 20, 1, 137, 251, 108,
+ 20, 1, 137, 213, 183, 20, 1, 137, 231, 114, 20, 1, 137, 222, 141, 20, 1,
+ 137, 228, 184, 20, 1, 137, 233, 103, 20, 1, 137, 216, 65, 20, 1, 137,
+ 227, 251, 229, 2, 20, 1, 137, 228, 176, 20, 1, 137, 234, 157, 20, 1, 137,
+ 229, 41, 20, 1, 137, 231, 213, 20, 1, 137, 231, 102, 20, 1, 137, 232, 99,
+ 20, 1, 137, 233, 190, 20, 1, 137, 228, 182, 20, 1, 137, 229, 2, 20, 1,
+ 137, 211, 184, 20, 1, 137, 229, 38, 20, 1, 137, 227, 254, 20, 1, 137,
+ 227, 246, 20, 1, 137, 233, 204, 228, 140, 20, 1, 137, 227, 252, 20, 1,
+ 137, 229, 145, 20, 1, 137, 231, 240, 228, 1, 20, 1, 137, 211, 103, 20, 1,
+ 137, 229, 144, 20, 1, 137, 219, 221, 20, 1, 137, 220, 127, 20, 1, 137,
+ 231, 110, 20, 1, 137, 231, 220, 20, 1, 137, 231, 120, 20, 1, 137, 234,
+ 145, 20, 1, 137, 231, 111, 20, 1, 137, 234, 149, 20, 1, 137, 231, 124,
+ 225, 104, 20, 1, 137, 210, 179, 20, 1, 137, 228, 172, 20, 1, 137, 230,
+ 221, 20, 1, 137, 230, 101, 20, 1, 137, 220, 16, 20, 1, 137, 234, 167,
+ 233, 71, 20, 1, 137, 234, 167, 244, 161, 20, 1, 137, 229, 70, 20, 1, 137,
+ 229, 197, 20, 1, 137, 232, 201, 20, 1, 137, 225, 66, 20, 1, 137, 225,
+ 200, 20, 1, 137, 216, 231, 20, 1, 107, 231, 100, 20, 1, 107, 212, 51, 20,
+ 1, 107, 228, 170, 20, 1, 107, 231, 17, 20, 1, 107, 228, 168, 20, 1, 107,
+ 232, 236, 20, 1, 107, 228, 173, 20, 1, 107, 228, 8, 20, 1, 107, 229, 55,
+ 20, 1, 107, 227, 161, 20, 1, 107, 211, 194, 20, 1, 107, 229, 10, 20, 1,
+ 107, 220, 62, 20, 1, 107, 229, 21, 20, 1, 107, 234, 152, 20, 1, 107, 216,
+ 218, 20, 1, 107, 220, 42, 20, 1, 107, 228, 181, 20, 1, 107, 218, 53, 20,
+ 1, 107, 234, 157, 20, 1, 107, 211, 91, 20, 1, 107, 233, 205, 20, 1, 107,
+ 221, 235, 20, 1, 107, 231, 22, 20, 1, 107, 229, 136, 20, 1, 107, 231,
+ 189, 20, 1, 107, 231, 28, 20, 1, 107, 220, 126, 20, 1, 107, 211, 39, 20,
+ 1, 107, 228, 175, 20, 1, 107, 234, 148, 231, 103, 20, 1, 107, 229, 17,
+ 20, 1, 107, 215, 119, 20, 1, 107, 242, 249, 20, 1, 107, 229, 7, 20, 1,
+ 107, 244, 128, 20, 1, 107, 229, 140, 20, 1, 107, 231, 1, 20, 1, 107, 233,
+ 6, 20, 1, 107, 229, 122, 20, 1, 107, 230, 148, 20, 1, 107, 231, 5, 20, 1,
+ 107, 224, 119, 20, 1, 107, 231, 3, 20, 1, 107, 231, 19, 20, 1, 107, 232,
+ 85, 20, 1, 107, 228, 0, 20, 1, 107, 231, 123, 20, 1, 107, 233, 181, 20,
+ 1, 107, 227, 152, 20, 1, 107, 216, 221, 20, 1, 107, 219, 35, 20, 1, 107,
+ 210, 179, 20, 1, 107, 234, 149, 20, 1, 107, 223, 171, 20, 1, 107, 217,
+ 11, 20, 1, 107, 229, 18, 20, 1, 107, 231, 24, 20, 1, 107, 227, 255, 20,
+ 1, 107, 234, 147, 20, 1, 107, 225, 60, 20, 1, 107, 225, 153, 20, 1, 107,
+ 227, 128, 20, 1, 107, 233, 12, 20, 1, 107, 229, 56, 20, 1, 107, 231, 21,
+ 20, 1, 107, 229, 30, 20, 1, 107, 210, 193, 20, 1, 107, 226, 22, 20, 1,
+ 107, 210, 192, 20, 1, 107, 229, 145, 20, 1, 107, 227, 245, 20, 1, 107,
+ 218, 82, 20, 1, 107, 233, 209, 20, 1, 107, 229, 45, 20, 1, 107, 229, 15,
+ 20, 1, 107, 215, 103, 20, 1, 107, 231, 32, 20, 1, 107, 233, 199, 20, 1,
+ 107, 227, 253, 20, 1, 107, 216, 219, 20, 1, 107, 231, 215, 20, 1, 107,
+ 229, 54, 20, 1, 107, 233, 5, 20, 1, 107, 229, 36, 20, 1, 107, 228, 2, 20,
+ 1, 107, 228, 154, 20, 1, 107, 242, 234, 20, 1, 107, 233, 218, 20, 1, 107,
+ 223, 85, 226, 210, 20, 1, 107, 217, 87, 20, 1, 107, 216, 11, 20, 1, 107,
+ 227, 149, 20, 1, 107, 222, 240, 20, 1, 107, 233, 50, 20, 1, 107, 231, 80,
+ 20, 1, 107, 193, 20, 1, 107, 218, 5, 20, 1, 107, 230, 103, 20, 1, 107,
+ 220, 28, 20, 1, 107, 220, 38, 20, 1, 107, 233, 156, 20, 1, 107, 227, 238,
+ 20, 1, 107, 219, 226, 20, 1, 107, 227, 247, 20, 1, 107, 225, 212, 20, 1,
+ 107, 228, 234, 20, 1, 107, 219, 253, 20, 1, 107, 224, 134, 20, 1, 107,
+ 230, 47, 20, 1, 107, 232, 120, 20, 1, 107, 223, 85, 230, 97, 20, 1, 107,
+ 216, 118, 20, 1, 107, 227, 239, 20, 1, 107, 231, 124, 198, 20, 1, 107,
+ 221, 233, 20, 1, 107, 244, 196, 20, 1, 82, 229, 144, 20, 1, 82, 216, 17,
+ 20, 1, 82, 231, 113, 20, 1, 82, 233, 89, 20, 1, 82, 213, 128, 20, 1, 82,
+ 232, 126, 20, 1, 82, 226, 90, 20, 1, 82, 219, 46, 20, 1, 82, 223, 146,
+ 20, 1, 82, 228, 4, 20, 1, 82, 229, 115, 20, 1, 82, 224, 148, 20, 1, 82,
+ 217, 63, 20, 1, 82, 229, 23, 20, 1, 82, 233, 246, 20, 1, 82, 211, 187,
+ 20, 1, 82, 221, 171, 20, 1, 82, 229, 46, 20, 1, 82, 226, 87, 20, 1, 82,
+ 216, 18, 20, 1, 82, 233, 203, 20, 1, 82, 232, 140, 20, 1, 82, 228, 7, 20,
+ 1, 82, 228, 255, 20, 1, 82, 231, 221, 20, 1, 82, 229, 16, 20, 1, 82, 228,
+ 254, 20, 1, 82, 228, 6, 20, 1, 82, 222, 238, 20, 1, 82, 228, 172, 20, 1,
+ 82, 225, 211, 20, 1, 82, 222, 32, 20, 1, 82, 229, 31, 20, 1, 82, 231, 11,
+ 20, 1, 82, 242, 228, 20, 1, 82, 229, 19, 20, 1, 82, 228, 183, 20, 1, 82,
+ 231, 173, 20, 1, 82, 232, 122, 20, 1, 82, 229, 51, 20, 1, 82, 229, 128,
+ 20, 1, 82, 217, 86, 227, 245, 20, 1, 82, 220, 128, 20, 1, 82, 224, 144,
+ 20, 1, 82, 229, 148, 219, 52, 20, 1, 82, 229, 39, 227, 161, 20, 1, 82,
+ 211, 4, 20, 1, 82, 242, 229, 20, 1, 82, 215, 118, 20, 1, 82, 211, 19, 20,
+ 1, 82, 225, 17, 20, 1, 82, 215, 108, 20, 1, 82, 234, 155, 20, 1, 82, 218,
+ 81, 20, 1, 82, 216, 220, 20, 1, 82, 213, 184, 20, 1, 82, 212, 6, 20, 1,
+ 82, 233, 133, 20, 1, 82, 224, 151, 20, 1, 82, 217, 97, 20, 1, 82, 242,
+ 248, 20, 1, 82, 229, 60, 20, 1, 82, 220, 41, 20, 1, 82, 231, 6, 20, 1,
+ 82, 231, 117, 20, 1, 82, 227, 116, 20, 1, 82, 228, 137, 20, 1, 82, 243,
+ 74, 20, 1, 82, 215, 109, 20, 1, 82, 233, 212, 20, 1, 82, 211, 67, 20, 1,
+ 82, 227, 150, 250, 17, 20, 1, 82, 210, 250, 20, 1, 82, 231, 23, 20, 1,
+ 82, 229, 133, 20, 1, 82, 225, 101, 20, 1, 82, 210, 197, 20, 1, 82, 233,
+ 7, 20, 1, 82, 243, 234, 20, 1, 82, 243, 73, 20, 1, 82, 229, 9, 20, 1, 82,
+ 234, 157, 20, 1, 82, 231, 224, 20, 1, 82, 229, 22, 20, 1, 82, 242, 235,
+ 20, 1, 82, 244, 197, 20, 1, 82, 227, 240, 20, 1, 82, 225, 154, 20, 1, 82,
+ 211, 17, 20, 1, 82, 229, 47, 20, 1, 82, 227, 150, 252, 24, 20, 1, 82,
+ 227, 96, 20, 1, 82, 224, 248, 20, 1, 82, 230, 221, 20, 1, 82, 243, 232,
+ 20, 1, 82, 229, 221, 20, 1, 82, 230, 101, 20, 1, 82, 242, 234, 20, 1, 82,
+ 243, 236, 73, 20, 1, 82, 230, 48, 20, 1, 82, 224, 147, 20, 1, 82, 229,
+ 11, 20, 1, 82, 233, 190, 20, 1, 82, 225, 98, 20, 1, 82, 227, 248, 20, 1,
+ 82, 211, 18, 20, 1, 82, 229, 32, 20, 1, 82, 226, 91, 225, 188, 20, 1, 82,
+ 243, 236, 251, 16, 20, 1, 82, 244, 38, 20, 1, 82, 228, 177, 20, 1, 82,
+ 61, 20, 1, 82, 216, 11, 20, 1, 82, 76, 20, 1, 82, 73, 20, 1, 82, 233, 87,
+ 20, 1, 82, 226, 91, 225, 24, 20, 1, 82, 217, 102, 20, 1, 82, 217, 52, 20,
+ 1, 82, 229, 148, 230, 35, 240, 235, 20, 1, 82, 220, 16, 20, 1, 82, 211,
+ 14, 20, 1, 82, 228, 248, 20, 1, 82, 210, 202, 20, 1, 82, 210, 227, 217,
+ 241, 20, 1, 82, 210, 227, 249, 148, 20, 1, 82, 210, 187, 20, 1, 82, 210,
+ 195, 20, 1, 82, 234, 143, 20, 1, 82, 225, 152, 20, 1, 82, 228, 178, 245,
+ 103, 20, 1, 82, 224, 145, 20, 1, 82, 211, 192, 20, 1, 82, 244, 148, 20,
+ 1, 82, 213, 250, 20, 1, 82, 232, 99, 20, 1, 82, 230, 231, 20, 1, 82, 223,
+ 52, 20, 1, 82, 223, 172, 20, 1, 82, 228, 247, 20, 1, 82, 229, 78, 20, 1,
+ 82, 220, 8, 20, 1, 82, 219, 253, 20, 1, 82, 243, 236, 223, 87, 20, 1, 82,
+ 197, 20, 1, 82, 225, 109, 20, 1, 82, 232, 120, 20, 1, 82, 234, 29, 20, 1,
+ 82, 231, 59, 20, 1, 82, 185, 20, 1, 82, 231, 170, 20, 1, 82, 216, 222,
+ 20, 1, 82, 234, 93, 20, 1, 82, 230, 151, 20, 1, 82, 216, 248, 20, 1, 82,
+ 244, 170, 20, 1, 82, 242, 224, 20, 1, 225, 138, 176, 20, 1, 225, 138, 70,
+ 20, 1, 225, 138, 233, 218, 20, 1, 225, 138, 245, 210, 20, 1, 225, 138,
+ 223, 109, 20, 1, 225, 138, 217, 87, 20, 1, 225, 138, 227, 149, 20, 1,
+ 225, 138, 233, 136, 20, 1, 225, 138, 222, 240, 20, 1, 225, 138, 223, 30,
+ 20, 1, 225, 138, 231, 80, 20, 1, 225, 138, 217, 102, 20, 1, 225, 138,
+ 229, 147, 20, 1, 225, 138, 228, 184, 20, 1, 225, 138, 193, 20, 1, 225,
+ 138, 218, 5, 20, 1, 225, 138, 220, 28, 20, 1, 225, 138, 219, 192, 20, 1,
+ 225, 138, 220, 124, 20, 1, 225, 138, 233, 156, 20, 1, 225, 138, 234, 157,
+ 20, 1, 225, 138, 227, 210, 20, 1, 225, 138, 227, 238, 20, 1, 225, 138,
+ 228, 155, 20, 1, 225, 138, 210, 226, 20, 1, 225, 138, 219, 226, 20, 1,
+ 225, 138, 191, 20, 1, 225, 138, 228, 10, 20, 1, 225, 138, 225, 152, 20,
+ 1, 225, 138, 227, 247, 20, 1, 225, 138, 211, 192, 20, 1, 225, 138, 225,
+ 212, 20, 1, 225, 138, 222, 141, 20, 1, 225, 138, 228, 234, 20, 1, 225,
+ 138, 223, 52, 20, 1, 225, 138, 234, 166, 20, 1, 225, 138, 229, 8, 20, 1,
+ 225, 138, 229, 57, 20, 1, 225, 138, 220, 8, 20, 1, 225, 138, 224, 148,
+ 20, 1, 225, 138, 244, 38, 20, 1, 225, 138, 212, 65, 20, 1, 225, 138, 232,
+ 242, 20, 1, 225, 138, 232, 120, 20, 1, 225, 138, 234, 29, 20, 1, 225,
+ 138, 231, 115, 20, 1, 225, 138, 223, 84, 20, 1, 225, 138, 185, 20, 1,
+ 225, 138, 230, 162, 20, 1, 225, 138, 231, 123, 20, 1, 225, 138, 216, 231,
+ 20, 1, 225, 138, 233, 252, 20, 1, 225, 138, 221, 252, 20, 1, 225, 138,
+ 212, 115, 95, 1, 190, 95, 1, 252, 192, 95, 1, 8, 190, 95, 1, 225, 43, 95,
+ 1, 185, 95, 1, 230, 234, 95, 1, 254, 24, 185, 95, 1, 244, 197, 95, 1,
+ 214, 27, 95, 1, 213, 177, 95, 1, 217, 106, 95, 1, 248, 222, 95, 1, 8,
+ 215, 157, 95, 1, 8, 217, 106, 95, 1, 215, 157, 95, 1, 248, 136, 95, 1,
+ 197, 95, 1, 228, 238, 95, 1, 8, 228, 111, 95, 1, 254, 24, 197, 95, 1,
+ 228, 111, 95, 1, 228, 97, 95, 1, 233, 136, 95, 1, 232, 62, 95, 1, 232,
+ 255, 95, 1, 232, 244, 95, 1, 216, 57, 95, 1, 247, 154, 95, 1, 216, 49,
+ 95, 1, 247, 153, 95, 1, 176, 95, 1, 243, 136, 95, 1, 8, 176, 95, 1, 224,
+ 89, 95, 1, 224, 67, 95, 1, 229, 78, 95, 1, 229, 29, 95, 1, 254, 24, 229,
+ 78, 95, 1, 162, 95, 1, 211, 165, 95, 1, 242, 250, 95, 1, 242, 227, 95, 1,
+ 215, 166, 95, 1, 246, 27, 95, 1, 227, 166, 95, 1, 227, 151, 95, 1, 215,
+ 176, 95, 1, 246, 34, 95, 1, 8, 215, 176, 95, 1, 8, 246, 34, 95, 1, 223,
+ 107, 215, 176, 95, 1, 220, 103, 95, 1, 218, 224, 95, 1, 210, 82, 95, 1,
+ 210, 14, 95, 1, 215, 184, 95, 1, 246, 39, 95, 1, 8, 215, 184, 95, 1, 206,
+ 95, 1, 210, 116, 95, 1, 210, 15, 95, 1, 209, 243, 95, 1, 209, 223, 95, 1,
+ 254, 24, 209, 243, 95, 1, 209, 215, 95, 1, 209, 222, 95, 1, 212, 65, 95,
+ 1, 254, 210, 95, 1, 241, 190, 95, 1, 229, 193, 95, 5, 253, 223, 95, 5,
+ 223, 107, 213, 133, 95, 5, 223, 107, 253, 223, 95, 25, 5, 61, 95, 25, 5,
+ 255, 74, 95, 25, 5, 254, 206, 95, 25, 5, 254, 124, 95, 25, 5, 254, 116,
+ 95, 25, 5, 76, 95, 25, 5, 226, 184, 95, 25, 5, 211, 227, 95, 25, 5, 212,
+ 98, 95, 25, 5, 75, 95, 25, 5, 245, 151, 95, 25, 5, 245, 139, 95, 25, 5,
+ 226, 233, 95, 25, 5, 73, 95, 25, 5, 240, 120, 95, 25, 5, 240, 119, 95,
+ 25, 5, 240, 118, 95, 25, 5, 235, 190, 95, 25, 5, 236, 61, 95, 25, 5, 236,
+ 34, 95, 25, 5, 235, 157, 95, 25, 5, 235, 232, 95, 25, 5, 70, 95, 25, 5,
214, 229, 95, 25, 5, 214, 228, 95, 25, 5, 214, 227, 95, 25, 5, 214, 118,
95, 25, 5, 214, 211, 95, 25, 5, 214, 178, 95, 25, 5, 211, 117, 95, 25, 5,
- 211, 8, 95, 25, 5, 254, 243, 95, 25, 5, 254, 239, 95, 25, 5, 245, 86, 95,
- 25, 5, 222, 183, 245, 86, 95, 25, 5, 245, 92, 95, 25, 5, 222, 183, 245,
- 92, 95, 25, 5, 254, 201, 95, 25, 5, 245, 195, 95, 25, 5, 253, 192, 95,
- 25, 5, 226, 134, 95, 25, 5, 230, 25, 95, 25, 5, 229, 79, 95, 138, 222,
- 251, 95, 138, 216, 14, 222, 251, 95, 138, 48, 95, 138, 51, 95, 1, 216,
- 28, 95, 1, 216, 27, 95, 1, 216, 26, 95, 1, 216, 25, 95, 1, 216, 24, 95,
- 1, 216, 23, 95, 1, 216, 22, 95, 1, 223, 106, 216, 29, 95, 1, 223, 106,
- 216, 28, 95, 1, 223, 106, 216, 26, 95, 1, 223, 106, 216, 25, 95, 1, 223,
- 106, 216, 24, 95, 1, 223, 106, 216, 22, 56, 1, 254, 23, 75, 141, 1, 254,
- 23, 211, 47, 49, 28, 16, 224, 154, 49, 28, 16, 248, 158, 49, 28, 16, 225,
- 175, 49, 28, 16, 226, 113, 245, 178, 49, 28, 16, 226, 113, 247, 201, 49,
- 28, 16, 214, 16, 245, 178, 49, 28, 16, 214, 16, 247, 201, 49, 28, 16,
- 234, 197, 49, 28, 16, 217, 169, 49, 28, 16, 226, 9, 49, 28, 16, 210, 217,
- 49, 28, 16, 210, 218, 247, 201, 49, 28, 16, 233, 234, 49, 28, 16, 254,
- 68, 245, 178, 49, 28, 16, 245, 26, 245, 178, 49, 28, 16, 217, 2, 49, 28,
- 16, 234, 161, 49, 28, 16, 254, 58, 49, 28, 16, 254, 59, 247, 201, 49, 28,
- 16, 217, 175, 49, 28, 16, 216, 159, 49, 28, 16, 226, 206, 254, 21, 49,
- 28, 16, 242, 159, 254, 21, 49, 28, 16, 224, 153, 49, 28, 16, 250, 149,
- 49, 28, 16, 214, 6, 49, 28, 16, 235, 164, 254, 21, 49, 28, 16, 234, 163,
- 254, 21, 49, 28, 16, 234, 162, 254, 21, 49, 28, 16, 221, 213, 49, 28, 16,
- 226, 0, 49, 28, 16, 218, 146, 254, 61, 49, 28, 16, 226, 112, 254, 21, 49,
- 28, 16, 214, 15, 254, 21, 49, 28, 16, 254, 62, 254, 21, 49, 28, 16, 254,
- 56, 49, 28, 16, 234, 37, 49, 28, 16, 223, 46, 49, 28, 16, 225, 106, 254,
- 21, 49, 28, 16, 216, 83, 49, 28, 16, 254, 121, 49, 28, 16, 221, 159, 49,
- 28, 16, 217, 178, 254, 21, 49, 28, 16, 217, 178, 231, 40, 218, 144, 49,
- 28, 16, 226, 107, 254, 21, 49, 28, 16, 216, 190, 49, 28, 16, 233, 27, 49,
- 28, 16, 246, 41, 49, 28, 16, 215, 227, 49, 28, 16, 216, 232, 49, 28, 16,
- 233, 237, 49, 28, 16, 254, 68, 245, 26, 229, 95, 49, 28, 16, 243, 236,
- 254, 21, 49, 28, 16, 236, 12, 49, 28, 16, 215, 199, 254, 21, 49, 28, 16,
- 234, 200, 215, 198, 49, 28, 16, 225, 200, 49, 28, 16, 224, 158, 49, 28,
- 16, 234, 11, 49, 28, 16, 250, 80, 254, 21, 49, 28, 16, 223, 146, 49, 28,
- 16, 226, 12, 254, 21, 49, 28, 16, 226, 10, 254, 21, 49, 28, 16, 240, 109,
- 49, 28, 16, 229, 203, 49, 28, 16, 225, 156, 49, 28, 16, 234, 12, 254,
- 149, 49, 28, 16, 215, 199, 254, 149, 49, 28, 16, 218, 123, 49, 28, 16,
- 242, 123, 49, 28, 16, 235, 164, 229, 95, 49, 28, 16, 226, 206, 229, 95,
- 49, 28, 16, 226, 113, 229, 95, 49, 28, 16, 225, 155, 49, 28, 16, 233,
- 254, 49, 28, 16, 225, 154, 49, 28, 16, 233, 236, 49, 28, 16, 225, 201,
- 229, 95, 49, 28, 16, 234, 162, 229, 96, 254, 96, 49, 28, 16, 234, 163,
- 229, 96, 254, 96, 49, 28, 16, 210, 215, 49, 28, 16, 254, 59, 229, 95, 49,
- 28, 16, 254, 60, 217, 176, 229, 95, 49, 28, 16, 210, 216, 49, 28, 16,
- 233, 235, 49, 28, 16, 245, 173, 49, 28, 16, 250, 150, 49, 28, 16, 230,
- 198, 235, 163, 49, 28, 16, 214, 16, 229, 95, 49, 28, 16, 225, 106, 229,
- 95, 49, 28, 16, 224, 159, 229, 95, 49, 28, 16, 226, 203, 49, 28, 16, 254,
- 84, 49, 28, 16, 232, 58, 49, 28, 16, 226, 10, 229, 95, 49, 28, 16, 226,
- 12, 229, 95, 49, 28, 16, 245, 60, 226, 11, 49, 28, 16, 233, 153, 49, 28,
- 16, 254, 85, 49, 28, 16, 215, 199, 229, 95, 49, 28, 16, 245, 176, 49, 28,
- 16, 217, 178, 229, 95, 49, 28, 16, 217, 170, 49, 28, 16, 250, 80, 229,
- 95, 49, 28, 16, 245, 106, 49, 28, 16, 221, 160, 229, 95, 49, 28, 16, 211,
- 151, 234, 37, 49, 28, 16, 215, 196, 49, 28, 16, 224, 160, 49, 28, 16,
- 215, 200, 49, 28, 16, 215, 197, 49, 28, 16, 224, 157, 49, 28, 16, 215,
- 195, 49, 28, 16, 224, 156, 49, 28, 16, 242, 158, 49, 28, 16, 254, 14, 49,
- 28, 16, 245, 60, 254, 14, 49, 28, 16, 226, 107, 229, 95, 49, 28, 16, 216,
- 189, 245, 69, 49, 28, 16, 216, 189, 245, 25, 49, 28, 16, 216, 191, 254,
- 63, 49, 28, 16, 216, 184, 234, 247, 254, 55, 49, 28, 16, 234, 199, 49,
- 28, 16, 245, 139, 49, 28, 16, 211, 11, 234, 196, 49, 28, 16, 211, 11,
- 254, 96, 49, 28, 16, 218, 145, 49, 28, 16, 234, 38, 254, 96, 49, 28, 16,
- 247, 202, 254, 21, 49, 28, 16, 233, 238, 254, 21, 49, 28, 16, 233, 238,
- 254, 149, 49, 28, 16, 233, 238, 229, 95, 49, 28, 16, 254, 62, 229, 95,
- 49, 28, 16, 254, 64, 49, 28, 16, 247, 201, 49, 28, 16, 215, 210, 49, 28,
- 16, 216, 224, 49, 28, 16, 234, 2, 49, 28, 16, 233, 32, 245, 134, 250, 71,
- 49, 28, 16, 233, 32, 246, 42, 250, 72, 49, 28, 16, 233, 32, 215, 212,
- 250, 72, 49, 28, 16, 233, 32, 216, 234, 250, 72, 49, 28, 16, 233, 32,
- 236, 7, 250, 71, 49, 28, 16, 242, 159, 229, 96, 254, 96, 49, 28, 16, 242,
- 159, 226, 1, 254, 10, 49, 28, 16, 242, 159, 226, 1, 248, 29, 49, 28, 16,
- 247, 225, 49, 28, 16, 247, 226, 226, 1, 254, 11, 234, 196, 49, 28, 16,
- 247, 226, 226, 1, 254, 11, 254, 96, 49, 28, 16, 247, 226, 226, 1, 248,
- 29, 49, 28, 16, 215, 216, 49, 28, 16, 254, 15, 49, 28, 16, 236, 14, 49,
- 28, 16, 247, 246, 49, 28, 16, 254, 211, 225, 0, 254, 16, 49, 28, 16, 254,
- 211, 254, 13, 49, 28, 16, 254, 211, 254, 16, 49, 28, 16, 254, 211, 231,
- 34, 49, 28, 16, 254, 211, 231, 45, 49, 28, 16, 254, 211, 242, 160, 49,
- 28, 16, 254, 211, 242, 157, 49, 28, 16, 254, 211, 225, 0, 242, 160, 49,
- 28, 16, 231, 151, 224, 165, 240, 107, 49, 28, 16, 231, 151, 254, 151,
- 224, 165, 240, 107, 49, 28, 16, 231, 151, 248, 28, 240, 107, 49, 28, 16,
- 231, 151, 254, 151, 248, 28, 240, 107, 49, 28, 16, 231, 151, 215, 205,
- 240, 107, 49, 28, 16, 231, 151, 215, 217, 49, 28, 16, 231, 151, 216, 228,
- 240, 107, 49, 28, 16, 231, 151, 216, 228, 233, 35, 240, 107, 49, 28, 16,
- 231, 151, 233, 35, 240, 107, 49, 28, 16, 231, 151, 225, 39, 240, 107, 49,
- 28, 16, 235, 169, 216, 251, 240, 108, 49, 28, 16, 254, 60, 216, 251, 240,
- 108, 49, 28, 16, 244, 172, 216, 225, 49, 28, 16, 244, 172, 230, 143, 49,
- 28, 16, 244, 172, 247, 230, 49, 28, 16, 231, 151, 214, 10, 240, 107, 49,
- 28, 16, 231, 151, 224, 164, 240, 107, 49, 28, 16, 231, 151, 225, 39, 216,
- 228, 240, 107, 49, 28, 16, 242, 155, 230, 26, 254, 63, 49, 28, 16, 242,
- 155, 230, 26, 247, 200, 49, 28, 16, 245, 148, 234, 247, 243, 236, 213,
- 124, 49, 28, 16, 236, 13, 49, 28, 16, 236, 11, 49, 28, 16, 243, 236, 254,
- 22, 248, 27, 240, 106, 49, 28, 16, 243, 236, 247, 244, 190, 49, 28, 16,
- 243, 236, 247, 244, 229, 203, 49, 28, 16, 243, 236, 229, 198, 240, 107,
- 49, 28, 16, 243, 236, 247, 244, 248, 3, 49, 28, 16, 243, 236, 219, 102,
- 247, 243, 248, 3, 49, 28, 16, 243, 236, 247, 244, 234, 182, 49, 28, 16,
- 243, 236, 247, 244, 210, 23, 49, 28, 16, 243, 236, 247, 244, 228, 234,
- 234, 196, 49, 28, 16, 243, 236, 247, 244, 228, 234, 254, 96, 49, 28, 16,
- 243, 236, 231, 191, 250, 73, 247, 230, 49, 28, 16, 243, 236, 231, 191,
- 250, 73, 230, 143, 49, 28, 16, 244, 122, 219, 102, 250, 73, 214, 9, 49,
- 28, 16, 243, 236, 219, 102, 250, 73, 217, 179, 49, 28, 16, 243, 236, 229,
- 97, 49, 28, 16, 250, 74, 209, 249, 49, 28, 16, 250, 74, 234, 36, 49, 28,
- 16, 250, 74, 219, 9, 49, 28, 16, 243, 236, 240, 154, 211, 10, 216, 229,
- 49, 28, 16, 243, 236, 245, 149, 254, 86, 49, 28, 16, 211, 10, 215, 206,
- 49, 28, 16, 247, 238, 215, 206, 49, 28, 16, 247, 238, 216, 229, 49, 28,
- 16, 247, 238, 254, 65, 246, 42, 247, 139, 49, 28, 16, 247, 238, 230, 141,
- 216, 233, 247, 139, 49, 28, 16, 247, 238, 247, 222, 245, 36, 247, 139,
- 49, 28, 16, 247, 238, 215, 214, 226, 211, 247, 139, 49, 28, 16, 211, 10,
- 254, 65, 246, 42, 247, 139, 49, 28, 16, 211, 10, 230, 141, 216, 233, 247,
- 139, 49, 28, 16, 211, 10, 247, 222, 245, 36, 247, 139, 49, 28, 16, 211,
- 10, 215, 214, 226, 211, 247, 139, 49, 28, 16, 243, 49, 247, 237, 49, 28,
- 16, 243, 49, 211, 9, 49, 28, 16, 247, 245, 254, 65, 230, 199, 49, 28, 16,
- 247, 245, 254, 65, 231, 73, 49, 28, 16, 247, 245, 247, 201, 49, 28, 16,
- 247, 245, 216, 182, 49, 28, 16, 219, 163, 216, 182, 49, 28, 16, 219, 163,
- 216, 183, 247, 186, 49, 28, 16, 219, 163, 216, 183, 215, 207, 49, 28, 16,
- 219, 163, 216, 183, 216, 222, 49, 28, 16, 219, 163, 253, 244, 49, 28, 16,
- 219, 163, 253, 245, 247, 186, 49, 28, 16, 219, 163, 253, 245, 215, 207,
- 49, 28, 16, 219, 163, 253, 245, 216, 222, 49, 28, 16, 247, 223, 243, 30,
- 49, 28, 16, 247, 229, 226, 134, 49, 28, 16, 218, 137, 49, 28, 16, 254, 7,
- 190, 49, 28, 16, 254, 7, 213, 124, 49, 28, 16, 254, 7, 243, 135, 49, 28,
- 16, 254, 7, 248, 3, 49, 28, 16, 254, 7, 234, 182, 49, 28, 16, 254, 7,
- 210, 23, 49, 28, 16, 254, 7, 228, 233, 49, 28, 16, 234, 162, 229, 96,
- 231, 44, 49, 28, 16, 234, 163, 229, 96, 231, 44, 49, 28, 16, 234, 162,
- 229, 96, 234, 196, 49, 28, 16, 234, 163, 229, 96, 234, 196, 49, 28, 16,
- 234, 38, 234, 196, 49, 28, 16, 242, 159, 229, 96, 234, 196, 28, 16, 219,
- 155, 252, 135, 28, 16, 52, 252, 135, 28, 16, 40, 252, 135, 28, 16, 223,
- 50, 40, 252, 135, 28, 16, 248, 155, 252, 135, 28, 16, 219, 251, 252, 135,
- 28, 16, 43, 223, 77, 50, 28, 16, 44, 223, 77, 50, 28, 16, 223, 77, 247,
- 118, 28, 16, 248, 196, 221, 163, 28, 16, 248, 222, 250, 249, 28, 16, 221,
- 163, 28, 16, 249, 234, 28, 16, 223, 75, 244, 111, 28, 16, 223, 75, 244,
- 110, 28, 16, 223, 75, 244, 109, 28, 16, 244, 131, 28, 16, 244, 132, 51,
- 28, 16, 251, 148, 78, 28, 16, 251, 24, 28, 16, 251, 159, 28, 16, 127, 28,
- 16, 226, 193, 218, 163, 28, 16, 215, 57, 218, 163, 28, 16, 216, 142, 218,
- 163, 28, 16, 244, 10, 218, 163, 28, 16, 244, 80, 218, 163, 28, 16, 219,
- 124, 218, 163, 28, 16, 219, 122, 243, 250, 28, 16, 244, 8, 243, 250, 28,
- 16, 243, 203, 250, 14, 28, 16, 243, 203, 250, 15, 226, 136, 254, 142, 28,
- 16, 243, 203, 250, 15, 226, 136, 252, 122, 28, 16, 251, 67, 250, 14, 28,
- 16, 245, 7, 250, 14, 28, 16, 245, 7, 250, 15, 226, 136, 254, 142, 28, 16,
- 245, 7, 250, 15, 226, 136, 252, 122, 28, 16, 246, 83, 250, 13, 28, 16,
- 246, 83, 250, 12, 28, 16, 230, 85, 231, 90, 223, 61, 28, 16, 52, 220, 75,
- 28, 16, 52, 244, 65, 28, 16, 244, 66, 214, 163, 28, 16, 244, 66, 246,
- 106, 28, 16, 229, 188, 214, 163, 28, 16, 229, 188, 246, 106, 28, 16, 220,
- 76, 214, 163, 28, 16, 220, 76, 246, 106, 28, 16, 224, 22, 138, 220, 75,
- 28, 16, 224, 22, 138, 244, 65, 28, 16, 249, 216, 216, 87, 28, 16, 249,
- 85, 216, 87, 28, 16, 226, 136, 254, 142, 28, 16, 226, 136, 252, 122, 28,
- 16, 224, 4, 254, 142, 28, 16, 224, 4, 252, 122, 28, 16, 230, 88, 223, 61,
- 28, 16, 211, 251, 223, 61, 28, 16, 163, 223, 61, 28, 16, 224, 22, 223,
- 61, 28, 16, 245, 189, 223, 61, 28, 16, 219, 118, 223, 61, 28, 16, 216,
- 160, 223, 61, 28, 16, 219, 110, 223, 61, 28, 16, 123, 240, 211, 215, 71,
- 223, 61, 28, 16, 211, 179, 228, 43, 28, 16, 96, 228, 43, 28, 16, 250, 36,
- 211, 179, 228, 43, 28, 16, 42, 228, 44, 211, 253, 28, 16, 42, 228, 44,
- 251, 221, 28, 16, 215, 226, 228, 44, 120, 211, 253, 28, 16, 215, 226,
- 228, 44, 120, 251, 221, 28, 16, 215, 226, 228, 44, 43, 211, 253, 28, 16,
- 215, 226, 228, 44, 43, 251, 221, 28, 16, 215, 226, 228, 44, 44, 211, 253,
- 28, 16, 215, 226, 228, 44, 44, 251, 221, 28, 16, 215, 226, 228, 44, 124,
- 211, 253, 28, 16, 215, 226, 228, 44, 124, 251, 221, 28, 16, 215, 226,
- 228, 44, 120, 44, 211, 253, 28, 16, 215, 226, 228, 44, 120, 44, 251, 221,
- 28, 16, 230, 129, 228, 44, 211, 253, 28, 16, 230, 129, 228, 44, 251, 221,
- 28, 16, 215, 223, 228, 44, 124, 211, 253, 28, 16, 215, 223, 228, 44, 124,
- 251, 221, 28, 16, 226, 4, 228, 43, 28, 16, 213, 132, 228, 43, 28, 16,
- 228, 44, 251, 221, 28, 16, 227, 203, 228, 43, 28, 16, 249, 241, 228, 44,
- 211, 253, 28, 16, 249, 241, 228, 44, 251, 221, 28, 16, 251, 146, 28, 16,
- 211, 251, 228, 47, 28, 16, 163, 228, 47, 28, 16, 224, 22, 228, 47, 28,
- 16, 245, 189, 228, 47, 28, 16, 219, 118, 228, 47, 28, 16, 216, 160, 228,
- 47, 28, 16, 219, 110, 228, 47, 28, 16, 123, 240, 211, 215, 71, 228, 47,
- 28, 16, 38, 218, 139, 28, 16, 38, 218, 240, 218, 139, 28, 16, 38, 215,
- 234, 28, 16, 38, 215, 233, 28, 16, 38, 215, 232, 28, 16, 244, 101, 215,
- 234, 28, 16, 244, 101, 215, 233, 28, 16, 244, 101, 215, 232, 28, 16, 38,
- 253, 189, 247, 120, 28, 16, 38, 244, 72, 28, 16, 38, 244, 71, 28, 16, 38,
- 244, 70, 28, 16, 38, 244, 69, 28, 16, 38, 244, 68, 28, 16, 252, 58, 252,
- 74, 28, 16, 245, 143, 252, 74, 28, 16, 252, 58, 216, 111, 28, 16, 245,
- 143, 216, 111, 28, 16, 252, 58, 219, 80, 28, 16, 245, 143, 219, 80, 28,
- 16, 252, 58, 225, 115, 28, 16, 245, 143, 225, 115, 28, 16, 38, 255, 14,
- 28, 16, 38, 218, 165, 28, 16, 38, 216, 238, 28, 16, 38, 218, 166, 28, 16,
- 38, 231, 162, 28, 16, 38, 231, 161, 28, 16, 38, 255, 13, 28, 16, 38, 232,
- 112, 28, 16, 253, 254, 214, 163, 28, 16, 253, 254, 246, 106, 28, 16, 38,
- 247, 135, 28, 16, 38, 222, 231, 28, 16, 38, 244, 58, 28, 16, 38, 219, 76,
- 28, 16, 38, 252, 38, 28, 16, 38, 52, 216, 19, 28, 16, 38, 215, 211, 216,
- 19, 28, 16, 222, 235, 28, 16, 218, 75, 28, 16, 210, 159, 28, 16, 225,
- 107, 28, 16, 231, 25, 28, 16, 244, 17, 28, 16, 249, 138, 28, 16, 248, 78,
- 28, 16, 242, 150, 228, 48, 219, 95, 28, 16, 242, 150, 228, 48, 228, 75,
- 219, 95, 28, 16, 216, 0, 28, 16, 215, 95, 28, 16, 235, 193, 215, 95, 28,
- 16, 215, 96, 219, 95, 28, 16, 215, 96, 214, 163, 28, 16, 226, 148, 218,
- 102, 28, 16, 226, 148, 218, 99, 28, 16, 226, 148, 218, 98, 28, 16, 226,
- 148, 218, 97, 28, 16, 226, 148, 218, 96, 28, 16, 226, 148, 218, 95, 28,
- 16, 226, 148, 218, 94, 28, 16, 226, 148, 218, 93, 28, 16, 226, 148, 218,
- 92, 28, 16, 226, 148, 218, 101, 28, 16, 226, 148, 218, 100, 28, 16, 241,
- 245, 28, 16, 229, 105, 28, 16, 245, 143, 64, 218, 133, 28, 16, 248, 71,
- 219, 95, 28, 16, 38, 124, 251, 169, 28, 16, 38, 120, 251, 169, 28, 16,
- 38, 242, 0, 28, 16, 38, 219, 67, 225, 43, 28, 16, 225, 216, 78, 28, 16,
- 225, 216, 120, 78, 28, 16, 163, 225, 216, 78, 28, 16, 242, 182, 214, 163,
- 28, 16, 242, 182, 246, 106, 28, 16, 2, 244, 100, 28, 16, 248, 180, 28,
- 16, 248, 181, 254, 154, 28, 16, 231, 133, 28, 16, 232, 129, 28, 16, 251,
- 143, 28, 16, 220, 154, 211, 253, 28, 16, 220, 154, 251, 221, 28, 16, 230,
- 184, 28, 16, 230, 185, 251, 221, 28, 16, 220, 148, 211, 253, 28, 16, 220,
- 148, 251, 221, 28, 16, 243, 220, 211, 253, 28, 16, 243, 220, 251, 221,
- 28, 16, 232, 130, 225, 180, 223, 61, 28, 16, 232, 130, 236, 4, 223, 61,
- 28, 16, 251, 144, 223, 61, 28, 16, 220, 154, 223, 61, 28, 16, 230, 185,
- 223, 61, 28, 16, 220, 148, 223, 61, 28, 16, 216, 249, 225, 178, 249, 107,
- 224, 174, 225, 179, 28, 16, 216, 249, 225, 178, 249, 107, 224, 174, 236,
- 3, 28, 16, 216, 249, 225, 178, 249, 107, 224, 174, 225, 180, 247, 211,
- 28, 16, 216, 249, 236, 2, 249, 107, 224, 174, 225, 179, 28, 16, 216, 249,
- 236, 2, 249, 107, 224, 174, 236, 3, 28, 16, 216, 249, 236, 2, 249, 107,
- 224, 174, 236, 4, 247, 211, 28, 16, 216, 249, 236, 2, 249, 107, 224, 174,
- 236, 4, 247, 210, 28, 16, 216, 249, 236, 2, 249, 107, 224, 174, 236, 4,
- 247, 209, 28, 16, 249, 133, 28, 16, 242, 126, 251, 67, 250, 14, 28, 16,
- 242, 126, 245, 7, 250, 14, 28, 16, 42, 253, 158, 28, 16, 213, 151, 28,
- 16, 225, 14, 28, 16, 250, 5, 28, 16, 221, 203, 28, 16, 250, 9, 28, 16,
- 216, 7, 28, 16, 224, 242, 28, 16, 224, 243, 244, 60, 28, 16, 221, 204,
- 244, 60, 28, 16, 216, 8, 223, 58, 28, 16, 225, 163, 218, 66, 26, 213,
- 137, 187, 217, 229, 26, 213, 137, 187, 217, 218, 26, 213, 137, 187, 217,
- 208, 26, 213, 137, 187, 217, 201, 26, 213, 137, 187, 217, 193, 26, 213,
- 137, 187, 217, 187, 26, 213, 137, 187, 217, 186, 26, 213, 137, 187, 217,
- 185, 26, 213, 137, 187, 217, 184, 26, 213, 137, 187, 217, 228, 26, 213,
- 137, 187, 217, 227, 26, 213, 137, 187, 217, 226, 26, 213, 137, 187, 217,
- 225, 26, 213, 137, 187, 217, 224, 26, 213, 137, 187, 217, 223, 26, 213,
- 137, 187, 217, 222, 26, 213, 137, 187, 217, 221, 26, 213, 137, 187, 217,
- 220, 26, 213, 137, 187, 217, 219, 26, 213, 137, 187, 217, 217, 26, 213,
- 137, 187, 217, 216, 26, 213, 137, 187, 217, 215, 26, 213, 137, 187, 217,
- 214, 26, 213, 137, 187, 217, 213, 26, 213, 137, 187, 217, 192, 26, 213,
- 137, 187, 217, 191, 26, 213, 137, 187, 217, 190, 26, 213, 137, 187, 217,
- 189, 26, 213, 137, 187, 217, 188, 26, 235, 214, 187, 217, 229, 26, 235,
- 214, 187, 217, 218, 26, 235, 214, 187, 217, 201, 26, 235, 214, 187, 217,
- 193, 26, 235, 214, 187, 217, 186, 26, 235, 214, 187, 217, 185, 26, 235,
- 214, 187, 217, 227, 26, 235, 214, 187, 217, 226, 26, 235, 214, 187, 217,
- 225, 26, 235, 214, 187, 217, 224, 26, 235, 214, 187, 217, 221, 26, 235,
- 214, 187, 217, 220, 26, 235, 214, 187, 217, 219, 26, 235, 214, 187, 217,
- 214, 26, 235, 214, 187, 217, 213, 26, 235, 214, 187, 217, 212, 26, 235,
- 214, 187, 217, 211, 26, 235, 214, 187, 217, 210, 26, 235, 214, 187, 217,
- 209, 26, 235, 214, 187, 217, 207, 26, 235, 214, 187, 217, 206, 26, 235,
- 214, 187, 217, 205, 26, 235, 214, 187, 217, 204, 26, 235, 214, 187, 217,
- 203, 26, 235, 214, 187, 217, 202, 26, 235, 214, 187, 217, 200, 26, 235,
- 214, 187, 217, 199, 26, 235, 214, 187, 217, 198, 26, 235, 214, 187, 217,
- 197, 26, 235, 214, 187, 217, 196, 26, 235, 214, 187, 217, 195, 26, 235,
- 214, 187, 217, 194, 26, 235, 214, 187, 217, 192, 26, 235, 214, 187, 217,
- 191, 26, 235, 214, 187, 217, 190, 26, 235, 214, 187, 217, 189, 26, 235,
- 214, 187, 217, 188, 38, 26, 28, 215, 208, 38, 26, 28, 216, 223, 38, 26,
- 28, 225, 188, 26, 28, 233, 31, 230, 142, 31, 245, 223, 247, 224, 31, 241,
- 222, 245, 223, 247, 224, 31, 240, 214, 245, 223, 247, 224, 31, 245, 222,
- 241, 223, 247, 224, 31, 245, 222, 240, 213, 247, 224, 31, 245, 223, 180,
- 31, 250, 174, 180, 31, 243, 229, 250, 35, 180, 31, 230, 177, 180, 31,
- 252, 130, 180, 31, 234, 179, 219, 79, 180, 31, 249, 179, 180, 31, 253,
- 233, 180, 31, 226, 163, 180, 31, 251, 153, 226, 130, 180, 31, 248, 73,
- 177, 247, 179, 180, 31, 247, 176, 180, 31, 210, 222, 180, 31, 235, 247,
- 180, 31, 225, 197, 180, 31, 223, 127, 180, 31, 249, 189, 180, 31, 241,
- 60, 252, 184, 180, 31, 212, 59, 180, 31, 244, 39, 180, 31, 254, 246, 180,
- 31, 223, 89, 180, 31, 223, 65, 180, 31, 245, 221, 180, 31, 235, 53, 180,
- 31, 249, 184, 180, 31, 245, 142, 180, 31, 246, 52, 180, 31, 250, 145,
- 180, 31, 248, 82, 180, 31, 23, 223, 64, 180, 31, 226, 81, 180, 31, 233,
- 34, 180, 31, 249, 254, 180, 31, 234, 77, 180, 31, 243, 86, 180, 31, 218,
- 112, 180, 31, 224, 130, 180, 31, 243, 228, 180, 31, 223, 66, 180, 31,
- 233, 71, 177, 230, 157, 180, 31, 223, 62, 180, 31, 242, 168, 216, 42,
- 231, 76, 180, 31, 245, 144, 180, 31, 218, 124, 180, 31, 242, 128, 180,
- 31, 245, 136, 180, 31, 225, 235, 180, 31, 222, 225, 180, 31, 244, 59,
- 180, 31, 214, 8, 177, 212, 44, 180, 31, 249, 193, 180, 31, 231, 89, 180,
- 31, 245, 61, 180, 31, 214, 172, 180, 31, 247, 212, 180, 31, 250, 0, 230,
- 110, 180, 31, 242, 106, 180, 31, 243, 87, 235, 255, 180, 31, 231, 141,
- 180, 31, 255, 10, 180, 31, 245, 157, 180, 31, 246, 109, 180, 31, 212, 42,
- 180, 31, 219, 150, 180, 31, 235, 222, 180, 31, 248, 42, 180, 31, 248,
- 160, 180, 31, 247, 208, 180, 31, 245, 29, 180, 31, 220, 115, 180, 31,
- 218, 128, 180, 31, 242, 2, 180, 31, 249, 212, 180, 31, 249, 251, 180, 31,
- 244, 177, 180, 31, 254, 212, 180, 31, 249, 211, 180, 31, 226, 197, 216,
- 196, 213, 242, 180, 31, 247, 232, 180, 31, 233, 124, 180, 31, 244, 13,
- 249, 149, 222, 202, 214, 174, 21, 110, 249, 149, 222, 202, 214, 174, 21,
- 105, 249, 149, 222, 202, 214, 174, 21, 158, 249, 149, 222, 202, 214, 174,
- 21, 161, 249, 149, 222, 202, 214, 174, 21, 189, 249, 149, 222, 202, 214,
- 174, 21, 194, 249, 149, 222, 202, 214, 174, 21, 198, 249, 149, 222, 202,
- 214, 174, 21, 195, 249, 149, 222, 202, 214, 174, 21, 200, 249, 149, 222,
- 202, 216, 243, 21, 110, 249, 149, 222, 202, 216, 243, 21, 105, 249, 149,
- 222, 202, 216, 243, 21, 158, 249, 149, 222, 202, 216, 243, 21, 161, 249,
- 149, 222, 202, 216, 243, 21, 189, 249, 149, 222, 202, 216, 243, 21, 194,
- 249, 149, 222, 202, 216, 243, 21, 198, 249, 149, 222, 202, 216, 243, 21,
- 195, 249, 149, 222, 202, 216, 243, 21, 200, 11, 23, 6, 61, 11, 23, 6,
- 253, 158, 11, 23, 6, 251, 66, 11, 23, 6, 249, 60, 11, 23, 6, 75, 11, 23,
- 6, 245, 6, 11, 23, 6, 243, 202, 11, 23, 6, 242, 60, 11, 23, 6, 73, 11,
- 23, 6, 235, 144, 11, 23, 6, 235, 23, 11, 23, 6, 156, 11, 23, 6, 193, 11,
- 23, 6, 230, 25, 11, 23, 6, 76, 11, 23, 6, 226, 105, 11, 23, 6, 224, 96,
- 11, 23, 6, 153, 11, 23, 6, 222, 91, 11, 23, 6, 217, 152, 11, 23, 6, 70,
- 11, 23, 6, 214, 105, 11, 23, 6, 212, 98, 11, 23, 6, 211, 178, 11, 23, 6,
- 211, 117, 11, 23, 6, 210, 159, 11, 23, 4, 61, 11, 23, 4, 253, 158, 11,
- 23, 4, 251, 66, 11, 23, 4, 249, 60, 11, 23, 4, 75, 11, 23, 4, 245, 6, 11,
- 23, 4, 243, 202, 11, 23, 4, 242, 60, 11, 23, 4, 73, 11, 23, 4, 235, 144,
- 11, 23, 4, 235, 23, 11, 23, 4, 156, 11, 23, 4, 193, 11, 23, 4, 230, 25,
- 11, 23, 4, 76, 11, 23, 4, 226, 105, 11, 23, 4, 224, 96, 11, 23, 4, 153,
- 11, 23, 4, 222, 91, 11, 23, 4, 217, 152, 11, 23, 4, 70, 11, 23, 4, 214,
- 105, 11, 23, 4, 212, 98, 11, 23, 4, 211, 178, 11, 23, 4, 211, 117, 11,
- 23, 4, 210, 159, 11, 32, 6, 61, 11, 32, 6, 253, 158, 11, 32, 6, 251, 66,
- 11, 32, 6, 249, 60, 11, 32, 6, 75, 11, 32, 6, 245, 6, 11, 32, 6, 243,
- 202, 11, 32, 6, 242, 60, 11, 32, 6, 73, 11, 32, 6, 235, 144, 11, 32, 6,
- 235, 23, 11, 32, 6, 156, 11, 32, 6, 193, 11, 32, 6, 230, 25, 11, 32, 6,
- 76, 11, 32, 6, 226, 105, 11, 32, 6, 224, 96, 11, 32, 6, 153, 11, 32, 6,
- 222, 91, 11, 32, 6, 217, 152, 11, 32, 6, 70, 11, 32, 6, 214, 105, 11, 32,
- 6, 212, 98, 11, 32, 6, 211, 178, 11, 32, 6, 211, 117, 11, 32, 6, 210,
- 159, 11, 32, 4, 61, 11, 32, 4, 253, 158, 11, 32, 4, 251, 66, 11, 32, 4,
- 249, 60, 11, 32, 4, 75, 11, 32, 4, 245, 6, 11, 32, 4, 243, 202, 11, 32,
- 4, 73, 11, 32, 4, 235, 144, 11, 32, 4, 235, 23, 11, 32, 4, 156, 11, 32,
- 4, 193, 11, 32, 4, 230, 25, 11, 32, 4, 76, 11, 32, 4, 226, 105, 11, 32,
- 4, 224, 96, 11, 32, 4, 153, 11, 32, 4, 222, 91, 11, 32, 4, 217, 152, 11,
- 32, 4, 70, 11, 32, 4, 214, 105, 11, 32, 4, 212, 98, 11, 32, 4, 211, 178,
- 11, 32, 4, 211, 117, 11, 32, 4, 210, 159, 11, 23, 32, 6, 61, 11, 23, 32,
- 6, 253, 158, 11, 23, 32, 6, 251, 66, 11, 23, 32, 6, 249, 60, 11, 23, 32,
- 6, 75, 11, 23, 32, 6, 245, 6, 11, 23, 32, 6, 243, 202, 11, 23, 32, 6,
- 242, 60, 11, 23, 32, 6, 73, 11, 23, 32, 6, 235, 144, 11, 23, 32, 6, 235,
- 23, 11, 23, 32, 6, 156, 11, 23, 32, 6, 193, 11, 23, 32, 6, 230, 25, 11,
- 23, 32, 6, 76, 11, 23, 32, 6, 226, 105, 11, 23, 32, 6, 224, 96, 11, 23,
- 32, 6, 153, 11, 23, 32, 6, 222, 91, 11, 23, 32, 6, 217, 152, 11, 23, 32,
- 6, 70, 11, 23, 32, 6, 214, 105, 11, 23, 32, 6, 212, 98, 11, 23, 32, 6,
- 211, 178, 11, 23, 32, 6, 211, 117, 11, 23, 32, 6, 210, 159, 11, 23, 32,
- 4, 61, 11, 23, 32, 4, 253, 158, 11, 23, 32, 4, 251, 66, 11, 23, 32, 4,
- 249, 60, 11, 23, 32, 4, 75, 11, 23, 32, 4, 245, 6, 11, 23, 32, 4, 243,
- 202, 11, 23, 32, 4, 242, 60, 11, 23, 32, 4, 73, 11, 23, 32, 4, 235, 144,
- 11, 23, 32, 4, 235, 23, 11, 23, 32, 4, 156, 11, 23, 32, 4, 193, 11, 23,
- 32, 4, 230, 25, 11, 23, 32, 4, 76, 11, 23, 32, 4, 226, 105, 11, 23, 32,
- 4, 224, 96, 11, 23, 32, 4, 153, 11, 23, 32, 4, 222, 91, 11, 23, 32, 4,
- 217, 152, 11, 23, 32, 4, 70, 11, 23, 32, 4, 214, 105, 11, 23, 32, 4, 212,
- 98, 11, 23, 32, 4, 211, 178, 11, 23, 32, 4, 211, 117, 11, 23, 32, 4, 210,
- 159, 11, 119, 6, 61, 11, 119, 6, 251, 66, 11, 119, 6, 249, 60, 11, 119,
- 6, 243, 202, 11, 119, 6, 235, 144, 11, 119, 6, 235, 23, 11, 119, 6, 230,
- 25, 11, 119, 6, 76, 11, 119, 6, 226, 105, 11, 119, 6, 224, 96, 11, 119,
- 6, 222, 91, 11, 119, 6, 217, 152, 11, 119, 6, 70, 11, 119, 6, 214, 105,
- 11, 119, 6, 212, 98, 11, 119, 6, 211, 178, 11, 119, 6, 211, 117, 11, 119,
- 6, 210, 159, 11, 119, 4, 61, 11, 119, 4, 253, 158, 11, 119, 4, 251, 66,
- 11, 119, 4, 249, 60, 11, 119, 4, 245, 6, 11, 119, 4, 242, 60, 11, 119, 4,
- 73, 11, 119, 4, 235, 144, 11, 119, 4, 235, 23, 11, 119, 4, 156, 11, 119,
- 4, 193, 11, 119, 4, 230, 25, 11, 119, 4, 226, 105, 11, 119, 4, 224, 96,
- 11, 119, 4, 153, 11, 119, 4, 222, 91, 11, 119, 4, 217, 152, 11, 119, 4,
- 70, 11, 119, 4, 214, 105, 11, 119, 4, 212, 98, 11, 119, 4, 211, 178, 11,
- 119, 4, 211, 117, 11, 119, 4, 210, 159, 11, 23, 119, 6, 61, 11, 23, 119,
- 6, 253, 158, 11, 23, 119, 6, 251, 66, 11, 23, 119, 6, 249, 60, 11, 23,
- 119, 6, 75, 11, 23, 119, 6, 245, 6, 11, 23, 119, 6, 243, 202, 11, 23,
- 119, 6, 242, 60, 11, 23, 119, 6, 73, 11, 23, 119, 6, 235, 144, 11, 23,
- 119, 6, 235, 23, 11, 23, 119, 6, 156, 11, 23, 119, 6, 193, 11, 23, 119,
- 6, 230, 25, 11, 23, 119, 6, 76, 11, 23, 119, 6, 226, 105, 11, 23, 119, 6,
- 224, 96, 11, 23, 119, 6, 153, 11, 23, 119, 6, 222, 91, 11, 23, 119, 6,
- 217, 152, 11, 23, 119, 6, 70, 11, 23, 119, 6, 214, 105, 11, 23, 119, 6,
- 212, 98, 11, 23, 119, 6, 211, 178, 11, 23, 119, 6, 211, 117, 11, 23, 119,
- 6, 210, 159, 11, 23, 119, 4, 61, 11, 23, 119, 4, 253, 158, 11, 23, 119,
- 4, 251, 66, 11, 23, 119, 4, 249, 60, 11, 23, 119, 4, 75, 11, 23, 119, 4,
- 245, 6, 11, 23, 119, 4, 243, 202, 11, 23, 119, 4, 242, 60, 11, 23, 119,
- 4, 73, 11, 23, 119, 4, 235, 144, 11, 23, 119, 4, 235, 23, 11, 23, 119, 4,
- 156, 11, 23, 119, 4, 193, 11, 23, 119, 4, 230, 25, 11, 23, 119, 4, 76,
- 11, 23, 119, 4, 226, 105, 11, 23, 119, 4, 224, 96, 11, 23, 119, 4, 153,
- 11, 23, 119, 4, 222, 91, 11, 23, 119, 4, 217, 152, 11, 23, 119, 4, 70,
- 11, 23, 119, 4, 214, 105, 11, 23, 119, 4, 212, 98, 11, 23, 119, 4, 211,
- 178, 11, 23, 119, 4, 211, 117, 11, 23, 119, 4, 210, 159, 11, 133, 6, 61,
- 11, 133, 6, 253, 158, 11, 133, 6, 249, 60, 11, 133, 6, 75, 11, 133, 6,
- 245, 6, 11, 133, 6, 243, 202, 11, 133, 6, 235, 144, 11, 133, 6, 235, 23,
- 11, 133, 6, 156, 11, 133, 6, 193, 11, 133, 6, 230, 25, 11, 133, 6, 76,
- 11, 133, 6, 226, 105, 11, 133, 6, 224, 96, 11, 133, 6, 222, 91, 11, 133,
- 6, 217, 152, 11, 133, 6, 70, 11, 133, 6, 214, 105, 11, 133, 6, 212, 98,
- 11, 133, 6, 211, 178, 11, 133, 6, 211, 117, 11, 133, 4, 61, 11, 133, 4,
- 253, 158, 11, 133, 4, 251, 66, 11, 133, 4, 249, 60, 11, 133, 4, 75, 11,
- 133, 4, 245, 6, 11, 133, 4, 243, 202, 11, 133, 4, 242, 60, 11, 133, 4,
- 73, 11, 133, 4, 235, 144, 11, 133, 4, 235, 23, 11, 133, 4, 156, 11, 133,
- 4, 193, 11, 133, 4, 230, 25, 11, 133, 4, 76, 11, 133, 4, 226, 105, 11,
- 133, 4, 224, 96, 11, 133, 4, 153, 11, 133, 4, 222, 91, 11, 133, 4, 217,
- 152, 11, 133, 4, 70, 11, 133, 4, 214, 105, 11, 133, 4, 212, 98, 11, 133,
- 4, 211, 178, 11, 133, 4, 211, 117, 11, 133, 4, 210, 159, 11, 139, 6, 61,
- 11, 139, 6, 253, 158, 11, 139, 6, 249, 60, 11, 139, 6, 75, 11, 139, 6,
- 245, 6, 11, 139, 6, 243, 202, 11, 139, 6, 73, 11, 139, 6, 235, 144, 11,
- 139, 6, 235, 23, 11, 139, 6, 156, 11, 139, 6, 193, 11, 139, 6, 76, 11,
- 139, 6, 222, 91, 11, 139, 6, 217, 152, 11, 139, 6, 70, 11, 139, 6, 214,
- 105, 11, 139, 6, 212, 98, 11, 139, 6, 211, 178, 11, 139, 6, 211, 117, 11,
- 139, 4, 61, 11, 139, 4, 253, 158, 11, 139, 4, 251, 66, 11, 139, 4, 249,
- 60, 11, 139, 4, 75, 11, 139, 4, 245, 6, 11, 139, 4, 243, 202, 11, 139, 4,
- 242, 60, 11, 139, 4, 73, 11, 139, 4, 235, 144, 11, 139, 4, 235, 23, 11,
- 139, 4, 156, 11, 139, 4, 193, 11, 139, 4, 230, 25, 11, 139, 4, 76, 11,
- 139, 4, 226, 105, 11, 139, 4, 224, 96, 11, 139, 4, 153, 11, 139, 4, 222,
- 91, 11, 139, 4, 217, 152, 11, 139, 4, 70, 11, 139, 4, 214, 105, 11, 139,
- 4, 212, 98, 11, 139, 4, 211, 178, 11, 139, 4, 211, 117, 11, 139, 4, 210,
- 159, 11, 23, 133, 6, 61, 11, 23, 133, 6, 253, 158, 11, 23, 133, 6, 251,
- 66, 11, 23, 133, 6, 249, 60, 11, 23, 133, 6, 75, 11, 23, 133, 6, 245, 6,
- 11, 23, 133, 6, 243, 202, 11, 23, 133, 6, 242, 60, 11, 23, 133, 6, 73,
- 11, 23, 133, 6, 235, 144, 11, 23, 133, 6, 235, 23, 11, 23, 133, 6, 156,
- 11, 23, 133, 6, 193, 11, 23, 133, 6, 230, 25, 11, 23, 133, 6, 76, 11, 23,
- 133, 6, 226, 105, 11, 23, 133, 6, 224, 96, 11, 23, 133, 6, 153, 11, 23,
- 133, 6, 222, 91, 11, 23, 133, 6, 217, 152, 11, 23, 133, 6, 70, 11, 23,
- 133, 6, 214, 105, 11, 23, 133, 6, 212, 98, 11, 23, 133, 6, 211, 178, 11,
- 23, 133, 6, 211, 117, 11, 23, 133, 6, 210, 159, 11, 23, 133, 4, 61, 11,
- 23, 133, 4, 253, 158, 11, 23, 133, 4, 251, 66, 11, 23, 133, 4, 249, 60,
- 11, 23, 133, 4, 75, 11, 23, 133, 4, 245, 6, 11, 23, 133, 4, 243, 202, 11,
- 23, 133, 4, 242, 60, 11, 23, 133, 4, 73, 11, 23, 133, 4, 235, 144, 11,
- 23, 133, 4, 235, 23, 11, 23, 133, 4, 156, 11, 23, 133, 4, 193, 11, 23,
- 133, 4, 230, 25, 11, 23, 133, 4, 76, 11, 23, 133, 4, 226, 105, 11, 23,
- 133, 4, 224, 96, 11, 23, 133, 4, 153, 11, 23, 133, 4, 222, 91, 11, 23,
- 133, 4, 217, 152, 11, 23, 133, 4, 70, 11, 23, 133, 4, 214, 105, 11, 23,
- 133, 4, 212, 98, 11, 23, 133, 4, 211, 178, 11, 23, 133, 4, 211, 117, 11,
- 23, 133, 4, 210, 159, 11, 35, 6, 61, 11, 35, 6, 253, 158, 11, 35, 6, 251,
- 66, 11, 35, 6, 249, 60, 11, 35, 6, 75, 11, 35, 6, 245, 6, 11, 35, 6, 243,
- 202, 11, 35, 6, 242, 60, 11, 35, 6, 73, 11, 35, 6, 235, 144, 11, 35, 6,
- 235, 23, 11, 35, 6, 156, 11, 35, 6, 193, 11, 35, 6, 230, 25, 11, 35, 6,
- 76, 11, 35, 6, 226, 105, 11, 35, 6, 224, 96, 11, 35, 6, 153, 11, 35, 6,
- 222, 91, 11, 35, 6, 217, 152, 11, 35, 6, 70, 11, 35, 6, 214, 105, 11, 35,
- 6, 212, 98, 11, 35, 6, 211, 178, 11, 35, 6, 211, 117, 11, 35, 6, 210,
- 159, 11, 35, 4, 61, 11, 35, 4, 253, 158, 11, 35, 4, 251, 66, 11, 35, 4,
- 249, 60, 11, 35, 4, 75, 11, 35, 4, 245, 6, 11, 35, 4, 243, 202, 11, 35,
- 4, 242, 60, 11, 35, 4, 73, 11, 35, 4, 235, 144, 11, 35, 4, 235, 23, 11,
- 35, 4, 156, 11, 35, 4, 193, 11, 35, 4, 230, 25, 11, 35, 4, 76, 11, 35, 4,
- 226, 105, 11, 35, 4, 224, 96, 11, 35, 4, 153, 11, 35, 4, 222, 91, 11, 35,
- 4, 217, 152, 11, 35, 4, 70, 11, 35, 4, 214, 105, 11, 35, 4, 212, 98, 11,
- 35, 4, 211, 178, 11, 35, 4, 211, 117, 11, 35, 4, 210, 159, 11, 35, 23, 6,
- 61, 11, 35, 23, 6, 253, 158, 11, 35, 23, 6, 251, 66, 11, 35, 23, 6, 249,
- 60, 11, 35, 23, 6, 75, 11, 35, 23, 6, 245, 6, 11, 35, 23, 6, 243, 202,
- 11, 35, 23, 6, 242, 60, 11, 35, 23, 6, 73, 11, 35, 23, 6, 235, 144, 11,
- 35, 23, 6, 235, 23, 11, 35, 23, 6, 156, 11, 35, 23, 6, 193, 11, 35, 23,
- 6, 230, 25, 11, 35, 23, 6, 76, 11, 35, 23, 6, 226, 105, 11, 35, 23, 6,
- 224, 96, 11, 35, 23, 6, 153, 11, 35, 23, 6, 222, 91, 11, 35, 23, 6, 217,
- 152, 11, 35, 23, 6, 70, 11, 35, 23, 6, 214, 105, 11, 35, 23, 6, 212, 98,
- 11, 35, 23, 6, 211, 178, 11, 35, 23, 6, 211, 117, 11, 35, 23, 6, 210,
- 159, 11, 35, 23, 4, 61, 11, 35, 23, 4, 253, 158, 11, 35, 23, 4, 251, 66,
- 11, 35, 23, 4, 249, 60, 11, 35, 23, 4, 75, 11, 35, 23, 4, 245, 6, 11, 35,
- 23, 4, 243, 202, 11, 35, 23, 4, 242, 60, 11, 35, 23, 4, 73, 11, 35, 23,
- 4, 235, 144, 11, 35, 23, 4, 235, 23, 11, 35, 23, 4, 156, 11, 35, 23, 4,
- 193, 11, 35, 23, 4, 230, 25, 11, 35, 23, 4, 76, 11, 35, 23, 4, 226, 105,
- 11, 35, 23, 4, 224, 96, 11, 35, 23, 4, 153, 11, 35, 23, 4, 222, 91, 11,
- 35, 23, 4, 217, 152, 11, 35, 23, 4, 70, 11, 35, 23, 4, 214, 105, 11, 35,
- 23, 4, 212, 98, 11, 35, 23, 4, 211, 178, 11, 35, 23, 4, 211, 117, 11, 35,
- 23, 4, 210, 159, 11, 35, 32, 6, 61, 11, 35, 32, 6, 253, 158, 11, 35, 32,
- 6, 251, 66, 11, 35, 32, 6, 249, 60, 11, 35, 32, 6, 75, 11, 35, 32, 6,
- 245, 6, 11, 35, 32, 6, 243, 202, 11, 35, 32, 6, 242, 60, 11, 35, 32, 6,
- 73, 11, 35, 32, 6, 235, 144, 11, 35, 32, 6, 235, 23, 11, 35, 32, 6, 156,
- 11, 35, 32, 6, 193, 11, 35, 32, 6, 230, 25, 11, 35, 32, 6, 76, 11, 35,
- 32, 6, 226, 105, 11, 35, 32, 6, 224, 96, 11, 35, 32, 6, 153, 11, 35, 32,
- 6, 222, 91, 11, 35, 32, 6, 217, 152, 11, 35, 32, 6, 70, 11, 35, 32, 6,
- 214, 105, 11, 35, 32, 6, 212, 98, 11, 35, 32, 6, 211, 178, 11, 35, 32, 6,
- 211, 117, 11, 35, 32, 6, 210, 159, 11, 35, 32, 4, 61, 11, 35, 32, 4, 253,
- 158, 11, 35, 32, 4, 251, 66, 11, 35, 32, 4, 249, 60, 11, 35, 32, 4, 75,
- 11, 35, 32, 4, 245, 6, 11, 35, 32, 4, 243, 202, 11, 35, 32, 4, 242, 60,
- 11, 35, 32, 4, 73, 11, 35, 32, 4, 235, 144, 11, 35, 32, 4, 235, 23, 11,
- 35, 32, 4, 156, 11, 35, 32, 4, 193, 11, 35, 32, 4, 230, 25, 11, 35, 32,
- 4, 76, 11, 35, 32, 4, 226, 105, 11, 35, 32, 4, 224, 96, 11, 35, 32, 4,
- 153, 11, 35, 32, 4, 222, 91, 11, 35, 32, 4, 217, 152, 11, 35, 32, 4, 70,
- 11, 35, 32, 4, 214, 105, 11, 35, 32, 4, 212, 98, 11, 35, 32, 4, 211, 178,
- 11, 35, 32, 4, 211, 117, 11, 35, 32, 4, 210, 159, 11, 35, 23, 32, 6, 61,
- 11, 35, 23, 32, 6, 253, 158, 11, 35, 23, 32, 6, 251, 66, 11, 35, 23, 32,
- 6, 249, 60, 11, 35, 23, 32, 6, 75, 11, 35, 23, 32, 6, 245, 6, 11, 35, 23,
- 32, 6, 243, 202, 11, 35, 23, 32, 6, 242, 60, 11, 35, 23, 32, 6, 73, 11,
- 35, 23, 32, 6, 235, 144, 11, 35, 23, 32, 6, 235, 23, 11, 35, 23, 32, 6,
- 156, 11, 35, 23, 32, 6, 193, 11, 35, 23, 32, 6, 230, 25, 11, 35, 23, 32,
- 6, 76, 11, 35, 23, 32, 6, 226, 105, 11, 35, 23, 32, 6, 224, 96, 11, 35,
- 23, 32, 6, 153, 11, 35, 23, 32, 6, 222, 91, 11, 35, 23, 32, 6, 217, 152,
- 11, 35, 23, 32, 6, 70, 11, 35, 23, 32, 6, 214, 105, 11, 35, 23, 32, 6,
- 212, 98, 11, 35, 23, 32, 6, 211, 178, 11, 35, 23, 32, 6, 211, 117, 11,
- 35, 23, 32, 6, 210, 159, 11, 35, 23, 32, 4, 61, 11, 35, 23, 32, 4, 253,
- 158, 11, 35, 23, 32, 4, 251, 66, 11, 35, 23, 32, 4, 249, 60, 11, 35, 23,
- 32, 4, 75, 11, 35, 23, 32, 4, 245, 6, 11, 35, 23, 32, 4, 243, 202, 11,
- 35, 23, 32, 4, 242, 60, 11, 35, 23, 32, 4, 73, 11, 35, 23, 32, 4, 235,
- 144, 11, 35, 23, 32, 4, 235, 23, 11, 35, 23, 32, 4, 156, 11, 35, 23, 32,
- 4, 193, 11, 35, 23, 32, 4, 230, 25, 11, 35, 23, 32, 4, 76, 11, 35, 23,
- 32, 4, 226, 105, 11, 35, 23, 32, 4, 224, 96, 11, 35, 23, 32, 4, 153, 11,
- 35, 23, 32, 4, 222, 91, 11, 35, 23, 32, 4, 217, 152, 11, 35, 23, 32, 4,
- 70, 11, 35, 23, 32, 4, 214, 105, 11, 35, 23, 32, 4, 212, 98, 11, 35, 23,
- 32, 4, 211, 178, 11, 35, 23, 32, 4, 211, 117, 11, 35, 23, 32, 4, 210,
- 159, 11, 230, 138, 6, 61, 11, 230, 138, 6, 253, 158, 11, 230, 138, 6,
- 251, 66, 11, 230, 138, 6, 249, 60, 11, 230, 138, 6, 75, 11, 230, 138, 6,
- 245, 6, 11, 230, 138, 6, 243, 202, 11, 230, 138, 6, 242, 60, 11, 230,
- 138, 6, 73, 11, 230, 138, 6, 235, 144, 11, 230, 138, 6, 235, 23, 11, 230,
- 138, 6, 156, 11, 230, 138, 6, 193, 11, 230, 138, 6, 230, 25, 11, 230,
- 138, 6, 76, 11, 230, 138, 6, 226, 105, 11, 230, 138, 6, 224, 96, 11, 230,
- 138, 6, 153, 11, 230, 138, 6, 222, 91, 11, 230, 138, 6, 217, 152, 11,
- 230, 138, 6, 70, 11, 230, 138, 6, 214, 105, 11, 230, 138, 6, 212, 98, 11,
- 230, 138, 6, 211, 178, 11, 230, 138, 6, 211, 117, 11, 230, 138, 6, 210,
- 159, 11, 230, 138, 4, 61, 11, 230, 138, 4, 253, 158, 11, 230, 138, 4,
- 251, 66, 11, 230, 138, 4, 249, 60, 11, 230, 138, 4, 75, 11, 230, 138, 4,
- 245, 6, 11, 230, 138, 4, 243, 202, 11, 230, 138, 4, 242, 60, 11, 230,
- 138, 4, 73, 11, 230, 138, 4, 235, 144, 11, 230, 138, 4, 235, 23, 11, 230,
- 138, 4, 156, 11, 230, 138, 4, 193, 11, 230, 138, 4, 230, 25, 11, 230,
- 138, 4, 76, 11, 230, 138, 4, 226, 105, 11, 230, 138, 4, 224, 96, 11, 230,
- 138, 4, 153, 11, 230, 138, 4, 222, 91, 11, 230, 138, 4, 217, 152, 11,
- 230, 138, 4, 70, 11, 230, 138, 4, 214, 105, 11, 230, 138, 4, 212, 98, 11,
- 230, 138, 4, 211, 178, 11, 230, 138, 4, 211, 117, 11, 230, 138, 4, 210,
- 159, 11, 32, 4, 247, 119, 73, 11, 32, 4, 247, 119, 235, 144, 11, 23, 6,
- 254, 143, 11, 23, 6, 252, 26, 11, 23, 6, 243, 107, 11, 23, 6, 248, 54,
- 11, 23, 6, 245, 100, 11, 23, 6, 210, 85, 11, 23, 6, 245, 63, 11, 23, 6,
- 216, 179, 11, 23, 6, 235, 185, 11, 23, 6, 234, 222, 11, 23, 6, 233, 98,
- 11, 23, 6, 230, 102, 11, 23, 6, 227, 237, 11, 23, 6, 211, 157, 11, 23, 6,
- 226, 199, 11, 23, 6, 225, 108, 11, 23, 6, 223, 37, 11, 23, 6, 216, 180,
- 87, 11, 23, 6, 219, 177, 11, 23, 6, 217, 41, 11, 23, 6, 214, 157, 11, 23,
- 6, 225, 133, 11, 23, 6, 250, 110, 11, 23, 6, 224, 161, 11, 23, 6, 226,
- 201, 11, 23, 229, 221, 11, 23, 4, 254, 143, 11, 23, 4, 252, 26, 11, 23,
- 4, 243, 107, 11, 23, 4, 248, 54, 11, 23, 4, 245, 100, 11, 23, 4, 210, 85,
- 11, 23, 4, 245, 63, 11, 23, 4, 216, 179, 11, 23, 4, 235, 185, 11, 23, 4,
- 234, 222, 11, 23, 4, 233, 98, 11, 23, 4, 230, 102, 11, 23, 4, 227, 237,
- 11, 23, 4, 211, 157, 11, 23, 4, 226, 199, 11, 23, 4, 225, 108, 11, 23, 4,
- 223, 37, 11, 23, 4, 40, 219, 177, 11, 23, 4, 219, 177, 11, 23, 4, 217,
- 41, 11, 23, 4, 214, 157, 11, 23, 4, 225, 133, 11, 23, 4, 250, 110, 11,
- 23, 4, 224, 161, 11, 23, 4, 226, 201, 11, 23, 225, 253, 247, 233, 11, 23,
- 245, 101, 87, 11, 23, 216, 180, 87, 11, 23, 234, 223, 87, 11, 23, 225,
- 134, 87, 11, 23, 223, 38, 87, 11, 23, 225, 109, 87, 11, 32, 6, 254, 143,
- 11, 32, 6, 252, 26, 11, 32, 6, 243, 107, 11, 32, 6, 248, 54, 11, 32, 6,
- 245, 100, 11, 32, 6, 210, 85, 11, 32, 6, 245, 63, 11, 32, 6, 216, 179,
- 11, 32, 6, 235, 185, 11, 32, 6, 234, 222, 11, 32, 6, 233, 98, 11, 32, 6,
- 230, 102, 11, 32, 6, 227, 237, 11, 32, 6, 211, 157, 11, 32, 6, 226, 199,
- 11, 32, 6, 225, 108, 11, 32, 6, 223, 37, 11, 32, 6, 216, 180, 87, 11, 32,
- 6, 219, 177, 11, 32, 6, 217, 41, 11, 32, 6, 214, 157, 11, 32, 6, 225,
- 133, 11, 32, 6, 250, 110, 11, 32, 6, 224, 161, 11, 32, 6, 226, 201, 11,
- 32, 229, 221, 11, 32, 4, 254, 143, 11, 32, 4, 252, 26, 11, 32, 4, 243,
- 107, 11, 32, 4, 248, 54, 11, 32, 4, 245, 100, 11, 32, 4, 210, 85, 11, 32,
- 4, 245, 63, 11, 32, 4, 216, 179, 11, 32, 4, 235, 185, 11, 32, 4, 234,
- 222, 11, 32, 4, 233, 98, 11, 32, 4, 230, 102, 11, 32, 4, 227, 237, 11,
- 32, 4, 211, 157, 11, 32, 4, 226, 199, 11, 32, 4, 225, 108, 11, 32, 4,
- 223, 37, 11, 32, 4, 40, 219, 177, 11, 32, 4, 219, 177, 11, 32, 4, 217,
- 41, 11, 32, 4, 214, 157, 11, 32, 4, 225, 133, 11, 32, 4, 250, 110, 11,
- 32, 4, 224, 161, 11, 32, 4, 226, 201, 11, 32, 225, 253, 247, 233, 11, 32,
- 245, 101, 87, 11, 32, 216, 180, 87, 11, 32, 234, 223, 87, 11, 32, 225,
- 134, 87, 11, 32, 223, 38, 87, 11, 32, 225, 109, 87, 11, 23, 32, 6, 254,
- 143, 11, 23, 32, 6, 252, 26, 11, 23, 32, 6, 243, 107, 11, 23, 32, 6, 248,
- 54, 11, 23, 32, 6, 245, 100, 11, 23, 32, 6, 210, 85, 11, 23, 32, 6, 245,
- 63, 11, 23, 32, 6, 216, 179, 11, 23, 32, 6, 235, 185, 11, 23, 32, 6, 234,
- 222, 11, 23, 32, 6, 233, 98, 11, 23, 32, 6, 230, 102, 11, 23, 32, 6, 227,
- 237, 11, 23, 32, 6, 211, 157, 11, 23, 32, 6, 226, 199, 11, 23, 32, 6,
- 225, 108, 11, 23, 32, 6, 223, 37, 11, 23, 32, 6, 216, 180, 87, 11, 23,
- 32, 6, 219, 177, 11, 23, 32, 6, 217, 41, 11, 23, 32, 6, 214, 157, 11, 23,
- 32, 6, 225, 133, 11, 23, 32, 6, 250, 110, 11, 23, 32, 6, 224, 161, 11,
- 23, 32, 6, 226, 201, 11, 23, 32, 229, 221, 11, 23, 32, 4, 254, 143, 11,
- 23, 32, 4, 252, 26, 11, 23, 32, 4, 243, 107, 11, 23, 32, 4, 248, 54, 11,
- 23, 32, 4, 245, 100, 11, 23, 32, 4, 210, 85, 11, 23, 32, 4, 245, 63, 11,
- 23, 32, 4, 216, 179, 11, 23, 32, 4, 235, 185, 11, 23, 32, 4, 234, 222,
- 11, 23, 32, 4, 233, 98, 11, 23, 32, 4, 230, 102, 11, 23, 32, 4, 227, 237,
- 11, 23, 32, 4, 211, 157, 11, 23, 32, 4, 226, 199, 11, 23, 32, 4, 225,
- 108, 11, 23, 32, 4, 223, 37, 11, 23, 32, 4, 40, 219, 177, 11, 23, 32, 4,
- 219, 177, 11, 23, 32, 4, 217, 41, 11, 23, 32, 4, 214, 157, 11, 23, 32, 4,
- 225, 133, 11, 23, 32, 4, 250, 110, 11, 23, 32, 4, 224, 161, 11, 23, 32,
- 4, 226, 201, 11, 23, 32, 225, 253, 247, 233, 11, 23, 32, 245, 101, 87,
- 11, 23, 32, 216, 180, 87, 11, 23, 32, 234, 223, 87, 11, 23, 32, 225, 134,
- 87, 11, 23, 32, 223, 38, 87, 11, 23, 32, 225, 109, 87, 11, 35, 23, 6,
- 254, 143, 11, 35, 23, 6, 252, 26, 11, 35, 23, 6, 243, 107, 11, 35, 23, 6,
- 248, 54, 11, 35, 23, 6, 245, 100, 11, 35, 23, 6, 210, 85, 11, 35, 23, 6,
- 245, 63, 11, 35, 23, 6, 216, 179, 11, 35, 23, 6, 235, 185, 11, 35, 23, 6,
- 234, 222, 11, 35, 23, 6, 233, 98, 11, 35, 23, 6, 230, 102, 11, 35, 23, 6,
- 227, 237, 11, 35, 23, 6, 211, 157, 11, 35, 23, 6, 226, 199, 11, 35, 23,
- 6, 225, 108, 11, 35, 23, 6, 223, 37, 11, 35, 23, 6, 216, 180, 87, 11, 35,
- 23, 6, 219, 177, 11, 35, 23, 6, 217, 41, 11, 35, 23, 6, 214, 157, 11, 35,
- 23, 6, 225, 133, 11, 35, 23, 6, 250, 110, 11, 35, 23, 6, 224, 161, 11,
- 35, 23, 6, 226, 201, 11, 35, 23, 229, 221, 11, 35, 23, 4, 254, 143, 11,
- 35, 23, 4, 252, 26, 11, 35, 23, 4, 243, 107, 11, 35, 23, 4, 248, 54, 11,
- 35, 23, 4, 245, 100, 11, 35, 23, 4, 210, 85, 11, 35, 23, 4, 245, 63, 11,
- 35, 23, 4, 216, 179, 11, 35, 23, 4, 235, 185, 11, 35, 23, 4, 234, 222,
- 11, 35, 23, 4, 233, 98, 11, 35, 23, 4, 230, 102, 11, 35, 23, 4, 227, 237,
- 11, 35, 23, 4, 211, 157, 11, 35, 23, 4, 226, 199, 11, 35, 23, 4, 225,
- 108, 11, 35, 23, 4, 223, 37, 11, 35, 23, 4, 40, 219, 177, 11, 35, 23, 4,
- 219, 177, 11, 35, 23, 4, 217, 41, 11, 35, 23, 4, 214, 157, 11, 35, 23, 4,
- 225, 133, 11, 35, 23, 4, 250, 110, 11, 35, 23, 4, 224, 161, 11, 35, 23,
- 4, 226, 201, 11, 35, 23, 225, 253, 247, 233, 11, 35, 23, 245, 101, 87,
- 11, 35, 23, 216, 180, 87, 11, 35, 23, 234, 223, 87, 11, 35, 23, 225, 134,
- 87, 11, 35, 23, 223, 38, 87, 11, 35, 23, 225, 109, 87, 11, 35, 23, 32, 6,
- 254, 143, 11, 35, 23, 32, 6, 252, 26, 11, 35, 23, 32, 6, 243, 107, 11,
- 35, 23, 32, 6, 248, 54, 11, 35, 23, 32, 6, 245, 100, 11, 35, 23, 32, 6,
- 210, 85, 11, 35, 23, 32, 6, 245, 63, 11, 35, 23, 32, 6, 216, 179, 11, 35,
- 23, 32, 6, 235, 185, 11, 35, 23, 32, 6, 234, 222, 11, 35, 23, 32, 6, 233,
- 98, 11, 35, 23, 32, 6, 230, 102, 11, 35, 23, 32, 6, 227, 237, 11, 35, 23,
- 32, 6, 211, 157, 11, 35, 23, 32, 6, 226, 199, 11, 35, 23, 32, 6, 225,
- 108, 11, 35, 23, 32, 6, 223, 37, 11, 35, 23, 32, 6, 216, 180, 87, 11, 35,
- 23, 32, 6, 219, 177, 11, 35, 23, 32, 6, 217, 41, 11, 35, 23, 32, 6, 214,
- 157, 11, 35, 23, 32, 6, 225, 133, 11, 35, 23, 32, 6, 250, 110, 11, 35,
- 23, 32, 6, 224, 161, 11, 35, 23, 32, 6, 226, 201, 11, 35, 23, 32, 229,
- 221, 11, 35, 23, 32, 4, 254, 143, 11, 35, 23, 32, 4, 252, 26, 11, 35, 23,
- 32, 4, 243, 107, 11, 35, 23, 32, 4, 248, 54, 11, 35, 23, 32, 4, 245, 100,
- 11, 35, 23, 32, 4, 210, 85, 11, 35, 23, 32, 4, 245, 63, 11, 35, 23, 32,
- 4, 216, 179, 11, 35, 23, 32, 4, 235, 185, 11, 35, 23, 32, 4, 234, 222,
- 11, 35, 23, 32, 4, 233, 98, 11, 35, 23, 32, 4, 230, 102, 11, 35, 23, 32,
- 4, 227, 237, 11, 35, 23, 32, 4, 211, 157, 11, 35, 23, 32, 4, 226, 199,
- 11, 35, 23, 32, 4, 225, 108, 11, 35, 23, 32, 4, 223, 37, 11, 35, 23, 32,
- 4, 40, 219, 177, 11, 35, 23, 32, 4, 219, 177, 11, 35, 23, 32, 4, 217, 41,
- 11, 35, 23, 32, 4, 214, 157, 11, 35, 23, 32, 4, 225, 133, 11, 35, 23, 32,
- 4, 250, 110, 11, 35, 23, 32, 4, 224, 161, 11, 35, 23, 32, 4, 226, 201,
- 11, 35, 23, 32, 225, 253, 247, 233, 11, 35, 23, 32, 245, 101, 87, 11, 35,
- 23, 32, 216, 180, 87, 11, 35, 23, 32, 234, 223, 87, 11, 35, 23, 32, 225,
- 134, 87, 11, 35, 23, 32, 223, 38, 87, 11, 35, 23, 32, 225, 109, 87, 11,
- 23, 6, 247, 227, 11, 23, 4, 247, 227, 11, 23, 21, 210, 86, 11, 23, 21,
- 110, 11, 23, 21, 105, 11, 23, 21, 158, 11, 23, 21, 161, 11, 23, 21, 189,
- 11, 23, 21, 194, 11, 23, 21, 198, 11, 23, 21, 195, 11, 23, 21, 200, 11,
- 139, 21, 210, 86, 11, 139, 21, 110, 11, 139, 21, 105, 11, 139, 21, 158,
- 11, 139, 21, 161, 11, 139, 21, 189, 11, 139, 21, 194, 11, 139, 21, 198,
- 11, 139, 21, 195, 11, 139, 21, 200, 11, 35, 21, 210, 86, 11, 35, 21, 110,
- 11, 35, 21, 105, 11, 35, 21, 158, 11, 35, 21, 161, 11, 35, 21, 189, 11,
- 35, 21, 194, 11, 35, 21, 198, 11, 35, 21, 195, 11, 35, 21, 200, 11, 35,
- 23, 21, 210, 86, 11, 35, 23, 21, 110, 11, 35, 23, 21, 105, 11, 35, 23,
- 21, 158, 11, 35, 23, 21, 161, 11, 35, 23, 21, 189, 11, 35, 23, 21, 194,
- 11, 35, 23, 21, 198, 11, 35, 23, 21, 195, 11, 35, 23, 21, 200, 11, 230,
- 138, 21, 210, 86, 11, 230, 138, 21, 110, 11, 230, 138, 21, 105, 11, 230,
- 138, 21, 158, 11, 230, 138, 21, 161, 11, 230, 138, 21, 189, 11, 230, 138,
- 21, 194, 11, 230, 138, 21, 198, 11, 230, 138, 21, 195, 11, 230, 138, 21,
- 200, 10, 11, 254, 170, 10, 11, 252, 54, 10, 11, 235, 123, 10, 11, 248,
- 195, 10, 11, 212, 30, 10, 11, 210, 108, 10, 11, 242, 37, 10, 11, 217, 80,
- 10, 11, 211, 43, 10, 11, 234, 250, 10, 11, 233, 102, 10, 11, 231, 78, 10,
- 11, 228, 62, 10, 11, 221, 166, 10, 11, 254, 196, 10, 11, 244, 142, 10,
- 11, 222, 26, 10, 11, 224, 81, 10, 11, 223, 95, 10, 11, 220, 59, 10, 11,
- 217, 7, 10, 11, 216, 192, 10, 11, 234, 129, 10, 11, 216, 202, 10, 11,
- 248, 216, 10, 11, 210, 111, 10, 11, 242, 244, 10, 11, 247, 119, 252, 54,
- 10, 11, 247, 119, 228, 62, 10, 11, 247, 119, 244, 142, 10, 11, 247, 119,
- 224, 81, 10, 11, 65, 252, 54, 10, 11, 65, 235, 123, 10, 11, 65, 241, 218,
- 10, 11, 65, 242, 37, 10, 11, 65, 211, 43, 10, 11, 65, 234, 250, 10, 11,
- 65, 233, 102, 10, 11, 65, 231, 78, 10, 11, 65, 228, 62, 10, 11, 65, 221,
- 166, 10, 11, 65, 254, 196, 10, 11, 65, 244, 142, 10, 11, 65, 222, 26, 10,
- 11, 65, 224, 81, 10, 11, 65, 220, 59, 10, 11, 65, 217, 7, 10, 11, 65,
- 216, 192, 10, 11, 65, 234, 129, 10, 11, 65, 248, 216, 10, 11, 65, 242,
- 244, 10, 11, 217, 76, 235, 123, 10, 11, 217, 76, 242, 37, 10, 11, 217,
- 76, 211, 43, 10, 11, 217, 76, 233, 102, 10, 11, 217, 76, 228, 62, 10, 11,
- 217, 76, 221, 166, 10, 11, 217, 76, 254, 196, 10, 11, 217, 76, 222, 26,
- 10, 11, 217, 76, 224, 81, 10, 11, 217, 76, 220, 59, 10, 11, 217, 76, 234,
- 129, 10, 11, 217, 76, 248, 216, 10, 11, 217, 76, 242, 244, 10, 11, 217,
- 76, 247, 119, 228, 62, 10, 11, 217, 76, 247, 119, 224, 81, 10, 11, 218,
- 110, 252, 54, 10, 11, 218, 110, 235, 123, 10, 11, 218, 110, 241, 218, 10,
- 11, 218, 110, 242, 37, 10, 11, 218, 110, 217, 80, 10, 11, 218, 110, 211,
- 43, 10, 11, 218, 110, 234, 250, 10, 11, 218, 110, 231, 78, 10, 11, 218,
- 110, 228, 62, 10, 11, 218, 110, 221, 166, 10, 11, 218, 110, 254, 196, 10,
- 11, 218, 110, 244, 142, 10, 11, 218, 110, 222, 26, 10, 11, 218, 110, 224,
- 81, 10, 11, 218, 110, 220, 59, 10, 11, 218, 110, 217, 7, 10, 11, 218,
- 110, 216, 192, 10, 11, 218, 110, 234, 129, 10, 11, 218, 110, 248, 216,
- 10, 11, 218, 110, 210, 111, 10, 11, 218, 110, 242, 244, 10, 11, 218, 110,
- 247, 119, 252, 54, 10, 11, 218, 110, 247, 119, 244, 142, 10, 11, 232,
- 122, 254, 170, 10, 11, 232, 122, 252, 54, 10, 11, 232, 122, 235, 123, 10,
- 11, 232, 122, 248, 195, 10, 11, 232, 122, 241, 218, 10, 11, 232, 122,
- 212, 30, 10, 11, 232, 122, 210, 108, 10, 11, 232, 122, 242, 37, 10, 11,
- 232, 122, 217, 80, 10, 11, 232, 122, 211, 43, 10, 11, 232, 122, 233, 102,
- 10, 11, 232, 122, 231, 78, 10, 11, 232, 122, 228, 62, 10, 11, 232, 122,
- 221, 166, 10, 11, 232, 122, 254, 196, 10, 11, 232, 122, 244, 142, 10, 11,
- 232, 122, 222, 26, 10, 11, 232, 122, 224, 81, 10, 11, 232, 122, 223, 95,
- 10, 11, 232, 122, 220, 59, 10, 11, 232, 122, 217, 7, 10, 11, 232, 122,
- 216, 192, 10, 11, 232, 122, 234, 129, 10, 11, 232, 122, 216, 202, 10, 11,
- 232, 122, 248, 216, 10, 11, 232, 122, 210, 111, 10, 11, 232, 122, 242,
- 244, 10, 11, 139, 252, 54, 10, 11, 139, 235, 123, 10, 11, 139, 248, 195,
- 10, 11, 139, 212, 30, 10, 11, 139, 210, 108, 10, 11, 139, 242, 37, 10,
- 11, 139, 217, 80, 10, 11, 139, 211, 43, 10, 11, 139, 233, 102, 10, 11,
- 139, 231, 78, 10, 11, 139, 228, 62, 10, 11, 139, 221, 166, 10, 11, 139,
- 254, 196, 10, 11, 139, 244, 142, 10, 11, 139, 222, 26, 10, 11, 139, 224,
- 81, 10, 11, 139, 223, 95, 10, 11, 139, 220, 59, 10, 11, 139, 217, 7, 10,
- 11, 139, 216, 192, 10, 11, 139, 234, 129, 10, 11, 139, 216, 202, 10, 11,
- 139, 248, 216, 10, 11, 139, 210, 111, 10, 11, 139, 242, 244, 10, 11, 226,
- 168, 66, 2, 122, 2, 217, 43, 10, 11, 226, 168, 122, 2, 248, 195, 231,
- 205, 86, 245, 220, 211, 239, 231, 205, 86, 219, 28, 211, 239, 231, 205,
- 86, 212, 9, 211, 239, 231, 205, 86, 228, 56, 211, 239, 231, 205, 86, 223,
- 111, 246, 96, 231, 205, 86, 242, 127, 246, 96, 231, 205, 86, 71, 246, 96,
- 231, 205, 86, 123, 64, 250, 141, 231, 205, 86, 113, 64, 250, 141, 231,
- 205, 86, 134, 64, 250, 141, 231, 205, 86, 244, 11, 64, 250, 141, 231,
- 205, 86, 244, 81, 64, 250, 141, 231, 205, 86, 219, 125, 64, 250, 141,
- 231, 205, 86, 220, 122, 64, 250, 141, 231, 205, 86, 245, 193, 64, 250,
- 141, 231, 205, 86, 228, 200, 64, 250, 141, 231, 205, 86, 123, 64, 252,
- 153, 231, 205, 86, 113, 64, 252, 153, 231, 205, 86, 134, 64, 252, 153,
- 231, 205, 86, 244, 11, 64, 252, 153, 231, 205, 86, 244, 81, 64, 252, 153,
- 231, 205, 86, 219, 125, 64, 252, 153, 231, 205, 86, 220, 122, 64, 252,
- 153, 231, 205, 86, 245, 193, 64, 252, 153, 231, 205, 86, 228, 200, 64,
- 252, 153, 231, 205, 86, 123, 64, 250, 34, 231, 205, 86, 113, 64, 250, 34,
- 231, 205, 86, 134, 64, 250, 34, 231, 205, 86, 244, 11, 64, 250, 34, 231,
- 205, 86, 244, 81, 64, 250, 34, 231, 205, 86, 219, 125, 64, 250, 34, 231,
- 205, 86, 220, 122, 64, 250, 34, 231, 205, 86, 245, 193, 64, 250, 34, 231,
- 205, 86, 228, 200, 64, 250, 34, 231, 205, 86, 225, 25, 231, 205, 86, 226,
- 156, 231, 205, 86, 252, 154, 231, 205, 86, 250, 70, 231, 205, 86, 218,
- 239, 231, 205, 86, 218, 39, 231, 205, 86, 253, 179, 231, 205, 86, 211,
- 232, 231, 205, 86, 235, 62, 231, 205, 86, 252, 184, 131, 86, 203, 252,
- 184, 131, 86, 241, 43, 131, 86, 241, 42, 131, 86, 241, 41, 131, 86, 241,
- 40, 131, 86, 241, 39, 131, 86, 241, 38, 131, 86, 241, 37, 131, 86, 241,
- 36, 131, 86, 241, 35, 131, 86, 241, 34, 131, 86, 241, 33, 131, 86, 241,
- 32, 131, 86, 241, 31, 131, 86, 241, 30, 131, 86, 241, 29, 131, 86, 241,
- 28, 131, 86, 241, 27, 131, 86, 241, 26, 131, 86, 241, 25, 131, 86, 241,
- 24, 131, 86, 241, 23, 131, 86, 241, 22, 131, 86, 241, 21, 131, 86, 241,
- 20, 131, 86, 241, 19, 131, 86, 241, 18, 131, 86, 241, 17, 131, 86, 241,
- 16, 131, 86, 241, 15, 131, 86, 241, 14, 131, 86, 241, 13, 131, 86, 241,
- 12, 131, 86, 241, 11, 131, 86, 241, 10, 131, 86, 241, 9, 131, 86, 241, 8,
- 131, 86, 241, 7, 131, 86, 241, 6, 131, 86, 241, 5, 131, 86, 241, 4, 131,
- 86, 241, 3, 131, 86, 241, 2, 131, 86, 241, 1, 131, 86, 241, 0, 131, 86,
- 240, 255, 131, 86, 240, 254, 131, 86, 240, 253, 131, 86, 240, 252, 131,
- 86, 240, 251, 131, 86, 67, 252, 184, 131, 86, 213, 238, 131, 86, 213,
- 237, 131, 86, 213, 236, 131, 86, 213, 235, 131, 86, 213, 234, 131, 86,
- 213, 233, 131, 86, 213, 232, 131, 86, 213, 231, 131, 86, 213, 230, 131,
- 86, 213, 229, 131, 86, 213, 228, 131, 86, 213, 227, 131, 86, 213, 226,
- 131, 86, 213, 225, 131, 86, 213, 224, 131, 86, 213, 223, 131, 86, 213,
- 222, 131, 86, 213, 221, 131, 86, 213, 220, 131, 86, 213, 219, 131, 86,
- 213, 218, 131, 86, 213, 217, 131, 86, 213, 216, 131, 86, 213, 215, 131,
- 86, 213, 214, 131, 86, 213, 213, 131, 86, 213, 212, 131, 86, 213, 211,
- 131, 86, 213, 210, 131, 86, 213, 209, 131, 86, 213, 208, 131, 86, 213,
- 207, 131, 86, 213, 206, 131, 86, 213, 205, 131, 86, 213, 204, 131, 86,
- 213, 203, 131, 86, 213, 202, 131, 86, 213, 201, 131, 86, 213, 200, 131,
- 86, 213, 199, 131, 86, 213, 198, 131, 86, 213, 197, 131, 86, 213, 196,
- 131, 86, 213, 195, 131, 86, 213, 194, 131, 86, 213, 193, 131, 86, 213,
- 192, 131, 86, 213, 191, 131, 86, 213, 190, 225, 33, 250, 243, 252, 184,
- 225, 33, 250, 243, 255, 9, 64, 219, 15, 225, 33, 250, 243, 113, 64, 219,
- 15, 225, 33, 250, 243, 134, 64, 219, 15, 225, 33, 250, 243, 244, 11, 64,
- 219, 15, 225, 33, 250, 243, 244, 81, 64, 219, 15, 225, 33, 250, 243, 219,
- 125, 64, 219, 15, 225, 33, 250, 243, 220, 122, 64, 219, 15, 225, 33, 250,
- 243, 245, 193, 64, 219, 15, 225, 33, 250, 243, 228, 200, 64, 219, 15,
- 225, 33, 250, 243, 216, 248, 64, 219, 15, 225, 33, 250, 243, 235, 139,
- 64, 219, 15, 225, 33, 250, 243, 234, 31, 64, 219, 15, 225, 33, 250, 243,
- 224, 15, 64, 219, 15, 225, 33, 250, 243, 234, 79, 64, 219, 15, 225, 33,
- 250, 243, 255, 9, 64, 241, 225, 225, 33, 250, 243, 113, 64, 241, 225,
- 225, 33, 250, 243, 134, 64, 241, 225, 225, 33, 250, 243, 244, 11, 64,
- 241, 225, 225, 33, 250, 243, 244, 81, 64, 241, 225, 225, 33, 250, 243,
- 219, 125, 64, 241, 225, 225, 33, 250, 243, 220, 122, 64, 241, 225, 225,
- 33, 250, 243, 245, 193, 64, 241, 225, 225, 33, 250, 243, 228, 200, 64,
- 241, 225, 225, 33, 250, 243, 216, 248, 64, 241, 225, 225, 33, 250, 243,
- 235, 139, 64, 241, 225, 225, 33, 250, 243, 234, 31, 64, 241, 225, 225,
- 33, 250, 243, 224, 15, 64, 241, 225, 225, 33, 250, 243, 234, 79, 64, 241,
- 225, 225, 33, 250, 243, 255, 9, 64, 247, 247, 225, 33, 250, 243, 113, 64,
- 247, 247, 225, 33, 250, 243, 134, 64, 247, 247, 225, 33, 250, 243, 244,
- 11, 64, 247, 247, 225, 33, 250, 243, 244, 81, 64, 247, 247, 225, 33, 250,
- 243, 219, 125, 64, 247, 247, 225, 33, 250, 243, 220, 122, 64, 247, 247,
- 225, 33, 250, 243, 245, 193, 64, 247, 247, 225, 33, 250, 243, 228, 200,
- 64, 247, 247, 225, 33, 250, 243, 216, 248, 64, 247, 247, 225, 33, 250,
- 243, 235, 139, 64, 247, 247, 225, 33, 250, 243, 234, 31, 64, 247, 247,
- 225, 33, 250, 243, 224, 15, 64, 247, 247, 225, 33, 250, 243, 234, 79, 64,
- 247, 247, 225, 33, 250, 243, 85, 235, 62, 225, 33, 250, 243, 255, 9, 64,
- 249, 242, 225, 33, 250, 243, 113, 64, 249, 242, 225, 33, 250, 243, 134,
- 64, 249, 242, 225, 33, 250, 243, 244, 11, 64, 249, 242, 225, 33, 250,
- 243, 244, 81, 64, 249, 242, 225, 33, 250, 243, 219, 125, 64, 249, 242,
- 225, 33, 250, 243, 220, 122, 64, 249, 242, 225, 33, 250, 243, 245, 193,
- 64, 249, 242, 225, 33, 250, 243, 228, 200, 64, 249, 242, 225, 33, 250,
- 243, 216, 248, 64, 249, 242, 225, 33, 250, 243, 235, 139, 64, 249, 242,
- 225, 33, 250, 243, 234, 31, 64, 249, 242, 225, 33, 250, 243, 224, 15, 64,
- 249, 242, 225, 33, 250, 243, 234, 79, 64, 249, 242, 225, 33, 250, 243,
- 71, 235, 62, 21, 210, 87, 243, 229, 218, 129, 21, 210, 87, 249, 219, 21,
- 123, 249, 219, 21, 113, 249, 219, 21, 134, 249, 219, 21, 244, 11, 249,
- 219, 21, 244, 81, 249, 219, 21, 219, 125, 249, 219, 21, 220, 122, 249,
- 219, 21, 245, 193, 249, 219, 21, 228, 200, 249, 219, 88, 7, 6, 1, 61, 88,
- 7, 6, 1, 253, 158, 88, 7, 6, 1, 251, 66, 88, 7, 6, 1, 249, 60, 88, 7, 6,
- 1, 75, 88, 7, 6, 1, 245, 6, 88, 7, 6, 1, 243, 202, 88, 7, 6, 1, 242, 60,
- 88, 7, 6, 1, 73, 88, 7, 6, 1, 235, 144, 88, 7, 6, 1, 235, 23, 88, 7, 6,
- 1, 156, 88, 7, 6, 1, 193, 88, 7, 6, 1, 230, 25, 88, 7, 6, 1, 76, 88, 7,
- 6, 1, 226, 105, 88, 7, 6, 1, 224, 96, 88, 7, 6, 1, 153, 88, 7, 6, 1, 222,
- 91, 88, 7, 6, 1, 217, 152, 88, 7, 6, 1, 70, 88, 7, 6, 1, 214, 105, 88, 7,
- 6, 1, 212, 98, 88, 7, 6, 1, 211, 178, 88, 7, 6, 1, 211, 117, 88, 7, 6, 1,
- 210, 159, 216, 6, 220, 53, 251, 157, 7, 6, 1, 222, 91, 37, 32, 7, 6, 1,
- 251, 66, 37, 32, 7, 6, 1, 153, 37, 250, 191, 37, 211, 180, 92, 7, 6, 1,
- 61, 92, 7, 6, 1, 253, 158, 92, 7, 6, 1, 251, 66, 92, 7, 6, 1, 249, 60,
- 92, 7, 6, 1, 75, 92, 7, 6, 1, 245, 6, 92, 7, 6, 1, 243, 202, 92, 7, 6, 1,
- 242, 60, 92, 7, 6, 1, 73, 92, 7, 6, 1, 235, 144, 92, 7, 6, 1, 235, 23,
- 92, 7, 6, 1, 156, 92, 7, 6, 1, 193, 92, 7, 6, 1, 230, 25, 92, 7, 6, 1,
- 76, 92, 7, 6, 1, 226, 105, 92, 7, 6, 1, 224, 96, 92, 7, 6, 1, 153, 92, 7,
- 6, 1, 222, 91, 92, 7, 6, 1, 217, 152, 92, 7, 6, 1, 70, 92, 7, 6, 1, 214,
- 105, 92, 7, 6, 1, 212, 98, 92, 7, 6, 1, 211, 178, 92, 7, 6, 1, 211, 117,
- 92, 7, 6, 1, 210, 159, 92, 240, 201, 92, 230, 49, 92, 221, 183, 92, 218,
- 226, 92, 224, 218, 92, 212, 23, 152, 37, 7, 6, 1, 61, 152, 37, 7, 6, 1,
- 253, 158, 152, 37, 7, 6, 1, 251, 66, 152, 37, 7, 6, 1, 249, 60, 152, 37,
- 7, 6, 1, 75, 152, 37, 7, 6, 1, 245, 6, 152, 37, 7, 6, 1, 243, 202, 152,
- 37, 7, 6, 1, 242, 60, 152, 37, 7, 6, 1, 73, 152, 37, 7, 6, 1, 235, 144,
- 152, 37, 7, 6, 1, 235, 23, 152, 37, 7, 6, 1, 156, 152, 37, 7, 6, 1, 193,
- 152, 37, 7, 6, 1, 230, 25, 152, 37, 7, 6, 1, 76, 152, 37, 7, 6, 1, 226,
- 105, 152, 37, 7, 6, 1, 224, 96, 152, 37, 7, 6, 1, 153, 152, 37, 7, 6, 1,
- 222, 91, 152, 37, 7, 6, 1, 217, 152, 152, 37, 7, 6, 1, 70, 152, 37, 7, 6,
- 1, 214, 105, 152, 37, 7, 6, 1, 212, 98, 152, 37, 7, 6, 1, 211, 178, 152,
- 37, 7, 6, 1, 211, 117, 152, 37, 7, 6, 1, 210, 159, 223, 157, 231, 97, 50,
- 223, 157, 231, 94, 50, 152, 92, 7, 6, 1, 61, 152, 92, 7, 6, 1, 253, 158,
- 152, 92, 7, 6, 1, 251, 66, 152, 92, 7, 6, 1, 249, 60, 152, 92, 7, 6, 1,
- 75, 152, 92, 7, 6, 1, 245, 6, 152, 92, 7, 6, 1, 243, 202, 152, 92, 7, 6,
- 1, 242, 60, 152, 92, 7, 6, 1, 73, 152, 92, 7, 6, 1, 235, 144, 152, 92, 7,
- 6, 1, 235, 23, 152, 92, 7, 6, 1, 156, 152, 92, 7, 6, 1, 193, 152, 92, 7,
- 6, 1, 230, 25, 152, 92, 7, 6, 1, 76, 152, 92, 7, 6, 1, 226, 105, 152, 92,
- 7, 6, 1, 224, 96, 152, 92, 7, 6, 1, 153, 152, 92, 7, 6, 1, 222, 91, 152,
- 92, 7, 6, 1, 217, 152, 152, 92, 7, 6, 1, 70, 152, 92, 7, 6, 1, 214, 105,
- 152, 92, 7, 6, 1, 212, 98, 152, 92, 7, 6, 1, 211, 178, 152, 92, 7, 6, 1,
- 211, 117, 152, 92, 7, 6, 1, 210, 159, 249, 128, 152, 92, 7, 6, 1, 226,
- 105, 152, 92, 240, 113, 152, 92, 190, 152, 92, 206, 152, 92, 255, 25,
- 152, 92, 212, 23, 42, 247, 164, 92, 250, 23, 92, 249, 170, 92, 243, 252,
- 92, 240, 105, 92, 229, 86, 92, 229, 79, 92, 226, 214, 92, 219, 35, 92,
- 120, 2, 245, 31, 78, 92, 213, 119, 223, 103, 235, 239, 16, 1, 61, 223,
- 103, 235, 239, 16, 1, 253, 158, 223, 103, 235, 239, 16, 1, 251, 66, 223,
- 103, 235, 239, 16, 1, 249, 60, 223, 103, 235, 239, 16, 1, 75, 223, 103,
- 235, 239, 16, 1, 245, 6, 223, 103, 235, 239, 16, 1, 243, 202, 223, 103,
- 235, 239, 16, 1, 242, 60, 223, 103, 235, 239, 16, 1, 73, 223, 103, 235,
- 239, 16, 1, 235, 144, 223, 103, 235, 239, 16, 1, 235, 23, 223, 103, 235,
- 239, 16, 1, 156, 223, 103, 235, 239, 16, 1, 193, 223, 103, 235, 239, 16,
- 1, 230, 25, 223, 103, 235, 239, 16, 1, 76, 223, 103, 235, 239, 16, 1,
- 226, 105, 223, 103, 235, 239, 16, 1, 224, 96, 223, 103, 235, 239, 16, 1,
- 153, 223, 103, 235, 239, 16, 1, 222, 91, 223, 103, 235, 239, 16, 1, 217,
- 152, 223, 103, 235, 239, 16, 1, 70, 223, 103, 235, 239, 16, 1, 214, 105,
- 223, 103, 235, 239, 16, 1, 212, 98, 223, 103, 235, 239, 16, 1, 211, 178,
- 223, 103, 235, 239, 16, 1, 211, 117, 223, 103, 235, 239, 16, 1, 210, 159,
- 42, 141, 241, 63, 92, 56, 234, 18, 92, 56, 206, 92, 9, 214, 177, 238, 50,
- 92, 9, 214, 177, 238, 54, 92, 9, 214, 177, 238, 62, 92, 56, 248, 90, 92,
- 9, 214, 177, 238, 69, 92, 9, 214, 177, 238, 56, 92, 9, 214, 177, 238, 28,
- 92, 9, 214, 177, 238, 55, 92, 9, 214, 177, 238, 68, 92, 9, 214, 177, 238,
- 42, 92, 9, 214, 177, 238, 35, 92, 9, 214, 177, 238, 44, 92, 9, 214, 177,
- 238, 65, 92, 9, 214, 177, 238, 51, 92, 9, 214, 177, 238, 67, 92, 9, 214,
- 177, 238, 43, 92, 9, 214, 177, 238, 66, 92, 9, 214, 177, 238, 29, 92, 9,
- 214, 177, 238, 34, 92, 9, 214, 177, 238, 27, 92, 9, 214, 177, 238, 57,
- 92, 9, 214, 177, 238, 59, 92, 9, 214, 177, 238, 37, 92, 9, 214, 177, 238,
- 48, 92, 9, 214, 177, 238, 46, 92, 9, 214, 177, 238, 72, 92, 9, 214, 177,
- 238, 71, 92, 9, 214, 177, 238, 25, 92, 9, 214, 177, 238, 52, 92, 9, 214,
- 177, 238, 70, 92, 9, 214, 177, 238, 61, 92, 9, 214, 177, 238, 47, 92, 9,
- 214, 177, 238, 26, 92, 9, 214, 177, 238, 49, 92, 9, 214, 177, 238, 31,
- 92, 9, 214, 177, 238, 30, 92, 9, 214, 177, 238, 60, 92, 9, 214, 177, 238,
- 38, 92, 9, 214, 177, 238, 40, 92, 9, 214, 177, 238, 41, 92, 9, 214, 177,
- 238, 33, 92, 9, 214, 177, 238, 64, 92, 9, 214, 177, 238, 58, 216, 6, 220,
- 53, 251, 157, 9, 214, 177, 238, 39, 216, 6, 220, 53, 251, 157, 9, 214,
- 177, 238, 71, 216, 6, 220, 53, 251, 157, 9, 214, 177, 238, 69, 216, 6,
- 220, 53, 251, 157, 9, 214, 177, 238, 53, 216, 6, 220, 53, 251, 157, 9,
- 214, 177, 238, 36, 216, 6, 220, 53, 251, 157, 9, 214, 177, 238, 49, 216,
- 6, 220, 53, 251, 157, 9, 214, 177, 238, 32, 216, 6, 220, 53, 251, 157, 9,
- 214, 177, 238, 63, 216, 6, 220, 53, 251, 157, 9, 214, 177, 238, 45, 37,
- 154, 254, 245, 37, 154, 255, 12, 249, 71, 244, 42, 250, 0, 214, 194, 228,
- 213, 2, 218, 153, 218, 33, 117, 230, 114, 218, 32, 250, 26, 253, 207,
- 246, 54, 218, 31, 117, 251, 118, 223, 158, 251, 140, 253, 207, 228, 212,
- 212, 41, 212, 35, 213, 131, 230, 195, 212, 25, 245, 224, 242, 181, 245,
- 45, 245, 224, 242, 181, 254, 128, 245, 224, 242, 181, 253, 225, 242, 181,
- 2, 231, 51, 166, 230, 129, 87, 212, 27, 249, 137, 230, 129, 87, 244, 92,
- 224, 22, 230, 129, 87, 212, 27, 242, 210, 230, 129, 87, 243, 229, 230,
- 129, 87, 212, 52, 242, 210, 230, 129, 87, 233, 80, 224, 22, 230, 129, 87,
- 212, 52, 249, 137, 230, 129, 87, 249, 137, 230, 128, 166, 230, 129, 2,
- 244, 190, 244, 92, 224, 22, 230, 129, 2, 244, 190, 233, 80, 224, 22, 230,
- 129, 2, 244, 190, 243, 229, 230, 129, 2, 244, 190, 218, 38, 2, 244, 190,
- 242, 179, 218, 156, 219, 255, 218, 156, 250, 116, 221, 168, 245, 39, 215,
- 235, 248, 84, 215, 235, 226, 59, 215, 235, 251, 27, 215, 109, 250, 118,
- 251, 210, 222, 191, 241, 179, 218, 36, 251, 210, 245, 228, 64, 231, 194,
- 245, 228, 64, 223, 31, 241, 204, 244, 11, 233, 54, 249, 246, 231, 170,
- 233, 53, 244, 176, 233, 53, 233, 54, 244, 47, 236, 0, 211, 239, 230, 58,
- 216, 34, 253, 191, 242, 143, 231, 67, 212, 39, 217, 57, 233, 26, 252,
- 149, 225, 62, 223, 111, 254, 54, 242, 127, 254, 54, 225, 217, 225, 218,
- 250, 119, 218, 114, 242, 23, 219, 90, 64, 225, 44, 231, 87, 226, 197,
- 251, 194, 224, 229, 233, 36, 223, 32, 249, 142, 223, 32, 252, 159, 249,
- 173, 223, 31, 249, 95, 22, 223, 31, 218, 141, 251, 167, 219, 14, 251,
- 151, 243, 251, 243, 247, 222, 207, 217, 246, 224, 231, 248, 175, 226,
- 236, 218, 7, 243, 248, 219, 230, 244, 91, 251, 21, 2, 217, 239, 248, 35,
- 219, 52, 240, 112, 249, 141, 220, 70, 240, 111, 240, 112, 249, 141, 246,
- 108, 249, 172, 250, 84, 130, 250, 254, 232, 141, 249, 88, 241, 55, 224,
- 233, 219, 240, 252, 36, 251, 163, 224, 234, 64, 244, 33, 249, 171, 244,
- 24, 22, 234, 32, 217, 19, 211, 230, 242, 13, 222, 12, 251, 177, 22, 249,
- 102, 211, 237, 242, 184, 249, 235, 242, 184, 215, 193, 246, 90, 252, 62,
- 230, 93, 250, 7, 252, 62, 230, 92, 252, 187, 251, 176, 223, 33, 211, 201,
- 224, 195, 251, 235, 251, 20, 235, 138, 250, 77, 215, 235, 244, 162, 250,
- 76, 244, 94, 244, 95, 219, 12, 252, 158, 225, 250, 224, 244, 249, 204,
- 252, 159, 217, 59, 215, 235, 249, 128, 244, 67, 225, 63, 248, 81, 235,
- 131, 247, 131, 250, 232, 218, 113, 211, 240, 250, 98, 230, 129, 213, 164,
- 250, 162, 221, 199, 221, 224, 242, 148, 250, 251, 250, 233, 240, 245,
- 244, 130, 212, 0, 222, 200, 249, 236, 244, 86, 225, 2, 22, 244, 90, 230,
- 227, 230, 108, 251, 10, 250, 39, 241, 232, 253, 241, 226, 62, 216, 14,
- 241, 251, 250, 29, 216, 242, 216, 113, 250, 20, 251, 202, 225, 177, 253,
- 240, 213, 172, 243, 110, 247, 197, 241, 156, 219, 84, 231, 234, 251, 245,
- 243, 111, 247, 240, 251, 166, 244, 52, 225, 33, 250, 241, 28, 228, 47,
- 230, 85, 28, 228, 42, 221, 212, 242, 99, 28, 234, 137, 215, 190, 213,
- 154, 28, 221, 192, 222, 124, 220, 11, 2, 221, 227, 216, 244, 223, 178,
- 22, 252, 159, 219, 105, 22, 219, 105, 251, 187, 252, 123, 22, 241, 49,
- 250, 120, 244, 73, 219, 63, 222, 125, 218, 12, 215, 194, 240, 246, 223,
- 179, 254, 129, 244, 31, 222, 136, 244, 31, 217, 241, 240, 235, 251, 119,
- 240, 235, 2, 243, 94, 226, 229, 251, 119, 235, 131, 224, 239, 226, 228,
- 245, 44, 224, 239, 226, 228, 240, 244, 252, 145, 253, 181, 216, 252, 231,
- 234, 240, 240, 232, 111, 240, 240, 249, 176, 218, 125, 221, 198, 248, 43,
- 218, 125, 244, 180, 235, 149, 233, 89, 235, 131, 250, 226, 245, 44, 250,
- 226, 223, 141, 230, 112, 226, 114, 212, 41, 251, 123, 249, 145, 216, 106,
- 233, 18, 223, 180, 250, 224, 246, 96, 249, 135, 212, 3, 219, 70, 219, 68,
- 240, 245, 223, 153, 242, 170, 220, 57, 230, 145, 222, 194, 250, 108, 247,
- 136, 225, 73, 251, 203, 245, 169, 226, 238, 218, 252, 220, 52, 251, 122,
- 254, 92, 241, 54, 233, 121, 252, 60, 244, 90, 215, 193, 244, 90, 251,
- 209, 215, 91, 241, 249, 250, 109, 252, 187, 250, 109, 243, 242, 252, 187,
- 250, 109, 251, 237, 225, 195, 234, 26, 224, 248, 246, 87, 251, 11, 252,
- 177, 251, 11, 247, 130, 230, 113, 244, 190, 249, 146, 244, 190, 216, 107,
- 244, 190, 223, 181, 244, 190, 250, 225, 244, 190, 246, 97, 244, 190, 218,
- 241, 212, 3, 240, 246, 244, 190, 230, 146, 244, 190, 247, 137, 244, 190,
- 225, 74, 244, 190, 243, 245, 244, 190, 242, 20, 244, 190, 211, 224, 244,
- 190, 252, 71, 244, 190, 226, 45, 244, 190, 225, 74, 228, 53, 225, 232,
- 224, 186, 245, 13, 245, 227, 228, 53, 230, 110, 216, 19, 71, 120, 225, 7,
- 252, 182, 235, 242, 71, 124, 225, 7, 252, 182, 235, 242, 71, 43, 225, 7,
- 252, 182, 235, 242, 71, 44, 225, 7, 252, 182, 235, 242, 244, 84, 242, 16,
- 50, 212, 33, 242, 16, 50, 226, 215, 242, 16, 50, 216, 135, 120, 50, 216,
- 135, 124, 50, 250, 19, 242, 11, 50, 204, 242, 11, 50, 249, 123, 211, 220,
- 241, 251, 245, 14, 229, 104, 217, 151, 235, 125, 246, 92, 234, 82, 251,
- 247, 211, 220, 249, 249, 224, 127, 242, 14, 224, 230, 231, 177, 220, 4,
- 253, 203, 220, 4, 241, 164, 220, 4, 211, 220, 221, 240, 211, 220, 251,
- 186, 244, 29, 251, 90, 236, 0, 219, 169, 251, 89, 236, 0, 219, 169, 251,
- 162, 242, 194, 231, 185, 211, 221, 244, 174, 231, 186, 22, 211, 222, 241,
- 60, 242, 10, 113, 231, 59, 241, 60, 242, 10, 113, 211, 219, 241, 60, 242,
- 10, 224, 255, 226, 227, 211, 222, 2, 251, 106, 245, 225, 251, 141, 2,
- 213, 246, 225, 168, 2, 251, 212, 242, 34, 231, 186, 2, 242, 110, 225,
- 109, 231, 174, 231, 186, 2, 215, 97, 226, 208, 231, 185, 226, 208, 211,
- 221, 252, 186, 249, 190, 211, 205, 224, 189, 235, 131, 226, 223, 235,
- 131, 242, 169, 242, 222, 252, 187, 254, 113, 245, 18, 254, 160, 254, 161,
- 230, 136, 236, 5, 219, 100, 235, 232, 248, 34, 225, 167, 242, 105, 248,
- 179, 232, 201, 229, 211, 224, 254, 244, 191, 231, 142, 242, 33, 252, 138,
- 225, 1, 217, 171, 225, 66, 234, 64, 78, 232, 111, 233, 10, 222, 233, 243,
- 54, 218, 131, 234, 63, 251, 171, 249, 148, 2, 241, 227, 212, 19, 252, 69,
- 241, 227, 251, 135, 241, 227, 113, 241, 225, 219, 10, 241, 227, 242, 120,
- 241, 227, 241, 228, 2, 74, 251, 208, 241, 227, 242, 127, 241, 227, 211,
- 42, 241, 227, 224, 128, 241, 227, 241, 228, 2, 223, 33, 223, 44, 241,
- 225, 241, 228, 248, 81, 247, 249, 220, 82, 2, 115, 59, 235, 215, 245,
- 172, 192, 251, 116, 254, 112, 87, 251, 195, 219, 92, 87, 249, 228, 87,
- 218, 246, 217, 248, 87, 246, 85, 248, 157, 87, 225, 67, 64, 224, 249,
- 244, 61, 252, 3, 247, 165, 87, 219, 3, 252, 158, 216, 149, 252, 158, 71,
- 244, 51, 240, 211, 225, 5, 87, 230, 149, 252, 172, 249, 98, 245, 32, 114,
- 247, 132, 50, 249, 139, 250, 242, 252, 144, 2, 211, 40, 50, 252, 144, 2,
- 247, 132, 50, 252, 144, 2, 245, 47, 50, 252, 144, 2, 224, 228, 50, 230,
- 149, 2, 211, 235, 250, 138, 2, 214, 153, 215, 231, 22, 211, 40, 50, 221,
- 178, 225, 166, 249, 208, 251, 139, 230, 186, 244, 56, 247, 185, 226, 161,
- 247, 190, 246, 49, 244, 107, 244, 40, 204, 244, 107, 244, 40, 226, 76, 2,
- 249, 100, 226, 76, 244, 183, 214, 163, 251, 16, 217, 18, 251, 16, 250,
- 243, 235, 242, 250, 138, 2, 214, 153, 215, 230, 250, 138, 2, 246, 104,
- 215, 230, 252, 141, 250, 137, 250, 6, 224, 123, 222, 185, 224, 123, 226,
- 19, 218, 121, 222, 131, 215, 222, 222, 131, 251, 191, 217, 91, 233, 51,
- 228, 45, 228, 46, 2, 248, 80, 249, 147, 250, 0, 251, 192, 204, 251, 192,
- 242, 127, 251, 192, 251, 208, 251, 192, 226, 157, 251, 192, 251, 189,
- 229, 205, 252, 175, 221, 186, 231, 60, 217, 1, 223, 123, 226, 74, 244,
- 159, 231, 234, 221, 223, 254, 89, 224, 145, 254, 252, 232, 113, 250, 127,
- 231, 72, 226, 129, 215, 238, 235, 252, 215, 238, 226, 82, 246, 24, 87,
- 235, 249, 245, 119, 245, 120, 2, 246, 104, 80, 48, 250, 0, 231, 200, 2,
- 232, 107, 244, 73, 250, 0, 231, 200, 2, 223, 157, 244, 73, 204, 231, 200,
- 2, 223, 157, 244, 73, 204, 231, 200, 2, 232, 107, 244, 73, 224, 236, 224,
- 237, 240, 248, 229, 84, 230, 159, 225, 117, 230, 159, 225, 118, 2, 97,
- 80, 253, 207, 233, 46, 213, 175, 230, 158, 230, 159, 225, 118, 226, 230,
- 228, 75, 230, 159, 225, 116, 254, 90, 2, 252, 129, 251, 10, 213, 172,
- 251, 10, 216, 254, 223, 173, 213, 171, 215, 60, 97, 253, 247, 250, 2, 97,
- 22, 140, 204, 250, 36, 253, 247, 250, 2, 97, 22, 140, 204, 250, 36, 253,
- 248, 2, 37, 123, 226, 120, 250, 2, 246, 104, 22, 214, 153, 204, 250, 36,
- 253, 247, 254, 88, 246, 104, 22, 214, 153, 204, 250, 36, 253, 247, 121,
- 251, 138, 87, 125, 251, 138, 87, 219, 7, 2, 251, 4, 91, 219, 6, 219, 7,
- 2, 123, 219, 31, 212, 35, 219, 7, 2, 134, 219, 31, 212, 34, 252, 115,
- 245, 172, 225, 27, 233, 42, 231, 211, 242, 184, 222, 247, 231, 211, 242,
- 184, 232, 152, 2, 235, 225, 225, 199, 250, 0, 232, 152, 2, 234, 138, 234,
- 138, 232, 151, 204, 232, 151, 252, 44, 252, 45, 2, 251, 4, 91, 251, 190,
- 232, 204, 87, 223, 174, 251, 86, 252, 185, 2, 140, 80, 48, 245, 143, 2,
- 140, 80, 48, 226, 197, 2, 245, 31, 164, 2, 43, 44, 80, 48, 219, 39, 2,
- 97, 80, 48, 216, 14, 2, 214, 153, 80, 48, 228, 75, 123, 214, 184, 245,
- 191, 87, 234, 136, 216, 247, 235, 219, 16, 31, 7, 6, 233, 9, 235, 219,
- 16, 31, 7, 4, 233, 9, 235, 219, 16, 31, 227, 199, 235, 219, 16, 31, 217,
- 183, 235, 219, 16, 31, 7, 233, 9, 244, 96, 245, 172, 216, 9, 211, 199,
- 242, 21, 227, 182, 22, 251, 197, 241, 66, 225, 50, 230, 226, 216, 255,
- 249, 114, 252, 159, 219, 125, 225, 9, 218, 157, 2, 230, 224, 247, 120,
- 235, 131, 16, 31, 252, 57, 215, 220, 245, 156, 85, 42, 251, 86, 71, 42,
- 251, 86, 233, 85, 223, 111, 250, 35, 233, 85, 251, 208, 250, 35, 233, 85,
- 226, 157, 247, 248, 233, 85, 251, 208, 247, 248, 4, 226, 157, 247, 248,
- 4, 251, 208, 247, 248, 214, 162, 223, 111, 215, 225, 246, 105, 223, 111,
- 215, 225, 214, 162, 4, 223, 111, 215, 225, 246, 105, 4, 223, 111, 215,
- 225, 37, 249, 131, 224, 252, 249, 131, 224, 253, 2, 242, 26, 51, 249,
- 131, 224, 252, 228, 49, 43, 220, 153, 2, 134, 247, 118, 250, 4, 244, 191,
- 123, 226, 242, 250, 4, 244, 191, 113, 226, 242, 250, 4, 244, 191, 134,
- 226, 242, 250, 4, 244, 191, 244, 11, 226, 242, 250, 4, 244, 191, 244, 81,
- 226, 242, 250, 4, 244, 191, 219, 125, 226, 242, 250, 4, 244, 191, 220,
- 122, 226, 242, 250, 4, 244, 191, 245, 193, 226, 242, 250, 4, 244, 191,
- 228, 200, 226, 242, 250, 4, 244, 191, 216, 248, 226, 242, 250, 4, 244,
- 191, 245, 168, 226, 242, 250, 4, 244, 191, 215, 77, 226, 242, 250, 4,
- 244, 191, 226, 192, 250, 4, 244, 191, 215, 56, 250, 4, 244, 191, 216,
- 140, 250, 4, 244, 191, 244, 7, 250, 4, 244, 191, 244, 79, 250, 4, 244,
- 191, 219, 121, 250, 4, 244, 191, 220, 121, 250, 4, 244, 191, 245, 192,
- 250, 4, 244, 191, 228, 199, 250, 4, 244, 191, 216, 246, 250, 4, 244, 191,
- 245, 166, 250, 4, 244, 191, 215, 75, 230, 117, 243, 230, 216, 36, 216, 2,
- 218, 148, 64, 232, 239, 219, 170, 64, 235, 132, 230, 106, 242, 124, 244,
- 190, 242, 124, 244, 191, 2, 219, 74, 245, 13, 244, 191, 2, 217, 14, 64,
- 235, 53, 219, 74, 244, 191, 2, 204, 230, 110, 219, 74, 244, 191, 2, 204,
- 230, 111, 22, 219, 74, 245, 13, 219, 74, 244, 191, 2, 204, 230, 111, 22,
- 249, 230, 217, 247, 219, 74, 244, 191, 2, 204, 230, 111, 22, 216, 104,
- 245, 13, 219, 74, 244, 191, 2, 242, 25, 219, 74, 244, 191, 2, 240, 247,
- 211, 233, 244, 190, 219, 74, 244, 191, 2, 219, 74, 245, 13, 244, 191,
- 221, 217, 248, 62, 244, 33, 223, 88, 244, 190, 219, 74, 244, 191, 2, 241,
- 226, 245, 13, 219, 74, 244, 191, 2, 218, 34, 219, 73, 244, 190, 229, 87,
- 244, 190, 245, 23, 244, 190, 214, 188, 244, 190, 244, 191, 2, 249, 230,
- 217, 247, 225, 192, 244, 190, 249, 201, 244, 190, 249, 202, 244, 190,
- 234, 62, 244, 190, 244, 191, 216, 137, 115, 234, 63, 234, 62, 244, 191,
- 2, 219, 74, 245, 13, 234, 62, 244, 191, 2, 250, 0, 245, 13, 244, 191, 2,
- 218, 88, 216, 19, 244, 191, 2, 218, 88, 216, 20, 22, 211, 233, 245, 15,
- 244, 191, 2, 218, 88, 216, 20, 22, 216, 104, 245, 13, 247, 192, 244, 190,
- 211, 204, 244, 190, 254, 108, 244, 190, 224, 227, 244, 190, 249, 116,
- 244, 190, 225, 170, 244, 190, 244, 191, 2, 232, 126, 64, 215, 204, 247,
- 192, 251, 88, 223, 88, 244, 190, 243, 239, 244, 191, 2, 204, 230, 110,
- 254, 106, 244, 190, 244, 152, 244, 190, 212, 20, 244, 190, 219, 91, 244,
- 190, 216, 71, 244, 190, 242, 125, 244, 190, 232, 114, 249, 116, 244, 190,
- 244, 191, 2, 204, 230, 110, 240, 203, 244, 190, 244, 191, 2, 204, 230,
- 111, 22, 249, 230, 217, 247, 244, 191, 221, 190, 236, 0, 244, 153, 253,
- 213, 244, 190, 244, 49, 244, 190, 219, 92, 244, 190, 247, 165, 244, 190,
- 244, 191, 211, 230, 230, 110, 244, 191, 2, 231, 84, 231, 144, 242, 124,
- 250, 225, 244, 191, 2, 219, 74, 245, 13, 250, 225, 244, 191, 2, 217, 14,
- 64, 235, 53, 219, 74, 250, 225, 244, 191, 2, 204, 230, 110, 219, 74, 250,
- 225, 244, 191, 2, 241, 226, 245, 13, 250, 225, 244, 191, 2, 211, 196,
- 219, 75, 234, 62, 250, 225, 244, 191, 2, 250, 0, 245, 13, 224, 227, 250,
- 225, 244, 190, 249, 116, 250, 225, 244, 190, 212, 20, 250, 225, 244, 190,
- 244, 191, 2, 228, 75, 242, 163, 243, 34, 244, 191, 2, 226, 215, 243, 34,
- 225, 168, 251, 168, 248, 75, 221, 169, 230, 145, 241, 229, 230, 145, 219,
- 8, 230, 145, 242, 5, 225, 168, 223, 156, 123, 242, 15, 225, 168, 223,
- 156, 251, 178, 242, 11, 236, 0, 250, 179, 225, 168, 243, 238, 225, 168,
- 2, 224, 227, 244, 190, 225, 168, 2, 244, 41, 242, 10, 222, 203, 241, 214,
- 218, 143, 232, 149, 223, 162, 250, 244, 241, 162, 215, 248, 241, 162,
- 215, 249, 2, 251, 114, 228, 53, 215, 248, 231, 32, 192, 223, 163, 218,
- 149, 215, 246, 215, 247, 250, 244, 251, 92, 226, 194, 251, 92, 215, 201,
- 251, 93, 218, 129, 230, 187, 254, 130, 244, 97, 245, 137, 224, 255, 250,
- 244, 226, 194, 224, 255, 250, 244, 217, 32, 226, 194, 217, 32, 253, 180,
- 226, 194, 253, 180, 223, 118, 213, 247, 248, 58, 215, 192, 253, 242, 232,
- 117, 215, 254, 230, 139, 230, 116, 223, 161, 218, 6, 223, 161, 230, 116,
- 251, 28, 254, 229, 215, 245, 220, 16, 222, 182, 219, 1, 203, 215, 252,
- 232, 230, 67, 215, 252, 232, 230, 249, 190, 50, 224, 255, 250, 229, 223,
- 44, 232, 230, 215, 222, 244, 74, 226, 197, 224, 238, 247, 123, 228, 75,
- 245, 125, 50, 219, 72, 87, 228, 75, 219, 72, 87, 224, 122, 232, 193, 236,
- 0, 235, 157, 225, 41, 87, 247, 146, 228, 52, 232, 193, 87, 224, 232, 212,
- 41, 87, 228, 66, 212, 41, 87, 252, 2, 228, 75, 252, 1, 252, 0, 230, 116,
- 252, 0, 225, 213, 228, 75, 225, 212, 250, 100, 249, 124, 231, 56, 87,
- 211, 218, 87, 223, 59, 252, 187, 87, 216, 37, 212, 41, 249, 253, 219,
- 234, 252, 118, 252, 116, 225, 242, 249, 177, 249, 86, 252, 169, 250, 22,
- 43, 232, 90, 108, 16, 31, 224, 3, 108, 16, 31, 254, 192, 108, 16, 31,
- 244, 96, 108, 16, 31, 245, 223, 108, 16, 31, 212, 40, 108, 16, 31, 254,
- 43, 108, 16, 31, 254, 44, 223, 105, 108, 16, 31, 254, 44, 223, 104, 108,
- 16, 31, 254, 44, 213, 143, 108, 16, 31, 254, 44, 213, 142, 108, 16, 31,
+ 211, 8, 95, 25, 5, 254, 244, 95, 25, 5, 254, 240, 95, 25, 5, 245, 87, 95,
+ 25, 5, 222, 184, 245, 87, 95, 25, 5, 245, 93, 95, 25, 5, 222, 184, 245,
+ 93, 95, 25, 5, 254, 202, 95, 25, 5, 245, 196, 95, 25, 5, 253, 193, 95,
+ 25, 5, 226, 135, 95, 25, 5, 230, 26, 95, 25, 5, 229, 80, 95, 138, 222,
+ 252, 95, 138, 216, 15, 222, 252, 95, 138, 48, 95, 138, 51, 95, 1, 216,
+ 29, 95, 1, 216, 28, 95, 1, 216, 27, 95, 1, 216, 26, 95, 1, 216, 25, 95,
+ 1, 216, 24, 95, 1, 216, 23, 95, 1, 223, 107, 216, 30, 95, 1, 223, 107,
+ 216, 29, 95, 1, 223, 107, 216, 27, 95, 1, 223, 107, 216, 26, 95, 1, 223,
+ 107, 216, 25, 95, 1, 223, 107, 216, 23, 56, 1, 254, 24, 75, 141, 1, 254,
+ 24, 211, 47, 49, 28, 16, 224, 155, 49, 28, 16, 248, 159, 49, 28, 16, 225,
+ 176, 49, 28, 16, 226, 114, 245, 179, 49, 28, 16, 226, 114, 247, 202, 49,
+ 28, 16, 214, 16, 245, 179, 49, 28, 16, 214, 16, 247, 202, 49, 28, 16,
+ 234, 198, 49, 28, 16, 217, 170, 49, 28, 16, 226, 10, 49, 28, 16, 210,
+ 217, 49, 28, 16, 210, 218, 247, 202, 49, 28, 16, 233, 235, 49, 28, 16,
+ 254, 69, 245, 179, 49, 28, 16, 245, 27, 245, 179, 49, 28, 16, 217, 3, 49,
+ 28, 16, 234, 162, 49, 28, 16, 254, 59, 49, 28, 16, 254, 60, 247, 202, 49,
+ 28, 16, 217, 176, 49, 28, 16, 216, 160, 49, 28, 16, 226, 207, 254, 22,
+ 49, 28, 16, 242, 160, 254, 22, 49, 28, 16, 224, 154, 49, 28, 16, 250,
+ 150, 49, 28, 16, 214, 6, 49, 28, 16, 235, 165, 254, 22, 49, 28, 16, 234,
+ 164, 254, 22, 49, 28, 16, 234, 163, 254, 22, 49, 28, 16, 221, 214, 49,
+ 28, 16, 226, 1, 49, 28, 16, 218, 147, 254, 62, 49, 28, 16, 226, 113, 254,
+ 22, 49, 28, 16, 214, 15, 254, 22, 49, 28, 16, 254, 63, 254, 22, 49, 28,
+ 16, 254, 57, 49, 28, 16, 234, 38, 49, 28, 16, 223, 47, 49, 28, 16, 225,
+ 107, 254, 22, 49, 28, 16, 216, 84, 49, 28, 16, 254, 122, 49, 28, 16, 221,
+ 160, 49, 28, 16, 217, 179, 254, 22, 49, 28, 16, 217, 179, 231, 41, 218,
+ 145, 49, 28, 16, 226, 108, 254, 22, 49, 28, 16, 216, 191, 49, 28, 16,
+ 233, 28, 49, 28, 16, 246, 42, 49, 28, 16, 215, 228, 49, 28, 16, 216, 233,
+ 49, 28, 16, 233, 238, 49, 28, 16, 254, 69, 245, 27, 229, 96, 49, 28, 16,
+ 243, 237, 254, 22, 49, 28, 16, 236, 13, 49, 28, 16, 215, 200, 254, 22,
+ 49, 28, 16, 234, 201, 215, 199, 49, 28, 16, 225, 201, 49, 28, 16, 224,
+ 159, 49, 28, 16, 234, 12, 49, 28, 16, 250, 81, 254, 22, 49, 28, 16, 223,
+ 147, 49, 28, 16, 226, 13, 254, 22, 49, 28, 16, 226, 11, 254, 22, 49, 28,
+ 16, 240, 110, 49, 28, 16, 229, 204, 49, 28, 16, 225, 157, 49, 28, 16,
+ 234, 13, 254, 150, 49, 28, 16, 215, 200, 254, 150, 49, 28, 16, 218, 124,
+ 49, 28, 16, 242, 124, 49, 28, 16, 235, 165, 229, 96, 49, 28, 16, 226,
+ 207, 229, 96, 49, 28, 16, 226, 114, 229, 96, 49, 28, 16, 225, 156, 49,
+ 28, 16, 233, 255, 49, 28, 16, 225, 155, 49, 28, 16, 233, 237, 49, 28, 16,
+ 225, 202, 229, 96, 49, 28, 16, 234, 163, 229, 97, 254, 97, 49, 28, 16,
+ 234, 164, 229, 97, 254, 97, 49, 28, 16, 210, 215, 49, 28, 16, 254, 60,
+ 229, 96, 49, 28, 16, 254, 61, 217, 177, 229, 96, 49, 28, 16, 210, 216,
+ 49, 28, 16, 233, 236, 49, 28, 16, 245, 174, 49, 28, 16, 250, 151, 49, 28,
+ 16, 230, 199, 235, 164, 49, 28, 16, 214, 16, 229, 96, 49, 28, 16, 225,
+ 107, 229, 96, 49, 28, 16, 224, 160, 229, 96, 49, 28, 16, 226, 204, 49,
+ 28, 16, 254, 85, 49, 28, 16, 232, 59, 49, 28, 16, 226, 11, 229, 96, 49,
+ 28, 16, 226, 13, 229, 96, 49, 28, 16, 245, 61, 226, 12, 49, 28, 16, 233,
+ 154, 49, 28, 16, 254, 86, 49, 28, 16, 215, 200, 229, 96, 49, 28, 16, 245,
+ 177, 49, 28, 16, 217, 179, 229, 96, 49, 28, 16, 217, 171, 49, 28, 16,
+ 250, 81, 229, 96, 49, 28, 16, 245, 107, 49, 28, 16, 221, 161, 229, 96,
+ 49, 28, 16, 211, 151, 234, 38, 49, 28, 16, 215, 197, 49, 28, 16, 224,
+ 161, 49, 28, 16, 215, 201, 49, 28, 16, 215, 198, 49, 28, 16, 224, 158,
+ 49, 28, 16, 215, 196, 49, 28, 16, 224, 157, 49, 28, 16, 242, 159, 49, 28,
+ 16, 254, 15, 49, 28, 16, 245, 61, 254, 15, 49, 28, 16, 226, 108, 229, 96,
+ 49, 28, 16, 216, 190, 245, 70, 49, 28, 16, 216, 190, 245, 26, 49, 28, 16,
+ 216, 192, 254, 64, 49, 28, 16, 216, 185, 234, 248, 254, 56, 49, 28, 16,
+ 234, 200, 49, 28, 16, 245, 140, 49, 28, 16, 211, 11, 234, 197, 49, 28,
+ 16, 211, 11, 254, 97, 49, 28, 16, 218, 146, 49, 28, 16, 234, 39, 254, 97,
+ 49, 28, 16, 247, 203, 254, 22, 49, 28, 16, 233, 239, 254, 22, 49, 28, 16,
+ 233, 239, 254, 150, 49, 28, 16, 233, 239, 229, 96, 49, 28, 16, 254, 63,
+ 229, 96, 49, 28, 16, 254, 65, 49, 28, 16, 247, 202, 49, 28, 16, 215, 211,
+ 49, 28, 16, 216, 225, 49, 28, 16, 234, 3, 49, 28, 16, 233, 33, 245, 135,
+ 250, 72, 49, 28, 16, 233, 33, 246, 43, 250, 73, 49, 28, 16, 233, 33, 215,
+ 213, 250, 73, 49, 28, 16, 233, 33, 216, 235, 250, 73, 49, 28, 16, 233,
+ 33, 236, 8, 250, 72, 49, 28, 16, 242, 160, 229, 97, 254, 97, 49, 28, 16,
+ 242, 160, 226, 2, 254, 11, 49, 28, 16, 242, 160, 226, 2, 248, 30, 49, 28,
+ 16, 247, 226, 49, 28, 16, 247, 227, 226, 2, 254, 12, 234, 197, 49, 28,
+ 16, 247, 227, 226, 2, 254, 12, 254, 97, 49, 28, 16, 247, 227, 226, 2,
+ 248, 30, 49, 28, 16, 215, 217, 49, 28, 16, 254, 16, 49, 28, 16, 236, 15,
+ 49, 28, 16, 247, 247, 49, 28, 16, 254, 212, 225, 1, 254, 17, 49, 28, 16,
+ 254, 212, 254, 14, 49, 28, 16, 254, 212, 254, 17, 49, 28, 16, 254, 212,
+ 231, 35, 49, 28, 16, 254, 212, 231, 46, 49, 28, 16, 254, 212, 242, 161,
+ 49, 28, 16, 254, 212, 242, 158, 49, 28, 16, 254, 212, 225, 1, 242, 161,
+ 49, 28, 16, 231, 152, 224, 166, 240, 108, 49, 28, 16, 231, 152, 254, 152,
+ 224, 166, 240, 108, 49, 28, 16, 231, 152, 248, 29, 240, 108, 49, 28, 16,
+ 231, 152, 254, 152, 248, 29, 240, 108, 49, 28, 16, 231, 152, 215, 206,
+ 240, 108, 49, 28, 16, 231, 152, 215, 218, 49, 28, 16, 231, 152, 216, 229,
+ 240, 108, 49, 28, 16, 231, 152, 216, 229, 233, 36, 240, 108, 49, 28, 16,
+ 231, 152, 233, 36, 240, 108, 49, 28, 16, 231, 152, 225, 40, 240, 108, 49,
+ 28, 16, 235, 170, 216, 252, 240, 109, 49, 28, 16, 254, 61, 216, 252, 240,
+ 109, 49, 28, 16, 244, 173, 216, 226, 49, 28, 16, 244, 173, 230, 144, 49,
+ 28, 16, 244, 173, 247, 231, 49, 28, 16, 231, 152, 214, 10, 240, 108, 49,
+ 28, 16, 231, 152, 224, 165, 240, 108, 49, 28, 16, 231, 152, 225, 40, 216,
+ 229, 240, 108, 49, 28, 16, 242, 156, 230, 27, 254, 64, 49, 28, 16, 242,
+ 156, 230, 27, 247, 201, 49, 28, 16, 245, 149, 234, 248, 243, 237, 213,
+ 124, 49, 28, 16, 236, 14, 49, 28, 16, 236, 12, 49, 28, 16, 243, 237, 254,
+ 23, 248, 28, 240, 107, 49, 28, 16, 243, 237, 247, 245, 190, 49, 28, 16,
+ 243, 237, 247, 245, 229, 204, 49, 28, 16, 243, 237, 229, 199, 240, 108,
+ 49, 28, 16, 243, 237, 247, 245, 248, 4, 49, 28, 16, 243, 237, 219, 103,
+ 247, 244, 248, 4, 49, 28, 16, 243, 237, 247, 245, 234, 183, 49, 28, 16,
+ 243, 237, 247, 245, 210, 23, 49, 28, 16, 243, 237, 247, 245, 228, 235,
+ 234, 197, 49, 28, 16, 243, 237, 247, 245, 228, 235, 254, 97, 49, 28, 16,
+ 243, 237, 231, 192, 250, 74, 247, 231, 49, 28, 16, 243, 237, 231, 192,
+ 250, 74, 230, 144, 49, 28, 16, 244, 123, 219, 103, 250, 74, 214, 9, 49,
+ 28, 16, 243, 237, 219, 103, 250, 74, 217, 180, 49, 28, 16, 243, 237, 229,
+ 98, 49, 28, 16, 250, 75, 209, 249, 49, 28, 16, 250, 75, 234, 37, 49, 28,
+ 16, 250, 75, 219, 10, 49, 28, 16, 243, 237, 240, 155, 211, 10, 216, 230,
+ 49, 28, 16, 243, 237, 245, 150, 254, 87, 49, 28, 16, 211, 10, 215, 207,
+ 49, 28, 16, 247, 239, 215, 207, 49, 28, 16, 247, 239, 216, 230, 49, 28,
+ 16, 247, 239, 254, 66, 246, 43, 247, 140, 49, 28, 16, 247, 239, 230, 142,
+ 216, 234, 247, 140, 49, 28, 16, 247, 239, 247, 223, 245, 37, 247, 140,
+ 49, 28, 16, 247, 239, 215, 215, 226, 212, 247, 140, 49, 28, 16, 211, 10,
+ 254, 66, 246, 43, 247, 140, 49, 28, 16, 211, 10, 230, 142, 216, 234, 247,
+ 140, 49, 28, 16, 211, 10, 247, 223, 245, 37, 247, 140, 49, 28, 16, 211,
+ 10, 215, 215, 226, 212, 247, 140, 49, 28, 16, 243, 50, 247, 238, 49, 28,
+ 16, 243, 50, 211, 9, 49, 28, 16, 247, 246, 254, 66, 230, 200, 49, 28, 16,
+ 247, 246, 254, 66, 231, 74, 49, 28, 16, 247, 246, 247, 202, 49, 28, 16,
+ 247, 246, 216, 183, 49, 28, 16, 219, 164, 216, 183, 49, 28, 16, 219, 164,
+ 216, 184, 247, 187, 49, 28, 16, 219, 164, 216, 184, 215, 208, 49, 28, 16,
+ 219, 164, 216, 184, 216, 223, 49, 28, 16, 219, 164, 253, 245, 49, 28, 16,
+ 219, 164, 253, 246, 247, 187, 49, 28, 16, 219, 164, 253, 246, 215, 208,
+ 49, 28, 16, 219, 164, 253, 246, 216, 223, 49, 28, 16, 247, 224, 243, 31,
+ 49, 28, 16, 247, 230, 226, 135, 49, 28, 16, 218, 138, 49, 28, 16, 254, 8,
+ 190, 49, 28, 16, 254, 8, 213, 124, 49, 28, 16, 254, 8, 243, 136, 49, 28,
+ 16, 254, 8, 248, 4, 49, 28, 16, 254, 8, 234, 183, 49, 28, 16, 254, 8,
+ 210, 23, 49, 28, 16, 254, 8, 228, 234, 49, 28, 16, 234, 163, 229, 97,
+ 231, 45, 49, 28, 16, 234, 164, 229, 97, 231, 45, 49, 28, 16, 234, 163,
+ 229, 97, 234, 197, 49, 28, 16, 234, 164, 229, 97, 234, 197, 49, 28, 16,
+ 234, 39, 234, 197, 49, 28, 16, 242, 160, 229, 97, 234, 197, 28, 16, 219,
+ 156, 252, 136, 28, 16, 52, 252, 136, 28, 16, 40, 252, 136, 28, 16, 223,
+ 51, 40, 252, 136, 28, 16, 248, 156, 252, 136, 28, 16, 219, 252, 252, 136,
+ 28, 16, 43, 223, 78, 50, 28, 16, 44, 223, 78, 50, 28, 16, 223, 78, 247,
+ 119, 28, 16, 248, 197, 221, 164, 28, 16, 248, 223, 250, 250, 28, 16, 221,
+ 164, 28, 16, 249, 235, 28, 16, 223, 76, 244, 112, 28, 16, 223, 76, 244,
+ 111, 28, 16, 223, 76, 244, 110, 28, 16, 244, 132, 28, 16, 244, 133, 51,
+ 28, 16, 251, 149, 78, 28, 16, 251, 25, 28, 16, 251, 160, 28, 16, 127, 28,
+ 16, 226, 194, 218, 164, 28, 16, 215, 57, 218, 164, 28, 16, 216, 143, 218,
+ 164, 28, 16, 244, 11, 218, 164, 28, 16, 244, 81, 218, 164, 28, 16, 219,
+ 125, 218, 164, 28, 16, 219, 123, 243, 251, 28, 16, 244, 9, 243, 251, 28,
+ 16, 243, 204, 250, 15, 28, 16, 243, 204, 250, 16, 226, 137, 254, 143, 28,
+ 16, 243, 204, 250, 16, 226, 137, 252, 123, 28, 16, 251, 68, 250, 15, 28,
+ 16, 245, 8, 250, 15, 28, 16, 245, 8, 250, 16, 226, 137, 254, 143, 28, 16,
+ 245, 8, 250, 16, 226, 137, 252, 123, 28, 16, 246, 84, 250, 14, 28, 16,
+ 246, 84, 250, 13, 28, 16, 230, 86, 231, 91, 223, 62, 28, 16, 52, 220, 76,
+ 28, 16, 52, 244, 66, 28, 16, 244, 67, 214, 163, 28, 16, 244, 67, 246,
+ 107, 28, 16, 229, 189, 214, 163, 28, 16, 229, 189, 246, 107, 28, 16, 220,
+ 77, 214, 163, 28, 16, 220, 77, 246, 107, 28, 16, 224, 23, 138, 220, 76,
+ 28, 16, 224, 23, 138, 244, 66, 28, 16, 249, 217, 216, 88, 28, 16, 249,
+ 86, 216, 88, 28, 16, 226, 137, 254, 143, 28, 16, 226, 137, 252, 123, 28,
+ 16, 224, 5, 254, 143, 28, 16, 224, 5, 252, 123, 28, 16, 230, 89, 223, 62,
+ 28, 16, 211, 251, 223, 62, 28, 16, 163, 223, 62, 28, 16, 224, 23, 223,
+ 62, 28, 16, 245, 190, 223, 62, 28, 16, 219, 119, 223, 62, 28, 16, 216,
+ 161, 223, 62, 28, 16, 219, 111, 223, 62, 28, 16, 123, 240, 212, 215, 71,
+ 223, 62, 28, 16, 211, 179, 228, 44, 28, 16, 96, 228, 44, 28, 16, 250, 37,
+ 211, 179, 228, 44, 28, 16, 42, 228, 45, 211, 253, 28, 16, 42, 228, 45,
+ 251, 222, 28, 16, 215, 227, 228, 45, 120, 211, 253, 28, 16, 215, 227,
+ 228, 45, 120, 251, 222, 28, 16, 215, 227, 228, 45, 43, 211, 253, 28, 16,
+ 215, 227, 228, 45, 43, 251, 222, 28, 16, 215, 227, 228, 45, 44, 211, 253,
+ 28, 16, 215, 227, 228, 45, 44, 251, 222, 28, 16, 215, 227, 228, 45, 124,
+ 211, 253, 28, 16, 215, 227, 228, 45, 124, 251, 222, 28, 16, 215, 227,
+ 228, 45, 120, 44, 211, 253, 28, 16, 215, 227, 228, 45, 120, 44, 251, 222,
+ 28, 16, 230, 130, 228, 45, 211, 253, 28, 16, 230, 130, 228, 45, 251, 222,
+ 28, 16, 215, 224, 228, 45, 124, 211, 253, 28, 16, 215, 224, 228, 45, 124,
+ 251, 222, 28, 16, 226, 5, 228, 44, 28, 16, 213, 132, 228, 44, 28, 16,
+ 228, 45, 251, 222, 28, 16, 227, 204, 228, 44, 28, 16, 249, 242, 228, 45,
+ 211, 253, 28, 16, 249, 242, 228, 45, 251, 222, 28, 16, 251, 147, 28, 16,
+ 211, 251, 228, 48, 28, 16, 163, 228, 48, 28, 16, 224, 23, 228, 48, 28,
+ 16, 245, 190, 228, 48, 28, 16, 219, 119, 228, 48, 28, 16, 216, 161, 228,
+ 48, 28, 16, 219, 111, 228, 48, 28, 16, 123, 240, 212, 215, 71, 228, 48,
+ 28, 16, 38, 218, 140, 28, 16, 38, 218, 241, 218, 140, 28, 16, 38, 215,
+ 235, 28, 16, 38, 215, 234, 28, 16, 38, 215, 233, 28, 16, 244, 102, 215,
+ 235, 28, 16, 244, 102, 215, 234, 28, 16, 244, 102, 215, 233, 28, 16, 38,
+ 253, 190, 247, 121, 28, 16, 38, 244, 73, 28, 16, 38, 244, 72, 28, 16, 38,
+ 244, 71, 28, 16, 38, 244, 70, 28, 16, 38, 244, 69, 28, 16, 252, 59, 252,
+ 75, 28, 16, 245, 144, 252, 75, 28, 16, 252, 59, 216, 112, 28, 16, 245,
+ 144, 216, 112, 28, 16, 252, 59, 219, 81, 28, 16, 245, 144, 219, 81, 28,
+ 16, 252, 59, 225, 116, 28, 16, 245, 144, 225, 116, 28, 16, 38, 255, 15,
+ 28, 16, 38, 218, 166, 28, 16, 38, 216, 239, 28, 16, 38, 218, 167, 28, 16,
+ 38, 231, 163, 28, 16, 38, 231, 162, 28, 16, 38, 255, 14, 28, 16, 38, 232,
+ 113, 28, 16, 253, 255, 214, 163, 28, 16, 253, 255, 246, 107, 28, 16, 38,
+ 247, 136, 28, 16, 38, 222, 232, 28, 16, 38, 244, 59, 28, 16, 38, 219, 77,
+ 28, 16, 38, 252, 39, 28, 16, 38, 52, 216, 20, 28, 16, 38, 215, 212, 216,
+ 20, 28, 16, 222, 236, 28, 16, 218, 76, 28, 16, 210, 159, 28, 16, 225,
+ 108, 28, 16, 231, 26, 28, 16, 244, 18, 28, 16, 249, 139, 28, 16, 248, 79,
+ 28, 16, 242, 151, 228, 49, 219, 96, 28, 16, 242, 151, 228, 49, 228, 76,
+ 219, 96, 28, 16, 216, 1, 28, 16, 215, 95, 28, 16, 235, 194, 215, 95, 28,
+ 16, 215, 96, 219, 96, 28, 16, 215, 96, 214, 163, 28, 16, 226, 149, 218,
+ 103, 28, 16, 226, 149, 218, 100, 28, 16, 226, 149, 218, 99, 28, 16, 226,
+ 149, 218, 98, 28, 16, 226, 149, 218, 97, 28, 16, 226, 149, 218, 96, 28,
+ 16, 226, 149, 218, 95, 28, 16, 226, 149, 218, 94, 28, 16, 226, 149, 218,
+ 93, 28, 16, 226, 149, 218, 102, 28, 16, 226, 149, 218, 101, 28, 16, 241,
+ 246, 28, 16, 229, 106, 28, 16, 245, 144, 64, 218, 134, 28, 16, 248, 72,
+ 219, 96, 28, 16, 38, 124, 251, 170, 28, 16, 38, 120, 251, 170, 28, 16,
+ 38, 242, 1, 28, 16, 38, 219, 68, 225, 44, 28, 16, 225, 217, 78, 28, 16,
+ 225, 217, 120, 78, 28, 16, 163, 225, 217, 78, 28, 16, 242, 183, 214, 163,
+ 28, 16, 242, 183, 246, 107, 28, 16, 2, 244, 101, 28, 16, 248, 181, 28,
+ 16, 248, 182, 254, 155, 28, 16, 231, 134, 28, 16, 232, 130, 28, 16, 251,
+ 144, 28, 16, 220, 155, 211, 253, 28, 16, 220, 155, 251, 222, 28, 16, 230,
+ 185, 28, 16, 230, 186, 251, 222, 28, 16, 220, 149, 211, 253, 28, 16, 220,
+ 149, 251, 222, 28, 16, 243, 221, 211, 253, 28, 16, 243, 221, 251, 222,
+ 28, 16, 232, 131, 225, 181, 223, 62, 28, 16, 232, 131, 236, 5, 223, 62,
+ 28, 16, 251, 145, 223, 62, 28, 16, 220, 155, 223, 62, 28, 16, 230, 186,
+ 223, 62, 28, 16, 220, 149, 223, 62, 28, 16, 216, 250, 225, 179, 249, 108,
+ 224, 175, 225, 180, 28, 16, 216, 250, 225, 179, 249, 108, 224, 175, 236,
+ 4, 28, 16, 216, 250, 225, 179, 249, 108, 224, 175, 225, 181, 247, 212,
+ 28, 16, 216, 250, 236, 3, 249, 108, 224, 175, 225, 180, 28, 16, 216, 250,
+ 236, 3, 249, 108, 224, 175, 236, 4, 28, 16, 216, 250, 236, 3, 249, 108,
+ 224, 175, 236, 5, 247, 212, 28, 16, 216, 250, 236, 3, 249, 108, 224, 175,
+ 236, 5, 247, 211, 28, 16, 216, 250, 236, 3, 249, 108, 224, 175, 236, 5,
+ 247, 210, 28, 16, 249, 134, 28, 16, 242, 127, 251, 68, 250, 15, 28, 16,
+ 242, 127, 245, 8, 250, 15, 28, 16, 42, 253, 159, 28, 16, 213, 151, 28,
+ 16, 225, 15, 28, 16, 250, 6, 28, 16, 221, 204, 28, 16, 250, 10, 28, 16,
+ 216, 8, 28, 16, 224, 243, 28, 16, 224, 244, 244, 61, 28, 16, 221, 205,
+ 244, 61, 28, 16, 216, 9, 223, 59, 28, 16, 225, 164, 218, 67, 26, 213,
+ 137, 188, 217, 230, 26, 213, 137, 188, 217, 219, 26, 213, 137, 188, 217,
+ 209, 26, 213, 137, 188, 217, 202, 26, 213, 137, 188, 217, 194, 26, 213,
+ 137, 188, 217, 188, 26, 213, 137, 188, 217, 187, 26, 213, 137, 188, 217,
+ 186, 26, 213, 137, 188, 217, 185, 26, 213, 137, 188, 217, 229, 26, 213,
+ 137, 188, 217, 228, 26, 213, 137, 188, 217, 227, 26, 213, 137, 188, 217,
+ 226, 26, 213, 137, 188, 217, 225, 26, 213, 137, 188, 217, 224, 26, 213,
+ 137, 188, 217, 223, 26, 213, 137, 188, 217, 222, 26, 213, 137, 188, 217,
+ 221, 26, 213, 137, 188, 217, 220, 26, 213, 137, 188, 217, 218, 26, 213,
+ 137, 188, 217, 217, 26, 213, 137, 188, 217, 216, 26, 213, 137, 188, 217,
+ 215, 26, 213, 137, 188, 217, 214, 26, 213, 137, 188, 217, 193, 26, 213,
+ 137, 188, 217, 192, 26, 213, 137, 188, 217, 191, 26, 213, 137, 188, 217,
+ 190, 26, 213, 137, 188, 217, 189, 26, 235, 215, 188, 217, 230, 26, 235,
+ 215, 188, 217, 219, 26, 235, 215, 188, 217, 202, 26, 235, 215, 188, 217,
+ 194, 26, 235, 215, 188, 217, 187, 26, 235, 215, 188, 217, 186, 26, 235,
+ 215, 188, 217, 228, 26, 235, 215, 188, 217, 227, 26, 235, 215, 188, 217,
+ 226, 26, 235, 215, 188, 217, 225, 26, 235, 215, 188, 217, 222, 26, 235,
+ 215, 188, 217, 221, 26, 235, 215, 188, 217, 220, 26, 235, 215, 188, 217,
+ 215, 26, 235, 215, 188, 217, 214, 26, 235, 215, 188, 217, 213, 26, 235,
+ 215, 188, 217, 212, 26, 235, 215, 188, 217, 211, 26, 235, 215, 188, 217,
+ 210, 26, 235, 215, 188, 217, 208, 26, 235, 215, 188, 217, 207, 26, 235,
+ 215, 188, 217, 206, 26, 235, 215, 188, 217, 205, 26, 235, 215, 188, 217,
+ 204, 26, 235, 215, 188, 217, 203, 26, 235, 215, 188, 217, 201, 26, 235,
+ 215, 188, 217, 200, 26, 235, 215, 188, 217, 199, 26, 235, 215, 188, 217,
+ 198, 26, 235, 215, 188, 217, 197, 26, 235, 215, 188, 217, 196, 26, 235,
+ 215, 188, 217, 195, 26, 235, 215, 188, 217, 193, 26, 235, 215, 188, 217,
+ 192, 26, 235, 215, 188, 217, 191, 26, 235, 215, 188, 217, 190, 26, 235,
+ 215, 188, 217, 189, 38, 26, 28, 215, 209, 38, 26, 28, 216, 224, 38, 26,
+ 28, 225, 189, 26, 28, 233, 32, 230, 143, 31, 245, 224, 247, 225, 31, 241,
+ 223, 245, 224, 247, 225, 31, 240, 215, 245, 224, 247, 225, 31, 245, 223,
+ 241, 224, 247, 225, 31, 245, 223, 240, 214, 247, 225, 31, 245, 224, 180,
+ 31, 250, 175, 180, 31, 243, 230, 250, 36, 180, 31, 230, 178, 180, 31,
+ 252, 131, 180, 31, 234, 180, 219, 80, 180, 31, 249, 180, 180, 31, 253,
+ 234, 180, 31, 226, 164, 180, 31, 251, 154, 226, 131, 180, 31, 248, 74,
+ 177, 247, 180, 180, 31, 247, 177, 180, 31, 210, 222, 180, 31, 235, 248,
+ 180, 31, 225, 198, 180, 31, 223, 128, 180, 31, 249, 190, 180, 31, 241,
+ 61, 252, 185, 180, 31, 212, 59, 180, 31, 244, 40, 180, 31, 254, 247, 180,
+ 31, 223, 90, 180, 31, 223, 66, 180, 31, 245, 222, 180, 31, 235, 54, 180,
+ 31, 249, 185, 180, 31, 245, 143, 180, 31, 246, 53, 180, 31, 250, 146,
+ 180, 31, 248, 83, 180, 31, 23, 223, 65, 180, 31, 226, 82, 180, 31, 233,
+ 35, 180, 31, 249, 255, 180, 31, 234, 78, 180, 31, 243, 87, 180, 31, 218,
+ 113, 180, 31, 224, 131, 180, 31, 243, 229, 180, 31, 223, 67, 180, 31,
+ 233, 72, 177, 230, 158, 180, 31, 223, 63, 180, 31, 242, 169, 216, 43,
+ 231, 77, 180, 31, 245, 145, 180, 31, 218, 125, 180, 31, 242, 129, 180,
+ 31, 245, 137, 180, 31, 225, 236, 180, 31, 222, 226, 180, 31, 244, 60,
+ 180, 31, 214, 8, 177, 212, 44, 180, 31, 249, 194, 180, 31, 231, 90, 180,
+ 31, 245, 62, 180, 31, 214, 172, 180, 31, 247, 213, 180, 31, 250, 1, 230,
+ 111, 180, 31, 242, 107, 180, 31, 243, 88, 236, 0, 180, 31, 231, 142, 180,
+ 31, 255, 11, 180, 31, 245, 158, 180, 31, 246, 110, 180, 31, 212, 42, 180,
+ 31, 219, 151, 180, 31, 235, 223, 180, 31, 248, 43, 180, 31, 248, 161,
+ 180, 31, 247, 209, 180, 31, 245, 30, 180, 31, 220, 116, 180, 31, 218,
+ 129, 180, 31, 242, 3, 180, 31, 249, 213, 180, 31, 249, 252, 180, 31, 244,
+ 178, 180, 31, 254, 213, 180, 31, 249, 212, 180, 31, 226, 198, 216, 197,
+ 213, 242, 180, 31, 247, 233, 180, 31, 233, 125, 180, 31, 244, 14, 249,
+ 150, 222, 203, 214, 174, 21, 110, 249, 150, 222, 203, 214, 174, 21, 105,
+ 249, 150, 222, 203, 214, 174, 21, 158, 249, 150, 222, 203, 214, 174, 21,
+ 161, 249, 150, 222, 203, 214, 174, 21, 189, 249, 150, 222, 203, 214, 174,
+ 21, 194, 249, 150, 222, 203, 214, 174, 21, 198, 249, 150, 222, 203, 214,
+ 174, 21, 195, 249, 150, 222, 203, 214, 174, 21, 200, 249, 150, 222, 203,
+ 216, 244, 21, 110, 249, 150, 222, 203, 216, 244, 21, 105, 249, 150, 222,
+ 203, 216, 244, 21, 158, 249, 150, 222, 203, 216, 244, 21, 161, 249, 150,
+ 222, 203, 216, 244, 21, 189, 249, 150, 222, 203, 216, 244, 21, 194, 249,
+ 150, 222, 203, 216, 244, 21, 198, 249, 150, 222, 203, 216, 244, 21, 195,
+ 249, 150, 222, 203, 216, 244, 21, 200, 11, 23, 6, 61, 11, 23, 6, 253,
+ 159, 11, 23, 6, 251, 67, 11, 23, 6, 249, 61, 11, 23, 6, 75, 11, 23, 6,
+ 245, 7, 11, 23, 6, 243, 203, 11, 23, 6, 242, 61, 11, 23, 6, 73, 11, 23,
+ 6, 235, 145, 11, 23, 6, 235, 24, 11, 23, 6, 156, 11, 23, 6, 193, 11, 23,
+ 6, 230, 26, 11, 23, 6, 76, 11, 23, 6, 226, 106, 11, 23, 6, 224, 97, 11,
+ 23, 6, 153, 11, 23, 6, 222, 92, 11, 23, 6, 217, 153, 11, 23, 6, 70, 11,
+ 23, 6, 214, 105, 11, 23, 6, 212, 98, 11, 23, 6, 211, 178, 11, 23, 6, 211,
+ 117, 11, 23, 6, 210, 159, 11, 23, 4, 61, 11, 23, 4, 253, 159, 11, 23, 4,
+ 251, 67, 11, 23, 4, 249, 61, 11, 23, 4, 75, 11, 23, 4, 245, 7, 11, 23, 4,
+ 243, 203, 11, 23, 4, 242, 61, 11, 23, 4, 73, 11, 23, 4, 235, 145, 11, 23,
+ 4, 235, 24, 11, 23, 4, 156, 11, 23, 4, 193, 11, 23, 4, 230, 26, 11, 23,
+ 4, 76, 11, 23, 4, 226, 106, 11, 23, 4, 224, 97, 11, 23, 4, 153, 11, 23,
+ 4, 222, 92, 11, 23, 4, 217, 153, 11, 23, 4, 70, 11, 23, 4, 214, 105, 11,
+ 23, 4, 212, 98, 11, 23, 4, 211, 178, 11, 23, 4, 211, 117, 11, 23, 4, 210,
+ 159, 11, 32, 6, 61, 11, 32, 6, 253, 159, 11, 32, 6, 251, 67, 11, 32, 6,
+ 249, 61, 11, 32, 6, 75, 11, 32, 6, 245, 7, 11, 32, 6, 243, 203, 11, 32,
+ 6, 242, 61, 11, 32, 6, 73, 11, 32, 6, 235, 145, 11, 32, 6, 235, 24, 11,
+ 32, 6, 156, 11, 32, 6, 193, 11, 32, 6, 230, 26, 11, 32, 6, 76, 11, 32, 6,
+ 226, 106, 11, 32, 6, 224, 97, 11, 32, 6, 153, 11, 32, 6, 222, 92, 11, 32,
+ 6, 217, 153, 11, 32, 6, 70, 11, 32, 6, 214, 105, 11, 32, 6, 212, 98, 11,
+ 32, 6, 211, 178, 11, 32, 6, 211, 117, 11, 32, 6, 210, 159, 11, 32, 4, 61,
+ 11, 32, 4, 253, 159, 11, 32, 4, 251, 67, 11, 32, 4, 249, 61, 11, 32, 4,
+ 75, 11, 32, 4, 245, 7, 11, 32, 4, 243, 203, 11, 32, 4, 73, 11, 32, 4,
+ 235, 145, 11, 32, 4, 235, 24, 11, 32, 4, 156, 11, 32, 4, 193, 11, 32, 4,
+ 230, 26, 11, 32, 4, 76, 11, 32, 4, 226, 106, 11, 32, 4, 224, 97, 11, 32,
+ 4, 153, 11, 32, 4, 222, 92, 11, 32, 4, 217, 153, 11, 32, 4, 70, 11, 32,
+ 4, 214, 105, 11, 32, 4, 212, 98, 11, 32, 4, 211, 178, 11, 32, 4, 211,
+ 117, 11, 32, 4, 210, 159, 11, 23, 32, 6, 61, 11, 23, 32, 6, 253, 159, 11,
+ 23, 32, 6, 251, 67, 11, 23, 32, 6, 249, 61, 11, 23, 32, 6, 75, 11, 23,
+ 32, 6, 245, 7, 11, 23, 32, 6, 243, 203, 11, 23, 32, 6, 242, 61, 11, 23,
+ 32, 6, 73, 11, 23, 32, 6, 235, 145, 11, 23, 32, 6, 235, 24, 11, 23, 32,
+ 6, 156, 11, 23, 32, 6, 193, 11, 23, 32, 6, 230, 26, 11, 23, 32, 6, 76,
+ 11, 23, 32, 6, 226, 106, 11, 23, 32, 6, 224, 97, 11, 23, 32, 6, 153, 11,
+ 23, 32, 6, 222, 92, 11, 23, 32, 6, 217, 153, 11, 23, 32, 6, 70, 11, 23,
+ 32, 6, 214, 105, 11, 23, 32, 6, 212, 98, 11, 23, 32, 6, 211, 178, 11, 23,
+ 32, 6, 211, 117, 11, 23, 32, 6, 210, 159, 11, 23, 32, 4, 61, 11, 23, 32,
+ 4, 253, 159, 11, 23, 32, 4, 251, 67, 11, 23, 32, 4, 249, 61, 11, 23, 32,
+ 4, 75, 11, 23, 32, 4, 245, 7, 11, 23, 32, 4, 243, 203, 11, 23, 32, 4,
+ 242, 61, 11, 23, 32, 4, 73, 11, 23, 32, 4, 235, 145, 11, 23, 32, 4, 235,
+ 24, 11, 23, 32, 4, 156, 11, 23, 32, 4, 193, 11, 23, 32, 4, 230, 26, 11,
+ 23, 32, 4, 76, 11, 23, 32, 4, 226, 106, 11, 23, 32, 4, 224, 97, 11, 23,
+ 32, 4, 153, 11, 23, 32, 4, 222, 92, 11, 23, 32, 4, 217, 153, 11, 23, 32,
+ 4, 70, 11, 23, 32, 4, 214, 105, 11, 23, 32, 4, 212, 98, 11, 23, 32, 4,
+ 211, 178, 11, 23, 32, 4, 211, 117, 11, 23, 32, 4, 210, 159, 11, 119, 6,
+ 61, 11, 119, 6, 251, 67, 11, 119, 6, 249, 61, 11, 119, 6, 243, 203, 11,
+ 119, 6, 235, 145, 11, 119, 6, 235, 24, 11, 119, 6, 230, 26, 11, 119, 6,
+ 76, 11, 119, 6, 226, 106, 11, 119, 6, 224, 97, 11, 119, 6, 222, 92, 11,
+ 119, 6, 217, 153, 11, 119, 6, 70, 11, 119, 6, 214, 105, 11, 119, 6, 212,
+ 98, 11, 119, 6, 211, 178, 11, 119, 6, 211, 117, 11, 119, 6, 210, 159, 11,
+ 119, 4, 61, 11, 119, 4, 253, 159, 11, 119, 4, 251, 67, 11, 119, 4, 249,
+ 61, 11, 119, 4, 245, 7, 11, 119, 4, 242, 61, 11, 119, 4, 73, 11, 119, 4,
+ 235, 145, 11, 119, 4, 235, 24, 11, 119, 4, 156, 11, 119, 4, 193, 11, 119,
+ 4, 230, 26, 11, 119, 4, 226, 106, 11, 119, 4, 224, 97, 11, 119, 4, 153,
+ 11, 119, 4, 222, 92, 11, 119, 4, 217, 153, 11, 119, 4, 70, 11, 119, 4,
+ 214, 105, 11, 119, 4, 212, 98, 11, 119, 4, 211, 178, 11, 119, 4, 211,
+ 117, 11, 119, 4, 210, 159, 11, 23, 119, 6, 61, 11, 23, 119, 6, 253, 159,
+ 11, 23, 119, 6, 251, 67, 11, 23, 119, 6, 249, 61, 11, 23, 119, 6, 75, 11,
+ 23, 119, 6, 245, 7, 11, 23, 119, 6, 243, 203, 11, 23, 119, 6, 242, 61,
+ 11, 23, 119, 6, 73, 11, 23, 119, 6, 235, 145, 11, 23, 119, 6, 235, 24,
+ 11, 23, 119, 6, 156, 11, 23, 119, 6, 193, 11, 23, 119, 6, 230, 26, 11,
+ 23, 119, 6, 76, 11, 23, 119, 6, 226, 106, 11, 23, 119, 6, 224, 97, 11,
+ 23, 119, 6, 153, 11, 23, 119, 6, 222, 92, 11, 23, 119, 6, 217, 153, 11,
+ 23, 119, 6, 70, 11, 23, 119, 6, 214, 105, 11, 23, 119, 6, 212, 98, 11,
+ 23, 119, 6, 211, 178, 11, 23, 119, 6, 211, 117, 11, 23, 119, 6, 210, 159,
+ 11, 23, 119, 4, 61, 11, 23, 119, 4, 253, 159, 11, 23, 119, 4, 251, 67,
+ 11, 23, 119, 4, 249, 61, 11, 23, 119, 4, 75, 11, 23, 119, 4, 245, 7, 11,
+ 23, 119, 4, 243, 203, 11, 23, 119, 4, 242, 61, 11, 23, 119, 4, 73, 11,
+ 23, 119, 4, 235, 145, 11, 23, 119, 4, 235, 24, 11, 23, 119, 4, 156, 11,
+ 23, 119, 4, 193, 11, 23, 119, 4, 230, 26, 11, 23, 119, 4, 76, 11, 23,
+ 119, 4, 226, 106, 11, 23, 119, 4, 224, 97, 11, 23, 119, 4, 153, 11, 23,
+ 119, 4, 222, 92, 11, 23, 119, 4, 217, 153, 11, 23, 119, 4, 70, 11, 23,
+ 119, 4, 214, 105, 11, 23, 119, 4, 212, 98, 11, 23, 119, 4, 211, 178, 11,
+ 23, 119, 4, 211, 117, 11, 23, 119, 4, 210, 159, 11, 133, 6, 61, 11, 133,
+ 6, 253, 159, 11, 133, 6, 249, 61, 11, 133, 6, 75, 11, 133, 6, 245, 7, 11,
+ 133, 6, 243, 203, 11, 133, 6, 235, 145, 11, 133, 6, 235, 24, 11, 133, 6,
+ 156, 11, 133, 6, 193, 11, 133, 6, 230, 26, 11, 133, 6, 76, 11, 133, 6,
+ 226, 106, 11, 133, 6, 224, 97, 11, 133, 6, 222, 92, 11, 133, 6, 217, 153,
+ 11, 133, 6, 70, 11, 133, 6, 214, 105, 11, 133, 6, 212, 98, 11, 133, 6,
+ 211, 178, 11, 133, 6, 211, 117, 11, 133, 4, 61, 11, 133, 4, 253, 159, 11,
+ 133, 4, 251, 67, 11, 133, 4, 249, 61, 11, 133, 4, 75, 11, 133, 4, 245, 7,
+ 11, 133, 4, 243, 203, 11, 133, 4, 242, 61, 11, 133, 4, 73, 11, 133, 4,
+ 235, 145, 11, 133, 4, 235, 24, 11, 133, 4, 156, 11, 133, 4, 193, 11, 133,
+ 4, 230, 26, 11, 133, 4, 76, 11, 133, 4, 226, 106, 11, 133, 4, 224, 97,
+ 11, 133, 4, 153, 11, 133, 4, 222, 92, 11, 133, 4, 217, 153, 11, 133, 4,
+ 70, 11, 133, 4, 214, 105, 11, 133, 4, 212, 98, 11, 133, 4, 211, 178, 11,
+ 133, 4, 211, 117, 11, 133, 4, 210, 159, 11, 139, 6, 61, 11, 139, 6, 253,
+ 159, 11, 139, 6, 249, 61, 11, 139, 6, 75, 11, 139, 6, 245, 7, 11, 139, 6,
+ 243, 203, 11, 139, 6, 73, 11, 139, 6, 235, 145, 11, 139, 6, 235, 24, 11,
+ 139, 6, 156, 11, 139, 6, 193, 11, 139, 6, 76, 11, 139, 6, 222, 92, 11,
+ 139, 6, 217, 153, 11, 139, 6, 70, 11, 139, 6, 214, 105, 11, 139, 6, 212,
+ 98, 11, 139, 6, 211, 178, 11, 139, 6, 211, 117, 11, 139, 4, 61, 11, 139,
+ 4, 253, 159, 11, 139, 4, 251, 67, 11, 139, 4, 249, 61, 11, 139, 4, 75,
+ 11, 139, 4, 245, 7, 11, 139, 4, 243, 203, 11, 139, 4, 242, 61, 11, 139,
+ 4, 73, 11, 139, 4, 235, 145, 11, 139, 4, 235, 24, 11, 139, 4, 156, 11,
+ 139, 4, 193, 11, 139, 4, 230, 26, 11, 139, 4, 76, 11, 139, 4, 226, 106,
+ 11, 139, 4, 224, 97, 11, 139, 4, 153, 11, 139, 4, 222, 92, 11, 139, 4,
+ 217, 153, 11, 139, 4, 70, 11, 139, 4, 214, 105, 11, 139, 4, 212, 98, 11,
+ 139, 4, 211, 178, 11, 139, 4, 211, 117, 11, 139, 4, 210, 159, 11, 23,
+ 133, 6, 61, 11, 23, 133, 6, 253, 159, 11, 23, 133, 6, 251, 67, 11, 23,
+ 133, 6, 249, 61, 11, 23, 133, 6, 75, 11, 23, 133, 6, 245, 7, 11, 23, 133,
+ 6, 243, 203, 11, 23, 133, 6, 242, 61, 11, 23, 133, 6, 73, 11, 23, 133, 6,
+ 235, 145, 11, 23, 133, 6, 235, 24, 11, 23, 133, 6, 156, 11, 23, 133, 6,
+ 193, 11, 23, 133, 6, 230, 26, 11, 23, 133, 6, 76, 11, 23, 133, 6, 226,
+ 106, 11, 23, 133, 6, 224, 97, 11, 23, 133, 6, 153, 11, 23, 133, 6, 222,
+ 92, 11, 23, 133, 6, 217, 153, 11, 23, 133, 6, 70, 11, 23, 133, 6, 214,
+ 105, 11, 23, 133, 6, 212, 98, 11, 23, 133, 6, 211, 178, 11, 23, 133, 6,
+ 211, 117, 11, 23, 133, 6, 210, 159, 11, 23, 133, 4, 61, 11, 23, 133, 4,
+ 253, 159, 11, 23, 133, 4, 251, 67, 11, 23, 133, 4, 249, 61, 11, 23, 133,
+ 4, 75, 11, 23, 133, 4, 245, 7, 11, 23, 133, 4, 243, 203, 11, 23, 133, 4,
+ 242, 61, 11, 23, 133, 4, 73, 11, 23, 133, 4, 235, 145, 11, 23, 133, 4,
+ 235, 24, 11, 23, 133, 4, 156, 11, 23, 133, 4, 193, 11, 23, 133, 4, 230,
+ 26, 11, 23, 133, 4, 76, 11, 23, 133, 4, 226, 106, 11, 23, 133, 4, 224,
+ 97, 11, 23, 133, 4, 153, 11, 23, 133, 4, 222, 92, 11, 23, 133, 4, 217,
+ 153, 11, 23, 133, 4, 70, 11, 23, 133, 4, 214, 105, 11, 23, 133, 4, 212,
+ 98, 11, 23, 133, 4, 211, 178, 11, 23, 133, 4, 211, 117, 11, 23, 133, 4,
+ 210, 159, 11, 35, 6, 61, 11, 35, 6, 253, 159, 11, 35, 6, 251, 67, 11, 35,
+ 6, 249, 61, 11, 35, 6, 75, 11, 35, 6, 245, 7, 11, 35, 6, 243, 203, 11,
+ 35, 6, 242, 61, 11, 35, 6, 73, 11, 35, 6, 235, 145, 11, 35, 6, 235, 24,
+ 11, 35, 6, 156, 11, 35, 6, 193, 11, 35, 6, 230, 26, 11, 35, 6, 76, 11,
+ 35, 6, 226, 106, 11, 35, 6, 224, 97, 11, 35, 6, 153, 11, 35, 6, 222, 92,
+ 11, 35, 6, 217, 153, 11, 35, 6, 70, 11, 35, 6, 214, 105, 11, 35, 6, 212,
+ 98, 11, 35, 6, 211, 178, 11, 35, 6, 211, 117, 11, 35, 6, 210, 159, 11,
+ 35, 4, 61, 11, 35, 4, 253, 159, 11, 35, 4, 251, 67, 11, 35, 4, 249, 61,
+ 11, 35, 4, 75, 11, 35, 4, 245, 7, 11, 35, 4, 243, 203, 11, 35, 4, 242,
+ 61, 11, 35, 4, 73, 11, 35, 4, 235, 145, 11, 35, 4, 235, 24, 11, 35, 4,
+ 156, 11, 35, 4, 193, 11, 35, 4, 230, 26, 11, 35, 4, 76, 11, 35, 4, 226,
+ 106, 11, 35, 4, 224, 97, 11, 35, 4, 153, 11, 35, 4, 222, 92, 11, 35, 4,
+ 217, 153, 11, 35, 4, 70, 11, 35, 4, 214, 105, 11, 35, 4, 212, 98, 11, 35,
+ 4, 211, 178, 11, 35, 4, 211, 117, 11, 35, 4, 210, 159, 11, 35, 23, 6, 61,
+ 11, 35, 23, 6, 253, 159, 11, 35, 23, 6, 251, 67, 11, 35, 23, 6, 249, 61,
+ 11, 35, 23, 6, 75, 11, 35, 23, 6, 245, 7, 11, 35, 23, 6, 243, 203, 11,
+ 35, 23, 6, 242, 61, 11, 35, 23, 6, 73, 11, 35, 23, 6, 235, 145, 11, 35,
+ 23, 6, 235, 24, 11, 35, 23, 6, 156, 11, 35, 23, 6, 193, 11, 35, 23, 6,
+ 230, 26, 11, 35, 23, 6, 76, 11, 35, 23, 6, 226, 106, 11, 35, 23, 6, 224,
+ 97, 11, 35, 23, 6, 153, 11, 35, 23, 6, 222, 92, 11, 35, 23, 6, 217, 153,
+ 11, 35, 23, 6, 70, 11, 35, 23, 6, 214, 105, 11, 35, 23, 6, 212, 98, 11,
+ 35, 23, 6, 211, 178, 11, 35, 23, 6, 211, 117, 11, 35, 23, 6, 210, 159,
+ 11, 35, 23, 4, 61, 11, 35, 23, 4, 253, 159, 11, 35, 23, 4, 251, 67, 11,
+ 35, 23, 4, 249, 61, 11, 35, 23, 4, 75, 11, 35, 23, 4, 245, 7, 11, 35, 23,
+ 4, 243, 203, 11, 35, 23, 4, 242, 61, 11, 35, 23, 4, 73, 11, 35, 23, 4,
+ 235, 145, 11, 35, 23, 4, 235, 24, 11, 35, 23, 4, 156, 11, 35, 23, 4, 193,
+ 11, 35, 23, 4, 230, 26, 11, 35, 23, 4, 76, 11, 35, 23, 4, 226, 106, 11,
+ 35, 23, 4, 224, 97, 11, 35, 23, 4, 153, 11, 35, 23, 4, 222, 92, 11, 35,
+ 23, 4, 217, 153, 11, 35, 23, 4, 70, 11, 35, 23, 4, 214, 105, 11, 35, 23,
+ 4, 212, 98, 11, 35, 23, 4, 211, 178, 11, 35, 23, 4, 211, 117, 11, 35, 23,
+ 4, 210, 159, 11, 35, 32, 6, 61, 11, 35, 32, 6, 253, 159, 11, 35, 32, 6,
+ 251, 67, 11, 35, 32, 6, 249, 61, 11, 35, 32, 6, 75, 11, 35, 32, 6, 245,
+ 7, 11, 35, 32, 6, 243, 203, 11, 35, 32, 6, 242, 61, 11, 35, 32, 6, 73,
+ 11, 35, 32, 6, 235, 145, 11, 35, 32, 6, 235, 24, 11, 35, 32, 6, 156, 11,
+ 35, 32, 6, 193, 11, 35, 32, 6, 230, 26, 11, 35, 32, 6, 76, 11, 35, 32, 6,
+ 226, 106, 11, 35, 32, 6, 224, 97, 11, 35, 32, 6, 153, 11, 35, 32, 6, 222,
+ 92, 11, 35, 32, 6, 217, 153, 11, 35, 32, 6, 70, 11, 35, 32, 6, 214, 105,
+ 11, 35, 32, 6, 212, 98, 11, 35, 32, 6, 211, 178, 11, 35, 32, 6, 211, 117,
+ 11, 35, 32, 6, 210, 159, 11, 35, 32, 4, 61, 11, 35, 32, 4, 253, 159, 11,
+ 35, 32, 4, 251, 67, 11, 35, 32, 4, 249, 61, 11, 35, 32, 4, 75, 11, 35,
+ 32, 4, 245, 7, 11, 35, 32, 4, 243, 203, 11, 35, 32, 4, 242, 61, 11, 35,
+ 32, 4, 73, 11, 35, 32, 4, 235, 145, 11, 35, 32, 4, 235, 24, 11, 35, 32,
+ 4, 156, 11, 35, 32, 4, 193, 11, 35, 32, 4, 230, 26, 11, 35, 32, 4, 76,
+ 11, 35, 32, 4, 226, 106, 11, 35, 32, 4, 224, 97, 11, 35, 32, 4, 153, 11,
+ 35, 32, 4, 222, 92, 11, 35, 32, 4, 217, 153, 11, 35, 32, 4, 70, 11, 35,
+ 32, 4, 214, 105, 11, 35, 32, 4, 212, 98, 11, 35, 32, 4, 211, 178, 11, 35,
+ 32, 4, 211, 117, 11, 35, 32, 4, 210, 159, 11, 35, 23, 32, 6, 61, 11, 35,
+ 23, 32, 6, 253, 159, 11, 35, 23, 32, 6, 251, 67, 11, 35, 23, 32, 6, 249,
+ 61, 11, 35, 23, 32, 6, 75, 11, 35, 23, 32, 6, 245, 7, 11, 35, 23, 32, 6,
+ 243, 203, 11, 35, 23, 32, 6, 242, 61, 11, 35, 23, 32, 6, 73, 11, 35, 23,
+ 32, 6, 235, 145, 11, 35, 23, 32, 6, 235, 24, 11, 35, 23, 32, 6, 156, 11,
+ 35, 23, 32, 6, 193, 11, 35, 23, 32, 6, 230, 26, 11, 35, 23, 32, 6, 76,
+ 11, 35, 23, 32, 6, 226, 106, 11, 35, 23, 32, 6, 224, 97, 11, 35, 23, 32,
+ 6, 153, 11, 35, 23, 32, 6, 222, 92, 11, 35, 23, 32, 6, 217, 153, 11, 35,
+ 23, 32, 6, 70, 11, 35, 23, 32, 6, 214, 105, 11, 35, 23, 32, 6, 212, 98,
+ 11, 35, 23, 32, 6, 211, 178, 11, 35, 23, 32, 6, 211, 117, 11, 35, 23, 32,
+ 6, 210, 159, 11, 35, 23, 32, 4, 61, 11, 35, 23, 32, 4, 253, 159, 11, 35,
+ 23, 32, 4, 251, 67, 11, 35, 23, 32, 4, 249, 61, 11, 35, 23, 32, 4, 75,
+ 11, 35, 23, 32, 4, 245, 7, 11, 35, 23, 32, 4, 243, 203, 11, 35, 23, 32,
+ 4, 242, 61, 11, 35, 23, 32, 4, 73, 11, 35, 23, 32, 4, 235, 145, 11, 35,
+ 23, 32, 4, 235, 24, 11, 35, 23, 32, 4, 156, 11, 35, 23, 32, 4, 193, 11,
+ 35, 23, 32, 4, 230, 26, 11, 35, 23, 32, 4, 76, 11, 35, 23, 32, 4, 226,
+ 106, 11, 35, 23, 32, 4, 224, 97, 11, 35, 23, 32, 4, 153, 11, 35, 23, 32,
+ 4, 222, 92, 11, 35, 23, 32, 4, 217, 153, 11, 35, 23, 32, 4, 70, 11, 35,
+ 23, 32, 4, 214, 105, 11, 35, 23, 32, 4, 212, 98, 11, 35, 23, 32, 4, 211,
+ 178, 11, 35, 23, 32, 4, 211, 117, 11, 35, 23, 32, 4, 210, 159, 11, 230,
+ 139, 6, 61, 11, 230, 139, 6, 253, 159, 11, 230, 139, 6, 251, 67, 11, 230,
+ 139, 6, 249, 61, 11, 230, 139, 6, 75, 11, 230, 139, 6, 245, 7, 11, 230,
+ 139, 6, 243, 203, 11, 230, 139, 6, 242, 61, 11, 230, 139, 6, 73, 11, 230,
+ 139, 6, 235, 145, 11, 230, 139, 6, 235, 24, 11, 230, 139, 6, 156, 11,
+ 230, 139, 6, 193, 11, 230, 139, 6, 230, 26, 11, 230, 139, 6, 76, 11, 230,
+ 139, 6, 226, 106, 11, 230, 139, 6, 224, 97, 11, 230, 139, 6, 153, 11,
+ 230, 139, 6, 222, 92, 11, 230, 139, 6, 217, 153, 11, 230, 139, 6, 70, 11,
+ 230, 139, 6, 214, 105, 11, 230, 139, 6, 212, 98, 11, 230, 139, 6, 211,
+ 178, 11, 230, 139, 6, 211, 117, 11, 230, 139, 6, 210, 159, 11, 230, 139,
+ 4, 61, 11, 230, 139, 4, 253, 159, 11, 230, 139, 4, 251, 67, 11, 230, 139,
+ 4, 249, 61, 11, 230, 139, 4, 75, 11, 230, 139, 4, 245, 7, 11, 230, 139,
+ 4, 243, 203, 11, 230, 139, 4, 242, 61, 11, 230, 139, 4, 73, 11, 230, 139,
+ 4, 235, 145, 11, 230, 139, 4, 235, 24, 11, 230, 139, 4, 156, 11, 230,
+ 139, 4, 193, 11, 230, 139, 4, 230, 26, 11, 230, 139, 4, 76, 11, 230, 139,
+ 4, 226, 106, 11, 230, 139, 4, 224, 97, 11, 230, 139, 4, 153, 11, 230,
+ 139, 4, 222, 92, 11, 230, 139, 4, 217, 153, 11, 230, 139, 4, 70, 11, 230,
+ 139, 4, 214, 105, 11, 230, 139, 4, 212, 98, 11, 230, 139, 4, 211, 178,
+ 11, 230, 139, 4, 211, 117, 11, 230, 139, 4, 210, 159, 11, 32, 4, 247,
+ 120, 73, 11, 32, 4, 247, 120, 235, 145, 11, 23, 6, 254, 144, 11, 23, 6,
+ 252, 27, 11, 23, 6, 243, 108, 11, 23, 6, 248, 55, 11, 23, 6, 245, 101,
+ 11, 23, 6, 210, 85, 11, 23, 6, 245, 64, 11, 23, 6, 216, 180, 11, 23, 6,
+ 235, 186, 11, 23, 6, 234, 223, 11, 23, 6, 233, 99, 11, 23, 6, 230, 103,
+ 11, 23, 6, 227, 238, 11, 23, 6, 211, 157, 11, 23, 6, 226, 200, 11, 23, 6,
+ 225, 109, 11, 23, 6, 223, 38, 11, 23, 6, 216, 181, 87, 11, 23, 6, 219,
+ 178, 11, 23, 6, 217, 42, 11, 23, 6, 214, 157, 11, 23, 6, 225, 134, 11,
+ 23, 6, 250, 111, 11, 23, 6, 224, 162, 11, 23, 6, 226, 202, 11, 23, 229,
+ 222, 11, 23, 4, 254, 144, 11, 23, 4, 252, 27, 11, 23, 4, 243, 108, 11,
+ 23, 4, 248, 55, 11, 23, 4, 245, 101, 11, 23, 4, 210, 85, 11, 23, 4, 245,
+ 64, 11, 23, 4, 216, 180, 11, 23, 4, 235, 186, 11, 23, 4, 234, 223, 11,
+ 23, 4, 233, 99, 11, 23, 4, 230, 103, 11, 23, 4, 227, 238, 11, 23, 4, 211,
+ 157, 11, 23, 4, 226, 200, 11, 23, 4, 225, 109, 11, 23, 4, 223, 38, 11,
+ 23, 4, 40, 219, 178, 11, 23, 4, 219, 178, 11, 23, 4, 217, 42, 11, 23, 4,
+ 214, 157, 11, 23, 4, 225, 134, 11, 23, 4, 250, 111, 11, 23, 4, 224, 162,
+ 11, 23, 4, 226, 202, 11, 23, 225, 254, 247, 234, 11, 23, 245, 102, 87,
+ 11, 23, 216, 181, 87, 11, 23, 234, 224, 87, 11, 23, 225, 135, 87, 11, 23,
+ 223, 39, 87, 11, 23, 225, 110, 87, 11, 32, 6, 254, 144, 11, 32, 6, 252,
+ 27, 11, 32, 6, 243, 108, 11, 32, 6, 248, 55, 11, 32, 6, 245, 101, 11, 32,
+ 6, 210, 85, 11, 32, 6, 245, 64, 11, 32, 6, 216, 180, 11, 32, 6, 235, 186,
+ 11, 32, 6, 234, 223, 11, 32, 6, 233, 99, 11, 32, 6, 230, 103, 11, 32, 6,
+ 227, 238, 11, 32, 6, 211, 157, 11, 32, 6, 226, 200, 11, 32, 6, 225, 109,
+ 11, 32, 6, 223, 38, 11, 32, 6, 216, 181, 87, 11, 32, 6, 219, 178, 11, 32,
+ 6, 217, 42, 11, 32, 6, 214, 157, 11, 32, 6, 225, 134, 11, 32, 6, 250,
+ 111, 11, 32, 6, 224, 162, 11, 32, 6, 226, 202, 11, 32, 229, 222, 11, 32,
+ 4, 254, 144, 11, 32, 4, 252, 27, 11, 32, 4, 243, 108, 11, 32, 4, 248, 55,
+ 11, 32, 4, 245, 101, 11, 32, 4, 210, 85, 11, 32, 4, 245, 64, 11, 32, 4,
+ 216, 180, 11, 32, 4, 235, 186, 11, 32, 4, 234, 223, 11, 32, 4, 233, 99,
+ 11, 32, 4, 230, 103, 11, 32, 4, 227, 238, 11, 32, 4, 211, 157, 11, 32, 4,
+ 226, 200, 11, 32, 4, 225, 109, 11, 32, 4, 223, 38, 11, 32, 4, 40, 219,
+ 178, 11, 32, 4, 219, 178, 11, 32, 4, 217, 42, 11, 32, 4, 214, 157, 11,
+ 32, 4, 225, 134, 11, 32, 4, 250, 111, 11, 32, 4, 224, 162, 11, 32, 4,
+ 226, 202, 11, 32, 225, 254, 247, 234, 11, 32, 245, 102, 87, 11, 32, 216,
+ 181, 87, 11, 32, 234, 224, 87, 11, 32, 225, 135, 87, 11, 32, 223, 39, 87,
+ 11, 32, 225, 110, 87, 11, 23, 32, 6, 254, 144, 11, 23, 32, 6, 252, 27,
+ 11, 23, 32, 6, 243, 108, 11, 23, 32, 6, 248, 55, 11, 23, 32, 6, 245, 101,
+ 11, 23, 32, 6, 210, 85, 11, 23, 32, 6, 245, 64, 11, 23, 32, 6, 216, 180,
+ 11, 23, 32, 6, 235, 186, 11, 23, 32, 6, 234, 223, 11, 23, 32, 6, 233, 99,
+ 11, 23, 32, 6, 230, 103, 11, 23, 32, 6, 227, 238, 11, 23, 32, 6, 211,
+ 157, 11, 23, 32, 6, 226, 200, 11, 23, 32, 6, 225, 109, 11, 23, 32, 6,
+ 223, 38, 11, 23, 32, 6, 216, 181, 87, 11, 23, 32, 6, 219, 178, 11, 23,
+ 32, 6, 217, 42, 11, 23, 32, 6, 214, 157, 11, 23, 32, 6, 225, 134, 11, 23,
+ 32, 6, 250, 111, 11, 23, 32, 6, 224, 162, 11, 23, 32, 6, 226, 202, 11,
+ 23, 32, 229, 222, 11, 23, 32, 4, 254, 144, 11, 23, 32, 4, 252, 27, 11,
+ 23, 32, 4, 243, 108, 11, 23, 32, 4, 248, 55, 11, 23, 32, 4, 245, 101, 11,
+ 23, 32, 4, 210, 85, 11, 23, 32, 4, 245, 64, 11, 23, 32, 4, 216, 180, 11,
+ 23, 32, 4, 235, 186, 11, 23, 32, 4, 234, 223, 11, 23, 32, 4, 233, 99, 11,
+ 23, 32, 4, 230, 103, 11, 23, 32, 4, 227, 238, 11, 23, 32, 4, 211, 157,
+ 11, 23, 32, 4, 226, 200, 11, 23, 32, 4, 225, 109, 11, 23, 32, 4, 223, 38,
+ 11, 23, 32, 4, 40, 219, 178, 11, 23, 32, 4, 219, 178, 11, 23, 32, 4, 217,
+ 42, 11, 23, 32, 4, 214, 157, 11, 23, 32, 4, 225, 134, 11, 23, 32, 4, 250,
+ 111, 11, 23, 32, 4, 224, 162, 11, 23, 32, 4, 226, 202, 11, 23, 32, 225,
+ 254, 247, 234, 11, 23, 32, 245, 102, 87, 11, 23, 32, 216, 181, 87, 11,
+ 23, 32, 234, 224, 87, 11, 23, 32, 225, 135, 87, 11, 23, 32, 223, 39, 87,
+ 11, 23, 32, 225, 110, 87, 11, 35, 23, 6, 254, 144, 11, 35, 23, 6, 252,
+ 27, 11, 35, 23, 6, 243, 108, 11, 35, 23, 6, 248, 55, 11, 35, 23, 6, 245,
+ 101, 11, 35, 23, 6, 210, 85, 11, 35, 23, 6, 245, 64, 11, 35, 23, 6, 216,
+ 180, 11, 35, 23, 6, 235, 186, 11, 35, 23, 6, 234, 223, 11, 35, 23, 6,
+ 233, 99, 11, 35, 23, 6, 230, 103, 11, 35, 23, 6, 227, 238, 11, 35, 23, 6,
+ 211, 157, 11, 35, 23, 6, 226, 200, 11, 35, 23, 6, 225, 109, 11, 35, 23,
+ 6, 223, 38, 11, 35, 23, 6, 216, 181, 87, 11, 35, 23, 6, 219, 178, 11, 35,
+ 23, 6, 217, 42, 11, 35, 23, 6, 214, 157, 11, 35, 23, 6, 225, 134, 11, 35,
+ 23, 6, 250, 111, 11, 35, 23, 6, 224, 162, 11, 35, 23, 6, 226, 202, 11,
+ 35, 23, 229, 222, 11, 35, 23, 4, 254, 144, 11, 35, 23, 4, 252, 27, 11,
+ 35, 23, 4, 243, 108, 11, 35, 23, 4, 248, 55, 11, 35, 23, 4, 245, 101, 11,
+ 35, 23, 4, 210, 85, 11, 35, 23, 4, 245, 64, 11, 35, 23, 4, 216, 180, 11,
+ 35, 23, 4, 235, 186, 11, 35, 23, 4, 234, 223, 11, 35, 23, 4, 233, 99, 11,
+ 35, 23, 4, 230, 103, 11, 35, 23, 4, 227, 238, 11, 35, 23, 4, 211, 157,
+ 11, 35, 23, 4, 226, 200, 11, 35, 23, 4, 225, 109, 11, 35, 23, 4, 223, 38,
+ 11, 35, 23, 4, 40, 219, 178, 11, 35, 23, 4, 219, 178, 11, 35, 23, 4, 217,
+ 42, 11, 35, 23, 4, 214, 157, 11, 35, 23, 4, 225, 134, 11, 35, 23, 4, 250,
+ 111, 11, 35, 23, 4, 224, 162, 11, 35, 23, 4, 226, 202, 11, 35, 23, 225,
+ 254, 247, 234, 11, 35, 23, 245, 102, 87, 11, 35, 23, 216, 181, 87, 11,
+ 35, 23, 234, 224, 87, 11, 35, 23, 225, 135, 87, 11, 35, 23, 223, 39, 87,
+ 11, 35, 23, 225, 110, 87, 11, 35, 23, 32, 6, 254, 144, 11, 35, 23, 32, 6,
+ 252, 27, 11, 35, 23, 32, 6, 243, 108, 11, 35, 23, 32, 6, 248, 55, 11, 35,
+ 23, 32, 6, 245, 101, 11, 35, 23, 32, 6, 210, 85, 11, 35, 23, 32, 6, 245,
+ 64, 11, 35, 23, 32, 6, 216, 180, 11, 35, 23, 32, 6, 235, 186, 11, 35, 23,
+ 32, 6, 234, 223, 11, 35, 23, 32, 6, 233, 99, 11, 35, 23, 32, 6, 230, 103,
+ 11, 35, 23, 32, 6, 227, 238, 11, 35, 23, 32, 6, 211, 157, 11, 35, 23, 32,
+ 6, 226, 200, 11, 35, 23, 32, 6, 225, 109, 11, 35, 23, 32, 6, 223, 38, 11,
+ 35, 23, 32, 6, 216, 181, 87, 11, 35, 23, 32, 6, 219, 178, 11, 35, 23, 32,
+ 6, 217, 42, 11, 35, 23, 32, 6, 214, 157, 11, 35, 23, 32, 6, 225, 134, 11,
+ 35, 23, 32, 6, 250, 111, 11, 35, 23, 32, 6, 224, 162, 11, 35, 23, 32, 6,
+ 226, 202, 11, 35, 23, 32, 229, 222, 11, 35, 23, 32, 4, 254, 144, 11, 35,
+ 23, 32, 4, 252, 27, 11, 35, 23, 32, 4, 243, 108, 11, 35, 23, 32, 4, 248,
+ 55, 11, 35, 23, 32, 4, 245, 101, 11, 35, 23, 32, 4, 210, 85, 11, 35, 23,
+ 32, 4, 245, 64, 11, 35, 23, 32, 4, 216, 180, 11, 35, 23, 32, 4, 235, 186,
+ 11, 35, 23, 32, 4, 234, 223, 11, 35, 23, 32, 4, 233, 99, 11, 35, 23, 32,
+ 4, 230, 103, 11, 35, 23, 32, 4, 227, 238, 11, 35, 23, 32, 4, 211, 157,
+ 11, 35, 23, 32, 4, 226, 200, 11, 35, 23, 32, 4, 225, 109, 11, 35, 23, 32,
+ 4, 223, 38, 11, 35, 23, 32, 4, 40, 219, 178, 11, 35, 23, 32, 4, 219, 178,
+ 11, 35, 23, 32, 4, 217, 42, 11, 35, 23, 32, 4, 214, 157, 11, 35, 23, 32,
+ 4, 225, 134, 11, 35, 23, 32, 4, 250, 111, 11, 35, 23, 32, 4, 224, 162,
+ 11, 35, 23, 32, 4, 226, 202, 11, 35, 23, 32, 225, 254, 247, 234, 11, 35,
+ 23, 32, 245, 102, 87, 11, 35, 23, 32, 216, 181, 87, 11, 35, 23, 32, 234,
+ 224, 87, 11, 35, 23, 32, 225, 135, 87, 11, 35, 23, 32, 223, 39, 87, 11,
+ 35, 23, 32, 225, 110, 87, 11, 23, 6, 247, 228, 11, 23, 4, 247, 228, 11,
+ 23, 21, 210, 86, 11, 23, 21, 110, 11, 23, 21, 105, 11, 23, 21, 158, 11,
+ 23, 21, 161, 11, 23, 21, 189, 11, 23, 21, 194, 11, 23, 21, 198, 11, 23,
+ 21, 195, 11, 23, 21, 200, 11, 139, 21, 210, 86, 11, 139, 21, 110, 11,
+ 139, 21, 105, 11, 139, 21, 158, 11, 139, 21, 161, 11, 139, 21, 189, 11,
+ 139, 21, 194, 11, 139, 21, 198, 11, 139, 21, 195, 11, 139, 21, 200, 11,
+ 35, 21, 210, 86, 11, 35, 21, 110, 11, 35, 21, 105, 11, 35, 21, 158, 11,
+ 35, 21, 161, 11, 35, 21, 189, 11, 35, 21, 194, 11, 35, 21, 198, 11, 35,
+ 21, 195, 11, 35, 21, 200, 11, 35, 23, 21, 210, 86, 11, 35, 23, 21, 110,
+ 11, 35, 23, 21, 105, 11, 35, 23, 21, 158, 11, 35, 23, 21, 161, 11, 35,
+ 23, 21, 189, 11, 35, 23, 21, 194, 11, 35, 23, 21, 198, 11, 35, 23, 21,
+ 195, 11, 35, 23, 21, 200, 11, 230, 139, 21, 210, 86, 11, 230, 139, 21,
+ 110, 11, 230, 139, 21, 105, 11, 230, 139, 21, 158, 11, 230, 139, 21, 161,
+ 11, 230, 139, 21, 189, 11, 230, 139, 21, 194, 11, 230, 139, 21, 198, 11,
+ 230, 139, 21, 195, 11, 230, 139, 21, 200, 10, 11, 254, 171, 10, 11, 252,
+ 55, 10, 11, 235, 124, 10, 11, 248, 196, 10, 11, 212, 30, 10, 11, 210,
+ 108, 10, 11, 242, 38, 10, 11, 217, 81, 10, 11, 211, 43, 10, 11, 234, 251,
+ 10, 11, 233, 103, 10, 11, 231, 79, 10, 11, 228, 63, 10, 11, 221, 167, 10,
+ 11, 254, 197, 10, 11, 244, 143, 10, 11, 222, 27, 10, 11, 224, 82, 10, 11,
+ 223, 96, 10, 11, 220, 60, 10, 11, 217, 8, 10, 11, 216, 193, 10, 11, 234,
+ 130, 10, 11, 216, 203, 10, 11, 248, 217, 10, 11, 210, 111, 10, 11, 242,
+ 245, 10, 11, 247, 120, 252, 55, 10, 11, 247, 120, 228, 63, 10, 11, 247,
+ 120, 244, 143, 10, 11, 247, 120, 224, 82, 10, 11, 65, 252, 55, 10, 11,
+ 65, 235, 124, 10, 11, 65, 241, 219, 10, 11, 65, 242, 38, 10, 11, 65, 211,
+ 43, 10, 11, 65, 234, 251, 10, 11, 65, 233, 103, 10, 11, 65, 231, 79, 10,
+ 11, 65, 228, 63, 10, 11, 65, 221, 167, 10, 11, 65, 254, 197, 10, 11, 65,
+ 244, 143, 10, 11, 65, 222, 27, 10, 11, 65, 224, 82, 10, 11, 65, 220, 60,
+ 10, 11, 65, 217, 8, 10, 11, 65, 216, 193, 10, 11, 65, 234, 130, 10, 11,
+ 65, 248, 217, 10, 11, 65, 242, 245, 10, 11, 217, 77, 235, 124, 10, 11,
+ 217, 77, 242, 38, 10, 11, 217, 77, 211, 43, 10, 11, 217, 77, 233, 103,
+ 10, 11, 217, 77, 228, 63, 10, 11, 217, 77, 221, 167, 10, 11, 217, 77,
+ 254, 197, 10, 11, 217, 77, 222, 27, 10, 11, 217, 77, 224, 82, 10, 11,
+ 217, 77, 220, 60, 10, 11, 217, 77, 234, 130, 10, 11, 217, 77, 248, 217,
+ 10, 11, 217, 77, 242, 245, 10, 11, 217, 77, 247, 120, 228, 63, 10, 11,
+ 217, 77, 247, 120, 224, 82, 10, 11, 218, 111, 252, 55, 10, 11, 218, 111,
+ 235, 124, 10, 11, 218, 111, 241, 219, 10, 11, 218, 111, 242, 38, 10, 11,
+ 218, 111, 217, 81, 10, 11, 218, 111, 211, 43, 10, 11, 218, 111, 234, 251,
+ 10, 11, 218, 111, 231, 79, 10, 11, 218, 111, 228, 63, 10, 11, 218, 111,
+ 221, 167, 10, 11, 218, 111, 254, 197, 10, 11, 218, 111, 244, 143, 10, 11,
+ 218, 111, 222, 27, 10, 11, 218, 111, 224, 82, 10, 11, 218, 111, 220, 60,
+ 10, 11, 218, 111, 217, 8, 10, 11, 218, 111, 216, 193, 10, 11, 218, 111,
+ 234, 130, 10, 11, 218, 111, 248, 217, 10, 11, 218, 111, 210, 111, 10, 11,
+ 218, 111, 242, 245, 10, 11, 218, 111, 247, 120, 252, 55, 10, 11, 218,
+ 111, 247, 120, 244, 143, 10, 11, 232, 123, 254, 171, 10, 11, 232, 123,
+ 252, 55, 10, 11, 232, 123, 235, 124, 10, 11, 232, 123, 248, 196, 10, 11,
+ 232, 123, 241, 219, 10, 11, 232, 123, 212, 30, 10, 11, 232, 123, 210,
+ 108, 10, 11, 232, 123, 242, 38, 10, 11, 232, 123, 217, 81, 10, 11, 232,
+ 123, 211, 43, 10, 11, 232, 123, 233, 103, 10, 11, 232, 123, 231, 79, 10,
+ 11, 232, 123, 228, 63, 10, 11, 232, 123, 221, 167, 10, 11, 232, 123, 254,
+ 197, 10, 11, 232, 123, 244, 143, 10, 11, 232, 123, 222, 27, 10, 11, 232,
+ 123, 224, 82, 10, 11, 232, 123, 223, 96, 10, 11, 232, 123, 220, 60, 10,
+ 11, 232, 123, 217, 8, 10, 11, 232, 123, 216, 193, 10, 11, 232, 123, 234,
+ 130, 10, 11, 232, 123, 216, 203, 10, 11, 232, 123, 248, 217, 10, 11, 232,
+ 123, 210, 111, 10, 11, 232, 123, 242, 245, 10, 11, 139, 252, 55, 10, 11,
+ 139, 235, 124, 10, 11, 139, 248, 196, 10, 11, 139, 212, 30, 10, 11, 139,
+ 210, 108, 10, 11, 139, 242, 38, 10, 11, 139, 217, 81, 10, 11, 139, 211,
+ 43, 10, 11, 139, 233, 103, 10, 11, 139, 231, 79, 10, 11, 139, 228, 63,
+ 10, 11, 139, 221, 167, 10, 11, 139, 254, 197, 10, 11, 139, 244, 143, 10,
+ 11, 139, 222, 27, 10, 11, 139, 224, 82, 10, 11, 139, 223, 96, 10, 11,
+ 139, 220, 60, 10, 11, 139, 217, 8, 10, 11, 139, 216, 193, 10, 11, 139,
+ 234, 130, 10, 11, 139, 216, 203, 10, 11, 139, 248, 217, 10, 11, 139, 210,
+ 111, 10, 11, 139, 242, 245, 10, 11, 226, 169, 66, 2, 122, 2, 217, 44, 10,
+ 11, 226, 169, 122, 2, 248, 196, 231, 206, 86, 245, 221, 211, 239, 231,
+ 206, 86, 219, 29, 211, 239, 231, 206, 86, 212, 9, 211, 239, 231, 206, 86,
+ 228, 57, 211, 239, 231, 206, 86, 223, 112, 246, 97, 231, 206, 86, 242,
+ 128, 246, 97, 231, 206, 86, 71, 246, 97, 231, 206, 86, 123, 64, 250, 142,
+ 231, 206, 86, 113, 64, 250, 142, 231, 206, 86, 134, 64, 250, 142, 231,
+ 206, 86, 244, 12, 64, 250, 142, 231, 206, 86, 244, 82, 64, 250, 142, 231,
+ 206, 86, 219, 126, 64, 250, 142, 231, 206, 86, 220, 123, 64, 250, 142,
+ 231, 206, 86, 245, 194, 64, 250, 142, 231, 206, 86, 228, 201, 64, 250,
+ 142, 231, 206, 86, 123, 64, 252, 154, 231, 206, 86, 113, 64, 252, 154,
+ 231, 206, 86, 134, 64, 252, 154, 231, 206, 86, 244, 12, 64, 252, 154,
+ 231, 206, 86, 244, 82, 64, 252, 154, 231, 206, 86, 219, 126, 64, 252,
+ 154, 231, 206, 86, 220, 123, 64, 252, 154, 231, 206, 86, 245, 194, 64,
+ 252, 154, 231, 206, 86, 228, 201, 64, 252, 154, 231, 206, 86, 123, 64,
+ 250, 35, 231, 206, 86, 113, 64, 250, 35, 231, 206, 86, 134, 64, 250, 35,
+ 231, 206, 86, 244, 12, 64, 250, 35, 231, 206, 86, 244, 82, 64, 250, 35,
+ 231, 206, 86, 219, 126, 64, 250, 35, 231, 206, 86, 220, 123, 64, 250, 35,
+ 231, 206, 86, 245, 194, 64, 250, 35, 231, 206, 86, 228, 201, 64, 250, 35,
+ 231, 206, 86, 225, 26, 231, 206, 86, 226, 157, 231, 206, 86, 252, 155,
+ 231, 206, 86, 250, 71, 231, 206, 86, 218, 240, 231, 206, 86, 218, 40,
+ 231, 206, 86, 253, 180, 231, 206, 86, 211, 232, 231, 206, 86, 235, 63,
+ 231, 206, 86, 252, 185, 131, 86, 203, 252, 185, 131, 86, 241, 44, 131,
+ 86, 241, 43, 131, 86, 241, 42, 131, 86, 241, 41, 131, 86, 241, 40, 131,
+ 86, 241, 39, 131, 86, 241, 38, 131, 86, 241, 37, 131, 86, 241, 36, 131,
+ 86, 241, 35, 131, 86, 241, 34, 131, 86, 241, 33, 131, 86, 241, 32, 131,
+ 86, 241, 31, 131, 86, 241, 30, 131, 86, 241, 29, 131, 86, 241, 28, 131,
+ 86, 241, 27, 131, 86, 241, 26, 131, 86, 241, 25, 131, 86, 241, 24, 131,
+ 86, 241, 23, 131, 86, 241, 22, 131, 86, 241, 21, 131, 86, 241, 20, 131,
+ 86, 241, 19, 131, 86, 241, 18, 131, 86, 241, 17, 131, 86, 241, 16, 131,
+ 86, 241, 15, 131, 86, 241, 14, 131, 86, 241, 13, 131, 86, 241, 12, 131,
+ 86, 241, 11, 131, 86, 241, 10, 131, 86, 241, 9, 131, 86, 241, 8, 131, 86,
+ 241, 7, 131, 86, 241, 6, 131, 86, 241, 5, 131, 86, 241, 4, 131, 86, 241,
+ 3, 131, 86, 241, 2, 131, 86, 241, 1, 131, 86, 241, 0, 131, 86, 240, 255,
+ 131, 86, 240, 254, 131, 86, 240, 253, 131, 86, 240, 252, 131, 86, 67,
+ 252, 185, 131, 86, 213, 238, 131, 86, 213, 237, 131, 86, 213, 236, 131,
+ 86, 213, 235, 131, 86, 213, 234, 131, 86, 213, 233, 131, 86, 213, 232,
+ 131, 86, 213, 231, 131, 86, 213, 230, 131, 86, 213, 229, 131, 86, 213,
+ 228, 131, 86, 213, 227, 131, 86, 213, 226, 131, 86, 213, 225, 131, 86,
+ 213, 224, 131, 86, 213, 223, 131, 86, 213, 222, 131, 86, 213, 221, 131,
+ 86, 213, 220, 131, 86, 213, 219, 131, 86, 213, 218, 131, 86, 213, 217,
+ 131, 86, 213, 216, 131, 86, 213, 215, 131, 86, 213, 214, 131, 86, 213,
+ 213, 131, 86, 213, 212, 131, 86, 213, 211, 131, 86, 213, 210, 131, 86,
+ 213, 209, 131, 86, 213, 208, 131, 86, 213, 207, 131, 86, 213, 206, 131,
+ 86, 213, 205, 131, 86, 213, 204, 131, 86, 213, 203, 131, 86, 213, 202,
+ 131, 86, 213, 201, 131, 86, 213, 200, 131, 86, 213, 199, 131, 86, 213,
+ 198, 131, 86, 213, 197, 131, 86, 213, 196, 131, 86, 213, 195, 131, 86,
+ 213, 194, 131, 86, 213, 193, 131, 86, 213, 192, 131, 86, 213, 191, 131,
+ 86, 213, 190, 225, 34, 250, 244, 252, 185, 225, 34, 250, 244, 255, 10,
+ 64, 219, 16, 225, 34, 250, 244, 113, 64, 219, 16, 225, 34, 250, 244, 134,
+ 64, 219, 16, 225, 34, 250, 244, 244, 12, 64, 219, 16, 225, 34, 250, 244,
+ 244, 82, 64, 219, 16, 225, 34, 250, 244, 219, 126, 64, 219, 16, 225, 34,
+ 250, 244, 220, 123, 64, 219, 16, 225, 34, 250, 244, 245, 194, 64, 219,
+ 16, 225, 34, 250, 244, 228, 201, 64, 219, 16, 225, 34, 250, 244, 216,
+ 249, 64, 219, 16, 225, 34, 250, 244, 235, 140, 64, 219, 16, 225, 34, 250,
+ 244, 234, 32, 64, 219, 16, 225, 34, 250, 244, 224, 16, 64, 219, 16, 225,
+ 34, 250, 244, 234, 80, 64, 219, 16, 225, 34, 250, 244, 255, 10, 64, 241,
+ 226, 225, 34, 250, 244, 113, 64, 241, 226, 225, 34, 250, 244, 134, 64,
+ 241, 226, 225, 34, 250, 244, 244, 12, 64, 241, 226, 225, 34, 250, 244,
+ 244, 82, 64, 241, 226, 225, 34, 250, 244, 219, 126, 64, 241, 226, 225,
+ 34, 250, 244, 220, 123, 64, 241, 226, 225, 34, 250, 244, 245, 194, 64,
+ 241, 226, 225, 34, 250, 244, 228, 201, 64, 241, 226, 225, 34, 250, 244,
+ 216, 249, 64, 241, 226, 225, 34, 250, 244, 235, 140, 64, 241, 226, 225,
+ 34, 250, 244, 234, 32, 64, 241, 226, 225, 34, 250, 244, 224, 16, 64, 241,
+ 226, 225, 34, 250, 244, 234, 80, 64, 241, 226, 225, 34, 250, 244, 255,
+ 10, 64, 247, 248, 225, 34, 250, 244, 113, 64, 247, 248, 225, 34, 250,
+ 244, 134, 64, 247, 248, 225, 34, 250, 244, 244, 12, 64, 247, 248, 225,
+ 34, 250, 244, 244, 82, 64, 247, 248, 225, 34, 250, 244, 219, 126, 64,
+ 247, 248, 225, 34, 250, 244, 220, 123, 64, 247, 248, 225, 34, 250, 244,
+ 245, 194, 64, 247, 248, 225, 34, 250, 244, 228, 201, 64, 247, 248, 225,
+ 34, 250, 244, 216, 249, 64, 247, 248, 225, 34, 250, 244, 235, 140, 64,
+ 247, 248, 225, 34, 250, 244, 234, 32, 64, 247, 248, 225, 34, 250, 244,
+ 224, 16, 64, 247, 248, 225, 34, 250, 244, 234, 80, 64, 247, 248, 225, 34,
+ 250, 244, 85, 235, 63, 225, 34, 250, 244, 255, 10, 64, 249, 243, 225, 34,
+ 250, 244, 113, 64, 249, 243, 225, 34, 250, 244, 134, 64, 249, 243, 225,
+ 34, 250, 244, 244, 12, 64, 249, 243, 225, 34, 250, 244, 244, 82, 64, 249,
+ 243, 225, 34, 250, 244, 219, 126, 64, 249, 243, 225, 34, 250, 244, 220,
+ 123, 64, 249, 243, 225, 34, 250, 244, 245, 194, 64, 249, 243, 225, 34,
+ 250, 244, 228, 201, 64, 249, 243, 225, 34, 250, 244, 216, 249, 64, 249,
+ 243, 225, 34, 250, 244, 235, 140, 64, 249, 243, 225, 34, 250, 244, 234,
+ 32, 64, 249, 243, 225, 34, 250, 244, 224, 16, 64, 249, 243, 225, 34, 250,
+ 244, 234, 80, 64, 249, 243, 225, 34, 250, 244, 71, 235, 63, 21, 210, 87,
+ 243, 230, 218, 130, 21, 210, 87, 249, 220, 21, 123, 249, 220, 21, 113,
+ 249, 220, 21, 134, 249, 220, 21, 244, 12, 249, 220, 21, 244, 82, 249,
+ 220, 21, 219, 126, 249, 220, 21, 220, 123, 249, 220, 21, 245, 194, 249,
+ 220, 21, 228, 201, 249, 220, 88, 7, 6, 1, 61, 88, 7, 6, 1, 253, 159, 88,
+ 7, 6, 1, 251, 67, 88, 7, 6, 1, 249, 61, 88, 7, 6, 1, 75, 88, 7, 6, 1,
+ 245, 7, 88, 7, 6, 1, 243, 203, 88, 7, 6, 1, 242, 61, 88, 7, 6, 1, 73, 88,
+ 7, 6, 1, 235, 145, 88, 7, 6, 1, 235, 24, 88, 7, 6, 1, 156, 88, 7, 6, 1,
+ 193, 88, 7, 6, 1, 230, 26, 88, 7, 6, 1, 76, 88, 7, 6, 1, 226, 106, 88, 7,
+ 6, 1, 224, 97, 88, 7, 6, 1, 153, 88, 7, 6, 1, 222, 92, 88, 7, 6, 1, 217,
+ 153, 88, 7, 6, 1, 70, 88, 7, 6, 1, 214, 105, 88, 7, 6, 1, 212, 98, 88, 7,
+ 6, 1, 211, 178, 88, 7, 6, 1, 211, 117, 88, 7, 6, 1, 210, 159, 216, 7,
+ 220, 54, 251, 158, 7, 6, 1, 222, 92, 37, 32, 7, 6, 1, 251, 67, 37, 32, 7,
+ 6, 1, 153, 37, 250, 192, 37, 211, 180, 92, 7, 6, 1, 61, 92, 7, 6, 1, 253,
+ 159, 92, 7, 6, 1, 251, 67, 92, 7, 6, 1, 249, 61, 92, 7, 6, 1, 75, 92, 7,
+ 6, 1, 245, 7, 92, 7, 6, 1, 243, 203, 92, 7, 6, 1, 242, 61, 92, 7, 6, 1,
+ 73, 92, 7, 6, 1, 235, 145, 92, 7, 6, 1, 235, 24, 92, 7, 6, 1, 156, 92, 7,
+ 6, 1, 193, 92, 7, 6, 1, 230, 26, 92, 7, 6, 1, 76, 92, 7, 6, 1, 226, 106,
+ 92, 7, 6, 1, 224, 97, 92, 7, 6, 1, 153, 92, 7, 6, 1, 222, 92, 92, 7, 6,
+ 1, 217, 153, 92, 7, 6, 1, 70, 92, 7, 6, 1, 214, 105, 92, 7, 6, 1, 212,
+ 98, 92, 7, 6, 1, 211, 178, 92, 7, 6, 1, 211, 117, 92, 7, 6, 1, 210, 159,
+ 92, 240, 202, 92, 230, 50, 92, 221, 184, 92, 218, 227, 92, 224, 219, 92,
+ 212, 23, 152, 37, 7, 6, 1, 61, 152, 37, 7, 6, 1, 253, 159, 152, 37, 7, 6,
+ 1, 251, 67, 152, 37, 7, 6, 1, 249, 61, 152, 37, 7, 6, 1, 75, 152, 37, 7,
+ 6, 1, 245, 7, 152, 37, 7, 6, 1, 243, 203, 152, 37, 7, 6, 1, 242, 61, 152,
+ 37, 7, 6, 1, 73, 152, 37, 7, 6, 1, 235, 145, 152, 37, 7, 6, 1, 235, 24,
+ 152, 37, 7, 6, 1, 156, 152, 37, 7, 6, 1, 193, 152, 37, 7, 6, 1, 230, 26,
+ 152, 37, 7, 6, 1, 76, 152, 37, 7, 6, 1, 226, 106, 152, 37, 7, 6, 1, 224,
+ 97, 152, 37, 7, 6, 1, 153, 152, 37, 7, 6, 1, 222, 92, 152, 37, 7, 6, 1,
+ 217, 153, 152, 37, 7, 6, 1, 70, 152, 37, 7, 6, 1, 214, 105, 152, 37, 7,
+ 6, 1, 212, 98, 152, 37, 7, 6, 1, 211, 178, 152, 37, 7, 6, 1, 211, 117,
+ 152, 37, 7, 6, 1, 210, 159, 223, 158, 231, 98, 50, 223, 158, 231, 95, 50,
+ 152, 92, 7, 6, 1, 61, 152, 92, 7, 6, 1, 253, 159, 152, 92, 7, 6, 1, 251,
+ 67, 152, 92, 7, 6, 1, 249, 61, 152, 92, 7, 6, 1, 75, 152, 92, 7, 6, 1,
+ 245, 7, 152, 92, 7, 6, 1, 243, 203, 152, 92, 7, 6, 1, 242, 61, 152, 92,
+ 7, 6, 1, 73, 152, 92, 7, 6, 1, 235, 145, 152, 92, 7, 6, 1, 235, 24, 152,
+ 92, 7, 6, 1, 156, 152, 92, 7, 6, 1, 193, 152, 92, 7, 6, 1, 230, 26, 152,
+ 92, 7, 6, 1, 76, 152, 92, 7, 6, 1, 226, 106, 152, 92, 7, 6, 1, 224, 97,
+ 152, 92, 7, 6, 1, 153, 152, 92, 7, 6, 1, 222, 92, 152, 92, 7, 6, 1, 217,
+ 153, 152, 92, 7, 6, 1, 70, 152, 92, 7, 6, 1, 214, 105, 152, 92, 7, 6, 1,
+ 212, 98, 152, 92, 7, 6, 1, 211, 178, 152, 92, 7, 6, 1, 211, 117, 152, 92,
+ 7, 6, 1, 210, 159, 249, 129, 152, 92, 7, 6, 1, 226, 106, 152, 92, 240,
+ 114, 152, 92, 190, 152, 92, 206, 152, 92, 255, 26, 152, 92, 212, 23, 42,
+ 247, 165, 92, 250, 24, 92, 249, 171, 92, 243, 253, 92, 240, 106, 92, 229,
+ 87, 92, 229, 80, 92, 226, 215, 92, 219, 36, 92, 120, 2, 245, 32, 78, 92,
+ 213, 119, 223, 104, 235, 240, 16, 1, 61, 223, 104, 235, 240, 16, 1, 253,
+ 159, 223, 104, 235, 240, 16, 1, 251, 67, 223, 104, 235, 240, 16, 1, 249,
+ 61, 223, 104, 235, 240, 16, 1, 75, 223, 104, 235, 240, 16, 1, 245, 7,
+ 223, 104, 235, 240, 16, 1, 243, 203, 223, 104, 235, 240, 16, 1, 242, 61,
+ 223, 104, 235, 240, 16, 1, 73, 223, 104, 235, 240, 16, 1, 235, 145, 223,
+ 104, 235, 240, 16, 1, 235, 24, 223, 104, 235, 240, 16, 1, 156, 223, 104,
+ 235, 240, 16, 1, 193, 223, 104, 235, 240, 16, 1, 230, 26, 223, 104, 235,
+ 240, 16, 1, 76, 223, 104, 235, 240, 16, 1, 226, 106, 223, 104, 235, 240,
+ 16, 1, 224, 97, 223, 104, 235, 240, 16, 1, 153, 223, 104, 235, 240, 16,
+ 1, 222, 92, 223, 104, 235, 240, 16, 1, 217, 153, 223, 104, 235, 240, 16,
+ 1, 70, 223, 104, 235, 240, 16, 1, 214, 105, 223, 104, 235, 240, 16, 1,
+ 212, 98, 223, 104, 235, 240, 16, 1, 211, 178, 223, 104, 235, 240, 16, 1,
+ 211, 117, 223, 104, 235, 240, 16, 1, 210, 159, 42, 141, 241, 64, 92, 56,
+ 234, 19, 92, 56, 206, 92, 9, 214, 177, 238, 51, 92, 9, 214, 177, 238, 55,
+ 92, 9, 214, 177, 238, 63, 92, 56, 248, 91, 92, 9, 214, 177, 238, 70, 92,
+ 9, 214, 177, 238, 57, 92, 9, 214, 177, 238, 29, 92, 9, 214, 177, 238, 56,
+ 92, 9, 214, 177, 238, 69, 92, 9, 214, 177, 238, 43, 92, 9, 214, 177, 238,
+ 36, 92, 9, 214, 177, 238, 45, 92, 9, 214, 177, 238, 66, 92, 9, 214, 177,
+ 238, 52, 92, 9, 214, 177, 238, 68, 92, 9, 214, 177, 238, 44, 92, 9, 214,
+ 177, 238, 67, 92, 9, 214, 177, 238, 30, 92, 9, 214, 177, 238, 35, 92, 9,
+ 214, 177, 238, 28, 92, 9, 214, 177, 238, 58, 92, 9, 214, 177, 238, 60,
+ 92, 9, 214, 177, 238, 38, 92, 9, 214, 177, 238, 49, 92, 9, 214, 177, 238,
+ 47, 92, 9, 214, 177, 238, 73, 92, 9, 214, 177, 238, 72, 92, 9, 214, 177,
+ 238, 26, 92, 9, 214, 177, 238, 53, 92, 9, 214, 177, 238, 71, 92, 9, 214,
+ 177, 238, 62, 92, 9, 214, 177, 238, 48, 92, 9, 214, 177, 238, 27, 92, 9,
+ 214, 177, 238, 50, 92, 9, 214, 177, 238, 32, 92, 9, 214, 177, 238, 31,
+ 92, 9, 214, 177, 238, 61, 92, 9, 214, 177, 238, 39, 92, 9, 214, 177, 238,
+ 41, 92, 9, 214, 177, 238, 42, 92, 9, 214, 177, 238, 34, 92, 9, 214, 177,
+ 238, 65, 92, 9, 214, 177, 238, 59, 216, 7, 220, 54, 251, 158, 9, 214,
+ 177, 238, 40, 216, 7, 220, 54, 251, 158, 9, 214, 177, 238, 72, 216, 7,
+ 220, 54, 251, 158, 9, 214, 177, 238, 70, 216, 7, 220, 54, 251, 158, 9,
+ 214, 177, 238, 54, 216, 7, 220, 54, 251, 158, 9, 214, 177, 238, 37, 216,
+ 7, 220, 54, 251, 158, 9, 214, 177, 238, 50, 216, 7, 220, 54, 251, 158, 9,
+ 214, 177, 238, 33, 216, 7, 220, 54, 251, 158, 9, 214, 177, 238, 64, 216,
+ 7, 220, 54, 251, 158, 9, 214, 177, 238, 46, 37, 154, 254, 246, 37, 154,
+ 255, 13, 249, 72, 244, 43, 250, 1, 214, 194, 228, 214, 2, 218, 154, 218,
+ 34, 117, 230, 115, 218, 33, 250, 27, 253, 208, 246, 55, 218, 32, 117,
+ 251, 119, 223, 159, 251, 141, 253, 208, 228, 213, 212, 41, 212, 35, 213,
+ 131, 230, 196, 212, 25, 245, 225, 242, 182, 245, 46, 245, 225, 242, 182,
+ 254, 129, 245, 225, 242, 182, 253, 226, 242, 182, 2, 231, 52, 166, 230,
+ 130, 87, 212, 27, 249, 138, 230, 130, 87, 244, 93, 224, 23, 230, 130, 87,
+ 212, 27, 242, 211, 230, 130, 87, 243, 230, 230, 130, 87, 212, 52, 242,
+ 211, 230, 130, 87, 233, 81, 224, 23, 230, 130, 87, 212, 52, 249, 138,
+ 230, 130, 87, 249, 138, 230, 129, 166, 230, 130, 2, 244, 191, 244, 93,
+ 224, 23, 230, 130, 2, 244, 191, 233, 81, 224, 23, 230, 130, 2, 244, 191,
+ 243, 230, 230, 130, 2, 244, 191, 218, 39, 2, 244, 191, 242, 180, 218,
+ 157, 220, 0, 218, 157, 250, 117, 221, 169, 245, 40, 215, 236, 248, 85,
+ 215, 236, 226, 60, 215, 236, 251, 28, 215, 110, 250, 119, 251, 211, 222,
+ 192, 241, 180, 218, 37, 251, 211, 245, 229, 64, 231, 195, 245, 229, 64,
+ 223, 32, 241, 205, 244, 12, 233, 55, 249, 247, 231, 171, 233, 54, 244,
+ 177, 233, 54, 233, 55, 244, 48, 236, 1, 211, 239, 230, 59, 216, 35, 253,
+ 192, 242, 144, 231, 68, 212, 39, 217, 58, 233, 27, 252, 150, 225, 63,
+ 223, 112, 254, 55, 242, 128, 254, 55, 225, 218, 225, 219, 250, 120, 218,
+ 115, 242, 24, 219, 91, 64, 225, 45, 231, 88, 226, 198, 251, 195, 224,
+ 230, 233, 37, 223, 33, 249, 143, 223, 33, 252, 160, 249, 174, 223, 32,
+ 249, 96, 22, 223, 32, 218, 142, 251, 168, 219, 15, 251, 152, 243, 252,
+ 243, 248, 222, 208, 217, 247, 224, 232, 248, 176, 226, 237, 218, 8, 243,
+ 249, 219, 231, 244, 92, 251, 22, 2, 217, 240, 248, 36, 219, 53, 240, 113,
+ 249, 142, 220, 71, 240, 112, 240, 113, 249, 142, 246, 109, 249, 173, 250,
+ 85, 130, 250, 255, 232, 142, 249, 89, 241, 56, 224, 234, 219, 241, 252,
+ 37, 251, 164, 224, 235, 64, 244, 34, 249, 172, 244, 25, 22, 234, 33, 217,
+ 20, 211, 230, 242, 14, 222, 13, 251, 178, 22, 249, 103, 211, 237, 242,
+ 185, 249, 236, 242, 185, 215, 194, 246, 91, 252, 63, 230, 94, 250, 8,
+ 252, 63, 230, 93, 252, 188, 251, 177, 223, 34, 211, 201, 224, 196, 251,
+ 236, 251, 21, 235, 139, 250, 78, 215, 236, 244, 163, 250, 77, 244, 95,
+ 244, 96, 219, 13, 252, 159, 225, 251, 224, 245, 249, 205, 252, 160, 217,
+ 60, 215, 236, 249, 129, 244, 68, 225, 64, 248, 82, 235, 132, 247, 132,
+ 250, 233, 218, 114, 211, 240, 250, 99, 230, 130, 213, 164, 250, 163, 221,
+ 200, 221, 225, 242, 149, 250, 252, 250, 234, 240, 246, 244, 131, 212, 0,
+ 222, 201, 249, 237, 244, 87, 225, 3, 22, 244, 91, 230, 228, 230, 109,
+ 251, 11, 250, 40, 241, 233, 253, 242, 226, 63, 216, 15, 241, 252, 250,
+ 30, 216, 243, 216, 114, 250, 21, 251, 203, 225, 178, 253, 241, 213, 172,
+ 243, 111, 247, 198, 241, 157, 219, 85, 231, 235, 251, 246, 243, 112, 247,
+ 241, 251, 167, 244, 53, 225, 34, 250, 242, 28, 228, 48, 230, 86, 28, 228,
+ 43, 221, 213, 242, 100, 28, 234, 138, 215, 191, 213, 154, 28, 221, 193,
+ 222, 125, 220, 12, 2, 221, 228, 216, 245, 223, 179, 22, 252, 160, 219,
+ 106, 22, 219, 106, 251, 188, 252, 124, 22, 241, 50, 250, 121, 244, 74,
+ 219, 64, 222, 126, 218, 13, 215, 195, 240, 247, 223, 180, 254, 130, 244,
+ 32, 222, 137, 244, 32, 217, 242, 240, 236, 251, 120, 240, 236, 2, 243,
+ 95, 226, 230, 251, 120, 235, 132, 224, 240, 226, 229, 245, 45, 224, 240,
+ 226, 229, 240, 245, 252, 146, 253, 182, 216, 253, 231, 235, 240, 241,
+ 232, 112, 240, 241, 249, 177, 218, 126, 221, 199, 248, 44, 218, 126, 244,
+ 181, 235, 150, 233, 90, 235, 132, 250, 227, 245, 45, 250, 227, 223, 142,
+ 230, 113, 226, 115, 212, 41, 251, 124, 249, 146, 216, 107, 233, 19, 223,
+ 181, 250, 225, 246, 97, 249, 136, 212, 3, 219, 71, 219, 69, 240, 246,
+ 223, 154, 242, 171, 220, 58, 230, 146, 222, 195, 250, 109, 247, 137, 225,
+ 74, 251, 204, 245, 170, 226, 239, 218, 253, 220, 53, 251, 123, 254, 93,
+ 241, 55, 233, 122, 252, 61, 244, 91, 215, 194, 244, 91, 251, 210, 215,
+ 91, 241, 250, 250, 110, 252, 188, 250, 110, 243, 243, 252, 188, 250, 110,
+ 251, 238, 225, 196, 234, 27, 224, 249, 246, 88, 251, 12, 252, 178, 251,
+ 12, 247, 131, 230, 114, 244, 191, 249, 147, 244, 191, 216, 108, 244, 191,
+ 223, 182, 244, 191, 250, 226, 244, 191, 246, 98, 244, 191, 218, 242, 212,
+ 3, 240, 247, 244, 191, 230, 147, 244, 191, 247, 138, 244, 191, 225, 75,
+ 244, 191, 243, 246, 244, 191, 242, 21, 244, 191, 211, 224, 244, 191, 252,
+ 72, 244, 191, 226, 46, 244, 191, 225, 75, 228, 54, 225, 233, 224, 187,
+ 245, 14, 245, 228, 228, 54, 230, 111, 216, 20, 71, 120, 225, 8, 252, 183,
+ 235, 243, 71, 124, 225, 8, 252, 183, 235, 243, 71, 43, 225, 8, 252, 183,
+ 235, 243, 71, 44, 225, 8, 252, 183, 235, 243, 244, 85, 242, 17, 50, 212,
+ 33, 242, 17, 50, 226, 216, 242, 17, 50, 216, 136, 120, 50, 216, 136, 124,
+ 50, 250, 20, 242, 12, 50, 204, 242, 12, 50, 249, 124, 211, 220, 241, 252,
+ 245, 15, 229, 105, 217, 152, 235, 126, 246, 93, 234, 83, 251, 248, 211,
+ 220, 249, 250, 224, 128, 242, 15, 224, 231, 231, 178, 220, 5, 253, 204,
+ 220, 5, 241, 165, 220, 5, 211, 220, 221, 241, 211, 220, 251, 187, 244,
+ 30, 251, 91, 236, 1, 219, 170, 251, 90, 236, 1, 219, 170, 251, 163, 242,
+ 195, 231, 186, 211, 221, 244, 175, 231, 187, 22, 211, 222, 241, 61, 242,
+ 11, 113, 231, 60, 241, 61, 242, 11, 113, 211, 219, 241, 61, 242, 11, 225,
+ 0, 226, 228, 211, 222, 2, 251, 107, 245, 226, 251, 142, 2, 213, 246, 225,
+ 169, 2, 251, 213, 242, 35, 231, 187, 2, 242, 111, 225, 110, 231, 175,
+ 231, 187, 2, 215, 98, 226, 209, 231, 186, 226, 209, 211, 221, 252, 187,
+ 249, 191, 211, 205, 224, 190, 235, 132, 226, 224, 235, 132, 242, 170,
+ 242, 223, 252, 188, 254, 114, 245, 19, 254, 161, 254, 162, 230, 137, 236,
+ 6, 219, 101, 235, 233, 248, 35, 225, 168, 242, 106, 248, 180, 232, 202,
+ 229, 212, 224, 255, 244, 192, 231, 143, 242, 34, 252, 139, 225, 2, 217,
+ 172, 225, 67, 234, 65, 78, 232, 112, 233, 11, 222, 234, 243, 55, 218,
+ 132, 234, 64, 251, 172, 249, 149, 2, 241, 228, 212, 19, 252, 70, 241,
+ 228, 251, 136, 241, 228, 113, 241, 226, 219, 11, 241, 228, 242, 121, 241,
+ 228, 241, 229, 2, 74, 251, 209, 241, 228, 242, 128, 241, 228, 211, 42,
+ 241, 228, 224, 129, 241, 228, 241, 229, 2, 223, 34, 223, 45, 241, 226,
+ 241, 229, 248, 82, 247, 250, 220, 83, 2, 115, 59, 235, 216, 245, 173,
+ 192, 251, 117, 254, 113, 87, 251, 196, 219, 93, 87, 249, 229, 87, 218,
+ 247, 217, 249, 87, 246, 86, 248, 158, 87, 225, 68, 64, 224, 250, 244, 62,
+ 252, 4, 247, 166, 87, 219, 4, 252, 159, 216, 150, 252, 159, 71, 244, 52,
+ 240, 212, 225, 6, 87, 230, 150, 252, 173, 249, 99, 245, 33, 114, 247,
+ 133, 50, 249, 140, 250, 243, 252, 145, 2, 211, 40, 50, 252, 145, 2, 247,
+ 133, 50, 252, 145, 2, 245, 48, 50, 252, 145, 2, 224, 229, 50, 230, 150,
+ 2, 211, 235, 250, 139, 2, 214, 153, 215, 232, 22, 211, 40, 50, 221, 179,
+ 225, 167, 249, 209, 251, 140, 230, 187, 244, 57, 247, 186, 226, 162, 247,
+ 191, 246, 50, 244, 108, 244, 41, 204, 244, 108, 244, 41, 226, 77, 2, 249,
+ 101, 226, 77, 244, 184, 214, 163, 251, 17, 217, 19, 251, 17, 250, 244,
+ 235, 243, 250, 139, 2, 214, 153, 215, 231, 250, 139, 2, 246, 105, 215,
+ 231, 252, 142, 250, 138, 250, 7, 224, 124, 222, 186, 224, 124, 226, 20,
+ 218, 122, 222, 132, 215, 223, 222, 132, 251, 192, 217, 92, 233, 52, 228,
+ 46, 228, 47, 2, 248, 81, 249, 148, 250, 1, 251, 193, 204, 251, 193, 242,
+ 128, 251, 193, 251, 209, 251, 193, 226, 158, 251, 193, 251, 190, 229,
+ 206, 252, 176, 221, 187, 231, 61, 217, 2, 223, 124, 226, 75, 244, 160,
+ 231, 235, 221, 224, 254, 90, 224, 146, 254, 253, 232, 114, 250, 128, 231,
+ 73, 226, 130, 215, 239, 235, 253, 215, 239, 226, 83, 246, 25, 87, 235,
+ 250, 245, 120, 245, 121, 2, 246, 105, 80, 48, 250, 1, 231, 201, 2, 232,
+ 108, 244, 74, 250, 1, 231, 201, 2, 223, 158, 244, 74, 204, 231, 201, 2,
+ 223, 158, 244, 74, 204, 231, 201, 2, 232, 108, 244, 74, 224, 237, 224,
+ 238, 240, 249, 229, 85, 230, 160, 225, 118, 230, 160, 225, 119, 2, 97,
+ 80, 253, 208, 233, 47, 213, 175, 230, 159, 230, 160, 225, 119, 226, 231,
+ 228, 76, 230, 160, 225, 117, 254, 91, 2, 252, 130, 251, 11, 213, 172,
+ 251, 11, 216, 255, 223, 174, 213, 171, 215, 60, 97, 253, 248, 250, 3, 97,
+ 22, 140, 204, 250, 37, 253, 248, 250, 3, 97, 22, 140, 204, 250, 37, 253,
+ 249, 2, 37, 123, 226, 121, 250, 3, 246, 105, 22, 214, 153, 204, 250, 37,
+ 253, 248, 254, 89, 246, 105, 22, 214, 153, 204, 250, 37, 253, 248, 121,
+ 251, 139, 87, 125, 251, 139, 87, 219, 8, 2, 251, 5, 91, 219, 7, 219, 8,
+ 2, 123, 219, 32, 212, 35, 219, 8, 2, 134, 219, 32, 212, 34, 252, 116,
+ 245, 173, 225, 28, 233, 43, 231, 212, 242, 185, 222, 248, 231, 212, 242,
+ 185, 232, 153, 2, 235, 226, 225, 200, 250, 1, 232, 153, 2, 234, 139, 234,
+ 139, 232, 152, 204, 232, 152, 252, 45, 252, 46, 2, 251, 5, 91, 251, 191,
+ 232, 205, 87, 223, 175, 251, 87, 252, 186, 2, 140, 80, 48, 245, 144, 2,
+ 140, 80, 48, 226, 198, 2, 245, 32, 164, 2, 43, 44, 80, 48, 219, 40, 2,
+ 97, 80, 48, 216, 15, 2, 214, 153, 80, 48, 228, 76, 123, 214, 184, 245,
+ 192, 87, 234, 137, 216, 248, 235, 220, 16, 31, 7, 6, 233, 10, 235, 220,
+ 16, 31, 7, 4, 233, 10, 235, 220, 16, 31, 227, 200, 235, 220, 16, 31, 217,
+ 184, 235, 220, 16, 31, 7, 233, 10, 244, 97, 245, 173, 216, 10, 211, 199,
+ 242, 22, 227, 183, 22, 251, 198, 241, 67, 225, 51, 230, 227, 217, 0, 249,
+ 115, 252, 160, 219, 126, 225, 10, 218, 158, 2, 230, 225, 247, 121, 235,
+ 132, 16, 31, 252, 58, 215, 221, 245, 157, 85, 42, 251, 87, 71, 42, 251,
+ 87, 233, 86, 223, 112, 250, 36, 233, 86, 251, 209, 250, 36, 233, 86, 226,
+ 158, 247, 249, 233, 86, 251, 209, 247, 249, 4, 226, 158, 247, 249, 4,
+ 251, 209, 247, 249, 214, 162, 223, 112, 215, 226, 246, 106, 223, 112,
+ 215, 226, 214, 162, 4, 223, 112, 215, 226, 246, 106, 4, 223, 112, 215,
+ 226, 37, 249, 132, 224, 253, 249, 132, 224, 254, 2, 242, 27, 51, 249,
+ 132, 224, 253, 228, 50, 43, 220, 154, 2, 134, 247, 119, 250, 5, 244, 192,
+ 123, 226, 243, 250, 5, 244, 192, 113, 226, 243, 250, 5, 244, 192, 134,
+ 226, 243, 250, 5, 244, 192, 244, 12, 226, 243, 250, 5, 244, 192, 244, 82,
+ 226, 243, 250, 5, 244, 192, 219, 126, 226, 243, 250, 5, 244, 192, 220,
+ 123, 226, 243, 250, 5, 244, 192, 245, 194, 226, 243, 250, 5, 244, 192,
+ 228, 201, 226, 243, 250, 5, 244, 192, 216, 249, 226, 243, 250, 5, 244,
+ 192, 245, 169, 226, 243, 250, 5, 244, 192, 215, 77, 226, 243, 250, 5,
+ 244, 192, 226, 193, 250, 5, 244, 192, 215, 56, 250, 5, 244, 192, 216,
+ 141, 250, 5, 244, 192, 244, 8, 250, 5, 244, 192, 244, 80, 250, 5, 244,
+ 192, 219, 122, 250, 5, 244, 192, 220, 122, 250, 5, 244, 192, 245, 193,
+ 250, 5, 244, 192, 228, 200, 250, 5, 244, 192, 216, 247, 250, 5, 244, 192,
+ 245, 167, 250, 5, 244, 192, 215, 75, 230, 118, 243, 231, 216, 37, 216, 3,
+ 218, 149, 64, 232, 240, 219, 171, 64, 235, 133, 230, 107, 242, 125, 244,
+ 191, 242, 125, 244, 192, 2, 219, 75, 245, 14, 244, 192, 2, 217, 15, 64,
+ 235, 54, 219, 75, 244, 192, 2, 204, 230, 111, 219, 75, 244, 192, 2, 204,
+ 230, 112, 22, 219, 75, 245, 14, 219, 75, 244, 192, 2, 204, 230, 112, 22,
+ 249, 231, 217, 248, 219, 75, 244, 192, 2, 204, 230, 112, 22, 216, 105,
+ 245, 14, 219, 75, 244, 192, 2, 242, 26, 219, 75, 244, 192, 2, 240, 248,
+ 211, 233, 244, 191, 219, 75, 244, 192, 2, 219, 75, 245, 14, 244, 192,
+ 221, 218, 248, 63, 244, 34, 223, 89, 244, 191, 219, 75, 244, 192, 2, 241,
+ 227, 245, 14, 219, 75, 244, 192, 2, 218, 35, 219, 74, 244, 191, 229, 88,
+ 244, 191, 245, 24, 244, 191, 214, 188, 244, 191, 244, 192, 2, 249, 231,
+ 217, 248, 225, 193, 244, 191, 249, 202, 244, 191, 249, 203, 244, 191,
+ 234, 63, 244, 191, 244, 192, 216, 138, 115, 234, 64, 234, 63, 244, 192,
+ 2, 219, 75, 245, 14, 234, 63, 244, 192, 2, 250, 1, 245, 14, 244, 192, 2,
+ 218, 89, 216, 20, 244, 192, 2, 218, 89, 216, 21, 22, 211, 233, 245, 16,
+ 244, 192, 2, 218, 89, 216, 21, 22, 216, 105, 245, 14, 247, 193, 244, 191,
+ 211, 204, 244, 191, 254, 109, 244, 191, 224, 228, 244, 191, 249, 117,
+ 244, 191, 225, 171, 244, 191, 244, 192, 2, 232, 127, 64, 215, 205, 247,
+ 193, 251, 89, 223, 89, 244, 191, 243, 240, 244, 192, 2, 204, 230, 111,
+ 254, 107, 244, 191, 244, 153, 244, 191, 212, 20, 244, 191, 219, 92, 244,
+ 191, 216, 72, 244, 191, 242, 126, 244, 191, 232, 115, 249, 117, 244, 191,
+ 244, 192, 2, 204, 230, 111, 240, 204, 244, 191, 244, 192, 2, 204, 230,
+ 112, 22, 249, 231, 217, 248, 244, 192, 221, 191, 236, 1, 244, 154, 253,
+ 214, 244, 191, 244, 50, 244, 191, 219, 93, 244, 191, 247, 166, 244, 191,
+ 244, 192, 211, 230, 230, 111, 244, 192, 2, 231, 85, 231, 145, 242, 125,
+ 250, 226, 244, 192, 2, 219, 75, 245, 14, 250, 226, 244, 192, 2, 217, 15,
+ 64, 235, 54, 219, 75, 250, 226, 244, 192, 2, 204, 230, 111, 219, 75, 250,
+ 226, 244, 192, 2, 241, 227, 245, 14, 250, 226, 244, 192, 2, 211, 196,
+ 219, 76, 234, 63, 250, 226, 244, 192, 2, 250, 1, 245, 14, 224, 228, 250,
+ 226, 244, 191, 249, 117, 250, 226, 244, 191, 212, 20, 250, 226, 244, 191,
+ 244, 192, 2, 228, 76, 242, 164, 243, 35, 244, 192, 2, 226, 216, 243, 35,
+ 225, 169, 251, 169, 248, 76, 221, 170, 230, 146, 241, 230, 230, 146, 219,
+ 9, 230, 146, 242, 6, 225, 169, 223, 157, 123, 242, 16, 225, 169, 223,
+ 157, 251, 179, 242, 12, 236, 1, 250, 180, 225, 169, 243, 239, 225, 169,
+ 2, 224, 228, 244, 191, 225, 169, 2, 244, 42, 242, 11, 222, 204, 241, 215,
+ 218, 144, 232, 150, 223, 163, 250, 245, 241, 163, 215, 249, 241, 163,
+ 215, 250, 2, 251, 115, 228, 54, 215, 249, 231, 33, 192, 223, 164, 218,
+ 150, 215, 247, 215, 248, 250, 245, 251, 93, 226, 195, 251, 93, 215, 202,
+ 251, 94, 218, 130, 230, 188, 254, 131, 244, 98, 245, 138, 225, 0, 250,
+ 245, 226, 195, 225, 0, 250, 245, 217, 33, 226, 195, 217, 33, 253, 181,
+ 226, 195, 253, 181, 223, 119, 213, 247, 248, 59, 215, 193, 253, 243, 232,
+ 118, 215, 255, 230, 140, 230, 117, 223, 162, 218, 7, 223, 162, 230, 117,
+ 251, 29, 254, 230, 215, 246, 220, 17, 222, 183, 219, 2, 203, 215, 253,
+ 232, 231, 67, 215, 253, 232, 231, 249, 191, 50, 225, 0, 250, 230, 223,
+ 45, 232, 231, 215, 223, 244, 75, 226, 198, 224, 239, 247, 124, 228, 76,
+ 245, 126, 50, 219, 73, 87, 228, 76, 219, 73, 87, 224, 123, 232, 194, 236,
+ 1, 235, 158, 225, 42, 87, 247, 147, 228, 53, 232, 194, 87, 224, 233, 212,
+ 41, 87, 228, 67, 212, 41, 87, 252, 3, 228, 76, 252, 2, 252, 1, 230, 117,
+ 252, 1, 225, 214, 228, 76, 225, 213, 250, 101, 249, 125, 231, 57, 87,
+ 211, 218, 87, 223, 60, 252, 188, 87, 216, 38, 212, 41, 249, 254, 219,
+ 235, 252, 119, 252, 117, 225, 243, 249, 178, 249, 87, 252, 170, 250, 23,
+ 43, 232, 91, 108, 16, 31, 224, 4, 108, 16, 31, 254, 193, 108, 16, 31,
+ 244, 97, 108, 16, 31, 245, 224, 108, 16, 31, 212, 40, 108, 16, 31, 254,
+ 44, 108, 16, 31, 254, 45, 223, 106, 108, 16, 31, 254, 45, 223, 105, 108,
+ 16, 31, 254, 45, 213, 143, 108, 16, 31, 254, 45, 213, 142, 108, 16, 31,
213, 157, 108, 16, 31, 213, 156, 108, 16, 31, 213, 155, 108, 16, 31, 218,
- 44, 108, 16, 31, 225, 125, 218, 44, 108, 16, 31, 85, 218, 44, 108, 16,
- 31, 231, 55, 218, 71, 108, 16, 31, 231, 55, 218, 70, 108, 16, 31, 231,
- 55, 218, 69, 108, 16, 31, 250, 38, 108, 16, 31, 222, 1, 108, 16, 31, 228,
- 188, 108, 16, 31, 213, 141, 108, 16, 31, 213, 140, 108, 16, 31, 222, 204,
- 222, 1, 108, 16, 31, 222, 204, 222, 0, 108, 16, 31, 242, 166, 108, 16,
- 31, 219, 166, 108, 16, 31, 235, 177, 226, 153, 108, 16, 31, 235, 177,
- 226, 152, 108, 16, 31, 249, 134, 64, 235, 176, 108, 16, 31, 223, 101, 64,
- 235, 176, 108, 16, 31, 249, 168, 226, 153, 108, 16, 31, 235, 175, 226,
- 153, 108, 16, 31, 218, 72, 64, 249, 167, 108, 16, 31, 249, 134, 64, 249,
- 167, 108, 16, 31, 249, 134, 64, 249, 166, 108, 16, 31, 249, 168, 254, 83,
- 108, 16, 31, 222, 2, 64, 249, 168, 254, 83, 108, 16, 31, 218, 72, 64,
- 222, 2, 64, 249, 167, 108, 16, 31, 213, 243, 108, 16, 31, 216, 84, 226,
- 153, 108, 16, 31, 233, 57, 226, 153, 108, 16, 31, 254, 82, 226, 153, 108,
- 16, 31, 218, 72, 64, 254, 81, 108, 16, 31, 222, 2, 64, 254, 81, 108, 16,
- 31, 218, 72, 64, 222, 2, 64, 254, 81, 108, 16, 31, 213, 158, 64, 254, 81,
- 108, 16, 31, 223, 101, 64, 254, 81, 108, 16, 31, 223, 101, 64, 254, 80,
- 108, 16, 31, 223, 100, 108, 16, 31, 223, 99, 108, 16, 31, 223, 98, 108,
- 16, 31, 223, 97, 108, 16, 31, 254, 157, 108, 16, 31, 254, 156, 108, 16,
- 31, 231, 163, 108, 16, 31, 222, 7, 108, 16, 31, 253, 246, 108, 16, 31,
- 223, 125, 108, 16, 31, 223, 124, 108, 16, 31, 253, 183, 108, 16, 31, 251,
- 229, 226, 153, 108, 16, 31, 217, 49, 108, 16, 31, 217, 48, 108, 16, 31,
- 224, 8, 232, 222, 108, 16, 31, 251, 183, 108, 16, 31, 251, 182, 108, 16,
- 31, 251, 181, 108, 16, 31, 254, 138, 108, 16, 31, 226, 218, 108, 16, 31,
- 218, 248, 108, 16, 31, 216, 82, 108, 16, 31, 242, 96, 108, 16, 31, 212,
- 28, 108, 16, 31, 224, 226, 108, 16, 31, 251, 14, 108, 16, 31, 215, 86,
- 108, 16, 31, 250, 246, 230, 122, 108, 16, 31, 221, 202, 64, 235, 55, 108,
- 16, 31, 251, 25, 108, 16, 31, 215, 219, 108, 16, 31, 218, 154, 215, 219,
- 108, 16, 31, 232, 148, 108, 16, 31, 219, 56, 108, 16, 31, 214, 142, 108,
- 16, 31, 240, 246, 246, 64, 108, 16, 31, 253, 227, 108, 16, 31, 224, 234,
- 253, 227, 108, 16, 31, 251, 142, 108, 16, 31, 224, 225, 251, 142, 108,
- 16, 31, 254, 135, 108, 16, 31, 218, 117, 218, 26, 218, 116, 108, 16, 31,
- 218, 117, 218, 26, 218, 115, 108, 16, 31, 218, 68, 108, 16, 31, 224, 200,
- 108, 16, 31, 247, 181, 108, 16, 31, 247, 183, 108, 16, 31, 247, 182, 108,
- 16, 31, 224, 131, 108, 16, 31, 224, 120, 108, 16, 31, 249, 122, 108, 16,
- 31, 249, 121, 108, 16, 31, 249, 120, 108, 16, 31, 249, 119, 108, 16, 31,
- 249, 118, 108, 16, 31, 254, 169, 108, 16, 31, 252, 119, 64, 231, 149,
- 108, 16, 31, 252, 119, 64, 214, 17, 108, 16, 31, 223, 57, 108, 16, 31,
- 240, 238, 108, 16, 31, 228, 212, 108, 16, 31, 248, 145, 108, 16, 31, 230,
- 134, 108, 16, 31, 163, 246, 94, 108, 16, 31, 163, 226, 132, 9, 14, 240,
- 102, 9, 14, 240, 101, 9, 14, 240, 100, 9, 14, 240, 99, 9, 14, 240, 98, 9,
- 14, 240, 97, 9, 14, 240, 96, 9, 14, 240, 95, 9, 14, 240, 94, 9, 14, 240,
- 93, 9, 14, 240, 92, 9, 14, 240, 91, 9, 14, 240, 90, 9, 14, 240, 89, 9,
- 14, 240, 88, 9, 14, 240, 87, 9, 14, 240, 86, 9, 14, 240, 85, 9, 14, 240,
- 84, 9, 14, 240, 83, 9, 14, 240, 82, 9, 14, 240, 81, 9, 14, 240, 80, 9,
- 14, 240, 79, 9, 14, 240, 78, 9, 14, 240, 77, 9, 14, 240, 76, 9, 14, 240,
- 75, 9, 14, 240, 74, 9, 14, 240, 73, 9, 14, 240, 72, 9, 14, 240, 71, 9,
- 14, 240, 70, 9, 14, 240, 69, 9, 14, 240, 68, 9, 14, 240, 67, 9, 14, 240,
- 66, 9, 14, 240, 65, 9, 14, 240, 64, 9, 14, 240, 63, 9, 14, 240, 62, 9,
- 14, 240, 61, 9, 14, 240, 60, 9, 14, 240, 59, 9, 14, 240, 58, 9, 14, 240,
- 57, 9, 14, 240, 56, 9, 14, 240, 55, 9, 14, 240, 54, 9, 14, 240, 53, 9,
- 14, 240, 52, 9, 14, 240, 51, 9, 14, 240, 50, 9, 14, 240, 49, 9, 14, 240,
- 48, 9, 14, 240, 47, 9, 14, 240, 46, 9, 14, 240, 45, 9, 14, 240, 44, 9,
- 14, 240, 43, 9, 14, 240, 42, 9, 14, 240, 41, 9, 14, 240, 40, 9, 14, 240,
- 39, 9, 14, 240, 38, 9, 14, 240, 37, 9, 14, 240, 36, 9, 14, 240, 35, 9,
- 14, 240, 34, 9, 14, 240, 33, 9, 14, 240, 32, 9, 14, 240, 31, 9, 14, 240,
- 30, 9, 14, 240, 29, 9, 14, 240, 28, 9, 14, 240, 27, 9, 14, 240, 26, 9,
- 14, 240, 25, 9, 14, 240, 24, 9, 14, 240, 23, 9, 14, 240, 22, 9, 14, 240,
- 21, 9, 14, 240, 20, 9, 14, 240, 19, 9, 14, 240, 18, 9, 14, 240, 17, 9,
- 14, 240, 16, 9, 14, 240, 15, 9, 14, 240, 14, 9, 14, 240, 13, 9, 14, 240,
- 12, 9, 14, 240, 11, 9, 14, 240, 10, 9, 14, 240, 9, 9, 14, 240, 8, 9, 14,
- 240, 7, 9, 14, 240, 6, 9, 14, 240, 5, 9, 14, 240, 4, 9, 14, 240, 3, 9,
- 14, 240, 2, 9, 14, 240, 1, 9, 14, 240, 0, 9, 14, 239, 255, 9, 14, 239,
- 254, 9, 14, 239, 253, 9, 14, 239, 252, 9, 14, 239, 251, 9, 14, 239, 250,
- 9, 14, 239, 249, 9, 14, 239, 248, 9, 14, 239, 247, 9, 14, 239, 246, 9,
- 14, 239, 245, 9, 14, 239, 244, 9, 14, 239, 243, 9, 14, 239, 242, 9, 14,
- 239, 241, 9, 14, 239, 240, 9, 14, 239, 239, 9, 14, 239, 238, 9, 14, 239,
- 237, 9, 14, 239, 236, 9, 14, 239, 235, 9, 14, 239, 234, 9, 14, 239, 233,
- 9, 14, 239, 232, 9, 14, 239, 231, 9, 14, 239, 230, 9, 14, 239, 229, 9,
- 14, 239, 228, 9, 14, 239, 227, 9, 14, 239, 226, 9, 14, 239, 225, 9, 14,
- 239, 224, 9, 14, 239, 223, 9, 14, 239, 222, 9, 14, 239, 221, 9, 14, 239,
- 220, 9, 14, 239, 219, 9, 14, 239, 218, 9, 14, 239, 217, 9, 14, 239, 216,
- 9, 14, 239, 215, 9, 14, 239, 214, 9, 14, 239, 213, 9, 14, 239, 212, 9,
- 14, 239, 211, 9, 14, 239, 210, 9, 14, 239, 209, 9, 14, 239, 208, 9, 14,
- 239, 207, 9, 14, 239, 206, 9, 14, 239, 205, 9, 14, 239, 204, 9, 14, 239,
- 203, 9, 14, 239, 202, 9, 14, 239, 201, 9, 14, 239, 200, 9, 14, 239, 199,
- 9, 14, 239, 198, 9, 14, 239, 197, 9, 14, 239, 196, 9, 14, 239, 195, 9,
- 14, 239, 194, 9, 14, 239, 193, 9, 14, 239, 192, 9, 14, 239, 191, 9, 14,
- 239, 190, 9, 14, 239, 189, 9, 14, 239, 188, 9, 14, 239, 187, 9, 14, 239,
- 186, 9, 14, 239, 185, 9, 14, 239, 184, 9, 14, 239, 183, 9, 14, 239, 182,
- 9, 14, 239, 181, 9, 14, 239, 180, 9, 14, 239, 179, 9, 14, 239, 178, 9,
- 14, 239, 177, 9, 14, 239, 176, 9, 14, 239, 175, 9, 14, 239, 174, 9, 14,
- 239, 173, 9, 14, 239, 172, 9, 14, 239, 171, 9, 14, 239, 170, 9, 14, 239,
- 169, 9, 14, 239, 168, 9, 14, 239, 167, 9, 14, 239, 166, 9, 14, 239, 165,
- 9, 14, 239, 164, 9, 14, 239, 163, 9, 14, 239, 162, 9, 14, 239, 161, 9,
- 14, 239, 160, 9, 14, 239, 159, 9, 14, 239, 158, 9, 14, 239, 157, 9, 14,
- 239, 156, 9, 14, 239, 155, 9, 14, 239, 154, 9, 14, 239, 153, 9, 14, 239,
- 152, 9, 14, 239, 151, 9, 14, 239, 150, 9, 14, 239, 149, 9, 14, 239, 148,
- 9, 14, 239, 147, 9, 14, 239, 146, 9, 14, 239, 145, 9, 14, 239, 144, 9,
- 14, 239, 143, 9, 14, 239, 142, 9, 14, 239, 141, 9, 14, 239, 140, 9, 14,
- 239, 139, 9, 14, 239, 138, 9, 14, 239, 137, 9, 14, 239, 136, 9, 14, 239,
- 135, 9, 14, 239, 134, 9, 14, 239, 133, 9, 14, 239, 132, 9, 14, 239, 131,
- 9, 14, 239, 130, 9, 14, 239, 129, 9, 14, 239, 128, 9, 14, 239, 127, 9,
- 14, 239, 126, 9, 14, 239, 125, 9, 14, 239, 124, 9, 14, 239, 123, 9, 14,
- 239, 122, 9, 14, 239, 121, 9, 14, 239, 120, 9, 14, 239, 119, 9, 14, 239,
- 118, 9, 14, 239, 117, 9, 14, 239, 116, 9, 14, 239, 115, 9, 14, 239, 114,
- 9, 14, 239, 113, 9, 14, 239, 112, 9, 14, 239, 111, 9, 14, 239, 110, 9,
- 14, 239, 109, 9, 14, 239, 108, 9, 14, 239, 107, 9, 14, 239, 106, 9, 14,
- 239, 105, 9, 14, 239, 104, 9, 14, 239, 103, 9, 14, 239, 102, 9, 14, 239,
- 101, 9, 14, 239, 100, 9, 14, 239, 99, 9, 14, 239, 98, 9, 14, 239, 97, 9,
- 14, 239, 96, 9, 14, 239, 95, 9, 14, 239, 94, 9, 14, 239, 93, 9, 14, 239,
- 92, 9, 14, 239, 91, 9, 14, 239, 90, 9, 14, 239, 89, 9, 14, 239, 88, 9,
- 14, 239, 87, 9, 14, 239, 86, 9, 14, 239, 85, 9, 14, 239, 84, 9, 14, 239,
- 83, 9, 14, 239, 82, 9, 14, 239, 81, 9, 14, 239, 80, 9, 14, 239, 79, 9,
- 14, 239, 78, 9, 14, 239, 77, 9, 14, 239, 76, 9, 14, 239, 75, 9, 14, 239,
- 74, 9, 14, 239, 73, 9, 14, 239, 72, 9, 14, 239, 71, 9, 14, 239, 70, 9,
- 14, 239, 69, 9, 14, 239, 68, 9, 14, 239, 67, 9, 14, 239, 66, 9, 14, 239,
- 65, 9, 14, 239, 64, 9, 14, 239, 63, 9, 14, 239, 62, 9, 14, 239, 61, 9,
- 14, 239, 60, 9, 14, 239, 59, 9, 14, 239, 58, 9, 14, 239, 57, 9, 14, 239,
- 56, 9, 14, 239, 55, 9, 14, 239, 54, 9, 14, 239, 53, 9, 14, 239, 52, 9,
- 14, 239, 51, 9, 14, 239, 50, 9, 14, 239, 49, 9, 14, 239, 48, 9, 14, 239,
- 47, 9, 14, 239, 46, 9, 14, 239, 45, 9, 14, 239, 44, 9, 14, 239, 43, 9,
- 14, 239, 42, 9, 14, 239, 41, 9, 14, 239, 40, 9, 14, 239, 39, 9, 14, 239,
- 38, 9, 14, 239, 37, 9, 14, 239, 36, 9, 14, 239, 35, 9, 14, 239, 34, 9,
- 14, 239, 33, 9, 14, 239, 32, 9, 14, 239, 31, 9, 14, 239, 30, 9, 14, 239,
- 29, 9, 14, 239, 28, 9, 14, 239, 27, 9, 14, 239, 26, 9, 14, 239, 25, 9,
- 14, 239, 24, 9, 14, 239, 23, 9, 14, 239, 22, 9, 14, 239, 21, 9, 14, 239,
- 20, 9, 14, 239, 19, 9, 14, 239, 18, 9, 14, 239, 17, 9, 14, 239, 16, 9,
- 14, 239, 15, 9, 14, 239, 14, 9, 14, 239, 13, 9, 14, 239, 12, 9, 14, 239,
- 11, 9, 14, 239, 10, 9, 14, 239, 9, 9, 14, 239, 8, 9, 14, 239, 7, 9, 14,
- 239, 6, 9, 14, 239, 5, 9, 14, 239, 4, 9, 14, 239, 3, 9, 14, 239, 2, 9,
- 14, 239, 1, 9, 14, 239, 0, 9, 14, 238, 255, 9, 14, 238, 254, 9, 14, 238,
- 253, 9, 14, 238, 252, 9, 14, 238, 251, 9, 14, 238, 250, 9, 14, 238, 249,
- 9, 14, 238, 248, 9, 14, 238, 247, 9, 14, 238, 246, 9, 14, 238, 245, 9,
- 14, 238, 244, 9, 14, 238, 243, 9, 14, 238, 242, 9, 14, 238, 241, 9, 14,
- 238, 240, 9, 14, 238, 239, 9, 14, 238, 238, 9, 14, 238, 237, 9, 14, 238,
- 236, 9, 14, 238, 235, 9, 14, 238, 234, 9, 14, 238, 233, 9, 14, 238, 232,
- 9, 14, 238, 231, 9, 14, 238, 230, 9, 14, 238, 229, 9, 14, 238, 228, 9,
- 14, 238, 227, 9, 14, 238, 226, 9, 14, 238, 225, 9, 14, 238, 224, 9, 14,
- 238, 223, 9, 14, 238, 222, 9, 14, 238, 221, 9, 14, 238, 220, 9, 14, 238,
- 219, 9, 14, 238, 218, 9, 14, 238, 217, 9, 14, 238, 216, 9, 14, 238, 215,
- 9, 14, 238, 214, 9, 14, 238, 213, 9, 14, 238, 212, 9, 14, 238, 211, 9,
- 14, 238, 210, 9, 14, 238, 209, 9, 14, 238, 208, 9, 14, 238, 207, 9, 14,
- 238, 206, 9, 14, 238, 205, 9, 14, 238, 204, 9, 14, 238, 203, 9, 14, 238,
- 202, 9, 14, 238, 201, 9, 14, 238, 200, 9, 14, 238, 199, 9, 14, 238, 198,
- 9, 14, 238, 197, 9, 14, 238, 196, 9, 14, 238, 195, 9, 14, 238, 194, 9,
- 14, 238, 193, 9, 14, 238, 192, 9, 14, 238, 191, 9, 14, 238, 190, 9, 14,
- 238, 189, 9, 14, 238, 188, 9, 14, 238, 187, 9, 14, 238, 186, 9, 14, 238,
- 185, 9, 14, 238, 184, 9, 14, 238, 183, 9, 14, 238, 182, 9, 14, 238, 181,
- 9, 14, 238, 180, 9, 14, 238, 179, 9, 14, 238, 178, 9, 14, 238, 177, 9,
- 14, 238, 176, 9, 14, 238, 175, 9, 14, 238, 174, 9, 14, 238, 173, 9, 14,
- 238, 172, 9, 14, 238, 171, 9, 14, 238, 170, 9, 14, 238, 169, 9, 14, 238,
- 168, 9, 14, 238, 167, 9, 14, 238, 166, 9, 14, 238, 165, 9, 14, 238, 164,
- 9, 14, 238, 163, 9, 14, 238, 162, 9, 14, 238, 161, 9, 14, 238, 160, 9,
- 14, 238, 159, 9, 14, 238, 158, 9, 14, 238, 157, 9, 14, 238, 156, 9, 14,
- 238, 155, 9, 14, 238, 154, 9, 14, 238, 153, 9, 14, 238, 152, 9, 14, 238,
- 151, 9, 14, 238, 150, 9, 14, 238, 149, 9, 14, 238, 148, 9, 14, 238, 147,
- 9, 14, 238, 146, 9, 14, 238, 145, 9, 14, 238, 144, 9, 14, 238, 143, 9,
- 14, 238, 142, 9, 14, 238, 141, 9, 14, 238, 140, 9, 14, 238, 139, 9, 14,
- 238, 138, 9, 14, 238, 137, 9, 14, 238, 136, 9, 14, 238, 135, 9, 14, 238,
- 134, 9, 14, 238, 133, 9, 14, 238, 132, 9, 14, 238, 131, 9, 14, 238, 130,
- 9, 14, 238, 129, 9, 14, 238, 128, 9, 14, 238, 127, 9, 14, 238, 126, 9,
- 14, 238, 125, 9, 14, 238, 124, 9, 14, 238, 123, 9, 14, 238, 122, 9, 14,
- 238, 121, 9, 14, 238, 120, 9, 14, 238, 119, 9, 14, 238, 118, 9, 14, 238,
- 117, 9, 14, 238, 116, 9, 14, 238, 115, 9, 14, 238, 114, 9, 14, 238, 113,
- 9, 14, 238, 112, 9, 14, 238, 111, 9, 14, 238, 110, 9, 14, 238, 109, 9,
- 14, 238, 108, 9, 14, 238, 107, 9, 14, 238, 106, 9, 14, 238, 105, 9, 14,
- 238, 104, 9, 14, 238, 103, 9, 14, 238, 102, 9, 14, 238, 101, 9, 14, 238,
- 100, 9, 14, 238, 99, 9, 14, 238, 98, 9, 14, 238, 97, 9, 14, 238, 96, 9,
- 14, 238, 95, 9, 14, 238, 94, 9, 14, 238, 93, 9, 14, 238, 92, 9, 14, 238,
- 91, 9, 14, 238, 90, 9, 14, 238, 89, 9, 14, 238, 88, 9, 14, 238, 87, 9,
- 14, 238, 86, 9, 14, 238, 85, 9, 14, 238, 84, 9, 14, 238, 83, 9, 14, 238,
- 82, 9, 14, 238, 81, 9, 14, 238, 80, 9, 14, 238, 79, 9, 14, 238, 78, 9,
- 14, 238, 77, 9, 14, 238, 76, 9, 14, 238, 75, 9, 14, 238, 74, 9, 14, 238,
- 73, 233, 90, 217, 84, 129, 219, 18, 129, 245, 31, 78, 129, 223, 254, 78,
- 129, 54, 50, 129, 247, 132, 50, 129, 225, 182, 50, 129, 254, 126, 129,
- 254, 57, 129, 43, 226, 3, 129, 44, 226, 3, 129, 253, 216, 129, 96, 50,
- 129, 249, 219, 129, 240, 167, 129, 243, 229, 218, 129, 129, 219, 46, 129,
- 21, 210, 86, 129, 21, 110, 129, 21, 105, 129, 21, 158, 129, 21, 161, 129,
- 21, 189, 129, 21, 194, 129, 21, 198, 129, 21, 195, 129, 21, 200, 129,
- 249, 226, 129, 220, 150, 129, 233, 15, 50, 129, 245, 98, 50, 129, 242,
- 130, 50, 129, 224, 13, 78, 129, 249, 217, 253, 206, 129, 7, 6, 1, 61,
- 129, 7, 6, 1, 253, 158, 129, 7, 6, 1, 251, 66, 129, 7, 6, 1, 249, 60,
- 129, 7, 6, 1, 75, 129, 7, 6, 1, 245, 6, 129, 7, 6, 1, 243, 202, 129, 7,
- 6, 1, 242, 60, 129, 7, 6, 1, 73, 129, 7, 6, 1, 235, 144, 129, 7, 6, 1,
- 235, 23, 129, 7, 6, 1, 156, 129, 7, 6, 1, 193, 129, 7, 6, 1, 230, 25,
- 129, 7, 6, 1, 76, 129, 7, 6, 1, 226, 105, 129, 7, 6, 1, 224, 96, 129, 7,
- 6, 1, 153, 129, 7, 6, 1, 222, 91, 129, 7, 6, 1, 217, 152, 129, 7, 6, 1,
+ 45, 108, 16, 31, 225, 126, 218, 45, 108, 16, 31, 85, 218, 45, 108, 16,
+ 31, 231, 56, 218, 72, 108, 16, 31, 231, 56, 218, 71, 108, 16, 31, 231,
+ 56, 218, 70, 108, 16, 31, 250, 39, 108, 16, 31, 222, 2, 108, 16, 31, 228,
+ 189, 108, 16, 31, 213, 141, 108, 16, 31, 213, 140, 108, 16, 31, 222, 205,
+ 222, 2, 108, 16, 31, 222, 205, 222, 1, 108, 16, 31, 242, 167, 108, 16,
+ 31, 219, 167, 108, 16, 31, 235, 178, 226, 154, 108, 16, 31, 235, 178,
+ 226, 153, 108, 16, 31, 249, 135, 64, 235, 177, 108, 16, 31, 223, 102, 64,
+ 235, 177, 108, 16, 31, 249, 169, 226, 154, 108, 16, 31, 235, 176, 226,
+ 154, 108, 16, 31, 218, 73, 64, 249, 168, 108, 16, 31, 249, 135, 64, 249,
+ 168, 108, 16, 31, 249, 135, 64, 249, 167, 108, 16, 31, 249, 169, 254, 84,
+ 108, 16, 31, 222, 3, 64, 249, 169, 254, 84, 108, 16, 31, 218, 73, 64,
+ 222, 3, 64, 249, 168, 108, 16, 31, 213, 243, 108, 16, 31, 216, 85, 226,
+ 154, 108, 16, 31, 233, 58, 226, 154, 108, 16, 31, 254, 83, 226, 154, 108,
+ 16, 31, 218, 73, 64, 254, 82, 108, 16, 31, 222, 3, 64, 254, 82, 108, 16,
+ 31, 218, 73, 64, 222, 3, 64, 254, 82, 108, 16, 31, 213, 158, 64, 254, 82,
+ 108, 16, 31, 223, 102, 64, 254, 82, 108, 16, 31, 223, 102, 64, 254, 81,
+ 108, 16, 31, 223, 101, 108, 16, 31, 223, 100, 108, 16, 31, 223, 99, 108,
+ 16, 31, 223, 98, 108, 16, 31, 254, 158, 108, 16, 31, 254, 157, 108, 16,
+ 31, 231, 164, 108, 16, 31, 222, 8, 108, 16, 31, 253, 247, 108, 16, 31,
+ 223, 126, 108, 16, 31, 223, 125, 108, 16, 31, 253, 184, 108, 16, 31, 251,
+ 230, 226, 154, 108, 16, 31, 217, 50, 108, 16, 31, 217, 49, 108, 16, 31,
+ 224, 9, 232, 223, 108, 16, 31, 251, 184, 108, 16, 31, 251, 183, 108, 16,
+ 31, 251, 182, 108, 16, 31, 254, 139, 108, 16, 31, 226, 219, 108, 16, 31,
+ 218, 249, 108, 16, 31, 216, 83, 108, 16, 31, 242, 97, 108, 16, 31, 212,
+ 28, 108, 16, 31, 224, 227, 108, 16, 31, 251, 15, 108, 16, 31, 215, 86,
+ 108, 16, 31, 250, 247, 230, 123, 108, 16, 31, 221, 203, 64, 235, 56, 108,
+ 16, 31, 251, 26, 108, 16, 31, 215, 220, 108, 16, 31, 218, 155, 215, 220,
+ 108, 16, 31, 232, 149, 108, 16, 31, 219, 57, 108, 16, 31, 214, 142, 108,
+ 16, 31, 240, 247, 246, 65, 108, 16, 31, 253, 228, 108, 16, 31, 224, 235,
+ 253, 228, 108, 16, 31, 251, 143, 108, 16, 31, 224, 226, 251, 143, 108,
+ 16, 31, 254, 136, 108, 16, 31, 218, 118, 218, 27, 218, 117, 108, 16, 31,
+ 218, 118, 218, 27, 218, 116, 108, 16, 31, 218, 69, 108, 16, 31, 224, 201,
+ 108, 16, 31, 247, 182, 108, 16, 31, 247, 184, 108, 16, 31, 247, 183, 108,
+ 16, 31, 224, 132, 108, 16, 31, 224, 121, 108, 16, 31, 249, 123, 108, 16,
+ 31, 249, 122, 108, 16, 31, 249, 121, 108, 16, 31, 249, 120, 108, 16, 31,
+ 249, 119, 108, 16, 31, 254, 170, 108, 16, 31, 252, 120, 64, 231, 150,
+ 108, 16, 31, 252, 120, 64, 214, 17, 108, 16, 31, 223, 58, 108, 16, 31,
+ 240, 239, 108, 16, 31, 228, 213, 108, 16, 31, 248, 146, 108, 16, 31, 230,
+ 135, 108, 16, 31, 163, 246, 95, 108, 16, 31, 163, 226, 133, 9, 14, 240,
+ 103, 9, 14, 240, 102, 9, 14, 240, 101, 9, 14, 240, 100, 9, 14, 240, 99,
+ 9, 14, 240, 98, 9, 14, 240, 97, 9, 14, 240, 96, 9, 14, 240, 95, 9, 14,
+ 240, 94, 9, 14, 240, 93, 9, 14, 240, 92, 9, 14, 240, 91, 9, 14, 240, 90,
+ 9, 14, 240, 89, 9, 14, 240, 88, 9, 14, 240, 87, 9, 14, 240, 86, 9, 14,
+ 240, 85, 9, 14, 240, 84, 9, 14, 240, 83, 9, 14, 240, 82, 9, 14, 240, 81,
+ 9, 14, 240, 80, 9, 14, 240, 79, 9, 14, 240, 78, 9, 14, 240, 77, 9, 14,
+ 240, 76, 9, 14, 240, 75, 9, 14, 240, 74, 9, 14, 240, 73, 9, 14, 240, 72,
+ 9, 14, 240, 71, 9, 14, 240, 70, 9, 14, 240, 69, 9, 14, 240, 68, 9, 14,
+ 240, 67, 9, 14, 240, 66, 9, 14, 240, 65, 9, 14, 240, 64, 9, 14, 240, 63,
+ 9, 14, 240, 62, 9, 14, 240, 61, 9, 14, 240, 60, 9, 14, 240, 59, 9, 14,
+ 240, 58, 9, 14, 240, 57, 9, 14, 240, 56, 9, 14, 240, 55, 9, 14, 240, 54,
+ 9, 14, 240, 53, 9, 14, 240, 52, 9, 14, 240, 51, 9, 14, 240, 50, 9, 14,
+ 240, 49, 9, 14, 240, 48, 9, 14, 240, 47, 9, 14, 240, 46, 9, 14, 240, 45,
+ 9, 14, 240, 44, 9, 14, 240, 43, 9, 14, 240, 42, 9, 14, 240, 41, 9, 14,
+ 240, 40, 9, 14, 240, 39, 9, 14, 240, 38, 9, 14, 240, 37, 9, 14, 240, 36,
+ 9, 14, 240, 35, 9, 14, 240, 34, 9, 14, 240, 33, 9, 14, 240, 32, 9, 14,
+ 240, 31, 9, 14, 240, 30, 9, 14, 240, 29, 9, 14, 240, 28, 9, 14, 240, 27,
+ 9, 14, 240, 26, 9, 14, 240, 25, 9, 14, 240, 24, 9, 14, 240, 23, 9, 14,
+ 240, 22, 9, 14, 240, 21, 9, 14, 240, 20, 9, 14, 240, 19, 9, 14, 240, 18,
+ 9, 14, 240, 17, 9, 14, 240, 16, 9, 14, 240, 15, 9, 14, 240, 14, 9, 14,
+ 240, 13, 9, 14, 240, 12, 9, 14, 240, 11, 9, 14, 240, 10, 9, 14, 240, 9,
+ 9, 14, 240, 8, 9, 14, 240, 7, 9, 14, 240, 6, 9, 14, 240, 5, 9, 14, 240,
+ 4, 9, 14, 240, 3, 9, 14, 240, 2, 9, 14, 240, 1, 9, 14, 240, 0, 9, 14,
+ 239, 255, 9, 14, 239, 254, 9, 14, 239, 253, 9, 14, 239, 252, 9, 14, 239,
+ 251, 9, 14, 239, 250, 9, 14, 239, 249, 9, 14, 239, 248, 9, 14, 239, 247,
+ 9, 14, 239, 246, 9, 14, 239, 245, 9, 14, 239, 244, 9, 14, 239, 243, 9,
+ 14, 239, 242, 9, 14, 239, 241, 9, 14, 239, 240, 9, 14, 239, 239, 9, 14,
+ 239, 238, 9, 14, 239, 237, 9, 14, 239, 236, 9, 14, 239, 235, 9, 14, 239,
+ 234, 9, 14, 239, 233, 9, 14, 239, 232, 9, 14, 239, 231, 9, 14, 239, 230,
+ 9, 14, 239, 229, 9, 14, 239, 228, 9, 14, 239, 227, 9, 14, 239, 226, 9,
+ 14, 239, 225, 9, 14, 239, 224, 9, 14, 239, 223, 9, 14, 239, 222, 9, 14,
+ 239, 221, 9, 14, 239, 220, 9, 14, 239, 219, 9, 14, 239, 218, 9, 14, 239,
+ 217, 9, 14, 239, 216, 9, 14, 239, 215, 9, 14, 239, 214, 9, 14, 239, 213,
+ 9, 14, 239, 212, 9, 14, 239, 211, 9, 14, 239, 210, 9, 14, 239, 209, 9,
+ 14, 239, 208, 9, 14, 239, 207, 9, 14, 239, 206, 9, 14, 239, 205, 9, 14,
+ 239, 204, 9, 14, 239, 203, 9, 14, 239, 202, 9, 14, 239, 201, 9, 14, 239,
+ 200, 9, 14, 239, 199, 9, 14, 239, 198, 9, 14, 239, 197, 9, 14, 239, 196,
+ 9, 14, 239, 195, 9, 14, 239, 194, 9, 14, 239, 193, 9, 14, 239, 192, 9,
+ 14, 239, 191, 9, 14, 239, 190, 9, 14, 239, 189, 9, 14, 239, 188, 9, 14,
+ 239, 187, 9, 14, 239, 186, 9, 14, 239, 185, 9, 14, 239, 184, 9, 14, 239,
+ 183, 9, 14, 239, 182, 9, 14, 239, 181, 9, 14, 239, 180, 9, 14, 239, 179,
+ 9, 14, 239, 178, 9, 14, 239, 177, 9, 14, 239, 176, 9, 14, 239, 175, 9,
+ 14, 239, 174, 9, 14, 239, 173, 9, 14, 239, 172, 9, 14, 239, 171, 9, 14,
+ 239, 170, 9, 14, 239, 169, 9, 14, 239, 168, 9, 14, 239, 167, 9, 14, 239,
+ 166, 9, 14, 239, 165, 9, 14, 239, 164, 9, 14, 239, 163, 9, 14, 239, 162,
+ 9, 14, 239, 161, 9, 14, 239, 160, 9, 14, 239, 159, 9, 14, 239, 158, 9,
+ 14, 239, 157, 9, 14, 239, 156, 9, 14, 239, 155, 9, 14, 239, 154, 9, 14,
+ 239, 153, 9, 14, 239, 152, 9, 14, 239, 151, 9, 14, 239, 150, 9, 14, 239,
+ 149, 9, 14, 239, 148, 9, 14, 239, 147, 9, 14, 239, 146, 9, 14, 239, 145,
+ 9, 14, 239, 144, 9, 14, 239, 143, 9, 14, 239, 142, 9, 14, 239, 141, 9,
+ 14, 239, 140, 9, 14, 239, 139, 9, 14, 239, 138, 9, 14, 239, 137, 9, 14,
+ 239, 136, 9, 14, 239, 135, 9, 14, 239, 134, 9, 14, 239, 133, 9, 14, 239,
+ 132, 9, 14, 239, 131, 9, 14, 239, 130, 9, 14, 239, 129, 9, 14, 239, 128,
+ 9, 14, 239, 127, 9, 14, 239, 126, 9, 14, 239, 125, 9, 14, 239, 124, 9,
+ 14, 239, 123, 9, 14, 239, 122, 9, 14, 239, 121, 9, 14, 239, 120, 9, 14,
+ 239, 119, 9, 14, 239, 118, 9, 14, 239, 117, 9, 14, 239, 116, 9, 14, 239,
+ 115, 9, 14, 239, 114, 9, 14, 239, 113, 9, 14, 239, 112, 9, 14, 239, 111,
+ 9, 14, 239, 110, 9, 14, 239, 109, 9, 14, 239, 108, 9, 14, 239, 107, 9,
+ 14, 239, 106, 9, 14, 239, 105, 9, 14, 239, 104, 9, 14, 239, 103, 9, 14,
+ 239, 102, 9, 14, 239, 101, 9, 14, 239, 100, 9, 14, 239, 99, 9, 14, 239,
+ 98, 9, 14, 239, 97, 9, 14, 239, 96, 9, 14, 239, 95, 9, 14, 239, 94, 9,
+ 14, 239, 93, 9, 14, 239, 92, 9, 14, 239, 91, 9, 14, 239, 90, 9, 14, 239,
+ 89, 9, 14, 239, 88, 9, 14, 239, 87, 9, 14, 239, 86, 9, 14, 239, 85, 9,
+ 14, 239, 84, 9, 14, 239, 83, 9, 14, 239, 82, 9, 14, 239, 81, 9, 14, 239,
+ 80, 9, 14, 239, 79, 9, 14, 239, 78, 9, 14, 239, 77, 9, 14, 239, 76, 9,
+ 14, 239, 75, 9, 14, 239, 74, 9, 14, 239, 73, 9, 14, 239, 72, 9, 14, 239,
+ 71, 9, 14, 239, 70, 9, 14, 239, 69, 9, 14, 239, 68, 9, 14, 239, 67, 9,
+ 14, 239, 66, 9, 14, 239, 65, 9, 14, 239, 64, 9, 14, 239, 63, 9, 14, 239,
+ 62, 9, 14, 239, 61, 9, 14, 239, 60, 9, 14, 239, 59, 9, 14, 239, 58, 9,
+ 14, 239, 57, 9, 14, 239, 56, 9, 14, 239, 55, 9, 14, 239, 54, 9, 14, 239,
+ 53, 9, 14, 239, 52, 9, 14, 239, 51, 9, 14, 239, 50, 9, 14, 239, 49, 9,
+ 14, 239, 48, 9, 14, 239, 47, 9, 14, 239, 46, 9, 14, 239, 45, 9, 14, 239,
+ 44, 9, 14, 239, 43, 9, 14, 239, 42, 9, 14, 239, 41, 9, 14, 239, 40, 9,
+ 14, 239, 39, 9, 14, 239, 38, 9, 14, 239, 37, 9, 14, 239, 36, 9, 14, 239,
+ 35, 9, 14, 239, 34, 9, 14, 239, 33, 9, 14, 239, 32, 9, 14, 239, 31, 9,
+ 14, 239, 30, 9, 14, 239, 29, 9, 14, 239, 28, 9, 14, 239, 27, 9, 14, 239,
+ 26, 9, 14, 239, 25, 9, 14, 239, 24, 9, 14, 239, 23, 9, 14, 239, 22, 9,
+ 14, 239, 21, 9, 14, 239, 20, 9, 14, 239, 19, 9, 14, 239, 18, 9, 14, 239,
+ 17, 9, 14, 239, 16, 9, 14, 239, 15, 9, 14, 239, 14, 9, 14, 239, 13, 9,
+ 14, 239, 12, 9, 14, 239, 11, 9, 14, 239, 10, 9, 14, 239, 9, 9, 14, 239,
+ 8, 9, 14, 239, 7, 9, 14, 239, 6, 9, 14, 239, 5, 9, 14, 239, 4, 9, 14,
+ 239, 3, 9, 14, 239, 2, 9, 14, 239, 1, 9, 14, 239, 0, 9, 14, 238, 255, 9,
+ 14, 238, 254, 9, 14, 238, 253, 9, 14, 238, 252, 9, 14, 238, 251, 9, 14,
+ 238, 250, 9, 14, 238, 249, 9, 14, 238, 248, 9, 14, 238, 247, 9, 14, 238,
+ 246, 9, 14, 238, 245, 9, 14, 238, 244, 9, 14, 238, 243, 9, 14, 238, 242,
+ 9, 14, 238, 241, 9, 14, 238, 240, 9, 14, 238, 239, 9, 14, 238, 238, 9,
+ 14, 238, 237, 9, 14, 238, 236, 9, 14, 238, 235, 9, 14, 238, 234, 9, 14,
+ 238, 233, 9, 14, 238, 232, 9, 14, 238, 231, 9, 14, 238, 230, 9, 14, 238,
+ 229, 9, 14, 238, 228, 9, 14, 238, 227, 9, 14, 238, 226, 9, 14, 238, 225,
+ 9, 14, 238, 224, 9, 14, 238, 223, 9, 14, 238, 222, 9, 14, 238, 221, 9,
+ 14, 238, 220, 9, 14, 238, 219, 9, 14, 238, 218, 9, 14, 238, 217, 9, 14,
+ 238, 216, 9, 14, 238, 215, 9, 14, 238, 214, 9, 14, 238, 213, 9, 14, 238,
+ 212, 9, 14, 238, 211, 9, 14, 238, 210, 9, 14, 238, 209, 9, 14, 238, 208,
+ 9, 14, 238, 207, 9, 14, 238, 206, 9, 14, 238, 205, 9, 14, 238, 204, 9,
+ 14, 238, 203, 9, 14, 238, 202, 9, 14, 238, 201, 9, 14, 238, 200, 9, 14,
+ 238, 199, 9, 14, 238, 198, 9, 14, 238, 197, 9, 14, 238, 196, 9, 14, 238,
+ 195, 9, 14, 238, 194, 9, 14, 238, 193, 9, 14, 238, 192, 9, 14, 238, 191,
+ 9, 14, 238, 190, 9, 14, 238, 189, 9, 14, 238, 188, 9, 14, 238, 187, 9,
+ 14, 238, 186, 9, 14, 238, 185, 9, 14, 238, 184, 9, 14, 238, 183, 9, 14,
+ 238, 182, 9, 14, 238, 181, 9, 14, 238, 180, 9, 14, 238, 179, 9, 14, 238,
+ 178, 9, 14, 238, 177, 9, 14, 238, 176, 9, 14, 238, 175, 9, 14, 238, 174,
+ 9, 14, 238, 173, 9, 14, 238, 172, 9, 14, 238, 171, 9, 14, 238, 170, 9,
+ 14, 238, 169, 9, 14, 238, 168, 9, 14, 238, 167, 9, 14, 238, 166, 9, 14,
+ 238, 165, 9, 14, 238, 164, 9, 14, 238, 163, 9, 14, 238, 162, 9, 14, 238,
+ 161, 9, 14, 238, 160, 9, 14, 238, 159, 9, 14, 238, 158, 9, 14, 238, 157,
+ 9, 14, 238, 156, 9, 14, 238, 155, 9, 14, 238, 154, 9, 14, 238, 153, 9,
+ 14, 238, 152, 9, 14, 238, 151, 9, 14, 238, 150, 9, 14, 238, 149, 9, 14,
+ 238, 148, 9, 14, 238, 147, 9, 14, 238, 146, 9, 14, 238, 145, 9, 14, 238,
+ 144, 9, 14, 238, 143, 9, 14, 238, 142, 9, 14, 238, 141, 9, 14, 238, 140,
+ 9, 14, 238, 139, 9, 14, 238, 138, 9, 14, 238, 137, 9, 14, 238, 136, 9,
+ 14, 238, 135, 9, 14, 238, 134, 9, 14, 238, 133, 9, 14, 238, 132, 9, 14,
+ 238, 131, 9, 14, 238, 130, 9, 14, 238, 129, 9, 14, 238, 128, 9, 14, 238,
+ 127, 9, 14, 238, 126, 9, 14, 238, 125, 9, 14, 238, 124, 9, 14, 238, 123,
+ 9, 14, 238, 122, 9, 14, 238, 121, 9, 14, 238, 120, 9, 14, 238, 119, 9,
+ 14, 238, 118, 9, 14, 238, 117, 9, 14, 238, 116, 9, 14, 238, 115, 9, 14,
+ 238, 114, 9, 14, 238, 113, 9, 14, 238, 112, 9, 14, 238, 111, 9, 14, 238,
+ 110, 9, 14, 238, 109, 9, 14, 238, 108, 9, 14, 238, 107, 9, 14, 238, 106,
+ 9, 14, 238, 105, 9, 14, 238, 104, 9, 14, 238, 103, 9, 14, 238, 102, 9,
+ 14, 238, 101, 9, 14, 238, 100, 9, 14, 238, 99, 9, 14, 238, 98, 9, 14,
+ 238, 97, 9, 14, 238, 96, 9, 14, 238, 95, 9, 14, 238, 94, 9, 14, 238, 93,
+ 9, 14, 238, 92, 9, 14, 238, 91, 9, 14, 238, 90, 9, 14, 238, 89, 9, 14,
+ 238, 88, 9, 14, 238, 87, 9, 14, 238, 86, 9, 14, 238, 85, 9, 14, 238, 84,
+ 9, 14, 238, 83, 9, 14, 238, 82, 9, 14, 238, 81, 9, 14, 238, 80, 9, 14,
+ 238, 79, 9, 14, 238, 78, 9, 14, 238, 77, 9, 14, 238, 76, 9, 14, 238, 75,
+ 9, 14, 238, 74, 233, 91, 217, 85, 129, 219, 19, 129, 245, 32, 78, 129,
+ 223, 255, 78, 129, 54, 50, 129, 247, 133, 50, 129, 225, 183, 50, 129,
+ 254, 127, 129, 254, 58, 129, 43, 226, 4, 129, 44, 226, 4, 129, 253, 217,
+ 129, 96, 50, 129, 249, 220, 129, 240, 168, 129, 243, 230, 218, 130, 129,
+ 219, 47, 129, 21, 210, 86, 129, 21, 110, 129, 21, 105, 129, 21, 158, 129,
+ 21, 161, 129, 21, 189, 129, 21, 194, 129, 21, 198, 129, 21, 195, 129, 21,
+ 200, 129, 249, 227, 129, 220, 151, 129, 233, 16, 50, 129, 245, 99, 50,
+ 129, 242, 131, 50, 129, 224, 14, 78, 129, 249, 218, 253, 207, 129, 7, 6,
+ 1, 61, 129, 7, 6, 1, 253, 159, 129, 7, 6, 1, 251, 67, 129, 7, 6, 1, 249,
+ 61, 129, 7, 6, 1, 75, 129, 7, 6, 1, 245, 7, 129, 7, 6, 1, 243, 203, 129,
+ 7, 6, 1, 242, 61, 129, 7, 6, 1, 73, 129, 7, 6, 1, 235, 145, 129, 7, 6, 1,
+ 235, 24, 129, 7, 6, 1, 156, 129, 7, 6, 1, 193, 129, 7, 6, 1, 230, 26,
+ 129, 7, 6, 1, 76, 129, 7, 6, 1, 226, 106, 129, 7, 6, 1, 224, 97, 129, 7,
+ 6, 1, 153, 129, 7, 6, 1, 222, 92, 129, 7, 6, 1, 217, 153, 129, 7, 6, 1,
70, 129, 7, 6, 1, 214, 105, 129, 7, 6, 1, 212, 98, 129, 7, 6, 1, 211,
178, 129, 7, 6, 1, 211, 117, 129, 7, 6, 1, 210, 159, 129, 43, 42, 127,
- 129, 223, 50, 219, 46, 129, 44, 42, 127, 129, 250, 31, 255, 14, 129, 121,
- 232, 213, 129, 242, 137, 255, 14, 129, 7, 4, 1, 61, 129, 7, 4, 1, 253,
- 158, 129, 7, 4, 1, 251, 66, 129, 7, 4, 1, 249, 60, 129, 7, 4, 1, 75, 129,
- 7, 4, 1, 245, 6, 129, 7, 4, 1, 243, 202, 129, 7, 4, 1, 242, 60, 129, 7,
- 4, 1, 73, 129, 7, 4, 1, 235, 144, 129, 7, 4, 1, 235, 23, 129, 7, 4, 1,
- 156, 129, 7, 4, 1, 193, 129, 7, 4, 1, 230, 25, 129, 7, 4, 1, 76, 129, 7,
- 4, 1, 226, 105, 129, 7, 4, 1, 224, 96, 129, 7, 4, 1, 153, 129, 7, 4, 1,
- 222, 91, 129, 7, 4, 1, 217, 152, 129, 7, 4, 1, 70, 129, 7, 4, 1, 214,
+ 129, 223, 51, 219, 47, 129, 44, 42, 127, 129, 250, 32, 255, 15, 129, 121,
+ 232, 214, 129, 242, 138, 255, 15, 129, 7, 4, 1, 61, 129, 7, 4, 1, 253,
+ 159, 129, 7, 4, 1, 251, 67, 129, 7, 4, 1, 249, 61, 129, 7, 4, 1, 75, 129,
+ 7, 4, 1, 245, 7, 129, 7, 4, 1, 243, 203, 129, 7, 4, 1, 242, 61, 129, 7,
+ 4, 1, 73, 129, 7, 4, 1, 235, 145, 129, 7, 4, 1, 235, 24, 129, 7, 4, 1,
+ 156, 129, 7, 4, 1, 193, 129, 7, 4, 1, 230, 26, 129, 7, 4, 1, 76, 129, 7,
+ 4, 1, 226, 106, 129, 7, 4, 1, 224, 97, 129, 7, 4, 1, 153, 129, 7, 4, 1,
+ 222, 92, 129, 7, 4, 1, 217, 153, 129, 7, 4, 1, 70, 129, 7, 4, 1, 214,
105, 129, 7, 4, 1, 212, 98, 129, 7, 4, 1, 211, 178, 129, 7, 4, 1, 211,
- 117, 129, 7, 4, 1, 210, 159, 129, 43, 249, 99, 127, 129, 67, 232, 213,
- 129, 44, 249, 99, 127, 129, 182, 251, 6, 217, 84, 45, 221, 78, 45, 221,
- 67, 45, 221, 56, 45, 221, 44, 45, 221, 33, 45, 221, 22, 45, 221, 11, 45,
- 221, 0, 45, 220, 245, 45, 220, 237, 45, 220, 236, 45, 220, 235, 45, 220,
- 234, 45, 220, 232, 45, 220, 231, 45, 220, 230, 45, 220, 229, 45, 220,
- 228, 45, 220, 227, 45, 220, 226, 45, 220, 225, 45, 220, 224, 45, 220,
- 223, 45, 220, 221, 45, 220, 220, 45, 220, 219, 45, 220, 218, 45, 220,
- 217, 45, 220, 216, 45, 220, 215, 45, 220, 214, 45, 220, 213, 45, 220,
- 212, 45, 220, 210, 45, 220, 209, 45, 220, 208, 45, 220, 207, 45, 220,
- 206, 45, 220, 205, 45, 220, 204, 45, 220, 203, 45, 220, 202, 45, 220,
- 201, 45, 220, 199, 45, 220, 198, 45, 220, 197, 45, 220, 196, 45, 220,
- 195, 45, 220, 194, 45, 220, 193, 45, 220, 192, 45, 220, 191, 45, 220,
- 190, 45, 220, 188, 45, 220, 187, 45, 220, 186, 45, 220, 185, 45, 220,
- 184, 45, 220, 183, 45, 220, 182, 45, 220, 181, 45, 220, 180, 45, 220,
- 179, 45, 220, 177, 45, 220, 176, 45, 220, 175, 45, 220, 174, 45, 220,
- 173, 45, 220, 172, 45, 220, 171, 45, 220, 170, 45, 220, 169, 45, 220,
- 168, 45, 220, 166, 45, 220, 165, 45, 220, 164, 45, 220, 163, 45, 220,
- 162, 45, 220, 161, 45, 220, 160, 45, 220, 159, 45, 220, 158, 45, 220,
- 157, 45, 221, 154, 45, 221, 153, 45, 221, 152, 45, 221, 151, 45, 221,
- 150, 45, 221, 149, 45, 221, 148, 45, 221, 147, 45, 221, 146, 45, 221,
- 145, 45, 221, 143, 45, 221, 142, 45, 221, 141, 45, 221, 140, 45, 221,
- 139, 45, 221, 138, 45, 221, 137, 45, 221, 136, 45, 221, 135, 45, 221,
- 134, 45, 221, 132, 45, 221, 131, 45, 221, 130, 45, 221, 129, 45, 221,
- 128, 45, 221, 127, 45, 221, 126, 45, 221, 125, 45, 221, 124, 45, 221,
- 123, 45, 221, 121, 45, 221, 120, 45, 221, 119, 45, 221, 118, 45, 221,
- 117, 45, 221, 116, 45, 221, 115, 45, 221, 114, 45, 221, 113, 45, 221,
- 112, 45, 221, 110, 45, 221, 109, 45, 221, 108, 45, 221, 107, 45, 221,
- 106, 45, 221, 105, 45, 221, 104, 45, 221, 103, 45, 221, 102, 45, 221,
- 101, 45, 221, 99, 45, 221, 98, 45, 221, 97, 45, 221, 96, 45, 221, 95, 45,
- 221, 94, 45, 221, 93, 45, 221, 92, 45, 221, 91, 45, 221, 90, 45, 221, 88,
- 45, 221, 87, 45, 221, 86, 45, 221, 85, 45, 221, 84, 45, 221, 83, 45, 221,
- 82, 45, 221, 81, 45, 221, 80, 45, 221, 79, 45, 221, 77, 45, 221, 76, 45,
- 221, 75, 45, 221, 74, 45, 221, 73, 45, 221, 72, 45, 221, 71, 45, 221, 70,
- 45, 221, 69, 45, 221, 68, 45, 221, 66, 45, 221, 65, 45, 221, 64, 45, 221,
- 63, 45, 221, 62, 45, 221, 61, 45, 221, 60, 45, 221, 59, 45, 221, 58, 45,
- 221, 57, 45, 221, 55, 45, 221, 54, 45, 221, 53, 45, 221, 52, 45, 221, 51,
- 45, 221, 50, 45, 221, 49, 45, 221, 48, 45, 221, 47, 45, 221, 46, 45, 221,
- 43, 45, 221, 42, 45, 221, 41, 45, 221, 40, 45, 221, 39, 45, 221, 38, 45,
- 221, 37, 45, 221, 36, 45, 221, 35, 45, 221, 34, 45, 221, 32, 45, 221, 31,
- 45, 221, 30, 45, 221, 29, 45, 221, 28, 45, 221, 27, 45, 221, 26, 45, 221,
- 25, 45, 221, 24, 45, 221, 23, 45, 221, 21, 45, 221, 20, 45, 221, 19, 45,
- 221, 18, 45, 221, 17, 45, 221, 16, 45, 221, 15, 45, 221, 14, 45, 221, 13,
- 45, 221, 12, 45, 221, 10, 45, 221, 9, 45, 221, 8, 45, 221, 7, 45, 221, 6,
- 45, 221, 5, 45, 221, 4, 45, 221, 3, 45, 221, 2, 45, 221, 1, 45, 220, 255,
- 45, 220, 254, 45, 220, 253, 45, 220, 252, 45, 220, 251, 45, 220, 250, 45,
- 220, 249, 45, 220, 248, 45, 220, 247, 45, 220, 246, 45, 220, 244, 45,
- 220, 243, 45, 220, 242, 45, 220, 241, 45, 220, 240, 45, 220, 239, 45,
- 220, 238, 227, 202, 227, 204, 218, 152, 64, 241, 233, 219, 48, 218, 152,
- 64, 216, 212, 218, 85, 245, 143, 64, 216, 212, 245, 56, 245, 143, 64,
- 215, 243, 245, 109, 245, 132, 245, 133, 255, 7, 255, 8, 254, 167, 252,
- 47, 252, 179, 251, 131, 135, 217, 89, 203, 217, 89, 240, 227, 217, 93,
- 232, 214, 244, 145, 166, 232, 213, 245, 143, 64, 232, 213, 233, 0, 228,
- 135, 245, 112, 232, 214, 217, 89, 67, 217, 89, 212, 118, 244, 20, 244,
- 145, 244, 125, 250, 230, 223, 53, 249, 143, 220, 28, 226, 130, 232, 150,
- 110, 219, 58, 220, 28, 235, 255, 232, 150, 210, 86, 219, 191, 248, 151,
- 232, 204, 245, 77, 247, 155, 248, 31, 249, 178, 110, 248, 141, 248, 31,
- 249, 178, 105, 248, 140, 248, 31, 249, 178, 158, 248, 139, 248, 31, 249,
- 178, 161, 248, 138, 152, 255, 7, 229, 209, 217, 177, 236, 62, 217, 180,
- 245, 143, 64, 215, 244, 251, 213, 245, 62, 251, 5, 251, 7, 245, 143, 64,
- 231, 81, 245, 110, 218, 61, 218, 78, 245, 77, 245, 78, 235, 232, 220,
- 138, 161, 244, 107, 220, 137, 243, 237, 235, 232, 220, 138, 158, 242,
- 121, 220, 137, 242, 118, 235, 232, 220, 138, 105, 223, 121, 220, 137,
- 222, 145, 235, 232, 220, 138, 110, 214, 174, 220, 137, 214, 133, 219, 21,
- 248, 63, 248, 65, 226, 78, 250, 142, 226, 80, 125, 226, 240, 224, 193,
- 241, 47, 251, 150, 225, 173, 241, 203, 251, 161, 228, 75, 251, 150, 241,
- 203, 229, 175, 235, 242, 235, 244, 229, 82, 232, 213, 229, 99, 218, 152,
- 64, 221, 158, 254, 18, 218, 223, 245, 143, 64, 221, 158, 254, 18, 245,
- 80, 135, 217, 90, 220, 127, 203, 217, 90, 220, 127, 240, 224, 135, 217,
- 90, 2, 235, 35, 203, 217, 90, 2, 235, 35, 240, 225, 232, 214, 217, 90,
- 220, 127, 67, 217, 90, 220, 127, 212, 117, 225, 253, 232, 214, 244, 14,
- 225, 253, 232, 214, 246, 106, 225, 32, 225, 253, 232, 214, 252, 178, 225,
- 253, 232, 214, 214, 163, 225, 28, 223, 50, 232, 214, 244, 145, 223, 50,
- 235, 242, 223, 35, 219, 155, 220, 28, 105, 219, 152, 218, 225, 219, 155,
- 220, 28, 158, 219, 151, 218, 224, 248, 31, 249, 178, 218, 105, 248, 137,
- 224, 183, 214, 132, 110, 224, 183, 214, 130, 224, 149, 224, 183, 214,
- 132, 105, 224, 183, 214, 129, 224, 148, 220, 128, 215, 242, 218, 151,
- 218, 89, 251, 6, 250, 142, 250, 209, 231, 43, 212, 59, 230, 43, 218, 152,
- 64, 242, 107, 254, 18, 218, 152, 64, 224, 166, 254, 18, 219, 20, 245,
- 143, 64, 242, 107, 254, 18, 245, 143, 64, 224, 166, 254, 18, 245, 107,
- 218, 152, 64, 218, 105, 219, 35, 219, 155, 242, 141, 135, 235, 195, 220,
- 107, 219, 155, 135, 235, 195, 221, 194, 249, 178, 220, 135, 235, 195,
- 249, 113, 218, 106, 216, 236, 218, 168, 226, 169, 217, 167, 249, 218,
- 226, 142, 224, 184, 231, 42, 225, 19, 254, 53, 224, 178, 249, 218, 254,
- 69, 229, 163, 219, 200, 7, 6, 1, 242, 249, 7, 4, 1, 242, 249, 250, 159,
- 165, 1, 232, 175, 209, 209, 1, 244, 44, 244, 36, 209, 209, 1, 244, 44,
- 244, 157, 209, 209, 1, 222, 211, 209, 209, 1, 232, 156, 63, 164, 251,
- 223, 220, 3, 242, 215, 230, 248, 223, 41, 243, 216, 243, 215, 243, 214,
- 230, 45, 209, 251, 209, 252, 209, 254, 232, 102, 222, 219, 232, 103, 222,
- 220, 225, 223, 232, 101, 222, 218, 228, 106, 230, 165, 211, 229, 212, 15,
- 245, 162, 243, 226, 230, 229, 226, 197, 214, 134, 87, 230, 229, 248, 157,
- 87, 8, 3, 235, 158, 78, 224, 194, 244, 20, 31, 67, 44, 71, 233, 20, 127,
- 213, 118, 213, 7, 212, 195, 212, 184, 212, 173, 212, 162, 212, 151, 212,
- 140, 212, 129, 213, 117, 213, 106, 213, 95, 213, 84, 213, 73, 213, 62,
- 213, 51, 251, 71, 226, 155, 78, 251, 196, 209, 253, 49, 28, 16, 243, 236,
- 219, 102, 250, 73, 214, 9, 213, 40, 213, 29, 213, 18, 213, 6, 212, 251,
- 212, 240, 212, 229, 212, 218, 212, 207, 212, 199, 212, 198, 212, 197,
- 212, 196, 212, 194, 212, 193, 212, 192, 212, 191, 212, 190, 212, 189,
- 212, 188, 212, 187, 212, 186, 212, 185, 212, 183, 212, 182, 212, 181,
- 212, 180, 212, 179, 212, 178, 212, 177, 212, 176, 212, 175, 212, 174,
- 212, 172, 212, 171, 212, 170, 212, 169, 212, 168, 212, 167, 212, 166,
- 212, 165, 212, 164, 212, 163, 212, 161, 212, 160, 212, 159, 212, 158,
- 212, 157, 212, 156, 212, 155, 212, 154, 212, 153, 212, 152, 212, 150,
- 212, 149, 212, 148, 212, 147, 212, 146, 212, 145, 212, 144, 212, 143,
- 212, 142, 212, 141, 212, 139, 212, 138, 212, 137, 212, 136, 212, 135,
- 212, 134, 212, 133, 212, 132, 212, 131, 212, 130, 212, 128, 212, 127,
- 212, 126, 212, 125, 212, 124, 212, 123, 212, 122, 212, 121, 212, 120,
- 212, 119, 213, 116, 213, 115, 213, 114, 213, 113, 213, 112, 213, 111,
- 213, 110, 213, 109, 213, 108, 213, 107, 213, 105, 213, 104, 213, 103,
- 213, 102, 213, 101, 213, 100, 213, 99, 213, 98, 213, 97, 213, 96, 213,
- 94, 213, 93, 213, 92, 213, 91, 213, 90, 213, 89, 213, 88, 213, 87, 213,
- 86, 213, 85, 213, 83, 213, 82, 213, 81, 213, 80, 213, 79, 213, 78, 213,
- 77, 213, 76, 213, 75, 213, 74, 213, 72, 213, 71, 213, 70, 213, 69, 213,
- 68, 213, 67, 213, 66, 213, 65, 213, 64, 213, 63, 213, 61, 213, 60, 213,
- 59, 213, 58, 213, 57, 213, 56, 213, 55, 213, 54, 213, 53, 213, 52, 213,
- 50, 213, 49, 213, 48, 213, 47, 213, 46, 213, 45, 213, 44, 213, 43, 213,
- 42, 213, 41, 213, 39, 213, 38, 213, 37, 213, 36, 213, 35, 213, 34, 213,
- 33, 213, 32, 213, 31, 213, 30, 213, 28, 213, 27, 213, 26, 213, 25, 213,
- 24, 213, 23, 213, 22, 213, 21, 213, 20, 213, 19, 213, 17, 213, 16, 213,
- 15, 213, 14, 213, 13, 213, 12, 213, 11, 213, 10, 213, 9, 213, 8, 213, 5,
- 213, 4, 213, 3, 213, 2, 213, 1, 213, 0, 212, 255, 212, 254, 212, 253,
- 212, 252, 212, 250, 212, 249, 212, 248, 212, 247, 212, 246, 212, 245,
- 212, 244, 212, 243, 212, 242, 212, 241, 212, 239, 212, 238, 212, 237,
- 212, 236, 212, 235, 212, 234, 212, 233, 212, 232, 212, 231, 212, 230,
- 212, 228, 212, 227, 212, 226, 212, 225, 212, 224, 212, 223, 212, 222,
- 212, 221, 212, 220, 212, 219, 212, 217, 212, 216, 212, 215, 212, 214,
- 212, 213, 212, 212, 212, 211, 212, 210, 212, 209, 212, 208, 212, 206,
- 212, 205, 212, 204, 212, 203, 212, 202, 212, 201, 212, 200, 7, 6, 1, 115,
- 2, 231, 233, 22, 242, 136, 7, 4, 1, 115, 2, 231, 233, 22, 242, 136, 7, 6,
- 1, 160, 2, 67, 232, 214, 51, 7, 4, 1, 160, 2, 67, 232, 214, 51, 7, 6, 1,
- 160, 2, 67, 232, 214, 252, 43, 22, 242, 136, 7, 4, 1, 160, 2, 67, 232,
- 214, 252, 43, 22, 242, 136, 7, 6, 1, 160, 2, 67, 232, 214, 252, 43, 22,
- 142, 7, 4, 1, 160, 2, 67, 232, 214, 252, 43, 22, 142, 7, 6, 1, 160, 2,
- 250, 31, 22, 231, 232, 7, 4, 1, 160, 2, 250, 31, 22, 231, 232, 7, 6, 1,
- 160, 2, 250, 31, 22, 250, 234, 7, 4, 1, 160, 2, 250, 31, 22, 250, 234, 7,
- 6, 1, 240, 154, 2, 231, 233, 22, 242, 136, 7, 4, 1, 240, 154, 2, 231,
- 233, 22, 242, 136, 7, 4, 1, 240, 154, 2, 59, 77, 22, 142, 7, 4, 1, 229,
- 80, 2, 216, 89, 48, 7, 6, 1, 144, 2, 67, 232, 214, 51, 7, 4, 1, 144, 2,
- 67, 232, 214, 51, 7, 6, 1, 144, 2, 67, 232, 214, 252, 43, 22, 242, 136,
- 7, 4, 1, 144, 2, 67, 232, 214, 252, 43, 22, 242, 136, 7, 6, 1, 144, 2,
- 67, 232, 214, 252, 43, 22, 142, 7, 4, 1, 144, 2, 67, 232, 214, 252, 43,
- 22, 142, 7, 6, 1, 222, 92, 2, 67, 232, 214, 51, 7, 4, 1, 222, 92, 2, 67,
- 232, 214, 51, 7, 6, 1, 104, 2, 231, 233, 22, 242, 136, 7, 4, 1, 104, 2,
- 231, 233, 22, 242, 136, 7, 6, 1, 115, 2, 226, 225, 22, 142, 7, 4, 1, 115,
- 2, 226, 225, 22, 142, 7, 6, 1, 115, 2, 226, 225, 22, 182, 7, 4, 1, 115,
- 2, 226, 225, 22, 182, 7, 6, 1, 160, 2, 226, 225, 22, 142, 7, 4, 1, 160,
- 2, 226, 225, 22, 142, 7, 6, 1, 160, 2, 226, 225, 22, 182, 7, 4, 1, 160,
- 2, 226, 225, 22, 182, 7, 6, 1, 160, 2, 59, 77, 22, 142, 7, 4, 1, 160, 2,
- 59, 77, 22, 142, 7, 6, 1, 160, 2, 59, 77, 22, 182, 7, 4, 1, 160, 2, 59,
- 77, 22, 182, 7, 4, 1, 240, 154, 2, 59, 77, 22, 242, 136, 7, 4, 1, 240,
- 154, 2, 59, 77, 22, 182, 7, 6, 1, 240, 154, 2, 226, 225, 22, 142, 7, 4,
- 1, 240, 154, 2, 226, 225, 22, 59, 77, 22, 142, 7, 6, 1, 240, 154, 2, 226,
- 225, 22, 182, 7, 4, 1, 240, 154, 2, 226, 225, 22, 59, 77, 22, 182, 7, 6,
- 1, 235, 145, 2, 182, 7, 4, 1, 235, 145, 2, 59, 77, 22, 182, 7, 6, 1, 233,
- 149, 2, 182, 7, 4, 1, 233, 149, 2, 182, 7, 6, 1, 232, 50, 2, 182, 7, 4,
- 1, 232, 50, 2, 182, 7, 6, 1, 223, 224, 2, 182, 7, 4, 1, 223, 224, 2, 182,
- 7, 6, 1, 104, 2, 226, 225, 22, 142, 7, 4, 1, 104, 2, 226, 225, 22, 142,
- 7, 6, 1, 104, 2, 226, 225, 22, 182, 7, 4, 1, 104, 2, 226, 225, 22, 182,
- 7, 6, 1, 104, 2, 231, 233, 22, 142, 7, 4, 1, 104, 2, 231, 233, 22, 142,
- 7, 6, 1, 104, 2, 231, 233, 22, 182, 7, 4, 1, 104, 2, 231, 233, 22, 182,
- 7, 4, 1, 254, 244, 2, 242, 136, 7, 4, 1, 204, 144, 2, 242, 136, 7, 4, 1,
- 204, 144, 2, 142, 7, 4, 1, 215, 94, 214, 106, 2, 242, 136, 7, 4, 1, 215,
- 94, 214, 106, 2, 142, 7, 4, 1, 221, 196, 2, 242, 136, 7, 4, 1, 221, 196,
- 2, 142, 7, 4, 1, 241, 51, 221, 196, 2, 242, 136, 7, 4, 1, 241, 51, 221,
- 196, 2, 142, 146, 1, 234, 109, 36, 116, 235, 23, 36, 116, 229, 79, 36,
- 116, 251, 66, 36, 116, 227, 167, 36, 116, 215, 159, 36, 116, 228, 111,
- 36, 116, 217, 152, 36, 116, 230, 25, 36, 116, 226, 105, 36, 116, 193, 36,
- 116, 211, 117, 36, 116, 153, 36, 116, 156, 36, 116, 214, 105, 36, 116,
- 232, 176, 36, 116, 232, 185, 36, 116, 222, 180, 36, 116, 228, 93, 36,
- 116, 235, 144, 36, 116, 220, 104, 36, 116, 218, 226, 36, 116, 222, 91,
- 36, 116, 242, 60, 36, 116, 233, 232, 36, 3, 235, 10, 36, 3, 234, 92, 36,
- 3, 234, 83, 36, 3, 233, 217, 36, 3, 233, 188, 36, 3, 234, 182, 36, 3,
- 234, 181, 36, 3, 234, 246, 36, 3, 234, 28, 36, 3, 234, 10, 36, 3, 234,
- 195, 36, 3, 229, 76, 36, 3, 229, 27, 36, 3, 229, 23, 36, 3, 228, 248, 36,
- 3, 228, 241, 36, 3, 229, 64, 36, 3, 229, 62, 36, 3, 229, 73, 36, 3, 229,
- 4, 36, 3, 228, 255, 36, 3, 229, 66, 36, 3, 251, 32, 36, 3, 250, 51, 36,
- 3, 250, 41, 36, 3, 249, 112, 36, 3, 249, 83, 36, 3, 250, 190, 36, 3, 250,
- 182, 36, 3, 251, 22, 36, 3, 249, 238, 36, 3, 249, 174, 36, 3, 250, 222,
- 36, 3, 227, 164, 36, 3, 227, 148, 36, 3, 227, 143, 36, 3, 227, 128, 36,
- 3, 227, 121, 36, 3, 227, 156, 36, 3, 227, 155, 36, 3, 227, 161, 36, 3,
- 227, 134, 36, 3, 227, 132, 36, 3, 227, 159, 36, 3, 215, 155, 36, 3, 215,
- 135, 36, 3, 215, 134, 36, 3, 215, 123, 36, 3, 215, 120, 36, 3, 215, 151,
- 36, 3, 215, 150, 36, 3, 215, 154, 36, 3, 215, 133, 36, 3, 215, 132, 36,
- 3, 215, 153, 36, 3, 228, 109, 36, 3, 228, 95, 36, 3, 228, 94, 36, 3, 228,
- 78, 36, 3, 228, 77, 36, 3, 228, 105, 36, 3, 228, 104, 36, 3, 228, 108,
- 36, 3, 228, 80, 36, 3, 228, 79, 36, 3, 228, 107, 36, 3, 217, 101, 36, 3,
- 216, 117, 36, 3, 216, 103, 36, 3, 215, 118, 36, 3, 215, 85, 36, 3, 217,
- 22, 36, 3, 217, 11, 36, 3, 217, 79, 36, 3, 111, 36, 3, 216, 17, 36, 3,
- 217, 41, 36, 3, 229, 225, 36, 3, 228, 233, 36, 3, 228, 208, 36, 3, 227,
- 237, 36, 3, 227, 179, 36, 3, 229, 107, 36, 3, 229, 103, 36, 3, 229, 212,
- 36, 3, 228, 74, 36, 3, 228, 64, 36, 3, 229, 187, 36, 3, 226, 89, 36, 3,
- 225, 108, 36, 3, 225, 71, 36, 3, 224, 150, 36, 3, 224, 119, 36, 3, 225,
- 221, 36, 3, 225, 211, 36, 3, 226, 71, 36, 3, 225, 16, 36, 3, 224, 249,
- 36, 3, 225, 234, 36, 3, 231, 237, 36, 3, 230, 230, 36, 3, 230, 201, 36,
- 3, 230, 102, 36, 3, 230, 54, 36, 3, 231, 91, 36, 3, 231, 80, 36, 3, 231,
- 203, 36, 3, 230, 161, 36, 3, 230, 132, 36, 3, 231, 135, 36, 3, 211, 103,
- 36, 3, 211, 8, 36, 3, 210, 255, 36, 3, 210, 212, 36, 3, 210, 181, 36, 3,
- 211, 47, 36, 3, 211, 44, 36, 3, 211, 82, 36, 3, 210, 244, 36, 3, 210,
- 229, 36, 3, 211, 55, 36, 3, 223, 184, 36, 3, 223, 35, 36, 3, 222, 239,
- 36, 3, 222, 140, 36, 3, 222, 112, 36, 3, 223, 128, 36, 3, 223, 108, 36,
- 3, 223, 166, 36, 3, 222, 211, 36, 3, 222, 197, 36, 3, 223, 136, 36, 3,
- 233, 134, 36, 3, 232, 241, 36, 3, 232, 227, 36, 3, 232, 98, 36, 3, 232,
- 73, 36, 3, 233, 58, 36, 3, 233, 50, 36, 3, 233, 109, 36, 3, 232, 156, 36,
- 3, 232, 127, 36, 3, 233, 74, 36, 3, 214, 26, 36, 3, 213, 176, 36, 3, 213,
- 162, 36, 3, 212, 116, 36, 3, 212, 109, 36, 3, 213, 255, 36, 3, 213, 250,
- 36, 3, 214, 23, 36, 3, 213, 138, 36, 3, 213, 127, 36, 3, 214, 5, 36, 3,
- 232, 174, 36, 3, 232, 169, 36, 3, 232, 168, 36, 3, 232, 165, 36, 3, 232,
- 164, 36, 3, 232, 171, 36, 3, 232, 170, 36, 3, 232, 173, 36, 3, 232, 167,
- 36, 3, 232, 166, 36, 3, 232, 172, 36, 3, 232, 183, 36, 3, 232, 178, 36,
- 3, 232, 177, 36, 3, 232, 161, 36, 3, 232, 160, 36, 3, 232, 180, 36, 3,
- 232, 179, 36, 3, 232, 182, 36, 3, 232, 163, 36, 3, 232, 162, 36, 3, 232,
- 181, 36, 3, 222, 178, 36, 3, 222, 167, 36, 3, 222, 166, 36, 3, 222, 160,
- 36, 3, 222, 153, 36, 3, 222, 174, 36, 3, 222, 173, 36, 3, 222, 177, 36,
- 3, 222, 165, 36, 3, 222, 164, 36, 3, 222, 176, 36, 3, 228, 91, 36, 3,
- 228, 86, 36, 3, 228, 85, 36, 3, 228, 82, 36, 3, 228, 81, 36, 3, 228, 88,
- 36, 3, 228, 87, 36, 3, 228, 90, 36, 3, 228, 84, 36, 3, 228, 83, 36, 3,
- 228, 89, 36, 3, 235, 140, 36, 3, 235, 108, 36, 3, 235, 101, 36, 3, 235,
- 51, 36, 3, 235, 33, 36, 3, 235, 126, 36, 3, 235, 124, 36, 3, 235, 135,
- 36, 3, 235, 68, 36, 3, 235, 59, 36, 3, 235, 129, 36, 3, 220, 98, 36, 3,
- 220, 32, 36, 3, 220, 27, 36, 3, 219, 225, 36, 3, 219, 210, 36, 3, 220,
- 63, 36, 3, 220, 61, 36, 3, 220, 90, 36, 3, 220, 7, 36, 3, 220, 1, 36, 3,
- 220, 71, 36, 3, 218, 222, 36, 3, 218, 192, 36, 3, 218, 188, 36, 3, 218,
- 179, 36, 3, 218, 176, 36, 3, 218, 197, 36, 3, 218, 196, 36, 3, 218, 221,
- 36, 3, 218, 184, 36, 3, 218, 183, 36, 3, 218, 199, 36, 3, 222, 31, 36, 3,
- 219, 191, 36, 3, 219, 175, 36, 3, 218, 83, 36, 3, 218, 4, 36, 3, 221,
- 181, 36, 3, 221, 170, 36, 3, 222, 17, 36, 3, 219, 58, 36, 3, 219, 40, 36,
- 3, 221, 219, 36, 3, 242, 46, 36, 3, 241, 180, 36, 3, 241, 161, 36, 3,
- 240, 222, 36, 3, 240, 202, 36, 3, 241, 238, 36, 3, 241, 220, 36, 3, 242,
- 36, 36, 3, 241, 68, 36, 3, 241, 53, 36, 3, 241, 246, 36, 3, 233, 231, 36,
- 3, 233, 230, 36, 3, 233, 225, 36, 3, 233, 224, 36, 3, 233, 221, 36, 3,
- 233, 220, 36, 3, 233, 227, 36, 3, 233, 226, 36, 3, 233, 229, 36, 3, 233,
- 223, 36, 3, 233, 222, 36, 3, 233, 228, 36, 3, 219, 231, 175, 116, 5, 211,
- 68, 175, 116, 5, 223, 155, 175, 116, 5, 223, 78, 98, 1, 215, 28, 69, 116,
- 5, 249, 233, 176, 69, 116, 5, 249, 233, 234, 132, 69, 116, 5, 249, 233,
- 234, 28, 69, 116, 5, 249, 233, 234, 105, 69, 116, 5, 249, 233, 229, 4,
- 69, 116, 5, 249, 233, 251, 33, 69, 116, 5, 249, 233, 250, 157, 69, 116,
- 5, 249, 233, 249, 238, 69, 116, 5, 249, 233, 250, 86, 69, 116, 5, 249,
- 233, 227, 134, 69, 116, 5, 249, 233, 248, 221, 69, 116, 5, 249, 233, 215,
- 144, 69, 116, 5, 249, 233, 247, 145, 69, 116, 5, 249, 233, 215, 139, 69,
- 116, 5, 249, 233, 197, 69, 116, 5, 249, 233, 217, 105, 69, 116, 5, 249,
- 233, 216, 208, 69, 116, 5, 249, 233, 111, 69, 116, 5, 249, 233, 216, 156,
- 69, 116, 5, 249, 233, 228, 74, 69, 116, 5, 249, 233, 252, 191, 69, 116,
- 5, 249, 233, 225, 147, 69, 116, 5, 249, 233, 225, 16, 69, 116, 5, 249,
- 233, 225, 121, 69, 116, 5, 249, 233, 230, 161, 69, 116, 5, 249, 233, 210,
- 244, 69, 116, 5, 249, 233, 222, 211, 69, 116, 5, 249, 233, 232, 156, 69,
- 116, 5, 249, 233, 213, 138, 69, 116, 5, 249, 233, 220, 102, 69, 116, 5,
- 249, 233, 218, 223, 69, 116, 5, 249, 233, 206, 69, 116, 5, 249, 233, 162,
- 69, 116, 5, 249, 233, 233, 135, 69, 25, 5, 249, 233, 224, 88, 69, 235,
- 243, 25, 5, 249, 233, 224, 30, 69, 235, 243, 25, 5, 249, 233, 222, 100,
- 69, 235, 243, 25, 5, 249, 233, 222, 93, 69, 235, 243, 25, 5, 249, 233,
- 224, 69, 69, 25, 5, 226, 204, 69, 25, 5, 255, 34, 141, 1, 251, 255, 229,
- 77, 141, 1, 251, 255, 229, 27, 141, 1, 251, 255, 228, 248, 141, 1, 251,
- 255, 229, 64, 141, 1, 251, 255, 229, 4, 56, 1, 251, 255, 229, 77, 56, 1,
- 251, 255, 229, 27, 56, 1, 251, 255, 228, 248, 56, 1, 251, 255, 229, 64,
- 56, 1, 251, 255, 229, 4, 56, 1, 254, 194, 250, 190, 56, 1, 254, 194, 215,
- 118, 56, 1, 254, 194, 111, 56, 1, 254, 194, 226, 105, 58, 1, 245, 20,
- 245, 19, 249, 182, 138, 130, 58, 1, 245, 19, 245, 20, 249, 182, 138, 130,
+ 117, 129, 7, 4, 1, 210, 159, 129, 43, 249, 100, 127, 129, 67, 232, 214,
+ 129, 44, 249, 100, 127, 129, 183, 251, 7, 217, 85, 45, 221, 79, 45, 221,
+ 68, 45, 221, 57, 45, 221, 45, 45, 221, 34, 45, 221, 23, 45, 221, 12, 45,
+ 221, 1, 45, 220, 246, 45, 220, 238, 45, 220, 237, 45, 220, 236, 45, 220,
+ 235, 45, 220, 233, 45, 220, 232, 45, 220, 231, 45, 220, 230, 45, 220,
+ 229, 45, 220, 228, 45, 220, 227, 45, 220, 226, 45, 220, 225, 45, 220,
+ 224, 45, 220, 222, 45, 220, 221, 45, 220, 220, 45, 220, 219, 45, 220,
+ 218, 45, 220, 217, 45, 220, 216, 45, 220, 215, 45, 220, 214, 45, 220,
+ 213, 45, 220, 211, 45, 220, 210, 45, 220, 209, 45, 220, 208, 45, 220,
+ 207, 45, 220, 206, 45, 220, 205, 45, 220, 204, 45, 220, 203, 45, 220,
+ 202, 45, 220, 200, 45, 220, 199, 45, 220, 198, 45, 220, 197, 45, 220,
+ 196, 45, 220, 195, 45, 220, 194, 45, 220, 193, 45, 220, 192, 45, 220,
+ 191, 45, 220, 189, 45, 220, 188, 45, 220, 187, 45, 220, 186, 45, 220,
+ 185, 45, 220, 184, 45, 220, 183, 45, 220, 182, 45, 220, 181, 45, 220,
+ 180, 45, 220, 178, 45, 220, 177, 45, 220, 176, 45, 220, 175, 45, 220,
+ 174, 45, 220, 173, 45, 220, 172, 45, 220, 171, 45, 220, 170, 45, 220,
+ 169, 45, 220, 167, 45, 220, 166, 45, 220, 165, 45, 220, 164, 45, 220,
+ 163, 45, 220, 162, 45, 220, 161, 45, 220, 160, 45, 220, 159, 45, 220,
+ 158, 45, 221, 155, 45, 221, 154, 45, 221, 153, 45, 221, 152, 45, 221,
+ 151, 45, 221, 150, 45, 221, 149, 45, 221, 148, 45, 221, 147, 45, 221,
+ 146, 45, 221, 144, 45, 221, 143, 45, 221, 142, 45, 221, 141, 45, 221,
+ 140, 45, 221, 139, 45, 221, 138, 45, 221, 137, 45, 221, 136, 45, 221,
+ 135, 45, 221, 133, 45, 221, 132, 45, 221, 131, 45, 221, 130, 45, 221,
+ 129, 45, 221, 128, 45, 221, 127, 45, 221, 126, 45, 221, 125, 45, 221,
+ 124, 45, 221, 122, 45, 221, 121, 45, 221, 120, 45, 221, 119, 45, 221,
+ 118, 45, 221, 117, 45, 221, 116, 45, 221, 115, 45, 221, 114, 45, 221,
+ 113, 45, 221, 111, 45, 221, 110, 45, 221, 109, 45, 221, 108, 45, 221,
+ 107, 45, 221, 106, 45, 221, 105, 45, 221, 104, 45, 221, 103, 45, 221,
+ 102, 45, 221, 100, 45, 221, 99, 45, 221, 98, 45, 221, 97, 45, 221, 96,
+ 45, 221, 95, 45, 221, 94, 45, 221, 93, 45, 221, 92, 45, 221, 91, 45, 221,
+ 89, 45, 221, 88, 45, 221, 87, 45, 221, 86, 45, 221, 85, 45, 221, 84, 45,
+ 221, 83, 45, 221, 82, 45, 221, 81, 45, 221, 80, 45, 221, 78, 45, 221, 77,
+ 45, 221, 76, 45, 221, 75, 45, 221, 74, 45, 221, 73, 45, 221, 72, 45, 221,
+ 71, 45, 221, 70, 45, 221, 69, 45, 221, 67, 45, 221, 66, 45, 221, 65, 45,
+ 221, 64, 45, 221, 63, 45, 221, 62, 45, 221, 61, 45, 221, 60, 45, 221, 59,
+ 45, 221, 58, 45, 221, 56, 45, 221, 55, 45, 221, 54, 45, 221, 53, 45, 221,
+ 52, 45, 221, 51, 45, 221, 50, 45, 221, 49, 45, 221, 48, 45, 221, 47, 45,
+ 221, 44, 45, 221, 43, 45, 221, 42, 45, 221, 41, 45, 221, 40, 45, 221, 39,
+ 45, 221, 38, 45, 221, 37, 45, 221, 36, 45, 221, 35, 45, 221, 33, 45, 221,
+ 32, 45, 221, 31, 45, 221, 30, 45, 221, 29, 45, 221, 28, 45, 221, 27, 45,
+ 221, 26, 45, 221, 25, 45, 221, 24, 45, 221, 22, 45, 221, 21, 45, 221, 20,
+ 45, 221, 19, 45, 221, 18, 45, 221, 17, 45, 221, 16, 45, 221, 15, 45, 221,
+ 14, 45, 221, 13, 45, 221, 11, 45, 221, 10, 45, 221, 9, 45, 221, 8, 45,
+ 221, 7, 45, 221, 6, 45, 221, 5, 45, 221, 4, 45, 221, 3, 45, 221, 2, 45,
+ 221, 0, 45, 220, 255, 45, 220, 254, 45, 220, 253, 45, 220, 252, 45, 220,
+ 251, 45, 220, 250, 45, 220, 249, 45, 220, 248, 45, 220, 247, 45, 220,
+ 245, 45, 220, 244, 45, 220, 243, 45, 220, 242, 45, 220, 241, 45, 220,
+ 240, 45, 220, 239, 227, 203, 227, 205, 218, 153, 64, 241, 234, 219, 49,
+ 218, 153, 64, 216, 213, 218, 86, 245, 144, 64, 216, 213, 245, 57, 245,
+ 144, 64, 215, 244, 245, 110, 245, 133, 245, 134, 255, 8, 255, 9, 254,
+ 168, 252, 48, 252, 180, 251, 132, 135, 217, 90, 203, 217, 90, 240, 228,
+ 217, 94, 232, 215, 244, 146, 166, 232, 214, 245, 144, 64, 232, 214, 233,
+ 1, 228, 136, 245, 113, 232, 215, 217, 90, 67, 217, 90, 212, 118, 244, 21,
+ 244, 146, 244, 126, 250, 231, 223, 54, 249, 144, 220, 29, 226, 131, 232,
+ 151, 110, 219, 59, 220, 29, 236, 0, 232, 151, 210, 86, 219, 192, 248,
+ 152, 232, 205, 245, 78, 247, 156, 248, 32, 249, 179, 110, 248, 142, 248,
+ 32, 249, 179, 105, 248, 141, 248, 32, 249, 179, 158, 248, 140, 248, 32,
+ 249, 179, 161, 248, 139, 152, 255, 8, 229, 210, 217, 178, 236, 63, 217,
+ 181, 245, 144, 64, 215, 245, 251, 214, 245, 63, 251, 6, 251, 8, 245, 144,
+ 64, 231, 82, 245, 111, 218, 62, 218, 79, 245, 78, 245, 79, 235, 233, 220,
+ 139, 161, 244, 108, 220, 138, 243, 238, 235, 233, 220, 139, 158, 242,
+ 122, 220, 138, 242, 119, 235, 233, 220, 139, 105, 223, 122, 220, 138,
+ 222, 146, 235, 233, 220, 139, 110, 214, 174, 220, 138, 214, 133, 219, 22,
+ 248, 64, 248, 66, 226, 79, 250, 143, 226, 81, 125, 226, 241, 224, 194,
+ 241, 48, 251, 151, 225, 174, 241, 204, 251, 162, 228, 76, 251, 151, 241,
+ 204, 229, 176, 235, 243, 235, 245, 229, 83, 232, 214, 229, 100, 218, 153,
+ 64, 221, 159, 254, 19, 218, 224, 245, 144, 64, 221, 159, 254, 19, 245,
+ 81, 135, 217, 91, 220, 128, 203, 217, 91, 220, 128, 240, 225, 135, 217,
+ 91, 2, 235, 36, 203, 217, 91, 2, 235, 36, 240, 226, 232, 215, 217, 91,
+ 220, 128, 67, 217, 91, 220, 128, 212, 117, 225, 254, 232, 215, 244, 15,
+ 225, 254, 232, 215, 246, 107, 225, 33, 225, 254, 232, 215, 252, 179, 225,
+ 254, 232, 215, 214, 163, 225, 29, 223, 51, 232, 215, 244, 146, 223, 51,
+ 235, 243, 223, 36, 219, 156, 220, 29, 105, 219, 153, 218, 226, 219, 156,
+ 220, 29, 158, 219, 152, 218, 225, 248, 32, 249, 179, 218, 106, 248, 138,
+ 224, 184, 214, 132, 110, 224, 184, 214, 130, 224, 150, 224, 184, 214,
+ 132, 105, 224, 184, 214, 129, 224, 149, 220, 129, 215, 243, 218, 152,
+ 218, 90, 251, 7, 250, 143, 250, 210, 231, 44, 212, 59, 230, 44, 218, 153,
+ 64, 242, 108, 254, 19, 218, 153, 64, 224, 167, 254, 19, 219, 21, 245,
+ 144, 64, 242, 108, 254, 19, 245, 144, 64, 224, 167, 254, 19, 245, 108,
+ 218, 153, 64, 218, 106, 219, 36, 219, 156, 242, 142, 135, 235, 196, 220,
+ 108, 219, 156, 135, 235, 196, 221, 195, 249, 179, 220, 136, 235, 196,
+ 249, 114, 218, 107, 216, 237, 218, 169, 226, 170, 217, 168, 249, 219,
+ 226, 143, 224, 185, 231, 43, 225, 20, 254, 54, 224, 179, 249, 219, 254,
+ 70, 229, 164, 219, 201, 7, 6, 1, 242, 250, 7, 4, 1, 242, 250, 250, 160,
+ 182, 218, 68, 249, 228, 219, 107, 233, 47, 165, 1, 232, 176, 209, 209, 1,
+ 244, 45, 244, 37, 209, 209, 1, 244, 45, 244, 158, 209, 209, 1, 222, 212,
+ 209, 209, 1, 232, 157, 63, 164, 251, 224, 220, 4, 242, 216, 230, 249,
+ 223, 42, 243, 217, 243, 216, 243, 215, 230, 46, 209, 251, 209, 252, 209,
+ 254, 232, 103, 222, 220, 232, 104, 222, 221, 225, 224, 232, 102, 222,
+ 219, 228, 107, 230, 166, 211, 229, 212, 15, 245, 163, 243, 227, 230, 230,
+ 226, 198, 214, 134, 87, 230, 230, 248, 158, 87, 8, 3, 235, 159, 78, 224,
+ 195, 244, 21, 31, 67, 44, 71, 233, 21, 127, 213, 118, 213, 7, 212, 195,
+ 212, 184, 212, 173, 212, 162, 212, 151, 212, 140, 212, 129, 213, 117,
+ 213, 106, 213, 95, 213, 84, 213, 73, 213, 62, 213, 51, 251, 72, 226, 156,
+ 78, 251, 197, 209, 253, 49, 28, 16, 243, 237, 219, 103, 250, 74, 214, 9,
+ 213, 40, 213, 29, 213, 18, 213, 6, 212, 251, 212, 240, 212, 229, 212,
+ 218, 212, 207, 212, 199, 212, 198, 212, 197, 212, 196, 212, 194, 212,
+ 193, 212, 192, 212, 191, 212, 190, 212, 189, 212, 188, 212, 187, 212,
+ 186, 212, 185, 212, 183, 212, 182, 212, 181, 212, 180, 212, 179, 212,
+ 178, 212, 177, 212, 176, 212, 175, 212, 174, 212, 172, 212, 171, 212,
+ 170, 212, 169, 212, 168, 212, 167, 212, 166, 212, 165, 212, 164, 212,
+ 163, 212, 161, 212, 160, 212, 159, 212, 158, 212, 157, 212, 156, 212,
+ 155, 212, 154, 212, 153, 212, 152, 212, 150, 212, 149, 212, 148, 212,
+ 147, 212, 146, 212, 145, 212, 144, 212, 143, 212, 142, 212, 141, 212,
+ 139, 212, 138, 212, 137, 212, 136, 212, 135, 212, 134, 212, 133, 212,
+ 132, 212, 131, 212, 130, 212, 128, 212, 127, 212, 126, 212, 125, 212,
+ 124, 212, 123, 212, 122, 212, 121, 212, 120, 212, 119, 213, 116, 213,
+ 115, 213, 114, 213, 113, 213, 112, 213, 111, 213, 110, 213, 109, 213,
+ 108, 213, 107, 213, 105, 213, 104, 213, 103, 213, 102, 213, 101, 213,
+ 100, 213, 99, 213, 98, 213, 97, 213, 96, 213, 94, 213, 93, 213, 92, 213,
+ 91, 213, 90, 213, 89, 213, 88, 213, 87, 213, 86, 213, 85, 213, 83, 213,
+ 82, 213, 81, 213, 80, 213, 79, 213, 78, 213, 77, 213, 76, 213, 75, 213,
+ 74, 213, 72, 213, 71, 213, 70, 213, 69, 213, 68, 213, 67, 213, 66, 213,
+ 65, 213, 64, 213, 63, 213, 61, 213, 60, 213, 59, 213, 58, 213, 57, 213,
+ 56, 213, 55, 213, 54, 213, 53, 213, 52, 213, 50, 213, 49, 213, 48, 213,
+ 47, 213, 46, 213, 45, 213, 44, 213, 43, 213, 42, 213, 41, 213, 39, 213,
+ 38, 213, 37, 213, 36, 213, 35, 213, 34, 213, 33, 213, 32, 213, 31, 213,
+ 30, 213, 28, 213, 27, 213, 26, 213, 25, 213, 24, 213, 23, 213, 22, 213,
+ 21, 213, 20, 213, 19, 213, 17, 213, 16, 213, 15, 213, 14, 213, 13, 213,
+ 12, 213, 11, 213, 10, 213, 9, 213, 8, 213, 5, 213, 4, 213, 3, 213, 2,
+ 213, 1, 213, 0, 212, 255, 212, 254, 212, 253, 212, 252, 212, 250, 212,
+ 249, 212, 248, 212, 247, 212, 246, 212, 245, 212, 244, 212, 243, 212,
+ 242, 212, 241, 212, 239, 212, 238, 212, 237, 212, 236, 212, 235, 212,
+ 234, 212, 233, 212, 232, 212, 231, 212, 230, 212, 228, 212, 227, 212,
+ 226, 212, 225, 212, 224, 212, 223, 212, 222, 212, 221, 212, 220, 212,
+ 219, 212, 217, 212, 216, 212, 215, 212, 214, 212, 213, 212, 212, 212,
+ 211, 212, 210, 212, 209, 212, 208, 212, 206, 212, 205, 212, 204, 212,
+ 203, 212, 202, 212, 201, 212, 200, 7, 6, 1, 115, 2, 231, 234, 22, 242,
+ 137, 7, 4, 1, 115, 2, 231, 234, 22, 242, 137, 7, 6, 1, 160, 2, 67, 232,
+ 215, 51, 7, 4, 1, 160, 2, 67, 232, 215, 51, 7, 6, 1, 160, 2, 67, 232,
+ 215, 252, 44, 22, 242, 137, 7, 4, 1, 160, 2, 67, 232, 215, 252, 44, 22,
+ 242, 137, 7, 6, 1, 160, 2, 67, 232, 215, 252, 44, 22, 142, 7, 4, 1, 160,
+ 2, 67, 232, 215, 252, 44, 22, 142, 7, 6, 1, 160, 2, 250, 32, 22, 231,
+ 233, 7, 4, 1, 160, 2, 250, 32, 22, 231, 233, 7, 6, 1, 160, 2, 250, 32,
+ 22, 250, 235, 7, 4, 1, 160, 2, 250, 32, 22, 250, 235, 7, 6, 1, 240, 155,
+ 2, 231, 234, 22, 242, 137, 7, 4, 1, 240, 155, 2, 231, 234, 22, 242, 137,
+ 7, 4, 1, 240, 155, 2, 59, 77, 22, 142, 7, 4, 1, 229, 81, 2, 216, 90, 48,
+ 7, 6, 1, 144, 2, 67, 232, 215, 51, 7, 4, 1, 144, 2, 67, 232, 215, 51, 7,
+ 6, 1, 144, 2, 67, 232, 215, 252, 44, 22, 242, 137, 7, 4, 1, 144, 2, 67,
+ 232, 215, 252, 44, 22, 242, 137, 7, 6, 1, 144, 2, 67, 232, 215, 252, 44,
+ 22, 142, 7, 4, 1, 144, 2, 67, 232, 215, 252, 44, 22, 142, 7, 6, 1, 222,
+ 93, 2, 67, 232, 215, 51, 7, 4, 1, 222, 93, 2, 67, 232, 215, 51, 7, 6, 1,
+ 104, 2, 231, 234, 22, 242, 137, 7, 4, 1, 104, 2, 231, 234, 22, 242, 137,
+ 7, 6, 1, 115, 2, 226, 226, 22, 142, 7, 4, 1, 115, 2, 226, 226, 22, 142,
+ 7, 6, 1, 115, 2, 226, 226, 22, 183, 7, 4, 1, 115, 2, 226, 226, 22, 183,
+ 7, 6, 1, 160, 2, 226, 226, 22, 142, 7, 4, 1, 160, 2, 226, 226, 22, 142,
+ 7, 6, 1, 160, 2, 226, 226, 22, 183, 7, 4, 1, 160, 2, 226, 226, 22, 183,
+ 7, 6, 1, 160, 2, 59, 77, 22, 142, 7, 4, 1, 160, 2, 59, 77, 22, 142, 7, 6,
+ 1, 160, 2, 59, 77, 22, 183, 7, 4, 1, 160, 2, 59, 77, 22, 183, 7, 4, 1,
+ 240, 155, 2, 59, 77, 22, 242, 137, 7, 4, 1, 240, 155, 2, 59, 77, 22, 183,
+ 7, 6, 1, 240, 155, 2, 226, 226, 22, 142, 7, 4, 1, 240, 155, 2, 226, 226,
+ 22, 59, 77, 22, 142, 7, 6, 1, 240, 155, 2, 226, 226, 22, 183, 7, 4, 1,
+ 240, 155, 2, 226, 226, 22, 59, 77, 22, 183, 7, 6, 1, 235, 146, 2, 183, 7,
+ 4, 1, 235, 146, 2, 59, 77, 22, 183, 7, 6, 1, 233, 150, 2, 183, 7, 4, 1,
+ 233, 150, 2, 183, 7, 6, 1, 232, 51, 2, 183, 7, 4, 1, 232, 51, 2, 183, 7,
+ 6, 1, 223, 225, 2, 183, 7, 4, 1, 223, 225, 2, 183, 7, 6, 1, 104, 2, 226,
+ 226, 22, 142, 7, 4, 1, 104, 2, 226, 226, 22, 142, 7, 6, 1, 104, 2, 226,
+ 226, 22, 183, 7, 4, 1, 104, 2, 226, 226, 22, 183, 7, 6, 1, 104, 2, 231,
+ 234, 22, 142, 7, 4, 1, 104, 2, 231, 234, 22, 142, 7, 6, 1, 104, 2, 231,
+ 234, 22, 183, 7, 4, 1, 104, 2, 231, 234, 22, 183, 7, 4, 1, 254, 245, 2,
+ 242, 137, 7, 4, 1, 204, 144, 2, 242, 137, 7, 4, 1, 204, 144, 2, 142, 7,
+ 4, 1, 215, 94, 214, 106, 2, 242, 137, 7, 4, 1, 215, 94, 214, 106, 2, 142,
+ 7, 4, 1, 221, 197, 2, 242, 137, 7, 4, 1, 221, 197, 2, 142, 7, 4, 1, 241,
+ 52, 221, 197, 2, 242, 137, 7, 4, 1, 241, 52, 221, 197, 2, 142, 146, 1,
+ 234, 110, 36, 116, 235, 24, 36, 116, 229, 80, 36, 116, 251, 67, 36, 116,
+ 227, 168, 36, 116, 215, 160, 36, 116, 228, 112, 36, 116, 217, 153, 36,
+ 116, 230, 26, 36, 116, 226, 106, 36, 116, 193, 36, 116, 211, 117, 36,
+ 116, 153, 36, 116, 156, 36, 116, 214, 105, 36, 116, 232, 177, 36, 116,
+ 232, 186, 36, 116, 222, 181, 36, 116, 228, 94, 36, 116, 235, 145, 36,
+ 116, 220, 105, 36, 116, 218, 227, 36, 116, 222, 92, 36, 116, 242, 61, 36,
+ 116, 233, 233, 36, 3, 235, 11, 36, 3, 234, 93, 36, 3, 234, 84, 36, 3,
+ 233, 218, 36, 3, 233, 189, 36, 3, 234, 183, 36, 3, 234, 182, 36, 3, 234,
+ 247, 36, 3, 234, 29, 36, 3, 234, 11, 36, 3, 234, 196, 36, 3, 229, 77, 36,
+ 3, 229, 28, 36, 3, 229, 24, 36, 3, 228, 249, 36, 3, 228, 242, 36, 3, 229,
+ 65, 36, 3, 229, 63, 36, 3, 229, 74, 36, 3, 229, 5, 36, 3, 229, 0, 36, 3,
+ 229, 67, 36, 3, 251, 33, 36, 3, 250, 52, 36, 3, 250, 42, 36, 3, 249, 113,
+ 36, 3, 249, 84, 36, 3, 250, 191, 36, 3, 250, 183, 36, 3, 251, 23, 36, 3,
+ 249, 239, 36, 3, 249, 175, 36, 3, 250, 223, 36, 3, 227, 165, 36, 3, 227,
+ 149, 36, 3, 227, 144, 36, 3, 227, 129, 36, 3, 227, 122, 36, 3, 227, 157,
+ 36, 3, 227, 156, 36, 3, 227, 162, 36, 3, 227, 135, 36, 3, 227, 133, 36,
+ 3, 227, 160, 36, 3, 215, 156, 36, 3, 215, 136, 36, 3, 215, 135, 36, 3,
+ 215, 124, 36, 3, 215, 121, 36, 3, 215, 152, 36, 3, 215, 151, 36, 3, 215,
+ 155, 36, 3, 215, 134, 36, 3, 215, 133, 36, 3, 215, 154, 36, 3, 228, 110,
+ 36, 3, 228, 96, 36, 3, 228, 95, 36, 3, 228, 79, 36, 3, 228, 78, 36, 3,
+ 228, 106, 36, 3, 228, 105, 36, 3, 228, 109, 36, 3, 228, 81, 36, 3, 228,
+ 80, 36, 3, 228, 108, 36, 3, 217, 102, 36, 3, 216, 118, 36, 3, 216, 104,
+ 36, 3, 215, 119, 36, 3, 215, 85, 36, 3, 217, 23, 36, 3, 217, 12, 36, 3,
+ 217, 80, 36, 3, 111, 36, 3, 216, 18, 36, 3, 217, 42, 36, 3, 229, 226, 36,
+ 3, 228, 234, 36, 3, 228, 209, 36, 3, 227, 238, 36, 3, 227, 180, 36, 3,
+ 229, 108, 36, 3, 229, 104, 36, 3, 229, 213, 36, 3, 228, 75, 36, 3, 228,
+ 65, 36, 3, 229, 188, 36, 3, 226, 90, 36, 3, 225, 109, 36, 3, 225, 72, 36,
+ 3, 224, 151, 36, 3, 224, 120, 36, 3, 225, 222, 36, 3, 225, 212, 36, 3,
+ 226, 72, 36, 3, 225, 17, 36, 3, 224, 250, 36, 3, 225, 235, 36, 3, 231,
+ 238, 36, 3, 230, 231, 36, 3, 230, 202, 36, 3, 230, 103, 36, 3, 230, 55,
+ 36, 3, 231, 92, 36, 3, 231, 81, 36, 3, 231, 204, 36, 3, 230, 162, 36, 3,
+ 230, 133, 36, 3, 231, 136, 36, 3, 211, 103, 36, 3, 211, 8, 36, 3, 210,
+ 255, 36, 3, 210, 212, 36, 3, 210, 181, 36, 3, 211, 47, 36, 3, 211, 44,
+ 36, 3, 211, 82, 36, 3, 210, 244, 36, 3, 210, 229, 36, 3, 211, 55, 36, 3,
+ 223, 185, 36, 3, 223, 36, 36, 3, 222, 240, 36, 3, 222, 141, 36, 3, 222,
+ 113, 36, 3, 223, 129, 36, 3, 223, 109, 36, 3, 223, 167, 36, 3, 222, 212,
+ 36, 3, 222, 198, 36, 3, 223, 137, 36, 3, 233, 135, 36, 3, 232, 242, 36,
+ 3, 232, 228, 36, 3, 232, 99, 36, 3, 232, 74, 36, 3, 233, 59, 36, 3, 233,
+ 51, 36, 3, 233, 110, 36, 3, 232, 157, 36, 3, 232, 128, 36, 3, 233, 75,
+ 36, 3, 214, 26, 36, 3, 213, 176, 36, 3, 213, 162, 36, 3, 212, 116, 36, 3,
+ 212, 109, 36, 3, 213, 255, 36, 3, 213, 250, 36, 3, 214, 23, 36, 3, 213,
+ 138, 36, 3, 213, 127, 36, 3, 214, 5, 36, 3, 232, 175, 36, 3, 232, 170,
+ 36, 3, 232, 169, 36, 3, 232, 166, 36, 3, 232, 165, 36, 3, 232, 172, 36,
+ 3, 232, 171, 36, 3, 232, 174, 36, 3, 232, 168, 36, 3, 232, 167, 36, 3,
+ 232, 173, 36, 3, 232, 184, 36, 3, 232, 179, 36, 3, 232, 178, 36, 3, 232,
+ 162, 36, 3, 232, 161, 36, 3, 232, 181, 36, 3, 232, 180, 36, 3, 232, 183,
+ 36, 3, 232, 164, 36, 3, 232, 163, 36, 3, 232, 182, 36, 3, 222, 179, 36,
+ 3, 222, 168, 36, 3, 222, 167, 36, 3, 222, 161, 36, 3, 222, 154, 36, 3,
+ 222, 175, 36, 3, 222, 174, 36, 3, 222, 178, 36, 3, 222, 166, 36, 3, 222,
+ 165, 36, 3, 222, 177, 36, 3, 228, 92, 36, 3, 228, 87, 36, 3, 228, 86, 36,
+ 3, 228, 83, 36, 3, 228, 82, 36, 3, 228, 89, 36, 3, 228, 88, 36, 3, 228,
+ 91, 36, 3, 228, 85, 36, 3, 228, 84, 36, 3, 228, 90, 36, 3, 235, 141, 36,
+ 3, 235, 109, 36, 3, 235, 102, 36, 3, 235, 52, 36, 3, 235, 34, 36, 3, 235,
+ 127, 36, 3, 235, 125, 36, 3, 235, 136, 36, 3, 235, 69, 36, 3, 235, 60,
+ 36, 3, 235, 130, 36, 3, 220, 99, 36, 3, 220, 33, 36, 3, 220, 28, 36, 3,
+ 219, 226, 36, 3, 219, 211, 36, 3, 220, 64, 36, 3, 220, 62, 36, 3, 220,
+ 91, 36, 3, 220, 8, 36, 3, 220, 2, 36, 3, 220, 72, 36, 3, 218, 223, 36, 3,
+ 218, 193, 36, 3, 218, 189, 36, 3, 218, 180, 36, 3, 218, 177, 36, 3, 218,
+ 198, 36, 3, 218, 197, 36, 3, 218, 222, 36, 3, 218, 185, 36, 3, 218, 184,
+ 36, 3, 218, 200, 36, 3, 222, 32, 36, 3, 219, 192, 36, 3, 219, 176, 36, 3,
+ 218, 84, 36, 3, 218, 5, 36, 3, 221, 182, 36, 3, 221, 171, 36, 3, 222, 18,
+ 36, 3, 219, 59, 36, 3, 219, 41, 36, 3, 221, 220, 36, 3, 242, 47, 36, 3,
+ 241, 181, 36, 3, 241, 162, 36, 3, 240, 223, 36, 3, 240, 203, 36, 3, 241,
+ 239, 36, 3, 241, 221, 36, 3, 242, 37, 36, 3, 241, 69, 36, 3, 241, 54, 36,
+ 3, 241, 247, 36, 3, 233, 232, 36, 3, 233, 231, 36, 3, 233, 226, 36, 3,
+ 233, 225, 36, 3, 233, 222, 36, 3, 233, 221, 36, 3, 233, 228, 36, 3, 233,
+ 227, 36, 3, 233, 230, 36, 3, 233, 224, 36, 3, 233, 223, 36, 3, 233, 229,
+ 36, 3, 219, 232, 175, 116, 5, 211, 68, 175, 116, 5, 223, 156, 175, 116,
+ 5, 223, 79, 98, 1, 215, 28, 69, 116, 5, 249, 234, 176, 69, 116, 5, 249,
+ 234, 234, 133, 69, 116, 5, 249, 234, 234, 29, 69, 116, 5, 249, 234, 234,
+ 106, 69, 116, 5, 249, 234, 229, 5, 69, 116, 5, 249, 234, 251, 34, 69,
+ 116, 5, 249, 234, 250, 158, 69, 116, 5, 249, 234, 249, 239, 69, 116, 5,
+ 249, 234, 250, 87, 69, 116, 5, 249, 234, 227, 135, 69, 116, 5, 249, 234,
+ 248, 222, 69, 116, 5, 249, 234, 215, 145, 69, 116, 5, 249, 234, 247, 146,
+ 69, 116, 5, 249, 234, 215, 140, 69, 116, 5, 249, 234, 197, 69, 116, 5,
+ 249, 234, 217, 106, 69, 116, 5, 249, 234, 216, 209, 69, 116, 5, 249, 234,
+ 111, 69, 116, 5, 249, 234, 216, 157, 69, 116, 5, 249, 234, 228, 75, 69,
+ 116, 5, 249, 234, 252, 192, 69, 116, 5, 249, 234, 225, 148, 69, 116, 5,
+ 249, 234, 225, 17, 69, 116, 5, 249, 234, 225, 122, 69, 116, 5, 249, 234,
+ 230, 162, 69, 116, 5, 249, 234, 210, 244, 69, 116, 5, 249, 234, 222, 212,
+ 69, 116, 5, 249, 234, 232, 157, 69, 116, 5, 249, 234, 213, 138, 69, 116,
+ 5, 249, 234, 220, 103, 69, 116, 5, 249, 234, 218, 224, 69, 116, 5, 249,
+ 234, 206, 69, 116, 5, 249, 234, 162, 69, 116, 5, 249, 234, 233, 136, 69,
+ 25, 5, 249, 234, 224, 89, 69, 235, 244, 25, 5, 249, 234, 224, 31, 69,
+ 235, 244, 25, 5, 249, 234, 222, 101, 69, 235, 244, 25, 5, 249, 234, 222,
+ 94, 69, 235, 244, 25, 5, 249, 234, 224, 70, 69, 25, 5, 226, 205, 69, 25,
+ 5, 255, 35, 141, 1, 252, 0, 229, 78, 141, 1, 252, 0, 229, 28, 141, 1,
+ 252, 0, 228, 249, 141, 1, 252, 0, 229, 65, 141, 1, 252, 0, 229, 5, 56, 1,
+ 252, 0, 229, 78, 56, 1, 252, 0, 229, 28, 56, 1, 252, 0, 228, 249, 56, 1,
+ 252, 0, 229, 65, 56, 1, 252, 0, 229, 5, 56, 1, 254, 195, 250, 191, 56, 1,
+ 254, 195, 215, 119, 56, 1, 254, 195, 111, 56, 1, 254, 195, 226, 106, 58,
+ 1, 245, 21, 245, 20, 249, 183, 138, 130, 58, 1, 245, 20, 245, 21, 249,
+ 183, 138, 130,
};
static unsigned char phrasebook_offset1[] = {
@@ -15040,2044 +15042,2044 @@ static unsigned int phrasebook_offset2[] = {
39251, 39258, 39265, 39272, 39279, 39285, 39291, 39298, 39305, 39312, 0,
0, 0, 39319, 39322, 39325, 39328, 39333, 39336, 39339, 39342, 39345,
39348, 39351, 39355, 39358, 39361, 39364, 39367, 39370, 39375, 39378,
- 39381, 39384, 39387, 39390, 39395, 39398, 39401, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39406, 39411, 39416, 39423,
- 39431, 39436, 39441, 39445, 39449, 39454, 39461, 39468, 39472, 39477,
- 39482, 39487, 39492, 39499, 39504, 39509, 39514, 39523, 39530, 39537,
- 39541, 39546, 39552, 39557, 39564, 39573, 39582, 39586, 39590, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39594, 39598, 39606, 39610, 39614,
- 39619, 39623, 39627, 39631, 39633, 39637, 39641, 39645, 39650, 39654,
- 39658, 39666, 39669, 39673, 39676, 39679, 39685, 39689, 39692, 39698,
- 39702, 39706, 39710, 39713, 39717, 39720, 39724, 39726, 39729, 39732,
- 39736, 39738, 39742, 39745, 39748, 39753, 39758, 39765, 39768, 39771,
- 39775, 39780, 39783, 39786, 39789, 39793, 39798, 39801, 39804, 39806,
- 39809, 39812, 39815, 39819, 39824, 39827, 39831, 39835, 39839, 39843,
- 39848, 39854, 39859, 39864, 39870, 39875, 39880, 39884, 39888, 39893,
- 39897, 39901, 39904, 39906, 39911, 39917, 39924, 39931, 39938, 39945,
- 39952, 39959, 39966, 39973, 39981, 39988, 39996, 40003, 40010, 40018,
- 40026, 40031, 40036, 40041, 40046, 40051, 40056, 40061, 40066, 40071,
- 40076, 40082, 40088, 40094, 40100, 40107, 40115, 40122, 40128, 40134,
- 40140, 40146, 40152, 40158, 40164, 40170, 40176, 40183, 40190, 40197,
- 40204, 40212, 40221, 40229, 40240, 40248, 40256, 40265, 40272, 40281,
- 40290, 40298, 40307, 0, 0, 0, 0, 0, 0, 40315, 40317, 40320, 40322, 40325,
- 40328, 40331, 40336, 40341, 40346, 40351, 40355, 40359, 40363, 40367,
- 40372, 40378, 40383, 40389, 40394, 40399, 40404, 40410, 40415, 40421,
- 40427, 40431, 40435, 40440, 40445, 40450, 40455, 40460, 40468, 40476,
- 40484, 40492, 40499, 40507, 40514, 40521, 40530, 40542, 40548, 40554,
- 40562, 40570, 40579, 40588, 40596, 40604, 40613, 40622, 40627, 40635,
- 40640, 40645, 40651, 40656, 40662, 40669, 40676, 40681, 40687, 40692,
- 40695, 40699, 40702, 40706, 40710, 40714, 40720, 40726, 40732, 40738,
- 40742, 40746, 40750, 40754, 40760, 40766, 40770, 40775, 40779, 40784,
- 40789, 40794, 40797, 40801, 40804, 40808, 40815, 40823, 40834, 40845,
- 40850, 40859, 40866, 40875, 40884, 40888, 40894, 40902, 40906, 40911,
- 40916, 40922, 40928, 40934, 40941, 40945, 40949, 40954, 40957, 40959,
- 40963, 40967, 40975, 40979, 40981, 40983, 40987, 40995, 41000, 41006,
- 41016, 41023, 41028, 41032, 41036, 41040, 41043, 41046, 41049, 41053,
- 41057, 41061, 41065, 41069, 41072, 41076, 41080, 41083, 41085, 41088,
- 41090, 41094, 41098, 41100, 41106, 41109, 41114, 41118, 41122, 41124,
- 41126, 41128, 41131, 41135, 41139, 41143, 41147, 41151, 41157, 41163,
- 41165, 41167, 41169, 41171, 41174, 41176, 41180, 41182, 41186, 41189,
- 41195, 41199, 41203, 41206, 41209, 41213, 41219, 41223, 41233, 41243,
- 41247, 41253, 41259, 41262, 41266, 41269, 41274, 41278, 41284, 41288,
- 41300, 41308, 41312, 41316, 41322, 41326, 41329, 41331, 41334, 41338,
- 41342, 41349, 41353, 41357, 41361, 41364, 41369, 41374, 41379, 41384,
- 41389, 41394, 41402, 41410, 41414, 41418, 41420, 41425, 41429, 41433,
- 41441, 41449, 41455, 41461, 41470, 41479, 41484, 41489, 41497, 41505,
- 41507, 41509, 41514, 41519, 41525, 41531, 41537, 41543, 41547, 41551,
- 41558, 41565, 41571, 41577, 41587, 41597, 41605, 41613, 41615, 41619,
- 41623, 41628, 41633, 41640, 41647, 41650, 41653, 41656, 41659, 41662,
- 41667, 41671, 41676, 41681, 41684, 41687, 41690, 41693, 41696, 41700,
- 41703, 41706, 41709, 41712, 41714, 41716, 41718, 41720, 41728, 41736,
- 41742, 41746, 41752, 41762, 41768, 41774, 41780, 41788, 41796, 41807,
- 41811, 41815, 41817, 41823, 41825, 41827, 41829, 41831, 41837, 41840,
- 41846, 41852, 41856, 41860, 41864, 41867, 41871, 41875, 41877, 41886,
- 41895, 41900, 41905, 41911, 41917, 41923, 41926, 41929, 41932, 41935,
- 41937, 41942, 41947, 41952, 41958, 41964, 41972, 41980, 41986, 41992,
- 41998, 42004, 42013, 42022, 42031, 42040, 42049, 42058, 42067, 42076,
- 42085, 42094, 42102, 42114, 42124, 42139, 42142, 42147, 42153, 42159,
- 42166, 42180, 42195, 42201, 42207, 42214, 42220, 42228, 42234, 42247,
- 42261, 42266, 42272, 42279, 42282, 42285, 42287, 42290, 42293, 42295,
- 42297, 42301, 42304, 42307, 42310, 42313, 42318, 42323, 42328, 42333,
- 42338, 42341, 42343, 42345, 42347, 42351, 42355, 42359, 42365, 42370,
- 42372, 42374, 42379, 42384, 42389, 42394, 42399, 42404, 42406, 42408,
- 42417, 42421, 42429, 42438, 42440, 42445, 42450, 42458, 42462, 42464,
- 42468, 42470, 42474, 42478, 42482, 42484, 42486, 42488, 42495, 42504,
- 42513, 42522, 42531, 42540, 42549, 42558, 42567, 42575, 42583, 42592,
- 42601, 42610, 42619, 42627, 42635, 42644, 42653, 42662, 42672, 42681,
- 42691, 42700, 42710, 42719, 42729, 42739, 42748, 42758, 42767, 42777,
- 42786, 42796, 42805, 42814, 42823, 42832, 42841, 42851, 42860, 42869,
- 42878, 42888, 42897, 42906, 42915, 42924, 42934, 42944, 42953, 42962,
- 42970, 42978, 42985, 42993, 43002, 43013, 43022, 43031, 43040, 43047,
- 43054, 43061, 43070, 43079, 43088, 43097, 43104, 43109, 43118, 43123,
- 43126, 43134, 43137, 43142, 43147, 43150, 43153, 43161, 43164, 43169,
- 43172, 43179, 43184, 43192, 43195, 43198, 43201, 43206, 43211, 43214,
- 43217, 43225, 43228, 43235, 43242, 43246, 43250, 43255, 43260, 43266,
- 43271, 43277, 43283, 43288, 43294, 43302, 43308, 43316, 43324, 43330,
- 43338, 43346, 43355, 43363, 43369, 43377, 43386, 43394, 43398, 43403,
- 43416, 43429, 43433, 43437, 43441, 43445, 43455, 43459, 43464, 43469,
- 43474, 43479, 43484, 43489, 43499, 43509, 43517, 43527, 43537, 43545,
- 43555, 43565, 43573, 43583, 43593, 43601, 43609, 43619, 43629, 43632,
- 43635, 43638, 43643, 43647, 43653, 43660, 43667, 43675, 43682, 43686,
- 43690, 43694, 43698, 43700, 43704, 43708, 43713, 43718, 43725, 43732,
- 43735, 43742, 43744, 43746, 43750, 43754, 43759, 43765, 43771, 43777,
- 43783, 43792, 43801, 43810, 43814, 43816, 43820, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 43827, 43831, 43838, 43845, 43852, 43859, 43863, 43867,
- 43871, 43875, 43880, 43886, 43891, 43897, 43903, 43909, 43915, 43923,
- 43930, 43937, 43944, 43951, 43956, 43962, 43971, 43975, 43982, 43986,
- 43990, 43996, 44002, 44008, 44014, 44018, 44022, 44025, 44028, 44032,
- 44039, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 44046, 44049, 44053, 44057, 44063, 44069, 44075, 44083, 44090,
- 44094, 44102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 44107, 44110, 44113, 44116, 44119, 44122, 44125, 44128, 44131, 44134,
- 44138, 44142, 44146, 44150, 44154, 44158, 44162, 44166, 44170, 44174,
- 44178, 44181, 44184, 44187, 44190, 44193, 44196, 44199, 44202, 44205,
- 44209, 44213, 44217, 44221, 44225, 44229, 44233, 44237, 44241, 44245,
- 44249, 44255, 44261, 44267, 44274, 44281, 44288, 44295, 44302, 44309,
- 44316, 44323, 44330, 44337, 44344, 44351, 44358, 44365, 44372, 44379,
- 44386, 44391, 44397, 44403, 44409, 44414, 44420, 44426, 44432, 44437,
- 44443, 44449, 44454, 44459, 44465, 44470, 44476, 44482, 44487, 44493,
- 44499, 44504, 44510, 44516, 44522, 44528, 44534, 44539, 44545, 44551,
- 44557, 44562, 44568, 44574, 44580, 44585, 44591, 44597, 44602, 44607,
- 44613, 44618, 44624, 44630, 44635, 44641, 44647, 44652, 44658, 44664,
- 44670, 44676, 44682, 44687, 44693, 44699, 44705, 44710, 44716, 44722,
- 44728, 44733, 44739, 44745, 44750, 44755, 44761, 44766, 44772, 44778,
- 44783, 44789, 44795, 44800, 44806, 44812, 44818, 44824, 44830, 44834,
- 44839, 44844, 44849, 44854, 44859, 44864, 44869, 44874, 44879, 44884,
- 44888, 44892, 44896, 44900, 44904, 44908, 44912, 44916, 44920, 44925,
- 44930, 44935, 44940, 44945, 44950, 44959, 44968, 44977, 44986, 44995,
- 45004, 45013, 45022, 45029, 45037, 45045, 45052, 45059, 45067, 45075,
- 45082, 45089, 45097, 45105, 45112, 45119, 45127, 45135, 45142, 45149,
- 45157, 45166, 45175, 45183, 45192, 45201, 45208, 45215, 45223, 45232,
- 45241, 45249, 45258, 45267, 45274, 45281, 45290, 45299, 45307, 45315,
- 45324, 45333, 45340, 45347, 45356, 45365, 45373, 45381, 45390, 45399,
- 45406, 45413, 45422, 45431, 45439, 45448, 45457, 45465, 45475, 45485,
- 45495, 45505, 45514, 45523, 45532, 45541, 45548, 45556, 45564, 45572,
- 45580, 45585, 45590, 45599, 45607, 45614, 45623, 45631, 45638, 45647,
- 45655, 45662, 45671, 45679, 45686, 45695, 45703, 45710, 45719, 45727,
- 45734, 45743, 45751, 45758, 45767, 45775, 45782, 45791, 45799, 45806,
- 45815, 45824, 45833, 45842, 45856, 45870, 45877, 45882, 45887, 45892,
- 45897, 45902, 45907, 45912, 45917, 45925, 45933, 45941, 45949, 45954,
- 45961, 45968, 45975, 45980, 45988, 45995, 46003, 46007, 46014, 46020,
- 46027, 46031, 46037, 46043, 46049, 46053, 46056, 46060, 46064, 46071,
- 46077, 46083, 46089, 46095, 46109, 46119, 46133, 46147, 46153, 46163,
- 46177, 46180, 46183, 46190, 46198, 46203, 46208, 46216, 46228, 46240,
- 46248, 46252, 46256, 46259, 46262, 46266, 46270, 46273, 46276, 46281,
- 46286, 46292, 46298, 46303, 46308, 46314, 46320, 46325, 46330, 46335,
- 46340, 46346, 46352, 46357, 46362, 46368, 46374, 46379, 46384, 46387,
- 46390, 46399, 46401, 46403, 46406, 46410, 46416, 46418, 46421, 46428,
- 46435, 46443, 46451, 46461, 46475, 46480, 46485, 46489, 46494, 46502,
- 46510, 46519, 46528, 46537, 46546, 46551, 46556, 46562, 46568, 46574,
- 46580, 46583, 46589, 46595, 46605, 46615, 46623, 46631, 46640, 46649,
- 46653, 46661, 46669, 46677, 46685, 46694, 46703, 46712, 46721, 46726,
- 46731, 46736, 46741, 46746, 46752, 46758, 46763, 46769, 46771, 46773,
- 46775, 46777, 46780, 46783, 46785, 46787, 46789, 46793, 46797, 46799,
- 46801, 46804, 46807, 46811, 46817, 46823, 46825, 46832, 46836, 46841,
- 46846, 46848, 46858, 46864, 46870, 46876, 46882, 46888, 46894, 46899,
- 46902, 46905, 46908, 46910, 46912, 46916, 46920, 46925, 46930, 46935,
- 46938, 46942, 46947, 46950, 46954, 46959, 46964, 46969, 46974, 46979,
- 46984, 46989, 46994, 46999, 47004, 47009, 47014, 47020, 47026, 47032,
- 47034, 47037, 47039, 47042, 47044, 47046, 47048, 47050, 47052, 47054,
- 47056, 47058, 47060, 47062, 47064, 47066, 47068, 47070, 47072, 47074,
- 47076, 47081, 47086, 47091, 47096, 47101, 47106, 47111, 47116, 47121,
- 47126, 47131, 47136, 47141, 47146, 47151, 47156, 47161, 47166, 47171,
- 47176, 47180, 47184, 47188, 47194, 47200, 47205, 47210, 47215, 47220,
- 47225, 47230, 47238, 47246, 47254, 47262, 47270, 47278, 47286, 47294,
- 47300, 47305, 47310, 47315, 47318, 47322, 47326, 47330, 47334, 47338,
- 47342, 47349, 47356, 47364, 47372, 47377, 47382, 47389, 47396, 47403,
- 47410, 47413, 47416, 47421, 47423, 47427, 47432, 47434, 47436, 47438,
- 47440, 47445, 47448, 47450, 47455, 47462, 47469, 47472, 47476, 47481,
- 47486, 47494, 47500, 47506, 47518, 47525, 47532, 47537, 47542, 47548,
- 47551, 47554, 47559, 47561, 47565, 47567, 47569, 47571, 47573, 47575,
- 47577, 47582, 47584, 47586, 47588, 47590, 47594, 47596, 47599, 47604,
- 47609, 47614, 47619, 47625, 47631, 47633, 47636, 47643, 47650, 47657,
- 47664, 47668, 47672, 47674, 47676, 47680, 47686, 47691, 47693, 47697,
- 47706, 47714, 47722, 47728, 47734, 47739, 47745, 47750, 47753, 47767,
- 47770, 47775, 47780, 47786, 47796, 47798, 47804, 47810, 47814, 47821,
- 47825, 47827, 47829, 47833, 47839, 47844, 47850, 47852, 47858, 47860,
- 47866, 47868, 47870, 47875, 47877, 47881, 47886, 47888, 47893, 47898,
- 47902, 47909, 0, 47919, 47925, 47928, 47934, 47937, 47942, 47947, 47951,
- 47953, 47955, 47959, 47963, 47967, 47971, 47976, 47978, 47983, 47986,
- 47989, 47992, 47996, 48000, 48005, 48009, 48014, 48019, 48023, 48028,
- 48034, 48037, 48043, 48048, 48052, 48057, 48063, 48069, 48076, 48082,
- 48089, 48096, 48098, 48105, 48109, 48115, 48121, 48126, 48132, 48136,
- 48141, 48144, 48149, 48155, 48162, 48170, 48177, 48186, 48196, 48203,
- 48209, 48213, 48220, 48225, 48234, 48237, 48240, 48249, 48259, 48266,
- 48268, 48274, 48279, 48281, 48284, 48288, 48296, 48305, 48308, 48313,
- 48318, 48326, 48334, 48342, 48350, 48356, 48362, 48368, 48376, 48381,
- 48384, 48388, 48391, 48403, 48413, 48424, 48433, 48444, 48454, 48463,
- 48469, 48477, 48481, 48489, 48493, 48501, 48508, 48515, 48524, 48533,
- 48543, 48553, 48563, 48573, 48582, 48591, 48601, 48611, 48620, 48629,
- 48635, 48641, 48647, 48653, 48659, 48665, 48671, 48677, 48683, 48690,
- 48696, 48702, 48708, 48714, 48720, 48726, 48732, 48738, 48744, 48751,
- 48758, 48765, 48772, 48779, 48786, 48793, 48800, 48807, 48814, 48822,
- 48827, 48830, 48834, 48838, 48844, 48847, 48853, 48859, 48864, 48868,
- 48873, 48879, 48886, 48889, 48896, 48903, 48907, 48916, 48925, 48930,
- 48936, 48941, 48946, 48953, 48960, 48968, 48976, 48985, 48989, 48998,
- 49003, 49007, 49014, 49018, 49025, 49033, 49038, 49046, 49050, 49055,
- 49059, 49064, 49068, 49073, 49078, 49087, 49089, 49092, 49095, 49102,
- 49109, 49114, 49122, 49128, 49134, 49139, 49142, 49147, 49152, 49157,
- 49165, 49169, 49176, 49184, 49192, 49197, 49202, 49208, 49213, 49218,
- 49224, 49229, 49232, 49236, 49240, 49247, 49256, 49261, 49270, 49279,
- 49285, 49291, 49296, 49301, 49306, 49311, 49317, 49323, 49331, 49339,
- 49345, 49351, 49356, 49361, 49368, 49375, 49381, 49384, 49387, 49391,
- 49395, 49399, 49404, 49410, 49416, 49423, 49430, 49435, 49439, 49443,
- 49447, 49451, 49455, 49459, 49463, 49467, 49471, 49475, 49479, 49483,
- 49487, 49491, 49495, 49499, 49503, 49507, 49511, 49515, 49519, 49523,
- 49527, 49531, 49535, 49539, 49543, 49547, 49551, 49555, 49559, 49563,
- 49567, 49571, 49575, 49579, 49583, 49587, 49591, 49595, 49599, 49603,
- 49607, 49611, 49615, 49619, 49623, 49627, 49631, 49635, 49639, 49643,
- 49647, 49651, 49655, 49659, 49663, 49667, 49671, 49675, 49679, 49683,
- 49687, 49691, 49695, 49699, 49703, 49707, 49711, 49715, 49719, 49723,
- 49727, 49731, 49735, 49739, 49743, 49747, 49751, 49755, 49759, 49763,
- 49767, 49771, 49775, 49779, 49783, 49787, 49791, 49795, 49799, 49803,
- 49807, 49811, 49815, 49819, 49823, 49827, 49831, 49835, 49839, 49843,
- 49847, 49851, 49855, 49859, 49863, 49867, 49871, 49875, 49879, 49883,
- 49887, 49891, 49895, 49899, 49903, 49907, 49911, 49915, 49919, 49923,
- 49927, 49931, 49935, 49939, 49943, 49947, 49951, 49955, 49959, 49963,
- 49967, 49971, 49975, 49979, 49983, 49987, 49991, 49995, 49999, 50003,
- 50007, 50011, 50015, 50019, 50023, 50027, 50031, 50035, 50039, 50043,
- 50047, 50051, 50055, 50059, 50063, 50067, 50071, 50075, 50079, 50083,
- 50087, 50091, 50095, 50099, 50103, 50107, 50111, 50115, 50119, 50123,
- 50127, 50131, 50135, 50139, 50143, 50147, 50151, 50155, 50159, 50163,
- 50167, 50171, 50175, 50179, 50183, 50187, 50191, 50195, 50199, 50203,
- 50207, 50211, 50215, 50219, 50223, 50227, 50231, 50235, 50239, 50243,
- 50247, 50251, 50255, 50259, 50263, 50267, 50271, 50275, 50279, 50283,
- 50287, 50291, 50295, 50299, 50303, 50307, 50311, 50315, 50319, 50323,
- 50327, 50331, 50335, 50339, 50343, 50347, 50351, 50355, 50359, 50363,
- 50367, 50371, 50375, 50379, 50383, 50387, 50391, 50395, 50399, 50403,
- 50407, 50411, 50415, 50419, 50423, 50427, 50431, 50435, 50439, 50443,
- 50447, 50451, 50455, 50459, 50466, 50474, 50480, 50486, 50493, 50500,
- 50506, 50512, 50518, 50524, 50529, 50534, 50539, 50544, 50550, 50556,
- 50564, 50571, 50577, 50583, 50591, 50600, 50607, 50617, 50628, 50631,
- 50634, 50638, 50642, 50649, 50656, 50667, 50678, 50688, 50698, 50705,
- 50712, 50719, 50726, 50737, 50748, 50759, 50770, 50780, 50790, 50802,
- 50814, 50825, 50836, 50848, 50860, 50869, 50879, 50889, 50900, 50911,
- 50918, 50925, 50932, 50939, 50949, 50959, 50967, 50975, 50982, 50989,
- 50996, 51003, 51010, 51015, 51020, 51026, 51034, 51044, 51054, 51064,
- 51074, 51084, 51094, 51104, 51114, 51124, 51134, 51144, 51155, 51166,
- 51176, 51186, 51197, 51208, 51218, 51228, 51239, 51250, 51260, 51270,
- 51281, 51292, 51308, 51327, 51343, 51362, 51378, 51394, 51410, 51426,
- 51437, 51449, 51460, 51472, 51491, 51510, 51518, 51524, 51531, 51538,
- 51545, 51552, 51557, 51563, 51568, 51573, 51579, 51584, 51589, 51594,
- 51599, 51604, 51611, 51616, 51623, 51628, 51633, 51637, 51641, 51648,
- 51655, 51662, 51669, 51676, 51683, 51696, 51709, 51722, 51735, 51743,
- 51751, 51757, 51763, 51770, 51777, 51784, 51791, 51795, 51800, 51808,
- 51816, 51824, 51831, 51835, 51843, 51851, 51855, 51859, 51864, 51871,
- 51879, 51887, 51906, 51925, 51944, 51963, 51982, 52001, 52020, 52039,
- 52045, 52052, 52061, 52069, 52077, 52082, 52085, 52088, 52093, 52096,
- 52115, 52122, 52128, 52134, 52138, 52141, 52144, 52147, 52159, 52172,
- 52179, 52186, 52189, 52193, 52196, 52201, 52206, 52211, 52217, 52226,
- 52233, 52240, 52248, 52255, 52262, 52265, 52271, 52277, 52280, 52283,
- 52288, 52293, 52299, 52305, 52309, 52314, 52321, 52325, 52331, 52335,
- 52339, 52347, 52359, 52368, 52372, 52374, 52383, 52392, 52398, 52401,
- 52407, 52413, 52418, 52423, 52428, 52433, 52438, 52443, 52445, 52451,
- 52456, 52463, 52467, 52473, 52476, 52480, 52487, 52494, 52496, 52498,
- 52504, 52510, 52516, 52525, 52534, 52541, 52548, 52554, 52560, 52565,
- 52570, 52575, 52581, 52587, 52592, 52599, 52603, 52607, 52620, 52633,
- 52645, 52654, 52660, 52667, 52672, 52677, 52682, 52687, 52692, 52694,
- 52701, 52708, 52715, 52722, 52729, 52737, 52743, 52748, 52754, 52760,
- 52766, 52773, 52779, 52787, 52795, 52803, 52811, 52818, 52824, 52830,
- 52839, 52843, 52852, 52861, 52870, 52878, 52882, 52888, 52895, 52902,
- 52906, 52912, 52919, 52924, 52929, 52935, 52940, 52945, 52952, 52959,
- 52964, 52969, 52977, 52985, 52995, 53005, 53012, 53019, 53023, 53027,
- 53039, 53045, 53051, 53056, 53061, 53068, 53075, 53081, 53087, 53096,
- 53104, 53112, 53119, 53126, 53133, 53139, 53146, 53152, 53159, 53166,
- 53173, 53180, 53186, 53191, 53200, 53210, 53217, 53226, 53232, 53237,
- 53242, 53252, 53258, 53264, 53270, 53278, 53283, 53290, 53297, 53308,
- 53315, 53322, 53329, 53336, 53343, 53350, 53357, 53369, 53381, 53392,
- 53403, 53416, 53429, 53434, 53439, 53448, 53457, 53464, 53471, 53480,
- 53489, 53497, 53505, 53513, 53521, 53531, 53541, 53555, 53569, 53577,
- 53585, 53597, 53609, 53617, 53625, 53635, 53645, 53650, 53655, 53664,
- 53673, 53678, 53683, 53691, 53697, 53703, 53711, 53719, 53732, 53745,
- 53749, 53753, 53760, 53767, 53774, 53782, 53790, 53799, 53808, 53814,
- 53820, 53827, 53834, 53841, 53848, 53857, 53866, 53869, 53872, 53877,
- 53882, 53888, 53894, 53901, 53908, 53918, 53928, 53935, 53942, 53950,
- 53958, 53966, 53974, 53982, 53990, 53996, 54002, 54006, 54010, 54017,
- 54024, 54029, 54034, 54039, 54044, 54050, 54064, 54071, 54078, 54082,
- 54084, 54086, 54091, 54096, 54101, 54106, 54114, 54121, 54128, 54136,
- 54148, 54156, 54164, 54175, 54179, 54183, 54189, 54197, 54210, 54217,
- 54224, 54231, 54236, 54243, 54252, 54260, 54266, 54272, 54278, 54287,
- 54296, 54304, 54313, 54318, 54321, 54326, 54332, 54338, 54344, 54350,
- 54354, 54357, 54361, 54365, 54371, 54377, 54383, 54389, 54393, 54397,
- 54404, 54411, 54418, 54425, 54432, 54439, 54449, 54459, 54466, 54473,
- 54481, 54489, 54493, 54498, 54503, 54509, 54515, 54518, 54521, 54524,
- 54527, 54531, 54536, 54541, 54546, 54551, 54556, 54560, 54564, 54568,
- 54572, 54576, 54580, 54584, 54590, 54594, 54600, 54605, 54612, 54620,
- 54627, 54635, 54642, 54650, 54659, 54666, 54676, 54687, 54693, 54702,
- 54708, 54717, 54726, 54732, 54738, 54742, 54746, 54755, 54764, 54771,
- 54778, 54787, 0, 0, 0, 54796, 54801, 54805, 54809, 54814, 54819, 54824,
- 54832, 54840, 54843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 39381, 39384, 39387, 39390, 39395, 39398, 39401, 39406, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39411, 39416, 39421, 39428,
+ 39436, 39441, 39446, 39450, 39454, 39459, 39466, 39473, 39477, 39482,
+ 39487, 39492, 39497, 39504, 39509, 39514, 39519, 39528, 39535, 39542,
+ 39546, 39551, 39557, 39562, 39569, 39578, 39587, 39591, 39595, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39599, 39603, 39611, 39615, 39619,
+ 39624, 39628, 39632, 39636, 39638, 39642, 39646, 39650, 39655, 39659,
+ 39663, 39671, 39674, 39678, 39681, 39684, 39690, 39694, 39697, 39703,
+ 39707, 39711, 39715, 39718, 39722, 39725, 39729, 39731, 39734, 39737,
+ 39741, 39743, 39747, 39750, 39753, 39758, 39763, 39770, 39773, 39776,
+ 39780, 39785, 39788, 39791, 39794, 39798, 39803, 39806, 39809, 39811,
+ 39814, 39817, 39820, 39824, 39829, 39832, 39836, 39840, 39844, 39848,
+ 39853, 39859, 39864, 39869, 39875, 39880, 39885, 39889, 39893, 39898,
+ 39902, 39906, 39909, 39911, 39916, 39922, 39929, 39936, 39943, 39950,
+ 39957, 39964, 39971, 39978, 39986, 39993, 40001, 40008, 40015, 40023,
+ 40031, 40036, 40041, 40046, 40051, 40056, 40061, 40066, 40071, 40076,
+ 40081, 40087, 40093, 40099, 40105, 40112, 40120, 40127, 40133, 40139,
+ 40145, 40151, 40157, 40163, 40169, 40175, 40181, 40188, 40195, 40202,
+ 40209, 40217, 40226, 40234, 40245, 40253, 40261, 40270, 40277, 40286,
+ 40295, 40303, 40312, 0, 0, 0, 0, 0, 0, 40320, 40322, 40325, 40327, 40330,
+ 40333, 40336, 40341, 40346, 40351, 40356, 40360, 40364, 40368, 40372,
+ 40377, 40383, 40388, 40394, 40399, 40404, 40409, 40415, 40420, 40426,
+ 40432, 40436, 40440, 40445, 40450, 40455, 40460, 40465, 40473, 40481,
+ 40489, 40497, 40504, 40512, 40519, 40526, 40535, 40547, 40553, 40559,
+ 40567, 40575, 40584, 40593, 40601, 40609, 40618, 40627, 40632, 40640,
+ 40645, 40650, 40656, 40661, 40667, 40674, 40681, 40686, 40692, 40697,
+ 40700, 40704, 40707, 40711, 40715, 40719, 40725, 40731, 40737, 40743,
+ 40747, 40751, 40755, 40759, 40765, 40771, 40775, 40780, 40784, 40789,
+ 40794, 40799, 40802, 40806, 40809, 40813, 40820, 40828, 40839, 40850,
+ 40855, 40864, 40871, 40880, 40889, 40893, 40899, 40907, 40911, 40916,
+ 40921, 40927, 40933, 40939, 40946, 40950, 40954, 40959, 40962, 40964,
+ 40968, 40972, 40980, 40984, 40986, 40988, 40992, 41000, 41005, 41011,
+ 41021, 41028, 41033, 41037, 41041, 41045, 41048, 41051, 41054, 41058,
+ 41062, 41066, 41070, 41074, 41077, 41081, 41085, 41088, 41090, 41093,
+ 41095, 41099, 41103, 41105, 41111, 41114, 41119, 41123, 41127, 41129,
+ 41131, 41133, 41136, 41140, 41144, 41148, 41152, 41156, 41162, 41168,
+ 41170, 41172, 41174, 41176, 41179, 41181, 41185, 41187, 41191, 41194,
+ 41200, 41204, 41208, 41211, 41214, 41218, 41224, 41228, 41238, 41248,
+ 41252, 41258, 41264, 41267, 41271, 41274, 41279, 41283, 41289, 41293,
+ 41305, 41313, 41317, 41321, 41327, 41331, 41334, 41336, 41339, 41343,
+ 41347, 41354, 41358, 41362, 41366, 41369, 41374, 41379, 41384, 41389,
+ 41394, 41399, 41407, 41415, 41419, 41423, 41425, 41430, 41434, 41438,
+ 41446, 41454, 41460, 41466, 41475, 41484, 41489, 41494, 41502, 41510,
+ 41512, 41514, 41519, 41524, 41530, 41536, 41542, 41548, 41552, 41556,
+ 41563, 41570, 41576, 41582, 41592, 41602, 41610, 41618, 41620, 41624,
+ 41628, 41633, 41638, 41645, 41652, 41655, 41658, 41661, 41664, 41667,
+ 41672, 41676, 41681, 41686, 41689, 41692, 41695, 41698, 41701, 41705,
+ 41708, 41711, 41714, 41717, 41719, 41721, 41723, 41725, 41733, 41741,
+ 41747, 41751, 41757, 41767, 41773, 41779, 41785, 41793, 41801, 41812,
+ 41816, 41820, 41822, 41828, 41830, 41832, 41834, 41836, 41842, 41845,
+ 41851, 41857, 41861, 41865, 41869, 41872, 41876, 41880, 41882, 41891,
+ 41900, 41905, 41910, 41916, 41922, 41928, 41931, 41934, 41937, 41940,
+ 41942, 41947, 41952, 41957, 41963, 41969, 41977, 41985, 41991, 41997,
+ 42003, 42009, 42018, 42027, 42036, 42045, 42054, 42063, 42072, 42081,
+ 42090, 42099, 42107, 42119, 42129, 42144, 42147, 42152, 42158, 42164,
+ 42171, 42185, 42200, 42206, 42212, 42219, 42225, 42233, 42239, 42252,
+ 42266, 42271, 42277, 42284, 42287, 42290, 42292, 42295, 42298, 42300,
+ 42302, 42306, 42309, 42312, 42315, 42318, 42323, 42328, 42333, 42338,
+ 42343, 42346, 42348, 42350, 42352, 42356, 42360, 42364, 42370, 42375,
+ 42377, 42379, 42384, 42389, 42394, 42399, 42404, 42409, 42411, 42413,
+ 42422, 42426, 42434, 42443, 42445, 42450, 42455, 42463, 42467, 42469,
+ 42473, 42475, 42479, 42483, 42487, 42489, 42491, 42493, 42500, 42509,
+ 42518, 42527, 42536, 42545, 42554, 42563, 42572, 42580, 42588, 42597,
+ 42606, 42615, 42624, 42632, 42640, 42649, 42658, 42667, 42677, 42686,
+ 42696, 42705, 42715, 42724, 42734, 42744, 42753, 42763, 42772, 42782,
+ 42791, 42801, 42810, 42819, 42828, 42837, 42846, 42856, 42865, 42874,
+ 42883, 42893, 42902, 42911, 42920, 42929, 42939, 42949, 42958, 42967,
+ 42975, 42983, 42990, 42998, 43007, 43018, 43027, 43036, 43045, 43052,
+ 43059, 43066, 43075, 43084, 43093, 43102, 43109, 43114, 43123, 43128,
+ 43131, 43139, 43142, 43147, 43152, 43155, 43158, 43166, 43169, 43174,
+ 43177, 43184, 43189, 43197, 43200, 43203, 43206, 43211, 43216, 43219,
+ 43222, 43230, 43233, 43240, 43247, 43251, 43255, 43260, 43265, 43271,
+ 43276, 43282, 43288, 43293, 43299, 43307, 43313, 43321, 43329, 43335,
+ 43343, 43351, 43360, 43368, 43374, 43382, 43391, 43399, 43403, 43408,
+ 43421, 43434, 43438, 43442, 43446, 43450, 43460, 43464, 43469, 43474,
+ 43479, 43484, 43489, 43494, 43504, 43514, 43522, 43532, 43542, 43550,
+ 43560, 43570, 43578, 43588, 43598, 43606, 43614, 43624, 43634, 43637,
+ 43640, 43643, 43648, 43652, 43658, 43665, 43672, 43680, 43687, 43691,
+ 43695, 43699, 43703, 43705, 43709, 43713, 43718, 43723, 43730, 43737,
+ 43740, 43747, 43749, 43751, 43755, 43759, 43764, 43770, 43776, 43782,
+ 43788, 43797, 43806, 43815, 43819, 43821, 43825, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 43832, 43836, 43843, 43850, 43857, 43864, 43868, 43872,
+ 43876, 43880, 43885, 43891, 43896, 43902, 43908, 43914, 43920, 43928,
+ 43935, 43942, 43949, 43956, 43961, 43967, 43976, 43980, 43987, 43991,
+ 43995, 44001, 44007, 44013, 44019, 44023, 44027, 44030, 44033, 44037,
+ 44044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 44051, 44054, 44058, 44062, 44068, 44074, 44080, 44088, 44095,
+ 44099, 44107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 44112, 44115, 44118, 44121, 44124, 44127, 44130, 44133, 44136, 44139,
+ 44143, 44147, 44151, 44155, 44159, 44163, 44167, 44171, 44175, 44179,
+ 44183, 44186, 44189, 44192, 44195, 44198, 44201, 44204, 44207, 44210,
+ 44214, 44218, 44222, 44226, 44230, 44234, 44238, 44242, 44246, 44250,
+ 44254, 44260, 44266, 44272, 44279, 44286, 44293, 44300, 44307, 44314,
+ 44321, 44328, 44335, 44342, 44349, 44356, 44363, 44370, 44377, 44384,
+ 44391, 44396, 44402, 44408, 44414, 44419, 44425, 44431, 44437, 44442,
+ 44448, 44454, 44459, 44464, 44470, 44475, 44481, 44487, 44492, 44498,
+ 44504, 44509, 44515, 44521, 44527, 44533, 44539, 44544, 44550, 44556,
+ 44562, 44567, 44573, 44579, 44585, 44590, 44596, 44602, 44607, 44612,
+ 44618, 44623, 44629, 44635, 44640, 44646, 44652, 44657, 44663, 44669,
+ 44675, 44681, 44687, 44692, 44698, 44704, 44710, 44715, 44721, 44727,
+ 44733, 44738, 44744, 44750, 44755, 44760, 44766, 44771, 44777, 44783,
+ 44788, 44794, 44800, 44805, 44811, 44817, 44823, 44829, 44835, 44839,
+ 44844, 44849, 44854, 44859, 44864, 44869, 44874, 44879, 44884, 44889,
+ 44893, 44897, 44901, 44905, 44909, 44913, 44917, 44921, 44925, 44930,
+ 44935, 44940, 44945, 44950, 44955, 44964, 44973, 44982, 44991, 45000,
+ 45009, 45018, 45027, 45034, 45042, 45050, 45057, 45064, 45072, 45080,
+ 45087, 45094, 45102, 45110, 45117, 45124, 45132, 45140, 45147, 45154,
+ 45162, 45171, 45180, 45188, 45197, 45206, 45213, 45220, 45228, 45237,
+ 45246, 45254, 45263, 45272, 45279, 45286, 45295, 45304, 45312, 45320,
+ 45329, 45338, 45345, 45352, 45361, 45370, 45378, 45386, 45395, 45404,
+ 45411, 45418, 45427, 45436, 45444, 45453, 45462, 45470, 45480, 45490,
+ 45500, 45510, 45519, 45528, 45537, 45546, 45553, 45561, 45569, 45577,
+ 45585, 45590, 45595, 45604, 45612, 45619, 45628, 45636, 45643, 45652,
+ 45660, 45667, 45676, 45684, 45691, 45700, 45708, 45715, 45724, 45732,
+ 45739, 45748, 45756, 45763, 45772, 45780, 45787, 45796, 45804, 45811,
+ 45820, 45829, 45838, 45847, 45861, 45875, 45882, 45887, 45892, 45897,
+ 45902, 45907, 45912, 45917, 45922, 45930, 45938, 45946, 45954, 45959,
+ 45966, 45973, 45980, 45985, 45993, 46000, 46008, 46012, 46019, 46025,
+ 46032, 46036, 46042, 46048, 46054, 46058, 46061, 46065, 46069, 46076,
+ 46082, 46088, 46094, 46100, 46114, 46124, 46138, 46152, 46158, 46168,
+ 46182, 46185, 46188, 46195, 46203, 46208, 46213, 46221, 46233, 46245,
+ 46253, 46257, 46261, 46264, 46267, 46271, 46275, 46278, 46281, 46286,
+ 46291, 46297, 46303, 46308, 46313, 46319, 46325, 46330, 46335, 46340,
+ 46345, 46351, 46357, 46362, 46367, 46373, 46379, 46384, 46389, 46392,
+ 46395, 46404, 46406, 46408, 46411, 46415, 46421, 46423, 46426, 46433,
+ 46440, 46448, 46456, 46466, 46480, 46485, 46490, 46494, 46499, 46507,
+ 46515, 46524, 46533, 46542, 46551, 46556, 46561, 46567, 46573, 46579,
+ 46585, 46588, 46594, 46600, 46610, 46620, 46628, 46636, 46645, 46654,
+ 46658, 46666, 46674, 46682, 46690, 46699, 46708, 46717, 46726, 46731,
+ 46736, 46741, 46746, 46751, 46757, 46763, 46768, 46774, 46776, 46778,
+ 46780, 46782, 46785, 46788, 46790, 46792, 46794, 46798, 46802, 46804,
+ 46806, 46809, 46812, 46816, 46822, 46828, 46830, 46837, 46841, 46846,
+ 46851, 46853, 46863, 46869, 46875, 46881, 46887, 46893, 46899, 46904,
+ 46907, 46910, 46913, 46915, 46917, 46921, 46925, 46930, 46935, 46940,
+ 46943, 46947, 46952, 46955, 46959, 46964, 46969, 46974, 46979, 46984,
+ 46989, 46994, 46999, 47004, 47009, 47014, 47019, 47025, 47031, 47037,
+ 47039, 47042, 47044, 47047, 47049, 47051, 47053, 47055, 47057, 47059,
+ 47061, 47063, 47065, 47067, 47069, 47071, 47073, 47075, 47077, 47079,
+ 47081, 47086, 47091, 47096, 47101, 47106, 47111, 47116, 47121, 47126,
+ 47131, 47136, 47141, 47146, 47151, 47156, 47161, 47166, 47171, 47176,
+ 47181, 47185, 47189, 47193, 47199, 47205, 47210, 47215, 47220, 47225,
+ 47230, 47235, 47243, 47251, 47259, 47267, 47275, 47283, 47291, 47299,
+ 47305, 47310, 47315, 47320, 47323, 47327, 47331, 47335, 47339, 47343,
+ 47347, 47354, 47361, 47369, 47377, 47382, 47387, 47394, 47401, 47408,
+ 47415, 47418, 47421, 47426, 47428, 47432, 47437, 47439, 47441, 47443,
+ 47445, 47450, 47453, 47455, 47460, 47467, 47474, 47477, 47481, 47486,
+ 47491, 47499, 47505, 47511, 47523, 47530, 47537, 47542, 47547, 47553,
+ 47556, 47559, 47564, 47566, 47570, 47572, 47574, 47576, 47578, 47580,
+ 47582, 47587, 47589, 47591, 47593, 47595, 47599, 47601, 47604, 47609,
+ 47614, 47619, 47624, 47630, 47636, 47638, 47641, 47648, 47655, 47662,
+ 47669, 47673, 47677, 47679, 47681, 47685, 47691, 47696, 47698, 47702,
+ 47711, 47719, 47727, 47733, 47739, 47744, 47750, 47755, 47758, 47772,
+ 47775, 47780, 47785, 47791, 47801, 47803, 47809, 47815, 47819, 47826,
+ 47830, 47832, 47834, 47838, 47844, 47849, 47855, 47857, 47863, 47865,
+ 47871, 47873, 47875, 47880, 47882, 47886, 47891, 47893, 47898, 47903,
+ 47907, 47914, 0, 47924, 47930, 47933, 47939, 47942, 47947, 47952, 47956,
+ 47958, 47960, 47964, 47968, 47972, 47976, 47981, 47983, 47988, 47991,
+ 47994, 47997, 48001, 48005, 48010, 48014, 48019, 48024, 48028, 48033,
+ 48039, 48042, 48048, 48053, 48057, 48062, 48068, 48074, 48081, 48087,
+ 48094, 48101, 48103, 48110, 48114, 48120, 48126, 48131, 48137, 48141,
+ 48146, 48149, 48154, 48160, 48167, 48175, 48182, 48191, 48201, 48208,
+ 48214, 48218, 48225, 48230, 48239, 48242, 48245, 48254, 48264, 48271,
+ 48273, 48279, 48284, 48286, 48289, 48293, 48301, 48310, 48313, 48318,
+ 48323, 48331, 48339, 48347, 48355, 48361, 48367, 48373, 48381, 48386,
+ 48389, 48393, 48396, 48408, 48418, 48429, 48438, 48449, 48459, 48468,
+ 48474, 48482, 48486, 48494, 48498, 48506, 48513, 48520, 48529, 48538,
+ 48548, 48558, 48568, 48578, 48587, 48596, 48606, 48616, 48625, 48634,
+ 48640, 48646, 48652, 48658, 48664, 48670, 48676, 48682, 48688, 48695,
+ 48701, 48707, 48713, 48719, 48725, 48731, 48737, 48743, 48749, 48756,
+ 48763, 48770, 48777, 48784, 48791, 48798, 48805, 48812, 48819, 48827,
+ 48832, 48835, 48839, 48843, 48849, 48852, 48858, 48864, 48869, 48873,
+ 48878, 48884, 48891, 48894, 48901, 48908, 48912, 48921, 48930, 48935,
+ 48941, 48946, 48951, 48958, 48965, 48973, 48981, 48990, 48994, 49003,
+ 49008, 49012, 49019, 49023, 49030, 49038, 49043, 49051, 49055, 49060,
+ 49064, 49069, 49073, 49078, 49083, 49092, 49094, 49097, 49100, 49107,
+ 49114, 49119, 49127, 49133, 49139, 49144, 49147, 49152, 49157, 49162,
+ 49170, 49174, 49181, 49189, 49197, 49202, 49207, 49213, 49218, 49223,
+ 49229, 49234, 49237, 49241, 49245, 49252, 49261, 49266, 49275, 49284,
+ 49290, 49296, 49301, 49306, 49311, 49316, 49322, 49328, 49336, 49344,
+ 49350, 49356, 49361, 49366, 49373, 49380, 49386, 49389, 49392, 49396,
+ 49400, 49404, 49409, 49415, 49421, 49428, 49435, 49440, 49444, 49448,
+ 49452, 49456, 49460, 49464, 49468, 49472, 49476, 49480, 49484, 49488,
+ 49492, 49496, 49500, 49504, 49508, 49512, 49516, 49520, 49524, 49528,
+ 49532, 49536, 49540, 49544, 49548, 49552, 49556, 49560, 49564, 49568,
+ 49572, 49576, 49580, 49584, 49588, 49592, 49596, 49600, 49604, 49608,
+ 49612, 49616, 49620, 49624, 49628, 49632, 49636, 49640, 49644, 49648,
+ 49652, 49656, 49660, 49664, 49668, 49672, 49676, 49680, 49684, 49688,
+ 49692, 49696, 49700, 49704, 49708, 49712, 49716, 49720, 49724, 49728,
+ 49732, 49736, 49740, 49744, 49748, 49752, 49756, 49760, 49764, 49768,
+ 49772, 49776, 49780, 49784, 49788, 49792, 49796, 49800, 49804, 49808,
+ 49812, 49816, 49820, 49824, 49828, 49832, 49836, 49840, 49844, 49848,
+ 49852, 49856, 49860, 49864, 49868, 49872, 49876, 49880, 49884, 49888,
+ 49892, 49896, 49900, 49904, 49908, 49912, 49916, 49920, 49924, 49928,
+ 49932, 49936, 49940, 49944, 49948, 49952, 49956, 49960, 49964, 49968,
+ 49972, 49976, 49980, 49984, 49988, 49992, 49996, 50000, 50004, 50008,
+ 50012, 50016, 50020, 50024, 50028, 50032, 50036, 50040, 50044, 50048,
+ 50052, 50056, 50060, 50064, 50068, 50072, 50076, 50080, 50084, 50088,
+ 50092, 50096, 50100, 50104, 50108, 50112, 50116, 50120, 50124, 50128,
+ 50132, 50136, 50140, 50144, 50148, 50152, 50156, 50160, 50164, 50168,
+ 50172, 50176, 50180, 50184, 50188, 50192, 50196, 50200, 50204, 50208,
+ 50212, 50216, 50220, 50224, 50228, 50232, 50236, 50240, 50244, 50248,
+ 50252, 50256, 50260, 50264, 50268, 50272, 50276, 50280, 50284, 50288,
+ 50292, 50296, 50300, 50304, 50308, 50312, 50316, 50320, 50324, 50328,
+ 50332, 50336, 50340, 50344, 50348, 50352, 50356, 50360, 50364, 50368,
+ 50372, 50376, 50380, 50384, 50388, 50392, 50396, 50400, 50404, 50408,
+ 50412, 50416, 50420, 50424, 50428, 50432, 50436, 50440, 50444, 50448,
+ 50452, 50456, 50460, 50464, 50471, 50479, 50485, 50491, 50498, 50505,
+ 50511, 50517, 50523, 50529, 50534, 50539, 50544, 50549, 50555, 50561,
+ 50569, 50576, 50582, 50588, 50596, 50605, 50612, 50622, 50633, 50636,
+ 50639, 50643, 50647, 50654, 50661, 50672, 50683, 50693, 50703, 50710,
+ 50717, 50724, 50731, 50742, 50753, 50764, 50775, 50785, 50795, 50807,
+ 50819, 50830, 50841, 50853, 50865, 50874, 50884, 50894, 50905, 50916,
+ 50923, 50930, 50937, 50944, 50954, 50964, 50972, 50980, 50987, 50994,
+ 51001, 51008, 51015, 51020, 51025, 51031, 51039, 51049, 51059, 51069,
+ 51079, 51089, 51099, 51109, 51119, 51129, 51139, 51149, 51160, 51171,
+ 51181, 51191, 51202, 51213, 51223, 51233, 51244, 51255, 51265, 51275,
+ 51286, 51297, 51313, 51332, 51348, 51367, 51383, 51399, 51415, 51431,
+ 51442, 51454, 51465, 51477, 51496, 51515, 51523, 51529, 51536, 51543,
+ 51550, 51557, 51562, 51568, 51573, 51578, 51584, 51589, 51594, 51599,
+ 51604, 51609, 51616, 51621, 51628, 51633, 51638, 51642, 51646, 51653,
+ 51660, 51667, 51674, 51681, 51688, 51701, 51714, 51727, 51740, 51748,
+ 51756, 51762, 51768, 51775, 51782, 51789, 51796, 51800, 51805, 51813,
+ 51821, 51829, 51836, 51840, 51848, 51856, 51860, 51864, 51869, 51876,
+ 51884, 51892, 51911, 51930, 51949, 51968, 51987, 52006, 52025, 52044,
+ 52050, 52057, 52066, 52074, 52082, 52087, 52090, 52093, 52098, 52101,
+ 52120, 52127, 52133, 52139, 52143, 52146, 52149, 52152, 52164, 52177,
+ 52184, 52191, 52194, 52198, 52201, 52206, 52211, 52216, 52222, 52231,
+ 52238, 52245, 52253, 52260, 52267, 52270, 52276, 52282, 52285, 52288,
+ 52293, 52298, 52304, 52310, 52314, 52319, 52326, 52330, 52336, 52340,
+ 52344, 52352, 52364, 52373, 52377, 52379, 52388, 52397, 52403, 52406,
+ 52412, 52418, 52423, 52428, 52433, 52438, 52443, 52448, 52450, 52456,
+ 52461, 52468, 52472, 52478, 52481, 52485, 52492, 52499, 52501, 52503,
+ 52509, 52515, 52521, 52530, 52539, 52546, 52553, 52559, 52565, 52570,
+ 52575, 52580, 52586, 52592, 52597, 52604, 52608, 52612, 52625, 52638,
+ 52650, 52659, 52665, 52672, 52677, 52682, 52687, 52692, 52697, 52699,
+ 52706, 52713, 52720, 52727, 52734, 52742, 52748, 52753, 52759, 52765,
+ 52771, 52778, 52784, 52792, 52800, 52808, 52816, 52823, 52829, 52835,
+ 52844, 52848, 52857, 52866, 52875, 52883, 52887, 52893, 52900, 52907,
+ 52911, 52917, 52924, 52929, 52934, 52940, 52945, 52950, 52957, 52964,
+ 52969, 52974, 52982, 52990, 53000, 53010, 53017, 53024, 53028, 53032,
+ 53044, 53050, 53056, 53061, 53066, 53073, 53080, 53086, 53092, 53101,
+ 53109, 53117, 53124, 53131, 53138, 53144, 53151, 53157, 53164, 53171,
+ 53178, 53185, 53191, 53196, 53205, 53215, 53222, 53231, 53237, 53242,
+ 53247, 53257, 53263, 53269, 53275, 53283, 53288, 53295, 53302, 53313,
+ 53320, 53327, 53334, 53341, 53348, 53355, 53362, 53374, 53386, 53397,
+ 53408, 53421, 53434, 53439, 53444, 53453, 53462, 53469, 53476, 53485,
+ 53494, 53502, 53510, 53518, 53526, 53536, 53546, 53560, 53574, 53582,
+ 53590, 53602, 53614, 53622, 53630, 53640, 53650, 53655, 53660, 53669,
+ 53678, 53683, 53688, 53696, 53702, 53708, 53716, 53724, 53737, 53750,
+ 53754, 53758, 53765, 53772, 53779, 53787, 53795, 53804, 53813, 53819,
+ 53825, 53832, 53839, 53846, 53853, 53862, 53871, 53874, 53877, 53882,
+ 53887, 53893, 53899, 53906, 53913, 53923, 53933, 53940, 53947, 53955,
+ 53963, 53971, 53979, 53987, 53995, 54001, 54007, 54011, 54015, 54022,
+ 54029, 54034, 54039, 54044, 54049, 54055, 54069, 54076, 54083, 54087,
+ 54089, 54091, 54096, 54101, 54106, 54111, 54119, 54126, 54133, 54141,
+ 54153, 54161, 54169, 54180, 54184, 54188, 54194, 54202, 54215, 54222,
+ 54229, 54236, 54241, 54248, 54257, 54265, 54271, 54277, 54283, 54292,
+ 54301, 54309, 54318, 54323, 54326, 54331, 54337, 54343, 54349, 54355,
+ 54359, 54362, 54366, 54370, 54376, 54382, 54388, 54394, 54398, 54402,
+ 54409, 54416, 54423, 54430, 54437, 54444, 54454, 54464, 54471, 54478,
+ 54486, 54494, 54498, 54503, 54508, 54514, 54520, 54523, 54526, 54529,
+ 54532, 54536, 54541, 54546, 54551, 54556, 54561, 54565, 54569, 54573,
+ 54577, 54581, 54585, 54589, 54595, 54599, 54605, 54610, 54617, 54625,
+ 54632, 54640, 54647, 54655, 54664, 54671, 54681, 54692, 54698, 54707,
+ 54713, 54722, 54731, 54737, 54743, 54747, 54751, 54760, 54769, 54776,
+ 54783, 54792, 0, 0, 0, 54801, 54806, 54810, 54814, 54819, 54824, 54829,
+ 54837, 54845, 54848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 54847, 54852, 54857, 54862, 54867, 54872, 54877, 54882,
- 54887, 54892, 54897, 54903, 54907, 54912, 54917, 54922, 54927, 54932,
- 54937, 54942, 54947, 54952, 54957, 54962, 54967, 54972, 54977, 54982,
- 54987, 54992, 54997, 55002, 55007, 55012, 55017, 55023, 55028, 55034,
- 55043, 55048, 55056, 55063, 55072, 55077, 55082, 55087, 55093, 0, 55100,
- 55105, 55110, 55115, 55120, 55125, 55130, 55135, 55140, 55145, 55150,
- 55156, 55160, 55165, 55170, 55175, 55180, 55185, 55190, 55195, 55200,
- 55205, 55210, 55215, 55220, 55225, 55230, 55235, 55240, 55245, 55250,
- 55255, 55260, 55265, 55270, 55276, 55281, 55287, 55296, 55301, 55309,
- 55316, 55325, 55330, 55335, 55340, 55346, 0, 55353, 55361, 55369, 55378,
- 55385, 55393, 55399, 55408, 55416, 55424, 55432, 55440, 55448, 55456,
- 55461, 55468, 55474, 55481, 55489, 55496, 55503, 55511, 55517, 55523,
- 55530, 55537, 55547, 55557, 55564, 55571, 55576, 55586, 55596, 55601,
- 55606, 55611, 55616, 55621, 55626, 55631, 55636, 55641, 55646, 55651,
- 55656, 55661, 55666, 55671, 55676, 55681, 55686, 55691, 55696, 55701,
- 55706, 55711, 55716, 55721, 55726, 55731, 55736, 55741, 55746, 55750,
- 55754, 55759, 55764, 55769, 55774, 55779, 55784, 55789, 55794, 55799,
- 55804, 55809, 55814, 55819, 55824, 55829, 55834, 55839, 55844, 55851,
- 55858, 55865, 55872, 55879, 55886, 55893, 55900, 55907, 55914, 55921,
- 55928, 55935, 55942, 55947, 55952, 55959, 55966, 55973, 55980, 55987,
- 55994, 56001, 56008, 56015, 56022, 56029, 56036, 56042, 56048, 56054,
- 56060, 56067, 56074, 56081, 56088, 56095, 56102, 56109, 56116, 56123,
- 56130, 56138, 56146, 56154, 56162, 56170, 56178, 56186, 56194, 56198,
- 56204, 56210, 56214, 56220, 56226, 56232, 56239, 56246, 56253, 56260,
- 56265, 56271, 56277, 56284, 0, 0, 0, 0, 0, 56291, 56299, 56308, 56317,
- 56325, 56331, 56336, 56341, 56346, 56351, 56356, 56361, 56366, 56371,
- 56376, 56381, 56386, 56391, 56396, 56401, 56406, 56411, 56416, 56421,
- 56426, 56431, 56436, 56441, 56446, 56451, 56456, 56461, 56466, 56471,
- 56476, 56481, 56486, 56491, 56496, 56501, 56506, 56511, 56516, 56521,
- 56526, 0, 56531, 0, 0, 0, 0, 0, 56536, 0, 0, 56541, 56545, 56550, 56555,
- 56560, 56565, 56574, 56579, 56584, 56589, 56594, 56599, 56604, 56609,
- 56614, 56621, 56626, 56631, 56640, 56647, 56652, 56657, 56662, 56669,
- 56674, 56681, 56686, 56691, 56698, 56705, 56710, 56715, 56720, 56727,
- 56734, 56739, 56744, 56749, 56754, 56759, 56766, 56773, 56778, 56783,
- 56788, 56793, 56798, 56803, 56808, 56813, 56818, 56823, 56828, 56835,
- 56840, 56845, 0, 0, 0, 0, 0, 0, 0, 56850, 56857, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 56862, 56867, 56871, 56875, 56879, 56883, 56887, 56891,
- 56895, 56899, 56903, 56907, 56913, 56917, 56921, 56925, 56929, 56933,
- 56937, 56941, 56945, 56949, 56953, 56957, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56961, 56965, 56969, 56973, 56977, 56981, 56985, 0, 56989, 56993, 56997,
- 57001, 57005, 57009, 57013, 0, 57017, 57021, 57025, 57029, 57033, 57037,
- 57041, 0, 57045, 57049, 57053, 57057, 57061, 57065, 57069, 0, 57073,
- 57077, 57081, 57085, 57089, 57093, 57097, 0, 57101, 57105, 57109, 57113,
- 57117, 57121, 57125, 0, 57129, 57133, 57137, 57141, 57145, 57149, 57153,
- 0, 57157, 57161, 57165, 57169, 57173, 57177, 57181, 0, 57185, 57190,
- 57195, 57200, 57205, 57210, 57215, 57219, 57224, 57229, 57234, 57238,
- 57243, 57248, 57253, 57258, 57262, 57267, 57272, 57277, 57282, 57287,
- 57292, 57296, 57301, 57306, 57313, 57318, 57323, 57329, 57336, 57343,
- 57352, 57359, 57368, 57372, 57376, 57382, 57388, 57394, 57402, 57408,
- 57412, 57416, 57420, 57426, 57432, 57436, 57438, 57442, 57448, 57450,
- 57454, 57458, 57462, 57468, 57473, 57477, 57481, 57486, 57492, 57497,
- 57502, 57507, 57512, 57519, 57526, 57531, 57536, 57541, 57546, 57551,
- 57556, 57560, 57564, 57571, 57578, 57584, 57588, 57593, 57595, 57599,
- 57607, 57611, 57615, 57619, 57623, 57629, 57635, 57639, 57645, 57649, 0,
+ 0, 0, 0, 0, 0, 54852, 54857, 54862, 54867, 54872, 54877, 54882, 54887,
+ 54892, 54897, 54902, 54908, 54912, 54917, 54922, 54927, 54932, 54937,
+ 54942, 54947, 54952, 54957, 54962, 54967, 54972, 54977, 54982, 54987,
+ 54992, 54997, 55002, 55007, 55012, 55017, 55022, 55028, 55033, 55039,
+ 55048, 55053, 55061, 55068, 55077, 55082, 55087, 55092, 55098, 0, 55105,
+ 55110, 55115, 55120, 55125, 55130, 55135, 55140, 55145, 55150, 55155,
+ 55161, 55165, 55170, 55175, 55180, 55185, 55190, 55195, 55200, 55205,
+ 55210, 55215, 55220, 55225, 55230, 55235, 55240, 55245, 55250, 55255,
+ 55260, 55265, 55270, 55275, 55281, 55286, 55292, 55301, 55306, 55314,
+ 55321, 55330, 55335, 55340, 55345, 55351, 0, 55358, 55366, 55374, 55383,
+ 55390, 55398, 55404, 55413, 55421, 55429, 55437, 55445, 55453, 55461,
+ 55466, 55473, 55479, 55486, 55494, 55501, 55508, 55516, 55522, 55528,
+ 55535, 55542, 55552, 55562, 55569, 55576, 55581, 55591, 55601, 55606,
+ 55611, 55616, 55621, 55626, 55631, 55636, 55641, 55646, 55651, 55656,
+ 55661, 55666, 55671, 55676, 55681, 55686, 55691, 55696, 55701, 55706,
+ 55711, 55716, 55721, 55726, 55731, 55736, 55741, 55746, 55751, 55755,
+ 55759, 55764, 55769, 55774, 55779, 55784, 55789, 55794, 55799, 55804,
+ 55809, 55814, 55819, 55824, 55829, 55834, 55839, 55844, 55849, 55856,
+ 55863, 55870, 55877, 55884, 55891, 55898, 55905, 55912, 55919, 55926,
+ 55933, 55940, 55947, 55952, 55957, 55964, 55971, 55978, 55985, 55992,
+ 55999, 56006, 56013, 56020, 56027, 56034, 56041, 56047, 56053, 56059,
+ 56065, 56072, 56079, 56086, 56093, 56100, 56107, 56114, 56121, 56128,
+ 56135, 56143, 56151, 56159, 56167, 56175, 56183, 56191, 56199, 56203,
+ 56209, 56215, 56219, 56225, 56231, 56237, 56244, 56251, 56258, 56265,
+ 56270, 56276, 56282, 56289, 0, 0, 0, 0, 0, 56296, 56304, 56313, 56322,
+ 56330, 56336, 56341, 56346, 56351, 56356, 56361, 56366, 56371, 56376,
+ 56381, 56386, 56391, 56396, 56401, 56406, 56411, 56416, 56421, 56426,
+ 56431, 56436, 56441, 56446, 56451, 56456, 56461, 56466, 56471, 56476,
+ 56481, 56486, 56491, 56496, 56501, 56506, 56511, 56516, 56521, 56526,
+ 56531, 0, 56536, 0, 0, 0, 0, 0, 56541, 0, 0, 56546, 56550, 56555, 56560,
+ 56565, 56570, 56579, 56584, 56589, 56594, 56599, 56604, 56609, 56614,
+ 56619, 56626, 56631, 56636, 56645, 56652, 56657, 56662, 56667, 56674,
+ 56679, 56686, 56691, 56696, 56703, 56710, 56715, 56720, 56725, 56732,
+ 56739, 56744, 56749, 56754, 56759, 56764, 56771, 56778, 56783, 56788,
+ 56793, 56798, 56803, 56808, 56813, 56818, 56823, 56828, 56833, 56840,
+ 56845, 56850, 0, 0, 0, 0, 0, 0, 0, 56855, 56862, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 56867, 56872, 56876, 56880, 56884, 56888, 56892, 56896,
+ 56900, 56904, 56908, 56912, 56918, 56922, 56926, 56930, 56934, 56938,
+ 56942, 56946, 56950, 56954, 56958, 56962, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56966, 56970, 56974, 56978, 56982, 56986, 56990, 0, 56994, 56998, 57002,
+ 57006, 57010, 57014, 57018, 0, 57022, 57026, 57030, 57034, 57038, 57042,
+ 57046, 0, 57050, 57054, 57058, 57062, 57066, 57070, 57074, 0, 57078,
+ 57082, 57086, 57090, 57094, 57098, 57102, 0, 57106, 57110, 57114, 57118,
+ 57122, 57126, 57130, 0, 57134, 57138, 57142, 57146, 57150, 57154, 57158,
+ 0, 57162, 57166, 57170, 57174, 57178, 57182, 57186, 0, 57190, 57195,
+ 57200, 57205, 57210, 57215, 57220, 57224, 57229, 57234, 57239, 57243,
+ 57248, 57253, 57258, 57263, 57267, 57272, 57277, 57282, 57287, 57292,
+ 57297, 57301, 57306, 57311, 57318, 57323, 57328, 57334, 57341, 57348,
+ 57357, 57364, 57373, 57377, 57381, 57387, 57393, 57399, 57407, 57413,
+ 57417, 57421, 57425, 57431, 57437, 57441, 57443, 57447, 57453, 57455,
+ 57459, 57463, 57467, 57473, 57478, 57482, 57486, 57491, 57497, 57502,
+ 57507, 57512, 57517, 57524, 57531, 57536, 57541, 57546, 57551, 57556,
+ 57561, 57565, 57569, 57576, 57583, 57589, 57593, 57598, 57600, 57604,
+ 57612, 57616, 57620, 57624, 57628, 57634, 57640, 57644, 57650, 57654, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57653, 57657,
- 57661, 57666, 57671, 57676, 57680, 57684, 57688, 57693, 57698, 57702,
- 57706, 57710, 57714, 57719, 57724, 57729, 57734, 57738, 57742, 57747,
- 57752, 57757, 57762, 57766, 0, 57770, 57774, 57778, 57782, 57786, 57790,
- 57794, 57799, 57804, 57808, 57813, 57818, 57827, 57831, 57835, 57839,
- 57846, 57850, 57855, 57860, 57864, 57868, 57874, 57879, 57884, 57889,
- 57894, 57898, 57902, 57906, 57910, 57914, 57919, 57924, 57928, 57932,
- 57937, 57942, 57947, 57951, 57955, 57960, 57965, 57971, 57977, 57981,
- 57987, 57993, 57997, 58003, 58009, 58014, 58019, 58023, 58029, 58033,
- 58037, 58043, 58049, 58054, 58059, 58063, 58067, 58075, 58081, 58087,
- 58093, 58098, 58103, 58108, 58114, 58118, 58124, 58128, 58132, 58138,
- 58144, 58150, 58156, 58162, 58168, 58174, 58180, 58186, 58192, 58198,
- 58204, 58208, 58214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58220, 58223,
- 58227, 58231, 58235, 58239, 58242, 58245, 58249, 58253, 58257, 58261,
- 58264, 58269, 58273, 58277, 58281, 58286, 58290, 58294, 58298, 58302,
- 58308, 58314, 58318, 58322, 58326, 58330, 58334, 58338, 58342, 58346,
- 58350, 58354, 58358, 58364, 58368, 58372, 58376, 58380, 58384, 58388,
- 58392, 58396, 58400, 58404, 58408, 58412, 58416, 58420, 58424, 58428,
- 58434, 58440, 58445, 58450, 58454, 58458, 58462, 58466, 58470, 58474,
- 58478, 58482, 58486, 58490, 58494, 58498, 58502, 58506, 58510, 58514,
- 58518, 58522, 58526, 58530, 58534, 58538, 58542, 58546, 58552, 58556,
- 58560, 58564, 58568, 58572, 58576, 58580, 58584, 58589, 58596, 58600,
- 58604, 58608, 58612, 58616, 58620, 58624, 58628, 58632, 58636, 58640,
- 58644, 58651, 58655, 58661, 58665, 58669, 58673, 58677, 58681, 58684,
- 58688, 58692, 58696, 58700, 58704, 58708, 58712, 58716, 58720, 58724,
- 58728, 58732, 58736, 58740, 58744, 58748, 58752, 58756, 58760, 58764,
- 58768, 58772, 58776, 58780, 58784, 58788, 58792, 58796, 58800, 58804,
- 58808, 58812, 58818, 58822, 58826, 58830, 58834, 58838, 58842, 58846,
- 58850, 58854, 58858, 58862, 58866, 58870, 58874, 58878, 58882, 58886,
- 58890, 58894, 58898, 58902, 58906, 58910, 58914, 58918, 58922, 58926,
- 58934, 58938, 58942, 58946, 58950, 58954, 58960, 58964, 58968, 58972,
- 58976, 58980, 58984, 58988, 58992, 58996, 59000, 59004, 59008, 59012,
- 59018, 59022, 59026, 59030, 59034, 59038, 59042, 59046, 59050, 59054,
- 59058, 59062, 59066, 59070, 59074, 59078, 59082, 59086, 59090, 59094,
- 59098, 59102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 59106, 59115, 59123, 59135, 59146, 59154, 59163, 59172,
- 59182, 59194, 59206, 59218, 0, 0, 0, 0, 59224, 59227, 59230, 59235,
- 59238, 59245, 59249, 59253, 59257, 59261, 59265, 59270, 59275, 59279,
- 59283, 59288, 59293, 59298, 59303, 59306, 59309, 59315, 59321, 59326,
- 59331, 59338, 59345, 59349, 59353, 59357, 59365, 59371, 59378, 59383,
- 59388, 59393, 59398, 59403, 59408, 59413, 59418, 59423, 59428, 59433,
- 59438, 59443, 59448, 59454, 59459, 59463, 59469, 59480, 59490, 59505,
- 59515, 59519, 59529, 59535, 59541, 59547, 59552, 59555, 59560, 59564, 0,
- 59570, 59574, 59577, 59581, 59584, 59588, 59591, 59595, 59598, 59602,
- 59605, 59608, 59612, 59616, 59620, 59624, 59628, 59632, 59636, 59640,
- 59644, 59647, 59651, 59655, 59659, 59663, 59667, 59671, 59675, 59679,
- 59683, 59687, 59691, 59695, 59699, 59704, 59708, 59712, 59716, 59720,
- 59723, 59727, 59730, 59734, 59738, 59742, 59746, 59749, 59753, 59756,
- 59760, 59764, 59768, 59772, 59776, 59780, 59784, 59788, 59792, 59796,
- 59800, 59804, 59807, 59811, 59815, 59819, 59823, 59827, 59830, 59835,
- 59839, 59844, 59848, 59851, 59855, 59859, 59863, 59867, 59872, 59876,
- 59880, 59884, 59888, 59892, 59896, 59900, 0, 0, 59905, 59913, 59921,
- 59928, 59935, 59939, 59945, 59950, 59955, 59959, 59962, 59966, 59969,
- 59973, 59976, 59980, 59983, 59987, 59990, 59993, 59997, 60001, 60005,
- 60009, 60013, 60017, 60021, 60025, 60029, 60032, 60036, 60040, 60044,
- 60048, 60052, 60056, 60060, 60064, 60068, 60072, 60076, 60080, 60084,
- 60089, 60093, 60097, 60101, 60105, 60108, 60112, 60115, 60119, 60123,
- 60127, 60131, 60134, 60138, 60141, 60145, 60149, 60153, 60157, 60161,
- 60165, 60169, 60173, 60177, 60181, 60185, 60189, 60192, 60196, 60200,
- 60204, 60208, 60212, 60215, 60220, 60224, 60229, 60233, 60236, 60240,
- 60244, 60248, 60252, 60257, 60261, 60265, 60269, 60273, 60277, 60281,
- 60285, 60290, 60294, 60298, 60302, 60306, 60311, 60318, 60322, 60328, 0,
- 0, 0, 0, 0, 60333, 60338, 60343, 60347, 60352, 60357, 60362, 60367,
- 60371, 60376, 60381, 60386, 60391, 60396, 60401, 60406, 60411, 60416,
- 60420, 60425, 60430, 60435, 60439, 60443, 60447, 60452, 60457, 60462,
- 60467, 60472, 60477, 60482, 60487, 60492, 60497, 60501, 60505, 60510,
- 60515, 60520, 60525, 0, 0, 0, 60530, 60534, 60538, 60542, 60546, 60550,
- 60554, 60558, 60562, 60566, 60570, 60574, 60578, 60582, 60586, 60590,
- 60594, 60598, 60602, 60606, 60610, 60614, 60618, 60622, 60626, 60630,
- 60634, 60638, 60642, 60646, 60650, 60653, 60657, 60660, 60664, 60668,
- 60671, 60675, 60679, 60682, 60686, 60690, 60694, 60698, 60701, 60705,
- 60709, 60713, 60717, 60721, 60725, 60728, 60731, 60735, 60739, 60743,
- 60747, 60751, 60755, 60759, 60763, 60767, 60771, 60775, 60779, 60783,
- 60787, 60791, 60795, 60799, 60803, 60807, 60811, 60815, 60819, 60823,
- 60827, 60831, 60835, 60839, 60843, 60847, 60851, 60855, 60859, 60863,
- 60867, 60871, 60875, 60879, 60883, 60887, 60891, 60895, 0, 60899, 60905,
- 60911, 60916, 60921, 60926, 60932, 60938, 60944, 60950, 60956, 60962,
- 60968, 60974, 60980, 60986, 60992, 60997, 61002, 61007, 61012, 61017,
- 61022, 61027, 61032, 61037, 61042, 61047, 61052, 61057, 61062, 61067,
- 61072, 61077, 61082, 61087, 61092, 61098, 61104, 61110, 61116, 61121,
- 61126, 0, 0, 0, 0, 0, 61131, 61136, 61141, 61146, 61151, 61156, 61161,
- 61166, 61171, 61176, 61181, 61186, 61191, 61196, 61201, 61206, 61211,
- 61216, 61221, 61226, 61231, 61236, 61241, 61246, 61251, 61256, 61261,
- 61266, 61271, 61276, 61281, 61286, 61291, 61296, 61301, 61306, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 61311, 61316, 61321, 61326, 61330, 61335,
- 61339, 61344, 61349, 61354, 61359, 61364, 61368, 61373, 61378, 61383,
- 61388, 61392, 61396, 61400, 61404, 61408, 61412, 61416, 61420, 61424,
- 61428, 61432, 61436, 61440, 61444, 61449, 61454, 61459, 61464, 61469,
- 61474, 61479, 61484, 61489, 61494, 61499, 61504, 61509, 61514, 61519,
- 61525, 0, 61532, 61535, 61538, 61541, 61544, 61547, 61550, 61553, 61556,
- 61559, 61563, 61567, 61571, 61575, 61579, 61583, 61587, 61591, 61595,
- 61599, 61603, 61607, 61611, 61615, 61619, 61623, 61627, 61631, 61635,
- 61639, 61643, 61647, 61651, 61655, 61659, 61663, 61667, 61671, 61675,
- 61679, 61683, 61692, 61701, 61710, 61719, 61728, 61737, 61746, 61755,
- 61758, 61763, 61768, 61773, 61778, 61783, 61788, 61793, 61798, 61803,
- 61807, 61812, 61817, 61822, 61827, 61832, 61836, 61840, 61844, 61848,
- 61852, 61856, 61860, 61864, 61868, 61872, 61876, 61880, 61884, 61888,
- 61893, 61898, 61903, 61908, 61913, 61918, 61923, 61928, 61933, 61938,
- 61943, 61948, 61953, 61958, 61964, 61970, 61975, 61980, 61983, 61986,
- 61989, 61992, 61995, 61998, 62001, 62004, 62007, 62011, 62015, 62019,
- 62023, 62027, 62031, 62035, 62039, 62043, 62047, 62051, 62055, 62059,
- 62063, 62067, 62071, 62075, 62079, 62083, 62087, 62091, 62095, 62099,
- 62103, 62107, 62111, 62115, 62119, 62123, 62127, 62131, 62135, 62139,
- 62143, 62147, 62151, 62155, 62159, 62163, 62167, 62172, 62177, 62182,
- 62187, 62191, 62196, 62201, 62206, 62211, 62216, 62221, 62226, 62231,
- 62236, 62240, 62247, 62254, 62261, 62268, 62275, 62282, 62289, 62296,
- 62303, 62310, 62317, 62324, 62327, 62330, 62333, 62338, 62341, 62344,
- 62347, 62350, 62353, 62356, 62360, 62364, 62368, 62372, 62375, 62379,
- 62383, 62387, 62391, 62395, 62399, 62403, 62407, 62410, 62413, 62417,
- 62421, 62425, 62429, 62432, 62436, 62440, 62444, 62448, 62451, 62455,
- 62459, 62463, 62467, 62470, 62474, 62478, 62481, 62485, 62489, 62493,
- 62497, 62501, 62505, 62509, 0, 62513, 62516, 62519, 62522, 62525, 62528,
- 62531, 62534, 62537, 62540, 62543, 62546, 62549, 62552, 62555, 62558,
- 62561, 62564, 62567, 62570, 62573, 62576, 62579, 62582, 62585, 62588,
- 62591, 62594, 62597, 62600, 62603, 62606, 62609, 62612, 62615, 62618,
- 62621, 62624, 62627, 62630, 62633, 62636, 62639, 62642, 62645, 62648,
- 62651, 62654, 62657, 62660, 62663, 62666, 62669, 62672, 62675, 62678,
- 62681, 62684, 62687, 62690, 62693, 62696, 62699, 62702, 62705, 62708,
- 62711, 62714, 62717, 62720, 62723, 62726, 62729, 62732, 62735, 62738,
- 62741, 62744, 62747, 62750, 62753, 62756, 62759, 62762, 62765, 62768,
- 62771, 62774, 62777, 62786, 62794, 62802, 62810, 62818, 62826, 62834,
- 62842, 62850, 62858, 62867, 62876, 62885, 62894, 62903, 62912, 62921,
- 62930, 62939, 62948, 62957, 62966, 62975, 62984, 62993, 62996, 62999,
- 63002, 63004, 63007, 63010, 63013, 63018, 63023, 63026, 63033, 63040,
- 63047, 63054, 63057, 63062, 63064, 63068, 63070, 63072, 63075, 63078,
- 63081, 63084, 63087, 63090, 63093, 63098, 63103, 63106, 63109, 63112,
- 63115, 63118, 63121, 63124, 63128, 63131, 63134, 63137, 63140, 63143,
- 63147, 63150, 63153, 63156, 63161, 63166, 63171, 63176, 63181, 63186,
- 63191, 63196, 63202, 63210, 63212, 63215, 63218, 63221, 63224, 63230,
- 63238, 63241, 63244, 63249, 63252, 63255, 63258, 63263, 63266, 63269,
- 63274, 63277, 63280, 63285, 63288, 63291, 63296, 63301, 63306, 63309,
- 63312, 63315, 63318, 63324, 63327, 63330, 63333, 63335, 63338, 63341,
- 63344, 63349, 63352, 63355, 63358, 63361, 63364, 63369, 63372, 63375,
- 63378, 63381, 63384, 63387, 63390, 63393, 63396, 63401, 63405, 63413,
- 63421, 63429, 63437, 63445, 63453, 63461, 63469, 63477, 63486, 63495,
- 63504, 63513, 63522, 63531, 63540, 63549, 63558, 63567, 63576, 63585,
- 63594, 63603, 63612, 63621, 63630, 63639, 63648, 63657, 63666, 63675, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57658, 57662,
+ 57666, 57671, 57676, 57681, 57685, 57689, 57693, 57698, 57703, 57707,
+ 57711, 57715, 57719, 57724, 57729, 57734, 57739, 57743, 57747, 57752,
+ 57757, 57762, 57767, 57771, 0, 57775, 57779, 57783, 57787, 57791, 57795,
+ 57799, 57804, 57809, 57813, 57818, 57823, 57832, 57836, 57840, 57844,
+ 57851, 57855, 57860, 57865, 57869, 57873, 57879, 57884, 57889, 57894,
+ 57899, 57903, 57907, 57911, 57915, 57919, 57924, 57929, 57933, 57937,
+ 57942, 57947, 57952, 57956, 57960, 57965, 57970, 57976, 57982, 57986,
+ 57992, 57998, 58002, 58008, 58014, 58019, 58024, 58028, 58034, 58038,
+ 58042, 58048, 58054, 58059, 58064, 58068, 58072, 58080, 58086, 58092,
+ 58098, 58103, 58108, 58113, 58119, 58123, 58129, 58133, 58137, 58143,
+ 58149, 58155, 58161, 58167, 58173, 58179, 58185, 58191, 58197, 58203,
+ 58209, 58213, 58219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58225, 58228,
+ 58232, 58236, 58240, 58244, 58247, 58250, 58254, 58258, 58262, 58266,
+ 58269, 58274, 58278, 58282, 58286, 58291, 58295, 58299, 58303, 58307,
+ 58313, 58319, 58323, 58327, 58331, 58335, 58339, 58343, 58347, 58351,
+ 58355, 58359, 58363, 58369, 58373, 58377, 58381, 58385, 58389, 58393,
+ 58397, 58401, 58405, 58409, 58413, 58417, 58421, 58425, 58429, 58433,
+ 58439, 58445, 58450, 58455, 58459, 58463, 58467, 58471, 58475, 58479,
+ 58483, 58487, 58491, 58495, 58499, 58503, 58507, 58511, 58515, 58519,
+ 58523, 58527, 58531, 58535, 58539, 58543, 58547, 58551, 58557, 58561,
+ 58565, 58569, 58573, 58577, 58581, 58585, 58589, 58594, 58601, 58605,
+ 58609, 58613, 58617, 58621, 58625, 58629, 58633, 58637, 58641, 58645,
+ 58649, 58656, 58660, 58666, 58670, 58674, 58678, 58682, 58686, 58689,
+ 58693, 58697, 58701, 58705, 58709, 58713, 58717, 58721, 58725, 58729,
+ 58733, 58737, 58741, 58745, 58749, 58753, 58757, 58761, 58765, 58769,
+ 58773, 58777, 58781, 58785, 58789, 58793, 58797, 58801, 58805, 58809,
+ 58813, 58817, 58823, 58827, 58831, 58835, 58839, 58843, 58847, 58851,
+ 58855, 58859, 58863, 58867, 58871, 58875, 58879, 58883, 58887, 58891,
+ 58895, 58899, 58903, 58907, 58911, 58915, 58919, 58923, 58927, 58931,
+ 58939, 58943, 58947, 58951, 58955, 58959, 58965, 58969, 58973, 58977,
+ 58981, 58985, 58989, 58993, 58997, 59001, 59005, 59009, 59013, 59017,
+ 59023, 59027, 59031, 59035, 59039, 59043, 59047, 59051, 59055, 59059,
+ 59063, 59067, 59071, 59075, 59079, 59083, 59087, 59091, 59095, 59099,
+ 59103, 59107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 59111, 59120, 59128, 59140, 59151, 59159, 59168, 59177,
+ 59187, 59199, 59211, 59223, 0, 0, 0, 0, 59229, 59232, 59235, 59240,
+ 59243, 59250, 59254, 59258, 59262, 59266, 59270, 59275, 59280, 59284,
+ 59288, 59293, 59298, 59303, 59308, 59311, 59314, 59320, 59326, 59331,
+ 59336, 59343, 59350, 59354, 59358, 59362, 59370, 59376, 59383, 59388,
+ 59393, 59398, 59403, 59408, 59413, 59418, 59423, 59428, 59433, 59438,
+ 59443, 59448, 59453, 59459, 59464, 59468, 59474, 59485, 59495, 59510,
+ 59520, 59524, 59534, 59540, 59546, 59552, 59557, 59560, 59565, 59569, 0,
+ 59575, 59579, 59582, 59586, 59589, 59593, 59596, 59600, 59603, 59607,
+ 59610, 59613, 59617, 59621, 59625, 59629, 59633, 59637, 59641, 59645,
+ 59649, 59652, 59656, 59660, 59664, 59668, 59672, 59676, 59680, 59684,
+ 59688, 59692, 59696, 59700, 59704, 59709, 59713, 59717, 59721, 59725,
+ 59728, 59732, 59735, 59739, 59743, 59747, 59751, 59754, 59758, 59761,
+ 59765, 59769, 59773, 59777, 59781, 59785, 59789, 59793, 59797, 59801,
+ 59805, 59809, 59812, 59816, 59820, 59824, 59828, 59832, 59835, 59840,
+ 59844, 59849, 59853, 59856, 59860, 59864, 59868, 59872, 59877, 59881,
+ 59885, 59889, 59893, 59897, 59901, 59905, 0, 0, 59910, 59918, 59926,
+ 59933, 59940, 59944, 59950, 59955, 59960, 59964, 59967, 59971, 59974,
+ 59978, 59981, 59985, 59988, 59992, 59995, 59998, 60002, 60006, 60010,
+ 60014, 60018, 60022, 60026, 60030, 60034, 60037, 60041, 60045, 60049,
+ 60053, 60057, 60061, 60065, 60069, 60073, 60077, 60081, 60085, 60089,
+ 60094, 60098, 60102, 60106, 60110, 60113, 60117, 60120, 60124, 60128,
+ 60132, 60136, 60139, 60143, 60146, 60150, 60154, 60158, 60162, 60166,
+ 60170, 60174, 60178, 60182, 60186, 60190, 60194, 60197, 60201, 60205,
+ 60209, 60213, 60217, 60220, 60225, 60229, 60234, 60238, 60241, 60245,
+ 60249, 60253, 60257, 60262, 60266, 60270, 60274, 60278, 60282, 60286,
+ 60290, 60295, 60299, 60303, 60307, 60311, 60316, 60323, 60327, 60333, 0,
+ 0, 0, 0, 0, 60338, 60343, 60348, 60352, 60357, 60362, 60367, 60372,
+ 60376, 60381, 60386, 60391, 60396, 60401, 60406, 60411, 60416, 60421,
+ 60425, 60430, 60435, 60440, 60444, 60448, 60452, 60457, 60462, 60467,
+ 60472, 60477, 60482, 60487, 60492, 60497, 60502, 60506, 60510, 60515,
+ 60520, 60525, 60530, 0, 0, 0, 60535, 60539, 60543, 60547, 60551, 60555,
+ 60559, 60563, 60567, 60571, 60575, 60579, 60583, 60587, 60591, 60595,
+ 60599, 60603, 60607, 60611, 60615, 60619, 60623, 60627, 60631, 60635,
+ 60639, 60643, 60647, 60651, 60655, 60658, 60662, 60665, 60669, 60673,
+ 60676, 60680, 60684, 60687, 60691, 60695, 60699, 60703, 60706, 60710,
+ 60714, 60718, 60722, 60726, 60730, 60733, 60736, 60740, 60744, 60748,
+ 60752, 60756, 60760, 60764, 60768, 60772, 60776, 60780, 60784, 60788,
+ 60792, 60796, 60800, 60804, 60808, 60812, 60816, 60820, 60824, 60828,
+ 60832, 60836, 60840, 60844, 60848, 60852, 60856, 60860, 60864, 60868,
+ 60872, 60876, 60880, 60884, 60888, 60892, 60896, 60900, 0, 60904, 60910,
+ 60916, 60921, 60926, 60931, 60937, 60943, 60949, 60955, 60961, 60967,
+ 60973, 60979, 60985, 60991, 60997, 61002, 61007, 61012, 61017, 61022,
+ 61027, 61032, 61037, 61042, 61047, 61052, 61057, 61062, 61067, 61072,
+ 61077, 61082, 61087, 61092, 61097, 61103, 61109, 61115, 61121, 61126,
+ 61131, 0, 0, 0, 0, 0, 61136, 61141, 61146, 61151, 61156, 61161, 61166,
+ 61171, 61176, 61181, 61186, 61191, 61196, 61201, 61206, 61211, 61216,
+ 61221, 61226, 61231, 61236, 61241, 61246, 61251, 61256, 61261, 61266,
+ 61271, 61276, 61281, 61286, 61291, 61296, 61301, 61306, 61311, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 61316, 61321, 61326, 61331, 61335, 61340,
+ 61344, 61349, 61354, 61359, 61364, 61369, 61373, 61378, 61383, 61388,
+ 61393, 61397, 61401, 61405, 61409, 61413, 61417, 61421, 61425, 61429,
+ 61433, 61437, 61441, 61445, 61449, 61454, 61459, 61464, 61469, 61474,
+ 61479, 61484, 61489, 61494, 61499, 61504, 61509, 61514, 61519, 61524,
+ 61530, 0, 61537, 61540, 61543, 61546, 61549, 61552, 61555, 61558, 61561,
+ 61564, 61568, 61572, 61576, 61580, 61584, 61588, 61592, 61596, 61600,
+ 61604, 61608, 61612, 61616, 61620, 61624, 61628, 61632, 61636, 61640,
+ 61644, 61648, 61652, 61656, 61660, 61664, 61668, 61672, 61676, 61680,
+ 61684, 61688, 61697, 61706, 61715, 61724, 61733, 61742, 61751, 61760,
+ 61763, 61768, 61773, 61778, 61783, 61788, 61793, 61798, 61803, 61808,
+ 61812, 61817, 61822, 61827, 61832, 61837, 61841, 61845, 61849, 61853,
+ 61857, 61861, 61865, 61869, 61873, 61877, 61881, 61885, 61889, 61893,
+ 61898, 61903, 61908, 61913, 61918, 61923, 61928, 61933, 61938, 61943,
+ 61948, 61953, 61958, 61963, 61969, 61975, 61980, 61985, 61988, 61991,
+ 61994, 61997, 62000, 62003, 62006, 62009, 62012, 62016, 62020, 62024,
+ 62028, 62032, 62036, 62040, 62044, 62048, 62052, 62056, 62060, 62064,
+ 62068, 62072, 62076, 62080, 62084, 62088, 62092, 62096, 62100, 62104,
+ 62108, 62112, 62116, 62120, 62124, 62128, 62132, 62136, 62140, 62144,
+ 62148, 62152, 62156, 62160, 62164, 62168, 62172, 62177, 62182, 62187,
+ 62192, 62196, 62201, 62206, 62211, 62216, 62221, 62226, 62231, 62236,
+ 62241, 62245, 62252, 62259, 62266, 62273, 62280, 62287, 62294, 62301,
+ 62308, 62315, 62322, 62329, 62332, 62335, 62338, 62343, 62346, 62349,
+ 62352, 62355, 62358, 62361, 62365, 62369, 62373, 62377, 62380, 62384,
+ 62388, 62392, 62396, 62400, 62404, 62408, 62412, 62415, 62418, 62422,
+ 62426, 62430, 62434, 62437, 62441, 62445, 62449, 62453, 62456, 62460,
+ 62464, 62468, 62472, 62475, 62479, 62483, 62486, 62490, 62494, 62498,
+ 62502, 62506, 62510, 62514, 0, 62518, 62521, 62524, 62527, 62530, 62533,
+ 62536, 62539, 62542, 62545, 62548, 62551, 62554, 62557, 62560, 62563,
+ 62566, 62569, 62572, 62575, 62578, 62581, 62584, 62587, 62590, 62593,
+ 62596, 62599, 62602, 62605, 62608, 62611, 62614, 62617, 62620, 62623,
+ 62626, 62629, 62632, 62635, 62638, 62641, 62644, 62647, 62650, 62653,
+ 62656, 62659, 62662, 62665, 62668, 62671, 62674, 62677, 62680, 62683,
+ 62686, 62689, 62692, 62695, 62698, 62701, 62704, 62707, 62710, 62713,
+ 62716, 62719, 62722, 62725, 62728, 62731, 62734, 62737, 62740, 62743,
+ 62746, 62749, 62752, 62755, 62758, 62761, 62764, 62767, 62770, 62773,
+ 62776, 62779, 62782, 62791, 62799, 62807, 62815, 62823, 62831, 62839,
+ 62847, 62855, 62863, 62872, 62881, 62890, 62899, 62908, 62917, 62926,
+ 62935, 62944, 62953, 62962, 62971, 62980, 62989, 62998, 63001, 63004,
+ 63007, 63009, 63012, 63015, 63018, 63023, 63028, 63031, 63038, 63045,
+ 63052, 63059, 63062, 63067, 63069, 63073, 63075, 63077, 63080, 63083,
+ 63086, 63089, 63092, 63095, 63098, 63103, 63108, 63111, 63114, 63117,
+ 63120, 63123, 63126, 63129, 63133, 63136, 63139, 63142, 63145, 63148,
+ 63152, 63155, 63158, 63161, 63166, 63171, 63176, 63181, 63186, 63191,
+ 63196, 63201, 63207, 63215, 63217, 63220, 63223, 63226, 63229, 63235,
+ 63243, 63246, 63249, 63254, 63257, 63260, 63263, 63268, 63271, 63274,
+ 63279, 63282, 63285, 63290, 63293, 63296, 63301, 63306, 63311, 63314,
+ 63317, 63320, 63323, 63329, 63332, 63335, 63338, 63340, 63343, 63346,
+ 63349, 63354, 63357, 63360, 63363, 63366, 63369, 63374, 63377, 63380,
+ 63383, 63386, 63389, 63392, 63395, 63398, 63401, 63406, 63410, 63418,
+ 63426, 63434, 63442, 63450, 63458, 63466, 63474, 63482, 63491, 63500,
+ 63509, 63518, 63527, 63536, 63545, 63554, 63563, 63572, 63581, 63590,
+ 63599, 63608, 63617, 63626, 63635, 63644, 63653, 63662, 63671, 63680, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63678, 63687, 63696, 63707,
- 63714, 63719, 63724, 63731, 63738, 63744, 63749, 63754, 63759, 63764,
- 63771, 63776, 63781, 63786, 63797, 63802, 63807, 63814, 63819, 63826,
- 63831, 63836, 63843, 63850, 63857, 63866, 63875, 63880, 63885, 63890,
- 63897, 63902, 63912, 63919, 63924, 63929, 63934, 63939, 63944, 63949,
- 63958, 63965, 63972, 63977, 63984, 63989, 63996, 64005, 64016, 64021,
- 64030, 64035, 64042, 64051, 64060, 64065, 64070, 64077, 64083, 64090,
- 64097, 64101, 64105, 64108, 64112, 64116, 64120, 64124, 64128, 64132,
- 64136, 64139, 64143, 64147, 64151, 64155, 64159, 64163, 64166, 64170,
- 64174, 64177, 64181, 64185, 64189, 64193, 64197, 64201, 64205, 64209,
- 64213, 64217, 64221, 64225, 64229, 64233, 64237, 64241, 64245, 64249,
- 64253, 64257, 64261, 64265, 64269, 64273, 64277, 64281, 64285, 64289,
- 64293, 64297, 64301, 64305, 64309, 64313, 64317, 64321, 64325, 64329,
- 64333, 64337, 64341, 64345, 64349, 64353, 64356, 64360, 64364, 64368,
- 64372, 64376, 64380, 64384, 64388, 64392, 64396, 64400, 64404, 64408,
- 64412, 64416, 64420, 64424, 64428, 64432, 64436, 64440, 64444, 64448,
- 64452, 64456, 64460, 64464, 64468, 64472, 64476, 64480, 64484, 64488,
- 64492, 64496, 64500, 64504, 64508, 64512, 64516, 64520, 64524, 64528,
- 64532, 64536, 64540, 64544, 64548, 64552, 64556, 64560, 64564, 64568,
- 64572, 64576, 64580, 64584, 64588, 64592, 64596, 64600, 64604, 64608,
- 64612, 64616, 64620, 64624, 64628, 64632, 64636, 64640, 64644, 64648,
- 64652, 64656, 64660, 64664, 64668, 64672, 64676, 64680, 64684, 64688,
- 64692, 64696, 64700, 64704, 64708, 64712, 64716, 64720, 64724, 64728,
- 64732, 64736, 64740, 64744, 64748, 64752, 64756, 64760, 64764, 64768,
- 64772, 64776, 64780, 64784, 64788, 64792, 64796, 64800, 64804, 64808,
- 64812, 64816, 64820, 64824, 64827, 64831, 64835, 64839, 64843, 64847,
- 64851, 64855, 64859, 64863, 64867, 64871, 64875, 64879, 64883, 64887,
- 64891, 64895, 64899, 64903, 64907, 64911, 64915, 64919, 64923, 64927,
- 64931, 64935, 64939, 64943, 64947, 64951, 64955, 64959, 64963, 64967,
- 64971, 64975, 64979, 64983, 64987, 64991, 64995, 64999, 65003, 65007,
- 65011, 65015, 65019, 65023, 65027, 65031, 65035, 65039, 65043, 65047,
- 65051, 65055, 65059, 65063, 65067, 65071, 65075, 65079, 65083, 65087,
- 65091, 65095, 65099, 65103, 65107, 65111, 65115, 65119, 65123, 65127,
- 65131, 65135, 65139, 65143, 65147, 65151, 65155, 65159, 65163, 65167,
- 65171, 65175, 65179, 65183, 65187, 65191, 65195, 65199, 65203, 65207,
- 65211, 65215, 65219, 65223, 65227, 65231, 65235, 65239, 65243, 65247,
- 65251, 65255, 65259, 65263, 65267, 65271, 65275, 65279, 65283, 65287,
- 65290, 65294, 65298, 65302, 65306, 65310, 65314, 65318, 65322, 65326,
- 65330, 65334, 65338, 65342, 65346, 65350, 65354, 65358, 65362, 65366,
- 65370, 65374, 65378, 65382, 65386, 65390, 65394, 65398, 65402, 65406,
- 65410, 65414, 65418, 65422, 65426, 65430, 65434, 65438, 65442, 65446,
- 65450, 65454, 65458, 65462, 65466, 65470, 65474, 65478, 65482, 65486,
- 65490, 65494, 65498, 65502, 65506, 65510, 65514, 65518, 65522, 65526,
- 65530, 65534, 65538, 65542, 65546, 65550, 65554, 65558, 65562, 65566,
- 65570, 65574, 65578, 65582, 65586, 65590, 65594, 65598, 65602, 65606,
- 65610, 65614, 65618, 65622, 65626, 65630, 65634, 65638, 65642, 65646,
- 65649, 65653, 65657, 65661, 65665, 65669, 65673, 65677, 65681, 65685,
- 65689, 65693, 65697, 65701, 65705, 65709, 65713, 65717, 65721, 65725,
- 65729, 65733, 65737, 65741, 65745, 65749, 65753, 65757, 65761, 65765,
- 65769, 65773, 65777, 65781, 65785, 65789, 65793, 65797, 65801, 65805,
- 65809, 65813, 65817, 65821, 65825, 65829, 65833, 65837, 65841, 65845,
- 65849, 65853, 65857, 65861, 65865, 65869, 65873, 65877, 65881, 65885,
- 65889, 65893, 65897, 65901, 65905, 65909, 65913, 65917, 65921, 65925,
- 65929, 65933, 65937, 65941, 65945, 65949, 65953, 65957, 65961, 65965,
- 65969, 65973, 65977, 65981, 65985, 65989, 65993, 65997, 66001, 66005,
- 66009, 66013, 66017, 66021, 66025, 66029, 66033, 66037, 66041, 66045,
- 66049, 66053, 66057, 66061, 66065, 66069, 66073, 66077, 66081, 66085,
- 66089, 66093, 66097, 66101, 66105, 66109, 66113, 66117, 66121, 66125,
- 66129, 66133, 66137, 66141, 66144, 66148, 66152, 66156, 66160, 66164,
- 66168, 66172, 66176, 66180, 66184, 66188, 66192, 66196, 66200, 66204,
- 66208, 66212, 66216, 66220, 66224, 66228, 66232, 66236, 66240, 66244,
- 66248, 66252, 66256, 66260, 66264, 66268, 66272, 66276, 66280, 66284,
- 66288, 66292, 66296, 66300, 66304, 66308, 66312, 66316, 66320, 66324,
- 66328, 66332, 66336, 66340, 66344, 66348, 66352, 66356, 66360, 66364,
- 66368, 66372, 66376, 66380, 66384, 66388, 66392, 66396, 66400, 66404,
- 66408, 66412, 66416, 66420, 66424, 66428, 66432, 66436, 66440, 66444,
- 66448, 66452, 66456, 66460, 66464, 66468, 66472, 66476, 66480, 66484,
- 66488, 66492, 66496, 66500, 66504, 66508, 66512, 66516, 66520, 66524,
- 66528, 66532, 66536, 66540, 66544, 66548, 66552, 66556, 66560, 66564,
- 66568, 66572, 66576, 66580, 66584, 66588, 66592, 66596, 66599, 66603,
- 66607, 66611, 66615, 66619, 66623, 66627, 66631, 66635, 66639, 66643,
- 66647, 66651, 66655, 66659, 66663, 66667, 66671, 66675, 66679, 66683,
- 66687, 66691, 66695, 66699, 66703, 66707, 66711, 66715, 66719, 66723,
- 66727, 66731, 66735, 66739, 66743, 66747, 66751, 66755, 66759, 66763,
- 66767, 66771, 66775, 66779, 66783, 66787, 66791, 66795, 66799, 66803,
- 66807, 66811, 66815, 66819, 66823, 66827, 66831, 66835, 66839, 66843,
- 66847, 66851, 66855, 66859, 66863, 66867, 66871, 66875, 66879, 66883,
- 66887, 66891, 66895, 66899, 66903, 66907, 66911, 66915, 66919, 66923,
- 66927, 66931, 66935, 66939, 66943, 66947, 66951, 66955, 66959, 66963,
- 66967, 66971, 66975, 66979, 66983, 66987, 66991, 66995, 66999, 67003,
- 67007, 67011, 67015, 67019, 67023, 67027, 67031, 67035, 67039, 67043,
- 67047, 67051, 67055, 67059, 67063, 67067, 67071, 67075, 67079, 67083,
- 67087, 67091, 67095, 67099, 67103, 67107, 67111, 67115, 67119, 67123,
- 67127, 67131, 67135, 67139, 67143, 67147, 67151, 67155, 67159, 67163,
- 67167, 67171, 67175, 67179, 67183, 67187, 67191, 67195, 67199, 67202,
- 67206, 67210, 67214, 67218, 67222, 67226, 67230, 67233, 67237, 67241,
- 67245, 67249, 67253, 67257, 67261, 67265, 67269, 67273, 67277, 67281,
- 67285, 67289, 67293, 67297, 67301, 67305, 67309, 67313, 67317, 67321,
- 67325, 67329, 67333, 67337, 67341, 67345, 67349, 67353, 67357, 67361,
- 67365, 67369, 67373, 67377, 67381, 67385, 67389, 67393, 67397, 67401,
- 67405, 67409, 67413, 67417, 67421, 67425, 67429, 67433, 67437, 67441,
- 67445, 67449, 67453, 67457, 67461, 67465, 67469, 67473, 67477, 67481,
- 67485, 67489, 67493, 67497, 67501, 67505, 67509, 67513, 67517, 67521,
- 67525, 67529, 67533, 67537, 67541, 67545, 67549, 67553, 67557, 67561,
- 67565, 67569, 67573, 67577, 67581, 67585, 67589, 67593, 67597, 67601,
- 67605, 67609, 67613, 67617, 67621, 67625, 67629, 67633, 67637, 67641,
- 67645, 67649, 67653, 67657, 67661, 67665, 67669, 67673, 67677, 67681,
- 67685, 67689, 67693, 67697, 67701, 67705, 67709, 67713, 67717, 67721,
- 67725, 67729, 67733, 67737, 67741, 67745, 67749, 67753, 67757, 67761,
- 67765, 67769, 67773, 67777, 67781, 67785, 67789, 67793, 67797, 67801,
- 67805, 67809, 67813, 67817, 67821, 67825, 67829, 67833, 67837, 67841,
- 67845, 67849, 67853, 67857, 67861, 67865, 67869, 67873, 67877, 67881,
- 67885, 67889, 67893, 67897, 67901, 67905, 67909, 67913, 67917, 67921,
- 67925, 67929, 67933, 67937, 67941, 67945, 67949, 67953, 67957, 67960,
- 67964, 67968, 67972, 67976, 67980, 67984, 67988, 67992, 67996, 68000,
- 68004, 68008, 68012, 68016, 68020, 68024, 68028, 68032, 68036, 68040,
- 68044, 68048, 68052, 68056, 68060, 68064, 68068, 68072, 68076, 68080,
- 68084, 68088, 68092, 68096, 68100, 68104, 68108, 68112, 68116, 68120,
- 68124, 68128, 68132, 68136, 68140, 68144, 68148, 68152, 68156, 68160,
- 68164, 68168, 68172, 68176, 68180, 68184, 68188, 68192, 68196, 68200,
- 68204, 68208, 68212, 68216, 68220, 68224, 68228, 68232, 68236, 68240,
- 68244, 68248, 68252, 68256, 68260, 68264, 68268, 68272, 68276, 68280,
- 68284, 68288, 68292, 68296, 68300, 68304, 68308, 68312, 68316, 68320,
- 68324, 68328, 68332, 68336, 68340, 68344, 68348, 68352, 68356, 68360,
- 68364, 68368, 68372, 68376, 68380, 68384, 68388, 68392, 68396, 68400,
- 68404, 68408, 68412, 68416, 68420, 68424, 68428, 68432, 68436, 68440,
- 68444, 68448, 68452, 68456, 68460, 68464, 68468, 68472, 68476, 68480,
- 68484, 68488, 68492, 68496, 68500, 68504, 68508, 68512, 68516, 68520,
- 68524, 68528, 68532, 68536, 68540, 68544, 68548, 68552, 68556, 68560,
- 68564, 68568, 68572, 68576, 68580, 68584, 68588, 68592, 68596, 68600,
- 68604, 68608, 68612, 68616, 68620, 68624, 68628, 68632, 68636, 68640,
- 68644, 68648, 68652, 68656, 68660, 68664, 68668, 68672, 68676, 68680,
- 68684, 68688, 68692, 68696, 68700, 68704, 68708, 68712, 68716, 68720,
- 68724, 68728, 68732, 68736, 68740, 0, 0, 0, 68744, 68748, 68752, 68756,
- 68760, 68764, 68768, 68772, 68776, 68780, 68784, 68788, 68792, 68796,
- 68800, 68804, 68808, 68812, 68816, 68820, 68824, 68828, 68832, 68836,
- 68840, 68844, 68848, 68852, 68856, 68860, 68864, 68868, 68872, 68876,
- 68880, 68884, 68888, 68892, 68896, 68900, 68904, 68908, 68912, 68916,
- 68920, 68924, 68928, 68932, 68936, 68940, 68944, 68948, 68952, 68956,
- 68960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68964, 68969, 68973, 68978, 68983,
- 68988, 68993, 68998, 69002, 69007, 69012, 69017, 69022, 69027, 69032,
- 69037, 69041, 69045, 69050, 69054, 69059, 69064, 69069, 69073, 69078,
- 69083, 69088, 69093, 69098, 69102, 69107, 69111, 69116, 69120, 69125,
- 69129, 69133, 69137, 69142, 69147, 69152, 69160, 69168, 69176, 69184,
- 69191, 69199, 69205, 69213, 69217, 69221, 69225, 69229, 69233, 69237,
- 69241, 69245, 69249, 69253, 69257, 69261, 69265, 69269, 69273, 69277,
- 69281, 69285, 69289, 69293, 69297, 69301, 69305, 69309, 69313, 69317,
- 69321, 69325, 69329, 69333, 69337, 69341, 69345, 69349, 69353, 69357,
- 69360, 69364, 69368, 69372, 69376, 69380, 69384, 69388, 69392, 69396,
- 69400, 69404, 69408, 69412, 69416, 69420, 69424, 69428, 69432, 69436,
- 69440, 69444, 69448, 69452, 69456, 69460, 69464, 69468, 69472, 69476,
- 69480, 69484, 69488, 69492, 69496, 69500, 69504, 69507, 69511, 69515,
- 69518, 69522, 69526, 69530, 69533, 69537, 69541, 69545, 69549, 69553,
- 69557, 69561, 69565, 69569, 69573, 69577, 69581, 69585, 69589, 69592,
- 69596, 69600, 69603, 69607, 69611, 69615, 69619, 69623, 69627, 69630,
- 69633, 69637, 69641, 69645, 69648, 69651, 69655, 69659, 69663, 69667,
- 69671, 69675, 69679, 69683, 69687, 69691, 69695, 69699, 69703, 69707,
- 69711, 69715, 69719, 69723, 69727, 69731, 69735, 69739, 69743, 69747,
- 69751, 69755, 69759, 69763, 69767, 69771, 69775, 69779, 69783, 69787,
- 69791, 69795, 69799, 69802, 69806, 69810, 69814, 69818, 69822, 69826,
- 69830, 69834, 69838, 69842, 69846, 69850, 69854, 69858, 69862, 69866,
- 69870, 69874, 69878, 69882, 69886, 69890, 69894, 69898, 69902, 69906,
- 69910, 69914, 69918, 69922, 69926, 69930, 69934, 69938, 69942, 69946,
- 69949, 69953, 69957, 69961, 69965, 69969, 69973, 69977, 69981, 69985,
- 69989, 69993, 69997, 70001, 70005, 70009, 70013, 70016, 70020, 70024,
- 70028, 70032, 70036, 70040, 70044, 70048, 70052, 70056, 70060, 70064,
- 70068, 70072, 70076, 70080, 70084, 70088, 70092, 70096, 70100, 70103,
- 70107, 70111, 70115, 70119, 70123, 70127, 70131, 70135, 70139, 70143,
- 70147, 70151, 70155, 70159, 70163, 70167, 70171, 70175, 70179, 70183,
- 70187, 70191, 70195, 70199, 70203, 70207, 70211, 70215, 70219, 70223,
- 70227, 70231, 70235, 70239, 70243, 70247, 70251, 70255, 70259, 70263,
- 70267, 70271, 70275, 70278, 70283, 70287, 70293, 70298, 70304, 70308,
- 70312, 70316, 70320, 70324, 70328, 70332, 70336, 70340, 70344, 70348,
- 70352, 70356, 70360, 70363, 70366, 70369, 70372, 70375, 70378, 70381,
- 70384, 70387, 70392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 70398, 70403, 70408, 70413, 70418, 70425, 70432, 70437, 70442,
- 70447, 70452, 70459, 70466, 70473, 70480, 70487, 70494, 70504, 70514,
- 70521, 70528, 70535, 70542, 70548, 70554, 70563, 70572, 70579, 70586,
- 70597, 70608, 70613, 70618, 70625, 70632, 70639, 70646, 70653, 70660,
- 70667, 70674, 70680, 70686, 70692, 70698, 70705, 70712, 70717, 70721,
- 70728, 70735, 70742, 70746, 70753, 70757, 70762, 70766, 70772, 70777,
- 70783, 70788, 70792, 70796, 70799, 70802, 70807, 70812, 70817, 70822,
- 70827, 70832, 70837, 70842, 70847, 70852, 70861, 70870, 70875, 70880,
- 70885, 70890, 70895, 70900, 70905, 70910, 70915, 70920, 70925, 0, 0, 0,
- 0, 0, 0, 0, 70930, 70936, 70939, 70942, 70945, 70949, 70953, 70957,
- 70961, 70964, 70968, 70971, 70975, 70978, 70982, 70986, 70990, 70994,
- 70998, 71002, 71006, 71009, 71013, 71017, 71021, 71025, 71029, 71033,
- 71037, 71041, 71045, 71049, 71053, 71057, 71061, 71065, 71068, 71072,
- 71076, 71080, 71084, 71088, 71092, 71096, 71100, 71104, 71108, 71112,
- 71116, 71120, 71124, 71128, 71132, 71136, 71140, 71144, 71148, 71152,
- 71156, 71160, 71164, 71167, 71171, 71175, 71179, 71183, 71187, 71191,
- 71195, 71198, 71202, 71206, 71210, 71214, 71218, 71222, 71226, 71230,
- 71234, 71238, 71242, 71246, 71251, 71256, 71259, 71264, 71267, 71270,
- 71273, 0, 0, 0, 0, 0, 0, 0, 0, 71277, 71286, 71295, 71304, 71313, 71322,
- 71331, 71340, 71349, 71357, 71364, 71372, 71379, 71387, 71397, 71406,
- 71416, 71425, 71435, 71443, 71450, 71458, 71465, 71473, 71478, 71483,
- 71488, 71497, 71503, 71509, 71516, 71525, 71533, 71541, 71549, 71556,
- 71563, 71570, 71577, 71582, 71587, 71592, 71597, 71602, 71607, 71612,
- 71617, 71625, 71633, 71639, 71645, 71650, 71655, 71660, 71665, 71670,
- 71675, 71680, 71685, 71693, 71701, 71706, 71711, 71721, 71731, 71738,
- 71745, 71754, 71763, 71775, 71787, 71793, 71799, 71807, 71815, 71825,
- 71835, 71842, 71849, 71854, 71859, 71871, 71883, 71891, 71899, 71909,
- 71919, 71931, 71943, 71952, 71961, 71968, 71975, 71982, 71989, 71998,
- 72007, 72012, 72017, 72024, 72031, 72038, 72045, 72057, 72069, 72074,
- 72079, 72084, 72089, 72094, 72099, 72104, 72109, 72113, 72118, 72123,
- 72128, 72133, 72138, 72144, 72149, 72154, 72161, 72168, 72175, 72182,
- 72189, 72198, 72207, 72213, 72219, 72225, 72231, 72238, 72245, 72252,
- 72259, 72266, 72270, 72277, 72282, 72287, 72294, 0, 72307, 72315, 72323,
- 72330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72337, 72346, 72355, 72364,
- 72373, 72382, 72391, 72400, 72409, 72418, 72427, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63683, 63692, 63701, 63712,
+ 63719, 63724, 63729, 63736, 63743, 63749, 63754, 63759, 63764, 63769,
+ 63776, 63781, 63786, 63791, 63802, 63807, 63812, 63819, 63824, 63831,
+ 63836, 63841, 63848, 63855, 63862, 63871, 63880, 63885, 63890, 63895,
+ 63902, 63907, 63917, 63924, 63929, 63934, 63939, 63944, 63949, 63954,
+ 63963, 63970, 63977, 63982, 63989, 63994, 64001, 64010, 64021, 64026,
+ 64035, 64040, 64047, 64056, 64065, 64070, 64075, 64082, 64088, 64095,
+ 64102, 64106, 64110, 64113, 64117, 64121, 64125, 64129, 64133, 64137,
+ 64141, 64144, 64148, 64152, 64156, 64160, 64164, 64168, 64171, 64175,
+ 64179, 64182, 64186, 64190, 64194, 64198, 64202, 64206, 64210, 64214,
+ 64218, 64222, 64226, 64230, 64234, 64238, 64242, 64246, 64250, 64254,
+ 64258, 64262, 64266, 64270, 64274, 64278, 64282, 64286, 64290, 64294,
+ 64298, 64302, 64306, 64310, 64314, 64318, 64322, 64326, 64330, 64334,
+ 64338, 64342, 64346, 64350, 64354, 64358, 64361, 64365, 64369, 64373,
+ 64377, 64381, 64385, 64389, 64393, 64397, 64401, 64405, 64409, 64413,
+ 64417, 64421, 64425, 64429, 64433, 64437, 64441, 64445, 64449, 64453,
+ 64457, 64461, 64465, 64469, 64473, 64477, 64481, 64485, 64489, 64493,
+ 64497, 64501, 64505, 64509, 64513, 64517, 64521, 64525, 64529, 64533,
+ 64537, 64541, 64545, 64549, 64553, 64557, 64561, 64565, 64569, 64573,
+ 64577, 64581, 64585, 64589, 64593, 64597, 64601, 64605, 64609, 64613,
+ 64617, 64621, 64625, 64629, 64633, 64637, 64641, 64645, 64649, 64653,
+ 64657, 64661, 64665, 64669, 64673, 64677, 64681, 64685, 64689, 64693,
+ 64697, 64701, 64705, 64709, 64713, 64717, 64721, 64725, 64729, 64733,
+ 64737, 64741, 64745, 64749, 64753, 64757, 64761, 64765, 64769, 64773,
+ 64777, 64781, 64785, 64789, 64793, 64797, 64801, 64805, 64809, 64813,
+ 64817, 64821, 64825, 64829, 64832, 64836, 64840, 64844, 64848, 64852,
+ 64856, 64860, 64864, 64868, 64872, 64876, 64880, 64884, 64888, 64892,
+ 64896, 64900, 64904, 64908, 64912, 64916, 64920, 64924, 64928, 64932,
+ 64936, 64940, 64944, 64948, 64952, 64956, 64960, 64964, 64968, 64972,
+ 64976, 64980, 64984, 64988, 64992, 64996, 65000, 65004, 65008, 65012,
+ 65016, 65020, 65024, 65028, 65032, 65036, 65040, 65044, 65048, 65052,
+ 65056, 65060, 65064, 65068, 65072, 65076, 65080, 65084, 65088, 65092,
+ 65096, 65100, 65104, 65108, 65112, 65116, 65120, 65124, 65128, 65132,
+ 65136, 65140, 65144, 65148, 65152, 65156, 65160, 65164, 65168, 65172,
+ 65176, 65180, 65184, 65188, 65192, 65196, 65200, 65204, 65208, 65212,
+ 65216, 65220, 65224, 65228, 65232, 65236, 65240, 65244, 65248, 65252,
+ 65256, 65260, 65264, 65268, 65272, 65276, 65280, 65284, 65288, 65292,
+ 65295, 65299, 65303, 65307, 65311, 65315, 65319, 65323, 65327, 65331,
+ 65335, 65339, 65343, 65347, 65351, 65355, 65359, 65363, 65367, 65371,
+ 65375, 65379, 65383, 65387, 65391, 65395, 65399, 65403, 65407, 65411,
+ 65415, 65419, 65423, 65427, 65431, 65435, 65439, 65443, 65447, 65451,
+ 65455, 65459, 65463, 65467, 65471, 65475, 65479, 65483, 65487, 65491,
+ 65495, 65499, 65503, 65507, 65511, 65515, 65519, 65523, 65527, 65531,
+ 65535, 65539, 65543, 65547, 65551, 65555, 65559, 65563, 65567, 65571,
+ 65575, 65579, 65583, 65587, 65591, 65595, 65599, 65603, 65607, 65611,
+ 65615, 65619, 65623, 65627, 65631, 65635, 65639, 65643, 65647, 65651,
+ 65654, 65658, 65662, 65666, 65670, 65674, 65678, 65682, 65686, 65690,
+ 65694, 65698, 65702, 65706, 65710, 65714, 65718, 65722, 65726, 65730,
+ 65734, 65738, 65742, 65746, 65750, 65754, 65758, 65762, 65766, 65770,
+ 65774, 65778, 65782, 65786, 65790, 65794, 65798, 65802, 65806, 65810,
+ 65814, 65818, 65822, 65826, 65830, 65834, 65838, 65842, 65846, 65850,
+ 65854, 65858, 65862, 65866, 65870, 65874, 65878, 65882, 65886, 65890,
+ 65894, 65898, 65902, 65906, 65910, 65914, 65918, 65922, 65926, 65930,
+ 65934, 65938, 65942, 65946, 65950, 65954, 65958, 65962, 65966, 65970,
+ 65974, 65978, 65982, 65986, 65990, 65994, 65998, 66002, 66006, 66010,
+ 66014, 66018, 66022, 66026, 66030, 66034, 66038, 66042, 66046, 66050,
+ 66054, 66058, 66062, 66066, 66070, 66074, 66078, 66082, 66086, 66090,
+ 66094, 66098, 66102, 66106, 66110, 66114, 66118, 66122, 66126, 66130,
+ 66134, 66138, 66142, 66146, 66149, 66153, 66157, 66161, 66165, 66169,
+ 66173, 66177, 66181, 66185, 66189, 66193, 66197, 66201, 66205, 66209,
+ 66213, 66217, 66221, 66225, 66229, 66233, 66237, 66241, 66245, 66249,
+ 66253, 66257, 66261, 66265, 66269, 66273, 66277, 66281, 66285, 66289,
+ 66293, 66297, 66301, 66305, 66309, 66313, 66317, 66321, 66325, 66329,
+ 66333, 66337, 66341, 66345, 66349, 66353, 66357, 66361, 66365, 66369,
+ 66373, 66377, 66381, 66385, 66389, 66393, 66397, 66401, 66405, 66409,
+ 66413, 66417, 66421, 66425, 66429, 66433, 66437, 66441, 66445, 66449,
+ 66453, 66457, 66461, 66465, 66469, 66473, 66477, 66481, 66485, 66489,
+ 66493, 66497, 66501, 66505, 66509, 66513, 66517, 66521, 66525, 66529,
+ 66533, 66537, 66541, 66545, 66549, 66553, 66557, 66561, 66565, 66569,
+ 66573, 66577, 66581, 66585, 66589, 66593, 66597, 66601, 66604, 66608,
+ 66612, 66616, 66620, 66624, 66628, 66632, 66636, 66640, 66644, 66648,
+ 66652, 66656, 66660, 66664, 66668, 66672, 66676, 66680, 66684, 66688,
+ 66692, 66696, 66700, 66704, 66708, 66712, 66716, 66720, 66724, 66728,
+ 66732, 66736, 66740, 66744, 66748, 66752, 66756, 66760, 66764, 66768,
+ 66772, 66776, 66780, 66784, 66788, 66792, 66796, 66800, 66804, 66808,
+ 66812, 66816, 66820, 66824, 66828, 66832, 66836, 66840, 66844, 66848,
+ 66852, 66856, 66860, 66864, 66868, 66872, 66876, 66880, 66884, 66888,
+ 66892, 66896, 66900, 66904, 66908, 66912, 66916, 66920, 66924, 66928,
+ 66932, 66936, 66940, 66944, 66948, 66952, 66956, 66960, 66964, 66968,
+ 66972, 66976, 66980, 66984, 66988, 66992, 66996, 67000, 67004, 67008,
+ 67012, 67016, 67020, 67024, 67028, 67032, 67036, 67040, 67044, 67048,
+ 67052, 67056, 67060, 67064, 67068, 67072, 67076, 67080, 67084, 67088,
+ 67092, 67096, 67100, 67104, 67108, 67112, 67116, 67120, 67124, 67128,
+ 67132, 67136, 67140, 67144, 67148, 67152, 67156, 67160, 67164, 67168,
+ 67172, 67176, 67180, 67184, 67188, 67192, 67196, 67200, 67204, 67207,
+ 67211, 67215, 67219, 67223, 67227, 67231, 67235, 67238, 67242, 67246,
+ 67250, 67254, 67258, 67262, 67266, 67270, 67274, 67278, 67282, 67286,
+ 67290, 67294, 67298, 67302, 67306, 67310, 67314, 67318, 67322, 67326,
+ 67330, 67334, 67338, 67342, 67346, 67350, 67354, 67358, 67362, 67366,
+ 67370, 67374, 67378, 67382, 67386, 67390, 67394, 67398, 67402, 67406,
+ 67410, 67414, 67418, 67422, 67426, 67430, 67434, 67438, 67442, 67446,
+ 67450, 67454, 67458, 67462, 67466, 67470, 67474, 67478, 67482, 67486,
+ 67490, 67494, 67498, 67502, 67506, 67510, 67514, 67518, 67522, 67526,
+ 67530, 67534, 67538, 67542, 67546, 67550, 67554, 67558, 67562, 67566,
+ 67570, 67574, 67578, 67582, 67586, 67590, 67594, 67598, 67602, 67606,
+ 67610, 67614, 67618, 67622, 67626, 67630, 67634, 67638, 67642, 67646,
+ 67650, 67654, 67658, 67662, 67666, 67670, 67674, 67678, 67682, 67686,
+ 67690, 67694, 67698, 67702, 67706, 67710, 67714, 67718, 67722, 67726,
+ 67730, 67734, 67738, 67742, 67746, 67750, 67754, 67758, 67762, 67766,
+ 67770, 67774, 67778, 67782, 67786, 67790, 67794, 67798, 67802, 67806,
+ 67810, 67814, 67818, 67822, 67826, 67830, 67834, 67838, 67842, 67846,
+ 67850, 67854, 67858, 67862, 67866, 67870, 67874, 67878, 67882, 67886,
+ 67890, 67894, 67898, 67902, 67906, 67910, 67914, 67918, 67922, 67926,
+ 67930, 67934, 67938, 67942, 67946, 67950, 67954, 67958, 67962, 67965,
+ 67969, 67973, 67977, 67981, 67985, 67989, 67993, 67997, 68001, 68005,
+ 68009, 68013, 68017, 68021, 68025, 68029, 68033, 68037, 68041, 68045,
+ 68049, 68053, 68057, 68061, 68065, 68069, 68073, 68077, 68081, 68085,
+ 68089, 68093, 68097, 68101, 68105, 68109, 68113, 68117, 68121, 68125,
+ 68129, 68133, 68137, 68141, 68145, 68149, 68153, 68157, 68161, 68165,
+ 68169, 68173, 68177, 68181, 68185, 68189, 68193, 68197, 68201, 68205,
+ 68209, 68213, 68217, 68221, 68225, 68229, 68233, 68237, 68241, 68245,
+ 68249, 68253, 68257, 68261, 68265, 68269, 68273, 68277, 68281, 68285,
+ 68289, 68293, 68297, 68301, 68305, 68309, 68313, 68317, 68321, 68325,
+ 68329, 68333, 68337, 68341, 68345, 68349, 68353, 68357, 68361, 68365,
+ 68369, 68373, 68377, 68381, 68385, 68389, 68393, 68397, 68401, 68405,
+ 68409, 68413, 68417, 68421, 68425, 68429, 68433, 68437, 68441, 68445,
+ 68449, 68453, 68457, 68461, 68465, 68469, 68473, 68477, 68481, 68485,
+ 68489, 68493, 68497, 68501, 68505, 68509, 68513, 68517, 68521, 68525,
+ 68529, 68533, 68537, 68541, 68545, 68549, 68553, 68557, 68561, 68565,
+ 68569, 68573, 68577, 68581, 68585, 68589, 68593, 68597, 68601, 68605,
+ 68609, 68613, 68617, 68621, 68625, 68629, 68633, 68637, 68641, 68645,
+ 68649, 68653, 68657, 68661, 68665, 68669, 68673, 68677, 68681, 68685,
+ 68689, 68693, 68697, 68701, 68705, 68709, 68713, 68717, 68721, 68725,
+ 68729, 68733, 68737, 68741, 68745, 0, 0, 0, 68749, 68753, 68757, 68761,
+ 68765, 68769, 68773, 68777, 68781, 68785, 68789, 68793, 68797, 68801,
+ 68805, 68809, 68813, 68817, 68821, 68825, 68829, 68833, 68837, 68841,
+ 68845, 68849, 68853, 68857, 68861, 68865, 68869, 68873, 68877, 68881,
+ 68885, 68889, 68893, 68897, 68901, 68905, 68909, 68913, 68917, 68921,
+ 68925, 68929, 68933, 68937, 68941, 68945, 68949, 68953, 68957, 68961,
+ 68965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68969, 68974, 68978, 68983, 68988,
+ 68993, 68998, 69003, 69007, 69012, 69017, 69022, 69027, 69032, 69037,
+ 69042, 69046, 69050, 69055, 69059, 69064, 69069, 69074, 69078, 69083,
+ 69088, 69093, 69098, 69103, 69107, 69112, 69116, 69121, 69125, 69130,
+ 69134, 69138, 69142, 69147, 69152, 69157, 69165, 69173, 69181, 69189,
+ 69196, 69204, 69210, 69218, 69222, 69226, 69230, 69234, 69238, 69242,
+ 69246, 69250, 69254, 69258, 69262, 69266, 69270, 69274, 69278, 69282,
+ 69286, 69290, 69294, 69298, 69302, 69306, 69310, 69314, 69318, 69322,
+ 69326, 69330, 69334, 69338, 69342, 69346, 69350, 69354, 69358, 69362,
+ 69365, 69369, 69373, 69377, 69381, 69385, 69389, 69393, 69397, 69401,
+ 69405, 69409, 69413, 69417, 69421, 69425, 69429, 69433, 69437, 69441,
+ 69445, 69449, 69453, 69457, 69461, 69465, 69469, 69473, 69477, 69481,
+ 69485, 69489, 69493, 69497, 69501, 69505, 69509, 69512, 69516, 69520,
+ 69523, 69527, 69531, 69535, 69538, 69542, 69546, 69550, 69554, 69558,
+ 69562, 69566, 69570, 69574, 69578, 69582, 69586, 69590, 69594, 69597,
+ 69601, 69605, 69608, 69612, 69616, 69620, 69624, 69628, 69632, 69635,
+ 69638, 69642, 69646, 69650, 69653, 69656, 69660, 69664, 69668, 69672,
+ 69676, 69680, 69684, 69688, 69692, 69696, 69700, 69704, 69708, 69712,
+ 69716, 69720, 69724, 69728, 69732, 69736, 69740, 69744, 69748, 69752,
+ 69756, 69760, 69764, 69768, 69772, 69776, 69780, 69784, 69788, 69792,
+ 69796, 69800, 69804, 69807, 69811, 69815, 69819, 69823, 69827, 69831,
+ 69835, 69839, 69843, 69847, 69851, 69855, 69859, 69863, 69867, 69871,
+ 69875, 69879, 69883, 69887, 69891, 69895, 69899, 69903, 69907, 69911,
+ 69915, 69919, 69923, 69927, 69931, 69935, 69939, 69943, 69947, 69951,
+ 69954, 69958, 69962, 69966, 69970, 69974, 69978, 69982, 69986, 69990,
+ 69994, 69998, 70002, 70006, 70010, 70014, 70018, 70021, 70025, 70029,
+ 70033, 70037, 70041, 70045, 70049, 70053, 70057, 70061, 70065, 70069,
+ 70073, 70077, 70081, 70085, 70089, 70093, 70097, 70101, 70105, 70108,
+ 70112, 70116, 70120, 70124, 70128, 70132, 70136, 70140, 70144, 70148,
+ 70152, 70156, 70160, 70164, 70168, 70172, 70176, 70180, 70184, 70188,
+ 70192, 70196, 70200, 70204, 70208, 70212, 70216, 70220, 70224, 70228,
+ 70232, 70236, 70240, 70244, 70248, 70252, 70256, 70260, 70264, 70268,
+ 70272, 70276, 70280, 70283, 70288, 70292, 70298, 70303, 70309, 70313,
+ 70317, 70321, 70325, 70329, 70333, 70337, 70341, 70345, 70349, 70353,
+ 70357, 70361, 70365, 70368, 70371, 70374, 70377, 70380, 70383, 70386,
+ 70389, 70392, 70397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 70403, 70408, 70413, 70418, 70423, 70430, 70437, 70442, 70447,
+ 70452, 70457, 70464, 70471, 70478, 70485, 70492, 70499, 70509, 70519,
+ 70526, 70533, 70540, 70547, 70553, 70559, 70568, 70577, 70584, 70591,
+ 70602, 70613, 70618, 70623, 70630, 70637, 70644, 70651, 70658, 70665,
+ 70672, 70679, 70685, 70691, 70697, 70703, 70710, 70717, 70722, 70726,
+ 70733, 70740, 70747, 70751, 70758, 70762, 70767, 70771, 70777, 70782,
+ 70788, 70793, 70797, 70801, 70804, 70807, 70812, 70817, 70822, 70827,
+ 70832, 70837, 70842, 70847, 70852, 70857, 70866, 70875, 70880, 70885,
+ 70890, 70895, 70900, 70905, 70910, 70915, 70920, 70925, 70930, 0, 0, 0,
+ 0, 0, 0, 0, 70935, 70941, 70944, 70947, 70950, 70954, 70958, 70962,
+ 70966, 70969, 70973, 70976, 70980, 70983, 70987, 70991, 70995, 70999,
+ 71003, 71007, 71011, 71014, 71018, 71022, 71026, 71030, 71034, 71038,
+ 71042, 71046, 71050, 71054, 71058, 71062, 71066, 71070, 71073, 71077,
+ 71081, 71085, 71089, 71093, 71097, 71101, 71105, 71109, 71113, 71117,
+ 71121, 71125, 71129, 71133, 71137, 71141, 71145, 71149, 71153, 71157,
+ 71161, 71165, 71169, 71172, 71176, 71180, 71184, 71188, 71192, 71196,
+ 71200, 71203, 71207, 71211, 71215, 71219, 71223, 71227, 71231, 71235,
+ 71239, 71243, 71247, 71251, 71256, 71261, 71264, 71269, 71272, 71275,
+ 71278, 0, 0, 0, 0, 0, 0, 0, 0, 71282, 71291, 71300, 71309, 71318, 71327,
+ 71336, 71345, 71354, 71362, 71369, 71377, 71384, 71392, 71402, 71411,
+ 71421, 71430, 71440, 71448, 71455, 71463, 71470, 71478, 71483, 71488,
+ 71493, 71502, 71508, 71514, 71521, 71530, 71538, 71546, 71554, 71561,
+ 71568, 71575, 71582, 71587, 71592, 71597, 71602, 71607, 71612, 71617,
+ 71622, 71630, 71638, 71644, 71650, 71655, 71660, 71665, 71670, 71675,
+ 71680, 71685, 71690, 71698, 71706, 71711, 71716, 71726, 71736, 71743,
+ 71750, 71759, 71768, 71780, 71792, 71798, 71804, 71812, 71820, 71830,
+ 71840, 71847, 71854, 71859, 71864, 71876, 71888, 71896, 71904, 71914,
+ 71924, 71936, 71948, 71957, 71966, 71973, 71980, 71987, 71994, 72003,
+ 72012, 72017, 72022, 72029, 72036, 72043, 72050, 72062, 72074, 72079,
+ 72084, 72089, 72094, 72099, 72104, 72109, 72114, 72118, 72123, 72128,
+ 72133, 72138, 72143, 72149, 72154, 72159, 72166, 72173, 72180, 72187,
+ 72194, 72203, 72212, 72218, 72224, 72230, 72236, 72243, 72250, 72257,
+ 72264, 72271, 72275, 72282, 72287, 72292, 72299, 0, 72312, 72320, 72328,
+ 72335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72342, 72351, 72360, 72369,
+ 72378, 72387, 72396, 72405, 72414, 72423, 72432, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72434,
- 72441, 72447, 72454, 72462, 72470, 72477, 72485, 72492, 72498, 72504,
- 72511, 72517, 72523, 72529, 72536, 72543, 72550, 72557, 72564, 72571,
- 72578, 72585, 72592, 72599, 72606, 72613, 72620, 72627, 72633, 72640,
- 72647, 72654, 72661, 72668, 72675, 72682, 72689, 72696, 72703, 72710,
- 72717, 72724, 72731, 72738, 72745, 72752, 72759, 72767, 72775, 72783,
- 72791, 0, 0, 0, 0, 72799, 72808, 72817, 72826, 72835, 72844, 72853,
- 72860, 72867, 72874, 0, 0, 0, 0, 0, 0, 72881, 72885, 72890, 72895, 72900,
- 72905, 72910, 72915, 72920, 72925, 72930, 72935, 72939, 72943, 72948,
- 72953, 72957, 72962, 72967, 72972, 72977, 72982, 72987, 72992, 72996,
- 73000, 73005, 73010, 73014, 73018, 73022, 73026, 73030, 73034, 73038,
- 73043, 73048, 73053, 73058, 73063, 73070, 73076, 73081, 73086, 73091,
- 73096, 73102, 73109, 73115, 73122, 73128, 73134, 73139, 73146, 73152,
- 73157, 0, 0, 0, 0, 0, 0, 0, 0, 73163, 73167, 73171, 73174, 73178, 73181,
- 73185, 73188, 73192, 73196, 73201, 73205, 73210, 73213, 73217, 73221,
- 73224, 73228, 73232, 73235, 73239, 73243, 73247, 73251, 73255, 73259,
- 73263, 73267, 73271, 73275, 73279, 73283, 73287, 73291, 73295, 73299,
- 73303, 73307, 73310, 73313, 73317, 73321, 73325, 73328, 73331, 73334,
- 73338, 73342, 73346, 73350, 73353, 73356, 73360, 73365, 73370, 73374,
- 73379, 73383, 73388, 73393, 73399, 73404, 73410, 73414, 73419, 73424,
- 73428, 73433, 73438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73442, 73445, 73449,
- 73453, 73456, 73459, 73462, 73465, 73468, 73471, 73474, 73477, 0, 0, 0,
- 0, 0, 0, 73480, 73485, 73489, 73493, 73497, 73501, 73505, 73509, 73513,
- 73517, 73521, 73525, 73529, 73533, 73537, 73541, 73545, 73550, 73555,
- 73561, 73567, 73574, 73579, 73584, 73590, 73594, 73599, 73602, 0, 0, 0,
- 0, 73605, 73612, 73618, 73624, 73630, 73636, 73642, 73648, 73654, 73660,
- 73666, 73672, 73679, 73686, 73693, 73699, 73706, 73713, 73720, 73727,
- 73734, 73740, 73746, 73753, 73759, 73766, 73773, 73779, 73785, 73792,
- 73799, 73806, 73812, 73819, 73826, 73832, 73839, 73845, 73852, 73859,
- 73865, 73871, 73878, 73884, 73891, 73898, 73907, 73914, 73921, 73925,
- 73930, 73935, 73940, 73945, 73949, 73953, 73958, 73962, 73967, 73972,
- 73977, 73981, 73985, 73990, 73994, 73999, 74003, 74008, 74013, 74018,
- 74023, 74027, 74032, 74037, 74042, 74048, 74053, 74059, 74065, 74071,
- 74077, 74083, 74088, 74094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74098,
- 74103, 74107, 74111, 74115, 74119, 74123, 74127, 74131, 74135, 74139,
- 74143, 74147, 74151, 74155, 74159, 74163, 74167, 74171, 74175, 74179,
- 74183, 74187, 74191, 74195, 74199, 74203, 74207, 74211, 74215, 0, 0, 0,
- 74219, 74223, 74227, 74231, 74235, 74238, 74244, 74247, 74251, 74254,
- 74260, 74266, 74274, 74277, 74281, 74284, 74287, 74293, 74299, 74303,
- 74309, 74313, 74317, 74323, 74327, 74333, 74339, 74343, 74347, 74353,
- 74357, 74363, 74369, 74373, 74379, 74383, 74389, 74392, 74395, 74401,
- 74405, 74411, 74414, 74417, 74420, 74426, 74430, 74434, 74440, 74446,
- 74449, 74452, 74458, 74463, 74468, 74473, 74480, 74485, 74492, 74497,
- 74504, 74509, 74514, 74519, 74524, 74527, 74531, 74535, 74540, 74545,
- 74550, 74555, 74560, 74565, 74570, 74575, 74582, 74587, 0, 74594, 74597,
- 74601, 74604, 74607, 74610, 74613, 74616, 74619, 74622, 74625, 0, 0, 0,
- 0, 74628, 74635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74640, 74643, 74646, 74649, 74652,
- 74656, 74659, 74662, 74666, 74670, 74674, 74678, 74682, 74686, 74690,
- 74694, 74698, 74702, 74706, 74710, 74714, 74718, 74722, 74726, 74730,
- 74733, 74737, 74740, 74744, 74748, 74752, 74756, 74760, 74763, 74767,
- 74770, 74773, 74777, 74781, 74785, 74788, 74791, 74796, 74800, 74805,
- 74810, 74814, 74819, 74823, 74828, 74833, 74838, 74842, 74846, 74851, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 74856, 74861, 74866, 74871, 74877, 74882, 74887,
- 74892, 74897, 74902, 74906, 74910, 74915, 74920, 0, 0, 74926, 74930,
- 74933, 74936, 74939, 74942, 74945, 74948, 74951, 74954, 0, 0, 74957,
- 74962, 74967, 74973, 74980, 74986, 74992, 74998, 75004, 75010, 75016,
- 75022, 75028, 75034, 75040, 75046, 75051, 75056, 75061, 75067, 75073,
- 75080, 75086, 75092, 75097, 75104, 75111, 75118, 75124, 75129, 75134,
- 75139, 0, 0, 0, 0, 75147, 75153, 75159, 75165, 75171, 75177, 75183,
- 75189, 75195, 75201, 75207, 75213, 75219, 75225, 75231, 75237, 75243,
- 75249, 75255, 75261, 75267, 75272, 75277, 75283, 75289, 75295, 75301,
- 75307, 75313, 75319, 75325, 75331, 75337, 75343, 75349, 75355, 75361,
- 75367, 75373, 75379, 75385, 75391, 75397, 75403, 75409, 75415, 75421,
- 75426, 75431, 75437, 75442, 75446, 75451, 75455, 75459, 75463, 75469,
- 75474, 75479, 75484, 75489, 75494, 75499, 75504, 75511, 75518, 75525, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72439,
+ 72446, 72452, 72459, 72467, 72475, 72482, 72490, 72497, 72503, 72509,
+ 72516, 72522, 72528, 72534, 72541, 72548, 72555, 72562, 72569, 72576,
+ 72583, 72590, 72597, 72604, 72611, 72618, 72625, 72632, 72638, 72645,
+ 72652, 72659, 72666, 72673, 72680, 72687, 72694, 72701, 72708, 72715,
+ 72722, 72729, 72736, 72743, 72750, 72757, 72764, 72772, 72780, 72788,
+ 72796, 0, 0, 0, 0, 72804, 72813, 72822, 72831, 72840, 72849, 72858,
+ 72865, 72872, 72879, 0, 0, 0, 0, 0, 0, 72886, 72890, 72895, 72900, 72905,
+ 72910, 72915, 72920, 72925, 72930, 72935, 72940, 72944, 72948, 72953,
+ 72958, 72962, 72967, 72972, 72977, 72982, 72987, 72992, 72997, 73001,
+ 73005, 73010, 73015, 73019, 73023, 73027, 73031, 73035, 73039, 73043,
+ 73048, 73053, 73058, 73063, 73068, 73075, 73081, 73086, 73091, 73096,
+ 73101, 73107, 73114, 73120, 73127, 73133, 73139, 73144, 73151, 73157,
+ 73162, 0, 0, 0, 0, 0, 0, 0, 0, 73168, 73172, 73176, 73179, 73183, 73186,
+ 73190, 73193, 73197, 73201, 73206, 73210, 73215, 73218, 73222, 73226,
+ 73229, 73233, 73237, 73240, 73244, 73248, 73252, 73256, 73260, 73264,
+ 73268, 73272, 73276, 73280, 73284, 73288, 73292, 73296, 73300, 73304,
+ 73308, 73312, 73315, 73318, 73322, 73326, 73330, 73333, 73336, 73339,
+ 73343, 73347, 73351, 73355, 73358, 73361, 73365, 73370, 73375, 73379,
+ 73384, 73388, 73393, 73398, 73404, 73409, 73415, 73419, 73424, 73429,
+ 73433, 73438, 73443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73447, 73450, 73454,
+ 73458, 73461, 73464, 73467, 73470, 73473, 73476, 73479, 73482, 0, 0, 0,
+ 0, 0, 0, 73485, 73490, 73494, 73498, 73502, 73506, 73510, 73514, 73518,
+ 73522, 73526, 73530, 73534, 73538, 73542, 73546, 73550, 73555, 73560,
+ 73566, 73572, 73579, 73584, 73589, 73595, 73599, 73604, 73607, 0, 0, 0,
+ 0, 73610, 73617, 73623, 73629, 73635, 73641, 73647, 73653, 73659, 73665,
+ 73671, 73677, 73684, 73691, 73698, 73704, 73711, 73718, 73725, 73732,
+ 73739, 73745, 73751, 73758, 73764, 73771, 73778, 73784, 73790, 73797,
+ 73804, 73811, 73817, 73824, 73831, 73837, 73844, 73850, 73857, 73864,
+ 73870, 73876, 73883, 73889, 73896, 73903, 73912, 73919, 73926, 73930,
+ 73935, 73940, 73945, 73950, 73954, 73958, 73963, 73967, 73972, 73977,
+ 73982, 73986, 73990, 73995, 73999, 74004, 74008, 74013, 74018, 74023,
+ 74028, 74032, 74037, 74042, 74047, 74053, 74058, 74064, 74070, 74076,
+ 74082, 74088, 74093, 74099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74103,
+ 74108, 74112, 74116, 74120, 74124, 74128, 74132, 74136, 74140, 74144,
+ 74148, 74152, 74156, 74160, 74164, 74168, 74172, 74176, 74180, 74184,
+ 74188, 74192, 74196, 74200, 74204, 74208, 74212, 74216, 74220, 0, 0, 0,
+ 74224, 74228, 74232, 74236, 74240, 74243, 74249, 74252, 74256, 74259,
+ 74265, 74271, 74279, 74282, 74286, 74289, 74292, 74298, 74304, 74308,
+ 74314, 74318, 74322, 74328, 74332, 74338, 74344, 74348, 74352, 74358,
+ 74362, 74368, 74374, 74378, 74384, 74388, 74394, 74397, 74400, 74406,
+ 74410, 74416, 74419, 74422, 74425, 74431, 74435, 74439, 74445, 74451,
+ 74454, 74457, 74463, 74468, 74473, 74478, 74485, 74490, 74497, 74502,
+ 74509, 74514, 74519, 74524, 74529, 74532, 74536, 74540, 74545, 74550,
+ 74555, 74560, 74565, 74570, 74575, 74580, 74587, 74592, 0, 74599, 74602,
+ 74606, 74609, 74612, 74615, 74618, 74621, 74624, 74627, 74630, 0, 0, 0,
+ 0, 74633, 74640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74645, 74648, 74651, 74654, 74657,
+ 74661, 74664, 74667, 74671, 74675, 74679, 74683, 74687, 74691, 74695,
+ 74699, 74703, 74707, 74711, 74715, 74719, 74723, 74727, 74731, 74735,
+ 74738, 74742, 74745, 74749, 74753, 74757, 74761, 74765, 74768, 74772,
+ 74775, 74778, 74782, 74786, 74790, 74793, 74796, 74801, 74805, 74810,
+ 74815, 74819, 74824, 74828, 74833, 74838, 74843, 74847, 74851, 74856, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 74861, 74866, 74871, 74876, 74882, 74887, 74892,
+ 74897, 74902, 74907, 74911, 74915, 74920, 74925, 0, 0, 74931, 74935,
+ 74938, 74941, 74944, 74947, 74950, 74953, 74956, 74959, 0, 0, 74962,
+ 74967, 74972, 74978, 74985, 74991, 74997, 75003, 75009, 75015, 75021,
+ 75027, 75033, 75039, 75045, 75051, 75056, 75061, 75066, 75072, 75078,
+ 75085, 75091, 75097, 75102, 75109, 75116, 75123, 75129, 75134, 75139,
+ 75144, 0, 0, 0, 0, 75152, 75158, 75164, 75170, 75176, 75182, 75188,
+ 75194, 75200, 75206, 75212, 75218, 75224, 75230, 75236, 75242, 75248,
+ 75254, 75260, 75266, 75272, 75277, 75282, 75288, 75294, 75300, 75306,
+ 75312, 75318, 75324, 75330, 75336, 75342, 75348, 75354, 75360, 75366,
+ 75372, 75378, 75384, 75390, 75396, 75402, 75408, 75414, 75420, 75426,
+ 75431, 75436, 75442, 75447, 75451, 75456, 75460, 75464, 75468, 75474,
+ 75479, 75484, 75489, 75494, 75499, 75504, 75509, 75516, 75523, 75530, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 75532, 75537, 75542, 75547, 75554, 75561, 75565, 75569, 75574, 75579,
- 75584, 75589, 75594, 75599, 75604, 75609, 75614, 75620, 75626, 75632,
- 75638, 75644, 75648, 75654, 75658, 75664, 75671, 75677, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 75681, 75685, 75689, 75693, 75697, 75701, 0, 0, 75705, 75709,
- 75713, 75717, 75721, 75725, 0, 0, 75729, 75733, 75737, 75741, 75745,
- 75749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75753, 75757, 75761, 75765, 75769,
- 75773, 75777, 0, 75781, 75785, 75789, 75793, 75797, 75801, 75805, 0, 0,
+ 75537, 75542, 75547, 75552, 75559, 75566, 75570, 75574, 75579, 75584,
+ 75589, 75594, 75599, 75604, 75609, 75614, 75619, 75625, 75631, 75637,
+ 75643, 75649, 75653, 75659, 75663, 75669, 75676, 75682, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 75686, 75690, 75694, 75698, 75702, 75706, 0, 0, 75710, 75714,
+ 75718, 75722, 75726, 75730, 0, 0, 75734, 75738, 75742, 75746, 75750,
+ 75754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75758, 75762, 75766, 75770, 75774,
+ 75778, 75782, 0, 75786, 75790, 75794, 75798, 75802, 75806, 75810, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 75809, 75814, 75819, 75824, 75829, 75833, 75837, 75842, 75847, 75852,
- 75857, 75862, 75867, 75872, 75877, 75882, 75886, 75891, 75896, 75901,
- 75906, 75911, 75916, 75921, 75926, 75931, 75936, 75941, 75948, 75955,
- 75962, 75969, 75976, 75983, 75990, 75997, 76003, 76009, 76015, 76021,
- 76027, 76033, 76039, 76045, 76049, 76055, 0, 0, 76061, 76066, 76070,
- 76074, 76078, 76082, 76086, 76090, 76094, 76098, 0, 0, 0, 0, 0, 0, 0, 0,
+ 75814, 75819, 75824, 75829, 75834, 75838, 75842, 75847, 75852, 75857,
+ 75862, 75867, 75872, 75877, 75882, 75887, 75891, 75896, 75901, 75906,
+ 75911, 75916, 75921, 75926, 75931, 75936, 75941, 75946, 75953, 75960,
+ 75967, 75974, 75981, 75988, 75995, 76002, 76008, 76014, 76020, 76026,
+ 76032, 76038, 76044, 76050, 76054, 76060, 0, 0, 76066, 76071, 76075,
+ 76079, 76083, 76087, 76091, 76095, 76099, 76103, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76102,
- 76106, 76110, 76114, 76118, 76122, 76126, 76130, 76134, 76138, 76142,
- 76146, 76150, 76154, 76158, 76162, 76166, 76170, 76174, 76178, 76182,
- 76186, 76190, 0, 0, 0, 0, 76194, 76198, 76202, 76206, 76210, 76214,
- 76218, 76222, 76226, 76230, 76234, 76238, 76242, 76246, 76250, 76254,
- 76258, 76262, 76266, 76270, 76274, 76278, 76282, 76286, 76290, 76294,
- 76298, 76302, 76306, 76310, 76314, 76318, 76322, 76326, 76330, 76334,
- 76338, 76342, 76346, 76350, 76354, 76358, 76362, 76366, 76370, 76374,
- 76378, 76382, 76386, 0, 0, 0, 0, 76390, 76394, 76398, 76402, 76406,
- 76410, 76414, 76418, 76422, 76426, 76430, 76434, 76438, 76442, 76446,
- 76450, 76454, 76458, 76462, 76466, 76470, 76474, 76478, 76482, 76486,
- 76490, 76494, 76498, 76502, 76506, 76510, 76514, 76518, 76522, 76526,
- 76530, 76534, 76538, 76542, 76546, 76550, 76554, 76558, 76562, 76566,
- 76570, 76574, 76578, 76582, 76586, 76590, 76594, 76598, 76602, 76606,
- 76610, 76614, 76618, 76622, 76626, 76630, 76634, 76638, 76642, 76646,
- 76650, 76654, 76658, 76662, 76666, 76670, 76674, 76678, 76682, 76686,
- 76690, 76694, 76698, 76702, 76706, 76710, 76714, 76718, 76722, 76726,
- 76730, 76734, 76738, 76742, 76746, 76750, 76754, 76758, 76762, 76766,
- 76770, 76774, 76778, 76782, 76786, 76790, 76794, 76798, 76802, 76806,
- 76810, 76814, 76818, 76822, 76826, 76830, 76834, 76838, 76842, 76846,
- 76850, 76854, 76858, 76862, 76866, 76870, 76874, 76878, 76882, 76886,
- 76890, 76894, 76898, 76902, 76906, 76910, 76914, 76918, 76922, 76926,
- 76930, 76934, 76938, 76942, 76946, 76950, 76954, 76958, 76962, 76966,
- 76970, 76974, 76978, 76982, 76986, 76990, 76994, 76998, 77002, 77006,
- 77010, 77014, 77018, 77022, 77026, 77030, 77034, 77038, 77042, 77046,
- 77050, 77054, 77058, 77062, 77066, 77070, 77074, 77078, 77082, 77086,
- 77090, 77094, 77098, 77102, 77106, 77110, 77114, 77118, 77122, 77126,
- 77130, 77134, 77138, 77142, 77146, 77150, 77154, 77158, 77162, 77166,
- 77170, 77174, 77178, 77182, 77186, 77190, 77194, 77198, 77202, 77206,
- 77210, 77214, 77218, 77222, 77226, 77230, 77234, 77238, 77242, 77246,
- 77250, 77254, 77258, 77262, 77266, 77270, 77274, 77278, 77282, 77286,
- 77290, 77294, 77298, 77302, 77306, 77310, 77314, 77318, 77322, 77326,
- 77330, 77334, 77338, 77342, 77346, 77350, 77354, 77358, 77362, 77366,
- 77370, 77374, 77378, 77382, 77386, 77390, 77394, 77398, 77402, 77406,
- 77410, 77414, 77418, 77422, 77426, 77430, 77434, 77438, 77442, 77446,
- 77450, 77454, 77458, 77462, 77466, 77470, 77474, 77478, 77482, 77486,
- 77490, 77494, 77498, 77502, 77506, 77510, 77514, 77518, 77522, 77526,
- 77530, 77534, 77538, 77542, 77546, 77550, 77554, 77558, 77562, 77566,
- 77570, 77574, 77578, 77582, 77586, 77590, 77594, 77598, 77602, 77606,
- 77610, 77614, 77618, 77622, 77626, 77630, 77634, 77638, 77642, 77646,
- 77650, 77654, 77658, 77662, 77666, 77670, 77674, 77678, 77682, 77686,
- 77690, 77694, 77698, 77702, 77706, 77710, 77714, 77718, 77722, 77726,
- 77730, 77734, 77738, 77742, 77746, 77750, 77754, 77758, 77762, 77766,
- 77770, 77774, 77778, 77782, 77786, 77790, 77794, 77798, 77802, 77806,
- 77810, 77814, 77818, 77822, 77826, 77830, 77834, 77838, 77842, 77846,
- 77850, 0, 0, 77854, 77858, 77862, 77866, 77870, 77874, 77878, 77882,
- 77886, 77890, 77894, 77898, 77902, 77906, 77910, 77914, 77918, 77922,
- 77926, 77930, 77934, 77938, 77942, 77946, 77950, 77954, 77958, 77962,
- 77966, 77970, 77974, 77978, 77982, 77986, 77990, 77994, 77998, 78002,
- 78006, 78010, 78014, 78018, 78022, 78026, 78030, 78034, 78038, 78042,
- 78046, 78050, 78054, 78058, 78062, 78066, 78070, 78074, 78078, 78082,
- 78086, 78090, 78094, 78098, 78102, 78106, 78110, 78114, 78118, 78122,
- 78126, 78130, 78134, 78138, 78142, 78146, 78150, 78154, 78158, 78162,
- 78166, 78170, 78174, 78178, 78182, 78186, 78190, 78194, 78198, 78202,
- 78206, 78210, 78214, 78218, 78222, 78226, 78230, 78234, 78238, 78242,
- 78246, 78250, 78254, 78258, 78262, 78266, 78270, 78274, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76107,
+ 76111, 76115, 76119, 76123, 76127, 76131, 76135, 76139, 76143, 76147,
+ 76151, 76155, 76159, 76163, 76167, 76171, 76175, 76179, 76183, 76187,
+ 76191, 76195, 0, 0, 0, 0, 76199, 76203, 76207, 76211, 76215, 76219,
+ 76223, 76227, 76231, 76235, 76239, 76243, 76247, 76251, 76255, 76259,
+ 76263, 76267, 76271, 76275, 76279, 76283, 76287, 76291, 76295, 76299,
+ 76303, 76307, 76311, 76315, 76319, 76323, 76327, 76331, 76335, 76339,
+ 76343, 76347, 76351, 76355, 76359, 76363, 76367, 76371, 76375, 76379,
+ 76383, 76387, 76391, 0, 0, 0, 0, 76395, 76399, 76403, 76407, 76411,
+ 76415, 76419, 76423, 76427, 76431, 76435, 76439, 76443, 76447, 76451,
+ 76455, 76459, 76463, 76467, 76471, 76475, 76479, 76483, 76487, 76491,
+ 76495, 76499, 76503, 76507, 76511, 76515, 76519, 76523, 76527, 76531,
+ 76535, 76539, 76543, 76547, 76551, 76555, 76559, 76563, 76567, 76571,
+ 76575, 76579, 76583, 76587, 76591, 76595, 76599, 76603, 76607, 76611,
+ 76615, 76619, 76623, 76627, 76631, 76635, 76639, 76643, 76647, 76651,
+ 76655, 76659, 76663, 76667, 76671, 76675, 76679, 76683, 76687, 76691,
+ 76695, 76699, 76703, 76707, 76711, 76715, 76719, 76723, 76727, 76731,
+ 76735, 76739, 76743, 76747, 76751, 76755, 76759, 76763, 76767, 76771,
+ 76775, 76779, 76783, 76787, 76791, 76795, 76799, 76803, 76807, 76811,
+ 76815, 76819, 76823, 76827, 76831, 76835, 76839, 76843, 76847, 76851,
+ 76855, 76859, 76863, 76867, 76871, 76875, 76879, 76883, 76887, 76891,
+ 76895, 76899, 76903, 76907, 76911, 76915, 76919, 76923, 76927, 76931,
+ 76935, 76939, 76943, 76947, 76951, 76955, 76959, 76963, 76967, 76971,
+ 76975, 76979, 76983, 76987, 76991, 76995, 76999, 77003, 77007, 77011,
+ 77015, 77019, 77023, 77027, 77031, 77035, 77039, 77043, 77047, 77051,
+ 77055, 77059, 77063, 77067, 77071, 77075, 77079, 77083, 77087, 77091,
+ 77095, 77099, 77103, 77107, 77111, 77115, 77119, 77123, 77127, 77131,
+ 77135, 77139, 77143, 77147, 77151, 77155, 77159, 77163, 77167, 77171,
+ 77175, 77179, 77183, 77187, 77191, 77195, 77199, 77203, 77207, 77211,
+ 77215, 77219, 77223, 77227, 77231, 77235, 77239, 77243, 77247, 77251,
+ 77255, 77259, 77263, 77267, 77271, 77275, 77279, 77283, 77287, 77291,
+ 77295, 77299, 77303, 77307, 77311, 77315, 77319, 77323, 77327, 77331,
+ 77335, 77339, 77343, 77347, 77351, 77355, 77359, 77363, 77367, 77371,
+ 77375, 77379, 77383, 77387, 77391, 77395, 77399, 77403, 77407, 77411,
+ 77415, 77419, 77423, 77427, 77431, 77435, 77439, 77443, 77447, 77451,
+ 77455, 77459, 77463, 77467, 77471, 77475, 77479, 77483, 77487, 77491,
+ 77495, 77499, 77503, 77507, 77511, 77515, 77519, 77523, 77527, 77531,
+ 77535, 77539, 77543, 77547, 77551, 77555, 77559, 77563, 77567, 77571,
+ 77575, 77579, 77583, 77587, 77591, 77595, 77599, 77603, 77607, 77611,
+ 77615, 77619, 77623, 77627, 77631, 77635, 77639, 77643, 77647, 77651,
+ 77655, 77659, 77663, 77667, 77671, 77675, 77679, 77683, 77687, 77691,
+ 77695, 77699, 77703, 77707, 77711, 77715, 77719, 77723, 77727, 77731,
+ 77735, 77739, 77743, 77747, 77751, 77755, 77759, 77763, 77767, 77771,
+ 77775, 77779, 77783, 77787, 77791, 77795, 77799, 77803, 77807, 77811,
+ 77815, 77819, 77823, 77827, 77831, 77835, 77839, 77843, 77847, 77851,
+ 77855, 0, 0, 77859, 77863, 77867, 77871, 77875, 77879, 77883, 77887,
+ 77891, 77895, 77899, 77903, 77907, 77911, 77915, 77919, 77923, 77927,
+ 77931, 77935, 77939, 77943, 77947, 77951, 77955, 77959, 77963, 77967,
+ 77971, 77975, 77979, 77983, 77987, 77991, 77995, 77999, 78003, 78007,
+ 78011, 78015, 78019, 78023, 78027, 78031, 78035, 78039, 78043, 78047,
+ 78051, 78055, 78059, 78063, 78067, 78071, 78075, 78079, 78083, 78087,
+ 78091, 78095, 78099, 78103, 78107, 78111, 78115, 78119, 78123, 78127,
+ 78131, 78135, 78139, 78143, 78147, 78151, 78155, 78159, 78163, 78167,
+ 78171, 78175, 78179, 78183, 78187, 78191, 78195, 78199, 78203, 78207,
+ 78211, 78215, 78219, 78223, 78227, 78231, 78235, 78239, 78243, 78247,
+ 78251, 78255, 78259, 78263, 78267, 78271, 78275, 78279, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 78278, 78283, 78288, 78293, 78298, 78303, 78311,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78316, 78323, 78330, 78337, 78344, 0,
- 0, 0, 0, 0, 78351, 78358, 78365, 78375, 78381, 78387, 78393, 78399,
- 78405, 78411, 78418, 78424, 78430, 78436, 78445, 78454, 78466, 78478,
- 78484, 78490, 78496, 78503, 78510, 78517, 78524, 78531, 0, 78538, 78545,
- 78552, 78560, 78567, 0, 78574, 0, 78581, 78588, 0, 78595, 78603, 0,
- 78610, 78617, 78624, 78631, 78638, 78645, 78652, 78659, 78666, 78673,
- 78678, 78685, 78692, 78698, 78704, 78710, 78716, 78722, 78728, 78734,
- 78740, 78746, 78752, 78758, 78764, 78770, 78776, 78782, 78788, 78794,
- 78800, 78806, 78812, 78818, 78824, 78830, 78836, 78842, 78848, 78854,
- 78860, 78866, 78872, 78878, 78884, 78890, 78896, 78902, 78908, 78914,
- 78920, 78926, 78932, 78938, 78944, 78950, 78956, 78962, 78968, 78974,
- 78980, 78986, 78992, 78998, 79004, 79010, 79016, 79022, 79028, 79034,
- 79040, 79046, 79052, 79058, 79064, 79070, 79076, 79082, 79088, 79094,
- 79100, 79106, 79112, 79118, 79124, 79130, 79136, 79142, 79148, 79156,
- 79164, 79170, 79176, 79182, 79188, 79197, 79206, 79214, 79222, 79230,
- 79238, 79246, 79254, 79262, 79270, 79277, 79284, 79294, 79304, 79308,
- 79312, 79317, 79322, 79327, 79332, 79341, 79350, 79356, 79362, 79369,
- 79376, 79383, 79387, 79393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 79399, 79405, 79411, 79417, 79423, 79428, 79433, 79439, 79445,
- 79451, 79457, 79465, 79471, 79477, 79485, 79493, 79501, 79509, 79514,
- 79519, 79524, 79529, 79542, 79555, 79565, 79575, 79586, 79597, 79608,
- 79619, 79629, 79639, 79650, 79661, 79672, 79683, 79693, 79703, 79713,
- 79729, 79745, 79761, 79768, 79775, 79782, 79789, 79799, 79809, 79819,
- 79831, 79841, 79849, 79857, 79866, 79874, 79884, 79892, 79900, 79908,
- 79917, 79925, 79935, 79943, 79951, 79959, 79969, 79977, 79984, 79991,
- 79998, 80005, 80013, 80021, 80029, 80037, 80045, 80054, 80062, 80070,
- 80078, 80086, 80094, 80103, 80111, 80119, 80127, 80135, 80143, 80151,
- 80159, 80167, 80175, 80183, 80192, 80200, 80210, 80218, 80226, 80234,
- 80244, 80252, 80260, 80268, 80276, 80285, 80294, 80302, 80312, 80320,
- 80328, 80336, 80345, 80353, 80363, 80371, 80378, 80385, 80393, 80400,
- 80409, 80416, 80424, 80432, 80441, 80449, 80459, 80467, 80475, 80483,
- 80493, 80501, 80508, 80515, 80523, 80530, 80539, 80546, 80556, 80566,
- 80577, 80586, 80595, 80604, 80613, 80622, 80632, 80643, 80654, 80664,
- 80675, 80687, 80697, 80706, 80715, 80723, 80732, 80742, 80750, 80759,
- 80768, 80776, 80785, 80795, 80803, 80812, 80821, 80829, 80838, 80848,
- 80856, 80866, 80874, 80884, 80892, 80900, 80909, 80917, 80927, 80935,
- 80943, 80953, 80961, 80968, 80975, 80984, 80993, 81001, 81010, 81020,
- 81028, 81039, 81047, 81055, 81062, 81070, 81079, 81086, 81096, 81106,
- 81117, 81127, 81138, 81146, 81154, 81163, 81171, 81180, 81188, 81196,
- 81205, 81213, 81222, 81230, 81237, 81244, 81251, 81258, 81266, 81274,
- 81282, 81290, 81299, 81307, 81315, 81324, 81332, 81340, 81348, 81357,
- 81365, 81373, 81381, 81389, 81397, 81405, 81413, 81421, 81429, 81438,
- 81446, 81454, 81462, 81470, 81478, 81487, 81496, 81504, 81512, 81520,
- 81529, 81537, 81546, 81553, 81560, 81568, 81575, 81583, 81591, 81600,
- 81608, 81617, 81625, 81633, 81643, 81650, 81657, 81665, 81672, 81680,
- 81690, 81701, 81709, 81718, 81726, 81735, 81743, 81752, 81760, 81769,
- 81777, 81786, 81795, 81803, 81811, 81819, 81828, 81835, 81843, 81852,
- 81861, 81870, 81880, 81888, 81898, 81906, 81916, 81924, 81934, 81942,
- 81952, 81960, 81969, 81976, 81985, 81992, 82002, 82010, 82020, 82028,
- 82038, 82046, 82054, 82062, 82071, 82079, 82088, 82097, 82106, 82115,
- 82125, 82133, 82143, 82151, 82161, 82169, 82179, 82187, 82197, 82205,
- 82214, 82221, 82230, 82237, 82247, 82255, 82265, 82273, 82283, 82291,
- 82299, 82307, 82316, 82324, 82333, 82342, 82351, 82360, 82368, 82376,
- 82385, 82393, 82402, 82411, 82419, 82427, 82435, 82444, 82452, 82460,
- 82469, 82477, 82485, 82493, 82501, 82506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 82511, 82521, 82531, 82541, 82551, 82562, 82572, 82582,
- 82593, 82602, 82611, 82620, 82631, 82641, 82651, 82663, 82673, 82683,
- 82693, 82703, 82713, 82723, 82733, 82743, 82753, 82763, 82773, 82784,
- 82795, 82805, 82815, 82827, 82838, 82849, 82859, 82869, 82879, 82889,
- 82899, 82909, 82919, 82931, 82941, 82951, 82963, 82974, 82985, 82995,
- 83005, 83015, 83025, 83037, 83047, 83057, 83068, 83079, 83089, 83099,
- 83108, 83117, 83126, 83135, 83144, 83154, 0, 0, 83164, 83174, 83184,
- 83194, 83204, 83216, 83226, 83236, 83248, 83258, 83270, 83279, 83288,
- 83299, 83309, 83321, 83332, 83345, 83355, 83367, 83376, 83387, 83398,
- 83411, 83421, 83431, 83441, 83451, 83461, 83470, 83479, 83488, 83497,
- 83507, 83517, 83527, 83537, 83547, 83557, 83567, 83577, 83587, 83597,
- 83607, 83617, 83626, 83635, 83644, 83654, 83664, 83674, 83684, 83694,
- 83705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83715, 83730,
- 83745, 83751, 83757, 83763, 83769, 83775, 83781, 83787, 83793, 83801,
- 83805, 83808, 0, 0, 83816, 83819, 83822, 83825, 83828, 83831, 83834,
- 83837, 83840, 83843, 83846, 83849, 83852, 83855, 83858, 83861, 83864,
- 83872, 83881, 83892, 83900, 83908, 83917, 83926, 83937, 83949, 0, 0, 0,
- 0, 0, 0, 83958, 83963, 83968, 83975, 83982, 83988, 83994, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 83999, 84009, 84019, 84029, 84038, 84049, 84058, 84067,
- 84077, 84087, 84099, 84111, 84122, 84133, 84144, 84155, 84165, 84175,
- 84185, 84195, 84206, 84217, 84221, 84226, 84235, 84244, 84248, 84252,
- 84256, 84261, 84266, 84271, 84276, 84279, 84283, 0, 84288, 84291, 84294,
- 84298, 84302, 84307, 84311, 84315, 84320, 84325, 84332, 84339, 84342,
- 84345, 84348, 84351, 84354, 84358, 84362, 0, 84366, 84371, 84375, 84379,
- 0, 0, 0, 0, 84384, 84389, 84396, 84401, 84406, 0, 84411, 84416, 84421,
- 84426, 84431, 84436, 84441, 84446, 84451, 84456, 84461, 84466, 84475,
- 84484, 84492, 84500, 84509, 84518, 84527, 84536, 84544, 84552, 84560,
- 84568, 84573, 84578, 84584, 84590, 84596, 84602, 84610, 84618, 84624,
- 84630, 84636, 84642, 84648, 84654, 84660, 84666, 84671, 84676, 84681,
- 84686, 84691, 84696, 84701, 84706, 84712, 84718, 84724, 84730, 84736,
- 84742, 84748, 84754, 84760, 84766, 84772, 84778, 84784, 84790, 84796,
- 84802, 84808, 84814, 84820, 84826, 84832, 84838, 84844, 84850, 84856,
- 84862, 84868, 84874, 84880, 84886, 84892, 84898, 84904, 84910, 84916,
- 84922, 84928, 84934, 84940, 84946, 84952, 84958, 84964, 84970, 84976,
- 84982, 84988, 84994, 85000, 85006, 85012, 85018, 85024, 85030, 85036,
- 85042, 85048, 85054, 85060, 85066, 85071, 85076, 85081, 85086, 85092,
- 85098, 85104, 85110, 85116, 85122, 85128, 85134, 85140, 85146, 85153,
- 85160, 85165, 85170, 85175, 85180, 85192, 85204, 85215, 85226, 85238,
- 85250, 85258, 0, 0, 85266, 0, 85274, 85278, 85282, 85285, 85289, 85293,
- 85296, 85299, 85303, 85307, 85310, 85313, 85316, 85319, 85324, 85327,
- 85331, 85334, 85337, 85340, 85343, 85346, 85349, 85352, 85355, 85358,
- 85361, 85364, 85368, 85372, 85376, 85380, 85385, 85390, 85396, 85402,
- 85408, 85413, 85419, 85425, 85431, 85436, 85442, 85448, 85453, 85458,
- 85464, 85469, 85475, 85481, 85486, 85492, 85498, 85503, 85509, 85515,
- 85521, 85527, 85533, 85537, 85542, 85546, 85551, 85555, 85560, 85565,
- 85571, 85577, 85583, 85588, 85594, 85600, 85606, 85611, 85617, 85623,
- 85628, 85633, 85639, 85644, 85650, 85656, 85661, 85667, 85673, 85678,
- 85684, 85690, 85696, 85702, 85708, 85713, 85717, 85722, 85724, 85729,
- 85734, 85740, 85745, 85750, 85754, 85760, 85765, 85770, 85775, 85780,
- 85785, 85790, 85795, 85801, 85807, 85813, 85821, 85825, 85829, 85833,
- 85837, 85841, 85845, 85850, 85855, 85860, 85865, 85869, 85874, 85879,
- 85884, 85889, 85894, 85899, 85904, 85909, 85913, 85917, 85922, 85927,
- 85932, 85937, 85941, 85946, 85951, 85956, 85961, 85965, 85970, 85975,
- 85980, 85985, 85989, 85994, 85999, 86003, 86008, 86013, 86018, 86023,
- 86028, 86033, 86040, 86047, 86051, 86056, 86061, 86066, 86071, 86076,
- 86081, 86086, 86091, 86096, 86101, 86106, 86111, 86116, 86121, 86126,
- 86131, 86136, 86141, 86146, 86151, 86156, 86161, 86166, 86171, 86176,
- 86181, 86186, 86191, 86196, 0, 0, 0, 86201, 86205, 86210, 86214, 86219,
- 86224, 0, 0, 86228, 86233, 86238, 86242, 86247, 86252, 0, 0, 86257,
- 86262, 86266, 86271, 86276, 86281, 0, 0, 86286, 86291, 86296, 0, 0, 0,
- 86300, 86304, 86308, 86312, 86315, 86319, 86323, 0, 86327, 86333, 86336,
- 86340, 86343, 86347, 86351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86355, 86361,
- 86367, 86373, 86379, 0, 0, 86383, 86389, 86395, 86401, 86407, 86413,
- 86420, 86427, 86434, 86441, 86448, 86455, 0, 86462, 86469, 86476, 86482,
- 86489, 86496, 86503, 86510, 86516, 86523, 86530, 86537, 86544, 86550,
- 86557, 86564, 86571, 86578, 86584, 86591, 86598, 86605, 86612, 86619,
- 86626, 86633, 0, 86640, 86646, 86653, 86660, 86667, 86674, 86680, 86687,
- 86694, 86701, 86708, 86715, 86722, 86729, 86735, 86742, 86749, 86756,
- 86763, 0, 86770, 86777, 0, 86784, 86791, 86798, 86805, 86812, 86819,
- 86826, 86833, 86840, 86847, 86854, 86861, 86868, 86875, 86882, 0, 0,
- 86888, 86893, 86898, 86903, 86908, 86913, 86918, 86923, 86928, 86933,
- 86938, 86943, 86948, 86953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86958, 86965,
- 86972, 86979, 86986, 86993, 87000, 87007, 87014, 87021, 87028, 87035,
- 87042, 87049, 87056, 87063, 87070, 87077, 87084, 87091, 87099, 87107,
- 87114, 87121, 87126, 87134, 87142, 87149, 87156, 87161, 87168, 87173,
- 87178, 87185, 87190, 87195, 87200, 87208, 87213, 87218, 87225, 87230,
- 87235, 87242, 87249, 87254, 87259, 87264, 87269, 87274, 87279, 87284,
- 87289, 87294, 87301, 87306, 87313, 87318, 87323, 87328, 87333, 87338,
- 87343, 87348, 87353, 87358, 87363, 87368, 87375, 87382, 87389, 87396,
- 87402, 87407, 87414, 87419, 87424, 87433, 87440, 87449, 87456, 87461,
- 87466, 87474, 87479, 87484, 87489, 87494, 87499, 87506, 87511, 87516,
- 87521, 87526, 87531, 87538, 87545, 87552, 87559, 87566, 87573, 87580,
- 87587, 87594, 87601, 87608, 87615, 87622, 87629, 87636, 87643, 87650,
- 87657, 87664, 87671, 87678, 87685, 87692, 87699, 87706, 87713, 87720,
- 87727, 0, 0, 0, 0, 0, 87734, 87742, 87750, 0, 0, 0, 0, 87755, 87759,
- 87763, 87767, 87771, 87775, 87779, 87783, 87787, 87791, 87796, 87801,
- 87806, 87811, 87816, 87821, 87826, 87831, 87836, 87842, 87848, 87854,
- 87861, 87868, 87875, 87882, 87889, 87896, 87902, 87908, 87914, 87921,
- 87928, 87935, 87942, 87949, 87956, 87963, 87970, 87977, 87984, 87991,
- 87998, 88005, 88012, 0, 0, 0, 88019, 88027, 88035, 88043, 88051, 88059,
- 88069, 88079, 88087, 88095, 88103, 88111, 88119, 88125, 88132, 88141,
- 88150, 88159, 88168, 88177, 88186, 88196, 88207, 88217, 88228, 88237,
- 88246, 88255, 88265, 88276, 88286, 88297, 88308, 88317, 88325, 88331,
- 88337, 88343, 88349, 88357, 88365, 88371, 88378, 88388, 88395, 88402,
- 88409, 88416, 88423, 88433, 88440, 88447, 88455, 88463, 88472, 88481,
- 88490, 88499, 88508, 88516, 88525, 88534, 88543, 88547, 88554, 88559,
- 88564, 88568, 88572, 88576, 88580, 88585, 88590, 88596, 88602, 88606,
- 88612, 88616, 88620, 88624, 88628, 88632, 88636, 88642, 0, 0, 0, 0, 0,
- 88646, 88651, 88656, 88661, 88666, 88673, 88678, 88683, 88688, 88693,
- 88698, 88703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 78283, 78288, 78293, 78298, 78303, 78308, 78316,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78321, 78328, 78335, 78342, 78349, 0,
+ 0, 0, 0, 0, 78356, 78363, 78370, 78380, 78386, 78392, 78398, 78404,
+ 78410, 78416, 78423, 78429, 78435, 78441, 78450, 78459, 78471, 78483,
+ 78489, 78495, 78501, 78508, 78515, 78522, 78529, 78536, 0, 78543, 78550,
+ 78557, 78565, 78572, 0, 78579, 0, 78586, 78593, 0, 78600, 78608, 0,
+ 78615, 78622, 78629, 78636, 78643, 78650, 78657, 78664, 78671, 78678,
+ 78683, 78690, 78697, 78703, 78709, 78715, 78721, 78727, 78733, 78739,
+ 78745, 78751, 78757, 78763, 78769, 78775, 78781, 78787, 78793, 78799,
+ 78805, 78811, 78817, 78823, 78829, 78835, 78841, 78847, 78853, 78859,
+ 78865, 78871, 78877, 78883, 78889, 78895, 78901, 78907, 78913, 78919,
+ 78925, 78931, 78937, 78943, 78949, 78955, 78961, 78967, 78973, 78979,
+ 78985, 78991, 78997, 79003, 79009, 79015, 79021, 79027, 79033, 79039,
+ 79045, 79051, 79057, 79063, 79069, 79075, 79081, 79087, 79093, 79099,
+ 79105, 79111, 79117, 79123, 79129, 79135, 79141, 79147, 79153, 79161,
+ 79169, 79175, 79181, 79187, 79193, 79202, 79211, 79219, 79227, 79235,
+ 79243, 79251, 79259, 79267, 79275, 79282, 79289, 79299, 79309, 79313,
+ 79317, 79322, 79327, 79332, 79337, 79346, 79355, 79361, 79367, 79374,
+ 79381, 79388, 79392, 79398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 79404, 79410, 79416, 79422, 79428, 79433, 79438, 79444, 79450,
+ 79456, 79462, 79470, 79476, 79482, 79490, 79498, 79506, 79514, 79519,
+ 79524, 79529, 79534, 79547, 79560, 79570, 79580, 79591, 79602, 79613,
+ 79624, 79634, 79644, 79655, 79666, 79677, 79688, 79698, 79708, 79718,
+ 79734, 79750, 79766, 79773, 79780, 79787, 79794, 79804, 79814, 79824,
+ 79836, 79846, 79854, 79862, 79871, 79879, 79889, 79897, 79905, 79913,
+ 79922, 79930, 79940, 79948, 79956, 79964, 79974, 79982, 79989, 79996,
+ 80003, 80010, 80018, 80026, 80034, 80042, 80050, 80059, 80067, 80075,
+ 80083, 80091, 80099, 80108, 80116, 80124, 80132, 80140, 80148, 80156,
+ 80164, 80172, 80180, 80188, 80197, 80205, 80215, 80223, 80231, 80239,
+ 80249, 80257, 80265, 80273, 80281, 80290, 80299, 80307, 80317, 80325,
+ 80333, 80341, 80350, 80358, 80368, 80376, 80383, 80390, 80398, 80405,
+ 80414, 80421, 80429, 80437, 80446, 80454, 80464, 80472, 80480, 80488,
+ 80498, 80506, 80513, 80520, 80528, 80535, 80544, 80551, 80561, 80571,
+ 80582, 80591, 80600, 80609, 80618, 80627, 80637, 80648, 80659, 80669,
+ 80680, 80692, 80702, 80711, 80720, 80728, 80737, 80747, 80755, 80764,
+ 80773, 80781, 80790, 80800, 80808, 80817, 80826, 80834, 80843, 80853,
+ 80861, 80871, 80879, 80889, 80897, 80905, 80914, 80922, 80932, 80940,
+ 80948, 80958, 80966, 80973, 80980, 80989, 80998, 81006, 81015, 81025,
+ 81033, 81044, 81052, 81060, 81067, 81075, 81084, 81091, 81101, 81111,
+ 81122, 81132, 81143, 81151, 81159, 81168, 81176, 81185, 81193, 81201,
+ 81210, 81218, 81227, 81235, 81242, 81249, 81256, 81263, 81271, 81279,
+ 81287, 81295, 81304, 81312, 81320, 81329, 81337, 81345, 81353, 81362,
+ 81370, 81378, 81386, 81394, 81402, 81410, 81418, 81426, 81434, 81443,
+ 81451, 81459, 81467, 81475, 81483, 81492, 81501, 81509, 81517, 81525,
+ 81534, 81542, 81551, 81558, 81565, 81573, 81580, 81588, 81596, 81605,
+ 81613, 81622, 81630, 81638, 81648, 81655, 81662, 81670, 81677, 81685,
+ 81695, 81706, 81714, 81723, 81731, 81740, 81748, 81757, 81765, 81774,
+ 81782, 81791, 81800, 81808, 81816, 81824, 81833, 81840, 81848, 81857,
+ 81866, 81875, 81885, 81893, 81903, 81911, 81921, 81929, 81939, 81947,
+ 81957, 81965, 81974, 81981, 81990, 81997, 82007, 82015, 82025, 82033,
+ 82043, 82051, 82059, 82067, 82076, 82084, 82093, 82102, 82111, 82120,
+ 82130, 82138, 82148, 82156, 82166, 82174, 82184, 82192, 82202, 82210,
+ 82219, 82226, 82235, 82242, 82252, 82260, 82270, 82278, 82288, 82296,
+ 82304, 82312, 82321, 82329, 82338, 82347, 82356, 82365, 82373, 82381,
+ 82390, 82398, 82407, 82416, 82424, 82432, 82440, 82449, 82457, 82465,
+ 82474, 82482, 82490, 82498, 82506, 82511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 82516, 82526, 82536, 82546, 82556, 82567, 82577, 82587,
+ 82598, 82607, 82616, 82625, 82636, 82646, 82656, 82668, 82678, 82688,
+ 82698, 82708, 82718, 82728, 82738, 82748, 82758, 82768, 82778, 82789,
+ 82800, 82810, 82820, 82832, 82843, 82854, 82864, 82874, 82884, 82894,
+ 82904, 82914, 82924, 82936, 82946, 82956, 82968, 82979, 82990, 83000,
+ 83010, 83020, 83030, 83042, 83052, 83062, 83073, 83084, 83094, 83104,
+ 83113, 83122, 83131, 83140, 83149, 83159, 0, 0, 83169, 83179, 83189,
+ 83199, 83209, 83221, 83231, 83241, 83253, 83263, 83275, 83284, 83293,
+ 83304, 83314, 83326, 83337, 83350, 83360, 83372, 83381, 83392, 83403,
+ 83416, 83426, 83436, 83446, 83456, 83466, 83475, 83484, 83493, 83502,
+ 83512, 83522, 83532, 83542, 83552, 83562, 83572, 83582, 83592, 83602,
+ 83612, 83622, 83631, 83640, 83649, 83659, 83669, 83679, 83689, 83699,
+ 83710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83720, 83735,
+ 83750, 83756, 83762, 83768, 83774, 83780, 83786, 83792, 83798, 83806,
+ 83810, 83813, 0, 0, 83821, 83824, 83827, 83830, 83833, 83836, 83839,
+ 83842, 83845, 83848, 83851, 83854, 83857, 83860, 83863, 83866, 83869,
+ 83877, 83886, 83897, 83905, 83913, 83922, 83931, 83942, 83954, 0, 0, 0,
+ 0, 0, 0, 83963, 83968, 83973, 83980, 83987, 83993, 83999, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 84004, 84014, 84024, 84034, 84043, 84054, 84063, 84072,
+ 84082, 84092, 84104, 84116, 84127, 84138, 84149, 84160, 84170, 84180,
+ 84190, 84200, 84211, 84222, 84226, 84231, 84240, 84249, 84253, 84257,
+ 84261, 84266, 84271, 84276, 84281, 84284, 84288, 0, 84293, 84296, 84299,
+ 84303, 84307, 84312, 84316, 84320, 84325, 84330, 84337, 84344, 84347,
+ 84350, 84353, 84356, 84359, 84363, 84367, 0, 84371, 84376, 84380, 84384,
+ 0, 0, 0, 0, 84389, 84394, 84401, 84406, 84411, 0, 84416, 84421, 84426,
+ 84431, 84436, 84441, 84446, 84451, 84456, 84461, 84466, 84471, 84480,
+ 84489, 84497, 84505, 84514, 84523, 84532, 84541, 84549, 84557, 84565,
+ 84573, 84578, 84583, 84589, 84595, 84601, 84607, 84615, 84623, 84629,
+ 84635, 84641, 84647, 84653, 84659, 84665, 84671, 84676, 84681, 84686,
+ 84691, 84696, 84701, 84706, 84711, 84717, 84723, 84729, 84735, 84741,
+ 84747, 84753, 84759, 84765, 84771, 84777, 84783, 84789, 84795, 84801,
+ 84807, 84813, 84819, 84825, 84831, 84837, 84843, 84849, 84855, 84861,
+ 84867, 84873, 84879, 84885, 84891, 84897, 84903, 84909, 84915, 84921,
+ 84927, 84933, 84939, 84945, 84951, 84957, 84963, 84969, 84975, 84981,
+ 84987, 84993, 84999, 85005, 85011, 85017, 85023, 85029, 85035, 85041,
+ 85047, 85053, 85059, 85065, 85071, 85076, 85081, 85086, 85091, 85097,
+ 85103, 85109, 85115, 85121, 85127, 85133, 85139, 85145, 85151, 85158,
+ 85165, 85170, 85175, 85180, 85185, 85197, 85209, 85220, 85231, 85243,
+ 85255, 85263, 0, 0, 85271, 0, 85279, 85283, 85287, 85290, 85294, 85298,
+ 85301, 85304, 85308, 85312, 85315, 85318, 85321, 85324, 85329, 85332,
+ 85336, 85339, 85342, 85345, 85348, 85351, 85354, 85357, 85360, 85363,
+ 85366, 85369, 85373, 85377, 85381, 85385, 85390, 85395, 85401, 85407,
+ 85413, 85418, 85424, 85430, 85436, 85441, 85447, 85453, 85458, 85463,
+ 85469, 85474, 85480, 85486, 85491, 85497, 85503, 85508, 85514, 85520,
+ 85526, 85532, 85538, 85542, 85547, 85551, 85556, 85560, 85565, 85570,
+ 85576, 85582, 85588, 85593, 85599, 85605, 85611, 85616, 85622, 85628,
+ 85633, 85638, 85644, 85649, 85655, 85661, 85666, 85672, 85678, 85683,
+ 85689, 85695, 85701, 85707, 85713, 85718, 85722, 85727, 85729, 85734,
+ 85739, 85745, 85750, 85755, 85759, 85765, 85770, 85775, 85780, 85785,
+ 85790, 85795, 85800, 85806, 85812, 85818, 85826, 85830, 85834, 85838,
+ 85842, 85846, 85850, 85855, 85860, 85865, 85870, 85874, 85879, 85884,
+ 85889, 85894, 85899, 85904, 85909, 85914, 85918, 85922, 85927, 85932,
+ 85937, 85942, 85946, 85951, 85956, 85961, 85966, 85970, 85975, 85980,
+ 85985, 85990, 85994, 85999, 86004, 86008, 86013, 86018, 86023, 86028,
+ 86033, 86038, 86045, 86052, 86056, 86061, 86066, 86071, 86076, 86081,
+ 86086, 86091, 86096, 86101, 86106, 86111, 86116, 86121, 86126, 86131,
+ 86136, 86141, 86146, 86151, 86156, 86161, 86166, 86171, 86176, 86181,
+ 86186, 86191, 86196, 86201, 0, 0, 0, 86206, 86210, 86215, 86219, 86224,
+ 86229, 0, 0, 86233, 86238, 86243, 86247, 86252, 86257, 0, 0, 86262,
+ 86267, 86271, 86276, 86281, 86286, 0, 0, 86291, 86296, 86301, 0, 0, 0,
+ 86305, 86309, 86313, 86317, 86320, 86324, 86328, 0, 86332, 86338, 86341,
+ 86345, 86348, 86352, 86356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86360, 86366,
+ 86372, 86378, 86384, 0, 0, 86388, 86394, 86400, 86406, 86412, 86418,
+ 86425, 86432, 86439, 86446, 86453, 86460, 0, 86467, 86474, 86481, 86487,
+ 86494, 86501, 86508, 86515, 86521, 86528, 86535, 86542, 86549, 86555,
+ 86562, 86569, 86576, 86583, 86589, 86596, 86603, 86610, 86617, 86624,
+ 86631, 86638, 0, 86645, 86651, 86658, 86665, 86672, 86679, 86685, 86692,
+ 86699, 86706, 86713, 86720, 86727, 86734, 86740, 86747, 86754, 86761,
+ 86768, 0, 86775, 86782, 0, 86789, 86796, 86803, 86810, 86817, 86824,
+ 86831, 86838, 86845, 86852, 86859, 86866, 86873, 86880, 86887, 0, 0,
+ 86893, 86898, 86903, 86908, 86913, 86918, 86923, 86928, 86933, 86938,
+ 86943, 86948, 86953, 86958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86963, 86970,
+ 86977, 86984, 86991, 86998, 87005, 87012, 87019, 87026, 87033, 87040,
+ 87047, 87054, 87061, 87068, 87075, 87082, 87089, 87096, 87104, 87112,
+ 87119, 87126, 87131, 87139, 87147, 87154, 87161, 87166, 87173, 87178,
+ 87183, 87190, 87195, 87200, 87205, 87213, 87218, 87223, 87230, 87235,
+ 87240, 87247, 87254, 87259, 87264, 87269, 87274, 87279, 87284, 87289,
+ 87294, 87299, 87306, 87311, 87318, 87323, 87328, 87333, 87338, 87343,
+ 87348, 87353, 87358, 87363, 87368, 87373, 87380, 87387, 87394, 87401,
+ 87407, 87412, 87419, 87424, 87429, 87438, 87445, 87454, 87461, 87466,
+ 87471, 87479, 87484, 87489, 87494, 87499, 87504, 87511, 87516, 87521,
+ 87526, 87531, 87536, 87543, 87550, 87557, 87564, 87571, 87578, 87585,
+ 87592, 87599, 87606, 87613, 87620, 87627, 87634, 87641, 87648, 87655,
+ 87662, 87669, 87676, 87683, 87690, 87697, 87704, 87711, 87718, 87725,
+ 87732, 0, 0, 0, 0, 0, 87739, 87747, 87755, 0, 0, 0, 0, 87760, 87764,
+ 87768, 87772, 87776, 87780, 87784, 87788, 87792, 87796, 87801, 87806,
+ 87811, 87816, 87821, 87826, 87831, 87836, 87841, 87847, 87853, 87859,
+ 87866, 87873, 87880, 87887, 87894, 87901, 87907, 87913, 87919, 87926,
+ 87933, 87940, 87947, 87954, 87961, 87968, 87975, 87982, 87989, 87996,
+ 88003, 88010, 88017, 0, 0, 0, 88024, 88032, 88040, 88048, 88056, 88064,
+ 88074, 88084, 88092, 88100, 88108, 88116, 88124, 88130, 88137, 88146,
+ 88155, 88164, 88173, 88182, 88191, 88201, 88212, 88222, 88233, 88242,
+ 88251, 88260, 88270, 88281, 88291, 88302, 88313, 88322, 88330, 88336,
+ 88342, 88348, 88354, 88362, 88370, 88376, 88383, 88393, 88400, 88407,
+ 88414, 88421, 88428, 88438, 88445, 88452, 88460, 88468, 88477, 88486,
+ 88495, 88504, 88513, 88521, 88530, 88539, 88548, 88552, 88559, 88564,
+ 88569, 88573, 88577, 88581, 88585, 88590, 88595, 88601, 88607, 88611,
+ 88617, 88621, 88625, 88629, 88633, 88637, 88641, 88647, 0, 0, 0, 0, 0,
+ 88651, 88656, 88661, 88666, 88671, 88678, 88683, 88688, 88693, 88698,
+ 88703, 88708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88708, 88715, 88724, 88733, 88740, 88747, 88754,
- 88761, 88768, 88775, 88781, 88788, 88795, 88802, 88809, 88816, 88823,
- 88830, 88837, 88846, 88853, 88860, 88867, 88874, 88881, 88888, 88895,
- 88902, 88911, 88918, 88925, 88932, 88939, 88946, 88953, 88962, 88969,
- 88976, 88983, 88990, 88999, 89006, 89013, 89020, 89028, 89037, 0, 0,
- 89046, 89050, 89054, 89059, 89064, 89069, 89074, 89078, 89083, 89088,
- 89093, 89098, 89103, 89108, 89112, 89116, 89121, 89126, 89131, 89135,
- 89140, 89145, 89149, 89154, 89159, 89164, 89169, 89174, 89179, 0, 0, 0,
- 89184, 89188, 89193, 89198, 89202, 89207, 89211, 89216, 89221, 89226,
- 89231, 89235, 89239, 89244, 89249, 89254, 89259, 89264, 89269, 89273,
- 89278, 89283, 89288, 89293, 89298, 89303, 89307, 89311, 89316, 89321,
- 89326, 89331, 89336, 89341, 89346, 89351, 89356, 89361, 89366, 89371,
- 89376, 89381, 89386, 89391, 89396, 89401, 89406, 89411, 89416, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88713, 88720, 88729, 88738, 88745, 88752, 88759,
+ 88766, 88773, 88780, 88786, 88793, 88800, 88807, 88814, 88821, 88828,
+ 88835, 88842, 88851, 88858, 88865, 88872, 88879, 88886, 88893, 88900,
+ 88907, 88916, 88923, 88930, 88937, 88944, 88951, 88958, 88967, 88974,
+ 88981, 88988, 88995, 89004, 89011, 89018, 89025, 89033, 89042, 0, 0,
+ 89051, 89055, 89059, 89064, 89069, 89074, 89079, 89083, 89088, 89093,
+ 89098, 89103, 89108, 89113, 89117, 89121, 89126, 89131, 89136, 89140,
+ 89145, 89150, 89154, 89159, 89164, 89169, 89174, 89179, 89184, 0, 0, 0,
+ 89189, 89193, 89198, 89203, 89207, 89212, 89216, 89221, 89226, 89231,
+ 89236, 89240, 89244, 89249, 89254, 89259, 89264, 89269, 89274, 89278,
+ 89283, 89288, 89293, 89298, 89303, 89308, 89312, 89316, 89321, 89326,
+ 89331, 89336, 89341, 89346, 89351, 89356, 89361, 89366, 89371, 89376,
+ 89381, 89386, 89391, 89396, 89401, 89406, 89411, 89416, 89421, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89421, 89425,
- 89430, 89435, 89440, 89444, 89449, 89454, 89459, 89464, 89468, 89472,
- 89477, 89482, 89487, 89492, 89496, 89501, 89506, 89511, 89516, 89521,
- 89526, 89530, 89535, 89540, 89545, 89550, 89555, 89560, 89565, 0, 89570,
- 89575, 89580, 89586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89592, 89597,
- 89602, 89607, 89612, 89617, 89622, 89627, 89632, 89637, 89642, 89647,
- 89652, 89657, 89662, 89667, 89672, 89677, 89682, 89687, 89692, 89697,
- 89702, 89707, 89712, 89717, 89722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89426, 89430,
+ 89435, 89440, 89445, 89449, 89454, 89459, 89464, 89469, 89473, 89477,
+ 89482, 89487, 89492, 89497, 89501, 89506, 89511, 89516, 89521, 89526,
+ 89531, 89535, 89540, 89545, 89550, 89555, 89560, 89565, 89570, 0, 89575,
+ 89580, 89585, 89591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89597, 89602,
+ 89607, 89612, 89617, 89622, 89627, 89632, 89637, 89642, 89647, 89652,
+ 89657, 89662, 89667, 89672, 89677, 89682, 89687, 89692, 89697, 89702,
+ 89707, 89712, 89717, 89722, 89727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89729, 89734, 89739,
- 89744, 89749, 89754, 89759, 89764, 89769, 89774, 89779, 89784, 89789,
- 89794, 89799, 89804, 89809, 89814, 89819, 89824, 89829, 89834, 89839,
- 89844, 89849, 89854, 89859, 89863, 89867, 89871, 0, 89876, 89882, 89887,
- 89892, 89897, 89902, 89908, 89914, 89920, 89926, 89932, 89938, 89944,
- 89950, 89956, 89962, 89968, 89974, 89980, 89985, 89991, 89997, 90002,
- 90008, 90013, 90019, 90025, 90030, 90036, 90042, 90047, 90053, 90059,
- 90064, 90070, 90076, 90082, 0, 0, 0, 0, 90087, 90093, 90099, 90105,
- 90111, 90117, 90123, 90129, 90135, 90142, 90147, 90152, 90158, 90164, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89734, 89739, 89744,
+ 89749, 89754, 89759, 89764, 89769, 89774, 89779, 89784, 89789, 89794,
+ 89799, 89804, 89809, 89814, 89819, 89824, 89829, 89834, 89839, 89844,
+ 89849, 89854, 89859, 89864, 89868, 89872, 89876, 0, 89881, 89887, 89892,
+ 89897, 89902, 89907, 89913, 89919, 89925, 89931, 89937, 89943, 89949,
+ 89955, 89961, 89967, 89973, 89979, 89985, 89990, 89996, 90002, 90007,
+ 90013, 90018, 90024, 90030, 90035, 90041, 90047, 90052, 90058, 90064,
+ 90069, 90075, 90081, 90087, 0, 0, 0, 0, 90092, 90098, 90104, 90110,
+ 90116, 90122, 90128, 90134, 90140, 90147, 90152, 90157, 90163, 90169, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90170, 90175, 90180,
- 90185, 90191, 90196, 90202, 90208, 90214, 90220, 90227, 90233, 90240,
- 90245, 90250, 90255, 90260, 90265, 90270, 90275, 90280, 90285, 90290,
- 90295, 90300, 90305, 90310, 90315, 90320, 90325, 90330, 90335, 90340,
- 90345, 90350, 90355, 90360, 90365, 90370, 90375, 90380, 90385, 90390,
- 90395, 90401, 90406, 90412, 90418, 90424, 90430, 90437, 90443, 90450,
- 90455, 90460, 90465, 90470, 90475, 90480, 90485, 90490, 90495, 90500,
- 90505, 90510, 90515, 90520, 90525, 90530, 90535, 90540, 90545, 90550,
- 90555, 90560, 90565, 90570, 90575, 90580, 90585, 90590, 90595, 90600,
- 90605, 90610, 90615, 90620, 90625, 90630, 90635, 90640, 90645, 90650,
- 90655, 90660, 90665, 90670, 90675, 90680, 90685, 90690, 90695, 90700,
- 90705, 90710, 90715, 90720, 90725, 90730, 90735, 90740, 90745, 90750,
- 90755, 90760, 90765, 90770, 90775, 90780, 90785, 90790, 90795, 90800,
- 90805, 90810, 90815, 90820, 90825, 90830, 90835, 90840, 90845, 90850,
- 90855, 90860, 90865, 90869, 90873, 90878, 90883, 90888, 90893, 90898,
- 90903, 90908, 90913, 90918, 90923, 90928, 90932, 90936, 90940, 90944,
- 90948, 90952, 90956, 90961, 90966, 0, 0, 90971, 90976, 90980, 90984,
- 90988, 90992, 90996, 91000, 91004, 91008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90175, 90180, 90185,
+ 90190, 90196, 90201, 90207, 90213, 90219, 90225, 90232, 90238, 90245,
+ 90250, 90255, 90260, 90265, 90270, 90275, 90280, 90285, 90290, 90295,
+ 90300, 90305, 90310, 90315, 90320, 90325, 90330, 90335, 90340, 90345,
+ 90350, 90355, 90360, 90365, 90370, 90375, 90380, 90385, 90390, 90395,
+ 90400, 90406, 90411, 90417, 90423, 90429, 90435, 90442, 90448, 90455,
+ 90460, 90465, 90470, 90475, 90480, 90485, 90490, 90495, 90500, 90505,
+ 90510, 90515, 90520, 90525, 90530, 90535, 90540, 90545, 90550, 90555,
+ 90560, 90565, 90570, 90575, 90580, 90585, 90590, 90595, 90600, 90605,
+ 90610, 90615, 90620, 90625, 90630, 90635, 90640, 90645, 90650, 90655,
+ 90660, 90665, 90670, 90675, 90680, 90685, 90690, 90695, 90700, 90705,
+ 90710, 90715, 90720, 90725, 90730, 90735, 90740, 90745, 90750, 90755,
+ 90760, 90765, 90770, 90775, 90780, 90785, 90790, 90795, 90800, 90805,
+ 90810, 90815, 90820, 90825, 90830, 90835, 90840, 90845, 90850, 90855,
+ 90860, 90865, 90870, 90874, 90878, 90883, 90888, 90893, 90898, 90903,
+ 90908, 90913, 90918, 90923, 90928, 90933, 90937, 90941, 90945, 90949,
+ 90953, 90957, 90961, 90966, 90971, 0, 0, 90976, 90981, 90985, 90989,
+ 90993, 90997, 91001, 91005, 91009, 91013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 91012, 91016, 91020, 91024, 91028, 91032, 0, 0, 91037, 0,
- 91042, 91046, 91051, 91056, 91061, 91066, 91071, 91076, 91081, 91086,
- 91091, 91095, 91100, 91105, 91110, 91115, 91119, 91124, 91129, 91134,
- 91139, 91143, 91148, 91153, 91158, 91163, 91167, 91172, 91177, 91182,
- 91187, 91191, 91196, 91201, 91206, 91211, 91216, 91221, 91226, 91230,
- 91235, 91240, 91245, 91250, 0, 91255, 91260, 0, 0, 0, 91265, 0, 0, 91270,
- 91275, 91282, 91289, 91296, 91303, 91310, 91317, 91324, 91331, 91338,
- 91345, 91352, 91359, 91366, 91373, 91380, 91387, 91394, 91401, 91408,
- 91415, 91422, 0, 91429, 91436, 91442, 91448, 91454, 91461, 91468, 91476,
- 91484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91493, 91498, 91503, 91508, 91513, 91518,
- 91523, 91528, 91533, 91538, 91543, 91548, 91553, 91558, 91563, 91568,
- 91573, 91578, 91583, 91588, 91593, 91598, 91603, 91607, 91612, 91617,
- 91623, 91627, 0, 0, 0, 91631, 91637, 91641, 91646, 91651, 91656, 91660,
- 91665, 91669, 91674, 91679, 91683, 91687, 91692, 91696, 91700, 91705,
- 91710, 91714, 91719, 91724, 91729, 91734, 91739, 91744, 91749, 91754, 0,
- 0, 0, 0, 0, 91759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 91017, 91021, 91025, 91029, 91033, 91037, 0, 0, 91042, 0,
+ 91047, 91051, 91056, 91061, 91066, 91071, 91076, 91081, 91086, 91091,
+ 91096, 91100, 91105, 91110, 91115, 91120, 91124, 91129, 91134, 91139,
+ 91144, 91148, 91153, 91158, 91163, 91168, 91172, 91177, 91182, 91187,
+ 91192, 91196, 91201, 91206, 91211, 91216, 91221, 91226, 91231, 91235,
+ 91240, 91245, 91250, 91255, 0, 91260, 91265, 0, 0, 0, 91270, 0, 0, 91275,
+ 91280, 91287, 91294, 91301, 91308, 91315, 91322, 91329, 91336, 91343,
+ 91350, 91357, 91364, 91371, 91378, 91385, 91392, 91399, 91406, 91413,
+ 91420, 91427, 0, 91434, 91441, 91447, 91453, 91459, 91466, 91473, 91481,
+ 91489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91498, 91503, 91508, 91513, 91518, 91523,
+ 91528, 91533, 91538, 91543, 91548, 91553, 91558, 91563, 91568, 91573,
+ 91578, 91583, 91588, 91593, 91598, 91603, 91608, 91612, 91617, 91622,
+ 91628, 91632, 0, 0, 0, 91636, 91642, 91646, 91651, 91656, 91661, 91665,
+ 91670, 91674, 91679, 91684, 91688, 91692, 91697, 91701, 91705, 91710,
+ 91715, 91719, 91724, 91729, 91734, 91739, 91744, 91749, 91754, 91759, 0,
+ 0, 0, 0, 0, 91764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91764,
- 91770, 91776, 91782, 91788, 91794, 91801, 91808, 91815, 91821, 91827,
- 91833, 91840, 91847, 91854, 91860, 91867, 91874, 91881, 91888, 91894,
- 91901, 91908, 91914, 91921, 91928, 91935, 91942, 91949, 91955, 91962,
- 91969, 91976, 91982, 91988, 91994, 92000, 92006, 92013, 92020, 92026,
- 92032, 92038, 92045, 92051, 92058, 92065, 92072, 92078, 92086, 92093,
- 92099, 92106, 92113, 92120, 92126, 0, 0, 0, 0, 0, 0, 92133, 92141, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91769,
+ 91775, 91781, 91787, 91793, 91799, 91806, 91813, 91820, 91826, 91832,
+ 91838, 91845, 91852, 91859, 91865, 91872, 91879, 91886, 91893, 91899,
+ 91906, 91913, 91919, 91926, 91933, 91940, 91947, 91954, 91960, 91967,
+ 91974, 91981, 91987, 91993, 91999, 92005, 92011, 92018, 92025, 92031,
+ 92037, 92043, 92050, 92056, 92063, 92070, 92077, 92083, 92091, 92098,
+ 92104, 92111, 92118, 92125, 92131, 0, 0, 0, 0, 0, 0, 92138, 92146, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92149, 92153, 92158, 92163, 0,
- 92169, 92174, 0, 0, 0, 0, 0, 92179, 92185, 92192, 92197, 92202, 92206,
- 92211, 92216, 0, 92221, 92226, 92231, 0, 92236, 92241, 92246, 92251,
- 92256, 92261, 92266, 92271, 92276, 92281, 92286, 92290, 92294, 92299,
- 92304, 92309, 92313, 92317, 92321, 92326, 92331, 92336, 92341, 92345,
- 92350, 92354, 92359, 0, 0, 0, 0, 92364, 92370, 92375, 0, 0, 0, 0, 92380,
- 92384, 92388, 92392, 92396, 92400, 92405, 92410, 92416, 0, 0, 0, 0, 0, 0,
- 0, 0, 92422, 92428, 92435, 92441, 92448, 92454, 92460, 92466, 92473, 0,
- 0, 0, 0, 0, 0, 0, 92479, 92487, 92495, 92503, 92511, 92519, 92527, 92535,
- 92543, 92551, 92559, 92567, 92575, 92583, 92591, 92599, 92607, 92615,
- 92623, 92631, 92639, 92647, 92655, 92663, 92671, 92679, 92687, 92695,
- 92703, 92711, 92718, 92726, 92734, 92738, 92743, 92748, 92753, 92758,
- 92763, 92768, 92773, 92777, 92782, 92786, 92791, 92795, 92800, 92804,
- 92809, 92814, 92819, 92824, 92829, 92834, 92839, 92844, 92849, 92854,
- 92859, 92864, 92869, 92874, 92879, 92884, 92889, 92894, 92899, 92904,
- 92909, 92914, 92919, 92924, 92929, 92934, 92939, 92944, 92949, 92954,
- 92959, 92964, 92969, 92974, 92979, 92984, 92989, 92994, 0, 0, 0, 92999,
- 93004, 93013, 93021, 93030, 93039, 93050, 93061, 93068, 93075, 93082,
- 93089, 93096, 93103, 93110, 93117, 93124, 93131, 93138, 93145, 93152,
- 93159, 93166, 93173, 93180, 93187, 93194, 93201, 93208, 0, 0, 93215,
- 93221, 93227, 93233, 93239, 93246, 93253, 93261, 93269, 93276, 93283,
- 93290, 93297, 93304, 93311, 93318, 93325, 93332, 93339, 93346, 93353,
- 93360, 93367, 93374, 93381, 93388, 93395, 0, 0, 0, 0, 0, 93402, 93408,
- 93414, 93420, 93426, 93433, 93440, 93448, 93456, 93462, 93468, 93475,
- 93481, 93487, 93493, 93499, 93506, 93513, 93520, 93527, 93534, 93541,
- 93548, 93555, 93562, 93569, 93576, 93583, 93590, 93597, 93604, 93611,
- 93618, 93625, 93632, 93639, 93646, 93653, 93660, 93667, 93674, 93681,
- 93688, 93695, 93702, 93709, 93716, 93723, 93730, 93737, 93744, 93751,
- 93758, 93765, 93772, 93779, 93786, 93793, 93800, 93807, 93814, 93821,
- 93828, 93835, 93842, 93849, 93856, 93863, 93870, 93877, 93884, 93891,
- 93898, 93905, 93912, 93919, 93926, 93933, 93940, 93947, 93954, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92154, 92158, 92163, 92168, 0,
+ 92174, 92179, 0, 0, 0, 0, 0, 92184, 92190, 92197, 92202, 92207, 92211,
+ 92216, 92221, 0, 92226, 92231, 92236, 0, 92241, 92246, 92251, 92256,
+ 92261, 92266, 92271, 92276, 92281, 92286, 92291, 92295, 92299, 92304,
+ 92309, 92314, 92318, 92322, 92326, 92331, 92336, 92341, 92346, 92350,
+ 92355, 92359, 92364, 0, 0, 0, 0, 92369, 92375, 92380, 0, 0, 0, 0, 92385,
+ 92389, 92393, 92397, 92401, 92405, 92410, 92415, 92421, 0, 0, 0, 0, 0, 0,
+ 0, 0, 92427, 92433, 92440, 92446, 92453, 92459, 92465, 92471, 92478, 0,
+ 0, 0, 0, 0, 0, 0, 92484, 92492, 92500, 92508, 92516, 92524, 92532, 92540,
+ 92548, 92556, 92564, 92572, 92580, 92588, 92596, 92604, 92612, 92620,
+ 92628, 92636, 92644, 92652, 92660, 92668, 92676, 92684, 92692, 92700,
+ 92708, 92716, 92723, 92731, 92739, 92743, 92748, 92753, 92758, 92763,
+ 92768, 92773, 92778, 92782, 92787, 92791, 92796, 92800, 92805, 92809,
+ 92814, 92819, 92824, 92829, 92834, 92839, 92844, 92849, 92854, 92859,
+ 92864, 92869, 92874, 92879, 92884, 92889, 92894, 92899, 92904, 92909,
+ 92914, 92919, 92924, 92929, 92934, 92939, 92944, 92949, 92954, 92959,
+ 92964, 92969, 92974, 92979, 92984, 92989, 92994, 92999, 0, 0, 0, 93004,
+ 93009, 93018, 93026, 93035, 93044, 93055, 93066, 93073, 93080, 93087,
+ 93094, 93101, 93108, 93115, 93122, 93129, 93136, 93143, 93150, 93157,
+ 93164, 93171, 93178, 93185, 93192, 93199, 93206, 93213, 0, 0, 93220,
+ 93226, 93232, 93238, 93244, 93251, 93258, 93266, 93274, 93281, 93288,
+ 93295, 93302, 93309, 93316, 93323, 93330, 93337, 93344, 93351, 93358,
+ 93365, 93372, 93379, 93386, 93393, 93400, 0, 0, 0, 0, 0, 93407, 93413,
+ 93419, 93425, 93431, 93438, 93445, 93453, 93461, 93467, 93473, 93480,
+ 93486, 93492, 93498, 93504, 93511, 93518, 93525, 93532, 93539, 93546,
+ 93553, 93560, 93567, 93574, 93581, 93588, 93595, 93602, 93609, 93616,
+ 93623, 93630, 93637, 93644, 93651, 93658, 93665, 93672, 93679, 93686,
+ 93693, 93700, 93707, 93714, 93721, 93728, 93735, 93742, 93749, 93756,
+ 93763, 93770, 93777, 93784, 93791, 93798, 93805, 93812, 93819, 93826,
+ 93833, 93840, 93847, 93854, 93861, 93868, 93875, 93882, 93889, 93896,
+ 93903, 93910, 93917, 93924, 93931, 93938, 93945, 93952, 93959, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 93961, 93965, 93969, 93973, 93977, 93981, 93985, 93989,
- 93993, 93997, 94002, 94007, 94012, 94017, 94022, 94027, 94032, 94037,
- 94042, 94048, 94054, 94060, 94067, 94074, 94081, 94088, 94095, 94102,
- 94109, 94116, 94123, 0, 94130, 94134, 94138, 94142, 94146, 94150, 94153,
- 94157, 94160, 94164, 94167, 94171, 94175, 94180, 94184, 94189, 94192,
- 94196, 94199, 94203, 94206, 94210, 94214, 94218, 94222, 94226, 94230,
- 94234, 94238, 94242, 94246, 94250, 94254, 94258, 94262, 94266, 94270,
- 94274, 94278, 94281, 94284, 94288, 94292, 94296, 94299, 94302, 94305,
- 94309, 94313, 94317, 94321, 94324, 94327, 94331, 94337, 94343, 94349,
- 94354, 94361, 94365, 94370, 94374, 94379, 94384, 94390, 94395, 94401,
- 94405, 94410, 94414, 94419, 94422, 94425, 94429, 94434, 94440, 94445,
- 94451, 0, 0, 0, 0, 94456, 94459, 94462, 94465, 94468, 94471, 94474,
- 94477, 94480, 94483, 94487, 94491, 94495, 94499, 94503, 94507, 94511,
- 94515, 94519, 94524, 94529, 94533, 94536, 94539, 94542, 94545, 94548,
- 94551, 94554, 94557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 94560, 94565, 94570, 94575, 94579, 94584, 94588, 94593, 94597, 94602,
- 94606, 94611, 94615, 94620, 94624, 94629, 94634, 94639, 94644, 94649,
- 94654, 94659, 94664, 94669, 94674, 94679, 94684, 94689, 94694, 94699,
- 94704, 94709, 94714, 94719, 94724, 94728, 94732, 94737, 94742, 94747,
- 94751, 94755, 94759, 94764, 94769, 94774, 94779, 94783, 94787, 94793,
- 94798, 94804, 94809, 94815, 94820, 94826, 94831, 94837, 94842, 94847,
- 94852, 94857, 94861, 94866, 94872, 94876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 94881, 94888, 94895, 94902, 94909, 94916, 94923, 94930,
- 94937, 94944, 94951, 94958, 94965, 94972, 94979, 94986, 94993, 95000,
- 95007, 95014, 95021, 95028, 95035, 95042, 95049, 0, 0, 0, 0, 0, 0, 0,
- 95056, 95063, 95069, 95075, 95081, 95087, 95093, 95099, 95105, 95111, 0,
- 0, 0, 0, 0, 0, 95117, 95122, 95127, 95132, 95137, 95141, 95145, 95149,
- 95154, 95159, 95164, 95169, 95174, 95179, 95184, 95189, 95194, 95199,
- 95204, 95209, 95214, 95219, 95224, 95229, 95234, 95239, 95244, 95249,
- 95254, 95259, 95264, 95269, 95274, 95279, 95284, 95289, 95294, 95299,
- 95304, 95309, 95314, 95319, 95325, 95330, 95336, 95341, 95347, 95352,
- 95358, 95364, 95368, 95373, 95377, 0, 95381, 95386, 95390, 95394, 95398,
- 95402, 95406, 95410, 95414, 95418, 95422, 95427, 95431, 95436, 0, 0, 0,
+ 0, 0, 0, 0, 93966, 93970, 93974, 93978, 93982, 93986, 93990, 93994,
+ 93998, 94002, 94007, 94012, 94017, 94022, 94027, 94032, 94037, 94042,
+ 94047, 94053, 94059, 94065, 94072, 94079, 94086, 94093, 94100, 94107,
+ 94114, 94121, 94128, 0, 94135, 94139, 94143, 94147, 94151, 94155, 94158,
+ 94162, 94165, 94169, 94172, 94176, 94180, 94185, 94189, 94194, 94197,
+ 94201, 94204, 94208, 94211, 94215, 94219, 94223, 94227, 94231, 94235,
+ 94239, 94243, 94247, 94251, 94255, 94259, 94263, 94267, 94271, 94275,
+ 94279, 94283, 94286, 94289, 94293, 94297, 94301, 94304, 94307, 94310,
+ 94314, 94318, 94322, 94326, 94329, 94332, 94336, 94342, 94348, 94354,
+ 94359, 94366, 94370, 94375, 94379, 94384, 94389, 94395, 94400, 94406,
+ 94410, 94415, 94419, 94424, 94427, 94430, 94434, 94439, 94445, 94450,
+ 94456, 0, 0, 0, 0, 94461, 94464, 94467, 94470, 94473, 94476, 94479,
+ 94482, 94485, 94488, 94492, 94496, 94500, 94504, 94508, 94512, 94516,
+ 94520, 94524, 94529, 94534, 94538, 94541, 94544, 94547, 94550, 94553,
+ 94556, 94559, 94562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 94565, 94570, 94575, 94580, 94584, 94589, 94593, 94598, 94602, 94607,
+ 94611, 94616, 94620, 94625, 94629, 94634, 94639, 94644, 94649, 94654,
+ 94659, 94664, 94669, 94674, 94679, 94684, 94689, 94694, 94699, 94704,
+ 94709, 94714, 94719, 94724, 94729, 94733, 94737, 94742, 94747, 94752,
+ 94756, 94760, 94764, 94769, 94774, 94779, 94784, 94788, 94792, 94798,
+ 94803, 94809, 94814, 94820, 94825, 94831, 94836, 94842, 94847, 94852,
+ 94857, 94862, 94866, 94871, 94877, 94881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 94886, 94893, 94900, 94907, 94914, 94921, 94928, 94935,
+ 94942, 94949, 94956, 94963, 94970, 94977, 94984, 94991, 94998, 95005,
+ 95012, 95019, 95026, 95033, 95040, 95047, 95054, 0, 0, 0, 0, 0, 0, 0,
+ 95061, 95068, 95074, 95080, 95086, 95092, 95098, 95104, 95110, 95116, 0,
+ 0, 0, 0, 0, 0, 95122, 95127, 95132, 95137, 95142, 95146, 95150, 95154,
+ 95159, 95164, 95169, 95174, 95179, 95184, 95189, 95194, 95199, 95204,
+ 95209, 95214, 95219, 95224, 95229, 95234, 95239, 95244, 95249, 95254,
+ 95259, 95264, 95269, 95274, 95279, 95284, 95289, 95294, 95299, 95304,
+ 95309, 95314, 95319, 95324, 95330, 95335, 95341, 95346, 95352, 95357,
+ 95363, 95369, 95373, 95378, 95382, 0, 95386, 95391, 95395, 95399, 95403,
+ 95407, 95411, 95415, 95419, 95423, 95427, 95432, 95436, 95441, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 95441, 95445, 95449, 95453, 95456, 95460,
- 95463, 95467, 95470, 95474, 95478, 95483, 95487, 95492, 95495, 95499,
- 95502, 95506, 95509, 95513, 95517, 95521, 95525, 95529, 95533, 95537,
- 95541, 95545, 95549, 95553, 95557, 95561, 95565, 95569, 95573, 95577,
- 95581, 95584, 95587, 95591, 95595, 95599, 95602, 95605, 95608, 95612,
- 95616, 95620, 95624, 95628, 95631, 95634, 95639, 95643, 95648, 95652,
- 95657, 95662, 95668, 95673, 95679, 95683, 95688, 95692, 95697, 95701,
- 95705, 95709, 95713, 95716, 95719, 95723, 95727, 0, 0, 0, 0, 0, 0, 0,
- 95730, 95734, 95737, 95740, 95743, 95746, 95749, 95752, 95755, 95758, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 95446, 95450, 95454, 95458, 95461, 95465,
+ 95468, 95472, 95475, 95479, 95483, 95488, 95492, 95497, 95500, 95504,
+ 95507, 95511, 95514, 95518, 95522, 95526, 95530, 95534, 95538, 95542,
+ 95546, 95550, 95554, 95558, 95562, 95566, 95570, 95574, 95578, 95582,
+ 95586, 95589, 95592, 95596, 95600, 95604, 95607, 95610, 95613, 95617,
+ 95621, 95625, 95629, 95633, 95636, 95639, 95644, 95648, 95653, 95657,
+ 95662, 95667, 95673, 95678, 95684, 95688, 95693, 95697, 95702, 95706,
+ 95710, 95714, 95718, 95721, 95724, 95728, 95732, 0, 0, 0, 0, 0, 0, 0,
+ 95735, 95739, 95742, 95745, 95748, 95751, 95754, 95757, 95760, 95763, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95761, 95765, 95770, 95774, 95779,
- 95783, 95788, 95792, 95797, 95801, 95806, 95810, 95815, 95820, 95825,
- 95830, 95835, 95840, 95845, 95850, 95855, 95860, 95865, 95870, 95875,
- 95880, 95885, 95890, 95895, 95900, 95904, 95908, 95913, 95918, 95923,
- 95927, 95931, 95935, 95940, 95945, 95950, 95954, 95958, 95963, 95968,
- 95973, 95979, 95984, 95990, 95995, 96001, 96006, 96012, 96017, 96023,
- 96028, 0, 0, 0, 0, 0, 0, 0, 0, 96033, 96038, 96042, 96046, 96050, 96054,
- 96058, 96062, 96066, 96070, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95766, 95770, 95775, 95779, 95784,
+ 95788, 95793, 95797, 95802, 95806, 95811, 95815, 95820, 95825, 95830,
+ 95835, 95840, 95845, 95850, 95855, 95860, 95865, 95870, 95875, 95880,
+ 95885, 95890, 95895, 95900, 95905, 95909, 95913, 95918, 95923, 95928,
+ 95932, 95936, 95940, 95945, 95950, 95955, 95959, 95963, 95968, 95973,
+ 95978, 95984, 95989, 95995, 96000, 96006, 96011, 96017, 96022, 96028,
+ 96033, 0, 0, 0, 0, 0, 0, 0, 0, 96038, 96043, 96047, 96051, 96055, 96059,
+ 96063, 96067, 96071, 96075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96074, 96077, 96082, 96088,
- 96096, 96101, 96107, 96115, 96121, 96127, 96131, 96135, 96142, 96151,
- 96158, 96167, 96173, 96182, 96189, 96196, 96203, 96213, 96219, 96223,
- 96230, 96239, 96249, 96256, 96263, 96267, 96271, 96278, 96288, 96292,
- 96299, 96306, 96313, 96319, 96326, 96333, 96340, 96347, 96351, 96355,
- 96359, 96366, 96370, 96377, 96384, 96398, 96407, 96411, 96415, 96419,
- 96426, 96430, 96434, 96438, 96446, 96454, 96473, 96483, 96503, 96507,
- 96511, 96515, 96519, 96523, 96527, 96531, 96538, 96542, 96545, 96549,
- 96553, 96559, 96566, 96575, 96579, 96588, 96597, 96605, 96609, 96616,
- 96620, 96624, 96628, 96632, 96643, 96652, 96661, 96670, 96679, 96691,
- 96700, 96709, 96718, 96726, 96735, 96747, 96756, 96765, 96774, 96786,
- 96795, 96804, 96816, 96825, 96834, 96846, 96855, 96859, 96863, 96867,
- 96871, 96875, 96879, 96883, 96890, 96894, 96898, 96909, 96913, 96917,
- 96924, 96930, 96936, 96940, 96947, 96951, 96955, 96959, 96963, 96967,
- 96971, 96977, 96985, 96989, 96993, 96996, 97002, 97012, 97016, 97028,
- 97035, 97042, 97049, 97056, 97062, 97066, 97070, 97074, 97078, 97085,
- 97094, 97101, 97109, 97117, 97123, 97127, 97131, 97135, 97139, 97145,
- 97154, 97166, 97173, 97180, 97189, 97200, 97206, 97215, 97224, 97231,
- 97240, 97247, 97254, 97264, 97271, 97278, 97285, 97292, 97296, 97302,
- 97306, 97317, 97325, 97334, 97346, 97353, 97360, 97370, 97377, 97386,
- 97393, 97402, 97409, 97416, 97426, 97433, 97440, 97450, 97457, 97469,
- 97478, 97485, 97492, 97499, 97508, 97518, 97531, 97538, 97548, 97558,
- 97565, 97574, 97587, 97594, 97601, 97608, 97618, 97628, 97635, 97645,
- 97652, 97659, 97669, 97675, 97682, 97689, 97696, 97706, 97713, 97720,
- 97727, 97733, 97740, 97750, 97757, 97761, 97769, 97773, 97785, 97789,
- 97803, 97807, 97811, 97815, 97819, 97825, 97832, 97840, 97844, 97848,
- 97852, 97856, 97863, 97867, 97873, 97879, 97887, 97891, 97898, 97906,
- 97910, 97914, 97920, 97924, 97933, 97942, 97949, 97959, 97965, 97969,
- 97973, 97981, 97988, 97995, 98001, 98005, 98013, 98017, 98024, 98036,
- 98043, 98053, 98059, 98063, 98072, 98079, 98088, 98092, 98096, 98103,
- 98107, 98111, 98115, 98119, 98122, 98128, 98134, 98138, 98142, 98149,
- 98156, 98163, 98170, 98177, 98184, 98191, 98198, 98204, 98208, 98212,
- 98219, 98226, 98233, 98240, 98247, 98251, 98254, 98259, 98263, 98267,
- 98276, 98285, 98289, 98293, 98299, 98305, 98322, 98328, 98332, 98341,
- 98345, 98349, 98356, 98364, 98372, 98378, 98382, 98386, 98390, 98394,
- 98397, 98403, 98410, 98420, 98427, 98434, 98441, 98447, 98454, 98461,
- 98468, 98475, 98482, 98491, 98498, 98510, 98517, 98524, 98534, 98545,
- 98552, 98559, 98566, 98573, 98580, 98587, 98594, 98601, 98608, 98615,
- 98625, 98635, 98645, 98652, 98662, 98669, 98676, 98683, 98690, 98696,
- 98703, 98710, 98717, 98724, 98731, 98738, 98745, 98752, 98758, 98765,
- 98772, 98781, 98788, 98795, 98799, 98807, 98811, 98815, 98819, 98823,
- 98827, 98834, 98838, 98847, 98851, 98858, 98866, 98870, 98874, 98878,
- 98891, 98907, 98911, 98915, 98922, 98928, 98935, 98939, 98943, 98947,
- 98951, 98955, 98962, 98966, 98984, 98988, 98992, 98999, 99003, 99007,
- 99013, 99017, 99021, 99029, 99033, 99037, 99041, 99045, 99051, 99062,
- 99071, 99080, 99087, 99094, 99105, 99112, 99119, 99126, 99133, 99140,
- 99147, 99154, 99164, 99170, 99177, 99187, 99196, 99203, 99212, 99222,
- 99229, 99236, 99243, 99250, 99262, 99269, 99276, 99283, 99290, 99297,
- 99307, 99314, 99321, 99331, 99344, 99356, 99363, 99373, 99380, 99387,
- 99394, 99408, 99414, 99422, 99432, 99442, 99449, 99456, 99462, 99466,
- 99473, 99483, 99489, 99502, 99506, 99510, 99517, 99521, 99528, 99538,
- 99542, 99546, 99550, 99554, 99558, 99565, 99569, 99576, 99583, 99590,
- 99599, 99608, 99618, 99625, 99632, 99639, 99649, 99656, 99666, 99673,
- 99683, 99690, 99697, 99707, 99717, 99724, 99730, 99738, 99746, 99752,
- 99758, 99762, 99766, 99773, 99781, 99787, 99791, 99795, 99799, 99806,
- 99818, 99821, 99828, 99834, 99838, 99842, 99846, 99850, 99854, 99858,
- 99862, 99866, 99870, 99874, 99881, 99885, 99891, 99895, 99899, 99903,
- 99909, 99916, 99923, 99930, 99941, 99949, 99953, 99959, 99968, 99975,
- 99981, 99984, 99988, 99992, 99998, 100007, 100015, 100019, 100025,
- 100029, 100033, 100037, 100043, 100050, 100056, 100060, 100066, 100070,
- 100074, 100083, 100095, 100099, 100106, 100113, 100123, 100130, 100142,
- 100149, 100156, 100163, 100174, 100184, 100197, 100207, 100214, 100218,
- 100222, 100226, 100230, 100239, 100248, 100257, 100274, 100283, 100289,
- 100296, 100304, 100317, 100321, 100330, 100339, 100348, 100357, 100368,
- 100377, 100386, 100395, 100404, 100413, 100422, 100432, 100435, 100439,
- 100443, 100447, 100451, 100455, 100461, 100468, 100475, 100482, 100488,
- 100494, 100501, 100507, 100514, 100522, 100526, 100533, 100540, 100547,
- 100555, 100558, 100562, 100566, 100570, 100573, 100579, 100583, 100589,
- 100596, 100603, 100609, 100616, 100623, 100630, 100637, 100644, 100651,
- 100658, 100665, 100672, 100679, 100686, 100693, 100700, 100707, 100713,
- 100717, 100726, 100730, 100734, 100738, 100742, 100748, 100755, 100762,
- 100769, 100776, 100783, 100789, 100797, 100801, 100805, 100809, 100813,
- 100819, 100836, 100853, 100857, 100861, 100865, 100869, 100873, 100877,
- 100883, 100890, 100894, 100900, 100907, 100914, 100921, 100928, 100935,
- 100944, 100951, 100958, 100965, 100972, 100976, 100980, 100986, 100998,
- 101002, 101006, 101015, 101019, 101023, 101027, 101033, 101037, 101041,
- 101050, 101054, 101058, 101062, 101069, 101073, 101077, 101081, 101085,
- 101089, 101093, 101097, 101101, 101107, 101114, 101121, 101127, 101131,
- 101148, 101154, 101158, 101164, 101170, 101176, 101182, 101188, 101194,
- 101198, 101202, 101206, 101212, 101216, 101222, 101226, 101230, 101237,
- 101244, 101261, 101265, 101269, 101273, 101277, 101281, 101293, 101296,
- 101301, 101306, 101321, 101331, 101343, 101347, 101351, 101355, 101361,
- 101368, 101375, 101385, 101397, 101403, 101409, 101418, 101422, 101426,
- 101433, 101443, 101450, 101456, 101460, 101464, 101471, 101477, 101481,
- 101487, 101491, 101499, 101505, 101509, 101517, 101525, 101532, 101538,
- 101545, 101552, 101562, 101572, 101576, 101580, 101584, 101588, 101594,
- 101601, 101607, 101614, 101621, 101628, 101637, 101644, 101651, 101657,
- 101664, 101671, 101678, 101685, 101692, 101699, 101705, 101712, 101719,
- 101726, 101735, 101742, 101749, 101753, 101759, 101763, 101769, 101776,
- 101783, 101790, 101794, 101798, 101802, 101806, 101810, 101817, 101821,
- 101825, 101831, 101839, 101843, 101847, 101851, 101855, 101862, 101866,
- 101870, 101878, 101882, 101886, 101890, 101894, 101900, 101904, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101908, 101914, 101920, 101927,
- 101934, 101941, 101948, 101955, 101962, 101968, 101975, 101982, 101989,
- 101996, 102003, 102010, 102016, 102022, 102028, 102034, 102040, 102046,
- 102052, 102058, 102064, 102071, 102078, 102085, 102092, 102099, 102106,
- 102112, 102118, 102124, 102131, 102138, 102144, 102150, 102159, 102166,
- 102173, 102180, 102187, 102194, 102201, 102207, 102213, 102219, 102228,
- 102235, 102242, 102253, 102264, 102270, 102276, 102282, 102291, 102298,
- 102305, 102315, 102325, 102336, 102347, 102359, 102372, 102383, 102394,
- 102406, 102419, 102430, 102441, 102452, 102463, 102474, 102486, 102494,
- 102502, 102511, 102520, 102529, 102535, 102541, 102547, 102554, 102564,
- 102571, 102581, 102586, 102591, 102597, 102603, 102611, 102619, 102628,
- 102639, 102650, 102658, 102666, 102675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 102684, 102695, 102702, 102710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 102718, 102722, 102726, 102730, 102734, 102738, 102742, 102746, 102750,
- 102754, 102758, 102762, 102766, 102770, 102774, 102778, 102782, 102786,
- 102790, 102794, 102798, 102802, 102806, 102810, 102814, 102818, 102822,
- 102826, 102830, 102834, 102838, 102842, 102846, 102850, 102854, 102858,
- 102862, 102866, 102870, 102874, 102878, 102882, 102886, 102890, 102894,
- 102898, 102902, 102906, 102910, 102914, 102918, 102922, 102926, 102930,
- 102934, 102938, 102942, 102946, 102950, 102954, 102958, 102962, 102966,
- 102970, 102974, 102978, 102982, 102986, 102990, 102994, 102998, 103002,
- 103006, 103010, 103014, 103018, 103022, 103026, 103030, 103034, 103038,
- 103042, 103046, 103050, 103054, 103058, 103062, 103066, 103070, 103074,
- 103078, 103082, 103086, 103090, 103094, 103098, 103102, 103106, 103110,
- 103114, 103118, 103122, 103126, 103130, 103134, 103138, 103142, 103146,
- 103150, 103154, 103158, 103162, 103166, 103170, 103174, 103178, 103182,
- 103186, 103190, 103194, 103198, 103202, 103206, 103210, 103214, 103218,
- 103222, 103226, 103230, 103234, 103238, 103242, 103246, 103250, 103254,
- 103258, 103262, 103266, 103270, 103274, 103278, 103282, 103286, 103290,
- 103294, 103298, 103302, 103306, 103310, 103314, 103318, 103322, 103326,
- 103330, 103334, 103338, 103342, 103346, 103350, 103354, 103358, 103362,
- 103366, 103370, 103374, 103378, 103382, 103386, 103390, 103394, 103398,
- 103402, 103406, 103410, 103414, 103418, 103422, 103426, 103430, 103434,
- 103438, 103442, 103446, 103450, 103454, 103458, 103462, 103466, 103470,
- 103474, 103478, 103482, 103486, 103490, 103494, 103498, 103502, 103506,
- 103510, 103514, 103518, 103522, 103526, 103530, 103534, 103538, 103542,
- 103546, 103550, 103554, 103558, 103562, 103566, 103570, 103574, 103578,
- 103582, 103586, 103590, 103594, 103598, 103602, 103606, 103610, 103614,
- 103618, 103622, 103626, 103630, 103634, 103638, 103642, 103646, 103650,
- 103654, 103658, 103662, 103666, 103670, 103674, 103678, 103682, 103686,
- 103690, 103694, 103698, 103702, 103706, 103710, 103714, 103718, 103722,
- 103726, 103730, 103734, 103738, 103742, 103746, 103750, 103754, 103758,
- 103762, 103766, 103770, 103774, 103778, 103782, 103786, 103790, 103794,
- 103798, 103802, 103806, 103810, 103814, 103818, 103822, 103826, 103830,
- 103834, 103838, 103842, 103846, 103850, 103854, 103858, 103862, 103866,
- 103870, 103874, 103878, 103882, 103886, 103890, 103894, 103898, 103902,
- 103906, 103910, 103914, 103918, 103922, 103926, 103930, 103934, 103938,
- 103942, 103946, 103950, 103954, 103958, 103962, 103966, 103970, 103974,
- 103978, 103982, 103986, 103990, 103994, 103998, 104002, 104006, 104010,
- 104014, 104018, 104022, 104026, 104030, 104034, 104038, 104042, 104046,
- 104050, 104054, 104058, 104062, 104066, 104070, 104074, 104078, 104082,
- 104086, 104090, 104094, 104098, 104102, 104106, 104110, 104114, 104118,
- 104122, 104126, 104130, 104134, 104138, 104142, 104146, 104150, 104154,
- 104158, 104162, 104166, 104170, 104174, 104178, 104182, 104186, 104190,
- 104194, 104198, 104202, 104206, 104210, 104214, 104218, 104222, 104226,
- 104230, 104234, 104238, 104242, 104246, 104250, 104254, 104258, 104262,
- 104266, 104270, 104274, 104278, 104282, 104286, 104290, 104294, 104298,
- 104302, 104306, 104310, 104314, 104318, 104322, 104326, 104330, 104334,
- 104338, 104342, 104346, 104350, 104354, 104358, 104362, 104366, 104370,
- 104374, 104378, 104382, 104386, 104390, 104394, 104398, 104402, 104406,
- 104410, 104414, 104418, 104422, 104426, 104430, 104434, 104438, 104442,
- 104446, 104450, 104454, 104458, 104462, 104466, 104470, 104474, 104478,
- 104482, 104486, 104490, 104494, 104498, 104502, 104506, 104510, 104514,
- 104518, 104522, 104526, 104530, 104534, 104538, 104542, 104546, 104550,
- 104554, 104558, 104562, 104566, 104570, 104574, 104578, 104582, 104586,
- 104590, 104594, 104598, 104602, 104606, 104610, 104614, 104618, 104622,
- 104626, 104630, 104634, 104638, 104642, 104646, 104650, 104654, 104658,
- 104662, 104666, 104670, 104674, 104678, 104682, 104686, 104690, 104694,
- 104698, 104702, 104706, 104710, 104714, 104718, 104722, 104726, 104730,
- 104734, 104738, 104742, 104746, 104750, 104754, 104758, 104762, 104766,
- 104770, 104774, 104778, 104782, 104786, 104790, 104794, 104798, 104802,
- 104806, 104810, 104814, 104818, 104822, 104826, 104830, 104834, 104838,
- 104842, 104846, 104850, 104854, 104858, 104862, 104866, 104870, 104874,
- 104878, 104882, 104886, 104890, 104894, 104898, 104902, 104906, 104910,
- 104914, 104918, 104922, 104926, 104930, 104934, 104938, 104942, 104946,
- 104950, 104954, 104958, 104962, 104966, 104970, 104974, 104978, 104982,
- 104986, 104990, 104994, 104998, 105002, 105006, 105010, 105014, 105018,
- 105022, 105026, 105030, 105034, 105038, 105042, 105046, 105050, 105054,
- 105058, 105062, 105066, 105070, 105074, 105078, 105082, 105086, 105090,
- 105094, 105098, 105102, 105106, 105110, 105114, 105118, 105122, 105126,
- 105130, 105134, 105138, 105142, 105146, 105150, 105154, 105158, 105162,
- 105166, 105170, 105174, 105178, 105182, 105186, 105190, 105194, 105198,
- 105202, 105206, 105210, 105214, 105218, 105222, 105226, 105230, 105234,
- 105238, 105242, 105246, 105250, 105254, 105258, 105262, 105266, 105270,
- 105274, 105278, 105282, 105286, 105290, 105294, 105298, 105302, 105306,
- 105310, 105314, 105318, 105322, 105326, 105330, 105334, 105338, 105342,
- 105346, 105350, 105354, 105358, 105362, 105366, 105370, 105374, 105378,
- 105382, 105386, 105390, 105394, 105398, 105402, 105406, 105410, 105414,
- 105418, 105422, 105426, 105430, 105434, 105438, 105442, 105446, 105450,
- 105454, 105458, 105462, 105466, 105470, 105474, 105478, 105482, 105486,
- 105490, 105494, 105498, 105502, 105506, 105510, 105514, 105518, 105522,
- 105526, 105530, 105534, 105538, 105542, 105546, 105550, 105554, 105558,
- 105562, 105566, 105570, 105574, 105578, 105582, 105586, 105590, 105594,
- 105598, 105602, 105606, 105610, 105614, 105618, 105622, 105626, 105630,
- 105634, 105638, 105642, 105646, 105650, 105654, 105658, 105662, 105666,
- 105670, 105674, 105678, 105682, 105686, 105690, 105694, 105698, 105702,
- 105706, 105710, 105714, 105718, 105722, 105726, 105730, 105734, 105738,
- 105742, 105746, 105750, 105754, 105758, 105762, 105766, 105770, 105774,
- 105778, 105782, 105786, 105790, 105794, 105798, 105802, 105806, 105810,
- 105814, 105818, 105822, 105826, 105830, 105834, 105838, 105842, 105846,
- 105850, 105854, 105858, 105862, 105866, 105870, 105874, 105878, 105882,
- 105886, 105890, 105894, 105898, 105902, 105906, 105910, 105914, 105918,
- 105922, 105926, 105930, 105934, 105938, 105942, 105946, 105950, 105954,
- 105958, 105962, 105966, 105970, 105974, 105978, 105982, 105986, 105990,
- 105994, 105998, 106002, 106006, 106010, 106014, 106018, 106022, 106026,
- 106030, 106034, 106038, 106042, 106046, 106050, 106054, 106058, 106062,
- 106066, 106070, 106074, 106078, 106082, 106086, 106090, 106094, 106098,
- 106102, 106106, 106110, 106114, 106118, 106122, 106126, 106130, 106134,
- 106138, 106142, 106146, 106150, 106154, 106158, 106162, 106166, 106170,
- 106174, 106178, 106182, 106186, 106190, 106194, 106198, 106202, 106206,
- 106210, 106214, 106218, 106222, 106226, 106230, 106234, 106238, 106242,
- 106246, 106250, 106254, 106258, 106262, 106266, 106270, 106274, 106278,
- 106282, 106286, 106290, 106294, 106298, 106302, 106306, 106310, 106314,
- 106318, 106322, 106326, 106330, 106334, 106338, 106342, 106346, 106350,
- 106354, 106358, 106362, 106366, 106370, 106374, 106378, 106382, 106386,
- 106390, 106394, 106398, 106402, 106406, 106410, 106414, 106418, 106422,
- 106426, 106430, 106434, 106438, 106442, 106446, 106450, 106454, 106458,
- 106462, 106466, 106470, 106474, 106478, 106482, 106486, 106490, 106494,
- 106498, 106502, 106506, 106510, 106514, 106518, 106522, 106526, 106530,
- 106534, 106538, 106542, 106546, 106550, 106554, 106558, 106562, 106566,
- 106570, 106574, 106578, 106582, 106586, 106590, 106594, 106598, 106602,
- 106606, 106610, 106614, 106618, 106622, 106626, 106630, 106634, 106638,
- 106642, 106646, 106650, 106654, 106658, 106662, 106666, 106670, 106674,
- 106678, 106682, 106686, 106690, 106694, 106698, 106702, 106706, 106710,
- 106714, 106718, 106722, 106726, 106730, 106734, 106738, 106742, 106746,
- 106750, 106754, 106758, 106762, 106766, 106770, 106774, 106778, 106782,
- 106786, 106790, 106794, 106798, 106802, 106806, 106810, 106814, 106818,
- 106822, 106826, 106830, 106834, 106838, 106842, 106846, 106850, 106854,
- 106858, 106862, 106866, 106870, 106874, 106878, 106882, 106886, 106890,
- 106894, 106898, 106902, 106906, 106910, 106914, 106918, 106922, 106926,
- 106930, 106934, 106938, 106942, 106946, 106950, 106954, 106958, 106962,
- 106966, 106970, 106974, 106978, 106982, 106986, 106990, 106994, 106998,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96079, 96082, 96087, 96093,
+ 96101, 96106, 96112, 96120, 96126, 96132, 96136, 96140, 96147, 96156,
+ 96163, 96172, 96178, 96187, 96194, 96201, 96208, 96218, 96224, 96228,
+ 96235, 96244, 96254, 96261, 96268, 96272, 96276, 96283, 96293, 96297,
+ 96304, 96311, 96318, 96324, 96331, 96338, 96345, 96352, 96356, 96360,
+ 96364, 96371, 96375, 96382, 96389, 96403, 96412, 96416, 96420, 96424,
+ 96431, 96435, 96439, 96443, 96451, 96459, 96478, 96488, 96508, 96512,
+ 96516, 96520, 96524, 96528, 96532, 96536, 96543, 96547, 96550, 96554,
+ 96558, 96564, 96571, 96580, 96584, 96593, 96602, 96610, 96614, 96621,
+ 96625, 96629, 96633, 96637, 96648, 96657, 96666, 96675, 96684, 96696,
+ 96705, 96714, 96723, 96731, 96740, 96752, 96761, 96770, 96779, 96791,
+ 96800, 96809, 96821, 96830, 96839, 96851, 96860, 96864, 96868, 96872,
+ 96876, 96880, 96884, 96888, 96895, 96899, 96903, 96914, 96918, 96922,
+ 96929, 96935, 96941, 96945, 96952, 96956, 96960, 96964, 96968, 96972,
+ 96976, 96982, 96990, 96994, 96998, 97001, 97007, 97017, 97021, 97033,
+ 97040, 97047, 97054, 97061, 97067, 97071, 97075, 97079, 97083, 97090,
+ 97099, 97106, 97114, 97122, 97128, 97132, 97136, 97140, 97144, 97150,
+ 97159, 97171, 97178, 97185, 97194, 97205, 97211, 97220, 97229, 97236,
+ 97245, 97252, 97259, 97269, 97276, 97283, 97290, 97297, 97301, 97307,
+ 97311, 97322, 97330, 97339, 97351, 97358, 97365, 97375, 97382, 97391,
+ 97398, 97407, 97414, 97421, 97431, 97438, 97445, 97455, 97462, 97474,
+ 97483, 97490, 97497, 97504, 97513, 97523, 97536, 97543, 97553, 97563,
+ 97570, 97579, 97592, 97599, 97606, 97613, 97623, 97633, 97640, 97650,
+ 97657, 97664, 97674, 97680, 97687, 97694, 97701, 97711, 97718, 97725,
+ 97732, 97738, 97745, 97755, 97762, 97766, 97774, 97778, 97790, 97794,
+ 97808, 97812, 97816, 97820, 97824, 97830, 97837, 97845, 97849, 97853,
+ 97857, 97861, 97868, 97872, 97878, 97884, 97892, 97896, 97903, 97911,
+ 97915, 97919, 97925, 97929, 97938, 97947, 97954, 97964, 97970, 97974,
+ 97978, 97986, 97993, 98000, 98006, 98010, 98018, 98022, 98029, 98041,
+ 98048, 98058, 98064, 98068, 98077, 98084, 98093, 98097, 98101, 98108,
+ 98112, 98116, 98120, 98124, 98127, 98133, 98139, 98143, 98147, 98154,
+ 98161, 98168, 98175, 98182, 98189, 98196, 98203, 98209, 98213, 98217,
+ 98224, 98231, 98238, 98245, 98252, 98256, 98259, 98264, 98268, 98272,
+ 98281, 98290, 98294, 98298, 98304, 98310, 98327, 98333, 98337, 98346,
+ 98350, 98354, 98361, 98369, 98377, 98383, 98387, 98391, 98395, 98399,
+ 98402, 98408, 98415, 98425, 98432, 98439, 98446, 98452, 98459, 98466,
+ 98473, 98480, 98487, 98496, 98503, 98515, 98522, 98529, 98539, 98550,
+ 98557, 98564, 98571, 98578, 98585, 98592, 98599, 98606, 98613, 98620,
+ 98630, 98640, 98650, 98657, 98667, 98674, 98681, 98688, 98695, 98701,
+ 98708, 98715, 98722, 98729, 98736, 98743, 98750, 98757, 98763, 98770,
+ 98777, 98786, 98793, 98800, 98804, 98812, 98816, 98820, 98824, 98828,
+ 98832, 98839, 98843, 98852, 98856, 98863, 98871, 98875, 98879, 98883,
+ 98896, 98912, 98916, 98920, 98927, 98933, 98940, 98944, 98948, 98952,
+ 98956, 98960, 98967, 98971, 98989, 98993, 98997, 99004, 99008, 99012,
+ 99018, 99022, 99026, 99034, 99038, 99042, 99046, 99050, 99056, 99067,
+ 99076, 99085, 99092, 99099, 99110, 99117, 99124, 99131, 99138, 99145,
+ 99152, 99159, 99169, 99175, 99182, 99192, 99201, 99208, 99217, 99227,
+ 99234, 99241, 99248, 99255, 99267, 99274, 99281, 99288, 99295, 99302,
+ 99312, 99319, 99326, 99336, 99349, 99361, 99368, 99378, 99385, 99392,
+ 99399, 99413, 99419, 99427, 99437, 99447, 99454, 99461, 99467, 99471,
+ 99478, 99488, 99494, 99507, 99511, 99515, 99522, 99526, 99533, 99543,
+ 99547, 99551, 99555, 99559, 99563, 99570, 99574, 99581, 99588, 99595,
+ 99604, 99613, 99623, 99630, 99637, 99644, 99654, 99661, 99671, 99678,
+ 99688, 99695, 99702, 99712, 99722, 99729, 99735, 99743, 99751, 99757,
+ 99763, 99767, 99771, 99778, 99786, 99792, 99796, 99800, 99804, 99811,
+ 99823, 99826, 99833, 99839, 99843, 99847, 99851, 99855, 99859, 99863,
+ 99867, 99871, 99875, 99879, 99886, 99890, 99896, 99900, 99904, 99908,
+ 99914, 99921, 99928, 99935, 99946, 99954, 99958, 99964, 99973, 99980,
+ 99986, 99989, 99993, 99997, 100003, 100012, 100020, 100024, 100030,
+ 100034, 100038, 100042, 100048, 100055, 100061, 100065, 100071, 100075,
+ 100079, 100088, 100100, 100104, 100111, 100118, 100128, 100135, 100147,
+ 100154, 100161, 100168, 100179, 100189, 100202, 100212, 100219, 100223,
+ 100227, 100231, 100235, 100244, 100253, 100262, 100279, 100288, 100294,
+ 100301, 100309, 100322, 100326, 100335, 100344, 100353, 100362, 100373,
+ 100382, 100391, 100400, 100409, 100418, 100427, 100437, 100440, 100444,
+ 100448, 100452, 100456, 100460, 100466, 100473, 100480, 100487, 100493,
+ 100499, 100506, 100512, 100519, 100527, 100531, 100538, 100545, 100552,
+ 100560, 100563, 100567, 100571, 100575, 100578, 100584, 100588, 100594,
+ 100601, 100608, 100614, 100621, 100628, 100635, 100642, 100649, 100656,
+ 100663, 100670, 100677, 100684, 100691, 100698, 100705, 100712, 100718,
+ 100722, 100731, 100735, 100739, 100743, 100747, 100753, 100760, 100767,
+ 100774, 100781, 100788, 100794, 100802, 100806, 100810, 100814, 100818,
+ 100824, 100841, 100858, 100862, 100866, 100870, 100874, 100878, 100882,
+ 100888, 100895, 100899, 100905, 100912, 100919, 100926, 100933, 100940,
+ 100949, 100956, 100963, 100970, 100977, 100981, 100985, 100991, 101003,
+ 101007, 101011, 101020, 101024, 101028, 101032, 101038, 101042, 101046,
+ 101055, 101059, 101063, 101067, 101074, 101078, 101082, 101086, 101090,
+ 101094, 101098, 101102, 101106, 101112, 101119, 101126, 101132, 101136,
+ 101153, 101159, 101163, 101169, 101175, 101181, 101187, 101193, 101199,
+ 101203, 101207, 101211, 101217, 101221, 101227, 101231, 101235, 101242,
+ 101249, 101266, 101270, 101274, 101278, 101282, 101286, 101298, 101301,
+ 101306, 101311, 101326, 101336, 101348, 101352, 101356, 101360, 101366,
+ 101373, 101380, 101390, 101402, 101408, 101414, 101423, 101427, 101431,
+ 101438, 101448, 101455, 101461, 101465, 101469, 101476, 101482, 101486,
+ 101492, 101496, 101504, 101510, 101514, 101522, 101530, 101537, 101543,
+ 101550, 101557, 101567, 101577, 101581, 101585, 101589, 101593, 101599,
+ 101606, 101612, 101619, 101626, 101633, 101642, 101649, 101656, 101662,
+ 101669, 101676, 101683, 101690, 101697, 101704, 101710, 101717, 101724,
+ 101731, 101740, 101747, 101754, 101758, 101764, 101768, 101774, 101781,
+ 101788, 101795, 101799, 101803, 101807, 101811, 101815, 101822, 101826,
+ 101830, 101836, 101844, 101848, 101852, 101856, 101860, 101867, 101871,
+ 101875, 101883, 101887, 101891, 101895, 101899, 101905, 101909, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101913, 101919, 101925, 101932,
+ 101939, 101946, 101953, 101960, 101967, 101973, 101980, 101987, 101994,
+ 102001, 102008, 102015, 102021, 102027, 102033, 102039, 102045, 102051,
+ 102057, 102063, 102069, 102076, 102083, 102090, 102097, 102104, 102111,
+ 102117, 102123, 102129, 102136, 102143, 102149, 102155, 102164, 102171,
+ 102178, 102185, 102192, 102199, 102206, 102212, 102218, 102224, 102233,
+ 102240, 102247, 102258, 102269, 102275, 102281, 102287, 102296, 102303,
+ 102310, 102320, 102330, 102341, 102352, 102364, 102377, 102388, 102399,
+ 102411, 102424, 102435, 102446, 102457, 102468, 102479, 102491, 102499,
+ 102507, 102516, 102525, 102534, 102540, 102546, 102552, 102559, 102569,
+ 102576, 102586, 102591, 102596, 102602, 102608, 102616, 102624, 102633,
+ 102644, 102655, 102663, 102671, 102680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 102689, 102700, 102707, 102715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 102723, 102727, 102731, 102735, 102739, 102743, 102747, 102751, 102755,
+ 102759, 102763, 102767, 102771, 102775, 102779, 102783, 102787, 102791,
+ 102795, 102799, 102803, 102807, 102811, 102815, 102819, 102823, 102827,
+ 102831, 102835, 102839, 102843, 102847, 102851, 102855, 102859, 102863,
+ 102867, 102871, 102875, 102879, 102883, 102887, 102891, 102895, 102899,
+ 102903, 102907, 102911, 102915, 102919, 102923, 102927, 102931, 102935,
+ 102939, 102943, 102947, 102951, 102955, 102959, 102963, 102967, 102971,
+ 102975, 102979, 102983, 102987, 102991, 102995, 102999, 103003, 103007,
+ 103011, 103015, 103019, 103023, 103027, 103031, 103035, 103039, 103043,
+ 103047, 103051, 103055, 103059, 103063, 103067, 103071, 103075, 103079,
+ 103083, 103087, 103091, 103095, 103099, 103103, 103107, 103111, 103115,
+ 103119, 103123, 103127, 103131, 103135, 103139, 103143, 103147, 103151,
+ 103155, 103159, 103163, 103167, 103171, 103175, 103179, 103183, 103187,
+ 103191, 103195, 103199, 103203, 103207, 103211, 103215, 103219, 103223,
+ 103227, 103231, 103235, 103239, 103243, 103247, 103251, 103255, 103259,
+ 103263, 103267, 103271, 103275, 103279, 103283, 103287, 103291, 103295,
+ 103299, 103303, 103307, 103311, 103315, 103319, 103323, 103327, 103331,
+ 103335, 103339, 103343, 103347, 103351, 103355, 103359, 103363, 103367,
+ 103371, 103375, 103379, 103383, 103387, 103391, 103395, 103399, 103403,
+ 103407, 103411, 103415, 103419, 103423, 103427, 103431, 103435, 103439,
+ 103443, 103447, 103451, 103455, 103459, 103463, 103467, 103471, 103475,
+ 103479, 103483, 103487, 103491, 103495, 103499, 103503, 103507, 103511,
+ 103515, 103519, 103523, 103527, 103531, 103535, 103539, 103543, 103547,
+ 103551, 103555, 103559, 103563, 103567, 103571, 103575, 103579, 103583,
+ 103587, 103591, 103595, 103599, 103603, 103607, 103611, 103615, 103619,
+ 103623, 103627, 103631, 103635, 103639, 103643, 103647, 103651, 103655,
+ 103659, 103663, 103667, 103671, 103675, 103679, 103683, 103687, 103691,
+ 103695, 103699, 103703, 103707, 103711, 103715, 103719, 103723, 103727,
+ 103731, 103735, 103739, 103743, 103747, 103751, 103755, 103759, 103763,
+ 103767, 103771, 103775, 103779, 103783, 103787, 103791, 103795, 103799,
+ 103803, 103807, 103811, 103815, 103819, 103823, 103827, 103831, 103835,
+ 103839, 103843, 103847, 103851, 103855, 103859, 103863, 103867, 103871,
+ 103875, 103879, 103883, 103887, 103891, 103895, 103899, 103903, 103907,
+ 103911, 103915, 103919, 103923, 103927, 103931, 103935, 103939, 103943,
+ 103947, 103951, 103955, 103959, 103963, 103967, 103971, 103975, 103979,
+ 103983, 103987, 103991, 103995, 103999, 104003, 104007, 104011, 104015,
+ 104019, 104023, 104027, 104031, 104035, 104039, 104043, 104047, 104051,
+ 104055, 104059, 104063, 104067, 104071, 104075, 104079, 104083, 104087,
+ 104091, 104095, 104099, 104103, 104107, 104111, 104115, 104119, 104123,
+ 104127, 104131, 104135, 104139, 104143, 104147, 104151, 104155, 104159,
+ 104163, 104167, 104171, 104175, 104179, 104183, 104187, 104191, 104195,
+ 104199, 104203, 104207, 104211, 104215, 104219, 104223, 104227, 104231,
+ 104235, 104239, 104243, 104247, 104251, 104255, 104259, 104263, 104267,
+ 104271, 104275, 104279, 104283, 104287, 104291, 104295, 104299, 104303,
+ 104307, 104311, 104315, 104319, 104323, 104327, 104331, 104335, 104339,
+ 104343, 104347, 104351, 104355, 104359, 104363, 104367, 104371, 104375,
+ 104379, 104383, 104387, 104391, 104395, 104399, 104403, 104407, 104411,
+ 104415, 104419, 104423, 104427, 104431, 104435, 104439, 104443, 104447,
+ 104451, 104455, 104459, 104463, 104467, 104471, 104475, 104479, 104483,
+ 104487, 104491, 104495, 104499, 104503, 104507, 104511, 104515, 104519,
+ 104523, 104527, 104531, 104535, 104539, 104543, 104547, 104551, 104555,
+ 104559, 104563, 104567, 104571, 104575, 104579, 104583, 104587, 104591,
+ 104595, 104599, 104603, 104607, 104611, 104615, 104619, 104623, 104627,
+ 104631, 104635, 104639, 104643, 104647, 104651, 104655, 104659, 104663,
+ 104667, 104671, 104675, 104679, 104683, 104687, 104691, 104695, 104699,
+ 104703, 104707, 104711, 104715, 104719, 104723, 104727, 104731, 104735,
+ 104739, 104743, 104747, 104751, 104755, 104759, 104763, 104767, 104771,
+ 104775, 104779, 104783, 104787, 104791, 104795, 104799, 104803, 104807,
+ 104811, 104815, 104819, 104823, 104827, 104831, 104835, 104839, 104843,
+ 104847, 104851, 104855, 104859, 104863, 104867, 104871, 104875, 104879,
+ 104883, 104887, 104891, 104895, 104899, 104903, 104907, 104911, 104915,
+ 104919, 104923, 104927, 104931, 104935, 104939, 104943, 104947, 104951,
+ 104955, 104959, 104963, 104967, 104971, 104975, 104979, 104983, 104987,
+ 104991, 104995, 104999, 105003, 105007, 105011, 105015, 105019, 105023,
+ 105027, 105031, 105035, 105039, 105043, 105047, 105051, 105055, 105059,
+ 105063, 105067, 105071, 105075, 105079, 105083, 105087, 105091, 105095,
+ 105099, 105103, 105107, 105111, 105115, 105119, 105123, 105127, 105131,
+ 105135, 105139, 105143, 105147, 105151, 105155, 105159, 105163, 105167,
+ 105171, 105175, 105179, 105183, 105187, 105191, 105195, 105199, 105203,
+ 105207, 105211, 105215, 105219, 105223, 105227, 105231, 105235, 105239,
+ 105243, 105247, 105251, 105255, 105259, 105263, 105267, 105271, 105275,
+ 105279, 105283, 105287, 105291, 105295, 105299, 105303, 105307, 105311,
+ 105315, 105319, 105323, 105327, 105331, 105335, 105339, 105343, 105347,
+ 105351, 105355, 105359, 105363, 105367, 105371, 105375, 105379, 105383,
+ 105387, 105391, 105395, 105399, 105403, 105407, 105411, 105415, 105419,
+ 105423, 105427, 105431, 105435, 105439, 105443, 105447, 105451, 105455,
+ 105459, 105463, 105467, 105471, 105475, 105479, 105483, 105487, 105491,
+ 105495, 105499, 105503, 105507, 105511, 105515, 105519, 105523, 105527,
+ 105531, 105535, 105539, 105543, 105547, 105551, 105555, 105559, 105563,
+ 105567, 105571, 105575, 105579, 105583, 105587, 105591, 105595, 105599,
+ 105603, 105607, 105611, 105615, 105619, 105623, 105627, 105631, 105635,
+ 105639, 105643, 105647, 105651, 105655, 105659, 105663, 105667, 105671,
+ 105675, 105679, 105683, 105687, 105691, 105695, 105699, 105703, 105707,
+ 105711, 105715, 105719, 105723, 105727, 105731, 105735, 105739, 105743,
+ 105747, 105751, 105755, 105759, 105763, 105767, 105771, 105775, 105779,
+ 105783, 105787, 105791, 105795, 105799, 105803, 105807, 105811, 105815,
+ 105819, 105823, 105827, 105831, 105835, 105839, 105843, 105847, 105851,
+ 105855, 105859, 105863, 105867, 105871, 105875, 105879, 105883, 105887,
+ 105891, 105895, 105899, 105903, 105907, 105911, 105915, 105919, 105923,
+ 105927, 105931, 105935, 105939, 105943, 105947, 105951, 105955, 105959,
+ 105963, 105967, 105971, 105975, 105979, 105983, 105987, 105991, 105995,
+ 105999, 106003, 106007, 106011, 106015, 106019, 106023, 106027, 106031,
+ 106035, 106039, 106043, 106047, 106051, 106055, 106059, 106063, 106067,
+ 106071, 106075, 106079, 106083, 106087, 106091, 106095, 106099, 106103,
+ 106107, 106111, 106115, 106119, 106123, 106127, 106131, 106135, 106139,
+ 106143, 106147, 106151, 106155, 106159, 106163, 106167, 106171, 106175,
+ 106179, 106183, 106187, 106191, 106195, 106199, 106203, 106207, 106211,
+ 106215, 106219, 106223, 106227, 106231, 106235, 106239, 106243, 106247,
+ 106251, 106255, 106259, 106263, 106267, 106271, 106275, 106279, 106283,
+ 106287, 106291, 106295, 106299, 106303, 106307, 106311, 106315, 106319,
+ 106323, 106327, 106331, 106335, 106339, 106343, 106347, 106351, 106355,
+ 106359, 106363, 106367, 106371, 106375, 106379, 106383, 106387, 106391,
+ 106395, 106399, 106403, 106407, 106411, 106415, 106419, 106423, 106427,
+ 106431, 106435, 106439, 106443, 106447, 106451, 106455, 106459, 106463,
+ 106467, 106471, 106475, 106479, 106483, 106487, 106491, 106495, 106499,
+ 106503, 106507, 106511, 106515, 106519, 106523, 106527, 106531, 106535,
+ 106539, 106543, 106547, 106551, 106555, 106559, 106563, 106567, 106571,
+ 106575, 106579, 106583, 106587, 106591, 106595, 106599, 106603, 106607,
+ 106611, 106615, 106619, 106623, 106627, 106631, 106635, 106639, 106643,
+ 106647, 106651, 106655, 106659, 106663, 106667, 106671, 106675, 106679,
+ 106683, 106687, 106691, 106695, 106699, 106703, 106707, 106711, 106715,
+ 106719, 106723, 106727, 106731, 106735, 106739, 106743, 106747, 106751,
+ 106755, 106759, 106763, 106767, 106771, 106775, 106779, 106783, 106787,
+ 106791, 106795, 106799, 106803, 106807, 106811, 106815, 106819, 106823,
+ 106827, 106831, 106835, 106839, 106843, 106847, 106851, 106855, 106859,
+ 106863, 106867, 106871, 106875, 106879, 106883, 106887, 106891, 106895,
+ 106899, 106903, 106907, 106911, 106915, 106919, 106923, 106927, 106931,
+ 106935, 106939, 106943, 106947, 106951, 106955, 106959, 106963, 106967,
+ 106971, 106975, 106979, 106983, 106987, 106991, 106995, 106999, 107003,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 107002, 107009, 107016, 107025, 107034,
- 107041, 107046, 107053, 107060, 107069, 107080, 107091, 107096, 107103,
- 107108, 107113, 107118, 107123, 107128, 107133, 107138, 107143, 107148,
- 107153, 107158, 107165, 107172, 107177, 107182, 107187, 107192, 107199,
- 107206, 107214, 107219, 107226, 107231, 107236, 107241, 107246, 107251,
- 107258, 107265, 107270, 107275, 107280, 107285, 107290, 107295, 107300,
- 107305, 107310, 107315, 107320, 107325, 107330, 107335, 107340, 107345,
- 107350, 107355, 107360, 107367, 107372, 107377, 107386, 107393, 107398,
- 107403, 107408, 107413, 107418, 107423, 107428, 107433, 107438, 107443,
- 107448, 107453, 107458, 107463, 107468, 107473, 107478, 107483, 107488,
- 107493, 107498, 107504, 107512, 107518, 107526, 107534, 107542, 107548,
- 107554, 107560, 107566, 107572, 107580, 107590, 107598, 107606, 107612,
- 107618, 107626, 107634, 107640, 107648, 107656, 107664, 107670, 107676,
- 107682, 107688, 107694, 107700, 107708, 107716, 107722, 107728, 107734,
- 107740, 107746, 107754, 107760, 107766, 107772, 107778, 107784, 107790,
- 107798, 107804, 107810, 107816, 107822, 107830, 107838, 107844, 107850,
- 107856, 107861, 107867, 107873, 107880, 107885, 107890, 107895, 107900,
- 107905, 107910, 107915, 107920, 107925, 107934, 107941, 107946, 107951,
- 107956, 107963, 107968, 107973, 107978, 107985, 107990, 107995, 108000,
- 108005, 108010, 108015, 108020, 108025, 108030, 108035, 108040, 108047,
- 108052, 108059, 108064, 108069, 108076, 108081, 108086, 108091, 108096,
- 108101, 108106, 108111, 108116, 108121, 108126, 108131, 108136, 108141,
- 108146, 108151, 108156, 108161, 108166, 108171, 108178, 108183, 108188,
- 108193, 108198, 108203, 108208, 108213, 108218, 108223, 108228, 108233,
- 108238, 108243, 108250, 108255, 108260, 108267, 108272, 108277, 108282,
- 108287, 108292, 108297, 108302, 108307, 108312, 108317, 108324, 108329,
- 108334, 108339, 108344, 108349, 108356, 108363, 108368, 108373, 108378,
- 108383, 108388, 108393, 108398, 108403, 108408, 108413, 108418, 108423,
- 108428, 108433, 108438, 108443, 108448, 108453, 108458, 108463, 108468,
- 108473, 108478, 108483, 108488, 108493, 108498, 108503, 108508, 108513,
- 108518, 108523, 108528, 108533, 108538, 108543, 108550, 108555, 108560,
- 108565, 108570, 108575, 108580, 108585, 108590, 108595, 108600, 108605,
- 108610, 108615, 108620, 108625, 108630, 108635, 108640, 108645, 108650,
- 108655, 108660, 108665, 108670, 108675, 108680, 108685, 108690, 108695,
- 108700, 108705, 108710, 108715, 108720, 108725, 108730, 108735, 108740,
- 108745, 108750, 108755, 108760, 108765, 108770, 108775, 108780, 108785,
- 108790, 108795, 108800, 108805, 108810, 108815, 108820, 108825, 108830,
- 108835, 108840, 108847, 108852, 108857, 108862, 108867, 108872, 108877,
- 108881, 108886, 108891, 108896, 108901, 108906, 108911, 108916, 108921,
- 108926, 108931, 108936, 108941, 108946, 108951, 108958, 108963, 108968,
- 108974, 108979, 108984, 108989, 108994, 108999, 109004, 109009, 109014,
- 109019, 109024, 109029, 109034, 109039, 109044, 109049, 109054, 109059,
- 109064, 109069, 109074, 109079, 109084, 109089, 109094, 109099, 109104,
- 109109, 109114, 109119, 109124, 109129, 109134, 109139, 109144, 109149,
- 109154, 109159, 109164, 109169, 109174, 109179, 109184, 109189, 109196,
- 109201, 109206, 109213, 109220, 109225, 109230, 109235, 109240, 109245,
- 109250, 109255, 109260, 109265, 109270, 109275, 109280, 109285, 109290,
- 109295, 109300, 109305, 109310, 109315, 109320, 109325, 109330, 109335,
- 109340, 109345, 109352, 109357, 109362, 109367, 109372, 109377, 109382,
- 109387, 109392, 109397, 109402, 109407, 109412, 109417, 109422, 109427,
- 109432, 109437, 109442, 109449, 109454, 109459, 109464, 109469, 109474,
- 109479, 109484, 109490, 109495, 109500, 109505, 109510, 109515, 109520,
- 109525, 109530, 109537, 109544, 109549, 109554, 109558, 109563, 109567,
- 109571, 109576, 109583, 109588, 109593, 109602, 109607, 109612, 109617,
- 109622, 109629, 109636, 109641, 109646, 109651, 109656, 109663, 109668,
- 109673, 109678, 109683, 109688, 109693, 109698, 109703, 109708, 109713,
- 109718, 109723, 109730, 109734, 109739, 109744, 109749, 109754, 109758,
- 109763, 109768, 109773, 109778, 109783, 109788, 109793, 109798, 109803,
- 109809, 109815, 109821, 109827, 109833, 109839, 109845, 109851, 109857,
- 109863, 109869, 109875, 109880, 109886, 109892, 109898, 109904, 109910,
- 109916, 109922, 109928, 109934, 109940, 109946, 109951, 109957, 109963,
- 109969, 109975, 109981, 109987, 109993, 109999, 110005, 110011, 110017,
- 110023, 110029, 110035, 110041, 110047, 110053, 110059, 110065, 110071,
- 110076, 110082, 110088, 110094, 110100, 110106, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 107007, 107014, 107021, 107030, 107039,
+ 107046, 107051, 107058, 107065, 107074, 107085, 107096, 107101, 107108,
+ 107113, 107118, 107123, 107128, 107133, 107138, 107143, 107148, 107153,
+ 107158, 107163, 107170, 107177, 107182, 107187, 107192, 107197, 107204,
+ 107211, 107219, 107224, 107231, 107236, 107241, 107246, 107251, 107256,
+ 107263, 107270, 107275, 107280, 107285, 107290, 107295, 107300, 107305,
+ 107310, 107315, 107320, 107325, 107330, 107335, 107340, 107345, 107350,
+ 107355, 107360, 107365, 107372, 107377, 107382, 107391, 107398, 107403,
+ 107408, 107413, 107418, 107423, 107428, 107433, 107438, 107443, 107448,
+ 107453, 107458, 107463, 107468, 107473, 107478, 107483, 107488, 107493,
+ 107498, 107503, 107509, 107517, 107523, 107531, 107539, 107547, 107553,
+ 107559, 107565, 107571, 107577, 107585, 107595, 107603, 107611, 107617,
+ 107623, 107631, 107639, 107645, 107653, 107661, 107669, 107675, 107681,
+ 107687, 107693, 107699, 107705, 107713, 107721, 107727, 107733, 107739,
+ 107745, 107751, 107759, 107765, 107771, 107777, 107783, 107789, 107795,
+ 107803, 107809, 107815, 107821, 107827, 107835, 107843, 107849, 107855,
+ 107861, 107866, 107872, 107878, 107885, 107890, 107895, 107900, 107905,
+ 107910, 107915, 107920, 107925, 107930, 107939, 107946, 107951, 107956,
+ 107961, 107968, 107973, 107978, 107983, 107990, 107995, 108000, 108005,
+ 108010, 108015, 108020, 108025, 108030, 108035, 108040, 108045, 108052,
+ 108057, 108064, 108069, 108074, 108081, 108086, 108091, 108096, 108101,
+ 108106, 108111, 108116, 108121, 108126, 108131, 108136, 108141, 108146,
+ 108151, 108156, 108161, 108166, 108171, 108176, 108183, 108188, 108193,
+ 108198, 108203, 108208, 108213, 108218, 108223, 108228, 108233, 108238,
+ 108243, 108248, 108255, 108260, 108265, 108272, 108277, 108282, 108287,
+ 108292, 108297, 108302, 108307, 108312, 108317, 108322, 108329, 108334,
+ 108339, 108344, 108349, 108354, 108361, 108368, 108373, 108378, 108383,
+ 108388, 108393, 108398, 108403, 108408, 108413, 108418, 108423, 108428,
+ 108433, 108438, 108443, 108448, 108453, 108458, 108463, 108468, 108473,
+ 108478, 108483, 108488, 108493, 108498, 108503, 108508, 108513, 108518,
+ 108523, 108528, 108533, 108538, 108543, 108548, 108555, 108560, 108565,
+ 108570, 108575, 108580, 108585, 108590, 108595, 108600, 108605, 108610,
+ 108615, 108620, 108625, 108630, 108635, 108640, 108645, 108650, 108655,
+ 108660, 108665, 108670, 108675, 108680, 108685, 108690, 108695, 108700,
+ 108705, 108710, 108715, 108720, 108725, 108730, 108735, 108740, 108745,
+ 108750, 108755, 108760, 108765, 108770, 108775, 108780, 108785, 108790,
+ 108795, 108800, 108805, 108810, 108815, 108820, 108825, 108830, 108835,
+ 108840, 108845, 108852, 108857, 108862, 108867, 108872, 108877, 108882,
+ 108886, 108891, 108896, 108901, 108906, 108911, 108916, 108921, 108926,
+ 108931, 108936, 108941, 108946, 108951, 108956, 108963, 108968, 108973,
+ 108979, 108984, 108989, 108994, 108999, 109004, 109009, 109014, 109019,
+ 109024, 109029, 109034, 109039, 109044, 109049, 109054, 109059, 109064,
+ 109069, 109074, 109079, 109084, 109089, 109094, 109099, 109104, 109109,
+ 109114, 109119, 109124, 109129, 109134, 109139, 109144, 109149, 109154,
+ 109159, 109164, 109169, 109174, 109179, 109184, 109189, 109194, 109201,
+ 109206, 109211, 109218, 109225, 109230, 109235, 109240, 109245, 109250,
+ 109255, 109260, 109265, 109270, 109275, 109280, 109285, 109290, 109295,
+ 109300, 109305, 109310, 109315, 109320, 109325, 109330, 109335, 109340,
+ 109345, 109350, 109357, 109362, 109367, 109372, 109377, 109382, 109387,
+ 109392, 109397, 109402, 109407, 109412, 109417, 109422, 109427, 109432,
+ 109437, 109442, 109447, 109454, 109459, 109464, 109469, 109474, 109479,
+ 109484, 109489, 109495, 109500, 109505, 109510, 109515, 109520, 109525,
+ 109530, 109535, 109542, 109549, 109554, 109559, 109563, 109568, 109572,
+ 109576, 109581, 109588, 109593, 109598, 109607, 109612, 109617, 109622,
+ 109627, 109634, 109641, 109646, 109651, 109656, 109661, 109668, 109673,
+ 109678, 109683, 109688, 109693, 109698, 109703, 109708, 109713, 109718,
+ 109723, 109728, 109735, 109739, 109744, 109749, 109754, 109759, 109763,
+ 109768, 109773, 109778, 109783, 109788, 109793, 109798, 109803, 109808,
+ 109814, 109820, 109826, 109832, 109838, 109844, 109850, 109856, 109862,
+ 109868, 109874, 109880, 109885, 109891, 109897, 109903, 109909, 109915,
+ 109921, 109927, 109933, 109939, 109945, 109951, 109956, 109962, 109968,
+ 109974, 109980, 109986, 109992, 109998, 110004, 110010, 110016, 110022,
+ 110028, 110034, 110040, 110046, 110052, 110058, 110064, 110070, 110076,
+ 110081, 110087, 110093, 110099, 110105, 110111, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110112, 110115, 110119,
- 110123, 110127, 110130, 110134, 110139, 110143, 110147, 110151, 110155,
- 110159, 110164, 110169, 110173, 110177, 110180, 110184, 110189, 110194,
- 110198, 110202, 110206, 110210, 110214, 110218, 110222, 110226, 110230,
- 110234, 110237, 110241, 110245, 110249, 110253, 110257, 110261, 110267,
- 110270, 110274, 110278, 110282, 110286, 110290, 110294, 110298, 110302,
- 110306, 110311, 110316, 110322, 110326, 110330, 110334, 110338, 110342,
- 110346, 110351, 110354, 110358, 110362, 110366, 110370, 110376, 110380,
- 110384, 110388, 110392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110396, 110400,
- 110404, 110410, 110416, 110420, 110425, 110430, 110435, 110440, 110444,
- 110449, 110454, 110459, 110463, 110468, 110473, 110478, 110482, 110487,
- 110492, 110497, 110502, 110507, 110512, 110517, 110522, 110526, 110531,
- 110536, 110541, 110546, 110551, 110556, 110561, 110566, 110571, 110576,
- 110581, 110588, 110593, 110600, 110605, 110610, 110615, 110620, 110625,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110630, 110634, 110640,
- 110643, 110646, 110650, 110654, 110658, 110662, 110666, 110670, 110674,
- 110680, 110686, 110692, 110698, 110704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110117, 110120, 110124,
+ 110128, 110132, 110135, 110139, 110144, 110148, 110152, 110156, 110160,
+ 110164, 110169, 110174, 110178, 110182, 110185, 110189, 110194, 110199,
+ 110203, 110207, 110211, 110215, 110219, 110223, 110227, 110231, 110235,
+ 110239, 110242, 110246, 110250, 110254, 110258, 110262, 110266, 110272,
+ 110275, 110279, 110283, 110287, 110291, 110295, 110299, 110303, 110307,
+ 110311, 110316, 110321, 110327, 110331, 110335, 110339, 110343, 110347,
+ 110351, 110356, 110359, 110363, 110367, 110371, 110375, 110381, 110385,
+ 110389, 110393, 110397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110401, 110405,
+ 110409, 110415, 110421, 110425, 110430, 110435, 110440, 110445, 110449,
+ 110454, 110459, 110464, 110468, 110473, 110478, 110483, 110487, 110492,
+ 110497, 110502, 110507, 110512, 110517, 110522, 110527, 110531, 110536,
+ 110541, 110546, 110551, 110556, 110561, 110566, 110571, 110576, 110581,
+ 110586, 110593, 110598, 110605, 110610, 110615, 110620, 110625, 110630,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110635, 110639, 110645,
+ 110648, 110651, 110655, 110659, 110663, 110667, 110671, 110675, 110679,
+ 110685, 110691, 110697, 110703, 110709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110710, 110715, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110715, 110720, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 110721, 110726, 110731, 110736, 110743, 110750, 110757, 110764, 110769,
- 110774, 110779, 110784, 110791, 110796, 110803, 110810, 110815, 110820,
- 110825, 110832, 110837, 110842, 110849, 110856, 110861, 110866, 110871,
- 110878, 110885, 110892, 110897, 110902, 110909, 110916, 110923, 110930,
- 110935, 110940, 110945, 110952, 110957, 110962, 110967, 110974, 110983,
- 110990, 110995, 111000, 111005, 111010, 111015, 111020, 111029, 111036,
- 111041, 111048, 111055, 111060, 111065, 111070, 111077, 111082, 111089,
- 111096, 111101, 111106, 111111, 111118, 111125, 111130, 111135, 111142,
- 111149, 111156, 111161, 111166, 111171, 111176, 111183, 111192, 111201,
- 111206, 111213, 111222, 111227, 111232, 111237, 111242, 111249, 111256,
- 111263, 111270, 111275, 111280, 111285, 111292, 111299, 111306, 111311,
- 111316, 111323, 111328, 111335, 111340, 111347, 111352, 111359, 111366,
- 111371, 111376, 111381, 111386, 111391, 111396, 111401, 111406, 111411,
- 111418, 111425, 111432, 111439, 111446, 111455, 111460, 111465, 111472,
- 111479, 111484, 111491, 111498, 111505, 111512, 111519, 111526, 111531,
- 111536, 111541, 111546, 111551, 111560, 111569, 111578, 111587, 111596,
- 111605, 111614, 111623, 111628, 111639, 111650, 111659, 111664, 111669,
- 111674, 111679, 111688, 111695, 111702, 111709, 111716, 111723, 111730,
- 111739, 111748, 111759, 111768, 111779, 111788, 111795, 111804, 111815,
- 111824, 111833, 111842, 111851, 111858, 111865, 111872, 111881, 111890,
- 111901, 111910, 111919, 111930, 111935, 111940, 111951, 111959, 111968,
- 111977, 111986, 111997, 112006, 112015, 112026, 112037, 112048, 112059,
- 112070, 112081, 112088, 112095, 112102, 112109, 112120, 112129, 112136,
- 112143, 112150, 112161, 112172, 112183, 112194, 112205, 112216, 112227,
- 112238, 112245, 112252, 112261, 112270, 112277, 112284, 112291, 112300,
- 112309, 112318, 112325, 112334, 112343, 112352, 112359, 112366, 112371,
- 112377, 112384, 112391, 112398, 112405, 112412, 112419, 112428, 112437,
- 112446, 112455, 112462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112471, 112477,
- 112482, 112487, 112494, 112500, 112506, 112512, 112518, 112524, 112530,
- 112536, 112540, 112544, 112550, 112556, 112562, 112566, 112571, 112576,
- 112580, 112584, 112587, 112593, 112599, 112605, 112611, 112617, 112623,
- 112629, 112635, 112641, 112651, 112661, 112667, 112673, 112683, 112693,
- 112699, 0, 0, 112705, 112713, 112718, 112723, 112729, 112735, 112741,
- 112747, 112753, 112759, 112766, 112773, 112779, 112785, 112791, 112797,
- 112803, 112809, 112815, 112821, 112826, 112832, 112838, 112844, 112850,
- 112856, 112865, 112871, 112876, 112884, 112891, 112898, 112907, 112916,
- 112925, 112934, 112943, 112952, 112961, 112970, 112980, 112990, 112998,
- 113006, 113015, 113024, 113030, 113036, 113042, 113048, 113056, 113064,
- 113068, 113074, 113079, 113085, 113091, 113097, 113103, 113109, 113118,
- 113123, 113130, 113135, 113140, 113145, 113151, 113157, 113163, 113170,
- 113175, 113180, 113185, 113190, 113195, 113201, 113207, 113213, 113219,
- 113225, 113231, 113237, 113243, 113248, 113253, 113258, 113263, 113268,
- 113273, 113278, 113283, 113289, 113295, 113300, 113305, 113310, 113315,
- 113320, 113326, 113333, 113337, 113341, 113345, 113349, 113353, 113357,
- 113361, 113365, 113373, 113383, 113387, 113391, 113397, 113403, 113409,
- 113415, 113421, 113427, 113433, 113439, 113445, 113451, 113457, 113463,
- 113469, 113475, 113479, 113483, 113490, 113496, 113502, 113508, 113513,
- 113520, 113525, 113531, 113537, 113543, 113549, 113554, 113558, 113564,
- 113568, 113572, 113576, 113582, 113588, 113592, 113598, 113604, 113610,
- 113616, 113622, 113630, 113638, 113644, 113650, 113656, 113662, 113674,
- 113686, 113700, 113712, 113724, 113738, 113752, 113766, 113770, 113778,
- 113786, 113791, 113795, 113799, 113803, 113807, 113811, 113815, 113819,
- 113825, 113831, 113837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113843, 113849,
- 113855, 113861, 113867, 113873, 113879, 113885, 113891, 113897, 113903,
- 113909, 113915, 113921, 113927, 113933, 113939, 113945, 113951, 113957,
- 113963, 113969, 113975, 113981, 113987, 113993, 113999, 114005, 114011,
- 114017, 114023, 114029, 114035, 114041, 114047, 114053, 114059, 114065,
- 114071, 114077, 114083, 114089, 114095, 114101, 114107, 114113, 114119,
- 114125, 114131, 114137, 114143, 114149, 114155, 114161, 114167, 114173,
- 114179, 114185, 114191, 114197, 114203, 114209, 114215, 114221, 114227,
- 114233, 114239, 114244, 114249, 114254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 110726, 110731, 110736, 110741, 110748, 110755, 110762, 110769, 110774,
+ 110779, 110784, 110789, 110796, 110801, 110808, 110815, 110820, 110825,
+ 110830, 110837, 110842, 110847, 110854, 110861, 110866, 110871, 110876,
+ 110883, 110890, 110897, 110902, 110907, 110914, 110921, 110928, 110935,
+ 110940, 110945, 110950, 110957, 110962, 110967, 110972, 110979, 110988,
+ 110995, 111000, 111005, 111010, 111015, 111020, 111025, 111034, 111041,
+ 111046, 111053, 111060, 111065, 111070, 111075, 111082, 111087, 111094,
+ 111101, 111106, 111111, 111116, 111123, 111130, 111135, 111140, 111147,
+ 111154, 111161, 111166, 111171, 111176, 111181, 111188, 111197, 111206,
+ 111211, 111218, 111227, 111232, 111237, 111242, 111247, 111254, 111261,
+ 111268, 111275, 111280, 111285, 111290, 111297, 111304, 111311, 111316,
+ 111321, 111328, 111333, 111340, 111345, 111352, 111357, 111364, 111371,
+ 111376, 111381, 111386, 111391, 111396, 111401, 111406, 111411, 111416,
+ 111423, 111430, 111437, 111444, 111451, 111460, 111465, 111470, 111477,
+ 111484, 111489, 111496, 111503, 111510, 111517, 111524, 111531, 111536,
+ 111541, 111546, 111551, 111556, 111565, 111574, 111583, 111592, 111601,
+ 111610, 111619, 111628, 111633, 111644, 111655, 111664, 111669, 111674,
+ 111679, 111684, 111693, 111700, 111707, 111714, 111721, 111728, 111735,
+ 111744, 111753, 111764, 111773, 111784, 111793, 111800, 111809, 111820,
+ 111829, 111838, 111847, 111856, 111863, 111870, 111877, 111886, 111895,
+ 111906, 111915, 111924, 111935, 111940, 111945, 111956, 111964, 111973,
+ 111982, 111991, 112002, 112011, 112020, 112031, 112042, 112053, 112064,
+ 112075, 112086, 112093, 112100, 112107, 112114, 112125, 112134, 112141,
+ 112148, 112155, 112166, 112177, 112188, 112199, 112210, 112221, 112232,
+ 112243, 112250, 112257, 112266, 112275, 112282, 112289, 112296, 112305,
+ 112314, 112323, 112330, 112339, 112348, 112357, 112364, 112371, 112376,
+ 112382, 112389, 112396, 112403, 112410, 112417, 112424, 112433, 112442,
+ 112451, 112460, 112467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112476, 112482,
+ 112487, 112492, 112499, 112505, 112511, 112517, 112523, 112529, 112535,
+ 112541, 112545, 112549, 112555, 112561, 112567, 112571, 112576, 112581,
+ 112585, 112589, 112592, 112598, 112604, 112610, 112616, 112622, 112628,
+ 112634, 112640, 112646, 112656, 112666, 112672, 112678, 112688, 112698,
+ 112704, 0, 0, 112710, 112718, 112723, 112728, 112734, 112740, 112746,
+ 112752, 112758, 112764, 112771, 112778, 112784, 112790, 112796, 112802,
+ 112808, 112814, 112820, 112826, 112831, 112837, 112843, 112849, 112855,
+ 112861, 112870, 112876, 112881, 112889, 112896, 112903, 112912, 112921,
+ 112930, 112939, 112948, 112957, 112966, 112975, 112985, 112995, 113003,
+ 113011, 113020, 113029, 113035, 113041, 113047, 113053, 113061, 113069,
+ 113073, 113079, 113084, 113090, 113096, 113102, 113108, 113114, 113123,
+ 113128, 113135, 113140, 113145, 113150, 113156, 113162, 113168, 113175,
+ 113180, 113185, 113190, 113195, 113200, 113206, 113212, 113218, 113224,
+ 113230, 113236, 113242, 113248, 113253, 113258, 113263, 113268, 113273,
+ 113278, 113283, 113288, 113294, 113300, 113305, 113310, 113315, 113320,
+ 113325, 113331, 113338, 113342, 113346, 113350, 113354, 113358, 113362,
+ 113366, 113370, 113378, 113388, 113392, 113396, 113402, 113408, 113414,
+ 113420, 113426, 113432, 113438, 113444, 113450, 113456, 113462, 113468,
+ 113474, 113480, 113484, 113488, 113495, 113501, 113507, 113513, 113518,
+ 113525, 113530, 113536, 113542, 113548, 113554, 113559, 113563, 113569,
+ 113573, 113577, 113581, 113587, 113593, 113597, 113603, 113609, 113615,
+ 113621, 113627, 113635, 113643, 113649, 113655, 113661, 113667, 113679,
+ 113691, 113705, 113717, 113729, 113743, 113757, 113771, 113775, 113783,
+ 113791, 113796, 113800, 113804, 113808, 113812, 113816, 113820, 113824,
+ 113830, 113836, 113842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113848, 113854,
+ 113860, 113866, 113872, 113878, 113884, 113890, 113896, 113902, 113908,
+ 113914, 113920, 113926, 113932, 113938, 113944, 113950, 113956, 113962,
+ 113968, 113974, 113980, 113986, 113992, 113998, 114004, 114010, 114016,
+ 114022, 114028, 114034, 114040, 114046, 114052, 114058, 114064, 114070,
+ 114076, 114082, 114088, 114094, 114100, 114106, 114112, 114118, 114124,
+ 114130, 114136, 114142, 114148, 114154, 114160, 114166, 114172, 114178,
+ 114184, 114190, 114196, 114202, 114208, 114214, 114220, 114226, 114232,
+ 114238, 114244, 114249, 114254, 114259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 114258, 114263, 114270, 114277, 114284, 114291, 114296, 114300, 114306,
- 114310, 114314, 114320, 114324, 114328, 114332, 114338, 114345, 114349,
- 114353, 114357, 114361, 114365, 114369, 114375, 114379, 114383, 114387,
- 114391, 114395, 114399, 114403, 114407, 114411, 114415, 114419, 114423,
- 114428, 114432, 114436, 114440, 114444, 114448, 114452, 114456, 114460,
- 114464, 114471, 114475, 114483, 114487, 114491, 114495, 114499, 114503,
- 114507, 114511, 114518, 114522, 114526, 114530, 114534, 114538, 114544,
- 114548, 114554, 114558, 114562, 114566, 114570, 114574, 114578, 114582,
- 114586, 114590, 114594, 114598, 114602, 114606, 114610, 114614, 114618,
- 114622, 114626, 114630, 114638, 114642, 114646, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 114650, 114658, 114666, 114674, 114682, 114690, 114698, 114706,
- 114714, 114722, 114730, 114738, 114746, 114754, 114762, 114770, 114778,
- 114786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114794, 114798, 114803,
- 114808, 114813, 114817, 114822, 114827, 114832, 114836, 114841, 114846,
- 114850, 114854, 114859, 114863, 114868, 114873, 114877, 114882, 114887,
- 114891, 114896, 114901, 114906, 114911, 114916, 114920, 114925, 114930,
- 114935, 114939, 114944, 114949, 114954, 114958, 114963, 114968, 114972,
- 114976, 114981, 114985, 114990, 114995, 114999, 115004, 115009, 115013,
- 115018, 115023, 115028, 115033, 115038, 115042, 115047, 115052, 115057,
- 115061, 115066, 115071, 115076, 115080, 115085, 115090, 115094, 115098,
- 115103, 115107, 115112, 115117, 115121, 115126, 115131, 115135, 115140,
- 115145, 115150, 115155, 115160, 115164, 115169, 115174, 115179, 115183,
- 115188, 0, 115193, 115197, 115202, 115207, 115211, 115215, 115220,
- 115224, 115229, 115234, 115238, 115243, 115248, 115252, 115257, 115262,
- 115267, 115272, 115277, 115282, 115288, 115294, 115300, 115305, 115311,
- 115317, 115323, 115328, 115334, 115340, 115345, 115350, 115356, 115361,
- 115367, 115373, 115378, 115384, 115390, 115395, 115401, 115407, 115413,
- 115419, 115425, 115430, 115436, 115442, 115448, 115453, 115459, 115465,
- 115471, 115476, 115482, 115488, 115493, 115498, 115504, 115509, 115515,
- 115521, 115526, 115532, 115538, 115543, 115549, 115555, 115561, 115567,
- 115573, 0, 115577, 115582, 0, 0, 115587, 0, 0, 115592, 115597, 0, 0,
- 115602, 115607, 115611, 115616, 0, 115621, 115626, 115631, 115635,
- 115640, 115645, 115650, 115655, 115660, 115664, 115669, 115674, 0,
- 115679, 0, 115684, 115689, 115693, 115698, 115703, 115707, 115711, 0,
- 115716, 115721, 115726, 115730, 115735, 115740, 115744, 115749, 115754,
- 115759, 115764, 115769, 115774, 115780, 115786, 115792, 115797, 115803,
- 115809, 115815, 115820, 115826, 115832, 115837, 115842, 115848, 115853,
- 115859, 115865, 115870, 115876, 115882, 115887, 115893, 115899, 115905,
- 115911, 115917, 115922, 115928, 115934, 115940, 115945, 115951, 115957,
- 115963, 115968, 115974, 115980, 115985, 115990, 115996, 116001, 116007,
- 116013, 116018, 116024, 116030, 116035, 116041, 116047, 116053, 116059,
- 116065, 116069, 0, 116074, 116079, 116083, 116088, 0, 0, 116093, 116098,
- 116103, 116107, 116111, 116116, 116120, 116125, 0, 116130, 116135,
- 116140, 116144, 116149, 116154, 116159, 0, 116164, 116168, 116173,
- 116178, 116183, 116187, 116192, 116197, 116202, 116206, 116211, 116216,
- 116220, 116224, 116229, 116233, 116238, 116243, 116247, 116252, 116257,
- 116261, 116266, 116271, 116276, 116281, 116286, 116290, 0, 116295,
- 116300, 116304, 116309, 0, 116314, 116318, 116323, 116328, 116332, 0,
- 116336, 0, 0, 0, 116340, 116345, 116350, 116354, 116359, 116364, 116369,
- 0, 116374, 116378, 116383, 116388, 116393, 116397, 116402, 116407,
- 116412, 116416, 116421, 116426, 116430, 116434, 116439, 116443, 116448,
- 116453, 116457, 116462, 116467, 116471, 116476, 116481, 116486, 116491,
- 116496, 116501, 116507, 116513, 116519, 116524, 116530, 116536, 116542,
- 116547, 116553, 116559, 116564, 116569, 116575, 116580, 116586, 116592,
- 116597, 116603, 116609, 116614, 116620, 116626, 116632, 116638, 116644,
- 116649, 116655, 116661, 116667, 116672, 116678, 116684, 116690, 116695,
- 116701, 116707, 116712, 116717, 116723, 116728, 116734, 116740, 116745,
- 116751, 116757, 116762, 116768, 116774, 116780, 116786, 116792, 116796,
- 116801, 116806, 116811, 116815, 116820, 116825, 116830, 116834, 116839,
- 116844, 116848, 116852, 116857, 116861, 116866, 116871, 116875, 116880,
- 116885, 116889, 116894, 116899, 116904, 116909, 116914, 116918, 116923,
- 116928, 116933, 116937, 116942, 116947, 116952, 116956, 116961, 116966,
- 116970, 116974, 116979, 116983, 116988, 116993, 116997, 117002, 117007,
- 117011, 117016, 117021, 117026, 117031, 117036, 117041, 117047, 117053,
- 117059, 117064, 117070, 117076, 117082, 117087, 117093, 117099, 117104,
- 117109, 117115, 117120, 117126, 117132, 117137, 117143, 117149, 117154,
- 117160, 117166, 117172, 117178, 117184, 117189, 117195, 117201, 117207,
- 117212, 117218, 117224, 117230, 117235, 117241, 117247, 117252, 117257,
- 117263, 117268, 117274, 117280, 117285, 117291, 117297, 117302, 117308,
- 117314, 117320, 117326, 117332, 117337, 117343, 117349, 117355, 117360,
- 117366, 117372, 117378, 117383, 117389, 117395, 117400, 117405, 117411,
- 117416, 117422, 117428, 117433, 117439, 117445, 117450, 117456, 117462,
- 117468, 117474, 117480, 117485, 117491, 117497, 117503, 117508, 117514,
- 117520, 117526, 117531, 117537, 117543, 117548, 117553, 117559, 117564,
- 117570, 117576, 117581, 117587, 117593, 117598, 117604, 117610, 117616,
- 117622, 117628, 117634, 117641, 117648, 117655, 117661, 117668, 117675,
- 117682, 117688, 117695, 117702, 117708, 117714, 117721, 117727, 117734,
- 117741, 117747, 117754, 117761, 117767, 117774, 117781, 117788, 117795,
- 117802, 117808, 117815, 117822, 117829, 117835, 117842, 117849, 117856,
- 117862, 117869, 117876, 117882, 117888, 117895, 117901, 117908, 117915,
- 117921, 117928, 117935, 117941, 117948, 117955, 117962, 117969, 117976,
- 117981, 117987, 117993, 117999, 118004, 118010, 118016, 118022, 118027,
- 118033, 118039, 118044, 118049, 118055, 118060, 118066, 118072, 118077,
- 118083, 118089, 118094, 118100, 118106, 118112, 118118, 118124, 118129,
- 118135, 118141, 118147, 118152, 118158, 118164, 118170, 118175, 118181,
- 118187, 118192, 118197, 118203, 118208, 118214, 118220, 118225, 118231,
- 118237, 118242, 118248, 118254, 118260, 118266, 118272, 118278, 0, 0,
- 118285, 118290, 118295, 118300, 118305, 118310, 118315, 118320, 118325,
- 118330, 118335, 118340, 118345, 118350, 118355, 118360, 118365, 118370,
- 118376, 118381, 118386, 118391, 118396, 118401, 118406, 118411, 118415,
- 118420, 118425, 118430, 118435, 118440, 118445, 118450, 118455, 118460,
- 118465, 118470, 118475, 118480, 118485, 118490, 118495, 118500, 118506,
- 118511, 118516, 118521, 118526, 118531, 118536, 118541, 118547, 118552,
- 118557, 118562, 118567, 118572, 118577, 118582, 118587, 118592, 118597,
- 118602, 118607, 118612, 118617, 118622, 118627, 118632, 118637, 118642,
- 118647, 118652, 118657, 118662, 118668, 118673, 118678, 118683, 118688,
- 118693, 118698, 118703, 118707, 118712, 118717, 118722, 118727, 118732,
- 118737, 118742, 118747, 118752, 118757, 118762, 118767, 118772, 118777,
- 118782, 118787, 118792, 118798, 118803, 118808, 118813, 118818, 118823,
- 118828, 118833, 118839, 118844, 118849, 118854, 118859, 118864, 118869,
- 118875, 118881, 118887, 118893, 118899, 118905, 118911, 118917, 118923,
- 118929, 118935, 118941, 118947, 118953, 118959, 118965, 118971, 118978,
- 118984, 118990, 118996, 119002, 119008, 119014, 119020, 119025, 119031,
- 119037, 119043, 119049, 119055, 119061, 119067, 119073, 119079, 119085,
- 119091, 119097, 119103, 119109, 119115, 119121, 119127, 119134, 119140,
- 119146, 119152, 119158, 119164, 119170, 119176, 119183, 119189, 119195,
- 119201, 119207, 119213, 119219, 119225, 119231, 119237, 119243, 119249,
- 119255, 119261, 119267, 119273, 119279, 119285, 119291, 119297, 119303,
- 119309, 119315, 119321, 119328, 119334, 119340, 119346, 119352, 119358,
- 119364, 119370, 119375, 119381, 119387, 119393, 119399, 119405, 119411,
- 119417, 119423, 119429, 119435, 119441, 119447, 119453, 119459, 119465,
- 119471, 119477, 119484, 119490, 119496, 119502, 119508, 119514, 119520,
- 119526, 119533, 119539, 119545, 119551, 119557, 119563, 119569, 119576,
- 119583, 119590, 119597, 119604, 119611, 119618, 119625, 119632, 119639,
- 119646, 119653, 119660, 119667, 119674, 119681, 119688, 119696, 119703,
- 119710, 119717, 119724, 119731, 119738, 119745, 119751, 119758, 119765,
- 119772, 119779, 119786, 119793, 119800, 119807, 119814, 119821, 119828,
- 119835, 119842, 119849, 119856, 119863, 119870, 119878, 119885, 119892,
- 119899, 119906, 119913, 119920, 119927, 119935, 119942, 119949, 119956,
- 119963, 119970, 119977, 119982, 0, 0, 119987, 119992, 119996, 120000,
- 120004, 120008, 120012, 120016, 120020, 120024, 120028, 120033, 120037,
- 120041, 120045, 120049, 120053, 120057, 120061, 120065, 120069, 120074,
- 120078, 120082, 120086, 120090, 120094, 120098, 120102, 120106, 120110,
- 120116, 120121, 120126, 120131, 120136, 120141, 120146, 120151, 120156,
- 120161, 120167, 120172, 120177, 120182, 120187, 120192, 120197, 120202,
- 120207, 120212, 120216, 120220, 120224, 0, 120228, 120232, 120236,
- 120240, 120244, 120248, 120252, 120256, 120260, 120264, 120268, 120272,
- 120276, 120280, 120284, 120288, 120292, 120296, 120300, 120304, 120308,
- 120312, 120316, 120320, 120326, 120332, 120338, 0, 120344, 120349, 0,
- 120354, 0, 0, 120359, 0, 120364, 120369, 120374, 120379, 120384, 120389,
- 120394, 120399, 120404, 120409, 0, 120414, 120419, 120424, 120429, 0,
- 120434, 0, 120439, 0, 0, 0, 0, 0, 0, 120444, 0, 0, 0, 0, 120450, 0,
- 120456, 0, 120462, 0, 120468, 120474, 120480, 0, 120486, 120492, 0,
- 120498, 0, 0, 120504, 0, 120510, 0, 120516, 0, 120522, 0, 120530, 0,
- 120538, 120544, 0, 120550, 0, 0, 120556, 120562, 120568, 120574, 0,
- 120580, 120586, 120592, 120598, 120604, 120610, 120616, 0, 120622,
- 120628, 120634, 120640, 0, 120646, 120652, 120658, 120664, 0, 120672, 0,
- 120680, 120686, 120692, 120698, 120704, 120710, 120716, 120722, 120728,
- 120734, 0, 120740, 120746, 120752, 120758, 120764, 120770, 120776,
- 120782, 120788, 120794, 120800, 120806, 120812, 120818, 120824, 120830,
- 120836, 0, 0, 0, 0, 0, 120842, 120847, 120852, 0, 120857, 120862, 120867,
- 120872, 120877, 0, 120882, 120887, 120892, 120897, 120902, 120907,
- 120912, 120917, 120922, 120927, 120932, 120937, 120942, 120947, 120952,
- 120957, 120962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 114263, 114268, 114275, 114282, 114289, 114296, 114301, 114305, 114311,
+ 114315, 114319, 114325, 114329, 114333, 114337, 114343, 114350, 114354,
+ 114358, 114362, 114366, 114370, 114374, 114380, 114384, 114388, 114392,
+ 114396, 114400, 114404, 114408, 114412, 114416, 114420, 114424, 114428,
+ 114433, 114437, 114441, 114445, 114449, 114453, 114457, 114461, 114465,
+ 114469, 114476, 114480, 114488, 114492, 114496, 114500, 114504, 114508,
+ 114512, 114516, 114523, 114527, 114531, 114535, 114539, 114543, 114549,
+ 114553, 114559, 114563, 114567, 114571, 114575, 114579, 114583, 114587,
+ 114591, 114595, 114599, 114603, 114607, 114611, 114615, 114619, 114623,
+ 114627, 114631, 114635, 114643, 114647, 114651, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 114655, 114663, 114671, 114679, 114687, 114695, 114703, 114711,
+ 114719, 114727, 114735, 114743, 114751, 114759, 114767, 114775, 114783,
+ 114791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114799, 114803, 114808,
+ 114813, 114818, 114822, 114827, 114832, 114837, 114841, 114846, 114851,
+ 114855, 114859, 114864, 114868, 114873, 114878, 114882, 114887, 114892,
+ 114896, 114901, 114906, 114911, 114916, 114921, 114925, 114930, 114935,
+ 114940, 114944, 114949, 114954, 114959, 114963, 114968, 114973, 114977,
+ 114981, 114986, 114990, 114995, 115000, 115004, 115009, 115014, 115018,
+ 115023, 115028, 115033, 115038, 115043, 115047, 115052, 115057, 115062,
+ 115066, 115071, 115076, 115081, 115085, 115090, 115095, 115099, 115103,
+ 115108, 115112, 115117, 115122, 115126, 115131, 115136, 115140, 115145,
+ 115150, 115155, 115160, 115165, 115169, 115174, 115179, 115184, 115188,
+ 115193, 0, 115198, 115202, 115207, 115212, 115216, 115220, 115225,
+ 115229, 115234, 115239, 115243, 115248, 115253, 115257, 115262, 115267,
+ 115272, 115277, 115282, 115287, 115293, 115299, 115305, 115310, 115316,
+ 115322, 115328, 115333, 115339, 115345, 115350, 115355, 115361, 115366,
+ 115372, 115378, 115383, 115389, 115395, 115400, 115406, 115412, 115418,
+ 115424, 115430, 115435, 115441, 115447, 115453, 115458, 115464, 115470,
+ 115476, 115481, 115487, 115493, 115498, 115503, 115509, 115514, 115520,
+ 115526, 115531, 115537, 115543, 115548, 115554, 115560, 115566, 115572,
+ 115578, 0, 115582, 115587, 0, 0, 115592, 0, 0, 115597, 115602, 0, 0,
+ 115607, 115612, 115616, 115621, 0, 115626, 115631, 115636, 115640,
+ 115645, 115650, 115655, 115660, 115665, 115669, 115674, 115679, 0,
+ 115684, 0, 115689, 115694, 115698, 115703, 115708, 115712, 115716, 0,
+ 115721, 115726, 115731, 115735, 115740, 115745, 115749, 115754, 115759,
+ 115764, 115769, 115774, 115779, 115785, 115791, 115797, 115802, 115808,
+ 115814, 115820, 115825, 115831, 115837, 115842, 115847, 115853, 115858,
+ 115864, 115870, 115875, 115881, 115887, 115892, 115898, 115904, 115910,
+ 115916, 115922, 115927, 115933, 115939, 115945, 115950, 115956, 115962,
+ 115968, 115973, 115979, 115985, 115990, 115995, 116001, 116006, 116012,
+ 116018, 116023, 116029, 116035, 116040, 116046, 116052, 116058, 116064,
+ 116070, 116074, 0, 116079, 116084, 116088, 116093, 0, 0, 116098, 116103,
+ 116108, 116112, 116116, 116121, 116125, 116130, 0, 116135, 116140,
+ 116145, 116149, 116154, 116159, 116164, 0, 116169, 116173, 116178,
+ 116183, 116188, 116192, 116197, 116202, 116207, 116211, 116216, 116221,
+ 116225, 116229, 116234, 116238, 116243, 116248, 116252, 116257, 116262,
+ 116266, 116271, 116276, 116281, 116286, 116291, 116295, 0, 116300,
+ 116305, 116309, 116314, 0, 116319, 116323, 116328, 116333, 116337, 0,
+ 116341, 0, 0, 0, 116345, 116350, 116355, 116359, 116364, 116369, 116374,
+ 0, 116379, 116383, 116388, 116393, 116398, 116402, 116407, 116412,
+ 116417, 116421, 116426, 116431, 116435, 116439, 116444, 116448, 116453,
+ 116458, 116462, 116467, 116472, 116476, 116481, 116486, 116491, 116496,
+ 116501, 116506, 116512, 116518, 116524, 116529, 116535, 116541, 116547,
+ 116552, 116558, 116564, 116569, 116574, 116580, 116585, 116591, 116597,
+ 116602, 116608, 116614, 116619, 116625, 116631, 116637, 116643, 116649,
+ 116654, 116660, 116666, 116672, 116677, 116683, 116689, 116695, 116700,
+ 116706, 116712, 116717, 116722, 116728, 116733, 116739, 116745, 116750,
+ 116756, 116762, 116767, 116773, 116779, 116785, 116791, 116797, 116801,
+ 116806, 116811, 116816, 116820, 116825, 116830, 116835, 116839, 116844,
+ 116849, 116853, 116857, 116862, 116866, 116871, 116876, 116880, 116885,
+ 116890, 116894, 116899, 116904, 116909, 116914, 116919, 116923, 116928,
+ 116933, 116938, 116942, 116947, 116952, 116957, 116961, 116966, 116971,
+ 116975, 116979, 116984, 116988, 116993, 116998, 117002, 117007, 117012,
+ 117016, 117021, 117026, 117031, 117036, 117041, 117046, 117052, 117058,
+ 117064, 117069, 117075, 117081, 117087, 117092, 117098, 117104, 117109,
+ 117114, 117120, 117125, 117131, 117137, 117142, 117148, 117154, 117159,
+ 117165, 117171, 117177, 117183, 117189, 117194, 117200, 117206, 117212,
+ 117217, 117223, 117229, 117235, 117240, 117246, 117252, 117257, 117262,
+ 117268, 117273, 117279, 117285, 117290, 117296, 117302, 117307, 117313,
+ 117319, 117325, 117331, 117337, 117342, 117348, 117354, 117360, 117365,
+ 117371, 117377, 117383, 117388, 117394, 117400, 117405, 117410, 117416,
+ 117421, 117427, 117433, 117438, 117444, 117450, 117455, 117461, 117467,
+ 117473, 117479, 117485, 117490, 117496, 117502, 117508, 117513, 117519,
+ 117525, 117531, 117536, 117542, 117548, 117553, 117558, 117564, 117569,
+ 117575, 117581, 117586, 117592, 117598, 117603, 117609, 117615, 117621,
+ 117627, 117633, 117639, 117646, 117653, 117660, 117666, 117673, 117680,
+ 117687, 117693, 117700, 117707, 117713, 117719, 117726, 117732, 117739,
+ 117746, 117752, 117759, 117766, 117772, 117779, 117786, 117793, 117800,
+ 117807, 117813, 117820, 117827, 117834, 117840, 117847, 117854, 117861,
+ 117867, 117874, 117881, 117887, 117893, 117900, 117906, 117913, 117920,
+ 117926, 117933, 117940, 117946, 117953, 117960, 117967, 117974, 117981,
+ 117986, 117992, 117998, 118004, 118009, 118015, 118021, 118027, 118032,
+ 118038, 118044, 118049, 118054, 118060, 118065, 118071, 118077, 118082,
+ 118088, 118094, 118099, 118105, 118111, 118117, 118123, 118129, 118134,
+ 118140, 118146, 118152, 118157, 118163, 118169, 118175, 118180, 118186,
+ 118192, 118197, 118202, 118208, 118213, 118219, 118225, 118230, 118236,
+ 118242, 118247, 118253, 118259, 118265, 118271, 118277, 118283, 0, 0,
+ 118290, 118295, 118300, 118305, 118310, 118315, 118320, 118325, 118330,
+ 118335, 118340, 118345, 118350, 118355, 118360, 118365, 118370, 118375,
+ 118381, 118386, 118391, 118396, 118401, 118406, 118411, 118416, 118420,
+ 118425, 118430, 118435, 118440, 118445, 118450, 118455, 118460, 118465,
+ 118470, 118475, 118480, 118485, 118490, 118495, 118500, 118505, 118511,
+ 118516, 118521, 118526, 118531, 118536, 118541, 118546, 118552, 118557,
+ 118562, 118567, 118572, 118577, 118582, 118587, 118592, 118597, 118602,
+ 118607, 118612, 118617, 118622, 118627, 118632, 118637, 118642, 118647,
+ 118652, 118657, 118662, 118667, 118673, 118678, 118683, 118688, 118693,
+ 118698, 118703, 118708, 118712, 118717, 118722, 118727, 118732, 118737,
+ 118742, 118747, 118752, 118757, 118762, 118767, 118772, 118777, 118782,
+ 118787, 118792, 118797, 118803, 118808, 118813, 118818, 118823, 118828,
+ 118833, 118838, 118844, 118849, 118854, 118859, 118864, 118869, 118874,
+ 118880, 118886, 118892, 118898, 118904, 118910, 118916, 118922, 118928,
+ 118934, 118940, 118946, 118952, 118958, 118964, 118970, 118976, 118983,
+ 118989, 118995, 119001, 119007, 119013, 119019, 119025, 119030, 119036,
+ 119042, 119048, 119054, 119060, 119066, 119072, 119078, 119084, 119090,
+ 119096, 119102, 119108, 119114, 119120, 119126, 119132, 119139, 119145,
+ 119151, 119157, 119163, 119169, 119175, 119181, 119188, 119194, 119200,
+ 119206, 119212, 119218, 119224, 119230, 119236, 119242, 119248, 119254,
+ 119260, 119266, 119272, 119278, 119284, 119290, 119296, 119302, 119308,
+ 119314, 119320, 119326, 119333, 119339, 119345, 119351, 119357, 119363,
+ 119369, 119375, 119380, 119386, 119392, 119398, 119404, 119410, 119416,
+ 119422, 119428, 119434, 119440, 119446, 119452, 119458, 119464, 119470,
+ 119476, 119482, 119489, 119495, 119501, 119507, 119513, 119519, 119525,
+ 119531, 119538, 119544, 119550, 119556, 119562, 119568, 119574, 119581,
+ 119588, 119595, 119602, 119609, 119616, 119623, 119630, 119637, 119644,
+ 119651, 119658, 119665, 119672, 119679, 119686, 119693, 119701, 119708,
+ 119715, 119722, 119729, 119736, 119743, 119750, 119756, 119763, 119770,
+ 119777, 119784, 119791, 119798, 119805, 119812, 119819, 119826, 119833,
+ 119840, 119847, 119854, 119861, 119868, 119875, 119883, 119890, 119897,
+ 119904, 119911, 119918, 119925, 119932, 119940, 119947, 119954, 119961,
+ 119968, 119975, 119982, 119987, 0, 0, 119992, 119997, 120001, 120005,
+ 120009, 120013, 120017, 120021, 120025, 120029, 120033, 120038, 120042,
+ 120046, 120050, 120054, 120058, 120062, 120066, 120070, 120074, 120079,
+ 120083, 120087, 120091, 120095, 120099, 120103, 120107, 120111, 120115,
+ 120121, 120126, 120131, 120136, 120141, 120146, 120151, 120156, 120161,
+ 120166, 120172, 120177, 120182, 120187, 120192, 120197, 120202, 120207,
+ 120212, 120217, 120221, 120225, 120229, 0, 120233, 120237, 120241,
+ 120245, 120249, 120253, 120257, 120261, 120265, 120269, 120273, 120277,
+ 120281, 120285, 120289, 120293, 120297, 120301, 120305, 120309, 120313,
+ 120317, 120321, 120325, 120331, 120337, 120343, 0, 120349, 120354, 0,
+ 120359, 0, 0, 120364, 0, 120369, 120374, 120379, 120384, 120389, 120394,
+ 120399, 120404, 120409, 120414, 0, 120419, 120424, 120429, 120434, 0,
+ 120439, 0, 120444, 0, 0, 0, 0, 0, 0, 120449, 0, 0, 0, 0, 120455, 0,
+ 120461, 0, 120467, 0, 120473, 120479, 120485, 0, 120491, 120497, 0,
+ 120503, 0, 0, 120509, 0, 120515, 0, 120521, 0, 120527, 0, 120535, 0,
+ 120543, 120549, 0, 120555, 0, 0, 120561, 120567, 120573, 120579, 0,
+ 120585, 120591, 120597, 120603, 120609, 120615, 120621, 0, 120627,
+ 120633, 120639, 120645, 0, 120651, 120657, 120663, 120669, 0, 120677, 0,
+ 120685, 120691, 120697, 120703, 120709, 120715, 120721, 120727, 120733,
+ 120739, 0, 120745, 120751, 120757, 120763, 120769, 120775, 120781,
+ 120787, 120793, 120799, 120805, 120811, 120817, 120823, 120829, 120835,
+ 120841, 0, 0, 0, 0, 0, 120847, 120852, 120857, 0, 120862, 120867, 120872,
+ 120877, 120882, 0, 120887, 120892, 120897, 120902, 120907, 120912,
+ 120917, 120922, 120927, 120932, 120937, 120942, 120947, 120952, 120957,
+ 120962, 120967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 120967, 120977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 120985, 120992, 120999, 121006, 121013, 121020, 121027,
- 121033, 121040, 121047, 121054, 121062, 121070, 121078, 121086, 121094,
- 121102, 121109, 121116, 121123, 121131, 121139, 121147, 121155, 121163,
- 121171, 121178, 121185, 121192, 121200, 121208, 121216, 121224, 121232,
- 121240, 121245, 121250, 121255, 121260, 121265, 121270, 121275, 121280,
- 121285, 0, 0, 0, 0, 121290, 121295, 121299, 121303, 121307, 121311,
- 121315, 121319, 121323, 121327, 121331, 121335, 121339, 121343, 121347,
- 121351, 121355, 121359, 121363, 121367, 121371, 121375, 121379, 121383,
- 121387, 121391, 121395, 121399, 121403, 121407, 121411, 121415, 121419,
- 121423, 121427, 121431, 121435, 121439, 121443, 121447, 121451, 121455,
- 121459, 121463, 121467, 121471, 121475, 121479, 121483, 121487, 121491,
- 121496, 121500, 121504, 121508, 121512, 121516, 121520, 121524, 121528,
- 121532, 121536, 121540, 121544, 121548, 121552, 121556, 121560, 121564,
- 121568, 121572, 121576, 121580, 121584, 121588, 121592, 121596, 121600,
- 121604, 121608, 121612, 121616, 121620, 121624, 121628, 121632, 121636,
- 121640, 121644, 121648, 121652, 121656, 121660, 121664, 121668, 121672,
- 121676, 121680, 121684, 121688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 121692, 121698, 121707, 121715, 121723, 121732, 121741, 121750, 121759,
- 121768, 121777, 121786, 121795, 121804, 121813, 0, 0, 121822, 121831,
- 121839, 121847, 121856, 121865, 121874, 121883, 121892, 121901, 121910,
- 121919, 121928, 121937, 0, 0, 121946, 121955, 121963, 121971, 121980,
- 121989, 121998, 122007, 122016, 122025, 122034, 122043, 122052, 122061,
- 122070, 0, 122077, 122086, 122094, 122102, 122111, 122120, 122129,
- 122138, 122147, 122156, 122165, 122174, 122183, 122192, 122201, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 120972, 120982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 120990, 120997, 121004, 121011, 121018, 121025, 121032,
+ 121038, 121045, 121052, 121059, 121067, 121075, 121083, 121091, 121099,
+ 121107, 121114, 121121, 121128, 121136, 121144, 121152, 121160, 121168,
+ 121176, 121183, 121190, 121197, 121205, 121213, 121221, 121229, 121237,
+ 121245, 121250, 121255, 121260, 121265, 121270, 121275, 121280, 121285,
+ 121290, 0, 0, 0, 0, 121295, 121300, 121304, 121308, 121312, 121316,
+ 121320, 121324, 121328, 121332, 121336, 121340, 121344, 121348, 121352,
+ 121356, 121360, 121364, 121368, 121372, 121376, 121380, 121384, 121388,
+ 121392, 121396, 121400, 121404, 121408, 121412, 121416, 121420, 121424,
+ 121428, 121432, 121436, 121440, 121444, 121448, 121452, 121456, 121460,
+ 121464, 121468, 121472, 121476, 121480, 121484, 121488, 121492, 121496,
+ 121501, 121505, 121509, 121513, 121517, 121521, 121525, 121529, 121533,
+ 121537, 121541, 121545, 121549, 121553, 121557, 121561, 121565, 121569,
+ 121573, 121577, 121581, 121585, 121589, 121593, 121597, 121601, 121605,
+ 121609, 121613, 121617, 121621, 121625, 121629, 121633, 121637, 121641,
+ 121645, 121649, 121653, 121657, 121661, 121665, 121669, 121673, 121677,
+ 121681, 121685, 121689, 121693, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 121697, 121703, 121712, 121720, 121728, 121737, 121746, 121755, 121764,
+ 121773, 121782, 121791, 121800, 121809, 121818, 0, 0, 121827, 121836,
+ 121844, 121852, 121861, 121870, 121879, 121888, 121897, 121906, 121915,
+ 121924, 121933, 121942, 0, 0, 121951, 121960, 121968, 121976, 121985,
+ 121994, 122003, 122012, 122021, 122030, 122039, 122048, 122057, 122066,
+ 122075, 0, 122082, 122091, 122099, 122107, 122116, 122125, 122134,
+ 122143, 122152, 122161, 122170, 122179, 122188, 122197, 122206, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 122208, 122215, 122220, 122224, 122228, 122232, 122237,
- 122242, 122247, 122252, 122257, 0, 0, 0, 0, 0, 122262, 122267, 122273,
- 122279, 122285, 122290, 122296, 122302, 122308, 122313, 122319, 122325,
- 122330, 122335, 122341, 122346, 122352, 122358, 122363, 122369, 122375,
- 122380, 122386, 122392, 122398, 122404, 122410, 122421, 122428, 122434,
- 122437, 0, 122440, 122445, 122451, 122457, 122463, 122468, 122474,
- 122480, 122486, 122491, 122497, 122503, 122508, 122513, 122519, 122524,
- 122530, 122536, 122541, 122547, 122553, 122558, 122564, 122570, 122576,
- 122582, 122588, 122591, 122594, 122597, 122600, 122603, 122606, 122612,
- 122619, 122626, 122633, 122639, 122646, 122653, 122660, 122666, 122673,
- 122680, 122686, 122692, 122699, 122705, 122712, 122719, 122725, 122732,
- 122739, 122745, 122752, 122759, 122766, 122773, 122780, 122785, 0, 0, 0,
- 0, 122790, 122796, 122803, 122810, 122817, 122823, 122830, 122837,
- 122844, 122850, 122857, 122864, 122870, 122876, 122883, 122889, 122896,
- 122903, 122909, 122916, 122923, 122929, 122936, 122943, 122950, 122957,
- 122964, 122973, 122977, 122980, 122983, 122987, 122991, 122994, 122997,
- 123000, 123003, 123006, 123009, 123012, 123015, 123018, 123024, 0, 0, 0,
+ 0, 0, 0, 0, 0, 122213, 122220, 122225, 122229, 122233, 122237, 122242,
+ 122247, 122252, 122257, 122262, 0, 0, 0, 0, 0, 122267, 122272, 122278,
+ 122284, 122290, 122295, 122301, 122307, 122313, 122318, 122324, 122330,
+ 122335, 122340, 122346, 122351, 122357, 122363, 122368, 122374, 122380,
+ 122385, 122391, 122397, 122403, 122409, 122415, 122426, 122433, 122439,
+ 122442, 0, 122445, 122450, 122456, 122462, 122468, 122473, 122479,
+ 122485, 122491, 122496, 122502, 122508, 122513, 122518, 122524, 122529,
+ 122535, 122541, 122546, 122552, 122558, 122563, 122569, 122575, 122581,
+ 122587, 122593, 122596, 122599, 122602, 122605, 122608, 122611, 122617,
+ 122624, 122631, 122638, 122644, 122651, 122658, 122665, 122671, 122678,
+ 122685, 122691, 122697, 122704, 122710, 122717, 122724, 122730, 122737,
+ 122744, 122750, 122757, 122764, 122771, 122778, 122785, 122790, 0, 0, 0,
+ 0, 122795, 122801, 122808, 122815, 122822, 122828, 122835, 122842,
+ 122849, 122855, 122862, 122869, 122875, 122881, 122888, 122894, 122901,
+ 122908, 122914, 122921, 122928, 122934, 122941, 122948, 122955, 122962,
+ 122969, 122978, 122982, 122985, 122988, 122992, 122996, 122999, 123002,
+ 123005, 123008, 123011, 123014, 123017, 123020, 123023, 123029, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 123027, 123034, 123042, 123050, 123058, 123065, 123073, 123081, 123089,
- 123096, 123104, 123112, 123119, 123126, 123134, 123141, 123149, 123157,
- 123164, 123172, 123180, 123187, 123195, 123203, 123211, 123219, 123227,
- 123231, 123235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123238, 123244,
- 123250, 123256, 123260, 123266, 123272, 123278, 123284, 123290, 123296,
- 123302, 123308, 123314, 123320, 123326, 123332, 123338, 123344, 123350,
- 123356, 123362, 123368, 123374, 123380, 123386, 123392, 123398, 123404,
- 123410, 123416, 123422, 123428, 123434, 123440, 123446, 123452, 123458,
- 123464, 123470, 123476, 123482, 123488, 0, 0, 0, 0, 0, 123494, 123505,
- 123516, 123527, 123538, 123549, 123560, 123571, 123582, 0, 0, 0, 0, 0, 0,
- 0, 123593, 123597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 123032, 123039, 123047, 123055, 123063, 123070, 123078, 123086, 123094,
+ 123101, 123109, 123117, 123124, 123131, 123139, 123146, 123154, 123162,
+ 123169, 123177, 123185, 123192, 123200, 123208, 123216, 123224, 123232,
+ 123236, 123240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123243, 123249,
+ 123255, 123261, 123265, 123271, 123277, 123283, 123289, 123295, 123301,
+ 123307, 123313, 123319, 123325, 123331, 123337, 123343, 123349, 123355,
+ 123361, 123367, 123373, 123379, 123385, 123391, 123397, 123403, 123409,
+ 123415, 123421, 123427, 123433, 123439, 123445, 123451, 123457, 123463,
+ 123469, 123475, 123481, 123487, 123493, 0, 0, 0, 0, 0, 123499, 123510,
+ 123521, 123532, 123543, 123554, 123565, 123576, 123587, 0, 0, 0, 0, 0, 0,
+ 0, 123598, 123602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 123601, 123603, 123605, 123609, 123614, 123619, 123621,
- 123627, 123632, 123634, 123640, 123644, 123646, 123650, 123656, 123662,
- 123668, 123673, 123677, 123684, 123691, 123698, 123703, 123710, 123717,
- 123724, 123728, 123734, 123743, 123752, 123759, 123764, 123768, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123772, 123774, 123776, 123780,
- 123784, 123788, 0, 123790, 123792, 123796, 123798, 123800, 123802,
- 123804, 123809, 123814, 123816, 123822, 123826, 123830, 123838, 123840,
- 123842, 123844, 123846, 123848, 123850, 123852, 123854, 123856, 123858,
- 123862, 123866, 123868, 123870, 123872, 123874, 123876, 123881, 123887,
- 123891, 123895, 123899, 123903, 123908, 123912, 123914, 123916, 123920,
- 123926, 123928, 123930, 123932, 123936, 123945, 123951, 123955, 123959,
- 123961, 123963, 123966, 123968, 123970, 123972, 123976, 123978, 123982,
- 123987, 123989, 123994, 124000, 124007, 124011, 124015, 124019, 124023,
- 124029, 0, 0, 0, 124033, 124035, 124039, 124043, 124045, 124049, 124053,
- 124055, 124059, 124061, 124065, 124069, 124073, 124077, 124081, 124085,
- 124089, 124093, 124099, 124103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 124107, 124111, 124115, 124119, 124126, 124128, 124132, 124134, 124136,
- 124140, 124144, 124148, 124150, 124154, 124158, 124162, 124166, 124170,
- 124172, 124176, 124178, 124184, 124187, 124192, 124194, 124196, 124199,
- 124201, 124203, 124206, 124213, 124220, 124227, 124232, 124236, 124238,
- 124240, 0, 124242, 124244, 124248, 124252, 124256, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124258, 124262, 124267, 124271,
- 124277, 124283, 124285, 124287, 124293, 124295, 124299, 124303, 124305,
- 124309, 124311, 124315, 124319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 124323, 124325, 124327, 124329, 124333, 124335, 124337, 124339,
- 124341, 124343, 124345, 124347, 124349, 124351, 124353, 124355, 124357,
- 124359, 124361, 124363, 124365, 124367, 124369, 124371, 124373, 124375,
- 124377, 124381, 124383, 124385, 124387, 124391, 124393, 124397, 124399,
- 124401, 124405, 124409, 124415, 124417, 124419, 124421, 124423, 124427,
- 124431, 124433, 124437, 124441, 124445, 124449, 124453, 124457, 124461,
- 124465, 124469, 124473, 124477, 124481, 124485, 124489, 124493, 124497,
- 124501, 0, 124505, 0, 124507, 124509, 124511, 124513, 124515, 124523,
- 124531, 124539, 124547, 124552, 124557, 124562, 124566, 124570, 124575,
- 124579, 124581, 124585, 124587, 124589, 124591, 124593, 124595, 124597,
- 124599, 124603, 124605, 124607, 124609, 124613, 124617, 124621, 124625,
- 124629, 124631, 124637, 124643, 124645, 124647, 124649, 124651, 124653,
- 124662, 124669, 124676, 124680, 124687, 124692, 124699, 124708, 124713,
- 124717, 124721, 124723, 124727, 124729, 124733, 124737, 124739, 124743,
- 124747, 124751, 124753, 124755, 124761, 124763, 124765, 124767, 124771,
- 124775, 124777, 124781, 124783, 124785, 124788, 124792, 124794, 124798,
- 124800, 124802, 124807, 124809, 124813, 124817, 124820, 124824, 124828,
- 124832, 124836, 124840, 124844, 124848, 124853, 124857, 124861, 124870,
- 124875, 124878, 124880, 124883, 124886, 124891, 124893, 124896, 124901,
- 124905, 124908, 124912, 124916, 124919, 124924, 124928, 124932, 124936,
- 124940, 124946, 124952, 124958, 124964, 124969, 124980, 124982, 124986,
- 124988, 124990, 124994, 124998, 125000, 125004, 125009, 125014, 125020,
- 125022, 125026, 125030, 125037, 125044, 125048, 125050, 125052, 125056,
- 125058, 125062, 125066, 125070, 125072, 125074, 125081, 125085, 125088,
- 125092, 125096, 125100, 125102, 125106, 125108, 125110, 125114, 125116,
- 125120, 125124, 125130, 125134, 125138, 125142, 125144, 125147, 125151,
- 125158, 125167, 125176, 125184, 125192, 125194, 125198, 125200, 125204,
- 125215, 125219, 125225, 125231, 125236, 0, 125238, 125242, 125244,
- 125246, 0, 0, 0, 125248, 125253, 125263, 125278, 125290, 125302, 125306,
- 125310, 125316, 125318, 125326, 125334, 125336, 125340, 125346, 125352,
- 125359, 125366, 125368, 125370, 125373, 125375, 125381, 125383, 125386,
- 125390, 125396, 125402, 125413, 125419, 125426, 125434, 125438, 125446,
- 125454, 125460, 125466, 125473, 125475, 125479, 125481, 125483, 125488,
- 125490, 125492, 125494, 125496, 125500, 125511, 125517, 125521, 125525,
- 125529, 125535, 125541, 125547, 125553, 125558, 125563, 125569, 125575,
- 125582, 0, 0, 125589, 125594, 125602, 125606, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 125615, 125622, 125629, 125636, 125644, 125652, 125660, 125668,
- 125676, 125684, 125692, 125700, 125708, 125714, 125720, 125726, 125732,
- 125738, 125744, 125750, 125756, 125762, 125768, 125774, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 123606, 123608, 123610, 123614, 123619, 123624, 123626,
+ 123632, 123637, 123639, 123645, 123649, 123651, 123655, 123661, 123667,
+ 123673, 123678, 123682, 123689, 123696, 123703, 123708, 123715, 123722,
+ 123729, 123733, 123739, 123748, 123757, 123764, 123769, 123773, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123777, 123779, 123781, 123785,
+ 123789, 123793, 0, 123795, 123797, 123801, 123803, 123805, 123807,
+ 123809, 123814, 123819, 123821, 123827, 123831, 123835, 123843, 123845,
+ 123847, 123849, 123851, 123853, 123855, 123857, 123859, 123861, 123863,
+ 123867, 123871, 123873, 123875, 123877, 123879, 123881, 123886, 123892,
+ 123896, 123900, 123904, 123908, 123913, 123917, 123919, 123921, 123925,
+ 123931, 123933, 123935, 123937, 123941, 123950, 123956, 123960, 123964,
+ 123966, 123968, 123971, 123973, 123975, 123977, 123981, 123983, 123987,
+ 123992, 123994, 123999, 124005, 124012, 124016, 124020, 124024, 124028,
+ 124034, 0, 0, 0, 124038, 124040, 124044, 124048, 124050, 124054, 124058,
+ 124060, 124064, 124066, 124070, 124074, 124078, 124082, 124086, 124090,
+ 124094, 124098, 124104, 124108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 124112, 124116, 124120, 124124, 124131, 124133, 124137, 124139, 124141,
+ 124145, 124149, 124153, 124155, 124159, 124163, 124167, 124171, 124175,
+ 124177, 124181, 124183, 124189, 124192, 124197, 124199, 124201, 124204,
+ 124206, 124208, 124211, 124218, 124225, 124232, 124237, 124241, 124243,
+ 124245, 0, 124247, 124249, 124253, 124257, 124261, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124263, 124267, 124272, 124276,
+ 124282, 124288, 124290, 124292, 124298, 124300, 124304, 124308, 124310,
+ 124314, 124316, 124320, 124324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 124328, 124330, 124332, 124334, 124338, 124340, 124342, 124344,
+ 124346, 124348, 124350, 124352, 124354, 124356, 124358, 124360, 124362,
+ 124364, 124366, 124368, 124370, 124372, 124374, 124376, 124378, 124380,
+ 124382, 124386, 124388, 124390, 124392, 124396, 124398, 124402, 124404,
+ 124406, 124410, 124414, 124420, 124422, 124424, 124426, 124428, 124432,
+ 124436, 124438, 124442, 124446, 124450, 124454, 124458, 124462, 124466,
+ 124470, 124474, 124478, 124482, 124486, 124490, 124494, 124498, 124502,
+ 124506, 0, 124510, 0, 124512, 124514, 124516, 124518, 124520, 124528,
+ 124536, 124544, 124552, 124557, 124562, 124567, 124571, 124575, 124580,
+ 124584, 124586, 124590, 124592, 124594, 124596, 124598, 124600, 124602,
+ 124604, 124608, 124610, 124612, 124614, 124618, 124622, 124626, 124630,
+ 124634, 124636, 124642, 124648, 124650, 124652, 124654, 124656, 124658,
+ 124667, 124674, 124681, 124685, 124692, 124697, 124704, 124713, 124718,
+ 124722, 124726, 124728, 124732, 124734, 124738, 124742, 124744, 124748,
+ 124752, 124756, 124758, 124760, 124766, 124768, 124770, 124772, 124776,
+ 124780, 124782, 124786, 124788, 124790, 124793, 124797, 124799, 124803,
+ 124805, 124807, 124812, 124814, 124818, 124822, 124825, 124829, 124833,
+ 124837, 124841, 124845, 124849, 124853, 124858, 124862, 124866, 124875,
+ 124880, 124883, 124885, 124888, 124891, 124896, 124898, 124901, 124906,
+ 124910, 124913, 124917, 124921, 124924, 124929, 124933, 124937, 124941,
+ 124945, 124951, 124957, 124963, 124969, 124974, 124985, 124987, 124991,
+ 124993, 124995, 124999, 125003, 125005, 125009, 125014, 125019, 125025,
+ 125027, 125031, 125035, 125042, 125049, 125053, 125055, 125057, 125061,
+ 125063, 125067, 125071, 125075, 125077, 125079, 125086, 125090, 125093,
+ 125097, 125101, 125105, 125107, 125111, 125113, 125115, 125119, 125121,
+ 125125, 125129, 125135, 125139, 125143, 125147, 125149, 125152, 125156,
+ 125163, 125172, 125181, 125189, 125197, 125199, 125203, 125205, 125209,
+ 125220, 125224, 125230, 125236, 125241, 0, 125243, 125247, 125249,
+ 125251, 0, 0, 0, 125253, 125258, 125268, 125283, 125295, 125307, 125311,
+ 125315, 125321, 125323, 125331, 125339, 125341, 125345, 125351, 125357,
+ 125364, 125371, 125373, 125375, 125378, 125380, 125386, 125388, 125391,
+ 125395, 125401, 125407, 125418, 125424, 125431, 125439, 125443, 125451,
+ 125459, 125465, 125471, 125478, 125480, 125484, 125486, 125488, 125493,
+ 125495, 125497, 125499, 125501, 125505, 125516, 125522, 125526, 125530,
+ 125534, 125540, 125546, 125552, 125558, 125563, 125568, 125574, 125580,
+ 125587, 0, 0, 125594, 125599, 125607, 125611, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 125620, 125627, 125634, 125641, 125649, 125657, 125665, 125673,
+ 125681, 125689, 125697, 125705, 125713, 125719, 125725, 125731, 125737,
+ 125743, 125749, 125755, 125761, 125767, 125773, 125779, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125780,
- 125784, 125788, 125793, 125798, 125800, 125804, 125813, 125821, 125829,
- 125842, 125855, 125868, 125875, 125882, 125886, 125895, 125903, 125907,
- 125916, 125923, 125927, 125931, 125935, 125939, 125946, 125950, 125954,
- 125958, 125962, 125969, 125978, 125987, 125994, 126006, 126018, 126022,
- 126026, 126030, 126034, 126038, 126042, 126050, 126058, 126066, 126070,
- 126074, 126078, 126082, 126086, 126090, 126096, 126102, 126106, 126117,
- 126125, 126129, 126133, 126137, 126141, 126147, 126154, 126165, 126175,
- 126185, 126196, 126205, 126216, 126222, 126228, 0, 0, 0, 0, 126234,
- 126243, 126250, 126256, 126260, 126264, 126268, 126277, 126289, 126293,
- 126300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125785,
+ 125789, 125793, 125798, 125803, 125805, 125809, 125818, 125826, 125834,
+ 125847, 125860, 125873, 125880, 125887, 125891, 125900, 125908, 125912,
+ 125921, 125928, 125932, 125936, 125940, 125944, 125951, 125955, 125959,
+ 125963, 125967, 125974, 125983, 125992, 125999, 126011, 126023, 126027,
+ 126031, 126035, 126039, 126043, 126047, 126055, 126063, 126071, 126075,
+ 126079, 126083, 126087, 126091, 126095, 126101, 126107, 126111, 126122,
+ 126130, 126134, 126138, 126142, 126146, 126152, 126159, 126170, 126180,
+ 126190, 126201, 126210, 126221, 126227, 126233, 0, 0, 0, 0, 126239,
+ 126248, 126255, 126261, 126265, 126269, 126273, 126282, 126294, 126298,
+ 126305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 126307, 126309, 126311, 126315, 126319, 126323, 126332, 126334,
- 126336, 126339, 126341, 126343, 126347, 126349, 126353, 126355, 126359,
- 126361, 126363, 126367, 126371, 126377, 126379, 126383, 126385, 126389,
- 126393, 126397, 126401, 126403, 126405, 126409, 126413, 126417, 126421,
- 126423, 126425, 126427, 126432, 126437, 126440, 126448, 126456, 126458,
- 126463, 126466, 126471, 126482, 126489, 126494, 126499, 126501, 126505,
- 126507, 126511, 126513, 126517, 126521, 126524, 126527, 126529, 126532,
- 126534, 126538, 126540, 126542, 126544, 126548, 126550, 126554, 0, 0, 0,
+ 0, 0, 126312, 126314, 126316, 126320, 126324, 126328, 126337, 126339,
+ 126341, 126344, 126346, 126348, 126352, 126354, 126358, 126360, 126364,
+ 126366, 126368, 126372, 126376, 126382, 126384, 126388, 126390, 126394,
+ 126398, 126402, 126406, 126408, 126410, 126414, 126418, 126422, 126426,
+ 126428, 126430, 126432, 126437, 126442, 126445, 126453, 126461, 126463,
+ 126468, 126471, 126476, 126487, 126494, 126499, 126504, 126506, 126510,
+ 126512, 126516, 126518, 126522, 126526, 126529, 126532, 126534, 126537,
+ 126539, 126543, 126545, 126547, 126549, 126553, 126555, 126559, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 126557, 126562, 126567, 126572, 126577, 126582,
- 126587, 126594, 126601, 126608, 126615, 126620, 126625, 126630, 126635,
- 126642, 126648, 126655, 126662, 126669, 126674, 126679, 126684, 126689,
- 126694, 126701, 126708, 126713, 126718, 126725, 126732, 126740, 126748,
- 126755, 126762, 126770, 126778, 126786, 126793, 126803, 126814, 126819,
- 126826, 126833, 126840, 126848, 126856, 126867, 126875, 126883, 126891,
- 126896, 126901, 126906, 126911, 126916, 126921, 126926, 126931, 126936,
- 126941, 126946, 126951, 126958, 126963, 126968, 126975, 126980, 126985,
- 126990, 126995, 127000, 127005, 127010, 127015, 127020, 127025, 127030,
- 127035, 127042, 127050, 127055, 127060, 127067, 127072, 127077, 127082,
- 127089, 127094, 127101, 127106, 127113, 127118, 127127, 127136, 127141,
- 127146, 127151, 127156, 127161, 127166, 127171, 127176, 127181, 127186,
- 127191, 127196, 127201, 127209, 127217, 127222, 127227, 127232, 127237,
- 127242, 127248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127254, 127258,
- 127262, 127266, 127270, 127274, 127278, 127282, 127286, 127290, 127294,
- 127298, 127302, 127306, 127310, 127314, 127318, 127322, 127326, 127330,
- 127334, 127338, 127342, 127346, 127350, 127354, 127358, 127362, 127366,
- 127370, 127374, 127378, 127382, 127386, 127390, 127394, 127398, 127402,
- 127406, 127410, 127414, 127418, 127422, 127426, 127430, 127434, 127438,
- 127442, 127446, 127450, 127454, 127458, 127462, 127466, 127470, 127474,
- 127478, 127482, 127486, 127490, 127494, 127498, 127502, 127506, 127510,
- 127514, 127518, 127522, 127526, 127530, 127534, 127538, 127542, 127546,
- 127550, 127554, 127558, 127562, 127566, 127570, 127574, 127578, 127582,
- 127586, 127590, 127594, 127598, 127602, 127606, 127610, 127614, 127618,
- 127622, 127626, 127630, 127634, 127638, 127642, 127646, 127650, 127654,
- 127658, 127662, 127666, 127670, 127674, 127678, 127682, 127686, 127690,
- 127694, 127698, 127702, 127706, 127710, 127714, 127718, 127722, 127726,
- 127730, 127734, 127738, 127742, 127746, 127750, 127754, 127758, 127762,
- 127766, 127770, 127774, 127778, 127782, 127786, 127790, 127794, 127798,
- 127802, 127806, 127810, 127814, 127818, 127822, 127826, 127830, 127834,
- 127838, 127842, 127846, 127850, 127854, 127858, 127862, 127866, 127870,
- 127874, 127878, 127882, 127886, 127890, 127894, 127898, 127902, 127906,
- 127910, 127914, 127918, 127922, 127926, 127930, 127934, 127938, 127942,
- 127946, 127950, 127954, 127958, 127962, 127966, 127970, 127974, 127978,
- 127982, 127986, 127990, 127994, 127998, 128002, 128006, 128010, 128014,
- 128018, 128022, 128026, 128030, 128034, 128038, 128042, 128046, 128050,
- 128054, 128058, 128062, 128066, 128070, 128074, 128078, 128082, 128086,
- 128090, 128094, 128098, 128102, 128106, 128110, 128114, 128118, 128122,
- 128126, 128130, 128134, 128138, 128142, 128146, 128150, 128154, 128158,
- 128162, 128166, 128170, 128174, 128178, 128182, 128186, 128190, 128194,
- 128198, 128202, 128206, 128210, 128214, 128218, 128222, 128226, 128230,
- 128234, 128238, 128242, 128246, 128250, 128254, 128258, 128262, 128266,
- 128270, 128274, 128278, 128282, 128286, 128290, 128294, 128298, 128302,
- 128306, 128310, 128314, 128318, 128322, 128326, 128330, 128334, 128338,
- 128342, 128346, 128350, 128354, 128358, 128362, 128366, 128370, 128374,
- 128378, 128382, 128386, 128390, 128394, 128398, 128402, 128406, 128410,
- 128414, 128418, 128422, 128426, 128430, 128434, 128438, 128442, 128446,
- 128450, 128454, 128458, 128462, 128466, 128470, 128474, 128478, 128482,
- 128486, 128490, 128494, 128498, 128502, 128506, 128510, 128514, 128518,
- 128522, 128526, 128530, 128534, 128538, 128542, 128546, 128550, 128554,
- 128558, 128562, 128566, 128570, 128574, 128578, 128582, 128586, 128590,
- 128594, 128598, 128602, 128606, 128610, 128614, 128618, 128622, 128626,
- 128630, 128634, 128638, 128642, 128646, 128650, 128654, 128658, 128662,
- 128666, 128670, 128674, 128678, 128682, 128686, 128690, 128694, 128698,
- 128702, 128706, 128710, 128714, 128718, 128722, 128726, 128730, 128734,
- 128738, 128742, 128746, 128750, 128754, 128758, 128762, 128766, 128770,
- 128774, 128778, 128782, 128786, 128790, 128794, 128798, 128802, 128806,
- 128810, 128814, 128818, 128822, 128826, 128830, 128834, 128838, 128842,
- 128846, 128850, 128854, 128858, 128862, 128866, 128870, 128874, 128878,
- 128882, 128886, 128890, 128894, 128898, 128902, 128906, 128910, 128914,
- 128918, 128922, 128926, 128930, 128934, 128938, 128942, 128946, 128950,
- 128954, 128958, 128962, 128966, 128970, 128974, 128978, 128982, 128986,
- 128990, 128994, 128998, 129002, 129006, 129010, 129014, 129018, 129022,
- 129026, 129030, 129034, 129038, 129042, 129046, 129050, 129054, 129058,
- 129062, 129066, 129070, 129074, 129078, 129082, 129086, 129090, 129094,
- 129098, 129102, 129106, 129110, 129114, 129118, 129122, 129126, 129130,
- 129134, 129138, 129142, 129146, 129150, 129154, 129158, 129162, 129166,
- 129170, 129174, 129178, 129182, 129186, 129190, 129194, 129198, 129202,
- 129206, 129210, 129214, 129218, 129222, 129226, 129230, 129234, 129238,
- 129242, 129246, 129250, 129254, 129258, 129262, 129266, 129270, 129274,
- 129278, 129282, 129286, 129290, 129294, 129298, 129302, 129306, 129310,
- 129314, 129318, 129322, 129326, 129330, 129334, 129338, 129342, 129346,
- 129350, 129354, 129358, 129362, 129366, 129370, 129374, 129378, 129382,
- 129386, 129390, 129394, 129398, 129402, 129406, 129410, 129414, 129418,
+ 0, 0, 0, 0, 0, 0, 0, 126562, 126567, 126572, 126577, 126582, 126587,
+ 126592, 126599, 126606, 126613, 126620, 126625, 126630, 126635, 126640,
+ 126647, 126653, 126660, 126667, 126674, 126679, 126684, 126689, 126694,
+ 126699, 126706, 126713, 126718, 126723, 126730, 126737, 126745, 126753,
+ 126760, 126767, 126775, 126783, 126791, 126798, 126808, 126819, 126824,
+ 126831, 126838, 126845, 126853, 126861, 126872, 126880, 126888, 126896,
+ 126901, 126906, 126911, 126916, 126921, 126926, 126931, 126936, 126941,
+ 126946, 126951, 126956, 126963, 126968, 126973, 126980, 126985, 126990,
+ 126995, 127000, 127005, 127010, 127015, 127020, 127025, 127030, 127035,
+ 127040, 127047, 127055, 127060, 127065, 127072, 127077, 127082, 127087,
+ 127094, 127099, 127106, 127111, 127118, 127123, 127132, 127141, 127146,
+ 127151, 127156, 127161, 127166, 127171, 127176, 127181, 127186, 127191,
+ 127196, 127201, 127206, 127214, 127222, 127227, 127232, 127237, 127242,
+ 127247, 127253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127259, 127263,
+ 127267, 127271, 127275, 127279, 127283, 127287, 127291, 127295, 127299,
+ 127303, 127307, 127311, 127315, 127319, 127323, 127327, 127331, 127335,
+ 127339, 127343, 127347, 127351, 127355, 127359, 127363, 127367, 127371,
+ 127375, 127379, 127383, 127387, 127391, 127395, 127399, 127403, 127407,
+ 127411, 127415, 127419, 127423, 127427, 127431, 127435, 127439, 127443,
+ 127447, 127451, 127455, 127459, 127463, 127467, 127471, 127475, 127479,
+ 127483, 127487, 127491, 127495, 127499, 127503, 127507, 127511, 127515,
+ 127519, 127523, 127527, 127531, 127535, 127539, 127543, 127547, 127551,
+ 127555, 127559, 127563, 127567, 127571, 127575, 127579, 127583, 127587,
+ 127591, 127595, 127599, 127603, 127607, 127611, 127615, 127619, 127623,
+ 127627, 127631, 127635, 127639, 127643, 127647, 127651, 127655, 127659,
+ 127663, 127667, 127671, 127675, 127679, 127683, 127687, 127691, 127695,
+ 127699, 127703, 127707, 127711, 127715, 127719, 127723, 127727, 127731,
+ 127735, 127739, 127743, 127747, 127751, 127755, 127759, 127763, 127767,
+ 127771, 127775, 127779, 127783, 127787, 127791, 127795, 127799, 127803,
+ 127807, 127811, 127815, 127819, 127823, 127827, 127831, 127835, 127839,
+ 127843, 127847, 127851, 127855, 127859, 127863, 127867, 127871, 127875,
+ 127879, 127883, 127887, 127891, 127895, 127899, 127903, 127907, 127911,
+ 127915, 127919, 127923, 127927, 127931, 127935, 127939, 127943, 127947,
+ 127951, 127955, 127959, 127963, 127967, 127971, 127975, 127979, 127983,
+ 127987, 127991, 127995, 127999, 128003, 128007, 128011, 128015, 128019,
+ 128023, 128027, 128031, 128035, 128039, 128043, 128047, 128051, 128055,
+ 128059, 128063, 128067, 128071, 128075, 128079, 128083, 128087, 128091,
+ 128095, 128099, 128103, 128107, 128111, 128115, 128119, 128123, 128127,
+ 128131, 128135, 128139, 128143, 128147, 128151, 128155, 128159, 128163,
+ 128167, 128171, 128175, 128179, 128183, 128187, 128191, 128195, 128199,
+ 128203, 128207, 128211, 128215, 128219, 128223, 128227, 128231, 128235,
+ 128239, 128243, 128247, 128251, 128255, 128259, 128263, 128267, 128271,
+ 128275, 128279, 128283, 128287, 128291, 128295, 128299, 128303, 128307,
+ 128311, 128315, 128319, 128323, 128327, 128331, 128335, 128339, 128343,
+ 128347, 128351, 128355, 128359, 128363, 128367, 128371, 128375, 128379,
+ 128383, 128387, 128391, 128395, 128399, 128403, 128407, 128411, 128415,
+ 128419, 128423, 128427, 128431, 128435, 128439, 128443, 128447, 128451,
+ 128455, 128459, 128463, 128467, 128471, 128475, 128479, 128483, 128487,
+ 128491, 128495, 128499, 128503, 128507, 128511, 128515, 128519, 128523,
+ 128527, 128531, 128535, 128539, 128543, 128547, 128551, 128555, 128559,
+ 128563, 128567, 128571, 128575, 128579, 128583, 128587, 128591, 128595,
+ 128599, 128603, 128607, 128611, 128615, 128619, 128623, 128627, 128631,
+ 128635, 128639, 128643, 128647, 128651, 128655, 128659, 128663, 128667,
+ 128671, 128675, 128679, 128683, 128687, 128691, 128695, 128699, 128703,
+ 128707, 128711, 128715, 128719, 128723, 128727, 128731, 128735, 128739,
+ 128743, 128747, 128751, 128755, 128759, 128763, 128767, 128771, 128775,
+ 128779, 128783, 128787, 128791, 128795, 128799, 128803, 128807, 128811,
+ 128815, 128819, 128823, 128827, 128831, 128835, 128839, 128843, 128847,
+ 128851, 128855, 128859, 128863, 128867, 128871, 128875, 128879, 128883,
+ 128887, 128891, 128895, 128899, 128903, 128907, 128911, 128915, 128919,
+ 128923, 128927, 128931, 128935, 128939, 128943, 128947, 128951, 128955,
+ 128959, 128963, 128967, 128971, 128975, 128979, 128983, 128987, 128991,
+ 128995, 128999, 129003, 129007, 129011, 129015, 129019, 129023, 129027,
+ 129031, 129035, 129039, 129043, 129047, 129051, 129055, 129059, 129063,
+ 129067, 129071, 129075, 129079, 129083, 129087, 129091, 129095, 129099,
+ 129103, 129107, 129111, 129115, 129119, 129123, 129127, 129131, 129135,
+ 129139, 129143, 129147, 129151, 129155, 129159, 129163, 129167, 129171,
+ 129175, 129179, 129183, 129187, 129191, 129195, 129199, 129203, 129207,
+ 129211, 129215, 129219, 129223, 129227, 129231, 129235, 129239, 129243,
+ 129247, 129251, 129255, 129259, 129263, 129267, 129271, 129275, 129279,
+ 129283, 129287, 129291, 129295, 129299, 129303, 129307, 129311, 129315,
+ 129319, 129323, 129327, 129331, 129335, 129339, 129343, 129347, 129351,
+ 129355, 129359, 129363, 129367, 129371, 129375, 129379, 129383, 129387,
+ 129391, 129395, 129399, 129403, 129407, 129411, 129415, 129419, 129423,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 129422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129426, 129429, 129433, 129437, 129440,
- 129444, 129448, 129451, 129454, 129458, 129462, 129465, 129468, 129471,
- 129474, 129479, 129482, 129486, 129489, 129492, 129495, 129498, 129501,
- 129504, 129507, 129510, 129513, 129516, 129519, 129523, 129527, 129531,
- 129535, 129540, 129545, 129551, 129557, 129563, 129568, 129574, 129580,
- 129586, 129591, 129597, 129603, 129608, 129613, 129619, 129624, 129630,
- 129636, 129641, 129647, 129653, 129658, 129664, 129670, 129676, 129682,
- 129688, 129692, 129697, 129701, 129706, 129710, 129715, 129720, 129726,
- 129732, 129738, 129743, 129749, 129755, 129761, 129766, 129772, 129778,
- 129783, 129788, 129794, 129799, 129805, 129811, 129816, 129822, 129828,
- 129833, 129839, 129845, 129851, 129857, 129863, 129868, 129872, 129877,
- 129879, 129883, 129886, 129889, 129892, 129895, 129898, 129901, 129904,
- 129907, 129910, 129913, 129916, 129919, 129922, 129925, 129928, 129931,
- 129934, 129937, 129940, 129943, 129946, 129949, 129952, 129955, 129958,
- 129961, 129964, 129967, 129970, 129973, 129976, 129979, 129982, 129985,
- 129988, 129991, 129994, 129997, 130000, 130003, 130006, 130009, 130012,
- 130015, 130018, 130021, 130024, 130027, 130030, 130033, 130036, 130039,
- 130042, 130045, 130048, 130051, 130054, 130057, 130060, 130063, 130066,
- 130069, 130072, 130075, 130078, 130081, 130084, 130087, 130090, 130093,
- 130096, 130099, 130102, 130105, 130108, 130111, 130114, 130117, 130120,
- 130123, 130126, 130129, 130132, 130135, 130138, 130141, 130144, 130147,
- 130150, 130153, 130156, 130159, 130162, 130165, 130168, 130171, 130174,
- 130177, 130180, 130183, 130186, 130189, 130192, 130195, 130198, 130201,
- 130204, 130207, 130210, 130213, 130216, 130219, 130222, 130225, 130228,
- 130231, 130234, 130237, 130240, 130243, 130246, 130249, 130252, 130255,
- 130258, 130261, 130264, 130267, 130270, 130273, 130276, 130279, 130282,
- 130285, 130288, 130291, 130294, 130297, 130300, 130303, 130306, 130309,
- 130312, 130315, 130318, 130321, 130324, 130327, 130330, 130333, 130336,
- 130339, 130342, 130345, 130348, 130351, 130354, 130357, 130360, 130363,
- 130366, 130369, 130372, 130375, 130378, 130381, 130384, 130387, 130390,
- 130393, 130396, 130399, 130402, 130405, 130408, 130411, 130414, 130417,
- 130420, 130423, 130426, 130429, 130432, 130435, 130438, 130441, 130444,
- 130447, 130450, 130453, 130456, 130459, 130462, 130465, 130468, 130471,
- 130474, 130477, 130480, 130483, 130486, 130489, 130492, 130495, 130498,
- 130501, 130504, 130507, 130510, 130513, 130516, 130519, 130522, 130525,
- 130528, 130531, 130534, 130537, 130540, 130543, 130546, 130549, 130552,
- 130555, 130558, 130561, 130564, 130567, 130570, 130573, 130576, 130579,
- 130582, 130585, 130588, 130591, 130594, 130597, 130600, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130603, 130605, 130607, 130612, 130614,
- 130619, 130621, 130626, 130628, 130633, 130635, 130637, 130639, 130641,
- 130643, 130645, 130647, 130649, 130651, 130654, 130657, 130659, 130661,
- 130665, 130668, 130673, 130675, 130677, 130679, 130683, 130686, 130688,
- 130692, 130694, 130698, 130700, 130704, 130707, 130709, 130713, 130717,
- 130719, 130725, 130727, 130732, 130734, 130739, 130741, 130746, 130748,
- 130753, 130755, 130758, 130760, 130764, 130766, 130773, 130775, 130777,
- 130779, 130784, 130786, 130788, 130790, 130792, 130794, 130799, 130803,
- 130805, 130810, 130814, 130816, 130821, 130825, 130827, 130832, 130836,
- 130838, 130840, 130842, 130844, 130848, 130850, 130855, 130857, 130863,
- 130865, 130871, 130873, 130875, 130877, 130881, 130883, 130890, 130892,
- 130899, 130901, 130906, 130911, 130913, 130919, 130925, 130927, 130933,
- 130938, 130940, 130946, 130952, 130954, 130960, 130966, 130968, 130974,
- 130978, 130980, 130985, 130987, 130989, 130994, 130996, 130998, 131004,
- 131006, 131011, 131015, 131017, 131022, 131026, 131028, 131034, 131036,
- 131040, 131042, 131046, 131048, 131055, 131062, 131064, 131071, 131078,
- 131080, 131085, 131087, 131094, 131096, 131101, 131103, 131109, 131111,
- 131115, 131117, 131123, 131125, 131129, 131131, 131137, 131139, 131141,
- 131143, 131148, 131153, 131155, 131159, 131166, 131173, 131178, 131183,
- 131195, 131197, 131199, 131201, 131203, 131205, 131207, 131209, 131211,
- 131213, 131215, 131217, 131219, 131221, 131223, 131225, 131227, 131229,
- 131235, 131242, 131247, 131252, 131263, 131265, 131267, 131269, 131271,
- 131273, 131275, 131277, 131279, 131281, 131283, 131285, 131287, 131289,
- 131291, 131293, 131295, 131300, 131302, 131304, 131315, 131317, 131319,
- 131321, 131323, 131325, 131327, 131329, 131331, 131333, 131335, 131337,
- 131339, 131341, 131343, 131345, 131347, 131349, 131351, 131353, 131355,
- 131357, 131359, 131361, 131363, 131365, 131367, 131369, 131371, 131373,
- 131375, 131377, 131379, 131381, 131383, 131385, 131387, 131389, 131391,
- 131393, 131395, 131397, 131399, 131401, 131403, 131405, 131407, 131409,
- 131411, 131413, 131415, 131417, 131419, 131421, 131423, 131425, 131427,
- 131429, 131431, 131433, 131435, 131437, 131439, 131441, 131443, 131445,
- 131447, 131449, 131451, 131453, 131455, 131457, 131459, 131461, 131463,
- 131465, 131467, 131469, 131471, 131473, 131475, 131477, 131479, 131481,
- 131483, 131485, 131487, 131489, 131491, 131493, 131495, 131497, 131499,
- 131501, 131503, 131505, 131507, 131509, 131511, 131513, 131515, 131517,
- 131519, 131521, 131523, 131525, 131527, 131529, 131531, 131533, 131535,
- 131537, 131539, 131541, 131543, 131545, 131547, 131549, 131551, 131553,
- 131555, 131557, 131559, 131561, 131563, 131565, 131567, 131569, 131571,
- 131573, 131575, 131577, 131579, 131581, 131583, 131585, 131587, 131589,
- 131591, 131593, 131595, 131597, 131599, 131601, 131603, 131605, 131607,
- 131609, 131611, 131613, 131615, 131617, 131619, 131621, 131623, 131625,
- 131627, 131629, 131631, 131633, 131635, 131637, 131639, 131641, 131643,
- 131645, 131647, 131649, 131651, 131653, 131655, 131657, 131659, 131661,
- 131663, 131665, 131667, 131669, 131671, 131673, 131675, 131677, 131679,
- 131681, 131683, 131685, 131687, 131689, 131691, 131693, 131695, 131697,
- 131699, 131701, 131703, 131705, 131707, 131709, 131711, 131713, 131715,
- 131717, 131719, 131721, 131723, 131725, 131727, 131729, 131731, 131733,
- 131735, 131737, 131739, 131741, 131743, 131745, 131747, 131749, 131751,
- 131753, 131755, 131757, 131759, 131761, 131763, 131765, 131767, 131769,
- 131771, 131773, 131775, 131777, 131779, 131781, 131783, 131785, 131787,
- 131789, 131791, 131793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 129427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129431, 129434, 129438, 129442, 129445,
+ 129449, 129453, 129456, 129459, 129463, 129467, 129470, 129473, 129476,
+ 129479, 129484, 129487, 129491, 129494, 129497, 129500, 129503, 129506,
+ 129509, 129512, 129515, 129518, 129521, 129524, 129528, 129532, 129536,
+ 129540, 129545, 129550, 129556, 129562, 129568, 129573, 129579, 129585,
+ 129591, 129596, 129602, 129608, 129613, 129618, 129624, 129629, 129635,
+ 129641, 129646, 129652, 129658, 129663, 129669, 129675, 129681, 129687,
+ 129693, 129697, 129702, 129706, 129711, 129715, 129720, 129725, 129731,
+ 129737, 129743, 129748, 129754, 129760, 129766, 129771, 129777, 129783,
+ 129788, 129793, 129799, 129804, 129810, 129816, 129821, 129827, 129833,
+ 129838, 129844, 129850, 129856, 129862, 129868, 129873, 129877, 129882,
+ 129884, 129888, 129891, 129894, 129897, 129900, 129903, 129906, 129909,
+ 129912, 129915, 129918, 129921, 129924, 129927, 129930, 129933, 129936,
+ 129939, 129942, 129945, 129948, 129951, 129954, 129957, 129960, 129963,
+ 129966, 129969, 129972, 129975, 129978, 129981, 129984, 129987, 129990,
+ 129993, 129996, 129999, 130002, 130005, 130008, 130011, 130014, 130017,
+ 130020, 130023, 130026, 130029, 130032, 130035, 130038, 130041, 130044,
+ 130047, 130050, 130053, 130056, 130059, 130062, 130065, 130068, 130071,
+ 130074, 130077, 130080, 130083, 130086, 130089, 130092, 130095, 130098,
+ 130101, 130104, 130107, 130110, 130113, 130116, 130119, 130122, 130125,
+ 130128, 130131, 130134, 130137, 130140, 130143, 130146, 130149, 130152,
+ 130155, 130158, 130161, 130164, 130167, 130170, 130173, 130176, 130179,
+ 130182, 130185, 130188, 130191, 130194, 130197, 130200, 130203, 130206,
+ 130209, 130212, 130215, 130218, 130221, 130224, 130227, 130230, 130233,
+ 130236, 130239, 130242, 130245, 130248, 130251, 130254, 130257, 130260,
+ 130263, 130266, 130269, 130272, 130275, 130278, 130281, 130284, 130287,
+ 130290, 130293, 130296, 130299, 130302, 130305, 130308, 130311, 130314,
+ 130317, 130320, 130323, 130326, 130329, 130332, 130335, 130338, 130341,
+ 130344, 130347, 130350, 130353, 130356, 130359, 130362, 130365, 130368,
+ 130371, 130374, 130377, 130380, 130383, 130386, 130389, 130392, 130395,
+ 130398, 130401, 130404, 130407, 130410, 130413, 130416, 130419, 130422,
+ 130425, 130428, 130431, 130434, 130437, 130440, 130443, 130446, 130449,
+ 130452, 130455, 130458, 130461, 130464, 130467, 130470, 130473, 130476,
+ 130479, 130482, 130485, 130488, 130491, 130494, 130497, 130500, 130503,
+ 130506, 130509, 130512, 130515, 130518, 130521, 130524, 130527, 130530,
+ 130533, 130536, 130539, 130542, 130545, 130548, 130551, 130554, 130557,
+ 130560, 130563, 130566, 130569, 130572, 130575, 130578, 130581, 130584,
+ 130587, 130590, 130593, 130596, 130599, 130602, 130605, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130608, 130610, 130612, 130617, 130619,
+ 130624, 130626, 130631, 130633, 130638, 130640, 130642, 130644, 130646,
+ 130648, 130650, 130652, 130654, 130656, 130659, 130662, 130664, 130666,
+ 130670, 130673, 130678, 130680, 130682, 130684, 130688, 130691, 130693,
+ 130697, 130699, 130703, 130705, 130709, 130712, 130714, 130718, 130722,
+ 130724, 130730, 130732, 130737, 130739, 130744, 130746, 130751, 130753,
+ 130758, 130760, 130763, 130765, 130769, 130771, 130778, 130780, 130782,
+ 130784, 130789, 130791, 130793, 130795, 130797, 130799, 130804, 130808,
+ 130810, 130815, 130819, 130821, 130826, 130830, 130832, 130837, 130841,
+ 130843, 130845, 130847, 130849, 130853, 130855, 130860, 130862, 130868,
+ 130870, 130876, 130878, 130880, 130882, 130886, 130888, 130895, 130897,
+ 130904, 130906, 130911, 130916, 130918, 130924, 130930, 130932, 130938,
+ 130943, 130945, 130951, 130957, 130959, 130965, 130971, 130973, 130979,
+ 130983, 130985, 130990, 130992, 130994, 130999, 131001, 131003, 131009,
+ 131011, 131016, 131020, 131022, 131027, 131031, 131033, 131039, 131041,
+ 131045, 131047, 131051, 131053, 131060, 131067, 131069, 131076, 131083,
+ 131085, 131090, 131092, 131099, 131101, 131106, 131108, 131114, 131116,
+ 131120, 131122, 131128, 131130, 131134, 131136, 131142, 131144, 131146,
+ 131148, 131153, 131158, 131160, 131169, 131173, 131180, 131187, 131192,
+ 131197, 131209, 131211, 131213, 131215, 131217, 131219, 131221, 131223,
+ 131225, 131227, 131229, 131231, 131233, 131235, 131237, 131239, 131241,
+ 131243, 131249, 131256, 131261, 131266, 131277, 131279, 131281, 131283,
+ 131285, 131287, 131289, 131291, 131293, 131295, 131297, 131299, 131301,
+ 131303, 131305, 131307, 131309, 131314, 131316, 131318, 131329, 131331,
+ 131333, 131335, 131337, 131339, 131341, 131343, 131345, 131347, 131349,
+ 131351, 131353, 131355, 131357, 131359, 131361, 131363, 131365, 131367,
+ 131369, 131371, 131373, 131375, 131377, 131379, 131381, 131383, 131385,
+ 131387, 131389, 131391, 131393, 131395, 131397, 131399, 131401, 131403,
+ 131405, 131407, 131409, 131411, 131413, 131415, 131417, 131419, 131421,
+ 131423, 131425, 131427, 131429, 131431, 131433, 131435, 131437, 131439,
+ 131441, 131443, 131445, 131447, 131449, 131451, 131453, 131455, 131457,
+ 131459, 131461, 131463, 131465, 131467, 131469, 131471, 131473, 131475,
+ 131477, 131479, 131481, 131483, 131485, 131487, 131489, 131491, 131493,
+ 131495, 131497, 131499, 131501, 131503, 131505, 131507, 131509, 131511,
+ 131513, 131515, 131517, 131519, 131521, 131523, 131525, 131527, 131529,
+ 131531, 131533, 131535, 131537, 131539, 131541, 131543, 131545, 131547,
+ 131549, 131551, 131553, 131555, 131557, 131559, 131561, 131563, 131565,
+ 131567, 131569, 131571, 131573, 131575, 131577, 131579, 131581, 131583,
+ 131585, 131587, 131589, 131591, 131593, 131595, 131597, 131599, 131601,
+ 131603, 131605, 131607, 131609, 131611, 131613, 131615, 131617, 131619,
+ 131621, 131623, 131625, 131627, 131629, 131631, 131633, 131635, 131637,
+ 131639, 131641, 131643, 131645, 131647, 131649, 131651, 131653, 131655,
+ 131657, 131659, 131661, 131663, 131665, 131667, 131669, 131671, 131673,
+ 131675, 131677, 131679, 131681, 131683, 131685, 131687, 131689, 131691,
+ 131693, 131695, 131697, 131699, 131701, 131703, 131705, 131707, 131709,
+ 131711, 131713, 131715, 131717, 131719, 131721, 131723, 131725, 131727,
+ 131729, 131731, 131733, 131735, 131737, 131739, 131741, 131743, 131745,
+ 131747, 131749, 131751, 131753, 131755, 131757, 131759, 131761, 131763,
+ 131765, 131767, 131769, 131771, 131773, 131775, 131777, 131779, 131781,
+ 131783, 131785, 131787, 131789, 131791, 131793, 131795, 131797, 131799,
+ 131801, 131803, 131805, 131807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 131795, 131805, 131815, 131824, 131833, 131846, 131859, 131871, 131883,
- 131893, 131903, 131913, 131923, 131934, 131945, 131955, 131964, 131973,
- 131982, 131995, 132008, 132020, 132032, 132042, 132052, 132062, 132072,
- 132081, 132090, 132099, 132108, 132117, 132126, 132135, 132144, 132153,
- 132162, 132171, 132180, 132191, 132201, 132211, 132224, 132234, 132247,
- 132254, 132264, 132271, 132278, 132285, 132292, 132299, 132306, 132315,
- 132324, 132333, 132342, 132351, 132360, 132369, 132378, 132386, 132394,
- 132401, 132411, 132420, 132428, 132435, 132445, 132454, 132458, 132462,
- 132466, 132470, 132474, 132478, 132482, 132486, 132490, 132494, 132497,
- 132501, 132504, 132507, 132511, 132515, 132519, 132523, 132527, 132531,
- 132535, 132539, 132543, 132547, 132551, 132555, 132559, 132563, 132567,
- 132571, 132575, 132579, 132583, 132587, 132591, 132595, 132599, 132603,
- 132607, 132611, 132615, 132619, 132623, 132627, 132631, 132635, 132639,
- 132643, 132647, 132651, 132655, 132659, 132663, 132667, 132671, 132675,
- 132679, 132683, 132687, 132691, 132695, 132699, 132703, 132707, 132711,
- 132715, 132719, 132723, 132727, 132731, 132735, 132739, 132743, 132747,
- 132751, 132755, 132759, 132763, 132767, 132771, 132775, 132779, 132783,
- 132787, 132791, 132795, 132799, 132803, 132807, 132811, 132815, 132819,
- 132823, 132827, 132831, 132835, 132839, 132843, 132847, 132850, 132854,
- 132858, 132862, 132866, 132870, 132874, 132878, 132882, 132886, 132890,
- 132894, 132898, 132902, 132906, 132910, 132914, 132918, 132922, 132926,
- 132930, 132934, 132938, 132942, 132946, 132950, 132954, 132958, 132962,
- 132966, 132970, 132974, 132978, 132982, 132986, 132990, 132994, 132998,
- 133002, 133006, 133010, 133014, 133018, 133022, 133026, 133030, 133034,
- 133038, 133042, 133046, 133050, 133054, 133058, 133062, 133066, 133070,
- 133074, 133078, 133082, 133086, 133090, 133094, 133098, 133102, 133106,
- 133110, 133114, 133118, 133122, 133126, 133130, 133134, 133138, 133142,
- 133146, 133150, 133154, 133158, 133162, 133166, 133170, 133174, 133178,
- 133182, 133186, 133190, 133194, 133198, 133202, 133206, 133210, 133214,
- 133218, 133222, 133226, 133230, 133234, 133238, 133242, 133246, 133250,
- 133254, 133258, 133262, 133266, 133270, 133274, 133278, 133282, 133286,
- 133290, 133294, 133298, 133302, 133306, 133310, 133314, 133318, 133322,
- 133326, 133330, 133334, 133338, 133342, 133346, 133350, 133354, 133358,
- 133362, 133366, 133370, 133374, 133378, 133382, 133386, 133390, 133394,
- 133398, 133402, 133406, 133410, 133414, 133418, 133422, 133426, 133430,
- 133434, 133438, 133442, 133446, 133450, 133454, 133458, 133462, 133466,
- 133470, 133474, 133478, 133482, 133486, 133490, 133494, 133498, 133502,
- 133506, 133510, 133514, 133518, 133522, 133526, 133530, 133534, 133538,
- 133542, 133546, 133550, 133554, 133558, 133562, 133566, 133570, 133574,
- 133578, 133582, 133586, 133590, 133594, 133598, 133602, 133606, 133610,
- 133614, 133619, 133624, 133629, 133633, 133639, 133646, 133653, 133660,
- 133667, 133674, 133681, 133688, 133695, 133702, 133709, 133716, 133723,
- 133730, 133736, 133743, 133750, 133756, 133763, 133770, 133777, 133784,
- 133791, 133798, 133805, 133812, 133819, 133826, 133833, 133840, 133847,
- 133853, 133859, 133866, 133873, 133882, 133891, 133900, 133909, 133914,
- 133919, 133925, 133931, 133937, 133943, 133949, 133955, 133961, 133967,
- 133973, 133979, 133985, 133991, 133996, 134002, 134012, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 131809, 131819, 131829, 131838, 131847, 131860, 131873, 131885, 131897,
+ 131907, 131917, 131927, 131937, 131948, 131959, 131969, 131978, 131987,
+ 131996, 132009, 132022, 132034, 132046, 132056, 132066, 132076, 132086,
+ 132095, 132104, 132113, 132122, 132131, 132140, 132149, 132158, 132167,
+ 132176, 132185, 132194, 132205, 132215, 132225, 132238, 132248, 132261,
+ 132268, 132278, 132285, 132292, 132299, 132306, 132313, 132320, 132329,
+ 132338, 132347, 132356, 132365, 132374, 132383, 132392, 132400, 132408,
+ 132415, 132425, 132434, 132442, 132449, 132459, 132468, 132472, 132476,
+ 132480, 132484, 132488, 132492, 132496, 132500, 132504, 132508, 132511,
+ 132515, 132518, 132521, 132525, 132529, 132533, 132537, 132541, 132545,
+ 132549, 132553, 132557, 132561, 132565, 132569, 132573, 132577, 132581,
+ 132585, 132589, 132593, 132597, 132601, 132605, 132609, 132613, 132617,
+ 132621, 132625, 132629, 132633, 132637, 132641, 132645, 132649, 132653,
+ 132657, 132661, 132665, 132669, 132673, 132677, 132681, 132685, 132689,
+ 132693, 132697, 132701, 132705, 132709, 132713, 132717, 132721, 132725,
+ 132729, 132733, 132737, 132741, 132745, 132749, 132753, 132757, 132761,
+ 132765, 132769, 132773, 132777, 132781, 132785, 132789, 132793, 132797,
+ 132801, 132805, 132809, 132813, 132817, 132821, 132825, 132829, 132833,
+ 132837, 132841, 132845, 132849, 132853, 132857, 132861, 132864, 132868,
+ 132872, 132876, 132880, 132884, 132888, 132892, 132896, 132900, 132904,
+ 132908, 132912, 132916, 132920, 132924, 132928, 132932, 132936, 132940,
+ 132944, 132948, 132952, 132956, 132960, 132964, 132968, 132972, 132976,
+ 132980, 132984, 132988, 132992, 132996, 133000, 133004, 133008, 133012,
+ 133016, 133020, 133024, 133028, 133032, 133036, 133040, 133044, 133048,
+ 133052, 133056, 133060, 133064, 133068, 133072, 133076, 133080, 133084,
+ 133088, 133092, 133096, 133100, 133104, 133108, 133112, 133116, 133120,
+ 133124, 133128, 133132, 133136, 133140, 133144, 133148, 133152, 133156,
+ 133160, 133164, 133168, 133172, 133176, 133180, 133184, 133188, 133192,
+ 133196, 133200, 133204, 133208, 133212, 133216, 133220, 133224, 133228,
+ 133232, 133236, 133240, 133244, 133248, 133252, 133256, 133260, 133264,
+ 133268, 133272, 133276, 133280, 133284, 133288, 133292, 133296, 133300,
+ 133304, 133308, 133312, 133316, 133320, 133324, 133328, 133332, 133336,
+ 133340, 133344, 133348, 133352, 133356, 133360, 133364, 133368, 133372,
+ 133376, 133380, 133384, 133388, 133392, 133396, 133400, 133404, 133408,
+ 133412, 133416, 133420, 133424, 133428, 133432, 133436, 133440, 133444,
+ 133448, 133452, 133456, 133460, 133464, 133468, 133472, 133476, 133480,
+ 133484, 133488, 133492, 133496, 133500, 133504, 133508, 133512, 133516,
+ 133520, 133524, 133528, 133532, 133536, 133540, 133544, 133548, 133552,
+ 133556, 133560, 133564, 133568, 133572, 133576, 133580, 133584, 133588,
+ 133592, 133596, 133600, 133604, 133608, 133612, 133616, 133620, 133624,
+ 133628, 133633, 133638, 133643, 133647, 133653, 133660, 133667, 133674,
+ 133681, 133688, 133695, 133702, 133709, 133716, 133723, 133730, 133737,
+ 133744, 133750, 133757, 133764, 133770, 133777, 133784, 133791, 133798,
+ 133805, 133812, 133819, 133826, 133833, 133840, 133847, 133854, 133861,
+ 133867, 133873, 133880, 133887, 133896, 133905, 133914, 133923, 133928,
+ 133933, 133939, 133945, 133951, 133957, 133963, 133969, 133975, 133981,
+ 133987, 133993, 133999, 134005, 134010, 134016, 134026, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -17117,9 +17119,9 @@ static unsigned int code_hash[] = {
64065, 64072, 64071, 63, 7233, 92212, 0, 41904, 6639, 64064, 983766,
128344, 0, 1176, 118959, 127930, 8162, 128667, 983822, 0, 120519, 66376,
66242, 11415, 4333, 9855, 64112, 64642, 0, 5388, 0, 0, 0, 7714, 66222,
- 69902, 7768, 0, 4199, 64708, 983413, 0, 0, 8708, 9560, 64077, 64076,
+ 69902, 7768, 0, 4199, 64708, 983414, 0, 0, 8708, 9560, 64077, 64076,
8996, 4992, 4471, 42622, 64079, 64078, 92179, 0, 126570, 0, 64615, 41915,
- 0, 12075, 70062, 0, 5174, 983215, 0, 127557, 3123, 0, 12685, 127904,
+ 0, 12075, 70062, 0, 5174, 983216, 0, 127557, 3123, 0, 12685, 127904,
8408, 64704, 0, 0, 9223, 0, 41616, 67999, 73797, 0, 1116, 128204, 43049,
7136, 43050, 8548, 120485, 0, 119061, 917999, 0, 13115, 43675, 64091,
9322, 0, 120595, 64095, 64094, 8111, 66247, 42332, 64089, 64088, 6199, 0,
@@ -17127,10 +17129,10 @@ static unsigned int code_hash[] = {
9927, 41335, 4118, 1797, 0, 41334, 0, 46, 43448, 127881, 298, 0, 128114,
0, 42627, 0, 32, 6187, 119052, 11495, 11459, 3665, 983600, 42871, 0,
19923, 74335, 0, 127192, 66239, 42264, 64403, 4412, 7240, 92495, 0,
- 983458, 65758, 12750, 4181, 8544, 0, 120199, 917897, 120198, 69809, 6181,
+ 983459, 65758, 12750, 4181, 8544, 0, 120199, 917897, 120198, 69809, 6181,
65014, 0, 0, 983196, 3639, 119588, 0, 0, 118904, 10073, 120206, 128862,
127186, 68409, 42844, 7498, 1098, 92565, 120205, 0, 983118, 10207, 8789,
- 983223, 0, 0, 983464, 9234, 0, 6182, 983466, 65058, 0, 983470, 983467, 0,
+ 983224, 0, 0, 983465, 9234, 0, 6182, 983467, 65058, 0, 983471, 983468, 0,
5471, 9461, 5573, 118936, 5473, 44, 0, 66244, 94072, 0, 66238, 12844, 0,
1622, 7767, 1900, 41339, 11458, 0, 0, 6581, 5576, 0, 64405, 41337, 0,
41631, 8947, 68390, 127844, 41694, 0, 0, 7908, 0, 10408, 6579, 0, 64618,
@@ -17177,7 +17179,7 @@ static unsigned int code_hash[] = {
12084, 127324, 127321, 92279, 127319, 127320, 127317, 127318, 127315,
12283, 1616, 3795, 0, 8795, 66245, 0, 0, 0, 1138, 73905, 12677, 0, 0,
3239, 127311, 0, 0, 8431, 0, 42164, 0, 11778, 12620, 6826, 73773, 119073,
- 5040, 0, 0, 983435, 78420, 0, 5039, 0, 78418, 0, 5038, 0, 0, 13184,
+ 5040, 0, 0, 983436, 78420, 0, 5039, 0, 78418, 0, 5038, 0, 0, 13184,
74293, 0, 64648, 0, 9359, 78416, 0, 128770, 65157, 6662, 0, 0, 3863,
73909, 4835, 55266, 43432, 127822, 4309, 7127, 194569, 0, 194568, 1301,
0, 42589, 569, 0, 73813, 711, 4389, 7133, 0, 73880, 11610, 11368, 0,
@@ -17202,16 +17204,16 @@ static unsigned int code_hash[] = {
6183, 0, 0, 0, 120448, 7623, 118925, 118889, 9235, 12760, 74176, 69662,
66445, 43540, 10062, 3743, 11514, 11078, 0, 12136, 0, 126597, 120435, 0,
7726, 0, 19922, 267, 3393, 42198, 1371, 194849, 69233, 2458, 0, 6201, 0,
- 41074, 4266, 10652, 41612, 41077, 3402, 9050, 3398, 0, 983340, 0, 3391,
+ 41074, 4266, 10652, 41612, 41077, 3402, 9050, 3398, 0, 983341, 0, 3391,
41075, 2476, 0, 128017, 0, 10625, 0, 12767, 13017, 78743, 64261, 64934,
- 127537, 13014, 13013, 0, 6673, 0, 0, 0, 12438, 0, 983334, 0, 983871,
+ 127537, 13014, 13013, 0, 6673, 0, 0, 0, 12438, 0, 983335, 0, 983871,
126638, 9053, 13015, 74523, 0, 704, 66215, 6195, 983819, 6660, 78758,
- 917760, 917793, 42212, 12629, 11435, 0, 55256, 65538, 0, 127940, 983333,
+ 917760, 917793, 42212, 12629, 11435, 0, 55256, 65538, 0, 127940, 983334,
74547, 126585, 65448, 78100, 12948, 119001, 195002, 119238, 195004,
78099, 127085, 0, 128320, 4287, 8276, 4902, 1131, 0, 78458, 66728, 1816,
0, 42533, 168, 42845, 4898, 64298, 983141, 0, 4901, 1821, 0, 578, 3653,
0, 791, 9162, 6977, 0, 78889, 74561, 0, 73731, 8354, 43590, 119303,
- 983441, 7557, 119339, 119301, 8234, 7241, 0, 120671, 119167, 194996,
+ 983442, 7557, 119339, 119301, 8234, 7241, 0, 120671, 119167, 194996,
12811, 65925, 3946, 78078, 10998, 78080, 673, 194867, 64397, 128276,
74599, 78449, 8890, 194977, 194976, 2448, 78085, 10267, 8424, 2452,
78083, 128824, 8729, 78456, 0, 7845, 917917, 71302, 4408, 4122, 6772,
@@ -17267,12 +17269,12 @@ static unsigned int code_hash[] = {
194587, 0, 1211, 0, 0, 0, 118832, 12318, 0, 0, 68005, 10622, 983770, 0,
78654, 6566, 78659, 0, 73780, 119196, 64864, 0, 78660, 0, 8284, 13081, 0,
3589, 42051, 4035, 6492, 92236, 4265, 6642, 3977, 74186, 41778, 836,
- 119216, 2488, 0, 4582, 0, 0, 41777, 12926, 983369, 7528, 10550, 0, 92706,
+ 119216, 2488, 0, 4582, 0, 0, 41777, 12926, 983370, 7528, 10550, 0, 92706,
0, 10961, 0, 1374, 64878, 119014, 0, 42389, 41374, 2286, 0, 78492, 41377,
127909, 0, 400, 12597, 120586, 0, 0, 6661, 983145, 64827, 0, 73817, 390,
- 0, 71301, 983853, 3473, 7718, 0, 0, 0, 55285, 0, 0, 0, 11969, 983382,
- 127841, 6365, 1887, 6763, 983362, 8080, 7006, 0, 983363, 6757, 64351,
- 1544, 0, 6766, 64677, 120716, 983364, 6146, 0, 771, 983365, 0, 12812,
+ 0, 71301, 983853, 3473, 7718, 0, 0, 0, 55285, 0, 0, 0, 11969, 983383,
+ 127841, 6365, 1887, 6763, 983363, 8080, 7006, 0, 983364, 6757, 64351,
+ 1544, 0, 6766, 64677, 120716, 983365, 6146, 0, 771, 983366, 0, 12812,
13168, 42272, 12200, 917927, 7904, 0, 953, 12917, 119560, 12300, 0,
11491, 9724, 10341, 983764, 9524, 7490, 11389, 7489, 3379, 0, 7487, 0,
471, 7484, 7482, 6753, 7480, 5764, 7478, 7477, 6501, 7475, 6918, 7473,
@@ -17286,11 +17288,11 @@ static unsigned int code_hash[] = {
118928, 1118, 71334, 0, 0, 1081, 7436, 68420, 7252, 0, 5996, 69921, 4903,
0, 41386, 5162, 119189, 1330, 0, 7139, 0, 12047, 41384, 0, 0, 1848, 4334,
6324, 41975, 64777, 10674, 12308, 12186, 0, 0, 983732, 12715, 68002,
- 983471, 126630, 2018, 66672, 41979, 66685, 119157, 68000, 92464, 0,
+ 983472, 126630, 2018, 66672, 41979, 66685, 119157, 68000, 92464, 0,
126984, 68001, 9334, 92705, 92315, 70101, 7975, 0, 77957, 0, 66621, 4884,
66597, 69732, 0, 0, 6313, 65513, 69857, 0, 0, 0, 2345, 43697, 463, 0, 0,
- 119607, 3117, 5460, 0, 0, 983379, 0, 42279, 194577, 0, 78415, 0, 195008,
- 983376, 13248, 0, 0, 0, 0, 0, 0, 5663, 0, 0, 0, 0, 2482, 1471, 0, 0,
+ 119607, 3117, 5460, 0, 0, 983380, 0, 42279, 194577, 0, 78415, 0, 195008,
+ 983377, 13248, 0, 0, 0, 0, 0, 0, 5663, 0, 0, 0, 0, 2482, 1471, 0, 0,
42247, 12378, 73925, 69664, 0, 12374, 0, 0, 0, 983685, 2460, 0, 11944,
12376, 127868, 64679, 0, 12380, 10557, 64473, 5870, 0, 2024, 127180, 0,
0, 539, 0, 127765, 94052, 3853, 65180, 127923, 120796, 120245, 92324, 0,
@@ -17298,20 +17300,20 @@ static unsigned int code_hash[] = {
69633, 120089, 12470, 0, 74189, 2742, 12476, 11798, 10946, 127310, 5000,
0, 983579, 0, 69672, 8213, 74017, 7771, 6161, 68018, 6709, 0, 78885,
983699, 127971, 120582, 78547, 0, 10301, 10333, 10397, 0, 0, 73791, 0, 0,
- 0, 0, 119123, 4014, 12842, 73952, 12015, 127290, 8275, 3893, 983256, 0,
+ 0, 0, 119123, 4014, 12842, 73952, 12015, 127290, 8275, 3893, 983257, 0,
12210, 7221, 42147, 0, 74550, 74465, 64747, 118841, 0, 12516, 4444, 0,
92271, 74537, 10892, 8231, 0, 6473, 41968, 78388, 41973, 3591, 41969, 0,
2453, 128549, 92666, 64705, 0, 0, 10349, 10413, 43591, 41962, 3202,
74353, 0, 8316, 0, 0, 94060, 687, 0, 0, 0, 1840, 0, 68671, 119809, 4883,
285, 4723, 70099, 92692, 4459, 74577, 42921, 41720, 11089, 240, 19906, 0,
- 42323, 0, 9743, 120232, 13134, 126535, 0, 0, 0, 0, 42634, 983335, 43437,
+ 42323, 0, 9743, 120232, 13134, 126535, 0, 0, 0, 0, 42634, 983336, 43437,
3081, 11463, 120154, 0, 0, 10445, 0, 0, 66717, 2614, 9125, 119023, 1729,
0, 120236, 65221, 63883, 43334, 64852, 0, 65194, 66201, 0, 66578, 5001,
41879, 74427, 4121, 5003, 884, 66700, 63879, 4943, 5150, 73889, 74182,
127915, 643, 3086, 0, 42448, 42299, 58, 0, 917952, 120083, 63873, 8491,
0, 0, 0, 4530, 42409, 7126, 194575, 2721, 120074, 119096, 19929, 0,
194574, 0, 4242, 4264, 120077, 120530, 66179, 42412, 65941, 13114, 64522,
- 10740, 3094, 0, 9754, 119102, 4437, 73948, 127074, 983232, 55280, 42174,
+ 10740, 3094, 0, 9754, 119102, 4437, 73948, 127074, 983233, 55280, 42174,
194925, 42430, 0, 0, 42355, 66026, 4306, 41380, 68432, 92586, 0, 66667,
127309, 0, 126521, 42200, 42566, 0, 0, 5088, 6948, 0, 8524, 0, 0, 12385,
0, 0, 69646, 1386, 64580, 11480, 6116, 65039, 65038, 12392, 65036, 8064,
@@ -17337,7 +17339,7 @@ static unsigned int code_hash[] = {
917776, 65148, 12433, 917781, 127276, 917779, 12431, 8668, 12434, 983826,
917782, 5999, 0, 7712, 12432, 128243, 43653, 1726, 1015, 0, 8212, 0,
128014, 42423, 119066, 0, 128108, 66709, 0, 8811, 927, 0, 0, 12436,
- 983239, 42021, 0, 0, 1299, 12240, 42350, 65143, 0, 195016, 0, 78197,
+ 983240, 42021, 0, 0, 1299, 12240, 42350, 65143, 0, 195016, 0, 78197,
11348, 0, 78037, 9194, 983184, 0, 19914, 12179, 983803, 2296, 194923,
63836, 63832, 917773, 10967, 63816, 2594, 3444, 63817, 64651, 0, 41503,
127478, 11265, 0, 120756, 194922, 0, 5664, 3972, 0, 0, 0, 128508, 12416,
@@ -17348,7 +17350,7 @@ static unsigned int code_hash[] = {
9171, 12741, 11400, 71305, 194799, 0, 128239, 0, 128881, 119604, 127523,
120190, 194773, 67608, 128214, 42368, 0, 7715, 3881, 41487, 12118, 42514,
68651, 0, 983886, 3009, 41476, 41489, 69825, 3007, 1448, 3018, 194809,
- 3889, 8521, 5083, 5082, 119859, 120184, 8519, 983235, 3014, 5081, 65853,
+ 3889, 8521, 5083, 5082, 119859, 120184, 8519, 983236, 3014, 5081, 65853,
120715, 0, 68014, 69951, 5079, 64802, 42210, 4597, 65532, 11828, 120185,
12371, 0, 8407, 0, 10805, 8518, 10779, 120188, 71303, 983924, 12367,
42170, 0, 92557, 629, 1924, 0, 12037, 74366, 5987, 8462, 8005, 12365,
@@ -17400,7 +17402,7 @@ static unsigned int code_hash[] = {
9594, 0, 0, 43527, 0, 727, 194703, 195023, 5805, 0, 6726, 0, 42176,
12370, 11655, 119095, 10591, 2280, 0, 12372, 120642, 120307, 0, 92343, 0,
12366, 10963, 6066, 1329, 0, 3052, 9220, 0, 64478, 194701, 10803, 4132,
- 120306, 68474, 92473, 0, 983305, 74837, 120155, 1499, 0, 8055, 42740,
+ 120306, 68474, 92473, 0, 983306, 74837, 120155, 1499, 0, 8055, 42740,
63965, 0, 63962, 74042, 8924, 43123, 5988, 3660, 63969, 11781, 42718,
8788, 1357, 64851, 65743, 0, 8774, 0, 127086, 9941, 120172, 0, 1933,
69655, 9564, 0, 92435, 73866, 0, 0, 2487, 67614, 3121, 1804, 3311, 67615,
@@ -17452,7 +17454,7 @@ static unsigned int code_hash[] = {
64436, 3601, 195094, 128073, 983562, 609, 11555, 983099, 12496, 127839,
74181, 4343, 12505, 0, 127863, 0, 11377, 239, 0, 637, 0, 0, 42671, 0, 0,
0, 43565, 71306, 126493, 12696, 128256, 0, 94062, 12929, 0, 712, 0, 4197,
- 983204, 42818, 126632, 0, 120490, 0, 119137, 1506, 43562, 0, 92491, 0,
+ 983205, 42818, 126632, 0, 120490, 0, 119137, 1506, 43562, 0, 92491, 0,
12651, 0, 64628, 74517, 12058, 74084, 917838, 7494, 0, 4924, 65592,
118844, 0, 127088, 355, 9719, 127087, 13066, 64796, 0, 0, 12033, 42178,
0, 69760, 42571, 92635, 0, 0, 0, 0, 0, 127176, 3178, 0, 0, 92704, 0,
@@ -17485,7 +17487,7 @@ static unsigned int code_hash[] = {
66489, 224, 0, 68670, 9332, 4966, 68677, 0, 68644, 0, 3841, 68634, 0,
10732, 68640, 850, 4972, 0, 12890, 2909, 68619, 44008, 68627, 983709,
11544, 10203, 9608, 0, 0, 11962, 194694, 12507, 1196, 128687, 128311,
- 777, 120187, 4375, 65271, 67678, 0, 12198, 0, 64824, 119343, 983230,
+ 777, 120187, 4375, 65271, 67678, 0, 12198, 0, 64824, 119343, 983231,
9454, 63778, 8658, 42528, 78000, 2705, 917975, 41520, 0, 0, 11986, 7765,
42502, 8280, 74520, 2701, 0, 127002, 5767, 0, 0, 9809, 8353, 63747,
66701, 63772, 983805, 63745, 1748, 63770, 0, 0, 0, 65542, 63766, 55244,
@@ -17495,7 +17497,7 @@ static unsigned int code_hash[] = {
10996, 92247, 1922, 0, 12498, 10987, 69936, 69939, 3894, 65543, 0,
194842, 983588, 493, 0, 43197, 1717, 4228, 479, 10303, 74020, 0, 917935,
10335, 3520, 917932, 12490, 64315, 0, 127039, 12493, 6233, 42681, 1002,
- 12491, 0, 64911, 92615, 2096, 65120, 0, 78219, 983081, 11611, 11632,
+ 12491, 0, 64911, 92615, 2096, 65120, 0, 78219, 983081, 8378, 11632,
127041, 66213, 63864, 66221, 66226, 66229, 13218, 66231, 66216, 8507,
66236, 66211, 66218, 92672, 66240, 78041, 66233, 8928, 983552, 7909,
66234, 11605, 63759, 983645, 66208, 73999, 63799, 63803, 244, 11542,
@@ -17515,7 +17517,7 @@ static unsigned int code_hash[] = {
9382, 9379, 9380, 9377, 9378, 9375, 9376, 1683, 9374, 983769, 9372,
12444, 0, 0, 13016, 8210, 983949, 42029, 11079, 12331, 43451, 42032,
8744, 726, 0, 983828, 4155, 0, 0, 42030, 5007, 12522, 43088, 0, 4951,
- 127805, 127240, 0, 9922, 43309, 983832, 12525, 983463, 12016, 65770,
+ 127805, 127240, 0, 9922, 43309, 983832, 12525, 983464, 12016, 65770,
9548, 67665, 403, 78230, 12503, 0, 0, 11030, 0, 92567, 65691, 63998,
1819, 10496, 0, 0, 119920, 0, 194668, 0, 12506, 0, 12231, 0, 12500,
44023, 12509, 64393, 78830, 3389, 10589, 6608, 41047, 120321, 78395,
@@ -17557,7 +17559,7 @@ static unsigned int code_hash[] = {
13043, 8056, 92494, 65681, 208, 127382, 41514, 0, 0, 0, 10699, 6408,
92227, 7825, 5661, 0, 120630, 3603, 41109, 2398, 3548, 126596, 0, 119933,
0, 3115, 9918, 0, 11321, 42912, 0, 0, 194726, 4876, 65804, 0, 0, 43468,
- 983266, 41558, 41471, 73950, 8158, 9944, 41472, 120298, 13051, 78689,
+ 983267, 41558, 41471, 73950, 8158, 9944, 41472, 120298, 13051, 78689,
3143, 194674, 6701, 41559, 1896, 66256, 13052, 194680, 5665, 0, 119071,
7025, 63974, 0, 74352, 74161, 4154, 9863, 43550, 12310, 5662, 42382,
194686, 73924, 1121, 78319, 63959, 0, 9942, 13231, 0, 64752, 4732,
@@ -17587,7 +17589,7 @@ static unsigned int code_hash[] = {
6153, 2867, 194708, 66312, 698, 128007, 194606, 10356, 70017, 194713,
651, 12641, 0, 0, 0, 0, 41552, 65115, 78465, 78467, 78463, 78464, 128851,
78461, 194697, 74356, 64945, 4716, 43277, 0, 78474, 12340, 120568, 0,
- 194700, 55264, 41211, 120676, 8703, 5462, 917629, 983487, 10101, 0,
+ 194700, 55264, 41211, 120676, 8703, 5462, 917629, 983488, 10101, 0,
70049, 8479, 4151, 41933, 0, 0, 66254, 120821, 0, 0, 128654, 0, 119194,
74050, 92701, 0, 0, 0, 0, 0, 12278, 0, 0, 0, 2700, 12576, 7842, 12899, 0,
0, 2699, 0, 73845, 2985, 92568, 126475, 917845, 12192, 119314, 0, 119312,
@@ -17602,8 +17604,8 @@ static unsigned int code_hash[] = {
9632, 92323, 74761, 64323, 127335, 0, 0, 0, 310, 0, 41281, 10976, 0,
71325, 0, 74266, 10054, 6497, 8574, 0, 9012, 19958, 74420, 65089, 13215,
12730, 65163, 74044, 374, 43195, 816, 120161, 0, 0, 41934, 7465, 0,
- 128168, 983260, 4715, 6101, 94106, 41936, 0, 4879, 0, 65446, 0, 307,
- 127147, 9585, 5374, 983259, 128059, 0, 0, 126618, 120390, 0, 65567,
+ 128168, 983261, 4715, 6101, 94106, 41936, 0, 4879, 0, 65446, 0, 307,
+ 127147, 9585, 5374, 983260, 128059, 0, 0, 126618, 120390, 0, 65567,
120614, 1929, 0, 12142, 0, 12236, 41419, 194618, 120610, 12982, 194623,
5378, 78791, 128679, 41421, 0, 4462, 0, 126599, 128092, 821, 0, 2498,
5800, 120157, 983115, 1760, 2421, 4469, 2324, 828, 3611, 78400, 757,
@@ -17620,7 +17622,7 @@ static unsigned int code_hash[] = {
77950, 194578, 7074, 92648, 194579, 194582, 11414, 128868, 2531, 13034,
0, 0, 4211, 1259, 7517, 0, 0, 194561, 40996, 13037, 7092, 641, 5219,
94034, 194566, 11064, 41129, 0, 42850, 13035, 9075, 92387, 5466, 128153,
- 0, 64098, 65793, 4535, 194573, 4271, 78417, 128357, 6769, 41410, 983444,
+ 0, 64098, 65793, 4535, 194573, 4271, 78417, 128357, 6769, 41410, 983445,
64262, 6767, 41407, 0, 0, 6755, 118864, 9046, 127934, 126608, 0, 0, 0, 0,
67675, 0, 0, 0, 64338, 2563, 13033, 247, 118915, 0, 12338, 4651, 69895,
11270, 0, 0, 11933, 0, 0, 41903, 43447, 11001, 0, 42255, 0, 92661, 69821,
@@ -17650,7 +17652,7 @@ static unsigned int code_hash[] = {
1091, 12638, 7977, 4501, 41099, 0, 66309, 0, 0, 1494, 983146, 126613, 0,
11693, 126513, 10494, 92655, 65872, 12363, 11386, 0, 0, 0, 0, 64582, 0,
73794, 0, 8022, 0, 120462, 74106, 12413, 94069, 917994, 917993, 917995,
- 5570, 1881, 7210, 0, 1012, 43752, 0, 120709, 7208, 66442, 5569, 983236,
+ 5570, 1881, 7210, 0, 1012, 43752, 0, 120709, 7208, 66442, 5569, 983237,
42339, 0, 6063, 0, 78383, 119594, 6053, 65602, 0, 92201, 64727, 9160,
194827, 0, 0, 92180, 10503, 118810, 6055, 3870, 4279, 8490, 120114, 4319,
64786, 8602, 120110, 11326, 92204, 983116, 0, 120119, 78333, 120117,
@@ -17658,7 +17660,7 @@ static unsigned int code_hash[] = {
120108, 42085, 10107, 42159, 42870, 120101, 589, 7050, 983791, 43281,
10233, 41263, 66251, 65729, 66253, 126497, 74099, 42645, 0, 194815, 8583,
0, 5847, 6928, 128074, 0, 0, 0, 0, 66592, 12204, 917962, 19966, 77856,
- 42561, 120626, 983245, 0, 8120, 120701, 0, 0, 128012, 41063, 0, 10664, 0,
+ 42561, 120626, 983246, 0, 8120, 120701, 0, 0, 128012, 41063, 0, 10664, 0,
8369, 0, 4551, 194964, 3369, 0, 0, 9673, 66334, 65580, 10478, 118960,
12517, 557, 9457, 12034, 983662, 6355, 12519, 41004, 0, 195025, 74094, 0,
0, 77970, 983560, 0, 128175, 12111, 3927, 0, 12515, 1474, 67893, 5492,
@@ -17681,7 +17683,7 @@ static unsigned int code_hash[] = {
73898, 11979, 70051, 118900, 917894, 0, 9635, 12600, 8871, 0, 0, 0, 6469,
74227, 0, 65304, 4679, 10230, 64300, 64867, 3427, 4240, 0, 0, 0, 0,
42916, 0, 0, 0, 7282, 78728, 65733, 4445, 127138, 128082, 3494, 74606,
- 6555, 0, 77976, 0, 0, 78566, 0, 983189, 65898, 983238, 65312, 5447, 0,
+ 6555, 0, 77976, 0, 0, 78566, 0, 983189, 65898, 983239, 65312, 5447, 0,
12895, 65593, 4010, 0, 41106, 0, 64448, 0, 41105, 0, 65820, 6232, 0,
128280, 0, 43608, 119091, 0, 6538, 4335, 78364, 3941, 41122, 11061,
78363, 64892, 9113, 1954, 12155, 983665, 42878, 11500, 0, 0, 74578, 0,
@@ -17695,9 +17697,9 @@ static unsigned int code_hash[] = {
11428, 1730, 2457, 917808, 19918, 10469, 0, 0, 7703, 8840, 8035, 0, 0,
92230, 0, 6129, 0, 128528, 128268, 0, 7874, 8681, 119092, 0, 13136, 0, 0,
70102, 63886, 118881, 9605, 71308, 13220, 128776, 120274, 5514, 0, 9228,
- 0, 0, 0, 5240, 9811, 10012, 3096, 0, 0, 983343, 66676, 65873, 0, 0, 0,
+ 0, 0, 0, 5240, 9811, 10012, 3096, 0, 0, 983344, 66676, 65873, 0, 0, 0,
9501, 0, 1272, 64536, 65465, 64654, 7467, 0, 1467, 10158, 10040, 0, 9519,
- 0, 917812, 0, 118899, 12193, 0, 0, 0, 0, 983345, 19935, 0, 92162, 69676,
+ 0, 917812, 0, 118899, 12193, 0, 0, 0, 0, 983346, 19935, 0, 92162, 69676,
0, 0, 0, 5275, 0, 0, 8637, 0, 0, 3789, 63880, 11471, 43554, 65862, 11474,
66332, 66603, 128138, 2426, 12042, 92194, 983902, 9537, 3961, 12115,
77953, 2605, 4500, 64561, 55224, 4981, 0, 0, 63876, 11667, 42686, 77973,
@@ -17748,14 +17750,14 @@ static unsigned int code_hash[] = {
7142, 119881, 12350, 65554, 119882, 119877, 119876, 12785, 63863, 43795,
7770, 10712, 64853, 12686, 118916, 42375, 0, 127238, 66352, 10470, 0,
11059, 10791, 917944, 450, 119328, 0, 10432, 12097, 5450, 64691, 1233, 0,
- 44009, 78284, 66338, 0, 0, 1839, 118799, 983217, 10927, 1701, 983655,
+ 44009, 78284, 66338, 0, 0, 1839, 118799, 983218, 10927, 1701, 983655,
2388, 41749, 41761, 5453, 8361, 119865, 41758, 5444, 41763, 64889, 7143,
92493, 78677, 0, 92429, 78174, 66432, 8801, 3053, 4340, 983044, 0, 65812,
917831, 0, 41824, 67985, 120203, 194800, 194803, 42700, 194805, 127980,
194807, 78676, 92356, 194808, 0, 0, 4493, 4336, 0, 2314, 43602, 78826,
119325, 194811, 42439, 64638, 42327, 43528, 4489, 71331, 0, 194793, 1912,
42385, 10306, 10370, 0, 0, 8867, 10250, 10258, 2712, 1635, 78821, 1410,
- 92671, 983244, 118878, 0, 0, 9919, 120528, 559, 128157, 41825, 127975,
+ 92671, 983245, 118878, 0, 0, 9919, 120528, 559, 128157, 41825, 127975,
78188, 4892, 74016, 194781, 6542, 41957, 128865, 5777, 0, 759, 65749,
2079, 65248, 12788, 64487, 64552, 0, 10223, 42062, 0, 0, 126573, 3668,
65754, 43560, 12226, 67991, 65149, 2340, 41959, 194786, 194785, 194788,
@@ -17765,7 +17767,7 @@ static unsigned int code_hash[] = {
42809, 42807, 0, 120046, 10198, 4150, 64371, 8318, 41790, 67976, 41898,
2360, 41794, 917942, 71314, 127818, 0, 0, 2418, 983098, 2411, 11336, 799,
63823, 10276, 10308, 10372, 917541, 41772, 42813, 2317, 10260, 118980,
- 55284, 92203, 0, 10384, 983218, 0, 0, 7753, 2351, 6655, 64489, 69931, 0,
+ 55284, 92203, 0, 10384, 983219, 0, 0, 7753, 2351, 6655, 64489, 69931, 0,
77872, 4443, 42779, 230, 0, 0, 43549, 4855, 42150, 65739, 5441, 41896,
10288, 10320, 0, 855, 7046, 6109, 65045, 63839, 78198, 2049, 10098, 0,
74145, 127943, 10264, 10280, 9184, 10376, 7013, 4467, 0, 0, 0, 41887, 0,
@@ -17776,7 +17778,7 @@ static unsigned int code_hash[] = {
78167, 10088, 6548, 0, 120156, 43978, 8988, 8888, 0, 0, 0, 0, 10666, 0,
73902, 69740, 0, 0, 9975, 128039, 119902, 4689, 8932, 0, 65560, 119209,
74441, 78810, 0, 0, 67987, 0, 0, 0, 67989, 0, 10065, 8207, 0, 92613,
- 128011, 0, 662, 0, 9244, 194863, 0, 119261, 983420, 0, 0, 0, 41929, 0, 0,
+ 128011, 0, 662, 0, 9244, 194863, 0, 119261, 983421, 0, 0, 0, 41929, 0, 0,
66674, 41926, 120408, 120443, 10513, 64637, 194862, 68013, 52, 13118,
6475, 0, 120341, 12095, 10225, 4812, 92578, 0, 67992, 74085, 0, 3978, 0,
917945, 127823, 11582, 120761, 12281, 0, 6544, 13241, 93961, 69782,
@@ -17786,7 +17788,7 @@ static unsigned int code_hash[] = {
120410, 0, 120453, 64821, 9478, 2508, 92683, 0, 202, 128246, 74131, 1242,
65514, 0, 63940, 128706, 64533, 120129, 0, 67842, 11990, 92430, 63939,
43375, 65440, 2504, 0, 78671, 64829, 983901, 6943, 917934, 5859, 0, 2858,
- 983353, 74294, 983905, 69239, 0, 119027, 12992, 2753, 1936, 70078, 92574,
+ 983354, 74294, 983905, 69239, 0, 119027, 12992, 2753, 1936, 70078, 92574,
2751, 12662, 2763, 8953, 64701, 10731, 12922, 7052, 917839, 0, 0, 0,
63920, 74128, 2856, 119910, 47, 69908, 126986, 65858, 0, 0, 0, 7899, 0,
8417, 43798, 7072, 0, 0, 4033, 128164, 43992, 0, 0, 212, 64600, 1903,
@@ -17797,13 +17799,13 @@ static unsigned int code_hash[] = {
12624, 0, 1673, 4811, 92383, 5986, 9338, 3046, 74480, 5985, 917928,
119598, 9820, 0, 12187, 0, 0, 5984, 0, 43308, 4393, 67650, 0, 0, 0, 0,
74826, 64733, 0, 0, 3491, 0, 0, 128219, 3514, 65485, 0, 7492, 0, 74605,
- 92483, 7514, 983359, 0, 194731, 7502, 7587, 68353, 0, 0, 63925, 0, 7610,
+ 92483, 7514, 983360, 0, 194731, 7502, 7587, 68353, 0, 0, 63925, 0, 7610,
219, 0, 0, 692, 43588, 74433, 41635, 43241, 9688, 7147, 9535, 0, 93991,
0, 64530, 0, 64610, 11804, 0, 7149, 7453, 0, 8013, 0, 92301, 0, 8895,
5253, 70025, 5458, 0, 2866, 0, 127860, 65111, 68433, 6700, 120484, 0,
120583, 0, 8962, 77960, 9641, 43694, 7059, 983668, 0, 9604, 78700, 7441,
63826, 67970, 118941, 64392, 194735, 983678, 2844, 983932, 41974, 0,
- 12139, 67971, 0, 0, 3358, 65295, 0, 3104, 194734, 0, 194765, 983227,
+ 12139, 67971, 0, 0, 3358, 65295, 0, 3104, 194734, 0, 194765, 983228,
5308, 0, 290, 0, 0, 2862, 2792, 195088, 983070, 0, 3268, 66591, 0, 6552,
42367, 7035, 120558, 0, 0, 1814, 0, 10240, 92338, 74305, 0, 74528, 65903,
0, 42646, 7606, 2591, 2837, 4341, 77956, 64482, 127337, 8163, 65270, 0,
@@ -17864,7 +17866,7 @@ static unsigned int code_hash[] = {
93998, 5506, 0, 1911, 66652, 0, 9961, 8845, 66698, 0, 10792, 8889, 0,
2098, 0, 64751, 0, 66622, 0, 0, 74364, 0, 0, 983796, 74365, 7552, 0, 0,
65384, 7223, 4559, 0, 1956, 43138, 7024, 65728, 64501, 1210, 195077,
- 65175, 10184, 43140, 43654, 0, 0, 0, 38, 8533, 66669, 119124, 983285,
+ 65175, 10184, 43140, 43654, 0, 0, 0, 38, 8533, 66669, 119124, 983286,
983783, 0, 4357, 0, 119837, 917863, 74233, 9967, 78884, 42860, 119838,
10941, 65721, 6962, 0, 0, 119324, 0, 11014, 127972, 8942, 12000, 69224,
92267, 128536, 11974, 92213, 42772, 127518, 11650, 5013, 92663, 126583,
@@ -17882,7 +17884,7 @@ static unsigned int code_hash[] = {
41869, 12619, 0, 10154, 983043, 74439, 2039, 0, 7446, 1684, 63979, 10974,
458, 120620, 0, 69791, 127161, 11916, 65016, 0, 69671, 42115, 983133,
12288, 78057, 0, 1493, 42111, 7553, 4097, 128199, 13080, 0, 65808, 6610,
- 6030, 8059, 7508, 13131, 0, 983423, 0, 8794, 41278, 41629, 12154, 128192,
+ 6030, 8059, 7508, 13131, 0, 983424, 0, 8794, 41278, 41629, 12154, 128192,
41277, 64658, 0, 64380, 6625, 74354, 19904, 0, 0, 0, 65371, 7078, 0, 833,
0, 6369, 0, 10979, 41953, 0, 41434, 6062, 0, 0, 19916, 6913, 933, 1341,
9842, 6720, 65744, 0, 983592, 128295, 0, 7405, 10105, 65810, 0, 41632,
@@ -17897,7 +17899,7 @@ static unsigned int code_hash[] = {
6741, 43047, 0, 13180, 128517, 418, 917972, 64495, 10295, 10327, 10391,
41752, 74339, 8641, 41449, 0, 74100, 0, 10911, 6942, 0, 1024, 42849,
41751, 69776, 8941, 983556, 4554, 0, 9023, 11685, 0, 9928, 78617, 0,
- 11437, 43741, 92163, 120700, 63967, 983475, 41206, 120724, 9049, 41185,
+ 11437, 43741, 92163, 120700, 63967, 983476, 41206, 120724, 9049, 41185,
43166, 0, 11680, 92619, 11686, 78544, 65224, 4565, 4655, 119553, 0,
92183, 64523, 10343, 10407, 0, 66671, 11466, 0, 128003, 42890, 74013,
12050, 68201, 2860, 0, 0, 0, 42792, 5743, 10424, 12065, 42872, 0, 92342,
@@ -17913,7 +17915,7 @@ static unsigned int code_hash[] = {
42690, 9880, 42010, 74824, 64589, 10111, 64875, 127880, 68399, 43998,
11360, 0, 0, 0, 118826, 42149, 0, 0, 0, 64941, 77919, 120421, 128077, 0,
55247, 4110, 66005, 6959, 10929, 119110, 0, 66703, 77921, 8617, 41982,
- 6025, 69242, 983176, 0, 0, 0, 9597, 42099, 43172, 983368, 10117, 983169,
+ 6025, 69242, 983176, 0, 0, 0, 9597, 42099, 43172, 983369, 10117, 983169,
92297, 41636, 0, 0, 120681, 8301, 0, 0, 187, 0, 65669, 128339, 4963, 0,
127517, 0, 8964, 65676, 7775, 0, 41948, 0, 0, 0, 41942, 65449, 3160,
10081, 13226, 42121, 42475, 42663, 128210, 41766, 119114, 65882, 78849,
@@ -17928,15 +17930,15 @@ static unsigned int code_hash[] = {
10716, 0, 42822, 0, 6434, 0, 6939, 7766, 6432, 128106, 69932, 916, 769,
41742, 11968, 74805, 6433, 5563, 547, 1943, 6439, 5560, 4994, 487,
126537, 4497, 3754, 127056, 120424, 9039, 0, 41776, 0, 8716, 1595, 41615,
- 0, 0, 74260, 0, 42854, 43219, 128709, 983452, 12185, 128879, 70072,
- 68355, 68357, 0, 42856, 8634, 0, 983389, 4209, 120702, 0, 65879, 41538,
- 65612, 127543, 669, 5679, 0, 69786, 92540, 0, 983456, 5678, 11821, 0,
- 6711, 460, 0, 0, 983453, 0, 120747, 0, 0, 78050, 119022, 0, 983454, 0,
+ 0, 0, 74260, 0, 42854, 43219, 128709, 983453, 12185, 128879, 70072,
+ 68355, 68357, 0, 42856, 8634, 0, 983390, 4209, 120702, 0, 65879, 41538,
+ 65612, 127543, 669, 5679, 0, 69786, 92540, 0, 983457, 5678, 11821, 0,
+ 6711, 460, 0, 0, 983454, 0, 120747, 0, 0, 78050, 119022, 0, 983455, 0,
7782, 9044, 4974, 11760, 78494, 7577, 65711, 41912, 1216, 0, 128079,
- 5792, 0, 0, 78501, 0, 2933, 12244, 0, 5683, 983384, 0, 78119, 1549, 0, 0,
+ 5792, 0, 0, 78501, 0, 2933, 12244, 0, 5683, 983385, 0, 78119, 1549, 0, 0,
120398, 5682, 6206, 8670, 10256, 5680, 69935, 10001, 128512, 69768, 1449,
10241, 78290, 128228, 0, 10552, 64342, 41922, 128548, 8584, 68030, 5567,
- 2717, 0, 0, 5564, 42886, 41908, 42882, 5565, 983248, 128026, 0, 65708,
+ 2717, 0, 0, 5564, 42886, 41908, 42882, 5565, 983249, 128026, 0, 65708,
65709, 5566, 69803, 65704, 65705, 11904, 42875, 43373, 42539, 5942, 8468,
120561, 10361, 10425, 65697, 65698, 65699, 0, 66598, 0, 64664, 10647,
78702, 78703, 78690, 457, 78502, 65701, 1934, 43006, 119903, 8802, 78710,
@@ -17950,12 +17952,12 @@ static unsigned int code_hash[] = {
119570, 42239, 8536, 78740, 78324, 78726, 74432, 724, 0, 1455, 78749,
7183, 64583, 78747, 68443, 4175, 78741, 43614, 69801, 939, 0, 43520,
68613, 74569, 917958, 0, 78763, 78764, 78760, 10788, 6088, 78759, 78755,
- 190, 0, 12593, 0, 8188, 64408, 0, 4417, 983211, 92261, 6370, 0, 7827,
+ 190, 0, 12593, 0, 8188, 64408, 0, 4417, 983212, 92261, 6370, 0, 7827,
68441, 6965, 0, 0, 13201, 128205, 69896, 0, 74382, 73781, 7918, 73988, 0,
- 0, 917884, 1728, 0, 43764, 178, 12972, 92679, 0, 917887, 92563, 983373,
+ 0, 917884, 1728, 0, 43764, 178, 12972, 92679, 0, 917887, 92563, 983374,
0, 78327, 120405, 65690, 0, 0, 119054, 0, 9252, 917889, 4652, 68371, 0,
0, 0, 13065, 9923, 10806, 0, 11763, 70016, 120688, 6723, 78187, 0, 6993,
- 0, 0, 8333, 0, 0, 11390, 0, 74464, 0, 92320, 74080, 983307, 69911, 11910,
+ 0, 0, 8333, 0, 0, 11390, 0, 74464, 0, 92320, 74080, 983308, 69911, 11910,
92559, 8278, 8963, 4034, 128560, 0, 65344, 120517, 41747, 0, 0, 8677, 0,
12707, 9350, 66037, 128180, 8836, 12315, 12747, 8300, 983741, 0, 7491,
8856, 71361, 0, 43150, 127768, 120404, 65389, 120402, 120403, 10813,
@@ -17982,27 +17984,27 @@ static unsigned int code_hash[] = {
116, 12998, 122, 121, 120, 111, 110, 109, 108, 115, 114, 113, 112, 103,
102, 101, 100, 107, 106, 105, 104, 6436, 73974, 534, 41212, 77931, 1536,
64093, 73970, 77930, 127157, 0, 6020, 12716, 127112, 12744, 475, 120394,
- 13266, 127813, 127111, 0, 73926, 0, 10645, 1212, 6543, 983299, 8134,
+ 13266, 127813, 127111, 0, 73926, 0, 10645, 1212, 6543, 983300, 8134,
128028, 2913, 73870, 127113, 1866, 0, 195095, 0, 8923, 1645, 12059,
66585, 71297, 3196, 0, 0, 5935, 1250, 127066, 8174, 9787, 6733, 9859,
7916, 9861, 9860, 5258, 1882, 1892, 6731, 10882, 405, 11454, 73911, 0,
128781, 41169, 8939, 41245, 0, 41170, 1454, 11369, 6477, 12157, 0, 0, 0,
- 41172, 7855, 0, 0, 10480, 0, 0, 77936, 8264, 12610, 983300, 645, 126616,
+ 41172, 7855, 0, 0, 10480, 0, 0, 77936, 8264, 12610, 983301, 645, 126616,
7609, 40973, 69943, 73833, 69948, 5824, 984, 77918, 10688, 5851, 0, 7729,
73982, 120518, 0, 195086, 43369, 0, 128140, 68415, 983093, 4538, 120406,
- 43141, 0, 983208, 74214, 73886, 0, 0, 118902, 43005, 78448, 9552, 0, 0,
+ 43141, 0, 983209, 74214, 73886, 0, 0, 118902, 43005, 78448, 9552, 0, 0,
983159, 12997, 0, 0, 0, 0, 2381, 12883, 10994, 10529, 41906, 0, 0, 0,
12425, 10661, 10856, 9614, 2428, 41478, 8582, 10064, 73930, 0, 0, 0,
- 64896, 119162, 1952, 92181, 8455, 10082, 11575, 983482, 119566, 0, 12808,
+ 64896, 119162, 1952, 92181, 8455, 10082, 11575, 983483, 119566, 0, 12808,
12183, 6145, 118955, 64929, 92433, 0, 983193, 43186, 42509, 0, 3922,
9187, 983614, 0, 10191, 119057, 11752, 3353, 9358, 0, 71366, 66680,
- 120090, 8248, 7931, 8558, 9795, 68380, 983289, 0, 120082, 120081, 120084,
+ 120090, 8248, 7931, 8558, 9795, 68380, 983290, 0, 120082, 120081, 120084,
41027, 120086, 0, 120088, 7366, 7019, 120073, 0, 11751, 120078, 78294,
64657, 8657, 120048, 8594, 120068, 0, 0, 120069, 120072, 120071, 0, 0,
43154, 41029, 0, 11332, 65380, 7728, 94077, 11294, 0, 66665, 7851, 0,
8375, 8699, 0, 42524, 0, 9085, 94041, 7504, 9327, 6160, 128095, 983855,
0, 8088, 0, 74012, 92500, 0, 4439, 6926, 983047, 12924, 128227, 42369,
- 4350, 65491, 65145, 9041, 43559, 64577, 10826, 0, 11296, 983275, 0, 0,
+ 4350, 65491, 65145, 9041, 43559, 64577, 10826, 0, 11296, 983276, 0, 0,
65825, 9577, 68199, 0, 64670, 983121, 78056, 6793, 11295, 0, 78053,
73872, 0, 0, 10902, 0, 0, 78070, 78068, 10472, 2995, 0, 0, 64682, 2371,
78069, 120808, 259, 1009, 92171, 2402, 2333, 6440, 194741, 0, 65125,
@@ -18016,13 +18018,13 @@ static unsigned int code_hash[] = {
11772, 13041, 5928, 4525, 10658, 65911, 1266, 10180, 0, 128584, 12622, 0,
0, 0, 194714, 127139, 13310, 773, 19933, 1539, 0, 126983, 42731, 67972,
0, 0, 0, 3051, 5862, 7823, 92478, 0, 120411, 3250, 43991, 69687, 66649,
- 9510, 66237, 983294, 0, 41066, 64673, 917963, 917964, 0, 3505, 8707,
+ 9510, 66237, 983295, 0, 41066, 64673, 917963, 917964, 0, 3505, 8707,
917968, 6725, 128013, 917971, 92314, 3471, 917970, 5479, 882, 6686,
- 119584, 11613, 120772, 42754, 0, 983298, 92696, 0, 0, 0, 128523, 3225,
+ 119584, 11613, 120772, 42754, 0, 983299, 92696, 0, 0, 0, 128523, 3225,
917996, 4433, 41156, 43973, 43173, 1443, 4381, 0, 0, 10926, 11756, 11757,
64879, 917949, 917950, 127848, 13227, 0, 10021, 5160, 1387, 0, 917953,
41418, 0, 65914, 6721, 217, 917955, 917960, 917961, 10443, 10789, 41158,
- 119257, 4274, 983292, 41483, 0, 41250, 0, 42179, 0, 5931, 11744, 69232,
+ 119257, 4274, 983293, 41483, 0, 41250, 0, 42179, 0, 5931, 11744, 69232,
0, 41252, 66682, 0, 119637, 41249, 1366, 64635, 65047, 12466, 0, 0, 4397,
128037, 128336, 41296, 9545, 41291, 128049, 0, 41485, 3511, 41282, 5923,
10400, 0, 128818, 760, 0, 12088, 5786, 0, 42256, 119869, 119860, 417,
@@ -18032,7 +18034,7 @@ static unsigned int code_hash[] = {
119576, 0, 0, 1375, 66705, 43573, 65260, 42063, 0, 42811, 10312, 69845,
120794, 7840, 0, 43630, 10252, 0, 128104, 43185, 0, 4396, 0, 119880,
10769, 9676, 119041, 0, 9753, 0, 8944, 0, 0, 10473, 0, 0, 6072, 43025,
- 10299, 0, 0, 120608, 66326, 983439, 127794, 0, 43811, 9330, 120596, 7222,
+ 10299, 0, 0, 120608, 66326, 983440, 127794, 0, 43811, 9330, 120596, 7222,
10283, 10315, 10379, 4996, 983773, 13281, 66517, 7865, 10087, 78343, 0,
78347, 0, 0, 7565, 66363, 12952, 64806, 43180, 77928, 7414, 77929, 43982,
74288, 622, 74023, 885, 43405, 1602, 0, 0, 852, 0, 12160, 0, 10212,
@@ -18063,7 +18065,7 @@ static unsigned int code_hash[] = {
7830, 11651, 13093, 64002, 0, 65742, 12874, 119597, 11590, 0, 74048,
128350, 8595, 0, 917947, 43703, 13097, 0, 64643, 13283, 12697, 0, 12381,
3488, 5933, 10033, 73738, 66241, 65570, 0, 12297, 119153, 1955, 0, 5349,
- 42538, 0, 0, 7411, 9462, 917554, 0, 0, 0, 42736, 0, 5756, 983219, 7638,
+ 42538, 0, 0, 7411, 9462, 917554, 0, 0, 0, 42736, 0, 5756, 983220, 7638,
41642, 42764, 0, 43109, 7637, 5752, 74037, 0, 73832, 128827, 120635,
128231, 78334, 0, 7636, 65171, 9124, 0, 78892, 120798, 291, 0, 0, 2027,
66230, 10080, 78136, 10403, 0, 4640, 64713, 10224, 120429, 42512, 120431,
@@ -18110,14 +18112,14 @@ static unsigned int code_hash[] = {
0, 4916, 0, 380, 10958, 66563, 77955, 69773, 9773, 13167, 12918, 41096,
73980, 69245, 78254, 917893, 10684, 0, 917896, 0, 7946, 12541, 8182,
67586, 69780, 0, 0, 0, 0, 9005, 1225, 6630, 0, 0, 0, 68011, 8847, 0,
- 65876, 5535, 8329, 74590, 983206, 92609, 0, 0, 3127, 2595, 65713, 42013,
+ 65876, 5535, 8329, 74590, 983207, 92609, 0, 0, 3127, 2595, 65713, 42013,
983849, 5607, 41089, 0, 0, 74256, 2665, 11304, 43751, 74200, 4970, 8764,
120459, 8934, 92726, 41566, 4492, 0, 65011, 41090, 0, 0, 1188, 7254,
1100, 0, 128301, 41081, 2912, 11749, 69792, 0, 68019, 3572, 10023, 4959,
- 13079, 0, 983268, 9729, 0, 0, 0, 43361, 0, 0, 11803, 7996, 9907, 41450,
- 13304, 128290, 127260, 41451, 0, 11095, 8273, 127533, 3451, 983301, 972,
- 41453, 983434, 0, 73883, 68022, 73945, 983726, 2288, 19955, 9538, 0,
- 69807, 0, 0, 0, 0, 11396, 983432, 11019, 0, 0, 0, 68020, 41078, 71365,
+ 13079, 0, 983269, 9729, 0, 0, 0, 43361, 0, 0, 11803, 7996, 9907, 41450,
+ 13304, 128290, 127260, 41451, 0, 11095, 8273, 127533, 3451, 983302, 972,
+ 41453, 983435, 0, 73883, 68022, 73945, 983726, 2288, 19955, 9538, 0,
+ 69807, 0, 0, 0, 0, 11396, 983433, 11019, 0, 0, 0, 68020, 41078, 71365,
261, 5927, 7791, 0, 7362, 0, 10696, 0, 6073, 9838, 118920, 0, 6075,
93995, 282, 126510, 6437, 74078, 128000, 9801, 0, 74177, 0, 0, 3474,
118787, 0, 120655, 6081, 0, 78874, 74076, 78879, 0, 0, 0, 0, 0, 8751,
@@ -18138,7 +18140,7 @@ static unsigned int code_hash[] = {
4564, 0, 0, 74271, 73753, 8374, 983156, 0, 6829, 5225, 128807, 127385, 0,
0, 119615, 0, 74793, 5626, 73807, 11771, 74075, 127236, 128019, 42614,
5353, 5625, 74179, 0, 0, 1010, 64572, 41780, 42623, 64277, 69942, 6952,
- 983264, 120752, 78762, 2590, 5629, 65552, 7551, 10325, 5632, 10471,
+ 983265, 120752, 78762, 2590, 5629, 65552, 7551, 10325, 5632, 10471,
120038, 120027, 120028, 120025, 5628, 120031, 970, 120029, 4772, 2400,
5627, 120017, 120018, 120023, 64275, 120021, 8786, 0, 203, 0, 0, 0, 0,
78350, 0, 64378, 42054, 0, 0, 554, 119649, 11358, 0, 12182, 42048, 11065,
@@ -18175,10 +18177,10 @@ static unsigned int code_hash[] = {
612, 0, 64401, 66448, 68376, 0, 1674, 0, 5823, 983163, 12280, 0, 540,
74564, 119017, 0, 8432, 0, 11073, 0, 64316, 0, 0, 820, 41741, 0, 120667,
0, 64684, 126992, 3359, 7800, 69934, 65177, 6226, 353, 12396, 0, 119612,
- 64742, 128682, 120282, 0, 983442, 12412, 19941, 0, 120277, 78847, 1884,
+ 64742, 128682, 120282, 0, 983443, 12412, 19941, 0, 120277, 78847, 1884,
9481, 42418, 70059, 41157, 0, 1195, 64898, 7924, 0, 41151, 2010, 0,
41328, 42344, 0, 12409, 0, 4360, 127009, 9739, 128550, 69933, 73921, 0,
- 42521, 8539, 983716, 0, 118986, 0, 4788, 0, 68023, 65734, 983447, 43790,
+ 42521, 8539, 983716, 0, 118986, 0, 4788, 0, 68023, 65734, 983448, 43790,
0, 13075, 74429, 94063, 64569, 43532, 10837, 2492, 127197, 118901, 68637,
41136, 43785, 11813, 9649, 41154, 119617, 5128, 4038, 41143, 65604,
64859, 41592, 6771, 1648, 5435, 917837, 6734, 41343, 119848, 65439,
@@ -18214,7 +18216,7 @@ static unsigned int code_hash[] = {
41461, 128823, 0, 127912, 0, 8819, 12663, 0, 41184, 74014, 232, 74835,
120646, 9168, 65786, 0, 0, 0, 9094, 0, 11758, 68425, 0, 1064, 42467,
128044, 10115, 19924, 92711, 0, 7862, 64551, 13224, 8516, 41862, 66650,
- 7561, 78618, 69793, 1878, 0, 983261, 2911, 0, 41178, 5427, 64823, 0, 0,
+ 7561, 78618, 69793, 1878, 0, 983262, 2911, 0, 41178, 5427, 64823, 0, 0,
3787, 41174, 0, 41458, 0, 41463, 42413, 11292, 2406, 775, 0, 65584,
69923, 6074, 9618, 128668, 983943, 43440, 0, 194901, 41436, 3656, 0,
120600, 41456, 0, 1599, 11333, 0, 6703, 8513, 0, 1613, 0, 68456, 12598,
@@ -18236,7 +18238,7 @@ static unsigned int code_hash[] = {
41287, 92610, 0, 0, 42219, 128257, 0, 41987, 41676, 983059, 120823,
983144, 41670, 0, 92590, 2796, 55291, 11683, 9902, 74521, 67988, 11451,
983111, 128822, 42631, 2359, 0, 67844, 74164, 41238, 548, 11405, 13133,
- 64368, 983233, 128795, 0, 397, 43622, 42139, 9547, 9590, 128238, 1614,
+ 64368, 983234, 128795, 0, 397, 43622, 42139, 9547, 9590, 128238, 1614,
43661, 64356, 66307, 6651, 1358, 0, 428, 9620, 1466, 78112, 10982,
118831, 1333, 7104, 407, 6425, 128834, 74253, 0, 0, 0, 5804, 11976, 8554,
92721, 0, 0, 9057, 42294, 41218, 0, 0, 78137, 1883, 10952, 8048, 78142,
@@ -18250,7 +18252,7 @@ static unsigned int code_hash[] = {
66315, 2106, 120222, 11273, 0, 43004, 7541, 0, 0, 961, 64307, 66324,
64906, 128591, 3106, 65917, 41284, 1696, 0, 891, 12105, 0, 42624, 12802,
3264, 8824, 13268, 43003, 10936, 0, 0, 0, 194826, 92688, 0, 2322, 120371,
- 983584, 11449, 128187, 42868, 41285, 3547, 0, 0, 128793, 983390, 43216,
+ 983584, 11449, 128187, 42868, 41285, 3547, 0, 0, 128793, 983391, 43216,
6089, 78682, 0, 120578, 4170, 1029, 127761, 127036, 119224, 42374, 0,
744, 0, 0, 0, 65823, 127826, 0, 3551, 0, 0, 4623, 55268, 0, 4598, 983162,
65136, 127136, 0, 0, 10851, 0, 6179, 92602, 6180, 0, 11952, 120778,
@@ -18277,8 +18279,8 @@ static unsigned int code_hash[] = {
6352, 41892, 0, 7555, 13103, 5408, 2817, 1214, 69919, 92335, 983125, 0,
0, 0, 127195, 7957, 8689, 64723, 1056, 42896, 74147, 194813, 0, 55286,
7073, 65850, 12327, 983939, 119028, 0, 0, 0, 2341, 8450, 8484, 8474,
- 983252, 0, 70079, 8461, 128102, 12153, 12799, 0, 43709, 43708, 9451,
- 7571, 13073, 0, 0, 681, 983246, 703, 0, 3272, 8781, 12894, 70077, 11709,
+ 983253, 0, 70079, 8461, 128102, 12153, 12799, 0, 43709, 43708, 9451,
+ 7571, 13073, 0, 0, 681, 983247, 703, 0, 3272, 8781, 12894, 70077, 11709,
92288, 74446, 0, 92532, 0, 11338, 120768, 3276, 0, 0, 65928, 0, 0, 65021,
64795, 74574, 0, 10047, 78814, 3262, 78811, 42711, 0, 0, 68478, 163, 576,
9895, 1655, 78817, 74591, 78815, 78816, 983122, 0, 0, 0, 10039, 0,
@@ -18288,7 +18290,7 @@ static unsigned int code_hash[] = {
0, 71362, 4619, 118954, 6654, 73769, 74426, 0, 12040, 65689, 10128,
65118, 0, 119151, 74205, 92651, 0, 2401, 68144, 8792, 983639, 0, 65455,
0, 92246, 0, 119129, 0, 12886, 127920, 66624, 0, 43557, 10300, 10161,
- 10396, 74135, 983445, 118945, 78118, 73851, 3010, 6441, 78122, 1458,
+ 10396, 74135, 983446, 118945, 78118, 73851, 3010, 6441, 78122, 1458,
41475, 128672, 93975, 0, 11479, 0, 120356, 6350, 12864, 69674, 78114,
1061, 64780, 2001, 43111, 55230, 128686, 4052, 0, 7626, 0, 0, 1045, 0,
5631, 41113, 0, 0, 43707, 74127, 0, 0, 8486, 0, 73758, 2335, 4362,
@@ -18304,8 +18306,8 @@ static unsigned int code_hash[] = {
92245, 440, 0, 13085, 9233, 74216, 0, 0, 9957, 128285, 66447, 8046,
64963, 65777, 10125, 74212, 42819, 10910, 0, 1521, 9896, 93965, 10487,
69878, 12527, 0, 7970, 0, 128660, 0, 65769, 5243, 9849, 5239, 65771,
- 983229, 0, 5237, 69714, 0, 10103, 5247, 4769, 0, 118977, 12873, 2283,
- 983231, 0, 3008, 4896, 0, 12087, 0, 55231, 41103, 0, 64565, 4773, 0,
+ 983230, 0, 5237, 69714, 0, 10103, 5247, 4769, 0, 118977, 12873, 2283,
+ 983232, 0, 3008, 4896, 0, 12087, 0, 55231, 41103, 0, 64565, 4773, 0,
92717, 70074, 4770, 0, 917567, 8731, 65378, 127362, 120619, 9122, 128033,
126600, 4774, 3019, 9997, 12834, 0, 9456, 10215, 120547, 0, 0, 0, 0,
74776, 4281, 4768, 0, 41535, 4099, 9017, 0, 0, 78095, 0, 78096, 0, 0, 0,
@@ -18333,7 +18335,7 @@ static unsigned int code_hash[] = {
41521, 118934, 494, 13250, 0, 65098, 6364, 956, 0, 12830, 10462, 73740,
73734, 0, 0, 0, 66449, 13263, 74281, 69217, 13171, 127796, 0, 0, 92294,
0, 1044, 41276, 0, 0, 0, 42068, 11795, 0, 0, 0, 0, 42450, 3907, 0, 64526,
- 11829, 68197, 12295, 0, 11475, 0, 3020, 11537, 0, 66441, 983446, 7098, 0,
+ 11829, 68197, 12295, 0, 11475, 0, 3020, 11537, 0, 66441, 983447, 7098, 0,
0, 1057, 566, 42696, 0, 3016, 42274, 43464, 66490, 12921, 66571, 78472,
92510, 3006, 4620, 127237, 983578, 0, 0, 64659, 0, 127749, 55253, 6357,
6362, 8626, 71337, 2216, 9090, 65377, 41596, 0, 42920, 1698, 0, 64477, 0,
@@ -18364,9 +18366,9 @@ static unsigned int code_hash[] = {
42249, 7639, 43995, 67845, 42641, 5454, 0, 0, 194997, 120005, 0, 983957,
5084, 0, 0, 118861, 0, 733, 917876, 78014, 78436, 78435, 41677, 0, 9218,
1731, 0, 983737, 0, 67990, 0, 0, 0, 120001, 127018, 92492, 5155, 120000,
- 5358, 983735, 0, 917767, 64424, 983225, 3840, 64314, 41432, 0, 78315,
+ 5358, 983735, 0, 917767, 64424, 983226, 3840, 64314, 41432, 0, 78315,
68430, 67980, 43253, 65943, 0, 3371, 10988, 0, 8771, 1479, 0, 0, 1109,
- 11580, 0, 64601, 12205, 0, 0, 64507, 8868, 399, 67978, 74842, 983276,
+ 11580, 0, 64601, 12205, 0, 0, 64507, 8868, 399, 67978, 74842, 983277,
983712, 12149, 13088, 551, 0, 10156, 12119, 92572, 0, 2544, 65074,
119211, 0, 0, 78011, 351, 119149, 0, 0, 55229, 0, 74268, 0, 0, 0, 42377,
0, 0, 0, 983915, 0, 9013, 4054, 0, 983570, 0, 0, 73960, 5585, 65881,
@@ -18439,33 +18441,33 @@ static unsigned int code_hash[] = {
0, 43435, 0, 0, 4993, 0, 6168, 10934, 1946, 741, 0, 5494, 4639, 983147,
1990, 66589, 4498, 78664, 119183, 0, 0, 69734, 2960, 73779, 0, 8969,
128117, 43424, 127059, 0, 2950, 119579, 6210, 65753, 370, 0, 0, 0, 4953,
- 983673, 0, 0, 0, 69230, 0, 0, 65688, 983240, 5063, 3517, 2964, 43663,
+ 983673, 0, 0, 0, 69230, 0, 0, 65688, 983241, 5063, 3517, 2964, 43663,
917762, 6344, 74791, 10566, 10144, 66333, 8252, 729, 66016, 78253, 0,
71317, 64923, 128040, 43669, 9032, 78263, 78264, 0, 41215, 0, 65883, 0,
917774, 120602, 3761, 0, 0, 70068, 0, 12912, 119012, 3850, 128191, 0, 0,
0, 0, 908, 0, 8611, 0, 0, 127555, 43691, 41197, 0, 8978, 120540, 119135,
41586, 10527, 0, 917848, 3848, 78739, 194937, 127536, 65241, 5336,
- 983251, 128786, 663, 0, 10780, 0, 0, 78767, 983249, 127163, 68193, 347,
+ 983252, 128786, 663, 0, 10780, 0, 0, 78767, 983250, 127163, 68193, 347,
0, 0, 78775, 64675, 41582, 78774, 78744, 65579, 12980, 78769, 12143,
69657, 78512, 0, 43441, 41804, 78523, 0, 78525, 0, 128859, 41584, 10681,
0, 983686, 73938, 0, 128022, 4800, 66661, 0, 66306, 64715, 78534, 9518,
- 6609, 10434, 0, 11319, 1097, 0, 917850, 41730, 983212, 0, 73847, 78761,
+ 6609, 10434, 0, 11319, 1097, 0, 917850, 41730, 983213, 0, 73847, 78761,
65172, 41728, 41721, 0, 0, 0, 41203, 917612, 13110, 41726, 983846, 0,
1000, 69651, 0, 41140, 1209, 73978, 0, 73750, 1073, 6321, 77878, 41138,
0, 68213, 0, 12167, 1115, 41605, 9794, 127062, 67671, 55248, 12237,
78787, 66314, 6587, 9290, 78782, 78783, 9231, 78781, 2959, 7926, 0, 0, 0,
64398, 0, 119970, 12311, 983718, 78796, 78798, 78794, 78795, 68434,
78793, 66670, 0, 0, 12290, 120169, 0, 119873, 42142, 9968, 8205, 0, 5131,
- 0, 9627, 78536, 78542, 78535, 983210, 1944, 1248, 10148, 127755, 119990,
+ 0, 9627, 78536, 78542, 78535, 983211, 1944, 1248, 10148, 127755, 119990,
119991, 12701, 78376, 11308, 119995, 0, 119997, 119998, 65305, 65100,
4031, 42794, 120003, 7075, 8154, 119985, 120007, 41817, 73934, 42275,
120011, 120012, 78526, 120014, 120015, 6041, 0, 41899, 0, 8002, 0, 4364,
0, 0, 64332, 0, 7813, 9064, 119986, 10124, 7526, 8601, 7281, 78455, 7279,
- 12041, 1418, 10885, 12673, 0, 0, 9660, 983272, 13012, 4571, 0, 0, 120164,
+ 12041, 1418, 10885, 12673, 0, 0, 9660, 983273, 13012, 4571, 0, 0, 120164,
12078, 2970, 0, 10933, 0, 77870, 0, 127015, 0, 41599, 0, 128831, 0,
12950, 92160, 3486, 0, 78311, 4239, 0, 127799, 66511, 0, 2637, 64629,
8460, 127053, 8476, 983966, 0, 0, 0, 65673, 1019, 78495, 4148, 0, 12289,
- 0, 4316, 0, 13119, 8488, 5412, 66243, 9935, 0, 73864, 983201, 41734,
+ 0, 4316, 0, 13119, 8488, 5412, 66243, 9935, 0, 73864, 983202, 41734,
8206, 74081, 9163, 3286, 9072, 5867, 13302, 7622, 7120, 41736, 92546,
41731, 0, 7400, 5416, 68663, 118924, 10817, 0, 41539, 127284, 0, 73963,
41855, 41867, 65564, 11277, 65892, 11536, 10620, 92272, 7115, 66030,
@@ -18473,8 +18475,8 @@ static unsigned int code_hash[] = {
92512, 0, 66377, 69781, 0, 983690, 78511, 3161, 295, 120207, 0, 92223,
127856, 78742, 9016, 43454, 63903, 63902, 43641, 0, 3971, 0, 70063, 2952,
78765, 11038, 10901, 63900, 63899, 63898, 94043, 667, 12332, 63887, 6086,
- 41722, 0, 5172, 0, 0, 4159, 0, 0, 9815, 63884, 19934, 63882, 41198, 8555,
- 63878, 63877, 42460, 6050, 42708, 63881, 63872, 0, 42421, 0, 41723,
+ 41722, 0, 5172, 0, 983271, 4159, 0, 0, 9815, 63884, 19934, 63882, 41198,
+ 8555, 63878, 63877, 42460, 6050, 42708, 63881, 63872, 0, 42421, 0, 41723,
63875, 63874, 11460, 7432, 1913, 41913, 63852, 126636, 0, 42348, 73892,
6752, 446, 41911, 127906, 63851, 63850, 41910, 0, 63846, 2972, 12932,
7262, 0, 63849, 63848, 63847, 128070, 6570, 8302, 7259, 63842, 4178,
@@ -18515,7 +18517,7 @@ static unsigned int code_hash[] = {
0, 10515, 41589, 128698, 0, 6218, 0, 1430, 0, 0, 120606, 78754, 5413,
7619, 3255, 3493, 74032, 11549, 10735, 41743, 73937, 6801, 983624, 4518,
10990, 65073, 5167, 4481, 3771, 120158, 2710, 0, 69243, 41724, 0, 43073,
- 41690, 12479, 983626, 0, 0, 983809, 70046, 1628, 127149, 983479, 983722,
+ 41690, 12479, 983626, 0, 0, 983809, 70046, 1628, 127149, 983480, 983722,
65262, 6333, 10783, 42315, 0, 63855, 94056, 0, 0, 5339, 74323, 0, 13004,
0, 4457, 0, 0, 0, 0, 5684, 8678, 10914, 0, 5689, 65807, 0, 68464, 12633,
12870, 69705, 65183, 5688, 11926, 6033, 6310, 5686, 0, 74251, 0, 120647,
@@ -18542,7 +18544,7 @@ static unsigned int code_hash[] = {
73859, 65904, 7363, 1686, 0, 78406, 11467, 3664, 65921, 64299, 194664, 0,
0, 4324, 126, 42246, 119152, 0, 74378, 65926, 7744, 194636, 74277, 74302,
78052, 43817, 6966, 43822, 8136, 0, 65600, 1633, 0, 0, 4762, 1103, 0, 0,
- 4765, 983484, 13078, 0, 4760, 63827, 2050, 10871, 43199, 1102, 0, 42236,
+ 4765, 983485, 13078, 0, 4760, 63827, 2050, 10871, 43199, 1102, 0, 42236,
128867, 194667, 11546, 74794, 337, 0, 42591, 8627, 12279, 1111, 0, 92161,
4707, 68206, 10143, 7883, 127081, 7880, 4522, 8645, 5704, 13010, 0, 8304,
917561, 0, 119575, 2293, 0, 66654, 0, 92676, 0, 13008, 0, 4385, 0, 13011,
@@ -18566,7 +18568,7 @@ static unsigned int code_hash[] = {
1349, 63750, 63749, 0, 0, 0, 63753, 63802, 41084, 120622, 68133, 41930,
63805, 63804, 43632, 63801, 41082, 8140, 63798, 6260, 0, 0, 94074, 63793,
11988, 3898, 128241, 10201, 12238, 63795, 42194, 10367, 12521, 10431,
- 42114, 41932, 1068, 0, 12523, 12945, 983321, 42203, 7950, 10804, 63771,
+ 42114, 41932, 1068, 0, 12523, 12945, 983322, 42203, 7950, 10804, 63771,
42787, 4386, 12224, 6973, 2793, 12475, 0, 0, 63769, 9530, 983119, 12232,
13135, 8596, 5681, 63762, 4595, 63760, 792, 0, 64803, 0, 8742, 0, 11053,
128796, 63744, 128107, 0, 7588, 63748, 1693, 63746, 43204, 5055, 68426,
@@ -18595,7 +18597,7 @@ static unsigned int code_hash[] = {
65835, 0, 2365, 7841, 0, 42855, 118856, 42866, 0, 0, 0, 66438, 41785,
12617, 64172, 13173, 4372, 119354, 0, 983568, 0, 0, 92402, 128062, 12965,
384, 64512, 10404, 10340, 119352, 1556, 5274, 13210, 120125, 10017, 9733,
- 41787, 983237, 126994, 41373, 78039, 12303, 0, 13232, 13233, 349, 4863,
+ 41787, 983238, 126994, 41373, 78039, 12303, 0, 13232, 13233, 349, 4863,
41371, 11656, 0, 120703, 119883, 12861, 4398, 8543, 65618, 128018, 1096,
0, 0, 42688, 12441, 12355, 119348, 119347, 4318, 10452, 0, 8032, 13243,
13237, 12719, 126646, 119101, 0, 64884, 119872, 119345, 8597, 0, 0, 9864,
@@ -18623,7 +18625,7 @@ static unsigned int code_hash[] = {
5841, 5837, 55234, 0, 3105, 12829, 5838, 5796, 0, 119592, 5793, 0, 5866,
5797, 41011, 5865, 120091, 7956, 598, 0, 64649, 5806, 42398, 0, 9037,
5671, 120041, 0, 0, 0, 128855, 0, 847, 128242, 9529, 0, 66657, 6980,
- 78483, 120035, 78484, 983483, 0, 120033, 78486, 0, 0, 120039, 42683, 0,
+ 78483, 120035, 78484, 983484, 0, 120033, 78486, 0, 0, 120039, 42683, 0,
983055, 7114, 0, 0, 43190, 65463, 1554, 0, 42611, 42563, 0, 5651, 2929,
6792, 43201, 0, 19963, 5698, 0, 0, 0, 0, 5644, 10292, 65546, 69727,
68141, 8372, 0, 65116, 0, 120022, 10175, 10388, 42799, 94100, 41013,
@@ -18631,7 +18633,7 @@ static unsigned int code_hash[] = {
42608, 78469, 9884, 4759, 0, 0, 10266, 41359, 1170, 43365, 69810, 73908,
1609, 902, 0, 63936, 128875, 11661, 8122, 5818, 0, 0, 3861, 9540, 11028,
2554, 5158, 5714, 2213, 0, 0, 807, 43079, 0, 78475, 976, 5511, 64553, 0,
- 42155, 0, 41356, 74110, 118801, 126614, 0, 8676, 983283, 0, 5582, 451,
+ 42155, 0, 41356, 74110, 118801, 126614, 0, 8676, 983284, 0, 5582, 451,
63941, 5798, 9349, 42018, 127858, 0, 0, 43609, 5906, 120553, 1440, 0,
128853, 120016, 74283, 11005, 0, 66656, 66044, 0, 194698, 0, 0, 43393,
10094, 0, 11529, 10857, 120643, 66436, 6546, 93, 8102, 0, 68405, 0, 0,
@@ -18665,7 +18667,7 @@ static unsigned int code_hash[] = {
0, 1862, 65800, 9155, 66623, 9786, 65082, 41919, 8579, 41914, 7981, 0,
66017, 4508, 64883, 92456, 92522, 127814, 0, 64592, 74276, 120080, 6784,
78788, 68181, 0, 0, 0, 127534, 12147, 9024, 66378, 66472, 983920, 64289,
- 65289, 78151, 66658, 194929, 64509, 78152, 0, 126505, 11051, 983288, 0,
+ 65289, 78151, 66658, 194929, 64509, 78152, 0, 126505, 11051, 983289, 0,
11355, 65885, 0, 128310, 41214, 0, 12299, 0, 7500, 4506, 7773, 0, 0,
9963, 68649, 126609, 4040, 120570, 6167, 0, 63922, 6594, 983731, 0, 0,
3624, 43036, 0, 6387, 63990, 19947, 63988, 41955, 0, 63993, 10440, 9611,
@@ -18680,7 +18682,7 @@ static unsigned int code_hash[] = {
119625, 42922, 42103, 8628, 9813, 0, 42453, 1604, 9565, 10539, 69701,
65764, 41415, 65767, 0, 8457, 42301, 11372, 64873, 11992, 0, 0, 63980,
11801, 3622, 983124, 64336, 12017, 10463, 63981, 4967, 64189, 1966,
- 43628, 0, 983284, 0, 0, 63971, 4347, 4416, 42098, 11009, 10694, 63973,
+ 43628, 0, 983285, 0, 0, 63971, 4347, 4416, 42098, 11009, 10694, 63973,
402, 0, 13147, 128692, 42100, 64646, 13228, 0, 41875, 3515, 74252, 11805,
0, 11302, 6259, 43395, 0, 0, 194670, 0, 92351, 0, 74425, 11299, 1561, 0,
92359, 64942, 983559, 194733, 983677, 194732, 0, 74301, 0, 11280, 0,
@@ -18691,7 +18693,7 @@ static unsigned int code_hash[] = {
3355, 9508, 9867, 5723, 11520, 5611, 0, 3377, 0, 0, 0, 0, 78228, 0,
983753, 42691, 917886, 127198, 74767, 0, 127075, 1379, 246, 0, 983752,
3788, 983106, 11041, 92549, 66304, 0, 0, 8917, 42403, 301, 0, 0, 0, 0, 0,
- 983688, 10656, 0, 65214, 119242, 42567, 92217, 13163, 983202, 120831,
+ 983688, 10656, 0, 65214, 119242, 42567, 92217, 13163, 983203, 120831,
74597, 3182, 0, 0, 0, 65034, 65889, 42169, 4755, 74244, 194621, 11443, 0,
66319, 74598, 608, 600, 0, 1219, 3934, 64206, 11483, 74510, 0, 74485,
42442, 65470, 983898, 64202, 13160, 7759, 42482, 485, 128006, 0, 9828, 0,
@@ -18703,14 +18705,14 @@ static unsigned int code_hash[] = {
0, 194675, 1406, 0, 0, 92659, 0, 68223, 4143, 194677, 0, 65748, 4141,
9682, 65287, 1508, 127013, 8779, 10569, 8725, 13299, 66638, 65750, 42263,
4145, 6380, 65751, 66613, 43994, 65738, 55250, 9185, 9550, 0, 43403, 0,
- 0, 0, 65736, 41951, 64816, 65756, 983203, 12955, 10596, 2888, 194645, 0,
+ 0, 0, 65736, 41951, 64816, 65756, 983204, 12955, 10596, 2888, 194645, 0,
0, 9657, 9019, 194766, 0, 2878, 5390, 0, 194961, 0, 68679, 43552, 7501,
6328, 0, 10429, 10365, 0, 0, 41946, 7503, 5235, 803, 68381, 0, 0, 8986,
126542, 10632, 11934, 11452, 1332, 0, 0, 126647, 0, 118887, 1791, 5191,
9288, 64822, 2892, 0, 43394, 555, 0, 0, 66646, 0, 119002, 13151, 74512,
7289, 74055, 64161, 8854, 64162, 5858, 41927, 10582, 0, 1784, 1361,
195047, 0, 7905, 0, 64868, 128813, 13158, 92166, 7211, 0, 9371, 73973,
- 917553, 6828, 1625, 92302, 0, 1342, 68440, 64171, 126704, 10903, 983486,
+ 917553, 6828, 1625, 92302, 0, 1342, 68440, 64171, 126704, 10903, 983487,
0, 0, 0, 0, 4482, 41606, 0, 128569, 983112, 0, 64381, 0, 0, 195090,
42245, 126467, 41972, 0, 444, 0, 9127, 66687, 66619, 126489, 78025, 0,
11349, 40991, 917570, 0, 119599, 120830, 0, 1197, 128282, 1149, 194970,
@@ -18736,10 +18738,10 @@ static unsigned int code_hash[] = {
4731, 0, 66629, 0, 0, 1255, 4149, 9247, 0, 9913, 0, 0, 64914, 917787,
65101, 0, 11694, 92475, 11690, 5835, 127164, 66625, 10842, 41354, 42123,
43097, 11688, 66634, 1094, 194, 64692, 0, 8180, 0, 0, 9972, 73865, 4519,
- 6114, 10898, 43072, 0, 0, 93960, 983314, 126581, 10695, 0, 7540, 0, 881,
+ 6114, 10898, 43072, 0, 0, 93960, 983315, 126581, 10695, 0, 7540, 0, 881,
7857, 6067, 65164, 0, 0, 0, 13311, 68403, 41857, 64321, 8359, 0, 12689,
- 0, 194594, 0, 983304, 983872, 68183, 0, 983306, 1287, 5436, 0, 983309,
- 74142, 92328, 74152, 119078, 6051, 10497, 69668, 8985, 12109, 983315, 0,
+ 0, 194594, 0, 983305, 983872, 68183, 0, 983307, 1287, 5436, 0, 983310,
+ 74142, 92328, 74152, 119078, 6051, 10497, 69668, 8985, 12109, 983316, 0,
127242, 0, 0, 3652, 10537, 0, 1276, 120440, 6549, 279, 73745, 0, 0, 0,
1489, 0, 0, 0, 3899, 1007, 42124, 983557, 42122, 92337, 92367, 0, 11985,
1345, 78600, 0, 0, 8956, 43083, 94057, 42138, 78610, 0, 12151, 78608,
@@ -18754,14 +18756,14 @@ static unsigned int code_hash[] = {
78627, 78628, 78625, 2399, 69693, 8994, 10944, 41208, 983704, 41168,
8178, 0, 3367, 92334, 42510, 78641, 78636, 6804, 78634, 1947, 0, 0,
92681, 42759, 11068, 1705, 9331, 0, 74798, 9181, 65359, 0, 8017, 119831,
- 65096, 66720, 0, 43475, 0, 4909, 12126, 128673, 120696, 4904, 983325,
+ 65096, 66720, 0, 43475, 0, 4909, 12126, 128673, 120696, 4904, 983326,
69650, 1365, 9253, 42757, 43436, 7462, 0, 0, 0, 0, 119587, 64415, 0, 0,
5398, 0, 127386, 93953, 0, 0, 119015, 0, 0, 9476, 0, 983768, 12763,
126603, 3629, 0, 13005, 0, 3628, 0, 0, 92502, 3469, 42107, 42116, 917578,
64809, 2928, 4905, 9853, 851, 9040, 0, 64665, 43086, 9114, 0, 42583,
9315, 4822, 4906, 3852, 2847, 119821, 3236, 11317, 1251, 7777, 41852,
11410, 10964, 0, 43222, 12646, 120269, 10259, 9865, 65821, 0, 6018,
- 92290, 0, 12276, 0, 68372, 0, 92259, 119244, 0, 983224, 10467, 0, 2443,
+ 92290, 0, 12276, 0, 68372, 0, 92259, 119244, 0, 983225, 10467, 0, 2443,
10918, 78217, 119825, 1001, 9241, 1927, 0, 0, 73987, 127885, 0, 0,
118828, 120271, 65678, 12867, 0, 8260, 77945, 7519, 11505, 12274, 8904,
518, 65857, 0, 128674, 13204, 4387, 857, 0, 65369, 0, 92336, 43125,
@@ -18777,19 +18779,19 @@ static unsigned int code_hash[] = {
78698, 78697, 78696, 78695, 8710, 42495, 118956, 0, 4051, 10460, 43364,
118917, 1356, 12161, 42713, 128857, 127268, 1619, 9703, 43152, 42489,
42112, 127978, 1875, 10808, 42109, 120284, 41860, 64862, 13305, 64907,
- 5289, 13144, 128658, 0, 5575, 9675, 0, 5940, 226, 2649, 6336, 983269,
+ 5289, 13144, 128658, 0, 5575, 9675, 0, 5940, 226, 2649, 6336, 983270,
119830, 43236, 3382, 42449, 6498, 1658, 11936, 78232, 0, 11269, 10151,
73759, 43100, 69888, 65508, 0, 0, 0, 8935, 917985, 0, 0, 0, 616, 74753,
65178, 4684, 78701, 119653, 0, 126551, 0, 6048, 74460, 42110, 73965,
10870, 8557, 11054, 68664, 119049, 9681, 4475, 0, 41142, 2100, 0, 120731,
- 6035, 0, 7651, 10296, 64443, 0, 983287, 917987, 0, 118966, 74144, 40997,
+ 6035, 0, 7651, 10296, 64443, 0, 983288, 917987, 0, 118966, 74144, 40997,
0, 10392, 10328, 40998, 43462, 74488, 0, 9800, 8979, 0, 13307, 41000, 0,
119239, 6487, 3386, 0, 10344, 0, 65299, 5394, 43246, 78243, 10220, 66505,
41200, 128583, 4425, 0, 0, 0, 43074, 73799, 983200, 78147, 0, 12173,
78545, 0, 127011, 65338, 0, 0, 119582, 4474, 0, 43093, 128644, 1587, 0,
127372, 64475, 128098, 1369, 983663, 9959, 7927, 0, 4560, 0, 0, 92277, 0,
64948, 4430, 74347, 42601, 4514, 66434, 93955, 8194, 65462, 10626, 10965,
- 0, 8893, 983293, 12542, 0, 65341, 0, 65829, 7925, 119822, 10475, 0, 0,
+ 0, 8893, 983294, 12542, 0, 65341, 0, 65829, 7925, 119822, 10475, 0, 0,
1352, 11069, 7707, 127560, 126486, 65279, 127102, 68207, 127100, 7099,
6040, 127097, 10071, 0, 9336, 43750, 0, 8899, 7798, 64474, 64259, 69873,
65188, 7820, 43018, 127082, 0, 7746, 1492, 78551, 10884, 77982, 0, 5127,
@@ -18811,7 +18813,7 @@ static unsigned int code_hash[] = {
40988, 92592, 74809, 41727, 0, 42848, 2396, 917766, 0, 74018, 917538,
64940, 7027, 3886, 0, 42457, 119008, 0, 996, 68123, 94058, 4249, 0,
917594, 11707, 8222, 0, 7939, 92454, 92460, 127801, 917592, 128359, 8534,
- 127154, 40983, 0, 983234, 0, 7201, 12561, 0, 42371, 12558, 1540, 917549,
+ 127154, 40983, 0, 983235, 0, 7201, 12561, 0, 42371, 12558, 1540, 917549,
10052, 40982, 0, 0, 1488, 0, 0, 0, 917559, 0, 0, 1563, 128034, 9619,
983931, 0, 0, 127872, 71363, 5803, 7797, 6070, 10006, 0, 2922, 6082, 0,
65009, 983933, 12567, 128703, 0, 41412, 0, 0, 3607, 9200, 10046, 9612,
@@ -18822,13 +18824,13 @@ static unsigned int code_hash[] = {
12328, 501, 93985, 10601, 0, 583, 0, 41977, 0, 66004, 119350, 6505,
74010, 0, 13064, 55267, 120810, 6500, 5526, 65049, 0, 73764, 0, 92376,
12745, 9678, 0, 120587, 9869, 128815, 1771, 0, 8936, 0, 0, 4208, 78341,
- 78567, 78342, 0, 983448, 74101, 0, 11762, 0, 92422, 77997, 68010, 66475,
+ 78567, 78342, 0, 983449, 74101, 0, 11762, 0, 92422, 77997, 68010, 66475,
0, 5027, 78172, 128878, 0, 5069, 73862, 5028, 9897, 0, 73739, 5026,
- 983247, 68639, 6331, 10079, 8931, 0, 1415, 8866, 41901, 74790, 78138,
+ 983248, 68639, 6331, 10079, 8931, 0, 1415, 8866, 41901, 74790, 78138,
119361, 983564, 43106, 5029, 65309, 1580, 3598, 68424, 41070, 77903, 0,
3440, 78215, 1562, 128656, 127175, 119358, 1716, 983670, 10600, 917867,
620, 41001, 6028, 0, 42892, 0, 74822, 5024, 120829, 41003, 0, 5025,
- 69892, 983207, 0, 118885, 0, 65557, 0, 74541, 983587, 11599, 128209,
+ 69892, 983208, 0, 118885, 0, 65557, 0, 74541, 983587, 11599, 128209,
11602, 6243, 11574, 11581, 11597, 11598, 6253, 6105, 11584, 74195, 11569,
65275, 8906, 127096, 5755, 2636, 0, 10815, 11619, 2301, 41540, 7815,
11616, 6979, 12080, 7721, 11604, 7869, 1592, 0, 42152, 78498, 41048,
@@ -18943,7 +18945,7 @@ static unsigned int code_hash[] = {
120357, 845, 0, 41560, 11970, 4562, 917920, 2926, 917919, 4569, 74130, 0,
43487, 194630, 611, 74129, 64871, 118891, 65629, 0, 194858, 0, 0, 127545,
120543, 0, 0, 6291, 0, 78639, 41669, 7094, 917921, 0, 983581, 74054,
- 127754, 195029, 0, 839, 983311, 7695, 8769, 65246, 4829, 194663, 4859,
+ 127754, 195029, 0, 839, 983312, 7695, 8769, 65246, 4829, 194663, 4859,
64467, 0, 983954, 118998, 7206, 0, 6647, 43986, 0, 69766, 0, 64764, 4210,
983854, 127936, 804, 0, 0, 12298, 0, 66653, 0, 64924, 10091, 73931, 9468,
74245, 0, 0, 74246, 92503, 12839, 64669, 92202, 0, 1279, 1425, 6224,
@@ -18966,7 +18968,7 @@ static unsigned int code_hash[] = {
19936, 7833, 120691, 0, 42599, 42597, 42709, 120409, 127044, 0, 8537, 0,
0, 9354, 983164, 128833, 41199, 10121, 2028, 0, 983194, 69715, 0, 3062,
0, 74447, 12608, 0, 66440, 7545, 9700, 12580, 92205, 120777, 120502,
- 41155, 0, 74071, 0, 983449, 12713, 0, 0, 0, 78772, 0, 1734, 0, 0, 127040,
+ 41155, 0, 74071, 0, 983450, 12713, 0, 0, 0, 78772, 0, 1734, 0, 0, 127040,
64594, 2456, 231, 0, 74167, 542, 0, 118786, 0, 983970, 1230, 0, 0, 3597,
4446, 10584, 74235, 92215, 4037, 127938, 8352, 0, 5687, 0, 64515, 0,
194801, 55265, 67846, 78434, 9704, 0, 0, 70080, 71338, 0, 8660, 126495,
@@ -18986,7 +18988,7 @@ static unsigned int code_hash[] = {
119173, 0, 0, 7805, 0, 94007, 6935, 92292, 78325, 78326, 78323, 43327,
43989, 119046, 8492, 8250, 8459, 0, 8497, 8496, 0, 0, 78336, 78339, 9543,
78335, 78332, 77832, 65849, 77831, 983952, 0, 12451, 0, 8684, 0, 6102, 0,
- 5298, 0, 5294, 0, 0, 983451, 195062, 9949, 119826, 43617, 119215, 0,
+ 5298, 0, 5294, 0, 0, 983452, 195062, 9949, 119826, 43617, 119215, 0,
12073, 0, 0, 77863, 13108, 120617, 11439, 41468, 983748, 0, 5292, 55272,
983874, 1939, 5302, 3970, 917879, 12455, 1793, 0, 0, 0, 6643, 92477,
65263, 0, 78330, 41293, 78328, 65923, 0, 13219, 9569, 0, 74383, 0, 74197,
@@ -18997,7 +18999,7 @@ static unsigned int code_hash[] = {
0, 0, 78074, 6947, 41152, 887, 9249, 6565, 78510, 41990, 78509, 41811,
74466, 93966, 6670, 77882, 0, 0, 43092, 43325, 0, 10168, 0, 9781, 128655,
9190, 0, 9666, 8269, 65944, 74005, 13019, 11670, 69860, 315, 12813,
- 983450, 78432, 78256, 78351, 78352, 0, 983648, 0, 0, 1378, 9509, 0, 0,
+ 983451, 78432, 78256, 78351, 78352, 0, 983648, 0, 0, 1378, 9509, 0, 0,
74475, 3066, 92220, 67847, 0, 92355, 0, 78365, 8787, 120379, 194616,
41618, 194615, 78261, 194614, 0, 64652, 0, 194612, 0, 78366, 42088, 0,
195061, 7176, 43756, 10137, 6121, 10995, 78259, 74534, 8119, 64874,
@@ -19016,7 +19018,7 @@ static unsigned int code_hash[] = {
549, 1570, 0, 2835, 0, 10624, 43623, 11072, 127191, 0, 0, 12606, 78433,
2825, 0, 10825, 8079, 2821, 41046, 92327, 7365, 983744, 120593, 13071, 0,
452, 41049, 42840, 6346, 2831, 5461, 74596, 11465, 5212, 0, 64703,
- 119191, 42308, 7181, 0, 41332, 0, 12333, 0, 1668, 0, 0, 0, 1187, 983377,
+ 119191, 42308, 7181, 0, 41332, 0, 12333, 0, 1668, 0, 0, 0, 1187, 983378,
42628, 78575, 0, 128777, 0, 3240, 128518, 12194, 0, 11591, 41065, 5323,
8166, 0, 0, 0, 74535, 1623, 65297, 128856, 571, 0, 4918, 0, 5288, 127295,
8916, 65048, 1909, 8864, 0, 0, 10736, 92508, 11571, 7615, 127300, 92296,
@@ -19033,7 +19035,7 @@ static unsigned int code_hash[] = {
66010, 119552, 6078, 9954, 0, 1475, 119247, 9938, 6084, 917546, 41064,
41062, 0, 0, 3256, 10189, 42076, 43252, 78823, 917906, 8727, 0, 65875, 0,
0, 127762, 10562, 74215, 43065, 0, 0, 3248, 74297, 3261, 9015, 71351, 0,
- 3635, 64337, 983273, 0, 0, 7195, 0, 2007, 64431, 0, 0, 0, 0, 635, 0, 0,
+ 3635, 64337, 983274, 0, 0, 7195, 0, 2007, 64431, 0, 0, 0, 0, 635, 0, 0,
65613, 77909, 92420, 73997, 0, 0, 119218, 7984, 8600, 74434, 127770,
4176, 70050, 2034, 92551, 120805, 65891, 127038, 0, 318, 2038, 128860,
78596, 0, 3649, 13149, 42145, 42798, 3634, 120291, 118927, 67677, 120124,
@@ -19043,13 +19045,13 @@ static unsigned int code_hash[] = {
194567, 12989, 66474, 9368, 12848, 1624, 43270, 0, 74278, 10818, 126644,
9953, 0, 78421, 1194, 3242, 9761, 9555, 8598, 120299, 6169, 12871, 1551,
2798, 65176, 4958, 42752, 119025, 0, 67875, 120301, 3495, 66648, 194768,
- 0, 68364, 983222, 4891, 0, 10641, 0, 73746, 0, 68352, 0, 73787, 194829,
+ 0, 68364, 983223, 4891, 0, 10641, 0, 73746, 0, 68352, 0, 73787, 194829,
194633, 7199, 64955, 0, 0, 0, 0, 0, 42685, 42679, 193, 0, 0, 0, 42667, 0,
- 5271, 92318, 92517, 118882, 1362, 13297, 0, 128094, 0, 983323, 73789, 0,
- 6658, 4426, 0, 92628, 983833, 92319, 7276, 42163, 5220, 0, 0, 983322,
+ 5271, 92318, 92517, 118882, 1362, 13297, 0, 128094, 0, 983324, 73789, 0,
+ 6658, 4426, 0, 92628, 983833, 92319, 7276, 42163, 5220, 0, 0, 983323,
2416, 3310, 42703, 0, 379, 0, 43755, 0, 0, 3223, 65492, 1284, 194771,
4549, 0, 0, 983154, 127763, 10807, 9558, 194613, 0, 8515, 8688, 12866,
- 65308, 3294, 983324, 8529, 128101, 43385, 7564, 0, 43329, 0, 92458,
+ 65308, 3294, 983325, 8529, 128101, 43385, 7564, 0, 43329, 0, 92458,
73757, 66456, 42359, 0, 2031, 0, 7202, 0, 12676, 42729, 92198, 3215, 0,
7710, 1610, 73801, 0, 0, 65682, 0, 120537, 65924, 9974, 228, 66354, 1501,
0, 64395, 5179, 7200, 6225, 0, 65794, 1725, 65533, 8196, 7476, 74399, 0,
@@ -19076,20 +19078,20 @@ static unsigned int code_hash[] = {
126469, 11946, 0, 3257, 0, 12307, 1845, 983157, 43526, 0, 0, 1886, 42342,
10089, 870, 7648, 3499, 8609, 7652, 876, 871, 877, 0, 878, 42015, 879,
43692, 4563, 0, 0, 7591, 65887, 867, 9520, 872, 126607, 868, 873, 7642,
- 0, 869, 874, 7644, 120674, 875, 790, 128303, 0, 0, 0, 66182, 983250,
- 5429, 195055, 66180, 126480, 66181, 68452, 983281, 983242, 42067, 0,
+ 0, 869, 874, 7644, 120674, 875, 790, 128303, 0, 0, 0, 66182, 983251,
+ 5429, 195055, 66180, 126480, 66181, 68452, 983282, 983243, 42067, 0,
5433, 10657, 7911, 194622, 1547, 66176, 42012, 120576, 5425, 4977, 9999,
5317, 5423, 4611, 0, 67637, 0, 9679, 74122, 0, 0, 0, 66194, 4418, 66184,
4628, 4245, 119648, 0, 0, 1851, 0, 127189, 11908, 0, 9360, 118897,
- 983270, 42776, 66187, 12837, 8829, 7711, 92714, 0, 92321, 43318, 0, 8809,
- 69881, 0, 983142, 120604, 983052, 983873, 0, 983262, 0, 0, 7427, 9958,
+ 983201, 42776, 66187, 12837, 8829, 7711, 92714, 0, 92321, 43318, 0, 8809,
+ 69881, 0, 983142, 120604, 983052, 983873, 0, 983263, 0, 0, 7427, 9958,
4588, 43680, 0, 74484, 194968, 2433, 0, 119622, 3352, 74363, 983876, 0,
793, 74404, 0, 305, 567, 67662, 842, 128519, 8208, 0, 41695, 1647,
118877, 0, 7837, 917625, 818, 5337, 194628, 917621, 41376, 119978,
126576, 120594, 74086, 917615, 917614, 917613, 10973, 66359, 1372,
127172, 917608, 4969, 1254, 917605, 917604, 93967, 917602, 65228, 78221,
126612, 0, 2840, 0, 119982, 983930, 0, 3245, 9068, 68194, 64725, 0, 0,
- 12991, 0, 2651, 68016, 983257, 917611, 127026, 128883, 0, 0, 43648,
+ 12991, 0, 2651, 68016, 983258, 917611, 127026, 128883, 0, 0, 43648,
120812, 0, 43322, 92662, 0, 0, 64372, 92698, 3226, 655, 752, 7457, 7456,
7452, 3285, 128779, 127821, 119988, 65610, 2391, 0, 92248, 671, 250,
7434, 618, 668, 610, 42800, 7431, 1152, 42801, 640, 120666, 7448, 7439,
@@ -19106,7 +19108,7 @@ static unsigned int code_hash[] = {
120285, 74225, 94111, 8267, 0, 127265, 0, 7516, 0, 2625, 983968, 8034,
74309, 0, 3631, 10955, 7850, 120293, 8416, 0, 0, 0, 43384, 12660, 0, 0,
0, 74850, 41069, 0, 128156, 12099, 4310, 10032, 6252, 713, 7990, 0, 3990,
- 0, 983254, 66368, 5017, 64956, 7071, 0, 119144, 1030, 118800, 983120,
+ 0, 983255, 66368, 5017, 64956, 7071, 0, 119144, 1030, 118800, 983120,
9513, 41059, 9357, 0, 1773, 0, 120350, 0, 6339, 7745, 9844, 0, 64650, 94,
1880, 74766, 983829, 8908, 0, 128707, 65913, 78470, 10752, 13003, 0,
126572, 41307, 8732, 120338, 0, 1757, 6964, 4696, 0, 120335, 64785, 7394,
@@ -19125,17 +19127,17 @@ static unsigned int code_hash[] = {
65302, 40989, 0, 194696, 0, 42760, 0, 983566, 0, 40987, 4667, 0, 983923,
8828, 0, 0, 1246, 4746, 0, 0, 11021, 4749, 92675, 0, 921, 4744, 0, 12702,
242, 0, 1566, 8217, 0, 64653, 78386, 128121, 74036, 74505, 43274, 5313,
- 951, 0, 0, 983858, 7604, 983282, 4009, 127816, 983701, 120562, 0, 983711,
+ 951, 0, 0, 983858, 7604, 983283, 4009, 127816, 983701, 120562, 0, 983711,
64860, 119138, 119069, 0, 127370, 4048, 983598, 0, 70024, 1646, 77890,
64534, 73995, 120705, 0, 119890, 2579, 119905, 3177, 11357, 9099, 4107,
3441, 119894, 2975, 74442, 9822, 983926, 55220, 10084, 73943, 118840, 0,
917562, 194610, 3399, 9851, 983708, 11909, 9059, 0, 7687, 0, 6789, 0, 0,
0, 71367, 0, 0, 1777, 9151, 1137, 69767, 749, 42366, 0, 5385, 128574,
128218, 0, 0, 5989, 0, 0, 128091, 0, 41685, 69223, 0, 9769, 41684,
- 983214, 519, 0, 11740, 5766, 0, 0, 2600, 8848, 120138, 41297, 0, 3666,
+ 983215, 519, 0, 11740, 5766, 0, 0, 2600, 8848, 120138, 41297, 0, 3666,
74473, 41300, 74468, 65160, 0, 69688, 69771, 74479, 0, 6558, 0, 0, 69765,
120750, 252, 0, 41302, 0, 0, 0, 69763, 0, 11729, 8719, 9060, 0, 120139,
- 10761, 0, 0, 0, 118792, 11734, 983221, 11730, 0, 9593, 5757, 2403, 64808,
+ 10761, 0, 0, 0, 118792, 11734, 983222, 11730, 0, 9593, 5757, 2403, 64808,
55275, 0, 11728, 43572, 0, 0, 7764, 983705, 11094, 120825, 0, 0, 4282,
8298, 0, 0, 0, 0, 0, 64449, 0, 126650, 63854, 8456, 0, 74783, 65670, 0,
78250, 0, 7774, 10607, 9792, 0, 0, 0, 0, 120764, 0, 10019, 74762, 0,
@@ -19150,48 +19152,48 @@ static unsigned int code_hash[] = {
70065, 2588, 2914, 7011, 55281, 0, 2471, 194631, 2883, 2749, 119563,
73774, 10913, 0, 0, 8666, 675, 42493, 0, 43571, 0, 6219, 0, 9980, 41232,
10928, 0, 41153, 41229, 118967, 0, 3738, 94016, 0, 12711, 3181, 66212,
- 74289, 68472, 42857, 8262, 983371, 0, 983220, 0, 42347, 12092, 9615,
+ 74289, 68472, 42857, 8262, 983372, 0, 983221, 0, 42347, 12092, 9615,
7234, 74047, 983088, 0, 43744, 0, 0, 73846, 2934, 12722, 120762, 922,
43983, 74507, 983126, 74461, 3218, 120471, 74290, 120469, 64562, 120475,
8569, 11404, 11932, 73728, 3214, 120461, 120468, 12128, 3207, 65486,
78729, 1901, 78727, 127326, 120460, 7425, 3205, 68003, 78737, 78736,
78735, 43383, 69940, 65459, 2606, 78730, 73897, 0, 11496, 1173, 0, 41272,
- 119661, 0, 0, 983313, 120737, 0, 983962, 983312, 378, 2610, 0, 65079,
- 983317, 65695, 126559, 37, 7068, 0, 120480, 120479, 3209, 120477, 0,
- 10638, 9768, 69952, 119909, 983391, 0, 0, 0, 0, 65510, 0, 0, 5233,
- 983327, 64792, 983326, 0, 126633, 0, 7060, 9847, 120144, 1685, 595, 0,
+ 119661, 0, 0, 983314, 120737, 0, 983962, 983313, 378, 2610, 0, 65079,
+ 983318, 65695, 126559, 37, 7068, 0, 120480, 120479, 3209, 120477, 0,
+ 10638, 9768, 69952, 119909, 983392, 0, 0, 0, 0, 65510, 0, 0, 5233,
+ 983328, 64792, 983327, 0, 126633, 0, 7060, 9847, 120144, 1685, 595, 0,
73971, 1292, 8940, 7380, 11088, 0, 10004, 126997, 0, 6541, 0, 0, 0, 3243,
9014, 5606, 0, 538, 64620, 5602, 8467, 74391, 6547, 128132, 8203, 78488,
983090, 8458, 65211, 8495, 119904, 0, 917552, 779, 78314, 64367, 2465,
69901, 8193, 55279, 9730, 9280, 0, 7065, 74155, 4346, 0, 73798, 504, 0,
92414, 8982, 0, 0, 0, 782, 0, 10883, 0, 194852, 732, 3737, 127253, 1548,
68650, 92507, 1832, 5604, 5735, 41141, 119020, 4376, 0, 11787, 3745, 0,
- 0, 42888, 65712, 983296, 3869, 11937, 5725, 127539, 1783, 68648, 5728, 0,
+ 0, 42888, 65712, 983297, 3869, 11937, 5725, 127539, 1783, 68648, 5728, 0,
0, 0, 11918, 66567, 5724, 0, 5727, 78521, 0, 0, 764, 0, 128116, 43531, 0,
9033, 0, 42532, 6223, 11042, 120749, 11423, 0, 119861, 71344, 43465, 0,
128267, 6559, 64557, 71348, 92649, 120648, 43019, 43477, 10238, 74491, 0,
43377, 92282, 71346, 1478, 9783, 11825, 2607, 64740, 0, 7739, 74543, 0,
0, 0, 6132, 0, 63765, 0, 70058, 41144, 0, 92438, 43537, 6761, 10093,
4369, 917791, 0, 983148, 8820, 3947, 0, 0, 11515, 526, 128103, 41295,
- 194603, 917785, 194932, 0, 7688, 917786, 7686, 8288, 11815, 0, 0, 983374,
+ 194603, 917785, 194932, 0, 7688, 917786, 7686, 8288, 11815, 0, 0, 983375,
1543, 3713, 41221, 12423, 42281, 917788, 74024, 12293, 0, 64357, 11794,
42082, 0, 1737, 8987, 42081, 0, 7205, 0, 9335, 12850, 119870, 6553, 7055,
0, 8277, 0, 0, 5475, 74795, 6780, 0, 0, 12990, 1160, 42084, 119650,
41217, 119660, 10018, 360, 0, 0, 68176, 5863, 3137, 0, 4147, 983170,
- 41216, 7844, 2616, 119190, 68461, 65234, 983286, 13076, 3135, 983279,
+ 41216, 7844, 2616, 119190, 68461, 65234, 983287, 13076, 3135, 983280,
78143, 119139, 3142, 92451, 94068, 10819, 119580, 10183, 0, 2608, 1470,
73967, 94008, 6227, 0, 127173, 69741, 983582, 6163, 983558, 0, 127314, 0,
0, 8603, 0, 119866, 3306, 10876, 43392, 119573, 127931, 5751, 0, 6222, 0,
0, 12086, 7403, 1600, 64309, 64939, 0, 64783, 92658, 11310, 0, 8882, 0,
- 0, 2570, 7021, 0, 0, 43110, 0, 1234, 6540, 6974, 0, 0, 983209, 5002, 0,
+ 0, 2570, 7021, 0, 0, 43110, 0, 1234, 6540, 6974, 0, 0, 983210, 5002, 0,
41286, 69946, 127019, 0, 43585, 0, 6551, 983953, 128229, 0, 41289, 0,
- 194602, 0, 8977, 602, 120814, 0, 128778, 128661, 0, 983367, 41279, 0, 0,
+ 194602, 0, 8977, 602, 120814, 0, 128778, 128661, 0, 983368, 41279, 0, 0,
0, 11081, 43615, 0, 0, 0, 983612, 12727, 0, 0, 78397, 9475, 7112, 65105,
0, 9633, 10886, 43592, 7831, 983820, 194571, 0, 73915, 8076, 43048, 8290,
8291, 43051, 92570, 0, 2596, 43584, 0, 13113, 0, 127757, 2393, 7058,
9087, 74067, 68673, 41574, 78337, 0, 74058, 6376, 0, 0, 0, 0, 9854,
127748, 64696, 0, 128220, 0, 6994, 0, 1720, 0, 0, 0, 6529, 7063, 983182,
- 3751, 9120, 983477, 0, 1798, 709, 0, 1354, 1876, 13152, 6557, 12430,
+ 3751, 9120, 983478, 0, 1798, 709, 0, 1354, 1876, 13152, 6557, 12430,
8137, 94098, 92642, 0, 0, 245, 128097, 11456, 41233, 7070, 0, 94046,
6136, 917609, 65677, 8682, 41235, 92595, 42045, 9804, 118963, 432, 3595,
194945, 65437, 0, 74455, 42399, 0, 0, 128274, 0, 119658, 0, 0, 0, 77894,
@@ -19203,7 +19205,7 @@ static unsigned int code_hash[] = {
3733, 11346, 0, 12054, 0, 74098, 42827, 0, 13091, 0, 0, 0, 917915, 0,
127025, 0, 74821, 0, 983724, 119042, 0, 127865, 13090, 66643, 0, 1270,
1132, 42360, 0, 74096, 66655, 42569, 127824, 0, 64761, 0, 41021, 8510,
- 42432, 0, 0, 194782, 0, 64496, 74109, 70030, 9915, 0, 983216, 7061,
+ 42432, 0, 0, 194782, 0, 64496, 74109, 70030, 9915, 0, 983217, 7061,
41336, 3854, 69700, 13141, 68413, 43401, 42319, 13082, 0, 7067, 68221, 0,
127383, 127171, 0, 0, 127797, 9029, 43543, 119315, 2353, 6308, 0, 74792,
2611, 119186, 0, 0, 0, 43664, 92399, 66627, 0, 4484, 8509, 118976, 11066,
@@ -19217,7 +19219,7 @@ static unsigned int code_hash[] = {
396, 41580, 68146, 0, 12901, 43058, 0, 343, 7129, 42680, 41360, 78154, 0,
4743, 0, 0, 74040, 74108, 8743, 1724, 1433, 119322, 0, 3739, 6263, 71349,
0, 3964, 6592, 0, 128693, 66040, 0, 42568, 69806, 128113, 1778, 3956, 0,
- 42070, 6563, 43075, 9018, 94006, 983388, 12067, 41312, 0, 5547, 74531,
+ 42070, 6563, 43075, 9018, 94006, 983389, 12067, 41312, 0, 5547, 74531,
127969, 0, 8175, 0, 284, 8108, 934, 0, 74001, 173, 66460, 7174, 92703,
118822, 1750, 0, 4394, 68368, 1807, 983879, 92298, 0, 5889, 0, 7180, 0,
119145, 0, 917558, 42471, 6982, 1721, 44022, 7891, 42243, 42160, 2583,
@@ -19238,26 +19240,26 @@ static unsigned int code_hash[] = {
128544, 0, 5596, 5545, 7288, 2586, 64887, 0, 5217, 71336, 0, 0, 0, 64293,
68098, 2635, 0, 0, 983837, 0, 983632, 7835, 70040, 0, 194988, 92285,
64558, 127122, 0, 127121, 0, 127913, 0, 5784, 983102, 0, 0, 70033, 4011,
- 917616, 68101, 0, 7864, 4254, 65095, 983488, 5600, 3903, 127083, 10447,
+ 917616, 68101, 0, 7864, 4254, 65095, 983489, 5600, 3903, 127083, 10447,
5598, 1207, 120521, 66689, 3501, 42582, 43600, 194780, 0, 1124, 5597,
- 194778, 194772, 9321, 983476, 983473, 983474, 0, 1719, 68356, 68354,
- 9671, 1125, 4399, 127479, 917610, 983480, 7631, 5488, 7128, 120532, 0,
+ 194778, 194772, 9321, 983477, 983474, 983475, 0, 1719, 68356, 68354,
+ 9671, 1125, 4399, 127479, 917610, 983481, 7631, 5488, 7128, 120532, 0,
5491, 0, 8937, 43044, 2604, 74187, 5490, 43046, 5489, 7212, 11768, 43043,
6300, 0, 7122, 0, 4390, 454, 41397, 0, 9875, 7593, 194791, 92274, 118913,
7207, 0, 65901, 2394, 2575, 0, 3746, 11016, 65752, 120037, 0, 43423,
128683, 11989, 0, 0, 0, 0, 0, 8249, 128172, 0, 78531, 6640, 74806, 2598,
- 513, 0, 6586, 8656, 0, 120710, 65008, 0, 194784, 194989, 194795, 983465,
- 92515, 68475, 93973, 0, 0, 78637, 12647, 0, 128043, 69893, 1036, 983469,
- 92419, 1723, 128056, 74217, 0, 41579, 2444, 0, 10705, 73876, 983461,
- 74486, 983459, 740, 119222, 194978, 194984, 0, 4238, 11071, 9459, 68437,
+ 513, 0, 6586, 8656, 0, 120710, 65008, 0, 194784, 194989, 194795, 983466,
+ 92515, 68475, 93973, 0, 0, 78637, 12647, 0, 128043, 69893, 1036, 983470,
+ 92419, 1723, 128056, 74217, 0, 41579, 2444, 0, 10705, 73876, 983462,
+ 74486, 983460, 740, 119222, 194978, 194984, 0, 4238, 11071, 9459, 68437,
78140, 78139, 194985, 8121, 10438, 74487, 42574, 13285, 55263, 11907,
195000, 5690, 92255, 93992, 0, 43181, 13095, 0, 127857, 64498, 0, 9506,
6978, 194993, 77992, 0, 0, 194992, 0, 127845, 1122, 317, 0, 0, 0, 0,
1920, 0, 10173, 827, 0, 0, 78378, 120126, 5223, 1304, 0, 119564, 5226,
12602, 94044, 0, 9329, 7758, 9239, 41173, 5224, 5487, 1222, 5692, 41725,
69229, 9674, 5695, 41711, 64627, 19909, 0, 74604, 5691, 287, 866, 233,
- 127490, 983433, 42816, 94036, 65140, 74797, 0, 8830, 6568, 42300, 10524,
- 41175, 983440, 983437, 983438, 5296, 983436, 42492, 43402, 92466, 3302,
+ 127490, 983434, 42816, 94036, 65140, 74797, 0, 8830, 6568, 42300, 10524,
+ 41175, 983441, 983438, 983439, 5296, 983437, 42492, 43402, 92466, 3302,
0, 0, 6516, 6515, 6514, 6513, 6512, 0, 7856, 8690, 0, 0, 12122, 119602,
43976, 0, 1785, 69925, 68622, 65153, 194810, 5138, 0, 0, 118869, 0, 4540,
41181, 0, 6200, 0, 5134, 0, 322, 4643, 5132, 0, 6389, 128533, 5143, 0,
@@ -19275,14 +19277,14 @@ static unsigned int code_hash[] = {
5198, 4349, 10390, 74202, 5196, 43224, 6113, 42009, 5205, 0, 43307, 0,
118973, 0, 12134, 0, 0, 118843, 9126, 435, 0, 12014, 10377, 8093, 9079,
3203, 192, 65109, 3385, 0, 64430, 5383, 10294, 10326, 128178, 5738,
- 983213, 3336, 78355, 5361, 3623, 41159, 0, 68112, 7872, 8581, 0, 1260,
+ 983214, 3336, 78355, 5361, 3623, 41159, 0, 68112, 7872, 8581, 0, 1260,
3149, 5359, 120134, 0, 7914, 5357, 92170, 128659, 2624, 5364, 0, 11431,
120030, 9101, 11058, 78288, 0, 78293, 42271, 78289, 42917, 120793, 0,
65566, 6717, 10619, 43360, 78385, 78384, 11832, 78382, 78381, 78380,
78379, 9319, 7097, 119055, 77906, 3232, 73824, 74581, 120632, 0, 0,
41889, 92453, 0, 1161, 41895, 74103, 9701, 8622, 0, 0, 73819, 120588,
5012, 77912, 41362, 69862, 78296, 11921, 0, 11769, 0, 68609, 41364, 0,
- 74228, 41352, 41361, 0, 41366, 0, 3356, 0, 917, 68422, 119915, 7134,
+ 74228, 41352, 41361, 0, 41366, 0, 3356, 11611, 917, 68422, 119915, 7134,
8199, 78389, 119917, 677, 119916, 0, 119932, 127169, 0, 0, 0, 3349,
74125, 7022, 8927, 4739, 0, 5802, 0, 8615, 0, 0, 491, 128819, 10190,
120698, 65837, 128820, 8426, 11092, 9891, 0, 42497, 7113, 7586, 42305,
@@ -19323,7 +19325,7 @@ static unsigned int code_hash[] = {
0, 78621, 194672, 6925, 0, 0, 917929, 0, 11568, 983664, 43367, 64579,
917930, 7852, 0, 0, 6754, 6312, 0, 64672, 65296, 0, 118957, 0, 416,
12296, 68457, 73834, 68177, 11050, 10984, 92208, 0, 0, 92182, 0, 983605,
- 9532, 66355, 0, 983228, 917925, 64343, 195032, 128281, 195031, 0, 195030,
+ 9532, 66355, 0, 983229, 917925, 64343, 195032, 128281, 195031, 0, 195030,
195057, 11445, 0, 2112, 195056, 128814, 10185, 1021, 128130, 9507, 10210,
74544, 8023, 1200, 12243, 78001, 5282, 78003, 9624, 11545, 0, 120493,
3343, 4424, 11047, 1885, 43268, 3896, 78444, 66497, 2947, 392, 7894,
@@ -19358,43 +19360,43 @@ static unsigned int code_hash[] = {
66454, 9592, 42851, 126993, 1542, 92303, 0, 0, 0, 0, 74311, 78497, 0,
10181, 0, 43624, 0, 7779, 0, 10195, 9479, 6029, 0, 92268, 9689, 0, 65577,
8993, 66358, 0, 42378, 3368, 606, 127030, 7697, 69237, 69787, 2030, 0,
- 6027, 8370, 4322, 0, 65207, 0, 983331, 983330, 983329, 983328, 2735,
+ 6027, 8370, 4322, 0, 65207, 0, 983332, 983331, 983330, 983329, 2735,
42831, 77935, 127120, 74866, 8881, 119047, 0, 0, 73946, 0, 0, 0, 68140,
983919, 9576, 128872, 3347, 4160, 5154, 55288, 3794, 66564, 8530, 127063,
7709, 41112, 983132, 66560, 42041, 4572, 12876, 66561, 983749, 6758,
- 983917, 1615, 5855, 809, 0, 92283, 128316, 128004, 5799, 983320, 70100,
- 983318, 7260, 983316, 43031, 64425, 65128, 78819, 64386, 65257, 0, 68616,
+ 983917, 1615, 5855, 809, 0, 92283, 128316, 128004, 5799, 983321, 70100,
+ 983319, 7260, 983317, 43031, 64425, 65128, 78819, 64386, 65257, 0, 68616,
120607, 9347, 128067, 6532, 0, 0, 0, 127060, 65828, 0, 283, 68665, 78813,
532, 78663, 0, 983787, 120609, 0, 3370, 0, 11361, 5443, 78778, 8153,
- 73767, 0, 10741, 0, 2298, 0, 983908, 65495, 64706, 983310, 43344, 983308,
- 7144, 9466, 78866, 9824, 983303, 983302, 0, 0, 915, 43425, 0, 0, 0, 0,
+ 73767, 0, 10741, 0, 2298, 0, 983908, 65495, 64706, 983311, 43344, 983309,
+ 7144, 9466, 78866, 9824, 983304, 983303, 0, 0, 915, 43425, 0, 0, 0, 0,
127178, 43264, 70096, 0, 0, 43038, 78864, 6730, 78862, 68161, 64550,
5186, 7360, 127837, 0, 12108, 0, 65124, 43127, 66043, 0, 6326, 43107,
- 77826, 0, 42562, 0, 128821, 0, 128520, 11485, 6103, 127123, 983297,
- 11718, 983295, 12889, 92657, 127137, 0, 0, 0, 55245, 0, 1630, 128232,
+ 77826, 0, 42562, 0, 128821, 0, 128520, 11485, 6103, 127123, 983298,
+ 11718, 983296, 12889, 92657, 127137, 0, 0, 0, 55245, 0, 1630, 128232,
65483, 0, 12565, 0, 65476, 120013, 0, 119554, 9283, 7700, 917537, 9690,
65499, 0, 64593, 512, 3376, 68210, 0, 128677, 77892, 632, 12940, 77891,
- 42529, 78587, 0, 5957, 110593, 8926, 983291, 983290, 128273, 10745,
+ 42529, 78587, 0, 5957, 110593, 8926, 983292, 983291, 128273, 10745,
10174, 7379, 64581, 5386, 120686, 11713, 10633, 69708, 5056, 0, 0, 0,
120773, 0, 9812, 0, 4460, 0, 0, 71307, 128038, 0, 0, 127174, 64278,
92370, 43466, 0, 0, 64389, 2953, 73879, 1801, 12835, 119029, 0, 73823, 0,
- 66375, 2085, 702, 42579, 77884, 77885, 13074, 77883, 983278, 983277,
- 128570, 12106, 983274, 74207, 1755, 10482, 12863, 77898, 1163, 2951,
+ 66375, 2085, 702, 42579, 77884, 77885, 13074, 77883, 983279, 983278,
+ 128570, 12106, 983275, 74207, 1755, 10482, 12863, 77898, 1163, 2951,
9522, 74079, 78266, 66604, 0, 3384, 69227, 10702, 830, 77902, 77899,
77900, 8451, 0, 0, 0, 69739, 0, 0, 0, 0, 2908, 0, 43386, 64902, 4243, 0,
- 12239, 0, 0, 4441, 0, 983271, 73940, 64352, 127513, 983267, 411, 983265,
- 9199, 983263, 4056, 118992, 41890, 0, 2730, 41604, 983928, 5428, 194743,
+ 12239, 0, 0, 4441, 0, 983272, 73940, 64352, 127513, 983268, 411, 983266,
+ 9199, 983264, 4056, 118992, 41890, 0, 2730, 41604, 983928, 5428, 194743,
3364, 42265, 64437, 127935, 118816, 194742, 9684, 216, 0, 1401, 128053,
44012, 0, 0, 92585, 9158, 77842, 69905, 5768, 0, 0, 0, 484, 194739, 0, 0,
- 65895, 0, 0, 3338, 73935, 572, 7041, 2736, 67605, 983255, 93962, 2794,
+ 65895, 0, 0, 3338, 73935, 572, 7041, 2736, 67605, 983256, 93962, 2794,
8807, 64491, 77847, 5438, 5222, 5381, 43114, 0, 5193, 5125, 5456, 5509,
77846, 194747, 9534, 0, 0, 0, 3430, 0, 0, 78717, 0, 981, 0, 4330, 73929,
120536, 1824, 10908, 0, 7034, 41683, 64617, 0, 73754, 3957, 64358, 64547,
- 128259, 674, 63991, 983243, 2946, 5354, 5251, 5328, 5307, 3759, 11411,
+ 128259, 674, 63991, 983244, 2946, 5354, 5251, 5328, 5307, 3759, 11411,
8364, 5123, 119628, 5281, 5469, 5121, 119245, 118993, 0, 5130, 0, 0,
77990, 0, 120726, 1221, 2733, 11746, 77991, 5216, 0, 0, 0, 0, 3468, 7033,
9230, 5939, 195052, 0, 0, 120677, 68400, 7278, 10321, 10289, 64613,
- 10385, 41706, 0, 0, 983405, 0, 11739, 983418, 41981, 0, 5938, 0, 43766,
+ 10385, 41706, 0, 0, 983406, 0, 11739, 983419, 41981, 0, 5938, 0, 43766,
12448, 7576, 10401, 10337, 73852, 0, 13057, 0, 126976, 0, 10009, 0,
41703, 983629, 12165, 0, 0, 9885, 0, 8077, 0, 127908, 0, 0, 0, 92457, 0,
4220, 10725, 10433, 0, 68395, 4987, 64519, 0, 128340, 0, 0, 0, 10970,
@@ -19406,53 +19408,53 @@ static unsigned int code_hash[] = {
0, 4477, 118964, 814, 42066, 66183, 66204, 43786, 119961, 66198, 41880,
66188, 11623, 78148, 11955, 66190, 66191, 41111, 66189, 73788, 7788,
4847, 0, 127759, 0, 0, 0, 1581, 6535, 78161, 12954, 430, 78160, 55259,
- 78158, 128036, 5278, 4945, 42883, 4950, 983430, 68625, 983428, 7269, 0,
- 5964, 12908, 983555, 0, 74764, 74477, 119146, 194936, 4949, 983421, 443,
- 983419, 4944, 5467, 119603, 0, 65137, 6044, 65392, 0, 4213, 0, 41303, 0,
+ 78158, 128036, 5278, 4945, 42883, 4950, 983431, 68625, 983429, 7269, 0,
+ 5964, 12908, 983555, 0, 74764, 74477, 119146, 194936, 4949, 983422, 443,
+ 983420, 4944, 5467, 119603, 0, 65137, 6044, 65392, 0, 4213, 0, 41303, 0,
194931, 119962, 41306, 73984, 2698, 127159, 0, 12072, 3193, 0, 41304,
824, 128676, 12091, 78893, 78894, 119816, 4673, 64804, 4678, 119820,
119819, 65059, 0, 6739, 0, 5481, 3490, 1199, 119811, 8356, 69947, 119832,
4677, 12688, 3102, 0, 4672, 78173, 78175, 5531, 68367, 42575, 78170,
78166, 4674, 4548, 44005, 119949, 68658, 119946, 8025, 68630, 127024,
- 1855, 983404, 68669, 983402, 92445, 127554, 0, 127339, 119652, 2745,
- 11797, 983410, 128159, 9202, 4654, 983406, 983408, 68638, 73993, 10525,
- 4649, 65209, 983409, 0, 4648, 43080, 983398, 983399, 983396, 6246, 64950,
+ 1855, 983405, 68669, 983403, 92445, 127554, 0, 127339, 119652, 2745,
+ 11797, 983411, 128159, 9202, 4654, 983407, 983409, 68638, 73993, 10525,
+ 4649, 65209, 983410, 0, 4648, 43080, 983399, 983400, 983397, 6246, 64950,
7828, 4650, 6777, 6776, 6775, 4653, 7822, 78005, 92384, 43187, 8669,
- 983407, 6821, 65093, 0, 78881, 2716, 0, 983060, 983411, 0, 68369, 120054,
+ 983408, 6821, 65093, 0, 78881, 2716, 0, 983060, 983412, 0, 68369, 120054,
11060, 8547, 2711, 42165, 78027, 78026, 7992, 0, 0, 4662, 78033, 78032,
9149, 9146, 599, 2081, 78031, 78030, 194962, 4656, 10130, 68450, 7811,
- 40994, 194965, 6414, 5967, 4658, 3725, 5713, 5814, 4661, 42434, 983403,
+ 40994, 194965, 6414, 5967, 4658, 3725, 5713, 5814, 4661, 42434, 983404,
0, 0, 64904, 9026, 10833, 74864, 7547, 4867, 0, 10008, 10222, 3054,
- 194956, 9744, 78860, 7605, 4622, 119656, 983387, 94070, 983385, 983386,
- 983383, 9045, 78888, 4225, 19926, 78887, 12880, 65307, 4617, 78883,
- 983378, 41732, 4616, 10518, 10423, 10359, 983372, 5958, 0, 983425, 4215,
- 9789, 917941, 4321, 4621, 983381, 41313, 522, 5368, 0, 65803, 0, 5366,
- 12201, 5372, 0, 983401, 0, 7720, 7390, 2696, 983392, 0, 4638, 983397,
+ 194956, 9744, 78860, 7605, 4622, 119656, 983388, 94070, 983386, 983387,
+ 983384, 9045, 78888, 4225, 19926, 78887, 12880, 65307, 4617, 78883,
+ 983379, 41732, 4616, 10518, 10423, 10359, 983373, 5958, 0, 983426, 4215,
+ 9789, 917941, 4321, 4621, 983382, 41313, 522, 5368, 0, 65803, 0, 5366,
+ 12201, 5372, 0, 983402, 0, 7720, 7390, 2696, 983393, 0, 4638, 983398,
1790, 78242, 5965, 64363, 66569, 68646, 127833, 5376, 1835, 5335, 194966,
128089, 4633, 0, 68119, 1180, 4632, 128093, 5387, 5333, 0, 0, 42094,
5331, 4634, 11928, 983594, 5338, 4637, 128170, 5971, 42414, 0, 1268,
65097, 42361, 0, 0, 73853, 1427, 0, 0, 5970, 3431, 0, 10358, 10422, 4758,
- 983366, 1608, 2738, 0, 10455, 4753, 74026, 11344, 4222, 6240, 5231,
- 74384, 983370, 68377, 6248, 983354, 983355, 983352, 42318, 92582, 5229,
+ 983367, 1608, 2738, 0, 10455, 4753, 74026, 11344, 4222, 6240, 5231,
+ 74384, 983371, 68377, 6248, 983355, 983356, 983353, 42318, 92582, 5229,
4757, 0, 0, 2728, 4752, 64563, 65235, 5234, 0, 128145, 0, 10713, 7166, 0,
2622, 7460, 127302, 0, 0, 8954, 74760, 65189, 2632, 42617, 10108, 1011,
5574, 1853, 2709, 65139, 5577, 0, 0, 118871, 68641, 8965, 7635, 42177,
- 5316, 0, 5314, 6451, 5572, 66464, 5312, 0, 5525, 5330, 5319, 983412,
- 983863, 194907, 44003, 0, 983472, 983415, 120498, 127851, 195009, 983856,
- 74022, 983414, 64609, 68643, 120634, 983481, 5721, 983393, 5519, 8632,
- 66465, 11267, 73961, 92278, 5720, 983344, 1692, 4219, 4610, 8696, 4305,
- 0, 4609, 43478, 4614, 541, 983347, 5287, 5309, 5285, 68389, 5961, 4647,
- 56, 4216, 10577, 41381, 601, 4613, 983341, 983338, 77849, 4608, 64260,
+ 5316, 0, 5314, 6451, 5572, 66464, 5312, 0, 5525, 5330, 5319, 983413,
+ 983863, 194907, 44003, 0, 983473, 983416, 120498, 127851, 195009, 983856,
+ 74022, 983415, 64609, 68643, 120634, 983482, 5721, 983394, 5519, 8632,
+ 66465, 11267, 73961, 92278, 5720, 983345, 1692, 4219, 4610, 8696, 4305,
+ 0, 4609, 43478, 4614, 541, 983348, 5287, 5309, 5285, 68389, 5961, 4647,
+ 56, 4216, 10577, 41381, 601, 4613, 983342, 983339, 77849, 4608, 64260,
41124, 5190, 67628, 0, 68145, 7086, 0, 67998, 67620, 0, 2734, 11074, 0,
67627, 43593, 0, 67625, 5960, 0, 8992, 42593, 128260, 1782, 67622, 68114,
119939, 0, 68180, 5501, 119952, 42508, 7442, 43665, 359, 41253, 68392,
6239, 119956, 41256, 0, 68134, 0, 74209, 917550, 9346, 69660, 41254,
128047, 43291, 3767, 5737, 0, 4865, 0, 5740, 917997, 5736, 4368, 64724,
7193, 68137, 0, 5739, 41024, 4866, 0, 73904, 983831, 4869, 120563, 0,
- 4223, 128201, 6650, 126509, 0, 983455, 127890, 4870, 120445, 68661, 6716,
+ 4223, 128201, 6650, 126509, 0, 983456, 127890, 4870, 120445, 68661, 6716,
78176, 68667, 68382, 68676, 127925, 10122, 4864, 66568, 4144, 7937, 0,
6245, 68652, 2732, 42734, 745, 0, 195097, 92195, 4777, 7821, 0, 68631,
- 42775, 0, 194954, 0, 3097, 0, 5966, 983478, 4778, 0, 10863, 0, 4781, 0,
+ 42775, 0, 194954, 0, 3097, 0, 5966, 983479, 4778, 0, 10863, 0, 4781, 0,
64407, 0, 128323, 8577, 128562, 68196, 43285, 10216, 4782, 0, 0, 120757,
68618, 12325, 43056, 8717, 0, 0, 4776, 73818, 11492, 8700, 0, 13176,
68363, 10426, 0, 917599, 10362, 194706, 1715, 4849, 8242, 9561, 73922,
@@ -19460,19 +19462,19 @@ static unsigned int code_hash[] = {
4854, 127918, 5164, 983861, 1350, 5124, 64420, 1993, 5362, 8471, 2708,
92471, 12445, 3785, 234, 3199, 0, 41268, 4848, 2530, 917909, 2068, 1964,
0, 73762, 10458, 0, 8576, 78543, 0, 2704, 4794, 0, 68211, 8322, 4797,
- 5753, 0, 2694, 4792, 0, 2439, 65104, 69804, 983416, 303, 983101, 92622,
- 983417, 2437, 0, 4221, 4844, 92216, 0, 0, 0, 70042, 0, 43292, 0, 2441,
+ 5753, 0, 2694, 4792, 0, 2439, 65104, 69804, 983417, 303, 983101, 92622,
+ 983418, 2437, 0, 4221, 4844, 92216, 0, 0, 0, 70042, 0, 43292, 0, 2441,
10739, 65090, 0, 119327, 126541, 2451, 2714, 119326, 0, 43379, 4937,
43376, 753, 5849, 10597, 43089, 11722, 9248, 92555, 42879, 11725, 0, 0,
2726, 3107, 73958, 4941, 64937, 119233, 9140, 1408, 5261, 4607, 0, 181,
- 983422, 4942, 9539, 4938, 0, 65201, 5259, 9369, 64185, 4142, 5257,
+ 983423, 4942, 9539, 4938, 0, 65201, 5259, 9369, 64185, 4142, 5257,
983601, 0, 4964, 5264, 64178, 64177, 12979, 41411, 64182, 64181, 64180,
64179, 9482, 4873, 41231, 1822, 42526, 128581, 12758, 3865, 0, 0, 10500,
0, 119024, 78028, 92408, 9830, 43642, 389, 10893, 7521, 127879, 4872,
5463, 0, 3125, 9567, 0, 4878, 5459, 4604, 917931, 9557, 5465, 68617, 0,
- 11494, 126492, 9563, 10865, 74570, 43279, 64186, 983431, 78714, 64191,
+ 11494, 126492, 9563, 10865, 74570, 43279, 64186, 983432, 78714, 64191,
64190, 8898, 64188, 0, 41030, 78836, 0, 917835, 78820, 917834, 0, 78805,
- 41031, 78801, 11960, 6745, 3082, 983429, 78539, 73919, 10573, 41744,
+ 41031, 78801, 11960, 6745, 3082, 983430, 78539, 73919, 10573, 41744,
7079, 5856, 127043, 5163, 78809, 128162, 1817, 66724, 78538, 0, 10564,
7763, 13077, 41813, 4400, 41745, 64207, 10275, 8925, 10371, 10307, 41814,
4248, 0, 0, 4541, 6299, 64204, 64203, 64201, 64200, 64199, 64198, 126471,
@@ -19488,30 +19490,30 @@ static unsigned int code_hash[] = {
3933, 74559, 4740, 7954, 0, 0, 42609, 0, 74175, 0, 127016, 0, 983864,
42130, 0, 5151, 917829, 917823, 0, 93980, 0, 7620, 3800, 65122, 0, 0,
8355, 7854, 0, 954, 64927, 4185, 41045, 127141, 41438, 41439, 68666,
- 10711, 4593, 127745, 120584, 983400, 64774, 8053, 10532, 66727, 0, 0, 0,
+ 10711, 4593, 127745, 120584, 983401, 64774, 8053, 10532, 66727, 0, 0, 0,
64759, 6381, 5166, 9888, 127800, 5148, 42834, 0, 78205, 78206, 43787,
78204, 64131, 3119, 917814, 0, 3060, 64135, 9986, 0, 77876, 636, 11698,
- 0, 983443, 9916, 11701, 7836, 42741, 64137, 8320, 78640, 8863, 92431,
- 119960, 1477, 43289, 0, 74358, 8618, 983394, 9908, 983972, 0, 0, 3937,
- 12312, 0, 983395, 0, 64781, 912, 6349, 4536, 93954, 74532, 126594, 6244,
- 92209, 71341, 3935, 120665, 983468, 0, 11950, 5392, 42248, 65129, 68656,
+ 0, 983444, 9916, 11701, 7836, 42741, 64137, 8320, 78640, 8863, 92431,
+ 119960, 1477, 43289, 0, 74358, 8618, 983395, 9908, 983972, 0, 0, 3937,
+ 12312, 0, 983396, 0, 64781, 912, 6349, 4536, 93954, 74532, 126594, 6244,
+ 92209, 71341, 3935, 120665, 983469, 0, 11950, 5392, 42248, 65129, 68656,
5397, 0, 12046, 12599, 0, 128261, 5395, 0, 5393, 354, 68615, 119948,
78503, 0, 0, 42039, 0, 0, 64142, 626, 0, 5895, 0, 0, 5780, 0, 0, 128874,
0, 0, 43297, 983079, 4311, 4644, 8818, 0, 128186, 0, 7145, 3918, 66452,
3797, 1644, 92346, 9658, 4140, 11385, 65947, 6455, 9030, 813, 119945,
68131, 4146, 119957, 5360, 2466, 0, 67669, 119942, 6249, 42117, 92287,
- 128224, 0, 0, 74046, 43745, 4911, 988, 917807, 0, 983460, 43061, 7054,
+ 128224, 0, 0, 74046, 43745, 4911, 988, 917807, 0, 983461, 43061, 7054,
64147, 0, 64920, 68195, 6698, 118933, 92506, 0, 120006, 11981, 12202, 0,
11032, 67654, 6093, 11608, 975, 68662, 65843, 170, 0, 0, 4169, 0, 41859,
6058, 120401, 13203, 120657, 0, 0, 68657, 9818, 10178, 10324, 42106,
5898, 74540, 4738, 41856, 7062, 917865, 4737, 11779, 4742, 120564, 92391,
- 73736, 983356, 9825, 6448, 6715, 127008, 4831, 0, 92525, 0, 5300, 4741,
- 42108, 983346, 64159, 4736, 64148, 0, 849, 92191, 78491, 43288, 0, 66620,
- 917916, 127331, 65549, 9496, 64598, 118866, 983358, 7876, 68132, 917872,
+ 73736, 983357, 9825, 6448, 6715, 127008, 4831, 0, 92525, 0, 5300, 4741,
+ 42108, 983347, 64159, 4736, 64148, 0, 849, 92191, 78491, 43288, 0, 66620,
+ 917916, 127331, 65549, 9496, 64598, 118866, 983359, 7876, 68132, 917872,
3928, 917870, 43378, 10706, 7198, 0, 4842, 12053, 128129, 0, 4841, 0,
4171, 12008, 6251, 3923, 1490, 0, 119591, 126512, 40972, 5245, 0, 10114,
42001, 41888, 4845, 8332, 40974, 64347, 4840, 9077, 78346, 1747, 917849,
- 4825, 69240, 917852, 68655, 0, 983380, 0, 0, 68628, 983339, 9850, 118937,
+ 4825, 69240, 917852, 68655, 0, 983381, 0, 0, 68628, 983340, 9850, 118937,
367, 1472, 917859, 6687, 1274, 0, 5905, 12339, 8919, 73953, 10907, 65261,
11023, 119559, 4830, 9134, 78666, 64126, 43011, 0, 126626, 64101, 0, 0,
4824, 10614, 119659, 0, 1888, 1960, 7861, 917856, 78524, 41836, 43012,
@@ -19520,7 +19522,7 @@ static unsigned int code_hash[] = {
64118, 126998, 12962, 0, 126580, 4017, 12827, 5241, 120392, 0, 41118,
3924, 0, 11366, 917843, 0, 0, 917846, 41116, 917844, 917564, 0, 11363,
12057, 11917, 1567, 74000, 4721, 126641, 66202, 8957, 4139, 0, 0, 0, 0,
- 0, 12740, 128702, 4722, 6816, 127793, 12759, 4725, 983375, 4726, 0,
+ 0, 12740, 128702, 4722, 6816, 127793, 12759, 4725, 983376, 4726, 0,
194892, 0, 128321, 917905, 0, 12755, 12762, 4015, 0, 8052, 476, 0, 0,
128294, 64212, 41020, 1382, 64209, 64216, 44002, 64214, 1656, 41831, 0,
0, 41843, 8720, 3908, 1452, 13111, 0, 64067, 127328, 8552, 64113, 41845,
@@ -19537,11 +19539,11 @@ static unsigned int code_hash[] = {
4814, 0, 4810, 0, 0, 64928, 10543, 0, 3522, 71335, 414, 65404, 0, 195027,
6456, 73820, 0, 6691, 42193, 92225, 128171, 0, 74495, 0, 0, 0, 118820,
9751, 65407, 128085, 11770, 3919, 0, 0, 65061, 0, 0, 0, 12235, 0, 0,
- 127233, 64092, 983462, 64080, 0, 64090, 0, 69913, 10162, 10310, 0, 8454,
+ 127233, 64092, 983463, 64080, 0, 64090, 0, 69913, 10162, 10310, 0, 8454,
127888, 42038, 387, 41363, 12737, 0, 4780, 43368, 0, 64310, 64621, 6732,
78116, 0, 983139, 0, 983074, 8896, 0, 375, 6976, 66582, 119005, 983865,
- 0, 983426, 119202, 119203, 12526, 43120, 2315, 0, 1938, 119197, 0, 4529,
- 119200, 119201, 119198, 119199, 69692, 983424, 69698, 13150, 64492, 0, 0,
+ 0, 983427, 119202, 119203, 12526, 43120, 2315, 0, 1938, 119197, 0, 4529,
+ 119200, 119201, 119198, 119199, 69692, 983425, 69698, 13150, 64492, 0, 0,
2291, 12902, 0, 42891, 66327, 74298, 917857, 10799, 69690, 2587, 66372,
0, 4193, 92250, 4241, 983057, 7998, 0, 0, 0, 126640, 2316, 118821, 0, 0,
0, 64297, 74799, 92442, 74140, 0, 5373, 0, 983877, 3762, 10015, 120672,
@@ -19550,13 +19552,13 @@ static unsigned int code_hash[] = {
280, 74558, 127332, 68138, 13072, 1894, 0, 0, 65478, 43310, 7231, 0,
11773, 0, 0, 0, 0, 2551, 0, 6453, 10200, 6235, 983743, 119237, 0, 128805,
4470, 11826, 917557, 7780, 5369, 118958, 5249, 0, 5367, 8756, 127143, 0,
- 5377, 120585, 68143, 1688, 78245, 983348, 69685, 983747, 0, 0, 44020,
+ 5377, 120585, 68143, 1688, 78245, 983349, 69685, 983747, 0, 0, 44020,
6808, 41319, 1300, 10650, 41692, 64505, 2290, 0, 119624, 1465, 10850,
3943, 0, 41205, 41315, 118961, 0, 0, 5352, 0, 0, 8839, 41314, 7384, 7785,
41204, 127322, 41209, 69637, 92241, 43607, 0, 0, 5420, 3897, 10134, 0,
74417, 4018, 7150, 68127, 0, 0, 0, 0, 127526, 2561, 68621, 3542, 7148,
12076, 7951, 68152, 118857, 5303, 6276, 1706, 0, 78751, 7146, 0, 65150,
- 41819, 0, 73951, 10847, 41822, 9985, 860, 0, 10506, 983427, 69641, 10753,
+ 41819, 0, 73951, 10847, 41822, 9985, 860, 0, 10506, 983428, 69641, 10753,
10830, 0, 615, 64490, 7574, 92617, 77922, 0, 12909, 43016, 64559, 127028,
0, 0, 67996, 2020, 0, 4022, 128783, 0, 77923, 126593, 41691, 0, 0, 74329,
0, 64622, 9070, 0, 68411, 3911, 42829, 43122, 1033, 74440, 0, 7000, 3904,
@@ -19590,9 +19592,9 @@ static unsigned int code_hash[] = {
9425, 9426, 9427, 9428, 9429, 64758, 2362, 9655, 0, 2004, 9096, 9782,
128848, 9172, 128545, 19965, 0, 5955, 67666, 1108, 0, 74773, 0, 0, 64782,
3926, 92448, 65210, 8798, 0, 92165, 1392, 0, 0, 127364, 10606, 8065,
- 118805, 10353, 10417, 0, 0, 64524, 92418, 4019, 0, 983280, 43280, 8219,
+ 118805, 10353, 10417, 0, 0, 64524, 92418, 4019, 0, 983281, 43280, 8219,
68402, 1812, 119963, 983683, 0, 126488, 42410, 74448, 119132, 6054,
- 10697, 3169, 42297, 42322, 10642, 3909, 9950, 0, 128139, 983253, 68678,
+ 10697, 3169, 42297, 42322, 10642, 3909, 9950, 0, 128139, 983254, 68678,
0, 0, 1049, 0, 65707, 2304, 41806, 92326, 42336, 3921, 0, 11775, 64760,
11766, 1038, 42303, 9823, 127278, 69236, 4008, 64004, 8773, 10733, 36, 0,
5153, 41805, 0, 73735, 763, 41808, 64910, 983130, 2009, 0, 0, 127142,
@@ -19634,9 +19636,9 @@ static unsigned int code_hash[] = {
120130, 4267, 1631, 42206, 77983, 0, 195046, 65700, 66562, 0, 64645, 0,
0, 126588, 12586, 0, 9242, 127922, 0, 4523, 5842, 10495, 3122, 983788,
7793, 78275, 9328, 119104, 78393, 12604, 0, 6615, 2285, 92344, 3986,
- 44025, 0, 8912, 64555, 7409, 0, 983350, 9541, 78276, 0, 11275, 8540,
- 11498, 0, 983349, 41040, 2459, 0, 13060, 41041, 74413, 983138, 0, 0,
- 68427, 10450, 12551, 41043, 7020, 120353, 3765, 983342, 0, 1606, 120348,
+ 44025, 0, 8912, 64555, 7409, 0, 983351, 9541, 78276, 0, 11275, 8540,
+ 11498, 0, 983350, 41040, 2459, 0, 13060, 41041, 74413, 983138, 0, 0,
+ 68427, 10450, 12551, 41043, 7020, 120353, 3765, 983343, 0, 1606, 120348,
120351, 3093, 68436, 0, 983061, 119613, 0, 0, 4312, 74091, 120337,
120336, 11923, 4023, 120333, 5763, 94015, 4827, 10894, 12810, 64406,
118785, 4455, 74321, 433, 119620, 66660, 2499, 0, 0, 118837, 11973,
@@ -19646,11 +19648,11 @@ static unsigned int code_hash[] = {
7004, 0, 65880, 127886, 119048, 2380, 11380, 0, 93996, 2376, 0, 119320,
0, 5197, 127046, 127047, 127048, 2366, 127050, 127051, 120554, 120045, 0,
0, 0, 983084, 0, 0, 0, 74188, 71342, 983086, 983573, 120047, 128575, 0,
- 0, 120049, 0, 1847, 0, 10339, 983357, 42384, 0, 4227, 74158, 0, 92501,
- 43032, 0, 42365, 0, 12671, 11384, 0, 983457, 0, 64797, 983337, 5820,
- 983336, 120052, 120065, 0, 120064, 120650, 42137, 9893, 2754, 12664,
+ 0, 120049, 0, 1847, 0, 10339, 983358, 42384, 0, 4227, 74158, 0, 92501,
+ 43032, 0, 42365, 0, 12671, 11384, 0, 983458, 0, 64797, 983338, 5820,
+ 983337, 120052, 120065, 0, 120064, 120650, 42137, 9893, 2754, 12664,
120063, 0, 7377, 127867, 41799, 65530, 1711, 12984, 43039, 3114, 6255,
- 983332, 118938, 0, 10853, 926, 983361, 74184, 983360, 120055, 0, 43175,
+ 983333, 118938, 0, 10853, 926, 983362, 74184, 983361, 120055, 0, 43175,
0, 43037, 41798, 41035, 11583, 127769, 41801, 119088, 119605, 520, 4200,
12699, 8331, 0, 3091, 41034, 127353, 983672, 8360, 0, 78044, 321, 4229,
64543, 917946, 65563, 0, 917974, 2861, 43793, 10095, 0, 9195, 92386,
@@ -19664,7 +19666,7 @@ static unsigned int code_hash[] = {
78222, 1346, 0, 917631, 64573, 64897, 423, 1818, 65144, 0, 8272, 127812,
19911, 4218, 3087, 64960, 127234, 43564, 0, 0, 9584, 10465, 983893,
74359, 12626, 9106, 0, 42642, 120230, 64750, 9390, 0, 41797, 0, 0, 265,
- 41795, 64666, 126508, 43530, 2752, 0, 0, 983485, 59, 0, 983593, 0, 92371,
+ 41795, 64666, 126508, 43530, 2752, 0, 0, 983486, 59, 0, 983593, 0, 92371,
77873, 41810, 0, 7010, 0, 41809, 41495, 119364, 0, 42252, 42213, 8009,
3305, 43033, 511, 92700, 66255, 13127, 120067, 0, 74397, 120235, 917977,
65915, 1400, 41812, 10685, 194870, 2103, 10387, 4453, 43276, 917783,
@@ -19703,7 +19705,7 @@ static unsigned int code_hash[] = {
78719, 66573, 0, 78724, 78712, 11761, 194655, 0, 41094, 0, 0, 194893, 0,
92689, 6196, 6945, 93969, 194890, 128184, 120491, 11816, 194943, 5733,
2930, 0, 0, 41098, 0, 41093, 0, 66626, 588, 9760, 0, 194717, 1238, 200,
- 983205, 1660, 73916, 0, 118905, 74362, 0, 92485, 194651, 0, 983697, 3394,
+ 983206, 1660, 73916, 0, 118905, 74362, 0, 92485, 194651, 0, 983697, 3394,
194894, 120668, 0, 0, 127358, 66219, 127183, 43284, 194656, 7817, 1841,
11055, 120533, 194979, 194982, 1669, 10776, 194981, 7701, 194980, 0,
194995, 1732, 4030, 0, 3963, 66611, 127530, 41768, 6491, 0, 65324, 914,
@@ -19732,7 +19734,7 @@ static unsigned int code_hash[] = {
68465, 13027, 42824, 120574, 1039, 7151, 10155, 5745, 188, 41858, 11592,
0, 74015, 9055, 41853, 4858, 917780, 0, 436, 4771, 0, 2786, 0, 4856,
8051, 0, 119609, 71327, 9644, 0, 0, 0, 194916, 120732, 66710, 118834,
- 983351, 73906, 128680, 127114, 0, 10234, 5843, 11939, 0, 42157, 0, 3157,
+ 983352, 73906, 128680, 127114, 0, 10234, 5843, 11939, 0, 42157, 0, 3157,
194918, 68393, 0, 3504, 119178, 0, 10822, 5149, 66029, 10226, 65142,
128025, 3594, 42424, 194959, 40, 12657, 983656, 0, 386, 0, 8834, 0,
12815, 43574, 0, 73907, 0, 74196, 7220, 74504, 0, 74316, 0, 65322, 4304,
@@ -19746,7 +19748,7 @@ static unsigned int code_hash[] = {
42507, 1962, 43305, 78476, 42505, 11660, 0, 2072, 92312, 6995, 74173,
5437, 74174, 10669, 8702, 7964, 92352, 0, 199, 194843, 4105, 194845,
194699, 194847, 194710, 119875, 13148, 7560, 78479, 9226, 78480, 195070,
- 6472, 65814, 73954, 0, 4724, 0, 0, 9191, 0, 64432, 983808, 983241,
+ 6472, 65814, 73954, 0, 4724, 0, 0, 9191, 0, 64432, 983808, 983242,
195024, 10196, 7886, 0, 6585, 0, 6680, 195042, 0, 195051, 6679, 74412,
92251, 194866, 74421, 11382, 983622, 983628, 127891, 127484, 194833,
194832, 6681, 127482, 12693, 194836, 42727, 78196, 128252, 78195, 65442,
@@ -19792,11 +19794,11 @@ static unsigned int code_hash[] = {
64032, 42735, 64038, 64037, 64036, 64035, 4291, 194928, 64015, 64014,
64681, 194930, 0, 78145, 0, 43090, 0, 3476, 8973, 64012, 42473, 64010,
64008, 64007, 2003, 7706, 64517, 78153, 2538, 64009, 204, 0, 4802, 4111,
- 8239, 9098, 4805, 64001, 64057, 7885, 7247, 64054, 983258, 0, 4767, 9343,
+ 8239, 9098, 4805, 64001, 64057, 7885, 7247, 64054, 983259, 0, 4767, 9343,
64049, 64048, 120034, 1133, 64053, 64052, 43453, 64050, 41340, 118975,
194835, 10005, 12329, 41333, 0, 8489, 1942, 0, 194834, 42520, 128249, 0,
0, 10760, 64023, 64022, 64021, 6582, 43670, 0, 64025, 9167, 42151, 78244,
- 983226, 2026, 64019, 64018, 64017, 64016, 12768, 0, 7582, 78252, 78248,
+ 983227, 2026, 64019, 64018, 64017, 64016, 12768, 0, 7582, 78252, 78248,
77914, 78246, 78247, 0, 77915, 78766, 6788, 13094, 77920, 7532, 41414,
78520, 3179, 78518, 64769, 78514, 78517, 11461, 74454, 10751, 9051,
120720, 6708, 10535, 0, 68218, 55274, 2008, 64031, 64030, 294, 41874, 0,
@@ -19804,7 +19806,7 @@ static unsigned int code_hash[] = {
6343, 43247, 119888, 0, 119886, 119891, 119892, 119889, 11433, 119895,
119896, 0, 7801, 65578, 194839, 12915, 43968, 3297, 9699, 194955, 1135,
0, 0, 128525, 1995, 6722, 983916, 0, 2552, 41546, 60, 68394, 8649, 41549,
- 78496, 983319, 0, 6682, 0, 78679, 64710, 41547, 983621, 2013, 128291,
+ 78496, 983320, 0, 6682, 0, 78679, 64710, 41547, 983621, 2013, 128291,
78530, 78532, 78528, 78529, 12832, 78493, 8081, 8362, 3537, 119908, 9137,
7155, 8999, 0, 78533, 3466, 0, 0, 1996, 0, 3453, 6282, 0, 2002, 2000,
120175, 537, 0, 4179, 65119, 1998, 0, 1842, 0, 92674, 9628, 68446, 12081,
@@ -19819,7 +19821,7 @@ static unsigned int code_hash[] = {
#define code_poly 32771
static const unsigned int aliases_start = 0xf0000;
-static const unsigned int aliases_end = 0xf01c1;
+static const unsigned int aliases_end = 0xf01c2;
static const unsigned int name_aliases[] = {
0x0000,
0x0000,
@@ -19982,6 +19984,7 @@ static const unsigned int name_aliases[] = {
0x01A2,
0x01A3,
0x034F,
+ 0x0709,
0x0CDE,
0x0E9D,
0x0E9F,
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index 2feb2a827c..603efd6bba 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -862,6 +862,7 @@ read_directory(PyObject *archive)
long l, count;
Py_ssize_t i;
char name[MAXPATHLEN + 5];
+ char dummy[8]; /* Buffer to read unused header values into */
PyObject *nameobj = NULL;
char *p, endof_central_dir[22];
Py_ssize_t arc_offset; /* Absolute offset to start of the zip-archive. */
@@ -905,17 +906,23 @@ read_directory(PyObject *archive)
/* Start of Central Directory */
count = 0;
+ if (fseek(fp, header_offset, 0) == -1)
+ goto file_error;
for (;;) {
PyObject *t;
int err;
- if (fseek(fp, header_offset, 0) == -1) /* Start of file header */
- goto fseek_error;
+ /* Start of file header */
l = PyMarshal_ReadLongFromFile(fp);
if (l != 0x02014B50)
break; /* Bad: Central Dir File Header */
- if (fseek(fp, header_offset + 8, 0) == -1)
- goto fseek_error;
+
+ /* On Windows, calling fseek to skip over the fields we don't use is
+ slower than reading the data into a dummy buffer because fseek flushes
+ stdio's internal buffers. See issue #8745. */
+ if (fread(dummy, 1, 4, fp) != 4) /* Skip unused fields, avoid fseek */
+ goto file_error;
+
flags = (unsigned short)PyMarshal_ReadShortFromFile(fp);
compress = PyMarshal_ReadShortFromFile(fp);
time = PyMarshal_ReadShortFromFile(fp);
@@ -924,11 +931,11 @@ read_directory(PyObject *archive)
data_size = PyMarshal_ReadLongFromFile(fp);
file_size = PyMarshal_ReadLongFromFile(fp);
name_size = PyMarshal_ReadShortFromFile(fp);
- header_size = 46 + name_size +
+ header_size = name_size +
PyMarshal_ReadShortFromFile(fp) +
PyMarshal_ReadShortFromFile(fp);
- if (fseek(fp, header_offset + 42, 0) == -1)
- goto fseek_error;
+ if (fread(dummy, 1, 8, fp) != 8) /* Skip unused fields, avoid fseek */
+ goto file_error;
file_offset = PyMarshal_ReadLongFromFile(fp) + arc_offset;
if (name_size > MAXPATHLEN)
name_size = MAXPATHLEN;
@@ -941,7 +948,9 @@ read_directory(PyObject *archive)
p++;
}
*p = 0; /* Add terminating null byte */
- header_offset += header_size;
+ for (; i < header_size; i++) /* Skip the rest of the header */
+ if(getc(fp) == EOF) /* Avoid fseek */
+ goto file_error;
bootstrap = 0;
if (flags & 0x0800)
@@ -988,7 +997,7 @@ read_directory(PyObject *archive)
PySys_FormatStderr("# zipimport: found %ld names in %R\n",
count, archive);
return files;
-fseek_error:
+file_error:
fclose(fp);
Py_XDECREF(files);
Py_XDECREF(nameobj);
@@ -1249,7 +1258,7 @@ normalize_line_endings(PyObject *source)
}
/* Given a string buffer containing Python source code, compile it
- return and return a code object as a new reference. */
+ and return a code object as a new reference. */
static PyObject *
compile_source(PyObject *pathname, PyObject *source)
{
diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c
index e718795fa7..169903e7ea 100644
--- a/Modules/zlibmodule.c
+++ b/Modules/zlibmodule.c
@@ -132,10 +132,30 @@ newcompobject(PyTypeObject *type)
}
#ifdef WITH_THREAD
self->lock = PyThread_allocate_lock();
+ if (self->lock == NULL) {
+ PyErr_SetString(PyExc_MemoryError, "Unable to allocate lock");
+ return NULL;
+ }
#endif
return self;
}
+static void*
+PyZlib_Malloc(voidpf ctx, uInt items, uInt size)
+{
+ if (items > (size_t)PY_SSIZE_T_MAX / size)
+ return NULL;
+ /* PyMem_Malloc() cannot be used: the GIL is not held when
+ inflate() and deflate() are called */
+ return PyMem_RawMalloc(items * size);
+}
+
+static void
+PyZlib_Free(voidpf ctx, void *ptr)
+{
+ PyMem_RawFree(ptr);
+}
+
PyDoc_STRVAR(compress__doc__,
"compress(string[, level]) -- Returned compressed string.\n"
"\n"
@@ -161,11 +181,11 @@ PyZlib_compress(PyObject *self, PyObject *args)
goto error;
}
input = pinput.buf;
- length = pinput.len;
+ length = (unsigned int)pinput.len;
zst.avail_out = length + length/1000 + 12 + 1;
- output = (Byte*)malloc(zst.avail_out);
+ output = (Byte*)PyMem_Malloc(zst.avail_out);
if (output == NULL) {
PyErr_SetString(PyExc_MemoryError,
"Can't allocate memory to compress data");
@@ -175,8 +195,9 @@ PyZlib_compress(PyObject *self, PyObject *args)
/* Past the point of no return. From here on out, we need to make sure
we clean up mallocs & INCREFs. */
- zst.zalloc = (alloc_func)NULL;
- zst.zfree = (free_func)Z_NULL;
+ zst.opaque = NULL;
+ zst.zalloc = PyZlib_Malloc;
+ zst.zfree = PyZlib_Free;
zst.next_out = (Byte *)output;
zst.next_in = (Byte *)input;
zst.avail_in = length;
@@ -218,7 +239,7 @@ PyZlib_compress(PyObject *self, PyObject *args)
error:
PyBuffer_Release(&pinput);
- free(output);
+ PyMem_Free(output);
return ReturnVal;
}
@@ -251,7 +272,7 @@ PyZlib_decompress(PyObject *self, PyObject *args)
goto error;
}
input = pinput.buf;
- length = pinput.len;
+ length = (unsigned int)pinput.len;
if (r_strlen <= 0)
r_strlen = 1;
@@ -262,8 +283,9 @@ PyZlib_decompress(PyObject *self, PyObject *args)
if (!(result_str = PyBytes_FromStringAndSize(NULL, r_strlen)))
goto error;
- zst.zalloc = (alloc_func)NULL;
- zst.zfree = (free_func)Z_NULL;
+ zst.opaque = NULL;
+ zst.zalloc = PyZlib_Malloc;
+ zst.zfree = PyZlib_Free;
zst.next_out = (Byte *)PyBytes_AS_STRING(result_str);
zst.next_in = (Byte *)input;
err = inflateInit2(&zst, wsize);
@@ -356,8 +378,9 @@ PyZlib_compressobj(PyObject *selfptr, PyObject *args, PyObject *kwargs)
self = newcompobject(&Comptype);
if (self==NULL)
goto error;
- self->zst.zalloc = (alloc_func)NULL;
- self->zst.zfree = (free_func)Z_NULL;
+ self->zst.opaque = NULL;
+ self->zst.zalloc = PyZlib_Malloc;
+ self->zst.zfree = PyZlib_Free;
self->zst.next_in = NULL;
self->zst.avail_in = 0;
err = deflateInit2(&self->zst, level, method, wbits, memLevel, strategy);
@@ -420,8 +443,9 @@ PyZlib_decompressobj(PyObject *selfptr, PyObject *args, PyObject *kwargs)
self = newcompobject(&Decomptype);
if (self == NULL)
return(NULL);
- self->zst.zalloc = (alloc_func)NULL;
- self->zst.zfree = (free_func)Z_NULL;
+ self->zst.opaque = NULL;
+ self->zst.zalloc = PyZlib_Malloc;
+ self->zst.zfree = PyZlib_Free;
self->zst.next_in = NULL;
self->zst.avail_in = 0;
if (zdict != NULL) {
@@ -525,8 +549,7 @@ PyZlib_objcompress(compobject *self, PyObject *args)
so extend the output buffer and try again */
while (err == Z_OK && self->zst.avail_out == 0) {
if (_PyBytes_Resize(&RetVal, length << 1) < 0) {
- Py_DECREF(RetVal);
- RetVal = NULL;
+ Py_CLEAR(RetVal);
goto error;
}
self->zst.next_out =
@@ -550,8 +573,7 @@ PyZlib_objcompress(compobject *self, PyObject *args)
goto error;
}
if (_PyBytes_Resize(&RetVal, self->zst.total_out - start_total_out) < 0) {
- Py_DECREF(RetVal);
- RetVal = NULL;
+ Py_CLEAR(RetVal);
}
error:
@@ -573,7 +595,7 @@ save_unconsumed_input(compobject *self, int err)
Py_ssize_t old_size = PyBytes_GET_SIZE(self->unused_data);
Py_ssize_t new_size;
PyObject *new_data;
- if (self->zst.avail_in > PY_SSIZE_T_MAX - old_size) {
+ if ((Py_ssize_t)self->zst.avail_in > PY_SSIZE_T_MAX - old_size) {
PyErr_NoMemory();
return -1;
}
@@ -698,8 +720,7 @@ PyZlib_objdecompress(compobject *self, PyObject *args)
length = max_length;
if (_PyBytes_Resize(&RetVal, length) < 0) {
- Py_DECREF(RetVal);
- RetVal = NULL;
+ Py_CLEAR(RetVal);
goto error;
}
self->zst.next_out =
@@ -733,8 +754,7 @@ PyZlib_objdecompress(compobject *self, PyObject *args)
}
if (_PyBytes_Resize(&RetVal, self->zst.total_out - start_total_out) < 0) {
- Py_DECREF(RetVal);
- RetVal = NULL;
+ Py_CLEAR(RetVal);
}
error:
@@ -787,8 +807,7 @@ PyZlib_flush(compobject *self, PyObject *args)
so extend the output buffer and try again */
while (err == Z_OK && self->zst.avail_out == 0) {
if (_PyBytes_Resize(&RetVal, length << 1) < 0) {
- Py_DECREF(RetVal);
- RetVal = NULL;
+ Py_CLEAR(RetVal);
goto error;
}
self->zst.next_out =
@@ -827,8 +846,7 @@ PyZlib_flush(compobject *self, PyObject *args)
}
if (_PyBytes_Resize(&RetVal, self->zst.total_out - start_total_out) < 0) {
- Py_DECREF(RetVal);
- RetVal = NULL;
+ Py_CLEAR(RetVal);
}
error:
@@ -988,8 +1006,7 @@ PyZlib_unflush(compobject *self, PyObject *args)
so extend the output buffer and try again */
while ((err == Z_OK || err == Z_BUF_ERROR) && self->zst.avail_out == 0) {
if (_PyBytes_Resize(&retval, length << 1) < 0) {
- Py_DECREF(retval);
- retval = NULL;
+ Py_CLEAR(retval);
goto error;
}
self->zst.next_out = (Byte *)PyBytes_AS_STRING(retval) + length;
@@ -1021,8 +1038,7 @@ PyZlib_unflush(compobject *self, PyObject *args)
}
if (_PyBytes_Resize(&retval, self->zst.total_out - start_total_out) < 0) {
- Py_DECREF(retval);
- retval = NULL;
+ Py_CLEAR(retval);
}
error:
@@ -1094,10 +1110,10 @@ PyZlib_adler32(PyObject *self, PyObject *args)
buf += (size_t) UINT_MAX;
len -= (size_t) UINT_MAX;
}
- adler32val = adler32(adler32val, buf, len);
+ adler32val = adler32(adler32val, buf, (unsigned int)len);
Py_END_ALLOW_THREADS
} else {
- adler32val = adler32(adler32val, pbuf.buf, pbuf.len);
+ adler32val = adler32(adler32val, pbuf.buf, (unsigned int)pbuf.len);
}
PyBuffer_Release(&pbuf);
return PyLong_FromUnsignedLong(adler32val & 0xffffffffU);
@@ -1132,10 +1148,10 @@ PyZlib_crc32(PyObject *self, PyObject *args)
buf += (size_t) UINT_MAX;
len -= (size_t) UINT_MAX;
}
- signed_val = crc32(crc32val, buf, len);
+ signed_val = crc32(crc32val, buf, (unsigned int)len);
Py_END_ALLOW_THREADS
} else {
- signed_val = crc32(crc32val, pbuf.buf, pbuf.len);
+ signed_val = crc32(crc32val, pbuf.buf, (unsigned int)pbuf.len);
}
PyBuffer_Release(&pbuf);
return PyLong_FromUnsignedLong(signed_val & 0xffffffffU);
@@ -1266,20 +1282,20 @@ PyInit_zlib(void)
Py_INCREF(ZlibError);
PyModule_AddObject(m, "error", ZlibError);
}
- PyModule_AddIntConstant(m, "MAX_WBITS", MAX_WBITS);
- PyModule_AddIntConstant(m, "DEFLATED", DEFLATED);
- PyModule_AddIntConstant(m, "DEF_MEM_LEVEL", DEF_MEM_LEVEL);
- PyModule_AddIntConstant(m, "Z_BEST_SPEED", Z_BEST_SPEED);
- PyModule_AddIntConstant(m, "Z_BEST_COMPRESSION", Z_BEST_COMPRESSION);
- PyModule_AddIntConstant(m, "Z_DEFAULT_COMPRESSION", Z_DEFAULT_COMPRESSION);
- PyModule_AddIntConstant(m, "Z_FILTERED", Z_FILTERED);
- PyModule_AddIntConstant(m, "Z_HUFFMAN_ONLY", Z_HUFFMAN_ONLY);
- PyModule_AddIntConstant(m, "Z_DEFAULT_STRATEGY", Z_DEFAULT_STRATEGY);
-
- PyModule_AddIntConstant(m, "Z_FINISH", Z_FINISH);
- PyModule_AddIntConstant(m, "Z_NO_FLUSH", Z_NO_FLUSH);
- PyModule_AddIntConstant(m, "Z_SYNC_FLUSH", Z_SYNC_FLUSH);
- PyModule_AddIntConstant(m, "Z_FULL_FLUSH", Z_FULL_FLUSH);
+ PyModule_AddIntMacro(m, MAX_WBITS);
+ PyModule_AddIntMacro(m, DEFLATED);
+ PyModule_AddIntMacro(m, DEF_MEM_LEVEL);
+ PyModule_AddIntMacro(m, Z_BEST_SPEED);
+ PyModule_AddIntMacro(m, Z_BEST_COMPRESSION);
+ PyModule_AddIntMacro(m, Z_DEFAULT_COMPRESSION);
+ PyModule_AddIntMacro(m, Z_FILTERED);
+ PyModule_AddIntMacro(m, Z_HUFFMAN_ONLY);
+ PyModule_AddIntMacro(m, Z_DEFAULT_STRATEGY);
+
+ PyModule_AddIntMacro(m, Z_FINISH);
+ PyModule_AddIntMacro(m, Z_NO_FLUSH);
+ PyModule_AddIntMacro(m, Z_SYNC_FLUSH);
+ PyModule_AddIntMacro(m, Z_FULL_FLUSH);
ver = PyUnicode_FromString(ZLIB_VERSION);
if (ver != NULL)