summaryrefslogtreecommitdiffstats
path: root/qemu/roms/ipxe/src/tests
diff options
context:
space:
mode:
authorRajithaY <rajithax.yerrumsetty@intel.com>2017-04-25 03:31:15 -0700
committerRajitha Yerrumchetty <rajithax.yerrumsetty@intel.com>2017-05-22 06:48:08 +0000
commitbb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch)
treeca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/roms/ipxe/src/tests
parenta14b48d18a9ed03ec191cf16b162206998a895ce (diff)
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to kvmfornfv repo and make use of the updated latest qemu for the execution of all testcase Change-Id: I1280af507a857675c7f81d30c95255635667bdd7 Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/roms/ipxe/src/tests')
-rw-r--r--qemu/roms/ipxe/src/tests/aes_test.c193
-rw-r--r--qemu/roms/ipxe/src/tests/base16_test.c137
-rw-r--r--qemu/roms/ipxe/src/tests/base64_test.c140
-rw-r--r--qemu/roms/ipxe/src/tests/bigint_test.c2441
-rw-r--r--qemu/roms/ipxe/src/tests/bofm_test.c174
-rw-r--r--qemu/roms/ipxe/src/tests/byteswap_test.c96
-rw-r--r--qemu/roms/ipxe/src/tests/cipher_test.c185
-rw-r--r--qemu/roms/ipxe/src/tests/cipher_test.h111
-rw-r--r--qemu/roms/ipxe/src/tests/cms_test.c1481
-rw-r--r--qemu/roms/ipxe/src/tests/comboot/shuffle-simple.asm40
-rw-r--r--qemu/roms/ipxe/src/tests/comboot/version.asm136
-rw-r--r--qemu/roms/ipxe/src/tests/crc32_test.c120
-rw-r--r--qemu/roms/ipxe/src/tests/deflate_test.c250
-rw-r--r--qemu/roms/ipxe/src/tests/digest_test.c159
-rw-r--r--qemu/roms/ipxe/src/tests/digest_test.h115
-rw-r--r--qemu/roms/ipxe/src/tests/dns_test.c609
-rw-r--r--qemu/roms/ipxe/src/tests/entropy_sample.c76
-rw-r--r--qemu/roms/ipxe/src/tests/gdbstub_test.S54
-rwxr-xr-xqemu/roms/ipxe/src/tests/gdbstub_test.gdb116
-rw-r--r--qemu/roms/ipxe/src/tests/hash_df_test.c902
-rw-r--r--qemu/roms/ipxe/src/tests/hmac_drbg_test.c1390
-rw-r--r--qemu/roms/ipxe/src/tests/ipv4_test.c154
-rw-r--r--qemu/roms/ipxe/src/tests/ipv6_test.c223
-rw-r--r--qemu/roms/ipxe/src/tests/linebuf_test.c320
-rw-r--r--qemu/roms/ipxe/src/tests/list_test.c487
-rw-r--r--qemu/roms/ipxe/src/tests/math_test.c404
-rw-r--r--qemu/roms/ipxe/src/tests/md5_test.c76
-rw-r--r--qemu/roms/ipxe/src/tests/memcpy_test.c273
-rw-r--r--qemu/roms/ipxe/src/tests/memset_test.c157
-rw-r--r--qemu/roms/ipxe/src/tests/ocsp_test.c1866
-rw-r--r--qemu/roms/ipxe/src/tests/pccrc_test.c529
-rw-r--r--qemu/roms/ipxe/src/tests/pixbuf_test.c83
-rw-r--r--qemu/roms/ipxe/src/tests/pixbuf_test.h66
-rw-r--r--qemu/roms/ipxe/src/tests/png_test.c1997
-rw-r--r--qemu/roms/ipxe/src/tests/pnm_test.c234
-rw-r--r--qemu/roms/ipxe/src/tests/profile_test.c144
-rw-r--r--qemu/roms/ipxe/src/tests/pubkey_test.h175
-rw-r--r--qemu/roms/ipxe/src/tests/rsa_test.c496
-rw-r--r--qemu/roms/ipxe/src/tests/setjmp_test.c171
-rw-r--r--qemu/roms/ipxe/src/tests/settings_test.c424
-rw-r--r--qemu/roms/ipxe/src/tests/sha1_test.c81
-rw-r--r--qemu/roms/ipxe/src/tests/sha256_test.c111
-rw-r--r--qemu/roms/ipxe/src/tests/sha512_test.c185
-rw-r--r--qemu/roms/ipxe/src/tests/string_test.c303
-rw-r--r--qemu/roms/ipxe/src/tests/tcpip_test.c243
-rw-r--r--qemu/roms/ipxe/src/tests/test.c182
-rw-r--r--qemu/roms/ipxe/src/tests/tests.c69
-rw-r--r--qemu/roms/ipxe/src/tests/time_test.c187
-rw-r--r--qemu/roms/ipxe/src/tests/umalloc_test.c26
-rw-r--r--qemu/roms/ipxe/src/tests/uri_test.c878
-rw-r--r--qemu/roms/ipxe/src/tests/vsprintf_test.c106
-rw-r--r--qemu/roms/ipxe/src/tests/x509_test.c1117
52 files changed, 0 insertions, 20692 deletions
diff --git a/qemu/roms/ipxe/src/tests/aes_test.c b/qemu/roms/ipxe/src/tests/aes_test.c
deleted file mode 100644
index ad66c734c..000000000
--- a/qemu/roms/ipxe/src/tests/aes_test.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * AES tests
- *
- * These test vectors are provided by NIST as part of the
- * Cryptographic Toolkit Examples, downloadable from:
- *
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/AES_Core_All.pdf
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/AES_ECB.pdf
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/AES_CBC.pdf
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <assert.h>
-#include <string.h>
-#include <ipxe/aes.h>
-#include <ipxe/test.h>
-#include "cipher_test.h"
-
-/** Key used for NIST 128-bit test vectors */
-#define AES_KEY_NIST_128 \
- KEY ( 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, \
- 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c )
-
-/** Key used for NIST 192-bit test vectors */
-#define AES_KEY_NIST_192 \
- KEY ( 0x8e, 0x73, 0xb0, 0xf7, 0xda, 0x0e, 0x64, 0x52, 0xc8, \
- 0x10, 0xf3, 0x2b, 0x80, 0x90, 0x79, 0xe5, 0x62, 0xf8, \
- 0xea, 0xd2, 0x52, 0x2c, 0x6b, 0x7b )
-
-/** Key used for NIST 256-bit test vectors */
-#define AES_KEY_NIST_256 \
- KEY ( 0x60, 0x3d, 0xeb, 0x10, 0x15, 0xca, 0x71, 0xbe, 0x2b, \
- 0x73, 0xae, 0xf0, 0x85, 0x7d, 0x77, 0x81, 0x1f, 0x35, \
- 0x2c, 0x07, 0x3b, 0x61, 0x08, 0xd7, 0x2d, 0x98, 0x10, \
- 0xa3, 0x09, 0x14, 0xdf, 0xf4 )
-
-/** Dummy initialisation vector used for NIST ECB-mode test vectors */
-#define AES_IV_NIST_DUMMY \
- IV ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 )
-
-/** Initialisation vector used for NIST CBC-mode test vectors */
-#define AES_IV_NIST_CBC \
- IV ( 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, \
- 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f )
-
-/** Plaintext used for NIST test vectors */
-#define AES_PLAINTEXT_NIST \
- PLAINTEXT ( 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, \
- 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a, \
- 0xae, 0x2d, 0x8a, 0x57, 0x1e, 0x03, 0xac, 0x9c, \
- 0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, 0x8e, 0x51, \
- 0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11, \
- 0xe5, 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef, \
- 0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17, \
- 0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10 )
-
-/** AES-128-ECB (same test as AES-128-Core) */
-CIPHER_TEST ( aes_128_ecb, &aes_ecb_algorithm,
- AES_KEY_NIST_128, AES_IV_NIST_DUMMY, AES_PLAINTEXT_NIST,
- CIPHERTEXT ( 0x3a, 0xd7, 0x7b, 0xb4, 0x0d, 0x7a, 0x36, 0x60,
- 0xa8, 0x9e, 0xca, 0xf3, 0x24, 0x66, 0xef, 0x97,
- 0xf5, 0xd3, 0xd5, 0x85, 0x03, 0xb9, 0x69, 0x9d,
- 0xe7, 0x85, 0x89, 0x5a, 0x96, 0xfd, 0xba, 0xaf,
- 0x43, 0xb1, 0xcd, 0x7f, 0x59, 0x8e, 0xce, 0x23,
- 0x88, 0x1b, 0x00, 0xe3, 0xed, 0x03, 0x06, 0x88,
- 0x7b, 0x0c, 0x78, 0x5e, 0x27, 0xe8, 0xad, 0x3f,
- 0x82, 0x23, 0x20, 0x71, 0x04, 0x72, 0x5d, 0xd4 ) );
-
-/** AES-128-CBC */
-CIPHER_TEST ( aes_128_cbc, &aes_cbc_algorithm,
- AES_KEY_NIST_128, AES_IV_NIST_CBC, AES_PLAINTEXT_NIST,
- CIPHERTEXT ( 0x76, 0x49, 0xab, 0xac, 0x81, 0x19, 0xb2, 0x46,
- 0xce, 0xe9, 0x8e, 0x9b, 0x12, 0xe9, 0x19, 0x7d,
- 0x50, 0x86, 0xcb, 0x9b, 0x50, 0x72, 0x19, 0xee,
- 0x95, 0xdb, 0x11, 0x3a, 0x91, 0x76, 0x78, 0xb2,
- 0x73, 0xbe, 0xd6, 0xb8, 0xe3, 0xc1, 0x74, 0x3b,
- 0x71, 0x16, 0xe6, 0x9e, 0x22, 0x22, 0x95, 0x16,
- 0x3f, 0xf1, 0xca, 0xa1, 0x68, 0x1f, 0xac, 0x09,
- 0x12, 0x0e, 0xca, 0x30, 0x75, 0x86, 0xe1, 0xa7 ) );
-
-/** AES-192-ECB (same test as AES-192-Core) */
-CIPHER_TEST ( aes_192_ecb, &aes_ecb_algorithm,
- AES_KEY_NIST_192, AES_IV_NIST_DUMMY, AES_PLAINTEXT_NIST,
- CIPHERTEXT ( 0xbd, 0x33, 0x4f, 0x1d, 0x6e, 0x45, 0xf2, 0x5f,
- 0xf7, 0x12, 0xa2, 0x14, 0x57, 0x1f, 0xa5, 0xcc,
- 0x97, 0x41, 0x04, 0x84, 0x6d, 0x0a, 0xd3, 0xad,
- 0x77, 0x34, 0xec, 0xb3, 0xec, 0xee, 0x4e, 0xef,
- 0xef, 0x7a, 0xfd, 0x22, 0x70, 0xe2, 0xe6, 0x0a,
- 0xdc, 0xe0, 0xba, 0x2f, 0xac, 0xe6, 0x44, 0x4e,
- 0x9a, 0x4b, 0x41, 0xba, 0x73, 0x8d, 0x6c, 0x72,
- 0xfb, 0x16, 0x69, 0x16, 0x03, 0xc1, 0x8e, 0x0e ) );
-
-/** AES-192-CBC */
-CIPHER_TEST ( aes_192_cbc, &aes_cbc_algorithm,
- AES_KEY_NIST_192, AES_IV_NIST_CBC, AES_PLAINTEXT_NIST,
- CIPHERTEXT ( 0x4f, 0x02, 0x1d, 0xb2, 0x43, 0xbc, 0x63, 0x3d,
- 0x71, 0x78, 0x18, 0x3a, 0x9f, 0xa0, 0x71, 0xe8,
- 0xb4, 0xd9, 0xad, 0xa9, 0xad, 0x7d, 0xed, 0xf4,
- 0xe5, 0xe7, 0x38, 0x76, 0x3f, 0x69, 0x14, 0x5a,
- 0x57, 0x1b, 0x24, 0x20, 0x12, 0xfb, 0x7a, 0xe0,
- 0x7f, 0xa9, 0xba, 0xac, 0x3d, 0xf1, 0x02, 0xe0,
- 0x08, 0xb0, 0xe2, 0x79, 0x88, 0x59, 0x88, 0x81,
- 0xd9, 0x20, 0xa9, 0xe6, 0x4f, 0x56, 0x15, 0xcd ) );
-
-/** AES-256-ECB (same test as AES-256-Core) */
-CIPHER_TEST ( aes_256_ecb, &aes_ecb_algorithm,
- AES_KEY_NIST_256, AES_IV_NIST_DUMMY, AES_PLAINTEXT_NIST,
- CIPHERTEXT ( 0xf3, 0xee, 0xd1, 0xbd, 0xb5, 0xd2, 0xa0, 0x3c,
- 0x06, 0x4b, 0x5a, 0x7e, 0x3d, 0xb1, 0x81, 0xf8,
- 0x59, 0x1c, 0xcb, 0x10, 0xd4, 0x10, 0xed, 0x26,
- 0xdc, 0x5b, 0xa7, 0x4a, 0x31, 0x36, 0x28, 0x70,
- 0xb6, 0xed, 0x21, 0xb9, 0x9c, 0xa6, 0xf4, 0xf9,
- 0xf1, 0x53, 0xe7, 0xb1, 0xbe, 0xaf, 0xed, 0x1d,
- 0x23, 0x30, 0x4b, 0x7a, 0x39, 0xf9, 0xf3, 0xff,
- 0x06, 0x7d, 0x8d, 0x8f, 0x9e, 0x24, 0xec, 0xc7 ) );
-
-/** AES-256-CBC */
-CIPHER_TEST ( aes_256_cbc, &aes_cbc_algorithm,
- AES_KEY_NIST_256, AES_IV_NIST_CBC, AES_PLAINTEXT_NIST,
- CIPHERTEXT ( 0xf5, 0x8c, 0x4c, 0x04, 0xd6, 0xe5, 0xf1, 0xba,
- 0x77, 0x9e, 0xab, 0xfb, 0x5f, 0x7b, 0xfb, 0xd6,
- 0x9c, 0xfc, 0x4e, 0x96, 0x7e, 0xdb, 0x80, 0x8d,
- 0x67, 0x9f, 0x77, 0x7b, 0xc6, 0x70, 0x2c, 0x7d,
- 0x39, 0xf2, 0x33, 0x69, 0xa9, 0xd9, 0xba, 0xcf,
- 0xa5, 0x30, 0xe2, 0x63, 0x04, 0x23, 0x14, 0x61,
- 0xb2, 0xeb, 0x05, 0xe2, 0xc3, 0x9b, 0xe9, 0xfc,
- 0xda, 0x6c, 0x19, 0x07, 0x8c, 0x6a, 0x9d, 0x1b ) );
-
-/**
- * Perform AES self-test
- *
- */
-static void aes_test_exec ( void ) {
- struct cipher_algorithm *ecb = &aes_ecb_algorithm;
- struct cipher_algorithm *cbc = &aes_cbc_algorithm;
- unsigned int keylen;
-
- /* Correctness tests */
- cipher_ok ( &aes_128_ecb );
- cipher_ok ( &aes_128_cbc );
- cipher_ok ( &aes_192_ecb );
- cipher_ok ( &aes_192_cbc );
- cipher_ok ( &aes_256_ecb );
- cipher_ok ( &aes_256_cbc );
-
- /* Speed tests */
- for ( keylen = 128 ; keylen <= 256 ; keylen += 64 ) {
- DBG ( "AES-%d-ECB encryption required %ld cycles per byte\n",
- keylen, cipher_cost_encrypt ( ecb, ( keylen / 8 ) ) );
- DBG ( "AES-%d-ECB decryption required %ld cycles per byte\n",
- keylen, cipher_cost_decrypt ( ecb, ( keylen / 8 ) ) );
- DBG ( "AES-%d-CBC encryption required %ld cycles per byte\n",
- keylen, cipher_cost_encrypt ( cbc, ( keylen / 8 ) ) );
- DBG ( "AES-%d-CBC decryption required %ld cycles per byte\n",
- keylen, cipher_cost_decrypt ( cbc, ( keylen / 8 ) ) );
- }
-}
-
-/** AES self-test */
-struct self_test aes_test __self_test = {
- .name = "aes",
- .exec = aes_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/base16_test.c b/qemu/roms/ipxe/src/tests/base16_test.c
deleted file mode 100644
index 46884aef7..000000000
--- a/qemu/roms/ipxe/src/tests/base16_test.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Base16 tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <string.h>
-#include <ipxe/base16.h>
-#include <ipxe/test.h>
-
-/** A Base16 test */
-struct base16_test {
- /** Raw data */
- const void *data;
- /** Length of raw data */
- size_t len;
- /** Base16-encoded data */
- const char *encoded;
-};
-
-/** Define inline data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** Define a base16 test */
-#define BASE16( name, DATA, ENCODED ) \
- static const uint8_t name ## _data[] = DATA; \
- static struct base16_test name = { \
- .data = name ## _data, \
- .len = sizeof ( name ## _data ), \
- .encoded = ENCODED, \
- }
-
-/** Empty data test */
-BASE16 ( empty_test, DATA(), "" );
-
-/** "Hello world" test */
-BASE16 ( hw_test,
- DATA ( 'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd' ),
- "48656c6c6f20776f726c64" );
-
-/** Random data test */
-BASE16 ( random_test,
- DATA ( 0x8b, 0x1a, 0xa2, 0x6c, 0xa9, 0x38, 0x43, 0xb8, 0x81, 0xf8,
- 0x30, 0x44, 0xb2, 0x32, 0x6e, 0x82, 0xfe, 0x0f, 0x84, 0x91 ),
- "8b1aa26ca93843b881f83044b2326e82fe0f8491" );
-
-/**
- * Report a base16 encoding test result
- *
- * @v test Base16 test
- * @v file Test code file
- * @v line Test code line
- */
-static void base16_encode_okx ( struct base16_test *test, const char *file,
- unsigned int line ) {
- size_t len = base16_encoded_len ( test->len );
- char buf[ len + 1 /* NUL */ ];
- size_t check_len;
-
- okx ( len == strlen ( test->encoded ), file, line );
- check_len = base16_encode ( test->data, test->len, buf, sizeof ( buf ));
- okx ( check_len == len, file, line );
- okx ( strcmp ( test->encoded, buf ) == 0, file, line );
-}
-#define base16_encode_ok( test ) base16_encode_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report a base16 decoding test result
- *
- * @v test Base16 test
- * @v file Test code file
- * @v line Test code line
- */
-static void base16_decode_okx ( struct base16_test *test, const char *file,
- unsigned int line ) {
- size_t max_len = base16_decoded_max_len ( test->encoded );
- uint8_t buf[max_len];
- int len;
-
- len = base16_decode ( test->encoded, buf, sizeof ( buf ) );
- okx ( len >= 0, file, line );
- okx ( ( size_t ) len <= max_len, file, line );
- okx ( ( size_t ) len == test->len, file, line );
- okx ( memcmp ( test->data, buf, len ) == 0, file, line );
-}
-#define base16_decode_ok( test ) base16_decode_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Perform Base16 self-tests
- *
- */
-static void base16_test_exec ( void ) {
-
- base16_encode_ok ( &empty_test );
- base16_decode_ok ( &empty_test );
-
- base16_encode_ok ( &hw_test );
- base16_decode_ok ( &hw_test );
-
- base16_encode_ok ( &random_test );
- base16_decode_ok ( &random_test );
-}
-
-/** Base16 self-test */
-struct self_test base16_test __self_test = {
- .name = "base16",
- .exec = base16_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/base64_test.c b/qemu/roms/ipxe/src/tests/base64_test.c
deleted file mode 100644
index 0fc595d90..000000000
--- a/qemu/roms/ipxe/src/tests/base64_test.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Base64 tests
- *
- * Test vectors generated using "base64 -w 0"
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <string.h>
-#include <ipxe/base64.h>
-#include <ipxe/test.h>
-
-/** A Base64 test */
-struct base64_test {
- /** Raw data */
- const void *data;
- /** Length of raw data */
- size_t len;
- /** Base64-encoded data */
- const char *encoded;
-};
-
-/** Define inline data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** Define a base64 test */
-#define BASE64( name, DATA, ENCODED ) \
- static const uint8_t name ## _data[] = DATA; \
- static struct base64_test name = { \
- .data = name ## _data, \
- .len = sizeof ( name ## _data ), \
- .encoded = ENCODED, \
- }
-
-/** Empty data test */
-BASE64 ( empty_test, DATA(), "" );
-
-/** "Hello world" test */
-BASE64 ( hw_test,
- DATA ( 'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd' ),
- "SGVsbG8gd29ybGQ=" );
-
-/** Random data test */
-BASE64 ( random_test,
- DATA ( 0x36, 0x03, 0x84, 0xdc, 0x4e, 0x03, 0x46, 0xa0, 0xb5, 0x2d,
- 0x03, 0x6e, 0xd0, 0x56, 0xed, 0xa0, 0x37, 0x02, 0xac, 0xc6,
- 0x65, 0xd1 ),
- "NgOE3E4DRqC1LQNu0FbtoDcCrMZl0Q==" );
-
-/**
- * Report a base64 encoding test result
- *
- * @v test Base64 test
- * @v file Test code file
- * @v line Test code line
- */
-static void base64_encode_okx ( struct base64_test *test, const char *file,
- unsigned int line ) {
- size_t len = base64_encoded_len ( test->len );
- char buf[ len + 1 /* NUL */ ];
- size_t check_len;
-
- okx ( len == strlen ( test->encoded ), file, line );
- check_len = base64_encode ( test->data, test->len, buf, sizeof ( buf ));
- okx ( check_len == len, file, line );
- okx ( strcmp ( test->encoded, buf ) == 0, file, line );
-}
-#define base64_encode_ok( test ) base64_encode_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report a base64 decoding test result
- *
- * @v test Base64 test
- * @v file Test code file
- * @v line Test code line
- */
-static void base64_decode_okx ( struct base64_test *test, const char *file,
- unsigned int line ) {
- size_t max_len = base64_decoded_max_len ( test->encoded );
- uint8_t buf[max_len];
- int len;
-
- len = base64_decode ( test->encoded, buf, sizeof ( buf ) );
- okx ( len >= 0, file, line );
- okx ( ( size_t ) len <= max_len, file, line );
- okx ( ( size_t ) len == test->len, file, line );
- okx ( memcmp ( test->data, buf, len ) == 0, file, line );
-}
-#define base64_decode_ok( test ) base64_decode_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Perform Base64 self-tests
- *
- */
-static void base64_test_exec ( void ) {
-
- base64_encode_ok ( &empty_test );
- base64_decode_ok ( &empty_test );
-
- base64_encode_ok ( &hw_test );
- base64_decode_ok ( &hw_test );
-
- base64_encode_ok ( &random_test );
- base64_decode_ok ( &random_test );
-}
-
-/** Base64 self-test */
-struct self_test base64_test __self_test = {
- .name = "base64",
- .exec = base64_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/bigint_test.c b/qemu/roms/ipxe/src/tests/bigint_test.c
deleted file mode 100644
index 8d40c3188..000000000
--- a/qemu/roms/ipxe/src/tests/bigint_test.c
+++ /dev/null
@@ -1,2441 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Big integer self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <assert.h>
-#include <string.h>
-#include <ipxe/bigint.h>
-#include <ipxe/test.h>
-
-/** Define inline big integer */
-#define BIGINT(...) { __VA_ARGS__ }
-
-/* Provide global functions to allow inspection of generated assembly code */
-
-void bigint_init_sample ( bigint_element_t *value0, unsigned int size,
- const void *data, size_t len ) {
- bigint_t ( size ) *value __attribute__ (( may_alias ))
- = ( ( void * ) value0 );
-
- bigint_init ( value, data, len );
-}
-
-void bigint_done_sample ( const bigint_element_t *value0, unsigned int size,
- void *out, size_t len ) {
- const bigint_t ( size ) *value __attribute__ (( may_alias ))
- = ( ( const void * ) value0 );
-
- bigint_done ( value, out, len );
-}
-
-void bigint_add_sample ( const bigint_element_t *addend0,
- bigint_element_t *value0, unsigned int size ) {
- const bigint_t ( size ) *addend __attribute__ (( may_alias ))
- = ( ( const void * ) addend0 );
- bigint_t ( size ) *value __attribute__ (( may_alias ))
- = ( ( void * ) value0 );
-
- bigint_add ( addend, value );
-}
-
-void bigint_subtract_sample ( const bigint_element_t *subtrahend0,
- bigint_element_t *value0, unsigned int size ) {
- const bigint_t ( size ) *subtrahend __attribute__ (( may_alias ))
- = ( ( const void * ) subtrahend0 );
- bigint_t ( size ) *value __attribute__ (( may_alias ))
- = ( ( void * ) value0 );
-
- bigint_subtract ( subtrahend, value );
-}
-
-void bigint_rol_sample ( bigint_element_t *value0, unsigned int size ) {
- bigint_t ( size ) *value __attribute__ (( may_alias ))
- = ( ( void * ) value0 );
-
- bigint_rol ( value );
-}
-
-void bigint_ror_sample ( bigint_element_t *value0, unsigned int size ) {
- bigint_t ( size ) *value __attribute__ (( may_alias ))
- = ( ( void * ) value0 );
-
- bigint_ror ( value );
-}
-
-int bigint_is_zero_sample ( const bigint_element_t *value0,
- unsigned int size ) {
- const bigint_t ( size ) *value __attribute__ (( may_alias ))
- = ( ( const void * ) value0 );
-
- return bigint_is_zero ( value );
-}
-
-int bigint_is_geq_sample ( const bigint_element_t *value0,
- const bigint_element_t *reference0,
- unsigned int size ) {
- const bigint_t ( size ) *value __attribute__ (( may_alias ))
- = ( ( const void * ) value0 );
- const bigint_t ( size ) *reference __attribute__ (( may_alias ))
- = ( ( const void * ) reference0 );
-
- return bigint_is_geq ( value, reference );
-}
-
-int bigint_bit_is_set_sample ( const bigint_element_t *value0,
- unsigned int size, unsigned int bit ) {
- const bigint_t ( size ) *value __attribute__ (( may_alias ))
- = ( ( const void * ) value0 );
-
- return bigint_bit_is_set ( value, bit );
-}
-
-int bigint_max_set_bit_sample ( const bigint_element_t *value0,
- unsigned int size ) {
- const bigint_t ( size ) *value __attribute__ (( may_alias ))
- = ( ( const void * ) value0 );
-
- return bigint_max_set_bit ( value );
-}
-
-void bigint_grow_sample ( const bigint_element_t *source0,
- unsigned int source_size, bigint_element_t *dest0,
- unsigned int dest_size ) {
- const bigint_t ( source_size ) *source __attribute__ (( may_alias ))
- = ( ( const void * ) source0 );
- bigint_t ( dest_size ) *dest __attribute__ (( may_alias ))
- = ( ( void * ) dest0 );
-
- bigint_grow ( source, dest );
-}
-
-void bigint_shrink_sample ( const bigint_element_t *source0,
- unsigned int source_size, bigint_element_t *dest0,
- unsigned int dest_size ) {
- const bigint_t ( source_size ) *source __attribute__ (( may_alias ))
- = ( ( const void * ) source0 );
- bigint_t ( dest_size ) *dest __attribute__ (( may_alias ))
- = ( ( void * ) dest0 );
-
- bigint_shrink ( source, dest );
-}
-
-void bigint_multiply_sample ( const bigint_element_t *multiplicand0,
- const bigint_element_t *multiplier0,
- bigint_element_t *result0,
- unsigned int size ) {
- const bigint_t ( size ) *multiplicand __attribute__ (( may_alias ))
- = ( ( const void * ) multiplicand0 );
- const bigint_t ( size ) *multiplier __attribute__ (( may_alias ))
- = ( ( const void * ) multiplier0 );
- bigint_t ( size * 2 ) *result __attribute__ (( may_alias ))
- = ( ( void * ) result0 );
-
- bigint_multiply ( multiplicand, multiplier, result );
-}
-
-void bigint_mod_multiply_sample ( const bigint_element_t *multiplicand0,
- const bigint_element_t *multiplier0,
- const bigint_element_t *modulus0,
- bigint_element_t *result0,
- unsigned int size,
- void *tmp ) {
- const bigint_t ( size ) *multiplicand __attribute__ (( may_alias ))
- = ( ( const void * ) multiplicand0 );
- const bigint_t ( size ) *multiplier __attribute__ (( may_alias ))
- = ( ( const void * ) multiplier0 );
- const bigint_t ( size ) *modulus __attribute__ (( may_alias ))
- = ( ( const void * ) modulus0 );
- bigint_t ( size ) *result __attribute__ (( may_alias ))
- = ( ( void * ) result0 );
-
- bigint_mod_multiply ( multiplicand, multiplier, modulus, result, tmp );
-}
-
-void bigint_mod_exp_sample ( const bigint_element_t *base0,
- const bigint_element_t *modulus0,
- const bigint_element_t *exponent0,
- bigint_element_t *result0,
- unsigned int size, unsigned int exponent_size,
- void *tmp ) {
- const bigint_t ( size ) *base __attribute__ (( may_alias ))
- = ( ( const void * ) base0 );
- const bigint_t ( size ) *modulus __attribute__ (( may_alias ))
- = ( ( const void * ) modulus0 );
- const bigint_t ( exponent_size ) *exponent __attribute__ (( may_alias ))
- = ( ( const void * ) exponent0 );
- bigint_t ( size ) *result __attribute__ (( may_alias ))
- = ( ( void * ) result0 );
-
- bigint_mod_exp ( base, modulus, exponent, result, tmp );
-}
-
-/**
- * Report result of big integer addition test
- *
- * @v addend Big integer to add
- * @v value Big integer to be added to
- * @v expected Big integer expected result
- */
-#define bigint_add_ok( addend, value, expected ) do { \
- static const uint8_t addend_raw[] = addend; \
- static const uint8_t value_raw[] = value; \
- static const uint8_t expected_raw[] = expected; \
- uint8_t result_raw[ sizeof ( expected_raw ) ]; \
- unsigned int size = \
- bigint_required_size ( sizeof ( value_raw ) ); \
- bigint_t ( size ) addend_temp; \
- bigint_t ( size ) value_temp; \
- {} /* Fix emacs alignment */ \
- \
- assert ( bigint_size ( &addend_temp ) == \
- bigint_size ( &value_temp ) ); \
- bigint_init ( &value_temp, value_raw, sizeof ( value_raw ) ); \
- bigint_init ( &addend_temp, addend_raw, \
- sizeof ( addend_raw ) ); \
- DBG ( "Add:\n" ); \
- DBG_HDA ( 0, &addend_temp, sizeof ( addend_temp ) ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- bigint_add ( &addend_temp, &value_temp ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- bigint_done ( &value_temp, result_raw, sizeof ( result_raw ) ); \
- \
- ok ( memcmp ( result_raw, expected_raw, \
- sizeof ( result_raw ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report result of big integer subtraction test
- *
- * @v subtrahend Big integer to subtract
- * @v value Big integer to be subtracted from
- * @v expected Big integer expected result
- */
-#define bigint_subtract_ok( subtrahend, value, expected ) do { \
- static const uint8_t subtrahend_raw[] = subtrahend; \
- static const uint8_t value_raw[] = value; \
- static const uint8_t expected_raw[] = expected; \
- uint8_t result_raw[ sizeof ( expected_raw ) ]; \
- unsigned int size = \
- bigint_required_size ( sizeof ( value_raw ) ); \
- bigint_t ( size ) subtrahend_temp; \
- bigint_t ( size ) value_temp; \
- {} /* Fix emacs alignment */ \
- \
- assert ( bigint_size ( &subtrahend_temp ) == \
- bigint_size ( &value_temp ) ); \
- bigint_init ( &value_temp, value_raw, sizeof ( value_raw ) ); \
- bigint_init ( &subtrahend_temp, subtrahend_raw, \
- sizeof ( subtrahend_raw ) ); \
- DBG ( "Subtract:\n" ); \
- DBG_HDA ( 0, &subtrahend_temp, sizeof ( subtrahend_temp ) ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- bigint_subtract ( &subtrahend_temp, &value_temp ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- bigint_done ( &value_temp, result_raw, sizeof ( result_raw ) ); \
- \
- ok ( memcmp ( result_raw, expected_raw, \
- sizeof ( result_raw ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report result of big integer left rotation test
- *
- * @v value Big integer
- * @v expected Big integer expected result
- */
-#define bigint_rol_ok( value, expected ) do { \
- static const uint8_t value_raw[] = value; \
- static const uint8_t expected_raw[] = expected; \
- uint8_t result_raw[ sizeof ( expected_raw ) ]; \
- unsigned int size = \
- bigint_required_size ( sizeof ( value_raw ) ); \
- bigint_t ( size ) value_temp; \
- {} /* Fix emacs alignment */ \
- \
- bigint_init ( &value_temp, value_raw, sizeof ( value_raw ) ); \
- DBG ( "Rotate left:\n" ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- bigint_rol ( &value_temp ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- bigint_done ( &value_temp, result_raw, sizeof ( result_raw ) ); \
- \
- ok ( memcmp ( result_raw, expected_raw, \
- sizeof ( result_raw ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report result of big integer right rotation test
- *
- * @v value Big integer
- * @v expected Big integer expected result
- */
-#define bigint_ror_ok( value, expected ) do { \
- static const uint8_t value_raw[] = value; \
- static const uint8_t expected_raw[] = expected; \
- uint8_t result_raw[ sizeof ( expected_raw ) ]; \
- unsigned int size = \
- bigint_required_size ( sizeof ( value_raw ) ); \
- bigint_t ( size ) value_temp; \
- {} /* Fix emacs alignment */ \
- \
- bigint_init ( &value_temp, value_raw, sizeof ( value_raw ) ); \
- DBG ( "Rotate right:\n" ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- bigint_ror ( &value_temp ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- bigint_done ( &value_temp, result_raw, sizeof ( result_raw ) ); \
- \
- ok ( memcmp ( result_raw, expected_raw, \
- sizeof ( result_raw ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report result of big integer zero comparison test
- *
- * @v value Big integer
- * @v expected Expected result
- */
-#define bigint_is_zero_ok( value, expected ) do { \
- static const uint8_t value_raw[] = value; \
- unsigned int size = \
- bigint_required_size ( sizeof ( value_raw ) ); \
- bigint_t ( size ) value_temp; \
- int is_zero; \
- {} /* Fix emacs alignment */ \
- \
- bigint_init ( &value_temp, value_raw, sizeof ( value_raw ) ); \
- DBG ( "Zero comparison:\n" ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- is_zero = bigint_is_zero ( &value_temp ); \
- DBG ( "...is %szero\n", ( is_zero ? "" : "not " ) ); \
- ok ( ( !! is_zero ) == ( !! (expected) ) ); \
- } while ( 0 )
-
-/**
- * Report result of big integer greater-than-or-equal comparison test
- *
- * @v value Big integer
- * @v reference Reference big integer
- * @v expected Expected result
- */
-#define bigint_is_geq_ok( value, reference, expected ) do { \
- static const uint8_t value_raw[] = value; \
- static const uint8_t reference_raw[] = reference; \
- unsigned int size = \
- bigint_required_size ( sizeof ( value_raw ) ); \
- bigint_t ( size ) value_temp; \
- bigint_t ( size ) reference_temp; \
- int is_geq; \
- {} /* Fix emacs alignment */ \
- \
- assert ( bigint_size ( &reference_temp ) == \
- bigint_size ( &value_temp ) ); \
- bigint_init ( &value_temp, value_raw, sizeof ( value_raw ) ); \
- bigint_init ( &reference_temp, reference_raw, \
- sizeof ( reference_raw ) ); \
- DBG ( "Greater-than-or-equal comparison:\n" ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- DBG_HDA ( 0, &reference_temp, sizeof ( reference_temp ) ); \
- is_geq = bigint_is_geq ( &value_temp, &reference_temp ); \
- DBG ( "...is %sgreater than or equal\n", \
- ( is_geq ? "" : "not " ) ); \
- ok ( ( !! is_geq ) == ( !! (expected) ) ); \
- } while ( 0 )
-
-/**
- * Report result of big integer bit-set test
- *
- * @v value Big integer
- * @v bit Bit to test
- * @v expected Expected result
- */
-#define bigint_bit_is_set_ok( value, bit, expected ) do { \
- static const uint8_t value_raw[] = value; \
- unsigned int size = \
- bigint_required_size ( sizeof ( value_raw ) ); \
- bigint_t ( size ) value_temp; \
- int bit_is_set; \
- {} /* Fix emacs alignment */ \
- \
- bigint_init ( &value_temp, value_raw, sizeof ( value_raw ) ); \
- DBG ( "Bit set:\n" ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- bit_is_set = bigint_bit_is_set ( &value_temp, bit ); \
- DBG ( "...bit %d is %sset\n", bit, \
- ( bit_is_set ? "" : "not " ) ); \
- ok ( ( !! bit_is_set ) == ( !! (expected) ) ); \
- } while ( 0 )
-
-/**
- * Report result of big integer maximum set bit test
- *
- * @v value Big integer
- * @v expected Expected result
- */
-#define bigint_max_set_bit_ok( value, expected ) do { \
- static const uint8_t value_raw[] = value; \
- unsigned int size = \
- bigint_required_size ( sizeof ( value_raw ) ); \
- bigint_t ( size ) value_temp; \
- int max_set_bit; \
- {} /* Fix emacs alignment */ \
- \
- bigint_init ( &value_temp, value_raw, sizeof ( value_raw ) ); \
- DBG ( "Maximum set bit:\n" ); \
- DBG_HDA ( 0, &value_temp, sizeof ( value_temp ) ); \
- max_set_bit = bigint_max_set_bit ( &value_temp ); \
- DBG ( "...maximum set bit is bit %d\n", ( max_set_bit - 1 ) ); \
- ok ( max_set_bit == (expected) ); \
- } while ( 0 )
-
-/**
- * Report result of big integer multiplication test
- *
- * @v multiplicand Big integer to be multiplied
- * @v multiplier Big integer to be multiplied
- * @v expected Big integer expected result
- */
-#define bigint_multiply_ok( multiplicand, multiplier, expected ) do { \
- static const uint8_t multiplicand_raw[] = multiplicand; \
- static const uint8_t multiplier_raw[] = multiplier; \
- static const uint8_t expected_raw[] = expected; \
- uint8_t result_raw[ sizeof ( expected_raw ) ]; \
- unsigned int size = \
- bigint_required_size ( sizeof ( multiplicand_raw ) ); \
- bigint_t ( size ) multiplicand_temp; \
- bigint_t ( size ) multiplier_temp; \
- bigint_t ( size * 2 ) result_temp; \
- {} /* Fix emacs alignment */ \
- \
- assert ( bigint_size ( &multiplier_temp ) == \
- bigint_size ( &multiplicand_temp ) ); \
- assert ( bigint_size ( &result_temp ) == \
- ( 2 * bigint_size ( &multiplicand_temp ) ) ); \
- bigint_init ( &multiplicand_temp, multiplicand_raw, \
- sizeof ( multiplicand_raw ) ); \
- bigint_init ( &multiplier_temp, multiplier_raw, \
- sizeof ( multiplier_raw ) ); \
- DBG ( "Multiply:\n" ); \
- DBG_HDA ( 0, &multiplicand_temp, sizeof ( multiplicand_temp ) );\
- DBG_HDA ( 0, &multiplier_temp, sizeof ( multiplier_temp ) ); \
- bigint_multiply ( &multiplicand_temp, &multiplier_temp, \
- &result_temp ); \
- DBG_HDA ( 0, &result_temp, sizeof ( result_temp ) ); \
- bigint_done ( &result_temp, result_raw, sizeof ( result_raw ) );\
- \
- ok ( memcmp ( result_raw, expected_raw, \
- sizeof ( result_raw ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report result of big integer modular multiplication test
- *
- * @v multiplicand Big integer to be multiplied
- * @v multiplier Big integer to be multiplied
- * @v modulus Big integer modulus
- * @v expected Big integer expected result
- */
-#define bigint_mod_multiply_ok( multiplicand, multiplier, modulus, \
- expected ) do { \
- static const uint8_t multiplicand_raw[] = multiplicand; \
- static const uint8_t multiplier_raw[] = multiplier; \
- static const uint8_t modulus_raw[] = modulus; \
- static const uint8_t expected_raw[] = expected; \
- uint8_t result_raw[ sizeof ( expected_raw ) ]; \
- unsigned int size = \
- bigint_required_size ( sizeof ( multiplicand_raw ) ); \
- bigint_t ( size ) multiplicand_temp; \
- bigint_t ( size ) multiplier_temp; \
- bigint_t ( size ) modulus_temp; \
- bigint_t ( size ) result_temp; \
- size_t tmp_len = bigint_mod_multiply_tmp_len ( &modulus_temp ); \
- uint8_t tmp[tmp_len]; \
- {} /* Fix emacs alignment */ \
- \
- assert ( bigint_size ( &multiplier_temp ) == \
- bigint_size ( &multiplicand_temp ) ); \
- assert ( bigint_size ( &multiplier_temp ) == \
- bigint_size ( &modulus_temp ) ); \
- assert ( bigint_size ( &multiplier_temp ) == \
- bigint_size ( &result_temp ) ); \
- bigint_init ( &multiplicand_temp, multiplicand_raw, \
- sizeof ( multiplicand_raw ) ); \
- bigint_init ( &multiplier_temp, multiplier_raw, \
- sizeof ( multiplier_raw ) ); \
- bigint_init ( &modulus_temp, modulus_raw, \
- sizeof ( modulus_raw ) ); \
- DBG ( "Modular multiply:\n" ); \
- DBG_HDA ( 0, &multiplicand_temp, sizeof ( multiplicand_temp ) );\
- DBG_HDA ( 0, &multiplier_temp, sizeof ( multiplier_temp ) ); \
- DBG_HDA ( 0, &modulus_temp, sizeof ( modulus_temp ) ); \
- bigint_mod_multiply ( &multiplicand_temp, &multiplier_temp, \
- &modulus_temp, &result_temp, tmp ); \
- DBG_HDA ( 0, &result_temp, sizeof ( result_temp ) ); \
- bigint_done ( &result_temp, result_raw, sizeof ( result_raw ) );\
- \
- ok ( memcmp ( result_raw, expected_raw, \
- sizeof ( result_raw ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report result of big integer modular exponentiation test
- *
- * @v base Big integer base
- * @v modulus Big integer modulus
- * @v exponent Big integer exponent
- * @v expected Big integer expected result
- */
-#define bigint_mod_exp_ok( base, modulus, exponent, expected ) do { \
- static const uint8_t base_raw[] = base; \
- static const uint8_t modulus_raw[] = modulus; \
- static const uint8_t exponent_raw[] = exponent; \
- static const uint8_t expected_raw[] = expected; \
- uint8_t result_raw[ sizeof ( expected_raw ) ]; \
- unsigned int size = \
- bigint_required_size ( sizeof ( base_raw ) ); \
- unsigned int exponent_size = \
- bigint_required_size ( sizeof ( exponent_raw ) ); \
- bigint_t ( size ) base_temp; \
- bigint_t ( size ) modulus_temp; \
- bigint_t ( exponent_size ) exponent_temp; \
- bigint_t ( size ) result_temp; \
- size_t tmp_len = bigint_mod_exp_tmp_len ( &modulus_temp, \
- &exponent_temp ); \
- uint8_t tmp[tmp_len]; \
- {} /* Fix emacs alignment */ \
- \
- assert ( bigint_size ( &modulus_temp ) == \
- bigint_size ( &base_temp ) ); \
- assert ( bigint_size ( &modulus_temp ) == \
- bigint_size ( &result_temp ) ); \
- bigint_init ( &base_temp, base_raw, sizeof ( base_raw ) ); \
- bigint_init ( &modulus_temp, modulus_raw, \
- sizeof ( modulus_raw ) ); \
- bigint_init ( &exponent_temp, exponent_raw, \
- sizeof ( exponent_raw ) ); \
- DBG ( "Modular exponentiation:\n" ); \
- DBG_HDA ( 0, &base_temp, sizeof ( base_temp ) ); \
- DBG_HDA ( 0, &modulus_temp, sizeof ( modulus_temp ) ); \
- DBG_HDA ( 0, &exponent_temp, sizeof ( exponent_temp ) ); \
- bigint_mod_exp ( &base_temp, &modulus_temp, &exponent_temp, \
- &result_temp, tmp ); \
- DBG_HDA ( 0, &result_temp, sizeof ( result_temp ) ); \
- bigint_done ( &result_temp, result_raw, sizeof ( result_raw ) );\
- \
- ok ( memcmp ( result_raw, expected_raw, \
- sizeof ( result_raw ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Perform big integer self-tests
- *
- */
-static void bigint_test_exec ( void ) {
-
- bigint_add_ok ( BIGINT ( 0x8a ),
- BIGINT ( 0x43 ),
- BIGINT ( 0xcd ) );
- bigint_add_ok ( BIGINT ( 0xc5, 0x7b ),
- BIGINT ( 0xd6, 0xb1 ),
- BIGINT ( 0x9c, 0x2c ) );
- bigint_add_ok ( BIGINT ( 0xf9, 0xd9, 0xdc ),
- BIGINT ( 0x6d, 0x4b, 0xca ),
- BIGINT ( 0x67, 0x25, 0xa6 ) );
- bigint_add_ok ( BIGINT ( 0xdd, 0xc2, 0x20, 0x5f ),
- BIGINT ( 0x80, 0x32, 0xc4, 0xb0 ),
- BIGINT ( 0x5d, 0xf4, 0xe5, 0x0f ) );
- bigint_add_ok ( BIGINT ( 0x01, 0xed, 0x45, 0x4b, 0x41, 0xeb, 0x4c,
- 0x2e, 0x53, 0x07, 0x15, 0x51, 0x56, 0x47,
- 0x29, 0xfc, 0x9c, 0xbd, 0xbd, 0xfb, 0x1b,
- 0xd1, 0x1d ),
- BIGINT ( 0x73, 0xed, 0xfc, 0x35, 0x31, 0x22, 0xd7,
- 0xb1, 0xea, 0x91, 0x5a, 0xe4, 0xba, 0xbc,
- 0xa1, 0x38, 0x72, 0xae, 0x4b, 0x1c, 0xc1,
- 0x05, 0xb3 ),
- BIGINT ( 0x75, 0xdb, 0x41, 0x80, 0x73, 0x0e, 0x23,
- 0xe0, 0x3d, 0x98, 0x70, 0x36, 0x11, 0x03,
- 0xcb, 0x35, 0x0f, 0x6c, 0x09, 0x17, 0xdc,
- 0xd6, 0xd0 ) );
- bigint_add_ok ( BIGINT ( 0x06, 0x8e, 0xd6, 0x18, 0xbb, 0x4b, 0x0c,
- 0xc5, 0x85, 0xde, 0xee, 0x9b, 0x3f, 0x65,
- 0x63, 0x86, 0xf5, 0x5a, 0x9f, 0xa2, 0xd7,
- 0xb2, 0xc7, 0xb6, 0x1d, 0x28, 0x6c, 0x50,
- 0x47, 0x10, 0x0a, 0x0e, 0x86, 0xcd, 0x2a,
- 0x64, 0xdc, 0xe6, 0x9d, 0x96, 0xd8, 0xf4,
- 0x56, 0x46, 0x6f, 0xbb, 0x7b, 0x64, 0x6f,
- 0xdc, 0x2a, 0xd1, 0x3b, 0xcc, 0x03, 0x85,
- 0x95, 0xf4, 0xe9, 0x68, 0x1f, 0x5c, 0xc5,
- 0xbf, 0x97, 0x19, 0x12, 0x88, 0x2e, 0x88,
- 0xb9, 0x34, 0xac, 0x74, 0x83, 0x2d, 0x8f,
- 0xb3, 0x97, 0x53, 0x99, 0xf3, 0xb4, 0x8b,
- 0x2d, 0x98, 0x69, 0x8d, 0x19, 0xf0, 0x40,
- 0x66, 0x3f, 0x60, 0x78, 0x34, 0x7f, 0x9b,
- 0xf7, 0x01, 0x74, 0x55, 0xca, 0x63, 0x25,
- 0x7b, 0x86, 0xe9, 0x73, 0xfd, 0x5d, 0x77,
- 0x32, 0x5e, 0x9e, 0x42, 0x53, 0xb6, 0x35,
- 0x92, 0xb9, 0xd7, 0x1b, 0xf7, 0x16, 0x55,
- 0xf6, 0xe2 ),
- BIGINT ( 0x3f, 0x8f, 0x62, 0x21, 0x4a, 0x7a, 0xa2,
- 0xef, 0xa8, 0x79, 0x9b, 0x73, 0xac, 0xde,
- 0x72, 0xe4, 0xfc, 0x3c, 0xd3, 0xa9, 0x44,
- 0x1a, 0x6a, 0x02, 0x76, 0xe3, 0x78, 0x4d,
- 0x2e, 0x07, 0x9b, 0xb6, 0x3d, 0x5d, 0xc5,
- 0xcd, 0x68, 0x23, 0x4b, 0x5f, 0x89, 0x0e,
- 0xd7, 0xa7, 0xff, 0x18, 0x80, 0xdc, 0xfb,
- 0x34, 0x45, 0xca, 0x4b, 0xdb, 0x8a, 0x19,
- 0xcb, 0xc9, 0xe5, 0xa1, 0x63, 0xa2, 0x0d,
- 0x56, 0xc4, 0xf9, 0x51, 0x1b, 0x88, 0x4e,
- 0x36, 0xab, 0x15, 0x4d, 0x8f, 0xdc, 0x08,
- 0xc4, 0x4d, 0x43, 0xc7, 0x2b, 0xc9, 0x5c,
- 0x05, 0x26, 0xe3, 0x46, 0xf0, 0x64, 0xaa,
- 0x02, 0xa4, 0xbe, 0x3a, 0xd1, 0xca, 0x07,
- 0x6a, 0x6e, 0x62, 0xf4, 0x57, 0x71, 0x96,
- 0xec, 0xf0, 0x0b, 0xac, 0xa4, 0x4a, 0xa3,
- 0x6d, 0x01, 0xba, 0xbd, 0x62, 0xc0, 0x10,
- 0x54, 0x33, 0x8a, 0x71, 0xef, 0xaa, 0x1c,
- 0x25, 0x25 ),
- BIGINT ( 0x46, 0x1e, 0x38, 0x3a, 0x05, 0xc5, 0xaf,
- 0xb5, 0x2e, 0x58, 0x8a, 0x0e, 0xec, 0x43,
- 0xd6, 0x6b, 0xf1, 0x97, 0x73, 0x4c, 0x1b,
- 0xcd, 0x31, 0xb8, 0x94, 0x0b, 0xe4, 0x9d,
- 0x75, 0x17, 0xa5, 0xc4, 0xc4, 0x2a, 0xf0,
- 0x32, 0x45, 0x09, 0xe8, 0xf6, 0x62, 0x03,
- 0x2d, 0xee, 0x6e, 0xd3, 0xfc, 0x41, 0x6b,
- 0x10, 0x70, 0x9b, 0x87, 0xa7, 0x8d, 0x9f,
- 0x61, 0xbe, 0xcf, 0x09, 0x82, 0xfe, 0xd3,
- 0x16, 0x5c, 0x12, 0x63, 0xa3, 0xb6, 0xd6,
- 0xef, 0xdf, 0xc1, 0xc2, 0x13, 0x09, 0x98,
- 0x77, 0xe4, 0x97, 0x61, 0x1f, 0x7d, 0xe7,
- 0x32, 0xbf, 0x4c, 0xd4, 0x0a, 0x54, 0xea,
- 0x68, 0xe4, 0x1e, 0xb3, 0x06, 0x49, 0xa3,
- 0x61, 0x6f, 0xd7, 0x4a, 0x21, 0xd4, 0xbc,
- 0x68, 0x76, 0xf5, 0x20, 0xa1, 0xa8, 0x1a,
- 0x9f, 0x60, 0x58, 0xff, 0xb6, 0x76, 0x45,
- 0xe6, 0xed, 0x61, 0x8d, 0xe6, 0xc0, 0x72,
- 0x1c, 0x07 ) );
- bigint_subtract_ok ( BIGINT ( 0x83 ),
- BIGINT ( 0x50 ),
- BIGINT ( 0xcd ) );
- bigint_subtract_ok ( BIGINT ( 0x2c, 0x7c ),
- BIGINT ( 0x49, 0x0e ),
- BIGINT ( 0x1c, 0x92 ) );
- bigint_subtract_ok ( BIGINT ( 0x9c, 0x30, 0xbf ),
- BIGINT ( 0xde, 0x4e, 0x07 ),
- BIGINT ( 0x42, 0x1d, 0x48 ) );
- bigint_subtract_ok ( BIGINT ( 0xbb, 0x77, 0x32, 0x5a ),
- BIGINT ( 0x5a, 0xd5, 0xfe, 0x28 ),
- BIGINT ( 0x9f, 0x5e, 0xcb, 0xce ) );
- bigint_subtract_ok ( BIGINT ( 0x7b, 0xaa, 0x16, 0xcf, 0x15, 0x87,
- 0xe0, 0x4f, 0x2c, 0xa3, 0xec, 0x2f,
- 0x46, 0xfb, 0x83, 0xc6, 0xe0, 0xee,
- 0x57, 0xfa, 0x04, 0xce, 0xa6 ),
- BIGINT ( 0x46, 0x55, 0xb6, 0x23, 0x63, 0xd0,
- 0x55, 0xdb, 0x8f, 0xcc, 0x55, 0xa8,
- 0x2f, 0x85, 0xc1, 0x9f, 0x2c, 0x13,
- 0x10, 0x9e, 0x76, 0x3c, 0x11 ),
- BIGINT ( 0xca, 0xab, 0x9f, 0x54, 0x4e, 0x48,
- 0x75, 0x8c, 0x63, 0x28, 0x69, 0x78,
- 0xe8, 0x8a, 0x3d, 0xd8, 0x4b, 0x24,
- 0xb8, 0xa4, 0x71, 0x6d, 0x6b ) );
- bigint_subtract_ok ( BIGINT ( 0x5b, 0x06, 0x77, 0x7b, 0xfd, 0x34,
- 0x5f, 0x0f, 0xd9, 0xbd, 0x8e, 0x5d,
- 0xc8, 0x4a, 0x70, 0x95, 0x1b, 0xb6,
- 0x48, 0xfb, 0x0e, 0x40, 0xce, 0x06,
- 0x66, 0xcc, 0x29, 0xe9, 0x51, 0x59,
- 0x59, 0xc9, 0x65, 0x07, 0x75, 0xb8,
- 0xd4, 0xcb, 0x07, 0x68, 0x14, 0x48,
- 0xc7, 0x1e, 0xfe, 0xb3, 0x4c, 0xf1,
- 0x10, 0xf0, 0xc7, 0x82, 0x38, 0x4c,
- 0xaf, 0x05, 0x6d, 0x91, 0xc5, 0x18,
- 0xfd, 0x1e, 0x26, 0x1b, 0xef, 0x71,
- 0x70, 0x2e, 0x06, 0x70, 0x8e, 0x54,
- 0xfa, 0x2b, 0x4d, 0x96, 0x85, 0x10,
- 0x03, 0x76, 0xe7, 0x17, 0x59, 0x86,
- 0x6c, 0x8b, 0x24, 0x6e, 0xd9, 0x30,
- 0xf3, 0xd2, 0x9b, 0x62, 0xdc, 0x23,
- 0x54, 0x06, 0x51, 0xb1, 0x95, 0x58,
- 0xec, 0x27, 0xf6, 0x19, 0xae, 0xf4,
- 0x31, 0xec, 0x72, 0x53, 0xcd, 0x32,
- 0xed, 0xf4, 0x25, 0x4a, 0x5b, 0x36,
- 0xa2, 0xb4, 0xa0, 0x29, 0x0c, 0x6b,
- 0x3f, 0xc2 ),
- BIGINT ( 0x7a, 0xd4, 0x25, 0xf1, 0xb5, 0xf5,
- 0x00, 0x96, 0x47, 0x5b, 0x4f, 0x9f,
- 0x1f, 0x61, 0x69, 0xd9, 0x72, 0x47,
- 0xde, 0xbd, 0x87, 0x5d, 0x50, 0x91,
- 0x69, 0xd8, 0x35, 0xe0, 0x43, 0xd8,
- 0xd5, 0x15, 0xf2, 0xcd, 0x01, 0x73,
- 0x0d, 0x34, 0xf0, 0x34, 0x46, 0x76,
- 0xc0, 0x55, 0x7b, 0x27, 0xf5, 0x7b,
- 0x55, 0xe9, 0xd0, 0x29, 0x0b, 0x4b,
- 0x9f, 0x07, 0xbf, 0x2c, 0x3f, 0xef,
- 0x36, 0x34, 0xde, 0x29, 0x1d, 0x5d,
- 0x84, 0x5a, 0x5d, 0xc1, 0x02, 0x4d,
- 0x56, 0xf1, 0x47, 0x39, 0x37, 0xc9,
- 0xb5, 0x5f, 0x73, 0xec, 0x7c, 0x3d,
- 0xbd, 0xc0, 0xfd, 0x38, 0x6c, 0x91,
- 0x88, 0x4a, 0x0f, 0xee, 0xa1, 0x80,
- 0xf5, 0x6a, 0x7c, 0x8c, 0x02, 0xc3,
- 0x5a, 0xb2, 0x15, 0xa6, 0x2f, 0x6b,
- 0x5b, 0x78, 0xb5, 0xf3, 0xbd, 0xd0,
- 0xc8, 0xbc, 0xb1, 0xbb, 0xe1, 0xce,
- 0x22, 0x80, 0x34, 0x5a, 0x2a, 0x27,
- 0x83, 0xdc ),
- BIGINT ( 0x1f, 0xcd, 0xae, 0x75, 0xb8, 0xc0,
- 0xa1, 0x86, 0x6d, 0x9d, 0xc1, 0x41,
- 0x57, 0x16, 0xf9, 0x44, 0x56, 0x91,
- 0x95, 0xc2, 0x79, 0x1c, 0x82, 0x8b,
- 0x03, 0x0c, 0x0b, 0xf6, 0xf2, 0x7f,
- 0x7b, 0x4c, 0x8d, 0xc5, 0x8b, 0xba,
- 0x38, 0x69, 0xe8, 0xcc, 0x32, 0x2d,
- 0xf9, 0x36, 0x7c, 0x74, 0xa8, 0x8a,
- 0x44, 0xf9, 0x08, 0xa6, 0xd2, 0xfe,
- 0xf0, 0x02, 0x51, 0x9a, 0x7a, 0xd6,
- 0x39, 0x16, 0xb8, 0x0d, 0x2d, 0xec,
- 0x14, 0x2c, 0x57, 0x50, 0x73, 0xf8,
- 0x5c, 0xc5, 0xf9, 0xa2, 0xb2, 0xb9,
- 0xb1, 0xe8, 0x8c, 0xd5, 0x22, 0xb7,
- 0x51, 0x35, 0xd8, 0xc9, 0x93, 0x60,
- 0x94, 0x77, 0x74, 0x8b, 0xc5, 0x5d,
- 0xa1, 0x64, 0x2a, 0xda, 0x6d, 0x6a,
- 0x6e, 0x8a, 0x1f, 0x8c, 0x80, 0x77,
- 0x29, 0x8c, 0x43, 0x9f, 0xf0, 0x9d,
- 0xda, 0xc8, 0x8c, 0x71, 0x86, 0x97,
- 0x7f, 0xcb, 0x94, 0x31, 0x1d, 0xbc,
- 0x44, 0x1a ) );
- bigint_rol_ok ( BIGINT ( 0xe0 ),
- BIGINT ( 0xc0 ) );
- bigint_rol_ok ( BIGINT ( 0x43, 0x1d ),
- BIGINT ( 0x86, 0x3a ) );
- bigint_rol_ok ( BIGINT ( 0xac, 0xed, 0x9b ),
- BIGINT ( 0x59, 0xdb, 0x36 ) );
- bigint_rol_ok ( BIGINT ( 0x2c, 0xe8, 0x3a, 0x22 ),
- BIGINT ( 0x59, 0xd0, 0x74, 0x44 ) );
- bigint_rol_ok ( BIGINT ( 0x4e, 0x88, 0x4a, 0x05, 0x5e, 0x10, 0xee,
- 0x5b, 0xc6, 0x40, 0x0e, 0x03, 0xd7, 0x0d,
- 0x28, 0xa5, 0x55, 0xb2, 0x50, 0xef, 0x69,
- 0xd1, 0x1d ),
- BIGINT ( 0x9d, 0x10, 0x94, 0x0a, 0xbc, 0x21, 0xdc,
- 0xb7, 0x8c, 0x80, 0x1c, 0x07, 0xae, 0x1a,
- 0x51, 0x4a, 0xab, 0x64, 0xa1, 0xde, 0xd3,
- 0xa2, 0x3a ) );
- bigint_rol_ok ( BIGINT ( 0x07, 0x62, 0x78, 0x70, 0x2e, 0xd4, 0x41,
- 0xaa, 0x9b, 0x50, 0xb1, 0x9a, 0x71, 0xf5,
- 0x1c, 0x2f, 0xe7, 0x0d, 0xf1, 0x46, 0x57,
- 0x04, 0x99, 0x78, 0x4e, 0x84, 0x78, 0xba,
- 0x57, 0xea, 0xa5, 0x43, 0xf7, 0x02, 0xf0,
- 0x7a, 0x22, 0x60, 0x65, 0x42, 0xf2, 0x33,
- 0x7d, 0xe3, 0xa8, 0x1b, 0xc4, 0x14, 0xdb,
- 0xee, 0x4a, 0xf1, 0xe1, 0x52, 0xd4, 0xda,
- 0x23, 0xed, 0x13, 0x5d, 0xea, 0xcf, 0xf6,
- 0x5e, 0x39, 0x84, 0xe2, 0xb3, 0xa2, 0x05,
- 0xba, 0xd9, 0x49, 0x8e, 0x75, 0x1d, 0xdb,
- 0xe6, 0xb1, 0x6e, 0xda, 0x0a, 0x83, 0xd0,
- 0x6e, 0xcf, 0x7a, 0x66, 0xb7, 0x64, 0x84,
- 0xf5, 0x09, 0x5a, 0xa8, 0x11, 0x93, 0xf3,
- 0x4f, 0x02, 0x28, 0x00, 0x3a, 0xf0, 0xa9,
- 0x08, 0x77, 0x04, 0xf5, 0x04, 0xcd, 0x6b,
- 0x24, 0xbe, 0x0f, 0x6d, 0xe3, 0xb2, 0xd3,
- 0x07, 0x68, 0xe9, 0x00, 0x59, 0xa0, 0xe4,
- 0x9e, 0x5e ),
- BIGINT ( 0x0e, 0xc4, 0xf0, 0xe0, 0x5d, 0xa8, 0x83,
- 0x55, 0x36, 0xa1, 0x63, 0x34, 0xe3, 0xea,
- 0x38, 0x5f, 0xce, 0x1b, 0xe2, 0x8c, 0xae,
- 0x09, 0x32, 0xf0, 0x9d, 0x08, 0xf1, 0x74,
- 0xaf, 0xd5, 0x4a, 0x87, 0xee, 0x05, 0xe0,
- 0xf4, 0x44, 0xc0, 0xca, 0x85, 0xe4, 0x66,
- 0xfb, 0xc7, 0x50, 0x37, 0x88, 0x29, 0xb7,
- 0xdc, 0x95, 0xe3, 0xc2, 0xa5, 0xa9, 0xb4,
- 0x47, 0xda, 0x26, 0xbb, 0xd5, 0x9f, 0xec,
- 0xbc, 0x73, 0x09, 0xc5, 0x67, 0x44, 0x0b,
- 0x75, 0xb2, 0x93, 0x1c, 0xea, 0x3b, 0xb7,
- 0xcd, 0x62, 0xdd, 0xb4, 0x15, 0x07, 0xa0,
- 0xdd, 0x9e, 0xf4, 0xcd, 0x6e, 0xc9, 0x09,
- 0xea, 0x12, 0xb5, 0x50, 0x23, 0x27, 0xe6,
- 0x9e, 0x04, 0x50, 0x00, 0x75, 0xe1, 0x52,
- 0x10, 0xee, 0x09, 0xea, 0x09, 0x9a, 0xd6,
- 0x49, 0x7c, 0x1e, 0xdb, 0xc7, 0x65, 0xa6,
- 0x0e, 0xd1, 0xd2, 0x00, 0xb3, 0x41, 0xc9,
- 0x3c, 0xbc ) );
- bigint_ror_ok ( BIGINT ( 0x8f ),
- BIGINT ( 0x47 ) );
- bigint_ror_ok ( BIGINT ( 0xaa, 0x1d ),
- BIGINT ( 0x55, 0x0e ) );
- bigint_ror_ok ( BIGINT ( 0xf0, 0xbd, 0x68 ),
- BIGINT ( 0x78, 0x5e, 0xb4 ) );
- bigint_ror_ok ( BIGINT ( 0x33, 0xa0, 0x3d, 0x95 ),
- BIGINT ( 0x19, 0xd0, 0x1e, 0xca ) );
- bigint_ror_ok ( BIGINT ( 0xa1, 0xf4, 0xb9, 0x64, 0x91, 0x99, 0xa1,
- 0xf4, 0xae, 0xeb, 0x71, 0x97, 0x1b, 0x71,
- 0x09, 0x38, 0x3f, 0x8f, 0xc5, 0x3a, 0xb9,
- 0x75, 0x94 ),
- BIGINT ( 0x50, 0xfa, 0x5c, 0xb2, 0x48, 0xcc, 0xd0,
- 0xfa, 0x57, 0x75, 0xb8, 0xcb, 0x8d, 0xb8,
- 0x84, 0x9c, 0x1f, 0xc7, 0xe2, 0x9d, 0x5c,
- 0xba, 0xca ) );
- bigint_ror_ok ( BIGINT ( 0xc0, 0xb3, 0x78, 0x46, 0x69, 0x6e, 0x35,
- 0x94, 0xed, 0x28, 0xdc, 0xfd, 0xf6, 0xdb,
- 0x2d, 0x24, 0xcb, 0xa4, 0x6f, 0x0e, 0x58,
- 0x89, 0x04, 0xec, 0xc8, 0x0c, 0x2d, 0xb3,
- 0x58, 0xa7, 0x22, 0x6d, 0x93, 0xe0, 0xb8,
- 0x48, 0x6a, 0x3f, 0x04, 0x7e, 0xbe, 0xb8,
- 0xa7, 0x84, 0xf5, 0xc9, 0x2f, 0x60, 0x9e,
- 0x7c, 0xbc, 0xaf, 0x28, 0x89, 0x2f, 0xaa,
- 0xd1, 0x82, 0x77, 0xa4, 0xdf, 0xf3, 0x4a,
- 0xc6, 0xed, 0xa3, 0x07, 0xb4, 0xa9, 0xfd,
- 0xef, 0xf8, 0x20, 0xb9, 0xb3, 0xff, 0x35,
- 0x27, 0xed, 0x02, 0xea, 0xec, 0x63, 0xc0,
- 0x46, 0x97, 0xc0, 0x4c, 0xca, 0x89, 0xca,
- 0x14, 0xe8, 0xe0, 0x02, 0x14, 0x44, 0x46,
- 0xf3, 0x2f, 0xbc, 0x6a, 0x28, 0xa2, 0xbe,
- 0x20, 0xc8, 0xaa, 0x0f, 0xd9, 0x51, 0x8e,
- 0x8d, 0x51, 0x29, 0x61, 0xef, 0x48, 0xae,
- 0x3e, 0xe5, 0x10, 0xbf, 0xda, 0x9b, 0x92,
- 0xb3, 0x77 ),
- BIGINT ( 0x60, 0x59, 0xbc, 0x23, 0x34, 0xb7, 0x1a,
- 0xca, 0x76, 0x94, 0x6e, 0x7e, 0xfb, 0x6d,
- 0x96, 0x92, 0x65, 0xd2, 0x37, 0x87, 0x2c,
- 0x44, 0x82, 0x76, 0x64, 0x06, 0x16, 0xd9,
- 0xac, 0x53, 0x91, 0x36, 0xc9, 0xf0, 0x5c,
- 0x24, 0x35, 0x1f, 0x82, 0x3f, 0x5f, 0x5c,
- 0x53, 0xc2, 0x7a, 0xe4, 0x97, 0xb0, 0x4f,
- 0x3e, 0x5e, 0x57, 0x94, 0x44, 0x97, 0xd5,
- 0x68, 0xc1, 0x3b, 0xd2, 0x6f, 0xf9, 0xa5,
- 0x63, 0x76, 0xd1, 0x83, 0xda, 0x54, 0xfe,
- 0xf7, 0xfc, 0x10, 0x5c, 0xd9, 0xff, 0x9a,
- 0x93, 0xf6, 0x81, 0x75, 0x76, 0x31, 0xe0,
- 0x23, 0x4b, 0xe0, 0x26, 0x65, 0x44, 0xe5,
- 0x0a, 0x74, 0x70, 0x01, 0x0a, 0x22, 0x23,
- 0x79, 0x97, 0xde, 0x35, 0x14, 0x51, 0x5f,
- 0x10, 0x64, 0x55, 0x07, 0xec, 0xa8, 0xc7,
- 0x46, 0xa8, 0x94, 0xb0, 0xf7, 0xa4, 0x57,
- 0x1f, 0x72, 0x88, 0x5f, 0xed, 0x4d, 0xc9,
- 0x59, 0xbb ) );
- bigint_is_zero_ok ( BIGINT ( 0x9b ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0x5a, 0x9d ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0x5f, 0x80, 0x78 ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0xa0, 0x52, 0x47, 0x2e ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0x18, 0x08, 0x49, 0xdb, 0x7b, 0x5c,
- 0xe7, 0x41, 0x07, 0xdf, 0xed, 0xf9,
- 0xd3, 0x92, 0x0d, 0x75, 0xa6, 0xb0,
- 0x14, 0xfa, 0xdd, 0xfd, 0x82 ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0x04, 0x04, 0xb5, 0xf5, 0x01, 0xae,
- 0x2b, 0x91, 0xa7, 0xc1, 0x49, 0x97,
- 0x3f, 0x45, 0x53, 0x52, 0xb8, 0x52,
- 0xf1, 0x62, 0xa5, 0x21, 0x18, 0xd4,
- 0xb0, 0xb4, 0x8a, 0x17, 0x0e, 0xe8,
- 0xeb, 0xaa, 0x28, 0xae, 0x3d, 0x8e,
- 0xe3, 0x6c, 0xd0, 0x01, 0x0c, 0x54,
- 0xca, 0x23, 0xbb, 0x06, 0xcd, 0x7a,
- 0x61, 0x89, 0x38, 0x34, 0x6e, 0xc7,
- 0xc2, 0xee, 0xb1, 0x80, 0x61, 0x0e,
- 0xc6, 0x8d, 0x65, 0xa0, 0xeb, 0x34,
- 0xe9, 0x63, 0x09, 0x4c, 0x20, 0xac,
- 0x42, 0xe3, 0x35, 0xa2, 0x3e, 0x3b,
- 0x2e, 0x18, 0x70, 0x45, 0x7c, 0xab,
- 0x42, 0xcc, 0xe0, 0x9e, 0x7c, 0x42,
- 0xd1, 0xda, 0x6c, 0x51, 0x10, 0x1e,
- 0x0e, 0x3f, 0xe5, 0xd6, 0xd8, 0x56,
- 0x08, 0xb2, 0x3b, 0x15, 0xc4, 0x7c,
- 0x0c, 0x7e, 0xaf, 0x7b, 0x9d, 0xd6,
- 0x2b, 0xc0, 0x2f, 0xa2, 0xa3, 0xa3,
- 0x77, 0x58, 0x1b, 0xe9, 0xa8, 0x9a,
- 0x23, 0x7f ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0x00 ),
- 1 );
- bigint_is_zero_ok ( BIGINT ( 0x00, 0x00 ),
- 1 );
- bigint_is_zero_ok ( BIGINT ( 0x00, 0x00, 0x00 ),
- 1 );
- bigint_is_zero_ok ( BIGINT ( 0x00, 0x00, 0x00, 0x00 ),
- 1 );
- bigint_is_zero_ok ( BIGINT ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00 ),
- 1 );
- bigint_is_zero_ok ( BIGINT ( 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, 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, 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,
- 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 ),
- 1 );
- bigint_is_zero_ok ( BIGINT ( 0xff ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0xff, 0xff ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0xff, 0xff, 0xff ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0xff, 0xff, 0xff, 0xff ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff ),
- 0 );
- bigint_is_zero_ok ( BIGINT ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff ),
- 0 );
- bigint_is_geq_ok ( BIGINT ( 0xa2 ),
- BIGINT ( 0x58 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0x58 ),
- BIGINT ( 0xa2 ),
- 0 );
- bigint_is_geq_ok ( BIGINT ( 0xa2 ),
- BIGINT ( 0xa2 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0x61, 0x29 ),
- BIGINT ( 0x87, 0xac ),
- 0 );
- bigint_is_geq_ok ( BIGINT ( 0x87, 0xac ),
- BIGINT ( 0x61, 0x29 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0x61, 0x29 ),
- BIGINT ( 0x61, 0x29 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0xe6, 0x63, 0x14 ),
- BIGINT ( 0xb7, 0x2b, 0x76 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0xb7, 0x2b, 0x76 ),
- BIGINT ( 0xe6, 0x63, 0x14 ),
- 0 );
- bigint_is_geq_ok ( BIGINT ( 0xe6, 0x63, 0x14 ),
- BIGINT ( 0xe6, 0x63, 0x14 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0xe7, 0x4f, 0xd4, 0x80 ),
- BIGINT ( 0xb5, 0xf9, 0x9b, 0x90 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0xb5, 0xf9, 0x9b, 0x90 ),
- BIGINT ( 0xe7, 0x4f, 0xd4, 0x80 ),
- 0 );
- bigint_is_geq_ok ( BIGINT ( 0xe7, 0x4f, 0xd4, 0x80 ),
- BIGINT ( 0xe7, 0x4f, 0xd4, 0x80 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0xe6, 0x2c, 0x7c, 0x24, 0x78, 0x8f, 0x12,
- 0x20, 0xde, 0xd3, 0x6b, 0xc9, 0x97, 0x2d,
- 0x66, 0x74, 0xe5, 0xb6, 0xf7, 0x8f, 0x2b,
- 0x60, 0x98 ),
- BIGINT ( 0x77, 0xbc, 0x3b, 0x1b, 0x57, 0x43, 0x3b,
- 0x8c, 0x82, 0xda, 0xb5, 0xc7, 0x18, 0x09,
- 0xb3, 0x59, 0x0e, 0x53, 0x2a, 0xb9, 0xd8,
- 0xa2, 0xb4 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0x77, 0xbc, 0x3b, 0x1b, 0x57, 0x43, 0x3b,
- 0x8c, 0x82, 0xda, 0xb5, 0xc7, 0x18, 0x09,
- 0xb3, 0x59, 0x0e, 0x53, 0x2a, 0xb9, 0xd8,
- 0xa2, 0xb4 ),
- BIGINT ( 0xe6, 0x2c, 0x7c, 0x24, 0x78, 0x8f, 0x12,
- 0x20, 0xde, 0xd3, 0x6b, 0xc9, 0x97, 0x2d,
- 0x66, 0x74, 0xe5, 0xb6, 0xf7, 0x8f, 0x2b,
- 0x60, 0x98 ),
- 0 );
- bigint_is_geq_ok ( BIGINT ( 0xe6, 0x2c, 0x7c, 0x24, 0x78, 0x8f, 0x12,
- 0x20, 0xde, 0xd3, 0x6b, 0xc9, 0x97, 0x2d,
- 0x66, 0x74, 0xe5, 0xb6, 0xf7, 0x8f, 0x2b,
- 0x60, 0x98 ),
- BIGINT ( 0xe6, 0x2c, 0x7c, 0x24, 0x78, 0x8f, 0x12,
- 0x20, 0xde, 0xd3, 0x6b, 0xc9, 0x97, 0x2d,
- 0x66, 0x74, 0xe5, 0xb6, 0xf7, 0x8f, 0x2b,
- 0x60, 0x98 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0x2a, 0x98, 0xfd, 0x87, 0x5d, 0x9f, 0xb4,
- 0x8b, 0x5c, 0xcd, 0x5f, 0xcd, 0x53, 0xb3,
- 0xd1, 0x81, 0x6a, 0x9c, 0x93, 0x66, 0x40,
- 0xa7, 0x64, 0xe0, 0x8c, 0xec, 0x96, 0x63,
- 0x4d, 0x29, 0xfa, 0xb1, 0x5d, 0x93, 0x2f,
- 0xf9, 0x36, 0xea, 0x3b, 0xc1, 0xaf, 0x85,
- 0xcb, 0xde, 0x2d, 0xc8, 0x48, 0x33, 0xce,
- 0x7b, 0xa4, 0xa4, 0xda, 0x0f, 0xaa, 0x1b,
- 0xcb, 0xed, 0xbe, 0x3a, 0xa5, 0xbb, 0x73,
- 0x28, 0x04, 0xc6, 0x2a, 0xfb, 0x3a, 0xc3,
- 0xae, 0x42, 0x1f, 0x53, 0x6c, 0xb2, 0x76,
- 0xb7, 0xe2, 0x88, 0xcb, 0x88, 0xcf, 0xf0,
- 0x52, 0x81, 0xd3, 0xb2, 0x1f, 0x56, 0xe1,
- 0xe1, 0x47, 0x93, 0x6f, 0x2b, 0x49, 0xaa,
- 0x50, 0x99, 0x7a, 0xc4, 0x56, 0xb7, 0x13,
- 0x80, 0xf4, 0x73, 0x88, 0xc7, 0x39, 0x83,
- 0x67, 0xc7, 0xcc, 0xb2, 0x28, 0x7a, 0xd3,
- 0xdc, 0x48, 0xea, 0x62, 0x0d, 0xf5, 0x5a,
- 0x27, 0x96 ),
- BIGINT ( 0xd4, 0x6b, 0x0a, 0x2e, 0x9f, 0xde, 0x4b,
- 0x64, 0xfa, 0x6b, 0x37, 0x73, 0x66, 0x06,
- 0xee, 0x04, 0xef, 0xe6, 0x3c, 0x7d, 0x57,
- 0x22, 0x7f, 0x1f, 0x62, 0x1c, 0x7e, 0x20,
- 0xda, 0x97, 0xd0, 0x27, 0x23, 0xf6, 0x77,
- 0x5b, 0x49, 0x97, 0xe1, 0x65, 0x91, 0x13,
- 0x93, 0xd6, 0x12, 0xc3, 0x66, 0x91, 0x76,
- 0xe8, 0x47, 0x4c, 0x6a, 0x1b, 0xa2, 0x02,
- 0xf8, 0x94, 0xaa, 0xe0, 0x1b, 0x0b, 0x17,
- 0x86, 0x5e, 0xf5, 0x17, 0x23, 0xf5, 0x17,
- 0x91, 0x6b, 0xd7, 0x2f, 0x5a, 0xfe, 0x8a,
- 0x63, 0x28, 0x31, 0x1e, 0x09, 0x60, 0x29,
- 0x5d, 0x55, 0xd8, 0x79, 0xeb, 0x78, 0x36,
- 0x44, 0x69, 0xa4, 0x76, 0xa5, 0x35, 0x30,
- 0xca, 0xc9, 0xf9, 0x62, 0xd7, 0x82, 0x13,
- 0x56, 0xd0, 0x58, 0xfe, 0x16, 0x4b, 0xfb,
- 0xa8, 0x4c, 0xb3, 0xd7, 0xcf, 0x5f, 0x93,
- 0x9d, 0xc4, 0x11, 0xb4, 0xdd, 0xf8, 0x8f,
- 0xe1, 0x11 ),
- 0 );
- bigint_is_geq_ok ( BIGINT ( 0xd4, 0x6b, 0x0a, 0x2e, 0x9f, 0xde, 0x4b,
- 0x64, 0xfa, 0x6b, 0x37, 0x73, 0x66, 0x06,
- 0xee, 0x04, 0xef, 0xe6, 0x3c, 0x7d, 0x57,
- 0x22, 0x7f, 0x1f, 0x62, 0x1c, 0x7e, 0x20,
- 0xda, 0x97, 0xd0, 0x27, 0x23, 0xf6, 0x77,
- 0x5b, 0x49, 0x97, 0xe1, 0x65, 0x91, 0x13,
- 0x93, 0xd6, 0x12, 0xc3, 0x66, 0x91, 0x76,
- 0xe8, 0x47, 0x4c, 0x6a, 0x1b, 0xa2, 0x02,
- 0xf8, 0x94, 0xaa, 0xe0, 0x1b, 0x0b, 0x17,
- 0x86, 0x5e, 0xf5, 0x17, 0x23, 0xf5, 0x17,
- 0x91, 0x6b, 0xd7, 0x2f, 0x5a, 0xfe, 0x8a,
- 0x63, 0x28, 0x31, 0x1e, 0x09, 0x60, 0x29,
- 0x5d, 0x55, 0xd8, 0x79, 0xeb, 0x78, 0x36,
- 0x44, 0x69, 0xa4, 0x76, 0xa5, 0x35, 0x30,
- 0xca, 0xc9, 0xf9, 0x62, 0xd7, 0x82, 0x13,
- 0x56, 0xd0, 0x58, 0xfe, 0x16, 0x4b, 0xfb,
- 0xa8, 0x4c, 0xb3, 0xd7, 0xcf, 0x5f, 0x93,
- 0x9d, 0xc4, 0x11, 0xb4, 0xdd, 0xf8, 0x8f,
- 0xe1, 0x11 ),
- BIGINT ( 0x2a, 0x98, 0xfd, 0x87, 0x5d, 0x9f, 0xb4,
- 0x8b, 0x5c, 0xcd, 0x5f, 0xcd, 0x53, 0xb3,
- 0xd1, 0x81, 0x6a, 0x9c, 0x93, 0x66, 0x40,
- 0xa7, 0x64, 0xe0, 0x8c, 0xec, 0x96, 0x63,
- 0x4d, 0x29, 0xfa, 0xb1, 0x5d, 0x93, 0x2f,
- 0xf9, 0x36, 0xea, 0x3b, 0xc1, 0xaf, 0x85,
- 0xcb, 0xde, 0x2d, 0xc8, 0x48, 0x33, 0xce,
- 0x7b, 0xa4, 0xa4, 0xda, 0x0f, 0xaa, 0x1b,
- 0xcb, 0xed, 0xbe, 0x3a, 0xa5, 0xbb, 0x73,
- 0x28, 0x04, 0xc6, 0x2a, 0xfb, 0x3a, 0xc3,
- 0xae, 0x42, 0x1f, 0x53, 0x6c, 0xb2, 0x76,
- 0xb7, 0xe2, 0x88, 0xcb, 0x88, 0xcf, 0xf0,
- 0x52, 0x81, 0xd3, 0xb2, 0x1f, 0x56, 0xe1,
- 0xe1, 0x47, 0x93, 0x6f, 0x2b, 0x49, 0xaa,
- 0x50, 0x99, 0x7a, 0xc4, 0x56, 0xb7, 0x13,
- 0x80, 0xf4, 0x73, 0x88, 0xc7, 0x39, 0x83,
- 0x67, 0xc7, 0xcc, 0xb2, 0x28, 0x7a, 0xd3,
- 0xdc, 0x48, 0xea, 0x62, 0x0d, 0xf5, 0x5a,
- 0x27, 0x96 ),
- 1 );
- bigint_is_geq_ok ( BIGINT ( 0x2a, 0x98, 0xfd, 0x87, 0x5d, 0x9f, 0xb4,
- 0x8b, 0x5c, 0xcd, 0x5f, 0xcd, 0x53, 0xb3,
- 0xd1, 0x81, 0x6a, 0x9c, 0x93, 0x66, 0x40,
- 0xa7, 0x64, 0xe0, 0x8c, 0xec, 0x96, 0x63,
- 0x4d, 0x29, 0xfa, 0xb1, 0x5d, 0x93, 0x2f,
- 0xf9, 0x36, 0xea, 0x3b, 0xc1, 0xaf, 0x85,
- 0xcb, 0xde, 0x2d, 0xc8, 0x48, 0x33, 0xce,
- 0x7b, 0xa4, 0xa4, 0xda, 0x0f, 0xaa, 0x1b,
- 0xcb, 0xed, 0xbe, 0x3a, 0xa5, 0xbb, 0x73,
- 0x28, 0x04, 0xc6, 0x2a, 0xfb, 0x3a, 0xc3,
- 0xae, 0x42, 0x1f, 0x53, 0x6c, 0xb2, 0x76,
- 0xb7, 0xe2, 0x88, 0xcb, 0x88, 0xcf, 0xf0,
- 0x52, 0x81, 0xd3, 0xb2, 0x1f, 0x56, 0xe1,
- 0xe1, 0x47, 0x93, 0x6f, 0x2b, 0x49, 0xaa,
- 0x50, 0x99, 0x7a, 0xc4, 0x56, 0xb7, 0x13,
- 0x80, 0xf4, 0x73, 0x88, 0xc7, 0x39, 0x83,
- 0x67, 0xc7, 0xcc, 0xb2, 0x28, 0x7a, 0xd3,
- 0xdc, 0x48, 0xea, 0x62, 0x0d, 0xf5, 0x5a,
- 0x27, 0x96 ),
- BIGINT ( 0x2a, 0x98, 0xfd, 0x87, 0x5d, 0x9f, 0xb4,
- 0x8b, 0x5c, 0xcd, 0x5f, 0xcd, 0x53, 0xb3,
- 0xd1, 0x81, 0x6a, 0x9c, 0x93, 0x66, 0x40,
- 0xa7, 0x64, 0xe0, 0x8c, 0xec, 0x96, 0x63,
- 0x4d, 0x29, 0xfa, 0xb1, 0x5d, 0x93, 0x2f,
- 0xf9, 0x36, 0xea, 0x3b, 0xc1, 0xaf, 0x85,
- 0xcb, 0xde, 0x2d, 0xc8, 0x48, 0x33, 0xce,
- 0x7b, 0xa4, 0xa4, 0xda, 0x0f, 0xaa, 0x1b,
- 0xcb, 0xed, 0xbe, 0x3a, 0xa5, 0xbb, 0x73,
- 0x28, 0x04, 0xc6, 0x2a, 0xfb, 0x3a, 0xc3,
- 0xae, 0x42, 0x1f, 0x53, 0x6c, 0xb2, 0x76,
- 0xb7, 0xe2, 0x88, 0xcb, 0x88, 0xcf, 0xf0,
- 0x52, 0x81, 0xd3, 0xb2, 0x1f, 0x56, 0xe1,
- 0xe1, 0x47, 0x93, 0x6f, 0x2b, 0x49, 0xaa,
- 0x50, 0x99, 0x7a, 0xc4, 0x56, 0xb7, 0x13,
- 0x80, 0xf4, 0x73, 0x88, 0xc7, 0x39, 0x83,
- 0x67, 0xc7, 0xcc, 0xb2, 0x28, 0x7a, 0xd3,
- 0xdc, 0x48, 0xea, 0x62, 0x0d, 0xf5, 0x5a,
- 0x27, 0x96 ),
- 1 );
- bigint_bit_is_set_ok ( BIGINT ( 0x37 ),
- 0, 1 );
- bigint_bit_is_set_ok ( BIGINT ( 0xe6, 0xcb ),
- 0, 1 );
- bigint_bit_is_set_ok ( BIGINT ( 0xd9, 0x0c, 0x5b ),
- 0, 1 );
- bigint_bit_is_set_ok ( BIGINT ( 0x8b, 0x56, 0x89, 0xaf ),
- 0, 1 );
- bigint_bit_is_set_ok ( BIGINT ( 0x25, 0xfc, 0xaf, 0xeb, 0x81, 0xc3,
- 0xb8, 0x2f, 0xbb, 0xe3, 0x07, 0xb2,
- 0xe2, 0x2a, 0xe2, 0x2d, 0xb4, 0x4d,
- 0x6d, 0xec, 0x51, 0xa0, 0x2f ),
- 0, 1 );
- bigint_bit_is_set_ok ( BIGINT ( 0x25, 0xfc, 0xaf, 0xeb, 0x81, 0xc3,
- 0xb8, 0x2f, 0xbb, 0xe3, 0x07, 0xb2,
- 0xe2, 0x2a, 0xe2, 0x2d, 0xb4, 0x4d,
- 0x6d, 0xec, 0x51, 0xa0, 0x2f ),
- 45, 0 );
- bigint_bit_is_set_ok ( BIGINT ( 0x88, 0x04, 0xec, 0xe6, 0xfb, 0x31,
- 0x87, 0x43, 0xb2, 0x04, 0x9e, 0x09,
- 0xba, 0x3e, 0x6d, 0x64, 0x1a, 0x85,
- 0xb6, 0x46, 0x7d, 0x71, 0x3c, 0x06,
- 0xd6, 0x40, 0x52, 0x39, 0x95, 0xa1,
- 0x06, 0xff, 0x6a, 0x5c, 0xa3, 0x6d,
- 0x4a, 0xc9, 0x77, 0x87, 0x75, 0x25,
- 0x57, 0x65, 0x72, 0x73, 0x64, 0x7e,
- 0xe9, 0x16, 0x17, 0xf3, 0x65, 0x3f,
- 0xd5, 0xcc, 0xd7, 0xa2, 0xee, 0xe7,
- 0x8d, 0x48, 0xd5, 0x7e, 0xdd, 0x59,
- 0x4b, 0xf0, 0x96, 0x8b, 0x21, 0x65,
- 0x04, 0x66, 0xc5, 0xff, 0x3e, 0x60,
- 0xba, 0x28, 0x38, 0x7d, 0x9c, 0x09,
- 0xd1, 0x8e, 0xac, 0x73, 0x8e, 0xf2,
- 0x1e, 0xdf, 0x83, 0x6e, 0x54, 0xd5,
- 0x34, 0xc1, 0xc6, 0xf9, 0x62, 0x2a,
- 0x7d, 0xec, 0x47, 0xf2, 0xfc, 0xa2,
- 0x10, 0x0a, 0x67, 0x1b, 0xc6, 0x11,
- 0x9d, 0x68, 0x25, 0x8b, 0xb5, 0x9b,
- 0x83, 0xf8, 0xa2, 0x11, 0xf5, 0xd4,
- 0xcb, 0xe0 ),
- 0, 0 );
- bigint_bit_is_set_ok ( BIGINT ( 0x88, 0x04, 0xec, 0xe6, 0xfb, 0x31,
- 0x87, 0x43, 0xb2, 0x04, 0x9e, 0x09,
- 0xba, 0x3e, 0x6d, 0x64, 0x1a, 0x85,
- 0xb6, 0x46, 0x7d, 0x71, 0x3c, 0x06,
- 0xd6, 0x40, 0x52, 0x39, 0x95, 0xa1,
- 0x06, 0xff, 0x6a, 0x5c, 0xa3, 0x6d,
- 0x4a, 0xc9, 0x77, 0x87, 0x75, 0x25,
- 0x57, 0x65, 0x72, 0x73, 0x64, 0x7e,
- 0xe9, 0x16, 0x17, 0xf3, 0x65, 0x3f,
- 0xd5, 0xcc, 0xd7, 0xa2, 0xee, 0xe7,
- 0x8d, 0x48, 0xd5, 0x7e, 0xdd, 0x59,
- 0x4b, 0xf0, 0x96, 0x8b, 0x21, 0x65,
- 0x04, 0x66, 0xc5, 0xff, 0x3e, 0x60,
- 0xba, 0x28, 0x38, 0x7d, 0x9c, 0x09,
- 0xd1, 0x8e, 0xac, 0x73, 0x8e, 0xf2,
- 0x1e, 0xdf, 0x83, 0x6e, 0x54, 0xd5,
- 0x34, 0xc1, 0xc6, 0xf9, 0x62, 0x2a,
- 0x7d, 0xec, 0x47, 0xf2, 0xfc, 0xa2,
- 0x10, 0x0a, 0x67, 0x1b, 0xc6, 0x11,
- 0x9d, 0x68, 0x25, 0x8b, 0xb5, 0x9b,
- 0x83, 0xf8, 0xa2, 0x11, 0xf5, 0xd4,
- 0xcb, 0xe0 ),
- 45, 1 );
- bigint_bit_is_set_ok ( BIGINT ( 0x88, 0x04, 0xec, 0xe6, 0xfb, 0x31,
- 0x87, 0x43, 0xb2, 0x04, 0x9e, 0x09,
- 0xba, 0x3e, 0x6d, 0x64, 0x1a, 0x85,
- 0xb6, 0x46, 0x7d, 0x71, 0x3c, 0x06,
- 0xd6, 0x40, 0x52, 0x39, 0x95, 0xa1,
- 0x06, 0xff, 0x6a, 0x5c, 0xa3, 0x6d,
- 0x4a, 0xc9, 0x77, 0x87, 0x75, 0x25,
- 0x57, 0x65, 0x72, 0x73, 0x64, 0x7e,
- 0xe9, 0x16, 0x17, 0xf3, 0x65, 0x3f,
- 0xd5, 0xcc, 0xd7, 0xa2, 0xee, 0xe7,
- 0x8d, 0x48, 0xd5, 0x7e, 0xdd, 0x59,
- 0x4b, 0xf0, 0x96, 0x8b, 0x21, 0x65,
- 0x04, 0x66, 0xc5, 0xff, 0x3e, 0x60,
- 0xba, 0x28, 0x38, 0x7d, 0x9c, 0x09,
- 0xd1, 0x8e, 0xac, 0x73, 0x8e, 0xf2,
- 0x1e, 0xdf, 0x83, 0x6e, 0x54, 0xd5,
- 0x34, 0xc1, 0xc6, 0xf9, 0x62, 0x2a,
- 0x7d, 0xec, 0x47, 0xf2, 0xfc, 0xa2,
- 0x10, 0x0a, 0x67, 0x1b, 0xc6, 0x11,
- 0x9d, 0x68, 0x25, 0x8b, 0xb5, 0x9b,
- 0x83, 0xf8, 0xa2, 0x11, 0xf5, 0xd4,
- 0xcb, 0xe0 ),
- 1013, 0 );
- bigint_max_set_bit_ok ( BIGINT ( 0x3a ),
- 6 );
- bigint_max_set_bit_ok ( BIGINT ( 0x03 ),
- 2 );
- bigint_max_set_bit_ok ( BIGINT ( 0x00 ),
- 0 );
- bigint_max_set_bit_ok ( BIGINT ( 0xff ),
- 8 );
- bigint_max_set_bit_ok ( BIGINT ( 0x20, 0x30 ),
- 14 );
- bigint_max_set_bit_ok ( BIGINT ( 0x00, 0x10 ),
- 5 );
- bigint_max_set_bit_ok ( BIGINT ( 0x00, 0x00 ),
- 0 );
- bigint_max_set_bit_ok ( BIGINT ( 0xff, 0xff ),
- 16 );
- bigint_max_set_bit_ok ( BIGINT ( 0x06, 0xdb, 0x7a ),
- 19 );
- bigint_max_set_bit_ok ( BIGINT ( 0x00, 0x00, 0x00 ),
- 0 );
- bigint_max_set_bit_ok ( BIGINT ( 0x00, 0x00, 0x00 ),
- 0 );
- bigint_max_set_bit_ok ( BIGINT ( 0xff, 0xff, 0xff ),
- 24 );
- bigint_max_set_bit_ok ( BIGINT ( 0xee, 0xcb, 0x7b, 0xfd ),
- 32 );
- bigint_max_set_bit_ok ( BIGINT ( 0x00, 0x00, 0x01, 0xdd ),
- 9 );
- bigint_max_set_bit_ok ( BIGINT ( 0x00, 0x00, 0x00, 0x00 ),
- 0 );
- bigint_max_set_bit_ok ( BIGINT ( 0xff, 0xff, 0xff, 0xff ),
- 32 );
- bigint_max_set_bit_ok ( BIGINT ( 0x32, 0x39, 0x96, 0x52, 0x10, 0x67,
- 0x7e, 0x32, 0xfc, 0x4e, 0x56, 0xc3,
- 0x68, 0x18, 0x76, 0x1a, 0xac, 0x0e,
- 0x93, 0xee, 0x55, 0xc5, 0x6e ),
- 182 );
- bigint_max_set_bit_ok ( BIGINT ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc8, 0xe6, 0x59 ),
- 24 );
- bigint_max_set_bit_ok ( BIGINT ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00 ),
- 0 );
- bigint_max_set_bit_ok ( BIGINT ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff ),
- 184 );
- bigint_max_set_bit_ok ( BIGINT ( 0xcd, 0xb3, 0x22, 0x30, 0xdd, 0xa7,
- 0xff, 0x37, 0xbf, 0xe3, 0x38, 0xf7,
- 0xe1, 0x41, 0x73, 0xea, 0x3a, 0xfc,
- 0x78, 0x9e, 0xfb, 0x4f, 0x85, 0xdc,
- 0x1c, 0x40, 0x89, 0x6e, 0xda, 0xf9,
- 0x9d, 0x6d, 0x12, 0x97, 0xb1, 0x80,
- 0x2a, 0xeb, 0x91, 0xce, 0x3b, 0x83,
- 0xb8, 0xa5, 0x3d, 0xce, 0x46, 0x56,
- 0xb7, 0xd1, 0x28, 0xbc, 0x93, 0x4e,
- 0x8c, 0x29, 0x6d, 0x2c, 0xcc, 0x58,
- 0x49, 0x2f, 0x37, 0xa0, 0x08, 0x37,
- 0x86, 0xdd, 0x38, 0x21, 0xa7, 0x57,
- 0x37, 0xe3, 0xc5, 0xcc, 0x50, 0x11,
- 0x1a, 0xe4, 0xea, 0xe7, 0x4d, 0x3c,
- 0x37, 0x65, 0x78, 0xd1, 0xf6, 0xc3,
- 0x94, 0x46, 0xd4, 0x0e, 0xd3, 0x9a,
- 0x21, 0x8b, 0xa6, 0x54, 0xc0, 0xd2,
- 0x88, 0x07, 0x24, 0xbf, 0x7d, 0x31,
- 0xfd, 0x15, 0xa8, 0x92, 0x65, 0xe1,
- 0x8d, 0xed, 0x70, 0x7b, 0x68, 0x0f,
- 0xcc, 0x13, 0xb9, 0xb2, 0xdd, 0x3c,
- 0x6a, 0x52 ),
- 1024 );
- bigint_max_set_bit_ok ( BIGINT ( 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, 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, 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,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x66, 0xd9,
- 0x91, 0x18, 0x6e, 0xd3, 0xff, 0x9b,
- 0xdf, 0xf1, 0x9c, 0x7b, 0xf0, 0xa0,
- 0xb9, 0xf5 ),
- 127 );
- bigint_max_set_bit_ok ( BIGINT ( 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, 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, 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,
- 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 ),
- 0 );
- bigint_max_set_bit_ok ( BIGINT ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff ),
- 1024 );
- bigint_multiply_ok ( BIGINT ( 0xf0 ),
- BIGINT ( 0xeb ),
- BIGINT ( 0xdc, 0x50 ) );
- bigint_multiply_ok ( BIGINT ( 0xd7, 0x16 ),
- BIGINT ( 0x88, 0xfb ),
- BIGINT ( 0x73, 0x16, 0x92, 0x92 ) );
- bigint_multiply_ok ( BIGINT ( 0xfe, 0xed, 0x1d ),
- BIGINT ( 0x69, 0x9c, 0x03 ),
- BIGINT ( 0x69, 0x2a, 0x9c, 0x5f, 0x73, 0x57 ) );
- bigint_multiply_ok ( BIGINT ( 0x96, 0xe9, 0x6f, 0x81 ),
- BIGINT ( 0x67, 0x3c, 0x5a, 0x16 ),
- BIGINT ( 0x3c, 0xdb, 0x7f, 0xae, 0x12, 0x7e,
- 0xef, 0x16 ) );
- bigint_multiply_ok ( BIGINT ( 0xe8, 0x08, 0x0b, 0xe9, 0x29, 0x36,
- 0xea, 0x51, 0x1d, 0x75, 0x1a, 0xd5,
- 0xba, 0xc6, 0xa0, 0xf3, 0x48, 0x5c,
- 0xdf, 0x42, 0xdf, 0x28, 0x38 ),
- BIGINT ( 0x22, 0x07, 0x41, 0x54, 0x4e, 0xf9,
- 0x90, 0xa8, 0xaf, 0xba, 0xf6, 0xb0,
- 0x35, 0x7e, 0x98, 0xef, 0x2c, 0x31,
- 0xc9, 0xa7, 0x25, 0x74, 0x8d ),
- BIGINT ( 0x1e, 0xd7, 0xa5, 0x03, 0xc0, 0x18,
- 0x2e, 0x29, 0xb1, 0x3e, 0x96, 0x71,
- 0x90, 0xa5, 0x6d, 0x43, 0x58, 0xf7,
- 0x22, 0x80, 0x0b, 0x21, 0xc6, 0x70,
- 0x90, 0x1c, 0xa8, 0x85, 0x87, 0xaf,
- 0xd7, 0xdd, 0x27, 0x69, 0xaf, 0x20,
- 0xa0, 0x2d, 0x43, 0x5d, 0xda, 0xba,
- 0x4b, 0x3a, 0x86, 0xd8 ) );
- bigint_multiply_ok ( BIGINT ( 0xa2, 0x0f, 0xc6, 0x08, 0x0a, 0x01,
- 0x19, 0x42, 0x0e, 0xaa, 0x5c, 0xae,
- 0x4f, 0x4e, 0xb0, 0xad, 0xb2, 0xe8,
- 0xee, 0xd5, 0x65, 0xec, 0x5a, 0xda,
- 0xc0, 0xba, 0x78, 0xa8, 0x0f, 0x15,
- 0x39, 0xd7, 0x7a, 0x10, 0xc2, 0xa7,
- 0xec, 0x44, 0xac, 0xad, 0x39, 0x04,
- 0x2e, 0x66, 0x54, 0x70, 0x57, 0xee,
- 0xf6, 0x97, 0x19, 0x71, 0x16, 0xf9,
- 0xbb, 0x2e, 0x84, 0x09, 0x6e, 0x9a,
- 0x3b, 0x16, 0xb2, 0x65, 0x74, 0x50,
- 0x19, 0xd1, 0xe9, 0x95, 0xa0, 0x7b,
- 0x33, 0xb5, 0xac, 0x7c, 0x9e, 0xd4,
- 0x68, 0x0d, 0xc9, 0xe4, 0x03, 0x86,
- 0x1a, 0xa3, 0x42, 0x33, 0x28, 0x14,
- 0x12, 0x7d, 0x5a, 0xd9, 0x30, 0x18,
- 0x0a, 0xf4, 0x0c, 0x96, 0x58, 0xc9,
- 0xb5, 0x37, 0xdb, 0x49, 0xdc, 0x01,
- 0x4a, 0xcb, 0x6d, 0x87, 0x52, 0xf6,
- 0xae, 0xa7, 0x71, 0x31, 0x9a, 0x1a,
- 0xe2, 0x1c, 0x87, 0x51, 0xc9, 0xeb,
- 0x70, 0x71 ),
- BIGINT ( 0x7c, 0xdd, 0x2f, 0x5d, 0x27, 0xfe,
- 0xca, 0x70, 0x96, 0xc3, 0xb1, 0x1f,
- 0xac, 0xa9, 0x3a, 0xdc, 0xcd, 0xbc,
- 0x58, 0xb4, 0xde, 0xe7, 0xe5, 0x34,
- 0x1a, 0xc0, 0xb9, 0x46, 0xf7, 0x52,
- 0x76, 0x23, 0xe8, 0xe9, 0x92, 0xa1,
- 0x86, 0x3c, 0x6f, 0xf1, 0x22, 0xf4,
- 0x72, 0xb1, 0xde, 0xd3, 0x8f, 0x11,
- 0x9e, 0x52, 0xe5, 0x81, 0x54, 0xe9,
- 0xa7, 0x72, 0x3f, 0x3e, 0xa0, 0x80,
- 0xbb, 0xae, 0x0e, 0x30, 0x6a, 0x11,
- 0x91, 0x11, 0x3b, 0x3f, 0x44, 0x1f,
- 0x8d, 0x4d, 0xea, 0xdd, 0x09, 0x95,
- 0x9d, 0x02, 0xa6, 0x6d, 0x3b, 0x08,
- 0x40, 0x8d, 0xb4, 0x4b, 0x05, 0x74,
- 0x8c, 0x1f, 0xaa, 0x61, 0x6f, 0x0e,
- 0xcc, 0xcf, 0xe0, 0x81, 0x03, 0xe4,
- 0x9b, 0x11, 0xd9, 0xab, 0xf3, 0x24,
- 0xe2, 0x3b, 0xe0, 0x05, 0x60, 0x65,
- 0x16, 0xc6, 0x2e, 0x83, 0xa0, 0x98,
- 0x8e, 0x11, 0x05, 0x00, 0xe4, 0x3f,
- 0x7e, 0x65 ),
- BIGINT ( 0x4f, 0x0b, 0xa9, 0x85, 0xb8, 0x31,
- 0x48, 0xea, 0x11, 0x44, 0xaf, 0x2d,
- 0xed, 0x1a, 0x76, 0x45, 0xac, 0x87,
- 0x0c, 0xf3, 0xd7, 0xc4, 0x8e, 0x5c,
- 0xd7, 0xdf, 0x28, 0x74, 0xa6, 0x40,
- 0xe4, 0x6b, 0x5b, 0x19, 0x36, 0x37,
- 0x9c, 0xcd, 0x43, 0x76, 0x15, 0x00,
- 0x5d, 0x23, 0xa2, 0x8a, 0x53, 0x25,
- 0xbf, 0x18, 0xda, 0xe6, 0x09, 0xdf,
- 0xaa, 0xeb, 0x9a, 0x82, 0x01, 0x14,
- 0x2b, 0x20, 0x2b, 0xb6, 0x22, 0x62,
- 0x6b, 0xcc, 0xd4, 0xc9, 0x02, 0x67,
- 0x95, 0x43, 0x75, 0x4e, 0x97, 0x4e,
- 0xec, 0x04, 0xde, 0x29, 0x0a, 0xef,
- 0xf7, 0xc1, 0x72, 0x8c, 0x64, 0x38,
- 0x16, 0x47, 0x9f, 0x16, 0x0c, 0xa5,
- 0x79, 0x6b, 0xea, 0x2e, 0x4c, 0x3d,
- 0x0c, 0xe6, 0x57, 0x51, 0x65, 0xa5,
- 0x3b, 0xca, 0xae, 0x54, 0x0c, 0x67,
- 0xf8, 0x23, 0x00, 0xc9, 0x8d, 0xe6,
- 0x16, 0x91, 0x19, 0xb3, 0x5b, 0x68,
- 0x7b, 0xf2, 0xe2, 0x5d, 0x69, 0x48,
- 0x3f, 0x2b, 0xa0, 0x4f, 0x7c, 0x3c,
- 0x26, 0xf9, 0xd9, 0xfd, 0x3d, 0x5d,
- 0xd6, 0x05, 0x00, 0xd8, 0xdf, 0x5a,
- 0x56, 0x8f, 0x16, 0x68, 0x4f, 0x15,
- 0x19, 0x9d, 0xd7, 0x11, 0x51, 0x7d,
- 0x73, 0x5c, 0xd4, 0xd5, 0xb4, 0xc7,
- 0x42, 0xe3, 0xee, 0xf1, 0x67, 0xd6,
- 0x69, 0x72, 0x04, 0x4b, 0x88, 0x3d,
- 0x05, 0xd8, 0x1e, 0x50, 0xcb, 0xce,
- 0x39, 0x19, 0x42, 0xb6, 0xa7, 0xf3,
- 0xba, 0x78, 0x90, 0xd2, 0x09, 0x05,
- 0x87, 0xf8, 0xc0, 0x9c, 0x47, 0xff,
- 0xbf, 0xaa, 0x21, 0x8d, 0x81, 0x86,
- 0xcd, 0x58, 0xdf, 0x30, 0xf1, 0xd1,
- 0x60, 0x53, 0x85, 0x40, 0xbf, 0x14,
- 0x3e, 0xdc, 0x9e, 0x9e, 0xc4, 0xc7,
- 0x48, 0xa0, 0x83, 0xe0, 0x99, 0x8b,
- 0x43, 0xf8, 0x52, 0x8a, 0x15, 0x88,
- 0x89, 0x83, 0x7d, 0x71, 0xbb, 0x62,
- 0x12, 0x7a, 0x23, 0x85, 0x3a, 0xbb,
- 0xdb, 0x09, 0xfa, 0x95 ) );
- bigint_multiply_ok ( BIGINT ( 0xff ),
- BIGINT ( 0xff ),
- BIGINT ( 0xfe, 0x01 ) );
- bigint_multiply_ok ( BIGINT ( 0xff, 0xff ),
- BIGINT ( 0xff, 0xff ),
- BIGINT ( 0xff, 0xfe, 0x00, 0x01 ) );
- bigint_multiply_ok ( BIGINT ( 0xff, 0xff, 0xff ),
- BIGINT ( 0xff, 0xff, 0xff ),
- BIGINT ( 0xff, 0xff, 0xfe, 0x00, 0x00, 0x01 ) );
- bigint_multiply_ok ( BIGINT ( 0xff, 0xff, 0xff, 0xff ),
- BIGINT ( 0xff, 0xff, 0xff, 0xff ),
- BIGINT ( 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00,
- 0x00, 0x01 ) );
- bigint_multiply_ok ( BIGINT ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff ),
- BIGINT ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff ),
- BIGINT ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01 ) );
- bigint_multiply_ok ( BIGINT ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff ),
- BIGINT ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff ),
- BIGINT ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xfe, 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, 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,
- 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, 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, 0x01 ) );
- bigint_mod_multiply_ok ( BIGINT ( 0x37 ),
- BIGINT ( 0x67 ),
- BIGINT ( 0x3f ),
- BIGINT ( 0x3a ) );
- bigint_mod_multiply_ok ( BIGINT ( 0x45, 0x94 ),
- BIGINT ( 0xbd, 0xd2 ),
- BIGINT ( 0xca, 0xc7 ),
- BIGINT ( 0xac, 0xc1 ) );
- bigint_mod_multiply_ok ( BIGINT ( 0x8e, 0xcd, 0x74 ),
- BIGINT ( 0xe2, 0xf1, 0xea ),
- BIGINT ( 0x59, 0x51, 0x53 ),
- BIGINT ( 0x22, 0xdd, 0x1c ) );
- bigint_mod_multiply_ok ( BIGINT ( 0xc2, 0xa8, 0x40, 0x6f ),
- BIGINT ( 0x29, 0xd7, 0xf4, 0x77 ),
- BIGINT ( 0xbb, 0xbd, 0xdb, 0x3d ),
- BIGINT ( 0x8f, 0x39, 0xd0, 0x47 ) );
- bigint_mod_multiply_ok ( BIGINT ( 0x2e, 0xcb, 0x74, 0x7c, 0x64, 0x60,
- 0xb3, 0x44, 0xf3, 0x23, 0x49, 0x4a,
- 0xc6, 0xb6, 0xbf, 0xea, 0x80, 0xd8,
- 0x34, 0xc5, 0x54, 0x22, 0x09 ),
- BIGINT ( 0x61, 0x2c, 0x5a, 0xc5, 0xde, 0x07,
- 0x65, 0x8e, 0xab, 0x88, 0x1a, 0x2e,
- 0x7a, 0x95, 0x17, 0xe3, 0x3b, 0x17,
- 0xe4, 0x21, 0xb0, 0xb4, 0x57 ),
- BIGINT ( 0x8e, 0x46, 0xa5, 0x87, 0x7b, 0x7f,
- 0xc4, 0xd7, 0x31, 0xb1, 0x94, 0xe7,
- 0xe7, 0x1c, 0x7e, 0x7a, 0xc2, 0x6c,
- 0xce, 0xcb, 0xc8, 0x5d, 0x70 ),
- BIGINT ( 0x1e, 0xd1, 0x5b, 0x3d, 0x1d, 0x17,
- 0x7c, 0x31, 0x95, 0x13, 0x1b, 0xd8,
- 0xee, 0x0a, 0xb0, 0xe1, 0x5b, 0x13,
- 0xad, 0x83, 0xe9, 0xf8, 0x7f ) );
- bigint_mod_multiply_ok ( BIGINT ( 0x56, 0x37, 0xab, 0x07, 0x8b, 0x25,
- 0xa7, 0xc2, 0x50, 0x30, 0x43, 0xfc,
- 0x63, 0x8b, 0xdf, 0x84, 0x68, 0x85,
- 0xca, 0xce, 0x44, 0x5c, 0xb1, 0x14,
- 0xa4, 0xb5, 0xba, 0x43, 0xe0, 0x31,
- 0x45, 0x6b, 0x82, 0xa9, 0x0b, 0x9e,
- 0x3a, 0xb0, 0x39, 0x09, 0x2a, 0x68,
- 0x2e, 0x0f, 0x09, 0x54, 0x47, 0x04,
- 0xdb, 0xcf, 0x4a, 0x3a, 0x2d, 0x7b,
- 0x7d, 0x50, 0xa4, 0xc5, 0xeb, 0x13,
- 0xdd, 0x49, 0x61, 0x7d, 0x18, 0xa1,
- 0x0d, 0x6b, 0x58, 0xba, 0x9f, 0x7c,
- 0x81, 0x34, 0x9e, 0xf9, 0x9c, 0x9e,
- 0x28, 0xa8, 0x1c, 0x15, 0x16, 0x20,
- 0x3c, 0x0a, 0xb1, 0x11, 0x06, 0x93,
- 0xbc, 0xd8, 0x4e, 0x49, 0xae, 0x7b,
- 0xb4, 0x02, 0x8b, 0x1c, 0x5b, 0x18,
- 0xb4, 0xac, 0x7f, 0xdd, 0x70, 0xef,
- 0x87, 0xac, 0x1b, 0xac, 0x25, 0xa3,
- 0xc9, 0xa7, 0x3a, 0xc5, 0x76, 0x68,
- 0x09, 0x1f, 0xa1, 0x48, 0x53, 0xb6,
- 0x13, 0xac ),
- BIGINT ( 0xef, 0x5c, 0x1f, 0x1a, 0x44, 0x64,
- 0x66, 0xcf, 0xdd, 0x3f, 0x0b, 0x27,
- 0x81, 0xa7, 0x91, 0x7a, 0x35, 0x7b,
- 0x0f, 0x46, 0x5e, 0xca, 0xbf, 0xf8,
- 0x50, 0x5e, 0x99, 0x7c, 0xc6, 0x64,
- 0x43, 0x00, 0x9f, 0xb2, 0xda, 0xfa,
- 0x42, 0x15, 0x9c, 0xa3, 0xd6, 0xc8,
- 0x64, 0xa7, 0x65, 0x4a, 0x98, 0xf7,
- 0xb3, 0x96, 0x5f, 0x42, 0xf9, 0x73,
- 0xe1, 0x75, 0xc3, 0xc4, 0x0b, 0x5d,
- 0x5f, 0xf3, 0x04, 0x8a, 0xee, 0x59,
- 0xa6, 0x1b, 0x06, 0x38, 0x0b, 0xa2,
- 0x9f, 0xb4, 0x4f, 0x6d, 0x50, 0x5e,
- 0x37, 0x37, 0x21, 0x83, 0x9d, 0xa3,
- 0x12, 0x16, 0x4d, 0xab, 0x36, 0x51,
- 0x21, 0xb1, 0x74, 0x66, 0x40, 0x9a,
- 0xd3, 0x72, 0xcc, 0x18, 0x40, 0x53,
- 0x89, 0xff, 0xd7, 0x00, 0x8d, 0x7e,
- 0x93, 0x81, 0xdb, 0x29, 0xb6, 0xd7,
- 0x23, 0x2b, 0x67, 0x2f, 0x11, 0x98,
- 0x49, 0x87, 0x2f, 0x46, 0xb7, 0x33,
- 0x6d, 0x12 ),
- BIGINT ( 0x67, 0x7a, 0x17, 0x6a, 0xd2, 0xf8,
- 0x49, 0xfb, 0x7c, 0x95, 0x25, 0x54,
- 0xf0, 0xab, 0x5b, 0xb3, 0x0e, 0x01,
- 0xab, 0xd3, 0x65, 0x6f, 0x7e, 0x18,
- 0x05, 0xed, 0x9b, 0xc4, 0x90, 0x6c,
- 0xd0, 0x6d, 0x94, 0x79, 0x28, 0xd6,
- 0x24, 0x77, 0x9a, 0x08, 0xd2, 0x2f,
- 0x7c, 0x2d, 0xa0, 0x0c, 0x14, 0xbe,
- 0x7b, 0xee, 0x9e, 0x48, 0x88, 0x3c,
- 0x8f, 0x9f, 0xb9, 0x7a, 0xcb, 0x98,
- 0x76, 0x61, 0x0d, 0xee, 0xa2, 0x42,
- 0x67, 0x1b, 0x2c, 0x42, 0x8f, 0x41,
- 0xcc, 0x78, 0xba, 0xba, 0xaa, 0xa2,
- 0x92, 0xb0, 0x6e, 0x0c, 0x4e, 0xe1,
- 0xa5, 0x13, 0x7d, 0x8a, 0x8f, 0x81,
- 0x95, 0x8a, 0xdf, 0x57, 0x93, 0x88,
- 0x27, 0x4f, 0x1a, 0x59, 0xa4, 0x74,
- 0x22, 0xa9, 0x78, 0xe5, 0xed, 0xb1,
- 0x09, 0x26, 0x59, 0xde, 0x88, 0x21,
- 0x8d, 0xa2, 0xa8, 0x58, 0x10, 0x7b,
- 0x65, 0x96, 0xbf, 0x69, 0x3b, 0xc5,
- 0x55, 0xf8 ),
- BIGINT ( 0x15, 0xf7, 0x00, 0xeb, 0xc7, 0x5a,
- 0x6f, 0xf0, 0x50, 0xf3, 0x21, 0x8a,
- 0x8e, 0xa6, 0xf6, 0x67, 0x56, 0x7d,
- 0x07, 0x45, 0x89, 0xdb, 0xd7, 0x7e,
- 0x9e, 0x28, 0x7f, 0xfb, 0xed, 0xca,
- 0x2c, 0xbf, 0x47, 0x77, 0x99, 0x95,
- 0xf3, 0xd6, 0x9d, 0xc5, 0x57, 0x81,
- 0x7f, 0x97, 0xf2, 0x6b, 0x24, 0xee,
- 0xce, 0xc5, 0x9b, 0xe6, 0x42, 0x2d,
- 0x37, 0xb7, 0xeb, 0x3d, 0xb5, 0xf7,
- 0x1e, 0x86, 0xc2, 0x40, 0x44, 0xc9,
- 0x85, 0x5a, 0x1a, 0xc0, 0xac, 0x9e,
- 0x78, 0x69, 0x00, 0x7b, 0x93, 0x65,
- 0xd7, 0x7f, 0x0c, 0xd6, 0xba, 0x4f,
- 0x06, 0x00, 0x61, 0x05, 0xb2, 0x44,
- 0xb4, 0xe7, 0xbb, 0x3b, 0x96, 0xb0,
- 0x6d, 0xe8, 0x43, 0xd2, 0x03, 0xb7,
- 0x0a, 0xc4, 0x6d, 0x30, 0xd8, 0xd5,
- 0xe6, 0x54, 0x65, 0xdd, 0xa9, 0x1b,
- 0x50, 0xc0, 0xb9, 0x95, 0xb0, 0x7d,
- 0x7c, 0xca, 0x63, 0xf8, 0x72, 0xbe,
- 0x3b, 0x00 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xcd ),
- BIGINT ( 0xbb ),
- BIGINT ( 0x25 ),
- BIGINT ( 0xab ) );
- bigint_mod_exp_ok ( BIGINT ( 0xc4 ),
- BIGINT ( 0xe9 ),
- BIGINT ( 0x02, 0x4c ),
- BIGINT ( 0x7e ) );
- bigint_mod_exp_ok ( BIGINT ( 0xcb ),
- BIGINT ( 0xde ),
- BIGINT ( 0xbd, 0x73, 0xbf ),
- BIGINT ( 0x17 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x17 ),
- BIGINT ( 0xb9 ),
- BIGINT ( 0x39, 0x68, 0xba, 0x7d ),
- BIGINT ( 0x17 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x2e ),
- BIGINT ( 0xb7 ),
- BIGINT ( 0x39, 0x07, 0x1b, 0x49, 0x5b, 0xea,
- 0xf2, 0x61, 0x75, 0x94, 0x60, 0x86,
- 0x73, 0xd0, 0xeb, 0x11, 0x08, 0x19,
- 0x90, 0x19, 0xe0, 0xed, 0x2a ),
- BIGINT ( 0x19 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x59 ),
- BIGINT ( 0xce ),
- BIGINT ( 0xdf, 0xbc, 0x0d, 0x0c, 0x09, 0xeb,
- 0xf8, 0xcf, 0xdb, 0xb6, 0x00, 0xa3,
- 0x9e, 0xc3, 0x6c, 0x8d, 0xf1, 0xc3,
- 0x03, 0x36, 0xaa, 0xd4, 0x22, 0x7c,
- 0x20, 0x7b, 0xa9, 0x9a, 0x01, 0xe4,
- 0xf2, 0x50, 0x42, 0x29, 0x68, 0x7a,
- 0xa6, 0x2c, 0xdf, 0xb6, 0x51, 0xa9,
- 0x73, 0x10, 0x98, 0x37, 0x69, 0xb3,
- 0x21, 0x49, 0x6d, 0xcc, 0x80, 0xfa,
- 0x7e, 0x12, 0xe4, 0x9c, 0xc2, 0xbb,
- 0xe3, 0xa3, 0x10, 0x3f, 0xba, 0x99,
- 0x22, 0x79, 0x71, 0x39, 0x96, 0x7b,
- 0x1a, 0x89, 0xdc, 0xda, 0x43, 0x52,
- 0x50, 0x7b, 0xe3, 0x8c, 0xd3, 0xc0,
- 0xf5, 0x7d, 0xfc, 0x80, 0x71, 0x6e,
- 0xaf, 0x5c, 0xd0, 0x14, 0xc0, 0x60,
- 0x24, 0xa8, 0x9a, 0x8a, 0x54, 0x4a,
- 0x6f, 0x42, 0x7a, 0x14, 0x14, 0x25,
- 0xd5, 0x22, 0x08, 0x8f, 0xd9, 0xdb,
- 0xd4, 0x0f, 0x14, 0xf4, 0x3b, 0x26,
- 0x0e, 0xb6, 0x72, 0xd7, 0x03, 0xd5,
- 0xf0, 0x0e ),
- BIGINT ( 0xa9 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x7f, 0x30 ),
- BIGINT ( 0x73, 0x74 ),
- BIGINT ( 0x75 ),
- BIGINT ( 0x4b, 0xe8 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x04, 0x6c ),
- BIGINT ( 0x99, 0x04 ),
- BIGINT ( 0x33, 0xd2 ),
- BIGINT ( 0x86, 0x74 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xca, 0x88 ),
- BIGINT ( 0xdc, 0x60 ),
- BIGINT ( 0x7e, 0x76, 0x79 ),
- BIGINT ( 0x42, 0x40 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x68, 0x97 ),
- BIGINT ( 0x52, 0x8b ),
- BIGINT ( 0x4f, 0x7f, 0xe7, 0xda ),
- BIGINT ( 0x22, 0x77 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xbd, 0x14 ),
- BIGINT ( 0x9e, 0xfc ),
- BIGINT ( 0x23, 0xf7, 0xd0, 0xa1, 0x9e, 0x9b,
- 0x05, 0xd2, 0x44, 0x24, 0x4f, 0x3f,
- 0x83, 0xcc, 0x49, 0x70, 0xa5, 0x0d,
- 0xfc, 0xa7, 0x43, 0xf3, 0x3e ),
- BIGINT ( 0x1a, 0xc8 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x46, 0x3e ),
- BIGINT ( 0xb8, 0xde ),
- BIGINT ( 0xa9, 0xc0, 0xdc, 0x45, 0x65, 0x0d,
- 0xa5, 0x56, 0x70, 0x4c, 0xf1, 0xda,
- 0xab, 0x64, 0xc2, 0x04, 0xf6, 0x32,
- 0x20, 0x68, 0x31, 0x5f, 0x9a, 0x00,
- 0x0f, 0x7b, 0x24, 0x33, 0xdf, 0xaf,
- 0xfe, 0x03, 0x1e, 0x4a, 0xa1, 0xf8,
- 0x45, 0x8d, 0x5a, 0x7d, 0x12, 0x58,
- 0x00, 0x6d, 0xba, 0x79, 0x9f, 0xe1,
- 0xa1, 0xfc, 0x1f, 0xb9, 0xf3, 0xa7,
- 0x07, 0xf5, 0xfe, 0xd6, 0xa1, 0xba,
- 0xda, 0x63, 0xef, 0x39, 0x8e, 0xb7,
- 0x48, 0xa8, 0x81, 0x86, 0xb1, 0x22,
- 0x14, 0x9f, 0x9e, 0xac, 0x69, 0xf7,
- 0xae, 0x1f, 0xf2, 0x99, 0x41, 0xb7,
- 0x37, 0xa7, 0xbc, 0x42, 0xf2, 0x45,
- 0x43, 0xf2, 0x2a, 0xef, 0xc2, 0x83,
- 0xd5, 0x32, 0x6e, 0xfa, 0x49, 0x1c,
- 0x94, 0x9c, 0xc2, 0xc5, 0xad, 0x28,
- 0x53, 0x1c, 0x11, 0xc4, 0x1c, 0x78,
- 0x8f, 0x13, 0xdc, 0xb3, 0x2a, 0x63,
- 0xfd, 0x1f, 0x89, 0x9b, 0x0c, 0x31,
- 0x92, 0x73 ),
- BIGINT ( 0x7b, 0x8a ) );
- bigint_mod_exp_ok ( BIGINT ( 0xf3, 0xc3, 0xab ),
- BIGINT ( 0xd0, 0x7e, 0xd0 ),
- BIGINT ( 0xf6 ),
- BIGINT ( 0x1f, 0xb3, 0x09 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x13, 0xec, 0xf6 ),
- BIGINT ( 0x87, 0x1a, 0x9a ),
- BIGINT ( 0x03, 0xf3 ),
- BIGINT ( 0x15, 0xe9, 0x8e ) );
- bigint_mod_exp_ok ( BIGINT ( 0x5a, 0x96, 0xe5 ),
- BIGINT ( 0x56, 0x4a, 0xd1 ),
- BIGINT ( 0x89, 0x62, 0x8e ),
- BIGINT ( 0x34, 0xb8, 0xaa ) );
- bigint_mod_exp_ok ( BIGINT ( 0x84, 0x7c, 0xbd ),
- BIGINT ( 0x3c, 0x80, 0x0a ),
- BIGINT ( 0x5e, 0x52, 0x9d, 0xba ),
- BIGINT ( 0x04, 0xcb, 0x4f ) );
- bigint_mod_exp_ok ( BIGINT ( 0x50, 0x01, 0x51 ),
- BIGINT ( 0x02, 0xe6, 0x96 ),
- BIGINT ( 0x34, 0x0c, 0x7e, 0xbf, 0x27, 0x23,
- 0x46, 0x92, 0x1c, 0xca, 0x91, 0xab,
- 0x50, 0x2c, 0x3a, 0x64, 0xc8, 0x4a,
- 0x75, 0xd6, 0xe2, 0xde, 0x31 ),
- BIGINT ( 0x02, 0x16, 0x05 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x5e, 0x47, 0xd8 ),
- BIGINT ( 0x26, 0xd1, 0xb6 ),
- BIGINT ( 0x49, 0x61, 0x84, 0x7a, 0xa9, 0xfb,
- 0x93, 0x45, 0xe4, 0xfa, 0x53, 0x60,
- 0x73, 0x98, 0x5a, 0x17, 0xe7, 0x77,
- 0x2d, 0xcd, 0x97, 0xf4, 0xc0, 0x34,
- 0x46, 0xfa, 0xbd, 0x21, 0xdf, 0xa5,
- 0xa0, 0x12, 0x38, 0x7c, 0xbd, 0xd9,
- 0xcd, 0xbc, 0xde, 0x29, 0xa5, 0x13,
- 0xa8, 0xf0, 0xf6, 0x88, 0xc6, 0x31,
- 0xed, 0x90, 0x19, 0x11, 0x7d, 0xe1,
- 0x0e, 0x81, 0x98, 0x8e, 0x98, 0x86,
- 0xde, 0x2a, 0x4c, 0xad, 0xff, 0x57,
- 0x12, 0xbc, 0x4b, 0xaf, 0x21, 0xde,
- 0xca, 0x3a, 0x25, 0xd7, 0x98, 0xe3,
- 0x25, 0xbc, 0x17, 0x74, 0x0b, 0x9c,
- 0x53, 0xe1, 0x1a, 0xec, 0x9a, 0x5a,
- 0xdc, 0x68, 0xdf, 0xad, 0xd6, 0x71,
- 0x6b, 0x5b, 0x8b, 0x85, 0xbb, 0xe5,
- 0xd5, 0x14, 0x4c, 0x30, 0x27, 0x68,
- 0xd1, 0xf7, 0x58, 0x34, 0x4c, 0xe1,
- 0x71, 0xde, 0x7b, 0x8d, 0xa2, 0xe6,
- 0x0a, 0x44, 0x22, 0x26, 0x5a, 0x70,
- 0xbb, 0x68 ),
- BIGINT ( 0x18, 0x36, 0x96 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xc7, 0x4a, 0xf0, 0x48 ),
- BIGINT ( 0x5d, 0x27, 0x07, 0x54 ),
- BIGINT ( 0x4a ),
- BIGINT ( 0x48, 0x68, 0x7b, 0xe0 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xb4, 0x89, 0xc9, 0x5b ),
- BIGINT ( 0x7c, 0xd7, 0xc7, 0xff ),
- BIGINT ( 0xc6, 0x9c ),
- BIGINT ( 0x0b, 0x2d, 0xf8, 0xf7 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xea, 0x72, 0x43, 0xfe ),
- BIGINT ( 0xfc, 0x57, 0x2d, 0x47 ),
- BIGINT ( 0x60, 0x01, 0x2c ),
- BIGINT ( 0x12, 0x01, 0xe3, 0xf5 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x81, 0x7f, 0x27, 0x94 ),
- BIGINT ( 0x17, 0x21, 0x67, 0xab ),
- BIGINT ( 0x50, 0x19, 0x12, 0x52 ),
- BIGINT ( 0x05, 0x17, 0x6b, 0x13 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x38, 0xab, 0xd4, 0xec ),
- BIGINT ( 0x0c, 0x2a, 0x56, 0x38 ),
- BIGINT ( 0x2f, 0x85, 0x85, 0x57, 0xf6, 0xde,
- 0x24, 0xb4, 0x28, 0x3c, 0x5a, 0x3c,
- 0x0b, 0x12, 0x85, 0x85, 0x85, 0x98,
- 0x46, 0x5b, 0x9c, 0x52, 0x3a ),
- BIGINT ( 0x02, 0xe6, 0x6a, 0x70 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xa6, 0x35, 0xc0, 0x6f ),
- BIGINT ( 0x23, 0xac, 0x78, 0x72 ),
- BIGINT ( 0x6a, 0x07, 0x80, 0xbf, 0x1b, 0xa5,
- 0xf8, 0x0b, 0x90, 0x06, 0xa4, 0xa5,
- 0x44, 0x13, 0xba, 0x4b, 0xb3, 0xce,
- 0x9f, 0x55, 0x42, 0x56, 0xc3, 0x30,
- 0x82, 0x85, 0x5a, 0x3b, 0xae, 0x88,
- 0x92, 0x4e, 0x3c, 0x37, 0xf6, 0x80,
- 0x4c, 0x03, 0x3c, 0x1e, 0x2c, 0x17,
- 0xef, 0x9d, 0xd7, 0x6f, 0xdc, 0xbb,
- 0x42, 0x42, 0xa1, 0x7f, 0x97, 0x66,
- 0xcd, 0xc8, 0x8a, 0x7c, 0xc6, 0x70,
- 0x61, 0x54, 0x82, 0xd0, 0xd0, 0x8b,
- 0xd5, 0x4f, 0x57, 0x7b, 0x8e, 0xab,
- 0xdc, 0xbf, 0x8e, 0x85, 0x94, 0x83,
- 0x8a, 0xb3, 0x72, 0x69, 0x2d, 0x51,
- 0xdd, 0x86, 0x1e, 0x58, 0xb8, 0x00,
- 0xe2, 0x5e, 0xa7, 0xef, 0x6a, 0x6a,
- 0xb0, 0x10, 0x3d, 0x53, 0xfe, 0x23,
- 0x51, 0xc0, 0x51, 0xed, 0x1f, 0x02,
- 0x4b, 0x73, 0x17, 0x59, 0xfa, 0xb9,
- 0xa8, 0x05, 0xa7, 0x79, 0xc3, 0xc9,
- 0x4c, 0x2d, 0x58, 0x59, 0x10, 0x99,
- 0x71, 0xe6 ),
- BIGINT ( 0x01, 0x63, 0xd0, 0x07 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xff, 0x2a, 0x37, 0x04, 0xd4, 0x08,
- 0x9f, 0xf5, 0xac, 0x29, 0x7f, 0x4b,
- 0x93, 0x86, 0x02, 0x26, 0xac, 0x29,
- 0xa8, 0xf9, 0x77, 0x91, 0x20 ),
- BIGINT ( 0x2c, 0xb2, 0xe2, 0x1f, 0x4b, 0x97,
- 0xaa, 0x3b, 0xd1, 0x36, 0xb0, 0x40,
- 0x8b, 0x1c, 0x19, 0xa2, 0xea, 0xc8,
- 0xc6, 0x4e, 0x2a, 0x66, 0x50 ),
- BIGINT ( 0x97 ),
- BIGINT ( 0x04, 0x22, 0x44, 0xe2, 0x14, 0x54,
- 0x6c, 0x5a, 0xba, 0x1b, 0x39, 0xb7,
- 0xaa, 0x06, 0xcf, 0x2b, 0xc8, 0x7e,
- 0xc0, 0xe0, 0x70, 0xf2, 0x90 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xcd, 0xf3, 0xf7, 0x50, 0x13, 0x39,
- 0x13, 0x4a, 0x56, 0xc5, 0xb8, 0xa6,
- 0x42, 0x2d, 0x40, 0x5e, 0x07, 0xf2,
- 0x92, 0x2a, 0x51, 0x87, 0x20 ),
- BIGINT ( 0x93, 0x1a, 0x28, 0xbb, 0x69, 0x4f,
- 0x31, 0x01, 0xe0, 0x88, 0x8a, 0x4c,
- 0x4f, 0x9b, 0xda, 0xf6, 0x4e, 0xf3,
- 0x11, 0xe7, 0x35, 0xa1, 0xfb ),
- BIGINT ( 0x66, 0x69 ),
- BIGINT ( 0x7a, 0x5a, 0x9b, 0x84, 0x72, 0x8f,
- 0x57, 0x31, 0xb4, 0x34, 0x70, 0x18,
- 0x77, 0xa6, 0x43, 0xa9, 0x51, 0x69,
- 0x07, 0x3e, 0xf6, 0x68, 0x82 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xdd, 0x4c, 0x85, 0xcb, 0x3f, 0x45,
- 0x61, 0xe0, 0x58, 0x1e, 0xad, 0xd3,
- 0x6b, 0xef, 0x82, 0x53, 0x4a, 0x16,
- 0x1a, 0xf0, 0x09, 0x82, 0x74 ),
- BIGINT ( 0xd2, 0xa2, 0x73, 0x89, 0x0c, 0x56,
- 0xe4, 0x31, 0xdf, 0x70, 0x3c, 0x40,
- 0x0d, 0x36, 0xfc, 0x4a, 0xf3, 0xa2,
- 0x8f, 0x9a, 0x9d, 0xaa, 0xb0 ),
- BIGINT ( 0xbc, 0xca, 0x45 ),
- BIGINT ( 0x9f, 0x5f, 0x7c, 0xac, 0x5e, 0xc7,
- 0xf2, 0xc5, 0x72, 0x3d, 0xff, 0x29,
- 0xd2, 0x25, 0xa9, 0x64, 0x5b, 0xbe,
- 0x63, 0x63, 0xc6, 0x84, 0x20 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xf8, 0xc9, 0xb9, 0x3d, 0xe1, 0xff,
- 0xa6, 0x8e, 0xb0, 0xd2, 0xa9, 0xa9,
- 0xc1, 0x5c, 0xc5, 0x94, 0x90, 0xb9,
- 0xca, 0x2f, 0x1a, 0xbd, 0x21 ),
- BIGINT ( 0xa7, 0xf4, 0xb0, 0x3c, 0xf4, 0x2b,
- 0x9d, 0x40, 0x5f, 0xfd, 0x2e, 0x28,
- 0xa9, 0x23, 0x01, 0xaf, 0x0b, 0x73,
- 0xaa, 0xcf, 0x14, 0xdc, 0xd8 ),
- BIGINT ( 0x31, 0xe2, 0xe8, 0xf0 ),
- BIGINT ( 0x53, 0x30, 0xc6, 0x10, 0x12, 0x7c,
- 0xb3, 0x91, 0x15, 0x5f, 0x01, 0x62,
- 0xec, 0x1f, 0x15, 0x61, 0x3b, 0x9a,
- 0x76, 0x22, 0xf8, 0x31, 0xb1 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xff, 0x8c, 0x04, 0x74, 0x3e, 0x93,
- 0xfd, 0xce, 0xd5, 0x7f, 0xc5, 0x58,
- 0xce, 0x00, 0x53, 0x44, 0x02, 0xf4,
- 0xfd, 0x01, 0xc3, 0xb0, 0x3c ),
- BIGINT ( 0x2f, 0xbe, 0xb3, 0x2d, 0xd6, 0x59,
- 0x69, 0x44, 0xc0, 0xd4, 0x27, 0x9c,
- 0xff, 0x53, 0x9e, 0x66, 0x2c, 0x01,
- 0x3a, 0x96, 0x5d, 0x75, 0xc1 ),
- BIGINT ( 0x47, 0x3e, 0xb2, 0x81, 0x51, 0x9a,
- 0xdf, 0x75, 0xba, 0xa5, 0x19, 0xc1,
- 0xc7, 0xcc, 0xae, 0x82, 0x9c, 0x3e,
- 0xfd, 0x7f, 0xb0, 0xd7, 0x00 ),
- BIGINT ( 0x09, 0x9c, 0xd0, 0x49, 0x1d, 0x88,
- 0xd8, 0x08, 0x45, 0x61, 0x71, 0xa1,
- 0xb5, 0xab, 0xa9, 0x5b, 0xa8, 0xf1,
- 0xc6, 0x53, 0x68, 0x8f, 0x3e ) );
- bigint_mod_exp_ok ( BIGINT ( 0xd8, 0x78, 0xad, 0x80, 0x81, 0xf1,
- 0x84, 0x23, 0x82, 0x5d, 0x49, 0x46,
- 0x75, 0xfd, 0xd1, 0x49, 0x53, 0x10,
- 0x4d, 0x10, 0xab, 0x0f, 0xf0 ),
- BIGINT ( 0x78, 0x3d, 0x09, 0x1b, 0xea, 0xa4,
- 0xb9, 0x13, 0xf8, 0xb5, 0xb5, 0x5e,
- 0x69, 0xa4, 0xe1, 0xfd, 0x88, 0x58,
- 0x26, 0xb3, 0x76, 0xa2, 0x38 ),
- BIGINT ( 0x3b, 0x12, 0xe0, 0x8e, 0xa2, 0x2f,
- 0x2a, 0x2b, 0xb1, 0x78, 0xf9, 0xf6,
- 0x93, 0x4d, 0x52, 0x82, 0x29, 0x2d,
- 0xe4, 0x36, 0x92, 0x49, 0xc1, 0x25,
- 0x6e, 0x26, 0xe6, 0x6e, 0xc2, 0x4d,
- 0xea, 0x13, 0x86, 0x85, 0x71, 0x4d,
- 0x85, 0x70, 0xf9, 0x2b, 0xa0, 0x0f,
- 0x96, 0xe5, 0x63, 0x7a, 0xb4, 0x25,
- 0x53, 0x1a, 0xd8, 0x30, 0x36, 0xba,
- 0x6e, 0x2e, 0xce, 0x2d, 0x8f, 0x32,
- 0xe9, 0xdc, 0x91, 0x9e, 0xd4, 0xf1,
- 0x3b, 0x40, 0xc9, 0xf4, 0x97, 0x74,
- 0x5e, 0x69, 0xcd, 0x34, 0x4a, 0x18,
- 0x65, 0xe5, 0x07, 0xb5, 0x9e, 0x2a,
- 0xc4, 0xeb, 0xb6, 0x96, 0x7b, 0x99,
- 0x0c, 0xe4, 0xb3, 0x85, 0xff, 0x17,
- 0x72, 0x5d, 0xf6, 0x30, 0xb4, 0xff,
- 0x98, 0xe6, 0xf6, 0x31, 0x24, 0x82,
- 0x91, 0xa6, 0x18, 0x6d, 0x0b, 0x84,
- 0x6f, 0x5f, 0x64, 0xa3, 0xdf, 0x92,
- 0x06, 0x16, 0xe3, 0x7c, 0x08, 0x61,
- 0x77, 0xce ),
- BIGINT ( 0x17, 0xc9, 0xc5, 0x38, 0x4c, 0x15,
- 0x0f, 0x4e, 0xc2, 0x90, 0x3b, 0x46,
- 0x7b, 0x2f, 0x95, 0x82, 0xfe, 0x51,
- 0x95, 0x2b, 0xff, 0xd5, 0x28 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x69, 0xa3, 0x7e, 0x24, 0xdf, 0x9e,
- 0x0b, 0x3e, 0x3f, 0x43, 0x06, 0x0e,
- 0x1d, 0x57, 0x74, 0xe0, 0xa0, 0x5b,
- 0x82, 0xca, 0xb0, 0x33, 0x8b, 0xe4,
- 0x39, 0x27, 0x41, 0xd4, 0x2e, 0x30,
- 0x3a, 0x0e, 0x62, 0x6f, 0xfa, 0xb4,
- 0x02, 0x88, 0x70, 0x35, 0xa6, 0xea,
- 0x7d, 0xb2, 0x87, 0xc3, 0xa5, 0x50,
- 0x49, 0x38, 0xa4, 0x68, 0xa9, 0xe4,
- 0xa6, 0xcc, 0xd7, 0x13, 0xb1, 0xd9,
- 0x1c, 0x6a, 0x9a, 0xb8, 0x6c, 0x9b,
- 0xff, 0xcd, 0x2c, 0xb3, 0xbd, 0xe2,
- 0xfd, 0x1f, 0x08, 0xdd, 0xc6, 0xee,
- 0x18, 0x0c, 0xa5, 0xcd, 0x09, 0x19,
- 0x51, 0x51, 0xa5, 0x6f, 0x93, 0x1b,
- 0x34, 0xfd, 0x8f, 0xd9, 0x87, 0xed,
- 0x15, 0x7e, 0x36, 0x60, 0xdd, 0x1b,
- 0xf4, 0xcc, 0xc4, 0x4c, 0x19, 0x2b,
- 0xd6, 0x1e, 0xec, 0x51, 0xe9, 0x27,
- 0xe9, 0xbd, 0x6a, 0x3f, 0x91, 0x45,
- 0xc3, 0x6d, 0x40, 0x7e, 0x6c, 0x56,
- 0x05, 0x5a ),
- BIGINT ( 0x5c, 0x96, 0x05, 0x81, 0x94, 0x45,
- 0xcf, 0x47, 0x5f, 0x1b, 0xb0, 0xf9,
- 0xef, 0x13, 0x8f, 0xcc, 0x71, 0xfd,
- 0x50, 0xf1, 0xe7, 0x62, 0x6e, 0xfa,
- 0x48, 0x66, 0x1c, 0xf7, 0xef, 0x09,
- 0x12, 0xa2, 0xfd, 0x17, 0xb7, 0x6a,
- 0x3b, 0xed, 0xf7, 0x86, 0xd2, 0xbe,
- 0x95, 0x90, 0xc6, 0x00, 0x14, 0x8d,
- 0xe3, 0x27, 0xbe, 0x03, 0x7c, 0x9e,
- 0x6b, 0x51, 0x31, 0x8d, 0x18, 0xc4,
- 0x16, 0xd2, 0x84, 0x63, 0x9b, 0xe9,
- 0xa4, 0xf8, 0xff, 0x70, 0x4d, 0xeb,
- 0x6f, 0x4a, 0xb7, 0x5b, 0x54, 0xf1,
- 0xb5, 0xbe, 0x78, 0xb6, 0xfd, 0x8b,
- 0xe1, 0x39, 0x62, 0x85, 0x9b, 0xde,
- 0x30, 0xa8, 0xe4, 0x37, 0x52, 0x57,
- 0x39, 0x79, 0xdb, 0x0b, 0x19, 0x6b,
- 0xc9, 0x17, 0xfd, 0x8c, 0x2c, 0xaa,
- 0xa4, 0xf1, 0x04, 0xd1, 0xd3, 0x2f,
- 0xbb, 0x3a, 0x36, 0x82, 0x31, 0xa4,
- 0x40, 0xd4, 0x87, 0x46, 0xe3, 0x6e,
- 0xd0, 0x17 ),
- BIGINT ( 0x93 ),
- BIGINT ( 0x0d, 0x39, 0x92, 0x57, 0xaa, 0x6d,
- 0xfc, 0x3b, 0x10, 0x18, 0x6d, 0x59,
- 0xbe, 0x31, 0x8f, 0xee, 0xf9, 0x82,
- 0x84, 0xe0, 0xdf, 0xa5, 0x00, 0x28,
- 0xd1, 0x64, 0x6b, 0x4b, 0x43, 0x3b,
- 0x76, 0x3e, 0x6b, 0xc4, 0xe4, 0xf5,
- 0x0b, 0x59, 0x5a, 0xe4, 0x53, 0x5e,
- 0x02, 0xd4, 0xde, 0x72, 0xd3, 0xa3,
- 0x58, 0x66, 0xa7, 0xdd, 0x2b, 0x0b,
- 0xa4, 0x83, 0xd0, 0xd9, 0xef, 0x29,
- 0x3d, 0x2f, 0x97, 0xff, 0x9a, 0xc7,
- 0xf6, 0x8a, 0x8d, 0x59, 0xef, 0x87,
- 0xd1, 0xe6, 0xba, 0x4d, 0x99, 0xd9,
- 0x5f, 0x5e, 0x7a, 0x7e, 0x67, 0x22,
- 0x5b, 0x77, 0x83, 0xa2, 0x02, 0xfd,
- 0xb2, 0xe4, 0xf6, 0x20, 0x4c, 0x12,
- 0x20, 0xa7, 0xda, 0x5b, 0x3b, 0x8c,
- 0xa2, 0xca, 0xda, 0x20, 0xaa, 0x27,
- 0xe6, 0x54, 0x3e, 0xa8, 0x6f, 0x64,
- 0x9d, 0xa7, 0x0d, 0x57, 0x1b, 0x21,
- 0xff, 0xd2, 0xe2, 0xb2, 0x0a, 0x4f,
- 0xb7, 0x0e ) );
- bigint_mod_exp_ok ( BIGINT ( 0x06, 0xcf, 0x54, 0xf2, 0x0d, 0x62,
- 0x33, 0xdd, 0xe7, 0x4d, 0x7f, 0x2f,
- 0x8e, 0x52, 0x73, 0xf4, 0x73, 0x68,
- 0x4b, 0x13, 0x6e, 0x58, 0x6b, 0x4a,
- 0xb8, 0x4c, 0xef, 0x73, 0xfe, 0x5f,
- 0xf6, 0xd0, 0xbb, 0x82, 0x17, 0x3f,
- 0x9d, 0x91, 0xf8, 0xa3, 0xb8, 0x79,
- 0xef, 0x41, 0x38, 0xc1, 0xef, 0xc9,
- 0xc6, 0xcf, 0x2a, 0xc3, 0xaa, 0x75,
- 0x17, 0xda, 0xbc, 0x76, 0x29, 0x61,
- 0x6d, 0x05, 0x79, 0x0b, 0x44, 0xb1,
- 0x54, 0x75, 0xb7, 0xd9, 0xf6, 0xa8,
- 0xbd, 0xf7, 0x85, 0xe0, 0xe7, 0x90,
- 0x62, 0xce, 0x79, 0xfb, 0xc5, 0x23,
- 0xa5, 0x09, 0xc0, 0xc4, 0x4d, 0xe7,
- 0x9c, 0x49, 0x8f, 0x82, 0xf1, 0x31,
- 0x34, 0x85, 0xdd, 0x3b, 0xbe, 0xe9,
- 0x93, 0x19, 0x03, 0x75, 0x3f, 0xc4,
- 0xa4, 0x0f, 0x52, 0x53, 0xc1, 0xcd,
- 0x08, 0xb0, 0x05, 0x0c, 0xa2, 0x0c,
- 0x3a, 0x72, 0xb2, 0x3c, 0xdb, 0x4f,
- 0xac, 0xc6 ),
- BIGINT ( 0xe4, 0x40, 0xd8, 0x30, 0x00, 0xcf,
- 0x4c, 0xfd, 0xda, 0xae, 0x90, 0xd3,
- 0x5b, 0xc7, 0x20, 0xcc, 0x2b, 0xe2,
- 0x0a, 0x39, 0x1e, 0xde, 0xef, 0x98,
- 0x16, 0x3b, 0x9d, 0x36, 0x63, 0x0d,
- 0x46, 0xed, 0x23, 0x6e, 0x38, 0xa8,
- 0x15, 0xb5, 0xb1, 0xaf, 0x47, 0xb1,
- 0xec, 0xaa, 0x8b, 0x57, 0xd6, 0xca,
- 0x39, 0x2f, 0x62, 0xbd, 0xd5, 0xf8,
- 0x98, 0x98, 0x5d, 0xfe, 0x14, 0xd6,
- 0xdc, 0xe5, 0x98, 0x60, 0x5b, 0x16,
- 0x92, 0xcb, 0xed, 0xb6, 0x9c, 0x5c,
- 0x82, 0x40, 0x6b, 0xaa, 0x48, 0x7a,
- 0xd4, 0xfe, 0xa3, 0xe7, 0x30, 0xf1,
- 0x7c, 0xfb, 0x94, 0x2e, 0xeb, 0xb6,
- 0x71, 0xe4, 0x33, 0x63, 0xc3, 0xb0,
- 0x94, 0x6d, 0xee, 0xa5, 0x15, 0x3f,
- 0x28, 0xf1, 0xfa, 0xdc, 0xf2, 0x13,
- 0x0f, 0xc7, 0xd9, 0xe0, 0xbf, 0x1b,
- 0x49, 0xee, 0x21, 0x8e, 0x26, 0xc9,
- 0x28, 0x21, 0x86, 0x1d, 0x46, 0x33,
- 0xd4, 0x69 ),
- BIGINT ( 0xd9, 0x87 ),
- BIGINT ( 0xdf, 0xff, 0xcc, 0xb7, 0xfe, 0x19,
- 0x02, 0x92, 0x9d, 0xab, 0x33, 0xd2,
- 0x21, 0xbc, 0xd3, 0xc4, 0x31, 0xad,
- 0x4b, 0xb3, 0x16, 0x50, 0x96, 0xd9,
- 0xdc, 0x88, 0x74, 0x60, 0xde, 0xdf,
- 0xb7, 0x83, 0xdb, 0x22, 0xef, 0xcb,
- 0xcb, 0xdb, 0x4c, 0xfb, 0x94, 0x4c,
- 0x3f, 0xf5, 0xf5, 0x99, 0x85, 0x21,
- 0x1a, 0x2b, 0xec, 0x90, 0x2d, 0xb4,
- 0x20, 0x3c, 0x27, 0x9f, 0xe5, 0xb1,
- 0x5c, 0x92, 0xfa, 0xb0, 0xa9, 0x8e,
- 0x2c, 0x21, 0x8e, 0x8d, 0xe5, 0x55,
- 0x84, 0x02, 0xa5, 0x15, 0x5c, 0x53,
- 0x1f, 0x40, 0x81, 0x0a, 0x10, 0xde,
- 0x21, 0x41, 0xa9, 0x97, 0xf8, 0x6f,
- 0xbf, 0x42, 0x58, 0x9e, 0xc6, 0xdd,
- 0x10, 0x33, 0x3f, 0xad, 0xe6, 0x8e,
- 0x57, 0x27, 0x37, 0x20, 0xa4, 0x86,
- 0xef, 0x39, 0x7b, 0x6f, 0x78, 0x77,
- 0xab, 0xa0, 0x62, 0xe1, 0xfd, 0x9c,
- 0xbe, 0xfa, 0x98, 0x2e, 0x29, 0xe3,
- 0xeb, 0x52 ) );
- bigint_mod_exp_ok ( BIGINT ( 0x00, 0x91, 0xb3, 0x87, 0xe6, 0x01,
- 0x57, 0xe9, 0x68, 0xa4, 0xf4, 0x9b,
- 0xea, 0x6a, 0x8a, 0x9e, 0x1a, 0x8b,
- 0xd3, 0x85, 0x9d, 0xba, 0x85, 0xab,
- 0xd8, 0xcd, 0x25, 0x56, 0x8e, 0x85,
- 0x8a, 0x8e, 0x48, 0x9e, 0xb4, 0x90,
- 0xc8, 0x2e, 0x07, 0x78, 0x80, 0x49,
- 0xa0, 0xb7, 0x95, 0x6a, 0xd8, 0xad,
- 0xb5, 0xda, 0x5d, 0xe6, 0x11, 0x87,
- 0xb8, 0x33, 0x8f, 0xa8, 0x6f, 0x4e,
- 0xc6, 0xc3, 0x0d, 0xf5, 0xa9, 0x4e,
- 0xb2, 0x42, 0x53, 0x81, 0xcd, 0x33,
- 0x83, 0x49, 0xab, 0x0d, 0x0e, 0xf5,
- 0x2c, 0xcd, 0x84, 0x58, 0xf3, 0x30,
- 0xa3, 0x6e, 0x3c, 0x3a, 0xc6, 0x77,
- 0x43, 0xb0, 0xe7, 0x4b, 0x66, 0x30,
- 0xe9, 0x48, 0x0b, 0x0d, 0x86, 0x3f,
- 0xd8, 0xe2, 0xb5, 0x88, 0xc1, 0x44,
- 0xb2, 0x6b, 0xb0, 0x7a, 0x35, 0x3b,
- 0x56, 0x83, 0xb1, 0xac, 0x9e, 0xeb,
- 0x9b, 0x08, 0x43, 0xac, 0x0a, 0x3a,
- 0x31, 0x69 ),
- BIGINT ( 0x96, 0x6f, 0xb0, 0xa7, 0x02, 0xb5,
- 0xd9, 0x19, 0xbe, 0x4b, 0x27, 0x65,
- 0x5b, 0x96, 0xd4, 0x0b, 0x49, 0x70,
- 0xf0, 0x09, 0x8e, 0xf2, 0x04, 0x85,
- 0x93, 0xe9, 0x2e, 0x09, 0x31, 0x76,
- 0x8b, 0xbb, 0xe9, 0xe1, 0x2b, 0x4f,
- 0xed, 0x83, 0xa6, 0x87, 0xa3, 0x07,
- 0x0a, 0x3d, 0x1c, 0x65, 0x14, 0x5a,
- 0xd5, 0xc0, 0x5d, 0x3c, 0x31, 0x9a,
- 0x83, 0xad, 0xca, 0x6a, 0x93, 0x0d,
- 0x1a, 0x67, 0x4e, 0x68, 0x06, 0x64,
- 0x53, 0x2e, 0x15, 0xd9, 0xdd, 0x5e,
- 0xcb, 0xb7, 0x2e, 0xef, 0xd3, 0xbb,
- 0x5f, 0xaf, 0xef, 0x9e, 0xf2, 0x7b,
- 0x69, 0x15, 0xb0, 0x18, 0x6c, 0x67,
- 0x10, 0xda, 0x33, 0x07, 0x48, 0x97,
- 0x31, 0xb3, 0x3d, 0x3d, 0xc9, 0x2e,
- 0x0b, 0x68, 0x91, 0x3f, 0x6a, 0x3b,
- 0x1a, 0xdf, 0xa8, 0x69, 0x46, 0x1c,
- 0xb2, 0x69, 0x08, 0x0b, 0x02, 0x1b,
- 0x03, 0x64, 0xae, 0xb6, 0x2d, 0xc6,
- 0xc4, 0x0a ),
- BIGINT ( 0x6d, 0x3f, 0xdd ),
- BIGINT ( 0x40, 0x6e, 0x9d, 0x3e, 0xeb, 0xa4,
- 0xb1, 0x8d, 0xb7, 0xb4, 0x0f, 0x5b,
- 0x12, 0xad, 0x27, 0x9e, 0xbd, 0xe7,
- 0xe5, 0x9d, 0xec, 0xb4, 0xac, 0x23,
- 0x5f, 0xa9, 0xec, 0x9c, 0xd1, 0x6a,
- 0xbe, 0x99, 0xba, 0xb3, 0x66, 0x0e,
- 0x17, 0xaa, 0x13, 0xa2, 0x2e, 0x01,
- 0x28, 0xb1, 0x6c, 0xba, 0xad, 0x68,
- 0x48, 0xf0, 0xf3, 0x4c, 0x08, 0x9f,
- 0xd1, 0x9c, 0xb7, 0x75, 0xc5, 0xb6,
- 0x5a, 0x05, 0xb0, 0x14, 0xd4, 0x61,
- 0xea, 0x18, 0x9f, 0xe6, 0xe5, 0xe3,
- 0xd4, 0xff, 0x35, 0x43, 0x0b, 0xb8,
- 0xf6, 0xe9, 0x19, 0x7a, 0x88, 0xa7,
- 0x4d, 0x01, 0x92, 0x05, 0xd2, 0x6e,
- 0xa3, 0xc1, 0xb6, 0x66, 0x75, 0xb1,
- 0x00, 0x0d, 0x42, 0x37, 0xcc, 0xca,
- 0xc0, 0x8d, 0xc8, 0x7e, 0x5c, 0xc9,
- 0x53, 0x81, 0x2f, 0xc4, 0x61, 0xb6,
- 0x96, 0x3b, 0xa5, 0x04, 0x14, 0x1b,
- 0xa7, 0x77, 0xa1, 0xbc, 0x73, 0x1d,
- 0xad, 0xed ) );
- bigint_mod_exp_ok ( BIGINT ( 0x45, 0xfb, 0xf3, 0xdc, 0x31, 0xe5,
- 0x56, 0x7a, 0xee, 0x15, 0xfb, 0x16,
- 0xee, 0x6e, 0x90, 0x3e, 0xa3, 0x89,
- 0xc2, 0x6d, 0x9b, 0x06, 0x65, 0xd0,
- 0xcd, 0xa2, 0xcc, 0x01, 0x60, 0x0d,
- 0xd1, 0xdd, 0x68, 0x14, 0xc2, 0xcd,
- 0xd8, 0x79, 0x75, 0xad, 0x0a, 0x9f,
- 0x39, 0x5f, 0x52, 0x4b, 0x58, 0x31,
- 0x48, 0xbb, 0x2a, 0xcc, 0xe0, 0x42,
- 0x18, 0x32, 0xdc, 0x63, 0x14, 0x11,
- 0x4e, 0xab, 0x96, 0x29, 0xc5, 0x06,
- 0x79, 0xe5, 0x06, 0xf7, 0x59, 0xdb,
- 0x1e, 0x51, 0xfd, 0xc4, 0x48, 0x3a,
- 0x4c, 0x7f, 0xd0, 0xe2, 0x36, 0x86,
- 0xc1, 0x8b, 0xc5, 0x86, 0x52, 0xe0,
- 0xdb, 0x92, 0x5f, 0x0e, 0x19, 0xb1,
- 0xa3, 0x23, 0xdd, 0xf0, 0x78, 0xcc,
- 0x81, 0x3f, 0x4a, 0xe6, 0xb0, 0x32,
- 0xd1, 0x5c, 0x5e, 0x3a, 0xb0, 0xd8,
- 0xe2, 0x04, 0xc0, 0x30, 0x85, 0x1d,
- 0x5e, 0x28, 0xee, 0xd9, 0xb3, 0x83,
- 0x9f, 0xe2 ),
- BIGINT ( 0xb3, 0x2c, 0x2e, 0xc5, 0xba, 0xf8,
- 0x41, 0x98, 0x79, 0x7e, 0xaa, 0x0c,
- 0x2a, 0x8f, 0xd9, 0x56, 0x55, 0xaa,
- 0x74, 0x60, 0x74, 0xd1, 0x49, 0x2c,
- 0x6f, 0x0a, 0x4e, 0xf8, 0x3f, 0x1b,
- 0x73, 0x4c, 0xe0, 0x17, 0x37, 0x06,
- 0x76, 0x73, 0xd5, 0x2d, 0x4d, 0x3f,
- 0xb0, 0x15, 0x7e, 0x98, 0xd0, 0xdf,
- 0xf0, 0x33, 0x78, 0xe2, 0xe6, 0xec,
- 0x21, 0x22, 0xad, 0xd5, 0xab, 0x2d,
- 0x0d, 0x59, 0x95, 0x05, 0x34, 0x1f,
- 0x51, 0xf5, 0xec, 0x93, 0x05, 0x15,
- 0x37, 0xcf, 0x93, 0x03, 0xd7, 0xf6,
- 0x35, 0x23, 0x8f, 0x33, 0xf6, 0xba,
- 0x42, 0xc8, 0x52, 0x94, 0xd3, 0x33,
- 0x3e, 0x39, 0x01, 0xd1, 0x55, 0x3f,
- 0x48, 0x84, 0xe9, 0xbc, 0x0b, 0x0f,
- 0xc9, 0x69, 0x41, 0x2c, 0x5f, 0x34,
- 0xd0, 0xe6, 0x15, 0x50, 0x06, 0x64,
- 0x5b, 0x8b, 0x71, 0x22, 0xb3, 0x3e,
- 0x09, 0x9c, 0x76, 0x13, 0x9b, 0x29,
- 0x57, 0x94 ),
- BIGINT ( 0xca, 0x94, 0xf7, 0xca ),
- BIGINT ( 0x83, 0x68, 0xb9, 0xe7, 0x91, 0xf3,
- 0x3b, 0x5a, 0x0b, 0xb6, 0x1e, 0x2f,
- 0x3f, 0x5f, 0xdc, 0x96, 0x5b, 0x7f,
- 0x8d, 0xc5, 0x8e, 0xda, 0x6e, 0x21,
- 0xe3, 0x20, 0xea, 0x37, 0x39, 0x3b,
- 0xb4, 0xd7, 0xf6, 0xba, 0x61, 0xfe,
- 0xdc, 0x7e, 0x82, 0x9a, 0x38, 0x7b,
- 0xd5, 0xb1, 0x11, 0x98, 0xc4, 0x88,
- 0x0b, 0x01, 0x7d, 0x81, 0xc9, 0x64,
- 0x23, 0xc3, 0x3e, 0xf3, 0x67, 0x95,
- 0x78, 0xca, 0xda, 0x52, 0xaf, 0x72,
- 0x25, 0xd9, 0xf0, 0x27, 0xd3, 0x1c,
- 0xfb, 0xad, 0xa1, 0xa7, 0x06, 0x2f,
- 0xaa, 0x2f, 0x86, 0x5c, 0x8b, 0x30,
- 0xe1, 0xda, 0x5a, 0x36, 0xf9, 0xfd,
- 0xbf, 0xfe, 0x0d, 0x03, 0xf8, 0x9c,
- 0x6b, 0x9b, 0xe5, 0x70, 0x6d, 0x75,
- 0xd7, 0x54, 0x28, 0x43, 0x34, 0x69,
- 0x98, 0x11, 0x29, 0xee, 0x50, 0x06,
- 0xa4, 0xc4, 0x11, 0x6d, 0x60, 0x8c,
- 0xcd, 0xd1, 0x88, 0xe9, 0x6b, 0xbb,
- 0xc1, 0xd4 ) );
- bigint_mod_exp_ok ( BIGINT ( 0xa1, 0x01, 0x7e, 0xb4, 0x0e, 0x66,
- 0xa5, 0x07, 0x8b, 0x10, 0x84, 0x0d,
- 0x30, 0x0a, 0xa4, 0x2d, 0x10, 0x2c,
- 0xd4, 0x9a, 0x27, 0xf1, 0x02, 0x8c,
- 0x38, 0x18, 0x7f, 0x7f, 0x95, 0x65,
- 0xf1, 0xa9, 0x3b, 0x7d, 0x1f, 0x4f,
- 0x88, 0xb0, 0x65, 0x62, 0x63, 0x63,
- 0xaa, 0x82, 0xfc, 0x83, 0x3a, 0x3a,
- 0x46, 0x59, 0x6a, 0x89, 0xec, 0xa9,
- 0xb0, 0x4c, 0x5e, 0xbe, 0x46, 0x98,
- 0xd0, 0xd4, 0xb7, 0xe3, 0x1b, 0x30,
- 0x0b, 0xfb, 0xbb, 0x4f, 0x0b, 0xd3,
- 0xe4, 0xa0, 0x80, 0x54, 0xcb, 0x52,
- 0x0a, 0xe8, 0x03, 0x75, 0x8e, 0x96,
- 0xa4, 0x21, 0xaa, 0xbd, 0x7a, 0xfd,
- 0xfa, 0xf8, 0xaf, 0x42, 0xf6, 0x61,
- 0xd2, 0x93, 0xce, 0x66, 0x67, 0xe9,
- 0x02, 0xda, 0x81, 0x0b, 0xb0, 0x1e,
- 0x9e, 0x27, 0x57, 0x98, 0x18, 0x88,
- 0x35, 0x49, 0xc0, 0x88, 0x88, 0x59,
- 0xae, 0x2f, 0x66, 0x59, 0x31, 0x87,
- 0x88, 0xda ),
- BIGINT ( 0xfe, 0x21, 0x7c, 0xf4, 0xbe, 0xae,
- 0x65, 0xda, 0x89, 0xd2, 0x26, 0xd6,
- 0x9c, 0x65, 0xc6, 0xb6, 0xb4, 0x0a,
- 0x84, 0x11, 0xe1, 0xe8, 0xba, 0xd8,
- 0x16, 0xcf, 0x60, 0x6c, 0x83, 0xa5,
- 0x4a, 0xbf, 0xa2, 0x24, 0x0b, 0x66,
- 0xda, 0xe2, 0x4e, 0x2d, 0xe5, 0x9e,
- 0xbf, 0xad, 0x5c, 0xa3, 0x1e, 0x5c,
- 0xbd, 0xe2, 0x5b, 0x46, 0xcf, 0xcc,
- 0xd5, 0xc9, 0x13, 0x95, 0xc3, 0xdb,
- 0x64, 0xbf, 0xeb, 0x31, 0xa9, 0x8a,
- 0x3b, 0xd2, 0x5d, 0x3b, 0x2e, 0xdc,
- 0x0c, 0xca, 0xab, 0xde, 0x92, 0xae,
- 0x45, 0x35, 0x96, 0xb0, 0xb7, 0xb9,
- 0xe6, 0xfe, 0x28, 0x0d, 0x10, 0x72,
- 0x53, 0x8e, 0x21, 0xc0, 0x33, 0x79,
- 0x01, 0x43, 0x8d, 0x77, 0xc4, 0xaa,
- 0xcf, 0x7f, 0xc3, 0xd1, 0xf5, 0xfd,
- 0x79, 0x81, 0xf6, 0x2e, 0xb7, 0xeb,
- 0x55, 0x5f, 0x74, 0xf0, 0x3a, 0xb9,
- 0x57, 0x07, 0x09, 0x97, 0xa5, 0x4c,
- 0x4a, 0x85 ),
- BIGINT ( 0xd9, 0xb7, 0xb2, 0xd6, 0xeb, 0xf3,
- 0x66, 0xbe, 0x15, 0x64, 0xad, 0x2e,
- 0x9e, 0xc6, 0xaf, 0x5e, 0xaf, 0x40,
- 0x1e, 0x90, 0x82, 0x2f, 0x98 ),
- BIGINT ( 0x12, 0x48, 0x31, 0x7f, 0x09, 0xbb,
- 0x8f, 0xd9, 0x02, 0x7e, 0x4a, 0xd0,
- 0x2f, 0x42, 0x7c, 0x17, 0x6e, 0x83,
- 0x74, 0x21, 0x95, 0x47, 0x7d, 0x93,
- 0x4a, 0xce, 0x34, 0x7c, 0xde, 0xc7,
- 0x8f, 0xf6, 0x28, 0x97, 0xba, 0x81,
- 0x9b, 0xcc, 0x54, 0x14, 0x7f, 0xd3,
- 0x93, 0x66, 0x41, 0x8c, 0x0e, 0x47,
- 0xee, 0xc5, 0x5e, 0xd6, 0x5f, 0x01,
- 0x62, 0x97, 0xf1, 0x2b, 0xee, 0x60,
- 0x5e, 0x82, 0x2c, 0x7b, 0x0a, 0xf2,
- 0xc3, 0x23, 0xbf, 0xb9, 0x83, 0xf7,
- 0x97, 0xf5, 0xca, 0x58, 0xd7, 0xf0,
- 0x87, 0x7b, 0xcb, 0x87, 0x69, 0x42,
- 0xbc, 0x05, 0xc4, 0xad, 0xbd, 0x82,
- 0xcf, 0x44, 0x16, 0x4f, 0x46, 0xe0,
- 0xde, 0x2f, 0xfa, 0x77, 0xec, 0xa4,
- 0x23, 0x7d, 0x47, 0x3e, 0x94, 0x19,
- 0x8b, 0xb8, 0x84, 0x81, 0x80, 0x6c,
- 0x1e, 0x31, 0xa3, 0x6d, 0x14, 0x94,
- 0x57, 0x28, 0x99, 0x08, 0x0a, 0xa7,
- 0x98, 0x4b ) );
- bigint_mod_exp_ok ( BIGINT ( 0xda, 0x52, 0xfd, 0x44, 0x5d, 0x11,
- 0x60, 0x6c, 0xec, 0x87, 0xbf, 0x19,
- 0xb8, 0x46, 0xaa, 0x41, 0xfc, 0x10,
- 0xae, 0x47, 0xd6, 0x72, 0x42, 0x57,
- 0xc3, 0x05, 0xca, 0xe3, 0x59, 0x94,
- 0x82, 0x7c, 0xa1, 0xe0, 0xd2, 0x6b,
- 0x77, 0x71, 0x42, 0xa1, 0xf7, 0x84,
- 0xae, 0xf4, 0x6f, 0x44, 0x0d, 0x88,
- 0xa2, 0xc5, 0x45, 0x9b, 0x49, 0x36,
- 0xd4, 0x20, 0x3a, 0x7c, 0x92, 0xdb,
- 0x65, 0xd9, 0x20, 0xd6, 0x71, 0x22,
- 0x90, 0x70, 0xbf, 0xf3, 0x17, 0xe8,
- 0x2c, 0x10, 0xe9, 0x4c, 0x02, 0x69,
- 0x37, 0xa2, 0x91, 0x04, 0x46, 0x11,
- 0xdc, 0xab, 0x5b, 0x1e, 0x3e, 0x31,
- 0xd8, 0x69, 0xf8, 0x48, 0x84, 0x1f,
- 0x56, 0x46, 0xf1, 0xc0, 0x14, 0x3f,
- 0xcc, 0x5d, 0xe2, 0xf7, 0x8b, 0xa4,
- 0x9e, 0x94, 0x32, 0xaa, 0x3c, 0x5e,
- 0x21, 0x70, 0x00, 0x24, 0x2a, 0x1b,
- 0xec, 0x25, 0xb1, 0xb6, 0x83, 0x36,
- 0x5a, 0x95 ),
- BIGINT ( 0x5e, 0xdc, 0x71, 0x1f, 0x5b, 0x55,
- 0xaa, 0xda, 0x56, 0xf5, 0x93, 0x9b,
- 0xe8, 0xfc, 0x6a, 0x80, 0xe1, 0xe3,
- 0x93, 0xe4, 0xc0, 0x58, 0x6f, 0x22,
- 0xce, 0x9d, 0x6f, 0x84, 0x4c, 0xd4,
- 0x12, 0x44, 0x57, 0x25, 0xca, 0xe5,
- 0x2b, 0x7c, 0x35, 0x88, 0xc7, 0x38,
- 0x25, 0x20, 0x9b, 0x57, 0xf2, 0xf2,
- 0x6c, 0x28, 0x47, 0x9c, 0x3f, 0x91,
- 0x1e, 0x3f, 0xe9, 0xeb, 0x50, 0xd6,
- 0xa7, 0x22, 0x88, 0x6c, 0x71, 0xe5,
- 0x62, 0x2a, 0xb7, 0xce, 0xbe, 0xf7,
- 0x1a, 0x8c, 0x52, 0xa6, 0xff, 0xb8,
- 0x34, 0x83, 0x7e, 0x04, 0xa8, 0x9c,
- 0xa8, 0xa7, 0xd1, 0x05, 0x8e, 0x13,
- 0x03, 0xe0, 0x49, 0xd8, 0x4a, 0xc4,
- 0x4d, 0x38, 0x21, 0x5b, 0x62, 0xc2,
- 0x38, 0x23, 0x7c, 0x9e, 0xf1, 0xe9,
- 0xb6, 0x9a, 0x75, 0x42, 0x14, 0x99,
- 0x63, 0x36, 0x13, 0x4c, 0x2d, 0x3a,
- 0x77, 0xd4, 0x74, 0xb7, 0x30, 0xb2,
- 0x00, 0x0f ),
- BIGINT ( 0xe3, 0xe5, 0x3b, 0xb5, 0x92, 0x5a,
- 0xc6, 0xfa, 0x8f, 0xe8, 0x00, 0xb9,
- 0x5c, 0xa0, 0xb6, 0x3e, 0x5e, 0x14,
- 0x12, 0xa9, 0xdd, 0x2a, 0x3d, 0x4d,
- 0xa3, 0x91, 0x6a, 0x56, 0x99, 0xc2,
- 0x6c, 0x8e, 0xda, 0xb0, 0x5a, 0x2a,
- 0x37, 0x55, 0x8b, 0xd3, 0x9b, 0xb6,
- 0x1d, 0x49, 0x7d, 0x81, 0x76, 0x1c,
- 0x2e, 0xb9, 0x92, 0x6d, 0xfa, 0x54,
- 0x53, 0xfc, 0x74, 0x9b, 0x6b, 0x63,
- 0x95, 0x1a, 0x89, 0xcc, 0xbd, 0x36,
- 0xc5, 0x31, 0x7f, 0xf5, 0x31, 0x69,
- 0x40, 0xd5, 0x7b, 0x94, 0x5d, 0xa9,
- 0xd1, 0x34, 0x95, 0xa1, 0x8b, 0xa5,
- 0xb5, 0x83, 0xda, 0xb5, 0x9d, 0x5b,
- 0x74, 0x41, 0xad, 0x81, 0x45, 0x40,
- 0x9b, 0xc3, 0xe8, 0xfe, 0x47, 0xdc,
- 0xb0, 0xc3, 0x34, 0x5d, 0xf6, 0x3c,
- 0x1d, 0x07, 0x76, 0xd9, 0x25, 0xca,
- 0xa2, 0x39, 0x6c, 0xa8, 0xae, 0x30,
- 0x4a, 0xde, 0xfb, 0xeb, 0x19, 0x80,
- 0x5e, 0x49 ),
- BIGINT ( 0x4b, 0x0e, 0x74, 0xb8, 0xa7, 0x92,
- 0x74, 0xd9, 0x50, 0xf6, 0x1b, 0x67,
- 0x76, 0x76, 0x56, 0x6c, 0x09, 0x9c,
- 0x01, 0xda, 0xaf, 0xa3, 0xca, 0xb2,
- 0x12, 0x85, 0x52, 0x24, 0xe9, 0x7e,
- 0x2b, 0xf2, 0x6e, 0xe9, 0x1a, 0x10,
- 0x5d, 0xa0, 0x25, 0x46, 0x8f, 0x2a,
- 0x95, 0x62, 0x50, 0xb6, 0x66, 0x43,
- 0x37, 0x8b, 0xcb, 0x05, 0xf8, 0x61,
- 0x59, 0xf9, 0xdd, 0xd2, 0x68, 0x72,
- 0xfa, 0x88, 0x13, 0x36, 0xd8, 0x24,
- 0x73, 0xec, 0x47, 0x44, 0xdd, 0x45,
- 0x8a, 0x59, 0xd2, 0xbd, 0x43, 0xe3,
- 0x05, 0x16, 0xd5, 0x9b, 0x1c, 0x8a,
- 0x4b, 0x07, 0xda, 0x58, 0x0d, 0x4a,
- 0x4e, 0xe7, 0x15, 0xfc, 0xbd, 0x95,
- 0xf7, 0x18, 0xa5, 0xa7, 0x93, 0xff,
- 0xf8, 0x1f, 0xd4, 0x6b, 0x07, 0xc6,
- 0x5d, 0x90, 0x73, 0x57, 0x57, 0x37,
- 0xfa, 0x83, 0xd4, 0x7c, 0xe9, 0x77,
- 0x46, 0x91, 0x3a, 0x50, 0x0d, 0x6a,
- 0x25, 0xd0 ) );
-}
-
-/** Big integer self-test */
-struct self_test bigint_test __self_test = {
- .name = "bigint",
- .exec = bigint_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/bofm_test.c b/qemu/roms/ipxe/src/tests/bofm_test.c
deleted file mode 100644
index 829924887..000000000
--- a/qemu/roms/ipxe/src/tests/bofm_test.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (C) 2011 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-#include <ipxe/uaccess.h>
-#include <ipxe/init.h>
-#include <ipxe/pci.h>
-#include <ipxe/ethernet.h>
-#include <ipxe/bofm.h>
-
-/** @file
- *
- * IBM BladeCenter Open Fabric Manager (BOFM) tests
- *
- */
-
-/** Harvest test table */
-static struct {
- struct bofm_global_header header;
- struct bofm_section_header en_header;
- struct bofm_en en;
- struct bofm_section_header done;
-} __attribute__ (( packed )) bofmtab_harvest = {
- .header = {
- .magic = BOFM_IOAA_MAGIC,
- .action = BOFM_ACTION_HVST,
- .version = 0x01,
- .level = 0x01,
- .length = sizeof ( bofmtab_harvest ),
- .profile = "Harvest test profile",
- },
- .en_header = {
- .magic = BOFM_EN_MAGIC,
- .length = sizeof ( bofmtab_harvest.en ),
- },
- .en = {
- .options = ( BOFM_EN_MAP_PFA | BOFM_EN_USAGE_HARVEST |
- BOFM_EN_RQ_HVST_ACTIVE ),
- .mport = 1,
- },
- .done = {
- .magic = BOFM_DONE_MAGIC,
- },
-};
-
-/** Update test table */
-static struct {
- struct bofm_global_header header;
- struct bofm_section_header en_header;
- struct bofm_en en;
- struct bofm_section_header done;
-} __attribute__ (( packed )) bofmtab_update = {
- .header = {
- .magic = BOFM_IOAA_MAGIC,
- .action = BOFM_ACTION_UPDT,
- .version = 0x01,
- .level = 0x01,
- .length = sizeof ( bofmtab_update ),
- .profile = "Update test profile",
- },
- .en_header = {
- .magic = BOFM_EN_MAGIC,
- .length = sizeof ( bofmtab_update.en ),
- },
- .en = {
- .options = ( BOFM_EN_MAP_PFA | BOFM_EN_EN_A |
- BOFM_EN_USAGE_ENTRY ),
- .mport = 1,
- .mac_a = { 0x02, 0x00, 0x69, 0x50, 0x58, 0x45 },
- },
- .done = {
- .magic = BOFM_DONE_MAGIC,
- },
-};
-
-/**
- * Perform BOFM test
- *
- * @v pci PCI device
- */
-void bofm_test ( struct pci_device *pci ) {
- int bofmrc;
-
- printf ( "BOFMTEST using " PCI_FMT "\n", PCI_ARGS ( pci ) );
-
- /* Perform harvest test */
- printf ( "BOFMTEST performing harvest\n" );
- bofmtab_harvest.en.busdevfn = pci->busdevfn;
- DBG_HDA ( 0, &bofmtab_harvest, sizeof ( bofmtab_harvest ) );
- bofmrc = bofm ( virt_to_user ( &bofmtab_harvest ), pci );
- printf ( "BOFMTEST harvest result %08x\n", bofmrc );
- if ( bofmtab_harvest.en.options & BOFM_EN_HVST ) {
- printf ( "BOFMTEST harvested MAC address %s\n",
- eth_ntoa ( &bofmtab_harvest.en.mac_a ) );
- } else {
- printf ( "BOFMTEST failed to harvest a MAC address\n" );
- }
- DBG_HDA ( 0, &bofmtab_harvest, sizeof ( bofmtab_harvest ) );
-
- /* Perform update test */
- printf ( "BOFMTEST performing update\n" );
- bofmtab_update.en.busdevfn = pci->busdevfn;
- DBG_HDA ( 0, &bofmtab_update, sizeof ( bofmtab_update ) );
- bofmrc = bofm ( virt_to_user ( &bofmtab_update ), pci );
- printf ( "BOFMTEST update result %08x\n", bofmrc );
- if ( bofmtab_update.en.options & BOFM_EN_CSM_SUCCESS ) {
- printf ( "BOFMTEST updated MAC address to %s\n",
- eth_ntoa ( &bofmtab_update.en.mac_a ) );
- } else {
- printf ( "BOFMTEST failed to update MAC address\n" );
- }
- DBG_HDA ( 0, &bofmtab_update, sizeof ( bofmtab_update ) );
-}
-
-/**
- * Perform BOFM test at initialisation time
- *
- */
-static void bofm_test_init ( void ) {
- struct pci_device pci;
- int busdevfn = -1;
- int rc;
-
- /* Uncomment the following line and specify the correct PCI
- * bus:dev.fn address in order to perform a BOFM test at
- * initialisation time.
- */
- // busdevfn = PCI_BUSDEVFN ( <bus>, <dev>, <fn> );
-
- /* Skip test if no PCI bus:dev.fn is defined */
- if ( busdevfn < 0 )
- return;
-
- /* Initialise PCI device */
- memset ( &pci, 0, sizeof ( pci ) );
- pci_init ( &pci, busdevfn );
- if ( ( rc = pci_read_config ( &pci ) ) != 0 ) {
- printf ( "BOFMTEST could not create " PCI_FMT " device: %s\n",
- PCI_ARGS ( &pci ), strerror ( rc ) );
- return;
- }
-
- /* Perform test */
- bofm_test ( &pci );
-}
-
-/** BOFM test initialisation function */
-struct init_fn bofm_test_init_fn __init_fn ( INIT_NORMAL ) = {
- .initialise = bofm_test_init,
-};
diff --git a/qemu/roms/ipxe/src/tests/byteswap_test.c b/qemu/roms/ipxe/src/tests/byteswap_test.c
deleted file mode 100644
index 92bdb1d59..000000000
--- a/qemu/roms/ipxe/src/tests/byteswap_test.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Byte-order swapping test functions
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <assert.h>
-#include <byteswap.h>
-#include <ipxe/test.h>
-
-/* Provide global functions to allow inspection of generated assembly code */
-
-uint16_t test_bswap16 ( uint16_t x ) {
- return __bswap_16 ( x );
-}
-
-uint32_t test_bswap32 ( uint32_t x ) {
- return __bswap_32 ( x );
-}
-
-uint64_t test_bswap64 ( uint64_t x ) {
- return __bswap_64 ( x );
-}
-
-void test_bswap16s ( uint16_t *x ) {
- __bswap_16s ( x );
-}
-
-void test_bswap32s ( uint32_t *x ) {
- __bswap_32s ( x );
-}
-
-void test_bswap64s ( uint64_t *x ) {
- __bswap_64s ( x );
-}
-
-/**
- * Perform byte-order swapping
- *
- */
-static void byteswap_test_exec ( void ) {
- uint16_t test16;
- uint32_t test32;
- uint64_t test64;
-
- ok ( test_bswap16 ( 0x1234 ) == 0x3412 );
- ok ( test_bswap32 ( 0x12345678UL ) == 0x78563412UL );
- ok ( test_bswap64 ( 0x123456789abcdef0ULL ) == 0xf0debc9a78563412ULL );
-
- test16 = 0xabcd;
- test_bswap16s ( &test16 );
- ok ( test16 == 0xcdab );
-
- test32 = 0xabcdef01UL;
- test_bswap32s ( &test32 );
- ok ( test32 == 0x01efcdabUL );
-
- test64 = 0xabcdef0123456789ULL;
- test_bswap64s ( &test64 );
- ok ( test64 == 0x8967452301efcdabULL );
-}
-
-/** Byte-order swapping self-test */
-struct self_test byteswap_test __self_test = {
- .name = "byteswap",
- .exec = byteswap_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/cipher_test.c b/qemu/roms/ipxe/src/tests/cipher_test.c
deleted file mode 100644
index 800d6c138..000000000
--- a/qemu/roms/ipxe/src/tests/cipher_test.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Cipher self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <ipxe/crypto.h>
-#include <ipxe/profile.h>
-#include <ipxe/test.h>
-#include "cipher_test.h"
-
-/** Number of sample iterations for profiling */
-#define PROFILE_COUNT 16
-
-/**
- * Report a cipher encryption test result
- *
- * @v test Cipher test
- * @v file Test code file
- * @v line Test code line
- */
-void cipher_encrypt_okx ( struct cipher_test *test, const char *file,
- unsigned int line ) {
- struct cipher_algorithm *cipher = test->cipher;
- size_t len = test->len;
- uint8_t ctx[cipher->ctxsize];
- uint8_t ciphertext[len];
-
- /* Initialise cipher */
- okx ( cipher_setkey ( cipher, ctx, test->key, test->key_len ) == 0,
- file, line );
- cipher_setiv ( cipher, ctx, test->iv );
-
- /* Perform encryption */
- cipher_encrypt ( cipher, ctx, test->plaintext, ciphertext, len );
-
- /* Compare against expected ciphertext */
- okx ( memcmp ( ciphertext, test->ciphertext, len ) == 0, file, line );
-}
-
-/**
- * Report a cipher decryption test result
- *
- * @v test Cipher test
- * @v file Test code file
- * @v line Test code line
- */
-void cipher_decrypt_okx ( struct cipher_test *test, const char *file,
- unsigned int line ) {
- struct cipher_algorithm *cipher = test->cipher;
- size_t len = test->len;
- uint8_t ctx[cipher->ctxsize];
- uint8_t plaintext[len];
-
- /* Initialise cipher */
- okx ( cipher_setkey ( cipher, ctx, test->key, test->key_len ) == 0,
- file, line );
- cipher_setiv ( cipher, ctx, test->iv );
-
- /* Perform encryption */
- cipher_decrypt ( cipher, ctx, test->ciphertext, plaintext, len );
-
- /* Compare against expected plaintext */
- okx ( memcmp ( plaintext, test->plaintext, len ) == 0, file, line );
-}
-
-/**
- * Report a cipher encryption and decryption test result
- *
- * @v test Cipher test
- * @v file Test code file
- * @v line Test code line
- */
-void cipher_okx ( struct cipher_test *test, const char *file,
- unsigned int line ) {
-
- cipher_encrypt_okx ( test, file, line );
- cipher_decrypt_okx ( test, file, line );
-}
-
-/**
- * Calculate cipher encryption or decryption cost
- *
- * @v cipher Cipher algorithm
- * @v key_len Length of key
- * @v op Encryption or decryption operation
- * @ret cost Cost (in cycles per byte)
- */
-static unsigned long
-cipher_cost ( struct cipher_algorithm *cipher, size_t key_len,
- void ( * op ) ( struct cipher_algorithm *cipher, void *ctx,
- const void *src, void *dst, size_t len ) ) {
- static uint8_t random[8192]; /* Too large for stack */
- uint8_t key[key_len];
- uint8_t iv[cipher->blocksize];
- uint8_t ctx[cipher->ctxsize];
- struct profiler profiler;
- unsigned long cost;
- unsigned int i;
- int rc;
-
- /* Fill buffer with pseudo-random data */
- srand ( 0x1234568 );
- for ( i = 0 ; i < sizeof ( random ) ; i++ )
- random[i] = rand();
- for ( i = 0 ; i < sizeof ( key ) ; i++ )
- key[i] = rand();
- for ( i = 0 ; i < sizeof ( iv ) ; i++ )
- iv[i] = rand();
-
- /* Initialise cipher */
- rc = cipher_setkey ( cipher, ctx, key, key_len );
- assert ( rc == 0 );
- cipher_setiv ( cipher, ctx, iv );
-
- /* Profile cipher operation */
- memset ( &profiler, 0, sizeof ( profiler ) );
- for ( i = 0 ; i < PROFILE_COUNT ; i++ ) {
- profile_start ( &profiler );
- op ( cipher, ctx, random, random, sizeof ( random ) );
- profile_stop ( &profiler );
- }
-
- /* Round to nearest whole number of cycles per byte */
- cost = ( ( profile_mean ( &profiler ) + ( sizeof ( random ) / 2 ) ) /
- sizeof ( random ) );
-
- return cost;
-}
-
-/**
- * Calculate cipher encryption cost
- *
- * @v cipher Cipher algorithm
- * @v key_len Length of key
- * @ret cost Cost (in cycles per byte)
- */
-unsigned long cipher_cost_encrypt ( struct cipher_algorithm *cipher,
- size_t key_len ) {
- return cipher_cost ( cipher, key_len, cipher_encrypt );
-}
-
-/**
- * Calculate cipher decryption cost
- *
- * @v cipher Cipher algorithm
- * @v key_len Length of key
- * @ret cost Cost (in cycles per byte)
- */
-unsigned long cipher_cost_decrypt ( struct cipher_algorithm *cipher,
- size_t key_len ) {
- return cipher_cost ( cipher, key_len, cipher_decrypt );
-}
diff --git a/qemu/roms/ipxe/src/tests/cipher_test.h b/qemu/roms/ipxe/src/tests/cipher_test.h
deleted file mode 100644
index d7c5aef8f..000000000
--- a/qemu/roms/ipxe/src/tests/cipher_test.h
+++ /dev/null
@@ -1,111 +0,0 @@
-#ifndef _CIPHER_TEST_H
-#define _CIPHER_TEST_H
-
-/** @file
- *
- * Cipher self-tests
- *
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-#include <stdint.h>
-#include <ipxe/crypto.h>
-#include <ipxe/test.h>
-
-/** A cipher test */
-struct cipher_test {
- /** Cipher algorithm */
- struct cipher_algorithm *cipher;
- /** Key */
- const void *key;
- /** Length of key */
- size_t key_len;
- /** Initialisation vector */
- const void *iv;
- /** Length of initialisation vector */
- size_t iv_len;
- /** Plaintext */
- const void *plaintext;
- /** Ciphertext */
- const void *ciphertext;
- /** Length of text */
- size_t len;
-};
-
-/** Define inline key */
-#define KEY(...) { __VA_ARGS__ }
-
-/** Define inline initialisation vector */
-#define IV(...) { __VA_ARGS__ }
-
-/** Define inline plaintext data */
-#define PLAINTEXT(...) { __VA_ARGS__ }
-
-/** Define inline ciphertext data */
-#define CIPHERTEXT(...) { __VA_ARGS__ }
-
-/**
- * Define a cipher test
- *
- * @v name Test name
- * @v CIPHER Cipher algorithm
- * @v KEY Key
- * @v IV Initialisation vector
- * @v PLAINTEXT Plaintext
- * @v CIPHERTEXT Ciphertext
- * @ret test Cipher test
- */
-#define CIPHER_TEST( name, CIPHER, KEY, IV, PLAINTEXT, CIPHERTEXT ) \
- static const uint8_t name ## _key [] = KEY; \
- static const uint8_t name ## _iv [] = IV; \
- static const uint8_t name ## _plaintext [] = PLAINTEXT; \
- static const uint8_t name ## _ciphertext \
- [ sizeof ( name ## _plaintext ) ] = CIPHERTEXT; \
- static struct cipher_test name = { \
- .cipher = CIPHER, \
- .key = name ## _key, \
- .key_len = sizeof ( name ## _key ), \
- .iv = name ## _iv, \
- .iv_len = sizeof ( name ## _iv ), \
- .plaintext = name ## _plaintext, \
- .ciphertext = name ## _ciphertext, \
- .len = sizeof ( name ## _plaintext ), \
- }
-
-extern void cipher_encrypt_okx ( struct cipher_test *test, const char *file,
- unsigned int line );
-extern void cipher_decrypt_okx ( struct cipher_test *test, const char *file,
- unsigned int line );
-extern void cipher_okx ( struct cipher_test *test, const char *file,
- unsigned int line );
-extern unsigned long cipher_cost_encrypt ( struct cipher_algorithm *cipher,
- size_t key_len );
-extern unsigned long cipher_cost_decrypt ( struct cipher_algorithm *cipher,
- size_t key_len );
-
-/**
- * Report a cipher encryption test result
- *
- * @v test Cipher test
- */
-#define cipher_encrypt_ok( test ) \
- cipher_encrypt_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report a cipher decryption test result
- *
- * @v test Cipher test
- */
-#define cipher_decrypt_ok( test ) \
- cipher_decrypt_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report a cipher encryption and decryption test result
- *
- * @v test Cipher test
- */
-#define cipher_ok( test ) \
- cipher_okx ( test, __FILE__, __LINE__ )
-
-#endif /* _CIPHER_TEST_H */
diff --git a/qemu/roms/ipxe/src/tests/cms_test.c b/qemu/roms/ipxe/src/tests/cms_test.c
deleted file mode 100644
index b805a9974..000000000
--- a/qemu/roms/ipxe/src/tests/cms_test.c
+++ /dev/null
@@ -1,1481 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * CMS self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <string.h>
-#include <ipxe/sha256.h>
-#include <ipxe/x509.h>
-#include <ipxe/uaccess.h>
-#include <ipxe/cms.h>
-#include <ipxe/test.h>
-
-/** Fingerprint algorithm used for X.509 test certificates */
-#define cms_test_algorithm sha256_algorithm
-
-/** CMS test code blob */
-struct cms_test_code {
- /** Data */
- const void *data;
- /** Length of data */
- size_t len;
-};
-
-/** CMS test signature */
-struct cms_test_signature {
- /** Data */
- const void *data;
- /** Length of data */
- size_t len;
-
- /** Parsed signature */
- struct cms_signature *sig;
-};
-
-/** Define inline data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** Define inline fingerprint data */
-#define FINGERPRINT(...) { __VA_ARGS__ }
-
-/** Define a test code blob */
-#define SIGNED_CODE( name, DATA ) \
- static const uint8_t name ## _data[] = DATA; \
- static struct cms_test_code name = { \
- .data = name ## _data, \
- .len = sizeof ( name ## _data ), \
- }
-
-/** Define a test signature */
-#define SIGNATURE( name, DATA ) \
- static const uint8_t name ## _data[] = DATA; \
- static struct cms_test_signature name = { \
- .data = name ## _data, \
- .len = sizeof ( name ## _data ), \
- }
-
-/** Code that has been signed */
-SIGNED_CODE ( test_code,
- DATA ( 0x23, 0x21, 0x69, 0x70, 0x78, 0x65, 0x0a, 0x0a, 0x65, 0x63,
- 0x68, 0x6f, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73,
- 0x20, 0x61, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20,
- 0x61, 0x6e, 0x64, 0x20, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65,
- 0x64, 0x20, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x63, 0x72,
- 0x69, 0x70, 0x74, 0x2e, 0x20, 0x20, 0x44, 0x6f, 0x20, 0x61,
- 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x79, 0x6f,
- 0x75, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x21, 0x0a, 0x73, 0x68,
- 0x65, 0x6c, 0x6c, 0x0a ) );
-
-/** Code that has not been signed */
-SIGNED_CODE ( bad_code,
- DATA ( 0x23, 0x21, 0x69, 0x70, 0x78, 0x65, 0x0a, 0x0a, 0x65, 0x63,
- 0x68, 0x6f, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73,
- 0x20, 0x61, 0x20, 0x6d, 0x61, 0x6c, 0x69, 0x63, 0x69, 0x6f,
- 0x75, 0x73, 0x20, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x63,
- 0x72, 0x69, 0x70, 0x74, 0x2e, 0x20, 0x20, 0x44, 0x6f, 0x20,
- 0x61, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x79,
- 0x6f, 0x75, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x21, 0x0a, 0x73,
- 0x68, 0x65, 0x6c, 0x6c, 0x0a ) );
-
-/** Valid signature */
-SIGNATURE ( codesigned_sig,
- DATA ( 0x30, 0x82, 0x0c, 0x41, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x0c, 0x32, 0x30,
- 0x82, 0x0c, 0x2e, 0x02, 0x01, 0x01, 0x31, 0x09, 0x30, 0x07,
- 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x30, 0x0b, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01,
- 0xa0, 0x82, 0x0a, 0xd8, 0x30, 0x82, 0x02, 0xac, 0x30, 0x82,
- 0x02, 0x15, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x04,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47,
- 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08,
- 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10,
- 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16,
- 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e,
- 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c,
- 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04,
- 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72,
- 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03,
- 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c,
- 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x65, 0x61,
- 0x66, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32,
- 0x30, 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33, 0x34,
- 0x5a, 0x17, 0x0d, 0x31, 0x33, 0x30, 0x33, 0x32, 0x32, 0x30,
- 0x30, 0x30, 0x31, 0x33, 0x34, 0x5a, 0x30, 0x81, 0x88, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30,
- 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30,
- 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65,
- 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20,
- 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x16, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x69, 0x67,
- 0x6e, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x69, 0x70, 0x78,
- 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x81, 0x9f, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89,
- 0x02, 0x81, 0x81, 0x00, 0xc3, 0x3a, 0xdb, 0x7b, 0x17, 0x24,
- 0x47, 0xb9, 0xb9, 0x17, 0x02, 0x17, 0xa8, 0xce, 0x21, 0x97,
- 0x92, 0x2f, 0x65, 0x53, 0x3b, 0x7e, 0x5c, 0x7d, 0x13, 0xab,
- 0x46, 0xe8, 0x4a, 0x44, 0x6c, 0x5d, 0x8f, 0xa2, 0x0c, 0x1d,
- 0x69, 0xc1, 0x66, 0x48, 0xc4, 0x1a, 0xc9, 0x32, 0xe5, 0x97,
- 0x92, 0xb7, 0x11, 0xa7, 0x1f, 0x21, 0xac, 0x96, 0xcb, 0x85,
- 0x10, 0xcc, 0x23, 0x20, 0x51, 0xdd, 0xaf, 0xbe, 0xf5, 0x23,
- 0x12, 0x0b, 0x03, 0xe9, 0xf9, 0x61, 0x86, 0x64, 0x82, 0xa4,
- 0xfd, 0x53, 0x24, 0xdf, 0xc2, 0x96, 0x2e, 0x28, 0xbb, 0x94,
- 0xfb, 0x2c, 0xaf, 0x9e, 0x07, 0x79, 0x96, 0x48, 0x24, 0xf0,
- 0x9d, 0xb3, 0x11, 0x3d, 0x4c, 0x2e, 0xd8, 0xc9, 0xf9, 0x69,
- 0xca, 0xdb, 0x16, 0xbd, 0x4c, 0xc5, 0xce, 0x28, 0x18, 0xdc,
- 0x88, 0x1b, 0x31, 0x0d, 0x10, 0x6b, 0x5b, 0x10, 0xe9, 0xcc,
- 0xfe, 0xa1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x24, 0x30,
- 0x22, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04,
- 0x03, 0x02, 0x07, 0x80, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d,
- 0x25, 0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
- 0x03, 0x81, 0x81, 0x00, 0x22, 0x20, 0xe4, 0xc5, 0x0a, 0xef,
- 0xae, 0xab, 0xbd, 0xab, 0x96, 0x56, 0x2c, 0x30, 0xeb, 0x06,
- 0x84, 0xa0, 0x96, 0x37, 0x1a, 0x29, 0x2b, 0xeb, 0x8c, 0xb5,
- 0x23, 0x22, 0x10, 0xef, 0x81, 0xe8, 0xdc, 0xa9, 0xdd, 0x8e,
- 0x1d, 0x2c, 0xfc, 0xf5, 0x07, 0x19, 0xb7, 0x94, 0x91, 0xf7,
- 0x2e, 0x07, 0xa1, 0xbc, 0xc5, 0x17, 0x34, 0xbe, 0x8a, 0x62,
- 0x05, 0x5e, 0x9f, 0xe3, 0xce, 0xfd, 0x16, 0x42, 0xca, 0x25,
- 0x2e, 0x0a, 0x03, 0x54, 0xd5, 0x3a, 0x52, 0x7f, 0x99, 0x94,
- 0x96, 0xc6, 0xf5, 0xf0, 0xe3, 0x09, 0xd6, 0x00, 0x9b, 0x6f,
- 0x0b, 0xa4, 0x9a, 0x13, 0x70, 0x9e, 0x67, 0xf9, 0x8c, 0x64,
- 0xab, 0x22, 0x5d, 0xb3, 0xba, 0x2d, 0xe2, 0x70, 0xb8, 0x0c,
- 0x6d, 0xd3, 0x12, 0x70, 0x5e, 0x04, 0x80, 0xef, 0x5e, 0x42,
- 0x0a, 0x77, 0x57, 0x79, 0xa2, 0x1d, 0xe5, 0xbd, 0x20, 0xce,
- 0x45, 0xc3, 0x30, 0x82, 0x02, 0xb3, 0x30, 0x82, 0x02, 0x1c,
- 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x05, 0x05, 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09,
- 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31,
- 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e,
- 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73,
- 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03,
- 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72,
- 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
- 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53,
- 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64,
- 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c,
- 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31,
- 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16,
- 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d,
- 0x74, 0x65, 0x73, 0x74, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20,
- 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33,
- 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a, 0x17,
- 0x0d, 0x31, 0x34, 0x31, 0x32, 0x31, 0x37, 0x30, 0x30, 0x30,
- 0x31, 0x33, 0x33, 0x5a, 0x30, 0x81, 0x90, 0x31, 0x0b, 0x30,
- 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42,
- 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c,
- 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
- 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06,
- 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62,
- 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06,
- 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20,
- 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74,
- 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b,
- 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67,
- 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
- 0x1e, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66,
- 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x65,
- 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x20, 0x43,
- 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
- 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03,
- 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00,
- 0xc9, 0x3a, 0xee, 0xc6, 0x3c, 0xac, 0x4d, 0x81, 0xc6, 0x98,
- 0x5e, 0xe1, 0x48, 0x66, 0x1a, 0x1e, 0x60, 0x19, 0x41, 0xae,
- 0xca, 0x14, 0x97, 0xc8, 0x3a, 0x50, 0xb6, 0x48, 0xf5, 0x42,
- 0xac, 0x0f, 0xe1, 0xe3, 0x47, 0xf0, 0xbf, 0x7c, 0xd0, 0xee,
- 0x8f, 0xb7, 0xa6, 0x19, 0xad, 0xbb, 0xc5, 0x1b, 0x34, 0x38,
- 0xc8, 0xbd, 0x55, 0x84, 0x93, 0x72, 0xaf, 0x84, 0xfc, 0x9b,
- 0x97, 0x1d, 0xb5, 0x54, 0x24, 0xd6, 0x5d, 0xb7, 0x31, 0xf4,
- 0xbd, 0x3b, 0x40, 0x97, 0xc0, 0xa9, 0x5a, 0x2a, 0xcb, 0x6b,
- 0x98, 0x07, 0xdb, 0xb5, 0x9f, 0xe8, 0x31, 0x3f, 0x01, 0x46,
- 0x46, 0x70, 0x05, 0xa2, 0x0f, 0x8c, 0x7a, 0x61, 0xf3, 0xdf,
- 0xdb, 0xa1, 0x37, 0x2c, 0x88, 0x6a, 0x81, 0x21, 0x12, 0x4c,
- 0xf5, 0xcd, 0xaf, 0xc9, 0xd2, 0x36, 0x3d, 0x82, 0xd1, 0xca,
- 0x19, 0xaf, 0x4e, 0xae, 0x50, 0x71, 0x44, 0xbf, 0x02, 0x03,
- 0x01, 0x00, 0x01, 0xa3, 0x23, 0x30, 0x21, 0x30, 0x0f, 0x06,
- 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30,
- 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d,
- 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02, 0x04,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x5d,
- 0x3c, 0xb3, 0x52, 0x19, 0xa6, 0x9e, 0x4a, 0x44, 0x98, 0xbf,
- 0x51, 0x20, 0x47, 0x0a, 0xf3, 0x26, 0x1a, 0xcc, 0x35, 0x2f,
- 0xc9, 0xed, 0xe0, 0x9d, 0x46, 0xeb, 0xbc, 0x7e, 0xc9, 0xb9,
- 0x1d, 0x76, 0xa4, 0x1d, 0xc2, 0xd9, 0x16, 0x29, 0x77, 0x01,
- 0x40, 0xdd, 0xe5, 0xcb, 0x28, 0x91, 0x3a, 0x0c, 0x13, 0x01,
- 0x1b, 0x72, 0x62, 0x45, 0x27, 0xfd, 0xd7, 0x00, 0x47, 0x36,
- 0x09, 0x1e, 0x7b, 0xd2, 0xcb, 0x95, 0x3d, 0x28, 0x82, 0xce,
- 0x83, 0x59, 0x32, 0xf9, 0xe6, 0xec, 0x89, 0xac, 0x88, 0x45,
- 0x22, 0x88, 0x6f, 0x5e, 0xa2, 0x79, 0x95, 0xba, 0xb9, 0xc9,
- 0xb6, 0x4c, 0x7c, 0xb4, 0x29, 0xa1, 0x02, 0xf5, 0xac, 0x5d,
- 0x8e, 0x52, 0xeb, 0xe8, 0xb1, 0x56, 0x49, 0xb3, 0x77, 0x62,
- 0x7d, 0x87, 0x4d, 0x17, 0xf2, 0x62, 0x83, 0x08, 0x59, 0x21,
- 0x60, 0x0d, 0x84, 0x8e, 0x5a, 0x84, 0xf6, 0x30, 0x82, 0x02,
- 0xb3, 0x30, 0x82, 0x02, 0x1c, 0xa0, 0x03, 0x02, 0x01, 0x02,
- 0x02, 0x09, 0x00, 0xc6, 0xb8, 0x9c, 0x58, 0xd2, 0xdc, 0xc9,
- 0x5d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x88, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30,
- 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30,
- 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65,
- 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20,
- 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65,
- 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x72, 0x6f,
- 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31,
- 0x32, 0x30, 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33,
- 0x33, 0x5a, 0x17, 0x0d, 0x33, 0x39, 0x30, 0x38, 0x30, 0x38,
- 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a, 0x30, 0x81, 0x88,
- 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13,
- 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55,
- 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69,
- 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12,
- 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43,
- 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18,
- 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46,
- 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73,
- 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03,
- 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e,
- 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73,
- 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x72,
- 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x81, 0x9f, 0x30,
- 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
- 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81,
- 0x89, 0x02, 0x81, 0x81, 0x00, 0xaa, 0x72, 0xb5, 0xc1, 0x73,
- 0xf4, 0x95, 0x76, 0xa4, 0x27, 0xab, 0x5e, 0xeb, 0x1d, 0x9d,
- 0xd0, 0x04, 0xb2, 0x93, 0x05, 0xc7, 0xfa, 0x75, 0x84, 0x66,
- 0xe6, 0x3a, 0x26, 0x1f, 0xbc, 0x2d, 0xfd, 0x8f, 0x59, 0x64,
- 0xac, 0xcf, 0x65, 0x9d, 0x82, 0x23, 0xc3, 0x72, 0x93, 0xf2,
- 0x40, 0x68, 0x32, 0xd1, 0xb8, 0xf1, 0x47, 0x61, 0x50, 0xea,
- 0xbc, 0xcc, 0x3c, 0x6b, 0x74, 0x7a, 0xec, 0x2b, 0x75, 0xa6,
- 0xc2, 0xa2, 0xb8, 0xbf, 0x23, 0x48, 0x97, 0xd5, 0xaf, 0x77,
- 0xc1, 0x92, 0x88, 0xd7, 0x38, 0xb7, 0x9e, 0xda, 0xee, 0x72,
- 0x04, 0xcb, 0x96, 0xe5, 0xdb, 0xfd, 0x9b, 0x5d, 0x99, 0x4e,
- 0x7a, 0x60, 0x23, 0x34, 0xa4, 0x8d, 0xd7, 0x6c, 0xe7, 0x5d,
- 0x93, 0x97, 0xe1, 0xab, 0x36, 0x2c, 0x24, 0x16, 0x92, 0x66,
- 0xf6, 0x6a, 0x14, 0x23, 0x1d, 0x18, 0xb9, 0x44, 0x24, 0x61,
- 0x6b, 0xd3, 0x75, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x23,
- 0x30, 0x21, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
- 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30,
- 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04,
- 0x04, 0x03, 0x02, 0x02, 0x04, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
- 0x03, 0x81, 0x81, 0x00, 0x94, 0x9e, 0xea, 0x17, 0x8d, 0x27,
- 0xa9, 0x17, 0xe5, 0xa9, 0x19, 0xbe, 0x82, 0x36, 0xbd, 0xac,
- 0x74, 0xf3, 0x6e, 0x75, 0x71, 0x30, 0x1c, 0x05, 0x80, 0x6d,
- 0x1a, 0x69, 0x37, 0x86, 0x9c, 0x77, 0x75, 0x29, 0xa1, 0xc6,
- 0xb7, 0x11, 0x0a, 0x63, 0x27, 0xee, 0xb1, 0xc8, 0x94, 0xa9,
- 0x2e, 0x56, 0x8f, 0xca, 0x9d, 0xbe, 0xf4, 0xdb, 0x63, 0x97,
- 0x68, 0x3b, 0x13, 0xf8, 0x6a, 0xa5, 0xd1, 0x3d, 0xed, 0xbb,
- 0x86, 0x9d, 0x42, 0xfc, 0x15, 0x0a, 0x04, 0xf8, 0x3c, 0x0e,
- 0xc4, 0x86, 0x05, 0x57, 0x56, 0x96, 0xf6, 0xc0, 0x18, 0x53,
- 0xb0, 0xc5, 0xf0, 0xca, 0x72, 0x77, 0x77, 0xc9, 0x8e, 0x90,
- 0xa5, 0x4b, 0xb6, 0x80, 0x4a, 0x4c, 0x34, 0x6f, 0xc9, 0xe8,
- 0x6f, 0xc2, 0x28, 0xdf, 0x93, 0xa9, 0xf5, 0x63, 0x18, 0xc0,
- 0xec, 0x9e, 0xd5, 0x19, 0x36, 0xc5, 0x94, 0x10, 0xd4, 0x72,
- 0xd2, 0xb8, 0x30, 0x82, 0x02, 0xb6, 0x30, 0x82, 0x02, 0x1f,
- 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x05, 0x05, 0x00, 0x30, 0x81, 0x90, 0x31, 0x0b, 0x30, 0x09,
- 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31,
- 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e,
- 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73,
- 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03,
- 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72,
- 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
- 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53,
- 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64,
- 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c,
- 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31,
- 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x1e,
- 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d,
- 0x74, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72,
- 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x20, 0x43, 0x41,
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32, 0x32,
- 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 0x31,
- 0x34, 0x31, 0x32, 0x31, 0x37, 0x30, 0x30, 0x30, 0x31, 0x33,
- 0x33, 0x5a, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06,
- 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17,
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43,
- 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68,
- 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
- 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69,
- 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
- 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79,
- 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31,
- 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08,
- 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f,
- 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69,
- 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74,
- 0x65, 0x73, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x66, 0x20, 0x43,
- 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
- 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03,
- 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00,
- 0xc3, 0x55, 0xad, 0xdf, 0x7b, 0xd1, 0x48, 0xc3, 0xd3, 0x02,
- 0x54, 0x6c, 0x92, 0x45, 0x22, 0x3d, 0x90, 0xd8, 0xc7, 0x13,
- 0xcd, 0xc1, 0x59, 0xc6, 0xe0, 0xad, 0x0e, 0xe6, 0xdb, 0x3b,
- 0xe8, 0x63, 0xea, 0x4e, 0xb6, 0xea, 0x50, 0xea, 0x6e, 0x33,
- 0x9d, 0x28, 0x25, 0x42, 0x49, 0xd0, 0xf0, 0xed, 0xc5, 0x5b,
- 0x6b, 0x4a, 0xe7, 0x45, 0xfa, 0xd3, 0x3f, 0xae, 0xde, 0x5a,
- 0x90, 0xab, 0xf1, 0x61, 0x2f, 0x40, 0x5e, 0xcf, 0x8b, 0x0b,
- 0x10, 0x59, 0xa9, 0xd0, 0x1e, 0x0f, 0x18, 0x6b, 0x92, 0xd8,
- 0x9f, 0x58, 0x10, 0x84, 0xb6, 0x15, 0xe8, 0x5b, 0xc4, 0xa0,
- 0x3e, 0x49, 0x8b, 0xea, 0xdd, 0xa9, 0x7e, 0x32, 0x26, 0x9a,
- 0x68, 0x44, 0xf0, 0x30, 0xca, 0x2a, 0xd6, 0x19, 0x7a, 0x80,
- 0xfd, 0xd7, 0xfc, 0xc7, 0x5d, 0xe7, 0x61, 0xd2, 0x3f, 0x1f,
- 0x2c, 0x40, 0x70, 0x7b, 0x34, 0xcb, 0x08, 0xa9, 0x02, 0x03,
- 0x01, 0x00, 0x01, 0xa3, 0x26, 0x30, 0x24, 0x30, 0x12, 0x06,
- 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30,
- 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06,
- 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03,
- 0x02, 0x02, 0x04, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
- 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81,
- 0x81, 0x00, 0x40, 0xd2, 0x70, 0x02, 0x08, 0x19, 0xa0, 0xb8,
- 0x8d, 0x9d, 0x3d, 0x62, 0x41, 0x90, 0x2a, 0x36, 0x4a, 0x8b,
- 0x21, 0x42, 0x9a, 0xb4, 0xc5, 0xf8, 0x79, 0x17, 0xd7, 0x64,
- 0x4d, 0xbf, 0x8f, 0x6a, 0x04, 0x54, 0x7a, 0x0b, 0xd4, 0xb5,
- 0x0e, 0xab, 0xf7, 0xb7, 0x06, 0x2b, 0xf8, 0xde, 0x87, 0xb2,
- 0x37, 0x3b, 0x95, 0x01, 0xba, 0x9f, 0x8f, 0xec, 0x0a, 0x86,
- 0xca, 0x51, 0xb6, 0x25, 0x73, 0x2f, 0xa1, 0x66, 0xc8, 0x7a,
- 0x5e, 0x51, 0xbd, 0x49, 0xb5, 0x75, 0xda, 0xea, 0xe5, 0xeb,
- 0x5d, 0xe3, 0xb0, 0xad, 0x49, 0x9f, 0x8b, 0xfd, 0x89, 0xb3,
- 0xb7, 0xb2, 0x4c, 0x7d, 0x8a, 0x29, 0xb2, 0xbe, 0x04, 0xef,
- 0x9c, 0x73, 0x3c, 0xea, 0xa3, 0x9f, 0x07, 0x66, 0x5a, 0x2f,
- 0x38, 0xad, 0x1a, 0xeb, 0xe1, 0xb0, 0x62, 0x14, 0x55, 0xdc,
- 0x8c, 0x83, 0xbb, 0xc7, 0x13, 0x04, 0x41, 0x54, 0xf1, 0x45,
- 0x31, 0x82, 0x01, 0x33, 0x30, 0x82, 0x01, 0x2f, 0x02, 0x01,
- 0x01, 0x30, 0x81, 0x8e, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30,
- 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42,
- 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c,
- 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
- 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06,
- 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62,
- 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06,
- 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20,
- 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74,
- 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b,
- 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67,
- 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
- 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66,
- 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x66,
- 0x20, 0x43, 0x41, 0x02, 0x01, 0x04, 0x30, 0x07, 0x06, 0x05,
- 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
- 0x04, 0x81, 0x80, 0x1f, 0x95, 0x53, 0x9c, 0x63, 0xcc, 0x9e,
- 0xe3, 0x41, 0x30, 0xaf, 0x66, 0xac, 0x7c, 0x39, 0x69, 0xa0,
- 0x02, 0xe3, 0x28, 0xfa, 0xf6, 0x71, 0xf4, 0xcf, 0x97, 0x2a,
- 0xbb, 0xe0, 0x1d, 0x71, 0x73, 0x4a, 0xa7, 0xea, 0xb0, 0x72,
- 0xc3, 0xd2, 0xba, 0x52, 0x42, 0x06, 0x88, 0x4a, 0xa6, 0x41,
- 0x1d, 0x2f, 0x82, 0xb3, 0x7d, 0x32, 0x59, 0x34, 0x4e, 0x47,
- 0x1b, 0xaa, 0x5e, 0x90, 0xe2, 0x73, 0x62, 0x2d, 0x6f, 0x6c,
- 0x47, 0x52, 0x05, 0x90, 0xcb, 0xac, 0x30, 0xa8, 0x20, 0x71,
- 0x14, 0x39, 0x16, 0x85, 0x3d, 0x32, 0x2f, 0x9d, 0x31, 0x97,
- 0xa8, 0x96, 0xb9, 0xf2, 0x2b, 0xdc, 0xa6, 0x2f, 0x68, 0xc7,
- 0xac, 0x46, 0xa2, 0xc7, 0x26, 0xd0, 0xde, 0xac, 0x1d, 0x5d,
- 0x70, 0x65, 0xc6, 0x26, 0xdd, 0x30, 0x3f, 0x3a, 0xbd, 0x5e,
- 0x8f, 0x87, 0x64, 0xab, 0xe7, 0xf9, 0x71, 0x64, 0x03, 0x05,
- 0xbf ) );
-
-/** Signature with a broken certificate chain */
-SIGNATURE ( brokenchain_sig,
- DATA ( 0x30, 0x82, 0x09, 0x8a, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x09, 0x7b, 0x30,
- 0x82, 0x09, 0x77, 0x02, 0x01, 0x01, 0x31, 0x09, 0x30, 0x07,
- 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x30, 0x0b, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01,
- 0xa0, 0x82, 0x08, 0x21, 0x30, 0x82, 0x02, 0xac, 0x30, 0x82,
- 0x02, 0x15, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x04,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47,
- 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08,
- 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10,
- 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16,
- 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e,
- 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c,
- 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04,
- 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72,
- 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03,
- 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c,
- 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x65, 0x61,
- 0x66, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32,
- 0x30, 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33, 0x34,
- 0x5a, 0x17, 0x0d, 0x31, 0x33, 0x30, 0x33, 0x32, 0x32, 0x30,
- 0x30, 0x30, 0x31, 0x33, 0x34, 0x5a, 0x30, 0x81, 0x88, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30,
- 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30,
- 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65,
- 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20,
- 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x16, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x69, 0x67,
- 0x6e, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x69, 0x70, 0x78,
- 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x81, 0x9f, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89,
- 0x02, 0x81, 0x81, 0x00, 0xc3, 0x3a, 0xdb, 0x7b, 0x17, 0x24,
- 0x47, 0xb9, 0xb9, 0x17, 0x02, 0x17, 0xa8, 0xce, 0x21, 0x97,
- 0x92, 0x2f, 0x65, 0x53, 0x3b, 0x7e, 0x5c, 0x7d, 0x13, 0xab,
- 0x46, 0xe8, 0x4a, 0x44, 0x6c, 0x5d, 0x8f, 0xa2, 0x0c, 0x1d,
- 0x69, 0xc1, 0x66, 0x48, 0xc4, 0x1a, 0xc9, 0x32, 0xe5, 0x97,
- 0x92, 0xb7, 0x11, 0xa7, 0x1f, 0x21, 0xac, 0x96, 0xcb, 0x85,
- 0x10, 0xcc, 0x23, 0x20, 0x51, 0xdd, 0xaf, 0xbe, 0xf5, 0x23,
- 0x12, 0x0b, 0x03, 0xe9, 0xf9, 0x61, 0x86, 0x64, 0x82, 0xa4,
- 0xfd, 0x53, 0x24, 0xdf, 0xc2, 0x96, 0x2e, 0x28, 0xbb, 0x94,
- 0xfb, 0x2c, 0xaf, 0x9e, 0x07, 0x79, 0x96, 0x48, 0x24, 0xf0,
- 0x9d, 0xb3, 0x11, 0x3d, 0x4c, 0x2e, 0xd8, 0xc9, 0xf9, 0x69,
- 0xca, 0xdb, 0x16, 0xbd, 0x4c, 0xc5, 0xce, 0x28, 0x18, 0xdc,
- 0x88, 0x1b, 0x31, 0x0d, 0x10, 0x6b, 0x5b, 0x10, 0xe9, 0xcc,
- 0xfe, 0xa1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x24, 0x30,
- 0x22, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04,
- 0x03, 0x02, 0x07, 0x80, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d,
- 0x25, 0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
- 0x03, 0x81, 0x81, 0x00, 0x22, 0x20, 0xe4, 0xc5, 0x0a, 0xef,
- 0xae, 0xab, 0xbd, 0xab, 0x96, 0x56, 0x2c, 0x30, 0xeb, 0x06,
- 0x84, 0xa0, 0x96, 0x37, 0x1a, 0x29, 0x2b, 0xeb, 0x8c, 0xb5,
- 0x23, 0x22, 0x10, 0xef, 0x81, 0xe8, 0xdc, 0xa9, 0xdd, 0x8e,
- 0x1d, 0x2c, 0xfc, 0xf5, 0x07, 0x19, 0xb7, 0x94, 0x91, 0xf7,
- 0x2e, 0x07, 0xa1, 0xbc, 0xc5, 0x17, 0x34, 0xbe, 0x8a, 0x62,
- 0x05, 0x5e, 0x9f, 0xe3, 0xce, 0xfd, 0x16, 0x42, 0xca, 0x25,
- 0x2e, 0x0a, 0x03, 0x54, 0xd5, 0x3a, 0x52, 0x7f, 0x99, 0x94,
- 0x96, 0xc6, 0xf5, 0xf0, 0xe3, 0x09, 0xd6, 0x00, 0x9b, 0x6f,
- 0x0b, 0xa4, 0x9a, 0x13, 0x70, 0x9e, 0x67, 0xf9, 0x8c, 0x64,
- 0xab, 0x22, 0x5d, 0xb3, 0xba, 0x2d, 0xe2, 0x70, 0xb8, 0x0c,
- 0x6d, 0xd3, 0x12, 0x70, 0x5e, 0x04, 0x80, 0xef, 0x5e, 0x42,
- 0x0a, 0x77, 0x57, 0x79, 0xa2, 0x1d, 0xe5, 0xbd, 0x20, 0xce,
- 0x45, 0xc3, 0x30, 0x82, 0x02, 0xb3, 0x30, 0x82, 0x02, 0x1c,
- 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0xc6, 0xb8,
- 0x9c, 0x58, 0xd2, 0xdc, 0xc9, 0x5d, 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
- 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,
- 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30,
- 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69,
- 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04,
- 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73,
- 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11,
- 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69,
- 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30,
- 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50,
- 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65,
- 0x73, 0x74, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41,
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32, 0x32,
- 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 0x33,
- 0x39, 0x30, 0x38, 0x30, 0x38, 0x30, 0x30, 0x30, 0x31, 0x33,
- 0x33, 0x5a, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06,
- 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17,
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43,
- 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68,
- 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
- 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69,
- 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
- 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79,
- 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31,
- 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08,
- 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f,
- 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69,
- 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74,
- 0x65, 0x73, 0x74, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x43,
- 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
- 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03,
- 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00,
- 0xaa, 0x72, 0xb5, 0xc1, 0x73, 0xf4, 0x95, 0x76, 0xa4, 0x27,
- 0xab, 0x5e, 0xeb, 0x1d, 0x9d, 0xd0, 0x04, 0xb2, 0x93, 0x05,
- 0xc7, 0xfa, 0x75, 0x84, 0x66, 0xe6, 0x3a, 0x26, 0x1f, 0xbc,
- 0x2d, 0xfd, 0x8f, 0x59, 0x64, 0xac, 0xcf, 0x65, 0x9d, 0x82,
- 0x23, 0xc3, 0x72, 0x93, 0xf2, 0x40, 0x68, 0x32, 0xd1, 0xb8,
- 0xf1, 0x47, 0x61, 0x50, 0xea, 0xbc, 0xcc, 0x3c, 0x6b, 0x74,
- 0x7a, 0xec, 0x2b, 0x75, 0xa6, 0xc2, 0xa2, 0xb8, 0xbf, 0x23,
- 0x48, 0x97, 0xd5, 0xaf, 0x77, 0xc1, 0x92, 0x88, 0xd7, 0x38,
- 0xb7, 0x9e, 0xda, 0xee, 0x72, 0x04, 0xcb, 0x96, 0xe5, 0xdb,
- 0xfd, 0x9b, 0x5d, 0x99, 0x4e, 0x7a, 0x60, 0x23, 0x34, 0xa4,
- 0x8d, 0xd7, 0x6c, 0xe7, 0x5d, 0x93, 0x97, 0xe1, 0xab, 0x36,
- 0x2c, 0x24, 0x16, 0x92, 0x66, 0xf6, 0x6a, 0x14, 0x23, 0x1d,
- 0x18, 0xb9, 0x44, 0x24, 0x61, 0x6b, 0xd3, 0x75, 0x02, 0x03,
- 0x01, 0x00, 0x01, 0xa3, 0x23, 0x30, 0x21, 0x30, 0x0f, 0x06,
- 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30,
- 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d,
- 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02, 0x04,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x94,
- 0x9e, 0xea, 0x17, 0x8d, 0x27, 0xa9, 0x17, 0xe5, 0xa9, 0x19,
- 0xbe, 0x82, 0x36, 0xbd, 0xac, 0x74, 0xf3, 0x6e, 0x75, 0x71,
- 0x30, 0x1c, 0x05, 0x80, 0x6d, 0x1a, 0x69, 0x37, 0x86, 0x9c,
- 0x77, 0x75, 0x29, 0xa1, 0xc6, 0xb7, 0x11, 0x0a, 0x63, 0x27,
- 0xee, 0xb1, 0xc8, 0x94, 0xa9, 0x2e, 0x56, 0x8f, 0xca, 0x9d,
- 0xbe, 0xf4, 0xdb, 0x63, 0x97, 0x68, 0x3b, 0x13, 0xf8, 0x6a,
- 0xa5, 0xd1, 0x3d, 0xed, 0xbb, 0x86, 0x9d, 0x42, 0xfc, 0x15,
- 0x0a, 0x04, 0xf8, 0x3c, 0x0e, 0xc4, 0x86, 0x05, 0x57, 0x56,
- 0x96, 0xf6, 0xc0, 0x18, 0x53, 0xb0, 0xc5, 0xf0, 0xca, 0x72,
- 0x77, 0x77, 0xc9, 0x8e, 0x90, 0xa5, 0x4b, 0xb6, 0x80, 0x4a,
- 0x4c, 0x34, 0x6f, 0xc9, 0xe8, 0x6f, 0xc2, 0x28, 0xdf, 0x93,
- 0xa9, 0xf5, 0x63, 0x18, 0xc0, 0xec, 0x9e, 0xd5, 0x19, 0x36,
- 0xc5, 0x94, 0x10, 0xd4, 0x72, 0xd2, 0xb8, 0x30, 0x82, 0x02,
- 0xb6, 0x30, 0x82, 0x02, 0x1f, 0xa0, 0x03, 0x02, 0x01, 0x02,
- 0x02, 0x01, 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
- 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81,
- 0x90, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
- 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03,
- 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72,
- 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31,
- 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09,
- 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31,
- 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f,
- 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
- 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06,
- 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65,
- 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03,
- 0x55, 0x04, 0x03, 0x0c, 0x1e, 0x69, 0x50, 0x58, 0x45, 0x20,
- 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20,
- 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61,
- 0x74, 0x65, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31,
- 0x32, 0x30, 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33,
- 0x33, 0x5a, 0x17, 0x0d, 0x31, 0x34, 0x31, 0x32, 0x31, 0x37,
- 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a, 0x30, 0x81, 0x88,
- 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13,
- 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55,
- 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69,
- 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12,
- 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43,
- 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18,
- 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46,
- 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73,
- 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03,
- 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e,
- 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73,
- 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6c,
- 0x65, 0x61, 0x66, 0x20, 0x43, 0x41, 0x30, 0x81, 0x9f, 0x30,
- 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
- 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81,
- 0x89, 0x02, 0x81, 0x81, 0x00, 0xc3, 0x55, 0xad, 0xdf, 0x7b,
- 0xd1, 0x48, 0xc3, 0xd3, 0x02, 0x54, 0x6c, 0x92, 0x45, 0x22,
- 0x3d, 0x90, 0xd8, 0xc7, 0x13, 0xcd, 0xc1, 0x59, 0xc6, 0xe0,
- 0xad, 0x0e, 0xe6, 0xdb, 0x3b, 0xe8, 0x63, 0xea, 0x4e, 0xb6,
- 0xea, 0x50, 0xea, 0x6e, 0x33, 0x9d, 0x28, 0x25, 0x42, 0x49,
- 0xd0, 0xf0, 0xed, 0xc5, 0x5b, 0x6b, 0x4a, 0xe7, 0x45, 0xfa,
- 0xd3, 0x3f, 0xae, 0xde, 0x5a, 0x90, 0xab, 0xf1, 0x61, 0x2f,
- 0x40, 0x5e, 0xcf, 0x8b, 0x0b, 0x10, 0x59, 0xa9, 0xd0, 0x1e,
- 0x0f, 0x18, 0x6b, 0x92, 0xd8, 0x9f, 0x58, 0x10, 0x84, 0xb6,
- 0x15, 0xe8, 0x5b, 0xc4, 0xa0, 0x3e, 0x49, 0x8b, 0xea, 0xdd,
- 0xa9, 0x7e, 0x32, 0x26, 0x9a, 0x68, 0x44, 0xf0, 0x30, 0xca,
- 0x2a, 0xd6, 0x19, 0x7a, 0x80, 0xfd, 0xd7, 0xfc, 0xc7, 0x5d,
- 0xe7, 0x61, 0xd2, 0x3f, 0x1f, 0x2c, 0x40, 0x70, 0x7b, 0x34,
- 0xcb, 0x08, 0xa9, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x26,
- 0x30, 0x24, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
- 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02,
- 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01,
- 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02, 0x04, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x40, 0xd2, 0x70,
- 0x02, 0x08, 0x19, 0xa0, 0xb8, 0x8d, 0x9d, 0x3d, 0x62, 0x41,
- 0x90, 0x2a, 0x36, 0x4a, 0x8b, 0x21, 0x42, 0x9a, 0xb4, 0xc5,
- 0xf8, 0x79, 0x17, 0xd7, 0x64, 0x4d, 0xbf, 0x8f, 0x6a, 0x04,
- 0x54, 0x7a, 0x0b, 0xd4, 0xb5, 0x0e, 0xab, 0xf7, 0xb7, 0x06,
- 0x2b, 0xf8, 0xde, 0x87, 0xb2, 0x37, 0x3b, 0x95, 0x01, 0xba,
- 0x9f, 0x8f, 0xec, 0x0a, 0x86, 0xca, 0x51, 0xb6, 0x25, 0x73,
- 0x2f, 0xa1, 0x66, 0xc8, 0x7a, 0x5e, 0x51, 0xbd, 0x49, 0xb5,
- 0x75, 0xda, 0xea, 0xe5, 0xeb, 0x5d, 0xe3, 0xb0, 0xad, 0x49,
- 0x9f, 0x8b, 0xfd, 0x89, 0xb3, 0xb7, 0xb2, 0x4c, 0x7d, 0x8a,
- 0x29, 0xb2, 0xbe, 0x04, 0xef, 0x9c, 0x73, 0x3c, 0xea, 0xa3,
- 0x9f, 0x07, 0x66, 0x5a, 0x2f, 0x38, 0xad, 0x1a, 0xeb, 0xe1,
- 0xb0, 0x62, 0x14, 0x55, 0xdc, 0x8c, 0x83, 0xbb, 0xc7, 0x13,
- 0x04, 0x41, 0x54, 0xf1, 0x45, 0x31, 0x82, 0x01, 0x33, 0x30,
- 0x82, 0x01, 0x2f, 0x02, 0x01, 0x01, 0x30, 0x81, 0x8e, 0x30,
- 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04,
- 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06,
- 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62,
- 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65,
- 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c,
- 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
- 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c,
- 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65,
- 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f,
- 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78,
- 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06,
- 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45,
- 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74,
- 0x20, 0x6c, 0x65, 0x61, 0x66, 0x20, 0x43, 0x41, 0x02, 0x01,
- 0x04, 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x81, 0x80, 0x1f, 0x95,
- 0x53, 0x9c, 0x63, 0xcc, 0x9e, 0xe3, 0x41, 0x30, 0xaf, 0x66,
- 0xac, 0x7c, 0x39, 0x69, 0xa0, 0x02, 0xe3, 0x28, 0xfa, 0xf6,
- 0x71, 0xf4, 0xcf, 0x97, 0x2a, 0xbb, 0xe0, 0x1d, 0x71, 0x73,
- 0x4a, 0xa7, 0xea, 0xb0, 0x72, 0xc3, 0xd2, 0xba, 0x52, 0x42,
- 0x06, 0x88, 0x4a, 0xa6, 0x41, 0x1d, 0x2f, 0x82, 0xb3, 0x7d,
- 0x32, 0x59, 0x34, 0x4e, 0x47, 0x1b, 0xaa, 0x5e, 0x90, 0xe2,
- 0x73, 0x62, 0x2d, 0x6f, 0x6c, 0x47, 0x52, 0x05, 0x90, 0xcb,
- 0xac, 0x30, 0xa8, 0x20, 0x71, 0x14, 0x39, 0x16, 0x85, 0x3d,
- 0x32, 0x2f, 0x9d, 0x31, 0x97, 0xa8, 0x96, 0xb9, 0xf2, 0x2b,
- 0xdc, 0xa6, 0x2f, 0x68, 0xc7, 0xac, 0x46, 0xa2, 0xc7, 0x26,
- 0xd0, 0xde, 0xac, 0x1d, 0x5d, 0x70, 0x65, 0xc6, 0x26, 0xdd,
- 0x30, 0x3f, 0x3a, 0xbd, 0x5e, 0x8f, 0x87, 0x64, 0xab, 0xe7,
- 0xf9, 0x71, 0x64, 0x03, 0x05, 0xbf ) );
-
-/** Signature generated with a non-code-signing certificate */
-SIGNATURE ( genericsigned_sig,
- DATA ( 0x30, 0x82, 0x0c, 0x2f, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x0c, 0x20, 0x30,
- 0x82, 0x0c, 0x1c, 0x02, 0x01, 0x01, 0x31, 0x09, 0x30, 0x07,
- 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x30, 0x0b, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01,
- 0xa0, 0x82, 0x0a, 0xc6, 0x30, 0x82, 0x02, 0x9a, 0x30, 0x82,
- 0x02, 0x03, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x05,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47,
- 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08,
- 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10,
- 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16,
- 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e,
- 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c,
- 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04,
- 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72,
- 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03,
- 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c,
- 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x65, 0x61,
- 0x66, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32,
- 0x30, 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33, 0x35,
- 0x5a, 0x17, 0x0d, 0x31, 0x33, 0x30, 0x33, 0x32, 0x32, 0x30,
- 0x30, 0x30, 0x31, 0x33, 0x35, 0x5a, 0x30, 0x81, 0x8b, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30,
- 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30,
- 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65,
- 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20,
- 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x19, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63,
- 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
- 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x81,
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00,
- 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xc6, 0xfc, 0x96,
- 0x1e, 0x90, 0x32, 0xed, 0xb8, 0x54, 0xb2, 0xc2, 0x39, 0x66,
- 0x19, 0xca, 0xd8, 0x45, 0x21, 0xb7, 0x5a, 0x8d, 0x8d, 0x71,
- 0xef, 0x69, 0x37, 0x40, 0xbb, 0xa4, 0xde, 0x09, 0x1b, 0x17,
- 0x83, 0x3a, 0x7a, 0xf1, 0x7b, 0x02, 0x31, 0x5d, 0x1f, 0x3a,
- 0xe5, 0x29, 0x28, 0x9b, 0x7e, 0x7b, 0x5a, 0xc4, 0x18, 0x3e,
- 0x43, 0xe6, 0xe9, 0x6e, 0xd1, 0x8d, 0x86, 0xcf, 0xb5, 0x9f,
- 0x7f, 0x50, 0x4e, 0x06, 0x13, 0xf7, 0xb2, 0xee, 0xef, 0x0e,
- 0xab, 0x50, 0x44, 0x42, 0xfd, 0x3a, 0xa9, 0x47, 0x83, 0x34,
- 0x17, 0xdf, 0xee, 0x3d, 0x84, 0x1f, 0xed, 0x7e, 0xfa, 0x0f,
- 0xa8, 0xfc, 0x07, 0xf8, 0xd1, 0x49, 0x99, 0x1a, 0xad, 0x39,
- 0x16, 0xb3, 0x71, 0x15, 0x2e, 0x82, 0x20, 0x7a, 0x92, 0xed,
- 0x1e, 0x37, 0xf6, 0x46, 0x5e, 0x7d, 0x9b, 0xa1, 0x53, 0x4d,
- 0x13, 0x91, 0xcd, 0x7a, 0x77, 0x02, 0x03, 0x01, 0x00, 0x01,
- 0xa3, 0x0f, 0x30, 0x0d, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d,
- 0x0f, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x0d, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05,
- 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0xb2, 0x39, 0x0b, 0x02,
- 0x33, 0xca, 0x48, 0x96, 0x13, 0x53, 0xe9, 0x1b, 0x28, 0xd6,
- 0x35, 0x4e, 0x0c, 0x9d, 0xd0, 0xe3, 0x79, 0x65, 0x0a, 0xe7,
- 0xa6, 0x22, 0x61, 0x26, 0xbe, 0xb4, 0x05, 0xec, 0x5f, 0x83,
- 0xb7, 0x0e, 0xa4, 0xae, 0x50, 0xb1, 0xa9, 0x45, 0x25, 0xf2,
- 0x52, 0x1a, 0x63, 0x05, 0x50, 0x75, 0x33, 0xca, 0x8a, 0xb1,
- 0xf2, 0x19, 0xd3, 0x93, 0x84, 0x67, 0x42, 0xe3, 0xb7, 0xa6,
- 0xf9, 0x4d, 0x90, 0x7e, 0x13, 0x40, 0xd3, 0x22, 0x9f, 0x83,
- 0xaf, 0x70, 0xb2, 0x7d, 0x4d, 0xcc, 0xae, 0x18, 0x9e, 0xca,
- 0xc8, 0xcb, 0x82, 0x93, 0xcb, 0xce, 0xc6, 0x32, 0xcf, 0x4e,
- 0x04, 0x64, 0x18, 0x5b, 0xc2, 0x1a, 0xb6, 0xd1, 0x8a, 0xc4,
- 0x99, 0xce, 0xdd, 0xd7, 0x7e, 0xec, 0xf5, 0xa9, 0xa7, 0x00,
- 0xc2, 0xd3, 0x6a, 0xb9, 0xcd, 0x25, 0x88, 0x08, 0x71, 0xf5,
- 0x6d, 0x44, 0xe7, 0x93, 0x30, 0x82, 0x02, 0xb3, 0x30, 0x82,
- 0x02, 0x1c, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47,
- 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08,
- 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10,
- 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16,
- 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e,
- 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c,
- 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04,
- 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72,
- 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03,
- 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c,
- 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x72, 0x6f, 0x6f,
- 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32,
- 0x30, 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33, 0x33,
- 0x5a, 0x17, 0x0d, 0x31, 0x34, 0x31, 0x32, 0x31, 0x37, 0x30,
- 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a, 0x30, 0x81, 0x90, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30,
- 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30,
- 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65,
- 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20,
- 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x1e, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65,
- 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e,
- 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
- 0x20, 0x43, 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,
- 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81,
- 0x81, 0x00, 0xc9, 0x3a, 0xee, 0xc6, 0x3c, 0xac, 0x4d, 0x81,
- 0xc6, 0x98, 0x5e, 0xe1, 0x48, 0x66, 0x1a, 0x1e, 0x60, 0x19,
- 0x41, 0xae, 0xca, 0x14, 0x97, 0xc8, 0x3a, 0x50, 0xb6, 0x48,
- 0xf5, 0x42, 0xac, 0x0f, 0xe1, 0xe3, 0x47, 0xf0, 0xbf, 0x7c,
- 0xd0, 0xee, 0x8f, 0xb7, 0xa6, 0x19, 0xad, 0xbb, 0xc5, 0x1b,
- 0x34, 0x38, 0xc8, 0xbd, 0x55, 0x84, 0x93, 0x72, 0xaf, 0x84,
- 0xfc, 0x9b, 0x97, 0x1d, 0xb5, 0x54, 0x24, 0xd6, 0x5d, 0xb7,
- 0x31, 0xf4, 0xbd, 0x3b, 0x40, 0x97, 0xc0, 0xa9, 0x5a, 0x2a,
- 0xcb, 0x6b, 0x98, 0x07, 0xdb, 0xb5, 0x9f, 0xe8, 0x31, 0x3f,
- 0x01, 0x46, 0x46, 0x70, 0x05, 0xa2, 0x0f, 0x8c, 0x7a, 0x61,
- 0xf3, 0xdf, 0xdb, 0xa1, 0x37, 0x2c, 0x88, 0x6a, 0x81, 0x21,
- 0x12, 0x4c, 0xf5, 0xcd, 0xaf, 0xc9, 0xd2, 0x36, 0x3d, 0x82,
- 0xd1, 0xca, 0x19, 0xaf, 0x4e, 0xae, 0x50, 0x71, 0x44, 0xbf,
- 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x23, 0x30, 0x21, 0x30,
- 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04,
- 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03,
- 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02,
- 0x02, 0x04, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81,
- 0x00, 0x5d, 0x3c, 0xb3, 0x52, 0x19, 0xa6, 0x9e, 0x4a, 0x44,
- 0x98, 0xbf, 0x51, 0x20, 0x47, 0x0a, 0xf3, 0x26, 0x1a, 0xcc,
- 0x35, 0x2f, 0xc9, 0xed, 0xe0, 0x9d, 0x46, 0xeb, 0xbc, 0x7e,
- 0xc9, 0xb9, 0x1d, 0x76, 0xa4, 0x1d, 0xc2, 0xd9, 0x16, 0x29,
- 0x77, 0x01, 0x40, 0xdd, 0xe5, 0xcb, 0x28, 0x91, 0x3a, 0x0c,
- 0x13, 0x01, 0x1b, 0x72, 0x62, 0x45, 0x27, 0xfd, 0xd7, 0x00,
- 0x47, 0x36, 0x09, 0x1e, 0x7b, 0xd2, 0xcb, 0x95, 0x3d, 0x28,
- 0x82, 0xce, 0x83, 0x59, 0x32, 0xf9, 0xe6, 0xec, 0x89, 0xac,
- 0x88, 0x45, 0x22, 0x88, 0x6f, 0x5e, 0xa2, 0x79, 0x95, 0xba,
- 0xb9, 0xc9, 0xb6, 0x4c, 0x7c, 0xb4, 0x29, 0xa1, 0x02, 0xf5,
- 0xac, 0x5d, 0x8e, 0x52, 0xeb, 0xe8, 0xb1, 0x56, 0x49, 0xb3,
- 0x77, 0x62, 0x7d, 0x87, 0x4d, 0x17, 0xf2, 0x62, 0x83, 0x08,
- 0x59, 0x21, 0x60, 0x0d, 0x84, 0x8e, 0x5a, 0x84, 0xf6, 0x30,
- 0x82, 0x02, 0xb3, 0x30, 0x82, 0x02, 0x1c, 0xa0, 0x03, 0x02,
- 0x01, 0x02, 0x02, 0x09, 0x00, 0xc6, 0xb8, 0x9c, 0x58, 0xd2,
- 0xdc, 0xc9, 0x5d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
- 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81,
- 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
- 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03,
- 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72,
- 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31,
- 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09,
- 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31,
- 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f,
- 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
- 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06,
- 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65,
- 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03,
- 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20,
- 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20,
- 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17,
- 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32, 0x32, 0x30, 0x30, 0x30,
- 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 0x33, 0x39, 0x30, 0x38,
- 0x30, 0x38, 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a, 0x30,
- 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04,
- 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06,
- 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62,
- 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65,
- 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c,
- 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
- 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c,
- 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65,
- 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f,
- 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78,
- 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06,
- 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45,
- 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74,
- 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x81,
- 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00,
- 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xaa, 0x72, 0xb5,
- 0xc1, 0x73, 0xf4, 0x95, 0x76, 0xa4, 0x27, 0xab, 0x5e, 0xeb,
- 0x1d, 0x9d, 0xd0, 0x04, 0xb2, 0x93, 0x05, 0xc7, 0xfa, 0x75,
- 0x84, 0x66, 0xe6, 0x3a, 0x26, 0x1f, 0xbc, 0x2d, 0xfd, 0x8f,
- 0x59, 0x64, 0xac, 0xcf, 0x65, 0x9d, 0x82, 0x23, 0xc3, 0x72,
- 0x93, 0xf2, 0x40, 0x68, 0x32, 0xd1, 0xb8, 0xf1, 0x47, 0x61,
- 0x50, 0xea, 0xbc, 0xcc, 0x3c, 0x6b, 0x74, 0x7a, 0xec, 0x2b,
- 0x75, 0xa6, 0xc2, 0xa2, 0xb8, 0xbf, 0x23, 0x48, 0x97, 0xd5,
- 0xaf, 0x77, 0xc1, 0x92, 0x88, 0xd7, 0x38, 0xb7, 0x9e, 0xda,
- 0xee, 0x72, 0x04, 0xcb, 0x96, 0xe5, 0xdb, 0xfd, 0x9b, 0x5d,
- 0x99, 0x4e, 0x7a, 0x60, 0x23, 0x34, 0xa4, 0x8d, 0xd7, 0x6c,
- 0xe7, 0x5d, 0x93, 0x97, 0xe1, 0xab, 0x36, 0x2c, 0x24, 0x16,
- 0x92, 0x66, 0xf6, 0x6a, 0x14, 0x23, 0x1d, 0x18, 0xb9, 0x44,
- 0x24, 0x61, 0x6b, 0xd3, 0x75, 0x02, 0x03, 0x01, 0x00, 0x01,
- 0xa3, 0x23, 0x30, 0x21, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
- 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01,
- 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01,
- 0xff, 0x04, 0x04, 0x03, 0x02, 0x02, 0x04, 0x30, 0x0d, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05,
- 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x94, 0x9e, 0xea, 0x17,
- 0x8d, 0x27, 0xa9, 0x17, 0xe5, 0xa9, 0x19, 0xbe, 0x82, 0x36,
- 0xbd, 0xac, 0x74, 0xf3, 0x6e, 0x75, 0x71, 0x30, 0x1c, 0x05,
- 0x80, 0x6d, 0x1a, 0x69, 0x37, 0x86, 0x9c, 0x77, 0x75, 0x29,
- 0xa1, 0xc6, 0xb7, 0x11, 0x0a, 0x63, 0x27, 0xee, 0xb1, 0xc8,
- 0x94, 0xa9, 0x2e, 0x56, 0x8f, 0xca, 0x9d, 0xbe, 0xf4, 0xdb,
- 0x63, 0x97, 0x68, 0x3b, 0x13, 0xf8, 0x6a, 0xa5, 0xd1, 0x3d,
- 0xed, 0xbb, 0x86, 0x9d, 0x42, 0xfc, 0x15, 0x0a, 0x04, 0xf8,
- 0x3c, 0x0e, 0xc4, 0x86, 0x05, 0x57, 0x56, 0x96, 0xf6, 0xc0,
- 0x18, 0x53, 0xb0, 0xc5, 0xf0, 0xca, 0x72, 0x77, 0x77, 0xc9,
- 0x8e, 0x90, 0xa5, 0x4b, 0xb6, 0x80, 0x4a, 0x4c, 0x34, 0x6f,
- 0xc9, 0xe8, 0x6f, 0xc2, 0x28, 0xdf, 0x93, 0xa9, 0xf5, 0x63,
- 0x18, 0xc0, 0xec, 0x9e, 0xd5, 0x19, 0x36, 0xc5, 0x94, 0x10,
- 0xd4, 0x72, 0xd2, 0xb8, 0x30, 0x82, 0x02, 0xb6, 0x30, 0x82,
- 0x02, 0x1f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x90, 0x31, 0x0b,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47,
- 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08,
- 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10,
- 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16,
- 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e,
- 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c,
- 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04,
- 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72,
- 0x67, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x03,
- 0x0c, 0x1e, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c,
- 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74,
- 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x20,
- 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33,
- 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a, 0x17,
- 0x0d, 0x31, 0x34, 0x31, 0x32, 0x31, 0x37, 0x30, 0x30, 0x30,
- 0x31, 0x33, 0x33, 0x5a, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30,
- 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42,
- 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c,
- 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
- 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06,
- 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62,
- 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06,
- 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20,
- 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74,
- 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b,
- 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67,
- 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
- 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66,
- 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x66,
- 0x20, 0x43, 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,
- 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81,
- 0x81, 0x00, 0xc3, 0x55, 0xad, 0xdf, 0x7b, 0xd1, 0x48, 0xc3,
- 0xd3, 0x02, 0x54, 0x6c, 0x92, 0x45, 0x22, 0x3d, 0x90, 0xd8,
- 0xc7, 0x13, 0xcd, 0xc1, 0x59, 0xc6, 0xe0, 0xad, 0x0e, 0xe6,
- 0xdb, 0x3b, 0xe8, 0x63, 0xea, 0x4e, 0xb6, 0xea, 0x50, 0xea,
- 0x6e, 0x33, 0x9d, 0x28, 0x25, 0x42, 0x49, 0xd0, 0xf0, 0xed,
- 0xc5, 0x5b, 0x6b, 0x4a, 0xe7, 0x45, 0xfa, 0xd3, 0x3f, 0xae,
- 0xde, 0x5a, 0x90, 0xab, 0xf1, 0x61, 0x2f, 0x40, 0x5e, 0xcf,
- 0x8b, 0x0b, 0x10, 0x59, 0xa9, 0xd0, 0x1e, 0x0f, 0x18, 0x6b,
- 0x92, 0xd8, 0x9f, 0x58, 0x10, 0x84, 0xb6, 0x15, 0xe8, 0x5b,
- 0xc4, 0xa0, 0x3e, 0x49, 0x8b, 0xea, 0xdd, 0xa9, 0x7e, 0x32,
- 0x26, 0x9a, 0x68, 0x44, 0xf0, 0x30, 0xca, 0x2a, 0xd6, 0x19,
- 0x7a, 0x80, 0xfd, 0xd7, 0xfc, 0xc7, 0x5d, 0xe7, 0x61, 0xd2,
- 0x3f, 0x1f, 0x2c, 0x40, 0x70, 0x7b, 0x34, 0xcb, 0x08, 0xa9,
- 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x26, 0x30, 0x24, 0x30,
- 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04,
- 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30,
- 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04,
- 0x04, 0x03, 0x02, 0x02, 0x04, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
- 0x03, 0x81, 0x81, 0x00, 0x40, 0xd2, 0x70, 0x02, 0x08, 0x19,
- 0xa0, 0xb8, 0x8d, 0x9d, 0x3d, 0x62, 0x41, 0x90, 0x2a, 0x36,
- 0x4a, 0x8b, 0x21, 0x42, 0x9a, 0xb4, 0xc5, 0xf8, 0x79, 0x17,
- 0xd7, 0x64, 0x4d, 0xbf, 0x8f, 0x6a, 0x04, 0x54, 0x7a, 0x0b,
- 0xd4, 0xb5, 0x0e, 0xab, 0xf7, 0xb7, 0x06, 0x2b, 0xf8, 0xde,
- 0x87, 0xb2, 0x37, 0x3b, 0x95, 0x01, 0xba, 0x9f, 0x8f, 0xec,
- 0x0a, 0x86, 0xca, 0x51, 0xb6, 0x25, 0x73, 0x2f, 0xa1, 0x66,
- 0xc8, 0x7a, 0x5e, 0x51, 0xbd, 0x49, 0xb5, 0x75, 0xda, 0xea,
- 0xe5, 0xeb, 0x5d, 0xe3, 0xb0, 0xad, 0x49, 0x9f, 0x8b, 0xfd,
- 0x89, 0xb3, 0xb7, 0xb2, 0x4c, 0x7d, 0x8a, 0x29, 0xb2, 0xbe,
- 0x04, 0xef, 0x9c, 0x73, 0x3c, 0xea, 0xa3, 0x9f, 0x07, 0x66,
- 0x5a, 0x2f, 0x38, 0xad, 0x1a, 0xeb, 0xe1, 0xb0, 0x62, 0x14,
- 0x55, 0xdc, 0x8c, 0x83, 0xbb, 0xc7, 0x13, 0x04, 0x41, 0x54,
- 0xf1, 0x45, 0x31, 0x82, 0x01, 0x33, 0x30, 0x82, 0x01, 0x2f,
- 0x02, 0x01, 0x01, 0x30, 0x81, 0x8e, 0x30, 0x81, 0x88, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30,
- 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30,
- 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65,
- 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20,
- 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65,
- 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x65,
- 0x61, 0x66, 0x20, 0x43, 0x41, 0x02, 0x01, 0x05, 0x30, 0x07,
- 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x30, 0x0d, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
- 0x05, 0x00, 0x04, 0x81, 0x80, 0xc5, 0x08, 0x17, 0x23, 0xb9,
- 0x8d, 0x45, 0x0b, 0x1a, 0x9a, 0x10, 0xa7, 0x16, 0x57, 0x05,
- 0x86, 0x0c, 0x9a, 0xfd, 0x2d, 0x9c, 0x87, 0x15, 0xb3, 0x0f,
- 0xd5, 0x3b, 0x7b, 0xa8, 0xce, 0xa2, 0xcc, 0x2a, 0x2a, 0x6a,
- 0xa0, 0xab, 0x2f, 0x57, 0x8c, 0xb7, 0xc7, 0x4e, 0x2a, 0xbd,
- 0x72, 0xc5, 0xef, 0x2a, 0xd8, 0xb8, 0xf2, 0x9d, 0xbe, 0xd4,
- 0xa7, 0x55, 0x3e, 0x06, 0x3b, 0x3f, 0xfa, 0x92, 0x4f, 0x1f,
- 0x84, 0x84, 0x16, 0xcf, 0x9b, 0x26, 0x71, 0xf7, 0x57, 0x6a,
- 0x6d, 0xdd, 0x34, 0x6b, 0x12, 0xc4, 0x70, 0x78, 0x59, 0x9b,
- 0xf7, 0x45, 0xf4, 0xae, 0x30, 0xb0, 0x8c, 0x21, 0xb7, 0xb1,
- 0x96, 0xda, 0x91, 0x0e, 0x57, 0x7e, 0x1b, 0xe2, 0xef, 0x82,
- 0xd5, 0xa3, 0xd1, 0xeb, 0x47, 0x5c, 0x33, 0x91, 0xf8, 0x90,
- 0xf9, 0x99, 0x0c, 0x69, 0x05, 0xee, 0xa1, 0x1a, 0x2d, 0x44,
- 0x7e, 0x7c, 0x99 ) );
-
-/** Signature generated with a non-signing certificate */
-SIGNATURE ( nonsigned_sig,
- DATA ( 0x30, 0x82, 0x0c, 0x12, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x0c, 0x03, 0x30,
- 0x82, 0x0b, 0xff, 0x02, 0x01, 0x01, 0x31, 0x09, 0x30, 0x07,
- 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x30, 0x0b, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01,
- 0xa0, 0x82, 0x0a, 0xa9, 0x30, 0x82, 0x02, 0x7d, 0x30, 0x82,
- 0x01, 0xe6, 0x02, 0x01, 0x03, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
- 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
- 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15,
- 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72,
- 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07,
- 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a,
- 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74,
- 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30,
- 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70,
- 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d,
- 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58,
- 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73,
- 0x74, 0x20, 0x6c, 0x65, 0x61, 0x66, 0x20, 0x43, 0x41, 0x30,
- 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32, 0x32, 0x30,
- 0x30, 0x30, 0x31, 0x33, 0x34, 0x5a, 0x17, 0x0d, 0x31, 0x33,
- 0x30, 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33, 0x34,
- 0x5a, 0x30, 0x81, 0x84, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,
- 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30,
- 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69,
- 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04,
- 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73,
- 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11,
- 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69,
- 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1b, 0x30,
- 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x12, 0x62, 0x6f,
- 0x6f, 0x74, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x69, 0x70,
- 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x81, 0x9f, 0x30,
- 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
- 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81,
- 0x89, 0x02, 0x81, 0x81, 0x00, 0xbd, 0x43, 0x97, 0x45, 0xa2,
- 0xe0, 0x1d, 0x38, 0x41, 0xb0, 0xd9, 0x91, 0xf9, 0x77, 0xa9,
- 0xcb, 0x9c, 0x9c, 0x93, 0xfe, 0x5a, 0xee, 0xbc, 0xd9, 0x0f,
- 0x39, 0xf6, 0x42, 0xe4, 0x55, 0x21, 0xbb, 0x11, 0xfd, 0xfd,
- 0xba, 0x25, 0x58, 0xc8, 0xc6, 0xa5, 0x3b, 0x6f, 0x80, 0xba,
- 0x5b, 0xbc, 0x89, 0xca, 0x7a, 0xdf, 0x6e, 0xb9, 0x81, 0xb6,
- 0x25, 0x67, 0x0a, 0x38, 0x10, 0xf8, 0x26, 0x43, 0x0c, 0x51,
- 0x02, 0x14, 0xd6, 0xf2, 0x9d, 0x7c, 0xf5, 0x25, 0x1c, 0x78,
- 0x4d, 0x47, 0xaf, 0x87, 0x2e, 0x38, 0x49, 0x87, 0xb5, 0x8a,
- 0xf3, 0xb5, 0xd4, 0x15, 0x69, 0x2a, 0x52, 0xc9, 0x46, 0x97,
- 0x34, 0x8e, 0x50, 0x4b, 0xc4, 0xf2, 0xfb, 0x39, 0xfd, 0x16,
- 0x68, 0xdb, 0xa8, 0x17, 0xe2, 0x71, 0x4b, 0xe0, 0xdf, 0x3d,
- 0xfc, 0xc3, 0x9b, 0x9d, 0x22, 0xc9, 0xd3, 0xf6, 0x02, 0xa6,
- 0x60, 0xef, 0xf7, 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x7d, 0xff, 0x73,
- 0xf3, 0x68, 0xe3, 0x75, 0xf1, 0xcf, 0xac, 0x2e, 0x23, 0x73,
- 0xea, 0xd1, 0x26, 0x33, 0xbf, 0xf9, 0x56, 0xdf, 0xbf, 0x98,
- 0x20, 0x84, 0x08, 0x78, 0x6b, 0xe6, 0x71, 0x7e, 0x22, 0x68,
- 0x4d, 0x6c, 0xbb, 0xd5, 0xcc, 0xb4, 0x28, 0x33, 0x5e, 0xbe,
- 0x4d, 0x10, 0x16, 0x9f, 0x65, 0x3b, 0x68, 0x90, 0xa7, 0xf7,
- 0x9d, 0x57, 0x71, 0x45, 0x39, 0x86, 0x4c, 0xc0, 0x97, 0x34,
- 0x03, 0x9c, 0x2b, 0x25, 0x05, 0xb1, 0x5c, 0x0c, 0x4e, 0xf2,
- 0x14, 0xbf, 0xcf, 0xf0, 0x9a, 0x2d, 0xcf, 0x02, 0x47, 0x60,
- 0xd2, 0xe9, 0xed, 0xbf, 0x71, 0x5d, 0x07, 0x09, 0x01, 0x87,
- 0xeb, 0xf7, 0xa8, 0x26, 0x86, 0x24, 0x59, 0xf0, 0x31, 0x3b,
- 0x42, 0xd1, 0xf1, 0xfd, 0x7c, 0x49, 0x5f, 0x1a, 0xf0, 0x41,
- 0x67, 0xf0, 0x16, 0x3a, 0xfd, 0xb6, 0xb5, 0xf6, 0x2e, 0x0c,
- 0x18, 0x1f, 0x09, 0x8e, 0x4d, 0x30, 0x82, 0x02, 0xb3, 0x30,
- 0x82, 0x02, 0x1c, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01,
- 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x88, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30,
- 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30,
- 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65,
- 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20,
- 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65,
- 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x72, 0x6f,
- 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31,
- 0x32, 0x30, 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33,
- 0x33, 0x5a, 0x17, 0x0d, 0x31, 0x34, 0x31, 0x32, 0x31, 0x37,
- 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a, 0x30, 0x81, 0x90,
- 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13,
- 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55,
- 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69,
- 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12,
- 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43,
- 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18,
- 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46,
- 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73,
- 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03,
- 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e,
- 0x6f, 0x72, 0x67, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x0c, 0x1e, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73,
- 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x69,
- 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74,
- 0x65, 0x20, 0x43, 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02,
- 0x81, 0x81, 0x00, 0xc9, 0x3a, 0xee, 0xc6, 0x3c, 0xac, 0x4d,
- 0x81, 0xc6, 0x98, 0x5e, 0xe1, 0x48, 0x66, 0x1a, 0x1e, 0x60,
- 0x19, 0x41, 0xae, 0xca, 0x14, 0x97, 0xc8, 0x3a, 0x50, 0xb6,
- 0x48, 0xf5, 0x42, 0xac, 0x0f, 0xe1, 0xe3, 0x47, 0xf0, 0xbf,
- 0x7c, 0xd0, 0xee, 0x8f, 0xb7, 0xa6, 0x19, 0xad, 0xbb, 0xc5,
- 0x1b, 0x34, 0x38, 0xc8, 0xbd, 0x55, 0x84, 0x93, 0x72, 0xaf,
- 0x84, 0xfc, 0x9b, 0x97, 0x1d, 0xb5, 0x54, 0x24, 0xd6, 0x5d,
- 0xb7, 0x31, 0xf4, 0xbd, 0x3b, 0x40, 0x97, 0xc0, 0xa9, 0x5a,
- 0x2a, 0xcb, 0x6b, 0x98, 0x07, 0xdb, 0xb5, 0x9f, 0xe8, 0x31,
- 0x3f, 0x01, 0x46, 0x46, 0x70, 0x05, 0xa2, 0x0f, 0x8c, 0x7a,
- 0x61, 0xf3, 0xdf, 0xdb, 0xa1, 0x37, 0x2c, 0x88, 0x6a, 0x81,
- 0x21, 0x12, 0x4c, 0xf5, 0xcd, 0xaf, 0xc9, 0xd2, 0x36, 0x3d,
- 0x82, 0xd1, 0xca, 0x19, 0xaf, 0x4e, 0xae, 0x50, 0x71, 0x44,
- 0xbf, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x23, 0x30, 0x21,
- 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff,
- 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06,
- 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03,
- 0x02, 0x02, 0x04, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
- 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81,
- 0x81, 0x00, 0x5d, 0x3c, 0xb3, 0x52, 0x19, 0xa6, 0x9e, 0x4a,
- 0x44, 0x98, 0xbf, 0x51, 0x20, 0x47, 0x0a, 0xf3, 0x26, 0x1a,
- 0xcc, 0x35, 0x2f, 0xc9, 0xed, 0xe0, 0x9d, 0x46, 0xeb, 0xbc,
- 0x7e, 0xc9, 0xb9, 0x1d, 0x76, 0xa4, 0x1d, 0xc2, 0xd9, 0x16,
- 0x29, 0x77, 0x01, 0x40, 0xdd, 0xe5, 0xcb, 0x28, 0x91, 0x3a,
- 0x0c, 0x13, 0x01, 0x1b, 0x72, 0x62, 0x45, 0x27, 0xfd, 0xd7,
- 0x00, 0x47, 0x36, 0x09, 0x1e, 0x7b, 0xd2, 0xcb, 0x95, 0x3d,
- 0x28, 0x82, 0xce, 0x83, 0x59, 0x32, 0xf9, 0xe6, 0xec, 0x89,
- 0xac, 0x88, 0x45, 0x22, 0x88, 0x6f, 0x5e, 0xa2, 0x79, 0x95,
- 0xba, 0xb9, 0xc9, 0xb6, 0x4c, 0x7c, 0xb4, 0x29, 0xa1, 0x02,
- 0xf5, 0xac, 0x5d, 0x8e, 0x52, 0xeb, 0xe8, 0xb1, 0x56, 0x49,
- 0xb3, 0x77, 0x62, 0x7d, 0x87, 0x4d, 0x17, 0xf2, 0x62, 0x83,
- 0x08, 0x59, 0x21, 0x60, 0x0d, 0x84, 0x8e, 0x5a, 0x84, 0xf6,
- 0x30, 0x82, 0x02, 0xb3, 0x30, 0x82, 0x02, 0x1c, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0xc6, 0xb8, 0x9c, 0x58,
- 0xd2, 0xdc, 0xc9, 0x5d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
- 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
- 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04,
- 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06,
- 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62,
- 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65,
- 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c,
- 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
- 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c,
- 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65,
- 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f,
- 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78,
- 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06,
- 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45,
- 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74,
- 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e,
- 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32, 0x32, 0x30, 0x30,
- 0x30, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 0x33, 0x39, 0x30,
- 0x38, 0x30, 0x38, 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a,
- 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
- 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15,
- 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72,
- 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07,
- 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a,
- 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74,
- 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30,
- 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70,
- 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d,
- 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58,
- 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73,
- 0x74, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30,
- 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d,
- 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xaa, 0x72,
- 0xb5, 0xc1, 0x73, 0xf4, 0x95, 0x76, 0xa4, 0x27, 0xab, 0x5e,
- 0xeb, 0x1d, 0x9d, 0xd0, 0x04, 0xb2, 0x93, 0x05, 0xc7, 0xfa,
- 0x75, 0x84, 0x66, 0xe6, 0x3a, 0x26, 0x1f, 0xbc, 0x2d, 0xfd,
- 0x8f, 0x59, 0x64, 0xac, 0xcf, 0x65, 0x9d, 0x82, 0x23, 0xc3,
- 0x72, 0x93, 0xf2, 0x40, 0x68, 0x32, 0xd1, 0xb8, 0xf1, 0x47,
- 0x61, 0x50, 0xea, 0xbc, 0xcc, 0x3c, 0x6b, 0x74, 0x7a, 0xec,
- 0x2b, 0x75, 0xa6, 0xc2, 0xa2, 0xb8, 0xbf, 0x23, 0x48, 0x97,
- 0xd5, 0xaf, 0x77, 0xc1, 0x92, 0x88, 0xd7, 0x38, 0xb7, 0x9e,
- 0xda, 0xee, 0x72, 0x04, 0xcb, 0x96, 0xe5, 0xdb, 0xfd, 0x9b,
- 0x5d, 0x99, 0x4e, 0x7a, 0x60, 0x23, 0x34, 0xa4, 0x8d, 0xd7,
- 0x6c, 0xe7, 0x5d, 0x93, 0x97, 0xe1, 0xab, 0x36, 0x2c, 0x24,
- 0x16, 0x92, 0x66, 0xf6, 0x6a, 0x14, 0x23, 0x1d, 0x18, 0xb9,
- 0x44, 0x24, 0x61, 0x6b, 0xd3, 0x75, 0x02, 0x03, 0x01, 0x00,
- 0x01, 0xa3, 0x23, 0x30, 0x21, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01,
- 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01,
- 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02, 0x04, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x94, 0x9e, 0xea,
- 0x17, 0x8d, 0x27, 0xa9, 0x17, 0xe5, 0xa9, 0x19, 0xbe, 0x82,
- 0x36, 0xbd, 0xac, 0x74, 0xf3, 0x6e, 0x75, 0x71, 0x30, 0x1c,
- 0x05, 0x80, 0x6d, 0x1a, 0x69, 0x37, 0x86, 0x9c, 0x77, 0x75,
- 0x29, 0xa1, 0xc6, 0xb7, 0x11, 0x0a, 0x63, 0x27, 0xee, 0xb1,
- 0xc8, 0x94, 0xa9, 0x2e, 0x56, 0x8f, 0xca, 0x9d, 0xbe, 0xf4,
- 0xdb, 0x63, 0x97, 0x68, 0x3b, 0x13, 0xf8, 0x6a, 0xa5, 0xd1,
- 0x3d, 0xed, 0xbb, 0x86, 0x9d, 0x42, 0xfc, 0x15, 0x0a, 0x04,
- 0xf8, 0x3c, 0x0e, 0xc4, 0x86, 0x05, 0x57, 0x56, 0x96, 0xf6,
- 0xc0, 0x18, 0x53, 0xb0, 0xc5, 0xf0, 0xca, 0x72, 0x77, 0x77,
- 0xc9, 0x8e, 0x90, 0xa5, 0x4b, 0xb6, 0x80, 0x4a, 0x4c, 0x34,
- 0x6f, 0xc9, 0xe8, 0x6f, 0xc2, 0x28, 0xdf, 0x93, 0xa9, 0xf5,
- 0x63, 0x18, 0xc0, 0xec, 0x9e, 0xd5, 0x19, 0x36, 0xc5, 0x94,
- 0x10, 0xd4, 0x72, 0xd2, 0xb8, 0x30, 0x82, 0x02, 0xb6, 0x30,
- 0x82, 0x02, 0x1f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01,
- 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x90, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30,
- 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30,
- 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65,
- 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20,
- 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x31, 0x27, 0x30, 0x25, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x1e, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65,
- 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e,
- 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
- 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30,
- 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a,
- 0x17, 0x0d, 0x31, 0x34, 0x31, 0x32, 0x31, 0x37, 0x30, 0x30,
- 0x30, 0x31, 0x33, 0x33, 0x5a, 0x30, 0x81, 0x88, 0x31, 0x0b,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47,
- 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08,
- 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10,
- 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16,
- 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e,
- 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c,
- 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04,
- 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72,
- 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03,
- 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c,
- 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6c, 0x65, 0x61,
- 0x66, 0x20, 0x43, 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02,
- 0x81, 0x81, 0x00, 0xc3, 0x55, 0xad, 0xdf, 0x7b, 0xd1, 0x48,
- 0xc3, 0xd3, 0x02, 0x54, 0x6c, 0x92, 0x45, 0x22, 0x3d, 0x90,
- 0xd8, 0xc7, 0x13, 0xcd, 0xc1, 0x59, 0xc6, 0xe0, 0xad, 0x0e,
- 0xe6, 0xdb, 0x3b, 0xe8, 0x63, 0xea, 0x4e, 0xb6, 0xea, 0x50,
- 0xea, 0x6e, 0x33, 0x9d, 0x28, 0x25, 0x42, 0x49, 0xd0, 0xf0,
- 0xed, 0xc5, 0x5b, 0x6b, 0x4a, 0xe7, 0x45, 0xfa, 0xd3, 0x3f,
- 0xae, 0xde, 0x5a, 0x90, 0xab, 0xf1, 0x61, 0x2f, 0x40, 0x5e,
- 0xcf, 0x8b, 0x0b, 0x10, 0x59, 0xa9, 0xd0, 0x1e, 0x0f, 0x18,
- 0x6b, 0x92, 0xd8, 0x9f, 0x58, 0x10, 0x84, 0xb6, 0x15, 0xe8,
- 0x5b, 0xc4, 0xa0, 0x3e, 0x49, 0x8b, 0xea, 0xdd, 0xa9, 0x7e,
- 0x32, 0x26, 0x9a, 0x68, 0x44, 0xf0, 0x30, 0xca, 0x2a, 0xd6,
- 0x19, 0x7a, 0x80, 0xfd, 0xd7, 0xfc, 0xc7, 0x5d, 0xe7, 0x61,
- 0xd2, 0x3f, 0x1f, 0x2c, 0x40, 0x70, 0x7b, 0x34, 0xcb, 0x08,
- 0xa9, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x26, 0x30, 0x24,
- 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff,
- 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00,
- 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff,
- 0x04, 0x04, 0x03, 0x02, 0x02, 0x04, 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
- 0x00, 0x03, 0x81, 0x81, 0x00, 0x40, 0xd2, 0x70, 0x02, 0x08,
- 0x19, 0xa0, 0xb8, 0x8d, 0x9d, 0x3d, 0x62, 0x41, 0x90, 0x2a,
- 0x36, 0x4a, 0x8b, 0x21, 0x42, 0x9a, 0xb4, 0xc5, 0xf8, 0x79,
- 0x17, 0xd7, 0x64, 0x4d, 0xbf, 0x8f, 0x6a, 0x04, 0x54, 0x7a,
- 0x0b, 0xd4, 0xb5, 0x0e, 0xab, 0xf7, 0xb7, 0x06, 0x2b, 0xf8,
- 0xde, 0x87, 0xb2, 0x37, 0x3b, 0x95, 0x01, 0xba, 0x9f, 0x8f,
- 0xec, 0x0a, 0x86, 0xca, 0x51, 0xb6, 0x25, 0x73, 0x2f, 0xa1,
- 0x66, 0xc8, 0x7a, 0x5e, 0x51, 0xbd, 0x49, 0xb5, 0x75, 0xda,
- 0xea, 0xe5, 0xeb, 0x5d, 0xe3, 0xb0, 0xad, 0x49, 0x9f, 0x8b,
- 0xfd, 0x89, 0xb3, 0xb7, 0xb2, 0x4c, 0x7d, 0x8a, 0x29, 0xb2,
- 0xbe, 0x04, 0xef, 0x9c, 0x73, 0x3c, 0xea, 0xa3, 0x9f, 0x07,
- 0x66, 0x5a, 0x2f, 0x38, 0xad, 0x1a, 0xeb, 0xe1, 0xb0, 0x62,
- 0x14, 0x55, 0xdc, 0x8c, 0x83, 0xbb, 0xc7, 0x13, 0x04, 0x41,
- 0x54, 0xf1, 0x45, 0x31, 0x82, 0x01, 0x33, 0x30, 0x82, 0x01,
- 0x2f, 0x02, 0x01, 0x01, 0x30, 0x81, 0x8e, 0x30, 0x81, 0x88,
- 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13,
- 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55,
- 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69,
- 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12,
- 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43,
- 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18,
- 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46,
- 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73,
- 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03,
- 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e,
- 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73,
- 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x6c,
- 0x65, 0x61, 0x66, 0x20, 0x43, 0x41, 0x02, 0x01, 0x03, 0x30,
- 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x01, 0x05, 0x00, 0x04, 0x81, 0x80, 0x33, 0x5c, 0xf8, 0xb4,
- 0xa5, 0x70, 0xb9, 0x0f, 0x05, 0x50, 0x72, 0xdb, 0xa3, 0xba,
- 0x8e, 0x0d, 0x6d, 0x8a, 0x2a, 0x91, 0x65, 0xb8, 0x76, 0xd0,
- 0xfc, 0x9e, 0x1a, 0xdb, 0x2b, 0xd2, 0xfc, 0x03, 0xef, 0x8d,
- 0xef, 0xfe, 0x32, 0x16, 0xad, 0xf8, 0xcb, 0x28, 0xb0, 0x61,
- 0x15, 0xb8, 0x38, 0x72, 0xfc, 0x5d, 0xa1, 0xd2, 0xae, 0x9d,
- 0x6a, 0xb0, 0x5e, 0xbb, 0x78, 0xd3, 0x39, 0x24, 0xa3, 0x71,
- 0xa6, 0x90, 0x64, 0xa5, 0x82, 0xba, 0x3b, 0x85, 0x2d, 0x16,
- 0x78, 0xf4, 0xcc, 0x9f, 0xfa, 0xc5, 0x68, 0x44, 0x2c, 0x22,
- 0xb9, 0x4c, 0x07, 0x5c, 0xb4, 0x79, 0x1a, 0x48, 0xc2, 0x66,
- 0x71, 0x57, 0x6d, 0xdf, 0x33, 0xa2, 0x26, 0x99, 0xdd, 0xe9,
- 0xb9, 0x1b, 0xe1, 0xa6, 0x4d, 0x53, 0x8e, 0x71, 0x81, 0xa9,
- 0x5d, 0x70, 0x47, 0x54, 0xbc, 0x15, 0xad, 0x9c, 0xe8, 0x90,
- 0x52, 0x3e, 0x49, 0x86 ) );
-
-/** iPXE self-test root CA certificate */
-static uint8_t root_crt_fingerprint[] =
- FINGERPRINT ( 0x71, 0x5d, 0x51, 0x37, 0x5e, 0x18, 0xb3, 0xbc,
- 0xbb, 0x30, 0x0e, 0x8f, 0x50, 0xc7, 0x55, 0xf5,
- 0x96, 0xe7, 0xa8, 0x6d, 0x63, 0x2d, 0x32, 0x38,
- 0xaf, 0x00, 0xc4, 0x1a, 0xfc, 0xd8, 0xac, 0xc3 );
-
-/** Empty certificate store */
-static struct x509_chain empty_store = {
- .refcnt = REF_INIT ( ref_no_free ),
- .links = LIST_HEAD_INIT ( empty_store.links ),
-};
-
-/** Root certificate list containing the iPXE self-test root CA */
-static struct x509_root test_root = {
- .digest = &cms_test_algorithm,
- .count = 1,
- .fingerprints = root_crt_fingerprint,
-};
-
-/** Dummy fingerprint (not matching any certificates) */
-static uint8_t dummy_fingerprint[] =
- FINGERPRINT ( 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
- 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff,
- 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
- 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff );
-
-/** Certificate store containing a dummy fingerprint */
-static struct x509_root dummy_root = {
- .digest = &cms_test_algorithm,
- .count = 1,
- .fingerprints = dummy_fingerprint,
-};
-
-/** Time at which all test certificates are valid */
-static time_t test_time = 1332374737ULL; /* Thu Mar 22 00:05:37 2012 */
-
-/** Time at which end-entity test certificates are invalid */
-static time_t test_expired = 1375573111ULL; /* Sat Aug 3 23:38:31 2013 */
-
-/**
- * Report signature parsing test result
- *
- * @v sgn Test signature
- * @v file Test code file
- * @v line Test code line
- */
-static void cms_signature_okx ( struct cms_test_signature *sgn,
- const char *file, unsigned int line ) {
-
- okx ( cms_signature ( sgn->data, sgn->len, &sgn->sig ) == 0,
- file, line );
-}
-#define cms_signature_ok( sgn ) \
- cms_signature_okx ( sgn, __FILE__, __LINE__ )
-
-/**
- * Report signature verification test result
- *
- * @v sgn Test signature
- * @v code Test signed code
- * @v name Test verification name
- * @v time Test verification time
- * @v store Test certificate store
- * @v root Test root certificate list
- * @v file Test code file
- * @v line Test code line
- */
-static void cms_verify_okx ( struct cms_test_signature *sgn,
- struct cms_test_code *code, const char *name,
- time_t time, struct x509_chain *store,
- struct x509_root *root, const char *file,
- unsigned int line ) {
-
- x509_invalidate_chain ( sgn->sig->certificates );
- okx ( cms_verify ( sgn->sig, virt_to_user ( code->data ), code->len,
- name, time, store, root ) == 0, file, line );
-}
-#define cms_verify_ok( sgn, code, name, time, store, root ) \
- cms_verify_okx ( sgn, code, name, time, store, root, \
- __FILE__, __LINE__ )
-
-/**
- * Report signature verification failure test result
- *
- * @v sgn Test signature
- * @v code Test signed code
- * @v name Test verification name
- * @v time Test verification time
- * @v store Test certificate store
- * @v root Test root certificate list
- * @v file Test code file
- * @v line Test code line
- */
-static void cms_verify_fail_okx ( struct cms_test_signature *sgn,
- struct cms_test_code *code, const char *name,
- time_t time, struct x509_chain *store,
- struct x509_root *root, const char *file,
- unsigned int line ) {
-
- x509_invalidate_chain ( sgn->sig->certificates );
- okx ( cms_verify ( sgn->sig, virt_to_user ( code->data ), code->len,
- name, time, store, root ) != 0, file, line );
-}
-#define cms_verify_fail_ok( sgn, code, name, time, store, root ) \
- cms_verify_fail_okx ( sgn, code, name, time, store, root, \
- __FILE__, __LINE__ )
-
-/**
- * Perform CMS self-tests
- *
- */
-static void cms_test_exec ( void ) {
-
- /* Check that all signatures can be parsed */
- cms_signature_ok ( &codesigned_sig );
- cms_signature_ok ( &brokenchain_sig );
- cms_signature_ok ( &genericsigned_sig );
- cms_signature_ok ( &nonsigned_sig );
-
- /* Check good signature */
- cms_verify_ok ( &codesigned_sig, &test_code, "codesign.test.ipxe.org",
- test_time, &empty_store, &test_root );
- cms_verify_ok ( &codesigned_sig, &test_code,
- NULL, test_time, &empty_store, &test_root );
-
- /* Check incorrect signer name */
- cms_verify_fail_ok ( &codesigned_sig, &test_code,
- "wrongname.test.ipxe.org", test_time,
- &empty_store, &test_root );
-
- /* Check non-code-signing certificate */
- cms_verify_fail_ok ( &genericsigned_sig, &test_code,
- NULL, test_time, &empty_store, &test_root );
-
- /* Check non-signing certificate */
- cms_verify_fail_ok ( &nonsigned_sig, &test_code,
- NULL, test_time, &empty_store, &test_root );
-
- /* Check broken chain */
- cms_verify_fail_ok ( &brokenchain_sig, &test_code,
- NULL, test_time, &empty_store, &test_root );
-
- /* Check untrusted signature */
- cms_verify_fail_ok ( &codesigned_sig, &test_code,
- NULL, test_time, &empty_store, &dummy_root );
-
- /* Check incorrect signed content */
- cms_verify_fail_ok ( &codesigned_sig, &bad_code,
- NULL, test_time, &empty_store, &test_root );
-
- /* Check expired signature */
- cms_verify_fail_ok ( &codesigned_sig, &test_code,
- NULL, test_expired, &empty_store, &test_root );
-
- /* Sanity check */
- assert ( list_empty ( &empty_store.links ) );
-
- /* Drop signature references */
- cms_put ( nonsigned_sig.sig );
- cms_put ( genericsigned_sig.sig );
- cms_put ( brokenchain_sig.sig );
- cms_put ( codesigned_sig.sig );
-}
-
-/** CMS self-test */
-struct self_test cms_test __self_test = {
- .name = "cms",
- .exec = cms_test_exec,
-};
-
-/* Drag in algorithms required for tests */
-REQUIRING_SYMBOL ( cms_test );
-REQUIRE_OBJECT ( rsa );
-REQUIRE_OBJECT ( md5 );
-REQUIRE_OBJECT ( sha1 );
-REQUIRE_OBJECT ( sha256 );
diff --git a/qemu/roms/ipxe/src/tests/comboot/shuffle-simple.asm b/qemu/roms/ipxe/src/tests/comboot/shuffle-simple.asm
deleted file mode 100644
index efc7d9b46..000000000
--- a/qemu/roms/ipxe/src/tests/comboot/shuffle-simple.asm
+++ /dev/null
@@ -1,40 +0,0 @@
- bits 16
- org 100h
-
- jmp start
-
-shuffle_start:
- push 0xB800
- pop es
- mov cx, 80*24*2
- mov ax, 'AA'
- xor di, di
- rep stosw
-.lbl: jmp .lbl
-shuffle_end:
- nop
-shuffle_len equ (shuffle_end - shuffle_start + 1)
-
-start:
- ; calculate physical address of shuffled part
- xor eax, eax
- push ds
- pop ax
- shl eax, 4
- add ax, shuffle_start
- mov dword [source], eax
-
- mov ax, 0012h
- mov di, shuffle_descriptors
- mov cx, num_shuffle_descriptors
- mov ebp, 0x7c00
- int 22h
- int3
-
-shuffle_descriptors:
- dd 0x7C00
-source: dd 0
- dd shuffle_len
-
-num_shuffle_descriptors equ 1
-
diff --git a/qemu/roms/ipxe/src/tests/comboot/version.asm b/qemu/roms/ipxe/src/tests/comboot/version.asm
deleted file mode 100644
index 011404239..000000000
--- a/qemu/roms/ipxe/src/tests/comboot/version.asm
+++ /dev/null
@@ -1,136 +0,0 @@
- bits 16
- org 100h
-
-_start:
- ; first check for SYSLINUX
- mov ah, 30h
- int 21h
-
- cmp eax, 59530000h
- jne .not_syslinux
- cmp ebx, 4c530000h
- jne .not_syslinux
- cmp ecx, 4e490000h
- jne .not_syslinux
- cmp edx, 58550000h
- jne .not_syslinux
-
- ; now get syslinux version
- mov ax, 0001h
- int 22h
-
- push cx
- push dx
- push di
- push si
- push es
-
- ; print version string
- mov dx, str_version
- mov ah, 09h
- int 21h
-
- pop es
- pop bx
- push es
- mov ax, 0002h
- int 22h
-
- ; print copyright string
- mov dx, str_copyright
- mov ah, 09h
- int 21h
-
- pop es
- pop bx
- mov ax, 0002h
- int 22h
-
- ; print syslinux derivative id
- mov dx, str_derivative
- mov ah, 09h
- int 21h
-
- pop ax
- call print_hex_byte
-
- ; print version number
- mov dx, str_version_num
- mov ah, 09h
- int 21h
-
- pop cx
- push cx
- mov ax, cx
- and ax, 0FFh
- call print_dec_word
-
- mov dl, '.'
- mov ah, 02h
- int 21h
-
- pop cx
- mov ax, cx
- shr ax, 8
- call print_dec_word
-
- ret
-
-
-.not_syslinux:
- mov dx, str_not_syslinux
- mov ah, 09h
- int 21h
- ret
-
-; input: al = byte to print in hex
-print_hex_byte:
- push ax
- shr al, 4
- call print_hex_nybble
- pop ax
- call print_hex_nybble
- ret
-
-; input: bottom half of al = nybble to print in hex
-print_hex_nybble:
- push ax
- mov bl, al
- and bx, 1111b
- mov dl, [str_hex + bx]
- mov ah, 02h
- int 21h
- pop ax
- ret
-
-str_hex: db "01234567890abcdef"
-
-; input: ax = word to print
-print_dec_word:
- mov cx, 10
- mov word [.count], 0
-.loop:
- xor dx, dx
- div cx
- inc word [.count]
- push dx
- test ax, ax
- jnz .loop
-
-.print:
- pop dx
- add dx, '0'
- mov ah, 02h
- int 21h
- dec word [.count]
- jnz .print
-
- ret
-
-.count: dw 0
-
-str_not_syslinux: db "Not SYSLINUX or derivative (running on DOS?)$"
-str_version: db "Version: $"
-str_copyright: db 10, "Copyright: $"
-str_derivative: db 10, "Derivative ID: 0x$"
-str_version_num: db 10, "Version number: $"
diff --git a/qemu/roms/ipxe/src/tests/crc32_test.c b/qemu/roms/ipxe/src/tests/crc32_test.c
deleted file mode 100644
index 46cde0f7b..000000000
--- a/qemu/roms/ipxe/src/tests/crc32_test.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * CRC32 tests
- *
- *
- * Test vectors generated using Perl's Digest::CRC:
- *
- * use Digest::CRC qw ( crc );
- *
- * printf "%#08x", crc ( $data, 32, $seed, 0, 1, 0x04c11db7, 1 );
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <ipxe/crc32.h>
-#include <ipxe/test.h>
-
-/** Define inline data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** A CRC32 test */
-struct crc32_test {
- /** Test data */
- const void *data;
- /** Length of test data */
- size_t len;
- /** Seed */
- uint32_t seed;
- /** Expected CRC32 */
- uint32_t crc32;
-};
-
-/**
- * Define a CRC32 test
- *
- * @v name Test name
- * @v DATA Test data
- * @v SEED Seed
- * @v CRC32 Expected CRC32
- * @ret test CRC32 test
- */
-#define CRC32_TEST( name, DATA, SEED, CRC32 ) \
- static const uint8_t name ## _data[] = DATA; \
- static struct crc32_test name = { \
- .data = name ## _data, \
- .len = sizeof ( name ## _data ), \
- .seed = SEED, \
- .crc32 = CRC32, \
- };
-
-/**
- * Report a CRC32 test result
- *
- * @v test CRC32 test
- */
-#define crc32_ok( test ) do { \
- uint32_t crc32; \
- crc32 = crc32_le ( (test)->seed, (test)->data, (test)->len ); \
- ok ( crc32 == (test)->crc32 ); \
- } while ( 0 )
-
-/* CRC32 tests */
-CRC32_TEST ( empty_test,
- DATA ( ),
- 0x12345678UL, 0x12345678UL );
-CRC32_TEST ( hw_test,
- DATA ( 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd' ),
- 0xffffffffUL, 0xf2b5ee7aUL );
-CRC32_TEST ( hw_split_part1_test,
- DATA ( 'h', 'e', 'l', 'l', 'o' ),
- 0xffffffffUL, 0xc9ef5979UL );
-CRC32_TEST ( hw_split_part2_test,
- DATA ( ' ', 'w', 'o', 'r', 'l', 'd' ),
- 0xc9ef5979UL, 0xf2b5ee7aUL );
-
-/**
- * Perform CRC32 self-tests
- *
- */
-static void crc32_test_exec ( void ) {
-
- crc32_ok ( &empty_test );
- crc32_ok ( &hw_test );
- crc32_ok ( &hw_split_part1_test );
- crc32_ok ( &hw_split_part2_test );
-}
-
-/** CRC32 self-test */
-struct self_test crc32_test __self_test = {
- .name = "crc32",
- .exec = crc32_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/deflate_test.c b/qemu/roms/ipxe/src/tests/deflate_test.c
deleted file mode 100644
index 20ff5b9a2..000000000
--- a/qemu/roms/ipxe/src/tests/deflate_test.c
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (C) 2014 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * DEFLATE tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ipxe/deflate.h>
-#include <ipxe/test.h>
-
-/** A DEFLATE test */
-struct deflate_test {
- /** Compression format */
- enum deflate_format format;
- /** Compressed data */
- const void *compressed;
- /** Length of compressed data */
- size_t compressed_len;
- /** Expected uncompressed data */
- const void *expected;
- /** Length of expected uncompressed data */
- size_t expected_len;
-};
-
-/** A DEFLATE fragment list */
-struct deflate_test_fragments {
- /** Fragment lengths */
- size_t len[8];
-};
-
-/** Define inline data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** Define a DEFLATE test */
-#define DEFLATE( name, FORMAT, COMPRESSED, EXPECTED ) \
- static const uint8_t name ## _compressed[] = COMPRESSED; \
- static const uint8_t name ## _expected[] = EXPECTED; \
- static struct deflate_test name = { \
- .format = FORMAT, \
- .compressed = name ## _compressed, \
- .compressed_len = sizeof ( name ## _compressed ), \
- .expected = name ## _expected, \
- .expected_len = sizeof ( name ## _expected ), \
- };
-
-/* Empty file, no compression */
-DEFLATE ( empty_literal, DEFLATE_RAW,
- DATA ( 0x01, 0x00, 0x00, 0xff, 0xff ), DATA() );
-
-/* "iPXE" string, no compression */
-DEFLATE ( literal, DEFLATE_RAW,
- DATA ( 0x01, 0x04, 0x00, 0xfb, 0xff, 0x69, 0x50, 0x58, 0x45 ),
- DATA ( 0x69, 0x50, 0x58, 0x45 ) );
-
-/* "iPXE" string, no compression, split into two literals */
-DEFLATE ( split_literal, DEFLATE_RAW,
- DATA ( 0x00, 0x02, 0x00, 0xfd, 0xff, 0x69, 0x50, 0x01, 0x02, 0x00,
- 0xfd, 0xff, 0x58, 0x45 ),
- DATA ( 0x69, 0x50, 0x58, 0x45 ) );
-
-/* Empty file */
-DEFLATE ( empty, DEFLATE_RAW, DATA ( 0x03, 0x00 ), DATA() );
-
-/* "Hello world" */
-DEFLATE ( hello_world, DEFLATE_RAW,
- DATA ( 0xf3, 0x48, 0xcd, 0xc9, 0xc9, 0x57, 0x28, 0xcf, 0x2f, 0xca,
- 0x49, 0x01, 0x00 ),
- DATA ( 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c,
- 0x64 ) );
-
-/* "Hello hello world" */
-DEFLATE ( hello_hello_world, DEFLATE_RAW,
- DATA ( 0xf3, 0x48, 0xcd, 0xc9, 0xc9, 0x57, 0xc8, 0x00, 0x93, 0xe5,
- 0xf9, 0x45, 0x39, 0x29, 0x00 ),
- DATA ( 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x68, 0x65, 0x6c, 0x6c,
- 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64 ) );
-
-/* "This specification defines a lossless compressed data format" */
-DEFLATE ( rfc_sentence, DEFLATE_RAW,
- DATA ( 0x0d, 0xc6, 0xdb, 0x09, 0x00, 0x21, 0x0c, 0x04, 0xc0, 0x56,
- 0xb6, 0x28, 0x1b, 0x08, 0x79, 0x70, 0x01, 0x35, 0xe2, 0xa6,
- 0x7f, 0xce, 0xf9, 0x9a, 0xf1, 0x25, 0xc1, 0xe3, 0x9a, 0x91,
- 0x2a, 0x9d, 0xb5, 0x61, 0x1e, 0xb9, 0x9d, 0x10, 0xcc, 0x22,
- 0xa7, 0x93, 0xd0, 0x5a, 0xe7, 0xbe, 0xb8, 0xc1, 0xa4, 0x05,
- 0x51, 0x77, 0x49, 0xff ),
- DATA ( 0x54, 0x68, 0x69, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69,
- 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64,
- 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c,
- 0x6f, 0x73, 0x73, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x63, 0x6f,
- 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x64,
- 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74 ) );
-
-/* "ZLIB Compressed Data Format Specification" */
-DEFLATE ( zlib, DEFLATE_ZLIB,
- DATA ( 0x78, 0x01, 0x8b, 0xf2, 0xf1, 0x74, 0x52, 0x70, 0xce, 0xcf,
- 0x2d, 0x28, 0x4a, 0x2d, 0x2e, 0x4e, 0x4d, 0x51, 0x70, 0x49,
- 0x2c, 0x49, 0x54, 0x70, 0xcb, 0x2f, 0xca, 0x4d, 0x2c, 0x51,
- 0x08, 0x2e, 0x48, 0x4d, 0xce, 0x4c, 0xcb, 0x4c, 0x4e, 0x2c,
- 0xc9, 0xcc, 0xcf, 0x03, 0x00, 0x2c, 0x0e, 0x0e, 0xeb ),
- DATA ( 0x5a, 0x4c, 0x49, 0x42, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x72,
- 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x44, 0x61, 0x74, 0x61,
- 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x53, 0x70,
- 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e ) );
-
-/* "ZLIB Compressed Data Format Specification" fragment list */
-static struct deflate_test_fragments zlib_fragments[] = {
- { { -1UL, } },
- { { 0, 1, 5, -1UL, } },
- { { 0, 0, 1, 0, 0, 1, -1UL } },
- { { 10, 8, 4, 7, 11, -1UL } },
- { { 45, -1UL } },
- { { 48, -1UL } },
-};
-
-/**
- * Report DEFLATE test result
- *
- * @v deflate Decompressor
- * @v test Deflate test
- * @v frags Fragment list, or NULL
- * @v file Test code file
- * @v line Test code line
- */
-static void deflate_okx ( struct deflate *deflate,
- struct deflate_test *test,
- struct deflate_test_fragments *frags,
- const char *file, unsigned int line ) {
- uint8_t data[ test->expected_len ];
- struct deflate_chunk in;
- struct deflate_chunk out;
- size_t frag_len = -1UL;
- size_t offset = 0;
- size_t remaining = test->compressed_len;
- unsigned int i;
-
- /* Initialise decompressor */
- deflate_init ( deflate, test->format );
-
- /* Initialise output chunk */
- deflate_chunk_init ( &out, virt_to_user ( data ), 0, sizeof ( data ) );
-
- /* Process input (in fragments, if applicable) */
- for ( i = 0 ; i < ( sizeof ( frags->len ) /
- sizeof ( frags->len[0] ) ) ; i++ ) {
-
- /* Initialise input chunk */
- if ( frags )
- frag_len = frags->len[i];
- if ( frag_len > remaining )
- frag_len = remaining;
- deflate_chunk_init ( &in, virt_to_user ( test->compressed ),
- offset, ( offset + frag_len ) );
-
- /* Decompress this fragment */
- okx ( deflate_inflate ( deflate, &in, &out ) == 0, file, line );
- okx ( in.len == ( offset + frag_len ), file, line );
- okx ( in.offset == in.len, file, line );
-
- /* Move to next fragment */
- offset = in.offset;
- remaining -= frag_len;
- if ( ! remaining )
- break;
-
- /* Check that decompression has not terminated early */
- okx ( ! deflate_finished ( deflate ), file, line );
- }
-
- /* Check decompression has terminated as expected */
- okx ( deflate_finished ( deflate ), file, line );
- okx ( offset == test->compressed_len, file, line );
- okx ( out.offset == test->expected_len, file, line );
- okx ( memcmp ( data, test->expected, test->expected_len ) == 0,
- file, line );
-}
-#define deflate_ok( deflate, test, frags ) \
- deflate_okx ( deflate, test, frags, __FILE__, __LINE__ )
-
-/**
- * Perform DEFLATE self-test
- *
- */
-static void deflate_test_exec ( void ) {
- struct deflate *deflate;
- unsigned int i;
-
- /* Allocate shared structure */
- deflate = malloc ( sizeof ( *deflate ) );
- ok ( deflate != NULL );
-
- /* Perform self-tests */
- if ( deflate ) {
-
- /* Test as a single pass */
- deflate_ok ( deflate, &empty_literal, NULL );
- deflate_ok ( deflate, &literal, NULL );
- deflate_ok ( deflate, &split_literal, NULL );
- deflate_ok ( deflate, &empty, NULL );
- deflate_ok ( deflate, &hello_world, NULL );
- deflate_ok ( deflate, &hello_hello_world, NULL );
- deflate_ok ( deflate, &rfc_sentence, NULL );
- deflate_ok ( deflate, &zlib, NULL );
-
- /* Test fragmentation */
- for ( i = 0 ; i < ( sizeof ( zlib_fragments ) /
- sizeof ( zlib_fragments[0] ) ) ; i++ ) {
- deflate_ok ( deflate, &zlib, &zlib_fragments[i] );
- }
- }
-
- /* Free shared structure */
- free ( deflate );
-}
-
-/** DEFLATE self-test */
-struct self_test deflate_test __self_test = {
- .name = "deflate",
- .exec = deflate_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/digest_test.c b/qemu/roms/ipxe/src/tests/digest_test.c
deleted file mode 100644
index c3a128853..000000000
--- a/qemu/roms/ipxe/src/tests/digest_test.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Digest self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdlib.h>
-#include <string.h>
-#include <ipxe/crypto.h>
-#include <ipxe/profile.h>
-#include "digest_test.h"
-
-/** Maximum number of digest test fragments */
-#define NUM_DIGEST_TEST_FRAG 8
-
-/** A digest test fragment list */
-struct digest_test_fragments {
- /** Fragment lengths */
- size_t len[NUM_DIGEST_TEST_FRAG];
-};
-
-/** Digest test fragment lists */
-static struct digest_test_fragments digest_test_fragments[] = {
- { { 0, -1UL, } },
- { { 1, 1, 1, 1, 1, 1, 1, 1 } },
- { { 2, 0, 23, 4, 6, 1, 0 } },
-};
-
-/** Number of sample iterations for profiling */
-#define PROFILE_COUNT 16
-
-/**
- * Report a digest fragmented test result
- *
- * @v test Digest test
- * @v fragments Fragment list
- * @v file Test code file
- * @v line Test code line
- */
-void digest_frag_okx ( struct digest_test *test,
- struct digest_test_fragments *fragments,
- const char *file, unsigned int line ) {
- struct digest_algorithm *digest = test->digest;
- uint8_t ctx[digest->ctxsize];
- uint8_t out[digest->digestsize];
- const void *data = test->data;
- size_t len = test->len;
- size_t frag_len = 0;
- unsigned int i;
-
- /* Sanity check */
- okx ( test->expected_len == sizeof ( out ), file, line );
-
- /* Initialise digest */
- digest_init ( digest, ctx );
-
- /* Update digest fragment-by-fragment */
- for ( i = 0 ; len && ( i < ( sizeof ( fragments->len ) /
- sizeof ( fragments->len[0] ) ) ) ; i++ ) {
- if ( fragments )
- frag_len = fragments->len[i];
- if ( ( frag_len == 0 ) || ( frag_len < len ) )
- frag_len = len;
- digest_update ( digest, ctx, data, frag_len );
- data += frag_len;
- len -= frag_len;
- }
-
- /* Finalise digest */
- digest_final ( digest, ctx, out );
-
- /* Compare against expected output */
- okx ( memcmp ( test->expected, out, sizeof ( out ) ) == 0, file, line );
-}
-
-/**
- * Report a digest test result
- *
- * @v test Digest test
- * @v file Test code file
- * @v line Test code line
- */
-void digest_okx ( struct digest_test *test, const char *file,
- unsigned int line ) {
- unsigned int i;
-
- /* Test with a single pass */
- digest_frag_okx ( test, NULL, file, line );
-
- /* Test with fragment lists */
- for ( i = 0 ; i < ( sizeof ( digest_test_fragments ) /
- sizeof ( digest_test_fragments[0] ) ) ; i++ ) {
- digest_frag_okx ( test, &digest_test_fragments[i], file, line );
- }
-}
-
-/**
- * Calculate digest algorithm cost
- *
- * @v digest Digest algorithm
- * @ret cost Cost (in cycles per byte)
- */
-unsigned long digest_cost ( struct digest_algorithm *digest ) {
- static uint8_t random[8192]; /* Too large for stack */
- uint8_t ctx[digest->ctxsize];
- uint8_t out[digest->digestsize];
- struct profiler profiler;
- unsigned long cost;
- unsigned int i;
-
- /* Fill buffer with pseudo-random data */
- srand ( 0x1234568 );
- for ( i = 0 ; i < sizeof ( random ) ; i++ )
- random[i] = rand();
-
- /* Profile digest calculation */
- memset ( &profiler, 0, sizeof ( profiler ) );
- for ( i = 0 ; i < PROFILE_COUNT ; i++ ) {
- profile_start ( &profiler );
- digest_init ( digest, ctx );
- digest_update ( digest, ctx, random, sizeof ( random ) );
- digest_final ( digest, ctx, out );
- profile_stop ( &profiler );
- }
-
- /* Round to nearest whole number of cycles per byte */
- cost = ( ( profile_mean ( &profiler ) + ( sizeof ( random ) / 2 ) ) /
- sizeof ( random ) );
-
- return cost;
-}
diff --git a/qemu/roms/ipxe/src/tests/digest_test.h b/qemu/roms/ipxe/src/tests/digest_test.h
deleted file mode 100644
index abf1b834f..000000000
--- a/qemu/roms/ipxe/src/tests/digest_test.h
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef _DIGEST_TEST_H
-#define _DIGEST_TEST_H
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-#include <stdint.h>
-#include <ipxe/crypto.h>
-#include <ipxe/test.h>
-
-/** A digest test */
-struct digest_test {
- /** Digest algorithm */
- struct digest_algorithm *digest;
- /** Test data */
- const void *data;
- /** Length of test data */
- size_t len;
- /** Expected digest value */
- const void *expected;
- /** Expected digest length */
- size_t expected_len;
-};
-
-/** Define inline test data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** Define inline expected digest value */
-#define DIGEST(...) { __VA_ARGS__ }
-
-/**
- * Define a digest test
- *
- * @v name Test name
- * @v DIGEST Digest algorithm
- * @v DATA Test data
- * @v EXPECTED Expected digest value
- * @ret test Digest test
- */
-#define DIGEST_TEST( name, DIGEST, DATA, EXPECTED ) \
- static const uint8_t name ## _data[] = DATA; \
- static const uint8_t name ## _expected[] = EXPECTED; \
- static struct digest_test name = { \
- .digest = DIGEST, \
- .data = name ## _data, \
- .len = sizeof ( name ## _data ), \
- .expected = name ## _expected, \
- .expected_len = sizeof ( name ## _expected ), \
- };
-
-/** Standard test vector: empty data */
-#define DIGEST_EMPTY DATA()
-
-/** Standard test vector: NIST string "abc"
- *
- * The NIST Cryptographic Toolkit examples for all digest algorithms
- * include a test vector which is the unterminated string
- *
- * "abc"
- */
-#define DIGEST_NIST_ABC \
- DATA ( 0x61, 0x62, 0x63 )
-
-/** Standard test vector: NIST string "abc...opq"
- *
- * The NIST Cryptographic Toolkit examples for all 32-bit digest
- * algorithms (SHA-1 and the SHA-256 family) include a test vector
- * which is the unterminated string
- *
- * "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
- */
-#define DIGEST_NIST_ABC_OPQ \
- DATA ( 0x61, 0x62, 0x63, 0x64, 0x62, 0x63, 0x64, 0x65, 0x63, \
- 0x64, 0x65, 0x66, 0x64, 0x65, 0x66, 0x67, 0x65, 0x66, \
- 0x67, 0x68, 0x66, 0x67, 0x68, 0x69, 0x67, 0x68, 0x69, \
- 0x6a, 0x68, 0x69, 0x6a, 0x6b, 0x69, 0x6a, 0x6b, 0x6c, \
- 0x6a, 0x6b, 0x6c, 0x6d, 0x6b, 0x6c, 0x6d, 0x6e, 0x6c, \
- 0x6d, 0x6e, 0x6f, 0x6d, 0x6e, 0x6f, 0x70, 0x6e, 0x6f, \
- 0x70, 0x71 )
-
-/** Standard test vector: NIST string "abc...stu"
- *
- * The NIST Cryptographic Toolkit examples for all 64-bit digest
- * algorithms (SHA-512 family) include a test vector which is the
- * unterminated string
- *
- * "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmn"
- * "hijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"
- */
-#define DIGEST_NIST_ABC_STU \
- DATA ( 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x62, \
- 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x63, 0x64, \
- 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x64, 0x65, 0x66, \
- 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x65, 0x66, 0x67, 0x68, \
- 0x69, 0x6a, 0x6b, 0x6c, 0x66, 0x67, 0x68, 0x69, 0x6a, \
- 0x6b, 0x6c, 0x6d, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, \
- 0x6d, 0x6e, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, \
- 0x6f, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, \
- 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x6b, \
- 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x6c, 0x6d, \
- 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x6d, 0x6e, 0x6f, \
- 0x70, 0x71, 0x72, 0x73, 0x74, 0x6e, 0x6f, 0x70, 0x71, \
- 0x72, 0x73, 0x74, 0x75 )
-
-/**
- * Report a digest test result
- *
- * @v test Digest test
- */
-#define digest_ok(test) digest_okx ( test, __FILE__, __LINE__ )
-
-extern void digest_okx ( struct digest_test *test, const char *file,
- unsigned int line );
-extern unsigned long digest_cost ( struct digest_algorithm *digest );
-
-#endif /* _DIGEST_TEST_H */
diff --git a/qemu/roms/ipxe/src/tests/dns_test.c b/qemu/roms/ipxe/src/tests/dns_test.c
deleted file mode 100644
index f08e7810f..000000000
--- a/qemu/roms/ipxe/src/tests/dns_test.c
+++ /dev/null
@@ -1,609 +0,0 @@
-/*
- * Copyright (C) 2014 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * DNS self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <string.h>
-#include <assert.h>
-#include <ipxe/dns.h>
-#include <ipxe/test.h>
-
-/** Define inline data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** A DNS encoding test */
-struct dns_encode_test {
- /** String */
- const char *string;
- /** Encoded string */
- const void *data;
- /** Length of encoded string */
- int len;
-};
-
-/**
- * Define a DNS encoding test
- *
- * @v _name Test name
- * @v _string Test string
- * @v _data Expected encoded data
- * @ret test DNS encoding test
- */
-#define DNS_ENCODE( _name, _string, _data ) \
- static const uint8_t _name ## __data[] = _data; \
- static struct dns_encode_test _name = { \
- .string = _string, \
- .data = _name ## __data, \
- .len = sizeof ( _name ## __data ), \
- }
-
-/**
- * Report DNS encoding test result
- *
- * @v test DNS encoding test
- * @v file Test code file
- * @v line Test code line
- */
-static void dns_encode_okx ( struct dns_encode_test *test, const char *file,
- unsigned int line ) {
- uint8_t data[ test->len ];
- struct dns_name name;
- int len;
-
- /* Check ability to determine length with no buffer */
- memset ( &name, 0, sizeof ( name ) );
- len = dns_encode ( test->string, &name );
- okx ( len >= 0, file, line );
- okx ( len == test->len, file, line );
-
- /* Check encoded name */
- name.data = data;
- name.len = sizeof ( data );
- len = dns_encode ( test->string, &name );
- okx ( len >= 0, file, line );
- if ( len >= 0 ) {
- okx ( len == test->len, file, line );
- okx ( memcmp ( data, test->data, test->len ) == 0, file, line );
- DBGC ( test, "DNS encoded \"%s\" to:\n", test->string );
- DBGC_HDA ( test, 0, data, len );
- }
-}
-#define dns_encode_ok( test ) dns_encode_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report DNS encoding failure test result
- *
- * @v test DNS encoding test
- * @v file Test code file
- * @v line Test code line
- */
-static void dns_encode_fail_okx ( struct dns_encode_test *test,
- const char *file, unsigned int line ) {
- struct dns_name name = { .data = NULL, .len = 0 };
- int len;
-
- len = dns_encode ( test->string, &name );
- okx ( len < 0, file, line );
-}
-#define dns_encode_fail_ok( test ) \
- dns_encode_fail_okx ( test, __FILE__, __LINE__ )
-
-/** A DNS decoding test */
-struct dns_decode_test {
- /** Name */
- struct dns_name name;
- /** Expected string */
- const char *string;
-};
-
-/**
- * Define a DNS decoding test
- *
- * @v _name Test name
- * @v _data RFC1035-encoded data
- * @v _offset Starting offset within encoded data
- * @v _string Expected decoded string
- * @ret test DNS decoding test
- */
-#define DNS_DECODE( _name, _data, _offset, _string ) \
- static uint8_t _name ## __data[] = _data; \
- static struct dns_decode_test _name = { \
- .name = { \
- .data = _name ## __data, \
- .offset = _offset, \
- .len = sizeof ( _name ## __data ), \
- }, \
- .string = _string, \
- }
-
-/**
- * Report DNS decoding test result
- *
- * @v test DNS decoding test
- * @v file Test code file
- * @v line Test code line
- */
-static void dns_decode_okx ( struct dns_decode_test *test, const char *file,
- unsigned int line ) {
- char string[ strlen ( test->string ) + 1 /* NUL */ ];
- int len;
-
- /* Check ability to determine length with no buffer */
- len = dns_decode ( &test->name, NULL, 0 );
- okx ( len >= 0, file, line );
- okx ( len == ( ( int ) strlen ( test->string ) ), file, line );
-
- /* Check decoded string */
- len = dns_decode ( &test->name, string, sizeof ( string ) );
- okx ( len >= 0, file, line );
- if ( len >= 0 ) {
- okx ( strcmp ( string, test->string ) == 0, file, line );
- DBGC ( test, "DNS decoded \"%s\" from offset %#zx in:\n",
- string, test->name.offset );
- DBGC_HDA ( test, 0, test->name.data, test->name.len );
- }
-}
-#define dns_decode_ok( test ) dns_decode_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report DNS decoding failure test result
- *
- * @v test DNS decoding test
- * @v file Test code file
- * @v line Test code line
- */
-static void dns_decode_fail_okx ( struct dns_decode_test *test,
- const char *file, unsigned int line ) {
- int len;
-
- len = dns_decode ( &test->name, NULL, 0 );
- okx ( len < 0, file, line );
-}
-#define dns_decode_fail_ok( test ) \
- dns_decode_fail_okx ( test, __FILE__, __LINE__ )
-
-/** A DNS comparison test */
-struct dns_compare_test {
- /** First name */
- struct dns_name first;
- /** Second name */
- struct dns_name second;
-};
-
-/**
- * Define a DNS comparison test
- *
- * @v _name Test name
- * @v _first_data First RFC1035-encoded data
- * @v _first_offset Starting offset within first encoded data
- * @v _second_data Second RFC1035-encoded data
- * @v _second_offset Starting offset within second encoded data
- * @ret test DNS comparison test
- */
-#define DNS_COMPARE( _name, _first_data, _first_offset, _second_data, \
- _second_offset ) \
- static uint8_t _name ## __first_data[] = _first_data; \
- static uint8_t _name ## __second_data[] = _second_data; \
- static struct dns_compare_test _name = { \
- .first = { \
- .data = _name ## __first_data, \
- .offset = _first_offset, \
- .len = sizeof ( _name ## __first_data ), \
- }, \
- .second = { \
- .data = _name ## __second_data, \
- .offset = _second_offset, \
- .len = sizeof ( _name ## __second_data ), \
- }, \
- }
-
-/**
- * Report DNS comparison test result
- *
- * @v test DNS comparison test
- * @v file Test code file
- * @v line Test code line
- */
-static void dns_compare_okx ( struct dns_compare_test *test, const char *file,
- unsigned int line ) {
-
- okx ( dns_compare ( &test->first, &test->second ) == 0, file, line );
-}
-#define dns_compare_ok( test ) dns_compare_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report DNS comparison test failure result
- *
- * @v test DNS comparison test
- * @v file Test code file
- * @v line Test code line
- */
-static void dns_compare_fail_okx ( struct dns_compare_test *test,
- const char *file, unsigned int line ) {
-
- okx ( dns_compare ( &test->first, &test->second ) != 0, file, line );
-}
-#define dns_compare_fail_ok( test ) \
- dns_compare_fail_okx ( test, __FILE__, __LINE__ )
-
-/** A DNS copying test */
-struct dns_copy_test {
- /** Source name */
- struct dns_name src;
- /** Expected copied name */
- struct dns_name dst;
-};
-
-/**
- * Define a DNS copying test
- *
- * @v _name Test name
- * @v _src_data Source RFC1035-encoded data
- * @v _src_offset Starting offset within source encoded data
- * @v _dst_data Expected copied RFC1035-encoded data
- * @v _dst_offset Starting offset withint copied encoded data
- * @ret test DNS copying test
- */
-#define DNS_COPY( _name, _src_data, _src_offset, _dst_data, \
- _dst_offset ) \
- static uint8_t _name ## __src_data[] = _src_data; \
- static uint8_t _name ## __dst_data[] = _dst_data; \
- static struct dns_copy_test _name = { \
- .src = { \
- .data = _name ## __src_data, \
- .offset = _src_offset, \
- .len = sizeof ( _name ## __src_data ), \
- }, \
- .dst = { \
- .data = _name ## __dst_data, \
- .offset = _dst_offset, \
- .len = sizeof ( _name ## __dst_data ), \
- }, \
- }
-
-/**
- * Report a DNS copying test result
- *
- * @v test DNS copying test
- * @v file Test code file
- * @v line Test code line
- */
-static void dns_copy_okx ( struct dns_copy_test *test,
- const char *file, unsigned int line ) {
- uint8_t data[ test->dst.len ];
- struct dns_name dst;
- int len;
-
- /* Check ability to determine length with no buffer */
- memset ( &dst, 0, sizeof ( dst ) );
- len = dns_copy ( &test->src, &dst );
- okx ( len >= 0, file, line );
- okx ( len == ( ( int ) ( test->dst.len - test->dst.offset ) ),
- file, line );
-
- /* Check copied name */
- dst.data = data;
- dst.offset = test->dst.offset;
- dst.len = sizeof ( data );
- memcpy ( dst.data, test->dst.data, test->dst.offset );
- len = dns_copy ( &test->src, &dst );
- okx ( len >= 0, file, line );
- okx ( len == ( ( int ) ( test->dst.len - test->dst.offset ) ),
- file, line );
- okx ( memcmp ( data, test->dst.data, sizeof ( data ) ) == 0,
- file, line );
- DBGC ( test, "DNS copied:\n" );
- DBGC_HDA ( test, 0, test->src.data, test->src.len );
- DBGC_HDA ( test, 0, data, ( test->dst.offset + len ) );
-}
-#define dns_copy_ok( test ) dns_copy_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report a DNS copying failure test result
- *
- * @v test DNS copying test
- * @v file Test code file
- * @v line Test code line
- */
-static void dns_copy_fail_okx ( struct dns_copy_test *test,
- const char *file, unsigned int line ) {
- struct dns_name dst;
- int len;
-
- memset ( &dst, 0, sizeof ( dst ) );
- len = dns_copy ( &test->src, &dst );
- okx ( len < 0, file, line );
-}
-#define dns_copy_fail_ok( test ) dns_copy_fail_okx ( test, __FILE__, __LINE__ )
-
-/** A DNS search list test */
-struct dns_list_test {
- /** Search list */
- struct dns_name list;
- /** Expected decoded search list */
- const char **strings;
- /** Number of expected decoded string */
- unsigned int count;
-};
-
-/**
- * Define a DNS search list test
- *
- * @v _name Test name
- * @v _list RFC1035-encoded data
- * @v _strings Expected decoded strings
- * @ret test DNS search list test
- */
-#define DNS_LIST( _name, _list, _strings ) \
- static uint8_t _name ## __list[] = _list; \
- static const char * _name ## __strings[] = _strings; \
- static struct dns_list_test _name = { \
- .list = { \
- .data = _name ## __list, \
- .offset = 0, \
- .len = sizeof ( _name ## __list ), \
- }, \
- .strings = _name ## __strings, \
- .count = ( sizeof ( _name ## __strings ) / \
- sizeof ( _name ## __strings[0] ) ), \
- }
-
-/**
- * Report DNS search list test result
- *
- * @v test DNS search list test
- * @v file Test code file
- * @v line Test code line
- */
-static void dns_list_okx ( struct dns_list_test *test, const char *file,
- unsigned int line ) {
- struct dns_name name;
- unsigned int i;
-
- DBGC ( test, "DNS search list:\n" );
- DBGC_HDA ( test, 0, test->list.data, test->list.len );
- memcpy ( &name, &test->list, sizeof ( name ) );
- for ( i = 0 ; i < test->count ; i++ ) {
- char buf[ strlen ( test->strings[i] ) + 1 /* NUL */ ];
- int len;
- int offset;
-
- /* Decode this name */
- len = dns_decode ( &name, buf, sizeof ( buf ) );
- okx ( len >= 0, file, line );
- if ( len >= 0 ) {
- okx ( len == ( ( int ) strlen ( test->strings[i] ) ),
- file, line );
- okx ( strcmp ( buf, test->strings[i] ) == 0,
- file, line );
- DBGC ( test, "DNS search list found \"%s\" at offset "
- "%#zx\n", buf, name.offset );
- }
-
- /* Skip to next name */
- offset = dns_skip ( &name );
- okx ( offset >= 0, file, line );
- name.offset = offset;
- }
-
- /* Check that we have consumed the whole search list */
- okx ( name.offset == name.len, file, line );
-}
-#define dns_list_ok( test ) dns_list_okx ( test, __FILE__, __LINE__ )
-
-/* Simple encoding test */
-DNS_ENCODE ( encode_simple, "ipxe.org",
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ) );
-
-/* Single-word encoding test */
-DNS_ENCODE ( encode_single, "foo", DATA ( 3, 'f', 'o', 'o', 0 ) );
-
-/* Absolute encoding test */
-DNS_ENCODE ( encode_absolute, "git.ipxe.org.",
- DATA ( 3, 'g', 'i', 't', 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g',
- 0 ) );
-
-/* Empty string encoding test */
-DNS_ENCODE ( encode_empty, "", DATA ( 0 ) );
-
-/* Root domain encoding test */
-DNS_ENCODE ( encode_root, ".", DATA ( 0 ) );
-
-/* Invalid initial dot encoding test */
-DNS_ENCODE ( encode_initial_dot, ".foo", DATA() );
-
-/* Invalid double dot encoding test */
-DNS_ENCODE ( encode_double_dot, "ipxe..org", DATA() );
-
-/* Invalid solo double dot encoding test */
-DNS_ENCODE ( encode_solo_double_dot, "..", DATA() );
-
-/* Invalid trailing double dot encoding test */
-DNS_ENCODE ( encode_trailing_double_dot, "ipxe.org..", DATA() );
-
-/* Invalid overlength label encoding test */
-DNS_ENCODE ( encode_overlength,
- "this-label-is-maliciously-long-in-an-attempt-to-overflow-the-"
- "length-field-and-generate-a-length-which-looks-like-a-"
- "compression-pointer", DATA() );
-
-/* Simple decoding test */
-DNS_DECODE ( decode_simple,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ), 0,
- "ipxe.org" );
-
-/* Compression pointer decoding test */
-DNS_DECODE ( decode_ptr,
- DATA ( 3, 'o', 'r', 'g', 0, 3, 'g', 'i', 't', 4, 'i', 'p', 'x',
- 'e', 0xc0, 0x00 ), 5,
- "git.ipxe.org" );
-
-/* Root decoding test */
-DNS_DECODE ( decode_root,
- DATA ( 0 ), 0, "" );
-
-/* Incomplete name decoding test */
-DNS_DECODE ( decode_incomplete_name,
- DATA ( 4, 'i', 'p', 'x', 'e' ), 0, NULL );
-
-/* Incomplete label decoding test */
-DNS_DECODE ( decode_incomplete_label,
- DATA ( 4, 'i', 'p', 'x' ), 0, NULL );
-
-/* Incomplete compression pointer decoding test */
-DNS_DECODE ( decode_incomplete_ptr,
- DATA ( 3, 'o', 'r', 'g', 0, 4, 'i', 'p', 'x', 'e', 0xc0 ), 5,
- NULL );
-
-/* Forward reference decoding test */
-DNS_DECODE ( decode_forward,
- DATA ( 0xc0, 0x02, 3, 'f', 'o', 'o', 0 ), 0, NULL );
-
-/* Infinite loop decoding test */
-DNS_DECODE ( decode_infinite,
- DATA ( 4, 'i', 'p', 'x', 'e', 0xc0, 0x00 ), 0, NULL );
-
-/* Empty decoding test */
-DNS_DECODE ( decode_empty,
- DATA (), 0, NULL );
-
-/* Simple comparison test */
-DNS_COMPARE ( compare_simple,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ), 0,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ), 0 );
-
-/* Compression pointer comparison test */
-DNS_COMPARE ( compare_ptr,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ), 0,
- DATA ( 3, 'o', 'r', 'g', 0, 4, 'i', 'p', 'x', 'e',
- 0xc0, 0x00 ), 5 );
-
-/* Case insensitive comparison test */
-DNS_COMPARE ( compare_case,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ), 0,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'O', 'R', 'G', 0 ), 0 );
-
-/* Mismatch comparison test */
-DNS_COMPARE ( compare_mismatch,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ), 0,
- DATA ( 4, 'g', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ), 0 );
-
-/* Infinite loop comparison test */
-DNS_COMPARE ( compare_infinite,
- DATA ( 3, 'f', 'o', 'o', 0xc0, 0x00 ), 0,
- DATA ( 3, 'f', 'o', 'o', 0xc0, 0x00 ), 0 );
-
-/* Simple copying test */
-DNS_COPY ( copy_simple,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ), 0,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ), 0 );
-
-/* Simple copying test with offset */
-DNS_COPY ( copy_offset,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0 ), 0,
- DATA ( 'f', 'o', 'o', 0, 4, 'i', 'p', 'x', 'e',
- 3, 'o', 'r', 'g', 0 ), 4 );
-
-/* Compression pointer copying test */
-DNS_COPY ( copy_ptr,
- DATA ( 3, 'o', 'r', 'g', 0, 3, 'g', 'i', 't', 4, 'i', 'p', 'x', 'e',
- 0xc0, 0x00 ), 5,
- DATA ( 3, 'g', 'i', 't', 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g',
- 0 ), 0 );
-
-/* Infinite loop copying test */
-DNS_COPY ( copy_infinite,
- DATA ( 4, 'l', 'o', 'o', 'p', 7, 'f', 'o', 'r', 'e', 'v', 'e', 'r',
- 0xc0, 0x05 ), 0,
- DATA (), 0 );
-
-/* DNS search list test */
-DNS_LIST ( search,
- DATA ( 4, 'i', 'p', 'x', 'e', 3, 'o', 'r', 'g', 0,
- 4, 'b', 'o', 'o', 't', 0xc0, 0x00,
- 3, 'd', 'e', 'v', 0xc0, 0x0a,
- 11, 'n', 'e', 't', 'w', 'o', 'r', 'k', 'b', 'o', 'o', 't',
- 0xc0, 0x05 ),
- DATA ( "ipxe.org", "boot.ipxe.org", "dev.boot.ipxe.org",
- "networkboot.org" ) );
-
-/**
- * Perform DNS self-test
- *
- */
-static void dns_test_exec ( void ) {
-
- /* Encoding tests */
- dns_encode_ok ( &encode_simple );
- dns_encode_ok ( &encode_single );
- dns_encode_ok ( &encode_absolute );
- dns_encode_ok ( &encode_empty );
- dns_encode_ok ( &encode_root );
- dns_encode_fail_ok ( &encode_initial_dot );
- dns_encode_fail_ok ( &encode_double_dot );
- dns_encode_fail_ok ( &encode_solo_double_dot );
- dns_encode_fail_ok ( &encode_trailing_double_dot );
- dns_encode_fail_ok ( &encode_overlength );
-
- /* Decoding tests */
- dns_decode_ok ( &decode_simple );
- dns_decode_ok ( &decode_ptr );
- dns_decode_ok ( &decode_root );
- dns_decode_fail_ok ( &decode_incomplete_name );
- dns_decode_fail_ok ( &decode_incomplete_label );
- dns_decode_fail_ok ( &decode_incomplete_ptr );
- dns_decode_fail_ok ( &decode_forward );
- dns_decode_fail_ok ( &decode_infinite );
- dns_decode_fail_ok ( &decode_empty );
-
- /* Comparison tests */
- dns_compare_ok ( &compare_simple );
- dns_compare_ok ( &compare_ptr );
- dns_compare_ok ( &compare_case );
- dns_compare_fail_ok ( &compare_mismatch );
- dns_compare_fail_ok ( &compare_infinite );
-
- /* Copying tests */
- dns_copy_ok ( &copy_simple );
- dns_copy_ok ( &copy_offset );
- dns_copy_ok ( &copy_ptr );
- dns_copy_fail_ok ( &copy_infinite );
-
- /* Search list tets */
- dns_list_ok ( &search );
-}
-
-/** DNS self-test */
-struct self_test dns_test __self_test = {
- .name = "dns",
- .exec = dns_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/entropy_sample.c b/qemu/roms/ipxe/src/tests/entropy_sample.c
deleted file mode 100644
index b45648c11..000000000
--- a/qemu/roms/ipxe/src/tests/entropy_sample.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Entropy sampling
- *
- */
-
-#include <stdio.h>
-#include <ipxe/entropy.h>
-#include <ipxe/test.h>
-
-/** Total number of test samples */
-#define SAMPLE_COUNT 65536
-
-/** Number of samples per block */
-#define SAMPLE_BLOCKSIZE 256
-
-/**
- * Generate entropy samples for external testing
- *
- */
-static void entropy_sample_test_exec ( void ) {
- static noise_sample_t samples[SAMPLE_BLOCKSIZE];
- unsigned int i;
- unsigned int j;
- int rc;
-
- /* Collect and print blocks of samples */
- for ( i = 0 ; i < ( SAMPLE_COUNT / SAMPLE_BLOCKSIZE ) ; i++ ) {
-
- /* Collect one block of samples */
- rc = entropy_enable();
- ok ( rc == 0 );
- for ( j = 0 ; j < SAMPLE_BLOCKSIZE ; j++ ) {
- rc = get_noise ( &samples[j] );
- ok ( rc == 0 );
- }
- entropy_disable();
-
- /* Print out sample values */
- for ( j = 0 ; j < SAMPLE_BLOCKSIZE ; j++ ) {
- printf ( "SAMPLE %d %d\n", ( i * SAMPLE_BLOCKSIZE + j ),
- samples[j] );
- }
- }
-}
-
-/** Entropy sampling self-test */
-struct self_test entropy_sample_test __self_test = {
- .name = "entropy_sample",
- .exec = entropy_sample_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/gdbstub_test.S b/qemu/roms/ipxe/src/tests/gdbstub_test.S
deleted file mode 100644
index 739b0527a..000000000
--- a/qemu/roms/ipxe/src/tests/gdbstub_test.S
+++ /dev/null
@@ -1,54 +0,0 @@
- .arch i386
-
- .section ".data", "aw", @progbits
-watch_me:
- .long 0xfeedbeef
-
- .section ".text", "ax", @progbits
- .code32
-gdbstub_test:
- /* 1. Read registers test */
- movl $0xea010203, %eax
- movl $0xeb040506, %ebx
- movl $0xec070809, %ecx
- movl $0xed0a0b0c, %edx
- movl $0x510d0e0f, %esi
- movl $0xd1102030, %edi
- int $3
-
- /* 2. Write registers test */
- int $3
-
- /* 3. Read memory test */
- subl $8, %esp
- movl $0x11223344, 4(%esp)
- movw $0x5566, 2(%esp)
- movb $0x77, (%esp)
- int $3
-
- /* 4. Write memory test */
- int $3
- addl $8, %esp
-
- /* 5. Step test */
- int $3
- nop
-
- /* 6. Access watch test */
- movl $0x600d0000, %ecx
- movl watch_me, %eax
- movl $0xbad00000, %ecx
- int $3
- movl $0x600d0001, %ecx
- movl %eax, watch_me
- movl $0xbad00001, %ecx
- int $3
-
- /* 7. Write watch test */
- movl $0x600d0002, %ecx
- movl %eax, watch_me
- movl $0xbad00002, %ecx
- int $3
-
-1:
- jmp 1b
diff --git a/qemu/roms/ipxe/src/tests/gdbstub_test.gdb b/qemu/roms/ipxe/src/tests/gdbstub_test.gdb
deleted file mode 100755
index bcfa07dae..000000000
--- a/qemu/roms/ipxe/src/tests/gdbstub_test.gdb
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/usr/bin/gdb -x
-# Test suite for GDB remote debugging
-# Run:
-# make bin/ipxe.hd.tmp
-# make
-# gdb
-# (gdb) target remote :TCPPORT
-# OR
-# (gdb) target remote udp:IP:UDPPORT
-# (gdb) source tests/gdbstub_test.gdb
-
-define ipxe_load_symbols
- file bin/ipxe.hd.tmp
-end
-
-define ipxe_assert
- if $arg0 != $arg1
- echo FAIL $arg2\n
- else
- echo PASS $arg2\n
- end
-end
-
-define ipxe_start_tests
- jump gdbstub_test
-end
-
-define ipxe_test_regs_read
- ipxe_assert $eax 0xea010203 "ipxe_test_regs_read eax"
- ipxe_assert $ebx 0xeb040506 "ipxe_test_regs_read ebx"
- ipxe_assert $ecx 0xec070809 "ipxe_test_regs_read ecx"
- ipxe_assert $edx 0xed0a0b0c "ipxe_test_regs_read edx"
- ipxe_assert $esi 0x510d0e0f "ipxe_test_regs_read esi"
- ipxe_assert $edi 0xd1102030 "ipxe_test_regs_read edi"
-end
-
-define ipxe_test_regs_write
- set $eax = 0xea112233
- set $ebx = 0xeb445566
- set $ecx = 0xec778899
- set $edx = 0xedaabbcc
- set $esi = 0x51ddeeff
- set $edi = 0xd1010203
- c
- ipxe_assert $eax 0xea112233 "ipxe_test_regs_write eax"
- ipxe_assert $ebx 0xeb445566 "ipxe_test_regs_write ebx"
- ipxe_assert $ecx 0xec778899 "ipxe_test_regs_write ecx"
- ipxe_assert $edx 0xedaabbcc "ipxe_test_regs_write edx"
- ipxe_assert $esi 0x51ddeeff "ipxe_test_regs_write esi"
- ipxe_assert $edi 0xd1010203 "ipxe_test_regs_write edi"
-
- # This assumes segment selectors are always 0x10 or 0x8 (for code).
- ipxe_assert $cs 0x08 "ipxe_test_regs_write cs"
- ipxe_assert $ds 0x10 "ipxe_test_regs_write ds"
-end
-
-define ipxe_test_mem_read
- c
- ipxe_assert ({int}($esp+4)) 0x11223344 "ipxe_test_mem_read int"
- ipxe_assert ({short}($esp+2)) 0x5566 "ipxe_test_mem_read short"
- ipxe_assert ({char}($esp)) 0x77 "ipxe_test_mem_read char"
-end
-
-define ipxe_test_mem_write
- set ({int}($esp+4)) = 0xaabbccdd
- set ({short}($esp+2)) = 0xeeff
- set ({char}($esp)) = 0x99
- c
- ipxe_assert ({int}($esp+4)) 0xaabbccdd "ipxe_test_mem_write int"
- ipxe_assert ({short}($esp+2)) (short)0xeeff "ipxe_test_mem_write short"
- ipxe_assert ({char}($esp)) (char)0x99 "ipxe_test_mem_write char"
-end
-
-define ipxe_test_step
- c
- si
- ipxe_assert ({char}($eip-1)) (char)0x90 "ipxe_test_step" # nop = 0x90
-end
-
-define ipxe_test_awatch
- awatch watch_me
-
- c
- ipxe_assert $ecx 0x600d0000 "ipxe_test_awatch read"
- if $ecx == 0x600d0000
- c
- end
-
- c
- ipxe_assert $ecx 0x600d0001 "ipxe_test_awatch write"
- if $ecx == 0x600d0001
- c
- end
-
- delete
-end
-
-define ipxe_test_watch
- watch watch_me
- c
- ipxe_assert $ecx 0x600d0002 "ipxe_test_watch"
- if $ecx == 0x600d0002
- c
- end
- delete
-end
-
-ipxe_load_symbols
-ipxe_start_tests
-ipxe_test_regs_read
-ipxe_test_regs_write
-ipxe_test_mem_read
-ipxe_test_mem_write
-ipxe_test_step
-ipxe_test_awatch
-ipxe_test_watch
diff --git a/qemu/roms/ipxe/src/tests/hash_df_test.c b/qemu/roms/ipxe/src/tests/hash_df_test.c
deleted file mode 100644
index 0b7d56ad7..000000000
--- a/qemu/roms/ipxe/src/tests/hash_df_test.c
+++ /dev/null
@@ -1,902 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Hash-based derivation function (Hash_df) tests
- *
- * These test vectors are provided by NIST as part of the
- * Cryptographic Toolkit Examples, downloadable from:
- *
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/Hash_DRBG.pdf
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <assert.h>
-#include <string.h>
-#include <ipxe/hash_df.h>
-#include <ipxe/sha1.h>
-#include <ipxe/sha256.h>
-#include <ipxe/test.h>
-
-/** Define inline input data */
-#define INPUT(...) { __VA_ARGS__ }
-
-/** Define inline expected data */
-#define EXPECT(...) { __VA_ARGS__ }
-
-/** A Hash_df test */
-struct hash_df_test {
- /** Underlying hash algorithm */
- struct digest_algorithm *hash;
- /** Input data */
- const void *input;
- /** Length of input data */
- size_t input_len;
- /** Expected output data */
- const void *expected;
- /** Length of expected output data */
- size_t expected_len;
-};
-
-/**
- * Define a Hash_df test
- *
- * @v name Test name
- * @v hash_algorithm Underlying hash algorithm
- * @v input_array Input data
- * @v expected_array Expected output data
- * @ret test Hash_df test
- */
-#define HASH_DF_TEST( name, hash_algorithm, input_array, expected_array ) \
- static const uint8_t name ## _input [] = input_array; \
- static const uint8_t name ## _expected [] = expected_array; \
- static struct hash_df_test name = { \
- .hash = &(hash_algorithm), \
- .input = name ## _input, \
- .input_len = sizeof ( name ## _input ), \
- .expected = name ## _expected, \
- .expected_len = sizeof ( name ## _expected ), \
- }
-
-/** SHA-1 Test 1 */
-HASH_DF_TEST ( test_sha1_1, sha1_algorithm,
- INPUT ( 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, 0x20, 0x21, 0x22, 0x23, 0x24 ),
- EXPECT ( 0xd0, 0x8f, 0xb4, 0x41, 0xf2, 0xf4, 0xcb, 0x37, 0xcf, 0x6c,
- 0x24, 0x20, 0xa8, 0x2c, 0x74, 0x27, 0xac, 0xf7, 0xfc, 0xfd,
- 0x79, 0x90, 0x14, 0x38, 0x34, 0xa5, 0xc2, 0x56, 0xab, 0x28,
- 0x39, 0x36, 0x6d, 0x96, 0x34, 0x8c, 0xfe, 0x8c, 0x97, 0xab,
- 0x67, 0x67, 0xb0, 0x5e, 0x83, 0xa9, 0x80, 0x40, 0x6d, 0x94,
- 0xbe, 0xe3, 0x3c, 0xbb, 0x89 ) );
-
-/** SHA-1 Test 2 */
-HASH_DF_TEST ( test_sha1_2, sha1_algorithm,
- INPUT ( 0x00, 0xd0, 0x8f, 0xb4, 0x41, 0xf2, 0xf4, 0xcb, 0x37, 0xcf,
- 0x6c, 0x24, 0x20, 0xa8, 0x2c, 0x74, 0x27, 0xac, 0xf7, 0xfc,
- 0xfd, 0x79, 0x90, 0x14, 0x38, 0x34, 0xa5, 0xc2, 0x56, 0xab,
- 0x28, 0x39, 0x36, 0x6d, 0x96, 0x34, 0x8c, 0xfe, 0x8c, 0x97,
- 0xab, 0x67, 0x67, 0xb0, 0x5e, 0x83, 0xa9, 0x80, 0x40, 0x6d,
- 0x94, 0xbe, 0xe3, 0x3c, 0xbb, 0x89 ),
- EXPECT ( 0x54, 0xc5, 0x21, 0x7b, 0x51, 0x02, 0xd8, 0xda, 0x8b, 0xf1,
- 0x68, 0x6e, 0xdb, 0xab, 0x2b, 0xbc, 0x0c, 0x11, 0xb0, 0xcc,
- 0xb0, 0xf0, 0xaf, 0x23, 0x4c, 0x24, 0xcf, 0x15, 0xec, 0xc8,
- 0xcb, 0x39, 0xc2, 0x33, 0xaa, 0xca, 0x48, 0xfc, 0xce, 0xee,
- 0x86, 0x3d, 0xa8, 0x81, 0xff, 0xcb, 0xb4, 0x34, 0xa6, 0xcc,
- 0xb7, 0xda, 0x2f, 0xb2, 0x10 ) );
-
-/** SHA-1 Test 3 */
-HASH_DF_TEST ( test_sha1_3, sha1_algorithm,
- INPUT ( 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, 0x20, 0x21, 0x22, 0x23, 0x24,
- 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 ),
- EXPECT ( 0x99, 0xb9, 0x53, 0x7b, 0x84, 0x27, 0xb8, 0xce, 0x23, 0x21,
- 0x9a, 0x61, 0x1c, 0xbe, 0x61, 0x06, 0x44, 0xcf, 0x85, 0x03,
- 0xee, 0xc5, 0xba, 0x22, 0xde, 0x1a, 0xb2, 0x12, 0xc3, 0xd0,
- 0x85, 0x8e, 0x9e, 0x3b, 0x90, 0x26, 0xd4, 0xe7, 0x7d, 0x58,
- 0xe0, 0x2e, 0x85, 0xa2, 0x31, 0x4c, 0xe3, 0xd7, 0x4a, 0x93,
- 0x32, 0x4b, 0x27, 0xbd, 0xe8 ) );
-
-/** SHA-1 Test 4 */
-HASH_DF_TEST ( test_sha1_4, sha1_algorithm,
- INPUT ( 0x00, 0x99, 0xb9, 0x53, 0x7b, 0x84, 0x27, 0xb8, 0xce, 0x23,
- 0x21, 0x9a, 0x61, 0x1c, 0xbe, 0x61, 0x06, 0x44, 0xcf, 0x85,
- 0x03, 0xee, 0xc5, 0xba, 0x22, 0xde, 0x1a, 0xb2, 0x12, 0xc3,
- 0xd0, 0x85, 0x8e, 0x9e, 0x3b, 0x90, 0x26, 0xd4, 0xe7, 0x7d,
- 0x58, 0xe0, 0x2e, 0x85, 0xa2, 0x31, 0x4c, 0xe3, 0xd7, 0x4a,
- 0x93, 0x32, 0x4b, 0x27, 0xbd, 0xe8 ),
- EXPECT ( 0xa7, 0x02, 0x66, 0xf7, 0xf9, 0x1e, 0xc4, 0xd2, 0x88, 0x73,
- 0x14, 0x79, 0x34, 0xce, 0xaf, 0x2a, 0x2c, 0xc3, 0x5a, 0x0f,
- 0xd5, 0xe0, 0x0a, 0xba, 0xe7, 0x9d, 0xc6, 0x60, 0x5f, 0xab,
- 0xd6, 0xf5, 0xf9, 0x28, 0xe1, 0x8c, 0x63, 0x26, 0x8e, 0x1a,
- 0xf4, 0x85, 0xda, 0x6c, 0xbf, 0x04, 0x16, 0xdc, 0xdc, 0x5f,
- 0xb8, 0xbc, 0x9c, 0x94, 0xb6 ) );
-
-/** SHA-1 Test 5 */
-HASH_DF_TEST ( test_sha1_5, sha1_algorithm,
- INPUT ( 0x01, 0xd0, 0x8f, 0xb4, 0x41, 0xf2, 0xf4, 0xcb, 0x37, 0xcf,
- 0x6c, 0x24, 0x20, 0xa8, 0x2c, 0x74, 0x27, 0xac, 0xf7, 0xfc,
- 0xfd, 0x79, 0x90, 0x14, 0x38, 0x34, 0xa5, 0xc2, 0x56, 0xab,
- 0x28, 0x39, 0x36, 0x6d, 0x96, 0x34, 0x8c, 0xfe, 0x8c, 0x97,
- 0xab, 0x67, 0x67, 0xb0, 0x5e, 0x83, 0xa9, 0x80, 0x40, 0x6d,
- 0x94, 0xbe, 0xe3, 0x3c, 0xbb, 0x89, 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 ),
- EXPECT ( 0x0a, 0x04, 0x41, 0xa5, 0x2b, 0xed, 0xf7, 0x94, 0xf5, 0xaa,
- 0x62, 0x7b, 0xcb, 0xd8, 0x1f, 0x93, 0xe0, 0x11, 0xd5, 0x1f,
- 0x34, 0x74, 0x80, 0x2c, 0x37, 0x50, 0x76, 0x75, 0x51, 0xb4,
- 0x5b, 0x69, 0xf3, 0xd3, 0x59, 0x39, 0xc9, 0x32, 0xae, 0x1c,
- 0xb7, 0xc9, 0x89, 0x4f, 0xb8, 0x84, 0x65, 0xe0, 0xcf, 0xd1,
- 0xcc, 0x26, 0x1e, 0x22, 0xc5 ) );
-
-/** SHA-1 Test 6 */
-HASH_DF_TEST ( test_sha1_6, sha1_algorithm,
- INPUT ( 0x00, 0x0a, 0x04, 0x41, 0xa5, 0x2b, 0xed, 0xf7, 0x94, 0xf5,
- 0xaa, 0x62, 0x7b, 0xcb, 0xd8, 0x1f, 0x93, 0xe0, 0x11, 0xd5,
- 0x1f, 0x34, 0x74, 0x80, 0x2c, 0x37, 0x50, 0x76, 0x75, 0x51,
- 0xb4, 0x5b, 0x69, 0xf3, 0xd3, 0x59, 0x39, 0xc9, 0x32, 0xae,
- 0x1c, 0xb7, 0xc9, 0x89, 0x4f, 0xb8, 0x84, 0x65, 0xe0, 0xcf,
- 0xd1, 0xcc, 0x26, 0x1e, 0x22, 0xc5 ),
- EXPECT ( 0x04, 0x11, 0xc8, 0xb0, 0xdb, 0xa7, 0x56, 0xe8, 0x84, 0x2b,
- 0x3f, 0xb0, 0x2d, 0x2f, 0xeb, 0x7c, 0xee, 0xa5, 0x67, 0x42,
- 0xee, 0x93, 0x79, 0xc9, 0x0e, 0x6d, 0x3b, 0x2f, 0x10, 0x10,
- 0xd4, 0x0f, 0x4f, 0x4d, 0xca, 0xda, 0x61, 0xcf, 0xdf, 0xb4,
- 0x8a, 0xf8, 0x47, 0xca, 0xcc, 0x4c, 0x92, 0xc6, 0x14, 0x44,
- 0x85, 0xc2, 0x27, 0xca, 0x05 ) );
-
-/** SHA-1 Test 7 */
-HASH_DF_TEST ( test_sha1_7, sha1_algorithm,
- INPUT ( 0x01, 0x0e, 0x16, 0x0a, 0x56, 0x07, 0x95, 0x4e, 0x7d, 0x79,
- 0xd5, 0xa2, 0x2b, 0xf9, 0x08, 0x0b, 0x10, 0xce, 0xb7, 0x3c,
- 0x62, 0x23, 0x07, 0xf9, 0xf5, 0x45, 0xbd, 0xb1, 0xa4, 0x61,
- 0xc5, 0x2f, 0x79, 0x43, 0x21, 0x24, 0x3a, 0xac, 0xe2, 0x3f,
- 0x36, 0x3f, 0xef, 0xb3, 0x5d, 0xc5, 0xbe, 0xa7, 0xe7, 0x31,
- 0x44, 0x14, 0xcf, 0x78, 0xb3, 0xf9, 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 ),
- EXPECT ( 0xdc, 0x24, 0xdf, 0x10, 0x2f, 0xa9, 0xf9, 0x6c, 0xc1, 0xcf,
- 0xf8, 0xc1, 0x16, 0xc7, 0x9d, 0x14, 0x97, 0xd7, 0xc2, 0x7b,
- 0xba, 0x5b, 0xa8, 0x01, 0xe1, 0x56, 0x21, 0x93, 0x35, 0x3f,
- 0x31, 0xe3, 0x22, 0x39, 0x57, 0x84, 0x69, 0xb8, 0x0f, 0x2f,
- 0x51, 0x64, 0x54, 0x37, 0x28, 0x71, 0x7f, 0x17, 0x1f, 0xdb,
- 0x02, 0xb2, 0xad, 0x57, 0x95 ) );
-
-/** SHA-1 Test 8 */
-HASH_DF_TEST ( test_sha1_8, sha1_algorithm,
- INPUT ( 0x00, 0xdc, 0x24, 0xdf, 0x10, 0x2f, 0xa9, 0xf9, 0x6c, 0xc1,
- 0xcf, 0xf8, 0xc1, 0x16, 0xc7, 0x9d, 0x14, 0x97, 0xd7, 0xc2,
- 0x7b, 0xba, 0x5b, 0xa8, 0x01, 0xe1, 0x56, 0x21, 0x93, 0x35,
- 0x3f, 0x31, 0xe3, 0x22, 0x39, 0x57, 0x84, 0x69, 0xb8, 0x0f,
- 0x2f, 0x51, 0x64, 0x54, 0x37, 0x28, 0x71, 0x7f, 0x17, 0x1f,
- 0xdb, 0x02, 0xb2, 0xad, 0x57, 0x95 ),
- EXPECT ( 0xff, 0xaf, 0x45, 0x66, 0x5b, 0x11, 0x0c, 0xa1, 0x33, 0x5a,
- 0x3f, 0xce, 0x73, 0xa7, 0x98, 0x1d, 0x0f, 0xd5, 0xc8, 0xd9,
- 0x03, 0xf6, 0x5f, 0xaa, 0x46, 0xa3, 0xd5, 0x97, 0xbf, 0x34,
- 0xc4, 0xe0, 0xcc, 0x16, 0x75, 0x60, 0xab, 0x94, 0xec, 0x10,
- 0xd6, 0x41, 0x5f, 0x37, 0x83, 0xb0, 0x15, 0x67, 0x89, 0x1b,
- 0x57, 0x66, 0x2a, 0xbb, 0x39 ) );
-
-/** SHA-1 Test 9 */
-HASH_DF_TEST ( test_sha1_9, sha1_algorithm,
- INPUT ( 0x01, 0xd0, 0x8f, 0xb4, 0x41, 0xf2, 0xf4, 0xcb, 0x37, 0xcf,
- 0x6c, 0x24, 0x20, 0xa8, 0x2c, 0x74, 0x27, 0xac, 0xf7, 0xfc,
- 0xfd, 0x79, 0x90, 0x14, 0x38, 0x34, 0xa5, 0xc2, 0x56, 0xab,
- 0x28, 0x39, 0x36, 0x6d, 0x96, 0x34, 0x8c, 0xfe, 0x8c, 0x97,
- 0xab, 0x67, 0x67, 0xb0, 0x5e, 0x83, 0xa9, 0x80, 0x40, 0x6d,
- 0x94, 0xbe, 0xe3, 0x3c, 0xbb, 0x89, 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, 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 ),
- EXPECT ( 0x8f, 0xde, 0xc9, 0xe6, 0x18, 0x96, 0x36, 0xf0, 0xa5, 0xce,
- 0x53, 0xe8, 0x1c, 0x13, 0xac, 0x93, 0x84, 0xfa, 0xfb, 0xa0,
- 0xee, 0x50, 0xc1, 0xe2, 0xc8, 0xa0, 0x99, 0xde, 0x41, 0xd8,
- 0xcc, 0x7a, 0x31, 0x42, 0x9e, 0x8c, 0x8c, 0x88, 0x80, 0xe3,
- 0xb4, 0x5d, 0x89, 0xdb, 0x61, 0x2c, 0xd9, 0xd2, 0x8a, 0x55,
- 0xc0, 0xf0, 0xd1, 0xf8, 0xf9 ) );
-
-/** SHA-1 Test 10 */
-HASH_DF_TEST ( test_sha1_10, sha1_algorithm,
- INPUT ( 0x00, 0x8f, 0xde, 0xc9, 0xe6, 0x18, 0x96, 0x36, 0xf0, 0xa5,
- 0xce, 0x53, 0xe8, 0x1c, 0x13, 0xac, 0x93, 0x84, 0xfa, 0xfb,
- 0xa0, 0xee, 0x50, 0xc1, 0xe2, 0xc8, 0xa0, 0x99, 0xde, 0x41,
- 0xd8, 0xcc, 0x7a, 0x31, 0x42, 0x9e, 0x8c, 0x8c, 0x88, 0x80,
- 0xe3, 0xb4, 0x5d, 0x89, 0xdb, 0x61, 0x2c, 0xd9, 0xd2, 0x8a,
- 0x55, 0xc0, 0xf0, 0xd1, 0xf8, 0xf9 ),
- EXPECT ( 0x97, 0xd0, 0x76, 0x31, 0xb2, 0x2f, 0x7c, 0x95, 0x7f, 0x19,
- 0xf8, 0x44, 0xf4, 0xdc, 0x2a, 0xfa, 0x6f, 0xf9, 0x7c, 0x35,
- 0x66, 0x18, 0x98, 0x21, 0x69, 0x91, 0xd1, 0x5b, 0xda, 0x75,
- 0xbb, 0xd0, 0x5e, 0xdf, 0x8a, 0x0f, 0xa8, 0x0c, 0xca, 0xb9,
- 0x51, 0x95, 0xf4, 0x79, 0xcd, 0x76, 0x20, 0x22, 0x35, 0x10,
- 0x2e, 0xf6, 0x27, 0x29, 0x19 ) );
-
-/** SHA-1 Test 11 */
-HASH_DF_TEST ( test_sha1_11, sha1_algorithm,
- INPUT ( 0x01, 0x27, 0xaf, 0x40, 0x17, 0xca, 0xc5, 0xb3, 0x86, 0x24,
- 0xe8, 0x4c, 0x2d, 0x10, 0xef, 0xd7, 0x8d, 0xf4, 0xf4, 0x77,
- 0xd6, 0x54, 0x69, 0x5a, 0x04, 0x32, 0x32, 0x6b, 0x3a, 0x1c,
- 0x4e, 0x88, 0x4a, 0x90, 0x22, 0x28, 0xe8, 0x9e, 0xaa, 0x90,
- 0x36, 0xcd, 0x2a, 0xf7, 0x05, 0x66, 0x81, 0x26, 0x23, 0x72,
- 0xc7, 0x13, 0x71, 0xd4, 0x53, 0x3d, 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, 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 ),
- EXPECT ( 0x2c, 0x9c, 0x0d, 0x80, 0x03, 0xe3, 0x40, 0x23, 0xbe, 0x5b,
- 0x63, 0xfd, 0xb9, 0xd2, 0x24, 0xb4, 0x25, 0x0c, 0xc8, 0x15,
- 0x5b, 0xd1, 0xee, 0xd8, 0xe5, 0x5d, 0x91, 0x06, 0x2f, 0xdd,
- 0x27, 0x64, 0xb8, 0xae, 0xa9, 0xc8, 0x2f, 0x84, 0x7e, 0x09,
- 0xa3, 0xfe, 0xa1, 0xc7, 0x11, 0x7d, 0x6f, 0x7d, 0xd2, 0xef,
- 0x77, 0x7d, 0x7c, 0xf3, 0xeb ) );
-
-/** SHA-1 Test 12 */
-HASH_DF_TEST ( test_sha1_12, sha1_algorithm,
- INPUT ( 0x00, 0x2c, 0x9c, 0x0d, 0x80, 0x03, 0xe3, 0x40, 0x23, 0xbe,
- 0x5b, 0x63, 0xfd, 0xb9, 0xd2, 0x24, 0xb4, 0x25, 0x0c, 0xc8,
- 0x15, 0x5b, 0xd1, 0xee, 0xd8, 0xe5, 0x5d, 0x91, 0x06, 0x2f,
- 0xdd, 0x27, 0x64, 0xb8, 0xae, 0xa9, 0xc8, 0x2f, 0x84, 0x7e,
- 0x09, 0xa3, 0xfe, 0xa1, 0xc7, 0x11, 0x7d, 0x6f, 0x7d, 0xd2,
- 0xef, 0x77, 0x7d, 0x7c, 0xf3, 0xeb ),
- EXPECT ( 0x7e, 0x8a, 0xa4, 0x93, 0x42, 0x72, 0xf2, 0xa2, 0x8b, 0xbf,
- 0xd7, 0xaf, 0xcc, 0x88, 0xce, 0x1c, 0x80, 0x6a, 0x38, 0xea,
- 0x7b, 0x89, 0x45, 0xc8, 0xd1, 0xb6, 0xf1, 0x75, 0x03, 0x78,
- 0x54, 0x6a, 0xb1, 0xa2, 0x96, 0x00, 0xd6, 0x44, 0xec, 0x52,
- 0x0e, 0x8b, 0xff, 0xf6, 0x0c, 0xb7, 0x7f, 0xa5, 0x4b, 0xb1,
- 0x1a, 0x83, 0x31, 0xcb, 0x24 ) );
-
-/** SHA-1 Test 13 */
-HASH_DF_TEST ( test_sha1_13, sha1_algorithm,
- INPUT ( 0x01, 0x99, 0xb9, 0x53, 0x7b, 0x84, 0x27, 0xb8, 0xce, 0x23,
- 0x21, 0x9a, 0x61, 0x1c, 0xbe, 0x61, 0x06, 0x44, 0xcf, 0x85,
- 0x03, 0xee, 0xc5, 0xba, 0x22, 0xde, 0x1a, 0xb2, 0x12, 0xc3,
- 0xd0, 0x85, 0x8e, 0x9e, 0x3b, 0x90, 0x26, 0xd4, 0xe7, 0x7d,
- 0x58, 0xe0, 0x2e, 0x85, 0xa2, 0x31, 0x4c, 0xe3, 0xd7, 0x4a,
- 0x93, 0x32, 0x4b, 0x27, 0xbd, 0xe8, 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 ),
- EXPECT ( 0xe5, 0x04, 0x3d, 0x1b, 0x95, 0x4b, 0x34, 0xba, 0x60, 0xd2,
- 0x48, 0xe8, 0x83, 0xef, 0x49, 0x8c, 0x5c, 0x52, 0x36, 0xb8,
- 0x26, 0x0e, 0x23, 0x8e, 0x02, 0xc8, 0xd4, 0xfc, 0x5f, 0xfe,
- 0x90, 0xfa, 0x40, 0x13, 0x44, 0x70, 0x75, 0xbb, 0x54, 0x3e,
- 0xf0, 0x0c, 0x3b, 0xda, 0x59, 0x6b, 0x10, 0x88, 0x61, 0xf0,
- 0x6b, 0xf9, 0x1b, 0x45, 0xd6 ) );
-
-/** SHA-1 Test 14 */
-HASH_DF_TEST ( test_sha1_14, sha1_algorithm,
- INPUT ( 0x00, 0xe5, 0x04, 0x3d, 0x1b, 0x95, 0x4b, 0x34, 0xba, 0x60,
- 0xd2, 0x48, 0xe8, 0x83, 0xef, 0x49, 0x8c, 0x5c, 0x52, 0x36,
- 0xb8, 0x26, 0x0e, 0x23, 0x8e, 0x02, 0xc8, 0xd4, 0xfc, 0x5f,
- 0xfe, 0x90, 0xfa, 0x40, 0x13, 0x44, 0x70, 0x75, 0xbb, 0x54,
- 0x3e, 0xf0, 0x0c, 0x3b, 0xda, 0x59, 0x6b, 0x10, 0x88, 0x61,
- 0xf0, 0x6b, 0xf9, 0x1b, 0x45, 0xd6 ),
- EXPECT ( 0x1f, 0x3f, 0x63, 0x10, 0xed, 0x10, 0xfc, 0x9f, 0x93, 0x8c,
- 0x43, 0x22, 0x61, 0xaf, 0x42, 0xe9, 0xe9, 0x17, 0x5f, 0x08,
- 0x0f, 0x32, 0x22, 0xdc, 0x11, 0x8b, 0xa7, 0xcf, 0x88, 0x8c,
- 0xdc, 0x3f, 0x36, 0x0d, 0xd2, 0x8f, 0x5e, 0xcb, 0x7c, 0x80,
- 0xa6, 0xbc, 0xfc, 0xfc, 0x0f, 0x51, 0xfe, 0x2f, 0x77, 0xc1,
- 0xc9, 0x9d, 0xf0, 0xa2, 0x09 ) );
-
-/** SHA-1 Test 15 */
-HASH_DF_TEST ( test_sha1_15, sha1_algorithm,
- INPUT ( 0x01, 0x04, 0x43, 0xa0, 0x2c, 0x82, 0x5c, 0x31, 0x59, 0xf4,
- 0x5e, 0x8c, 0x0a, 0xe5, 0x9e, 0x8c, 0x76, 0x45, 0x69, 0x95,
- 0xc0, 0x35, 0x40, 0x46, 0x6a, 0x14, 0x54, 0x7c, 0xcb, 0xe8,
- 0x8b, 0x6d, 0x39, 0x76, 0x21, 0x17, 0x32, 0x84, 0x72, 0xf5,
- 0x2b, 0x84, 0x57, 0x5a, 0xaf, 0xe8, 0x8b, 0x2d, 0x1e, 0x50,
- 0x4f, 0x21, 0xec, 0x4e, 0x31, 0x35, 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 ),
- EXPECT ( 0x9d, 0xc3, 0x52, 0x08, 0xee, 0x2b, 0x8c, 0x58, 0x1e, 0xa3,
- 0x0b, 0xaa, 0xcb, 0x5d, 0x74, 0x31, 0x7a, 0x87, 0x94, 0x54,
- 0x10, 0x71, 0x7e, 0x58, 0xd3, 0x70, 0x5f, 0xbd, 0xc7, 0x60,
- 0xbe, 0x0c, 0xc9, 0x0e, 0xd1, 0xcc, 0xbb, 0x89, 0x7d, 0x47,
- 0xd2, 0x7e, 0x2b, 0x2e, 0x42, 0x2b, 0x32, 0xb9, 0x7f, 0x05,
- 0x0d, 0x1b, 0xd2, 0xb4, 0x90 ) );
-
-/** SHA-1 Test 16 */
-HASH_DF_TEST ( test_sha1_16, sha1_algorithm,
- INPUT ( 0x00, 0x9d, 0xc3, 0x52, 0x08, 0xee, 0x2b, 0x8c, 0x58, 0x1e,
- 0xa3, 0x0b, 0xaa, 0xcb, 0x5d, 0x74, 0x31, 0x7a, 0x87, 0x94,
- 0x54, 0x10, 0x71, 0x7e, 0x58, 0xd3, 0x70, 0x5f, 0xbd, 0xc7,
- 0x60, 0xbe, 0x0c, 0xc9, 0x0e, 0xd1, 0xcc, 0xbb, 0x89, 0x7d,
- 0x47, 0xd2, 0x7e, 0x2b, 0x2e, 0x42, 0x2b, 0x32, 0xb9, 0x7f,
- 0x05, 0x0d, 0x1b, 0xd2, 0xb4, 0x90 ),
- EXPECT ( 0x1a, 0x5a, 0xd6, 0xce, 0xa3, 0xd1, 0x5d, 0xa5, 0xfb, 0x47,
- 0x42, 0x13, 0x13, 0x09, 0xf0, 0xed, 0x88, 0xcf, 0x4c, 0x90,
- 0xa6, 0xc1, 0xcc, 0xee, 0x35, 0xa8, 0x76, 0xeb, 0xfc, 0xcc,
- 0x82, 0x67, 0x29, 0xb6, 0x63, 0x9f, 0x81, 0x19, 0x65, 0xb0,
- 0xef, 0x85, 0x76, 0xe7, 0x5c, 0xb3, 0xcf, 0xe8, 0x22, 0x07,
- 0x68, 0xb2, 0x6c, 0xe7, 0x7a ) );
-
-/** SHA-1 Test 17 */
-HASH_DF_TEST ( test_sha1_17, sha1_algorithm,
- INPUT ( 0x01, 0x99, 0xb9, 0x53, 0x7b, 0x84, 0x27, 0xb8, 0xce, 0x23,
- 0x21, 0x9a, 0x61, 0x1c, 0xbe, 0x61, 0x06, 0x44, 0xcf, 0x85,
- 0x03, 0xee, 0xc5, 0xba, 0x22, 0xde, 0x1a, 0xb2, 0x12, 0xc3,
- 0xd0, 0x85, 0x8e, 0x9e, 0x3b, 0x90, 0x26, 0xd4, 0xe7, 0x7d,
- 0x58, 0xe0, 0x2e, 0x85, 0xa2, 0x31, 0x4c, 0xe3, 0xd7, 0x4a,
- 0x93, 0x32, 0x4b, 0x27, 0xbd, 0xe8, 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, 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 ),
- EXPECT ( 0x56, 0x3a, 0x5d, 0x20, 0x7d, 0x37, 0x70, 0x7b, 0xf5, 0xf2,
- 0x4d, 0x0b, 0xd4, 0x93, 0x5d, 0xc3, 0x8d, 0xbe, 0x04, 0x36,
- 0x37, 0xb3, 0xff, 0x8a, 0xb6, 0x8c, 0xfc, 0xe2, 0xf2, 0x90,
- 0xd1, 0x69, 0x95, 0x20, 0x55, 0x24, 0x19, 0x0f, 0xd2, 0x91,
- 0xaa, 0x8a, 0x6e, 0x6b, 0x8e, 0x6d, 0x56, 0xa4, 0x31, 0x33,
- 0x3b, 0x40, 0x8e, 0x6f, 0xa8 ) );
-
-/** SHA-1 Test 18 */
-HASH_DF_TEST ( test_sha1_18, sha1_algorithm,
- INPUT ( 0x00, 0x56, 0x3a, 0x5d, 0x20, 0x7d, 0x37, 0x70, 0x7b, 0xf5,
- 0xf2, 0x4d, 0x0b, 0xd4, 0x93, 0x5d, 0xc3, 0x8d, 0xbe, 0x04,
- 0x36, 0x37, 0xb3, 0xff, 0x8a, 0xb6, 0x8c, 0xfc, 0xe2, 0xf2,
- 0x90, 0xd1, 0x69, 0x95, 0x20, 0x55, 0x24, 0x19, 0x0f, 0xd2,
- 0x91, 0xaa, 0x8a, 0x6e, 0x6b, 0x8e, 0x6d, 0x56, 0xa4, 0x31,
- 0x33, 0x3b, 0x40, 0x8e, 0x6f, 0xa8 ),
- EXPECT ( 0xc5, 0xd3, 0xe9, 0x55, 0x1e, 0x00, 0xe4, 0xee, 0x32, 0xb2,
- 0x11, 0x6f, 0xaf, 0x4d, 0xef, 0xf4, 0xd4, 0xcf, 0xad, 0x2b,
- 0xdc, 0x2d, 0xba, 0xa2, 0xe0, 0xe7, 0xf9, 0xdd, 0xb9, 0xd8,
- 0x1e, 0xed, 0x45, 0xe0, 0xa5, 0x0d, 0xa5, 0xaf, 0xd5, 0xc1,
- 0xf6, 0xbc, 0xda, 0xf8, 0x1d, 0x28, 0x9c, 0xf4, 0xbd, 0x3c,
- 0x91, 0xb7, 0x00, 0x5c, 0x18 ) );
-
-/** SHA-1 Test 19 */
-HASH_DF_TEST ( test_sha1_19, sha1_algorithm,
- INPUT ( 0x01, 0x1c, 0x0e, 0x46, 0x75, 0x9b, 0x38, 0x55, 0x6a, 0x28,
- 0xa4, 0x5e, 0x7b, 0x83, 0xe1, 0x4d, 0xb8, 0x62, 0x8d, 0xb1,
- 0x62, 0x13, 0xe1, 0xba, 0x2d, 0x97, 0x74, 0xf6, 0xc0, 0xac,
- 0x68, 0xf0, 0x56, 0xdb, 0x00, 0xfb, 0x12, 0xe1, 0x5b, 0xf4,
- 0xde, 0x95, 0x50, 0xb7, 0x33, 0x1e, 0x2d, 0xbd, 0x66, 0x4c,
- 0x3a, 0xb7, 0x76, 0xe8, 0x25, 0x51, 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, 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 ),
- EXPECT ( 0x60, 0x01, 0x93, 0xc8, 0xf6, 0x03, 0x1a, 0x2d, 0x49, 0x37,
- 0x2a, 0x8b, 0x0f, 0x60, 0xf6, 0x8c, 0x1d, 0xfd, 0xac, 0xd4,
- 0xf8, 0xea, 0x01, 0x37, 0x47, 0xd7, 0x14, 0x82, 0x33, 0x3d,
- 0xf5, 0x25, 0x2e, 0x95, 0xb8, 0x22, 0x57, 0x39, 0x1b, 0xf1,
- 0x0a, 0xb0, 0x7d, 0x12, 0x08, 0xb6, 0xbd, 0x66, 0x5b, 0x30,
- 0x0a, 0xa4, 0xdb, 0x9c, 0x3e ) );
-
-/** SHA-1 Test 20 */
-HASH_DF_TEST ( test_sha1_20, sha1_algorithm,
- INPUT ( 0x00, 0x60, 0x01, 0x93, 0xc8, 0xf6, 0x03, 0x1a, 0x2d, 0x49,
- 0x37, 0x2a, 0x8b, 0x0f, 0x60, 0xf6, 0x8c, 0x1d, 0xfd, 0xac,
- 0xd4, 0xf8, 0xea, 0x01, 0x37, 0x47, 0xd7, 0x14, 0x82, 0x33,
- 0x3d, 0xf5, 0x25, 0x2e, 0x95, 0xb8, 0x22, 0x57, 0x39, 0x1b,
- 0xf1, 0x0a, 0xb0, 0x7d, 0x12, 0x08, 0xb6, 0xbd, 0x66, 0x5b,
- 0x30, 0x0a, 0xa4, 0xdb, 0x9c, 0x3e ),
- EXPECT ( 0x6b, 0x71, 0x82, 0x3b, 0x18, 0x20, 0x07, 0x71, 0xca, 0xae,
- 0x5d, 0x12, 0x55, 0xc1, 0x40, 0x3e, 0xdf, 0xe3, 0x8b, 0x4d,
- 0x18, 0xc7, 0x87, 0xbb, 0x44, 0xcd, 0x17, 0x18, 0x61, 0x52,
- 0xef, 0xea, 0xd6, 0xfd, 0xc4, 0xb8, 0x94, 0xf9, 0x20, 0x02,
- 0xc0, 0x72, 0x09, 0x55, 0x5d, 0x7e, 0x35, 0x54, 0xf9, 0xd1,
- 0x2f, 0xc5, 0x59, 0x7f, 0x22 ) );
-
-/** SHA-256 Test 1 */
-HASH_DF_TEST ( test_sha256_1, sha256_algorithm,
- INPUT ( 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, 0x20, 0x21, 0x22, 0x23, 0x24,
- 0x25, 0x26, 0x27 ),
- EXPECT ( 0xab, 0x41, 0xcd, 0xe4, 0x37, 0xab, 0x8b, 0x09, 0x1c, 0xa7,
- 0xc5, 0x75, 0x5d, 0x10, 0xf0, 0x11, 0x0c, 0x1d, 0xbd, 0x46,
- 0x2f, 0x22, 0x6c, 0xfd, 0xab, 0xfb, 0xb0, 0x4a, 0x8b, 0xcd,
- 0xef, 0x95, 0x16, 0x7d, 0x84, 0xaf, 0x64, 0x12, 0x8c, 0x0d,
- 0x71, 0xf4, 0xd5, 0xb8, 0xc0, 0xed, 0xfb, 0xbe, 0x3d, 0xf4,
- 0x04, 0x48, 0xd2, 0xd8, 0xe1 ) );
-
-/** SHA-256 Test 2 */
-HASH_DF_TEST ( test_sha256_2, sha256_algorithm,
- INPUT ( 0x00, 0xab, 0x41, 0xcd, 0xe4, 0x37, 0xab, 0x8b, 0x09, 0x1c,
- 0xa7, 0xc5, 0x75, 0x5d, 0x10, 0xf0, 0x11, 0x0c, 0x1d, 0xbd,
- 0x46, 0x2f, 0x22, 0x6c, 0xfd, 0xab, 0xfb, 0xb0, 0x4a, 0x8b,
- 0xcd, 0xef, 0x95, 0x16, 0x7d, 0x84, 0xaf, 0x64, 0x12, 0x8c,
- 0x0d, 0x71, 0xf4, 0xd5, 0xb8, 0xc0, 0xed, 0xfb, 0xbe, 0x3d,
- 0xf4, 0x04, 0x48, 0xd2, 0xd8, 0xe1 ),
- EXPECT ( 0xe1, 0x5d, 0xe4, 0xa8, 0xe3, 0xb1, 0x41, 0x9b, 0x61, 0xd5,
- 0x34, 0xf1, 0x5d, 0xbd, 0x31, 0xee, 0x19, 0xec, 0x59, 0x5f,
- 0x8b, 0x98, 0x11, 0x1a, 0x94, 0xf5, 0x22, 0x37, 0xad, 0x5d,
- 0x66, 0xf0, 0xcf, 0xaa, 0xfd, 0xdc, 0x90, 0x19, 0x59, 0x02,
- 0xe9, 0x79, 0xf7, 0x9b, 0x65, 0x35, 0x7f, 0xea, 0x85, 0x99,
- 0x8e, 0x4e, 0x37, 0xd2, 0xc1 ) );
-
-/** SHA-256 Test 3 */
-HASH_DF_TEST ( test_sha256_3, sha256_algorithm,
- INPUT ( 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, 0x20, 0x21, 0x22, 0x23, 0x24,
- 0x25, 0x26, 0x27, 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 ),
- EXPECT ( 0xa3, 0xe9, 0x4e, 0x39, 0x26, 0xfd, 0xa1, 0x69, 0xc3, 0x03,
- 0xd6, 0x64, 0x38, 0x39, 0x05, 0xe0, 0xd7, 0x99, 0x62, 0xd1,
- 0x65, 0x44, 0x6d, 0x63, 0xbd, 0xa6, 0x54, 0xd1, 0x32, 0xf7,
- 0x2d, 0xb4, 0x71, 0x56, 0x4b, 0x45, 0x6f, 0xf2, 0xee, 0xc8,
- 0x36, 0x42, 0x2a, 0xcc, 0x5a, 0x02, 0x99, 0x35, 0xa7, 0x99,
- 0x29, 0x90, 0x94, 0xa1, 0xca ) );
-
-/** SHA-256 Test 4 */
-HASH_DF_TEST ( test_sha256_4, sha256_algorithm,
- INPUT ( 0x00, 0xa3, 0xe9, 0x4e, 0x39, 0x26, 0xfd, 0xa1, 0x69, 0xc3,
- 0x03, 0xd6, 0x64, 0x38, 0x39, 0x05, 0xe0, 0xd7, 0x99, 0x62,
- 0xd1, 0x65, 0x44, 0x6d, 0x63, 0xbd, 0xa6, 0x54, 0xd1, 0x32,
- 0xf7, 0x2d, 0xb4, 0x71, 0x56, 0x4b, 0x45, 0x6f, 0xf2, 0xee,
- 0xc8, 0x36, 0x42, 0x2a, 0xcc, 0x5a, 0x02, 0x99, 0x35, 0xa7,
- 0x99, 0x29, 0x90, 0x94, 0xa1, 0xca ),
- EXPECT ( 0x44, 0x74, 0x8a, 0x78, 0xb1, 0x6e, 0x75, 0x55, 0x9f, 0x88,
- 0x1d, 0x51, 0xc1, 0x5d, 0xfe, 0x6c, 0x52, 0xcf, 0xb0, 0xbb,
- 0x71, 0x62, 0x01, 0x69, 0xc7, 0x93, 0x34, 0x27, 0x67, 0xe7,
- 0xf8, 0x87, 0x5f, 0x42, 0xcb, 0x6a, 0x20, 0xc8, 0x9d, 0x7c,
- 0x6e, 0xf3, 0xdc, 0x61, 0x0d, 0x8f, 0xf2, 0x03, 0xd6, 0x76,
- 0x6c, 0xed, 0x19, 0x19, 0xd0 ) );
-
-/** SHA-256 Test 5 */
-HASH_DF_TEST ( test_sha256_5, sha256_algorithm,
- INPUT ( 0x01, 0xab, 0x41, 0xcd, 0xe4, 0x37, 0xab, 0x8b, 0x09, 0x1c,
- 0xa7, 0xc5, 0x75, 0x5d, 0x10, 0xf0, 0x11, 0x0c, 0x1d, 0xbd,
- 0x46, 0x2f, 0x22, 0x6c, 0xfd, 0xab, 0xfb, 0xb0, 0x4a, 0x8b,
- 0xcd, 0xef, 0x95, 0x16, 0x7d, 0x84, 0xaf, 0x64, 0x12, 0x8c,
- 0x0d, 0x71, 0xf4, 0xd5, 0xb8, 0xc0, 0xed, 0xfb, 0xbe, 0x3d,
- 0xf4, 0x04, 0x48, 0xd2, 0xd8, 0xe1, 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 ),
- EXPECT ( 0x3c, 0x40, 0xe8, 0xdc, 0x71, 0x72, 0xfd, 0xa2, 0x32, 0x55,
- 0x0a, 0x1d, 0x8e, 0x14, 0x47, 0xc1, 0x1f, 0x47, 0x48, 0x88,
- 0xf9, 0x6c, 0xd8, 0x5c, 0x38, 0x63, 0xd5, 0xe4, 0x84, 0x26,
- 0x67, 0x56, 0x28, 0xd0, 0x88, 0x85, 0x34, 0x7c, 0x3e, 0xfd,
- 0x62, 0x92, 0xfd, 0xdc, 0xd1, 0xa1, 0x42, 0x1e, 0xed, 0x51,
- 0xb7, 0x13, 0xab, 0x09, 0x0f ) );
-
-/** SHA-256 Test 6 */
-HASH_DF_TEST ( test_sha256_6, sha256_algorithm,
- INPUT ( 0x00, 0x3c, 0x40, 0xe8, 0xdc, 0x71, 0x72, 0xfd, 0xa2, 0x32,
- 0x55, 0x0a, 0x1d, 0x8e, 0x14, 0x47, 0xc1, 0x1f, 0x47, 0x48,
- 0x88, 0xf9, 0x6c, 0xd8, 0x5c, 0x38, 0x63, 0xd5, 0xe4, 0x84,
- 0x26, 0x67, 0x56, 0x28, 0xd0, 0x88, 0x85, 0x34, 0x7c, 0x3e,
- 0xfd, 0x62, 0x92, 0xfd, 0xdc, 0xd1, 0xa1, 0x42, 0x1e, 0xed,
- 0x51, 0xb7, 0x13, 0xab, 0x09, 0x0f ),
- EXPECT ( 0xe7, 0x56, 0x83, 0x84, 0xf2, 0x64, 0xe4, 0xa7, 0xe7, 0xae,
- 0x85, 0x0d, 0x9d, 0x50, 0x1f, 0xd6, 0x31, 0x83, 0x56, 0x4f,
- 0xd7, 0xd3, 0x90, 0x44, 0x6f, 0x5b, 0xe5, 0xf6, 0x7b, 0x50,
- 0x19, 0x5b, 0x52, 0x84, 0x69, 0x2a, 0xd4, 0xb7, 0x6d, 0xfd,
- 0x4f, 0x52, 0x4b, 0xcf, 0xcc, 0xab, 0x62, 0xc1, 0x30, 0x9f,
- 0x25, 0x15, 0x17, 0xdf, 0xfd ) );
-
-/** SHA-256 Test 7 */
-HASH_DF_TEST ( test_sha256_7, sha256_algorithm,
- INPUT ( 0x01, 0x23, 0x97, 0x6c, 0x61, 0x63, 0xd7, 0xe2, 0x4a, 0x1a,
- 0x03, 0x8f, 0x2b, 0x2b, 0x64, 0x67, 0x97, 0x50, 0xca, 0x9e,
- 0xd8, 0xd1, 0x40, 0x69, 0x8d, 0x64, 0x22, 0x39, 0x7b, 0x02,
- 0x96, 0x9e, 0x6e, 0xcd, 0xd2, 0x9d, 0xac, 0xc5, 0x76, 0x7e,
- 0x2c, 0xc2, 0xd0, 0xa1, 0x56, 0xc8, 0x7a, 0xd0, 0xb3, 0x57,
- 0x89, 0x05, 0x07, 0xe0, 0x37, 0x77, 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 ),
- EXPECT ( 0xe9, 0x83, 0xb1, 0x66, 0xa9, 0x2a, 0x99, 0x7e, 0xab, 0xcc,
- 0x96, 0x6c, 0x6a, 0xa3, 0xd3, 0xb3, 0xa1, 0x68, 0x1f, 0xc5,
- 0x8f, 0x58, 0x29, 0x40, 0x3b, 0x48, 0x60, 0x1e, 0xc1, 0x77,
- 0x54, 0x94, 0x2e, 0x11, 0xc1, 0xcd, 0x46, 0x5b, 0x7d, 0xbe,
- 0x2a, 0x78, 0xca, 0x04, 0x2c, 0xf9, 0xb3, 0x05, 0x71, 0xff,
- 0x12, 0xe3, 0xb9, 0xf6, 0xc9 ) );
-
-/** SHA-256 Test 8 */
-HASH_DF_TEST ( test_sha256_8, sha256_algorithm,
- INPUT ( 0x00, 0xe9, 0x83, 0xb1, 0x66, 0xa9, 0x2a, 0x99, 0x7e, 0xab,
- 0xcc, 0x96, 0x6c, 0x6a, 0xa3, 0xd3, 0xb3, 0xa1, 0x68, 0x1f,
- 0xc5, 0x8f, 0x58, 0x29, 0x40, 0x3b, 0x48, 0x60, 0x1e, 0xc1,
- 0x77, 0x54, 0x94, 0x2e, 0x11, 0xc1, 0xcd, 0x46, 0x5b, 0x7d,
- 0xbe, 0x2a, 0x78, 0xca, 0x04, 0x2c, 0xf9, 0xb3, 0x05, 0x71,
- 0xff, 0x12, 0xe3, 0xb9, 0xf6, 0xc9 ),
- EXPECT ( 0xa9, 0x77, 0x5c, 0xe1, 0x65, 0x5b, 0xff, 0x95, 0x1b, 0xe0,
- 0xaf, 0x5b, 0x79, 0x59, 0x72, 0x5c, 0x76, 0x7d, 0x86, 0xf1,
- 0xe1, 0x9b, 0x11, 0xb8, 0x90, 0x04, 0xf6, 0x97, 0x4d, 0xbf,
- 0xa0, 0x46, 0x04, 0x45, 0x8e, 0x5c, 0x52, 0x8e, 0x7e, 0x1d,
- 0xfa, 0xb3, 0x88, 0x7b, 0xa4, 0xaa, 0xdb, 0xd6, 0xfb, 0xde,
- 0x0b, 0x31, 0x6f, 0x1d, 0x91 ) );
-
-/** SHA-256 Test 9 */
-HASH_DF_TEST ( test_sha256_9, sha256_algorithm,
- INPUT ( 0x01, 0xab, 0x41, 0xcd, 0xe4, 0x37, 0xab, 0x8b, 0x09, 0x1c,
- 0xa7, 0xc5, 0x75, 0x5d, 0x10, 0xf0, 0x11, 0x0c, 0x1d, 0xbd,
- 0x46, 0x2f, 0x22, 0x6c, 0xfd, 0xab, 0xfb, 0xb0, 0x4a, 0x8b,
- 0xcd, 0xef, 0x95, 0x16, 0x7d, 0x84, 0xaf, 0x64, 0x12, 0x8c,
- 0x0d, 0x71, 0xf4, 0xd5, 0xb8, 0xc0, 0xed, 0xfb, 0xbe, 0x3d,
- 0xf4, 0x04, 0x48, 0xd2, 0xd8, 0xe1, 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, 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 ),
- EXPECT ( 0x57, 0xb2, 0xcf, 0x00, 0xb5, 0x42, 0x97, 0x46, 0x0b, 0x08,
- 0x7e, 0x52, 0x75, 0xd7, 0xdd, 0x74, 0x23, 0xb6, 0xe3, 0xb6,
- 0x5e, 0x35, 0x16, 0xd2, 0x48, 0x11, 0x99, 0xa0, 0x17, 0xb5,
- 0x3a, 0x22, 0x20, 0x33, 0xfe, 0x68, 0xa6, 0x0b, 0xd0, 0xbd,
- 0x70, 0x40, 0x26, 0xcd, 0x5a, 0x3e, 0x79, 0x55, 0xdb, 0x01,
- 0xdc, 0xb2, 0x84, 0x48, 0xd1 ) );
-
-/** SHA-256 Test 10 */
-HASH_DF_TEST ( test_sha256_10, sha256_algorithm,
- INPUT ( 0x00, 0x57, 0xb2, 0xcf, 0x00, 0xb5, 0x42, 0x97, 0x46, 0x0b,
- 0x08, 0x7e, 0x52, 0x75, 0xd7, 0xdd, 0x74, 0x23, 0xb6, 0xe3,
- 0xb6, 0x5e, 0x35, 0x16, 0xd2, 0x48, 0x11, 0x99, 0xa0, 0x17,
- 0xb5, 0x3a, 0x22, 0x20, 0x33, 0xfe, 0x68, 0xa6, 0x0b, 0xd0,
- 0xbd, 0x70, 0x40, 0x26, 0xcd, 0x5a, 0x3e, 0x79, 0x55, 0xdb,
- 0x01, 0xdc, 0xb2, 0x84, 0x48, 0xd1 ),
- EXPECT ( 0x5b, 0xc1, 0xc6, 0x45, 0xcc, 0x8d, 0x32, 0x15, 0x82, 0xaf,
- 0xbb, 0x00, 0x16, 0x99, 0x2b, 0x0f, 0x3a, 0xfe, 0x0f, 0x54,
- 0x7a, 0xe7, 0xa7, 0x4c, 0x9c, 0x05, 0xa1, 0x44, 0x02, 0xfb,
- 0xb1, 0xd5, 0x40, 0xe6, 0x80, 0x9d, 0x8b, 0xee, 0xf5, 0x99,
- 0xed, 0x4c, 0x39, 0x16, 0x47, 0x40, 0xed, 0xa0, 0xd9, 0xc3,
- 0x79, 0x5d, 0xe5, 0x52, 0xc5 ) );
-
-/** SHA-256 Test 11 */
-HASH_DF_TEST ( test_sha256_11, sha256_algorithm,
- INPUT ( 0x01, 0xb3, 0x74, 0x95, 0x46, 0x81, 0xcf, 0xc9, 0x5b, 0x8d,
- 0xb8, 0x39, 0x52, 0x8c, 0x71, 0x08, 0x83, 0x5e, 0xb4, 0xf3,
- 0x0a, 0xd9, 0x1c, 0xbe, 0x9e, 0xa0, 0xd5, 0x45, 0xcc, 0xfd,
- 0x18, 0x13, 0x2a, 0xf1, 0xd3, 0x76, 0x8f, 0x47, 0x02, 0x77,
- 0x2b, 0x69, 0x15, 0x9f, 0x2c, 0xc0, 0x7f, 0x48, 0x74, 0x1e,
- 0xb5, 0xb2, 0xb1, 0x22, 0x11, 0x25, 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, 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 ),
- EXPECT ( 0x5d, 0xc1, 0xc5, 0xf4, 0xb4, 0x11, 0x50, 0xce, 0xe0, 0xef,
- 0xc1, 0x29, 0xb8, 0x37, 0xb3, 0x1c, 0x84, 0xd7, 0x91, 0xff,
- 0x2e, 0x7e, 0xda, 0xc2, 0x9c, 0x2c, 0x50, 0xcf, 0x8a, 0x40,
- 0x70, 0x9b, 0x98, 0x64, 0x0f, 0x7b, 0xbd, 0x32, 0xbc, 0xf0,
- 0xfc, 0xb6, 0x13, 0xf9, 0x6d, 0x55, 0xd1, 0x60, 0x56, 0xbb,
- 0x3c, 0xa6, 0xa7, 0x74, 0x05 ) );
-
-/** SHA-256 Test 12 */
-HASH_DF_TEST ( test_sha256_12, sha256_algorithm,
- INPUT ( 0x00, 0x5d, 0xc1, 0xc5, 0xf4, 0xb4, 0x11, 0x50, 0xce, 0xe0,
- 0xef, 0xc1, 0x29, 0xb8, 0x37, 0xb3, 0x1c, 0x84, 0xd7, 0x91,
- 0xff, 0x2e, 0x7e, 0xda, 0xc2, 0x9c, 0x2c, 0x50, 0xcf, 0x8a,
- 0x40, 0x70, 0x9b, 0x98, 0x64, 0x0f, 0x7b, 0xbd, 0x32, 0xbc,
- 0xf0, 0xfc, 0xb6, 0x13, 0xf9, 0x6d, 0x55, 0xd1, 0x60, 0x56,
- 0xbb, 0x3c, 0xa6, 0xa7, 0x74, 0x05 ),
- EXPECT ( 0x62, 0x22, 0x10, 0x8c, 0xed, 0xfe, 0x6d, 0x6a, 0x22, 0x9f,
- 0x8c, 0x3c, 0xbf, 0x44, 0x68, 0xc8, 0xf5, 0x17, 0x22, 0x86,
- 0x4c, 0xc4, 0x16, 0xa4, 0x29, 0x26, 0xd9, 0x9b, 0xa6, 0xf0,
- 0x45, 0xc1, 0xf6, 0x21, 0x11, 0x56, 0x94, 0x6c, 0x6e, 0x79,
- 0x37, 0x29, 0x97, 0x4e, 0xb4, 0xc5, 0xa6, 0x07, 0x8f, 0x9a,
- 0x1d, 0x4d, 0x1c, 0xd7, 0x49 ) );
-
-/** SHA-256 Test 13 */
-HASH_DF_TEST ( test_sha256_13, sha256_algorithm,
- INPUT ( 0x01, 0xa3, 0xe9, 0x4e, 0x39, 0x26, 0xfd, 0xa1, 0x69, 0xc3,
- 0x03, 0xd6, 0x64, 0x38, 0x39, 0x05, 0xe0, 0xd7, 0x99, 0x62,
- 0xd1, 0x65, 0x44, 0x6d, 0x63, 0xbd, 0xa6, 0x54, 0xd1, 0x32,
- 0xf7, 0x2d, 0xb4, 0x71, 0x56, 0x4b, 0x45, 0x6f, 0xf2, 0xee,
- 0xc8, 0x36, 0x42, 0x2a, 0xcc, 0x5a, 0x02, 0x99, 0x35, 0xa7,
- 0x99, 0x29, 0x90, 0x94, 0xa1, 0xca, 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 ),
- EXPECT ( 0xe0, 0x26, 0xa5, 0xc2, 0xe7, 0x62, 0x3e, 0x62, 0xb7, 0x1a,
- 0x2e, 0x04, 0xc2, 0x5f, 0x0b, 0x08, 0x58, 0x2b, 0xe2, 0x16,
- 0x36, 0x34, 0xc0, 0x49, 0x6d, 0x2b, 0x65, 0xda, 0x7e, 0xaa,
- 0x03, 0xb5, 0xc3, 0xb6, 0xb5, 0x10, 0xbb, 0x3f, 0xe4, 0x74,
- 0x34, 0x07, 0x1f, 0x70, 0x7a, 0xc7, 0xfe, 0x4c, 0x39, 0x6a,
- 0xaa, 0xee, 0x76, 0x4c, 0x90 ) );
-
-/** SHA-256 Test 14 */
-HASH_DF_TEST ( test_sha256_14, sha256_algorithm,
- INPUT ( 0x00, 0xe0, 0x26, 0xa5, 0xc2, 0xe7, 0x62, 0x3e, 0x62, 0xb7,
- 0x1a, 0x2e, 0x04, 0xc2, 0x5f, 0x0b, 0x08, 0x58, 0x2b, 0xe2,
- 0x16, 0x36, 0x34, 0xc0, 0x49, 0x6d, 0x2b, 0x65, 0xda, 0x7e,
- 0xaa, 0x03, 0xb5, 0xc3, 0xb6, 0xb5, 0x10, 0xbb, 0x3f, 0xe4,
- 0x74, 0x34, 0x07, 0x1f, 0x70, 0x7a, 0xc7, 0xfe, 0x4c, 0x39,
- 0x6a, 0xaa, 0xee, 0x76, 0x4c, 0x90 ),
- EXPECT ( 0xc9, 0xea, 0x75, 0x4b, 0xee, 0x0a, 0xb6, 0x44, 0x15, 0xca,
- 0x7f, 0xe3, 0x2e, 0xbb, 0xfb, 0x07, 0xed, 0x93, 0x2e, 0x7c,
- 0x95, 0x7e, 0xce, 0xae, 0xf0, 0xcd, 0x2f, 0xa7, 0x7a, 0x46,
- 0xf9, 0xe8, 0x59, 0x62, 0x78, 0x97, 0x54, 0xc6, 0xd2, 0x98,
- 0xf9, 0xb5, 0xe4, 0x59, 0x6b, 0x4e, 0x0e, 0x6d, 0xf4, 0xf4,
- 0xb8, 0x23, 0x60, 0xda, 0x33 ) );
-
-/** SHA-256 Test 15 */
-HASH_DF_TEST ( test_sha256_15, sha256_algorithm,
- INPUT ( 0x01, 0xaa, 0x11, 0x1b, 0x0e, 0xd5, 0x6c, 0xf4, 0xa6, 0xcc,
- 0xe4, 0xad, 0xe7, 0xf1, 0x1b, 0x06, 0x10, 0x45, 0xbf, 0x10,
- 0x92, 0xcb, 0xb3, 0x8f, 0xf3, 0x23, 0x95, 0xea, 0x62, 0xd2,
- 0x6b, 0x27, 0xc8, 0x86, 0x89, 0x45, 0xc5, 0x93, 0xba, 0x70,
- 0xc3, 0x84, 0xad, 0xad, 0x45, 0x77, 0x1c, 0x93, 0xb0, 0x9c,
- 0x27, 0x69, 0x07, 0x52, 0xd1, 0xd8, 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 ),
- EXPECT ( 0xfc, 0x5f, 0x56, 0x48, 0xed, 0xc4, 0xfc, 0x30, 0x7b, 0x5c,
- 0x5a, 0x53, 0xd5, 0x12, 0x89, 0xb5, 0x0e, 0x73, 0xdc, 0xec,
- 0x4a, 0xa1, 0xcb, 0x47, 0xa3, 0xba, 0xd8, 0x46, 0xbb, 0x57,
- 0xc3, 0xc4, 0x80, 0x49, 0x1d, 0xf5, 0x21, 0xc4, 0x66, 0x9b,
- 0xff, 0xf3, 0x7a, 0x41, 0x8b, 0xaf, 0x6e, 0x9b, 0xea, 0xec,
- 0x34, 0x96, 0xd0, 0xf1, 0xa6 ) );
-
-/** SHA-256 Test 16 */
-HASH_DF_TEST ( test_sha256_16, sha256_algorithm,
- INPUT ( 0x00, 0xfc, 0x5f, 0x56, 0x48, 0xed, 0xc4, 0xfc, 0x30, 0x7b,
- 0x5c, 0x5a, 0x53, 0xd5, 0x12, 0x89, 0xb5, 0x0e, 0x73, 0xdc,
- 0xec, 0x4a, 0xa1, 0xcb, 0x47, 0xa3, 0xba, 0xd8, 0x46, 0xbb,
- 0x57, 0xc3, 0xc4, 0x80, 0x49, 0x1d, 0xf5, 0x21, 0xc4, 0x66,
- 0x9b, 0xff, 0xf3, 0x7a, 0x41, 0x8b, 0xaf, 0x6e, 0x9b, 0xea,
- 0xec, 0x34, 0x96, 0xd0, 0xf1, 0xa6 ),
- EXPECT ( 0x62, 0xb0, 0x7d, 0xc3, 0x9e, 0xbd, 0xf3, 0x10, 0x87, 0xb8,
- 0x5d, 0xdc, 0xec, 0xfd, 0x43, 0x35, 0x62, 0xe5, 0x3b, 0xae,
- 0x9f, 0x72, 0x1c, 0x5a, 0xfa, 0xb8, 0xf1, 0xcf, 0x01, 0x61,
- 0xc8, 0x8e, 0x45, 0x50, 0x3e, 0x15, 0xb2, 0x6e, 0x7b, 0x80,
- 0xd5, 0x1d, 0xb0, 0xb9, 0x24, 0x52, 0x36, 0x2d, 0xc3, 0xdc,
- 0x57, 0x0d, 0xfe, 0x6e, 0x17 ) );
-
-/** SHA-256 Test 17 */
-HASH_DF_TEST ( test_sha256_17, sha256_algorithm,
- INPUT ( 0x01, 0xa3, 0xe9, 0x4e, 0x39, 0x26, 0xfd, 0xa1, 0x69, 0xc3,
- 0x03, 0xd6, 0x64, 0x38, 0x39, 0x05, 0xe0, 0xd7, 0x99, 0x62,
- 0xd1, 0x65, 0x44, 0x6d, 0x63, 0xbd, 0xa6, 0x54, 0xd1, 0x32,
- 0xf7, 0x2d, 0xb4, 0x71, 0x56, 0x4b, 0x45, 0x6f, 0xf2, 0xee,
- 0xc8, 0x36, 0x42, 0x2a, 0xcc, 0x5a, 0x02, 0x99, 0x35, 0xa7,
- 0x99, 0x29, 0x90, 0x94, 0xa1, 0xca, 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, 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 ),
- EXPECT ( 0x98, 0x75, 0xbb, 0x7c, 0x7a, 0x0b, 0x23, 0x6b, 0xf4, 0x6f,
- 0x4e, 0xa6, 0x6f, 0x67, 0xc7, 0xb4, 0x4f, 0x80, 0xef, 0x70,
- 0x61, 0x4b, 0xef, 0xe8, 0xb0, 0x85, 0xcc, 0xaf, 0x55, 0x89,
- 0xa7, 0x6f, 0x85, 0xfd, 0x96, 0x69, 0x53, 0xe2, 0x0a, 0x55,
- 0xd2, 0xf3, 0x5b, 0xa5, 0x81, 0xef, 0x51, 0x11, 0xbf, 0xbf,
- 0x05, 0x65, 0x3a, 0xf7, 0xe7 ) );
-
-/** SHA-256 Test 18 */
-HASH_DF_TEST ( test_sha256_18, sha256_algorithm,
- INPUT ( 0x00, 0x98, 0x75, 0xbb, 0x7c, 0x7a, 0x0b, 0x23, 0x6b, 0xf4,
- 0x6f, 0x4e, 0xa6, 0x6f, 0x67, 0xc7, 0xb4, 0x4f, 0x80, 0xef,
- 0x70, 0x61, 0x4b, 0xef, 0xe8, 0xb0, 0x85, 0xcc, 0xaf, 0x55,
- 0x89, 0xa7, 0x6f, 0x85, 0xfd, 0x96, 0x69, 0x53, 0xe2, 0x0a,
- 0x55, 0xd2, 0xf3, 0x5b, 0xa5, 0x81, 0xef, 0x51, 0x11, 0xbf,
- 0xbf, 0x05, 0x65, 0x3a, 0xf7, 0xe7 ),
- EXPECT ( 0x12, 0x80, 0xfe, 0x1f, 0x05, 0x79, 0x8c, 0xca, 0xed, 0x5d,
- 0x6d, 0xf6, 0xe7, 0xd2, 0x6f, 0x04, 0x6e, 0x53, 0x8c, 0xc5,
- 0x2a, 0x6a, 0x03, 0x0d, 0xa8, 0x26, 0xb2, 0xb4, 0x79, 0x82,
- 0xd6, 0xee, 0x8a, 0x68, 0x67, 0x58, 0x07, 0x06, 0x93, 0x9e,
- 0xcc, 0x03, 0xfc, 0x11, 0xb0, 0x05, 0x9f, 0xe2, 0xae, 0xad,
- 0xea, 0x0a, 0x46, 0x98, 0x5c ) );
-
-/** SHA-256 Test 19 */
-HASH_DF_TEST ( test_sha256_19, sha256_algorithm,
- INPUT ( 0x01, 0xaa, 0xf6, 0xb9, 0x9b, 0x7f, 0x84, 0xb0, 0x36, 0xe1,
- 0xcc, 0xbc, 0x9d, 0x57, 0x3a, 0x36, 0xb8, 0xbd, 0xd4, 0x7c,
- 0x35, 0x8b, 0xb5, 0xf3, 0xc1, 0xd6, 0xe7, 0x90, 0x3a, 0xaa,
- 0x29, 0xf1, 0xc8, 0x7a, 0xe6, 0x66, 0xb8, 0x86, 0x93, 0xbe,
- 0xf4, 0x6c, 0x51, 0xc2, 0x4c, 0x47, 0xbe, 0xfe, 0x4b, 0x35,
- 0x75, 0x4d, 0xcb, 0xfa, 0x1e, 0x7d, 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, 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 ),
- EXPECT ( 0xb0, 0x6d, 0xbf, 0xb1, 0x4e, 0x7f, 0x4e, 0x01, 0x25, 0x62,
- 0x94, 0x2f, 0xe4, 0xf2, 0xa9, 0x60, 0x17, 0x07, 0x55, 0x9d,
- 0x7d, 0xd1, 0x90, 0x89, 0x8b, 0xc8, 0x06, 0x24, 0xe5, 0xc8,
- 0xc1, 0xbb, 0x9b, 0x90, 0xfb, 0x2e, 0xef, 0x12, 0xed, 0x24,
- 0xbe, 0xbd, 0x8d, 0xf7, 0x1e, 0xf6, 0x5c, 0x70, 0xfa, 0x4e,
- 0x91, 0x86, 0x3a, 0x31, 0xbe ) );
-
-/** SHA-256 Test 20 */
-HASH_DF_TEST ( test_sha256_20, sha256_algorithm,
- INPUT ( 0x00, 0xb0, 0x6d, 0xbf, 0xb1, 0x4e, 0x7f, 0x4e, 0x01, 0x25,
- 0x62, 0x94, 0x2f, 0xe4, 0xf2, 0xa9, 0x60, 0x17, 0x07, 0x55,
- 0x9d, 0x7d, 0xd1, 0x90, 0x89, 0x8b, 0xc8, 0x06, 0x24, 0xe5,
- 0xc8, 0xc1, 0xbb, 0x9b, 0x90, 0xfb, 0x2e, 0xef, 0x12, 0xed,
- 0x24, 0xbe, 0xbd, 0x8d, 0xf7, 0x1e, 0xf6, 0x5c, 0x70, 0xfa,
- 0x4e, 0x91, 0x86, 0x3a, 0x31, 0xbe ),
- EXPECT ( 0x5c, 0x07, 0xb7, 0x9c, 0x12, 0x83, 0x1b, 0xac, 0x36, 0x52,
- 0x17, 0x8b, 0x2f, 0x90, 0x7a, 0x69, 0x61, 0x98, 0x39, 0xd8,
- 0xa7, 0xfa, 0xa2, 0xb6, 0x95, 0xef, 0xb3, 0x10, 0x82, 0x38,
- 0x01, 0x35, 0x85, 0x19, 0x1f, 0x59, 0x9c, 0x99, 0x07, 0xc7,
- 0x21, 0x92, 0xed, 0x25, 0x7e, 0x9f, 0x6c, 0xd3, 0x77, 0xdd,
- 0x6b, 0xac, 0x33, 0x7c, 0x19 ) );
-
-/**
- * Report Hash_df test result
- *
- * @v test Hash_df test
- */
-#define hash_df_ok( test ) do { \
- uint8_t output[ (test)->expected_len ]; \
- hash_df ( (test)->hash, (test)->input, (test)->input_len, \
- output, sizeof ( output ) ); \
- ok ( memcmp ( (test)->expected, output, \
- sizeof ( output ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Perform Hash_df self-test
- *
- */
-static void hash_df_test_exec ( void ) {
-
- hash_df_ok ( &test_sha1_1 );
- hash_df_ok ( &test_sha1_2 );
- hash_df_ok ( &test_sha1_3 );
- hash_df_ok ( &test_sha1_4 );
- hash_df_ok ( &test_sha1_5 );
- hash_df_ok ( &test_sha1_6 );
- hash_df_ok ( &test_sha1_7 );
- hash_df_ok ( &test_sha1_8 );
- hash_df_ok ( &test_sha1_9 );
- hash_df_ok ( &test_sha1_10 );
- hash_df_ok ( &test_sha1_11 );
- hash_df_ok ( &test_sha1_12 );
- hash_df_ok ( &test_sha1_13 );
- hash_df_ok ( &test_sha1_14 );
- hash_df_ok ( &test_sha1_15 );
- hash_df_ok ( &test_sha1_16 );
- hash_df_ok ( &test_sha1_17 );
- hash_df_ok ( &test_sha1_18 );
- hash_df_ok ( &test_sha1_19 );
- hash_df_ok ( &test_sha1_20 );
-
- hash_df_ok ( &test_sha256_1 );
- hash_df_ok ( &test_sha256_2 );
- hash_df_ok ( &test_sha256_3 );
- hash_df_ok ( &test_sha256_4 );
- hash_df_ok ( &test_sha256_5 );
- hash_df_ok ( &test_sha256_6 );
- hash_df_ok ( &test_sha256_7 );
- hash_df_ok ( &test_sha256_8 );
- hash_df_ok ( &test_sha256_9 );
- hash_df_ok ( &test_sha256_10 );
- hash_df_ok ( &test_sha256_11 );
- hash_df_ok ( &test_sha256_12 );
- hash_df_ok ( &test_sha256_13 );
- hash_df_ok ( &test_sha256_14 );
- hash_df_ok ( &test_sha256_15 );
- hash_df_ok ( &test_sha256_16 );
- hash_df_ok ( &test_sha256_17 );
- hash_df_ok ( &test_sha256_18 );
- hash_df_ok ( &test_sha256_19 );
- hash_df_ok ( &test_sha256_20 );
-}
-
-/** Hash_df self-test */
-struct self_test hash_df_test __self_test = {
- .name = "hash_df",
- .exec = hash_df_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/hmac_drbg_test.c b/qemu/roms/ipxe/src/tests/hmac_drbg_test.c
deleted file mode 100644
index ddf9db2c5..000000000
--- a/qemu/roms/ipxe/src/tests/hmac_drbg_test.c
+++ /dev/null
@@ -1,1390 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * HMAC_DRBG tests
- *
- * These test vectors are provided by NIST as part of the
- * Cryptographic Toolkit Examples, downloadable from:
- *
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/HMAC_DRBG.pdf
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <assert.h>
-#include <string.h>
-#include <ipxe/hmac_drbg.h>
-#include <ipxe/sha1.h>
-#include <ipxe/sha256.h>
-#include <ipxe/test.h>
-
-/** Define inline expected data */
-#define EXPECT(...) { __VA_ARGS__ }
-
-/** An HMAC_DRBG instantiation test */
-struct hmac_drbg_test_instantiate {
- /** Underlying hash algorithm */
- struct digest_algorithm *hash;
- /** Output block length */
- size_t out_len;
- /** Entropy */
- const void *entropy;
- /** Length of entropy */
- size_t entropy_len;
- /** Nonce */
- const void *nonce;
- /** Length of nonce */
- size_t nonce_len;
- /** Personalisation string */
- const void *personal;
- /** Length of personalisation string */
- size_t personal_len;
- /** Expected key */
- const void *expected_key;
- /** Length of expected key */
- size_t expected_key_len;
- /** Expected value */
- const void *expected_value;
- /** Length of expected value */
- size_t expected_value_len;
-};
-
-/**
- * Define an HMAC_DRBG instantiation test
- *
- * @v name Test name
- * @v hmac_drbg HMAC_DRBG algorithm
- * @v entropy_array Entropy input
- * @v nonce_array Nonce
- * @v personal_array Personalisation string
- * @v key Expected key
- * @v value Expected value
- * @ret test Instantiation test
- */
-#define HMAC_DRBG_TEST_INSTANTIATE( name, hmac_drbg, entropy_array, \
- nonce_array, personal_array, \
- key, value ) \
- static const uint8_t name ## _key [] = key; \
- static const uint8_t name ## _value [] = value; \
- static struct hmac_drbg_test_instantiate name = { \
- .hash = HMAC_DRBG_HASH ( hmac_drbg ), \
- .out_len = HMAC_DRBG_OUTLEN_BYTES ( hmac_drbg ), \
- .entropy = entropy_array, \
- .entropy_len = sizeof ( entropy_array ), \
- .nonce = nonce_array, \
- .nonce_len = sizeof ( nonce_array ), \
- .personal = personal_array, \
- .personal_len = sizeof ( personal_array ), \
- .expected_key = name ## _key, \
- .expected_key_len = sizeof ( name ## _key ), \
- .expected_value = name ## _value, \
- .expected_value_len = sizeof ( name ## _value ), \
- }
-
-/**
- * Report instantiation test result
- *
- * @v state HMAC_DRBG internal state
- * @v test Instantiation test
- */
-#define instantiate_ok( state, test ) do { \
- struct { \
- uint8_t entropy[(test)->entropy_len]; \
- uint8_t nonce[(test)->nonce_len]; \
- } __attribute__ (( packed )) entropy_nonce; \
- \
- assert ( (test)->expected_key_len == (test)->out_len ); \
- assert ( (test)->expected_value_len == (test)->out_len ); \
- memcpy ( entropy_nonce.entropy, (test)->entropy, \
- sizeof ( entropy_nonce.entropy ) ); \
- memcpy ( entropy_nonce.nonce, (test)->nonce, \
- sizeof ( entropy_nonce.nonce ) ); \
- hmac_drbg_instantiate ( (test)->hash, (state), &entropy_nonce, \
- sizeof ( entropy_nonce ), \
- (test)->personal, \
- (test)->personal_len ); \
- ok ( memcmp ( (state)->key, (test)->expected_key, \
- (test)->expected_key_len ) == 0 ); \
- ok ( memcmp ( (state)->value, (test)->expected_value, \
- (test)->expected_value_len ) == 0 ); \
- } while ( 0 )
-
-/** An HMAC_DRBG reseed test */
-struct hmac_drbg_test_reseed {
- /** Underlying hash algorithm */
- struct digest_algorithm *hash;
- /** Output block length */
- size_t out_len;
- /** Entropy */
- const void *entropy;
- /** Length of entropy */
- size_t entropy_len;
- /** Additional input */
- const void *additional;
- /** Length of additional_input */
- size_t additional_len;
- /** Expected key */
- const void *expected_key;
- /** Length of expected key */
- size_t expected_key_len;
- /** Expected value */
- const void *expected_value;
- /** Length of expected value */
- size_t expected_value_len;
-};
-
-/**
- * Define an HMAC_DRBG reseed test
- *
- * @v name Test name
- * @v hmac_drbg HMAC_DRBG algorithm
- * @v entropy_array Entropy input
- * @v additional_array Additional input
- * @v key Expected key
- * @v value Expected value
- * @ret test Reseed test
- */
-#define HMAC_DRBG_TEST_RESEED( name, hmac_drbg, entropy_array, \
- additional_array, key, value ) \
- static const uint8_t name ## _key [] = key; \
- static const uint8_t name ## _value [] = value; \
- static struct hmac_drbg_test_reseed name = { \
- .hash = HMAC_DRBG_HASH ( hmac_drbg ), \
- .out_len = HMAC_DRBG_OUTLEN_BYTES ( hmac_drbg ), \
- .entropy = entropy_array, \
- .entropy_len = sizeof ( entropy_array ), \
- .additional = additional_array, \
- .additional_len = sizeof ( additional_array ), \
- .expected_key = name ## _key, \
- .expected_key_len = sizeof ( name ## _key ), \
- .expected_value = name ## _value, \
- .expected_value_len = sizeof ( name ## _value ), \
- }
-
-/**
- * Report reseed test result
- *
- * @v state HMAC_DRBG internal state
- * @v test Reseed test
- */
-#define reseed_ok( state, test ) do { \
- assert ( (test)->expected_key_len == (test)->out_len ); \
- assert ( (test)->expected_value_len == (test)->out_len ); \
- hmac_drbg_reseed ( (test)->hash, (state), (test)->entropy, \
- (test)->entropy_len, (test)->additional, \
- (test)->additional_len ); \
- ok ( memcmp ( (state)->key, (test)->expected_key, \
- (test)->expected_key_len ) == 0 ); \
- ok ( memcmp ( (state)->value, (test)->expected_value, \
- (test)->expected_value_len ) == 0 ); \
- } while ( 0 )
-
-/** An HMAC_DRBG generation test */
-struct hmac_drbg_test_generate {
- /** Underlying hash algorithm */
- struct digest_algorithm *hash;
- /** Output block length */
- size_t out_len;
- /** Additional input */
- const void *additional;
- /** Length of additional_input */
- size_t additional_len;
- /** Expected key */
- const void *expected_key;
- /** Length of expected key */
- size_t expected_key_len;
- /** Expected value */
- const void *expected_value;
- /** Length of expected value */
- size_t expected_value_len;
- /** Expected pseudorandom data */
- const void *expected_data;
- /** Length of data */
- size_t expected_data_len;
-};
-
-/**
- * Define an HMAC_DRBG generation test
- *
- * @v name Test name
- * @v hmac_drbg HMAC_DRBG algorithm
- * @v additional_array Additional input
- * @v key Expected key
- * @v value Expected value
- * @v data Expected pseudorandom data
- * @ret test Generation test
- */
-#define HMAC_DRBG_TEST_GENERATE( name, hmac_drbg, additional_array, \
- key, value, data ) \
- static const uint8_t name ## _key [] = key; \
- static const uint8_t name ## _value [] = value; \
- static const uint8_t name ## _data [] = data; \
- static struct hmac_drbg_test_generate name = { \
- .hash = HMAC_DRBG_HASH ( hmac_drbg ), \
- .out_len = HMAC_DRBG_OUTLEN_BYTES ( hmac_drbg ), \
- .additional = additional_array, \
- .additional_len = sizeof ( additional_array ), \
- .expected_key = name ## _key, \
- .expected_key_len = sizeof ( name ## _key ), \
- .expected_value = name ## _value, \
- .expected_value_len = sizeof ( name ## _value ), \
- .expected_data = name ## _data, \
- .expected_data_len = sizeof ( name ## _data ), \
- }
-
-/**
- * Report generation test result
- *
- * @v state HMAC_DRBG internal state
- * @v test Generation test
- */
-#define generate_ok( state, test ) do { \
- uint8_t data[ (test)->expected_data_len ]; \
- int rc; \
- \
- assert ( (test)->expected_key_len == (test)->out_len ); \
- assert ( (test)->expected_value_len == (test)->out_len ); \
- rc = hmac_drbg_generate ( (test)->hash, (state), \
- (test)->additional, \
- (test)->additional_len, \
- data, sizeof ( data ) ); \
- ok ( rc == 0 ); \
- ok ( memcmp ( (state)->key, (test)->expected_key, \
- (test)->expected_key_len ) == 0 ); \
- ok ( memcmp ( (state)->value, (test)->expected_value, \
- (test)->expected_value_len ) == 0 ); \
- ok ( memcmp ( data, (test)->expected_data, \
- (test)->expected_data_len ) == 0 ); \
- } while ( 0 )
-
-/** An HMAC_DRBG generation failure test */
-struct hmac_drbg_test_generate_fail {
- /** Underlying hash algorithm */
- struct digest_algorithm *hash;
- /** Additional input */
- const void *additional;
- /** Length of additional_input */
- size_t additional_len;
- /** Length of requested data */
- size_t requested_len;
-};
-
-/**
- * Define an HMAC_DRBG generation failure test
- *
- * @v name Test name
- * @v hmac_drbg HMAC_DRBG algorithm
- * @v additional_array Additional input
- * @ret test Generation failure test
- */
-#define HMAC_DRBG_TEST_GENERATE_FAIL( name, hmac_drbg, \
- additional_array, len ) \
- static struct hmac_drbg_test_generate_fail name = { \
- .hash = HMAC_DRBG_HASH ( hmac_drbg ), \
- .additional = additional_array, \
- .additional_len = sizeof ( additional_array ), \
- .requested_len = len, \
- }
-
-/**
- * Report generation failure test result
- *
- * @v state HMAC_DRBG internal state
- * @v test Generation failure test
- */
-#define generate_fail_ok( state, test ) do { \
- uint8_t data[ (test)->requested_len ]; \
- int rc; \
- \
- rc = hmac_drbg_generate ( (test)->hash, (state), \
- (test)->additional, \
- (test)->additional_len, data, \
- sizeof ( data ) ); \
- ok ( rc != 0 ); \
- } while ( 0 )
-
-/** "EntropyInput" */
-static const uint8_t entropy_input[] = {
- 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
-};
-
-/** "Nonce" for SHA-1 */
-static const uint8_t nonce_sha1[] = {
- 0x20, 0x21, 0x22, 0x23, 0x24
-};
-
-/** "Nonce" for SHA-256 */
-static const uint8_t nonce_sha256[] = {
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27
-};
-
-/** "EntropyInput1 (for Reseed1) */
-static const uint8_t entropy_input_1[] = {
- 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
-};
-
-/** "EntropyInput2 (for Reseed2) */
-static const uint8_t entropy_input_2[] = {
- 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
-};
-
-/** "PersonalizationString = <empty>" */
-static const uint8_t personalisation_string_empty[] = {};
-
-/** "PersonalizationString" */
-static const uint8_t personalisation_string[] = {
- 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
-};
-
-/** "AdditionalInput = <empty>" */
-static const uint8_t additional_input_empty[] = {};
-
-/** "AdditionalInput1" */
-static const uint8_t additional_input_1[] = {
- 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
-};
-
-/** "AdditionalInput2" */
-static const uint8_t additional_input_2[] = {
- 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
-};
-
-/** SHA-1 Test 1 : Instantiation */
-HMAC_DRBG_TEST_INSTANTIATE ( sha1_instantiate_1, HMAC_DRBG_SHA1,
- entropy_input, nonce_sha1, personalisation_string_empty,
- EXPECT ( 0xab, 0x16, 0x0d, 0xd2, 0x1c, 0x30, 0x98, 0x0c, 0xa3, 0xca,
- 0x5a, 0x9c, 0x77, 0xb7, 0xbd, 0xf0, 0x50, 0xe6, 0x4e, 0xe9 ),
- EXPECT ( 0x61, 0x44, 0x99, 0xea, 0x98, 0x0c, 0xfb, 0x3d, 0xaa, 0x2c,
- 0xa8, 0x6d, 0x65, 0xa4, 0x6b, 0xf4, 0x48, 0x8d, 0x8c, 0xc5 ) );
-
-/** SHA-1 Test 1.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_1_1, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0x7b, 0xb1, 0x80, 0x28, 0xe0, 0x1d, 0x03, 0x42, 0xdf, 0x4f,
- 0x54, 0xda, 0x51, 0x22, 0xfa, 0x5f, 0x2c, 0x3a, 0x05, 0xe4 ),
- EXPECT ( 0x2f, 0x89, 0x4f, 0x28, 0xcc, 0x2f, 0x53, 0x82, 0x96, 0x40,
- 0x64, 0x3a, 0xd1, 0x7b, 0x84, 0xb0, 0xcd, 0x3c, 0x79, 0x79 ),
- EXPECT ( 0x5a, 0x7d, 0x3b, 0x44, 0x9f, 0x48, 0x1c, 0xb3, 0x8d, 0xf7,
- 0x9a, 0xd2, 0xb1, 0xfc, 0xc0, 0x1e, 0x57, 0xf8, 0x13, 0x5e,
- 0x8c, 0x0b, 0x22, 0xcd, 0x06, 0x30, 0xbf, 0xb0, 0x12, 0x7f,
- 0xb5, 0x40, 0x8c, 0x8e, 0xfc, 0x17, 0xa9, 0x29, 0x89, 0x6e ) );
-
-/** SHA-1 Test 1.2 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_1_2, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0x3d, 0x4d, 0x73, 0x77, 0xe9, 0x17, 0x2a, 0xaf, 0xa7, 0x76,
- 0xb0, 0xdd, 0xcb, 0x89, 0x42, 0x00, 0x4a, 0x44, 0xb7, 0xfd ),
- EXPECT ( 0x1a, 0x26, 0xbd, 0x9b, 0xfc, 0x97, 0x44, 0xbd, 0x29, 0xf6,
- 0xae, 0xbe, 0x24, 0x37, 0xe2, 0x09, 0xf1, 0xf7, 0x16, 0x25 ),
- EXPECT ( 0x82, 0xcf, 0x77, 0x2e, 0xc3, 0xe8, 0x4b, 0x00, 0xfc, 0x74,
- 0xf5, 0xdf, 0x10, 0x4e, 0xfb, 0xfb, 0x24, 0x28, 0x55, 0x4e,
- 0x9c, 0xe3, 0x67, 0xd0, 0x3a, 0xea, 0xde, 0x37, 0x82, 0x7f,
- 0xa8, 0xe9, 0xcb, 0x6a, 0x08, 0x19, 0x61, 0x15, 0xd9, 0x48 ) );
-
-/** SHA-1 Test 2 : Instantiation */
-#define sha1_instantiate_2 sha1_instantiate_1
-
-/** SHA-1 Test 2.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_2_1, HMAC_DRBG_SHA1,
- additional_input_1,
- EXPECT ( 0x3a, 0x06, 0x2e, 0x6b, 0x79, 0xfe, 0x70, 0xdb, 0xff, 0xeb,
- 0x3a, 0x2b, 0x6b, 0xe8, 0x03, 0x23, 0xf7, 0xd6, 0x74, 0xc5 ),
- EXPECT ( 0xbd, 0x36, 0x31, 0x28, 0xbf, 0x58, 0x0d, 0x7a, 0x54, 0x42,
- 0x9d, 0xdd, 0x58, 0xe8, 0x19, 0x3b, 0x98, 0x43, 0xbd, 0x2b ),
- EXPECT ( 0xc7, 0xaa, 0xac, 0x58, 0x3c, 0x6e, 0xf6, 0x30, 0x07, 0x14,
- 0xc2, 0xcc, 0x5d, 0x06, 0xc1, 0x48, 0xcf, 0xfb, 0x40, 0x44,
- 0x9a, 0xd0, 0xbb, 0x26, 0xfa, 0xc0, 0x49, 0x7b, 0x5c, 0x57,
- 0xe1, 0x61, 0xe3, 0x66, 0x81, 0xbc, 0xc9, 0x30, 0xce, 0x80 ) );
-
-/** SHA-1 Test 2.2 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_2_2, HMAC_DRBG_SHA1,
- additional_input_2,
- EXPECT ( 0x8a, 0xd7, 0xe3, 0x47, 0x72, 0xb5, 0xfc, 0x7c, 0x3b, 0x3b,
- 0x27, 0x62, 0x4f, 0x0b, 0x91, 0x77, 0x6a, 0x8a, 0x71, 0x12 ),
- EXPECT ( 0xd7, 0x13, 0x76, 0xa4, 0x6d, 0x76, 0x4b, 0x17, 0xc3, 0xb7,
- 0x39, 0x34, 0x7b, 0x38, 0x4e, 0x51, 0x51, 0xe8, 0x7e, 0x88 ),
- EXPECT ( 0x6e, 0xbd, 0x2b, 0x7b, 0x5e, 0x0a, 0x2a, 0xd7, 0xa2, 0x4b,
- 0x1b, 0xf9, 0xa1, 0xdb, 0xa4, 0x7d, 0x43, 0x27, 0x17, 0x19,
- 0xb9, 0xc3, 0x7b, 0x7f, 0xe8, 0x1b, 0xa9, 0x40, 0x45, 0xa1,
- 0x4a, 0x7c, 0xb5, 0x14, 0xb4, 0x46, 0x66, 0x6e, 0xa5, 0xa7 ) );
-
-/** SHA-1 Test 3 : Instantiation */
-HMAC_DRBG_TEST_INSTANTIATE ( sha1_instantiate_3, HMAC_DRBG_SHA1,
- entropy_input, nonce_sha1, personalisation_string,
- EXPECT ( 0xb7, 0xd9, 0x66, 0xd7, 0x0d, 0x4e, 0x27, 0xa7, 0xfa, 0x83,
- 0x8f, 0x7d, 0x61, 0x12, 0x6c, 0x0e, 0xdc, 0x84, 0x76, 0x1c ),
- EXPECT ( 0xda, 0xb2, 0xa7, 0x18, 0x83, 0xf1, 0x00, 0x5c, 0x5d, 0xd0,
- 0x39, 0x32, 0x4d, 0x3c, 0x36, 0x4d, 0x6e, 0x18, 0xf9, 0x54 ) );
-
-/** SHA-1 Test 3.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_3_1, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0x87, 0xd3, 0x82, 0x8b, 0xe0, 0x3a, 0x80, 0x7d, 0xd3, 0x40,
- 0x29, 0x41, 0xbe, 0xd6, 0xde, 0x98, 0x6e, 0xe7, 0xa2, 0x86 ),
- EXPECT ( 0x6a, 0xe1, 0xd0, 0x08, 0x6f, 0x53, 0xb1, 0xb7, 0x63, 0xa4,
- 0x51, 0x5b, 0x19, 0x06, 0xfe, 0xe4, 0x76, 0x61, 0xfd, 0x47 ),
- EXPECT ( 0xb3, 0xbd, 0x05, 0x24, 0x6c, 0xba, 0x12, 0xa6, 0x47, 0x35,
- 0xa4, 0xe3, 0xfd, 0xe5, 0x99, 0xbc, 0x1b, 0xe3, 0x0f, 0x43,
- 0x9b, 0xd0, 0x60, 0x20, 0x8e, 0xea, 0x7d, 0x71, 0xf9, 0xd1,
- 0x23, 0xdf, 0x47, 0xb3, 0xce, 0x06, 0x9d, 0x98, 0xed, 0xe6 ) );
-
-/** SHA-1 Test 3.2 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_3_2, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0x26, 0xab, 0xbf, 0x54, 0xb2, 0x8b, 0x93, 0xff, 0x90, 0x08,
- 0x67, 0x0e, 0xbf, 0xee, 0x86, 0xcd, 0xd7, 0x22, 0x8e, 0xd5 ),
- EXPECT ( 0xe9, 0x25, 0x47, 0x29, 0xe0, 0x02, 0x04, 0xa1, 0xb6, 0xc0,
- 0x21, 0x58, 0xa6, 0xc7, 0x27, 0x86, 0x47, 0x14, 0xf1, 0xf7 ),
- EXPECT ( 0xb5, 0xda, 0xda, 0x38, 0x0e, 0x28, 0x72, 0xdf, 0x93, 0x5b,
- 0xca, 0x55, 0xb8, 0x82, 0xc8, 0xc9, 0x37, 0x69, 0x02, 0xab,
- 0x63, 0x97, 0x65, 0x47, 0x2b, 0x71, 0xac, 0xeb, 0xe2, 0xea,
- 0x8b, 0x1b, 0x6b, 0x49, 0x62, 0x9c, 0xb6, 0x73, 0x17, 0xe0 ) );
-
-/** SHA-1 Test 4 : Instantiation */
-#define sha1_instantiate_4 sha1_instantiate_3
-
-/** SHA-1 Test 4.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_4_1, HMAC_DRBG_SHA1,
- additional_input_1,
- EXPECT ( 0x17, 0xa5, 0xd7, 0x9f, 0x07, 0x67, 0x87, 0x6f, 0x3a, 0x45,
- 0xe0, 0xc9, 0xc3, 0x3e, 0xc8, 0x8b, 0x03, 0xce, 0xea, 0x13 ),
- EXPECT ( 0x4d, 0x2f, 0x3b, 0xc7, 0x77, 0x50, 0x5c, 0x45, 0xf7, 0xe1,
- 0x7d, 0xcd, 0x3d, 0x86, 0xbf, 0x37, 0x9c, 0xb6, 0x02, 0x5e ),
- EXPECT ( 0x1f, 0x8f, 0xec, 0x7b, 0xc7, 0xcf, 0xa9, 0xa8, 0x80, 0x34,
- 0x5d, 0x28, 0x0b, 0x13, 0xc6, 0x32, 0xb8, 0x52, 0x77, 0x0a,
- 0x6d, 0xfc, 0x30, 0x2e, 0xad, 0x4c, 0xe3, 0xf5, 0x54, 0xc7,
- 0x9b, 0x0d, 0x44, 0x23, 0x9e, 0xba, 0x56, 0xa7, 0xea, 0x2d ) );
-
-/** SHA-1 Test 4.2 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_4_2, HMAC_DRBG_SHA1,
- additional_input_2,
- EXPECT ( 0x07, 0x9b, 0x57, 0xd9, 0x40, 0x6e, 0x11, 0xc2, 0xf8, 0x7c,
- 0x8c, 0x82, 0x8c, 0x8c, 0x6f, 0xa7, 0x6e, 0x40, 0xea, 0x01 ),
- EXPECT ( 0xa6, 0x54, 0xfe, 0x72, 0xf8, 0xa7, 0x7b, 0xb8, 0xf0, 0x3d,
- 0xff, 0x07, 0xc7, 0x9a, 0x51, 0x53, 0x00, 0x9e, 0xdd, 0xda ),
- EXPECT ( 0xaf, 0x97, 0xcd, 0xe1, 0xe8, 0xab, 0x32, 0x2a, 0x2e, 0xac,
- 0xa8, 0xe6, 0xf4, 0xe5, 0xbf, 0x78, 0xa1, 0x1b, 0xde, 0xf7,
- 0xdc, 0x91, 0x21, 0x5d, 0x44, 0xb1, 0x07, 0xb4, 0xd5, 0xa7,
- 0x79, 0x01, 0x59, 0x25, 0x09, 0x76, 0x52, 0x80, 0xf9, 0x69 ) );
-
-/** SHA-1 Test 5 : Instantiation */
-#define sha1_instantiate_5 sha1_instantiate_1
-
-/** SHA-1 Test 5.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha1_generate_fail_5_1, HMAC_DRBG_SHA1,
- additional_input_empty, ( 320 / 8 ) );
-
-/** SHA-1 Test 5.2 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha1_reseed_5_2, HMAC_DRBG_SHA1,
- entropy_input_1, additional_input_empty,
- EXPECT ( 0xcd, 0x4c, 0xab, 0x38, 0xc8, 0xad, 0x65, 0x71, 0x22, 0xbf,
- 0x5d, 0x3d, 0x00, 0xd0, 0xac, 0x9b, 0x13, 0xd6, 0x29, 0xbb ),
- EXPECT ( 0xf6, 0x60, 0xe2, 0x3e, 0x91, 0x00, 0x6b, 0x62, 0xc6, 0x54,
- 0x3a, 0xb1, 0x34, 0x4d, 0x23, 0xa3, 0x1a, 0xb4, 0xcf, 0x2c ) );
-
-/** SHA-1 Test 5.3 : Retried first call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_5_3, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0x58, 0x7f, 0xd8, 0x21, 0xef, 0x6c, 0x9d, 0xa4, 0xa8, 0x3c,
- 0x19, 0x21, 0x1f, 0x10, 0x56, 0xca, 0xcd, 0x23, 0xfc, 0x1a ),
- EXPECT ( 0x84, 0x8f, 0xd1, 0x4c, 0x13, 0xb7, 0xea, 0x93, 0x72, 0x0c,
- 0xcf, 0xde, 0x71, 0xf2, 0xf6, 0x44, 0x39, 0xdb, 0x79, 0x5d ),
- EXPECT ( 0xfe, 0xc4, 0x59, 0x7f, 0x06, 0xa3, 0xa8, 0xcc, 0x85, 0x29,
- 0xd5, 0x95, 0x57, 0xb9, 0xe6, 0x61, 0x05, 0x38, 0x09, 0xc0,
- 0xbc, 0x0e, 0xfc, 0x28, 0x2a, 0xbd, 0x87, 0x60, 0x5c, 0xc9,
- 0x0c, 0xba, 0x9b, 0x86, 0x33, 0xdc, 0xb1, 0xda, 0xe0, 0x2e ) );
-
-/** SHA-1 Test 5.4 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha1_generate_fail_5_4, HMAC_DRBG_SHA1,
- additional_input_empty, ( 320 / 8 ) );
-
-/** SHA-1 Test 5.5 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha1_reseed_5_5, HMAC_DRBG_SHA1,
- entropy_input_2, additional_input_empty,
- EXPECT ( 0xdb, 0xa1, 0xcf, 0xf4, 0x87, 0x95, 0x46, 0xa0, 0x38, 0xa5,
- 0x59, 0xb2, 0xa2, 0x4d, 0xf2, 0xc0, 0x30, 0x08, 0x9a, 0x41 ),
- EXPECT ( 0x2f, 0x88, 0x3c, 0x46, 0x48, 0xe1, 0x31, 0xe8, 0x6d, 0xdf,
- 0x9d, 0xca, 0x0d, 0x74, 0xf3, 0x0c, 0xa1, 0xce, 0x6e, 0xfb ) );
-
-/** SHA-1 Test 5.6 : Retried second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_5_6, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0xf9, 0x39, 0xa5, 0xab, 0x08, 0xa3, 0x9f, 0x23, 0x10, 0x70,
- 0xb0, 0xd4, 0xc9, 0x6d, 0xc2, 0x37, 0x90, 0xba, 0x01, 0x53 ),
- EXPECT ( 0xce, 0x6d, 0x08, 0xb4, 0xae, 0x2c, 0xe3, 0x83, 0xfd, 0xab,
- 0xb0, 0x1e, 0xaa, 0xfc, 0x9c, 0x8e, 0x76, 0xa0, 0xd4, 0x72 ),
- EXPECT ( 0x84, 0xad, 0xd5, 0xe2, 0xd2, 0x04, 0x1c, 0x01, 0x72, 0x3a,
- 0x4d, 0xe4, 0x33, 0x5b, 0x13, 0xef, 0xdf, 0x16, 0xb0, 0xe5,
- 0x1a, 0x0a, 0xd3, 0x9b, 0xd1, 0x5e, 0x86, 0x2e, 0x64, 0x4f,
- 0x31, 0xe4, 0xa2, 0xd7, 0xd8, 0x43, 0xe5, 0x7c, 0x59, 0x68 ) );
-
-/** SHA-1 Test 6 : Instantiate */
-#define sha1_instantiate_6 sha1_instantiate_1
-
-/** SHA-1 Test 6.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha1_generate_fail_6_1, HMAC_DRBG_SHA1,
- additional_input_1, ( 320 / 8 ) );
-
-/** SHA-1 Test 6.2 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha1_reseed_6_2, HMAC_DRBG_SHA1,
- entropy_input_1, additional_input_1,
- EXPECT ( 0x52, 0x28, 0xa4, 0xb6, 0xa4, 0x46, 0x92, 0x90, 0x5e, 0xc0,
- 0x44, 0xbf, 0xf0, 0xbb, 0x4e, 0x25, 0xa3, 0x87, 0xca, 0xc1 ),
- EXPECT ( 0x24, 0x77, 0x32, 0xd0, 0x4c, 0xb8, 0x4e, 0xd4, 0x1a, 0xdd,
- 0x95, 0xa4, 0xb7, 0x8b, 0x50, 0xcd, 0x9b, 0x3d, 0x3f, 0x32 ) );
-
-/** SHA-1 Test 6.3 : Retried first call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_6_3, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0xab, 0x3d, 0xd4, 0x89, 0x5b, 0xc8, 0xcd, 0x22, 0x71, 0xde,
- 0xba, 0x5f, 0x3c, 0x13, 0x63, 0x52, 0x6b, 0x8b, 0x74, 0x52 ),
- EXPECT ( 0xa8, 0x66, 0xc5, 0xef, 0xf2, 0xaf, 0x04, 0x2b, 0x11, 0x86,
- 0x44, 0x94, 0x45, 0x23, 0x7f, 0x9c, 0x02, 0x44, 0x98, 0x64 ),
- EXPECT ( 0xa1, 0xba, 0x8f, 0xa5, 0x8b, 0xb5, 0x01, 0x3f, 0x43, 0xf7,
- 0xb6, 0xed, 0x52, 0xb4, 0x53, 0x9f, 0xa1, 0x6d, 0xc7, 0x79,
- 0x57, 0xae, 0xe8, 0x15, 0xb9, 0xc0, 0x70, 0x04, 0xc7, 0xe9,
- 0x92, 0xeb, 0x8c, 0x7e, 0x59, 0x19, 0x64, 0xaf, 0xee, 0xa2 ) );
-
-/** SHA-1 Test 6.4 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha1_generate_fail_6_4, HMAC_DRBG_SHA1,
- additional_input_2, ( 320 / 8 ) );
-
-/** SHA-1 Test 6.5 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha1_reseed_6_5, HMAC_DRBG_SHA1,
- entropy_input_2, additional_input_2,
- EXPECT ( 0xe5, 0x73, 0x9f, 0x9c, 0xf7, 0xff, 0x43, 0x84, 0xd1, 0x27,
- 0x3e, 0x02, 0x6b, 0x45, 0x31, 0x21, 0x36, 0x49, 0x4f, 0x41 ),
- EXPECT ( 0x30, 0xc3, 0x43, 0x05, 0xc2, 0xc6, 0x48, 0xb0, 0x57, 0xa6,
- 0x40, 0x22, 0x1b, 0x5c, 0x56, 0x57, 0x26, 0xcd, 0x32, 0xb2 ) );
-
-/** SHA-1 Test 6.6 : Retried second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_6_6, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0x61, 0x91, 0xca, 0x9b, 0xf0, 0x00, 0xd1, 0x0a, 0x71, 0x69,
- 0x0a, 0xc1, 0x0e, 0x09, 0xff, 0xc8, 0x92, 0xab, 0xde, 0x9a ),
- EXPECT ( 0x1e, 0xc0, 0x49, 0x0f, 0xa0, 0xb7, 0x65, 0x52, 0x7e, 0x5e,
- 0xa1, 0x8b, 0x53, 0x22, 0xb2, 0x8b, 0xdd, 0x0e, 0x7b, 0xc0 ),
- EXPECT ( 0x84, 0x26, 0x4a, 0x73, 0xa8, 0x18, 0xc9, 0x5c, 0x2f, 0x42,
- 0x4b, 0x37, 0xd3, 0xcc, 0x99, 0x0b, 0x04, 0x6f, 0xb5, 0x0c,
- 0x2d, 0xc6, 0x4a, 0x16, 0x42, 0x11, 0x88, 0x9a, 0x01, 0x0f,
- 0x24, 0x71, 0xa0, 0x91, 0x2f, 0xfe, 0xa1, 0xbf, 0x01, 0x95 ) );
-
-/** SHA-1 Test 7 : Instantiation */
-#define sha1_instantiate_7 sha1_instantiate_3
-
-/** SHA-1 Test 7.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha1_generate_fail_7_1, HMAC_DRBG_SHA1,
- additional_input_empty, ( 320 / 8 ) );
-
-/** SHA-1 Test 7.2 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha1_reseed_7_2, HMAC_DRBG_SHA1,
- entropy_input_1, additional_input_empty,
- EXPECT ( 0xb9, 0x25, 0x4d, 0x8a, 0xac, 0xba, 0x43, 0xfb, 0xda, 0xe6,
- 0x39, 0x4f, 0x2b, 0x3a, 0xfc, 0x5d, 0x58, 0x08, 0x00, 0xbf ),
- EXPECT ( 0x28, 0x40, 0x3b, 0x60, 0x36, 0x38, 0xd0, 0x7d, 0x79, 0x66,
- 0x66, 0x1e, 0xf6, 0x7b, 0x9d, 0x39, 0x05, 0xf4, 0x6d, 0xb9 ) );
-
-/** SHA-1 Test 7.3 : Retried first call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_7_3, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0x64, 0xfe, 0x07, 0x4a, 0x6e, 0x77, 0x97, 0xd1, 0xa4, 0x35,
- 0xda, 0x89, 0x64, 0x48, 0x4d, 0x6c, 0xf8, 0xbd, 0xc0, 0x1b ),
- EXPECT ( 0x43, 0xe0, 0xc0, 0x52, 0x15, 0x86, 0xe9, 0x47, 0x3b, 0x06,
- 0x0d, 0x87, 0xd0, 0x8a, 0x23, 0x25, 0xfa, 0xe1, 0x49, 0xd1 ),
- EXPECT ( 0x6c, 0x37, 0xfd, 0xd7, 0x29, 0xaa, 0x40, 0xf8, 0x0b, 0xc6,
- 0xab, 0x08, 0xca, 0x7c, 0xc6, 0x49, 0x79, 0x4f, 0x69, 0x98,
- 0xb5, 0x70, 0x81, 0xe4, 0x22, 0x0f, 0x22, 0xc5, 0xc2, 0x83,
- 0xe2, 0xc9, 0x1b, 0x8e, 0x30, 0x5a, 0xb8, 0x69, 0xc6, 0x25 ) );
-
-/** SHA-1 Test 7.4 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha1_generate_fail_7_4, HMAC_DRBG_SHA1,
- additional_input_empty, ( 320 / 8 ) );
-
-/** SHA-1 Test 7.5 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha1_reseed_7_5, HMAC_DRBG_SHA1,
- entropy_input_2, additional_input_empty,
- EXPECT ( 0x02, 0xbc, 0x57, 0x7f, 0xd1, 0x0e, 0xf7, 0x19, 0x3c, 0x1d,
- 0xb0, 0x98, 0xbd, 0x5b, 0x75, 0xc7, 0xc4, 0xb6, 0x79, 0x59 ),
- EXPECT ( 0xbc, 0xbd, 0xf0, 0x52, 0xe0, 0xe0, 0x2a, 0xe8, 0x9a, 0x77,
- 0x67, 0x94, 0x3f, 0x98, 0x65, 0xb8, 0xb7, 0x22, 0x90, 0x2d ) );
-
-/** SHA-1 Test 7.6 : Retried second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_7_6, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0x1a, 0xa4, 0x24, 0x1c, 0x69, 0x5e, 0x29, 0xc0, 0xa5, 0x9a,
- 0xd1, 0x8a, 0x60, 0x70, 0xe3, 0x38, 0xa5, 0x48, 0xbe, 0x92 ),
- EXPECT ( 0x03, 0x47, 0x35, 0x9b, 0xc9, 0xc7, 0xf8, 0x8c, 0xc8, 0x33,
- 0x0d, 0x4f, 0x59, 0xfb, 0xc7, 0x70, 0xb0, 0xb7, 0x7b, 0x03 ),
- EXPECT ( 0xca, 0xf5, 0x7d, 0xcf, 0xea, 0x39, 0x3b, 0x92, 0x36, 0xbf,
- 0x69, 0x1f, 0xa4, 0x56, 0xfe, 0xa7, 0xfd, 0xf1, 0xdf, 0x83,
- 0x61, 0x48, 0x2c, 0xa5, 0x4d, 0x5f, 0xa7, 0x23, 0xf4, 0xc8,
- 0x8b, 0x4f, 0xa5, 0x04, 0xbf, 0x03, 0x27, 0x7f, 0xa7, 0x83 ) );
-
-/** SHA-1 Test 8 : Instantiate */
-#define sha1_instantiate_8 sha1_instantiate_3
-
-/** SHA-1 Test 8.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha1_generate_fail_8_1, HMAC_DRBG_SHA1,
- additional_input_1, ( 320 / 8 ) );
-
-/** SHA-1 Test 8.2 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha1_reseed_8_2, HMAC_DRBG_SHA1,
- entropy_input_1, additional_input_1,
- EXPECT ( 0xc0, 0x95, 0x48, 0xc0, 0xd3, 0xc8, 0x61, 0xd7, 0x40, 0xf2,
- 0x83, 0x7d, 0x72, 0xb5, 0x07, 0x23, 0x5c, 0x26, 0xdb, 0x82 ),
- EXPECT ( 0x17, 0x4b, 0x3f, 0x84, 0xc3, 0x53, 0x1f, 0x7c, 0x0a, 0x2e,
- 0x54, 0x21, 0x23, 0x4e, 0xa1, 0x6b, 0x70, 0x8d, 0xdf, 0x0d ) );
-
-/** SHA-1 Test 8.3 : Retried first call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_8_3, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0x60, 0x3f, 0x09, 0x49, 0x27, 0x9c, 0x70, 0xe8, 0xc6, 0x6c,
- 0x0f, 0x56, 0x37, 0xc0, 0xf3, 0x75, 0x60, 0x07, 0xe5, 0xac ),
- EXPECT ( 0xf2, 0xb3, 0x3b, 0x21, 0x15, 0x1f, 0xaf, 0x61, 0x20, 0x01,
- 0x83, 0x10, 0xf4, 0x4e, 0x4c, 0xd0, 0xbf, 0xe3, 0x68, 0xea ),
- EXPECT ( 0xbd, 0x07, 0xc2, 0x5c, 0xfd, 0x7c, 0x5e, 0x3a, 0x4e, 0xaa,
- 0x6e, 0x2e, 0xdc, 0x5a, 0xb7, 0xea, 0x49, 0x42, 0xa0, 0x91,
- 0x34, 0x71, 0xfd, 0xa5, 0x5c, 0x6d, 0xdd, 0x2c, 0x03, 0xef,
- 0xa3, 0xb9, 0x64, 0x3a, 0xb3, 0xbb, 0x22, 0xf6, 0xc9, 0xf2 ) );
-
-/** SHA-1 Test 8.4 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha1_generate_fail_8_4, HMAC_DRBG_SHA1,
- additional_input_2, ( 320 / 8 ) );
-
-/** SHA-1 Test 8.5 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha1_reseed_8_5, HMAC_DRBG_SHA1,
- entropy_input_2, additional_input_2,
- EXPECT ( 0x89, 0x42, 0xa5, 0x4f, 0x34, 0x9e, 0x28, 0x1b, 0x84, 0xaa,
- 0x46, 0x95, 0x87, 0xfb, 0xdd, 0xaf, 0x9d, 0x11, 0x40, 0x82 ),
- EXPECT ( 0x07, 0x73, 0x0e, 0x3c, 0xbf, 0xfd, 0x3c, 0xaf, 0xd7, 0xa8,
- 0xaa, 0xe2, 0xbf, 0x01, 0xd6, 0x01, 0x43, 0x01, 0xe2, 0x4d ) );
-
-/** SHA-1 Test 8.6 : Retried second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha1_generate_8_6, HMAC_DRBG_SHA1,
- additional_input_empty,
- EXPECT ( 0xbd, 0xe1, 0xb4, 0x6c, 0xdc, 0x54, 0x13, 0xb3, 0xd9, 0xf7,
- 0x35, 0xac, 0xdb, 0x80, 0xb1, 0x3c, 0x57, 0xbf, 0xe4, 0x73 ),
- EXPECT ( 0x72, 0x5a, 0x3c, 0x78, 0x20, 0xde, 0x1a, 0x06, 0xd0, 0x95,
- 0x81, 0x9c, 0xcf, 0x6f, 0x2c, 0x9b, 0x3a, 0x67, 0xf2, 0xce ),
- EXPECT ( 0xd1, 0xa9, 0xc1, 0xa2, 0x2c, 0x84, 0xfc, 0x23, 0xff, 0x22,
- 0x27, 0xef, 0x98, 0xec, 0x8b, 0xa9, 0xdf, 0x2a, 0x20, 0x9b,
- 0xa1, 0xdb, 0x09, 0x80, 0x9f, 0x57, 0xbf, 0xea, 0xe5, 0xb3,
- 0xe5, 0xf1, 0x46, 0xc7, 0x5f, 0x2d, 0x8d, 0xbb, 0x5e, 0x4a ) );
-
-/** SHA-256 Test 1 : Instantiation */
-HMAC_DRBG_TEST_INSTANTIATE ( sha256_instantiate_1, HMAC_DRBG_SHA256,
- entropy_input, nonce_sha256, personalisation_string_empty,
- EXPECT ( 0x3d, 0xda, 0x54, 0x3e, 0x7e, 0xef, 0x14, 0xf9, 0x36, 0x23,
- 0x7b, 0xe6, 0x5d, 0x09, 0x4b, 0x4d, 0xdc, 0x96, 0x9c, 0x0b,
- 0x2b, 0x5e, 0xaf, 0xb5, 0xd8, 0x05, 0xe8, 0x6c, 0xfa, 0x64,
- 0xd7, 0x41 ),
- EXPECT ( 0x2d, 0x02, 0xc2, 0xf8, 0x22, 0x51, 0x7d, 0x54, 0xb8, 0x17,
- 0x27, 0x9a, 0x59, 0x49, 0x1c, 0x41, 0xa1, 0x98, 0x9b, 0x3e,
- 0x38, 0x2d, 0xeb, 0xe8, 0x0d, 0x2c, 0x7f, 0x66, 0x0f, 0x44,
- 0x76, 0xc4 ) );
-
-/** SHA-256 Test 1.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_1_1, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0xdd, 0x30, 0x95, 0x79, 0x35, 0x38, 0x02, 0xcc, 0xdd, 0x43,
- 0x99, 0xc3, 0x69, 0x1c, 0x9d, 0xd9, 0x09, 0xdd, 0x3b, 0x2d,
- 0xd0, 0x03, 0xcc, 0xd5, 0x9d, 0x6f, 0x08, 0xd8, 0x5f, 0x2e,
- 0x35, 0x09 ),
- EXPECT ( 0xa1, 0xc2, 0x0f, 0xf2, 0x70, 0xa3, 0x9d, 0x2b, 0x8d, 0x03,
- 0xd6, 0x59, 0xb9, 0xdd, 0xd0, 0x11, 0xc2, 0xcc, 0xdf, 0x24,
- 0x48, 0x55, 0x7e, 0xf6, 0xa1, 0xa9, 0x15, 0xd1, 0x89, 0x40,
- 0xa6, 0x88 ),
- EXPECT ( 0xd6, 0x7b, 0x8c, 0x17, 0x34, 0xf4, 0x6f, 0xa3, 0xf7, 0x63,
- 0xcf, 0x57, 0xc6, 0xf9, 0xf4, 0xf2, 0xdc, 0x10, 0x89, 0xbd,
- 0x8b, 0xc1, 0xf6, 0xf0, 0x23, 0x95, 0x0b, 0xfc, 0x56, 0x17,
- 0x63, 0x52, 0x08, 0xc8, 0x50, 0x12, 0x38, 0xad, 0x7a, 0x44,
- 0x00, 0xde, 0xfe, 0xe4, 0x6c, 0x64, 0x0b, 0x61, 0xaf, 0x77,
- 0xc2, 0xd1, 0xa3, 0xbf, 0xaa, 0x90, 0xed, 0xe5, 0xd2, 0x07,
- 0x40, 0x6e, 0x54, 0x03 ) );
-
-/** SHA-256 Test 1.2 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_1_2, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0x5c, 0xd5, 0xe5, 0x0a, 0x3e, 0x44, 0x8a, 0x07, 0xc3, 0xd2,
- 0xf2, 0xa3, 0xf9, 0xde, 0xbc, 0xc0, 0x46, 0x5f, 0x9c, 0xf1,
- 0x1c, 0xa1, 0x36, 0xe9, 0xb5, 0x04, 0xb4, 0xd3, 0x1c, 0x7f,
- 0xf1, 0xb8 ),
- EXPECT ( 0x33, 0xb3, 0x09, 0xf2, 0xff, 0x01, 0xce, 0x10, 0x4b, 0x44,
- 0x29, 0xb6, 0x75, 0xfa, 0xfa, 0x19, 0x01, 0x1e, 0x34, 0x8b,
- 0x28, 0x12, 0x71, 0x5a, 0x76, 0x37, 0xf6, 0xa6, 0xe6, 0x3b,
- 0x5d, 0x57 ),
- EXPECT ( 0x8f, 0xda, 0xec, 0x20, 0xf8, 0xb4, 0x21, 0x40, 0x70, 0x59,
- 0xe3, 0x58, 0x89, 0x20, 0xda, 0x7e, 0xda, 0x9d, 0xce, 0x3c,
- 0xf8, 0x27, 0x4d, 0xfa, 0x1c, 0x59, 0xc1, 0x08, 0xc1, 0xd0,
- 0xaa, 0x9b, 0x0f, 0xa3, 0x8d, 0xa5, 0xc7, 0x92, 0x03, 0x7c,
- 0x4d, 0x33, 0xcd, 0x07, 0x0c, 0xa7, 0xcd, 0x0c, 0x56, 0x08,
- 0xdb, 0xa8, 0xb8, 0x85, 0x65, 0x46, 0x39, 0xde, 0x21, 0x87,
- 0xb7, 0x4c, 0xb2, 0x63 ) );
-
-/** SHA-256 Test 2 : Instantiation */
-#define sha256_instantiate_2 sha256_instantiate_1
-
-/** SHA-256 Test 2.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_2_1, HMAC_DRBG_SHA256,
- additional_input_1,
- EXPECT ( 0x79, 0x1d, 0x31, 0x44, 0xb3, 0x02, 0xad, 0x6c, 0xe4, 0x32,
- 0x41, 0x34, 0x42, 0x10, 0xaa, 0xd0, 0xd3, 0x99, 0xed, 0xb7,
- 0xb5, 0x90, 0x6f, 0xb2, 0x51, 0xdb, 0x1c, 0xb6, 0x00, 0x04,
- 0xea, 0x51 ),
- EXPECT ( 0x58, 0xfd, 0x96, 0x5f, 0x4f, 0x99, 0x89, 0x3c, 0x17, 0xe6,
- 0xa3, 0x3c, 0xb8, 0xe9, 0x04, 0x15, 0xb5, 0x16, 0xd0, 0x06,
- 0x14, 0xa4, 0x49, 0xd4, 0x06, 0xe0, 0x3c, 0x68, 0x5b, 0xd8,
- 0x59, 0xbd ),
- EXPECT ( 0x41, 0x87, 0x87, 0x35, 0x81, 0x35, 0x41, 0x9b, 0x93, 0x81,
- 0x33, 0x53, 0x53, 0x06, 0x17, 0x6a, 0xfb, 0x25, 0x1c, 0xdd,
- 0x2b, 0xa3, 0x79, 0x88, 0x59, 0xb5, 0x66, 0xa0, 0x5c, 0xfb,
- 0x1d, 0x68, 0x0e, 0xa9, 0x25, 0x85, 0x6d, 0x5b, 0x84, 0xd5,
- 0x6a, 0xda, 0xe8, 0x70, 0x45, 0xa6, 0xba, 0x28, 0xd2, 0xc9,
- 0x08, 0xab, 0x75, 0xb7, 0xcc, 0x41, 0x43, 0x1f, 0xac, 0x59,
- 0xf3, 0x89, 0x18, 0xa3 ) );
-
-/** SHA-256 Test 2.2 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_2_2, HMAC_DRBG_SHA256,
- additional_input_2,
- EXPECT ( 0xe7, 0x45, 0x8f, 0xb4, 0x4a, 0x36, 0x9a, 0x65, 0x3f, 0x2f,
- 0x8f, 0x57, 0x7b, 0xf9, 0x75, 0xc4, 0xb3, 0x62, 0xc4, 0xfe,
- 0x61, 0x8b, 0x2f, 0x1f, 0xf6, 0x76, 0x9b, 0x13, 0xc9, 0x4d,
- 0xec, 0xf4 ),
- EXPECT ( 0x19, 0x33, 0x4b, 0x8c, 0x31, 0xb7, 0x49, 0x32, 0xdd, 0xd7,
- 0xb2, 0xa4, 0x68, 0xf6, 0x43, 0x6d, 0xf9, 0x2e, 0x10, 0x0d,
- 0x39, 0xd3, 0xac, 0xb3, 0x68, 0xc7, 0x02, 0x9c, 0xb8, 0x83,
- 0xec, 0x89 ),
- EXPECT ( 0x7c, 0x06, 0x7b, 0xdd, 0xca, 0x81, 0x72, 0x48, 0x23, 0xd6,
- 0x4c, 0x69, 0x82, 0x92, 0x85, 0xbd, 0xbf, 0xf5, 0x37, 0x71,
- 0x61, 0x02, 0xc1, 0x88, 0x2e, 0x20, 0x22, 0x50, 0xe0, 0xfa,
- 0x5e, 0xf3, 0xa3, 0x84, 0xcd, 0x34, 0xa2, 0x0f, 0xfd, 0x1f,
- 0xbc, 0x91, 0xe0, 0xc5, 0x32, 0xa8, 0xa4, 0x21, 0xbc, 0x4a,
- 0xfe, 0x3c, 0xd4, 0x7f, 0x22, 0x32, 0x3e, 0xb4, 0xba, 0xe1,
- 0xa0, 0x07, 0x89, 0x81 ) );
-
-/** SHA-256 Test 3 : Instantiation */
-HMAC_DRBG_TEST_INSTANTIATE ( sha256_instantiate_3, HMAC_DRBG_SHA256,
- entropy_input, nonce_sha256, personalisation_string,
- EXPECT ( 0x65, 0x67, 0x3c, 0x34, 0x8e, 0x51, 0xcf, 0xac, 0xc4, 0x10,
- 0xbd, 0x20, 0x02, 0x49, 0xa5, 0x9a, 0x9d, 0x6b, 0xae, 0x77,
- 0x69, 0x04, 0x27, 0x1b, 0xb1, 0xf7, 0x18, 0xda, 0x1d, 0x18,
- 0x20, 0x42 ),
- EXPECT ( 0xe0, 0xf9, 0x1a, 0xc9, 0x96, 0x30, 0xee, 0xe6, 0x7c, 0xf8,
- 0x30, 0xcf, 0xd5, 0x04, 0x4f, 0xeb, 0xf5, 0x5c, 0x0c, 0x11,
- 0x50, 0x07, 0x99, 0x7a, 0xda, 0x11, 0x29, 0x6f, 0xc4, 0x16,
- 0x4a, 0x9a ) );
-
-/** SHA-256 Test 3.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_3_1, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0xf0, 0xb2, 0xf2, 0x42, 0xca, 0xd9, 0x92, 0xa7, 0x24, 0xf7,
- 0xe5, 0x59, 0x1d, 0x2f, 0x3b, 0x0c, 0x21, 0x57, 0xae, 0x70,
- 0xd5, 0x32, 0x78, 0x99, 0x40, 0xf1, 0x64, 0x45, 0x9b, 0x00,
- 0xc7, 0x49 ),
- EXPECT ( 0x1a, 0x03, 0xf9, 0x1c, 0x51, 0x20, 0xba, 0xca, 0x2b, 0xf6,
- 0xc6, 0x4d, 0xd7, 0x3a, 0xb1, 0x1d, 0xf6, 0xfd, 0x3f, 0xf1,
- 0xac, 0x3b, 0x57, 0x20, 0xa3, 0xf7, 0xfb, 0xe3, 0x9e, 0x7e,
- 0x7f, 0xe9 ),
- EXPECT ( 0x0d, 0xd9, 0xc8, 0x55, 0x89, 0xf3, 0x57, 0xc3, 0x89, 0xd6,
- 0xaf, 0x8d, 0xe9, 0xd7, 0x34, 0xa9, 0x17, 0xc7, 0x71, 0xef,
- 0x2d, 0x88, 0x16, 0xb9, 0x82, 0x59, 0x6e, 0xd1, 0x2d, 0xb4,
- 0x5d, 0x73, 0x4a, 0x62, 0x68, 0x08, 0x35, 0xc0, 0x2f, 0xda,
- 0x66, 0xb0, 0x8e, 0x1a, 0x36, 0x9a, 0xe2, 0x18, 0xf2, 0x6d,
- 0x52, 0x10, 0xad, 0x56, 0x42, 0x48, 0x87, 0x2d, 0x7a, 0x28,
- 0x78, 0x41, 0x59, 0xc3 ) );
-
-/** SHA-256 Test 3.2 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_3_2, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0x5c, 0x0d, 0xec, 0x09, 0x37, 0x08, 0xc1, 0x7c, 0xa7, 0x6b,
- 0x57, 0xc0, 0xcb, 0x60, 0xcf, 0x88, 0x9d, 0xcc, 0x47, 0xad,
- 0x10, 0xbd, 0x64, 0xbc, 0x6a, 0x14, 0xb2, 0x3f, 0x20, 0x26,
- 0x07, 0x8a ),
- EXPECT ( 0x45, 0x67, 0x52, 0xa5, 0x11, 0xb8, 0x48, 0xbd, 0x05, 0xf1,
- 0x81, 0x9b, 0x9f, 0x6b, 0x15, 0x42, 0xc7, 0xd5, 0xec, 0xf9,
- 0x32, 0x73, 0x39, 0x26, 0x7a, 0x0c, 0x77, 0x23, 0x5b, 0x87,
- 0xdc, 0x5a ),
- EXPECT ( 0x46, 0xb4, 0xf4, 0x75, 0x6a, 0xe7, 0x15, 0xe0, 0xe5, 0x16,
- 0x81, 0xab, 0x29, 0x32, 0xde, 0x15, 0x23, 0xbe, 0x5d, 0x13,
- 0xba, 0xf0, 0xf4, 0x58, 0x8b, 0x11, 0xfe, 0x37, 0x2f, 0xda,
- 0x37, 0xab, 0xe3, 0x68, 0x31, 0x73, 0x41, 0xbc, 0x8b, 0xa9,
- 0x1f, 0xc5, 0xd8, 0x5b, 0x7f, 0xb8, 0xca, 0x8f, 0xbc, 0x30,
- 0x9a, 0x75, 0x8f, 0xd6, 0xfc, 0xa9, 0xdf, 0x43, 0xc7, 0x66,
- 0x0b, 0x22, 0x13, 0x22 ) );
-
-/** SHA-256 Test 4 : Instantiation */
-#define sha256_instantiate_4 sha256_instantiate_3
-
-/** SHA-256 Test 4.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_4_1, HMAC_DRBG_SHA256,
- additional_input_1,
- EXPECT ( 0x57, 0x2c, 0x03, 0x74, 0xc1, 0xa1, 0x01, 0x25, 0xbf, 0xa6,
- 0xae, 0xcd, 0x7c, 0xeb, 0xfe, 0x32, 0xf7, 0x52, 0xc3, 0xfb,
- 0x31, 0x67, 0x31, 0xb7, 0xcf, 0xdb, 0xde, 0xc2, 0x63, 0x56,
- 0x93, 0x2b ),
- EXPECT ( 0xd6, 0x8b, 0xf0, 0x41, 0xf3, 0xeb, 0x50, 0x88, 0x08, 0x8d,
- 0x8b, 0x8e, 0x71, 0x2c, 0x36, 0xae, 0x95, 0x83, 0xbb, 0x08,
- 0xfd, 0x1f, 0x90, 0x34, 0xa4, 0xe9, 0x42, 0xe9, 0xa6, 0x74,
- 0x7c, 0xe7 ),
- EXPECT ( 0x14, 0x78, 0xf2, 0x9e, 0x94, 0xb0, 0x2c, 0xb4, 0x0d, 0x3a,
- 0xab, 0x86, 0x24, 0x55, 0x57, 0xce, 0x13, 0xa8, 0xca, 0x2f,
- 0xdb, 0x65, 0x7d, 0x98, 0xef, 0xc1, 0x92, 0x34, 0x6b, 0x9f,
- 0xac, 0x33, 0xea, 0x58, 0xad, 0xa2, 0xcc, 0xa4, 0x32, 0xcc,
- 0xde, 0xfb, 0xcd, 0xaa, 0x8b, 0x82, 0xf5, 0x53, 0xef, 0x96,
- 0x61, 0x34, 0xe2, 0xcd, 0x13, 0x9f, 0x15, 0xf0, 0x1c, 0xad,
- 0x56, 0x85, 0x65, 0xa8 ) );
-
-/** SHA-256 Test 4.2 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_4_2, HMAC_DRBG_SHA256,
- additional_input_2,
- EXPECT ( 0x28, 0x2e, 0x07, 0x34, 0x80, 0x80, 0x93, 0x75, 0x58, 0xb1,
- 0x39, 0x2e, 0x95, 0xab, 0x91, 0xe7, 0xc1, 0xf6, 0x22, 0xb2,
- 0x4f, 0xfb, 0x87, 0x20, 0xa5, 0xf0, 0xa5, 0xe0, 0x75, 0x50,
- 0xc7, 0xc2 ),
- EXPECT ( 0xdf, 0xc3, 0xbd, 0xb5, 0xf3, 0xbc, 0xf1, 0xaa, 0x68, 0x29,
- 0x8e, 0x79, 0x0d, 0x72, 0x0a, 0x67, 0xa7, 0x6e, 0x31, 0xb9,
- 0x2b, 0x9b, 0x35, 0xa8, 0xe5, 0x47, 0x1b, 0xb1, 0x7e, 0x30,
- 0x3c, 0x6b ),
- EXPECT ( 0x49, 0x7c, 0x7a, 0x16, 0xe8, 0x8a, 0x64, 0x11, 0xf8, 0xfc,
- 0xe1, 0x0e, 0xf5, 0x67, 0x63, 0xc6, 0x10, 0x25, 0x80, 0x1d,
- 0x8f, 0x51, 0xa7, 0x43, 0x52, 0xd6, 0x82, 0xcc, 0x23, 0xa0,
- 0xa8, 0xe6, 0x73, 0xca, 0xe0, 0x32, 0x28, 0x93, 0x90, 0x64,
- 0x7d, 0xc6, 0x83, 0xb7, 0x34, 0x28, 0x85, 0xd6, 0xb7, 0x6a,
- 0xb1, 0xda, 0x69, 0x6d, 0x3e, 0x97, 0xe2, 0x2d, 0xff, 0xdd,
- 0xff, 0xfd, 0x8d, 0xf0 ) );
-
-/** SHA-256 Test 5 : Instantiation */
-#define sha256_instantiate_5 sha256_instantiate_1
-
-/** SHA-256 Test 5.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha256_generate_fail_5_1, HMAC_DRBG_SHA256,
- additional_input_empty, ( 512 / 8 ) );
-
-/** SHA-256 Test 5.2 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha256_reseed_5_2, HMAC_DRBG_SHA256,
- entropy_input_1, additional_input_empty,
- EXPECT ( 0xb8, 0x40, 0x07, 0xe3, 0xe2, 0x7f, 0x34, 0xf9, 0xa7, 0x82,
- 0x0b, 0x7a, 0xb5, 0x9b, 0xbe, 0xfc, 0xd0, 0xc4, 0xac, 0xae,
- 0xde, 0x4b, 0x0b, 0x36, 0xb1, 0x47, 0xb8, 0x97, 0x79, 0xfd,
- 0x74, 0x9d ),
- EXPECT ( 0xa7, 0x2b, 0x8f, 0xee, 0x92, 0x39, 0x2f, 0x0a, 0x9d, 0x2d,
- 0x61, 0xbf, 0x09, 0xa4, 0xdf, 0xcc, 0x9d, 0xe6, 0x9a, 0x16,
- 0xa5, 0xf1, 0x50, 0x22, 0x4c, 0x3e, 0xf6, 0x04, 0x2d, 0x15,
- 0x21, 0xfc ) );
-
-/** SHA-256 Test 5.3 : Retried first call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_5_3, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0x43, 0x48, 0xaf, 0x84, 0x20, 0x84, 0x2f, 0xa0, 0x77, 0xb9,
- 0xd3, 0xdb, 0xa8, 0xdc, 0xe9, 0xb3, 0xe1, 0xdf, 0x73, 0x4f,
- 0xfc, 0xe1, 0xbe, 0xa5, 0xb9, 0xe2, 0xb1, 0x54, 0xdc, 0x5e,
- 0xc6, 0x15 ),
- EXPECT ( 0xd2, 0xc1, 0xac, 0x27, 0x88, 0x5d, 0x43, 0x32, 0x76, 0x71,
- 0x31, 0x46, 0x32, 0xea, 0x60, 0x43, 0x3c, 0xca, 0x72, 0x73,
- 0x04, 0x56, 0x9e, 0xa7, 0xd4, 0x71, 0xfe, 0xa7, 0xdb, 0x7d,
- 0x31, 0x5d ),
- EXPECT ( 0xfa, 0xbd, 0x0a, 0xe2, 0x5c, 0x69, 0xdc, 0x2e, 0xfd, 0xef,
- 0xb7, 0xf2, 0x0c, 0x5a, 0x31, 0xb5, 0x7a, 0xc9, 0x38, 0xab,
- 0x77, 0x1a, 0xa1, 0x9b, 0xf8, 0xf5, 0xf1, 0x46, 0x8f, 0x66,
- 0x5c, 0x93, 0x8c, 0x9a, 0x1a, 0x5d, 0xf0, 0x62, 0x8a, 0x56,
- 0x90, 0xf1, 0x5a, 0x1a, 0xd8, 0xa6, 0x13, 0xf3, 0x1b, 0xbd,
- 0x65, 0xee, 0xad, 0x54, 0x57, 0xd5, 0xd2, 0x69, 0x47, 0xf2,
- 0x9f, 0xe9, 0x1a, 0xa7 ) );
-
-/** SHA-256 Test 5.4 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha256_generate_fail_5_4, HMAC_DRBG_SHA256,
- additional_input_empty, ( 512 / 8 ) );
-
-/** SHA-256 Test 5.5 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha256_reseed_5_5, HMAC_DRBG_SHA256,
- entropy_input_2, additional_input_empty,
- EXPECT ( 0xbf, 0xa0, 0x2c, 0xe7, 0xe9, 0x2d, 0xe9, 0x2b, 0x18, 0x24,
- 0x28, 0x86, 0x89, 0x0e, 0x58, 0x6f, 0x83, 0x69, 0x06, 0xac,
- 0xe9, 0xe5, 0x54, 0xf1, 0xb0, 0xed, 0x63, 0x57, 0x3c, 0xb8,
- 0xb5, 0x03 ),
- EXPECT ( 0xd3, 0x24, 0x03, 0xee, 0xa9, 0xdc, 0xe1, 0x61, 0x6e, 0x4e,
- 0x11, 0x55, 0xb9, 0x23, 0xd8, 0x84, 0x2c, 0xc6, 0xe7, 0x84,
- 0xc6, 0x7a, 0x93, 0x85, 0xb2, 0xa6, 0x37, 0xf1, 0x02, 0xfa,
- 0x45, 0xd5 ) );
-
-/** SHA-256 Test 5.6 : Retried second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_5_6, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0x81, 0x21, 0xf7, 0x76, 0x4c, 0x08, 0x1e, 0xe9, 0xd1, 0x17,
- 0x1e, 0xd1, 0x87, 0xba, 0xe0, 0x88, 0x95, 0xca, 0xe2, 0x30,
- 0xd0, 0xa2, 0x5e, 0x37, 0x39, 0xc5, 0x7d, 0x54, 0x16, 0x10,
- 0x9b, 0x82 ),
- EXPECT ( 0x37, 0x84, 0x97, 0x7c, 0xc0, 0xe5, 0x9f, 0xbc, 0x9c, 0xda,
- 0x4e, 0x11, 0x92, 0x47, 0x5c, 0x6e, 0xfa, 0xf8, 0x07, 0x20,
- 0x19, 0x86, 0x21, 0x22, 0xcb, 0x6b, 0xce, 0xaa, 0xcc, 0x4a,
- 0x17, 0x5e ),
- EXPECT ( 0x6b, 0xd9, 0x25, 0xb0, 0xe1, 0xc2, 0x32, 0xef, 0xd6, 0x7c,
- 0xcd, 0x84, 0xf7, 0x22, 0xe9, 0x27, 0xec, 0xb4, 0x6a, 0xb2,
- 0xb7, 0x40, 0x01, 0x47, 0x77, 0xaf, 0x14, 0xba, 0x0b, 0xbf,
- 0x53, 0xa4, 0x5b, 0xdb, 0xb6, 0x2b, 0x3f, 0x7d, 0x0b, 0x9c,
- 0x8e, 0xea, 0xd0, 0x57, 0xc0, 0xec, 0x75, 0x4e, 0xf8, 0xb5,
- 0x3e, 0x60, 0xa1, 0xf4, 0x34, 0xf0, 0x59, 0x46, 0xa8, 0xb6,
- 0x86, 0xaf, 0xbc, 0x7a ) );
-
-/** SHA-256 Test 6 : Instantiate */
-#define sha256_instantiate_6 sha256_instantiate_1
-
-/** SHA-256 Test 6.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha256_generate_fail_6_1, HMAC_DRBG_SHA256,
- additional_input_1, ( 512 / 8 ) );
-
-/** SHA-256 Test 6.2 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha256_reseed_6_2, HMAC_DRBG_SHA256,
- entropy_input_1, additional_input_1,
- EXPECT ( 0xc1, 0x25, 0xea, 0x99, 0x75, 0x8e, 0xbb, 0x9a, 0x6f, 0x69,
- 0xae, 0x31, 0x2a, 0xc2, 0x04, 0xb5, 0x94, 0xc0, 0x0a, 0xb6,
- 0x8b, 0x81, 0x6e, 0x3a, 0x52, 0x12, 0x8e, 0x02, 0x78, 0xa5,
- 0x84, 0xac ),
- EXPECT ( 0xb2, 0xcb, 0x2b, 0x89, 0x12, 0x3f, 0x5b, 0x4a, 0xf5, 0x87,
- 0xb8, 0xf6, 0xbd, 0xc5, 0x42, 0x7a, 0x99, 0x14, 0x19, 0xd3,
- 0x53, 0x07, 0x7c, 0x68, 0x5e, 0x70, 0x7a, 0xcd, 0xf8, 0xe9,
- 0xfd, 0xa9 ) );
-
-/** SHA-256 Test 6.3 : Retried first call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_6_3, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0xc6, 0xed, 0x8f, 0xed, 0x71, 0x57, 0xa4, 0xd0, 0x9e, 0xa1,
- 0xdd, 0xe8, 0x94, 0x6b, 0x54, 0x43, 0x3e, 0xcc, 0x54, 0x49,
- 0xa4, 0xa3, 0x52, 0xaf, 0x45, 0x76, 0x4e, 0xe6, 0x73, 0x4b,
- 0xbb, 0x04 ),
- EXPECT ( 0xeb, 0xc7, 0x75, 0x25, 0x6b, 0xb7, 0x81, 0x24, 0x1e, 0x9c,
- 0x70, 0xbb, 0xcf, 0x73, 0x2b, 0xdc, 0x90, 0xad, 0x10, 0xd9,
- 0xdd, 0x3a, 0x89, 0x6e, 0xcc, 0x12, 0xb9, 0x2f, 0xfb, 0x63,
- 0x45, 0xab ),
- EXPECT ( 0x08, 0x5d, 0x57, 0xaf, 0x6b, 0xab, 0xcf, 0x2b, 0x9a, 0xee,
- 0xf3, 0x87, 0xd5, 0x31, 0x65, 0x0e, 0x6a, 0x50, 0x5c, 0x54,
- 0x40, 0x6a, 0xb3, 0x7a, 0x52, 0x89, 0x9e, 0x0e, 0xca, 0xb3,
- 0x63, 0x2b, 0x7a, 0x06, 0x8a, 0x28, 0x14, 0xc6, 0xdf, 0x6a,
- 0xe5, 0x32, 0xb6, 0x58, 0xd0, 0xd9, 0x74, 0x1c, 0x84, 0x77,
- 0x5f, 0xee, 0x45, 0xb6, 0x84, 0xcd, 0xbd, 0xc2, 0x5f, 0xbc,
- 0xb4, 0xd8, 0xf3, 0x10 ) );
-
-/** SHA-256 Test 6.4 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha256_generate_fail_6_4, HMAC_DRBG_SHA256,
- additional_input_2, ( 512 / 8 ) );
-
-/** SHA-256 Test 6.5 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha256_reseed_6_5, HMAC_DRBG_SHA256,
- entropy_input_2, additional_input_2,
- EXPECT ( 0xfc, 0x51, 0xda, 0x84, 0xf9, 0x69, 0x6b, 0xcc, 0x84, 0xc8,
- 0xf2, 0xac, 0xb9, 0x24, 0xbc, 0xdf, 0x72, 0xf8, 0x2e, 0xa2,
- 0xca, 0x64, 0x3f, 0x08, 0x3b, 0x0c, 0x16, 0xc3, 0x63, 0x4e,
- 0xfc, 0x62 ),
- EXPECT ( 0xb9, 0x74, 0xe4, 0x37, 0x0a, 0xd5, 0x76, 0xbb, 0x99, 0xc4,
- 0xe4, 0x9e, 0xa6, 0x80, 0xbf, 0xf9, 0x8d, 0xe9, 0xe1, 0x2f,
- 0xec, 0xd0, 0x13, 0xde, 0xd4, 0x3c, 0x80, 0xf6, 0x9a, 0x7a,
- 0xde, 0x8a ) );
-
-/** SHA-256 Test 6.6 : Retried second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_6_6, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0x56, 0xa2, 0xb4, 0x46, 0x32, 0xcb, 0x8f, 0xc3, 0xa6, 0x40,
- 0x09, 0xbf, 0xd6, 0xec, 0x95, 0xe5, 0x6c, 0xef, 0x8e, 0x7c,
- 0x91, 0x2a, 0xa8, 0x2b, 0x16, 0xf6, 0x14, 0x91, 0x5d, 0x9c,
- 0xd6, 0xe3 ),
- EXPECT ( 0xb5, 0xb3, 0x96, 0xa0, 0x15, 0x76, 0xb0, 0xfe, 0x42, 0xf4,
- 0x08, 0x44, 0x55, 0x6c, 0x4c, 0xf4, 0xb6, 0x80, 0x4c, 0x94,
- 0xde, 0x9d, 0x62, 0x38, 0xf1, 0xf7, 0xe7, 0xaf, 0x5c, 0x72,
- 0x57, 0xf3 ),
- EXPECT ( 0x9b, 0x21, 0x9f, 0xd9, 0x0d, 0xe2, 0xa0, 0x8e, 0x49, 0x34,
- 0x05, 0xcf, 0x87, 0x44, 0x17, 0xb5, 0x82, 0x67, 0x70, 0xf3,
- 0x94, 0x48, 0x15, 0x55, 0xdc, 0x66, 0x8a, 0xcd, 0x96, 0xb9,
- 0xa3, 0xe5, 0x6f, 0x9d, 0x2c, 0x32, 0x5e, 0x26, 0xd4, 0x7c,
- 0x1d, 0xfc, 0xfc, 0x8f, 0xbf, 0x86, 0x12, 0x6f, 0x40, 0xa1,
- 0xe6, 0x39, 0x60, 0xf6, 0x27, 0x49, 0x34, 0x2e, 0xcd, 0xb7,
- 0x1b, 0x24, 0x0d, 0xc6 ) );
-
-/** SHA-256 Test 7 : Instantiation */
-#define sha256_instantiate_7 sha256_instantiate_3
-
-/** SHA-256 Test 7.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha256_generate_fail_7_1, HMAC_DRBG_SHA256,
- additional_input_empty, ( 512 / 8 ) );
-
-/** SHA-256 Test 7.2 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha256_reseed_7_2, HMAC_DRBG_SHA256,
- entropy_input_1, additional_input_empty,
- EXPECT ( 0x44, 0x76, 0xc6, 0xd1, 0x1f, 0xc3, 0x5d, 0x44, 0x09, 0xd9,
- 0x03, 0x2e, 0x45, 0x3b, 0x0f, 0x0d, 0xc3, 0x31, 0x4d, 0xb8,
- 0x62, 0xcb, 0xdb, 0x60, 0x9c, 0x56, 0x02, 0x20, 0x8d, 0x4c,
- 0x88, 0xd8 ),
- EXPECT ( 0x95, 0xef, 0x78, 0x5a, 0x61, 0xc2, 0xf7, 0xb3, 0x6b, 0xc5,
- 0x96, 0xba, 0x4b, 0xa2, 0x08, 0xa5, 0x2c, 0x6d, 0xc2, 0x03,
- 0x63, 0x6d, 0x8f, 0x17, 0x87, 0x45, 0x3b, 0x85, 0x2b, 0x7e,
- 0x49, 0xec ) );
-
-/** SHA-256 Test 7.3 : Retried first call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_7_3, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0x0d, 0xf9, 0x11, 0x0e, 0x2f, 0x22, 0x58, 0x98, 0x24, 0xa9,
- 0x47, 0x6c, 0x8e, 0x32, 0x08, 0x8e, 0x51, 0xa0, 0xda, 0x36,
- 0x63, 0x3f, 0x8c, 0xd1, 0xf7, 0x54, 0x7d, 0xff, 0x69, 0x6e,
- 0x4b, 0x29 ),
- EXPECT ( 0xc0, 0xe3, 0xc8, 0xed, 0x5a, 0x8b, 0x57, 0x9e, 0x3f, 0xef,
- 0x9d, 0xf3, 0xb7, 0xc2, 0xc2, 0x12, 0x98, 0x07, 0x17, 0xcc,
- 0x91, 0xae, 0x18, 0x66, 0x45, 0xfa, 0xbb, 0x2c, 0xc7, 0x84,
- 0xd5, 0xd7 ),
- EXPECT ( 0xd8, 0xb6, 0x71, 0x30, 0x71, 0x41, 0x94, 0xff, 0xe5, 0xb2,
- 0xa3, 0x5d, 0xbc, 0xd5, 0xe1, 0xa2, 0x99, 0x42, 0xad, 0x5c,
- 0x68, 0xf3, 0xde, 0xb9, 0x4a, 0xdd, 0x9e, 0x9e, 0xba, 0xd8,
- 0x60, 0x67, 0xed, 0xf0, 0x49, 0x15, 0xfb, 0x40, 0xc3, 0x91,
- 0xea, 0xe7, 0x0c, 0x65, 0x9e, 0xaa, 0xe7, 0xef, 0x11, 0xa3,
- 0xd4, 0x6a, 0x5b, 0x08, 0x5e, 0xdd, 0x90, 0xcc, 0x72, 0xce,
- 0xa9, 0x89, 0x21, 0x0b ) );
-
-/** SHA-256 Test 7.4 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha256_generate_fail_7_4, HMAC_DRBG_SHA256,
- additional_input_empty, ( 512 / 8 ) );
-
-/** SHA-256 Test 7.5 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha256_reseed_7_5, HMAC_DRBG_SHA256,
- entropy_input_2, additional_input_empty,
- EXPECT ( 0x3d, 0x77, 0x63, 0xe5, 0x30, 0x3d, 0xb5, 0x4b, 0xe2, 0x05,
- 0x44, 0xa8, 0x1e, 0x9f, 0x00, 0xca, 0xdc, 0xfc, 0x1c, 0xb2,
- 0x8d, 0xec, 0xb9, 0xcf, 0xc6, 0x99, 0xf6, 0x1d, 0xba, 0xf8,
- 0x80, 0x21 ),
- EXPECT ( 0xfe, 0xbc, 0x02, 0x79, 0xb7, 0x71, 0x0d, 0xec, 0x5c, 0x06,
- 0x7e, 0xbe, 0xfa, 0x06, 0x8e, 0x4b, 0x59, 0x67, 0x49, 0x1b,
- 0x7e, 0xef, 0x94, 0x75, 0x83, 0x50, 0x6d, 0x04, 0x97, 0xce,
- 0x67, 0xba ) );
-
-/** SHA-256 Test 7.6 : Retried second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_7_6, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0x2d, 0x21, 0xac, 0x94, 0x99, 0x2f, 0xd8, 0x2b, 0x09, 0x80,
- 0xd3, 0xd5, 0x95, 0x51, 0xb9, 0xd0, 0x7c, 0x8d, 0x54, 0xb2,
- 0x52, 0xb6, 0x16, 0x28, 0x93, 0x44, 0xf8, 0xac, 0x86, 0x9e,
- 0xd3, 0x5b ),
- EXPECT ( 0x61, 0x0c, 0x34, 0xcd, 0xbf, 0x6f, 0x75, 0x33, 0x54, 0x7f,
- 0x23, 0x32, 0xea, 0xc5, 0x7e, 0xe3, 0x1e, 0x72, 0x4f, 0xb2,
- 0x92, 0x55, 0x56, 0x6b, 0x59, 0x78, 0x33, 0x16, 0x6c, 0xd0,
- 0x39, 0x9f ),
- EXPECT ( 0x8b, 0xba, 0x71, 0xc2, 0x58, 0x3f, 0x25, 0x30, 0xc2, 0x59,
- 0xc9, 0x07, 0x84, 0xa5, 0x9a, 0xc4, 0x4d, 0x1c, 0x80, 0x56,
- 0x91, 0x7c, 0xcf, 0x38, 0x87, 0x88, 0x10, 0x2d, 0x73, 0x82,
- 0x4c, 0x6c, 0x11, 0xd5, 0xd6, 0x3b, 0xe1, 0xf0, 0x10, 0x17,
- 0xd8, 0x84, 0xcd, 0x69, 0xd9, 0x33, 0x4b, 0x9e, 0xbc, 0x01,
- 0xe7, 0xbd, 0x8f, 0xdf, 0x2a, 0x8e, 0x52, 0x57, 0x22, 0x93,
- 0xdc, 0x21, 0xc0, 0xe1 ) );
-
-/** SHA-256 Test 8 : Instantiate */
-#define sha256_instantiate_8 sha256_instantiate_3
-
-/** SHA-256 Test 8.1 : First call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha256_generate_fail_8_1, HMAC_DRBG_SHA256,
- additional_input_1, ( 512 / 8 ) );
-
-/** SHA-256 Test 8.2 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha256_reseed_8_2, HMAC_DRBG_SHA256,
- entropy_input_1, additional_input_1,
- EXPECT ( 0xb3, 0x81, 0x38, 0x8c, 0x1d, 0x7c, 0xfd, 0x56, 0x59, 0x30,
- 0x99, 0x3b, 0xd9, 0x26, 0x90, 0x66, 0x50, 0x88, 0xd9, 0xb8,
- 0x39, 0x96, 0x9b, 0x87, 0xf1, 0x6d, 0xb6, 0xdf, 0x4e, 0x43,
- 0x00, 0xd7 ),
- EXPECT ( 0xfa, 0x04, 0x25, 0x64, 0x00, 0xe3, 0x42, 0xe6, 0x55, 0xf4,
- 0x33, 0x26, 0x94, 0xe3, 0xb2, 0x4c, 0x04, 0xfb, 0x85, 0xbf,
- 0x87, 0x80, 0x21, 0xe4, 0x52, 0xe7, 0x3b, 0x8f, 0x46, 0xd4,
- 0xbd, 0xc6 ) );
-
-/** SHA-256 Test 8.3 : Retried first call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_8_3, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0xd4, 0x1f, 0x6f, 0x33, 0x65, 0x82, 0x21, 0x70, 0x50, 0xb1,
- 0xf6, 0x59, 0x28, 0xfd, 0x6e, 0x94, 0xcb, 0xc9, 0x45, 0x68,
- 0xfe, 0x3b, 0x6b, 0x53, 0x38, 0x9e, 0x1e, 0x3a, 0x5b, 0x49,
- 0xe1, 0x01 ),
- EXPECT ( 0xa6, 0x55, 0xc9, 0xe7, 0xd1, 0x33, 0xf1, 0xcd, 0x8b, 0x11,
- 0x61, 0xf2, 0x7d, 0x54, 0xe7, 0x5a, 0x7e, 0x7c, 0x80, 0x42,
- 0xbf, 0x74, 0xd4, 0x7f, 0x9f, 0xfd, 0x60, 0xe2, 0x45, 0xeb,
- 0xa5, 0x7e ),
- EXPECT ( 0x44, 0xd7, 0x8b, 0xbc, 0x3e, 0xb6, 0x7c, 0x59, 0xc2, 0x2f,
- 0x6c, 0x31, 0x00, 0x3d, 0x21, 0x2a, 0x78, 0x37, 0xcc, 0xd8,
- 0x4c, 0x43, 0x8b, 0x55, 0x15, 0x0f, 0xd0, 0x13, 0xa8, 0xa7,
- 0x8f, 0xe8, 0xed, 0xea, 0x81, 0xc6, 0x72, 0xe4, 0xb8, 0xdd,
- 0xc8, 0x18, 0x38, 0x86, 0xe6, 0x9c, 0x2e, 0x17, 0x7d, 0xf5,
- 0x74, 0xc1, 0xf1, 0x90, 0xdf, 0x27, 0x18, 0x50, 0xf8, 0xce,
- 0x55, 0xef, 0x20, 0xb8 ) );
-
-/** SHA-256 Test 8.4 : Second call to Generate */
-HMAC_DRBG_TEST_GENERATE_FAIL ( sha256_generate_fail_8_4, HMAC_DRBG_SHA256,
- additional_input_2, ( 512 / 8 ) );
-
-/** SHA-256 Test 8.5 : Reseed */
-HMAC_DRBG_TEST_RESEED ( sha256_reseed_8_5, HMAC_DRBG_SHA256,
- entropy_input_2, additional_input_2,
- EXPECT ( 0xfb, 0xa8, 0x05, 0x45, 0x3e, 0x3c, 0x9a, 0x73, 0x64, 0x58,
- 0x5c, 0xed, 0xbc, 0xd2, 0x92, 0x30, 0xfb, 0xc9, 0x3d, 0x6f,
- 0x12, 0x9d, 0x21, 0xed, 0xdd, 0xf6, 0x61, 0x3b, 0x3a, 0x8f,
- 0xf2, 0x83 ),
- EXPECT ( 0x83, 0x64, 0x7a, 0x33, 0x8c, 0x15, 0x3c, 0xba, 0xf0, 0xe4,
- 0x9a, 0x54, 0xa4, 0x4f, 0xea, 0x66, 0x70, 0xcf, 0xd7, 0xc1,
- 0x71, 0x4d, 0x4a, 0xb3, 0x5f, 0x11, 0x12, 0x3d, 0xf2, 0x7b,
- 0x69, 0xcf ) );
-
-/** SHA-256 Test 8.6 : Retried second call to Generate */
-HMAC_DRBG_TEST_GENERATE ( sha256_generate_8_6, HMAC_DRBG_SHA256,
- additional_input_empty,
- EXPECT ( 0xae, 0x59, 0xc7, 0x0a, 0x7c, 0x60, 0xed, 0x49, 0x83, 0x78,
- 0xea, 0x84, 0x5b, 0xe9, 0x7d, 0x8f, 0xf8, 0x81, 0xe0, 0xea,
- 0x37, 0x2e, 0x26, 0x5f, 0xa6, 0x72, 0x84, 0x29, 0x3e, 0x1a,
- 0x46, 0xac ),
- EXPECT ( 0xe2, 0xf0, 0x4d, 0xe3, 0xce, 0x21, 0x79, 0x61, 0xae, 0x2b,
- 0x2d, 0x20, 0xa7, 0xba, 0x7c, 0x6c, 0x82, 0x0b, 0x5b, 0x14,
- 0x92, 0x6e, 0x59, 0x56, 0xae, 0x6d, 0xfa, 0x2e, 0xd1, 0xd6,
- 0x39, 0x93 ),
- EXPECT ( 0x91, 0x77, 0x80, 0xdc, 0x0c, 0xe9, 0x98, 0x9f, 0xee, 0x6c,
- 0x08, 0x06, 0xd6, 0xda, 0x12, 0x3a, 0x18, 0x25, 0x29, 0x47,
- 0x58, 0xd4, 0xe1, 0xb5, 0x82, 0x68, 0x72, 0x31, 0x78, 0x0a,
- 0x2a, 0x9c, 0x33, 0xf1, 0xd1, 0x56, 0xcc, 0xad, 0x32, 0x77,
- 0x64, 0xb2, 0x9a, 0x4c, 0xb2, 0x69, 0x01, 0x77, 0xae, 0x96,
- 0xef, 0x9e, 0xe9, 0x2a, 0xd0, 0xc3, 0x40, 0xba, 0x0f, 0xd1,
- 0x20, 0x3c, 0x02, 0xc6 ) );
-
-/**
- * Force a "reseed required" state
- *
- * @v state HMAC_DRBG internal state
- */
-static inline void force_reseed_required ( struct hmac_drbg_state *state ) {
- state->reseed_counter = ( HMAC_DRBG_RESEED_INTERVAL + 1 );
-}
-
-/**
- * Perform HMAC_DRBG self-test
- *
- */
-static void hmac_drbg_test_exec ( void ) {
- struct hmac_drbg_state state;
-
- /*
- * IMPORTANT NOTE
- *
- * The NIST test vector set includes several calls to
- * HMAC_DRBG_Generate() that are expected to fail with a
- * status of "Reseed required". The pattern seems to be that
- * when prediction resistance is requested, any call to
- * HMAC_DRBG_Generate() is at first expected to fail. After
- * an explicit reseeding, the call to HMAC_DRBG_Generate() is
- * retried, and on this second time it is expected to succeed.
- *
- * This pattern does not match the specifications for
- * HMAC_DRBG_Generate(): neither HMAC_DRBG_Generate_algorithm
- * (defined in ANS X9.82 Part 3-2007 Section 10.2.2.2.5 (NIST
- * SP 800-90 Section 10.1.2.5)) nor the higher-level wrapper
- * Generate_function defined in ANS X9.82 Part 3-2007 Section
- * 9.4 (NIST SP 800-90 Section 9.3)) can possibly exhibit this
- * behaviour:
- *
- * a) HMAC_DRBG_Generate_algorithm can return a "reseed
- * required" status only as a result of the test
- *
- * "1. If reseed_counter > reseed_interval, then return
- * an indication that a reseed is required."
- *
- * Since the reseed interval is independent of any request
- * for prediction resistance, and since the reseed interval
- * is not specified as part of the NIST test vector set,
- * then this cannot be the source of the "Reseed required"
- * failure expected by the NIST test vector set.
- *
- * b) Generate_function cannot return a "reseed required"
- * status under any circumstances. If the underlying
- * HMAC_DRBG_Generate_algorithm call returns "reseed
- * required", then Generate_function will automatically
- * reseed and try again.
- *
- * To produce the behaviour expected by the NIST test vector
- * set, we therefore contrive to produce a "reseed required"
- * state where necessary by setting the reseed_counter to
- * greater than the reseed_interval.
- */
-
- /* SHA-1 Test 1 */
- instantiate_ok ( &state, &sha1_instantiate_1 );
- generate_ok ( &state, &sha1_generate_1_1 );
- generate_ok ( &state, &sha1_generate_1_2 );
-
- /* SHA-1 Test 2 */
- instantiate_ok ( &state, &sha1_instantiate_2 );
- generate_ok ( &state, &sha1_generate_2_1 );
- generate_ok ( &state, &sha1_generate_2_2 );
-
- /* SHA-1 Test 3 */
- instantiate_ok ( &state, &sha1_instantiate_3 );
- generate_ok ( &state, &sha1_generate_3_1 );
- generate_ok ( &state, &sha1_generate_3_2 );
-
- /* SHA-1 Test 4 */
- instantiate_ok ( &state, &sha1_instantiate_4 );
- generate_ok ( &state, &sha1_generate_4_1 );
- generate_ok ( &state, &sha1_generate_4_2 );
-
- /* SHA-1 Test 5 */
- instantiate_ok ( &state, &sha1_instantiate_5 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha1_generate_fail_5_1 );
- reseed_ok ( &state, &sha1_reseed_5_2 );
- generate_ok ( &state, &sha1_generate_5_3 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha1_generate_fail_5_4 );
- reseed_ok ( &state, &sha1_reseed_5_5 );
- generate_ok ( &state, &sha1_generate_5_6 );
-
- /* SHA-1 Test 6 */
- instantiate_ok ( &state, &sha1_instantiate_6 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha1_generate_fail_6_1 );
- reseed_ok ( &state, &sha1_reseed_6_2 );
- generate_ok ( &state, &sha1_generate_6_3 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha1_generate_fail_6_4 );
- reseed_ok ( &state, &sha1_reseed_6_5 );
- generate_ok ( &state, &sha1_generate_6_6 );
-
- /* SHA-1 Test 7 */
- instantiate_ok ( &state, &sha1_instantiate_7 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha1_generate_fail_7_1 );
- reseed_ok ( &state, &sha1_reseed_7_2 );
- generate_ok ( &state, &sha1_generate_7_3 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha1_generate_fail_7_4 );
- reseed_ok ( &state, &sha1_reseed_7_5 );
- generate_ok ( &state, &sha1_generate_7_6 );
-
- /* SHA-1 Test 8 */
- instantiate_ok ( &state, &sha1_instantiate_8 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha1_generate_fail_8_1 );
- reseed_ok ( &state, &sha1_reseed_8_2 );
- generate_ok ( &state, &sha1_generate_8_3 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha1_generate_fail_8_4 );
- reseed_ok ( &state, &sha1_reseed_8_5 );
- generate_ok ( &state, &sha1_generate_8_6 );
-
- /* SHA-256 Test 1 */
- instantiate_ok ( &state, &sha256_instantiate_1 );
- generate_ok ( &state, &sha256_generate_1_1 );
- generate_ok ( &state, &sha256_generate_1_2 );
-
- /* SHA-256 Test 2 */
- instantiate_ok ( &state, &sha256_instantiate_2 );
- generate_ok ( &state, &sha256_generate_2_1 );
- generate_ok ( &state, &sha256_generate_2_2 );
-
- /* SHA-256 Test 3 */
- instantiate_ok ( &state, &sha256_instantiate_3 );
- generate_ok ( &state, &sha256_generate_3_1 );
- generate_ok ( &state, &sha256_generate_3_2 );
-
- /* SHA-256 Test 4 */
- instantiate_ok ( &state, &sha256_instantiate_4 );
- generate_ok ( &state, &sha256_generate_4_1 );
- generate_ok ( &state, &sha256_generate_4_2 );
-
- /* SHA-256 Test 5 */
- instantiate_ok ( &state, &sha256_instantiate_5 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha256_generate_fail_5_1 );
- reseed_ok ( &state, &sha256_reseed_5_2 );
- generate_ok ( &state, &sha256_generate_5_3 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha256_generate_fail_5_4 );
- reseed_ok ( &state, &sha256_reseed_5_5 );
- generate_ok ( &state, &sha256_generate_5_6 );
-
- /* SHA-256 Test 6 */
- instantiate_ok ( &state, &sha256_instantiate_6 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha256_generate_fail_6_1 );
- reseed_ok ( &state, &sha256_reseed_6_2 );
- generate_ok ( &state, &sha256_generate_6_3 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha256_generate_fail_6_4 );
- reseed_ok ( &state, &sha256_reseed_6_5 );
- generate_ok ( &state, &sha256_generate_6_6 );
-
- /* SHA-256 Test 7 */
- instantiate_ok ( &state, &sha256_instantiate_7 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha256_generate_fail_7_1 );
- reseed_ok ( &state, &sha256_reseed_7_2 );
- generate_ok ( &state, &sha256_generate_7_3 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha256_generate_fail_7_4 );
- reseed_ok ( &state, &sha256_reseed_7_5 );
- generate_ok ( &state, &sha256_generate_7_6 );
-
- /* SHA-256 Test 8 */
- instantiate_ok ( &state, &sha256_instantiate_8 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha256_generate_fail_8_1 );
- reseed_ok ( &state, &sha256_reseed_8_2 );
- generate_ok ( &state, &sha256_generate_8_3 );
- force_reseed_required ( &state ); /* See above comments */
- generate_fail_ok ( &state, &sha256_generate_fail_8_4 );
- reseed_ok ( &state, &sha256_reseed_8_5 );
- generate_ok ( &state, &sha256_generate_8_6 );
-}
-
-/** HMAC_DRBG self-test */
-struct self_test hmac_drbg_test __self_test = {
- .name = "hmac_drbg",
- .exec = hmac_drbg_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/ipv4_test.c b/qemu/roms/ipxe/src/tests/ipv4_test.c
deleted file mode 100644
index f84a8b81f..000000000
--- a/qemu/roms/ipxe/src/tests/ipv4_test.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2015 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * IPv4 tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <string.h>
-#include <byteswap.h>
-#include <ipxe/in.h>
-#include <ipxe/test.h>
-
-/** Define inline IPv4 address */
-#define IPV4(a,b,c,d) \
- htonl ( ( (a) << 24 ) | ( (b) << 16 ) | ( (c) << 8 ) | (d) )
-
-/**
- * Report an inet_ntoa() test result
- *
- * @v addr IPv4 address
- * @v text Expected textual representation
- * @v file Test code file
- * @v line Test code line
- */
-static void inet_ntoa_okx ( uint32_t addr, const char *text, const char *file,
- unsigned int line ) {
- struct in_addr in = { .s_addr = addr };
- char *actual;
-
- /* Format address */
- actual = inet_ntoa ( in );
- DBG ( "inet_ntoa ( %d.%d.%d.%d ) = %s\n",
- ( ( ntohl ( addr ) >> 24 ) & 0xff ),
- ( ( ntohl ( addr ) >> 16 ) & 0xff ),
- ( ( ntohl ( addr ) >> 8 ) & 0xff ),
- ( ( ntohl ( addr ) >> 0 ) & 0xff ), actual );
- okx ( strcmp ( actual, text ) == 0, file, line );
-}
-#define inet_ntoa_ok( addr, text ) \
- inet_ntoa_okx ( addr, text, __FILE__, __LINE__ )
-
-/**
- * Report an inet_aton() test result
- *
- * @v text Textual representation
- * @v addr Expected IPv4 address
- * @v file Test code file
- * @v line Test code line
- */
-static void inet_aton_okx ( const char *text, uint32_t addr, const char *file,
- unsigned int line ) {
- struct in_addr actual;
-
- /* Parse address */
- okx ( inet_aton ( text, &actual ) != 0, file, line );
- DBG ( "inet_aton ( \"%s\" ) = %s\n", text, inet_ntoa ( actual ) );
- okx ( actual.s_addr == addr, file, line );
-};
-#define inet_aton_ok( text, addr ) \
- inet_aton_okx ( text, addr, __FILE__, __LINE__ )
-
-/**
- * Report an inet_aton() failure test result
- *
- * @v text Textual representation
- * @v file Test code file
- * @v line Test code line
- */
-static void inet_aton_fail_okx ( const char *text, const char *file,
- unsigned int line ) {
- struct in_addr actual;
-
- /* Attempt to parse address */
- okx ( inet_aton ( text, &actual ) == 0, file, line );
-}
-#define inet_aton_fail_ok( text ) \
- inet_aton_fail_okx ( text, __FILE__, __LINE__ )
-
-/**
- * Perform IPv4 self-tests
- *
- */
-static void ipv4_test_exec ( void ) {
-
- /* Address testing macros */
- ok ( IN_IS_CLASSA ( IPV4 ( 10, 0, 0, 1 ) ) );
- ok ( ! IN_IS_CLASSB ( IPV4 ( 10, 0, 0, 1 ) ) );
- ok ( ! IN_IS_CLASSC ( IPV4 ( 10, 0, 0, 1 ) ) );
- ok ( ! IN_IS_CLASSA ( IPV4 ( 172, 16, 0, 1 ) ) );
- ok ( IN_IS_CLASSB ( IPV4 ( 172, 16, 0, 1 ) ) );
- ok ( ! IN_IS_CLASSC ( IPV4 ( 172, 16, 0, 1 ) ) );
- ok ( ! IN_IS_CLASSA ( IPV4 ( 192, 168, 0, 1 ) ) );
- ok ( ! IN_IS_CLASSB ( IPV4 ( 192, 168, 0, 1 ) ) );
- ok ( IN_IS_CLASSC ( IPV4 ( 192, 168, 0, 1 ) ) );
- ok ( ! IN_IS_MULTICAST ( IPV4 ( 127, 0, 0, 1 ) ) );
- ok ( ! IN_IS_MULTICAST ( IPV4 ( 8, 8, 8, 8 ) ) );
- ok ( ! IN_IS_MULTICAST ( IPV4 ( 0, 0, 0, 0 ) ) );
- ok ( ! IN_IS_MULTICAST ( IPV4 ( 223, 0, 0, 1 ) ) );
- ok ( ! IN_IS_MULTICAST ( IPV4 ( 240, 0, 0, 1 ) ) );
- ok ( IN_IS_MULTICAST ( IPV4 ( 224, 0, 0, 1 ) ) );
- ok ( IN_IS_MULTICAST ( IPV4 ( 231, 89, 0, 2 ) ) );
- ok ( IN_IS_MULTICAST ( IPV4 ( 239, 6, 1, 17 ) ) );
-
- /* inet_ntoa() tests */
- inet_ntoa_ok ( IPV4 ( 127, 0, 0, 1 ), "127.0.0.1" );
- inet_ntoa_ok ( IPV4 ( 0, 0, 0, 0 ), "0.0.0.0" );
- inet_ntoa_ok ( IPV4 ( 255, 255, 255, 255 ), "255.255.255.255" );
- inet_ntoa_ok ( IPV4 ( 212, 13, 204, 60 ), "212.13.204.60" );
-
- /* inet_aton() tests */
- inet_aton_ok ( "212.13.204.60", IPV4 ( 212, 13, 204, 60 ) );
- inet_aton_ok ( "127.0.0.1", IPV4 ( 127, 0, 0, 1 ) );
-
- /* inet_aton() failure tests */
- inet_aton_fail_ok ( "256.0.0.1" ); /* Byte out of range */
- inet_aton_fail_ok ( "212.13.204.60.1" ); /* Too long */
- inet_aton_fail_ok ( "127.0.0" ); /* Too short */
- inet_aton_fail_ok ( "1.2.3.a" ); /* Invalid characters */
- inet_aton_fail_ok ( "127.0..1" ); /* Missing bytes */
-}
-
-/** IPv4 self-test */
-struct self_test ipv4_test __self_test = {
- .name = "ipv4",
- .exec = ipv4_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/ipv6_test.c b/qemu/roms/ipxe/src/tests/ipv6_test.c
deleted file mode 100644
index 772eb1b82..000000000
--- a/qemu/roms/ipxe/src/tests/ipv6_test.c
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright (C) 2013 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * IPv6 tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <string.h>
-#include <byteswap.h>
-#include <ipxe/ipv6.h>
-#include <ipxe/test.h>
-
-/** Define inline IPv6 address */
-#define IPV6(...) { __VA_ARGS__ }
-
-/** The unspecified IPv6 address */
-static const struct in6_addr sample_unspecified = {
- .s6_addr = IPV6 ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ),
-};
-
-/** A sample link-local IPv6 address */
-static const struct in6_addr sample_link_local = {
- .s6_addr = IPV6 ( 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x69, 0xff, 0xfe, 0x50, 0x58, 0x45 ),
-};
-
-/** A sample global IPv6 address */
-static const struct in6_addr sample_global = {
- .s6_addr = IPV6 ( 0x20, 0x01, 0x0b, 0xa8, 0x00, 0x00, 0x01, 0xd4,
- 0x00, 0x00, 0x00, 0x00, 0x69, 0x50, 0x58, 0x45 ),
-};
-
-/** A sample multicast IPv6 address */
-static const struct in6_addr sample_multicast = {
- .s6_addr = IPV6 ( 0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 ),
-};
-
-/**
- * Report an inet6_ntoa() test result
- *
- * @v addr IPv6 address
- * @v text Expected textual representation
- */
-#define inet6_ntoa_ok( addr, text ) do { \
- static const struct in6_addr in = { \
- .s6_addr = addr, \
- }; \
- static const char expected[] = text; \
- char *actual; \
- \
- actual = inet6_ntoa ( &in ); \
- DBG ( "inet6_ntoa ( %04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x ) " \
- "= %s\n", ntohs ( in.s6_addr16[0] ), \
- ntohs ( in.s6_addr16[1] ), ntohs ( in.s6_addr16[2] ), \
- ntohs ( in.s6_addr16[3] ), ntohs ( in.s6_addr16[4] ), \
- ntohs ( in.s6_addr16[5] ), ntohs ( in.s6_addr16[6] ), \
- ntohs ( in.s6_addr16[7] ), actual ); \
- ok ( strcmp ( actual, expected ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report an inet6_aton() test result
- *
- * @v text Textual representation
- * @v addr Expected IPv6 address
- */
-#define inet6_aton_ok( text, addr ) do { \
- static const char string[] = text; \
- static const struct in6_addr expected = { \
- .s6_addr = addr, \
- }; \
- struct in6_addr actual; \
- \
- ok ( inet6_aton ( string, &actual ) == 0 ); \
- DBG ( "inet6_aton ( \"%s\" ) = %s\n", string, \
- inet6_ntoa ( &actual ) ); \
- ok ( memcmp ( &actual, &expected, sizeof ( actual ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report an inet6_aton() failure test result
- *
- * @v text Textual representation
- */
-#define inet6_aton_fail_ok( text ) do { \
- static const char string[] = text; \
- struct in6_addr dummy; \
- \
- ok ( inet6_aton ( string, &dummy ) != 0 ); \
- } while ( 0 )
-
-/**
- * Perform IPv6 self-tests
- *
- */
-static void ipv6_test_exec ( void ) {
-
- /* Address testing macros */
- ok ( IN6_IS_ADDR_UNSPECIFIED ( &sample_unspecified ) );
- ok ( ! IN6_IS_ADDR_UNSPECIFIED ( &sample_link_local ) );
- ok ( ! IN6_IS_ADDR_UNSPECIFIED ( &sample_global ) );
- ok ( ! IN6_IS_ADDR_UNSPECIFIED ( &sample_multicast ) );
- ok ( ! IN6_IS_ADDR_MULTICAST ( &sample_unspecified ) );
- ok ( ! IN6_IS_ADDR_MULTICAST ( &sample_link_local ) );
- ok ( ! IN6_IS_ADDR_MULTICAST ( &sample_global ) );
- ok ( IN6_IS_ADDR_MULTICAST ( &sample_multicast ) );
- ok ( ! IN6_IS_ADDR_LINKLOCAL ( &sample_unspecified ) );
- ok ( IN6_IS_ADDR_LINKLOCAL ( &sample_link_local ) );
- ok ( ! IN6_IS_ADDR_LINKLOCAL ( &sample_global ) );
- ok ( ! IN6_IS_ADDR_LINKLOCAL ( &sample_multicast ) );
-
- /* inet6_ntoa() tests */
- inet6_ntoa_ok ( IPV6 ( 0x20, 0x01, 0x0b, 0xa8, 0x00, 0x00, 0x01, 0xd4,
- 0x00, 0x00, 0x00, 0x00, 0x69, 0x50, 0x58, 0x45 ),
- "2001:ba8:0:1d4::6950:5845" );
- /* No zeros */
- inet6_ntoa_ok ( IPV6 ( 0x20, 0x01, 0x0d, 0xb8, 0x00, 0x01, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 ),
- "2001:db8:1:1:1:1:1:1" );
- /* Run of zeros */
- inet6_ntoa_ok ( IPV6 ( 0x20, 0x01, 0x0d, 0xb8, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 ),
- "2001:db8::1" );
- /* No "::" for single zero */
- inet6_ntoa_ok ( IPV6 ( 0x20, 0x01, 0x0d, 0xb8, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01 ),
- "2001:db8:0:1:1:1:1:1" );
- /* Use "::" for longest run of zeros */
- inet6_ntoa_ok ( IPV6 ( 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 ),
- "2001:0:0:1::1" );
- /* Use "::" for leftmost equal-length run of zeros */
- inet6_ntoa_ok ( IPV6 ( 0x20, 0x01, 0x0d, 0xb8, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 ),
- "2001:db8::1:0:0:1" );
- /* Trailing run of zeros */
- inet6_ntoa_ok ( IPV6 ( 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ),
- "fe80::" );
- /* Leading run of zeros */
- inet6_ntoa_ok ( IPV6 ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 ),
- "::1" );
- /* All zeros */
- inet6_ntoa_ok ( IPV6 ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ),
- "::" );
- /* Maximum length */
- inet6_ntoa_ok ( IPV6 ( 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff ),
- "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff" );
-
- /* inet6_aton() tests */
- inet6_aton_ok ( "2001:ba8:0:1d4::6950:5845",
- IPV6 ( 0x20, 0x01, 0x0b, 0xa8, 0x00, 0x00, 0x01, 0xd4,
- 0x00, 0x00, 0x00, 0x00, 0x69, 0x50, 0x58, 0x45));
- /* No zeros */
- inet6_aton_ok ( "2001:db8:1:1:1:1:1:1",
- IPV6 ( 0x20, 0x01, 0x0d, 0xb8, 0x00, 0x01, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01));
- /* All intervening zeros */
- inet6_aton_ok ( "fe80::1",
- IPV6 ( 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01));
- /* Trailing run of zeros */
- inet6_aton_ok ( "fe80::",
- IPV6 ( 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00));
- /* Leading run of zeros */
- inet6_aton_ok ( "::1",
- IPV6 ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01));
- /* All zeros */
- inet6_aton_ok ( "::",
- IPV6 ( 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00));
-
- /* inet6_aton() failure tests */
- inet6_aton_fail_ok ( "20012:ba8:0:1d4::6950:5845" );
- inet6_aton_fail_ok ( "200z:ba8:0:1d4::6950:5845" );
- inet6_aton_fail_ok ( "2001.ba8:0:1d4::6950:5845" );
- inet6_aton_fail_ok ( "2001:db8:1:1:1:1:1" );
- inet6_aton_fail_ok ( "2001:db8:1:1:1:1:1:1:2" );
- inet6_aton_fail_ok ( "2001:db8::1::2" );
- inet6_aton_fail_ok ( "2001:ba8:0:1d4:::6950:5845" );
- inet6_aton_fail_ok ( ":::" );
-}
-
-/** IPv6 self-test */
-struct self_test ipv6_test __self_test = {
- .name = "ipv6",
- .exec = ipv6_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/linebuf_test.c b/qemu/roms/ipxe/src/tests/linebuf_test.c
deleted file mode 100644
index 0dd486e9d..000000000
--- a/qemu/roms/ipxe/src/tests/linebuf_test.c
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Copyright (C) 2015 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Line buffer self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <string.h>
-#include <assert.h>
-#include <ipxe/linebuf.h>
-#include <ipxe/test.h>
-
-/** Define inline raw data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** Define inline lines */
-#define LINES(...) { __VA_ARGS__ }
-
-/** A line buffer test */
-struct linebuf_test {
- /** Raw data */
- const void *data;
- /** Length of raw data */
- size_t len;
- /** Expected sequence of lines */
- const char **lines;
- /** Number of expected lines */
- unsigned int count;
-};
-
-/** Line buffer test expected failure indicator */
-static const char linebuf_failure[1];
-
-/**
- * Define a line buffer test
- *
- * @v name Test name
- * @v DATA Raw data
- * @v LINES Expected sequence of lines
- * @ret test Line buffer test
- */
-#define LINEBUF_TEST( name, DATA, LINES ) \
- static const char name ## _data[] = DATA; \
- static const char * name ## _lines[] = LINES; \
- static struct linebuf_test name = { \
- .data = name ## _data, \
- .len = ( sizeof ( name ## _data ) - 1 /* NUL */ ), \
- .lines = name ## _lines, \
- .count = ( sizeof ( name ## _lines ) / \
- sizeof ( name ## _lines[0] ) ), \
- }
-
-/** Simple line buffer test */
-LINEBUF_TEST ( simple,
- ( "HTTP/1.1 200 OK\r\n"
- "Content-Length: 123\r\n"
- "Content-Type: text/plain\r\n"
- "\r\n" ),
- LINES ( "HTTP/1.1 200 OK",
- "Content-Length: 123",
- "Content-Type: text/plain",
- "" ) );
-
-/** Mixed line terminators */
-LINEBUF_TEST ( mixed,
- ( "LF only\n" "CRLF\r\n" "\n" "\n" "\r\n" "\r\n" "CR only\r" ),
- LINES ( "LF only", "CRLF", "", "", "", "",
- NULL /* \r should not be treated as a terminator */ ) );
-
-/** Split consumption: part 1 */
-LINEBUF_TEST ( split_1,
- ( "This line was" ),
- LINES ( NULL ) );
-
-/** Split consumption: part 2 */
-LINEBUF_TEST ( split_2,
- ( " split across" ),
- LINES ( NULL ) );
-
-/** Split consumption: part 3 */
-LINEBUF_TEST ( split_3,
- ( " multiple calls\r\nand so was this one\r" ),
- LINES ( "This line was split across multiple calls", NULL ) );
-
-/** Split consumption: part 4 */
-LINEBUF_TEST ( split_4,
- ( "\nbut not this one\r\n" ),
- LINES ( "and so was this one", "but not this one" ) );
-
-/** Split consumption: part 5 */
-LINEBUF_TEST ( split_5,
- ( "" ),
- LINES ( NULL ) );
-
-/** Split consumption: part 6 */
-LINEBUF_TEST ( split_6,
- ( "This line came after a zero-length call\r\n" ),
- LINES ( "This line came after a zero-length call" ) );
-
-/** Embedded NULs */
-LINEBUF_TEST ( embedded_nuls,
- ( "This\r\ntest\r\nincludes\r\n\r\nsome\0binary\0data\r\n" ),
- LINES ( "This", "test", "includes", "", linebuf_failure ) );
-
-/**
- * Report line buffer initialisation test result
- *
- * @v linebuf Line buffer
- * @v file Test code file
- * @v line Test code line
- */
-static void linebuf_init_okx ( struct line_buffer *linebuf,
- const char *file, unsigned int line ) {
-
- /* Initialise line buffer */
- memset ( linebuf, 0, sizeof ( *linebuf ) );
- okx ( buffered_line ( linebuf ) == NULL, file, line );
-}
-#define linebuf_init_ok( linebuf ) \
- linebuf_init_okx ( linebuf, __FILE__, __LINE__ )
-
-/**
- * Report line buffer consumption test result
- *
- * @v test Line buffer test
- * @v linebuf Line buffer
- * @v file Test code file
- * @v line Test code line
- */
-static void linebuf_consume_okx ( struct linebuf_test *test,
- struct line_buffer *linebuf,
- const char *file, unsigned int line ) {
- const char *data = test->data;
- size_t remaining = test->len;
- int len;
- unsigned int i;
- const char *expected;
- char *actual;
- int rc;
-
- DBGC ( test, "LINEBUF %p:\n", test );
- DBGC_HDA ( test, 0, data, remaining );
-
- /* Consume data one line at a time */
- for ( i = 0 ; i < test->count ; i++ ) {
-
- /* Add data to line buffer */
- len = line_buffer ( linebuf, data, remaining );
-
- /* Get buffered line, if any */
- actual = buffered_line ( linebuf );
- if ( len < 0 ) {
- rc = len;
- DBGC ( test, "LINEBUF %p %s\n", test, strerror ( rc ) );
- } else if ( actual != NULL ) {
- DBGC ( test, "LINEBUF %p \"%s\" (consumed %d)\n",
- test, actual, len );
- } else {
- DBGC ( test, "LINEBUF %p unterminated (consumed %d)\n",
- test, len );
- }
-
- /* Check for success/failure */
- expected = test->lines[i];
- if ( expected == linebuf_failure ) {
- rc = len;
- okx ( rc < 0, file, line );
- okx ( remaining > 0, file, line );
- return;
- }
- okx ( len >= 0, file, line );
- okx ( ( ( size_t ) len ) <= remaining, file, line );
-
- /* Check expected result */
- if ( expected == NULL ) {
- okx ( actual == NULL, file, line );
- } else {
- okx ( actual != NULL, file, line );
- okx ( strcmp ( actual, expected ) == 0, file, line );
- }
-
- /* Consume data */
- data += len;
- remaining -= len;
- }
-
- /* Check that all data was consumed */
- okx ( remaining == 0, file, line );
-}
-#define linebuf_consume_ok( test, linebuf ) \
- linebuf_consume_okx ( test, linebuf, __FILE__, __LINE__ )
-
-/**
- * Report line buffer accumulation test result
- *
- * @v test Line buffer test
- * @v linebuf Line buffer
- * @v file Test code file
- * @v line Test code line
- */
-static void linebuf_accumulated_okx ( struct linebuf_test *test,
- struct line_buffer *linebuf,
- const char *file, unsigned int line ) {
- const char *actual;
- const char *expected;
- unsigned int i;
-
- /* Check each accumulated line */
- actual = linebuf->data;
- for ( i = 0 ; i < test->count ; i++ ) {
-
- /* Check accumulated line */
- okx ( actual != NULL, file, line );
- okx ( actual >= linebuf->data, file, line );
- expected = test->lines[i];
- if ( ( expected == NULL ) || ( expected == linebuf_failure ) )
- return;
- okx ( strcmp ( actual, expected ) == 0, file, line );
-
- /* Move to next line */
- actual += ( strlen ( actual ) + 1 /* NUL */ );
- okx ( actual <= ( linebuf->data + linebuf->len ), file, line );
- }
-}
-#define linebuf_accumulated_ok( test, linebuf ) \
- linebuf_accumulated_okx ( test, linebuf, __FILE__, __LINE__ )
-
-/**
- * Report line buffer emptying test result
- *
- * @v linebuf Line buffer
- * @v file Test code file
- * @v line Test code line
- */
-static void linebuf_empty_okx ( struct line_buffer *linebuf,
- const char *file, unsigned int line ) {
-
- /* Empty line buffer */
- empty_line_buffer ( linebuf );
- okx ( buffered_line ( linebuf ) == NULL, file, line );
-}
-#define linebuf_empty_ok( linebuf ) \
- linebuf_empty_okx ( linebuf, __FILE__, __LINE__ )
-
-/**
- * Report line buffer combined test result
- *
- * @v test Line buffer test
- * @v file Test code file
- * @v line Test code line
- */
-static void linebuf_okx ( struct linebuf_test *test, const char *file,
- unsigned int line ) {
- struct line_buffer linebuf;
-
- linebuf_init_okx ( &linebuf, file, line );
- linebuf_consume_okx ( test, &linebuf, file, line );
- linebuf_accumulated_okx ( test, &linebuf, file, line );
- linebuf_empty_okx ( &linebuf, file, line );
-}
-#define linebuf_ok( test ) \
- linebuf_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Perform line buffer self-tests
- *
- */
-static void linebuf_test_exec ( void ) {
- struct line_buffer linebuf;
-
- /* Basic tests */
- linebuf_ok ( &simple );
- linebuf_ok ( &mixed );
-
- /* Split consumption test */
- linebuf_init_ok ( &linebuf );
- linebuf_consume_ok ( &split_1, &linebuf );
- linebuf_consume_ok ( &split_2, &linebuf );
- linebuf_consume_ok ( &split_3, &linebuf );
- linebuf_consume_ok ( &split_4, &linebuf );
- linebuf_consume_ok ( &split_5, &linebuf );
- linebuf_consume_ok ( &split_6, &linebuf );
- linebuf_empty_ok ( &linebuf );
-
- /* Embedded NULs */
- linebuf_ok ( &embedded_nuls );
-}
-
-/** Line buffer self-test */
-struct self_test linebuf_test __self_test = {
- .name = "linebuf",
- .exec = linebuf_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/list_test.c b/qemu/roms/ipxe/src/tests/list_test.c
deleted file mode 100644
index 352c87da0..000000000
--- a/qemu/roms/ipxe/src/tests/list_test.c
+++ /dev/null
@@ -1,487 +0,0 @@
-/*
- * Copyright (C) 2011 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * List function tests
- *
- */
-
-/* Forcibly enable assertions for list_check() */
-#undef NDEBUG
-
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-#include <ipxe/list.h>
-#include <ipxe/test.h>
-
-/** A list test structure */
-struct list_test {
- /** List element */
- struct list_head list;
- /** Label */
- char label;
-};
-
-/** List test elements */
-static struct list_test list_tests[] = {
- { .label = '0' },
- { .label = '1' },
- { .label = '2' },
- { .label = '3' },
- { .label = '4' },
- { .label = '5' },
- { .label = '6' },
- { .label = '7' },
- { .label = '8' },
- { .label = '9' },
-};
-
-/** Test list */
-static LIST_HEAD ( test_list );
-
-/**
- * Check list contents are as expected
- *
- * @v list Test list
- * @v expected Expected contents
- * @v ok List contents are as expected
- */
-static int list_check_contents ( struct list_head *list,
- const char *expected ) {
- struct list_test *entry;
- size_t num_entries = 0;
-
- /* Determine size of list */
- list_for_each_entry ( entry, list, list )
- num_entries++;
-
- {
- char found[ num_entries + 1 ];
- char found_rev[ num_entries + 1 ];
- char *tmp;
-
- /* Build up list content string */
- tmp = found;
- list_for_each_entry ( entry, list, list )
- *(tmp++) = entry->label;
- *tmp = '\0';
-
- /* Sanity check reversed list */
- tmp = &found_rev[ sizeof ( found_rev ) - 1 ];
- *tmp = '\0';
- list_for_each_entry_reverse ( entry, list, list )
- *(--tmp) = entry->label;
- if ( strcmp ( found, found_rev ) != 0 ) {
- printf ( "FAILURE: list reversal mismatch (forward "
- "\"%s\", reverse \"%s\")\n",
- found, found_rev );
- return 0;
- }
-
- /* Compare against expected content */
- if ( strcmp ( found, expected ) == 0 ) {
- return 1;
- } else {
- printf ( "FAILURE: expected \"%s\", got \"%s\"\n",
- expected, found );
- return 0;
- }
- }
-}
-
-/**
- * Report list test result
- *
- * @v list Test list
- * @v expected Expected contents
- */
-#define list_contents_ok( list, expected ) do { \
- ok ( list_check_contents ( (list), (expected) ) ); \
- } while ( 0 )
-
-/**
- * Report list iteration test result
- *
- * @v macro Iterator macro
- * @v expected Expected contents
- * @v pos Iterator
- * @v ... Arguments to iterator macro
- */
-#define list_iterate_ok( macro, expected, pos, ... ) do { \
- const char *check = expected; \
- macro ( pos, __VA_ARGS__ ) { \
- struct list_test *entry = \
- list_entry ( pos, struct list_test, \
- list ); \
- ok ( entry->label == *(check++) ); \
- } \
- ok ( *check == '\0' ); \
- } while ( 0 )
-
-/**
- * Report list entry iteration test result
- *
- * @v macro Iterator macro
- * @v expected Expected contents
- * @v pos Iterator
- * @v ... Arguments to iterator macro
- */
-#define list_iterate_entry_ok( macro, expected, pos, ... ) do { \
- const char *check = expected; \
- macro ( pos, __VA_ARGS__ ) { \
- ok ( (pos)->label == *(check++) ); \
- } \
- ok ( *check == '\0' ); \
- } while ( 0 )
-
-/**
- * Perform list self-test
- *
- */
-static void list_test_exec ( void ) {
- struct list_head *list = &test_list;
- struct list_head target_list;
- struct list_head *target = &target_list;
- struct list_head *raw_pos;
- struct list_test *pos;
- struct list_test *tmp;
-
- /* Test initialiser and list_empty() */
- ok ( list_empty ( list ) );
- list_contents_ok ( list, "" );
-
- /* Test list_add(), list_add_tail() and list_del() */
- INIT_LIST_HEAD ( list );
- list_contents_ok ( list, "" );
- list_add ( &list_tests[4].list, list ); /* prepend */
- list_contents_ok ( list, "4" );
- list_add ( &list_tests[2].list, list ); /* prepend */
- list_contents_ok ( list, "24" );
- list_add_tail ( &list_tests[7].list, list ); /* append */
- list_contents_ok ( list, "247" );
- list_add ( &list_tests[1].list, &list_tests[4].list ); /* after */
- list_contents_ok ( list, "2417" );
- list_add_tail ( &list_tests[8].list, &list_tests[7].list ); /* before */
- list_contents_ok ( list, "24187" );
- list_del ( &list_tests[4].list ); /* delete middle */
- list_contents_ok ( list, "2187" );
- list_del ( &list_tests[2].list ); /* delete first */
- list_contents_ok ( list, "187" );
- list_del ( &list_tests[7].list ); /* delete last */
- list_contents_ok ( list, "18" );
- list_del ( &list_tests[1].list ); /* delete all */
- list_del ( &list_tests[8].list ); /* delete all */
- list_contents_ok ( list, "" );
- ok ( list_empty ( list ) );
-
- /* Test list_is_singular() */
- INIT_LIST_HEAD ( list );
- ok ( ! list_is_singular ( list ) );
- list_add ( &list_tests[1].list, list );
- ok ( list_is_singular ( list ) );
- list_add ( &list_tests[3].list, list );
- ok ( ! list_is_singular ( list ) );
- list_del ( &list_tests[1].list );
- ok ( list_is_singular ( list ) );
-
- /* Test list_is_last() */
- INIT_LIST_HEAD ( list );
- list_add_tail ( &list_tests[6].list, list );
- ok ( list_is_last ( &list_tests[6].list, list ) );
- list_add_tail ( &list_tests[4].list, list );
- ok ( list_is_last ( &list_tests[4].list, list ) );
- ok ( ! list_is_last ( &list_tests[6].list, list ) );
-
- /* Test list_cut_position() - empty list */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_cut_position ( target, list, list );
- list_contents_ok ( list, "" );
- list_contents_ok ( target, "" );
-
- /* Test list_cut_position() - singular list, move nothing */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[4].list, list );
- list_cut_position ( target, list, list );
- list_contents_ok ( list, "4" );
- list_contents_ok ( target, "" );
-
- /* Test list_cut_position() - singular list, move singular entry */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[9].list, list );
- list_cut_position ( target, list, &list_tests[9].list );
- list_contents_ok ( list, "" );
- list_contents_ok ( target, "9" );
-
- /* Test list_cut_position() - multi-entry list, move nothing */
- INIT_LIST_HEAD ( list );
- list_add_tail ( &list_tests[3].list, list );
- list_add_tail ( &list_tests[2].list, list );
- list_add_tail ( &list_tests[7].list, list );
- INIT_LIST_HEAD ( target );
- list_cut_position ( target, list, list );
- list_contents_ok ( list, "327" );
- list_contents_ok ( target, "" );
-
- /* Test list_cut_position() - multi-entry list, move some */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[8].list, list );
- list_add_tail ( &list_tests[0].list, list );
- list_add_tail ( &list_tests[9].list, list );
- list_add_tail ( &list_tests[3].list, list );
- list_add_tail ( &list_tests[2].list, list );
- list_cut_position ( target, list, &list_tests[0].list );
- list_contents_ok ( list, "932" );
- list_contents_ok ( target, "80" );
-
- /* Test list_cut_position() - multi-entry list, move everything */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[3].list, list );
- list_add_tail ( &list_tests[5].list, list );
- list_add_tail ( &list_tests[4].list, list );
- list_add_tail ( &list_tests[7].list, list );
- list_add_tail ( &list_tests[1].list, list );
- list_cut_position ( target, list, &list_tests[1].list );
- list_contents_ok ( list, "" );
- list_contents_ok ( target, "35471" );
-
- /* Test list_splice() - empty list */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_splice ( list, target );
- list_contents_ok ( list, "" );
- list_contents_ok ( target, "" );
-
- /* Test list_splice() - both lists empty */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_splice ( list, target );
- list_contents_ok ( target, "" );
-
- /* Test list_splice() - source list empty */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[1].list, target );
- list_add_tail ( &list_tests[3].list, target );
- list_splice ( list, &list_tests[1].list );
- list_contents_ok ( target, "13" );
-
- /* Test list_splice() - destination list empty */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[6].list, list );
- list_add_tail ( &list_tests[5].list, list );
- list_add_tail ( &list_tests[2].list, list );
- list_splice ( list, target );
- list_contents_ok ( target, "652" );
-
- /* Test list_splice() - both lists non-empty */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[8].list, list );
- list_add_tail ( &list_tests[4].list, list );
- list_add_tail ( &list_tests[5].list, list );
- list_add_tail ( &list_tests[1].list, target );
- list_add_tail ( &list_tests[9].list, target );
- list_splice ( list, &list_tests[1].list );
- list_contents_ok ( target, "18459" );
-
- /* Test list_splice_tail() - both lists empty */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_splice_tail ( list, target );
- list_contents_ok ( target, "" );
-
- /* Test list_splice_tail() - source list empty */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[5].list, target );
- list_splice_tail ( list, &list_tests[5].list );
- list_contents_ok ( target, "5" );
-
- /* Test list_splice_tail() - destination list empty */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[2].list, list );
- list_add_tail ( &list_tests[1].list, list );
- list_add_tail ( &list_tests[0].list, list );
- list_splice_tail ( list, target );
- list_contents_ok ( target, "210" );
-
- /* Test list_splice_tail() - both lists non-empty */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[9].list, list );
- list_add_tail ( &list_tests[5].list, list );
- list_add_tail ( &list_tests[7].list, list );
- list_add_tail ( &list_tests[2].list, target );
- list_add_tail ( &list_tests[4].list, target );
- list_splice_tail ( list, &list_tests[2].list );
- list_contents_ok ( target, "95724" );
-
- /* Test list_splice_init() */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[4].list, list );
- list_add_tail ( &list_tests[1].list, target );
- list_splice_init ( list, target );
- ok ( list_empty ( list ) );
- list_contents_ok ( list, "" );
- list_contents_ok ( target, "41" );
-
- /* Test list_splice_tail_init() */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( target );
- list_add_tail ( &list_tests[3].list, list );
- list_add_tail ( &list_tests[2].list, list );
- list_add_tail ( &list_tests[5].list, target );
- list_splice_tail_init ( list, &list_tests[5].list );
- ok ( list_empty ( list ) );
- list_contents_ok ( list, "" );
- list_contents_ok ( target, "325" );
-
- /* Test list_entry() */
- INIT_LIST_HEAD ( &list_tests[3].list ); // for list_check()
- ok ( list_entry ( &list_tests[3].list, struct list_test, list )
- == &list_tests[3] );
-
- /* Test list_first_entry() and list_last_entry() */
- INIT_LIST_HEAD ( list );
- list_add_tail ( &list_tests[9].list, list );
- list_add_tail ( &list_tests[5].list, list );
- list_add_tail ( &list_tests[6].list, list );
- ok ( list_first_entry ( list, struct list_test, list )
- == &list_tests[9] );
- ok ( list_last_entry ( list, struct list_test, list )
- == &list_tests[6] );
- list_del ( &list_tests[9].list );
- ok ( list_first_entry ( list, struct list_test, list )
- == &list_tests[5] );
- ok ( list_last_entry ( list, struct list_test, list )
- == &list_tests[6] );
- list_del ( &list_tests[6].list );
- ok ( list_first_entry ( list, struct list_test, list )
- == &list_tests[5] );
- ok ( list_last_entry ( list, struct list_test, list )
- == &list_tests[5] );
- list_del ( &list_tests[5].list );
- ok ( list_first_entry ( list, struct list_test, list ) == NULL );
- ok ( list_last_entry ( list, struct list_test, list ) == NULL );
-
- /* Test list_for_each() */
- INIT_LIST_HEAD ( list );
- list_add_tail ( &list_tests[6].list, list );
- list_add_tail ( &list_tests[7].list, list );
- list_add_tail ( &list_tests[3].list, list );
- list_iterate_ok ( list_for_each, "673", raw_pos, list );
-
- /* Test list_for_each_entry() and list_for_each_entry_reverse() */
- INIT_LIST_HEAD ( list );
- list_add_tail ( &list_tests[3].list, list );
- list_add_tail ( &list_tests[2].list, list );
- list_add_tail ( &list_tests[6].list, list );
- list_add_tail ( &list_tests[9].list, list );
- list_iterate_entry_ok ( list_for_each_entry, "3269",
- pos, list, list );
- list_iterate_entry_ok ( list_for_each_entry_reverse, "9623",
- pos, list, list );
-
- /* Test list_for_each_entry_safe() */
- INIT_LIST_HEAD ( list );
- list_add_tail ( &list_tests[2].list, list );
- list_add_tail ( &list_tests[4].list, list );
- list_add_tail ( &list_tests[1].list, list );
- {
- char *expected = "241";
- list_for_each_entry_safe ( pos, tmp, list, list ) {
- list_contents_ok ( list, expected );
- list_del ( &pos->list );
- expected++;
- list_contents_ok ( list, expected );
- }
- }
- ok ( list_empty ( list ) );
-
- /* Test list_for_each_entry_continue() and
- * list_for_each_entry_continue_reverse()
- */
- INIT_LIST_HEAD ( list );
- list_add_tail ( &list_tests[4].list, list );
- list_add_tail ( &list_tests[7].list, list );
- list_add_tail ( &list_tests[2].list, list );
- list_add_tail ( &list_tests[9].list, list );
- list_add_tail ( &list_tests[3].list, list );
- pos = &list_tests[7];
- list_iterate_entry_ok ( list_for_each_entry_continue, "293",
- pos, list, list );
- ok ( pos == list_entry ( list, struct list_test, list ) );
- list_iterate_entry_ok ( list_for_each_entry_continue, "47293",
- pos, list, list );
- pos = &list_tests[3];
- list_iterate_entry_ok ( list_for_each_entry_continue, "",
- pos, list, list );
- pos = &list_tests[2];
- list_iterate_entry_ok ( list_for_each_entry_continue_reverse, "74",
- pos, list, list );
- ok ( pos == list_entry ( list, struct list_test, list ) );
- list_iterate_entry_ok ( list_for_each_entry_continue_reverse, "39274",
- pos, list, list );
- pos = &list_tests[4];
- list_iterate_entry_ok ( list_for_each_entry_continue_reverse, "",
- pos, list, list );
-
- /* Test list_contains() and list_contains_entry() */
- INIT_LIST_HEAD ( list );
- INIT_LIST_HEAD ( &list_tests[3].list );
- list_add ( &list_tests[8].list, list );
- list_add ( &list_tests[5].list, list );
- ok ( list_contains ( &list_tests[8].list, list ) );
- ok ( list_contains_entry ( &list_tests[8], list, list ) );
- ok ( list_contains ( &list_tests[5].list, list ) );
- ok ( list_contains_entry ( &list_tests[5], list, list ) );
- ok ( ! list_contains ( &list_tests[3].list, list ) );
- ok ( ! list_contains_entry ( &list_tests[3], list, list ) );
-
- /* Test list_check_contains_entry() */
- INIT_LIST_HEAD ( list );
- list_add ( &list_tests[4].list, list );
- list_add ( &list_tests[0].list, list );
- list_add ( &list_tests[3].list, list );
- list_check_contains_entry ( &list_tests[4], list, list );
- list_check_contains_entry ( &list_tests[0], list, list );
- list_check_contains_entry ( &list_tests[3], list, list );
-}
-
-/** List self-test */
-struct self_test list_test __self_test = {
- .name = "list",
- .exec = list_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/math_test.c b/qemu/roms/ipxe/src/tests/math_test.c
deleted file mode 100644
index 1a244f1eb..000000000
--- a/qemu/roms/ipxe/src/tests/math_test.c
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- * Copyright (C) 2014 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Mathematical self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <string.h>
-#include <strings.h>
-#include <assert.h>
-#include <ipxe/test.h>
-#include <ipxe/isqrt.h>
-
-/**
- * Force a call to the non-constant implementation of ffsl()
- *
- * @v value Value
- * @ret lsb Least significant bit set in value (LSB=1), or zero
- */
-__attribute__ (( noinline )) int ffsl_var ( long value ) {
- return ffsl ( value );
-}
-
-/**
- * Force a call to the non-constant implementation of ffsll()
- *
- * @v value Value
- * @ret lsb Least significant bit set in value (LSB=1), or zero
- */
-__attribute__ (( noinline )) int ffsll_var ( long long value ) {
- return ffsll ( value );
-}
-
-/**
- * Force a call to the non-constant implementation of flsl()
- *
- * @v value Value
- * @ret msb Most significant bit set in value (LSB=1), or zero
- */
-__attribute__ (( noinline )) int flsl_var ( long value ) {
- return flsl ( value );
-}
-
-/**
- * Force a call to the non-constant implementation of flsll()
- *
- * @v value Value
- * @ret msb Most significant bit set in value (LSB=1), or zero
- */
-__attribute__ (( noinline )) int flsll_var ( long long value ) {
- return flsll ( value );
-}
-
-/**
- * Check current stack pointer
- *
- * @ret stack A value at a fixed offset from the current stack pointer
- *
- * Used by check_divmod()
- */
-static __attribute__ (( noinline )) void * stack_check ( void ) {
- int a;
- void *ret;
-
- /* Hide the fact that we are returning the address of a local
- * variable, to prevent a compiler warning.
- */
- __asm__ ( "\n" : "=g" ( ret ) : "0" ( &a ) );
-
- return ret;
-}
-
-/**
- * Check division/modulus operation
- *
- * One aspect of the calling convention for the implicit arithmetic
- * functions (__udivmoddi4() etc) is whether the caller or the callee
- * is expected to pop any stack-based arguments. This distinction can
- * be masked if the compiler chooses to uses a frame pointer in the
- * caller, since the caller will then reload the stack pointer from
- * the frame pointer and so can mask an error in the value of the
- * stack pointer.
- *
- * We run the division operation in a loop, and check that the stack
- * pointer does not change value on the second iteration. To prevent
- * the compiler from performing various optimisations which might
- * invalidate our intended test (such as unrolling the loop, or moving
- * the division operation outside the loop), we include some dummy
- * inline assembly code.
- */
-#define check_divmod( dividend, divisor, OP ) ( { \
- uint64_t result; \
- int count = 2; \
- void *check = NULL; \
- \
- /* Prevent compiler from unrolling the loop */ \
- __asm__ ( "\n" : "=g" ( count ) : "0" ( count ) ); \
- \
- do { \
- /* Check that stack pointer does not change between \
- * loop iterations. \
- */ \
- if ( check ) { \
- assert ( check == stack_check() ); \
- } else { \
- check = stack_check(); \
- } \
- \
- /* Perform division, preventing the compiler from \
- * moving the division out of the loop. \
- */ \
- __asm__ ( "\n" : "=g" ( dividend ), "=g" ( divisor ) \
- : "0" ( dividend ), "1" ( divisor ) ); \
- result = ( dividend OP divisor ); \
- __asm__ ( "\n" : "=g" ( result ) : "0" ( result ) ); \
- \
- } while ( --count ); \
- result; } )
-
-/**
- * Force a use of runtime 64-bit unsigned integer division
- *
- * @v dividend Dividend
- * @v divisor Divisor
- * @ret quotient Quotient
- */
-__attribute__ (( noinline )) uint64_t u64div_var ( uint64_t dividend,
- uint64_t divisor ) {
-
- return check_divmod ( dividend, divisor, / );
-}
-
-/**
- * Force a use of runtime 64-bit unsigned integer modulus
- *
- * @v dividend Dividend
- * @v divisor Divisor
- * @ret remainder Remainder
- */
-__attribute__ (( noinline )) uint64_t u64mod_var ( uint64_t dividend,
- uint64_t divisor ) {
-
- return check_divmod ( dividend, divisor, % );
-}
-
-/**
- * Force a use of runtime 64-bit signed integer division
- *
- * @v dividend Dividend
- * @v divisor Divisor
- * @ret quotient Quotient
- */
-__attribute__ (( noinline )) int64_t s64div_var ( int64_t dividend,
- int64_t divisor ) {
-
- return check_divmod ( dividend, divisor, / );
-}
-
-/**
- * Force a use of runtime 64-bit unsigned integer modulus
- *
- * @v dividend Dividend
- * @v divisor Divisor
- * @ret remainder Remainder
- */
-__attribute__ (( noinline )) int64_t s64mod_var ( int64_t dividend,
- int64_t divisor ) {
-
- return check_divmod ( dividend, divisor, % );
-}
-
-/**
- * Report a ffsl() test result
- *
- * @v value Value
- * @v lsb Expected LSB
- * @v file Test code file
- * @v line Test code line
- */
-static inline __attribute__ (( always_inline )) void
-ffsl_okx ( long value, int lsb, const char *file, unsigned int line ) {
-
- /* Verify as a constant (requires to be inlined) */
- okx ( ffsl ( value ) == lsb, file, line );
-
- /* Verify as a non-constant */
- okx ( ffsl_var ( value ) == lsb, file, line );
-}
-#define ffsl_ok( value, lsb ) ffsl_okx ( value, lsb, __FILE__, __LINE__ )
-
-/**
- * Report a ffsll() test result
- *
- * @v value Value
- * @v lsb Expected LSB
- * @v file Test code file
- * @v line Test code line
- */
-static inline __attribute__ (( always_inline )) void
-ffsll_okx ( long long value, int lsb, const char *file, unsigned int line ) {
-
- /* Verify as a constant (requires to be inlined) */
- okx ( ffsll ( value ) == lsb, file, line );
-
- /* Verify as a non-constant */
- okx ( ffsll_var ( value ) == lsb, file, line );
-}
-#define ffsll_ok( value, lsb ) ffsll_okx ( value, lsb, __FILE__, __LINE__ )
-
-/**
- * Report a flsl() test result
- *
- * @v value Value
- * @v msb Expected MSB
- * @v file Test code file
- * @v line Test code line
- */
-static inline __attribute__ (( always_inline )) void
-flsl_okx ( long value, int msb, const char *file, unsigned int line ) {
-
- /* Verify as a constant (requires to be inlined) */
- okx ( flsl ( value ) == msb, file, line );
-
- /* Verify as a non-constant */
- okx ( flsl_var ( value ) == msb, file, line );
-}
-#define flsl_ok( value, msb ) flsl_okx ( value, msb, __FILE__, __LINE__ )
-
-/**
- * Report a flsll() test result
- *
- * @v value Value
- * @v msb Expected MSB
- * @v file Test code file
- * @v line Test code line
- */
-static inline __attribute__ (( always_inline )) void
-flsll_okx ( long long value, int msb, const char *file, unsigned int line ) {
-
- /* Verify as a constant (requires to be inlined) */
- okx ( flsll ( value ) == msb, file, line );
-
- /* Verify as a non-constant */
- okx ( flsll_var ( value ) == msb, file, line );
-}
-#define flsll_ok( value, msb ) flsll_okx ( value, msb, __FILE__, __LINE__ )
-
-/**
- * Report a 64-bit unsigned integer division test result
- *
- * @v dividend Dividend
- * @v divisor Divisor
- * @v quotient Quotient
- * @v remainder Remainder
- * @v file Test code file
- * @v line Test code line
- */
-static void u64divmod_okx ( uint64_t dividend, uint64_t divisor,
- uint64_t quotient, uint64_t remainder,
- const char *file, unsigned int line ) {
-
- /* Sanity check */
- okx ( ( ( divisor * quotient ) + remainder ) == dividend, file, line );
-
- /* Check division */
- okx ( u64div_var ( dividend, divisor ) == quotient, file, line );
-
- /* Check modulus */
- okx ( u64mod_var ( dividend, divisor ) == remainder, file, line );
-}
-#define u64divmod_ok( dividend, divisor, quotient, remainder ) \
- u64divmod_okx ( dividend, divisor, quotient, remainder, \
- __FILE__, __LINE__ )
-
-/**
- * Report a 64-bit signed integer division test result
- *
- * @v dividend Dividend
- * @v divisor Divisor
- * @v quotient Quotient
- * @v remainder Remainder
- * @v file Test code file
- * @v line Test code line
- */
-static void s64divmod_okx ( int64_t dividend, int64_t divisor,
- int64_t quotient, int64_t remainder,
- const char *file, unsigned int line ) {
-
- /* Sanity check */
- okx ( ( ( divisor * quotient ) + remainder ) == dividend, file, line );
-
- /* Check division */
- okx ( s64div_var ( dividend, divisor ) == quotient, file, line );
-
- /* Check modulus */
- okx ( s64mod_var ( dividend, divisor ) == remainder, file, line );
-}
-#define s64divmod_ok( dividend, divisor, quotient, remainder ) \
- s64divmod_okx ( dividend, divisor, quotient, remainder, \
- __FILE__, __LINE__ )
-
-/**
- * Perform mathematical self-tests
- *
- */
-static void math_test_exec ( void ) {
-
- /* Test ffsl() */
- ffsl_ok ( 0, 0 );
- ffsl_ok ( 1, 1 );
- ffsl_ok ( 255, 1 );
- ffsl_ok ( 256, 9 );
- ffsl_ok ( 257, 1 );
- ffsl_ok ( 0x54850596, 2 );
- ffsl_ok ( 0x80000000, 32 );
-
- /* Test ffsll() */
- ffsll_ok ( 0, 0 );
- ffsll_ok ( 1, 1 );
- ffsll_ok ( 0x6d63623330ULL, 5 );
- ffsll_ok ( 0x80000000UL, 32 );
- ffsll_ok ( 0x8000000000000000ULL, 64 );
-
- /* Test flsl() */
- flsl_ok ( 0, 0 );
- flsl_ok ( 1, 1 );
- flsl_ok ( 255, 8 );
- flsl_ok ( 256, 9 );
- flsl_ok ( 257, 9 );
- flsl_ok ( 0x69505845, 31 );
- flsl_ok ( -1U, ( 8 * sizeof ( int ) ) );
- flsl_ok ( -1UL, ( 8 * sizeof ( long ) ) );
-
- /* Test flsll() */
- flsll_ok ( 0, 0 );
- flsll_ok ( 1, 1 );
- flsll_ok ( 0x6d63623330ULL, 39 );
- flsll_ok ( -1U, ( 8 * sizeof ( int ) ) );
- flsll_ok ( -1UL, ( 8 * sizeof ( long ) ) );
- flsll_ok ( -1ULL, ( 8 * sizeof ( long long ) ) );
-
- /* Test 64-bit arithmetic
- *
- * On a 64-bit machine, these tests are fairly meaningless.
- *
- * On a 32-bit machine, these tests verify the correct
- * operation of our libgcc functions __udivmoddi4()
- * etc. (including checking that the implicit calling
- * convention assumed by gcc matches our expectations).
- */
- u64divmod_ok ( 0x2b90ddccf699f765ULL, 0xed9f5e73ULL,
- 0x2eef6ab4ULL, 0x0e12f089ULL );
- s64divmod_ok ( 0x2b90ddccf699f765ULL, 0xed9f5e73ULL,
- 0x2eef6ab4ULL, 0x0e12f089ULL );
- u64divmod_ok ( 0xc09e00dcb9e34b54ULL, 0x35968185cdc744f3ULL,
- 3, 0x1fda7c4b508d7c7bULL );
- s64divmod_ok ( -0x3f61ff23461cb4acLL, 0x35968185cdc744f3ULL,
- -1LL, -0x9cb7d9d78556fb9LL );
- u64divmod_ok ( 0, 0x5b2f2737f4ffULL, 0, 0 );
- s64divmod_ok ( 0, 0xbb00ded72766207fULL, 0, 0 );
-
- /* Test integer square root */
- ok ( isqrt ( 0 ) == 0 );
- ok ( isqrt ( 1 ) == 1 );
- ok ( isqrt ( 255 ) == 15 );
- ok ( isqrt ( 256 ) == 16 );
- ok ( isqrt ( 257 ) == 16 );
- ok ( isqrt ( 0xa53df2adUL ) == 52652 );
- ok ( isqrt ( 0x123793c6UL ) == 17482 );
- ok ( isqrt ( -1UL ) == ( -1UL >> ( 8 * sizeof ( unsigned long ) / 2 )));
-}
-
-/** Mathematical self-tests */
-struct self_test math_test __self_test = {
- .name = "math",
- .exec = math_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/md5_test.c b/qemu/roms/ipxe/src/tests/md5_test.c
deleted file mode 100644
index e9ed2716a..000000000
--- a/qemu/roms/ipxe/src/tests/md5_test.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * MD5 tests
- *
- * Test inputs borrowed from NIST SHA-1 tests, with results calculated
- * using md5sum.
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <ipxe/md5.h>
-#include <ipxe/test.h>
-#include "digest_test.h"
-
-/* Empty test vector (digest obtained from "md5sum /dev/null") */
-DIGEST_TEST ( md5_empty, &md5_algorithm, DIGEST_EMPTY,
- DIGEST ( 0xd4, 0x1d, 0x8c, 0xd9, 0x8f, 0x00, 0xb2, 0x04, 0xe9,
- 0x80, 0x09, 0x98, 0xec, 0xf8, 0x42, 0x7e ) );
-
-/* NIST test vector "abc" (digest obtained from "md5sum <data>") */
-DIGEST_TEST ( md5_nist_abc, &md5_algorithm, DIGEST_NIST_ABC,
- DIGEST ( 0x90, 0x01, 0x50, 0x98, 0x3c, 0xd2, 0x4f, 0xb0, 0xd6,
- 0x96, 0x3f, 0x7d, 0x28, 0xe1, 0x7f, 0x72 ) );
-
-/* NIST test vector "abc...opq" (digest obtained from "md5sum <data>") */
-DIGEST_TEST ( md5_nist_abc_opq, &md5_algorithm, DIGEST_NIST_ABC_OPQ,
- DIGEST ( 0x82, 0x15, 0xef, 0x07, 0x96, 0xa2, 0x0b, 0xca, 0xaa,
- 0xe1, 0x16, 0xd3, 0x87, 0x6c, 0x66, 0x4a ) );
-
-/**
- * Perform MD5 self-test
- *
- */
-static void md5_test_exec ( void ) {
-
- /* Correctness tests */
- digest_ok ( &md5_empty );
- digest_ok ( &md5_nist_abc );
- digest_ok ( &md5_nist_abc_opq );
-
- /* Speed tests */
- DBG ( "MD5 required %ld cycles per byte\n",
- digest_cost ( &md5_algorithm ) );
-}
-
-/** MD5 self-test */
-struct self_test md5_test __self_test = {
- .name = "md5",
- .exec = md5_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/memcpy_test.c b/qemu/roms/ipxe/src/tests/memcpy_test.c
deleted file mode 100644
index 0247c71d4..000000000
--- a/qemu/roms/ipxe/src/tests/memcpy_test.c
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * memcpy() self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ipxe/test.h>
-#include <ipxe/profile.h>
-
-/** Number of sample iterations for profiling */
-#define PROFILE_COUNT 16
-
-/* Provide global functions to allow inspection of generated code */
-
-void memcpy_0 ( void *dest, void *src ) { memcpy ( dest, src, 0 ); }
-void memcpy_1 ( void *dest, void *src ) { memcpy ( dest, src, 1 ); }
-void memcpy_2 ( void *dest, void *src ) { memcpy ( dest, src, 2 ); }
-void memcpy_3 ( void *dest, void *src ) { memcpy ( dest, src, 3 ); }
-void memcpy_4 ( void *dest, void *src ) { memcpy ( dest, src, 4 ); }
-void memcpy_5 ( void *dest, void *src ) { memcpy ( dest, src, 5 ); }
-void memcpy_6 ( void *dest, void *src ) { memcpy ( dest, src, 6 ); }
-void memcpy_7 ( void *dest, void *src ) { memcpy ( dest, src, 7 ); }
-void memcpy_8 ( void *dest, void *src ) { memcpy ( dest, src, 8 ); }
-void memcpy_9 ( void *dest, void *src ) { memcpy ( dest, src, 9 ); }
-void memcpy_10 ( void *dest, void *src ) { memcpy ( dest, src, 10 ); }
-void memcpy_11 ( void *dest, void *src ) { memcpy ( dest, src, 11 ); }
-void memcpy_12 ( void *dest, void *src ) { memcpy ( dest, src, 12 ); }
-void memcpy_13 ( void *dest, void *src ) { memcpy ( dest, src, 13 ); }
-void memcpy_14 ( void *dest, void *src ) { memcpy ( dest, src, 14 ); }
-void memcpy_15 ( void *dest, void *src ) { memcpy ( dest, src, 15 ); }
-void memcpy_16 ( void *dest, void *src ) { memcpy ( dest, src, 16 ); }
-void memcpy_17 ( void *dest, void *src ) { memcpy ( dest, src, 17 ); }
-void memcpy_18 ( void *dest, void *src ) { memcpy ( dest, src, 18 ); }
-void memcpy_19 ( void *dest, void *src ) { memcpy ( dest, src, 19 ); }
-void memcpy_20 ( void *dest, void *src ) { memcpy ( dest, src, 20 ); }
-void memcpy_21 ( void *dest, void *src ) { memcpy ( dest, src, 21 ); }
-void memcpy_22 ( void *dest, void *src ) { memcpy ( dest, src, 22 ); }
-void memcpy_23 ( void *dest, void *src ) { memcpy ( dest, src, 23 ); }
-void memcpy_24 ( void *dest, void *src ) { memcpy ( dest, src, 24 ); }
-void memcpy_25 ( void *dest, void *src ) { memcpy ( dest, src, 25 ); }
-void memcpy_26 ( void *dest, void *src ) { memcpy ( dest, src, 26 ); }
-void memcpy_27 ( void *dest, void *src ) { memcpy ( dest, src, 27 ); }
-void memcpy_28 ( void *dest, void *src ) { memcpy ( dest, src, 28 ); }
-void memcpy_29 ( void *dest, void *src ) { memcpy ( dest, src, 29 ); }
-void memcpy_30 ( void *dest, void *src ) { memcpy ( dest, src, 30 ); }
-void memcpy_31 ( void *dest, void *src ) { memcpy ( dest, src, 31 ); }
-
-/**
- * Force a call to the variable-length implementation of memcpy()
- *
- * @v dest Destination address
- * @v src Source address
- * @v len Length of data
- * @ret dest Destination address
- */
-__attribute__ (( noinline )) void * memcpy_var ( void *dest, const void *src,
- size_t len ) {
- return memcpy ( dest, src, len );
-}
-
-/**
- * Perform a constant-length memcpy() test
- *
- * ... Data to copy
- */
-#define MEMCPY_TEST_CONSTANT( ... ) do { \
- static const uint8_t src[] = { __VA_ARGS__ }; \
- uint8_t dest_const[ 1 + sizeof ( src ) + 1 ]; \
- uint8_t dest_var[ 1 + sizeof ( src ) + 1 ]; \
- \
- dest_const[0] = 0x33; \
- dest_const[ sizeof ( dest_const ) - 1 ] = 0x44; \
- memcpy ( ( dest_const + 1 ), src, \
- ( sizeof ( dest_const ) - 2 ) ); \
- ok ( dest_const[0] == 0x33 ); \
- ok ( dest_const[ sizeof ( dest_const ) - 1 ] == 0x44 ); \
- ok ( memcmp ( ( dest_const + 1 ), src, \
- ( sizeof ( dest_const ) - 2 ) ) == 0 ); \
- \
- dest_var[0] = 0x55; \
- dest_var[ sizeof ( dest_var ) - 1 ] = 0x66; \
- memcpy_var ( ( dest_var + 1 ), src, \
- ( sizeof ( dest_var ) - 2 ) ); \
- ok ( dest_var[0] == 0x55 ); \
- ok ( dest_var[ sizeof ( dest_var ) - 1 ] == 0x66 ); \
- ok ( memcmp ( ( dest_var + 1 ), src, \
- ( sizeof ( dest_var ) - 2 ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Test memcpy() speed
- *
- * @v dest_offset Destination alignment offset
- * @v src_offset Source alignment offset
- * @v len Length of data to copy
- */
-static void memcpy_test_speed ( unsigned int dest_offset,
- unsigned int src_offset, size_t len ) {
- struct profiler profiler;
- uint8_t *dest;
- uint8_t *src;
- unsigned int i;
-
- /* Allocate blocks */
- dest = malloc ( len + dest_offset );
- assert ( dest != NULL );
- src = malloc ( len + src_offset );
- assert ( src != NULL );
-
- /* Generate random source data */
- for ( i = 0 ; i < len ; i++ )
- src[ src_offset + i ] = random();
-
- /* Check correctness of copied data */
- memcpy ( ( dest + dest_offset ), ( src + src_offset ), len );
- ok ( memcmp ( ( dest + dest_offset ), ( src + src_offset ),
- len ) == 0 );
-
- /* Profile memcpy() */
- memset ( &profiler, 0, sizeof ( profiler ) );
- for ( i = 0 ; i < PROFILE_COUNT ; i++ ) {
- profile_start ( &profiler );
- memcpy ( ( dest + dest_offset ), ( src + src_offset ), len );
- profile_stop ( &profiler );
- }
-
- /* Free blocks */
- free ( dest );
- free ( src );
-
- DBG ( "MEMCPY copied %zd bytes (+%d => +%d) in %ld +/- %ld ticks\n",
- len, src_offset, dest_offset, profile_mean ( &profiler ),
- profile_stddev ( &profiler ) );
-}
-
-/**
- * Perform memcpy() self-tests
- *
- */
-static void memcpy_test_exec ( void ) {
- unsigned int dest_offset;
- unsigned int src_offset;
-
- /* Constant-length tests */
- MEMCPY_TEST_CONSTANT ( );
- MEMCPY_TEST_CONSTANT ( 0x86 );
- MEMCPY_TEST_CONSTANT ( 0x8c, 0xd3 );
- MEMCPY_TEST_CONSTANT ( 0x4e, 0x08, 0xed );
- MEMCPY_TEST_CONSTANT ( 0xcc, 0x61, 0x8f, 0x70 );
- MEMCPY_TEST_CONSTANT ( 0x6d, 0x28, 0xe0, 0x9e, 0x6d );
- MEMCPY_TEST_CONSTANT ( 0x7d, 0x13, 0x4f, 0xef, 0x17, 0xb3 );
- MEMCPY_TEST_CONSTANT ( 0x38, 0xa7, 0xd4, 0x8d, 0x44, 0x01, 0xfd );
- MEMCPY_TEST_CONSTANT ( 0x45, 0x9f, 0xf4, 0xf9, 0xf3, 0x0f, 0x99, 0x43 );
- MEMCPY_TEST_CONSTANT ( 0x69, 0x8c, 0xf6, 0x12, 0x79, 0x70, 0xd8, 0x1e,
- 0x9d );
- MEMCPY_TEST_CONSTANT ( 0xbe, 0x53, 0xb4, 0xb7, 0xdd, 0xe6, 0x35, 0x10,
- 0x3c, 0xe7 );
- MEMCPY_TEST_CONSTANT ( 0xaf, 0x41, 0x8a, 0x88, 0xb1, 0x4e, 0x52, 0xd4,
- 0xe6, 0xc3, 0x76 );
- MEMCPY_TEST_CONSTANT ( 0xdf, 0x43, 0xe4, 0x5d, 0xad, 0x17, 0x35, 0x38,
- 0x1a, 0x1d, 0x57, 0x58 );
- MEMCPY_TEST_CONSTANT ( 0x20, 0x52, 0x83, 0x92, 0xb9, 0x85, 0xa4, 0x06,
- 0x94, 0xe0, 0x3d, 0x57, 0xd4 );
- MEMCPY_TEST_CONSTANT ( 0xf1, 0x67, 0x31, 0x9e, 0x32, 0x98, 0x27, 0xe9,
- 0x8e, 0x62, 0xb4, 0x82, 0x7e, 0x02 );
- MEMCPY_TEST_CONSTANT ( 0x93, 0xc1, 0x55, 0xe3, 0x60, 0xce, 0xac, 0x1e,
- 0xae, 0x9d, 0xca, 0xec, 0x92, 0xb3, 0x38 );
- MEMCPY_TEST_CONSTANT ( 0xb3, 0xc1, 0xfa, 0xe7, 0x8a, 0x1c, 0xe4, 0xce,
- 0x85, 0xe6, 0x3c, 0xab, 0x1c, 0xa2, 0xaf, 0x7a );
- MEMCPY_TEST_CONSTANT ( 0x9b, 0x6e, 0x1c, 0x48, 0x82, 0xd3, 0x6e, 0x58,
- 0xa7, 0xb0, 0xe6, 0xea, 0x6d, 0xee, 0xc8, 0xf8,
- 0xaf );
- MEMCPY_TEST_CONSTANT ( 0x86, 0x6d, 0xb0, 0xf5, 0xf2, 0xc9, 0xcd, 0xfe,
- 0xfb, 0x38, 0x67, 0xbc, 0x51, 0x9d, 0x25, 0xbc,
- 0x09, 0x88 );
- MEMCPY_TEST_CONSTANT ( 0x58, 0xa4, 0x96, 0x9e, 0x98, 0x36, 0xdb, 0xae,
- 0x8a, 0x08, 0x7c, 0x64, 0xf9, 0xfb, 0x25, 0xb4,
- 0x8e, 0xf3, 0xed );
- MEMCPY_TEST_CONSTANT ( 0xc6, 0x3b, 0x84, 0x3c, 0x76, 0x24, 0x8e, 0x42,
- 0x11, 0x1f, 0x09, 0x2e, 0x24, 0xbb, 0x67, 0x71,
- 0x3a, 0xca, 0x60, 0xdd );
- MEMCPY_TEST_CONSTANT ( 0x8e, 0x2d, 0xa9, 0x58, 0x87, 0xe2, 0xac, 0x4b,
- 0xc8, 0xbf, 0xa2, 0x4e, 0xee, 0x3a, 0xa6, 0x71,
- 0x76, 0xee, 0x42, 0x05, 0x6e );
- MEMCPY_TEST_CONSTANT ( 0x8a, 0xda, 0xdf, 0x7b, 0x55, 0x41, 0x8c, 0xcd,
- 0x42, 0x40, 0x18, 0xe2, 0x60, 0xc4, 0x7d, 0x64,
- 0x00, 0xd5, 0xef, 0xa1, 0x7b, 0x31 );
- MEMCPY_TEST_CONSTANT ( 0xd9, 0x25, 0xcb, 0xbb, 0x9c, 0x1d, 0xdd, 0xcd,
- 0xde, 0x96, 0xd9, 0x74, 0x13, 0x95, 0xfe, 0x68,
- 0x0b, 0x3d, 0x30, 0x8d, 0x0c, 0x1e, 0x6d );
- MEMCPY_TEST_CONSTANT ( 0x2d, 0x0d, 0x02, 0x33, 0xd6, 0xbe, 0x6c, 0xa6,
- 0x0a, 0xab, 0xe5, 0xda, 0xe2, 0xab, 0x78, 0x3c,
- 0xd3, 0xdd, 0xea, 0xfa, 0x1a, 0xe4, 0xf4, 0xb3 );
- MEMCPY_TEST_CONSTANT ( 0x6a, 0x34, 0x39, 0xea, 0x29, 0x5f, 0xa6, 0x18,
- 0xc1, 0x53, 0x39, 0x78, 0xdb, 0x40, 0xf2, 0x98,
- 0x78, 0xcf, 0xee, 0xfd, 0xcd, 0xf8, 0x56, 0xf8,
- 0x30 );
- MEMCPY_TEST_CONSTANT ( 0xe4, 0xe5, 0x5a, 0x8d, 0xcf, 0x04, 0x29, 0x7c,
- 0xa7, 0xd8, 0x43, 0xbf, 0x0b, 0xbf, 0xe7, 0x68,
- 0xf7, 0x8c, 0x81, 0xf9, 0x3f, 0xad, 0xa4, 0x40,
- 0x38, 0x82 );
- MEMCPY_TEST_CONSTANT ( 0x71, 0xcd, 0x3d, 0x26, 0xde, 0x11, 0x23, 0xd5,
- 0x42, 0x6e, 0x63, 0x72, 0x53, 0xfc, 0x28, 0x06,
- 0x4b, 0xe0, 0x2c, 0x07, 0x6b, 0xe8, 0xd9, 0x5f,
- 0xf8, 0x74, 0xed );
- MEMCPY_TEST_CONSTANT ( 0x05, 0xb2, 0xae, 0x81, 0x91, 0xc9, 0xa2, 0x5f,
- 0xa9, 0x1b, 0x25, 0x7f, 0x32, 0x0c, 0x04, 0x00,
- 0xf1, 0x46, 0xab, 0x77, 0x1e, 0x12, 0x27, 0xe7,
- 0xf6, 0x1e, 0x0c, 0x29 );
- MEMCPY_TEST_CONSTANT ( 0x0e, 0xca, 0xa5, 0x56, 0x3d, 0x99, 0x99, 0xf9,
- 0x6e, 0xdd, 0x93, 0x98, 0xec, 0x8b, 0x5c, 0x71,
- 0x0c, 0xb0, 0xe6, 0x12, 0xf2, 0x10, 0x1a, 0xbe,
- 0x4a, 0xe0, 0xe3, 0x00, 0xf8 );
- MEMCPY_TEST_CONSTANT ( 0x40, 0xa8, 0x28, 0x5b, 0x12, 0x0d, 0x80, 0x8e,
- 0x8a, 0xd9, 0x92, 0x7a, 0x6e, 0x48, 0x8d, 0x14,
- 0x4b, 0xc6, 0xce, 0x21, 0x2f, 0x0e, 0x47, 0xbd,
- 0xf1, 0xca, 0x0e, 0x1f, 0x65, 0xc4 );
- MEMCPY_TEST_CONSTANT ( 0x84, 0x83, 0x44, 0xe8, 0x1c, 0xbf, 0x23, 0x05,
- 0xdf, 0xed, 0x3b, 0xb7, 0x0b, 0x4a, 0x05, 0xec,
- 0xb7, 0x6f, 0x1c, 0xfe, 0x05, 0x05, 0x4e, 0xd1,
- 0x50, 0x88, 0x81, 0x87, 0x68, 0xf6, 0x66 );
- MEMCPY_TEST_CONSTANT ( 0x0d, 0x1d, 0xcf, 0x3e, 0x7c, 0xf8, 0x12, 0x1b,
- 0x96, 0x7f, 0xff, 0x27, 0xca, 0xfe, 0xd3, 0x8b,
- 0x10, 0xb9, 0x5d, 0x05, 0xad, 0x50, 0xed, 0x35,
- 0x32, 0x9c, 0xe6, 0x3b, 0x73, 0xe0, 0x7d );
-
- /* Speed tests */
- memcpy_test_speed ( 0, 0, 64 );
- memcpy_test_speed ( 0, 0, 128 );
- memcpy_test_speed ( 0, 0, 256 );
- for ( dest_offset = 0 ; dest_offset < 4 ; dest_offset++ ) {
- for ( src_offset = 0 ; src_offset < 4 ; src_offset++ ) {
- memcpy_test_speed ( dest_offset, src_offset, 4096 );
- }
- }
-}
-
-/** memcpy() self-test */
-struct self_test memcpy_test __self_test = {
- .name = "memcpy",
- .exec = memcpy_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/memset_test.c b/qemu/roms/ipxe/src/tests/memset_test.c
deleted file mode 100644
index d96f83fa6..000000000
--- a/qemu/roms/ipxe/src/tests/memset_test.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (C) 2015 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * memset() self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <string.h>
-#include <ipxe/test.h>
-
-/* Provide global functions to allow inspection of generated code */
-
-void memset_zero_0 ( void *dest ) { memset ( dest, 0, 0 ); }
-void memset_zero_1 ( void *dest ) { memset ( dest, 0, 1 ); }
-void memset_zero_2 ( void *dest ) { memset ( dest, 0, 2 ); }
-void memset_zero_3 ( void *dest ) { memset ( dest, 0, 3 ); }
-void memset_zero_4 ( void *dest ) { memset ( dest, 0, 4 ); }
-void memset_zero_5 ( void *dest ) { memset ( dest, 0, 5 ); }
-void memset_zero_6 ( void *dest ) { memset ( dest, 0, 6 ); }
-void memset_zero_7 ( void *dest ) { memset ( dest, 0, 7 ); }
-void memset_zero_8 ( void *dest ) { memset ( dest, 0, 8 ); }
-void memset_zero_9 ( void *dest ) { memset ( dest, 0, 9 ); }
-void memset_zero_10 ( void *dest ) { memset ( dest, 0, 10 ); }
-void memset_zero_11 ( void *dest ) { memset ( dest, 0, 11 ); }
-void memset_zero_12 ( void *dest ) { memset ( dest, 0, 12 ); }
-void memset_zero_13 ( void *dest ) { memset ( dest, 0, 13 ); }
-void memset_zero_14 ( void *dest ) { memset ( dest, 0, 14 ); }
-void memset_zero_15 ( void *dest ) { memset ( dest, 0, 15 ); }
-void memset_zero_16 ( void *dest ) { memset ( dest, 0, 16 ); }
-void memset_zero_17 ( void *dest ) { memset ( dest, 0, 17 ); }
-void memset_zero_18 ( void *dest ) { memset ( dest, 0, 18 ); }
-void memset_zero_19 ( void *dest ) { memset ( dest, 0, 19 ); }
-void memset_zero_20 ( void *dest ) { memset ( dest, 0, 20 ); }
-void memset_zero_21 ( void *dest ) { memset ( dest, 0, 21 ); }
-void memset_zero_22 ( void *dest ) { memset ( dest, 0, 22 ); }
-void memset_zero_23 ( void *dest ) { memset ( dest, 0, 23 ); }
-void memset_zero_24 ( void *dest ) { memset ( dest, 0, 24 ); }
-void memset_zero_25 ( void *dest ) { memset ( dest, 0, 25 ); }
-void memset_zero_26 ( void *dest ) { memset ( dest, 0, 26 ); }
-void memset_zero_27 ( void *dest ) { memset ( dest, 0, 27 ); }
-void memset_zero_28 ( void *dest ) { memset ( dest, 0, 28 ); }
-void memset_zero_29 ( void *dest ) { memset ( dest, 0, 29 ); }
-void memset_zero_30 ( void *dest ) { memset ( dest, 0, 30 ); }
-void memset_zero_31 ( void *dest ) { memset ( dest, 0, 31 ); }
-
-/**
- * Force a call to the variable-length implementation of memset()
- *
- * @v dest Destination address
- * @v fill Fill pattern
- * @v len Length of data
- * @ret dest Destination address
- */
-__attribute__ (( noinline )) void * memset_var ( void *dest, unsigned int fill,
- size_t len ) {
- return memset ( dest, fill, len );
-}
-
-/**
- * Perform a constant-length memset() test
- *
- * @v len Length of data
- */
-#define MEMSET_TEST_CONSTANT( len ) do { \
- uint8_t dest_const[ 1 + len + 1 ]; \
- uint8_t dest_var[ 1 + len + 1 ]; \
- static uint8_t zero[len]; \
- unsigned int i; \
- \
- for ( i = 0 ; i < sizeof ( dest_const ) ; i++ ) \
- dest_const[i] = 0xaa; \
- memset ( ( dest_const + 1 ), 0, len ); \
- ok ( dest_const[0] == 0xaa ); \
- ok ( dest_const[ sizeof ( dest_const ) - 1 ] == 0xaa ); \
- ok ( memcmp ( ( dest_const + 1 ), zero, len ) == 0 ); \
- \
- for ( i = 0 ; i < sizeof ( dest_var ) ; i++ ) \
- dest_var[i] = 0xbb; \
- memset_var ( ( dest_var + 1 ), 0, len ); \
- ok ( dest_var[0] == 0xbb ); \
- ok ( dest_var[ sizeof ( dest_var ) - 1 ] == 0xbb ); \
- ok ( memcmp ( ( dest_var + 1 ), zero, len ) == 0 ); \
- } while ( 0 )
-
-/**
- * Perform memset() self-tests
- *
- */
-static void memset_test_exec ( void ) {
-
- /* Constant-length tests */
- MEMSET_TEST_CONSTANT ( 0 );
- MEMSET_TEST_CONSTANT ( 1 );
- MEMSET_TEST_CONSTANT ( 2 );
- MEMSET_TEST_CONSTANT ( 3 );
- MEMSET_TEST_CONSTANT ( 4 );
- MEMSET_TEST_CONSTANT ( 5 );
- MEMSET_TEST_CONSTANT ( 6 );
- MEMSET_TEST_CONSTANT ( 7 );
- MEMSET_TEST_CONSTANT ( 8 );
- MEMSET_TEST_CONSTANT ( 9 );
- MEMSET_TEST_CONSTANT ( 10 );
- MEMSET_TEST_CONSTANT ( 11 );
- MEMSET_TEST_CONSTANT ( 12 );
- MEMSET_TEST_CONSTANT ( 13 );
- MEMSET_TEST_CONSTANT ( 14 );
- MEMSET_TEST_CONSTANT ( 15 );
- MEMSET_TEST_CONSTANT ( 16 );
- MEMSET_TEST_CONSTANT ( 17 );
- MEMSET_TEST_CONSTANT ( 18 );
- MEMSET_TEST_CONSTANT ( 19 );
- MEMSET_TEST_CONSTANT ( 20 );
- MEMSET_TEST_CONSTANT ( 21 );
- MEMSET_TEST_CONSTANT ( 22 );
- MEMSET_TEST_CONSTANT ( 23 );
- MEMSET_TEST_CONSTANT ( 24 );
- MEMSET_TEST_CONSTANT ( 25 );
- MEMSET_TEST_CONSTANT ( 26 );
- MEMSET_TEST_CONSTANT ( 27 );
- MEMSET_TEST_CONSTANT ( 28 );
- MEMSET_TEST_CONSTANT ( 29 );
- MEMSET_TEST_CONSTANT ( 30 );
- MEMSET_TEST_CONSTANT ( 31 );
-}
-
-/** memset() self-test */
-struct self_test memset_test __self_test = {
- .name = "memset",
- .exec = memset_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/ocsp_test.c b/qemu/roms/ipxe/src/tests/ocsp_test.c
deleted file mode 100644
index c6d458596..000000000
--- a/qemu/roms/ipxe/src/tests/ocsp_test.c
+++ /dev/null
@@ -1,1866 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * OCSP tests
- *
- *
- * Test vectors generated using OpenSSL:
- *
- * openssl ocsp -no_nonce -issuer issuer.crt -cert cert.crt \
- * -url http://ocsp.server.address \
- * -reqout request.der -respout response.der
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ipxe/x509.h>
-#include <ipxe/ocsp.h>
-#include <ipxe/test.h>
-
-/** An OCSP test certificate */
-struct ocsp_test_certificate {
- /** Data */
- const void *data;
- /** Length of data */
- size_t len;
- /** Parsed certificate */
- struct x509_certificate *cert;
-};
-
-/** An OCSP test */
-struct ocsp_test {
- /** Certificate */
- struct ocsp_test_certificate *cert;
- /** Issuing certificate */
- struct ocsp_test_certificate *issuer;
- /** Request */
- const void *request;
- /** Length of request */
- size_t request_len;
- /** Response */
- const void *response;
- /** Length of response */
- size_t response_len;
- /* OCSP check */
- struct ocsp_check *ocsp;
-};
-
-/** Define inline data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** Define a test certificate */
-#define CERTIFICATE( name, DATA, FINGERPRINT ) \
- static const uint8_t name ## _data[] = DATA; \
- static struct ocsp_test_certificate name = { \
- .data = name ## _data, \
- .len = sizeof ( name ## _data ), \
- }
-
-/** Define an OCSP test */
-#define OCSP( name, CERT, ISSUER, REQUEST, RESPONSE ) \
- static const uint8_t name ## _request[] = REQUEST; \
- static const uint8_t name ## _response[] = RESPONSE; \
- static struct ocsp_test name = { \
- .cert = CERT, \
- .issuer = ISSUER, \
- .request = name ## _request, \
- .request_len = sizeof ( name ## _request ), \
- .response = name ## _response, \
- .response_len = sizeof ( name ## _response ), \
- }
-
-/**
- * Prepare an OCSP test
- *
- * @v test OCSP test
- */
-static void ocsp_prepare_test ( struct ocsp_test *test ) {
- struct x509_certificate *cert = test->cert->cert;
- struct x509_certificate *issuer = test->issuer->cert;
-
- /* Invalidate certificate being checked */
- x509_invalidate ( cert );
-
- /* Force-validate issuer certificate */
- issuer->valid = 1;
- issuer->path_remaining = ( issuer->extensions.basic.path_len + 1 );
-}
-
-/*
- * subject bank.barclays.co.uk
- * issuer VeriSign Class 3 International Server CA - G3
- */
-CERTIFICATE ( barclays_crt,
- DATA ( 0x30, 0x82, 0x05, 0x7b, 0x30, 0x82, 0x04, 0x63, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x10, 0x49, 0x83, 0xfc, 0x05, 0x76,
- 0xdf, 0x36, 0x91, 0x7c, 0x64, 0x2a, 0x27, 0xc1, 0xf1, 0x48,
- 0xe3, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0xbc, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x13, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67,
- 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30,
- 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, 0x65,
- 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75,
- 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
- 0x31, 0x3b, 0x30, 0x39, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13,
- 0x32, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20,
- 0x75, 0x73, 0x65, 0x20, 0x61, 0x74, 0x20, 0x68, 0x74, 0x74,
- 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76,
- 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f,
- 0x6d, 0x2f, 0x72, 0x70, 0x61, 0x20, 0x28, 0x63, 0x29, 0x31,
- 0x30, 0x31, 0x36, 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03,
- 0x13, 0x2d, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e,
- 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x49,
- 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x61, 0x6c, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20,
- 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x1e, 0x17,
- 0x0d, 0x31, 0x31, 0x31, 0x32, 0x30, 0x35, 0x30, 0x30, 0x30,
- 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x32, 0x31, 0x32,
- 0x30, 0x34, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30,
- 0x7f, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
- 0x13, 0x02, 0x47, 0x42, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03,
- 0x55, 0x04, 0x08, 0x13, 0x07, 0x45, 0x6e, 0x67, 0x6c, 0x61,
- 0x6e, 0x64, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04,
- 0x07, 0x14, 0x0a, 0x47, 0x6c, 0x6f, 0x75, 0x63, 0x65, 0x73,
- 0x74, 0x65, 0x72, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55,
- 0x04, 0x0a, 0x14, 0x11, 0x42, 0x61, 0x72, 0x63, 0x6c, 0x61,
- 0x79, 0x73, 0x20, 0x42, 0x61, 0x6e, 0x6b, 0x20, 0x50, 0x6c,
- 0x63, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, 0x0b,
- 0x14, 0x06, 0x47, 0x4c, 0x4f, 0x2d, 0x4c, 0x32, 0x31, 0x1c,
- 0x30, 0x1a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x14, 0x13, 0x62,
- 0x61, 0x6e, 0x6b, 0x2e, 0x62, 0x61, 0x72, 0x63, 0x6c, 0x61,
- 0x79, 0x73, 0x2e, 0x63, 0x6f, 0x2e, 0x75, 0x6b, 0x30, 0x82,
- 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01,
- 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
- 0x00, 0x99, 0x4c, 0x2e, 0x00, 0xa0, 0xaf, 0xe2, 0xbc, 0x52,
- 0x43, 0x83, 0x34, 0x03, 0x58, 0xdf, 0xd3, 0xea, 0x43, 0xa2,
- 0xfd, 0x2c, 0x4c, 0x3c, 0x32, 0x9c, 0x60, 0x40, 0xe5, 0xa1,
- 0x07, 0x8d, 0x32, 0x21, 0xc1, 0xbd, 0xf1, 0x04, 0x2e, 0x90,
- 0xf3, 0x05, 0x30, 0xd4, 0x6f, 0x81, 0x3e, 0x08, 0xb6, 0xc3,
- 0xc1, 0xcf, 0xc4, 0x59, 0x7c, 0x56, 0x27, 0xea, 0x74, 0xe7,
- 0x8f, 0x50, 0xd1, 0xa9, 0x13, 0x57, 0x3a, 0x05, 0x5a, 0xd7,
- 0x7f, 0xfc, 0xc5, 0xc6, 0x66, 0xec, 0xa4, 0x03, 0xec, 0x97,
- 0x1a, 0x4b, 0x28, 0xf9, 0xc9, 0xf4, 0xea, 0xc6, 0x89, 0x68,
- 0xc1, 0x42, 0xcd, 0x80, 0xfc, 0xeb, 0x86, 0x6d, 0x1c, 0xd6,
- 0xa1, 0x05, 0x16, 0xa4, 0xcf, 0x82, 0x1d, 0x07, 0x67, 0x7c,
- 0xeb, 0xa1, 0x69, 0xf3, 0xf2, 0x21, 0xa7, 0x79, 0xf5, 0xf2,
- 0xdc, 0xb6, 0x0b, 0x6e, 0x19, 0xcc, 0x50, 0x53, 0xf3, 0xbd,
- 0xb9, 0x71, 0xdc, 0x2b, 0x15, 0x78, 0x6d, 0xd4, 0xd3, 0x82,
- 0xce, 0x37, 0x0c, 0xb5, 0x5e, 0x24, 0x8d, 0x80, 0x40, 0x71,
- 0x4e, 0x7b, 0x0a, 0x6e, 0x30, 0x4b, 0xb6, 0x2c, 0x23, 0x9e,
- 0xd5, 0x08, 0x7d, 0x8a, 0x72, 0x46, 0xf6, 0x52, 0x98, 0xcb,
- 0x03, 0x79, 0x61, 0xfe, 0xc1, 0x97, 0x15, 0x4b, 0x05, 0x36,
- 0x0c, 0x11, 0xe9, 0x95, 0x4b, 0xef, 0xf3, 0x2d, 0xf3, 0xef,
- 0x33, 0x6c, 0xc6, 0x98, 0xb9, 0x65, 0xe3, 0x3c, 0x26, 0x86,
- 0xb5, 0x87, 0x9e, 0x20, 0x92, 0x7b, 0x8f, 0x13, 0x66, 0x5e,
- 0x26, 0x09, 0xd6, 0x83, 0xee, 0x56, 0x72, 0x08, 0x6c, 0x2a,
- 0x4c, 0xf2, 0x5b, 0xf1, 0x08, 0x4b, 0x91, 0x9e, 0x67, 0x37,
- 0x2f, 0xc5, 0xcf, 0x1a, 0xa8, 0xa1, 0x1c, 0xb6, 0x2d, 0xd0,
- 0x81, 0xf4, 0xf7, 0x37, 0xb9, 0xa3, 0x37, 0x3f, 0x6b, 0x2f,
- 0x62, 0x82, 0xa7, 0x17, 0xc1, 0x8c, 0x69, 0x02, 0x03, 0x01,
- 0x00, 0x01, 0xa3, 0x82, 0x01, 0xb3, 0x30, 0x82, 0x01, 0xaf,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30,
- 0x00, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04,
- 0x03, 0x02, 0x05, 0xa0, 0x30, 0x41, 0x06, 0x03, 0x55, 0x1d,
- 0x1f, 0x04, 0x3a, 0x30, 0x38, 0x30, 0x36, 0xa0, 0x34, 0xa0,
- 0x32, 0x86, 0x30, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
- 0x53, 0x56, 0x52, 0x49, 0x6e, 0x74, 0x6c, 0x2d, 0x47, 0x33,
- 0x2d, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73,
- 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x56,
- 0x52, 0x49, 0x6e, 0x74, 0x6c, 0x47, 0x33, 0x2e, 0x63, 0x72,
- 0x6c, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3d,
- 0x30, 0x3b, 0x30, 0x39, 0x06, 0x0b, 0x60, 0x86, 0x48, 0x01,
- 0x86, 0xf8, 0x45, 0x01, 0x07, 0x17, 0x03, 0x30, 0x2a, 0x30,
- 0x28, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02,
- 0x01, 0x16, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
- 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73,
- 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70,
- 0x61, 0x30, 0x28, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x21,
- 0x30, 0x1f, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8,
- 0x42, 0x04, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05,
- 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05,
- 0x07, 0x03, 0x02, 0x30, 0x72, 0x06, 0x08, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x66, 0x30, 0x64, 0x30,
- 0x24, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
- 0x01, 0x86, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
- 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73,
- 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x3c, 0x06,
- 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86,
- 0x30, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x53, 0x56,
- 0x52, 0x49, 0x6e, 0x74, 0x6c, 0x2d, 0x47, 0x33, 0x2d, 0x61,
- 0x69, 0x61, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67,
- 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x56, 0x52, 0x49,
- 0x6e, 0x74, 0x6c, 0x47, 0x33, 0x2e, 0x63, 0x65, 0x72, 0x30,
- 0x6e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01,
- 0x0c, 0x04, 0x62, 0x30, 0x60, 0xa1, 0x5e, 0xa0, 0x5c, 0x30,
- 0x5a, 0x30, 0x58, 0x30, 0x56, 0x16, 0x09, 0x69, 0x6d, 0x61,
- 0x67, 0x65, 0x2f, 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, 0x1f,
- 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x04,
- 0x14, 0x4b, 0x6b, 0xb9, 0x28, 0x96, 0x06, 0x0c, 0xbb, 0xd0,
- 0x52, 0x38, 0x9b, 0x29, 0xac, 0x4b, 0x07, 0x8b, 0x21, 0x05,
- 0x18, 0x30, 0x26, 0x16, 0x24, 0x68, 0x74, 0x74, 0x70, 0x3a,
- 0x2f, 0x2f, 0x6c, 0x6f, 0x67, 0x6f, 0x2e, 0x76, 0x65, 0x72,
- 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
- 0x76, 0x73, 0x6c, 0x6f, 0x67, 0x6f, 0x31, 0x2e, 0x67, 0x69,
- 0x66, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01,
- 0x00, 0x49, 0xf3, 0x7c, 0x15, 0xb0, 0x50, 0x97, 0xb7, 0xcd,
- 0x87, 0x75, 0x85, 0xcc, 0x55, 0x7c, 0x62, 0x97, 0x97, 0x04,
- 0xbd, 0xc2, 0x22, 0xfc, 0xf5, 0x2c, 0x75, 0xdc, 0x25, 0x6d,
- 0xed, 0xcd, 0x22, 0x2e, 0xa4, 0xcd, 0x88, 0x95, 0xe8, 0x52,
- 0x45, 0x7a, 0xa0, 0x85, 0xcc, 0x6d, 0x1c, 0xcb, 0xd8, 0xc3,
- 0x26, 0x2c, 0xee, 0xb5, 0xe1, 0x38, 0x3f, 0xb6, 0x96, 0x10,
- 0xa3, 0xb3, 0x1e, 0x2d, 0xdc, 0xe8, 0x07, 0x2f, 0xc2, 0xb7,
- 0x50, 0xd5, 0x60, 0x73, 0x0d, 0x43, 0xb1, 0xaf, 0xd9, 0xcb,
- 0x39, 0x00, 0xc7, 0x00, 0xb3, 0x1f, 0xa4, 0xaf, 0xf8, 0xed,
- 0x9b, 0x6a, 0x7a, 0x10, 0xcc, 0x81, 0x92, 0xc2, 0x58, 0x7e,
- 0x42, 0xe4, 0xbf, 0xcf, 0x8c, 0x91, 0x7f, 0xde, 0xe6, 0xac,
- 0x37, 0x31, 0x58, 0x90, 0xee, 0x51, 0xf5, 0x0e, 0xe5, 0x84,
- 0xd8, 0x51, 0x89, 0x50, 0xfe, 0xfa, 0xad, 0xc9, 0xbb, 0x19,
- 0xb3, 0x4a, 0xc8, 0x6b, 0x26, 0x98, 0x4b, 0x63, 0x41, 0x81,
- 0xe1, 0x12, 0xab, 0xcc, 0x89, 0xbe, 0xdf, 0xa8, 0x7e, 0xf5,
- 0x0e, 0x07, 0xf6, 0x92, 0x89, 0x64, 0x3b, 0xc2, 0x64, 0xa2,
- 0x4b, 0xd1, 0x6b, 0x9b, 0x4e, 0x6a, 0xf2, 0x63, 0xf7, 0xc3,
- 0xe0, 0x9f, 0xc5, 0x4e, 0xb6, 0x77, 0x0a, 0xad, 0x6d, 0x0f,
- 0x30, 0x87, 0x6b, 0xfb, 0x66, 0xb3, 0x90, 0x87, 0xa3, 0x48,
- 0xbe, 0xa4, 0x34, 0x9c, 0x5a, 0x93, 0xa3, 0x74, 0x0e, 0x36,
- 0x8e, 0xf6, 0x3b, 0x6c, 0xae, 0xa0, 0x6a, 0xa1, 0x1a, 0x12,
- 0x78, 0x99, 0x75, 0x50, 0xb1, 0x72, 0xed, 0x22, 0x34, 0x0f,
- 0xe1, 0x89, 0xfe, 0x81, 0x0a, 0xcc, 0x2a, 0xd0, 0xf3, 0x25,
- 0xe6, 0xd9, 0x19, 0x06, 0x20, 0x2d, 0x29, 0x8b, 0xdd, 0xb5,
- 0x60, 0xf4, 0x0d, 0x08, 0x97, 0x7b, 0x81, 0x4a, 0xfb, 0x20,
- 0xfb, 0x83, 0xa3, 0xc8, 0x1d, 0x79, 0xb9 ),
- FINGERPRINT ( 0x7e, 0x54, 0x41, 0x60, 0x21, 0xca, 0x3e, 0x63,
- 0xce, 0x5a, 0x41, 0x6c, 0xbe, 0x52, 0x01, 0x88,
- 0xcf, 0x41, 0x36, 0x48, 0xdb, 0xe3, 0xdf, 0x8e,
- 0x79, 0x73, 0x5f, 0xcf, 0x8e, 0x8e, 0xac, 0xd8 ) );
-
-/*
- * subject www.google.com
- * issuer Thawte SGC CA
- */
-CERTIFICATE ( google_crt,
- DATA ( 0x30, 0x82, 0x03, 0x21, 0x30, 0x82, 0x02, 0x8a, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x10, 0x4f, 0x9d, 0x96, 0xd9, 0x66,
- 0xb0, 0x99, 0x2b, 0x54, 0xc2, 0x95, 0x7c, 0xb4, 0x15, 0x7d,
- 0x4d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x4c, 0x31, 0x0b,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x5a,
- 0x41, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a,
- 0x13, 0x1c, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x43,
- 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20,
- 0x28, 0x50, 0x74, 0x79, 0x29, 0x20, 0x4c, 0x74, 0x64, 0x2e,
- 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
- 0x0d, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x53, 0x47,
- 0x43, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x31,
- 0x31, 0x30, 0x32, 0x36, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
- 0x5a, 0x17, 0x0d, 0x31, 0x33, 0x30, 0x39, 0x33, 0x30, 0x32,
- 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x68, 0x31, 0x0b,
- 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55,
- 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08,
- 0x13, 0x0a, 0x43, 0x61, 0x6c, 0x69, 0x66, 0x6f, 0x72, 0x6e,
- 0x69, 0x61, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04,
- 0x07, 0x14, 0x0d, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69,
- 0x6e, 0x20, 0x56, 0x69, 0x65, 0x77, 0x31, 0x13, 0x30, 0x11,
- 0x06, 0x03, 0x55, 0x04, 0x0a, 0x14, 0x0a, 0x47, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x20, 0x49, 0x6e, 0x63, 0x31, 0x17, 0x30,
- 0x15, 0x06, 0x03, 0x55, 0x04, 0x03, 0x14, 0x0e, 0x77, 0x77,
- 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
- 0x6f, 0x6d, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
- 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81,
- 0x00, 0xde, 0xb7, 0x26, 0x43, 0xa6, 0x99, 0x85, 0xcd, 0x38,
- 0xa7, 0x15, 0x09, 0xb9, 0xcf, 0x0f, 0xc9, 0xc3, 0x55, 0x8c,
- 0x88, 0xee, 0x8c, 0x8d, 0x28, 0x27, 0x24, 0x4b, 0x2a, 0x5e,
- 0xa0, 0xd8, 0x16, 0xfa, 0x61, 0x18, 0x4b, 0xcf, 0x6d, 0x60,
- 0x80, 0xd3, 0x35, 0x40, 0x32, 0x72, 0xc0, 0x8f, 0x12, 0xd8,
- 0xe5, 0x4e, 0x8f, 0xb9, 0xb2, 0xf6, 0xd9, 0x15, 0x5e, 0x5a,
- 0x86, 0x31, 0xa3, 0xba, 0x86, 0xaa, 0x6b, 0xc8, 0xd9, 0x71,
- 0x8c, 0xcc, 0xcd, 0x27, 0x13, 0x1e, 0x9d, 0x42, 0x5d, 0x38,
- 0xf6, 0xa7, 0xac, 0xef, 0xfa, 0x62, 0xf3, 0x18, 0x81, 0xd4,
- 0x24, 0x46, 0x7f, 0x01, 0x77, 0x7c, 0xc6, 0x2a, 0x89, 0x14,
- 0x99, 0xbb, 0x98, 0x39, 0x1d, 0xa8, 0x19, 0xfb, 0x39, 0x00,
- 0x44, 0x7d, 0x1b, 0x94, 0x6a, 0x78, 0x2d, 0x69, 0xad, 0xc0,
- 0x7a, 0x2c, 0xfa, 0xd0, 0xda, 0x20, 0x12, 0x98, 0xd3, 0x02,
- 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xe7, 0x30, 0x81, 0xe4,
- 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff,
- 0x04, 0x02, 0x30, 0x00, 0x30, 0x36, 0x06, 0x03, 0x55, 0x1d,
- 0x1f, 0x04, 0x2f, 0x30, 0x2d, 0x30, 0x2b, 0xa0, 0x29, 0xa0,
- 0x27, 0x86, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
- 0x63, 0x72, 0x6c, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65,
- 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74,
- 0x65, 0x53, 0x47, 0x43, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x6c,
- 0x30, 0x28, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x21, 0x30,
- 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03,
- 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03,
- 0x02, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42,
- 0x04, 0x01, 0x30, 0x72, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05,
- 0x05, 0x07, 0x01, 0x01, 0x04, 0x66, 0x30, 0x64, 0x30, 0x22,
- 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01,
- 0x86, 0x16, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f,
- 0x63, 0x73, 0x70, 0x2e, 0x74, 0x68, 0x61, 0x77, 0x74, 0x65,
- 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x3e, 0x06, 0x08, 0x2b, 0x06,
- 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x32, 0x68, 0x74,
- 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x74,
- 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
- 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
- 0x2f, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x5f, 0x53, 0x47,
- 0x43, 0x5f, 0x43, 0x41, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x21, 0xac, 0xd5,
- 0xae, 0xca, 0x34, 0x89, 0x5a, 0xc2, 0xab, 0x52, 0xd2, 0xb2,
- 0x34, 0x66, 0x9d, 0x7a, 0xab, 0xee, 0xe6, 0x7c, 0xd5, 0x7e,
- 0xc2, 0x5c, 0x28, 0xbb, 0x74, 0x00, 0xc9, 0x10, 0x1f, 0x42,
- 0x13, 0xfc, 0x69, 0x8a, 0x1e, 0x24, 0xa0, 0x02, 0x00, 0xe9,
- 0xba, 0x5b, 0xca, 0x19, 0x04, 0xb2, 0xd3, 0xaf, 0x01, 0xb2,
- 0x7e, 0x5f, 0x14, 0xdb, 0xa6, 0xdb, 0x52, 0xb9, 0x9a, 0xf3,
- 0x12, 0x7f, 0x7c, 0xa2, 0x9c, 0x3b, 0x6f, 0x99, 0x7d, 0xea,
- 0x50, 0x0d, 0x76, 0x23, 0x12, 0xff, 0xf7, 0x66, 0x73, 0x29,
- 0xb7, 0x95, 0x0a, 0xad, 0xd8, 0x8b, 0xb2, 0xde, 0x20, 0xe9,
- 0x0a, 0x70, 0x64, 0x11, 0x08, 0xc8, 0x5a, 0xf1, 0x7d, 0x9e,
- 0xec, 0x69, 0xa5, 0xa5, 0xd5, 0x82, 0xd7, 0x27, 0x1e, 0x9e,
- 0x56, 0xcd, 0xd2, 0x76, 0xd5, 0x79, 0x2b, 0xf7, 0x25, 0x43,
- 0x1c, 0x69, 0xf0, 0xb8, 0xf9 ),
- FINGERPRINT ( 0xec, 0x6a, 0x6b, 0x15, 0x6b, 0x30, 0x62, 0xfa,
- 0x99, 0x49, 0x9d, 0x1e, 0x15, 0x15, 0xcf, 0x6c,
- 0x50, 0x48, 0xaf, 0x17, 0x94, 0x57, 0x48, 0x39,
- 0x6b, 0xd2, 0xec, 0xf1, 0x2b, 0x8d, 0xe2, 0x2c ) );
-
-/*
- * subject VeriSign Class 3 International Server CA - G3
- * issuer VeriSign Class 3 Public Primary Certification Authority - G5
- */
-CERTIFICATE ( verisign_crt,
- DATA ( 0x30, 0x82, 0x06, 0x29, 0x30, 0x82, 0x05, 0x11, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x10, 0x64, 0x1b, 0xe8, 0x20, 0xce,
- 0x02, 0x08, 0x13, 0xf3, 0x2d, 0x4d, 0x2d, 0x95, 0xd6, 0x7e,
- 0x67, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0xca, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x13, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67,
- 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30,
- 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, 0x65,
- 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75,
- 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
- 0x31, 0x3a, 0x30, 0x38, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13,
- 0x31, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x30, 0x36, 0x20,
- 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20,
- 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72,
- 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65,
- 0x64, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
- 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
- 0x3c, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20,
- 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x50, 0x75,
- 0x62, 0x6c, 0x69, 0x63, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61,
- 0x72, 0x79, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74,
- 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x2d, 0x20, 0x47,
- 0x35, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x32, 0x30,
- 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d,
- 0x32, 0x30, 0x30, 0x32, 0x30, 0x37, 0x32, 0x33, 0x35, 0x39,
- 0x35, 0x39, 0x5a, 0x30, 0x81, 0xbc, 0x31, 0x0b, 0x30, 0x09,
- 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,
- 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e,
- 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20,
- 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03,
- 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, 0x65, 0x72, 0x69, 0x53,
- 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20,
- 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x3b, 0x30,
- 0x39, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x32, 0x54, 0x65,
- 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65,
- 0x20, 0x61, 0x74, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
- 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69,
- 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72,
- 0x70, 0x61, 0x20, 0x28, 0x63, 0x29, 0x31, 0x30, 0x31, 0x36,
- 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x2d, 0x56,
- 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6c,
- 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x49, 0x6e, 0x74, 0x65,
- 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20,
- 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43, 0x41, 0x20,
- 0x2d, 0x20, 0x47, 0x33, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82,
- 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x99, 0xd6, 0x9c,
- 0x62, 0xf0, 0x15, 0xf4, 0x81, 0x9a, 0x41, 0x08, 0x59, 0x8f,
- 0x13, 0x9d, 0x17, 0xc9, 0x9f, 0x51, 0xdc, 0xda, 0xb1, 0x52,
- 0xef, 0xff, 0xe3, 0x41, 0xdd, 0xe0, 0xdf, 0xc4, 0x28, 0xc6,
- 0xe3, 0xad, 0x79, 0x1f, 0x27, 0x10, 0x98, 0xb8, 0xbb, 0x20,
- 0x97, 0xc1, 0x28, 0x44, 0x41, 0x0f, 0xea, 0xa9, 0xa8, 0x52,
- 0xcf, 0x4d, 0x4e, 0x1b, 0x8b, 0xbb, 0xb5, 0xc4, 0x76, 0xd9,
- 0xcc, 0x56, 0x06, 0xee, 0xb3, 0x55, 0x20, 0x2a, 0xde, 0x15,
- 0x8d, 0x71, 0xcb, 0x54, 0xc8, 0x6f, 0x17, 0xcd, 0x89, 0x00,
- 0xe4, 0xdc, 0xff, 0xe1, 0xc0, 0x1f, 0x68, 0x71, 0xe9, 0xc7,
- 0x29, 0x2e, 0x7e, 0xbc, 0x3b, 0xfc, 0xe5, 0xbb, 0xab, 0x26,
- 0x54, 0x8b, 0x66, 0x90, 0xcd, 0xf6, 0x92, 0xb9, 0x31, 0x24,
- 0x80, 0xbc, 0x9e, 0x6c, 0xd5, 0xfc, 0x7e, 0xd2, 0xe1, 0x4b,
- 0x8c, 0xdc, 0x42, 0xfa, 0x44, 0x4b, 0x5f, 0xf8, 0x18, 0xb5,
- 0x2e, 0x30, 0xf4, 0x3d, 0x12, 0x98, 0xd3, 0x62, 0x05, 0x73,
- 0x54, 0xa6, 0x9c, 0xa2, 0x1d, 0xbe, 0x52, 0x83, 0x3a, 0x07,
- 0x46, 0xc4, 0x3b, 0x02, 0x56, 0x21, 0xbf, 0xf2, 0x51, 0x4f,
- 0xd0, 0xa6, 0x99, 0x39, 0xe9, 0xae, 0xa5, 0x3f, 0x89, 0x9b,
- 0x9c, 0x7d, 0xfe, 0x4d, 0x60, 0x07, 0x25, 0x20, 0xf7, 0xbb,
- 0xd7, 0x69, 0x83, 0x2b, 0x82, 0x93, 0x43, 0x37, 0xd9, 0x83,
- 0x41, 0x1b, 0x6b, 0x0b, 0xab, 0x4a, 0x66, 0x84, 0x4f, 0x4a,
- 0x8e, 0xde, 0x7e, 0x34, 0x99, 0x8e, 0x68, 0xd6, 0xca, 0x39,
- 0x06, 0x9b, 0x4c, 0xb3, 0x9a, 0x48, 0x4d, 0x13, 0x46, 0xb4,
- 0x58, 0x21, 0x04, 0xc4, 0xfb, 0xa0, 0x4d, 0xac, 0x2e, 0x4b,
- 0x62, 0x12, 0xe3, 0xfb, 0x4d, 0xf6, 0xc9, 0x51, 0x00, 0x01,
- 0x1f, 0xfc, 0x1e, 0x6a, 0x81, 0x2a, 0x38, 0xe0, 0xb9, 0x4f,
- 0xd6, 0x2d, 0x45, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82,
- 0x02, 0x15, 0x30, 0x82, 0x02, 0x11, 0x30, 0x12, 0x06, 0x03,
- 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06,
- 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x70, 0x06, 0x03,
- 0x55, 0x1d, 0x20, 0x04, 0x69, 0x30, 0x67, 0x30, 0x65, 0x06,
- 0x0b, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x07,
- 0x17, 0x03, 0x30, 0x56, 0x30, 0x28, 0x06, 0x08, 0x2b, 0x06,
- 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1c, 0x68, 0x74,
- 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
- 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63,
- 0x6f, 0x6d, 0x2f, 0x63, 0x70, 0x73, 0x30, 0x2a, 0x06, 0x08,
- 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x02, 0x30, 0x1e,
- 0x1a, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
- 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69,
- 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x70, 0x61,
- 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff,
- 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x6d, 0x06, 0x08,
- 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x0c, 0x04, 0x61,
- 0x30, 0x5f, 0xa1, 0x5d, 0xa0, 0x5b, 0x30, 0x59, 0x30, 0x57,
- 0x30, 0x55, 0x16, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f,
- 0x67, 0x69, 0x66, 0x30, 0x21, 0x30, 0x1f, 0x30, 0x07, 0x06,
- 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x04, 0x14, 0x8f, 0xe5,
- 0xd3, 0x1a, 0x86, 0xac, 0x8d, 0x8e, 0x6b, 0xc3, 0xcf, 0x80,
- 0x6a, 0xd4, 0x48, 0x18, 0x2c, 0x7b, 0x19, 0x2e, 0x30, 0x25,
- 0x16, 0x23, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6c,
- 0x6f, 0x67, 0x6f, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69,
- 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x76, 0x73, 0x6c,
- 0x6f, 0x67, 0x6f, 0x2e, 0x67, 0x69, 0x66, 0x30, 0x34, 0x06,
- 0x03, 0x55, 0x1d, 0x25, 0x04, 0x2d, 0x30, 0x2b, 0x06, 0x08,
- 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08,
- 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x09,
- 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x04, 0x01, 0x06,
- 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x08,
- 0x01, 0x30, 0x34, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05,
- 0x07, 0x01, 0x01, 0x04, 0x28, 0x30, 0x26, 0x30, 0x24, 0x06,
- 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86,
- 0x18, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x6f, 0x63,
- 0x73, 0x70, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67,
- 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x34, 0x06, 0x03, 0x55,
- 0x1d, 0x1f, 0x04, 0x2d, 0x30, 0x2b, 0x30, 0x29, 0xa0, 0x27,
- 0xa0, 0x25, 0x86, 0x23, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
- 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73,
- 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63,
- 0x61, 0x33, 0x2d, 0x67, 0x35, 0x2e, 0x63, 0x72, 0x6c, 0x30,
- 0x28, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x21, 0x30, 0x1f,
- 0xa4, 0x1d, 0x30, 0x1b, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03,
- 0x55, 0x04, 0x03, 0x13, 0x10, 0x56, 0x65, 0x72, 0x69, 0x53,
- 0x69, 0x67, 0x6e, 0x4d, 0x50, 0x4b, 0x49, 0x2d, 0x32, 0x2d,
- 0x37, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16,
- 0x04, 0x14, 0xd7, 0x9b, 0x7c, 0xd8, 0x22, 0xa0, 0x15, 0xf7,
- 0xdd, 0xad, 0x5f, 0xce, 0x29, 0x9b, 0x58, 0xc3, 0xbc, 0x46,
- 0x00, 0xb5, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04,
- 0x18, 0x30, 0x16, 0x80, 0x14, 0x7f, 0xd3, 0x65, 0xa7, 0xc2,
- 0xdd, 0xec, 0xbb, 0xf0, 0x30, 0x09, 0xf3, 0x43, 0x39, 0xfa,
- 0x02, 0xaf, 0x33, 0x31, 0x33, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
- 0x03, 0x82, 0x01, 0x01, 0x00, 0x71, 0xb5, 0x7d, 0x73, 0x52,
- 0x4a, 0xdd, 0xd7, 0x4d, 0x34, 0x2b, 0x2e, 0xaf, 0x94, 0x46,
- 0xa5, 0x49, 0x50, 0x02, 0x4f, 0xf8, 0x2f, 0x17, 0x70, 0xf2,
- 0x13, 0xdc, 0x1f, 0x21, 0x86, 0xaa, 0xc2, 0x4f, 0x7c, 0x37,
- 0x3c, 0xd4, 0x46, 0x78, 0xae, 0x5d, 0x78, 0x6f, 0xd1, 0xba,
- 0x5a, 0xbc, 0x10, 0xab, 0x58, 0x36, 0xc5, 0x8c, 0x62, 0x15,
- 0x45, 0x60, 0x17, 0x21, 0xe2, 0xd5, 0x42, 0xa8, 0x77, 0xa1,
- 0x55, 0xd8, 0x43, 0x04, 0x51, 0xf6, 0x6e, 0xba, 0x48, 0xe6,
- 0x5d, 0x4c, 0xb7, 0x44, 0xd3, 0x3e, 0xa4, 0xd5, 0xd6, 0x33,
- 0x9a, 0x9f, 0x0d, 0xe6, 0xd7, 0x4e, 0x96, 0x44, 0x95, 0x5a,
- 0x6c, 0xd6, 0xa3, 0x16, 0x53, 0x0e, 0x98, 0x43, 0xce, 0xa4,
- 0xb8, 0xc3, 0x66, 0x7a, 0x05, 0x5c, 0x62, 0x10, 0xe8, 0x1b,
- 0x12, 0xdb, 0x7d, 0x2e, 0x76, 0x50, 0xff, 0xdf, 0xd7, 0x6b,
- 0x1b, 0xcc, 0x8a, 0xcc, 0x71, 0xfa, 0xb3, 0x40, 0x56, 0x7c,
- 0x33, 0x7a, 0x77, 0x94, 0x5b, 0xf5, 0x0b, 0x53, 0xfb, 0x0e,
- 0x5f, 0xbc, 0x68, 0xfb, 0xaf, 0x2a, 0xee, 0x30, 0x37, 0x79,
- 0x16, 0x93, 0x25, 0x7f, 0x4d, 0x10, 0xff, 0x57, 0xfb, 0xbf,
- 0x6e, 0x3b, 0x33, 0x21, 0xde, 0x79, 0xdc, 0x86, 0x17, 0x59,
- 0x2d, 0x43, 0x64, 0xb7, 0xa6, 0x66, 0x87, 0xea, 0xbc, 0x96,
- 0x46, 0x19, 0x1a, 0x86, 0x8b, 0x6f, 0xd7, 0xb7, 0x49, 0x00,
- 0x5b, 0xdb, 0xa3, 0xbf, 0x29, 0x9a, 0xee, 0xf7, 0xd3, 0x33,
- 0xae, 0xa3, 0xf4, 0x9e, 0x4c, 0xca, 0x5e, 0x69, 0xd4, 0x1b,
- 0xad, 0xb7, 0x90, 0x77, 0x6a, 0xd8, 0x59, 0x6f, 0x79, 0xab,
- 0x01, 0xfa, 0x55, 0xf0, 0x8a, 0x21, 0x66, 0xe5, 0x65, 0x6e,
- 0xfd, 0x7c, 0xd3, 0xdf, 0x1e, 0xeb, 0x7e, 0x3f, 0x06, 0x90,
- 0xfb, 0x19, 0x0b, 0xd3, 0x06, 0x02, 0x1b, 0x78, 0x43, 0x99,
- 0xa8 ),
- FINGERPRINT ( 0x6e, 0x21, 0x87, 0x6c, 0xf1, 0x63, 0x47, 0x20,
- 0x1f, 0x63, 0x7a, 0x17, 0x8c, 0xb4, 0x2b, 0x17,
- 0x1d, 0x52, 0x37, 0x9a, 0xf7, 0xe5, 0xf5, 0xb6,
- 0xf6, 0x75, 0x5b, 0x3e, 0xe9, 0xbb, 0x2e, 0xd4 ) );
-
-/*
- * subject Thawte SGC CA
-issuer= /C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
- */
-CERTIFICATE ( thawte_crt,
- DATA ( 0x30, 0x82, 0x03, 0x23, 0x30, 0x82, 0x02, 0x8c, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x04, 0x30, 0x00, 0x00, 0x02, 0x30,
- 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
- 0x01, 0x05, 0x05, 0x00, 0x30, 0x5f, 0x31, 0x0b, 0x30, 0x09,
- 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,
- 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e,
- 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20,
- 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x37, 0x30, 0x35, 0x06, 0x03,
- 0x55, 0x04, 0x0b, 0x13, 0x2e, 0x43, 0x6c, 0x61, 0x73, 0x73,
- 0x20, 0x33, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20,
- 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x43, 0x65,
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
- 0x79, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x34, 0x30, 0x35, 0x31,
- 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d,
- 0x31, 0x34, 0x30, 0x35, 0x31, 0x32, 0x32, 0x33, 0x35, 0x39,
- 0x35, 0x39, 0x5a, 0x30, 0x4c, 0x31, 0x0b, 0x30, 0x09, 0x06,
- 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x5a, 0x41, 0x31, 0x25,
- 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x54,
- 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73,
- 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x28, 0x50, 0x74,
- 0x79, 0x29, 0x20, 0x4c, 0x74, 0x64, 0x2e, 0x31, 0x16, 0x30,
- 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0d, 0x54, 0x68,
- 0x61, 0x77, 0x74, 0x65, 0x20, 0x53, 0x47, 0x43, 0x20, 0x43,
- 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
- 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03,
- 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00,
- 0xd4, 0xd3, 0x67, 0xd0, 0x8d, 0x15, 0x7f, 0xae, 0xcd, 0x31,
- 0xfe, 0x7d, 0x1d, 0x91, 0xa1, 0x3f, 0x0b, 0x71, 0x3c, 0xac,
- 0xcc, 0xc8, 0x64, 0xfb, 0x63, 0xfc, 0x32, 0x4b, 0x07, 0x94,
- 0xbd, 0x6f, 0x80, 0xba, 0x2f, 0xe1, 0x04, 0x93, 0xc0, 0x33,
- 0xfc, 0x09, 0x33, 0x23, 0xe9, 0x0b, 0x74, 0x2b, 0x71, 0xc4,
- 0x03, 0xc6, 0xd2, 0xcd, 0xe2, 0x2f, 0xf5, 0x09, 0x63, 0xcd,
- 0xff, 0x48, 0xa5, 0x00, 0xbf, 0xe0, 0xe7, 0xf3, 0x88, 0xb7,
- 0x2d, 0x32, 0xde, 0x98, 0x36, 0xe6, 0x0a, 0xad, 0x00, 0x7b,
- 0xc4, 0x64, 0x4a, 0x3b, 0x84, 0x75, 0x03, 0xf2, 0x70, 0x92,
- 0x7d, 0x0e, 0x62, 0xf5, 0x21, 0xab, 0x69, 0x36, 0x84, 0x31,
- 0x75, 0x90, 0xf8, 0xbf, 0xc7, 0x6c, 0x88, 0x1b, 0x06, 0x95,
- 0x7c, 0xc9, 0xe5, 0xa8, 0xde, 0x75, 0xa1, 0x2c, 0x7a, 0x68,
- 0xdf, 0xd5, 0xca, 0x1c, 0x87, 0x58, 0x60, 0x19, 0x02, 0x03,
- 0x01, 0x00, 0x01, 0xa3, 0x81, 0xfe, 0x30, 0x81, 0xfb, 0x30,
- 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04,
- 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30,
- 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02,
- 0x01, 0x06, 0x30, 0x11, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01,
- 0x86, 0xf8, 0x42, 0x01, 0x01, 0x04, 0x04, 0x03, 0x02, 0x01,
- 0x06, 0x30, 0x28, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x21,
- 0x30, 0x1f, 0xa4, 0x1d, 0x30, 0x1b, 0x31, 0x19, 0x30, 0x17,
- 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x10, 0x50, 0x72, 0x69,
- 0x76, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x33,
- 0x2d, 0x31, 0x35, 0x30, 0x31, 0x06, 0x03, 0x55, 0x1d, 0x1f,
- 0x04, 0x2a, 0x30, 0x28, 0x30, 0x26, 0xa0, 0x24, 0xa0, 0x22,
- 0x86, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63,
- 0x72, 0x6c, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69, 0x67,
- 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x63, 0x61, 0x33,
- 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x32, 0x06, 0x08, 0x2b, 0x06,
- 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x26, 0x30, 0x24,
- 0x30, 0x22, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
- 0x30, 0x01, 0x86, 0x16, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
- 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x74, 0x68, 0x61, 0x77,
- 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x34, 0x06, 0x03,
- 0x55, 0x1d, 0x25, 0x04, 0x2d, 0x30, 0x2b, 0x06, 0x08, 0x2b,
- 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b,
- 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x09, 0x60,
- 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x04, 0x01, 0x06, 0x0a,
- 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x45, 0x01, 0x08, 0x01,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x55,
- 0xac, 0x63, 0xea, 0xde, 0xa1, 0xdd, 0xd2, 0x90, 0x5f, 0x9f,
- 0x0b, 0xce, 0x76, 0xbe, 0x13, 0x51, 0x8f, 0x93, 0xd9, 0x05,
- 0x2b, 0xc8, 0x1b, 0x77, 0x4b, 0xad, 0x69, 0x50, 0xa1, 0xee,
- 0xde, 0xdc, 0xfd, 0xdb, 0x07, 0xe9, 0xe8, 0x39, 0x94, 0xdc,
- 0xab, 0x72, 0x79, 0x2f, 0x06, 0xbf, 0xab, 0x81, 0x70, 0xc4,
- 0xa8, 0xed, 0xea, 0x53, 0x34, 0xed, 0xef, 0x1e, 0x53, 0xd9,
- 0x06, 0xc7, 0x56, 0x2b, 0xd1, 0x5c, 0xf4, 0xd1, 0x8a, 0x8e,
- 0xb4, 0x2b, 0xb1, 0x37, 0x90, 0x48, 0x08, 0x42, 0x25, 0xc5,
- 0x3e, 0x8a, 0xcb, 0x7f, 0xeb, 0x6f, 0x04, 0xd1, 0x6d, 0xc5,
- 0x74, 0xa2, 0xf7, 0xa2, 0x7c, 0x7b, 0x60, 0x3c, 0x77, 0xcd,
- 0x0e, 0xce, 0x48, 0x02, 0x7f, 0x01, 0x2f, 0xb6, 0x9b, 0x37,
- 0xe0, 0x2a, 0x2a, 0x36, 0xdc, 0xd5, 0x85, 0xd6, 0xac, 0xe5,
- 0x3f, 0x54, 0x6f, 0x96, 0x1e, 0x05, 0xaf ),
- FINGERPRINT ( 0x10, 0x85, 0xa6, 0xf4, 0x54, 0xd0, 0xc9, 0x11,
- 0x98, 0xfd, 0xda, 0xb1, 0x1a, 0x31, 0xc7, 0x16,
- 0xd5, 0xdc, 0xd6, 0x8d, 0xf9, 0x1c, 0x03, 0x9c,
- 0xe1, 0x8d, 0xca, 0x9b, 0xeb, 0x3c, 0xde, 0x3d ) );
-
-/*
- * subject StartCom Class 2 Primary Intermediate Server CA
- * issuer StartCom Certification Authority
- */
-CERTIFICATE ( startssl_crt,
- DATA ( 0x30, 0x82, 0x07, 0xe3, 0x30, 0x82, 0x05, 0xcb, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x01, 0x0b, 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
- 0x00, 0x30, 0x7d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
- 0x04, 0x06, 0x13, 0x02, 0x49, 0x4c, 0x31, 0x16, 0x30, 0x14,
- 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x53, 0x74, 0x61,
- 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x4c, 0x74, 0x64, 0x2e,
- 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13,
- 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x44, 0x69,
- 0x67, 0x69, 0x74, 0x61, 0x6c, 0x20, 0x43, 0x65, 0x72, 0x74,
- 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x53, 0x69,
- 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x31, 0x29, 0x30, 0x27, 0x06,
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x20, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69,
- 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x41,
- 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1e,
- 0x17, 0x0d, 0x30, 0x37, 0x31, 0x30, 0x32, 0x34, 0x32, 0x30,
- 0x35, 0x37, 0x30, 0x38, 0x5a, 0x17, 0x0d, 0x31, 0x32, 0x31,
- 0x30, 0x32, 0x32, 0x32, 0x30, 0x35, 0x37, 0x30, 0x38, 0x5a,
- 0x30, 0x81, 0x8c, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
- 0x04, 0x06, 0x13, 0x02, 0x49, 0x4c, 0x31, 0x16, 0x30, 0x14,
- 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x53, 0x74, 0x61,
- 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x4c, 0x74, 0x64, 0x2e,
- 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13,
- 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x44, 0x69,
- 0x67, 0x69, 0x74, 0x61, 0x6c, 0x20, 0x43, 0x65, 0x72, 0x74,
- 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x53, 0x69,
- 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x31, 0x38, 0x30, 0x36, 0x06,
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x2f, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73,
- 0x20, 0x32, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
- 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69,
- 0x61, 0x74, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
- 0x20, 0x43, 0x41, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
- 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01,
- 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xe2, 0x4f, 0x39, 0x2f,
- 0xa1, 0x8c, 0x9a, 0x85, 0xad, 0x08, 0x0e, 0x08, 0x3e, 0x57,
- 0xf2, 0x88, 0x01, 0x21, 0x1b, 0x94, 0xa9, 0x6c, 0xe2, 0xb8,
- 0xdb, 0xaa, 0x19, 0x18, 0x46, 0x3a, 0x52, 0xa1, 0xf5, 0x0f,
- 0xf4, 0x6e, 0x8c, 0xea, 0x96, 0x8c, 0x96, 0x87, 0x79, 0x13,
- 0x40, 0x51, 0x2f, 0x22, 0xf2, 0x0c, 0x8b, 0x87, 0x0f, 0x65,
- 0xdf, 0x71, 0x74, 0x34, 0x43, 0x55, 0xb1, 0x35, 0x09, 0x9b,
- 0xd9, 0xbc, 0x1f, 0xfa, 0xeb, 0x42, 0xd0, 0x97, 0x40, 0x72,
- 0xb7, 0x43, 0x96, 0x3d, 0xba, 0x96, 0x9d, 0x5d, 0x50, 0x02,
- 0x1c, 0x9b, 0x91, 0x8d, 0x9c, 0xc0, 0xac, 0xd7, 0xbb, 0x2f,
- 0x17, 0xd7, 0xcb, 0x3e, 0x82, 0x9d, 0x73, 0xeb, 0x07, 0x42,
- 0x92, 0xb2, 0xcd, 0x64, 0xb3, 0x74, 0x55, 0x1b, 0xb4, 0x4b,
- 0x86, 0x21, 0x2c, 0xf7, 0x78, 0x87, 0x32, 0xe0, 0x16, 0xe4,
- 0xda, 0xbd, 0x4c, 0x95, 0xea, 0xa4, 0x0a, 0x7e, 0xb6, 0x0a,
- 0x0d, 0x2e, 0x8a, 0xcf, 0x55, 0xab, 0xc3, 0xe5, 0xdd, 0x41,
- 0x8a, 0x4e, 0xe6, 0x6f, 0x65, 0x6c, 0xb2, 0x40, 0xcf, 0x17,
- 0x5d, 0xb9, 0xc3, 0x6a, 0x0b, 0x27, 0x11, 0x84, 0x77, 0x61,
- 0xf6, 0xc2, 0x7c, 0xed, 0xc0, 0x8d, 0x78, 0x14, 0x18, 0x99,
- 0x81, 0x99, 0x75, 0x63, 0xb7, 0xe8, 0x53, 0xd3, 0xba, 0x61,
- 0xe9, 0x0e, 0xfa, 0xa2, 0x30, 0xf3, 0x46, 0xa2, 0xb9, 0xc9,
- 0x1f, 0x6c, 0x80, 0x5a, 0x40, 0xac, 0x27, 0xed, 0x48, 0x47,
- 0x33, 0xb0, 0x54, 0xc6, 0x46, 0x1a, 0xf3, 0x35, 0x61, 0xc1,
- 0x02, 0x29, 0x90, 0x54, 0x7e, 0x64, 0x4d, 0xc4, 0x30, 0x52,
- 0x02, 0x82, 0xd7, 0xdf, 0xce, 0x21, 0x6e, 0x18, 0x91, 0xd7,
- 0xb8, 0xab, 0x8c, 0x27, 0x17, 0xb5, 0xf0, 0xa3, 0x01, 0x2f,
- 0x8e, 0xd2, 0x2e, 0x87, 0x3a, 0x3d, 0xb4, 0x29, 0x67, 0x8a,
- 0xc4, 0x03, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x03,
- 0x5c, 0x30, 0x82, 0x03, 0x58, 0x30, 0x0c, 0x06, 0x03, 0x55,
- 0x1d, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30,
- 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02,
- 0x01, 0xa6, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04,
- 0x16, 0x04, 0x14, 0x11, 0xdb, 0x23, 0x45, 0xfd, 0x54, 0xcc,
- 0x6a, 0x71, 0x6f, 0x84, 0x8a, 0x03, 0xd7, 0xbe, 0xf7, 0x01,
- 0x2f, 0x26, 0x86, 0x30, 0x81, 0xa8, 0x06, 0x03, 0x55, 0x1d,
- 0x23, 0x04, 0x81, 0xa0, 0x30, 0x81, 0x9d, 0x80, 0x14, 0x4e,
- 0x0b, 0xef, 0x1a, 0xa4, 0x40, 0x5b, 0xa5, 0x17, 0x69, 0x87,
- 0x30, 0xca, 0x34, 0x68, 0x43, 0xd0, 0x41, 0xae, 0xf2, 0xa1,
- 0x81, 0x81, 0xa4, 0x7f, 0x30, 0x7d, 0x31, 0x0b, 0x30, 0x09,
- 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, 0x4c, 0x31,
- 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d,
- 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x4c,
- 0x74, 0x64, 0x2e, 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x13, 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65,
- 0x20, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x20, 0x43,
- 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
- 0x20, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x31, 0x29,
- 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x20, 0x53,
- 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x65,
- 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
- 0x79, 0x82, 0x01, 0x01, 0x30, 0x09, 0x06, 0x03, 0x55, 0x1d,
- 0x12, 0x04, 0x02, 0x30, 0x00, 0x30, 0x3d, 0x06, 0x08, 0x2b,
- 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x31, 0x30,
- 0x2f, 0x30, 0x2d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05,
- 0x07, 0x30, 0x02, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a,
- 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x73, 0x74, 0x61, 0x72,
- 0x74, 0x73, 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73,
- 0x66, 0x73, 0x63, 0x61, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x60,
- 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x59, 0x30, 0x57, 0x30,
- 0x2c, 0xa0, 0x2a, 0xa0, 0x28, 0x86, 0x26, 0x68, 0x74, 0x74,
- 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x73,
- 0x74, 0x61, 0x72, 0x74, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x72,
- 0x67, 0x2f, 0x73, 0x66, 0x73, 0x63, 0x61, 0x2d, 0x63, 0x72,
- 0x6c, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x27, 0xa0, 0x25, 0xa0,
- 0x23, 0x86, 0x21, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
- 0x63, 0x72, 0x6c, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73,
- 0x73, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x66, 0x73,
- 0x63, 0x61, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x82, 0x01, 0x5d,
- 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x82, 0x01, 0x54, 0x30,
- 0x82, 0x01, 0x50, 0x30, 0x82, 0x01, 0x4c, 0x06, 0x0b, 0x2b,
- 0x06, 0x01, 0x04, 0x01, 0x81, 0xb5, 0x37, 0x01, 0x01, 0x04,
- 0x30, 0x82, 0x01, 0x3b, 0x30, 0x2f, 0x06, 0x08, 0x2b, 0x06,
- 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x23, 0x68, 0x74,
- 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x2e,
- 0x73, 0x74, 0x61, 0x72, 0x74, 0x63, 0x6f, 0x6d, 0x2e, 0x6f,
- 0x72, 0x67, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
- 0x70, 0x64, 0x66, 0x30, 0x35, 0x06, 0x08, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x29, 0x68, 0x74, 0x74,
- 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x73,
- 0x74, 0x61, 0x72, 0x74, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x72,
- 0x67, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64,
- 0x69, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x64, 0x66, 0x30, 0x81,
- 0xd0, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02,
- 0x02, 0x30, 0x81, 0xc3, 0x30, 0x27, 0x16, 0x20, 0x53, 0x74,
- 0x61, 0x72, 0x74, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x72,
- 0x63, 0x69, 0x61, 0x6c, 0x20, 0x28, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x43, 0x6f, 0x6d, 0x29, 0x20, 0x4c, 0x74, 0x64, 0x2e,
- 0x30, 0x03, 0x02, 0x01, 0x01, 0x1a, 0x81, 0x97, 0x4c, 0x69,
- 0x6d, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4c, 0x69, 0x61, 0x62,
- 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2c, 0x20, 0x72, 0x65, 0x61,
- 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x20, 0x2a, 0x4c, 0x65, 0x67, 0x61, 0x6c,
- 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x2a, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,
- 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20,
- 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72,
- 0x69, 0x74, 0x79, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
- 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
- 0x20, 0x61, 0x74, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
- 0x2f, 0x63, 0x65, 0x72, 0x74, 0x2e, 0x73, 0x74, 0x61, 0x72,
- 0x74, 0x63, 0x6f, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70,
- 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x64, 0x66, 0x30,
- 0x11, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42,
- 0x01, 0x01, 0x04, 0x04, 0x03, 0x02, 0x00, 0x07, 0x30, 0x51,
- 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x01,
- 0x0d, 0x04, 0x44, 0x16, 0x42, 0x53, 0x74, 0x61, 0x72, 0x74,
- 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20,
- 0x32, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20,
- 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61,
- 0x74, 0x65, 0x20, 0x46, 0x72, 0x65, 0x65, 0x20, 0x53, 0x53,
- 0x4c, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43,
- 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
- 0x73, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01,
- 0x00, 0x64, 0x82, 0x4c, 0x59, 0x5c, 0x0c, 0x6c, 0x16, 0xb6,
- 0xa2, 0x39, 0x45, 0x11, 0x87, 0x98, 0xdf, 0x10, 0x33, 0xae,
- 0x42, 0x9e, 0x25, 0xd1, 0xfd, 0x70, 0x53, 0x45, 0x5e, 0xf4,
- 0x35, 0xc0, 0xe4, 0x30, 0x77, 0xe0, 0x9c, 0xf7, 0xef, 0x27,
- 0xe5, 0x6e, 0x28, 0xef, 0xac, 0xd7, 0xf3, 0x16, 0xcc, 0xc1,
- 0x6c, 0x53, 0x9c, 0x8f, 0x2d, 0x82, 0x6f, 0x94, 0xf7, 0x14,
- 0x36, 0x17, 0xae, 0xb2, 0xe5, 0xa2, 0x3f, 0xa2, 0x83, 0x73,
- 0xa4, 0xdf, 0xa8, 0xbb, 0xca, 0x01, 0x31, 0x6c, 0x9a, 0x43,
- 0x08, 0xdd, 0x1a, 0x5d, 0xad, 0x4b, 0x6d, 0x7f, 0xf4, 0x7e,
- 0xf0, 0x12, 0x3a, 0x05, 0xbf, 0xa7, 0x44, 0x10, 0x07, 0x17,
- 0x44, 0x93, 0x50, 0xe3, 0x95, 0x29, 0xb3, 0xf4, 0x13, 0xd2,
- 0x40, 0xe0, 0x3e, 0xdf, 0x3d, 0x3d, 0x39, 0x5e, 0x81, 0x48,
- 0x0f, 0x32, 0xba, 0x48, 0xd5, 0x03, 0x1b, 0xf5, 0xf7, 0x4e,
- 0x0a, 0x8e, 0x03, 0x8d, 0xfc, 0xca, 0x87, 0xe6, 0xc9, 0xdf,
- 0x26, 0xdf, 0x84, 0x3a, 0x49, 0xb1, 0x99, 0x55, 0x3f, 0xd4,
- 0x2c, 0xab, 0x78, 0x0d, 0x62, 0x03, 0x15, 0x9f, 0xb1, 0x45,
- 0x4b, 0x23, 0x78, 0x62, 0x2a, 0xee, 0xeb, 0x7b, 0x60, 0x2d,
- 0x77, 0x72, 0x1e, 0x61, 0x24, 0x69, 0x62, 0xe8, 0xe1, 0x35,
- 0x3c, 0x82, 0x02, 0x40, 0x15, 0x32, 0x4b, 0x57, 0xcd, 0x97,
- 0xb9, 0x29, 0x8f, 0xa4, 0xd7, 0x84, 0xdb, 0x09, 0xe5, 0x35,
- 0x5b, 0x2f, 0x60, 0x59, 0x49, 0xe9, 0xd6, 0x59, 0xf5, 0xfa,
- 0x5d, 0xc8, 0xcd, 0x4d, 0x94, 0x70, 0xc4, 0xe8, 0x3c, 0x35,
- 0x01, 0x06, 0x75, 0xe8, 0x71, 0x9b, 0x7f, 0x2b, 0x10, 0xca,
- 0x6b, 0x3f, 0xc0, 0xb3, 0x97, 0x72, 0xda, 0xff, 0x74, 0x16,
- 0x8e, 0xfb, 0xfb, 0x9b, 0xe4, 0x05, 0xf0, 0x98, 0xe7, 0x15,
- 0xac, 0xca, 0x24, 0xa2, 0xe7, 0x8a, 0xb4, 0xcf, 0x72, 0x31,
- 0x2b, 0xe3, 0x31, 0x0e, 0x30, 0x5f, 0xd5, 0xcb, 0x94, 0xb3,
- 0xee, 0x35, 0x04, 0xd3, 0x45, 0x07, 0x09, 0x14, 0x51, 0x8a,
- 0xf5, 0x07, 0x31, 0x5e, 0x13, 0x2f, 0x5d, 0x0c, 0xd9, 0xd7,
- 0x36, 0xa8, 0xb0, 0x52, 0x37, 0x94, 0xc2, 0x75, 0x9c, 0x5a,
- 0x2e, 0xa8, 0xd1, 0xb0, 0x73, 0x6b, 0x69, 0xda, 0x0c, 0x3a,
- 0xd6, 0x11, 0x6b, 0xac, 0x9d, 0xbc, 0x45, 0x32, 0x05, 0xe8,
- 0x89, 0x77, 0xd5, 0xb7, 0xbe, 0xc0, 0xed, 0xcd, 0xcd, 0x4e,
- 0x6d, 0x28, 0x58, 0x0a, 0xf0, 0xb4, 0x51, 0xc8, 0xcd, 0x86,
- 0xd1, 0x89, 0x23, 0xc5, 0x23, 0xed, 0xcf, 0x10, 0xf9, 0x0e,
- 0x6e, 0xd8, 0xc1, 0xd7, 0x3f, 0x80, 0xfa, 0xa6, 0x2a, 0x47,
- 0xc4, 0xdb, 0x07, 0x16, 0xe7, 0x0b, 0x8b, 0x53, 0x97, 0x11,
- 0x2e, 0xa3, 0x61, 0x27, 0xb3, 0xbb, 0x4a, 0xd7, 0x01, 0x6d,
- 0xb1, 0x71, 0xa5, 0xe5, 0x23, 0xd6, 0xda, 0xa1, 0xa8, 0x55,
- 0x26, 0xaf, 0xb7, 0xba, 0x5e, 0x56, 0x2d, 0x3d, 0x10, 0xa3,
- 0x71, 0x4a, 0x93, 0x45, 0x1c, 0x7a, 0x3c, 0x92, 0x2a, 0x69,
- 0x3f, 0x4f, 0x1e, 0x96, 0x99, 0x90, 0x09, 0xc8, 0x01, 0xbf,
- 0x28, 0x34, 0xb2, 0x7d, 0x11, 0x50, 0x59, 0xd0, 0x9b, 0xe3,
- 0x33, 0x56, 0x65, 0xee, 0x98, 0x97, 0x3f, 0x3e, 0x54, 0x69,
- 0x2d, 0x26, 0x2e, 0x03, 0x2b, 0xa0, 0xbe, 0xab, 0x6b, 0x80,
- 0x20, 0xe1, 0x3a, 0x4b, 0xbb, 0x26, 0xbe, 0xab, 0xab, 0xa5,
- 0x39, 0xb1, 0x9a, 0x49, 0xa6, 0xb4, 0x5b, 0x96, 0x66, 0xe2,
- 0x49, 0x0b, 0x70, 0x02, 0xaa, 0x49, 0x49, 0x61, 0x0e, 0xfe,
- 0xae, 0xf5, 0xa5, 0x96, 0xe7, 0xf6, 0xba, 0x6c, 0x89, 0x9f,
- 0x0e, 0x72, 0xec, 0xfb, 0x45, 0x00, 0x87, 0x8f, 0x2c, 0xe7,
- 0x7f, 0xb2, 0xc5, 0xa5, 0x52, 0xbe, 0x03, 0xfa, 0x31, 0x2a,
- 0x02, 0x6a, 0xf8 ),
- FINGERPRINT ( 0x9f, 0xd1, 0x93, 0xd3, 0x8f, 0x95, 0x30, 0xab,
- 0x55, 0xa5, 0xc1, 0xb3, 0x51, 0x4a, 0x1d, 0x64,
- 0x1c, 0xec, 0xc2, 0x1c, 0xc5, 0xc2, 0xf5, 0x67,
- 0x48, 0xa7, 0x11, 0x01, 0x69, 0x83, 0xfd, 0x8e ) );
-
-/*
- * subject RapidSSL SHA256 CA - G3
- * issuer GeoTrust Global CA
- */
-CERTIFICATE ( rapidssl_crt,
- DATA ( 0x30, 0x82, 0x04, 0x25, 0x30, 0x82, 0x03, 0x0d, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x03, 0x02, 0x3a, 0x77, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x0b, 0x05, 0x00, 0x30, 0x42, 0x31, 0x0b, 0x30, 0x09, 0x06,
- 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16,
- 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47,
- 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e,
- 0x63, 0x2e, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x13, 0x12, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73,
- 0x74, 0x20, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x43,
- 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, 0x38, 0x32,
- 0x39, 0x32, 0x31, 0x33, 0x39, 0x33, 0x32, 0x5a, 0x17, 0x0d,
- 0x32, 0x32, 0x30, 0x35, 0x32, 0x30, 0x32, 0x31, 0x33, 0x39,
- 0x33, 0x32, 0x5a, 0x30, 0x47, 0x31, 0x0b, 0x30, 0x09, 0x06,
- 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16,
- 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47,
- 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e,
- 0x63, 0x2e, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x13, 0x17, 0x52, 0x61, 0x70, 0x69, 0x64, 0x53, 0x53,
- 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x43,
- 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x82, 0x01, 0x22,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00,
- 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xaf,
- 0x54, 0x9b, 0xd9, 0x58, 0x5d, 0x1e, 0x2c, 0x56, 0xc6, 0xd5,
- 0xe8, 0x7f, 0xf4, 0x7d, 0x16, 0x03, 0xff, 0xd0, 0x8b, 0x5a,
- 0xe4, 0x8e, 0xa7, 0xdd, 0x54, 0x2e, 0xd4, 0x04, 0xc0, 0x5d,
- 0x98, 0x9c, 0x8d, 0x90, 0x0f, 0xbc, 0x10, 0x65, 0x5f, 0xda,
- 0x9a, 0xd6, 0x44, 0x7c, 0xc0, 0x9f, 0xb5, 0xe9, 0x4a, 0x8c,
- 0x0b, 0x06, 0x43, 0x04, 0xbb, 0xf4, 0x96, 0xe2, 0x26, 0xf6,
- 0x61, 0x01, 0x91, 0x66, 0x31, 0x22, 0xc3, 0x34, 0x34, 0x5f,
- 0x3f, 0x3f, 0x91, 0x2f, 0x44, 0x5f, 0xdc, 0xc7, 0x14, 0xb6,
- 0x03, 0x9f, 0x86, 0x4b, 0x0e, 0xa3, 0xff, 0xa0, 0x80, 0x02,
- 0x83, 0xc3, 0xd3, 0x1f, 0x69, 0x52, 0xd6, 0x9d, 0x64, 0x0f,
- 0xc9, 0x83, 0xe7, 0x1b, 0xc4, 0x70, 0xac, 0x94, 0xe7, 0xc3,
- 0xa4, 0x6a, 0x2c, 0xbd, 0xb8, 0x9e, 0x69, 0xd8, 0xbe, 0x0a,
- 0x8f, 0x16, 0x63, 0x5a, 0x68, 0x71, 0x80, 0x7b, 0x30, 0xde,
- 0x15, 0x04, 0xbf, 0xcc, 0xd3, 0xbf, 0x3e, 0x48, 0x05, 0x55,
- 0x7a, 0xb3, 0xd7, 0x10, 0x0c, 0x03, 0xfc, 0x9b, 0xfd, 0x08,
- 0xa7, 0x8c, 0x8c, 0xdb, 0xa7, 0x8e, 0xf1, 0x1e, 0x63, 0xdc,
- 0xb3, 0x01, 0x2f, 0x7f, 0xaf, 0x57, 0xc3, 0x3c, 0x48, 0xa7,
- 0x83, 0x68, 0x21, 0xa7, 0x2f, 0xe7, 0xa7, 0x3f, 0xf0, 0xb5,
- 0x0c, 0xfc, 0xf5, 0x84, 0xd1, 0x53, 0xbc, 0x0e, 0x72, 0x4f,
- 0x60, 0x0c, 0x42, 0xb8, 0x98, 0xad, 0x19, 0x88, 0x57, 0xd7,
- 0x04, 0xec, 0x87, 0xbf, 0x7e, 0x87, 0x4e, 0xa3, 0x21, 0xf9,
- 0x53, 0xfd, 0x36, 0x98, 0x48, 0x8d, 0xd6, 0xf8, 0xbb, 0x48,
- 0xf2, 0x29, 0xc8, 0x64, 0xd1, 0xcc, 0x54, 0x48, 0x53, 0x8b,
- 0xaf, 0xb7, 0x65, 0x1e, 0xbf, 0x29, 0x33, 0x29, 0xd9, 0x29,
- 0x60, 0x48, 0xf8, 0xff, 0x91, 0xbc, 0x57, 0x58, 0xe5, 0x35,
- 0x2e, 0xbb, 0x69, 0xb6, 0x59, 0x02, 0x03, 0x01, 0x00, 0x01,
- 0xa3, 0x82, 0x01, 0x1d, 0x30, 0x82, 0x01, 0x19, 0x30, 0x1f,
- 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80,
- 0x14, 0xc0, 0x7a, 0x98, 0x68, 0x8d, 0x89, 0xfb, 0xab, 0x05,
- 0x64, 0x0c, 0x11, 0x7d, 0xaa, 0x7d, 0x65, 0xb8, 0xca, 0xcc,
- 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16,
- 0x04, 0x14, 0xc3, 0x9c, 0xf3, 0xfc, 0xd3, 0x46, 0x08, 0x34,
- 0xbb, 0xce, 0x46, 0x7f, 0xa0, 0x7c, 0x5b, 0xf3, 0xe2, 0x08,
- 0xcb, 0x59, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
- 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02,
- 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01,
- 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x35,
- 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x2e, 0x30, 0x2c, 0x30,
- 0x2a, 0xa0, 0x28, 0xa0, 0x26, 0x86, 0x24, 0x68, 0x74, 0x74,
- 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63,
- 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x72, 0x6c, 0x73,
- 0x2f, 0x67, 0x74, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2e,
- 0x63, 0x72, 0x6c, 0x30, 0x2e, 0x06, 0x08, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x22, 0x30, 0x20, 0x30,
- 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
- 0x01, 0x86, 0x12, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
- 0x67, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f,
- 0x6d, 0x30, 0x4c, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x45,
- 0x30, 0x43, 0x30, 0x41, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01,
- 0x86, 0xf8, 0x45, 0x01, 0x07, 0x36, 0x30, 0x33, 0x30, 0x31,
- 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01,
- 0x16, 0x25, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77,
- 0x77, 0x77, 0x2e, 0x67, 0x65, 0x6f, 0x74, 0x72, 0x75, 0x73,
- 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x30,
- 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
- 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xa3,
- 0x58, 0x1e, 0xc6, 0x43, 0x32, 0xac, 0xac, 0x2f, 0x93, 0x78,
- 0xb7, 0xea, 0xae, 0x54, 0x40, 0x47, 0x2d, 0x7e, 0x78, 0x8d,
- 0x50, 0xf6, 0xf8, 0x66, 0xac, 0xd6, 0x4f, 0x73, 0xd6, 0x44,
- 0xef, 0xaf, 0x0b, 0xcc, 0x5b, 0xc1, 0xf4, 0x4f, 0x9a, 0x8f,
- 0x49, 0x7e, 0x60, 0xaf, 0xc2, 0x27, 0xc7, 0x16, 0xf1, 0xfb,
- 0x93, 0x81, 0x90, 0xa9, 0x7c, 0xef, 0x6f, 0x7e, 0x6e, 0x45,
- 0x94, 0x16, 0x84, 0xbd, 0xec, 0x49, 0xf1, 0xc4, 0x0e, 0xf4,
- 0xaf, 0x04, 0x59, 0x83, 0x87, 0x0f, 0x2c, 0x3b, 0x97, 0xc3,
- 0x5a, 0x12, 0x9b, 0x7b, 0x04, 0x35, 0x7b, 0xa3, 0x95, 0x33,
- 0x08, 0x7b, 0x93, 0x71, 0x22, 0x42, 0xb3, 0xa9, 0xd9, 0x6f,
- 0x4f, 0x81, 0x92, 0xfc, 0x07, 0xb6, 0x79, 0xbc, 0x84, 0x4a,
- 0x9d, 0x77, 0x09, 0xf1, 0xc5, 0x89, 0xf2, 0xf0, 0xb4, 0x9c,
- 0x54, 0xaa, 0x12, 0x7b, 0x0d, 0xba, 0x4f, 0xef, 0x93, 0x19,
- 0xec, 0xef, 0x7d, 0x4e, 0x61, 0xa3, 0x8e, 0x76, 0x9c, 0x59,
- 0xcf, 0x8c, 0x94, 0xb1, 0x84, 0x97, 0xf7, 0x1a, 0xb9, 0x07,
- 0xb8, 0xb2, 0xc6, 0x4f, 0x13, 0x79, 0xdb, 0xbf, 0x4f, 0x51,
- 0x1b, 0x7f, 0x69, 0x0d, 0x51, 0x2a, 0xc1, 0xd6, 0x15, 0xff,
- 0x37, 0x51, 0x34, 0x65, 0x51, 0xf4, 0x1e, 0xbe, 0x38, 0x6a,
- 0xec, 0x0e, 0xab, 0xbf, 0x3d, 0x7b, 0x39, 0x05, 0x7b, 0xf4,
- 0xf3, 0xfb, 0x1a, 0xa1, 0xd0, 0xc8, 0x7e, 0x4e, 0x64, 0x8d,
- 0xcd, 0x8c, 0x61, 0x55, 0x90, 0xfe, 0x3a, 0xca, 0x5d, 0x25,
- 0x0f, 0xf8, 0x1d, 0xa3, 0x4a, 0x74, 0x56, 0x4f, 0x1a, 0x55,
- 0x40, 0x70, 0x75, 0x25, 0xa6, 0x33, 0x2e, 0xba, 0x4b, 0xa5,
- 0x5d, 0x53, 0x9a, 0x0d, 0x30, 0xe1, 0x8d, 0x5f, 0x61, 0x2c,
- 0xaf, 0xcc, 0xef, 0xb0, 0x99, 0xa1, 0x80, 0xff, 0x0b, 0xf2,
- 0x62, 0x4c, 0x70, 0x26, 0x98 ),
- FINGERPRINT ( 0xbc, 0x3f, 0x03, 0xa4, 0x36, 0x24, 0x0e, 0xdb,
- 0xa5, 0xf8, 0x37, 0x14, 0xf6, 0xf6, 0x77, 0xe3,
- 0x4b, 0x37, 0xf9, 0xb1, 0xf0, 0xc0, 0x8c, 0x1e,
- 0x55, 0x8d, 0x98, 0x1e, 0x27, 0x9e, 0x82, 0x09 ) );
-
-/*
- * subject *.vultr.com
- * issuer RapidSSL SHA256 CA - G3
- */
-CERTIFICATE ( vultr_crt,
- DATA ( 0x30, 0x82, 0x04, 0xa8, 0x30, 0x82, 0x03, 0x90, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x03, 0x00, 0x95, 0x4d, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x0b, 0x05, 0x00, 0x30, 0x47, 0x31, 0x0b, 0x30, 0x09, 0x06,
- 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16,
- 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x47,
- 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x49, 0x6e,
- 0x63, 0x2e, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x13, 0x17, 0x52, 0x61, 0x70, 0x69, 0x64, 0x53, 0x53,
- 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x20, 0x43,
- 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x1e, 0x17, 0x0d,
- 0x31, 0x34, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x33, 0x31,
- 0x32, 0x38, 0x5a, 0x17, 0x0d, 0x31, 0x37, 0x31, 0x32, 0x32,
- 0x32, 0x31, 0x39, 0x32, 0x39, 0x31, 0x30, 0x5a, 0x30, 0x81,
- 0x8f, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0b,
- 0x13, 0x0a, 0x47, 0x54, 0x36, 0x32, 0x30, 0x37, 0x39, 0x37,
- 0x32, 0x31, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04,
- 0x0b, 0x13, 0x28, 0x53, 0x65, 0x65, 0x20, 0x77, 0x77, 0x77,
- 0x2e, 0x72, 0x61, 0x70, 0x69, 0x64, 0x73, 0x73, 0x6c, 0x2e,
- 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x73, 0x2f, 0x63, 0x70, 0x73, 0x20, 0x28, 0x63,
- 0x29, 0x31, 0x33, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x13, 0x26, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
- 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x56,
- 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d,
- 0x20, 0x52, 0x61, 0x70, 0x69, 0x64, 0x53, 0x53, 0x4c, 0x28,
- 0x52, 0x29, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x0b, 0x2a, 0x2e, 0x76, 0x75, 0x6c, 0x74, 0x72,
- 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82,
- 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x9f, 0xa8, 0x2e,
- 0x65, 0x41, 0x05, 0xec, 0xef, 0x69, 0x92, 0xf6, 0xd3, 0x53,
- 0x4f, 0xd4, 0x8e, 0xd3, 0x49, 0x8c, 0xc7, 0x85, 0x6d, 0xb0,
- 0x71, 0xe0, 0x28, 0x04, 0x80, 0x85, 0x82, 0x3e, 0x3f, 0xdb,
- 0x0c, 0xed, 0xcd, 0x2b, 0x04, 0xc8, 0x67, 0x15, 0x8c, 0x25,
- 0xd6, 0x7a, 0x54, 0x67, 0x94, 0xbe, 0x33, 0x12, 0x33, 0x88,
- 0xfe, 0x5d, 0x1d, 0x36, 0x62, 0x4e, 0xbc, 0x1e, 0x7e, 0xd3,
- 0x3e, 0x7c, 0x3c, 0x59, 0x4a, 0x99, 0x0b, 0xca, 0x9b, 0x1e,
- 0xc7, 0xf7, 0xe7, 0x6d, 0xdc, 0x57, 0xbe, 0x3a, 0xab, 0xc2,
- 0x0b, 0xb1, 0xbe, 0x90, 0xa1, 0x54, 0x07, 0xc5, 0x48, 0x65,
- 0xc1, 0x32, 0x99, 0x92, 0x26, 0x97, 0x90, 0x3e, 0x68, 0x6b,
- 0xac, 0xbd, 0x4f, 0x0e, 0x88, 0x38, 0xd3, 0xdc, 0x80, 0x9e,
- 0xb9, 0x66, 0x5d, 0xeb, 0x19, 0xfd, 0x85, 0xff, 0xba, 0xf0,
- 0x89, 0x20, 0x08, 0xea, 0xd8, 0x01, 0x76, 0x29, 0xdc, 0xf0,
- 0x1c, 0xfa, 0xbf, 0x6f, 0x7b, 0x67, 0xf4, 0xc4, 0xee, 0xe3,
- 0xde, 0x95, 0xa2, 0x76, 0x65, 0x98, 0xc5, 0x21, 0xdc, 0xe9,
- 0x95, 0xee, 0x83, 0x97, 0xae, 0xdd, 0xab, 0xdb, 0xc0, 0x47,
- 0xc8, 0x68, 0x00, 0xb3, 0xab, 0x11, 0x4f, 0x81, 0xf5, 0x45,
- 0x01, 0xd1, 0x64, 0xfd, 0x53, 0xbf, 0x86, 0xef, 0x87, 0xca,
- 0x8e, 0x55, 0xa0, 0x27, 0x27, 0xe5, 0x9e, 0xc1, 0x69, 0x28,
- 0x2a, 0x9f, 0x2d, 0xe2, 0x2c, 0x25, 0xef, 0x74, 0x1b, 0x52,
- 0xe4, 0x81, 0xf4, 0xc2, 0x71, 0x0a, 0x48, 0xff, 0x47, 0xa5,
- 0xea, 0x0a, 0xf5, 0xb1, 0x6d, 0xae, 0x09, 0x2b, 0xf9, 0x23,
- 0x6a, 0x28, 0x58, 0x3d, 0xbb, 0x9f, 0x80, 0xb2, 0x81, 0x03,
- 0xae, 0xe5, 0xea, 0xbe, 0x97, 0xae, 0xec, 0x3c, 0x33, 0xc7,
- 0x68, 0xf0, 0x6c, 0x89, 0x9d, 0x01, 0x2a, 0x1e, 0x2b, 0xd7,
- 0x93, 0x5a, 0xa9, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82,
- 0x01, 0x52, 0x30, 0x82, 0x01, 0x4e, 0x30, 0x1f, 0x06, 0x03,
- 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc3,
- 0x9c, 0xf3, 0xfc, 0xd3, 0x46, 0x08, 0x34, 0xbb, 0xce, 0x46,
- 0x7f, 0xa0, 0x7c, 0x5b, 0xf3, 0xe2, 0x08, 0xcb, 0x59, 0x30,
- 0x57, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01,
- 0x01, 0x04, 0x4b, 0x30, 0x49, 0x30, 0x1f, 0x06, 0x08, 0x2b,
- 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x13, 0x68,
- 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x76, 0x2e, 0x73,
- 0x79, 0x6d, 0x63, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x26,
- 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02,
- 0x86, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67,
- 0x76, 0x2e, 0x73, 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f,
- 0x6d, 0x2f, 0x67, 0x76, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0e,
- 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04,
- 0x03, 0x02, 0x05, 0xa0, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
- 0x25, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x03, 0x01, 0x06, 0x08, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x03, 0x02, 0x30, 0x21, 0x06, 0x03, 0x55,
- 0x1d, 0x11, 0x04, 0x1a, 0x30, 0x18, 0x82, 0x0b, 0x2a, 0x2e,
- 0x76, 0x75, 0x6c, 0x74, 0x72, 0x2e, 0x63, 0x6f, 0x6d, 0x82,
- 0x09, 0x76, 0x75, 0x6c, 0x74, 0x72, 0x2e, 0x63, 0x6f, 0x6d,
- 0x30, 0x2b, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x24, 0x30,
- 0x22, 0x30, 0x20, 0xa0, 0x1e, 0xa0, 0x1c, 0x86, 0x1a, 0x68,
- 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x67, 0x76, 0x2e, 0x73,
- 0x79, 0x6d, 0x63, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67,
- 0x76, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x0c, 0x06, 0x03, 0x55,
- 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30,
- 0x45, 0x06, 0x03, 0x55, 0x1d, 0x20, 0x04, 0x3e, 0x30, 0x3c,
- 0x30, 0x3a, 0x06, 0x0a, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8,
- 0x45, 0x01, 0x07, 0x36, 0x30, 0x2c, 0x30, 0x2a, 0x06, 0x08,
- 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01, 0x16, 0x1e,
- 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
- 0x77, 0x2e, 0x72, 0x61, 0x70, 0x69, 0x64, 0x73, 0x73, 0x6c,
- 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x6c,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00,
- 0x93, 0x63, 0x02, 0x6a, 0xa1, 0x2a, 0xf3, 0xbe, 0x64, 0x2b,
- 0x36, 0xaf, 0x66, 0x16, 0x49, 0x29, 0x56, 0x6c, 0xc7, 0x75,
- 0x74, 0xf3, 0x69, 0xd8, 0x85, 0xce, 0x50, 0x3b, 0x43, 0x89,
- 0xaf, 0x74, 0x99, 0x26, 0x34, 0xa4, 0x27, 0xa8, 0xfa, 0xfe,
- 0x45, 0xaf, 0xbe, 0x75, 0x22, 0x3d, 0x15, 0xca, 0xa6, 0x38,
- 0xc9, 0x2b, 0x3c, 0xf4, 0x11, 0x9f, 0x96, 0xa7, 0x69, 0x3e,
- 0xf8, 0xf0, 0x88, 0xd8, 0xd2, 0x9c, 0x1c, 0x0e, 0x4c, 0xfd,
- 0xf3, 0x3b, 0x48, 0x25, 0x68, 0xb3, 0x8d, 0x7e, 0x26, 0x73,
- 0x73, 0xcb, 0x3a, 0x41, 0x92, 0x16, 0x55, 0xe1, 0xff, 0x00,
- 0x07, 0xa2, 0xfe, 0xfe, 0x25, 0xfc, 0x86, 0x0f, 0x49, 0xff,
- 0x96, 0x78, 0x02, 0x65, 0xd7, 0xad, 0xcd, 0x0c, 0x82, 0x35,
- 0x56, 0xfe, 0x12, 0x25, 0xa9, 0x8f, 0xc2, 0xa4, 0xe9, 0x43,
- 0xbb, 0x85, 0x62, 0x21, 0x62, 0x5d, 0x70, 0x76, 0x79, 0x75,
- 0xeb, 0xd6, 0x82, 0x53, 0x0d, 0xde, 0x77, 0x95, 0x56, 0x87,
- 0x44, 0x13, 0x82, 0x7d, 0xa9, 0x9a, 0x94, 0x7e, 0x1c, 0x6d,
- 0x7f, 0x72, 0xef, 0x04, 0x84, 0xdf, 0x65, 0x98, 0x17, 0xb4,
- 0xbe, 0xfe, 0x30, 0x0f, 0xfa, 0x8d, 0x9f, 0x29, 0x1d, 0xbd,
- 0x99, 0xa7, 0xe3, 0x09, 0x1d, 0x13, 0x21, 0xfd, 0x9e, 0x03,
- 0x17, 0xb9, 0x9e, 0x48, 0x35, 0x66, 0xe5, 0x86, 0x0a, 0x0f,
- 0x04, 0xfd, 0xcd, 0x3b, 0x13, 0x59, 0xd6, 0x0c, 0x05, 0x8c,
- 0xd2, 0x6b, 0x5c, 0x45, 0x33, 0x43, 0x91, 0xac, 0xb8, 0xdd,
- 0xe3, 0xbe, 0xdf, 0x7b, 0x5c, 0x94, 0xa9, 0xfd, 0xc0, 0xf8,
- 0xa9, 0xd2, 0x82, 0xcd, 0xbf, 0x60, 0xd7, 0xf8, 0x3d, 0x53,
- 0xf7, 0x6a, 0xdc, 0x46, 0xc4, 0x22, 0x84, 0x98, 0x6a, 0x32,
- 0xf2, 0xdf, 0x43, 0xd9, 0x5a, 0xdb, 0x97, 0x20, 0x05, 0x0b,
- 0x3e, 0x06, 0x38, 0x13, 0x3a, 0x21 ),
- FINGERPRINT ( 0x2c, 0x58, 0x63, 0x6e, 0xf1, 0xab, 0x8f, 0xff,
- 0x86, 0x5d, 0x4f, 0x8d, 0x3f, 0xa9, 0x4d, 0x63,
- 0xe7, 0xe6, 0xc6, 0x03, 0x1e, 0xc9, 0x0e, 0xfb,
- 0xe8, 0xaa, 0xa6, 0xf4, 0x6f, 0x21, 0xc7, 0x7b ) );
-
-OCSP ( barclays_ocsp, &barclays_crt, &verisign_crt,
- DATA ( 0x30, 0x51, 0x30, 0x4f, 0x30, 0x4d, 0x30, 0x4b, 0x30, 0x49,
- 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05,
- 0x00, 0x04, 0x14, 0xd4, 0xb4, 0x3b, 0x8e, 0x3d, 0x02, 0x49,
- 0x1a, 0x65, 0x50, 0x6f, 0x96, 0x73, 0x14, 0xdd, 0xe8, 0x59,
- 0x44, 0x52, 0xe4, 0x04, 0x14, 0xd7, 0x9b, 0x7c, 0xd8, 0x22,
- 0xa0, 0x15, 0xf7, 0xdd, 0xad, 0x5f, 0xce, 0x29, 0x9b, 0x58,
- 0xc3, 0xbc, 0x46, 0x00, 0xb5, 0x02, 0x10, 0x49, 0x83, 0xfc,
- 0x05, 0x76, 0xdf, 0x36, 0x91, 0x7c, 0x64, 0x2a, 0x27, 0xc1,
- 0xf1, 0x48, 0xe3 ),
- DATA ( 0x30, 0x82, 0x06, 0x4d, 0x0a, 0x01, 0x00, 0xa0, 0x82, 0x06,
- 0x46, 0x30, 0x82, 0x06, 0x42, 0x06, 0x09, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x30, 0x01, 0x01, 0x04, 0x82, 0x06, 0x33,
- 0x30, 0x82, 0x06, 0x2f, 0x30, 0x82, 0x01, 0x1f, 0xa0, 0x03,
- 0x02, 0x01, 0x00, 0xa1, 0x81, 0x91, 0x30, 0x81, 0x8e, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x13, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67,
- 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30,
- 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, 0x65,
- 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75,
- 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
- 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
- 0x3c, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20,
- 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x49, 0x6e,
- 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61,
- 0x6c, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x43,
- 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x20, 0x4f, 0x43, 0x53,
- 0x50, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65,
- 0x72, 0x18, 0x0f, 0x32, 0x30, 0x31, 0x32, 0x30, 0x35, 0x31,
- 0x34, 0x31, 0x34, 0x30, 0x31, 0x34, 0x31, 0x5a, 0x30, 0x73,
- 0x30, 0x71, 0x30, 0x49, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e,
- 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14, 0xd4, 0xb4, 0x3b,
- 0x8e, 0x3d, 0x02, 0x49, 0x1a, 0x65, 0x50, 0x6f, 0x96, 0x73,
- 0x14, 0xdd, 0xe8, 0x59, 0x44, 0x52, 0xe4, 0x04, 0x14, 0xd7,
- 0x9b, 0x7c, 0xd8, 0x22, 0xa0, 0x15, 0xf7, 0xdd, 0xad, 0x5f,
- 0xce, 0x29, 0x9b, 0x58, 0xc3, 0xbc, 0x46, 0x00, 0xb5, 0x02,
- 0x10, 0x49, 0x83, 0xfc, 0x05, 0x76, 0xdf, 0x36, 0x91, 0x7c,
- 0x64, 0x2a, 0x27, 0xc1, 0xf1, 0x48, 0xe3, 0x80, 0x00, 0x18,
- 0x0f, 0x32, 0x30, 0x31, 0x32, 0x30, 0x35, 0x31, 0x34, 0x31,
- 0x34, 0x30, 0x31, 0x34, 0x31, 0x5a, 0xa0, 0x11, 0x18, 0x0f,
- 0x32, 0x30, 0x31, 0x32, 0x30, 0x35, 0x32, 0x31, 0x31, 0x34,
- 0x30, 0x31, 0x34, 0x31, 0x5a, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
- 0x03, 0x81, 0x81, 0x00, 0x78, 0xa8, 0xe7, 0xdc, 0xaf, 0xf2,
- 0x8b, 0xc2, 0x9f, 0x99, 0xf9, 0x44, 0x84, 0xa8, 0x8a, 0x2c,
- 0x35, 0xd7, 0x91, 0xd8, 0x44, 0x3e, 0xd6, 0xe0, 0xc6, 0x3f,
- 0xbf, 0xe3, 0x71, 0x22, 0x45, 0x5a, 0x73, 0xf4, 0x59, 0x1b,
- 0x4c, 0xa5, 0x51, 0x21, 0x5c, 0xfa, 0xbe, 0x10, 0xcb, 0x5f,
- 0xb0, 0x2f, 0xef, 0x22, 0x89, 0xf6, 0xc7, 0x0f, 0x7c, 0x6d,
- 0x26, 0xbe, 0x83, 0x99, 0xe2, 0x02, 0xf5, 0x95, 0x6e, 0xca,
- 0xd9, 0x6d, 0xdd, 0xc2, 0xf0, 0xf2, 0x4f, 0x99, 0x66, 0x93,
- 0x6e, 0x2e, 0xcf, 0xc5, 0xab, 0x68, 0x5f, 0xde, 0x52, 0x3d,
- 0xf2, 0x23, 0x9d, 0xe8, 0x99, 0xd5, 0xf4, 0x4f, 0x8a, 0xf3,
- 0xfd, 0x99, 0xa3, 0xe3, 0x12, 0x56, 0xd1, 0x54, 0xf1, 0xe1,
- 0x24, 0xa0, 0xce, 0xeb, 0x80, 0xb6, 0xde, 0x44, 0xa8, 0xef,
- 0xb1, 0xfc, 0x9c, 0x76, 0xbb, 0x1f, 0x17, 0x40, 0xbe, 0x2a,
- 0xc8, 0x12, 0xa0, 0x82, 0x04, 0x75, 0x30, 0x82, 0x04, 0x71,
- 0x30, 0x82, 0x04, 0x6d, 0x30, 0x82, 0x03, 0x55, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x10, 0x68, 0x8e, 0x69, 0x1f, 0x05,
- 0x02, 0x11, 0x40, 0x45, 0x8e, 0xf0, 0x39, 0x24, 0x07, 0xcf,
- 0xd6, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0xbc, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x13, 0x0e, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67,
- 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x1f, 0x30,
- 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x16, 0x56, 0x65,
- 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x54, 0x72, 0x75,
- 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
- 0x31, 0x3b, 0x30, 0x39, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13,
- 0x32, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20,
- 0x75, 0x73, 0x65, 0x20, 0x61, 0x74, 0x20, 0x68, 0x74, 0x74,
- 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x76,
- 0x65, 0x72, 0x69, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x63, 0x6f,
- 0x6d, 0x2f, 0x72, 0x70, 0x61, 0x20, 0x28, 0x63, 0x29, 0x31,
- 0x30, 0x31, 0x36, 0x30, 0x34, 0x06, 0x03, 0x55, 0x04, 0x03,
- 0x13, 0x2d, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e,
- 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33, 0x20, 0x49,
- 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x61, 0x6c, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20,
- 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x30, 0x1e, 0x17,
- 0x0d, 0x31, 0x32, 0x30, 0x33, 0x31, 0x33, 0x30, 0x30, 0x30,
- 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x36,
- 0x31, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30,
- 0x81, 0x8e, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04,
- 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x17, 0x30, 0x15, 0x06,
- 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56, 0x65, 0x72, 0x69,
- 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e,
- 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13,
- 0x16, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20,
- 0x54, 0x72, 0x75, 0x73, 0x74, 0x20, 0x4e, 0x65, 0x74, 0x77,
- 0x6f, 0x72, 0x6b, 0x31, 0x45, 0x30, 0x43, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x13, 0x3c, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69,
- 0x67, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x33,
- 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65,
- 0x72, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x20,
- 0x4f, 0x43, 0x53, 0x50, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x64, 0x65, 0x72, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02,
- 0x81, 0x81, 0x00, 0xa4, 0x3c, 0x3c, 0x43, 0xd3, 0x33, 0x14,
- 0x0a, 0xb4, 0x5e, 0x25, 0x03, 0x6d, 0x60, 0x6c, 0x2f, 0xc9,
- 0x33, 0x11, 0xe6, 0x79, 0xd9, 0x8c, 0x4a, 0x05, 0x60, 0xad,
- 0x16, 0x8b, 0x23, 0x67, 0x8b, 0x1a, 0xaf, 0x84, 0xc3, 0xbb,
- 0x6b, 0xcf, 0x9e, 0xf7, 0x65, 0x6d, 0x04, 0x97, 0xca, 0x12,
- 0x96, 0x0b, 0x30, 0x7f, 0x0d, 0x6e, 0x7f, 0x81, 0x49, 0x53,
- 0xf3, 0xcb, 0x5c, 0x00, 0xd8, 0x6d, 0xf9, 0x03, 0xf4, 0x23,
- 0xd6, 0xd2, 0x9e, 0x8c, 0xca, 0x41, 0xfd, 0xa1, 0x02, 0x20,
- 0xc8, 0x70, 0xb0, 0xfb, 0xaa, 0x1b, 0x33, 0x1e, 0x64, 0x30,
- 0x70, 0x36, 0xed, 0x7b, 0xac, 0xe8, 0x64, 0xd9, 0x79, 0xa8,
- 0x48, 0x20, 0x02, 0xdd, 0x8c, 0x02, 0x6f, 0x87, 0x2f, 0xad,
- 0x29, 0x99, 0x8e, 0x15, 0x2c, 0xd1, 0xe0, 0x64, 0x82, 0x24,
- 0x77, 0x31, 0xee, 0xb8, 0x68, 0xd1, 0x02, 0x32, 0xfb, 0xf0,
- 0xcd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x19,
- 0x30, 0x82, 0x01, 0x15, 0x30, 0x09, 0x06, 0x03, 0x55, 0x1d,
- 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x81, 0xac, 0x06, 0x03,
- 0x55, 0x1d, 0x20, 0x04, 0x81, 0xa4, 0x30, 0x81, 0xa1, 0x30,
- 0x81, 0x9e, 0x06, 0x0b, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8,
- 0x45, 0x01, 0x07, 0x17, 0x03, 0x30, 0x81, 0x8e, 0x30, 0x28,
- 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, 0x01,
- 0x16, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f,
- 0x77, 0x77, 0x77, 0x2e, 0x76, 0x65, 0x72, 0x69, 0x73, 0x69,
- 0x67, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x50, 0x53,
- 0x30, 0x62, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
- 0x02, 0x02, 0x30, 0x56, 0x30, 0x15, 0x16, 0x0e, 0x56, 0x65,
- 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e,
- 0x63, 0x2e, 0x30, 0x03, 0x02, 0x01, 0x01, 0x1a, 0x3d, 0x56,
- 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x27, 0x73, 0x20,
- 0x43, 0x50, 0x53, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x72, 0x70,
- 0x2e, 0x20, 0x62, 0x79, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72,
- 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6c, 0x69, 0x61, 0x62, 0x2e,
- 0x20, 0x6c, 0x74, 0x64, 0x2e, 0x20, 0x28, 0x63, 0x29, 0x39,
- 0x37, 0x20, 0x56, 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e,
- 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x0c, 0x30,
- 0x0a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03,
- 0x09, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04,
- 0x03, 0x02, 0x07, 0x80, 0x30, 0x0f, 0x06, 0x09, 0x2b, 0x06,
- 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x05, 0x04, 0x02, 0x05,
- 0x00, 0x30, 0x26, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x1f,
- 0x30, 0x1d, 0xa4, 0x1b, 0x30, 0x19, 0x31, 0x17, 0x30, 0x15,
- 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0e, 0x4f, 0x43, 0x53,
- 0x50, 0x38, 0x2d, 0x54, 0x47, 0x56, 0x37, 0x2d, 0x32, 0x38,
- 0x35, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01,
- 0x00, 0x3b, 0xce, 0xd6, 0xa6, 0x61, 0x41, 0x3d, 0xb2, 0xc4,
- 0x75, 0x00, 0x45, 0xf9, 0x3c, 0x2f, 0x2e, 0x4a, 0x8b, 0xfb,
- 0x9c, 0xff, 0x15, 0xcb, 0x28, 0x65, 0xde, 0xc6, 0x97, 0xd8,
- 0x85, 0x32, 0xa2, 0xfe, 0x74, 0x2d, 0xed, 0x34, 0xf8, 0x3c,
- 0x15, 0xac, 0xfe, 0x72, 0x7f, 0x8c, 0x0e, 0x24, 0xdd, 0xb2,
- 0x80, 0x55, 0xbd, 0x10, 0x0d, 0xa8, 0xb6, 0xf3, 0xe0, 0x98,
- 0x8f, 0x24, 0x0b, 0xa0, 0x9d, 0x2c, 0x05, 0x20, 0x13, 0x4d,
- 0x0b, 0x15, 0x2d, 0x1a, 0x02, 0x76, 0x0a, 0x5a, 0xb2, 0xb9,
- 0xce, 0x6f, 0xb8, 0xc1, 0xec, 0xc4, 0xde, 0x46, 0xe4, 0xec,
- 0x32, 0x05, 0x2d, 0xca, 0xb1, 0x4c, 0x59, 0x41, 0x13, 0x47,
- 0x44, 0x9a, 0x55, 0x20, 0x26, 0xcc, 0x0d, 0x66, 0xb2, 0xd1,
- 0x76, 0x87, 0x74, 0x73, 0xea, 0x5e, 0xe9, 0x49, 0xaf, 0x57,
- 0x9c, 0xa6, 0x3d, 0xe5, 0x2c, 0x28, 0x21, 0xe5, 0x0a, 0x80,
- 0xae, 0x99, 0x44, 0xe9, 0x83, 0x78, 0x7e, 0x24, 0xb5, 0xfa,
- 0x50, 0x9d, 0x32, 0x55, 0x70, 0x73, 0xaf, 0x10, 0x92, 0xd3,
- 0x14, 0xd3, 0x69, 0xfa, 0xa6, 0x81, 0x5c, 0xba, 0x9d, 0x18,
- 0x25, 0xda, 0x78, 0x47, 0x33, 0x83, 0xd1, 0xc3, 0x96, 0x12,
- 0x6f, 0x8b, 0xc9, 0x98, 0x32, 0x79, 0x59, 0x76, 0xcb, 0x56,
- 0x7f, 0x5e, 0x6d, 0x1e, 0x78, 0xb2, 0xd0, 0x39, 0x3c, 0x41,
- 0xd7, 0xab, 0x77, 0x2a, 0x0e, 0xbb, 0xc8, 0x69, 0xae, 0xfd,
- 0x9c, 0x20, 0x11, 0xba, 0x0a, 0x5d, 0x00, 0x58, 0xf8, 0x74,
- 0xb0, 0x77, 0x36, 0x9b, 0x8e, 0xd5, 0x4d, 0x85, 0xb1, 0xbb,
- 0xcd, 0xcb, 0x1d, 0xee, 0x08, 0xb9, 0x53, 0x9a, 0x5f, 0xe3,
- 0x88, 0xb1, 0x1a, 0xc3, 0x41, 0x41, 0x3e, 0x06, 0xf7, 0x70,
- 0x58, 0xe8, 0x22, 0x22, 0xd7, 0x0e, 0xbb, 0x88, 0xce, 0x73,
- 0x0e, 0xd0, 0x04, 0x81, 0x50, 0xd2, 0x33 ) );
-
-OCSP ( google_ocsp, &google_crt, &thawte_crt,
- DATA ( 0x30, 0x51, 0x30, 0x4f, 0x30, 0x4d, 0x30, 0x4b, 0x30, 0x49,
- 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05,
- 0x00, 0x04, 0x14, 0x1e, 0x92, 0x09, 0xaa, 0x71, 0x3c, 0x79,
- 0x4b, 0xca, 0x1e, 0x93, 0x1a, 0x0a, 0x61, 0xad, 0x3f, 0xd0,
- 0xba, 0x60, 0x83, 0x04, 0x14, 0x3b, 0x34, 0x9a, 0x70, 0x91,
- 0x73, 0xb2, 0x8a, 0x1b, 0x0c, 0xf4, 0xe9, 0x37, 0xcd, 0xb3,
- 0x70, 0x32, 0x9e, 0x18, 0x54, 0x02, 0x10, 0x4f, 0x9d, 0x96,
- 0xd9, 0x66, 0xb0, 0x99, 0x2b, 0x54, 0xc2, 0x95, 0x7c, 0xb4,
- 0x15, 0x7d, 0x4d ),
- DATA ( 0x30, 0x82, 0x04, 0x38, 0x0a, 0x01, 0x00, 0xa0, 0x82, 0x04,
- 0x31, 0x30, 0x82, 0x04, 0x2d, 0x06, 0x09, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x30, 0x01, 0x01, 0x04, 0x82, 0x04, 0x1e,
- 0x30, 0x82, 0x04, 0x1a, 0x30, 0x81, 0xe7, 0xa0, 0x03, 0x02,
- 0x01, 0x00, 0xa1, 0x5a, 0x30, 0x58, 0x31, 0x0b, 0x30, 0x09,
- 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x5a, 0x41, 0x31,
- 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x1c,
- 0x54, 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x43, 0x6f, 0x6e,
- 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x28, 0x50,
- 0x74, 0x79, 0x29, 0x20, 0x4c, 0x74, 0x64, 0x2e, 0x31, 0x22,
- 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x19, 0x54,
- 0x68, 0x61, 0x77, 0x74, 0x65, 0x20, 0x53, 0x47, 0x43, 0x20,
- 0x4f, 0x43, 0x53, 0x50, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x64, 0x65, 0x72, 0x18, 0x0f, 0x32, 0x30, 0x31, 0x32,
- 0x30, 0x35, 0x31, 0x32, 0x31, 0x39, 0x33, 0x31, 0x34, 0x33,
- 0x5a, 0x30, 0x73, 0x30, 0x71, 0x30, 0x49, 0x30, 0x09, 0x06,
- 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14,
- 0x1e, 0x92, 0x09, 0xaa, 0x71, 0x3c, 0x79, 0x4b, 0xca, 0x1e,
- 0x93, 0x1a, 0x0a, 0x61, 0xad, 0x3f, 0xd0, 0xba, 0x60, 0x83,
- 0x04, 0x14, 0x3b, 0x34, 0x9a, 0x70, 0x91, 0x73, 0xb2, 0x8a,
- 0x1b, 0x0c, 0xf4, 0xe9, 0x37, 0xcd, 0xb3, 0x70, 0x32, 0x9e,
- 0x18, 0x54, 0x02, 0x10, 0x4f, 0x9d, 0x96, 0xd9, 0x66, 0xb0,
- 0x99, 0x2b, 0x54, 0xc2, 0x95, 0x7c, 0xb4, 0x15, 0x7d, 0x4d,
- 0x80, 0x00, 0x18, 0x0f, 0x32, 0x30, 0x31, 0x32, 0x30, 0x35,
- 0x31, 0x32, 0x31, 0x39, 0x33, 0x31, 0x34, 0x33, 0x5a, 0xa0,
- 0x11, 0x18, 0x0f, 0x32, 0x30, 0x31, 0x32, 0x30, 0x35, 0x31,
- 0x39, 0x31, 0x39, 0x33, 0x31, 0x34, 0x33, 0x5a, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x57, 0xf9, 0xf8,
- 0x26, 0x0f, 0xda, 0x0c, 0xc2, 0xf0, 0xe4, 0x80, 0xd0, 0x29,
- 0xd6, 0x04, 0x77, 0xab, 0x0c, 0xf6, 0x7e, 0x77, 0xc9, 0xac,
- 0x53, 0xa4, 0x4d, 0x6b, 0x75, 0x58, 0xb9, 0xc7, 0x7a, 0x9a,
- 0x39, 0x5d, 0x4c, 0xfd, 0x15, 0x1b, 0x47, 0x55, 0x8e, 0x39,
- 0x05, 0x2b, 0x06, 0x2f, 0x3e, 0x1d, 0x3a, 0x7c, 0x2c, 0xf4,
- 0x4c, 0x70, 0x6a, 0x58, 0x7a, 0x4b, 0x8f, 0x77, 0xaf, 0x9e,
- 0xcf, 0xc6, 0xb1, 0x66, 0x8d, 0xed, 0xbf, 0xc1, 0xd9, 0xe1,
- 0x78, 0x5a, 0x18, 0x61, 0xca, 0xa8, 0xf5, 0x2b, 0xe3, 0x9b,
- 0x50, 0x25, 0x60, 0x7d, 0x8d, 0xd1, 0xe0, 0x76, 0xbb, 0x5c,
- 0x7b, 0xc1, 0x5d, 0xe1, 0x27, 0x3f, 0x7f, 0x9b, 0xb3, 0xb0,
- 0xb2, 0x79, 0x37, 0xd4, 0x53, 0x29, 0x62, 0x46, 0x8f, 0xe6,
- 0x34, 0x9e, 0xe5, 0x6e, 0x63, 0x5d, 0xcc, 0xb3, 0xb2, 0xe2,
- 0x73, 0x7e, 0xa6, 0xad, 0xa0, 0xa0, 0x82, 0x02, 0x99, 0x30,
- 0x82, 0x02, 0x95, 0x30, 0x82, 0x02, 0x91, 0x30, 0x82, 0x01,
- 0xfa, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x67, 0x4d,
- 0x9b, 0x61, 0x8f, 0x57, 0xcd, 0x51, 0xfb, 0x58, 0x07, 0x66,
- 0x1d, 0x24, 0xf5, 0xa5, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
- 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
- 0x4c, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
- 0x13, 0x02, 0x5a, 0x41, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03,
- 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x54, 0x68, 0x61, 0x77, 0x74,
- 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x69,
- 0x6e, 0x67, 0x20, 0x28, 0x50, 0x74, 0x79, 0x29, 0x20, 0x4c,
- 0x74, 0x64, 0x2e, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x13, 0x0d, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65,
- 0x20, 0x53, 0x47, 0x43, 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17,
- 0x0d, 0x31, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x30, 0x30,
- 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x36,
- 0x30, 0x32, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30,
- 0x58, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
- 0x13, 0x02, 0x5a, 0x41, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03,
- 0x55, 0x04, 0x0a, 0x13, 0x1c, 0x54, 0x68, 0x61, 0x77, 0x74,
- 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x74, 0x69,
- 0x6e, 0x67, 0x20, 0x28, 0x50, 0x74, 0x79, 0x29, 0x20, 0x4c,
- 0x74, 0x64, 0x2e, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55,
- 0x04, 0x03, 0x13, 0x19, 0x54, 0x68, 0x61, 0x77, 0x74, 0x65,
- 0x20, 0x53, 0x47, 0x43, 0x20, 0x4f, 0x43, 0x53, 0x50, 0x20,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x30,
- 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d,
- 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xc2, 0x21,
- 0x52, 0xe2, 0x10, 0x44, 0xe3, 0xc7, 0xe3, 0x72, 0x19, 0x01,
- 0xa8, 0x0c, 0x5a, 0x8b, 0x63, 0x0b, 0x30, 0x4c, 0x4f, 0xa2,
- 0xe2, 0xdf, 0x62, 0x2e, 0xdf, 0xe2, 0x77, 0xb9, 0x27, 0x3b,
- 0x8d, 0x45, 0xe2, 0xa1, 0x21, 0x95, 0x13, 0x5a, 0xf2, 0x7d,
- 0x58, 0x2c, 0x6d, 0x53, 0xb2, 0x42, 0x52, 0x8f, 0x8e, 0xf4,
- 0x17, 0xc5, 0xcb, 0xfa, 0x2f, 0x2d, 0x9b, 0x02, 0xd0, 0x1a,
- 0xf1, 0x32, 0xc5, 0xb9, 0xd3, 0x5a, 0xc0, 0xd6, 0x20, 0xb8,
- 0x3f, 0xa3, 0x93, 0x8b, 0xe5, 0x22, 0x91, 0x1a, 0x7e, 0x7c,
- 0x8b, 0x35, 0xeb, 0x94, 0xee, 0xe6, 0xcc, 0x58, 0xe4, 0x3c,
- 0xcd, 0x00, 0x86, 0xaa, 0xc3, 0x2e, 0x8b, 0xb4, 0x3c, 0x29,
- 0x11, 0x21, 0x5d, 0x71, 0x4a, 0xb6, 0x7a, 0x22, 0xa9, 0xf2,
- 0xf8, 0x90, 0xed, 0x5c, 0x73, 0x8c, 0xe0, 0x70, 0x56, 0xde,
- 0x70, 0xc5, 0x0d, 0x81, 0xb4, 0x5b, 0x02, 0x03, 0x01, 0x00,
- 0x01, 0xa3, 0x68, 0x30, 0x66, 0x30, 0x09, 0x06, 0x03, 0x55,
- 0x1d, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x13, 0x06, 0x03,
- 0x55, 0x1d, 0x25, 0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b,
- 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x09, 0x30, 0x0b, 0x06,
- 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80,
- 0x30, 0x0f, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
- 0x30, 0x01, 0x05, 0x04, 0x02, 0x05, 0x00, 0x30, 0x26, 0x06,
- 0x03, 0x55, 0x1d, 0x11, 0x04, 0x1f, 0x30, 0x1d, 0xa4, 0x1b,
- 0x30, 0x19, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x13, 0x0e, 0x4f, 0x43, 0x53, 0x50, 0x38, 0x2d, 0x54,
- 0x47, 0x56, 0x37, 0x2d, 0x32, 0x37, 0x35, 0x30, 0x0d, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05,
- 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x98, 0x50, 0x14, 0xbe,
- 0x31, 0x44, 0x01, 0x97, 0xee, 0x21, 0xf9, 0xcf, 0xa4, 0x32,
- 0xc2, 0x91, 0x6a, 0x4b, 0x02, 0x61, 0x62, 0xa9, 0xe4, 0xad,
- 0x8a, 0xac, 0xe4, 0x12, 0x12, 0xbe, 0x9b, 0xba, 0x4c, 0xe2,
- 0x92, 0xdb, 0x8b, 0x92, 0x11, 0xe6, 0x9e, 0x25, 0x2e, 0xd5,
- 0x4b, 0xe8, 0x5d, 0xc8, 0x63, 0xd2, 0xff, 0xfa, 0x80, 0x89,
- 0x83, 0x0f, 0xe4, 0xe2, 0x91, 0xcc, 0x0a, 0x85, 0x74, 0x38,
- 0xb7, 0xdf, 0xb9, 0x1c, 0xf6, 0x35, 0xfe, 0x6f, 0xf3, 0x29,
- 0xc0, 0xc5, 0x0a, 0x2c, 0x04, 0xd7, 0x69, 0xff, 0x02, 0x45,
- 0x1c, 0x29, 0x7a, 0x27, 0xf8, 0xb2, 0xe3, 0x58, 0x09, 0x34,
- 0xc4, 0xd7, 0x77, 0x74, 0xbd, 0xe4, 0x7c, 0xda, 0x99, 0x09,
- 0x83, 0x03, 0x6c, 0x36, 0x0d, 0xb2, 0x91, 0x71, 0x40, 0xc7,
- 0x97, 0x85, 0xfb, 0x2a, 0xa3, 0x92, 0x65, 0x0b, 0x02, 0x58,
- 0x14, 0x89, 0x8f, 0x3b ) );
-
-OCSP ( unauthorized_ocsp, &barclays_crt, &thawte_crt,
- DATA ( 0x30, 0x51, 0x30, 0x4f, 0x30, 0x4d, 0x30, 0x4b, 0x30, 0x49,
- 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05,
- 0x00, 0x04, 0x14, 0xd4, 0xb4, 0x3b, 0x8e, 0x3d, 0x02, 0x49,
- 0x1a, 0x65, 0x50, 0x6f, 0x96, 0x73, 0x14, 0xdd, 0xe8, 0x59,
- 0x44, 0x52, 0xe4, 0x04, 0x14, 0x3b, 0x34, 0x9a, 0x70, 0x91,
- 0x73, 0xb2, 0x8a, 0x1b, 0x0c, 0xf4, 0xe9, 0x37, 0xcd, 0xb3,
- 0x70, 0x32, 0x9e, 0x18, 0x54, 0x02, 0x10, 0x49, 0x83, 0xfc,
- 0x05, 0x76, 0xdf, 0x36, 0x91, 0x7c, 0x64, 0x2a, 0x27, 0xc1,
- 0xf1, 0x48, 0xe3 ),
- DATA ( 0x30, 0x03, 0x0a, 0x01, 0x06 ) );
-
-OCSP ( unknown_ocsp, &thawte_crt, &startssl_crt,
- DATA ( 0x30, 0x45, 0x30, 0x43, 0x30, 0x41, 0x30, 0x3f, 0x30, 0x3d,
- 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05,
- 0x00, 0x04, 0x14, 0x48, 0xb7, 0x64, 0x49, 0xf3, 0xd5, 0xfe,
- 0xfa, 0x11, 0x33, 0xaa, 0x80, 0x5e, 0x42, 0x0f, 0x0f, 0xca,
- 0x64, 0x36, 0x51, 0x04, 0x14, 0x11, 0xdb, 0x23, 0x45, 0xfd,
- 0x54, 0xcc, 0x6a, 0x71, 0x6f, 0x84, 0x8a, 0x03, 0xd7, 0xbe,
- 0xf7, 0x01, 0x2f, 0x26, 0x86, 0x02, 0x04, 0x30, 0x00, 0x00,
- 0x02 ),
- DATA ( 0x30, 0x82, 0x06, 0x46, 0x0a, 0x01, 0x00, 0xa0, 0x82, 0x06,
- 0x3f, 0x30, 0x82, 0x06, 0x3b, 0x06, 0x09, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x30, 0x01, 0x01, 0x04, 0x82, 0x06, 0x2c,
- 0x30, 0x82, 0x06, 0x28, 0x30, 0x81, 0xec, 0xa1, 0x70, 0x30,
- 0x6e, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
- 0x13, 0x02, 0x49, 0x4c, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03,
- 0x55, 0x04, 0x0a, 0x13, 0x28, 0x53, 0x74, 0x61, 0x72, 0x74,
- 0x43, 0x6f, 0x6d, 0x20, 0x4c, 0x74, 0x64, 0x2e, 0x20, 0x28,
- 0x53, 0x74, 0x61, 0x72, 0x74, 0x20, 0x43, 0x6f, 0x6d, 0x6d,
- 0x65, 0x72, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x4c, 0x69, 0x6d,
- 0x69, 0x74, 0x65, 0x64, 0x29, 0x31, 0x2c, 0x30, 0x2a, 0x06,
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x23, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73,
- 0x20, 0x32, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20,
- 0x4f, 0x43, 0x53, 0x50, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65,
- 0x72, 0x18, 0x0f, 0x32, 0x30, 0x31, 0x32, 0x30, 0x35, 0x31,
- 0x35, 0x31, 0x31, 0x35, 0x34, 0x30, 0x38, 0x5a, 0x30, 0x67,
- 0x30, 0x65, 0x30, 0x3d, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e,
- 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14, 0x48, 0xb7, 0x64,
- 0x49, 0xf3, 0xd5, 0xfe, 0xfa, 0x11, 0x33, 0xaa, 0x80, 0x5e,
- 0x42, 0x0f, 0x0f, 0xca, 0x64, 0x36, 0x51, 0x04, 0x14, 0x11,
- 0xdb, 0x23, 0x45, 0xfd, 0x54, 0xcc, 0x6a, 0x71, 0x6f, 0x84,
- 0x8a, 0x03, 0xd7, 0xbe, 0xf7, 0x01, 0x2f, 0x26, 0x86, 0x02,
- 0x04, 0x30, 0x00, 0x00, 0x02, 0x82, 0x00, 0x18, 0x0f, 0x32,
- 0x30, 0x31, 0x32, 0x30, 0x35, 0x31, 0x35, 0x31, 0x31, 0x35,
- 0x34, 0x30, 0x38, 0x5a, 0xa0, 0x11, 0x18, 0x0f, 0x32, 0x30,
- 0x31, 0x32, 0x30, 0x35, 0x31, 0x36, 0x31, 0x31, 0x35, 0x34,
- 0x30, 0x38, 0x5a, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
- 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82,
- 0x01, 0x01, 0x00, 0xbe, 0x1b, 0xa7, 0xa7, 0xba, 0x17, 0xd9,
- 0x94, 0x16, 0xdf, 0xd2, 0x86, 0x1e, 0x39, 0x38, 0x2f, 0x0e,
- 0x0e, 0xb0, 0x19, 0x74, 0x9d, 0x64, 0x61, 0xfb, 0x34, 0x15,
- 0x64, 0xe6, 0x7a, 0x44, 0xfc, 0x24, 0xaf, 0x63, 0xe3, 0xe5,
- 0x01, 0x3f, 0xeb, 0x62, 0xc4, 0x2f, 0xd7, 0x56, 0xac, 0x9e,
- 0x39, 0x8c, 0x54, 0x20, 0x24, 0x9f, 0xe0, 0x9a, 0x2c, 0x9a,
- 0xfb, 0xbe, 0x13, 0x8d, 0x18, 0xf1, 0x95, 0x37, 0xf7, 0x6a,
- 0x93, 0x28, 0x2a, 0xf6, 0x10, 0xc0, 0x5e, 0xa0, 0xfc, 0xf7,
- 0x66, 0x97, 0xe4, 0x76, 0x04, 0x90, 0xd3, 0x45, 0x59, 0x26,
- 0xfd, 0xe9, 0xb4, 0xe5, 0xd6, 0x30, 0x2f, 0xe0, 0xfb, 0xda,
- 0xcc, 0x4b, 0xc4, 0x11, 0xbf, 0x20, 0x50, 0x18, 0xd5, 0x18,
- 0xfc, 0xe7, 0x86, 0xb8, 0x80, 0x2b, 0x2e, 0x35, 0x50, 0xcd,
- 0x73, 0x0d, 0x70, 0xbe, 0x55, 0xa2, 0xef, 0x2c, 0x62, 0x96,
- 0xe3, 0x6a, 0xec, 0x69, 0xa6, 0x8f, 0x9d, 0x37, 0xb6, 0xbe,
- 0x6b, 0x72, 0x02, 0x99, 0x02, 0xea, 0x0b, 0x18, 0x01, 0x26,
- 0x82, 0x3b, 0x7b, 0x44, 0x8a, 0x84, 0xe4, 0x78, 0x6c, 0xb3,
- 0x5b, 0x83, 0x87, 0x7c, 0xab, 0x80, 0x17, 0xfd, 0x00, 0xfd,
- 0x56, 0x87, 0x85, 0x2b, 0x49, 0x42, 0xa2, 0x63, 0x84, 0x4f,
- 0x4a, 0xaa, 0x5e, 0x7d, 0x64, 0x29, 0x09, 0x81, 0xac, 0xea,
- 0x53, 0x00, 0x36, 0xbf, 0x19, 0x33, 0x5c, 0x0e, 0xee, 0xa9,
- 0x6a, 0x9e, 0x2e, 0x44, 0x9b, 0x3e, 0xc9, 0x27, 0xb7, 0x49,
- 0x15, 0x76, 0xa8, 0x42, 0x79, 0x2d, 0x4a, 0x42, 0x1f, 0xf1,
- 0x32, 0x35, 0x31, 0x4c, 0xcb, 0xa2, 0xee, 0x50, 0xae, 0x1f,
- 0x5e, 0x4d, 0x5d, 0xc1, 0x9e, 0x28, 0x17, 0x59, 0x6d, 0x1d,
- 0x2a, 0x0a, 0x3d, 0xeb, 0x88, 0x10, 0xb5, 0xe6, 0x3b, 0xa7,
- 0x81, 0x1f, 0xc7, 0xa0, 0xc8, 0x4a, 0xfe, 0x6c, 0x8f, 0xa0,
- 0x82, 0x04, 0x21, 0x30, 0x82, 0x04, 0x1d, 0x30, 0x82, 0x04,
- 0x19, 0x30, 0x82, 0x03, 0x01, 0xa0, 0x03, 0x02, 0x01, 0x02,
- 0x02, 0x03, 0x00, 0xca, 0x67, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
- 0x30, 0x81, 0x8c, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
- 0x04, 0x06, 0x13, 0x02, 0x49, 0x4c, 0x31, 0x16, 0x30, 0x14,
- 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x53, 0x74, 0x61,
- 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x4c, 0x74, 0x64, 0x2e,
- 0x31, 0x2b, 0x30, 0x29, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13,
- 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x44, 0x69,
- 0x67, 0x69, 0x74, 0x61, 0x6c, 0x20, 0x43, 0x65, 0x72, 0x74,
- 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x53, 0x69,
- 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x31, 0x38, 0x30, 0x36, 0x06,
- 0x03, 0x55, 0x04, 0x03, 0x13, 0x2f, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x43, 0x6f, 0x6d, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73,
- 0x20, 0x32, 0x20, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79,
- 0x20, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69,
- 0x61, 0x74, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
- 0x20, 0x43, 0x41, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30,
- 0x34, 0x32, 0x32, 0x30, 0x35, 0x33, 0x30, 0x35, 0x39, 0x5a,
- 0x17, 0x0d, 0x31, 0x32, 0x30, 0x36, 0x30, 0x32, 0x30, 0x36,
- 0x32, 0x39, 0x32, 0x37, 0x5a, 0x30, 0x6e, 0x31, 0x0b, 0x30,
- 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x49, 0x4c,
- 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,
- 0x28, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x20,
- 0x4c, 0x74, 0x64, 0x2e, 0x20, 0x28, 0x53, 0x74, 0x61, 0x72,
- 0x74, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x72, 0x63, 0x69,
- 0x61, 0x6c, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64,
- 0x29, 0x31, 0x2c, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x04, 0x03,
- 0x13, 0x23, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d,
- 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x32, 0x20, 0x53,
- 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x4f, 0x43, 0x53, 0x50,
- 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x30, 0x82, 0x01,
- 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f,
- 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00,
- 0xd0, 0xd5, 0xf5, 0x70, 0x9a, 0x2b, 0x41, 0x35, 0xf7, 0xf8,
- 0xcf, 0xb5, 0x6b, 0xb3, 0xdf, 0xe0, 0xb9, 0x12, 0x0d, 0x3d,
- 0xd3, 0x99, 0x9f, 0x32, 0x73, 0x01, 0x1f, 0xbc, 0x7d, 0x4f,
- 0x3e, 0x66, 0xf7, 0xfd, 0x60, 0x57, 0x92, 0x30, 0xb4, 0xdb,
- 0x9a, 0xf5, 0xd3, 0x49, 0x19, 0xd6, 0xad, 0x37, 0x43, 0x78,
- 0x69, 0x8c, 0x0d, 0x23, 0x0e, 0x7a, 0xd1, 0x65, 0x08, 0xeb,
- 0x71, 0x8c, 0x37, 0x36, 0xd3, 0x4d, 0xa6, 0xcb, 0x11, 0xb2,
- 0xfa, 0xb4, 0x38, 0x3e, 0x2b, 0x70, 0x8c, 0xf7, 0xf1, 0xd9,
- 0x64, 0x62, 0x26, 0xf4, 0xa7, 0x2c, 0x24, 0x25, 0x4e, 0x4d,
- 0x3e, 0x7a, 0x54, 0x57, 0x0f, 0xc1, 0x89, 0x9e, 0xb6, 0x55,
- 0x0b, 0x7c, 0xbe, 0x38, 0xda, 0x8b, 0x62, 0xe9, 0xf1, 0xfa,
- 0x8c, 0xd9, 0x32, 0x1f, 0xbe, 0x6d, 0x2e, 0x3d, 0x48, 0xa7,
- 0x4f, 0x48, 0xd4, 0xff, 0x6b, 0xf6, 0x17, 0xf8, 0x31, 0xb2,
- 0x37, 0xeb, 0x89, 0x71, 0x19, 0x0f, 0xe7, 0x86, 0x06, 0x66,
- 0xfb, 0xc5, 0xad, 0x7b, 0x75, 0x0b, 0xcc, 0x2e, 0x3c, 0x4d,
- 0x1c, 0x99, 0x40, 0x32, 0x72, 0xd4, 0x5c, 0xc9, 0x06, 0xaa,
- 0x98, 0xe9, 0x01, 0x92, 0xdb, 0x25, 0x48, 0x1a, 0xae, 0x3f,
- 0x01, 0x4d, 0x8a, 0xb0, 0x78, 0xb1, 0x28, 0xe0, 0x09, 0x9b,
- 0x23, 0xe2, 0x28, 0x46, 0x6f, 0x50, 0x52, 0x71, 0x1c, 0xf1,
- 0x09, 0xa0, 0x87, 0x3b, 0xdb, 0x84, 0xa3, 0xb1, 0x57, 0x6f,
- 0xbf, 0x52, 0xd2, 0x30, 0x83, 0x30, 0x26, 0xc0, 0x27, 0x8e,
- 0x6d, 0x03, 0x43, 0x14, 0x42, 0x31, 0x29, 0xf2, 0x7e, 0x52,
- 0xcb, 0x84, 0x20, 0x2e, 0x87, 0x19, 0xe5, 0x48, 0xad, 0x06,
- 0xce, 0x2e, 0x0f, 0xed, 0x78, 0x2a, 0x3d, 0x79, 0xc4, 0xb0,
- 0xdb, 0xfa, 0x4e, 0x95, 0x88, 0x46, 0x75, 0x12, 0xb0, 0x7a,
- 0x55, 0x6a, 0x38, 0xae, 0xea, 0x59, 0x02, 0x03, 0x01, 0x00,
- 0x01, 0xa3, 0x81, 0xa0, 0x30, 0x81, 0x9d, 0x30, 0x09, 0x06,
- 0x03, 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0b,
- 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x03,
- 0xa8, 0x30, 0x1e, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x17,
- 0x30, 0x15, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
- 0x03, 0x09, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
- 0x30, 0x01, 0x05, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
- 0x04, 0x16, 0x04, 0x14, 0xbd, 0x4c, 0xef, 0x0e, 0xf7, 0x08,
- 0xac, 0xc9, 0xbd, 0x39, 0x0f, 0xd9, 0xa0, 0xd3, 0xce, 0xcf,
- 0x26, 0x48, 0xb8, 0x19, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
- 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x11, 0xdb, 0x23,
- 0x45, 0xfd, 0x54, 0xcc, 0x6a, 0x71, 0x6f, 0x84, 0x8a, 0x03,
- 0xd7, 0xbe, 0xf7, 0x01, 0x2f, 0x26, 0x86, 0x30, 0x23, 0x06,
- 0x03, 0x55, 0x1d, 0x12, 0x04, 0x1c, 0x30, 0x1a, 0x86, 0x18,
- 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
- 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x73, 0x6c, 0x2e,
- 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
- 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03,
- 0x82, 0x01, 0x01, 0x00, 0x56, 0x1f, 0xef, 0xa5, 0x1a, 0x07,
- 0xbe, 0xb1, 0xd1, 0xd0, 0x17, 0xeb, 0x72, 0x5b, 0x17, 0x11,
- 0xe5, 0x96, 0xc3, 0x96, 0xe7, 0x9a, 0xdb, 0xbf, 0x64, 0x1c,
- 0x99, 0x11, 0x2f, 0x18, 0x07, 0xb2, 0x45, 0x48, 0xf3, 0x58,
- 0xcd, 0x38, 0x69, 0x33, 0xf4, 0x58, 0x5b, 0x16, 0xed, 0xfb,
- 0xce, 0xb3, 0xc3, 0x14, 0x27, 0xa6, 0x16, 0xff, 0xd0, 0x70,
- 0x9e, 0xe1, 0x9d, 0x4b, 0xd1, 0x26, 0x6c, 0x61, 0x25, 0xf1,
- 0x39, 0x9c, 0xbe, 0x69, 0x75, 0x58, 0xcd, 0xbd, 0x8e, 0x36,
- 0xfd, 0x46, 0xd1, 0xe3, 0xb9, 0x1a, 0x8a, 0xc1, 0xd7, 0x3e,
- 0x6e, 0x82, 0xb8, 0xb0, 0x3f, 0xcf, 0x14, 0x3f, 0xc6, 0xf6,
- 0x3a, 0x86, 0xce, 0x03, 0x76, 0x1f, 0xdb, 0x0b, 0x12, 0xac,
- 0x99, 0x79, 0x53, 0xf0, 0x3d, 0x70, 0xd3, 0x5a, 0x05, 0xf6,
- 0xba, 0x6e, 0x35, 0x31, 0x1e, 0x08, 0x30, 0xc1, 0xa4, 0xd4,
- 0x45, 0x43, 0x5a, 0x01, 0xd9, 0x3d, 0xa5, 0xdb, 0xd2, 0xd7,
- 0x73, 0x97, 0xe9, 0xab, 0xe4, 0x60, 0xf1, 0xfc, 0xf0, 0x9b,
- 0xe2, 0x5a, 0x1e, 0x31, 0xe0, 0x1b, 0x47, 0x3f, 0x5a, 0x78,
- 0xf3, 0x6e, 0xf0, 0x94, 0x6c, 0x2c, 0xfb, 0x67, 0x6e, 0xcb,
- 0x8c, 0xb6, 0x8d, 0xcc, 0xcf, 0x1e, 0x9f, 0xd2, 0x10, 0x52,
- 0xc2, 0xe7, 0xc8, 0x05, 0x2c, 0xa0, 0x18, 0xf5, 0x53, 0x4a,
- 0xd2, 0xb0, 0x57, 0x5e, 0x5f, 0x63, 0xd7, 0x7b, 0x8e, 0xfa,
- 0x22, 0xa0, 0x69, 0x17, 0xd2, 0xa0, 0xc7, 0x70, 0x01, 0x79,
- 0x8b, 0x69, 0x1f, 0x0f, 0xdb, 0xe5, 0xf9, 0x83, 0x2b, 0x26,
- 0x05, 0x05, 0x87, 0x80, 0x0d, 0xf9, 0x20, 0x0e, 0x16, 0x39,
- 0xc5, 0x9b, 0x14, 0x2e, 0xf2, 0x06, 0x57, 0x46, 0x3d, 0x0b,
- 0x8c, 0x3e, 0xb4, 0x66, 0x76, 0x67, 0x34, 0x70, 0x00, 0x63,
- 0xcf, 0x9e, 0xc8, 0xc5, 0x5f, 0x48, 0x06, 0x53, 0x26, 0x55 ) );
-
-OCSP ( vultr_ocsp, &vultr_crt, &rapidssl_crt,
- DATA ( 0x30, 0x44, 0x30, 0x42, 0x30, 0x40, 0x30, 0x3e, 0x30, 0x3c,
- 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05,
- 0x00, 0x04, 0x14, 0x40, 0x0b, 0x46, 0x7a, 0xf1, 0xe6, 0xb2,
- 0xd3, 0x09, 0x83, 0xba, 0x0d, 0x60, 0x7e, 0x7e, 0x59, 0x37,
- 0x48, 0x24, 0xc4, 0x04, 0x14, 0xc3, 0x9c, 0xf3, 0xfc, 0xd3,
- 0x46, 0x08, 0x34, 0xbb, 0xce, 0x46, 0x7f, 0xa0, 0x7c, 0x5b,
- 0xf3, 0xe2, 0x08, 0xcb, 0x59, 0x02, 0x03, 0x00, 0x95, 0x4d ),
- DATA ( 0x30, 0x82, 0x05, 0x70, 0x0a, 0x01, 0x00, 0xa0, 0x82, 0x05,
- 0x69, 0x30, 0x82, 0x05, 0x65, 0x06, 0x09, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x30, 0x01, 0x01, 0x04, 0x82, 0x05, 0x56,
- 0x30, 0x82, 0x05, 0x52, 0x30, 0x81, 0x91, 0xa2, 0x16, 0x04,
- 0x14, 0xfa, 0x58, 0xdb, 0x09, 0x53, 0xbc, 0x19, 0xc5, 0xe7,
- 0xb5, 0x8b, 0xf6, 0x10, 0xf8, 0x1e, 0x84, 0x6d, 0x3a, 0x8f,
- 0xd8, 0x18, 0x0f, 0x32, 0x30, 0x31, 0x34, 0x31, 0x31, 0x32,
- 0x32, 0x32, 0x33, 0x30, 0x38, 0x35, 0x36, 0x5a, 0x30, 0x66,
- 0x30, 0x64, 0x30, 0x3c, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e,
- 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14, 0x40, 0x0b, 0x46,
- 0x7a, 0xf1, 0xe6, 0xb2, 0xd3, 0x09, 0x83, 0xba, 0x0d, 0x60,
- 0x7e, 0x7e, 0x59, 0x37, 0x48, 0x24, 0xc4, 0x04, 0x14, 0xc3,
- 0x9c, 0xf3, 0xfc, 0xd3, 0x46, 0x08, 0x34, 0xbb, 0xce, 0x46,
- 0x7f, 0xa0, 0x7c, 0x5b, 0xf3, 0xe2, 0x08, 0xcb, 0x59, 0x02,
- 0x03, 0x00, 0x95, 0x4d, 0x80, 0x00, 0x18, 0x0f, 0x32, 0x30,
- 0x31, 0x34, 0x31, 0x31, 0x32, 0x32, 0x32, 0x33, 0x30, 0x38,
- 0x35, 0x36, 0x5a, 0xa0, 0x11, 0x18, 0x0f, 0x32, 0x30, 0x31,
- 0x34, 0x31, 0x31, 0x32, 0x39, 0x32, 0x33, 0x30, 0x38, 0x35,
- 0x36, 0x5a, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01,
- 0x01, 0x00, 0x6a, 0x71, 0x8f, 0x84, 0x66, 0xb5, 0x75, 0xe6,
- 0x97, 0xa4, 0xb9, 0xc6, 0xa0, 0x37, 0x6f, 0x23, 0x76, 0x3c,
- 0x59, 0x4c, 0x1c, 0x2d, 0x9f, 0x70, 0xab, 0x83, 0xbf, 0xa9,
- 0xbf, 0x79, 0x31, 0x69, 0xdd, 0x78, 0xd5, 0x59, 0x90, 0x68,
- 0xbe, 0x25, 0xb7, 0x53, 0x7d, 0x8b, 0xcf, 0x66, 0x3b, 0xcd,
- 0xe0, 0xd2, 0x40, 0x1d, 0xc8, 0x29, 0xe4, 0x37, 0xbf, 0x20,
- 0x7e, 0x64, 0x8d, 0x0d, 0xc7, 0xed, 0x0d, 0x08, 0x05, 0x36,
- 0x27, 0x4f, 0xb8, 0xe3, 0x19, 0xec, 0xf0, 0x96, 0xe8, 0x48,
- 0x9b, 0x8b, 0x2c, 0x18, 0xdb, 0x1e, 0x68, 0x11, 0xf3, 0xfb,
- 0x9c, 0x68, 0xad, 0xcc, 0x15, 0xe0, 0x25, 0x08, 0x98, 0xd2,
- 0xbf, 0xd0, 0x57, 0xe6, 0x4c, 0x73, 0x5a, 0x2c, 0xc8, 0x89,
- 0xd6, 0xe4, 0xd0, 0x47, 0x6d, 0x8c, 0xc7, 0x75, 0xb1, 0x4e,
- 0x10, 0x34, 0xe5, 0x40, 0xa3, 0xb1, 0x50, 0x07, 0x3d, 0x7d,
- 0xad, 0xeb, 0x1d, 0x91, 0x7f, 0x77, 0x2e, 0x0d, 0x9a, 0xa7,
- 0xbb, 0x68, 0x89, 0xd2, 0x05, 0x58, 0x16, 0xf1, 0x5e, 0x1d,
- 0x05, 0xf6, 0x9e, 0xe9, 0x89, 0x52, 0x35, 0xb7, 0x29, 0x7a,
- 0x68, 0x02, 0x6f, 0xc7, 0x20, 0x30, 0xc8, 0xde, 0x97, 0x3f,
- 0xb7, 0x28, 0x38, 0x39, 0xd1, 0x4b, 0x4b, 0x90, 0x71, 0xe5,
- 0x58, 0xa4, 0xa3, 0xbd, 0x78, 0x95, 0xb5, 0x54, 0xdd, 0xf7,
- 0x4f, 0x8e, 0x78, 0x73, 0x86, 0xbf, 0x28, 0xb0, 0xdd, 0xc0,
- 0xe9, 0x4a, 0xf5, 0x9f, 0x02, 0x8e, 0x63, 0x8f, 0x59, 0xf1,
- 0x93, 0xf0, 0x45, 0x97, 0x30, 0xdb, 0x0a, 0x04, 0x3e, 0x81,
- 0x99, 0x20, 0x7a, 0xb2, 0xe6, 0x8c, 0x8f, 0x2a, 0x4c, 0x31,
- 0xf1, 0x64, 0xbc, 0xb7, 0xec, 0xb1, 0xf9, 0x69, 0x1f, 0x99,
- 0x89, 0x3e, 0x3e, 0xa0, 0xf4, 0xde, 0x79, 0xa7, 0xae, 0xa3,
- 0x23, 0xbd, 0x16, 0xbb, 0x6d, 0x0f, 0x15, 0x68, 0xa0, 0x82,
- 0x03, 0xa6, 0x30, 0x82, 0x03, 0xa2, 0x30, 0x82, 0x03, 0x9e,
- 0x30, 0x82, 0x02, 0x86, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
- 0x01, 0x04, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x47, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x55, 0x53, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x13, 0x0d, 0x47, 0x65, 0x6f, 0x54, 0x72, 0x75, 0x73,
- 0x74, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x31, 0x20, 0x30, 0x1e,
- 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x17, 0x52, 0x61, 0x70,
- 0x69, 0x64, 0x53, 0x53, 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32,
- 0x35, 0x36, 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33,
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x30, 0x38, 0x32, 0x39,
- 0x32, 0x33, 0x33, 0x39, 0x33, 0x30, 0x5a, 0x17, 0x0d, 0x31,
- 0x35, 0x30, 0x35, 0x32, 0x32, 0x32, 0x33, 0x33, 0x39, 0x33,
- 0x30, 0x5a, 0x30, 0x31, 0x31, 0x2f, 0x30, 0x2d, 0x06, 0x03,
- 0x55, 0x04, 0x03, 0x13, 0x26, 0x52, 0x61, 0x70, 0x69, 0x64,
- 0x53, 0x53, 0x4c, 0x20, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36,
- 0x20, 0x43, 0x41, 0x20, 0x2d, 0x20, 0x47, 0x33, 0x20, 0x4f,
- 0x43, 0x53, 0x50, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x64, 0x65, 0x72, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
- 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01,
- 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0x9b, 0xf2, 0x8e, 0xe9,
- 0x57, 0x3e, 0xa8, 0x5c, 0xfd, 0x00, 0x14, 0x21, 0xe7, 0xe4,
- 0x57, 0xbb, 0x55, 0xc8, 0xa8, 0x50, 0x93, 0xdc, 0xbf, 0xfc,
- 0xde, 0x46, 0x8a, 0x53, 0x9f, 0x12, 0xaa, 0x7c, 0xf1, 0xdd,
- 0x89, 0x9e, 0x02, 0x27, 0x9c, 0x1a, 0xa0, 0x94, 0xf5, 0xec,
- 0x06, 0xa3, 0xdb, 0xf3, 0x3f, 0x6d, 0xfd, 0x30, 0x6d, 0xab,
- 0xcb, 0xc3, 0x72, 0xa9, 0x25, 0x35, 0x69, 0x67, 0x07, 0xaf,
- 0x9c, 0x91, 0x3a, 0x24, 0x03, 0x74, 0x59, 0xfd, 0x69, 0xa6,
- 0xfe, 0x23, 0xa4, 0x6c, 0x2f, 0xbe, 0x44, 0x56, 0x47, 0xee,
- 0xdb, 0x07, 0xc3, 0x72, 0x3f, 0x14, 0xdc, 0x16, 0xb9, 0x66,
- 0x48, 0x7c, 0x6e, 0x69, 0x6f, 0xa1, 0x05, 0xc6, 0x36, 0x08,
- 0x01, 0xdd, 0x1c, 0xb8, 0x52, 0xf4, 0x86, 0x96, 0x85, 0x39,
- 0x89, 0xb0, 0x31, 0x67, 0x62, 0xc5, 0x52, 0x91, 0x72, 0xd7,
- 0x96, 0x8c, 0xe1, 0x0a, 0x02, 0x6a, 0xfe, 0x82, 0xca, 0xc0,
- 0x34, 0xc9, 0xbc, 0x45, 0xa7, 0xc0, 0x4b, 0xa0, 0x7c, 0x7c,
- 0xcc, 0x29, 0xe5, 0x8c, 0xf6, 0x91, 0x65, 0x33, 0xf1, 0x7b,
- 0xda, 0x55, 0x69, 0x93, 0x2d, 0x4e, 0xb9, 0xb4, 0x7f, 0x56,
- 0xe6, 0x80, 0xbe, 0x23, 0x4a, 0x4a, 0x65, 0xa6, 0xab, 0xa2,
- 0x40, 0xb1, 0x75, 0x62, 0x13, 0xc1, 0xfd, 0x52, 0xe1, 0xbb,
- 0x7b, 0xb1, 0x7f, 0x8a, 0x0c, 0x27, 0x35, 0xec, 0x27, 0x3b,
- 0xa5, 0xe7, 0x75, 0xb8, 0xe3, 0xc4, 0xcf, 0x4d, 0x8a, 0x02,
- 0x57, 0x57, 0x16, 0xa2, 0x8e, 0x9d, 0x87, 0x5a, 0x32, 0xb6,
- 0xf6, 0x1d, 0xf5, 0xe3, 0xd7, 0xcf, 0x79, 0xc8, 0x77, 0x74,
- 0xdc, 0xe5, 0xba, 0xde, 0x5c, 0x22, 0xad, 0xc0, 0xfa, 0x67,
- 0xf3, 0x26, 0xbf, 0xcc, 0xd4, 0x88, 0xd5, 0xda, 0x87, 0x4d,
- 0x9d, 0x99, 0xc1, 0xce, 0xa4, 0x9a, 0xda, 0x99, 0xa5, 0xa2,
- 0xe1, 0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xaa,
- 0x30, 0x81, 0xa7, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
- 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc3, 0x9c, 0xf3, 0xfc,
- 0xd3, 0x46, 0x08, 0x34, 0xbb, 0xce, 0x46, 0x7f, 0xa0, 0x7c,
- 0x5b, 0xf3, 0xe2, 0x08, 0xcb, 0x59, 0x30, 0x0f, 0x06, 0x09,
- 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x05, 0x04,
- 0x02, 0x05, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
- 0x04, 0x16, 0x04, 0x14, 0xfa, 0x58, 0xdb, 0x09, 0x53, 0xbc,
- 0x19, 0xc5, 0xe7, 0xb5, 0x8b, 0xf6, 0x10, 0xf8, 0x1e, 0x84,
- 0x6d, 0x3a, 0x8f, 0xd8, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d,
- 0x25, 0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b, 0x06, 0x01,
- 0x05, 0x05, 0x07, 0x03, 0x09, 0x30, 0x0c, 0x06, 0x03, 0x55,
- 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30,
- 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04,
- 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x21, 0x06, 0x03, 0x55,
- 0x1d, 0x11, 0x04, 0x1a, 0x30, 0x18, 0xa4, 0x16, 0x30, 0x14,
- 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
- 0x09, 0x54, 0x47, 0x56, 0x2d, 0x42, 0x2d, 0x32, 0x31, 0x34,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00,
- 0x3e, 0x45, 0xce, 0x3d, 0x53, 0x8c, 0x88, 0xcd, 0xde, 0xf1,
- 0x38, 0x0c, 0x00, 0x7a, 0x7e, 0x22, 0xe7, 0x1a, 0xa5, 0xbe,
- 0xee, 0x1c, 0x17, 0x20, 0xc3, 0x65, 0x68, 0x86, 0x27, 0x83,
- 0x62, 0xd7, 0xdc, 0x1d, 0x6c, 0xfa, 0x24, 0x2e, 0x66, 0x50,
- 0xe5, 0xe0, 0x42, 0xa5, 0x73, 0x67, 0x2a, 0xea, 0x5a, 0x17,
- 0x20, 0x3b, 0x14, 0xd4, 0x74, 0x14, 0xbd, 0x18, 0x60, 0xbe,
- 0xa6, 0x46, 0xb1, 0xc2, 0x82, 0xc9, 0xb6, 0x99, 0x67, 0x56,
- 0xbe, 0x17, 0xda, 0x78, 0x05, 0x48, 0x65, 0x9d, 0x48, 0xb5,
- 0xda, 0x1d, 0x52, 0x59, 0x2a, 0xac, 0x09, 0x2d, 0x29, 0x18,
- 0x96, 0xc1, 0x58, 0x79, 0xfc, 0x73, 0x0b, 0x70, 0x4d, 0x31,
- 0x61, 0x80, 0xc7, 0x77, 0x02, 0xf1, 0x12, 0xb3, 0x80, 0x6f,
- 0xb9, 0x05, 0x69, 0xcf, 0x4f, 0x80, 0x7d, 0xf5, 0x06, 0xe6,
- 0x2e, 0xc7, 0x53, 0x99, 0x8b, 0x07, 0xc7, 0x7a, 0xe6, 0xf3,
- 0x12, 0x86, 0xd1, 0xbb, 0x8a, 0x8a, 0xfb, 0x9d, 0xd1, 0x0b,
- 0xe7, 0x9f, 0x12, 0x06, 0xfb, 0x7d, 0x8e, 0xe7, 0xb7, 0x39,
- 0xe0, 0x3c, 0xd0, 0xe8, 0x35, 0x44, 0x28, 0xb7, 0xcb, 0xee,
- 0xef, 0xa7, 0x14, 0xfa, 0x0e, 0x34, 0xaf, 0x78, 0x59, 0x1e,
- 0x91, 0xd9, 0xe0, 0x9b, 0x3c, 0x9e, 0x3a, 0xbf, 0xf5, 0xf5,
- 0x11, 0x5b, 0x04, 0x48, 0xcd, 0x3a, 0x3f, 0xee, 0x46, 0x6d,
- 0x69, 0x68, 0x39, 0xc1, 0x4d, 0x54, 0xfd, 0x6c, 0x27, 0x1e,
- 0x5b, 0x58, 0x00, 0xbb, 0x4f, 0x1b, 0x12, 0xd3, 0xbb, 0x46,
- 0xf4, 0x7c, 0x4a, 0x44, 0xb5, 0xcb, 0x4f, 0xf2, 0x3d, 0xc3,
- 0x51, 0xfc, 0x7a, 0x2c, 0x59, 0xd0, 0x82, 0x73, 0xe3, 0x88,
- 0xfc, 0x25, 0x4c, 0x35, 0x6f, 0x88, 0x85, 0xff, 0xad, 0x8c,
- 0x83, 0xc4, 0x76, 0x58, 0x6b, 0xfa, 0xf2, 0xed, 0x5b, 0x95,
- 0xd9, 0x07, 0x55, 0x58, 0xfe, 0x08 ) );
-
-/** Time at which OCSP responses are valid */
-static time_t test_time = 1337062083ULL; /* Tue 15 May 2012 06:08:03 */
-
-/** Time at which OCSP responses are not valid */
-static time_t test_stale = 1375573111ULL; /* Sat Aug 3 23:38:31 2013 */
-
-/** Time at which "vultr" OCSP response (generated more recently) is valid */
-static time_t test_vultr = 1416697736ULL; /* Sat 22 Nov 23:08:56 2014 */
-
-/**
- * Report certificate parsing test result
- *
- * @v crt Test certificate
- */
-#define ocsp_certificate_ok( crt ) do { \
- ok ( x509_certificate ( (crt)->data, (crt)->len, \
- &(crt)->cert ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report OCSP check creation test result
- *
- * @v test OCSP test
- */
-#define ocsp_check_ok( test ) do { \
- ocsp_prepare_test ( (test) ); \
- ok ( ocsp_check ( (test)->cert->cert, (test)->issuer->cert, \
- &(test)->ocsp ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report OCSP request construction test result
- *
- * @v test OCSP test
- */
-#define ocsp_request_ok( test ) do { \
- DBGC ( (test), "OCSPTEST %p expected request:\n", (test) ); \
- DBGC_HDA ( (test), 0, (test)->request, (test)->request_len ); \
- ok ( (test)->ocsp->request.builder.len == (test)->request_len );\
- ok ( memcmp ( (test)->ocsp->request.builder.data, \
- (test)->request, (test)->request_len ) == 0 ); \
- DBGC ( (test), "OCSPTEST %p generated request:\n", (test) ); \
- DBGC_HDA ( (test), 0, (test)->ocsp->request.builder.data, \
- (test)->ocsp->request.builder.len ); \
- } while ( 0 )
-
-/**
- * Report OCSP response test result
- *
- * @v test OCSP test
- */
-#define ocsp_response_ok( test ) do { \
- ok ( ocsp_response ( (test)->ocsp, (test)->response, \
- (test)->response_len ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report OCSP response failure test result
- *
- * @v test OCSP test
- */
-#define ocsp_response_fail_ok( test ) do { \
- ok ( ocsp_response ( (test)->ocsp, (test)->response, \
- (test)->response_len ) != 0 ); \
- } while ( 0 )
-
-/**
- * Report OCSP validation test result
- *
- * @v test OCSP test
- * @v time Test time
- */
-#define ocsp_validate_ok( test, time ) do { \
- ocsp_prepare_test ( (test) ); \
- ok ( ocsp_validate ( (test)->ocsp, time ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report OCSP validation failure test result
- *
- * @v test OCSP test
- * @v time Test time
- */
-#define ocsp_validate_fail_ok( test, time ) do { \
- ocsp_prepare_test ( (test) ); \
- ok ( ocsp_validate ( (test)->ocsp, time ) != 0 ); \
- } while ( 0 )
-
-/**
- * Perform OCSP self-tests
- *
- */
-static void ocsp_test_exec ( void ) {
-
- /* Parse certificates */
- ocsp_certificate_ok ( &barclays_crt );
- ocsp_certificate_ok ( &google_crt );
- ocsp_certificate_ok ( &verisign_crt );
- ocsp_certificate_ok ( &thawte_crt );
- ocsp_certificate_ok ( &startssl_crt );
- ocsp_certificate_ok ( &rapidssl_crt );
- ocsp_certificate_ok ( &vultr_crt );
-
- /* Parse OCSP checks */
- ocsp_check_ok ( &barclays_ocsp );
- ocsp_check_ok ( &google_ocsp );
- ocsp_check_ok ( &unauthorized_ocsp );
- ocsp_check_ok ( &unknown_ocsp );
- ocsp_check_ok ( &vultr_ocsp );
-
- /* "barclays" test */
- ocsp_request_ok ( &barclays_ocsp );
- ocsp_response_ok ( &barclays_ocsp );
- ocsp_validate_ok ( &barclays_ocsp, test_time );
- ocsp_validate_fail_ok ( &barclays_ocsp, test_stale );
-
- /* "google" test */
- ocsp_request_ok ( &google_ocsp );
- ocsp_response_ok ( &google_ocsp );
- ocsp_validate_ok ( &google_ocsp, test_time );
- ocsp_validate_fail_ok ( &google_ocsp, test_stale );
-
- /* "unauthorized" test */
- ocsp_request_ok ( &unauthorized_ocsp );
- ocsp_response_fail_ok ( &unauthorized_ocsp );
-
- /* "unknown" test */
- ocsp_request_ok ( &unknown_ocsp );
- ocsp_response_fail_ok ( &unknown_ocsp );
-
- /* "vultr" test */
- ocsp_request_ok ( &vultr_ocsp );
- ocsp_response_ok ( &vultr_ocsp );
- ocsp_validate_ok ( &vultr_ocsp, test_vultr );
- ocsp_validate_fail_ok ( &vultr_ocsp, test_stale );
-
- /* Drop OCSP check references */
- ocsp_put ( unknown_ocsp.ocsp );
- ocsp_put ( unauthorized_ocsp.ocsp );
- ocsp_put ( google_ocsp.ocsp );
- ocsp_put ( barclays_ocsp.ocsp );
- ocsp_put ( vultr_ocsp.ocsp );
-
- /* Drop certificate references */
- x509_put ( vultr_crt.cert );
- x509_put ( rapidssl_crt.cert );
- x509_put ( startssl_crt.cert );
- x509_put ( thawte_crt.cert );
- x509_put ( verisign_crt.cert );
- x509_put ( google_crt.cert );
- x509_put ( barclays_crt.cert );
-}
-
-/** OCSP self-test */
-struct self_test ocsp_test __self_test = {
- .name = "ocsp",
- .exec = ocsp_test_exec,
-};
-
-/* Drag in algorithms required for tests */
-REQUIRING_SYMBOL ( ocsp_test );
-REQUIRE_OBJECT ( rsa );
-REQUIRE_OBJECT ( sha1 );
diff --git a/qemu/roms/ipxe/src/tests/pccrc_test.c b/qemu/roms/ipxe/src/tests/pccrc_test.c
deleted file mode 100644
index f4ab573ac..000000000
--- a/qemu/roms/ipxe/src/tests/pccrc_test.c
+++ /dev/null
@@ -1,529 +0,0 @@
-/*
- * Copyright (C) 2015 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Peer Content Caching and Retrieval: Content Identification [MS-PCCRC] tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <string.h>
-#include <assert.h>
-#include <ipxe/uaccess.h>
-#include <ipxe/pccrc.h>
-#include <ipxe/sha256.h>
-#include <ipxe/sha512.h>
-#include <ipxe/hmac.h>
-#include <ipxe/test.h>
-
-/** Define inline raw data */
-#define DATA(...) { __VA_ARGS__ }
-
-/**
- * Define an inline content range
- *
- * @v START Start offset
- * @v END End offset
- * @ret range Content range
- */
-#define RANGE( START, END ) { .start = START, .end = END }
-
-/**
- * Define an inline trimmed content range
- *
- * @v START Start offset
- * @v END End offset
- * @ret trim Trimmed content range
- */
-#define TRIM( START, END ) { .start = START, .end = END }
-
-/** A content information test */
-struct peerdist_info_test {
- /** Raw content information */
- const void *data;
- /** Length of raw content information */
- size_t len;
- /** Expected digest algorithm */
- struct digest_algorithm *expected_digest;
- /** Expected digest size */
- size_t expected_digestsize;
- /** Expected content range */
- struct peerdist_range expected_range;
- /** Expected trimmed content range */
- struct peerdist_range expected_trim;
- /** Expected number of segments */
- unsigned int expected_segments;
-};
-
-/**
- * Define a content information test
- *
- * @v name Test name
- * @v DATA Raw content information
- * @v DIGEST Expected digest algorithm
- * @v DIGESTSIZE Expected digest size
- * @v RANGE Expected content range
- * @v TRIM Expected trimmer content range
- * @v SEGMENTS Expected number of segments
- * @ret test Content information test
- *
- * Raw content information can be obtained from PeerDist-capable web
- * servers using wget's "--header" option to inject the relevant
- * PeerDist headers. For example:
- *
- * wget --header "Accept-Encoding: peerdist" \
- * --header "X-P2P-PeerDist: Version=1.0" \
- * http://peerdist.server.address/test.url -O - | xxd -i -c 11
- *
- * Version 1 content information can be retrieved using the headers:
- *
- * Accept-Encoding: peerdist
- * X-P2P-PeerDist: Version=1.0
- *
- * Version 2 content information can be retrieved (from compatible
- * servers) using the headers:
- *
- * Accept-Encoding: peerdist
- * X-P2P-PeerDist: Version=1.1
- * X-P2P-PeerDistEx: MinContentInformation=2.0, MaxContentInformation=2.0
- */
-#define PEERDIST_INFO_TEST( name, DATA, DIGEST, DIGESTSIZE, RANGE, \
- TRIM, SEGMENTS ) \
- static const uint8_t name ## _data[] = DATA; \
- static struct peerdist_info_test name = { \
- .data = name ## _data, \
- .len = sizeof ( name ## _data ), \
- .expected_digest = DIGEST, \
- .expected_digestsize = DIGESTSIZE, \
- .expected_range = RANGE, \
- .expected_trim = TRIM, \
- .expected_segments = SEGMENTS, \
- }
-
-/** A content information segment test */
-struct peerdist_info_segment_test {
- /** Segment index */
- unsigned int index;
- /** Expected content range */
- struct peerdist_range expected_range;
- /** Expected number of blocks */
- unsigned int expected_blocks;
- /** Expected block size */
- size_t expected_blksize;
- /** Expected segment hash of data */
- uint8_t expected_hash[PEERDIST_DIGEST_MAX_SIZE];
- /** Expected segment secret */
- uint8_t expected_secret[PEERDIST_DIGEST_MAX_SIZE];
- /** Expected segment identifier */
- uint8_t expected_id[PEERDIST_DIGEST_MAX_SIZE];
-};
-
-/**
- * Define a content information segment test
- *
- * @v name Test name
- * @v INDEX Segment index
- * @v RANGE Expected content range
- * @v BLOCKS Expected number of blocks
- * @v BLKSIZE Expected block size
- * @v HASH Expected segment hash of data
- * @v SECRET Expected segment secret
- * @v ID Expected segment identifier
- * @ret test Content information segment test
- */
-#define PEERDIST_INFO_SEGMENT_TEST( name, INDEX, RANGE, BLOCKS, \
- BLKSIZE, HASH, SECRET, ID ) \
- static struct peerdist_info_segment_test name = { \
- .index = INDEX, \
- .expected_range = RANGE, \
- .expected_blocks = BLOCKS, \
- .expected_blksize = BLKSIZE, \
- .expected_hash = HASH, \
- .expected_secret = SECRET, \
- .expected_id = ID, \
- }
-
-/** A content information block test */
-struct peerdist_info_block_test {
- /** Block index */
- unsigned int index;
- /** Expected content range */
- struct peerdist_range expected_range;
- /** Expected trimmed content range */
- struct peerdist_range expected_trim;
- /** Expected hash of data */
- uint8_t expected_hash[PEERDIST_DIGEST_MAX_SIZE];
-};
-
-/**
- * Define a content information block test
- *
- * @v name Test name
- * @v INDEX Block index
- * @v RANGE Expected content range
- * @v TRIM Expected trimmed content range
- * @v HASH Expected hash of data
- * @ret test Content information block test
- */
-#define PEERDIST_INFO_BLOCK_TEST( name, INDEX, RANGE, TRIM, HASH ) \
- static struct peerdist_info_block_test name = { \
- .index = INDEX, \
- .expected_range = RANGE, \
- .expected_trim = TRIM, \
- .expected_hash = HASH, \
- }
-
-/**
- * Define a server passphrase
- *
- * @v name Server passphrase name
- * @v DATA Raw server passphrase
- *
- * The server passphrase can be exported from a Windows BranchCache
- * server using the command:
- *
- * netsh branchcache exportkey exported.key somepassword
- *
- * and this encrypted exported key can be decrypted using the
- * oSSL_key_dx or mcrypt_key_dx utilities found in the (prototype)
- * Prequel project at https://fedorahosted.org/prequel/ :
- *
- * oSSL_key_dx exported.key somepassword
- * or
- * mcrypt_key_dx exported.key somepassword
- *
- * Either command will display both the server passphrase and the
- * "Server Secret". Note that this latter is the version 1 server
- * secret (i.e. the SHA-256 of the server passphrase); the
- * corresponding version 2 server secret can be obtained by
- * calculating the truncated SHA-512 of the server passphrase.
- *
- * We do not know the server passphrase during normal operation. We
- * use it in the self-tests only to check for typos and other errors
- * in the test vectors, by checking that the segment secret defined in
- * a content information segment test is as expected.
- */
-#define SERVER_PASSPHRASE( name, DATA ) \
- static uint8_t name[] = DATA
-
-/** Server passphrase used for these test vectors */
-SERVER_PASSPHRASE ( passphrase,
- DATA ( 0x2a, 0x3d, 0x73, 0xeb, 0x43, 0x5e, 0x9f, 0x2b, 0x8a, 0x34, 0x42,
- 0x67, 0xe7, 0x46, 0x7a, 0x3c, 0x73, 0x85, 0xc6, 0xe0, 0x55, 0xe2,
- 0xb4, 0xd3, 0x0d, 0xfe, 0xc7, 0xc3, 0x8b, 0x0e, 0xd7, 0x2c ) );
-
-/** IIS logo (iis-85.png) content information version 1 */
-PEERDIST_INFO_TEST ( iis_85_png_v1,
- DATA ( 0x00, 0x01, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x7e, 0x85, 0x01, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0xd8, 0xd9, 0x76, 0x35, 0x4a, 0x48, 0x72, 0xe9, 0x25, 0x76,
- 0x18, 0x03, 0xf4, 0x58, 0xd9, 0xda, 0xaa, 0x67, 0xf8, 0xe3, 0x1c,
- 0x63, 0x0f, 0xb7, 0x4e, 0x6a, 0x31, 0x2e, 0xf8, 0xa2, 0x5a, 0xba,
- 0x11, 0xaf, 0xc0, 0xd7, 0x94, 0x92, 0x43, 0xf9, 0x4f, 0x9c, 0x1f,
- 0xab, 0x35, 0xd9, 0xfd, 0x1e, 0x33, 0x1f, 0xcf, 0x78, 0x11, 0xa2,
- 0xe0, 0x1d, 0x35, 0x87, 0xb3, 0x8d, 0x77, 0x0a, 0x29, 0xe2, 0x02,
- 0x00, 0x00, 0x00, 0x73, 0xc1, 0x8a, 0xb8, 0x54, 0x91, 0x10, 0xf8,
- 0xe9, 0x0e, 0x71, 0xbb, 0xc3, 0xab, 0x2a, 0xa8, 0xc4, 0x4d, 0x13,
- 0xf4, 0x92, 0x94, 0x99, 0x25, 0x5b, 0x66, 0x0f, 0x24, 0xec, 0x77,
- 0x80, 0x0b, 0x97, 0x4b, 0xdd, 0x65, 0x56, 0x7f, 0xde, 0xec, 0xcd,
- 0xaf, 0xe4, 0x57, 0xa9, 0x50, 0x3b, 0x45, 0x48, 0xf6, 0x6e, 0xd3,
- 0xb1, 0x88, 0xdc, 0xfd, 0xa0, 0xac, 0x38, 0x2b, 0x09, 0x71, 0x1a,
- 0xcc ),
- &sha256_algorithm, 32, RANGE ( 0, 99710 ), TRIM ( 0, 99710 ), 1 );
-
-/** IIS logo (iis-85.png) content information version 1 segment 0 */
-PEERDIST_INFO_SEGMENT_TEST ( iis_85_png_v1_s0, 0,
- RANGE ( 0, 99710 ), 2, 65536,
- DATA ( 0xd8, 0xd9, 0x76, 0x35, 0x4a, 0x48, 0x72, 0xe9, 0x25, 0x76, 0x18,
- 0x03, 0xf4, 0x58, 0xd9, 0xda, 0xaa, 0x67, 0xf8, 0xe3, 0x1c, 0x63,
- 0x0f, 0xb7, 0x4e, 0x6a, 0x31, 0x2e, 0xf8, 0xa2, 0x5a, 0xba ),
- DATA ( 0x11, 0xaf, 0xc0, 0xd7, 0x94, 0x92, 0x43, 0xf9, 0x4f, 0x9c, 0x1f,
- 0xab, 0x35, 0xd9, 0xfd, 0x1e, 0x33, 0x1f, 0xcf, 0x78, 0x11, 0xa2,
- 0xe0, 0x1d, 0x35, 0x87, 0xb3, 0x8d, 0x77, 0x0a, 0x29, 0xe2 ),
- DATA ( 0x49, 0x1b, 0x21, 0x7d, 0xbe, 0xe2, 0xb5, 0xf1, 0x2c, 0xa7, 0x9b,
- 0x01, 0x5e, 0x06, 0xf4, 0xbb, 0xe6, 0x4f, 0x97, 0x45, 0xba, 0xd7,
- 0x86, 0x7a, 0xef, 0x17, 0xde, 0x59, 0x92, 0x7e, 0xdc, 0xe9 ) );
-
-/** IIS logo (iis-85.png) content information version 1 segment 0 block 0 */
-PEERDIST_INFO_BLOCK_TEST ( iis_85_png_v1_s0_b0, 0,
- RANGE ( 0, 65536 ),
- TRIM ( 0, 65536 ),
- DATA ( 0x73, 0xc1, 0x8a, 0xb8, 0x54, 0x91, 0x10, 0xf8, 0xe9, 0x0e, 0x71,
- 0xbb, 0xc3, 0xab, 0x2a, 0xa8, 0xc4, 0x4d, 0x13, 0xf4, 0x92, 0x94,
- 0x99, 0x25, 0x5b, 0x66, 0x0f, 0x24, 0xec, 0x77, 0x80, 0x0b ) );
-
-/** IIS logo (iis-85.png) content information version 1 segment 0 block 1 */
-PEERDIST_INFO_BLOCK_TEST ( iis_85_png_v1_s0_b1, 1,
- RANGE ( 65536, 99710 ),
- TRIM ( 65536, 99710 ),
- DATA ( 0x97, 0x4b, 0xdd, 0x65, 0x56, 0x7f, 0xde, 0xec, 0xcd, 0xaf, 0xe4,
- 0x57, 0xa9, 0x50, 0x3b, 0x45, 0x48, 0xf6, 0x6e, 0xd3, 0xb1, 0x88,
- 0xdc, 0xfd, 0xa0, 0xac, 0x38, 0x2b, 0x09, 0x71, 0x1a, 0xcc ) );
-
-/** IIS logo (iis-85.png) content information version 2 */
-PEERDIST_INFO_TEST ( iis_85_png_v2,
- DATA ( 0x00, 0x02, 0x04, 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, 0x88, 0x00, 0x00, 0x99, 0xde, 0xe0, 0xd0, 0xc3, 0x58,
- 0xe2, 0x68, 0x4b, 0x62, 0x33, 0x0d, 0x32, 0xb5, 0xf1, 0x97, 0x87,
- 0x24, 0xa0, 0xd0, 0xa5, 0x2b, 0xdc, 0x5e, 0x78, 0x1f, 0xae, 0x71,
- 0xff, 0x57, 0xa8, 0xbe, 0x3d, 0xd4, 0x58, 0x03, 0x7e, 0xd4, 0x04,
- 0x11, 0x6b, 0xb6, 0x16, 0xd9, 0xb1, 0x41, 0x16, 0x08, 0x85, 0x20,
- 0xc4, 0x7c, 0xdc, 0x50, 0xab, 0xce, 0xa3, 0xfa, 0xe1, 0x88, 0xa9,
- 0x8e, 0xa2, 0x2d, 0xf3, 0xc0, 0x00, 0x00, 0xeb, 0xa0, 0x33, 0x81,
- 0xd0, 0xd0, 0xcb, 0x74, 0xf4, 0xb6, 0x13, 0xd8, 0x21, 0x0f, 0x37,
- 0xf0, 0x02, 0xa0, 0x6f, 0x39, 0x10, 0x58, 0x60, 0x96, 0xa1, 0x30,
- 0xd3, 0x43, 0x98, 0xc0, 0x8e, 0x66, 0xd7, 0xbc, 0xb8, 0xb6, 0xeb,
- 0x77, 0x83, 0xe4, 0xf8, 0x07, 0x64, 0x7b, 0x63, 0xf1, 0x46, 0xb5,
- 0x2f, 0x4a, 0xc8, 0x9c, 0xcc, 0x7a, 0xbf, 0x5f, 0xa1, 0x1a, 0xca,
- 0xfc, 0x2a, 0xcf, 0x50, 0x28, 0x58, 0x6c ),
- &sha512_algorithm, 32, RANGE ( 0, 99710 ), TRIM ( 0, 99710 ), 2 );
-
-/** IIS logo (iis-85.png) content information version 2 segment 0 */
-PEERDIST_INFO_SEGMENT_TEST ( iis_85_png_v2_s0, 0,
- RANGE ( 0, 39390 ), 1, 39390,
- DATA ( 0xe0, 0xd0, 0xc3, 0x58, 0xe2, 0x68, 0x4b, 0x62, 0x33, 0x0d, 0x32,
- 0xb5, 0xf1, 0x97, 0x87, 0x24, 0xa0, 0xd0, 0xa5, 0x2b, 0xdc, 0x5e,
- 0x78, 0x1f, 0xae, 0x71, 0xff, 0x57, 0xa8, 0xbe, 0x3d, 0xd4 ),
- DATA ( 0x58, 0x03, 0x7e, 0xd4, 0x04, 0x11, 0x6b, 0xb6, 0x16, 0xd9, 0xb1,
- 0x41, 0x16, 0x08, 0x85, 0x20, 0xc4, 0x7c, 0xdc, 0x50, 0xab, 0xce,
- 0xa3, 0xfa, 0xe1, 0x88, 0xa9, 0x8e, 0xa2, 0x2d, 0xf3, 0xc0 ),
- DATA ( 0x33, 0x71, 0xbb, 0xea, 0xdd, 0xb6, 0x23, 0x53, 0xad, 0xce, 0xf9,
- 0x70, 0xa0, 0x6f, 0xdf, 0x65, 0x00, 0x1e, 0x04, 0x21, 0xf4, 0xc7,
- 0x10, 0x82, 0x76, 0xb0, 0xc3, 0x7a, 0x9f, 0x9e, 0xc1, 0x0f ) );
-
-/** IIS logo (iis-85.png) content information version 2 segment 0 block 0 */
-PEERDIST_INFO_BLOCK_TEST ( iis_85_png_v2_s0_b0, 0,
- RANGE ( 0, 39390 ),
- TRIM ( 0, 39390 ),
- DATA ( 0xe0, 0xd0, 0xc3, 0x58, 0xe2, 0x68, 0x4b, 0x62, 0x33, 0x0d, 0x32,
- 0xb5, 0xf1, 0x97, 0x87, 0x24, 0xa0, 0xd0, 0xa5, 0x2b, 0xdc, 0x5e,
- 0x78, 0x1f, 0xae, 0x71, 0xff, 0x57, 0xa8, 0xbe, 0x3d, 0xd4 ) );
-
-/** IIS logo (iis-85.png) content information version 2 segment 1 */
-PEERDIST_INFO_SEGMENT_TEST ( iis_85_png_v2_s1, 1,
- RANGE ( 39390, 99710 ), 1, 60320,
- DATA ( 0x33, 0x81, 0xd0, 0xd0, 0xcb, 0x74, 0xf4, 0xb6, 0x13, 0xd8, 0x21,
- 0x0f, 0x37, 0xf0, 0x02, 0xa0, 0x6f, 0x39, 0x10, 0x58, 0x60, 0x96,
- 0xa1, 0x30, 0xd3, 0x43, 0x98, 0xc0, 0x8e, 0x66, 0xd7, 0xbc ),
- DATA ( 0xb8, 0xb6, 0xeb, 0x77, 0x83, 0xe4, 0xf8, 0x07, 0x64, 0x7b, 0x63,
- 0xf1, 0x46, 0xb5, 0x2f, 0x4a, 0xc8, 0x9c, 0xcc, 0x7a, 0xbf, 0x5f,
- 0xa1, 0x1a, 0xca, 0xfc, 0x2a, 0xcf, 0x50, 0x28, 0x58, 0x6c ),
- DATA ( 0xd7, 0xe9, 0x24, 0x42, 0x5e, 0x8f, 0x4f, 0x88, 0xf0, 0x1d, 0xc6,
- 0xa9, 0xbb, 0x1b, 0xc3, 0x7b, 0xe1, 0x13, 0xec, 0x79, 0x17, 0xc7,
- 0x45, 0xd4, 0x96, 0x5c, 0x2b, 0x55, 0xfa, 0x16, 0x3a, 0x6e ) );
-
-/** IIS logo (iis-85.png) content information version 2 segment 1 block 0 */
-PEERDIST_INFO_BLOCK_TEST ( iis_85_png_v2_s1_b0, 0,
- RANGE ( 39390, 99710 ),
- TRIM ( 39390, 99710 ),
- DATA ( 0x33, 0x81, 0xd0, 0xd0, 0xcb, 0x74, 0xf4, 0xb6, 0x13, 0xd8, 0x21,
- 0x0f, 0x37, 0xf0, 0x02, 0xa0, 0x6f, 0x39, 0x10, 0x58, 0x60, 0x96,
- 0xa1, 0x30, 0xd3, 0x43, 0x98, 0xc0, 0x8e, 0x66, 0xd7, 0xbc ) );
-
-/**
- * Report content information test result
- *
- * @v test Content information test
- * @v info Content information to fill in
- * @v file Test code file
- * @v line Test code line
- */
-static void peerdist_info_okx ( struct peerdist_info_test *test,
- struct peerdist_info *info,
- const char *file, unsigned int line ) {
-
- /* Parse content information */
- okx ( peerdist_info ( virt_to_user ( test->data ), test->len,
- info ) == 0, file, line );
-
- /* Verify content information */
- okx ( info->raw.data == virt_to_user ( test->data ), file, line );
- okx ( info->raw.len == test->len, file, line );
- okx ( info->digest == test->expected_digest, file, line );
- okx ( info->digestsize == test->expected_digestsize, file, line );
- okx ( info->range.start == test->expected_range.start, file, line );
- okx ( info->range.end == test->expected_range.end, file, line );
- okx ( info->trim.start == test->expected_trim.start, file, line );
- okx ( info->trim.end == test->expected_trim.end, file, line );
- okx ( info->trim.start >= info->range.start, file, line );
- okx ( info->trim.end <= info->range.end, file, line );
- okx ( info->segments == test->expected_segments, file, line );
-}
-#define peerdist_info_ok( test, info ) \
- peerdist_info_okx ( test, info, __FILE__, __LINE__ )
-
-/**
- * Report content information segment test result
- *
- * @v test Content information segment test
- * @v info Content information
- * @v segment Segment information to fill in
- * @v file Test code file
- * @v line Test code line
- */
-static void peerdist_info_segment_okx ( struct peerdist_info_segment_test *test,
- const struct peerdist_info *info,
- struct peerdist_info_segment *segment,
- const char *file, unsigned int line ) {
- size_t digestsize = info->digestsize;
-
- /* Parse content information segment */
- okx ( peerdist_info_segment ( info, segment, test->index ) == 0,
- file, line );
-
- /* Verify content information segment */
- okx ( segment->info == info, file, line );
- okx ( segment->index == test->index, file, line );
- okx ( segment->range.start == test->expected_range.start, file, line );
- okx ( segment->range.end == test->expected_range.end, file, line );
- okx ( segment->blocks == test->expected_blocks, file, line );
- okx ( segment->blksize == test->expected_blksize, file, line );
- okx ( memcmp ( segment->hash, test->expected_hash,
- digestsize ) == 0, file, line );
- okx ( memcmp ( segment->secret, test->expected_secret,
- digestsize ) == 0, file, line );
- okx ( memcmp ( segment->id, test->expected_id,
- digestsize ) == 0, file, line );
-}
-#define peerdist_info_segment_ok( test, info, segment ) \
- peerdist_info_segment_okx ( test, info, segment, __FILE__, __LINE__ )
-
-/**
- * Report content information block test result
- *
- * @v test Content information block test
- * @v segment Segment information
- * @v block Block information to fill in
- * @v file Test code file
- * @v line Test code line
- */
-static void
-peerdist_info_block_okx ( struct peerdist_info_block_test *test,
- const struct peerdist_info_segment *segment,
- struct peerdist_info_block *block,
- const char *file, unsigned int line ) {
- const struct peerdist_info *info = segment->info;
- size_t digestsize = info->digestsize;
-
- /* Parse content information block */
- okx ( peerdist_info_block ( segment, block, test->index ) == 0,
- file, line );
-
- /* Verify content information block */
- okx ( block->segment == segment, file, line );
- okx ( block->index == test->index, file, line );
- okx ( block->range.start == test->expected_range.start, file, line );
- okx ( block->range.end == test->expected_range.end, file, line );
- okx ( block->trim.start == test->expected_trim.start, file, line );
- okx ( block->trim.end == test->expected_trim.end, file, line );
- okx ( memcmp ( block->hash, test->expected_hash,
- digestsize ) == 0, file, line );
-}
-#define peerdist_info_block_ok( test, segment, block ) \
- peerdist_info_block_okx ( test, segment, block, __FILE__, __LINE__ )
-
-/**
- * Report server passphrase test result
- *
- * @v test Content information segment test
- * @v info Content information
- * @v pass Server passphrase
- * @v pass_len Length of server passphrase
- * @v file Test code file
- * @v line Test code line
- */
-static void
-peerdist_info_passphrase_okx ( struct peerdist_info_segment_test *test,
- const struct peerdist_info *info,
- uint8_t *pass, size_t pass_len,
- const char *file, unsigned int line ) {
- struct digest_algorithm *digest = info->digest;
- uint8_t ctx[digest->ctxsize];
- uint8_t secret[digest->digestsize];
- uint8_t expected[digest->digestsize];
- size_t digestsize = info->digestsize;
- size_t secretsize = digestsize;
-
- /* Calculate server secret */
- digest_init ( digest, ctx );
- digest_update ( digest, ctx, pass, pass_len );
- digest_final ( digest, ctx, secret );
-
- /* Calculate expected segment secret */
- hmac_init ( digest, ctx, secret, &secretsize );
- assert ( secretsize == digestsize );
- hmac_update ( digest, ctx, test->expected_hash, digestsize );
- hmac_final ( digest, ctx, secret, &secretsize, expected );
- assert ( secretsize == digestsize );
-
- /* Verify segment secret */
- okx ( memcmp ( test->expected_secret, expected, digestsize ) == 0,
- file, line );
-}
-#define peerdist_info_passphrase_ok( test, info, pass, pass_len ) \
- peerdist_info_passphrase_okx ( test, info, pass, pass_len, \
- __FILE__, __LINE__ )
-
-/**
- * Perform content information self-tests
- *
- */
-static void peerdist_info_test_exec ( void ) {
- struct peerdist_info info;
- struct peerdist_info_segment segment;
- struct peerdist_info_block block;
-
- /* IIS logo (iis-85.png) content information version 1 */
- peerdist_info_ok ( &iis_85_png_v1, &info );
- peerdist_info_passphrase_ok ( &iis_85_png_v1_s0, &info,
- passphrase, sizeof ( passphrase ) );
- peerdist_info_segment_ok ( &iis_85_png_v1_s0, &info, &segment );
- peerdist_info_block_ok ( &iis_85_png_v1_s0_b0, &segment, &block );
- peerdist_info_block_ok ( &iis_85_png_v1_s0_b1, &segment, &block );
-
- /* IIS logo (iis-85.png) content information version 2 */
- peerdist_info_ok ( &iis_85_png_v2, &info );
- peerdist_info_passphrase_ok ( &iis_85_png_v2_s0, &info,
- passphrase, sizeof ( passphrase ) );
- peerdist_info_segment_ok ( &iis_85_png_v2_s0, &info, &segment );
- peerdist_info_block_ok ( &iis_85_png_v2_s0_b0, &segment, &block );
- peerdist_info_passphrase_ok ( &iis_85_png_v2_s1, &info,
- passphrase, sizeof ( passphrase ) );
- peerdist_info_segment_ok ( &iis_85_png_v2_s1, &info, &segment );
- peerdist_info_block_ok ( &iis_85_png_v2_s1_b0, &segment, &block );
-}
-
-/** Content information self-test */
-struct self_test peerdist_info_test __self_test = {
- .name = "pccrc",
- .exec = peerdist_info_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/pixbuf_test.c b/qemu/roms/ipxe/src/tests/pixbuf_test.c
deleted file mode 100644
index aaa516bb2..000000000
--- a/qemu/roms/ipxe/src/tests/pixbuf_test.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2013 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Pixel buffer self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <assert.h>
-#include <ipxe/image.h>
-#include <ipxe/pixbuf.h>
-#include <ipxe/test.h>
-#include "pixbuf_test.h"
-
-/**
- * Report pixel buffer test result
- *
- * @v test Pixel buffer test
- * @v file Test code file
- * @v line Test code line
- */
-void pixbuf_okx ( struct pixel_buffer_test *test, const char *file,
- unsigned int line ) {
- struct pixel_buffer *pixbuf;
- int rc;
-
- /* Sanity check */
- assert ( ( test->width * test->height * sizeof ( test->data[0] ) )
- == test->len );
-
- /* Correct image data pointer */
- test->image->data = virt_to_user ( ( void * ) test->image->data );
-
- /* Check that image is detected as correct type */
- okx ( register_image ( test->image ) == 0, file, line );
- okx ( test->image->type == test->type, file, line );
-
- /* Check that a pixel buffer can be created from the image */
- okx ( ( rc = image_pixbuf ( test->image, &pixbuf ) ) == 0, file, line );
- if ( rc == 0 ) {
-
- /* Check pixel buffer dimensions */
- okx ( pixbuf->width == test->width, file, line );
- okx ( pixbuf->height == test->height, file, line );
-
- /* Check pixel buffer data */
- okx ( pixbuf->len == test->len, file, line );
- okx ( memcmp_user ( pixbuf->data, 0,
- virt_to_user ( test->data ), 0,
- test->len ) == 0, file, line );
-
- pixbuf_put ( pixbuf );
- }
-
- /* Unregister image */
- unregister_image ( test->image );
-}
diff --git a/qemu/roms/ipxe/src/tests/pixbuf_test.h b/qemu/roms/ipxe/src/tests/pixbuf_test.h
deleted file mode 100644
index d12829d89..000000000
--- a/qemu/roms/ipxe/src/tests/pixbuf_test.h
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef _PIXBUF_TEST_H
-#define _PIXBUF_TEST_H
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-#include <stdint.h>
-#include <ipxe/refcnt.h>
-#include <ipxe/image.h>
-#include <ipxe/test.h>
-
-/** A pixel buffer test */
-struct pixel_buffer_test {
- /** Image type */
- struct image_type *type;
- /** Source image */
- struct image *image;
- /** Pixel data */
- const uint32_t *data;
- /** Length of pixel data */
- size_t len;
- /** Width */
- unsigned int width;
- /** Height */
- unsigned int height;
-};
-
-/**
- * Define a pixel buffer test
- *
- * @v _name Test name
- * @v _type Test image file type
- * @v _file Test image file data
- * @v _width Expected pixel buffer width
- * @v _height Expected pixel buffer height
- * @v _data Expected pixel buffer data
- * @ret test Pixel buffer test
- */
-#define PIX( _name, _type, _file, _width, _height, _data ) \
- static const char _name ## __file[] = _file; \
- static const uint32_t _name ## __data[] = _data; \
- static struct image _name ## __image = { \
- .refcnt = REF_INIT ( ref_no_free ), \
- .name = #_name, \
- .data = ( userptr_t ) ( _name ## __file ), \
- .len = sizeof ( _name ## __file ), \
- }; \
- static struct pixel_buffer_test _name = { \
- .type = _type, \
- .image = & _name ## __image, \
- .data = _name ## __data, \
- .len = sizeof ( _name ## __data ), \
- .width = _width, \
- .height = _height, \
- };
-
-extern void pixbuf_okx ( struct pixel_buffer_test *test, const char *file,
- unsigned int line );
-
-/**
- * Report pixel buffer test result
- *
- * @v test Pixel buffer test
- */
-#define pixbuf_ok( test ) pixbuf_okx ( test, __FILE__, __LINE__ )
-
-#endif /* _PIXBUF_TEST_H */
diff --git a/qemu/roms/ipxe/src/tests/png_test.c b/qemu/roms/ipxe/src/tests/png_test.c
deleted file mode 100644
index e921aa2a6..000000000
--- a/qemu/roms/ipxe/src/tests/png_test.c
+++ /dev/null
@@ -1,1997 +0,0 @@
-/*
- * Copyright (C) 2014 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * PNG self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <string.h>
-#include <assert.h>
-#include <ipxe/pixbuf.h>
-#include <ipxe/png.h>
-#include <ipxe/test.h>
-#include "pixbuf_test.h"
-
-/** Define inline pixel data */
-#define DATA(...) { __VA_ARGS__ }
-
-/* Non-opaque alpha channel */
-PIX ( alpha, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x06, 0x00, 0x00, 0x00, 0xf3, 0x1b, 0xaf, 0xbc,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x06,
- 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0,
- 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73,
- 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a,
- 0x9c, 0x18, 0x00, 0x00, 0x01, 0x25, 0x49, 0x44, 0x41, 0x54, 0x18,
- 0xd3, 0x05, 0xc1, 0xcb, 0x2e, 0x03, 0x51, 0x00, 0x80, 0xe1, 0x7f,
- 0x6e, 0xa9, 0xe9, 0x65, 0x32, 0x53, 0x6d, 0xa5, 0x42, 0xd3, 0x34,
- 0x12, 0x0b, 0x0b, 0x1b, 0x04, 0x3b, 0x3b, 0x3b, 0x8f, 0xe1, 0x35,
- 0xbc, 0x81, 0x67, 0xf1, 0x10, 0x22, 0x11, 0x0b, 0x42, 0x68, 0x17,
- 0x5a, 0x42, 0x94, 0xd0, 0x9e, 0xe9, 0xf4, 0x4c, 0x67, 0x3a, 0x39,
- 0x33, 0xc7, 0xf7, 0x19, 0x97, 0xd7, 0xc5, 0x45, 0x7b, 0x3c, 0xc0,
- 0xd2, 0x8a, 0xa8, 0xea, 0xa3, 0x6d, 0x87, 0xc2, 0x6f, 0xe2, 0xa9,
- 0x39, 0x58, 0x0e, 0x69, 0x6e, 0xa0, 0x55, 0x42, 0xb8, 0xb0, 0x70,
- 0xa5, 0x60, 0xa5, 0xa4, 0x31, 0xea, 0x75, 0xec, 0x2c, 0xd7, 0x28,
- 0x95, 0x51, 0xff, 0x19, 0xd2, 0x7b, 0xba, 0x25, 0x2b, 0xb9, 0x8c,
- 0x8e, 0xcf, 0xf0, 0xc2, 0x2f, 0x6a, 0x71, 0x88, 0xca, 0x73, 0x22,
- 0xbf, 0xc9, 0x9a, 0x08, 0xf1, 0x3e, 0x5f, 0x49, 0x82, 0x26, 0x62,
- 0x77, 0x1f, 0x33, 0x13, 0x92, 0xd5, 0xc1, 0x3d, 0xe6, 0xf4, 0x8f,
- 0x49, 0x63, 0x93, 0xd8, 0xa9, 0xa0, 0xbf, 0xc7, 0xf4, 0xbb, 0x07,
- 0xd4, 0x06, 0x0f, 0x68, 0x39, 0xa7, 0xdf, 0xdd, 0xc3, 0x1b, 0x8f,
- 0x58, 0x3a, 0x65, 0x26, 0xc1, 0x06, 0x1f, 0xc1, 0x16, 0x26, 0xe1,
- 0x0c, 0x33, 0x92, 0x58, 0x51, 0x4c, 0x25, 0x9a, 0x32, 0xa9, 0xae,
- 0xf3, 0xdc, 0x39, 0x22, 0xff, 0x15, 0x68, 0x29, 0x11, 0x6e, 0x83,
- 0x74, 0xa9, 0x58, 0xa6, 0x19, 0x9f, 0xe5, 0x16, 0x33, 0xa3, 0x44,
- 0x94, 0x80, 0x1d, 0xfc, 0xbd, 0x93, 0x2a, 0x13, 0x65, 0x3a, 0xdc,
- 0x9c, 0x9c, 0x23, 0xdc, 0x06, 0x85, 0x08, 0xd9, 0xb9, 0xb9, 0xe2,
- 0x76, 0xfb, 0x94, 0xe6, 0xd7, 0x90, 0xb6, 0x75, 0x87, 0x23, 0xe7,
- 0xa4, 0x75, 0x93, 0xb0, 0x1c, 0x10, 0xe3, 0x60, 0x0b, 0xd7, 0x27,
- 0xe9, 0xee, 0xa1, 0x0d, 0x93, 0xa9, 0xe3, 0x43, 0x01, 0x5e, 0x26,
- 0x19, 0x74, 0xf6, 0x79, 0xe9, 0x1d, 0xd2, 0x7a, 0x7b, 0xc4, 0x4d,
- 0x26, 0x58, 0x9d, 0x1d, 0x72, 0x39, 0x63, 0x11, 0x67, 0x14, 0x96,
- 0xcd, 0x3f, 0x0a, 0xd4, 0x8b, 0x0b, 0x4d, 0xd7, 0xb9, 0xb6, 0x00,
- 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65,
- 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31,
- 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a,
- 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30,
- 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58,
- 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66,
- 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31,
- 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b,
- 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00,
- 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x48637f, 0x54566c, 0x56566a, 0x4f5c72, 0x4e5e74, 0x4d667f,
- 0x546478, 0x54657b, 0x50647b, 0x506277, 0x485d78, 0x4c5770,
- 0x505a6f, 0x516378, 0x45617f, 0x525469, 0x5d4958, 0x67333d,
- 0x643641, 0x535369, 0x5b4b5c, 0x624654, 0x604452, 0x594c5d,
- 0x5b4455, 0x623643, 0x5e3e4e, 0x555668, 0x425979, 0x5c4151,
- 0x5e404e, 0x5d3d4b, 0x5e3947, 0x53475c, 0x475b77, 0x68323c,
- 0x5f3e4c, 0x455c77, 0x623744, 0x5f3848, 0x54475c, 0x475e7a,
- 0x425171, 0x5d3a4b, 0x603948, 0x633642, 0x553f54, 0x3e5679,
- 0x46516e, 0x682c36, 0x574356, 0x415975, 0x5f3341, 0x513d53,
- 0x4d475f, 0x405a7a, 0x4a4762, 0x59384c, 0x5b394b, 0x435676,
- 0x3b5b80, 0x3a5278, 0x5b3447, 0x4d405a, 0x573649, 0x4d445b,
- 0x612d3b, 0x4d3c54, 0x454c68, 0x3a5a7d, 0x424b6a, 0x464866,
- 0x454867, 0x3a597e, 0x3a5a80, 0x414f72, 0x484361, 0x33547d,
- 0x3e4467, 0x43405d, 0x4f3c50, 0x4b364d, 0x404765, 0x395b7f ) );
-
-/* Colour type 0, bit depth 1 */
-PIX ( ctype_0_1, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0xdb, 0x60, 0x92, 0x11,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x01, 0x86,
- 0xa0, 0x31, 0xe8, 0x96, 0x5f, 0x00, 0x00, 0x00, 0x02, 0x62, 0x4b,
- 0x47, 0x44, 0x00, 0x01, 0xdd, 0x8a, 0x13, 0xa4, 0x00, 0x00, 0x00,
- 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
- 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x0e,
- 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63, 0xf8, 0xff, 0x87, 0x01,
- 0x15, 0x01, 0x00, 0x6b, 0x0d, 0x0b, 0xe3, 0xeb, 0x45, 0x62, 0x80,
- 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74,
- 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30,
- 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32,
- 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30,
- 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45,
- 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69,
- 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d,
- 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33,
- 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00,
- 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff ) );
-
-/* Colour type 0, bit depth 16 */
-PIX ( ctype_0_16, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x10, 0x00, 0x00, 0x00, 0x00, 0x86, 0xe0, 0x2c, 0x23,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x01, 0x86,
- 0xa0, 0x31, 0xe8, 0x96, 0x5f, 0x00, 0x00, 0x00, 0x02, 0x62, 0x4b,
- 0x47, 0x44, 0xff, 0xff, 0x14, 0xab, 0x31, 0xcd, 0x00, 0x00, 0x00,
- 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
- 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x85,
- 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x1d, 0x8e, 0xc9, 0x0a, 0xc2,
- 0x50, 0x0c, 0x45, 0xdf, 0x5f, 0xb9, 0x52, 0xea, 0xac, 0x88, 0xad,
- 0x58, 0x41, 0x70, 0x5e, 0x89, 0xb3, 0x82, 0x82, 0xa0, 0x9b, 0xb3,
- 0xe9, 0x42, 0x44, 0xc4, 0x3f, 0xf6, 0xb4, 0x84, 0x0c, 0x37, 0xb9,
- 0x37, 0x49, 0xc8, 0x38, 0x6b, 0x77, 0x9e, 0x7c, 0xf9, 0xf0, 0xe3,
- 0x4d, 0x26, 0x3a, 0x70, 0xe3, 0x45, 0x80, 0x2d, 0x33, 0xda, 0x74,
- 0xcc, 0x4b, 0xa6, 0x8c, 0x8d, 0xa9, 0xb8, 0xcf, 0x89, 0x70, 0x24,
- 0xd1, 0x7a, 0xc2, 0x94, 0xab, 0x94, 0xb8, 0x88, 0x39, 0x7a, 0x10,
- 0xe6, 0x85, 0x2a, 0xf7, 0x35, 0x0b, 0x6a, 0x12, 0x77, 0x54, 0xa9,
- 0x33, 0xc8, 0x95, 0xb1, 0x8d, 0x06, 0x1b, 0x2e, 0x8e, 0x22, 0x9a,
- 0x54, 0xdc, 0x52, 0xb6, 0x1a, 0x79, 0x37, 0x0c, 0x5d, 0x94, 0xb0,
- 0x97, 0x37, 0x51, 0xbd, 0xa2, 0xe5, 0x20, 0xa2, 0x44, 0xd7, 0x37,
- 0xff, 0x4c, 0xf2, 0x48, 0x0d, 0x2c, 0x7a, 0x80, 0xe2, 0x00, 0x00,
- 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a,
- 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34,
- 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34,
- 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2,
- 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74,
- 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79,
- 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32,
- 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30,
- 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00,
- 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x858585, 0x6f6f6f, 0x6f6f6f, 0x777777, 0x7b7b7b, 0x8f8f8f,
- 0x8d8d8d, 0x919191, 0x8b8b8b, 0x858585, 0x777777, 0x6c6c6c,
- 0x747474, 0x898989, 0x808080, 0x696969, 0x5c5c5c, 0x474747,
- 0x484848, 0x696969, 0x5f5f5f, 0x5b5b5b, 0x575757, 0x5f5f5f,
- 0x535353, 0x474747, 0x4d4d4d, 0x6e6e6e, 0x6d6d6d, 0x4f4f4f,
- 0x4f4f4f, 0x4b4b4b, 0x474747, 0x535353, 0x737373, 0x484848,
- 0x4e4e4e, 0x737373, 0x484848, 0x474747, 0x535353, 0x7a7a7a,
- 0x5d5d5d, 0x474747, 0x484848, 0x474747, 0x484848, 0x666666,
- 0x5e5e5e, 0x424242, 0x4f4f4f, 0x6a6a6a, 0x414141, 0x434343,
- 0x505050, 0x6e6e6e, 0x4e4e4e, 0x424242, 0x444444, 0x686868,
- 0x707070, 0x5e5e5e, 0x404040, 0x454545, 0x3e3e3e, 0x4b4b4b,
- 0x3d3d3d, 0x404040, 0x545454, 0x6c6c6c, 0x525252, 0x4e4e4e,
- 0x4f4f4f, 0x6b6b6b, 0x6e6e6e, 0x5a5a5a, 0x484848, 0x606060,
- 0x464646, 0x404040, 0x404040, 0x373737, 0x494949, 0x6f6f6f ) );
-
-/* Colour type 0, bit depth 2 */
-PIX ( ctype_0_2, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x9c, 0xc0, 0xe8, 0xc1,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x01, 0x86,
- 0xa0, 0x31, 0xe8, 0x96, 0x5f, 0x00, 0x00, 0x00, 0x02, 0x62, 0x4b,
- 0x47, 0x44, 0x00, 0x03, 0x33, 0x84, 0x72, 0x88, 0x00, 0x00, 0x00,
- 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
- 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x24,
- 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63, 0x08, 0x0d, 0x0d, 0x0d,
- 0x60, 0x08, 0x11, 0x0d, 0x11, 0x60, 0x08, 0x10, 0x11, 0x08, 0x60,
- 0x70, 0x10, 0x09, 0x08, 0x60, 0x70, 0x0c, 0x00, 0xb2, 0x42, 0x43,
- 0x1d, 0x02, 0x00, 0x59, 0xc5, 0x06, 0x00, 0x68, 0xee, 0x01, 0x07,
- 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74,
- 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30,
- 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32,
- 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30,
- 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45,
- 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69,
- 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d,
- 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33,
- 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00,
- 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x555555, 0x555555, 0x555555, 0x555555, 0x555555, 0x555555,
- 0x555555, 0x555555, 0x555555, 0x555555, 0x555555, 0x555555,
- 0x555555, 0x555555, 0x555555, 0x555555, 0x555555, 0x000000,
- 0x000000, 0x555555, 0x555555, 0x555555, 0x555555, 0x555555,
- 0x555555, 0x000000, 0x000000, 0x555555, 0x555555, 0x555555,
- 0x000000, 0x000000, 0x000000, 0x555555, 0x555555, 0x000000,
- 0x000000, 0x555555, 0x000000, 0x000000, 0x555555, 0x555555,
- 0x555555, 0x000000, 0x000000, 0x000000, 0x000000, 0x555555,
- 0x555555, 0x000000, 0x555555, 0x555555, 0x000000, 0x000000,
- 0x555555, 0x555555, 0x555555, 0x000000, 0x000000, 0x555555,
- 0x555555, 0x555555, 0x000000, 0x000000, 0x000000, 0x555555,
- 0x000000, 0x000000, 0x555555, 0x555555, 0x555555, 0x555555,
- 0x555555, 0x555555, 0x555555, 0x555555, 0x555555, 0x555555,
- 0x555555, 0x000000, 0x000000, 0x000000, 0x555555, 0x555555 ) );
-
-/* Colour type 0, bit depth 4 */
-PIX ( ctype_0_4, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x13, 0x80, 0x1d, 0x61,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x01, 0x86,
- 0xa0, 0x31, 0xe8, 0x96, 0x5f, 0x00, 0x00, 0x00, 0x02, 0x62, 0x4b,
- 0x47, 0x44, 0x00, 0x0f, 0x3a, 0x32, 0x3e, 0xa3, 0x00, 0x00, 0x00,
- 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
- 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x37,
- 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63, 0x68, 0x4f, 0xaf, 0x9c,
- 0xd9, 0x5e, 0x56, 0xc1, 0x50, 0x96, 0xe2, 0x96, 0x1a, 0x1a, 0xe2,
- 0xc6, 0x90, 0xea, 0xe2, 0x5a, 0xe2, 0xee, 0x12, 0xce, 0x10, 0xe2,
- 0xe2, 0x16, 0xec, 0xe6, 0xe2, 0xce, 0xe0, 0xe2, 0x56, 0xe6, 0x62,
- 0x62, 0x02, 0xe4, 0xbb, 0x95, 0xba, 0x39, 0x1b, 0xbb, 0x03, 0x00,
- 0x7a, 0x4c, 0x0e, 0x45, 0x5a, 0x3c, 0xd1, 0xca, 0x00, 0x00, 0x00,
- 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d,
- 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33,
- 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4,
- 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64,
- 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00,
- 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54,
- 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31,
- 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00,
- 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x888888, 0x777777, 0x666666, 0x777777, 0x777777, 0x999999,
- 0x999999, 0x999999, 0x888888, 0x777777, 0x777777, 0x666666,
- 0x777777, 0x888888, 0x777777, 0x666666, 0x666666, 0x444444,
- 0x444444, 0x666666, 0x666666, 0x555555, 0x555555, 0x555555,
- 0x555555, 0x444444, 0x444444, 0x666666, 0x666666, 0x555555,
- 0x444444, 0x444444, 0x444444, 0x555555, 0x777777, 0x444444,
- 0x444444, 0x777777, 0x444444, 0x444444, 0x555555, 0x777777,
- 0x555555, 0x444444, 0x444444, 0x444444, 0x444444, 0x666666,
- 0x555555, 0x333333, 0x444444, 0x666666, 0x444444, 0x444444,
- 0x444444, 0x777777, 0x444444, 0x444444, 0x444444, 0x666666,
- 0x777777, 0x666666, 0x444444, 0x444444, 0x333333, 0x444444,
- 0x333333, 0x444444, 0x555555, 0x777777, 0x555555, 0x444444,
- 0x444444, 0x666666, 0x777777, 0x555555, 0x444444, 0x666666,
- 0x444444, 0x333333, 0x333333, 0x333333, 0x444444, 0x777777 ) );
-
-/* Colour type 0, bit depth 8 */
-PIX ( ctype_0_8, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0xd6, 0x70, 0xf0, 0x60,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x01, 0x86,
- 0xa0, 0x31, 0xe8, 0x96, 0x5f, 0x00, 0x00, 0x00, 0x02, 0x62, 0x4b,
- 0x47, 0x44, 0x00, 0xff, 0x87, 0x8f, 0xcc, 0xbf, 0x00, 0x00, 0x00,
- 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
- 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x62,
- 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63, 0x68, 0xcd, 0xcf, 0x2f,
- 0xaf, 0xee, 0xef, 0x9d, 0xd8, 0xdd, 0x5a, 0x9e, 0x53, 0xd2, 0xc9,
- 0xd0, 0x90, 0x19, 0xe3, 0xe1, 0x91, 0x19, 0x1f, 0x1d, 0x1e, 0x1f,
- 0xec, 0xee, 0x97, 0xc7, 0x90, 0xeb, 0x1f, 0xe0, 0xed, 0x1e, 0x5c,
- 0xec, 0xe9, 0x57, 0xec, 0xe9, 0x1e, 0x52, 0xc5, 0x10, 0xeb, 0xee,
- 0xe9, 0xee, 0x91, 0x16, 0xe7, 0xec, 0x9f, 0xe5, 0xe8, 0x1c, 0x90,
- 0xc7, 0xe0, 0xe7, 0xe4, 0x9a, 0x51, 0x10, 0xe7, 0xe0, 0x6a, 0xef,
- 0x6d, 0xe7, 0x10, 0x92, 0xc3, 0x10, 0xe4, 0xe7, 0x9f, 0x9d, 0x17,
- 0xe5, 0x91, 0xe8, 0xe6, 0xe0, 0x60, 0xee, 0x99, 0x0f, 0x00, 0xb8,
- 0xaa, 0x1e, 0x19, 0xe8, 0x28, 0x25, 0xa0, 0x00, 0x00, 0x00, 0x25,
- 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30,
- 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a,
- 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66,
- 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61,
- 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32,
- 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32,
- 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a,
- 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49,
- 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x858585, 0x6f6f6f, 0x6f6f6f, 0x777777, 0x7b7b7b, 0x8f8f8f,
- 0x8d8d8d, 0x919191, 0x8b8b8b, 0x858585, 0x777777, 0x6c6c6c,
- 0x747474, 0x898989, 0x808080, 0x696969, 0x5c5c5c, 0x484848,
- 0x484848, 0x696969, 0x5f5f5f, 0x5b5b5b, 0x575757, 0x5f5f5f,
- 0x535353, 0x474747, 0x4e4e4e, 0x6e6e6e, 0x6d6d6d, 0x4f4f4f,
- 0x505050, 0x4b4b4b, 0x474747, 0x535353, 0x737373, 0x494949,
- 0x4e4e4e, 0x737373, 0x494949, 0x474747, 0x545454, 0x7a7a7a,
- 0x5d5d5d, 0x474747, 0x494949, 0x474747, 0x484848, 0x666666,
- 0x5e5e5e, 0x434343, 0x4f4f4f, 0x6a6a6a, 0x414141, 0x434343,
- 0x505050, 0x6e6e6e, 0x4e4e4e, 0x424242, 0x454545, 0x686868,
- 0x707070, 0x5e5e5e, 0x404040, 0x454545, 0x3f3f3f, 0x4b4b4b,
- 0x3e3e3e, 0x404040, 0x545454, 0x6c6c6c, 0x525252, 0x4e4e4e,
- 0x4f4f4f, 0x6b6b6b, 0x6e6e6e, 0x5a5a5a, 0x484848, 0x616161,
- 0x464646, 0x404040, 0x404040, 0x373737, 0x494949, 0x6f6f6f ) );
-
-/* Colour type 2, bit depth 16 */
-PIX ( ctype_2_16, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x10, 0x02, 0x00, 0x00, 0x00, 0x2c, 0xe9, 0xe4, 0xa8,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x06,
- 0x62, 0x4b, 0x47, 0x44, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x09,
- 0x58, 0xf7, 0xdc, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73,
- 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a,
- 0x9c, 0x18, 0x00, 0x00, 0x01, 0x45, 0x49, 0x44, 0x41, 0x54, 0x18,
- 0xd3, 0x2d, 0xcb, 0xc1, 0x6e, 0xd2, 0x00, 0x00, 0x00, 0xd0, 0x47,
- 0x4b, 0x83, 0xb0, 0x8d, 0x00, 0x8e, 0x99, 0x19, 0x25, 0x64, 0x31,
- 0xf1, 0xb0, 0x83, 0x97, 0xcd, 0xa8, 0x37, 0x6f, 0xde, 0xfc, 0x0c,
- 0x7f, 0x83, 0x3f, 0xf0, 0x5b, 0xfc, 0x08, 0xb3, 0x64, 0xf1, 0xa0,
- 0xd1, 0xe8, 0x38, 0xb8, 0x69, 0x5c, 0x86, 0xc6, 0x41, 0x4b, 0x29,
- 0x83, 0x35, 0x2d, 0xf5, 0xe2, 0xbb, 0xbf, 0xda, 0xdb, 0xd1, 0xfb,
- 0xd1, 0x66, 0xb4, 0x6f, 0x62, 0x2c, 0x54, 0x29, 0xa4, 0xb6, 0x75,
- 0x54, 0xea, 0x22, 0x1b, 0x1d, 0x7d, 0x6d, 0x85, 0x05, 0x42, 0x91,
- 0xb5, 0x52, 0x4d, 0xa5, 0xb0, 0x92, 0xb8, 0x11, 0x6a, 0xca, 0xc4,
- 0xee, 0x68, 0xa8, 0xd4, 0xf4, 0xf4, 0xd4, 0x73, 0xa5, 0x4a, 0xa1,
- 0x90, 0xeb, 0xf9, 0xe3, 0xdc, 0x81, 0x2f, 0x4e, 0xe5, 0x1a, 0x9a,
- 0x2e, 0xbc, 0xf0, 0x5a, 0x5b, 0xe2, 0xca, 0x8e, 0xa5, 0x44, 0xa1,
- 0x54, 0x4a, 0x75, 0xf4, 0xdd, 0x13, 0x4b, 0xb4, 0x5d, 0xfa, 0x6e,
- 0xa5, 0xab, 0x2f, 0xf6, 0xc4, 0xb1, 0x20, 0x17, 0xcb, 0xdc, 0x35,
- 0xf6, 0x51, 0x60, 0xe6, 0xda, 0xd4, 0xae, 0x87, 0x96, 0x22, 0x5b,
- 0x2a, 0xbf, 0x4d, 0x9c, 0x19, 0x7a, 0x6a, 0xc7, 0xd8, 0x27, 0x95,
- 0xcc, 0xc2, 0x99, 0xa1, 0x23, 0x6d, 0x13, 0x17, 0x6e, 0x45, 0x5a,
- 0xa6, 0xba, 0x1e, 0xf8, 0xa5, 0xeb, 0x91, 0x80, 0xc4, 0x5c, 0x20,
- 0x95, 0x09, 0xa5, 0x96, 0xb6, 0xa4, 0x66, 0xa6, 0xb6, 0xdd, 0xf7,
- 0xd5, 0xc0, 0x73, 0xa5, 0xbf, 0x62, 0x95, 0x4c, 0x26, 0xd6, 0xb4,
- 0x6b, 0xed, 0x56, 0xe1, 0xd6, 0x5a, 0xee, 0x52, 0xcb, 0x9e, 0xb9,
- 0x9a, 0x86, 0xd4, 0x0a, 0xf5, 0xae, 0x6b, 0x3f, 0xad, 0x15, 0x02,
- 0x85, 0x40, 0xe4, 0xc4, 0x4b, 0x6f, 0xfe, 0xe7, 0x8d, 0x58, 0xe2,
- 0xd0, 0x89, 0x77, 0x4e, 0x3d, 0xf6, 0x4a, 0xdf, 0x95, 0x73, 0xfb,
- 0x42, 0x1f, 0x44, 0x32, 0x0b, 0x6b, 0x3d, 0x81, 0x44, 0x4b, 0xd7,
- 0x12, 0x91, 0x7a, 0xac, 0xa9, 0x63, 0x65, 0xe8, 0x48, 0xa5, 0x26,
- 0x30, 0x13, 0xe9, 0x60, 0x83, 0xb6, 0x5c, 0x66, 0x6c, 0xe0, 0xd8,
- 0x37, 0x07, 0x9e, 0xd9, 0xf3, 0xc3, 0x67, 0x4d, 0x2b, 0x53, 0xa1,
- 0x81, 0x43, 0xa5, 0xcc, 0xdc, 0x8d, 0xa5, 0xdc, 0x46, 0xa8, 0xee,
- 0x1f, 0x17, 0x48, 0x8c, 0x0b, 0x6d, 0x83, 0xc4, 0x70, 0x00, 0x00,
- 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a,
- 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34,
- 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34,
- 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2,
- 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74,
- 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79,
- 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32,
- 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30,
- 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00,
- 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Colour type 2, bit depth 8 */
-PIX ( ctype_2_8, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x02, 0x00, 0x00, 0x00, 0x7c, 0x79, 0x38, 0xeb,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x06,
- 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0,
- 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73,
- 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a,
- 0x9c, 0x18, 0x00, 0x00, 0x01, 0x04, 0x49, 0x44, 0x41, 0x54, 0x18,
- 0xd3, 0x05, 0xc1, 0xc1, 0x4e, 0x83, 0x30, 0x00, 0x00, 0x50, 0x68,
- 0x69, 0xb0, 0x6c, 0x23, 0x80, 0x30, 0x33, 0xa3, 0x84, 0x2c, 0x26,
- 0x1e, 0x76, 0xf0, 0xb2, 0x19, 0xf5, 0xe6, 0xcd, 0x9b, 0x9f, 0xe1,
- 0xe7, 0xf8, 0x2d, 0x7e, 0x84, 0x59, 0xb2, 0x78, 0xd0, 0x68, 0x74,
- 0x1c, 0xdc, 0x34, 0x2e, 0x63, 0xc6, 0x41, 0x0b, 0x94, 0x01, 0x4d,
- 0xa1, 0xbe, 0xa7, 0xde, 0x3f, 0xb6, 0x83, 0x28, 0x84, 0x52, 0x64,
- 0x5d, 0x4b, 0x6a, 0xa8, 0xb5, 0x3c, 0x53, 0xe4, 0x0a, 0x44, 0x55,
- 0xa3, 0x4a, 0x51, 0xd2, 0x1d, 0xc4, 0x8c, 0xec, 0xe9, 0x52, 0x75,
- 0x1c, 0x8d, 0x37, 0x52, 0x08, 0xee, 0xfc, 0x2e, 0x86, 0x6f, 0x33,
- 0xae, 0xe3, 0xe5, 0xd5, 0xad, 0x49, 0xd7, 0xbd, 0x82, 0x8a, 0xa6,
- 0xc9, 0x2c, 0xef, 0x80, 0x50, 0x73, 0xf5, 0x59, 0xda, 0x1e, 0x39,
- 0x9b, 0x00, 0x4e, 0xd8, 0x7e, 0xf8, 0x0c, 0x92, 0x6d, 0xec, 0x1e,
- 0x17, 0xa8, 0x23, 0x37, 0xd1, 0x3c, 0x38, 0xef, 0x85, 0x2f, 0x92,
- 0xe5, 0xf3, 0x60, 0x6c, 0x46, 0xcb, 0x1a, 0x19, 0xb1, 0x7d, 0xf4,
- 0x63, 0x9f, 0x00, 0x85, 0xa6, 0x20, 0x63, 0x30, 0x2b, 0x3a, 0x59,
- 0x12, 0x77, 0x0f, 0xdf, 0xfd, 0xcb, 0xe6, 0x8f, 0x48, 0xc6, 0x08,
- 0x76, 0xab, 0x5a, 0xd4, 0x15, 0x5f, 0x19, 0xfd, 0x54, 0xd5, 0xb3,
- 0x52, 0xd1, 0xec, 0xed, 0x77, 0x25, 0x80, 0x00, 0x68, 0x7a, 0x7d,
- 0x47, 0xb0, 0xdb, 0x12, 0x3a, 0x9a, 0x3e, 0xcc, 0x4e, 0x6f, 0xbc,
- 0xf5, 0x62, 0x00, 0x9f, 0x10, 0xcb, 0x2b, 0x07, 0x50, 0xc3, 0x2e,
- 0x14, 0xa4, 0x11, 0x6c, 0x95, 0xc1, 0x58, 0xaa, 0x20, 0x41, 0x96,
- 0xd2, 0x2a, 0x26, 0x67, 0xa1, 0x3f, 0xf9, 0x18, 0x5e, 0xf4, 0xbf,
- 0x5e, 0x71, 0x19, 0x43, 0x7f, 0xd4, 0xb0, 0x74, 0x57, 0xf0, 0x16,
- 0x6a, 0xff, 0xc1, 0x85, 0x8a, 0x8b, 0x87, 0xa4, 0x8a, 0x0e, 0x00,
- 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65,
- 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31,
- 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a,
- 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30,
- 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58,
- 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66,
- 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31,
- 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b,
- 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00,
- 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Colour type 3, bit depth 1 */
-PIX ( ctype_3_1, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x02, 0x03, 0x00, 0x00, 0x00, 0x8e, 0x75, 0x47, 0x2f,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x0c,
- 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff,
- 0x00, 0xff, 0x00, 0xff, 0xff, 0x35, 0x24, 0xb1, 0xc4, 0x00, 0x00,
- 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x00, 0x88, 0x05, 0x1d, 0x48,
- 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b,
- 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00,
- 0x00, 0x00, 0x24, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63, 0x60,
- 0x00, 0x01, 0xc6, 0x06, 0xa6, 0x06, 0x06, 0xae, 0xc6, 0x2e, 0x06,
- 0x06, 0xad, 0x8d, 0x5c, 0x06, 0x0c, 0x1a, 0xbf, 0xda, 0x0c, 0x18,
- 0x98, 0x0f, 0xbf, 0xfa, 0x00, 0x00, 0x4a, 0x48, 0x07, 0xa6, 0x66,
- 0x5c, 0x57, 0x79, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74,
- 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32,
- 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30,
- 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00,
- 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d,
- 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d,
- 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33,
- 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9,
- 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
- 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xff0000,
- 0xff00ff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xff00ff, 0xff00ff, 0xffffff, 0xffffff, 0xffffff,
- 0xff00ff, 0xff00ff, 0xff00ff, 0xffffff, 0xffffff, 0xff0000,
- 0xff00ff, 0xffffff, 0xff00ff, 0xff00ff, 0xffffff, 0xffffff,
- 0xffffff, 0xff00ff, 0xff00ff, 0xff00ff, 0xff00ff, 0x00ffff,
- 0xffffff, 0xff0000, 0xffffff, 0xffffff, 0xff00ff, 0xff00ff,
- 0xffffff, 0x00ffff, 0xffffff, 0xff00ff, 0xff00ff, 0xffffff,
- 0x00ffff, 0x00ffff, 0xff00ff, 0xff00ff, 0xff00ff, 0xffffff,
- 0xff0000, 0xff00ff, 0xffffff, 0x00ffff, 0xffffff, 0xffffff,
- 0xffffff, 0x00ffff, 0x00ffff, 0xffffff, 0xffffff, 0x00ffff,
- 0x00ffff, 0xff00ff, 0xff00ff, 0xff00ff, 0x00ffff, 0x00ffff ) );
-
-/* Colour type 3, bit depth 2 */
-PIX ( ctype_3_2, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x35, 0xb2, 0x8f,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x15,
- 0x50, 0x4c, 0x54, 0x45, 0xaa, 0xaa, 0xff, 0xaa, 0xaa, 0xaa, 0xaa,
- 0x55, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0xff, 0x55, 0xaa, 0xaa,
- 0xff, 0xff, 0xff, 0xef, 0x1e, 0x2f, 0x5e, 0x00, 0x00, 0x00, 0x01,
- 0x62, 0x4b, 0x47, 0x44, 0x06, 0x61, 0x66, 0xb8, 0x7d, 0x00, 0x00,
- 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00,
- 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00,
- 0x34, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63, 0x60, 0x10, 0x60,
- 0x00, 0x03, 0x46, 0x21, 0x43, 0x41, 0x41, 0x61, 0x43, 0x06, 0x46,
- 0x63, 0x43, 0x26, 0x03, 0x63, 0x01, 0x06, 0x66, 0x63, 0x13, 0x26,
- 0x01, 0x63, 0x11, 0x06, 0x61, 0x03, 0x17, 0x63, 0x43, 0x65, 0x11,
- 0x06, 0x41, 0x11, 0x07, 0x91, 0x60, 0xe3, 0x10, 0x00, 0x53, 0x53,
- 0x04, 0xcd, 0x45, 0xaa, 0x11, 0x71, 0x00, 0x00, 0x00, 0x25, 0x74,
- 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31,
- 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30,
- 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28,
- 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74,
- 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30,
- 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32,
- 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30,
- 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
- 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0xaaaaff, 0xaaaaff, 0xaaaaaa, 0xaaaaff, 0xaaaaff, 0xaaaaff,
- 0xaaaaff, 0xaaaaff, 0xaaaaff, 0xaaaaff, 0xaaaaff, 0xaaaaff,
- 0xaaaaff, 0xaaaaff, 0xaaaaff, 0xaaaaaa, 0xaaaaaa, 0xaa5555,
- 0xaa55aa, 0xaaaaaa, 0xaaaaaa, 0xaaaaaa, 0xaaaaaa, 0xaaaaaa,
- 0xaaaaaa, 0xaa55aa, 0xaa55aa, 0xaaaaaa, 0xaaaaff, 0xaaaaaa,
- 0xaa55aa, 0xaa55aa, 0xaa55aa, 0xaaaaaa, 0xaaaaff, 0xaa5555,
- 0xaa55aa, 0xaaaaff, 0xaa55aa, 0xaa55aa, 0xaaaaaa, 0xaaaaff,
- 0xaaaaff, 0xaa55aa, 0xaa55aa, 0xaa55aa, 0xaa55aa, 0x55aaff,
- 0xaaaaff, 0xaa5555, 0xaaaaaa, 0xaaaaff, 0xaa55aa, 0xaa55aa,
- 0xaaaaaa, 0x55aaff, 0xaaaaaa, 0xaa55aa, 0xaa55aa, 0xaaaaff,
- 0x55aaff, 0x55aaff, 0xaa55aa, 0xaa55aa, 0xaa55aa, 0xaaaaaa,
- 0xaa5555, 0xaa55aa, 0xaaaaaa, 0x55aaff, 0xaaaaaa, 0xaaaaaa,
- 0xaaaaaa, 0x55aaff, 0x55aaff, 0xaaaaff, 0xaaaaaa, 0x55aaff,
- 0x55aaaa, 0xaa55aa, 0xaa55aa, 0xaa55aa, 0x55aaaa, 0x55aaff ) );
-
-/* Colour type 3, bit depth 4 */
-PIX ( ctype_3_4, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x03, 0x00, 0x00, 0x00, 0xc4, 0xc5, 0x5f, 0x8e,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x8a,
- 0x50, 0x4c, 0x54, 0x45, 0x88, 0xcc, 0xff, 0xaa, 0xaa, 0xdd, 0xaa,
- 0xaa, 0xcc, 0x99, 0xbb, 0xdd, 0x99, 0xbb, 0xee, 0x99, 0xcc, 0xff,
- 0xaa, 0xcc, 0xee, 0x99, 0xcc, 0xee, 0x88, 0xbb, 0xee, 0x99, 0xaa,
- 0xdd, 0x88, 0xbb, 0xff, 0xbb, 0x99, 0xaa, 0xcc, 0x66, 0x77, 0xcc,
- 0x66, 0x88, 0xbb, 0x99, 0xbb, 0xbb, 0x88, 0xaa, 0xaa, 0x99, 0xbb,
- 0xbb, 0x77, 0x99, 0x88, 0xaa, 0xee, 0xbb, 0x88, 0x99, 0xbb, 0x77,
- 0x88, 0xaa, 0x88, 0xbb, 0x88, 0x99, 0xdd, 0xaa, 0x77, 0xaa, 0x77,
- 0xaa, 0xee, 0xcc, 0x55, 0x66, 0xaa, 0x88, 0xaa, 0xbb, 0x66, 0x88,
- 0x99, 0x77, 0xaa, 0x99, 0x88, 0xbb, 0x77, 0xbb, 0xee, 0xaa, 0x77,
- 0x99, 0x77, 0xbb, 0xff, 0x99, 0x77, 0xbb, 0xaa, 0x66, 0x99, 0xbb,
- 0x55, 0x77, 0x88, 0x99, 0xcc, 0x88, 0x88, 0xcc, 0x77, 0xaa, 0xff,
- 0x88, 0x88, 0xbb, 0x66, 0xaa, 0xff, 0x77, 0x88, 0xcc, 0x88, 0x77,
- 0xbb, 0x99, 0x77, 0x99, 0x99, 0x66, 0x99, 0xff, 0xff, 0xff, 0xac,
- 0x68, 0xae, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44,
- 0x2d, 0xcd, 0xda, 0x41, 0x3d, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48,
- 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01,
- 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x59, 0x49, 0x44, 0x41,
- 0x54, 0x08, 0xd7, 0x0d, 0xc5, 0xd9, 0x02, 0x40, 0x20, 0x10, 0x00,
- 0xc0, 0x95, 0x2b, 0x47, 0xb2, 0x49, 0xce, 0x08, 0xe5, 0xfe, 0xff,
- 0xef, 0x63, 0x5e, 0x06, 0xc0, 0x23, 0x7e, 0x10, 0x46, 0x51, 0x1c,
- 0xd0, 0xc4, 0x8f, 0x21, 0x25, 0x59, 0xce, 0x48, 0xc1, 0x79, 0xc9,
- 0x19, 0x12, 0x10, 0x15, 0xa2, 0xac, 0x69, 0x8e, 0x94, 0xfd, 0x81,
- 0x42, 0xc9, 0x9a, 0x56, 0x75, 0xbd, 0x18, 0x46, 0x3d, 0x81, 0x9e,
- 0x51, 0x98, 0x76, 0x58, 0x56, 0xbd, 0x8d, 0xd6, 0x80, 0x75, 0x6e,
- 0x37, 0xea, 0x38, 0xaf, 0xfb, 0x79, 0x2f, 0xf3, 0x01, 0xcb, 0xd6,
- 0x06, 0x9f, 0x93, 0x26, 0xe0, 0xd0, 0x00, 0x00, 0x00, 0x25, 0x74,
- 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31,
- 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30,
- 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28,
- 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74,
- 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30,
- 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32,
- 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30,
- 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
- 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x88ccff, 0xaaaadd, 0xaaaacc, 0x99bbdd, 0x99bbee, 0x99ccff,
- 0xaaccee, 0xaaccee, 0x99ccee, 0x99bbee, 0x88bbee, 0x99aadd,
- 0x99bbdd, 0x99ccee, 0x88bbff, 0xaaaacc, 0xbb99aa, 0xcc6677,
- 0xcc6688, 0xaaaacc, 0xbb99bb, 0xbb88aa, 0xbb88aa, 0xaa99bb,
- 0xbb88aa, 0xcc6688, 0xbb7799, 0xaaaacc, 0x88aaee, 0xbb8899,
- 0xbb7799, 0xbb7799, 0xbb7788, 0xaa88bb, 0x88bbee, 0xcc6677,
- 0xbb7799, 0x88bbee, 0xcc6688, 0xbb7788, 0xaa88bb, 0x88bbee,
- 0x8899dd, 0xbb7799, 0xbb7788, 0xcc6688, 0xaa77aa, 0x77aaee,
- 0x8899dd, 0xcc5566, 0xaa88aa, 0x88aaee, 0xbb6688, 0x9977aa,
- 0x9988bb, 0x77bbee, 0x9988bb, 0xaa7799, 0xbb7799, 0x88aaee,
- 0x77bbff, 0x77aaee, 0xbb6688, 0x9977bb, 0xaa6699, 0x9988bb,
- 0xbb5577, 0x9977aa, 0x8899cc, 0x77bbff, 0x8899cc, 0x8888cc,
- 0x8888cc, 0x77aaff, 0x77bbff, 0x8899dd, 0x8888bb, 0x66aaff,
- 0x7788cc, 0x8877bb, 0x997799, 0x996699, 0x7788cc, 0x77bbff ) );
-
-/* Colour type 3, bit depth 8 */
-PIX ( ctype_3_8, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x03, 0x00, 0x00, 0x00, 0xc4, 0xc5, 0x5f, 0x8e,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0xff,
- 0x50, 0x4c, 0x54, 0x45, 0x8f, 0xc5, 0xfe, 0xa8, 0xac, 0xd7, 0xab,
- 0xab, 0xd3, 0x9d, 0xb7, 0xe3, 0x9c, 0xbb, 0xe8, 0x9a, 0xcb, 0xfd,
- 0xa8, 0xc7, 0xf0, 0xa8, 0xca, 0xf5, 0xa0, 0xc7, 0xf6, 0x9f, 0xc3,
- 0xed, 0x8f, 0xb9, 0xf0, 0x98, 0xad, 0xdf, 0xa0, 0xb4, 0xde, 0xa1,
- 0xc6, 0xf0, 0x89, 0xc2, 0xfd, 0xa4, 0xa8, 0xd1, 0xba, 0x91, 0xaf,
- 0xcd, 0x65, 0x79, 0xc7, 0x6c, 0x82, 0xa6, 0xa6, 0xd1, 0xb6, 0x96,
- 0xb7, 0xc3, 0x8b, 0xa7, 0xbf, 0x88, 0xa4, 0xb1, 0x98, 0xb9, 0xb6,
- 0x87, 0xa9, 0xc4, 0x6b, 0x86, 0xbb, 0x7c, 0x9b, 0xaa, 0xab, 0xd0,
- 0x83, 0xb1, 0xf1, 0xb7, 0x81, 0xa1, 0xbc, 0x7f, 0x9b, 0xba, 0x79,
- 0x96, 0xbc, 0x71, 0x8d, 0xa5, 0x8e, 0xb8, 0x8e, 0xb6, 0xed, 0xd0,
- 0x64, 0x78, 0xbe, 0x7c, 0x97, 0x89, 0xb8, 0xed, 0xc4, 0x6e, 0x88,
- 0xbd, 0x70, 0x90, 0xa8, 0x8d, 0xb7, 0x8d, 0xbc, 0xf4, 0x83, 0xa1,
- 0xe2, 0xb9, 0x73, 0x95, 0xbf, 0x71, 0x90, 0xc5, 0x6b, 0x84, 0xa9,
- 0x7d, 0xa7, 0x7b, 0xac, 0xf1, 0x8b, 0xa1, 0xdc, 0xcf, 0x58, 0x6c,
- 0xad, 0x85, 0xab, 0x81, 0xb1, 0xe9, 0xbd, 0x66, 0x82, 0xa1, 0x7a,
- 0xa6, 0x99, 0x8e, 0xbe, 0x7f, 0xb3, 0xf4, 0x94, 0x8d, 0xc3, 0xb1,
- 0x6f, 0x97, 0xb5, 0x71, 0x95, 0x86, 0xac, 0xeb, 0x75, 0xb5, 0xff,
- 0x73, 0xa4, 0xef, 0xb6, 0x68, 0x8d, 0x99, 0x7f, 0xb4, 0xae, 0x6b,
- 0x92, 0x9a, 0x88, 0xb5, 0xc2, 0x5a, 0x75, 0x99, 0x78, 0xa8, 0x89,
- 0x98, 0xcf, 0x74, 0xb3, 0xf9, 0x83, 0x96, 0xd3, 0x8b, 0x8f, 0xcb,
- 0x8a, 0x90, 0xcd, 0x74, 0xb1, 0xfb, 0x74, 0xb3, 0xff, 0x81, 0x9e,
- 0xe3, 0x8f, 0x86, 0xc2, 0x66, 0xa8, 0xfa, 0x7c, 0x88, 0xcd, 0x85,
- 0x7f, 0xba, 0x9d, 0x78, 0xa0, 0x96, 0x6c, 0x99, 0x7f, 0x8d, 0xc9,
- 0x72, 0xb6, 0xfd, 0xff, 0xff, 0xff, 0xdb, 0x2a, 0x9f, 0xad, 0x00,
- 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x54, 0xe4, 0x03, 0x88,
- 0xa5, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00,
- 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18,
- 0x00, 0x00, 0x00, 0x62, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63,
- 0x60, 0x60, 0x64, 0x62, 0x66, 0x61, 0x65, 0x63, 0xe7, 0xe0, 0xe4,
- 0xe2, 0xe6, 0xe1, 0x65, 0xe0, 0xe3, 0x17, 0x10, 0x14, 0x12, 0x16,
- 0x11, 0x15, 0x13, 0x97, 0x90, 0x94, 0x92, 0x66, 0x90, 0x91, 0x95,
- 0x93, 0x57, 0x50, 0x54, 0x52, 0x56, 0x51, 0x55, 0x53, 0xd7, 0xd0,
- 0x64, 0xd0, 0xd2, 0xd6, 0xd1, 0xd5, 0xd3, 0x37, 0x30, 0x34, 0x32,
- 0x36, 0x31, 0x35, 0x33, 0x67, 0xb0, 0xb0, 0xb4, 0xb2, 0xb6, 0xb1,
- 0xb5, 0xb3, 0x77, 0x70, 0x74, 0x72, 0x76, 0x71, 0x65, 0x70, 0x73,
- 0xf7, 0xf0, 0xf4, 0xf2, 0xf6, 0xf1, 0xf5, 0xf3, 0x0f, 0x08, 0x0c,
- 0x0a, 0x06, 0x00, 0x96, 0xe0, 0x0d, 0x9f, 0x37, 0x73, 0x30, 0xa4,
- 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74,
- 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30,
- 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32,
- 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30,
- 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45,
- 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69,
- 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d,
- 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33,
- 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00,
- 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Colour type 4, bit depth 16 */
-PIX ( ctype_4_16, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x10, 0x04, 0x00, 0x00, 0x00, 0x09, 0x82, 0xbb, 0x74,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x01, 0x86,
- 0xa0, 0x31, 0xe8, 0x96, 0x5f, 0x00, 0x00, 0x00, 0x02, 0x62, 0x4b,
- 0x47, 0x44, 0xff, 0xff, 0x14, 0xab, 0x31, 0xcd, 0x00, 0x00, 0x00,
- 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
- 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x93,
- 0x49, 0x44, 0x41, 0x54, 0x18, 0xd3, 0x4d, 0xcf, 0xc1, 0x4e, 0xc2,
- 0x60, 0x10, 0x04, 0xe0, 0x8f, 0xf2, 0x0b, 0x24, 0x72, 0x13, 0x4f,
- 0x9e, 0x48, 0x78, 0xd0, 0x5e, 0x78, 0x51, 0x0f, 0x1e, 0x4a, 0xaa,
- 0x80, 0x96, 0x22, 0x68, 0xeb, 0xc1, 0x39, 0x74, 0x93, 0xc9, 0x4e,
- 0x76, 0x76, 0x33, 0xb3, 0xb3, 0x7d, 0x3d, 0xd6, 0x8d, 0xff, 0x5a,
- 0xa1, 0x60, 0x83, 0x21, 0xfc, 0x16, 0x9c, 0xd1, 0x65, 0xe7, 0x19,
- 0xe5, 0x1e, 0xe1, 0x13, 0x07, 0xcc, 0xb0, 0xc5, 0x05, 0x3f, 0xc1,
- 0x0a, 0x5f, 0xc1, 0x22, 0xfb, 0x55, 0x8b, 0xb7, 0x1c, 0x16, 0x8c,
- 0x68, 0xe2, 0xda, 0xa2, 0x0f, 0xef, 0x92, 0x6a, 0x81, 0x35, 0xca,
- 0x11, 0xd7, 0x38, 0x8d, 0xe9, 0x4f, 0x71, 0xbf, 0x61, 0x99, 0xe3,
- 0x6f, 0x54, 0xf8, 0x8d, 0x73, 0x39, 0xe1, 0x9e, 0xe1, 0x2e, 0xb1,
- 0xde, 0xf1, 0x8a, 0x07, 0x7c, 0x4c, 0x22, 0xcf, 0x93, 0x6a, 0x40,
- 0x55, 0x62, 0xfd, 0x18, 0x61, 0x98, 0xfc, 0xf5, 0x92, 0xde, 0x45,
- 0xeb, 0x27, 0xfc, 0x0f, 0x08, 0x4c, 0x30, 0x03, 0xe4, 0x95, 0x23,
- 0xfb, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61,
- 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32,
- 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32,
- 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a,
- 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74,
- 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64,
- 0x69, 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31,
- 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30,
- 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94,
- 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60,
- 0x82 ),
- 14, 6,
- DATA ( 0x858585, 0x6f6f6f, 0x6f6f6f, 0x777777, 0x7b7b7b, 0x8f8f8f,
- 0x8d8d8d, 0x919191, 0x8b8b8b, 0x858585, 0x777777, 0x6c6c6c,
- 0x747474, 0x898989, 0x808080, 0x696969, 0x5c5c5c, 0x474747,
- 0x484848, 0x696969, 0x5f5f5f, 0x5b5b5b, 0x575757, 0x5f5f5f,
- 0x535353, 0x474747, 0x4d4d4d, 0x6e6e6e, 0x6d6d6d, 0x4f4f4f,
- 0x4f4f4f, 0x4b4b4b, 0x474747, 0x535353, 0x737373, 0x484848,
- 0x4e4e4e, 0x737373, 0x484848, 0x474747, 0x535353, 0x7a7a7a,
- 0x5d5d5d, 0x474747, 0x484848, 0x474747, 0x484848, 0x666666,
- 0x5e5e5e, 0x424242, 0x4f4f4f, 0x6a6a6a, 0x414141, 0x434343,
- 0x505050, 0x6e6e6e, 0x4e4e4e, 0x424242, 0x444444, 0x686868,
- 0x707070, 0x5e5e5e, 0x404040, 0x454545, 0x3e3e3e, 0x4b4b4b,
- 0x3d3d3d, 0x404040, 0x545454, 0x6c6c6c, 0x525252, 0x4e4e4e,
- 0x4f4f4f, 0x6b6b6b, 0x6e6e6e, 0x5a5a5a, 0x484848, 0x606060,
- 0x464646, 0x404040, 0x404040, 0x373737, 0x494949, 0x6f6f6f ) );
-
-/* Colour type 4, bit depth 8 */
-PIX ( ctype_4_8, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x04, 0x00, 0x00, 0x00, 0x59, 0x12, 0x67, 0x37,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x01, 0x86,
- 0xa0, 0x31, 0xe8, 0x96, 0x5f, 0x00, 0x00, 0x00, 0x02, 0x62, 0x4b,
- 0x47, 0x44, 0x00, 0xff, 0x87, 0x8f, 0xcc, 0xbf, 0x00, 0x00, 0x00,
- 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
- 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x72,
- 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x05, 0xc1, 0xbb, 0x0e, 0x82,
- 0x30, 0x00, 0x00, 0xc0, 0xa3, 0x54, 0x6d, 0x0c, 0x9b, 0xb8, 0xb9,
- 0x18, 0xbf, 0xd5, 0x1f, 0x75, 0x70, 0xf0, 0x15, 0x1f, 0x20, 0xa6,
- 0x56, 0xf0, 0xae, 0xda, 0x4f, 0x27, 0x24, 0x51, 0x6b, 0x14, 0x65,
- 0xd9, 0x53, 0x2f, 0x59, 0x8b, 0x5f, 0xd9, 0xcb, 0x05, 0x5b, 0x6f,
- 0x45, 0x91, 0x74, 0x3a, 0x0b, 0x59, 0xb8, 0x3a, 0xea, 0xd4, 0x26,
- 0x27, 0xad, 0x9b, 0x41, 0xeb, 0x8d, 0xb9, 0x46, 0xbc, 0xfb, 0x08,
- 0x46, 0x95, 0x95, 0xb3, 0x6c, 0x6e, 0xf0, 0x11, 0x14, 0x9d, 0xf8,
- 0xf0, 0x55, 0xdb, 0x49, 0x6e, 0x0e, 0x66, 0xee, 0x8a, 0x9f, 0x49,
- 0x34, 0x0a, 0x51, 0x63, 0xa9, 0x36, 0x2a, 0x92, 0x8d, 0x85, 0x5e,
- 0x30, 0xe8, 0xd5, 0xfe, 0x3c, 0xbb, 0x2f, 0xff, 0xe5, 0xd1, 0x65,
- 0x25, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61,
- 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32,
- 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32,
- 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a,
- 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74,
- 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64,
- 0x69, 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31,
- 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30,
- 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94,
- 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60,
- 0x82 ),
- 14, 6,
- DATA ( 0x858585, 0x6f6f6f, 0x6f6f6f, 0x777777, 0x7b7b7b, 0x8f8f8f,
- 0x8d8d8d, 0x919191, 0x8b8b8b, 0x858585, 0x777777, 0x6c6c6c,
- 0x747474, 0x898989, 0x808080, 0x696969, 0x5c5c5c, 0x484848,
- 0x484848, 0x696969, 0x5f5f5f, 0x5b5b5b, 0x575757, 0x5f5f5f,
- 0x535353, 0x474747, 0x4e4e4e, 0x6e6e6e, 0x6d6d6d, 0x4f4f4f,
- 0x505050, 0x4b4b4b, 0x474747, 0x535353, 0x737373, 0x494949,
- 0x4e4e4e, 0x737373, 0x494949, 0x474747, 0x545454, 0x7a7a7a,
- 0x5d5d5d, 0x474747, 0x494949, 0x474747, 0x484848, 0x666666,
- 0x5e5e5e, 0x434343, 0x4f4f4f, 0x6a6a6a, 0x414141, 0x434343,
- 0x505050, 0x6e6e6e, 0x4e4e4e, 0x424242, 0x454545, 0x686868,
- 0x707070, 0x5e5e5e, 0x404040, 0x454545, 0x3f3f3f, 0x4b4b4b,
- 0x3e3e3e, 0x404040, 0x545454, 0x6c6c6c, 0x525252, 0x4e4e4e,
- 0x4f4f4f, 0x6b6b6b, 0x6e6e6e, 0x5a5a5a, 0x484848, 0x616161,
- 0x464646, 0x404040, 0x404040, 0x373737, 0x494949, 0x6f6f6f ) );
-
-/* Colour type 6, bit depth 16 */
-PIX ( ctype_6_16, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x10, 0x06, 0x00, 0x00, 0x00, 0xa3, 0x8b, 0x73, 0xff,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x06,
- 0x62, 0x4b, 0x47, 0x44, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x09,
- 0x58, 0xf7, 0xdc, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73,
- 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a,
- 0x9c, 0x18, 0x00, 0x00, 0x01, 0x5f, 0x49, 0x44, 0x41, 0x54, 0x28,
- 0xcf, 0x4d, 0xd0, 0x31, 0x6e, 0xd3, 0x00, 0x00, 0x85, 0xe1, 0x2f,
- 0x76, 0xac, 0x90, 0xb4, 0x8d, 0x92, 0xd0, 0x14, 0x15, 0x41, 0x84,
- 0x2a, 0x24, 0x86, 0x0e, 0x2c, 0x14, 0x01, 0x1b, 0x1b, 0x1b, 0xc7,
- 0xe0, 0x1a, 0xb9, 0x01, 0x67, 0xe1, 0x10, 0xa8, 0x52, 0xc5, 0x00,
- 0x02, 0x01, 0x19, 0x68, 0x41, 0xad, 0x1a, 0x10, 0x4d, 0xec, 0xb8,
- 0x4e, 0x93, 0x58, 0x4e, 0xcc, 0xe2, 0x81, 0xf5, 0x0d, 0xef, 0xfd,
- 0xef, 0xaf, 0xbd, 0x1d, 0xbe, 0x1f, 0x6e, 0x86, 0xe5, 0x70, 0xdf,
- 0xd8, 0x08, 0xa1, 0x52, 0x81, 0xd4, 0xb6, 0x0e, 0x4a, 0x75, 0x11,
- 0x36, 0x3a, 0xfa, 0x68, 0x2b, 0x5c, 0x83, 0x50, 0x84, 0xa5, 0xb5,
- 0x1a, 0x4a, 0x85, 0x05, 0x12, 0x37, 0x42, 0x34, 0x65, 0x62, 0xdc,
- 0xd2, 0x50, 0xa2, 0xa6, 0xa7, 0x87, 0x7a, 0x6e, 0xad, 0x44, 0xa1,
- 0x90, 0xa3, 0xe7, 0x8f, 0x53, 0x1c, 0xf8, 0xe2, 0x04, 0xb9, 0x86,
- 0x26, 0xce, 0xbc, 0xf0, 0x1a, 0x6d, 0x89, 0x4b, 0xec, 0x98, 0x4b,
- 0x50, 0x58, 0x5b, 0x23, 0xad, 0x80, 0xee, 0x88, 0x25, 0x68, 0xbb,
- 0xf0, 0x03, 0x0b, 0x5d, 0x7d, 0xc4, 0x1e, 0x3b, 0x42, 0x90, 0x8b,
- 0x65, 0xb8, 0x6d, 0xe4, 0x23, 0x02, 0x53, 0x57, 0x98, 0xd8, 0x75,
- 0x1f, 0x73, 0x91, 0x2d, 0x94, 0x7e, 0x1b, 0xe3, 0xbb, 0x07, 0x9e,
- 0x62, 0xc7, 0xc8, 0x27, 0x94, 0x32, 0xd7, 0x55, 0xfe, 0x04, 0x6d,
- 0x63, 0x67, 0x58, 0x89, 0xb4, 0x30, 0xd1, 0x75, 0x0f, 0xe7, 0xba,
- 0x1e, 0x22, 0x20, 0x31, 0x43, 0x20, 0x95, 0x21, 0x94, 0x9a, 0x63,
- 0x4b, 0x6a, 0x8a, 0x89, 0x6d, 0x77, 0xf1, 0xd5, 0xc0, 0x73, 0xac,
- 0xfd, 0x15, 0x57, 0x43, 0x19, 0x62, 0x4d, 0xbb, 0x58, 0x5a, 0x29,
- 0xb0, 0xb2, 0x94, 0xe3, 0x42, 0xcb, 0x1e, 0x66, 0x6a, 0x1a, 0x48,
- 0x2d, 0x40, 0xbd, 0xeb, 0xca, 0x2f, 0x2c, 0x15, 0x02, 0x14, 0x02,
- 0x11, 0x8e, 0xbd, 0xf4, 0xe6, 0xbf, 0xc2, 0x4d, 0xa5, 0xea, 0xd0,
- 0xb1, 0x77, 0x38, 0xf1, 0xc8, 0x2b, 0xf4, 0x5d, 0x3a, 0xc5, 0xbe,
- 0xd0, 0x07, 0x44, 0xd5, 0xe3, 0xa5, 0x9e, 0x00, 0x89, 0x96, 0x2e,
- 0xe6, 0x88, 0x50, 0x8f, 0x35, 0x75, 0xb0, 0xa8, 0x94, 0x94, 0x6a,
- 0x02, 0x4c, 0x45, 0x3a, 0x60, 0x03, 0xda, 0x72, 0x19, 0x46, 0x06,
- 0x8e, 0xf0, 0xcd, 0x81, 0x67, 0xd8, 0xf3, 0xd3, 0x67, 0x34, 0x2d,
- 0x4c, 0x10, 0x1a, 0x38, 0xc4, 0x5a, 0x66, 0x86, 0x1b, 0x73, 0x39,
- 0x36, 0x42, 0x75, 0xfc, 0x03, 0x3f, 0x65, 0x8d, 0x8a, 0xc6, 0x64,
- 0x55, 0xda, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64,
- 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00,
- 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54,
- 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31,
- 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25,
- 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f,
- 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30,
- 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a,
- 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde,
- 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42,
- 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Colour type 6, bit depth 8 */
-PIX ( ctype_6_8, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x06, 0x00, 0x00, 0x00, 0xf3, 0x1b, 0xaf, 0xbc,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x06,
- 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xa0,
- 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73,
- 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a,
- 0x9c, 0x18, 0x00, 0x00, 0x01, 0x23, 0x49, 0x44, 0x41, 0x54, 0x18,
- 0xd3, 0x05, 0xc1, 0x4d, 0x4e, 0xc2, 0x40, 0x00, 0x80, 0xd1, 0xaf,
- 0x7f, 0xc1, 0x22, 0x36, 0x2d, 0x02, 0x06, 0xa3, 0x84, 0x10, 0x13,
- 0x17, 0x2e, 0xdc, 0x80, 0x51, 0x77, 0xee, 0xdc, 0x79, 0x0c, 0x8f,
- 0xe3, 0x59, 0x3c, 0x84, 0x31, 0x21, 0x2e, 0x34, 0x1a, 0x95, 0x85,
- 0xa8, 0x91, 0x88, 0x46, 0x60, 0x4a, 0x99, 0xd2, 0xd2, 0x4c, 0x3b,
- 0xbe, 0x67, 0x5c, 0xdd, 0x14, 0xba, 0x39, 0x1e, 0x60, 0x69, 0x45,
- 0x54, 0xf1, 0xd1, 0xb6, 0x43, 0xe1, 0xd7, 0xf1, 0xd4, 0x02, 0x2c,
- 0x87, 0x34, 0x37, 0xd0, 0x2a, 0x21, 0x5c, 0x5a, 0xb8, 0x52, 0xb0,
- 0x56, 0xd2, 0x18, 0xd5, 0x2a, 0x76, 0x96, 0x6b, 0x94, 0xca, 0xa8,
- 0xfe, 0x0e, 0xe9, 0x3c, 0xf5, 0xc9, 0x4a, 0x2e, 0xef, 0xa7, 0x17,
- 0x78, 0xe1, 0x37, 0x1b, 0x71, 0x88, 0xca, 0x73, 0x22, 0xbf, 0xce,
- 0x96, 0x08, 0xf1, 0x46, 0x6f, 0x24, 0x41, 0x1d, 0x71, 0xd8, 0xc3,
- 0xcc, 0x84, 0x64, 0x73, 0x70, 0x8f, 0x39, 0x9b, 0x30, 0xad, 0xed,
- 0x12, 0x3b, 0xeb, 0xe8, 0x9f, 0x31, 0xaf, 0xed, 0x23, 0x36, 0x06,
- 0x0f, 0x68, 0xb9, 0xe0, 0xb5, 0xdd, 0xc5, 0x1b, 0xbf, 0xb3, 0x72,
- 0xca, 0x4c, 0x83, 0x1d, 0xbe, 0x82, 0x3d, 0x4c, 0xc2, 0x39, 0x66,
- 0x24, 0xb1, 0xa2, 0x98, 0xf5, 0x68, 0xc6, 0xb4, 0xb2, 0xcd, 0x73,
- 0xeb, 0x84, 0xfc, 0x4f, 0xa0, 0xa5, 0x44, 0xb8, 0x35, 0xd2, 0x95,
- 0x62, 0x95, 0x66, 0x8c, 0xca, 0x0d, 0xe6, 0x46, 0x89, 0x28, 0x01,
- 0x3b, 0x98, 0x7c, 0x92, 0x2a, 0x13, 0x65, 0x3a, 0xdc, 0x9e, 0x5d,
- 0x22, 0xdc, 0x1a, 0x85, 0x08, 0x39, 0xb8, 0xbd, 0xa6, 0xbf, 0x7f,
- 0x4e, 0xfd, 0x7b, 0x48, 0xd3, 0xba, 0xc3, 0x91, 0x0b, 0xd2, 0xaa,
- 0x49, 0x58, 0x0e, 0x88, 0x71, 0xb0, 0x85, 0xeb, 0x93, 0xb4, 0xbb,
- 0x68, 0xc3, 0x64, 0xe6, 0xf8, 0x50, 0x80, 0x97, 0x49, 0x06, 0xad,
- 0x1e, 0x2f, 0x9d, 0x63, 0x1a, 0x1f, 0x8f, 0xb8, 0xc9, 0x14, 0xab,
- 0x75, 0x40, 0x2e, 0xe7, 0x2c, 0xe3, 0x8c, 0xc2, 0xb2, 0xf9, 0x07,
- 0xb2, 0x82, 0x8b, 0x8a, 0x51, 0x8a, 0xfe, 0x2f, 0x00, 0x00, 0x00,
- 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d,
- 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33,
- 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4,
- 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64,
- 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00,
- 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54,
- 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31,
- 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00,
- 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Filter method 0 */
-PIX ( filter_0, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x03, 0x00, 0x00, 0x00, 0xc4, 0xc5, 0x5f, 0x8e,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0xff,
- 0x50, 0x4c, 0x54, 0x45, 0x8f, 0xc5, 0xfe, 0xa8, 0xac, 0xd7, 0xab,
- 0xab, 0xd3, 0x9d, 0xb7, 0xe3, 0x9c, 0xbb, 0xe8, 0x9a, 0xcb, 0xfd,
- 0xa8, 0xc7, 0xf0, 0xa8, 0xca, 0xf5, 0xa0, 0xc7, 0xf6, 0x9f, 0xc3,
- 0xed, 0x8f, 0xb9, 0xf0, 0x98, 0xad, 0xdf, 0xa0, 0xb4, 0xde, 0xa1,
- 0xc6, 0xf0, 0x89, 0xc2, 0xfd, 0xa4, 0xa8, 0xd1, 0xba, 0x91, 0xaf,
- 0xcd, 0x65, 0x79, 0xc7, 0x6c, 0x82, 0xa6, 0xa6, 0xd1, 0xb6, 0x96,
- 0xb7, 0xc3, 0x8b, 0xa7, 0xbf, 0x88, 0xa4, 0xb1, 0x98, 0xb9, 0xb6,
- 0x87, 0xa9, 0xc4, 0x6b, 0x86, 0xbb, 0x7c, 0x9b, 0xaa, 0xab, 0xd0,
- 0x83, 0xb1, 0xf1, 0xb7, 0x81, 0xa1, 0xbc, 0x7f, 0x9b, 0xba, 0x79,
- 0x96, 0xbc, 0x71, 0x8d, 0xa5, 0x8e, 0xb8, 0x8e, 0xb6, 0xed, 0xd0,
- 0x64, 0x78, 0xbe, 0x7c, 0x97, 0x89, 0xb8, 0xed, 0xc4, 0x6e, 0x88,
- 0xbd, 0x70, 0x90, 0xa8, 0x8d, 0xb7, 0x8d, 0xbc, 0xf4, 0x83, 0xa1,
- 0xe2, 0xb9, 0x73, 0x95, 0xbf, 0x71, 0x90, 0xc5, 0x6b, 0x84, 0xa9,
- 0x7d, 0xa7, 0x7b, 0xac, 0xf1, 0x8b, 0xa1, 0xdc, 0xcf, 0x58, 0x6c,
- 0xad, 0x85, 0xab, 0x81, 0xb1, 0xe9, 0xbd, 0x66, 0x82, 0xa1, 0x7a,
- 0xa6, 0x99, 0x8e, 0xbe, 0x7f, 0xb3, 0xf4, 0x94, 0x8d, 0xc3, 0xb1,
- 0x6f, 0x97, 0xb5, 0x71, 0x95, 0x86, 0xac, 0xeb, 0x75, 0xb5, 0xff,
- 0x73, 0xa4, 0xef, 0xb6, 0x68, 0x8d, 0x99, 0x7f, 0xb4, 0xae, 0x6b,
- 0x92, 0x9a, 0x88, 0xb5, 0xc2, 0x5a, 0x75, 0x99, 0x78, 0xa8, 0x89,
- 0x98, 0xcf, 0x74, 0xb3, 0xf9, 0x83, 0x96, 0xd3, 0x8b, 0x8f, 0xcb,
- 0x8a, 0x90, 0xcd, 0x74, 0xb1, 0xfb, 0x74, 0xb3, 0xff, 0x81, 0x9e,
- 0xe3, 0x8f, 0x86, 0xc2, 0x66, 0xa8, 0xfa, 0x7c, 0x88, 0xcd, 0x85,
- 0x7f, 0xba, 0x9d, 0x78, 0xa0, 0x96, 0x6c, 0x99, 0x7f, 0x8d, 0xc9,
- 0x72, 0xb6, 0xfd, 0xff, 0xff, 0xff, 0xdb, 0x2a, 0x9f, 0xad, 0x00,
- 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x54, 0xe4, 0x03, 0x88,
- 0xa5, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00,
- 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18,
- 0x00, 0x00, 0x00, 0x62, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63,
- 0x60, 0x60, 0x64, 0x62, 0x66, 0x61, 0x65, 0x63, 0xe7, 0xe0, 0xe4,
- 0xe2, 0xe6, 0xe1, 0x65, 0xe0, 0xe3, 0x17, 0x10, 0x14, 0x12, 0x16,
- 0x11, 0x15, 0x13, 0x97, 0x90, 0x94, 0x92, 0x66, 0x90, 0x91, 0x95,
- 0x93, 0x57, 0x50, 0x54, 0x52, 0x56, 0x51, 0x55, 0x53, 0xd7, 0xd0,
- 0x64, 0xd0, 0xd2, 0xd6, 0xd1, 0xd5, 0xd3, 0x37, 0x30, 0x34, 0x32,
- 0x36, 0x31, 0x35, 0x33, 0x67, 0xb0, 0xb0, 0xb4, 0xb2, 0xb6, 0xb1,
- 0xb5, 0xb3, 0x77, 0x70, 0x74, 0x72, 0x76, 0x71, 0x65, 0x70, 0x73,
- 0xf7, 0xf0, 0xf4, 0xf2, 0xf6, 0xf1, 0xf5, 0xf3, 0x0f, 0x08, 0x0c,
- 0x0a, 0x06, 0x00, 0x96, 0xe0, 0x0d, 0x9f, 0x37, 0x73, 0x30, 0xa4,
- 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74,
- 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30,
- 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32,
- 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30,
- 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45,
- 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69,
- 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d,
- 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33,
- 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00,
- 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Filter method 1 */
-PIX ( filter_1, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x03, 0x00, 0x00, 0x00, 0xc4, 0xc5, 0x5f, 0x8e,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0xff,
- 0x50, 0x4c, 0x54, 0x45, 0x8f, 0xc5, 0xfe, 0xa8, 0xac, 0xd7, 0xab,
- 0xab, 0xd3, 0x9d, 0xb7, 0xe3, 0x9c, 0xbb, 0xe8, 0x9a, 0xcb, 0xfd,
- 0xa8, 0xc7, 0xf0, 0xa8, 0xca, 0xf5, 0xa0, 0xc7, 0xf6, 0x9f, 0xc3,
- 0xed, 0x8f, 0xb9, 0xf0, 0x98, 0xad, 0xdf, 0xa0, 0xb4, 0xde, 0xa1,
- 0xc6, 0xf0, 0x89, 0xc2, 0xfd, 0xa4, 0xa8, 0xd1, 0xba, 0x91, 0xaf,
- 0xcd, 0x65, 0x79, 0xc7, 0x6c, 0x82, 0xa6, 0xa6, 0xd1, 0xb6, 0x96,
- 0xb7, 0xc3, 0x8b, 0xa7, 0xbf, 0x88, 0xa4, 0xb1, 0x98, 0xb9, 0xb6,
- 0x87, 0xa9, 0xc4, 0x6b, 0x86, 0xbb, 0x7c, 0x9b, 0xaa, 0xab, 0xd0,
- 0x83, 0xb1, 0xf1, 0xb7, 0x81, 0xa1, 0xbc, 0x7f, 0x9b, 0xba, 0x79,
- 0x96, 0xbc, 0x71, 0x8d, 0xa5, 0x8e, 0xb8, 0x8e, 0xb6, 0xed, 0xd0,
- 0x64, 0x78, 0xbe, 0x7c, 0x97, 0x89, 0xb8, 0xed, 0xc4, 0x6e, 0x88,
- 0xbd, 0x70, 0x90, 0xa8, 0x8d, 0xb7, 0x8d, 0xbc, 0xf4, 0x83, 0xa1,
- 0xe2, 0xb9, 0x73, 0x95, 0xbf, 0x71, 0x90, 0xc5, 0x6b, 0x84, 0xa9,
- 0x7d, 0xa7, 0x7b, 0xac, 0xf1, 0x8b, 0xa1, 0xdc, 0xcf, 0x58, 0x6c,
- 0xad, 0x85, 0xab, 0x81, 0xb1, 0xe9, 0xbd, 0x66, 0x82, 0xa1, 0x7a,
- 0xa6, 0x99, 0x8e, 0xbe, 0x7f, 0xb3, 0xf4, 0x94, 0x8d, 0xc3, 0xb1,
- 0x6f, 0x97, 0xb5, 0x71, 0x95, 0x86, 0xac, 0xeb, 0x75, 0xb5, 0xff,
- 0x73, 0xa4, 0xef, 0xb6, 0x68, 0x8d, 0x99, 0x7f, 0xb4, 0xae, 0x6b,
- 0x92, 0x9a, 0x88, 0xb5, 0xc2, 0x5a, 0x75, 0x99, 0x78, 0xa8, 0x89,
- 0x98, 0xcf, 0x74, 0xb3, 0xf9, 0x83, 0x96, 0xd3, 0x8b, 0x8f, 0xcb,
- 0x8a, 0x90, 0xcd, 0x74, 0xb1, 0xfb, 0x74, 0xb3, 0xff, 0x81, 0x9e,
- 0xe3, 0x8f, 0x86, 0xc2, 0x66, 0xa8, 0xfa, 0x7c, 0x88, 0xcd, 0x85,
- 0x7f, 0xba, 0x9d, 0x78, 0xa0, 0x96, 0x6c, 0x99, 0x7f, 0x8d, 0xc9,
- 0x72, 0xb6, 0xfd, 0xff, 0xff, 0xff, 0xdb, 0x2a, 0x9f, 0xad, 0x00,
- 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x54, 0xe4, 0x03, 0x88,
- 0xa5, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00,
- 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18,
- 0x00, 0x00, 0x00, 0x1b, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63,
- 0x64, 0x60, 0x44, 0x01, 0x7c, 0xa8, 0x5c, 0x19, 0x54, 0xae, 0x16,
- 0x2a, 0xd7, 0x02, 0x95, 0xeb, 0x86, 0xc2, 0x03, 0x00, 0x2b, 0x08,
- 0x01, 0x27, 0x21, 0x1c, 0x62, 0x0d, 0x00, 0x00, 0x00, 0x25, 0x74,
- 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31,
- 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30,
- 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28,
- 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74,
- 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30,
- 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32,
- 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30,
- 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
- 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Filter method 2 */
-PIX ( filter_2, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x03, 0x00, 0x00, 0x00, 0xc4, 0xc5, 0x5f, 0x8e,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0xff,
- 0x50, 0x4c, 0x54, 0x45, 0x8f, 0xc5, 0xfe, 0xa8, 0xac, 0xd7, 0xab,
- 0xab, 0xd3, 0x9d, 0xb7, 0xe3, 0x9c, 0xbb, 0xe8, 0x9a, 0xcb, 0xfd,
- 0xa8, 0xc7, 0xf0, 0xa8, 0xca, 0xf5, 0xa0, 0xc7, 0xf6, 0x9f, 0xc3,
- 0xed, 0x8f, 0xb9, 0xf0, 0x98, 0xad, 0xdf, 0xa0, 0xb4, 0xde, 0xa1,
- 0xc6, 0xf0, 0x89, 0xc2, 0xfd, 0xa4, 0xa8, 0xd1, 0xba, 0x91, 0xaf,
- 0xcd, 0x65, 0x79, 0xc7, 0x6c, 0x82, 0xa6, 0xa6, 0xd1, 0xb6, 0x96,
- 0xb7, 0xc3, 0x8b, 0xa7, 0xbf, 0x88, 0xa4, 0xb1, 0x98, 0xb9, 0xb6,
- 0x87, 0xa9, 0xc4, 0x6b, 0x86, 0xbb, 0x7c, 0x9b, 0xaa, 0xab, 0xd0,
- 0x83, 0xb1, 0xf1, 0xb7, 0x81, 0xa1, 0xbc, 0x7f, 0x9b, 0xba, 0x79,
- 0x96, 0xbc, 0x71, 0x8d, 0xa5, 0x8e, 0xb8, 0x8e, 0xb6, 0xed, 0xd0,
- 0x64, 0x78, 0xbe, 0x7c, 0x97, 0x89, 0xb8, 0xed, 0xc4, 0x6e, 0x88,
- 0xbd, 0x70, 0x90, 0xa8, 0x8d, 0xb7, 0x8d, 0xbc, 0xf4, 0x83, 0xa1,
- 0xe2, 0xb9, 0x73, 0x95, 0xbf, 0x71, 0x90, 0xc5, 0x6b, 0x84, 0xa9,
- 0x7d, 0xa7, 0x7b, 0xac, 0xf1, 0x8b, 0xa1, 0xdc, 0xcf, 0x58, 0x6c,
- 0xad, 0x85, 0xab, 0x81, 0xb1, 0xe9, 0xbd, 0x66, 0x82, 0xa1, 0x7a,
- 0xa6, 0x99, 0x8e, 0xbe, 0x7f, 0xb3, 0xf4, 0x94, 0x8d, 0xc3, 0xb1,
- 0x6f, 0x97, 0xb5, 0x71, 0x95, 0x86, 0xac, 0xeb, 0x75, 0xb5, 0xff,
- 0x73, 0xa4, 0xef, 0xb6, 0x68, 0x8d, 0x99, 0x7f, 0xb4, 0xae, 0x6b,
- 0x92, 0x9a, 0x88, 0xb5, 0xc2, 0x5a, 0x75, 0x99, 0x78, 0xa8, 0x89,
- 0x98, 0xcf, 0x74, 0xb3, 0xf9, 0x83, 0x96, 0xd3, 0x8b, 0x8f, 0xcb,
- 0x8a, 0x90, 0xcd, 0x74, 0xb1, 0xfb, 0x74, 0xb3, 0xff, 0x81, 0x9e,
- 0xe3, 0x8f, 0x86, 0xc2, 0x66, 0xa8, 0xfa, 0x7c, 0x88, 0xcd, 0x85,
- 0x7f, 0xba, 0x9d, 0x78, 0xa0, 0x96, 0x6c, 0x99, 0x7f, 0x8d, 0xc9,
- 0x72, 0xb6, 0xfd, 0xff, 0xff, 0xff, 0xdb, 0x2a, 0x9f, 0xad, 0x00,
- 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x54, 0xe4, 0x03, 0x88,
- 0xa5, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00,
- 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18,
- 0x00, 0x00, 0x00, 0x1c, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63,
- 0x62, 0x60, 0x64, 0x62, 0x66, 0x61, 0x65, 0x63, 0xe7, 0xe0, 0xe4,
- 0xe2, 0xe6, 0xe1, 0x65, 0xe2, 0x43, 0x01, 0x94, 0x70, 0x01, 0xae,
- 0xce, 0x04, 0x3c, 0x32, 0x9e, 0x82, 0x4f, 0x00, 0x00, 0x00, 0x25,
- 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30,
- 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a,
- 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66,
- 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61,
- 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32,
- 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32,
- 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a,
- 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49,
- 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Filter method 3 */
-PIX ( filter_3, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x03, 0x00, 0x00, 0x00, 0xc4, 0xc5, 0x5f, 0x8e,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0xff,
- 0x50, 0x4c, 0x54, 0x45, 0x8f, 0xc5, 0xfe, 0xa8, 0xac, 0xd7, 0xab,
- 0xab, 0xd3, 0x9d, 0xb7, 0xe3, 0x9c, 0xbb, 0xe8, 0x9a, 0xcb, 0xfd,
- 0xa8, 0xc7, 0xf0, 0xa8, 0xca, 0xf5, 0xa0, 0xc7, 0xf6, 0x9f, 0xc3,
- 0xed, 0x8f, 0xb9, 0xf0, 0x98, 0xad, 0xdf, 0xa0, 0xb4, 0xde, 0xa1,
- 0xc6, 0xf0, 0x89, 0xc2, 0xfd, 0xa4, 0xa8, 0xd1, 0xba, 0x91, 0xaf,
- 0xcd, 0x65, 0x79, 0xc7, 0x6c, 0x82, 0xa6, 0xa6, 0xd1, 0xb6, 0x96,
- 0xb7, 0xc3, 0x8b, 0xa7, 0xbf, 0x88, 0xa4, 0xb1, 0x98, 0xb9, 0xb6,
- 0x87, 0xa9, 0xc4, 0x6b, 0x86, 0xbb, 0x7c, 0x9b, 0xaa, 0xab, 0xd0,
- 0x83, 0xb1, 0xf1, 0xb7, 0x81, 0xa1, 0xbc, 0x7f, 0x9b, 0xba, 0x79,
- 0x96, 0xbc, 0x71, 0x8d, 0xa5, 0x8e, 0xb8, 0x8e, 0xb6, 0xed, 0xd0,
- 0x64, 0x78, 0xbe, 0x7c, 0x97, 0x89, 0xb8, 0xed, 0xc4, 0x6e, 0x88,
- 0xbd, 0x70, 0x90, 0xa8, 0x8d, 0xb7, 0x8d, 0xbc, 0xf4, 0x83, 0xa1,
- 0xe2, 0xb9, 0x73, 0x95, 0xbf, 0x71, 0x90, 0xc5, 0x6b, 0x84, 0xa9,
- 0x7d, 0xa7, 0x7b, 0xac, 0xf1, 0x8b, 0xa1, 0xdc, 0xcf, 0x58, 0x6c,
- 0xad, 0x85, 0xab, 0x81, 0xb1, 0xe9, 0xbd, 0x66, 0x82, 0xa1, 0x7a,
- 0xa6, 0x99, 0x8e, 0xbe, 0x7f, 0xb3, 0xf4, 0x94, 0x8d, 0xc3, 0xb1,
- 0x6f, 0x97, 0xb5, 0x71, 0x95, 0x86, 0xac, 0xeb, 0x75, 0xb5, 0xff,
- 0x73, 0xa4, 0xef, 0xb6, 0x68, 0x8d, 0x99, 0x7f, 0xb4, 0xae, 0x6b,
- 0x92, 0x9a, 0x88, 0xb5, 0xc2, 0x5a, 0x75, 0x99, 0x78, 0xa8, 0x89,
- 0x98, 0xcf, 0x74, 0xb3, 0xf9, 0x83, 0x96, 0xd3, 0x8b, 0x8f, 0xcb,
- 0x8a, 0x90, 0xcd, 0x74, 0xb1, 0xfb, 0x74, 0xb3, 0xff, 0x81, 0x9e,
- 0xe3, 0x8f, 0x86, 0xc2, 0x66, 0xa8, 0xfa, 0x7c, 0x88, 0xcd, 0x85,
- 0x7f, 0xba, 0x9d, 0x78, 0xa0, 0x96, 0x6c, 0x99, 0x7f, 0x8d, 0xc9,
- 0x72, 0xb6, 0xfd, 0xff, 0xff, 0xff, 0xdb, 0x2a, 0x9f, 0xad, 0x00,
- 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x54, 0xe4, 0x03, 0x88,
- 0xa5, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00,
- 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18,
- 0x00, 0x00, 0x00, 0x28, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63,
- 0x66, 0x60, 0x64, 0x62, 0x62, 0x66, 0x66, 0x61, 0x61, 0x65, 0x65,
- 0x63, 0x63, 0x67, 0x67, 0xe6, 0xe3, 0x40, 0x06, 0xcc, 0xa2, 0xa8,
- 0x5c, 0x19, 0x54, 0xae, 0x32, 0x2a, 0x57, 0x0b, 0x85, 0x0b, 0x00,
- 0x74, 0x6c, 0x02, 0xde, 0x3a, 0xf5, 0xbf, 0x99, 0x00, 0x00, 0x00,
- 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d,
- 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33,
- 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4,
- 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64,
- 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00,
- 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54,
- 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31,
- 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00,
- 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Filter method 4 */
-PIX ( filter_4, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x03, 0x00, 0x00, 0x00, 0xc4, 0xc5, 0x5f, 0x8e,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0xff,
- 0x50, 0x4c, 0x54, 0x45, 0x8f, 0xc5, 0xfe, 0xa8, 0xac, 0xd7, 0xab,
- 0xab, 0xd3, 0x9d, 0xb7, 0xe3, 0x9c, 0xbb, 0xe8, 0x9a, 0xcb, 0xfd,
- 0xa8, 0xc7, 0xf0, 0xa8, 0xca, 0xf5, 0xa0, 0xc7, 0xf6, 0x9f, 0xc3,
- 0xed, 0x8f, 0xb9, 0xf0, 0x98, 0xad, 0xdf, 0xa0, 0xb4, 0xde, 0xa1,
- 0xc6, 0xf0, 0x89, 0xc2, 0xfd, 0xa4, 0xa8, 0xd1, 0xba, 0x91, 0xaf,
- 0xcd, 0x65, 0x79, 0xc7, 0x6c, 0x82, 0xa6, 0xa6, 0xd1, 0xb6, 0x96,
- 0xb7, 0xc3, 0x8b, 0xa7, 0xbf, 0x88, 0xa4, 0xb1, 0x98, 0xb9, 0xb6,
- 0x87, 0xa9, 0xc4, 0x6b, 0x86, 0xbb, 0x7c, 0x9b, 0xaa, 0xab, 0xd0,
- 0x83, 0xb1, 0xf1, 0xb7, 0x81, 0xa1, 0xbc, 0x7f, 0x9b, 0xba, 0x79,
- 0x96, 0xbc, 0x71, 0x8d, 0xa5, 0x8e, 0xb8, 0x8e, 0xb6, 0xed, 0xd0,
- 0x64, 0x78, 0xbe, 0x7c, 0x97, 0x89, 0xb8, 0xed, 0xc4, 0x6e, 0x88,
- 0xbd, 0x70, 0x90, 0xa8, 0x8d, 0xb7, 0x8d, 0xbc, 0xf4, 0x83, 0xa1,
- 0xe2, 0xb9, 0x73, 0x95, 0xbf, 0x71, 0x90, 0xc5, 0x6b, 0x84, 0xa9,
- 0x7d, 0xa7, 0x7b, 0xac, 0xf1, 0x8b, 0xa1, 0xdc, 0xcf, 0x58, 0x6c,
- 0xad, 0x85, 0xab, 0x81, 0xb1, 0xe9, 0xbd, 0x66, 0x82, 0xa1, 0x7a,
- 0xa6, 0x99, 0x8e, 0xbe, 0x7f, 0xb3, 0xf4, 0x94, 0x8d, 0xc3, 0xb1,
- 0x6f, 0x97, 0xb5, 0x71, 0x95, 0x86, 0xac, 0xeb, 0x75, 0xb5, 0xff,
- 0x73, 0xa4, 0xef, 0xb6, 0x68, 0x8d, 0x99, 0x7f, 0xb4, 0xae, 0x6b,
- 0x92, 0x9a, 0x88, 0xb5, 0xc2, 0x5a, 0x75, 0x99, 0x78, 0xa8, 0x89,
- 0x98, 0xcf, 0x74, 0xb3, 0xf9, 0x83, 0x96, 0xd3, 0x8b, 0x8f, 0xcb,
- 0x8a, 0x90, 0xcd, 0x74, 0xb1, 0xfb, 0x74, 0xb3, 0xff, 0x81, 0x9e,
- 0xe3, 0x8f, 0x86, 0xc2, 0x66, 0xa8, 0xfa, 0x7c, 0x88, 0xcd, 0x85,
- 0x7f, 0xba, 0x9d, 0x78, 0xa0, 0x96, 0x6c, 0x99, 0x7f, 0x8d, 0xc9,
- 0x72, 0xb6, 0xfd, 0xff, 0xff, 0xff, 0xdb, 0x2a, 0x9f, 0xad, 0x00,
- 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x54, 0xe4, 0x03, 0x88,
- 0xa5, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00,
- 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18,
- 0x00, 0x00, 0x00, 0x11, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63,
- 0x61, 0x60, 0x44, 0x06, 0x2c, 0x7c, 0x54, 0xe3, 0x02, 0x00, 0x1e,
- 0xdd, 0x00, 0xad, 0x19, 0xa1, 0xfb, 0x47, 0x00, 0x00, 0x00, 0x25,
- 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30,
- 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a,
- 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66,
- 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61,
- 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32,
- 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32,
- 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a,
- 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49,
- 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Interlaced */
-PIX ( interlaced, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x03, 0x00, 0x00, 0x01, 0xb3, 0xc2, 0x6f, 0x18,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0xff,
- 0x50, 0x4c, 0x54, 0x45, 0x8f, 0xc5, 0xfe, 0xa8, 0xac, 0xd7, 0xab,
- 0xab, 0xd3, 0x9d, 0xb7, 0xe3, 0x9c, 0xbb, 0xe8, 0x9a, 0xcb, 0xfd,
- 0xa8, 0xc7, 0xf0, 0xa8, 0xca, 0xf5, 0xa0, 0xc7, 0xf6, 0x9f, 0xc3,
- 0xed, 0x8f, 0xb9, 0xf0, 0x98, 0xad, 0xdf, 0xa0, 0xb4, 0xde, 0xa1,
- 0xc6, 0xf0, 0x89, 0xc2, 0xfd, 0xa4, 0xa8, 0xd1, 0xba, 0x91, 0xaf,
- 0xcd, 0x65, 0x79, 0xc7, 0x6c, 0x82, 0xa6, 0xa6, 0xd1, 0xb6, 0x96,
- 0xb7, 0xc3, 0x8b, 0xa7, 0xbf, 0x88, 0xa4, 0xb1, 0x98, 0xb9, 0xb6,
- 0x87, 0xa9, 0xc4, 0x6b, 0x86, 0xbb, 0x7c, 0x9b, 0xaa, 0xab, 0xd0,
- 0x83, 0xb1, 0xf1, 0xb7, 0x81, 0xa1, 0xbc, 0x7f, 0x9b, 0xba, 0x79,
- 0x96, 0xbc, 0x71, 0x8d, 0xa5, 0x8e, 0xb8, 0x8e, 0xb6, 0xed, 0xd0,
- 0x64, 0x78, 0xbe, 0x7c, 0x97, 0x89, 0xb8, 0xed, 0xc4, 0x6e, 0x88,
- 0xbd, 0x70, 0x90, 0xa8, 0x8d, 0xb7, 0x8d, 0xbc, 0xf4, 0x83, 0xa1,
- 0xe2, 0xb9, 0x73, 0x95, 0xbf, 0x71, 0x90, 0xc5, 0x6b, 0x84, 0xa9,
- 0x7d, 0xa7, 0x7b, 0xac, 0xf1, 0x8b, 0xa1, 0xdc, 0xcf, 0x58, 0x6c,
- 0xad, 0x85, 0xab, 0x81, 0xb1, 0xe9, 0xbd, 0x66, 0x82, 0xa1, 0x7a,
- 0xa6, 0x99, 0x8e, 0xbe, 0x7f, 0xb3, 0xf4, 0x94, 0x8d, 0xc3, 0xb1,
- 0x6f, 0x97, 0xb5, 0x71, 0x95, 0x86, 0xac, 0xeb, 0x75, 0xb5, 0xff,
- 0x73, 0xa4, 0xef, 0xb6, 0x68, 0x8d, 0x99, 0x7f, 0xb4, 0xae, 0x6b,
- 0x92, 0x9a, 0x88, 0xb5, 0xc2, 0x5a, 0x75, 0x99, 0x78, 0xa8, 0x89,
- 0x98, 0xcf, 0x74, 0xb3, 0xf9, 0x83, 0x96, 0xd3, 0x8b, 0x8f, 0xcb,
- 0x8a, 0x90, 0xcd, 0x74, 0xb1, 0xfb, 0x74, 0xb3, 0xff, 0x81, 0x9e,
- 0xe3, 0x8f, 0x86, 0xc2, 0x66, 0xa8, 0xfa, 0x7c, 0x88, 0xcd, 0x85,
- 0x7f, 0xba, 0x9d, 0x78, 0xa0, 0x96, 0x6c, 0x99, 0x7f, 0x8d, 0xc9,
- 0x72, 0xb6, 0xfd, 0xff, 0xff, 0xff, 0xdb, 0x2a, 0x9f, 0xad, 0x00,
- 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x54, 0xe4, 0x03, 0x88,
- 0xa5, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00,
- 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18,
- 0x00, 0x00, 0x00, 0x68, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63,
- 0x60, 0xe0, 0x60, 0x60, 0xe1, 0x61, 0xb0, 0xb0, 0x71, 0x70, 0x61,
- 0x60, 0x62, 0xe3, 0x62, 0xb0, 0xb2, 0x73, 0x62, 0x90, 0x91, 0x53,
- 0x50, 0x52, 0x51, 0xd3, 0x60, 0x60, 0x64, 0x66, 0x65, 0xe7, 0xe4,
- 0xe6, 0x65, 0x90, 0x95, 0x57, 0x54, 0x56, 0x55, 0xd7, 0x64, 0xb0,
- 0xb4, 0xb6, 0xb5, 0x77, 0x74, 0x76, 0x65, 0xe0, 0xe3, 0x17, 0x10,
- 0x14, 0x12, 0x16, 0x11, 0x15, 0x13, 0x97, 0x90, 0x94, 0x92, 0x66,
- 0xd0, 0xd2, 0xd6, 0xd1, 0xd5, 0xd3, 0x37, 0x30, 0x34, 0x32, 0x36,
- 0x31, 0x35, 0x33, 0x67, 0x70, 0x73, 0xf7, 0xf0, 0xf4, 0xf2, 0xf6,
- 0xf1, 0xf5, 0xf3, 0x0f, 0x08, 0x0c, 0x0a, 0x06, 0x00, 0xf9, 0xc2,
- 0x0d, 0x9f, 0x36, 0xdc, 0x4b, 0x87, 0x00, 0x00, 0x00, 0x25, 0x74,
- 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31,
- 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30,
- 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28,
- 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74,
- 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30,
- 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32,
- 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30,
- 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
- 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Interlaced (height 1) */
-PIX ( interlaced_h1, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
- 0x00, 0x01, 0x04, 0x03, 0x00, 0x00, 0x01, 0x66, 0x29, 0xc2, 0xe6,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x1b,
- 0x50, 0x4c, 0x54, 0x45, 0x9a, 0x9a, 0xcd, 0xae, 0x88, 0xae, 0x9f,
- 0x94, 0xc3, 0x9a, 0x9d, 0xcf, 0xab, 0x8a, 0xb3, 0xa2, 0x91, 0xbb,
- 0xa9, 0x7f, 0xa6, 0x93, 0xa4, 0xd7, 0xff, 0xff, 0xff, 0x01, 0x68,
- 0x32, 0x1c, 0x00, 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x08,
- 0x86, 0xde, 0x95, 0x7a, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59,
- 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00,
- 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x11, 0x49, 0x44, 0x41, 0x54,
- 0x08, 0xd7, 0x63, 0x60, 0x60, 0x70, 0x60, 0x50, 0x63, 0x10, 0x0e,
- 0x07, 0x00, 0x02, 0x9e, 0x00, 0xd1, 0x1a, 0x21, 0xdf, 0x5d, 0x00,
- 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65,
- 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31,
- 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a,
- 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30,
- 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58,
- 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66,
- 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31,
- 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b,
- 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00,
- 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 8, 1,
- DATA ( 0x9a9acd, 0xae88ae, 0x9f94c3, 0x9a9dcf, 0xab8ab3, 0xa291bb,
- 0xa97fa6, 0x93a4d7, ) );
-
-/* Interlaced (height 2) */
-PIX ( interlaced_h2, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
- 0x00, 0x02, 0x08, 0x03, 0x00, 0x00, 0x01, 0x25, 0x4d, 0x5d, 0x49,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x33,
- 0x50, 0x4c, 0x54, 0x45, 0x9b, 0xa9, 0xda, 0xb7, 0x8b, 0xab, 0xb1,
- 0x8b, 0xae, 0xa4, 0xa6, 0xd2, 0xb7, 0x94, 0xb5, 0xa7, 0x9e, 0xc5,
- 0xb0, 0x86, 0xab, 0xa2, 0xa5, 0xd0, 0x99, 0x8b, 0xbe, 0xa7, 0x82,
- 0xae, 0x8e, 0x9b, 0xd5, 0x90, 0x92, 0xcb, 0xa0, 0x7e, 0xad, 0x9e,
- 0x82, 0xae, 0xa4, 0x76, 0x9f, 0x85, 0xa2, 0xde, 0xff, 0xff, 0xff,
- 0xf3, 0x35, 0x13, 0x79, 0x00, 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47,
- 0x44, 0x10, 0x95, 0xb2, 0x0d, 0x2c, 0x00, 0x00, 0x00, 0x09, 0x70,
- 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13,
- 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x1d, 0x49, 0x44,
- 0x41, 0x54, 0x08, 0xd7, 0x63, 0x60, 0x60, 0x60, 0x61, 0x60, 0x62,
- 0x63, 0x60, 0x64, 0x66, 0x65, 0x67, 0xe0, 0xe0, 0xe4, 0xe2, 0xe6,
- 0xe1, 0xe5, 0xe3, 0x07, 0x00, 0x02, 0xf9, 0x00, 0x79, 0x11, 0xe8,
- 0xb8, 0x97, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64,
- 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00,
- 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54,
- 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31,
- 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25,
- 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f,
- 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30,
- 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a,
- 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde,
- 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42,
- 0x60, 0x82 ),
- 8, 2,
- DATA ( 0x9ba9da, 0xb78bab, 0xb18bae, 0xa4a6d2, 0xb794b5, 0xa79ec5,
- 0xb086ab, 0xa2a5d0, 0x998bbe, 0xa782ae, 0x8e9bd5, 0x9092cb,
- 0xa07ead, 0x9e82ae, 0xa4769f, 0x85a2de, ) );
-
-/* Interlaced (height 3) */
-PIX ( interlaced_h3, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
- 0x00, 0x03, 0x08, 0x03, 0x00, 0x00, 0x01, 0xee, 0x11, 0x8e, 0xec,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x4b,
- 0x50, 0x4c, 0x54, 0x45, 0x99, 0xb4, 0xe6, 0xb3, 0x97, 0xb9, 0xb1,
- 0x95, 0xb7, 0xa9, 0xaf, 0xd7, 0xb4, 0xa4, 0xc7, 0xa8, 0xa6, 0xce,
- 0xad, 0x90, 0xb7, 0xa8, 0xa8, 0xcf, 0x9d, 0x94, 0xc5, 0xbc, 0x78,
- 0x97, 0xac, 0x81, 0xa8, 0x9a, 0x98, 0xca, 0xb9, 0x79, 0x99, 0xa5,
- 0x8f, 0xb6, 0xb1, 0x76, 0x9a, 0x94, 0xa1, 0xd4, 0x96, 0x87, 0xbc,
- 0x9a, 0x8a, 0xbe, 0x7d, 0xaa, 0xef, 0x8c, 0x8f, 0xcc, 0x91, 0x83,
- 0xbc, 0x9b, 0x7c, 0xaa, 0x9c, 0x76, 0xa2, 0x7d, 0xa3, 0xe2, 0xff,
- 0xff, 0xff, 0x53, 0xa1, 0xdb, 0xb9, 0x00, 0x00, 0x00, 0x01, 0x62,
- 0x4b, 0x47, 0x44, 0x18, 0x9b, 0x69, 0x85, 0x1e, 0x00, 0x00, 0x00,
- 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
- 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x26,
- 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x05, 0xc1, 0x85, 0x01, 0x00,
- 0x20, 0x00, 0xc0, 0xa0, 0xd9, 0xdd, 0xf5, 0xff, 0xa7, 0x02, 0xa0,
- 0x91, 0x96, 0x3e, 0xf7, 0x45, 0x28, 0xe3, 0x18, 0xeb, 0x3c, 0x7c,
- 0x88, 0x29, 0x97, 0xda, 0x3e, 0x0d, 0xb1, 0x01, 0x15, 0x29, 0x54,
- 0xbc, 0x10, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64,
- 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x00,
- 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54,
- 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31,
- 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00, 0x25,
- 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d, 0x6f,
- 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30,
- 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a,
- 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9, 0xde,
- 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42,
- 0x60, 0x82 ),
- 8, 3,
- DATA ( 0x99b4e6, 0xb397b9, 0xb195b7, 0xa9afd7, 0xb4a4c7, 0xa8a6ce,
- 0xad90b7, 0xa8a8cf, 0x9d94c5, 0xbc7897, 0xac81a8, 0x9a98ca,
- 0xb97999, 0xa58fb6, 0xb1769a, 0x94a1d4, 0x9687bc, 0x9a8abe,
- 0x7daaef, 0x8c8fcc, 0x9183bc, 0x9b7caa, 0x9c76a2, 0x7da3e2 ) );
-
-/* Interlaced (height 4) */
-PIX ( interlaced_h4, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
- 0x00, 0x04, 0x08, 0x03, 0x00, 0x00, 0x01, 0xf3, 0x14, 0xbe, 0x54,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x63,
- 0x50, 0x4c, 0x54, 0x45, 0x99, 0xb8, 0xea, 0xaf, 0xa0, 0xc4, 0xab,
- 0xa1, 0xc7, 0xa8, 0xb7, 0xe0, 0xaf, 0xb1, 0xd7, 0xa5, 0xae, 0xd7,
- 0xa6, 0x9b, 0xc5, 0xa8, 0xad, 0xd3, 0x9a, 0xa3, 0xd4, 0xbd, 0x7e,
- 0x9b, 0xbb, 0x77, 0x94, 0xa4, 0x9b, 0xc6, 0xbe, 0x80, 0x9d, 0xaa,
- 0x93, 0xb9, 0xba, 0x76, 0x96, 0xa2, 0x9e, 0xca, 0x9f, 0x87, 0xb7,
- 0xb7, 0x76, 0x99, 0x99, 0x91, 0xc5, 0x91, 0x94, 0xcc, 0xb1, 0x76,
- 0x9a, 0xa2, 0x88, 0xb1, 0xa7, 0x77, 0x9f, 0x87, 0xa3, 0xde, 0x92,
- 0x8a, 0xc1, 0x91, 0x91, 0xca, 0x77, 0xb0, 0xf8, 0x8a, 0x8f, 0xce,
- 0x87, 0x89, 0xc8, 0x97, 0x7a, 0xaa, 0x99, 0x76, 0xa3, 0x7b, 0xa2,
- 0xe3, 0xff, 0xff, 0xff, 0xfa, 0x09, 0xb4, 0x8e, 0x00, 0x00, 0x00,
- 0x01, 0x62, 0x4b, 0x47, 0x44, 0x20, 0xb3, 0x6b, 0x3d, 0x80, 0x00,
- 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13,
- 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00,
- 0x00, 0x30, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x63, 0x60, 0x60,
- 0x60, 0x61, 0x60, 0x62, 0x63, 0x10, 0x10, 0x12, 0x11, 0x63, 0x60,
- 0x64, 0x66, 0x65, 0x67, 0x10, 0x14, 0x16, 0x15, 0x67, 0xe0, 0xe0,
- 0xe4, 0xe2, 0xe6, 0xe1, 0xe5, 0xe3, 0x67, 0x90, 0x90, 0x94, 0x92,
- 0x96, 0x91, 0x95, 0x93, 0x07, 0x00, 0x1b, 0x22, 0x01, 0xf1, 0x69,
- 0x98, 0xfa, 0x95, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74,
- 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32,
- 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30,
- 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00, 0x00,
- 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x6d,
- 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d,
- 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33,
- 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3, 0xe9,
- 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
- 0x42, 0x60, 0x82 ),
- 8, 4,
- DATA ( 0x99b8ea, 0xafa0c4, 0xaba1c7, 0xa8b7e0, 0xafb1d7, 0xa5aed7,
- 0xa69bc5, 0xa8add3, 0x9aa3d4, 0xbd7e9b, 0xbb7794, 0xa49bc6,
- 0xbe809d, 0xaa93b9, 0xba7696, 0xa29eca, 0x9f87b7, 0xb77699,
- 0x9991c5, 0x9194cc, 0xb1769a, 0xa288b1, 0xa7779f, 0x87a3de,
- 0x928ac1, 0x9191ca, 0x77b0f8, 0x8a8fce, 0x8789c8, 0x977aaa,
- 0x9976a3, 0x7ba2e3, ) );
-
-/* Interlaced (width 1) */
-PIX ( interlaced_w1, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x04, 0x03, 0x00, 0x00, 0x01, 0xbd, 0x33, 0xb8, 0xe4,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x1b,
- 0x50, 0x4c, 0x54, 0x45, 0x9f, 0xbd, 0xeb, 0xae, 0xa0, 0xc5, 0xb4,
- 0x8a, 0xac, 0xac, 0x8a, 0xb0, 0xa5, 0x87, 0xb2, 0x9d, 0x86, 0xb6,
- 0x90, 0x8c, 0xc3, 0x82, 0x93, 0xd3, 0xff, 0xff, 0xff, 0xac, 0xaf,
- 0x93, 0xf1, 0x00, 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x08,
- 0x86, 0xde, 0x95, 0x7a, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59,
- 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00,
- 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x18, 0x49, 0x44, 0x41, 0x54,
- 0x08, 0xd7, 0x63, 0x60, 0x60, 0x70, 0x60, 0x50, 0x60, 0x48, 0x60,
- 0x10, 0x60, 0x30, 0x60, 0x08, 0x60, 0x28, 0x00, 0x00, 0x0a, 0xd0,
- 0x01, 0xc1, 0x05, 0xa2, 0x99, 0xc6, 0x00, 0x00, 0x00, 0x25, 0x74,
- 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31,
- 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30,
- 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28,
- 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74,
- 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30,
- 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32,
- 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30,
- 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,
- 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 1, 8,
- DATA ( 0x9fbdeb, 0xaea0c5, 0xb48aac, 0xac8ab0, 0xa587b2, 0x9d86b6,
- 0x908cc3, 0x8293d3, ) );
-
-/* Interlaced (width 2) */
-PIX ( interlaced_w2, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x08, 0x03, 0x00, 0x00, 0x01, 0x93, 0xf4, 0xee, 0xe6,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x33,
- 0x50, 0x4c, 0x54, 0x45, 0xa0, 0xbc, 0xe9, 0x9e, 0xbe, 0xec, 0xad,
- 0xa1, 0xc7, 0xaf, 0x9e, 0xc2, 0xb4, 0x8b, 0xad, 0xb6, 0x88, 0xa9,
- 0xae, 0x87, 0xac, 0xac, 0x8b, 0xb1, 0xa9, 0x83, 0xad, 0xa1, 0x8a,
- 0xb6, 0x9e, 0x87, 0xb8, 0x9d, 0x84, 0xb3, 0x8e, 0x92, 0xcc, 0x92,
- 0x85, 0xba, 0x80, 0x9b, 0xde, 0x84, 0x8b, 0xc7, 0xff, 0xff, 0xff,
- 0xa3, 0x2a, 0xf5, 0x35, 0x00, 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47,
- 0x44, 0x10, 0x95, 0xb2, 0x0d, 0x2c, 0x00, 0x00, 0x00, 0x09, 0x70,
- 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13,
- 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x20, 0x49, 0x44,
- 0x41, 0x54, 0x08, 0xd7, 0x05, 0xc1, 0x05, 0x01, 0x00, 0x20, 0x00,
- 0x00, 0x20, 0xec, 0xd6, 0xff, 0x6f, 0x05, 0x74, 0xd9, 0x16, 0x14,
- 0xc3, 0x11, 0x93, 0xda, 0xcc, 0xe5, 0xbe, 0x0f, 0x04, 0xf2, 0x00,
- 0x79, 0x83, 0x54, 0x1a, 0x1e, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45,
- 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d,
- 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33,
- 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00,
- 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65,
- 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30, 0x31,
- 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a,
- 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30,
- 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e,
- 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 2, 8,
- DATA ( 0xa0bce9, 0x9ebeec, 0xada1c7, 0xaf9ec2, 0xb48bad, 0xb688a9,
- 0xae87ac, 0xac8bb1, 0xa983ad, 0xa18ab6, 0x9e87b8, 0x9d84b3,
- 0x8e92cc, 0x9285ba, 0x809bde, 0x848bc7, ) );
-
-/* Interlaced (width 3) */
-PIX ( interlaced_w3, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
- 0x00, 0x08, 0x08, 0x03, 0x00, 0x00, 0x01, 0x7c, 0x36, 0x85, 0xd8,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x4b,
- 0x50, 0x4c, 0x54, 0x45, 0xa0, 0xb7, 0xe4, 0xa1, 0xc4, 0xf1, 0x9c,
- 0xba, 0xe9, 0xab, 0xa0, 0xc7, 0xb1, 0xa1, 0xc5, 0xae, 0x9b, 0xc0,
- 0xb1, 0x8d, 0xb0, 0xb8, 0x88, 0xa8, 0xb5, 0x87, 0xa9, 0xae, 0x86,
- 0xab, 0xae, 0x88, 0xad, 0xaa, 0x8c, 0xb4, 0xac, 0x80, 0xa9, 0xa5,
- 0x88, 0xb2, 0x9f, 0x8b, 0xb7, 0xa0, 0x88, 0xb8, 0x9e, 0x84, 0xb5,
- 0x9c, 0x85, 0xb4, 0x8f, 0x94, 0xce, 0x8f, 0x8a, 0xc4, 0x93, 0x84,
- 0xb6, 0x81, 0x9d, 0xdf, 0x7e, 0x95, 0xd8, 0x88, 0x86, 0xbe, 0xff,
- 0xff, 0xff, 0xef, 0xfb, 0x85, 0x9c, 0x00, 0x00, 0x00, 0x01, 0x62,
- 0x4b, 0x47, 0x44, 0x18, 0x9b, 0x69, 0x85, 0x1e, 0x00, 0x00, 0x00,
- 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
- 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x28,
- 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x05, 0xc1, 0x85, 0x01, 0x00,
- 0x20, 0x00, 0xc0, 0xa0, 0xd9, 0xdd, 0xf5, 0xff, 0xa7, 0x02, 0x90,
- 0x91, 0x54, 0xac, 0x67, 0x6e, 0x04, 0x8e, 0xc2, 0x42, 0x69, 0x43,
- 0x88, 0x89, 0xd6, 0x07, 0xe7, 0xbe, 0x0f, 0x0f, 0x68, 0x01, 0x15,
- 0x06, 0x65, 0x37, 0x5a, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58,
- 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31,
- 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b,
- 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66, 0x28, 0x00, 0x00,
- 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a,
- 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32, 0x30, 0x31, 0x34,
- 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34,
- 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xd3,
- 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,
- 0xae, 0x42, 0x60, 0x82 ),
- 3, 8,
- DATA ( 0xa0b7e4, 0xa1c4f1, 0x9cbae9, 0xaba0c7, 0xb1a1c5, 0xae9bc0,
- 0xb18db0, 0xb888a8, 0xb587a9, 0xae86ab, 0xae88ad, 0xaa8cb4,
- 0xac80a9, 0xa588b2, 0x9f8bb7, 0xa088b8, 0x9e84b5, 0x9c85b4,
- 0x8f94ce, 0x8f8ac4, 0x9384b6, 0x819ddf, 0x7e95d8, 0x8886be ) );
-
-/* Interlaced (width 4) */
-PIX ( interlaced_w4, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
- 0x00, 0x08, 0x08, 0x03, 0x00, 0x00, 0x01, 0x9e, 0xea, 0x9e, 0xa1,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0x63,
- 0x50, 0x4c, 0x54, 0x45, 0xa0, 0xb4, 0xe1, 0xa1, 0xc1, 0xee, 0x9f,
- 0xc3, 0xf1, 0x9b, 0xb8, 0xe6, 0xa8, 0xa3, 0xcc, 0xb2, 0x9d, 0xc1,
- 0xb0, 0xa2, 0xc6, 0xad, 0x99, 0xbe, 0xae, 0x92, 0xb7, 0xb9, 0x84,
- 0xa4, 0xb8, 0x89, 0xa9, 0xb4, 0x87, 0xa9, 0xae, 0x87, 0xac, 0xae,
- 0x86, 0xab, 0xaf, 0x88, 0xac, 0xa8, 0x8d, 0xb7, 0xaf, 0x7e, 0xa5,
- 0xa4, 0x88, 0xb5, 0xa8, 0x85, 0xad, 0x9c, 0x8d, 0xbc, 0xa6, 0x81,
- 0xae, 0x94, 0x90, 0xc7, 0xa8, 0x79, 0xa2, 0x96, 0x8b, 0xbd, 0x94,
- 0x8e, 0xc4, 0x85, 0x9b, 0xdb, 0x99, 0x7b, 0xac, 0x8f, 0x89, 0xbe,
- 0x84, 0x99, 0xd9, 0x7c, 0xa1, 0xe8, 0x83, 0x87, 0xc5, 0x88, 0x89,
- 0xbf, 0xff, 0xff, 0xff, 0xec, 0xf4, 0xb8, 0xe8, 0x00, 0x00, 0x00,
- 0x01, 0x62, 0x4b, 0x47, 0x44, 0x20, 0xb3, 0x6b, 0x3d, 0x80, 0x00,
- 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13,
- 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00,
- 0x00, 0x34, 0x49, 0x44, 0x41, 0x54, 0x08, 0xd7, 0x05, 0xc1, 0x09,
- 0x02, 0x80, 0x10, 0x00, 0x00, 0xc1, 0x4d, 0x85, 0x0e, 0x8a, 0xa2,
- 0xc3, 0xf5, 0xff, 0x5f, 0x9a, 0x01, 0x4e, 0x04, 0x1e, 0xbd, 0xf2,
- 0xfe, 0x0c, 0x23, 0xcb, 0x86, 0xbb, 0xf8, 0x12, 0xd3, 0x2c, 0x15,
- 0xbb, 0xb1, 0x07, 0x77, 0x88, 0x0f, 0xb9, 0xd4, 0xd6, 0x01, 0x21,
- 0x30, 0x01, 0xf1, 0x50, 0x46, 0x7a, 0xbf, 0x00, 0x00, 0x00, 0x25,
- 0x74, 0x45, 0x58, 0x74, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x63, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x00, 0x32, 0x30, 0x31, 0x34, 0x2d, 0x30,
- 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32, 0x32, 0x3a, 0x34, 0x33, 0x3a,
- 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a, 0x30, 0x30, 0xa2, 0xb4, 0x66,
- 0x28, 0x00, 0x00, 0x00, 0x25, 0x74, 0x45, 0x58, 0x74, 0x64, 0x61,
- 0x74, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x00, 0x32,
- 0x30, 0x31, 0x34, 0x2d, 0x30, 0x31, 0x2d, 0x31, 0x32, 0x54, 0x32,
- 0x32, 0x3a, 0x34, 0x33, 0x3a, 0x30, 0x33, 0x2b, 0x30, 0x31, 0x3a,
- 0x30, 0x30, 0xd3, 0xe9, 0xde, 0x94, 0x00, 0x00, 0x00, 0x00, 0x49,
- 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 4, 8,
- DATA ( 0xa0b4e1, 0xa1c1ee, 0x9fc3f1, 0x9bb8e6, 0xa8a3cc, 0xb29dc1,
- 0xb0a2c6, 0xad99be, 0xae92b7, 0xb984a4, 0xb889a9, 0xb487a9,
- 0xae87ac, 0xae86ab, 0xaf88ac, 0xa88db7, 0xaf7ea5, 0xa488b5,
- 0xa885ad, 0x9c8dbc, 0xa681ae, 0x9490c7, 0xa879a2, 0x968bbd,
- 0x948ec4, 0x859bdb, 0x997bac, 0x8f89be, 0x8499d9, 0x7ca1e8,
- 0x8387c5, 0x8889bf, ) );
-
-/* Multiple IDAT sections */
-PIX ( multi_idat, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00,
- 0x00, 0x06, 0x08, 0x03, 0x00, 0x00, 0x00, 0xc4, 0xc5, 0x5f, 0x8e,
- 0x00, 0x00, 0x00, 0x04, 0x67, 0x41, 0x4d, 0x41, 0x00, 0x00, 0xb1,
- 0x8f, 0x0b, 0xfc, 0x61, 0x05, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52,
- 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 0x00, 0x20,
- 0x63, 0x48, 0x52, 0x4d, 0x00, 0x00, 0x7a, 0x26, 0x00, 0x00, 0x80,
- 0x84, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x80, 0xe8, 0x00, 0x00,
- 0x75, 0x30, 0x00, 0x00, 0xea, 0x60, 0x00, 0x00, 0x3a, 0x98, 0x00,
- 0x00, 0x17, 0x70, 0x9c, 0xba, 0x51, 0x3c, 0x00, 0x00, 0x00, 0xff,
- 0x50, 0x4c, 0x54, 0x45, 0x8f, 0xc5, 0xfe, 0xa8, 0xac, 0xd7, 0xab,
- 0xab, 0xd3, 0x9d, 0xb7, 0xe3, 0x9c, 0xbb, 0xe8, 0x9a, 0xcb, 0xfd,
- 0xa8, 0xc7, 0xf0, 0xa8, 0xca, 0xf5, 0xa0, 0xc7, 0xf6, 0x9f, 0xc3,
- 0xed, 0x8f, 0xb9, 0xf0, 0x98, 0xad, 0xdf, 0xa0, 0xb4, 0xde, 0xa1,
- 0xc6, 0xf0, 0x89, 0xc2, 0xfd, 0xa4, 0xa8, 0xd1, 0xba, 0x91, 0xaf,
- 0xcd, 0x65, 0x79, 0xc7, 0x6c, 0x82, 0xa6, 0xa6, 0xd1, 0xb6, 0x96,
- 0xb7, 0xc3, 0x8b, 0xa7, 0xbf, 0x88, 0xa4, 0xb1, 0x98, 0xb9, 0xb6,
- 0x87, 0xa9, 0xc4, 0x6b, 0x86, 0xbb, 0x7c, 0x9b, 0xaa, 0xab, 0xd0,
- 0x83, 0xb1, 0xf1, 0xb7, 0x81, 0xa1, 0xbc, 0x7f, 0x9b, 0xba, 0x79,
- 0x96, 0xbc, 0x71, 0x8d, 0xa5, 0x8e, 0xb8, 0x8e, 0xb6, 0xed, 0xd0,
- 0x64, 0x78, 0xbe, 0x7c, 0x97, 0x89, 0xb8, 0xed, 0xc4, 0x6e, 0x88,
- 0xbd, 0x70, 0x90, 0xa8, 0x8d, 0xb7, 0x8d, 0xbc, 0xf4, 0x83, 0xa1,
- 0xe2, 0xb9, 0x73, 0x95, 0xbf, 0x71, 0x90, 0xc5, 0x6b, 0x84, 0xa9,
- 0x7d, 0xa7, 0x7b, 0xac, 0xf1, 0x8b, 0xa1, 0xdc, 0xcf, 0x58, 0x6c,
- 0xad, 0x85, 0xab, 0x81, 0xb1, 0xe9, 0xbd, 0x66, 0x82, 0xa1, 0x7a,
- 0xa6, 0x99, 0x8e, 0xbe, 0x7f, 0xb3, 0xf4, 0x94, 0x8d, 0xc3, 0xb1,
- 0x6f, 0x97, 0xb5, 0x71, 0x95, 0x86, 0xac, 0xeb, 0x75, 0xb5, 0xff,
- 0x73, 0xa4, 0xef, 0xb6, 0x68, 0x8d, 0x99, 0x7f, 0xb4, 0xae, 0x6b,
- 0x92, 0x9a, 0x88, 0xb5, 0xc2, 0x5a, 0x75, 0x99, 0x78, 0xa8, 0x89,
- 0x98, 0xcf, 0x74, 0xb3, 0xf9, 0x83, 0x96, 0xd3, 0x8b, 0x8f, 0xcb,
- 0x8a, 0x90, 0xcd, 0x74, 0xb1, 0xfb, 0x74, 0xb3, 0xff, 0x81, 0x9e,
- 0xe3, 0x8f, 0x86, 0xc2, 0x66, 0xa8, 0xfa, 0x7c, 0x88, 0xcd, 0x85,
- 0x7f, 0xba, 0x9d, 0x78, 0xa0, 0x96, 0x6c, 0x99, 0x7f, 0x8d, 0xc9,
- 0x72, 0xb6, 0xfd, 0xff, 0xff, 0xff, 0xdb, 0x2a, 0x9f, 0xad, 0x00,
- 0x00, 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x54, 0xe4, 0x03, 0x88,
- 0xa5, 0x00, 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00,
- 0x0b, 0x13, 0x00, 0x00, 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18,
- 0x00, 0x00, 0x00, 0x07, 0x49, 0x44, 0x41, 0x54, 0x08, 0x5b, 0x63,
- 0x64, 0x60, 0x44, 0x01, 0xdd, 0xe3, 0x71, 0x09, 0x00, 0x00, 0x00,
- 0x07, 0x49, 0x44, 0x41, 0x54, 0x7c, 0x28, 0x3c, 0x16, 0x0a, 0xb8,
- 0x00, 0xb9, 0x49, 0x1a, 0x82, 0x00, 0x00, 0x00, 0x04, 0x49, 0x44,
- 0x41, 0x54, 0x1c, 0xee, 0x00, 0xa7, 0x1b, 0x22, 0xc4, 0xc1, 0x00,
- 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82 ),
- 14, 6,
- DATA ( 0x8fc5fe, 0xa8acd7, 0xababd3, 0x9db7e3, 0x9cbbe8, 0x9acbfd,
- 0xa8c7f0, 0xa8caf5, 0xa0c7f6, 0x9fc3ed, 0x8fb9f0, 0x98addf,
- 0xa0b4de, 0xa1c6f0, 0x89c2fd, 0xa4a8d1, 0xba91af, 0xcd6579,
- 0xc76c82, 0xa6a6d1, 0xb696b7, 0xc38ba7, 0xbf88a4, 0xb198b9,
- 0xb687a9, 0xc46b86, 0xbb7c9b, 0xaaabd0, 0x83b1f1, 0xb781a1,
- 0xbc7f9b, 0xba7996, 0xbc718d, 0xa58eb8, 0x8eb6ed, 0xd06478,
- 0xbe7c97, 0x89b8ed, 0xc46e88, 0xbd7090, 0xa88db7, 0x8dbcf4,
- 0x83a1e2, 0xb97395, 0xbf7190, 0xc56b84, 0xa97da7, 0x7bacf1,
- 0x8ba1dc, 0xcf586c, 0xad85ab, 0x81b1e9, 0xbd6682, 0xa17aa6,
- 0x998ebe, 0x7fb3f4, 0x948dc3, 0xb16f97, 0xb57195, 0x86aceb,
- 0x75b5ff, 0x73a4ef, 0xb6688d, 0x997fb4, 0xae6b92, 0x9a88b5,
- 0xc25a75, 0x9978a8, 0x8998cf, 0x74b3f9, 0x8396d3, 0x8b8fcb,
- 0x8a90cd, 0x74b1fb, 0x74b3ff, 0x819ee3, 0x8f86c2, 0x66a8fa,
- 0x7c88cd, 0x857fba, 0x9d78a0, 0x966c99, 0x7f8dc9, 0x72b6fd ) );
-
-/* Original large image */
-PIX ( original, &png_image_type,
- DATA ( 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00,
- 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00,
- 0x00, 0x0c, 0x08, 0x06, 0x00, 0x00, 0x00, 0x71, 0xdb, 0xdd, 0x0f,
- 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00, 0xff, 0x00,
- 0xff, 0x00, 0xff, 0xa0, 0xbd, 0xa7, 0x93, 0x00, 0x00, 0x00, 0x09,
- 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 0x0b,
- 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74,
- 0x49, 0x4d, 0x45, 0x07, 0xde, 0x01, 0x06, 0x10, 0x37, 0x03, 0xe9,
- 0xc3, 0xf3, 0x6d, 0x00, 0x00, 0x00, 0x1d, 0x69, 0x54, 0x58, 0x74,
- 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69,
- 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x64, 0x2e, 0x65, 0x07,
- 0x00, 0x00, 0x04, 0x14, 0x49, 0x44, 0x41, 0x54, 0x38, 0xcb, 0x35,
- 0xcd, 0x5d, 0x4c, 0x56, 0x65, 0x00, 0xc0, 0xf1, 0xff, 0xf3, 0x9c,
- 0x6f, 0x10, 0x04, 0x14, 0x14, 0x03, 0x11, 0xc9, 0x8f, 0x54, 0x96,
- 0x42, 0x5a, 0x2d, 0x5d, 0x19, 0xa6, 0x76, 0xd1, 0xec, 0xc6, 0x34,
- 0x6b, 0xf3, 0xa3, 0x39, 0xb3, 0x69, 0x6b, 0x6b, 0xb3, 0xac, 0x95,
- 0x5b, 0x8b, 0x5a, 0xb9, 0xd2, 0x0b, 0xaf, 0x32, 0xbd, 0xc0, 0xa5,
- 0xd5, 0x85, 0xce, 0x69, 0xf8, 0xb1, 0x35, 0x96, 0x92, 0x3a, 0x33,
- 0xdd, 0x50, 0xd4, 0xa5, 0x94, 0x86, 0x06, 0xa8, 0x7c, 0xc8, 0xfb,
- 0xf2, 0xbe, 0xe7, 0x9c, 0xe7, 0x9c, 0xe7, 0xe9, 0xa2, 0x75, 0xf5,
- 0xbb, 0xfc, 0x89, 0x9d, 0xed, 0xda, 0x08, 0x93, 0xe2, 0x49, 0x70,
- 0x03, 0x9b, 0x54, 0x43, 0x12, 0x2b, 0x54, 0xa2, 0x71, 0x3d, 0x17,
- 0x23, 0x04, 0x49, 0xa2, 0x29, 0xf0, 0x25, 0xd2, 0x80, 0x30, 0x9a,
- 0x02, 0x5f, 0x20, 0xb5, 0x60, 0x24, 0x34, 0x24, 0x06, 0x6c, 0x0f,
- 0x84, 0x05, 0xc3, 0x23, 0x8a, 0x5c, 0x5e, 0xa3, 0x8d, 0x8b, 0x6b,
- 0x49, 0xd2, 0x44, 0x61, 0xd9, 0x8a, 0xb2, 0xb2, 0x00, 0x93, 0x6a,
- 0xa2, 0x48, 0x62, 0x1b, 0x21, 0xd0, 0xa9, 0x26, 0xb2, 0x2c, 0xe6,
- 0xef, 0xfe, 0x08, 0x30, 0xb4, 0xbf, 0xf1, 0x29, 0x39, 0x17, 0x42,
- 0x09, 0xb6, 0x0b, 0x26, 0x94, 0x48, 0xa5, 0x09, 0x3c, 0x89, 0x52,
- 0x20, 0x02, 0x81, 0x0f, 0x10, 0x19, 0x4c, 0xaa, 0xc9, 0x69, 0x0b,
- 0xab, 0x48, 0x60, 0xa5, 0x2e, 0x22, 0x1f, 0x93, 0xb3, 0x24, 0x89,
- 0x07, 0x56, 0xe0, 0x90, 0x0d, 0x1d, 0x1c, 0x0b, 0x02, 0xdf, 0x42,
- 0x2a, 0x83, 0x1d, 0x27, 0x06, 0xd7, 0x76, 0xd0, 0x02, 0x12, 0xad,
- 0xb1, 0x2c, 0x0b, 0x27, 0x97, 0xe5, 0xbd, 0x55, 0x93, 0xd1, 0x5e,
- 0x80, 0xb2, 0x5c, 0x6e, 0x3d, 0xf1, 0x02, 0x27, 0xd7, 0x7c, 0x46,
- 0x54, 0x5a, 0x42, 0xd1, 0x40, 0x1f, 0xcb, 0xd6, 0x2d, 0xa6, 0x67,
- 0xde, 0x62, 0xce, 0x6e, 0xfa, 0x8a, 0x54, 0x6b, 0x1a, 0x5a, 0x3e,
- 0x67, 0x76, 0xeb, 0x5e, 0x8e, 0x6e, 0x3b, 0x40, 0xb6, 0x6a, 0x0e,
- 0x1b, 0xb7, 0x2d, 0xa5, 0xe2, 0xee, 0x75, 0xd0, 0x1a, 0x21, 0x04,
- 0x26, 0xd5, 0x74, 0x37, 0x2c, 0xe4, 0xc4, 0xb6, 0x16, 0xec, 0x30,
- 0x52, 0xb8, 0xae, 0x83, 0x46, 0x70, 0xf4, 0xcd, 0x66, 0xc6, 0x4a,
- 0xa8, 0x6b, 0x3b, 0xc4, 0x50, 0x65, 0x1d, 0x47, 0x56, 0x37, 0xe3,
- 0xa1, 0x59, 0xb2, 0xef, 0x63, 0x9e, 0xfc, 0x71, 0x3b, 0xa7, 0xd6,
- 0x35, 0x23, 0xca, 0x2b, 0xe9, 0x7c, 0x7e, 0x15, 0xd3, 0xcf, 0x1d,
- 0xc1, 0x7e, 0x38, 0xc0, 0x84, 0xae, 0x2b, 0xcc, 0x3e, 0xb6, 0x97,
- 0xd6, 0xcd, 0x3b, 0xe8, 0x9d, 0x3e, 0x97, 0xc2, 0xbe, 0x07, 0xb8,
- 0xe1, 0x08, 0x3f, 0x2f, 0xdb, 0xca, 0xed, 0x99, 0xcf, 0x62, 0x5b,
- 0x9a, 0x34, 0xce, 0x23, 0xc6, 0x8f, 0xc5, 0x06, 0x64, 0x2e, 0x4c,
- 0xc8, 0x8c, 0xc0, 0xb4, 0x4b, 0xc7, 0xd8, 0xb2, 0xa2, 0x8e, 0xfe,
- 0x14, 0x26, 0x74, 0xb4, 0x33, 0x52, 0x36, 0x8e, 0xee, 0xba, 0x46,
- 0x3a, 0xa6, 0xcc, 0x67, 0xa0, 0xbc, 0x86, 0xd1, 0xfd, 0x77, 0xc8,
- 0x86, 0x29, 0x99, 0x1c, 0x9c, 0x5e, 0xbe, 0x15, 0x19, 0x87, 0x4c,
- 0x39, 0xde, 0xc2, 0xc2, 0x1d, 0x6f, 0xd1, 0xfe, 0xda, 0x07, 0x5c,
- 0x9d, 0xbb, 0x94, 0xa1, 0x4c, 0x44, 0x41, 0x38, 0xc8, 0xa8, 0xe1,
- 0xfb, 0x9c, 0x99, 0xb7, 0x92, 0x9e, 0xda, 0xe9, 0xdc, 0xad, 0x99,
- 0x41, 0xf7, 0xc4, 0xc7, 0xe9, 0x0d, 0xca, 0xc9, 0x47, 0x06, 0xdb,
- 0x71, 0x7d, 0x32, 0x89, 0xa0, 0xec, 0xf2, 0x05, 0x6e, 0x34, 0x2e,
- 0xc5, 0x0c, 0x19, 0x4a, 0xfe, 0xbe, 0x41, 0xcf, 0xd4, 0x46, 0xa2,
- 0xb2, 0xd1, 0x54, 0x5d, 0x3c, 0xc7, 0x98, 0x9e, 0x2e, 0xce, 0x2f,
- 0x5a, 0x4b, 0xa4, 0xc0, 0xa8, 0x98, 0xa2, 0xd1, 0x2e, 0xc7, 0x57,
- 0x7f, 0xc1, 0x4b, 0xdf, 0xbc, 0xcd, 0xd5, 0x05, 0xcb, 0xb9, 0xd4,
- 0xb4, 0x86, 0x28, 0x93, 0x25, 0x36, 0x1e, 0xc5, 0x37, 0xaf, 0xa0,
- 0x2d, 0x8b, 0x95, 0x2d, 0x9b, 0xb1, 0x45, 0x8a, 0x30, 0x86, 0x7b,
- 0x15, 0xb5, 0xb4, 0xbe, 0xde, 0x4c, 0x41, 0x62, 0xb0, 0xb5, 0x11,
- 0x64, 0x14, 0x54, 0x5f, 0x3b, 0x4b, 0xe7, 0xc2, 0x95, 0xf8, 0x0f,
- 0x07, 0x71, 0xf2, 0x19, 0xea, 0xdb, 0xf6, 0x33, 0xe7, 0xc4, 0x1e,
- 0xa2, 0x82, 0x62, 0xfe, 0xaa, 0xaa, 0xa7, 0x6d, 0xc9, 0x46, 0x44,
- 0xa8, 0xc9, 0xc5, 0x20, 0x0b, 0xc0, 0xef, 0xef, 0x45, 0x0a, 0xe8,
- 0x2f, 0x7d, 0x84, 0x10, 0x09, 0x32, 0x20, 0x13, 0x0b, 0x2a, 0x2f,
- 0xb4, 0x31, 0x5c, 0x52, 0x09, 0x46, 0x13, 0xa7, 0x06, 0xcf, 0x86,
- 0xfe, 0xa2, 0x0a, 0x54, 0xac, 0xc9, 0x03, 0x76, 0x9c, 0x08, 0xac,
- 0x38, 0xa5, 0xb2, 0xf7, 0x0f, 0x5a, 0xab, 0xe7, 0x50, 0x38, 0xf2,
- 0x80, 0x92, 0xfe, 0x6e, 0x5a, 0xb6, 0x1c, 0x02, 0xd7, 0x62, 0xd8,
- 0x04, 0xfc, 0x69, 0x8f, 0xc5, 0x1e, 0xd6, 0xf8, 0xae, 0x44, 0x49,
- 0x97, 0xaa, 0xd3, 0x27, 0x59, 0x74, 0x78, 0x3b, 0x17, 0x67, 0xbd,
- 0x48, 0x43, 0xdb, 0x3e, 0xce, 0xcc, 0x5d, 0x8e, 0xa8, 0x28, 0xc5,
- 0xb8, 0x82, 0xfa, 0x6b, 0x6d, 0x1c, 0x58, 0xbb, 0x93, 0x8b, 0x33,
- 0x9a, 0x78, 0xf8, 0x20, 0xa6, 0xba, 0xca, 0x25, 0x8d, 0xc0, 0x89,
- 0x14, 0xd9, 0x44, 0x21, 0x35, 0x30, 0xb5, 0xaf, 0x83, 0x9c, 0x5f,
- 0x4c, 0x0f, 0xe5, 0x4c, 0xe8, 0xfa, 0x9d, 0xc1, 0xb2, 0x89, 0xdc,
- 0x9c, 0x54, 0xcf, 0x3f, 0xe3, 0x1f, 0x63, 0xb0, 0xa2, 0x16, 0xdb,
- 0x2f, 0x24, 0x0c, 0x15, 0xd9, 0x9c, 0xa6, 0x78, 0xb0, 0x8f, 0x97,
- 0x0f, 0x7f, 0xc2, 0x8d, 0xba, 0xa7, 0xd8, 0xb3, 0xe2, 0x6b, 0xac,
- 0x24, 0x66, 0xda, 0xaf, 0x07, 0x19, 0x88, 0x04, 0x95, 0x77, 0x6e,
- 0x63, 0xe9, 0x94, 0x2b, 0xfe, 0x14, 0xa2, 0x08, 0x62, 0x63, 0xb8,
- 0xdb, 0x17, 0xe2, 0xf9, 0x90, 0x1a, 0x8b, 0x30, 0x9f, 0x60, 0x47,
- 0x06, 0x26, 0x75, 0x9d, 0x27, 0x5b, 0x58, 0x46, 0x7f, 0x30, 0x86,
- 0x49, 0x1d, 0xbf, 0x70, 0x7d, 0xc6, 0x73, 0xc4, 0x31, 0x48, 0x23,
- 0x40, 0x18, 0x3c, 0x4b, 0xa2, 0x8c, 0x21, 0x8b, 0x64, 0xd3, 0x81,
- 0x77, 0xc0, 0x18, 0xbe, 0x7d, 0x65, 0x17, 0x8e, 0x80, 0xef, 0x9a,
- 0x3e, 0x64, 0xfd, 0x4f, 0xef, 0xd3, 0xd6, 0xb0, 0x82, 0xc9, 0xd7,
- 0x4f, 0xa1, 0x2d, 0x9b, 0x0d, 0x07, 0xdf, 0xc5, 0x38, 0x1e, 0xda,
- 0x68, 0x4c, 0x9a, 0x72, 0x74, 0xc3, 0x97, 0x0c, 0x16, 0x56, 0xa3,
- 0x22, 0x89, 0x0c, 0x55, 0x8c, 0x9f, 0x19, 0xe0, 0x56, 0x6d, 0x23,
- 0x19, 0xcf, 0xc1, 0xc9, 0x0c, 0x71, 0x69, 0xe6, 0x12, 0x12, 0x05,
- 0xa1, 0x02, 0xa5, 0x04, 0xc2, 0x18, 0x1c, 0xd7, 0xa5, 0xe9, 0xb7,
- 0xef, 0xb1, 0x13, 0xc5, 0xae, 0x57, 0x77, 0x13, 0x5a, 0x2e, 0x69,
- 0x62, 0xb8, 0xfc, 0xe8, 0x02, 0x3a, 0x6a, 0x9e, 0xe6, 0x99, 0xd3,
- 0x2d, 0x04, 0xf7, 0xfb, 0xe8, 0xae, 0x99, 0x85, 0xb2, 0x1d, 0x42,
- 0xa5, 0x10, 0x52, 0x10, 0xd9, 0x3e, 0xf7, 0x43, 0x17, 0x3b, 0x90,
- 0xd8, 0x9e, 0x8f, 0x58, 0xff, 0x43, 0xc6, 0x38, 0xc1, 0x28, 0x3c,
- 0x0f, 0xa2, 0x61, 0x43, 0x2e, 0x85, 0xc2, 0x40, 0xe0, 0x59, 0x06,
- 0xc1, 0x7f, 0xd9, 0xff, 0x46, 0x5a, 0x90, 0x4f, 0xc1, 0x28, 0x83,
- 0x11, 0x60, 0x10, 0x24, 0x1a, 0x06, 0x43, 0x43, 0x3e, 0x9f, 0xa3,
- 0xa0, 0xb4, 0x90, 0x31, 0xe3, 0x20, 0x1f, 0x43, 0x67, 0xe7, 0x3d,
- 0x6a, 0x6b, 0x2b, 0x50, 0x0a, 0xc8, 0x85, 0xd4, 0x57, 0xf9, 0x88,
- 0xc4, 0xf0, 0x2f, 0xb4, 0x16, 0xf4, 0xd5, 0x82, 0x00, 0xa9, 0x50,
- 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60,
- 0x82 ),
- 28, 12,
- DATA ( 0x90c4fe, 0x91c3fb, 0x98c5fb, 0x9eceff, 0x9bccff, 0x97c6fa,
- 0x92c2f8, 0x98c9fe, 0x97caff, 0x93c6fd, 0x9dceff, 0x9fcdff,
- 0xa0ccfd, 0xaad4fe, 0xacd2ff, 0xa1cafe, 0x9dc9fe, 0xa1d0fe,
- 0xa2d3fe, 0x94c8f9, 0x8abff7, 0x88befd, 0x8ec1ff, 0x8bbdfa,
- 0x8ec1f5, 0xa0d3fe, 0x9fd0fc, 0x98c9fe, 0x8fc5ff, 0x8ec1f9,
- 0x91c6fc, 0xd4697c, 0xd4697b, 0x98ccff, 0x88ccff, 0x8aceff,
- 0x8ed4ff, 0x8dccff, 0x95c9fd, 0x9ed0ff, 0x9acbfd, 0xa1ddff,
- 0xa9ddff, 0xa1cbfd, 0x9cc7fb, 0x97cefe, 0x9addff, 0x97d0ff,
- 0x8bbff9, 0x7ec1ff, 0x84c8ff, 0x87caff, 0x7fc2ff, 0x93d6ff,
- 0x9cdbff, 0x9acbfe, 0x89c1fe, 0x8fc5fe, 0x8fc7fe, 0xd0677a,
- 0xd36a7d, 0x9dc2f3, 0xff1c15, 0xfd231e, 0xf82624, 0xd85a69,
- 0x92baef, 0x97cbff, 0xa4b9e6, 0xf32d2c, 0xda6372, 0xa1cfff,
- 0x99c9fb, 0xc97085, 0xf92623, 0xada5ca, 0x8bc1fb, 0xe74047,
- 0xfd251f, 0xfd231d, 0xfe241e, 0xfd211c, 0xe0535d, 0x99d2ff,
- 0x81baf9, 0x8fc7fe, 0x8dc7ff, 0x84cfff, 0x98d1ff, 0xbb90ae,
- 0xef3538, 0xa294bd, 0xa994bb, 0xf03739, 0xc9647a, 0x8bc6ff,
- 0x98ceff, 0xc86f86, 0xf03739, 0xa5c0ed, 0xb39dc1, 0xf92723,
- 0xaf93b2, 0x95cdff, 0x96b6eb, 0xed383c, 0xba7498, 0x9b9fd7,
- 0x9fa2d5, 0x9c9ccc, 0x9db4e0, 0x9dd2ff, 0x77b2f5, 0x82bcfe,
- 0xb496b6, 0xfa2622, 0x85ceff, 0xd56272, 0xe4474f, 0x85b7f0,
- 0x7bb9f7, 0xde4c58, 0xd8515e, 0x7fbefc, 0x8bc4ff, 0x8bc4ff,
- 0xf23131, 0xca788f, 0xf42c2b, 0xbd829d, 0x85c8fa, 0x85c0f8,
- 0xa0aeda, 0xf92a27, 0x80aaf0, 0x82c0ff, 0x84c1ff, 0x7fbafb,
- 0x85bdf5, 0x94cbfe, 0x7cb8fd, 0x75b8ff, 0xc66982, 0xd5596a,
- 0x84befe, 0xe5444d, 0xcc6a80, 0x7ec9ff, 0x9797c7, 0xf13335,
- 0xbb7796, 0x78b9fc, 0x7eb9f9, 0x8bc8ff, 0xaa90ba, 0xf72a28,
- 0xcd677d, 0x8cc5fd, 0x7ebbf1, 0x78baf8, 0xae8aae, 0xf72d2a,
- 0xd84c5d, 0xdc4d5a, 0xdd4c59, 0xc7627a, 0x7dbeff, 0x8fc7fe,
- 0x7ab7fe, 0x68b2ff, 0xe34049, 0xb881a1, 0x8cafed, 0xea3b40,
- 0xf92926, 0xfd231d, 0xf62d2b, 0xd54958, 0x7abeff, 0x79b6fd,
- 0x74b0f9, 0x80c3ff, 0xb27da2, 0xf92b28, 0xba7898, 0x84c5ff,
- 0x7ebdfa, 0x6bb7fb, 0xc7566d, 0xe93d43, 0xd84b5b, 0xd64959,
- 0xdd4d59, 0xb46f90, 0x78b8fd, 0x86befd, 0x74b3ff, 0x6bacfc,
- 0xfc2823, 0x999ed2, 0x97a4d9, 0xfa2823, 0x9c9ed2, 0x9ca4d5,
- 0x8ea3de, 0x6ca7f2, 0x70b0fd, 0x78b6ff, 0x6fb2ff, 0x9c86b9,
- 0xf62e2d, 0xc75771, 0xec373b, 0x80aded, 0x7fc3fe, 0x6ac3ff,
- 0xf42d2c, 0x9b8ebc, 0x69b8ff, 0x5aa4f9, 0x77c0ff, 0x74b9ff,
- 0x79b2fa, 0x7ab4f5, 0x72b3ff, 0x9195ce, 0xf23031, 0x809ee7,
- 0xb181a6, 0xe93a41, 0x78beff, 0x82bcfe, 0x7db9ff, 0x70affd,
- 0x68a8f8, 0x6cacfd, 0x7da1e8, 0xec373b, 0xd15165, 0x64aeff,
- 0xef3335, 0xa7729b, 0x6dbcff, 0x83a7e0, 0xf72b29, 0x6f96e1,
- 0x62b1ff, 0x54a3f8, 0x5ca9f7, 0x7bc1ff, 0x76b1fd, 0x72abf1,
- 0x6bb2ff, 0xb17298, 0xe63b43, 0x6da7fa, 0xd15367, 0xc16481,
- 0x72b8ff, 0x7ab7ff, 0x7ab8fe, 0x77b2ff, 0x6ba7f7, 0x60acff,
- 0xd84858, 0xec363a, 0x6da7f9, 0x69afff, 0x9476b0, 0xf92b28,
- 0x66a4f2, 0xa57ca2, 0xf52e2d, 0xd64454, 0xd5495b, 0xd34859,
- 0xd24556, 0x86ace0, 0x75b7fd, 0x6daaf3, 0x63adf9, 0xb96586,
- 0xc65c76, 0x60aeff, 0xd64657, 0x908fc8, 0x6eb3ff, 0x72b2ff,
- 0x75b3ff, 0x78b1fe, 0x70adfd, 0xa377a7, 0xdc4453, 0x808fd5,
- 0x65aaff, 0x66abfe, 0x679aed, 0xcb4a61, 0xa16794, 0xae678b,
- 0xd84d59, 0xd14859, 0xcd4456, 0xd44a5a, 0xcb495e, 0x71a4e6,
- 0x79c0ff, 0x71b1fb, 0x65a9f3, 0x6ab2ff, 0x71b9ff, 0x6aabfe,
- 0x60a8fe, 0x6bb1ff, 0x72b4fe, 0x73b4ff, 0x74b3fe, 0x75b3ff,
- 0x76b2fe, 0x6fb0ff, 0x66adff, 0x65a8fe, 0x64a9fe, 0x63a9ff,
- 0x5fa7ff, 0x4e9ffe, 0x4596f4, 0x4fa7ff, 0x62beff, 0x59b8ff,
- 0x2e8de9, 0x4faeff, 0x4aa9ff, 0x4a9ff7, 0x77bbff, 0x78b7fe ) );
-
-/**
- * Perform PNG self-test
- *
- */
-static void png_test_exec ( void ) {
-
- /* Original image */
- pixbuf_ok ( &original );
-
- /* All allowed colour type and bit depth combinations */
- pixbuf_ok ( &ctype_0_1 );
- pixbuf_ok ( &ctype_0_2 );
- pixbuf_ok ( &ctype_0_4 );
- pixbuf_ok ( &ctype_0_8 );
- pixbuf_ok ( &ctype_0_16 );
- pixbuf_ok ( &ctype_2_8 );
- pixbuf_ok ( &ctype_2_16 );
- pixbuf_ok ( &ctype_3_1 );
- pixbuf_ok ( &ctype_3_2 );
- pixbuf_ok ( &ctype_3_4 );
- pixbuf_ok ( &ctype_3_8 );
- pixbuf_ok ( &ctype_4_8 );
- pixbuf_ok ( &ctype_4_16 );
- pixbuf_ok ( &ctype_6_8 );
- pixbuf_ok ( &ctype_6_16 );
-
- /* All basic filter types */
- pixbuf_ok ( &filter_0 );
- pixbuf_ok ( &filter_1 );
- pixbuf_ok ( &filter_2 );
- pixbuf_ok ( &filter_3 );
- pixbuf_ok ( &filter_4 );
-
- /* Multiple IDAT sections */
- pixbuf_ok ( &multi_idat );
-
- /* Interlaced */
- pixbuf_ok ( &interlaced );
- pixbuf_ok ( &interlaced_w1 );
- pixbuf_ok ( &interlaced_w2 );
- pixbuf_ok ( &interlaced_w3 );
- pixbuf_ok ( &interlaced_w4 );
- pixbuf_ok ( &interlaced_h1 );
- pixbuf_ok ( &interlaced_h2 );
- pixbuf_ok ( &interlaced_h3 );
- pixbuf_ok ( &interlaced_h4 );
-
- /* Alpha channel */
- pixbuf_ok ( &alpha );
-}
-
-/** PNG self-test */
-struct self_test png_test __self_test = {
- .name = "png",
- .exec = png_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/pnm_test.c b/qemu/roms/ipxe/src/tests/pnm_test.c
deleted file mode 100644
index d57fdaaef..000000000
--- a/qemu/roms/ipxe/src/tests/pnm_test.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (C) 2013 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * PNM self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <string.h>
-#include <assert.h>
-#include <ipxe/pixbuf.h>
-#include <ipxe/pnm.h>
-#include <ipxe/test.h>
-#include "pixbuf_test.h"
-
-/** Define inline pixel data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** PBM ASCII example (from Wikipedia) */
-PIX ( pbm_ascii, &pnm_image_type,
- "P1\n"
- "# This is an example bitmap of the letter \"J\"\n"
- "6 10\n"
- "0 0 0 0 1 0\n"
- "0 0 0 0 1 0\n"
- "0 0 0 0 1 0\n"
- "0 0 0 0 1 0\n"
- "0 0 0 0 1 0\n"
- "0 0 0 0 1 0\n"
- "1 0 0 0 1 0\n"
- "0 1 1 1 0 0\n"
- "0 0 0 0 0 0\n"
- "0 0 0 0 0 0\n",
- 6, 10,
- DATA ( 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0x000000, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0x000000, 0x000000, 0x000000, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff ) );
-
-/** PGM ASCII example (from Wikipedia) */
-PIX ( pgm_ascii, &pnm_image_type,
- "P2\n"
- "# Shows the word \"FEEP\" (example from Netpbm man page on PGM)\n"
- "24 7\n"
- "15\n"
- "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n"
- "0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0\n"
- "0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0\n"
- "0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0\n"
- "0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0\n"
- "0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0\n"
- "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n"
- , 24, 7,
- DATA ( 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x333333, 0x333333, 0x333333, 0x333333, 0x000000,
- 0x000000, 0x777777, 0x777777, 0x777777, 0x777777, 0x000000,
- 0x000000, 0xbbbbbb, 0xbbbbbb, 0xbbbbbb, 0xbbbbbb, 0x000000,
- 0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000,
- 0x000000, 0x333333, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x777777, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0xbbbbbb, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0xffffff, 0x000000, 0x000000, 0xffffff, 0x000000,
- 0x000000, 0x333333, 0x333333, 0x333333, 0x000000, 0x000000,
- 0x000000, 0x777777, 0x777777, 0x777777, 0x000000, 0x000000,
- 0x000000, 0xbbbbbb, 0xbbbbbb, 0xbbbbbb, 0x000000, 0x000000,
- 0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000,
- 0x000000, 0x333333, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x777777, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0xbbbbbb, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0xffffff, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x333333, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x777777, 0x777777, 0x777777, 0x777777, 0x000000,
- 0x000000, 0xbbbbbb, 0xbbbbbb, 0xbbbbbb, 0xbbbbbb, 0x000000,
- 0x000000, 0xffffff, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000 ) );
-
-/** PPM ASCII example (from Wikipedia) */
-PIX ( ppm_ascii, &pnm_image_type,
- "P3\n"
- "# The P3 means colors are in ASCII, then 3 columns and 2 rows,\n"
- "# then 255 for max color, then RGB triplets\n"
- "3 2\n"
- "255\n"
- "255 0 0 0 255 0 0 0 255\n"
- "255 255 0 255 255 255 0 0 0\n",
- 3, 2,
- DATA ( 0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xffffff, 0x000000 ) );
-
-/** PBM ASCII with no space between pixel values */
-PIX ( pbm_ascii_no_space, &pnm_image_type,
- "P1\n"
- "3 3\n"
- "001\n"
- "010\n"
- "111\n",
- 3, 3,
- DATA ( 0xffffff, 0xffffff, 0x000000, 0xffffff, 0x000000, 0xffffff,
- 0x000000, 0x000000, 0x000000 ) );
-
-/** PBM binary example (converted from Wikipedia) */
-PIX ( pbm_binary, &pnm_image_type,
- DATA ( 0x50, 0x34, 0x0a, 0x23, 0x20, 0x43, 0x52, 0x45, 0x41, 0x54, 0x4f,
- 0x52, 0x3a, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x20, 0x50, 0x4e, 0x4d,
- 0x20, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x56, 0x65, 0x72,
- 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, 0x31, 0x0a, 0x36, 0x20,
- 0x31, 0x30, 0x0a, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x88, 0x70,
- 0x00, 0x00 ),
- 6, 10,
- DATA ( 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0x000000, 0xffffff, 0xffffff, 0xffffff, 0x000000, 0xffffff,
- 0xffffff, 0x000000, 0x000000, 0x000000, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
- 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff ) );
-
-/** PGM binary example (converted from Wikipedia) */
-PIX ( pgm_binary, &pnm_image_type,
- DATA ( 0x50, 0x35, 0x0a, 0x32, 0x34, 0x20, 0x37, 0x0a, 0x31, 0x35, 0x0a,
- 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, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x07, 0x07,
- 0x07, 0x07, 0x00, 0x00, 0x0b, 0x0b, 0x0b, 0x0b, 0x00, 0x00, 0x0f,
- 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x0f, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x03, 0x03, 0x03, 0x00,
- 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0b,
- 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x03, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x00,
- 0x00, 0x0b, 0x0b, 0x0b, 0x0b, 0x00, 0x00, 0x0f, 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 ),
- 24, 7,
- DATA ( 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x333333, 0x333333, 0x333333, 0x333333, 0x000000,
- 0x000000, 0x777777, 0x777777, 0x777777, 0x777777, 0x000000,
- 0x000000, 0xbbbbbb, 0xbbbbbb, 0xbbbbbb, 0xbbbbbb, 0x000000,
- 0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000,
- 0x000000, 0x333333, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x777777, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0xbbbbbb, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0xffffff, 0x000000, 0x000000, 0xffffff, 0x000000,
- 0x000000, 0x333333, 0x333333, 0x333333, 0x000000, 0x000000,
- 0x000000, 0x777777, 0x777777, 0x777777, 0x000000, 0x000000,
- 0x000000, 0xbbbbbb, 0xbbbbbb, 0xbbbbbb, 0x000000, 0x000000,
- 0x000000, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0x000000,
- 0x000000, 0x333333, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x777777, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0xbbbbbb, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0xffffff, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x333333, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x777777, 0x777777, 0x777777, 0x777777, 0x000000,
- 0x000000, 0xbbbbbb, 0xbbbbbb, 0xbbbbbb, 0xbbbbbb, 0x000000,
- 0x000000, 0xffffff, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
- 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000 ) );
-
-/** PPM binary example (converted from Wikipedia) */
-PIX ( ppm_binary, &pnm_image_type,
- DATA ( 0x50, 0x36, 0x0a, 0x33, 0x20, 0x32, 0x0a, 0x32, 0x35, 0x35, 0x0a,
- 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
- 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 ),
- 3, 2,
- DATA ( 0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xffffff, 0x000000 ) );
-
-/**
- * Perform PNM self-test
- *
- */
-static void pnm_test_exec ( void ) {
-
- pixbuf_ok ( &pbm_ascii );
- pixbuf_ok ( &pgm_ascii );
- pixbuf_ok ( &ppm_ascii );
- pixbuf_ok ( &pbm_ascii_no_space );
- pixbuf_ok ( &pbm_binary );
- pixbuf_ok ( &pgm_binary );
- pixbuf_ok ( &ppm_binary );
-}
-
-/** PNM self-test */
-struct self_test pnm_test __self_test = {
- .name = "pnm",
- .exec = pnm_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/profile_test.c b/qemu/roms/ipxe/src/tests/profile_test.c
deleted file mode 100644
index d2f8df211..000000000
--- a/qemu/roms/ipxe/src/tests/profile_test.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (C) 2014 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Profiling self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <string.h>
-#include <assert.h>
-#include <ipxe/test.h>
-#include <ipxe/profile.h>
-
-/** A profiling test */
-struct profile_test {
- /** Sample values */
- const unsigned long *samples;
- /** Number of samples */
- unsigned int count;
- /** Expected mean sample value */
- unsigned long mean;
- /** Expected standard deviation */
- unsigned long stddev;
-};
-
-/** Define inline data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** Define a profiling test */
-#define PROFILE_TEST( name, MEAN, STDDEV, SAMPLES ) \
- static const unsigned long name ## _samples[] = SAMPLES; \
- static struct profile_test name = { \
- .samples = name ## _samples, \
- .count = ( sizeof ( name ## _samples ) / \
- sizeof ( name ## _samples [0] ) ), \
- .mean = MEAN, \
- .stddev = STDDEV, \
- }
-
-/** Empty data set */
-PROFILE_TEST ( empty, 0, 0, DATA() );
-
-/** Single-element data set (zero) */
-PROFILE_TEST ( zero, 0, 0, DATA ( 0 ) );
-
-/** Single-element data set (non-zero) */
-PROFILE_TEST ( single, 42, 0, DATA ( 42 ) );
-
-/** Multiple identical element data set */
-PROFILE_TEST ( identical, 69, 0, DATA ( 69, 69, 69, 69, 69, 69, 69 ) );
-
-/** Small element data set */
-PROFILE_TEST ( small, 5, 2, DATA ( 3, 5, 9, 4, 3, 2, 5, 7 ) );
-
-/** Random data set */
-PROFILE_TEST ( random, 70198, 394,
- DATA ( 69772, 70068, 70769, 69653, 70663, 71078, 70101, 70341,
- 70215, 69600, 70020, 70456, 70421, 69972, 70267, 69999,
- 69972 ) );
-
-/** Large-valued random data set */
-PROFILE_TEST ( large, 93533894UL, 25538UL,
- DATA ( 93510333UL, 93561169UL, 93492361UL, 93528647UL,
- 93557566UL, 93503465UL, 93540126UL, 93549020UL,
- 93502307UL, 93527320UL, 93537152UL, 93540125UL,
- 93550773UL, 93586731UL, 93521312UL ) );
-
-/**
- * Report a profiling test result
- *
- * @v test Profiling test
- * @v file Test code file
- * @v line Test code line
- */
-static void profile_okx ( struct profile_test *test, const char *file,
- unsigned int line ) {
- struct profiler profiler;
- unsigned long mean;
- unsigned long stddev;
- unsigned int i;
-
- /* Initialise profiler */
- memset ( &profiler, 0, sizeof ( profiler ) );
-
- /* Record sample values */
- for ( i = 0 ; i < test->count ; i++ )
- profile_update ( &profiler, test->samples[i] );
-
- /* Check resulting statistics */
- mean = profile_mean ( &profiler );
- stddev = profile_stddev ( &profiler );
- DBGC ( test, "PROFILE calculated mean %ld stddev %ld\n", mean, stddev );
- okx ( mean == test->mean, file, line );
- okx ( stddev == test->stddev, file, line );
-}
-#define profile_ok( test ) profile_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Perform profiling self-tests
- *
- */
-static void profile_test_exec ( void ) {
-
- /* Perform profiling tests */
- profile_ok ( &empty );
- profile_ok ( &zero );
- profile_ok ( &single );
- profile_ok ( &identical );
- profile_ok ( &small );
- profile_ok ( &random );
- profile_ok ( &large );
-}
-
-/** Profiling self-test */
-struct self_test profile_test __self_test = {
- .name = "profile",
- .exec = profile_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/pubkey_test.h b/qemu/roms/ipxe/src/tests/pubkey_test.h
deleted file mode 100644
index cd65b8703..000000000
--- a/qemu/roms/ipxe/src/tests/pubkey_test.h
+++ /dev/null
@@ -1,175 +0,0 @@
-#ifndef _PUBKEY_TEST_H
-#define _PUBKEY_TEST_H
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-#include <stdint.h>
-#include <ipxe/crypto.h>
-#include <ipxe/test.h>
-
-/**
- * Report public key decryption test result
- *
- * @v pubkey Public key algorithm
- * @v key Key
- * @v key_len Key length
- * @v ciphertext Ciphertext
- * @v ciphertext_len Ciphertext length
- * @v expected Expected plaintext
- * @v expected_len Expected plaintext length
- */
-#define pubkey_decrypt_ok( pubkey, key, key_len, ciphertext, \
- ciphertext_len, expected, expected_len ) do {\
- uint8_t ctx[ (pubkey)->ctxsize ]; \
- \
- ok ( pubkey_init ( (pubkey), ctx, (key), (key_len) ) == 0 ); \
- { \
- size_t max_len = pubkey_max_len ( (pubkey), ctx ); \
- uint8_t decrypted[ max_len ]; \
- int decrypted_len; \
- \
- decrypted_len = pubkey_decrypt ( (pubkey), ctx, \
- (ciphertext), \
- (ciphertext_len), \
- decrypted ); \
- ok ( decrypted_len == ( ( int ) (expected_len) ) ); \
- ok ( memcmp ( decrypted, (expected), \
- (expected_len) ) == 0 ); \
- } \
- pubkey_final ( (pubkey), ctx ); \
- } while ( 0 )
-
-/**
- * Report public key encryption and decryption test result
- *
- * @v pubkey Public key algorithm
- * @v encrypt_key Encryption key
- * @v encrypt_key_len Encryption key length
- * @v decrypt_key Decryption key
- * @v decrypt_key_len Decryption key length
- * @v plaintext Plaintext
- * @v plaintext_len Plaintext length
- */
-#define pubkey_encrypt_ok( pubkey, encrypt_key, encrypt_key_len, \
- decrypt_key, decrypt_key_len, plaintext, \
- plaintext_len ) do { \
- uint8_t ctx[ (pubkey)->ctxsize ]; \
- \
- ok ( pubkey_init ( (pubkey), ctx, (encrypt_key), \
- (encrypt_key_len) ) == 0 ); \
- { \
- size_t max_len = pubkey_max_len ( (pubkey), ctx ); \
- uint8_t encrypted[ max_len ]; \
- int encrypted_len; \
- \
- encrypted_len = pubkey_encrypt ( (pubkey), ctx, \
- (plaintext), \
- (plaintext_len), \
- encrypted ); \
- ok ( encrypted_len >= 0 ); \
- pubkey_decrypt_ok ( (pubkey), (decrypt_key), \
- (decrypt_key_len), encrypted, \
- encrypted_len, (plaintext), \
- (plaintext_len) ); \
- } \
- pubkey_final ( (pubkey), ctx ); \
- } while ( 0 )
-
-/**
- * Report public key signature test result
- *
- * @v pubkey Public key algorithm
- * @v key Key
- * @v key_len Key length
- * @v digest Digest algorithm
- * @v plaintext Plaintext
- * @v plaintext_len Plaintext length
- * @v expected Expected signature
- * @v expected_len Expected signature length
- */
-#define pubkey_sign_ok( pubkey, key, key_len, digest, plaintext, \
- plaintext_len, expected, expected_len ) do { \
- uint8_t ctx[ (pubkey)->ctxsize ]; \
- uint8_t digestctx[ (digest)->ctxsize ]; \
- uint8_t digestout[ (digest)->digestsize ]; \
- \
- digest_init ( (digest), digestctx ); \
- digest_update ( (digest), digestctx, (plaintext), \
- (plaintext_len) ); \
- digest_final ( (digest), digestctx, digestout ); \
- \
- ok ( pubkey_init ( (pubkey), ctx, (key), (key_len) ) == 0 ); \
- { \
- size_t max_len = pubkey_max_len ( (pubkey), ctx ); \
- uint8_t signature[ max_len ]; \
- int signature_len; \
- \
- signature_len = pubkey_sign ( (pubkey), ctx, (digest), \
- digestout, signature ); \
- ok ( signature_len == ( ( int ) (expected_len) ) ); \
- ok ( memcmp ( signature, (expected), \
- (expected_len) ) == 0 ); \
- } \
- pubkey_final ( (pubkey), ctx ); \
- } while ( 0 )
-
-/**
- * Report public key verification test result
- *
- * @v pubkey Public key algorithm
- * @v key Key
- * @v key_len Key length
- * @v digest Digest algorithm
- * @v plaintext Plaintext
- * @v plaintext_len Plaintext length
- * @v signature Signature
- * @v signature_len Signature length
- */
-#define pubkey_verify_ok( pubkey, key, key_len, digest, plaintext, \
- plaintext_len, signature, signature_len ) do {\
- uint8_t ctx[ (pubkey)->ctxsize ]; \
- uint8_t digestctx[ (digest)->ctxsize ]; \
- uint8_t digestout[ (digest)->digestsize ]; \
- \
- digest_init ( (digest), digestctx ); \
- digest_update ( (digest), digestctx, (plaintext), \
- (plaintext_len) ); \
- digest_final ( (digest), digestctx, digestout ); \
- \
- ok ( pubkey_init ( (pubkey), ctx, (key), (key_len) ) == 0 ); \
- ok ( pubkey_verify ( (pubkey), ctx, (digest), digestout, \
- (signature), (signature_len) ) == 0 ); \
- pubkey_final ( (pubkey), ctx ); \
- } while ( 0 )
-
-/**
- * Report public key verification test result
- *
- * @v pubkey Public key algorithm
- * @v key Key
- * @v key_len Key length
- * @v digest Digest algorithm
- * @v plaintext Plaintext
- * @v plaintext_len Plaintext length
- * @v signature Signature
- * @v signature_len Signature length
- */
-#define pubkey_verify_fail_ok( pubkey, key, key_len, digest, plaintext, \
- plaintext_len, signature, \
- signature_len ) do { \
- uint8_t ctx[ (pubkey)->ctxsize ]; \
- uint8_t digestctx[ (digest)->ctxsize ]; \
- uint8_t digestout[ (digest)->digestsize ]; \
- \
- digest_init ( (digest), digestctx ); \
- digest_update ( (digest), digestctx, (plaintext), \
- (plaintext_len) ); \
- digest_final ( (digest), digestctx, digestout ); \
- \
- ok ( pubkey_init ( (pubkey), ctx, (key), (key_len) ) == 0 ); \
- ok ( pubkey_verify ( (pubkey), ctx, (digest), digestout, \
- (signature), (signature_len) ) != 0 ); \
- pubkey_final ( (pubkey), ctx ); \
- } while ( 0 )
-
-#endif /* _PUBKEY_TEST_H */
diff --git a/qemu/roms/ipxe/src/tests/rsa_test.c b/qemu/roms/ipxe/src/tests/rsa_test.c
deleted file mode 100644
index c0d05d263..000000000
--- a/qemu/roms/ipxe/src/tests/rsa_test.c
+++ /dev/null
@@ -1,496 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * RSA self-tests
- *
- * These test vectors are generated using openssl's genrsa, rsa,
- * rsautl, and dgst tools.
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <ipxe/crypto.h>
-#include <ipxe/rsa.h>
-#include <ipxe/md5.h>
-#include <ipxe/sha1.h>
-#include <ipxe/sha256.h>
-#include <ipxe/test.h>
-#include "pubkey_test.h"
-
-/** Define inline private key data */
-#define PRIVATE(...) { __VA_ARGS__ }
-
-/** Define inline public key data */
-#define PUBLIC(...) { __VA_ARGS__ }
-
-/** Define inline plaintext data */
-#define PLAINTEXT(...) { __VA_ARGS__ }
-
-/** Define inline ciphertext data */
-#define CIPHERTEXT(...) { __VA_ARGS__ }
-
-/** Define inline signature data */
-#define SIGNATURE(...) { __VA_ARGS__ }
-
-/** An RSA encryption and decryption self-test */
-struct rsa_encrypt_decrypt_test {
- /** Private key */
- const void *private;
- /** Private key length */
- size_t private_len;
- /** Public key */
- const void *public;
- /** Public key length */
- size_t public_len;
- /** Plaintext */
- const void *plaintext;
- /** Plaintext length */
- size_t plaintext_len;
- /** Ciphertext
- *
- * Note that the encryption process includes some random
- * padding, so a given plaintext will encrypt to multiple
- * different ciphertexts.
- */
- const void *ciphertext;
- /** Ciphertext length */
- size_t ciphertext_len;
-};
-
-/**
- * Define an RSA encryption and decryption test
- *
- * @v name Test name
- * @v PRIVATE Private key
- * @v PUBLIC Public key
- * @v PLAINTEXT Plaintext
- * @v CIPHERTEXT Ciphertext
- * @ret test Encryption and decryption test
- */
-#define RSA_ENCRYPT_DECRYPT_TEST( name, PRIVATE, PUBLIC, PLAINTEXT, \
- CIPHERTEXT ) \
- static const uint8_t name ## _private[] = PRIVATE; \
- static const uint8_t name ## _public[] = PUBLIC; \
- static const uint8_t name ## _plaintext[] = PLAINTEXT; \
- static const uint8_t name ## _ciphertext[] = CIPHERTEXT; \
- static struct rsa_encrypt_decrypt_test name = { \
- .private = name ## _private, \
- .private_len = sizeof ( name ## _private ), \
- .public = name ## _public, \
- .public_len = sizeof ( name ## _public ), \
- .plaintext = name ## _plaintext, \
- .plaintext_len = sizeof ( name ## _plaintext ), \
- .ciphertext = name ## _ciphertext, \
- .ciphertext_len = sizeof ( name ## _ciphertext ), \
- }
-
-/** An RSA signature self-test */
-struct rsa_signature_test {
- /** Private key */
- const void *private;
- /** Private key length */
- size_t private_len;
- /** Public key */
- const void *public;
- /** Public key length */
- size_t public_len;
- /** Plaintext */
- const void *plaintext;
- /** Plaintext length */
- size_t plaintext_len;
- /** Digest algorithm */
- struct digest_algorithm *digest;
- /** Signature */
- const void *signature;
- /** Signature length */
- size_t signature_len;
-};
-
-/**
- * Define an RSA signature test
- *
- * @v name Test name
- * @v PRIVATE Private key
- * @v PUBLIC Public key
- * @v PLAINTEXT Plaintext
- * @v DIGEST Digest algorithm
- * @v SIGNATURE Signature
- * @ret test Signature test
- */
-#define RSA_SIGNATURE_TEST( name, PRIVATE, PUBLIC, PLAINTEXT, DIGEST, \
- SIGNATURE ) \
- static const uint8_t name ## _private[] = PRIVATE; \
- static const uint8_t name ## _public[] = PUBLIC; \
- static const uint8_t name ## _plaintext[] = PLAINTEXT; \
- static const uint8_t name ## _signature[] = SIGNATURE; \
- static struct rsa_signature_test name = { \
- .private = name ## _private, \
- .private_len = sizeof ( name ## _private ), \
- .public = name ## _public, \
- .public_len = sizeof ( name ## _public ), \
- .plaintext = name ## _plaintext, \
- .plaintext_len = sizeof ( name ## _plaintext ), \
- .digest = DIGEST, \
- .signature = name ## _signature, \
- .signature_len = sizeof ( name ## _signature ), \
- }
-
-/**
- * Report RSA encryption and decryption test result
- *
- * @v test RSA encryption and decryption test
- */
-#define rsa_encrypt_decrypt_ok( test ) do { \
- pubkey_decrypt_ok ( &rsa_algorithm, (test)->private, \
- (test)->private_len, (test)->ciphertext, \
- (test)->ciphertext_len, (test)->plaintext, \
- (test)->plaintext_len ); \
- pubkey_encrypt_ok ( &rsa_algorithm, (test)->private, \
- (test)->private_len, (test)->public, \
- (test)->public_len, (test)->plaintext, \
- (test)->plaintext_len ); \
- pubkey_encrypt_ok ( &rsa_algorithm, (test)->public, \
- (test)->public_len, (test)->private, \
- (test)->private_len, (test)->plaintext, \
- (test)->plaintext_len ); \
- } while ( 0 )
-
-
-/**
- * Report RSA signature test result
- *
- * @v test RSA signature test
- */
-#define rsa_signature_ok( test ) do { \
- uint8_t bad_signature[ (test)->signature_len ]; \
- pubkey_sign_ok ( &rsa_algorithm, (test)->private, \
- (test)->private_len, (test)->digest, \
- (test)->plaintext, (test)->plaintext_len, \
- (test)->signature, (test)->signature_len ); \
- pubkey_verify_ok ( &rsa_algorithm, (test)->public, \
- (test)->public_len, (test)->digest, \
- (test)->plaintext, (test)->plaintext_len, \
- (test)->signature, (test)->signature_len ); \
- memset ( bad_signature, 0, sizeof ( bad_signature ) ); \
- pubkey_verify_fail_ok ( &rsa_algorithm, (test)->public, \
- (test)->public_len, (test)->digest, \
- (test)->plaintext, \
- (test)->plaintext_len, bad_signature, \
- sizeof ( bad_signature ) ); \
- } while ( 0 )
-
-/** "Hello world" encryption and decryption test */
-RSA_ENCRYPT_DECRYPT_TEST ( hw_test,
- PRIVATE ( 0x30, 0x82, 0x01, 0x3b, 0x02, 0x01, 0x00, 0x02, 0x41, 0x00,
- 0xd2, 0xf1, 0x04, 0x67, 0xf6, 0x2c, 0x96, 0x07, 0xa6, 0xbd,
- 0x85, 0xac, 0xc1, 0x17, 0x5d, 0xe8, 0xf0, 0x93, 0x94, 0x0c,
- 0x45, 0x67, 0x26, 0x67, 0xde, 0x7e, 0xfb, 0xa8, 0xda, 0xbd,
- 0x07, 0xdf, 0xcf, 0x45, 0x04, 0x6d, 0xbd, 0x69, 0x8b, 0xfb,
- 0xc1, 0x72, 0xc0, 0xfc, 0x03, 0x04, 0xf2, 0x82, 0xc4, 0x7b,
- 0x6a, 0x3e, 0xec, 0x53, 0x7a, 0xe3, 0x4e, 0xa8, 0xc9, 0xf9,
- 0x1f, 0x2a, 0x13, 0x0d, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02,
- 0x40, 0x49, 0xb8, 0x61, 0xc9, 0xd3, 0x87, 0x11, 0x87, 0xeb,
- 0x06, 0x21, 0x49, 0x96, 0xd2, 0x0b, 0xc7, 0xf5, 0x0c, 0x1e,
- 0x99, 0x8b, 0x47, 0xd9, 0x6c, 0x43, 0x9e, 0x2d, 0x65, 0x7d,
- 0xcc, 0xc2, 0x8b, 0x1a, 0x6f, 0x2b, 0x55, 0xbe, 0xb3, 0x9f,
- 0xd1, 0xe2, 0x9a, 0xde, 0x1d, 0xac, 0xec, 0x67, 0xec, 0xa5,
- 0xbf, 0x9c, 0x30, 0xd6, 0xf9, 0x0a, 0x1a, 0x48, 0xf3, 0xc2,
- 0x93, 0x3a, 0x17, 0x27, 0x21, 0x02, 0x21, 0x00, 0xfc, 0x8d,
- 0xfb, 0xee, 0x8a, 0xaa, 0x45, 0x19, 0x4b, 0xf0, 0x68, 0xb0,
- 0x02, 0x38, 0x3e, 0x03, 0x6b, 0x24, 0x77, 0x20, 0xbd, 0x5e,
- 0x6c, 0x76, 0xdb, 0xc9, 0xe1, 0x43, 0xa3, 0x40, 0x62, 0x6f,
- 0x02, 0x21, 0x00, 0xd5, 0xd1, 0xb4, 0x4d, 0x03, 0x40, 0x69,
- 0x3f, 0x9a, 0xa7, 0x44, 0x15, 0x28, 0x1e, 0xa5, 0x5f, 0xcf,
- 0x97, 0x21, 0x12, 0xb3, 0xe6, 0x1c, 0x9a, 0x8d, 0xb7, 0xb4,
- 0x80, 0x3a, 0x9c, 0xb0, 0x43, 0x02, 0x20, 0x71, 0xf0, 0xa0,
- 0xab, 0x82, 0xf5, 0xc4, 0x8c, 0xe0, 0x1c, 0xcb, 0x2e, 0x35,
- 0x22, 0x28, 0xa0, 0x24, 0x33, 0x64, 0x67, 0x69, 0xe7, 0xf2,
- 0xa9, 0x41, 0x09, 0x78, 0x4e, 0xaa, 0x95, 0x3e, 0x93, 0x02,
- 0x21, 0x00, 0x85, 0xcc, 0x4d, 0xd9, 0x0b, 0x39, 0xd9, 0x22,
- 0x75, 0xf2, 0x49, 0x46, 0x3b, 0xee, 0xc1, 0x69, 0x6d, 0x0b,
- 0x93, 0x24, 0x92, 0xf2, 0x61, 0xdf, 0xcc, 0xe2, 0xb1, 0xce,
- 0xb3, 0xde, 0xac, 0xe5, 0x02, 0x21, 0x00, 0x9c, 0x23, 0x6a,
- 0x95, 0xa6, 0xfe, 0x1e, 0xd8, 0x0c, 0x3f, 0x6e, 0xe6, 0x0a,
- 0xeb, 0x97, 0xd6, 0x36, 0x1c, 0x80, 0xc1, 0x02, 0x87, 0x0d,
- 0x4d, 0xfe, 0x28, 0x02, 0x1e, 0xde, 0xe1, 0xcc, 0x72 ),
- PUBLIC ( 0x30, 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x4b, 0x00,
- 0x30, 0x48, 0x02, 0x41, 0x00, 0xd2, 0xf1, 0x04, 0x67, 0xf6,
- 0x2c, 0x96, 0x07, 0xa6, 0xbd, 0x85, 0xac, 0xc1, 0x17, 0x5d,
- 0xe8, 0xf0, 0x93, 0x94, 0x0c, 0x45, 0x67, 0x26, 0x67, 0xde,
- 0x7e, 0xfb, 0xa8, 0xda, 0xbd, 0x07, 0xdf, 0xcf, 0x45, 0x04,
- 0x6d, 0xbd, 0x69, 0x8b, 0xfb, 0xc1, 0x72, 0xc0, 0xfc, 0x03,
- 0x04, 0xf2, 0x82, 0xc4, 0x7b, 0x6a, 0x3e, 0xec, 0x53, 0x7a,
- 0xe3, 0x4e, 0xa8, 0xc9, 0xf9, 0x1f, 0x2a, 0x13, 0x0d, 0x02,
- 0x03, 0x01, 0x00, 0x01 ),
- PLAINTEXT ( 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c,
- 0x64, 0x0a ),
- CIPHERTEXT ( 0x39, 0xff, 0x5c, 0x54, 0x65, 0x3e, 0x6a, 0xab, 0xc0, 0x62,
- 0x91, 0xb2, 0xbf, 0x1d, 0x73, 0x5b, 0xd5, 0x4c, 0xbd, 0x16,
- 0x0f, 0x24, 0xc9, 0xf5, 0xa7, 0xdd, 0x94, 0xd6, 0xf8, 0xae,
- 0xd3, 0xa0, 0x9f, 0x4d, 0xff, 0x8d, 0x81, 0x34, 0x47, 0xff,
- 0x2a, 0x87, 0x96, 0xd3, 0x17, 0x5d, 0x93, 0x4d, 0x7b, 0x27,
- 0x88, 0x4f, 0xec, 0x43, 0x9c, 0xed, 0xb3, 0xf2, 0x19, 0x89,
- 0x38, 0x43, 0xf9, 0x41 ) );
-
-/** Random message MD5 signature test */
-RSA_SIGNATURE_TEST ( md5_test,
- PRIVATE ( 0x30, 0x82, 0x01, 0x3b, 0x02, 0x01, 0x00, 0x02, 0x41, 0x00,
- 0xf9, 0x3f, 0x78, 0x44, 0xe2, 0x0e, 0x25, 0xf1, 0x0e, 0x94,
- 0xcd, 0xca, 0x6f, 0x9e, 0xea, 0x6d, 0xdf, 0xcd, 0xa0, 0x7c,
- 0xe2, 0x21, 0xeb, 0xde, 0xa6, 0x01, 0x4b, 0xb0, 0x76, 0x4b,
- 0xd8, 0x8b, 0x19, 0x83, 0xb4, 0xbe, 0x45, 0xde, 0x3d, 0x46,
- 0x61, 0x0f, 0x11, 0xe2, 0x2c, 0xf5, 0xb0, 0x63, 0xa0, 0x84,
- 0xc0, 0xaf, 0x4e, 0xbe, 0x6a, 0xd3, 0x84, 0x3f, 0xec, 0x42,
- 0x17, 0xe9, 0x25, 0xe1, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02,
- 0x40, 0x62, 0x7d, 0x93, 0x1f, 0xdd, 0x17, 0xec, 0x24, 0x42,
- 0x37, 0xc8, 0xce, 0x0a, 0xa7, 0x88, 0x49, 0x5c, 0x9b, 0x9b,
- 0xa4, 0x5d, 0x93, 0x3b, 0xea, 0x62, 0x3c, 0xb6, 0xd5, 0x07,
- 0x19, 0xd7, 0x79, 0xf0, 0x3b, 0xab, 0xa3, 0xa5, 0x43, 0x35,
- 0x8d, 0x58, 0x40, 0xa0, 0x95, 0xc5, 0x63, 0x28, 0x28, 0xda,
- 0x13, 0x28, 0xdf, 0xc9, 0x05, 0xdc, 0x69, 0x46, 0xff, 0x2a,
- 0xfb, 0xe4, 0xd1, 0x23, 0xa5, 0x02, 0x21, 0x00, 0xfc, 0xef,
- 0x3b, 0x9d, 0x9d, 0x69, 0xf3, 0x66, 0x0a, 0x2b, 0x52, 0xd6,
- 0x61, 0x14, 0x90, 0x6e, 0x7d, 0x3c, 0x08, 0x4b, 0x98, 0x44,
- 0x00, 0xf2, 0xa4, 0x16, 0x2d, 0xd1, 0xf9, 0xa0, 0x1e, 0x37,
- 0x02, 0x21, 0x00, 0xfc, 0x44, 0xcc, 0x7c, 0xc0, 0x26, 0x9a,
- 0x0a, 0x6e, 0xda, 0x17, 0x05, 0x7d, 0x66, 0x8d, 0x29, 0x1a,
- 0x44, 0xbf, 0x33, 0x76, 0xae, 0x8d, 0xe8, 0xb5, 0xed, 0xb8,
- 0x6f, 0xdc, 0xfe, 0x10, 0xa7, 0x02, 0x20, 0x76, 0x48, 0x8a,
- 0x60, 0x93, 0x14, 0xd1, 0x36, 0x8e, 0xda, 0xe3, 0xca, 0x4d,
- 0x6c, 0x08, 0x7f, 0x23, 0x21, 0xc7, 0xdf, 0x52, 0x3d, 0xbb,
- 0x13, 0xbd, 0x98, 0x81, 0xa5, 0x08, 0x4f, 0xd0, 0xd1, 0x02,
- 0x21, 0x00, 0xd9, 0xa3, 0x11, 0x37, 0xdf, 0x1e, 0x6e, 0x6e,
- 0xe9, 0xcb, 0xc5, 0x68, 0xbb, 0x13, 0x2a, 0x5d, 0x77, 0x88,
- 0x2f, 0xdc, 0x5a, 0x5b, 0xa5, 0x9a, 0x4a, 0xba, 0x58, 0x10,
- 0x49, 0xfb, 0xf6, 0xa9, 0x02, 0x21, 0x00, 0x89, 0xe8, 0x47,
- 0x5b, 0x20, 0x04, 0x3b, 0x0f, 0xb9, 0xe0, 0x1d, 0xab, 0xcf,
- 0xe8, 0x72, 0xfd, 0x7d, 0x17, 0x85, 0xc8, 0xd8, 0xbd, 0x1a,
- 0x92, 0xe0, 0xbc, 0x7a, 0xc7, 0x31, 0xbe, 0xef, 0xf4 ),
- PUBLIC ( 0x30, 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x4b, 0x00,
- 0x30, 0x48, 0x02, 0x41, 0x00, 0xf9, 0x3f, 0x78, 0x44, 0xe2,
- 0x0e, 0x25, 0xf1, 0x0e, 0x94, 0xcd, 0xca, 0x6f, 0x9e, 0xea,
- 0x6d, 0xdf, 0xcd, 0xa0, 0x7c, 0xe2, 0x21, 0xeb, 0xde, 0xa6,
- 0x01, 0x4b, 0xb0, 0x76, 0x4b, 0xd8, 0x8b, 0x19, 0x83, 0xb4,
- 0xbe, 0x45, 0xde, 0x3d, 0x46, 0x61, 0x0f, 0x11, 0xe2, 0x2c,
- 0xf5, 0xb0, 0x63, 0xa0, 0x84, 0xc0, 0xaf, 0x4e, 0xbe, 0x6a,
- 0xd3, 0x84, 0x3f, 0xec, 0x42, 0x17, 0xe9, 0x25, 0xe1, 0x02,
- 0x03, 0x01, 0x00, 0x01 ),
- PLAINTEXT ( 0x9d, 0x5b, 0x46, 0x42, 0x27, 0xc0, 0xf1, 0x4b, 0xe5, 0x9e,
- 0xd3, 0x10, 0xa1, 0xeb, 0x16, 0xc3, 0xc6, 0x8f, 0x1a, 0x18,
- 0x86, 0xc3, 0x92, 0x15, 0x2d, 0x65, 0xa0, 0x40, 0xe1, 0x3e,
- 0x29, 0x79, 0x7c, 0xd4, 0x08, 0xef, 0x53, 0xeb, 0x08, 0x07,
- 0x39, 0x21, 0xb3, 0x40, 0xff, 0x4b, 0xc7, 0x76, 0xb9, 0x12,
- 0x32, 0x41, 0xcc, 0x5a, 0x86, 0x5c, 0x2e, 0x0b, 0x05, 0xd8,
- 0x56, 0xd4, 0xdf, 0x6f, 0x2c, 0xf0, 0xbf, 0x4b, 0x6f, 0x68,
- 0xde, 0x39, 0x4a, 0x3e, 0xae, 0x44, 0xb9, 0xc6, 0x24, 0xb3,
- 0x83, 0x2e, 0x9f, 0xf5, 0x6d, 0x61, 0xc3, 0x8e, 0xe8, 0x8f,
- 0xa6, 0x87, 0x58, 0x3f, 0x36, 0x13, 0xf4, 0x7e, 0xf0, 0x20,
- 0x47, 0x87, 0x3f, 0x21, 0x6e, 0x51, 0x3c, 0xf1, 0xef, 0xca,
- 0x9f, 0x77, 0x9c, 0x91, 0x4f, 0xd4, 0x56, 0xc0, 0x39, 0x11,
- 0xab, 0x15, 0x2c, 0x5e, 0xad, 0x40, 0x09, 0xe6, 0xde, 0xe5,
- 0x77, 0x60, 0x19, 0xd4, 0x0d, 0x77, 0x76, 0x24, 0x8b, 0xe6,
- 0xdd, 0xa5, 0x8d, 0x4a, 0x55, 0x3a, 0xdf, 0xf8, 0x29, 0xfb,
- 0x47, 0x8a, 0xfe, 0x98, 0x34, 0xf6, 0x30, 0x7f, 0x09, 0x03,
- 0x26, 0x05, 0xd5, 0x46, 0x18, 0x96, 0xca, 0x96, 0x5b, 0x66,
- 0xf2, 0x8d, 0xfc, 0xfc, 0x37, 0xf7, 0xc7, 0x6d, 0x6c, 0xd8,
- 0x24, 0x0c, 0x6a, 0xec, 0x82, 0x5c, 0x72, 0xf1, 0xfc, 0x05,
- 0xed, 0x8e, 0xe8, 0xd9, 0x8b, 0x8b, 0x67, 0x02, 0x95 ),
- &md5_algorithm,
- SIGNATURE ( 0xdb, 0x56, 0x3d, 0xea, 0xae, 0x81, 0x4b, 0x3b, 0x2e, 0x8e,
- 0xb8, 0xee, 0x13, 0x61, 0xc6, 0xe7, 0xd7, 0x50, 0xcd, 0x0d,
- 0x34, 0x3a, 0xfe, 0x9a, 0x8d, 0xf8, 0xfb, 0xd6, 0x7e, 0xbd,
- 0xdd, 0xb3, 0xf9, 0xfb, 0xe0, 0xf8, 0xe7, 0x71, 0x03, 0xe6,
- 0x55, 0xd5, 0xf4, 0x02, 0x3c, 0xb5, 0xbc, 0x95, 0x2b, 0x66,
- 0x56, 0xec, 0x2f, 0x8e, 0xa7, 0xae, 0xd9, 0x80, 0xb3, 0xaa,
- 0xac, 0x45, 0x00, 0xa8 ) );
-
-/** Random message SHA-1 signature test */
-RSA_SIGNATURE_TEST ( sha1_test,
- PRIVATE ( 0x30, 0x82, 0x01, 0x3b, 0x02, 0x01, 0x00, 0x02, 0x41, 0x00,
- 0xe0, 0x3a, 0x8d, 0x35, 0xe1, 0x92, 0x2f, 0xea, 0x0d, 0x82,
- 0x60, 0x2e, 0xb6, 0x0b, 0x02, 0xd3, 0xf4, 0x39, 0xfb, 0x06,
- 0x43, 0x8e, 0xa1, 0x7c, 0xc5, 0xae, 0x0d, 0xc7, 0xee, 0x83,
- 0xb3, 0x63, 0x20, 0x92, 0x34, 0xe2, 0x94, 0x3d, 0xdd, 0xbb,
- 0x6c, 0x64, 0x69, 0x68, 0x25, 0x24, 0x81, 0x4b, 0x4d, 0x48,
- 0x5a, 0xd2, 0x29, 0x14, 0xeb, 0x38, 0xdd, 0x3e, 0xb5, 0x57,
- 0x45, 0x9b, 0xed, 0x33, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02,
- 0x40, 0x3d, 0xa9, 0x1c, 0x47, 0xe2, 0xdd, 0xf6, 0x7b, 0x20,
- 0x77, 0xe7, 0xc7, 0x30, 0x9c, 0x5a, 0x8c, 0xba, 0xae, 0x6f,
- 0x0f, 0x4b, 0xe8, 0x9f, 0x13, 0xd6, 0xb0, 0x84, 0x6d, 0xa4,
- 0x73, 0x67, 0x12, 0xa9, 0x7c, 0x75, 0xaf, 0x62, 0x92, 0x7b,
- 0x80, 0xaf, 0x39, 0x7d, 0x01, 0xb3, 0x43, 0xc8, 0x0d, 0x17,
- 0x7f, 0x82, 0x59, 0x46, 0xb8, 0xe5, 0x4e, 0xba, 0x5e, 0x71,
- 0x5c, 0xba, 0x62, 0x06, 0x91, 0x02, 0x21, 0x00, 0xf7, 0xaa,
- 0xb6, 0x9c, 0xc8, 0xad, 0x68, 0xa8, 0xd7, 0x25, 0xb1, 0xb5,
- 0x91, 0xd4, 0xc7, 0xd6, 0x69, 0x51, 0x5d, 0x04, 0xed, 0xd8,
- 0xc6, 0xea, 0x69, 0xd2, 0x24, 0xbe, 0x5e, 0x7c, 0x89, 0xa5,
- 0x02, 0x21, 0x00, 0xe7, 0xc5, 0xf4, 0x01, 0x35, 0xe0, 0x16,
- 0xb5, 0x13, 0x86, 0x14, 0x5a, 0x6a, 0x8d, 0x03, 0x90, 0xae,
- 0x7d, 0x3a, 0xc1, 0xfe, 0x8c, 0xa0, 0x4a, 0xb4, 0x94, 0x50,
- 0x58, 0xa4, 0xc6, 0x73, 0xf7, 0x02, 0x21, 0x00, 0xe2, 0xda,
- 0x16, 0x6c, 0x63, 0x90, 0x1a, 0xc6, 0x54, 0x53, 0x2d, 0x84,
- 0x8f, 0x70, 0x24, 0x1f, 0x6b, 0xd6, 0x5f, 0xea, 0x8c, 0xe5,
- 0xbb, 0xc5, 0xa9, 0x6a, 0x17, 0xc7, 0xdb, 0x8a, 0x1d, 0x15,
- 0x02, 0x21, 0x00, 0xe4, 0x2a, 0x7e, 0xe4, 0x76, 0x2a, 0x2d,
- 0x90, 0x83, 0x30, 0xda, 0x76, 0x8c, 0x30, 0x58, 0x13, 0x25,
- 0x83, 0x88, 0xc5, 0x93, 0x96, 0xd2, 0xf1, 0xd8, 0x45, 0xad,
- 0xb7, 0x26, 0x37, 0x6b, 0xcf, 0x02, 0x20, 0x73, 0x58, 0x1f,
- 0x0a, 0xcd, 0x0c, 0x83, 0x27, 0xcc, 0x15, 0xa2, 0x1e, 0x07,
- 0x32, 0x1b, 0xa3, 0xc6, 0xa6, 0xb8, 0x83, 0x97, 0x48, 0x45,
- 0x50, 0x6c, 0x37, 0x45, 0xa5, 0x54, 0x2a, 0x59, 0x3c ),
- PUBLIC ( 0x30, 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x4b, 0x00,
- 0x30, 0x48, 0x02, 0x41, 0x00, 0xe0, 0x3a, 0x8d, 0x35, 0xe1,
- 0x92, 0x2f, 0xea, 0x0d, 0x82, 0x60, 0x2e, 0xb6, 0x0b, 0x02,
- 0xd3, 0xf4, 0x39, 0xfb, 0x06, 0x43, 0x8e, 0xa1, 0x7c, 0xc5,
- 0xae, 0x0d, 0xc7, 0xee, 0x83, 0xb3, 0x63, 0x20, 0x92, 0x34,
- 0xe2, 0x94, 0x3d, 0xdd, 0xbb, 0x6c, 0x64, 0x69, 0x68, 0x25,
- 0x24, 0x81, 0x4b, 0x4d, 0x48, 0x5a, 0xd2, 0x29, 0x14, 0xeb,
- 0x38, 0xdd, 0x3e, 0xb5, 0x57, 0x45, 0x9b, 0xed, 0x33, 0x02,
- 0x03, 0x01, 0x00, 0x01 ),
- PLAINTEXT ( 0xf7, 0x42, 0x01, 0x57, 0x6b, 0x70, 0xcc, 0x4a, 0xdc, 0xed,
- 0x12, 0x83, 0x3f, 0xef, 0x27, 0xc1, 0x3c, 0x85, 0xdd, 0x5e,
- 0x0a, 0x34, 0x98, 0xf9, 0x21, 0xd3, 0x24, 0x2a, 0x5a, 0xb2,
- 0xdf, 0x60, 0x21, 0x28, 0x7c, 0x5b, 0x7a, 0xbe, 0xcb, 0xea,
- 0xbc, 0xd6, 0x0e, 0xae, 0x94, 0x64, 0x21, 0xda, 0x28, 0x66,
- 0x2f, 0x71, 0x48, 0xe5, 0xea, 0x59, 0x38, 0x28, 0x3e, 0xed,
- 0x3b, 0x95, 0x4f, 0x3d, 0x72, 0x2a, 0x00, 0xf3, 0x95, 0x4d,
- 0xf0, 0x02, 0x71, 0x63, 0x5a, 0xbc, 0x84, 0xd1, 0x81, 0x3f,
- 0x16, 0xcd, 0x28, 0x3d, 0x47, 0xa2, 0xee, 0xa1, 0x2f, 0x84,
- 0x8a, 0x22, 0x02, 0x88, 0xd7, 0x83, 0x06, 0x4a, 0x9f, 0xea,
- 0x0f, 0x15, 0x48, 0x43, 0x58, 0x6d, 0x39, 0x78, 0x5a, 0x43,
- 0x3f, 0xed, 0x6f, 0x68, 0xde, 0x9c, 0xfe, 0xd3, 0x67, 0x74,
- 0x08, 0x46, 0x7d, 0x20, 0x22, 0x60, 0x8c, 0x37, 0x35, 0x46,
- 0x56, 0x19, 0x3c, 0xfa, 0xa5, 0x40, 0xac, 0x44, 0x90, 0x8a,
- 0xa5, 0x80, 0xb2, 0x32, 0xbc, 0xb4, 0x3f, 0x3e, 0x5e, 0xd4,
- 0x51, 0xa9, 0x2e, 0xd9, 0x7f, 0x5e, 0x32, 0xb1, 0x24, 0x35,
- 0x88, 0x71, 0x3a, 0x01, 0x86, 0x5c, 0xa2, 0xe2, 0x2d, 0x02,
- 0x30, 0x91, 0x1c, 0xaa, 0x6c, 0x24, 0x42, 0x1b, 0x1a, 0xba,
- 0x30, 0x40, 0x49, 0x83, 0xd9, 0xd7, 0x66, 0x7e, 0x5c, 0x1a,
- 0x4b, 0x7f, 0xa6, 0x8e, 0x8a, 0xd6, 0x0c, 0x65, 0x75 ),
- &sha1_algorithm,
- SIGNATURE ( 0xa5, 0x5a, 0x8a, 0x67, 0x81, 0x76, 0x7e, 0xad, 0x99, 0x22,
- 0xf1, 0x47, 0x64, 0xd2, 0xfb, 0x81, 0x45, 0xeb, 0x85, 0x56,
- 0xf8, 0x7d, 0xb8, 0xec, 0x41, 0x17, 0x84, 0xf7, 0x2b, 0xbb,
- 0x2b, 0x8f, 0xb6, 0xb8, 0x8f, 0xc6, 0xab, 0x39, 0xbc, 0xa3,
- 0x72, 0xb3, 0x63, 0x45, 0x5a, 0xe0, 0xac, 0xf8, 0x1c, 0x83,
- 0x48, 0x84, 0x89, 0x8a, 0x6b, 0xdf, 0x93, 0xa0, 0xc3, 0x0b,
- 0x0e, 0x3d, 0x80, 0x80 ) );
-
-/** Random message SHA-256 signature test */
-RSA_SIGNATURE_TEST ( sha256_test,
- PRIVATE ( 0x30, 0x82, 0x01, 0x3a, 0x02, 0x01, 0x00, 0x02, 0x41, 0x00,
- 0xa5, 0xe9, 0xdb, 0xa9, 0x1a, 0x6e, 0xd6, 0x4c, 0x25, 0x50,
- 0xfe, 0x61, 0x77, 0x08, 0x7a, 0x80, 0x36, 0xcb, 0x88, 0x49,
- 0x5c, 0xe8, 0xaa, 0x15, 0xf8, 0xb3, 0xd6, 0x78, 0x51, 0x46,
- 0x86, 0x3a, 0x5f, 0xd5, 0x9f, 0xab, 0xfe, 0x74, 0x8c, 0x53,
- 0x0d, 0xb5, 0x3c, 0x7d, 0x2c, 0x35, 0x88, 0x3f, 0xde, 0xa2,
- 0xce, 0x46, 0x94, 0x30, 0xa9, 0x76, 0xee, 0x25, 0xc5, 0x5d,
- 0xa6, 0xa6, 0x3a, 0xa5, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02,
- 0x40, 0x14, 0x4b, 0xbc, 0x4c, 0x3e, 0x68, 0x8a, 0x9c, 0x7c,
- 0x00, 0x21, 0x6e, 0x28, 0xd2, 0x87, 0xb1, 0xc1, 0x82, 0x3a,
- 0x64, 0xc7, 0x11, 0xcb, 0x24, 0xae, 0xec, 0xc8, 0xf2, 0xa4,
- 0xf6, 0x9c, 0x9a, 0xbb, 0x05, 0x94, 0x80, 0x9b, 0xc1, 0x21,
- 0x83, 0x36, 0x23, 0xba, 0x04, 0x20, 0x23, 0x06, 0x48, 0xa7,
- 0xa4, 0xe6, 0x31, 0x8e, 0xa1, 0x73, 0xe5, 0x6b, 0x83, 0x4c,
- 0x3a, 0xb8, 0xd8, 0x22, 0x61, 0x02, 0x21, 0x00, 0xd4, 0xdf,
- 0xcb, 0x21, 0x4a, 0x9a, 0x35, 0x52, 0x02, 0x99, 0xcc, 0x40,
- 0x83, 0x65, 0x30, 0x1f, 0x9d, 0x13, 0xd6, 0xd1, 0x79, 0x10,
- 0xce, 0x5b, 0xeb, 0x25, 0xa2, 0x39, 0x4e, 0xdf, 0x1c, 0x29,
- 0x02, 0x21, 0x00, 0xc7, 0x86, 0x8f, 0xd9, 0x88, 0xe9, 0x98,
- 0x4b, 0x5c, 0x50, 0x06, 0x94, 0x05, 0x59, 0x31, 0x25, 0xa7,
- 0xa8, 0xe6, 0x95, 0x2b, 0xe3, 0x74, 0x93, 0x51, 0xa8, 0x8e,
- 0x3d, 0xe2, 0xe0, 0xfa, 0x1d, 0x02, 0x20, 0x6e, 0xe3, 0x81,
- 0x31, 0xff, 0x65, 0xa3, 0x1e, 0xec, 0x61, 0xe7, 0x67, 0x37,
- 0xcb, 0x0f, 0x2d, 0x78, 0xaa, 0xab, 0xfd, 0x84, 0x5e, 0x3f,
- 0xd0, 0xdc, 0x06, 0x47, 0xa2, 0x28, 0xb6, 0xca, 0x39, 0x02,
- 0x20, 0x13, 0x7d, 0x9f, 0x9b, 0xbe, 0x76, 0x23, 0x3c, 0x69,
- 0x5e, 0x1f, 0xe6, 0x61, 0xc7, 0x5e, 0xb7, 0xb0, 0xf3, 0x1c,
- 0xe3, 0x41, 0x90, 0x4c, 0x98, 0xff, 0x87, 0x19, 0xae, 0x0d,
- 0xf5, 0xb0, 0x39, 0x02, 0x21, 0x00, 0xb7, 0xeb, 0xcd, 0x01,
- 0x2e, 0x23, 0x42, 0x4f, 0x0c, 0x6f, 0xde, 0xc8, 0x4f, 0xa7,
- 0x69, 0x09, 0x12, 0x34, 0xb6, 0x95, 0x4d, 0xb8, 0x7f, 0x16,
- 0xd0, 0x48, 0x17, 0x4a, 0x9e, 0x6e, 0x5e, 0xe2 ),
- PUBLIC ( 0x30, 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x4b, 0x00,
- 0x30, 0x48, 0x02, 0x41, 0x00, 0xa5, 0xe9, 0xdb, 0xa9, 0x1a,
- 0x6e, 0xd6, 0x4c, 0x25, 0x50, 0xfe, 0x61, 0x77, 0x08, 0x7a,
- 0x80, 0x36, 0xcb, 0x88, 0x49, 0x5c, 0xe8, 0xaa, 0x15, 0xf8,
- 0xb3, 0xd6, 0x78, 0x51, 0x46, 0x86, 0x3a, 0x5f, 0xd5, 0x9f,
- 0xab, 0xfe, 0x74, 0x8c, 0x53, 0x0d, 0xb5, 0x3c, 0x7d, 0x2c,
- 0x35, 0x88, 0x3f, 0xde, 0xa2, 0xce, 0x46, 0x94, 0x30, 0xa9,
- 0x76, 0xee, 0x25, 0xc5, 0x5d, 0xa6, 0xa6, 0x3a, 0xa5, 0x02,
- 0x03, 0x01, 0x00, 0x01 ),
- PLAINTEXT ( 0x60, 0xe7, 0xba, 0x9d, 0x5a, 0xe3, 0x2d, 0xfa, 0x5f, 0x47,
- 0xdb, 0x93, 0x24, 0x2c, 0xc4, 0xe2, 0x61, 0xf3, 0x89, 0x4d,
- 0x67, 0xad, 0xc8, 0xae, 0xf8, 0xe2, 0xfb, 0x52, 0x0f, 0x8d,
- 0x18, 0x7e, 0x30, 0xd8, 0x8d, 0x94, 0x07, 0x92, 0x70, 0x91,
- 0xaf, 0x3b, 0x92, 0xa6, 0x0f, 0x7a, 0x9b, 0x46, 0x85, 0x8c,
- 0x2a, 0x5a, 0x78, 0x5d, 0x1e, 0x13, 0xbf, 0xe6, 0x12, 0xbd,
- 0xb1, 0xbb, 0x92, 0x6d, 0x11, 0xed, 0xe1, 0xe4, 0x6e, 0x88,
- 0x4d, 0x0b, 0x51, 0xd6, 0xfd, 0x6a, 0xb2, 0x9b, 0xd3, 0xfd,
- 0x56, 0xec, 0xd9, 0xd6, 0xb8, 0xc5, 0xfd, 0x0c, 0xf7, 0x55,
- 0x5f, 0xc5, 0x6f, 0xbc, 0xbb, 0x78, 0x2f, 0x50, 0x08, 0x65,
- 0x0f, 0x12, 0xca, 0x5a, 0xea, 0x52, 0xd0, 0x94, 0x76, 0x17,
- 0xe4, 0xba, 0x97, 0xba, 0x11, 0xbf, 0x05, 0x7e, 0xa1, 0xfd,
- 0x7d, 0xb5, 0xf1, 0x3a, 0x7e, 0x6f, 0xa1, 0xaa, 0x97, 0x66,
- 0x5d, 0x72, 0x76, 0x45, 0x40, 0xb5, 0x22, 0x71, 0x43, 0xe8,
- 0x77, 0x76, 0xc8, 0x1b, 0xd2, 0xd1, 0x33, 0x05, 0x64, 0xa9,
- 0xc2, 0xa8, 0x40, 0x40, 0x21, 0xdd, 0xcf, 0x07, 0x7e, 0xf2,
- 0x4b, 0x80, 0x3d, 0x0f, 0x67, 0xf6, 0xbd, 0xc2, 0xc7, 0xe3,
- 0x91, 0x71, 0xd6, 0x2d, 0xa1, 0xae, 0x81, 0x0c, 0xed, 0x54,
- 0x48, 0x79, 0x8a, 0x78, 0x05, 0x74, 0x4d, 0x4f, 0xf0, 0xe0,
- 0x3c, 0x41, 0x5c, 0x04, 0x0b, 0x68, 0x57, 0xc5, 0xd6 ),
- &sha256_algorithm,
- SIGNATURE ( 0x02, 0x2e, 0xc5, 0x2a, 0x2b, 0x7f, 0xb4, 0x80, 0xca, 0x9d,
- 0x96, 0x5b, 0xaf, 0x1f, 0x72, 0x5b, 0x6e, 0xf1, 0x69, 0x7f,
- 0x4d, 0x41, 0xd5, 0x9f, 0x00, 0xdc, 0x47, 0xf4, 0x68, 0x8f,
- 0xda, 0xfc, 0xd1, 0x23, 0x96, 0x11, 0x1d, 0xc0, 0x1b, 0x1d,
- 0x36, 0x66, 0x2a, 0xf9, 0x21, 0x51, 0xcb, 0xb9, 0x7d, 0x24,
- 0x7d, 0x38, 0x37, 0xc4, 0xea, 0xdd, 0x3a, 0x6f, 0xa8, 0x65,
- 0x60, 0x73, 0x77, 0x3c ) );
-
-/**
- * Perform RSA self-tests
- *
- */
-static void rsa_test_exec ( void ) {
-
- rsa_encrypt_decrypt_ok ( &hw_test );
- rsa_signature_ok ( &md5_test );
- rsa_signature_ok ( &sha1_test );
- rsa_signature_ok ( &sha256_test );
-}
-
-/** RSA self-test */
-struct self_test rsa_test __self_test = {
- .name = "rsa",
- .exec = rsa_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/setjmp_test.c b/qemu/roms/ipxe/src/tests/setjmp_test.c
deleted file mode 100644
index 50ad13f3c..000000000
--- a/qemu/roms/ipxe/src/tests/setjmp_test.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (C) 2015 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * setjmp()/longjmp() tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stddef.h>
-#include <assert.h>
-#include <setjmp.h>
-#include <ipxe/test.h>
-
-/** A setjmp()/longjmp() test */
-struct setjmp_test {
- /** Jump buffer */
- jmp_buf env;
- /** Expected value */
- int expected;
- /** Test code file */
- const char *file;
- /** Test code line */
- unsigned int line;
-};
-
-/** Expected jump */
-static struct setjmp_test *jumped;
-
-/**
- * Report a setjmp() test result
- *
- * @v test setjmp()/longjmp() test
- *
- * This has to be implemented as a macro since if it were a function
- * then the context saved by setjmp() would be invalidated when the
- * function returned.
- */
-#define setjmp_ok( test ) do { \
- int value; \
- /* Sanity check */ \
- assert ( jumped == NULL ); \
- /* Initialise test */ \
- (test)->expected = 0; \
- (test)->file = __FILE__; \
- (test)->line = __LINE__; \
- /* Perform setjmp() */ \
- value = setjmp ( (test)->env ); \
- /* Report setjmp()/longjmp() result */ \
- setjmp_return_ok ( (test), value ); \
- } while ( 0 )
-
-/**
- * Report a setjmp()/longjmp() test result
- *
- * @v test setjmp()/longjmp() test
- * @v value Value returned from setjmp()
- *
- * This function ends up reporting results from either setjmp() or
- * longjmp() tests (since calls to longjmp() will return via the
- * corresponding setjmp()). It therefore uses the test code file and
- * line stored in the test structure, which will represent the line
- * from which either setjmp() or longjmp() was called.
- */
-static void setjmp_return_ok ( struct setjmp_test *test, int value ) {
-
- /* Determine whether this was reached via setjmp() or longjmp() */
- if ( value == 0 ) {
- /* This is the initial call to setjmp() */
- okx ( test->expected == 0, test->file, test->line );
- okx ( jumped == NULL, test->file, test->line );
- } else {
- /* This is reached via a call to longjmp() */
- okx ( value == test->expected, test->file, test->line );
- okx ( jumped == test, test->file, test->line );
- }
-
- /* Clear expected jump */
- jumped = NULL;
-}
-
-/**
- * Report a longjmp() test result
- *
- * @v test setjmp()/longjmp() test
- * @v file Test code file
- * @v line Test code line
- */
-static void longjmp_okx ( struct setjmp_test *test, int value,
- const char *file, unsigned int line ) {
-
- /* Record expected value. A zero passed to longjmp() should
- * result in setjmp() returning a value of one.
- */
- test->expected = ( value ? value : 1 );
-
- /* Record test code file and line */
- test->file = file;
- test->line = line;
-
- /* Record expected jump */
- jumped = test;
-
- /* Perform longjmp(). Should return via setjmp_okx() */
- longjmp ( test->env, value );
-
- /* longjmp() should never return */
- assert ( 0 );
-}
-#define longjmp_ok( test, value ) \
- longjmp_okx ( test, value, __FILE__, __LINE__ )
-
-/**
- * Perform setjmp()/longjmp() self-tests
- *
- */
-static void setjmp_test_exec ( void ) {
- static struct setjmp_test alpha;
- static struct setjmp_test beta;
- static int iteration;
-
- /* This is one of the very few situations in which the
- * "for-case" pattern is justified.
- */
- for ( iteration = 0 ; iteration < 10 ; iteration++ ) {
- DBGC ( jumped, "SETJMP test iteration %d\n", iteration );
- switch ( iteration ) {
- case 0: setjmp_ok ( &alpha ); break;
- case 1: setjmp_ok ( &beta ); break;
- case 2: longjmp_ok ( &alpha, 0 );
- case 3: longjmp_ok ( &alpha, 1 );
- case 4: longjmp_ok ( &alpha, 2 );
- case 5: longjmp_ok ( &beta, 17 );
- case 6: longjmp_ok ( &beta, 29 );
- case 7: longjmp_ok ( &alpha, -1 );
- case 8: longjmp_ok ( &beta, 0 );
- case 9: longjmp_ok ( &beta, 42 );
- }
- }
-}
-
-/** setjmp()/longjmp() self-test */
-struct self_test setjmp_test __self_test = {
- .name = "setjmp",
- .exec = setjmp_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/settings_test.c b/qemu/roms/ipxe/src/tests/settings_test.c
deleted file mode 100644
index f7fb35d0d..000000000
--- a/qemu/roms/ipxe/src/tests/settings_test.c
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Settings self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <string.h>
-#include <ipxe/settings.h>
-#include <ipxe/test.h>
-
-/** Define inline raw data */
-#define RAW(...) { __VA_ARGS__ }
-
-/**
- * Report a formatted-store test result
- *
- * @v _settings Settings block
- * @v _setting Setting
- * @v _formatted Formatted value
- * @v _raw_array Expected raw value
- */
-#define storef_ok( _settings, _setting, _formatted, _raw_array ) do { \
- const uint8_t expected[] = _raw_array; \
- uint8_t actual[ sizeof ( expected ) ]; \
- int len; \
- \
- ok ( storef_setting ( _settings, _setting, _formatted ) == 0 ); \
- len = fetch_setting ( _settings, _setting, NULL, NULL, actual, \
- sizeof ( actual ) ); \
- if ( len >= 0 ) { \
- DBGC ( _settings, "Stored %s \"%s\", got:\n", \
- (_setting)->type->name, _formatted ); \
- DBGC_HDA ( _settings, 0, actual, len ); \
- } else { \
- DBGC ( _settings, "Stored %s \"%s\", got error %s\n", \
- (_setting)->type->name, _formatted, \
- strerror ( len ) ); \
- } \
- ok ( len == ( int ) sizeof ( actual ) ); \
- ok ( memcmp ( actual, expected, sizeof ( actual ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report a formatted-fetch test result
- *
- * @v _settings Settings block
- * @v _setting Setting
- * @v _raw_array Raw value
- * @v _formatted Expected formatted value
- */
-#define fetchf_ok( _settings, _setting, _raw_array, _formatted ) do { \
- const uint8_t raw[] = _raw_array; \
- char actual[ strlen ( _formatted ) + 1 ]; \
- int len; \
- \
- ok ( store_setting ( _settings, _setting, raw, \
- sizeof ( raw ) ) == 0 ); \
- len = fetchf_setting ( _settings, _setting, NULL, NULL, actual, \
- sizeof ( actual ) ); \
- DBGC ( _settings, "Fetched %s \"%s\" from:\n", \
- (_setting)->type->name, actual ); \
- DBGC_HDA ( _settings, 0, raw, sizeof ( raw ) ); \
- ok ( len == ( int ) ( sizeof ( actual ) - 1 ) ); \
- ok ( strcmp ( actual, _formatted ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report a numeric-store test result
- *
- * @v _settings Settings block
- * @v _setting Setting
- * @v _numeric Numeric value
- * @v _raw_array Expected raw value
- */
-#define storen_ok( _settings, _setting, _numeric, _raw_array ) do { \
- const uint8_t expected[] = _raw_array; \
- uint8_t actual[ sizeof ( expected ) ]; \
- int len; \
- \
- ok ( storen_setting ( _settings, _setting, _numeric ) == 0 ); \
- len = fetch_setting ( _settings, _setting, NULL, NULL, actual, \
- sizeof ( actual ) ); \
- if ( len >= 0 ) { \
- DBGC ( _settings, "Stored %s %#lx, got:\n", \
- (_setting)->type->name, \
- ( unsigned long ) _numeric ); \
- DBGC_HDA ( _settings, 0, actual, len ); \
- } else { \
- DBGC ( _settings, "Stored %s %#lx, got error %s\n", \
- (_setting)->type->name, \
- ( unsigned long ) _numeric, strerror ( len ) ); \
- } \
- ok ( len == ( int ) sizeof ( actual ) ); \
- ok ( memcmp ( actual, expected, sizeof ( actual ) ) == 0 ); \
- } while ( 0 )
-
-/**
- * Report a numeric-fetch test result
- *
- * @v _settings Settings block
- * @v _setting Setting
- * @v _raw_array Raw array
- * @v _numeric Expected numeric value
- */
-#define fetchn_ok( _settings, _setting, _raw_array, _numeric ) do { \
- const uint8_t raw[] = _raw_array; \
- unsigned long actual; \
- \
- ok ( store_setting ( _settings, _setting, raw, \
- sizeof ( raw ) ) == 0 ); \
- ok ( fetchn_setting ( _settings, _setting, NULL, NULL, \
- &actual ) == 0 ); \
- DBGC ( _settings, "Fetched %s %#lx from:\n", \
- (_setting)->type->name, actual ); \
- DBGC_HDA ( _settings, 0, raw, sizeof ( raw ) ); \
- ok ( actual == ( unsigned long ) _numeric ); \
- } while ( 0 )
-
-/** Test generic settings block */
-struct generic_settings test_generic_settings = {
- .settings = {
- .refcnt = NULL,
- .siblings =
- LIST_HEAD_INIT ( test_generic_settings.settings.siblings ),
- .children =
- LIST_HEAD_INIT ( test_generic_settings.settings.children ),
- .op = &generic_settings_operations,
- },
- .list = LIST_HEAD_INIT ( test_generic_settings.list ),
-};
-
-/** Test settings block */
-#define test_settings test_generic_settings.settings
-
-/** Test string setting */
-static struct setting test_string_setting = {
- .name = "test_string",
- .type = &setting_type_string,
-};
-
-/** Test IPv4 address setting type */
-static struct setting test_ipv4_setting = {
- .name = "test_ipv4",
- .type = &setting_type_ipv4,
-};
-
-/** Test IPv6 address setting type */
-static struct setting test_ipv6_setting = {
- .name = "test_ipv6",
- .type = &setting_type_ipv6,
-};
-
-/** Test signed 8-bit integer setting type */
-static struct setting test_int8_setting = {
- .name = "test_int8",
- .type = &setting_type_int8,
-};
-
-/** Test signed 16-bit integer setting type */
-static struct setting test_int16_setting = {
- .name = "test_int16",
- .type = &setting_type_int16,
-};
-
-/** Test signed 32-bit integer setting type */
-static struct setting test_int32_setting = {
- .name = "test_int32",
- .type = &setting_type_int32,
-};
-
-/** Test unsigned 8-bit integer setting type */
-static struct setting test_uint8_setting = {
- .name = "test_uint8",
- .type = &setting_type_uint8,
-};
-
-/** Test unsigned 16-bit integer setting type */
-static struct setting test_uint16_setting = {
- .name = "test_uint16",
- .type = &setting_type_uint16,
-};
-
-/** Test unsigned 32-bit integer setting type */
-static struct setting test_uint32_setting = {
- .name = "test_uint32",
- .type = &setting_type_uint32,
-};
-
-/** Test colon-separated hex string setting type */
-static struct setting test_hex_setting = {
- .name = "test_hex",
- .type = &setting_type_hex,
-};
-
-/** Test hyphen-separated hex string setting type */
-static struct setting test_hexhyp_setting = {
- .name = "test_hexhyp",
- .type = &setting_type_hexhyp,
-};
-
-/** Test raw hex string setting type */
-static struct setting test_hexraw_setting = {
- .name = "test_hexraw",
- .type = &setting_type_hexraw,
-};
-
-/** Test Base64 setting type */
-static struct setting test_base64_setting = {
- .name = "test_base64",
- .type = &setting_type_base64,
-};
-
-/** Test UUID setting type */
-static struct setting test_uuid_setting = {
- .name = "test_uuid",
- .type = &setting_type_uuid,
-};
-
-/** Test PCI bus:dev.fn setting type */
-static struct setting test_busdevfn_setting = {
- .name = "test_busdevfn",
- .type = &setting_type_busdevfn,
-};
-
-/**
- * Perform settings self-tests
- *
- */
-static void settings_test_exec ( void ) {
-
- /* Register test settings block */
- ok ( register_settings ( &test_settings, NULL, "test" ) == 0 );
-
- /* "string" setting type */
- storef_ok ( &test_settings, &test_string_setting, "hello",
- RAW ( 'h', 'e', 'l', 'l', 'o' ) );
- fetchf_ok ( &test_settings, &test_string_setting,
- RAW ( 'w', 'o', 'r', 'l', 'd' ), "world" );
-
- /* "ipv4" setting type */
- storef_ok ( &test_settings, &test_ipv4_setting, "192.168.0.1",
- RAW ( 192, 168, 0, 1 ) );
- fetchf_ok ( &test_settings, &test_ipv4_setting,
- RAW ( 212, 13, 204, 60 ), "212.13.204.60" );
-
- /* "ipv6" setting type */
- storef_ok ( &test_settings, &test_ipv6_setting,
- "2001:ba8:0:1d4::6950:5845",
- RAW ( 0x20, 0x01, 0x0b, 0xa8, 0x00, 0x00, 0x01, 0xd4,
- 0x00, 0x00, 0x00, 0x00, 0x69, 0x50, 0x58, 0x45 ) );
- fetchf_ok ( &test_settings, &test_ipv6_setting,
- RAW ( 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x0c, 0x29, 0xff, 0xfe, 0xc5, 0x39, 0xa1 ),
- "fe80::20c:29ff:fec5:39a1" );
-
- /* Integer setting types (as formatted strings) */
- storef_ok ( &test_settings, &test_int8_setting,
- "54", RAW ( 54 ) );
- storef_ok ( &test_settings, &test_int8_setting,
- "0x7f", RAW ( 0x7f ) );
- storef_ok ( &test_settings, &test_int8_setting,
- "0x1234", RAW ( 0x34 ) );
- storef_ok ( &test_settings, &test_int8_setting,
- "-32", RAW ( -32 ) );
- fetchf_ok ( &test_settings, &test_int8_setting,
- RAW ( -9 ), "-9" );
- fetchf_ok ( &test_settings, &test_int8_setting,
- RAW ( 106 ), "106" );
- storef_ok ( &test_settings, &test_uint8_setting,
- "129", RAW ( 129 ) );
- storef_ok ( &test_settings, &test_uint8_setting,
- "0x3421", RAW ( 0x21 ) );
- fetchf_ok ( &test_settings, &test_uint8_setting,
- RAW ( 0x54 ), "0x54" );
- storef_ok ( &test_settings, &test_int16_setting,
- "29483", RAW ( 0x73, 0x2b ) );
- fetchf_ok ( &test_settings, &test_int16_setting,
- RAW ( 0x82, 0x14 ), "-32236" );
- fetchf_ok ( &test_settings, &test_int16_setting,
- RAW ( 0x12, 0x78 ), "4728" );
- storef_ok ( &test_settings, &test_uint16_setting,
- "48727", RAW ( 0xbe, 0x57 ) );
- fetchf_ok ( &test_settings, &test_uint16_setting,
- RAW ( 0x9a, 0x24 ), "0x9a24" );
- storef_ok ( &test_settings, &test_int32_setting,
- "2901274", RAW ( 0x00, 0x2c, 0x45, 0x1a ) );
- fetchf_ok ( &test_settings, &test_int32_setting,
- RAW ( 0xff, 0x34, 0x2d, 0xaf ), "-13357649" );
- fetchf_ok ( &test_settings, &test_int32_setting,
- RAW ( 0x01, 0x00, 0x34, 0xab ), "16790699" );
- storef_ok ( &test_settings, &test_uint32_setting,
- "0xb598d21", RAW ( 0x0b, 0x59, 0x8d, 0x21 ) );
- fetchf_ok ( &test_settings, &test_uint32_setting,
- RAW ( 0xf2, 0x37, 0xb2, 0x18 ), "0xf237b218" );
-
- /* Integer setting types (as numeric values) */
- storen_ok ( &test_settings, &test_int8_setting,
- 72, RAW ( 72 ) );
- storen_ok ( &test_settings, &test_int8_setting,
- 0xabcd, RAW ( 0xcd ) );
- fetchn_ok ( &test_settings, &test_int8_setting,
- RAW ( 0xfe ), -2 );
- storen_ok ( &test_settings, &test_uint8_setting,
- 84, RAW ( 84 ) );
- fetchn_ok ( &test_settings, &test_uint8_setting,
- RAW ( 0xfe ), 0xfe );
- storen_ok ( &test_settings, &test_int16_setting,
- 0x87bd, RAW ( 0x87, 0xbd ) );
- fetchn_ok ( &test_settings, &test_int16_setting,
- RAW ( 0x3d, 0x14 ), 0x3d14 );
- fetchn_ok ( &test_settings, &test_int16_setting,
- RAW ( 0x80 ), -128 );
- storen_ok ( &test_settings, &test_uint16_setting,
- 1, RAW ( 0x00, 0x01 ) );
- fetchn_ok ( &test_settings, &test_uint16_setting,
- RAW ( 0xbd, 0x87 ), 0xbd87 );
- fetchn_ok ( &test_settings, &test_uint16_setting,
- RAW ( 0x80 ), 0x0080 );
- storen_ok ( &test_settings, &test_int32_setting,
- 0x0812bfd2, RAW ( 0x08, 0x12, 0xbf, 0xd2 ) );
- fetchn_ok ( &test_settings, &test_int32_setting,
- RAW ( 0x43, 0x87, 0x91, 0xb4 ), 0x438791b4 );
- fetchn_ok ( &test_settings, &test_int32_setting,
- RAW ( 0xff, 0xff, 0xfe ), -2 );
- storen_ok ( &test_settings, &test_uint32_setting,
- 0xb5927ab8, RAW ( 0xb5, 0x92, 0x7a, 0xb8 ) );
- fetchn_ok ( &test_settings, &test_uint32_setting,
- RAW ( 0x98, 0xab, 0x41, 0x81 ), 0x98ab4181 );
- fetchn_ok ( &test_settings, &test_uint32_setting,
- RAW ( 0xff, 0xff, 0xfe ), 0x00fffffe );
- fetchn_ok ( &test_settings, &test_uint32_setting,
- RAW ( 0, 0, 0, 0x12, 0x34, 0x56, 0x78 ), 0x12345678 );
- fetchn_ok ( &test_settings, &test_int32_setting,
- RAW ( 0, 0, 0, 0x12, 0x34, 0x56, 0x78 ), 0x12345678 );
- fetchn_ok ( &test_settings, &test_int32_setting,
- RAW ( 0xff, 0xff, 0x87, 0x65, 0x43, 0x21 ), -0x789abcdf );
-
- /* "hex" setting type */
- storef_ok ( &test_settings, &test_hex_setting,
- "08:12:f5:22:90:1b:4b:47:a8:30:cb:4d:67:4c:d6:76",
- RAW ( 0x08, 0x12, 0xf5, 0x22, 0x90, 0x1b, 0x4b, 0x47, 0xa8,
- 0x30, 0xcb, 0x4d, 0x67, 0x4c, 0xd6, 0x76 ) );
- fetchf_ok ( &test_settings, &test_hex_setting,
- RAW ( 0x62, 0xd9, 0xd4, 0xc4, 0x7e, 0x3b, 0x41, 0x46, 0x91,
- 0xc6, 0xfd, 0x0c, 0xbf ),
- "62:d9:d4:c4:7e:3b:41:46:91:c6:fd:0c:bf" );
-
- /* "hexhyp" setting type */
- storef_ok ( &test_settings, &test_hexhyp_setting,
- "11-33-22", RAW ( 0x11, 0x33, 0x22 ) );
- fetchf_ok ( &test_settings, &test_hexhyp_setting,
- RAW ( 0x9f, 0xe5, 0x6d, 0xfb, 0x24, 0x3a, 0x4c, 0xbb, 0xa9,
- 0x09, 0x6c, 0x66, 0x13, 0xc1, 0xa8, 0xec, 0x27 ),
- "9f-e5-6d-fb-24-3a-4c-bb-a9-09-6c-66-13-c1-a8-ec-27" );
-
- /* "hexraw" setting type */
- storef_ok ( &test_settings, &test_hexraw_setting,
- "012345abcdef", RAW ( 0x01, 0x23, 0x45, 0xab, 0xcd, 0xef ));
- fetchf_ok ( &test_settings, &test_hexraw_setting,
- RAW ( 0x9e, 0x4b, 0x6e, 0xef, 0x36, 0xb6, 0x46, 0xfe, 0x8f,
- 0x17, 0x06, 0x39, 0x6b, 0xf4, 0x48, 0x4e ),
- "9e4b6eef36b646fe8f1706396bf4484e" );
-
- /* "base64" setting type */
- storef_ok ( &test_settings, &test_base64_setting,
- "cGFzc6\nNwaHJhc2U= ",
- RAW ( 0x70, 0x61, 0x73, 0x73, 0xa3, 0x70, 0x68, 0x72, 0x61,
- 0x73, 0x65 ) );
- fetchf_ok ( &test_settings, &test_base64_setting,
- RAW ( 0x80, 0x81, 0x82, 0x83, 0x84, 0x00, 0xff ),
- "gIGCg4QA/w==" );
-
- /* "uuid" setting type (no store capability) */
- fetchf_ok ( &test_settings, &test_uuid_setting,
- RAW ( 0x1a, 0x6a, 0x74, 0x9d, 0x0e, 0xda, 0x46, 0x1a,0xa8,
- 0x7a, 0x7c, 0xfe, 0x4f, 0xca, 0x4a, 0x57 ),
- "1a6a749d-0eda-461a-a87a-7cfe4fca4a57" );
-
- /* "busdevfn" setting type (no store capability) */
- fetchf_ok ( &test_settings, &test_busdevfn_setting,
- RAW ( 0x03, 0x45 ), "03:08.5" );
-
- /* Clear and unregister test settings block */
- clear_settings ( &test_settings );
- unregister_settings ( &test_settings );
-}
-
-/** Settings self-test */
-struct self_test settings_test __self_test = {
- .name = "settings",
- .exec = settings_test_exec,
-};
-
-/* Include real IPv6 setting type */
-REQUIRING_SYMBOL ( settings_test );
-REQUIRE_OBJECT ( ipv6 );
diff --git a/qemu/roms/ipxe/src/tests/sha1_test.c b/qemu/roms/ipxe/src/tests/sha1_test.c
deleted file mode 100644
index 9f1d75686..000000000
--- a/qemu/roms/ipxe/src/tests/sha1_test.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * SHA-1 tests
- *
- * NIST test vectors are taken from
- *
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/SHA1.pdf
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <ipxe/sha1.h>
-#include <ipxe/test.h>
-#include "digest_test.h"
-
-/* Empty test vector (digest obtained from "sha1sum /dev/null") */
-DIGEST_TEST ( sha1_empty, &sha1_algorithm, DIGEST_EMPTY,
- DIGEST ( 0xda, 0x39, 0xa3, 0xee, 0x5e, 0x6b, 0x4b, 0x0d, 0x32,
- 0x55, 0xbf, 0xef, 0x95, 0x60, 0x18, 0x90, 0xaf, 0xd8,
- 0x07, 0x09 ) );
-
-/* NIST test vector "abc" */
-DIGEST_TEST ( sha1_nist_abc, &sha1_algorithm, DIGEST_NIST_ABC,
- DIGEST ( 0xa9, 0x99, 0x3e, 0x36, 0x47, 0x06, 0x81, 0x6a, 0xba,
- 0x3e, 0x25, 0x71, 0x78, 0x50, 0xc2, 0x6c, 0x9c, 0xd0,
- 0xd8, 0x9d ) );
-
-/* NIST test vector "abc...opq" */
-DIGEST_TEST ( sha1_nist_abc_opq, &sha1_algorithm, DIGEST_NIST_ABC_OPQ,
- DIGEST ( 0x84, 0x98, 0x3e, 0x44, 0x1c, 0x3b, 0xd2, 0x6e, 0xba,
- 0xae, 0x4a, 0xa1, 0xf9, 0x51, 0x29, 0xe5, 0xe5, 0x46,
- 0x70, 0xf1 ) );
-
-/**
- * Perform SHA-1 self-test
- *
- */
-static void sha1_test_exec ( void ) {
-
- /* Correctness tests */
- digest_ok ( &sha1_empty );
- digest_ok ( &sha1_nist_abc );
- digest_ok ( &sha1_nist_abc_opq );
-
- /* Speed tests */
- DBG ( "SHA1 required %ld cycles per byte\n",
- digest_cost ( &sha1_algorithm ) );
-}
-
-/** SHA-1 self-test */
-struct self_test sha1_test __self_test = {
- .name = "sha1",
- .exec = sha1_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/sha256_test.c b/qemu/roms/ipxe/src/tests/sha256_test.c
deleted file mode 100644
index 3b4c423fd..000000000
--- a/qemu/roms/ipxe/src/tests/sha256_test.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * SHA-256 family tests
- *
- * NIST test vectors are taken from
- *
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/SHA256.pdf
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/SHA224.pdf
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <ipxe/sha256.h>
-#include <ipxe/test.h>
-#include "digest_test.h"
-
-/* Empty test vector (digest obtained from "sha256sum /dev/null") */
-DIGEST_TEST ( sha256_empty, &sha256_algorithm, DIGEST_EMPTY,
- DIGEST ( 0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a,
- 0xfb, 0xf4, 0xc8, 0x99, 0x6f, 0xb9, 0x24, 0x27, 0xae,
- 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95, 0x99,
- 0x1b, 0x78, 0x52, 0xb8, 0x55 ) );
-
-/* NIST test vector "abc" */
-DIGEST_TEST ( sha256_nist_abc, &sha256_algorithm, DIGEST_NIST_ABC,
- DIGEST ( 0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41,
- 0x41, 0x40, 0xde, 0x5d, 0xae, 0x22, 0x23, 0xb0, 0x03,
- 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10, 0xff,
- 0x61, 0xf2, 0x00, 0x15, 0xad ) );
-
-/* NIST test vector "abc...opq" */
-DIGEST_TEST ( sha256_nist_abc_opq, &sha256_algorithm, DIGEST_NIST_ABC_OPQ,
- DIGEST ( 0x24, 0x8d, 0x6a, 0x61, 0xd2, 0x06, 0x38, 0xb8, 0xe5,
- 0xc0, 0x26, 0x93, 0x0c, 0x3e, 0x60, 0x39, 0xa3, 0x3c,
- 0xe4, 0x59, 0x64, 0xff, 0x21, 0x67, 0xf6, 0xec, 0xed,
- 0xd4, 0x19, 0xdb, 0x06, 0xc1 ) );
-
-/* Empty test vector (digest obtained from "sha224sum /dev/null") */
-DIGEST_TEST ( sha224_empty, &sha224_algorithm, DIGEST_EMPTY,
- DIGEST ( 0xd1, 0x4a, 0x02, 0x8c, 0x2a, 0x3a, 0x2b, 0xc9, 0x47,
- 0x61, 0x02, 0xbb, 0x28, 0x82, 0x34, 0xc4, 0x15, 0xa2,
- 0xb0, 0x1f, 0x82, 0x8e, 0xa6, 0x2a, 0xc5, 0xb3, 0xe4,
- 0x2f ) );
-
-/* NIST test vector "abc" */
-DIGEST_TEST ( sha224_nist_abc, &sha224_algorithm, DIGEST_NIST_ABC,
- DIGEST ( 0x23, 0x09, 0x7d, 0x22, 0x34, 0x05, 0xd8, 0x22, 0x86,
- 0x42, 0xa4, 0x77, 0xbd, 0xa2, 0x55, 0xb3, 0x2a, 0xad,
- 0xbc, 0xe4, 0xbd, 0xa0, 0xb3, 0xf7, 0xe3, 0x6c, 0x9d,
- 0xa7 ) );
-
-/* NIST test vector "abc...opq" */
-DIGEST_TEST ( sha224_nist_abc_opq, &sha224_algorithm, DIGEST_NIST_ABC_OPQ,
- DIGEST ( 0x75, 0x38, 0x8b, 0x16, 0x51, 0x27, 0x76, 0xcc, 0x5d,
- 0xba, 0x5d, 0xa1, 0xfd, 0x89, 0x01, 0x50, 0xb0, 0xc6,
- 0x45, 0x5c, 0xb4, 0xf5, 0x8b, 0x19, 0x52, 0x52, 0x25,
- 0x25 ) );
-
-/**
- * Perform SHA-256 family self-test
- *
- */
-static void sha256_test_exec ( void ) {
-
- /* Correctness tests */
- digest_ok ( &sha256_empty );
- digest_ok ( &sha256_nist_abc );
- digest_ok ( &sha256_nist_abc_opq );
- digest_ok ( &sha224_empty );
- digest_ok ( &sha224_nist_abc );
- digest_ok ( &sha224_nist_abc_opq );
-
- /* Speed tests */
- DBG ( "SHA256 required %ld cycles per byte\n",
- digest_cost ( &sha256_algorithm ) );
- DBG ( "SHA224 required %ld cycles per byte\n",
- digest_cost ( &sha224_algorithm ) );
-}
-
-/** SHA-256 family self-test */
-struct self_test sha256_test __self_test = {
- .name = "sha256",
- .exec = sha256_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/sha512_test.c b/qemu/roms/ipxe/src/tests/sha512_test.c
deleted file mode 100644
index be530ebad..000000000
--- a/qemu/roms/ipxe/src/tests/sha512_test.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (C) 2015 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * SHA-512 family tests
- *
- * NIST test vectors are taken from
- *
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/SHA512.pdf
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/SHA384.pdf
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/SHA512_256.pdf
- * http://csrc.nist.gov/groups/ST/toolkit/documents/Examples/SHA512_224.pdf
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <ipxe/sha512.h>
-#include <ipxe/test.h>
-#include "digest_test.h"
-
-/* Empty test vector (digest obtained from "sha512sum /dev/null") */
-DIGEST_TEST ( sha512_empty, &sha512_algorithm, DIGEST_EMPTY,
- DIGEST ( 0xcf, 0x83, 0xe1, 0x35, 0x7e, 0xef, 0xb8, 0xbd, 0xf1,
- 0x54, 0x28, 0x50, 0xd6, 0x6d, 0x80, 0x07, 0xd6, 0x20,
- 0xe4, 0x05, 0x0b, 0x57, 0x15, 0xdc, 0x83, 0xf4, 0xa9,
- 0x21, 0xd3, 0x6c, 0xe9, 0xce, 0x47, 0xd0, 0xd1, 0x3c,
- 0x5d, 0x85, 0xf2, 0xb0, 0xff, 0x83, 0x18, 0xd2, 0x87,
- 0x7e, 0xec, 0x2f, 0x63, 0xb9, 0x31, 0xbd, 0x47, 0x41,
- 0x7a, 0x81, 0xa5, 0x38, 0x32, 0x7a, 0xf9, 0x27, 0xda,
- 0x3e ) );
-
-/* NIST test vector "abc" */
-DIGEST_TEST ( sha512_nist_abc, &sha512_algorithm, DIGEST_NIST_ABC,
- DIGEST ( 0xdd, 0xaf, 0x35, 0xa1, 0x93, 0x61, 0x7a, 0xba, 0xcc,
- 0x41, 0x73, 0x49, 0xae, 0x20, 0x41, 0x31, 0x12, 0xe6,
- 0xfa, 0x4e, 0x89, 0xa9, 0x7e, 0xa2, 0x0a, 0x9e, 0xee,
- 0xe6, 0x4b, 0x55, 0xd3, 0x9a, 0x21, 0x92, 0x99, 0x2a,
- 0x27, 0x4f, 0xc1, 0xa8, 0x36, 0xba, 0x3c, 0x23, 0xa3,
- 0xfe, 0xeb, 0xbd, 0x45, 0x4d, 0x44, 0x23, 0x64, 0x3c,
- 0xe8, 0x0e, 0x2a, 0x9a, 0xc9, 0x4f, 0xa5, 0x4c, 0xa4,
- 0x9f ) );
-
-/* NIST test vector "abc...stu" */
-DIGEST_TEST ( sha512_nist_abc_stu, &sha512_algorithm, DIGEST_NIST_ABC_STU,
- DIGEST ( 0x8e, 0x95, 0x9b, 0x75, 0xda, 0xe3, 0x13, 0xda, 0x8c,
- 0xf4, 0xf7, 0x28, 0x14, 0xfc, 0x14, 0x3f, 0x8f, 0x77,
- 0x79, 0xc6, 0xeb, 0x9f, 0x7f, 0xa1, 0x72, 0x99, 0xae,
- 0xad, 0xb6, 0x88, 0x90, 0x18, 0x50, 0x1d, 0x28, 0x9e,
- 0x49, 0x00, 0xf7, 0xe4, 0x33, 0x1b, 0x99, 0xde, 0xc4,
- 0xb5, 0x43, 0x3a, 0xc7, 0xd3, 0x29, 0xee, 0xb6, 0xdd,
- 0x26, 0x54, 0x5e, 0x96, 0xe5, 0x5b, 0x87, 0x4b, 0xe9,
- 0x09 ) );
-
-/* Empty test vector (digest obtained from "sha384sum /dev/null") */
-DIGEST_TEST ( sha384_empty, &sha384_algorithm, DIGEST_EMPTY,
- DIGEST ( 0x38, 0xb0, 0x60, 0xa7, 0x51, 0xac, 0x96, 0x38, 0x4c,
- 0xd9, 0x32, 0x7e, 0xb1, 0xb1, 0xe3, 0x6a, 0x21, 0xfd,
- 0xb7, 0x11, 0x14, 0xbe, 0x07, 0x43, 0x4c, 0x0c, 0xc7,
- 0xbf, 0x63, 0xf6, 0xe1, 0xda, 0x27, 0x4e, 0xde, 0xbf,
- 0xe7, 0x6f, 0x65, 0xfb, 0xd5, 0x1a, 0xd2, 0xf1, 0x48,
- 0x98, 0xb9, 0x5b ) );
-
-/* NIST test vector "abc" */
-DIGEST_TEST ( sha384_nist_abc, &sha384_algorithm, DIGEST_NIST_ABC,
- DIGEST ( 0xcb, 0x00, 0x75, 0x3f, 0x45, 0xa3, 0x5e, 0x8b, 0xb5,
- 0xa0, 0x3d, 0x69, 0x9a, 0xc6, 0x50, 0x07, 0x27, 0x2c,
- 0x32, 0xab, 0x0e, 0xde, 0xd1, 0x63, 0x1a, 0x8b, 0x60,
- 0x5a, 0x43, 0xff, 0x5b, 0xed, 0x80, 0x86, 0x07, 0x2b,
- 0xa1, 0xe7, 0xcc, 0x23, 0x58, 0xba, 0xec, 0xa1, 0x34,
- 0xc8, 0x25, 0xa7 ) );
-
-/* NIST test vector "abc...stu" */
-DIGEST_TEST ( sha384_nist_abc_stu, &sha384_algorithm, DIGEST_NIST_ABC_STU,
- DIGEST ( 0x09, 0x33, 0x0c, 0x33, 0xf7, 0x11, 0x47, 0xe8, 0x3d,
- 0x19, 0x2f, 0xc7, 0x82, 0xcd, 0x1b, 0x47, 0x53, 0x11,
- 0x1b, 0x17, 0x3b, 0x3b, 0x05, 0xd2, 0x2f, 0xa0, 0x80,
- 0x86, 0xe3, 0xb0, 0xf7, 0x12, 0xfc, 0xc7, 0xc7, 0x1a,
- 0x55, 0x7e, 0x2d, 0xb9, 0x66, 0xc3, 0xe9, 0xfa, 0x91,
- 0x74, 0x60, 0x39 ) );
-
-/* Empty test vector (digest obtained from "shasum -a 512256 /dev/null") */
-DIGEST_TEST ( sha512_256_empty, &sha512_256_algorithm, DIGEST_EMPTY,
- DIGEST ( 0xc6, 0x72, 0xb8, 0xd1, 0xef, 0x56, 0xed, 0x28, 0xab,
- 0x87, 0xc3, 0x62, 0x2c, 0x51, 0x14, 0x06, 0x9b, 0xdd,
- 0x3a, 0xd7, 0xb8, 0xf9, 0x73, 0x74, 0x98, 0xd0, 0xc0,
- 0x1e, 0xce, 0xf0, 0x96, 0x7a ) );
-
-/* NIST test vector "abc" */
-DIGEST_TEST ( sha512_256_nist_abc, &sha512_256_algorithm, DIGEST_NIST_ABC,
- DIGEST ( 0x53, 0x04, 0x8e, 0x26, 0x81, 0x94, 0x1e, 0xf9, 0x9b,
- 0x2e, 0x29, 0xb7, 0x6b, 0x4c, 0x7d, 0xab, 0xe4, 0xc2,
- 0xd0, 0xc6, 0x34, 0xfc, 0x6d, 0x46, 0xe0, 0xe2, 0xf1,
- 0x31, 0x07, 0xe7, 0xaf, 0x23 ) );
-
-/* NIST test vector "abc...stu" */
-DIGEST_TEST ( sha512_256_nist_abc_stu, &sha512_256_algorithm,
- DIGEST_NIST_ABC_STU,
- DIGEST ( 0x39, 0x28, 0xe1, 0x84, 0xfb, 0x86, 0x90, 0xf8, 0x40,
- 0xda, 0x39, 0x88, 0x12, 0x1d, 0x31, 0xbe, 0x65, 0xcb,
- 0x9d, 0x3e, 0xf8, 0x3e, 0xe6, 0x14, 0x6f, 0xea, 0xc8,
- 0x61, 0xe1, 0x9b, 0x56, 0x3a ) );
-
-/* Empty test vector (digest obtained from "shasum -a 512224 /dev/null") */
-DIGEST_TEST ( sha512_224_empty, &sha512_224_algorithm, DIGEST_EMPTY,
- DIGEST ( 0x6e, 0xd0, 0xdd, 0x02, 0x80, 0x6f, 0xa8, 0x9e, 0x25,
- 0xde, 0x06, 0x0c, 0x19, 0xd3, 0xac, 0x86, 0xca, 0xbb,
- 0x87, 0xd6, 0xa0, 0xdd, 0xd0, 0x5c, 0x33, 0x3b, 0x84,
- 0xf4 ) );
-
-/* NIST test vector "abc" */
-DIGEST_TEST ( sha512_224_nist_abc, &sha512_224_algorithm, DIGEST_NIST_ABC,
- DIGEST ( 0x46, 0x34, 0x27, 0x0f, 0x70, 0x7b, 0x6a, 0x54, 0xda,
- 0xae, 0x75, 0x30, 0x46, 0x08, 0x42, 0xe2, 0x0e, 0x37,
- 0xed, 0x26, 0x5c, 0xee, 0xe9, 0xa4, 0x3e, 0x89, 0x24,
- 0xaa ) );
-
-/* NIST test vector "abc...stu" */
-DIGEST_TEST ( sha512_224_nist_abc_stu, &sha512_224_algorithm,
- DIGEST_NIST_ABC_STU,
- DIGEST ( 0x23, 0xfe, 0xc5, 0xbb, 0x94, 0xd6, 0x0b, 0x23, 0x30,
- 0x81, 0x92, 0x64, 0x0b, 0x0c, 0x45, 0x33, 0x35, 0xd6,
- 0x64, 0x73, 0x4f, 0xe4, 0x0e, 0x72, 0x68, 0x67, 0x4a,
- 0xf9 ) );
-
-/**
- * Perform SHA-512 family self-test
- *
- */
-static void sha512_test_exec ( void ) {
-
- /* Correctness tests */
- digest_ok ( &sha512_empty );
- digest_ok ( &sha512_nist_abc );
- digest_ok ( &sha512_nist_abc_stu );
- digest_ok ( &sha384_empty );
- digest_ok ( &sha384_nist_abc );
- digest_ok ( &sha384_nist_abc_stu );
- digest_ok ( &sha512_256_empty );
- digest_ok ( &sha512_256_nist_abc );
- digest_ok ( &sha512_256_nist_abc_stu );
- digest_ok ( &sha512_224_empty );
- digest_ok ( &sha512_224_nist_abc );
- digest_ok ( &sha512_224_nist_abc_stu );
-
- /* Speed tests */
- DBG ( "SHA512 required %ld cycles per byte\n",
- digest_cost ( &sha512_algorithm ) );
- DBG ( "SHA384 required %ld cycles per byte\n",
- digest_cost ( &sha384_algorithm ) );
- DBG ( "SHA512/256 required %ld cycles per byte\n",
- digest_cost ( &sha512_256_algorithm ) );
- DBG ( "SHA512/224 required %ld cycles per byte\n",
- digest_cost ( &sha512_224_algorithm ) );
-}
-
-/** SHA-512 family self-test */
-struct self_test sha512_test __self_test = {
- .name = "sha512",
- .exec = sha512_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/string_test.c b/qemu/roms/ipxe/src/tests/string_test.c
deleted file mode 100644
index 4693b5f65..000000000
--- a/qemu/roms/ipxe/src/tests/string_test.c
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * String self-tests
- *
- * memcpy() tests are handled separately
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <strings.h>
-#include <ipxe/string.h>
-#include <ipxe/test.h>
-
-/**
- * Perform string self-tests
- *
- */
-static void string_test_exec ( void ) {
-
- /* Test strlen() */
- ok ( strlen ( "" ) == 0 );
- ok ( strlen ( "Hello" ) == 5 );
- ok ( strlen ( "Hello world!" ) == 12 );
- ok ( strlen ( "Hello\0world!" ) == 5 );
-
- /* Test strnlen() */
- ok ( strnlen ( "", 0 ) == 0 );
- ok ( strnlen ( "", 10 ) == 0 );
- ok ( strnlen ( "Hello", 0 ) == 0 );
- ok ( strnlen ( "Hello", 3 ) == 3 );
- ok ( strnlen ( "Hello", 5 ) == 5 );
- ok ( strnlen ( "Hello", 16 ) == 5 );
- ok ( strnlen ( "Hello world!", 5 ) == 5 );
- ok ( strnlen ( "Hello world!", 11 ) == 11 );
- ok ( strnlen ( "Hello world!", 16 ) == 12 );
-
- /* Test strchr() */
- ok ( strchr ( "", 'a' ) == NULL );
- ok ( *(strchr ( "Testing", 'e' )) == 'e' );
- ok ( *(strchr ( "Testing", 'g' )) == 'g' );
- ok ( strchr ( "Testing", 'x' ) == NULL );
-
- /* Test strrchr() */
- ok ( strrchr ( "", 'a' ) == NULL );
- ok ( *(strrchr ( "Haystack", 'a' )) == 'a' );
- ok ( *(strrchr ( "Haystack", 'k' )) == 'k' );
- ok ( strrchr ( "Haystack", 'x' ) == NULL );
-
- /* Test memchr() */
- ok ( memchr ( "", '\0', 0 ) == NULL );
- ok ( *((uint8_t *)memchr ( "post\0null", 'l', 9 )) == 'l' );
- ok ( *((uint8_t *)memchr ( "post\0null", '\0', 9 )) == '\0' );
- ok ( memchr ( "thingy", 'z', 6 ) == NULL );
-
- /* Test strcmp() */
- ok ( strcmp ( "", "" ) == 0 );
- ok ( strcmp ( "Hello", "Hello" ) == 0 );
- ok ( strcmp ( "Hello", "hello" ) != 0 );
- ok ( strcmp ( "Hello", "Hello world!" ) != 0 );
- ok ( strcmp ( "Hello world!", "Hello" ) != 0 );
-
- /* Test strncmp() */
- ok ( strncmp ( "", "", 0 ) == 0 );
- ok ( strncmp ( "", "", 15 ) == 0 );
- ok ( strncmp ( "Goodbye", "Goodbye", 16 ) == 0 );
- ok ( strncmp ( "Goodbye", "Hello", 16 ) != 0 );
- ok ( strncmp ( "Goodbye", "Goodbye world", 32 ) != 0 );
- ok ( strncmp ( "Goodbye", "Goodbye world", 7 ) == 0 );
-
- /* Test strcasecmp() */
- ok ( strcasecmp ( "", "" ) == 0 );
- ok ( strcasecmp ( "Uncle Jack", "Uncle jack" ) == 0 );
- ok ( strcasecmp ( "Uncle Jack", "Uncle" ) != 0 );
- ok ( strcasecmp ( "Uncle", "Uncle Jack" ) != 0 );
- ok ( strcasecmp ( "not", "equal" ) != 0 );
-
- /* Test memcmp() */
- ok ( memcmp ( "", "", 0 ) == 0 );
- ok ( memcmp ( "Foo", "Foo", 3 ) == 0 );
- ok ( memcmp ( "Foo", "Bar", 3 ) != 0 );
-
- /* Test strstr() */
- {
- const char haystack[] = "find me!";
- char *found;
-
- found = strstr ( haystack, "find" );
- ok ( found == &haystack[0] );
- found = strstr ( haystack, "me" );
- ok ( found == &haystack[5] );
- found = strstr ( haystack, "me." );
- ok ( found == NULL );
- }
-
- /* Test memset() */
- {
- static uint8_t test[7] = { '>', 1, 1, 1, 1, 1, '<' };
- static const uint8_t expected[7] = { '>', 0, 0, 0, 0, 0, '<' };
- memset ( ( test + 1 ), 0, ( sizeof ( test ) - 2 ) );
- ok ( memcmp ( test, expected, sizeof ( test ) ) == 0 );
- }
- {
- static uint8_t test[4] = { '>', 0, 0, '<' };
- static const uint8_t expected[4] = { '>', 0xeb, 0xeb, '<' };
- memset ( ( test + 1 ), 0xeb, ( sizeof ( test ) - 2 ) );
- ok ( memcmp ( test, expected, sizeof ( test ) ) == 0 );
- }
-
- /* Test memmove() */
- {
- static uint8_t test[11] =
- { '>', 1, 2, 3, 4, 5, 6, 7, 8, 9, '<' };
- static const uint8_t expected[11] =
- { '>', 3, 4, 5, 6, 7, 8, 7, 8, 9, '<' };
- memmove ( ( test + 1 ), ( test + 3 ), 6 );
- ok ( memcmp ( test, expected, sizeof ( test ) ) == 0 );
- }
- {
- static uint8_t test[12] =
- { '>', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, '<' };
- static const uint8_t expected[12] =
- { '>', 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, '<' };
- memmove ( ( test + 6 ), ( test + 1 ), 5 );
- ok ( memcmp ( test, expected, sizeof ( test ) ) == 0 );
- }
-
- /* Test memswap() */
- {
- static uint8_t test[8] =
- { '>', 1, 2, 3, 7, 8, 9, '<' };
- static const uint8_t expected[8] =
- { '>', 7, 8, 9, 1, 2, 3, '<' };
- memswap ( ( test + 1 ), ( test + 4 ), 3 );
- ok ( memcmp ( test, expected, sizeof ( test ) ) == 0 );
- }
-
- /* Test strdup() */
- {
- const char *orig = "testing testing";
- char *dup = strdup ( orig );
- ok ( dup != NULL );
- ok ( dup != orig );
- ok ( strcmp ( dup, orig ) == 0 );
- free ( dup );
- }
-
- /* Test strndup() */
- {
- const char *normal = "testing testing";
- const char unterminated[6] = { 'h', 'e', 'l', 'l', 'o', '!' };
- char *dup;
- dup = strndup ( normal, 32 );
- ok ( dup != NULL );
- ok ( dup != normal );
- ok ( strcmp ( dup, normal ) == 0 );
- free ( dup );
- dup = strndup ( normal, 4 );
- ok ( dup != NULL );
- ok ( strcmp ( dup, "test" ) == 0 );
- free ( dup );
- dup = strndup ( unterminated, 5 );
- ok ( dup != NULL );
- ok ( strcmp ( dup, "hello" ) == 0 );
- free ( dup );
- }
-
- /* Test strcpy() */
- {
- const char longer[7] = "copyme";
- const char shorter[3] = "hi";
- char dest[7];
- char *copy;
-
- copy = strcpy ( dest, longer );
- ok ( copy == dest );
- ok ( memcmp ( dest, longer, 7 ) == 0 );
- copy = strcpy ( dest, shorter );
- ok ( copy == dest );
- ok ( memcmp ( dest, shorter, 3 ) == 0 );
- ok ( memcmp ( ( dest + 3 ), ( longer + 3 ), 4 ) == 0 );
- }
-
- /* Test strncpy() */
- {
- const char src[5] = "copy";
- const char orig[8] = { 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x' };
- const char zero[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
- char dest[8];
- char *copy;
-
- memcpy ( dest, orig, sizeof ( dest ) );
- copy = strncpy ( dest, src, 5 );
- ok ( copy == dest );
- ok ( memcmp ( dest, src, 5 ) == 0 );
- ok ( memcmp ( dest + 5, orig + 5, 3 ) == 0 );
- memcpy ( dest, orig, sizeof ( dest ) );
- copy = strncpy ( dest, src, 4 );
- ok ( copy == dest );
- ok ( memcmp ( dest, src, 4 ) == 0 );
- ok ( memcmp ( dest + 4, orig + 4, 4 ) == 0 );
- memcpy ( dest, orig, sizeof ( dest ) );
- copy = strncpy ( dest, src, 8 );
- ok ( copy == dest );
- ok ( memcmp ( dest, src, 5 ) == 0 );
- ok ( memcmp ( dest + 5, zero + 5, 3 ) == 0 );
- memcpy ( dest, orig, sizeof ( dest ) );
- copy = strncpy ( dest, "", 8 );
- ok ( copy == dest );
- ok ( memcmp ( dest, zero, 8 ) == 0 );
- }
-
- /* Test strcat() */
- {
- char buf[16] = "append";
- char *dest;
-
- dest = strcat ( buf, " this" );
- ok ( dest == buf );
- ok ( strcmp ( buf, "append this" ) == 0 );
- }
-
- /* Test digit_value() */
- {
- unsigned int i;
- char buf[2];
- for ( i = 0 ; i < 16 ; i++ ) {
- snprintf ( buf, sizeof ( buf ), "%x", i );
- ok ( digit_value ( buf[0] ) == i );
- snprintf ( buf, sizeof ( buf ), "%X", i );
- ok ( digit_value ( buf[0] ) == i );
- }
- ok ( digit_value ( 0 ) >= 16 );
- ok ( digit_value ( 9 ) >= 16 );
- ok ( digit_value ( '0' - 1 ) >= 16 );
- ok ( digit_value ( '9' + 1 ) >= 16 );
- ok ( digit_value ( 'A' - 1 ) >= 16 );
- ok ( digit_value ( 'F' + 1 ) >= 16 );
- ok ( digit_value ( 'a' - 1 ) >= 16 );
- ok ( digit_value ( 'f' + 1 ) >= 16 );
- }
-
- /* Test strtoul() */
- ok ( strtoul ( "12345", NULL, 0 ) == 12345UL );
- ok ( strtoul ( " 741", NULL, 10 ) == 741UL );
- ok ( strtoul ( " 555a", NULL, 0 ) == 555UL );
- ok ( strtoul ( " 555a", NULL, 16 ) == 0x555aUL );
- ok ( strtoul ( "-12", NULL, 0 ) == -12UL );
- ok ( strtoul ( "+3", NULL, 0 ) == 3UL );
- ok ( strtoul ( "721", NULL, 0 ) == 721UL );
- ok ( strtoul ( "721", NULL, 8 ) == 0721UL );
- ok ( strtoul ( "0721", NULL, 0 ) == 0721UL );
- ok ( strtoul ( "", NULL, 0 ) == 0UL );
- ok ( strtoul ( "\t0xcAfe", NULL, 0 ) == 0xcafeUL );
- ok ( strtoul ( "0xffffffff", NULL, 0 ) == 0xffffffffUL );
- {
- static const char string[] = "123aHa.world";
- char *endp;
- ok ( strtoul ( string, &endp, 0 ) == 123UL );
- ok ( endp == &string[3] );
- ok ( strtoul ( string, &endp, 16 ) == 0x123aUL );
- ok ( endp == &string[4] );
- ok ( strtoul ( string, &endp, 26 ) ==
- ( ( ( ( ( 1 * 26 + 2 ) * 26 + 3 ) * 26 + 10 ) * 26
- + 17 ) * 26 + 10 ) );
- ok ( endp == &string[6] );
- }
-}
-
-/** String self-test */
-struct self_test string_test __self_test = {
- .name = "string",
- .exec = string_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/tcpip_test.c b/qemu/roms/ipxe/src/tests/tcpip_test.c
deleted file mode 100644
index 759f886bc..000000000
--- a/qemu/roms/ipxe/src/tests/tcpip_test.c
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * TCP/IP self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <ipxe/test.h>
-#include <ipxe/profile.h>
-#include <ipxe/tcpip.h>
-
-/** Number of sample iterations for profiling */
-#define PROFILE_COUNT 16
-
-/** A TCP/IP fixed-data test */
-struct tcpip_test {
- /** Data */
- const void *data;
- /** Length of data */
- size_t len;
-};
-
-/** A TCP/IP pseudorandom-data test */
-struct tcpip_random_test {
- /** Seed */
- unsigned int seed;
- /** Length of data */
- size_t len;
- /** Alignment offset */
- size_t offset;
-};
-
-/** Define inline data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** Define a TCP/IP fixed-data test */
-#define TCPIP_TEST( name, DATA ) \
- static const uint8_t __attribute__ (( aligned ( 16 ) )) \
- name ## _data[] = DATA; \
- static struct tcpip_test name = { \
- .data = name ## _data, \
- .len = sizeof ( name ## _data ), \
- }
-
-/** Define a TCP/IP pseudorandom-data test */
-#define TCPIP_RANDOM_TEST( name, SEED, LEN, OFFSET ) \
- static struct tcpip_random_test name = { \
- .seed = SEED, \
- .len = LEN, \
- .offset = OFFSET, \
- }
-
-/** Buffer for pseudorandom-data tests */
-static uint8_t __attribute__ (( aligned ( 16 ) ))
- tcpip_data[ 4096 + 7 /* offset */ ];
-
-/** Empty data */
-TCPIP_TEST ( empty, DATA() );
-
-/** Single byte */
-TCPIP_TEST ( one_byte, DATA ( 0xeb ) );
-
-/** Double byte */
-TCPIP_TEST ( two_bytes, DATA ( 0xba, 0xbe ) );
-
-/** Final wrap-around carry (big-endian) */
-TCPIP_TEST ( final_carry_big,
- DATA ( 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 ) );
-
-/** Final wrap-around carry (little-endian) */
-TCPIP_TEST ( final_carry_little,
- DATA ( 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 ) );
-
-/** Random data (aligned) */
-TCPIP_RANDOM_TEST ( random_aligned, 0x12345678UL, 4096, 0 );
-
-/** Random data (unaligned, +1) */
-TCPIP_RANDOM_TEST ( random_unaligned_1, 0x12345678UL, 4096, 1 );
-
-/** Random data (unaligned, +2) */
-TCPIP_RANDOM_TEST ( random_unaligned_2, 0x12345678UL, 4096, 2 );
-
-/** Random data (aligned, truncated) */
-TCPIP_RANDOM_TEST ( random_aligned_truncated, 0x12345678UL, 4095, 0 );
-
-/** Random data (unaligned start and finish) */
-TCPIP_RANDOM_TEST ( partial, 0xcafebabe, 121, 5 );
-
-/**
- * Calculate TCP/IP checksum
- *
- * @v data Data to sum
- * @v len Length of data
- * @ret cksum Checksum
- *
- * This is a reference implementation taken from RFC1071 (and modified
- * to fix compilation without warnings under gcc).
- */
-static uint16_t rfc_tcpip_chksum ( const void *data, size_t len ) {
- unsigned long sum = 0;
-
- while ( len > 1 ) {
- sum += *( ( uint16_t * ) data );
- data += 2;
- len -= 2;
- }
-
- if ( len > 0 )
- sum += *( ( uint8_t * ) data );
-
- while ( sum >> 16 )
- sum = ( ( sum & 0xffff ) + ( sum >> 16 ) );
-
- return ~sum;
-}
-
-/**
- * Report TCP/IP fixed-data test result
- *
- * @v test TCP/IP test
- * @v file Test code file
- * @v line Test code line
- */
-static void tcpip_okx ( struct tcpip_test *test, const char *file,
- unsigned int line ) {
- uint16_t expected;
- uint16_t generic_sum;
- uint16_t sum;
-
- /* Verify generic_tcpip_continue_chksum() result */
- expected = rfc_tcpip_chksum ( test->data, test->len );
- generic_sum = generic_tcpip_continue_chksum ( TCPIP_EMPTY_CSUM,
- test->data, test->len );
- okx ( generic_sum == expected, file, line );
-
- /* Verify optimised tcpip_continue_chksum() result */
- sum = tcpip_continue_chksum ( TCPIP_EMPTY_CSUM, test->data, test->len );
- okx ( sum == expected, file, line );
-}
-#define tcpip_ok( test ) tcpip_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report TCP/IP pseudorandom-data test result
- *
- * @v test TCP/IP test
- * @v file Test code file
- * @v line Test code line
- */
-static void tcpip_random_okx ( struct tcpip_random_test *test,
- const char *file, unsigned int line ) {
- uint8_t *data = ( tcpip_data + test->offset );
- struct profiler profiler;
- uint16_t expected;
- uint16_t generic_sum;
- uint16_t sum;
- unsigned int i;
-
- /* Sanity check */
- assert ( ( test->len + test->offset ) <= sizeof ( tcpip_data ) );
-
- /* Generate random data */
- srandom ( test->seed );
- for ( i = 0 ; i < test->len ; i++ )
- data[i] = random();
-
- /* Verify generic_tcpip_continue_chksum() result */
- expected = rfc_tcpip_chksum ( data, test->len );
- generic_sum = generic_tcpip_continue_chksum ( TCPIP_EMPTY_CSUM,
- data, test->len );
- okx ( generic_sum == expected, file, line );
-
- /* Verify optimised tcpip_continue_chksum() result */
- sum = tcpip_continue_chksum ( TCPIP_EMPTY_CSUM, data, test->len );
- okx ( sum == expected, file, line );
-
- /* Profile optimised calculation */
- memset ( &profiler, 0, sizeof ( profiler ) );
- for ( i = 0 ; i < PROFILE_COUNT ; i++ ) {
- profile_start ( &profiler );
- sum = tcpip_continue_chksum ( TCPIP_EMPTY_CSUM, data,
- test->len );
- profile_stop ( &profiler );
- }
- DBG ( "TCPIP checksummed %zd bytes (+%zd) in %ld +/- %ld ticks\n",
- test->len, test->offset, profile_mean ( &profiler ),
- profile_stddev ( &profiler ) );
-}
-#define tcpip_random_ok( test ) tcpip_random_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Perform TCP/IP self-tests
- *
- */
-static void tcpip_test_exec ( void ) {
-
- tcpip_ok ( &empty );
- tcpip_ok ( &one_byte );
- tcpip_ok ( &two_bytes );
- tcpip_ok ( &final_carry_big );
- tcpip_ok ( &final_carry_little );
- tcpip_random_ok ( &random_aligned );
- tcpip_random_ok ( &random_unaligned_1 );
- tcpip_random_ok ( &random_unaligned_2 );
- tcpip_random_ok ( &random_aligned_truncated );
- tcpip_random_ok ( &partial );
-}
-
-/** TCP/IP self-test */
-struct self_test tcpip_test __self_test = {
- .name = "tcpip",
- .exec = tcpip_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/test.c b/qemu/roms/ipxe/src/tests/test.c
deleted file mode 100644
index 67bd4cf89..000000000
--- a/qemu/roms/ipxe/src/tests/test.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (C) 2011 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Self-test infrastructure
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stddef.h>
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-#include <ipxe/test.h>
-#include <ipxe/init.h>
-#include <ipxe/image.h>
-#include <usr/profstat.h>
-
-/** Current self-test set */
-static struct self_test *current_tests;
-
-/**
- * Report test result
- *
- * @v success Test succeeded
- * @v file Test code file
- * @v line Test code line
- * @v test Test code
- */
-void test_ok ( int success, const char *file, unsigned int line,
- const char *test ) {
-
- /* Sanity check */
- assert ( current_tests != NULL );
-
- /* Increment test counter */
- current_tests->total++;
-
- /* Report failure if applicable */
- if ( ! success ) {
- current_tests->failures++;
- printf ( "FAILURE: \"%s\" test failed at %s line %d: ( %s )\n",
- current_tests->name, file, line, test );
- }
-}
-
-/**
- * Run self-test set
- *
- */
-static void run_tests ( struct self_test *tests ) {
- unsigned int old_assertion_failures = assertion_failures;
-
- /* Sanity check */
- assert ( current_tests == NULL );
-
- /* Record current test set */
- current_tests = tests;
-
- /* Run tests */
- tests->exec();
-
- /* Clear current test set */
- current_tests = NULL;
-
- /* Record number of assertion failures */
- tests->assertion_failures =
- ( assertion_failures - old_assertion_failures );
-
- /* Print test set summary */
- if ( tests->failures || tests->assertion_failures ) {
- printf ( "FAILURE: \"%s\" %d of %d tests failed",
- tests->name, tests->failures, tests->total );
- if ( tests->assertion_failures ) {
- printf ( " with %d assertion failures",
- tests->assertion_failures );
- }
- printf ( "\n" );
- } else {
- printf ( "OK: \"%s\" %d tests passed\n",
- tests->name, tests->total );
- }
-}
-
-/**
- * Run all self-tests
- *
- * @ret rc Return status code
- */
-static int run_all_tests ( void ) {
- struct self_test *tests;
- unsigned int failures = 0;
- unsigned int assertions = 0;
- unsigned int total = 0;
-
- /* Run all compiled-in self-tests */
- printf ( "Starting self-tests\n" );
- for_each_table_entry ( tests, SELF_TESTS )
- run_tests ( tests );
-
- /* Print overall summary */
- for_each_table_entry ( tests, SELF_TESTS ) {
- total += tests->total;
- failures += tests->failures;
- assertions += tests->assertion_failures;
- }
- if ( failures || assertions ) {
- printf ( "FAILURE: %d of %d tests failed",
- failures, total );
- if ( assertions ) {
- printf ( " with %d assertion failures", assertions );
- }
- printf ( "\n" );
- return -EINPROGRESS;
- } else {
- printf ( "OK: all %d tests passed\n", total );
- profstat();
- return 0;
- }
-}
-
-static int test_image_probe ( struct image *image __unused ) {
- return -ENOTTY;
-}
-
-static int test_image_exec ( struct image *image __unused ) {
- return run_all_tests();
-}
-
-static struct image_type test_image_type = {
- .name = "self-tests",
- .probe = test_image_probe,
- .exec = test_image_exec,
-};
-
-static struct image test_image = {
- .refcnt = REF_INIT ( ref_no_free ),
- .name = "<TESTS>",
- .type = &test_image_type,
-};
-
-static void test_init ( void ) {
- int rc;
-
- /* Register self-tests image */
- if ( ( rc = register_image ( &test_image ) ) != 0 ) {
- DBG ( "Could not register self-test image: %s\n",
- strerror ( rc ) );
- /* No way to report failure */
- return;
- }
-}
-
-/** Self-test initialisation function */
-struct init_fn test_init_fn __init_fn ( INIT_EARLY ) = {
- .initialise = test_init,
-};
diff --git a/qemu/roms/ipxe/src/tests/tests.c b/qemu/roms/ipxe/src/tests/tests.c
deleted file mode 100644
index 54ce86677..000000000
--- a/qemu/roms/ipxe/src/tests/tests.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Self-test collection
- *
- */
-
-/* Drag in all applicable self-tests */
-PROVIDE_REQUIRING_SYMBOL();
-REQUIRE_OBJECT ( memset_test );
-REQUIRE_OBJECT ( memcpy_test );
-REQUIRE_OBJECT ( string_test );
-REQUIRE_OBJECT ( math_test );
-REQUIRE_OBJECT ( vsprintf_test );
-REQUIRE_OBJECT ( list_test );
-REQUIRE_OBJECT ( byteswap_test );
-REQUIRE_OBJECT ( base64_test );
-REQUIRE_OBJECT ( base16_test );
-REQUIRE_OBJECT ( settings_test );
-REQUIRE_OBJECT ( time_test );
-REQUIRE_OBJECT ( tcpip_test );
-REQUIRE_OBJECT ( ipv4_test );
-REQUIRE_OBJECT ( ipv6_test );
-REQUIRE_OBJECT ( crc32_test );
-REQUIRE_OBJECT ( md5_test );
-REQUIRE_OBJECT ( sha1_test );
-REQUIRE_OBJECT ( sha256_test );
-REQUIRE_OBJECT ( sha512_test );
-REQUIRE_OBJECT ( aes_test );
-REQUIRE_OBJECT ( hmac_drbg_test );
-REQUIRE_OBJECT ( hash_df_test );
-REQUIRE_OBJECT ( bigint_test );
-REQUIRE_OBJECT ( rsa_test );
-REQUIRE_OBJECT ( x509_test );
-REQUIRE_OBJECT ( ocsp_test );
-REQUIRE_OBJECT ( cms_test );
-REQUIRE_OBJECT ( pnm_test );
-REQUIRE_OBJECT ( deflate_test );
-REQUIRE_OBJECT ( png_test );
-REQUIRE_OBJECT ( dns_test );
-REQUIRE_OBJECT ( uri_test );
-REQUIRE_OBJECT ( profile_test );
-REQUIRE_OBJECT ( setjmp_test );
-REQUIRE_OBJECT ( pccrc_test );
-REQUIRE_OBJECT ( linebuf_test );
diff --git a/qemu/roms/ipxe/src/tests/time_test.c b/qemu/roms/ipxe/src/tests/time_test.c
deleted file mode 100644
index 3bf01dd1d..000000000
--- a/qemu/roms/ipxe/src/tests/time_test.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * Date and time self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <time.h>
-#include <ipxe/test.h>
-
-/** A mktime() test */
-struct mktime_test {
- /** Broken-down time */
- struct tm tm;
- /** Day of the week */
- int wday;
- /** Day of the year */
- int yday;
- /** Seconds since the Epoch */
- time_t time;
-};
-
-/**
- * Define a mktime() test
- *
- * @v name Test name
- * @v SEC Seconds [0,60]
- * @v MIN Minutes [0,59]
- * @v HOUR Hour [0,23]
- * @v MDAY Day of month [1,31]
- * @v MON Month of year [0,11]
- * @v YEAR Years since 1900
- * @v WDAY Day of week [0,6] (Sunday=0)
- * @v YDAY Day of year [0,365]
- * @v ISDST Daylight savings flag (ignored)
- * @v TIME Seconds since the Epoch
- * @ret test mktime() test
- *
- * This macro is designed to make it easy to generate test vectors in
- * Perl using
- *
- * print join ", ", gmtime ( $time ), $time."ULL";
- *
- */
-#define MKTIME_TEST( name, SEC, MIN, HOUR, MDAY, MON, YEAR, WDAY, \
- YDAY, ISDST, TIME ) \
- static struct mktime_test name = { \
- .tm = { \
- .tm_sec = SEC, \
- .tm_min = MIN, \
- .tm_hour = HOUR, \
- .tm_mday = MDAY, \
- .tm_mon = MON, \
- .tm_year = YEAR, \
- .tm_isdst = ISDST, \
- }, \
- .wday = WDAY, \
- .yday = YDAY, \
- .time = TIME, \
- }
-
-/**
- * Report mktime() test result
- *
- * @v test mktime() test
- */
-#define mktime_ok( test ) do { \
- time_t time = mktime ( &(test)->tm ); \
- ok ( time == (test)->time ); \
- ok ( (test)->tm.tm_wday == (test)->wday ); \
- ok ( (test)->tm.tm_yday == (test)->yday ); \
- } while ( 0 )
-
-/* Start of the Epoch */
-MKTIME_TEST ( mktime_epoch, 00, 00, 00, 01, 00, 70, 4, 0, 0, 0 );
-
-/* Birth of iPXE as a new project */
-MKTIME_TEST ( mktime_ipxe, 01, 15, 20, 19, 03, 110, 1, 108, 0, 1271708101ULL );
-
-/* Random test vectors generated using Perl's gmtime() */
-MKTIME_TEST ( mktime_0, 4, 17, 20, 1, 0, 150, 6, 0, 0, 2524681024ULL );
-MKTIME_TEST ( mktime_1, 22, 47, 21, 27, 11, 77, 2, 360, 0, 252107242ULL );
-MKTIME_TEST ( mktime_2, 26, 10, 0, 7, 2, 196, 3, 66, 0, 3981917426ULL );
-MKTIME_TEST ( mktime_3, 44, 44, 23, 15, 9, 261, 4, 287, 0, 6052319084ULL );
-MKTIME_TEST ( mktime_4, 3, 22, 18, 8, 9, 296, 6, 281, 0, 7156232523ULL );
-MKTIME_TEST ( mktime_5, 27, 26, 16, 18, 11, 338, 2, 351, 0, 8487649587ULL );
-MKTIME_TEST ( mktime_6, 31, 36, 22, 3, 3, 293, 3, 92, 0, 7045310191ULL );
-MKTIME_TEST ( mktime_7, 2, 0, 6, 25, 5, 289, 4, 175, 0, 6926191202ULL );
-MKTIME_TEST ( mktime_8, 43, 50, 1, 8, 0, 210, 3, 7, 0, 4418589043ULL );
-MKTIME_TEST ( mktime_9, 48, 14, 20, 23, 3, 86, 3, 112, 0, 514671288ULL );
-MKTIME_TEST ( mktime_10, 4, 43, 5, 29, 11, 173, 5, 362, 0, 3281751784ULL );
-MKTIME_TEST ( mktime_11, 47, 26, 21, 12, 7, 177, 4, 223, 0, 3396029207ULL );
-MKTIME_TEST ( mktime_12, 18, 55, 20, 26, 11, 88, 1, 360, 0, 599172918ULL );
-MKTIME_TEST ( mktime_13, 8, 32, 13, 15, 7, 314, 1, 226, 0, 7719456728ULL );
-MKTIME_TEST ( mktime_14, 0, 16, 11, 20, 6, 138, 2, 200, 0, 2163237360ULL );
-MKTIME_TEST ( mktime_15, 48, 0, 9, 31, 2, 202, 5, 89, 0, 4173238848ULL );
-MKTIME_TEST ( mktime_16, 51, 55, 0, 15, 1, 323, 6, 45, 0, 7987769751ULL );
-MKTIME_TEST ( mktime_17, 36, 10, 7, 11, 5, 301, 4, 161, 0, 7303590636ULL );
-MKTIME_TEST ( mktime_18, 22, 39, 11, 21, 9, 233, 3, 293, 0, 5169181162ULL );
-MKTIME_TEST ( mktime_19, 48, 29, 8, 31, 7, 207, 3, 242, 0, 4344222588ULL );
-MKTIME_TEST ( mktime_20, 4, 53, 22, 8, 8, 165, 2, 250, 0, 3019675984ULL );
-MKTIME_TEST ( mktime_21, 14, 16, 8, 10, 5, 298, 0, 160, 0, 7208900174ULL );
-MKTIME_TEST ( mktime_22, 10, 35, 3, 12, 3, 188, 1, 102, 0, 3732579310ULL );
-MKTIME_TEST ( mktime_23, 47, 12, 18, 22, 2, 103, 6, 80, 0, 1048356767ULL );
-MKTIME_TEST ( mktime_24, 23, 29, 17, 23, 10, 201, 3, 326, 0, 4162210163ULL );
-MKTIME_TEST ( mktime_25, 58, 35, 23, 24, 3, 111, 0, 113, 0, 1303688158ULL );
-MKTIME_TEST ( mktime_26, 34, 56, 15, 24, 11, 154, 4, 357, 0, 2681740594ULL );
-MKTIME_TEST ( mktime_27, 7, 11, 22, 28, 1, 243, 4, 58, 0, 5464447867ULL );
-MKTIME_TEST ( mktime_28, 25, 45, 23, 29, 11, 90, 6, 362, 0, 662514325ULL );
-MKTIME_TEST ( mktime_29, 31, 20, 12, 24, 1, 146, 6, 54, 0, 2403087631ULL );
-MKTIME_TEST ( mktime_30, 49, 7, 18, 16, 10, 271, 6, 319, 0, 6370596469ULL );
-MKTIME_TEST ( mktime_31, 31, 55, 2, 25, 5, 141, 2, 175, 0, 2255741731ULL );
-
-/**
- * Perform date and time self-tests
- *
- */
-static void time_test_exec ( void ) {
-
- mktime_ok ( &mktime_epoch );
- mktime_ok ( &mktime_ipxe );
- mktime_ok ( &mktime_0 );
- mktime_ok ( &mktime_1 );
- mktime_ok ( &mktime_2 );
- mktime_ok ( &mktime_3 );
- mktime_ok ( &mktime_4 );
- mktime_ok ( &mktime_5 );
- mktime_ok ( &mktime_6 );
- mktime_ok ( &mktime_7 );
- mktime_ok ( &mktime_8 );
- mktime_ok ( &mktime_9 );
- mktime_ok ( &mktime_10 );
- mktime_ok ( &mktime_11 );
- mktime_ok ( &mktime_12 );
- mktime_ok ( &mktime_13 );
- mktime_ok ( &mktime_14 );
- mktime_ok ( &mktime_15 );
- mktime_ok ( &mktime_16 );
- mktime_ok ( &mktime_17 );
- mktime_ok ( &mktime_18 );
- mktime_ok ( &mktime_19 );
- mktime_ok ( &mktime_20 );
- mktime_ok ( &mktime_21 );
- mktime_ok ( &mktime_22 );
- mktime_ok ( &mktime_23 );
- mktime_ok ( &mktime_24 );
- mktime_ok ( &mktime_25 );
- mktime_ok ( &mktime_26 );
- mktime_ok ( &mktime_27 );
- mktime_ok ( &mktime_28 );
- mktime_ok ( &mktime_29 );
- mktime_ok ( &mktime_30 );
- mktime_ok ( &mktime_31 );
-}
-
-/** Date and time self-test */
-struct self_test time_test __self_test = {
- .name = "time",
- .exec = time_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/umalloc_test.c b/qemu/roms/ipxe/src/tests/umalloc_test.c
deleted file mode 100644
index 53810833c..000000000
--- a/qemu/roms/ipxe/src/tests/umalloc_test.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <stdio.h>
-#include <ipxe/uaccess.h>
-#include <ipxe/umalloc.h>
-#include <ipxe/io.h>
-
-void umalloc_test ( void ) {
- struct memory_map memmap;
- userptr_t bob;
- userptr_t fred;
-
- printf ( "Before allocation:\n" );
- get_memmap ( &memmap );
-
- bob = umalloc ( 1234 );
- bob = urealloc ( bob, 12345 );
- fred = umalloc ( 999 );
-
- printf ( "After allocation:\n" );
- get_memmap ( &memmap );
-
- ufree ( bob );
- ufree ( fred );
-
- printf ( "After freeing:\n" );
- get_memmap ( &memmap );
-}
diff --git a/qemu/roms/ipxe/src/tests/uri_test.c b/qemu/roms/ipxe/src/tests/uri_test.c
deleted file mode 100644
index da7fb8abe..000000000
--- a/qemu/roms/ipxe/src/tests/uri_test.c
+++ /dev/null
@@ -1,878 +0,0 @@
-/*
- * Copyright (C) 2014 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * URI self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <string.h>
-#include <byteswap.h>
-#include <ipxe/uri.h>
-#include <ipxe/params.h>
-#include <ipxe/test.h>
-
-/** A URI parsing/formatting test */
-struct uri_test {
- /** URI string */
- const char *string;
- /** URI */
- struct uri uri;
-};
-
-/** A URI port number test */
-struct uri_port_test {
- /** URI string */
- const char *string;
- /** Default port number */
- unsigned int default_port;
- /** Expected port number */
- unsigned int port;
-};
-
-/** A URI or path resolution test */
-struct uri_resolve_test {
- /** Base path or URI */
- const char *base;
- /** Relative path or URI */
- const char *relative;
- /** Expected resolved path or URI */
- const char *resolved;
-};
-
-/** A TFTP URI test */
-struct uri_tftp_test {
- /** Next-server address */
- struct in_addr next_server;
- /** Port number */
- unsigned int port;
- /** Filename */
- const char *filename;
- /** URI */
- struct uri uri;
- /** URI string (for display only; cannot be reparsed) */
- const char *string;
-};
-
-/** A current working URI test */
-struct uri_churi_test {
- /** Relative URI */
- const char *relative;
- /** Expected new working URI */
- const char *expected;
-};
-
-/** A form parameter URI test list */
-struct uri_params_test_list {
- /** Key */
- const char *key;
- /** Value */
- const char *value;
-};
-
-/** A form parameter URI test */
-struct uri_params_test {
- /** URI string */
- const char *string;
- /** URI */
- struct uri uri;
- /** Parameter list name */
- const char *name;
- /** Parameter list */
- struct uri_params_test_list *list;
-};
-
-/**
- * Compare two URI component strings
- *
- * @v first First string, or NULL
- * @v second Second string, or NULL
- * @v difference Difference
- */
-static int uristrcmp ( const char *first, const char *second ) {
-
- /* Compare strings, allowing for either to be NULL */
- if ( first == second ) {
- return 0;
- } else if ( ( first == NULL ) || ( second == NULL ) ) {
- return -1;
- } else {
- return strcmp ( first, second );
- }
-}
-
-/**
- * Report URI equality test result
- *
- * @v uri URI
- * @v expected Expected URI
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_okx ( struct uri *uri, struct uri *expected, const char *file,
- unsigned int line ) {
-
- okx ( uristrcmp ( uri->scheme, expected->scheme ) == 0, file, line );
- okx ( uristrcmp ( uri->opaque, expected->opaque ) == 0, file, line );
- okx ( uristrcmp ( uri->user, expected->user ) == 0, file, line );
- okx ( uristrcmp ( uri->password, expected->password ) == 0, file, line);
- okx ( uristrcmp ( uri->host, expected->host ) == 0, file, line );
- okx ( uristrcmp ( uri->port, expected->port ) == 0, file, line );
- okx ( uristrcmp ( uri->path, expected->path ) == 0, file, line );
- okx ( uristrcmp ( uri->query, expected->query ) == 0, file, line );
- okx ( uristrcmp ( uri->fragment, expected->fragment ) == 0, file, line);
- okx ( uri->params == expected->params, file, line );
-}
-#define uri_ok( uri, expected ) uri_okx ( uri, expected, __FILE__, __LINE__ )
-
-/**
- * Report URI parsing test result
- *
- * @v test URI test
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_parse_okx ( struct uri_test *test, const char *file,
- unsigned int line ) {
- struct uri *uri;
-
- /* Parse URI */
- uri = parse_uri ( test->string );
- okx ( uri != NULL, file, line );
- if ( uri )
- uri_okx ( uri, &test->uri, file, line );
- uri_put ( uri );
-}
-#define uri_parse_ok( test ) uri_parse_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report URI formatting test result
- *
- * @v test URI test
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_format_okx ( struct uri_test *test, const char *file,
- unsigned int line ) {
- char buf[ strlen ( test->string ) + 1 /* NUL */ ];
- char *tmp;
- size_t len;
-
- /* Format into fixed-size buffer */
- len = format_uri ( &test->uri, buf, sizeof ( buf ) );
- okx ( len == ( sizeof ( buf ) - 1 /* NUL */ ), file, line );
- okx ( strcmp ( buf, test->string ) == 0, file, line );
-
- /* Format into temporarily allocated buffer */
- tmp = format_uri_alloc ( &test->uri );
- okx ( tmp != NULL, file, line );
- if ( tmp )
- okx ( strcmp ( tmp, test->string ) == 0, file, line );
- free ( tmp );
-}
-#define uri_format_ok( test ) uri_format_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report URI duplication test result
- *
- * @v test URI
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_dup_okx ( struct uri *uri, const char *file,
- unsigned int line ) {
- struct uri *dup;
-
- dup = uri_dup ( uri );
- okx ( dup != NULL, file, line );
- if ( dup )
- uri_okx ( dup, uri, file, line );
- uri_put ( dup );
-}
-#define uri_dup_ok( test ) uri_dup_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report URI combined parsing and formatting test result
- *
- * @v test URI test
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_parse_format_dup_okx ( struct uri_test *test, const char *file,
- unsigned int line ) {
-
- uri_parse_okx ( test, file, line );
- uri_format_okx ( test, file, line );
- uri_dup_okx ( &test->uri, file, line );
-}
-#define uri_parse_format_dup_ok( test ) \
- uri_parse_format_dup_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report URI port number test result
- *
- * @v test URI port number test
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_port_okx ( struct uri_port_test *test, const char *file,
- unsigned int line ) {
- struct uri *uri;
- unsigned int port;
-
- /* Parse URI */
- uri = parse_uri ( test->string );
- okx ( uri != NULL, file, line );
- if ( uri ) {
- port = uri_port ( uri, test->default_port );
- okx ( port == test->port, file, line );
- }
- uri_put ( uri );
-}
-#define uri_port_ok( test ) uri_port_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report URI resolution test result
- *
- * @v test Path resolution test
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_resolve_okx ( struct uri_resolve_test *test,
- const char *file, unsigned int line ) {
- struct uri *base;
- struct uri *relative;
- struct uri *resolved = NULL;
- char *formatted;
-
- /* Parse URIs */
- base = parse_uri ( test->base );
- okx ( base != NULL, file, line );
- relative = parse_uri ( test->relative );
- okx ( relative != NULL, file, line );
-
- /* Resolve URI */
- if ( base && relative ) {
- resolved = resolve_uri ( base, relative );
- okx ( resolved != NULL, file, line );
- }
-
- /* Format resolved URI */
- formatted = format_uri_alloc ( resolved );
- okx ( formatted != NULL, file, line );
-
- /* Check resolved URI */
- if ( formatted )
- okx ( strcmp ( formatted, test->resolved ) == 0, file, line );
-
- free ( formatted );
- uri_put ( resolved );
- uri_put ( relative );
- uri_put ( base );
-}
-#define uri_resolve_ok( test ) uri_resolve_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report path resolution test result
- *
- * @v test Path resolution test
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_resolve_path_okx ( struct uri_resolve_test *test,
- const char *file, unsigned int line ) {
- char *resolved;
-
- /* Resolve paths using resolve_path() directly */
- resolved = resolve_path ( test->base, test->relative );
- okx ( resolved != NULL, file, line );
- if ( resolved )
- okx ( strcmp ( resolved, test->resolved ) == 0, file, line );
- free ( resolved );
-
- /* Resolve paths as URIs (since all paths are valid URIs) */
- uri_resolve_okx ( test, file, line );
-}
-#define uri_resolve_path_ok( test ) \
- uri_resolve_path_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report URI TFTP test result
- *
- * @v test URI TFTP test
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_tftp_okx ( struct uri_tftp_test *test, const char *file,
- unsigned int line ) {
- char buf[ strlen ( test->string ) + 1 /* NUL */ ];
- struct uri *uri;
- size_t len;
-
- /* Construct URI */
- uri = tftp_uri ( test->next_server, test->port, test->filename );
- okx ( uri != NULL, file, line );
- if ( uri ) {
- uri_okx ( uri, &test->uri, file, line );
- len = format_uri ( uri, buf, sizeof ( buf ) );
- okx ( len == ( sizeof ( buf ) - 1 /* NUL */ ), file, line );
- okx ( strcmp ( buf, test->string ) == 0, file, line );
- }
- uri_put ( uri );
-}
-#define uri_tftp_ok( test ) uri_tftp_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report current working URI test result
- *
- * @v tests List of current working URI tests
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_churi_okx ( struct uri_churi_test *test, const char *file,
- unsigned int line ) {
- struct uri *old_cwuri;
- struct uri *uri;
- char *formatted;
-
- /* Preserve original current working URI */
- old_cwuri = uri_get ( cwuri );
-
- /* Perform sequence of current working URI changes */
- do {
- /* Parse relative URI */
- uri = parse_uri ( test->relative );
- okx ( uri != NULL, file, line );
-
- /* Move to this URI */
- churi ( uri );
-
- /* Format new current working URI */
- formatted = format_uri_alloc ( cwuri );
- okx ( formatted != NULL, file, line );
- if ( formatted ) {
- okx ( strcmp ( formatted, test->expected ) == 0,
- file, line );
- }
-
- /* Free temporary storage */
- free ( formatted );
- uri_put ( uri );
-
- /* Move to next current working URI test */
- test++;
-
- } while ( test->relative != NULL );
-
- /* Restore original current working URI */
- churi ( old_cwuri );
- uri_put ( old_cwuri );
-}
-#define uri_churi_ok( test ) uri_churi_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report form parameter URI test list result
- *
- * @v test Form parameter URI test
- * @v uri URI
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_params_list_okx ( struct uri_params_test *test,
- struct uri *uri, const char *file,
- unsigned int line ) {
- struct uri_params_test_list *list;
- struct parameter *param;
-
- /* Check URI */
- uri_okx ( uri, &test->uri, file, line );
-
- /* Check URI parameters */
- okx ( uri->params != NULL, file, line );
- if ( uri->params ) {
- list = test->list;
- for_each_param ( param, uri->params ) {
- okx ( strcmp ( param->key, list->key ) == 0,
- file, line );
- okx ( strcmp ( param->value, list->value ) == 0,
- file, line );
- list++;
- }
- okx ( list->key == NULL, file, line );
- }
-}
-#define uri_params_list_ok( test ) \
- uri_params_list_okx ( test, __FILE__, __LINE__ )
-
-/**
- * Report form parameter URI test result
- *
- * @v test Form parameter URI test
- * @v file Test code file
- * @v line Test code line
- */
-static void uri_params_okx ( struct uri_params_test *test, const char *file,
- unsigned int line ) {
- struct uri_params_test_list *list;
- struct parameters *params;
- struct parameter *param;
- struct uri *uri;
- struct uri *dup;
-
- /* Create parameter list */
- params = create_parameters ( test->name );
- okx ( params != NULL, file, line );
- if ( params ) {
- for ( list = test->list ; list->key ; list++ ) {
- param = add_parameter ( params, list->key, list->value);
- okx ( param != NULL, file, line );
- }
- }
-
- /* Record parameter list as part of expected URI */
- test->uri.params = params;
-
- /* Parse URI */
- uri = parse_uri ( test->string );
- okx ( uri != NULL, file, line );
- if ( uri )
- uri_params_list_okx ( test, uri, file, line );
-
- /* Duplicate URI */
- dup = uri_dup ( uri );
- okx ( dup != NULL, file, line );
- if ( dup )
- uri_params_list_okx ( test, dup, file, line );
-
- /* Clear parameter list in expected URI */
- test->uri.params = NULL;
-
- uri_put ( uri );
- uri_put ( dup );
-}
-#define uri_params_ok( test ) uri_params_okx ( test, __FILE__, __LINE__ )
-
-/** Empty URI */
-static struct uri_test uri_empty = {
- .string = "",
-};
-
-/** Basic HTTP URI */
-static struct uri_test uri_boot_ipxe_org = {
- "http://boot.ipxe.org/demo/boot.php",
- { .scheme = "http", .host = "boot.ipxe.org", .path = "/demo/boot.php" }
-};
-
-/** Basic opaque URI */
-static struct uri_test uri_mailto = {
- "mailto:ipxe-devel@lists.ipxe.org",
- { .scheme = "mailto", .opaque = "ipxe-devel@lists.ipxe.org" }
-};
-
-/** HTTP URI with all the trimmings */
-static struct uri_test uri_http_all = {
- "http://anon:password@example.com:3001/~foo/cgi-bin/foo.pl?a=b&c=d#bit",
- {
- .scheme = "http",
- .user = "anon",
- .password = "password",
- .host = "example.com",
- .port = "3001",
- .path = "/~foo/cgi-bin/foo.pl",
- .query = "a=b&c=d",
- .fragment = "bit",
- },
-};
-
-/** HTTP URI with escaped characters */
-static struct uri_test uri_http_escaped = {
- "https://test.ipxe.org/wtf%3F%0A?kind%23of/uri%20is#this%3F",
- {
- .scheme = "https",
- .host = "test.ipxe.org",
- .path = "/wtf?\n",
- .query = "kind#of/uri is",
- .fragment = "this?",
- },
-};
-
-/** HTTP URI with improperly escaped characters */
-static struct uri_test uri_http_escaped_improper = {
- /* We accept for parsing improperly escaped characters.
- * (Formatting the parsed URI would produce the properly
- * encoded form, and so would not exactly match the original
- * URI string.)
- */
- "https://test%2eipxe.org/wt%66%3f\n?kind%23of/uri is#this?",
- {
- .scheme = "https",
- .host = "test.ipxe.org",
- .path = "/wtf?\n",
- .query = "kind#of/uri is",
- .fragment = "this?",
- },
-};
-
-/** IPv6 URI */
-static struct uri_test uri_ipv6 = {
- "http://[2001:ba8:0:1d4::6950:5845]/",
- {
- .scheme = "http",
- .host = "[2001:ba8:0:1d4::6950:5845]",
- .path = "/",
- },
-};
-
-/** IPv6 URI with port */
-static struct uri_test uri_ipv6_port = {
- "http://[2001:ba8:0:1d4::6950:5845]:8001/boot",
- {
- .scheme = "http",
- .host = "[2001:ba8:0:1d4::6950:5845]",
- .port = "8001",
- .path = "/boot",
- },
-};
-
-/** IPv6 URI with link-local address */
-static struct uri_test uri_ipv6_local = {
- "http://[fe80::69ff:fe50:5845%25net0]/ipxe",
- {
- .scheme = "http",
- .host = "[fe80::69ff:fe50:5845%net0]",
- .path = "/ipxe",
- },
-};
-
-/** IPv6 URI with link-local address not conforming to RFC 6874 */
-static struct uri_test uri_ipv6_local_non_conforming = {
- /* We accept for parsing a single "%" in "%net0" (rather than
- * the properly encoded form "%25net0"). (Formatting the
- * parsed URI would produce the properly encoded form, and so
- * would not exactly match the original URI string.)
- */
- "http://[fe80::69ff:fe50:5845%net0]/ipxe",
- {
- .scheme = "http",
- .host = "[fe80::69ff:fe50:5845%net0]",
- .path = "/ipxe",
- },
-};
-
-/** iSCSI URI */
-static struct uri_test uri_iscsi = {
- "iscsi:10.253.253.1::::iqn.2010-04.org.ipxe:rabbit",
- {
- .scheme = "iscsi",
- .opaque = "10.253.253.1::::iqn.2010-04.org.ipxe:rabbit",
- },
-};
-
-/** URI with port number */
-static struct uri_port_test uri_explicit_port = {
- "http://192.168.0.1:8080/boot.php",
- 80,
- 8080,
-};
-
-/** URI without port number */
-static struct uri_port_test uri_default_port = {
- "http://192.168.0.1/boot.php",
- 80,
- 80,
-};
-
-/** Simple path resolution test */
-static struct uri_resolve_test uri_simple_path = {
- "/etc/passwd",
- "group",
- "/etc/group",
-};
-
-/** Path resolution test with "." and ".." elements */
-static struct uri_resolve_test uri_relative_path = {
- "/var/lib/tftpboot/pxe/pxelinux.0",
- "./../ipxe/undionly.kpxe",
- "/var/lib/tftpboot/ipxe/undionly.kpxe",
-};
-
-/** Path resolution test terminating with directory */
-static struct uri_resolve_test uri_directory_path = {
- "/test/cgi-bin.pl/boot.ipxe",
- "..",
- "/test/",
-};
-
-/** Path resolution test with excessive ".." elements */
-static struct uri_resolve_test uri_excessive_path = {
- "/var/lib/tftpboot/ipxe.pxe",
- "../../../../../../../foo",
- "/foo",
-};
-
-/** Path resolution test with absolute path */
-static struct uri_resolve_test uri_absolute_path = {
- "/var/lib/tftpboot",
- "/etc/hostname",
- "/etc/hostname",
-};
-
-/** Relative URI resolution test */
-static struct uri_resolve_test uri_relative = {
- "http://boot.ipxe.org/demo/boot.php?vendor=10ec&device=8139",
- "initrd.img",
- "http://boot.ipxe.org/demo/initrd.img",
-};
-
-/** Absolute URI resolution test */
-static struct uri_resolve_test uri_absolute = {
- "http://boot.ipxe.org/demo/boot.php",
- "ftp://192.168.0.1/boot.ipxe",
- "ftp://192.168.0.1/boot.ipxe",
-};
-
-/** Absolute path URI resolution test */
-static struct uri_resolve_test uri_absolute_uri_path = {
- "http://boot.ipxe.org/demo/boot.php#test",
- "/demo/vmlinuz",
- "http://boot.ipxe.org/demo/vmlinuz",
-};
-
-/** Query URI resolution test */
-static struct uri_resolve_test uri_query = {
- "http://10.253.253.1/test.pl?mac=02-00-69-50-58-45",
- "?mac=00-1f-16-bc-fe-2f",
- "http://10.253.253.1/test.pl?mac=00-1f-16-bc-fe-2f",
-};
-
-/** Fragment URI resolution test */
-static struct uri_resolve_test uri_fragment = {
- "http://192.168.0.254/test#foo",
- "#bar",
- "http://192.168.0.254/test#bar",
-};
-
-/** TFTP URI with absolute path */
-static struct uri_tftp_test uri_tftp_absolute = {
- { .s_addr = htonl ( 0xc0a80002 ) /* 192.168.0.2 */ }, 0,
- "/absolute/path",
- {
- .scheme = "tftp",
- .host = "192.168.0.2",
- .path = "/absolute/path",
- },
- "tftp://192.168.0.2/absolute/path",
-};
-
-/** TFTP URI with relative path */
-static struct uri_tftp_test uri_tftp_relative = {
- { .s_addr = htonl ( 0xc0a80003 ) /* 192.168.0.3 */ }, 0,
- "relative/path",
- {
- .scheme = "tftp",
- .host = "192.168.0.3",
- .path = "relative/path",
- },
- "tftp://192.168.0.3/relative/path",
-};
-
-/** TFTP URI with path containing special characters */
-static struct uri_tftp_test uri_tftp_icky = {
- { .s_addr = htonl ( 0x0a000006 ) /* 10.0.0.6 */ }, 0,
- "C:\\tftpboot\\icky#path",
- {
- .scheme = "tftp",
- .host = "10.0.0.6",
- .path = "C:\\tftpboot\\icky#path",
- },
- "tftp://10.0.0.6/C%3A\\tftpboot\\icky%23path",
-};
-
-/** TFTP URI with custom port */
-static struct uri_tftp_test uri_tftp_port = {
- { .s_addr = htonl ( 0xc0a80001 ) /* 192.168.0.1 */ }, 4069,
- "/another/path",
- {
- .scheme = "tftp",
- .host = "192.168.0.1",
- .port = "4069",
- .path = "/another/path",
- },
- "tftp://192.168.0.1:4069/another/path",
-};
-
-/** Current working URI test */
-static struct uri_churi_test uri_churi[] = {
- {
- "http://boot.ipxe.org/demo/boot.php",
- "http://boot.ipxe.org/demo/boot.php",
- },
- {
- "?vendor=10ec&device=8139",
- "http://boot.ipxe.org/demo/boot.php?vendor=10ec&device=8139",
- },
- {
- "fedora/fedora.ipxe",
- "http://boot.ipxe.org/demo/fedora/fedora.ipxe",
- },
- {
- "vmlinuz",
- "http://boot.ipxe.org/demo/fedora/vmlinuz",
- },
- {
- "http://local/boot/initrd.img",
- "http://local/boot/initrd.img",
- },
- {
- "modules/8139too.ko",
- "http://local/boot/modules/8139too.ko",
- },
- {
- NULL,
- NULL,
- }
-};
-
-/** Form parameter URI test list */
-static struct uri_params_test_list uri_params_list[] = {
- {
- "vendor",
- "10ec",
- },
- {
- "device",
- "8139",
- },
- {
- "uuid",
- "f59fac00-758f-498f-9fe5-87d790045d94",
- },
- {
- NULL,
- NULL,
- }
-};
-
-/** Form parameter URI test */
-static struct uri_params_test uri_params = {
- "http://boot.ipxe.org/demo/boot.php##params",
- {
- .scheme = "http",
- .host = "boot.ipxe.org",
- .path = "/demo/boot.php",
- },
- NULL,
- uri_params_list,
-};
-
-/** Named form parameter URI test list */
-static struct uri_params_test_list uri_named_params_list[] = {
- {
- "mac",
- "00:1e:65:80:d3:b6",
- },
- {
- "serial",
- "LXTQ20Z1139322762F2000",
- },
- {
- NULL,
- NULL,
- }
-};
-
-/** Named form parameter URI test */
-static struct uri_params_test uri_named_params = {
- "http://192.168.100.4:3001/register##params=foo",
- {
- .scheme = "http",
- .host = "192.168.100.4",
- .port = "3001",
- .path = "/register",
- },
- "foo",
- uri_named_params_list,
-};
-
-/**
- * Perform URI self-test
- *
- */
-static void uri_test_exec ( void ) {
-
- /* URI parsing, formatting, and duplication tests */
- uri_parse_format_dup_ok ( &uri_empty );
- uri_parse_format_dup_ok ( &uri_boot_ipxe_org );
- uri_parse_format_dup_ok ( &uri_mailto );
- uri_parse_format_dup_ok ( &uri_http_all );
- uri_parse_format_dup_ok ( &uri_http_escaped );
- uri_parse_ok ( &uri_http_escaped_improper ); /* Parse only */
- uri_parse_format_dup_ok ( &uri_ipv6 );
- uri_parse_format_dup_ok ( &uri_ipv6_port );
- uri_parse_format_dup_ok ( &uri_ipv6_local );
- uri_parse_ok ( &uri_ipv6_local_non_conforming ); /* Parse only */
- uri_parse_format_dup_ok ( &uri_iscsi );
-
- /** URI port number tests */
- uri_port_ok ( &uri_explicit_port );
- uri_port_ok ( &uri_default_port );
-
- /** Path resolution tests */
- uri_resolve_path_ok ( &uri_simple_path );
- uri_resolve_path_ok ( &uri_relative_path );
- uri_resolve_path_ok ( &uri_directory_path );
- uri_resolve_path_ok ( &uri_excessive_path );
- uri_resolve_path_ok ( &uri_absolute_path );
-
- /** URI resolution tests */
- uri_resolve_ok ( &uri_relative );
- uri_resolve_ok ( &uri_absolute );
- uri_resolve_ok ( &uri_absolute_uri_path );
- uri_resolve_ok ( &uri_query );
- uri_resolve_ok ( &uri_fragment );
-
- /* TFTP URI construction tests */
- uri_tftp_ok ( &uri_tftp_absolute );
- uri_tftp_ok ( &uri_tftp_relative );
- uri_tftp_ok ( &uri_tftp_icky );
- uri_tftp_ok ( &uri_tftp_port );
-
- /* Current working URI tests */
- uri_churi_ok ( uri_churi );
-
- /* Form parameter URI tests */
- uri_params_ok ( &uri_params );
- uri_params_ok ( &uri_named_params );
-}
-
-/** URI self-test */
-struct self_test uri_test __self_test = {
- .name = "uri",
- .exec = uri_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/vsprintf_test.c b/qemu/roms/ipxe/src/tests/vsprintf_test.c
deleted file mode 100644
index 0ad4f1c56..000000000
--- a/qemu/roms/ipxe/src/tests/vsprintf_test.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * vsprintf() self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <string.h>
-#include <stdio.h>
-#include <ipxe/test.h>
-
-/**
- * Report an snprintf() test result
- *
- */
-#define snprintf_ok( len, result, format, ... ) do { \
- char actual[ (len) ]; \
- const char expected[] = result; \
- size_t actual_len; \
- \
- actual_len = snprintf ( actual, sizeof ( actual ), \
- format, ##__VA_ARGS__ ); \
- ok ( actual_len >= strlen ( result ) ); \
- ok ( strcmp ( actual, expected ) == 0 ); \
- if ( strcmp ( actual, expected ) != 0 ) { \
- DBG ( "SNPRINTF expected \"%s\", got \"%s\"\n", \
- expected, actual ); \
- } \
- } while ( 0 )
-
-/**
- * Perform vsprintf() self-tests
- *
- */
-static void vsprintf_test_exec ( void ) {
-
- /* Constant string */
- snprintf_ok ( 16, "Testing", "Testing" );
-
- /* Constant string, truncated to fit */
- snprintf_ok ( 5, "Test", "Testing" );
-
- /* Basic format specifiers */
- snprintf_ok ( 16, "%", "%%" );
- snprintf_ok ( 16, "ABC", "%c%c%c", 'A', 'B', 'C' );
- snprintf_ok ( 16, "abc", "%lc%lc%lc", L'a', L'b', L'c' );
- snprintf_ok ( 16, "Hello world", "%s %s", "Hello", "world" );
- snprintf_ok ( 16, "Goodbye world", "%ls %s", L"Goodbye", "world" );
- snprintf_ok ( 16, "0x1234abcd", "%p", ( ( void * ) 0x1234abcd ) );
- snprintf_ok ( 16, "0xa723", "%#x", 0xa723 );
- snprintf_ok ( 16, "a723", "%x", 0xa723 );
- snprintf_ok ( 16, "0x0000a723", "%#08x", 0xa723 );
- snprintf_ok ( 16, "00A723", "%06X", 0xa723 );
- snprintf_ok ( 16, "9876abcd", "%lx", 0x9876abcdUL );
- snprintf_ok ( 16, "1234 5678", "%04llx %04llx", 0x1234ULL, 0x5678ULL );
- snprintf_ok ( 16, "123", "%d", 123 );
- snprintf_ok ( 16, "456", "%i", 456 );
- snprintf_ok ( 16, " 99", "%3d", 99 );
- snprintf_ok ( 16, "099", "%03d", 99 );
- snprintf_ok ( 16, "-72", "%d", -72 );
- snprintf_ok ( 16, " -72", "%4d", -72 );
- snprintf_ok ( 16, "-072", "%04d", -72 );
- snprintf_ok ( 16, "4", "%zd", sizeof ( uint32_t ) );
- snprintf_ok ( 16, "123456789", "%d", 123456789 );
-
- /* Realistic combinations */
- snprintf_ok ( 64, "DBG 0x1234 thingy at 0x0003f0c0+0x5c\n",
- "DBG %p %s at %#08lx+%#zx\n", ( ( void * ) 0x1234 ),
- "thingy", 0x3f0c0UL, ( ( size_t ) 0x5c ) );
- snprintf_ok ( 64, "PCI 00:1f.3", "PCI %02x:%02x.%x", 0x00, 0x1f, 0x03 );
- snprintf_ok ( 64, "Region [1000000,3f000000)", "Region [%llx,%llx)",
- 0x1000000ULL, 0x3f000000ULL );
-}
-
-/** vsprintf() self-test */
-struct self_test vsprintf_test __self_test = {
- .name = "vsprintf",
- .exec = vsprintf_test_exec,
-};
diff --git a/qemu/roms/ipxe/src/tests/x509_test.c b/qemu/roms/ipxe/src/tests/x509_test.c
deleted file mode 100644
index 658d5247c..000000000
--- a/qemu/roms/ipxe/src/tests/x509_test.c
+++ /dev/null
@@ -1,1117 +0,0 @@
-/*
- * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- *
- * You can also choose to distribute this program under the terms of
- * the Unmodified Binary Distribution Licence (as given in the file
- * COPYING.UBDL), provided that you have satisfied its requirements.
- */
-
-FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
-
-/** @file
- *
- * X.509 self-tests
- *
- */
-
-/* Forcibly enable assertions */
-#undef NDEBUG
-
-#include <stdint.h>
-#include <string.h>
-#include <errno.h>
-#include <ipxe/x509.h>
-#include <ipxe/asn1.h>
-#include <ipxe/sha256.h>
-#include <ipxe/test.h>
-
-/** Fingerprint algorithm used for X.509 test certificates */
-#define x509_test_algorithm sha256_algorithm
-
-/** An X.509 test certificate */
-struct x509_test_certificate {
- /** Data */
- const void *data;
- /** Length of data */
- size_t len;
- /** Fingerprint */
- const void *fingerprint;
-
- /** Parsed certificate */
- struct x509_certificate *cert;
-};
-
-/** An X.509 test certificate chain */
-struct x509_test_chain {
- /** Test certificates */
- struct x509_test_certificate **certs;
- /** Number of certificates */
- unsigned int count;
-
- /** Parsed certificate chain */
- struct x509_chain *chain;
-};
-
-/** Define inline certificate data */
-#define DATA(...) { __VA_ARGS__ }
-
-/** Define inline fingerprint data */
-#define FINGERPRINT(...) { __VA_ARGS__ }
-
-/** Define a test certificate */
-#define CERTIFICATE( name, DATA, FINGERPRINT ) \
- static const uint8_t name ## _data[] = DATA; \
- static const uint8_t name ## _fingerprint[] = FINGERPRINT; \
- static struct x509_test_certificate name = { \
- .data = name ## _data, \
- .len = sizeof ( name ## _data ), \
- .fingerprint = name ## _fingerprint, \
- }
-
-/** Define a test certificate chain */
-#define CHAIN( name, ... ) \
- static struct x509_test_certificate * name ## _certs[] = \
- { __VA_ARGS__ }; \
- static struct x509_test_chain name = { \
- .certs = name ## _certs, \
- .count = ( sizeof ( name ## _certs ) / \
- sizeof ( name ## _certs[0] ) ), \
- }
-
-/*
- * subject iPXE self-test root CA
- * issuer iPXE self-test root CA
- */
-CERTIFICATE ( root_crt,
- DATA ( 0x30, 0x82, 0x02, 0xb3, 0x30, 0x82, 0x02, 0x1c, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0xc6, 0xb8, 0x9c, 0x58,
- 0xd2, 0xdc, 0xc9, 0x5d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
- 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
- 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04,
- 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06,
- 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62,
- 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65,
- 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c,
- 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
- 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c,
- 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65,
- 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f,
- 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78,
- 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d, 0x06,
- 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58, 0x45,
- 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74,
- 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30, 0x1e,
- 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32, 0x32, 0x30, 0x30,
- 0x30, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 0x33, 0x39, 0x30,
- 0x38, 0x30, 0x38, 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a,
- 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
- 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15,
- 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72,
- 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07,
- 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a,
- 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74,
- 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30,
- 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70,
- 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d,
- 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58,
- 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73,
- 0x74, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x30,
- 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d,
- 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xaa, 0x72,
- 0xb5, 0xc1, 0x73, 0xf4, 0x95, 0x76, 0xa4, 0x27, 0xab, 0x5e,
- 0xeb, 0x1d, 0x9d, 0xd0, 0x04, 0xb2, 0x93, 0x05, 0xc7, 0xfa,
- 0x75, 0x84, 0x66, 0xe6, 0x3a, 0x26, 0x1f, 0xbc, 0x2d, 0xfd,
- 0x8f, 0x59, 0x64, 0xac, 0xcf, 0x65, 0x9d, 0x82, 0x23, 0xc3,
- 0x72, 0x93, 0xf2, 0x40, 0x68, 0x32, 0xd1, 0xb8, 0xf1, 0x47,
- 0x61, 0x50, 0xea, 0xbc, 0xcc, 0x3c, 0x6b, 0x74, 0x7a, 0xec,
- 0x2b, 0x75, 0xa6, 0xc2, 0xa2, 0xb8, 0xbf, 0x23, 0x48, 0x97,
- 0xd5, 0xaf, 0x77, 0xc1, 0x92, 0x88, 0xd7, 0x38, 0xb7, 0x9e,
- 0xda, 0xee, 0x72, 0x04, 0xcb, 0x96, 0xe5, 0xdb, 0xfd, 0x9b,
- 0x5d, 0x99, 0x4e, 0x7a, 0x60, 0x23, 0x34, 0xa4, 0x8d, 0xd7,
- 0x6c, 0xe7, 0x5d, 0x93, 0x97, 0xe1, 0xab, 0x36, 0x2c, 0x24,
- 0x16, 0x92, 0x66, 0xf6, 0x6a, 0x14, 0x23, 0x1d, 0x18, 0xb9,
- 0x44, 0x24, 0x61, 0x6b, 0xd3, 0x75, 0x02, 0x03, 0x01, 0x00,
- 0x01, 0xa3, 0x23, 0x30, 0x21, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01,
- 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01,
- 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02, 0x04, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x94, 0x9e, 0xea,
- 0x17, 0x8d, 0x27, 0xa9, 0x17, 0xe5, 0xa9, 0x19, 0xbe, 0x82,
- 0x36, 0xbd, 0xac, 0x74, 0xf3, 0x6e, 0x75, 0x71, 0x30, 0x1c,
- 0x05, 0x80, 0x6d, 0x1a, 0x69, 0x37, 0x86, 0x9c, 0x77, 0x75,
- 0x29, 0xa1, 0xc6, 0xb7, 0x11, 0x0a, 0x63, 0x27, 0xee, 0xb1,
- 0xc8, 0x94, 0xa9, 0x2e, 0x56, 0x8f, 0xca, 0x9d, 0xbe, 0xf4,
- 0xdb, 0x63, 0x97, 0x68, 0x3b, 0x13, 0xf8, 0x6a, 0xa5, 0xd1,
- 0x3d, 0xed, 0xbb, 0x86, 0x9d, 0x42, 0xfc, 0x15, 0x0a, 0x04,
- 0xf8, 0x3c, 0x0e, 0xc4, 0x86, 0x05, 0x57, 0x56, 0x96, 0xf6,
- 0xc0, 0x18, 0x53, 0xb0, 0xc5, 0xf0, 0xca, 0x72, 0x77, 0x77,
- 0xc9, 0x8e, 0x90, 0xa5, 0x4b, 0xb6, 0x80, 0x4a, 0x4c, 0x34,
- 0x6f, 0xc9, 0xe8, 0x6f, 0xc2, 0x28, 0xdf, 0x93, 0xa9, 0xf5,
- 0x63, 0x18, 0xc0, 0xec, 0x9e, 0xd5, 0x19, 0x36, 0xc5, 0x94,
- 0x10, 0xd4, 0x72, 0xd2, 0xb8 ),
- FINGERPRINT ( 0x71, 0x5d, 0x51, 0x37, 0x5e, 0x18, 0xb3, 0xbc,
- 0xbb, 0x30, 0x0e, 0x8f, 0x50, 0xc7, 0x55, 0xf5,
- 0x96, 0xe7, 0xa8, 0x6d, 0x63, 0x2d, 0x32, 0x38,
- 0xaf, 0x00, 0xc4, 0x1a, 0xfc, 0xd8, 0xac, 0xc3 ) );
-
-/*
- * subject iPXE self-test intermediate CA
- * issuer iPXE self-test root CA
- */
-CERTIFICATE ( intermediate_crt,
- DATA ( 0x30, 0x82, 0x02, 0xb3, 0x30, 0x82, 0x02, 0x1c, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
- 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,
- 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30,
- 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69,
- 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04,
- 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73,
- 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11,
- 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69,
- 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30,
- 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50,
- 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65,
- 0x73, 0x74, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41,
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32, 0x32,
- 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 0x31,
- 0x34, 0x31, 0x32, 0x31, 0x37, 0x30, 0x30, 0x30, 0x31, 0x33,
- 0x33, 0x5a, 0x30, 0x81, 0x90, 0x31, 0x0b, 0x30, 0x09, 0x06,
- 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17,
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43,
- 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68,
- 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
- 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69,
- 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
- 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79,
- 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31,
- 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08,
- 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x27,
- 0x30, 0x25, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x1e, 0x69,
- 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74,
- 0x65, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d,
- 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x20, 0x43, 0x41, 0x30,
- 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d,
- 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xc9, 0x3a,
- 0xee, 0xc6, 0x3c, 0xac, 0x4d, 0x81, 0xc6, 0x98, 0x5e, 0xe1,
- 0x48, 0x66, 0x1a, 0x1e, 0x60, 0x19, 0x41, 0xae, 0xca, 0x14,
- 0x97, 0xc8, 0x3a, 0x50, 0xb6, 0x48, 0xf5, 0x42, 0xac, 0x0f,
- 0xe1, 0xe3, 0x47, 0xf0, 0xbf, 0x7c, 0xd0, 0xee, 0x8f, 0xb7,
- 0xa6, 0x19, 0xad, 0xbb, 0xc5, 0x1b, 0x34, 0x38, 0xc8, 0xbd,
- 0x55, 0x84, 0x93, 0x72, 0xaf, 0x84, 0xfc, 0x9b, 0x97, 0x1d,
- 0xb5, 0x54, 0x24, 0xd6, 0x5d, 0xb7, 0x31, 0xf4, 0xbd, 0x3b,
- 0x40, 0x97, 0xc0, 0xa9, 0x5a, 0x2a, 0xcb, 0x6b, 0x98, 0x07,
- 0xdb, 0xb5, 0x9f, 0xe8, 0x31, 0x3f, 0x01, 0x46, 0x46, 0x70,
- 0x05, 0xa2, 0x0f, 0x8c, 0x7a, 0x61, 0xf3, 0xdf, 0xdb, 0xa1,
- 0x37, 0x2c, 0x88, 0x6a, 0x81, 0x21, 0x12, 0x4c, 0xf5, 0xcd,
- 0xaf, 0xc9, 0xd2, 0x36, 0x3d, 0x82, 0xd1, 0xca, 0x19, 0xaf,
- 0x4e, 0xae, 0x50, 0x71, 0x44, 0xbf, 0x02, 0x03, 0x01, 0x00,
- 0x01, 0xa3, 0x23, 0x30, 0x21, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01,
- 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01,
- 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02, 0x04, 0x30, 0x0d,
- 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
- 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x5d, 0x3c, 0xb3,
- 0x52, 0x19, 0xa6, 0x9e, 0x4a, 0x44, 0x98, 0xbf, 0x51, 0x20,
- 0x47, 0x0a, 0xf3, 0x26, 0x1a, 0xcc, 0x35, 0x2f, 0xc9, 0xed,
- 0xe0, 0x9d, 0x46, 0xeb, 0xbc, 0x7e, 0xc9, 0xb9, 0x1d, 0x76,
- 0xa4, 0x1d, 0xc2, 0xd9, 0x16, 0x29, 0x77, 0x01, 0x40, 0xdd,
- 0xe5, 0xcb, 0x28, 0x91, 0x3a, 0x0c, 0x13, 0x01, 0x1b, 0x72,
- 0x62, 0x45, 0x27, 0xfd, 0xd7, 0x00, 0x47, 0x36, 0x09, 0x1e,
- 0x7b, 0xd2, 0xcb, 0x95, 0x3d, 0x28, 0x82, 0xce, 0x83, 0x59,
- 0x32, 0xf9, 0xe6, 0xec, 0x89, 0xac, 0x88, 0x45, 0x22, 0x88,
- 0x6f, 0x5e, 0xa2, 0x79, 0x95, 0xba, 0xb9, 0xc9, 0xb6, 0x4c,
- 0x7c, 0xb4, 0x29, 0xa1, 0x02, 0xf5, 0xac, 0x5d, 0x8e, 0x52,
- 0xeb, 0xe8, 0xb1, 0x56, 0x49, 0xb3, 0x77, 0x62, 0x7d, 0x87,
- 0x4d, 0x17, 0xf2, 0x62, 0x83, 0x08, 0x59, 0x21, 0x60, 0x0d,
- 0x84, 0x8e, 0x5a, 0x84, 0xf6 ),
- FINGERPRINT ( 0x88, 0x70, 0xbf, 0xf0, 0xd6, 0x09, 0x03, 0x3a,
- 0xe1, 0x80, 0xa7, 0xa5, 0x5c, 0x3e, 0xe1, 0x05,
- 0x38, 0x97, 0xde, 0xe1, 0xe9, 0x74, 0x55, 0xb1,
- 0x1e, 0x59, 0x69, 0x44, 0x42, 0x1b, 0xc8, 0xff ) );
-
-/*
- * subject iPXE self-test leaf CA
- * issuer iPXE self-test intermediate CA
- */
-CERTIFICATE ( leaf_crt,
- DATA ( 0x30, 0x82, 0x02, 0xb6, 0x30, 0x82, 0x02, 0x1f, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
- 0x00, 0x30, 0x81, 0x90, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,
- 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30,
- 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69,
- 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04,
- 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73,
- 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11,
- 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69,
- 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x27, 0x30,
- 0x25, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x1e, 0x69, 0x50,
- 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65,
- 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65,
- 0x64, 0x69, 0x61, 0x74, 0x65, 0x20, 0x43, 0x41, 0x30, 0x1e,
- 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32, 0x32, 0x30, 0x30,
- 0x30, 0x31, 0x33, 0x33, 0x5a, 0x17, 0x0d, 0x31, 0x34, 0x31,
- 0x32, 0x31, 0x37, 0x30, 0x30, 0x30, 0x31, 0x33, 0x33, 0x5a,
- 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
- 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15,
- 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72,
- 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07,
- 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a,
- 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74,
- 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30,
- 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70,
- 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30, 0x1d,
- 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50, 0x58,
- 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73,
- 0x74, 0x20, 0x6c, 0x65, 0x61, 0x66, 0x20, 0x43, 0x41, 0x30,
- 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
- 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d,
- 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xc3, 0x55,
- 0xad, 0xdf, 0x7b, 0xd1, 0x48, 0xc3, 0xd3, 0x02, 0x54, 0x6c,
- 0x92, 0x45, 0x22, 0x3d, 0x90, 0xd8, 0xc7, 0x13, 0xcd, 0xc1,
- 0x59, 0xc6, 0xe0, 0xad, 0x0e, 0xe6, 0xdb, 0x3b, 0xe8, 0x63,
- 0xea, 0x4e, 0xb6, 0xea, 0x50, 0xea, 0x6e, 0x33, 0x9d, 0x28,
- 0x25, 0x42, 0x49, 0xd0, 0xf0, 0xed, 0xc5, 0x5b, 0x6b, 0x4a,
- 0xe7, 0x45, 0xfa, 0xd3, 0x3f, 0xae, 0xde, 0x5a, 0x90, 0xab,
- 0xf1, 0x61, 0x2f, 0x40, 0x5e, 0xcf, 0x8b, 0x0b, 0x10, 0x59,
- 0xa9, 0xd0, 0x1e, 0x0f, 0x18, 0x6b, 0x92, 0xd8, 0x9f, 0x58,
- 0x10, 0x84, 0xb6, 0x15, 0xe8, 0x5b, 0xc4, 0xa0, 0x3e, 0x49,
- 0x8b, 0xea, 0xdd, 0xa9, 0x7e, 0x32, 0x26, 0x9a, 0x68, 0x44,
- 0xf0, 0x30, 0xca, 0x2a, 0xd6, 0x19, 0x7a, 0x80, 0xfd, 0xd7,
- 0xfc, 0xc7, 0x5d, 0xe7, 0x61, 0xd2, 0x3f, 0x1f, 0x2c, 0x40,
- 0x70, 0x7b, 0x34, 0xcb, 0x08, 0xa9, 0x02, 0x03, 0x01, 0x00,
- 0x01, 0xa3, 0x26, 0x30, 0x24, 0x30, 0x12, 0x06, 0x03, 0x55,
- 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01,
- 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55,
- 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x02,
- 0x04, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00,
- 0x40, 0xd2, 0x70, 0x02, 0x08, 0x19, 0xa0, 0xb8, 0x8d, 0x9d,
- 0x3d, 0x62, 0x41, 0x90, 0x2a, 0x36, 0x4a, 0x8b, 0x21, 0x42,
- 0x9a, 0xb4, 0xc5, 0xf8, 0x79, 0x17, 0xd7, 0x64, 0x4d, 0xbf,
- 0x8f, 0x6a, 0x04, 0x54, 0x7a, 0x0b, 0xd4, 0xb5, 0x0e, 0xab,
- 0xf7, 0xb7, 0x06, 0x2b, 0xf8, 0xde, 0x87, 0xb2, 0x37, 0x3b,
- 0x95, 0x01, 0xba, 0x9f, 0x8f, 0xec, 0x0a, 0x86, 0xca, 0x51,
- 0xb6, 0x25, 0x73, 0x2f, 0xa1, 0x66, 0xc8, 0x7a, 0x5e, 0x51,
- 0xbd, 0x49, 0xb5, 0x75, 0xda, 0xea, 0xe5, 0xeb, 0x5d, 0xe3,
- 0xb0, 0xad, 0x49, 0x9f, 0x8b, 0xfd, 0x89, 0xb3, 0xb7, 0xb2,
- 0x4c, 0x7d, 0x8a, 0x29, 0xb2, 0xbe, 0x04, 0xef, 0x9c, 0x73,
- 0x3c, 0xea, 0xa3, 0x9f, 0x07, 0x66, 0x5a, 0x2f, 0x38, 0xad,
- 0x1a, 0xeb, 0xe1, 0xb0, 0x62, 0x14, 0x55, 0xdc, 0x8c, 0x83,
- 0xbb, 0xc7, 0x13, 0x04, 0x41, 0x54, 0xf1, 0x45 ),
- FINGERPRINT ( 0xca, 0xcf, 0xea, 0x98, 0x3d, 0x71, 0xb6, 0x9d,
- 0x4f, 0x5b, 0x84, 0x5e, 0xaa, 0x8e, 0xae, 0x63,
- 0x0e, 0xad, 0x52, 0xe8, 0xc7, 0x51, 0x81, 0x07,
- 0xd1, 0xa1, 0x66, 0xdb, 0xd5, 0x62, 0xe1, 0xe6 ) );
-
-/*
- * subject iPXE self-test useless CA
- * issuer iPXE self-test leaf CA
- */
-CERTIFICATE ( useless_crt,
- DATA ( 0x30, 0x82, 0x02, 0xae, 0x30, 0x82, 0x02, 0x17, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
- 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,
- 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30,
- 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69,
- 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04,
- 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73,
- 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11,
- 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69,
- 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30,
- 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50,
- 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65,
- 0x73, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x66, 0x20, 0x43, 0x41,
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32, 0x32,
- 0x30, 0x30, 0x30, 0x31, 0x33, 0x34, 0x5a, 0x17, 0x0d, 0x31,
- 0x34, 0x31, 0x32, 0x31, 0x37, 0x30, 0x30, 0x30, 0x31, 0x33,
- 0x34, 0x5a, 0x30, 0x81, 0x8b, 0x31, 0x0b, 0x30, 0x09, 0x06,
- 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17,
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43,
- 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68,
- 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
- 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69,
- 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
- 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79,
- 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31,
- 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08,
- 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x22,
- 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x19, 0x69,
- 0x50, 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74,
- 0x65, 0x73, 0x74, 0x20, 0x75, 0x73, 0x65, 0x6c, 0x65, 0x73,
- 0x73, 0x20, 0x43, 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06,
- 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
- 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02,
- 0x81, 0x81, 0x00, 0xbe, 0x7f, 0x5a, 0x07, 0x7c, 0x61, 0xc2,
- 0x3a, 0x7e, 0xe3, 0x94, 0xcb, 0xe9, 0xc3, 0x4c, 0x6f, 0x8d,
- 0x5c, 0x4a, 0xf0, 0xc2, 0x13, 0x54, 0x09, 0x39, 0xa8, 0xf9,
- 0xc2, 0xc3, 0xdd, 0xbe, 0x42, 0x99, 0xa6, 0xe1, 0x58, 0x0a,
- 0xd5, 0x89, 0x12, 0xa6, 0xd6, 0x4e, 0xfb, 0x6c, 0xe5, 0xab,
- 0xff, 0x40, 0x52, 0xcc, 0x1e, 0x63, 0x10, 0xd7, 0xfe, 0x49,
- 0xf3, 0x86, 0x29, 0x58, 0x6a, 0x90, 0xe4, 0xe2, 0x56, 0x85,
- 0x14, 0x7d, 0xa5, 0xf8, 0xe0, 0x7e, 0x96, 0x88, 0xd9, 0x23,
- 0xe5, 0x44, 0x72, 0xa9, 0x5a, 0xbb, 0x76, 0x6b, 0x59, 0x3e,
- 0x85, 0xd4, 0xe7, 0xb2, 0x31, 0x32, 0xea, 0x40, 0x1f, 0xce,
- 0xfb, 0xb1, 0x91, 0xee, 0x86, 0x91, 0x3e, 0xa4, 0x86, 0xa4,
- 0xe9, 0x74, 0xd7, 0x14, 0x8c, 0xb6, 0xb4, 0xc0, 0x08, 0xbb,
- 0xc8, 0x38, 0xc3, 0x96, 0x3d, 0x85, 0xcf, 0xef, 0x94, 0x52,
- 0x29, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x23, 0x30, 0x21,
- 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff,
- 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06,
- 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03,
- 0x02, 0x02, 0x04, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
- 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81,
- 0x81, 0x00, 0x50, 0x59, 0xfb, 0x9d, 0x4d, 0xfe, 0x0e, 0x5b,
- 0xc4, 0x51, 0xe9, 0xe8, 0xa4, 0xf5, 0x2f, 0x32, 0x8b, 0x06,
- 0x78, 0xbe, 0xf1, 0x18, 0xc5, 0x6f, 0xd9, 0x20, 0xee, 0xb7,
- 0x51, 0x40, 0xaf, 0xf3, 0x3c, 0xe4, 0x74, 0x00, 0xa4, 0x63,
- 0x3b, 0x37, 0xe1, 0xef, 0x80, 0xdc, 0xd5, 0x90, 0xed, 0xba,
- 0x91, 0x86, 0x7f, 0x97, 0x5d, 0x3e, 0x8f, 0x29, 0xcc, 0x57,
- 0xee, 0x79, 0x15, 0x6b, 0xe3, 0xd1, 0x25, 0x14, 0x24, 0xdf,
- 0xbf, 0x38, 0xee, 0xe3, 0x8a, 0x88, 0x19, 0x0f, 0xc8, 0x10,
- 0xae, 0x27, 0x99, 0xa8, 0x35, 0x47, 0xc9, 0xfb, 0x92, 0x47,
- 0xa2, 0x36, 0x2a, 0x8c, 0x26, 0x12, 0xb1, 0x0d, 0x46, 0xe2,
- 0xdc, 0x33, 0x29, 0x0c, 0x32, 0xcf, 0x22, 0x49, 0xde, 0xc3,
- 0x55, 0x2a, 0xba, 0xdd, 0xe3, 0x98, 0xc0, 0xe4, 0x9a, 0xa2,
- 0xe5, 0x43, 0x04, 0x32, 0xd3, 0x50, 0x7d, 0x9c, 0x71, 0x23 ),
- FINGERPRINT ( 0xda, 0xbf, 0xd3, 0x5e, 0x2e, 0x29, 0xa9, 0xfd,
- 0x4d, 0x40, 0xba, 0xb8, 0xdd, 0x66, 0x93, 0x4c,
- 0x10, 0xea, 0x5b, 0x07, 0xa6, 0xe2, 0x27, 0x63,
- 0x2e, 0xfe, 0x01, 0x63, 0x7c, 0xea, 0xc6, 0xd0 ) );
-
-/*
- * subject boot.test.ipxe.org
- * issuer iPXE self-test leaf CA
- */
-CERTIFICATE ( server_crt,
- DATA ( 0x30, 0x82, 0x02, 0xd2, 0x30, 0x82, 0x02, 0x3b, 0xa0, 0x03,
- 0x02, 0x01, 0x02, 0x02, 0x01, 0x1e, 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
- 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,
- 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30,
- 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69,
- 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04,
- 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04,
- 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73,
- 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11,
- 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69,
- 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1f, 0x30,
- 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16, 0x69, 0x50,
- 0x58, 0x45, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x2d, 0x74, 0x65,
- 0x73, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x66, 0x20, 0x43, 0x41,
- 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x30, 0x35,
- 0x31, 0x33, 0x34, 0x35, 0x30, 0x35, 0x5a, 0x17, 0x0d, 0x31,
- 0x33, 0x30, 0x33, 0x30, 0x35, 0x31, 0x33, 0x34, 0x35, 0x30,
- 0x35, 0x5a, 0x30, 0x81, 0x84, 0x31, 0x0b, 0x30, 0x09, 0x06,
- 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17,
- 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43,
- 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68,
- 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
- 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69,
- 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55,
- 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79,
- 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31,
- 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08,
- 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x1b,
- 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x12, 0x62,
- 0x6f, 0x6f, 0x74, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x69,
- 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x81, 0x9f,
- 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
- 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30,
- 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xac, 0x7b, 0x54, 0xc1,
- 0x97, 0x4d, 0x56, 0xbd, 0xb2, 0x52, 0xb3, 0x5c, 0x1b, 0x28,
- 0xae, 0x91, 0x33, 0xf0, 0xc8, 0xc2, 0x3c, 0x7d, 0xe8, 0x95,
- 0x72, 0xaf, 0xfe, 0xa1, 0x68, 0xe1, 0xbd, 0xe2, 0x9d, 0x4c,
- 0xe8, 0x95, 0x56, 0x94, 0xce, 0x47, 0x57, 0x1b, 0xb1, 0x08,
- 0xa1, 0x5b, 0x02, 0x8f, 0x56, 0x75, 0x1e, 0x4f, 0xfd, 0xc5,
- 0x87, 0x5c, 0x1c, 0x3f, 0xab, 0x4f, 0xba, 0x25, 0x14, 0x6d,
- 0xe3, 0xa2, 0x47, 0x33, 0xd0, 0x78, 0x63, 0xcc, 0x11, 0x37,
- 0x08, 0x73, 0x25, 0x42, 0x20, 0xa9, 0x57, 0x29, 0xeb, 0x44,
- 0x80, 0x0d, 0xe6, 0x76, 0x4b, 0x02, 0x8b, 0x67, 0xb2, 0x99,
- 0xfe, 0xb3, 0x44, 0x62, 0xdf, 0x34, 0x0e, 0xf3, 0xe2, 0x17,
- 0x42, 0x8f, 0x36, 0x42, 0x5a, 0x1c, 0x03, 0x3e, 0x06, 0x0d,
- 0x5e, 0x08, 0x52, 0xd1, 0x06, 0xfb, 0xa9, 0xdb, 0x13, 0x15,
- 0x08, 0x6d, 0x03, 0x85, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3,
- 0x4e, 0x30, 0x4c, 0x30, 0x4a, 0x06, 0x03, 0x55, 0x1d, 0x11,
- 0x04, 0x43, 0x30, 0x41, 0x82, 0x12, 0x64, 0x65, 0x6d, 0x6f,
- 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x69, 0x70, 0x78, 0x65,
- 0x2e, 0x6f, 0x72, 0x67, 0x82, 0x13, 0x2a, 0x2e, 0x61, 0x6c,
- 0x74, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x69, 0x70, 0x78,
- 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x87, 0x04, 0xc0, 0xa8, 0x00,
- 0x01, 0x87, 0x10, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x69, 0xff, 0xfe, 0x50, 0x58, 0x45, 0x30,
- 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
- 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x63, 0x83,
- 0xf5, 0xde, 0xf7, 0x59, 0x81, 0xd3, 0x34, 0x61, 0xfd, 0x2c,
- 0x0c, 0xec, 0x1c, 0x25, 0xd2, 0x2c, 0xe8, 0x90, 0x4f, 0x34,
- 0x43, 0x2c, 0x86, 0x18, 0x9e, 0x66, 0x26, 0x0d, 0x02, 0x2a,
- 0xea, 0x28, 0xc6, 0xbb, 0x51, 0x02, 0xbe, 0x8f, 0x51, 0x50,
- 0xc7, 0x04, 0x49, 0x97, 0xb9, 0xd4, 0xa5, 0x74, 0x39, 0xaa,
- 0x22, 0xbb, 0x4e, 0x46, 0x57, 0x15, 0x0e, 0xcf, 0x64, 0x60,
- 0xc8, 0x13, 0xdf, 0x82, 0x09, 0x3b, 0x92, 0xf5, 0x69, 0x80,
- 0xd2, 0x5e, 0x53, 0x9d, 0x3a, 0xcd, 0x9e, 0x81, 0xa1, 0xbd,
- 0x5b, 0x66, 0x89, 0x4d, 0xf7, 0xa4, 0xd6, 0x92, 0xe4, 0xe1,
- 0x80, 0x87, 0xfa, 0xa5, 0x47, 0x25, 0x9c, 0x35, 0x77, 0xa5,
- 0x11, 0x1b, 0x48, 0x4c, 0x5e, 0x5e, 0x2f, 0xc7, 0xf8, 0x78,
- 0x4c, 0x36, 0x41, 0xfb, 0x91, 0x5d, 0xf6, 0x43, 0x99, 0x7c,
- 0xcd, 0x7f, 0x27, 0x4c, 0x75, 0xca ),
- FINGERPRINT ( 0x82, 0xd3, 0xa0, 0x4c, 0x0d, 0x7d, 0x3c, 0xb1,
- 0x90, 0x63, 0xd8, 0xef, 0x1e, 0xd2, 0xdd, 0x10,
- 0xd5, 0x89, 0x40, 0x35, 0xb9, 0x5e, 0x98, 0x44,
- 0x30, 0xa2, 0x48, 0x9a, 0xb8, 0x2f, 0xcf, 0xe3 ) );
-
-/*
- * subject not.a.ca.test.ipxe.org
- * issuer boot.test.ipxe.org
- */
-CERTIFICATE ( not_ca_crt,
- DATA ( 0x30, 0x82, 0x02, 0x7d, 0x30, 0x82, 0x01, 0xe6, 0x02, 0x01,
- 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x84, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30,
- 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30,
- 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65,
- 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20,
- 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x12, 0x62, 0x6f, 0x6f, 0x74, 0x2e, 0x74, 0x65,
- 0x73, 0x74, 0x2e, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72,
- 0x67, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32,
- 0x32, 0x30, 0x30, 0x30, 0x31, 0x33, 0x34, 0x5a, 0x17, 0x0d,
- 0x31, 0x33, 0x30, 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31,
- 0x33, 0x34, 0x5a, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09,
- 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31,
- 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e,
- 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73,
- 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03,
- 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72,
- 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03,
- 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53,
- 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64,
- 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c,
- 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31,
- 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x16,
- 0x6e, 0x6f, 0x74, 0x2e, 0x61, 0x2e, 0x63, 0x61, 0x2e, 0x74,
- 0x65, 0x73, 0x74, 0x2e, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
- 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81,
- 0x00, 0xc3, 0x5b, 0x6d, 0xb3, 0x8d, 0x74, 0x9c, 0x1d, 0xbd,
- 0x94, 0x41, 0xa2, 0x42, 0x96, 0x3c, 0x41, 0x82, 0xc0, 0xf1,
- 0x95, 0xbf, 0xc5, 0x34, 0x92, 0x92, 0xa3, 0xed, 0xed, 0x5c,
- 0x07, 0xaa, 0xb4, 0xc1, 0x66, 0xbb, 0xa6, 0xd1, 0xd9, 0x78,
- 0x93, 0xf1, 0x9c, 0x3e, 0x13, 0x3a, 0xee, 0x74, 0x31, 0xeb,
- 0x55, 0x86, 0xa5, 0x43, 0x8a, 0x5d, 0x0c, 0x2c, 0x0d, 0xfb,
- 0x91, 0x9e, 0x31, 0x22, 0xbe, 0x96, 0xb5, 0x0e, 0x44, 0xc8,
- 0x5b, 0x65, 0xb2, 0xf5, 0xec, 0x2a, 0x51, 0xed, 0x8f, 0x28,
- 0xd8, 0xb2, 0x4b, 0x45, 0x39, 0x31, 0x1f, 0x11, 0xb7, 0x12,
- 0xe3, 0xc6, 0xb2, 0xd2, 0x8d, 0x50, 0xd5, 0xf4, 0xd2, 0x71,
- 0x77, 0xc9, 0x4c, 0x67, 0xee, 0xf7, 0xdc, 0xdb, 0x68, 0xa6,
- 0xac, 0x33, 0xd4, 0xb2, 0x12, 0x61, 0x5c, 0xae, 0x4c, 0x2e,
- 0x26, 0xe8, 0xdf, 0x46, 0x3a, 0x05, 0xaf, 0xeb, 0x0d, 0x02,
- 0x03, 0x01, 0x00, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
- 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03,
- 0x81, 0x81, 0x00, 0x90, 0x3e, 0x16, 0x27, 0x2f, 0x4e, 0x4b,
- 0x31, 0x0e, 0xae, 0x31, 0x9d, 0x64, 0x88, 0x9f, 0xce, 0xd8,
- 0x22, 0x51, 0x9d, 0xd9, 0x2b, 0xfe, 0xed, 0x75, 0xbe, 0xec,
- 0x5a, 0x73, 0xaf, 0x6c, 0xa5, 0x5e, 0xd1, 0x15, 0x9a, 0x08,
- 0xcf, 0x4d, 0x41, 0x78, 0x48, 0xb4, 0x29, 0xf1, 0xf7, 0x63,
- 0x9b, 0x11, 0x91, 0x16, 0x94, 0x55, 0xff, 0xeb, 0xe9, 0x6f,
- 0x0a, 0x34, 0x89, 0xed, 0xf2, 0xd1, 0x79, 0x91, 0x9d, 0xe5,
- 0x73, 0x48, 0x68, 0x7f, 0x9b, 0xf4, 0x94, 0x80, 0x29, 0xbb,
- 0x2f, 0xac, 0x6c, 0xf7, 0x6a, 0x43, 0xcc, 0x40, 0x34, 0x85,
- 0xc8, 0xa1, 0x6d, 0x16, 0x36, 0x65, 0x3f, 0x93, 0x60, 0xc1,
- 0x64, 0x33, 0x91, 0xa1, 0x8f, 0x86, 0x8c, 0xce, 0x14, 0x19,
- 0x72, 0x28, 0xef, 0x94, 0x3d, 0x09, 0xb8, 0x3b, 0x39, 0xe8,
- 0xd1, 0x66, 0x2b, 0x38, 0xb4, 0x46, 0x50, 0xf4, 0xcd, 0xc4,
- 0x9a ),
- FINGERPRINT ( 0x37, 0x6b, 0xc2, 0x20, 0xa9, 0xbc, 0xe2, 0x83,
- 0x99, 0x60, 0x06, 0x2e, 0xaf, 0x94, 0xfe, 0xb0,
- 0x1a, 0x2c, 0x17, 0x47, 0x1e, 0xc0, 0xd1, 0x66,
- 0xb6, 0x76, 0xeb, 0x1c, 0x07, 0xae, 0x72, 0xf2 ) );
-
-/*
- * subject bad.path.len.test.ipxe.org
- * issuer iPXE self-test useless CA
- */
-CERTIFICATE ( bad_path_len_crt,
- DATA ( 0x30, 0x82, 0x02, 0x88, 0x30, 0x82, 0x01, 0xf1, 0x02, 0x01,
- 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
- 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x81, 0x8b, 0x31,
- 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
- 0x47, 0x42, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04,
- 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64,
- 0x67, 0x65, 0x73, 0x68, 0x69, 0x72, 0x65, 0x31, 0x12, 0x30,
- 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x09, 0x43, 0x61,
- 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x31, 0x18, 0x30,
- 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x0f, 0x46, 0x65,
- 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x20,
- 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55,
- 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70, 0x78, 0x65, 0x2e, 0x6f,
- 0x72, 0x67, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04,
- 0x03, 0x0c, 0x19, 0x69, 0x50, 0x58, 0x45, 0x20, 0x73, 0x65,
- 0x6c, 0x66, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x20, 0x75, 0x73,
- 0x65, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x43, 0x41, 0x30, 0x1e,
- 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x32, 0x32, 0x30, 0x30,
- 0x30, 0x31, 0x33, 0x34, 0x5a, 0x17, 0x0d, 0x31, 0x33, 0x30,
- 0x33, 0x32, 0x32, 0x30, 0x30, 0x30, 0x31, 0x33, 0x34, 0x5a,
- 0x30, 0x81, 0x8c, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
- 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x17, 0x30, 0x15,
- 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0e, 0x43, 0x61, 0x6d,
- 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x73, 0x68, 0x69, 0x72,
- 0x65, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07,
- 0x0c, 0x09, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x0a,
- 0x0c, 0x0f, 0x46, 0x65, 0x6e, 0x20, 0x53, 0x79, 0x73, 0x74,
- 0x65, 0x6d, 0x73, 0x20, 0x4c, 0x74, 0x64, 0x31, 0x11, 0x30,
- 0x0f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c, 0x08, 0x69, 0x70,
- 0x78, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x31, 0x23, 0x30, 0x21,
- 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x1a, 0x62, 0x61, 0x64,
- 0x2e, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x6c, 0x65, 0x6e, 0x2e,
- 0x74, 0x65, 0x73, 0x74, 0x2e, 0x69, 0x70, 0x78, 0x65, 0x2e,
- 0x6f, 0x72, 0x67, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09,
- 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,
- 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81,
- 0x81, 0x00, 0xed, 0xf1, 0xe3, 0xb2, 0x61, 0x68, 0xa0, 0xd5,
- 0x43, 0xfe, 0xad, 0xee, 0xfb, 0x8e, 0x2c, 0xf0, 0x44, 0xaf,
- 0x0a, 0x3c, 0x87, 0xc2, 0x56, 0x9b, 0x66, 0x15, 0xc6, 0xbc,
- 0x5b, 0x96, 0xef, 0xa1, 0x49, 0xd6, 0xe7, 0xeb, 0xb8, 0xf6,
- 0x3d, 0x62, 0xf5, 0x51, 0xfd, 0xb1, 0xa5, 0x4e, 0x92, 0x7c,
- 0x7a, 0x31, 0x1b, 0xb8, 0x21, 0x5c, 0xfe, 0x0b, 0x4e, 0x58,
- 0xd6, 0xd0, 0x8b, 0x81, 0x00, 0x4a, 0xf8, 0xf7, 0x2a, 0xc9,
- 0xea, 0xfa, 0x9c, 0xc9, 0x33, 0x0b, 0xc4, 0xce, 0x96, 0x4c,
- 0x30, 0x6e, 0xf0, 0x07, 0xfa, 0x1b, 0x94, 0x1f, 0xe3, 0x3b,
- 0xb2, 0x7d, 0x31, 0x1a, 0x37, 0x64, 0xe2, 0xc3, 0xf1, 0xe5,
- 0xb9, 0xcc, 0xd1, 0x02, 0xae, 0x16, 0x39, 0x9b, 0xfc, 0x55,
- 0xca, 0xdd, 0x33, 0x92, 0xe3, 0x12, 0x40, 0xc5, 0x32, 0x51,
- 0x62, 0xac, 0x3a, 0xc0, 0x17, 0x36, 0xd0, 0x27, 0x3d, 0xbb,
- 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a,
- 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
- 0x03, 0x81, 0x81, 0x00, 0x07, 0x53, 0x2a, 0x80, 0xd6, 0x25,
- 0x10, 0x37, 0xce, 0x3b, 0x87, 0x87, 0xfc, 0xae, 0xe2, 0x2a,
- 0x28, 0x3f, 0xf7, 0xa6, 0x32, 0x5b, 0x06, 0xbd, 0x4f, 0x34,
- 0x6b, 0x47, 0x8a, 0x4b, 0x47, 0x51, 0xe8, 0x45, 0x69, 0xe3,
- 0xf3, 0xdf, 0xa4, 0x25, 0x8f, 0x34, 0xbe, 0xe5, 0x2c, 0xa4,
- 0x6c, 0x8c, 0x6e, 0x02, 0x74, 0x23, 0x43, 0x21, 0x4d, 0xe3,
- 0x75, 0x93, 0x8e, 0xa8, 0x2c, 0x54, 0xba, 0x35, 0xe7, 0xab,
- 0x44, 0xfa, 0x07, 0x7a, 0x18, 0xb4, 0xa7, 0xce, 0xfa, 0xa6,
- 0x74, 0x5a, 0x45, 0x2c, 0x6f, 0x86, 0x34, 0x8f, 0x4a, 0x09,
- 0xe0, 0xf3, 0x4f, 0x37, 0xbb, 0xa3, 0xa0, 0xcb, 0xad, 0x6b,
- 0xc1, 0x16, 0x06, 0xdf, 0x83, 0x98, 0xaf, 0xa8, 0xc3, 0xa0,
- 0x5f, 0x33, 0x09, 0x01, 0x12, 0xbd, 0xd3, 0x45, 0x9f, 0x5f,
- 0x96, 0x93, 0xe9, 0x69, 0xe9, 0xb1, 0x8a, 0xe4, 0x94, 0xce,
- 0xe4, 0x8d ),
- FINGERPRINT ( 0xb6, 0x80, 0x84, 0xf1, 0x45, 0x55, 0x1f, 0xbc,
- 0x15, 0xa6, 0xd8, 0x4b, 0xf3, 0x19, 0x65, 0xef,
- 0x53, 0x5a, 0xc8, 0x99, 0xe5, 0xdf, 0x79, 0x07,
- 0x00, 0x2c, 0x9f, 0x49, 0x91, 0x21, 0xeb, 0xfc ) );
-
-/** Valid certificate chain up to boot.test.ipxe.org */
-CHAIN ( server_chain, &server_crt, &leaf_crt, &intermediate_crt, &root_crt );
-
-/** Broken certificate chain up to boot.test.ipxe.org */
-CHAIN ( broken_server_chain, &server_crt, &leaf_crt, &root_crt );
-
-/** Incomplete certificate chain up to boot.test.ipxe.org */
-CHAIN ( incomplete_server_chain, &server_crt, &leaf_crt, &intermediate_crt );
-
-/** Non-functional certificate chain up to not_ca.test.ipxe.org */
-CHAIN ( not_ca_chain,
- &not_ca_crt, &server_crt, &leaf_crt, &intermediate_crt, &root_crt );
-
-/** Valid certificate chain up to iPXE self-test useless CA */
-CHAIN ( useless_chain, &useless_crt, &leaf_crt, &intermediate_crt, &root_crt );
-
-/** Non-functional certificate chain up to bad.path.len.test.ipxe.org */
-CHAIN ( bad_path_len_chain, &bad_path_len_crt, &useless_crt, &leaf_crt,
- &intermediate_crt, &root_crt );
-
-/** Empty certificate store */
-static struct x509_chain empty_store = {
- .refcnt = REF_INIT ( ref_no_free ),
- .links = LIST_HEAD_INIT ( empty_store.links ),
-};
-
-/** Root certificate list containing the iPXE self-test root CA */
-static struct x509_root test_root = {
- .digest = &x509_test_algorithm,
- .count = 1,
- .fingerprints = root_crt_fingerprint,
-};
-
-/** Root certificate list containing the iPXE self-test intermediate CA */
-static struct x509_root intermediate_root = {
- .digest = &x509_test_algorithm,
- .count = 1,
- .fingerprints = intermediate_crt_fingerprint,
-};
-
-/** Dummy fingerprint (not matching any certificates) */
-static uint8_t dummy_fingerprint[] =
- FINGERPRINT ( 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
- 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff,
- 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
- 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff );
-
-/** Certificate store containing a dummy fingerprint */
-static struct x509_root dummy_root = {
- .digest = &x509_test_algorithm,
- .count = 1,
- .fingerprints = dummy_fingerprint,
-};
-
-/** Time at which all test certificates are valid */
-static time_t test_time = 1332374737ULL; /* Thu Mar 22 00:05:37 2012 */
-
-/** Time at which end-entity test certificates are invalid */
-static time_t test_expired = 1375573111ULL; /* Sat Aug 3 23:38:31 2013 */
-
-/** Time at which CA test certificates are invalid */
-static time_t test_ca_expired = 2205014905ULL; /* Wed Nov 16 00:08:25 2039 */
-
-/**
- * Report certificate parsing test result
- *
- * @v crt Test certificate
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_certificate_okx ( struct x509_test_certificate *crt,
- const char *file, unsigned int line ) {
-
- okx ( x509_certificate ( crt->data, crt->len, &crt->cert ) == 0,
- file, line );
-}
-#define x509_certificate_ok( crt ) \
- x509_certificate_okx ( crt, __FILE__, __LINE__ )
-
-/**
- * Report cached certificate parsing test result
- *
- * @v crt Test certificate
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_cached_okx ( struct x509_test_certificate *crt,
- const char *file, unsigned int line ) {
- struct x509_certificate *temp;
-
- okx ( x509_certificate ( crt->data, crt->len, &temp ) == 0,
- file, line );
- okx ( temp == crt->cert, file, line );
- x509_put ( temp );
-}
-#define x509_cached_ok( crt ) x509_cached_okx ( crt, __FILE__, __LINE__ )
-
-/**
- * Report certificate fingerprint test result
- *
- * @v crt Test certificate
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_fingerprint_okx ( struct x509_test_certificate *crt,
- const char *file, unsigned int line ) {
- uint8_t fingerprint[ x509_test_algorithm.digestsize ];
-
- x509_fingerprint ( crt->cert, &x509_test_algorithm, fingerprint );
- okx ( memcmp ( fingerprint, crt->fingerprint,
- sizeof ( fingerprint ) ) == 0, file, line );
-}
-#define x509_fingerprint_ok( crt ) \
- x509_fingerprint_okx ( crt, __FILE__, __LINE__ )
-
-/**
- * Report certificate issuer validation test result
- *
- * @v crt Test certificate
- * @v issuer Test issuer
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_check_issuer_okx ( struct x509_test_certificate *crt,
- struct x509_test_certificate *issuer,
- const char *file, unsigned int line ) {
-
- okx ( x509_check_issuer ( crt->cert, issuer->cert ) == 0, file, line );
-}
-#define x509_check_issuer_ok( crt, issuer ) \
- x509_check_issuer_okx ( crt, issuer, __FILE__, __LINE__ )
-
-/**
- * Report certificate issuer validation failure test result
- *
- * @v crt Test certificate
- * @v issuer Test issuer
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_check_issuer_fail_okx ( struct x509_test_certificate *crt,
- struct x509_test_certificate *issuer,
- const char *file, unsigned int line ) {
-
- okx ( x509_check_issuer ( crt->cert, issuer->cert ) != 0,
- file, line );
-}
-#define x509_check_issuer_fail_ok( crt, issuer ) \
- x509_check_issuer_fail_okx ( crt, issuer, __FILE__, __LINE__ )
-
-/**
- * Report certificate root validation test result
- *
- * @v crt Test certificate
- * @v root Test root certificate store
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_check_root_okx ( struct x509_test_certificate *crt,
- struct x509_root *root, const char *file,
- unsigned int line ) {
-
- okx ( x509_check_root ( crt->cert, root ) == 0, file, line );
-}
-#define x509_check_root_ok( crt, root ) \
- x509_check_root_okx ( crt, root, __FILE__, __LINE__ )
-
-/**
- * Report certificate root validation failure test result
- *
- * @v crt Test certificate
- * @v root Test root certificate store
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_check_root_fail_okx ( struct x509_test_certificate *crt,
- struct x509_root *root,
- const char *file, unsigned int line ) {
-
- okx ( x509_check_root ( crt->cert, root ) != 0, file, line );
-}
-#define x509_check_root_fail_ok( crt, root ) \
- x509_check_root_fail_okx ( crt, root, __FILE__, __LINE__ )
-
-/**
- * Report certificate time validation test result
- *
- * @v crt Test certificate
- * @v time Test time
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_check_time_okx ( struct x509_test_certificate *crt,
- time_t time, const char *file,
- unsigned int line ) {
-
- okx ( x509_check_time ( crt->cert, time ) == 0, file, line );
-}
-#define x509_check_time_ok( crt, time ) \
- x509_check_time_okx ( crt, time, __FILE__, __LINE__ )
-
-/**
- * Report certificate time validation failure test result
- *
- * @v crt Test certificate
- * @v time Test time
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_check_time_fail_okx ( struct x509_test_certificate *crt,
- time_t time, const char *file,
- unsigned int line ) {
-
- okx ( x509_check_time ( crt->cert, time ) != 0, file, line );
-}
-#define x509_check_time_fail_ok( crt, time ) \
- x509_check_time_fail_okx ( crt, time, __FILE__, __LINE__ )
-
-/**
- * Report certificate name validation test result
- *
- * @v crt Test certificate
- * @v name Test name
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_check_name_okx ( struct x509_test_certificate *crt,
- const char *name, const char *file,
- unsigned int line ) {
-
- okx ( x509_check_name ( crt->cert, name ) == 0, file, line );
-}
-#define x509_check_name_ok( crt, name ) \
- x509_check_name_okx ( crt, name, __FILE__, __LINE__ )
-
-/**
- * Report certificate name validation failure test result
- *
- * @v crt Test certificate
- * @v name Test name
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_check_name_fail_okx ( struct x509_test_certificate *crt,
- const char *name, const char *file,
- unsigned int line ) {
-
- okx ( x509_check_name ( crt->cert, name ) != 0, file, line );
-}
-#define x509_check_name_fail_ok( crt, name ) \
- x509_check_name_fail_okx ( crt, name, __FILE__, __LINE__ )
-
-/**
- * Report certificate chain parsing test result
- *
- * @v chn Test certificate chain
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_chain_okx ( struct x509_test_chain *chn, const char *file,
- unsigned int line ) {
- unsigned int i;
- struct x509_certificate *first;
-
- chn->chain = x509_alloc_chain();
- okx ( chn->chain != NULL, file, line );
- for ( i = 0 ; i < chn->count ; i++ ) {
- okx ( x509_append ( chn->chain, chn->certs[i]->cert ) == 0,
- file, line );
- }
- first = x509_first ( chn->chain );
- okx ( first != NULL, file, line );
- okx ( first->raw.len == chn->certs[0]->len, file, line );
- okx ( memcmp ( first->raw.data, chn->certs[0]->data,
- first->raw.len ) == 0, file, line );
-}
-#define x509_chain_ok( chn ) \
- x509_chain_okx ( chn, __FILE__, __LINE__ )
-
-/**
- * Report certificate chain validation test result
- *
- * @v chn Test certificate chain
- * @v time Test certificate validation time
- * @v store Test certificate store
- * @v root Test root certificate list
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_validate_chain_okx ( struct x509_test_chain *chn, time_t time,
- struct x509_chain *store,
- struct x509_root *root, const char *file,
- unsigned int line ) {
-
- x509_invalidate_chain ( chn->chain );
- okx ( x509_validate_chain ( chn->chain, time, store, root ) == 0,
- file, line );
-}
-#define x509_validate_chain_ok( chn, time, store, root ) \
- x509_validate_chain_okx ( chn, time, store, root, __FILE__, __LINE__ )
-
-/**
- * Report certificate chain validation failure test result
- *
- * @v chn Test certificate chain
- * @v time Test certificate validation time
- * @v store Test certificate store
- * @v root Test root certificate list
- * @v file Test code file
- * @v line Test code line
- */
-static void x509_validate_chain_fail_okx ( struct x509_test_chain *chn,
- time_t time,
- struct x509_chain *store,
- struct x509_root *root,
- const char *file,
- unsigned int line ) {
-
- x509_invalidate_chain ( chn->chain );
- okx ( x509_validate_chain ( chn->chain, time, store, root ) != 0,
- file, line );
-}
-#define x509_validate_chain_fail_ok( chn, time, store, root ) \
- x509_validate_chain_fail_okx ( chn, time, store, root, \
- __FILE__, __LINE__ )
-
-/**
- * Perform X.509 self-tests
- *
- */
-static void x509_test_exec ( void ) {
-
- /* Parse all certificates */
- x509_certificate_ok ( &root_crt );
- x509_certificate_ok ( &intermediate_crt );
- x509_certificate_ok ( &leaf_crt );
- x509_certificate_ok ( &useless_crt );
- x509_certificate_ok ( &server_crt );
- x509_certificate_ok ( &not_ca_crt );
- x509_certificate_ok ( &bad_path_len_crt );
-
- /* Check cache functionality */
- x509_cached_ok ( &root_crt );
- x509_cached_ok ( &intermediate_crt );
- x509_cached_ok ( &leaf_crt );
- x509_cached_ok ( &useless_crt );
- x509_cached_ok ( &server_crt );
- x509_cached_ok ( &not_ca_crt );
- x509_cached_ok ( &bad_path_len_crt );
-
- /* Check all certificate fingerprints */
- x509_fingerprint_ok ( &root_crt );
- x509_fingerprint_ok ( &intermediate_crt );
- x509_fingerprint_ok ( &leaf_crt );
- x509_fingerprint_ok ( &useless_crt );
- x509_fingerprint_ok ( &server_crt );
- x509_fingerprint_ok ( &not_ca_crt );
- x509_fingerprint_ok ( &bad_path_len_crt );
-
- /* Check pairwise issuing */
- x509_check_issuer_ok ( &intermediate_crt, &root_crt );
- x509_check_issuer_ok ( &leaf_crt, &intermediate_crt );
- x509_check_issuer_ok ( &useless_crt, &leaf_crt );
- x509_check_issuer_ok ( &server_crt, &leaf_crt );
- x509_check_issuer_fail_ok ( &not_ca_crt, &server_crt );
- x509_check_issuer_ok ( &bad_path_len_crt, &useless_crt );
-
- /* Check root certificate stores */
- x509_check_root_ok ( &root_crt, &test_root );
- x509_check_root_fail_ok ( &intermediate_crt, &test_root );
- x509_check_root_ok ( &intermediate_crt, &intermediate_root );
- x509_check_root_fail_ok ( &root_crt, &intermediate_root );
- x509_check_root_fail_ok ( &root_crt, &dummy_root );
-
- /* Check certificate validity periods */
- x509_check_time_ok ( &server_crt, test_time );
- x509_check_time_fail_ok ( &server_crt, test_expired );
- x509_check_time_ok ( &root_crt, test_time );
- x509_check_time_ok ( &root_crt, test_expired );
- x509_check_time_fail_ok ( &root_crt, test_ca_expired );
-
- /* Check certificate names */
- x509_check_name_ok ( &server_crt, "boot.test.ipxe.org" );
- x509_check_name_ok ( &server_crt, "demo.test.ipxe.org" );
- x509_check_name_fail_ok ( &server_crt, "incorrect.test.ipxe.org" );
- x509_check_name_ok ( &server_crt, "anything.alt.test.ipxe.org" );
- x509_check_name_ok ( &server_crt, "wildcard.alt.test.ipxe.org" );
- x509_check_name_fail_ok ( &server_crt, "sub.domain.alt.test.ipxe.org" );
- x509_check_name_fail_ok ( &server_crt, "alt.test.ipxe.org" );
- x509_check_name_fail_ok ( &server_crt, "test.ipxe.org" );
- x509_check_name_fail_ok ( &server_crt, "ipxe.org" );
- x509_check_name_fail_ok ( &server_crt, "org" );
- x509_check_name_fail_ok ( &server_crt, "" );
- x509_check_name_ok ( &server_crt, "192.168.0.1" );
- x509_check_name_fail_ok ( &server_crt, "192.168.0.2" );
- x509_check_name_ok ( &server_crt, "fe80::69ff:fe50:5845" );
- x509_check_name_ok ( &server_crt, "FE80:0:0:0:0:69FF:FE50:5845" );
- x509_check_name_fail_ok ( &server_crt, "fe80::69ff:fe50:5846" );
-
- /* Parse all certificate chains */
- x509_chain_ok ( &server_chain );
- x509_chain_ok ( &broken_server_chain );
- x509_chain_ok ( &incomplete_server_chain );
- x509_chain_ok ( &not_ca_chain );
- x509_chain_ok ( &useless_chain );
- x509_chain_ok ( &bad_path_len_chain );
-
- /* Check certificate chains */
- x509_validate_chain_ok ( &server_chain, test_time,
- &empty_store, &test_root );
- x509_validate_chain_ok ( &server_chain, test_time,
- &empty_store, &intermediate_root );
- x509_validate_chain_fail_ok ( &server_chain, test_time,
- &empty_store, &dummy_root );
- x509_validate_chain_fail_ok ( &broken_server_chain, test_time,
- &empty_store, &test_root );
- x509_validate_chain_fail_ok ( &incomplete_server_chain, test_time,
- &empty_store, &test_root );
- x509_validate_chain_ok ( &incomplete_server_chain, test_time,
- &empty_store, &intermediate_root );
- x509_validate_chain_fail_ok ( &not_ca_chain, test_time,
- &empty_store, &test_root );
- x509_validate_chain_ok ( &useless_chain, test_time,
- &empty_store, &test_root );
- x509_validate_chain_fail_ok ( &bad_path_len_chain, test_time,
- &empty_store, &test_root );
-
- /* Check certificate chain expiry times */
- x509_validate_chain_fail_ok ( &server_chain, test_expired,
- &empty_store, &test_root );
- x509_validate_chain_ok ( &useless_chain, test_expired,
- &empty_store, &test_root );
- x509_validate_chain_fail_ok ( &useless_chain, test_ca_expired,
- &empty_store, &test_root );
-
- /* Sanity check */
- assert ( list_empty ( &empty_store.links ) );
-
- /* Drop chain references */
- x509_chain_put ( bad_path_len_chain.chain );
- x509_chain_put ( useless_chain.chain );
- x509_chain_put ( not_ca_chain.chain );
- x509_chain_put ( incomplete_server_chain.chain );
- x509_chain_put ( broken_server_chain.chain );
- x509_chain_put ( server_chain.chain );
-
- /* Drop certificate references */
- x509_put ( bad_path_len_crt.cert );
- x509_put ( not_ca_crt.cert );
- x509_put ( server_crt.cert );
- x509_put ( useless_crt.cert );
- x509_put ( leaf_crt.cert );
- x509_put ( intermediate_crt.cert );
- x509_put ( root_crt.cert );
-}
-
-/** X.509 self-test */
-struct self_test x509_test __self_test = {
- .name = "x509",
- .exec = x509_test_exec,
-};
-
-/* Drag in algorithms required for tests */
-REQUIRING_SYMBOL ( x509_test );
-REQUIRE_OBJECT ( rsa );
-REQUIRE_OBJECT ( sha1 );
-REQUIRE_OBJECT ( sha256 );
-REQUIRE_OBJECT ( ipv4 );
-REQUIRE_OBJECT ( ipv6 );