test - Add crypto(dev) tests from OpenBSD
authorAlex Hornung <ahornung@gmail.com>
Sat, 21 Aug 2010 12:58:23 +0000 (13:58 +0100)
committerAlex Hornung <ahornung@gmail.com>
Sat, 21 Aug 2010 13:13:17 +0000 (14:13 +0100)
* Obtained-from: OpenBSD

14 files changed:
test/crypto/aes/Makefile [new file with mode: 0644]
test/crypto/aes/aestest.c [new file with mode: 0644]
test/crypto/aes/ecbnk44.txt [new file with mode: 0644]
test/crypto/aes/ecbnk48.txt [new file with mode: 0644]
test/crypto/aes/ecbnt44.txt [new file with mode: 0644]
test/crypto/aes/ecbnt48.txt [new file with mode: 0644]
test/crypto/aes/ecbvk44.txt [new file with mode: 0644]
test/crypto/aes/ecbvk48.txt [new file with mode: 0644]
test/crypto/aes/ecbvt44.txt [new file with mode: 0644]
test/crypto/aes/ecbvt48.txt [new file with mode: 0644]
test/crypto/aesctr/Makefile [new file with mode: 0644]
test/crypto/aesctr/aesctr.c [new file with mode: 0644]
test/crypto/aesxts/Makefile [new file with mode: 0644]
test/crypto/aesxts/aes_xts.c [new file with mode: 0644]

diff --git a/test/crypto/aes/Makefile b/test/crypto/aes/Makefile
new file mode 100644 (file)
index 0000000..2a7b4ad
--- /dev/null
@@ -0,0 +1,4 @@
+PROG=  aestest
+NOMAN=
+
+.include <bsd.prog.mk>
diff --git a/test/crypto/aes/aestest.c b/test/crypto/aes/aestest.c
new file mode 100644 (file)
index 0000000..77ea583
--- /dev/null
@@ -0,0 +1,366 @@
+/*      $OpenBSD: djm $  */
+
+/*
+ * Copyright (c) 2002 Markus Friedl.  All rights reserved.
+ * Copyright (c) 2008 Damien Miller.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Test crypto(4) AES with test vectors provided by Dr Brian Gladman:
+ * http://fp.gladman.plus.com/AES/
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/ioctl.h>
+#include <sys/sysctl.h>
+#include <crypto/cryptodev.h>
+#include <err.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <ctype.h>
+
+static int
+syscrypt(const unsigned char *key, size_t klen, const unsigned char *in,
+    unsigned char *out, size_t len, int do_encrypt)
+{
+       struct session_op session;
+       struct crypt_op cryp;
+       int cryptodev_fd = -1, fd = -1;
+       u_char iv[32];
+
+       /*
+        * Kludge; the kernel doesn't support ECB encryption so we
+        * use a all-zero IV and encrypt a single block only, so the
+        * result should be the same.
+        */
+       bzero(iv, sizeof(iv));
+
+       if ((cryptodev_fd = open("/dev/crypto", O_RDWR, 0)) < 0) {
+               warn("/dev/crypto");
+               goto err;
+       }
+       if (ioctl(cryptodev_fd, CRIOGET, &fd) == -1) {
+               warn("CRIOGET failed");
+               goto err;
+       }
+       memset(&session, 0, sizeof(session));
+       session.cipher = CRYPTO_AES_CBC;
+       session.key = (caddr_t) key;
+       session.keylen = klen;
+       if (ioctl(fd, CIOCGSESSION, &session) == -1) {
+               warn("CIOCGSESSION");
+               goto err;
+       }
+       memset(&cryp, 0, sizeof(cryp));
+       cryp.ses = session.ses;
+       cryp.op = do_encrypt ? COP_ENCRYPT : COP_DECRYPT;
+       cryp.flags = 0;
+       cryp.len = len;
+       cryp.src = (caddr_t) in;
+       cryp.dst = (caddr_t) out;
+       cryp.iv = (caddr_t) iv;
+       cryp.mac = 0;
+       if (ioctl(fd, CIOCCRYPT, &cryp) == -1) {
+               warn("CIOCCRYPT");
+               goto err;
+       }
+       if (ioctl(fd, CIOCFSESSION, &session.ses) == -1) {
+               warn("CIOCFSESSION");
+               goto err;
+       }
+       close(fd);
+       close(cryptodev_fd);
+       return (0);
+
+err:
+       if (fd != -1)
+               close(fd);
+       if (cryptodev_fd != -1)
+               close(cryptodev_fd);
+       return (-1);
+}
+
+static int
+getallowsoft(void)
+{
+       int mib[2], old;
+       size_t olen;
+
+       olen = sizeof(old);
+
+       if (sysctlbyname("kern.cryptodevallowsoft", &old, &olen, NULL, 0) < 0)
+               err(1, "sysctl failed");
+
+       return old;
+}
+
+static void
+setallowsoft(int new)
+{
+       int mib[2], old;
+       size_t olen, nlen;
+
+       olen = nlen = sizeof(new);
+
+       if (sysctlbyname("kern.cryptodevallowsoft", &old, &olen, &new, nlen) < 0)
+               err(1, "sysctl failed");
+}
+
+static int
+match(unsigned char *a, unsigned char *b, size_t len)
+{
+       size_t i;
+
+       if (memcmp(a, b, len) == 0)
+               return (1);
+
+       warnx("decrypt/plaintext mismatch");
+
+       for (i = 0; i < len; i++)
+               printf("%2.2x", a[i]);
+       printf("\n");
+       for (i = 0; i < len; i++)
+               printf("%2.2x", b[i]);
+       printf("\n");
+
+       return (0);
+}
+
+/*
+ * Match expected substring at start of line. If sequence is match, return
+ * a pointer to the first character in the string past the sequence and and
+ * following whitespace.
+ * returns NULL is the start of the line does not match.
+ */
+static const char *
+startswith(const char *line, const char *startswith)
+{
+       size_t len = strlen(startswith);
+
+       if (strncmp(line, startswith, len) != 0)
+               return NULL;
+       line = line + len;
+       while (isspace(*line))
+               line++;
+       return line;
+}
+
+/* Read a hex string and convert to bytes */
+static void
+parsehex(const char *hex, u_char **s, u_int *lenp)
+{
+       u_char *ret, v;
+       u_int i, len;
+       char c;
+
+       len = i = 0;
+       ret = NULL;
+       v = 0;
+       while ((c = *(hex++)) != '\0') {
+               if (strchr(" \t\r\n", c) != NULL)
+                       continue;
+               if (c >= '0' && c <= '9')
+                       v |= c - '0';
+               else if (c >= 'a' && c <= 'f')
+                       v |= 10 + (c - 'a');
+               else if (c >= 'A' && c <= 'F')
+                       v |= 10 + c - 'A';
+               else
+                       errx(1, "%s: invalid character \"%c\" in hex string",
+                           __func__, c);
+               switch (++i) {
+               case 1:
+                       v <<= 4;
+                       break;
+               case 2:
+                       if ((ret = realloc(ret, ++len)) == NULL)
+                               errx(1, "realloc(%u)", len);
+                       ret[len - 1] = v;
+                       v = 0;
+                       i = 0;
+               }
+       }
+       if (i != 0)
+               errx(1, "%s: odd number of characters in hex string", __func__);
+       *lenp = len;
+       *s = ret;
+}
+
+static int
+do_tests(const char *filename, int test_num, u_char *key, u_int keylen,
+    u_char *plaintext, u_char *ciphertext, u_int textlen)
+{
+       char result[32];
+       int fail = 0;
+
+       /* Encrypt test */
+       if (syscrypt(key, keylen, plaintext, result, textlen, 1) < 0) {
+               warnx("encrypt with /dev/crypto failed");
+               fail++;
+       } else if (!match(result, ciphertext, textlen)) {
+               fail++;
+       } else
+               printf("OK encrypt test vector %s %u\n", filename, test_num);
+
+       /* Decrypt test */
+       if (syscrypt(key, keylen, ciphertext, result, textlen, 0) < 0) {
+               warnx("decrypt with /dev/crypto failed");
+               fail++;
+       } else if (!match(result, plaintext, textlen)) {
+               fail++;
+       } else
+               printf("OK decrypt test vector %s %u\n", filename, test_num);
+
+       return fail;
+}
+
+static int
+run_file(const char *filename)
+{
+       FILE *tv;
+       char buf[1024], *eol;
+       const char *cp, *errstr;
+       int lnum = 0, fail = 0;
+       u_char *key, *plaintext, *ciphertext;
+       u_int keylen, textlen, tmp;
+       int blocksize, keysize, test;
+
+       if ((tv = fopen(filename, "r")) == NULL)
+               err(1, "fopen(\"%s\")", filename);
+
+       keylen = textlen = tmp = 0;
+       key = ciphertext = plaintext = NULL;
+       blocksize = keysize = test = -1;
+       while ((fgets(buf, sizeof(buf), tv)) != NULL) {
+               lnum++;
+               eol = buf + strlen(buf) - 1;
+               if (*eol != '\n')
+                       errx(1, "line %d: too long", lnum);
+               if (eol > buf && *(eol - 1) == '\r')
+                       eol--;
+               *eol = '\0';
+               if ((cp = startswith(buf, "BLOCKSIZE=")) != NULL) {
+                       if (blocksize != -1)
+                               errx(1, "line %d: blocksize already set", lnum);
+                       blocksize = (int)strtonum(cp, 128, 128, &errstr);
+                       if (errstr)
+                               errx(1, "line %d: blocksize is %s: \"%s\"",
+                                   lnum, errstr, cp);
+               } else if ((cp = startswith(buf, "KEYSIZE=")) != NULL) {
+                       if (keysize != -1)
+                               errx(1, "line %d: keysize already set", lnum);
+                       keysize = (int)strtonum(cp, 128, 256, &errstr);
+                       if (errstr)
+                               errx(1, "line %d: keysize is %s: \"%s\"",
+                                   lnum, errstr, cp);
+                       if (keysize != 128 && keysize != 256)
+                               errx(1, "line %d: XXX only 128 or 256 "
+                                   "bit keys for now (keysize = %d)",
+                                   lnum, keysize);
+               } else if ((cp = startswith(buf, "PT=")) != NULL) {
+                       if (plaintext != NULL)
+                               free(plaintext);
+                       parsehex(cp, &plaintext, &tmp);
+                       if (tmp * 8 != (u_int)blocksize)
+                               errx(1, "line %d: plaintext len %u != "
+                                   "blocklen %d", lnum, tmp, blocksize);
+                       if (textlen != 0) {
+                               if (textlen != tmp)
+                                       errx(1, "line %d: plaintext len %u != "
+                                           "ciphertext len %d", lnum, tmp,
+                                           textlen);
+                       } else
+                               textlen = tmp;
+               } else if ((cp = startswith(buf, "CT=")) != NULL) {
+                       if (ciphertext != NULL)
+                               free(ciphertext);
+                       parsehex(cp, &ciphertext, &tmp);
+                       if (tmp * 8 != (u_int)blocksize)
+                               errx(1, "line %d: ciphertext len %u != "
+                                   "blocklen %d", lnum, tmp, blocksize);
+                       if (textlen != 0) {
+                               if (textlen != tmp)
+                                       errx(1, "line %d: ciphertext len %u != "
+                                           "plaintext len %d", lnum, tmp,
+                                           textlen);
+                       } else
+                               textlen = tmp;
+               } else if ((cp = startswith(buf, "KEY=")) != NULL) {
+                       if (key != NULL)
+                               free(key);
+                       parsehex(cp, &key, &keylen);
+                       if (keylen * 8 != (u_int)keysize)
+                               errx(1, "line %d: ciphertext len %u != "
+                                   "blocklen %d", lnum, tmp, textlen);
+               } else if ((cp = startswith(buf, "TEST=")) != NULL) {
+                       if (plaintext == NULL || ciphertext == NULL ||
+                           key == NULL || blocksize == -1 || keysize == -1) {
+                               if (test != -1)
+                                       errx(1, "line %d: new test before "
+                                           "parameters", lnum);
+                               goto parsetest;
+                       }
+                       /* do the tests */
+                       fail += do_tests(filename, test, key, keylen,
+                           plaintext, ciphertext, textlen);
+ parsetest:
+                       test = (int)strtonum(cp, 0, 65536, &errstr);
+                       if (errstr)
+                               errx(1, "line %d: test is %s: \"%s\"",
+                                   lnum, errstr, cp);
+               } else {
+                       /* don't care */
+                       continue;
+               }
+       }
+       fclose(tv);
+
+       return fail;
+}
+
+int
+main(int argc, char **argv)
+{
+       int allowed = 0, fail = 0, i;
+
+       if (argc < 2)
+               errx(1, "usage: aestest [test-vector-file]");
+
+       if (geteuid() == 0) {
+               allowed = getallowsoft();
+               if (allowed == 0)
+                       setallowsoft(1);
+       }
+
+       for (i = 1; i < argc; i++)
+               fail += run_file(argv[1]);
+
+       if (geteuid() == 0 && allowed == 0)
+               setallowsoft(0);
+
+       return fail > 0 ? 1 : 0;
+}
diff --git a/test/crypto/aes/ecbnk44.txt b/test/crypto/aes/ecbnk44.txt
new file mode 100644 (file)
index 0000000..7047566
--- /dev/null
@@ -0,0 +1,779 @@
+==============================================\r
+Author:    Dr B R Gladman (                 )\r
+Test:      ECB Variable Key Known Answer Tests\r
+Algorithm: Extended Rijndael (an AES Superset)\r
+Filename:  ecbnk44.txt\r
+==============================================\r
+\r
+BLOCKSIZE=128\r
+KEYSIZE=  128\r
+\r
+PT=   00000000000000000000000000000000\r
+TEST= 0\r
+KEY=  00000000000000000000000000000000\r
+CT=   66e94bd4ef8a2c3b884cfa59ca342b2e\r
+TEST= 1\r
+KEY=  00000000000000000000000000000001\r
+CT=   0545aad56da2a97c3663d1432a3d1c84\r
+TEST= 2\r
+KEY=  00000000000000000000000000000003\r
+CT=   0d00c6457a47c6bb8cfe076f6e2b1e15\r
+TEST= 3\r
+KEY=  00000000000000000000000000000007\r
+CT=   429c3c22dc979510833529cb64de09e3\r
+TEST= 4\r
+KEY=  0000000000000000000000000000000f\r
+CT=   0d68e0da8ec69a1854cc16be884ade2f\r
+TEST= 5\r
+KEY=  0000000000000000000000000000001f\r
+CT=   9a2daa4fac08769bbb1ca4f2353b1a3e\r
+TEST= 6\r
+KEY=  0000000000000000000000000000003f\r
+CT=   88325854766eba22ceaa99abd630f258\r
+TEST= 7\r
+KEY=  0000000000000000000000000000007f\r
+CT=   e0f2198deda952b01ea8ffea4171e66d\r
+TEST= 8\r
+KEY=  000000000000000000000000000000ff\r
+CT=   d5c98c48255f78cc47e149e55cfc3ffd\r
+TEST= 9\r
+KEY=  000000000000000000000000000001ff\r
+CT=   09ccb66c1f0ce1854dc191c1373acb8c\r
+TEST= 10\r
+KEY=  000000000000000000000000000003ff\r
+CT=   14dfa44b544d2ca39a9a1c9a3d75fed8\r
+TEST= 11\r
+KEY=  000000000000000000000000000007ff\r
+CT=   e7df1b3adc7ebbdce19f15c82f173126\r
+TEST= 12\r
+KEY=  00000000000000000000000000000fff\r
+CT=   8dc8a75eaf822ddf416988713e9b6e4d\r
+TEST= 13\r
+KEY=  00000000000000000000000000001fff\r
+CT=   bc435a1dcdf8830d82cd5abe7bf71e46\r
+TEST= 14\r
+KEY=  00000000000000000000000000003fff\r
+CT=   81835a69fe117b54fdb7916bcc091e71\r
+TEST= 15\r
+KEY=  00000000000000000000000000007fff\r
+CT=   e0af87cd4468c740ab180289f3738b6f\r
+TEST= 16\r
+KEY=  0000000000000000000000000000ffff\r
+CT=   fc84885326b157843a4d200d86021b33\r
+TEST= 17\r
+KEY=  0000000000000000000000000001ffff\r
+CT=   be337b0bcabab18d3392a4d29f8d419d\r
+TEST= 18\r
+KEY=  0000000000000000000000000003ffff\r
+CT=   33a78574fedc6dcca40ee0f51ef11037\r
+TEST= 19\r
+KEY=  0000000000000000000000000007ffff\r
+CT=   db1821758c24162b81dc8ca0add209ab\r
+TEST= 20\r
+KEY=  000000000000000000000000000fffff\r
+CT=   d3d6d60115e9043b119649ad2e7f7f84\r
+TEST= 21\r
+KEY=  000000000000000000000000001fffff\r
+CT=   750d9e49b62cb695ae2f6680ed434451\r
+TEST= 22\r
+KEY=  000000000000000000000000003fffff\r
+CT=   818e95e5c0e00179e04c08dbc357ddd8\r
+TEST= 23\r
+KEY=  000000000000000000000000007fffff\r
+CT=   3803f7220b65bbc880ba1488241cb1ba\r
+TEST= 24\r
+KEY=  00000000000000000000000000ffffff\r
+CT=   2fcebd84763a9de4709973f5e0621ed6\r
+TEST= 25\r
+KEY=  00000000000000000000000001ffffff\r
+CT=   effa0eb04d6f22f209bb143bc736fac2\r
+TEST= 26\r
+KEY=  00000000000000000000000003ffffff\r
+CT=   85bdbf034b7ee6ae3b4fae3792aa9d39\r
+TEST= 27\r
+KEY=  00000000000000000000000007ffffff\r
+CT=   7b775b78421acd32973a4f437df7ed52\r
+TEST= 28\r
+KEY=  0000000000000000000000000fffffff\r
+CT=   49377373c74f6ef924210fc45883fdc6\r
+TEST= 29\r
+KEY=  0000000000000000000000001fffffff\r
+CT=   7d0a9cad70099b5133f09161e91d6c32\r
+TEST= 30\r
+KEY=  0000000000000000000000003fffffff\r
+CT=   1a9106be9d21a2bdeaf6d78bc8b2cba5\r
+TEST= 31\r
+KEY=  0000000000000000000000007fffffff\r
+CT=   21b574eb8ea8c3de03a75ad887b513eb\r
+TEST= 32\r
+KEY=  000000000000000000000000ffffffff\r
+CT=   51c039a643c8c227e8a1ed4a68eb9764\r
+TEST= 33\r
+KEY=  000000000000000000000001ffffffff\r
+CT=   182e9a760136eed736c8aa8ec57fa714\r
+TEST= 34\r
+KEY=  000000000000000000000003ffffffff\r
+CT=   1ed5c7412ccfa01e857787d5ac380884\r
+TEST= 35\r
+KEY=  000000000000000000000007ffffffff\r
+CT=   22ba5de0abcef81dd10f91478713d525\r
+TEST= 36\r
+KEY=  00000000000000000000000fffffffff\r
+CT=   85bc221981c0018f764f0008d07205fe\r
+TEST= 37\r
+KEY=  00000000000000000000001fffffffff\r
+CT=   f137a8dbbf79f953d6e264937567c63d\r
+TEST= 38\r
+KEY=  00000000000000000000003fffffffff\r
+CT=   4aa85f7a1bebafea39994f8301b71604\r
+TEST= 39\r
+KEY=  00000000000000000000007fffffffff\r
+CT=   4a42c5efe9d37cc1863c47329e01a848\r
+TEST= 40\r
+KEY=  0000000000000000000000ffffffffff\r
+CT=   93b1dd3660968ecb7028c3907f75a286\r
+TEST= 41\r
+KEY=  0000000000000000000001ffffffffff\r
+CT=   380d90a2b2bd02a88077709b541f3abc\r
+TEST= 42\r
+KEY=  0000000000000000000003ffffffffff\r
+CT=   244082dad08c1fcfc2c103e4c7076dc2\r
+TEST= 43\r
+KEY=  0000000000000000000007ffffffffff\r
+CT=   a409417dac7f965837ca5502e4eab343\r
+TEST= 44\r
+KEY=  000000000000000000000fffffffffff\r
+CT=   0e3a5b0efffbc3ef35965d1f96372901\r
+TEST= 45\r
+KEY=  000000000000000000001fffffffffff\r
+CT=   fe6fb6d8c48c115c20a8158885c2b72b\r
+TEST= 46\r
+KEY=  000000000000000000003fffffffffff\r
+CT=   2d9d8b3ebf6817c337abc8c2ab535e25\r
+TEST= 47\r
+KEY=  000000000000000000007fffffffffff\r
+CT=   f1ede289f8af21cde3da4c91c10d810e\r
+TEST= 48\r
+KEY=  00000000000000000000ffffffffffff\r
+CT=   433680649d361d1fd7222bfdad181b85\r
+TEST= 49\r
+KEY=  00000000000000000001ffffffffffff\r
+CT=   aad4b99b596fb1eb563a503b1cffc818\r
+TEST= 50\r
+KEY=  00000000000000000003ffffffffffff\r
+CT=   c5aefd373d76a68ec6e8cff783822665\r
+TEST= 51\r
+KEY=  00000000000000000007ffffffffffff\r
+CT=   c0488fe94a2c4a29ad3dfa851e829d2e\r
+TEST= 52\r
+KEY=  0000000000000000000fffffffffffff\r
+CT=   0e8a24d5ef8e75a7c880fa6a834cf2c9\r
+TEST= 53\r
+KEY=  0000000000000000001fffffffffffff\r
+CT=   2791b95644f63234749903c3e8657735\r
+TEST= 54\r
+KEY=  0000000000000000003fffffffffffff\r
+CT=   ef7221d5a82ee71fe8d8bfdd2a3c7c4f\r
+TEST= 55\r
+KEY=  0000000000000000007fffffffffffff\r
+CT=   0d2e8d964b6514c4bd3ac5d34db87522\r
+TEST= 56\r
+KEY=  000000000000000000ffffffffffffff\r
+CT=   d47c25a5ece3b4add6ca0d8a09e410ad\r
+TEST= 57\r
+KEY=  000000000000000001ffffffffffffff\r
+CT=   c282027f20ed3d235475b85304bfcb80\r
+TEST= 58\r
+KEY=  000000000000000003ffffffffffffff\r
+CT=   b664b7bc37d4b8d04b3b70ded0c800fd\r
+TEST= 59\r
+KEY=  000000000000000007ffffffffffffff\r
+CT=   6e4fe62c2551f5cbd49f08a6de8f339e\r
+TEST= 60\r
+KEY=  00000000000000000fffffffffffffff\r
+CT=   002e821880c0628eb48ac598f258413c\r
+TEST= 61\r
+KEY=  00000000000000001fffffffffffffff\r
+CT=   e00fe46582572be60b8e9c464675df11\r
+TEST= 62\r
+KEY=  00000000000000003fffffffffffffff\r
+CT=   ed6af7fdbf5c4298d898556982998411\r
+TEST= 63\r
+KEY=  00000000000000007fffffffffffffff\r
+CT=   274b684f6dabfad23f01c7b984611dd2\r
+TEST= 64\r
+KEY=  0000000000000000ffffffffffffffff\r
+CT=   abac70797275a2dcf35b582fcd10dc18\r
+TEST= 65\r
+KEY=  0000000000000001ffffffffffffffff\r
+CT=   706e2bfc072301e86538a2d0d525a52f\r
+TEST= 66\r
+KEY=  0000000000000003ffffffffffffffff\r
+CT=   f76a0e2d34f589c53f5041b9cb170bcb\r
+TEST= 67\r
+KEY=  0000000000000007ffffffffffffffff\r
+CT=   15565da70a000eb5e74b4020405771ac\r
+TEST= 68\r
+KEY=  000000000000000fffffffffffffffff\r
+CT=   7aee27c41842b40b3e4ad6816d7eec87\r
+TEST= 69\r
+KEY=  000000000000001fffffffffffffffff\r
+CT=   a1340a8aa71385395877f04ec2c2ba71\r
+TEST= 70\r
+KEY=  000000000000003fffffffffffffffff\r
+CT=   2e078a39d5468409298e29b3c818f780\r
+TEST= 71\r
+KEY=  000000000000007fffffffffffffffff\r
+CT=   9fb0a3e2755523deac574629f1a5e57f\r
+TEST= 72\r
+KEY=  00000000000000ffffffffffffffffff\r
+CT=   0cae2d1e7c2eb298d284ac574de4c76c\r
+TEST= 73\r
+KEY=  00000000000001ffffffffffffffffff\r
+CT=   60e24a939a75ac7f93d506f1c66f6e72\r
+TEST= 74\r
+KEY=  00000000000003ffffffffffffffffff\r
+CT=   f7fd3c15500723d2fc8094fc7ab51c7b\r
+TEST= 75\r
+KEY=  00000000000007ffffffffffffffffff\r
+CT=   793219b3e13a29e06697ede1506fc83f\r
+TEST= 76\r
+KEY=  0000000000000fffffffffffffffffff\r
+CT=   6339e5eac05d5e33a32251f938b52951\r
+TEST= 77\r
+KEY=  0000000000001fffffffffffffffffff\r
+CT=   6d175edd5529c35f0a1f418766769e66\r
+TEST= 78\r
+KEY=  0000000000003fffffffffffffffffff\r
+CT=   d0fab53306f97905f35b19384b326053\r
+TEST= 79\r
+KEY=  0000000000007fffffffffffffffffff\r
+CT=   c6b449923a561f851029e402c1fc49df\r
+TEST= 80\r
+KEY=  000000000000ffffffffffffffffffff\r
+CT=   4e73dcce8d61edc8f3c465ceacf333e3\r
+TEST= 81\r
+KEY=  000000000001ffffffffffffffffffff\r
+CT=   d1a141490a078d9259ba518ba3bbbfa9\r
+TEST= 82\r
+KEY=  000000000003ffffffffffffffffffff\r
+CT=   4a6dac3718f39c88449fc0fdbba49cbc\r
+TEST= 83\r
+KEY=  000000000007ffffffffffffffffffff\r
+CT=   47df1ff232572297c46683a199cd6605\r
+TEST= 84\r
+KEY=  00000000000fffffffffffffffffffff\r
+CT=   0a25afc437fee47a0cdb3cf8520b701e\r
+TEST= 85\r
+KEY=  00000000001fffffffffffffffffffff\r
+CT=   b7c82cf69cc9bc03d36538b74728a742\r
+TEST= 86\r
+KEY=  00000000003fffffffffffffffffffff\r
+CT=   aa3d05f2c51fd6abbdcad6fb85175093\r
+TEST= 87\r
+KEY=  00000000007fffffffffffffffffffff\r
+CT=   9c40db129e0cd180af762a3ca08cf6cb\r
+TEST= 88\r
+KEY=  0000000000ffffffffffffffffffffff\r
+CT=   55fe4362db10d26a4c3a1b5d37a139ca\r
+TEST= 89\r
+KEY=  0000000001ffffffffffffffffffffff\r
+CT=   9cde8814ee1b6639115a62067d023804\r
+TEST= 90\r
+KEY=  0000000003ffffffffffffffffffffff\r
+CT=   c8d421b6b0bf145eefbdc64034f37c37\r
+TEST= 91\r
+KEY=  0000000007ffffffffffffffffffffff\r
+CT=   bed798d5e64b21c985bab744d1406b57\r
+TEST= 92\r
+KEY=  000000000fffffffffffffffffffffff\r
+CT=   862b819572c86a65026a3b513ba8de2e\r
+TEST= 93\r
+KEY=  000000001fffffffffffffffffffffff\r
+CT=   744e164e4a960c94f588d694eb2021d6\r
+TEST= 94\r
+KEY=  000000003fffffffffffffffffffffff\r
+CT=   6f8f8fe5670d0c9929086664b2313b24\r
+TEST= 95\r
+KEY=  000000007fffffffffffffffffffffff\r
+CT=   bf9cfc9b0b15dfe1ed0f8e980f80b0d1\r
+TEST= 96\r
+KEY=  00000000ffffffffffffffffffffffff\r
+CT=   123dca99ffbe6e12ec372190e66f6712\r
+TEST= 97\r
+KEY=  00000001ffffffffffffffffffffffff\r
+CT=   13a1836cef7c653c58dcebbd13a976a7\r
+TEST= 98\r
+KEY=  00000003ffffffffffffffffffffffff\r
+CT=   02e2958e680f7d5ef8f82c2408deb15b\r
+TEST= 99\r
+KEY=  00000007ffffffffffffffffffffffff\r
+CT=   ef04bd62c0081225e99271850a6308a0\r
+TEST= 100\r
+KEY=  0000000fffffffffffffffffffffffff\r
+CT=   f28a7944ab6ac69782ba27f39b4a4381\r
+TEST= 101\r
+KEY=  0000001fffffffffffffffffffffffff\r
+CT=   670d8c6ae12c74e19f9883b2b776a4aa\r
+TEST= 102\r
+KEY=  0000003fffffffffffffffffffffffff\r
+CT=   459f3fc2e1e503af2fa39b06592c8c22\r
+TEST= 103\r
+KEY=  0000007fffffffffffffffffffffffff\r
+CT=   f993a6cc25dbd950419352cc0009b583\r
+TEST= 104\r
+KEY=  000000ffffffffffffffffffffffffff\r
+CT=   9caddd77d32c233af1d3147365662a99\r
+TEST= 105\r
+KEY=  000001ffffffffffffffffffffffffff\r
+CT=   211a1a7e4e47e0d86b9fd96b531cc08f\r
+TEST= 106\r
+KEY=  000003ffffffffffffffffffffffffff\r
+CT=   82e28dbfda3ec2f04d1aa61dca2c83c9\r
+TEST= 107\r
+KEY=  000007ffffffffffffffffffffffffff\r
+CT=   ecb28ad52f46457198f2ad210d47d8cf\r
+TEST= 108\r
+KEY=  00000fffffffffffffffffffffffffff\r
+CT=   65a479ff2c04a745433dab12747f6fba\r
+TEST= 109\r
+KEY=  00001fffffffffffffffffffffffffff\r
+CT=   74e682913c9a0722d8a46a8f2deff793\r
+TEST= 110\r
+KEY=  00003fffffffffffffffffffffffffff\r
+CT=   6bd7490b35e70ae742cfd3611549b272\r
+TEST= 111\r
+KEY=  00007fffffffffffffffffffffffffff\r
+CT=   de0e697b067e14cc3b4096e2e169bb10\r
+TEST= 112\r
+KEY=  0000ffffffffffffffffffffffffffff\r
+CT=   46b9672025cd89d39cd2d185ce454b28\r
+TEST= 113\r
+KEY=  0001ffffffffffffffffffffffffffff\r
+CT=   69a8d73c318abca454188b4302a2c0f2\r
+TEST= 114\r
+KEY=  0003ffffffffffffffffffffffffffff\r
+CT=   2c31d234634cb3b71e11e6c2dc2af783\r
+TEST= 115\r
+KEY=  0007ffffffffffffffffffffffffffff\r
+CT=   748893329ec47a06fc22e8608ffc6a6a\r
+TEST= 116\r
+KEY=  000fffffffffffffffffffffffffffff\r
+CT=   72a5216e693f4e75f55858dc87e6894b\r
+TEST= 117\r
+KEY=  001fffffffffffffffffffffffffffff\r
+CT=   fd01a6bff2c00495b6e6a2658ad80276\r
+TEST= 118\r
+KEY=  003fffffffffffffffffffffffffffff\r
+CT=   f8332e3bee556b953cb2326a69f1959b\r
+TEST= 119\r
+KEY=  007fffffffffffffffffffffffffffff\r
+CT=   4335264b64726e36fb4aebce0e80f36d\r
+TEST= 120\r
+KEY=  00ffffffffffffffffffffffffffffff\r
+CT=   e01f3360843bb429c79ef44f71649784\r
+TEST= 121\r
+KEY=  01ffffffffffffffffffffffffffffff\r
+CT=   af39755faf0b5e23cca27bb948d4d2aa\r
+TEST= 122\r
+KEY=  03ffffffffffffffffffffffffffffff\r
+CT=   b983e0592bf2727bd855187ba2cd737a\r
+TEST= 123\r
+KEY=  07ffffffffffffffffffffffffffffff\r
+CT=   12a7a792f5c23de85eb6240c011f7317\r
+TEST= 124\r
+KEY=  0fffffffffffffffffffffffffffffff\r
+CT=   144cfff87e64622607b4f69e1e203f3e\r
+TEST= 125\r
+KEY=  1fffffffffffffffffffffffffffffff\r
+CT=   0b3d901bcf69f99400fafa534f78ecef\r
+TEST= 126\r
+KEY=  3fffffffffffffffffffffffffffffff\r
+CT=   2490fcfe98dbc1a40df667e32c3ee670\r
+TEST= 127\r
+KEY=  7fffffffffffffffffffffffffffffff\r
+CT=   c0b9045be82d79ef711fb79e957de3b9\r
+TEST= 128\r
+KEY=  ffffffffffffffffffffffffffffffff\r
+CT=   a1f6258c877d5fcd8964484538bfc92c\r
+TEST= 129\r
+KEY=  fffffffffffffffffffffffffffffffe\r
+CT=   9ba4a9143f4e5d4048521c4f8877d88e\r
+TEST= 130\r
+KEY=  fffffffffffffffffffffffffffffffc\r
+CT=   02bc96846b3fdc71643f384cd3cc3eaf\r
+TEST= 131\r
+KEY=  fffffffffffffffffffffffffffffff8\r
+CT=   5a4d404d8917e353e92a21072c3b2305\r
+TEST= 132\r
+KEY=  fffffffffffffffffffffffffffffff0\r
+CT=   41c78c135ed9e98c096640647265da1e\r
+TEST= 133\r
+KEY=  ffffffffffffffffffffffffffffffe0\r
+CT=   25d6cfe6881f2bf497dd14cd4ddf445b\r
+TEST= 134\r
+KEY=  ffffffffffffffffffffffffffffffc0\r
+CT=   41a8a947766635dec37553d9a6c0cbb7\r
+TEST= 135\r
+KEY=  ffffffffffffffffffffffffffffff80\r
+CT=   5160474d504b9b3eefb68d35f245f4b3\r
+TEST= 136\r
+KEY=  ffffffffffffffffffffffffffffff00\r
+CT=   2dce3acb727cd13ccd76d425ea56e4f6\r
+TEST= 137\r
+KEY=  fffffffffffffffffffffffffffffe00\r
+CT=   ba4f970c0a25c41814bdae2e506be3b4\r
+TEST= 138\r
+KEY=  fffffffffffffffffffffffffffffc00\r
+CT=   3a0c53fa37311fc10bd2a9981f513174\r
+TEST= 139\r
+KEY=  fffffffffffffffffffffffffffff800\r
+CT=   dfa5c097cdc1532ac071d57b1d28d1bd\r
+TEST= 140\r
+KEY=  fffffffffffffffffffffffffffff000\r
+CT=   1dbf57877b7b17385c85d0b54851e371\r
+TEST= 141\r
+KEY=  ffffffffffffffffffffffffffffe000\r
+CT=   323994cfb9da285a5d9642e1759b224a\r
+TEST= 142\r
+KEY=  ffffffffffffffffffffffffffffc000\r
+CT=   70c46bb30692be657f7eaa93ebad9897\r
+TEST= 143\r
+KEY=  ffffffffffffffffffffffffffff8000\r
+CT=   62d0662d6eaeddedebae7f7ea3a4f6b6\r
+TEST= 144\r
+KEY=  ffffffffffffffffffffffffffff0000\r
+CT=   b4750ff263a65e1f9e924ccfd98f3e37\r
+TEST= 145\r
+KEY=  fffffffffffffffffffffffffffe0000\r
+CT=   674d2b61633d162be59dde04222f4740\r
+TEST= 146\r
+KEY=  fffffffffffffffffffffffffffc0000\r
+CT=   44fb5c4d4f5cb79be5c174a3b1c97348\r
+TEST= 147\r
+KEY=  fffffffffffffffffffffffffff80000\r
+CT=   16591c0f27d60e29b85a96c33861a7ef\r
+TEST= 148\r
+KEY=  fffffffffffffffffffffffffff00000\r
+CT=   793de39236570aba83ab9b737cb521c9\r
+TEST= 149\r
+KEY=  ffffffffffffffffffffffffffe00000\r
+CT=   c14574d9cd00cf2b5a7f77e53cd57885\r
+TEST= 150\r
+KEY=  ffffffffffffffffffffffffffc00000\r
+CT=   9241daca4fdd034a82372db50e1a0f3f\r
+TEST= 151\r
+KEY=  ffffffffffffffffffffffffff800000\r
+CT=   36aeaa3a213e968d4b5b679d3a2c97fe\r
+TEST= 152\r
+KEY=  ffffffffffffffffffffffffff000000\r
+CT=   2cb1dc3a9c72972e425ae2ef3eb597cd\r
+TEST= 153\r
+KEY=  fffffffffffffffffffffffffe000000\r
+CT=   277167f3812afff1ffacb4a934379fc3\r
+TEST= 154\r
+KEY=  fffffffffffffffffffffffffc000000\r
+CT=   f17af0e895dda5eb98efc68066e84c54\r
+TEST= 155\r
+KEY=  fffffffffffffffffffffffff8000000\r
+CT=   829c04ff4c07513c0b3ef05c03e337b5\r
+TEST= 156\r
+KEY=  fffffffffffffffffffffffff0000000\r
+CT=   307c5b8fcd0533ab98bc51e27a6ce461\r
+TEST= 157\r
+KEY=  ffffffffffffffffffffffffe0000000\r
+CT=   36bbaab22a6bd4925a99a2b408d2dbae\r
+TEST= 158\r
+KEY=  ffffffffffffffffffffffffc0000000\r
+CT=   b63305c72bedfab97382c406d0c49bc6\r
+TEST= 159\r
+KEY=  ffffffffffffffffffffffff80000000\r
+CT=   3e40c3901cd7effc22bffc35dee0b4d9\r
+TEST= 160\r
+KEY=  ffffffffffffffffffffffff00000000\r
+CT=   f0c5c6ffa5e0bd3a94c88f6b6f7c16b9\r
+TEST= 161\r
+KEY=  fffffffffffffffffffffffe00000000\r
+CT=   c440de014d3d610707279b13242a5c36\r
+TEST= 162\r
+KEY=  fffffffffffffffffffffffc00000000\r
+CT=   d06e3195b5376f109d5c4ec6c5d62ced\r
+TEST= 163\r
+KEY=  fffffffffffffffffffffff800000000\r
+CT=   36cf44c92d550bfb1ed28ef583ddf5d7\r
+TEST= 164\r
+KEY=  fffffffffffffffffffffff000000000\r
+CT=   6838af1f4f69bae9d85dd188dcdf0688\r
+TEST= 165\r
+KEY=  ffffffffffffffffffffffe000000000\r
+CT=   ff13806cf19cc38721554d7c0fcdcd4b\r
+TEST= 166\r
+KEY=  ffffffffffffffffffffffc000000000\r
+CT=   f0ea23af08534011c60009ab29ada2f1\r
+TEST= 167\r
+KEY=  ffffffffffffffffffffff8000000000\r
+CT=   6da0490ba0ba0343b935681d2cce5ba1\r
+TEST= 168\r
+KEY=  ffffffffffffffffffffff0000000000\r
+CT=   ea3695e1351b9d6858bd958cf513ef6c\r
+TEST= 169\r
+KEY=  fffffffffffffffffffffe0000000000\r
+CT=   6a7980ce7b105cf530952d74daaf798c\r
+TEST= 170\r
+KEY=  fffffffffffffffffffffc0000000000\r
+CT=   192afffb2c880e82b05926d0fc6c448b\r
+TEST= 171\r
+KEY=  fffffffffffffffffffff80000000000\r
+CT=   38f67b9e98e4a97b6df030a9fcdd0104\r
+TEST= 172\r
+KEY=  fffffffffffffffffffff00000000000\r
+CT=   8785b1a75b0f3bd958dcd0e29318c521\r
+TEST= 173\r
+KEY=  ffffffffffffffffffffe00000000000\r
+CT=   9cfa1322ea33da2173a024f2ff0d896d\r
+TEST= 174\r
+KEY=  ffffffffffffffffffffc00000000000\r
+CT=   dbdfb527060e0a71009c7bb0c68f1d44\r
+TEST= 175\r
+KEY=  ffffffffffffffffffff800000000000\r
+CT=   545d50ebd919e4a6949d96ad47e46a80\r
+TEST= 176\r
+KEY=  ffffffffffffffffffff000000000000\r
+CT=   ec198a18e10e532403b7e20887c8dd80\r
+TEST= 177\r
+KEY=  fffffffffffffffffffe000000000000\r
+CT=   f2e976875755f9401d54f36e2a23a594\r
+TEST= 178\r
+KEY=  fffffffffffffffffffc000000000000\r
+CT=   284ca2fa35807b8b0ae4d19e11d7dbd7\r
+TEST= 179\r
+KEY=  fffffffffffffffffff8000000000000\r
+CT=   ef1623cc44313cff440b1594a7e21cc6\r
+TEST= 180\r
+KEY=  fffffffffffffffffff0000000000000\r
+CT=   96d9b017d302df410a937dcdb8bb6e43\r
+TEST= 181\r
+KEY=  ffffffffffffffffffe0000000000000\r
+CT=   1b0d02893683b9f180458e4aa6b73982\r
+TEST= 182\r
+KEY=  ffffffffffffffffffc0000000000000\r
+CT=   d8764468bb103828cf7e1473ce895073\r
+TEST= 183\r
+KEY=  ffffffffffffffffff80000000000000\r
+CT=   acc5599dd8ac02239a0fef4a36dd1668\r
+TEST= 184\r
+KEY=  ffffffffffffffffff00000000000000\r
+CT=   1ea448c2aac954f5d812e9d78494446a\r
+TEST= 185\r
+KEY=  fffffffffffffffffe00000000000000\r
+CT=   7866373f24a0b6ed56e0d96fcdafb877\r
+TEST= 186\r
+KEY=  fffffffffffffffffc00000000000000\r
+CT=   ab69cfadf51f8e604d9cc37182f6635a\r
+TEST= 187\r
+KEY=  fffffffffffffffff800000000000000\r
+CT=   f60e91fc3269eecf3231c6e9945697c6\r
+TEST= 188\r
+KEY=  fffffffffffffffff000000000000000\r
+CT=   3535d565ace3f31eb249ba2cc6765d7a\r
+TEST= 189\r
+KEY=  ffffffffffffffffe000000000000000\r
+CT=   d9bff7ff454b0ec5a4a2a69566e2cb84\r
+TEST= 190\r
+KEY=  ffffffffffffffffc000000000000000\r
+CT=   493d4a4f38ebb337d10aa84e9171a554\r
+TEST= 191\r
+KEY=  ffffffffffffffff8000000000000000\r
+CT=   32cd652842926aea4aa6137bb2be2b5e\r
+TEST= 192\r
+KEY=  ffffffffffffffff0000000000000000\r
+CT=   84be19e053635f09f2665e7bae85b42d\r
+TEST= 193\r
+KEY=  fffffffffffffffe0000000000000000\r
+CT=   77a4d96d56dda398b9aabecfc75729fd\r
+TEST= 194\r
+KEY=  fffffffffffffffc0000000000000000\r
+CT=   995c9dc0b689f03c45867b5faa5c18d1\r
+TEST= 195\r
+KEY=  fffffffffffffff80000000000000000\r
+CT=   653317b9362b6f9b9e1a580e68d494b5\r
+TEST= 196\r
+KEY=  fffffffffffffff00000000000000000\r
+CT=   7a181e84bd5457d26a88fbae96018fb0\r
+TEST= 197\r
+KEY=  ffffffffffffffe00000000000000000\r
+CT=   fd8687f0757a210e9fdf181204c30863\r
+TEST= 198\r
+KEY=  ffffffffffffffc00000000000000000\r
+CT=   a35a63f5343ebe9ef8167bcb48ad122e\r
+TEST= 199\r
+KEY=  ffffffffffffff800000000000000000\r
+CT=   7470469be9723030fdcc73a8cd4fbb10\r
+TEST= 200\r
+KEY=  ffffffffffffff000000000000000000\r
+CT=   b5ab3013dd1e61df06cbaf34ca2aee78\r
+TEST= 201\r
+KEY=  fffffffffffffe000000000000000000\r
+CT=   53786104b9744b98f052c46f1c850d0b\r
+TEST= 202\r
+KEY=  fffffffffffffc000000000000000000\r
+CT=   43fdaf53ebbc9880c228617d6a9b548b\r
+TEST= 203\r
+KEY=  fffffffffffff8000000000000000000\r
+CT=   8b527a6aebdaec9eaef8eda2cb7783e5\r
+TEST= 204\r
+KEY=  fffffffffffff0000000000000000000\r
+CT=   7b90785125505fad59b13c186dd66ce3\r
+TEST= 205\r
+KEY=  ffffffffffffe0000000000000000000\r
+CT=   ff4e66c07bae3e79fb7d210847a3b0ba\r
+TEST= 206\r
+KEY=  ffffffffffffc0000000000000000000\r
+CT=   cb2f430383f9084e03a653571e065de6\r
+TEST= 207\r
+KEY=  ffffffffffff80000000000000000000\r
+CT=   b6768473ce9843ea66a81405dd50b345\r
+TEST= 208\r
+KEY=  ffffffffffff00000000000000000000\r
+CT=   75550e6cb5a88e49634c9ab69eda0430\r
+TEST= 209\r
+KEY=  fffffffffffe00000000000000000000\r
+CT=   04497110efb9dceb13e2b13fb4465564\r
+TEST= 210\r
+KEY=  fffffffffffc00000000000000000000\r
+CT=   4fb288cc2040049001d2c7585ad123fc\r
+TEST= 211\r
+KEY=  fffffffffff800000000000000000000\r
+CT=   8ebf73aad49c82007f77a5c1ccec6ab4\r
+TEST= 212\r
+KEY=  fffffffffff000000000000000000000\r
+CT=   e6c4807ae11f36f091c57d9fb68548d1\r
+TEST= 213\r
+KEY=  ffffffffffe000000000000000000000\r
+CT=   8e4d8e699119e1fc87545a647fb1d34f\r
+TEST= 214\r
+KEY=  ffffffffffc000000000000000000000\r
+CT=   1df9b76112dc6531e07d2cfda04411f0\r
+TEST= 215\r
+KEY=  ffffffffff8000000000000000000000\r
+CT=   c72954a48d0774db0b4971c526260415\r
+TEST= 216\r
+KEY=  ffffffffff0000000000000000000000\r
+CT=   7df4daf4ad29a3615a9b6ece5c99518a\r
+TEST= 217\r
+KEY=  fffffffffe0000000000000000000000\r
+CT=   303ff996947f0c7d1f43c8f3027b9b75\r
+TEST= 218\r
+KEY=  fffffffffc0000000000000000000000\r
+CT=   82408571c3e2424540207f833b6dda69\r
+TEST= 219\r
+KEY=  fffffffff80000000000000000000000\r
+CT=   0f18aff94274696d9b61848bd50ac5e5\r
+TEST= 220\r
+KEY=  fffffffff00000000000000000000000\r
+CT=   44a98bf11e163f632c47ec6a49683a89\r
+TEST= 221\r
+KEY=  ffffffffe00000000000000000000000\r
+CT=   23f710842b9bb9c32f26648c786807ca\r
+TEST= 222\r
+KEY=  ffffffffc00000000000000000000000\r
+CT=   5a8688f0b2a2c16224c161658ffd4044\r
+TEST= 223\r
+KEY=  ffffffff800000000000000000000000\r
+CT=   ed62e16363638360fdd6ad62112794f0\r
+TEST= 224\r
+KEY=  ffffffff000000000000000000000000\r
+CT=   9c28524a16a1e1c1452971caa8d13476\r
+TEST= 225\r
+KEY=  fffffffe000000000000000000000000\r
+CT=   1114bc2028009b923f0b01915ce5e7c4\r
+TEST= 226\r
+KEY=  fffffffc000000000000000000000000\r
+CT=   e17bc79f30eaab2fac2cbbe3458d687a\r
+TEST= 227\r
+KEY=  fffffff8000000000000000000000000\r
+CT=   6c7c64dc84a8bba758ed17eb025a57e3\r
+TEST= 228\r
+KEY=  fffffff0000000000000000000000000\r
+CT=   99693e6a59d1366c74d823562d7e1431\r
+TEST= 229\r
+KEY=  ffffffe0000000000000000000000000\r
+CT=   18c1b6e2157122056d0243d8a165cddb\r
+TEST= 230\r
+KEY=  ffffffc0000000000000000000000000\r
+CT=   5ce37e17eb4646ecfac29b9cc38d9340\r
+TEST= 231\r
+KEY=  ffffff80000000000000000000000000\r
+CT=   6d114ccb27bf391012e8974c546d9bf2\r
+TEST= 232\r
+KEY=  ffffff00000000000000000000000000\r
+CT=   de11722d893e9f9121c381becc1da59a\r
+TEST= 233\r
+KEY=  fffffe00000000000000000000000000\r
+CT=   95b1703fc57ba09fe0c3580febdd7ed4\r
+TEST= 234\r
+KEY=  fffffc00000000000000000000000000\r
+CT=   12acd89b13cd5f8726e34d44fd486108\r
+TEST= 235\r
+KEY=  fffff800000000000000000000000000\r
+CT=   a6cb761d61f8292d0df393a279ad0380\r
+TEST= 236\r
+KEY=  fffff000000000000000000000000000\r
+CT=   26298e9c1db517c215fadfb7d2a8d691\r
+TEST= 237\r
+KEY=  ffffe000000000000000000000000000\r
+CT=   90fb128d3a1af6e548521bb962bf1f05\r
+TEST= 238\r
+KEY=  ffffc000000000000000000000000000\r
+CT=   df556a33438db87bc41b1752c55e5e49\r
+TEST= 239\r
+KEY=  ffff8000000000000000000000000000\r
+CT=   c6a0b3e998d05068a5399778405200b4\r
+TEST= 240\r
+KEY=  ffff0000000000000000000000000000\r
+CT=   97d0754fe68f11b9e375d070a608c884\r
+TEST= 241\r
+KEY=  fffe0000000000000000000000000000\r
+CT=   113ecbe4a453269a0dd26069467fb5b5\r
+TEST= 242\r
+KEY=  fffc0000000000000000000000000000\r
+CT=   2637050c9fc0d4817e2d69de878aee8d\r
+TEST= 243\r
+KEY=  fff80000000000000000000000000000\r
+CT=   b5f1a33e50d40d103764c76bd4c6b6f8\r
+TEST= 244\r
+KEY=  fff00000000000000000000000000000\r
+CT=   a01bf44f2d16be928ca44aaf7b9b106b\r
+TEST= 245\r
+KEY=  ffe00000000000000000000000000000\r
+CT=   956d7798fac20f82a8823f984d06f7f5\r
+TEST= 246\r
+KEY=  ffc00000000000000000000000000000\r
+CT=   9958f0ecea8b2172c0c1995f9182c0f3\r
+TEST= 247\r
+KEY=  ff800000000000000000000000000000\r
+CT=   42ffb34c743de4d88ca38011c990890b\r
+TEST= 248\r
+KEY=  ff000000000000000000000000000000\r
+CT=   b1d758256b28fd850ad4944208cf1155\r
+TEST= 249\r
+KEY=  fe000000000000000000000000000000\r
+CT=   c4295f83465c7755e8fa364bac6a7ea5\r
+TEST= 250\r
+KEY=  fc000000000000000000000000000000\r
+CT=   9ed5a75136a940d0963da379db4af26a\r
+TEST= 251\r
+KEY=  f8000000000000000000000000000000\r
+CT=   f17e79aed0db7e279e955b5f493875a7\r
+TEST= 252\r
+KEY=  f0000000000000000000000000000000\r
+CT=   970014d634e2b7650777e8e84d03ccd8\r
+TEST= 253\r
+KEY=  e0000000000000000000000000000000\r
+CT=   72a1da770f5d7ac4c9ef94d822affd97\r
+TEST= 254\r
+KEY=  c0000000000000000000000000000000\r
+CT=   4bc3f883450c113c64ca42e1112a9e87\r
+TEST= 255\r
+KEY=  80000000000000000000000000000000\r
+CT=   0edd33d3c621e546455bd8ba1418bec8\r
diff --git a/test/crypto/aes/ecbnk48.txt b/test/crypto/aes/ecbnk48.txt
new file mode 100644 (file)
index 0000000..0cf0074
--- /dev/null
@@ -0,0 +1,1547 @@
+==============================================\r
+Author:    Dr B R Gladman (                 )\r
+Test:      ECB Variable Key Known Answer Tests\r
+Algorithm: Extended Rijndael (an AES Superset)\r
+Filename:  ecbnk48.txt\r
+==============================================\r
+\r
+BLOCKSIZE=128\r
+KEYSIZE=  256\r
+\r
+PT=   00000000000000000000000000000000\r
+TEST= 0\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000000\r
+CT=   dc95c078a2408989ad48a21492842087\r
+TEST= 1\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000001\r
+CT=   6b6cfe160a6263631b292f879eeff926\r
+TEST= 2\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000003\r
+CT=   bf701e7f51c292f1cc242a991578eb2a\r
+TEST= 3\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000007\r
+CT=   ab749ad085ee539d8baf1621853d3fb2\r
+TEST= 4\r
+KEY=  000000000000000000000000000000000000000000000000000000000000000f\r
+CT=   4bcef4dbc203f06aa5fb72ed1a70fb89\r
+TEST= 5\r
+KEY=  000000000000000000000000000000000000000000000000000000000000001f\r
+CT=   be406db48b9b2aa8559ed5b173fd658b\r
+TEST= 6\r
+KEY=  000000000000000000000000000000000000000000000000000000000000003f\r
+CT=   e93766e59507d341537d0c62072d8a55\r
+TEST= 7\r
+KEY=  000000000000000000000000000000000000000000000000000000000000007f\r
+CT=   58ed5fbb416960f5f06159b76a6d7738\r
+TEST= 8\r
+KEY=  00000000000000000000000000000000000000000000000000000000000000ff\r
+CT=   bc2546f4768081ceb295a72b31e6ab05\r
+TEST= 9\r
+KEY=  00000000000000000000000000000000000000000000000000000000000001ff\r
+CT=   1e85b10b69d7e5994438da340674b012\r
+TEST= 10\r
+KEY=  00000000000000000000000000000000000000000000000000000000000003ff\r
+CT=   027d266cf77aa9f5365aa549254323cf\r
+TEST= 11\r
+KEY=  00000000000000000000000000000000000000000000000000000000000007ff\r
+CT=   fbde91184125dc0d0f229e09db5a8da2\r
+TEST= 12\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000fff\r
+CT=   53a77656d1bc4e33ac9a4ae98a912b35\r
+TEST= 13\r
+KEY=  0000000000000000000000000000000000000000000000000000000000001fff\r
+CT=   af5628c2a562fce45b3e3265b17d57c1\r
+TEST= 14\r
+KEY=  0000000000000000000000000000000000000000000000000000000000003fff\r
+CT=   b835c0732fbfd73f3c428877dceefbfd\r
+TEST= 15\r
+KEY=  0000000000000000000000000000000000000000000000000000000000007fff\r
+CT=   03f6669af1df61abcf54024353c3048d\r
+TEST= 16\r
+KEY=  000000000000000000000000000000000000000000000000000000000000ffff\r
+CT=   fe3dec93582172729ca562db3a24da23\r
+TEST= 17\r
+KEY=  000000000000000000000000000000000000000000000000000000000001ffff\r
+CT=   ed696865926ecabb1e5013e1dc4862c9\r
+TEST= 18\r
+KEY=  000000000000000000000000000000000000000000000000000000000003ffff\r
+CT=   c9a918af1b5a4ce363fd5bdbbbe94dd6\r
+TEST= 19\r
+KEY=  000000000000000000000000000000000000000000000000000000000007ffff\r
+CT=   c213d9c2a23584883d25823549daa369\r
+TEST= 20\r
+KEY=  00000000000000000000000000000000000000000000000000000000000fffff\r
+CT=   cbd19b0ac8fd6e5de946d1866ff0014e\r
+TEST= 21\r
+KEY=  00000000000000000000000000000000000000000000000000000000001fffff\r
+CT=   913b89d6540f1f26eae1ce75d65a3373\r
+TEST= 22\r
+KEY=  00000000000000000000000000000000000000000000000000000000003fffff\r
+CT=   c71ad528b5ed428b29b05e90696065ef\r
+TEST= 23\r
+KEY=  00000000000000000000000000000000000000000000000000000000007fffff\r
+CT=   537013a5f3fd7e97612798bca85edce1\r
+TEST= 24\r
+KEY=  0000000000000000000000000000000000000000000000000000000000ffffff\r
+CT=   af63b3b30ad065a7c686c6c53687575d\r
+TEST= 25\r
+KEY=  0000000000000000000000000000000000000000000000000000000001ffffff\r
+CT=   d0ab26758ce397c61b0160b682761a96\r
+TEST= 26\r
+KEY=  0000000000000000000000000000000000000000000000000000000003ffffff\r
+CT=   942e760423b6ea3cfe6da21186ae47ac\r
+TEST= 27\r
+KEY=  0000000000000000000000000000000000000000000000000000000007ffffff\r
+CT=   45685f766771cdebcaad2fb3c792fe51\r
+TEST= 28\r
+KEY=  000000000000000000000000000000000000000000000000000000000fffffff\r
+CT=   cb0a8a91aa019fdf83c4ffbbdcf7447d\r
+TEST= 29\r
+KEY=  000000000000000000000000000000000000000000000000000000001fffffff\r
+CT=   19c871011b3afd00c834caf416ef4cf9\r
+TEST= 30\r
+KEY=  000000000000000000000000000000000000000000000000000000003fffffff\r
+CT=   3761ba9ab369230a061af0080936bb35\r
+TEST= 31\r
+KEY=  000000000000000000000000000000000000000000000000000000007fffffff\r
+CT=   63587d81d0dd0af99cb71b848d8055b4\r
+TEST= 32\r
+KEY=  00000000000000000000000000000000000000000000000000000000ffffffff\r
+CT=   543f94b1e7458f38994515b2f82b56e5\r
+TEST= 33\r
+KEY=  00000000000000000000000000000000000000000000000000000001ffffffff\r
+CT=   96fe07bbda459956adc2dff0e112c4b6\r
+TEST= 34\r
+KEY=  00000000000000000000000000000000000000000000000000000003ffffffff\r
+CT=   855e83b75c30bf564d78b8ead29898a1\r
+TEST= 35\r
+KEY=  00000000000000000000000000000000000000000000000000000007ffffffff\r
+CT=   971f085cfd3672e8d648894e833372f6\r
+TEST= 36\r
+KEY=  0000000000000000000000000000000000000000000000000000000fffffffff\r
+CT=   45d75757285fa13740f9335135811c62\r
+TEST= 37\r
+KEY=  0000000000000000000000000000000000000000000000000000001fffffffff\r
+CT=   e7d8cfd6c8393169a8e1ef610ea8ff04\r
+TEST= 38\r
+KEY=  0000000000000000000000000000000000000000000000000000003fffffffff\r
+CT=   6e079973ba11f4eca6ac2d1875a7a5d1\r
+TEST= 39\r
+KEY=  0000000000000000000000000000000000000000000000000000007fffffffff\r
+CT=   ed2252c561bbb86172664a7e6f4f588f\r
+TEST= 40\r
+KEY=  000000000000000000000000000000000000000000000000000000ffffffffff\r
+CT=   6a326677187d8636bd0cf410707150d2\r
+TEST= 41\r
+KEY=  000000000000000000000000000000000000000000000000000001ffffffffff\r
+CT=   6d005cea1a4e54fb2becfe7f84da2690\r
+TEST= 42\r
+KEY=  000000000000000000000000000000000000000000000000000003ffffffffff\r
+CT=   dbf008f42a12b68d5d976b19c03dbf8f\r
+TEST= 43\r
+KEY=  000000000000000000000000000000000000000000000000000007ffffffffff\r
+CT=   d2c675869612e5e8e997c2f40c124b4f\r
+TEST= 44\r
+KEY=  00000000000000000000000000000000000000000000000000000fffffffffff\r
+CT=   34b24616843e26e04ae07e30f1d37c14\r
+TEST= 45\r
+KEY=  00000000000000000000000000000000000000000000000000001fffffffffff\r
+CT=   66261a57903dcd9e7b99ffee603d52ea\r
+TEST= 46\r
+KEY=  00000000000000000000000000000000000000000000000000003fffffffffff\r
+CT=   41044ecff55d2f1b74ac503a026b69f1\r
+TEST= 47\r
+KEY=  00000000000000000000000000000000000000000000000000007fffffffffff\r
+CT=   fdf60bb3857a923412e5549ceb47a06b\r
+TEST= 48\r
+KEY=  0000000000000000000000000000000000000000000000000000ffffffffffff\r
+CT=   4afd474c849e7435dbc189033056ffaf\r
+TEST= 49\r
+KEY=  0000000000000000000000000000000000000000000000000001ffffffffffff\r
+CT=   0a1b1c700a9de96f6382199b58c3f156\r
+TEST= 50\r
+KEY=  0000000000000000000000000000000000000000000000000003ffffffffffff\r
+CT=   2cc0ac48f4b609e07ff191f7e201cd4d\r
+TEST= 51\r
+KEY=  0000000000000000000000000000000000000000000000000007ffffffffffff\r
+CT=   b73f7c95679e7b2a4142b95962216d47\r
+TEST= 52\r
+KEY=  000000000000000000000000000000000000000000000000000fffffffffffff\r
+CT=   eb0b3ad0cfe4a029402a8ae1b59effab\r
+TEST= 53\r
+KEY=  000000000000000000000000000000000000000000000000001fffffffffffff\r
+CT=   3d504ad4b4029094043778ce3c2d3517\r
+TEST= 54\r
+KEY=  000000000000000000000000000000000000000000000000003fffffffffffff\r
+CT=   23d88a19ac10ce9d878b8bafb2559c42\r
+TEST= 55\r
+KEY=  000000000000000000000000000000000000000000000000007fffffffffffff\r
+CT=   75aa63f4ed7deb513b2c60a49f26ed5b\r
+TEST= 56\r
+KEY=  00000000000000000000000000000000000000000000000000ffffffffffffff\r
+CT=   e2d7fd533d6e2f03cbd2e89eeff058bf\r
+TEST= 57\r
+KEY=  00000000000000000000000000000000000000000000000001ffffffffffffff\r
+CT=   27118699661cd6dbe6118cd339f08ace\r
+TEST= 58\r
+KEY=  00000000000000000000000000000000000000000000000003ffffffffffffff\r
+CT=   ec355421e48d3fef18e00fe0ba13afeb\r
+TEST= 59\r
+KEY=  00000000000000000000000000000000000000000000000007ffffffffffffff\r
+CT=   b4df72723b9a101f4dcf20afddbb6cd4\r
+TEST= 60\r
+KEY=  0000000000000000000000000000000000000000000000000fffffffffffffff\r
+CT=   427b5f8e6b9372c65dee4b33256bc571\r
+TEST= 61\r
+KEY=  0000000000000000000000000000000000000000000000001fffffffffffffff\r
+CT=   890accefa77cbf872f5296f1cc843d6d\r
+TEST= 62\r
+KEY=  0000000000000000000000000000000000000000000000003fffffffffffffff\r
+CT=   45f132aeedfcaeada0354232e8e0ecd6\r
+TEST= 63\r
+KEY=  0000000000000000000000000000000000000000000000007fffffffffffffff\r
+CT=   e00b07ddb7ac13b03ff48988211fe71f\r
+TEST= 64\r
+KEY=  000000000000000000000000000000000000000000000000ffffffffffffffff\r
+CT=   9d386993f184e5805fb0e987455809ed\r
+TEST= 65\r
+KEY=  000000000000000000000000000000000000000000000001ffffffffffffffff\r
+CT=   475b5ab6722d43f715436a8cb59cbf4f\r
+TEST= 66\r
+KEY=  000000000000000000000000000000000000000000000003ffffffffffffffff\r
+CT=   a82590572fd07fbf1d23fc81b49e8756\r
+TEST= 67\r
+KEY=  000000000000000000000000000000000000000000000007ffffffffffffffff\r
+CT=   3adce472e6c7a99fa7d3017ad75f5cdf\r
+TEST= 68\r
+KEY=  00000000000000000000000000000000000000000000000fffffffffffffffff\r
+CT=   524797e0cf9c9dea956962ef7136f546\r
+TEST= 69\r
+KEY=  00000000000000000000000000000000000000000000001fffffffffffffffff\r
+CT=   075d0316aedd8df2ae66eb838e2ed485\r
+TEST= 70\r
+KEY=  00000000000000000000000000000000000000000000003fffffffffffffffff\r
+CT=   187849162a0b56eeaae2425c2e494b78\r
+TEST= 71\r
+KEY=  00000000000000000000000000000000000000000000007fffffffffffffffff\r
+CT=   c278f398882137eaac01c3275a9a2722\r
+TEST= 72\r
+KEY=  0000000000000000000000000000000000000000000000ffffffffffffffffff\r
+CT=   f1e8b6e7114b02918877a995784fcb74\r
+TEST= 73\r
+KEY=  0000000000000000000000000000000000000000000001ffffffffffffffffff\r
+CT=   e7f582f29d8d332087bda8514372c900\r
+TEST= 74\r
+KEY=  0000000000000000000000000000000000000000000003ffffffffffffffffff\r
+CT=   0a4585f81b68c921331c1f9110df528e\r
+TEST= 75\r
+KEY=  0000000000000000000000000000000000000000000007ffffffffffffffffff\r
+CT=   203c4d0dba823937bd66680f47cf5511\r
+TEST= 76\r
+KEY=  000000000000000000000000000000000000000000000fffffffffffffffffff\r
+CT=   d757358180429b7112e006a53eb5467f\r
+TEST= 77\r
+KEY=  000000000000000000000000000000000000000000001fffffffffffffffffff\r
+CT=   202b92ded713c6c754fab7ab9235ab3c\r
+TEST= 78\r
+KEY=  000000000000000000000000000000000000000000003fffffffffffffffffff\r
+CT=   a226249ea4d82542a878009a495bd4ca\r
+TEST= 79\r
+KEY=  000000000000000000000000000000000000000000007fffffffffffffffffff\r
+CT=   0d62e8c60b22be37888eef8fafd374a4\r
+TEST= 80\r
+KEY=  00000000000000000000000000000000000000000000ffffffffffffffffffff\r
+CT=   6e16ce6a174705eb4dea7391d180f6e9\r
+TEST= 81\r
+KEY=  00000000000000000000000000000000000000000001ffffffffffffffffffff\r
+CT=   53a295a307cc07aeda9618fe12268bfa\r
+TEST= 82\r
+KEY=  00000000000000000000000000000000000000000003ffffffffffffffffffff\r
+CT=   6fb67e2d8a5b1ddb8f3b37458f03fdba\r
+TEST= 83\r
+KEY=  00000000000000000000000000000000000000000007ffffffffffffffffffff\r
+CT=   9eb298a14e534f5bd08380dd0949d312\r
+TEST= 84\r
+KEY=  0000000000000000000000000000000000000000000fffffffffffffffffffff\r
+CT=   30a6d04751b2211b19099024ef052fbe\r
+TEST= 85\r
+KEY=  0000000000000000000000000000000000000000001fffffffffffffffffffff\r
+CT=   1c32545f6246937f70aec5fe8603c6c3\r
+TEST= 86\r
+KEY=  0000000000000000000000000000000000000000003fffffffffffffffffffff\r
+CT=   a6b1755b086923fdfb82a3906228ba16\r
+TEST= 87\r
+KEY=  0000000000000000000000000000000000000000007fffffffffffffffffffff\r
+CT=   3efc4aceca70357daa5425e77370d01c\r
+TEST= 88\r
+KEY=  000000000000000000000000000000000000000000ffffffffffffffffffffff\r
+CT=   e8d7761c2afd674da8f72505515df6d9\r
+TEST= 89\r
+KEY=  000000000000000000000000000000000000000001ffffffffffffffffffffff\r
+CT=   6e9927c90c684eef8314933f3bdbd17d\r
+TEST= 90\r
+KEY=  000000000000000000000000000000000000000003ffffffffffffffffffffff\r
+CT=   020d04983f9bdc77750af373febcfda4\r
+TEST= 91\r
+KEY=  000000000000000000000000000000000000000007ffffffffffffffffffffff\r
+CT=   d7fdd1e21e7284aab3caae27f4c3ac2e\r
+TEST= 92\r
+KEY=  00000000000000000000000000000000000000000fffffffffffffffffffffff\r
+CT=   59279905253bbe0390b6ee5f4d913035\r
+TEST= 93\r
+KEY=  00000000000000000000000000000000000000001fffffffffffffffffffffff\r
+CT=   5939a3a8a64eb06498880eb69c06108a\r
+TEST= 94\r
+KEY=  00000000000000000000000000000000000000003fffffffffffffffffffffff\r
+CT=   fbcce6048c4cbe51db5b792dec5f7fa4\r
+TEST= 95\r
+KEY=  00000000000000000000000000000000000000007fffffffffffffffffffffff\r
+CT=   6e61dd46de31a0b83f441a175e5a68c5\r
+TEST= 96\r
+KEY=  0000000000000000000000000000000000000000ffffffffffffffffffffffff\r
+CT=   517488ed7136e987df9900dc032cf104\r
+TEST= 97\r
+KEY=  0000000000000000000000000000000000000001ffffffffffffffffffffffff\r
+CT=   75c590ae01382faa02f3fc94ac094c25\r
+TEST= 98\r
+KEY=  0000000000000000000000000000000000000003ffffffffffffffffffffffff\r
+CT=   7add6d12d7e627f64341fa7cc8f9d1bd\r
+TEST= 99\r
+KEY=  0000000000000000000000000000000000000007ffffffffffffffffffffffff\r
+CT=   f5debd1f635e9bc7fea99c5b5cc4a23f\r
+TEST= 100\r
+KEY=  000000000000000000000000000000000000000fffffffffffffffffffffffff\r
+CT=   cf63aefa7f89f106dd941e9e439e4882\r
+TEST= 101\r
+KEY=  000000000000000000000000000000000000001fffffffffffffffffffffffff\r
+CT=   007d5db50703e395b7f0319bd47bced0\r
+TEST= 102\r
+KEY=  000000000000000000000000000000000000003fffffffffffffffffffffffff\r
+CT=   b30da57079a61f274ea7bad1a1f968f9\r
+TEST= 103\r
+KEY=  000000000000000000000000000000000000007fffffffffffffffffffffffff\r
+CT=   2861cea007f459e060ec30a35bf77f3e\r
+TEST= 104\r
+KEY=  00000000000000000000000000000000000000ffffffffffffffffffffffffff\r
+CT=   76ea45daa3ac5419f94c083df1f6eed6\r
+TEST= 105\r
+KEY=  00000000000000000000000000000000000001ffffffffffffffffffffffffff\r
+CT=   f763116ab6713769978256008da81f21\r
+TEST= 106\r
+KEY=  00000000000000000000000000000000000003ffffffffffffffffffffffffff\r
+CT=   0ab5cc550c106a3893269ea47faa55b5\r
+TEST= 107\r
+KEY=  00000000000000000000000000000000000007ffffffffffffffffffffffffff\r
+CT=   d6721c1e6eb846a73c74dd218e983e68\r
+TEST= 108\r
+KEY=  0000000000000000000000000000000000000fffffffffffffffffffffffffff\r
+CT=   695cb975fce7307b7b66a834532886e0\r
+TEST= 109\r
+KEY=  0000000000000000000000000000000000001fffffffffffffffffffffffffff\r
+CT=   2b208ab1ee6448d185e487ccd48e6e21\r
+TEST= 110\r
+KEY=  0000000000000000000000000000000000003fffffffffffffffffffffffffff\r
+CT=   fb83cf7f34b08873c8d69d261055e20b\r
+TEST= 111\r
+KEY=  0000000000000000000000000000000000007fffffffffffffffffffffffffff\r
+CT=   b5028a49edef6b356c3a650e2cb9e8ec\r
+TEST= 112\r
+KEY=  000000000000000000000000000000000000ffffffffffffffffffffffffffff\r
+CT=   95334335ed4c4a760562ae7d2a495632\r
+TEST= 113\r
+KEY=  000000000000000000000000000000000001ffffffffffffffffffffffffffff\r
+CT=   6a462fa7c99e2f712c68589060ba5ea8\r
+TEST= 114\r
+KEY=  000000000000000000000000000000000003ffffffffffffffffffffffffffff\r
+CT=   a6d665b7058a2afb5d8733f68cd5a3ad\r
+TEST= 115\r
+KEY=  000000000000000000000000000000000007ffffffffffffffffffffffffffff\r
+CT=   e83ca68a268587bced34cb8c7921295e\r
+TEST= 116\r
+KEY=  00000000000000000000000000000000000fffffffffffffffffffffffffffff\r
+CT=   b071d09822e2057cf9340dd7cab746e1\r
+TEST= 117\r
+KEY=  00000000000000000000000000000000001fffffffffffffffffffffffffffff\r
+CT=   56b2e0652b99419a4ee106208d93dcfe\r
+TEST= 118\r
+KEY=  00000000000000000000000000000000003fffffffffffffffffffffffffffff\r
+CT=   007124f92a4d45b728573441e9f9056e\r
+TEST= 119\r
+KEY=  00000000000000000000000000000000007fffffffffffffffffffffffffffff\r
+CT=   16793534f4253cbc98b5566034922535\r
+TEST= 120\r
+KEY=  0000000000000000000000000000000000ffffffffffffffffffffffffffffff\r
+CT=   52ef58a3745fb284b5dc0d3b1461e83f\r
+TEST= 121\r
+KEY=  0000000000000000000000000000000001ffffffffffffffffffffffffffffff\r
+CT=   5d0437caa6e87e7edaaef69b9f2a939c\r
+TEST= 122\r
+KEY=  0000000000000000000000000000000003ffffffffffffffffffffffffffffff\r
+CT=   6b0fcfd7c7a9f906612bd19d56a5eb92\r
+TEST= 123\r
+KEY=  0000000000000000000000000000000007ffffffffffffffffffffffffffffff\r
+CT=   1b70f1055cd41e7b4baaf811d1dc2107\r
+TEST= 124\r
+KEY=  000000000000000000000000000000000fffffffffffffffffffffffffffffff\r
+CT=   44af7f02410db127a4df787fc95dbeba\r
+TEST= 125\r
+KEY=  000000000000000000000000000000001fffffffffffffffffffffffffffffff\r
+CT=   4e257c57d75263d0f8e332a840eb5d91\r
+TEST= 126\r
+KEY=  000000000000000000000000000000003fffffffffffffffffffffffffffffff\r
+CT=   5bf2a1b829ac2b77694ba7e9cd5fe696\r
+TEST= 127\r
+KEY=  000000000000000000000000000000007fffffffffffffffffffffffffffffff\r
+CT=   16bde095575a3fce86d6a2048efdfda5\r
+TEST= 128\r
+KEY=  00000000000000000000000000000000ffffffffffffffffffffffffffffffff\r
+CT=   3eba4327813f079e4e35ff0f96294c45\r
+TEST= 129\r
+KEY=  00000000000000000000000000000001ffffffffffffffffffffffffffffffff\r
+CT=   8e44354ada179283f48a9a823ed12dde\r
+TEST= 130\r
+KEY=  00000000000000000000000000000003ffffffffffffffffffffffffffffffff\r
+CT=   947c7bf988d6c4337a287fd07e315eb6\r
+TEST= 131\r
+KEY=  00000000000000000000000000000007ffffffffffffffffffffffffffffffff\r
+CT=   8f40a2be60fc9199c33107784cd8680a\r
+TEST= 132\r
+KEY=  0000000000000000000000000000000fffffffffffffffffffffffffffffffff\r
+CT=   24d8df70bc270b725a061ffbae9908aa\r
+TEST= 133\r
+KEY=  0000000000000000000000000000001fffffffffffffffffffffffffffffffff\r
+CT=   75bb95c01ee27cfa20942a3248bf2c15\r
+TEST= 134\r
+KEY=  0000000000000000000000000000003fffffffffffffffffffffffffffffffff\r
+CT=   6dd74f7f74ebfcbe2ea9003eea9dc895\r
+TEST= 135\r
+KEY=  0000000000000000000000000000007fffffffffffffffffffffffffffffffff\r
+CT=   e7ba9be6d67eb735faab4e51c42c358a\r
+TEST= 136\r
+KEY=  000000000000000000000000000000ffffffffffffffffffffffffffffffffff\r
+CT=   31f9d4202468e6bf9ae926396c09d75d\r
+TEST= 137\r
+KEY=  000000000000000000000000000001ffffffffffffffffffffffffffffffffff\r
+CT=   c8021f0215b26d90a9957381134db197\r
+TEST= 138\r
+KEY=  000000000000000000000000000003ffffffffffffffffffffffffffffffffff\r
+CT=   57a95c3742317d577d00653f90a57214\r
+TEST= 139\r
+KEY=  000000000000000000000000000007ffffffffffffffffffffffffffffffffff\r
+CT=   0d2d79b82fa7b36ee766c1ffd9b61610\r
+TEST= 140\r
+KEY=  00000000000000000000000000000fffffffffffffffffffffffffffffffffff\r
+CT=   e571bc3cc6b85ace8d9b4d1136d962d7\r
+TEST= 141\r
+KEY=  00000000000000000000000000001fffffffffffffffffffffffffffffffffff\r
+CT=   ffa28032523f41d01de868f5545188bf\r
+TEST= 142\r
+KEY=  00000000000000000000000000003fffffffffffffffffffffffffffffffffff\r
+CT=   2734d5d8c9ad438077f9308a8de9d544\r
+TEST= 143\r
+KEY=  00000000000000000000000000007fffffffffffffffffffffffffffffffffff\r
+CT=   99d9f28f5127ea200c9de6d5c8d0fc1c\r
+TEST= 144\r
+KEY=  0000000000000000000000000000ffffffffffffffffffffffffffffffffffff\r
+CT=   0fdca399ded08ed42b085da22d93326d\r
+TEST= 145\r
+KEY=  0000000000000000000000000001ffffffffffffffffffffffffffffffffffff\r
+CT=   3f30ddd5a713d5d8ab216a8b4d7d52a4\r
+TEST= 146\r
+KEY=  0000000000000000000000000003ffffffffffffffffffffffffffffffffffff\r
+CT=   c3d85f4ea35417559b1407d39c149fc7\r
+TEST= 147\r
+KEY=  0000000000000000000000000007ffffffffffffffffffffffffffffffffffff\r
+CT=   e3d276628c8cf02c42ad2d758de155ce\r
+TEST= 148\r
+KEY=  000000000000000000000000000fffffffffffffffffffffffffffffffffffff\r
+CT=   b84399d6053263e6472304e26f5e0ec7\r
+TEST= 149\r
+KEY=  000000000000000000000000001fffffffffffffffffffffffffffffffffffff\r
+CT=   6e20742b02838468dd51e5a3a7f2b8ba\r
+TEST= 150\r
+KEY=  000000000000000000000000003fffffffffffffffffffffffffffffffffffff\r
+CT=   9a9dbab97ca1f7a2da7f965ee1dfb4e6\r
+TEST= 151\r
+KEY=  000000000000000000000000007fffffffffffffffffffffffffffffffffffff\r
+CT=   41aacaa89e1399a108a80716fd0e0f55\r
+TEST= 152\r
+KEY=  00000000000000000000000000ffffffffffffffffffffffffffffffffffffff\r
+CT=   582be6d22c815bc81fde4c0d234d626a\r
+TEST= 153\r
+KEY=  00000000000000000000000001ffffffffffffffffffffffffffffffffffffff\r
+CT=   4499f256fe699e5e994d887be48fe2ec\r
+TEST= 154\r
+KEY=  00000000000000000000000003ffffffffffffffffffffffffffffffffffffff\r
+CT=   ee26c00ac7b5df7bfe5e3a07df721147\r
+TEST= 155\r
+KEY=  00000000000000000000000007ffffffffffffffffffffffffffffffffffffff\r
+CT=   8b8f6e74e2f3f90647d0fd8bb9bebad4\r
+TEST= 156\r
+KEY=  0000000000000000000000000fffffffffffffffffffffffffffffffffffffff\r
+CT=   863784b8bedd5e5136653c117640cf73\r
+TEST= 157\r
+KEY=  0000000000000000000000001fffffffffffffffffffffffffffffffffffffff\r
+CT=   649734b5a45c46804993680b7430ee16\r
+TEST= 158\r
+KEY=  0000000000000000000000003fffffffffffffffffffffffffffffffffffffff\r
+CT=   4300c7495e4f60051bf81b41efd60937\r
+TEST= 159\r
+KEY=  0000000000000000000000007fffffffffffffffffffffffffffffffffffffff\r
+CT=   175c302f8c69865e4b29998654d7df56\r
+TEST= 160\r
+KEY=  000000000000000000000000ffffffffffffffffffffffffffffffffffffffff\r
+CT=   7fa83d9963562b275db0b9f8a2741abf\r
+TEST= 161\r
+KEY=  000000000000000000000001ffffffffffffffffffffffffffffffffffffffff\r
+CT=   dff04cd44b1770cdc3dfd13076cdd20d\r
+TEST= 162\r
+KEY=  000000000000000000000003ffffffffffffffffffffffffffffffffffffffff\r
+CT=   576bd4bad89d83bd47543b49d43bfbac\r
+TEST= 163\r
+KEY=  000000000000000000000007ffffffffffffffffffffffffffffffffffffffff\r
+CT=   d38e87363016d48279fa8a8f89514ec2\r
+TEST= 164\r
+KEY=  00000000000000000000000fffffffffffffffffffffffffffffffffffffffff\r
+CT=   48a1b62e83e17d43f94367380efe6d3c\r
+TEST= 165\r
+KEY=  00000000000000000000001fffffffffffffffffffffffffffffffffffffffff\r
+CT=   c1bb7aefd3613e4e54fbc55263089094\r
+TEST= 166\r
+KEY=  00000000000000000000003fffffffffffffffffffffffffffffffffffffffff\r
+CT=   b2f12fd11d9fc28942e293cafd564697\r
+TEST= 167\r
+KEY=  00000000000000000000007fffffffffffffffffffffffffffffffffffffffff\r
+CT=   9f7d86077298836c7a051cdcdc01b0a3\r
+TEST= 168\r
+KEY=  0000000000000000000000ffffffffffffffffffffffffffffffffffffffffff\r
+CT=   837980614116768f301d4eaf74c8f61c\r
+TEST= 169\r
+KEY=  0000000000000000000001ffffffffffffffffffffffffffffffffffffffffff\r
+CT=   bebe2da4f22916c758713300653954f2\r
+TEST= 170\r
+KEY=  0000000000000000000003ffffffffffffffffffffffffffffffffffffffffff\r
+CT=   a854fef10367e2717f0c1477c276ba51\r
+TEST= 171\r
+KEY=  0000000000000000000007ffffffffffffffffffffffffffffffffffffffffff\r
+CT=   8062587d0399c57034691b224b7458f9\r
+TEST= 172\r
+KEY=  000000000000000000000fffffffffffffffffffffffffffffffffffffffffff\r
+CT=   6eff435d904f9331194a9390aab9bbc6\r
+TEST= 173\r
+KEY=  000000000000000000001fffffffffffffffffffffffffffffffffffffffffff\r
+CT=   51cca7c89eb5cf85513f4d4cc012367d\r
+TEST= 174\r
+KEY=  000000000000000000003fffffffffffffffffffffffffffffffffffffffffff\r
+CT=   7266ab510d9fba7ef7f5b091771ce3b6\r
+TEST= 175\r
+KEY=  000000000000000000007fffffffffffffffffffffffffffffffffffffffffff\r
+CT=   a7fea44379f62e4c084762cf57fcff2e\r
+TEST= 176\r
+KEY=  00000000000000000000ffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   cfe5b834dc50762e7f664736fe01314c\r
+TEST= 177\r
+KEY=  00000000000000000001ffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   b161bcc5b60fdee9f42f01ad7cb577cc\r
+TEST= 178\r
+KEY=  00000000000000000003ffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   619203acd2578302f9fd58878bb7e6e9\r
+TEST= 179\r
+KEY=  00000000000000000007ffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   3b8c4d30824b1c30b654982f3b11c690\r
+TEST= 180\r
+KEY=  0000000000000000000fffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   ca5f8704dffde917707fbee0e6d47d91\r
+TEST= 181\r
+KEY=  0000000000000000001fffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   e47af77c9156d7b189d60302bba2abc7\r
+TEST= 182\r
+KEY=  0000000000000000003fffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   672728b55b4987f66df36174c601ee79\r
+TEST= 183\r
+KEY=  0000000000000000007fffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   ecf4ad0de7dc2b747cd6bd672661cf20\r
+TEST= 184\r
+KEY=  000000000000000000ffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   90ec729bd49587be52d69a48d2101241\r
+TEST= 185\r
+KEY=  000000000000000001ffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   3f47dd56e94bdcc88fc15f92680fae2b\r
+TEST= 186\r
+KEY=  000000000000000003ffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   8a2db427a64ffd3d4a1351c2926f6c88\r
+TEST= 187\r
+KEY=  000000000000000007ffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   fbb09231e2d67b2292c4aad76eba7f24\r
+TEST= 188\r
+KEY=  00000000000000000fffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   dbc986b4365cb5de13e66e8b61f2b7a7\r
+TEST= 189\r
+KEY=  00000000000000001fffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   d8bb9b81c245521987e35293c8dc1c5b\r
+TEST= 190\r
+KEY=  00000000000000003fffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   2f8abe972cbef8e44333f6fc7b546b47\r
+TEST= 191\r
+KEY=  00000000000000007fffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   c4f400720ac847b949efbb88465c4a03\r
+TEST= 192\r
+KEY=  0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   13af71f5b184afa7a6b2076fda139c3e\r
+TEST= 193\r
+KEY=  0000000000000001ffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   343f57ab0bcaf1d0a6da2a4bb8548eb3\r
+TEST= 194\r
+KEY=  0000000000000003ffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   186664c6155d822512d9ee6235fe8ae6\r
+TEST= 195\r
+KEY=  0000000000000007ffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   84cb0d12ca2606e32d74352e70b46eb4\r
+TEST= 196\r
+KEY=  000000000000000fffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   1b4a2fce431cc884592074df060a8e3a\r
+TEST= 197\r
+KEY=  000000000000001fffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   6a03c8a609c994bf05968eee7a92352f\r
+TEST= 198\r
+KEY=  000000000000003fffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   886b0ebef192f7822f761e3638ee4cf8\r
+TEST= 199\r
+KEY=  000000000000007fffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   855afdfa6f111b1307e6aefd2ca99cf7\r
+TEST= 200\r
+KEY=  00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   30038bd599a496cfd937de42958fec6d\r
+TEST= 201\r
+KEY=  00000000000001ffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   bf2de78771bbc0612c5b124b05b0c91a\r
+TEST= 202\r
+KEY=  00000000000003ffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   51d5ad97f39309054b7f3a3d3c4a5fcd\r
+TEST= 203\r
+KEY=  00000000000007ffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   05c656dbd95072ca76c837eca96b7be7\r
+TEST= 204\r
+KEY=  0000000000000fffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   19c4955ce3fbb5d075309f4236c95d40\r
+TEST= 205\r
+KEY=  0000000000001fffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   3e82296fc30beae5bfc99dc34d098bd1\r
+TEST= 206\r
+KEY=  0000000000003fffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   946792d61dc8f87428316dd660acb0d7\r
+TEST= 207\r
+KEY=  0000000000007fffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   23877a45e455d3583850765e02e74f85\r
+TEST= 208\r
+KEY=  000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   a78b350037a786ea1dccb496695c4853\r
+TEST= 209\r
+KEY=  000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   07a773a8e323e590728d8d908a70bb9c\r
+TEST= 210\r
+KEY=  000000000003ffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   bc916f318e1616cef19b497f5fd57e70\r
+TEST= 211\r
+KEY=  000000000007ffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   4955b47dc1bdb73bf4ff96d6b2ca9b60\r
+TEST= 212\r
+KEY=  00000000000fffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   301db4ae59999c76d1dafeec928bb274\r
+TEST= 213\r
+KEY=  00000000001fffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   1ae328b4d92d60cb4ac726ba7882dbae\r
+TEST= 214\r
+KEY=  00000000003fffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   baafaebb3c980d05b72abee6756e80cd\r
+TEST= 215\r
+KEY=  00000000007fffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   1dd5d46789807814a37f1d9bdcf1f1f0\r
+TEST= 216\r
+KEY=  0000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   29258975ad47bb2fef85792c6edba0cf\r
+TEST= 217\r
+KEY=  0000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   6ba3d4297e1c46611c91a4bd5f469c16\r
+TEST= 218\r
+KEY=  0000000003ffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   db3db8c9e6dfb466554180bfaafbd7d5\r
+TEST= 219\r
+KEY=  0000000007ffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   dbe0f4c8a53653227f9420f3c8a4217e\r
+TEST= 220\r
+KEY=  000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   0a68a6d3efed7b6602bdba3affd12679\r
+TEST= 221\r
+KEY=  000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   83164657104e46ed285f929f880b4d94\r
+TEST= 222\r
+KEY=  000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   24766eda3ac0abe8ecd3f578c1dcdb54\r
+TEST= 223\r
+KEY=  000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   d871b41c3cd1b8977242dc4846bfacfc\r
+TEST= 224\r
+KEY=  00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   7b41c82f493c0fa5f5d55ea270f9863c\r
+TEST= 225\r
+KEY=  00000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   79ac40e48b1f044e89c2f2e444447a78\r
+TEST= 226\r
+KEY=  00000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   71b289b6ccd0975244b291b0afad7883\r
+TEST= 227\r
+KEY=  00000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   0212b97d6105467fcc606575d17f1065\r
+TEST= 228\r
+KEY=  0000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   2eb35611fb7c76778b0f54cb0cc2934d\r
+TEST= 229\r
+KEY=  0000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   a7dee1c4fe0755ba889cf3fd1c65205c\r
+TEST= 230\r
+KEY=  0000003fffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   621116bdeeae44ae2eecb08fce1e108a\r
+TEST= 231\r
+KEY=  0000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   29a1db0e72a771eb8c6361a17d6e6dbf\r
+TEST= 232\r
+KEY=  000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   36fffa85f3963cf01f3297f4eefe14a1\r
+TEST= 233\r
+KEY=  000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   c45dc9405cf61864d9fb65e864130009\r
+TEST= 234\r
+KEY=  000003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   ae9a1eb242eee920e539d8ce1fc96286\r
+TEST= 235\r
+KEY=  000007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   99861099327a2b7170db096990c90453\r
+TEST= 236\r
+KEY=  00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   d33639cd1a110d75cc8394e0a09be96a\r
+TEST= 237\r
+KEY=  00001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   775fda0219add7cf975e38ba170e7d7b\r
+TEST= 238\r
+KEY=  00003fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   70ce9897f99712185af3f0ba84a726ff\r
+TEST= 239\r
+KEY=  00007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   a3d47fb6583f8a2f889bb79509731ec7\r
+TEST= 240\r
+KEY=  0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   c4bad4e26e43d7c4af234278dc537528\r
+TEST= 241\r
+KEY=  0001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   920d830bce23565df19eaae4bd57310a\r
+TEST= 242\r
+KEY=  0003ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   3a39c43e83b54f61abe4383c96db3cc6\r
+TEST= 243\r
+KEY=  0007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   1d020ad19fba8d96a65bba16fbb42e17\r
+TEST= 244\r
+KEY=  000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   141ac0c97479d9e2102a9aabc127ee63\r
+TEST= 245\r
+KEY=  001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   7d3af45ccefc698808fb285ac595d491\r
+TEST= 246\r
+KEY=  003fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   f9721f2d5f0a842aa66015d4ed6ca4b8\r
+TEST= 247\r
+KEY=  007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   3375396341b19ef7d59035e77d04157c\r
+TEST= 248\r
+KEY=  00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   b82a29ff80dc7924f3bc74033b567241\r
+TEST= 249\r
+KEY=  01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   89cd4f3a1ff80a6f5f21619b12d8ceb7\r
+TEST= 250\r
+KEY=  03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   2ac0fd06ad5d60a45ef4b185eb2116d3\r
+TEST= 251\r
+KEY=  07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   a84ecd3feb87562d3837c1bd82f4a9a9\r
+TEST= 252\r
+KEY=  0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   6863d07b1b6cbf078a5a95ab10e4142f\r
+TEST= 253\r
+KEY=  1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   3b4c71bd036bc069e5dd13c38a3004a9\r
+TEST= 254\r
+KEY=  3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   cc0a818a631d407ab7ec415276719e31\r
+TEST= 255\r
+KEY=  7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   69053f64996ad8b4e82d996847de458b\r
+TEST= 256\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r
+CT=   4bf85f1b5d54adbc307b0a048389adcb\r
+TEST= 257\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe\r
+CT=   b07d4f3e2cd2ef2eb545980754dfea0f\r
+TEST= 258\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc\r
+CT=   27936bd27fb1468fc8b48bc483321725\r
+TEST= 259\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8\r
+CT=   1f8a8133aa8ccf70e2bd3285831ca6b7\r
+TEST= 260\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0\r
+CT=   03720371a04962eaea0a852e69972858\r
+TEST= 261\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0\r
+CT=   cf78618f74f6f3696e0a4779b90b5a77\r
+TEST= 262\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0\r
+CT=   7b03627611678a997717578807a800e2\r
+TEST= 263\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80\r
+CT=   2f005a8aed8a361c92e440c15520cbd1\r
+TEST= 264\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00\r
+CT=   60eb5af8416b257149372194e8b88749\r
+TEST= 265\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00\r
+CT=   5b40ff4ec9be536ba23035fa4f06064c\r
+TEST= 266\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00\r
+CT=   cca7c3086f5f9511b31233da7cab9160\r
+TEST= 267\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800\r
+CT=   8b378c86672aa54a3a266ba19d2580ca\r
+TEST= 268\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000\r
+CT=   9338f08e0ebee96905d8f2e825208f43\r
+TEST= 269\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000\r
+CT=   50e6d3c9b6698a7cd276f96b1473f35a\r
+TEST= 270\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000\r
+CT=   d94b5e90db354c1e42f61fabe167b2c0\r
+TEST= 271\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000\r
+CT=   a8a39a0f5663f4c0fe5f2d3cafff421a\r
+TEST= 272\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000\r
+CT=   563531135e0c4d70a38f8bdb190ba04e\r
+TEST= 273\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000\r
+CT=   d2e0c7f15b4772467d2cfc873000b2ca\r
+TEST= 274\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000\r
+CT=   52fc3e620492ea99641ea168da5b6d52\r
+TEST= 275\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000\r
+CT=   3a0a0e75a8da36735aee6684d965a778\r
+TEST= 276\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000\r
+CT=   d3a204dbd9c2af158b6ca67a5156ce4a\r
+TEST= 277\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000\r
+CT=   2fdea9e650532be5bc0e7325337fd363\r
+TEST= 278\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000\r
+CT=   d1ac39bb1ef86b9c1344f214679aa376\r
+TEST= 279\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000\r
+CT=   da797713263d6f33a5478a65ef60d412\r
+TEST= 280\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000\r
+CT=   3194367a4898c502c13bb7478640a72d\r
+TEST= 281\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000\r
+CT=   ba9ebefdb4ccf30f296cecb3bc1943e8\r
+TEST= 282\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000\r
+CT=   e74a4c999b4c064e48bb1e413f51e5ea\r
+TEST= 283\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000\r
+CT=   ea7bd6bb63418731aeac790fe42d61e8\r
+TEST= 284\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000\r
+CT=   37f655536a704e5ace182d742a820cf4\r
+TEST= 285\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000\r
+CT=   3f58c950f0367160adec45f2441e7411\r
+TEST= 286\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000\r
+CT=   294b033df4da853f4be3e243f7e513f4\r
+TEST= 287\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000\r
+CT=   234b148b8cb1d8c32b287e896903d150\r
+TEST= 288\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000\r
+CT=   70bed8dbf615868a1f9d9b05d3e7a267\r
+TEST= 289\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000\r
+CT=   1e38e759075ba5cab6457da51844295a\r
+TEST= 290\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000\r
+CT=   02dc99fa3d4f98ce80985e7233889313\r
+TEST= 291\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffff800000000\r
+CT=   7379f3370cf6e5ce12ae5969c8eea312\r
+TEST= 292\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000\r
+CT=   96877803de77744bb970d0a91f4debae\r
+TEST= 293\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffe000000000\r
+CT=   2fbb83dfd0d7abcb05cd28cad2dfb523\r
+TEST= 294\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffffc000000000\r
+CT=   9c94b8b0cb8bcc919072262b3fa05ad9\r
+TEST= 295\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffff8000000000\r
+CT=   70377b6da669b072129e057cc28e9ca5\r
+TEST= 296\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000\r
+CT=   26b549c2ec756f82ecc48008e529956b\r
+TEST= 297\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000\r
+CT=   1ee6ee326583a0586491c96418d1a35d\r
+TEST= 298\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000\r
+CT=   97e8adf65638fd9cdf3bc22c17fe4dbd\r
+TEST= 299\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000\r
+CT=   5bf0051893a18bb30e139a58fed0fa54\r
+TEST= 300\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000\r
+CT=   7a15aab82701efa5ae36ab1d6b76290f\r
+TEST= 301\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000\r
+CT=   4327d08c523d8eba697a4336507d1f42\r
+TEST= 302\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffffc00000000000\r
+CT=   4fc0d230f8891415b87b83f95f2e09d1\r
+TEST= 303\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffff800000000000\r
+CT=   a085d7c1a500873a20099c4caa3c3f5b\r
+TEST= 304\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000\r
+CT=   69cd0606e15af729d6bca143016d9842\r
+TEST= 305\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffe000000000000\r
+CT=   1f56413c7add6f43d1d56e4f02190330\r
+TEST= 306\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffffc000000000000\r
+CT=   2e2e647d5360e09230a5d738ca33471e\r
+TEST= 307\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffff8000000000000\r
+CT=   6702990727aa0878637b45dcd3a3b074\r
+TEST= 308\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000\r
+CT=   e9f80e9d845bcc0f62926af72eabca39\r
+TEST= 309\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000\r
+CT=   c267ef0e2d01a993944dd397101413cb\r
+TEST= 310\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffffc0000000000000\r
+CT=   6eda7ff6b8319180ff0d6e65629d01c3\r
+TEST= 311\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000\r
+CT=   8a772231c01dfdd7c98e4cfddcc0807a\r
+TEST= 312\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000\r
+CT=   35e9eddbc375e792c19992c19165012b\r
+TEST= 313\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000\r
+CT=   1dcd8bb173259eb33a5242b0de31a455\r
+TEST= 314\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffffc00000000000000\r
+CT=   84ecacfcd400084d078612b1945f2ef5\r
+TEST= 315\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffff800000000000000\r
+CT=   193a3d24157a51f1ee0893f6777417e7\r
+TEST= 316\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000\r
+CT=   023e82b533f68c75c238cebdb2ee89a2\r
+TEST= 317\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffe000000000000000\r
+CT=   d64424f23cb97215e9c2c6f28d29eab7\r
+TEST= 318\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffffc000000000000000\r
+CT=   804f32ea71828c7d329077e712231666\r
+TEST= 319\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffff8000000000000000\r
+CT=   37232a4ed21ccc27c19c9610078cabac\r
+TEST= 320\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000\r
+CT=   77565c8d73cfd4130b4aa14d8911710f\r
+TEST= 321\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000\r
+CT=   516183392f7a8763afec68a060264141\r
+TEST= 322\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000\r
+CT=   d1415447866230d28bb1ea18a4cdfd02\r
+TEST= 323\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffff80000000000000000\r
+CT=   6168b00ba7859e0970ecfd757efecf7c\r
+TEST= 324\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000\r
+CT=   edf61ae362e882ddc0167474a7a77f3a\r
+TEST= 325\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000\r
+CT=   330d8ee7c5677e099ac74c9994ee4cfb\r
+TEST= 326\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffffc00000000000000000\r
+CT=   2cacf728b88abbad7011ed0e64a1680c\r
+TEST= 327\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffff800000000000000000\r
+CT=   db826251e4ce384b80218b0e1da1dd4c\r
+TEST= 328\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffff000000000000000000\r
+CT=   0ddfe51ced7e3f4ae927daa3fe452cee\r
+TEST= 329\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffe000000000000000000\r
+CT=   98551da1a6503276ae1c77625f9ea615\r
+TEST= 330\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffffc000000000000000000\r
+CT=   72bc65aa8e89562e3f274d45af1cd10b\r
+TEST= 331\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffff8000000000000000000\r
+CT=   4570a5a18cfc0dd582f1d88d5c9a1720\r
+TEST= 332\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000\r
+CT=   6629d2b8df97da728cdd8b1e7f945077\r
+TEST= 333\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000\r
+CT=   ca6e8893a114ae8e27d5ab03a5499610\r
+TEST= 334\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffffc0000000000000000000\r
+CT=   db91a38855c8c4643851fbfb358b0109\r
+TEST= 335\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000\r
+CT=   bcc65b526f88d05b89ce8a52021fdb06\r
+TEST= 336\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffff00000000000000000000\r
+CT=   ca359c70803a3b2a3d542e8781dea975\r
+TEST= 337\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffe00000000000000000000\r
+CT=   c33bc13e8de88ac25232aa7496398783\r
+TEST= 338\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffffc00000000000000000000\r
+CT=   10dffb05904bff7c4781df780ad26837\r
+TEST= 339\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffff800000000000000000000\r
+CT=   ede447b362c484993dec9442a3b46aef\r
+TEST= 340\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffff000000000000000000000\r
+CT=   fdd9bbb4a7dc2e4a23536a5880a2db67\r
+TEST= 341\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffe000000000000000000000\r
+CT=   ca0bf42cb107f55ccff2fc09ee08ca15\r
+TEST= 342\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffffc000000000000000000000\r
+CT=   cb5a408657837c53bf16f9d8465dce19\r
+TEST= 343\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffff8000000000000000000000\r
+CT=   cfd1875523f3cd21c395651e6ee15e56\r
+TEST= 344\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffff0000000000000000000000\r
+CT=   be288319029363c2622feba4b05dfdfe\r
+TEST= 345\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffe0000000000000000000000\r
+CT=   cc1445ee94c0f08cdee5c344ecd1e233\r
+TEST= 346\r
+KEY=  fffffffffffffffffffffffffffffffffffffffffc0000000000000000000000\r
+CT=   866b5b3977ba6efa5128efbda9ff03cd\r
+TEST= 347\r
+KEY=  fffffffffffffffffffffffffffffffffffffffff80000000000000000000000\r
+CT=   332eee1a0cbd19ca2d69b426894044f0\r
+TEST= 348\r
+KEY=  fffffffffffffffffffffffffffffffffffffffff00000000000000000000000\r
+CT=   347846b2b2e36f1f0324c86f7f1b98e2\r
+TEST= 349\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffe00000000000000000000000\r
+CT=   11c5413904487a805d70a8edd9c35527\r
+TEST= 350\r
+KEY=  ffffffffffffffffffffffffffffffffffffffffc00000000000000000000000\r
+CT=   feec7ce6a6cbd07c043416737f1bbb33\r
+TEST= 351\r
+KEY=  ffffffffffffffffffffffffffffffffffffffff800000000000000000000000\r
+CT=   4960757ec6ce68cf195e454cfd0f32ca\r
+TEST= 352\r
+KEY=  ffffffffffffffffffffffffffffffffffffffff000000000000000000000000\r
+CT=   93201481665cbafc1fcc220bc545fb3d\r
+TEST= 353\r
+KEY=  fffffffffffffffffffffffffffffffffffffffe000000000000000000000000\r
+CT=   c102e38e489aa74762f3efc5bb23205a\r
+TEST= 354\r
+KEY=  fffffffffffffffffffffffffffffffffffffffc000000000000000000000000\r
+CT=   c93bbdc07a4611ae4bb266ea5034a387\r
+TEST= 355\r
+KEY=  fffffffffffffffffffffffffffffffffffffff8000000000000000000000000\r
+CT=   8c791d5fdddf470da04f3e6dc4a5b5b5\r
+TEST= 356\r
+KEY=  fffffffffffffffffffffffffffffffffffffff0000000000000000000000000\r
+CT=   fcfefb534100796eebbd990206754e19\r
+TEST= 357\r
+KEY=  ffffffffffffffffffffffffffffffffffffffe0000000000000000000000000\r
+CT=   6cae8129f843d86dc786a0fb1a184970\r
+TEST= 358\r
+KEY=  ffffffffffffffffffffffffffffffffffffffc0000000000000000000000000\r
+CT=   ba77413dea5925b7f5417ea47ff19f59\r
+TEST= 359\r
+KEY=  ffffffffffffffffffffffffffffffffffffff80000000000000000000000000\r
+CT=   72c9e4646dbc3d6320fc6689d93e8833\r
+TEST= 360\r
+KEY=  ffffffffffffffffffffffffffffffffffffff00000000000000000000000000\r
+CT=   33905080f7acf1cdae0a91fc3e85aee4\r
+TEST= 361\r
+KEY=  fffffffffffffffffffffffffffffffffffffe00000000000000000000000000\r
+CT=   59836a0e06a79691b36667d5380d8188\r
+TEST= 362\r
+KEY=  fffffffffffffffffffffffffffffffffffffc00000000000000000000000000\r
+CT=   238aca23fd3409f38af63378ed2f5473\r
+TEST= 363\r
+KEY=  fffffffffffffffffffffffffffffffffffff800000000000000000000000000\r
+CT=   ca352df025c65c7b0bf306fbee0f36ba\r
+TEST= 364\r
+KEY=  fffffffffffffffffffffffffffffffffffff000000000000000000000000000\r
+CT=   d9a4c7618b0ce48a3d5aee1a1c0114c4\r
+TEST= 365\r
+KEY=  ffffffffffffffffffffffffffffffffffffe000000000000000000000000000\r
+CT=   dcf4e129136c1a4b7a0f38935cc34b2b\r
+TEST= 366\r
+KEY=  ffffffffffffffffffffffffffffffffffffc000000000000000000000000000\r
+CT=   b4da5df4becb5462e03a0ed00d295629\r
+TEST= 367\r
+KEY=  ffffffffffffffffffffffffffffffffffff8000000000000000000000000000\r
+CT=   45d089c36d5c5a4efc689e3b0de10dd5\r
+TEST= 368\r
+KEY=  ffffffffffffffffffffffffffffffffffff0000000000000000000000000000\r
+CT=   d240d648ce21a3020282c3f1b528a0b6\r
+TEST= 369\r
+KEY=  fffffffffffffffffffffffffffffffffffe0000000000000000000000000000\r
+CT=   5d942b7f4622ce056c3ce3ce5f1dd9d6\r
+TEST= 370\r
+KEY=  fffffffffffffffffffffffffffffffffffc0000000000000000000000000000\r
+CT=   cac8e414c2f388227ae14986fc983524\r
+TEST= 371\r
+KEY=  fffffffffffffffffffffffffffffffffff80000000000000000000000000000\r
+CT=   a9eec03c8abec7ba68315c2c8c2316e0\r
+TEST= 372\r
+KEY=  fffffffffffffffffffffffffffffffffff00000000000000000000000000000\r
+CT=   7c85e9c95de1a9ec5a5363a8a053472d\r
+TEST= 373\r
+KEY=  ffffffffffffffffffffffffffffffffffe00000000000000000000000000000\r
+CT=   3967a10cffe27d0178545fbf6a40544b\r
+TEST= 374\r
+KEY=  ffffffffffffffffffffffffffffffffffc00000000000000000000000000000\r
+CT=   c64c24b6894b038b3c0d09b1df068b0b\r
+TEST= 375\r
+KEY=  ffffffffffffffffffffffffffffffffff800000000000000000000000000000\r
+CT=   bf8115805471741bd5ad20a03944790f\r
+TEST= 376\r
+KEY=  ffffffffffffffffffffffffffffffffff000000000000000000000000000000\r
+CT=   ef1b384ac4d93eda00c92add0995ea5f\r
+TEST= 377\r
+KEY=  fffffffffffffffffffffffffffffffffe000000000000000000000000000000\r
+CT=   6c5d03b13069c3658b3179be91b0800c\r
+TEST= 378\r
+KEY=  fffffffffffffffffffffffffffffffffc000000000000000000000000000000\r
+CT=   8680db7f3a87b8605543cfdbe6754076\r
+TEST= 379\r
+KEY=  fffffffffffffffffffffffffffffffff8000000000000000000000000000000\r
+CT=   6e668856539ad8e405bd123fe6c88530\r
+TEST= 380\r
+KEY=  fffffffffffffffffffffffffffffffff0000000000000000000000000000000\r
+CT=   c3498f7eced2095314fc28115885b33f\r
+TEST= 381\r
+KEY=  ffffffffffffffffffffffffffffffffe0000000000000000000000000000000\r
+CT=   5d454b75021d76d4b84f873a8f877b92\r
+TEST= 382\r
+KEY=  ffffffffffffffffffffffffffffffffc0000000000000000000000000000000\r
+CT=   d836b44bb29e0c7d89fa4b2d4b677d2a\r
+TEST= 383\r
+KEY=  ffffffffffffffffffffffffffffffff80000000000000000000000000000000\r
+CT=   e3714e94a5778955cc0346358e94783a\r
+TEST= 384\r
+KEY=  ffffffffffffffffffffffffffffffff00000000000000000000000000000000\r
+CT=   6825a347ac479d4f9d95c5cb8d3fd7e9\r
+TEST= 385\r
+KEY=  fffffffffffffffffffffffffffffffe00000000000000000000000000000000\r
+CT=   b5f71d4dd9a71fe5d8bc8ba7e6ea3048\r
+TEST= 386\r
+KEY=  fffffffffffffffffffffffffffffffc00000000000000000000000000000000\r
+CT=   d62068444578e3ab39ce7ec95dd045dc\r
+TEST= 387\r
+KEY=  fffffffffffffffffffffffffffffff800000000000000000000000000000000\r
+CT=   27eefa80ce6a4a9d598e3fec365434d2\r
+TEST= 388\r
+KEY=  fffffffffffffffffffffffffffffff000000000000000000000000000000000\r
+CT=   86f93d9ec08453a071e2e2877877a9c8\r
+TEST= 389\r
+KEY=  ffffffffffffffffffffffffffffffe000000000000000000000000000000000\r
+CT=   9661cb2424d7d4a380d547f9e7ec1cb9\r
+TEST= 390\r
+KEY=  ffffffffffffffffffffffffffffffc000000000000000000000000000000000\r
+CT=   8193c6ff85225ced4255e92f6e078a14\r
+TEST= 391\r
+KEY=  ffffffffffffffffffffffffffffff8000000000000000000000000000000000\r
+CT=   a866bc65b6941d86e8420a7ffb0964db\r
+TEST= 392\r
+KEY=  ffffffffffffffffffffffffffffff0000000000000000000000000000000000\r
+CT=   190843d29b25a3897c692ce1dd81ee52\r
+TEST= 393\r
+KEY=  fffffffffffffffffffffffffffffe0000000000000000000000000000000000\r
+CT=   f1f1c5a40899e15772857ccb65c7a09a\r
+TEST= 394\r
+KEY=  fffffffffffffffffffffffffffffc0000000000000000000000000000000000\r
+CT=   3a90c62d88b5c42809abf782488ed130\r
+TEST= 395\r
+KEY=  fffffffffffffffffffffffffffff80000000000000000000000000000000000\r
+CT=   9aaec4fabbf6fae2a71feff02e372b39\r
+TEST= 396\r
+KEY=  fffffffffffffffffffffffffffff00000000000000000000000000000000000\r
+CT=   10617d28b5e0f4605492b182a5d7f9f6\r
+TEST= 397\r
+KEY=  ffffffffffffffffffffffffffffe00000000000000000000000000000000000\r
+CT=   87f53bf620d3677268445212904389d5\r
+TEST= 398\r
+KEY=  ffffffffffffffffffffffffffffc00000000000000000000000000000000000\r
+CT=   ba26d47da3aeb028de4fb5b3a854a24b\r
+TEST= 399\r
+KEY=  ffffffffffffffffffffffffffff800000000000000000000000000000000000\r
+CT=   3b6f46f40e0ac5fc0a9c1105f800f48d\r
+TEST= 400\r
+KEY=  ffffffffffffffffffffffffffff000000000000000000000000000000000000\r
+CT=   cd5ece55b8da3bf622c4100df5de46f9\r
+TEST= 401\r
+KEY=  fffffffffffffffffffffffffffe000000000000000000000000000000000000\r
+CT=   6c839dd58eeae6b8a36af48ed63d2dc9\r
+TEST= 402\r
+KEY=  fffffffffffffffffffffffffffc000000000000000000000000000000000000\r
+CT=   ce61d63514aded03d43e6ebfc3a9001f\r
+TEST= 403\r
+KEY=  fffffffffffffffffffffffffff8000000000000000000000000000000000000\r
+CT=   84a83d7b94c699cbcb8a7d9b61f64093\r
+TEST= 404\r
+KEY=  fffffffffffffffffffffffffff0000000000000000000000000000000000000\r
+CT=   972bdd2e7c525130fadc8f76fc6f4b3f\r
+TEST= 405\r
+KEY=  ffffffffffffffffffffffffffe0000000000000000000000000000000000000\r
+CT=   e3abc4939457422bb957da3c56938c6d\r
+TEST= 406\r
+KEY=  ffffffffffffffffffffffffffc0000000000000000000000000000000000000\r
+CT=   a42734a3929bf84cf0116c9856a3c18c\r
+TEST= 407\r
+KEY=  ffffffffffffffffffffffffff80000000000000000000000000000000000000\r
+CT=   3d20253adbce3be2373767c4d822c566\r
+TEST= 408\r
+KEY=  ffffffffffffffffffffffffff00000000000000000000000000000000000000\r
+CT=   33f7502390b8a4a221cfecd0666624ba\r
+TEST= 409\r
+KEY=  fffffffffffffffffffffffffe00000000000000000000000000000000000000\r
+CT=   b588a302bdbc09197df1edae68926ed9\r
+TEST= 410\r
+KEY=  fffffffffffffffffffffffffc00000000000000000000000000000000000000\r
+CT=   8d4595cb4fa7026715f55bd68e2882f9\r
+TEST= 411\r
+KEY=  fffffffffffffffffffffffff800000000000000000000000000000000000000\r
+CT=   40b264e921e9e4a82694589ef3798262\r
+TEST= 412\r
+KEY=  fffffffffffffffffffffffff000000000000000000000000000000000000000\r
+CT=   112078e9e11fbb78e26ffb8899e96b9a\r
+TEST= 413\r
+KEY=  ffffffffffffffffffffffffe000000000000000000000000000000000000000\r
+CT=   7606fa36d86473e6fb3a1bb0e2c0adf5\r
+TEST= 414\r
+KEY=  ffffffffffffffffffffffffc000000000000000000000000000000000000000\r
+CT=   6693dc911662ae473216ba22189a511a\r
+TEST= 415\r
+KEY=  ffffffffffffffffffffffff8000000000000000000000000000000000000000\r
+CT=   266581af0dcfbed1585e0a242c64b8df\r
+TEST= 416\r
+KEY=  ffffffffffffffffffffffff0000000000000000000000000000000000000000\r
+CT=   0aeede5b91f721700e9e62edbf60b781\r
+TEST= 417\r
+KEY=  fffffffffffffffffffffffe0000000000000000000000000000000000000000\r
+CT=   15c6becf0f4cec7129cbd22d1a79b1b8\r
+TEST= 418\r
+KEY=  fffffffffffffffffffffffc0000000000000000000000000000000000000000\r
+CT=   0ebd7c30ed2016e08ba806ddb008bcc8\r
+TEST= 419\r
+KEY=  fffffffffffffffffffffff80000000000000000000000000000000000000000\r
+CT=   40071eeab3f935dbc25d00841460260f\r
+TEST= 420\r
+KEY=  fffffffffffffffffffffff00000000000000000000000000000000000000000\r
+CT=   04bc3da2179c3015498b0e03910db5b8\r
+TEST= 421\r
+KEY=  ffffffffffffffffffffffe00000000000000000000000000000000000000000\r
+CT=   a858411ffbe63fdb9c8aa1bfaed67b52\r
+TEST= 422\r
+KEY=  ffffffffffffffffffffffc00000000000000000000000000000000000000000\r
+CT=   684c9efc237e4a442965f84bce20247a\r
+TEST= 423\r
+KEY=  ffffffffffffffffffffff800000000000000000000000000000000000000000\r
+CT=   dcca366a9bf47b7b868b77e25c18a364\r
+TEST= 424\r
+KEY=  ffffffffffffffffffffff000000000000000000000000000000000000000000\r
+CT=   0791823a3c666bb6162825e78606a7fe\r
+TEST= 425\r
+KEY=  fffffffffffffffffffffe000000000000000000000000000000000000000000\r
+CT=   e68ad5055a367041fade09d9a70a794b\r
+TEST= 426\r
+KEY=  fffffffffffffffffffffc000000000000000000000000000000000000000000\r
+CT=   e86f7e23e835e114977f60e1a592202e\r
+TEST= 427\r
+KEY=  fffffffffffffffffffff8000000000000000000000000000000000000000000\r
+CT=   ab0c8410aeeead92feec1eb430d652cb\r
+TEST= 428\r
+KEY=  fffffffffffffffffffff0000000000000000000000000000000000000000000\r
+CT=   4e6e627c1acc51340053a8236d579576\r
+TEST= 429\r
+KEY=  ffffffffffffffffffffe0000000000000000000000000000000000000000000\r
+CT=   2e16873e1678610d7e14c02d002ea845\r
+TEST= 430\r
+KEY=  ffffffffffffffffffffc0000000000000000000000000000000000000000000\r
+CT=   ad4916f5ee5772be764fc027b8a6e539\r
+TEST= 431\r
+KEY=  ffffffffffffffffffff80000000000000000000000000000000000000000000\r
+CT=   fdcfac0c02ca538343c68117e0a15938\r
+TEST= 432\r
+KEY=  ffffffffffffffffffff00000000000000000000000000000000000000000000\r
+CT=   f33fa36720231afe4c759ade6bd62eb6\r
+TEST= 433\r
+KEY=  fffffffffffffffffffe00000000000000000000000000000000000000000000\r
+CT=   f97d57b3333b6281b07d486db2d4e20c\r
+TEST= 434\r
+KEY=  fffffffffffffffffffc00000000000000000000000000000000000000000000\r
+CT=   ab980296197e1a5022326c31da4bf6f3\r
+TEST= 435\r
+KEY=  fffffffffffffffffff800000000000000000000000000000000000000000000\r
+CT=   a4af534a7d0b643a01868785d86dfb95\r
+TEST= 436\r
+KEY=  fffffffffffffffffff000000000000000000000000000000000000000000000\r
+CT=   462ccd7f5fd1108dbc152f3cacad328b\r
+TEST= 437\r
+KEY=  ffffffffffffffffffe000000000000000000000000000000000000000000000\r
+CT=   2e70f168fc74bf911df240bcd2cef236\r
+TEST= 438\r
+KEY=  ffffffffffffffffffc000000000000000000000000000000000000000000000\r
+CT=   9f0fdec08b7fd79aa39535bea42db92a\r
+TEST= 439\r
+KEY=  ffffffffffffffffff8000000000000000000000000000000000000000000000\r
+CT=   eb040b891d4b37f6851f7ec219cd3f6d\r
+TEST= 440\r
+KEY=  ffffffffffffffffff0000000000000000000000000000000000000000000000\r
+CT=   4b3b9f1e099c2a09dc091e90e4f18f0a\r
+TEST= 441\r
+KEY=  fffffffffffffffffe0000000000000000000000000000000000000000000000\r
+CT=   97120166307119ca2280e9315668e96f\r
+TEST= 442\r
+KEY=  fffffffffffffffffc0000000000000000000000000000000000000000000000\r
+CT=   c20a19fd5758b0c4bc1a5df89cf73877\r
+TEST= 443\r
+KEY=  fffffffffffffffff80000000000000000000000000000000000000000000000\r
+CT=   9ff071b165b5198a93dddeebc54d09b5\r
+TEST= 444\r
+KEY=  fffffffffffffffff00000000000000000000000000000000000000000000000\r
+CT=   f51a0f694442b8f05571797fec7ee8bf\r
+TEST= 445\r
+KEY=  ffffffffffffffffe00000000000000000000000000000000000000000000000\r
+CT=   597a6252255e46d6364dbeeda31e279c\r
+TEST= 446\r
+KEY=  ffffffffffffffffc00000000000000000000000000000000000000000000000\r
+CT=   e0f0a91b2e45f8cc37b7805a3042588d\r
+TEST= 447\r
+KEY=  ffffffffffffffff800000000000000000000000000000000000000000000000\r
+CT=   8f8fd822680a85974e53a5a8eb9d38de\r
+TEST= 448\r
+KEY=  ffffffffffffffff000000000000000000000000000000000000000000000000\r
+CT=   94efe7a0e2e031e2536da01df799c927\r
+TEST= 449\r
+KEY=  fffffffffffffffe000000000000000000000000000000000000000000000000\r
+CT=   d276c13a5d220f4da9224e74896391ce\r
+TEST= 450\r
+KEY=  fffffffffffffffc000000000000000000000000000000000000000000000000\r
+CT=   ffb4e87a32b37d6f2c8328d3b5377802\r
+TEST= 451\r
+KEY=  fffffffffffffff8000000000000000000000000000000000000000000000000\r
+CT=   f8b9fffb5c187f7ddc7ab10f4fb77576\r
+TEST= 452\r
+KEY=  fffffffffffffff0000000000000000000000000000000000000000000000000\r
+CT=   11825f99b0e9bb3477c1c0713b015aac\r
+TEST= 453\r
+KEY=  ffffffffffffffe0000000000000000000000000000000000000000000000000\r
+CT=   d8c4b200b383fc1f2b2ea677618a1d27\r
+TEST= 454\r
+KEY=  ffffffffffffffc0000000000000000000000000000000000000000000000000\r
+CT=   3e0cdadf2e68353c0027672c97144dd3\r
+TEST= 455\r
+KEY=  ffffffffffffff80000000000000000000000000000000000000000000000000\r
+CT=   092fa137ce18b5dfe7906f550bb13370\r
+TEST= 456\r
+KEY=  ffffffffffffff00000000000000000000000000000000000000000000000000\r
+CT=   4c022ac62b3cb78d739cc67b3e20bb7e\r
+TEST= 457\r
+KEY=  fffffffffffffe00000000000000000000000000000000000000000000000000\r
+CT=   77dd7702646d55f08365e477d3590eda\r
+TEST= 458\r
+KEY=  fffffffffffffc00000000000000000000000000000000000000000000000000\r
+CT=   31690b5ed41c7eb42a1e83270a7ff0e6\r
+TEST= 459\r
+KEY=  fffffffffffff800000000000000000000000000000000000000000000000000\r
+CT=   3f84566df23da48af692722fe980573a\r
+TEST= 460\r
+KEY=  fffffffffffff000000000000000000000000000000000000000000000000000\r
+CT=   8aa9b75e784593876c53a00eae5af52b\r
+TEST= 461\r
+KEY=  ffffffffffffe000000000000000000000000000000000000000000000000000\r
+CT=   a78463fb064db5d52bb64bfef64f2dda\r
+TEST= 462\r
+KEY=  ffffffffffffc000000000000000000000000000000000000000000000000000\r
+CT=   5e031cb9d676c3022d7f26227e85c38f\r
+TEST= 463\r
+KEY=  ffffffffffff8000000000000000000000000000000000000000000000000000\r
+CT=   ae682c5ecd71898e08942ac9aa89875c\r
+TEST= 464\r
+KEY=  ffffffffffff0000000000000000000000000000000000000000000000000000\r
+CT=   225f068c28476605735ad671bb8f39f3\r
+TEST= 465\r
+KEY=  fffffffffffe0000000000000000000000000000000000000000000000000000\r
+CT=   2937a64f7d4f46fe6fea3b349ec78e38\r
+TEST= 466\r
+KEY=  fffffffffffc0000000000000000000000000000000000000000000000000000\r
+CT=   82bda118a3ed7af314fa2ccc5c07b761\r
+TEST= 467\r
+KEY=  fffffffffff80000000000000000000000000000000000000000000000000000\r
+CT=   3dd5c34634a79d3cfcc8339760e6f5f4\r
+TEST= 468\r
+KEY=  fffffffffff00000000000000000000000000000000000000000000000000000\r
+CT=   3c9db3335306fe1ec612bdbfae6b6028\r
+TEST= 469\r
+KEY=  ffffffffffe00000000000000000000000000000000000000000000000000000\r
+CT=   b5bb0f5629fb6aae5e1839a3c3625d63\r
+TEST= 470\r
+KEY=  ffffffffffc00000000000000000000000000000000000000000000000000000\r
+CT=   df31144f87a2ef523facdcf21a427804\r
+TEST= 471\r
+KEY=  ffffffffff800000000000000000000000000000000000000000000000000000\r
+CT=   be66cfea2fecd6bf0ec7b4352c99bcaa\r
+TEST= 472\r
+KEY=  ffffffffff000000000000000000000000000000000000000000000000000000\r
+CT=   e0dcc2d27fc9865633f85223cf0d611f\r
+TEST= 473\r
+KEY=  fffffffffe000000000000000000000000000000000000000000000000000000\r
+CT=   077e9470ae7abea5a9769d49182628c3\r
+TEST= 474\r
+KEY=  fffffffffc000000000000000000000000000000000000000000000000000000\r
+CT=   f836f251ad1d11d49dc344628b1884e1\r
+TEST= 475\r
+KEY=  fffffffff8000000000000000000000000000000000000000000000000000000\r
+CT=   f2b21b4e7640a9b3346de8b82fb41e49\r
+TEST= 476\r
+KEY=  fffffffff0000000000000000000000000000000000000000000000000000000\r
+CT=   6f6238d8966048d4967154e0dad5a6c9\r
+TEST= 477\r
+KEY=  ffffffffe0000000000000000000000000000000000000000000000000000000\r
+CT=   f85ca05fe528f1ce9b790166e8d551e7\r
+TEST= 478\r
+KEY=  ffffffffc0000000000000000000000000000000000000000000000000000000\r
+CT=   2025c74b8ad8f4cda17ee2049c4c902d\r
+TEST= 479\r
+KEY=  ffffffff80000000000000000000000000000000000000000000000000000000\r
+CT=   33ac9eccc4cc75e2711618f80b1548e8\r
+TEST= 480\r
+KEY=  ffffffff00000000000000000000000000000000000000000000000000000000\r
+CT=   ad9fc613a703251b54c64a0e76431711\r
+TEST= 481\r
+KEY=  fffffffe00000000000000000000000000000000000000000000000000000000\r
+CT=   829fd7208fb92d44a074a677ee9861ac\r
+TEST= 482\r
+KEY=  fffffffc00000000000000000000000000000000000000000000000000000000\r
+CT=   fc4af7c948df26e2ef3e01c1ee5b8f6f\r
+TEST= 483\r
+KEY=  fffffff800000000000000000000000000000000000000000000000000000000\r
+CT=   5fd1f13fa0f31e37fabde328f894eac2\r
+TEST= 484\r
+KEY=  fffffff000000000000000000000000000000000000000000000000000000000\r
+CT=   07058e408f5b99b0e0f061a1761b5b3b\r
+TEST= 485\r
+KEY=  ffffffe000000000000000000000000000000000000000000000000000000000\r
+CT=   bbd1097a62433f79449fa97d4ee80dbf\r
+TEST= 486\r
+KEY=  ffffffc000000000000000000000000000000000000000000000000000000000\r
+CT=   a190527d0ef7c70f459cd3940df316ec\r
+TEST= 487\r
+KEY=  ffffff8000000000000000000000000000000000000000000000000000000000\r
+CT=   bd49295006250ffca5100b6007a0eade\r
+TEST= 488\r
+KEY=  ffffff0000000000000000000000000000000000000000000000000000000000\r
+CT=   2c75e2d36eebd65411f14fd0eb1d2a06\r
+TEST= 489\r
+KEY=  fffffe0000000000000000000000000000000000000000000000000000000000\r
+CT=   6bcca98bf6a835fa64955f72de4115fe\r
+TEST= 490\r
+KEY=  fffffc0000000000000000000000000000000000000000000000000000000000\r
+CT=   85f2ba84f8c307cf525e124c3e22e6cc\r
+TEST= 491\r
+KEY=  fffff80000000000000000000000000000000000000000000000000000000000\r
+CT=   976e6f851ab52c771998dbb2d71c75a9\r
+TEST= 492\r
+KEY=  fffff00000000000000000000000000000000000000000000000000000000000\r
+CT=   6e1b482b53761cf631819b749a6f3724\r
+TEST= 493\r
+KEY=  ffffe00000000000000000000000000000000000000000000000000000000000\r
+CT=   633cafea395bc03adae3a1e2068e4b4e\r
+TEST= 494\r
+KEY=  ffffc00000000000000000000000000000000000000000000000000000000000\r
+CT=   27ef2495dabf323885aab39c80f18d8b\r
+TEST= 495\r
+KEY=  ffff800000000000000000000000000000000000000000000000000000000000\r
+CT=   610b71dfc688e150d8152c5b35ebc14d\r
+TEST= 496\r
+KEY=  ffff000000000000000000000000000000000000000000000000000000000000\r
+CT=   937ad84880db50613423d6d527a2823d\r
+TEST= 497\r
+KEY=  fffe000000000000000000000000000000000000000000000000000000000000\r
+CT=   1a4c1c263bbccfafc11782894685e3a8\r
+TEST= 498\r
+KEY=  fffc000000000000000000000000000000000000000000000000000000000000\r
+CT=   4dcede8da9e2578f39703d4433dc6459\r
+TEST= 499\r
+KEY=  fff8000000000000000000000000000000000000000000000000000000000000\r
+CT=   dc43b51ab609052372989a26e9cdd714\r
+TEST= 500\r
+KEY=  fff0000000000000000000000000000000000000000000000000000000000000\r
+CT=   cc111f6c37cf40a1159d00fb59fb0488\r
+TEST= 501\r
+KEY=  ffe0000000000000000000000000000000000000000000000000000000000000\r
+CT=   d1ccb9b1337002cbac42c520b5d67722\r
+TEST= 502\r
+KEY=  ffc0000000000000000000000000000000000000000000000000000000000000\r
+CT=   a3f599d63a82a968c33fe26590745970\r
+TEST= 503\r
+KEY=  ff80000000000000000000000000000000000000000000000000000000000000\r
+CT=   f23e5b600eb70dbccf6c0b1d9a68182c\r
+TEST= 504\r
+KEY=  ff00000000000000000000000000000000000000000000000000000000000000\r
+CT=   ec52a212f80a09df6317021bc2a9819e\r
+TEST= 505\r
+KEY=  fe00000000000000000000000000000000000000000000000000000000000000\r
+CT=   60e32246bed2b0e859e55c1cc6b26502\r
+TEST= 506\r
+KEY=  fc00000000000000000000000000000000000000000000000000000000000000\r
+CT=   8fbb413703735326310a269bd3aa94b2\r
+TEST= 507\r
+KEY=  f800000000000000000000000000000000000000000000000000000000000000\r
+CT=   9cf4893ecafa0a0247a898e040691559\r
+TEST= 508\r
+KEY=  f000000000000000000000000000000000000000000000000000000000000000\r
+CT=   1c777679d50037c79491a94da76a9a35\r
+TEST= 509\r
+KEY=  e000000000000000000000000000000000000000000000000000000000000000\r
+CT=   d8f3a72fc3cdf74dfaf6c3e6b97b2fa6\r
+TEST= 510\r
+KEY=  c000000000000000000000000000000000000000000000000000000000000000\r
+CT=   b29169cdcf2d83e838125a12ee6aa400\r
+TEST= 511\r
+KEY=  8000000000000000000000000000000000000000000000000000000000000000\r
+CT=   e35a6dcb19b201a01ebcfa8aa22b5759\r
diff --git a/test/crypto/aes/ecbnt44.txt b/test/crypto/aes/ecbnt44.txt
new file mode 100644 (file)
index 0000000..0887804
--- /dev/null
@@ -0,0 +1,779 @@
+==============================================\r
+Author:    Dr B R Gladman (                 )\r
+Test:      ECB Variable Text Known Answer Tests\r
+Algorithm: Extended Rijndael (an AES Superset)\r
+Filename:  ecbnt44.txt\r
+==============================================\r
+\r
+BLOCKSIZE=128\r
+KEYSIZE=  128\r
+\r
+KEY=  00000000000000000000000000000000\r
+TEST= 0\r
+PT=   00000000000000000000000000000000\r
+CT=   66e94bd4ef8a2c3b884cfa59ca342b2e\r
+TEST= 1\r
+PT=   00000000000000000000000000000001\r
+CT=   58e2fccefa7e3061367f1d57a4e7455a\r
+TEST= 2\r
+PT=   00000000000000000000000000000003\r
+CT=   f795aaab494b5923f7fd89ff948bc1e0\r
+TEST= 3\r
+PT=   00000000000000000000000000000007\r
+CT=   95b84d1b96c690ff2f2de30bf2ec89e0\r
+TEST= 4\r
+PT=   0000000000000000000000000000000f\r
+CT=   a73f8d0437e0915fbce5d7a62d8dab0a\r
+TEST= 5\r
+PT=   0000000000000000000000000000001f\r
+CT=   7941dd0a63d994703e63d94a44680421\r
+TEST= 6\r
+PT=   0000000000000000000000000000003f\r
+CT=   5bca68deb6b692377c85f6515d2a33e1\r
+TEST= 7\r
+PT=   0000000000000000000000000000007f\r
+CT=   349bf2ed99e8726cb1734349e5c5499a\r
+TEST= 8\r
+PT=   000000000000000000000000000000ff\r
+CT=   f70ddef93ba62588242a0e67d0d645e0\r
+TEST= 9\r
+PT=   000000000000000000000000000001ff\r
+CT=   cf7512278cd5454f819d89ea35bb3862\r
+TEST= 10\r
+PT=   000000000000000000000000000003ff\r
+CT=   09836c44648b1f262e7b8bb6310e3c73\r
+TEST= 11\r
+PT=   000000000000000000000000000007ff\r
+CT=   7c3f20d829a78c00203702ef0b002db5\r
+TEST= 12\r
+PT=   00000000000000000000000000000fff\r
+CT=   5b1243b00f14e74eb7536ccc09acfa68\r
+TEST= 13\r
+PT=   00000000000000000000000000001fff\r
+CT=   b3b90648b4f40f576a75ba0466db8863\r
+TEST= 14\r
+PT=   00000000000000000000000000003fff\r
+CT=   e4ee13764d015d68bf37d51f4af9f36b\r
+TEST= 15\r
+PT=   00000000000000000000000000007fff\r
+CT=   9f3bdc3ff6446ce6aa8e3b6c231596a3\r
+TEST= 16\r
+PT=   0000000000000000000000000000ffff\r
+CT=   90d4af3471b958d79c38285110dfb453\r
+TEST= 17\r
+PT=   0000000000000000000000000001ffff\r
+CT=   ca829c5f3dc854939ddf3f0a4f852aed\r
+TEST= 18\r
+PT=   0000000000000000000000000003ffff\r
+CT=   28ea70f964ef188472078e5fadbf243c\r
+TEST= 19\r
+PT=   0000000000000000000000000007ffff\r
+CT=   d1277ea8d373b8f80bec4923227435c4\r
+TEST= 20\r
+PT=   000000000000000000000000000fffff\r
+CT=   2bcafbb6ce709c19be131bb8386bdd3b\r
+TEST= 21\r
+PT=   000000000000000000000000001fffff\r
+CT=   39fa40456ae73fe146de3e3a42039405\r
+TEST= 22\r
+PT=   000000000000000000000000003fffff\r
+CT=   baec66484967417c3bbe18a60de0b093\r
+TEST= 23\r
+PT=   000000000000000000000000007fffff\r
+CT=   6796a439bb4a1a0745ed78ec8dea15c7\r
+TEST= 24\r
+PT=   00000000000000000000000000ffffff\r
+CT=   6936f9fd2274b4a36463e329719b0174\r
+TEST= 25\r
+PT=   00000000000000000000000001ffffff\r
+CT=   86290a5586bca091a762c5ff509a6167\r
+TEST= 26\r
+PT=   00000000000000000000000003ffffff\r
+CT=   78e6abea95914abb9c8e526aafc09bc6\r
+TEST= 27\r
+PT=   00000000000000000000000007ffffff\r
+CT=   983346ddc59459db4e6e2e8d5b2ac4ca\r
+TEST= 28\r
+PT=   0000000000000000000000000fffffff\r
+CT=   5d8f73bd76f371deaa46e98e7764ea8f\r
+TEST= 29\r
+PT=   0000000000000000000000001fffffff\r
+CT=   78eb3f556196e8efb02b6b1ac9c59fb2\r
+TEST= 30\r
+PT=   0000000000000000000000003fffffff\r
+CT=   0e5eeb2e621ec0f45683a8d255dda84e\r
+TEST= 31\r
+PT=   0000000000000000000000007fffffff\r
+CT=   6c5746dd45b5846c6096ca8e8ade7f25\r
+TEST= 32\r
+PT=   000000000000000000000000ffffffff\r
+CT=   28c16380c491088ca019f8a76853b1e8\r
+TEST= 33\r
+PT=   000000000000000000000001ffffffff\r
+CT=   c8b1afa8bfd9415b3c4764fc2301a445\r
+TEST= 34\r
+PT=   000000000000000000000003ffffffff\r
+CT=   8e265ca8740c2dc8f8e8339bb0319d1e\r
+TEST= 35\r
+PT=   000000000000000000000007ffffffff\r
+CT=   4090d032397a3d4564218ac27e6dc4b6\r
+TEST= 36\r
+PT=   00000000000000000000000fffffffff\r
+CT=   6e7b1e7d9dc86adc0e111aa174d7d568\r
+TEST= 37\r
+PT=   00000000000000000000001fffffffff\r
+CT=   cc4632e9ad075584b0dc8816e8f48e9b\r
+TEST= 38\r
+PT=   00000000000000000000003fffffffff\r
+CT=   99afdf4178e53a5de4173159abd8c479\r
+TEST= 39\r
+PT=   00000000000000000000007fffffffff\r
+CT=   fe5f51452842fd38c566ef536f950111\r
+TEST= 40\r
+PT=   0000000000000000000000ffffffffff\r
+CT=   4d4c5f40e67449514e30639299d6f473\r
+TEST= 41\r
+PT=   0000000000000000000001ffffffffff\r
+CT=   9bf52296fbb86ce06b35f0c610b28e5c\r
+TEST= 42\r
+PT=   0000000000000000000003ffffffffff\r
+CT=   8dd5d84df9b637c123d26114071e8799\r
+TEST= 43\r
+PT=   0000000000000000000007ffffffffff\r
+CT=   09fdbba8739d1a9c386d1b74bfb674d2\r
+TEST= 44\r
+PT=   000000000000000000000fffffffffff\r
+CT=   fc2e827596e4c6c4df3e13fdb77db10e\r
+TEST= 45\r
+PT=   000000000000000000001fffffffffff\r
+CT=   0bcf5bde0c7fd3b87fec152a3c7d9a86\r
+TEST= 46\r
+PT=   000000000000000000003fffffffffff\r
+CT=   15ab7d13a564d6bdbd2b337318912a24\r
+TEST= 47\r
+PT=   000000000000000000007fffffffffff\r
+CT=   6f1039adc3f6a546989b1444efb629ab\r
+TEST= 48\r
+PT=   00000000000000000000ffffffffffff\r
+CT=   105df4d1e4b74dca12b3f38c4c3c0d9c\r
+TEST= 49\r
+PT=   00000000000000000001ffffffffffff\r
+CT=   c27ca1f66b72ca93735be563adf2ddda\r
+TEST= 50\r
+PT=   00000000000000000003ffffffffffff\r
+CT=   bc1a8411b68970e6c99bf42e4a40e976\r
+TEST= 51\r
+PT=   00000000000000000007ffffffffffff\r
+CT=   40165c46ef23bc1c167a9ebbb5b166e3\r
+TEST= 52\r
+PT=   0000000000000000000fffffffffffff\r
+CT=   dd9b27fa45374d1c626874d9ca04eb0d\r
+TEST= 53\r
+PT=   0000000000000000001fffffffffffff\r
+CT=   f2373d9f620496925b34e01194336a2f\r
+TEST= 54\r
+PT=   0000000000000000003fffffffffffff\r
+CT=   b1564039bad539f373e4c4a97709a5b4\r
+TEST= 55\r
+PT=   0000000000000000007fffffffffffff\r
+CT=   98dea09dffa792af98ac8d258c710870\r
+TEST= 56\r
+PT=   000000000000000000ffffffffffffff\r
+CT=   9e1cd0f752de544bcc8a838b27a4b955\r
+TEST= 57\r
+PT=   000000000000000001ffffffffffffff\r
+CT=   06d18f8542f0497d53dee00176f93616\r
+TEST= 58\r
+PT=   000000000000000003ffffffffffffff\r
+CT=   690460ac223f65654cc522350d881765\r
+TEST= 59\r
+PT=   000000000000000007ffffffffffffff\r
+CT=   d6680b1c9abc752aba384fe234c7d583\r
+TEST= 60\r
+PT=   00000000000000000fffffffffffffff\r
+CT=   e7be712ee4a90b03e43823035eb0ca93\r
+TEST= 61\r
+PT=   00000000000000001fffffffffffffff\r
+CT=   da82d3f4234d748c8172dc0d17a6e038\r
+TEST= 62\r
+PT=   00000000000000003fffffffffffffff\r
+CT=   236c49b713b1521f5e938b422c030f29\r
+TEST= 63\r
+PT=   00000000000000007fffffffffffffff\r
+CT=   c86bee15e569c0e78171bfa438890264\r
+TEST= 64\r
+PT=   0000000000000000ffffffffffffffff\r
+CT=   747cb9267e59fa9e4e615668db0909bc\r
+TEST= 65\r
+PT=   0000000000000001ffffffffffffffff\r
+CT=   7add10f24e7245863c677d27e9f0fdb8\r
+TEST= 66\r
+PT=   0000000000000003ffffffffffffffff\r
+CT=   72976df6935ec1c943d5759a33ccba84\r
+TEST= 67\r
+PT=   0000000000000007ffffffffffffffff\r
+CT=   5bb3e19d6fce1b695d061941df6e4325\r
+TEST= 68\r
+PT=   000000000000000fffffffffffffffff\r
+CT=   1a0a2db60ce1b3187a65949bfe7985f2\r
+TEST= 69\r
+PT=   000000000000001fffffffffffffffff\r
+CT=   1bf6d1af28331174fa90e13636bc02bf\r
+TEST= 70\r
+PT=   000000000000003fffffffffffffffff\r
+CT=   2140bd0eb8df02b22c05cc3689690530\r
+TEST= 71\r
+PT=   000000000000007fffffffffffffffff\r
+CT=   9aa4c6ea0b7cc9492c7ee12234def1a4\r
+TEST= 72\r
+PT=   00000000000000ffffffffffffffffff\r
+CT=   bc991755a129add0f3feeb8d94edda3d\r
+TEST= 73\r
+PT=   00000000000001ffffffffffffffffff\r
+CT=   e0b6795bdd52dcdc3f6934685bbe326a\r
+TEST= 74\r
+PT=   00000000000003ffffffffffffffffff\r
+CT=   b0c4121e0e63e1d0969ca70b0bfbe8d2\r
+TEST= 75\r
+PT=   00000000000007ffffffffffffffffff\r
+CT=   32ebdad9131b68d3293b55aed87ffa16\r
+TEST= 76\r
+PT=   0000000000000fffffffffffffffffff\r
+CT=   921c10a6f26bb519fe085c8f04c1b668\r
+TEST= 77\r
+PT=   0000000000001fffffffffffffffffff\r
+CT=   58fc8beaae1b73bffe3e4c1614cc1cb7\r
+TEST= 78\r
+PT=   0000000000003fffffffffffffffffff\r
+CT=   41d3699fe17781c4e9ad324fee5113af\r
+TEST= 79\r
+PT=   0000000000007fffffffffffffffffff\r
+CT=   24ab534dbc77d9505d9be59f8655de74\r
+TEST= 80\r
+PT=   000000000000ffffffffffffffffffff\r
+CT=   23a77a7a04e5c3fe927cfc881837b622\r
+TEST= 81\r
+PT=   000000000001ffffffffffffffffffff\r
+CT=   cf85ae385c7ff1344b624a744969cdf4\r
+TEST= 82\r
+PT=   000000000003ffffffffffffffffffff\r
+CT=   c7111db57bb89abb2ebb2c2d5153e14c\r
+TEST= 83\r
+PT=   000000000007ffffffffffffffffffff\r
+CT=   e5df6e02245a0be02383e2bbeba3f5b9\r
+TEST= 84\r
+PT=   00000000000fffffffffffffffffffff\r
+CT=   9721e2f1eae9228362dcb1d8d6d67045\r
+TEST= 85\r
+PT=   00000000001fffffffffffffffffffff\r
+CT=   cfa84b287aa52de3fc37129f39fa826f\r
+TEST= 86\r
+PT=   00000000003fffffffffffffffffffff\r
+CT=   664b7441307ba9e1d8c8ccf93de514d0\r
+TEST= 87\r
+PT=   00000000007fffffffffffffffffffff\r
+CT=   62d0ee00d428cb5dc3d4a2144fe2af6d\r
+TEST= 88\r
+PT=   0000000000ffffffffffffffffffffff\r
+CT=   9d7bc30466c376acd0c8ed9da8cdf8ca\r
+TEST= 89\r
+PT=   0000000001ffffffffffffffffffffff\r
+CT=   c8fe3583c99f400cd252768ff72c79ef\r
+TEST= 90\r
+PT=   0000000003ffffffffffffffffffffff\r
+CT=   1300d6570e1622a42d033f1d60cb3524\r
+TEST= 91\r
+PT=   0000000007ffffffffffffffffffffff\r
+CT=   c4b7500f92605bc25e95f3a55f8e1c01\r
+TEST= 92\r
+PT=   000000000fffffffffffffffffffffff\r
+CT=   6438a0528dc92c6c091a3d6b5915d9d4\r
+TEST= 93\r
+PT=   000000001fffffffffffffffffffffff\r
+CT=   4c3cc0914e2fce6004e275726025ea1d\r
+TEST= 94\r
+PT=   000000003fffffffffffffffffffffff\r
+CT=   e4e5b011312f9b915a1111f3dd5a50cd\r
+TEST= 95\r
+PT=   000000007fffffffffffffffffffffff\r
+CT=   7bb21b447853a94d54b8129b14402a36\r
+TEST= 96\r
+PT=   00000000ffffffffffffffffffffffff\r
+CT=   4282e562f1b2beded056e4c582a278fc\r
+TEST= 97\r
+PT=   00000001ffffffffffffffffffffffff\r
+CT=   242c38975bfbc4eae1123e62d2ecd198\r
+TEST= 98\r
+PT=   00000003ffffffffffffffffffffffff\r
+CT=   12cb3e844dbe4b517c62b20dbf518c89\r
+TEST= 99\r
+PT=   00000007ffffffffffffffffffffffff\r
+CT=   6c6b3bfec90a2011fe4af8f2635ca388\r
+TEST= 100\r
+PT=   0000000fffffffffffffffffffffffff\r
+CT=   c90003b8b8e86ba81c5ab01e417f8c56\r
+TEST= 101\r
+PT=   0000001fffffffffffffffffffffffff\r
+CT=   3b55fde647001591c20b13bad65202a9\r
+TEST= 102\r
+PT=   0000003fffffffffffffffffffffffff\r
+CT=   ec0fa4bcac5b09244326f344cd14e45d\r
+TEST= 103\r
+PT=   0000007fffffffffffffffffffffffff\r
+CT=   f0c5e5ab99d309f21e2364c74b9a8c10\r
+TEST= 104\r
+PT=   000000ffffffffffffffffffffffffff\r
+CT=   4c5016e8afa51df539df6500929bdeb5\r
+TEST= 105\r
+PT=   000001ffffffffffffffffffffffffff\r
+CT=   aa55dab3242ab4dc6ec1c1973069e289\r
+TEST= 106\r
+PT=   000003ffffffffffffffffffffffffff\r
+CT=   ad79bdc7bbfe3e94fd7feefac711a75a\r
+TEST= 107\r
+PT=   000007ffffffffffffffffffffffffff\r
+CT=   49038d62ad5e80c12717e4de7f71161c\r
+TEST= 108\r
+PT=   00000fffffffffffffffffffffffffff\r
+CT=   ea2a989853b9468d8358895b7ec6bd08\r
+TEST= 109\r
+PT=   00001fffffffffffffffffffffffffff\r
+CT=   92a3a09eb028adcc96d5014cd4e0cb5b\r
+TEST= 110\r
+PT=   00003fffffffffffffffffffffffffff\r
+CT=   447089e19867c9f730a634e36624411b\r
+TEST= 111\r
+PT=   00007fffffffffffffffffffffffffff\r
+CT=   79e1bc6f8f889a3a860635fd8b89ae08\r
+TEST= 112\r
+PT=   0000ffffffffffffffffffffffffffff\r
+CT=   5d1fb7b62620ca0bbc1b56079968c95d\r
+TEST= 113\r
+PT=   0001ffffffffffffffffffffffffffff\r
+CT=   17b5ff27f2a627f12c38853ba60540f6\r
+TEST= 114\r
+PT=   0003ffffffffffffffffffffffffffff\r
+CT=   aa02288e444d6ff292fb4ceee5326637\r
+TEST= 115\r
+PT=   0007ffffffffffffffffffffffffffff\r
+CT=   503389a0dde58d848e457611a29d03ef\r
+TEST= 116\r
+PT=   000fffffffffffffffffffffffffffff\r
+CT=   9a3ebb35de64c8416685cc8fb72ac553\r
+TEST= 117\r
+PT=   001fffffffffffffffffffffffffffff\r
+CT=   0789e387cbe0afb4502c452017100dce\r
+TEST= 118\r
+PT=   003fffffffffffffffffffffffffffff\r
+CT=   a018173d885207307ca5c6928ff77c92\r
+TEST= 119\r
+PT=   007fffffffffffffffffffffffffffff\r
+CT=   576c30ca713f5a949e164f98cdb3ca33\r
+TEST= 120\r
+PT=   00ffffffffffffffffffffffffffffff\r
+CT=   7191dfc1bbef90c4f80301c6c0a796bb\r
+TEST= 121\r
+PT=   01ffffffffffffffffffffffffffffff\r
+CT=   270bbe54a220baeef70b0c6c28b4e423\r
+TEST= 122\r
+PT=   03ffffffffffffffffffffffffffffff\r
+CT=   84c9e5d0218dc4b9cc76bba8293243ba\r
+TEST= 123\r
+PT=   07ffffffffffffffffffffffffffffff\r
+CT=   4de4d5970cf8865094f8da24cc0519f3\r
+TEST= 124\r
+PT=   0fffffffffffffffffffffffffffffff\r
+CT=   8488634ace9c71d65d160193b0c4cd7a\r
+TEST= 125\r
+PT=   1fffffffffffffffffffffffffffffff\r
+CT=   8eb8bb7bd3a69711eec8732be003abf2\r
+TEST= 126\r
+PT=   3fffffffffffffffffffffffffffffff\r
+CT=   4e9983b2f707735ef928a95a13510624\r
+TEST= 127\r
+PT=   7fffffffffffffffffffffffffffffff\r
+CT=   28de7ba142b3d255cbf7040a1e3680a9\r
+TEST= 128\r
+PT=   ffffffffffffffffffffffffffffffff\r
+CT=   3f5b8cc9ea855a0afa7347d23e8d664e\r
+TEST= 129\r
+PT=   fffffffffffffffffffffffffffffffe\r
+CT=   5c005e72c1418c44f569f2ea33ba54f3\r
+TEST= 130\r
+PT=   fffffffffffffffffffffffffffffffc\r
+CT=   39bde67d5c8ed8a8b1c37eb8fa9f5ac0\r
+TEST= 131\r
+PT=   fffffffffffffffffffffffffffffff8\r
+CT=   8ade895913685c67c5269f8aae42983e\r
+TEST= 132\r
+PT=   fffffffffffffffffffffffffffffff0\r
+CT=   f9b0fda0c4a898f5b9e6f661c4ce4d07\r
+TEST= 133\r
+PT=   ffffffffffffffffffffffffffffffe0\r
+CT=   8568261797de176bf0b43becc6285afb\r
+TEST= 134\r
+PT=   ffffffffffffffffffffffffffffffc0\r
+CT=   0833ff6f61d98a57b288e8c3586b85a6\r
+TEST= 135\r
+PT=   ffffffffffffffffffffffffffffff80\r
+CT=   d1788f572d98b2b16ec5d5f3922b99bc\r
+TEST= 136\r
+PT=   ffffffffffffffffffffffffffffff00\r
+CT=   3bd141ee84a0e6414a26e7a4f281f8a2\r
+TEST= 137\r
+PT=   fffffffffffffffffffffffffffffe00\r
+CT=   7f692b03945867d16179a8cefc83ea3f\r
+TEST= 138\r
+PT=   fffffffffffffffffffffffffffffc00\r
+CT=   a4d6616bd04f87335b0e53351227a9ee\r
+TEST= 139\r
+PT=   fffffffffffffffffffffffffffff800\r
+CT=   34a2c5a91ae2aec99b7d1b5fa6780447\r
+TEST= 140\r
+PT=   fffffffffffffffffffffffffffff000\r
+CT=   2e3579ca15af27f64b3c955a5bfc30ba\r
+TEST= 141\r
+PT=   ffffffffffffffffffffffffffffe000\r
+CT=   6f45732cf10881546f0fd23896d2bb60\r
+TEST= 142\r
+PT=   ffffffffffffffffffffffffffffc000\r
+CT=   b7972b3941c44b90afa7b264bfba7387\r
+TEST= 143\r
+PT=   ffffffffffffffffffffffffffff8000\r
+CT=   4b706f7f92406352394037a6d4f4688d\r
+TEST= 144\r
+PT=   ffffffffffffffffffffffffffff0000\r
+CT=   545f2b83d9616dccf60fa9830e9cd287\r
+TEST= 145\r
+PT=   fffffffffffffffffffffffffffe0000\r
+CT=   a87a385736c0a6189bd6589bd8445a93\r
+TEST= 146\r
+PT=   fffffffffffffffffffffffffffc0000\r
+CT=   4010a5e401fdf0a0354ddbcc0d012b17\r
+TEST= 147\r
+PT=   fffffffffffffffffffffffffff80000\r
+CT=   088c4b53f5ec0ff814c19adae7f6246c\r
+TEST= 148\r
+PT=   fffffffffffffffffffffffffff00000\r
+CT=   9272e2d2cdd11050998c845077a30ea0\r
+TEST= 149\r
+PT=   ffffffffffffffffffffffffffe00000\r
+CT=   3aa426831067d36b92be7c5f81c13c56\r
+TEST= 150\r
+PT=   ffffffffffffffffffffffffffc00000\r
+CT=   7678f3a833f19fea95f3c6029e2bc610\r
+TEST= 151\r
+PT=   ffffffffffffffffffffffffff800000\r
+CT=   63919ed4ce10196438b6ad09d99cd795\r
+TEST= 152\r
+PT=   ffffffffffffffffffffffffff000000\r
+CT=   ed3c0a94d59bece98835da7aa4f07ca2\r
+TEST= 153\r
+PT=   fffffffffffffffffffffffffe000000\r
+CT=   3c849939a5d29399f344c4a0eca8a576\r
+TEST= 154\r
+PT=   fffffffffffffffffffffffffc000000\r
+CT=   79bf5dce14bb7dd73a8e3611de7ce026\r
+TEST= 155\r
+PT=   fffffffffffffffffffffffff8000000\r
+CT=   2ca8209d63274cd9a29bb74bcd77683a\r
+TEST= 156\r
+PT=   fffffffffffffffffffffffff0000000\r
+CT=   e656f9ecf5fe27ec3e4a73d00c282fb3\r
+TEST= 157\r
+PT=   ffffffffffffffffffffffffe0000000\r
+CT=   082eb8be35f442fb52668e16a591d1d6\r
+TEST= 158\r
+PT=   ffffffffffffffffffffffffc0000000\r
+CT=   76da1fbe3a50728c50fd2e621b5ad885\r
+TEST= 159\r
+PT=   ffffffffffffffffffffffff80000000\r
+CT=   1ffc626d30203dcdb0019fb80f726cf4\r
+TEST= 160\r
+PT=   ffffffffffffffffffffffff00000000\r
+CT=   123c1f4af313ad8c2ce648b2e71fb6e1\r
+TEST= 161\r
+PT=   fffffffffffffffffffffffe00000000\r
+CT=   9402e9aa6f69de6504da8d20c4fcaa2f\r
+TEST= 162\r
+PT=   fffffffffffffffffffffffc00000000\r
+CT=   377be0be33b4e3e310b4aabda173f84f\r
+TEST= 163\r
+PT=   fffffffffffffffffffffff800000000\r
+CT=   65c0526cbe40161b8019a2a3171abd23\r
+TEST= 164\r
+PT=   fffffffffffffffffffffff000000000\r
+CT=   56aff089878bf3352f8df172a3ae47d8\r
+TEST= 165\r
+PT=   ffffffffffffffffffffffe000000000\r
+CT=   7472f9a7988607ca79707795991035e6\r
+TEST= 166\r
+PT=   ffffffffffffffffffffffc000000000\r
+CT=   90684a2ac55fe1ec2b8ebd5622520b73\r
+TEST= 167\r
+PT=   ffffffffffffffffffffff8000000000\r
+CT=   90ecbe6177e674c98de412413f7ac915\r
+TEST= 168\r
+PT=   ffffffffffffffffffffff0000000000\r
+CT=   4c6a1c83e568cd10f27c2d73ded19c28\r
+TEST= 169\r
+PT=   fffffffffffffffffffffe0000000000\r
+CT=   db7e1932679fdd99742aab04aa0d5a80\r
+TEST= 170\r
+PT=   fffffffffffffffffffffc0000000000\r
+CT=   7c8d9ab6c2761723fe42f8bb506cbcf7\r
+TEST= 171\r
+PT=   fffffffffffffffffffff80000000000\r
+CT=   14954f0b4697776f44494fe458d814ed\r
+TEST= 172\r
+PT=   fffffffffffffffffffff00000000000\r
+CT=   a5e652614c9300f37816b1f9fd0c87f9\r
+TEST= 173\r
+PT=   ffffffffffffffffffffe00000000000\r
+CT=   9ca547f7439edc3e255c0f4d49aa8990\r
+TEST= 174\r
+PT=   ffffffffffffffffffffc00000000000\r
+CT=   2e65eb6b6ea383e109accce8326b0393\r
+TEST= 175\r
+PT=   ffffffffffffffffffff800000000000\r
+CT=   b87c921b91829ef3b13ca541ee1130a6\r
+TEST= 176\r
+PT=   ffffffffffffffffffff000000000000\r
+CT=   4d37c850644563c69fd0acd9a049325b\r
+TEST= 177\r
+PT=   fffffffffffffffffffe000000000000\r
+CT=   563bf90d61beef39f48dd625fcef1361\r
+TEST= 178\r
+PT=   fffffffffffffffffffc000000000000\r
+CT=   e886f9281999c5bb3b3e8862e2f7c988\r
+TEST= 179\r
+PT=   fffffffffffffffffff8000000000000\r
+CT=   3bffc16e4c49b268a20f8d96a60b4058\r
+TEST= 180\r
+PT=   fffffffffffffffffff0000000000000\r
+CT=   251a7eac7e2fe809e4aa8d0d7012531a\r
+TEST= 181\r
+PT=   ffffffffffffffffffe0000000000000\r
+CT=   06f2519a2fafaa596bfef5cfa15c21b9\r
+TEST= 182\r
+PT=   ffffffffffffffffffc0000000000000\r
+CT=   eef456431dea8b4acf83bdae3717f75f\r
+TEST= 183\r
+PT=   ffffffffffffffffff80000000000000\r
+CT=   1bdec521316503d9d5ee65df3ea94ddf\r
+TEST= 184\r
+PT=   ffffffffffffffffff00000000000000\r
+CT=   d93eae966fac46dca927d6b114fa3f9e\r
+TEST= 185\r
+PT=   fffffffffffffffffe00000000000000\r
+CT=   ab3b89542233f1271bf8fd0c0f403545\r
+TEST= 186\r
+PT=   fffffffffffffffffc00000000000000\r
+CT=   1c317a220a7d700da2b1e075b00266e1\r
+TEST= 187\r
+PT=   fffffffffffffffff800000000000000\r
+CT=   66404033d6b72b609354d5496e7eb511\r
+TEST= 188\r
+PT=   fffffffffffffffff000000000000000\r
+CT=   1480cb3955ba62d09eea668f7c708817\r
+TEST= 189\r
+PT=   ffffffffffffffffe000000000000000\r
+CT=   21feecd45b2e675973ac33bf0c5424fc\r
+TEST= 190\r
+PT=   ffffffffffffffffc000000000000000\r
+CT=   10d3ed7a6fe15ab4d91acbc7d0767ab1\r
+TEST= 191\r
+PT=   ffffffffffffffff8000000000000000\r
+CT=   41f992a856fb278b389a62f5d274d7e9\r
+TEST= 192\r
+PT=   ffffffffffffffff0000000000000000\r
+CT=   f807c3e7985fe0f5a50e2cdb25c5109e\r
+TEST= 193\r
+PT=   fffffffffffffffe0000000000000000\r
+CT=   3b5e0f566dc96c298f0c12637539b25c\r
+TEST= 194\r
+PT=   fffffffffffffffc0000000000000000\r
+CT=   7d33fc7d8abe3ca1936759f8f5deaf20\r
+TEST= 195\r
+PT=   fffffffffffffff80000000000000000\r
+CT=   b611295e739ca7d9b50f8e4c0e754a3f\r
+TEST= 196\r
+PT=   fffffffffffffff00000000000000000\r
+CT=   6898d4f42fa7ba6a10ac05e87b9f2080\r
+TEST= 197\r
+PT=   ffffffffffffffe00000000000000000\r
+CT=   d451b8d6e1e1a0ebb155fbbf6e7b7dc3\r
+TEST= 198\r
+PT=   ffffffffffffffc00000000000000000\r
+CT=   3a4d354f02bb5a5e47d39666867f246a\r
+TEST= 199\r
+PT=   ffffffffffffff800000000000000000\r
+CT=   11005d52f25f16bdc9545a876a63490a\r
+TEST= 200\r
+PT=   ffffffffffffff000000000000000000\r
+CT=   1bfd4b91c701fd6b61b7f997829d663b\r
+TEST= 201\r
+PT=   fffffffffffffe000000000000000000\r
+CT=   d2d99c6bcc1f06fda8e27e8ae3f1ccc7\r
+TEST= 202\r
+PT=   fffffffffffffc000000000000000000\r
+CT=   79b61c37bf328ecca8d743265a3d425c\r
+TEST= 203\r
+PT=   fffffffffffff8000000000000000000\r
+CT=   a18e3dbbca577860dab6b80da3139256\r
+TEST= 204\r
+PT=   fffffffffffff0000000000000000000\r
+CT=   c9cacb5cd11692c373b2411768149ee7\r
+TEST= 205\r
+PT=   ffffffffffffe0000000000000000000\r
+CT=   22322327e01780b17397f24087f8cc6f\r
+TEST= 206\r
+PT=   ffffffffffffc0000000000000000000\r
+CT=   ea2e6b5ef182b7dff3629abd6a12045f\r
+TEST= 207\r
+PT=   ffffffffffff80000000000000000000\r
+CT=   00c55bd75c7f9c881989d3ec1911c0d4\r
+TEST= 208\r
+PT=   ffffffffffff00000000000000000000\r
+CT=   1c3112bcb0c1dcc749d799743691bf82\r
+TEST= 209\r
+PT=   fffffffffffe00000000000000000000\r
+CT=   c2f93a4ce5ab6d5d56f1b93cf19911c1\r
+TEST= 210\r
+PT=   fffffffffffc00000000000000000000\r
+CT=   678034dc9e41b5a560ed239eeab1bc78\r
+TEST= 211\r
+PT=   fffffffffff800000000000000000000\r
+CT=   85062c2c909f15d9269b6c18ce99c4f0\r
+TEST= 212\r
+PT=   fffffffffff000000000000000000000\r
+CT=   191aa0f2c8570144f38657ea4085ebe5\r
+TEST= 213\r
+PT=   ffffffffffe000000000000000000000\r
+CT=   35830c8e7aaefe2d30310ef381cbf691\r
+TEST= 214\r
+PT=   ffffffffffc000000000000000000000\r
+CT=   827f000e75e2c8b9d479beed913fe678\r
+TEST= 215\r
+PT=   ffffffffff8000000000000000000000\r
+CT=   4afe7f120ce7613f74fc12a01a828073\r
+TEST= 216\r
+PT=   ffffffffff0000000000000000000000\r
+CT=   95e3a0ca9079e646331df8b4e70d2cd6\r
+TEST= 217\r
+PT=   fffffffffe0000000000000000000000\r
+CT=   f21e99cf4f0f77cea836e11a2fe75fb1\r
+TEST= 218\r
+PT=   fffffffffc0000000000000000000000\r
+CT=   215a41ee442fa992a6e323986ded3f68\r
+TEST= 219\r
+PT=   fffffffff80000000000000000000000\r
+CT=   cb2bf8280f3f9742c7ed513fe802629c\r
+TEST= 220\r
+PT=   fffffffff00000000000000000000000\r
+CT=   092faacc9bf43508bf8fa8613ca75dea\r
+TEST= 221\r
+PT=   ffffffffe00000000000000000000000\r
+CT=   43b02ff929a1485af6f5c6d6558baa0f\r
+TEST= 222\r
+PT=   ffffffffc00000000000000000000000\r
+CT=   7cadbe402d1b208fe735edce00aee7ce\r
+TEST= 223\r
+PT=   ffffffff800000000000000000000000\r
+CT=   171a0e1b2dd424f0e089af2c4c10f32f\r
+TEST= 224\r
+PT=   ffffffff000000000000000000000000\r
+CT=   c26277437420c5d634f715aea81a9132\r
+TEST= 225\r
+PT=   fffffffe000000000000000000000000\r
+CT=   b9fb4399fa4facc7309e14ec98360b0a\r
+TEST= 226\r
+PT=   fffffffc000000000000000000000000\r
+CT=   a2124bea53ec2834279bed7f7eb0f938\r
+TEST= 227\r
+PT=   fffffff8000000000000000000000000\r
+CT=   3aebbad7303649b4194a6945c6cc3694\r
+TEST= 228\r
+PT=   fffffff0000000000000000000000000\r
+CT=   35f40182ab4662f3023baec1ee796b57\r
+TEST= 229\r
+PT=   ffffffe0000000000000000000000000\r
+CT=   f8023ee9c3fdc45a019b4e985c7e1a54\r
+TEST= 230\r
+PT=   ffffffc0000000000000000000000000\r
+CT=   e9c0fc1818e4aa46bd2e39d638f89e05\r
+TEST= 231\r
+PT=   ffffff80000000000000000000000000\r
+CT=   3b594c60f5c8277a5113677f94208d82\r
+TEST= 232\r
+PT=   ffffff00000000000000000000000000\r
+CT=   13001ff5d99806efd25da34f56be854b\r
+TEST= 233\r
+PT=   fffffe00000000000000000000000000\r
+CT=   c0b5fd98190ef45fbb4301438d095950\r
+TEST= 234\r
+PT=   fffffc00000000000000000000000000\r
+CT=   625d01f058e565f77ae86378bd2c49b3\r
+TEST= 235\r
+PT=   fffff800000000000000000000000000\r
+CT=   2c20f439f6bb097b29b8bd6d99aad799\r
+TEST= 236\r
+PT=   fffff000000000000000000000000000\r
+CT=   6941cb6b3e08c2b7afa581ebdd607b87\r
+TEST= 237\r
+PT=   ffffe000000000000000000000000000\r
+CT=   dd35cea2799940b40db3f819cb94c08b\r
+TEST= 238\r
+PT=   ffffc000000000000000000000000000\r
+CT=   8ee79dd4f401ff9b7ea945d86666c13b\r
+TEST= 239\r
+PT=   ffff8000000000000000000000000000\r
+CT=   f3f72375264e167fca9de2c1527d9606\r
+TEST= 240\r
+PT=   ffff0000000000000000000000000000\r
+CT=   d7e5dbd3324595f8fdc7d7c571da6c2a\r
+TEST= 241\r
+PT=   fffe0000000000000000000000000000\r
+CT=   64b4d629810fda6bafdf08f3b0d8d2c5\r
+TEST= 242\r
+PT=   fffc0000000000000000000000000000\r
+CT=   8eae3b10a0c8ca6d1d3b0fa61e56b0b2\r
+TEST= 243\r
+PT=   fff80000000000000000000000000000\r
+CT=   8b87145a01ad1c6cede995ea3670454f\r
+TEST= 244\r
+PT=   fff00000000000000000000000000000\r
+CT=   965135f8a81f25c9d630b17502f68e53\r
+TEST= 245\r
+PT=   ffe00000000000000000000000000000\r
+CT=   b8499c251f8442ee13f0933b688fcd19\r
+TEST= 246\r
+PT=   ffc00000000000000000000000000000\r
+CT=   77e2b508db7fd89234caf7939ee5621a\r
+TEST= 247\r
+PT=   ff800000000000000000000000000000\r
+CT=   a81738252621dd180a34f3455b4baa2f\r
+TEST= 248\r
+PT=   ff000000000000000000000000000000\r
+CT=   db4f1aa530967d6732ce4715eb0ee24b\r
+TEST= 249\r
+PT=   fe000000000000000000000000000000\r
+CT=   b6da0bb11a23855d9c5cb1b4c6412e0a\r
+TEST= 250\r
+PT=   fc000000000000000000000000000000\r
+CT=   16ae4ce5042a67ee8e177b7c587ecc82\r
+TEST= 251\r
+PT=   f8000000000000000000000000000000\r
+CT=   30ccdb044646d7e1f3ccea3dca08b8c0\r
+TEST= 252\r
+PT=   f0000000000000000000000000000000\r
+CT=   96d9fd5cc4f07441727df0f33e401a36\r
+TEST= 253\r
+PT=   e0000000000000000000000000000000\r
+CT=   f031d4d74f5dcbf39daaf8ca3af6e527\r
+TEST= 254\r
+PT=   c0000000000000000000000000000000\r
+CT=   aae5939c8efdf2f04e60b9fe7117b2c2\r
+TEST= 255\r
+PT=   80000000000000000000000000000000\r
+CT=   3ad78e726c1ec02b7ebfe92b23d9ec34\r
diff --git a/test/crypto/aes/ecbnt48.txt b/test/crypto/aes/ecbnt48.txt
new file mode 100644 (file)
index 0000000..df20081
--- /dev/null
@@ -0,0 +1,779 @@
+==============================================\r
+Author:    Dr B R Gladman (                 )\r
+Test:      ECB Variable Text Known Answer Tests\r
+Algorithm: Extended Rijndael (an AES Superset)\r
+Filename:  ecbnt48.txt\r
+==============================================\r
+\r
+BLOCKSIZE=128\r
+KEYSIZE=  256\r
+\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000000\r
+TEST= 0\r
+PT=   00000000000000000000000000000000\r
+CT=   dc95c078a2408989ad48a21492842087\r
+TEST= 1\r
+PT=   00000000000000000000000000000001\r
+CT=   530f8afbc74536b9a963b4f1c4cb738b\r
+TEST= 2\r
+PT=   00000000000000000000000000000003\r
+CT=   726003ca37a62a74d1a2f58e7506358e\r
+TEST= 3\r
+PT=   00000000000000000000000000000007\r
+CT=   bcaf49b0c0cea62de6bc1c66545e1dad\r
+TEST= 4\r
+PT=   0000000000000000000000000000000f\r
+CT=   b0b710249c8626e1a96ad57828d7be2e\r
+TEST= 5\r
+PT=   0000000000000000000000000000001f\r
+CT=   887cb1eb76b46720104130dbf1966387\r
+TEST= 6\r
+PT=   0000000000000000000000000000003f\r
+CT=   56a368c7a34325e4adce918732e8ea7e\r
+TEST= 7\r
+PT=   0000000000000000000000000000007f\r
+CT=   cac87823c4ed0ded6ffe92afe6a56ffd\r
+TEST= 8\r
+PT=   000000000000000000000000000000ff\r
+CT=   4d4f06c6f17c2903abc750b28eda2e34\r
+TEST= 9\r
+PT=   000000000000000000000000000001ff\r
+CT=   c460e6aee417a37a6c60dc0aa85bc4d2\r
+TEST= 10\r
+PT=   000000000000000000000000000003ff\r
+CT=   0ef31d5000240ab67f2511ad51ac6a6f\r
+TEST= 11\r
+PT=   000000000000000000000000000007ff\r
+CT=   304239c608efb82eafd161826baddb67\r
+TEST= 12\r
+PT=   00000000000000000000000000000fff\r
+CT=   17be0fbc50c92820d563067c9f5204fd\r
+TEST= 13\r
+PT=   00000000000000000000000000001fff\r
+CT=   b172d242b63b54af7f6aba477ecdc146\r
+TEST= 14\r
+PT=   00000000000000000000000000003fff\r
+CT=   c550e4f6ca4dfa10fb9e9ea66fb91673\r
+TEST= 15\r
+PT=   00000000000000000000000000007fff\r
+CT=   e9a4ee862f87f211b6e605115aee6e5a\r
+TEST= 16\r
+PT=   0000000000000000000000000000ffff\r
+CT=   e8dd97836fe934a5f5cf6a662d5b479f\r
+TEST= 17\r
+PT=   0000000000000000000000000001ffff\r
+CT=   80ce6c203776f35a48928ae2358ee174\r
+TEST= 18\r
+PT=   0000000000000000000000000003ffff\r
+CT=   15942b0d89e9ef9716e831443281a57c\r
+TEST= 19\r
+PT=   0000000000000000000000000007ffff\r
+CT=   a5299cdc04a6b08a3aa30e48f410c0a5\r
+TEST= 20\r
+PT=   000000000000000000000000000fffff\r
+CT=   075c1e8602554af03ea1ac5aaf174a85\r
+TEST= 21\r
+PT=   000000000000000000000000001fffff\r
+CT=   451a51155cad491e8307cd770e20cbee\r
+TEST= 22\r
+PT=   000000000000000000000000003fffff\r
+CT=   a04966b5f5cac26a27a054f0872a9d6e\r
+TEST= 23\r
+PT=   000000000000000000000000007fffff\r
+CT=   2bdb0cd6ca18e273345ce91e3b6359b3\r
+TEST= 24\r
+PT=   00000000000000000000000000ffffff\r
+CT=   7640fb7a3eb6d99975239f6a5e4f3e90\r
+TEST= 25\r
+PT=   00000000000000000000000001ffffff\r
+CT=   000d85d4cd6089dca634401d8ffc9dc5\r
+TEST= 26\r
+PT=   00000000000000000000000003ffffff\r
+CT=   9814a2df042ed7cdeb8c540a3f93aae6\r
+TEST= 27\r
+PT=   00000000000000000000000007ffffff\r
+CT=   afbdd961a6ea47665b6a47d1e97d3139\r
+TEST= 28\r
+PT=   0000000000000000000000000fffffff\r
+CT=   b92b31ec069b5eded32883d152808107\r
+TEST= 29\r
+PT=   0000000000000000000000001fffffff\r
+CT=   4c18ff599dd824de22fa28083504b7a4\r
+TEST= 30\r
+PT=   0000000000000000000000003fffffff\r
+CT=   d0ce009cd9581bc87aab04bffbe3eac5\r
+TEST= 31\r
+PT=   0000000000000000000000007fffffff\r
+CT=   fb01abd9082d54d31cfe9ae654c360bf\r
+TEST= 32\r
+PT=   000000000000000000000000ffffffff\r
+CT=   ebc85b60c80ac906911208ac8191ca99\r
+TEST= 33\r
+PT=   000000000000000000000001ffffffff\r
+CT=   7d4feb5ff6d3a0b59ffa3f64635b45f0\r
+TEST= 34\r
+PT=   000000000000000000000003ffffffff\r
+CT=   5a7243d2ed4f20c06638d5b8fd86fca1\r
+TEST= 35\r
+PT=   000000000000000000000007ffffffff\r
+CT=   00e138e93ba22c212fad9eb7803dc8a7\r
+TEST= 36\r
+PT=   00000000000000000000000fffffffff\r
+CT=   5342826786693becb735c5dfd9dc3b78\r
+TEST= 37\r
+PT=   00000000000000000000001fffffffff\r
+CT=   89d27af549ecc8b352887c35afbe05b9\r
+TEST= 38\r
+PT=   00000000000000000000003fffffffff\r
+CT=   ea1694641aaa6c665ae9ff277d7535d6\r
+TEST= 39\r
+PT=   00000000000000000000007fffffffff\r
+CT=   8a20deb1ec0bc7d7116d78b66711ac8d\r
+TEST= 40\r
+PT=   0000000000000000000000ffffffffff\r
+CT=   f264d95afd5e7660ca94472fc669044d\r
+TEST= 41\r
+PT=   0000000000000000000001ffffffffff\r
+CT=   fb3d784a822ea5061c99a4e86dd5e0ee\r
+TEST= 42\r
+PT=   0000000000000000000003ffffffffff\r
+CT=   1cf03115a4d5025aeeccb29fdfaf8518\r
+TEST= 43\r
+PT=   0000000000000000000007ffffffffff\r
+CT=   ad031c70f3695ab0f17b54542295b6f1\r
+TEST= 44\r
+PT=   000000000000000000000fffffffffff\r
+CT=   fe47d8f239b3b45e6032d64772a89597\r
+TEST= 45\r
+PT=   000000000000000000001fffffffffff\r
+CT=   30a52cf0b60d78417a6f9139ead693aa\r
+TEST= 46\r
+PT=   000000000000000000003fffffffffff\r
+CT=   bcfa8c117289994c5e2bf36671a1c250\r
+TEST= 47\r
+PT=   000000000000000000007fffffffffff\r
+CT=   6e2ef0875cbaf7daa88d7c168fb4e74c\r
+TEST= 48\r
+PT=   00000000000000000000ffffffffffff\r
+CT=   19a62ebdec659f25ba9deede08db4ba1\r
+TEST= 49\r
+PT=   00000000000000000001ffffffffffff\r
+CT=   9cfe3fd2d4742a8dd4ce2cdb53558b8b\r
+TEST= 50\r
+PT=   00000000000000000003ffffffffffff\r
+CT=   ff9e5e6b14cc67acf4b5d1b5f0ae7825\r
+TEST= 51\r
+PT=   00000000000000000007ffffffffffff\r
+CT=   105303cd709d55961f68164ae9af602f\r
+TEST= 52\r
+PT=   0000000000000000000fffffffffffff\r
+CT=   32334bec8f2369ec5af88389849e10e2\r
+TEST= 53\r
+PT=   0000000000000000001fffffffffffff\r
+CT=   6b135672f9313b5708f907ba6ca08aa2\r
+TEST= 54\r
+PT=   0000000000000000003fffffffffffff\r
+CT=   c938c8042ea25b79287063e83886a114\r
+TEST= 55\r
+PT=   0000000000000000007fffffffffffff\r
+CT=   a725af8f5a93e89cb76aabcd7800254f\r
+TEST= 56\r
+PT=   000000000000000000ffffffffffffff\r
+CT=   140aeec2b0dea84585888b9ccd93b899\r
+TEST= 57\r
+PT=   000000000000000001ffffffffffffff\r
+CT=   0d070d0515d0140c32c37ab448d938e4\r
+TEST= 58\r
+PT=   000000000000000003ffffffffffffff\r
+CT=   3c973d2fc670a8ce81386e1093fd5d01\r
+TEST= 59\r
+PT=   000000000000000007ffffffffffffff\r
+CT=   2dc5acfc922bc0e9ae28f6ba5900075a\r
+TEST= 60\r
+PT=   00000000000000000fffffffffffffff\r
+CT=   a884b5ce79fe57658be0b1a1725a620d\r
+TEST= 61\r
+PT=   00000000000000001fffffffffffffff\r
+CT=   4ae4eac3bc4c1d89bae0807f350a1db2\r
+TEST= 62\r
+PT=   00000000000000003fffffffffffffff\r
+CT=   21e1531f06bb0be6b3824c5210cab657\r
+TEST= 63\r
+PT=   00000000000000007fffffffffffffff\r
+CT=   1d00b46164c05228575ade02afd3f3aa\r
+TEST= 64\r
+PT=   0000000000000000ffffffffffffffff\r
+CT=   55ed76948d2886bfff50e3352bfe34fd\r
+TEST= 65\r
+PT=   0000000000000001ffffffffffffffff\r
+CT=   26330a5f3bc166e2d66c25523d80827b\r
+TEST= 66\r
+PT=   0000000000000003ffffffffffffffff\r
+CT=   7d1ff2b1cd8c311da0d31877d8479924\r
+TEST= 67\r
+PT=   0000000000000007ffffffffffffffff\r
+CT=   6b44fd6bcbc1746699fa86393e663e20\r
+TEST= 68\r
+PT=   000000000000000fffffffffffffffff\r
+CT=   7d6135c058802c7d7e1a64d84c1b0b58\r
+TEST= 69\r
+PT=   000000000000001fffffffffffffffff\r
+CT=   2780da1d4af9937b7f7a167109c01ed5\r
+TEST= 70\r
+PT=   000000000000003fffffffffffffffff\r
+CT=   8c6d606a473292ef9d7b3eaa2c2b48d0\r
+TEST= 71\r
+PT=   000000000000007fffffffffffffffff\r
+CT=   b21cd49bdd33f8dba102ea9f593679f5\r
+TEST= 72\r
+PT=   00000000000000ffffffffffffffffff\r
+CT=   e84b26bdf29cdcf2cc6d0cfba9a36b4a\r
+TEST= 73\r
+PT=   00000000000001ffffffffffffffffff\r
+CT=   5f1e926f32237a79c41c996708abb848\r
+TEST= 74\r
+PT=   00000000000003ffffffffffffffffff\r
+CT=   b3071afc6fb7cb44dc31791a303ab3a1\r
+TEST= 75\r
+PT=   00000000000007ffffffffffffffffff\r
+CT=   1bfa099e97915b970ac427db41c4e682\r
+TEST= 76\r
+PT=   0000000000000fffffffffffffffffff\r
+CT=   652ec0796f58f50323bcd4d688e891e6\r
+TEST= 77\r
+PT=   0000000000001fffffffffffffffffff\r
+CT=   2cd6250a5b9090ee1a8a6e82ca249f4d\r
+TEST= 78\r
+PT=   0000000000003fffffffffffffffffff\r
+CT=   fb748f3bab75ea7bc1a8e82d82a51e09\r
+TEST= 79\r
+PT=   0000000000007fffffffffffffffffff\r
+CT=   9c61fb5dfef28e0e332477533e04fa5d\r
+TEST= 80\r
+PT=   000000000000ffffffffffffffffffff\r
+CT=   1554b13676e017251cbaa0b870293f5b\r
+TEST= 81\r
+PT=   000000000001ffffffffffffffffffff\r
+CT=   2bdf5516618bfa55688ef7cab73711bd\r
+TEST= 82\r
+PT=   000000000003ffffffffffffffffffff\r
+CT=   ecf1b105a6d8e6da307ea0fb480001a5\r
+TEST= 83\r
+PT=   000000000007ffffffffffffffffffff\r
+CT=   a3f459f75e64b6e19f4299b269139f7d\r
+TEST= 84\r
+PT=   00000000000fffffffffffffffffffff\r
+CT=   9b7fcb51afb728ebc4b2cde2eaa3272e\r
+TEST= 85\r
+PT=   00000000001fffffffffffffffffffff\r
+CT=   6cc8b54fcc4cb5ab1f6bca58809a03f3\r
+TEST= 86\r
+PT=   00000000003fffffffffffffffffffff\r
+CT=   08d33488079834d193a93e60340a9dc6\r
+TEST= 87\r
+PT=   00000000007fffffffffffffffffffff\r
+CT=   3192a2e9f08b3b683234da0f5518a010\r
+TEST= 88\r
+PT=   0000000000ffffffffffffffffffffff\r
+CT=   943ac035ba6411af0340a479c035ccde\r
+TEST= 89\r
+PT=   0000000001ffffffffffffffffffffff\r
+CT=   3a4ee0ccaee8fcaf778e23e572b64972\r
+TEST= 90\r
+PT=   0000000003ffffffffffffffffffffff\r
+CT=   71dd8603c6a215f56ce78254a2dcc352\r
+TEST= 91\r
+PT=   0000000007ffffffffffffffffffffff\r
+CT=   e55d93d9e16f29b5c0bcc04caeba26b4\r
+TEST= 92\r
+PT=   000000000fffffffffffffffffffffff\r
+CT=   978b39d54628ef68dd2e3481c056be87\r
+TEST= 93\r
+PT=   000000001fffffffffffffffffffffff\r
+CT=   9781f263a24815e5f86d5426fca2a60d\r
+TEST= 94\r
+PT=   000000003fffffffffffffffffffffff\r
+CT=   a2502f0fa52c9ee2b04dceba26818feb\r
+TEST= 95\r
+PT=   000000007fffffffffffffffffffffff\r
+CT=   e01498623fc3691c93f0a254025f00dc\r
+TEST= 96\r
+PT=   00000000ffffffffffffffffffffffff\r
+CT=   04f6241fa8dfe97b8fa21020c8e0f012\r
+TEST= 97\r
+PT=   00000001ffffffffffffffffffffffff\r
+CT=   adad0ea8da80f52cba02a2f797e5f660\r
+TEST= 98\r
+PT=   00000003ffffffffffffffffffffffff\r
+CT=   da4e186b8466f3de44fcceb4275e919e\r
+TEST= 99\r
+PT=   00000007ffffffffffffffffffffffff\r
+CT=   81afed0aa90ab04150725191ae23329d\r
+TEST= 100\r
+PT=   0000000fffffffffffffffffffffffff\r
+CT=   ed4edde587d7de7bfc9937e901f28ac3\r
+TEST= 101\r
+PT=   0000001fffffffffffffffffffffffff\r
+CT=   db971e6a8fef015916b1bd3d1384765b\r
+TEST= 102\r
+PT=   0000003fffffffffffffffffffffffff\r
+CT=   2908a709b1ed9d002ff1575fb656f145\r
+TEST= 103\r
+PT=   0000007fffffffffffffffffffffffff\r
+CT=   f2db14c1ebbcfd1cffcd2d45569d8d67\r
+TEST= 104\r
+PT=   000000ffffffffffffffffffffffffff\r
+CT=   70c94bbbdecd58bf0f5f85d2cbca1ef5\r
+TEST= 105\r
+PT=   000001ffffffffffffffffffffffffff\r
+CT=   6fcc581931c7de8f8433912403e59ef6\r
+TEST= 106\r
+PT=   000003ffffffffffffffffffffffffff\r
+CT=   052bd927df7af09b394e6acd3faf17af\r
+TEST= 107\r
+PT=   000007ffffffffffffffffffffffffff\r
+CT=   71d78327dd4f1de4c41c0bed89d86ad9\r
+TEST= 108\r
+PT=   00000fffffffffffffffffffffffffff\r
+CT=   990d25762402bcd18da9ac57a4734ec8\r
+TEST= 109\r
+PT=   00001fffffffffffffffffffffffffff\r
+CT=   e4fc8242eabf609feb6f3bab41f8b1dc\r
+TEST= 110\r
+PT=   00003fffffffffffffffffffffffffff\r
+CT=   dfef5c6cbcfcd8a2628ae53ce4c6a79b\r
+TEST= 111\r
+PT=   00007fffffffffffffffffffffffffff\r
+CT=   d0b45049e154ea336aa76e4a75b315e7\r
+TEST= 112\r
+PT=   0000ffffffffffffffffffffffffffff\r
+CT=   d414f7943d00ca79d85b74cc95f9ef14\r
+TEST= 113\r
+PT=   0001ffffffffffffffffffffffffffff\r
+CT=   a69b3d1b84f6ee453a27bca6c80f1b7f\r
+TEST= 114\r
+PT=   0003ffffffffffffffffffffffffffff\r
+CT=   58396af6098f11a4146c222c23489274\r
+TEST= 115\r
+PT=   0007ffffffffffffffffffffffffffff\r
+CT=   0b125f559c24c477ba892ce77426f45a\r
+TEST= 116\r
+PT=   000fffffffffffffffffffffffffffff\r
+CT=   c4bf82fc934d9c05da586038b25b3a30\r
+TEST= 117\r
+PT=   001fffffffffffffffffffffffffffff\r
+CT=   e6211d551f1508d285cfd248a5dbea3e\r
+TEST= 118\r
+PT=   003fffffffffffffffffffffffffffff\r
+CT=   25a4f6a5fdf329d70ca049f503b5eda2\r
+TEST= 119\r
+PT=   007fffffffffffffffffffffffffffff\r
+CT=   63302af0213fde83e376a1c1e9990542\r
+TEST= 120\r
+PT=   00ffffffffffffffffffffffffffffff\r
+CT=   9300e6173d1260a519b13ea2ae65a985\r
+TEST= 121\r
+PT=   01ffffffffffffffffffffffffffffff\r
+CT=   8e9aac3b662e266dcdf5ae4426a90edd\r
+TEST= 122\r
+PT=   03ffffffffffffffffffffffffffffff\r
+CT=   c691e61ab83e4b2a6cea1a1a6097ba2e\r
+TEST= 123\r
+PT=   07ffffffffffffffffffffffffffffff\r
+CT=   cdf811cc43cf5df05db02cb939721884\r
+TEST= 124\r
+PT=   0fffffffffffffffffffffffffffffff\r
+CT=   bf2778915eee19c7cab7c0547f0a61dd\r
+TEST= 125\r
+PT=   1fffffffffffffffffffffffffffffff\r
+CT=   4da9149db4c9c2bb29ba1701816f1b2f\r
+TEST= 126\r
+PT=   3fffffffffffffffffffffffffffffff\r
+CT=   d20c5e7d71e9caeccf40664f1eb45392\r
+TEST= 127\r
+PT=   7fffffffffffffffffffffffffffffff\r
+CT=   e358d3c6b857b344f148f8d6c622f3bf\r
+TEST= 128\r
+PT=   ffffffffffffffffffffffffffffffff\r
+CT=   acdace8078a32b1a182bfa4987ca1347\r
+TEST= 129\r
+PT=   fffffffffffffffffffffffffffffffe\r
+CT=   7bfe9d876c6d63c1d035da8fe21c409d\r
+TEST= 130\r
+PT=   fffffffffffffffffffffffffffffffc\r
+CT=   0f59cb5a4b522e2ac56c1a64f558ad9a\r
+TEST= 131\r
+PT=   fffffffffffffffffffffffffffffff8\r
+CT=   da63039d38cb4612b2dc36ba26684b93\r
+TEST= 132\r
+PT=   fffffffffffffffffffffffffffffff0\r
+CT=   7240e524bc51d8c4d440b1be55d1062c\r
+TEST= 133\r
+PT=   ffffffffffffffffffffffffffffffe0\r
+CT=   2915be4a1ecfdcbe3e023811a12bb6c7\r
+TEST= 134\r
+PT=   ffffffffffffffffffffffffffffffc0\r
+CT=   9b7b940f6c509f9e44a4ee140448ee46\r
+TEST= 135\r
+PT=   ffffffffffffffffffffffffffffff80\r
+CT=   0493370e054b09871130fe49af730a5a\r
+TEST= 136\r
+PT=   ffffffffffffffffffffffffffffff00\r
+CT=   29ee526770f2a11dcfa989d1ce88830f\r
+TEST= 137\r
+PT=   fffffffffffffffffffffffffffffe00\r
+CT=   ee0715b96f72e3f7a22a5064fc592f4c\r
+TEST= 138\r
+PT=   fffffffffffffffffffffffffffffc00\r
+CT=   27127daafc9accd2fb334ec3eba52323\r
+TEST= 139\r
+PT=   fffffffffffffffffffffffffffff800\r
+CT=   eb8168313e1cfdfdb5e986d5429cf172\r
+TEST= 140\r
+PT=   fffffffffffffffffffffffffffff000\r
+CT=   a423deabc173dcf7e2c4c53e77d37cd1\r
+TEST= 141\r
+PT=   ffffffffffffffffffffffffffffe000\r
+CT=   286894e48e537f8763b56707d7d155c8\r
+TEST= 142\r
+PT=   ffffffffffffffffffffffffffffc000\r
+CT=   683e2140585b18452dd4ffbb93c95df9\r
+TEST= 143\r
+PT=   ffffffffffffffffffffffffffff8000\r
+CT=   63fafabb72c07bfbd3ddc9b1203104b8\r
+TEST= 144\r
+PT=   ffffffffffffffffffffffffffff0000\r
+CT=   5f397bf03084820cc8810d52e5b666e9\r
+TEST= 145\r
+PT=   fffffffffffffffffffffffffffe0000\r
+CT=   4b00c27e8b26da7eab9d3a88dec8b031\r
+TEST= 146\r
+PT=   fffffffffffffffffffffffffffc0000\r
+CT=   0861a861c3db4e94194211b77ed761b9\r
+TEST= 147\r
+PT=   fffffffffffffffffffffffffff80000\r
+CT=   705a4ef8ba2133729c20185c3d3a4763\r
+TEST= 148\r
+PT=   fffffffffffffffffffffffffff00000\r
+CT=   8d683ee63e60d208e343ce48dbc44cac\r
+TEST= 149\r
+PT=   ffffffffffffffffffffffffffe00000\r
+CT=   afa2ffc137577092e2b654fa199d2c43\r
+TEST= 150\r
+PT=   ffffffffffffffffffffffffffc00000\r
+CT=   3cdf13e72dee4c581bafec70b85f9660\r
+TEST= 151\r
+PT=   ffffffffffffffffffffffffff800000\r
+CT=   2fd0e41c5b8402277354a7391d2618e2\r
+TEST= 152\r
+PT=   ffffffffffffffffffffffffff000000\r
+CT=   90ddbcb950843592dd47bbef00fdc876\r
+TEST= 153\r
+PT=   fffffffffffffffffffffffffe000000\r
+CT=   62526b78be79cb384633c91f83b4151b\r
+TEST= 154\r
+PT=   fffffffffffffffffffffffffc000000\r
+CT=   1f11d5d0355e0b556ccdb6c7f5083b4d\r
+TEST= 155\r
+PT=   fffffffffffffffffffffffff8000000\r
+CT=   220df19f85d69b1b562fa69a3c5beca5\r
+TEST= 156\r
+PT=   fffffffffffffffffffffffff0000000\r
+CT=   da86f292c6f41ea34fb2068df75ecc29\r
+TEST= 157\r
+PT=   ffffffffffffffffffffffffe0000000\r
+CT=   2be1fae5048a25582a679ca10905eb80\r
+TEST= 158\r
+PT=   ffffffffffffffffffffffffc0000000\r
+CT=   e2775e4b59c1bc2e31a2078c11b5a08c\r
+TEST= 159\r
+PT=   ffffffffffffffffffffffff80000000\r
+CT=   649f1cddc3792b4638635a392bc9bade\r
+TEST= 160\r
+PT=   ffffffffffffffffffffffff00000000\r
+CT=   21d9ba49f276b45f11af8fc71a088e3d\r
+TEST= 161\r
+PT=   fffffffffffffffffffffffe00000000\r
+CT=   1ac1f7102c59933e8b2ddc3f14e94baa\r
+TEST= 162\r
+PT=   fffffffffffffffffffffffc00000000\r
+CT=   e5c3b8e30fd2d8e6239b17b44bd23bbd\r
+TEST= 163\r
+PT=   fffffffffffffffffffffff800000000\r
+CT=   6f8ba6521152d31f2bada1843e26b973\r
+TEST= 164\r
+PT=   fffffffffffffffffffffff000000000\r
+CT=   83a63402a77f9ad5c1e931a931ecd706\r
+TEST= 165\r
+PT=   ffffffffffffffffffffffe000000000\r
+CT=   2bf27229901eb40f2df9d8398d1505ae\r
+TEST= 166\r
+PT=   ffffffffffffffffffffffc000000000\r
+CT=   7b8e7098e357ef71237d46d8b075b0f5\r
+TEST= 167\r
+PT=   ffffffffffffffffffffff8000000000\r
+CT=   55cfb3fb6d75cad0445bbc8dafa25b0f\r
+TEST= 168\r
+PT=   ffffffffffffffffffffff0000000000\r
+CT=   145b60d6d0193c23f4221848a892d61a\r
+TEST= 169\r
+PT=   fffffffffffffffffffffe0000000000\r
+CT=   905b6267f1d6ab5320835a133f096f2a\r
+TEST= 170\r
+PT=   fffffffffffffffffffffc0000000000\r
+CT=   8f476cbff75c1f725ce18e4bbcd19b32\r
+TEST= 171\r
+PT=   fffffffffffffffffffff80000000000\r
+CT=   9ad983f3bf651cd0393f0a73cccdea50\r
+TEST= 172\r
+PT=   fffffffffffffffffffff00000000000\r
+CT=   3b271f8ab2e6e4a20ba8090f43ba78f3\r
+TEST= 173\r
+PT=   ffffffffffffffffffffe00000000000\r
+CT=   39b333e8694f21546ad1edd9d87ed95b\r
+TEST= 174\r
+PT=   ffffffffffffffffffffc00000000000\r
+CT=   08b244ce7cbc8ee97fbba808cb146fda\r
+TEST= 175\r
+PT=   ffffffffffffffffffff800000000000\r
+CT=   4cc42fc1407b008fe350907c092e80ac\r
+TEST= 176\r
+PT=   ffffffffffffffffffff000000000000\r
+CT=   12e71214ae8e04f0bb63d7425c6f14d5\r
+TEST= 177\r
+PT=   fffffffffffffffffffe000000000000\r
+CT=   4620a49bd967491561669ab25dce45f4\r
+TEST= 178\r
+PT=   fffffffffffffffffffc000000000000\r
+CT=   b95ba05b332da61ef63a2b31fcad9879\r
+TEST= 179\r
+PT=   fffffffffffffffffff8000000000000\r
+CT=   0007e20b8298ec354f0f5fe7470f36bd\r
+TEST= 180\r
+PT=   fffffffffffffffffff0000000000000\r
+CT=   d1c5f6399bf382502e385eee1474a869\r
+TEST= 181\r
+PT=   ffffffffffffffffffe0000000000000\r
+CT=   a013014d4ce8054cf2591d06f6f2f176\r
+TEST= 182\r
+PT=   ffffffffffffffffffc0000000000000\r
+CT=   964153a83bf6989a4ba80daa91c3e081\r
+TEST= 183\r
+PT=   ffffffffffffffffff80000000000000\r
+CT=   7d9fa6a57530d0f036fec31c230b0cc6\r
+TEST= 184\r
+PT=   ffffffffffffffffff00000000000000\r
+CT=   76b5614a042707c98e2132e2e805fe63\r
+TEST= 185\r
+PT=   fffffffffffffffffe00000000000000\r
+CT=   959971ce4134190563518e700b9874d1\r
+TEST= 186\r
+PT=   fffffffffffffffffc00000000000000\r
+CT=   811441ce1d309eee7185e8c752c07557\r
+TEST= 187\r
+PT=   fffffffffffffffff800000000000000\r
+CT=   bc3594e865bcd0261b13202731f33580\r
+TEST= 188\r
+PT=   fffffffffffffffff000000000000000\r
+CT=   a37a5869b218a9f3a0868d19aea0ad6a\r
+TEST= 189\r
+PT=   ffffffffffffffffe000000000000000\r
+CT=   a1b19beee4e117139f74b3c53fdcb875\r
+TEST= 190\r
+PT=   ffffffffffffffffc000000000000000\r
+CT=   19f08e3420ee69b477ca1420281c4782\r
+TEST= 191\r
+PT=   ffffffffffffffff8000000000000000\r
+CT=   77f392089042e478ac16c0c86a0b5db5\r
+TEST= 192\r
+PT=   ffffffffffffffff0000000000000000\r
+CT=   9b58dbfd77fe5aca9cfc190cd1b82d19\r
+TEST= 193\r
+PT=   fffffffffffffffe0000000000000000\r
+CT=   faf82d178af25a9886a47e7f789b98d7\r
+TEST= 194\r
+PT=   fffffffffffffffc0000000000000000\r
+CT=   d8e2bb1ae8ee3dcf5bf7d6c38da82a1a\r
+TEST= 195\r
+PT=   fffffffffffffff80000000000000000\r
+CT=   1d7c0c4040b355b9d107a99325e3b050\r
+TEST= 196\r
+PT=   fffffffffffffff00000000000000000\r
+CT=   b1144ddfa75755213390e7c596660490\r
+TEST= 197\r
+PT=   ffffffffffffffe00000000000000000\r
+CT=   768f520efe0f23e61d3ec8ad9ce91774\r
+TEST= 198\r
+PT=   ffffffffffffffc00000000000000000\r
+CT=   56ede9dda3f6f141bff1757fa689c3e1\r
+TEST= 199\r
+PT=   ffffffffffffff800000000000000000\r
+CT=   0d9ac756eb297695eed4d382eb126d26\r
+TEST= 200\r
+PT=   ffffffffffffff000000000000000000\r
+CT=   c0838d1a2b16a7c7f0dfcc433c399c33\r
+TEST= 201\r
+PT=   fffffffffffffe000000000000000000\r
+CT=   cc3526262b92f02edce548f716b9f45c\r
+TEST= 202\r
+PT=   fffffffffffffc000000000000000000\r
+CT=   c090313eb98674f35f3123385fb95d4d\r
+TEST= 203\r
+PT=   fffffffffffff8000000000000000000\r
+CT=   dd27cac6401a022e8f38f9f93e774417\r
+TEST= 204\r
+PT=   fffffffffffff0000000000000000000\r
+CT=   4632154179a555c17ea604d0889fab14\r
+TEST= 205\r
+PT=   ffffffffffffe0000000000000000000\r
+CT=   a1853fe47fe29289d153161d06387d21\r
+TEST= 206\r
+PT=   ffffffffffffc0000000000000000000\r
+CT=   cd2b1fec11fd906c5c7630099443610a\r
+TEST= 207\r
+PT=   ffffffffffff80000000000000000000\r
+CT=   b1d4efe40242f83e93b6c8d7efb5eae9\r
+TEST= 208\r
+PT=   ffffffffffff00000000000000000000\r
+CT=   ead731af4d3a2fe3b34bed047942a49f\r
+TEST= 209\r
+PT=   fffffffffffe00000000000000000000\r
+CT=   1a518dddaf9efa0d002cc58d107edfc8\r
+TEST= 210\r
+PT=   fffffffffffc00000000000000000000\r
+CT=   e67ae6426bf9526c972cff072b52252c\r
+TEST= 211\r
+PT=   fffffffffff800000000000000000000\r
+CT=   20ebc86f1304d272e2e207e59db639f0\r
+TEST= 212\r
+PT=   fffffffffff000000000000000000000\r
+CT=   3f5f9106d0e52f973d4890e6f37e8a00\r
+TEST= 213\r
+PT=   ffffffffffe000000000000000000000\r
+CT=   ac9bd8e2530469134b9d5b065d4f565b\r
+TEST= 214\r
+PT=   ffffffffffc000000000000000000000\r
+CT=   2463531ab54d66955e73edc4cb8eaa45\r
+TEST= 215\r
+PT=   ffffffffff8000000000000000000000\r
+CT=   48c7d0e80834ebdc35b6735f76b46c8b\r
+TEST= 216\r
+PT=   ffffffffff0000000000000000000000\r
+CT=   f96b0c4a8bc6c86130289f60b43b8fba\r
+TEST= 217\r
+PT=   fffffffffe0000000000000000000000\r
+CT=   11a45530f624ff6f76a1b3826626ff7b\r
+TEST= 218\r
+PT=   fffffffffc0000000000000000000000\r
+CT=   49d541b2e74cfe73e6a8e8225f7bd449\r
+TEST= 219\r
+PT=   fffffffff80000000000000000000000\r
+CT=   54fafe26e4287f17d1935f87eb9ade01\r
+TEST= 220\r
+PT=   fffffffff00000000000000000000000\r
+CT=   9a682acf40be01f5b2a4193c9a82404d\r
+TEST= 221\r
+PT=   ffffffffe00000000000000000000000\r
+CT=   753665c4af1eff33aa8b628bf8741cfd\r
+TEST= 222\r
+PT=   ffffffffc00000000000000000000000\r
+CT=   9b471596dc69ae1586cee6158b0b0181\r
+TEST= 223\r
+PT=   ffffffff800000000000000000000000\r
+CT=   42a1136e5f8d8d21d3101998642d573b\r
+TEST= 224\r
+PT=   ffffffff000000000000000000000000\r
+CT=   6a4981f2915e3e68af6c22385dd06756\r
+TEST= 225\r
+PT=   fffffffe000000000000000000000000\r
+CT=   8d6a8afe55a6e481badae0d146f436db\r
+TEST= 226\r
+PT=   fffffffc000000000000000000000000\r
+CT=   fbd6640c80245c2b805373f130703127\r
+TEST= 227\r
+PT=   fffffff8000000000000000000000000\r
+CT=   cf37cdaaa0d2d536c71857634c792064\r
+TEST= 228\r
+PT=   fffffff0000000000000000000000000\r
+CT=   96f96e9d607f6615fc192061ee648b07\r
+TEST= 229\r
+PT=   ffffffe0000000000000000000000000\r
+CT=   abf4154a3375a1d3e6b1d454438f95a6\r
+TEST= 230\r
+PT=   ffffffc0000000000000000000000000\r
+CT=   1f8eedea0f62a1406d58cfc3ecea72cf\r
+TEST= 231\r
+PT=   ffffff80000000000000000000000000\r
+CT=   36aff0ef7bf3280772cf4cac80a0d2b2\r
+TEST= 232\r
+PT=   ffffff00000000000000000000000000\r
+CT=   ac86bc606b6640c309e782f232bf367f\r
+TEST= 233\r
+PT=   fffffe00000000000000000000000000\r
+CT=   6ef4cc4de49b11065d7af2909854794a\r
+TEST= 234\r
+PT=   fffffc00000000000000000000000000\r
+CT=   b1f4066e6f4f187dfe5f2ad1b17819d0\r
+TEST= 235\r
+PT=   fffff800000000000000000000000000\r
+CT=   d5e38bf15f16d90e3e214041d774daa8\r
+TEST= 236\r
+PT=   fffff000000000000000000000000000\r
+CT=   3ee500c5c8d63479717163e55c5c4522\r
+TEST= 237\r
+PT=   ffffe000000000000000000000000000\r
+CT=   2239455e7afe3b0616100288cc5a723b\r
+TEST= 238\r
+PT=   ffffc000000000000000000000000000\r
+CT=   59e858eaaa97fec38111275b6cf5abc0\r
+TEST= 239\r
+PT=   ffff8000000000000000000000000000\r
+CT=   1fe6cc3c05965dc08eb0590c95ac71d0\r
+TEST= 240\r
+PT=   ffff0000000000000000000000000000\r
+CT=   300ade92f88f48fa2df730ec16ef44cd\r
+TEST= 241\r
+PT=   fffe0000000000000000000000000000\r
+CT=   1569859ea6b7206c30bf4fd0cbfac33c\r
+TEST= 242\r
+PT=   fffc0000000000000000000000000000\r
+CT=   dc8f0e4915fd81ba70a331310882f6da\r
+TEST= 243\r
+PT=   fff80000000000000000000000000000\r
+CT=   047bba83f7aa841731504e012208fc9e\r
+TEST= 244\r
+PT=   fff00000000000000000000000000000\r
+CT=   c218faa16056bd0774c3e8d79c35a5e4\r
+TEST= 245\r
+PT=   ffe00000000000000000000000000000\r
+CT=   0dc58a8d886623705aec15cb1e70dc0e\r
+TEST= 246\r
+PT=   ffc00000000000000000000000000000\r
+CT=   fe1cffb83f45dcfb38b29be438dbd3ab\r
+TEST= 247\r
+PT=   ff800000000000000000000000000000\r
+CT=   8bcd40f94ebb63b9f7909676e667f1e7\r
+TEST= 248\r
+PT=   ff000000000000000000000000000000\r
+CT=   49af6b372135acef10132e548f217b17\r
+TEST= 249\r
+PT=   fe000000000000000000000000000000\r
+CT=   8092a4dcf2da7e77e93bdd371dfed82e\r
+TEST= 250\r
+PT=   fc000000000000000000000000000000\r
+CT=   e74cd1c92f0919c35a0324123d6177d3\r
+TEST= 251\r
+PT=   f8000000000000000000000000000000\r
+CT=   7818d800dcf6f4be1e0e94f403d1e4c2\r
+TEST= 252\r
+PT=   f0000000000000000000000000000000\r
+CT=   7f2c5ece07a98d8bee13c51177395ff7\r
+TEST= 253\r
+PT=   e0000000000000000000000000000000\r
+CT=   9b80eefb7ebe2d2b16247aa0efc72f5d\r
+TEST= 254\r
+PT=   c0000000000000000000000000000000\r
+CT=   0a6bdc6d4c1e6280301fd8e97ddbe601\r
+TEST= 255\r
+PT=   80000000000000000000000000000000\r
+CT=   ddc6bf790c15760d8d9aeb6f9a75fd4e\r
diff --git a/test/crypto/aes/ecbvk44.txt b/test/crypto/aes/ecbvk44.txt
new file mode 100644 (file)
index 0000000..04f3089
--- /dev/null
@@ -0,0 +1,398 @@
+==============================================\r
+Author:    Dr B R Gladman (                 )\r
+Test:      ECB Variable Key Known Answer Tests\r
+Algorithm: Extended Rijndael (an AES Superset)\r
+Filename:  ecbvk44.txt\r
+==============================================\r
+\r
+BLOCKSIZE=128\r
+KEYSIZE=  128\r
+\r
+PT=   00000000000000000000000000000000\r
+TEST= 0\r
+KEY=  00000000000000000000000000000000\r
+CT=   66e94bd4ef8a2c3b884cfa59ca342b2e\r
+TEST= 1\r
+KEY=  80000000000000000000000000000000\r
+CT=   0edd33d3c621e546455bd8ba1418bec8\r
+TEST= 2\r
+KEY=  40000000000000000000000000000000\r
+CT=   c0cc0c5da5bd63acd44a80774fad5222\r
+TEST= 3\r
+KEY=  20000000000000000000000000000000\r
+CT=   2f0b4b71bc77851b9ca56d42eb8ff080\r
+TEST= 4\r
+KEY=  10000000000000000000000000000000\r
+CT=   6b1e2fffe8a114009d8fe22f6db5f876\r
+TEST= 5\r
+KEY=  08000000000000000000000000000000\r
+CT=   9aa042c315f94cbb97b62202f83358f5\r
+TEST= 6\r
+KEY=  04000000000000000000000000000000\r
+CT=   dbe01de67e346a800c4c4b4880311de4\r
+TEST= 7\r
+KEY=  02000000000000000000000000000000\r
+CT=   c117d2238d53836acd92ddcdb85d6a21\r
+TEST= 8\r
+KEY=  01000000000000000000000000000000\r
+CT=   dc0ed85df9611abb7249cdd168c5467e\r
+TEST= 9\r
+KEY=  00800000000000000000000000000000\r
+CT=   807d678fff1f56fa92de3381904842f2\r
+TEST= 10\r
+KEY=  00400000000000000000000000000000\r
+CT=   0e53b3fcad8e4b130ef73aeb957fb402\r
+TEST= 11\r
+KEY=  00200000000000000000000000000000\r
+CT=   969ffd3b7c35439417e7bde923035d65\r
+TEST= 12\r
+KEY=  00100000000000000000000000000000\r
+CT=   a99b512c19ca56070491166a1503bf15\r
+TEST= 13\r
+KEY=  00080000000000000000000000000000\r
+CT=   6e9985252126ee344d26ae369d2327e3\r
+TEST= 14\r
+KEY=  00040000000000000000000000000000\r
+CT=   b85f4809f904c275491fcdcd1610387e\r
+TEST= 15\r
+KEY=  00020000000000000000000000000000\r
+CT=   ed365b8d7d20c1f5d53fb94dd211df7b\r
+TEST= 16\r
+KEY=  00010000000000000000000000000000\r
+CT=   b3a575e86a8db4a7135d604c43304896\r
+TEST= 17\r
+KEY=  00008000000000000000000000000000\r
+CT=   89704bcb8e69f846259eb0accbc7f8a2\r
+TEST= 18\r
+KEY=  00004000000000000000000000000000\r
+CT=   c56ee7c92197861f10d7a92b90882055\r
+TEST= 19\r
+KEY=  00002000000000000000000000000000\r
+CT=   92f296f6846e0eaf9422a5a24a08b069\r
+TEST= 20\r
+KEY=  00001000000000000000000000000000\r
+CT=   e67e32bb8f11deb8699318bee9e91a60\r
+TEST= 21\r
+KEY=  00000800000000000000000000000000\r
+CT=   b08eef85eaf626dd91b65c4c3a97d92b\r
+TEST= 22\r
+KEY=  00000400000000000000000000000000\r
+CT=   661083a6addce79bb4e0859ab5538013\r
+TEST= 23\r
+KEY=  00000200000000000000000000000000\r
+CT=   55dfe2941e0eb10afc0b333bd34de1fe\r
+TEST= 24\r
+KEY=  00000100000000000000000000000000\r
+CT=   6bfe5945e715c9662609770f8846087a\r
+TEST= 25\r
+KEY=  00000080000000000000000000000000\r
+CT=   79848e9c30c2f8cda8b325f7fed2b139\r
+TEST= 26\r
+KEY=  00000040000000000000000000000000\r
+CT=   7a713a53b99fef34ac04deef80965bd0\r
+TEST= 27\r
+KEY=  00000020000000000000000000000000\r
+CT=   18144a2b46620d32c3c32ce52d49257f\r
+TEST= 28\r
+KEY=  00000010000000000000000000000000\r
+CT=   872e827c70887c80749f7b8bb1847c7e\r
+TEST= 29\r
+KEY=  00000008000000000000000000000000\r
+CT=   6b86c6a4fe6a60c59b1a3102f8de49f3\r
+TEST= 30\r
+KEY=  00000004000000000000000000000000\r
+CT=   9848bb3dfdf6f532f094679a4c231a20\r
+TEST= 31\r
+KEY=  00000002000000000000000000000000\r
+CT=   925ad528e852e329b2091cd3f1c2bcee\r
+TEST= 32\r
+KEY=  00000001000000000000000000000000\r
+CT=   80df436544b0dd596722e46792a40cd8\r
+TEST= 33\r
+KEY=  00000000800000000000000000000000\r
+CT=   525daf18f93e83e1e74bbbdde4263bba\r
+TEST= 34\r
+KEY=  00000000400000000000000000000000\r
+CT=   f65c9d2ee485d24701ffa3313b9d5be6\r
+TEST= 35\r
+KEY=  00000000200000000000000000000000\r
+CT=   e4fc8d8bca06425bdf94afa40fcc14ba\r
+TEST= 36\r
+KEY=  00000000100000000000000000000000\r
+CT=   a53f0a5ca1e4e6440bb975ff320de6f8\r
+TEST= 37\r
+KEY=  00000000080000000000000000000000\r
+CT=   d55313b9394080462e87e02899b553f0\r
+TEST= 38\r
+KEY=  00000000040000000000000000000000\r
+CT=   34a71d761f71bcd344384c7f97d27906\r
+TEST= 39\r
+KEY=  00000000020000000000000000000000\r
+CT=   233f3d819599612ebc89580245c996a8\r
+TEST= 40\r
+KEY=  00000000010000000000000000000000\r
+CT=   b4f1374e5268dbcb676e447529e53f89\r
+TEST= 41\r
+KEY=  00000000008000000000000000000000\r
+CT=   0816bd27861d2ba891d1044e39951e96\r
+TEST= 42\r
+KEY=  00000000004000000000000000000000\r
+CT=   f3be9ea3f10c73ca64fde5db13a951d1\r
+TEST= 43\r
+KEY=  00000000002000000000000000000000\r
+CT=   2448086a8106fbd03048ddf857d3f1c8\r
+TEST= 44\r
+KEY=  00000000001000000000000000000000\r
+CT=   670756e65bec8b68f03d77cdcdce7b91\r
+TEST= 45\r
+KEY=  00000000000800000000000000000000\r
+CT=   ef968cf0d36fd6c6effd225f6fb44ca9\r
+TEST= 46\r
+KEY=  00000000000400000000000000000000\r
+CT=   2e8767157922e3826ddcec1b0cc1e105\r
+TEST= 47\r
+KEY=  00000000000200000000000000000000\r
+CT=   78ce7eec670e45a967bab17e26a1ad36\r
+TEST= 48\r
+KEY=  00000000000100000000000000000000\r
+CT=   3c5cee825655f098f6e81a2f417da3fb\r
+TEST= 49\r
+KEY=  00000000000080000000000000000000\r
+CT=   67bfdb431dce1292200bc6f5207adb12\r
+TEST= 50\r
+KEY=  00000000000040000000000000000000\r
+CT=   7540fd38e447c0779228548747843a6f\r
+TEST= 51\r
+KEY=  00000000000020000000000000000000\r
+CT=   b85e513301f8a936ea9ec8a21a85b5e6\r
+TEST= 52\r
+KEY=  00000000000010000000000000000000\r
+CT=   04c67dbf16c11427d507a455de2c9bc5\r
+TEST= 53\r
+KEY=  00000000000008000000000000000000\r
+CT=   03f75eb8959e55079cffb4ff149a37b6\r
+TEST= 54\r
+KEY=  00000000000004000000000000000000\r
+CT=   74550287f666c63bb9bc7838433434b0\r
+TEST= 55\r
+KEY=  00000000000002000000000000000000\r
+CT=   7d537200195ebc3aefd1eaab1c385221\r
+TEST= 56\r
+KEY=  00000000000001000000000000000000\r
+CT=   ce24e4d40c68a82b535cbd3c8e21652a\r
+TEST= 57\r
+KEY=  00000000000000800000000000000000\r
+CT=   ab20072405aa8fc40265c6f1f3dc8bc0\r
+TEST= 58\r
+KEY=  00000000000000400000000000000000\r
+CT=   6cfd2cf688f566b093f67b9b3839e80a\r
+TEST= 59\r
+KEY=  00000000000000200000000000000000\r
+CT=   bd95977e6b7239d407a012c5544bf584\r
+TEST= 60\r
+KEY=  00000000000000100000000000000000\r
+CT=   df9c0130ac77e7c72c997f587b46dbe0\r
+TEST= 61\r
+KEY=  00000000000000080000000000000000\r
+CT=   e7f1b82cadc53a648798945b34efeff2\r
+TEST= 62\r
+KEY=  00000000000000040000000000000000\r
+CT=   932c6dbf69255cf13edcdb72233acea3\r
+TEST= 63\r
+KEY=  00000000000000020000000000000000\r
+CT=   5c76002bc7206560efe550c80b8f12cc\r
+TEST= 64\r
+KEY=  00000000000000010000000000000000\r
+CT=   f6b7bdd1caeebab574683893c4475484\r
+TEST= 65\r
+KEY=  00000000000000008000000000000000\r
+CT=   a920e37cc6dc6b31da8c0169569f5034\r
+TEST= 66\r
+KEY=  00000000000000004000000000000000\r
+CT=   919380ecd9c778bc513148b0c28d65fd\r
+TEST= 67\r
+KEY=  00000000000000002000000000000000\r
+CT=   ee67308dd3f2d9e6c2170755e5784be1\r
+TEST= 68\r
+KEY=  00000000000000001000000000000000\r
+CT=   3cc73e53b85609023a05e149b223ae09\r
+TEST= 69\r
+KEY=  00000000000000000800000000000000\r
+CT=   983e8af7cf05ebb28d71eb841c9406e6\r
+TEST= 70\r
+KEY=  00000000000000000400000000000000\r
+CT=   0f3099b2d31fa5299ee5bf43193287fc\r
+TEST= 71\r
+KEY=  00000000000000000200000000000000\r
+CT=   b763d84f38c27fe6931dceb6715d4db6\r
+TEST= 72\r
+KEY=  00000000000000000100000000000000\r
+CT=   5ae3c9b0e3cc29c0c61565cd01f8a248\r
+TEST= 73\r
+KEY=  00000000000000000080000000000000\r
+CT=   f58083572cd90981958565d48d2dee25\r
+TEST= 74\r
+KEY=  00000000000000000040000000000000\r
+CT=   7e6255eef8f70c0ef10337aab1cccef8\r
+TEST= 75\r
+KEY=  00000000000000000020000000000000\r
+CT=   aad4bac34db22821841ce2f631961902\r
+TEST= 76\r
+KEY=  00000000000000000010000000000000\r
+CT=   d7431c0409bb1441ba9c6858dc7d4e81\r
+TEST= 77\r
+KEY=  00000000000000000008000000000000\r
+CT=   ef9298c65e339f6e801a59c626456993\r
+TEST= 78\r
+KEY=  00000000000000000004000000000000\r
+CT=   53fe29f68ff541abc3f0ef3350b72f7e\r
+TEST= 79\r
+KEY=  00000000000000000002000000000000\r
+CT=   f6bba5c10db02529e2c2da3fb582cc14\r
+TEST= 80\r
+KEY=  00000000000000000001000000000000\r
+CT=   e4239aa37fc531a386dad1126fc0e9cd\r
+TEST= 81\r
+KEY=  00000000000000000000800000000000\r
+CT=   8f7758f857d15bbe7bfd0e416404c365\r
+TEST= 82\r
+KEY=  00000000000000000000400000000000\r
+CT=   d273eb57c687bcd1b4ea7218a509e7b8\r
+TEST= 83\r
+KEY=  00000000000000000000200000000000\r
+CT=   65d64f8d76e8b3423fa25c4eb58a210a\r
+TEST= 84\r
+KEY=  00000000000000000000100000000000\r
+CT=   623d802b4ec450d66a16625702fcdbe0\r
+TEST= 85\r
+KEY=  00000000000000000000080000000000\r
+CT=   7496460cb28e5791baeaf9b68fb00022\r
+TEST= 86\r
+KEY=  00000000000000000000040000000000\r
+CT=   34ea600f18bb0694b41681a49d510c1d\r
+TEST= 87\r
+KEY=  00000000000000000000020000000000\r
+CT=   5f8ff0d47d5766d29b5d6e8f46423bd8\r
+TEST= 88\r
+KEY=  00000000000000000000010000000000\r
+CT=   225f9286c5928bf09f84d3f93f541959\r
+TEST= 89\r
+KEY=  00000000000000000000008000000000\r
+CT=   b21e90d25df383416a5f072cebeb1ffb\r
+TEST= 90\r
+KEY=  00000000000000000000004000000000\r
+CT=   4aefcda089318125453eb9e8eb5e492e\r
+TEST= 91\r
+KEY=  00000000000000000000002000000000\r
+CT=   4d3e75c6cd40ec4869bc85158591adb8\r
+TEST= 92\r
+KEY=  00000000000000000000001000000000\r
+CT=   63a8b904405436a1b99d7751866771b7\r
+TEST= 93\r
+KEY=  00000000000000000000000800000000\r
+CT=   64f0daae47529199792eae172ba53293\r
+TEST= 94\r
+KEY=  00000000000000000000000400000000\r
+CT=   c3eef84bea18225d515a8c852a9047ee\r
+TEST= 95\r
+KEY=  00000000000000000000000200000000\r
+CT=   a44ac422b47d47b81af73b3e9ac9596e\r
+TEST= 96\r
+KEY=  00000000000000000000000100000000\r
+CT=   d16e04a8fbc435094f8d53adf25f5084\r
+TEST= 97\r
+KEY=  00000000000000000000000080000000\r
+CT=   ef13dc34bab03e124eead8b6bf44b532\r
+TEST= 98\r
+KEY=  00000000000000000000000040000000\r
+CT=   d94799075c24dcc067af0d392049250d\r
+TEST= 99\r
+KEY=  00000000000000000000000020000000\r
+CT=   14f431771eddce4764c21a2254b5e3c8\r
+TEST= 100\r
+KEY=  00000000000000000000000010000000\r
+CT=   7039329f36f2ed682b02991f28d64679\r
+TEST= 101\r
+KEY=  00000000000000000000000008000000\r
+CT=   124ee24ede5551639db8b8b941f6141d\r
+TEST= 102\r
+KEY=  00000000000000000000000004000000\r
+CT=   c2852879a34d5184e478ec918b993fee\r
+TEST= 103\r
+KEY=  00000000000000000000000002000000\r
+CT=   86a806a3525b93e432053c9ab5abbedf\r
+TEST= 104\r
+KEY=  00000000000000000000000001000000\r
+CT=   c1609bf5a4f07e37c17a36366ec23ecc\r
+TEST= 105\r
+KEY=  00000000000000000000000000800000\r
+CT=   7e81e7cb92159a51ffcea331b1e8ea53\r
+TEST= 106\r
+KEY=  00000000000000000000000000400000\r
+CT=   37a7be002856c5a59a6e03eafce7729a\r
+TEST= 107\r
+KEY=  00000000000000000000000000200000\r
+CT=   bdf98a5a4f91e890c9a1d1e5faab138f\r
+TEST= 108\r
+KEY=  00000000000000000000000000100000\r
+CT=   4e96acb66e051f2bc739cc3d3e34a26b\r
+TEST= 109\r
+KEY=  00000000000000000000000000080000\r
+CT=   ee996cdd120eb86e21ecfa49e8e1fcf1\r
+TEST= 110\r
+KEY=  00000000000000000000000000040000\r
+CT=   61b9e6b579dbf6070c351a1440dd85ff\r
+TEST= 111\r
+KEY=  00000000000000000000000000020000\r
+CT=   ac369e484316440b40dfc83aa96e28e7\r
+TEST= 112\r
+KEY=  00000000000000000000000000010000\r
+CT=   0a2d16de985c76d45c579c1159413bbe\r
+TEST= 113\r
+KEY=  00000000000000000000000000008000\r
+CT=   da3fdc38da1d374fa4802cda1a1c6b0f\r
+TEST= 114\r
+KEY=  00000000000000000000000000004000\r
+CT=   b842523d4c41c2211afe43a5800adce3\r
+TEST= 115\r
+KEY=  00000000000000000000000000002000\r
+CT=   9e2cda90d8e992dba6c73d8229567192\r
+TEST= 116\r
+KEY=  00000000000000000000000000001000\r
+CT=   d49583b781d9e20f5be101415957fc49\r
+TEST= 117\r
+KEY=  00000000000000000000000000000800\r
+CT=   ef09da5c12b376e458b9b8670032498e\r
+TEST= 118\r
+KEY=  00000000000000000000000000000400\r
+CT=   a96be0463da774461a5e1d5a9dd1ac10\r
+TEST= 119\r
+KEY=  00000000000000000000000000000200\r
+CT=   32cee3341060790d2d4b1362ef397090\r
+TEST= 120\r
+KEY=  00000000000000000000000000000100\r
+CT=   21cea416a3d3359d2c4d58fb6a035f06\r
+TEST= 121\r
+KEY=  00000000000000000000000000000080\r
+CT=   172aeab3d507678ecaf455c12587adb7\r
+TEST= 122\r
+KEY=  00000000000000000000000000000040\r
+CT=   b6f897941ef8ebff9fe80a567ef38478\r
+TEST= 123\r
+KEY=  00000000000000000000000000000020\r
+CT=   a9723259d94a7dc662fb0c782ca3f1dd\r
+TEST= 124\r
+KEY=  00000000000000000000000000000010\r
+CT=   2f91c984b9a4839f30001b9f430493b4\r
+TEST= 125\r
+KEY=  00000000000000000000000000000008\r
+CT=   0472406345a610b048cb99ee0ef3fa0f\r
+TEST= 126\r
+KEY=  00000000000000000000000000000004\r
+CT=   f5f39086646f8c05ed16efa4b617957c\r
+TEST= 127\r
+KEY=  00000000000000000000000000000002\r
+CT=   26d50f485a30408d5af47a5736292450\r
+TEST= 128\r
+KEY=  00000000000000000000000000000001\r
+CT=   0545aad56da2a97c3663d1432a3d1c84\r
diff --git a/test/crypto/aes/ecbvk48.txt b/test/crypto/aes/ecbvk48.txt
new file mode 100644 (file)
index 0000000..e11c0c9
--- /dev/null
@@ -0,0 +1,782 @@
+==============================================\r
+Author:    Dr B R Gladman (                 )\r
+Test:      ECB Variable Key Known Answer Tests\r
+Algorithm: Extended Rijndael (an AES Superset)\r
+Filename:  ecbvk48.txt\r
+==============================================\r
+\r
+BLOCKSIZE=128\r
+KEYSIZE=  256\r
+\r
+PT=   00000000000000000000000000000000\r
+TEST= 0\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000000\r
+CT=   dc95c078a2408989ad48a21492842087\r
+TEST= 1\r
+KEY=  8000000000000000000000000000000000000000000000000000000000000000\r
+CT=   e35a6dcb19b201a01ebcfa8aa22b5759\r
+TEST= 2\r
+KEY=  4000000000000000000000000000000000000000000000000000000000000000\r
+CT=   5075c2405b76f22f553488cae47ce90b\r
+TEST= 3\r
+KEY=  2000000000000000000000000000000000000000000000000000000000000000\r
+CT=   49df95d844a0145a7de01c91793302d3\r
+TEST= 4\r
+KEY=  1000000000000000000000000000000000000000000000000000000000000000\r
+CT=   e7396d778e940b8418a86120e5f421fe\r
+TEST= 5\r
+KEY=  0800000000000000000000000000000000000000000000000000000000000000\r
+CT=   05f535c36fcede4657be37f4087db1ef\r
+TEST= 6\r
+KEY=  0400000000000000000000000000000000000000000000000000000000000000\r
+CT=   d0c1dddd10da777c68ab36af51f2c204\r
+TEST= 7\r
+KEY=  0200000000000000000000000000000000000000000000000000000000000000\r
+CT=   1c55fb811b5c6464c4e5de1535a75514\r
+TEST= 8\r
+KEY=  0100000000000000000000000000000000000000000000000000000000000000\r
+CT=   52917f3ae957d5230d3a2af57c7b5a71\r
+TEST= 9\r
+KEY=  0080000000000000000000000000000000000000000000000000000000000000\r
+CT=   c6e3d5501752dd5e9aef086d6b45d705\r
+TEST= 10\r
+KEY=  0040000000000000000000000000000000000000000000000000000000000000\r
+CT=   a24a9c7af1d9b1e17e1c9a3e711b3fa7\r
+TEST= 11\r
+KEY=  0020000000000000000000000000000000000000000000000000000000000000\r
+CT=   b881eca724a6d43dbc6b96f6f59a0d20\r
+TEST= 12\r
+KEY=  0010000000000000000000000000000000000000000000000000000000000000\r
+CT=   ec524d9a24dfff2a9639879b83b8e137\r
+TEST= 13\r
+KEY=  0008000000000000000000000000000000000000000000000000000000000000\r
+CT=   34c4f345f5466215a037f443635d6f75\r
+TEST= 14\r
+KEY=  0004000000000000000000000000000000000000000000000000000000000000\r
+CT=   5ba5055bedb8895f672e29f2eb5a355d\r
+TEST= 15\r
+KEY=  0002000000000000000000000000000000000000000000000000000000000000\r
+CT=   b3f692aa3a435259ebbef9b51ad1e08d\r
+TEST= 16\r
+KEY=  0001000000000000000000000000000000000000000000000000000000000000\r
+CT=   414feb4376f2c64a5d2fbb2ed531ba7d\r
+TEST= 17\r
+KEY=  0000800000000000000000000000000000000000000000000000000000000000\r
+CT=   a20d519e3bca3303f07e81719f61605e\r
+TEST= 18\r
+KEY=  0000400000000000000000000000000000000000000000000000000000000000\r
+CT=   a08d10e520af811f45bd60a2dc0dc4b1\r
+TEST= 19\r
+KEY=  0000200000000000000000000000000000000000000000000000000000000000\r
+CT=   b06893a8c563c430e6f3858826efbbe4\r
+TEST= 20\r
+KEY=  0000100000000000000000000000000000000000000000000000000000000000\r
+CT=   0ffee26ae2d3929c6bd9c6bedff84409\r
+TEST= 21\r
+KEY=  0000080000000000000000000000000000000000000000000000000000000000\r
+CT=   4d0f5e906ed77801fc0ef53edc5f9e2b\r
+TEST= 22\r
+KEY=  0000040000000000000000000000000000000000000000000000000000000000\r
+CT=   8b6ec00119ad8b026dce56ea7defe930\r
+TEST= 23\r
+KEY=  0000020000000000000000000000000000000000000000000000000000000000\r
+CT=   69026591d43363ee9d83b5007f0b484e\r
+TEST= 24\r
+KEY=  0000010000000000000000000000000000000000000000000000000000000000\r
+CT=   27135d86950c6a2f86872706279a4761\r
+TEST= 25\r
+KEY=  0000008000000000000000000000000000000000000000000000000000000000\r
+CT=   35e6db8723f281da410c3ac8535ed77c\r
+TEST= 26\r
+KEY=  0000004000000000000000000000000000000000000000000000000000000000\r
+CT=   57427cf214b8c28e4bbf487ccb8d0e09\r
+TEST= 27\r
+KEY=  0000002000000000000000000000000000000000000000000000000000000000\r
+CT=   6df01bf56e5131ac87f96e99cab86367\r
+TEST= 28\r
+KEY=  0000001000000000000000000000000000000000000000000000000000000000\r
+CT=   3856c5b55790b768bbf7d43031579bcf\r
+TEST= 29\r
+KEY=  0000000800000000000000000000000000000000000000000000000000000000\r
+CT=   1e6ed8fb7c15bc4d2f63ba7037ed44d0\r
+TEST= 30\r
+KEY=  0000000400000000000000000000000000000000000000000000000000000000\r
+CT=   e1b2ed6cd8d93d455534e401156d4bcf\r
+TEST= 31\r
+KEY=  0000000200000000000000000000000000000000000000000000000000000000\r
+CT=   efbcca5bdfdad10e875f02336212ce36\r
+TEST= 32\r
+KEY=  0000000100000000000000000000000000000000000000000000000000000000\r
+CT=   0b777f02fd18dce2646dcfe868dfafad\r
+TEST= 33\r
+KEY=  0000000080000000000000000000000000000000000000000000000000000000\r
+CT=   c8a104b5693d1b14f5bf1f10100bf508\r
+TEST= 34\r
+KEY=  0000000040000000000000000000000000000000000000000000000000000000\r
+CT=   4cce6615244afcb38408fece219962ea\r
+TEST= 35\r
+KEY=  0000000020000000000000000000000000000000000000000000000000000000\r
+CT=   f99e7845d3a255b394c9c050cba258b1\r
+TEST= 36\r
+KEY=  0000000010000000000000000000000000000000000000000000000000000000\r
+CT=   b4afbb787f9bcfb7b55fdf447f611295\r
+TEST= 37\r
+KEY=  0000000008000000000000000000000000000000000000000000000000000000\r
+CT=   ae1c426a697faf2808b7ef6addb5c020\r
+TEST= 38\r
+KEY=  0000000004000000000000000000000000000000000000000000000000000000\r
+CT=   7572f92811a85b9bdd38dead9945bcae\r
+TEST= 39\r
+KEY=  0000000002000000000000000000000000000000000000000000000000000000\r
+CT=   71bc7aa46e43fb95a181527d9f6a360f\r
+TEST= 40\r
+KEY=  0000000001000000000000000000000000000000000000000000000000000000\r
+CT=   5542ef2923066f1ec8f546dd0d8e7ca8\r
+TEST= 41\r
+KEY=  0000000000800000000000000000000000000000000000000000000000000000\r
+CT=   6b92317c7d623790b748fdd7efc42422\r
+TEST= 42\r
+KEY=  0000000000400000000000000000000000000000000000000000000000000000\r
+CT=   0fe7c097e899c71ef045360f8d6c25cf\r
+TEST= 43\r
+KEY=  0000000000200000000000000000000000000000000000000000000000000000\r
+CT=   4ece7ee107d0264d04693151c25b9df6\r
+TEST= 44\r
+KEY=  0000000000100000000000000000000000000000000000000000000000000000\r
+CT=   fd6ae687cbfca9e301045888d3bb9605\r
+TEST= 45\r
+KEY=  0000000000080000000000000000000000000000000000000000000000000000\r
+CT=   476b579c8556c7254424902cc1d6d36e\r
+TEST= 46\r
+KEY=  0000000000040000000000000000000000000000000000000000000000000000\r
+CT=   4133cbcdfdd6b8860a1fc18665d6d71b\r
+TEST= 47\r
+KEY=  0000000000020000000000000000000000000000000000000000000000000000\r
+CT=   3b36ec2664798c108b816812c65dfdc7\r
+TEST= 48\r
+KEY=  0000000000010000000000000000000000000000000000000000000000000000\r
+CT=   364e20a234fea385d48dc5a09c9e70cf\r
+TEST= 49\r
+KEY=  0000000000008000000000000000000000000000000000000000000000000000\r
+CT=   4a4ba25969de3f5ee5642c71aad0efd1\r
+TEST= 50\r
+KEY=  0000000000004000000000000000000000000000000000000000000000000000\r
+CT=   e42cbaae43297f67a76c1c501bb79e36\r
+TEST= 51\r
+KEY=  0000000000002000000000000000000000000000000000000000000000000000\r
+CT=   23cededa4c15b4c037e8c61492217937\r
+TEST= 52\r
+KEY=  0000000000001000000000000000000000000000000000000000000000000000\r
+CT=   a1719147a1f4a1a1180bd16e8593dcde\r
+TEST= 53\r
+KEY=  0000000000000800000000000000000000000000000000000000000000000000\r
+CT=   ab82337e9fb0ec60d1f25a1d0014192c\r
+TEST= 54\r
+KEY=  0000000000000400000000000000000000000000000000000000000000000000\r
+CT=   74bf2d8fc5a8388df1a3a4d7d33fc164\r
+TEST= 55\r
+KEY=  0000000000000200000000000000000000000000000000000000000000000000\r
+CT=   d5b493317e6fbc6fffd664b3c491368a\r
+TEST= 56\r
+KEY=  0000000000000100000000000000000000000000000000000000000000000000\r
+CT=   ba767381586da56a2a8d503d5f7ada0b\r
+TEST= 57\r
+KEY=  0000000000000080000000000000000000000000000000000000000000000000\r
+CT=   e8e6bc57dfe9ccadb0decabf4e5cf91f\r
+TEST= 58\r
+KEY=  0000000000000040000000000000000000000000000000000000000000000000\r
+CT=   3c8e5a5cdc9ceed90815d1f84bb2998c\r
+TEST= 59\r
+KEY=  0000000000000020000000000000000000000000000000000000000000000000\r
+CT=   283843020ba38f056001b2fd585f7cc9\r
+TEST= 60\r
+KEY=  0000000000000010000000000000000000000000000000000000000000000000\r
+CT=   d8adc7426f623ece8741a70621d28870\r
+TEST= 61\r
+KEY=  0000000000000008000000000000000000000000000000000000000000000000\r
+CT=   d7c5c215592d06f00e6a80da69a28ea9\r
+TEST= 62\r
+KEY=  0000000000000004000000000000000000000000000000000000000000000000\r
+CT=   52cf6fa433c3c870cac70190358f7f16\r
+TEST= 63\r
+KEY=  0000000000000002000000000000000000000000000000000000000000000000\r
+CT=   f63d442a584da71786adec9f3346df75\r
+TEST= 64\r
+KEY=  0000000000000001000000000000000000000000000000000000000000000000\r
+CT=   549078f4b0ca7079b45f9a5adafafd99\r
+TEST= 65\r
+KEY=  0000000000000000800000000000000000000000000000000000000000000000\r
+CT=   f2a5986ee4e9984be2bafb79ea8152fa\r
+TEST= 66\r
+KEY=  0000000000000000400000000000000000000000000000000000000000000000\r
+CT=   8a74535017b4db2776668a1fae64384c\r
+TEST= 67\r
+KEY=  0000000000000000200000000000000000000000000000000000000000000000\r
+CT=   e613342f57a97fd95dc088711a5d0ecd\r
+TEST= 68\r
+KEY=  0000000000000000100000000000000000000000000000000000000000000000\r
+CT=   3ffaebf6b22cf1dc82ae17cd48175b01\r
+TEST= 69\r
+KEY=  0000000000000000080000000000000000000000000000000000000000000000\r
+CT=   bafd52efa15c248ccbf9757735e6b1ce\r
+TEST= 70\r
+KEY=  0000000000000000040000000000000000000000000000000000000000000000\r
+CT=   7af94bc018d9ddd4539d2dd1c6f4000f\r
+TEST= 71\r
+KEY=  0000000000000000020000000000000000000000000000000000000000000000\r
+CT=   fe177ad61ca0fdb281086fba8fe76803\r
+TEST= 72\r
+KEY=  0000000000000000010000000000000000000000000000000000000000000000\r
+CT=   74dbea15e2e9285bad163d7d534251b6\r
+TEST= 73\r
+KEY=  0000000000000000008000000000000000000000000000000000000000000000\r
+CT=   23dd21331b3a92f200fe56ff050ffe74\r
+TEST= 74\r
+KEY=  0000000000000000004000000000000000000000000000000000000000000000\r
+CT=   a69c5aa34ab20a858cafa766eaced6d8\r
+TEST= 75\r
+KEY=  0000000000000000002000000000000000000000000000000000000000000000\r
+CT=   3f72bb4df2a4f941a4a09cb78f04b97a\r
+TEST= 76\r
+KEY=  0000000000000000001000000000000000000000000000000000000000000000\r
+CT=   72cc43577e1fd5fd14622d24d97fcdcc\r
+TEST= 77\r
+KEY=  0000000000000000000800000000000000000000000000000000000000000000\r
+CT=   d83af8ebe93e0b6b99cafade224937d1\r
+TEST= 78\r
+KEY=  0000000000000000000400000000000000000000000000000000000000000000\r
+CT=   44042329128d56caa8d084c8bd769d1e\r
+TEST= 79\r
+KEY=  0000000000000000000200000000000000000000000000000000000000000000\r
+CT=   14102d72290de4f2c430add1ed64ba1d\r
+TEST= 80\r
+KEY=  0000000000000000000100000000000000000000000000000000000000000000\r
+CT=   449124097b1ecd0ae7065206df06f03c\r
+TEST= 81\r
+KEY=  0000000000000000000080000000000000000000000000000000000000000000\r
+CT=   d060a99f8cc153a42e11e5f97bd7584a\r
+TEST= 82\r
+KEY=  0000000000000000000040000000000000000000000000000000000000000000\r
+CT=   65605b3ea9261488d53e48602adea299\r
+TEST= 83\r
+KEY=  0000000000000000000020000000000000000000000000000000000000000000\r
+CT=   c5e5cad7a208de8ea6be049efe5c7346\r
+TEST= 84\r
+KEY=  0000000000000000000010000000000000000000000000000000000000000000\r
+CT=   4c280c46d2181646048dd5bc0c0831a5\r
+TEST= 85\r
+KEY=  0000000000000000000008000000000000000000000000000000000000000000\r
+CT=   5dd65cf37f2a0929559aabafda08e730\r
+TEST= 86\r
+KEY=  0000000000000000000004000000000000000000000000000000000000000000\r
+CT=   31f2335caaf264172f69a693225e6d22\r
+TEST= 87\r
+KEY=  0000000000000000000002000000000000000000000000000000000000000000\r
+CT=   3e28b35f99a72662590da96426dd377f\r
+TEST= 88\r
+KEY=  0000000000000000000001000000000000000000000000000000000000000000\r
+CT=   570f40f5d7b20441486578ed344343be\r
+TEST= 89\r
+KEY=  0000000000000000000000800000000000000000000000000000000000000000\r
+CT=   c54308ad1c9e3b19f8b7417873045a8c\r
+TEST= 90\r
+KEY=  0000000000000000000000400000000000000000000000000000000000000000\r
+CT=   cbf335e39ce13ade2b696179e8fd0ce1\r
+TEST= 91\r
+KEY=  0000000000000000000000200000000000000000000000000000000000000000\r
+CT=   9c2fbf422355d8293083d51f4a3c18a9\r
+TEST= 92\r
+KEY=  0000000000000000000000100000000000000000000000000000000000000000\r
+CT=   5ed8b5a31ecefab16c9aa6986da67bce\r
+TEST= 93\r
+KEY=  0000000000000000000000080000000000000000000000000000000000000000\r
+CT=   627815dcfc814abc75900041b1dd7b59\r
+TEST= 94\r
+KEY=  0000000000000000000000040000000000000000000000000000000000000000\r
+CT=   9ef3e82a50a59f166260494f7a7f2cc3\r
+TEST= 95\r
+KEY=  0000000000000000000000020000000000000000000000000000000000000000\r
+CT=   878cd0d8d920888b5935d6c351128737\r
+TEST= 96\r
+KEY=  0000000000000000000000010000000000000000000000000000000000000000\r
+CT=   e44429474d6fc3084eb2a6b8b46af754\r
+TEST= 97\r
+KEY=  0000000000000000000000008000000000000000000000000000000000000000\r
+CT=   ebaacf9641d54e1fb18d0a2be4f19be5\r
+TEST= 98\r
+KEY=  0000000000000000000000004000000000000000000000000000000000000000\r
+CT=   13b3bf497cee780e123c7e193dea3a01\r
+TEST= 99\r
+KEY=  0000000000000000000000002000000000000000000000000000000000000000\r
+CT=   6e8f381de00a41161f0df03b4155bfd4\r
+TEST= 100\r
+KEY=  0000000000000000000000001000000000000000000000000000000000000000\r
+CT=   35e4f29bba2bae01144910783c3fef49\r
+TEST= 101\r
+KEY=  0000000000000000000000000800000000000000000000000000000000000000\r
+CT=   55b17bd66788ceac366398a31f289ffb\r
+TEST= 102\r
+KEY=  0000000000000000000000000400000000000000000000000000000000000000\r
+CT=   11341f56c0d6d1008d28741daa7679ce\r
+TEST= 103\r
+KEY=  0000000000000000000000000200000000000000000000000000000000000000\r
+CT=   4df7253df421d83358bdbe924745d98c\r
+TEST= 104\r
+KEY=  0000000000000000000000000100000000000000000000000000000000000000\r
+CT=   bae2ee651116d93edc8e83b5f3347be1\r
+TEST= 105\r
+KEY=  0000000000000000000000000080000000000000000000000000000000000000\r
+CT=   f9721abd06709157183af3965a659d9d\r
+TEST= 106\r
+KEY=  0000000000000000000000000040000000000000000000000000000000000000\r
+CT=   19a1c252a613fe2860a4ae6d75ce6fa3\r
+TEST= 107\r
+KEY=  0000000000000000000000000020000000000000000000000000000000000000\r
+CT=   b5ddb2f5d9752c949fbde3fff5556c6e\r
+TEST= 108\r
+KEY=  0000000000000000000000000010000000000000000000000000000000000000\r
+CT=   81b044fcffc78eccfcd171aad0405c66\r
+TEST= 109\r
+KEY=  0000000000000000000000000008000000000000000000000000000000000000\r
+CT=   c640566d3c06020eb2c42f1d62e56a9b\r
+TEST= 110\r
+KEY=  0000000000000000000000000004000000000000000000000000000000000000\r
+CT=   ea6c4bcf425291679fdffd26a424fbcc\r
+TEST= 111\r
+KEY=  0000000000000000000000000002000000000000000000000000000000000000\r
+CT=   57f6901465d9440d9f15ee2cba5a4090\r
+TEST= 112\r
+KEY=  0000000000000000000000000001000000000000000000000000000000000000\r
+CT=   fbcfa74cadc7406260f63d96c8aab6b1\r
+TEST= 113\r
+KEY=  0000000000000000000000000000800000000000000000000000000000000000\r
+CT=   dff4f096cea211d4bbdaca033d0ec7d1\r
+TEST= 114\r
+KEY=  0000000000000000000000000000400000000000000000000000000000000000\r
+CT=   1ee5190d551f0f42f675227a381296a9\r
+TEST= 115\r
+KEY=  0000000000000000000000000000200000000000000000000000000000000000\r
+CT=   f98e1905012e580f097623c10b93054f\r
+TEST= 116\r
+KEY=  0000000000000000000000000000100000000000000000000000000000000000\r
+CT=   e7d43743d21dd3c9f168c86856558b9a\r
+TEST= 117\r
+KEY=  0000000000000000000000000000080000000000000000000000000000000000\r
+CT=   632a9dda730dab67593c5d08d8ac1059\r
+TEST= 118\r
+KEY=  0000000000000000000000000000040000000000000000000000000000000000\r
+CT=   e084317000715b9057bc9de9f3ab6124\r
+TEST= 119\r
+KEY=  0000000000000000000000000000020000000000000000000000000000000000\r
+CT=   61f9ef33a0bb4e666c2ed99101919fab\r
+TEST= 120\r
+KEY=  0000000000000000000000000000010000000000000000000000000000000000\r
+CT=   6dc1d68a11834657d46703c22578d59a\r
+TEST= 121\r
+KEY=  0000000000000000000000000000008000000000000000000000000000000000\r
+CT=   53ac1548863d3d16f1d4dc7242e05f2c\r
+TEST= 122\r
+KEY=  0000000000000000000000000000004000000000000000000000000000000000\r
+CT=   e82cd587a408306ad78ceae0916b9f8c\r
+TEST= 123\r
+KEY=  0000000000000000000000000000002000000000000000000000000000000000\r
+CT=   0fd2d40ea6ad17a3a767f0a8600d6295\r
+TEST= 124\r
+KEY=  0000000000000000000000000000001000000000000000000000000000000000\r
+CT=   ad84cc8255adb39dfca23f92761ae7e9\r
+TEST= 125\r
+KEY=  0000000000000000000000000000000800000000000000000000000000000000\r
+CT=   f4f20cf7d51bee7da024a2b11a7eca0b\r
+TEST= 126\r
+KEY=  0000000000000000000000000000000400000000000000000000000000000000\r
+CT=   5057691b85d9ce93a193214db0a016b6\r
+TEST= 127\r
+KEY=  0000000000000000000000000000000200000000000000000000000000000000\r
+CT=   0f58c960876390bdef4bb6be95caa1ee\r
+TEST= 128\r
+KEY=  0000000000000000000000000000000100000000000000000000000000000000\r
+CT=   9a3e66eebc21bc0bd9430b341ef465fa\r
+TEST= 129\r
+KEY=  0000000000000000000000000000000080000000000000000000000000000000\r
+CT=   20415035f34b8bcbcb28abf07f78f0d4\r
+TEST= 130\r
+KEY=  0000000000000000000000000000000040000000000000000000000000000000\r
+CT=   ac89fc7ba10479ebf10de65bcef89b3c\r
+TEST= 131\r
+KEY=  0000000000000000000000000000000020000000000000000000000000000000\r
+CT=   068fa75a30be443171af3f6feb1a20d2\r
+TEST= 132\r
+KEY=  0000000000000000000000000000000010000000000000000000000000000000\r
+CT=   50e02f213246c525a8c27700ca34b502\r
+TEST= 133\r
+KEY=  0000000000000000000000000000000008000000000000000000000000000000\r
+CT=   227da47d5a0906db3ab042bb0a695fb6\r
+TEST= 134\r
+KEY=  0000000000000000000000000000000004000000000000000000000000000000\r
+CT=   8663ac30ed12514f1de46777f4514bfc\r
+TEST= 135\r
+KEY=  0000000000000000000000000000000002000000000000000000000000000000\r
+CT=   a987d4bc12e1de9f4b6df43567c34a8b\r
+TEST= 136\r
+KEY=  0000000000000000000000000000000001000000000000000000000000000000\r
+CT=   6d5a0370f599aca605f63b04e5143d0c\r
+TEST= 137\r
+KEY=  0000000000000000000000000000000000800000000000000000000000000000\r
+CT=   9809266e378b07b7afdb3baa97b7e442\r
+TEST= 138\r
+KEY=  0000000000000000000000000000000000400000000000000000000000000000\r
+CT=   8f753252b30cccace12d9a301f4d5090\r
+TEST= 139\r
+KEY=  0000000000000000000000000000000000200000000000000000000000000000\r
+CT=   032465f6c0ce34d41962f561692a1aff\r
+TEST= 140\r
+KEY=  0000000000000000000000000000000000100000000000000000000000000000\r
+CT=   c50e9ad5beb8f3b00821dd47ff8ac093\r
+TEST= 141\r
+KEY=  0000000000000000000000000000000000080000000000000000000000000000\r
+CT=   9c6fea3d46268d54a6829b2ad25bb276\r
+TEST= 142\r
+KEY=  0000000000000000000000000000000000040000000000000000000000000000\r
+CT=   0fd8575e87706f561343d7b3a41e044a\r
+TEST= 143\r
+KEY=  0000000000000000000000000000000000020000000000000000000000000000\r
+CT=   bee9beb3739540d88cbce77925f0a114\r
+TEST= 144\r
+KEY=  0000000000000000000000000000000000010000000000000000000000000000\r
+CT=   d24eaee7fffbac3d6f26c2dce0dcde28\r
+TEST= 145\r
+KEY=  0000000000000000000000000000000000008000000000000000000000000000\r
+CT=   47771a90398ff0f7fa821c2f8f5e1398\r
+TEST= 146\r
+KEY=  0000000000000000000000000000000000004000000000000000000000000000\r
+CT=   4639741b6f84b135ad118c8249b64ed0\r
+TEST= 147\r
+KEY=  0000000000000000000000000000000000002000000000000000000000000000\r
+CT=   8ee5505ec85567697a3306f250a27720\r
+TEST= 148\r
+KEY=  0000000000000000000000000000000000001000000000000000000000000000\r
+CT=   7c8a19ac1aefbc5e0119d91a5f05d4c2\r
+TEST= 149\r
+KEY=  0000000000000000000000000000000000000800000000000000000000000000\r
+CT=   5141b9b672e54773b672e3a6c424887b\r
+TEST= 150\r
+KEY=  0000000000000000000000000000000000000400000000000000000000000000\r
+CT=   b5a2d3cd206653c6402f34fb0ae3613d\r
+TEST= 151\r
+KEY=  0000000000000000000000000000000000000200000000000000000000000000\r
+CT=   0f5bd9408738231d114b0a82753279a3\r
+TEST= 152\r
+KEY=  0000000000000000000000000000000000000100000000000000000000000000\r
+CT=   fef033ff4268ea487fc74c5e43a45338\r
+TEST= 153\r
+KEY=  0000000000000000000000000000000000000080000000000000000000000000\r
+CT=   a3edc09dcd529b113910d904ad855581\r
+TEST= 154\r
+KEY=  0000000000000000000000000000000000000040000000000000000000000000\r
+CT=   ab8fbb6f27a0ac7c55b59fdd36b72f1c\r
+TEST= 155\r
+KEY=  0000000000000000000000000000000000000020000000000000000000000000\r
+CT=   eea44d5ed4d769cc930cd83d8999ec46\r
+TEST= 156\r
+KEY=  0000000000000000000000000000000000000010000000000000000000000000\r
+CT=   6972276803ae9aa7c6f431ab10979c34\r
+TEST= 157\r
+KEY=  0000000000000000000000000000000000000008000000000000000000000000\r
+CT=   86deaa9f39244101818178474d7dbde9\r
+TEST= 158\r
+KEY=  0000000000000000000000000000000000000004000000000000000000000000\r
+CT=   88c6b466ea361d662d8d08cbf181f4fe\r
+TEST= 159\r
+KEY=  0000000000000000000000000000000000000002000000000000000000000000\r
+CT=   91ab2c6b7c63ff59f7cbeebf91b20b95\r
+TEST= 160\r
+KEY=  0000000000000000000000000000000000000001000000000000000000000000\r
+CT=   2dfe6c146ad5b3d8c3c1718f13b48e01\r
+TEST= 161\r
+KEY=  0000000000000000000000000000000000000000800000000000000000000000\r
+CT=   c7cff1623451711391a302eec3584aaa\r
+TEST= 162\r
+KEY=  0000000000000000000000000000000000000000400000000000000000000000\r
+CT=   089fe845cc05011686c66019d18be050\r
+TEST= 163\r
+KEY=  0000000000000000000000000000000000000000200000000000000000000000\r
+CT=   08c8410b9b427211a67124b0dccead48\r
+TEST= 164\r
+KEY=  0000000000000000000000000000000000000000100000000000000000000000\r
+CT=   8d91592f5566085254784606334d7629\r
+TEST= 165\r
+KEY=  0000000000000000000000000000000000000000080000000000000000000000\r
+CT=   3298feaaf2e1201d6299ff8846639c97\r
+TEST= 166\r
+KEY=  0000000000000000000000000000000000000000040000000000000000000000\r
+CT=   c497cb9f0bdfe0efc8c2f3f90760aa72\r
+TEST= 167\r
+KEY=  0000000000000000000000000000000000000000020000000000000000000000\r
+CT=   2788afd046e0309cbe4424690da2ab89\r
+TEST= 168\r
+KEY=  0000000000000000000000000000000000000000010000000000000000000000\r
+CT=   e9891707f25ef29fee372890d4258982\r
+TEST= 169\r
+KEY=  0000000000000000000000000000000000000000008000000000000000000000\r
+CT=   db041d94a23d45d4d4dced5a030caf61\r
+TEST= 170\r
+KEY=  0000000000000000000000000000000000000000004000000000000000000000\r
+CT=   ffafdbf0ecb18df9ea02c27077448e6d\r
+TEST= 171\r
+KEY=  0000000000000000000000000000000000000000002000000000000000000000\r
+CT=   2daaa42a7d0a1d3b0e4761d99cf2150a\r
+TEST= 172\r
+KEY=  0000000000000000000000000000000000000000001000000000000000000000\r
+CT=   3b7a54cb7cf30abe263dd6ed5bfe8d63\r
+TEST= 173\r
+KEY=  0000000000000000000000000000000000000000000800000000000000000000\r
+CT=   eefa090174c590c448a55d43648f534a\r
+TEST= 174\r
+KEY=  0000000000000000000000000000000000000000000400000000000000000000\r
+CT=   9e15798731ed42f43ea2740a691da872\r
+TEST= 175\r
+KEY=  0000000000000000000000000000000000000000000200000000000000000000\r
+CT=   31fbd661540a5deaad1017cfd3909ec8\r
+TEST= 176\r
+KEY=  0000000000000000000000000000000000000000000100000000000000000000\r
+CT=   cda9ae05f224140e28cb951721b44d6a\r
+TEST= 177\r
+KEY=  0000000000000000000000000000000000000000000080000000000000000000\r
+CT=   0c5bc512c60a1eac3434efb1a8fbb182\r
+TEST= 178\r
+KEY=  0000000000000000000000000000000000000000000040000000000000000000\r
+CT=   aa863610deeeeb62d045e87ea30b59b5\r
+TEST= 179\r
+KEY=  0000000000000000000000000000000000000000000020000000000000000000\r
+CT=   6ac2448de568d279c7eebe1df403920c\r
+TEST= 180\r
+KEY=  0000000000000000000000000000000000000000000010000000000000000000\r
+CT=   e2011e3d292b26888ae801215fd0cb40\r
+TEST= 181\r
+KEY=  0000000000000000000000000000000000000000000008000000000000000000\r
+CT=   e06f3e15ee3a61672d1c99bade5b9dbe\r
+TEST= 182\r
+KEY=  0000000000000000000000000000000000000000000004000000000000000000\r
+CT=   bb7027f0548cf6712ceb4c7a4b28e178\r
+TEST= 183\r
+KEY=  0000000000000000000000000000000000000000000002000000000000000000\r
+CT=   061ec21fb70fadbdf87c3bd2ae23825b\r
+TEST= 184\r
+KEY=  0000000000000000000000000000000000000000000001000000000000000000\r
+CT=   4c21f26fe94abbac381352375314c3eb\r
+TEST= 185\r
+KEY=  0000000000000000000000000000000000000000000000800000000000000000\r
+CT=   f7cee6dd99909c2b569eeda61ed8942e\r
+TEST= 186\r
+KEY=  0000000000000000000000000000000000000000000000400000000000000000\r
+CT=   ce98c4a876c65e4ccb261ebb1d9df7f5\r
+TEST= 187\r
+KEY=  0000000000000000000000000000000000000000000000200000000000000000\r
+CT=   a5491881cf833c3604abc08044f402ac\r
+TEST= 188\r
+KEY=  0000000000000000000000000000000000000000000000100000000000000000\r
+CT=   a1ba16e64cccb3087d57a768507b0bfc\r
+TEST= 189\r
+KEY=  0000000000000000000000000000000000000000000000080000000000000000\r
+CT=   d55951e202d2949ebd3be43120c738bf\r
+TEST= 190\r
+KEY=  0000000000000000000000000000000000000000000000040000000000000000\r
+CT=   ebb8e43069e69f450efec65dcd52b7fd\r
+TEST= 191\r
+KEY=  0000000000000000000000000000000000000000000000020000000000000000\r
+CT=   2b292135663b4aa5abfe9423d57e7ee9\r
+TEST= 192\r
+KEY=  0000000000000000000000000000000000000000000000010000000000000000\r
+CT=   e91bf974b3be3ad966249d8655292a85\r
+TEST= 193\r
+KEY=  0000000000000000000000000000000000000000000000008000000000000000\r
+CT=   384365998eaa9562236cc58f6adf9610\r
+TEST= 194\r
+KEY=  0000000000000000000000000000000000000000000000004000000000000000\r
+CT=   c2e997012aa3d4d8d359c9a947cbe69f\r
+TEST= 195\r
+KEY=  0000000000000000000000000000000000000000000000002000000000000000\r
+CT=   f49421204148ba213be87e2d5c22b0bf\r
+TEST= 196\r
+KEY=  0000000000000000000000000000000000000000000000001000000000000000\r
+CT=   82ed0ed9953aa92e4df30929ca65c00f\r
+TEST= 197\r
+KEY=  0000000000000000000000000000000000000000000000000800000000000000\r
+CT=   291eb1d11653c8479437c74a977f5106\r
+TEST= 198\r
+KEY=  0000000000000000000000000000000000000000000000000400000000000000\r
+CT=   bcb997b1939b8983abd550d6025683e3\r
+TEST= 199\r
+KEY=  0000000000000000000000000000000000000000000000000200000000000000\r
+CT=   1fba2592c6f489775caada71f9b983e9\r
+TEST= 200\r
+KEY=  0000000000000000000000000000000000000000000000000100000000000000\r
+CT=   969f66f217af1a3db9e41c1b29039824\r
+TEST= 201\r
+KEY=  0000000000000000000000000000000000000000000000000080000000000000\r
+CT=   a54bb7d6b17e423ac0a7744c19073cb8\r
+TEST= 202\r
+KEY=  0000000000000000000000000000000000000000000000000040000000000000\r
+CT=   b0ac6e6578d1021f47dcf9748a32ead5\r
+TEST= 203\r
+KEY=  0000000000000000000000000000000000000000000000000020000000000000\r
+CT=   b87b361c3b7b194c77a4358d4669153e\r
+TEST= 204\r
+KEY=  0000000000000000000000000000000000000000000000000010000000000000\r
+CT=   46a133847f96eaa8282a799dc8899d58\r
+TEST= 205\r
+KEY=  0000000000000000000000000000000000000000000000000008000000000000\r
+CT=   2265ec3a9f2d5c9547a091cc8cfb18ea\r
+TEST= 206\r
+KEY=  0000000000000000000000000000000000000000000000000004000000000000\r
+CT=   54cbf3a6fc4fe56d426117aa1ffd1dde\r
+TEST= 207\r
+KEY=  0000000000000000000000000000000000000000000000000002000000000000\r
+CT=   5312877cceab6cfb0905394a370a8003\r
+TEST= 208\r
+KEY=  0000000000000000000000000000000000000000000000000001000000000000\r
+CT=   7190bd6ec613fe38b84ecfe28f702fe4\r
+TEST= 209\r
+KEY=  0000000000000000000000000000000000000000000000000000800000000000\r
+CT=   d1fa5b9ca89a43b04c05f0ef29ef68cd\r
+TEST= 210\r
+KEY=  0000000000000000000000000000000000000000000000000000400000000000\r
+CT=   808285751548ed934fd1056d2d9ae8ba\r
+TEST= 211\r
+KEY=  0000000000000000000000000000000000000000000000000000200000000000\r
+CT=   2758def3e7b95a9ae89777be64d5a6cf\r
+TEST= 212\r
+KEY=  0000000000000000000000000000000000000000000000000000100000000000\r
+CT=   07d81f87db3e0acc82b01e08fb22f3c1\r
+TEST= 213\r
+KEY=  0000000000000000000000000000000000000000000000000000080000000000\r
+CT=   8da250e5553d650711a75ee1cb4fd1c7\r
+TEST= 214\r
+KEY=  0000000000000000000000000000000000000000000000000000040000000000\r
+CT=   a93d946bd0e87f32719df5f158cee669\r
+TEST= 215\r
+KEY=  0000000000000000000000000000000000000000000000000000020000000000\r
+CT=   03945236ec2a4d4eaf30b8abeb54330d\r
+TEST= 216\r
+KEY=  0000000000000000000000000000000000000000000000000000010000000000\r
+CT=   11cc35301f24b79dde31aea2d1354f88\r
+TEST= 217\r
+KEY=  0000000000000000000000000000000000000000000000000000008000000000\r
+CT=   e73715b3e8d9a290f44ae6ffbf247e5d\r
+TEST= 218\r
+KEY=  0000000000000000000000000000000000000000000000000000004000000000\r
+CT=   7345e07732b71cb158bbf64cca5c5b96\r
+TEST= 219\r
+KEY=  0000000000000000000000000000000000000000000000000000002000000000\r
+CT=   6e128f296d24705a1924fd9b70c4ed04\r
+TEST= 220\r
+KEY=  0000000000000000000000000000000000000000000000000000001000000000\r
+CT=   95a789776f036783fbd330947083f54f\r
+TEST= 221\r
+KEY=  0000000000000000000000000000000000000000000000000000000800000000\r
+CT=   360dec2533ea4aa2e3e54fd3de2906eb\r
+TEST= 222\r
+KEY=  0000000000000000000000000000000000000000000000000000000400000000\r
+CT=   e68efd7fecf4d601ea22727bd764965b\r
+TEST= 223\r
+KEY=  0000000000000000000000000000000000000000000000000000000200000000\r
+CT=   9065c64a8bff44ac33edbb611cf83d7b\r
+TEST= 224\r
+KEY=  0000000000000000000000000000000000000000000000000000000100000000\r
+CT=   8f33c8df2a7a51ce8090e8f123bc3723\r
+TEST= 225\r
+KEY=  0000000000000000000000000000000000000000000000000000000080000000\r
+CT=   807f391ffba8291ba625623210f99018\r
+TEST= 226\r
+KEY=  0000000000000000000000000000000000000000000000000000000040000000\r
+CT=   5e8b3f3a701522ce5caa761c929d6292\r
+TEST= 227\r
+KEY=  0000000000000000000000000000000000000000000000000000000020000000\r
+CT=   3ba404dc38735a78289e3809e8364835\r
+TEST= 228\r
+KEY=  0000000000000000000000000000000000000000000000000000000010000000\r
+CT=   d23bedbad229f8305dc425b6b759dcc9\r
+TEST= 229\r
+KEY=  0000000000000000000000000000000000000000000000000000000008000000\r
+CT=   44880f21cf5913040ae376aee2a10ad8\r
+TEST= 230\r
+KEY=  0000000000000000000000000000000000000000000000000000000004000000\r
+CT=   9bc98e29d057c0e828c3b5cce69256c1\r
+TEST= 231\r
+KEY=  0000000000000000000000000000000000000000000000000000000002000000\r
+CT=   b293cc7a975da141a68279368057cc41\r
+TEST= 232\r
+KEY=  0000000000000000000000000000000000000000000000000000000001000000\r
+CT=   8d60fb87acd91385b313be5f1d7bd30f\r
+TEST= 233\r
+KEY=  0000000000000000000000000000000000000000000000000000000000800000\r
+CT=   2c8e56132d70291b303c48fdf75543cd\r
+TEST= 234\r
+KEY=  0000000000000000000000000000000000000000000000000000000000400000\r
+CT=   d1f80035b826791f6ce4e59b7db1bb0d\r
+TEST= 235\r
+KEY=  0000000000000000000000000000000000000000000000000000000000200000\r
+CT=   42ce6224fc36469339a133dd08173bd4\r
+TEST= 236\r
+KEY=  0000000000000000000000000000000000000000000000000000000000100000\r
+CT=   61817155ea41bcba2af7f06ae7cbf585\r
+TEST= 237\r
+KEY=  0000000000000000000000000000000000000000000000000000000000080000\r
+CT=   d1923a9866068d2ef5fb77d57c3315b6\r
+TEST= 238\r
+KEY=  0000000000000000000000000000000000000000000000000000000000040000\r
+CT=   b37cbdb5d719f49691ca968ef2e84140\r
+TEST= 239\r
+KEY=  0000000000000000000000000000000000000000000000000000000000020000\r
+CT=   ec974e653a055d7f8f22171030f68e1d\r
+TEST= 240\r
+KEY=  0000000000000000000000000000000000000000000000000000000000010000\r
+CT=   dde5d3b9aad9c32213bb3675a822499c\r
+TEST= 241\r
+KEY=  0000000000000000000000000000000000000000000000000000000000008000\r
+CT=   d3b6e9216ea1ae57eb1c628a3c38ab78\r
+TEST= 242\r
+KEY=  0000000000000000000000000000000000000000000000000000000000004000\r
+CT=   82c99ecc69472b7e96324b042ae8b87a\r
+TEST= 243\r
+KEY=  0000000000000000000000000000000000000000000000000000000000002000\r
+CT=   97144dc5338c43600f84439c0aa0d147\r
+TEST= 244\r
+KEY=  0000000000000000000000000000000000000000000000000000000000001000\r
+CT=   400ac4a0bbada1db2121eb144c7e5209\r
+TEST= 245\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000800\r
+CT=   efd9d550eb419ed278f4885a490ab54c\r
+TEST= 246\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000400\r
+CT=   2ab7816e149b7c0404c88a8857793670\r
+TEST= 247\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000200\r
+CT=   5b591dff9e8dee15bad24c025dbca481\r
+TEST= 248\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000100\r
+CT=   0c06633e30721c3749f49ad8cbf2b754\r
+TEST= 249\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000080\r
+CT=   96d6d31a41b5123b2035fd91a921d4ca\r
+TEST= 250\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000040\r
+CT=   e7f6c34d86668bc2805ca7793c5e86ad\r
+TEST= 251\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000020\r
+CT=   f46dff5ff500d6879c4d3e45cf0cf0f3\r
+TEST= 252\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000010\r
+CT=   60d842d9c61da7495c116197b7cecbbe\r
+TEST= 253\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000008\r
+CT=   d45b24edb673353ebdf248b8fa06b67a\r
+TEST= 254\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000004\r
+CT=   119eaebcc165d0bd02c0d35dc82ef992\r
+TEST= 255\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000002\r
+CT=   e673143680414ada301d0ed34626b9fe\r
+TEST= 256\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000001\r
+CT=   6b6cfe160a6263631b292f879eeff926\r
diff --git a/test/crypto/aes/ecbvt44.txt b/test/crypto/aes/ecbvt44.txt
new file mode 100644 (file)
index 0000000..d9e866b
--- /dev/null
@@ -0,0 +1,398 @@
+==============================================\r
+Author:    Dr B R Gladman (                  )\r
+Test:      ECB Variable Text Known Answer Tests\r
+Algorithm: Extended Rijndael (an AES Superset)\r
+Filename:  ecbvt44.txt\r
+==============================================\r
+\r
+BLOCKSIZE=128\r
+KEYSIZE=  128\r
+\r
+KEY=  00000000000000000000000000000000\r
+TEST= 0\r
+PT=   00000000000000000000000000000000\r
+CT=   66e94bd4ef8a2c3b884cfa59ca342b2e\r
+TEST= 1\r
+PT=   80000000000000000000000000000000\r
+CT=   3ad78e726c1ec02b7ebfe92b23d9ec34\r
+TEST= 2\r
+PT=   40000000000000000000000000000000\r
+CT=   45bc707d29e8204d88dfba2f0b0cad9b\r
+TEST= 3\r
+PT=   20000000000000000000000000000000\r
+CT=   161556838018f52805cdbd6202002e3f\r
+TEST= 4\r
+PT=   10000000000000000000000000000000\r
+CT=   f5569b3ab6a6d11efde1bf0a64c6854a\r
+TEST= 5\r
+PT=   08000000000000000000000000000000\r
+CT=   64e82b50e501fbd7dd4116921159b83e\r
+TEST= 6\r
+PT=   04000000000000000000000000000000\r
+CT=   baac12fb613a7de11450375c74034041\r
+TEST= 7\r
+PT=   02000000000000000000000000000000\r
+CT=   bcf176a7eaad8085ebacea362462a281\r
+TEST= 8\r
+PT=   01000000000000000000000000000000\r
+CT=   47711816e91d6ff059bbbf2bf58e0fd3\r
+TEST= 9\r
+PT=   00800000000000000000000000000000\r
+CT=   b970dfbe40698af1638fe38bd3df3b2f\r
+TEST= 10\r
+PT=   00400000000000000000000000000000\r
+CT=   f95b59a44f391e14cf20b74bdc32fcff\r
+TEST= 11\r
+PT=   00200000000000000000000000000000\r
+CT=   720f74ae04a2a435b9a7256e49378f5b\r
+TEST= 12\r
+PT=   00100000000000000000000000000000\r
+CT=   2a0445f61d36bfa7e277070730cf76da\r
+TEST= 13\r
+PT=   00080000000000000000000000000000\r
+CT=   8d0536b997aefec1d94011bab6699a03\r
+TEST= 14\r
+PT=   00040000000000000000000000000000\r
+CT=   674f002e19f6ed47eff319e51fad4498\r
+TEST= 15\r
+PT=   00020000000000000000000000000000\r
+CT=   292c02c5cb9163c80ac0f6cf1dd8e92d\r
+TEST= 16\r
+PT=   00010000000000000000000000000000\r
+CT=   fa321cf18ef5fe727dd82a5c1e945141\r
+TEST= 17\r
+PT=   00008000000000000000000000000000\r
+CT=   a5a7afe1034c39cccebe3c584bc0be05\r
+TEST= 18\r
+PT=   00004000000000000000000000000000\r
+CT=   4ff5a52e697e77d081205dbdb21cea39\r
+TEST= 19\r
+PT=   00002000000000000000000000000000\r
+CT=   209e88dc94c9003000ce0769af7b7166\r
+TEST= 20\r
+PT=   00001000000000000000000000000000\r
+CT=   5dee41af864cb4b650e5f51551824d38\r
+TEST= 21\r
+PT=   00000800000000000000000000000000\r
+CT=   a79a63fa7e4503ae6d6e09f5f9053030\r
+TEST= 22\r
+PT=   00000400000000000000000000000000\r
+CT=   a48316749fae7fac7002031a6afd8ba7\r
+TEST= 23\r
+PT=   00000200000000000000000000000000\r
+CT=   d6eee8a7357a0e1d64262ca9c337ac42\r
+TEST= 24\r
+PT=   00000100000000000000000000000000\r
+CT=   b013ca8a62a858053e9fb667ed39829e\r
+TEST= 25\r
+PT=   00000080000000000000000000000000\r
+CT=   df6ea9e4538a45a52d5c1a43c88f4b55\r
+TEST= 26\r
+PT=   00000040000000000000000000000000\r
+CT=   7d03ba451371591d3fd5547d9165c73b\r
+TEST= 27\r
+PT=   00000020000000000000000000000000\r
+CT=   0e0426281a6277e186499d365d5f49ff\r
+TEST= 28\r
+PT=   00000010000000000000000000000000\r
+CT=   dbc02169dd2059e6cc4c57c1fedf5ab4\r
+TEST= 29\r
+PT=   00000008000000000000000000000000\r
+CT=   826590e05d167da6f00dcc75e22788eb\r
+TEST= 30\r
+PT=   00000004000000000000000000000000\r
+CT=   34a73f21a04421d9786335faab49423a\r
+TEST= 31\r
+PT=   00000002000000000000000000000000\r
+CT=   ed347d0e0128ee1a7392a1d36ab78aa9\r
+TEST= 32\r
+PT=   00000001000000000000000000000000\r
+CT=   ee944b2fe6e9fc888042608da9615f75\r
+TEST= 33\r
+PT=   00000000800000000000000000000000\r
+CT=   9e7c85a909ef7218ba7947cfb4718f46\r
+TEST= 34\r
+PT=   00000000400000000000000000000000\r
+CT=   811ae07a0b2b1f816587fa73699ae77d\r
+TEST= 35\r
+PT=   00000000200000000000000000000000\r
+CT=   68466fbf43c2fe13d4b18f7ec5ea745f\r
+TEST= 36\r
+PT=   00000000100000000000000000000000\r
+CT=   d20b015c7191b219780956e6101f9354\r
+TEST= 37\r
+PT=   00000000080000000000000000000000\r
+CT=   5939d5c1bbf54ee1b3e326d757bdde25\r
+TEST= 38\r
+PT=   00000000040000000000000000000000\r
+CT=   b1fdafe9a0240e8ffea19ce94b5105d3\r
+TEST= 39\r
+PT=   00000000020000000000000000000000\r
+CT=   d62962ece02cdd68c06bdfefb2f9495b\r
+TEST= 40\r
+PT=   00000000010000000000000000000000\r
+CT=   b3bb2de6f3c26587ba8bac4f7ad9499a\r
+TEST= 41\r
+PT=   00000000008000000000000000000000\r
+CT=   e0b1072d6d9ff703d6fbef77852b0a6b\r
+TEST= 42\r
+PT=   00000000004000000000000000000000\r
+CT=   d8dd51c907f478de0228e83e61fd1758\r
+TEST= 43\r
+PT=   00000000002000000000000000000000\r
+CT=   a42dffe6e7c1671c06a25236fdd10017\r
+TEST= 44\r
+PT=   00000000001000000000000000000000\r
+CT=   25acf141550bfab9ef451b6c6a5b2163\r
+TEST= 45\r
+PT=   00000000000800000000000000000000\r
+CT=   4da7fca3949b16e821dbc84f19581018\r
+TEST= 46\r
+PT=   00000000000400000000000000000000\r
+CT=   7d49b6347cbcc8919c7fa96a37a7a215\r
+TEST= 47\r
+PT=   00000000000200000000000000000000\r
+CT=   900024b29a08c6721b95ba3b753ddb4d\r
+TEST= 48\r
+PT=   00000000000100000000000000000000\r
+CT=   6d2182fb283b6934d90ba7848cab5e66\r
+TEST= 49\r
+PT=   00000000000080000000000000000000\r
+CT=   f73ef01b448d23a4d90de8b2f9666e7a\r
+TEST= 50\r
+PT=   00000000000040000000000000000000\r
+CT=   4ad9cda2418643e9a3d926af5e6b0412\r
+TEST= 51\r
+PT=   00000000000020000000000000000000\r
+CT=   7caec8e7e5953997d545b033201c8c5b\r
+TEST= 52\r
+PT=   00000000000010000000000000000000\r
+CT=   3c43ca1f6b6864503e27b48d88230cf5\r
+TEST= 53\r
+PT=   00000000000008000000000000000000\r
+CT=   44f779b93108fe9feec880d79ba74488\r
+TEST= 54\r
+PT=   00000000000004000000000000000000\r
+CT=   9e50e8d9cfd3a682a78e527c9072a1cf\r
+TEST= 55\r
+PT=   00000000000002000000000000000000\r
+CT=   68d000cbc838bbe3c505d6f814c01f28\r
+TEST= 56\r
+PT=   00000000000001000000000000000000\r
+CT=   2cb2a9fec1acd1d9b0fa05205e304f57\r
+TEST= 57\r
+PT=   00000000000000800000000000000000\r
+CT=   01eb2806606e46444520a5cc6180cd4b\r
+TEST= 58\r
+PT=   00000000000000400000000000000000\r
+CT=   daa9b25168cc702326f217f1a0c0b162\r
+TEST= 59\r
+PT=   00000000000000200000000000000000\r
+CT=   3e07e648975d9578d03555b1755807ed\r
+TEST= 60\r
+PT=   00000000000000100000000000000000\r
+CT=   0b45f52e802c8b8de09579425b80b711\r
+TEST= 61\r
+PT=   00000000000000080000000000000000\r
+CT=   659595da0b68f6df0dd6ca77202986e1\r
+TEST= 62\r
+PT=   00000000000000040000000000000000\r
+CT=   05ff42873893536e58c8fa98a45c73c4\r
+TEST= 63\r
+PT=   00000000000000020000000000000000\r
+CT=   b5b03421de8bbffc4eadec767339a9bd\r
+TEST= 64\r
+PT=   00000000000000010000000000000000\r
+CT=   788bcd111ecf73d4e78d2e21bef55460\r
+TEST= 65\r
+PT=   00000000000000008000000000000000\r
+CT=   909cd9ec6790359f982dc6f2393d5315\r
+TEST= 66\r
+PT=   00000000000000004000000000000000\r
+CT=   332950f361535ff24efac8c76293f12c\r
+TEST= 67\r
+PT=   00000000000000002000000000000000\r
+CT=   a68ccd4e330ffda9d576da436db53d75\r
+TEST= 68\r
+PT=   00000000000000001000000000000000\r
+CT=   27c8a1ccfdb0b015d1ed5b3e77143791\r
+TEST= 69\r
+PT=   00000000000000000800000000000000\r
+CT=   d76a4b95887a77df610dd3e1d3b20325\r
+TEST= 70\r
+PT=   00000000000000000400000000000000\r
+CT=   c068ab0de71c66dae83c361ef4b2d989\r
+TEST= 71\r
+PT=   00000000000000000200000000000000\r
+CT=   c2120bcd49eda9a288b3b4be79ac8158\r
+TEST= 72\r
+PT=   00000000000000000100000000000000\r
+CT=   0c546f62bf2773cd0f564fceca7ba688\r
+TEST= 73\r
+PT=   00000000000000000080000000000000\r
+CT=   18f3462bede4920213ccb66dab1640aa\r
+TEST= 74\r
+PT=   00000000000000000040000000000000\r
+CT=   fe42f245edd0e24b216aebd8b392d690\r
+TEST= 75\r
+PT=   00000000000000000020000000000000\r
+CT=   3d3eebc8d3d1558a194c2d00c337ff2b\r
+TEST= 76\r
+PT=   00000000000000000010000000000000\r
+CT=   29aaedf043e785db42836f79be6cba28\r
+TEST= 77\r
+PT=   00000000000000000008000000000000\r
+CT=   215f90c6744e2944358e78619159a611\r
+TEST= 78\r
+PT=   00000000000000000004000000000000\r
+CT=   8606b1aa9e1d548e5442b06551e2c6dc\r
+TEST= 79\r
+PT=   00000000000000000002000000000000\r
+CT=   987bb4b8740ec0ede7fea97df033b5b1\r
+TEST= 80\r
+PT=   00000000000000000001000000000000\r
+CT=   c0a3500da5b0ae07d2f450930beedf1b\r
+TEST= 81\r
+PT=   00000000000000000000800000000000\r
+CT=   525fdf8312fe8f32c781481a8daaae37\r
+TEST= 82\r
+PT=   00000000000000000000400000000000\r
+CT=   bfd2c56ae5fb9c9de33a6944572a6487\r
+TEST= 83\r
+PT=   00000000000000000000200000000000\r
+CT=   7975a57a425cdf5aa1fa929101f650b0\r
+TEST= 84\r
+PT=   00000000000000000000100000000000\r
+CT=   bf174bc49609a8709b2cd8366daa79fe\r
+TEST= 85\r
+PT=   00000000000000000000080000000000\r
+CT=   06c50c43222f56c874b1704e9f44bf7d\r
+TEST= 86\r
+PT=   00000000000000000000040000000000\r
+CT=   0cec48cd34043ea29ca3b8ed5278721e\r
+TEST= 87\r
+PT=   00000000000000000000020000000000\r
+CT=   9548ea34a1560197b304d0acb8a1698d\r
+TEST= 88\r
+PT=   00000000000000000000010000000000\r
+CT=   22f9e9b1bd73b6b5b7d3062c986272f3\r
+TEST= 89\r
+PT=   00000000000000000000008000000000\r
+CT=   fee8e934bd0873295059002230e298d4\r
+TEST= 90\r
+PT=   00000000000000000000004000000000\r
+CT=   1b08e2e3eb820d139cb4abbdbe81d00d\r
+TEST= 91\r
+PT=   00000000000000000000002000000000\r
+CT=   0021177681e4d90ceaf69dced0145125\r
+TEST= 92\r
+PT=   00000000000000000000001000000000\r
+CT=   4a8e314452ca8a8a3619fc54bc423643\r
+TEST= 93\r
+PT=   00000000000000000000000800000000\r
+CT=   65047474f7222c94c6965425ff1bfd0a\r
+TEST= 94\r
+PT=   00000000000000000000000400000000\r
+CT=   e123f551a9c4a8489622b16f961a9aa4\r
+TEST= 95\r
+PT=   00000000000000000000000200000000\r
+CT=   ef05530948b80915028bb2b6fe429380\r
+TEST= 96\r
+PT=   00000000000000000000000100000000\r
+CT=   72535b7fe0f0f777cedcd55cd77e2ddf\r
+TEST= 97\r
+PT=   00000000000000000000000080000000\r
+CT=   3423d8efc31fa2f4c365c77d8f3b5c63\r
+TEST= 98\r
+PT=   00000000000000000000000040000000\r
+CT=   de0e51c264663f3c5dbc59580a98d8e4\r
+TEST= 99\r
+PT=   00000000000000000000000020000000\r
+CT=   b2d9391166680947ab09264156719679\r
+TEST= 100\r
+PT=   00000000000000000000000010000000\r
+CT=   10db79f23b06d263835c424af749adb7\r
+TEST= 101\r
+PT=   00000000000000000000000008000000\r
+CT=   ddf72d27e6b01ec107ea3e005b59563b\r
+TEST= 102\r
+PT=   00000000000000000000000004000000\r
+CT=   8266b57485a5954a4236751de07f6694\r
+TEST= 103\r
+PT=   00000000000000000000000002000000\r
+CT=   669a501e1f1ade6e5523de01d6dbc987\r
+TEST= 104\r
+PT=   00000000000000000000000001000000\r
+CT=   c20c48f2989725d461d1db589dc0896e\r
+TEST= 105\r
+PT=   00000000000000000000000000800000\r
+CT=   de35158e7810ed1191825d2aa98fa97d\r
+TEST= 106\r
+PT=   00000000000000000000000000400000\r
+CT=   4fe294f2c0f34d0671b693a237ebddc8\r
+TEST= 107\r
+PT=   00000000000000000000000000200000\r
+CT=   087ae74b10ccbfdf6739feb9559c01a4\r
+TEST= 108\r
+PT=   00000000000000000000000000100000\r
+CT=   5dc278970b7def77a5536c77ab59c207\r
+TEST= 109\r
+PT=   00000000000000000000000000080000\r
+CT=   7607f078c77085184eaa9b060c1fbfff\r
+TEST= 110\r
+PT=   00000000000000000000000000040000\r
+CT=   9db841531bcbe7998dad19993fb3cc00\r
+TEST= 111\r
+PT=   00000000000000000000000000020000\r
+CT=   d6a089b654854a94560bae13298835b8\r
+TEST= 112\r
+PT=   00000000000000000000000000010000\r
+CT=   e1e223c4cf90cc5d195b370d65114622\r
+TEST= 113\r
+PT=   00000000000000000000000000008000\r
+CT=   1cbed73c50d053bdad372ceee54836a1\r
+TEST= 114\r
+PT=   00000000000000000000000000004000\r
+CT=   d309e69376d257adf2bfda152b26555f\r
+TEST= 115\r
+PT=   00000000000000000000000000002000\r
+CT=   740f7649117f0dee6eaa7789a9994c36\r
+TEST= 116\r
+PT=   00000000000000000000000000001000\r
+CT=   76ae64417c297184d668c5fd908b3ce5\r
+TEST= 117\r
+PT=   00000000000000000000000000000800\r
+CT=   6095fea4aa8035591f1787a819c48787\r
+TEST= 118\r
+PT=   00000000000000000000000000000400\r
+CT=   d1ff4e7acd1c79967febab0f7465d450\r
+TEST= 119\r
+PT=   00000000000000000000000000000200\r
+CT=   5f5ad3c42b9489557bb63bf49ecf5f8a\r
+TEST= 120\r
+PT=   00000000000000000000000000000100\r
+CT=   fb56cc09b680b1d07c5a52149e29f07c\r
+TEST= 121\r
+PT=   00000000000000000000000000000080\r
+CT=   ff49b8df4a97cbe03833e66197620dad\r
+TEST= 122\r
+PT=   00000000000000000000000000000040\r
+CT=   5e070ade533d2e090ed0f5be13bc0983\r
+TEST= 123\r
+PT=   00000000000000000000000000000020\r
+CT=   3ab4fb1d2b7ba376590a2c241d1f508d\r
+TEST= 124\r
+PT=   00000000000000000000000000000010\r
+CT=   58b2431bc0bede02550f40238969ec78\r
+TEST= 125\r
+PT=   00000000000000000000000000000008\r
+CT=   0253786e126504f0dab90c48a30321de\r
+TEST= 126\r
+PT=   00000000000000000000000000000004\r
+CT=   200211214e7394da2089b6acd093abe0\r
+TEST= 127\r
+PT=   00000000000000000000000000000002\r
+CT=   0388dace60b6a392f328c2b971b2fe78\r
+TEST= 128\r
+PT=   00000000000000000000000000000001\r
+CT=   58e2fccefa7e3061367f1d57a4e7455a\r
diff --git a/test/crypto/aes/ecbvt48.txt b/test/crypto/aes/ecbvt48.txt
new file mode 100644 (file)
index 0000000..b3b358f
--- /dev/null
@@ -0,0 +1,398 @@
+==============================================\r
+Author:    Dr B R Gladman (                  )\r
+Test:      ECB Variable Text Known Answer Tests\r
+Algorithm: Extended Rijndael (an AES Superset)\r
+Filename:  ecbvt48.txt\r
+==============================================\r
+\r
+BLOCKSIZE=128\r
+KEYSIZE=  256\r
+\r
+KEY=  0000000000000000000000000000000000000000000000000000000000000000\r
+TEST= 0\r
+PT=   00000000000000000000000000000000\r
+CT=   dc95c078a2408989ad48a21492842087\r
+TEST= 1\r
+PT=   80000000000000000000000000000000\r
+CT=   ddc6bf790c15760d8d9aeb6f9a75fd4e\r
+TEST= 2\r
+PT=   40000000000000000000000000000000\r
+CT=   c7098c217c334d0c9bdf37ea13b0822c\r
+TEST= 3\r
+PT=   20000000000000000000000000000000\r
+CT=   60f0fb0d4c56a8d4eefec5264204042d\r
+TEST= 4\r
+PT=   10000000000000000000000000000000\r
+CT=   73376fbbf654d0686e0e84001477106b\r
+TEST= 5\r
+PT=   08000000000000000000000000000000\r
+CT=   2f443b52ba5f0c6ea0602c7c4fd259b6\r
+TEST= 6\r
+PT=   04000000000000000000000000000000\r
+CT=   75d11b0e3a68c4223d88dbf017977dd7\r
+TEST= 7\r
+PT=   02000000000000000000000000000000\r
+CT=   779b38d15bffb63d8d609d551a5cc98e\r
+TEST= 8\r
+PT=   01000000000000000000000000000000\r
+CT=   5275f3d86b4fb8684593133ebfa53cd3\r
+TEST= 9\r
+PT=   00800000000000000000000000000000\r
+CT=   1cef2074b336cec62f12dea2f6ab1481\r
+TEST= 10\r
+PT=   00400000000000000000000000000000\r
+CT=   1aef5abbad9d7160874578dcd8bae172\r
+TEST= 11\r
+PT=   00200000000000000000000000000000\r
+CT=   46c525db17e72f26bf03216846b6f609\r
+TEST= 12\r
+PT=   00100000000000000000000000000000\r
+CT=   e24411f941bbe08788781e3ec52cbaa4\r
+TEST= 13\r
+PT=   00080000000000000000000000000000\r
+CT=   83a3dedd1dd27018f6a6477e40527581\r
+TEST= 14\r
+PT=   00040000000000000000000000000000\r
+CT=   b68f8a2cdbab0c923c67fc8f0f1087de\r
+TEST= 15\r
+PT=   00020000000000000000000000000000\r
+CT=   649944a70c32bf87a7409e7ae128fde8\r
+TEST= 16\r
+PT=   00010000000000000000000000000000\r
+CT=   2846526d67387539c89314de9e0c2d02\r
+TEST= 17\r
+PT=   00008000000000000000000000000000\r
+CT=   a9a0b8402e53c70dd1688054ba58ddfd\r
+TEST= 18\r
+PT=   00004000000000000000000000000000\r
+CT=   4a72e6e1b79c83ac4be3eba5699eed48\r
+TEST= 19\r
+PT=   00002000000000000000000000000000\r
+CT=   b0e36b867ba4ff2b77d0614b0e364e4c\r
+TEST= 20\r
+PT=   00001000000000000000000000000000\r
+CT=   49b57de141f6418e3090f24ddd4014b6\r
+TEST= 21\r
+PT=   00000800000000000000000000000000\r
+CT=   a6c0d5b9797258e1987ac5f6cd20146d\r
+TEST= 22\r
+PT=   00000400000000000000000000000000\r
+CT=   426cf4bdcaa369175965d26e7c71eea2\r
+TEST= 23\r
+PT=   00000200000000000000000000000000\r
+CT=   e27f484ce54bc99bc1a52bda3b518a26\r
+TEST= 24\r
+PT=   00000100000000000000000000000000\r
+CT=   d16d186284c7e6ee64b8104e0ef20ba5\r
+TEST= 25\r
+PT=   00000080000000000000000000000000\r
+CT=   6431f8538ad54e1e044a9f71f8ef556b\r
+TEST= 26\r
+PT=   00000040000000000000000000000000\r
+CT=   ecd57ceb451d27eb96c55b2042257e8e\r
+TEST= 27\r
+PT=   00000020000000000000000000000000\r
+CT=   4f0f188dc911b1954afbc734c9f68872\r
+TEST= 28\r
+PT=   00000010000000000000000000000000\r
+CT=   b54def0337626b65614e81edfde620f3\r
+TEST= 29\r
+PT=   00000008000000000000000000000000\r
+CT=   6655d8074cae0b90b0d3a3fe72d4d9db\r
+TEST= 30\r
+PT=   00000004000000000000000000000000\r
+CT=   c6b74b6b9eb4fc0c9a237db1b616d09a\r
+TEST= 31\r
+PT=   00000002000000000000000000000000\r
+CT=   d7b5d076ea56ec2b20791d7ad51ccf8f\r
+TEST= 32\r
+PT=   00000001000000000000000000000000\r
+CT=   fe160c224bf003ce3bddc90cb52ed22c\r
+TEST= 33\r
+PT=   00000000800000000000000000000000\r
+CT=   5e00da9ba94b5ec0d258d8a8002e0f6a\r
+TEST= 34\r
+PT=   00000000400000000000000000000000\r
+CT=   09ac6dcff4dacff1651e2ba212a292a3\r
+TEST= 35\r
+PT=   00000000200000000000000000000000\r
+CT=   b283617e318d99af83a05d9810ba89f7\r
+TEST= 36\r
+PT=   00000000100000000000000000000000\r
+CT=   0b5f70ccb40b0ef2538ae9b4a9770b35\r
+TEST= 37\r
+PT=   00000000080000000000000000000000\r
+CT=   43282bf180248fb517839b37f4ddaae4\r
+TEST= 38\r
+PT=   00000000040000000000000000000000\r
+CT=   ddbd534c8b2e6d30a268f88c55ad765b\r
+TEST= 39\r
+PT=   00000000020000000000000000000000\r
+CT=   a41a164e50ec2d9f175e752b755e0b5c\r
+TEST= 40\r
+PT=   00000000010000000000000000000000\r
+CT=   37bff99ff2f7aa97779e4adf6f13fb10\r
+TEST= 41\r
+PT=   00000000008000000000000000000000\r
+CT=   9ba4f7bd298152903a683c4cec669216\r
+TEST= 42\r
+PT=   00000000004000000000000000000000\r
+CT=   5fb750c7ce10de7b4504248914d0da06\r
+TEST= 43\r
+PT=   00000000002000000000000000000000\r
+CT=   3e748bfa108e086f51d56ec74a9e0fb9\r
+TEST= 44\r
+PT=   00000000001000000000000000000000\r
+CT=   31d4e56b99f5b73c1b8437df332afb98\r
+TEST= 45\r
+PT=   00000000000800000000000000000000\r
+CT=   9dc6717b84fc55d266e7b1d9b5c52a5f\r
+TEST= 46\r
+PT=   00000000000400000000000000000000\r
+CT=   8ef8ba007f23c0a50fc120e07041bccd\r
+TEST= 47\r
+PT=   00000000000200000000000000000000\r
+CT=   c58f38e1839fc1918a12b8c9e88c66b6\r
+TEST= 48\r
+PT=   00000000000100000000000000000000\r
+CT=   b695d72a3fcf508c4050e12e40061c2d\r
+TEST= 49\r
+PT=   00000000000080000000000000000000\r
+CT=   5d2736ad478a50583bc8c11beff16d7a\r
+TEST= 50\r
+PT=   00000000000040000000000000000000\r
+CT=   df0eaca8f17847ad41f9578f14c7b56b\r
+TEST= 51\r
+PT=   00000000000020000000000000000000\r
+CT=   e5aa14ad48ad0a3c47cc35d5f8020e51\r
+TEST= 52\r
+PT=   00000000000010000000000000000000\r
+CT=   11be6c8f58ebd8cef1a53f591a68e8ce\r
+TEST= 53\r
+PT=   00000000000008000000000000000000\r
+CT=   ecfe7bafcbf42c1fee015488770b3053\r
+TEST= 54\r
+PT=   00000000000004000000000000000000\r
+CT=   e552649f8d8ec4a1e1cd6df50b6e6777\r
+TEST= 55\r
+PT=   00000000000002000000000000000000\r
+CT=   521c0629de93b9119cdb1ddc5809ddea\r
+TEST= 56\r
+PT=   00000000000001000000000000000000\r
+CT=   cb38a62a0bab1784156ba038cba99bf6\r
+TEST= 57\r
+PT=   00000000000000800000000000000000\r
+CT=   76ccee8aaacd394de1eef3dda10cb54b\r
+TEST= 58\r
+PT=   00000000000000400000000000000000\r
+CT=   6aff910fa1d5673140e2db59b8416049\r
+TEST= 59\r
+PT=   00000000000000200000000000000000\r
+CT=   064a12c0ef73fb386801bf4f35f3120d\r
+TEST= 60\r
+PT=   00000000000000100000000000000000\r
+CT=   2240e374929d5b1bb8ff0ffdddf640ec\r
+TEST= 61\r
+PT=   00000000000000080000000000000000\r
+CT=   d4ba15c904c7692185de85c02052e180\r
+TEST= 62\r
+PT=   00000000000000040000000000000000\r
+CT=   1714a315ab0166728a44cd91d4ae9018\r
+TEST= 63\r
+PT=   00000000000000020000000000000000\r
+CT=   6c970bdd9f0e222722ea31a1d12dd0ad\r
+TEST= 64\r
+PT=   00000000000000010000000000000000\r
+CT=   f5956edf02bd36a401bbb6ce77c3d3fb\r
+TEST= 65\r
+PT=   00000000000000008000000000000000\r
+CT=   0ca11f122ccd7c259dc597eed3df9bc4\r
+TEST= 66\r
+PT=   00000000000000004000000000000000\r
+CT=   50109ab4912ad2560b206f331b62eb6c\r
+TEST= 67\r
+PT=   00000000000000002000000000000000\r
+CT=   dbe7c91a4175614889a2d4befd64845e\r
+TEST= 68\r
+PT=   00000000000000001000000000000000\r
+CT=   0d3322853a571a6b46b79c0228e0dd25\r
+TEST= 69\r
+PT=   00000000000000000800000000000000\r
+CT=   96e4ee0bb9a11c6fb8522f285baddeb6\r
+TEST= 70\r
+PT=   00000000000000000400000000000000\r
+CT=   96705c52d2cfce82e630c93477c79c49\r
+TEST= 71\r
+PT=   00000000000000000200000000000000\r
+CT=   c50130aed6a126149d71f3888c83c232\r
+TEST= 72\r
+PT=   00000000000000000100000000000000\r
+CT=   4816efe3deb380566eba0c17bf582090\r
+TEST= 73\r
+PT=   00000000000000000080000000000000\r
+CT=   0390857b4c8c98e4cf7a2b6f3394c507\r
+TEST= 74\r
+PT=   00000000000000000040000000000000\r
+CT=   422e73a02025ebe8b8b5d6e0fa24fcb2\r
+TEST= 75\r
+PT=   00000000000000000020000000000000\r
+CT=   3271aa7f4bf1d7c38050a43076d4ff76\r
+TEST= 76\r
+PT=   00000000000000000010000000000000\r
+CT=   d2074946f0d37b8975607bfc2e70234c\r
+TEST= 77\r
+PT=   00000000000000000008000000000000\r
+CT=   1a509194c1270ab92e5a42d3a9f8d98b\r
+TEST= 78\r
+PT=   00000000000000000004000000000000\r
+CT=   512438946360ccc4a5c6d73f6eed7130\r
+TEST= 79\r
+PT=   00000000000000000002000000000000\r
+CT=   98cfcdec46ebea1a286b3004f2746a0d\r
+TEST= 80\r
+PT=   00000000000000000001000000000000\r
+CT=   a1cf369949677a3af3d58e3eabf2741b\r
+TEST= 81\r
+PT=   00000000000000000000800000000000\r
+CT=   d84c2e1a0e4a52166fa8ff6889d1e5e2\r
+TEST= 82\r
+PT=   00000000000000000000400000000000\r
+CT=   4ad91cceef60119b5078fd162d2735de\r
+TEST= 83\r
+PT=   00000000000000000000200000000000\r
+CT=   2860793d818e97aaff1d339d7702438d\r
+TEST= 84\r
+PT=   00000000000000000000100000000000\r
+CT=   6f9068be73364ae250d89d78a6c9ce6f\r
+TEST= 85\r
+PT=   00000000000000000000080000000000\r
+CT=   024fc3fef4883feb1a8dd005305fecce\r
+TEST= 86\r
+PT=   00000000000000000000040000000000\r
+CT=   08a61fe0816d75ea15eb3c9fb9ccded6\r
+TEST= 87\r
+PT=   00000000000000000000020000000000\r
+CT=   449c86dfa13f260175ce39797686ffa4\r
+TEST= 88\r
+PT=   00000000000000000000010000000000\r
+CT=   4ffffc29a59858e1133f2bfb1a8a4817\r
+TEST= 89\r
+PT=   00000000000000000000008000000000\r
+CT=   19425d1f6480b25096561295697dc2b7\r
+TEST= 90\r
+PT=   00000000000000000000004000000000\r
+CT=   31974727ecdd2c77c3a428fc3a8cb3fc\r
+TEST= 91\r
+PT=   00000000000000000000002000000000\r
+CT=   a57cd704b3c95e744d08df443458f2f5\r
+TEST= 92\r
+PT=   00000000000000000000001000000000\r
+CT=   486d8c193db1ed73acb17990442fc40b\r
+TEST= 93\r
+PT=   00000000000000000000000800000000\r
+CT=   5e4dbf4e83ab3bc055b9fcc7a6b3a763\r
+TEST= 94\r
+PT=   00000000000000000000000400000000\r
+CT=   acf2e0a693fbbcba4d41b861e0d89e37\r
+TEST= 95\r
+PT=   00000000000000000000000200000000\r
+CT=   32a7cb2ae066a51d2b78fc4b4cfcb608\r
+TEST= 96\r
+PT=   00000000000000000000000100000000\r
+CT=   677d494dbb73caf55c1990158da12f14\r
+TEST= 97\r
+PT=   00000000000000000000000080000000\r
+CT=   082a0d2367512adf0d75a151bfbe0a17\r
+TEST= 98\r
+PT=   00000000000000000000000040000000\r
+CT=   5e5bb7337923c482ce8cba249e6a8c7d\r
+TEST= 99\r
+PT=   00000000000000000000000020000000\r
+CT=   d3001ba7c7026ee3e5003179530afcfc\r
+TEST= 100\r
+PT=   00000000000000000000000010000000\r
+CT=   46ec44f8931e629fe8fd8961312edde1\r
+TEST= 101\r
+PT=   00000000000000000000000008000000\r
+CT=   c5f8ecd79c7b30e81d17e32079969310\r
+TEST= 102\r
+PT=   00000000000000000000000004000000\r
+CT=   5b8ad6919e24caebcc55401aee0c9802\r
+TEST= 103\r
+PT=   00000000000000000000000002000000\r
+CT=   c2302b7e701b5cc7f8b29e3516dbbfa6\r
+TEST= 104\r
+PT=   00000000000000000000000001000000\r
+CT=   a1d04d6a76f9f7a94d49faa64a87f244\r
+TEST= 105\r
+PT=   00000000000000000000000000800000\r
+CT=   7fb6f92d35b5cb6c631600edb9e860ba\r
+TEST= 106\r
+PT=   00000000000000000000000000400000\r
+CT=   b2ef7078bcface07aeec3f9b48830eb3\r
+TEST= 107\r
+PT=   00000000000000000000000000200000\r
+CT=   f475a7493d24c7036e53390374c378b3\r
+TEST= 108\r
+PT=   00000000000000000000000000100000\r
+CT=   b36802ac987377a37bd8eadc97c57d60\r
+TEST= 109\r
+PT=   00000000000000000000000000080000\r
+CT=   addcd3d19689c4ddc738ce5f69dc9505\r
+TEST= 110\r
+PT=   00000000000000000000000000040000\r
+CT=   0daf8ca22884915403c0f0bb1f4bd74f\r
+TEST= 111\r
+PT=   00000000000000000000000000020000\r
+CT=   4af36bae2660503b3248e4685059fd05\r
+TEST= 112\r
+PT=   00000000000000000000000000010000\r
+CT=   7d5631814dd8e917d97a0d514c743971\r
+TEST= 113\r
+PT=   00000000000000000000000000008000\r
+CT=   bc3352500fc0cbb9db5b5f6b491c1be8\r
+TEST= 114\r
+PT=   00000000000000000000000000004000\r
+CT=   6a4a30ba87e87af65c90aeb7afedc76b\r
+TEST= 115\r
+PT=   00000000000000000000000000002000\r
+CT=   77e6125897668ac8e73e8c79a6ff8336\r
+TEST= 116\r
+PT=   00000000000000000000000000001000\r
+CT=   3fa9d39104ebb323c7aaaa248960dd1e\r
+TEST= 117\r
+PT=   00000000000000000000000000000800\r
+CT=   fad75ad76ab10adc49036b250e229d39\r
+TEST= 118\r
+PT=   00000000000000000000000000000400\r
+CT=   2facaa5fe35b228a16ac74088d702ec4\r
+TEST= 119\r
+PT=   00000000000000000000000000000200\r
+CT=   88b6cbcfdfef8ad91720a1bb69a1f33e\r
+TEST= 120\r
+PT=   00000000000000000000000000000100\r
+CT=   c7e9d250998632d444356242ef04058d\r
+TEST= 121\r
+PT=   00000000000000000000000000000080\r
+CT=   b14dad8d3d9153f46c0d3a1ad63c7a05\r
+TEST= 122\r
+PT=   00000000000000000000000000000040\r
+CT=   60aba678a506608d0845966d29b5f790\r
+TEST= 123\r
+PT=   00000000000000000000000000000020\r
+CT=   482dc43f2388ef25d24144e144bd834e\r
+TEST= 124\r
+PT=   00000000000000000000000000000010\r
+CT=   1490a05a7cee43bde98b56e309dc0126\r
+TEST= 125\r
+PT=   00000000000000000000000000000008\r
+CT=   abfa77cd6e85da245fb0bdc5e52cfc29\r
+TEST= 126\r
+PT=   00000000000000000000000000000004\r
+CT=   dd4ab1284d4ae17b41e85924470c36f7\r
+TEST= 127\r
+PT=   00000000000000000000000000000002\r
+CT=   cea7403d4d606b6e074ec5d3baf39d18\r
+TEST= 128\r
+PT=   00000000000000000000000000000001\r
+CT=   530f8afbc74536b9a963b4f1c4cb738b\r
diff --git a/test/crypto/aesctr/Makefile b/test/crypto/aesctr/Makefile
new file mode 100644 (file)
index 0000000..980dcb3
--- /dev/null
@@ -0,0 +1,4 @@
+PROG=  aesctr
+NOMAN=
+
+.include <bsd.prog.mk>
diff --git a/test/crypto/aesctr/aesctr.c b/test/crypto/aesctr/aesctr.c
new file mode 100644 (file)
index 0000000..a7c59b4
--- /dev/null
@@ -0,0 +1,295 @@
+/*      $OpenBSD: markus $  */
+
+/*
+ * Copyright (c) 2005 Markus Friedl <markus@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, 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.
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/ioctl.h>
+#include <sys/sysctl.h>
+#include <crypto/cryptodev.h>
+#include <err.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <limits.h>
+#include <errno.h>
+
+int debug = 0;
+
+enum { TST_KEY, TST_IV, TST_PLAIN, TST_CIPHER, TST_NUM };
+
+/* Test vectors from RFC 3686 */
+struct {
+       char *data[TST_NUM];
+} tests[] = {
+       /* 128 bit key */
+       {
+               "AE 68 52 F8 12 10 67 CC 4B F7 A5 76 55 77 F3 9E "
+               "00 00 00 30",
+               "00 00 00 00 00 00 00 00",
+               "53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67",
+               "E4 09 5D 4F B7 A7 B3 79 2D 61 75 A3 26 13 11 B8"
+       },
+       {
+               "7E 24 06 78 17 FA E0 D7 43 D6 CE 1F 32 53 91 63 "
+               "00 6C B6 DB",
+               "C0 54 3B 59 DA 48 D9 0B",
+               "00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F "
+               "10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F",
+               "51 04 A1 06 16 8A 72 D9 79 0D 41 EE 8E DA D3 88 "
+               "EB 2E 1E FC 46 DA 57 C8 FC E6 30 DF 91 41 BE 28"
+       },
+       {
+               "76 91 BE 03 5E 50 20 A8 AC 6E 61 85 29 F9 A0 DC "
+               "00 E0 01 7B",
+               "27 77 7F 3F 4A 17 86 F0",
+               "00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F "
+               "10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F"
+               /*"20 21 22 23"*/,
+               "C1 CF 48 A8 9F 2F FD D9 CF 46 52 E9 EF DB 72 D7 "
+               "45 40 A4 2B DE 6D 78 36 D5 9A 5C EA AE F3 10 53"
+                /*"25 B2 07 2F"*/
+       },
+       /* 192 bit key */
+       {
+               "16 AF 5B 14 5F C9 F5 79 C1 75 F9 3E 3B FB 0E ED "
+               "86 3D 06 CC FD B7 85 15 "
+               "00 00 00 48",
+               "36 73 3C 14 7D 6D 93 CB",
+               "53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67",
+               "4B 55 38 4F E2 59 C9 C8 4E 79 35 A0 03 CB E9 28",
+       },
+       {
+               "7C 5C B2 40 1B 3D C3 3C 19 E7 34 08 19 E0 F6 9C "
+               "67 8C 3D B8 E6 F6 A9 1A "
+               "00 96 B0 3B",
+               "02 0C 6E AD C2 CB 50 0D",
+               "00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F "
+               "10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F",
+               "45 32 43 FC 60 9B 23 32 7E DF AA FA 71 31 CD 9F "
+               "84 90 70 1C 5A D4 A7 9C FC 1F E0 FF 42 F4 FB 00",
+       },
+       {
+               "02 BF 39 1E E8 EC B1 59 B9 59 61 7B 09 65 27 9B "
+               "F5 9B 60 A7 86 D3 E0 FE "
+               "00 07 BD FD",
+               "5C BD 60 27 8D CC 09 12",
+               "00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F "
+               "10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F"
+               /*"20 21 22 23"*/,
+               "96 89 3F C5 5E 5C 72 2F 54 0B 7D D1 DD F7 E7 58 "
+               "D2 88 BC 95 C6 91 65 88 45 36 C8 11 66 2F 21 88"
+               /*"AB EE 09 35"*/,
+       },
+       /* 256 bit key */
+       {
+               "77 6B EF F2 85 1D B0 6F 4C 8A 05 42 C8 69 6F 6C "
+               "6A 81 AF 1E EC 96 B4 D3 7F C1 D6 89 E6 C1 C1 04 "
+               "00 00 00 60",
+               "DB 56 72 C9 7A A8 F0 B2",
+               "53 69 6E 67 6C 65 20 62 6C 6F 63 6B 20 6D 73 67",
+               "14 5A D0 1D BF 82 4E C7 56 08 63 DC 71 E3 E0 C0"
+       },
+       {
+               "F6 D6 6D 6B D5 2D 59 BB 07 96 36 58 79 EF F8 86 "
+               "C6 6D D5 1A 5B 6A 99 74 4B 50 59 0C 87 A2 38 84 "
+               "00 FA AC 24",
+               "C1 58 5E F1 5A 43 D8 75",
+               "00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F "
+               "10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F",
+               "F0 5E 23 1B 38 94 61 2C 49 EE 00 0B 80 4E B2 A9 "
+               "B8 30 6B 50 8F 83 9D 6A 55 30 83 1D 93 44 AF 1C",
+       },
+       {
+               "FF 7A 61 7C E6 91 48 E4 F1 72 6E 2F 43 58 1D E2 "
+               "AA 62 D9 F8 05 53 2E DF F1 EE D6 87 FB 54 15 3D "
+               "00 1C C5 B7",
+               "51 A5 1D 70 A1 C1 11 48",
+               "00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F "
+               "10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F"
+               /*"20 21 22 23"*/,
+               "EB 6C 52 82 1D 0B BB F7 CE 75 94 46 2A CA 4F AA "
+               "B4 07 DF 86 65 69 FD 07 F4 8C C0 B5 83 D6 07 1F"
+               /*"1E C0 E6 B8"*/,
+       },
+};
+
+static int
+syscrypt(const unsigned char *key, size_t klen, const unsigned char *iv,
+    const unsigned char *in, unsigned char *out, size_t len, int encrypt)
+{
+       struct session_op session;
+       struct crypt_op cryp;
+       int cryptodev_fd = -1, fd = -1;
+
+       if ((cryptodev_fd = open("/dev/crypto", O_RDWR, 0)) < 0) {
+               warn("/dev/crypto");
+               goto err;
+       }
+       if (ioctl(cryptodev_fd, CRIOGET, &fd) == -1) {
+               warn("CRIOGET failed");
+               goto err;
+       }
+       memset(&session, 0, sizeof(session));
+       session.cipher = CRYPTO_AES_CTR;
+       session.key = (caddr_t) key;
+       session.keylen = klen;
+       if (ioctl(fd, CIOCGSESSION, &session) == -1) {
+               warn("CIOCGSESSION");
+               goto err;
+       }
+       memset(&cryp, 0, sizeof(cryp));
+       cryp.ses = session.ses;
+       cryp.op = encrypt ? COP_ENCRYPT : COP_DECRYPT;
+       cryp.flags = 0;
+       cryp.len = len;
+       cryp.src = (caddr_t) in;
+       cryp.dst = (caddr_t) out;
+       cryp.iv = (caddr_t) iv;
+       cryp.mac = 0;
+       if (ioctl(fd, CIOCCRYPT, &cryp) == -1) {
+               warn("CIOCCRYPT");
+               goto err;
+       }
+       if (ioctl(fd, CIOCFSESSION, &session.ses) == -1) {
+               warn("CIOCFSESSION");
+               goto err;
+       }
+       close(fd);
+       close(cryptodev_fd);
+       return (0);
+
+err:
+       if (fd != -1)
+               close(fd);
+       if (cryptodev_fd != -1)
+               close(cryptodev_fd);
+       return (-1);
+}
+
+static int
+getallowsoft(void)
+{
+       int mib[2], old;
+       size_t olen;
+
+       olen = sizeof(old);
+
+       if (sysctlbyname("kern.cryptodevallowsoft", &old, &olen, NULL, 0) < 0)
+               err(1, "sysctl failed");
+
+       return old;
+}
+
+static void
+setallowsoft(int new)
+{
+       int mib[2], old;
+       size_t olen, nlen;
+
+       olen = nlen = sizeof(new);
+
+       if (sysctlbyname("kern.cryptodevallowsoft", &old, &olen, &new, nlen) < 0)
+               err(1, "sysctl failed");
+}
+
+static int
+match(unsigned char *a, unsigned char *b, size_t len)
+{
+       int i;
+
+       if (memcmp(a, b, len) == 0)
+               return (1);
+
+       warnx("ciphertext mismatch");
+
+       for (i = 0; i < len; i++)
+               printf("%2.2x", a[i]);
+       printf("\n");
+       for (i = 0; i < len; i++)
+               printf("%2.2x", b[i]);
+       printf("\n");
+
+       return (0);
+}
+
+static int
+run(int num)
+{
+       int i, fail = 1, len, j, length[TST_NUM];
+       u_long val;
+       char *ep, *from;
+       u_char *p, *data[TST_NUM];
+
+       for (i = 0; i < TST_NUM; i++)
+               data[i] = NULL;
+       for (i = 0; i < TST_NUM; i++) {
+               from = tests[num].data[i];
+               if (debug)
+                       printf("%s\n", from);
+               len = strlen(from);
+               if ((p = malloc(len)) == 0) {
+                       warn("malloc");
+                       goto done;
+               }
+               errno = 0;
+               for (j = 0; j < len; j++) {
+                       val = strtoul(&from[j*3], &ep, 16);
+                       p[j] = (u_char)val;
+                       if (*ep == '\0' || errno)
+                               break;
+               }
+               length[i] = j+1;
+               data[i] = p;
+       }
+       len = length[TST_PLAIN];
+       if ((p = malloc(len)) == 0) {
+               warn("malloc");
+               return (1);
+       }
+       if (syscrypt(data[TST_KEY], length[TST_KEY],
+           data[TST_IV], data[TST_PLAIN], p,
+           length[TST_PLAIN], 0) < 0) {
+               warnx("crypt with /dev/crypto failed");
+               goto done;
+       }
+       fail = !match(data[TST_CIPHER], p, len);
+       printf("%s test vector %d\n", fail ? "FAILED" : "OK", num);
+done:
+       for (i = 0; i < TST_NUM; i++)
+               free(data[i]);
+       return (fail);
+}
+
+int
+main(int argc, char **argv)
+{
+       int allowed = 0, fail = 0, i;
+
+       if (geteuid() == 0) {
+               allowed = getallowsoft();
+               if (allowed == 0)
+                       setallowsoft(1);
+       }
+       for (i = 0; i < (sizeof(tests) / sizeof(tests[0])); i++)
+               fail += run(i);
+       if (geteuid() == 0 && allowed == 0)
+               setallowsoft(0);
+       exit((fail > 0) ? 1 : 0);
+}
diff --git a/test/crypto/aesxts/Makefile b/test/crypto/aesxts/Makefile
new file mode 100644 (file)
index 0000000..391ede2
--- /dev/null
@@ -0,0 +1,4 @@
+PROG=  aes_xts
+NOMAN=
+
+.include <bsd.prog.mk>
diff --git a/test/crypto/aesxts/aes_xts.c b/test/crypto/aesxts/aes_xts.c
new file mode 100644 (file)
index 0000000..112cc30
--- /dev/null
@@ -0,0 +1,1848 @@
+/*      $OpenBSD: djm $  */
+
+/*
+ * Copyright (c) 2002 Markus Friedl.  All rights reserved.
+ * Copyright (c) 2008 Damien Miller.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/ioctl.h>
+#include <sys/sysctl.h>
+#include <crypto/cryptodev.h>
+#include <err.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+static int
+syscrypt(const unsigned char *key, size_t klen, u_int64_t unit_number,
+    const unsigned char *in, unsigned char *out, size_t len, int do_encrypt)
+{
+       struct session_op session;
+       struct crypt_op cryp;
+       int cryptodev_fd = -1, fd = -1;
+
+       if ((cryptodev_fd = open("/dev/crypto", O_RDWR, 0)) < 0) {
+               warn("/dev/crypto");
+               goto err;
+       }
+       if (ioctl(cryptodev_fd, CRIOGET, &fd) == -1) {
+               warn("CRIOGET failed");
+               goto err;
+       }
+       memset(&session, 0, sizeof(session));
+       session.cipher = CRYPTO_AES_XTS;
+       session.key = (caddr_t) key;
+       session.keylen = klen;
+       if (ioctl(fd, CIOCGSESSION, &session) == -1) {
+               warn("CIOCGSESSION");
+               goto err;
+       }
+       memset(&cryp, 0, sizeof(cryp));
+       cryp.ses = session.ses;
+       cryp.op = do_encrypt ? COP_ENCRYPT : COP_DECRYPT;
+       cryp.flags = 0;
+       cryp.len = len;
+       cryp.src = (caddr_t) in;
+       cryp.dst = (caddr_t) out;
+       cryp.iv = (caddr_t) &unit_number;
+       cryp.mac = 0;
+       if (ioctl(fd, CIOCCRYPT, &cryp) == -1) {
+               warn("CIOCCRYPT");
+               goto err;
+       }
+       if (ioctl(fd, CIOCFSESSION, &session.ses) == -1) {
+               warn("CIOCFSESSION");
+               goto err;
+       }
+       close(fd);
+       close(cryptodev_fd);
+       return (0);
+
+err:
+       if (fd != -1)
+               close(fd);
+       if (cryptodev_fd != -1)
+               close(cryptodev_fd);
+       return (-1);
+}
+
+static int
+getallowsoft(void)
+{
+       int mib[2], old;
+       size_t olen;
+
+       olen = sizeof(old);
+
+       if (sysctlbyname("kern.cryptodevallowsoft", &old, &olen, NULL, 0) < 0)
+               err(1, "sysctl failed");
+
+       return old;
+}
+
+static void
+setallowsoft(int new)
+{
+       int mib[2], old;
+       size_t olen, nlen;
+
+       olen = nlen = sizeof(new);
+
+       if (sysctlbyname("kern.cryptodevallowsoft", &old, &olen, &new, nlen) < 0)
+               err(1, "sysctl failed");
+}
+
+static int
+match(unsigned char *a, unsigned char *b, size_t len)
+{
+       size_t i;
+
+       if (memcmp(a, b, len) == 0)
+               return (1);
+
+       warnx("decrypt/plaintext mismatch");
+
+       for (i = 0; i < len; i++)
+               printf("%2.2x", a[i]);
+       printf("\n");
+       for (i = 0; i < len; i++)
+               printf("%2.2x", b[i]);
+       printf("\n");
+
+       return (0);
+}
+
+struct aes_xts_tv {
+       u_int64_t seqno;
+       u_int key_len;
+       u_int8_t key[64];
+       u_int text_len;
+       u_int8_t plaintext[512];
+       u_int8_t ciphertext[512];
+};
+
+struct aes_xts_tv aes_xts_test_vectors[] = {
+       {
+               0x00000000ULL,
+               32,
+               {
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+               },
+               32,
+               {
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+               }, {
+                       0x91, 0x7c, 0xf6, 0x9e, 0xbd, 0x68, 0xb2, 0xec, 
+                       0x9b, 0x9f, 0xe9, 0xa3, 0xea, 0xdd, 0xa6, 0x92, 
+                       0xcd, 0x43, 0xd2, 0xf5, 0x95, 0x98, 0xed, 0x85, 
+                       0x8c, 0x02, 0xc2, 0x65, 0x2f, 0xbf, 0x92, 0x2e, 
+               },
+       },
+       {
+               0x3333333333ULL,
+               32,
+               {
+                       0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 
+                       0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 
+                       0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 
+                       0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 
+               },
+               32,
+               {
+                       0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 
+                       0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 
+                       0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 
+                       0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 
+               }, {
+                       0xc4, 0x54, 0x18, 0x5e, 0x6a, 0x16, 0x93, 0x6e, 
+                       0x39, 0x33, 0x40, 0x38, 0xac, 0xef, 0x83, 0x8b, 
+                       0xfb, 0x18, 0x6f, 0xff, 0x74, 0x80, 0xad, 0xc4, 
+                       0x28, 0x93, 0x82, 0xec, 0xd6, 0xd3, 0x94, 0xf0, 
+               },
+       },
+       {
+               0x3333333333ULL,
+               32,
+               {
+                       0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 
+                       0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, 
+                       0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 
+                       0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 
+               },
+               32,
+               {
+                       0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 
+                       0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 
+                       0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 
+                       0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 
+               }, {
+                       0xaf, 0x85, 0x33, 0x6b, 0x59, 0x7a, 0xfc, 0x1a, 
+                       0x90, 0x0b, 0x2e, 0xb2, 0x1e, 0xc9, 0x49, 0xd2, 
+                       0x92, 0xdf, 0x4c, 0x04, 0x7e, 0x0b, 0x21, 0x53, 
+                       0x21, 0x86, 0xa5, 0x97, 0x1a, 0x22, 0x7a, 0x89, 
+               },
+       },
+       {
+               0x00000000ULL,
+               32,
+               {
+                       0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, 
+                       0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, 
+                       0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, 
+                       0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95, 
+               },
+               512,
+               {
+                       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 
+                       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 
+                       0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 
+                       0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 
+                       0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 
+                       0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 
+                       0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
+                       0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 
+                       0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 
+                       0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 
+                       0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 
+                       0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 
+                       0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 
+                       0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 
+                       0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 
+                       0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 
+                       0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 
+                       0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 
+                       0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 
+                       0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 
+                       0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 
+                       0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 
+                       0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 
+                       0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 
+                       0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 
+                       0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 
+                       0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 
+                       0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 
+                       0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 
+                       0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 
+                       0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 
+                       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 
+                       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 
+                       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 
+                       0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 
+                       0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 
+                       0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 
+                       0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 
+                       0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
+                       0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 
+                       0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 
+                       0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 
+                       0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 
+                       0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 
+                       0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 
+                       0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 
+                       0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 
+                       0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 
+                       0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 
+                       0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 
+                       0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 
+                       0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 
+                       0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 
+                       0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 
+                       0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 
+                       0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 
+                       0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 
+                       0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 
+                       0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 
+                       0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 
+                       0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 
+                       0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 
+                       0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 
+                       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 
+               }, {
+                       0x27, 0xa7, 0x47, 0x9b, 0xef, 0xa1, 0xd4, 0x76, 
+                       0x48, 0x9f, 0x30, 0x8c, 0xd4, 0xcf, 0xa6, 0xe2, 
+                       0xa9, 0x6e, 0x4b, 0xbe, 0x32, 0x08, 0xff, 0x25, 
+                       0x28, 0x7d, 0xd3, 0x81, 0x96, 0x16, 0xe8, 0x9c, 
+                       0xc7, 0x8c, 0xf7, 0xf5, 0xe5, 0x43, 0x44, 0x5f, 
+                       0x83, 0x33, 0xd8, 0xfa, 0x7f, 0x56, 0x00, 0x00, 
+                       0x05, 0x27, 0x9f, 0xa5, 0xd8, 0xb5, 0xe4, 0xad, 
+                       0x40, 0xe7, 0x36, 0xdd, 0xb4, 0xd3, 0x54, 0x12, 
+                       0x32, 0x80, 0x63, 0xfd, 0x2a, 0xab, 0x53, 0xe5, 
+                       0xea, 0x1e, 0x0a, 0x9f, 0x33, 0x25, 0x00, 0xa5, 
+                       0xdf, 0x94, 0x87, 0xd0, 0x7a, 0x5c, 0x92, 0xcc, 
+                       0x51, 0x2c, 0x88, 0x66, 0xc7, 0xe8, 0x60, 0xce, 
+                       0x93, 0xfd, 0xf1, 0x66, 0xa2, 0x49, 0x12, 0xb4, 
+                       0x22, 0x97, 0x61, 0x46, 0xae, 0x20, 0xce, 0x84, 
+                       0x6b, 0xb7, 0xdc, 0x9b, 0xa9, 0x4a, 0x76, 0x7a, 
+                       0xae, 0xf2, 0x0c, 0x0d, 0x61, 0xad, 0x02, 0x65, 
+                       0x5e, 0xa9, 0x2d, 0xc4, 0xc4, 0xe4, 0x1a, 0x89, 
+                       0x52, 0xc6, 0x51, 0xd3, 0x31, 0x74, 0xbe, 0x51, 
+                       0xa1, 0x0c, 0x42, 0x11, 0x10, 0xe6, 0xd8, 0x15, 
+                       0x88, 0xed, 0xe8, 0x21, 0x03, 0xa2, 0x52, 0xd8, 
+                       0xa7, 0x50, 0xe8, 0x76, 0x8d, 0xef, 0xff, 0xed, 
+                       0x91, 0x22, 0x81, 0x0a, 0xae, 0xb9, 0x9f, 0x91, 
+                       0x72, 0xaf, 0x82, 0xb6, 0x04, 0xdc, 0x4b, 0x8e, 
+                       0x51, 0xbc, 0xb0, 0x82, 0x35, 0xa6, 0xf4, 0x34, 
+                       0x13, 0x32, 0xe4, 0xca, 0x60, 0x48, 0x2a, 0x4b, 
+                       0xa1, 0xa0, 0x3b, 0x3e, 0x65, 0x00, 0x8f, 0xc5, 
+                       0xda, 0x76, 0xb7, 0x0b, 0xf1, 0x69, 0x0d, 0xb4, 
+                       0xea, 0xe2, 0x9c, 0x5f, 0x1b, 0xad, 0xd0, 0x3c, 
+                       0x5c, 0xcf, 0x2a, 0x55, 0xd7, 0x05, 0xdd, 0xcd, 
+                       0x86, 0xd4, 0x49, 0x51, 0x1c, 0xeb, 0x7e, 0xc3, 
+                       0x0b, 0xf1, 0x2b, 0x1f, 0xa3, 0x5b, 0x91, 0x3f, 
+                       0x9f, 0x74, 0x7a, 0x8a, 0xfd, 0x1b, 0x13, 0x0e, 
+                       0x94, 0xbf, 0xf9, 0x4e, 0xff, 0xd0, 0x1a, 0x91, 
+                       0x73, 0x5c, 0xa1, 0x72, 0x6a, 0xcd, 0x0b, 0x19, 
+                       0x7c, 0x4e, 0x5b, 0x03, 0x39, 0x36, 0x97, 0xe1, 
+                       0x26, 0x82, 0x6f, 0xb6, 0xbb, 0xde, 0x8e, 0xcc, 
+                       0x1e, 0x08, 0x29, 0x85, 0x16, 0xe2, 0xc9, 0xed, 
+                       0x03, 0xff, 0x3c, 0x1b, 0x78, 0x60, 0xf6, 0xde, 
+                       0x76, 0xd4, 0xce, 0xcd, 0x94, 0xc8, 0x11, 0x98, 
+                       0x55, 0xef, 0x52, 0x97, 0xca, 0x67, 0xe9, 0xf3, 
+                       0xe7, 0xff, 0x72, 0xb1, 0xe9, 0x97, 0x85, 0xca, 
+                       0x0a, 0x7e, 0x77, 0x20, 0xc5, 0xb3, 0x6d, 0xc6, 
+                       0xd7, 0x2c, 0xac, 0x95, 0x74, 0xc8, 0xcb, 0xbc, 
+                       0x2f, 0x80, 0x1e, 0x23, 0xe5, 0x6f, 0xd3, 0x44, 
+                       0xb0, 0x7f, 0x22, 0x15, 0x4b, 0xeb, 0xa0, 0xf0, 
+                       0x8c, 0xe8, 0x89, 0x1e, 0x64, 0x3e, 0xd9, 0x95, 
+                       0xc9, 0x4d, 0x9a, 0x69, 0xc9, 0xf1, 0xb5, 0xf4, 
+                       0x99, 0x02, 0x7a, 0x78, 0x57, 0x2a, 0xee, 0xbd, 
+                       0x74, 0xd2, 0x0c, 0xc3, 0x98, 0x81, 0xc2, 0x13, 
+                       0xee, 0x77, 0x0b, 0x10, 0x10, 0xe4, 0xbe, 0xa7, 
+                       0x18, 0x84, 0x69, 0x77, 0xae, 0x11, 0x9f, 0x7a, 
+                       0x02, 0x3a, 0xb5, 0x8c, 0xca, 0x0a, 0xd7, 0x52, 
+                       0xaf, 0xe6, 0x56, 0xbb, 0x3c, 0x17, 0x25, 0x6a, 
+                       0x9f, 0x6e, 0x9b, 0xf1, 0x9f, 0xdd, 0x5a, 0x38, 
+                       0xfc, 0x82, 0xbb, 0xe8, 0x72, 0xc5, 0x53, 0x9e, 
+                       0xdb, 0x60, 0x9e, 0xf4, 0xf7, 0x9c, 0x20, 0x3e, 
+                       0xbb, 0x14, 0x0f, 0x2e, 0x58, 0x3c, 0xb2, 0xad, 
+                       0x15, 0xb4, 0xaa, 0x5b, 0x65, 0x50, 0x16, 0xa8, 
+                       0x44, 0x92, 0x77, 0xdb, 0xd4, 0x77, 0xef, 0x2c, 
+                       0x8d, 0x6c, 0x01, 0x7d, 0xb7, 0x38, 0xb1, 0x8d, 
+                       0xeb, 0x4a, 0x42, 0x7d, 0x19, 0x23, 0xce, 0x3f, 
+                       0xf2, 0x62, 0x73, 0x57, 0x79, 0xa4, 0x18, 0xf2, 
+                       0x0a, 0x28, 0x2d, 0xf9, 0x20, 0x14, 0x7b, 0xea, 
+                       0xbe, 0x42, 0x1e, 0xe5, 0x31, 0x9d, 0x05, 0x68, 
+               },
+       },
+       {
+               0x00000001ULL,
+               32,
+               {
+                       0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, 
+                       0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, 
+                       0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, 
+                       0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95, 
+               },
+               512,
+               {
+                       0x27, 0xa7, 0x47, 0x9b, 0xef, 0xa1, 0xd4, 0x76, 
+                       0x48, 0x9f, 0x30, 0x8c, 0xd4, 0xcf, 0xa6, 0xe2, 
+                       0xa9, 0x6e, 0x4b, 0xbe, 0x32, 0x08, 0xff, 0x25, 
+                       0x28, 0x7d, 0xd3, 0x81, 0x96, 0x16, 0xe8, 0x9c, 
+                       0xc7, 0x8c, 0xf7, 0xf5, 0xe5, 0x43, 0x44, 0x5f, 
+                       0x83, 0x33, 0xd8, 0xfa, 0x7f, 0x56, 0x00, 0x00, 
+                       0x05, 0x27, 0x9f, 0xa5, 0xd8, 0xb5, 0xe4, 0xad, 
+                       0x40, 0xe7, 0x36, 0xdd, 0xb4, 0xd3, 0x54, 0x12, 
+                       0x32, 0x80, 0x63, 0xfd, 0x2a, 0xab, 0x53, 0xe5, 
+                       0xea, 0x1e, 0x0a, 0x9f, 0x33, 0x25, 0x00, 0xa5, 
+                       0xdf, 0x94, 0x87, 0xd0, 0x7a, 0x5c, 0x92, 0xcc, 
+                       0x51, 0x2c, 0x88, 0x66, 0xc7, 0xe8, 0x60, 0xce, 
+                       0x93, 0xfd, 0xf1, 0x66, 0xa2, 0x49, 0x12, 0xb4, 
+                       0x22, 0x97, 0x61, 0x46, 0xae, 0x20, 0xce, 0x84, 
+                       0x6b, 0xb7, 0xdc, 0x9b, 0xa9, 0x4a, 0x76, 0x7a, 
+                       0xae, 0xf2, 0x0c, 0x0d, 0x61, 0xad, 0x02, 0x65, 
+                       0x5e, 0xa9, 0x2d, 0xc4, 0xc4, 0xe4, 0x1a, 0x89, 
+                       0x52, 0xc6, 0x51, 0xd3, 0x31, 0x74, 0xbe, 0x51, 
+                       0xa1, 0x0c, 0x42, 0x11, 0x10, 0xe6, 0xd8, 0x15, 
+                       0x88, 0xed, 0xe8, 0x21, 0x03, 0xa2, 0x52, 0xd8, 
+                       0xa7, 0x50, 0xe8, 0x76, 0x8d, 0xef, 0xff, 0xed, 
+                       0x91, 0x22, 0x81, 0x0a, 0xae, 0xb9, 0x9f, 0x91, 
+                       0x72, 0xaf, 0x82, 0xb6, 0x04, 0xdc, 0x4b, 0x8e, 
+                       0x51, 0xbc, 0xb0, 0x82, 0x35, 0xa6, 0xf4, 0x34, 
+                       0x13, 0x32, 0xe4, 0xca, 0x60, 0x48, 0x2a, 0x4b, 
+                       0xa1, 0xa0, 0x3b, 0x3e, 0x65, 0x00, 0x8f, 0xc5, 
+                       0xda, 0x76, 0xb7, 0x0b, 0xf1, 0x69, 0x0d, 0xb4, 
+                       0xea, 0xe2, 0x9c, 0x5f, 0x1b, 0xad, 0xd0, 0x3c, 
+                       0x5c, 0xcf, 0x2a, 0x55, 0xd7, 0x05, 0xdd, 0xcd, 
+                       0x86, 0xd4, 0x49, 0x51, 0x1c, 0xeb, 0x7e, 0xc3, 
+                       0x0b, 0xf1, 0x2b, 0x1f, 0xa3, 0x5b, 0x91, 0x3f, 
+                       0x9f, 0x74, 0x7a, 0x8a, 0xfd, 0x1b, 0x13, 0x0e, 
+                       0x94, 0xbf, 0xf9, 0x4e, 0xff, 0xd0, 0x1a, 0x91, 
+                       0x73, 0x5c, 0xa1, 0x72, 0x6a, 0xcd, 0x0b, 0x19, 
+                       0x7c, 0x4e, 0x5b, 0x03, 0x39, 0x36, 0x97, 0xe1, 
+                       0x26, 0x82, 0x6f, 0xb6, 0xbb, 0xde, 0x8e, 0xcc, 
+                       0x1e, 0x08, 0x29, 0x85, 0x16, 0xe2, 0xc9, 0xed, 
+                       0x03, 0xff, 0x3c, 0x1b, 0x78, 0x60, 0xf6, 0xde, 
+                       0x76, 0xd4, 0xce, 0xcd, 0x94, 0xc8, 0x11, 0x98, 
+                       0x55, 0xef, 0x52, 0x97, 0xca, 0x67, 0xe9, 0xf3, 
+                       0xe7, 0xff, 0x72, 0xb1, 0xe9, 0x97, 0x85, 0xca, 
+                       0x0a, 0x7e, 0x77, 0x20, 0xc5, 0xb3, 0x6d, 0xc6, 
+                       0xd7, 0x2c, 0xac, 0x95, 0x74, 0xc8, 0xcb, 0xbc, 
+                       0x2f, 0x80, 0x1e, 0x23, 0xe5, 0x6f, 0xd3, 0x44, 
+                       0xb0, 0x7f, 0x22, 0x15, 0x4b, 0xeb, 0xa0, 0xf0, 
+                       0x8c, 0xe8, 0x89, 0x1e, 0x64, 0x3e, 0xd9, 0x95, 
+                       0xc9, 0x4d, 0x9a, 0x69, 0xc9, 0xf1, 0xb5, 0xf4, 
+                       0x99, 0x02, 0x7a, 0x78, 0x57, 0x2a, 0xee, 0xbd, 
+                       0x74, 0xd2, 0x0c, 0xc3, 0x98, 0x81, 0xc2, 0x13, 
+                       0xee, 0x77, 0x0b, 0x10, 0x10, 0xe4, 0xbe, 0xa7, 
+                       0x18, 0x84, 0x69, 0x77, 0xae, 0x11, 0x9f, 0x7a, 
+                       0x02, 0x3a, 0xb5, 0x8c, 0xca, 0x0a, 0xd7, 0x52, 
+                       0xaf, 0xe6, 0x56, 0xbb, 0x3c, 0x17, 0x25, 0x6a, 
+                       0x9f, 0x6e, 0x9b, 0xf1, 0x9f, 0xdd, 0x5a, 0x38, 
+                       0xfc, 0x82, 0xbb, 0xe8, 0x72, 0xc5, 0x53, 0x9e, 
+                       0xdb, 0x60, 0x9e, 0xf4, 0xf7, 0x9c, 0x20, 0x3e, 
+                       0xbb, 0x14, 0x0f, 0x2e, 0x58, 0x3c, 0xb2, 0xad, 
+                       0x15, 0xb4, 0xaa, 0x5b, 0x65, 0x50, 0x16, 0xa8, 
+                       0x44, 0x92, 0x77, 0xdb, 0xd4, 0x77, 0xef, 0x2c, 
+                       0x8d, 0x6c, 0x01, 0x7d, 0xb7, 0x38, 0xb1, 0x8d, 
+                       0xeb, 0x4a, 0x42, 0x7d, 0x19, 0x23, 0xce, 0x3f, 
+                       0xf2, 0x62, 0x73, 0x57, 0x79, 0xa4, 0x18, 0xf2, 
+                       0x0a, 0x28, 0x2d, 0xf9, 0x20, 0x14, 0x7b, 0xea, 
+                       0xbe, 0x42, 0x1e, 0xe5, 0x31, 0x9d, 0x05, 0x68, 
+               }, {
+                       0x26, 0x4d, 0x3c, 0xa8, 0x51, 0x21, 0x94, 0xfe, 
+                       0xc3, 0x12, 0xc8, 0xc9, 0x89, 0x1f, 0x27, 0x9f, 
+                       0xef, 0xdd, 0x60, 0x8d, 0x0c, 0x02, 0x7b, 0x60, 
+                       0x48, 0x3a, 0x3f, 0xa8, 0x11, 0xd6, 0x5e, 0xe5, 
+                       0x9d, 0x52, 0xd9, 0xe4, 0x0e, 0xc5, 0x67, 0x2d, 
+                       0x81, 0x53, 0x2b, 0x38, 0xb6, 0xb0, 0x89, 0xce, 
+                       0x95, 0x1f, 0x0f, 0x9c, 0x35, 0x59, 0x0b, 0x8b, 
+                       0x97, 0x8d, 0x17, 0x52, 0x13, 0xf3, 0x29, 0xbb, 
+                       0x1c, 0x2f, 0xd3, 0x0f, 0x2f, 0x7f, 0x30, 0x49, 
+                       0x2a, 0x61, 0xa5, 0x32, 0xa7, 0x9f, 0x51, 0xd3, 
+                       0x6f, 0x5e, 0x31, 0xa7, 0xc9, 0xa1, 0x2c, 0x28, 
+                       0x60, 0x82, 0xff, 0x7d, 0x23, 0x94, 0xd1, 0x8f, 
+                       0x78, 0x3e, 0x1a, 0x8e, 0x72, 0xc7, 0x22, 0xca, 
+                       0xaa, 0xa5, 0x2d, 0x8f, 0x06, 0x56, 0x57, 0xd2, 
+                       0x63, 0x1f, 0xd2, 0x5b, 0xfd, 0x8e, 0x5b, 0xaa, 
+                       0xd6, 0xe5, 0x27, 0xd7, 0x63, 0x51, 0x75, 0x01, 
+                       0xc6, 0x8c, 0x5e, 0xdc, 0x3c, 0xdd, 0x55, 0x43, 
+                       0x5c, 0x53, 0x2d, 0x71, 0x25, 0xc8, 0x61, 0x4d, 
+                       0xee, 0xd9, 0xad, 0xaa, 0x3a, 0xca, 0xde, 0x58, 
+                       0x88, 0xb8, 0x7b, 0xef, 0x64, 0x1c, 0x4c, 0x99, 
+                       0x4c, 0x80, 0x91, 0xb5, 0xbc, 0xd3, 0x87, 0xf3, 
+                       0x96, 0x3f, 0xb5, 0xbc, 0x37, 0xaa, 0x92, 0x2f, 
+                       0xbf, 0xe3, 0xdf, 0x4e, 0x5b, 0x91, 0x5e, 0x6e, 
+                       0xb5, 0x14, 0x71, 0x7b, 0xdd, 0x2a, 0x74, 0x07, 
+                       0x9a, 0x50, 0x73, 0xf5, 0xc4, 0xbf, 0xd4, 0x6a, 
+                       0xdf, 0x7d, 0x28, 0x2e, 0x7a, 0x39, 0x3a, 0x52, 
+                       0x57, 0x9d, 0x11, 0xa0, 0x28, 0xda, 0x4d, 0x9c, 
+                       0xd9, 0xc7, 0x71, 0x24, 0xf9, 0x64, 0x8e, 0xe3, 
+                       0x83, 0xb1, 0xac, 0x76, 0x39, 0x30, 0xe7, 0x16, 
+                       0x2a, 0x8d, 0x37, 0xf3, 0x50, 0xb2, 0xf7, 0x4b, 
+                       0x84, 0x72, 0xcf, 0x09, 0x90, 0x20, 0x63, 0xc6, 
+                       0xb3, 0x2e, 0x8c, 0x2d, 0x92, 0x90, 0xce, 0xfb, 
+                       0xd7, 0x34, 0x6d, 0x1c, 0x77, 0x9a, 0x0d, 0xf5, 
+                       0x0e, 0xdc, 0xde, 0x45, 0x31, 0xda, 0x07, 0xb0, 
+                       0x99, 0xc6, 0x38, 0xe8, 0x3a, 0x75, 0x59, 0x44, 
+                       0xdf, 0x2a, 0xef, 0x1a, 0xa3, 0x17, 0x52, 0xfd, 
+                       0x32, 0x3d, 0xcb, 0x71, 0x0f, 0xb4, 0xbf, 0xbb, 
+                       0x9d, 0x22, 0xb9, 0x25, 0xbc, 0x35, 0x77, 0xe1, 
+                       0xb8, 0x94, 0x9e, 0x72, 0x9a, 0x90, 0xbb, 0xaf, 
+                       0xea, 0xcf, 0x7f, 0x78, 0x79, 0xe7, 0xb1, 0x14, 
+                       0x7e, 0x28, 0xba, 0x0b, 0xae, 0x94, 0x0d, 0xb7, 
+                       0x95, 0xa6, 0x1b, 0x15, 0xec, 0xf4, 0xdf, 0x8d, 
+                       0xb0, 0x7b, 0x82, 0x4b, 0xb0, 0x62, 0x80, 0x2c, 
+                       0xc9, 0x8a, 0x95, 0x45, 0xbb, 0x2a, 0xae, 0xed, 
+                       0x77, 0xcb, 0x3f, 0xc6, 0xdb, 0x15, 0xdc, 0xd7, 
+                       0xd8, 0x0d, 0x7d, 0x5b, 0xc4, 0x06, 0xc4, 0x97, 
+                       0x0a, 0x34, 0x78, 0xad, 0xa8, 0x89, 0x9b, 0x32, 
+                       0x91, 0x98, 0xeb, 0x61, 0xc1, 0x93, 0xfb, 0x62, 
+                       0x75, 0xaa, 0x8c, 0xa3, 0x40, 0x34, 0x4a, 0x75, 
+                       0xa8, 0x62, 0xae, 0xbe, 0x92, 0xee, 0xe1, 0xce, 
+                       0x03, 0x2f, 0xd9, 0x50, 0xb4, 0x7d, 0x77, 0x04, 
+                       0xa3, 0x87, 0x69, 0x23, 0xb4, 0xad, 0x62, 0x84, 
+                       0x4b, 0xf4, 0xa0, 0x9c, 0x4d, 0xbe, 0x8b, 0x43, 
+                       0x97, 0x18, 0x4b, 0x74, 0x71, 0x36, 0x0c, 0x95, 
+                       0x64, 0x88, 0x0a, 0xed, 0xdd, 0xb9, 0xba, 0xa4, 
+                       0xaf, 0x2e, 0x75, 0x39, 0x4b, 0x08, 0xcd, 0x32, 
+                       0xff, 0x47, 0x9c, 0x57, 0xa0, 0x7d, 0x3e, 0xab, 
+                       0x5d, 0x54, 0xde, 0x5f, 0x97, 0x38, 0xb8, 0xd2, 
+                       0x7f, 0x27, 0xa9, 0xf0, 0xab, 0x11, 0x79, 0x9d, 
+                       0x7b, 0x7f, 0xfe, 0xfb, 0x27, 0x04, 0xc9, 0x5c, 
+                       0x6a, 0xd1, 0x2c, 0x39, 0xf1, 0xe8, 0x67, 0xa4, 
+                       0xb7, 0xb1, 0xd7, 0x81, 0x8a, 0x4b, 0x75, 0x3d, 
+                       0xfd, 0x2a, 0x89, 0xcc, 0xb4, 0x5e, 0x00, 0x1a, 
+                       0x03, 0xa8, 0x67, 0xb1, 0x87, 0xf2, 0x25, 0xdd, 
+               },
+       },
+       {
+               0x00000002ULL,
+               32,
+               {
+                       0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, 
+                       0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, 
+                       0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, 
+                       0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95, 
+               },
+               512,
+               {
+                       0x26, 0x4d, 0x3c, 0xa8, 0x51, 0x21, 0x94, 0xfe, 
+                       0xc3, 0x12, 0xc8, 0xc9, 0x89, 0x1f, 0x27, 0x9f, 
+                       0xef, 0xdd, 0x60, 0x8d, 0x0c, 0x02, 0x7b, 0x60, 
+                       0x48, 0x3a, 0x3f, 0xa8, 0x11, 0xd6, 0x5e, 0xe5, 
+                       0x9d, 0x52, 0xd9, 0xe4, 0x0e, 0xc5, 0x67, 0x2d, 
+                       0x81, 0x53, 0x2b, 0x38, 0xb6, 0xb0, 0x89, 0xce, 
+                       0x95, 0x1f, 0x0f, 0x9c, 0x35, 0x59, 0x0b, 0x8b, 
+                       0x97, 0x8d, 0x17, 0x52, 0x13, 0xf3, 0x29, 0xbb, 
+                       0x1c, 0x2f, 0xd3, 0x0f, 0x2f, 0x7f, 0x30, 0x49, 
+                       0x2a, 0x61, 0xa5, 0x32, 0xa7, 0x9f, 0x51, 0xd3, 
+                       0x6f, 0x5e, 0x31, 0xa7, 0xc9, 0xa1, 0x2c, 0x28, 
+                       0x60, 0x82, 0xff, 0x7d, 0x23, 0x94, 0xd1, 0x8f, 
+                       0x78, 0x3e, 0x1a, 0x8e, 0x72, 0xc7, 0x22, 0xca, 
+                       0xaa, 0xa5, 0x2d, 0x8f, 0x06, 0x56, 0x57, 0xd2, 
+                       0x63, 0x1f, 0xd2, 0x5b, 0xfd, 0x8e, 0x5b, 0xaa, 
+                       0xd6, 0xe5, 0x27, 0xd7, 0x63, 0x51, 0x75, 0x01, 
+                       0xc6, 0x8c, 0x5e, 0xdc, 0x3c, 0xdd, 0x55, 0x43, 
+                       0x5c, 0x53, 0x2d, 0x71, 0x25, 0xc8, 0x61, 0x4d, 
+                       0xee, 0xd9, 0xad, 0xaa, 0x3a, 0xca, 0xde, 0x58, 
+                       0x88, 0xb8, 0x7b, 0xef, 0x64, 0x1c, 0x4c, 0x99, 
+                       0x4c, 0x80, 0x91, 0xb5, 0xbc, 0xd3, 0x87, 0xf3, 
+                       0x96, 0x3f, 0xb5, 0xbc, 0x37, 0xaa, 0x92, 0x2f, 
+                       0xbf, 0xe3, 0xdf, 0x4e, 0x5b, 0x91, 0x5e, 0x6e, 
+                       0xb5, 0x14, 0x71, 0x7b, 0xdd, 0x2a, 0x74, 0x07, 
+                       0x9a, 0x50, 0x73, 0xf5, 0xc4, 0xbf, 0xd4, 0x6a, 
+                       0xdf, 0x7d, 0x28, 0x2e, 0x7a, 0x39, 0x3a, 0x52, 
+                       0x57, 0x9d, 0x11, 0xa0, 0x28, 0xda, 0x4d, 0x9c, 
+                       0xd9, 0xc7, 0x71, 0x24, 0xf9, 0x64, 0x8e, 0xe3, 
+                       0x83, 0xb1, 0xac, 0x76, 0x39, 0x30, 0xe7, 0x16, 
+                       0x2a, 0x8d, 0x37, 0xf3, 0x50, 0xb2, 0xf7, 0x4b, 
+                       0x84, 0x72, 0xcf, 0x09, 0x90, 0x20, 0x63, 0xc6, 
+                       0xb3, 0x2e, 0x8c, 0x2d, 0x92, 0x90, 0xce, 0xfb, 
+                       0xd7, 0x34, 0x6d, 0x1c, 0x77, 0x9a, 0x0d, 0xf5, 
+                       0x0e, 0xdc, 0xde, 0x45, 0x31, 0xda, 0x07, 0xb0, 
+                       0x99, 0xc6, 0x38, 0xe8, 0x3a, 0x75, 0x59, 0x44, 
+                       0xdf, 0x2a, 0xef, 0x1a, 0xa3, 0x17, 0x52, 0xfd, 
+                       0x32, 0x3d, 0xcb, 0x71, 0x0f, 0xb4, 0xbf, 0xbb, 
+                       0x9d, 0x22, 0xb9, 0x25, 0xbc, 0x35, 0x77, 0xe1, 
+                       0xb8, 0x94, 0x9e, 0x72, 0x9a, 0x90, 0xbb, 0xaf, 
+                       0xea, 0xcf, 0x7f, 0x78, 0x79, 0xe7, 0xb1, 0x14, 
+                       0x7e, 0x28, 0xba, 0x0b, 0xae, 0x94, 0x0d, 0xb7, 
+                       0x95, 0xa6, 0x1b, 0x15, 0xec, 0xf4, 0xdf, 0x8d, 
+                       0xb0, 0x7b, 0x82, 0x4b, 0xb0, 0x62, 0x80, 0x2c, 
+                       0xc9, 0x8a, 0x95, 0x45, 0xbb, 0x2a, 0xae, 0xed, 
+                       0x77, 0xcb, 0x3f, 0xc6, 0xdb, 0x15, 0xdc, 0xd7, 
+                       0xd8, 0x0d, 0x7d, 0x5b, 0xc4, 0x06, 0xc4, 0x97, 
+                       0x0a, 0x34, 0x78, 0xad, 0xa8, 0x89, 0x9b, 0x32, 
+                       0x91, 0x98, 0xeb, 0x61, 0xc1, 0x93, 0xfb, 0x62, 
+                       0x75, 0xaa, 0x8c, 0xa3, 0x40, 0x34, 0x4a, 0x75, 
+                       0xa8, 0x62, 0xae, 0xbe, 0x92, 0xee, 0xe1, 0xce, 
+                       0x03, 0x2f, 0xd9, 0x50, 0xb4, 0x7d, 0x77, 0x04, 
+                       0xa3, 0x87, 0x69, 0x23, 0xb4, 0xad, 0x62, 0x84, 
+                       0x4b, 0xf4, 0xa0, 0x9c, 0x4d, 0xbe, 0x8b, 0x43, 
+                       0x97, 0x18, 0x4b, 0x74, 0x71, 0x36, 0x0c, 0x95, 
+                       0x64, 0x88, 0x0a, 0xed, 0xdd, 0xb9, 0xba, 0xa4, 
+                       0xaf, 0x2e, 0x75, 0x39, 0x4b, 0x08, 0xcd, 0x32, 
+                       0xff, 0x47, 0x9c, 0x57, 0xa0, 0x7d, 0x3e, 0xab, 
+                       0x5d, 0x54, 0xde, 0x5f, 0x97, 0x38, 0xb8, 0xd2, 
+                       0x7f, 0x27, 0xa9, 0xf0, 0xab, 0x11, 0x79, 0x9d, 
+                       0x7b, 0x7f, 0xfe, 0xfb, 0x27, 0x04, 0xc9, 0x5c, 
+                       0x6a, 0xd1, 0x2c, 0x39, 0xf1, 0xe8, 0x67, 0xa4, 
+                       0xb7, 0xb1, 0xd7, 0x81, 0x8a, 0x4b, 0x75, 0x3d, 
+                       0xfd, 0x2a, 0x89, 0xcc, 0xb4, 0x5e, 0x00, 0x1a, 
+                       0x03, 0xa8, 0x67, 0xb1, 0x87, 0xf2, 0x25, 0xdd, 
+               }, {
+                       0xfa, 0x76, 0x2a, 0x36, 0x80, 0xb7, 0x60, 0x07, 
+                       0x92, 0x8e, 0xd4, 0xa4, 0xf4, 0x9a, 0x94, 0x56, 
+                       0x03, 0x1b, 0x70, 0x47, 0x82, 0xe6, 0x5e, 0x16, 
+                       0xce, 0xcb, 0x54, 0xed, 0x7d, 0x01, 0x7b, 0x5e, 
+                       0x18, 0xab, 0xd6, 0x7b, 0x33, 0x8e, 0x81, 0x07, 
+                       0x8f, 0x21, 0xed, 0xb7, 0x86, 0x8d, 0x90, 0x1e, 
+                       0xbe, 0x9c, 0x73, 0x1a, 0x7c, 0x18, 0xb5, 0xe6, 
+                       0xde, 0xc1, 0xd6, 0xa7, 0x2e, 0x07, 0x8a, 0xc9, 
+                       0xa4, 0x26, 0x2f, 0x86, 0x0b, 0xee, 0xfa, 0x14, 
+                       0xf4, 0xe8, 0x21, 0x01, 0x82, 0x72, 0xe4, 0x11, 
+                       0xa9, 0x51, 0x50, 0x2b, 0x6e, 0x79, 0x06, 0x6e, 
+                       0x84, 0x25, 0x2c, 0x33, 0x46, 0xf3, 0xaa, 0x62, 
+                       0x34, 0x43, 0x51, 0xa2, 0x91, 0xd4, 0xbe, 0xdc, 
+                       0x7a, 0x07, 0x61, 0x8b, 0xde, 0xa2, 0xaf, 0x63, 
+                       0x14, 0x5c, 0xc7, 0xa4, 0xb8, 0xd4, 0x07, 0x06, 
+                       0x91, 0xae, 0x89, 0x0c, 0xd6, 0x57, 0x33, 0xe7, 
+                       0x94, 0x6e, 0x90, 0x21, 0xa1, 0xdf, 0xfc, 0x4c, 
+                       0x59, 0xf1, 0x59, 0x42, 0x5e, 0xe6, 0xd5, 0x0c, 
+                       0xa9, 0xb1, 0x35, 0xfa, 0x61, 0x62, 0xce, 0xa1, 
+                       0x8a, 0x93, 0x98, 0x38, 0xdc, 0x00, 0x0f, 0xb3, 
+                       0x86, 0xfa, 0xd0, 0x86, 0xac, 0xce, 0x5a, 0xc0, 
+                       0x7c, 0xb2, 0xec, 0xe7, 0xfd, 0x58, 0x0b, 0x00, 
+                       0xcf, 0xa5, 0xe9, 0x85, 0x89, 0x63, 0x1d, 0xc2, 
+                       0x5e, 0x8e, 0x2a, 0x3d, 0xaf, 0x2f, 0xfd, 0xec, 
+                       0x26, 0x53, 0x16, 0x59, 0x91, 0x2c, 0x9d, 0x8f, 
+                       0x7a, 0x15, 0xe5, 0x86, 0x5e, 0xa8, 0xfb, 0x58, 
+                       0x16, 0xd6, 0x20, 0x70, 0x52, 0xbd, 0x71, 0x28, 
+                       0xcd, 0x74, 0x3c, 0x12, 0xc8, 0x11, 0x87, 0x91, 
+                       0xa4, 0x73, 0x68, 0x11, 0x93, 0x5e, 0xb9, 0x82, 
+                       0xa5, 0x32, 0x34, 0x9e, 0x31, 0xdd, 0x40, 0x1e, 
+                       0x0b, 0x66, 0x0a, 0x56, 0x8c, 0xb1, 0xa4, 0x71, 
+                       0x1f, 0x55, 0x2f, 0x55, 0xde, 0xd5, 0x9f, 0x1f, 
+                       0x15, 0xbf, 0x71, 0x96, 0xb3, 0xca, 0x12, 0xa9, 
+                       0x1e, 0x48, 0x8e, 0xf5, 0x9d, 0x64, 0xf3, 0xa0, 
+                       0x2b, 0xf4, 0x52, 0x39, 0x49, 0x9a, 0xc6, 0x17, 
+                       0x6a, 0xe3, 0x21, 0xc4, 0xa2, 0x11, 0xec, 0x54, 
+                       0x53, 0x65, 0x97, 0x1c, 0x5d, 0x3f, 0x4f, 0x09, 
+                       0xd4, 0xeb, 0x13, 0x9b, 0xfd, 0xf2, 0x07, 0x3d, 
+                       0x33, 0x18, 0x0b, 0x21, 0x00, 0x2b, 0x65, 0xcc, 
+                       0x98, 0x65, 0xe7, 0x6c, 0xb2, 0x4c, 0xd9, 0x2c, 
+                       0x87, 0x4c, 0x24, 0xc1, 0x83, 0x50, 0x39, 0x9a, 
+                       0x93, 0x6a, 0xb3, 0x63, 0x70, 0x79, 0x29, 0x5d, 
+                       0x76, 0xc4, 0x17, 0x77, 0x6b, 0x94, 0xef, 0xce, 
+                       0x3a, 0x0e, 0xf7, 0x20, 0x6b, 0x15, 0x11, 0x05, 
+                       0x19, 0x65, 0x5c, 0x95, 0x6c, 0xbd, 0x8b, 0x24, 
+                       0x89, 0x40, 0x5e, 0xe2, 0xb0, 0x9a, 0x6b, 0x6e, 
+                       0xeb, 0xe0, 0xc5, 0x37, 0x90, 0xa1, 0x2a, 0x89, 
+                       0x98, 0x37, 0x8b, 0x33, 0xa5, 0xb7, 0x11, 0x59, 
+                       0x62, 0x5f, 0x4b, 0xa4, 0x9d, 0x2a, 0x2f, 0xdb, 
+                       0xa5, 0x9f, 0xbf, 0x08, 0x97, 0xbc, 0x7a, 0xab, 
+                       0xd8, 0xd7, 0x07, 0xdc, 0x14, 0x0a, 0x80, 0xf0, 
+                       0xf3, 0x09, 0xf8, 0x35, 0xd3, 0xda, 0x54, 0xab, 
+                       0x58, 0x4e, 0x50, 0x1d, 0xfa, 0x0e, 0xe9, 0x77, 
+                       0xfe, 0xc5, 0x43, 0xf7, 0x41, 0x86, 0xa8, 0x02, 
+                       0xb9, 0xa3, 0x7a, 0xdb, 0x3e, 0x82, 0x91, 0xec, 
+                       0xa0, 0x4d, 0x66, 0x52, 0x0d, 0x22, 0x9e, 0x60, 
+                       0x40, 0x1e, 0x72, 0x82, 0xbe, 0xf4, 0x86, 0xae, 
+                       0x05, 0x9a, 0xa7, 0x06, 0x96, 0xe0, 0xe3, 0x05, 
+                       0xd7, 0x77, 0x14, 0x0a, 0x7a, 0x88, 0x3e, 0xcd, 
+                       0xcb, 0x69, 0xb9, 0xff, 0x93, 0x8e, 0x8a, 0x42, 
+                       0x31, 0x86, 0x4c, 0x69, 0xca, 0x2c, 0x20, 0x43, 
+                       0xbe, 0xd0, 0x07, 0xff, 0x3e, 0x60, 0x5e, 0x01, 
+                       0x4b, 0xcf, 0x51, 0x81, 0x38, 0xdc, 0x3a, 0x25, 
+                       0xc5, 0xe2, 0x36, 0x17, 0x1a, 0x2d, 0x01, 0xd6, 
+               },
+       },
+       {
+               0x000000fdULL,
+               32,
+               {
+                       0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, 
+                       0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, 
+                       0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, 
+                       0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95, 
+               },
+               512,
+               {
+                       0x8e, 0x41, 0xb7, 0x8c, 0x39, 0x0b, 0x5a, 0xf9, 
+                       0xd7, 0x58, 0xbb, 0x21, 0x4a, 0x67, 0xe9, 0xf6, 
+                       0xbf, 0x77, 0x27, 0xb0, 0x9a, 0xc6, 0x12, 0x40, 
+                       0x84, 0xc3, 0x76, 0x11, 0x39, 0x8f, 0xa4, 0x5d, 
+                       0xaa, 0xd9, 0x48, 0x68, 0x60, 0x0e, 0xd3, 0x91, 
+                       0xfb, 0x1a, 0xcd, 0x48, 0x57, 0xa9, 0x5b, 0x46, 
+                       0x6e, 0x62, 0xef, 0x9f, 0x4b, 0x37, 0x72, 0x44, 
+                       0xd1, 0xc1, 0x52, 0xe7, 0xb3, 0x0d, 0x73, 0x1a, 
+                       0xad, 0x30, 0xc7, 0x16, 0xd2, 0x14, 0xb7, 0x07, 
+                       0xae, 0xd9, 0x9e, 0xb5, 0xb5, 0xe5, 0x80, 0xb3, 
+                       0xe8, 0x87, 0xcf, 0x74, 0x97, 0x46, 0x56, 0x51, 
+                       0xd4, 0xb6, 0x0e, 0x60, 0x42, 0x05, 0x1d, 0xa3, 
+                       0x69, 0x3c, 0x3b, 0x78, 0xc1, 0x44, 0x89, 0x54, 
+                       0x3b, 0xe8, 0xb6, 0xad, 0x0b, 0xa6, 0x29, 0x56, 
+                       0x5b, 0xba, 0x20, 0x23, 0x13, 0xba, 0x7b, 0x0d, 
+                       0x0c, 0x94, 0xa3, 0x25, 0x2b, 0x67, 0x6f, 0x46, 
+                       0xcc, 0x02, 0xce, 0x0f, 0x8a, 0x7d, 0x34, 0xc0, 
+                       0xed, 0x22, 0x91, 0x29, 0x67, 0x3c, 0x1f, 0x61, 
+                       0xae, 0xd5, 0x79, 0xd0, 0x8a, 0x92, 0x03, 0xa2, 
+                       0x5a, 0xac, 0x3a, 0x77, 0xe9, 0xdb, 0x60, 0x26, 
+                       0x79, 0x96, 0xdb, 0x38, 0xdf, 0x63, 0x73, 0x56, 
+                       0xd9, 0xdc, 0xd1, 0x63, 0x2e, 0x36, 0x99, 0x39, 
+                       0xf2, 0xa2, 0x9d, 0x89, 0x34, 0x5c, 0x66, 0xe0, 
+                       0x50, 0x66, 0xf1, 0xa3, 0x67, 0x7a, 0xef, 0x18, 
+                       0xde, 0xa4, 0x11, 0x3f, 0xae, 0xb6, 0x29, 0xe4, 
+                       0x67, 0x21, 0xa6, 0x6d, 0x0a, 0x7e, 0x78, 0x5d, 
+                       0x3e, 0x29, 0xaf, 0x25, 0x94, 0xeb, 0x67, 0xdf, 
+                       0xa9, 0x82, 0xaf, 0xfe, 0x0a, 0xac, 0x05, 0x8f, 
+                       0x6e, 0x15, 0x86, 0x42, 0x69, 0xb1, 0x35, 0x41, 
+                       0x82, 0x61, 0xfc, 0x3a, 0xfb, 0x08, 0x94, 0x72, 
+                       0xcf, 0x68, 0xc4, 0x5d, 0xd7, 0xf2, 0x31, 0xc6, 
+                       0x24, 0x9b, 0xa0, 0x25, 0x5e, 0x1e, 0x03, 0x38, 
+                       0x33, 0xfc, 0x4d, 0x00, 0xa3, 0xfe, 0x02, 0x13, 
+                       0x2d, 0x7b, 0xc3, 0x87, 0x36, 0x14, 0xb8, 0xae, 
+                       0xe3, 0x42, 0x73, 0x58, 0x1e, 0xa0, 0x32, 0x5c, 
+                       0x81, 0xf0, 0x27, 0x0a, 0xff, 0xa1, 0x36, 0x41, 
+                       0xd0, 0x52, 0xd3, 0x6f, 0x07, 0x57, 0xd4, 0x84, 
+                       0x01, 0x43, 0x54, 0xd0, 0x2d, 0x68, 0x83, 0xca, 
+                       0x15, 0xc2, 0x4d, 0x8c, 0x39, 0x56, 0xb1, 0xbd, 
+                       0x02, 0x7b, 0xcf, 0x41, 0xf1, 0x51, 0xfd, 0x80, 
+                       0x23, 0xc5, 0x34, 0x0e, 0x56, 0x06, 0xf3, 0x7e, 
+                       0x90, 0xfd, 0xb8, 0x7c, 0x86, 0xfb, 0x4f, 0xa6, 
+                       0x34, 0xb3, 0x71, 0x8a, 0x30, 0xba, 0xce, 0x06, 
+                       0xa6, 0x6e, 0xaf, 0x8f, 0x63, 0xc4, 0xaa, 0x3b, 
+                       0x63, 0x78, 0x26, 0xa8, 0x7f, 0xe8, 0xcf, 0xa4, 
+                       0x42, 0x82, 0xe9, 0x2c, 0xb1, 0x61, 0x5a, 0xf3, 
+                       0xa2, 0x8e, 0x53, 0xbc, 0x74, 0xc7, 0xcb, 0xa1, 
+                       0xa0, 0x97, 0x7b, 0xe9, 0x06, 0x5d, 0x0c, 0x1a, 
+                       0x5d, 0xec, 0x6c, 0x54, 0xae, 0x38, 0xd3, 0x7f, 
+                       0x37, 0xaa, 0x35, 0x28, 0x3e, 0x04, 0x8e, 0x55, 
+                       0x30, 0xa8, 0x5c, 0x4e, 0x7a, 0x29, 0xd7, 0xb9, 
+                       0x2e, 0xc0, 0xc3, 0x16, 0x9c, 0xdf, 0x2a, 0x80, 
+                       0x5c, 0x76, 0x04, 0xbc, 0xe6, 0x00, 0x49, 0xb9, 
+                       0xfb, 0x7b, 0x8e, 0xaa, 0xc1, 0x0f, 0x51, 0xae, 
+                       0x23, 0x79, 0x4c, 0xeb, 0xa6, 0x8b, 0xb5, 0x81, 
+                       0x12, 0xe2, 0x93, 0xb9, 0xb6, 0x92, 0xca, 0x72, 
+                       0x1b, 0x37, 0xc6, 0x62, 0xf8, 0x57, 0x4e, 0xd4, 
+                       0xdb, 0xa6, 0xf8, 0x8e, 0x17, 0x08, 0x81, 0xc8, 
+                       0x2c, 0xdd, 0xc1, 0x03, 0x4a, 0x0c, 0xa7, 0xe2, 
+                       0x84, 0xbf, 0x09, 0x62, 0xb6, 0xb2, 0x62, 0x92, 
+                       0xd8, 0x36, 0xfa, 0x9f, 0x73, 0xc1, 0xac, 0x77, 
+                       0x0e, 0xef, 0x0f, 0x2d, 0x3a, 0x1e, 0xaf, 0x61, 
+                       0xd3, 0xe0, 0x35, 0x55, 0xfd, 0x42, 0x4e, 0xed, 
+                       0xd6, 0x7e, 0x18, 0xa1, 0x80, 0x94, 0xf8, 0x88, 
+               }, {
+                       0xd5, 0x5f, 0x68, 0x4f, 0x81, 0xf4, 0x42, 0x6e, 
+                       0x9f, 0xde, 0x92, 0xa5, 0xff, 0x02, 0xdf, 0x2a, 
+                       0xc8, 0x96, 0xaf, 0x63, 0x96, 0x28, 0x88, 0xa9, 
+                       0x79, 0x10, 0xc1, 0x37, 0x9e, 0x20, 0xb0, 0xa3, 
+                       0xb1, 0xdb, 0x61, 0x3f, 0xb7, 0xfe, 0x2e, 0x07, 
+                       0x00, 0x43, 0x29, 0xea, 0x5c, 0x22, 0xbf, 0xd3, 
+                       0x3e, 0x3d, 0xbe, 0x4c, 0xf5, 0x8c, 0xc6, 0x08, 
+                       0xc2, 0xc2, 0x6c, 0x19, 0xa2, 0xe2, 0xfe, 0x22, 
+                       0xf9, 0x87, 0x32, 0xc2, 0xb5, 0xcb, 0x84, 0x4c, 
+                       0xc6, 0xc0, 0x70, 0x2d, 0x91, 0xe1, 0xd5, 0x0f, 
+                       0xc4, 0x38, 0x2a, 0x7e, 0xba, 0x56, 0x35, 0xcd, 
+                       0x60, 0x24, 0x32, 0xa2, 0x30, 0x6a, 0xc4, 0xce, 
+                       0x82, 0xf8, 0xd7, 0x0c, 0x8d, 0x9b, 0xc1, 0x5f, 
+                       0x91, 0x8f, 0xe7, 0x1e, 0x74, 0xc6, 0x22, 0xd5, 
+                       0xcf, 0x71, 0x17, 0x8b, 0xf6, 0xe0, 0xb9, 0xcc, 
+                       0x9f, 0x2b, 0x41, 0xdd, 0x8d, 0xbe, 0x44, 0x1c, 
+                       0x41, 0xcd, 0x0c, 0x73, 0xa6, 0xdc, 0x47, 0xa3, 
+                       0x48, 0xf6, 0x70, 0x2f, 0x9d, 0x0e, 0x9b, 0x1b, 
+                       0x14, 0x31, 0xe9, 0x48, 0xe2, 0x99, 0xb9, 0xec, 
+                       0x22, 0x72, 0xab, 0x2c, 0x5f, 0x0c, 0x7b, 0xe8, 
+                       0x6a, 0xff, 0xa5, 0xde, 0xc8, 0x7a, 0x0b, 0xee, 
+                       0x81, 0xd3, 0xd5, 0x00, 0x07, 0xed, 0xaa, 0x2b, 
+                       0xcf, 0xcc, 0xb3, 0x56, 0x05, 0x15, 0x5f, 0xf3, 
+                       0x6e, 0xd8, 0xed, 0xd4, 0xa4, 0x0d, 0xcd, 0x4b, 
+                       0x24, 0x3a, 0xcd, 0x11, 0xb2, 0xb9, 0x87, 0xbd, 
+                       0xbf, 0xaf, 0x91, 0xa7, 0xca, 0xc2, 0x7e, 0x9c, 
+                       0x5a, 0xea, 0x52, 0x5e, 0xe5, 0x3d, 0xe7, 0xb2, 
+                       0xd3, 0x33, 0x2c, 0x86, 0x44, 0x40, 0x2b, 0x82, 
+                       0x3e, 0x94, 0xa7, 0xdb, 0x26, 0x27, 0x6d, 0x2d, 
+                       0x23, 0xaa, 0x07, 0x18, 0x0f, 0x76, 0xb4, 0xfd, 
+                       0x29, 0xb9, 0xc0, 0x82, 0x30, 0x99, 0xc9, 0xd6, 
+                       0x2c, 0x51, 0x98, 0x80, 0xae, 0xe7, 0xe9, 0x69, 
+                       0x76, 0x17, 0xc1, 0x49, 0x7d, 0x47, 0xbf, 0x3e, 
+                       0x57, 0x19, 0x50, 0x31, 0x14, 0x21, 0xb6, 0xb7, 
+                       0x34, 0xd3, 0x8b, 0x0d, 0xb9, 0x1e, 0xb8, 0x53, 
+                       0x31, 0xb9, 0x1e, 0xa9, 0xf6, 0x15, 0x30, 0xf5, 
+                       0x45, 0x12, 0xa5, 0xa5, 0x2a, 0x4b, 0xad, 0x58, 
+                       0x9e, 0xb6, 0x97, 0x81, 0xd5, 0x37, 0xf2, 0x32, 
+                       0x97, 0xbb, 0x45, 0x9b, 0xda, 0xd2, 0x94, 0x8a, 
+                       0x29, 0xe1, 0x55, 0x0b, 0xf4, 0x78, 0x7e, 0x0b, 
+                       0xe9, 0x5b, 0xb1, 0x73, 0xcf, 0x5f, 0xab, 0x17, 
+                       0xda, 0xb7, 0xa1, 0x3a, 0x05, 0x2a, 0x63, 0x45, 
+                       0x3d, 0x97, 0xcc, 0xec, 0x1a, 0x32, 0x19, 0x54, 
+                       0x88, 0x6b, 0x7a, 0x12, 0x99, 0xfa, 0xae, 0xec, 
+                       0xae, 0x35, 0xc6, 0xea, 0xac, 0xa7, 0x53, 0xb0, 
+                       0x41, 0xb5, 0xe5, 0xf0, 0x93, 0xbf, 0x83, 0x39, 
+                       0x7f, 0xd2, 0x1d, 0xd6, 0xb3, 0x01, 0x20, 0x66, 
+                       0xfc, 0xc0, 0x58, 0xcc, 0x32, 0xc3, 0xb0, 0x9d, 
+                       0x75, 0x62, 0xde, 0xe2, 0x95, 0x09, 0xb5, 0x83, 
+                       0x93, 0x92, 0xc9, 0xff, 0x05, 0xf5, 0x1f, 0x31, 
+                       0x66, 0xaa, 0xac, 0x4a, 0xc5, 0xf2, 0x38, 0x03, 
+                       0x8a, 0x30, 0x45, 0xe6, 0xf7, 0x2e, 0x48, 0xef, 
+                       0x0f, 0xe8, 0xbc, 0x67, 0x5e, 0x82, 0xc3, 0x18, 
+                       0xa2, 0x68, 0xe4, 0x39, 0x70, 0x27, 0x1b, 0xf1, 
+                       0x19, 0xb8, 0x1b, 0xf6, 0xa9, 0x82, 0x74, 0x65, 
+                       0x54, 0xf8, 0x4e, 0x72, 0xb9, 0xf0, 0x02, 0x80, 
+                       0xa3, 0x20, 0xa0, 0x81, 0x42, 0x92, 0x3c, 0x23, 
+                       0xc8, 0x83, 0x42, 0x3f, 0xf9, 0x49, 0x82, 0x7f, 
+                       0x29, 0xbb, 0xac, 0xdc, 0x1c, 0xcd, 0xb0, 0x49, 
+                       0x38, 0xce, 0x60, 0x98, 0xc9, 0x5b, 0xa6, 0xb3, 
+                       0x25, 0x28, 0xf4, 0xef, 0x78, 0xee, 0xd7, 0x78, 
+                       0xb2, 0xe1, 0x22, 0xdd, 0xfd, 0x1c, 0xbd, 0xd1, 
+                       0x1d, 0x1c, 0x0a, 0x67, 0x83, 0xe0, 0x11, 0xfc, 
+                       0x53, 0x6d, 0x63, 0xd0, 0x53, 0x26, 0x06, 0x37, 
+               },
+       },
+       {
+               0x000000feULL,
+               32,
+               {
+                       0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, 
+                       0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, 
+                       0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, 
+                       0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95, 
+               },
+               512,
+               {
+                       0xd5, 0x5f, 0x68, 0x4f, 0x81, 0xf4, 0x42, 0x6e, 
+                       0x9f, 0xde, 0x92, 0xa5, 0xff, 0x02, 0xdf, 0x2a, 
+                       0xc8, 0x96, 0xaf, 0x63, 0x96, 0x28, 0x88, 0xa9, 
+                       0x79, 0x10, 0xc1, 0x37, 0x9e, 0x20, 0xb0, 0xa3, 
+                       0xb1, 0xdb, 0x61, 0x3f, 0xb7, 0xfe, 0x2e, 0x07, 
+                       0x00, 0x43, 0x29, 0xea, 0x5c, 0x22, 0xbf, 0xd3, 
+                       0x3e, 0x3d, 0xbe, 0x4c, 0xf5, 0x8c, 0xc6, 0x08, 
+                       0xc2, 0xc2, 0x6c, 0x19, 0xa2, 0xe2, 0xfe, 0x22, 
+                       0xf9, 0x87, 0x32, 0xc2, 0xb5, 0xcb, 0x84, 0x4c, 
+                       0xc6, 0xc0, 0x70, 0x2d, 0x91, 0xe1, 0xd5, 0x0f, 
+                       0xc4, 0x38, 0x2a, 0x7e, 0xba, 0x56, 0x35, 0xcd, 
+                       0x60, 0x24, 0x32, 0xa2, 0x30, 0x6a, 0xc4, 0xce, 
+                       0x82, 0xf8, 0xd7, 0x0c, 0x8d, 0x9b, 0xc1, 0x5f, 
+                       0x91, 0x8f, 0xe7, 0x1e, 0x74, 0xc6, 0x22, 0xd5, 
+                       0xcf, 0x71, 0x17, 0x8b, 0xf6, 0xe0, 0xb9, 0xcc, 
+                       0x9f, 0x2b, 0x41, 0xdd, 0x8d, 0xbe, 0x44, 0x1c, 
+                       0x41, 0xcd, 0x0c, 0x73, 0xa6, 0xdc, 0x47, 0xa3, 
+                       0x48, 0xf6, 0x70, 0x2f, 0x9d, 0x0e, 0x9b, 0x1b, 
+                       0x14, 0x31, 0xe9, 0x48, 0xe2, 0x99, 0xb9, 0xec, 
+                       0x22, 0x72, 0xab, 0x2c, 0x5f, 0x0c, 0x7b, 0xe8, 
+                       0x6a, 0xff, 0xa5, 0xde, 0xc8, 0x7a, 0x0b, 0xee, 
+                       0x81, 0xd3, 0xd5, 0x00, 0x07, 0xed, 0xaa, 0x2b, 
+                       0xcf, 0xcc, 0xb3, 0x56, 0x05, 0x15, 0x5f, 0xf3, 
+                       0x6e, 0xd8, 0xed, 0xd4, 0xa4, 0x0d, 0xcd, 0x4b, 
+                       0x24, 0x3a, 0xcd, 0x11, 0xb2, 0xb9, 0x87, 0xbd, 
+                       0xbf, 0xaf, 0x91, 0xa7, 0xca, 0xc2, 0x7e, 0x9c, 
+                       0x5a, 0xea, 0x52, 0x5e, 0xe5, 0x3d, 0xe7, 0xb2, 
+                       0xd3, 0x33, 0x2c, 0x86, 0x44, 0x40, 0x2b, 0x82, 
+                       0x3e, 0x94, 0xa7, 0xdb, 0x26, 0x27, 0x6d, 0x2d, 
+                       0x23, 0xaa, 0x07, 0x18, 0x0f, 0x76, 0xb4, 0xfd, 
+                       0x29, 0xb9, 0xc0, 0x82, 0x30, 0x99, 0xc9, 0xd6, 
+                       0x2c, 0x51, 0x98, 0x80, 0xae, 0xe7, 0xe9, 0x69, 
+                       0x76, 0x17, 0xc1, 0x49, 0x7d, 0x47, 0xbf, 0x3e, 
+                       0x57, 0x19, 0x50, 0x31, 0x14, 0x21, 0xb6, 0xb7, 
+                       0x34, 0xd3, 0x8b, 0x0d, 0xb9, 0x1e, 0xb8, 0x53, 
+                       0x31, 0xb9, 0x1e, 0xa9, 0xf6, 0x15, 0x30, 0xf5, 
+                       0x45, 0x12, 0xa5, 0xa5, 0x2a, 0x4b, 0xad, 0x58, 
+                       0x9e, 0xb6, 0x97, 0x81, 0xd5, 0x37, 0xf2, 0x32, 
+                       0x97, 0xbb, 0x45, 0x9b, 0xda, 0xd2, 0x94, 0x8a, 
+                       0x29, 0xe1, 0x55, 0x0b, 0xf4, 0x78, 0x7e, 0x0b, 
+                       0xe9, 0x5b, 0xb1, 0x73, 0xcf, 0x5f, 0xab, 0x17, 
+                       0xda, 0xb7, 0xa1, 0x3a, 0x05, 0x2a, 0x63, 0x45, 
+                       0x3d, 0x97, 0xcc, 0xec, 0x1a, 0x32, 0x19, 0x54, 
+                       0x88, 0x6b, 0x7a, 0x12, 0x99, 0xfa, 0xae, 0xec, 
+                       0xae, 0x35, 0xc6, 0xea, 0xac, 0xa7, 0x53, 0xb0, 
+                       0x41, 0xb5, 0xe5, 0xf0, 0x93, 0xbf, 0x83, 0x39, 
+                       0x7f, 0xd2, 0x1d, 0xd6, 0xb3, 0x01, 0x20, 0x66, 
+                       0xfc, 0xc0, 0x58, 0xcc, 0x32, 0xc3, 0xb0, 0x9d, 
+                       0x75, 0x62, 0xde, 0xe2, 0x95, 0x09, 0xb5, 0x83, 
+                       0x93, 0x92, 0xc9, 0xff, 0x05, 0xf5, 0x1f, 0x31, 
+                       0x66, 0xaa, 0xac, 0x4a, 0xc5, 0xf2, 0x38, 0x03, 
+                       0x8a, 0x30, 0x45, 0xe6, 0xf7, 0x2e, 0x48, 0xef, 
+                       0x0f, 0xe8, 0xbc, 0x67, 0x5e, 0x82, 0xc3, 0x18, 
+                       0xa2, 0x68, 0xe4, 0x39, 0x70, 0x27, 0x1b, 0xf1, 
+                       0x19, 0xb8, 0x1b, 0xf6, 0xa9, 0x82, 0x74, 0x65, 
+                       0x54, 0xf8, 0x4e, 0x72, 0xb9, 0xf0, 0x02, 0x80, 
+                       0xa3, 0x20, 0xa0, 0x81, 0x42, 0x92, 0x3c, 0x23, 
+                       0xc8, 0x83, 0x42, 0x3f, 0xf9, 0x49, 0x82, 0x7f, 
+                       0x29, 0xbb, 0xac, 0xdc, 0x1c, 0xcd, 0xb0, 0x49, 
+                       0x38, 0xce, 0x60, 0x98, 0xc9, 0x5b, 0xa6, 0xb3, 
+                       0x25, 0x28, 0xf4, 0xef, 0x78, 0xee, 0xd7, 0x78, 
+                       0xb2, 0xe1, 0x22, 0xdd, 0xfd, 0x1c, 0xbd, 0xd1, 
+                       0x1d, 0x1c, 0x0a, 0x67, 0x83, 0xe0, 0x11, 0xfc, 
+                       0x53, 0x6d, 0x63, 0xd0, 0x53, 0x26, 0x06, 0x37, 
+               }, {
+                       0x72, 0xef, 0xc1, 0xeb, 0xfe, 0x1e, 0xe2, 0x59, 
+                       0x75, 0xa6, 0xeb, 0x3a, 0xa8, 0x58, 0x9d, 0xda, 
+                       0x2b, 0x26, 0x1f, 0x1c, 0x85, 0xbd, 0xab, 0x44, 
+                       0x2a, 0x9e, 0x5b, 0x2d, 0xd1, 0xd7, 0xc3, 0x95, 
+                       0x7a, 0x16, 0xfc, 0x08, 0xe5, 0x26, 0xd4, 0xb1, 
+                       0x22, 0x3f, 0x1b, 0x12, 0x32, 0xa1, 0x1a, 0xf2, 
+                       0x74, 0xc3, 0xd7, 0x0d, 0xac, 0x57, 0xf8, 0x3e, 
+                       0x09, 0x83, 0xc4, 0x98, 0xf1, 0xa6, 0xf1, 0xae, 
+                       0xcb, 0x02, 0x1c, 0x3e, 0x70, 0x08, 0x5a, 0x1e, 
+                       0x52, 0x7f, 0x1c, 0xe4, 0x1e, 0xe5, 0x91, 0x1a, 
+                       0x82, 0x02, 0x01, 0x61, 0x52, 0x9c, 0xd8, 0x27, 
+                       0x73, 0x76, 0x2d, 0xaf, 0x54, 0x59, 0xde, 0x94, 
+                       0xa0, 0xa8, 0x2a, 0xda, 0xe7, 0xe1, 0x70, 0x3c, 
+                       0x80, 0x85, 0x43, 0xc2, 0x9e, 0xd6, 0xfb, 0x32, 
+                       0xd9, 0xe0, 0x04, 0x32, 0x7c, 0x13, 0x55, 0x18, 
+                       0x0c, 0x99, 0x5a, 0x07, 0x74, 0x14, 0x93, 0xa0, 
+                       0x9c, 0x21, 0xba, 0x01, 0xa3, 0x87, 0x88, 0x2d, 
+                       0xa4, 0xf6, 0x25, 0x34, 0xb8, 0x7b, 0xb1, 0x5d, 
+                       0x60, 0xd1, 0x97, 0x20, 0x1c, 0x0f, 0xd3, 0xbf, 
+                       0x30, 0xc1, 0x50, 0x0a, 0x3e, 0xcf, 0xec, 0xdd, 
+                       0x66, 0xd8, 0x72, 0x1f, 0x90, 0xbc, 0xc4, 0xc1, 
+                       0x7e, 0xe9, 0x25, 0xc6, 0x1b, 0x0a, 0x03, 0x72, 
+                       0x7a, 0x9c, 0x0d, 0x5f, 0x5c, 0xa4, 0x62, 0xfb, 
+                       0xfa, 0x0a, 0xf1, 0xc2, 0x51, 0x3a, 0x9d, 0x9d, 
+                       0x4b, 0x53, 0x45, 0xbd, 0x27, 0xa5, 0xf6, 0xe6, 
+                       0x53, 0xf7, 0x51, 0x69, 0x3e, 0x6b, 0x6a, 0x2b, 
+                       0x8e, 0xad, 0x57, 0xd5, 0x11, 0xe0, 0x0e, 0x58, 
+                       0xc4, 0x5b, 0x7b, 0x8d, 0x00, 0x5a, 0xf7, 0x92, 
+                       0x88, 0xf5, 0xc7, 0xc2, 0x2f, 0xd4, 0xf1, 0xbf, 
+                       0x7a, 0x89, 0x8b, 0x03, 0xa5, 0x63, 0x4c, 0x6a, 
+                       0x1a, 0xe3, 0xf9, 0xfa, 0xe5, 0xde, 0x4f, 0x29, 
+                       0x6a, 0x28, 0x96, 0xb2, 0x3e, 0x7e, 0xd4, 0x3e, 
+                       0xd1, 0x4f, 0xa5, 0xa2, 0x80, 0x3f, 0x4d, 0x28, 
+                       0xf0, 0xd3, 0xff, 0xcf, 0x24, 0x75, 0x76, 0x77, 
+                       0xae, 0xbd, 0xb4, 0x7b, 0xb3, 0x88, 0x37, 0x87, 
+                       0x08, 0x94, 0x8a, 0x8d, 0x41, 0x26, 0xed, 0x18, 
+                       0x39, 0xe0, 0xda, 0x29, 0xa5, 0x37, 0xa8, 0xc1, 
+                       0x98, 0xb3, 0xc6, 0x6a, 0xb0, 0x07, 0x12, 0xdd, 
+                       0x26, 0x16, 0x74, 0xbf, 0x45, 0xa7, 0x3d, 0x67, 
+                       0xf7, 0x69, 0x14, 0xf8, 0x30, 0xca, 0x01, 0x4b, 
+                       0x65, 0x59, 0x6f, 0x27, 0xe4, 0xcf, 0x62, 0xde, 
+                       0x66, 0x12, 0x5a, 0x55, 0x66, 0xdf, 0x99, 0x75, 
+                       0x15, 0x56, 0x28, 0xb4, 0x00, 0xfb, 0xfb, 0x3a, 
+                       0x29, 0x04, 0x0e, 0xd5, 0x0f, 0xaf, 0xfd, 0xbb, 
+                       0x18, 0xae, 0xce, 0x7c, 0x5c, 0x44, 0x69, 0x32, 
+                       0x60, 0xaa, 0xb3, 0x86, 0xc0, 0xa3, 0x7b, 0x11, 
+                       0xb1, 0x14, 0xf1, 0xc4, 0x15, 0xae, 0xbb, 0x65, 
+                       0x3b, 0xe4, 0x68, 0x17, 0x94, 0x28, 0xd4, 0x3a, 
+                       0x4d, 0x8b, 0xc3, 0xec, 0x38, 0x81, 0x3e, 0xca, 
+                       0x30, 0xa1, 0x3c, 0xf1, 0xbb, 0x18, 0xd5, 0x24, 
+                       0xf1, 0x99, 0x2d, 0x44, 0xd8, 0xb1, 0xa4, 0x2e, 
+                       0xa3, 0x0b, 0x22, 0xe6, 0xc9, 0x5b, 0x19, 0x9d, 
+                       0x8d, 0x18, 0x2f, 0x88, 0x40, 0xb0, 0x9d, 0x05, 
+                       0x95, 0x85, 0xc3, 0x1a, 0xd6, 0x91, 0xfa, 0x06, 
+                       0x19, 0xff, 0x03, 0x8a, 0xca, 0x2c, 0x39, 0xa9, 
+                       0x43, 0x42, 0x11, 0x57, 0x36, 0x17, 0x17, 0xc4, 
+                       0x9d, 0x32, 0x20, 0x28, 0xa7, 0x46, 0x48, 0x11, 
+                       0x3b, 0xd8, 0xc9, 0xd7, 0xec, 0x77, 0xcf, 0x3c, 
+                       0x89, 0xc1, 0xec, 0x87, 0x18, 0xce, 0xff, 0x85, 
+                       0x16, 0xd9, 0x6b, 0x34, 0xc3, 0xc6, 0x14, 0xf1, 
+                       0x06, 0x99, 0xc9, 0xab, 0xc4, 0xed, 0x04, 0x11, 
+                       0x50, 0x62, 0x23, 0xbe, 0xa1, 0x6a, 0xf3, 0x5c, 
+                       0x88, 0x3a, 0xcc, 0xdb, 0xe1, 0x10, 0x4e, 0xef, 
+                       0x0c, 0xfd, 0xb5, 0x4e, 0x12, 0xfb, 0x23, 0x0a, 
+               },
+       },
+       {
+               0x000000ffULL,
+               32,
+               {
+                       0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, 
+                       0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, 
+                       0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, 
+                       0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95, 
+               },
+               512,
+               {
+                       0x72, 0xef, 0xc1, 0xeb, 0xfe, 0x1e, 0xe2, 0x59, 
+                       0x75, 0xa6, 0xeb, 0x3a, 0xa8, 0x58, 0x9d, 0xda, 
+                       0x2b, 0x26, 0x1f, 0x1c, 0x85, 0xbd, 0xab, 0x44, 
+                       0x2a, 0x9e, 0x5b, 0x2d, 0xd1, 0xd7, 0xc3, 0x95, 
+                       0x7a, 0x16, 0xfc, 0x08, 0xe5, 0x26, 0xd4, 0xb1, 
+                       0x22, 0x3f, 0x1b, 0x12, 0x32, 0xa1, 0x1a, 0xf2, 
+                       0x74, 0xc3, 0xd7, 0x0d, 0xac, 0x57, 0xf8, 0x3e, 
+                       0x09, 0x83, 0xc4, 0x98, 0xf1, 0xa6, 0xf1, 0xae, 
+                       0xcb, 0x02, 0x1c, 0x3e, 0x70, 0x08, 0x5a, 0x1e, 
+                       0x52, 0x7f, 0x1c, 0xe4, 0x1e, 0xe5, 0x91, 0x1a, 
+                       0x82, 0x02, 0x01, 0x61, 0x52, 0x9c, 0xd8, 0x27, 
+                       0x73, 0x76, 0x2d, 0xaf, 0x54, 0x59, 0xde, 0x94, 
+                       0xa0, 0xa8, 0x2a, 0xda, 0xe7, 0xe1, 0x70, 0x3c, 
+                       0x80, 0x85, 0x43, 0xc2, 0x9e, 0xd6, 0xfb, 0x32, 
+                       0xd9, 0xe0, 0x04, 0x32, 0x7c, 0x13, 0x55, 0x18, 
+                       0x0c, 0x99, 0x5a, 0x07, 0x74, 0x14, 0x93, 0xa0, 
+                       0x9c, 0x21, 0xba, 0x01, 0xa3, 0x87, 0x88, 0x2d, 
+                       0xa4, 0xf6, 0x25, 0x34, 0xb8, 0x7b, 0xb1, 0x5d, 
+                       0x60, 0xd1, 0x97, 0x20, 0x1c, 0x0f, 0xd3, 0xbf, 
+                       0x30, 0xc1, 0x50, 0x0a, 0x3e, 0xcf, 0xec, 0xdd, 
+                       0x66, 0xd8, 0x72, 0x1f, 0x90, 0xbc, 0xc4, 0xc1, 
+                       0x7e, 0xe9, 0x25, 0xc6, 0x1b, 0x0a, 0x03, 0x72, 
+                       0x7a, 0x9c, 0x0d, 0x5f, 0x5c, 0xa4, 0x62, 0xfb, 
+                       0xfa, 0x0a, 0xf1, 0xc2, 0x51, 0x3a, 0x9d, 0x9d, 
+                       0x4b, 0x53, 0x45, 0xbd, 0x27, 0xa5, 0xf6, 0xe6, 
+                       0x53, 0xf7, 0x51, 0x69, 0x3e, 0x6b, 0x6a, 0x2b, 
+                       0x8e, 0xad, 0x57, 0xd5, 0x11, 0xe0, 0x0e, 0x58, 
+                       0xc4, 0x5b, 0x7b, 0x8d, 0x00, 0x5a, 0xf7, 0x92, 
+                       0x88, 0xf5, 0xc7, 0xc2, 0x2f, 0xd4, 0xf1, 0xbf, 
+                       0x7a, 0x89, 0x8b, 0x03, 0xa5, 0x63, 0x4c, 0x6a, 
+                       0x1a, 0xe3, 0xf9, 0xfa, 0xe5, 0xde, 0x4f, 0x29, 
+                       0x6a, 0x28, 0x96, 0xb2, 0x3e, 0x7e, 0xd4, 0x3e, 
+                       0xd1, 0x4f, 0xa5, 0xa2, 0x80, 0x3f, 0x4d, 0x28, 
+                       0xf0, 0xd3, 0xff, 0xcf, 0x24, 0x75, 0x76, 0x77, 
+                       0xae, 0xbd, 0xb4, 0x7b, 0xb3, 0x88, 0x37, 0x87, 
+                       0x08, 0x94, 0x8a, 0x8d, 0x41, 0x26, 0xed, 0x18, 
+                       0x39, 0xe0, 0xda, 0x29, 0xa5, 0x37, 0xa8, 0xc1, 
+                       0x98, 0xb3, 0xc6, 0x6a, 0xb0, 0x07, 0x12, 0xdd, 
+                       0x26, 0x16, 0x74, 0xbf, 0x45, 0xa7, 0x3d, 0x67, 
+                       0xf7, 0x69, 0x14, 0xf8, 0x30, 0xca, 0x01, 0x4b, 
+                       0x65, 0x59, 0x6f, 0x27, 0xe4, 0xcf, 0x62, 0xde, 
+                       0x66, 0x12, 0x5a, 0x55, 0x66, 0xdf, 0x99, 0x75, 
+                       0x15, 0x56, 0x28, 0xb4, 0x00, 0xfb, 0xfb, 0x3a, 
+                       0x29, 0x04, 0x0e, 0xd5, 0x0f, 0xaf, 0xfd, 0xbb, 
+                       0x18, 0xae, 0xce, 0x7c, 0x5c, 0x44, 0x69, 0x32, 
+                       0x60, 0xaa, 0xb3, 0x86, 0xc0, 0xa3, 0x7b, 0x11, 
+                       0xb1, 0x14, 0xf1, 0xc4, 0x15, 0xae, 0xbb, 0x65, 
+                       0x3b, 0xe4, 0x68, 0x17, 0x94, 0x28, 0xd4, 0x3a, 
+                       0x4d, 0x8b, 0xc3, 0xec, 0x38, 0x81, 0x3e, 0xca, 
+                       0x30, 0xa1, 0x3c, 0xf1, 0xbb, 0x18, 0xd5, 0x24, 
+                       0xf1, 0x99, 0x2d, 0x44, 0xd8, 0xb1, 0xa4, 0x2e, 
+                       0xa3, 0x0b, 0x22, 0xe6, 0xc9, 0x5b, 0x19, 0x9d, 
+                       0x8d, 0x18, 0x2f, 0x88, 0x40, 0xb0, 0x9d, 0x05, 
+                       0x95, 0x85, 0xc3, 0x1a, 0xd6, 0x91, 0xfa, 0x06, 
+                       0x19, 0xff, 0x03, 0x8a, 0xca, 0x2c, 0x39, 0xa9, 
+                       0x43, 0x42, 0x11, 0x57, 0x36, 0x17, 0x17, 0xc4, 
+                       0x9d, 0x32, 0x20, 0x28, 0xa7, 0x46, 0x48, 0x11, 
+                       0x3b, 0xd8, 0xc9, 0xd7, 0xec, 0x77, 0xcf, 0x3c, 
+                       0x89, 0xc1, 0xec, 0x87, 0x18, 0xce, 0xff, 0x85, 
+                       0x16, 0xd9, 0x6b, 0x34, 0xc3, 0xc6, 0x14, 0xf1, 
+                       0x06, 0x99, 0xc9, 0xab, 0xc4, 0xed, 0x04, 0x11, 
+                       0x50, 0x62, 0x23, 0xbe, 0xa1, 0x6a, 0xf3, 0x5c, 
+                       0x88, 0x3a, 0xcc, 0xdb, 0xe1, 0x10, 0x4e, 0xef, 
+                       0x0c, 0xfd, 0xb5, 0x4e, 0x12, 0xfb, 0x23, 0x0a, 
+               }, {
+                       0x32, 0x60, 0xae, 0x8d, 0xad, 0x1f, 0x4a, 0x32, 
+                       0xc5, 0xca, 0xfe, 0x3a, 0xb0, 0xeb, 0x95, 0x54, 
+                       0x9d, 0x46, 0x1a, 0x67, 0xce, 0xb9, 0xe5, 0xaa, 
+                       0x2d, 0x3a, 0xfb, 0x62, 0xde, 0xce, 0x05, 0x53, 
+                       0x19, 0x3b, 0xa5, 0x0c, 0x75, 0xbe, 0x25, 0x1e, 
+                       0x08, 0xd1, 0xd0, 0x8f, 0x10, 0x88, 0x57, 0x6c, 
+                       0x7e, 0xfd, 0xfa, 0xaf, 0x3f, 0x45, 0x95, 0x59, 
+                       0x57, 0x1e, 0x12, 0x51, 0x17, 0x53, 0xb0, 0x7a, 
+                       0xf0, 0x73, 0xf3, 0x5d, 0xa0, 0x6a, 0xf0, 0xce, 
+                       0x0b, 0xbf, 0x6b, 0x8f, 0x5c, 0xcc, 0x5c, 0xea, 
+                       0x50, 0x0e, 0xc1, 0xb2, 0x11, 0xbd, 0x51, 0xf6, 
+                       0x3b, 0x60, 0x6b, 0xf6, 0x52, 0x87, 0x96, 0xca, 
+                       0x12, 0x17, 0x3b, 0xa3, 0x9b, 0x89, 0x35, 0xee, 
+                       0x44, 0xcc, 0xce, 0x64, 0x6f, 0x90, 0xa4, 0x5b, 
+                       0xf9, 0xcc, 0xc5, 0x67, 0xf0, 0xac, 0xe1, 0x3d, 
+                       0xc2, 0xd5, 0x3e, 0xbe, 0xed, 0xc8, 0x1f, 0x58, 
+                       0xb2, 0xe4, 0x11, 0x79, 0xdd, 0xdf, 0x0d, 0x5a, 
+                       0x5c, 0x42, 0xf5, 0xd8, 0x50, 0x6c, 0x1a, 0x5d, 
+                       0x2f, 0x8f, 0x59, 0xf3, 0xea, 0x87, 0x3c, 0xbc, 
+                       0xd0, 0xee, 0xc1, 0x9a, 0xcb, 0xf3, 0x25, 0x42, 
+                       0x3b, 0xd3, 0xdc, 0xb8, 0xc2, 0xb1, 0xbf, 0x1d, 
+                       0x1e, 0xae, 0xd0, 0xeb, 0xa7, 0xf0, 0x69, 0x8e, 
+                       0x43, 0x14, 0xfb, 0xeb, 0x2f, 0x15, 0x66, 0xd1, 
+                       0xb9, 0x25, 0x30, 0x08, 0xcb, 0xcc, 0xf4, 0x5a, 
+                       0x2b, 0x0d, 0x9c, 0x5c, 0x9c, 0x21, 0x47, 0x4f, 
+                       0x40, 0x76, 0xe0, 0x2b, 0xe2, 0x60, 0x50, 0xb9, 
+                       0x9d, 0xee, 0x4f, 0xd6, 0x8a, 0x4c, 0xf8, 0x90, 
+                       0xe4, 0x96, 0xe4, 0xfc, 0xae, 0x7b, 0x70, 0xf9, 
+                       0x4e, 0xa5, 0xa9, 0x06, 0x2d, 0xa0, 0xda, 0xeb, 
+                       0xa1, 0x99, 0x3d, 0x2c, 0xcd, 0x1d, 0xd3, 0xc2, 
+                       0x44, 0xb8, 0x42, 0x88, 0x01, 0x49, 0x5a, 0x58, 
+                       0xb2, 0x16, 0x54, 0x7e, 0x7e, 0x84, 0x7c, 0x46, 
+                       0xd1, 0xd7, 0x56, 0x37, 0x7b, 0x62, 0x42, 0xd2, 
+                       0xe5, 0xfb, 0x83, 0xbf, 0x75, 0x2b, 0x54, 0xe0, 
+                       0xdf, 0x71, 0xe8, 0x89, 0xf3, 0xa2, 0xbb, 0x0f, 
+                       0x4c, 0x10, 0x80, 0x5b, 0xf3, 0xc5, 0x90, 0x37, 
+                       0x6e, 0x3c, 0x24, 0xe2, 0x2f, 0xf5, 0x7f, 0x7f, 
+                       0xa9, 0x65, 0x57, 0x73, 0x75, 0x32, 0x5c, 0xea, 
+                       0x5d, 0x92, 0x0d, 0xb9, 0x4b, 0x9c, 0x33, 0x6b, 
+                       0x45, 0x5f, 0x6e, 0x89, 0x4c, 0x01, 0x86, 0x6f, 
+                       0xe9, 0xfb, 0xb8, 0xc8, 0xd3, 0xf7, 0x0a, 0x29, 
+                       0x57, 0x28, 0x5f, 0x6d, 0xfb, 0x5d, 0xcd, 0x8c, 
+                       0xbf, 0x54, 0x78, 0x2f, 0x8f, 0xe7, 0x76, 0x6d, 
+                       0x47, 0x23, 0x81, 0x99, 0x13, 0xac, 0x77, 0x34, 
+                       0x21, 0xe3, 0xa3, 0x10, 0x95, 0x86, 0x6b, 0xad, 
+                       0x22, 0xc8, 0x6a, 0x60, 0x36, 0xb2, 0x51, 0x8b, 
+                       0x20, 0x59, 0xb4, 0x22, 0x9d, 0x18, 0xc8, 0xc2, 
+                       0xcc, 0xbd, 0xf9, 0x06, 0xc6, 0xcc, 0x6e, 0x82, 
+                       0x46, 0x4e, 0xe5, 0x7b, 0xdd, 0xb0, 0xbe, 0xbc, 
+                       0xb1, 0xdc, 0x64, 0x53, 0x25, 0xbf, 0xb3, 0xe6, 
+                       0x65, 0xef, 0x72, 0x51, 0x08, 0x2c, 0x88, 0xeb, 
+                       0xb1, 0xcf, 0x20, 0x3b, 0xd7, 0x79, 0xfd, 0xd3, 
+                       0x86, 0x75, 0x71, 0x3c, 0x8d, 0xaa, 0xdd, 0x17, 
+                       0xe1, 0xca, 0xbe, 0xe4, 0x32, 0xb0, 0x97, 0x87, 
+                       0xb6, 0xdd, 0xf3, 0x30, 0x4e, 0x38, 0xb7, 0x31, 
+                       0xb4, 0x5d, 0xf5, 0xdf, 0x51, 0xb7, 0x8f, 0xcf, 
+                       0xb3, 0xd3, 0x24, 0x66, 0x02, 0x8d, 0x0b, 0xa3, 
+                       0x65, 0x55, 0xe7, 0xe1, 0x1a, 0xb0, 0xee, 0x06, 
+                       0x66, 0x06, 0x1d, 0x16, 0x45, 0xd9, 0x62, 0x44, 
+                       0x4b, 0xc4, 0x7a, 0x38, 0x18, 0x89, 0x30, 0xa8, 
+                       0x4b, 0x4d, 0x56, 0x13, 0x95, 0xc7, 0x3c, 0x08, 
+                       0x70, 0x21, 0x92, 0x7c, 0xa6, 0x38, 0xb7, 0xaf, 
+                       0xc8, 0xa8, 0x67, 0x9c, 0xcb, 0x84, 0xc2, 0x65, 
+                       0x55, 0x44, 0x0e, 0xc7, 0xf1, 0x04, 0x45, 0xcd, 
+               },
+       },
+       {
+               0x000000ffULL,
+               64,
+               {
+                       0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, 
+                       0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, 
+                       0x62, 0x49, 0x77, 0x57, 0x24, 0x70, 0x93, 0x69, 
+                       0x99, 0x59, 0x57, 0x49, 0x66, 0x96, 0x76, 0x27, 
+                       0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, 
+                       0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95, 
+                       0x02, 0x88, 0x41, 0x97, 0x16, 0x93, 0x99, 0x37, 
+                       0x51, 0x05, 0x82, 0x09, 0x74, 0x94, 0x45, 0x92, 
+               },
+               512,
+               {
+                       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 
+                       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 
+                       0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 
+                       0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 
+                       0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 
+                       0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 
+                       0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
+                       0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 
+                       0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 
+                       0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 
+                       0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 
+                       0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 
+                       0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 
+                       0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 
+                       0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 
+                       0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 
+                       0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 
+                       0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 
+                       0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 
+                       0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 
+                       0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 
+                       0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 
+                       0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 
+                       0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 
+                       0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 
+                       0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 
+                       0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 
+                       0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 
+                       0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 
+                       0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 
+                       0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 
+                       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 
+                       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 
+                       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 
+                       0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 
+                       0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 
+                       0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 
+                       0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 
+                       0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
+                       0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 
+                       0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 
+                       0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 
+                       0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 
+                       0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 
+                       0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 
+                       0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 
+                       0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 
+                       0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 
+                       0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 
+                       0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 
+                       0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 
+                       0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 
+                       0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 
+                       0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 
+                       0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 
+                       0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 
+                       0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 
+                       0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 
+                       0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 
+                       0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 
+                       0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 
+                       0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 
+                       0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 
+                       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 
+               }, {
+                       0x1c, 0x3b, 0x3a, 0x10, 0x2f, 0x77, 0x03, 0x86, 
+                       0xe4, 0x83, 0x6c, 0x99, 0xe3, 0x70, 0xcf, 0x9b, 
+                       0xea, 0x00, 0x80, 0x3f, 0x5e, 0x48, 0x23, 0x57, 
+                       0xa4, 0xae, 0x12, 0xd4, 0x14, 0xa3, 0xe6, 0x3b, 
+                       0x5d, 0x31, 0xe2, 0x76, 0xf8, 0xfe, 0x4a, 0x8d, 
+                       0x66, 0xb3, 0x17, 0xf9, 0xac, 0x68, 0x3f, 0x44, 
+                       0x68, 0x0a, 0x86, 0xac, 0x35, 0xad, 0xfc, 0x33, 
+                       0x45, 0xbe, 0xfe, 0xcb, 0x4b, 0xb1, 0x88, 0xfd, 
+                       0x57, 0x76, 0x92, 0x6c, 0x49, 0xa3, 0x09, 0x5e, 
+                       0xb1, 0x08, 0xfd, 0x10, 0x98, 0xba, 0xec, 0x70, 
+                       0xaa, 0xa6, 0x69, 0x99, 0xa7, 0x2a, 0x82, 0xf2, 
+                       0x7d, 0x84, 0x8b, 0x21, 0xd4, 0xa7, 0x41, 0xb0, 
+                       0xc5, 0xcd, 0x4d, 0x5f, 0xff, 0x9d, 0xac, 0x89, 
+                       0xae, 0xba, 0x12, 0x29, 0x61, 0xd0, 0x3a, 0x75, 
+                       0x71, 0x23, 0xe9, 0x87, 0x0f, 0x8a, 0xcf, 0x10, 
+                       0x00, 0x02, 0x08, 0x87, 0x89, 0x14, 0x29, 0xca, 
+                       0x2a, 0x3e, 0x7a, 0x7d, 0x7d, 0xf7, 0xb1, 0x03, 
+                       0x55, 0x16, 0x5c, 0x8b, 0x9a, 0x6d, 0x0a, 0x7d, 
+                       0xe8, 0xb0, 0x62, 0xc4, 0x50, 0x0d, 0xc4, 0xcd, 
+                       0x12, 0x0c, 0x0f, 0x74, 0x18, 0xda, 0xe3, 0xd0, 
+                       0xb5, 0x78, 0x1c, 0x34, 0x80, 0x3f, 0xa7, 0x54, 
+                       0x21, 0xc7, 0x90, 0xdf, 0xe1, 0xde, 0x18, 0x34, 
+                       0xf2, 0x80, 0xd7, 0x66, 0x7b, 0x32, 0x7f, 0x6c, 
+                       0x8c, 0xd7, 0x55, 0x7e, 0x12, 0xac, 0x3a, 0x0f, 
+                       0x93, 0xec, 0x05, 0xc5, 0x2e, 0x04, 0x93, 0xef, 
+                       0x31, 0xa1, 0x2d, 0x3d, 0x92, 0x60, 0xf7, 0x9a, 
+                       0x28, 0x9d, 0x6a, 0x37, 0x9b, 0xc7, 0x0c, 0x50, 
+                       0x84, 0x14, 0x73, 0xd1, 0xa8, 0xcc, 0x81, 0xec, 
+                       0x58, 0x3e, 0x96, 0x45, 0xe0, 0x7b, 0x8d, 0x96, 
+                       0x70, 0x65, 0x5b, 0xa5, 0xbb, 0xcf, 0xec, 0xc6, 
+                       0xdc, 0x39, 0x66, 0x38, 0x0a, 0xd8, 0xfe, 0xcb, 
+                       0x17, 0xb6, 0xba, 0x02, 0x46, 0x9a, 0x02, 0x0a, 
+                       0x84, 0xe1, 0x8e, 0x8f, 0x84, 0x25, 0x20, 0x70, 
+                       0xc1, 0x3e, 0x9f, 0x1f, 0x28, 0x9b, 0xe5, 0x4f, 
+                       0xbc, 0x48, 0x14, 0x57, 0x77, 0x8f, 0x61, 0x60, 
+                       0x15, 0xe1, 0x32, 0x7a, 0x02, 0xb1, 0x40, 0xf1, 
+                       0x50, 0x5e, 0xb3, 0x09, 0x32, 0x6d, 0x68, 0x37, 
+                       0x8f, 0x83, 0x74, 0x59, 0x5c, 0x84, 0x9d, 0x84, 
+                       0xf4, 0xc3, 0x33, 0xec, 0x44, 0x23, 0x88, 0x51, 
+                       0x43, 0xcb, 0x47, 0xbd, 0x71, 0xc5, 0xed, 0xae, 
+                       0x9b, 0xe6, 0x9a, 0x2f, 0xfe, 0xce, 0xb1, 0xbe, 
+                       0xc9, 0xde, 0x24, 0x4f, 0xbe, 0x15, 0x99, 0x2b, 
+                       0x11, 0xb7, 0x7c, 0x04, 0x0f, 0x12, 0xbd, 0x8f, 
+                       0x6a, 0x97, 0x5a, 0x44, 0xa0, 0xf9, 0x0c, 0x29, 
+                       0xa9, 0xab, 0xc3, 0xd4, 0xd8, 0x93, 0x92, 0x72, 
+                       0x84, 0xc5, 0x87, 0x54, 0xcc, 0xe2, 0x94, 0x52, 
+                       0x9f, 0x86, 0x14, 0xdc, 0xd2, 0xab, 0xa9, 0x91, 
+                       0x92, 0x5f, 0xed, 0xc4, 0xae, 0x74, 0xff, 0xac, 
+                       0x6e, 0x33, 0x3b, 0x93, 0xeb, 0x4a, 0xff, 0x04, 
+                       0x79, 0xda, 0x9a, 0x41, 0x0e, 0x44, 0x50, 0xe0, 
+                       0xdd, 0x7a, 0xe4, 0xc6, 0xe2, 0x91, 0x09, 0x00, 
+                       0x57, 0x5d, 0xa4, 0x01, 0xfc, 0x07, 0x05, 0x9f, 
+                       0x64, 0x5e, 0x8b, 0x7e, 0x9b, 0xfd, 0xef, 0x33, 
+                       0x94, 0x30, 0x54, 0xff, 0x84, 0x01, 0x14, 0x93, 
+                       0xc2, 0x7b, 0x34, 0x29, 0xea, 0xed, 0xb4, 0xed, 
+                       0x53, 0x76, 0x44, 0x1a, 0x77, 0xed, 0x43, 0x85, 
+                       0x1a, 0xd7, 0x7f, 0x16, 0xf5, 0x41, 0xdf, 0xd2, 
+                       0x69, 0xd5, 0x0d, 0x6a, 0x5f, 0x14, 0xfb, 0x0a, 
+                       0xab, 0x1c, 0xbb, 0x4c, 0x15, 0x50, 0xbe, 0x97, 
+                       0xf7, 0xab, 0x40, 0x66, 0x19, 0x3c, 0x4c, 0xaa, 
+                       0x77, 0x3d, 0xad, 0x38, 0x01, 0x4b, 0xd2, 0x09, 
+                       0x2f, 0xa7, 0x55, 0xc8, 0x24, 0xbb, 0x5e, 0x54, 
+                       0xc4, 0xf3, 0x6f, 0xfd, 0xa9, 0xfc, 0xea, 0x70, 
+                       0xb9, 0xc6, 0xe6, 0x93, 0xe1, 0x48, 0xc1, 0x51, 
+               },
+       },
+       {
+               0x0000ffffULL,
+               64,
+               {
+                       0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, 
+                       0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, 
+                       0x62, 0x49, 0x77, 0x57, 0x24, 0x70, 0x93, 0x69, 
+                       0x99, 0x59, 0x57, 0x49, 0x66, 0x96, 0x76, 0x27, 
+                       0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, 
+                       0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95, 
+                       0x02, 0x88, 0x41, 0x97, 0x16, 0x93, 0x99, 0x37, 
+                       0x51, 0x05, 0x82, 0x09, 0x74, 0x94, 0x45, 0x92, 
+               },
+               512,
+               {
+                       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 
+                       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 
+                       0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 
+                       0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 
+                       0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 
+                       0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 
+                       0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
+                       0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 
+                       0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 
+                       0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 
+                       0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 
+                       0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 
+                       0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 
+                       0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 
+                       0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 
+                       0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 
+                       0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 
+                       0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 
+                       0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 
+                       0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 
+                       0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 
+                       0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 
+                       0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 
+                       0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 
+                       0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 
+                       0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 
+                       0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 
+                       0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 
+                       0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 
+                       0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 
+                       0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 
+                       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 
+                       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 
+                       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 
+                       0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 
+                       0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 
+                       0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 
+                       0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 
+                       0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
+                       0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 
+                       0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 
+                       0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 
+                       0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 
+                       0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 
+                       0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 
+                       0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 
+                       0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 
+                       0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 
+                       0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 
+                       0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 
+                       0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 
+                       0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 
+                       0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 
+                       0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 
+                       0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 
+                       0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 
+                       0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 
+                       0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 
+                       0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 
+                       0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 
+                       0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 
+                       0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 
+                       0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 
+                       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 
+               }, {
+                       0x77, 0xa3, 0x12, 0x51, 0x61, 0x8a, 0x15, 0xe6, 
+                       0xb9, 0x2d, 0x1d, 0x66, 0xdf, 0xfe, 0x7b, 0x50, 
+                       0xb5, 0x0b, 0xad, 0x55, 0x23, 0x05, 0xba, 0x02, 
+                       0x17, 0xa6, 0x10, 0x68, 0x8e, 0xff, 0x7e, 0x11, 
+                       0xe1, 0xd0, 0x22, 0x54, 0x38, 0xe0, 0x93, 0x24, 
+                       0x2d, 0x6d, 0xb2, 0x74, 0xfd, 0xe8, 0x01, 0xd4, 
+                       0xca, 0xe0, 0x6f, 0x20, 0x92, 0xc7, 0x28, 0xb2, 
+                       0x47, 0x85, 0x59, 0xdf, 0x58, 0xe8, 0x37, 0xc2, 
+                       0x46, 0x9e, 0xe4, 0xa4, 0xfa, 0x79, 0x4e, 0x4b, 
+                       0xbc, 0x7f, 0x39, 0xbc, 0x02, 0x6e, 0x3c, 0xb7, 
+                       0x2c, 0x33, 0xb0, 0x88, 0x8f, 0x25, 0xb4, 0xac, 
+                       0xf5, 0x6a, 0x2a, 0x98, 0x04, 0xf1, 0xce, 0x6d, 
+                       0x3d, 0x6e, 0x1d, 0xc6, 0xca, 0x18, 0x1d, 0x4b, 
+                       0x54, 0x61, 0x79, 0xd5, 0x55, 0x44, 0xaa, 0x77, 
+                       0x60, 0xc4, 0x0d, 0x06, 0x74, 0x15, 0x39, 0xc7, 
+                       0xe3, 0xcd, 0x9d, 0x2f, 0x66, 0x50, 0xb2, 0x01, 
+                       0x3f, 0xd0, 0xee, 0xb8, 0xc2, 0xb8, 0xe3, 0xd8, 
+                       0xd2, 0x40, 0xcc, 0xae, 0x2d, 0x4c, 0x98, 0x32, 
+                       0x0a, 0x74, 0x42, 0xe1, 0xc8, 0xd7, 0x5a, 0x42, 
+                       0xd6, 0xe6, 0xcf, 0xa4, 0xc2, 0xec, 0xa1, 0x79, 
+                       0x8d, 0x15, 0x8c, 0x7a, 0xec, 0xdf, 0x82, 0x49, 
+                       0x0f, 0x24, 0xbb, 0x9b, 0x38, 0xe1, 0x08, 0xbc, 
+                       0xda, 0x12, 0xc3, 0xfa, 0xf9, 0xa2, 0x11, 0x41, 
+                       0xc3, 0x61, 0x3b, 0x58, 0x36, 0x7f, 0x92, 0x2a, 
+                       0xaa, 0x26, 0xcd, 0x22, 0xf2, 0x3d, 0x70, 0x8d, 
+                       0xae, 0x69, 0x9a, 0xd7, 0xcb, 0x40, 0xa8, 0xad, 
+                       0x0b, 0x6e, 0x27, 0x84, 0x97, 0x3d, 0xcb, 0x60, 
+                       0x56, 0x84, 0xc0, 0x8b, 0x8d, 0x69, 0x98, 0xc6, 
+                       0x9a, 0xac, 0x04, 0x99, 0x21, 0x87, 0x1e, 0xbb, 
+                       0x65, 0x30, 0x1a, 0x46, 0x19, 0xca, 0x80, 0xec, 
+                       0xb4, 0x85, 0xa3, 0x1d, 0x74, 0x42, 0x23, 0xce, 
+                       0x8d, 0xdc, 0x23, 0x94, 0x82, 0x8d, 0x6a, 0x80, 
+                       0x47, 0x0c, 0x09, 0x2f, 0x5b, 0xa4, 0x13, 0xc3, 
+                       0x37, 0x8f, 0xa6, 0x05, 0x42, 0x55, 0xc6, 0xf9, 
+                       0xdf, 0x44, 0x95, 0x86, 0x2b, 0xbb, 0x32, 0x87, 
+                       0x68, 0x1f, 0x93, 0x1b, 0x68, 0x7c, 0x88, 0x8a, 
+                       0xbf, 0x84, 0x4d, 0xfc, 0x8f, 0xc2, 0x83, 0x31, 
+                       0xe5, 0x79, 0x92, 0x8c, 0xd1, 0x2b, 0xd2, 0x39, 
+                       0x0a, 0xe1, 0x23, 0xcf, 0x03, 0x81, 0x8d, 0x14, 
+                       0xde, 0xdd, 0xe5, 0xc0, 0xc2, 0x4c, 0x8a, 0xb0, 
+                       0x18, 0xbf, 0xca, 0x75, 0xca, 0x09, 0x6f, 0x2d, 
+                       0x53, 0x1f, 0x3d, 0x16, 0x19, 0xe7, 0x85, 0xf1, 
+                       0xad, 0xa4, 0x37, 0xca, 0xb9, 0x2e, 0x98, 0x05, 
+                       0x58, 0xb3, 0xdc, 0xe1, 0x47, 0x4a, 0xfb, 0x75, 
+                       0xbf, 0xed, 0xbf, 0x8f, 0xf5, 0x4c, 0xb2, 0x61, 
+                       0x8e, 0x02, 0x44, 0xc9, 0xac, 0x0d, 0x3c, 0x66, 
+                       0xfb, 0x51, 0x59, 0x8c, 0xd2, 0xdb, 0x11, 0xf9, 
+                       0xbe, 0x39, 0x79, 0x1a, 0xbe, 0x44, 0x7c, 0x63, 
+                       0x09, 0x4f, 0x7c, 0x45, 0x3b, 0x7f, 0xf8, 0x7c, 
+                       0xb5, 0xbb, 0x36, 0xb7, 0xc7, 0x9e, 0xfb, 0x08, 
+                       0x72, 0xd1, 0x70, 0x58, 0xb8, 0x3b, 0x15, 0xab, 
+                       0x08, 0x66, 0xad, 0x8a, 0x58, 0x65, 0x6c, 0x5a, 
+                       0x7e, 0x20, 0xdb, 0xdf, 0x30, 0x8b, 0x24, 0x61, 
+                       0xd9, 0x7c, 0x0e, 0xc0, 0x02, 0x4a, 0x27, 0x15, 
+                       0x05, 0x52, 0x49, 0xcf, 0x3b, 0x47, 0x8d, 0xdd, 
+                       0x47, 0x40, 0xde, 0x65, 0x4f, 0x75, 0xca, 0x68, 
+                       0x6e, 0x0d, 0x73, 0x45, 0xc6, 0x9e, 0xd5, 0x0c, 
+                       0xdc, 0x2a, 0x8b, 0x33, 0x2b, 0x1f, 0x88, 0x24, 
+                       0x10, 0x8a, 0xc9, 0x37, 0xeb, 0x05, 0x05, 0x85, 
+                       0x60, 0x8e, 0xe7, 0x34, 0x09, 0x7f, 0xc0, 0x90, 
+                       0x54, 0xfb, 0xff, 0x89, 0xee, 0xae, 0xea, 0x79, 
+                       0x1f, 0x4a, 0x7a, 0xb1, 0xf9, 0x86, 0x82, 0x94, 
+                       0xa4, 0xf9, 0xe2, 0x7b, 0x42, 0xaf, 0x81, 0x00, 
+                       0xcb, 0x9d, 0x59, 0xce, 0xf9, 0x64, 0x58, 0x03, 
+               },
+       },
+       {
+               0x00ffffffULL,
+               64,
+               {
+                       0x27, 0x18, 0x28, 0x18, 0x28, 0x45, 0x90, 0x45, 
+                       0x23, 0x53, 0x60, 0x28, 0x74, 0x71, 0x35, 0x26, 
+                       0x62, 0x49, 0x77, 0x57, 0x24, 0x70, 0x93, 0x69, 
+                       0x99, 0x59, 0x57, 0x49, 0x66, 0x96, 0x76, 0x27, 
+                       0x31, 0x41, 0x59, 0x26, 0x53, 0x58, 0x97, 0x93, 
+                       0x23, 0x84, 0x62, 0x64, 0x33, 0x83, 0x27, 0x95, 
+                       0x02, 0x88, 0x41, 0x97, 0x16, 0x93, 0x99, 0x37, 
+                       0x51, 0x05, 0x82, 0x09, 0x74, 0x94, 0x45, 0x92, 
+               },
+               512,
+               {
+                       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 
+                       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 
+                       0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 
+                       0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 
+                       0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 
+                       0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 
+                       0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
+                       0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 
+                       0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 
+                       0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 
+                       0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 
+                       0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 
+                       0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 
+                       0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 
+                       0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 
+                       0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 
+                       0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 
+                       0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 
+                       0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 
+                       0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 
+                       0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 
+                       0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 
+                       0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 
+                       0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 
+                       0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 
+                       0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 
+                       0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 
+                       0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 
+                       0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 
+                       0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 
+                       0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 
+                       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 
+                       0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 
+                       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 
+                       0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 
+                       0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 
+                       0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 
+                       0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 
+                       0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
+                       0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 
+                       0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 
+                       0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 
+                       0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 
+                       0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 
+                       0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 
+                       0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 
+                       0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 
+                       0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 
+                       0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 
+                       0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 
+                       0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 
+                       0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 
+                       0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 
+                       0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 
+                       0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 
+                       0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 
+                       0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 
+                       0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 
+                       0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 
+                       0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 
+                       0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 
+                       0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 
+                       0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 
+                       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 
+               }, {
+                       0xe3, 0x87, 0xaa, 0xa5, 0x8b, 0xa4, 0x83, 0xaf, 
+                       0xa7, 0xe8, 0xeb, 0x46, 0x97, 0x78, 0x31, 0x7e, 
+                       0xcf, 0x4c, 0xf5, 0x73, 0xaa, 0x9d, 0x4e, 0xac, 
+                       0x23, 0xf2, 0xcd, 0xf9, 0x14, 0xe4, 0xe2, 0x00, 
+                       0xa8, 0xb4, 0x90, 0xe4, 0x2e, 0xe6, 0x46, 0x80, 
+                       0x2d, 0xc6, 0xee, 0x2b, 0x47, 0x1b, 0x27, 0x81, 
+                       0x95, 0xd6, 0x09, 0x18, 0xec, 0xec, 0xb4, 0x4b, 
+                       0xf7, 0x99, 0x66, 0xf8, 0x3f, 0xab, 0xa0, 0x49, 
+                       0x92, 0x98, 0xeb, 0xc6, 0x99, 0xc0, 0xc8, 0x63, 
+                       0x47, 0x15, 0xa3, 0x20, 0xbb, 0x4f, 0x07, 0x5d, 
+                       0x62, 0x2e, 0x74, 0xc8, 0xc9, 0x32, 0x00, 0x4f, 
+                       0x25, 0xb4, 0x1e, 0x36, 0x10, 0x25, 0xb5, 0xa8, 
+                       0x78, 0x15, 0x39, 0x1f, 0x61, 0x08, 0xfc, 0x4a, 
+                       0xfa, 0x6a, 0x05, 0xd9, 0x30, 0x3c, 0x6b, 0xa6, 
+                       0x8a, 0x12, 0x8a, 0x55, 0x70, 0x5d, 0x41, 0x59, 
+                       0x85, 0x83, 0x2f, 0xde, 0xaa, 0xe6, 0xc8, 0xe1, 
+                       0x91, 0x10, 0xe8, 0x4d, 0x1b, 0x1f, 0x19, 0x9a, 
+                       0x26, 0x92, 0x11, 0x9e, 0xdc, 0x96, 0x13, 0x26, 
+                       0x58, 0xf0, 0x9d, 0xa7, 0xc6, 0x23, 0xef, 0xce, 
+                       0xc7, 0x12, 0x53, 0x7a, 0x3d, 0x94, 0xc0, 0xbf, 
+                       0x5d, 0x7e, 0x35, 0x2e, 0xc9, 0x4a, 0xe5, 0x79, 
+                       0x7f, 0xdb, 0x37, 0x7d, 0xc1, 0x55, 0x11, 0x50, 
+                       0x72, 0x1a, 0xdf, 0x15, 0xbd, 0x26, 0xa8, 0xef, 
+                       0xc2, 0xfc, 0xaa, 0xd5, 0x68, 0x81, 0xfa, 0x9e, 
+                       0x62, 0x46, 0x2c, 0x28, 0xf3, 0x0a, 0xe1, 0xce, 
+                       0xac, 0xa9, 0x3c, 0x34, 0x5c, 0xf2, 0x43, 0xb7, 
+                       0x3f, 0x54, 0x2e, 0x20, 0x74, 0xa7, 0x05, 0xbd, 
+                       0x26, 0x43, 0xbb, 0x9f, 0x7c, 0xc7, 0x9b, 0xb6, 
+                       0xe7, 0x09, 0x1e, 0xa6, 0xe2, 0x32, 0xdf, 0x0f, 
+                       0x9a, 0xd0, 0xd6, 0xcf, 0x50, 0x23, 0x27, 0x87, 
+                       0x6d, 0x82, 0x20, 0x7a, 0xbf, 0x21, 0x15, 0xcd, 
+