add data encryption feature
authorgreatim <jaewon81.lim@samsung.com>
Wed, 2 Nov 2016 14:03:27 +0000 (23:03 +0900)
committergreatim <jaewon81.lim@samsung.com>
Wed, 2 Nov 2016 14:03:27 +0000 (23:03 +0900)
add data encryption feature to sdb
 - encryption on / off command
 - encryption message handshaking
 - encryption module

Change-Id: I1868462cc076d332ac1ca58f220205f08ce1312e
Signed-off-by: greatim <jaewon81.lim@samsung.com>
100 files changed:
Makefile
SPC/Inc/CC_API.h [new file with mode: 0755]
SPC/Inc/CC_Constants.h [new file with mode: 0755]
SPC/Inc/CC_Context.h [new file with mode: 0755]
SPC/Inc/CC_Type.h [new file with mode: 0755]
SPC/Inc/CryptoCore.h [new file with mode: 0755]
SPC/Inc/DRMLog.h [new file with mode: 0755]
SPC/Inc/DtcpCTcpSocket.h [new file with mode: 0755]
SPC/Inc/SAKEP.h [new file with mode: 0755]
SPC/Inc/SPCApi.h [new file with mode: 0755]
SPC/Inc/SPC_Table.h [new file with mode: 0755]
SPC/Inc/Util.h [new file with mode: 0755]
SPC/Inc/WhiteBox/SDWAP.h [new file with mode: 0755]
SPC/Inc/WhiteBox/SDWAP_TblGen.h [new file with mode: 0755]
SPC/Inc/WhiteBox/SDWAP_defines.h [new file with mode: 0755]
SPC/Inc/WhiteBox/SWAPv2.h [new file with mode: 0755]
SPC/Inc/WhiteBox/SWAPv2_TblGen.h [new file with mode: 0755]
SPC/Inc/WhiteBox/SWAPv2_defines.h [new file with mode: 0755]
SPC/Inc/Wrapper_common.h [new file with mode: 0755]
SPC/Inc/base/ANSI_x931.h [new file with mode: 0755]
SPC/Inc/base/aes.h [new file with mode: 0755]
SPC/Inc/base/bignum.h [new file with mode: 0755]
SPC/Inc/base/des.h [new file with mode: 0755]
SPC/Inc/base/ecc.h [new file with mode: 0755]
SPC/Inc/base/fast_math.h [new file with mode: 0755]
SPC/Inc/base/hash.h [new file with mode: 0755]
SPC/Inc/base/md5.h [new file with mode: 0755]
SPC/Inc/base/moo.h [new file with mode: 0755]
SPC/Inc/base/pkcs1_v21.h [new file with mode: 0755]
SPC/Inc/base/rc4.h [new file with mode: 0755]
SPC/Inc/base/sha1.h [new file with mode: 0755]
SPC/Inc/base/sha2.h [new file with mode: 0755]
SPC/Inc/base/snow2.h [new file with mode: 0755]
SPC/Inc/drm_macro.h [new file with mode: 0755]
SPC/Inc/middle/cmac.h [new file with mode: 0755]
SPC/Inc/middle/dh.h [new file with mode: 0755]
SPC/Inc/middle/dsa.h [new file with mode: 0755]
SPC/Inc/middle/ecdh.h [new file with mode: 0755]
SPC/Inc/middle/ecdsa.h [new file with mode: 0755]
SPC/Inc/middle/hmac.h [new file with mode: 0755]
SPC/Inc/middle/rng.h [new file with mode: 0755]
SPC/Inc/middle/rsa.h [new file with mode: 0755]
SPC/Inc/middle/symmetric.h [new file with mode: 0755]
SPC/Inc/middle/tdes.h [new file with mode: 0755]
SPC/Src/CC_API.c [new file with mode: 0755]
SPC/Src/DRMLog.c [new file with mode: 0755]
SPC/Src/DtcpCTcpSocket.cpp [new file with mode: 0755]
SPC/Src/SAKEP.cpp [new file with mode: 0755]
SPC/Src/SPCApi.cpp [new file with mode: 0755]
SPC/Src/Util.cpp [new file with mode: 0755]
SPC/Src/WhiteBox/SDWAP.c [new file with mode: 0755]
SPC/Src/WhiteBox/SDWAP_TblGen.c [new file with mode: 0755]
SPC/Src/WhiteBox/SWAPv2.c [new file with mode: 0755]
SPC/Src/WhiteBox/SWAPv2_TblGen.c [new file with mode: 0755]
SPC/Src/base/ANSI_x931.c [new file with mode: 0755]
SPC/Src/base/aes.c [new file with mode: 0755]
SPC/Src/base/bignum.c [new file with mode: 0755]
SPC/Src/base/des.c [new file with mode: 0755]
SPC/Src/base/ecc.c [new file with mode: 0755]
SPC/Src/base/fast_math.c [new file with mode: 0755]
SPC/Src/base/hash.c [new file with mode: 0755]
SPC/Src/base/md5.c [new file with mode: 0755]
SPC/Src/base/moo.c [new file with mode: 0755]
SPC/Src/base/pkcs1_v21.c [new file with mode: 0755]
SPC/Src/base/rc4.c [new file with mode: 0755]
SPC/Src/base/sha1.c [new file with mode: 0755]
SPC/Src/base/sha2.c [new file with mode: 0755]
SPC/Src/base/snow2.c [new file with mode: 0755]
SPC/Src/middle/cmac.c [new file with mode: 0755]
SPC/Src/middle/dh.c [new file with mode: 0755]
SPC/Src/middle/dsa.c [new file with mode: 0755]
SPC/Src/middle/ecdh.c [new file with mode: 0755]
SPC/Src/middle/ecdsa.c [new file with mode: 0755]
SPC/Src/middle/hmac.c [new file with mode: 0755]
SPC/Src/middle/rng.c [new file with mode: 0755]
SPC/Src/middle/rsa.c [new file with mode: 0755]
SPC/Src/middle/symmetric.c [new file with mode: 0755]
SPC/Src/middle/tdes.c [new file with mode: 0755]
SPC/gcc/Makefile [new file with mode: 0755]
SPC/gcc/Makefile.conf [new file with mode: 0755]
SPC/gcc/SPC_Client [new file with mode: 0755]
SPC/gcc/TestCompile [new file with mode: 0755]
SPC/gcc/result.txt [new file with mode: 0755]
SPC/gcc/result2.txt [new file with mode: 0755]
src/SPCManager.cpp [new file with mode: 0755]
src/SPCManager.h [new file with mode: 0755]
src/auto_complete.c
src/command_function.c
src/command_function.h
src/commandline.c
src/common_modules.h
src/encryption.cpp [new file with mode: 0755]
src/encryption.h [new file with mode: 0755]
src/log.h
src/sdb_constants.c
src/sdb_constants.h
src/sdb_map.h
src/sockets.c
src/transport.c
src/transport.h

index 342c96f9823a9fe37c452fdd37ca508ef9059c50..35a307fdd4a9a1d2bd968df8e79c8ebadf187c9f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -6,9 +6,14 @@
 #
 HOST_OS := $(shell uname -s | tr A-Z a-z | cut -d'_' -f1)
 LBITS := $(shell getconf LONG_BIT)
-OBJDIR := bin
+BINDIR := ./bin
 MODULE := sdb
 
+ENCLIB := spc
+ENCLIB_BUILD_PATH := ./SPC/gcc
+ENCLIB_CFLAGS := -I./SPC/Inc
+ENCLIB_LFLAGS := ./SPC/gcc/build/linux/libPAKEClient.a
+
 # sdb host tool
 # =========================================================
 
@@ -43,7 +48,7 @@ ifeq ($(HOST_OS),mingw32)
 endif
 
 
-SDB_SRC_FILES := \
+SDB_SRC_CFILES := \
        src/sdb.c \
        src/transport.c \
        src/transport_local.c \
@@ -69,24 +74,51 @@ SDB_SRC_FILES := \
        src/sdb_map.c \
        src/sdb_messages.c \
        src/adb_auth_host.c
+       
+SDB_SRC_CPPFILES := \
+       src/encryption.cpp \
+       src/SPCManager.cpp
 
 SDB_CFLAGS := -O2 -g -Wall -Wno-unused-parameter
 SDB_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
+SDB_CFLAGS += -DSUPPORT_ENCRYPT
 SDB_CFLAGS += -Iinclude -Isrc
 SDB_CFLAGS += $(LOCAL_CFLAGS)
+SDB_CFLAGS += $(ENCLIB_CFLAGS)
+
 ifeq ($(MAKE_DEBUG),true)
 SDB_CFLAGS += -DMAKE_DEBUG
 endif
 SDB_LFLAGS := $(LOCAL_LFLAGS)
+SDB_LFLAGS += $(ENCLIB_LFLAGS)
 STATIC_LFLAGS := $(LOCAL_STATIC_LFLAGS)
 
+OBJS=${SDB_SRC_CFILES:%.c=%.o} ${SDB_SRC_CPPFILES:%.cpp=%.o}
+
+%.o : %.c
+       @echo "<<< ${<F}"       
+       @$(CC) $(SDB_CFLAGS) $(LOCAL_IFLAGS) -c -o $@ $<
+
+%.o : %.cpp
+       @echo "<<< ${<F}"       
+       @$(CXX) $(SDB_CFLAGS) $(LOCAL_IFLAGS) -c -o $@ $<
+
 all : $(MODULE)
 
-sdb : $(SDB_SRC_FILES)
-       mkdir -p $(OBJDIR)
-       $(CC) $(SDB_CFLAGS) -o $(OBJDIR)/$(MODULE) $(SDB_SRC_FILES) $(LOCAL_IFLAGS) $(SDB_LFLAGS) $(STATIC_LFLAGS)
+$(ENCLIB) :
+       @echo "[[[ $@ ]]]"
+
+$(MODULE) : $(OBJS)
+       @echo ">>> $(ENCLIB)"
+       $(MAKE) -C $(ENCLIB_BUILD_PATH)
+
+       @echo ">>> $@"
+       @mkdir -p $(BINDIR)     
+       $(CXX) -o $(BINDIR)/$@ $^ $(SDB_LFLAGS) $(STATIC_LFLAGS)
 
 clean :
-       rm -rf $(OBJDIR)
+       $(MAKE) -C $(ENCLIB_BUILD_PATH) clean
+       rm -rf src/*.o
+       rm -rf $(BINDIR)
 
        
diff --git a/SPC/Inc/CC_API.h b/SPC/Inc/CC_API.h
new file mode 100755 (executable)
index 0000000..fe46a25
--- /dev/null
@@ -0,0 +1,221 @@
+/**\r
+ * \file       CC_API.h\r
+ * @brief      API of samsung Crypto Library\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jae Heung Lee\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/06\r
+ */\r
+\r
+#ifndef _CRYPTOCORE_API_H\r
+#define _CRYPTOCORE_API_H\r
+\r
+#include "CryptoCore.h"\r
+\r
+\r
+typedef union\r
+{\r
+       SDRM_X931Context        *x931ctx;                               //RNG : ANSI X9.31 Context\r
+       SDRM_MD5Context         *md5ctx;                                //Hash : MD5 Hash Context\r
+       SDRM_SHA1Context        *sha1ctx;                               //Hash : SHA1 Hash Context\r
+       SDRM_SHA224Context      *sha224ctx;                             //Hash : SHA224 Hash Context\r
+       SDRM_SHA256Context      *sha256ctx;                             //Hash : SHA256 Hash Context\r
+#ifndef _OP64_NOTSUPPORTED\r
+       SDRM_SHA384Context      *sha384ctx;                             //Hash : SHA384 Hash Context\r
+       SDRM_SHA512Context      *sha512ctx;                             //Hash : SHA512 Hash Context\r
+#endif //_OP64_NOTSUPPORTED\r
+       SDRM_CMACContext        *cmacctx;                               //MAC : C-MAC Context\r
+       SDRM_HMACContext        *hmacctx;                               //MAC : Hash MAC\r
+       SDRM_DHContext          *dhctx;                                 //Key Exchange : DH Key Exchange Protocol\r
+       SDRM_ECDHContext        *ecdhctx;                               //Key Exchange : EC-DH Key Exchange Protocol\r
+       SDRM_AESContext         *aesctx;                                //Symmetric Encryption : AES Encryption Context\r
+       SDRM_DESContext         *desctx;                                //Symmetric Encryption : DES Encryption Context\r
+       SDRM_TDESContext        *tdesctx;                               //Symmetric Encryption : Triple DES Encryption Context\r
+       SDRM_RC4Context         *rc4ctx;                                //Symmetric Encryption : RC4 Encryption Context\r
+       SDRM_SNOW2Context       *snow2ctx;                              //Symmetric Encryption : SNOW2 Encryption Context\r
+       SDRM_RSAContext         *rsactx;                                //Asymmetric Encryption and Signature : RSA Context\r
+       SDRM_DSAContext         *dsactx;                                //Digital Signature : DSA Signature Context\r
+       SDRM_ECDSAContext       *ecdsactx;                              //Digital Signature : EC-DSA Signature Context\r
+} CryptoCoreCTX;\r
+\r
+\r
+/**\r
+ * @brief      Parameter sturcture\r
+ *\r
+ * Crypto Library¸¦ ½±°Ô »ç¿ëÇϱâ À§ÇØ  »ç¿ëÇϴ Parameter structure\r
+ */\r
+typedef struct _CryptoCoreContainer\r
+{\r
+       int alg;                                                                                                                                                                /**<    Algorithm       */\r
+       CryptoCoreCTX *ctx;                                                                                                                                             /**<    Algorithm       */\r
+       \r
+       // Pseudo Random Number Generation (ANSI X9.17)\r
+       int (*PRNG_seed)  (struct _CryptoCoreContainer *crt, cc_u8 *seed);\r
+       int (*PRNG_get)   (struct _CryptoCoreContainer *crt, cc_u32 bitlength, cc_u8 *data);\r
+       \r
+       // Message Digest (MD5, SHA-1)\r
+       int (*MD_init)    (struct _CryptoCoreContainer *crt);\r
+       int (*MD_update)  (struct _CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen);\r
+       int (*MD_final)   (struct _CryptoCoreContainer *crt, cc_u8 *output);\r
+       int (*MD_getHASH) (struct _CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output);\r
+       \r
+       // Message Authentication Code (CMAC, HMAC MD5, HMAC SHA-1)\r
+       int (*MAC_init)   (struct _CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen);\r
+       int (*MAC_update) (struct _CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen);\r
+       int (*MAC_final)  (struct _CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen);\r
+       int (*MAC_getMAC) (struct _CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+       // Key Exchange (DH, ECDH)\r
+       int (*DH_GenerateParam)         (struct _CryptoCoreContainer *crt, cc_u8* pPrime, cc_u32 nPrimeLen, cc_u8* pGenerator);\r
+       int (*DH_SetParam)                      (struct _CryptoCoreContainer *crt, cc_u8* pPrime, cc_u32 nPrimeLen, cc_u8* nGenerator, cc_u32 nGeneratorLen);\r
+       int (*DH_Gen1stPhaseKey)        (struct _CryptoCoreContainer *crt, cc_u8* pPriv, cc_u8* pPub);\r
+       int (*DH_GenAuthKey)            (struct _CryptoCoreContainer *crt, cc_u8* pPriv, cc_u8* pPub, cc_u8* pSharedSecret);\r
+       int (*ECDH_Gen1stPhaseKey)      (struct _CryptoCoreContainer *crt, cc_u8* pDH_Xk, cc_u8* pDH1stPhaseKey);\r
+       int (*ECDH_GenAuthKey)          (struct _CryptoCoreContainer *crt, cc_u8* pchXk, cc_u8* pchYv, cc_u8* pchKauth);\r
+       \r
+       // Symmetric Encryption (DES, 3DES, AES, RC4, SNOW)\r
+       // mode example : ENC_ECB, DEC_ECB, ENC_CBC, DEC_CBC, ...\r
+       int (*SE_init)    (struct _CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV);\r
+       int (*SE_process) (struct _CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen);\r
+       int (*SE_final)   (struct _CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen);\r
+       // Simple AES Function\r
+       int (*SE_EncryptOneBlock)  (cc_u8 *cipherText, cc_u8 *plainText,        cc_u8 *UserKey);\r
+       int (*SE_DecryptOneBlock)  (cc_u8 *plainText, cc_u8 *cipherText,        cc_u8 *UserKey);\r
+\r
+       // Asymmetric Encryption (RSA, Elgamal, EC-Elgamal)\r
+       int (*AE_encrypt) (struct _CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen);\r
+       int (*AE_decrypt) (struct _CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen);\r
+       int (*AE_decryptByCRT) (struct _CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen);\r
+       \r
+       // Digital Signature (DSA, EC-DSA)\r
+       int (*DS_sign)    (struct _CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen);\r
+       int (*DS_verify)  (struct _CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result);\r
+       int (*DSA_genParam)(\r
+               struct _CryptoCoreContainer *crt, cc_u32 T_Siz,\r
+               cc_u8 *DSA_P_Data, cc_u32 *DSA_P_Len,\r
+               cc_u8 *DSA_Q_Data, cc_u32 *DSA_Q_Len,\r
+               cc_u8 *DSA_G_Data, cc_u32 *DSA_G_Len\r
+       );\r
+       int (*DSA_setParam)(\r
+               struct _CryptoCoreContainer *crt,\r
+               cc_u8 *DSA_P_Data,      cc_u32 DSA_P_Len,\r
+               cc_u8 *DSA_Q_Data,      cc_u32 DSA_Q_Len,\r
+               cc_u8 *DSA_G_Data,      cc_u32 DSA_G_Len\r
+       );\r
+       int (*DSA_genKeypair)(\r
+               struct _CryptoCoreContainer *crt,\r
+               cc_u8 *DSA_Y_Data, cc_u32 *DSA_Y_Len,\r
+               cc_u8 *DSA_X_Data, cc_u32 *DSA_X_Len\r
+       );\r
+       int (*DSA_setKeyPair)(\r
+               struct _CryptoCoreContainer *crt,\r
+               cc_u8 *DSA_Y_Data,      cc_u32 DSA_Y_Len,\r
+               cc_u8 *DSA_X_Data,      cc_u32 DSA_X_Len\r
+       );\r
+\r
+       // RSA Support Functions\r
+       int (*RSA_genKeypair)(\r
+               struct _CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+               cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+               cc_u8* RSA_E_Data,   cc_u32 *RSA_E_Len,\r
+               cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len\r
+       );\r
+       int (*RSA_genKeypairWithE)(\r
+               struct _CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+               cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+               cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+               cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len\r
+       );\r
+       int (*RSA_genKeyDWithPQE)(\r
+               struct _CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+               cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+               cc_u8* RSA_P_Data,   cc_u32 RSA_P_Len,\r
+               cc_u8* RSA_Q_Data,   cc_u32 RSA_Q_Len,\r
+               cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+               cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len\r
+       );\r
+       int (*RSA_setKeypair)(\r
+               struct _CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+               cc_u8* RSA_N_Data,   cc_u32 RSA_N_Len,\r
+               cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+               cc_u8* RSA_D_Data,   cc_u32 RSA_D_Len\r
+       );\r
+       int (*RSA_setKeypairForCRT)(\r
+               struct _CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+               cc_u8* RSA_N_Data,   cc_u32 RSA_N_Len,\r
+               cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+               cc_u8* RSA_D_Data,   cc_u32 RSA_D_Len,\r
+               cc_u8* RSA_P_Data,   cc_u32 RSA_P_Len,\r
+               cc_u8* RSA_Q_Data,   cc_u32 RSA_Q_Len,\r
+               cc_u8* RSA_DmodP1_Data,   cc_u32 RSA_DmodP1_Len,\r
+               cc_u8* RSA_DmodQ1_Data,   cc_u32 RSA_DmodQ1_Len,\r
+               cc_u8* RSA_iQmodP_Data,   cc_u32 RSA_iQmodP_Len\r
+       );\r
+\r
+       // ECC Support Functions (EC-DSA, EC-Dlgamal)\r
+       int (*EC_setCurve)(\r
+               struct _CryptoCoreContainer *crt, cc_u16 Dimension, \r
+               cc_u8* ECC_P_Data,   cc_u32 ECC_P_Len,\r
+               cc_u8* ECC_A_Data,   cc_u32 ECC_A_Len,\r
+               cc_u8* ECC_B_Data,   cc_u32 ECC_B_Len,\r
+               cc_u8* ECC_G_X_Data, cc_u32 ECC_G_X_Len,\r
+               cc_u8* ECC_G_Y_Data, cc_u32 ECC_G_Y_Len,\r
+               cc_u8* ECC_R_Data,   cc_u32 ECC_R_Len\r
+       );\r
+       int (*EC_genKeypair)(\r
+               struct _CryptoCoreContainer *crt,\r
+               cc_u8 *PrivateKey,  cc_u32 *PrivateKeyLen, \r
+               cc_u8 *PublicKey_X, cc_u32 *PublicKey_XLen,\r
+               cc_u8 *PublicKey_Y, cc_u32 *PublicKey_YLen\r
+       );\r
+       int (*EC_setKeypair)(\r
+               struct _CryptoCoreContainer *crt,\r
+               cc_u8* PRIV_Data,  cc_u32 PRIV_Len,\r
+               cc_u8* PUB_X_Data, cc_u32 PUB_X_Len,\r
+               cc_u8* PUB_Y_Data, cc_u32 PUB_Y_Len\r
+       );\r
+\r
+} CryptoCoreContainer;\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         create_CryptoCoreContainer\r
+ * @brief      memory allocation and initialize the CryptoCoreContainer sturcture\r
+ *\r
+ * @param      algorithm       [in]algorithm want to use\r
+ *\r
+ * @return     address of created sturcture\r
+ */\r
+CRYPTOCORE_INTERNAL CryptoCoreContainer ECRYPTO_API *create_CryptoCoreContainer(cc_u32 algorithm);\r
+\r
+/*\r
+ * @fn         destroy_CryptoCoreContainer\r
+ * @brief      free allocated memory\r
+ *\r
+ * @param      crt             [in]CryptoCoreContainer context\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void ECRYPTO_API destroy_CryptoCoreContainer(CryptoCoreContainer* crt);\r
+\r
+/*\r
+ * @fn         CCMalloc\r
+ * @brief      memory allocation and initialize for CryptoCore\r
+ *\r
+ * @param      crt             [in]size\r
+ */\r
+CRYPTOCORE_INTERNAL void ECRYPTO_API *CCMalloc(int siz);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/CC_Constants.h b/SPC/Inc/CC_Constants.h
new file mode 100755 (executable)
index 0000000..b9e84df
--- /dev/null
@@ -0,0 +1,159 @@
+/**\r
+ * \file       CC_Constants.h\r
+ * @brief      define constants for crypto library\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon, Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/09/28\r
+ * $Id$\r
+ */\r
+\r
+#ifndef _DRM_CONSTANTS_H\r
+#define _DRM_CONSTANTS_H\r
+\r
+#define SDRM_SHIFT_HALF                16                      /**<    common value at both of 32-bit and 64-bit machine       */\r
+#define SDRM_HIGH_HALF(A)      ((A) >> SDRM_SHIFT_HALF)\r
+#define SDRM_LOW_HALF(A)       ((A) & ((1 << SDRM_SHIFT_HALF) - 1))\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Algorithm Identifier\r
+////////////////////////////////////////////////////////////////////////////\r
+enum CryptoAlgorithm {\r
+       /*!     @brief  RNG Module      */\r
+       ID_X931                                                         = 1011,\r
+\r
+       /*!     @brief  Hash Algorithms */\r
+       ID_MD5                                                          = 1021,\r
+       ID_SHA1                                                         = 1022,\r
+       ID_SHA160                                                       = 1022,\r
+       ID_SHA256                                                       = 1023,\r
+#ifndef _OP64_NOTSUPPORTED\r
+       ID_SHA384                                                       = 1024,\r
+       ID_SHA512                                                       = 1025,\r
+#endif //_OP64_NOTSUPPORTED\r
+       ID_SHA224                                                       = 1026,\r
+\r
+       /*!     @brief  MAC Algorithms  */\r
+       ID_CMAC                                                         = 1031,\r
+       ID_HMD5                                                         = 1032,\r
+       ID_HSHA1                                                        = 1033,\r
+       ID_HSHA160                                                      = 1033,\r
+       ID_HSHA256                                                      = 1034,\r
+#ifndef _OP64_NOTSUPPORTED\r
+       ID_HSHA384                                                      = 1035,\r
+       ID_HSHA512                                                      = 1036,\r
+#endif //_OP64_NOTSUPPORTED\r
+       ID_HSHA224                                                      = 1037,\r
+\r
+       /*!     @brief  Symmetric Encryption Algorithms */\r
+       ID_AES                                                          = 1041,\r
+       ID_AES128                                                       = 1041,\r
+       ID_AES192                                                       = 1047,\r
+       ID_AES256                                                       = 1048,\r
+       ID_DES                                                          = 1042,\r
+       ID_TDES                                                         = 1043,\r
+       ID_TDES_EDE2                                            = 1043,\r
+       ID_TDES_EDE3                                            = 1044,\r
+       ID_RC4                                                          = 1045,\r
+       ID_SNOW2                                                        = 1046,\r
+\r
+       /*!     @brief  Asymmetric Encryption Algorithms        */\r
+       ID_RSA                                                          = 1051,\r
+       ID_RSA512                                                       = 1057,\r
+       ID_RSA1024                                                      = 1054,\r
+       ID_RSA2048                                                      = 1055,\r
+       ID_RSA3072                                                      = 1056,\r
+       ID_ELGAMAL                                                      = 1052,\r
+       ID_ECELGAMAL                                            = 1053,\r
+\r
+       /*!     @brief  Signature Algorithms    */\r
+       ID_DSA                                                          = 1061,\r
+       ID_ECDSA                                                        = 1062,\r
+\r
+       /*!     @brief  Key Exchange Algorithms */\r
+       ID_DH                                                           = 1071,\r
+       ID_ECDH                                                         = 1072,\r
+\r
+       /*!     @brief  Encryption/Decryption Mode of Operations        */\r
+       ID_ENC_ECB                                                      = 1111,\r
+       ID_ENC_CBC                                                      = 1112,\r
+       ID_ENC_CFB                                                      = 1113,\r
+       ID_ENC_OFB                                                      = 1114,\r
+       ID_ENC_CTR                                                      = 1115,\r
+\r
+       ID_DEC_ECB                                                      = 1121,\r
+       ID_DEC_CBC                                                      = 1122,\r
+       ID_DEC_CFB                                                      = 1123,\r
+       ID_DEC_OFB                                                      = 1124,\r
+       ID_DEC_CTR                                                      = 1125,\r
+\r
+       /*!     @brief  Symmetric Encryption/Decryption Padding Methods         */\r
+       ID_PKCS5                                                        = 1201,\r
+       ID_SSL_PADDING                                          = 1202,\r
+       ID_ZERO_PADDING                                         = 1203,\r
+       ID_NO_PADDING                                           = 1204,\r
+\r
+       /*!     @brief  Asymmetric Encryption/Decryption Padding Methods        */\r
+       ID_RSAES_PKCS15                                         = 1131,\r
+\r
+       ID_RSAES_OAEP                                           = 1132,\r
+       ID_RSAES_OAEP_MD5                                       = ID_RSAES_OAEP + (ID_MD5 << SDRM_SHIFT_HALF),\r
+       ID_RSAES_OAEP_SHA1                                      = ID_RSAES_OAEP + (ID_SHA1 << SDRM_SHIFT_HALF),\r
+       ID_RSAES_OAEP_SHA160                            = ID_RSAES_OAEP + (ID_SHA160 << SDRM_SHIFT_HALF),\r
+       ID_RSAES_OAEP_SHA256                            = ID_RSAES_OAEP + (ID_SHA256 << SDRM_SHIFT_HALF),\r
+#ifndef _OP64_NOTSUPPORTED\r
+       ID_RSAES_OAEP_SHA384                            = ID_RSAES_OAEP + (ID_SHA384 << SDRM_SHIFT_HALF),\r
+       ID_RSAES_OAEP_SHA512                            = ID_RSAES_OAEP + (ID_SHA512 << SDRM_SHIFT_HALF),\r
+#endif\r
+\r
+       ID_RSASSA_PKCS15                                        = 1133,\r
+       ID_RSASSA_PKCS15_MD5                            = ID_RSASSA_PKCS15 + (ID_MD5 << SDRM_SHIFT_HALF),\r
+       ID_RSASSA_PKCS15_SHA1                           = ID_RSASSA_PKCS15 + (ID_SHA1 << SDRM_SHIFT_HALF),\r
+       ID_RSASSA_PKCS15_SHA160                         = ID_RSASSA_PKCS15 + (ID_SHA160 << SDRM_SHIFT_HALF),\r
+       ID_RSASSA_PKCS15_SHA256                         = ID_RSASSA_PKCS15 + (ID_SHA256 << SDRM_SHIFT_HALF),\r
+#ifndef _OP64_NOTSUPPORTED\r
+       ID_RSASSA_PKCS15_SHA384                         = ID_RSASSA_PKCS15 + (ID_SHA384 << SDRM_SHIFT_HALF),\r
+       ID_RSASSA_PKCS15_SHA512                         = ID_RSASSA_PKCS15 + (ID_SHA512 << SDRM_SHIFT_HALF),\r
+#endif\r
+\r
+       ID_RSASSA_PSS                                           = 1134,\r
+       ID_RSASSA_PSS_MD5                                       = ID_RSASSA_PSS + (ID_MD5 << SDRM_SHIFT_HALF),\r
+       ID_RSASSA_PSS_SHA1                                      = ID_RSASSA_PSS + (ID_SHA1 << SDRM_SHIFT_HALF),\r
+       ID_RSASSA_PSS_SHA160                            = ID_RSASSA_PSS + (ID_SHA160 << SDRM_SHIFT_HALF),\r
+       ID_RSASSA_PSS_SHA256                            = ID_RSASSA_PSS + (ID_SHA256 << SDRM_SHIFT_HALF),\r
+#ifndef _OP64_NOTSUPPORTED\r
+       ID_RSASSA_PSS_SHA384                            = ID_RSASSA_PSS + (ID_SHA384 << SDRM_SHIFT_HALF),\r
+       ID_RSASSA_PSS_SHA512                            = ID_RSASSA_PSS + (ID_SHA512 << SDRM_SHIFT_HALF)\r
+#endif\r
+};\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Constants Definitions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*!    @brief  Endianness      */\r
+#define CRYPTO_LITTLE_ENDIAN                   0\r
+#define CRYPTO_BIG_ENDIAN                              1\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Crypto Error Code\r
+////////////////////////////////////////////////////////////////////////////\r
+#define CRYPTO_SUCCESS                                 0                               /**<    no error is occured     */\r
+#define CRYPTO_ERROR                                   -3000                   /**<    error is occured        */\r
+#define CRYPTO_MEMORY_ALLOC_FAIL               -3001                   /**<    malloc is failed        */\r
+#define CRYPTO_NULL_POINTER                            -3002                   /**<    parameter is null pointer       */\r
+#define CRYPTO_INVALID_ARGUMENT                        -3003                   /**<    argument is not correct */\r
+#define CRYPTO_MSG_TOO_LONG                            -3004                   /**<    length of input message is too long     */\r
+#define CRYPTO_VALID_SIGN                              CRYPTO_SUCCESS  /**<    valid sign      */\r
+#define CRYPTO_INVALID_SIGN                            -3011                   /**<    invalid sign    */\r
+#define CRYPTO_ISPRIME                                 CRYPTO_SUCCESS  /**<    prime number    */\r
+#define CRYPTO_INVERSE_NOT_EXIST               -3012                   /**<    inverse is no exists    */\r
+#define CRYPTO_NEGATIVE_INPUT                  -3013                   /**<    argument is negative    */\r
+#define CRYPTO_INFINITY_INPUT                  -3014                   /**<    input is infinity       */\r
+#define CRYPTO_BUFFER_TOO_SMALL                        -3015                   /**<    buffer to small */\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/CC_Context.h b/SPC/Inc/CC_Context.h
new file mode 100755 (executable)
index 0000000..7fa6f79
--- /dev/null
@@ -0,0 +1,387 @@
+/**\r
+ * \file       CC_Context.h\r
+ * @brief      context definitions for samsung Crypto Library\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon, Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/07\r
+ */\r
+\r
+#ifndef _DRM_CONTEXT_H\r
+#define _DRM_CONTEXT_H\r
+\r
+#include "CC_Type.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for Big Number Operation\r
+////////////////////////////////////////////////////////////////////////////\r
+/**\r
+ * @brief      Big number structure\r
+ *\r
+ * used for big number representation\r
+ */\r
+typedef struct {                                               \r
+       cc_u32 sign;                                            /**<    0 for positive, 1 for negative number   */\r
+       cc_u32 Length;                                          /**<    number of valid integers                                */\r
+       cc_u32 Size;                                            /**<    unsigned long size of allocated memory  */\r
+       cc_u32 *pData;                                          /**<    unsigned long array                                     */\r
+} SDRM_BIG_NUM;\r
+\r
+/**\r
+ * @brief      Parameter sturcture\r
+ *\r
+ * Montgomery ¾Ë°í¸®ÁòÀ» »ç¿ëÇϱâ À§ÇØ »ç¿ëÇϴ Parameter structure\r
+ */\r
+typedef struct {                                               /**<    Structure to keep parameters for Montgomery     */\r
+       cc_u32  ri;                                                     /**<    Length of Modulus                                                       */\r
+       SDRM_BIG_NUM    *R;                                     /**<    R^2 mod m                                                                       */\r
+       SDRM_BIG_NUM    *Mod;                           /**<    modulus                                                                         */\r
+       SDRM_BIG_NUM    *Inv_Mod;                       /**<    Inverse of Modulus                                                      */\r
+       cc_u32  N0;                                                     /**<    m'                                                                                      */\r
+} SDRM_BIG_MONT;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for Elliptic Curve Crypto System\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_ECC_BN_BUFSIZE                    19                              //allows max 256 bit curve(uint32_len * 2 + 3)\r
+#define SDRM_ECC_ALLOC_SIZE                    (sizeof(SDRM_BIG_NUM) + SDRM_ECC_BN_BUFSIZE * SDRM_SIZE_OF_DWORD)\r
+\r
+/**\r
+ * @brief      EC Point structure\r
+ *\r
+ * used for representation of one point at ECC curve\r
+ */\r
+typedef struct {\r
+               cc_u32                  IsInfinity;             /**<    if infinity , then 1  else 0            */\r
+               SDRM_BIG_NUM    *x;                             /**<    prime(1024 + 128i bits i=0..8)          */\r
+               SDRM_BIG_NUM    *y;                             /**<    subprime(128 + 32j bits j=0..4)         */\r
+               SDRM_BIG_NUM    *z;\r
+               SDRM_BIG_NUM    *z2;\r
+               SDRM_BIG_NUM    *z3;\r
+} SDRM_EC_POINT;\r
+\r
+/**\r
+ * @brief      ECC Context structure\r
+ *\r
+ * used for parameters for ECC curve\r
+ */\r
+typedef struct {\r
+               cc_u32                          uDimension;             /**<    Dimension                       */\r
+               SDRM_BIG_NUM            *ECC_p;                 /**<    GF(p)                           */\r
+               SDRM_BIG_NUM            *ECC_a;                 /**<    y^2 = x^3 + ax + b      */\r
+               SDRM_BIG_NUM            *ECC_b;\r
+               SDRM_BIG_NUM            *ECC_n;                 /**<    order of base point     */\r
+               SDRM_EC_POINT           *ECC_G;                 /**<    Base point                      */\r
+               SDRM_BIG_NUM            *PRIV_KEY;              /**<    private key                     */\r
+               SDRM_EC_POINT           *PUBLIC_KEY; \r
+} SDRM_ECC_CTX;\r
+\r
+typedef SDRM_ECC_CTX           SDRM_ECDSAContext;\r
+typedef SDRM_ECC_CTX           SDRM_ECELContext;\r
+typedef SDRM_ECC_CTX           SDRM_ECDHContext;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for ANSI X9.31 PRNG\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_X931_SEED_SIZ             16\r
+\r
+/**\r
+ * @brief      X931 Context structure\r
+ *\r
+ * used for maintain seed vaule for random number generation\r
+ */\r
+typedef struct {\r
+       cc_u8 Seed[SDRM_X931_SEED_SIZ];                 /**<    Seed                    */\r
+} SDRM_X931Context;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for AES-128\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_AES_BLOCK_SIZ     16\r
+\r
+/**\r
+ * @brief      AES Context structure\r
+ *\r
+ * used for aes parameters\r
+ */\r
+typedef struct {\r
+       cc_u32  moo;                                                    /**<    mode of operations              */\r
+       cc_u32  padding;                                                /**<    padding method                  */\r
+       cc_u8   IV[SDRM_AES_BLOCK_SIZ];                 /**<    Initial Vector                  */\r
+       cc_u8   Block[SDRM_AES_BLOCK_SIZ];              /**<    remained msg block              */\r
+       cc_u32  BlockLen;                                               /**<    length of Block                 */\r
+       cc_u8   RoundKey[16*(14 + 1)];                  /**<    round key                               */\r
+       cc_u32  CTR_Count;                                              /**<    counter for CTR mode    */\r
+} SDRM_AESContext;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for SHA-1\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_SHA1_BLOCK_SIZ            20\r
+#define SDRM_SHA1_DATA_SIZE            64\r
+/**\r
+ * @brief      SHA1 Context structure\r
+ *\r
+ * used for SHA1 parameters\r
+ */\r
+typedef struct {\r
+       cc_u32 digest[SDRM_SHA1_BLOCK_SIZ / 4];         /**<    Message digest          */\r
+       cc_u32 countLo, countHi;                                        /**<    64-bit bit count        */\r
+       cc_u32 data[16];                                                        /**<    SHS data buffer         */\r
+       int Endianness;\r
+} SDRM_SHA1Context;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for SHA-256\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_SHA256_BLOCK_SIZ          32\r
+#define SDRM_SHA256_DATA_SIZE          (512 / 8)\r
+/**\r
+ * @brief      SHA256 Context structure\r
+ *\r
+ * used for SHA256 parameters\r
+ */\r
+typedef struct {\r
+    cc_u32 tot_len;\r
+    cc_u32 len;\r
+    cc_u8 block[2 * SDRM_SHA256_DATA_SIZE];\r
+    cc_u32 h[8];\r
+} SDRM_SHA256Context;\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for SHA-384\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_SHA384_BLOCK_SIZ          48\r
+#define SDRM_SHA384_DATA_SIZE          (1024 / 8)\r
+/**\r
+ * @brief      SHA384 Context structure\r
+ *\r
+ * used for SHA384 parameters\r
+ */\r
+typedef struct {\r
+    cc_u32 tot_len;\r
+    cc_u32 len;\r
+    cc_u8 block[2 * SDRM_SHA384_DATA_SIZE];\r
+    cc_u64 h[8];\r
+} SDRM_SHA384Context;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for SHA-512\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_SHA512_BLOCK_SIZ          64\r
+#define SDRM_SHA512_DATA_SIZE          SDRM_SHA384_DATA_SIZE\r
+/**\r
+ * @brief      SHA512 Context structure\r
+ *\r
+ * used for SHA512 parameters\r
+ */\r
+typedef SDRM_SHA384Context SDRM_SHA512Context;\r
+\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for SHA-224\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_SHA224_BLOCK_SIZ          28\r
+#define SDRM_SHA224_DATA_SIZE          SDRM_SHA256_DATA_SIZE\r
+/**\r
+ * \brief      SHA224 Context structure\r
+ *\r
+ * used for SHA224 parameters\r
+ */\r
+typedef SDRM_SHA256Context SDRM_SHA224Context;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for MD5\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_MD5_BLOCK_SIZ             16\r
+#define SDRM_MD5_DATA_SIZE             64\r
+/**\r
+ * @brief      MD5 Context structure\r
+ *\r
+ * used for MD5 parameters\r
+ */\r
+typedef struct {\r
+       cc_u32  state[4];                                                       /**<    state *ABCD                                                             */\r
+       cc_u32  count[2];                                                       /**<    number of bits, modulo 2^64 (lsb first) */\r
+       cc_u8   buffer[64];                                                     /**<    input buffer                                                    */\r
+} SDRM_MD5Context;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for C-MAC Generation\r
+////////////////////////////////////////////////////////////////////////////\r
+/**\r
+ * @brief      C-MAC Context structure\r
+ *\r
+ * used for aes parameters\r
+ */\r
+typedef struct {\r
+       cc_u8   IV[SDRM_AES_BLOCK_SIZ];                 /**<    Initial Vector          */\r
+       cc_u8   Block[SDRM_AES_BLOCK_SIZ];              /**<    remained msg block      */\r
+       cc_u32  BlockLen;                                                       /**<    length of Block         */\r
+       cc_u8   K1[SDRM_AES_BLOCK_SIZ];\r
+       cc_u8   K2[SDRM_AES_BLOCK_SIZ];\r
+       cc_u8   RoundKey[16*(10 + 1)];\r
+} SDRM_CMACContext;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for H-MAC Generation\r
+////////////////////////////////////////////////////////////////////////////\r
+/**\r
+ * @brief      C-MAC Context structure\r
+ *\r
+ * used for aes parameters\r
+ */\r
+typedef struct {\r
+       cc_u32                          algorithm;                              /**<    algorithm                       */\r
+       SDRM_SHA1Context        *sha1_ctx;                              /**<    SHA-160 context         */\r
+       SDRM_SHA224Context      *sha224_ctx;                    /**<    SHA-224 context         */\r
+       SDRM_SHA256Context      *sha256_ctx;                    /**<    SHA-256 context         */\r
+#ifndef _OP64_NOTSUPPORTED\r
+       SDRM_SHA384Context      *sha384_ctx;                    /**<    SHA-384 context         */\r
+       SDRM_SHA512Context      *sha512_ctx;                    /**<    SHA-512 context         */\r
+#endif //_OP64_NOTSUPPORTED\r
+       SDRM_MD5Context         *md5_ctx;                               /**<    MD5 context                     */\r
+\r
+       cc_u32                          B;\r
+       cc_u8                           *k0;\r
+} SDRM_HMACContext;\r
+\r
+////////////////////////////////////////////////////////////////////\r
+// constant & context for RSA\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_RSA_BN_BUFSIZE            (RSA_KeyByteLen / 2 + 1)\r
+#define SDRM_RSA_ALLOC_SIZE            (sizeof(SDRM_BIG_NUM) + SDRM_RSA_BN_BUFSIZE * SDRM_SIZE_OF_DWORD)\r
+\r
+/**\r
+ * @brief      RSA Context structure\r
+ *\r
+ * used for rsa parameters\r
+ */\r
+typedef struct {\r
+       SDRM_BIG_NUM* n;                                        /**<    n value         */\r
+       SDRM_BIG_NUM* e;                                        /**<    public key      */\r
+       SDRM_BIG_NUM* d;                                        /**<    private key     */\r
+       SDRM_BIG_NUM* p;                                        /**<    p                       */\r
+       SDRM_BIG_NUM* q;                                        /**<    q                       */\r
+       SDRM_BIG_NUM* dmodp1;                           /**<    d mod p-1       */\r
+       SDRM_BIG_NUM* dmodq1;                           /**<    d mod q-1       */\r
+       SDRM_BIG_NUM* iqmodp;                           /**<    q^-1 mod p      */\r
+\r
+       cc_u32  crt_operation;                          /**<    CRT Algorithm indicator */\r
+       cc_u32  k;                                                      /**<    byte-length of n        */\r
+       cc_u32  pm;                                                     /**<    padding method          */\r
+       cc_u32  hash_algorithm;                         /**<    used hash algorithm for pkcs padding    */\r
+} SDRM_RSAContext;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for DSA\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_DSA_BN_BUFSIZE                    (128 / 2 + 1)\r
+#define SDRM_DSA_ALLOC_SIZE                    (sizeof(SDRM_BIG_NUM) + SDRM_DSA_BN_BUFSIZE * SDRM_SIZE_OF_DWORD)\r
+\r
+/**\r
+ * @brief      Parameter sturcture\r
+ *\r
+ * used for DSA parameters\r
+ */\r
+typedef struct {\r
+       SDRM_BIG_NUM* p;                                        /**<    'p' value - prime modulus       */\r
+       SDRM_BIG_NUM* q;                                        /**<    'q' value - prime Divisor       */\r
+       SDRM_BIG_NUM* al;                                       /**<    'alpha' value - generator       */\r
+       SDRM_BIG_NUM* y;                                        /**<    'y' value - public key          */\r
+       SDRM_BIG_NUM* a;                                        /**<    'a' value - private key         */\r
+} SDRM_DSAContext;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for RC4\r
+////////////////////////////////////////////////////////////////////////////\r
+typedef struct {\r
+       cc_u32 keyLen;\r
+\r
+       cc_u32  i;\r
+       cc_u32  j;\r
+\r
+       cc_u8   s[256];\r
+       cc_u8   key[32];\r
+} SDRM_RC4Context;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for SNOW2\r
+////////////////////////////////////////////////////////////////////////////\r
+typedef struct {\r
+       cc_u32  s[16];\r
+       cc_u32  r1;\r
+       cc_u32  r2;\r
+       cc_u32  keyStream;\r
+       cc_u32  usedKeyLen;\r
+\r
+       cc_u32  t;\r
+       cc_u32  endian;                                 //0 if little endian, 1 if bigendian\r
+\r
+} SDRM_SNOW2Context;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for DES\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_DES_BLOCK_SIZ     8\r
+\r
+/**\r
+ * @brief      DES Context structure\r
+ *\r
+ * used for aes parameters\r
+ */\r
+typedef struct {\r
+       cc_u32  moo;                                                    //mode of operations\r
+       cc_u32  padding;\r
+       cc_u8   IV[SDRM_DES_BLOCK_SIZ];                         //Initial Vector\r
+       cc_u8   UserKey[SDRM_DES_BLOCK_SIZ];\r
+       cc_u8   Block[SDRM_DES_BLOCK_SIZ];\r
+       cc_u32  BlockLen;\r
+       cc_u32  RoundKey[16][2];                                //each round key, expanded\r
+       cc_u32  CTR_Count;\r
+} SDRM_DESContext;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for Triple DES\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_TDES_BLOCK_SIZ    SDRM_DES_BLOCK_SIZ\r
+\r
+/**\r
+ * @brief      DES Context structure\r
+ *\r
+ * used for aes parameters\r
+ */\r
+typedef struct {\r
+       cc_u32  moo;                                                    //mode of operations\r
+       cc_u32  padding;\r
+       cc_u8   IV[SDRM_DES_BLOCK_SIZ];                         //Initial Vector\r
+       cc_u8   UserKey[SDRM_DES_BLOCK_SIZ * 3];\r
+       cc_u8   Block[SDRM_DES_BLOCK_SIZ];\r
+       cc_u32  BlockLen;\r
+       cc_u32  RoundKey[48][2];                                //each round key, expanded\r
+       cc_u32  CTR_Count;\r
+} SDRM_TDESContext;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for Deffie-Hellman protocol\r
+////////////////////////////////////////////////////////////////////////////\r
+/**\r
+ * @brief      Diffie-Hellman Context structure\r
+ *\r
+ * used for dh parameters\r
+ */\r
+typedef struct {\r
+       unsigned int PrimeLen;                          /**<    length of prime */\r
+       SDRM_BIG_NUM* p;                                        /**<    Prime                   */\r
+       SDRM_BIG_NUM* g;                                        /**<    generator               */\r
+} SDRM_DHContext;\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/CC_Type.h b/SPC/Inc/CC_Type.h
new file mode 100755 (executable)
index 0000000..65e34dd
--- /dev/null
@@ -0,0 +1,49 @@
+/**\r
+ * \file       CC_Type.h\r
+ * @brief      data types for CryptoCore library\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2008/08/26\r
+ */\r
+\r
+#ifndef _CC_TYPE_H_\r
+#define _CC_TYPE_H_\r
+\r
+//remove symbol \r
+\r
+#ifndef _WIN\r
+\r
+#define CRYPTOCORE_INTERNAL  __attribute__((visibility("hidden")))\r
+#else\r
+       //#define #define CRYPTOCORE_INTERNAL  __attribute__((visibility("hidden")))  \r
+       #define CRYPTOCORE_INTERNAL \r
+#endif\r
+\r
+\r
+/*!    @brief  1-byte data type        */\r
+typedef                unsigned char                                           cc_u8;\r
+\r
+/*!    @brief  2-byte data type        */\r
+typedef                unsigned short                                          cc_u16;\r
+\r
+/*!    @brief  4-byte data type        */\r
+typedef                unsigned int                                            cc_u32;\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+\r
+/*!    @brief  8-byte data type        */\r
+#ifdef _WIN32\r
+       typedef         unsigned __int64                                cc_u64;\r
+#else\r
+       typedef         unsigned long long                              cc_u64;\r
+#endif         //_WIN32\r
+\r
+#endif         //_OP64_NOTSUPPORTED\r
+\r
+#endif         //_CC_TYPE_H_\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/CryptoCore.h b/SPC/Inc/CryptoCore.h
new file mode 100755 (executable)
index 0000000..1217619
--- /dev/null
@@ -0,0 +1,51 @@
+/**\r
+ * \file       CryptoCore.h\r
+ * @brief      main header file of crypto library\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : \r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/08/02\r
+ */\r
+\r
+#ifndef _CRYPTOCORE_H\r
+#define _CRYPTOCORE_H\r
+\r
+#ifdef _USRDLL\r
+       #if defined(CRYPTOLIB_EXPORTS)\r
+               #define ECRYPTO_API __declspec(dllexport)\r
+       #elif defined(CRYPTOLIB_IMPORTS)\r
+               #define ECRYPTO_API __declspec(dllimport)\r
+       #else\r
+               #define ECRYPTO_API\r
+       #endif\r
+#else\r
+       #define ECRYPTO_API\r
+#endif\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Header File Include\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <stdlib.h>\r
+#include <string.h>\r
+#include "CC_Type.h"\r
+#include "drm_macro.h"\r
+#include "CC_Constants.h"\r
+#include "CC_Context.h"\r
+\r
+#ifdef _WIN32_WCE\r
+       #include <Winbase.h>\r
+#else\r
+       #include <time.h>\r
+#endif\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Global Variable\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
+\r
diff --git a/SPC/Inc/DRMLog.h b/SPC/Inc/DRMLog.h
new file mode 100755 (executable)
index 0000000..2b26ae6
--- /dev/null
@@ -0,0 +1,101 @@
+#ifndef _DRMLOG_H_\r
+#define _DRMLOG_H_\r
+\r
+#include <stdio.h>\r
+#include <stdarg.h>\r
+#include <string.h>\r
+\r
+#ifdef _MSC_VER\r
+       #ifdef DRMLOG_EXPORTS\r
+               #define DRMLOG_API __declspec(dllexport) __cdecl\r
+       #elif defined(DRMLOG_DLL)\r
+               #define DRMLOG_API __declspec(dllimport) __cdecl\r
+       #else\r
+               #define DRMLOG_API __cdecl\r
+       #endif\r
+#elif __linux\r
+               #define DRMLOG_API\r
+#else\r
+               #define DRMLOG_API __attribute__((cdecl))\r
+#endif\r
+\r
+#define LOG_BUFFER_LEN         1024\r
+\r
+typedef struct\r
+{\r
+       FILE* file;\r
+       int level;\r
+       int format;\r
+} DRMLOG_CTX;\r
+\r
+\r
+/* Log level */\r
+typedef enum\r
+{\r
+       LOG_DEBUG       = 1,\r
+       LOG_INFO        = 2,\r
+       LOG_WARN        = 3,\r
+       LOG_ERROR       = 4,\r
+       LOG_FATAL       = 5\r
+} DRMLOG_LEVEL;\r
+\r
+\r
+/* Constants for logging format */\r
+typedef enum\r
+{\r
+       LOG_FORMAT_LEVEL        = 0x0001,\r
+       LOG_FORMAT_TICK         = 0x0002,\r
+       LOG_FORMAT_TIME         = 0x0004,\r
+       LOG_FORMAT_FILE         = 0x0008,\r
+       LOG_FORMAT_ALL          = 0x000F\r
+} DRMLOG_FORMAT;\r
+\r
+/* Macro Functions */\r
+//#define DRMLOG_Msg(CTX, LEV, ...) DRMLOG_Message(CTX, LEV, __FILE__, __LINE__, __VA_ARGS__)\r
+#define DRMLOG_Msg(CTX, LEV, ...)                              DRMLOG_Message(CTX, LEV, __FILE__, __LINE__, ##__VA_ARGS__)\r
+#define DRMLOG_Hexa(CTX, LEV, MSG, BUF, LEN)   DRMLOG_HexaBytes(CTX, LEV, __FILE__, __LINE__, MSG, BUF, LEN)\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*! \brief Set log format\r
+ * \param ctx log context\r
+ * \param format log format(Ex. "LOG_FORMAT_LEVEL | LOG_FORMAT_TIME")\r
+ */\r
+void DRMLOG_API DRMLOG_SetFormat(DRMLOG_CTX* ctx, int format);\r
+\r
+/*! \brief Set logging level\r
+ * \param ctx log context\r
+ * \param level logging level\r
+ */\r
+void DRMLOG_API DRMLOG_SetLevel(DRMLOG_CTX* ctx, int level);\r
+\r
+/*! \brief Set \c FILE* to be written log strings\r
+ * \param ctx log context\r
+ * \param stream Destination \c FILE*. \c stdout can be used\r
+ */\r
+void DRMLOG_API DRMLOG_SetOutput(DRMLOG_CTX* ctx, FILE* output_file);\r
+\r
+/*! \brief Log a message\r
+ * \param ctx log context\r
+ * \param level logging level\r
+ * \param format [IN] formatted string like printf followed by variable number of arguments\r
+ */\r
+void DRMLOG_API DRMLOG_Message(DRMLOG_CTX* ctx, int level, const char* file_name, int line_number, const char* format, ...);\r
+\r
+/*! \brief Log a byte array in hexadecimal format\r
+ * \param ctx log context\r
+ * \param level logging level\r
+ * \param szMsg [IN] null-terminated string for short description\r
+ * \param bytes [IN] Pointer to buffer to print\r
+ * \param len length of \a bytes in bytes\r
+ */\r
+void DRMLOG_API DRMLOG_HexaBytes(DRMLOG_CTX* ctx, int level, const char* file_name, int line_number, \r
+                                                                const char* szMsg, const unsigned char* bytes, int len);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _DRMLOG_H_\r
diff --git a/SPC/Inc/DtcpCTcpSocket.h b/SPC/Inc/DtcpCTcpSocket.h
new file mode 100755 (executable)
index 0000000..ad41511
--- /dev/null
@@ -0,0 +1,266 @@
+/**\r
+ * \file       DtcpCTcpSocket.h\r
+ * \brief      DtcpCTcpSocket class\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Soyoung Lee, Sangsu Choi\r
+ * Dept : Core S/W Component Lab, Digital Media Laboratory\r
+ * Creation date : 2008/09/02 \r
+ */\r
+\r
+#ifndef __DTCPCTCPSOCKET_H\r
+#define __DTCPCTCPSOCKET_H\r
+\r
+\r
+#ifdef _WIN32_ \r
+// <windows.h>°¡ <winsock.h>¸¦ includeÇϰí \r
+// common C++°¡ <winsock2.h>¸¦ includeÇØ¼­ struct redefinition problemÀÌ ¹ß»ý\r
+// ÇϹǷΠ´ÙÀ½ literalÀ» Ãß°¡\r
+#define _WINSOCKAPI_ \r
+        #include <windows.h>\r
+        #include <winsock2.h>\r
+        #include <windef.h>\r
+#elif defined _ANYVIEW\r
+// <windows.h>°¡ <winsock.h>¸¦ includeÇϰí \r
+// common C++°¡ <winsock2.h>¸¦ includeÇØ¼­ struct redefinition problemÀÌ ¹ß»ý\r
+// ÇϹǷΠ´ÙÀ½ literalÀ» Ãß°¡\r
+#define _WINSOCKAPI_ \r
+        #include <windows.h>\r
+        #include <winsock2.h>\r
+        #include <windef.h>\r
+#elif  _LINUX  \r
+        #include <unistd.h>\r
+        #include <sys/socket.h>\r
+               #include <sys/ioctl.h>\r
+        #include <arpa/inet.h>\r
+        #include <fcntl.h>\r
+#endif\r
+#include <cstdio>\r
+\r
+#include "CC_Type.h"\r
+//#include "DtcpCConstants.h"\r
+//#include "DtcpCErrorCode.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+// Constants\r
+////////////////////////////////////////////////////////////////////////////////\r
+#define DTCP_QUE_LIMIT         5               // Maximum outstanding connection requests\r
+#define INFINITE_32                    0xffffffff\r
+\r
+/**\r
+* DtcpCTcpSocket class\r
+*/\r
+class DtcpCTcpSocket  \r
+{\r
+public:\r
+\r
+#ifndef _DTCP_PLUS\r
+       /**\r
+       constructor\r
+       */\r
+       DtcpCTcpSocket();\r
+       /**\r
+       constructor \r
+       @param uFd (Input) - File descriptor\r
+       */\r
+       DtcpCTcpSocket(cc_u32 uFd);\r
+\r
+#else\r
+       /**\r
+       constructor\r
+       */\r
+       DtcpCTcpSocket(bool bSetTTL = true);\r
+       /**\r
+       constructor \r
+       @param uFd (Input) - File descriptor\r
+       */\r
+       DtcpCTcpSocket(cc_u32 uFd, bool bSetTTL = true);\r
+#endif\r
+\r
+       /**\r
+       destructor\r
+       */\r
+       virtual ~DtcpCTcpSocket();\r
+\r
+       /**\r
+       Bind ¼öÇà \r
+       @param pAddr (Input) - sockaddr structureÀÇ Æ÷ÀÎÅÍ \r
+       @return Errorcode\r
+       */\r
+       int                                     bindSocket(sockaddr_in* pAddr);\r
+\r
+       /**\r
+       Connect ÇÔ¼ö ¼öÇà \r
+       @param pDest (Input) - sockaddr structureÀÇ Æ÷ÀÎÅÍ \r
+       */\r
+       long                            connectSocket(sockaddr_in* pDest);\r
+\r
+       /**\r
+       close socket ÇÔ¼ö ½ÇÇà\r
+       @return Errorcode\r
+       */\r
+       int                                     closeSocket(void);\r
+\r
+       /**\r
+       TTL ¼³Á¤ \r
+       */\r
+#ifdef _DTCP_PLUS\r
+       void                    SetTTL (bool bSetTTL = true);\r
+#else\r
+       void                    SetTTL ();\r
+#endif\r
+       \r
+       /**\r
+       read method\r
+       @param  pbyBuf (Output)- ÀÐÀº ¸Þ½ÃÁöÀÇ pointer\r
+       @param  dwBufLen (Input)- ¹öÆÛÀÇ Å©±â \r
+       @param  pdwRcvLen (Output)- ÀÐÀº ¸Þ½ÃÁöÀÇ Å©±â \r
+       @param  dwMsec (Input) - timeoutÀÇ ½Ã°£ \r
+\r
+       @return Errorcode               \r
+       */      \r
+       int read(cc_u8* pbyBuf, \r
+                         cc_u32 dwBufLen, \r
+                         cc_u32* pdwRcvLen, \r
+                         cc_u32 dwMsec);               \r
+               \r
+       /*\r
+       //read in non-blocking mode \r
+       inline cc_u32 readNB(char* pchBuf, \r
+                                         cc_u32 dwBufLen, \r
+                                         cc_u32* pdwRcvLen)\r
+       {\r
+               return read(pchBuf, dwBufLen, pdwRcvLen, 0);\r
+       };\r
+       \r
+         */\r
+       \r
+       // query TCP socket to see how many bytes are in read buffer\r
+       /**\r
+       read buffer¾È¿¡ ÀÐÀ» ¹ÙÀÌÆ®°¡ ÀÖ´ÂÁö È®ÀÎ\r
+       @param iBufLen (Output)- ÀÐÀ» ¸Þ½ÃÁöÀÇ bytes\r
+       @return Errorcode\r
+       */\r
+       long readBufLen(int* iBufLen);\r
+\r
+       /**     \r
+\r
+       @param  pchBuf (Input) - º¸³¾ ¸Þ½ÃÁöÀÇ Æ÷ÀÎÅÍ\r
+       @param  dwBufLen (Input) - º¸³¾ ¸Þ½ÃÁöÀÇ ±æÀÌ \r
+       @param  pdwSndLen (Output) - º¸³½ ¸Þ½ÃÁöÀÇ ±æÀÌ \r
+\r
+       @return Errorcode\r
+       */\r
+       int send(const char* pchBuf, \r
+                        cc_u32 dwBufLen, \r
+                        cc_u32* pdwSndLen);\r
+\r
+       /*int send(const cc_u8* pbyBuf, \r
+                        cc_u32 dwBufLen, \r
+                        cc_u32* pdwSndLen);\r
+\r
+       */\r
+\r
+               \r
+       /**\r
+       file descriptor ¾ò±â \r
+       @return file descriptor value\r
+       */\r
+       inline int getFd(void) const {return m_iFd;};\r
+               \r
+       //////////////////////////////////////////////////////////////////////\r
+       // Address(member attributes) interface functions\r
+       /**\r
+       local Address ¾ò±â\r
+       @return address\r
+       */\r
+       inline cc_u32                   getLocalAddr(void) const {return ntohl(m_AddrLocal.sin_addr.s_addr);};\r
+\r
+       /**\r
+       local port host byteÇüÅ ¾ò±â   \r
+       @return port\r
+       */\r
+       inline cc_u16   getLocalPort(void) const {return ntohs(m_AddrLocal.sin_port);};\r
+\r
+       /**\r
+       ¸ñÀûÁö host byteÇüÅÂÀÇ ÁÖ¼Ò ¾ò±â \r
+       @return address\r
+       */\r
+       inline cc_u32                   getDestAddr(void) const {return ntohl(m_AddrDest.sin_addr.s_addr);};\r
+\r
+       /**\r
+       ¸ñÀûÁö host byteÇüÅÂÀÇ port ¾ò±â \r
+       @return port\r
+       */\r
+       inline cc_u16   getDestPort(void) const {return ntohs(m_AddrDest.sin_port);};\r
+       \r
+       /**\r
+       local address¸¦ stringÀ¸·Î ¾ò±â \r
+       @return addressÀÇ sting\r
+       */\r
+       inline char* getLocalAddrStr(void) {return inet_ntoa(m_AddrLocal.sin_addr);};\r
+\r
+       /**\r
+       ¸ñÀûÁöÀÇ address¸¦ stringÀ¸·Î ¾ò±â \r
+       @return addressÀÇ string \r
+       */\r
+       inline char* getLocalDestStr(void) {return inet_ntoa(m_AddrDest.sin_addr);};\r
+\r
+       //////////////////////////////////////////////////////////////////////\r
+       // Non-blocking\r
+       /**\r
+       nonblocking ÀÎÁö °Ë»ç\r
+       @return nonblocking flag °ª\r
+       */\r
+       inline bool isNonBlocking(void) const {return m_bNonBlocking;};\r
+\r
+       /**\r
+       nonblocking flag¼³Á¤ \r
+       @param bNonBlocking (Input) - nonbloking flag\r
+       @return  ¼³Á¤ ¼º°ø ¿©ºÎ \r
+       */\r
+       bool            setNonBlocking(bool bNonBlocking);\r
+\r
+       /**\r
+       listen ÇÔ¼ö \r
+       @return Errorcode\r
+       */\r
+       int                     listen(void);\r
+       \r
+       /**\r
+       accept ÇÔ¼ö \r
+       @return »õ·Î¿î socket pointer\r
+       */\r
+       DtcpCTcpSocket* accept(void);\r
+protected:     \r
+\r
+private:\r
+       /**\r
+       socketÀ»  Åë½ÅÀ» À§ÇÑ ÃʱâÈ­(file descriptor,address copy)\r
+       @return Errorcode\r
+       */\r
+       int             init(void);\r
+\r
+//Variable\r
+public:\r
+protected:\r
+private:\r
+#ifdef _WIN32_\r
+               SOCKET                  m_iFd;\r
+#elif  _ANYVIEW\r
+               SOCKET                  m_iFd;\r
+#else\r
+               int                     m_iFd;\r
+#endif\r
+               struct                  sockaddr_in m_AddrLocal;        \r
+               struct                  sockaddr_in m_AddrDest;\r
+\r
+               bool                    m_bNonBlocking;\r
+#ifdef _DTCP_PLUS              \r
+               bool                    m_bSetTTL; \r
+#endif\r
+};\r
+\r
+#endif \r
diff --git a/SPC/Inc/SAKEP.h b/SPC/Inc/SAKEP.h
new file mode 100755 (executable)
index 0000000..a6cc268
--- /dev/null
@@ -0,0 +1,319 @@
+/**\r
+ * \file       SakepApi.h\r
+ * \brief      API for key sharing and En/Decryption \r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : sangsu choi\r
+ * Dept : S/W center Cloud Computing lab\r
+ * Creation date : 2012/10/29 \r
+ */\r
+\r
+/*\r
+Sequnce Diagram\r
+\r
+Client Side                                                                                    Server Side\r
+                       //////////////////////////////////////////////////////////////////////\r
+                       AKE Step\r
+                       //////////////////////////////////////////////////////////////////////\r
+\r
+                       GeneratorServerHello ---------------------------------->                        \r
+                                                                                                                                        \r
+                                                                                                                                        ParseServerHello\r
+\r
+                                               <---------------------------- GeneratorClientHello      \r
+                       \r
+                       ParseClientHello                    \r
+                                         \r
+                       GeneratorAck ------------------------------------------->                       \r
+                                                                                                                                       ParseAck\r
+\r
+                       //////////////////////////////////////////////////////////////////////\r
+                       Centent En/Decryption Step\r
+                       //////////////////////////////////////////////////////////////////////\r
+                       EncryptContents------------------------------------------>\r
+                                                                                                                                        DecryptContents                        \r
+*/\r
+\r
+#ifndef __SAKEPAPI_H\r
+#define __SAKEPAPI_H\r
+\r
+#define __STDC_LIMIT_MACROS\r
+#include <stdint.h>\r
+\r
+//#include <android/log.h>\r
+\r
+#include "CC_API.h"\r
+#include "Util.h"\r
+#include "base/aes.h"\r
+#include "WhiteBox/SDWAP.h"\r
+#include "WhiteBox/SDWAP_TblGen.h"\r
+#include "WhiteBox/SWAPv2.h"\r
+#include "WhiteBox/SWAPv2_defines.h"\r
+#include "DRMLog.h"\r
+\r
+#include "Wrapper_common.h"\r
+\r
+typedef uint8_t u_int8_t;\r
+\r
+\r
+\r
+\r
+#ifndef _WIN\r
+\r
+       #define SPC_INTERNAL  __attribute__((visibility("hidden")))\r
+#else\r
+       #define SPC_INTERNAL  \r
+#endif\r
+\r
+//#define SPC_INTERNAL  \r
+\r
+extern DRMLOG_CTX  SPCLogCTX;\r
+\r
+\r
+//++ added\r
+/*\r
+#ifndef PRINT_LOG\r
+#define PRINT_BUFFER(A, B, C)\r
+#else\r
+#define PRINT_LINE(format, ...)                                printf(format, ##__VA_ARGS__); __android_log_print(ANDROID_LOG_INFO, "SPC_SWC", format, ##__VA_ARGS__)\r
+#define PRINT_BUFFER(A, B, C)                                  PrintHexBYTE(A, B, C)\r
+#endif\r
+*/\r
+//-- added\r
+\r
+#ifndef PRINT_LOG\r
+#define PRINT_BUFFER(A, B, C)\r
+#else\r
+#define PRINT_BUFFER   PrintBYTE\r
+#endif\r
+\r
+\r
+\r
+\r
+// Key Length\r
+#define SAKEP_PRE_SK_MESSAGE_SIZE                                                                                              396\r
+\r
+\r
+//using debugging - print hexbyte\r
+#define PrintHexBYTE(msg, Data, DataLen) {                                     \\r
+       int idx;                                                                                        \\r
+       printf("%10s =\n", msg);                                                                \\r
+       for( idx=0; idx<(int)DataLen; idx++) {                          \\r
+               if( (idx!=0) && ((idx%16)==0) ) printf("\n");   \\r
+               if((idx % 4) == 0)      printf(" 0x");                          \\r
+               printf("%.2x", Data[idx]);                                              \\r
+       }                                                                                                       \\r
+       printf("\n");                                                                           \\r
+}\r
+\r
+\r
+\r
+//Data Type\r
+typedef enum{\r
+       CLIENT_HELLO=0x01,\r
+       SERVER_HELLO=0x02,\r
+       SERVER_ACKNOWLEDGEMENT=0x03,\r
+       CLIENT_ACKNOWLEDGEMENT=0x04,\r
+       INITIALSETUP=0x05,\r
+       UNEXPECTED_DATA=0x10,\r
+       ENCRYPTED_DATA=0x11,\r
+       ENCRYPTED_CREDENTAIL_DATA = 0x12\r
+}DataType;\r
+\r
+typedef enum{\r
+       NO_INTEGRITY=0x00,\r
+       CRC_32=0x01,\r
+       SHA1=0x11,\r
+       HMAC_SHA1=0x21\r
+}IntegrityType;\r
+\r
+\r
+\r
+\r
+typedef enum {\r
+       NO_ENCRYPTION = 0x00,\r
+       AES_E_CRT = 0x01\r
+}PayloadEncAlg;\r
+\r
+\r
+//#define SEQUENCE_NUM_MAX                     4294967295\r
+\r
+////////////////////////////////////////////////////////////////\r
+//v2\r
+/**\r
+ * \brief      Big number structure\r
+ *\r
+ * used for big number representation\r
+ */\r
+typedef struct {                                               \r
+       unsigned int sign;                                              /**<    0 for positive, 1 for negative number   */\r
+       unsigned int Length;                                            /**<    number of valid integers                                */\r
+       unsigned int Size;                                              /**<    unsigned long size of allocated memory  */\r
+       unsigned int *pData;                                            /**<    unsigned long array                                     */\r
+} SAKEP_BIG_NUM;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// constant & context for DL BPKAS-SPEKE protocol\r
+////////////////////////////////////////////////////////////////////////////\r
+/**\r
+ * \brief      DL BPKAS-SPEKE structure\r
+ *\r
+ * used for DL BPKAS-SPEKE parameters\r
+ */\r
+typedef struct {\r
+       unsigned int PrimeLen;                          /**<    length of prime */\r
+       SDRM_BIG_NUM* p;                                        /**<    Prime                   */\r
+       SDRM_BIG_NUM* g;                                        /**<    generator               */\r
+} SAKEP_BSContext;\r
+\r
+typedef struct _SAKEPContainer\r
+{\r
+//     unsigned char pPiPrime[16];                                                                                                                                                             /**<    Algorithm       */\r
+       SAKEP_BSContext *ctx;                                                                                                                                           /**<    Algorithm       */\r
+} SAKEPContainer;\r
+\r
+////////////////////////////////////////////////////////////////\r
+\r
+class SAkepApi\r
+{\r
+\r
+public:\r
+\r
+               SPC_INTERNAL SAkepApi();\r
+               SPC_INTERNAL            SAkepApi(Handle_CTX* ctx,ModeType eMode);\r
+               ~SAkepApi();\r
+\r
+\r
+               /**\r
+                * @fn          int GeneratorServerHello(Handle_CTX* ctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pUserID,unsigned int nUserIDLen,unsigned char* pOutMsg,unsigned int* nOutLen)\r
+                * @brief       Generate Server Hello Message\r
+                *\r
+                * @param       [in] ctx                                Context Container\r
+                * @param       [in] pPwd                               password \r
+                * @param       [in] nPwdLen            password Length\r
+                * @param       [in] pUserID            UserID\r
+                * @param       [in] nUserIDLen UserID Length\r
+                * @param       [out] pOutMsg           ClientHelloMessage result\r
+                * @param       [out] nOutLen           ClientHelloMessage Length\r
+                * @return      result of GeneratorServerHello\r
+                */\r
+               SPC_INTERNAL int GeneratorServerHello(Handle_CTX* ctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pUserID,unsigned int nUserIDLen,unsigned char* pOutMsg,unsigned int* nOutLen);\r
+\r
+               /**\r
+                * @fn          int GeneratorAck(Handle_CTX* ctx,unsigned char* pOutMsg,unsigned int* nOutLen)\r
+                * @brief       Generate ACK Message\r
+                *\r
+                * @param       [in] ctx                        Context Container       \r
+                * @param       [out] pOutMsg           ClientHelloMessage result\r
+                * @param       [out] nOutLen           ClientHelloMessage Length\r
+                * @return      result of GeneratorAck\r
+                */\r
+               SPC_INTERNAL int GeneratorServerAck(Handle_CTX* ctx,unsigned char* pOutMsg,unsigned int* nOutLen);\r
+\r
+\r
+\r
+               /**\r
+                * @fn          int ParseAck(Handle_CTX* ctx,unsigned char* pMessage,unsigned int nInLen)\r
+                * @brief       Parse Ack Message\r
+                *\r
+                * @param       [in] ctx                        Context Container\r
+                * @param       [in] pMessage           input Message\r
+                * @param       [in] nInLen                     input Message len\r
+                * @return      result of ParseAck\r
+                */\r
+               SPC_INTERNAL int ParserClientAck(Handle_CTX* ctx,unsigned char* pMessage,unsigned int nInLen);\r
+\r
+\r
+               /**\r
+                * @fn          int ParseClientHello(Handle_CTX* ctx,unsigned char* pMessage,unsigned int nInLen)\r
+                * @brief       Parse Client Hello Message\r
+                *\r
+                * @param       [in/out] ctx                    Context Container\r
+                * @param       [in] pMessage           input Message\r
+                * @param       [in] nInLen             input Message Length             \r
+                * @return      result of ParseClientHello\r
+                */\r
+               SPC_INTERNAL int ParseClientHello(Handle_CTX* ctx,unsigned char* pPwd, unsigned int nPwdLen,unsigned char* pMessage,unsigned int nInLen);\r
+\r
+\r
+               /**\r
+                * @fn          GeneratorRecordMsg ( Handle_CTX* ctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen)\r
+                * @brief       Content Encrytion\r
+                *\r
+                * @param       [in] ctx                                        Context Container\r
+                * @param       [in] pPlainData                         Plain Data(original data)\r
+                * @param       [in] uPlainDataLen                      Plain Data Length\r
+                * @param       [out] pEncryptedData            Encrypted Message(including Header)\r
+                * @param       [out] uEncryptedDataLen                         Encrypted Message length( Encrypted Data Length + Header length)\r
+                * @return      result of GeneratorRecordMsg\r
+                */             \r
+               SPC_INTERNAL int GeneratorRecordMsg ( Handle_CTX* ctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen);\r
+\r
+               /**\r
+                * @fn          int ParseRecordMsg ( Handle_CTX* ctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen)\r
+                * @brief       Content Encrytion\r
+                *\r
+                * @param       [in] ctx                                        Context Container\r
+                * @param       [in] pEncryptedData                             Encrypted Message(including Header)\r
+                * @param       [in] uEncryptedDataLen                  Encrypted Message length( Encrypted Data Length + Header length)\r
+                * @param       [out] pPlainData                                Decrypted Message(only payload Message) - (delete Header)\r
+                * @param       [out] uPlainDataLen                             Decrypted Message length(only payload Message length)-- (delete Header)\r
+                * @return      result of ParseRecordMsg\r
+                */             \r
+               SPC_INTERNAL int ParseRecordMsg ( Handle_CTX* ctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen);\r
+\r
+       \r
+               \r
+private :      \r
+\r
+               SPC_INTERNAL int GetGy(unsigned char *pPin,unsigned int nPinLen,unsigned char* pGy,unsigned char* py) ;\r
+               SPC_INTERNAL int SetPrivatekeyY(unsigned char* pPrivateKey);\r
+               SPC_INTERNAL int GetPrivatekeyY(unsigned char* pPrivatekey);\r
+               SPC_INTERNAL int SetMac(unsigned char* pMac,unsigned int nMacLen);\r
+               SPC_INTERNAL int GetMac(unsigned char* pMac,unsigned int nMacLen);\r
+               SPC_INTERNAL int GetPeerMacLen(unsigned int* pPeerMacLen);\r
+\r
+               SPC_INTERNAL int SetPublicKeyY(unsigned char* pPublicKey);\r
+               SPC_INTERNAL int GetPublicKeyY(unsigned char* pPublicKey);\r
+\r
+\r
+               SPC_INTERNAL int SetWcValue(unsigned char* pWc);\r
+               SPC_INTERNAL void* SAKEPMalloc(int siz);\r
+               SPC_INTERNAL void SAKEPFree(void *ptr);\r
+               SPC_INTERNAL SAKEPContainer* create_SAKEPContainer();\r
+               SPC_INTERNAL void destroy_SAKEPContainer(SAKEPContainer* crt);\r
+               SPC_INTERNAL int SAKEP_SetBSParam(SAKEPContainer* crt,const unsigned char* pPrime, unsigned int nPrimeLen,const unsigned char* pGenerator, unsigned int nGeneratorLen);\r
+               SPC_INTERNAL int SAKEP_GenerateBSPublic(SAKEPContainer* crt, unsigned char *pPin,unsigned int nPinLen,unsigned char* pPriv/* x */, unsigned char* pPub/* g^x */);//,unsigned char* pWc,unsigned int* nWcLen); modified 0404\r
+               SPC_INTERNAL int SAKEP_GetAuthClient(unsigned char* pPrivY,unsigned int nPrivYLen,unsigned char* pGX,unsigned int nGXLen,unsigned char* pSharedSecret,unsigned int *pSharedSecretlen);\r
+\r
+               SPC_INTERNAL int GetMyMacLen(unsigned int* pMacLen);\r
+\r
+               SPC_INTERNAL int ApplyPasswordTransform(unsigned char* pPwd, unsigned int nPwdLen, unsigned char* pTransPwd, unsigned int* pTransPwdLen);\r
+               SPC_INTERNAL int ReversePasswordTransform(unsigned char* pTransPwd, unsigned int nTransPwdLen, unsigned char* pPwd, unsigned int* pPwdLen);\r
+               SPC_INTERNAL void ReverseKeyTransform(unsigned char* in, unsigned char* out);\r
+               SPC_INTERNAL void ApplyKeyTransform(unsigned char* in, unsigned char* out);  \r
+\r
+               SPC_INTERNAL int EncryptGy(unsigned char* pPwd,unsigned int nPwdLen , unsigned char* pInGy, unsigned int nInGyLen, unsigned char* pOut, unsigned int* pOutLen);\r
+               SPC_INTERNAL int DecryptGx(unsigned char* pPwd,unsigned int nPwdLen , unsigned char* pInEncryptedGx, unsigned int nInEncryptedGxLen, unsigned char* pOut, unsigned int* pOutLen);\r
+\r
+               SPC_INTERNAL  int EncryptParameterDataWithWB(unsigned char* pIn,  unsigned char* pOut);\r
+               SPC_INTERNAL  int DecryptParameterDataWithWB(unsigned char* pIn,  unsigned char* pOut);\r
+\r
+\r
+       \r
+               unsigned char m_pPrivatekeyY[SAKEP_DLBP_PAK_PARMETER_SIZE];\r
+               unsigned char m_pPublickeyY[SAKEP_DLBP_PAK_PARMETER_SIZE];              \r
+               unsigned char *m_pMac;\r
+               unsigned int  m_nMyMacLen;              \r
+               unsigned char m_pWc[SAKEP_DLBP_PAK_PARMETER_SIZE];\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+};\r
+\r
+#endif\r
diff --git a/SPC/Inc/SPCApi.h b/SPC/Inc/SPCApi.h
new file mode 100755 (executable)
index 0000000..8242de1
--- /dev/null
@@ -0,0 +1,156 @@
+/**\r
+ * \file       SPCApi.h\r
+ * \brief      API for key sharing and En/Decryption \r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : sangsu choi\r
+ * Dept : S/W center Cloud Computing lab\r
+ * Creation date : 2013/01/15 \r
+ */\r
+#include <stdio.h>\r
+#include <string.h>\r
+#include <stdlib.h>\r
+#include "SAKEP.h"\r
+#include "Util.h"\r
+#include "DRMLog.h"\r
+\r
+\r
+\r
+class SPCApi\r
+{\r
+public:\r
+               /**\r
+                * @fn          SPCApi()\r
+                * @brief       SPCApi Constrctor\r
+                *               \r
+                * @return      None\r
+                */\r
+               SPC_INTERNAL SPCApi();\r
+\r
+               /**\r
+                * @fn          SPCApi()\r
+                * @brief       SPCApi Destrctor\r
+                *               \r
+                * @return      None\r
+                */\r
+               ~SPCApi();\r
+\r
+       \r
+               /**\r
+                * @fn          InitSPCContext(SPCHandle_CTX* pSPCctx,ModeType eMode,unsigned char* pUserID,unsigned int nUserIDLen)\r
+                * @brief       SPC Context initialize\r
+                * @param       [in] pSPCctx                    context of SPC\r
+                * @param       [in] eMode                              Server or Client\r
+                * @param       [in] pUserID                    UserID\r
+                * @param       [in] nUserIDLen         UserID Length\r
+                *               \r
+                * @return      None\r
+                */\r
+               SPC_INTERNAL int InitSPCContext(SPCHandle_CTX* pSPCctx,ModeType eMode,unsigned char* pUserID,unsigned int nUserIDLen);\r
+               \r
+               /**\r
+                * @fn          void DestroySPCContext(SPCHandle_CTX* pSPCctx)\r
+                * @brief       Destroy Context\r
+                * @param       [in] pSPCctx                    context of SPC           \r
+                *               \r
+                * @return      None\r
+                */\r
+               SPC_INTERNAL void DestroySPCContext(SPCHandle_CTX* pSPCctx);\r
+\r
+       /**\r
+                * @fn          void ClearSPCSessionContext(SPCHandle_CTX* pSPCctx)\r
+                * @brief       Clear Context\r
+                * @param       [in] pSPCctx                    context of SPC           \r
+                *               \r
+                * @return      None\r
+                */\r
+               SPC_INTERNAL void ClearSPCSessionContext(SPCHandle_CTX* pSPCctx);\r
+               \r
+               /**\r
+                * @fn          int ParseClientHello(SPCHandle_CTX* pSPCctx,unsigned char* pMessage,unsigned int nInLen)\r
+                * @brief       Parse Client Hello Message\r
+                *\r
+                * @param       [in] pSPCctx                    Context Container       \r
+                * @param       [in] pMessage             Received Client Hello Message \r
+                * @param       [in] nInLen                 Received Client Hello Message Length                 \r
+                * @return      result of ParseClientHello\r
+                */\r
+               SPC_INTERNAL int ParseClientHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd, unsigned int nPwdLen,unsigned char* pMessage,unsigned int nInLen);\r
+\r
+               /**\r
+                * @fn          int GeneratorServerHello(SPCHandle_CTX* pSPCctx,unsigned char* pOutMsg,unsigned int* nOutLen)\r
+                * @brief       Generate Server Hello Message\r
+                *\r
+                * @param       [in] ctx                        Context Container               \r
+                * @param       [in] pPwd                       common password Data\r
+                * @param       [in] pPwdLen            password Data length\r
+                * @param       [in] pID                        Client's ID Value\r
+                * @param       [out] pOutMsg           ClientHelloMessage result\r
+                * @param       [out] nOutLen           ClientHelloMessage Length\r
+                * @return      result of GeneratorServerHello\r
+                */\r
+               SPC_INTERNAL int GeneratorServerHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pID,unsigned char* pOutMsg,unsigned int* nOutLen);\r
+\r
+\r
+               /**\r
+                * @fn          int GeneratorServerAck(SPCHandle_CTX* pSPCctx,unsigned char* pOutMsg,unsigned int* nOutLen)\r
+                * @brief       Generate Server Acknowledgement Message\r
+                *\r
+                * @param       [in] ctx                        Context Container       \r
+                * @param       [out] pOutMsg           ClientHelloMessage result\r
+                * @param       [out] nOutLen           ClientHelloMessage Length\r
+                * @return      result of GeneratorServerAck\r
+                */\r
+               SPC_INTERNAL int GeneratorServerAck(SPCHandle_CTX* pSPCctx,unsigned char* pOutMsg,unsigned int* nOutLen);\r
+\r
+\r
+               /**\r
+                * @fn          int ParseClientAck(SPCHandle_CTX* pSPCctx,unsigned char* pMessage,unsigned int nInLen)\r
+                * @brief       Parse Client Acknowledgement Message\r
+                *\r
+                * @param       [in] pSPCctx                    Context Container\r
+                * @param       [in] pMessage           input Message\r
+                * @param       [in] nInLen                     input Message len\r
+                * @return      result of ParseClientAck\r
+                */\r
+               SPC_INTERNAL int ParseClientAck(SPCHandle_CTX* pSPCctx,unsigned char* pMessage,unsigned int nInLen);\r
+\r
+               \r
+               /**\r
+                * @fn          int GeneratorRecordMsg ( Handle_CTX* ctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen)\r
+                * @brief       Content Encrytion\r
+                *\r
+                * @param       [in] pSPCctx                                    Context Container\r
+                * @param       [in] pPlainData                         Plain Data(original data)\r
+                * @param       [in] uPlainDataLen                      Plain Data Length\r
+                * @param       [out] pEncryptedData            Encrypted Message(including Header)\r
+                * @param       [out] uEncryptedDataLen                         Encrypted Message length( Encrypted Data Length + Header length)\r
+                * @return      result of GeneratorRecordMsg\r
+                */\r
+               SPC_INTERNAL int GeneratorRecordMsg ( SPCHandle_CTX* pSPCctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen);\r
+\r
+               /**\r
+                * @fn          int ParseRecordMsg ( SPCHandle_CTX* pSPCctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen);\r
+                * @brief       Content Decryption\r
+                *\r
+                * @param       [in] pSPCctx                                    Context Container\r
+                * @param       [in] pEncryptedData                             Encrypted Message(including Header)\r
+                * @param       [in] uEncryptedDataLen                  Encrypted Message length( Encrypted Data Length + Header length)\r
+                * @param       [out] pPlainData                                Decrypted Message(only payload Message) - (delete Header)\r
+                * @param       [out] uPlainDataLen                             Decrypted Message length(only payload Message length)-- (delete Header)\r
+                * @return      result of ParseRecordMsg\r
+                */\r
+               SPC_INTERNAL int ParseRecordMsg ( SPCHandle_CTX* pSPCctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen);\r
+               \r
+\r
+private:\r
+\r
+       \r
+               SAkepApi m_SAkep;\r
+\r
+};\r
+\r
+\r
+\r
diff --git a/SPC/Inc/SPC_Table.h b/SPC/Inc/SPC_Table.h
new file mode 100755 (executable)
index 0000000..a032ca0
--- /dev/null
@@ -0,0 +1,20563 @@
+\r
+static unsigned char pParameterDataEncTbl[] = \r
+{\r
+0x08,0x72,0x47,0x7B,0x94,0xA3,0x9F,0x0A,0xB0,0x99,0x28,0x14,0x26,0x1A,0xAC,0xB7,\r
+0xB5,0x3D,0xB5,0x89,0x0A,0x4F,0x73,0x78,0x24,0x92,0xB7,0x8B,0x46,0x7A,0x28,0x53,\r
+0x11,0xF8,0xD4,0xE8,0x2B,0x59,0x65,0x4F,0xDB,0x20,0xFA,0xC6,0x5F,0x63,0x4A,0x28,\r
+0xAD,0xA1,0x31,0x0D,0xB0,0x82,0xBE,0x0F,0x32,0x93,0xA0,0x9C,0xA6,0x9A,0xA4,0x3F,\r
+0xC7,0x52,0xA8,0x94,0xCC,0x37,0x0B,0xC6,0x5E,0x1F,0x40,0x7C,0x5E,0x62,0x6A,0x09,\r
+0x2A,0x59,0x4E,0x72,0x15,0xF4,0xC8,0xDC,0xB3,0x67,0xD5,0xE9,0xB7,0x8B,0xC4,0x4E,\r
+0x24,0xFF,0xE6,0xDA,0x61,0xC1,0xFD,0x9D,0xEA,0xDB,0x30,0x0C,0x8F,0xB3,0x82,0x30,\r
+0xCB,0xFE,0x08,0x34,0x0E,0x6F,0x53,0x5C,0x88,0x9E,0x17,0x2B,0x0F,0x33,0x8A,0xB8,\r
+0x53,0xA2,0xCC,0xF0,0xF1,0x85,0xB9,0x49,0x76,0xC3,0xB4,0x88,0x7D,0x41,0x3F,0x7F,\r
+0x8D,0x80,0x30,0x0C,0x60,0xD6,0xEA,0x8B,0xA9,0xBE,0x16,0x2A,0x1E,0x22,0xEA,0xC9,\r
+0x32,0xC5,0xCA,0xF6,0xC8,0x17,0x2B,0xE2,0x86,0x57,0xD0,0xEC,0x3A,0x06,0xFE,0xF9,\r
+0xF5,0x6D,0xA5,0x99,0x49,0x40,0x7C,0x34,0xCA,0x14,0xDF,0xE3,0x7F,0x43,0x4E,0x0C,\r
+0xC9,0xF4,0x00,0x3C,0xCE,0x3F,0x03,0xCC,0x38,0x91,0xA8,0x94,0x7E,0x42,0x6E,0x2D,\r
+0x07,0xC2,0xF8,0xC4,0x04,0xE7,0xDB,0xDE,0x10,0x4D,0x5C,0x60,0x55,0x69,0x39,0x51,\r
+0xE4,0x6F,0xB6,0x8A,0x7B,0x4D,0x71,0x0B,0xCD,0x21,0xED,0xD1,0xE1,0xDD,0x65,0xB9,\r
+0x3B,0x5B,0x5D,0x61,0x13,0xDC,0xE0,0xF2,0xB6,0x43,0xF4,0xC8,0x77,0x4B,0x4C,0x06,\r
+0x22,0xD1,0xCE,0xF2,0x72,0xDA,0xE6,0x95,0xC0,0x16,0xD7,0xEB,0x9E,0xA2,0xE2,0x41,\r
+0x8F,0x8A,0x38,0x04,0xB2,0x8A,0xB6,0x05,0x11,0xA2,0xB2,0x8E,0xDD,0xE1,0x33,0xD3,\r
+0xA0,0x1B,0x86,0xBA,0xF2,0x9A,0xA6,0x55,0xE7,0xEC,0x0A,0x36,0xF7,0xCB,0x44,0x8E,\r
+0x52,0xB4,0xDB,0xE7,0xD1,0x84,0xB8,0x68,0x6E,0x0B,0x64,0x58,0xC9,0xF5,0x63,0x97,\r
+0x36,0xE1,0xEA,0xD6,0xDF,0x2C,0x10,0xCE,0x91,0xB9,0x29,0x15,0x0D,0x31,0xFB,0xCB,\r
+0x37,0xF7,0xFD,0xC1,0xFA,0x1A,0x26,0xDD,0x7D,0x2E,0x52,0x6E,0xCD,0xF1,0x73,0x83,\r
+0xC1,0x7C,0x80,0xBC,0xB1,0x95,0xA9,0x19,0x6B,0x2F,0x45,0x79,0xA0,0x9C,0xC5,0x58,\r
+0xBF,0xBF,0x3D,0x01,0x42,0xDF,0xE3,0xA0,0x29,0xA5,0x8D,0xB1,0x61,0x5D,0x6D,0x31,\r
+0xD0,0x7E,0x93,0xAF,0x19,0x54,0x68,0x70,0x92,0x47,0xD4,0xE8,0xD0,0xEC,0x01,0xEC,\r
+0xEF,0xFB,0x29,0x15,0x03,0xD8,0xE4,0xE6,0xCF,0x30,0xFE,0xC2,0xD3,0xEF,0x50,0xBE,\r
+0x17,0xD6,0xFC,0xC0,0x87,0xB8,0x84,0x02,0x08,0x85,0x8C,0xB0,0xF3,0xCF,0x54,0x9A,\r
+0x7C,0x33,0x72,0x4E,0x64,0xF6,0xCA,0xAF,0x2F,0x7F,0x51,0x6D,0xFE,0xC2,0x66,0xA5,\r
+0x9B,0xBA,0x1C,0x20,0xE0,0x96,0xAA,0x4B,0xAE,0x8B,0x24,0x18,0x33,0x0F,0xDC,0xD2,\r
+0x79,0x01,0x45,0x79,0xFC,0x32,0x0E,0xF3,0x45,0x29,0x6D,0x51,0x67,0x5B,0x0C,0x56,\r
+0xB3,0x13,0x9D,0xA1,0xBD,0x35,0x09,0xB5,0x22,0x48,0x6B,0x57,0x12,0x2E,0xF8,0xD7,\r
+0x76,0xB1,0xFA,0xC6,0x31,0xD5,0xE9,0xD9,0x5F,0xF0,0xAE,0x92,0x8C,0xB0,0xD3,0x62,\r
+0x90,0x2E,0x83,0xBF,0xF4,0xB2,0x8E,0x7B,0xD4,0x06,0xD3,0xEF,0xC5,0xF9,0x71,0x89,\r
+0xAB,0x8F,0x19,0x25,0x25,0xF1,0xCD,0xE9,0x0D,0xA1,0xAD,0x91,0x63,0x5F,0x1C,0x42,\r
+0x38,0x47,0x42,0x7E,0x56,0xFB,0xC7,0x90,0x1A,0x4F,0x54,0x68,0xAD,0x91,0xF7,0x67,\r
+0xF9,0xC1,0x05,0x39,0xD9,0x04,0x38,0xE0,0x98,0x45,0xDC,0xE0,0x0E,0x32,0xAA,0x99,\r
+0xD2,0x74,0x9B,0xA7,0x05,0xF0,0xCC,0xC8,0xEE,0x10,0xFF,0xC3,0xFF,0xC3,0x46,0x84,\r
+0x98,0xA6,0x03,0x3F,0x23,0xD9,0xE5,0xC7,0xC3,0xE8,0x2A,0x16,0x2F,0x13,0x8E,0x9C,\r
+0x55,0x8C,0xE4,0xD8,0x7A,0x5A,0x66,0x1D,0xBB,0x74,0xCE,0xF2,0xBE,0x82,0xE6,0x65,\r
+0x69,0x15,0x41,0x7D,0x3C,0x62,0x5E,0x63,0x9E,0x9F,0x00,0x3C,0x11,0x2D,0xA9,0x85,\r
+0x6C,0x27,0x76,0x4A,0x7D,0x65,0x59,0x25,0xA7,0x77,0xD1,0xED,0xBC,0x80,0x97,0x16,\r
+0x2D,0x61,0x71,0x4D,0xE9,0x01,0x3D,0xD5,0x0E,0x5F,0x50,0x6C,0xAE,0x92,0xA6,0x35,\r
+0xD7,0x46,0xAC,0x90,0x89,0x10,0x2C,0xA4,0x66,0x18,0x7F,0x43,0x44,0x78,0x59,0x20,\r
+0x4B,0x3E,0x48,0x74,0x84,0xA7,0x9B,0x1E,0x39,0x7E,0x46,0x7A,0x09,0x35,0xEB,0xDF,\r
+0xBC,0xA3,0x22,0x1E,0xDD,0x24,0x18,0xC4,0x1C,0x95,0x88,0xB4,0x21,0x1D,0xED,0xF1,\r
+0x86,0x14,0xAF,0x93,0xCA,0x1F,0x23,0xE8,0x07,0xA3,0xA5,0x99,0xC0,0xFC,0x41,0xBC,\r
+0xB8,0x87,0x02,0x3E,0xB4,0xA2,0x9E,0x2B,0x04,0x5D,0x58,0x64,0x3E,0x02,0xEE,0xED,\r
+0x58,0x36,0x53,0x6F,0x51,0xC4,0xF8,0xA8,0x18,0x5E,0x47,0x7B,0xF5,0xC9,0x35,0xFD,\r
+0xE7,0x73,0xA9,0x95,0x68,0x56,0x6A,0x03,0x82,0x9C,0x1F,0x23,0x28,0x14,0xCF,0xDA,\r
+0x78,0x17,0x52,0x6E,0xDE,0x3B,0x07,0xD8,0x64,0x09,0x6C,0x50,0x4A,0x76,0x3A,0x4D,\r
+0x34,0xEB,0xE2,0xDE,0x12,0xCB,0xF7,0xE4,0x2C,0x81,0xAC,0x90,0x39,0x05,0xAF,0xAB,\r
+0x62,0x81,0xDE,0xE2,0x2C,0x66,0x5A,0x77,0x69,0x3E,0x56,0x6A,0xBB,0x87,0xD6,0x50,\r
+0x6F,0x3B,0x69,0x55,0xBA,0x0A,0x36,0x8D,0x94,0x9D,0x08,0x34,0xBF,0x83,0xC6,0x44,\r
+0xFD,0xE5,0x25,0x19,0x3D,0x75,0x49,0x75,0x3A,0x80,0xBB,0x87,0x97,0xAB,0xC0,0x6A,\r
+0x5C,0x12,0x73,0x4F,0x75,0xE5,0xD9,0xAD,0x57,0xE3,0xB5,0x89,0x1B,0x27,0xDA,0xFC,\r
+0x5B,0x2A,0x4C,0x70,0xA8,0x06,0x3A,0x93,0x6C,0x1A,0x77,0x4B,0x49,0x75,0x6B,0x1F,\r
+0x88,0xB2,0x07,0x3B,0x00,0xC7,0xFB,0xFA,0xAA,0x40,0xEB,0xD7,0xBD,0x81,0xB7,0x37,\r
+0x1E,0x48,0x6B,0x57,0xD4,0xB3,0x8F,0x5A,0xF6,0xD8,0x2F,0x13,0x2E,0x12,0xAE,0xBD,\r
+0xC2,0x60,0x9F,0xA3,0xE5,0xA1,0x9D,0x79,0x7A,0x1B,0x60,0x5C,0x1D,0x21,0xBB,0x9B,\r
+0x26,0xF5,0xEE,0xD2,0xA7,0xB9,0x85,0x23,0x40,0x0D,0x4C,0x70,0x74,0x48,0x1D,0x54,\r
+0xB6,0x21,0xAA,0x96,0x70,0xD2,0xEE,0x9F,0xEF,0xFF,0x11,0x2D,0x98,0xA4,0x83,0x26,\r
+0xD5,0x4C,0xA4,0x98,0x9A,0x0B,0x37,0xAC,0x4A,0x0F,0x44,0x78,0x20,0x1C,0xCD,0xD0,\r
+0xF3,0x43,0x8D,0xB1,0x27,0xF9,0xC5,0xE3,0x3C,0x5A,0x67,0x5B,0xAB,0x97,0x96,0x00,\r
+0x8C,0x96,0x27,0x1B,0xE1,0x81,0xBD,0x5D,0xF0,0x02,0xF3,0xCF,0xBA,0x86,0xF6,0x71,\r
+0xD6,0x9E,0xCA,0xC8,0xCE,0x88,0x92,0x86,0x61,0x29,0xB8,0x45,0xAC,0x97,0xEF,0xA7,\r
+0xAD,0xE5,0x5D,0x24,0x0E,0x00,0xDA,0x46,0x76,0x3E,0xAE,0x44,0x89,0x84,0xD9,0x91,\r
+0xBA,0xF2,0x5C,0x32,0x63,0xB6,0x01,0x2B,0x0B,0x43,0x25,0xB2,0xC2,0x40,0x56,0x1E,\r
+0x72,0x3A,0xD6,0x70,0xA2,0x1E,0x68,0xEA,0xB6,0xFE,0xE6,0xCC,0x31,0xF9,0x1C,0x54,\r
+0x28,0x60,0x65,0x99,0x5D,0x91,0x18,0x15,0x45,0x0D,0x88,0x51,0x01,0xCC,0x19,0x51,\r
+0x4D,0x05,0xD1,0x48,0x1E,0x40,0x8A,0x56,0xB3,0xFB,0xD3,0xFC,0xC1,0x5C,0x49,0x01,\r
+0xF5,0xBD,0x9F,0xBE,0x34,0x37,0xD7,0x7C,0x0D,0x45,0x42,0xD3,0x81,0x0C,0x59,0x11,\r
+0x9B,0xD3,0x78,0x37,0x0A,0x10,0xCE,0x42,0x50,0x18,0xED,0x21,0xA2,0x31,0x47,0x0F,\r
+0xDB,0x93,0xF8,0xF7,0xF0,0xAF,0x8B,0xB8,0x97,0xDF,0xE3,0xE8,0x93,0x12,0x55,0x1D,\r
+0x92,0xDA,0x5A,0x1C,0xA4,0x7F,0x0F,0xEC,0xCE,0x86,0x58,0x0A,0x8F,0xAA,0xF1,0xB9,\r
+0x94,0xDC,0x3B,0x7B,0xD1,0x8B,0x8E,0x99,0x16,0x5E,0x4A,0xC0,0xCE,0xEC,0xF6,0xBE,\r
+0x51,0x19,0x83,0x06,0x4F,0xA0,0x3B,0x07,0x71,0x39,0xE8,0x05,0x42,0x80,0x16,0x5E,\r
+0x2B,0x63,0x34,0xCB,0x13,0x72,0xB5,0x5B,0x18,0x50,0x27,0xA3,0x6A,0x29,0x97,0xDF,\r
+0x01,0x49,0x43,0x96,0x10,0x23,0xE7,0x58,0xA2,0xEA,0xA2,0x9C,0x70,0xBF,0x1B,0x53,\r
+0x73,0x3B,0xF6,0x51,0x30,0x27,0xC3,0x78,0x77,0x3F,0x8F,0x64,0xF4,0x5B,0x7B,0x33,\r
+0xAE,0xE6,0x0C,0x76,0x3D,0x15,0xFC,0x75,0xF9,0xB1,0x6A,0x0F,0x17,0xF6,0x35,0x7D,\r
+0xBF,0xF7,0x6C,0x07,0x9D,0x19,0x50,0xD5,0x23,0x6B,0x0B,0xB4,0xBF,0x9F,0xF4,0xBC,\r
+0x2A,0x62,0x14,0xEA,0x74,0xB7,0x17,0x3C,0xC5,0x8D,0x00,0x59,0x66,0x85,0x37,0x7F,\r
+0xCF,0x87,0xA8,0xB3,0x4C,0xF1,0x69,0x04,0x6D,0x25,0xA6,0x57,0x12,0xC4,0x02,0x4A,\r
+0xE8,0xA0,0xED,0xD1,0xCC,0xF9,0xE1,0x84,0x83,0xCB,0xA7,0xB8,0x7D,0x05,0xAC,0xE4,\r
+0xD7,0x9F,0xEA,0xE9,0xE5,0xDF,0xEE,0xAD,0xCC,0x84,0x2B,0x7B,0xE7,0x53,0x60,0x28,\r
+0x48,0x00,0xE1,0x7D,0x85,0x5B,0x0A,0xCD,0x3E,0x76,0x64,0xC6,0x79,0x21,0x8C,0xC4,\r
+0x05,0x4D,0x53,0x82,0x9C,0x39,0x71,0xD4,0x5F,0x17,0xA1,0x62,0x58,0x16,0x9A,0xD2,\r
+0x5F,0x17,0xE0,0x6B,0x65,0xD7,0x66,0x2D,0xBA,0xF2,0xF8,0xDE,0xC3,0x56,0x41,0x09,\r
+0x57,0x1F,0xE2,0x61,0xBD,0x1D,0x74,0xF5,0x8B,0xC3,0xAD,0xBA,0xBD,0x95,0xFC,0xB4,\r
+0xA3,0xEB,0x3E,0x49,0x96,0x4A,0x08,0xDE,0x73,0x3B,0x9B,0x74,0x77,0x87,0x24,0x6C,\r
+0x12,0x5A,0x52,0x94,0x22,0x16,0xE0,0x6A,0x3D,0x75,0x36,0x97,0x08,0x52,0x8E,0xC6,\r
+0x0B,0x43,0x30,0xEF,0xB4,0x3F,0x5F,0xFC,0xD6,0x9E,0x02,0x48,0x60,0xAB,0x1F,0x57,\r
+0x4B,0x03,0xB0,0x2F,0xBE,0x4C,0x26,0xF6,0x47,0x0F,0xFB,0x20,0x82,0x10,0x46,0x0E,\r
+0xE9,0xA1,0xCD,0xF0,0xDD,0x99,0x90,0x95,0xBB,0xF3,0xD9,0xFE,0x13,0xD2,0x15,0x5D,\r
+0x2F,0x67,0x24,0xDF,0xF9,0x8D,0xA0,0xB1,0x41,0x09,0x9C,0x41,0xBB,0xBB,0xD4,0x9C,\r
+0x20,0x68,0x67,0x93,0xBC,0x3D,0x55,0xF4,0x2E,0x66,0x34,0x86,0x3A,0x6D,0x83,0xCB,\r
+0xF7,0xBF,0xEE,0xCD,0x7C,0xB5,0x1D,0x34,0xE2,0xAA,0x62,0x1C,0xC9,0xD4,0xC9,0x81,\r
+0x44,0x0C,0xF3,0x63,0x54,0xB3,0x33,0x1C,0xAE,0xE6,0xBC,0x8E,0x4E,0x2C,0xB6,0xFE,\r
+0x4A,0x02,0x90,0x0E,0xD8,0xA9,0xA5,0x90,0xF8,0xB0,0x4B,0x2F,0x06,0xF4,0x26,0x6E,\r
+0x88,0xC0,0x69,0x35,0x8A,0x18,0x46,0xC2,0xC7,0x8F,0x73,0x28,0xDB,0xCA,0xC5,0x8D,\r
+0xE0,0xA8,0xEF,0xDB,0xEB,0xBC,0x83,0xA3,0x22,0x6A,0x2A,0x94,0x1B,0x5A,0x95,0xDD,\r
+0x93,0xDB,0x7A,0x3D,0x89,0x49,0x14,0xC1,0xD9,0x91,0x4E,0x0B,0xAD,0x81,0xF8,0xB0,\r
+0x53,0x1B,0xF2,0x75,0xFA,0xDC,0xF2,0xB2,0x69,0x21,0xB2,0x47,0x61,0xBD,0x08,0x40,\r
+0xA9,0xE1,0x4D,0x30,0x78,0xA5,0x09,0x30,0x55,0x1D,0xD8,0x11,0x5F,0x2E,0xA5,0xED,\r
+0xEE,0xA6,0x8C,0xB6,0x5B,0xF0,0x7F,0x13,0x21,0x69,0x78,0xC5,0x03,0xC6,0x11,0x59,\r
+0xBB,0xF3,0x7C,0x13,0xE3,0xBE,0x89,0xAB,0x2F,0x67,0x15,0xA6,0xE9,0xF5,0xC8,0x80,\r
+0x98,0xD0,0x29,0x65,0x68,0xE5,0x59,0x20,0x06,0x4E,0x1A,0x80,0x54,0xBA,0x3A,0x72,\r
+0x0C,0x44,0x71,0xA9,0x79,0x85,0x28,0x31,0xAC,0xE4,0xCF,0xFF,0x92,0x04,0x42,0x0A,\r
+0x14,0x5C,0x33,0xF3,0x7E,0xC4,0x6E,0x36,0x8C,0xC4,0xEB,0xFB,0x73,0xA3,0x04,0x4C,\r
+0xD0,0x98,0xAB,0xAF,0xED,0xDD,0xE4,0xA5,0xE0,0xA8,0x11,0x6D,0xA7,0x03,0x70,0x38,\r
+0x9F,0xD7,0x68,0x23,0xDE,0xC8,0xC2,0x96,0x14,0x5C,0x39,0xB1,0x96,0x20,0x62,0x2A,\r
+0xB3,0xFB,0x7E,0x19,0xB7,0x6E,0x0D,0xFF,0x65,0x2D,0xAC,0x55,0xD4,0x7A,0x7A,0x32,\r
+0x00,0x48,0x63,0xB7,0x3C,0x35,0xDD,0x74,0x10,0x58,0x2D,0xA1,0x76,0x91,0x33,0x7B,\r
+0xD5,0x9D,0x9B,0x9A,0xEC,0xFD,0xC5,0xA4,0x88,0xC0,0xFF,0xEB,0x50,0x9E,0x1A,0x52,\r
+0x31,0x79,0x07,0xE2,0x7D,0x95,0x3C,0x35,0x6F,0x27,0xD5,0x26,0x09,0x44,0x99,0xD1,\r
+0xFF,0xB7,0xEC,0xC7,0xD2,0xDA,0xDC,0x9A,0xCA,0x82,0x4C,0x1A,0x4F,0x3A,0xA1,0xE9,\r
+0x2C,0x64,0x75,0x8D,0x06,0x02,0xD0,0x4E,0x08,0x40,0x77,0xE3,0x87,0x22,0x71,0x39,\r
+0x52,0x1A,0xD2,0x54,0xA0,0x6F,0x1B,0xE8,0x92,0xDA,0xD6,0xD8,0x56,0xB0,0x32,0x7A,\r
+0xAB,0xE3,0x3C,0x43,0x6E,0x84,0x3E,0x26,0xC9,0x81,0x1E,0x4B,0x25,0xC9,0x38,0x70,\r
+0x23,0x6B,0x36,0xC1,0xCD,0xD9,0xC0,0x85,0x8E,0xC6,0x98,0x8A,0xAA,0xB9,0xC7,0x8F,\r
+0x77,0x3F,0xE6,0x45,0xE2,0x9E,0xA8,0xAA,0xA9,0xE1,0xFA,0xCF,0xAE,0x9D,0xE7,0xAF,\r
+0x5A,0x12,0xD0,0x5E,0x03,0x32,0xE5,0x4B,0x24,0x6C,0x4D,0xF5,0xB9,0xB1,0xDC,0x94,\r
+0xA7,0xEF,0x2E,0x5D,0xFD,0x9D,0xB4,0xB5,0x89,0xC1,0xDE,0xCB,0xC7,0x72,0x61,0x29,\r
+0xB8,0xF0,0x2D,0x41,0x36,0x46,0xA4,0x7E,0xD8,0x90,0x6F,0x2B,0x22,0xF1,0x07,0x4F,\r
+0x2E,0x66,0x04,0xFE,0x7F,0xE4,0x4F,0x37,0xFD,0xB5,0x7E,0x1F,0x0E,0x7C,0xA6,0xEE,\r
+0xAF,0xE7,0x2C,0x57,0x6D,0xD5,0x6C,0x25,0xFA,0xB2,0x38,0x5E,0x9A,0x8C,0xC2,0x8A,\r
+0x80,0xC8,0x6B,0x3F,0x87,0x2A,0x79,0xCF,0x27,0x6F,0x1F,0xA4,0xFA,0xFD,0xD3,0x9B,\r
+0xB9,0xF1,0x0D,0x60,0xCA,0x98,0x86,0x82,0xC3,0x8B,0x67,0x38,0xF7,0x47,0x64,0x2C,\r
+0xFE,0x39,0x91,0x29,0xAE,0x85,0x3D,0x7D,0xED,0x6E,0x6D,0xD5,0xA0,0x18,0x9A,0x6C,\r
+0x3E,0xA9,0xC1,0x79,0x03,0x73,0xCB,0x26,0x7F,0xBF,0x2E,0x96,0xC5,0x7D,0x2E,0xBD,\r
+0x7E,0xF9,0xD1,0x69,0x2C,0xCD,0x75,0xB7,0x22,0xC8,0x04,0xBC,0x7D,0xC5,0x60,0x4B,\r
+0x5D,0xC4,0xCF,0x77,0xDE,0x90,0x28,0x18,0x3B,0xEF,0x3A,0x82,0x13,0xAB,0x87,0xC2,\r
+0x53,0x62,0x67,0xDF,0xBA,0xA1,0x19,0x4D,0x67,0x77,0xFE,0x46,0x5E,0xE6,0x35,0x3D,\r
+0x76,0x71,0x51,0xE9,0xBB,0xB6,0x0E,0x5B,0x2F,0xFF,0x3E,0x86,0x25,0x9D,0xA2,0xD1,\r
+0x3D,0xB5,0xDE,0x66,0x4D,0xCB,0x73,0xD0,0xF4,0x49,0x53,0xEB,0x32,0x8A,0xA3,0xC7,\r
+0xCE,0x0C,0x94,0x2C,0x33,0x76,0xCE,0x13,0x9D,0xE1,0x92,0x2A,0xFA,0x42,0x29,0x85,\r
+0x95,0xDC,0x1F,0xA7,0x5C,0xD8,0x60,0xD2,0x40,0x8D,0x23,0x9B,0xA3,0x1B,0xCB,0x3E,\r
+0x8F,0x4A,0x93,0x2B,0x63,0x62,0xDA,0x57,0x12,0xDC,0x20,0x98,0x89,0x31,0xBC,0x63,\r
+0x0B,0xAE,0xF3,0x4B,0x9B,0xB7,0x0F,0x7A,0x36,0xD8,0x00,0xB8,0xFB,0x43,0x09,0xA4,\r
+0xE8,0x03,0xBD,0x05,0xF0,0x39,0x81,0x9F,0x09,0xEA,0x0D,0xB5,0x26,0x9E,0xF3,0x83,\r
+0x6C,0xE7,0xDD,0x65,0x17,0x57,0xEF,0x16,0x7E,0x50,0xC0,0x78,0x53,0xEB,0x07,0x02,\r
+0x70,0x5F,0x79,0xC1,0xF5,0x0E,0xB6,0xAD,0xFA,0x80,0x94,0x2C,0x1A,0xA2,0xA5,0xE9,\r
+0x31,0x19,0x7E,0xC6,0x3F,0xD6,0x6E,0xBF,0x7B,0x74,0xE1,0x59,0x1C,0xA4,0xC4,0x8E,\r
+0xBD,0x75,0x9E,0x26,0xFA,0xB1,0x09,0x1D,0xCE,0x5F,0x7F,0xC7,0xD9,0x61,0x7C,0xF3,\r
+0x18,0xA6,0xE8,0x50,0x84,0x0C,0xB4,0xDE,0x1B,0x20,0xD5,0x6D,0x5F,0xE7,0x15,0x1C,\r
+0x86,0xD4,0x04,0xBC,0x39,0xFE,0x46,0x91,0xFF,0xA4,0xB5,0x0D,0xC0,0x78,0x1E,0x88,\r
+0xA7,0xE3,0x12,0xAA,0x9D,0x9F,0x27,0x54,0x84,0xC6,0xAC,0x14,0x8D,0x35,0xAC,0x77,\r
+0x3C,0xA3,0xC9,0x71,0x21,0x7A,0xC2,0x0D,0x93,0x28,0x55,0xED,0xD7,0x6F,0x1F,0x9E,\r
+0x40,0x6A,0x7C,0xC4,0x4B,0xE3,0x5B,0xFE,0xA5,0xE6,0xAD,0x15,0x37,0x8F,0x93,0xF2,\r
+0x99,0x70,0xBF,0x07,0xA6,0x05,0xBD,0xF5,0xE2,0x48,0x44,0xFC,0xA2,0x1A,0xEB,0x1F,\r
+0xED,0x31,0x8A,0x32,0xA8,0xAD,0x15,0x53,0x9C,0x0E,0x7C,0xC4,0x47,0xFF,0x57,0x46,\r
+0x82,0xF0,0x24,0x9C,0x47,0x43,0xFB,0x52,0x14,0x06,0xFC,0x44,0x60,0xD8,0x12,0x24,\r
+0x7D,0xE5,0xCE,0x76,0xDF,0x87,0x3F,0x0E,0xD3,0xB3,0x8E,0x36,0xC3,0x7B,0x4F,0xDA,\r
+0xEC,0x27,0x9D,0x25,0x01,0x7B,0xC3,0x2C,0x65,0x66,0xED,0x55,0x61,0xD9,0x32,0x05,\r
+0x44,0x4E,0x5C,0xE4,0xBE,0x81,0x39,0x69,0x55,0x72,0xC9,0x71,0xA7,0x1F,0xDB,0x2A,\r
+0xC5,0x98,0x0B,0xB3,0x79,0xEE,0x56,0xC1,0xA0,0xC2,0x8C,0x34,0xA8,0x10,0x98,0x66,\r
+0x42,0x60,0x74,0xCC,0x45,0x4B,0xF3,0x58,0x81,0xE2,0x8D,0x35,0xDF,0x67,0x1D,0x94,\r
+0x88,0x72,0xAC,0x14,0x8B,0xB3,0x0B,0x6E,0xFD,0xB5,0xA6,0x1E,0x2B,0x93,0xC1,0xBC,\r
+0xF7,0xA7,0x06,0xBE,0x68,0xFD,0x45,0xC3,0x15,0xE9,0x12,0xAA,0x9A,0x22,0xAD,0x61,\r
+0x9F,0x5E,0x97,0x2F,0xB7,0x16,0xAE,0xF7,0xAA,0xC0,0x84,0x3C,0x83,0x3B,0xCF,0x1A,\r
+0xE4,0xAF,0x1D,0xA5,0x6B,0xE2,0x5A,0xDF,0x76,0x43,0xDB,0x63,0x68,0xD0,0x10,0x2E,\r
+0x52,0x74,0x70,0xC8,0xF4,0x19,0xA1,0xBB,0xE1,0xB6,0xB9,0x01,0x1B,0xA3,0x85,0xC8,\r
+0x9E,0x48,0x80,0x38,0xB8,0xA9,0x11,0x47,0x07,0x23,0xCA,0x72,0xDB,0x63,0x0D,0x80,\r
+0xA0,0xDB,0x2D,0x95,0xEE,0x95,0x2D,0x2D,0xFC,0x5A,0x48,0xF0,0x21,0x99,0xB2,0xC5,\r
+0x36,0x21,0x41,0xF9,0xE3,0x22,0x9A,0x97,0xE8,0x4A,0x4C,0xF4,0x7F,0xC7,0x11,0x38,\r
+0xB1,0xD9,0x3E,0x86,0x71,0x6E,0xD6,0x49,0xC6,0x4C,0x64,0xDC,0xCC,0x74,0x0C,0x96,\r
+0xF9,0x01,0xAE,0x16,0xD0,0x38,0x80,0xBE,0x50,0x56,0xE8,0x50,0xC2,0x7A,0x6F,0xFB,\r
+0x24,0x3F,0x4D,0xF5,0xD7,0x07,0xBF,0x86,0xB3,0xE7,0xBA,0x02,0x00,0xB8,0x96,0xC0,\r
+0x8C,0x56,0x8C,0x34,0x04,0x4C,0xF4,0x1E,0x9B,0x3B,0x4E,0xF6,0x9C,0x24,0xCC,0x06,\r
+0x58,0xF6,0xF8,0x40,0x92,0x20,0x98,0xE4,0x11,0x22,0xDD,0x65,0x58,0xE0,0x54,0x5A,\r
+0x69,0xD5,0xEA,0x52,0x4E,0xD4,0x6C,0xCC,0x37,0x37,0xEE,0x56,0x17,0xAF,0x97,0xD6,\r
+0x2B,0x8F,0xF2,0x4A,0xAA,0xA5,0x1D,0x59,0xF8,0x91,0x87,0x3F,0x3B,0x83,0x81,0xEC,\r
+0xFC,0x33,0x99,0x21,0x3A,0xE1,0x59,0x8D,0x8A,0x0F,0x6B,0xD3,0x66,0xDE,0x73,0x43,\r
+0x16,0x00,0x40,0xF8,0x59,0xEF,0x57,0xE0,0x7C,0x41,0xD3,0x6B,0x33,0x8B,0x83,0xE6,\r
+0xAB,0x4F,0xB2,0x0A,0x7F,0xC6,0x7E,0xEF,0xAC,0x1A,0x58,0xE0,0x10,0xA8,0xD6,0x90,\r
+0x6D,0xF1,0xCA,0x72,0x00,0x6C,0xD4,0x3A,0xDD,0x7A,0x49,0xF1,0x84,0x3C,0x8E,0x5C,\r
+0x78,0xD7,0xF9,0x41,0x1C,0xC8,0x70,0x82,0x25,0xFD,0x36,0x8E,0xA4,0x1C,0x8A,0x78,\r
+0xA9,0x45,0xBA,0x02,0x27,0x52,0xEA,0x23,0xEE,0x90,0x90,0x28,0xDA,0x62,0x2D,0xA1,\r
+0xDA,0x3C,0xB0,0x08,0xB4,0x09,0xB1,0xEB,0xCB,0x7B,0x5E,0xE6,0x23,0x9B,0xC3,0xB6,\r
+0x55,0x4C,0x4F,0xF7,0x75,0x4E,0xF6,0x6D,0x35,0x26,0xFD,0x45,0xAB,0x13,0xC9,0x34,\r
+0x89,0x64,0xBB,0x03,0x5E,0xD0,0x68,0xD8,0x28,0xCA,0x0C,0xB4,0x88,0x30,0x9C,0x42,\r
+0xAF,0x6B,0x92,0x2A,0x14,0x48,0xF0,0x0A,0x30,0x02,0xDC,0x64,0x5D,0xE5,0x64,0x6F,\r
+0xF6,0xB1,0x11,0xA9,0xD9,0xAF,0x17,0x20,0xC9,0x6A,0x4D,0xF5,0xB9,0x01,0xF8,0x17,\r
+0xB0,0xCF,0x29,0x91,0xE5,0x0A,0xB2,0xB9,0x29,0x25,0xE2,0x5A,0x77,0xCF,0x13,0x32,\r
+0xF1,0x89,0x2E,0x96,0xE0,0x3D,0x85,0x8B,0xBA,0x1B,0x4F,0xF7,0xA6,0x1E,0xFB,0x0B,\r
+0x65,0x79,0x4A,0xF2,0xA1,0x3A,0x82,0xCD,0x99,0x2A,0x5D,0xE5,0x27,0x9F,0xD3,0xA2,\r
+0x05,0x08,0x5B,0xE3,0x5B,0xE7,0x5F,0xEA,0x8C,0xD5,0xB7,0x0F,0x08,0xB0,0x94,0xCA,\r
+0x08,0xB2,0xEC,0x54,0xC7,0x03,0xBB,0x92,0x73,0x67,0xFA,0x42,0x31,0x89,0xF2,0x95,\r
+0x51,0x68,0x6F,0xD7,0x30,0x69,0xD1,0x0F,0x5D,0x61,0xD2,0x6A,0xFF,0x47,0x19,0xB0,\r
+0x46,0x44,0x54,0xEC,0x0A,0xE4,0x5C,0xB8,0x10,0xCD,0x33,0x8B,0xD2,0x6A,0x2F,0xAB,\r
+0x38,0x87,0xE9,0x51,0x34,0x49,0xF1,0x2B,0x41,0x62,0xCD,0x75,0x2F,0x97,0xD1,0xA8,\r
+0xDD,0x04,0x8F,0x37,0xD4,0x18,0xA0,0x9A,0x51,0xB9,0x06,0xBE,0x30,0x88,0xD2,0xB4,\r
+0x92,0x1B,0x04,0xE1,0x54,0xED,0xCE,0xDD,0x3A,0xB3,0xE4,0x20,0x62,0xBE,0xAB,0x22,\r
+0xA4,0x2D,0x21,0xF2,0x43,0xEC,0xD8,0xCA,0xFA,0x73,0xAC,0xA8,0xF5,0x52,0xD0,0x59,\r
+0x2B,0xA2,0x6A,0x36,0x3E,0x1A,0x53,0xB7,0x97,0x1E,0x77,0x1E,0xF4,0x44,0xC7,0x4E,\r
+0x61,0xE8,0x99,0x8F,0x83,0x64,0x90,0x0A,0x56,0xDF,0x1E,0xB6,0x7E,0x06,0x0F,0x86,\r
+0x64,0xED,0xA9,0xBA,0x70,0xF9,0xFE,0xF9,0xA9,0x20,0x6E,0x39,0xCD,0xEF,0x55,0xDC,\r
+0x34,0xBD,0x69,0x2A,0x86,0x54,0xA5,0x0F,0xEA,0x63,0xFC,0xE8,0x79,0x3E,0x30,0xB9,\r
+0x24,0xAD,0x29,0x7A,0x38,0x7B,0x34,0xB1,0xC0,0x49,0xA1,0x9F,0x37,0xC8,0x88,0x01,\r
+0x3A,0xB3,0x0A,0x47,0x65,0x89,0x9B,0xEC,0xFE,0x77,0xB8,0xB8,0xD0,0x41,0xE6,0x6F,\r
+0x28,0xA1,0x3B,0x64,0xA2,0x40,0x95,0x2B,0x04,0x8D,0xFD,0x07,0x50,0x81,0xA6,0x2F,\r
+0x8C,0x05,0x27,0xDC,0xFB,0xA2,0x2E,0x72,0x50,0xD9,0x79,0xD7,0xF2,0x6A,0xEF,0x66,\r
+0x8B,0x02,0x66,0x9A,0x23,0x68,0x3C,0xAA,0x25,0xAC,0xF8,0x23,0x93,0x0D,0xE9,0x60,\r
+0x6B,0xE2,0xEA,0xF6,0x44,0xAD,0x9E,0xCD,0xBB,0x32,0x4D,0x08,0x2B,0x70,0x2C,0xA5,\r
+0xEA,0x63,0xC2,0x5F,0x2D,0x0B,0x51,0xA4,0xE7,0x6E,0xC3,0xDA,0x9C,0xBD,0x56,0xDF,\r
+0x66,0xEF,0xD8,0xC9,0x97,0x34,0xD4,0x1E,0xE4,0x6D,0x91,0x8B,0xEB,0xE0,0x7C,0xF5,\r
+0x06,0x8F,0x5C,0x2D,0x42,0xCC,0xF9,0xCB,0xC4,0x4D,0xB5,0x8F,0x5E,0x27,0x0E,0x87,\r
+0x48,0xC1,0xBF,0x80,0xCC,0xA7,0x1C,0x45,0xC9,0x40,0x8A,0xBD,0xA4,0x00,0xD3,0x5A,\r
+0x89,0x00,0x17,0xE9,0x16,0x1C,0x7D,0x9F,0x69,0xE0,0x26,0xB1,0xC4,0x71,0xC2,0x4B,\r
+0x4A,0xC3,0xCE,0xF3,0xF0,0xF1,0x76,0x79,0x80,0x09,0x61,0x1F,0xBC,0x9C,0x57,0xDE,\r
+0x7F,0xF6,0xBA,0xB2,0x58,0xFF,0xD0,0xD1,0xB8,0x31,0x1F,0x59,0x00,0xC5,0xB2,0x3B,\r
+0xD1,0x58,0xD5,0x73,0xB6,0x10,0xD1,0x3F,0x38,0xB1,0x97,0x51,0x45,0xA7,0x95,0x1C,\r
+0x1D,0x94,0x4F,0x25,0xF9,0xD3,0x5D,0x70,0x11,0x98,0x98,0x77,0x42,0x9F,0xAA,0x23,\r
+0xF1,0x78,0xD1,0x57,0x0B,0x6E,0x12,0x82,0x71,0xF8,0x7C,0xF3,0x49,0x0B,0x35,0xBC,\r
+0xE7,0x6E,0xF0,0x60,0x6A,0xCA,0xD7,0xE3,0x68,0xE1,0x07,0x91,0xFB,0xF4,0x78,0xF1,\r
+0x3C,0xB5,0x6B,0x20,0x8F,0x76,0x8E,0x06,0x91,0x18,0x10,0x7F,0x48,0x1D,0x22,0xAB,\r
+0x81,0x08,0x15,0xE3,0xBE,0x12,0xDB,0x37,0x49,0xC0,0x02,0xB5,0x4A,0x17,0x2A,0xA3,\r
+0x59,0xD0,0xDF,0xF1,0x46,0xDC,0xED,0xCF,0x62,0xEB,0x7E,0xE2,0x96,0x3F,0xDE,0x57,\r
+0xF3,0x7A,0xA0,0x24,0x08,0x3F,0x40,0x81,0xD6,0x5F,0x96,0xBE,0xFA,0xE2,0x6F,0xE6,\r
+0x62,0xEB,0xC8,0xDD,0xE3,0xE0,0x74,0x6A,0x40,0xC9,0x29,0x97,0x98,0x99,0x76,0xFF,\r
+0x3B,0xB2,0x2A,0x66,0x72,0x88,0x8D,0xFB,0x4A,0xC3,0x50,0xE4,0x18,0x59,0x36,0xBF,\r
+0x68,0xE1,0xBB,0xA4,0x8E,0x56,0xAF,0x07,0x29,0xA0,0xE6,0x31,0x65,0x86,0x94,0x1D,\r
+0xA9,0x20,0x13,0xCD,0x74,0xE9,0xEA,0xFD,0x0D,0x84,0xD6,0x25,0x8C,0xA9,0x52,0xDB,\r
+0xFE,0x77,0x92,0x1B,0x1B,0x2E,0x42,0x92,0x48,0xC1,0x23,0x95,0xCF,0xE5,0x5D,0xD4,\r
+0xB4,0x3D,0x61,0xA2,0xD7,0xB4,0x14,0x5E,0x88,0x01,0x6B,0x1D,0x46,0xBB,0x8A,0x03,\r
+0xCB,0x42,0xE6,0x5A,0x9B,0x26,0xCA,0x12,0xA0,0x29,0x45,0x1B,0x5B,0x15,0x39,0xB0,\r
+0x5B,0xD2,0xAE,0x82,0xCD,0x87,0x3D,0x44,0x2C,0xA5,0xD3,0x01,0x38,0x78,0x37,0xBE,\r
+0xB8,0x31,0x73,0xBC,0xF2,0x80,0x05,0x7B,0x7E,0xF7,0x30,0xB0,0xC1,0x43,0xF5,0x7C,\r
+0xE8,0x61,0xB3,0x2C,0x17,0x3C,0x5C,0x9E,0x1F,0x96,0xF5,0x14,0x47,0xAD,0x9D,0x14,\r
+0x85,0x0C,0x05,0xF7,0xEC,0xA3,0x38,0x65,0x7D,0xF4,0x62,0xE1,0xD2,0x4B,0xEE,0x67,\r
+0x75,0xFC,0xC9,0xCB,0x5C,0xEF,0xC4,0xD5,0x0E,0x87,0x84,0x74,0x5A,0x03,0x2E,0xA7,\r
+0xD8,0x51,0xF7,0x58,0x60,0xB9,0xAE,0xE9,0x8C,0x05,0x7F,0x0D,0xE5,0x46,0xD4,0x5D,\r
+0x6C,0xE5,0xAB,0xB0,0x14,0x6D,0x0E,0x9D,0xAF,0x26,0x09,0x58,0x24,0xC0,0x93,0x1A,\r
+0xB5,0x3C,0x41,0x83,0x1A,0x0E,0x63,0x93,0x17,0x9E,0xFF,0x16,0xD4,0x65,0xC6,0x4F,\r
+0x47,0xCE,0xFC,0xCC,0x33,0x28,0x6C,0xBA,0x9C,0x15,0x2F,0x4D,0x81,0x13,0xE5,0x6C,\r
+0x3F,0xB6,0x3A,0x72,0x99,0x57,0xB9,0x10,0x8D,0x04,0x5E,0x2D,0xD9,0xDF,0x71,0xF8,\r
+0x79,0xF0,0xDB,0xD5,0xB9,0x53,0x9D,0x30,0x8A,0x03,0x18,0x6C,0x9B,0x85,0x69,0xE0,\r
+0x0D,0x84,0x0F,0x75,0xD5,0xC5,0x67,0x5C,0x19,0x90,0x92,0x75,0x03,0xD9,0xAD,0x24,\r
+0x1F,0x96,0x3E,0x56,0x21,0x19,0x4F,0xA8,0x2A,0xA3,0xB4,0x60,0xC0,0x55,0xE2,0x6B,\r
+0x07,0x8E,0x7C,0x0C,0x50,0xFD,0xDA,0xD9,0x43,0xCA,0x7B,0xC6,0xD6,0x6F,0xCE,0x47,\r
+0x4E,0xC7,0xDE,0xE7,0x25,0x09,0x5B,0xAC,0xC8,0x41,0xAB,0x9D,0xCB,0xC1,0x7D,0xF4,\r
+0x67,0xEE,0xF8,0xE8,0xBD,0x43,0x89,0x34,0x18,0x91,0xB3,0x55,0x33,0xEC,0xA8,0x21,\r
+0xE4,0x6D,0xA1,0x32,0x5A,0x8E,0xA3,0xD3,0x89,0x00,0x4A,0x3D,0xAF,0x94,0x4C,0xC5,\r
+0xDC,0x55,0xE7,0x4C,0xFF,0xB2,0x3A,0x76,0x26,0xAF,0xAA,0x72,0x44,0xB1,0x82,0x0B,\r
+0x0C,0x85,0x2F,0x54,0x3D,0x4B,0x01,0xB4,0xF2,0x7B,0xA6,0xAA,0xDD,0xFB,0x51,0xD8,\r
+0x4F,0xC6,0xFE,0xC6,0xA7,0x70,0xA0,0x2E,0x54,0xDD,0x6D,0xC7,0x7A,0x22,0x2F,0xA6,\r
+0x45,0xCC,0x8D,0xBF,0xFC,0xE3,0x68,0x75,0x9A,0x13,0x48,0x2C,0x94,0x35,0xD6,0x5F,\r
+0xBA,0x33,0x02,0xCF,0xBB,0x22,0xEE,0x32,0x39,0xB0,0xB6,0x71,0x9E,0xB7,0x5E,0xD7,\r
+0x9A,0x13,0x06,0xEB,0x9C,0x67,0x8C,0x15,0x16,0x9F,0xDE,0x36,0x4E,0x33,0x0A,0x83,\r
+0xA1,0x28,0x11,0xC7,0x11,0x5D,0x3B,0x98,0xF7,0x7E,0x93,0x9A,0x78,0x28,0x27,0xAE,\r
+0x1C,0x95,0x6F,0x04,0xBC,0x63,0xA8,0x35,0x09,0x80,0xC2,0x35,0x86,0x2B,0xDA,0x53,\r
+0x7A,0xF3,0x8A,0x87,0xED,0x83,0x19,0x64,0xC2,0x4B,0xD2,0xEE,0x85,0x37,0xC5,0x4C,\r
+0xDB,0x52,0xA6,0x0A,0xC8,0xB7,0x08,0x41,0x8B,0x02,0x39,0x4C,0xAC,0x88,0x53,0xDA,\r
+0xBF,0x36,0x32,0xFA,0xCF,0xF6,0x4E,0x46,0x99,0x10,0x1A,0x7D,0x84,0x21,0xD2,0x5B,\r
+0xAE,0x27,0x52,0x8B,0x12,0x0C,0x69,0x9B,0x73,0xFA,0x0F,0x82,0xC3,0x49,0xFD,0x74,\r
+0x19,0x90,0x5F,0x31,0xF6,0x90,0x11,0x7F,0x3E,0xB7,0xF0,0x30,0xA5,0x16,0xC4,0x4D,\r
+0xB6,0x54,0x62,0xAC,0x27,0x9B,0x3D,0x3C,0xE6,0xFB,0xE1,0x9D,0x41,0xBE,0xA4,0x65,\r
+0x88,0x73,0x7B,0x92,0x49,0x12,0x53,0xDB,0xC5,0xE5,0xFF,0xA0,0xEE,0xE3,0xF9,0x97,\r
+0xA2,0x04,0x26,0xB8,0xF1,0xE4,0xEB,0x95,0x85,0xF5,0xEF,0xF0,0x7F,0x5D,0x47,0xB8,\r
+0xE1,0xD5,0xB4,0xFB,0x94,0x35,0x8E,0x21,0x45,0xA5,0xBF,0x60,0x24,0xAB,0xB1,0x15,\r
+0x1E,0x5A,0xC4,0x04,0xCE,0xDC,0xD4,0x92,0x75,0xA0,0xBA,0x55,0x4A,0x58,0x42,0x88,\r
+0xDF,0xF2,0xAD,0xC5,0x06,0x9E,0x1C,0x18,0x86,0xEA,0xF0,0xEC,0x89,0xE5,0xFF,0xF6,\r
+0xB2,0x44,0x76,0xA8,0x11,0x88,0x0B,0x19,0xCD,0x65,0x7F,0x28,0x02,0x98,0x82,0x00,\r
+0x72,0xCC,0x3E,0x68,0x6A,0x64,0x70,0x8E,0xE8,0x53,0x49,0x3B,0x14,0x8F,0x95,0x01,\r
+0x81,0x51,0x50,0x9B,0x12,0xDA,0x08,0x48,0x53,0x89,0x93,0x5A,0xC6,0x17,0x0D,0x4B,\r
+0x8C,0x63,0x6F,0x96,0xCF,0xFD,0xD5,0xB2,0xB0,0xC7,0xDD,0xF7,0x23,0x99,0x83,0x20,\r
+0xAC,0x67,0x4B,0xB6,0xBD,0x3A,0xA7,0x07,0x34,0xA7,0xBD,0x13,0x0E,0x4C,0x56,0xD8,\r
+0xAF,0x36,0x19,0xB5,0x97,0x67,0x8D,0x70,0x2E,0x2B,0x31,0x85,0x8B,0xF6,0xEC,0xE7,\r
+0xF3,0xE4,0x97,0xE9,0xED,0xAA,0xF7,0xC7,0x06,0xAA,0xB0,0x2C,0x44,0x9F,0x85,0x41,\r
+0x6D,0xCF,0x22,0x77,0x28,0xD7,0x32,0x7F,0x8A,0x4A,0x50,0x40,0xE6,0xF8,0xE2,0x84,\r
+0x18,0x3B,0xA3,0x02,0x2E,0xB0,0x34,0x1E,0xCB,0x4D,0x57,0x06,0xF4,0x20,0x3A,0x4E,\r
+0x4C,0xEB,0x27,0x56,0x67,0x5B,0x7D,0xBC,0xD7,0xE9,0xF3,0xBE,0x4F,0x79,0x63,0xAC,\r
+0xD9,0x93,0xCA,0xC3,0xE3,0xC7,0xF9,0xA4,0x87,0xFD,0xE7,0xFA,0x54,0x54,0x4E,0x9A,\r
+0x20,0x7D,0xDD,0x3A,0xB9,0x2E,0xA3,0x17,0x1C,0x26,0x3C,0xBA,0x0D,0xB1,0xAB,0x26,\r
+0x39,0x1F,0xA6,0x23,0xF4,0xD1,0xEE,0xA5,0x3D,0x30,0x2A,0x8D,0xC8,0xD0,0xCA,0x82,\r
+0x59,0x9B,0x42,0x43,0x6B,0x45,0x71,0xAE,0xA3,0xDC,0xC6,0xFF,0x87,0x22,0x38,0x3F,\r
+0x70,0xBD,0x4D,0x6A,0x54,0x7D,0x4E,0xA9,0x39,0x10,0x0A,0xA9,0x0B,0x6D,0x77,0xFC,\r
+0xF0,0xB5,0xC5,0xEA,0x73,0x1F,0x69,0xEC,0x56,0xBE,0xA4,0x68,0x0A,0x83,0x99,0x13,\r
+0xC8,0xF3,0xBB,0xD2,0x96,0x46,0x8C,0x50,0x22,0x8B,0x91,0x29,0xAC,0x2B,0x31,0x1D,\r
+0x21,0x5D,0xFC,0x3B,0x03,0xAB,0x19,0x28,0xFB,0x48,0x52,0x33,0xA7,0xCD,0xD7,0xF0,\r
+0x00,0x79,0xF9,0x1A,0x9C,0x3F,0x86,0x23,0x7E,0x3F,0x25,0xC1,0x98,0xC0,0xDA,0xC2,\r
+0x45,0xC9,0x0C,0x5F,0x93,0x73,0x89,0x60,0xFF,0x68,0x72,0x17,0x30,0xAF,0xB5,0x05,\r
+0x61,0xDD,0x3C,0x7B,0x55,0x5C,0x4F,0x89,0x57,0xA9,0xB3,0x7E,0x75,0x55,0x4F,0xBA,\r
+0x02,0x08,0x8A,0x18,0xF7,0x83,0xED,0xF4,0xC6,0xFA,0xE0,0xBC,0x57,0xA9,0xB3,0x64,\r
+0x08,0x7B,0xF3,0x12,0xB7,0x43,0xAD,0x74,0x24,0xA3,0xB9,0x07,0xAE,0x38,0x22,0x0C,\r
+0x9E,0x52,0x4C,0x84,0xAE,0x38,0xB4,0x16,0x4C,0x32,0x28,0xFE,0x9A,0xD3,0xC9,0xD3,\r
+0x2A,0x0E,0xA4,0x30,0x1F,0xE5,0x05,0x7A,0x33,0x98,0x82,0x2B,0x37,0x9D,0x87,0x30,\r
+0x01,0x59,0xD8,0x1B,0xEB,0xCD,0xF1,0xA6,0xF9,0x40,0x5A,0x39,0x01,0x65,0x7F,0xFE,\r
+0xC4,0xE1,0xA5,0xDE,0x15,0x9C,0x0F,0x09,0x1B,0x19,0x03,0x82,0x74,0xBB,0xA1,0x55,\r
+0x46,0x98,0x5E,0x5C,0xEF,0xD9,0xF5,0xB6,0x25,0xB4,0xAE,0x11,0x1E,0x87,0x9D,0x03,\r
+0x35,0x0D,0xB8,0x2F,0x2F,0x91,0x35,0x3E,0xE9,0x44,0x5E,0x2D,0xE2,0x37,0x2D,0x4F,\r
+0x57,0xF8,0x2F,0x4D,0x5C,0x77,0x46,0xAB,0x5F,0x29,0x33,0xF6,0x86,0xCC,0xD6,0xD0,\r
+0x36,0x5C,0xEA,0x2C,0x34,0x99,0x2E,0x2D,0x9F,0x79,0x63,0x66,0xDF,0x29,0x33,0x6C,\r
+0x64,0xED,0x09,0x7E,0xF6,0xA2,0xEC,0xD4,0x42,0x9A,0x80,0x58,0xE7,0x16,0x0C,0x6B,\r
+0xE8,0xF7,0x9F,0xF2,0xF8,0xCF,0xE2,0xB7,0x0A,0x0A,0x10,0x80,0x10,0x40,0x5A,0xCA,\r
+0xC0,0xF1,0xB1,0xDA,0x4B,0x61,0x51,0xAA,0x8D,0x75,0x6F,0x78,0xCE,0x0C,0x16,0x58,\r
+0x0B,0x2A,0xA1,0x11,0x0F,0xB5,0x15,0x3A,0x90,0xC6,0xDC,0xD6,0x00,0x8B,0x91,0x11,\r
+0x62,0x8C,0x6E,0x78,0x23,0x8F,0x39,0x2C,0xD2,0xDE,0xC4,0x8C,0x95,0xFA,0xE0,0xF5,\r
+0x51,0x99,0x48,0x4B,0x6C,0x03,0x76,0xEF,0xE3,0xCC,0xD6,0xAF,0xBD,0x0E,0x14,0x29,\r
+0xC2,0x80,0xC2,0xD8,0xA8,0x5F,0xB2,0x77,0x37,0xB8,0xA2,0x0F,0x47,0x62,0x78,0xBF,\r
+0xC5,0xC1,0x84,0xDF,0xB0,0x05,0xAA,0x35,0xD6,0xFE,0xE4,0xA8,0x63,0x42,0x58,0xBB,\r
+0xD4,0xA1,0xF5,0xCE,0x24,0xC9,0x3E,0x6D,0x10,0x86,0x9C,0x16,0xB6,0xE8,0xF2,0xC4,\r
+0x5F,0xFA,0x25,0x45,0x07,0xBF,0x1D,0x38,0xAD,0x74,0x6E,0x59,0xB9,0xC1,0xDB,0xE2,\r
+0xE7,0xB4,0xD3,0xFD,0x52,0x1A,0x48,0xC8,0x47,0xAD,0xB7,0x6A,0xD4,0xCF,0xD5,0x81,\r
+0x71,0x9D,0x6C,0x6B,0x9F,0x6D,0x85,0x72,0xEE,0x7B,0x61,0x15,0x34,0x60,0x7A,0xCE,\r
+0xD2,0xC0,0x92,0xC8,0x17,0xEF,0x0D,0x78,0x61,0x84,0x9E,0x65,0xB2,0x27,0x3D,0x0F,\r
+0x1C,0x2B,0xB7,0x06,0xEE,0xF8,0xF4,0x96,0x12,0x8E,0x94,0x1C,0x7A,0x7C,0x66,0x9C,\r
+0xBA,0x46,0x7C,0xA0,0x90,0x21,0x8A,0x31,0xC3,0xCD,0xD7,0x8E,0xDB,0xE6,0xFC,0xA7,\r
+0x6E,0x9E,0x70,0x74,0x43,0x6B,0x59,0xA8,0x0B,0x1D,0x07,0x96,0xE0,0x24,0x3E,0x5E,\r
+0xC1,0xD1,0x90,0xDB,0x8D,0x4E,0x97,0x43,0x4D,0x25,0x3F,0xE8,0x79,0x81,0x9B,0x62,\r
+0x50,0xB9,0x69,0x4A,0x69,0x36,0x73,0xDF,0x14,0xA6,0xBC,0x32,0x53,0x66,0x7C,0xAF,\r
+0x80,0x71,0x71,0x9A,0xBC,0x1B,0xA6,0x27,0x32,0x8F,0x95,0x3D,0x81,0xFE,0xE4,0xE5,\r
+0x76,0xDC,0x2A,0x6C,0x05,0xCC,0x1F,0x49,0xB3,0xD8,0xC2,0xEB,0xCB,0x2D,0x37,0x7C,\r
+0x3B,0x6E,0xD5,0x21,0x3C,0x93,0x26,0x2F,0xBE,0x6F,0x75,0x51,0xB3,0xC9,0xD3,0xE0,\r
+0xD1,0x91,0xC0,0xCB,0x13,0xFB,0x09,0x68,0xDE,0x7E,0x64,0x20,0x94,0x14,0x0E,0x1A,\r
+0xC3,0xA0,0xE3,0xD9,0x92,0x52,0x88,0x40,0x4A,0x1A,0x00,0xD0,0xD2,0x13,0x09,0x5B,\r
+0x8A,0x02,0x08,0x90,0x04,0xED,0x1E,0x69,0x66,0xBB,0xA1,0x5D,0xC3,0x36,0x2C,0x6F,\r
+0x41,0xD9,0x18,0x5B,0x1B,0xF1,0x01,0x6A,0x83,0xDD,0xC7,0xDE,0x72,0x67,0x7D,0x8F,\r
+0xBF,0x76,0x49,0xA5,0xE6,0xF2,0xFC,0x94,0xFD,0x60,0x7A,0x1D,0xE1,0xCA,0xD0,0xB1,\r
+0x5E,0xDA,0x04,0x44,0xCB,0xE9,0xD1,0xA2,0xEA,0x5B,0x41,0x31,0x56,0x47,0x5D,0x8B,\r
+0x2D,0x6C,0xD6,0xE3,0x07,0x31,0x2E,0x8B,0xBB,0x73,0x6A,0x01,0xA2,0x37,0x8D,0x18,\r
+0x3E,0x5A,0xE0,0xC6,0x11,0x26,0x2F,0x9C,0x7B,0x3B,0xE2,0xC1,0xD9,0xA0,0x61,0x63,\r
+0x50,0xA9,0x13,0x5B,0x4F,0xF1,0xA6,0x4B,0x17,0xC1,0x74,0xAD,0x7D,0xBC,0xD9,0xC7,\r
+0xE9,0xE3,0x59,0xA8,0x8C,0x4C,0xD8,0xF6,0xD6,0xA8,0xDC,0x6C,0xB5,0x36,0x9B,0x0F,\r
+0xF5,0xFC,0x46,0xAB,0x7A,0xF4,0x96,0x4E,0xAB,0x23,0x2A,0x11,0x42,0xBB,0xE1,0xF8,\r
+0x65,0xAC,0x16,0x6B,0x21,0x02,0x3B,0xB8,0xE8,0xB1,0xFB,0x52,0x27,0x0F,0x30,0x9D,\r
+0x98,0xF2,0x48,0xC8,0x44,0x17,0x4B,0xAD,0xBF,0x67,0x7A,0x05,0x94,0x12,0x9E,0x2E,\r
+0xA5,0xEC,0x56,0xEB,0xEB,0x4A,0xB9,0xF0,0x81,0x7E,0x5D,0x3B,0xFA,0xF5,0x17,0x40,\r
+0x03,0x44,0xFE,0xE5,0xF1,0x89,0x60,0x33,0x11,0xA6,0x15,0xAB,0x9D,0x30,0xB5,0x27,\r
+0xBB,0xE0,0x5A,0xF9,0x4A,0xD0,0x82,0x6A,0x45,0x22,0xC5,0xFF,0xD4,0x92,0x5E,0x6E,\r
+0x29,0xA3,0x19,0x28,0x41,0x36,0x6F,0x8C,0xFA,0x92,0xCA,0x40,0x5E,0xE9,0xAF,0xE4,\r
+0x45,0x43,0xF9,0xA4,0xE3,0x51,0xAA,0xEB,0x64,0x27,0xE1,0xDE,0x9B,0x51,0xD2,0x21,\r
+0x16,0xAE,0x14,0x1A,0x0B,0xE5,0xF6,0x5F,0xA5,0x4E,0x49,0x1F,0x0E,0x29,0x3F,0xB4,\r
+0x80,0x22,0x98,0x00,0x8E,0x5F,0xC9,0xE5,0xA6,0x1C,0x18,0x1C,0x24,0x5E,0x62,0x9E,\r
+0x5F,0x80,0x3A,0x7D,0xC3,0xBE,0x65,0x04,0x88,0x55,0x7F,0x32,0xA1,0x66,0xDF,0x1B,\r
+0xF2,0xCE,0x74,0x9E,0x26,0x30,0x0E,0x8A,0x85,0x6A,0x4D,0x3F,0x7C,0x9C,0xF8,0xC6,\r
+0x2C,0x82,0x38,0x0C,0xA9,0x82,0x33,0x38,0xC1,0xBE,0xDD,0x7B,0x25,0x7E,0x43,0x9F,\r
+0x36,0x41,0xFB,0xD5,0xA2,0x64,0xDE,0xDE,0x28,0xF9,0x73,0x92,0xB0,0x06,0xAE,0x0A,\r
+0xAC,0x19,0xA3,0x17,0x0E,0xC4,0xD2,0x7E,0x79,0x48,0x93,0xC3,0xE7,0x87,0x78,0x5D,\r
+0x6D,0xB7,0x0D,0x78,0x0F,0x2A,0x3D,0x90,0xF9,0xC0,0x9B,0x43,0xC0,0xC2,0x1A,0x7A,\r
+0x88,0x39,0x83,0x13,0xCD,0x79,0xAC,0xC3,0x30,0xA3,0x31,0x8A,0x47,0x8B,0xD4,0xFD,\r
+0xFA,0xD5,0x6F,0x8D,0x82,0x8B,0x11,0x31,0x50,0x47,0xB5,0xEA,0xD8,0x80,0x40,0x62,\r
+0xFF,0xF4,0x4E,0xA9,0x51,0xFD,0xB4,0x47,0xD0,0xCF,0xBD,0x6A,0x50,0x8A,0xC2,0xEA,\r
+0xBF,0x2F,0x95,0x32,0x08,0x18,0x08,0xA2,0x29,0xD8,0x53,0x93,0x0A,0x39,0x2B,0xB0,\r
+0x2E,0x91,0x2B,0x1D,0x32,0x34,0x1E,0x8E,0x23,0xA1,0x20,0x99,0xAC,0x54,0xE0,0x16,\r
+0x3C,0x49,0xF3,0xD7,0x04,0xCC,0xD0,0x76,0x08,0xDD,0x77,0xB2,0x58,0x88,0xC8,0xE2,\r
+0x02,0xAA,0x10,0x0A,0xAB,0x91,0x22,0x2B,0x01,0xF6,0x55,0xBB,0x04,0x5A,0x46,0xBE,\r
+0xFB,0x3B,0x81,0x62,0x9F,0x7A,0xFD,0xC0,0x97,0x49,0x7C,0x2D,0x1D,0x38,0x3D,0xA7,\r
+0x7B,0xA0,0x1A,0x79,0x70,0xFC,0x94,0x46,0x68,0x39,0xF3,0xD2,0xE6,0xA7,0x59,0x5C,\r
+0xB9,0xF3,0x49,0xE8,0x52,0x00,0x4A,0xBA,0x0B,0x8F,0x26,0xB1,0x44,0xDA,0x86,0xFE,\r
+0xC4,0x36,0x8C,0x50,0x9D,0x69,0xEC,0xD3,0x09,0xFC,0x57,0xB3,0x2F,0x0D,0x3A,0x95,\r
+0x12,0x61,0xDB,0xD1,0x35,0x06,0x2B,0xBC,0x4C,0x09,0xE7,0xF6,0x20,0x4E,0x76,0x9A,\r
+0x85,0x03,0xB9,0x24,0x15,0xE9,0xE4,0x53,0xE1,0x9A,0xD9,0x5B,0x4B,0x99,0xCA,0xF1,\r
+0x7D,0x7C,0xC6,0xA3,0xCB,0xA5,0x76,0x1F,0xC9,0xB4,0xDF,0x73,0xF8,0x84,0x64,0x42,\r
+0x63,0x70,0xCA,0xB1,0xDA,0x80,0x42,0x3A,0x3F,0xEF,0x72,0x85,0x87,0x03,0x9C,0x3D,\r
+0x5D,0x93,0x29,0x6C,0xE2,0xBF,0x45,0x05,0x6D,0x0C,0xC3,0xD7,0x45,0xFA,0xA7,0xFF,\r
+0x28,0x4D,0xF7,0xC7,0xE7,0x9E,0x61,0x24,0x3C,0xBD,0x23,0x86,0x9C,0x10,0x94,0x26,\r
+0xF3,0x20,0x9A,0x71,0x83,0x65,0xFE,0xDF,0x5E,0x2A,0xD6,0xE4,0xEF,0x85,0x72,0x55,\r
+0x87,0x10,0xAA,0x35,0x71,0x12,0x7B,0xA8,0xCD,0xA0,0xCF,0x77,0xA6,0x27,0x99,0x1C,\r
+0x14,0xBD,0x07,0x0B,0x1B,0x2E,0x2D,0x94,0x4F,0x5B,0xB6,0xF5,0x5C,0x98,0xDC,0xE6,\r
+0x5C,0x7D,0xC7,0x83,0xBC,0x68,0xCC,0xD2,0x56,0x20,0xD4,0xEC,0xB4,0x16,0xBA,0x0E,\r
+0x6F,0xA4,0x1E,0x69,0xD1,0x66,0xAF,0xDC,0xEE,0xD6,0x9A,0x54,0xE1,0xE6,0x1F,0x5B,\r
+0xAD,0xF7,0x4D,0xF8,0x66,0xEB,0x95,0x51,0xCC,0x81,0xEF,0x76,0x03,0x1B,0x00,0xB9,\r
+0x13,0x8F,0x35,0x3E,0xB3,0x41,0xEA,0xFB,0xDD,0xF0,0x8F,0x67,0x97,0x43,0xCC,0x2D,\r
+0xAA,0xC5,0x7F,0xCD,0xB8,0xA7,0x07,0x1D,0x58,0x4D,0xB7,0xE2,0xDF,0xC1,0x06,0x65,\r
+0x0A,0xB1,0x0B,0x19,0x42,0xCB,0x91,0x71,0xCB,0xC7,0xAE,0x71,0x1B,0x59,0x5A,0xA1,\r
+0xD3,0xCF,0x75,0xBE,0x05,0x22,0x3F,0x98,0x02,0xA4,0x04,0xB8,0xBC,0x14,0xB0,0x06,\r
+0x89,0xD7,0x6D,0xFC,0x90,0x53,0xDB,0xE9,0x6B,0x6B,0xA2,0xD1,0x90,0x02,0x8A,0x2A,\r
+0x37,0xAF,0x15,0x3A,0x56,0xCF,0x81,0x75,0x59,0x6C,0x97,0xE3,0xDA,0xF1,0x33,0x60,\r
+0x38,0x86,0x3C,0x1C,0x84,0x57,0xCB,0xED,0x89,0x74,0x5F,0x33,0x0F,0x09,0x1E,0xB5,\r
+0x93,0x14,0xAE,0x25,0xE5,0x8D,0x70,0x37,0x67,0x75,0xB0,0xDD,0xF0,0x86,0x6E,0x4A,\r
+0xED,0x2C,0x96,0x63,0x7C,0x28,0x4C,0x92,0xC8,0x95,0xFF,0x72,0x3E,0x6D,0x4B,0x84,\r
+0x19,0x87,0x3D,0x3C,0x7F,0xD5,0xB2,0x6F,0x15,0xB2,0x05,0xAF,0x5D,0xB8,0xFD,0xE7,\r
+0x8B,0xC4,0x7E,0xED,0xDE,0x4F,0x89,0xF5,0xB3,0x79,0x68,0x09,0x23,0x1F,0x24,0x99,\r
+0x10,0x72,0xC8,0xC0,0x31,0xC9,0xE0,0x73,0x78,0x69,0xB3,0xC2,0x2C,0x5C,0x68,0x96,\r
+0x60,0x8D,0x37,0x4F,0xB7,0x8E,0x21,0x34,0xDB,0x97,0xEE,0x61,0xA4,0x56,0xEA,0x1E,\r
+0x18,0x69,0xD3,0xD3,0xE4,0x63,0x9F,0xD9,0xB6,0x4C,0x58,0x0C,0x55,0xBA,0xF7,0xEF,\r
+0x34,0x52,0xE8,0xC4,0x53,0xEE,0xA5,0x54,0x57,0x01,0xF4,0xED,0x78,0x8C,0xEC,0xC2,\r
+0x58,0xB2,0x08,0x48,0xC6,0x9F,0x41,0x25,0x83,0x0D,0x2C,0x39,0xB7,0x47,0xE8,0x0D,\r
+0xDB,0xD4,0x6E,0xAD,0x77,0xCE,0xA1,0x74,0x48,0x1D,0xF7,0xF2,0xA8,0x44,0xF4,0x12,\r
+0x25,0x77,0xCD,0xF0,0x91,0xBD,0x34,0x07,0xD8,0xC5,0xBF,0x62,0xA0,0x46,0xFE,0x1A,\r
+0xD5,0x13,0xA9,0x64,0xD7,0xBA,0x75,0x00,0xCA,0xE6,0x8E,0x70,0x21,0x6E,0x57,0x9B,\r
+0xEE,0xD1,0x6B,0x9D,0xCE,0x84,0x52,0x3E,0x7F,0x2F,0xF2,0xC5,0xB6,0x67,0xC9,0x0C,\r
+0x54,0x66,0xDC,0x90,0xB6,0x60,0xCE,0xDA,0x32,0xD0,0x40,0x88,0x8F,0x01,0x96,0x35,\r
+0x9A,0x83,0x8E,0x77,0xEF,0x0F,0x02,0x77,0xB7,0xBF,0x52,0x9F,0xDB,0x46,0xAB,0xE7,\r
+0xFF,0x37,0x5F,0x12,0xAC,0x9D,0x41,0xA6,0x1A,0x49,0xA4,0xC4,0x4B,0x16,0xFB,0x27,\r
+0x47,0x79,0xA9,0xAA,0x86,0xC0,0x6B,0xD1,0x35,0xF7,0x1A,0x55,0x1B,0x06,0xEB,0x67,\r
+0x29,0x9E,0x20,0xC4,0xB8,0xD9,0x55,0xF6,0xC7,0xAA,0x47,0xFA,0x26,0x18,0xF5,0x44,\r
+0x64,0x2C,0xDF,0x89,0x7C,0x85,0x91,0x6E,0xA3,0x9B,0x76,0xAF,0x80,0xB0,0x5D,0x4A,\r
+0x1F,0xBB,0x33,0xF2,0xBC,0xCD,0x51,0xE6,0xA2,0x8C,0x61,0xB9,0x93,0x86,0x6B,0x6F,\r
+0x08,0xBA,0x25,0xE5,0xD1,0x16,0x3C,0x50,0x54,0xF1,0x1C,0x32,0x57,0x09,0xE4,0x24,\r
+0xC0,0x30,0x67,0x2D,0x10,0x7F,0xFD,0xF8,0x2A,0x4C,0xA1,0xF1,0xEE,0x43,0xAE,0xD7,\r
+0x99,0xD2,0xDC,0x74,0xA1,0xA2,0x4C,0x94,0x45,0xE2,0x0F,0x30,0x3E,0xC8,0x25,0x8C,\r
+0xB3,0xA5,0x81,0x5E,0xA2,0xF0,0x4F,0xC5,0x7A,0x58,0xB5,0xB5,0xA8,0x44,0xA9,0x96,\r
+0xC1,0x10,0x46,0x2C,0x82,0xD4,0x6F,0xC1,0x82,0x8D,0x60,0x98,0x4C,0x24,0xC9,0x12,\r
+0x1C,0xEA,0x61,0xF1,0x8F,0xEB,0x62,0xF3,0xE9,0x03,0xEE,0x7D,0xE1,0x6A,0x87,0xF1,\r
+0x69,0x1E,0xE0,0x84,0x42,0x9C,0xAF,0x49,0x0E,0x6D,0x80,0xF4,0x05,0x0A,0xE7,0x75,\r
+0x20,0xBC,0x0B,0xCD,0x16,0x18,0xFB,0x99,0xEC,0x34,0xD9,0x4F,0xBD,0xAE,0x43,0x69,\r
+0x26,0xDD,0x6C,0xCB,0x63,0x99,0x8E,0x6D,0x26,0xEC,0x01,0x5D,0xFB,0xA9,0x44,0x28,\r
+0xE3,0x65,0x11,0x0E,0xFD,0x2C,0x10,0x46,0xE3,0x8B,0x66,0xFF,0x97,0x49,0xA4,0xA4,\r
+0x65,0x0C,0xFE,0x88,0x57,0xF9,0xBA,0x39,0x9D,0x36,0xDB,0x3C,0x44,0x3F,0xD2,0x01,\r
+0xFA,0x07,0x6A,0x17,0x37,0x1D,0xDA,0xBD,0x20,0xC4,0x29,0x73,0x36,0xD3,0x3E,0x9F,\r
+0xB7,0xB5,0x95,0x5A,0x2E,0x66,0xC3,0xDF,0x84,0xA5,0x48,0xB6,0x01,0xC5,0x28,0xBE,\r
+0xED,0x06,0x7C,0x00,0xD7,0x71,0x3A,0x31,0x38,0x40,0xAD,0xEF,0x41,0x1E,0xF3,0x25,\r
+0x0D,0x8A,0x10,0xE0,0x2F,0x47,0xC2,0xFF,0x52,0xD9,0x34,0x1C,0x88,0xAB,0x46,0x59,\r
+0x98,0xF2,0xFD,0x75,0xC6,0x00,0x2B,0x51,0xBF,0x3F,0xD2,0x17,0x92,0x68,0x85,0x80,\r
+0x7D,0x4E,0xA4,0x90,0xFE,0x7E,0x13,0x17,0xB1,0x97,0x7A,0xB1,0xD3,0x5D,0xB0,0xF4,\r
+0x5A,0x0B,0xC6,0xB7,0x7E,0xF6,0x93,0x1F,0x5E,0x79,0x94,0xB0,0x12,0xF3,0x1E,0x9B,\r
+0xF9,0x56,0x38,0x14,0x0C,0x31,0xE1,0xAA,0xC6,0xBD,0x50,0xEC,0x07,0x19,0xF4,0x64,\r
+0x5B,0x2B,0xE7,0xB6,0x6F,0x87,0x82,0x7F,0x18,0x41,0xAC,0xCE,0xC5,0x4A,0xA7,0xF5,\r
+0x9D,0xC2,0xC8,0x70,0x4B,0xB7,0xA6,0x6B,0xA7,0xBB,0x56,0x8B,0xAC,0x8B,0x66,0x5D,\r
+0x92,0x81,0x84,0x7F,0x0E,0x42,0xE3,0xDB,0x60,0xD4,0x39,0x23,0x7A,0xDC,0x31,0xDC,\r
+0xE5,0x04,0x76,0x08,0x0F,0x63,0xE2,0xFB,0x5C,0x71,0x9C,0xBA,0x82,0xA3,0x4E,0x5B,\r
+0x11,0xD8,0x5E,0xFC,0x24,0x1F,0xC9,0xAC,0x92,0x89,0x64,0x8C,0x90,0x7B,0x96,0x91,\r
+0xA0,0xB4,0x83,0x4D,0x90,0xF7,0x7D,0xF0,0x71,0xC7,0x2A,0x21,0x45,0xD1,0x3C,0xEE,\r
+0xB9,0xD6,0xF8,0x54,0x06,0x48,0xEB,0xD9,0xAE,0x2C,0xC1,0x15,0xBC,0x40,0xAD,0x86,\r
+0x52,0x09,0xCC,0xBF,0x59,0x94,0xB4,0x5A,0x72,0xD8,0x35,0x3D,0x4D,0xCA,0x27,0xFD,\r
+0x21,0x9C,0x2A,0xCC,0x3B,0x03,0xD6,0xAF,0xED,0x23,0xCE,0x59,0x96,0xA7,0x4A,0x4B,\r
+0xE1,0x14,0x62,0x0C,0x48,0xE5,0xA5,0x3A,0xA1,0x93,0x7E,0xA5,0xAA,0x57,0xBA,0x87,\r
+0x1B,0xAB,0x27,0xF6,0xCA,0x1E,0x27,0x43,0xF7,0xAF,0x42,0xCF,0x39,0xFA,0x17,0xB9,\r
+0x45,0x08,0xDA,0xA8,0xCE,0x0A,0x23,0x53,0xFA,0x18,0xF5,0x75,0xC3,0x96,0x7B,0x2F,\r
+0xF6,0x15,0x74,0x1B,0xE6,0x24,0x0B,0x55,0x68,0x54,0xB9,0xAB,0x3B,0xE9,0x04,0xA8,\r
+0xF8,0x76,0x19,0x15,0x6A,0xB2,0x87,0x4F,0xC9,0x02,0xEF,0x5C,0xE3,0x79,0x94,0xE0,\r
+0x3A,0x8F,0x22,0xD7,0x38,0x51,0xD5,0xFE,0xCE,0x3D,0xD0,0x64,0xDD,0x9A,0x77,0x3D,\r
+0xA6,0xD5,0xE4,0x4B,0xCC,0x79,0x21,0x22,0x1D,0x76,0x9B,0xFC,0xB4,0x5B,0xB6,0x95,\r
+0x62,0x4D,0xB8,0x8F,0x5F,0xF3,0xB2,0x3B,0x8B,0x1A,0xF7,0x06,0x14,0x2F,0xC2,0x41,\r
+0x2D,0x8E,0x34,0xC0,0x6C,0xD5,0x81,0x2E,0x57,0xEE,0x03,0x2E,0x37,0x3D,0xD0,0x70,\r
+0x01,0x98,0x0E,0xEC,0x05,0x1A,0xE8,0x88,0xB3,0x9F,0x72,0xBB,0x6D,0x25,0xC8,0x32,\r
+0x5C,0x6A,0xA1,0xB1,0xE9,0x68,0x04,0x16,0x23,0xDB,0x36,0x6F,0xD1,0x4E,0xA3,0xE5,\r
+0x09,0x9A,0x04,0xE4,0x51,0x9E,0xBC,0x58,0x40,0xD5,0x38,0x02,0xE2,0x97,0x7A,0x0F,\r
+0x2A,0xCF,0x72,0xC7,0xDA,0x4E,0x37,0x03,0x66,0xFC,0x11,0x0D,0xAD,0x65,0x88,0xB2,\r
+0xBE,0x97,0xBE,0x53,0xCB,0x3F,0x26,0x63,0x19,0x56,0xBB,0xD8,0x13,0x1D,0xF0,0x74,\r
+0x9E,0x93,0x9A,0x73,0xB4,0xC7,0x59,0xE4,0x05,0xF2,0x1F,0x60,0x35,0x2E,0xC3,0x61,\r
+0xE0,0x34,0x43,0x0D,0x12,0x0C,0xFF,0x89,0x3E,0x68,0x85,0xC1,0xA7,0x6D,0x80,0xB0,\r
+0x19,0xDA,0x54,0xF4,0xDC,0x29,0x31,0x62,0xAD,0x33,0xDE,0x09,0xDE,0x67,0x8A,0xC3,\r
+0x91,0xD0,0xD6,0x7C,0x7F,0xD7,0x92,0x3F,0x6C,0x74,0x99,0x8F,0xAE,0x98,0x75,0x4C,\r
+0xB2,0x85,0xA0,0x5F,0x8E,0xCA,0x63,0xD3,0x47,0xEA,0x07,0x3A,0x86,0x6C,0x81,0x90,\r
+0x67,0x7D,0x8D,0x8A,0x5E,0xD2,0xB3,0x1B,0x0D,0x72,0x9F,0xE8,0x89,0x45,0xA8,0xB6,\r
+0x83,0xE1,0xF5,0x6E,0xCF,0x2B,0x22,0x73,0xC0,0x95,0x78,0xC2,0x53,0xC6,0x2B,0xEF,\r
+0x4D,0x0A,0xD0,0xA0,0x60,0xCB,0x8D,0x3C,0xFC,0x30,0xDD,0x5B,0x2D,0xFE,0x13,0xA9,\r
+0x9C,0xE2,0xE9,0x71,0xCD,0x58,0x20,0x02,0xF9,0x07,0xEA,0x69,0x6B,0xF9,0x14,0xE8,\r
+0x1D,0xCA,0x40,0xF0,0xDF,0x7B,0x32,0x33,0xB8,0x00,0xED,0x2F,0x9B,0x9D,0x70,0x7C,\r
+0x32,0x8D,0x28,0xDF,0x35,0x6E,0xD8,0xCC,0x42,0xDD,0x30,0x08,0xEA,0x8C,0x61,0x1C,\r
+0x0B,0xEB,0x77,0xE6,0x78,0x91,0x95,0x7E,0xDE,0x39,0xD4,0x70,0x50,0x3B,0xD6,0x11,\r
+0xC5,0x00,0x52,0x28,0x50,0xBF,0xBD,0x78,0x29,0x53,0xBE,0xED,0x8A,0xB8,0x55,0x48,\r
+0xE8,0x36,0x49,0x05,0xB1,0xF2,0x5C,0xD4,0x13,0xDE,0x33,0x5A,0xA6,0x83,0x6E,0x5F,\r
+0x15,0xC8,0x4A,0xF8,0x4F,0xA3,0xA2,0x7B,0x2D,0x73,0x9E,0xC9,0x65,0x3E,0xD3,0x21,\r
+0x0A,0xCB,0x56,0xE7,0x84,0xB3,0x69,0xA0,0xCD,0x22,0xCF,0x78,0xE6,0x58,0xB5,0xC4,\r
+0x2A,0xDA,0x34,0x8D,0x82,0xF5,0x4C,0xB3,0x26,0x66,0x3D,0x84,0x98,0x21,0x34,0x68,\r
+0xCD,0x53,0x5A,0xE3,0xA5,0xCB,0x72,0xAA,0x89,0x94,0x60,0xD9,0x86,0x3F,0x17,0x55,\r
+0xD0,0xFD,0xE9,0x50,0x24,0x9C,0x25,0x7C,0xEC,0xE4,0x75,0xCC,0xD8,0x61,0xB4,0xA8,\r
+0x64,0x2C,0x8C,0x35,0xF5,0xDF,0x66,0xEE,0xB7,0x49,0x83,0x3A,0x88,0x31,0x74,0x38,\r
+0xE9,0x56,0x7B,0xC2,0x03,0xA2,0x1B,0x65,0x41,0x07,0x3B,0x82,0x97,0x2E,0x77,0x24,\r
+0x63,0x14,0xB3,0x0A,0xAB,0x63,0xDA,0x0C,0x82,0x79,0x86,0x3F,0xDD,0x64,0x84,0x9D,\r
+0x7F,0xAC,0x17,0xAE,0x3D,0x0F,0xB6,0xF6,0xDC,0xF0,0x51,0xE8,0x2E,0x97,0x19,0xF3,\r
+0xE8,0x40,0x6C,0xD5,0xB5,0xCF,0x76,0xBE,0xCA,0xF1,0x46,0xFF,0x18,0xA1,0x3C,0xE0,\r
+0x43,0x35,0xB2,0x0B,0x92,0xF1,0x48,0xA7,0xEB,0xD1,0x47,0xFE,0xBA,0x03,0x41,0x3F,\r
+0xB9,0x12,0x6F,0xD6,0xA0,0xFC,0x45,0x98,0x0E,0xBA,0xC9,0x70,0xF4,0x4D,0xA2,0x92,\r
+0x81,0xAF,0xEA,0x53,0xC7,0xD2,0x6B,0xD1,0x43,0x16,0x28,0x91,0x56,0xEF,0xDF,0x4D,\r
+0xF6,0xF2,0xC0,0x79,0x96,0xD1,0x68,0x83,0xC6,0x29,0x92,0x2B,0xDA,0x63,0xC5,0xDB,\r
+0x8E,0x1F,0x55,0xEC,0x3E,0x10,0xA9,0xEA,0x2E,0x75,0x26,0x9F,0x37,0x8E,0x7B,0x88,\r
+0x36,0x62,0x90,0x29,0x15,0x8E,0x37,0x5F,0x8C,0xB0,0x41,0xF8,0xD7,0x6E,0xF7,0xE4,\r
+0x4D,0x93,0x1A,0xA3,0x1A,0x31,0x88,0xEF,0x87,0x5D,0xA7,0x1E,0x94,0x2D,0x26,0x76,\r
+0xEF,0x78,0x53,0xEA,0xCA,0x65,0xDC,0x6B,0x3C,0xBF,0xFE,0x47,0x30,0x89,0x3A,0xCE,\r
+0xE6,0xE6,0xC4,0x7D,0x8C,0x5D,0xE4,0x15,0xC5,0xD7,0x6F,0xD6,0x5B,0xE2,0xED,0x72,\r
+0x55,0x0F,0x9E,0x27,0x62,0xA4,0x1D,0x02,0x9C,0x6B,0x8A,0x33,0x80,0x39,0x76,0x32,\r
+0x5F,0x8D,0x16,0xAF,0x6A,0x24,0x9D,0x8A,0x4F,0xCE,0xFC,0x45,0xA1,0x18,0x52,0x37,\r
+0x54,0x19,0x89,0x30,0xEE,0x44,0xFD,0x6E,0x00,0x73,0x0E,0xB7,0x4D,0xF4,0xCC,0x45,\r
+0x1D,0xD7,0x0E,0xB7,0x44,0x8D,0x34,0x0D,0xC2,0xE2,0x5D,0xE4,0xC3,0x7A,0xA7,0xA0,\r
+0x58,0xB5,0x29,0x90,0x4C,0x0D,0xB4,0x85,0xC3,0x0D,0xB3,0x0A,0x6D,0xD4,0xC8,0x61,\r
+0xD9,0x63,0x7E,0xC7,0xAC,0x5C,0xE5,0x34,0x6F,0x01,0x13,0xAA,0x35,0x8C,0x0A,0xFB,\r
+0xA1,0x8E,0xEB,0x52,0x02,0xB5,0x0C,0x73,0x64,0xEC,0xF5,0x4C,0xF6,0x4F,0xD3,0xE1,\r
+0x91,0xBB,0xEE,0x57,0x38,0x38,0x81,0xC4,0xF8,0xF4,0x71,0xC8,0x15,0xAC,0x0E,0xDF,\r
+0xD2,0xF7,0xE1,0x58,0x88,0x7D,0xC4,0x31,0x50,0x33,0x1E,0xA7,0x42,0xFB,0x8F,0x09,\r
+0x05,0x4B,0x8A,0x33,0xF9,0x7F,0xC6,0x42,0x9F,0x95,0x77,0xCE,0x87,0x3E,0x37,0x74,\r
+0x78,0x94,0x28,0x91,0x2C,0x1C,0xA5,0xF4,0xBD,0x4B,0x8B,0x32,0xD4,0x6D,0xA6,0xB6,\r
+0xE7,0xF0,0xD3,0x6A,0xA3,0xE3,0x5A,0x84,0x52,0x22,0x0D,0xB4,0x4F,0xF6,0xBD,0x36,\r
+0x85,0x8B,0xCA,0x73,0x8A,0x75,0xCC,0x3B,0x66,0xFD,0xE6,0x5F,0xDE,0x67,0xD5,0xCF,\r
+0x57,0x05,0x96,0x2F,0xA8,0x7C,0xC5,0x10,0xC9,0x0F,0xBB,0x02,0x3D,0x84,0x08,0xF1,\r
+0x8B,0x2D,0x62,0xDB,0xFF,0x57,0xEE,0x6C,0xFF,0xC1,0x43,0xFA,0xE5,0x5C,0xC2,0xE3,\r
+0x47,0x11,0x92,0x2B,0x69,0x3B,0x82,0x96,0xD6,0xF2,0x59,0xE0,0xC9,0x70,0xD4,0xD9,\r
+0xF8,0x54,0x68,0xD1,0x10,0xB9,0x00,0x6D,0xBC,0xA4,0x65,0xDC,0x64,0xDD,0xEA,0x4A,\r
+0x5A,0xBF,0x21,0x98,0x09,0x2A,0x93,0xE7,0x4E,0x21,0x12,0xAB,0x54,0xED,0xAE,0x3E,\r
+0xCF,0x59,0x52,0xEB,0xFC,0x48,0xF1,0x70,0x2A,0xBE,0xE9,0x50,0x39,0x80,0x18,0xE5,\r
+0x25,0x6A,0x8B,0x32,0x1C,0x19,0xA0,0xC1,0x2F,0x9A,0xC8,0x71,0xE7,0x5E,0xB3,0x90,\r
+0xDC,0x51,0x49,0xF0,0xAD,0x4B,0xF2,0x22,0x17,0x9D,0xF7,0x4E,0x04,0xBD,0x6E,0xAE,\r
+0x5B,0xA9,0x36,0x8F,0x00,0xBD,0x04,0x79,0x06,0xA9,0xD2,0x6B,0x08,0xB1,0x7C,0xB0,\r
+0x46,0x07,0x85,0x3C,0x06,0x95,0x2C,0x57,0xD8,0x3B,0x9E,0x27,0x77,0xCE,0xFB,0x48,\r
+0xDD,0x47,0x5E,0xE7,0x7D,0x1F,0xA6,0xA6,0x5D,0x04,0x24,0x9D,0xA3,0x1A,0x23,0x44,\r
+0xCB,0x7D,0x72,0xCB,0xDB,0x76,0xCF,0x69,0xC8,0xE0,0x55,0xEC,0xBB,0x02,0x61,0x1E,\r
+0x86,0x97,0xD5,0x6C,0x71,0xBF,0x06,0x0A,0x8F,0x4E,0xBC,0x05,0xC5,0x7C,0xC6,0xC7,\r
+0x1E,0xCB,0x11,0xA8,0x68,0x2C,0x95,0x80,0x75,0xD8,0xD0,0x69,0xB1,0x08,0x12,0x67,\r
+0x9C,0x01,0x59,0xE0,0x50,0xA9,0x10,0x3D,0x7E,0x35,0x36,0x8F,0xFB,0x42,0xE1,0xDE,\r
+0xC4,0xCD,0xCD,0x74,0x30,0xB8,0x01,0x4C,0xAB,0x4A,0x9C,0x25,0x83,0x3A,0x27,0x60,\r
+0x39,0xD2,0x2F,0x96,0x45,0x9A,0x23,0x1B,0x1C,0x70,0x11,0xA8,0xD0,0x69,0xB6,0xA2,\r
+0xC9,0x77,0x7A,0xC3,0x0B,0x22,0x9B,0xED,0x71,0x13,0x1F,0xA6,0x09,0xB0,0x5C,0x91,\r
+0x89,0x27,0x6A,0xD3,0x31,0xAF,0x16,0x5A,0x7A,0xFE,0xF9,0x40,0xF9,0x40,0x90,0xAD,\r
+0x83,0xA5,0xE2,0x5B,0x6C,0x0C,0xB5,0xA4,0xFC,0x3F,0xBE,0x07,0x06,0xBF,0x1F,0xDD,\r
+0xC0,0xE9,0xED,0x54,0xB7,0xC7,0x7E,0xB4,0x13,0x56,0x38,0x81,0xB0,0x09,0x32,0x46,\r
+0x67,0x30,0x93,0x2A,0xDA,0x61,0xD8,0x7F,0xB2,0x6D,0xA2,0x1B,0xF3,0x4A,0xE3,0xD4,\r
+0xB2,0x86,0xF0,0x49,0x20,0xBC,0x05,0x58,0xB1,0x93,0x5F,0xE6,0x58,0xE1,0xBC,0x20,\r
+0x59,0xA3,0x3E,0x87,0x6F,0x13,0xAA,0xB8,0x28,0xAF,0xFA,0x43,0x60,0xD9,0xFA,0x5E,\r
+0xD6,0xD3,0xC1,0x78,0x80,0xFD,0x44,0xB9,0x49,0x14,0x20,0x99,0xF2,0x4B,0xC3,0xF5,\r
+0x2E,0xFE,0x14,0xAD,0x48,0x2D,0x94,0xA1,0x9B,0x5E,0xB8,0x01,0xDB,0x62,0xE5,0xFA,\r
+0xDE,0x5B,0x41,0xF8,0x9F,0x46,0xFF,0x1D,0x7B,0x11,0x17,0xAE,0x12,0xAB,0x4F,0x99,\r
+0xB8,0x04,0x78,0xC1,0x2D,0x0B,0xB2,0xE2,0x03,0x8D,0xF3,0x4A,0xA5,0x1C,0x42,0x23,\r
+0xB1,0x9A,0xEF,0x56,0x51,0xBE,0x07,0x2B,0x1A,0xAA,0xCD,0x74,0x67,0xDE,0xBB,0x18,\r
+0x99,0x33,0x6E,0xD7,0x60,0xAC,0x15,0x08,0x5C,0xEB,0xCA,0x73,0x03,0xBA,0x2F,0xE8,\r
+0x9B,0x39,0x66,0xDF,0x28,0x3C,0x85,0xD0,0xBA,0x7E,0xB9,0x00,0xA0,0x19,0x72,0x16,\r
+0x98,0x25,0x79,0xC0,0xF3,0xF7,0x4E,0xC0,0x0B,0x9E,0xE8,0x51,0xC6,0x7F,0x97,0x95,\r
+0x53,0x21,0xB6,0x0F,0x2B,0x23,0x9A,0xCC,0x9E,0x7A,0x99,0x20,0x26,0x9F,0x1B,0xF9,\r
+0x65,0x3A,0x9B,0x22,0x87,0xC2,0x7B,0x81,0x29,0x40,0x14,0xAD,0x1D,0xA4,0x0C,0xD5,\r
+0x3A,0x2D,0x4A,0x35,0x50,0x76,0x63,0x11,0x75,0xA0,0xF7,0x12,0x79,0x20,0x1C,0x1E,\r
+0x17,0xF8,0x9F,0xCD,0x48,0xA6,0xAB,0xC1,0xED,0x72,0xBD,0x8A,0x50,0x06,0x13,0x37,\r
+0x6F,0x1C,0x7B,0x51,0xB1,0x37,0xC3,0x50,0x0A,0x58,0x70,0x6D,0xD3,0x5F,0xC9,0xB4,\r
+0x4A,0xD2,0xB5,0xBA,0x51,0x98,0x8C,0xFF,0xAF,0xC1,0x4C,0xC8,0xEB,0x19,0xB7,0x8C,\r
+0x00,0x01,0x66,0x23,0x5D,0x4C,0x54,0x2B,0x6D,0xFA,0xB5,0x0A,0x3B,0xD1,0xAF,0x5C,\r
+0xD9,0x7F,0x18,0x84,0x96,0xEA,0x39,0x8D,0xF7,0x5B,0x8E,0x90,0x78,0x00,0x3D,0x1F,\r
+0xCE,0x86,0xE1,0x6A,0xB3,0x24,0xD2,0x43,0xAC,0x93,0x1D,0xCB,0x72,0x73,0x44,0x15,\r
+0x4C,0x0E,0x69,0x60,0x4D,0x87,0x8F,0xE0,0xEB,0x15,0xDC,0x8C,0x8D,0xFC,0x34,0xEA,\r
+0xC8,0x5A,0x3D,0xB0,0x25,0xA8,0xC8,0xCF,0xCC,0x77,0x99,0xAB,0xAD,0xF8,0x10,0xCA,\r
+0xD3,0x77,0x10,0x86,0x68,0x49,0x64,0x2E,0x41,0xC0,0xA3,0x26,0x96,0xEF,0x3C,0xF1,\r
+0xD0,0x8A,0xED,0x78,0x39,0xB7,0xCB,0xD0,0xEC,0x53,0x9D,0x8B,0x2B,0x91,0xFF,0x4C,\r
+0xCC,0x95,0xF2,0x7B,0x29,0x7C,0x10,0x1B,0xBD,0xE2,0x7D,0xDA,0x4D,0x74,0x7C,0x2A,\r
+0x73,0x03,0x64,0x52,0xC2,0x35,0xB2,0x52,0x98,0xF3,0x49,0xFF,0xEC,0x58,0xF1,0x8B,\r
+0xDA,0x82,0xE5,0x7A,0xE1,0x27,0x83,0x40,0x9F,0xB5,0x08,0xF8,0x88,0xCC,0x01,0xEF,\r
+0xB2,0xAD,0xCA,0x3D,0xF4,0xCD,0x7C,0xAA,0x42,0x92,0xF2,0x25,0x99,0xAC,0x70,0xFE,\r
+0xED,0x94,0xF3,0x5B,0x0B,0x80,0xCE,0xE7,0xA6,0xEA,0x6E,0xC1,0x2E,0xA1,0xCA,0x49,\r
+0x40,0xDA,0xBD,0xB8,0x90,0x36,0xE3,0x51,0x87,0xEF,0x4A,0xE0,0x83,0x9F,0x59,0xE4,\r
+0xEE,0x69,0x0E,0xA5,0xBE,0x1E,0xE5,0x79,0xCB,0x31,0xD8,0xAC,0xFC,0x18,0xA1,0x9B,\r
+0x83,0x67,0x00,0xC6,0x28,0x92,0xFF,0xF5,0x9D,0xC6,0x79,0xFA,0x6C,0x50,0x79,0x0B,\r
+0xB8,0xA5,0xC2,0x3F,0xCB,0xC0,0x4E,0xA7,0xA2,0xFE,0x7E,0xC5,0x8F,0x8D,0x47,0xE8,\r
+0x56,0xCD,0xAA,0xB9,0x0E,0xA1,0xEA,0xC6,0x47,0xA7,0xC2,0x20,0xDF,0x4D,0xD7,0xB8,\r
+0xB0,0xBE,0xD9,0x2C,0x99,0xC3,0x1F,0xA4,0xBC,0xC3,0x5D,0xDB,0xB2,0xFB,0x0C,0xD5,\r
+0xF8,0x7E,0x19,0xA4,0x7F,0xB0,0x8A,0xD7,0x0C,0x3F,0x11,0x6B,0x42,0x37,0x30,0x25,\r
+0xBD,0x84,0xE3,0x1B,0x84,0x32,0xF3,0x55,0x30,0x55,0x47,0x57,0xEF,0x09,0xA3,0x88,\r
+0x3B,0xC3,0xA4,0xDA,0xF2,0x11,0xA6,0x76,0x44,0xF5,0x93,0x23,0x5B,0x55,0x4B,0x3C,\r
+0x9E,0x96,0xF1,0x2A,0x04,0xA9,0xE8,0xCE,0x4A,0x98,0xF0,0x2D,0x82,0xBF,0x78,0xE5,\r
+0xE8,0xB5,0xD2,0x7F,0xD4,0x22,0xB3,0x45,0x63,0x97,0xD6,0x04,0x70,0x02,0x37,0x17,\r
+0x24,0x21,0x46,0x27,0xA5,0x33,0xD3,0x54,0xC9,0x42,0xA9,0xAE,0x08,0xC4,0x89,0x6F,\r
+0x7E,0x39,0x5E,0x65,0xE3,0x34,0x92,0x53,0xE9,0x66,0xAD,0x8E,0x4E,0x25,0x2E,0x29,\r
+0x22,0xFD,0x9A,0xFD,0x69,0xA7,0x8B,0xC0,0x85,0x9C,0x3B,0xE2,0x3A,0xF1,0x8E,0x5D,\r
+0xAE,0xB2,0xD5,0x3E,0x4F,0x94,0x9E,0xF3,0x71,0xB4,0xE7,0x16,0x28,0xC0,0xAD,0x4F,\r
+0x94,0x9E,0xF9,0x28,0x80,0xFD,0x38,0x9A,0x00,0x21,0x03,0x67,0x30,0x82,0xF7,0x57,\r
+0x8A,0x92,0xF5,0x3A,0xDD,0xD7,0x4F,0xB0,0x46,0x86,0xE2,0x21,0xBE,0xE9,0x12,0xD9,\r
+0x67,0x07,0x60,0x42,0x9A,0x3E,0xE1,0x59,0xA0,0x8D,0x0F,0xC7,0x7D,0x30,0x08,0x1A,\r
+0x3E,0xE2,0x85,0xFE,0xE4,0x06,0xA7,0x61,0x08,0x2B,0x01,0x6F,0x48,0x44,0x49,0x2F,\r
+0x5C,0xC5,0xA2,0xBB,0x6C,0x86,0xAF,0xE1,0xE6,0x2A,0xEE,0x81,0xE6,0x2B,0x88,0x81,\r
+0x64,0xFA,0x9D,0xBC,0x63,0xAF,0x89,0xC8,0xA9,0xA6,0x2D,0xCE,0x2A,0xB1,0xDE,0x4D,\r
+0xF0,0x65,0x02,0xB7,0x87,0xCF,0x0D,0xA8,0x5B,0xE9,0x90,0x3C,0xC6,0x2F,0xAC,0xA1,\r
+0x0F,0x28,0x4F,0x05,0xFC,0xD6,0x6F,0xB1,0x3A,0x2C,0x34,0x5D,0xD0,0x0E,0x9B,0xB7,\r
+0xE6,0x72,0x15,0xB6,0xEB,0x2F,0x81,0x48,0xDF,0x75,0x88,0xB8,0x0B,0x95,0xDB,0x6C,\r
+0xEC,0x7A,0x1D,0xB4,0xF9,0xF7,0x4B,0x90,0xEE,0x20,0xEC,0x89,0xB6,0xEB,0x18,0xD1,\r
+0xC4,0x8E,0xE9,0x68,0x85,0xDC,0x1C,0xBB,0x16,0x16,0x22,0x71,0x6E,0x21,0x0A,0x09,\r
+0x19,0x3F,0x58,0x04,0x6D,0x68,0x40,0x0F,0x58,0xBB,0xC1,0x3F,0xC4,0x5E,0xDF,0xA3,\r
+0x62,0x26,0x41,0x66,0xD2,0xFE,0x69,0x99,0xB3,0x8F,0x1E,0xD4,0x55,0x36,0x26,0x32,\r
+0xA2,0x66,0x01,0xE6,0xAB,0xF4,0x1A,0x93,0x22,0x76,0x76,0x45,0x0C,0xD4,0x9D,0x6B,\r
+0x7D,0xC4,0xA3,0x9B,0x1D,0x97,0xCF,0xF0,0xDE,0x54,0xA8,0xB9,0x5F,0x45,0x5F,0x38,\r
+0x52,0x02,0x65,0x72,0x2D,0xB3,0xDB,0xD4,0x24,0x11,0x17,0x43,0x9E,0xED,0x36,0xF9,\r
+0x1E,0x0D,0x6A,0x31,0xD8,0xF6,0x6B,0x91,0x4B,0xB9,0xD0,0x2C,0xC9,0x6C,0xE0,0xAE,\r
+0x45,0xFB,0x9C,0x9C,0x1F,0x84,0xDE,0xE3,0x04,0x35,0x13,0x63,0xA5,0xFA,0x1A,0xC2,\r
+0xA9,0x80,0xE7,0x0B,0x57,0x44,0x56,0x23,0x13,0x23,0x12,0x74,0x93,0xDF,0x09,0xF4,\r
+0xBF,0x97,0xF0,0x0A,0x8C,0x29,0xE0,0x4E,0x6E,0xA8,0xE4,0x09,0x1C,0x94,0xCD,0x7B,\r
+0xFD,0x5F,0x38,0x80,0xE5,0xE8,0x48,0x8F,0xD3,0x6B,0x9A,0xB4,0x56,0x67,0x74,0x31,\r
+0x14,0x05,0x62,0x33,0x95,0x17,0xC7,0x70,0x20,0x05,0x07,0x47,0x53,0x57,0x41,0x34,\r
+0xC5,0x60,0x07,0x87,0x07,0x54,0x16,0x33,0xD6,0x5E,0xAA,0xB1,0x03,0x97,0xD1,0x64,\r
+0x33,0xD8,0xBF,0xC9,0x5A,0x7E,0x61,0x19,0x68,0xCF,0x85,0x0F,0x13,0xD7,0x81,0x74,\r
+0xBA,0xB6,0xD1,0x2E,0x43,0x40,0x46,0x27,0x35,0x60,0x77,0x52,0x0D,0xF4,0xBC,0x6A,\r
+0x7A,0xF6,0x91,0xAE,0x06,0xBA,0xF9,0xDD,0xF2,0x6E,0xBE,0x95,0x1F,0xC5,0x9F,0x78,\r
+0x91,0xBF,0xD8,0x0C,0x82,0xEE,0x29,0x89,0xAB,0xD5,0x5C,0xCC,0xBB,0xD9,0x27,0xDC,\r
+0xF6,0xB9,0xDE,0x6D,0x03,0x9B,0xDD,0xFC,0x73,0xC7,0x96,0x14,0xBC,0x98,0x61,0xDB,\r
+0x8B,0x7C,0x1B,0xD5,0xB6,0x05,0xF6,0x62,0x14,0x65,0x53,0x73,0x5C,0x14,0x0D,0x3B,\r
+0x46,0x06,0x61,0x62,0x38,0x59,0x24,0x3E,0x7D,0xAA,0xF5,0x1A,0xDD,0x3C,0xA4,0xBA,\r
+0x1B,0x2C,0x4B,0x15,0x6A,0x5A,0x75,0x3D,0xC7,0x2F,0xCA,0xA0,0x51,0x26,0x32,0x36,\r
+0xDC,0x5E,0x39,0xA0,0x4E,0x7A,0x71,0x1D,0x12,0x02,0x32,0x75,0x31,0xA2,0xD6,0x56,\r
+0xFB,0x83,0xE4,0x5A,0x71,0x77,0x43,0x10,0x9C,0xE7,0x59,0xFB,0x7F,0x41,0x7B,0x18,\r
+0xA9,0x66,0x2E,0x42,0x4D,0x56,0xA6,0xFA,0x5E,0x2C,0xC7,0x93,0x94,0xF5,0x1E,0x6B,\r
+0x45,0xF8,0x5C,0xAE,0xBF,0x19,0x54,0x47,0xDA,0x4C,0xA7,0x77,0x00,0x6A,0x81,0x60,\r
+0x53,0xD9,0x6B,0xB8,0xDE,0xDC,0x35,0xE3,0xB8,0x55,0xBE,0x0C,0xFF,0x27,0xCC,0xD2,\r
+0x88,0x42,0x2B,0x63,0x3B,0x85,0xD0,0x5F,0x56,0xAC,0x47,0x1B,0x16,0x7D,0x96,0x61,\r
+0x3D,0x3E,0xE2,0xD6,0xA2,0x76,0x49,0x35,0x98,0x54,0xBF,0x2D,0x7A,0x9D,0x76,0xED,\r
+0xFE,0xE7,0xF8,0x15,0x44,0x7D,0xAF,0xD8,0x36,0xBD,0x56,0x6A,0x97,0x08,0xE3,0x95,\r
+0xCB,0x93,0xB9,0x20,0xEC,0xDB,0x07,0xD6,0x70,0x85,0x6E,0x14,0xCE,0xED,0x06,0x29,\r
+0x65,0xFC,0x78,0x8E,0x02,0xDA,0xE9,0x39,0x78,0x05,0xEE,0x9C,0xAC,0xCA,0x21,0x6C,\r
+0x8F,0x03,0x6D,0x64,0xC6,0x86,0x2D,0xA1,0xCD,0x77,0x9C,0x5B,0x52,0x69,0x82,0x31,\r
+0xDC,0x92,0xAF,0x37,0x3A,0xA4,0xD1,0x7F,0x18,0x14,0xFF,0xED,0x8D,0xCB,0x20,0x4C,\r
+0x1D,0x3A,0xC6,0xF6,0xC0,0xE1,0x2B,0xC0,0x0C,0x30,0xDB,0xDD,0xA2,0x0D,0xE6,0xA5,\r
+0x4A,0xBB,0x10,0xA1,0xAF,0x49,0x44,0x07,0xBC,0x75,0x9E,0x28,0xEE,0x02,0xE9,0xE6,\r
+0x35,0x3C,0xE8,0xDE,0x0A,0xD0,0xE1,0x3B,0x9C,0x74,0x9F,0x09,0x1C,0x75,0x9E,0x63,\r
+0xED,0xF6,0xFA,0x06,0xF2,0xE6,0x19,0xF5,0xCB,0x5F,0xB4,0x75,0x34,0x81,0x6A,0xBF,\r
+0x47,0x89,0x2F,0xAC,0xBC,0x4B,0x57,0x16,0x97,0xEB,0x00,0x9D,0xE9,0x30,0xDB,0xD3,\r
+0xD6,0xE1,0xD6,0x3D,0x57,0x7F,0xBC,0xC9,0xBE,0x7D,0x96,0x22,0x92,0x29,0xC2,0xB1,\r
+0xD0,0x80,0xB1,0x3B,0xC4,0xF5,0x2F,0xD0,0x10,0x94,0x7F,0x65,0xE4,0x0A,0xE1,0xE4,\r
+0x80,0x40,0x21,0x6B,0x32,0xAE,0xD9,0x7D,0xC1,0xD7,0x3C,0xF7,0x35,0x6F,0x84,0x50,\r
+0x90,0x00,0x71,0x7B,0x8C,0x3F,0x67,0x52,0xB6,0xFD,0x16,0xAA,0xC3,0xD7,0x3C,0x1E,\r
+0x8E,0x23,0x4C,0x65,0xD1,0x90,0x3A,0xA0,0x91,0xC3,0x28,0xB3,0x4A,0xB9,0x52,0xF9,\r
+0x26,0x2D,0xEA,0xCD,0xE0,0xC5,0x0B,0xC4,0x09,0x07,0xEC,0xEF,0xB5,0xF4,0x1F,0x4B,\r
+0x10,0x08,0xF9,0xFB,0xF7,0xD3,0x1C,0xC5,0x81,0xC7,0x2C,0xA7,0x59,0x8F,0x64,0xDC,\r
+0x9F,0x43,0x3D,0x74,0x8A,0x58,0x61,0x33,0x37,0xAA,0x41,0x7C,0x4F,0x98,0x73,0xDD,\r
+0xD5,0xB0,0x84,0x3E,0x37,0x9B,0xDC,0x4D,0x9F,0x6B,0x80,0x15,0x0D,0x50,0xBB,0x57,\r
+0x5E,0xEB,0x54,0xB5,0x99,0x5A,0x72,0x22,0xF3,0xDA,0x31,0xC8,0xB6,0x09,0xE2,0xB5,\r
+0xD2,0xF1,0xC2,0x39,0x23,0xDF,0xC8,0x1D,0xA2,0xD9,0x32,0x9A,0xEB,0x23,0xC8,0xC2,\r
+0xB2,0x75,0x26,0x59,0xF6,0xF2,0x1D,0xE5,0xA6,0xF9,0x12,0xBE,0x2C,0x51,0xBA,0x77,\r
+0xFC,0x96,0x8B,0x17,0x78,0x17,0x93,0x8E,0x94,0xF4,0x1F,0x81,0x0B,0x8C,0x67,0x8D,\r
+0x9C,0x12,0x6F,0x77,0x16,0x9E,0xFD,0x69,0x2E,0x39,0xD2,0xF6,0x8A,0xF9,0x12,0x79,\r
+0x38,0x0E,0xD7,0xD3,0x4F,0x25,0xA4,0x8B,0xFE,0x6D,0x86,0x72,0x61,0xB0,0x5B,0xDB,\r
+0x3F,0x4F,0x91,0xD4,0x97,0x37,0x7C,0x41,0x0A,0x18,0xF3,0xF3,0x06,0xB6,0x5D,0xBA,\r
+0xDF,0xC3,0xFD,0x34,0xF0,0x95,0x1B,0x84,0x21,0x86,0x6D,0x46,0x7B,0x73,0x98,0x02,\r
+0xB8,0x06,0x5F,0x53,0x89,0x0A,0x62,0x62,0x83,0xCF,0x24,0xAD,0xF0,0x0E,0xE5,0xF4,\r
+0xFB,0xD7,0xCD,0x10,0x13,0xAB,0xF8,0x59,0xEE,0x69,0x82,0x66,0x29,0x70,0x9B,0x53,\r
+0xF1,0xA4,0xB4,0x1A,0x48,0x63,0xA3,0xCA,0x05,0xA7,0x4C,0x43,0x3E,0x89,0x62,0xBD,\r
+0x0E,0x2B,0xC4,0xE5,0x0F,0xE5,0xE4,0x0B,0x58,0x04,0xEF,0xBD,0xBC,0x01,0xEA,0xB7,\r
+0xFA,0xF7,0xEC,0x11,0x91,0x50,0x7A,0x20,0xB4,0xF5,0x1E,0xA0,0xCA,0x22,0xC9,0xE2,\r
+0xD3,0xD1,0xE3,0x38,0x09,0x82,0xE2,0x6A,0x7C,0x25,0xCE,0xB8,0xE7,0xF7,0x1C,0x1A,\r
+0x50,0x88,0x39,0xBB,0xEE,0xA8,0x05,0xA7,0x14,0xB4,0x5F,0x41,0x9F,0x13,0xF8,0x86,\r
+0x68,0xCE,0x47,0x83,0x4B,0x31,0xA0,0x9B,0x5B,0x1B,0xF0,0xA1,0xBA,0xDD,0x36,0x6D,\r
+0x6F,0x8F,0x01,0x84,0x7C,0x03,0x97,0x9E,0x65,0xB6,0x5D,0x32,0x83,0x0C,0xE7,0x85,\r
+0x0B,0x1B,0xF1,0xE0,0x7B,0x45,0x90,0xDF,0x54,0xA4,0x4F,0x11,0x2A,0x8D,0x66,0xAD,\r
+0x1A,0x7B,0x80,0xF1,0xA6,0x62,0x4D,0x25,0xAB,0x4E,0xA5,0x04,0x42,0xA2,0x49,0xEA,\r
+0xAD,0x76,0x3A,0x46,0x42,0x1A,0xA9,0xB9,0x19,0x03,0xE8,0xFB,0x1D,0x9B,0x70,0x8C,\r
+0x2E,0x2F,0xE0,0xC5,0x28,0x87,0xC3,0x4E,0x1F,0x2B,0xC0,0xD5,0x38,0x55,0xBE,0x67,\r
+0x15,0x38,0xCC,0xFE,0xA5,0x30,0x4E,0x74,0xB3,0xCA,0x21,0x98,0x23,0x78,0x93,0x51,\r
+0xA8,0x46,0x0F,0x43,0x08,0xA3,0xE3,0x4A,0x1C,0x34,0xDF,0xC9,0x20,0x85,0x6E,0xAF,\r
+0xCE,0xA3,0x8C,0x25,0x59,0x12,0xB2,0xAA,0xC7,0xFF,0x14,0xD9,0x3C,0x9A,0x71,0xAC,\r
+0x5C,0x9A,0x27,0xB7,0xA3,0x57,0x48,0x15,0x3D,0x22,0xC9,0xFE,0xA6,0xC2,0x29,0x6E,\r
+0x31,0x2C,0xFC,0xDA,0x58,0x33,0xB3,0x8A,0xC8,0x40,0xAB,0x69,0x40,0xB1,0x5A,0xFB,\r
+0xC1,0xE0,0xC0,0x2A,0xE8,0xCF,0x03,0xC6,0x5D,0x33,0xD8,0x8F,0x08,0x71,0x9A,0x73,\r
+0x6C,0xDE,0x53,0x87,0xD4,0xA5,0x3F,0x90,0x24,0xB1,0x5A,0x74,0x4D,0x8B,0x60,0xCC,\r
+0x00,0x48,0xA9,0xEB,0x63,0x1F,0x88,0x9D,0x34,0xB5,0x5E,0x60,0xB0,0xD5,0x3E,0x6F,\r
+0x7F,0xCF,0x51,0x94,0x2F,0xC1,0xC4,0x0F,0x32,0x9D,0x76,0x4E,0x1E,0x66,0x8D,0x72,\r
+0xEF,0x87,0x89,0x04,0x79,0x36,0x92,0xAE,0x28,0x11,0xFA,0xD8,0x73,0x68,0x83,0x11,\r
+0x0C,0x5A,0xB7,0xE7,0x46,0x0E,0xAD,0xA9,0x99,0x43,0xA8,0x3B,0x48,0xAA,0x41,0xE8,\r
+0xCD,0xF2,0xDE,0x26,0x0D,0x96,0xE6,0x7A,0x45,0xB7,0x5C,0x13,0x8E,0x36,0xDD,0xB2,\r
+0xB9,0x26,0x7E,0x52,0x61,0x6C,0x8A,0xEC,0x5C,0x24,0xCF,0x99,0xD2,0xF2,0x19,0x2A,\r
+0xAB,0x17,0x5D,0x40,0x95,0x44,0x7E,0x30,0x49,0x17,0xFC,0xBF,0x5E,0xBD,0x56,0xE9,\r
+0xB3,0x55,0x07,0x58,0xE4,0xD1,0x0F,0xD4,0xEF,0x7E,0x95,0x70,0x64,0x91,0x7A,0xFF,\r
+0xD8,0x82,0xBB,0x33,0xA0,0x05,0x4B,0x44,0x71,0x92,0x79,0x02,0xCB,0xCC,0x27,0x0D,\r
+0x01,0x68,0x88,0xEA,0xAE,0x68,0x45,0x27,0x3F,0x2A,0xC1,0xF4,0x6E,0x99,0x72,0xFD,\r
+0xF3,0xD5,0xC7,0x18,0x87,0x67,0x6C,0x01,0x64,0xA1,0x4A,0x24,0x18,0xBA,0x51,0xA8,\r
+0x8B,0x13,0x79,0x60,0x2D,0xB2,0xC6,0x7E,0x04,0xB0,0x5B,0x55,0xD4,0x2E,0xC5,0xF0,\r
+0xAA,0xAF,0x56,0x9D,0x0A,0x5A,0x31,0x0F,0x33,0x36,0x5B,0x0C,0xBF,0xB2,0x6C,0x69,\r
+0xCC,0xC9,0xB3,0x1E,0x5B,0xBA,0x80,0x5E,0xF8,0xFD,0x4B,0xD7,0xBC,0xAE,0x73,0x76,\r
+0x2C,0x29,0x3F,0x72,0x2A,0x5E,0x15,0x2F,0x2C,0x29,0x47,0x0F,0x77,0xAA,0xBC,0xB9,\r
+0x17,0x12,0x28,0x5E,0xA7,0x64,0xA2,0xA2,0xCD,0xC8,0x0A,0xA3,0x41,0xB1,0x91,0x94,\r
+0x18,0x1D,0x6B,0x12,0xA4,0x35,0xF0,0xA1,0x49,0x4C,0x96,0xBB,0xFA,0xD0,0x4B,0x4E,\r
+0xAF,0xAA,0x66,0xA8,0x40,0xA9,0x88,0x45,0x04,0x01,0x69,0x09,0x9C,0x8F,0x72,0x77,\r
+0x6D,0x68,0x9F,0x93,0x7E,0x8E,0x91,0x7B,0xB1,0xB4,0xA0,0x75,0x95,0x11,0xE5,0xE0,\r
+0x09,0x0C,0x0B,0x63,0x79,0xCF,0xD7,0x7C,0xA3,0xA6,0x83,0x44,0xBD,0xB8,0x64,0x61,\r
+0x52,0x57,0x98,0xAB,0xEC,0xB7,0x3A,0xE9,0xB3,0xB6,0xD3,0x04,0x96,0x0D,0xFA,0xFF,\r
+0x6A,0x6F,0xDE,0xD5,0x49,0x8B,0xA3,0x4C,0x1C,0x19,0x33,0x4B,0x7D,0x28,0x34,0x31,\r
+0xF8,0xFD,0xE7,0x7E,0x93,0x30,0xC2,0x96,0xF2,0xF7,0x32,0xA4,0xF2,0x58,0xCB,0xCE,\r
+0xD1,0xD4,0xC1,0x71,0x0B,0x7A,0x10,0x0E,0x22,0x27,0x2A,0x6C,0x0A,0x75,0x1E,0x1B,\r
+0xF3,0xF6,0xB4,0x26,0x4A,0xDA,0xF1,0x4F,0xA0,0xA5,0xD1,0x15,0xAD,0xAC,0x60,0x65,\r
+0x0C,0x09,0x3B,0x56,0x0D,0x1B,0x77,0x08,0x03,0x06,0x2F,0x48,0xA7,0x2E,0xE8,0xED,\r
+0xBA,0xBF,0x16,0xCD,0x8B,0x72,0x98,0x8E,0xC8,0xCD,0x3F,0x93,0xE4,0x62,0xE7,0xE2,\r
+0xF9,0xFC,0xC7,0x5F,0x11,0x49,0x39,0x14,0x6E,0x6B,0xF4,0xFE,0x43,0xBB,0x99,0x9C,\r
+0xF1,0xF4,0xC5,0x55,0x85,0x11,0xF5,0x80,0xA6,0xA3,0xB6,0x74,0xB8,0x8A,0x53,0x56,\r
+0x89,0x8C,0x03,0xEB,0x2F,0x6E,0x20,0x2A,0xB7,0xB2,0xC7,0x14,0xE0,0x46,0xC7,0xC2,\r
+0xDA,0xDF,0x92,0x29,0xA2,0x54,0x97,0xA7,0x95,0x90,0x90,0x61,0x1D,0x59,0x25,0x20,\r
+0x03,0x06,0x78,0x1A,0xAC,0x37,0xFA,0xA9,0x2D,0x28,0x66,0x2F,0xED,0xFC,0x70,0x75,\r
+0xA9,0xAC,0x07,0xCF,0x97,0x20,0xD6,0x92,0x10,0x15,0x2D,0x59,0xF9,0xCC,0x54,0x51,\r
+0xB1,0xB4,0x45,0x95,0xE6,0xC4,0x43,0xE3,0x79,0x7C,0xE2,0xFF,0xEF,0xF6,0x78,0x7D,\r
+0xCF,0xCA,0xE2,0x4C,0x0F,0x6A,0x04,0x0A,0xB0,0xB5,0x81,0x55,0xA2,0x1C,0xDF,0xDA,\r
+0xBB,0xBE,0x36,0xEC,0x63,0xFC,0xFE,0x66,0x23,0x26,0x0B,0x4C,0x3A,0x40,0x1B,0x1E,\r
+0xED,0xE8,0x97,0x1B,0x7B,0xBE,0xA4,0x7E,0x16,0x13,0x4A,0x38,0x01,0xE1,0x81,0x84,\r
+0x0E,0x0B,0x4A,0x25,0x44,0xB9,0x9C,0x41,0x44,0x41,0xA9,0x89,0xF8,0xDA,0x43,0x46,\r
+0x02,0x07,0x58,0x3B,0x61,0x8D,0x8D,0x64,0xB2,0xB7,0xF2,0x24,0x7F,0x22,0x3C,0x39,\r
+0x7D,0x78,0xDF,0xC3,0x2D,0x1F,0x53,0x28,0x9A,0x9F,0xDC,0x22,0x62,0x8C,0x8F,0x8A,\r
+0xC3,0xC6,0xF0,0x52,0xEA,0xD6,0x5D,0xEF,0x34,0x31,0x1D,0x4D,0x63,0x9A,0x98,0x9D,\r
+0x6E,0x6B,0xCE,0xC1,0xD6,0x80,0x37,0xD3,0xB6,0xB3,0xE6,0x34,0xDC,0xDF,0x62,0x67,\r
+0x5E,0x5B,0x8A,0xB5,0xA1,0x05,0xC5,0xA4,0x25,0x20,0x6C,0x2D,0x7E,0x34,0x2B,0x2E,\r
+0x33,0x36,0x3C,0x6E,0x5A,0x9A,0xA1,0x5F,0x47,0x42,0xFB,0xD8,0xEB,0xD2,0x58,0x5D,\r
+0x45,0x40,0x99,0xBD,0xBE,0x06,0xD9,0xBB,0xEC,0xE9,0x0F,0x87,0xC3,0x7B,0xD9,0xDC,\r
+0xD4,0xD1,0xF1,0x44,0x55,0xD9,0xED,0x50,0x7A,0x7F,0xB0,0xAE,0xA1,0x00,0xC0,0xC5,\r
+0x37,0x32,0x2C,0x7A,0x08,0x2B,0x42,0x0D,0x73,0x76,0x9B,0x8C,0x73,0x8E,0x9C,0x99,\r
+0xEF,0xEA,0xE6,0x68,0xF0,0xE5,0x74,0xF5,0x58,0x5D,0xE7,0xDB,0xAF,0xA6,0x68,0x6D,\r
+0x1F,0x1A,0x2A,0x54,0xC2,0xD0,0x73,0xC7,0x37,0x32,0x4F,0x1C,0xB5,0x30,0xE4,0xE1,\r
+0x48,0x4D,0xAB,0x82,0xAD,0x17,0xDB,0xA8,0x72,0x77,0xBA,0xAC,0xF6,0x7C,0xEB,0xEE,\r
+0x8D,0x88,0x13,0xFF,0xC4,0xB1,0x14,0xC1,0x70,0x75,0xC9,0xDD,0x21,0xC0,0x80,0x85,\r
+0xDE,0xDB,0x82,0x3D,0x38,0x6F,0x36,0x3D,0x13,0x16,0x7F,0x08,0x5C,0x1F,0x22,0x27,\r
+0xC9,0xCC,0x83,0x2B,0xEE,0xC6,0x49,0xEB,0x82,0x87,0x86,0x60,0x39,0x5C,0x04,0x01,\r
+0x67,0x62,0xEC,0xEA,0x00,0x29,0x48,0x05,0x02,0x07,0x0E,0x68,0x7C,0x3E,0x23,0x26,\r
+0x3F,0x3A,0x2E,0x70,0xA0,0x25,0xE4,0xA5,0x53,0x56,0xBF,0x88,0xFD,0xE8,0x74,0x71,\r
+0xFC,0xF9,0xF7,0x6A,0x46,0xC8,0xEF,0x43,0xBA,0xBF,0xF8,0x26,0x85,0x05,0xE1,0xE4,\r
+0x51,0x54,0xC9,0xF9,0xDC,0xF3,0x4E,0xD9,0x52,0x57,0x9E,0xA8,0xC2,0x6D,0xCE,0xCB,\r
+0x8A,0x8F,0x52,0xB9,0x39,0x4F,0x17,0x3C,0xAB,0xAE,0x89,0x46,0x71,0x84,0x94,0x91,\r
+0xAB,0xAE,0x76,0xBC,0x4F,0xEA,0xC4,0x4A,0x2B,0x2E,0x01,0x4E,0x7B,0x06,0x1C,0x19,\r
+0x47,0x42,0xE8,0xCE,0xBD,0x57,0x8B,0xB8,0x4B,0x4E,0xE5,0xCA,0x70,0x92,0x83,0x86,\r
+0x3D,0x38,0x5F,0x03,0x95,0x51,0xA5,0x90,0x1F,0x1A,0x61,0x1A,0xAA,0x94,0x5F,0x5A,\r
+0xDD,0xD8,0xD3,0x6F,0xF2,0x94,0x07,0xF7,0x81,0x84,0xD4,0x31,0x12,0xE9,0x9A,0x9F,\r
+0x9E,0x9B,0x02,0xFD,0x14,0x79,0x0C,0x11,0x3E,0x3B,0x64,0x3E,0x69,0x18,0x10,0x15,\r
+0x3A,0x3F,0x1E,0x45,0x4D,0x9B,0xB7,0x48,0x6A,0x6F,0xE0,0xEE,0xCB,0xF3,0x59,0x5C,\r
+0xB0,0xB5,0x65,0xB4,0xF4,0xF5,0x60,0xF1,0xFE,0xFB,0x2C,0xB6,0x67,0xBE,0xB8,0xBD,\r
+0xFE,0xFB,0x86,0x19,0x7A,0x9E,0x85,0x7F,0xF3,0xF6,0x13,0x84,0x9D,0x99,0x65,0x60,\r
+0x5C,0x59,0xFB,0xC6,0x9B,0x32,0xC8,0x9E,0xDD,0xD8,0x5A,0xE3,0xA5,0x24,0xE0,0xE5,\r
+0xD0,0xD5,0xE1,0x50,0x21,0x0D,0x4D,0x24,0xDE,0xDB,0x08,0xB2,0xD2,0x79,0xCA,0xCF,\r
+0x9D,0x98,0x53,0xAF,0x88,0x23,0xCA,0x8D,0xAD,0xA8,0xEE,0x27,0xCD,0xDD,0x71,0x74,\r
+0xD7,0xD2,0xA0,0x16,0x35,0x5D,0x09,0x30,0x6C,0x69,0x87,0x8F,0x47,0x9F,0xB9,0xBC,\r
+0x24,0x21,0x3D,0x78,0xE2,0xD4,0x57,0xE7,0x00,0x05,0x7D,0x19,0x5B,0x27,0x1D,0x18,\r
+0x12,0x17,0x18,0x6B,0xF5,0xD5,0x41,0xF0,0xC0,0xC5,0x35,0x91,0xCC,0xCB,0x66,0x63,\r
+0x92,0x97,0x10,0xE3,0x8E,0x42,0xAD,0x8B,0xFA,0xFF,0x38,0xA6,0x0E,0x51,0x3E,0x3B,\r
+0x8C,0x89,0x33,0xDE,0xD3,0xB0,0x02,0xD6,0xC4,0xC1,0x21,0x81,0xE9,0xD8,0x50,0x55,\r
+0xD2,0xD7,0x90,0x23,0xC6,0xC0,0x67,0xC3,0x93,0x96,0xF7,0x00,0xF4,0x76,0xE3,0xE6,\r
+0x82,0x87,0x50,0xB3,0x30,0x6D,0x3C,0x35,0xD0,0xD5,0x65,0xD1,0x40,0xA7,0x86,0x83,\r
+0x0E,0x16,0xFC,0x8F,0xBA,0x8C,0x4B,0x66,0x0B,0x61,0xFD,0xE1,0x23,0x04,0x5A,0xC9,\r
+0x48,0x11,0xFB,0xCE,0x4A,0xE8,0xDF,0x02,0x8A,0xC8,0xD5,0x60,0x31,0x35,0x79,0xDB,\r
+0x51,0x2F,0xC5,0xE9,0x71,0x2A,0x26,0xC0,0x1D,0x56,0xDC,0xF7,0x84,0x49,0xB0,0x6E,\r
+0x29,0xCB,0x21,0x75,0xCB,0x9D,0x2B,0x77,0x24,0x09,0xBA,0xCE,0xC9,0xFB,0x4F,0x23,\r
+0x7B,0xC8,0x22,0x24,0x87,0x92,0x68,0x78,0xFE,0x68,0x01,0x14,0x4D,0xE3,0xD3,0xA7,\r
+0xCC,0x45,0xAF,0x1E,0xAB,0xA9,0x7F,0x43,0xD3,0x73,0x37,0x39,0xAC,0x4F,0x9E,0x46,\r
+0x59,0x34,0xDE,0xFA,0xC7,0x49,0xF3,0xA3,0x1C,0x77,0xFC,0xF6,0x78,0x97,0x92,0x92,\r
+0xE8,0x65,0x8F,0x1A,0x44,0x2F,0x16,0xC5,0x03,0x6B,0xFF,0xE9,0xB3,0x4C,0x82,0x59,\r
+0xE0,0x7E,0x94,0x09,0x86,0x7C,0x87,0x96,0xF6,0x62,0x03,0x1C,0xEE,0xBE,0x2D,0x04,\r
+0x41,0xE4,0x0E,0x32,0x14,0x3F,0x56,0xD5,0x88,0xBB,0xA4,0x62,0x48,0xD3,0xE6,0xA2,\r
+0xAE,0x62,0x88,0x5B,0x8F,0x89,0x7B,0x63,0x87,0xF7,0xE7,0x6D,0x83,0x08,0xF6,0x69,\r
+0x28,0x25,0xCF,0x9A,0xFF,0x76,0xF4,0x9C,0x0F,0x75,0xED,0xE5,0x20,0x55,0x08,0xCA,\r
+0xC9,0x64,0x8E,0x3A,0xA8,0x54,0x81,0xBE,0x71,0xAC,0x4A,0x9B,0xA2,0x2C,0xF3,0x48,\r
+0x1B,0xFC,0x16,0x70,0xA7,0x7D,0xA7,0x97,0xA4,0x81,0xB2,0x4E,0x72,0xE4,0xEB,0x98,\r
+0x7A,0x26,0xCC,0xCB,0x0C,0xEF,0x9E,0x05,0x5B,0xF1,0x3D,0xB1,0x9C,0x0B,0xEA,0x76,\r
+0xE3,0x83,0x69,0xF7,0x72,0xD7,0xD8,0x3D,0x95,0xD4,0xD6,0x7F,0x33,0x44,0x0A,0xD9,\r
+0x27,0x0C,0xE6,0xBC,0x35,0x3E,0x76,0xD4,0x74,0x99,0x7A,0x9E,0xA3,0x0C,0xD2,0x49,\r
+0xDD,0x60,0x8A,0x2A,0x95,0x4A,0xA2,0xA0,0xB0,0xC5,0xE2,0x5A,0x30,0x15,0x58,0xDA,\r
+0x9A,0x89,0x63,0x84,0x4C,0x34,0x05,0xDE,0x17,0x2F,0xAF,0xFD,0xF9,0xBF,0x3B,0x13,\r
+0x0F,0xF8,0x12,0x60,0x16,0x2C,0x47,0xC6,0x3B,0x15,0xB9,0xD1,0x90,0x19,0xF4,0x7A,\r
+0x23,0xC3,0x29,0x77,0xC3,0x86,0x38,0x6C,0x1F,0x25,0xAD,0xF5,0xAD,0x6F,0xBF,0x47,\r
+0x4E,0xCD,0x27,0x14,0xF0,0x5F,0xD2,0xB5,0x4A,0x80,0x5D,0xA0,0x15,0x21,0x49,0xFF,\r
+0xF9,0x40,0xAA,0x2E,0x32,0x0C,0x43,0xE6,0xA8,0x9F,0xA0,0x42,0x37,0x54,0x1E,0xDD,\r
+0x2C,0xEA,0x00,0x51,0x8C,0x74,0x85,0x9E,0x3C,0x53,0xF8,0xD6,0x26,0x34,0x6F,0xCC,\r
+0x78,0x35,0xDF,0xDA,0xB7,0xB6,0x7C,0x5C,0x37,0x0B,0xAB,0xDD,0xC7,0x98,0x22,0x2D,\r
+0x1C,0xCE,0x24,0x45,0x6C,0xDB,0xCA,0x31,0x44,0xED,0x3E,0xAE,0xA5,0x6D,0xB5,0x4F,\r
+0xEE,0xB9,0x53,0xC0,0x18,0xEB,0x8E,0x01,0x0D,0x06,0x9C,0xE7,0x36,0x74,0x3F,0xDC,\r
+0x84,0x85,0x6F,0x96,0x8B,0x46,0xB0,0xAC,0xF7,0x43,0x23,0x1D,0xB4,0x0D,0xC4,0x5E,\r
+0x8A,0x42,0xA8,0x5F,0x1A,0xF8,0x9F,0x12,0xE0,0x55,0x22,0x0A,0x1A,0x62,0x05,0xF0,\r
+0x54,0x0E,0xE4,0xCD,0xE2,0x87,0x18,0x6D,0x53,0xFB,0x3F,0xB9,0x32,0x64,0x2B,0xD8,\r
+0x45,0x2B,0xC1,0xF9,0xFC,0x8B,0x0A,0x61,0x2C,0x03,0xB8,0xC6,0xC4,0xC9,0x70,0x2E,\r
+0x7D,0x14,0xFE,0xFE,0xC2,0x68,0xD7,0x82,0xEE,0x38,0x41,0x04,0x96,0x78,0x93,0x7C,\r
+0xEF,0x57,0xBD,0x2F,0xE4,0x5B,0xC2,0xB1,0x4D,0xC6,0x1C,0xA7,0x93,0x48,0xA6,0x79,\r
+0xCD,0xAB,0x41,0xF1,0x26,0x08,0x53,0xE2,0xEF,0x19,0x61,0x05,0xF0,0x9D,0x10,0x1A,\r
+0x02,0xC2,0x28,0x57,0x5B,0xCD,0xEB,0x27,0x84,0xA5,0xB6,0x6E,0xF2,0xEC,0x63,0x18,\r
+0xAA,0xAD,0x47,0x90,0x8D,0x9A,0x6A,0x70,0x8B,0xE9,0xF5,0x61,0xB7,0x5C,0x96,0x5D,\r
+0xAD,0x9F,0x75,0xA5,0xB1,0x6A,0xA6,0x80,0x07,0x7F,0xEF,0xED,0xD8,0x9B,0x3E,0x32,\r
+0x9B,0x67,0x8D,0x6B,0xA3,0xB2,0x6C,0x58,0xF3,0x57,0x33,0x19,0xF3,0xCC,0x42,0x19,\r
+0x34,0x3A,0xD0,0x99,0x9D,0x51,0xB1,0xBB,0xAF,0xD9,0xE1,0x45,0xFA,0xEE,0x69,0x10,\r
+0x00,0xD1,0x3B,0x46,0x64,0xC0,0xD9,0x2A,0xB6,0xA2,0x83,0x5C,0x6C,0xC7,0xD6,0x86,\r
+0x52,0xD2,0x38,0x17,0x17,0xC2,0xA8,0x28,0xEC,0x4B,0x30,0x06,0xCB,0x8A,0x3C,0x21,\r
+0x1D,0x20,0xCA,0xAA,0x65,0x2E,0x36,0xC4,0x73,0xDF,0x3B,0x99,0xAB,0x0E,0xD8,0x41,\r
+0xCE,0x56,0xBC,0x0F,0x60,0x0F,0x12,0xE5,0xFB,0x5D,0x31,0x11,0x2B,0x06,0x50,0xC1,\r
+0x97,0xB3,0x59,0xB3,0x20,0xD4,0x89,0x3E,0xA1,0xB4,0x82,0x4B,0xD2,0xE8,0x47,0x38,\r
+0x36,0x29,0xC3,0x88,0xB3,0x79,0xB7,0x93,0x8E,0xDC,0xC5,0x64,0x3A,0x66,0x21,0xD0,\r
+0x3D,0xCF,0x25,0x65,0xA9,0xBA,0x6E,0x50,0x1B,0x31,0xBD,0xF1,0xD3,0xC8,0x66,0x39,\r
+0x91,0x6F,0x85,0x69,0x33,0xE2,0xAC,0x08,0x4C,0xE7,0x3C,0xA6,0x82,0x28,0xD7,0x68,\r
+0x90,0x81,0x6B,0x86,0xF2,0x4C,0xC3,0xA6,0x6B,0x85,0x79,0x81,0x02,0x20,0x5F,0xE8,\r
+0x94,0x4E,0xA4,0x4D,0x89,0x55,0xA1,0xBF,0xA5,0xA0,0x92,0x4F,0x5E,0xF2,0xD1,0xB4,\r
+0x11,0xF4,0x1E,0x72,0x1F,0xD9,0xBB,0x33,0x8F,0xFD,0xE5,0x65,0x5D,0xA3,0x83,0xB7,\r
+0x5C,0x15,0xFF,0xDE,0xC0,0x7B,0xC6,0x91,0x0A,0x40,0xDD,0xE0,0x73,0xC4,0xCA,0x99,\r
+0xB9,0x9B,0x71,0xB5,0x6D,0x35,0x25,0xDF,0xD7,0x67,0x27,0x3D,0x7E,0xF6,0xF5,0x94,\r
+0x6E,0x22,0xC8,0xDB,0x9C,0xBF,0x5E,0x55,0x36,0x2A,0x8B,0xDC,0xEA,0xAE,0x39,0x00,\r
+0xD5,0x7B,0x91,0x39,0x24,0x1B,0x42,0xF1,0x7F,0xC1,0x29,0x95,0xBE,0x7E,0xBD,0x54,\r
+0xDE,0x9D,0x77,0xD4,0xB6,0x58,0x93,0xB2,0xF5,0x30,0x52,0x1F,0x01,0x71,0x0D,0xEB,\r
+0x7C,0xFA,0x10,0x11,0xDA,0xB8,0x1F,0x52,0x30,0x4D,0xEA,0xDA,0x9F,0x5A,0xB8,0x75,\r
+0xE5,0x5F,0xB5,0x2D,0x6A,0x07,0x10,0xED,0xE9,0x7E,0x00,0x03,0x50,0x91,0xBC,0xBA,\r
+0xBE,0xA9,0x43,0x80,0xFA,0x57,0xD0,0xBD,0x8C,0xAF,0xB4,0x66,0x13,0x40,0x2E,0xF9,\r
+0xDB,0xBC,0x56,0xF0,0x07,0x09,0x73,0xE3,0x3F,0x01,0xA9,0xD5,0x44,0xC1,0xF8,0xAE,\r
+0x74,0xE1,0x0B,0x02,0x3A,0x17,0x50,0xFD,0x51,0x88,0x4E,0xBB,0x7A,0xE6,0xE1,0x90,\r
+0x98,0x9A,0x70,0x95,0xB2,0x97,0x58,0x7D,0x09,0x12,0x8C,0xE3,0x40,0xD1,0xEC,0xAA,\r
+0x8E,0x8D,0x67,0x94,0xA1,0xA1,0x7D,0x4B,0x72,0xFE,0x1B,0x98,0x80,0x59,0xA4,0x6A,\r
+0xD0,0x5A,0xB0,0x1D,0xCF,0x52,0xE0,0xB8,0xD6,0x46,0x07,0x3C,0xEC,0xCF,0x5E,0x06,\r
+0x13,0xE7,0x0D,0x63,0x76,0x18,0x13,0xF2,0x1E,0x04,0x8D,0xF4,0x2D,0x67,0x37,0xC7,\r
+0xB5,0xC8,0x39,0x9F,0x1D,0x37,0x39,0x60,0x02,0x7F,0xAE,0xC2,0x72,0x5B,0x3A,0x47,\r
+0xD2,0xAF,0xFC,0x3D,0xFD,0xBB,0x55,0x80,0xC7,0xBA,0xD3,0x7A,0x59,0xEE,0xA4,0xD9,\r
+0x34,0x49,0x11,0x36,0xBE,0x6A,0xC7,0xC3,0x4D,0x30,0x22,0x01,0x56,0x5E,0x1B,0x66,\r
+0x6D,0x10,0xF3,0x8D,0x1A,0x76,0x7F,0x67,0x04,0x79,0xC9,0xA3,0x86,0xDA,0x4F,0x32,\r
+0xD4,0xA9,0x9D,0x5A,0x90,0x0D,0x8E,0xED,0xE5,0x98,0x84,0x0F,0xDE,0x16,0xDB,0xA6,\r
+0x5A,0x27,0xF6,0xBF,0xDE,0xEE,0x23,0xA3,0x38,0x45,0xA3,0xF5,0xEC,0x29,0xD6,0xAB,\r
+0xBB,0xC6,0x5A,0xF2,0x7C,0x93,0xFC,0x01,0xBD,0xC0,0x1E,0xCD,0x8B,0x60,0xF8,0x85,\r
+0x01,0x7C,0x65,0x77,0xF0,0x89,0x6A,0x8D,0x97,0xEA,0x43,0xBA,0xDA,0x32,0xFB,0x86,\r
+0xA8,0xD5,0x4B,0xF0,0xBD,0x3B,0x95,0xC0,0x2C,0x51,0xE7,0xA5,0x4F,0xD4,0x88,0xF5,\r
+0x15,0x68,0x35,0x33,0xF7,0xC8,0x2C,0x8A,0xE4,0x99,0xA5,0x2F,0xE7,0xBD,0x49,0x34,\r
+0xC2,0xBF,0xBC,0x6D,0x04,0x55,0x42,0x79,0x40,0x3D,0x1D,0x33,0x71,0x47,0x25,0x58,\r
+0xD5,0xA8,0xBD,0x7B,0x32,0x70,0x51,0x4F,0x3B,0x46,0xF1,0xA4,0xF9,0x0F,0xE5,0x98,\r
+0xAE,0xD3,0x2A,0x97,0xB2,0x78,0xD9,0xCF,0x63,0x1E,0x6B,0x66,0xCE,0x02,0xDF,0xA2,\r
+0xF3,0x8E,0xD8,0x38,0xAC,0x5B,0xE4,0xD1,0x0D,0x70,0xE2,0x81,0xE9,0x1B,0xE1,0x9C,\r
+0xE6,0x9B,0xA8,0x5D,0xF2,0xF8,0x19,0x8F,0xBE,0xC3,0x4C,0x9C,0x68,0xCD,0xB6,0xCB,\r
+0x10,0x6D,0x05,0x06,0xA2,0x38,0x89,0xDF,0xDB,0xA6,0x9D,0x28,0xB9,0x5F,0xF5,0x88,\r
+0x9E,0xE3,0x6E,0xE3,0x65,0xF1,0x87,0x18,0x84,0xF9,0x41,0xAB,0xEF,0x35,0xC9,0xB4,\r
+0x75,0x08,0xB1,0xD7,0xF4,0x99,0x7E,0x89,0x9D,0xE0,0x3A,0xC9,0xC6,0x8A,0x5F,0x22,\r
+0x28,0x55,0x43,0x78,0x17,0x44,0x40,0x6A,0xC1,0xBC,0xB4,0x1B,0xE4,0xA1,0x56,0x2B,\r
+0xD0,0xAD,0x8D,0x4E,0xCF,0x8E,0x52,0xB2,0x35,0x48,0x9C,0xC7,0xB3,0xDD,0x7D,0x00,\r
+0xE2,0x9F,0xB8,0x49,0x3F,0x42,0x6E,0x42,0xB9,0xC4,0x0A,0xDD,0x74,0x75,0x12,0x6F,\r
+0x8D,0xF0,0x7F,0xE1,0x68,0xC3,0xB8,0x15,0xB6,0xCB,0x46,0x9E,0xC4,0x80,0x57,0x2A,\r
+0xE4,0x99,0xD9,0x2E,0xAD,0x7B,0xC5,0xD0,0xDD,0xA0,0xFA,0x49,0xB5,0xF3,0x55,0x28,\r
+0x18,0x65,0x07,0x0C,0xFE,0xEA,0x07,0x83,0x7F,0x02,0x25,0x34,0x60,0x45,0x36,0x4B,\r
+0xCE,0xB3,0xAE,0x73,0xE9,0xEB,0x11,0x94,0x59,0x24,0x66,0x51,0x08,0xBC,0xA7,0xDA,\r
+0x20,0x5D,0x41,0x72,0x47,0x84,0xD0,0x3A,0x7E,0x03,0x04,0x14,0x00,0x34,0x27,0x5A,\r
+0x80,0xFD,0x4D,0xDE,0x1F,0x46,0x4A,0x62,0x29,0x54,0xD2,0x95,0xE0,0x85,0x76,0x0B,\r
+0x66,0x1B,0xA0,0xD5,0xDC,0x9F,0x50,0xA1,0xBC,0xC1,0x3F,0xED,0x4E,0xC2,0x9F,0xE2,\r
+0xFC,0x81,0x9B,0x74,0x71,0xA1,0xC3,0x0C,0x93,0xEE,0x57,0xAA,0xC0,0xA4,0x77,0x0A,\r
+0x19,0x64,0x27,0x2D,0xAA,0x3A,0x83,0xD7,0xC9,0xB4,0xBE,0x19,0x2E,0xB3,0x8E,0xF3,\r
+0x6F,0x12,0x82,0xFE,0x8B,0x1E,0x86,0xF6,0x41,0x3C,0x3C,0x13,0x26,0x3B,0x0E,0x73,\r
+0x9D,0xE0,0x3F,0xB1,0x67,0x80,0xF4,0x1A,0xDE,0xA3,0xA8,0x18,0xA2,0xDF,0x6E,0x13,\r
+0xA5,0xD8,0x79,0xCF,0xD1,0xAD,0x6F,0xAC,0x0E,0x73,0xB0,0xD0,0x1C,0x8C,0x83,0xFE,\r
+0x0F,0x72,0x06,0x1A,0xA9,0x6B,0xD1,0xD4,0x9A,0xE7,0x7C,0x88,0x7C,0xFD,0x92,0xEF,\r
+0x82,0xFF,0x3C,0xAD,0xFA,0xFA,0x13,0x87,0x78,0x05,0x63,0x75,0x09,0xAA,0xB0,0xCD,\r
+0x8C,0xF1,0x5F,0xC0,0x23,0x10,0x20,0x5E,0x2D,0x50,0xC6,0x85,0x47,0x5C,0x08,0x75,\r
+0xB7,0xCA,0x48,0xEC,0x89,0x6F,0xF5,0xF4,0x09,0x74,0xF6,0x91,0x31,0x17,0x35,0x48,\r
+0xC6,0xBB,0xAC,0x79,0x91,0x2D,0xAF,0xEC,0x25,0x58,0xCC,0x87,0x97,0xD8,0x5C,0x21,\r
+0x2F,0x52,0x02,0x3E,0xEF,0x8A,0x76,0x92,0x82,0xFF,0x26,0xCA,0x3D,0xBB,0x95,0xE8,\r
+0x43,0x3E,0x94,0xC4,0x9B,0x5E,0xD6,0xE6,0x46,0x3B,0x7A,0x52,0x24,0x31,0x06,0x7B,\r
+0x5B,0x26,0xD6,0x9E,0xCD,0xFF,0x21,0xB0,0xDC,0xA1,0xDB,0x69,0x50,0x70,0x33,0x4E,\r
+0x64,0x19,0xD1,0xA6,0x2E,0x22,0x1F,0x53,0x1E,0x63,0xE0,0x90,0xE1,0x93,0x61,0x1C,\r
+0x41,0x3C,0xE5,0xB7,0x22,0x30,0x01,0x5F,0x61,0x1C,0x18,0x17,0x4C,0xC8,0x97,0xEA,\r
+0x0D,0x70,0x77,0x69,0x5D,0xB7,0xF9,0x20,0xD2,0xAF,0xB6,0x0A,0x4A,0xE6,0xBF,0xC2,\r
+0xCA,0xB7,0xBE,0x67,0xE3,0x98,0x68,0x9E,0xC5,0xB8,0xA0,0x0B,0x25,0x27,0x11,0x6C,\r
+0xF6,0x8B,0xE8,0x0D,0x4E,0xA6,0xFB,0x33,0x3F,0x42,0xE5,0xB4,0x5C,0xDC,0x93,0xEE,\r
+0x81,0xFC,0x6D,0xFF,0x7E,0xE2,0x8F,0x03,0x76,0x0B,0x0E,0x16,0x45,0x56,0x00,0x7D,\r
+0x7A,0x07,0xF2,0x9B,0x13,0x54,0x54,0x6E,0x05,0x78,0xE8,0x83,0xB0,0xC1,0x62,0x1F,\r
+0x2A,0x57,0x32,0x0B,0x8A,0x3E,0xA7,0xF7,0x31,0x4C,0x88,0xD7,0x64,0x61,0x16,0x6B,\r
+0x7B,0x06,0xD2,0xBA,0xEC,0xDB,0x24,0x91,0x2E,0x53,0x94,0xD4,0xBF,0x71,0xDD,0xA0,\r
+0x0A,0x77,0x36,0x2F,0x0C,0x57,0x48,0x71,0xE1,0x9C,0x90,0x1F,0x67,0x7D,0x09,0x74,\r
+0x87,0xFA,0x0C,0x98,0x37,0x40,0x64,0x4A,0xCC,0xB1,0x8B,0x29,0xCB,0x30,0xE8,0x95,\r
+0x84,0xF9,0x5D,0xCA,0x38,0x03,0x28,0x45,0x16,0x6B,0xEA,0x92,0xD3,0xAC,0x6C,0x11,\r
+0x60,0x1D,0xC1,0xB2,0x8F,0x0E,0x92,0xF2,0x2F,0x52,0xB5,0xF4,0x61,0x53,0x21,0x5C,\r
+0x5E,0x23,0xE6,0xAB,0x4D,0xF7,0xA9,0x30,0xB8,0xC5,0x2B,0xFD,0x1D,0x9A,0x94,0xE9,\r
+0x59,0x24,0xA7,0xED,0x29,0x63,0x59,0x54,0x39,0x44,0x82,0xD5,0x2C,0xB9,0x86,0xFB,\r
+0xCC,0xB1,0xDF,0x00,0x72,0xF0,0x91,0x0F,0xA7,0xDA,0x37,0xFE,0x6C,0xE9,0x96,0xEB,\r
+0x69,0x14,0xE3,0x99,0x4A,0xB6,0xEF,0x37,0x69,0x14,0x12,0x15,0x23,0x09,0x39,0x44,\r
+0xB3,0xCE,0x58,0xF8,0xD8,0x8F,0x44,0xA5,0x96,0xEB,0x62,0x9A,0xCC,0x08,0xD7,0xAA,\r
+0x2B,0x56,0x12,0x2A,0xF1,0xA9,0x4B,0x8C,0x43,0x3E,0x4F,0x62,0x04,0x10,0x07,0x7A,\r
+0x6A,0x17,0xB2,0xCB,0xD3,0xDC,0x1C,0xAE,0x3D,0x40,0x96,0xC5,0x7D,0xEB,0x85,0xF8,\r
+0x2D,0x50,0x73,0x4D,0x2C,0x53,0x6C,0x51,0xB5,0xC8,0x14,0xCF,0x20,0x15,0x26,0x5B,\r
+0xAB,0xD6,0x1A,0xA2,0x9A,0x7E,0xF7,0xE7,0xBA,0xC7,0x58,0x8C,0xFB,0x05,0xED,0x90,\r
+0x31,0x4C,0x21,0x03,0xD9,0xAF,0x65,0xA4,0xC4,0xB9,0x81,0x2B,0x96,0xCE,0x4B,0x36,\r
+0x61,0xB8,0x6D,0xBE,0xC1,0x19,0x6A,0xCC,0x6E,0x1E,0x17,0xBB,0x4B,0xDB,0x22,0x9E,\r
+0xB4,0x12,0xC7,0xC1,0x7F,0x61,0xAC,0xB4,0xFA,0xD2,0x4F,0x2F,0x5A,0xBB,0x53,0x8F,\r
+0x03,0x9F,0x4A,0xFB,0xBD,0x32,0x3D,0xE7,0x18,0xCD,0xB2,0xCD,0x78,0xCE,0x04,0xAD,\r
+0x6E,0x91,0x44,0x98,0x8E,0xEB,0xD7,0x3E,0x4D,0x68,0x42,0x98,0xC0,0x80,0xF2,0x15,\r
+0x42,0xAA,0x7F,0x8F,0x5B,0x41,0xA8,0x94,0x69,0x58,0x56,0xBC,0xFD,0xF6,0xB9,0x28,\r
+0xD7,0xDB,0x0E,0x6B,0x01,0x59,0xEA,0x8C,0x45,0x62,0x40,0x90,0x94,0x50,0x76,0x41,\r
+0x90,0x32,0xE7,0xC5,0xD8,0x27,0x4D,0xF2,0xE2,0x88,0x0D,0x37,0x5D,0xFA,0x15,0x88,\r
+0x6A,0x5E,0x8B,0x53,0x78,0x53,0x99,0x86,0x26,0xD4,0x95,0xF3,0xCE,0xE3,0x9F,0x1B,\r
+0x30,0x46,0x93,0x11,0x8F,0x05,0x38,0xD0,0xBC,0x75,0xAE,0x69,0xFB,0x97,0xDE,0x2E,\r
+0x08,0x79,0xAC,0x16,0xB1,0xE6,0xE5,0x33,0x7E,0x4E,0x57,0xAB,0xA9,0x26,0x3D,0x7C,\r
+0x19,0x5C,0x89,0x22,0xAF,0xEA,0xF7,0x3F,0x01,0xB6,0xD0,0xD4,0x5F,0x8B,0x66,0x8A,\r
+0xC7,0x10,0xC5,0xB0,0x57,0x95,0x70,0x40,0xB2,0x18,0xCD,0x67,0x77,0x8D,0x48,0xA2,\r
+0xC9,0xD7,0x02,0x79,0xC6,0x2B,0x5F,0xFE,0xA5,0x0E,0xCC,0x70,0xD9,0xE2,0x89,0x0C,\r
+0xA3,0xEB,0x3E,0x2F,0x55,0x86,0x61,0x53,0x5F,0x4B,0x73,0x8A,0x5B,0x9B,0x72,0x8E,\r
+0x51,0x9C,0x49,0xAA,0x21,0xB6,0x25,0x63,0x16,0xA0,0xD1,0xC3,0xC8,0x82,0xF8,0x1D,\r
+0x35,0x67,0xB2,0x35,0xFA,0xDB,0x93,0x0E,0x65,0x46,0x44,0xB0,0xAA,0x77,0x6F,0x7F,\r
+0xA5,0x37,0xE2,0xF5,0x09,0x42,0xF9,0x97,0x51,0x26,0x10,0x84,0xDE,0xA3,0xCF,0x0B,\r
+0x14,0x66,0xB3,0x15,0x8A,0x24,0x1C,0xF1,0x4E,0x3A,0x13,0x9B,0x15,0x78,0xDF,0xC0,\r
+0x81,0x17,0xC2,0xF1,0xE6,0xC4,0x90,0x11,0x81,0x3E,0xD8,0x54,0xC1,0xA0,0xD3,0x14,\r
+0x36,0x9A,0x4F,0xCB,0xCA,0xFF,0x87,0x2A,0xAC,0x25,0xEE,0x79,0x20,0x0C,0x9E,0xF5,\r
+0x64,0x99,0x4C,0x9A,0x86,0xF0,0xC4,0x25,0x76,0x44,0x55,0xA3,0xA4,0x14,0x02,0x71,\r
+0x1C,0x7D,0xA8,0x06,0x3C,0x47,0xC9,0x92,0x4F,0x1B,0x33,0x9A,0xE9,0xA6,0xFD,0x3C,\r
+0x05,0x43,0x96,0x21,0x07,0x85,0x30,0x50,0xD8,0x85,0x3A,0x0D,0x5C,0xDA,0x34,0x89,\r
+0x43,0x44,0x91,0x60,0xF7,0xE1,0xA4,0x34,0x59,0x2C,0x12,0x8C,0x4E,0xEB,0x17,0x9B,\r
+0xAE,0xD1,0x04,0x18,0x3F,0xBA,0x37,0x6F,0xC7,0x99,0x39,0x12,0x5E,0xAB,0x47,0x8B,\r
+0x37,0x74,0xA1,0x24,0x41,0x82,0x71,0x57,0x09,0xBC,0xD2,0xDC,0xF1,0xE4,0xA7,0x24,\r
+0x56,0xAE,0x7B,0x9F,0xEA,0x10,0x48,0xC5,0xF6,0xCC,0x5D,0x23,0x1F,0x0B,0xA6,0xCA,\r
+0x84,0x36,0xE3,0xD5,0xE5,0x39,0x6E,0xEC,0x23,0xE1,0xA5,0xF6,0xCF,0xC3,0xBE,0x1A,\r
+0x65,0x77,0xA2,0x75,0xB2,0x1B,0x1B,0xCE,0x5D,0x38,0x02,0x88,0x4D,0xBA,0x45,0x98,\r
+0xE3,0x30,0xE5,0xB4,0xC2,0xE4,0x94,0x31,0xD5,0xBA,0x08,0x00,0xEE,0xE7,0xBB,0x3B,\r
+0x0C,0xB6,0x63,0xDD,0x59,0x52,0xB9,0x87,0xDA,0xF6,0x4B,0x0F,0x25,0x3C,0xAB,0xF0,\r
+0xAD,0x2C,0xF9,0xE6,0xCB,0x11,0x68,0xC4,0xA4,0x2F,0xEC,0x71,0x83,0x51,0x60,0x56,\r
+0x31,0xA8,0x7D,0xFE,0x97,0xD5,0xF0,0x00,0x62,0x00,0x05,0xB7,0xF2,0xB5,0xF5,0x27,\r
+0x93,0xCF,0x1A,0x3B,0xFB,0x35,0x7C,0xE0,0xA7,0x7D,0xBD,0x72,0x6C,0x9E,0x40,0xB9,\r
+0x98,0x29,0xFC,0xD6,0x69,0x76,0xAD,0xA3,0x2D,0x8C,0xC6,0xF8,0xD3,0x91,0xF0,0x06,\r
+0x23,0x70,0xA5,0x34,0xD1,0xD2,0xB1,0x07,0x64,0x67,0x64,0xB1,0x87,0x41,0x74,0x52,\r
+0xF4,0xC9,0x1C,0x5A,0x20,0x58,0xCA,0x8D,0x85,0x2A,0xC8,0x50,0x13,0x19,0xB8,0xC6,\r
+0x11,0x47,0x92,0x31,0x8D,0x16,0x29,0xC3,0x58,0x0D,0x32,0x8D,0x1E,0x2B,0x87,0xCB,\r
+0x5C,0xA6,0x73,0x9D,0x52,0xB4,0x54,0x61,0xDD,0xB0,0x0A,0x08,0x30,0x4C,0xCE,0xE5,\r
+0xD9,0x1C,0xC9,0xA2,0xC4,0x38,0x4E,0xED,0xF7,0xED,0x7D,0x22,0x33,0x1D,0x9C,0xE6,\r
+0x5E,0xB5,0x60,0x8C,0x3B,0x75,0xFC,0xA0,0x4C,0x49,0x62,0x99,0x40,0x88,0x7A,0x95,\r
+0x9D,0x08,0xDD,0xF2,0x82,0x3F,0x0F,0xEA,0x84,0x0B,0xE8,0x51,0x81,0x20,0x13,0x54,\r
+0xC3,0xDF,0x0A,0x7B,0xEC,0xCC,0x92,0x19,0x20,0xB3,0xF4,0xF5,0xED,0xB6,0xE9,0x38,\r
+0xD5,0xC8,0x1D,0x7A,0xFF,0xFA,0xB7,0x2F,0x5B,0x5F,0x63,0x8E,0x2D,0x3E,0xA1,0xF8,\r
+0x39,0xB3,0x66,0xED,0x77,0x7A,0xBF,0xAF,0x03,0xC5,0xA1,0xD6,0x17,0x09,0xAC,0xC2,\r
+0x96,0xEE,0x3B,0x1F,0x4A,0x64,0x9C,0xB1,0x6D,0x4C,0x46,0xB8,0x29,0x2E,0xB5,0xFC,\r
+0xF3,0xFB,0x2E,0x6F,0xB7,0x3A,0x3F,0xEF,0xDE,0xE2,0x5B,0x0B,0x7E,0xAF,0x63,0xAB,\r
+0xA8,0x0D,0xD8,0xC2,0x27,0x6A,0xFF,0xBF,0xBB,0x33,0xEF,0x6E,0x3D,0x7E,0xF1,0xE8,\r
+0x4D,0x83,0x56,0xA9,0x29,0xAD,0x36,0x78,0xE4,0xEF,0x6C,0x31,0x01,0x28,0x9B,0xD4,\r
+0x79,0x68,0xBD,0x76,0xD0,0x3C,0x5E,0xE9,0xFD,0x94,0x0E,0x28,0x97,0x01,0x24,0x42,\r
+0xD6,0x35,0xE0,0x84,0xEE,0xDF,0x83,0x0A,0xA1,0x1A,0xDC,0x74,0x9E,0x23,0x0F,0x4B,\r
+0xE0,0xCD,0x18,0x4A,0xFC,0x07,0x49,0xD2,0x55,0x32,0x00,0x80,0xB5,0x74,0x73,0x60,\r
+0xE7,0xFF,0x2A,0x7F,0xC0,0xF7,0x85,0x22,0xD9,0xA4,0x1A,0x0C,0xDA,0xB3,0xDB,0x0F,\r
+0x4F,0x90,0x45,0xB8,0x16,0xA0,0x04,0x75,0xD6,0xE8,0x59,0x03,0x9F,0x03,0x2E,0x4A,\r
+0x80,0xF9,0x2C,0x1E,0x6B,0x65,0xBC,0xB0,0xBD,0x54,0x8E,0x68,0x9D,0x72,0x5D,0x48,\r
+0xA2,0x05,0xD0,0xC0,0xA9,0x36,0x2D,0xE3,0x1F,0x8B,0xF3,0xCA,0xFE,0xA7,0xEB,0x2B,\r
+0xDD,0xD3,0x06,0x69,0xBF,0x21,0x2C,0xF4,0x39,0xC8,0x96,0xEC,0x6F,0xCF,0x12,0xBA,\r
+0xDC,0x3D,0xE8,0x86,0x7E,0x8F,0x43,0x5A,0x1E,0xAA,0xD3,0xCB,0xEF,0xC7,0x9A,0x3A,\r
+0x70,0x9D,0x48,0x8A,0xE4,0xD7,0x81,0x02,0x49,0x7C,0x52,0x9C,0xBE,0x27,0x2B,0x6B,\r
+0x7B,0x7B,0xAE,0x67,0xFE,0x14,0x58,0xC1,0xDC,0x91,0x2A,0x09,0x57,0x89,0x6C,0x82,\r
+0xDA,0xE1,0x34,0x5C,0x6D,0xB9,0x66,0x6C,0xF3,0xF9,0x6D,0x26,0xBF,0x07,0x0A,0x6A,\r
+0x83,0x04,0xD1,0xE0,0x2D,0x62,0xFD,0xB7,0xA9,0x10,0xDE,0x7C,0x46,0xE9,0x1D,0x93,\r
+0x50,0x72,0xA7,0x45,0x28,0x43,0xD9,0x96,0x21,0x92,0xD4,0xF4,0xC6,0xE1,0x95,0x13,\r
+0x1F,0x80,0x55,0xF8,0x5A,0xAF,0x47,0x7A,0xBE,0x06,0xDF,0x6B,0xA6,0x65,0x71,0x73,\r
+0x50,0xBF,0x76,0x30,0x77,0x48,0x0E,0xA6,0xA5,0x89,0xF3,0xB5,0xF4,0xB2,0x29,0x44,\r
+0xB4,0x2A,0x07,0x41,0x35,0x50,0x16,0xFC,0x9F,0x9F,0xDF,0x99,0x9D,0xDB,0x8F,0x8B,\r
+0x1A,0x6D,0xEE,0xA8,0x92,0x2E,0x68,0x25,0x75,0xD2,0x78,0x3E,0x54,0x12,0x25,0xE8,\r
+0x8C,0x97,0x82,0xC4,0x46,0x5A,0x1C,0x85,0x29,0x4A,0xBC,0xFA,0xC7,0x81,0x3C,0x62,\r
+0x61,0x9C,0x64,0x22,0xB5,0x10,0x56,0x3C,0xE3,0xC8,0xF4,0xB2,0x42,0x04,0x04,0xDF,\r
+0x1E,0x49,0xCE,0x88,0x73,0x68,0x2E,0x82,0x2F,0x90,0x60,0x26,0x53,0x15,0x64,0xAE,\r
+0x24,0xFE,0x43,0x05,0xE2,0x3B,0x7D,0x40,0x30,0x6D,0x82,0xC4,0x71,0x37,0x11,0xF9,\r
+0x47,0x93,0x4D,0x0B,0x08,0xE2,0xA4,0x73,0x95,0x9D,0xD7,0x91,0xC9,0x8F,0x5F,0x0F,\r
+0xA6,0x34,0x0B,0x4D,0x80,0x22,0x64,0x3B,0xF3,0x13,0x3F,0x79,0xD0,0x96,0x3D,0x74,\r
+0xF0,0x5E,0x37,0x71,0xBE,0x8F,0xC9,0xA8,0xB6,0xAC,0xC5,0x83,0x52,0x14,0x44,0x8F,\r
+0x75,0xAC,0x40,0x06,0xFA,0xBF,0xF9,0xDC,0x5D,0x0E,0x8C,0xCA,0xC1,0x87,0x5D,0x05,\r
+0xEA,0xC8,0xBB,0xFD,0x4C,0xD2,0x94,0x07,0xBB,0x9B,0xFF,0xB9,0xA3,0xE5,0xA8,0x92,\r
+0xCE,0xCD,0x9A,0xDC,0xE7,0x0C,0x4A,0x72,0x88,0x71,0x26,0x60,0xF2,0xB4,0x48,0x23,\r
+0xC9,0xF5,0xA5,0xE3,0x3A,0xEF,0xA9,0x4C,0xB3,0x88,0xE4,0xA2,0xA0,0xE6,0xF9,0xC0,\r
+0xFD,0xE4,0x80,0xC6,0x28,0xE3,0xA5,0x52,0x4B,0x0F,0x9B,0xDD,0x56,0x10,0x54,0x9B,\r
+0x6F,0x3A,0xCC,0x8A,0xAF,0x9C,0xDA,0xAA,0xE5,0x12,0x28,0x6E,0x7E,0x38,0x52,0xB5,\r
+0x45,0x99,0x45,0x03,0x1B,0xF9,0xBF,0x7B,0xB9,0x8A,0xEC,0xAA,0xAD,0xEB,0xCB,0xFF,\r
+0xD9,0xE1,0xA1,0xE7,0x16,0x4E,0x08,0xC1,0xE6,0xEC,0xD5,0x93,0xE0,0xA6,0x79,0x00,\r
+0xFE,0xF8,0x9F,0xD9,0xEF,0x8C,0xCA,0xFA,0x78,0xE5,0x42,0x04,0x55,0x13,0x05,0xC9,\r
+0xBF,0xBE,0x98,0xDE,0x7B,0xE8,0xAE,0x0A,0xD1,0xCD,0xC3,0x85,0x47,0x01,0x34,0xEA,\r
+0x2A,0x58,0xEB,0xAD,0x26,0x4B,0x0D,0xF4,0xDB,0xCF,0xCB,0x8D,0xD7,0x91,0x7C,0x32,\r
+0xCA,0xE9,0xBA,0xFC,0xC3,0x2D,0x6B,0x77,0xC7,0xCC,0xD4,0x92,0x1C,0x5A,0xA7,0x22,\r
+0x2E,0x7C,0xCB,0x8D,0x4F,0xCD,0x8B,0x1B,0xC3,0x07,0x1B,0x5D,0xC8,0x8E,0x7F,0x2E,\r
+0x14,0xCB,0x46,0x00,0x58,0xF6,0xB0,0x37,0xD8,0x31,0x36,0x70,0x29,0x6F,0xD3,0x63,\r
+0xAA,0x98,0xAB,0xED,0xC4,0x12,0x54,0x4F,0xC5,0xDD,0xC7,0x81,0x44,0x02,0x65,0xB8,\r
+0x6B,0x1E,0xEC,0xAA,0x4B,0xED,0xAB,0x3F,0x47,0xD7,0x4F,0x09,0xE7,0xA1,0x38,0x46,\r
+0x02,0xF1,0x6A,0x2C,0x66,0x5B,0x1D,0xA4,0x0B,0x94,0x40,0x06,0x2C,0x6A,0xE3,0x56,\r
+0x39,0x50,0xF0,0xB6,0xB7,0x18,0x5E,0x36,0xD2,0x33,0x3E,0x78,0x8A,0xCC,0x8E,0x9D,\r
+0xC7,0x53,0x0D,0x4B,0xE8,0xB3,0xF5,0xC2,0x64,0xE6,0x5D,0x1B,0x57,0x11,0x74,0xBA,\r
+0xFB,0xCA,0xA8,0xEE,0xAE,0x8B,0xCD,0xBC,0x41,0x0D,0x93,0xD5,0xF8,0xBE,0x3B,0x5A,\r
+0x40,0xAB,0x72,0x34,0x97,0x19,0x5F,0x17,0x31,0x82,0x6C,0x2A,0x16,0x50,0xD4,0x5B,\r
+0x0A,0x79,0xEA,0xAC,0xB1,0x30,0x76,0x18,0x1C,0x7A,0xB9,0xFF,0xC6,0x80,0x1C,0x43,\r
+0x85,0x09,0x15,0x53,0x15,0x51,0x17,0xDD,0xD7,0x17,0x1F,0x59,0x1A,0x5C,0xC6,0x45,\r
+0xEE,0xEC,0x9B,0xDD,0xF6,0x1F,0x59,0x70,0xF0,0xED,0xC2,0x84,0x17,0x51,0xF4,0x7A,\r
+0x42,0xA1,0x7A,0x3C,0x8B,0xBD,0xFB,0xAF,0x4D,0xD5,0x47,0x01,0x39,0x7F,0x93,0x33,\r
+0x7D,0x24,0xC0,0x86,0x91,0x31,0x77,0x39,0x10,0xA2,0x6D,0x2B,0x3A,0x7C,0xC2,0x61,\r
+0x21,0xCC,0x74,0x32,0x2F,0xDC,0x9A,0x6A,0xFD,0xDA,0xF8,0xBE,0xFB,0xBD,0x6A,0x08,\r
+0xE4,0x6E,0x13,0x55,0xA3,0x3C,0x7A,0x06,0x80,0x62,0x3D,0x7B,0x65,0x23,0x41,0xBD,\r
+0x09,0x65,0xF5,0xB3,0x72,0x7F,0x39,0x94,0x71,0x19,0xB7,0xF1,0xDA,0x9C,0x4E,0x0D,\r
+0xEB,0xDE,0xAC,0xEA,0x6E,0xDB,0x9D,0x2C,0x9A,0xBB,0xFE,0xB8,0x8E,0xC8,0x9E,0x89,\r
+0x32,0xC4,0x6F,0x29,0x60,0x73,0x35,0x8A,0x38,0x7E,0x99,0xDF,0x1E,0x58,0xD6,0x51,\r
+0xC0,0x6B,0x32,0x74,0x43,0x6D,0x2B,0xB7,0xB1,0x99,0xF7,0xB1,0x20,0x66,0xF1,0x48,\r
+0xB0,0x0E,0x27,0x61,0xE0,0x33,0x75,0x4A,0x1F,0x84,0x44,0x02,0x77,0x31,0x70,0x9E,\r
+0x1D,0x55,0xD1,0x97,0x20,0x63,0x25,0xDA,0xCE,0x30,0x21,0x67,0x34,0x72,0xA1,0x0C,\r
+0x53,0xA3,0x69,0x2F,0x23,0x7C,0x3A,0xC6,0xB4,0xBD,0xD6,0x90,0x49,0x0F,0x57,0x87,\r
+0x2D,0x60,0xD4,0x92,0xD0,0x36,0x70,0x7F,0xF6,0x37,0x1E,0x58,0x88,0xCE,0xFF,0xEE,\r
+0xA4,0x3E,0x03,0x45,0x4D,0xC5,0x83,0x11,0x4E,0x2B,0xBA,0xFC,0xE4,0xA2,0x69,0x14,\r
+0xA5,0x28,0x14,0x52,0x68,0xF3,0xB5,0x02,0xA2,0xBC,0xC1,0x87,0x24,0x62,0xE1,0x5C,\r
+0xA0,0x1A,0x23,0x65,0x5A,0xFE,0xB8,0x3D,0x59,0xC5,0x43,0x05,0xD3,0x95,0x6C,0x26,\r
+0x67,0xB2,0x4C,0x0A,0xDB,0xA9,0xEF,0xEB,0x15,0x86,0x4C,0x0A,0x96,0xD0,0xDC,0xD3,\r
+0xC1,0x7D,0x25,0x63,0x63,0x6C,0x2A,0x96,0xA9,0x51,0x27,0x61,0x94,0xD2,0xAD,0xA0,\r
+0x1F,0x5F,0xD9,0x9F,0xF2,0x3F,0x79,0x54,0x76,0x2C,0x85,0xC3,0xF7,0xB1,0x78,0x16,\r
+0x76,0xB0,0x5F,0x19,0xE9,0xA4,0xE2,0xD4,0x12,0xB3,0x7E,0x38,0x08,0x4E,0xF7,0x66,\r
+0xA9,0x84,0xB4,0xF2,0x81,0x35,0x73,0x2D,0x69,0xD1,0x67,0x21,0x9E,0xD8,0xDE,0xD9,\r
+0x5B,0x2B,0xE9,0xAF,0x5C,0xD6,0x90,0x13,0xE7,0x03,0x3B,0x7D,0x97,0xD1,0xFC,0xF2,\r
+0x95,0x1D,0x11,0x57,0x96,0x0E,0x48,0x01,0xCF,0xDF,0xCF,0x89,0xBC,0xFA,0xAB,0x8E,\r
+0x83,0x27,0x3D,0x7B,0xB9,0xB0,0xF6,0x90,0x04,0xB2,0x69,0x2F,0xB6,0xF0,0xD8,0xF7,\r
+0x3F,0x7E,0xD8,0x9E,0x22,0x6B,0x2D,0xD0,0xED,0x01,0x33,0x75,0x4F,0x09,0x36,0xE0,\r
+0x9A,0xAD,0xAE,0xE8,0x06,0x4A,0x0C,0xD5,0x6F,0x0B,0xBB,0xFD,0xCF,0x89,0x3E,0x68,\r
+0x27,0xE2,0x5C,0x1A,0x98,0xA6,0xE0,0xA7,0xFB,0x00,0x24,0x62,0xAF,0xE9,0xBA,0x8C,\r
+0xB6,0x20,0x0F,0x49,0xF3,0x28,0x6E,0x42,0x35,0x49,0xA3,0xE5,0x66,0x20,0x10,0xEF,\r
+0x59,0x21,0xE1,0xA7,0x9C,0x86,0xC0,0x83,0x57,0x0C,0x84,0xC2,0xE6,0xA0,0x18,0x67,\r
+0x55,0x8D,0x41,0x07,0x5E,0xDE,0x98,0x19,0x81,0x8D,0xD3,0x95,0xB7,0xF1,0xF8,0xD6,\r
+0xB8,0x86,0xA7,0xE1,0x87,0x1D,0x5B,0x03,0x6C,0xF5,0x46,0x00,0x5E,0x18,0x56,0x91,\r
+0xB8,0xB2,0xA5,0xF6,0x49,0xB8,0x07,0x5E,0x6D,0x53,0x1D,0x91,0xE0,0x0C,0x42,0x0D,\r
+0x02,0x8D,0x20,0x4C,0xC5,0x2E,0x8B,0x44,0x1A,0x79,0x37,0xCC,0xB2,0x0F,0x41,0x5C,\r
+0xE3,0x21,0x6D,0xAD,0x67,0xF1,0x29,0x39,0x22,0xFC,0xB2,0x71,0xFB,0x21,0x6F,0x3B,\r
+0x6D,0x4A,0x88,0x23,0x29,0x5C,0x67,0xDA,0xD8,0x21,0x6F,0x56,0xC4,0x2C,0x62,0x09,\r
+0xD4,0x24,0x5F,0x9A,0xA3,0xAD,0xED,0xA1,0x74,0xC0,0x8E,0x1B,0x08,0xB8,0xF6,0x51,\r
+0x8D,0xC6,0xE4,0xC3,0x07,0x15,0x49,0xBD,0xD6,0x89,0xC7,0xF0,0x8C,0xEC,0xA2,0x81,\r
+0x6B,0x2B,0xEF,0x25,0x44,0x87,0x0A,0x6C,0xAD,0x03,0x4D,0x01,0x3C,0x53,0x1D,0x8E,\r
+0x0C,0xEE,0x4D,0x42,0xA4,0xEB,0xEA,0xE0,0x15,0xC6,0x88,0x7C,0x89,0xCD,0x83,0xA5,\r
+0xA9,0xD2,0xD4,0xE7,0x1B,0x5B,0x55,0xEF,0xFF,0x1F,0x51,0x4F,0x8D,0x02,0x4C,0x6E,\r
+0x5F,0x7F,0x8F,0x11,0x4B,0xCB,0x05,0x2F,0x4B,0x7A,0x34,0x9E,0x1F,0x41,0x0F,0xBF,\r
+0x4A,0x0F,0xEA,0x04,0x15,0x36,0x5B,0x8C,0x56,0xC9,0x87,0x30,0xC9,0x16,0x58,0x3E,\r
+0x17,0xFD,0x45,0x59,0x0B,0x0B,0x45,0xAF,0xB1,0xA7,0xE9,0xB9,0xD0,0x28,0x66,0x19,\r
+0x6C,0x6A,0xA9,0x22,0x8B,0x83,0xC5,0xA7,0x73,0xFF,0xB1,0x23,0xDD,0x12,0x5C,0x2E,\r
+0x7B,0x6B,0xBF,0x35,0xBD,0x90,0xF3,0x82,0xE4,0x84,0xCA,0xCF,0x95,0xD2,0x9C,0xA6,\r
+0xAC,0xE2,0xE1,0xE2,0x4E,0xFE,0x00,0x1F,0xF8,0x20,0x6E,0x77,0x6F,0xBE,0xF0,0x30,\r
+0x11,0x9C,0x22,0x5F,0x04,0x47,0x4A,0xEC,0x72,0xE8,0xA6,0x35,0x06,0x7F,0x31,0x98,\r
+0xA1,0xD0,0xDE,0xEF,0x47,0xD5,0x09,0x3D,0xE3,0xBB,0xF5,0xF7,0x97,0xC1,0x8F,0xB7,\r
+0x5D,0x0E,0xFC,0x13,0x14,0x17,0x5A,0xAC,0x9E,0x19,0x57,0x28,0x21,0xA2,0xEC,0x62,\r
+0x34,0xA8,0x33,0x7A,0xD1,0x6A,0x9F,0x14,0x49,0x72,0x3C,0x94,0x52,0xA0,0xEE,0x13,\r
+0x5B,0x6F,0x9B,0x15,0x86,0xBC,0xC8,0x95,0x0A,0x7D,0x33,0xD8,0xA7,0xE5,0xAB,0xA3,\r
+0x69,0x5A,0x9C,0x27,0x76,0x80,0x38,0x59,0x10,0xF1,0xBF,0x4E,0x0F,0x8A,0xC4,0x64,\r
+0x91,0x94,0xAA,0xDF,0xAE,0x92,0xE0,0x93,0xCC,0x05,0x4B,0x66,0x73,0xA1,0xEF,0x33,\r
+0xCC,0x66,0x05,0x82,0x4D,0xAC,0x03,0x4E,0x1E,0x59,0x17,0xE8,0x58,0xA8,0xE6,0x11,\r
+0x27,0xB9,0x31,0x69,0xDC,0x55,0x92,0x26,0x7C,0x40,0x0E,0x93,0xE7,0x3E,0x70,0x38,\r
+0x24,0xE8,0x63,0x6A,0xDE,0x26,0x90,0x57,0xCF,0x1A,0x54,0x7A,0x0D,0x99,0xD7,0x75,\r
+0xD6,0x55,0x2C,0x98,0x32,0x54,0x7C,0xC9,0xC4,0x85,0xCB,0xEE,0xE9,0xF9,0xB7,0xF1,\r
+0xA0,0xF0,0xFF,0xEE,0x13,0x51,0x5D,0xED,0xCE,0x0D,0x43,0x6C,0x61,0x79,0x37,0xF9,\r
+0x45,0x4C,0xA6,0x0B,0xC8,0x11,0x86,0x76,0x7D,0x57,0x19,0x85,0x76,0x80,0xCE,0x17,\r
+0xDF,0x77,0x07,0x91,0x65,0x82,0x2B,0x48,0x3A,0x78,0x36,0xED,0x10,0x68,0x26,0x99,\r
+0x39,0x9A,0x0C,0x77,0xA6,0x98,0xE8,0x91,0x42,0xED,0xA3,0x00,0x57,0x81,0xCF,0x37,\r
+0x99,0x96,0xA0,0xD7,0xFE,0x02,0xB0,0x53,0xC3,0xBA,0xF4,0xD6,0xE6,0xD0,0x9E,0xD7,\r
+0x77,0x79,0xA1,0x39,0x50,0xC3,0x1E,0x3C,0x86,0x9D,0xD3,0xB4,0x6E,0x50,0x1E,0xDF,\r
+0xFA,0x43,0x16,0xB4,0x22,0x04,0x6C,0x89,0x85,0x82,0xCC,0xA8,0xE3,0xF1,0xBF,0xF3,\r
+0x96,0xD5,0xEC,0xD8,0x56,0xA4,0x18,0x5D,0x1D,0x46,0x08,0xF4,0x69,0x62,0x2C,0xEA,\r
+0x7F,0x7B,0xAB,0x31,0x28,0x7D,0x66,0xFA,0x50,0xE1,0xAF,0x1E,0x0A,0xAB,0xE5,0x40,\r
+0x0E,0x9F,0x3E,0x40,0x30,0x27,0x7E,0xB8,0x46,0xCD,0x83,0x24,0xC5,0xC2,0x8C,0xE6,\r
+0x35,0x88,0x12,0x7B,0x9A,0xF2,0xD4,0xC7,0x52,0xE9,0xA7,0x14,0x8E,0xFF,0xB1,0x90,\r
+0x3B,0xEB,0x7F,0x75,0x43,0xC1,0x0D,0x2D,0xA2,0xBC,0xF2,0xB1,0x78,0x47,0x09,0xDE,\r
+0xB6,0xD1,0xC8,0xF8,0x10,0x03,0x5E,0xBC,0x5F,0x5E,0x10,0xAE,0x2F,0x65,0x2B,0xAB,\r
+0x1C,0xAE,0x1D,0x52,0x68,0xBD,0x26,0x7A,0x07,0xCA,0x84,0x62,0x5E,0x74,0x3A,0xCB,\r
+0xC3,0x25,0x49,0x8D,0xAA,0x86,0xE4,0x83,0x54,0xC1,0x8F,0x3A,0x13,0x95,0xDB,0x67,\r
+0x38,0xBA,0x2D,0x76,0xC7,0x5D,0x89,0x35,0xC1,0xB2,0xFC,0xDC,0x84,0xF7,0xB9,0x92,\r
+0x4F,0x3F,0xDF,0x01,0xF7,0x29,0xB9,0x71,0x63,0xFB,0xB5,0x37,0x0E,0x64,0x2A,0x8B,\r
+0x73,0x69,0xB5,0x3D,0x5A,0xBA,0x14,0x4F,0xDC,0x01,0x4F,0x72,0xF5,0xE6,0xA8,0xF2,\r
+0xB4,0xA0,0xBB,0xFA,0xE4,0x2B,0xAA,0x60,0xDD,0x16,0x58,0x64,0x34,0x48,0x06,0x9D,\r
+0xF8,0x32,0x65,0xB6,0x9B,0xD3,0xD5,0xE7,0xC0,0xA5,0xEB,0xCA,0x1A,0x60,0x2E,0x9B,\r
+0xDD,0x06,0x74,0x93,0x97,0xCD,0xD9,0xF5,0x47,0xDA,0x94,0x32,0x41,0x96,0xD8,0x36,\r
+0xE2,0x01,0x4C,0xAC,0x74,0xF3,0x3A,0x28,0xBE,0x18,0x56,0x09,0xA2,0xC4,0x8A,0x87,\r
+0xE0,0x70,0x3F,0xAE,0x90,0x8B,0xDE,0xB4,0x02,0xFD,0xB3,0x50,0x6B,0x71,0x3F,0xFB,\r
+0xE7,0x31,0x79,0xA9,0xF4,0x7B,0xBA,0x20,0x2A,0x7C,0x32,0xF9,0x48,0x63,0x2D,0xCA,\r
+0xD9,0x16,0x60,0x97,0x36,0x40,0x78,0xD9,0x23,0xEB,0xA5,0x67,0x81,0xD6,0x98,0xB6,\r
+0x3D,0x8A,0x18,0x73,0x81,0xFA,0xCF,0xD4,0x45,0xD2,0x9C,0x38,0x7E,0x9B,0xD5,0x04,\r
+0x3E,0xDB,0x4A,0x70,0x8E,0xB6,0xC0,0x97,0xFE,0x08,0x46,0x59,0xE2,0x1F,0x51,0x1C,\r
+0xB3,0xE1,0xFD,0xFD,0xB5,0x9A,0xFB,0x80,0xC8,0x25,0x6B,0x42,0xAF,0xFE,0xB0,0xB0,\r
+0xC2,0x05,0x68,0x8C,0x55,0xF6,0x1B,0x0C,0x03,0xEA,0xA4,0x46,0xA3,0x2A,0x64,0x68,\r
+0x93,0xE5,0xD9,0xDD,0x33,0x75,0x7D,0xE9,0x00,0xF5,0xBB,0x5A,0xB3,0xE1,0xAF,0xB3,\r
+0x88,0xF6,0xD1,0xC6,0x60,0xB7,0x2E,0x78,0xFC,0x00,0x4E,0x53,0x1C,0xBC,0xF2,0x41,\r
+0x12,0xCD,0x70,0x5C,0x23,0x25,0x6D,0xA9,0x5B,0x7E,0x30,0x8A,0xD7,0x1A,0x54,0x2C,\r
+0x94,0xA4,0x9F,0xDA,0x95,0xBE,0xDB,0x84,0x18,0x71,0x3F,0xC6,0xC7,0xD1,0x9F,0xF7,\r
+0xD3,0x65,0x19,0x9D,0x6A,0xCE,0x24,0x0B,0x12,0xF9,0xB7,0x44,0x39,0x72,0x3C,0xAA,\r
+0x92,0xC5,0xF8,0xDC,0x48,0x99,0x06,0x7E,0xB5,0x87,0xC9,0x9D,0xC2,0xF0,0xBE,0xD3,\r
+0x0A,0x8F,0x2A,0x44,0x61,0x96,0x2F,0x58,0x4D,0x52,0x1C,0xB0,0xDA,0x20,0x6E,0x1B,\r
+0xD0,0x34,0x4B,0x9E,0xF3,0x3D,0xBD,0x61,0xC2,0xAD,0xE3,0xC0,0xDB,0xCE,0x80,0xF4,\r
+0x75,0x08,0xD2,0x3B,0xCB,0x43,0x85,0x27,0x29,0x63,0x2D,0xE5,0x3B,0x61,0x2F,0xBB,\r
+0xEC,0x20,0xC3,0xDC,0xC6,0x25,0x31,0xE7,0xF7,0xB2,0x55,0x14,0x06,0x64,0x87,0x91,\r
+0x2E,0x73,0x90,0x4D,0x3A,0xD9,0xEF,0xC5,0x93,0x42,0xC1,0x70,0x40,0x63,0x80,0xD0,\r
+0x81,0x2E,0xCD,0xBF,0xDF,0x3C,0x53,0x9C,0x45,0x3D,0x68,0xA6,0x2F,0x7E,0x9D,0xA2,\r
+0x17,0xA2,0x41,0xA5,0x65,0x86,0x6C,0x19,0x31,0x9D,0xBC,0xD2,0xD5,0x12,0xF1,0x34,\r
+0x53,0xB6,0x55,0xF5,0x53,0xB0,0x49,0x0A,0x51,0x79,0x38,0xB2,0x59,0x5D,0xBE,0xF7,\r
+0x85,0xE1,0x02,0x74,0x3C,0xDF,0x8E,0xA2,0xE6,0xC3,0x35,0x05,0x21,0xB9,0x5A,0x6B,\r
+0xC8,0x00,0xE3,0xD8,0x84,0x67,0xC0,0x54,0x4F,0x44,0x1B,0xAC,0x92,0xFB,0x18,0x9A,\r
+0x65,0x4E,0xAD,0x3B,0x0A,0xE9,0xAB,0xB1,0x57,0x1E,0x59,0xB4,0x07,0x8A,0x69,0x7E,\r
+0xAE,0xE8,0x0B,0x56,0xDC,0x3F,0x02,0xCE,0x58,0x52,0x1A,0xBB,0x69,0x79,0x9A,0xE3,\r
+0x18,0x8B,0x68,0x83,0x7E,0x9D,0x7F,0x11,0x4A,0x71,0x2B,0xA9,0xC0,0xF8,0x1B,0xCB,\r
+0xD9,0x25,0xC6,0xEC,0x34,0xD7,0x8C,0xA8,0xD8,0xDA,0x12,0x3B,0x91,0x06,0xE5,0x64,\r
+0x8B,0x26,0xC5,0xBD,0x1E,0xFD,0xFB,0xF5,0x4B,0x50,0x0B,0xA8,0xCD,0xC2,0x21,0xFC,\r
+0x6B,0x89,0x6A,0xF2,0x15,0xF6,0xA8,0xAD,0xFF,0xB8,0x57,0x1C,0x5E,0x6F,0x8C,0xC2,\r
+0x9E,0xCC,0x2F,0x42,0x1A,0xF9,0xEB,0xE1,0xB2,0x47,0xE5,0x51,0x01,0x56,0xB5,0xA4,\r
+0xC2,0x08,0xEB,0xDA,0x9B,0x78,0xC3,0x48,0x82,0x33,0xA1,0x61,0x27,0x65,0x86,0xB1,\r
+0xFD,0x05,0xE6,0xE8,0x46,0xA5,0x39,0x6F,0xEB,0xFC,0x07,0x08,0x1D,0x49,0xAA,0xA7,\r
+0xB9,0x11,0xF2,0xB8,0x0E,0xED,0xBB,0xA5,0xE9,0x8F,0x76,0x0A,0x73,0xBA,0x59,0x3A,\r
+0xAB,0xC9,0x2A,0x72,0xF6,0x15,0x75,0x93,0xD2,0xA3,0x61,0x31,0xC4,0x37,0xD4,0x00,\r
+0x94,0xC4,0x27,0x40,0xB3,0x50,0xC5,0x66,0xFD,0xCB,0x26,0x1E,0x2B,0xB1,0x52,0x69,\r
+0x2C,0x60,0x83,0x5C,0xEA,0x09,0x27,0xDD,0x24,0xF8,0xCC,0xC7,0x46,0xBF,0x5C,0x0A,\r
+0x95,0x2A,0xC9,0xAF,0xAB,0x48,0x87,0x3C,0x32,0xCF,0xED,0xD1,0x51,0x46,0xA5,0xE4,\r
+0x6C,0xBB,0x58,0xC7,0x40,0xA3,0x58,0x08,0x54,0x4C,0x08,0xB7,0xE0,0x17,0xF4,0x04,\r
+0xBE,0x23,0xC0,0x8D,0x0C,0xEF,0xCA,0xD6,0x77,0x3A,0x5D,0x94,0xF1,0x32,0xD1,0x30,\r
+0xD2,0xC3,0x20,0x01,0x6B,0x88,0x0F,0x74,0x0F,0x84,0x9B,0xEC,0x24,0x98,0x7B,0x4F,\r
+0x36,0xA3,0x40,0x85,0x96,0x75,0xF1,0x77,0x36,0xDB,0xFD,0xD5,0x60,0x8C,0x6F,0x1F,\r
+0x4A,0x88,0x6B,0xD2,0x62,0x81,0x2D,0x5F,0xD7,0x96,0x51,0x34,0x7B,0xA1,0x42,0x29,\r
+0x31,0x91,0x72,0xB0,0xA7,0x44,0x95,0x22,0xD6,0xB7,0x71,0x35,0x2D,0x6D,0x8E,0xB3,\r
+0xB5,0xC5,0x26,0x60,0xEE,0x0D,0x37,0xC9,0x6E,0x41,0x3F,0x8D,0x88,0x38,0xDB,0x43,\r
+0x61,0x81,0x62,0xF0,0x3E,0xDD,0xFF,0xD1,0x03,0x9A,0x89,0xE0,0x7F,0x6E,0x8D,0xE2,\r
+0xDE,0x17,0xF4,0xD9,0x27,0xC4,0x9D,0xAA,0xC8,0x8A,0x52,0x2B,0x63,0x71,0x92,0xE1,\r
+0x05,0x7A,0x99,0x6F,0x64,0x87,0x4C,0x38,0x4C,0x16,0x4A,0xAF,0x97,0xDA,0x39,0xBE,\r
+0xB0,0xE4,0x07,0x44,0xA1,0x42,0xF4,0x45,0x5D,0x67,0x2A,0xBE,0x5B,0x4E,0xAD,0xE6,\r
+0x1F,0xB9,0x5A,0xB6,0x43,0xA0,0x09,0x5A,0x07,0x8E,0x99,0xE4,0xE8,0x0C,0xEF,0x17,\r
+0x6D,0x55,0xB6,0x28,0xB1,0x52,0xB4,0x15,0x44,0x1C,0x48,0xA7,0x49,0x96,0x75,0x2C,\r
+0x62,0x7C,0x9F,0x0E,0xCE,0x2D,0x33,0xED,0xCD,0xBF,0x62,0x2E,0x70,0x47,0xA4,0xC4,\r
+0xF2,0x2C,0xCF,0xCE,0x38,0xDB,0x9E,0xB6,0xA0,0x64,0xD4,0x43,0x14,0xBC,0x5F,0x5B,\r
+0x68,0x74,0x97,0x0C,0xC7,0x24,0x11,0xC6,0xF2,0x87,0x65,0x11,0xA6,0x10,0xF3,0x45,\r
+0x28,0xAF,0x4C,0x97,0x22,0xC1,0xAD,0x9F,0x0D,0xF7,0xEA,0xEE,0x20,0x57,0xB4,0x84,\r
+0x0F,0x72,0x91,0x6D,0x2D,0xCE,0xEE,0xD3,0x90,0x10,0x90,0x73,0xE6,0xCB,0x28,0xDE,\r
+0x32,0x6C,0x8F,0x4E,0x70,0x93,0x1C,0x7C,0x3D,0x83,0xAE,0xDE,0x8C,0xF7,0x14,0x88,\r
+0x34,0xB0,0x53,0x94,0x7D,0x9E,0x2E,0x43,0x95,0x25,0xA0,0x76,0x6A,0x84,0x67,0x1D,\r
+0xD0,0xD0,0x33,0x10,0xE2,0x01,0x25,0xD7,0x33,0xEE,0xCD,0xD0,0xB3,0xFA,0x19,0xBA,\r
+0xB4,0x2B,0xC8,0x8F,0x78,0x9B,0x1E,0x76,0xBC,0x2A,0x86,0x5F,0x03,0x45,0xA6,0xB5,\r
+0x26,0x68,0x8B,0x5E,0x1D,0xFE,0xAA,0xA7,0xDE,0xBD,0x73,0x3D,0xE5,0x36,0xD5,0x20,\r
+0x58,0x50,0xB3,0x18,0x6A,0x89,0x2F,0x55,0xF8,0xFE,0x16,0x1B,0xFF,0xF5,0x16,0xF9,\r
+0x4F,0xA9,0x4A,0xF6,0x30,0xD3,0x9C,0xBC,0x5B,0x00,0x4B,0xB8,0x7D,0x7D,0x9E,0xF3,\r
+0xF0,0x3F,0xDC,0xDF,0xAE,0x4D,0xB7,0x09,0x4D,0x37,0x6A,0xAE,0x0E,0x7F,0x9C,0x82,\r
+0xE9,0x01,0xE2,0xF8,0xC0,0x23,0x50,0x80,0xCF,0xCC,0x13,0x2C,0x4B,0x85,0x66,0x3D,\r
+0xBB,0x02,0xE1,0xA9,0xB8,0x5B,0x96,0x3E,0x2F,0xA0,0x9F,0xCC,0xC1,0x16,0xF5,0x24,\r
+0xA1,0xC1,0x22,0x70,0x5E,0xBD,0x7B,0x35,0x06,0xAF,0xB9,0xE5,0x13,0x8E,0x6D,0x6E,\r
+0xBA,0xEC,0x0F,0x46,0x0B,0xE8,0x8B,0x90,0x83,0x12,0x81,0x60,0x82,0x30,0xD3,0x41,\r
+0xA9,0xDA,0x39,0x63,0x1C,0xFF,0x8A,0x86,0xFC,0xEA,0x06,0x1F,0x5C,0x7C,0x9F,0xD3,\r
+0x3B,0x99,0x7A,0xB2,0xFE,0x1D,0x77,0x99,0x94,0x04,0x80,0x77,0x72,0x54,0xB7,0xD5,\r
+0xFA,0x37,0xD4,0xDD,0x10,0xF3,0x98,0x98,0xAC,0x7A,0xC6,0x4F,0xEB,0xF1,0x12,0xE9,\r
+0xC7,0x29,0xCA,0xFE,0xCB,0x28,0x03,0xD8,0xF0,0xF4,0x14,0x13,0x4D,0x59,0xBA,0xE7,\r
+0x7E,0x63,0x80,0x0D,0x76,0x95,0x7D,0x1B,0x13,0xCA,0xC9,0xF0,0x75,0x66,0x85,0xE0,\r
+0x29,0x41,0xA2,0x78,0x1F,0xFC,0xDB,0xD4,0xD9,0xFB,0x32,0x3A,0xA4,0x03,0xE0,0x54,\r
+0x6E,0xA8,0x4B,0xD6,0x8A,0x69,0xA3,0x39,0x09,0xE3,0xFA,0xEA,0x89,0xD6,0x35,0xAC,\r
+0xE4,0x3B,0xD8,0xCF,0x98,0x7B,0x92,0x1A,0x61,0x0D,0x7C,0x82,0x5D,0x92,0x71,0x3C,\r
+0xAC,0xFB,0x18,0x47,0xE3,0x00,0x05,0xF6,0x49,0x23,0x7A,0xAA,0xF3,0x21,0xC2,0x21,\r
+0xDF,0xF9,0x1A,0x36,0xDD,0x3E,0x22,0xEF,0xE7,0xE2,0x15,0x04,0xF9,0x29,0xCA,0x23,\r
+0x57,0x79,0x9A,0x3E,0xFA,0x19,0x67,0x8D,0x48,0x02,0x5A,0xAB,0xDC,0xE7,0x04,0xC8,\r
+0x56,0x97,0x74,0xD1,0x47,0xA4,0x19,0x4E,0xBF,0x78,0xD7,0x5C,0x0B,0x5E,0xBD,0xA6,\r
+0x3F,0x56,0xB5,0x79,0x8F,0x6C,0x93,0x0C,0xED,0x9B,0x66,0x0E,0x30,0x9C,0x7F,0x5F,\r
+0x4A,0x63,0xB3,0x87,0xA6,0x0B,0xFA,0x8F,0xCD,0xE4,0x46,0xDC,0x7D,0xB6,0x54,0xB5,\r
+0xC2,0xEB,0xB9,0x05,0x05,0x56,0x04,0x2C,0x97,0xBE,0xAF,0x6F,0x84,0x58,0xAD,0xA2,\r
+0xB2,0x9B,0x7D,0xB1,0x32,0x53,0x36,0x1B,0x3D,0x14,0x7A,0x10,0xD5,0xB8,0xFC,0x13,\r
+0x48,0x61,0xC2,0xF4,0xB0,0x2A,0xCD,0x99,0x53,0x7A,0xF3,0xF7,0xEB,0x9F,0xC2,0x0A,\r
+0xCD,0xE4,0xFA,0x49,0xCE,0x8D,0x14,0xE7,0x1F,0x36,0x2D,0x65,0x04,0x50,0x2D,0x2A,\r
+0xB3,0x9A,0x5D,0x90,0x68,0xE0,0xDF,0x41,0x80,0xA9,0xB9,0x6E,0x64,0xD4,0x4D,0xCE,\r
+0x01,0x28,0x60,0x1F,0x23,0x33,0x47,0x0A,0xE0,0xC9,0x5D,0xEA,0xBC,0x1E,0x95,0xDC,\r
+0x72,0x5B,0xF5,0xF9,0x41,0xC6,0xD0,0x68,0x85,0xAC,0x8C,0x5E,0xFF,0xCF,0xD6,0x4E,\r
+0x60,0x49,0xC4,0xDA,0xF0,0xAA,0x0D,0xD9,0xDF,0xF6,0x65,0xED,0x7B,0xD7,0x52,0xD2,\r
+0x27,0x0E,0x05,0x5C,0x0F,0x25,0x7D,0x26,0x3A,0x13,0x3C,0x51,0xA0,0x4C,0x89,0x92,\r
+0xC0,0xE9,0xC8,0x76,0xC0,0xEE,0x79,0xE9,0x8D,0xA4,0x86,0x5C,0xB8,0x0E,0x91,0xC8,\r
+0xFC,0xD5,0x9E,0x1C,0x6D,0xD0,0xEA,0x44,0xD0,0xF9,0x29,0xAE,0xA6,0x2D,0x8F,0xF5,\r
+0xA1,0x88,0x6C,0xB3,0xB9,0x08,0xE6,0x90,0x4C,0x65,0xEF,0xF4,0x81,0x68,0xA8,0x97,\r
+0x3B,0x12,0x57,0x12,0xFA,0xD9,0x74,0xD3,0xBE,0x97,0xA0,0x49,0x6D,0xF6,0x44,0xE5,\r
+0x8B,0xA2,0x1B,0xEE,0x5D,0x94,0x9E,0x74,0xC5,0xEC,0x4C,0xDE,0xF8,0x8E,0xD1,0x08,\r
+0x70,0x59,0x84,0x8A,0x30,0x22,0x45,0x19,0x33,0x1A,0x17,0x73,0xA8,0x4E,0x81,0x98,\r
+0xD0,0xF9,0x88,0x26,0xB5,0x1A,0xF8,0x9C,0x07,0x2E,0x77,0x27,0xAD,0x7E,0x84,0xAD,\r
+0x1E,0x37,0x63,0x03,0x1A,0x55,0x18,0x33,0x20,0x09,0x15,0x62,0x2D,0x76,0x04,0x25,\r
+0xAB,0x82,0x1F,0xCA,0x10,0x26,0x61,0x39,0x72,0x5B,0xF6,0xD3,0x82,0x39,0xAB,0xC5,\r
+0x69,0x40,0xE6,0xF1,0x42,0x97,0x82,0x6B,0xBA,0x93,0xB4,0x59,0x43,0x91,0x6A,0xAC,\r
+0xE1,0xC8,0xEC,0x73,0xF4,0xBA,0x19,0xDD,0x77,0x5E,0xC3,0xE3,0x7C,0x96,0x55,0x94,\r
+0x34,0x1D,0x14,0x5E,0x24,0x72,0x01,0x0D,0xE2,0xCB,0x2E,0x9B,0x95,0x38,0xBC,0xD3,\r
+0x16,0x3F,0x61,0x09,0xB4,0x3A,0xD9,0x9D,0x1E,0x37,0x0C,0x45,0x2F,0x07,0x06,0x56,\r
+0xA5,0x8C,0x7C,0xA7,0x9C,0x3C,0xF7,0xB5,0x65,0x4C,0xE0,0xD2,0xEF,0x8F,0xC6,0x1E,\r
+0xC6,0xEF,0xA9,0x11,0x51,0x86,0x80,0x78,0xED,0xC4,0x62,0xD8,0xE3,0x9D,0xCA,0x00,\r
+0x63,0x4A,0x95,0x88,0x69,0xC0,0xFE,0x40,0x03,0x2A,0x63,0x37,0x4D,0xF2,0x64,0xC1,\r
+0x51,0x78,0xA0,0x8F,0xEE,0x89,0x30,0xC7,0x8B,0xA2,0xE1,0x3D,0xB7,0x4D,0x9E,0x84,\r
+0x6E,0x47,0xA7,0xB7,0x0D,0x54,0x0E,0x24,0x36,0x1F,0x22,0x43,0xFD,0xBE,0xD4,0x3D,\r
+0xB9,0x90,0x2E,0xE9,0xFB,0xF9,0x55,0xD2,0xA3,0x8A,0xCF,0x3B,0x15,0x30,0x3C,0x5B,\r
+0x21,0x08,0x64,0x3B,0xD2,0xDF,0x5A,0xFB,0x45,0x6C,0xC4,0xD6,0xD6,0xE9,0xFF,0x41,\r
+0x4B,0x62,0x93,0xA6,0x01,0x46,0x10,0x28,0xE1,0xC8,0x7C,0xCA,0x0E,0x23,0x27,0x53,\r
+0x07,0x2E,0x01,0x78,0x7E,0xC1,0xE8,0x57,0xF6,0xDF,0x6A,0xCB,0x38,0x06,0x11,0x40,\r
+0x61,0x48,0xE4,0xFB,0x4F,0xA5,0xBD,0x66,0xE7,0xCE,0x1B,0xAB,0x18,0x02,0x31,0x64,\r
+0x58,0x71,0x82,0xA4,0x02,0x17,0x42,0x2B,0xE8,0xC1,0x57,0xE8,0x5D,0xB2,0x74,0x91,\r
+0x7E,0x57,0xE7,0xE7,0x16,0x47,0x06,0x3F,0xBB,0x92,0x95,0x79,0xD1,0xA8,0xF8,0x07,\r
+0x52,0x7B,0xF1,0xDD,0x7F,0xE1,0xC9,0x56,0x66,0x4F,0xB2,0x83,0xDC,0x9A,0xF5,0x38,\r
+0xCF,0xE6,0x8B,0x3A,0xB7,0x6B,0x8B,0x9E,0x83,0xAA,0xEB,0x3F,0x5F,0xC3,0x76,0xE2,\r
+0x4E,0x67,0xA3,0x93,0xA5,0x5A,0xA8,0x8C,0x21,0x08,0x34,0x42,0x3C,0x16,0x15,0x54,\r
+0xF5,0xDC,0xBC,0x37,0xB6,0x4B,0xAA,0x9F,0xE3,0xCA,0x0F,0xBB,0xF2,0xFD,0xDB,0x71,\r
+0x31,0x18,0x24,0x6B,0x25,0x52,0x20,0x0C,0xC9,0xE0,0x52,0xCC,0xF1,0xAC,0xD8,0x23,\r
+0x8E,0xA7,0x2B,0xDB,0x1B,0x75,0x39,0x32,0xC1,0xE8,0x58,0xCE,0x35,0x34,0x1C,0x7F,\r
+0x6A,0x43,0xB7,0xA3,0xAC,0x78,0x83,0x85,0xAE,0x87,0xF0,0x09,0x62,0xB5,0x4B,0xA9,\r
+0xBD,0x94,0x3E,0xFD,0xAA,0x19,0xE4,0x83,0xF7,0xDE,0x4B,0xEB,0x9A,0x7B,0xB3,0x9F,\r
+0xCC,0xE5,0xDA,0x68,0xB2,0x5B,0xBE,0x9B,0x79,0x50,0xAE,0x80,0xD4,0x98,0xFD,0x32,\r
+0x54,0x7D,0x90,0xBA,0x6E,0x81,0xB8,0x47,0xC7,0xEE,0x3F,0xAF,0xA7,0x0D,0x8E,0xD4,\r
+0x53,0x7A,0xD1,0xFC,0x0A,0x15,0x48,0x23,0x3B,0x12,0x1D,0x71,0xF4,0x9C,0xDD,0x16,\r
+0x25,0x0C,0x74,0x2F,0xCC,0xFC,0x67,0xE5,0x98,0xB1,0xE3,0x2C,0x76,0xE5,0x5F,0xED,\r
+0x49,0x60,0xE2,0xD5,0xB8,0x28,0xC7,0x91,0x22,0x0B,0x66,0x13,0xFA,0xFF,0xD3,0x7B,\r
+0x46,0x6F,0xA1,0x99,0x35,0x12,0x70,0x1C,0xDA,0xF3,0x50,0xDD,0xC3,0x99,0xEA,0x24,\r
+0x59,0x70,0xA2,0x85,0xFE,0xC9,0x60,0xD7,0xC3,0xEA,0x2B,0xBF,0x55,0xB0,0x7C,0x9B,\r
+0x79,0x50,0xA6,0xA1,0xA0,0x6A,0x9D,0x89,0x5C,0x75,0xBF,0xB4,0x30,0x04,0x19,0x4A,\r
+0xED,0xC4,0xFE,0x6D,0xB1,0x0A,0xEC,0x98,0x99,0xB0,0xC2,0x0C,0xAE,0x2F,0x87,0xFF,\r
+0x96,0xBF,0x69,0x81,0x2A,0x11,0x6C,0x03,0x9F,0xB6,0xA5,0x6D,0x5C,0x92,0x75,0xB0,\r
+0xBB,0x92,0x5F,0x9A,0xCB,0xBD,0x21,0xE2,0x6B,0x42,0x8D,0xB1,0x77,0xC5,0x5E,0xCC,\r
+0x0F,0x26,0x03,0x72,0x93,0x7F,0xBB,0xBA,0x13,0x3A,0x33,0x77,0x11,0x20,0x38,0x4F,\r
+0x5A,0x73,0xF3,0xD7,0x2B,0x31,0x4D,0x02,0x5A,0x73,0xD8,0xD5,0x45,0xF0,0x6C,0xCB,\r
+0x20,0x09,0x44,0x1A,0xA9,0x48,0xB6,0x80,0xBD,0x94,0xF2,0x18,0x6F,0x87,0x46,0x96,\r
+0x71,0x58,0xA4,0xAB,0xCF,0xAD,0x35,0xE6,0x56,0x7F,0xC6,0xC7,0xFE,0xEF,0xD7,0x6F,\r
+0xAF,0x86,0x0F,0xDE,0xF2,0xDB,0x7E,0xDB,0x96,0xBF,0x8E,0x4F,0x17,0x41,0x3E,0x28,\r
+0x05,0x2C,0x70,0x0B,0x8A,0x1D,0xC0,0xA3,0xF1,0xD8,0x2C,0x8A,0xF7,0xCD,0xDE,0x44,\r
+0x00,0x29,0x40,0x3E,0x2F,0x21,0x59,0x06,0x0B,0x22,0x69,0x35,0x1D,0x32,0x34,0x51,\r
+0x8D,0xA4,0x7A,0x89,0x14,0x36,0x75,0x3D,0xF3,0xDA,0x5F,0xFB,0xC5,0xF8,0xEC,0x43,\r
+0x88,0xA1,0x4A,0xBC,0xD9,0x8C,0x02,0xF0,0x17,0x3E,0x27,0x67,0xB4,0x1C,0x9D,0xD6,\r
+0x86,0xAF,0x29,0xD1,0x00,0x66,0x31,0x29,0x4E,0x67,0x9C,0x85,0x10,0x00,0x39,0x6E,\r
+0xF3,0x46,0x2A,0x30,0x0F,0x63,0x92,0x18,0xA6,0x9F,0xBC,0xCA,0x9D,0xD9,0xB5,0xAD,\r
+0x31,0x15,0x79,0xA1,0xF3,0x9F,0x4C,0x3A,0xC2,0x6F,0x28,0xAE,0xDB,0xDE,0xB2,0xEC,\r
+0xCA,0x97,0xFB,0xD8,0x50,0x3C,0x11,0xC4,0x04,0x40,0xC1,0x68,0x08,0xA8,0xC4,0x49,\r
+0x5C,0x1B,0x77,0xC2,0xEA,0x86,0x2E,0x41,0x70,0xE0,0x15,0x1C,0xF2,0xC4,0xA8,0xDF,\r
+0x58,0xD4,0xB8,0x09,0x09,0x65,0xF3,0x7F,0xD3,0x1E,0x48,0xBF,0xFC,0x03,0x6F,0x16,\r
+0x8E,0x83,0xEF,0x88,0x66,0x0A,0x34,0xD7,0x64,0xA4,0x45,0x08,0x84,0xE7,0x8B,0x8A,\r
+0xB8,0x7B,0x17,0x46,0x3F,0x53,0xD6,0x6C,0x62,0xC3,0x24,0x0E,0xDA,0x30,0x5C,0x03,\r
+0x15,0x35,0x59,0xA5,0xB1,0xDD,0xBD,0x89,0x7A,0x99,0x66,0x16,0x4F,0x41,0x2D,0xE7,\r
+0xC5,0xBE,0xD2,0xFE,0x4B,0x27,0x02,0xCC,0x7F,0xAC,0x56,0x13,0x1D,0x42,0x2E,0xB6,\r
+0x73,0xDD,0xB1,0x2B,0xE9,0x85,0x7F,0x13,0x6D,0x8F,0x67,0x01,0xB4,0xC3,0xAF,0x9E,\r
+0x56,0x13,0x7F,0xC0,0x2B,0x47,0x86,0x28,0x7E,0x8D,0x76,0x12,0x10,0x78,0x14,0x81,\r
+0x04,0x10,0x7C,0x91,0x01,0x6D,0xF1,0x75,0xED,0x07,0x6F,0x81,0x4C,0xBC,0xD0,0x19,\r
+0x43,0xF9,0x95,0x3F,0x2F,0x43,0x96,0x3C,0x87,0x9A,0x98,0xEB,0xDC,0xEC,0x80,0xD9,\r
+0xB6,0xBC,0xD0,0x8F,0x20,0x4C,0xD5,0x70,0xCA,0x65,0x2A,0xA6,0x83,0xD5,0xB9,0xBF,\r
+0x20,0x30,0x5C,0x95,0x73,0x1F,0x44,0xB2,0xDE,0x21,0x7A,0xB2,0xC0,0xF3,0x9F,0xDA,\r
+0x1F,0x3D,0x51,0xA7,0xAE,0xC2,0xBE,0x95,0xB7,0xEE,0xDC,0xDB,0xFA,0xDF,0xB3,0xCC,\r
+0x76,0xFC,0x90,0x0F,0xC3,0xAF,0x08,0x4E,0xE7,0x7E,0x1C,0x8B,0x19,0x8D,0xE1,0x7D,\r
+0x64,0x24,0x48,0xC5,0x3B,0x57,0xC6,0x78,0xDC,0x52,0x0B,0xB0,0xAE,0x00,0x6C,0x47,\r
+0xF1,0x55,0x39,0x21,0xDF,0xB3,0x5A,0x00,0x11,0x25,0xB1,0x7D,0x9B,0x05,0x69,0x77,\r
+0x49,0xF1,0x9D,0x3D,0x86,0xEA,0xB8,0xBB,0xC8,0x16,0x5B,0xA4,0xF6,0x0B,0x67,0x14,\r
+0xB1,0x8E,0xE2,0xBA,0x75,0x19,0x25,0xD5,0x61,0x91,0x75,0x0D,0x3D,0xAD,0xC1,0x79,\r
+0x48,0x1F,0x73,0xD2,0x9E,0xF2,0xFA,0xE1,0x07,0x12,0x90,0x6B,0x8C,0xFC,0x90,0x99,\r
+0x0F,0xF6,0x9A,0x7C,0x5E,0x32,0x72,0xA9,0x3A,0x59,0xE6,0x56,0xF9,0x22,0x4E,0x32,\r
+0x63,0x16,0x7A,0xF0,0x39,0x55,0xB7,0x0B,0x42,0xE7,0x20,0x2E,0x2C,0x88,0xE4,0x4D,\r
+0x97,0xBD,0xD1,0xAF,0x57,0x3B,0x50,0x82,0xE2,0x4B,0x2C,0x8E,0xA6,0x1B,0x77,0x54,\r
+0xEB,0x96,0xFA,0xF8,0xA3,0xCF,0x8C,0xAA,0x03,0x06,0x80,0x6F,0xBD,0x36,0x5A,0x62,\r
+0x68,0xF0,0x9C,0x1D,0xDB,0xB7,0x4A,0x14,0x5B,0x9C,0x42,0x37,0x55,0x82,0xEE,0x3E,\r
+0xEC,0xA4,0xC8,0xCD,0x92,0xFE,0xE8,0xFF,0xE3,0x6A,0x0C,0x8F,0xF0,0xD7,0xBB,0xCE,\r
+0x03,0x22,0x4E,0xA4,0x12,0x7E,0xE0,0x77,0xFD,0x57,0x2F,0x91,0xBE,0xCB,0xA7,0x9C,\r
+0xBC,0xB4,0xD8,0x8D,0x0B,0x67,0x82,0x0C,0x36,0x47,0xF4,0x5A,0xA2,0xD4,0xB8,0x9F,\r
+0x6D,0xD1,0xBD,0x39,0x94,0xF8,0x89,0x98,0x68,0xBA,0x57,0x04,0x86,0xF4,0x98,0x9B,\r
+0xD8,0x4F,0x23,0x12,0x51,0x3D,0x31,0xE5,0x79,0xCB,0x37,0x15,0x4A,0x60,0x0C,0xC3,\r
+0xB0,0x60,0x0C,0x55,0x84,0xE8,0xC9,0xC8,0x71,0xC1,0x35,0x1D,0x94,0x2C,0x40,0x51,\r
+0xC2,0x8C,0xE0,0xCB,0x76,0x1A,0x74,0x87,0x32,0x53,0xE4,0x5E,0x35,0xB6,0xDA,0x6A,\r
+0x2F,0x19,0x75,0xB3,0x0D,0x61,0xE3,0x6B,0x95,0xB9,0xA9,0xF9,0xC9,0x06,0x6A,0x26,\r
+0xBF,0x49,0x25,0x73,0xFB,0x97,0x4E,0x30,0xF8,0x62,0x1F,0x94,0xAD,0xFD,0x91,0xB9,\r
+0xF5,0x9A,0xF6,0xEA,0x17,0x7B,0xD0,0x42,0x38,0x2A,0x97,0x54,0xFD,0xED,0x81,0xF9,\r
+0xB5,0x41,0x2D,0x71,0xF2,0x9E,0x6C,0x1B,0xC7,0x5A,0x18,0xAB,0x7B,0xAA,0xC6,0x38,\r
+0xEF,0x59,0x35,0x33,0x45,0x29,0x61,0xA1,0x08,0x5E,0xD3,0x64,0x51,0x4D,0x21,0xF5,\r
+0xD2,0x47,0x2B,0x10,0x18,0x74,0x93,0x0E,0xA5,0xCD,0xED,0xC9,0x3B,0x71,0x1D,0xA3,\r
+0x0D,0xE5,0x89,0x6D,0xD7,0xBB,0x58,0x0A,0x06,0x33,0xB0,0x6A,0x6E,0x40,0x2C,0xC7,\r
+0xE9,0x85,0xE9,0xE9,0x48,0x24,0x53,0x9E,0xA0,0xF8,0xDD,0xCC,0xB7,0x3E,0x52,0x60,\r
+0xFB,0x5D,0x31,0x23,0x28,0x44,0xD7,0x7A,0xEB,0x60,0x0E,0x87,0x38,0x8C,0xE0,0x5D,\r
+0x69,0x1E,0x72,0xF2,0x4D,0x21,0x63,0xAB,0x89,0xF7,0xFB,0xE5,0xDE,0xFF,0x93,0xC8,\r
+0x92,0x9C,0xF0,0x8B,0x05,0x69,0xE1,0x61,0x6E,0xDD,0x36,0x02,0xA0,0xC7,0xAB,0x8E,\r
+0x85,0x65,0x09,0x65,0x5F,0x33,0x52,0x88,0xCD,0x23,0x6B,0xA1,0x22,0x4F,0x23,0x84,\r
+0x34,0x34,0x58,0x85,0xF5,0x99,0x2D,0x5D,0xFA,0x11,0x6E,0x96,0x96,0x3F,0x53,0x40,\r
+0x2D,0x0A,0x66,0xA2,0x9B,0xF7,0xCA,0xD4,0x78,0xEA,0x17,0x14,0xD3,0xC5,0xA9,0xFF,\r
+0x7C,0xF4,0x98,0x0D,0x6B,0x07,0x06,0xE8,0x33,0x72,0xC4,0x5F,0xCE,0x34,0x58,0x13,\r
+0x66,0x37,0x5B,0xD4,0x8D,0xE1,0xEB,0xE3,0x1A,0x7D,0xE2,0x76,0x1C,0xAC,0xC0,0x59,\r
+0x74,0xEF,0x83,0x1E,0x29,0x45,0xF7,0x5B,0xC9,0x37,0x7B,0xA5,0x81,0xC6,0xAA,0xAE,\r
+0x67,0xD9,0xB5,0x3B,0x3E,0x52,0xF6,0x4D,0xB6,0xCF,0xFC,0xDA,0x5F,0x8A,0xE6,0x3C,\r
+0x27,0x02,0x6E,0xA0,0x25,0x49,0xE5,0x45,0x99,0xA7,0xBB,0xF5,0x36,0x4B,0x27,0x94,\r
+0xE6,0xAC,0xC0,0xCF,0xCB,0xA7,0x0A,0x44,0xA1,0xD9,0xFD,0xCD,0xAF,0xEE,0x82,0xA8,\r
+0xA3,0x56,0x3A,0x70,0x43,0x2F,0x00,0xC6,0x26,0x17,0xB4,0x4A,0xA8,0xDC,0xB0,0x9D,\r
+0x1A,0x1C,0x70,0x83,0xFE,0x92,0x7E,0x05,0xC5,0x29,0x69,0xA9,0x90,0xE3,0x8F,0x9A,\r
+0xB3,0x9D,0xF1,0xAB,0xBF,0xD3,0xDE,0xE4,0x3C,0x3E,0x87,0x50,0x54,0x6C,0x00,0xD1,\r
+0xF4,0x74,0x18,0x05,0x2A,0x46,0xA6,0x09,0xEC,0x26,0x4F,0x80,0x79,0xB9,0xD5,0x29,\r
+0x71,0xCE,0xA2,0x3A,0xD6,0xBA,0x78,0x2B,0x7C,0xFE,0x07,0x10,0x2E,0x9B,0xF7,0x5C,\r
+0x39,0x0E,0x62,0xB2,0xAD,0xC1,0xEF,0xC7,0x54,0xD0,0x01,0x38,0x80,0x28,0x44,0x41,\r
+0x8A,0x4C,0x20,0x43,0xCF,0xA3,0x1A,0x50,0x7D,0xDF,0x27,0x11,0x01,0x5D,0x31,0xB5,\r
+0x02,0xCC,0xA0,0x4B,0xE8,0x84,0x5F,0x32,0xD2,0x3F,0x68,0xBE,0x24,0x93,0xFF,0x5E,\r
+0xE2,0x63,0x0F,0x04,0xBA,0xD6,0xEE,0xD1,0xD8,0x46,0x1B,0xB4,0xED,0x26,0x4A,0x22,\r
+0x8B,0xA2,0xCE,0xAC,0x72,0x1E,0x64,0x93,0x8A,0xA5,0xAA,0xE6,0xD6,0xE4,0x88,0xDB,\r
+0x7D,0x31,0xFF,0xCB,0xC7,0x47,0x73,0x33,0x04,0x4D,0xCE,0xFA,0xCE,0xA5,0xD8,0x91,\r
+0x2B,0x5B,0xC3,0xF7,0x54,0xEA,0xDE,0x0D,0xAB,0xBF,0x93,0xA7,0xED,0xBB,0xE5,0x8F,\r
+0xE6,0x71,0x24,0x10,0x50,0x25,0x11,0xC6,0x11,0xB2,0x24,0x10,0xAF,0xA3,0xBF,0x97,\r
+0x27,0xF7,0x63,0x57,0x20,0xDA,0xEE,0x49,0x48,0x0E,0xC1,0xF5,0x34,0x78,0xFF,0x4C,\r
+0x67,0xA7,0x73,0x47,0x68,0x1A,0x2E,0xC1,0x3A,0x90,0x2D,0x19,0xAD,0xAB,0xB5,0x9F,\r
+0xF8,0xC3,0x88,0xBC,0xB3,0x77,0x43,0x77,0x61,0x3D,0xDB,0xEF,0x6D,0xFB,0x25,0xCF,\r
+0xB4,0x3F,0x38,0x0C,0x59,0xD0,0xE4,0x3A,0x8D,0xAA,0xA0,0x94,0x15,0x6E,0xC8,0x5A,\r
+0x8F,0x9E,0xA2,0x96,0xCB,0x93,0xA7,0xEB,0xC2,0x17,0x52,0x66,0x8B,0x82,0xBA,0xB6,\r
+0x21,0xD9,0x4B,0x7F,0xE0,0x9A,0xAE,0xC9,0xDE,0x14,0x4D,0x79,0x7C,0xE8,0x27,0xDC,\r
+0x9E,0x9C,0xB1,0x85,0x1B,0x18,0x2C,0xB0,0x57,0xF3,0x23,0x17,0x5B,0xD6,0x3E,0xE2,\r
+0x5A,0x28,0xC1,0xF5,0x29,0x2F,0x1B,0xB5,0x82,0x8C,0x89,0xBD,0xBB,0x87,0x8F,0xB3,\r
+0x50,0xAA,0x49,0x7D,0xD7,0x8C,0xB8,0xE8,0x6B,0x3F,0xD3,0xE7,0x55,0x7E,0x98,0x4A,\r
+0x16,0xD4,0x71,0x45,0xFD,0x6B,0x5F,0x25,0xA1,0xBD,0x9B,0xAF,0x2C,0xFC,0x63,0xC8,\r
+0x83,0x32,0x02,0x36,0x6A,0x09,0x3D,0xD0,0x70,0x09,0xFE,0xCA,0xFD,0xBF,0xF1,0x8B,\r
+0xBE,0xBD,0xB0,0x84,0xF2,0x42,0x76,0x03,0x94,0x8D,0x9E,0xAA,0x37,0x67,0xE3,0x53,\r
+0x19,0x64,0xCE,0xFA,0x39,0xE4,0xD0,0x6E,0x00,0x86,0x01,0x35,0xB3,0x07,0x07,0x33,\r
+0x44,0x9A,0x6D,0x59,0x23,0x27,0x13,0xB7,0x0F,0xA0,0x28,0x1C,0x5D,0xFE,0x10,0xCA,\r
+0x43,0xA2,0x52,0x66,0x1D,0xC4,0xF0,0x6A,0xCC,0xDE,0x95,0xA1,0xAE,0xB4,0xA9,0x80,\r
+0x76,0xA5,0x60,0x54,0xD3,0x43,0x77,0x23,0x4E,0xD4,0x1D,0x29,0x11,0x4E,0xEC,0x7A,\r
+0x4A,0x3C,0xC5,0xF1,0xAD,0x7B,0x4F,0x65,0x4F,0x3B,0xF3,0xC7,0x7E,0xE0,0x2D,0xD4,\r
+0xE2,0x55,0x04,0x30,0xC5,0x54,0x60,0x22,0x47,0x28,0xE8,0xDC,0xE5,0x3B,0x6D,0x0F,\r
+0x70,0x8B,0x48,0x7C,0x3D,0x2B,0x1F,0xA5,0x51,0x29,0xFF,0xCB,0xC0,0x0D,0x7E,0x39,\r
+0x87,0x16,0x22,0x16,0x77,0xF8,0xCC,0x3C,0xE9,0x35,0x5B,0x6F,0x0A,0xD5,0x6C,0xE1,\r
+0xCD,0xC4,0xBA,0x8E,0x78,0xD1,0xE5,0x1A,0xE2,0xD8,0xBD,0x89,0xD3,0x16,0x76,0x22,\r
+0x05,0xDC,0x6A,0x5E,0xAF,0x68,0x5C,0x74,0x99,0xBA,0xA4,0x90,0x72,0x40,0x81,0x74,\r
+0xFC,0xE7,0xA8,0x9C,0x4C,0x3A,0x0E,0xC5,0xDB,0x30,0x6C,0x58,0xDA,0x81,0xE8,0xB5,\r
+0x80,0x2E,0x1D,0x29,0x35,0x30,0x04,0xB6,0x38,0x81,0x3E,0x0A,0x95,0x2E,0x08,0x1A,\r
+0x6B,0x0B,0xD3,0xE7,0xD5,0x9F,0xAB,0xF9,0x5A,0xC4,0x19,0x2D,0x9D,0xAE,0x80,0x9A,\r
+0x9F,0x8A,0xA6,0x92,0xDA,0xB6,0x82,0xDF,0xCD,0x31,0x7B,0x4F,0x6C,0xEC,0x33,0xD8,\r
+0x82,0x24,0x15,0x21,0xF4,0x9E,0xAA,0xD9,0x21,0xA6,0x00,0x34,0xE4,0x2C,0x7B,0x18,\r
+0xF7,0x73,0x37,0x03,0x2C,0x0E,0x3A,0x91,0x03,0x78,0xFC,0xC8,0xDB,0x96,0xFE,0xA2,\r
+0x0F,0x5E,0xE2,0xD6,0x34,0xDE,0xEA,0x59,0xEE,0x00,0x69,0x5D,0x75,0x7F,0xB9,0x4B,\r
+0x39,0x45,0xCF,0xFB,0x93,0x98,0xAC,0xB8,0x83,0x63,0x67,0x53,0x7B,0xD7,0x1F,0xE3,\r
+0xDD,0xD0,0xBE,0x8A,0xC9,0x80,0xB4,0xFA,0x66,0x08,0xE9,0xDD,0x98,0x99,0xB2,0xAD,\r
+0x54,0x8E,0x69,0x5D,0xAE,0x86,0xB2,0x9B,0xDD,0xEA,0xB0,0x84,0x56,0x61,0x84,0x55,\r
+0xC8,0xF6,0x8D,0xB9,0x14,0x31,0x05,0x96,0x75,0x2D,0xDF,0xEB,0xD7,0x36,0x52,0x02,\r
+0x01,0xF8,0x4A,0x7E,0xEA,0x92,0xA6,0xCB,0x4B,0xF0,0x3C,0x08,0x1C,0xF9,0x56,0xCD,\r
+0x97,0x02,0x26,0x12,0x4A,0xE6,0xD2,0x1F,0xCE,0xCF,0x86,0xB2,0x06,0x75,0xC0,0x41,\r
+0x32,0xD1,0x50,0x64,0x65,0x20,0x14,0xF6,0x30,0x92,0x25,0x11,0x7F,0xF7,0x3B,0xC3,\r
+0x73,0x97,0x57,0x63,0x95,0x44,0x70,0x62,0x12,0x4C,0xD9,0xED,0xEE,0xA4,0xF9,0x90,\r
+0x12,0xF0,0x51,0x65,0xE4,0x55,0x61,0x02,0x9F,0x60,0x78,0x4C,0x79,0xDF,0x15,0xEB,\r
+0x04,0xCA,0x7D,0x49,0x2B,0x3C,0x08,0xA4,0xB8,0x9A,0xA5,0x91,0x4B,0xD2,0x2A,0xE6,\r
+0x61,0x89,0x5B,0x6F,0x6F,0x28,0x1C,0xF4,0x7A,0x0B,0xF6,0xC2,0x51,0x5E,0xBC,0x6A,\r
+0x07,0xD6,0x62,0x56,0x90,0x65,0x51,0x46,0x36,0x48,0xF9,0xCD,0xE1,0x1B,0x49,0x2F,\r
+0xC7,0x46,0x32,0x06,0x0D,0x0F,0x3B,0xB1,0x7F,0x2F,0xD7,0xE3,0x4F,0xF2,0x0E,0xC6,\r
+0x5F,0x1A,0xF6,0xC2,0x87,0x9C,0xA8,0xA8,0x22,0x58,0xFD,0xC9,0x1E,0xF1,0x5C,0xC5,\r
+0x40,0xBE,0x4D,0x79,0x85,0x8F,0xBB,0xB9,0x19,0xA1,0x3F,0x0B,0xF5,0x3F,0x79,0x0B,\r
+0x68,0x17,0xCC,0xF8,0xA6,0x9D,0xA9,0x88,0xC6,0xDC,0x9D,0xA9,0x20,0x5C,0xCF,0x68,\r
+0x93,0x26,0x06,0x32,0xED,0xA0,0x94,0xFE,0x01,0x69,0xEF,0xDB,0x2E,0xF4,0x69,0xC0,\r
+0xEC,0xF3,0xAC,0x98,0x53,0xD8,0xEC,0x38,0xA3,0xAC,0x88,0xBC,0xA2,0x14,0x05,0x20,\r
+0x47,0x86,0x72,0x46,0x18,0xE5,0xD1,0x4E,0xEB,0x24,0x48,0x7C,0x0C,0xFD,0x42,0xC9,\r
+0xA7,0x37,0x23,0x17,0x9B,0x83,0xB7,0xAB,0xDF,0xFB,0xA3,0x97,0x64,0x6C,0xBB,0x58,\r
+0xCA,0xFC,0x85,0xB1,0x1C,0x2A,0x1E,0x85,0xB1,0x66,0x50,0x64,0xE3,0x13,0x43,0x27,\r
+0xA9,0x91,0x8B,0xBF,0x2F,0xF3,0xC7,0x6F,0x0A,0x84,0x09,0x3D,0xFF,0xB7,0xFB,0x83,\r
+0x99,0xA4,0x8E,0xBA,0x58,0x3E,0x0A,0xD5,0x72,0x18,0xED,0xD9,0x1B,0xC6,0x6E,0xF2,\r
+0xA3,0x13,0x03,0x37,0x74,0x05,0x31,0xC2,0x44,0xD6,0x15,0x21,0xD1,0x1E,0x7C,0x2A,\r
+0x1D,0x40,0xEE,0xDA,0xC1,0x9B,0xAF,0xE9,0xEF,0xEF,0x87,0xB3,0xCC,0xAD,0xD2,0x99,\r
+0x45,0x8C,0x7A,0x4E,0xB0,0x8A,0xBE,0x89,0x92,0x57,0x42,0x76,0xE7,0x33,0x67,0x07,\r
+0x41,0xA8,0x5A,0x6E,0x4D,0xD4,0xE0,0x2A,0x06,0x5C,0xDD,0xE9,0x53,0x56,0xB6,0x62,\r
+0x42,0xB4,0x45,0x71,0x5D,0x1F,0x2B,0xF1,0x7D,0x3E,0xC4,0xF0,0x7A,0xC0,0x09,0xF4,\r
+0x10,0xFA,0x59,0x6D,0x60,0x01,0x35,0xD2,0xF5,0x36,0x44,0x70,0x13,0x46,0xE6,0x72,\r
+0xE0,0x5F,0x0C,0x38,0x96,0xB9,0x8D,0x9C,0x1E,0x94,0x0D,0x39,0xC3,0x12,0x62,0x26,\r
+0xBC,0xB7,0xB8,0x8C,0x0C,0xE1,0xD5,0x5E,0xA0,0x52,0x75,0x41,0x26,0x74,0xE1,0x40,\r
+0x8A,0xAC,0x95,0xA1,0x41,0x00,0x34,0xF2,0x88,0x8E,0x81,0xB5,0x71,0x5F,0x9D,0x6B,\r
+0xB5,0xA1,0xF9,0x2A,0xCA,0x2E,0x96,0xDE,0x66,0x72,0x24,0x30,0xED,0x3B,0xF9,0xB0,\r
+0x9C,0x88,0xDF,0x25,0x52,0x64,0x44,0x46,0xA5,0xB1,0x3E,0xE9,0x0B,0xD6,0x1F,0xBB,\r
+0x4F,0x5B,0x46,0x6F,0x38,0x93,0xD9,0x2C,0x7D,0x69,0x2C,0x23,0xAF,0xCA,0xBB,0x03,\r
+0x30,0x24,0xC1,0x97,0x74,0x01,0x07,0x60,0x4B,0x5F,0x3F,0x06,0xB8,0xCB,0xAC,0x15,\r
+0x1F,0x0B,0x86,0xFF,0xB5,0xA9,0x6E,0xA1,0x90,0x84,0x7F,0x9D,0xA3,0xD8,0xB7,0x1D,\r
+0x27,0x33,0xC0,0x81,0x10,0x95,0xF7,0x04,0x3E,0x2A,0xBE,0xF2,0x4D,0x37,0x59,0x1C,\r
+0xA0,0xB4,0x89,0x4F,0x22,0xA0,0xF0,0x36,0xC4,0xD0,0xFB,0x4D,0xC5,0x3D,0xD1,0x9E,\r
+0x43,0x57,0x54,0x71,0x1D,0xA7,0xC8,0x09,0x8E,0x9A,0x42,0xBE,0x78,0x43,0x6C,0x5D,\r
+0xBA,0xAE,0xBA,0x66,0x92,0xEC,0x0C,0x86,0x0F,0x1B,0xEB,0x96,0x39,0xE3,0x2D,0xBC,\r
+0x6A,0x7E,0x72,0x7E,0x47,0x14,0x21,0x53,0xE6,0xF2,0xAC,0x38,0xAC,0x9B,0xB8,0x51,\r
+0xFA,0xEE,0x3A,0xA6,0x65,0x61,0x76,0x71,0x5C,0x48,0x29,0x07,0x50,0x45,0x44,0x73,\r
+0xD2,0xC6,0x3C,0x88,0xD6,0x7C,0xD8,0xC2,0x9C,0x88,0x61,0x8F,0x2B,0xD2,0x3F,0x9F,\r
+0xFB,0xEF,0x1A,0x87,0xA3,0x88,0x59,0xB7,0xDE,0xCA,0xD2,0x7E,0x49,0x27,0x5D,0x08,\r
+0x54,0x40,0x55,0x67,0x6D,0x63,0x7C,0x79,0x5E,0x4A,0x5A,0x76,0x6E,0x62,0x7A,0x6A,\r
+0x5E,0x4A,0x26,0x1E,0xD8,0x1F,0xB5,0xCC,0xF1,0xE5,0xBA,0x39,0x3C,0xD3,0x28,0x89,\r
+0x0C,0x18,0x97,0xFD,0x1A,0xE6,0x8E,0x0E,0x30,0x24,0xD3,0x91,0xF4,0x59,0xE0,0xCB,\r
+0xF7,0xE3,0x08,0x99,0xD2,0x6C,0xCC,0xC6,0xF2,0xE6,0xE8,0x68,0x02,0xF4,0x16,0x90,\r
+0xB4,0xA0,0xD9,0x0B,0x48,0x57,0x6D,0x5C,0x1E,0x0A,0x9A,0xF6,0xF0,0x49,0xE4,0xDF,\r
+0x13,0x07,0x94,0xE1,0xF8,0x1B,0x91,0xEC,0x8B,0x9F,0x77,0x8E,0x8B,0xDE,0x9F,0x33,\r
+0x7E,0x6A,0x22,0x3A,0x03,0x84,0xF5,0x17,0xDB,0xCF,0xE7,0x4E,0x7D,0x73,0x69,0x68,\r
+0xBE,0xAA,0xAA,0x72,0x13,0xC4,0xA5,0x07,0x08,0x1C,0xAD,0xD7,0x91,0xED,0x85,0x1A,\r
+0x41,0x55,0x25,0x02,0x54,0x05,0x23,0x40,0xD3,0xC7,0xED,0x4C,0x74,0x51,0x60,0x43,\r
+0x8E,0x9A,0xEE,0x06,0xB3,0xC8,0x09,0xA7,0xCB,0xDF,0xB7,0x0E,0xC3,0x5C,0xD7,0xF9,\r
+0x23,0x37,0xD0,0x95,0x8F,0x9E,0x63,0x9B,0xD5,0xC1,0x8A,0x2D,0x9E,0xAE,0x8A,0x56,\r
+0x80,0x94,0x8D,0x6B,0xBE,0xFA,0x36,0xAA,0x77,0x63,0x55,0x50,0x51,0x65,0x45,0x52,\r
+0x26,0x32,0xE0,0xA0,0xC0,0x5D,0xEF,0xD4,0x17,0x03,0xB1,0xD4,0xCE,0x6E,0xDA,0xC6,\r
+0x6D,0x79,0x33,0x38,0x72,0x60,0x60,0x66,0xCF,0xDB,0xA3,0x1E,0xAE,0xEA,0xBA,0x22,\r
+0x0F,0x1B,0xC6,0xAF,0x01,0xF5,0x86,0x15,0x8C,0x98,0x31,0xCF,0xCB,0x5E,0xDF,0xF3,\r
+0xE8,0xFC,0x0B,0x85,0x39,0xB3,0xF8,0x2D,0x0E,0x1A,0xCA,0xB6,0x83,0xDC,0x97,0x39,\r
+0x4B,0x5F,0x56,0x7B,0xB1,0xB9,0x7A,0xA5,0xF7,0xE3,0xDD,0x58,0xD9,0x6F,0xCD,0xD0,\r
+0x7C,0x68,0x53,0x49,0xC1,0x7D,0xCE,0xD5,0xA6,0xB2,0x6C,0xB8,0x73,0x10,0x67,0x05,\r
+0xFE,0xEA,0x2A,0xB2,0x3B,0xC2,0x8B,0x2F,0x98,0x8C,0x75,0x9F,0x1D,0xF7,0x09,0x8C,\r
+0x61,0x75,0x21,0x26,0x73,0x40,0x41,0x67,0x6E,0x7A,0x2E,0x32,0x45,0x35,0x51,0x16,\r
+0x5A,0x4E,0x36,0x0A,0xFE,0x7A,0xF6,0xEA,0xB6,0xA2,0x3C,0xF8,0xBD,0xFB,0xA9,0x20,\r
+0x97,0x83,0x8C,0x7D,0xFB,0x4A,0xC3,0xEF,0xC7,0xD3,0xA9,0x1C,0x59,0x67,0x4D,0x58,\r
+0x4E,0x5A,0x66,0x4E,0xF5,0x29,0xAE,0xE1,0x63,0x77,0x11,0x00,0x00,0x85,0x14,0xE3,\r
+0xE7,0xF3,0x48,0xC9,0x53,0x44,0x65,0x47,0x1C,0x08,0xE9,0x87,0xF3,0x18,0xE7,0x8D,\r
+0x81,0x95,0xAD,0x4A,0x02,0xA4,0xD4,0x16,0x8D,0x99,0x10,0xEF,0x18,0xC7,0x0C,0xB9,\r
+0xBC,0xA8,0xDB,0x01,0xDC,0x0F,0xA1,0xC8,0x64,0x70,0x57,0x41,0xD8,0x4F,0xCC,0xF1,\r
+0xC4,0xD0,0x1D,0xBF,0x76,0x70,0x74,0x62,0x84,0x90,0x3B,0xCD,0xBF,0x8A,0xAB,0x53,\r
+0x64,0x70,0x11,0x13,0xE5,0x69,0xFE,0xF1,0x2F,0x3B,0xCF,0x92,0xD1,0x6D,0xC5,0xDA,\r
+0x85,0x91,0xBD,0x5E,0xC8,0x5F,0xE5,0xDC,0x04,0x10,0xB3,0xC5,0x25,0xB1,0x31,0xF2,\r
+0xDD,0xC9,0x7F,0xC4,0x7C,0x03,0x0D,0x68,0x62,0x76,0x30,0x20,0x5D,0x77,0x49,0x4C,\r
+0x65,0x71,0x31,0x32,0x29,0xF3,0xA8,0x3D,0x36,0x22,0xB4,0xF0,0x14,0xD5,0x00,0xA7,\r
+0x7B,0x6F,0x12,0x0F,0x35,0xA1,0xE6,0x21,0xB0,0xA4,0x5B,0x99,0x94,0xDD,0x80,0x2F,\r
+0xB0,0xA4,0xC9,0x1F,0x2A,0xA2,0xFA,0x3E,0x26,0x32,0xE4,0xB0,0x8D,0xBF,0x99,0x54,\r
+0xEE,0xFA,0x6A,0xE2,0x0A,0xA6,0xDE,0x1E,0x43,0x57,0x35,0x04,0x12,0xB4,0x06,0xC0,\r
+0xFF,0xEB,0x0A,0x93,0x9E,0xFE,0x12,0x8A,0xDD,0xC9,0x80,0x2F,0xD7,0x0C,0xC3,0xBD,\r
+0x20,0x34,0x81,0xC7,0x27,0x90,0xC5,0x33,0xD4,0xC0,0xAB,0x0D,0x89,0xAF,0x9D,0x40,\r
+0x44,0x50,0x15,0x37,0x20,0xD1,0x83,0x34,0x87,0x93,0x69,0x9C,0x75,0x71,0x61,0x62,\r
+0x82,0x96,0xFC,0x18,0x56,0x74,0x50,0x42,0x05,0x11,0x92,0xE5,0xD6,0x2C,0xC2,0x9C,\r
+0xF6,0xE2,0x28,0xB8,0x3A,0xE2,0xAA,0x2E,0x89,0x9D,0x04,0xFF,0x6C,0x13,0x78,0x19,\r
+0x55,0x41,0x75,0x46,0xFD,0x2B,0xA4,0xE9,0x46,0x52,0x00,0x34,0x8F,0xCE,0x9B,0x27,\r
+0xE2,0xF6,0x78,0xFC,0x19,0xB7,0xDC,0x0D,0x11,0x05,0xD6,0xB5,0xE0,0x09,0xF4,0x8F,\r
+0xE4,0xF0,0x19,0x9B,0xCE,0x3E,0x82,0xDA,0xE9,0xFD,0xE0,0x7B,0xB9,0xEB,0xAD,0x34,\r
+0xFC,0xE8,0x5B,0xC1,0xBF,0xDA,0x17,0xAB,0xA7,0xB3,0x4D,0x98,0x37,0x80,0x23,0xD1,\r
+0xF9,0xED,0x6B,0xF4,0xBC,0x8B,0x45,0xA8,0x2C,0x38,0x9D,0xC3,0xCD,0x3F,0xD9,0x94,\r
+0xEB,0xFF,0x5A,0xD7,0x3D,0xA3,0xEC,0x29,0x4F,0x5B,0x2B,0x16,0x6F,0x42,0x7B,0x4B,\r
+0xF8,0xEC,0x4B,0xD5,0x86,0xBC,0x48,0x92,0x81,0x95,0x0E,0xFD,0xAD,0xBB,0xB9,0x70,\r
+0x6B,0x7F,0x52,0x5F,0x42,0x24,0x14,0x56,0x82,0x96,0x5C,0xAC,0x87,0xCC,0x93,0x2D,\r
+0x01,0x15,0xA5,0xC2,0x12,0xE4,0x84,0x06,0x6B,0x7F,0x1B,0x02,0xA9,0xAB,0xBD,0x64,\r
+0x4C,0x58,0x17,0x3D,0x2B,0x82,0xDB,0x3F,0x2E,0x3A,0xEE,0xB2,0xA6,0xE8,0xB2,0x28,\r
+0x58,0x4C,0x47,0x79,0x0D,0xE7,0x98,0x19,0xA2,0xB6,0x78,0xA8,0xF5,0x79,0xE1,0xEA,\r
+0x31,0x25,0xE1,0xB6,0x21,0xF1,0xA2,0x35,0xAF,0xBB,0x47,0x9A,0x28,0x83,0x3C,0xCD,\r
+0x2C,0xE0,0xB5,0x3B,0x51,0xE4,0x6A,0xCC,0x31,0x98,0x5E,0xD0,0x64,0x25,0x38,0xAB,\r
+0x04,0x49,0x34,0xBA,0x72,0xF6,0x78,0xFD,0xEE,0xE5,0xFC,0x72,0xB1,0x46,0x8E,0xC8,\r
+0x1B,0xED,0x8F,0x01,0x70,0xE5,0x6B,0xEC,0xD5,0x1C,0x3E,0xB0,0x5A,0x88,0xAB,0x06,\r
+0x83,0xB1,0x4B,0xC5,0xFA,0x76,0xF8,0xF5,0x88,0x6B,0x14,0x9A,0x0B,0x8B,0xF9,0x05,\r
+0x43,0x21,0x1B,0x95,0x67,0x1C,0x92,0x02,0xC1,0x0C,0x3A,0xB4,0xA5,0x62,0xBE,0xEC,\r
+0x25,0x7E,0x22,0xAC,0x98,0x51,0xDF,0xB0,0x8D,0x4F,0x35,0xBB,0x15,0x27,0x4B,0xA9,\r
+0x40,0x3D,0x04,0x8A,0xDC,0x45,0xCB,0xE0,0x4F,0xDE,0x66,0xE8,0x0F,0xAB,0xDD,0x25,\r
+0x56,0x07,0x28,0xA6,0x13,0x2C,0xA2,0x46,0x68,0x24,0xBB,0x35,0x3D,0xA6,0xE2,0x28,\r
+0x37,0x60,0x2E,0xA0,0x62,0x3D,0xB3,0x26,0xE5,0x08,0x1A,0x94,0xAA,0xDD,0x0E,0x53,\r
+0x76,0x26,0x29,0xA7,0x92,0x59,0xD7,0xB2,0xC7,0xD6,0xE6,0x68,0x3B,0x8E,0xCC,0x00,\r
+0xD3,0xF5,0x5F,0xD1,0xBD,0x9F,0x11,0x5B,0x39,0x8B,0x45,0xCB,0x42,0x0C,0x37,0x82,\r
+0x45,0x0F,0x33,0xBD,0x1D,0xEB,0x65,0x8F,0xBC,0xB4,0xFF,0x71,0x58,0x80,0xA1,0x0E,\r
+0x8C,0x01,0xF4,0x7A,0xE3,0x48,0xC6,0xD2,0x82,0x69,0x1C,0x92,0x93,0x4F,0xA5,0xC1,\r
+0x10,0x79,0x10,0x9E,0x59,0xFF,0x71,0xDF,0x2A,0xAE,0x73,0xFD,0x12,0x18,0x73,0x96,\r
+0x99,0x27,0xC7,0x49,0x3E,0xF9,0x77,0xBE,0x91,0x4C,0x2A,0xA4,0xDC,0xE0,0x45,0x6E,\r
+0x7D,0xB2,0xB6,0x38,0x64,0xE1,0x6F,0xFC,0x74,0x27,0xA4,0x2A,0x3F,0xAE,0xE8,0x20,\r
+0xCE,0x5B,0xEC,0x62,0xB6,0x79,0xF7,0xB6,0x7F,0xCA,0x42,0xCC,0x35,0x26,0x6A,0xA8,\r
+0xF8,0x40,0xC1,0x4F,0xFB,0x98,0x16,0x1A,0x57,0x16,0xB6,0x38,0x62,0x0D,0x16,0x83,\r
+0xA4,0xA8,0x75,0xFB,0x61,0xC0,0x4E,0xD8,0xE9,0xD0,0xCE,0x40,0x87,0x6B,0x95,0xE5,\r
+0x54,0x0D,0x20,0xAE,0x97,0x78,0xF6,0x96,0x02,0x72,0x87,0x09,0x57,0x3F,0x11,0xB1,\r
+0x06,0x43,0x3C,0xB2,0xAA,0x66,0xE8,0xB5,0x8A,0x7A,0x07,0x89,0x3E,0xB9,0xFE,0x37,\r
+0x05,0x5F,0x23,0xAD,0xBA,0xAD,0x23,0x6E,0xF1,0x18,0x1E,0x90,0x17,0x2F,0x41,0xA1,\r
+0x01,0x7B,0x03,0x8D,0x47,0xF3,0x7D,0xCD,0x65,0x13,0x81,0x0F,0xA3,0x4A,0x90,0xC4,\r
+0x59,0xB7,0x97,0x19,0x36,0xE2,0x6C,0xAD,0x18,0xAB,0x44,0xCA,0x88,0xD4,0x25,0x5A,\r
+0xE7,0xE4,0x7A,0xF4,0x83,0x7C,0xF2,0x86,0xB3,0x92,0xD6,0x58,0x95,0x67,0x8B,0xE9,\r
+0xDD,0x53,0xF7,0x79,0xAF,0x47,0xC9,0x91,0x85,0x5C,0x2E,0xA0,0x5F,0xBF,0x99,0x31,\r
+0xED,0x66,0xF2,0x7C,0xD8,0x8A,0x04,0x2B,0xFD,0xC0,0xCA,0x44,0xBB,0xCE,0x0C,0x40,\r
+0x8E,0x0B,0xFC,0x72,0xEB,0x53,0xDD,0xC1,0x46,0x22,0x93,0x1D,0xA7,0x6A,0xB4,0xE4,\r
+0xE3,0xC0,0x5A,0xD4,0x6C,0xFA,0x74,0xEF,0x28,0xBF,0x60,0xEE,0x20,0x15,0x4C,0x9B,\r
+0x03,0x71,0x0B,0x85,0xEF,0x9C,0x12,0x0A,0x1C,0x60,0x8B,0x05,0x48,0x84,0xB5,0x0A,\r
+0xA8,0x04,0xD5,0x5B,0xA4,0xA1,0x2F,0x7C,0x54,0xE8,0x4B,0xC5,0xE6,0x6D,0xF2,0xE3,\r
+0xD7,0xD1,0x7F,0xF1,0x1A,0xD9,0x57,0xBA,0xF6,0x2D,0x2C,0xA2,0x6A,0x8D,0x9E,0x03,\r
+0x5D,0x93,0xB7,0x39,0xCE,0x9D,0x13,0x2A,0xF7,0xC2,0xC2,0x4C,0xF7,0x7E,0xF0,0xF0,\r
+0xFA,0x4A,0xC9,0x47,0x05,0x3B,0xB5,0x47,0x63,0xC9,0x5D,0xD3,0x73,0x1E,0x14,0x90,\r
+0xC7,0xC5,0x7B,0xF5,0x9D,0x70,0xFE,0x94,0x87,0x4D,0x3D,0xB3,0xB9,0xC6,0x06,0x48,\r
+0x52,0x23,0x08,0x86,0x0A,0x12,0x9C,0x61,0x56,0xF9,0x58,0xD6,0x68,0x85,0x94,0x0B,\r
+0x14,0x5D,0x30,0xBE,0x20,0xF5,0x7B,0xAC,0x9C,0x7B,0x10,0x9E,0x11,0x07,0x6F,0x89,\r
+0x1E,0xDF,0xB8,0x36,0xDE,0x56,0xD8,0xF1,0x75,0xC8,0x4A,0xC4,0xFF,0xFE,0x78,0x70,\r
+0xDA,0x6B,0xC8,0x46,0xEC,0x61,0xEF,0xF4,0xA0,0xB7,0xE0,0x6E,0x1F,0xAF,0xC9,0x21,\r
+0x65,0x2E,0x32,0xBC,0x17,0xE3,0x6D,0x8D,0x29,0x50,0x8E,0x00,0x38,0x91,0xD0,0x1F,\r
+0xCB,0x69,0xDB,0x55,0x3C,0xEA,0x64,0xAF,0x35,0x53,0x91,0x1F,0xCF,0xFB,0x4D,0x75,\r
+0xF0,0xC8,0x41,0xCF,0xAE,0xA9,0x27,0x7E,0x7A,0xEE,0x63,0xED,0x51,0x17,0x3F,0x99,\r
+0xBC,0x34,0xF1,0x7F,0x44,0x0E,0x80,0x33,0x96,0x79,0x18,0x96,0x29,0x82,0xD2,0x0C,\r
+0x23,0x50,0x0A,0x84,0x9F,0x63,0xED,0x85,0xCD,0xD4,0xEE,0x60,0xE9,0xD2,0x42,0x5C,\r
+0x63,0x00,0x1A,0x94,0xD7,0xA3,0x2D,0x0D,0xBF,0x4A,0x02,0x8C,0x70,0x01,0x08,0x8F,\r
+0xA2,0x86,0x5D,0xD3,0xA7,0x5C,0xD2,0x82,0xE6,0xF6,0xE7,0x69,0xEB,0xDA,0x48,0x54,\r
+0x6F,0xAC,0xBA,0x34,0xA3,0x93,0x1D,0x49,0x5C,0xFB,0x50,0xDE,0xA9,0xC2,0x12,0x4C,\r
+0x39,0xC6,0x86,0x08,0x30,0x3E,0xB0,0x77,0xF3,0x09,0x0D,0x83,0x8A,0xDC,0x2F,0x52,\r
+0x4B,0xA9,0x9B,0x15,0xC3,0xA7,0x29,0x1D,0x19,0x44,0xAA,0x24,0x31,0x06,0x4E,0x88,\r
+0xB3,0x84,0x4E,0xC0,0xDB,0x77,0xF9,0xD5,0xF4,0x3C,0x3F,0xB1,0x9F,0xEF,0x09,0x61,\r
+0xC6,0xD3,0x6C,0xE2,0x03,0xE7,0x69,0x9D,0xD6,0xE2,0xC3,0x4D,0xA0,0x55,0x8C,0xDB,\r
+0xDB,0x7D,0xDF,0x51,0x2D,0xCF,0x41,0x9B,0x3A,0x75,0xB8,0x36,0x28,0x95,0xC4,0x1B,\r
+0x2F,0xFC,0xAA,0x24,0x22,0xE6,0x68,0xBD,0xAD,0x80,0xDA,0x54,0xD9,0xD7,0x77,0x59,\r
+0xC4,0xD9,0x64,0xEA,0xC2,0x49,0xC7,0xF2,0xCF,0xC5,0xFD,0x73,0xD1,0x57,0xFF,0xD9,\r
+0xB8,0x10,0xD1,0x5F,0xBB,0x43,0xCD,0x81,0x2C,0x74,0xAF,0x21,0x9E,0xF8,0x1F,0x76,\r
+0x41,0x2B,0x13,0x9D,0x58,0x11,0x9F,0x30,0x6E,0xFE,0x67,0xE9,0x36,0x39,0x76,0xB7,\r
+0x89,0x33,0xC3,0x4D,0x8F,0xA8,0x26,0x5E,0x15,0x9C,0x7E,0xF0,0x97,0x6F,0x81,0xE1,\r
+0xC3,0xE1,0x5B,0xD5,0x80,0x81,0x0F,0x78,0x1E,0x71,0x98,0x16,0x4E,0xAC,0x9B,0x22,\r
+0x34,0x7C,0x31,0xBF,0xCA,0x52,0xDC,0xE1,0xA6,0x6D,0x3C,0xB2,0x84,0x74,0x89,0xFA,\r
+0xA6,0xA2,0x7D,0xF3,0x32,0x2D,0xA3,0x66,0xB0,0x6C,0x2B,0xA5,0xA1,0x42,0x9A,0xCC,\r
+0x0E,0xCB,0xBC,0x32,0x5A,0x02,0x8C,0x21,0xB8,0x7F,0x30,0xBE,0x3A,0x99,0xDA,0x17,\r
+0x32,0x52,0x19,0x97,0x24,0x3A,0xB4,0x67,0xB9,0x90,0xDE,0x50,0x55,0x37,0x1B,0xB9,\r
+0x07,0x55,0x2B,0xA5,0xEA,0xBD,0x33,0x2E,0x3B,0x9A,0x56,0xD8,0xEA,0xCD,0x5E,0x43,\r
+0x00,0x6D,0x14,0x9A,0xD4,0x5E,0xD0,0xF3,0xF8,0xE4,0xEB,0x65,0x19,0x87,0xE7,0x09,\r
+0x27,0xE2,0xCC,0x89,0x19,0x53,0xED,0xDC,0x0D,0xC8,0xA9,0x03,0x68,0x0F,0xAD,0x05,\r
+0xB6,0x73,0xA4,0x70,0xF2,0x8C,0xD9,0x37,0x6B,0xAE,0x2A,0xE6,0x39,0xEF,0xFC,0xB4,\r
+0x5F,0x9A,0x0A,0x37,0x32,0x04,0x91,0xF7,0x56,0x93,0x61,0x90,0xE7,0x44,0x22,0xC1,\r
+0xBF,0x7A,0x86,0x5B,0x55,0xC1,0x33,0x90,0x2E,0xEB,0xDF,0x56,0x4D,0x3B,0x88,0x14,\r
+0x55,0x90,0x79,0x4E,0xAF,0x7E,0x76,0x6A,0x8B,0x4E,0x46,0x6A,0x48,0x0B,0x8D,0x21,\r
+0x8D,0x48,0xB3,0x5C,0x57,0xB0,0x40,0x92,0xB0,0x75,0x6A,0x7D,0xC5,0x31,0x00,0x96,\r
+0xFC,0x39,0x57,0xC9,0xB3,0x2C,0x38,0x76,0x7D,0xB8,0x1D,0xC7,0xC0,0x01,0x05,0xA3,\r
+0x58,0x9D,0x4B,0x71,0xEA,0xCE,0x83,0x2F,0xA4,0x61,0x2E,0x2D,0xCE,0x62,0x0B,0xCE,\r
+0x8B,0x4E,0xD2,0x3B,0x7E,0x96,0x4F,0xBB,0x91,0x54,0x6F,0x59,0x0E,0xEA,0xCB,0x86,\r
+0x1D,0xD8,0xFB,0x84,0x67,0xF4,0x34,0xA2,0x5A,0x9F,0x7F,0x82,0x11,0xE9,0xD4,0x9A,\r
+0x78,0xBD,0x4F,0x55,0xF8,0xFF,0xA0,0x3D,0x04,0xC1,0x82,0x21,0x31,0xED,0xF4,0xBE,\r
+0xE6,0x23,0x64,0xE0,0x3D,0x47,0xDD,0xF8,0x15,0xD0,0xF3,0x41,0xA5,0xB5,0x60,0x72,\r
+0x14,0xD1,0xD9,0xAF,0x3B,0x26,0xBA,0xFE,0x8E,0x4B,0x73,0x5A,0xDE,0x22,0x1B,0x9E,\r
+0x3F,0xFA,0x8E,0xD3,0xCF,0xFA,0x92,0x0A,0x6F,0xAA,0x3E,0xF6,0xF3,0x14,0x36,0x85,\r
+0x59,0x9C,0x6B,0x50,0xB7,0x3C,0x2C,0x72,0x37,0xF2,0xA4,0x34,0x47,0x48,0x82,0x6D,\r
+0x0D,0xC8,0xBB,0xD4,0xFE,0x9E,0xC7,0x3B,0x8F,0x4A,0x52,0x7A,0x12,0xB8,0xD7,0xC8,\r
+0x7D,0xB8,0x7F,0x60,0x65,0x85,0x47,0xA0,0xBF,0x7A,0x26,0x3E,0xC6,0x60,0x03,0xC4,\r
+0x2A,0xEF,0xFE,0xB6,0x0A,0x42,0xEF,0xCF,0x08,0xCD,0x9C,0x33,0x22,0xFC,0xE7,0xBC,\r
+0xD2,0x17,0x30,0x80,0x53,0xA0,0x54,0x96,0x0E,0xCB,0xFB,0x52,0xF5,0x75,0x30,0xE2,\r
+0x9C,0x59,0xD3,0x2D,0xDD,0xCB,0xB1,0x18,0x16,0xD3,0xA1,0x10,0x84,0x91,0x41,0x77,\r
+0xEF,0x2A,0x46,0xCB,0x63,0xE4,0x20,0xA6,0xCA,0x0F,0xA7,0xCA,0x1C,0xDB,0xD9,0xA5,\r
+0xBC,0x79,0xD7,0x09,0x9F,0x3A,0x02,0x5A,0xAE,0x6B,0x57,0x5E,0x1B,0x9A,0xDE,0xE3,\r
+0x3E,0xFB,0xAE,0xF2,0x3C,0x67,0xFC,0xF9,0x68,0xAD,0x78,0xB7,0x6D,0x3F,0xA8,0x30,\r
+0xB2,0x77,0xB4,0x64,0x86,0x58,0x79,0x43,0x1C,0xD9,0xD8,0x63,0x01,0xA9,0xC4,0xCA,\r
+0x50,0x95,0x49,0x7B,0x43,0xE0,0x04,0x86,0xEB,0x2E,0xA2,0xEE,0x29,0xAF,0xEC,0xE4,\r
+0x15,0xD0,0xF9,0x8E,0x4C,0xA3,0x48,0x89,0xA6,0x63,0x5D,0x5C,0x10,0xC9,0xD5,0xBB,\r
+0x99,0x5C,0xE3,0x18,0x1F,0x32,0x8A,0xDA,0xB2,0x77,0x19,0x0C,0x36,0xAC,0xF3,0xF8,\r
+0x94,0x51,0xD1,0x27,0xC2,0xC8,0xAD,0x07,0xDB,0x1E,0xD6,0xAA,0x1A,0xBA,0xDF,0xC2,\r
+0x17,0xD2,0x88,0xFD,0x27,0x74,0xF4,0xE2,0x13,0xD6,0x94,0x20,0x87,0xC0,0x42,0x25,\r
+0x74,0xB1,0x5D,0x4B,0x85,0x09,0x2B,0x40,0x01,0xC4,0xB7,0x11,0x06,0xE8,0xC3,0x8C,\r
+0xBA,0x7F,0xB6,0x6E,0x47,0xF0,0x10,0x82,0x12,0xD7,0xB5,0x00,0xBD,0xF7,0x78,0x28,\r
+0xB9,0x7C,0xE7,0x3C,0x6D,0x87,0x4D,0xA8,0x81,0x44,0x3F,0x19,0x79,0x6F,0xBC,0x74,\r
+0xAB,0x6E,0xD6,0x1F,0x49,0x93,0x7D,0x8C,0xF5,0x30,0x9F,0xCD,0x8E,0xE2,0x4B,0x0E,\r
+0x05,0xC0,0xB9,0xDE,0xA7,0x7C,0x7C,0x62,0xCD,0x08,0xE1,0x8B,0x2B,0xDE,0xEE,0x97,\r
+0xFF,0x3A,0x06,0x9B,0x2F,0x76,0xFE,0xEA,0x4A,0x8F,0x2F,0xC2,0x19,0xEB,0xDC,0x90,\r
+0xB5,0x70,0xF5,0x22,0x92,0x08,0x3D,0x57,0xA9,0x6C,0x11,0x1F,0x26,0xEC,0xE3,0xA8,\r
+0x5D,0x98,0x7B,0x44,0x07,0x70,0xD0,0xC2,0x5F,0x9A,0x4A,0xB2,0xF1,0x65,0x34,0xF6,\r
+0x9E,0x5B,0xA2,0x5E,0xE1,0x9D,0xDB,0x24,0x76,0xB3,0x45,0x94,0x69,0x2F,0xAC,0x24,\r
+0x46,0x83,0x68,0x4C,0x45,0x81,0x63,0x80,0xA5,0x60,0x0F,0x0D,0x03,0xD8,0xC6,0xB9,\r
+0x70,0xB5,0x4D,0x5F,0x52,0x80,0x75,0x97,0xDA,0x1F,0xF7,0x8A,0x4F,0x4A,0x8A,0x67,\r
+0xE5,0x20,0x35,0xB2,0xA3,0x6C,0x68,0x66,0x11,0xD4,0xE7,0x51,0x98,0xC3,0x5D,0x39,\r
+0x65,0xA0,0x3D,0x3A,0x84,0x29,0x0A,0x41,0xBE,0x7B,0x07,0x1E,0x56,0x28,0x93,0x1C,\r
+0xCA,0x0F,0x72,0xDA,0xD6,0x98,0xE9,0x13,0xB4,0x71,0x7E,0x6D,0xE3,0x54,0x26,0xD5,\r
+0x0B,0xCE,0xDA,0xB3,0x1E,0x12,0xAB,0xDB,0xE6,0x23,0x9D,0xDC,0x21,0xAD,0xE4,0xEE,\r
+0x34,0xF1,0xDD,0x8B,0xD3,0xA8,0xDC,0x16,0x50,0x95,0x06,0xF1,0xA9,0xA7,0x6C,0x6C,\r
+0xDD,0x18,0x73,0xCC,0x46,0xD0,0x31,0x83,0x80,0x45,0x1E,0x39,0x7C,0x5F,0xB9,0x41,\r
+0x67,0xA2,0x4C,0x49,0xBA,0x0E,0x13,0x7F,0x10,0xD5,0xC6,0x71,0x5E,0x2A,0x9B,0x16,\r
+0xA7,0x62,0xC4,0x01,0xC1,0x99,0xFF,0x04,0x38,0xFD,0xE8,0x77,0xED,0x37,0x28,0xB8,\r
+0x33,0xF6,0x9C,0xCD,0x7B,0xA6,0x7A,0xBE,0x54,0x91,0x12,0xE1,0x28,0x8F,0xED,0xC5,\r
+0xE8,0x2D,0x07,0x8D,0x9E,0x1A,0x23,0x5B,0xAB,0x6E,0x62,0x6E,0x6F,0x4E,0xAA,0x43,\r
+0xF0,0x35,0x45,0xD7,0x29,0x17,0x99,0xEC,0x64,0xA1,0x66,0xA5,0x88,0x83,0x4D,0x69,\r
+0xEE,0x2B,0x66,0xEA,0x74,0xE5,0x36,0xB1,0xC9,0x0C,0xF5,0x9B,0xB4,0xD5,0x71,0x03,\r
+0xC9,0x0C,0x23,0x88,0xE8,0xBF,0xF0,0x2D,0x1D,0xD8,0xF9,0x43,0xE9,0x27,0x2C,0xAC,\r
+0x25,0xE0,0xBD,0xFA,0x1A,0x02,0xBF,0xDF,0x5E,0x9B,0x6B,0x92,0x73,0x1C,0xB6,0x0D,\r
+0xB0,0x75,0xC5,0x17,0x61,0x95,0x53,0xA4,0xF9,0x3C,0x81,0xDF,0xC3,0x50,0x06,0xF1,\r
+0xE0,0x25,0x05,0x87,0x97,0x38,0x08,0x52,0x94,0x51,0x5A,0x69,0x38,0xCF,0xFD,0x95,\r
+0x35,0xF0,0xFD,0xAA,0x69,0x97,0x59,0xAC,0x02,0xC7,0xE5,0x40,0x02,0xF8,0xC7,0x98,\r
+0xCC,0x09,0x13,0xBD,0x33,0x24,0xB0,0xF6,0xA1,0x64,0x1B,0x1D,0x8A,0xF2,0x4F,0x1A,\r
+0x9D,0x58,0xF3,0x0C,0x99,0x5B,0x65,0x5C,0x96,0x53,0x29,0x18,0xFA,0x36,0x3F,0xAE,\r
+0xA3,0x66,0xD4,0x15,0xF7,0xBC,0xEC,0x32,0x14,0xD1,0xD2,0x61,0x00,0x89,0xC5,0xEB,\r
+0x4C,0x89,0x1B,0x35,0xBB,0x2E,0x32,0x7E,0x6A,0xAF,0x0B,0xC6,0x85,0xB1,0x40,0x56,\r
+0x2C,0xE9,0x9F,0xD1,0x24,0x25,0xA6,0xE1,0xCC,0x09,0xC0,0xAB,0xFB,0x16,0x3E,0x8F,\r
+0xF4,0x31,0x55,0xC3,0x44,0xA1,0x42,0x81,0x87,0x42,0x58,0x78,0x49,0x2B,0x8C,0x00,\r
+0xB7,0x72,0x84,0x51,0x21,0x15,0x93,0xE4,0xE5,0x20,0xCF,0x8D,0x3A,0xBE,0xFF,0xE6,\r
+0x48,0xC1,0x3E,0xFC,0xCF,0x98,0x54,0xE0,0x81,0x58,0xEC,0x6E,0x2C,0xCE,0x55,0x98,\r
+0x2F,0x04,0x9C,0x9B,0x43,0xF4,0xB4,0x00,0xFE,0xF2,0x46,0xBB,0x54,0x70,0x93,0xE0,\r
+0x63,0x96,0x42,0xD7,0x09,0x26,0x2C,0x98,0xCA,0xD7,0x63,0xAA,0x77,0x06,0xC6,0xC3,\r
+0x88,0x49,0x76,0x3C,0x61,0xDF,0xBD,0x09,0x2A,0x86,0x32,0x1B,0x11,0x85,0x23,0xA5,\r
+0xC9,0xE9,0x97,0x7D,0x92,0x66,0xF7,0x43,0xC4,0x7F,0xCB,0x0C,0x07,0xB2,0x02,0xB3,\r
+0x90,0x0B,0x2C,0x24,0x8E,0xDE,0x53,0xE7,0xA7,0x71,0xC5,0x61,0xDE,0x81,0xE8,0x6A,\r
+0xD5,0xBB,0xD9,0x61,0xBC,0xE1,0x5E,0xEA,0xCE,0xF7,0x43,0x8E,0xF1,0xE9,0xAF,0x45,\r
+0x2D,0x75,0xEF,0x99,0x76,0xF3,0x86,0x32,0xF4,0x7A,0xCE,0x39,0xCA,0xC5,0xB8,0x7E,\r
+0x82,0x3A,0x0F,0x36,0x8A,0xFA,0x73,0xC7,0x28,0x8E,0x3A,0x11,0x7E,0x2D,0xE4,0xCA,\r
+0x47,0x82,0x72,0xF3,0xA1,0x4F,0xED,0x59,0x70,0x1A,0xAE,0xDD,0x6F,0x5C,0x84,0xDB,\r
+0x04,0x53,0xE0,0xB0,0x17,0x94,0x80,0x34,0x2F,0xB1,0x05,0x29,0xEB,0xC0,0x9C,0x5F,\r
+0x1D,0x31,0x9B,0xA9,0x3E,0x2B,0x16,0xA2,0x2C,0xAE,0x1A,0x35,0x20,0xD0,0x47,0x94,\r
+0xCD,0xF9,0x83,0x79,0xAE,0xFF,0x52,0xE6,0x8D,0xF8,0x4C,0xC2,0x4D,0x0B,0xF1,0xF9,\r
+0x84,0x5B,0x68,0x30,0x7E,0x7B,0x06,0xB2,0x7D,0xAD,0x19,0x67,0xF5,0xFD,0xBF,0x41,\r
+0x41,0xE3,0x15,0xF5,0x1C,0x00,0x1F,0xAB,0xE7,0x61,0xD5,0x31,0xF4,0xDC,0x9F,0x40,\r
+0xB5,0x3F,0x3D,0x01,0x4B,0x7C,0x34,0x80,0xD1,0x4C,0xF8,0x2A,0x15,0x91,0x33,0xA1,\r
+0x29,0x65,0xFB,0x9D,0xF5,0x2F,0xD9,0x6D,0xB0,0x4A,0xFE,0x4D,0x74,0x54,0x97,0xC0,\r
+0xA7,0x0E,0x1E,0x13,0x16,0x82,0x97,0x23,0x54,0x3B,0x8F,0xD8,0x6C,0x0E,0xD5,0xD8,\r
+0x1F,0x40,0xE8,0xAB,0xBA,0xCF,0x76,0xC2,0xA5,0x79,0xCD,0x6B,0xC5,0x89,0xFB,0x71,\r
+0x70,0x87,0x40,0xC4,0x3B,0x19,0x21,0x95,0x39,0x9D,0x29,0x13,0x72,0x33,0xF6,0xC6,\r
+0x46,0xA2,0x53,0xF2,0x6B,0x5D,0x35,0x81,0xFA,0xD2,0x66,0x9F,0x12,0xD7,0x72,0xA6,\r
+0xFC,0x9D,0xD6,0x48,0x71,0xCB,0xB9,0x0D,0x6C,0xBE,0x0A,0x65,0x66,0x77,0xA6,0xD2,\r
+0x19,0x21,0x8F,0xAD,0x83,0x64,0xE4,0x50,0x1E,0xA3,0x17,0x0A,0xB0,0x08,0x0F,0x04,\r
+0xE5,0xFF,0xAD,0x51,0x12,0xA6,0xB7,0x03,0x5F,0xA4,0x10,0x4C,0xD4,0xF8,0x9B,0x60,\r
+0x65,0xF7,0x25,0xD1,0x26,0xB7,0x92,0x26,0x69,0x89,0x3D,0x57,0xC8,0xB6,0xC9,0x7C,\r
+0xB8,0x0D,0x02,0x0C,0x14,0x88,0x9F,0x2B,0x7F,0xA5,0x11,0x6D,0xA1,0x79,0x6F,0x15,\r
+0x39,0x25,0xAB,0x8D,0x8C,0xD4,0x5B,0xEF,0x6A,0x96,0x22,0x4B,0x91,0x0D,0x2B,0x25,\r
+0x36,0x66,0xE7,0x82,0x3C,0x21,0x1E,0xAA,0x0C,0xAF,0x1B,0x14,0xDC,0xF2,0x99,0x68,\r
+0x3D,0x35,0xBF,0x89,0x73,0xC1,0xB1,0x05,0x32,0x02,0xB6,0x87,0x68,0x1A,0xC5,0xDC,\r
+0x17,0x42,0xE2,0xA3,0x22,0x93,0xB2,0x06,0xAA,0xC6,0x72,0xDB,0xFB,0x90,0xDC,0x4F,\r
+0x5D,0xB1,0x5B,0xE9,0x4D,0x52,0x1C,0xA8,0x05,0x38,0x8C,0x8A,0x69,0x3B,0xE5,0xDD,\r
+0xFF,0xCC,0x84,0x4B,0x98,0xE4,0x7F,0xCB,0x2D,0xB9,0x0D,0x23,0x7B,0x18,0xD4,0xCF,\r
+0x55,0xB3,0x51,0xE1,0xC3,0x34,0xF4,0x40,0x2E,0xA6,0x12,0x3F,0x30,0x80,0x07,0x84,\r
+0xE8,0xCD,0x92,0x5C,0x30,0x8D,0xBE,0x0A,0x29,0x99,0x2D,0x07,0xD3,0xBE,0xDA,0x67,\r
+0x33,0x56,0xD2,0x87,0x13,0xB0,0xA0,0x14,0x27,0x31,0x85,0xA1,0x8F,0x30,0x08,0x3B,\r
+0xDD,0xB9,0xD3,0x69,0x7C,0x71,0x0E,0xBA,0x1B,0x94,0x20,0x38,0xB7,0x4E,0x4E,0x03,\r
+0x3F,0x44,0xCC,0x8B,0xAD,0xE3,0x4D,0xF9,0x1D,0xBC,0x08,0x16,0xDF,0xA0,0xC8,0x6B,\r
+0x28,0x45,0xDA,0x9C,0x88,0xF0,0x7B,0xCF,0x8F,0xF0,0x44,0xC8,0xA0,0x58,0x4F,0x14,\r
+0x7D,0xB5,0x7F,0xC9,0xBE,0xEB,0x56,0xE2,0xA0,0x4E,0xFA,0x59,0x25,0xE5,0x77,0x91,\r
+0x9B,0x58,0x74,0x2F,0x67,0xF1,0x95,0x21,0xEA,0xD6,0x62,0x8B,0x0C,0xEA,0x51,0xB8,\r
+0xAC,0x5D,0x46,0x18,0xB7,0x75,0xC1,0x75,0x91,0x5C,0xE8,0x7A,0xCE,0xD1,0xA8,0x7A,\r
+0x64,0xD7,0x04,0xD0,0x1F,0x1C,0x00,0xB4,0x68,0x9E,0x2A,0x41,0x9C,0x32,0x19,0x28,\r
+0xD9,0xA9,0xC7,0x6D,0xF0,0x1D,0xEE,0x5A,0x06,0x27,0x93,0x96,0x6B,0x48,0x94,0xDF,\r
+0xFE,0xEC,0xA5,0x4A,0xF8,0x95,0x6E,0xDA,0xED,0xE9,0x5D,0xB3,0xC4,0xA8,0xDB,0x70,\r
+0xC0,0xCB,0xBC,0x74,0x89,0xE6,0x6C,0xD8,0xEF,0xE1,0x55,0xB9,0x6A,0x69,0xB4,0xDE,\r
+0xBB,0x5C,0x50,0x0F,0x01,0xAE,0xAC,0x18,0xF2,0x52,0xE6,0x17,0x42,0x47,0xB2,0xF6,\r
+0xA9,0x6D,0x73,0x1D,0x18,0x24,0x3F,0x8B,0x62,0x16,0xA2,0xC3,0x2A,0xA9,0x34,0x9E,\r
+0x3C,0x15,0x9E,0x88,0xB6,0x63,0xD6,0x62,0x9A,0xC3,0x77,0xEE,0xFA,0xB1,0xFC,0x4E,\r
+0x53,0xD2,0x36,0xE7,0x80,0x78,0xFB,0x4F,0x46,0x37,0x83,0xC6,0x1E,0xC9,0x60,0xAA,\r
+0x0E,0x20,0x99,0xBA,0xA3,0x45,0xE5,0x51,0x10,0x0B,0xBF,0xAC,0xB3,0x5A,0x5E,0x07,\r
+0x01,0x63,0xD5,0xB5,0x59,0x62,0x38,0x8C,0x4A,0x97,0x23,0x6A,0x2E,0xBD,0x24,0x9A,\r
+0xE4,0xDF,0x8C,0x50,0xC2,0x22,0xE3,0x57,0x8B,0xD0,0x64,0xEC,0xD1,0xCD,0xAB,0x65,\r
+0x1B,0x50,0xFC,0xAF,0x00,0xB8,0xBB,0x0F,0x95,0x7C,0xC8,0x5E,0x83,0x2E,0x1A,0x37,\r
+0xED,0xFD,0xA7,0x59,0xC0,0x28,0xEB,0x5F,0x0A,0x87,0x33,0x3A,0xEE,0xF5,0xAC,0x5A,\r
+0x92,0x7A,0x5F,0x26,0xE6,0x27,0xC2,0x76,0xE2,0x56,0xE2,0x03,0x67,0x56,0x86,0xD3,\r
+0x60,0xC7,0x10,0xD4,0x78,0x55,0x2E,0x9A,0xD9,0xCC,0x78,0xA2,0x24,0xC4,0x57,0x90,\r
+0xE3,0x9E,0xCA,0x57,0x36,0xA3,0x96,0x22,0xF3,0x45,0xF1,0x01,0xEC,0x86,0xDD,0x58,\r
+0x8D,0x79,0x43,0x39,0x11,0xBA,0xA8,0x1C,0x4C,0xBF,0x0B,0x44,0x6E,0x7D,0xA4,0xDA,\r
+0x13,0x52,0xF6,0xA7,0x38,0x05,0x3E,0x8A,0x3D,0xBD,0x09,0x37,0x78,0x4A,0x85,0xCC,\r
+0x49,0xE1,0x1F,0xFD,0xD6,0x12,0xC7,0x73,0x37,0x35,0x81,0xB5,0xDB,0xB4,0xD8,0x6F,\r
+0x3E,0x64,0xED,0x8A,0x90,0x6C,0xFF,0x4B,0xEE,0xF6,0x42,0xAF,0xFD,0xF7,0xBD,0x49,\r
+0x5B,0xD0,0x3C,0xEF,0x41,0xFE,0xBC,0x08,0x7B,0x85,0x31,0x49,0x9F,0x60,0x48,0x2B,\r
+0xC1,0xEB,0x9D,0x75,0xDE,0x9A,0x47,0xF3,0x74,0x3A,0x8E,0xF9,0x10,0xA4,0x03,0xA4,\r
+0x5E,0xE0,0x09,0xEA,0x5A,0x7E,0x27,0x93,0xD3,0x44,0xF0,0x20,0xB6,0x6F,0x6E,0x02,\r
+0xF1,0xA2,0xAA,0xBD,0x23,0x2B,0x95,0x58,0xBA,0xAB,0xFF,0xB2,0x35,0x25,0x2D,0xF6,\r
+0x08,0x33,0x3B,0xD5,0xC8,0xC0,0x4A,0x6C,0xDC,0x28,0x1A,0xD4,0x84,0x74,0x7C,0x16,\r
+0xDA,0xAB,0xA3,0x9F,0x84,0x8C,0xD8,0xB2,0xFF,0x5E,0x4F,0xF7,0x95,0x51,0x59,0x22,\r
+0xB6,0x4B,0x43,0x13,0xE3,0xEB,0x1D,0x10,0x87,0xE0,0x89,0x8F,0x40,0xFB,0xF3,0x5D,\r
+0xDD,0x99,0x91,0xAA,0x86,0x8E,0xA9,0xC1,0x61,0xEB,0x64,0x69,0x17,0xD9,0xD1,0x28,\r
+0xCF,0x41,0x49,0x60,0x7E,0x76,0x67,0xF7,0x5A,0xC7,0x73,0x52,0xA0,0x54,0x5C,0x12,\r
+0xF0,0x4C,0x44,0x52,0x3B,0x33,0xD7,0x02,0x75,0xAF,0x34,0x7D,0x4F,0xD2,0xDA,0x7B,\r
+0x48,0xE8,0xE0,0x4E,0x62,0x6A,0x35,0xB9,0xAC,0x9C,0xDE,0xA4,0x22,0xDC,0xD4,0x18,\r
+0x05,0x09,0x01,0xE2,0xB6,0xBE,0xED,0xB5,0x8B,0xFE,0x9B,0x83,0x1B,0x0D,0x05,0xF0,\r
+0xBA,0x9F,0x97,0xCB,0xAF,0xA7,0x8F,0xCE,0x40,0xEE,0x40,0x48,0x07,0x12,0x1A,0xF3,\r
+0x61,0xF2,0xFA,0x7D,0xEC,0xE4,0x5E,0x5C,0xC4,0x72,0x58,0xCC,0xF3,0xB9,0xB1,0xAC,\r
+0xD4,0x6C,0x64,0x56,0x29,0x21,0xE6,0x21,0xD5,0x03,0x38,0xDD,0x3F,0x2D,0x25,0xF4,\r
+0x52,0x2B,0x23,0x97,0x1E,0x16,0xE3,0x13,0xBE,0xBF,0xEF,0xB6,0x04,0xEF,0xE7,0x0D,\r
+0x2E,0x00,0x08,0xC0,0xEA,0xE2,0x3F,0x3B,0x5F,0xF2,0x43,0x57,0x1F,0xC2,0xCA,0x3B,\r
+0x55,0x19,0x11,0xA2,0x2F,0x27,0x87,0x46,0x5E,0xD3,0x63,0x56,0x49,0x0E,0x06,0xA1,\r
+0xD1,0x4D,0x45,0x72,0x66,0x6E,0x25,0xAD,0xE6,0x25,0x2D,0xEE,0xEC,0x5B,0x53,0x51,\r
+0x37,0x3E,0x36,0xE7,0xDB,0xD3,0x5B,0x6E,0xD9,0x1D,0x2A,0xD1,0x3D,0x3E,0x36,0xE5,\r
+0xE1,0x69,0x61,0x66,0xB4,0xBC,0x9C,0xC6,0x6E,0xA7,0x27,0x66,0x45,0xDA,0xD2,0x79,\r
+0xAC,0x88,0x80,0xCA,0x0C,0x04,0xD2,0x30,0xC7,0x20,0x09,0xCF,0xF6,0x98,0x90,0x88,\r
+0x01,0xC6,0xCE,0x29,0x82,0x8A,0xB9,0xD5,0xDF,0x7A,0x4B,0xD7,0x63,0xE9,0xE1,0x6C,\r
+0x88,0xA8,0xA0,0xCE,0x4E,0x46,0x23,0x83,0x7F,0xD6,0x47,0x77,0x62,0x07,0x0F,0x83,\r
+0x4A,0xFB,0xF3,0x5F,0xB2,0xBA,0xFD,0xA1,0x1B,0x26,0xD3,0x13,0x24,0x00,0x08,0xC2,\r
+0xE5,0xA6,0xAE,0xAD,0x57,0x5F,0x41,0xF8,0xCD,0x59,0x7A,0xC5,0x4B,0x1D,0x15,0xB0,\r
+0x73,0x2A,0x22,0xB7,0xED,0xE5,0x7E,0x7D,0xB9,0xF9,0xAE,0xB1,0xB1,0x71,0x79,0x26,\r
+0x0F,0x01,0x09,0xE0,0x9D,0x95,0xBA,0xC9,0x77,0xDC,0x45,0x7F,0x3A,0x0C,0x04,0xD0,\r
+0xFA,0x44,0x4C,0x50,0x92,0x9A,0xF9,0x85,0x3A,0x23,0xF7,0x32,0x65,0x35,0x3D,0xB6,\r
+0xA6,0x80,0x88,0xC8,0x13,0x1B,0xD1,0x2C,0x0A,0x57,0xB3,0x02,0x43,0x06,0x0E,0xA3,\r
+0x99,0x8D,0x85,0xFA,0xCE,0xC6,0x2B,0x0B,0x63,0x98,0x15,0x6B,0x79,0x2A,0x22,0xB5,\r
+0xCA,0x60,0x68,0x44,0x54,0x5C,0x10,0xAA,0xD0,0x36,0x08,0xD8,0x0D,0x1A,0x12,0xF1,\r
+0x7C,0x03,0x0B,0x91,0xF6,0xFE,0x6D,0x75,0xC2,0x15,0x39,0xCA,0xA4,0x9B,0x93,0xD9,\r
+0xBD,0xAD,0xA5,0xFE,0xBC,0xB4,0x9E,0xCC,0x50,0xBE,0x00,0x58,0xF5,0x65,0x6D,0x76,\r
+0xEF,0xAE,0xA6,0xAF,0x96,0x9E,0xE9,0x91,0xC3,0x34,0x19,0xCB,0xA9,0xA1,0xA9,0xEE,\r
+0x5F,0x11,0x19,0xA0,0x76,0x7E,0x65,0xFD,0x1C,0x60,0x92,0x14,0x16,0x37,0x3F,0xC7,\r
+0x9E,0xBF,0xB7,0xCF,0x98,0x90,0x8A,0xFC,0x24,0x1E,0xD4,0x2C,0x8F,0x92,0x9A,0xFB,\r
+0xA3,0xA1,0xA9,0xEC,0x43,0x4B,0x11,0xBC,0x78,0x90,0x06,0x70,0x29,0x3A,0x32,0xF5,\r
+0x1A,0xEB,0xE3,0x1F,0xFE,0xF6,0x6F,0x7F,0x9B,0xAE,0xDB,0x93,0x11,0x05,0x0D,0xF2,\r
+0xDF,0x8A,0x82,0xBB,0x30,0x38,0x84,0x5A,0xA7,0xC4,0x8D,0xAF,0xA5,0x75,0x7D,0x36,\r
+0xC5,0x49,0x41,0x62,0xD6,0xDE,0x69,0x51,0x8E,0xCB,0xAB,0x86,0x77,0xED,0xE5,0x7C,\r
+0xDE,0x64,0x6C,0x54,0x83,0x8B,0x99,0xF4,0x0B,0x76,0x93,0x03,0xE6,0x53,0x5B,0x53,\r
+0xCD,0x52,0x5A,0x71,0x94,0x9C,0x98,0xE2,0x74,0x8E,0x14,0x7C,0x38,0x1F,0x17,0xC1,\r
+0xBB,0x71,0x79,0x24,0x55,0x5D,0x30,0x8B,0x6F,0x86,0x07,0x67,0x9D,0x4A,0x42,0x31,\r
+0x33,0xF1,0xF9,0x2C,0x72,0x7A,0x75,0xE9,0xC0,0x66,0x48,0xC8,0xB8,0x84,0x8C,0xDA,\r
+0x32,0x1F,0x17,0xC3,0xCF,0xC7,0x0B,0x2A,0x37,0x1C,0xC5,0x3F,0x6F,0x3D,0x35,0xB4,\r
+0x5B,0xDE,0xD6,0x6B,0x07,0x0F,0x81,0x68,0x65,0xFF,0x74,0x6D,0x54,0xFF,0xF7,0x4D,\r
+0x4D,0xC9,0xC1,0x6A,0x97,0x9F,0xC9,0xB0,0x51,0x9F,0x20,0x59,0xC0,0x60,0x68,0x46,\r
+0x0A,0x20,0x28,0xC4,0x02,0x0A,0xB1,0x5D,0x81,0x87,0xE8,0x89,0xED,0xB5,0xBD,0xBE,\r
+0x80,0xB3,0xBB,0xDD,0x10,0x18,0x80,0x7E,0xE9,0x69,0x6E,0xE1,0x39,0xF1,0xF9,0x2E,\r
+0xC8,0x73,0x7B,0x55,0x6B,0x63,0x17,0x92,0xC1,0x47,0x68,0xC9,0x97,0x42,0x4A,0x33,\r
+0x0C,0xFC,0xF4,0x1E,0x4F,0x47,0x03,0xA2,0x7A,0xE3,0x77,0x72,0xC2,0x73,0x7B,0x57,\r
+0x4C,0x27,0x2F,0x85,0xAA,0xA2,0xBF,0xFB,0x85,0x93,0xF8,0x8D,0x44,0x34,0x3C,0x96,\r
+0x6B,0xFA,0xF2,0x7F,0xA5,0xAD,0xFC,0xB7,0x18,0x74,0x82,0x10,0x82,0xA8,0xA0,0xCC,\r
+0x56,0xE4,0xEC,0x5C,0xF8,0xF0,0x0E,0x18,0xB5,0xE7,0xBC,0xBD,0xE8,0x94,0x9C,0x9A,\r
+0x7B,0x31,0x39,0xA4,0xCB,0xC3,0x1B,0x3E,0x8F,0xEA,0x8B,0x87,0x8C,0x6F,0x67,0x05,\r
+0x09,0xDD,0xD5,0x3A,0x39,0x31,0xA6,0x71,0xCC,0x78,0x5A,0xC4,0x2D,0xF5,0xFD,0x3E,\r
+0x06,0xF4,0xFC,0x1C,0x46,0x4E,0x21,0x89,0x45,0xDB,0x70,0x4D,0x14,0x24,0x2C,0xD6,\r
+0x96,0xA4,0xAC,0xDC,0xB0,0xB8,0x8C,0xD2,0x28,0x00,0xC6,0x20,0x70,0xDF,0xD7,0x49,\r
+0x3C,0xD8,0xD0,0x0A,0xE2,0xEA,0x3D,0x31,0x70,0x9A,0x04,0x78,0x9B,0x96,0x9E,0xEB,\r
+0x2B,0x21,0x29,0xE4,0xB8,0xB0,0x8E,0xD8,0xD3,0x64,0x59,0xDB,0x19,0x1E,0x16,0xE1,\r
+0x94,0xB7,0xBF,0xCD,0x26,0x2E,0xA5,0x6D,0xC5,0x53,0x78,0xCD,0x6A,0x1C,0x14,0x90,\r
+0x8D,0x89,0x81,0xEA,0x48,0x40,0x42,0xE4,0x47,0xA8,0x01,0x4F,0x2F,0xE6,0xEE,0x2F,\r
+0x50,0x38,0x30,0x86,0xF5,0xFD,0x3C,0x27,0x1D,0x41,0xB2,0x15,0x0E,0xE7,0xEF,0x0F,\r
+0xB4,0x58,0x50,0x02,0x6A,0x62,0x37,0xB3,0xBB,0x8A,0xDF,0xB3,0xD7,0x99,0x91,0xA8,\r
+0xD0,0xA3,0xAB,0x9D,0xF0,0xF8,0x0C,0x12,0x34,0x4E,0x94,0x3C,0x67,0x26,0x2E,0xA7,\r
+0x42,0xE0,0xE8,0x4C,0x95,0x9D,0xB8,0xC3,0x56,0xD9,0x61,0x5E,0x81,0x55,0x5D,0x32,\r
+0x92,0xE0,0x82,0x9D,0xB7,0xFE,0xB6,0xB9,0x94,0xA7,0xA8,0xC3,0x12,0x0A,0xE8,0x1D,\r
+0xDB,0x42,0x69,0xD4,0x67,0x7A,0xE2,0xED,0x64,0xF2,0xFD,0x66,0xAA,0xFC,0xA6,0xA5,\r
+0x1E,0xFA,0x14,0x11,0x05,0x01,0xFB,0xF4,0xFE,0x3E,0x31,0x30,0xAB,0xDD,0x86,0xA4,\r
+0xEA,0x26,0x3C,0xE5,0x52,0x7D,0xD0,0xDF,0xC8,0x13,0x1C,0x2B,0x4A,0x90,0x2A,0x45,\r
+0xDD,0x23,0x0E,0xD2,0x93,0xFB,0x97,0x98,0x31,0xD1,0xDE,0x10,0x21,0x2C,0xFD,0x2E,\r
+0x18,0x9B,0x73,0x17,0xB8,0x4E,0x09,0x06,0x69,0x45,0x4A,0xDC,0x30,0x5D,0x9D,0x3F,\r
+0x5B,0x4A,0xE1,0x54,0x0E,0x95,0x64,0x6B,0x36,0xEE,0xE1,0x28,0xB4,0xC1,0x85,0xBB,\r
+0x42,0x28,0x9A,0x4D,0x27,0x2A,0xF2,0xFD,0x35,0xF1,0xFE,0x34,0x7F,0xD1,0x5E,0x70,\r
+0x96,0xF0,0x96,0x99,0x8B,0x67,0x13,0x1C,0xDD,0x20,0x2F,0x0D,0x58,0xB3,0x1B,0x57,\r
+0xCF,0x12,0x2D,0xC0,0x97,0xDF,0xB7,0xB8,0xBE,0x2E,0x21,0x60,0x81,0x80,0xF1,0x8E,\r
+0x8A,0xA2,0xD8,0x85,0xA5,0xE0,0xBA,0xB5,0xD7,0xA8,0xA7,0x8F,0xAE,0xE8,0xB6,0xA1,\r
+0x72,0x6C,0xEE,0x7D,0x6F,0xF2,0x62,0x6D,0xED,0x25,0x2A,0x38,0x95,0xC4,0xA1,0x9A,\r
+0x17,0xD8,0x3F,0x18,0xD6,0x99,0xB0,0xBF,0x98,0x07,0x08,0x6F,0x73,0xCF,0x4C,0x7C,\r
+0x70,0x1D,0x9D,0x7F,0x5A,0xF5,0x50,0x5F,0xE7,0xAD,0xA2,0xBA,0x0B,0x71,0x8A,0x04,\r
+0x3C,0x8F,0x43,0x33,0x10,0x27,0xC8,0xC7,0xD3,0x88,0x87,0xAB,0x28,0x07,0xDF,0x27,\r
+0xD7,0x50,0x77,0xD8,0x78,0xDE,0x59,0x56,0x33,0xD9,0xD6,0x1A,0x4E,0x84,0x3A,0x41,\r
+0x62,0x2C,0xBE,0x6D,0x6A,0xC0,0x55,0x5A,0x2B,0x5D,0x52,0x86,0x37,0x1B,0xDC,0x38,\r
+0x48,0x5B,0xE3,0x47,0x3B,0x92,0x56,0x59,0xB3,0x99,0x96,0xDA,0xA4,0x91,0xC5,0xAB,\r
+0x02,0xA8,0x5A,0x0D,0x54,0x53,0xF8,0xF7,0x1C,0x67,0x68,0x8B,0x36,0x3A,0xFC,0x39,\r
+0xA0,0xD5,0x85,0xAF,0x81,0xE5,0x9B,0x94,0x34,0xE6,0xE9,0x22,0x24,0x19,0xCD,0x2B,\r
+0x3A,0xEE,0x24,0x35,0x3F,0xB6,0x76,0x79,0x70,0xD6,0xD9,0x56,0x97,0xB7,0xD0,0x98,\r
+0xE7,0x14,0x03,0xE8,0x0D,0x89,0x7B,0x74,0x66,0xFA,0xF5,0x6C,0xFE,0x78,0x76,0xF1,\r
+0x66,0x3C,0xAA,0x69,0x95,0xD5,0xBF,0xB0,0x73,0xC9,0xC6,0x4A,0xCE,0x0C,0x32,0xC1,\r
+0x69,0x7F,0xE6,0x66,0x25,0x20,0xFA,0xF5,0x15,0xF0,0xFF,0x15,0x83,0xF3,0x80,0x8C,\r
+0x19,0xBB,0x52,0x16,0x72,0x5C,0xD1,0xDE,0xE3,0x8D,0x82,0x9E,0x4D,0xD6,0x6B,0x42,\r
+0xA3,0x84,0xD7,0xAC,0x68,0xCA,0x5D,0x52,0x75,0xE1,0xEE,0x64,0x39,0x76,0xBF,0x36,\r
+0x46,0x38,0x8E,0x49,0x9A,0x65,0x00,0x0F,0x07,0xFC,0xF3,0x0B,0xEF,0x09,0x16,0xE0,\r
+0xBA,0xE6,0xAC,0xB5,0x0B,0xA7,0x53,0x5C,0x46,0xFB,0xF4,0x4D,0x8B,0xF9,0x82,0x84,\r
+0x76,0x7C,0xFA,0x79,0xEC,0x2E,0x3D,0x32,0xA9,0x15,0x1A,0x4C,0x2B,0x55,0x8E,0x24,\r
+0xF8,0x17,0x1F,0xF7,0x0F,0x83,0x73,0x7C,0x4D,0x64,0x6B,0xD9,0x33,0x0F,0xCC,0x3C,\r
+0x40,0x59,0xE9,0x4F,0xA3,0xCE,0x92,0x9D,0xBC,0x26,0x29,0x6A,0x9A,0x88,0xE2,0x95,\r
+0x2F,0x9E,0x41,0x20,0x22,0x18,0xC5,0xCA,0x20,0xC2,0xCD,0x12,0x2D,0x32,0xEF,0x22,\r
+0x9F,0xD2,0xBD,0x90,0x90,0xE7,0x88,0x87,0xF6,0xBE,0xB1,0xB8,0x35,0x68,0xAD,0x3A,\r
+0xE4,0x45,0x51,0xEB,0x18,0xAF,0x48,0x47,0xEB,0x0D,0x02,0x16,0x1D,0x46,0xAB,0x12,\r
+0xF6,0x74,0x72,0xF9,0x01,0x25,0xDB,0xD4,0x7B,0x49,0x46,0xC2,0x75,0xA8,0x2D,0x7A,\r
+0x63,0x0C,0x9F,0x6C,0xAF,0x62,0x32,0x3D,0x83,0x9C,0x93,0xEF,0xA5,0xB0,0xE5,0xAA,\r
+0xF3,0x44,0x47,0xFC,0xAE,0x74,0x25,0x2A,0x88,0x03,0x0C,0x7B,0x91,0xD0,0xB1,0x9E,\r
+0x3B,0xCE,0x05,0x34,0x06,0x1D,0xE4,0xEB,0x71,0xC1,0xCE,0x40,0xC3,0x33,0x00,0xCC,\r
+0x86,0xB0,0xC6,0x89,0xE9,0x1C,0x0A,0x05,0x1F,0x78,0x77,0x97,0x34,0x49,0x8D,0x3B,\r
+0xA1,0xF5,0xA4,0xAE,0xE1,0x94,0x8A,0x85,0xF4,0xB6,0xB9,0xB2,0x9B,0xA9,0xC2,0x94,\r
+0x60,0x5D,0xCD,0x6F,0xB4,0xE2,0xA9,0xA6,0x04,0xE3,0xEC,0x17,0x80,0xA1,0xD1,0x8F,\r
+0x77,0x5C,0xDB,0x78,0x91,0xF1,0x9F,0x90,0x96,0xAF,0xA0,0xC9,0xFF,0x59,0x56,0xF0,\r
+0x22,0xAC,0x7E,0x2D,0xA7,0xEA,0xB2,0xBD,0xB9,0x11,0x1E,0x58,0x7A,0xE4,0x6E,0x75,\r
+0xC4,0x41,0x75,0xCB,0x7E,0xF0,0x71,0x7E,0xF3,0x89,0x86,0x8A,0x53,0xEB,0x48,0x5C,\r
+0x0A,0xAA,0x50,0x05,0xDA,0x35,0x10,0x1F,0x37,0xF9,0xF6,0x3E,0x6F,0x81,0x1E,0x60,\r
+0xB7,0xD4,0x93,0xB8,0x29,0x8C,0x5A,0x55,0x30,0xC6,0xC9,0x06,0x8C,0xBF,0xC3,0x83,\r
+0x6C,0x4F,0xD3,0x63,0x0A,0xB1,0x44,0x4B,0x3E,0x6E,0x61,0xA0,0xD0,0x31,0x11,0xDF,\r
+0x82,0xA0,0xD2,0x8D,0x65,0x70,0xEA,0xE5,0x02,0xCB,0xC4,0x39,0xE8,0x4F,0x57,0xE7,\r
+0x61,0x7D,0xEC,0x6E,0x89,0x6D,0x1B,0x14,0xF7,0xA9,0xA6,0xAE,0xA2,0xF6,0xA4,0xAD,\r
+0x04,0xC9,0x3D,0x0B,0x58,0xFF,0x58,0x57,0x62,0xDA,0xD5,0x48,0xC0,0x61,0x51,0xCF,\r
+0x9E,0xF2,0x9C,0x91,0xC7,0x9B,0xA3,0xAC,0x6D,0x65,0x6A,0xF8,0x4F,0xA5,0x1A,0x40,\r
+0x01,0xF9,0x08,0x0E,0x43,0x7F,0xC3,0xCC,0xCA,0x1B,0x14,0x21,0xE9,0x6E,0x77,0xE6,\r
+0xBC,0x87,0xCB,0xB3,0x2F,0xA2,0x72,0x7D,0xEA,0x1A,0x15,0x00,0xB3,0x87,0xC4,0xBC,\r
+0xD2,0x60,0x42,0xDD,0x08,0xBB,0x4C,0x43,0x55,0xE0,0xEF,0x45,0x31,0x7C,0xBD,0x3E,\r
+0x4C,0x4B,0xF7,0x43,0x21,0x04,0xDA,0xD5,0x24,0xE2,0xED,0x36,0x27,0x4B,0x9C,0x28,\r
+0x16,0xF8,0x1E,0x19,0xCF,0x13,0x23,0x2C,0x2E,0x6A,0x65,0xB4,0x84,0xB5,0xC1,0x8B,\r
+0x44,0x49,0xFD,0x4B,0x19,0xB9,0x5F,0x50,0x8C,0x23,0x2C,0x5F,0xDC,0x2F,0x03,0xD3,\r
+0xB2,0xE4,0xA6,0xBD,0xD9,0x29,0x0F,0x00,0x13,0xD8,0xD7,0x3B,0xB1,0xF4,0xB5,0xBE,\r
+0xCD,0x63,0x5E,0xC2,0xFF,0x26,0x26,0x29,0xFB,0x09,0x06,0x02,0x38,0x57,0x9F,0x37,\r
+0x3F,0xDE,0x11,0x30,0x61,0x54,0xCA,0xC5,0xC0,0x93,0x9C,0xA3,0x7B,0xC5,0x4E,0x74,\r
+0x0C,0xCB,0x37,0x03,0x99,0x79,0x1F,0x10,0x5F,0x68,0x67,0xC7,0x41,0xC8,0x79,0x4E,\r
+0x51,0x39,0x98,0x5E,0xBA,0x44,0x01,0x0E,0x09,0x54,0x5B,0xAD,0xEC,0x5B,0x47,0xE3,\r
+0x5E,0x7A,0xD4,0x51,0x40,0x63,0xDC,0xD3,0x53,0xC8,0xC7,0x6B,0x71,0xBC,0x3D,0x7E,\r
+0xBB,0xC6,0x8D,0xB4,0xDB,0x23,0x07,0x08,0x92,0x8F,0x80,0xED,0x8E,0xCC,0xB2,0x81,\r
+0x20,0x03,0xD8,0xE2,0xE8,0x91,0xAB,0x82,0x6F,0xAC,0x02,0x38,0xBD,0x2B,0x6D,0x11,\r
+0xB1,0xC1,0x8B,0xB1,0xCA,0x6D,0x57,0x5C,0x9F,0x38,0x66,0x5C,0xFC,0x2C,0x2B,0x16,\r
+0xC8,0x3A,0x09,0x33,0x34,0xCE,0xF4,0x01,0xB0,0xD1,0xA0,0x9A,0x59,0x5A,0xF8,0x60,\r
+0xD2,0xAC,0x85,0xBF,0xB1,0x74,0x4E,0x3E,0x10,0x05,0xD4,0xEE,0xCF,0x36,0x02,0x0C,\r
+0x19,0xA8,0x4A,0x70,0x8F,0x97,0xAD,0xE3,0xEE,0x58,0x77,0x4D,0x06,0xF1,0x0C,0xCB,\r
+0x98,0x7E,0x1D,0x27,0x27,0xF8,0xC2,0x24,0x54,0x55,0xC0,0xFA,0x9A,0x15,0x74,0x2F,\r
+0x56,0x48,0xE5,0xDF,0x9C,0xA1,0x9B,0xC6,0x33,0x34,0xC6,0xFC,0x13,0xC2,0x2A,0xF8,\r
+0xB5,0xE5,0xAB,0x91,0x79,0x2F,0x15,0xAD,0x69,0x76,0xDE,0xE4,0xF7,0xB3,0xBF,0x89,\r
+0xEE,0x35,0x20,0x1A,0x3C,0xD5,0xEF,0x12,0x5C,0x46,0xDB,0xE1,0xA6,0xB0,0xED,0x8A,\r
+0x3B,0x83,0x43,0x79,0xE3,0x77,0x4D,0x6F,0x7F,0x77,0xC9,0xF3,0x8E,0x31,0x44,0x0B,\r
+0xD0,0xA6,0x8D,0xB7,0xD8,0xB5,0x8F,0x96,0x7D,0x66,0xDA,0xE0,0x91,0x8A,0xE0,0xB0,\r
+0x81,0xF4,0x8E,0xB4,0x85,0x9F,0xA5,0xE1,0xF7,0x7F,0x49,0x73,0x09,0x4E,0xBC,0x74,\r
+0x2F,0xB3,0x67,0x5D,0xCC,0xB1,0x8B,0x86,0x6A,0x88,0x23,0x19,0xC9,0x1E,0x2C,0x24,\r
+0x9F,0x46,0x22,0x18,0x80,0xBE,0x84,0xC5,0x95,0x3A,0x6E,0x54,0xAF,0x27,0x73,0x1D,\r
+0x85,0xD0,0xAE,0x94,0x42,0xED,0xD7,0x54,0xD1,0x6A,0x7A,0x40,0xCA,0x01,0x30,0x3B,\r
+0xB7,0xEF,0xA3,0x99,0x65,0x30,0x0A,0xAE,0x1E,0xCC,0x13,0x29,0xDC,0x2D,0x0A,0x17,\r
+0x1F,0x86,0x62,0x58,0xBE,0x5D,0x67,0x18,0x8E,0x0C,0x43,0x79,0x6D,0x7F,0xE9,0x45,\r
+0xD5,0x94,0xBA,0x80,0x88,0xA5,0x9F,0xD6,0xA2,0x1B,0x78,0x42,0x57,0xF2,0x5E,0xC8,\r
+0x31,0x01,0xCB,0xF1,0xF0,0x41,0x7B,0x4A,0xD5,0xA1,0xB5,0x8F,0x67,0xF7,0x6B,0xCD,\r
+0x2D,0xB9,0x6F,0x55,0x4B,0x18,0x22,0xA8,0xE6,0x4B,0x6C,0x56,0x04,0xF9,0x06,0xC3,\r
+0xAA,0x41,0x10,0x2A,0x25,0xEB,0xD1,0x35,0x61,0x65,0xC5,0xFF,0x69,0x5F,0xCD,0x65,\r
+0xC2,0xB8,0x81,0xBB,0x11,0x00,0x3A,0xEA,0xE2,0x80,0xA3,0x99,0x89,0x0E,0x7C,0x34,\r
+0x6C,0xFF,0x68,0x52,0x59,0xC0,0xFA,0x62,0xA9,0xF6,0x9E,0xA4,0x22,0xD0,0x09,0xEA,\r
+0xE0,0x93,0x88,0xB2,0xFB,0xA7,0x9D,0xA7,0x17,0x30,0xE6,0xDC,0x5D,0x7A,0xDC,0x40,\r
+0xBF,0x67,0x23,0x19,0x72,0xC9,0xF3,0x40,0xBB,0x3C,0x46,0x7C,0x44,0xE9,0x56,0xD3,\r
+0xE8,0x1B,0x08,0x32,0x5A,0x3D,0x07,0x9C,0xF6,0x90,0xA7,0x9D,0x72,0xC4,0x4D,0xFE,\r
+0x0D,0x98,0x6E,0x54,0xE4,0x45,0x7F,0x5A,0x6C,0x52,0xFF,0xC5,0x2E,0x70,0xA5,0x4A,\r
+0xDD,0x1C,0x3A,0x00,0x0F,0x0C,0x36,0xF8,0x9A,0x1C,0x47,0x7D,0xDE,0x25,0x00,0x1F,\r
+0xB4,0xF3,0xBC,0x86,0x87,0x8C,0xB6,0xF0,0xA7,0x3F,0x59,0x63,0x8C,0x39,0x4E,0x03,\r
+0x9D,0x4C,0x2A,0x10,0xFC,0x95,0xAF,0x92,0xB7,0xE4,0x92,0xA8,0x8F,0x26,0x52,0x1C,\r
+0x29,0x9D,0x4F,0x75,0x68,0x0A,0x30,0x99,0x4A,0x47,0xCC,0xF6,0x8B,0x06,0x76,0x3C,\r
+0x02,0x28,0xD1,0xEB,0x15,0xCF,0xF5,0x21,0x3B,0x27,0xDD,0xE7,0xD3,0x92,0xBA,0xA8,\r
+0x45,0x40,0xFE,0xC4,0x38,0x1A,0x20,0xD9,0x31,0x25,0xD5,0xEF,0x41,0xDE,0x64,0xE4,\r
+0xDB,0x32,0x12,0x28,0x77,0xE8,0xD2,0x64,0xA3,0xF4,0x96,0xAC,0x7A,0x44,0xC5,0x7E,\r
+0xA3,0xDF,0x87,0xBD,0x9B,0x93,0xA9,0xF3,0x49,0xB9,0x31,0x0B,0x36,0xF4,0x39,0xCE,\r
+0x63,0x4F,0xD7,0xED,0xC0,0x65,0x5F,0x5E,0x92,0x0F,0x5C,0x66,0xA9,0x0F,0x5D,0x35,\r
+0xFA,0x05,0x04,0x3E,0xB2,0x89,0xB3,0xC0,0xDA,0x87,0x9C,0xA6,0xE9,0x1F,0x0D,0x25,\r
+0x61,0x45,0xDF,0xE5,0xEB,0x6C,0x56,0x7C,0xAA,0x08,0x63,0x59,0x28,0x58,0x8B,0x62,\r
+0x23,0x1F,0xC7,0xFD,0x51,0xDB,0xE1,0x71,0xAE,0xC3,0xAC,0x96,0xE5,0xBF,0xA1,0x85,\r
+0x00,0x22,0xD9,0xE3,0xFE,0x86,0xBC,0x83,0x3D,0xFD,0x01,0x3B,0xB3,0x83,0xCB,0xB9,\r
+0x7D,0xFD,0x7B,0x41,0xFA,0x49,0x73,0x48,0xC3,0xA0,0xA2,0x98,0xD7,0xB2,0x9E,0x88,\r
+0xF9,0x19,0x1B,0x21,0x6E,0xD6,0xEC,0x43,0x08,0xCD,0x04,0x3E,0x70,0xCC,0x47,0xF6,\r
+0x33,0x0B,0xC3,0xF9,0x8A,0xB6,0x8C,0xC7,0x90,0x1E,0x4F,0x75,0x4D,0x7E,0xC8,0x44,\r
+0xE2,0x99,0x80,0xBA,0x5B,0xD3,0xE9,0x73,0x07,0xEB,0x2D,0x17,0xD8,0x0D,0x2E,0x37,\r
+0x9B,0x62,0x02,0x38,0x91,0x9B,0xA1,0xF1,0x2D,0x26,0xCA,0xF0,0x9E,0x35,0x50,0x0F,\r
+0x75,0x75,0xFB,0xC1,0x78,0xC1,0xFB,0x42,0xD3,0x7B,0x69,0x53,0x94,0xBD,0xD2,0x87,\r
+0x95,0xC4,0xAA,0x90,0xAD,0x6B,0x51,0x3D,0xE1,0x7E,0x5E,0x64,0x50,0xCD,0x66,0xF7,\r
+0xB2,0xDD,0x94,0xAE,0x24,0x05,0x3F,0xDA,0x1A,0x07,0xDC,0xE6,0xEF,0x37,0x23,0x0D,\r
+0x1D,0x8C,0x6A,0x50,0x18,0xF5,0xCF,0x16,0x82,0xD4,0x97,0xAD,0x03,0xC6,0x3E,0xFC,\r
+0xC4,0x96,0xA9,0x93,0x13,0x13,0x29,0xFB,0x8D,0xF2,0xBE,0x84,0x49,0x5E,0xEC,0x64,\r
+0x0E,0x84,0x71,0x4B,0xAB,0xB7,0x8D,0xE7,0xC7,0x6B,0x6D,0x57,0xBE,0x34,0x71,0x0E,\r
+0x2B,0x97,0x47,0x7D,0xBD,0xA0,0x9A,0xE6,0x3F,0xEC,0x12,0x28,0x2C,0x78,0xAF,0x42,\r
+0xB0,0xD7,0x9C,0xA6,0xB5,0xBB,0x81,0xF5,0x57,0xAB,0x3D,0x07,0x84,0xB9,0xC6,0x83,\r
+0xDF,0x16,0x32,0x08,0xB4,0x55,0x6F,0x1A,0x29,0xED,0x05,0x3F,0xB8,0x1C,0x5F,0x26,\r
+0x60,0x53,0xC8,0xF2,0x36,0xDD,0xE7,0x10,0xE7,0xA4,0x82,0xB8,0x8D,0x2E,0x58,0x14,\r
+0x93,0xEA,0x82,0xB8,0xF5,0x60,0x5A,0x6E,0xD9,0x79,0x61,0x5B,0x8A,0x11,0x60,0x2B,\r
+0xBB,0x43,0x03,0x39,0x14,0x21,0x1B,0xCE,0xCE,0x97,0x98,0xA2,0xC1,0x9E,0xA4,0xA4,\r
+0x15,0x04,0xEA,0xD0,0xF9,0xB4,0x8E,0xB6,0xD6,0x5F,0x48,0x72,0x39,0x4B,0x89,0x71,\r
+0x2A,0x81,0x50,0x6A,0xDB,0x48,0x72,0x68,0x0E,0x17,0xD8,0xE2,0x4C,0x69,0xDE,0x53,\r
+0xA2,0xC9,0x90,0xAA,0x37,0x33,0x09,0xFF,0x20,0x11,0xF0,0xCA,0x51,0xDA,0x70,0xE0,\r
+0x53,0x7A,0xD2,0xE8,0xA0,0x51,0x6B,0x0A,0x2F,0x37,0xD9,0xE3,0xA5,0xAF,0xF1,0x95,\r
+0x5B,0xF2,0x52,0x68,0xC2,0x76,0x4C,0x4F,0xCF,0x78,0x76,0x4C,0x4E,0x61,0xD4,0x5B,\r
+0x14,0x12,0xFD,0xC7,0x21,0x24,0x1E,0xFE,0xB6,0x0B,0x7C,0x46,0x32,0xD4,0x1D,0xEE,\r
+0xBC,0x7B,0x3C,0x06,0x63,0xEC,0xD6,0x74,0x55,0xBA,0x2E,0x14,0xCB,0x16,0x26,0x2C,\r
+0x4A,0xB1,0xE7,0x69,0x2E,0xEC,0xFD,0xD5,0x82,0x79,0x4F,0xF2,0x12,0x25,0xE9,0xF3,\r
+0xAC,0x57,0x0A,0x62,0xED,0x35,0xE7,0x16,0x1A,0xE1,0x9D,0xB8,0x3B,0x03,0xC0,0xFC,\r
+0x08,0xF3,0x16,0xDA,0x35,0xFF,0xF5,0xCE,0x70,0x8B,0x00,0x4F,0xE8,0x9A,0x13,0xB6,\r
+0x1F,0xE4,0x17,0xCC,0x03,0xDA,0xE6,0xF8,0x3C,0xC7,0xDE,0xDD,0x97,0x1D,0x6C,0x4E,\r
+0x04,0xFF,0x04,0xC4,0xD8,0x41,0xA6,0x23,0xFD,0x06,0xB7,0x75,0xB8,0x5A,0x43,0x26,\r
+0xEA,0x11,0xEB,0xC5,0x76,0x2E,0x67,0x8D,0x58,0xA3,0x2E,0x49,0x80,0x1C,0x7B,0x58,\r
+0x62,0x99,0xE1,0x47,0x8C,0x91,0x22,0x77,0x6A,0x91,0x29,0x7C,0x07,0x55,0xFC,0x96,\r
+0xDF,0x24,0x9F,0x84,0xC6,0x62,0x9B,0x3D,0x55,0xAE,0x11,0x7B,0xE4,0x88,0x1F,0xA8,\r
+0x9E,0x65,0x3F,0x65,0x47,0x4A,0x32,0xBC,0xDA,0x21,0xD5,0x30,0x1D,0x66,0xE6,0xBF,\r
+0x0B,0xF0,0x47,0x88,0xAE,0xE4,0x75,0x55,0x0F,0xF4,0xF8,0xC8,0xCD,0xAE,0x36,0xA7,\r
+0xF7,0x0C,0x99,0xAA,0x14,0xDB,0xF0,0xEF,0x2D,0xD6,0xAF,0xBD,0x5D,0xE6,0xA6,0x7F,\r
+0x8C,0x77,0x0E,0x46,0xD4,0x53,0xB8,0x2F,0x9E,0x65,0x01,0xA0,0x75,0xE0,0x8E,0x51,\r
+0xEE,0x15,0xFB,0xD1,0x96,0xA2,0x0B,0x6D,0xEB,0x10,0x80,0x54,0x5C,0xC6,0xA7,0x5E,\r
+0xC9,0x32,0xBE,0xB3,0x16,0xAA,0x83,0xED,0x25,0xDE,0xA5,0xBF,0xF3,0x89,0x08,0xBE,\r
+0x9B,0x60,0x0F,0x50,0xB9,0xE5,0x63,0x42,0x90,0x6B,0x6C,0xC3,0xF9,0xFA,0x02,0xC7,\r
+0x53,0xA8,0x85,0x12,0x78,0x4D,0x0A,0x83,0x52,0xA9,0x57,0x3A,0xAB,0x4B,0x50,0x24,\r
+0xA5,0x5E,0x28,0x49,0xBA,0xB4,0x31,0x41,0x9A,0x61,0x15,0xB0,0x50,0xD4,0xAB,0x40,\r
+0x57,0xAC,0x95,0x06,0x56,0x2A,0x43,0xAD,0x00,0xFB,0xB4,0x8B,0x13,0x05,0xE8,0xD2,\r
+0x2C,0xD7,0x02,0xEA,0xC3,0x52,0xAE,0x38,0xB0,0x4B,0x48,0xC7,0xB4,0x48,0x4F,0x38,\r
+0xDA,0x21,0xAF,0xB1,0x93,0x92,0x3E,0x68,0x4B,0xB0,0x2C,0x58,0xD9,0xFE,0x22,0xE3,\r
+0x36,0xCD,0x31,0xC3,0x40,0x0B,0x74,0xBB,0x5B,0xA0,0x7C,0x18,0x19,0x76,0xE2,0xAB,\r
+0xD3,0x28,0x8D,0x9A,0x9B,0x90,0x34,0x60,0x1C,0xE7,0xFA,0xD9,0xE6,0xF9,0x1D,0xDB,\r
+0x64,0x9F,0x80,0x20,0x83,0xD2,0x6E,0x78,0xFB,0x00,0xD0,0x14,0x29,0x32,0xD2,0xDF,\r
+0x39,0xC2,0x72,0x8F,0x9D,0xF1,0x53,0x66,0xC7,0x3C,0xBA,0x42,0x84,0x0C,0x7F,0x4C,\r
+0xF6,0x0D,0xB9,0x8B,0x3F,0x8C,0x8C,0xC4,0xF6,0x0D,0xEF,0x26,0x27,0x51,0xDC,0xB2,\r
+0x69,0x92,0xB2,0x1F,0x5F,0x08,0x68,0xA4,0x88,0x73,0x36,0x81,0x81,0x3C,0x7A,0x79,\r
+0x09,0xF2,0x36,0xFB,0x87,0xC2,0x7A,0x7C,0x3A,0xC1,0xB9,0xBC,0xCA,0xEF,0x31,0xE1,\r
+0x6C,0x97,0x82,0x2A,0xC4,0x13,0xE8,0x3F,0x49,0xB2,0x5F,0x29,0xA8,0x1A,0x53,0x76,\r
+0x24,0xDF,0x00,0xE0,0x46,0x6A,0x13,0xBD,0x71,0x8A,0x21,0x6F,0x4F,0xD7,0xB4,0x5C,\r
+0x7E,0x85,0xB3,0x09,0xBF,0x84,0x04,0x44,0xF9,0x02,0xA3,0x65,0xEC,0x8A,0x17,0xA2,\r
+0xD4,0x2F,0xCC,0xDC,0xEE,0x64,0xB5,0x15,0x89,0x72,0x17,0xA1,0xDB,0x8F,0x20,0x90,\r
+0xBA,0x41,0x2B,0x55,0xD0,0x43,0xAC,0x2B,0x73,0x88,0x52,0x1E,0x59,0xF6,0xA2,0x6B,\r
+0xE2,0x19,0xE9,0xCF,0x26,0xEE,0xF7,0xDD,0x3B,0xC0,0x98,0x9C,0xC6,0xFD,0x3D,0xFF,\r
+0x1A,0xE1,0x27,0xF9,0xFE,0x24,0xE5,0x05,0xB6,0x4D,0x2F,0xA6,0xFD,0xEA,0x06,0xD3,\r
+0xFE,0x05,0xBB,0x81,0x8F,0xC0,0x70,0x74,0xB3,0x48,0x1A,0x96,0x30,0x50,0xCB,0xA4,\r
+0xA7,0x5C,0x59,0x3A,0x2B,0xDC,0xC8,0xD0,0xBD,0x46,0x77,0xF5,0xE9,0xBA,0x12,0x97,\r
+0x54,0xAF,0xC4,0x54,0x54,0x5B,0x30,0xAF,0x1B,0xE0,0xBC,0x98,0x40,0x94,0xBB,0x10,\r
+0xBF,0x44,0x1B,0x60,0xC5,0x33,0xC9,0x3E,0x4A,0xB1,0x0D,0x78,0x26,0x71,0xDD,0x93,\r
+0x7F,0x84,0x93,0x28,0x2C,0x9D,0x8E,0xD7,0x94,0x6F,0x78,0xD3,0x1B,0x07,0xE0,0xD8,\r
+0x18,0xE3,0x56,0x8A,0xCC,0x11,0xE2,0x37,0x3E,0xC5,0xAD,0xAC,0x63,0xC1,0x98,0x66,\r
+0x76,0x8D,0xB1,0x03,0x67,0x4E,0x16,0x9C,0xAD,0x56,0x27,0xB5,0xC3,0xCD,0x38,0xCA,\r
+0x82,0x79,0x6D,0x2B,0x4C,0x19,0x6A,0xB7,0x80,0x7B,0x3C,0x83,0x22,0x61,0xD9,0x87,\r
+0xFA,0x01,0xAB,0x95,0x2A,0xFC,0xE9,0xD1,0x34,0xCF,0xD4,0xDF,0x7A,0xA3,0x81,0x1D,\r
+0xB3,0x48,0x09,0x7E,0x7E,0x2C,0x6D,0x85,0x61,0x9A,0x71,0x2F,0xC2,0xED,0x39,0xEB,\r
+0x33,0xC8,0x01,0xF6,0xF8,0x45,0x82,0x03,0x7D,0x86,0x3F,0x7D,0xDC,0xCE,0x27,0xD6,\r
+0x2A,0xD1,0x63,0x8D,0x6E,0x6C,0x3D,0x95,0x62,0x99,0x23,0x7E,0x17,0x15,0xEC,0xC6,\r
+0xB5,0x4E,0x68,0x19,0x0B,0xD8,0xEC,0xF0,0x42,0xB9,0x07,0x7A,0x49,0xB6,0xB2,0x3B,\r
+0x70,0x8B,0xD0,0x64,0x95,0xF3,0x59,0x6E,0xD6,0x2D,0xCB,0x22,0x58,0xD6,0xA3,0x4A,\r
+0x2E,0xD5,0x73,0x99,0x9C,0xD1,0x72,0x67,0x6F,0x94,0x1C,0x4C,0x87,0x5D,0x7C,0x1E,\r
+0xD2,0x29,0xAD,0xBB,0xCF,0x40,0xB0,0x34,0x68,0x93,0x5A,0x0D,0xE3,0xC9,0x18,0xEE,\r
+0x71,0x8A,0xF0,0x45,0x4D,0x39,0x4B,0xB6,0x1E,0xE5,0x89,0xA8,0x25,0x20,0xDE,0xC1,\r
+0xCB,0x30,0xCF,0xC0,0xC1,0x23,0xDD,0x3A,0x72,0x89,0x73,0x3E,0x51,0xF4,0xAA,0x61,\r
+0x28,0xD3,0x12,0xFE,0x0E,0xE8,0xD9,0xF5,0xB5,0x4E,0x7D,0xF7,0xF2,0xA9,0x09,0x9F,\r
+0x47,0xBC,0xD5,0x56,0x59,0x69,0x0F,0xA2,0x51,0xAA,0x05,0x6B,0x45,0xA4,0xBE,0x25,\r
+0x1E,0xE5,0x37,0xED,0xA1,0xA7,0x39,0x5A,0x86,0x7D,0x5B,0xE2,0x43,0xC5,0xB8,0x42,\r
+0x90,0x6B,0x5C,0x08,0xEF,0x44,0x94,0x14,0xF7,0x0C,0xCE,0x06,0x5B,0x87,0xA0,0x18,\r
+0x6A,0x91,0xE3,0x4D,0x64,0x1F,0x44,0x9F,0xF4,0x0F,0x9C,0x57,0x5E,0xB7,0xA5,0x2D,\r
+0xC8,0x33,0x9E,0x92,0x07,0xCA,0xF2,0xFC,0x75,0x8E,0x35,0x7F,0x4C,0x86,0xB7,0x0E,\r
+0x0A,0xF1,0x67,0xA9,0xC9,0x21,0xD7,0x32,0xCE,0x35,0x91,0x60,0x5F,0x97,0xA4,0x0C,\r
+0x20,0xDB,0x10,0xF4,0xCA,0x70,0x85,0x31,0x0A,0xF1,0xCD,0xF8,0xCC,0x8E,0x37,0x86,\r
+0x0E,0xF5,0x77,0xBD,0x23,0xDE,0xC2,0xD8,0x5A,0xA1,0x5D,0x38,0xA6,0x79,0x5D,0x1B,\r
+0x01,0xFA,0x34,0xF1,0x66,0x6E,0x37,0x9D,0x63,0x98,0x02,0x5E,0xEB,0xCB,0x10,0xE4,\r
+0x52,0xA9,0xA5,0x33,0xEA,0x74,0xA1,0x11,0x45,0xBE,0x41,0x3B,0xFF,0x9B,0x04,0xA0,\r
+0x8F,0x74,0x5F,0x14,0xE7,0x46,0x9E,0x1C,0x69,0x92,0x7B,0x2D,0x96,0x3D,0x6D,0x6F,\r
+0x71,0x54,0xE6,0x7C,0x85,0x74,0x3F,0x32,0xCA,0x9D,0x90,0x94,0xDC,0x75,0x6A,0xD1,\r
+0xAC,0xAE,0xC1,0xA1,0xB7,0x4B,0x32,0x3F,0xDC,0xB1,0xBC,0xAE,0xB5,0xBA,0xCC,0xB8,\r
+0x2D,0x86,0x68,0x20,0x2F,0x17,0xF6,0xFB,0xC9,0x82,0x8F,0x88,0x85,0xCE,0x88,0x88,\r
+0x22,0xC5,0x24,0x2F,0x9F,0xE2,0xB3,0xBE,0xAF,0xBB,0xB6,0xD7,0xC8,0x31,0x3A,0xC5,\r
+0x29,0x96,0x7C,0x24,0xD0,0x02,0x1C,0x11,0x91,0x16,0x1B,0x44,0x7C,0xD9,0x66,0x71,\r
+0x03,0xE1,0x21,0x0E,0x81,0x50,0x1F,0x12,0x09,0xD2,0xDF,0x18,0xEF,0x53,0x7F,0xE2,\r
+0x49,0x12,0x98,0x44,0xEE,0x91,0xB1,0xBC,0xA6,0x2C,0x21,0x49,0x7D,0xF8,0x46,0x70,\r
+0xEB,0x6F,0x47,0xE6,0x3B,0x27,0xD2,0xDF,0x8E,0xAD,0xA0,0xE0,0x6F,0xDB,0x77,0x62,\r
+0x3D,0xC6,0x38,0x30,0x56,0xEC,0x74,0x79,0x13,0x5E,0x53,0x8E,0x60,0x97,0x34,0x6D,\r
+0xB3,0xAD,0xDD,0xBE,0xB5,0x41,0x3A,0x37,0xF7,0x2F,0x22,0x1B,0x78,0xCD,0x76,0x75,\r
+0x0B,0xE3,0x2B,0x06,0x19,0x0C,0xDB,0xD6,0x06,0x6D,0x60,0xA8,0xD1,0x4A,0x58,0xDC,\r
+0x64,0x24,0x83,0x69,0x98,0xDA,0x8C,0x81,0x9A,0x89,0x84,0xD0,0x66,0xF0,0x55,0x6B,\r
+0x52,0x01,0x90,0x5F,0xC8,0x9E,0x98,0x95,0x59,0xC6,0xCB,0x5C,0x06,0x14,0xD1,0x0B,\r
+0xE8,0x3E,0x15,0xE5,0xD2,0x08,0x14,0x19,0xCF,0xAA,0xA7,0xA6,0x72,0xB4,0x05,0x7F,\r
+0x0D,0x82,0x4C,0x00,0x20,0xA7,0x49,0x44,0xBD,0xB7,0xBA,0xC9,0xA4,0xCB,0xAC,0xA9,\r
+0xF1,0x5C,0x6E,0xFC,0xB1,0x65,0x1A,0x17,0xFC,0xB0,0xBD,0x8F,0xC0,0x3B,0x38,0xCD,\r
+0x96,0x99,0xCC,0x9B,0x29,0x39,0xDE,0xD3,0x8B,0x9A,0x97,0xD2,0x6A,0xEE,0x47,0x67,\r
+0x53,0x21,0xB1,0x5E,0x02,0x8C,0x40,0x4D,0xD3,0x0E,0x03,0x1E,0x7B,0x9F,0x27,0x76,\r
+0x10,0xF0,0x23,0x1D,0xB4,0x57,0x2D,0x20,0x8C,0xA5,0xA8,0xEA,0xFF,0x03,0x3F,0xF2,\r
+0x09,0x92,0x58,0x04,0x9D,0xE8,0xBB,0xB6,0x8F,0xBA,0xB7,0xF6,0x34,0x13,0xE4,0x39,\r
+0xD9,0x5A,0x40,0xD4,0x0D,0x3C,0xFF,0xF2,0x2E,0xEC,0xE1,0x01,0x59,0xC8,0x52,0x54,\r
+0x90,0xF8,0xAB,0x9D,0xDD,0xB8,0xAB,0xA6,0xDE,0xB9,0xB4,0xA4,0xE1,0x3E,0x1C,0xEC,\r
+0x55,0x40,0xD6,0x58,0xBF,0xC3,0xB2,0xBF,0x44,0x75,0x78,0xF2,0xE0,0x1F,0x3C,0xED,\r
+0xA1,0x9C,0xFE,0xAC,0xE8,0xBF,0x99,0x94,0x72,0x58,0x55,0xE9,0x01,0x52,0x90,0x0C,\r
+0x5C,0x62,0xFD,0x51,0x6C,0x5B,0xF9,0xF4,0x22,0x4C,0x41,0xAD,0x38,0x0D,0xF6,0x35,\r
+0x3B,0xA7,0x5F,0x36,0xE0,0x37,0x19,0x14,0x5D,0xE6,0xEB,0x78,0x40,0xB3,0x30,0x4D,\r
+0x77,0x35,0x81,0x7A,0xAA,0xE5,0x81,0x8C,0x69,0xC3,0xCE,0x69,0x63,0xC5,0x65,0x6E,\r
+0x9C,0xEA,0xB5,0x91,0xC2,0x1C,0x10,0x1D,0x89,0x92,0x9F,0xD8,0x05,0x46,0x80,0x08,\r
+0xDD,0x4A,0x54,0xD0,0x31,0xA5,0x5A,0x57,0x67,0x6B,0x66,0xCF,0x13,0x71,0xA1,0x1E,\r
+0x84,0xA8,0xEF,0x89,0x2D,0x1D,0xFE,0xF3,0x04,0x65,0x68,0xA2,0xCA,0x42,0x4B,0xC7,\r
+0xC1,0x18,0x1A,0xCC,0x1F,0x22,0xF3,0xFE,0x6D,0xE3,0xEE,0x4D,0xE5,0x2A,0x0C,0xE8,\r
+0x39,0xD6,0x2C,0x34,0xD5,0x30,0x2B,0x26,0x57,0x6E,0x63,0xFA,0xDE,0x06,0x1B,0xD3,\r
+0xF7,0x3D,0x09,0xFA,0x95,0x60,0x3B,0x36,0x50,0x51,0x5C,0xC2,0xF8,0x45,0x7E,0xF5,\r
+0x99,0xDA,0x80,0x94,0xB2,0x79,0x05,0x08,0xEF,0xAB,0xA6,0x87,0x7A,0xBE,0x07,0x77,\r
+0x07,0xF1,0x35,0x0A,0x9B,0xC6,0x93,0x9E,0x9E,0xA9,0xA4,0xF4,0x6C,0x89,0x26,0x61,\r
+0x5D,0x42,0xDC,0x50,0x75,0xD1,0x6A,0x67,0x94,0x21,0x2C,0x76,0xCF,0x77,0x7B,0xC2,\r
+0x2A,0xC7,0x2E,0x27,0x33,0xAF,0x52,0x5F,0x4D,0xE2,0xEF,0x6C,0xE9,0x34,0x1E,0xE4,\r
+0x4F,0x73,0xFF,0x42,0xE2,0x3D,0x11,0x1C,0xD8,0x91,0x9C,0x8A,0x8B,0xA3,0xEB,0x86,\r
+0xD5,0x48,0x5E,0xD8,0x7D,0x59,0xEA,0xE7,0xD7,0x2E,0x23,0x3A,0x04,0x67,0xA0,0x09,\r
+0x4A,0x43,0xCA,0x47,0xF9,0xBD,0x8A,0x87,0x70,0x50,0x5D,0xE3,0xA2,0xAC,0xCD,0xAF,\r
+0x47,0x71,0xF5,0x4A,0x23,0xBB,0x56,0x5B,0xE5,0x23,0x2E,0x05,0x0A,0x0A,0xC3,0x07,\r
+0x1A,0x83,0x5A,0x17,0x00,0x86,0x48,0x45,0xB3,0x1F,0x12,0x6F,0xA7,0x99,0xFD,0xAA,\r
+0x15,0xC0,0x16,0x18,0xFA,0xA1,0x95,0x98,0xE9,0x83,0x8E,0xA9,0x3A,0x7E,0x87,0x37,\r
+0xF0,0x7C,0x4F,0xFD,0x61,0xE1,0x4E,0x43,0x28,0xC4,0xC9,0x2F,0xC5,0x0E,0x08,0xC8,\r
+0x0F,0xF3,0x3F,0x02,0xA3,0x7B,0x16,0x1B,0x36,0x68,0x65,0x9D,0x97,0xED,0xB9,0x9A,\r
+0xF9,0x5E,0x64,0xF4,0x63,0xEB,0x46,0x4B,0xA9,0x93,0x9E,0xF9,0xFA,0x36,0x0F,0xF7,\r
+0x86,0xD9,0x9C,0x8B,0x45,0xE4,0x6F,0x62,0x41,0x42,0x4F,0xC0,0x73,0x95,0x25,0x7E,\r
+0x74,0x64,0xD3,0x79,0xDB,0x96,0x83,0x8E,0x7A,0xD8,0xD5,0x61,0x30,0x07,0xF4,0x3D,\r
+0xB8,0xFE,0x85,0xB5,0x14,0xB6,0x6C,0x61,0x32,0x48,0x45,0xB9,0xDA,0x12,0x0B,0xD7,\r
+0x70,0x74,0xC7,0x7D,0xBC,0xDF,0xAD,0xA0,0xCB,0x8A,0x87,0x82,0x88,0xF1,0xBA,0x85,\r
+0xCD,0x0A,0x04,0xC0,0x53,0xDE,0x43,0x4E,0xA5,0x33,0x3E,0x55,0x7F,0x8B,0x37,0x72,\r
+0xEA,0x4F,0x66,0xE7,0x5B,0x56,0xC3,0xCE,0x4E,0xFD,0xF0,0x70,0xD0,0x6B,0x78,0xDD,\r
+0xD4,0x68,0x7F,0xD9,0x2A,0x25,0xC1,0xCC,0x4C,0xF5,0xF8,0x7A,0x7E,0xAA,0x17,0x73,\r
+0xAF,0xFF,0x93,0xA2,0xA2,0x6D,0x01,0x0C,0x51,0x46,0x4B,0xD4,0x56,0x84,0x11,0x5B,\r
+0xBD,0xCE,0xB0,0xB0,0xBB,0xE7,0x92,0x9F,0xC1,0x02,0x0F,0x00,0x3E,0x6A,0x97,0x33,\r
+0x28,0xB6,0x5D,0x25,0x15,0xA0,0x7B,0x76,0x39,0xD7,0xDA,0x2D,0xEE,0x72,0x5F,0xE3,\r
+0x41,0x10,0x92,0x4C,0x60,0xF7,0x59,0x54,0x8D,0xB2,0xBF,0xFC,0x24,0x43,0xA4,0x29,\r
+0xFC,0x6E,0x51,0xF1,0x93,0x4E,0x13,0x1E,0x8A,0x8D,0x80,0xC4,0xC7,0x7D,0x79,0xCA,\r
+0x27,0xF5,0x11,0x2A,0xB0,0x73,0x0D,0x00,0x84,0x25,0x28,0x62,0x9B,0xF3,0xAB,0x96,\r
+0xC9,0x1A,0x10,0xC4,0xDF,0xB2,0xA3,0xAE,0xB8,0x80,0x8D,0xFB,0xA3,0x8D,0xED,0xAE,\r
+0x2B,0xE7,0x0F,0x26,0x0E,0x20,0xE0,0xED,0xBE,0xA8,0xA5,0xD5,0xCB,0x63,0x6B,0xC6,\r
+0x3C,0xE6,0x19,0x31,0x2B,0x33,0xD6,0xDB,0x2C,0xE4,0xE9,0x0B,0xB4,0x9B,0xEC,0xB9,\r
+0x69,0x16,0xBC,0x64,0x1D,0x28,0xFB,0xF6,0x03,0x5A,0x57,0x9A,0x31,0x26,0xD4,0x3C,\r
+0x8F,0xFB,0xB7,0x82,0xC4,0x32,0x38,0x35,0x49,0xC2,0xCF,0x48,0x18,0x29,0xF2,0x15,\r
+0x9D,0x41,0x8C,0xA6,0x46,0xB4,0x99,0xA2,0x34,0xBF,0x84,0xDB,0xB9,0xBC,0x55,0x82,\r
+0x65,0x8F,0xBA,0x5E,0x8C,0xA6,0x41,0x7A,0x0E,0x32,0x09,0x6C,0x82,0x90,0x42,0xB9,\r
+0x81,0x13,0xC2,0xBA,0x68,0x33,0x30,0x0B,0x3E,0x37,0x0C,0x59,0x4F,0xE7,0xF8,0x74,\r
+0xD8,0xF1,0x79,0xE3,0x74,0x8B,0x94,0xAF,0x5D,0x39,0x02,0x34,0x96,0xD4,0x12,0xAD,\r
+0x2B,0x6C,0x17,0x10,0xF3,0x73,0xEB,0xD0,0x30,0x9F,0xA4,0xFF,0x3F,0x53,0x3C,0x04,\r
+0xC0,0xB3,0x23,0xFB,0x9B,0x8A,0x7A,0x41,0xD0,0xCE,0xF5,0x4E,0x59,0xD0,0xD9,0x62,\r
+0x00,0x3B,0x6B,0x3B,0x35,0xCD,0x93,0xA8,0x7B,0x10,0x2B,0x3B,0x64,0x9B,0xAF,0x5F,\r
+0x67,0xFE,0xC9,0x5C,0xB9,0xA1,0x73,0x48,0x04,0xBA,0x81,0xEE,0x1C,0x25,0x69,0x27,\r
+0x09,0x19,0x40,0x32,0xE6,0x55,0xD8,0xE3,0x1D,0x29,0x12,0x64,0xBC,0x89,0x65,0x87,\r
+0xFD,0xC5,0x68,0xC6,0xB1,0x29,0xF3,0xC8,0x2B,0x04,0x3F,0x7F,0x5D,0xC4,0xC9,0x66,\r
+0x85,0x03,0xD6,0xBE,0x54,0xAA,0x95,0xAE,0x77,0xB0,0x8B,0x97,0x05,0x5E,0x0B,0x3E,\r
+0xCC,0xA1,0x3D,0xF7,0x84,0x2E,0xC1,0xFA,0x87,0xE5,0xDE,0x32,0xBD,0xA8,0x45,0x86,\r
+0x4C,0xA9,0xB5,0x77,0xED,0xC1,0x47,0x7C,0xD5,0xF9,0xC2,0x7C,0xA3,0x95,0x66,0x98,\r
+0x55,0xCB,0xCE,0x6E,0xC4,0x7E,0xD1,0xEA,0xD6,0xE6,0xDD,0x60,0x68,0x85,0xBD,0x53,\r
+0xCA,0xC0,0x5A,0xF1,0x70,0xAF,0xB4,0x8F,0xD2,0xC6,0xFD,0x44,0x36,0x78,0x1E,0x0D,\r
+0x0F,0x78,0x27,0x34,0x5B,0x1A,0x2A,0x11,0x8A,0x52,0x69,0x88,0x27,0x09,0x7E,0x1C,\r
+0x51,0xDB,0xDA,0x6A,0x79,0x31,0x23,0x18,0xE4,0xEB,0xD0,0x5F,0xF8,0x5D,0xF5,0xC3,\r
+0xAD,0x05,0xF8,0x96,0xE8,0xF3,0x70,0x4B,0xA5,0xEC,0xD7,0x19,0x9C,0xAD,0x61,0xA7,\r
+0x0E,0x58,0x06,0x35,0x91,0x08,0xF2,0xC9,0x00,0x9A,0xA1,0xCA,0x5A,0x82,0x88,0x61,\r
+0xB4,0x67,0x83,0x8F,0x8B,0x9E,0x7E,0x45,0x96,0xF6,0xCD,0x30,0x2E,0x22,0x5C,0x15,\r
+0x57,0xBA,0xBD,0x6C,0x40,0x9A,0xB1,0x8A,0x5F,0x31,0x0A,0x3E,0x8D,0xDC,0x01,0xB6,\r
+0x38,0x7D,0x15,0x03,0xC1,0x4C,0xE6,0xDD,0xC3,0xD5,0xEE,0x46,0x3A,0x66,0x0C,0x01,\r
+0x61,0x9F,0xAE,0x5A,0x0F,0x7A,0x1E,0x25,0x4A,0x02,0x39,0x18,0x3C,0x01,0x6D,0x07,\r
+0xEF,0xF4,0x4B,0xD4,0xEC,0xD7,0x50,0x6B,0xAE,0x73,0x48,0x8D,0x24,0x5B,0x2F,0x1F,\r
+0x15,0x4B,0x0E,0x2E,0xB7,0x07,0xDB,0xE0,0xFF,0x70,0x4B,0xDF,0x21,0x6E,0x1F,0x1A,\r
+0xB7,0x36,0xD1,0x8C,0x62,0xB1,0xB8,0x83,0xD7,0xF1,0xCA,0x76,0x33,0x4D,0x2E,0x08,\r
+0x75,0xCF,0xEA,0x4E,0x89,0x94,0x76,0x4D,0xC8,0x4A,0x71,0xD2,0x20,0x4F,0x3F,0x1B,\r
+0x5F,0xB8,0xB7,0x64,0xD8,0xC6,0x75,0x4E,0x50,0x8E,0xB5,0x8E,0xB3,0xC5,0x26,0x88,\r
+0x71,0xDF,0xFE,0x4A,0x76,0x81,0x9C,0xA7,0x90,0xDE,0xE5,0x1E,0xD9,0x58,0xD1,0xE2,\r
+0x7E,0x9C,0xB2,0x45,0xC6,0x74,0xD9,0xE2,0xF6,0xE7,0xDC,0x41,0x94,0xA7,0x63,0xAF,\r
+0x2D,0x0D,0x70,0x16,0xDC,0xE2,0x55,0x6E,0x93,0xC1,0xFA,0x02,0x80,0xE3,0x33,0xBB,\r
+0xF0,0xF7,0x57,0xCB,0xEE,0xDD,0x58,0x63,0x85,0xED,0xD6,0x38,0xE9,0x2C,0x95,0xD2,\r
+0x35,0x4F,0x2A,0x0E,0x44,0xBE,0x91,0xAA,0x5A,0x06,0x3D,0x0C,0x6D,0xB0,0x8D,0x56,\r
+0xD3,0xA2,0x21,0xE8,0x9D,0xA4,0x52,0x69,0x10,0x9E,0xA5,0xDE,0x44,0xBF,0xAB,0x7F,\r
+0x77,0xBE,0x99,0x4C,0x57,0xB6,0x8A,0xB1,0xE7,0xF4,0xCF,0x43,0x97,0xF5,0x32,0xAC,\r
+0x60,0xBF,0x8F,0x5B,0x72,0xA5,0xBC,0x87,0x75,0xB8,0x83,0x9D,0xE8,0x0D,0xB5,0xD3,\r
+0x7B,0xAC,0x87,0x40,0xE9,0xE5,0x67,0x5C,0xDD,0x79,0x42,0xF4,0xC7,0x65,0xF2,0xFC,\r
+0x95,0x43,0x86,0xAE,0x86,0x24,0xC9,0xF2,0xE1,0xDC,0xE7,0x6D,0xFF,0x1B,0xB4,0xC4,\r
+0x1D,0x49,0x04,0x26,0x39,0x61,0x33,0x08,0xD4,0xEE,0xD5,0x6A,0x78,0xD5,0xFD,0x43,\r
+0xA0,0x37,0xC7,0x9B,0xCA,0xD8,0x79,0x42,0xD3,0xD1,0xEA,0x52,0x9B,0xEB,0x20,0xA0,\r
+0xE1,0x97,0x26,0xDA,0xE2,0x71,0xF8,0xC3,0x98,0x5E,0x65,0x96,0x62,0xFC,0xCE,0x59,\r
+0x74,0xEF,0xCB,0x4F,0x4C,0x36,0x11,0x2A,0x60,0x8B,0xB0,0xBB,0xB2,0xE4,0x06,0x89,\r
+0x88,0x31,0xE9,0xB3,0x73,0xB3,0xAB,0x90,0x15,0xA9,0x92,0xEC,0x22,0x3C,0x4E,0x19,\r
+0xF3,0xA6,0x05,0xC8,0xFB,0xFB,0x6B,0x50,0x08,0x1A,0x21,0x42,0x0A,0x12,0x48,0x31,\r
+0x91,0x53,0x92,0xAA,0x0A,0x48,0x29,0x12,0xFC,0x6F,0x54,0xC3,0x23,0x1D,0x6E,0x18,\r
+0xB6,0x16,0xF0,0x8D,0x02,0xC0,0xA9,0x92,0x17,0xA1,0x9A,0xE6,0x8C,0xFD,0x21,0xB7,\r
+0xE4,0xA7,0x13,0xDF,0x4D,0x20,0x06,0x3D,0x6B,0x14,0x2F,0x2F,0x86,0x84,0x52,0xBD,\r
+0x2C,0x2D,0x51,0x17,0xE5,0x49,0xC7,0xFC,0x92,0xD6,0xED,0x14,0xD4,0x67,0xE3,0xEF,\r
+0xDA,0x80,0x0A,0xE1,0x1C,0x72,0x05,0x3E,0x18,0x1E,0x25,0x56,0x2F,0x03,0x7C,0x14,\r
+0x28,0x3D,0x45,0x13,0x82,0x00,0xE9,0xD2,0x23,0x84,0xBF,0xF7,0x6C,0x91,0xAD,0x57,\r
+0x53,0xAA,0xA9,0x68,0xFA,0xED,0x7C,0x47,0x6F,0x34,0x0F,0x0B,0xCB,0x7B,0xE0,0xF0,\r
+0xA5,0x07,0xF2,0x9E,0x3A,0x7D,0x2C,0x17,0xF0,0xCF,0xF4,0x6F,0xA6,0xA0,0x56,0x9D,\r
+0x49,0x99,0x80,0x72,0xA3,0x37,0xFF,0xC4,0xB0,0xDF,0xE4,0x3F,0x66,0xE8,0xDE,0x5D,\r
+0xAC,0x25,0xD9,0x97,0x38,0x77,0x24,0x1F,0x71,0x98,0xA3,0xB9,0x99,0x98,0x51,0xA2,\r
+0x1B,0x28,0x63,0x20,0x7A,0x2D,0x3C,0x07,0xBC,0x7F,0x44,0x93,0x56,0x9C,0x9A,0x6D,\r
+0x46,0xDA,0xCC,0x7D,0x59,0x10,0x22,0x19,0xEA,0x43,0x78,0xF9,0xFB,0x0F,0xA4,0xC0,\r
+0x89,0x11,0xC8,0xB2,0x24,0xCF,0x80,0xBB,0x8E,0x72,0x49,0xAC,0x58,0xF1,0xF9,0x63,\r
+0x16,0x1A,0x5C,0x2D,0xA0,0x2B,0xE0,0xDB,0x29,0x0C,0x37,0x75,0xFE,0x3A,0x94,0xC5,\r
+0x76,0x9E,0xB8,0x4D,0x6A,0x39,0x38,0x03,0x14,0xBE,0x85,0xFA,0xB5,0xA2,0x47,0x8E,\r
+0x13,0x2A,0x69,0x28,0xBB,0xAB,0x7B,0x40,0x81,0xCD,0xF6,0x1C,0xD7,0x35,0xB2,0xEC,\r
+0x5B,0xA8,0xA3,0x60,0xC2,0x50,0xF9,0xC2,0xC7,0xF5,0xCE,0x62,0x30,0x1F,0x7F,0x0B,\r
+0x01,0x1B,0x4A,0x3A,0x2C,0x47,0x00,0x3B,0xCD,0x7D,0x46,0xE0,0x93,0xE1,0x22,0xA8,\r
+0xAB,0x64,0x9F,0x90,0xCC,0xF6,0x51,0x6A,0x09,0x0D,0x36,0x54,0xA4,0xD3,0x27,0x9F,\r
+0xC5,0x83,0x16,0xFE,0xEB,0xEF,0x6F,0x54,0xB6,0xF7,0xCC,0x11,0x26,0x28,0x5E,0x1D,\r
+0x12,0x74,0xB8,0xC7,0x44,0x9C,0xE3,0x06,0x49,0x31,0xD9,0xA6,0x07,0x8B,0x52,0xF4,\r
+0x1A,0xFC,0x38,0x47,0x26,0xBB,0xC4,0x43,0xA9,0x7E,0x76,0x09,0xEC,0x45,0x77,0x3A,\r
+0xF5,0xFD,0xD6,0xA9,0xE5,0x06,0x79,0x3D,0xD3,0xF3,0x81,0xFE,0x82,0xFC,0xA0,0x83,\r
+0x5D,0x94,0x17,0x68,0xA7,0xCE,0xB1,0xB7,0x30,0x42,0xD3,0xAC,0x7B,0x3E,0x9B,0x41,\r
+0x5C,0x82,0x00,0x7F,0x7F,0x5E,0x21,0xFF,0x50,0x16,0xE7,0x98,0x70,0xA1,0x0F,0xDE,\r
+0xF2,0xC5,0xE9,0x96,0x92,0xCB,0xB4,0x87,0x48,0xDE,0x37,0x48,0x88,0x74,0x22,0x0B,\r
+0xEB,0x4F,0x7A,0x05,0xB1,0xD9,0xA6,0xB6,0xA6,0x58,0x5F,0x20,0x18,0x30,0xF6,0x4F,\r
+0x63,0x07,0xBA,0xC5,0x5D,0xA2,0xDD,0x21,0x88,0x5E,0x77,0x08,0x05,0x83,0x58,0xFC,\r
+0x96,0x90,0xD8,0xA7,0x32,0xBF,0xC0,0x53,0xAF,0xA4,0xAA,0xD5,0xF1,0xF6,0xD9,0x89,\r
+0xF9,0x51,0x76,0x09,0x33,0x51,0x2E,0xBC,0xD1,0xE2,0x92,0xED,0xCD,0x53,0x40,0x2C,\r
+0xDA,0x6C,0x68,0x17,0x73,0x8A,0xF5,0x27,0x5F,0x30,0xCE,0xB1,0xC3,0xFB,0xE6,0x84,\r
+0x29,0xD5,0x22,0x5D,0xB0,0x37,0x48,0x59,0x61,0xED,0x2D,0x52,0xC4,0xC4,0xDE,0xBB,\r
+0x8D,0x10,0x43,0x3C,0x95,0xF9,0x86,0xB2,0x0B,0xBB,0x11,0x6E,0x00,0xB4,0x6A,0xCB,\r
+0x54,0x0A,0x80,0xFF,0x9E,0x1F,0x60,0x5F,0x04,0x9D,0x38,0x47,0x4A,0x2C,0xB8,0x53,\r
+0x62,0x11,0xAD,0xD2,0x3B,0x4A,0x35,0xAF,0xB9,0xA5,0xBD,0xC2,0x65,0x92,0x29,0xED,\r
+0x47,0x02,0x9B,0xE4,0x2D,0x5D,0x22,0xAE,0x41,0x22,0xC2,0xBD,0xF7,0xDE,0xF7,0xA1,\r
+0x3C,0xF3,0x11,0x6E,0xFE,0x2B,0x54,0x0B,0x55,0x32,0xC6,0xB9,0xDD,0x57,0x54,0x28,\r
+0xD2,0xE4,0xE8,0x97,0x17,0x71,0x0E,0xB8,0xAB,0x6F,0x65,0x1A,0xD7,0xDF,0xD6,0xA0,\r
+0xFB,0x5B,0x7E,0x01,0xA2,0xEF,0x90,0x93,0x9C,0x4E,0x73,0x0C,0xA6,0xDD,0xA5,0xA2,\r
+0xDC,0x42,0x40,0x3F,0x2B,0x81,0xFE,0x74,0x67,0x37,0xF1,0x8E,0x19,0x27,0xE0,0x58,\r
+0xB0,0x9F,0xF1,0x8E,0xE8,0x3C,0x43,0x0A,0x8E,0x84,0xAB,0xD4,0x39,0x26,0xC1,0x59,\r
+0x34,0x7B,0x91,0xEE,0x7C,0xA3,0xDC,0x01,0x45,0xE9,0x0D,0x72,0x9E,0x58,0x18,0x27,\r
+0xAB,0x1F,0x6A,0x15,0xDD,0x39,0x46,0x3A,0x81,0xA2,0x82,0xFD,0x91,0xE7,0xA8,0x98,\r
+0x7A,0x8D,0x29,0x56,0x0C,0x5C,0x23,0x8E,0x16,0x57,0xE0,0x9F,0x04,0x94,0x4E,0xEB,\r
+0x28,0xC3,0x35,0x4A,0x6D,0x86,0xF9,0x35,0x2C,0x41,0xCC,0xB3,0x61,0xB2,0x0D,0xCD,\r
+0xB3,0x83,0xEE,0x91,0x34,0x63,0x1C,0x89,0x5C,0xCE,0x33,0x4C,0xA0,0xF5,0x8B,0x8A,\r
+0x49,0xA4,0x33,0x4C,0x78,0x6C,0x13,0xCA,0xBB,0xB4,0xAE,0xD1,0xFA,0x69,0x4D,0x16,\r
+0x6A,0x99,0x2D,0x52,0xD7,0x31,0x4E,0x38,0x28,0x8A,0x03,0x7C,0xAC,0x55,0x27,0x2A,\r
+0x92,0xB4,0xF8,0x87,0xF1,0x02,0x7D,0x2D,0x25,0xBD,0x39,0x46,0x33,0xAE,0x43,0xD1,\r
+0x0C,0xC6,0x14,0x6B,0xBE,0xF0,0x8F,0x90,0xB7,0x6C,0x7A,0x05,0x08,0x34,0xE2,0x4B,\r
+0x2A,0xC9,0x3D,0x42,0x46,0x8F,0xF0,0x17,0x14,0x46,0xF3,0x8C,0xE0,0xE5,0xDB,0x9A,\r
+0xEA,0x59,0x6D,0x12,0x1D,0x79,0x06,0xBA,0xCF,0xF0,0x9E,0xE1,0x7F,0x1E,0xBF,0x61,\r
+0xD4,0xCA,0xC0,0xBF,0x7A,0x7F,0x00,0xDB,0x31,0xAD,0x3D,0x42,0xC6,0xCC,0xD4,0xB3,\r
+0xFD,0x75,0x56,0x29,0x01,0x66,0x19,0xB9,0x21,0x76,0xF6,0x89,0xC5,0xD3,0xC8,0xAC,\r
+0x4B,0xAE,0x3B,0x44,0x93,0x25,0x5A,0x68,0xBD,0x6E,0x72,0x0D,0x9A,0x78,0x3C,0x07,\r
+0x60,0x1B,0xA5,0xDA,0xEE,0xE0,0x9F,0xD0,0xCC,0x0E,0x63,0x1C,0xC2,0xEC,0xF0,0x93,\r
+0xA1,0x9D,0xE2,0x9D,0xDC,0xD7,0xA8,0xD5,0x70,0xD9,0x08,0x77,0x3B,0x2E,0xCB,0x51,\r
+0xF6,0xE1,0xC9,0xB6,0xF4,0x23,0x5C,0x09,0x3D,0x75,0xE9,0x96,0x0D,0x03,0xD0,0x7C,\r
+0x94,0x9A,0xD0,0xAF,0x89,0xE6,0x99,0xB1,0x1C,0x55,0xE8,0x97,0x97,0xCF,0x86,0xB0,\r
+0x44,0x1E,0x84,0xFB,0x62,0xAF,0xD0,0x13,0xEA,0x1B,0x50,0x2F,0x67,0x9A,0x23,0xE5,\r
+0x8B,0x3E,0x6B,0x14,0x97,0xEA,0x95,0xA3,0x64,0xC9,0x0C,0x73,0xC0,0xE4,0xFA,0x9B,\r
+0xE3,0xC7,0xFA,0x85,0xA3,0x01,0x7E,0x7C,0xE7,0x2C,0x6A,0x15,0x20,0xB5,0x4B,0xCA,\r
+0xA9,0x15,0x62,0x1D,0x7D,0x4D,0x32,0xEE,0x91,0x79,0x49,0x36,0x14,0x90,0x5A,0xEF,\r
+0x25,0x79,0x82,0xFD,0xDF,0x2A,0x55,0x2B,0x2F,0xBF,0x31,0x4E,0x6B,0x3A,0x8F,0x45,\r
+0x9C,0x12,0x50,0x2F,0x0E,0x4F,0x30,0x9F,0x24,0x52,0xD7,0xA8,0x1E,0x18,0xD8,0x67,\r
+0x56,0x00,0x88,0xF7,0x38,0xB7,0xC8,0x51,0x08,0x45,0xEC,0x93,0x24,0x95,0x6F,0xEA,\r
+0x64,0x3F,0x85,0xFA,0xCD,0xF2,0x8D,0xE1,0x60,0x02,0xC3,0xBC,0x4D,0x13,0x80,0x6C,\r
+0x78,0x87,0x21,0x5E,0x76,0xAB,0xD4,0x03,0x53,0xE8,0x1A,0x65,0x2E,0x1D,0xED,0x62,\r
+0xD6,0xC0,0xC8,0xB7,0x06,0x54,0x2B,0x8C,0x13,0x73,0xC1,0xBE,0xE6,0xCD,0xF5,0xB2,\r
+0x66,0x35,0x8D,0xF2,0x4A,0x5B,0x24,0xCF,0xEC,0xC1,0x8C,0xF3,0x80,0xF4,0xAA,0x8B,\r
+0xFE,0x69,0x49,0x36,0xE3,0xDA,0xA5,0xE7,0x98,0x85,0xBC,0xC3,0x95,0xC7,0x8C,0xB8,\r
+0xCC,0x56,0x44,0x3B,0xC4,0x07,0x78,0x1D,0x57,0x23,0xD5,0xAA,0x83,0xEB,0xB6,0x94,\r
+0x72,0x05,0xA9,0xD6,0x65,0x9D,0xE2,0x26,0xF9,0x3E,0x66,0x19,0xC7,0xDB,0xC2,0xA4,\r
+0xA7,0xB3,0xCA,0xB5,0xBA,0x3F,0x40,0x5B,0xDA,0x0F,0x74,0x0B,0xEF,0x5A,0x6B,0x25,\r
+0xC8,0x72,0x64,0x1B,0x03,0x75,0x0A,0xA8,0x71,0x36,0xE6,0x99,0x40,0xA4,0x3A,0xDB,\r
+0x99,0x20,0x67,0x18,0x5E,0x5F,0x20,0xDF,0xFB,0x2F,0x75,0x0A,0xD8,0x60,0x66,0x1F,\r
+0xD1,0xF8,0xF7,0x88,0xA1,0x12,0x6D,0x6D,0xD2,0x1C,0x6F,0x10,0xD3,0xFF,0xF2,0x80,\r
+0x50,0x2E,0xA0,0xDF,0x09,0x7D,0x02,0xAA,0x68,0x11,0xD8,0xA7,0x4F,0x1B,0x8A,0x64,\r
+0xFC,0x63,0x41,0x3E,0xFF,0xC5,0xBA,0xE4,0xEF,0x3F,0x71,0x0E,0xBE,0x59,0x39,0x26,\r
+0x1F,0xCE,0x0F,0x70,0x1A,0x4B,0x34,0x8F,0xB5,0x7D,0x69,0x16,0x5A,0x28,0xAC,0x57,\r
+0xF8,0x47,0x61,0x1E,0x4C,0x87,0xF8,0x15,0x19,0x71,0xC9,0xB6,0xB5,0xC6,0xAD,0xB9,\r
+0x69,0x85,0x32,0x4D,0x6E,0x7B,0x04,0xCB,0xE9,0xE5,0xAD,0xD2,0xF4,0xC1,0xEB,0xBE,\r
+0x9B,0x2A,0x6F,0x10,0x37,0x9E,0xE1,0x77,0x96,0x4C,0x7B,0x04,0x86,0xDC,0x84,0xA3,\r
+0x81,0xBC,0xE3,0x9C,0xB2,0x24,0x5B,0x48,0x36,0x98,0x0F,0x70,0x10,0xB0,0x7E,0xCF,\r
+0xF0,0xEA,0x7D,0x1E,0xC1,0x56,0x49,0x8C,0xDF,0xB1,0x6A,0x48,0x78,0xFD,0x6A,0x16,\r
+0x1B,0xA3,0x34,0xBC,0x95,0x02,0x99,0x08,0x8A,0x14,0x9A,0x1D,0x8E,0x45,0xD2,0x58,\r
+0x66,0x66,0xF1,0x04,0x8C,0x1B,0xFB,0x73,0x46,0x42,0x00,0xD1,0xAF,0x44,0xD3,0x78,\r
+0x4E,0x92,0x05,0xD8,0xA7,0x30,0xAC,0x0F,0x6B,0x59,0x36,0xFC,0xE2,0xA5,0x32,0xD4,\r
+0x7C,0xA5,0x32,0xDD,0xE0,0x77,0x6D,0x89,0xA9,0x62,0xCF,0x3E,0x5E,0xCE,0x59,0x03,\r
+0x01,0x60,0xF7,0x65,0x7E,0xE9,0x46,0x3C,0x3D,0xAE,0x97,0xAA,0x2F,0xDF,0x48,0x63,\r
+0x93,0x23,0xB4,0xB4,0x13,0x84,0xF0,0xE7,0x96,0x5A,0xC8,0x01,0xB3,0x5B,0xCC,0x7B,\r
+0xE8,0x3A,0xAD,0xD6,0x85,0x12,0xD9,0x58,0x89,0x46,0xCB,0x1E,0xA3,0x90,0x07,0xA0,\r
+0xE4,0xEE,0x79,0x0E,0x64,0xF3,0x75,0x15,0x58,0x7F,0x23,0xCF,0xC1,0xB7,0x20,0xE5,\r
+0x5F,0xB7,0x20,0xEC,0xC0,0x57,0x69,0xAD,0x56,0x12,0x40,0xC1,0xF2,0x6E,0xF9,0x0F,\r
+0xAA,0xF2,0x65,0x5C,0xCD,0x5A,0x5B,0x92,0xD0,0xFD,0x29,0x47,0x9A,0x41,0xD6,0x48,\r
+0x9C,0x0A,0x9D,0x92,0x15,0x82,0x91,0x80,0x5D,0x4A,0x13,0xCA,0xB6,0x7A,0xED,0x5F,\r
+0x4D,0x6F,0xF8,0x26,0xC7,0x50,0x28,0xEB,0x7F,0x1D,0x66,0xE8,0xBD,0x9C,0x0B,0xB2,\r
+0xEF,0x08,0x9F,0xE3,0x27,0xB0,0xA4,0x87,0xD5,0xC8,0x19,0x42,0x03,0xE4,0x73,0x74,\r
+0x31,0x44,0xD3,0x71,0xBF,0x28,0xEE,0x55,0xF0,0xD9,0x2D,0x67,0x75,0xC7,0x50,0x21,\r
+0x05,0xAF,0x38,0xAE,0x2E,0xB9,0x86,0xAC,0xA1,0x68,0xCD,0x36,0xF6,0xA1,0x36,0xC4,\r
+0xCC,0x1A,0x8D,0xD2,0x22,0xB5,0x94,0xB2,0x25,0xF4,0xD5,0xB2,0x69,0xD8,0x4F,0x22,\r
+0x91,0x30,0xA7,0xA5,0x21,0xB6,0xC5,0xE0,0xE1,0xA8,0x4D,0x76,0xE3,0x4B,0xDC,0x3B,\r
+0x28,0x7A,0xED,0x56,0x8F,0x18,0xAA,0x21,0x1F,0xF9,0xE2,0x88,0x48,0xD9,0x4E,0x02,\r
+0xF7,0xD8,0x4F,0x2B,0xEC,0x7B,0x7F,0x97,0x9E,0x50,0xCA,0x09,0x6B,0xCB,0x5C,0x33,\r
+0x56,0x42,0xD5,0x10,0x01,0x96,0xC1,0xC4,0xAE,0x24,0x8E,0x39,0xC5,0x78,0xEF,0x2E,\r
+0x71,0x9F,0x08,0xEA,0x0C,0x9B,0xF3,0xFB,0x82,0x1E,0x98,0x15,0x0A,0x11,0x86,0x88,\r
+0xD8,0x1E,0x89,0xC2,0xC8,0x5F,0x6B,0xA7,0xB1,0x38,0x8D,0x26,0x7E,0x21,0xB6,0xCC,\r
+0x94,0x11,0x86,0x81,0x8D,0x1A,0xDB,0x52,0x88,0x67,0xEB,0x1F,0x81,0x6C,0xFB,0x7E,\r
+0x20,0x61,0xF6,0x45,0xA6,0x31,0x8C,0x2E,0xF5,0xEC,0x1D,0x62,0xA4,0xA2,0x35,0x95,\r
+0xA5,0xDB,0x4C,0x7A,0x2A,0xBD,0x96,0xB8,0x99,0x16,0x8B,0x0E,0x04,0xD6,0x41,0x41,\r
+0xFC,0x3E,0xA9,0xC6,0x77,0xE0,0x64,0x17,0x84,0x79,0xF9,0x13,0x7B,0x00,0x97,0xE8,\r
+0xDE,0xC2,0x55,0x18,0x24,0xB3,0xF5,0xD5,0x83,0x3F,0xB8,0x14,0x8B,0x64,0xF3,0x7C,\r
+0x88,0x0E,0x99,0x82,0x4A,0xDD,0x12,0x5C,0x6D,0x3E,0x57,0xFA,0x27,0xC4,0x53,0x70,\r
+0x6D,0x80,0x17,0xE9,0x04,0x93,0xF1,0xF1,0x1C,0xAB,0xB3,0x8B,0x7D,0xDC,0x4B,0x32,\r
+0x9B,0x38,0xAF,0xA7,0xE5,0x72,0x5D,0xBC,0x5E,0x18,0x42,0xC9,0xFA,0x75,0xE2,0x1C,\r
+0x33,0x57,0xC0,0x60,0xB2,0x25,0xDC,0x6A,0xBA,0x60,0xDE,0x2D,0x40,0xC2,0x55,0x11,\r
+0xCF,0xE7,0x70,0x2C,0xFF,0x68,0x6E,0x95,0xC6,0xCA,0x08,0x51,0x1A,0xDA,0x4D,0x53,\r
+0x23,0x9C,0x0B,0xBB,0x3F,0xA8,0xE6,0xDD,0x75,0x64,0x15,0xE2,0x34,0xF2,0x65,0x55,\r
+0x00,0x8E,0x19,0x8A,0xAC,0x3B,0xFF,0x57,0x31,0xB0,0x85,0xA6,0xDA,0x9A,0x0D,0xD3,\r
+0xED,0x1B,0x8C,0xF2,0x45,0xD2,0x51,0x10,0xE4,0x9D,0x7D,0x73,0xC2,0x4A,0xDD,0x1B,\r
+0x35,0x8B,0x1C,0xBA,0x52,0xC5,0x50,0x06,0x7B,0x09,0x76,0xEC,0xA2,0x7E,0xE9,0x4F,\r
+0x77,0x43,0xD4,0x30,0x93,0x04,0xF8,0x6F,0xB9,0x32,0x8F,0x2E,0x41,0x2C,0xBB,0xFE,\r
+0xB4,0xFE,0x69,0x4E,0x7D,0xEA,0x17,0x6E,0x00,0xE5,0xE1,0x97,0x3B,0xDB,0x4C,0x73,\r
+0xD6,0xD9,0x4E,0x0B,0xFD,0x6A,0x1F,0xE6,0xCE,0xC0,0x0A,0x59,0xDB,0x74,0xE3,0x3C,\r
+0xBF,0x18,0x8F,0xA3,0xDE,0x49,0x4A,0x90,0x9B,0x65,0xFA,0x0C,0xD3,0x6F,0xF8,0x2F,\r
+0xA9,0x0F,0x98,0xA2,0xE8,0x7F,0x6F,0x83,0xD7,0xBB,0x68,0x40,0x2B,0x10,0x87,0xA8,\r
+0x0C,0x5A,0xCD,0x52,0xC5,0x52,0x59,0x98,0x69,0x2A,0x47,0xFE,0x96,0x95,0x02,0x90,\r
+0x07,0xBC,0x2B,0xBF,0x06,0x91,0x80,0x82,0xF1,0xF8,0x0D,0x66,0x99,0xBC,0x2B,0xB6,\r
+0x22,0x72,0xE5,0x54,0x67,0xF0,0x24,0x47,0x81,0x4C,0xC9,0x16,0xF3,0x80,0x17,0xE0,\r
+0xE1,0xCF,0x58,0x2A,0x2D,0xBA,0xD7,0xFE,0xBE,0x74,0xCE,0x29,0xCD,0x63,0xF4,0x3D,\r
+0xA1,0x14,0x83,0xB1,0x33,0xA4,0xF4,0xC3,0x16,0xD2,0xC0,0x81,0x43,0x3F,0xA8,0xEF,\r
+0xA0,0xFA,0x6D,0x5E,0x9D,0x0A,0x9B,0x02,0xB3,0x4B,0xFC,0x24,0x3D,0x07,0x90,0xA9,\r
+0x9E,0x19,0x8E,0x83,0x6C,0xFB,0x77,0x1F,0xD1,0xDC,0x09,0x46,0x84,0x4D,0xDA,0x5A,\r
+0x4F,0x7C,0xEB,0x37,0x2F,0xB8,0xA6,0x8D,0xA2,0x3A,0x9C,0x35,0x13,0x2F,0xB8,0xAF,\r
+0xEE,0xE6,0x71,0x0C,0xD4,0x43,0x39,0xE9,0x1D,0x8A,0x93,0x8A,0xD7,0xA0,0x37,0xE4,\r
+0x7A,0x79,0xEE,0x07,0xB4,0x23,0xBD,0x0D,0x63,0x53,0x34,0xF4,0x1C,0x06,0x91,0x89,\r
+0xB9,0xC4,0x53,0x79,0x05,0x92,0xD1,0xD0,0x62,0x72,0x14,0xF5,0xF5,0x5C,0xCB,0x3A,\r
+0x30,0xAA,0x3D,0x9E,0x3B,0xAC,0xF6,0xC9,0x98,0x37,0xAB,0x0F,0x0E,0xDE,0x49,0x43,\r
+0x85,0x34,0xA3,0xB5,0xAD,0x3A,0xDF,0x76,0x9A,0x44,0xDA,0x0D,0x39,0xC8,0x5F,0x62,\r
+0x6C,0x6E,0xF9,0x06,0x54,0xC3,0x31,0x61,0x12,0xC6,0xD0,0x85,0xC7,0x6B,0xFC,0x3F,\r
+0x8F,0x3C,0xAB,0xB7,0x28,0xBF,0xE7,0xCB,0x5B,0x2D,0x72,0xCC,0x5D,0x33,0xA4,0xFD,\r
+0xD4,0xCA,0x5D,0x1A,0x78,0xEF,0x27,0x5B,0xA0,0x49,0xED,0x37,0x86,0x5E,0xC9,0x4B,\r
+0x2C,0xB5,0x22,0x9D,0x51,0xC6,0x01,0x54,0x71,0x70,0x05,0xE6,0x25,0xD7,0x40,0x61,\r
+0x63,0x47,0xD0,0x20,0xBD,0x2A,0x9F,0x26,0xEB,0xD1,0x3E,0x7C,0xB7,0x94,0x03,0xB0,\r
+0x45,0x74,0xE3,0x35,0x68,0xFF,0x67,0x0B,0x10,0xB5,0xA1,0x87,0xBA,0xAE,0x39,0x87,\r
+0xEA,0x29,0xBE,0xC7,0x76,0xE1,0x44,0x36,0x2C,0xDF,0xF7,0xBB,0x29,0x03,0x94,0xB9,\r
+0xA6,0x26,0xB1,0x84,0xAB,0x3C,0xBE,0x11,0xB0,0x19,0xAD,0x27,0xCE,0x9E,0x09,0xC3,\r
+0xFF,0xC3,0x54,0x38,0x70,0xE7,0x25,0x51,0xF7,0x9F,0x6C,0x60,0xBE,0x61,0xF6,0x4C,\r
+0x81,0xE6,0x20,0x2C,0xF9,0xF5,0xD5,0x6B,0x9E,0x9B,0x97,0x42,0x09,0xA7,0x05,0xE9,\r
+0x29,0x8F,0xE1,0xED,0x31,0x3D,0x97,0xE1,0x2F,0xC9,0xC5,0xA1,0xCB,0x5E,0xC7,0xD2,\r
+0xC6,0x8E,0x0F,0x03,0x8C,0x80,0x54,0x9F,0xA2,0x3E,0x32,0xDB,0x72,0x30,0x7E,0x05,\r
+0xCE,0x06,0x8F,0x83,0xAB,0xA7,0x36,0xDA,0xED,0x91,0x9D,0x3B,0xBC,0xDB,0xB0,0x20,\r
+0xBF,0x75,0x8D,0x81,0x95,0x99,0x2F,0xFD,0x82,0x3F,0x33,0xFA,0xB4,0xD9,0xB8,0x2A,\r
+0x37,0x3D,0x4D,0x41,0xEE,0xE2,0xC3,0x6A,0x84,0x17,0x1B,0xD4,0x07,0xC4,0x0B,0x84,\r
+0x2E,0xB7,0xDE,0xD2,0xFC,0xF0,0xE0,0x5B,0x02,0x7F,0x73,0x3A,0x43,0x54,0x4F,0x50,\r
+0x80,0xF0,0x37,0x3B,0x69,0x65,0x0D,0x23,0xCA,0xAF,0xA3,0x22,0x96,0xAC,0x9A,0x7D,\r
+0xF5,0xA7,0x15,0x19,0x00,0x0C,0xC2,0x85,0x31,0x65,0x69,0x13,0xF3,0x18,0xFF,0xAC,\r
+0x06,0x1E,0x5F,0x53,0xBD,0xB1,0x01,0xFB,0xEC,0x86,0x8A,0x2D,0xCC,0x1F,0xC0,0x94,\r
+0x25,0x23,0x41,0x4D,0x66,0x6A,0x41,0x60,0x3E,0xDA,0xD6,0xA3,0x64,0x11,0x68,0x32,\r
+0x4A,0xE2,0xEF,0xE3,0x88,0x84,0x40,0x8F,0x78,0xE2,0xEE,0xDD,0xC1,0x2D,0xCD,0xAB,\r
+0x9B,0x70,0xAC,0xA0,0x6A,0x66,0x5F,0x72,0xFE,0x8A,0x86,0x33,0xE9,0x2B,0xE5,0x85,\r
+0xBE,0x63,0x9A,0x96,0x7D,0x71,0x49,0x73,0x79,0xF5,0xF9,0xCB,0xA5,0xB9,0xA9,0x5B,\r
+0x88,0x78,0xB7,0xBB,0x28,0x24,0xEC,0x83,0x41,0x70,0x7C,0x76,0x1B,0x96,0x17,0xCA,\r
+0x51,0x62,0x74,0x78,0xCE,0xC2,0xE7,0x6E,0x67,0x59,0x55,0x79,0x83,0xDC,0x8F,0x18,\r
+0x00,0x30,0x77,0x7B,0xB6,0xBA,0x59,0xA8,0xEB,0xB9,0xB5,0x15,0x10,0xC5,0x1C,0x92,\r
+0x27,0x29,0x49,0x45,0xD8,0xD4,0xD0,0x4F,0x92,0x3B,0x37,0xEE,0xEA,0x7A,0xE6,0xD7,\r
+0x0E,0x96,0xDF,0xD3,0x46,0x4A,0x65,0x64,0xB3,0x2D,0x21,0xD9,0xE8,0x0B,0xE4,0xA4,\r
+0xE0,0x81,0x26,0x2A,0x1C,0x10,0x8C,0xD7,0xEE,0x8E,0x82,0x27,0x60,0x01,0x6C,0x26,\r
+0xA6,0xFF,0x1E,0x12,0x6B,0x67,0x7E,0x52,0x8B,0xA8,0xA4,0x64,0xA3,0xD8,0xAF,0x3C,\r
+0x77,0x6D,0x5D,0x51,0x0E,0x02,0xAF,0xE6,0x7E,0xCA,0xC6,0xF3,0xD0,0x4D,0xDC,0xDA,\r
+0xE8,0x09,0xA6,0xAA,0x94,0x98,0x0E,0xDD,0x35,0x45,0x49,0x37,0x6F,0x42,0x63,0x6A,\r
+0x6C,0xED,0xC6,0xCA,0x0B,0x07,0x9A,0xD6,0x58,0xE3,0xEF,0xFC,0x11,0xE5,0x1D,0xB3,\r
+0xB6,0xEB,0x1A,0x16,0x06,0x0A,0xA5,0xE4,0x56,0x4B,0x47,0x5A,0x62,0x70,0x6E,0x55,\r
+0x95,0xD6,0x04,0x08,0x5B,0x57,0x0A,0x16,0x68,0xE6,0xEA,0xC9,0x5E,0x26,0x52,0x3F,\r
+0x6F,0xF1,0xD9,0xD5,0x54,0x58,0x46,0x55,0x12,0x7B,0x77,0x2E,0xC2,0x7C,0xCE,0xF9,\r
+0xF4,0xB1,0x02,0x0E,0xB1,0xBD,0x1F,0xE9,0x9D,0x84,0x88,0x5E,0x85,0xBD,0x89,0x7F,\r
+0x36,0x2B,0x5A,0x56,0x4E,0x42,0x6F,0x66,0x2C,0xD6,0xDA,0xBD,0x29,0xA3,0x25,0xCD,\r
+0xF6,0xBB,0x0A,0x06,0xB8,0xB4,0x34,0xCB,0x9A,0xBB,0xB7,0x66,0xD2,0x3C,0xDE,0xA9,\r
+0xD0,0xB4,0x23,0x2F,0xC7,0xCB,0xCC,0x4C,0xB0,0x32,0x3E,0xC5,0x03,0xD4,0x0F,0x90,\r
+0x4E,0xC6,0xCF,0xC3,0x35,0x39,0x83,0xF1,0x61,0x71,0x7D,0x57,0x99,0xEF,0x95,0x31,\r
+0xBC,0x69,0x92,0x9E,0xD7,0xDB,0x9C,0x0C,0xD2,0x2B,0x27,0xBE,0xDB,0x1E,0xD7,0x82,\r
+0x97,0xDC,0x0C,0x00,0x12,0x1E,0xE1,0xB4,0xB2,0x3A,0x36,0xCF,0x4F,0x46,0x43,0x4E,\r
+0x21,0x07,0x61,0x6D,0x51,0x5D,0x73,0x65,0xAA,0xBE,0xB2,0x53,0xE4,0x19,0xE8,0xBA,\r
+0x08,0xB8,0xF7,0xFB,0x48,0x44,0x08,0x07,0x71,0x75,0x79,0x43,0xFB,0x1A,0xF7,0xA6,\r
+0x98,0x6C,0xB3,0xBF,0x98,0x94,0x10,0xCF,0xC7,0x18,0x14,0x98,0xAD,0xBB,0xA1,0x51,\r
+0x48,0xE8,0xE7,0xEB,0xD1,0xDD,0xFB,0x6D,0x89,0xA0,0xAC,0x6E,0xF8,0x4B,0xF4,0xF4,\r
+0x2A,0x93,0xFE,0xF2,0x14,0x18,0x86,0xD5,0xA9,0xA1,0xAD,0x4F,0x34,0xD1,0x38,0xA2,\r
+0x7D,0xEF,0xD5,0xD9,0xE0,0xEC,0xAE,0x09,0x05,0x40,0x4C,0x02,0x19,0xE7,0x15,0xB9,\r
+0xF9,0x0B,0xB5,0xB9,0x1D,0x11,0xAD,0xF7,0x63,0x79,0x75,0x5D,0x0D,0xB7,0x01,0xFD,\r
+0x75,0x67,0x55,0x59,0x7A,0x76,0x0F,0x32,0xA5,0x01,0x0D,0xE3,0xA7,0xC8,0xAB,0x28,\r
+0x3F,0xB5,0xCD,0xC1,0x36,0x3A,0xD1,0xA0,0xF0,0x22,0x2E,0x95,0x82,0xFC,0x8E,0x39,\r
+0x57,0x4C,0x5C,0x50,0xDD,0xD1,0xE5,0x7F,0x15,0x44,0x48,0x16,0xD3,0x1C,0xDF,0x88,\r
+0xA4,0xF5,0x16,0x1A,0x9C,0x90,0x04,0xDF,0x34,0x52,0x5E,0x21,0x2A,0xF2,0x26,0x9F,\r
+0xB8,0x4D,0xB2,0xBE,0xC5,0xC9,0xBF,0x3D,0xDE,0x8B,0x87,0x12,0x24,0x91,0x28,0xF2,\r
+0x8A,0x72,0xBF,0xB3,0x80,0x8C,0x4A,0x8D,0x99,0xA4,0xA8,0x7A,0xA2,0xF8,0xAE,0x1D,\r
+0x40,0x60,0x67,0x6B,0x78,0x74,0x7C,0x43,0x8E,0x9F,0x93,0x56,0x2F,0xC2,0x23,0xAA,\r
+0x10,0x24,0x73,0x7F,0x30,0x3C,0xB6,0xC1,0xFF,0x9D,0x91,0x25,0xDC,0x5F,0xD0,0xC4,\r
+0x22,0x1B,0x7E,0x72,0xED,0xE1,0x91,0x3B,0x59,0xF4,0xF8,0xEA,0xF0,0x49,0xFC,0xFE,\r
+0xBA,0x47,0xBA,0xB6,0x6C,0x60,0x38,0x13,0x1D,0xC4,0xC8,0x9E,0xC3,0x5C,0xCF,0xD8,\r
+0x0A,0xB2,0xFF,0xF3,0x63,0x6F,0x74,0x50,0xAF,0x89,0x85,0x61,0xFA,0x3A,0xF6,0x87,\r
+0x45,0x52,0x50,0x5C,0x68,0x64,0x2C,0x03,0xF3,0x3D,0x31,0x89,0x57,0x04,0x5B,0x14,\r
+0x14,0x00,0x53,0x5F,0x42,0x4E,0x71,0x74,0xEA,0xAE,0xA2,0x03,0x93,0x9C,0x9F,0x48,\r
+0x7B,0xC1,0xFD,0xF1,0x08,0x04,0xC8,0x87,0xD3,0x3C,0x30,0xA8,0x6D,0x33,0x61,0x19,\r
+0xAE,0x77,0x9E,0x92,0xAA,0xA6,0x17,0xFA,0xE2,0x2E,0x22,0x8B,0xEC,0x1B,0xE0,0xB0,\r
+0xC3,0xBC,0x38,0x34,0x7C,0x70,0x68,0x53,0xA1,0x21,0x2D,0xC7,0x1F,0x86,0x13,0xDE,\r
+0x20,0x11,0x76,0x7A,0xF2,0xFE,0x8D,0x38,0xE3,0x39,0x35,0x9D,0x6E,0x62,0x62,0x4B,\r
+0x8C,0x5C,0x97,0x9B,0x4A,0x46,0x7B,0x76,0xCD,0x90,0x9C,0x1A,0x2C,0x93,0x20,0xF8,\r
+0x0D,0x8A,0xC0,0xCC,0x25,0x29,0xD3,0xB1,0xC0,0x27,0x2B,0xA0,0xC8,0x0F,0xC4,0x80,\r
+0x5D,0xCE,0xD4,0xD8,0x13,0x1F,0xC0,0x94,0x44,0x47,0x4B,0x44,0x87,0xCC,0x8B,0x0C,\r
+0x47,0x58,0x58,0x54,0xA9,0xA5,0x45,0xAB,0x90,0x33,0x3F,0xE4,0xEB,0x5A,0xE7,0xF6,\r
+0xB5,0xF7,0x05,0x09,0x4C,0x40,0x1C,0x17,0x39,0xE5,0xE9,0x9B,0xF6,0x28,0xFA,0x99,\r
+0x24,0x35,0x56,0x5A,0xB0,0xBC,0x3E,0xC9,0xAD,0x81,0x8D,0x6B,0xF1,0x69,0xFD,0xDF,\r
+0x20,0xAD,0x27,0x6A,0x7F,0x32,0x37,0xE2,0x06,0x0E,0x43,0xA2,0x38,0x23,0x75,0xB1,\r
+0xD0,0x08,0x72,0x3F,0xC7,0x8A,0xC1,0xAC,0xA4,0x47,0x0A,0x49,0x6C,0xF3,0x21,0x35,\r
+0x8C,0xE0,0xC6,0x8B,0x9F,0xD2,0x5B,0x6E,0x62,0x3F,0x72,0xF7,0x0A,0x16,0x47,0xB6,\r
+0xBA,0xFB,0xEB,0xA6,0x7E,0x33,0x16,0xC2,0xBE,0xCB,0x86,0xDF,0x21,0x41,0x6C,0xCA,\r
+0x2D,0x17,0x90,0xDD,0xE5,0xA8,0x96,0xD9,0xDF,0xCD,0x80,0xB8,0xD3,0xFC,0x9E,0x85,\r
+0x75,0xDB,0x04,0x49,0xF4,0xB9,0xE7,0xB9,0x67,0x08,0x45,0xC5,0x4D,0xD7,0x00,0x30,\r
+0x71,0xFF,0x24,0x69,0xAA,0xE7,0x1A,0x1A,0x6C,0x97,0xDA,0x51,0x28,0x63,0x65,0xE1,\r
+0x72,0xE3,0x3B,0x76,0x61,0x2C,0x0A,0xC1,0x0E,0x8E,0xC3,0x2A,0xBE,0x4A,0xF3,0x5E,\r
+0xFA,0xAB,0xFB,0xB6,0x54,0x19,0x4B,0xB5,0x56,0x1A,0x57,0xE6,0x6D,0xD3,0x20,0x14,\r
+0x99,0xC6,0xF5,0xB8,0x8D,0xC0,0x78,0x5F,0xB4,0x43,0x0E,0x5D,0xC9,0xCF,0x84,0xAC,\r
+0xA9,0xF3,0xF0,0xBD,0x40,0x0D,0x0F,0xE5,0x28,0xA7,0xEA,0x25,0xB8,0x2B,0xF5,0x39,\r
+0x93,0x44,0x7D,0x30,0x7B,0x36,0x23,0xF2,0xE6,0x5F,0x12,0x13,0x60,0xE1,0x2D,0x2B,\r
+0xA3,0x71,0x78,0x35,0xDE,0x93,0xBA,0xCE,0x59,0xA5,0xE8,0x56,0x8A,0x1E,0xC7,0x3E,\r
+0xDC,0xA4,0xD2,0x9F,0xA6,0xEB,0x04,0x08,0x9C,0xC2,0x8F,0xF4,0x6A,0x92,0x27,0x52,\r
+0x77,0xD1,0x0C,0x41,0x9B,0xD6,0x4F,0x7E,0x14,0x02,0x4F,0xBC,0x83,0x3C,0xCE,0x15,\r
+0x97,0x60,0x5D,0x10,0xFD,0xB0,0xCC,0x9B,0xCB,0xE9,0xA4,0x88,0x12,0x54,0x5F,0xEC,\r
+0xF7,0x11,0x4C,0x01,0x71,0x3C,0x5A,0x81,0x1F,0x9D,0xD0,0x28,0x8C,0x7F,0xC1,0x59,\r
+0x6F,0x4D,0x88,0xC5,0xE2,0xAF,0xD0,0x98,0x68,0xB7,0xFA,0x75,0x8F,0x2E,0xC2,0x0B,\r
+0x70,0xE9,0x33,0x7E,0xF1,0xBC,0xD2,0x89,0x91,0x75,0x38,0x4E,0x41,0xC5,0x0C,0x2E,\r
+0x58,0x40,0xB2,0xFF,0xE3,0xAE,0xF1,0xB8,0xEC,0xD7,0x9A,0x91,0x22,0x10,0x6F,0x98,\r
+0x22,0xA7,0x2F,0x62,0x2B,0x66,0xB3,0x32,0x50,0x32,0x7F,0xC8,0xA1,0x49,0xEC,0x42,\r
+0x34,0x9D,0x03,0x4E,0x42,0x0F,0x7C,0x94,0xAA,0xEF,0xA2,0xEF,0xAC,0x7B,0xE1,0x7D,\r
+0x51,0xDE,0x25,0x68,0x56,0x1B,0x38,0xC4,0x3B,0xBC,0xF1,0x2D,0x20,0x61,0x6D,0xEB,\r
+0x37,0x81,0x1C,0x51,0x1B,0x56,0xC7,0x76,0x78,0xB3,0xFE,0x61,0x65,0xD1,0x28,0x1E,\r
+0x31,0xAF,0x34,0x79,0xEC,0xA1,0xBD,0xFB,0xC0,0x76,0x3B,0x1C,0x87,0x2C,0xCA,0x01,\r
+0xA7,0x55,0x58,0x15,0x98,0xD5,0x1D,0x2F,0xFF,0xCC,0x81,0x99,0x0B,0x36,0x46,0x97,\r
+0x02,0x86,0x2E,0x63,0x5E,0x13,0x32,0xC6,0xA2,0x6F,0x22,0x67,0x89,0x4F,0xC4,0x6C,\r
+0x43,0xC0,0x29,0x64,0x3A,0x77,0xC2,0x52,0x7C,0x93,0xDE,0x45,0xDA,0xDE,0x97,0xAE,\r
+0x09,0x12,0xB1,0xFC,0xE6,0xAB,0xC4,0x88,0x53,0x2D,0x60,0xD4,0xA9,0x4B,0xE4,0x48,\r
+0xED,0x87,0xC0,0x8D,0xFE,0xB3,0x9E,0xCA,0x38,0xA3,0xEE,0x31,0xE7,0xA8,0xAA,0xE5,\r
+0x64,0xD9,0x17,0x5A,0xF8,0xB5,0xF9,0xAB,0xDA,0xFA,0xB7,0x8A,0x1F,0x66,0x52,0xD3,\r
+0xF8,0xA1,0xF3,0xBE,0x4F,0x02,0x43,0xA6,0x1D,0x95,0xD8,0x22,0x48,0xE7,0x05,0x05,\r
+0xAF,0xDD,0xD8,0x95,0xC8,0x85,0x8D,0xEF,0x01,0x31,0x7C,0x9A,0x92,0x5C,0xDF,0x64,\r
+0xB2,0x73,0x6B,0x26,0xE0,0xAD,0xA3,0xE9,0x96,0x4A,0x07,0x76,0x52,0xD4,0x1F,0x2C,\r
+0xC7,0x24,0x49,0x04,0x70,0x3D,0x7B,0xA1,0x48,0xB6,0xFB,0x54,0xE8,0xEB,0xA5,0xA9,\r
+0x3F,0x09,0x9C,0xD1,0xA0,0xED,0x63,0x69,0x30,0x23,0x6E,0xB9,0x01,0x45,0x4C,0xEE,\r
+0x35,0x8B,0x14,0x59,0x16,0x5B,0xF8,0x44,0x8A,0xEE,0xA3,0xCE,0x3E,0x42,0x73,0xD6,\r
+0xCC,0xB0,0xD6,0x9B,0x44,0x09,0x1B,0xF5,0x00,0x26,0x6B,0x8C,0xFF,0xEA,0xB2,0xBF,\r
+0xB0,0x79,0x63,0x2E,0x4E,0x03,0x62,0x86,0xB1,0x74,0x39,0x6F,0x50,0xA5,0x1D,0x5F,\r
+0x5B,0x5C,0xAD,0xE0,0xE1,0xAC,0x82,0xC9,0xF4,0x53,0x1E,0x0D,0xD0,0xAD,0x9D,0xD7,\r
+0xD2,0x02,0x7A,0x37,0x2A,0x67,0x92,0x12,0x18,0xA2,0xEF,0x10,0x45,0xD5,0x08,0x3A,\r
+0x40,0xDC,0x36,0x7B,0x55,0x18,0x6A,0x95,0x19,0xB5,0xF8,0x06,0x73,0xF0,0x3E,0x29,\r
+0xB7,0x41,0x5C,0x11,0x86,0xCB,0x20,0x0C,0x05,0x11,0x5C,0xBE,0xAB,0x3A,0xE6,0x3B,\r
+0xFD,0x93,0xC4,0x89,0xAF,0xE2,0x2F,0x2A,0xE8,0xF7,0xBA,0xB5,0x68,0xE3,0x25,0x21,\r
+0x74,0xCD,0x13,0x5E,0x59,0x14,0x74,0x87,0x90,0x62,0x2F,0x58,0x80,0x6D,0xCD,0x47,\r
+0x73,0xF5,0x2C,0x61,0xBA,0xF7,0x4A,0x5A,0xEE,0xDF,0x92,0x9B,0xCA,0x9E,0x87,0xFE,\r
+0x46,0xF2,0x1E,0x53,0x3D,0x70,0x84,0x13,0xE4,0x57,0x1A,0x19,0x30,0x21,0x7D,0xBB,\r
+0x7A,0x6B,0xBB,0xF6,0x05,0x48,0xFA,0x55,0x0B,0xB9,0xF4,0x18,0x9E,0x4E,0xD3,0x7A,\r
+0x26,0x83,0x0F,0x42,0x15,0x58,0xAA,0x15,0x8D,0xD1,0x9C,0xF6,0x82,0x1C,0xCF,0x34,\r
+0xB3,0x65,0x7C,0x31,0x77,0x3A,0x3D,0xE0,0x39,0xB4,0xF9,0x27,0xC1,0xCD,0x8C,0xA6,\r
+0x8E,0xEA,0xCE,0x83,0x3C,0x71,0xA5,0x33,0xBD,0xD4,0x99,0xC3,0x19,0x07,0x54,0xB4,\r
+0x29,0x33,0xB0,0xFD,0x9A,0xD7,0x6E,0x5E,0xB6,0x4B,0x06,0x57,0x79,0x83,0x34,0x50,\r
+0x11,0x8E,0x35,0x78,0xE4,0xA9,0xB7,0xF9,0x24,0x07,0x4A,0x89,0x96,0x4C,0xDB,0x70,\r
+0xAE,0xCB,0xCF,0x82,0x66,0x2B,0x4C,0x80,0xC3,0x69,0x24,0x00,0xA8,0x6B,0xE5,0x69,\r
+0x6A,0x7F,0xBF,0xF2,0x51,0x1C,0x7E,0x85,0xBC,0xC3,0x8E,0xD5,0xF9,0x8B,0xB4,0xD8,\r
+0x60,0xFD,0x37,0x7A,0xF2,0xBF,0x80,0xD8,0x0F,0x99,0xD4,0x3C,0x00,0x65,0x4D,0xCF,\r
+0x57,0xF0,0x0D,0x40,0x64,0x29,0x3F,0xF1,0xA0,0x67,0x2A,0x6D,0xD5,0x9D,0x98,0xE2,\r
+0xC8,0x94,0xF6,0xBB,0x09,0x44,0xE4,0x47,0x0D,0x91,0xDC,0x36,0x85,0x5D,0xC8,0x72,\r
+0x84,0x68,0x46,0x0B,0xAE,0xE3,0x0E,0x0A,0x9A,0xEA,0xA7,0xDA,0x10,0x25,0x5D,0x9F,\r
+0xBF,0xC9,0xDC,0x91,0xED,0xA0,0x9C,0xDB,0x27,0x18,0x55,0x95,0xFC,0xBB,0xB1,0xED,\r
+0x4D,0x66,0x81,0xCC,0x39,0x74,0x90,0x03,0x7D,0x84,0xC9,0x53,0xDB,0xFE,0x96,0x8F,\r
+0x1B,0x0C,0xBD,0xF0,0x94,0xD9,0x03,0x3D,0x8F,0xD9,0x94,0xFC,0xC5,0xDD,0x88,0xB2,\r
+0xD6,0x26,0x5A,0x17,0x5B,0x16,0x07,0xF6,0x82,0x6E,0x23,0x46,0xDD,0x9F,0x90,0xE8,\r
+0x17,0xA0,0x1D,0x50,0xA4,0xE9,0x77,0x79,0x3E,0x8B,0xC6,0x1F,0x06,0x04,0x4B,0xA8,\r
+0xF5,0x7F,0x19,0xD0,0x70,0x11,0xD7,0x34,0x3B,0x3C,0x1E,0x94,0xBB,0x92,0xB7,0xBA,\r
+0xCB,0x58,0x00,0xEE,0xF9,0x7F,0x30,0x5A,0xB9,0xC7,0x9C,0xED,0xFE,0x68,0x4D,0x05,\r
+0x5D,0x71,0xBF,0x78,0x4C,0xE1,0x1B,0xC4,0xAF,0xF0,0x8A,0xCC,0x8D,0x6A,0x4F,0x74,\r
+0xA4,0x9F,0xA8,0x81,0xA5,0xBB,0xA8,0x9E,0x0C,0x0E,0x29,0x91,0x0F,0xE2,0xC7,0x7E,\r
+0x9C,0xD9,0xD6,0xB9,0x57,0xCC,0x2D,0xE9,0x2A,0x4D,0x0F,0xF4,0x15,0x21,0x04,0xA7,\r
+0xDF,0x08,0x44,0xFA,0x86,0xA9,0x99,0x8C,0x48,0xDA,0x6D,0x01,0xF3,0x52,0x77,0x32,\r
+0x24,0x97,0x20,0x01,0x27,0x33,0xA2,0x16,0xC7,0x1E,0xE2,0x4A,0x43,0xED,0xC8,0x3D,\r
+0x44,0x13,0xC4,0x61,0xB3,0xAC,0xA9,0x89,0x61,0xD5,0x44,0x27,0x9A,0x93,0xB6,0x9A,\r
+0x98,0xC9,0xC2,0xBD,0x8C,0xA1,0x9B,0x84,0xC9,0x73,0xEC,0x29,0x7C,0xE0,0xC5,0x0F,\r
+0x86,0xEA,0xFF,0xA3,0x23,0xFC,0x69,0xD9,0x64,0xE0,0x41,0x17,0x16,0xDC,0xF9,0x59,\r
+0x5B,0x10,0xD8,0x7E,0x6F,0xF3,0x2A,0xD6,0xF9,0x07,0xDC,0x6D,0xD0,0x40,0x65,0x03,\r
+0x80,0x8B,0x98,0xA5,0x36,0x16,0x96,0x33,0x06,0x77,0x23,0xE2,0x56,0x07,0x22,0xC2,\r
+0xD8,0x49,0x02,0xFD,0x46,0xE9,0x19,0xCC,0x54,0x94,0x71,0x53,0xE4,0xAB,0x8E,0xDC,\r
+0x88,0x89,0x92,0xAD,0x1D,0x1F,0xB4,0x3A,0x39,0x4F,0x1C,0xE5,0x80,0x50,0x75,0x43,\r
+0xA1,0xAF,0x9D,0x84,0xE5,0x60,0x33,0x45,0xB0,0xEC,0x95,0xCF,0xB9,0x81,0xA4,0xAB,\r
+0x4D,0x31,0xEF,0x68,0xAA,0x92,0x8E,0xB7,0xF3,0x7E,0xD6,0x1E,0x18,0x1B,0x3E,0x90,\r
+0xA2,0xFE,0xCF,0x87,0xFC,0x5E,0x14,0x7B,0x19,0x6B,0x3C,0xE1,0xC0,0x8B,0xAE,0xD8,\r
+0x63,0x56,0xA6,0x46,0xBE,0x96,0x9E,0xB3,0x4B,0x88,0x6E,0x50,0xFB,0x49,0x6C,0x21,\r
+0x8D,0xB9,0xA7,0xA8,0x7D,0x2B,0xE0,0x0E,0xBC,0xF2,0x99,0xDD,0x2C,0xF0,0xD5,0x4F,\r
+0x0D,0xB1,0x2F,0x28,0x1F,0x0C,0xA5,0x29,0x13,0x12,0x36,0x92,0x09,0x3E,0x1B,0xA4,\r
+0x0F,0xC0,0x5C,0x2A,0x06,0x32,0x82,0x17,0xBD,0xD3,0x98,0xFD,0x03,0x36,0x13,0xA6,\r
+0xCF,0x48,0x14,0xEA,0xEA,0x49,0x15,0x6C,0x95,0xFD,0xB0,0xFB,0xAD,0x85,0xA0,0xBB,\r
+0x5C,0x51,0x9E,0x79,0xC9,0x5B,0x24,0x7E,0xFD,0x13,0xD8,0x7D,0x79,0xC1,0xE4,0x2B,\r
+0xB5,0xFF,0xD9,0x90,0x24,0xCE,0x5C,0xEB,0x2D,0x0B,0x08,0xB5,0x54,0x14,0x31,0xD3,\r
+0x97,0x8A,0x8E,0xB2,0xEB,0xA7,0xFA,0x82,0xE7,0x3A,0xC2,0x4E,0x85,0x71,0x54,0x67,\r
+0xDD,0x79,0x37,0xF8,0x28,0x1A,0x84,0x3F,0x04,0x04,0x21,0x93,0xBD,0x4E,0x6B,0x60,\r
+0xC3,0x5A,0x0A,0xE6,0x68,0xC1,0x1F,0xE4,0x58,0x8A,0x7D,0x41,0x1B,0xE6,0xC3,0x6E,\r
+0x6D,0x35,0xCB,0x48,0x69,0x2F,0xF0,0x0A,0x60,0xF4,0x45,0x07,0x82,0x43,0x66,0x52,\r
+0x2E,0xE4,0x59,0x0B,0x76,0xCD,0x0D,0xE8,0x08,0x1A,0x2D,0x81,0xAC,0x6B,0x4E,0x54,\r
+0x18,0xC1,0x4A,0x3D,0x60,0xDA,0x0C,0xFF,0x77,0xE2,0x52,0x06,0x72,0x27,0x02,0xC6,\r
+0x35,0xF7,0x51,0x10,0xC5,0x8F,0xFC,0xAA,0xF2,0x5F,0xD7,0x3E,0xE3,0x99,0xBC,0xE9,\r
+0xF6,0x2E,0x4B,0xD3,0xCE,0x69,0x11,0x4C,0xDB,0x50,0xFE,0x18,0x31,0x01,0x24,0xA3,\r
+0xF1,0x6F,0x0D,0xD4,0x9F,0x97,0xBE,0xB2,0x1F,0x0C,0x3A,0x80,0xED,0x5E,0x7B,0x20,\r
+0xFC,0x5D,0x32,0xD9,0xB8,0x4A,0x44,0x6F,0x76,0xC3,0x53,0x26,0xD7,0x72,0x57,0x36,\r
+0x38,0xC5,0x6E,0x1D,0x11,0xCB,0x6C,0xEE,0x46,0xB7,0x63,0x62,0xF1,0x41,0x64,0x23,\r
+0x7D,0x75,0x9B,0x58,0x5D,0xC4,0x2F,0xE1,0x0B,0x48,0x2E,0xD0,0xAE,0x78,0x5D,0x45,\r
+0xD2,0x3A,0x7B,0xF7,0x05,0xCF,0x7C,0xEA,0xBF,0xA0,0x9A,0x8C,0x3D,0xD5,0xF0,0x7B,\r
+0xD1,0x6B,0x29,0xF4,0x58,0xE5,0x0B,0xC0,0x2C,0x2A,0x09,0x95,0x61,0x11,0x34,0xE3,\r
+0x7F,0x04,0xE8,0x5A,0xE1,0xAF,0xF8,0x8A,0xBE,0x81,0x9B,0xAC,0x30,0xEF,0xCA,0x4C,\r
+0x1C,0xD1,0x5E,0x39,0x3E,0x0D,0x85,0x28,0xAC,0xA2,0x89,0x9D,0x99,0x6E,0x4B,0x64,\r
+0xBA,0xBC,0x95,0x9F,0x41,0xDB,0x2C,0xFE,0xA3,0xEE,0x86,0xDE,0xF7,0x9D,0xB8,0xF9,\r
+0xF4,0x5F,0x38,0xD1,0xA4,0x55,0x47,0x70,0xBB,0xB4,0x9E,0x9C,0x62,0xEC,0xC9,0x1D,\r
+0x15,0xF3,0x75,0x30,0x52,0xED,0x09,0xC8,0x12,0x33,0x37,0xB2,0xD1,0xAE,0x8B,0xEC,\r
+0x42,0x72,0xA3,0x67,0xFA,0x82,0xCE,0xA7,0xA5,0x89,0x80,0xBF,0xA9,0x4A,0x6F,0x70,\r
+0x56,0x22,0xE7,0x73,0xE9,0xB4,0xEB,0x91,0xC5,0x6D,0xE0,0x3B,0x25,0x05,0x20,0xB3,\r
+0xDA,0x38,0x71,0xFF,0x6C,0x0E,0xD4,0x2B,0xB1,0xCD,0x94,0xEF,0xDF,0x69,0x4C,0x25,\r
+0x87,0xCA,0xDE,0xA2,0x35,0xEB,0x68,0xCE,0x67,0xB2,0x42,0x46,0xB0,0x74,0x51,0x57,\r
+0xD4,0x5B,0x1C,0xF1,0x17,0x17,0xB6,0x32,0x03,0x42,0x26,0xD2,0xF6,0x73,0x56,0x16,\r
+0x10,0xC3,0x40,0x35,0xB5,0x70,0x73,0x55,0xA9,0x97,0x8C,0xAD,0xAB,0x59,0x7C,0x61,\r
+0x8E,0xE8,0xF5,0xAB,0xC8,0xB5,0xCB,0x90,0xB8,0xE6,0x9D,0xCD,0x67,0xCD,0xE8,0x39,\r
+0xE3,0x5E,0x2E,0xC6,0x5A,0xF6,0x1A,0xD3,0x3C,0x7A,0x19,0xD5,0x93,0x66,0x43,0x66,\r
+0x75,0x77,0x91,0x50,0x21,0xEF,0x78,0xCA,0xF7,0x6A,0xD2,0x0E,0x8F,0x79,0x5C,0x65,\r
+0x31,0xE7,0x45,0x14,0x39,0x3F,0xB0,0x1A,0x9A,0xB1,0xBF,0xB8,0x78,0x2F,0x0A,0xC4,\r
+0x65,0x37,0xC1,0x40,0xD2,0x76,0x12,0x53,0x22,0x47,0x07,0xF6,0xDD,0x7A,0x5F,0x34,\r
+0x7C,0x55,0xBA,0x59,0xAF,0xB3,0xAA,0x96,0x23,0x66,0x06,0xD6,0x8B,0xB6,0x93,0xAE,\r
+0x57,0x02,0xC6,0x72,0x87,0x47,0x76,0x62,0xC2,0x2B,0xE7,0x7A,0x90,0x9B,0xBE,0x98,\r
+0x37,0x86,0x22,0x12,0x84,0xBA,0x88,0x9F,0xFB,0x74,0xDE,0x1C,0xD4,0x8F,0xAA,0xC8,\r
+0xD7,0x0A,0x4E,0xF2,0x26,0xDD,0x4D,0xF8,0x83,0xCA,0xA6,0xDA,0x01,0x25,0x00,0xB7,\r
+0x4F,0x40,0x9C,0x6A,0xF8,0x91,0xDF,0xB4,0xA0,0xBC,0x85,0x8F,0x10,0x00,0x25,0x83,\r
+0xDE,0x28,0x65,0xFB,0xCC,0x7A,0x00,0x5F,0xC6,0x3F,0xE3,0x6A,0xA1,0x51,0x74,0x63,\r
+0x94,0xDB,0xDC,0xB1,0x2D,0x3B,0xA0,0x1E,0xD0,0x08,0xF5,0x4B,0xB6,0xA8,0x8D,0x8D,\r
+0x30,0xC7,0x64,0x15,0x96,0x62,0x42,0x47,0x09,0x3B,0x2C,0xA1,0xDB,0xA6,0x83,0xEE,\r
+0x3D,0xF5,0x5B,0x18,0x63,0x27,0xF2,0x02,0x26,0x53,0x03,0xE6,0x34,0x20,0x05,0x87,\r
+0xE5,0x3F,0x49,0xC0,0x55,0xDF,0x3C,0xFA,0x1D,0x7F,0x38,0xF1,0x83,0xAD,0x88,0xBD,\r
+0x4C,0x54,0x74,0x8C,0x9B,0x8D,0xBA,0xA2,0x30,0xA2,0x26,0x28,0x95,0x0A,0x2B,0x12,\r
+0xC4,0xDC,0x7E,0x0E,0xC6,0x73,0x19,0x01,0x6A,0x11,0xCF,0x72,0x7B,0xF3,0x3C,0xEB,\r
+0xC6,0xDE,0x0F,0x7D,0xE7,0x44,0x0F,0x17,0xF4,0x3A,0x7A,0xEC,0x52,0x65,0x83,0x7D,\r
+0x3C,0x24,0xB0,0x38,0x9E,0xBF,0x8D,0x95,0x9A,0xDD,0xF3,0x82,0x75,0x5B,0x9A,0x43,\r
+0x3D,0x25,0x90,0x19,0x2D,0x56,0xD7,0xCF,0x27,0xA3,0x30,0x3F,0x19,0xEA,0x47,0xF2,\r
+0x43,0x5B,0x37,0xC0,0x40,0x9D,0x71,0x69,0xB8,0xA8,0xA4,0xA0,0x9D,0x8A,0xA3,0x92,\r
+0xFC,0xE4,0x38,0x70,0x0B,0x59,0xFE,0xE6,0x22,0x93,0x05,0x3A,0x02,0x71,0xC7,0x69,\r
+0x8F,0x97,0xAD,0x96,0xFE,0xCE,0x9C,0x84,0x47,0x27,0xD4,0x5F,0xD3,0x32,0x55,0x2A,\r
+0xA9,0xB1,0xC8,0xD5,0xE8,0xF4,0xB0,0xA8,0x9D,0x9C,0xB5,0x85,0x81,0x2E,0x1B,0x36,\r
+0xEE,0xF6,0x09,0x53,0x67,0x84,0x4F,0x57,0x78,0x20,0xEC,0x60,0x1A,0xF5,0x5B,0xED,\r
+0x72,0x6A,0x53,0x95,0x1D,0x63,0xD2,0xCA,0x77,0x63,0xA0,0x6F,0xE0,0x28,0x7C,0x30,\r
+0x4E,0x56,0x05,0xFF,0x23,0xF0,0x7F,0x67,0x2A,0x91,0x0F,0x32,0xC3,0x36,0x41,0x2E,\r
+0xB5,0xAD,0x9A,0x9B,0x14,0xFD,0x45,0x5D,0x19,0x84,0x29,0x01,0x3B,0xE3,0x6C,0xFB,\r
+0x2F,0x37,0xA1,0x3A,0xC5,0x6F,0x06,0x1E,0xEB,0x39,0x66,0xF3,0xA5,0x0F,0x1E,0x17,\r
+0xFE,0xE6,0x49,0x03,0xEF,0xCC,0x8F,0x97,0x94,0xBE,0x9E,0x8C,0x83,0x26,0x11,0x3E,\r
+0x05,0x1D,0xD6,0x67,0x59,0x17,0xE2,0xFA,0x62,0x13,0xC5,0x7A,0x43,0x76,0x81,0x6E,\r
+0x90,0x88,0xAE,0x8A,0x98,0x91,0xA5,0xBD,0x87,0xAF,0x9C,0x9F,0xBB,0xA3,0xAC,0xBB,\r
+0x5E,0x46,0x45,0xAF,0xD7,0x71,0x0A,0x12,0xA0,0xEA,0xFE,0xB8,0xB3,0x23,0x24,0x3B,\r
+0xE7,0xFF,0x2B,0x78,0x5A,0x0B,0xFD,0xE5,0x1D,0x94,0x3D,0x05,0x5C,0xCD,0x25,0xD5,\r
+0x25,0x3D,0xD2,0x43,0xEB,0xE8,0xAF,0xB7,0xD5,0x1E,0x7F,0xCD,0xF4,0x0C,0x4C,0x14,\r
+0xBA,0xA2,0xD9,0xD7,0xBF,0x88,0x9B,0x83,0x45,0x56,0xA7,0x5D,0xF5,0x1B,0x5A,0x03,\r
+0x6F,0x77,0x21,0xFA,0x77,0x90,0x4B,0x53,0xD0,0x2E,0x4A,0xC8,0x5B,0xF2,0x1D,0xEA,\r
+0x2B,0x33,0xB1,0x2E,0xF1,0x7E,0x23,0x3B,0xC2,0x1F,0x69,0xDA,0x42,0x61,0x97,0x79,\r
+0x98,0x80,0xAC,0x80,0xF7,0x50,0x0B,0x13,0xB9,0x88,0x85,0xA1,0xCA,0xA1,0xDF,0xB9,\r
+0xED,0xF5,0x58,0x01,0x0D,0x77,0xD6,0xCE,0xA4,0xFA,0xEA,0xBC,0x3F,0xC3,0x48,0xDB,\r
+0x48,0x50,0x64,0x98,0x4B,0x09,0xEE,0xF6,0x4A,0x15,0xEB,0x52,0x50,0x6D,0x89,0x75,\r
+0xE0,0xF8,0x6A,0x3E,0x99,0x87,0xB2,0xAA,0x91,0x8E,0xAB,0x89,0x73,0x73,0xB4,0x6B,\r
+0xDF,0xC7,0x6D,0x06,0x44,0xB9,0x51,0x49,0x2C,0xF0,0x68,0x34,0x80,0x39,0x0D,0x21,\r
+0xAF,0xB7,0xA9,0xB2,0x12,0xD3,0x6D,0x75,0xE2,0x1B,0x4D,0xFA,0x24,0x58,0xC8,0x40,\r
+0x37,0x2F,0xE3,0x60,0x34,0xDC,0x44,0x5C,0x04,0xF6,0x46,0x1C,0xFD,0x9B,0xD2,0x83,\r
+0x89,0x91,0xCC,0xF1,0x0C,0x61,0xC1,0xD9,0x51,0x06,0xE3,0x49,0xCB,0xB6,0xC9,0xAE,\r
+0xC5,0xDD,0x5E,0x2F,0x8B,0x99,0xBE,0xA6,0x46,0x07,0xF5,0x5E,0xEE,0x80,0xDA,0x98,\r
+0xD6,0xCE,0x4F,0x2D,0xDA,0xCB,0xBD,0xA5,0x4F,0x25,0xDE,0x57,0x7F,0xD3,0x18,0xCB,\r
+0xEF,0xF7,0x29,0x72,0x68,0x34,0xF0,0xE8,0x40,0x66,0x92,0x58,0xCF,0x96,0xED,0x8E,\r
+0xDC,0xC4,0x3C,0x54,0x2C,0x40,0xC0,0xD8,0xC1,0x4E,0x3B,0xD9,0x57,0x52,0xB1,0x4A,\r
+0xF0,0xE8,0x2A,0x6E,0x8A,0x8F,0xA9,0xB1,0x1C,0xB4,0x1C,0x04,0x65,0x5F,0x8E,0x47,\r
+0xC0,0xD8,0x6E,0x1A,0x97,0x21,0x1A,0x02,0x86,0x8F,0xBD,0x9E,0xDB,0xB2,0xDD,0xAA,\r
+0x41,0x59,0x46,0xB3,0xA6,0x02,0x08,0x10,0x24,0xF2,0x62,0x3C,0x0E,0xD1,0x6B,0xC9,\r
+0xBF,0xA7,0xE9,0xE2,0x9F,0xA9,0x9A,0x82,0x6E,0x01,0xDB,0x76,0x61,0x7F,0xAA,0x67,\r
+0x7B,0x63,0x71,0xBE,0x86,0x23,0x09,0x11,0x44,0x76,0x86,0x5C,0x30,0x7C,0xF8,0x64,\r
+0xE4,0xFC,0x7A,0x2A,0xB5,0x0A,0x13,0x0B,0x09,0xC4,0x79,0x11,0x78,0xEC,0x20,0xF4,\r
+0x00,0x18,0xE6,0x52,0xB8,0xB0,0xA4,0xBC,0x66,0x03,0xD1,0x7E,0xF9,0xBB,0xF6,0xA3,\r
+0x42,0x5A,0x17,0xE1,0x96,0x37,0x0D,0x15,0xDE,0x4D,0x27,0xC6,0x55,0x5A,0xBB,0x42,\r
+0x33,0x2B,0xF3,0x74,0xD4,0x6D,0x15,0x0D,0x50,0x26,0xC2,0x48,0xB6,0x14,0x16,0x0C,\r
+0xDD,0xC5,0x1C,0x75,0xD8,0xC1,0xB5,0xAD,0x9C,0xBC,0x94,0x84,0x51,0x7A,0x9F,0x62,\r
+0xDA,0xC2,0x5D,0x33,0x4C,0x31,0xD1,0xC9,0x60,0x62,0xB6,0x78,0xC0,0x29,0x5D,0x31,\r
+0xC7,0xDF,0x2F,0x5C,0xE5,0x4E,0x07,0x1F,0x85,0xDE,0xEF,0x9D,0x32,0x74,0xF2,0x6C,\r
+0xAB,0xB3,0xB9,0xA6,0x31,0xEE,0x73,0x6B,0x3F,0xE1,0x6A,0x27,0x28,0xF8,0x64,0xE0,\r
+0xD7,0xCF,0x6F,0x0C,0x04,0xE9,0x41,0x59,0x64,0x72,0xA2,0x7C,0x7D,0xDB,0x12,0xC3,\r
+0xC8,0xD0,0x6C,0x10,0xDF,0xF9,0x8A,0x92,0x7D,0x10,0xD9,0x65,0x54,0x4D,0xAD,0x55,\r
+0x63,0x7B,0x33,0xE4,0xC7,0x65,0x0E,0x16,0x3E,0xC1,0x4B,0x26,0xE2,0x20,0x76,0x38,\r
+0xF7,0xEF,0x6B,0x28,0xA7,0x14,0x1F,0x07,0xFB,0x79,0x36,0xE3,0xC9,0xBE,0xC3,0xA6,\r
+0x35,0x2D,0x92,0x13,0x70,0xA8,0x74,0x6C,0xCC,0x7C,0x04,0xD4,0x08,0xF9,0x45,0xE1,\r
+0x18,0x00,0xA4,0x08,0xDC,0xE5,0x95,0x8D,0x38,0xA0,0x2C,0x20,0x5F,0xD2,0x39,0xCA,\r
+0xD4,0xCC,0x3E,0x5E,0xFC,0xC4,0x94,0x8C,0xFD,0x18,0x51,0xE5,0x3D,0xCB,0x42,0xD3,\r
+0x81,0x99,0xCE,0xFB,0xB2,0x32,0x2C,0x34,0xB4,0xBA,0xBA,0xAC,0xED,0x9F,0xC6,0x87,\r
+0xFF,0xE7,0x69,0x22,0x60,0xBC,0x70,0x68,0xF1,0x0A,0x4F,0xE9,0x22,0x70,0xE6,0x68,\r
+0xAE,0xB6,0x89,0x93,0x85,0x3F,0x16,0x0E,0x1A,0xD5,0x7B,0x02,0x4A,0xE1,0x1F,0xF9,\r
+0x8B,0x93,0xBD,0x82,0xD0,0x49,0x35,0x2D,0x56,0x47,0xA5,0x4E,0x00,0x79,0xCD,0x61,\r
+0x21,0x39,0xC2,0x57,0x16,0xF7,0x4D,0x55,0x31,0x82,0x07,0x29,0x8C,0x99,0xA1,0x81,\r
+0x03,0x1B,0xB7,0x00,0xFB,0xFC,0xAB,0xB3,0x54,0x36,0xD6,0x4C,0x35,0x4B,0xCA,0x53,\r
+0x8E,0x96,0x8D,0xB7,0xEC,0xD0,0x90,0x88,0xAC,0xF8,0xE0,0xB4,0xFF,0x93,0xD8,0x8B,\r
+0x08,0x10,0xE4,0x58,0xAB,0xB8,0xBF,0xA7,0xE9,0x48,0x15,0xF1,0xCD,0x9E,0xE7,0x86,\r
+0x06,0x1E,0x87,0x35,0x41,0x8B,0x66,0x7E,0xB0,0xAA,0xAE,0xA8,0xD1,0x3A,0x5F,0x22,\r
+0x71,0x1C,0xBD,0x2F,0xCA,0x58,0xEE,0xF4,0xDD,0x5C,0xCE,0x51,0xF3,0x92,0x61,0xB1,\r
+0x93,0xA7,0xE4,0x76,0x6E,0xFC,0x56,0xE8,0xBE,0x52,0xC0,0x3C,0x2A,0x78,0xB8,0x82,\r
+0x0F,0xDF,0x00,0x92,0x1F,0x8D,0xC3,0x0C,0x8E,0x57,0xC5,0x09,0xE7,0xC2,0x75,0xF5,\r
+0xC1,0xE9,0xF8,0x6A,0xC7,0x55,0xD1,0xC6,0xB4,0xDA,0x48,0xBE,0xDC,0xD5,0x4E,0xD9,\r
+0x7E,0xAC,0x02,0x90,0x2D,0xBF,0xC4,0x39,0x84,0xDF,0x4D,0x8B,0x79,0xE9,0xEB,0x40,\r
+0xBB,0x0E,0x65,0xF7,0xCD,0x5F,0xA8,0xB5,0xFB,0x75,0xE7,0x5E,0x01,0x2F,0x93,0xFE,\r
+0x33,0x46,0xA5,0x37,0x24,0xB6,0xEF,0x1B,0x50,0xAB,0x39,0x2B,0x3C,0x59,0xAE,0xB5,\r
+0xEC,0x72,0x4E,0xDC,0xB5,0x27,0x16,0x73,0xB0,0xFA,0x68,0x9A,0x5A,0xBC,0xC8,0x36,\r
+0x21,0x58,0xA9,0x3B,0x9F,0x0D,0x4B,0x04,0x07,0x80,0x12,0x57,0xD8,0xC5,0x4A,0xCD,\r
+0x83,0xB3,0xE0,0x72,0xCB,0x59,0xCF,0xD4,0xF7,0xD5,0x47,0xF2,0x60,0x8B,0xF2,0x3B,\r
+0x45,0x0D,0x98,0x0A,0xAD,0x3F,0x4C,0x31,0xAB,0x61,0xF3,0x1A,0x38,0x49,0xAA,0xA1,\r
+0x99,0x25,0x6C,0xFE,0x86,0x14,0x30,0x66,0x9D,0x4C,0xDE,0x01,0xD9,0xE5,0x4B,0xEC,\r
+0xF8,0x42,0x6A,0xF8,0x74,0xE6,0x7F,0xDB,0x0A,0x37,0xA5,0xED,0x42,0xFE,0xD0,0x6C,\r
+0x40,0x3F,0xAF,0x3D,0xEA,0x78,0xCA,0xF0,0x52,0xA3,0x31,0x21,0x53,0x9E,0xC1,0x1D,\r
+0x4B,0xAB,0x30,0xA2,0x8F,0x1D,0x1B,0x44,0x56,0x83,0x11,0x05,0x0D,0x3D,0x9F,0xE0,\r
+0x29,0xD0,0x29,0xBB,0x19,0x8B,0xA4,0x6D,0x55,0x9C,0x0E,0x19,0xC6,0xE6,0x54,0xF0,\r
+0xE7,0xE6,0xD1,0x43,0x20,0xB2,0xFB,0x0B,0x16,0x93,0x01,0x55,0x4B,0xDC,0xD9,0x47,\r
+0xD8,0x63,0x6B,0xF9,0xAC,0x3E,0x6D,0x11,0x80,0xFF,0x6D,0xAF,0x3F,0x08,0xAD,0xE7,\r
+0x85,0x9D,0xC8,0x5A,0x2E,0xBC,0x96,0x68,0x25,0x89,0x1B,0x7C,0xF9,0xE1,0x6B,0xC8,\r
+0x5B,0xBF,0x34,0xA6,0x7D,0xEF,0x54,0xF9,0x64,0x8E,0x1C,0x3A,0x9D,0x75,0x0F,0x38,\r
+0x74,0x2E,0x8A,0x18,0x0E,0x9C,0xB2,0x6C,0x2E,0x16,0x84,0xE8,0x41,0xAF,0xD3,0x3E,\r
+0x1F,0xCB,0x04,0x96,0x40,0xD2,0x1F,0x8F,0xCA,0x67,0xF5,0x7D,0x59,0xED,0xCB,0x64,\r
+0xFD,0x70,0x5D,0xCF,0xB8,0x2A,0x29,0x41,0x43,0xB0,0x22,0x23,0x5F,0x8C,0xCD,0x03,\r
+0x3A,0xD8,0x32,0xA0,0xEF,0x7D,0xFF,0xC0,0xDF,0x54,0xC6,0x5B,0xE8,0x81,0x7A,0xB9,\r
+0x38,0xD2,0x3A,0xA8,0x2B,0xB9,0xA3,0x58,0xD0,0xEB,0x79,0xEB,0xD6,0xA6,0x44,0xA0,\r
+0x4F,0x8F,0x10,0x82,0x28,0xBA,0xF1,0x09,0x48,0x2F,0xBD,0xB7,0x45,0xBF,0xD7,0x2A,\r
+0xB6,0xB4,0xD2,0x40,0xE6,0x74,0xD4,0xE2,0x57,0x94,0x06,0x13,0x56,0xAE,0xC4,0x28,\r
+0xCB,0x6B,0x70,0xE2,0x85,0x17,0x62,0x37,0x7F,0x15,0x87,0xBA,0x44,0x9F,0xD6,0x0B,\r
+0x77,0x32,0x95,0x07,0x06,0x94,0xB8,0x6E,0x05,0x88,0x1A,0x5D,0x8C,0x15,0x1E,0x49,\r
+0x8D,0x15,0x48,0xDA,0x0B,0x99,0x87,0x5C,0x13,0xA4,0x36,0x67,0xE5,0xB3,0x77,0x86,\r
+0x1C,0xD7,0x1B,0x89,0x87,0x15,0x11,0x46,0x76,0x82,0x10,0x24,0xF1,0xE3,0x63,0xC2,\r
+0x5F,0x9B,0x14,0x86,0xC2,0x50,0xE4,0xF6,0x10,0xBB,0x29,0x7B,0xBC,0x51,0x2E,0x3D,\r
+0x3F,0xEA,0x05,0x97,0xE2,0x70,0xC0,0xF2,0xF5,0xDD,0x4F,0xF8,0x8D,0x35,0x1F,0x68,\r
+0x3E,0xFC,0x12,0x80,0xD4,0x46,0xD3,0xD7,0x67,0x91,0x03,0x26,0xF2,0xB2,0x60,0x90,\r
+0x22,0x44,0xB6,0x24,0x0C,0x9E,0xC1,0x1D,0x90,0xFB,0x69,0xBB,0x21,0x2B,0xB3,0xDA,\r
+0xCF,0x4F,0x50,0xC2,0xCF,0x5D,0xDB,0xC4,0xDA,0x63,0xF1,0x69,0x08,0x0D,0x9A,0xD5,\r
+0xB7,0xA2,0xC5,0x57,0x27,0xB5,0xBD,0x4A,0x53,0xB4,0x26,0x37,0xFE,0xA0,0x6C,0x8E,\r
+0xC9,0x61,0x78,0xEA,0x6D,0xFF,0x04,0xB9,0x54,0x8B,0x19,0x0F,0x1D,0x7D,0x8F,0xB0,\r
+0xC3,0xE3,0xF0,0x62,0x97,0x05,0x41,0x06,0x61,0xB9,0x2B,0x08,0x9A,0x34,0x08,0x7E,\r
+0x2C,0xE2,0x1E,0x8C,0x39,0xAB,0x80,0x69,0x5D,0x1C,0x8E,0x91,0xA2,0x72,0x30,0x00,\r
+0x26,0x60,0x96,0x04,0x35,0xA7,0x9E,0x7B,0x88,0x7F,0xED,0x27,0x6F,0xC8,0xFD,0x77,\r
+0xB1,0x8C,0xED,0x7F,0xF5,0x67,0xD6,0xF3,0x95,0xCC,0x5E,0x89,0x47,0xCE,0xD5,0x59,\r
+0x6F,0xAE,0x11,0x83,0x4F,0xDD,0x53,0xCC,0xE0,0xEE,0x7C,0xDE,0xD7,0x86,0x45,0x81,\r
+0x17,0x43,0x84,0x16,0xA6,0x34,0x14,0x62,0x18,0x3B,0xA9,0xF3,0x07,0x4E,0x95,0x99,\r
+0xAD,0x34,0x49,0xDB,0x99,0x0B,0x2C,0x65,0x12,0xB3,0x21,0x71,0xB1,0x63,0x23,0x02,\r
+0x27,0x76,0x81,0x13,0x58,0xCA,0x45,0xCD,0xEB,0x71,0xE3,0x4A,0xE3,0xD2,0x71,0xE1,\r
+0x96,0x95,0xD3,0x41,0xF7,0x65,0xA5,0x82,0x97,0xC4,0x56,0x83,0xE9,0xA1,0x7B,0x98,\r
+0xD3,0xF7,0xF4,0x66,0x77,0xE5,0x2D,0x8A,0x7C,0x0A,0x98,0xA6,0x46,0xEE,0xD4,0x78,\r
+0x87,0x97,0xC0,0x52,0x72,0xE0,0x18,0xBA,0x70,0xAA,0x38,0x0A,0xC3,0xD6,0x51,0xC5,\r
+0x2A,0xCC,0x36,0xA4,0x22,0xB0,0x88,0x7A,0xEF,0x51,0xC3,0x6E,0xAE,0x60,0x3C,0x1E,\r
+0xBD,0x20,0x4D,0xDF,0xB7,0x25,0x65,0x02,0xA3,0xE1,0x73,0x92,0x09,0x2D,0x9B,0xF4,\r
+0x00,0x6F,0xBF,0x2D,0x5B,0xC9,0x17,0x9C,0x98,0x7B,0xE9,0x33,0x4A,0xFC,0xD8,0x66,\r
+0x5A,0xA9,0x23,0xB1,0x7C,0xEE,0x75,0xD9,0x6A,0x26,0xB4,0x9C,0x9E,0x24,0x0C,0x6A,\r
+0xA8,0x06,0x7E,0xEC,0x62,0xF0,0x48,0xFA,0x3C,0x1A,0x88,0xF6,0x33,0x1A,0xA1,0xF9,\r
+0xA5,0xBC,0xC9,0x5B,0x7A,0xE8,0x12,0xB8,0xF1,0xFD,0x6F,0xDC,0xFC,0xD1,0x6E,0xFD,\r
+0x19,0xE5,0x2C,0xBE,0xA1,0x33,0x52,0x23,0x30,0xBA,0x28,0x5A,0x03,0x5E,0x91,0x8D,\r
+0xAA,0x0C,0x76,0xE4,0x25,0xB7,0xCE,0x3B,0x01,0xA8,0x3A,0x79,0xB2,0x32,0x20,0x50,\r
+0x1E,0xDD,0x13,0x81,0x66,0xF4,0x5C,0xEA,0x94,0xDB,0x49,0x9F,0xD0,0xC7,0x42,0xC7,\r
+0x9A,0x39,0x73,0xE1,0xBE,0x2C,0x4E,0x20,0xA9,0x69,0xFB,0x10,0x9B,0x14,0x09,0x5F,\r
+0x91,0xAD,0xEC,0x7E,0xDE,0x4C,0xAA,0xA4,0x0E,0x17,0x85,0xC9,0x3D,0x79,0xAF,0x94,\r
+0x03,0x73,0xA0,0x32,0x31,0xA3,0x8A,0x6B,0x36,0x92,0x00,0x74,0x43,0xDE,0xD1,0x4D,\r
+0xE4,0xFA,0xCE,0x5C,0x0F,0x9D,0x93,0x4C,0x89,0x68,0xFA,0x31,0xC1,0xA7,0x53,0xB6,\r
+0x9B,0x2F,0x64,0xF6,0x5E,0xCC,0x22,0xAC,0x4D,0x18,0x8A,0x85,0xF6,0xA2,0x64,0x84,\r
+0x28,0xC6,0x3E,0xAC,0xA7,0x35,0x35,0x42,0x47,0x90,0x02,0x07,0x55,0xFF,0xC7,0x7A,\r
+0xEE,0x8D,0x13,0x0D,0x34,0x14,0xB3,0xD0,0xF7,0x71,0x76,0x94,0xE1,0xB3,0xA2,0xD0,\r
+0xF6,0x95,0x51,0x57,0xD0,0x81,0xC2,0xA1,0xB9,0x92,0xDB,0xDA,0x8A,0x3D,0x47,0x5E,\r
+0x5F,0x3C,0x7F,0xD0,0x21,0x32,0x80,0xE3,0x58,0x3E,0x96,0x3B,0xC4,0x85,0xB1,0xE6,\r
+0xE8,0x8B,0x72,0x6A,0xBD,0x4A,0x64,0x07,0x0F,0xBF,0x40,0x6C,0x03,0xEA,0x19,0x89,\r
+0x88,0xEB,0xF6,0x8E,0x7E,0xC6,0x2B,0x48,0x1B,0xEF,0x04,0x78,0x26,0xDC,0x0A,0xBF,\r
+0xFC,0x9F,0x22,0x2E,0xE8,0x3C,0x47,0x24,0x97,0xF5,0x92,0xF4,0x19,0x66,0x8F,0x05,\r
+0x2A,0x49,0x8B,0x51,0x9A,0x53,0x5A,0x39,0xCA,0x07,0x3D,0xA9,0xA5,0x83,0xD6,0xE0,\r
+0x4E,0x2D,0x1F,0xA1,0xDB,0x15,0x5D,0x3E,0x99,0x96,0xFF,0xFA,0x7B,0x7F,0xF4,0x1C,\r
+0x52,0x31,0x4D,0xEF,0xED,0x0E,0x70,0x13,0xBC,0xA2,0xEE,0xDF,0x73,0xFF,0x7C,0x9C,\r
+0x3B,0x58,0xEB,0x20,0xFB,0x34,0x5C,0x3F,0xB1,0x90,0xD1,0xD2,0x89,0x22,0x5B,0x41,\r
+0x0B,0x68,0xAF,0x54,0xEE,0x12,0x6F,0x0C,0x75,0x08,0x8D,0x16,0xA1,0xA3,0xF2,0xC0,\r
+0x46,0x25,0x1D,0xAB,0x88,0x4D,0x56,0x35,0x30,0xB8,0x78,0x53,0xE2,0xAC,0xBE,0xCF,\r
+0xF2,0x91,0x41,0x43,0xB6,0xDE,0xFB,0x98,0x9F,0xF7,0x98,0xFC,0xB1,0xA7,0xE6,0xC4,\r
+0x61,0x02,0x58,0xC9,0x2E,0x82,0x3F,0x5C,0x9C,0xA6,0xCA,0xFF,0xC6,0x8D,0xBB,0xEE,\r
+0xF3,0x90,0x61,0x62,0x81,0xD3,0xC1,0xA2,0x32,0xC9,0x0B,0x51,0x35,0xC7,0x02,0xA4,\r
+0xE1,0x82,0x50,0x41,0xA9,0x7A,0x40,0x23,0x51,0x1C,0xBD,0x32,0x48,0x65,0xDD,0x06,\r
+0xB6,0xD5,0xD1,0x97,0x05,0x37,0xA1,0xC2,0x7A,0x4B,0xC1,0x19,0x45,0xD2,0x67,0xB1,\r
+0xCE,0xAD,0x17,0x29,0x7A,0xE2,0x0B,0x68,0x9A,0xC7,0xAD,0xF9,0x80,0xB5,0xC5,0xD6,\r
+0xED,0x8E,0x42,0x5F,0x4E,0xF3,0x2E,0x4D,0x02,0x8D,0x7F,0x61,0x12,0xF9,0x1B,0x9A,\r
+0x8B,0xE8,0xA7,0xDC,0xAE,0x42,0x7F,0x1C,0x93,0xE5,0x86,0xF0,0xCD,0x12,0x2F,0x71,\r
+0x9D,0xFE,0x86,0xEB,0x40,0x55,0x86,0xE5,0xD9,0x16,0x3F,0xBA,0x6D,0x53,0xCE,0x30,\r
+0x44,0x27,0x6C,0xD8,0x23,0x38,0x88,0xEB,0x7D,0x0A,0x87,0x1E,0x8F,0x0A,0x75,0x69,\r
+0x6B,0x08,0x2B,0xB0,0x4A,0xD7,0x0E,0x6D,0x70,0x38,0xB8,0x13,0x3F,0x4F,0x80,0x2C,\r
+0x50,0x33,0x3C,0x9C,0x70,0x60,0x83,0xE0,0xA8,0xF2,0xAA,0xCB,0xF1,0xB7,0xB6,0xD4,\r
+0xE4,0x87,0x60,0x74,0xAC,0x48,0x77,0x14,0x5D,0x0E,0xA3,0x3E,0xBE,0x18,0x56,0x7B,\r
+0xF5,0x96,0x00,0x05,0xF4,0x84,0xE3,0x80,0xC3,0x25,0x16,0xA0,0x06,0xDD,0x2B,0xBE,\r
+0x71,0x12,0x18,0x99,0xAB,0x70,0x48,0x2B,0xAE,0x93,0xCD,0xCD,0xD7,0x9E,0xB9,0xFD,\r
+0xBA,0xD9,0xC3,0x89,0xA8,0x6C,0x57,0x34,0x38,0xBA,0x72,0x5B,0xB5,0x87,0xC2,0xE4,\r
+0xD7,0xB4,0x75,0x52,0x09,0x9B,0x01,0x62,0x7C,0x2A,0xA6,0x1F,0x7D,0x57,0xDA,0x34,\r
+0x6F,0x0C,0x3B,0xA4,0xF9,0x3E,0x54,0x37,0x28,0xFA,0x22,0x4B,0xDF,0x1E,0x31,0x7D,\r
+0x6E,0x0D,0x1B,0x85,0x63,0x68,0x98,0xFB,0x31,0x98,0x59,0x52,0x67,0xDB,0x4C,0xB8,\r
+0x8F,0xEC,0xB7,0xC8,0x55,0x73,0xB5,0xD6,0x1A,0xCF,0x25,0x79,0xBB,0x2F,0x64,0x4C,\r
+0x84,0xE7,0xE4,0x90,0xC2,0x9F,0xCE,0xAD,0xD5,0x04,0x21,0xB6,0x56,0xC9,0x6F,0xAA,\r
+0x29,0x4A,0xDA,0x03,0x94,0xF5,0xF2,0x91,0xCB,0x27,0x1C,0xA8,0xA4,0x94,0xC0,0xF7,\r
+0xB4,0xD7,0xA0,0xE4,0xCE,0x33,0x6E,0x0D,0x16,0xDD,0x3B,0x75,0xE7,0x9B,0x8C,0xF8,\r
+0x4B,0x28,0x2F,0x94,0x0F,0xB5,0x29,0x4A,0xCD,0x46,0x7B,0xAE,0x5B,0x7E,0xD5,0x1D,\r
+0x19,0x7A,0x9E,0x77,0x11,0x07,0x85,0xE6,0x95,0x84,0xE1,0xF6,0xD4,0x81,0xA5,0xE2,\r
+0x74,0x17,0x28,0xAC,0x8E,0x63,0x7E,0x1D,0xC5,0x44,0x71,0xA6,0x79,0x77,0xFE,0x14,\r
+0xFD,0x9E,0x02,0x0F,0x66,0x5A,0xAF,0xCC,0xEC,0x62,0x7E,0x8F,0xFE,0x08,0x06,0x6B,\r
+0xBE,0xDD,0xD3,0x9D,0x5D,0xFB,0x35,0x56,0x00,0xFC,0x0C,0x63,0x43,0xFA,0x49,0x99,\r
+0x76,0x15,0x59,0xDF,0x77,0x58,0xBC,0xDF,0xB8,0xB2,0xFA,0xDB,0x1A,0x79,0x93,0x1A,\r
+0xF4,0x97,0x20,0x24,0xC8,0x1D,0x46,0x25,0x86,0x95,0xE3,0xE5,0xFD,0x17,0x1A,0x74,\r
+0xE2,0x81,0x01,0x13,0xB9,0x6E,0x44,0x27,0x10,0xBC,0x5C,0x73,0xD6,0x89,0xAF,0xEA,\r
+0x41,0x22,0x5C,0xED,0xB3,0xEC,0xCC,0xAF,0xE9,0x52,0x4B,0x8A,0x65,0xD3,0x46,0xB0,\r
+0x67,0x04,0x39,0xAE,0x6A,0xF6,0x0F,0x6C,0xD1,0x14,0x35,0xB2,0xE0,0xA4,0xB4,0xC7,\r
+0x05,0x66,0xCC,0x39,0xFF,0x10,0x7C,0x1F,0x92,0xC5,0xA7,0xF1,0x54,0xC1,0x65,0xA2,\r
+0x8A,0xE9,0x87,0xFD,0xF0,0xA0,0xC3,0xA0,0x69,0x5A,0xC3,0x0A,0x6F,0x5B,0xC4,0x38,\r
+0x2C,0x4F,0xEA,0x36,0x57,0x79,0xBD,0xDE,0x09,0xDE,0x27,0x6A,0x64,0xC4,0x50,0xA7,\r
+0xAA,0xC9,0x83,0xD9,0xAA,0x66,0x5F,0x3C,0xDA,0x47,0x6D,0xB9,0x37,0xCF,0x08,0xAC,\r
+0x49,0x2A,0x5E,0xE7,0xAD,0x5E,0x60,0x03,0x90,0xB4,0xD4,0xF3,0x49,0x72,0xCB,0x11,\r
+0x15,0x76,0x8C,0x69,0xA3,0xF8,0xC8,0xAB,0x8E,0x97,0xE9,0xED,0xD2,0xA9,0x8B,0xCA,\r
+0x2D,0x4E,0xCA,0x17,0x9F,0x61,0x6D,0x0E,0x20,0xF8,0x28,0x43,0x3D,0x47,0x8A,0x24,\r
+0x45,0x26,0x4C,0xF9,0x99,0x4F,0x45,0x26,0x63,0x29,0xBA,0x00,0xC0,0xA5,0x95,0xC6,\r
+0x3A,0x59,0xCB,0x01,0x0B,0x91,0x09,0x6A,0x55,0x0C,0xA9,0x36,0xC1,0xB2,0x83,0xD1,\r
+0xBF,0xDC,0xF3,0xBC,0x24,0x00,0xB7,0xD4,0x78,0x3A,0xB2,0x1B,0x31,0xE7,0x26,0x84,\r
+0x96,0xF5,0xD5,0xB3,0x6E,0xD2,0x2F,0x4C,0xBB,0xE3,0xA8,0xD8,0xDC,0x01,0x2D,0x62,\r
+0x54,0x37,0x2C,0x88,0x15,0x23,0xA5,0xC6,0xEF,0x33,0x2C,0x8C,0xD9,0x36,0x1F,0x55,\r
+0x06,0x65,0x9D,0x6B,0xEC,0x18,0x67,0x04,0x2E,0x9B,0x45,0x4D,0x53,0xFE,0x5D,0x9D,\r
+0xF1,0x92,0x10,0x11,0x82,0xCF,0xDE,0xBD,0xC0,0x74,0x44,0xA3,0x2D,0x43,0x9E,0x20,\r
+0x5E,0x3D,0x5F,0xF1,0x69,0xEA,0x10,0x73,0x40,0x7C,0xCC,0x23,0x68,0x64,0xFC,0x07,\r
+0xF0,0x93,0x30,0x30,0x6B,0xE0,0x18,0x7B,0x42,0x0D,0xBF,0x21,0x4F,0x5A,0xE5,0x39,\r
+0xD8,0xBB,0x36,0x1E,0x76,0x4E,0xAB,0xC8,0x82,0x85,0xF7,0xE1,0xD8,0x21,0x09,0x42,\r
+0xB0,0xD3,0xB0,0xF0,0xE6,0x9A,0xEF,0x8C,0x11,0x9C,0x7D,0x72,0xE9,0x33,0x2A,0x50,\r
+0x60,0x03,0x78,0xE8,0x1E,0xB7,0x3A,0x59,0xF8,0x32,0x3A,0x9B,0x91,0xA6,0xC7,0xC5,\r
+0xA7,0x08,0x52,0x87,0x31,0x52,0x6B,0x11,0x7D,0xD1,0xDE,0x8B,0x17,0x52,0x37,0x4D,\r
+0x79,0x44,0x1E,0x15,0x4E,0xD5,0x14,0xE9,0x6B,0xC6,0xDF,0x9C,0x21,0x41,0x12,0x7B,\r
+0xE8,0xFA,0xA0,0x3A,0xCB,0xED,0x91,0x54,0xCE,0x93,0x2F,0xC9,0x0C,0x5A,0x24,0x56,\r
+0x3A,0x62,0x38,0x70,0xE2,0xCB,0xB8,0x5B,0xC5,0x75,0xC2,0x2F,0xCF,0x40,0xFD,0x95,\r
+0x8E,0x12,0x48,0xB4,0xDE,0x9D,0x84,0x31,0xE0,0xBB,0x29,0xE1,0xAE,0x85,0x59,0xF4,\r
+0xB6,0x2D,0x77,0xB3,0x3D,0x40,0x67,0x0F,0x23,0x06,0x57,0x5C,0xE4,0x3C,0xAA,0xBE,\r
+0x10,0x85,0xDF,0xBD,0x61,0x92,0x3B,0x81,0x63,0xDD,0xCC,0x87,0xFA,0x01,0x89,0xA0,\r
+0x89,0x20,0x7A,0x81,0x59,0xD4,0x03,0xFF,0x62,0x33,0x23,0x69,0x54,0xC0,0xE6,0x0E,\r
+0x08,0x55,0x0F,0x75,0x84,0x2E,0xDE,0xD8,0x0D,0x2E,0x51,0x74,0x36,0x57,0x13,0x6C,\r
+0xA6,0xE6,0xBC,0x68,0xAC,0x28,0xF6,0xF6,0xE1,0x55,0xC6,0x0F,0xF6,0x1F,0x9B,0xAC,\r
+0x72,0xA2,0xF8,0xF8,0xC4,0xAE,0x9E,0x18,0xC2,0x47,0xF7,0x1D,0x65,0x95,0x82,0x3F,\r
+0x5F,0x77,0x2D,0x00,0x14,0x66,0x4E,0x00,0x2F,0xD2,0x8F,0x88,0x8C,0xD2,0x2C,0xD6,\r
+0xCB,0xE8,0xB2,0x0B,0x20,0x32,0x7A,0x60,0xF7,0x42,0xC7,0x18,0x9B,0xC4,0x2D,0xC1,\r
+0xF0,0x2A,0x70,0xF2,0x72,0x83,0x28,0x83,0xB5,0x8A,0x4D,0xD0,0x5A,0xAD,0x85,0x00,\r
+0x27,0x93,0xC9,0x9C,0x85,0x0E,0xDF,0xF9,0x76,0x37,0x33,0x6D,0xB4,0xAC,0x6A,0xEE,\r
+0x02,0x5D,0x07,0x77,0x2A,0x41,0x70,0x19,0x14,0x10,0x76,0x4A,0x34,0x24,0x62,0x6E,\r
+0xEF,0xC8,0x92,0x0F,0x6D,0x80,0x37,0x9F,0x4D,0xF5,0xCA,0xAF,0xE1,0x09,0x9A,0xBB,\r
+0x8B,0x33,0x69,0x90,0x00,0x36,0x5A,0x44,0x16,0x03,0x67,0x59,0xB1,0x99,0x5A,0xEB,\r
+0xB2,0xE2,0xB8,0x78,0x89,0x1C,0xD3,0xE7,0xEE,0x7C,0xE0,0x26,0x98,0x96,0x7C,0xC2,\r
+0x13,0x78,0x22,0x43,0xCA,0xCD,0x90,0x75,0xA1,0x8E,0x5D,0xD4,0x74,0xE4,0xE2,0x2E,\r
+0x77,0x83,0xD9,0xDC,0xF0,0xFA,0xAA,0x78,0x87,0xBD,0x48,0xE7,0xA1,0xC9,0x1A,0xFB,\r
+0x1D,0xBF,0xE5,0x8A,0x5D,0xC4,0x07,0xEB,0x28,0xE0,0xBA,0xBA,0xBF,0xF4,0x39,0xE5,\r
+0xDB,0x23,0x79,0xD0,0xC0,0xBE,0x9A,0x0C,0x64,0xEF,0xF9,0xB5,0x62,0xD3,0xC3,0x38,\r
+0x5D,0x64,0x3E,0x11,0x3F,0x31,0x65,0x7C,0x3D,0x0A,0x45,0x50,0xB9,0x93,0x58,0xE3,\r
+0x1E,0x42,0x18,0x74,0x13,0x27,0x49,0x46,0x5C,0xD0,0xFE,0x8A,0xA5,0xDD,0x0A,0xFF,\r
+0xF8,0x31,0x6B,0xE1,0x71,0xD2,0x2B,0xD1,0x8D,0xB5,0x4A,0xEF,0xE6,0x4F,0xDB,0xBC,\r
+0x48,0x8E,0xD4,0xEE,0xFE,0x99,0xA4,0x15,0x2C,0x2F,0x71,0x75,0x1D,0x2B,0x44,0x47,\r
+0x91,0xF0,0xAA,0x49,0x58,0xF4,0x02,0xDE,0xB8,0xB0,0x7A,0xEA,0x7D,0xCF,0xC0,0x27,\r
+0xB0,0xF1,0xAB,0x69,0x02,0x47,0x58,0x37,0x7B,0x0D,0x04,0x57,0xCC,0x12,0xAC,0x96,\r
+0xF5,0x0B,0x51,0xD6,0x80,0x3E,0xDA,0xCC,0xF2,0x63,0xE3,0x39,0xF2,0x0B,0x8B,0xA8,\r
+0x86,0x09,0x53,0xA7,0x96,0x1F,0xCC,0xFB,0x47,0xFD,0xC8,0xA7,0x64,0xB4,0xA2,0x3E,\r
+0x04,0x81,0xDB,0xAD,0x35,0x42,0x6F,0x05,0xAE,0xA7,0x7B,0xFD,0x9D,0xA3,0x4C,0xC7,\r
+0xBD,0xCB,0x91,0x5E,0xE9,0x98,0xB3,0x03,0x26,0x27,0x73,0x7D,0xAD,0xD7,0x08,0xF7,\r
+0xD0,0xC5,0x9F,0x3D,0x30,0x72,0x6A,0x30,0x9D,0x7E,0x91,0x24,0x09,0x6F,0x14,0x53,\r
+0x3F,0x43,0x19,0x54,0x1F,0x35,0x45,0x58,0x68,0x3B,0x21,0x61,0x04,0x50,0x26,0x5E,\r
+0x88,0xCE,0x94,0x6E,0x24,0x22,0x7E,0x74,0x5E,0xC3,0xEF,0x99,0xDC,0x42,0xEC,0x86,\r
+0xDF,0xEC,0xB6,0x1B,0xC2,0xCF,0x98,0x7F,0x8F,0xA6,0x5B,0xFC,0x0E,0x29,0x55,0x54,\r
+0x0A,0x46,0x1C,0x64,0xBA,0x09,0xE0,0xC1,0x2D,0xC1,0x9E,0x9B,0xEE,0x45,0xD9,0xB4,\r
+0x1B,0x63,0x39,0x50,0x99,0x5C,0xC3,0xB7,0xF3,0x8D,0x0C,0xD7,0x76,0x97,0x93,0x2C,\r
+0xAA,0x32,0x68,0xB0,0xFF,0xB9,0xA5,0x34,0xC7,0x66,0xD3,0x3C,0xE7,0x6E,0xFB,0xBD,\r
+0x73,0x4C,0x16,0x17,0xA3,0x6B,0xF9,0xBA,0x32,0x23,0x63,0x79,0x08,0x4E,0x34,0x52,\r
+0xD6,0x19,0x43,0xE7,0x1B,0x25,0x41,0x4C,0xD9,0x6A,0xC1,0x30,0x5C,0xCA,0xE4,0x06,\r
+0x80,0xD5,0x8F,0x7D,0x1A,0x05,0x40,0x6D,0xA4,0xAF,0x79,0xF5,0x45,0xB1,0x86,0x1F,\r
+0x9B,0xF8,0xA2,0x4B,0xFB,0xA9,0xA1,0x20,0x8C,0x5B,0xA5,0x01,0x6E,0xCD,0xD1,0x34,\r
+0xA0,0x3A,0x60,0xB2,0x90,0x7E,0xCA,0x9C,0xBE,0x6C,0xA0,0x36,0x29,0x4B,0x10,0x73,\r
+0x6C,0xAE,0xF4,0xEA,0x81,0x1E,0xDB,0xED,0xC3,0xA9,0x18,0xF3,0xB7,0xFE,0x3B,0xED,\r
+0x98,0x05,0x5F,0xB5,0x05,0x06,0x5F,0x71,0x51,0xEA,0xC9,0xB0,0xDA,0x25,0x8D,0x80,\r
+0x84,0x1A,0x40,0xB6,0xCE,0xDD,0x94,0x61,0x2A,0xF3,0xAB,0xA9,0x4C,0x9A,0xA4,0x16,\r
+0x2E,0x66,0x3C,0x60,0xFC,0xE8,0xA6,0x66,0xE2,0xA8,0x38,0xF2,0x6F,0xEC,0xF1,0x35,\r
+0xD4,0x0A,0x50,0xF6,0x88,0x3C,0xD2,0xC6,0x67,0x12,0x07,0x48,0xE3,0x7A,0xEB,0xB9,\r
+0xBB,0x17,0x4D,0x84,0x5E,0x95,0x04,0xB9,0x3E,0xF7,0xBB,0xAD,0xBE,0xD5,0x19,0xE4,\r
+0xFD,0x10,0x4A,0xC5,0x3A,0x01,0x60,0x49,0x1C,0x0B,0x65,0x51,0xED,0x17,0x88,0xB7,\r
+0xFC,0xFE,0xA4,0x2A,0x9A,0x0D,0xC0,0xE5,0x4A,0xC7,0xFF,0x9D,0x83,0x9E,0x6F,0xD9,\r
+0x69,0x8F,0xD5,0xCE,0x82,0x4F,0xD8,0xBF,0xAF,0x49,0x94,0x13,0xCD,0x33,0x8C,0x97,\r
+0xDA,0xCD,0x97,0x3F,0x2B,0x61,0x71,0x38,0x59,0xF1,0xDA,0xAB,0x2C,0x7E,0x20,0x76,\r
+0xA2,0x29,0x73,0xA3,0x9C,0x6C,0xC6,0x82,0xF1,0x9E,0x1D,0xC4,0x7B,0xA8,0xA1,0x21,\r
+0x36,0xB6,0xEC,0xA8,0x86,0x5F,0xDC,0xAB,0x0E,0xD3,0xAF,0x89,0xEB,0x70,0xE9,0xB1,\r
+0x6A,0x72,0x28,0x30,0x15,0x46,0x4F,0x21,0x53,0xF9,0xD8,0xA3,0xE8,0x22,0xB8,0xB2,\r
+0x3B,0x8C,0xD6,0x9F,0x87,0x7F,0xDD,0x8A,0xEA,0xB3,0x2B,0xE9,0x46,0xE3,0xD7,0x1C,\r
+0x92,0x0D,0x57,0xB7,0x95,0x4E,0xCF,0xA9,0x35,0x11,0x56,0x4B,0x25,0x55,0x02,0x7F,\r
+0xE6,0x3D,0x67,0xF3,0x26,0x53,0x7C,0x07,0x94,0x8B,0x6D,0xD1,0xC8,0x06,0xBC,0x92,\r
+0xDC,0x11,0x4B,0xE5,0x4F,0xF5,0x15,0xC8,0xB3,0x56,0x97,0x0C,0xC5,0x39,0x8E,0x9F,\r
+0xFA,0x22,0x78,0xF0,0x7F,0xB1,0x25,0xBC,0x1A,0xD7,0xBF,0x8D,0x01,0x65,0x16,0x5B,\r
+0xA5,0x1B,0x41,0x96,0x32,0x03,0x68,0x43,0x56,0xD8,0xFC,0x82,0x44,0x90,0xA6,0x1E,\r
+0x45,0x9E,0x18,0x8C,0xEB,0x35,0xD4,0x0F,0x34,0xFC,0x19,0xEF,0x01,0xD6,0x06,0x0D,\r
+0x7A,0xA1,0x1F,0xB4,0x36,0x0B,0x37,0xEC,0x89,0x82,0xDA,0x52,0xF2,0x9C,0xBF,0x47,\r
+0x48,0x93,0x2A,0xB3,0x7F,0xC5,0xB0,0x6B,0x01,0x88,0x58,0xDA,0x4D,0x66,0xFA,0xBD,\r
+0xED,0x36,0x16,0x2A,0x39,0xBB,0x88,0x53,0xEF,0x67,0x59,0x34,0x22,0xC8,0x3B,0x13,\r
+0x2C,0xF7,0xBE,0x43,0x7E,0xD3,0xA7,0x7C,0xF4,0x74,0x51,0x2F,0xB9,0x13,0x7B,0xC8,\r
+0x60,0xBB,0x2C,0x9D,0xF9,0x2B,0xD8,0x03,0xE3,0x75,0x47,0x38,0x9C,0x25,0x68,0xFE,\r
+0x0A,0xD1,0xDB,0x00,0x60,0x61,0x0B,0xD0,0x47,0x69,0xFF,0x9C,0x56,0xFD,0x7A,0x26,\r
+0x92,0x49,0x91,0xD2,0x46,0x6E,0x22,0xF9,0xA1,0x84,0xF4,0x7A,0x8F,0x3E,0x60,0xE5,\r
+0x42,0x99,0x59,0xCA,0x28,0xB9,0x9B,0x40,0xB8,0xE6,0x8F,0x63,0x2E,0x68,0x97,0xB3,\r
+0x80,0x5B,0xA0,0xF1,0x99,0x5A,0xC9,0x12,0x70,0x6C,0xCD,0xAB,0x86,0xA9,0xFE,0x72,\r
+0x35,0xEE,0xDC,0x38,0xEA,0x23,0xC3,0x18,0x22,0xDD,0x2E,0xF9,0xC9,0x06,0x1E,0xDD,\r
+0xFB,0x20,0x37,0x1D,0xA5,0xC3,0x6C,0xB7,0x05,0x98,0x4C,0xDE,0xC1,0x86,0x96,0x5D,\r
+0x8E,0x55,0xC3,0x9C,0x83,0xCC,0x45,0x9E,0x67,0x6D,0xDB,0xBC,0x30,0xC4,0x25,0x1F,\r
+0x3D,0xE6,0xDE,0x32,0x85,0xE2,0x6D,0xB6,0x1C,0xFA,0x37,0xC7,0xB8,0x04,0x6D,0xDF,\r
+0x1F,0xC4,0xAB,0x65,0xCD,0x3A,0xFD,0x26,0xE0,0x24,0x15,0x3B,0x87,0xBE,0xE8,0x65,\r
+0xCA,0x11,0x53,0x48,0x05,0x22,0x2D,0xF6,0x75,0x5C,0xF8,0xAE,0x29,0x57,0xAF,0x8C,\r
+0xD7,0x0C,0x21,0x27,0x6F,0xD1,0xB4,0x6F,0xD2,0x11,0x12,0x09,0x92,0x8D,0xCE,0x56,\r
+0xEB,0x30,0x77,0x4D,0x51,0x42,0x19,0xC2,0x8F,0xE3,0xBD,0x54,0xB1,0x93,0xF3,0x48,\r
+0x0C,0xD7,0xBA,0x67,0x9A,0x46,0xD6,0x0D,0x38,0xEE,0x07,0xE3,0xF3,0x8B,0xA9,0x50,\r
+0x4B,0x90,0x7B,0xE1,0x15,0x36,0x29,0xF2,0xDD,0x52,0x5E,0x06,0x68,0x50,0xE9,0x8B,\r
+0x5B,0x80,0x3B,0xB1,0x9D,0x7E,0xE9,0x32,0x31,0xCC,0x2C,0xEA,0xF1,0x83,0xA3,0x58,\r
+0xA0,0x7B,0xA4,0xD5,0x2B,0xA5,0x84,0x5F,0xC7,0x61,0x77,0x1C,0x31,0xD3,0x33,0x08,\r
+0x10,0xCB,0xE8,0x29,0x66,0x4F,0x23,0xF8,0xBC,0xF6,0x9B,0x67,0x49,0x46,0xDE,0x9D,\r
+0x8A,0x51,0xD3,0x88,0xB7,0xDD,0x60,0xBB,0x4E,0x4B,0xD4,0x95,0xD7,0xAA,0xAC,0x71,\r
+0x63,0xB8,0x7D,0xCF,0x95,0xF6,0x69,0xB2,0x51,0x48,0xC8,0x8A,0x20,0xC0,0x31,0x1B,\r
+0x99,0x42,0xC2,0x8A,0xEC,0x0D,0xEB,0x30,0x3F,0xAF,0x41,0xE4,0x07,0xFE,0x28,0x25,\r
+0xE9,0x32,0x06,0x3E,0xE9,0x3F,0xDC,0x07,0x95,0xD0,0x94,0x4E,0xE7,0xAF,0x99,0x74,\r
+0x61,0xBA,0x0C,0xBC,0xB4,0xC1,0x7F,0xA4,0xCF,0x63,0x7D,0x14,0x09,0x56,0x8E,0x8D,\r
+0x59,0x82,0x4A,0xC2,0x79,0xEB,0x98,0x43,0x87,0xE1,0xB7,0x5C,0x70,0xD4,0x75,0x0F,\r
+0x2A,0xF1,0xDF,0x24,0x8C,0x7C,0xFA,0x21,0xE2,0x55,0x66,0x39,0xA1,0x97,0xE7,0x4C,\r
+0x98,0x43,0xE2,0xAB,0x5F,0xE4,0xB1,0x6A,0x82,0xD1,0x82,0x59,0x6B,0x4F,0xF5,0x94,\r
+0xE6,0x3D,0x45,0x72,0x32,0x2F,0x17,0xCC,0x1D,0xDA,0x16,0xC6,0xEF,0x2F,0x11,0xF4,\r
+0x2E,0xF5,0xCF,0x30,0xA2,0xFB,0x53,0x88,0xF3,0x35,0x17,0x28,0x72,0xDC,0x7F,0x07,\r
+0x84,0x5F,0xB0,0xE5,0x64,0x45,0x2B,0xF0,0x94,0xF0,0xB5,0x4F,0xFE,0x3C,0x13,0xE7,\r
+0x5A,0x81,0x1B,0x90,0x12,0x0E,0x16,0xCD,0x54,0x78,0xFD,0x8F,0x50,0xD5,0x54,0x0E,\r
+0x0B,0xD0,0xFB,0x21,0xF7,0x8D,0x70,0xAB,0xBF,0xA7,0xC9,0x64,0x38,0x44,0xAD,0x9F,\r
+0xAD,0x76,0x96,0xEA,0xD9,0x0A,0xD9,0x02,0x4C,0x3A,0xA7,0x97,0xBF,0x3B,0x55,0xE0,\r
+0xA3,0x78,0xF5,0x87,0x33,0x39,0x00,0xDB,0x15,0xD8,0x1C,0xCE,0xA3,0x9F,0xED,0x44,\r
+0xA6,0x7D,0xC5,0xB2,0x89,0x4E,0xCD,0x16,0xF1,0x44,0x64,0x2A,0x47,0xEE,0x78,0x35,\r
+0x2B,0xF0,0xFF,0x05,0x9E,0x62,0xF6,0x2D,0x09,0x8A,0x52,0xD2,0x8D,0x36,0x6A,0xED,\r
+0xC6,0x1D,0x41,0x56,0xB5,0xD7,0x68,0xB3,0x9B,0xB3,0xF9,0x40,0x90,0x85,0xC4,0x5E,\r
+0x52,0x89,0x19,0x9A,0xD5,0xA6,0x79,0xA2,0x5E,0x0B,0x84,0x85,0xBB,0x1B,0x71,0xC0,\r
+0x72,0xA9,0x1D,0xBE,0x76,0x5B,0x27,0xFC,0xC1,0x00,0x10,0x1A,0x0F,0x7E,0xA0,0xA5,\r
+0x6D,0xB6,0x1E,0xA2,0xAD,0x4B,0xEC,0x37,0xD8,0x62,0x6B,0x03,0x26,0xE8,0x1F,0x33,\r
+0x71,0xAA,0x4C,0xEC,0x8E,0x76,0xF2,0x29,0x58,0x6A,0xE3,0x83,0x4F,0x6E,0xF0,0xB5,\r
+0x24,0xFF,0xBC,0x49,0xC0,0x80,0x4A,0x91,0x11,0xC8,0x08,0xCA,0x9F,0x3A,0x74,0xE1,\r
+0x90,0x4B,0xE0,0xA1,0x02,0x1A,0x12,0xC9,0x69,0x0E,0xB6,0xB2,0x7A,0x5C,0xF7,0x87,\r
+0xBD,0x66,0xD6,0xBA,0xAE,0x57,0xF3,0x28,0x9D,0xD2,0x9E,0x46,0x2D,0x77,0x8B,0xAC,\r
+0xE7,0x3C,0x65,0x53,0xE4,0x85,0x6B,0xB0,0x7B,0x3F,0x95,0xA0,0x27,0xFF,0x09,0x24,\r
+0x96,0x4D,0x81,0xC6,0xA6,0xDF,0x73,0xA8,0xF5,0x54,0x70,0x2E,0xC4,0xB1,0xA4,0x6A,\r
+0x41,0x9A,0x08,0x98,0xC7,0xB8,0x75,0xAE,0xAC,0xB6,0xCB,0x77,0x0A,0x49,0x92,0x92,\r
+0xA5,0x7E,0x94,0xE0,0xCA,0x02,0xC2,0x19,0xC3,0x71,0x63,0x18,0x8B,0x1E,0x44,0xC5,\r
+0x62,0xB9,0x5D,0xEE,0x97,0xFC,0x61,0xBA,0x20,0xAC,0x5D,0xFB,0x40,0xD1,0x40,0x0A,\r
+0x0E,0xD5,0xCB,0x14,0x43,0x5C,0x15,0xCE,0x9A,0x93,0xD8,0x41,0x5A,0x5D,0xD6,0x86,\r
+0x78,0xA3,0x6E,0xC7,0xAA,0x73,0xD3,0x08,0x39,0xCE,0x26,0xE2,0x23,0xDF,0x2D,0x04,\r
+0x7F,0xA4,0x2F,0x81,0x3E,0x83,0xB7,0x6C,0xC5,0x10,0x04,0x1E,0xB2,0x8C,0xEF,0x57,\r
+0x79,0xA2,0x4E,0xE6,0x5E,0xF2,0xA6,0x7D,0x64,0x3C,0x89,0xBF,0x25,0xF7,0x03,0x2C,\r
+0x55,0x8E,0x58,0xDC,0xF8,0x3D,0xCF,0x14,0xB9,0xC6,0xAE,0x62,0x17,0xFA,0x3C,0x21,\r
+0x73,0xA8,0x3D,0x9F,0xA8,0x79,0xDB,0x00,0xEA,0x57,0x6C,0x31,0x0D,0x76,0xAA,0xAD,\r
+0x4A,0x91,0x5B,0xC0,0x1A,0x86,0x96,0x4D,0xE5,0x14,0x20,0x3E,0xBD,0x33,0x5F,0xE8,\r
+0x1A,0xC1,0x9B,0x50,0xED,0x1B,0xFC,0x27,0xCB,0x73,0x69,0x10,0x13,0xDA,0x18,0x01,\r
+0xDE,0x05,0x03,0x0C,0xF4,0x91,0x6F,0xB4,0xE1,0x04,0x34,0x3A,0x42,0xD9,0x4A,0x02,\r
+0x65,0xBE,0x1C,0xA8,0xE5,0x93,0x7C,0xA7,0x23,0xFD,0x0F,0xF8,0xA9,0x17,0x6F,0xCC,\r
+0xE4,0x3F,0x34,0x01,0xD4,0xB0,0x6E,0xB5,0x81,0x80,0xD0,0x5A,0x7C,0x74,0xD9,0xAF,\r
+0x1D,0xF2,0xDA,0xBB,0x1F,0x03,0x37,0x60,0x52,0x28,0x06,0x00,0xB1,0xA1,0x6C,0x99,\r
+0xE3,0x51,0x79,0xE6,0x97,0x09,0xBF,0xE2,0x45,0xD1,0xE8,0xF9,0xEB,0x48,0xDF,0xC3,\r
+0xD1,0x66,0x4E,0xE3,0xE7,0xCD,0xCF,0x56,0xF4,0x80,0x08,0xA8,0x41,0x9D,0xA0,0x69,\r
+0x2A,0xE4,0xCC,0x9A,0x1D,0x72,0x35,0x13,0xED,0xBE,0x2F,0x96,0x2F,0x14,0x47,0x07,\r
+0xF3,0x9A,0xB2,0x3D,0x98,0x4A,0xB0,0xAE,0xCD,0x51,0xE0,0x79,0x63,0xCA,0xD5,0x4B,\r
+0x38,0x3C,0x14,0x50,0xE6,0xED,0xCE,0x77,0x29,0x31,0x64,0x19,0xFC,0x5E,0xDE,0xD4,\r
+0xA0,0x77,0x5F,0x83,0x54,0xD0,0x7C,0xF8,0x3B,0xE9,0xAE,0xC1,0x9C,0xBA,0x5A,0xB4,\r
+0x37,0x15,0x3D,0x76,0x27,0x45,0x0F,0x1E,0xA9,0xAA,0x7F,0x82,0xF9,0x6B,0xEE,0xD1,\r
+0xEA,0xA4,0x8C,0x1A,0x35,0x74,0x1D,0x3D,0x35,0x2E,0x67,0x06,0xA3,0x82,0x5D,0x8B,\r
+0x9A,0x5B,0x73,0x95,0x72,0xB5,0x5A,0xBB,0x75,0xF5,0xFC,0xDD,0x46,0xDB,0xE1,0x6E,\r
+0x9E,0x94,0xBC,0x5E,0x95,0x78,0xBD,0x91,0x2F,0xED,0xBE,0xC5,0xF1,0x61,0xEC,0xD9,\r
+0x0D,0x39,0x11,0x60,0xA9,0x2E,0x81,0xFB,0x12,0xF3,0x9D,0xDB,0xAC,0xCE,0x1E,0x84,\r
+0x01,0xED,0xC5,0xB8,0xF4,0xDC,0xDC,0x54,0x70,0xD4,0xD8,0xFC,0x30,0x08,0x44,0x18,\r
+0x93,0xAE,0x86,0x69,0x6E,0xE7,0x46,0xF5,0x02,0x38,0x46,0x10,0xC2,0x47,0xF9,0xEA,\r
+0x79,0x09,0x21,0x24,0xDE,0xAB,0xF6,0x09,0xEF,0xAD,0x3E,0x85,0xB9,0xAB,0x6E,0x91,\r
+0xA2,0x64,0x4C,0x92,0x25,0x34,0x0D,0x6D,0x7F,0xFD,0xFE,0xD5,0x4F,0xF0,0xC3,0x67,\r
+0x1F,0xE1,0xC9,0xAA,0x85,0x38,0xAD,0xC1,0x4A,0xF8,0xCE,0xD0,0x7B,0x90,0x97,0x53,\r
+0xFF,0x4E,0x66,0xE5,0x4B,0xD3,0x63,0xE4,0xC2,0x78,0xC6,0x50,0x5C,0xF2,0xD2,0x74,\r
+0x86,0x44,0x6C,0x96,0xFE,0xAF,0xD6,0x2D,0x22,0xD7,0x89,0xFF,0x0E,0x11,0x63,0x26,\r
+0x65,0x16,0x3E,0x27,0x3C,0x56,0x14,0x16,0x4B,0x16,0x21,0x3E,0xC6,0x53,0xE9,0xEE,\r
+0xFE,0xA0,0x88,0x0A,0xB4,0x5C,0x9C,0x94,0x73,0x29,0x26,0x01,0x0B,0x24,0x53,0x23,\r
+0xE6,0x70,0x58,0xC2,0x61,0xA4,0x49,0xB9,0x34,0xC0,0x88,0xE8,0x9E,0xC9,0x2B,0xB6,\r
+0x3E,0xE0,0xC8,0x8A,0x43,0xD1,0x6B,0xEE,0xB1,0x7A,0xB7,0x52,0x62,0xEB,0xF5,0x4A,\r
+0x10,0xC8,0xE0,0x8C,0xF0,0xCC,0xD8,0x40,0xF9,0xBA,0x3F,0x92,0x19,0x07,0x62,0x31,\r
+0x67,0x05,0x2D,0x36,0x93,0x19,0xBB,0xF6,0xE7,0xB6,0x2D,0x9E,0x91,0x85,0x68,0xB9,\r
+0x19,0x3D,0x15,0x70,0x36,0x25,0x1E,0x6F,0x26,0x18,0x42,0x30,0x7F,0x84,0x87,0x57,\r
+0xD7,0xBA,0x92,0x39,0x04,0x10,0x2C,0x68,0x63,0xE2,0xFD,0xCA,0xF7,0x06,0x8D,0xDF,\r
+0xE9,0x59,0x71,0xE4,0x3B,0x17,0x13,0x50,0xDA,0xA8,0x0E,0x80,0x4A,0xC5,0xF3,0x62,\r
+0xB2,0xAF,0x87,0x49,0xEC,0x9E,0xC4,0x0E,0xBC,0x40,0x80,0x68,0xDF,0x28,0x8B,0xF7,\r
+0xBD,0x86,0xAE,0x6F,0x74,0xD4,0x5C,0xDC,0xA6,0x83,0x59,0xAB,0x39,0x23,0x66,0x11,\r
+0xF7,0x55,0x7D,0xF6,0x1E,0x23,0x36,0x41,0xB4,0x5B,0x93,0x73,0x9D,0x9B,0x7A,0xB5,\r
+0x0F,0x2A,0x02,0x71,0x52,0xB1,0x7A,0x9F,0xA7,0x6D,0xB6,0x45,0x8A,0x8D,0x7B,0xA2,\r
+0x5A,0x1B,0x33,0x15,0x34,0x54,0x1C,0x1C,0x83,0x4D,0xB2,0x65,0x9B,0xFC,0x1B,0xB3,\r
+0xA5,0x56,0x7E,0xA7,0x0D,0x32,0x25,0x43,0x76,0x08,0x02,0x20,0x94,0xB0,0x58,0xBC,\r
+0xE1,0x42,0x6A,0xF7,0x2B,0x57,0x03,0x00,0xE0,0x84,0x18,0xAC,0xC7,0x72,0xC9,0xEF,\r
+0x2E,0x2B,0x03,0x51,0x07,0x41,0x2F,0x3A,0xDF,0x89,0x2A,0xA1,0x1A,0x55,0x33,0x32,\r
+0x6C,0xE3,0xCB,0xDB,0x9A,0x3B,0xB2,0xDD,0x05,0x0A,0x73,0x22,0xFF,0x0C,0x8F,0xD7,\r
+0x4F,0xF1,0xD9,0xEA,0x1B,0x13,0x33,0x74,0xB3,0x69,0xA6,0x41,0x5D,0xD3,0xF2,0x75,\r
+0x4D,0xE2,0xCA,0xFB,0xA0,0x0C,0x88,0xD0,0x96,0xA7,0x4D,0x8F,0x9F,0xE8,0x0B,0xB7,\r
+0xC7,0x71,0x59,0xE2,0x64,0x94,0x4C,0x8C,0xC4,0xA4,0x1C,0x8C,0xB5,0xB5,0x7C,0x9D,\r
+0xDE,0x4F,0x67,0xC5,0xDB,0x9B,0xF3,0x3C,0x98,0x60,0x84,0x48,0xBD,0xBF,0x7E,0x95,\r
+0x64,0xF8,0xD0,0xC8,0x3F,0x07,0x17,0x44,0x4E,0x37,0x05,0x1F,0xD2,0x17,0xB9,0xFA,\r
+0x03,0xFE,0xD6,0xA9,0xE8,0x8E,0xC0,0x1A,0x78,0xCF,0xCB,0xE7,0x8B,0xAC,0x5B,0xA3,\r
+0x59,0xE6,0xCE,0xEB,0x99,0x6A,0xB1,0x8F,0xD5,0x81,0x28,0xA9,0x05,0x49,0x30,0x2D,\r
+0x5F,0x3A,0x12,0x31,0x01,0x20,0x29,0x5D,0x33,0xF2,0xBD,0xDA,0xBB,0xD8,0x1F,0x93,\r
+0xAF,0x5E,0x76,0xA5,0x06,0x61,0x2E,0x1B,0xF1,0xA1,0x2C,0x89,0x47,0xFA,0xC1,0x6F,\r
+0x80,0x98,0xB0,0x4C,0x70,0xC4,0x58,0xC8,0x0A,0x23,0x55,0x0B,0xE4,0x04,0x9C,0xCC,\r
+0x20,0xEC,0xC4,0x98,0x1C,0x52,0x34,0x32,0x9C,0xAF,0x4F,0x87,0x5E,0x81,0xA3,0x76,\r
+0x97,0x61,0x49,0xA2,0x13,0x11,0x3B,0x7E,0xC3,0x96,0x29,0xBE,0xA6,0xB7,0x6D,0x8E,\r
+0x87,0xAA,0x82,0x79,0x0C,0x12,0x24,0x62,0x7C,0x00,0x00,0x28,0xBF,0xCC,0x0F,0x97,\r
+0x7A,0xF4,0xDC,0xDA,0x2C,0x16,0x04,0x46,0xAD,0x65,0xB4,0x4D,0x20,0x58,0x04,0x08,\r
+0x0B,0xE5,0xCD,0xBA,0xB8,0x4E,0x90,0x8A,0x18,0xFB,0x9F,0xD3,0xE5,0x25,0xBC,0xCD,\r
+0x8B,0x7E,0x56,0xA1,0xC3,0xD9,0xEB,0x66,0x57,0x09,0x22,0x21,0xE3,0x42,0xDD,0xCB,\r
+0xC6,0x9F,0xB7,0x0D,0xEE,0xEF,0xC6,0x7D,0x2B,0x22,0x75,0x0A,0x17,0x6A,0x01,0x3F,\r
+0x5C,0xC7,0xEF,0xCF,0x5A,0xB3,0x72,0x95,0xA8,0x44,0x90,0x6C,0x6F,0xD4,0xC7,0x47,\r
+0xAA,0x7F,0x57,0x81,0x0F,0x43,0x27,0x30,0x2C,0x10,0x40,0x38,0x26,0x3F,0x65,0x0E,\r
+0x51,0xFD,0xD5,0xF8,0x75,0xF4,0x5D,0xFD,0x71,0x3A,0x37,0x12,0xC1,0x15,0xA8,0xE9,\r
+0xD2,0x9B,0xB3,0x1D,0x24,0x14,0x0C,0x4C,0x88,0xAB,0x5F,0x83,0x2A,0x21,0x77,0x02,\r
+0x99,0xA6,0x8E,0x6B,0xFA,0xBF,0xD2,0x39,0xCF,0x42,0xF1,0x6A,0xEA,0x69,0xFF,0xC2,\r
+0x27,0xDE,0xF6,0xAD,0x50,0xC0,0x78,0xEC,0xA3,0xA2,0x7D,0x8A,0x8D,0xCB,0x3A,0xA5,\r
+0xBE,0x7B,0x53,0x91,0x55,0xF0,0x7D,0xD9,0xB6,0x48,0x82,0x60,0x77,0x8E,0x85,0x5F,\r
+0x92,0x40,0x68,0x86,0xD8,0xCA,0xF0,0x6E,0xA4,0x90,0x48,0xB8,0x8F,0xB8,0x4B,0xA7,\r
+0xE5,0x8D,0xA5,0x3C,0xDD,0xFA,0xF5,0x5B,0x31,0xE1,0xAC,0xC9,0x6B,0xC0,0xD7,0x43,\r
+0xD6,0x54,0x7C,0xD6,0xD3,0x99,0xFB,0x36,0x89,0x45,0xB0,0x6D,0x32,0x7B,0x35,0x1A,\r
+0x17,0x18,0x3B,0x7E,0xDF,0xE2,0xFC,0x6F,0x4B,0xFF,0xE6,0xDC,0xCE,0x1E,0x82,0xED,\r
+0x58,0xEA,0xC9,0xC3,0x33,0x7C,0x10,0x1D,0xEA,0x65,0xDD,0x46,0x8D,0x8C,0x53,0xAE,\r
+0xB4,0x91,0xB2,0x54,0xA6,0x04,0x85,0xF0,0x16,0xD5,0x91,0xF6,0x2A,0x66,0x1E,0x09,\r
+0xEF,0x67,0x44,0xF9,0xF6,0xC4,0xD5,0x60,0x72,0x2E,0x0E,0x0D,0x47,0xBD,0xA8,0x64,\r
+0x9D,0x8B,0xA8,0x67,0x25,0x5D,0x06,0x2A,0x22,0x3E,0x4E,0x1D,0x87,0xF5,0x20,0xA4,\r
+0xC4,0x6E,0x4D,0xDB,0xFE,0xC6,0xDD,0x6A,0xA4,0x79,0x8F,0x5A,0x78,0x85,0xAF,0x5B,\r
+0x7E,0xD9,0xFA,0xD6,0xE6,0x84,0xC5,0x30,0x8E,0x9E,0x42,0xBD,0xB7,0x81,0x64,0x94,\r
+0xD1,0x84,0xA7,0x24,0xF8,0xA7,0xDB,0x0D,0xE4,0xA2,0x14,0x81,0x1A,0x12,0x5A,0x39,\r
+0xD5,0x4B,0x68,0xEF,0x5A,0xDA,0x79,0xD2,0xB1,0x93,0x70,0xB0,0xB9,0xEC,0x07,0x9A,\r
+0x41,0xD4,0xF7,0xE4,0x3A,0x5E,0x19,0x36,0x68,0xED,0xD7,0xCE,0x1F,0x27,0x6A,0x3C,\r
+0xA5,0xB4,0x97,0x60,0xE2,0x94,0xC1,0x24,0xE7,0x5F,0xEA,0x7C,0x54,0xBF,0xB9,0x77,\r
+0x74,0xD1,0xF2,0xD4,0xA1,0x45,0x82,0xB6,0x01,0x2C,0x7F,0x0F,0x36,0x28,0x4C,0x15,\r
+0xBE,0x99,0xBA,0x56,0x23,0x3C,0x00,0x4D,0x7F,0x14,0x39,0x37,0xD1,0x02,0x81,0xF2,\r
+0x57,0xC3,0xE0,0xE5,0xDA,0xD2,0xF9,0x5A,0xFD,0x9C,0x33,0xBF,0x72,0xFC,0xDC,0x51,\r
+0x82,0x69,0x4A,0x9A,0x8B,0x32,0xA8,0xEB,0x49,0xEC,0xF7,0xCF,0x45,0xCE,0xD9,0x66,\r
+0x0B,0x07,0x24,0x7D,0xB5,0x15,0x96,0xF2,0x0C,0x16,0x48,0x35,0xC7,0x35,0xA0,0xE4,\r
+0x37,0xF7,0xD4,0xB1,0x4B,0xBA,0x68,0xA3,0x11,0xE7,0xA4,0xC4,0x8C,0xAD,0x73,0xAF,\r
+0x3C,0x11,0x32,0x5C,0x88,0x63,0xAB,0xB9,0xC3,0x7F,0xEE,0x5C,0xA5,0xA2,0x55,0x86,\r
+0x84,0xB5,0x96,0x40,0x50,0xA9,0x73,0xAB,0x5E,0x15,0x19,0x36,0x76,0xE8,0xCC,0x55,\r
+0x92,0xA2,0x81,0x41,0x66,0x8C,0x45,0xB8,0x80,0x59,0x8B,0x7A,0x09,0x10,0x4B,0x2A,\r
+0x9A,0xB9,0x9A,0x52,0xBD,0x17,0x9E,0xF8,0xE9,0x98,0x23,0xBB,0x26,0x78,0x0C,0x05,\r
+0x9B,0x57,0x74,0xBD,0x13,0x78,0x30,0x39,0x70,0x3D,0x1F,0x1E,0x1E,0x06,0x4A,0x3D,\r
+0x19,0xDF,0xFC,0xB7,0xE9,0xC7,0xCA,0x7C,0x77,0x0F,0x2A,0x2C,0x99,0xC8,0x03,0xBA,\r
+0xDA,0x62,0x41,0xC9,0xA3,0x34,0x80,0xC5,0x4F,0x30,0x2D,0x13,0x7A,0xF6,0xDE,0x59,\r
+0x3B,0x23,0x00,0x69,0x22,0x1C,0x01,0x6C,0x8B,0xBF,0x66,0x9C,0x83,0xE1,0x30,0xA0,\r
+0xD6,0xB6,0x95,0x11,0xCB,0xB2,0xE8,0x2B,0xA6,0x6A,0x9E,0x49,0x53,0xF9,0xF8,0x70,\r
+0xF4,0x4A,0x69,0xCF,0x71,0x8D,0x52,0xAE,0xF1,0x48,0xEB,0x6B,0xC3,0x21,0xB0,0xE0,\r
+0x18,0x31,0x12,0x58,0xB1,0x05,0x92,0xE6,0x5F,0xFB,0xF6,0xD8,0xEB,0x0F,0xB6,0xC8,\r
+0x8F,0x53,0x70,0xAD,0xF3,0xF4,0xD0,0x55,0xDE,0x8E,0x02,0xAD,0xC2,0x00,0x90,0xE1,\r
+0xED,0x74,0x57,0xE8,0x73,0xFC,0x50,0xDD,0xFB,0x40,0xE9,0x63,0x6D,0xE0,0xDF,0x4E,\r
+0x0E,0x26,0x05,0x59,0xDC,0xB3,0xFF,0x3D,0x32,0xF5,0x95,0xD6,0x67,0x99,0xAC,0x44,\r
+0x4C,0xEE,0xCD,0xD3,0x1D,0x1B,0x3E,0x54,0x09,0x37,0x6C,0x14,0x35,0x7A,0x1D,0x16,\r
+0xC7,0x93,0xB0,0x25,0xF9,0x87,0xDA,0x2C,0x42,0x0A,0x1A,0x29,0x19,0x40,0x0B,0x3A,\r
+0xE5,0x6F,0x4C,0xFB,0xAA,0x16,0x89,0xEE,0x04,0x0D,0x5B,0x2E,0x7D,0xB0,0x9F,0x5E,\r
+0x1B,0xCC,0xEF,0xA6,0x28,0x6F,0x0B,0x15,0xD7,0x7B,0xFE,0x58,0xBB,0x9F,0x76,0x98,\r
+0x9E,0x76,0x55,0x99,0xA4,0x75,0x87,0x83,0x2D,0x17,0x68,0x34,0xCF,0x3F,0xA2,0xEC,\r
+0xA0,0x95,0xB6,0x44,0x6B,0xBE,0x48,0x87,0x23,0xD0,0xA1,0xF3,0x6C,0xC1,0xFF,0x4F,\r
+0x08,0xFA,0xD9,0x83,0x3C,0x3F,0x1F,0x51,0x5B,0x34,0x3D,0x17,0xDB,0x7B,0xF2,0xF8,\r
+0xB3,0xA3,0x80,0x61,0xC4,0xF1,0xE7,0x67,0x05,0xE3,0xB4,0xC0,0xDD,0x1C,0x93,0xFE,\r
+0x56,0x2D,0x0E,0x0A,0x8A,0x12,0xA9,0xCA,0x90,0x92,0x50,0xB1,0xC5,0x46,0xD1,0xE6,\r
+0x13,0xD7,0xF4,0xB5,0x01,0x49,0x22,0x1A,0xC2,0x91,0x01,0xB2,0xC0,0x73,0xE1,0xE3,\r
+0xCC,0x75,0x56,0xC8,0x62,0x9C,0x41,0xAC,0x6B,0x10,0x29,0x33,0xD2,0x50,0xD0,0xF1,\r
+0xF7,0xB7,0x94,0x31,0xAC,0x77,0x8F,0x89,0xCF,0xAB,0x36,0x88,0xC1,0x52,0xC1,0xE2,\r
+0xAA,0x9D,0xBE,0x46,0xAF,0x26,0x8C,0xDB,0x93,0x6F,0xAE,0x4C,0x52,0xD8,0xD8,0x71,\r
+0xE3,0xB3,0x90,0x21,0x46,0x88,0x65,0x9C,0x03,0x3F,0x6E,0x1C,0x38,0x45,0x2F,0x1B,\r
+0xAF,0xBC,0x9F,0x62,0x03,0x38,0x20,0x69,0x5C,0x06,0x08,0x25,0x75,0xBA,0x9D,0x56,\r
+0x6D,0xEF,0xCC,0xF3,0x8F,0x22,0xAC,0xFF,0x1F,0x20,0x6D,0x03,0x61,0xFE,0xCD,0x42,\r
+0x4A,0x32,0x11,0x09,0x82,0x10,0xA1,0xC0,0x25,0x0C,0x7B,0x2F,0x08,0x31,0x6B,0x2B,\r
+0x91,0x5F,0x7C,0xBF,0x43,0xB8,0x60,0xA9,0xC6,0x5E,0xCA,0x7D,0x58,0xA1,0xAB,0x7B,\r
+0xA7,0xA7,0x84,0x71,0x9B,0x72,0xB8,0xBB,0x71,0xD3,0xF0,0xF0,0x63,0x8D,0xBC,0x40,\r
+0xDF,0x43,0x60,0xED,0xEA,0x96,0xC9,0x2E,0x44,0xD6,0xC0,0xF5,0xAE,0xFA,0x06,0x8D,\r
+0x64,0x1A,0x39,0x0F,0x4E,0x8A,0x6D,0x96,0x29,0xD8,0xA3,0xFB,0x77,0xC9,0xEC,0x54,\r
+0x0A,0xE9,0xCA,0x92,0x31,0x0D,0x12,0x6E,0xE2,0x7E,0xCE,0x5D,0xDE,0x4E,0xC2,0xFD,\r
+0x3E,0x02,0x21,0x4D,0xA0,0x65,0x83,0x97,0x53,0x2F,0x2E,0x0C,0xB8,0xCD,0x27,0x9B,\r
+0x76,0xC2,0xE1,0xC5,0x49,0xCB,0x6A,0xD0,0x26,0xF1,0x85,0xD2,0x85,0x86,0x51,0xA6,\r
+0xD4,0xA5,0x86,0x00,0xA9,0x47,0x8A,0xBC,0xF3,0x5B,0xFA,0x78,0xFD,0x38,0x97,0xDE,\r
+0x5D,0xCB,0xE8,0xE7,0x02,0x18,0x21,0x48,0x79,0xC8,0xE3,0xEB,0x5D,0x94,0x9B,0x7E,\r
+0x75,0x3F,0x1C,0x3B,0x29,0x4F,0x0A,0x34,0x62,0xE5,0xD5,0xC6,0xBC,0xD9,0x37,0x9F,\r
+0xCB,0x47,0x64,0xFD,0x4F,0xAA,0x6C,0xB7,0x8A,0x51,0x89,0x72,0xE4,0x43,0xF5,0xC7,\r
+0x20,0x0E,0x2D,0x5F,0x1B,0x7A,0x38,0x33,0x2F,0x04,0x79,0x27,0x5C,0xB5,0xBB,0x7F,\r
+0xA8,0x8E,0xAD,0x57,0x9D,0x13,0xBE,0xDC,0x61,0x18,0x2B,0x3B,0x42,0x88,0x98,0x61,\r
+0xD3,0x97,0xB4,0x35,0x0B,0x3A,0x28,0x63,0x7D,0x07,0x28,0x24,0x89,0x98,0x43,0xAA,\r
+0x47,0x08,0x2B,0x3E,0x6E,0x8E,0x4D,0xB2,0x59,0x27,0x2C,0x04,0xD7,0x65,0xE0,0xF4,\r
+0x3A,0xCD,0xEE,0x86,0xF0,0xA5,0xD3,0x07,0x95,0xB3,0x74,0x90,0xC6,0x14,0x80,0xE5,\r
+0x3D,0xBF,0xAE,0xDE,0xBD,0xE8,0x9A,0x0B,0x14,0xA1,0xF7,0x99,0x3B,0x4C,0xAF,0x5B,\r
+0x74,0x1D,0x45,0x97,0x39,0xBC,0x4A,0x5F,0x41,0x04,0xA2,0x69,0xCD,0xF4,0x17,0x15,\r
+0x0C,0xDB,0xFB,0xEF,0xBA,0xDA,0xAF,0x39,0xF5,0xEC,0x16,0x35,0x57,0xAC,0x4F,0xD7,\r
+0xF8,0x07,0xD3,0x1B,0xC6,0xF1,0xF8,0x12,0xD8,0xF7,0x3B,0x03,0x1A,0x4D,0xAE,0x7B,\r
+0xFE,0x66,0xB4,0x1D,0x89,0x03,0x45,0xE0,0xA3,0x1B,0x40,0x94,0x9A,0xD6,0x35,0x60,\r
+0x3B,0xDE,0xC9,0xD8,0x3C,0x9D,0x6E,0x7E,0x37,0xD7,0xD4,0xCC,0xEB,0xC7,0x24,0x00,\r
+0xA4,0xD5,0x5D,0x47,0xED,0xF8,0xDA,0x1B,0x17,0xF3,0xF4,0xC8,0x16,0x99,0x7A,0xA3,\r
+0xBD,0xB7,0x26,0x5E,0x52,0x6E,0xF3,0x8D,0x08,0xEF,0xEB,0xCB,0x06,0x52,0xB1,0x78,\r
+0x29,0xEF,0xEA,0xCA,0x18,0xBD,0x6A,0x5E,0xC8,0xA7,0x2B,0x43,0x47,0x67,0x84,0x0C,\r
+0x70,0x0D,0x51,0x93,0xA0,0x19,0x76,0xFA,0xC6,0xCA,0x25,0x20,0x74,0xBE,0x5D,0xE6,\r
+0x94,0x91,0x29,0x77,0x35,0x68,0x92,0x8B,0xC3,0xFF,0x20,0x10,0x03,0x73,0x90,0x5C,\r
+0x6C,0x5F,0x1F,0x8F,0x27,0xB0,0x58,0x53,0x4E,0x48,0xAD,0x2A,0x2F,0x48,0xAB,0x4B,\r
+0x96,0xE0,0x5A,0x75,0x32,0x5A,0xA7,0xB9,0x4B,0x7D,0xA8,0x1A,0xB6,0xED,0x0E,0x77,\r
+0xF1,0x25,0xF8,0x12,0x5E,0xBA,0x2B,0x59,0xE1,0xA8,0x02,0x65,0x08,0x95,0x76,0xB1,\r
+0x31,0xAD,0xB0,0xD2,0x19,0x53,0x85,0xB0,0x3F,0xDD,0xDC,0xCE,0x43,0xA8,0x4B,0xC7,\r
+0xDA,0x72,0x84,0x39,0xE0,0xC2,0xED,0x21,0x6E,0x6C,0x8D,0x2E,0xC0,0xCE,0x2D,0x22,\r
+0xAE,0xA6,0x24,0x4D,0x55,0x5C,0xC6,0xBF,0x7F,0x1D,0x9C,0x4E,0x56,0x42,0xA1,0x38,\r
+0x84,0xD1,0x79,0x67,0x07,0x5F,0x97,0xBC,0xBB,0x41,0x58,0xD6,0xDC,0xD1,0x32,0x21,\r
+0x46,0x28,0x42,0xA5,0x22,0x91,0x7C,0x72,0x00,0xE5,0xE3,0xC9,0xDE,0xC2,0x21,0x30,\r
+0xE4,0x55,0x9D,0x07,0x94,0xF2,0xA9,0x11,0x81,0x4C,0x62,0xE1,0xFD,0xD0,0x33,0x01,\r
+0x01,0xE9,0xC4,0xE2,0x4E,0x71,0xF0,0x92,0x1C,0xAB,0xFF,0x9B,0xBF,0x18,0xFB,0x8B,\r
+0xDC,0x13,0xE3,0x3F,0x71,0x7C,0xC2,0x9F,0x30,0x91,0xD3,0x8D,0x70,0x71,0x92,0x2D,\r
+0x8F,0x82,0x21,0x6C,0xE7,0xF0,0xD8,0x13,0x16,0xD2,0xF5,0xE8,0x34,0x65,0x86,0x7D,\r
+0x80,0xC1,0x6D,0x63,0x12,0xB5,0x68,0x56,0x2F,0x8D,0xCC,0x8E,0xCB,0x28,0xCB,0xCF,\r
+0x45,0x79,0x10,0xA6,0x0D,0x57,0x95,0xB4,0x07,0xA3,0xE4,0x88,0xB1,0xDF,0x3C,0x42,\r
+0xFF,0x46,0x95,0x1C,0x9B,0xDB,0x8F,0x38,0x6B,0x59,0x88,0x1E,0x11,0xAB,0x48,0x96,\r
+0x5C,0x1B,0x6B,0xBF,0x60,0x59,0xF6,0xBA,0x1D,0x8A,0xFE,0xBB,0x3E,0x6D,0x8E,0x7F,\r
+0xA0,0xC5,0x49,0x43,0xA2,0x0A,0x67,0xE9,0x1A,0xCC,0xF9,0xFA,0xCE,0x09,0xEA,0xEB,\r
+0x1E,0xEA,0xD8,0xFD,0x44,0x79,0xF2,0x9A,0x82,0x1E,0x61,0xB0,0xC8,0xD5,0x36,0x31,\r
+0x90,0x81,0x3D,0x73,0xE9,0x37,0x11,0xD4,0xF3,0x8B,0x10,0x54,0x92,0xCD,0x2E,0x73,\r
+0xC9,0x63,0x86,0x2A,0xDF,0xCF,0xDF,0x2C,0x24,0xD5,0xC7,0xDD,0xF5,0xCB,0x28,0x12,\r
+0xA6,0xA4,0x2E,0x45,0x09,0x98,0x5E,0x7B,0xC0,0xAD,0x23,0x41,0x4F,0x7C,0x9F,0x1F,\r
+0x02,0xB8,0x96,0xE1,0x68,0x42,0xE5,0xA1,0xEB,0xD1,0x08,0x16,0x81,0xFB,0x18,0x56,\r
+0x79,0x2F,0x7A,0x9A,0x20,0x82,0x6D,0x61,0x58,0x7F,0xBB,0x0B,0xAF,0xD3,0x30,0x50,\r
+0x85,0xF1,0x58,0x66,0xA5,0x38,0x52,0xDB,0x7A,0x28,0x99,0x7E,0x77,0x43,0xA0,0x18,\r
+0x10,0x89,0xB5,0xF3,0xE2,0xD1,0xFC,0x32,0xAF,0x05,0x4C,0x86,0x6F,0x93,0x70,0xD0,\r
+0xDD,0x33,0xC2,0x3E,0xDA,0xEE,0xFB,0x0D,0x27,0x87,0xC4,0x8C,0xF4,0x25,0xC6,0xFD,\r
+0x15,0xB9,0x80,0xF6,0xB3,0x2F,0x53,0xCC,0xE5,0xBC,0x06,0x75,0x17,0x77,0x94,0x4C,\r
+0x47,0x08,0x63,0xA4,0x53,0x80,0x1C,0x63,0x50,0x75,0xB3,0x09,0x6E,0x7D,0x9E,0x3F,\r
+0x60,0x4D,0x01,0x83,0xDB,0x00,0x14,0xE3,0x9E,0x50,0x7D,0xE2,0x8E,0xD2,0x31,0x70,\r
+0x91,0xA1,0x1C,0x72,0x36,0x95,0x6C,0x76,0x49,0x0E,0xAA,0x6B,0x9E,0x19,0xFA,0xAB,\r
+0x86,0xA0,0x0A,0x65,0x25,0xA3,0x49,0x40,0x05,0xD0,0xE6,0xF9,0x66,0x66,0x85,0x2C,\r
+0x22,0xBC,0xB2,0xC1,0x37,0x7B,0x83,0x98,0x6F,0x4D,0x8C,0x0E,0x2C,0xB5,0x56,0xB5,\r
+0xC4,0x51,0xB9,0x27,0x2D,0xB8,0x5A,0x5B,0xF7,0x9F,0x14,0x44,0x23,0x9C,0x7F,0x93,\r
+0x51,0x29,0x54,0xB2,0x4B,0x50,0xD4,0xB3,0x20,0xC1,0xC3,0xCD,0x78,0x6A,0x89,0x3E,\r
+0xEC,0x57,0x97,0x0F,0xF2,0x1A,0x27,0xF9,0x1F,0xF9,0xFC,0xCA,0x46,0x89,0x6A,0xE3,\r
+0x64,0x5D,0x15,0x87,0xB7,0xE0,0x98,0x03,0x2D,0xFE,0xCE,0xFF,0x88,0x0E,0xED,0xAA,\r
+0x8A,0xB2,0x14,0x69,0x76,0x4E,0xF7,0xAD,0x88,0x67,0x6B,0xC3,0xF6,0x36,0xD5,0xEC,\r
+0xE2,0x34,0xFA,0x01,0x38,0x52,0xA5,0xB1,0x3C,0x8F,0xDF,0x9F,0xA6,0x26,0xC5,0xAC,\r
+0x87,0x80,0x2B,0x64,0xAA,0x11,0x74,0xF2,0x4F,0x69,0xAC,0x0A,0x31,0x44,0xA7,0x59,\r
+0xE7,0x04,0xCF,0x04,0xB8,0xC9,0xBE,0x2A,0xFD,0xE6,0x1E,0x37,0xA9,0x0F,0xEC,0x8A,\r
+0x78,0x0F,0x5B,0x9B,0x5C,0xA9,0x3A,0x4A,0x83,0x3F,0x60,0x90,0x62,0xA9,0x4A,0xE7,\r
+0x34,0x9D,0x85,0xD7,0x7C,0x46,0xF5,0xA5,0x06,0x82,0xE5,0xA8,0xBB,0xD7,0x34,0x40,\r
+0x5A,0x7A,0x0C,0xB9,0x65,0x78,0xD2,0x9B,0xFC,0xC7,0x1F,0x17,0x40,0x55,0xB6,0x39,\r
+0xF0,0x05,0xD9,0x13,0xD4,0x29,0x32,0xCA,0x8C,0x73,0x6F,0xD3,0x72,0x62,0x81,0x3C,\r
+0xAA,0xB6,0x30,0x49,0xC3,0xD0,0xDC,0x33,0x04,0xF1,0xE7,0xD9,0x8C,0xC1,0x22,0x61,\r
+0x54,0x19,0x61,0xB7,0xEE,0x05,0x24,0xE6,0x3E,0xFC,0xDD,0xEE,0x33,0x57,0xB4,0x48,\r
+0xA2,0xB4,0x3A,0x41,0x7E,0x55,0xE4,0xB6,0xC5,0x98,0x26,0x71,0xE8,0x3A,0xD9,0xFE,\r
+0xD9,0x23,0xD6,0x3A,0x93,0xC0,0x9C,0x23,0x75,0x64,0x96,0x3D,0x02,0x9D,0x7E,0xB3,\r
+0x2B,0x9E,0x99,0xC8,0xE1,0x2C,0x02,0xCF,0xEF,0xC5,0x0C,0x06,0x90,0xDE,0x3D,0x62,\r
+0xB7,0xC4,0x5F,0x54,0x83,0x0B,0x47,0xE8,0xB2,0x6A,0x51,0xF4,0x9C,0x0A,0xE9,0xBA,\r
+0xEA,0x36,0xF0,0x09,0xBE,0x15,0x64,0xF6,0x8E,0x00,0x6D,0xA2,0x0F,0xA7,0x44,0x84,\r
+0x5D,0x3B,0x4A,0xBE,0xE4,0x0D,0x26,0xEE,0x69,0x2A,0x8A,0x6F,0x0B,0x68,0x8B,0x4F,\r
+0xB8,0x87,0x13,0x5B,0xA4,0xD6,0xBD,0x35,0x2E,0xAC,0xCD,0xAE,0x7B,0x97,0x74,0xC0,\r
+0x8C,0xAE,0xBC,0xF1,0x7A,0x6D,0xF4,0x10,0xFA,0x6F,0x87,0x0B,0x89,0x89,0xF4,0x9E,\r
+0xC9,0x1E,0x49,0xB4,0x36,0x62,0xB7,0x1F,0xB7,0x90,0xCA,0xB9,0xD6,0xB0,0xCD,0xF8,\r
+0x0D,0x86,0x15,0x70,0x9F,0xE3,0x9F,0x9E,0x87,0xE4,0xFA,0xFD,0xF0,0x83,0xFE,0xED,\r
+0x00,0xB4,0x2A,0x7D,0xB8,0x3E,0x65,0x43,0xEE,0x2B,0x93,0x5B,0xCA,0xAF,0xD2,0xFB,\r
+0xED,0x0A,0x79,0x90,0x19,0xA4,0x5E,0xD9,0x5D,0x85,0x20,0x46,0xBE,0x9F,0xE2,0xBF,\r
+0x8E,0xDF,0xCF,0xF3,0xC6,0x06,0x23,0x7B,0x4F,0xA6,0x32,0x77,0x17,0x1E,0x63,0x97,\r
+0x20,0xB0,0x0E,0x5D,0x7F,0x4C,0xD0,0x31,0xDD,0x0D,0xA0,0x4E,0x46,0xE0,0x9D,0x38,\r
+0x23,0xE1,0x5C,0x5E,0x22,0x66,0xA7,0x1B,0x4E,0x87,0x33,0x57,0x1A,0x24,0x59,0xA0,\r
+0xB3,0xA9,0x84,0xCE,0xDD,0x2B,0x15,0x56,0x54,0xAE,0x29,0x64,0x8E,0xBB,0xC6,0xAB,\r
+0xE4,0x28,0x52,0x99,0x75,0x44,0xD2,0x39,0xE3,0x14,0x9E,0x69,0xF6,0x5F,0x22,0x37,\r
+0x05,0x84,0x1F,0x78,0x83,0xFC,0x9C,0x81,0x4A,0x93,0x37,0x47,0x45,0x1D,0x60,0xC6,\r
+0x4B,0x67,0xB2,0x36,0x66,0x72,0xF7,0x0F,0x52,0xC9,0x2F,0x05,0xD0,0x6C,0x11,0x22,\r
+0x25,0x80,0x3B,0x58,0x30,0xBE,0x6D,0xC3,0xF2,0x65,0x8F,0x09,0xD1,0x82,0xFF,0xCD,\r
+0x76,0x11,0xF9,0x0B,0x12,0x42,0xB3,0x3F,0x96,0x95,0xEB,0x9D,0x97,0x85,0xF8,0x8C,\r
+0x2B,0xE3,0x56,0x56,0x4B,0xA7,0x0F,0xDA,0x40,0xEA,0x3D,0x34,0xF8,0x98,0xE5,0xFE,\r
+0xA7,0xF9,0xC0,0xDA,0xCE,0x1D,0x30,0x60,0x34,0x4A,0x49,0xE0,0x02,0xF4,0x89,0x68,\r
+0x84,0xAC,0xB6,0xF9,0x06,0x46,0xA3,0x3B,0x06,0x4D,0x7B,0xD5,0xA8,0x88,0xF5,0xBE,\r
+0x12,0x85,0x09,0x6F,0x7D,0x5F,0xC1,0x22,0xCD,0x5D,0xB0,0x0E,0xB4,0x97,0xEA,0xBD,\r
+0x7F,0x33,0xD2,0x02,0xEF,0x1C,0x10,0x61,0x49,0xC1,0x34,0x16,0x40,0x3C,0x41,0xE2,\r
+0xE1,0x18,0x67,0x9C,0x92,0xD9,0xA8,0xA4,0x58,0xB0,0x25,0x76,0x8C,0xA8,0xD5,0xBA,\r
+0xA6,0xD9,0xE1,0xDB,0xA0,0xEE,0xAD,0x93,0x33,0x0C,0x4E,0xA1,0xB7,0x6A,0x17,0x43,\r
+0x8D,0x8E,0x9D,0xF0,0x88,0x1A,0x71,0x67,0xD2,0x41,0xAF,0x0D,0xAC,0x47,0x3A,0x75,\r
+0x94,0xEC,0xE6,0xE9,0xF5,0xDF,0xC9,0xA2,0xD3,0x60,0xAE,0x2D,0xFA,0x8B,0xF6,0xEF,\r
+0xC0,0x3C,0x62,0xBD,0x1E,0x96,0x6B,0xEB,0x6B,0x96,0x16,0x63,0x5F,0xDE,0xA3,0x1F,\r
+0x2F,0xF3,0x42,0x52,0xEB,0xD3,0xDB,0xAE,0x37,0x18,0x4A,0xB1,0x86,0xA0,0xDD,0xB8,\r
+0xBE,0x9B,0xBB,0xC3,0xDF,0x38,0x04,0x45,0x51,0x9B,0x2C,0x54,0x37,0xF1,0x8C,0x58,\r
+0x26,0xD1,0x69,0x5B,0x01,0x74,0x96,0x09,0x72,0xED,0x0F,0x01,0x26,0xD4,0xA9,0x6C,\r
+0xC6,0x5D,0x05,0xBB,0xA3,0x13,0x53,0x6E,0x0A,0x53,0x77,0xC7,0xF3,0x7E,0x03,0x13,\r
+0x14,0xE4,0x6E,0x69,0x72,0x76,0xE7,0x0B,0xEC,0x58,0x91,0x2A,0xA4,0x5C,0x21,0x66,\r
+0xCC,0x2E,0x7C,0xB1,0x44,0x8E,0x29,0xF3,0xD7,0x74,0xAA,0x3D,0x13,0xD1,0xAC,0x5C,\r
+0xC1,0x1C,0x43,0xBC,0xB1,0xCB,0x99,0xB6,0xF8,0x1C,0x85,0x7A,0xFC,0x57,0x2A,0x35,\r
+0x65,0x00,0xFB,0x18,0x0A,0x92,0x7B,0xEF,0x21,0x2F,0x5C,0x90,0x91,0x59,0x24,0x56,\r
+0x55,0x44,0x8F,0x28,0x82,0x12,0x73,0x6F,0xFD,0x29,0x80,0x4A,0x28,0x13,0x6E,0xA5,\r
+0xAC,0xAA,0x98,0xD1,0x6B,0x48,0xC0,0x35,0x5E,0xD7,0x23,0x17,0xAA,0x9B,0xE6,0xAF,\r
+0x3A,0x83,0x27,0x47,0xDE,0xD6,0xEB,0xAB,0x48,0xE0,0x35,0x36,0xD9,0x99,0xE4,0xDE,\r
+0x04,0xA4,0x3E,0x79,0x57,0xB8,0x0C,0xC5,0xCA,0x1B,0xB7,0x4F,0x9C,0x63,0x1E,0x61,\r
+0xB5,0xC8,0xE3,0xC8,0x94,0x05,0x72,0x78,0x90,0xF2,0xED,0xFC,0xBD,0x62,0x1F,0x41,\r
+0xD5,0x4C,0x07,0xA8,0x00,0x9A,0x79,0xE7,0x36,0x39,0x4B,0x91,0x64,0x1C,0x61,0xE6,\r
+0x2E,0xD3,0x63,0x53,0xA1,0x00,0x42,0x7D,0xB9,0xFD,0xC4,0xDA,0xD4,0xA3,0xDE,0xE9,\r
+0x6D,0x02,0xF1,0x10,0x70,0x65,0xF6,0x18,0xDB,0x6A,0xA6,0x2F,0x32,0xD0,0xAD,0x7C,\r
+0x71,0x50,0xBF,0x0C,0x11,0xBF,0x4D,0xC2,0xF7,0x50,0x8A,0x39,0x71,0xF6,0x8B,0x19,\r
+0xAA,0xCB,0xFF,0xD7,0x48,0x5A,0xF1,0x27,0x08,0x20,0x75,0xB6,0xF7,0xB1,0xCC,0xD8,\r
+0x77,0x31,0xD8,0x0A,0x04,0x55,0xB2,0x28,0x95,0xC7,0xE8,0xCC,0x31,0x2D,0x50,0x82,\r
+0x69,0x12,0xE5,0x14,0xAB,0x08,0x40,0x75,0x38,0x54,0x45,0xF2,0x5B,0x11,0x6C,0xD4,\r
+0xBC,0xEA,0xC8,0xC1,0x8D,0x3B,0x55,0x46,0x02,0x59,0x7F,0xC5,0x3F,0xEA,0x97,0x4B,\r
+0x50,0x74,0xBA,0x2D,0xC2,0xC9,0xE8,0xB4,0x41,0xCB,0x3C,0x14,0x9E,0x70,0x0D,0x70,\r
+0x79,0x52,0xB5,0x04,0x3A,0xB6,0x6F,0xCB,0xC8,0x68,0xB5,0x3E,0xA7,0xA1,0xDC,0x98,\r
+0x29,0x92,0x25,0x54,0x61,0x40,0xC2,0x3D,0xA5,0xB3,0xD8,0x88,0xC3,0x5A,0x27,0x07,\r
+0xFC,0x6A,0x08,0x81,0x38,0xA5,0x7E,0xD8,0xE2,0x35,0x9F,0x49,0x2E,0xCF,0xB2,0x7F,\r
+0x7C,0x62,0x80,0x01,0x5A,0x82,0x3B,0xFF,0x4D,0xD5,0x30,0x06,0x0B,0x01,0x7C,0x94,\r
+0x92,0x8D,0x81,0xEF,0x99,0x3F,0x45,0x42,0xBA,0xAF,0xC7,0x8B,0xDC,0xB8,0xC5,0xFA,\r
+0x53,0x25,0xE8,0x2E,0xDB,0xF7,0xCF,0x8A,0xE8,0x4C,0x95,0x3A,0xE7,0x7A,0x07,0x03,\r
+0x44,0x24,0xFE,0x39,0x03,0x67,0x87,0x1A,0xDC,0x2C,0xA1,0x6E,0x73,0xE5,0x98,0x08,\r
+0xAD,0x8A,0xB9,0xD0,0xEE,0xF2,0xFF,0x8F,0x0C,0x34,0x71,0xA6,0x5E,0x30,0x4D,0xF0,\r
+0x3E,0x93,0x33,0x43,0xCD,0xE0,0xCE,0x9D,0x64,0xDA,0x19,0x20,0x8A,0x74,0x09,0x60,\r
+0xFE,0x1B,0x7B,0x83,0x21,0x9B,0x59,0xE6,0x4C,0xF4,0x31,0x26,0x24,0xC7,0xBA,0x7D,\r
+0x9C,0xEE,0xEC,0xE1,0x4E,0x86,0x2B,0xFB,0x91,0xD3,0xEC,0xDC,0xA5,0xB2,0xCF,0x89,\r
+0x32,0x81,0x2D,0x4F,0x4F,0x68,0xC4,0x15,0xA9,0xAD,0xD4,0x9A,0x3C,0x17,0x6A,0xB5,\r
+0x2C,0xA2,0x10,0x51,0x0F,0xB3,0x5F,0xCE,0xF5,0x23,0x88,0x48,0x9A,0xBF,0xC2,0xBB,\r
+0x66,0x51,0xA9,0x1B,0xCC,0x0E,0x21,0x73,0x16,0x1D,0x6B,0x95,0xA2,0x80,0xFD,0xBC,\r
+0x07,0xF5,0x6C,0x7A,0xE9,0xC0,0xCA,0xBD,0x2A,0x77,0x57,0xC3,0x16,0xF0,0x8D,0x78,\r
+0xC4,0x2C,0x76,0xB9,0xE2,0x26,0x27,0x5B,0x03,0x78,0x7E,0xE5,0xC4,0x68,0x15,0x32,\r
+0xE9,0x1A,0x6D,0x94,0x47,0x73,0xD7,0x0E,0x86,0xC5,0xFB,0xDD,0x55,0xD6,0xAB,0x1D,\r
+0xDF,0x3F,0x7E,0xA2,0x51,0x64,0xD6,0x19,0xF9,0x3D,0x84,0x5A,0x8B,0x9A,0xE7,0x8F,\r
+0x0B,0x5D,0x7B,0xAC,0x22,0x4E,0x04,0xB0,0xE6,0xEE,0xD4,0xC8,0xDB,0xA7,0xA0,0xFD,\r
+0x46,0xBC,0x9A,0x00,0x0F,0x78,0x29,0xAB,0x9A,0xC5,0x83,0xE3,0x2F,0x8F,0x7C,0x09,\r
+0x67,0xBD,0x9B,0x20,0xC3,0xE2,0xE5,0xFD,0xE1,0xDC,0xE1,0xFA,0xEA,0xF2,0xC4,0xCC,\r
+0x91,0x05,0x23,0x6E,0x96,0x12,0xB0,0x58,0x65,0x88,0x31,0xAE,0xA3,0x19,0x66,0x85,\r
+0x4A,0x68,0x4E,0xD8,0xC0,0xB3,0xE6,0xAF,0xB1,0xCC,0xA1,0xEA,0x73,0x01,0xAE,0x55,\r
+0x5A,0xA3,0x85,0x03,0xDF,0xB0,0xF9,0xB3,0x0E,0x5A,0x88,0x7C,0x6A,0x7A,0xCC,0x4C,\r
+0xC6,0x27,0x01,0x1B,0x74,0xEF,0x52,0x47,0xD5,0x37,0x3E,0x11,0x29,0xE8,0x1D,0x0F,\r
+0xB7,0x36,0x10,0x7B,0xE0,0xB7,0xC6,0x8B,0x60,0xA9,0x15,0x8F,0xEC,0x95,0xA5,0xCA,\r
+0x5F,0x82,0xA4,0x27,0x14,0x6B,0x32,0xA3,0x69,0x5C,0xE9,0x7A,0x43,0x75,0xEA,0x65,\r
+0x73,0xB9,0x9F,0x30,0x99,0x51,0xBF,0x14,0x7B,0x84,0x23,0xA2,0xBB,0x43,0x24,0x9D,\r
+0x1B,0x96,0xB0,0x77,0x1F,0x38,0x39,0xFB,0x44,0x89,0x11,0xAF,0xFE,0xB6,0x94,0xD8,\r
+0x28,0x4F,0x69,0x9D,0x11,0x5B,0x37,0x96,0xFC,0x2D,0x0D,0x0B,0xA7,0x0D,0x76,0x81,\r
+0x1F,0x59,0x7F,0xBC,0xE8,0xB5,0xCE,0x81,0x45,0x67,0xFE,0x41,0xE6,0xEC,0xD6,0xC0,\r
+0x9C,0x3F,0x19,0x59,0xB9,0x55,0x9F,0x30,0xBC,0xF6,0x96,0xD0,0x0D,0xD8,0x09,0x2B,\r
+0xEA,0x1C,0x3A,0x0C,0x9C,0x61,0xBA,0x21,0x6E,0x6E,0xDC,0x48,0x41,0x06,0x9B,0x67,\r
+0x54,0x64,0x42,0xCA,0x36,0x1E,0x10,0xF4,0x02,0x8E,0x50,0xA8,0x26,0xA4,0x5E,0x00,\r
+0x82,0x33,0x15,0x4B,0xD7,0xB2,0xF1,0xB9,0x7E,0xA5,0x07,0x83,0x91,0x1E,0x53,0xB7,\r
+0xA1,0x21,0x07,0x7A,0x56,0x9A,0x70,0x10,0xC8,0xC6,0xD2,0xE0,0x33,0xC1,0x2E,0x15,\r
+0x0A,0xB3,0x95,0x43,0xA8,0x35,0x8E,0x41,0x09,0x68,0xBD,0x4E,0x79,0x78,0xDD,0x5F,\r
+0x80,0x20,0x06,0x5A,0x6C,0xAD,0x4A,0x1D,0x5B,0x6B,0xEC,0x4D,0x53,0x25,0xAA,0x75,\r
+0x68,0x94,0xB2,0x06,0xC1,0x93,0xE7,0x8E,0xBB,0xC4,0xA3,0xE2,0x58,0x7D,0xF9,0x7E,\r
+0x97,0xD9,0xFF,0xB4,0xF8,0xF5,0xDE,0xD1,0x4E,0x81,0x13,0xA7,0x57,0x31,0xBA,0x71,\r
+0xE3,0xE9,0xCF,0xF0,0xCB,0xE0,0xED,0xF7,0x12,0x45,0x8B,0x63,0xD6,0x98,0x92,0xF0,\r
+0x2C,0x80,0xA6,0x56,0xE7,0xF6,0xC1,0xCD,0x2D,0x48,0xB9,0x6E,0x0B,0xBF,0x68,0x2D,\r
+0x62,0x9C,0xBA,0x04,0xCA,0xC0,0xEC,0xD6,0x3C,0x6D,0x8D,0x4B,0x8B,0x37,0x60,0xAD,\r
+0x92,0xF8,0xDE,0x90,0xCD,0x81,0xEB,0x90,0xFE,0x3E,0x1C,0x18,0x77,0x15,0xBE,0x51,\r
+0xED,0x2E,0x08,0x39,0xD0,0xF3,0xF6,0xFF,0x51,0x63,0xEE,0x45,0x92,0x4C,0x02,0xB4,\r
+0x4D,0x5A,0x7C,0xED,0xBC,0x65,0x9A,0x05,0xC7,0xEF,0xF4,0xC9,0x28,0xC9,0x3D,0x0E,\r
+0xA9,0x3A,0x1C,0x69,0xF3,0xA6,0xD5,0x89,0x83,0xFB,0xA4,0xDD,0x1E,0xDA,0x18,0x38,\r
+0x13,0x8D,0xAB,0x64,0x17,0x3A,0x31,0xF1,0x55,0xAC,0x25,0x8A,0x71,0x72,0xDF,0x57,\r
+0x94,0x24,0x02,0x4A,0x55,0xCB,0x73,0x42,0x18,0x4D,0x89,0x6B,0xC9,0x84,0x91,0xEF,\r
+0xCE,0x3C,0x1A,0x08,0x24,0x2F,0x02,0xD7,0xB5,0x03,0x6A,0x25,0x47,0x61,0xFA,0x61,\r
+0x2B,0xB2,0x94,0x63,0xAD,0x05,0x8B,0x74,0xF9,0x0C,0x29,0x2A,0x52,0x04,0x8A,0x74,\r
+0x33,0x62,0x44,0xAB,0x78,0xFD,0x5E,0x59,0xBE,0xE5,0x87,0xC3,0xC7,0xE9,0xF2,0xE1,\r
+0xDD,0x0A,0x2C,0x2D,0x3C,0x6D,0x1A,0x8D,0x34,0x76,0x9E,0x50,0xD5,0xCA,0xC3,0xF3,\r
+0xF3,0x22,0x04,0x2B,0x8F,0x70,0xA9,0x23,0x7C,0xB6,0x16,0x90,0xAE,0x26,0x54,0x88,\r
+0x32,0x8C,0xAA,0x44,0x87,0x72,0xA1,0x29,0x0F,0xB4,0x67,0x92,0x90,0x3F,0x73,0xB6,\r
+0xD2,0x23,0x05,0x0B,0x49,0x99,0x6F,0x0C,0x87,0x34,0x6F,0x12,0xB7,0x5D,0x36,0x91,\r
+0xA8,0xD4,0xF2,0x86,0xF0,0xF7,0xD6,0xDB,0x86,0xDA,0x80,0xFC,0x0A,0x9E,0x48,0x2C,\r
+0x4B,0x86,0xA0,0x37,0x32,0x0E,0x14,0xE0,0xEF,0x1B,0x28,0x3D,0xC2,0xDC,0xC2,0xE4,\r
+0x70,0x44,0x62,0xCE,0xB8,0x75,0x9E,0x11,0x6B,0x4F,0xF8,0x69,0xF5,0xEE,0xC7,0xD3,\r
+0x7F,0x6D,0x4B,0xE8,0x20,0x3F,0x06,0xC3,0x71,0x8C,0x21,0xAA,0x13,0xE5,0x2A,0x35,\r
+0xC2,0xE8,0xCE,0xD0,0x9E,0x10,0xB8,0x52,0x6A,0xA1,0x17,0x87,0x46,0x40,0xDA,0x60,\r
+0x3A,0x97,0xB1,0x57,0xD2,0x82,0xF4,0x8C,0x79,0x97,0x32,0xB1,0x51,0x56,0xDB,0x77,\r
+0xD4,0xFF,0xD9,0xD1,0xFA,0x84,0xDC,0xA2,0xEB,0xD4,0xE3,0xF2,0xB3,0x49,0x26,0x95,\r
+0xAA,0xC7,0xE1,0x97,0x5F,0xB8,0x79,0x3B,0x2A,0x7A,0x8C,0x5C,0x5D,0x48,0xC9,0x7B,\r
+0x24,0x9B,0xBD,0x45,0xF7,0xB6,0xD1,0x9D,0x17,0x64,0xAF,0x42,0x86,0x08,0x52,0xA0,\r
+0x1A,0x78,0x5E,0x98,0xC8,0xB1,0xEE,0xA5,0xAE,0x2E,0x5C,0x08,0x3B,0xCB,0x2C,0x1D,\r
+0xF5,0xFE,0xD8,0xF1,0x2A,0x4C,0x0C,0xBA,0xE4,0xFD,0xC5,0xDB,0x30,0x93,0x7F,0x16,\r
+0x3E,0x58,0x7E,0x9C,0x54,0xEB,0x72,0x63,0x00,0x9D,0x41,0xBB,0xAF,0x07,0x74,0x89,\r
+0xFA,0xD7,0xF1,0xD7,0xEB,0xE4,0xCD,0xD3,0x64,0x66,0xDE,0x40,0x35,0xA6,0x4F,0x13,\r
+0x6D,0xB5,0x93,0x22,0x98,0x71,0xBE,0x35,0xF6,0x25,0x0F,0x03,0x50,0x77,0xFB,0x76,\r
+0x2E,0x93,0xB5,0x47,0x5B,0xA8,0x7D,0x2F,0x88,0x1D,0x49,0x3B,0x27,0x85,0x7E,0x01,\r
+0xD0,0x30,0x16,0x1A,0xD3,0xA2,0xF5,0xAD,0x9F,0xE4,0xA7,0xC2,0x7D,0x6C,0xCD,0x5B,\r
+0xE7,0x26,0x00,0x3B,0xD1,0xD3,0xF7,0xDE,0x20,0x72,0x8E,0x54,0xE3,0xD9,0xE6,0xC5,\r
+0x1C,0xA4,0x82,0x42,0x2B,0x6C,0x0D,0x9B,0x39,0x4C,0xA9,0x6A,0x8D,0x50,0x01,0xAB,\r
+0x5E,0x6C,0x4A,0xC8,0xA2,0x46,0x84,0x38,0xCF,0xF4,0xE7,0xD2,0x0E,0x8A,0x58,0x28,\r
+0xCC,0x2F,0x09,0x19,0x38,0x7D,0x1E,0x99,0xBD,0x18,0x79,0x3E,0xFC,0xC5,0xE5,0xDA,\r
+0x6F,0xA6,0x80,0x33,0xE9,0x95,0xCF,0xA0,0xB2,0x31,0x5F,0x17,0x83,0x3D,0x62,0xA5,\r
+0xB4,0xCB,0xED,0x85,0x12,0x0A,0x34,0xC4,0x22,0x61,0x9F,0x47,0x75,0x66,0xCF,0x53,\r
+0x57,0x99,0xBF,0x34,0xBE,0x14,0x98,0x76,0xB8,0x39,0x5D,0x1F,0x8A,0x16,0x40,0xAC,\r
+0x27,0x66,0x40,0xBB,0xF9,0xD5,0xDF,0xF0,0xF8,0xE2,0xC6,0xC4,0x6F,0x4F,0xFC,0x49,\r
+0xC0,0xFB,0xDD,0xC1,0x65,0x8F,0x43,0x36,0xDF,0x3F,0x3C,0x19,0x60,0x03,0xBF,0x46,\r
+0x53,0x56,0x70,0xFF,0x59,0xD9,0x7F,0x5C,0xE2,0x21,0x1F,0x07,0x3D,0xAC,0x4D,0x1B,\r
+0xB3,0xB8,0xF1,0x62,0x34,0xA7,0xC5,0x0B,0xDC,0x5F,0xCC,0x79,0xC6,0xB6,0x55,0x8A,\r
+0xB9,0x3A,0x79,0xEA,0x97,0x04,0x3B,0x56,0x6F,0x05,0x96,0x90,0x3F,0x58,0xAC,0x9D,\r
+0x7D,0x8E,0x09,0x9A,0xA0,0x33,0x09,0x53,0x10,0xAF,0x3C,0x45,0x6E,0xB8,0xFD,0x2C,\r
+0xC2,0xCB,0xF3,0x60,0x22,0xB1,0xF2,0x2A,0xF7,0xC1,0x52,0xCC,0x50,0x9F,0xC3,0x35,\r
+0xFA,0x76,0x76,0xE5,0x5C,0xCF,0x2B,0x8D,0x65,0x8D,0x1E,0x12,0xBF,0x50,0x2C,0x15,\r
+0x5D,0xAF,0x08,0x9B,0xFA,0x69,0xE0,0xE0,0x6E,0x12,0x81,0x86,0xDF,0xD4,0x4C,0xF1,\r
+0x60,0x20,0xBA,0x29,0xB1,0x22,0x78,0x33,0xEA,0x72,0xE1,0x62,0x07,0x1E,0x94,0xE3,\r
+0xF5,0xC6,0xC9,0x5A,0xD3,0x40,0xEF,0xC6,0x5E,0x17,0x84,0xB3,0x44,0xCF,0xD7,0x71,\r
+0xC4,0xE5,0xDB,0x48,0x62,0xF1,0x32,0xAA,0xED,0x4D,0xDE,0x5A,0xC0,0xD7,0x53,0xED,\r
+0x05,0x63,0x9C,0x0F,0x9D,0x0E,0x42,0x25,0x51,0xA8,0x3B,0x03,0x1B,0x4C,0x88,0xAD,\r
+0xC8,0x49,0x7B,0xE8,0x52,0xC1,0x46,0xEE,0x5C,0x1F,0x8C,0xB9,0x03,0x0E,0x90,0xF7,\r
+0x9E,0x23,0x47,0xD4,0xFF,0x6C,0xD5,0xD0,0xAE,0x42,0xD1,0x16,0x1D,0x2D,0x8E,0xCA,\r
+0x6C,0x8C,0x1A,0x89,0x2B,0xB8,0xD9,0x08,0xF4,0xDE,0x4D,0xD0,0x3A,0x68,0xA9,0xA8,\r
+0x57,0x2D,0x80,0x13,0x68,0xFB,0x4B,0xD9,0x49,0x2C,0xBF,0x9F,0xD6,0xF6,0x45,0xDA,\r
+0x1B,0xD1,0x30,0xA3,0xCF,0x5C,0xA1,0x94,0xDE,0x57,0xC4,0x73,0x43,0x8E,0xD0,0x37,\r
+0x84,0xB5,0xCB,0x58,0xA2,0x31,0x7A,0x22,0x73,0xA1,0x32,0x28,0x13,0x4E,0x80,0xA7,\r
+0x88,0x19,0x6B,0xF8,0x27,0xB4,0xC7,0x1A,0x27,0x95,0x06,0x48,0x16,0x7E,0x85,0x92,\r
+0x63,0x3C,0xA5,0x36,0x88,0x1B,0x27,0x55,0x62,0xB2,0x21,0x2A,0x96,0x76,0x05,0x1A,\r
+0x1F,0xF5,0x10,0x83,0x82,0x11,0x5E,0x26,0xD3,0xE0,0x73,0xC9,0x39,0x39,0xAA,0xFA,\r
+0xE6,0xCE,0xD2,0x41,0xD0,0x43,0xBD,0x97,0x59,0x28,0xBB,0x8B,0xF8,0x91,0x6B,0x93,\r
+0xEC,0x4C,0x5A,0xC9,0x66,0xF5,0x26,0xBA,0xE3,0xE5,0x76,0xFC,0xC7,0x96,0x54,0xAB,\r
+0x14,0x61,0x8F,0x1C,0xB6,0x25,0x3E,0x72,0x9B,0x70,0xE3,0x11,0x2E,0x38,0xBD,0xEC,\r
+0x61,0x36,0xAD,0x3E,0x26,0xB5,0xE6,0x3A,0x45,0x8C,0x1F,0x33,0x94,0x07,0x07,0x69,\r
+0x7C,0x98,0x1E,0x8D,0x0E,0x9D,0xC8,0x3C,0xD2,0xF7,0x64,0xDF,0x54,0x8F,0xC7,0x21,\r
+0xA9,0x2E,0x7D,0xEE,0xC3,0x50,0xBF,0x86,0xD8,0x7F,0xEC,0x5D,0x58,0x9D,0xCB,0x3F,\r
+0x95,0xB7,0xD8,0x4B,0xFB,0x68,0xC1,0xC0,0x37,0x91,0x02,0x5C,0xF6,0xF2,0x65,0xFE,\r
+0xA0,0xB0,0xEA,0x79,0x7C,0xEF,0x0F,0x89,0x3D,0x19,0x8A,0xDE,0x0C,0x4D,0x9F,0xBB,\r
+0xA7,0x88,0xD5,0x46,0x9F,0x0C,0x31,0x54,0x43,0xA4,0x37,0x1D,0x46,0xBE,0xD5,0x02,\r
+0x2E,0xD6,0x02,0x91,0x69,0xFA,0x6A,0xF9,0x3B,0x31,0xA2,0xF0,0xAE,0x30,0x3D,0x64,\r
+0x64,0x04,0x9A,0x09,0x40,0xD3,0x65,0xDF,0xD6,0xD7,0x44,0xFB,0x6D,0xE9,0xFE,0x7E,\r
+0x93,0x99,0xF0,0x63,0x93,0x00,0x2F,0x46,0xCA,0x73,0xE0,0x43,0xB5,0x23,0x26,0x6C,\r
+0x01,0x47,0xBC,0x2F,0xEC,0x7F,0xD7,0xC1,0xCB,0x64,0xF7,0x55,0x83,0x06,0x10,0x7F,\r
+0xE4,0xC4,0xDA,0x49,0xDD,0x4E,0x82,0xA5,0xAB,0x75,0xE6,0x24,0xA3,0x02,0x30,0x5B,\r
+0x82,0x9B,0xE3,0x70,0x90,0x03,0x7D,0x17,0xE8,0x7A,0xE9,0x68,0xE6,0xB2,0x75,0xAE,\r
+0xE7,0xD8,0xC5,0x56,0x84,0x17,0x39,0x47,0x79,0x29,0xBA,0xAA,0x6A,0xA8,0xF9,0x38,\r
+0xF1,0xE2,0xE9,0x7A,0xED,0x7E,0xF6,0xE1,0x83,0xF4,0x67,0x8D,0x67,0x9A,0xF4,0x07,\r
+0x8B,0x05,0x74,0xE7,0x25,0xB6,0xB4,0x6B,0x3F,0x11,0x82,0xD4,0xE4,0xC3,0x77,0xDD,\r
+0xA3,0xAC,0xF5,0x66,0x37,0xA4,0x97,0x5A,0x42,0xB3,0x20,0x0B,0x87,0x16,0x14,0x6B,\r
+0xBC,0x08,0x4E,0xDD,0x24,0xB7,0x95,0x4B,0xBB,0x71,0xE2,0x30,0x49,0xFD,0xDA,0x4E,\r
+0x24,0x54,0x8A,0x19,0xB7,0x24,0x1F,0x52,0xCC,0x5B,0xC8,0x6D,0x4A,0xAC,0xD9,0x1C,\r
+0x2B,0xE4,0x35,0xA6,0x89,0x1A,0x06,0x75,0xCE,0x53,0xC0,0x67,0x8E,0x34,0x1D,0x40,\r
+0xB7,0x9C,0xD1,0x42,0x3E,0xAD,0xBC,0x78,0x09,0x3C,0xAF,0xCF,0xD9,0xB5,0x4A,0x96,\r
+0x3E,0xC2,0x06,0x95,0x38,0xAB,0xDB,0x19,0xEB,0x65,0xF6,0x74,0x21,0x7B,0xB2,0xA0,\r
+0xDA,0x57,0x77,0xE4,0x20,0xB3,0x81,0x5B,0x80,0xEB,0x78,0x91,0x6F,0x98,0xFC,0x0D,\r
+0x90,0x85,0xEF,0x7C,0xFC,0x6F,0x87,0x81,0xAF,0x55,0xC6,0x00,0x1C,0x0D,0x8F,0xEB,\r
+0xD1,0xC3,0xE8,0x7B,0x98,0x0B,0x77,0x15,0x71,0xA9,0x3A,0x22,0x4F,0x9C,0xDC,0x29,\r
+0x74,0x10,0x9E,0x0D,0x5E,0xCD,0x58,0xFC,0x2C,0x0A,0x99,0xDC,0xCD,0xE5,0x5E,0xD2,\r
+0xE2,0xEA,0xF2,0x61,0x2A,0xB9,0xF8,0x28,0x13,0xB0,0x23,0x59,0x41,0xFF,0xD2,0x44,\r
+0xA1,0xA6,0xFD,0x6E,0xA7,0x34,0x4F,0x12,0xDD,0x48,0xDB,0x6F,0x78,0x99,0xEB,0x1B,\r
+0xA2,0xBA,0xE2,0x71,0x6C,0xFF,0x5F,0xC9,0xBF,0x51,0xC2,0x14,0xEE,0xB0,0x7D,0xA4,\r
+0xA6,0x9E,0xC2,0x51,0x32,0xA1,0xA2,0x6A,0xB4,0xCE,0x5D,0x80,0x8B,0x04,0x18,0x75,\r
+0xFE,0x52,0x56,0xC5,0x23,0xB0,0xD3,0x0A,0x0C,0x0B,0x98,0xFD,0x15,0x2F,0x86,0xC0,\r
+0x69,0xBE,0x2D,0xBE,0xB8,0x2B,0x53,0x11,0x6D,0x0D,0x9E,0x9A,0xE7,0x92,0x74,0x8F,\r
+0x5F,0xA5,0x00,0x93,0x59,0xCA,0x1E,0xBD,0xB1,0xF9,0x6A,0xB2,0xCC,0xC5,0x5F,0xF3,\r
+0x03,0x4D,0xB4,0x27,0x01,0x92,0x84,0x7F,0x77,0x81,0x12,0x0C,0xAA,0x20,0x39,0x70,\r
+0xF3,0xE8,0xE1,0x72,0xB9,0x2A,0x72,0x31,0xD5,0xC8,0x5B,0xE7,0xFE,0xF0,0x6D,0xF4,\r
+0x44,0x25,0x9B,0x08,0x3B,0xA8,0x89,0x48,0x18,0x2F,0xBC,0xCD,0xD4,0x87,0x47,0xA9,\r
+0xA4,0x94,0xCA,0x59,0x5D,0xCE,0x0A,0xAD,0xC7,0xC4,0x57,0xF9,0x45,0xEF,0xD6,0x50,\r
+0x0F,0xE1,0x14,0x87,0x60,0xF3,0x41,0xDB,0x4F,0x04,0x97,0xB1,0xAC,0x41,0x3F,0x17,\r
+0x70,0x34,0xBE,0x2D,0x18,0x8B,0xFF,0x1D,0x8A,0x63,0xF0,0x13,0x4C,0xCD,0xDF,0x7B,\r
+0x40,0x01,0xBB,0x28,0xBD,0x2E,0x66,0x21,0x35,0x99,0x0A,0x56,0xA6,0x32,0x35,0x6E,\r
+0x7A,0xB6,0x36,0xA5,0x86,0x15,0x4A,0x36,0xFB,0x61,0xF2,0x60,0x7E,0xF8,0xED,0x7C,\r
+0x4A,0x83,0x33,0xA0,0x4B,0xD8,0x3D,0x8C,0x67,0x85,0x16,0x18,0x0F,0x1C,0x9C,0xE9,\r
+0x29,0xEE,0x3D,0xAE,0x92,0x01,0x0E,0x66,0x85,0xDC,0x4F,0xA3,0xAB,0x00,0x38,0x51,\r
+0xD0,0x23,0x7C,0x24,0xFD,0xF2,0x74,0x87,0x4C,0x26,0xE2,0xBF,0x3E,0xC8,0x7E,0x3B,\r
+0xA1,0x52,0x98,0xB1,0xBF,0xA8,0x6C,0x9F,0xC2,0x4D,0x07,0x31,0xDD,0x86,0xD3,0x75,\r
+0x76,0x85,0x11,0xEF,0xDE,0xCF,0x6A,0x99,0x9B,0xAF,0xBC,0x68,0x13,0x7E,0xE5,0x8D,\r
+0x92,0x61,0x8D,0x97,0xD3,0x75,0xDD,0x2E,0xF4,0x68,0x14,0x07,0x92,0x29,0x33,0xDA,\r
+0x55,0xA6,0x44,0x99,0x8E,0x8B,0x7E,0x8D,0x17,0xB5,0x2A,0xE4,0x59,0xE6,0x37,0x15,\r
+0x39,0xCA,0xD2,0x63,0x5A,0x2B,0x0A,0xF9,0xAD,0x8A,0xAF,0x5E,0x43,0x6A,0xA1,0x99,\r
+0x4F,0xBC,0x77,0xB0,0xB3,0x04,0xCC,0x3F,0x0E,0xD7,0x51,0xFD,0x3A,0xE8,0x5A,0x1B,\r
+0x48,0xBB,0x36,0xF6,0x27,0xF4,0xA8,0x5B,0xF2,0x09,0x73,0x01,0xAB,0xBB,0x98,0x48,\r
+0x4E,0xBD,0x57,0x91,0x47,0x85,0xB9,0x4A,0x53,0x25,0xFE,0xA0,0x3C,0xC0,0x74,0x33,\r
+0x62,0x91,0x41,0xAB,0xE1,0x4A,0xD0,0x23,0x8E,0xDF,0xD9,0x7D,0x0E,0xCD,0x4B,0x3E,\r
+0x44,0xB7,0x24,0xE8,0xB1,0x0E,0xC4,0x37,0xDD,0x4E,0x1B,0x2E,0x14,0x41,0xDD,0xB2,\r
+0x7D,0x8E,0x42,0xB7,0x03,0xF1,0x89,0x7A,0xD2,0x0D,0x57,0x21,0xA4,0x04,0x28,0xF7,\r
+0x2D,0xDE,0x82,0x27,0xF4,0x6C,0xE3,0x10,0xFC,0x6A,0x1E,0x0F,0x0A,0xED,0x6F,0x1E,\r
+0xE9,0x1A,0x1A,0x7B,0xED,0xE6,0x70,0x83,0xD6,0x1D,0x43,0x25,0x5B,0xEE,0x3D,0x1D,\r
+0x52,0xA1,0x05,0xDF,0xFC,0xE4,0x63,0x90,0x14,0xE4,0x78,0xE7,0xB0,0x20,0x18,0xD3,\r
+0xD3,0x20,0x2D,0x76,0xCD,0xC7,0x71,0x82,0xB6,0x99,0xA7,0x45,0x65,0x43,0xAE,0xB0,\r
+0x19,0xEA,0xD6,0x47,0xBB,0x8C,0x4C,0xBF,0xC4,0x2C,0x60,0x37,0x6B,0xEB,0x08,0x18,\r
+0xB3,0x40,0xA9,0x92,0x7D,0x32,0x34,0xC7,0xA3,0xE9,0xC2,0x50,0xE7,0x0B,0x64,0xF8,\r
+0x6D,0x9E,0x02,0xE7,0x0B,0x79,0x09,0xFA,0x63,0x61,0x8A,0x90,0x49,0xE2,0x23,0x11,\r
+0x3C,0xCF,0xE2,0x56,0xEE,0xFA,0x6F,0x9C,0x88,0xBE,0xBE,0x7B,0x21,0x73,0xDA,0x80,\r
+0x9A,0x69,0x8F,0x9D,0xC0,0x7D,0xC6,0x35,0x7B,0x23,0xD0,0x88,0xA6,0x0C,0x22,0xFF,\r
+0x94,0x67,0xEC,0xF0,0x2A,0x4E,0x1F,0xEC,0x22,0xC1,0x6B,0xD1,0xBA,0xA8,0x9A,0x5B,\r
+0x91,0x62,0xDC,0xC5,0x90,0x39,0xD2,0x21,0xC6,0x5D,0x13,0x35,0x5E,0xD9,0x0F,0x2A,\r
+0x1C,0xEF,0xE6,0x72,0x87,0x15,0xE9,0x1A,0x3E,0x93,0x25,0xCD,0x94,0x01,0x1D,0xF2,\r
+0xF1,0x02,0x58,0x21,0xAC,0xA0,0x77,0x84,0xAC,0xAA,0x8E,0x5F,0x89,0xB2,0xB3,0x41,\r
+0x65,0x96,0x00,0xED,0xCC,0xD1,0x66,0x95,0x69,0x12,0xF3,0x9A,0xA2,0x2C,0x06,0xDF,\r
+0x45,0xB6,0x04,0xC9,0x6F,0x2C,0x38,0xCB,0xF6,0x19,0x67,0x05,0x16,0x49,0xD7,0xBA,\r
+0x5A,0xA9,0x07,0xD5,0xB4,0x3C,0xF3,0x00,0xEF,0x7B,0x1C,0x1C,0x3F,0xDF,0x68,0x2C,\r
+0x46,0xB5,0x55,0x9B,0x97,0x01,0xED,0x1E,0x6F,0x73,0x94,0x9C,0x56,0x59,0x87,0xAA,\r
+0x13,0xE0,0xA5,0x3E,0xD9,0xF7,0x55,0xA6,0x26,0xD1,0x7F,0xD5,0x86,0x0D,0x03,0xFE,\r
+0xA7,0x54,0xF9,0xD6,0x1B,0x6D,0x0D,0xFE,0x5E,0x17,0xC1,0xAD,0x63,0x6B,0x80,0x98,\r
+0x8A,0x79,0xCF,0xCD,0xB7,0x20,0xEC,0x1F,0xAA,0xCB,0xE9,0x59,0x34,0x40,0xFC,0xB3,\r
+0xE0,0x13,0x38,0x50,0x76,0xA6,0xAB,0x58,0xE5,0x08,0x65,0x16,0x8B,0xBA,0xB9,0x49,\r
+0xDC,0x2F,0x6E,0x3A,0x48,0x35,0x06,0xF5,0xB8,0xFA,0xCA,0x4B,0xA8,0xA4,0x84,0x57,\r
+0x3B,0xC8,0xA3,0x10,0x83,0x31,0xC9,0x3A,0x0F,0xF7,0x70,0xFC,0xEA,0xBC,0xDE,0x4F,\r
+0x7C,0x8F,0x62,0x96,0x0C,0x41,0x36,0xC5,0xEA,0x4B,0x29,0x19,0x71,0x67,0x9E,0x94,\r
+0x6C,0x9F,0x22,0xC6,0x84,0x09,0xF6,0x05,0x06,0xD5,0x5B,0xF5,0xE8,0xB4,0xD4,0x47,\r
+0x97,0x64,0xBD,0xA2,0x32,0xD2,0x9B,0x68,0xF0,0x78,0x00,0x03,0x28,0xE4,0x44,0x17,\r
+0x27,0xD4,0xF1,0x5E,0x7F,0x38,0x3C,0xCF,0x8B,0xEF,0xEC,0x78,0x50,0x71,0xA9,0x82,\r
+0xBD,0x4E,0xCA,0xFF,0xAE,0xAA,0x7F,0x8C,0x79,0x52,0xA3,0x8A,0xCE,0x9D,0xDB,0x6E,\r
+0x54,0xA7,0x64,0xB8,0x8C,0x81,0x76,0x85,0x66,0x51,0xBF,0x95,0x39,0xF7,0x46,0x04,\r
+0xAE,0x5D,0xDB,0xFD,0xF5,0x7A,0xF4,0x07,0x08,0xB6,0x36,0xFB,0x1E,0xC9,0x5F,0x3A,\r
+0xDE,0x2D,0x1F,0x49,0xF0,0x48,0xC3,0x30,0xA2,0xC9,0xE3,0x51,0xFE,0x98,0xEE,0x6B,\r
+0x56,0xA5,0x15,0xCB,0xAD,0xB6,0x60,0x93,0xF8,0x7A,0x0A,0x0B,0x10,0x61,0xF9,0x92,\r
+0x6E,0x9D,0x53,0xB5,0x60,0x9C,0x87,0x74,0xB0,0xF8,0xC0,0x43,0x69,0xE3,0x02,0x10,\r
+0x1D,0xEE,0xC6,0x53,0x95,0x0B,0xE5,0x16,0xD5,0x4C,0x11,0x26,0xB8,0xA0,0x90,0x53,\r
+0xAF,0x5C,0xFB,0xDC,0x46,0x93,0xAE,0x5D,0xB5,0xC8,0xF5,0x46,0x72,0x78,0x82,0x8B,\r
+0xD1,0x22,0x5C,0x05,0x2B,0x58,0x08,0xFB,0x2A,0xC3,0x61,0xD9,0xF6,0x18,0x66,0xEB,\r
+0x72,0x81,0x01,0xFB,0xF2,0x42,0xCB,0x38,0x03,0xE5,0x6E,0xF0,0x18,0xE1,0x71,0x12,\r
+0x4D,0xBE,0x06,0xC3,0x2F,0x7C,0x28,0xDB,0xBE,0x9B,0xAD,0x4D,0xEB,0xAB,0xC8,0x58,\r
+0x7F,0x8C,0x33,0xC4,0x66,0xB2,0xAF,0x5C,0x36,0x91,0x2F,0xC5,0x54,0x51,0x8D,0xA2,\r
+0xDA,0x29,0x0F,0x5D,0x20,0xCC,0x97,0x64,0xD8,0x7E,0x2E,0x2B,0x3B,0xFF,0x4C,0x0C,\r
+0x1B,0xE8,0xA7,0x34,0x67,0xA4,0xB8,0x4B,0xC3,0x6D,0x26,0x30,0xA0,0x24,0x0C,0xD7,\r
+0x57,0xA4,0x35,0xEA,0xE0,0x5C,0xC7,0x34,0xD4,0x6C,0x30,0x27,0x85,0x12,0x1F,0xE1,\r
+0x3D,0xCE,0xC2,0x77,0x79,0x16,0x14,0xE7,0x70,0x70,0x88,0x83,0x4F,0xCA,0x0D,0x39,\r
+0xA5,0x56,0x88,0xA5,0x5F,0x19,0x3D,0xCE,0x96,0x9D,0x83,0x65,0x96,0x09,0x17,0xFA,\r
+0x75,0x86,0x40,0xBD,0x31,0xCE,0x84,0x77,0x8F,0xFF,0xF8,0x7C,0x37,0x5F,0xE0,0xAC,\r
+0xB7,0x44,0xB9,0x86,0x80,0x2D,0xD6,0x25,0x47,0x75,0xBA,0xB4,0x9F,0x9E,0x89,0x6D,\r
+0x02,0xF1,0xC5,0x4F,0xF3,0x54,0xDC,0x2F,0x15,0xC4,0x59,0xE6,0xD0,0x31,0x69,0xC2,\r
+0xCC,0x3F,0x2E,0x6A,0xBC,0xB4,0x73,0x80,0x32,0x81,0x3B,0xC1,0xD8,0xB1,0xE1,0x42,\r
+0xB9,0x4A,0xDA,0xEB,0x9A,0xBB,0x5A,0xA9,0x50,0x74,0xAC,0xA3,0x29,0xF3,0x52,0x00,\r
+0x0A,0xF9,0xC7,0x45,0x9C,0x95,0x72,0x81,0x2B,0xE3,0x40,0xD8,0xA1,0x33,0x1A,0xC0,\r
+0x28,0xDB,0xB2,0x12,0xD4,0x4D,0xE2,0x11,0xD7,0x3D,0x62,0x24,0x9E,0x89,0x9F,0x7A,\r
+0xFD,0x0E,0x4A,0x3F,0x1C,0x55,0x32,0xC1,0x42,0x45,0x8F,0xB1,0x30,0x60,0xD8,0x93,\r
+0xD8,0xCB,0x46,0x31,0x6F,0x2B,0xF8,0xC2,0x06,0x33,0xEF,0x60,0xF1,0x55,0xBC,0xF1,\r
+0xAB,0x5E,0xA0,0x42,0xF8,0x49,0x0D,0xA0,0x63,0xE2,0x8A,0xD4,0x63,0x16,0xFF,0x20,\r
+0x19,0x63,0x2F,0xF0,0x60,0x02,0xDE,0xEB,0x03,0x06,0xEA,0x50,0x71,0xCE,0x27,0xEA,\r
+0x67,0xC4,0xF6,0x8E,0xAB,0xA4,0xB3,0x4D,0x9C,0x92,0x75,0x5B,0x95,0xAE,0x47,0x6E,\r
+0xE2,0xFC,0x4B,0x0B,0x72,0xDA,0x14,0x33,0xD0,0x4C,0x39,0xC9,0xB5,0x41,0xA8,0xA1,\r
+0x18,0x43,0x0E,0xF1,0x89,0x58,0x6D,0xB1,0xBE,0xC5,0x57,0x2E,0xAC,0x7F,0x96,0x86,\r
+0x68,0x87,0xBA,0x81,0xBB,0x6F,0x68,0x86,0x14,0x10,0xFD,0x51,0x1D,0x2E,0xC7,0x66,\r
+0xE0,0x8D,0x38,0x09,0x45,0xCC,0x35,0x25,0x4E,0xF9,0xA7,0xE2,0x0A,0xD7,0x3E,0x88,\r
+0xDA,0xBA,0x35,0x33,0xFA,0x5A,0x1C,0xB3,0xB0,0xA8,0x59,0x4D,0x27,0x02,0xEB,0x70,\r
+0x21,0x25,0x51,0xC8,0x21,0x37,0xAA,0xDE,0x46,0xF3,0xAF,0xE0,0xB7,0x52,0xBB,0xB0,\r
+0x91,0x69,0xAD,0x78,0xCB,0x90,0xE7,0x79,0x3D,0x1F,0xD4,0x77,0x5A,0xC7,0x2E,0xC8,\r
+0x0B,0x52,0x0C,0xE2,0x59,0xD3,0x36,0x3A,0xCF,0x50,0x26,0xCA,0x28,0x2B,0xC2,0x56,\r
+0x56,0xA0,0xA3,0xBF,0x55,0x07,0xEE,0xEE,0x53,0x96,0xBA,0x90,0x4A,0x0C,0xE5,0x13,\r
+0x6A,0xF6,0xC9,0x83,0xC6,0xAA,0xD0,0x43,0x0E,0x39,0xE7,0x62,0x77,0x12,0xFB,0x30,\r
+0x8D,0x3B,0xE3,0x64,0xC2,0x65,0x1B,0x8C,0xB9,0x83,0x50,0x6F,0x2D,0x0A,0xE3,0x72,\r
+0xCA,0xFA,0x65,0x23,0xB2,0x9A,0x94,0x73,0x5C,0xDA,0xB5,0xD3,0x6D,0xD1,0x38,0xE9,\r
+0x0F,0x42,0x18,0xE6,0x48,0xF6,0x02,0x1F,0xE6,0x5F,0x0F,0xEC,0xA1,0x45,0xAC,0xB1,\r
+0xBC,0x5F,0xB6,0x55,0x66,0xDE,0x04,0x37,0x9D,0xB3,0x74,0x7B,0xE9,0x85,0x6C,0x39,\r
+0x9E,0x2A,0xE1,0x77,0xBE,0x4E,0x4C,0xA7,0x61,0x91,0x88,0xA5,0x6C,0x3F,0xD6,0x06,\r
+0x4B,0xD2,0xCC,0xA2,0xA6,0x9E,0x84,0x77,0xF4,0x7C,0x1D,0xDD,0x2B,0xD6,0x3F,0xA8,\r
+0xC3,0xD8,0x4E,0x2A,0x3D,0x28,0xA9,0xC1,0x39,0x0B,0xD0,0x67,0x13,0xE9,0x00,0xAF,\r
+0x01,0x21,0x75,0xE8,0xDE,0x7A,0x18,0x93,0xF1,0x49,0x18,0xED,0x7A,0x28,0xC1,0x07,\r
+0xB4,0x5D,0xBC,0x5D,0xA7,0x70,0x6B,0x99,0xA3,0xAA,0x4A,0x5C,0x9A,0x87,0x6E,0x48,\r
+0x7A,0xB6,0x99,0x93,0x47,0xDF,0x24,0x36,0x84,0xC8,0x6D,0x19,0x12,0x07,0xEE,0x40,\r
+0xAD,0x3F,0xC7,0x44,0x57,0x14,0xFF,0xFD,0x75,0xD5,0x9C,0xF5,0xFF,0x92,0x7B,0x38,\r
+0xE1,0xAD,0x19,0x08,0xAF,0x6B,0x78,0x82,0x62,0xC3,0x8B,0xF4,0xEC,0xA4,0x4D,0x1D,\r
+0x8B,0x5A,0x84,0x62,0xE5,0xB8,0xE1,0x51,0xC6,0x7B,0x2F,0xE8,0xFE,0x7C,0x95,0xD7,\r
+0x13,0x10,0x56,0xFA,0xEA,0x91,0xC7,0x78,0x20,0x70,0xC9,0x05,0xE4,0xBF,0x56,0x0E,\r
+0xC4,0x99,0x08,0x2D,0xB1,0x67,0x6A,0x8E,0xB5,0x9D,0x5C,0x7D,0x82,0x57,0xBE,0x80,\r
+0xFB,0x9E,0x30,0x12,0x8F,0x84,0xB7,0x6D,0x08,0x5E,0xE1,0x03,0x3B,0x1D,0xF4,0x73,\r
+0xC9,0xAB,0x37,0x20,0x41,0x03,0xFE,0xEA,0x80,0xDC,0x69,0x09,0x7E,0xE7,0x0E,0xCC,\r
+0x6C,0x97,0xAE,0x85,0x3F,0x3B,0xB8,0xD2,0x6E,0xDD,0x87,0xE6,0xBF,0x49,0xA0,0xA3,\r
+0x9B,0x1A,0xD4,0x72,0x9F,0x4F,0x6C,0xA6,0x4A,0xED,0xA3,0xF2,0x9C,0x5B,0xB2,0x92,\r
+0x5F,0x82,0x88,0xB6,0x15,0xDC,0x75,0x35,0x60,0xB0,0x89,0x85,0xCE,0x58,0xB1,0xC3,\r
+0xE4,0x9D,0x2C,0x0D,0x17,0xCF,0x64,0x26,0xA2,0x8B,0x4B,0x7C,0xEB,0x96,0x7F,0x28,\r
+0x65,0xB5,0x85,0x8C,0x34,0xDD,0x55,0x34,0x00,0x54,0xE9,0x01,0x5D,0xF5,0x1C,0xFD,\r
+0xF8,0xCF,0x62,0x11,0x76,0x15,0xDF,0xFC,0xE5,0x0D,0x0C,0xBD,0x87,0x76,0x9F,0xA4,\r
+0xD4,0xD9,0x58,0x3D,0xB9,0x7C,0x79,0x95,0x38,0x2A,0xD1,0x47,0xB8,0x7B,0x92,0x96,\r
+0xF2,0xBC,0x1B,0x1B,0xFD,0x68,0x29,0x81,0x6B,0xE8,0x82,0xD6,0x2E,0xF7,0x1E,0x8C,\r
+0xCB,0xDA,0x44,0x22,0x02,0x25,0x9B,0xCC,0x64,0xA4,0x8D,0x95,0xDB,0xB2,0x5B,0x3C,\r
+0xE3,0xDC,0x6A,0x0A,0x78,0xD2,0x16,0x3B,0xA1,0xD9,0x48,0x2D,0xC4,0x50,0xB9,0xC1,\r
+0x8F,0x4A,0x90,0x66,0xD8,0xA6,0xC2,0x4F,0x1B,0x5C,0xF2,0x12,0x52,0xDC,0x35,0xDB,\r
+0xF9,0xEF,0x43,0x10,0xF7,0x60,0x2B,0x89,0xB8,0xA2,0x51,0x4F,0xA9,0x5E,0xB7,0xA2,\r
+0xFE,0xAE,0x05,0x17,0x07,0x04,0xBF,0xED,0x44,0x80,0xAD,0x91,0x6B,0x0D,0xE4,0x33,\r
+0x66,0xE4,0xD7,0x8F,0x01,0xD8,0x65,0x31,0xFA,0x11,0x13,0xBE,0x8D,0x7E,0x97,0xA6,\r
+0x17,0x00,0x42,0xFE,0x5B,0xC0,0x27,0x29,0x74,0xF4,0x9D,0xD5,0x20,0x30,0xD9,0x45,\r
+0xC0,0x89,0x1C,0x29,0x3C,0xC6,0x46,0x2F,0x2D,0x4F,0xC4,0x37,0x16,0xC8,0x21,0x8B,\r
+0x24,0x15,0x64,0xCD,0x86,0x71,0x4B,0x98,0x42,0xE7,0xAB,0xF0,0xC0,0x9F,0x76,0x0A,\r
+0xF0,0xCD,0x68,0x19,0xF2,0x41,0x0F,0xA8,0xD9,0x67,0x30,0xEB,0x74,0xEF,0x06,0xCE,\r
+0xA5,0x3D,0xCD,0x4C,0x04,0xF9,0x41,0x10,0x90,0x8C,0x79,0x49,0xF0,0xBB,0x52,0x1E,\r
+0x11,0x61,0x25,0xF8,0x9E,0xA1,0x83,0x48,0xE8,0x32,0x01,0x8F,0x73,0xDD,0x34,0xFB,\r
+0x3C,0x57,0x3E,0xD5,0xD3,0x40,0x2F,0xA9,0x1C,0x1A,0xF5,0x53,0x0F,0xF6,0x1F,0xAC,\r
+0x47,0xC0,0xD2,0xAE,0x53,0xDB,0x34,0x32,0x1A,0x7D,0xF3,0x32,0x40,0x04,0xED,0x11,\r
+0xD3,0x98,0x1E,0x3A,0x22,0xCA,0x54,0x23,0xDF,0x00,0x36,0x8A,0xF5,0x9A,0x73,0x3A,\r
+0xF3,0x9C,0x3A,0x1A,0xDF,0x94,0xF7,0x7D,0x40,0x94,0xA9,0x81,0x24,0xFF,0x16,0x8E,\r
+0xEC,0x9F,0x26,0x05,0xCF,0x5F,0x2C,0xB6,0x59,0xEF,0xB0,0xE3,0x9B,0x69,0x80,0xA7,\r
+0x2C,0x17,0x6E,0xC5,0x8E,0x6A,0x58,0x83,0xCD,0x23,0x24,0xBB,0xD1,0xBA,0x53,0x3E,\r
+0x22,0x74,0x03,0xCB,0xBD,0xB3,0xB2,0x5A,0x94,0x98,0x7D,0x59,0x69,0x1E,0xF7,0x22,\r
+0x27,0x44,0x36,0xCE,0xCA,0x7E,0x08,0x97,0x70,0xE0,0x99,0xC5,0xFC,0x6F,0x86,0xC6,\r
+0xAA,0x7E,0x81,0x43,0xE6,0x45,0x1F,0xAC,0x88,0xD6,0x61,0x0B,0xEE,0xB7,0x5E,0x0C,\r
+0xAF,0x4E,0xB4,0x46,0x7F,0xE0,0x23,0x09,0x72,0x93,0x9B,0xB4,0xFB,0x5D,0xB4,0xF3,\r
+0x05,0x31,0x61,0xEC,0xC1,0x98,0xE5,0x71,0x15,0x31,0xFC,0x71,0x97,0xBD,0x54,0x7F,\r
+0xDB,0x9A,0x14,0x32,0x8A,0xA5,0x93,0x4C,0xD5,0x79,0x3C,0xF9,0xD0,0x54,0xBD,0xD1,\r
+0x8A,0x7A,0xA5,0x63,0x09,0xC3,0x76,0x2A,0x3E,0x4D,0xD7,0x26,0x29,0xC5,0x2C,0xB9,\r
+0x26,0xFB,0x92,0xF2,0x1B,0x89,0x5D,0xDD,0x3E,0xB6,0xC7,0x13,0xBB,0xB0,0x44,0x64,\r
+0x28,0x96,0xF1,0xFC,0x28,0x50,0x84,0x37,0xDC,0x0D,0x9E,0x4A,0xA7,0x14,0xFC,0xC0,\r
+0x2D,0xA3,0xC1,0xF9,0x5F,0x9D,0x49,0x8D,0x40,0x75,0x7A,0xAE,0x43,0x65,0x69,0xB1,\r
+0xA0,0x14,0xFB,0x74,0x73,0xA6,0x72,0x9A,0x8E,0x43,0x82,0x56,0x89,0xBD,0x7B,0x69,\r
+0xA5,0x21,0xCB,0x71,0xEA,0x03,0xD7,0xA6,0x31,0x06,0x78,0xAC,0x76,0x57,0x6E,0x83,\r
+0x0F,0xF4,0xB4,0xDB,0x54,0x7B,0xAF,0x60,0xF4,0xA4,0x1F,0xCB,0xFA,0xB7,0x02,0x63,\r
+0xD1,0x81,0x1F,0x05,0x1F,0x46,0x92,0x16,0x7C,0xEC,0xDF,0x0B,0x54,0x5E,0x45,0x8A,\r
+0x80,0x30,0xFF,0x54,0x9C,0x20,0xF4,0xF3,0xA3,0xD8,0x34,0xE0,0x3C,0xCF,0xBC,0x1B,\r
+0xFA,0xFD,0x48,0x2E,0x67,0xA2,0x76,0x8A,0x6E,0xF2,0xD3,0x07,0x4B,0xE5,0xE1,0x31,\r
+0xAF,0x58,0xB8,0x7B,0x91,0x1A,0xCE,0xC4,0xCC,0x19,0x9A,0x4E,0x9B,0xB1,0x65,0x65,\r
+0x1B,0xB0,0xE4,0xCF,0x0B,0x42,0x96,0x06,0x0A,0xA7,0xE2,0x36,0x7E,0xD7,0xE6,0x03,\r
+0x36,0xAB,0xD2,0xE2,0x46,0xA3,0x77,0xAA,0xD6,0x8F,0x16,0xC2,0x29,0xFC,0x9A,0x28,\r
+0x4D,0x47,0x45,0x99,0xC6,0x38,0xEC,0xB1,0xB7,0xE8,0x10,0xC4,0x94,0x0E,0xD5,0xDA,\r
+0xD9,0x8B,0x1D,0x0D,0xB7,0x29,0xFD,0xD1,0x0F,0x95,0xD5,0x01,0xBF,0x90,0x60,0x44,\r
+0xF9,0xAF,0x19,0x2D,0x4A,0x77,0xA3,0x72,0x04,0x01,0x4A,0x9E,0x0B,0xF5,0xB1,0x21,\r
+0xE6,0xB3,0x1A,0x32,0x5A,0xBC,0x68,0xA9,0x66,0x7A,0x53,0x87,0x22,0x63,0x0E,0xB7,\r
+0xE9,0xFF,0x59,0x3D,0xED,0x31,0xE5,0x93,0xA8,0x4C,0xAB,0x7F,0x44,0x5A,0x51,0x8E,\r
+0x85,0x05,0xCF,0x51,0x4D,0x45,0x91,0x47,0x97,0xC9,0x11,0xC5,0x5E,0xD6,0xC7,0x02,\r
+0xF3,0xD6,0x6A,0x27,0x62,0x83,0x57,0xAE,0xCA,0x37,0xB2,0x66,0x27,0x54,0x3C,0x80,\r
+0xF4,0x90,0x2B,0x20,0x92,0xE7,0x33,0x3A,0x14,0x15,0x4E,0x9A,0xB6,0x07,0xFE,0xD3,\r
+0x6C,0x42,0x61,0xB8,0x94,0x3B,0xEF,0xE0,0x3B,0x84,0xF0,0x24,0x23,0x74,0x18,0xA0,\r
+0x1D,0xD7,0x85,0xC9,0xCE,0x23,0xF7,0xA2,0x50,0x61,0x7E,0xAA,0xC0,0x3A,0xB5,0xEE,\r
+0xCA,0x89,0x0C,0x1E,0xA9,0x25,0xF1,0xC3,0xB2,0xDA,0x27,0xF3,0x0E,0xC2,0x83,0x16,\r
+0x2E,0xF1,0x90,0xFA,0x13,0x92,0x46,0xCE,0x75,0x72,0x48,0x9C,0x8F,0x95,0x55,0x41,\r
+0x91,0x41,0x9F,0x45,0x0A,0xAC,0x78,0xE9,0x77,0x78,0x40,0x94,0x17,0x51,0x09,0x85,\r
+0x55,0x1D,0x07,0x81,0x80,0x3F,0xEB,0xF0,0x00,0x25,0x6A,0xBE,0x46,0x52,0x5B,0x86,\r
+0xEE,0xB9,0x18,0x3A,0x82,0x2C,0xF8,0xE1,0xF9,0x1E,0xA8,0x7C,0xAD,0x9C,0x7E,0x48,\r
+0x6F,0x10,0x30,0xBB,0xA1,0x3E,0xEA,0xD0,0x84,0xC1,0x0A,0xDE,0x78,0xFF,0xC8,0x2B,\r
+0xF2,0xF7,0x4A,0x26,0xE3,0xF6,0x22,0x5A,0x38,0x98,0xEF,0x3B,0x21,0x7C,0x12,0xA8,\r
+0xDE,0xCD,0x5C,0x0A,0x2C,0x9F,0x4B,0xFC,0xC2,0xBF,0x32,0xE6,0x13,0x71,0x2D,0xA5,\r
+0xF8,0x8E,0x39,0x2C,0x68,0x8B,0x5F,0xAC,0x53,0x7D,0x61,0xB5,0x09,0xFD,0xBB,0x29,\r
+0xC1,0xD1,0x5F,0x15,0x97,0xC6,0x12,0x1E,0x10,0x31,0x6E,0xBA,0xB9,0xB8,0x4E,0x6C,\r
+0xA7,0x52,0xBA,0x73,0xC2,0xF7,0x23,0x7A,0x70,0x40,0x7F,0xAB,0xBD,0x98,0x6A,0x4C,\r
+0xEB,0x8C,0x28,0x3F,0x3A,0x88,0x5C,0xFD,0x71,0x56,0x68,0xBC,0x98,0xAE,0x79,0x7A,\r
+0x81,0x11,0xDF,0x55,0x70,0x5B,0x8F,0x64,0x6D,0xEE,0xCC,0x18,0x52,0x76,0x6B,0xA2,\r
+0x19,0xC3,0x95,0xCD,0x7F,0x72,0xA6,0x42,0x80,0xE5,0x2A,0xFE,0x8B,0xB5,0x71,0x61,\r
+0xCE,0x9D,0x1C,0x1A,0x24,0x84,0x50,0xEF,0xF8,0x08,0xBF,0x6B,0x05,0x5D,0x17,0x89,\r
+0xF1,0xA5,0x1B,0x25,0x1A,0x67,0xB3,0x32,0x86,0xCB,0x02,0xD6,0xF6,0x17,0xAE,0xC3,\r
+0xC3,0xA2,0x2E,0x17,0xD4,0xE0,0x34,0x7B,0x8C,0x49,0x8A,0x5E,0x49,0xED,0xEB,0x39,\r
+0x66,0x3B,0x12,0xB2,0xAA,0xD8,0x0C,0x3D,0x63,0x48,0x64,0xB0,0x26,0x43,0x2A,0x97,\r
+0x05,0x8D,0xC7,0xD1,0xDD,0x15,0xC1,0x87,0x69,0xCA,0xEC,0x38,0x34,0x4F,0x34,0x9B,\r
+0xB6,0x23,0xDA,0x62,0xF3,0x3D,0xE9,0x81,0xFE,0x26,0x97,0x43,0xBC,0x8F,0x7C,0x5B,\r
+0x94,0x74,0xAF,0x40,0x2B,0xAD,0x79,0xC9,0x20,0x04,0x6B,0xBF,0x83,0x35,0xF9,0xE1,\r
+0x41,0x59,0x57,0x95,0x33,0x7D,0xA9,0x01,0x58,0xE9,0xFE,0x2A,0x2D,0xDC,0xBE,0x08,\r
+0xC9,0xDB,0x5D,0x1D,0xA8,0xCB,0x1F,0x2C,0xE2,0x9E,0x33,0xE7,0x2A,0xE3,0x86,0x37,\r
+0x0B,0xE0,0xA4,0xDF,0x4B,0x99,0x4D,0x9D,0x68,0xDC,0xFB,0x2F,0x82,0x22,0xEF,0xF6,\r
+0xBE,0x29,0xD8,0x6A,0x32,0x93,0x47,0xEE,0xD9,0x3F,0xA9,0x7D,0xCD,0x8D,0x0F,0x59,\r
+0x70,0x0C,0x33,0xA4,0xD2,0x3C,0xE8,0xA1,0x9C,0x5D,0x8E,0x5A,0xC5,0x0D,0x87,0xD9,\r
+0xD0,0xA0,0x3F,0x04,0x6F,0xB9,0x6D,0x99,0xC8,0x3D,0xBA,0x6E,0xF5,0x08,0xB2,0xDC,\r
+0x2B,0xC4,0xA0,0xFF,0xB4,0xD4,0x00,0x2F,0x65,0x66,0x4C,0x98,0x35,0x58,0x22,0x8C,\r
+0x9B,0x38,0xEC,0x4F,0x5E,0x73,0xA7,0x62,0xF2,0x8A,0x37,0xE3,0x4D,0xCD,0xCF,0x19,\r
+0x01,0x99,0xD7,0xD5,0xCC,0x30,0xE4,0xB3,0x4F,0xC5,0xC5,0x11,0xD3,0x21,0xBD,0xF5,\r
+0x5C,0x36,0x25,0x88,0xC0,0xE4,0x30,0x6B,0x15,0x03,0x59,0x8D,0x96,0x06,0xDF,0xD2,\r
+0x60,0x5C,0x73,0xB4,0x53,0x49,0x9D,0x55,0xE7,0xAC,0x04,0xD0,0xB5,0x18,0xE2,0xCC,\r
+0x87,0x76,0xBE,0x53,0x57,0x86,0x52,0x9E,0xEA,0x16,0xB3,0x67,0xF7,0x00,0xB8,0xD4,\r
+0xC0,0xF0,0x7F,0x14,0x27,0x79,0xAD,0x11,0x56,0x4F,0x56,0x82,0x6C,0xDB,0xF8,0x0F,\r
+0xD2,0xD3,0x4E,0x06,0xFA,0xC8,0x1C,0x7D,0xE5,0xA6,0x0C,0xD8,0x74,0x5F,0x64,0x8B,\r
+0xA1,0x35,0xDB,0x75,0x6D,0xAA,0x7E,0x88,0x51,0x77,0x69,0xBD,0xA5,0x1C,0xF6,0xC8,\r
+0x13,0xBA,0xE6,0xC7,0xF5,0xE1,0x35,0x5B,0xD5,0x93,0x09,0xDD,0x6F,0xC4,0xE4,0x10,\r
+0x6D,0x63,0x41,0xB9,0x3E,0x47,0x93,0x36,0xDE,0x07,0x96,0x42,0xEB,0xA4,0x00,0x70,\r
+0xE8,0xDE,0x79,0x3C,0xE7,0x39,0xED,0x91,0x4C,0xD9,0xDA,0x0E,0x24,0x4B,0x20,0x9F,\r
+0x12,0x9B,0xC6,0xC6,0x1C,0xBB,0x6F,0xE8,0xAB,0x50,0xB4,0x60,0x03,0x75,0x39,0xA1,\r
+0x62,0x2F,0x02,0xB6,0x2E,0x8C,0x58,0xED,0xD4,0x85,0x1E,0xCA,0xE3,0x24,0x88,0xF0,\r
+0xEA,0xAD,0x08,0x3E,0xD0,0x2F,0xFB,0xB0,0x67,0x6C,0x44,0x90,0x0D,0xDD,0x9F,0x09,\r
+0xC9,0xF3,0xB9,0x22,0x33,0x81,0xAA,0x79,0x2D,0x67,0x05,0x7A,0xEA,0x0B,0xA0,0xB3,\r
+0x33,0x9F,0xD5,0xB4,0x47,0x21,0x7E,0x0D,0x97,0xDD,0x80,0x45,0x66,0x9D,0x2C,0xA9,\r
+0x5C,0x82,0xC8,0xC6,0x91,0x5E,0xD7,0xDB,0x72,0x38,0xD9,0xF9,0x3B,0x32,0x71,0x5B,\r
+0x1A,0x85,0xCF,0x87,0xF5,0xAE,0x43,0xBF,0x8E,0xC4,0xFB,0x27,0x68,0xF0,0x22,0xCA,\r
+0x1B,0x6B,0x21,0x68,0x55,0x02,0x4F,0x1F,0x42,0x08,0xAD,0xBD,0x06,0x79,0x4C,0x2D,\r
+0x8E,0x1A,0x50,0x8C,0x4D,0x58,0x0D,0x07,0xCC,0x86,0x48,0xD6,0x48,0xD4,0x02,0xCE,\r
+0x3D,0x58,0x12,0x7D,0xE4,0xDF,0x23,0xAE,0x74,0x3E,0xBE,0x98,0xA9,0x99,0xE3,0x62,\r
+0x45,0xBC,0xF6,0xE1,0x53,0x65,0x2E,0x19,0x1B,0x51,0x16,0x5F,0xFE,0x4F,0xB4,0xE3,\r
+0xD1,0x23,0x69,0xEA,0x49,0x4C,0x1D,0x03,0x56,0x1C,0xE9,0xED,0x6E,0x97,0x24,0xAB,\r
+0x8D,0xE7,0xAD,0x72,0xDA,0xC6,0x04,0x90,0x7C,0x36,0xB4,0x9A,0x6D,0xC5,0x27,0xFA,\r
+0xDC,0x19,0x53,0xDD,0x48,0x6D,0x3D,0x02,0x36,0x7C,0x0D,0x69,0xC3,0x04,0x89,0x95,\r
+0x75,0x98,0xD2,0xF5,0x5A,0x4E,0x0C,0x10,0x94,0xDE,0xD2,0x14,0xA0,0xB2,0xEA,0x40,\r
+0x01,0xA8,0xE2,0xB1,0xE9,0xE0,0x11,0xA3,0x0E,0x44,0x73,0x2F,0x4D,0xE1,0x07,0xFE,\r
+0x3B,0x84,0xCE,0xA7,0x80,0x2F,0xB7,0xCA,0xD3,0x99,0x54,0xD5,0x40,0xDE,0x0A,0xCC,\r
+0x1D,0xB7,0xFD,0xB2,0xB0,0x5B,0xF3,0xFA,0x52,0x18,0xFD,0xFD,0x84,0x82,0xCE,0x54,\r
+0x42,0x8E,0xC4,0xD4,0xFD,0xA4,0x41,0xB7,0x5D,0x17,0xB1,0xBE,0xC1,0x77,0x8B,0xE4,\r
+0x5A,0x5E,0x14,0x1C,0x26,0xE4,0xDA,0x6C,0xA2,0xE8,0xC1,0x31,0x28,0x30,0x62,0x4A,\r
+0x37,0x50,0x1A,0x7F,0xFF,0xD7,0x30,0xB5,0xFB,0xB1,0x7A,0xD3,0x8C,0x88,0xC6,0x56,\r
+0xD8,0xD6,0x9C,0x16,0xD0,0xBF,0x77,0x9A,0xBE,0xF4,0x8F,0x63,0x81,0xB7,0xCB,0x64,\r
+0x6F,0x5B,0x11,0x2C,0xEB,0x93,0x60,0xA1,0x46,0x0C,0xB9,0xAD,0x59,0xA5,0x13,0xAE,\r
+0x38,0x79,0x33,0x59,0x0D,0x98,0x8D,0x47,0x23,0x69,0x68,0x19,0x8B,0xCE,0xC1,0x17,\r
+0xED,0xD3,0x99,0x26,0x75,0x26,0x4B,0x3F,0x44,0x0E,0xCA,0xDC,0x6B,0xA2,0x21,0x9B,\r
+0xFC,0xF6,0xBC,0x12,0x56,0x50,0x1E,0x1C,0x08,0x42,0x14,0x4E,0xF3,0x70,0xB9,0xD1,\r
+0x4D,0xA7,0xED,0xF2,0x30,0xD3,0xFB,0x7A,0xE3,0xA9,0x20,0x91,0x62,0x89,0x28,0xB9,\r
+0x94,0xD9,0x93,0x55,0x6C,0x5D,0x29,0x26,0xA6,0xEC,0xD5,0x21,0x8D,0xA9,0xC7,0x76,\r
+0x31,0x8C,0xC6,0xA5,0xD4,0xAB,0x67,0x9E,0xEF,0xA5,0x3E,0x83,0xD9,0x2D,0x93,0xA6,\r
+0x67,0x40,0x0A,0x3F,0xD5,0x8A,0x47,0x9F,0x2A,0x60,0x43,0x3B,0xC0,0x56,0x8A,0xC4,\r
+0x7C,0x6D,0x27,0x09,0x34,0xC7,0xEB,0x7E,0xDE,0x94,0x6B,0xE7,0xEB,0x2A,0xA1,0x93,\r
+0x47,0xAF,0xE5,0xF0,0x5F,0x7B,0x3C,0x15,0xE9,0xA3,0x59,0xE2,0xAC,0xAC,0xE6,0x52,\r
+0x8B,0x3B,0x71,0xA8,0x4E,0x0A,0x5C,0x04,0x2C,0x66,0x24,0x5A,0x32,0x19,0x78,0x79,\r
+0x7F,0x90,0xDA,0xF7,0xCA,0x96,0x44,0x80,0x6F,0x25,0xB6,0x8B,0x5F,0xC2,0x15,0xCF,\r
+0x63,0x8F,0xC5,0xF4,0x01,0x86,0x9F,0x4B,0x76,0x3C,0xCD,0xE9,0xC9,0x7D,0x83,0xE6,\r
+0x08,0x5D,0x17,0x4D,0xA2,0x78,0xC2,0xE8,0x70,0x3A,0xAA,0x88,0x64,0xEE,0x2E,0xD8,\r
+0x6C,0xA6,0xEC,0xD2,0xCF,0xA3,0x74,0x85,0x86,0xCC,0xF1,0x25,0x34,0x7E,0x7E,0x18,\r
+0x55,0x77,0x3D,0x3A,0x46,0x00,0x5E,0x0C,0xF9,0xB3,0x09,0xA2,0x1D,0x71,0x57,0x3E,\r
+0xF4,0xED,0xA7,0x01,0x05,0x92,0x8F,0x4F,0x0B,0x41,0x46,0x1F,0xF1,0x03,0xBB,0xA0,\r
+0x90,0x16,0x5C,0x9E,0x3F,0x9F,0xB8,0x75,0x38,0x72,0x60,0x0A,0x24,0x2E,0x6E,0x58,\r
+0xFA,0x2A,0x60,0xC8,0x92,0x0C,0x86,0xD8,0x65,0x2F,0xCF,0xF8,0x3A,0x13,0x70,0x7B,\r
+0x3C,0xB6,0xFC,0x92,0x0F,0xEB,0xFC,0x45,0x6A,0x20,0x83,0xBB,0xE7,0x34,0xAD,0x81,\r
+0xBA,0xF1,0xBB,0x53,0xF0,0x9B,0x73,0xBA,0x8F,0xC5,0xDA,0x07,0x3C,0x74,0x76,0x1A,\r
+0xF9,0xD7,0x9D,0x36,0xDC,0xA1,0x65,0x96,0x55,0x1F,0xBB,0xBC,0x20,0x3A,0x6A,0x48,\r
+0x1F,0xA4,0xEE,0xA3,0xBE,0x36,0x90,0xF4,0x30,0x7A,0x6A,0x08,0x63,0xA8,0x29,0x99,\r
+0xAF,0x1B,0x51,0xAC,0x31,0xF2,0xDB,0x7B,0xAA,0xE0,0xCB,0x33,0x98,0xCC,0xD2,0x06,\r
+0x76,0x65,0x2F,0x0B,0x97,0x39,0xB6,0xDD,0x35,0x7F,0x5F,0x38,0xF8,0x28,0xB2,0x82,\r
+0x57,0x64,0x2E,0x2B,0xCD,0xD0,0x05,0x87,0x88,0xC2,0x9C,0x46,0x49,0xF5,0x03,0xEE,\r
+0x12,0x9E,0xD4,0x94,0x4F,0x2B,0x7C,0x05,0xE6,0xAC,0x15,0xA1,0x77,0xEC,0x3D,0xC9,\r
+0x61,0x9C,0xD6,0xE5,0x59,0x1C,0x5D,0x13,0x78,0x32,0xA0,0x8A,0xE1,0x53,0xAB,0xE0,\r
+0xE3,0x14,0x5E,0xEF,0xFA,0xE2,0x00,0xB0,0x22,0x68,0x49,0x39,0x18,0x44,0x52,0x0E,\r
+0x40,0x9D,0xD7,0xC5,0xFE,0xF6,0x10,0xB4,0x54,0x1E,0x9A,0x9C,0x92,0xB5,0xD8,0x75,\r
+0x9E,0xD1,0x9B,0x57,0x81,0x0E,0x97,0xCB,0x43,0x09,0x8C,0x9D,0xA4,0xA6,0xEE,0x50,\r
+0x0F,0x6F,0x25,0x78,0x04,0xB3,0xAF,0x4E,0x16,0x5C,0x29,0x6D,0x89,0xBD,0xC3,0x66,\r
+0xDD,0xF7,0xBD,0x32,0x2D,0xBC,0x89,0x67,0xF0,0xBA,0x22,0x80,0x4A,0xA7,0x00,0xBF,\r
+0x69,0x87,0xCD,0xF6,0x11,0xD6,0xDF,0x5B,0x3E,0x74,0x07,0x6B,0x2B,0x62,0x61,0x1B,\r
+0x51,0xB8,0xF2,0xF1,0xF2,0xE8,0x02,0xB8,0x83,0xC9,0xC4,0x15,0x61,0xDB,0x2B,0xE8,\r
+0xF7,0x10,0x5A,0xFF,0xAE,0x66,0xD0,0xE4,0x58,0x12,0x84,0x8E,0x7F,0xE6,0x35,0xCB,\r
+0x6E,0xB5,0xFF,0xC3,0x96,0x18,0x96,0xDC,0xB6,0xFC,0x85,0x61,0xD1,0x27,0x9B,0xA4,\r
+0xEF,0xC0,0x8A,0x37,0x4B,0x3F,0x6C,0x01,0xAB,0xE1,0xEA,0x13,0xB3,0xB0,0xF9,0x51,\r
+0x41,0x73,0x39,0x2A,0x63,0x11,0x6A,0x29,0xD0,0x9A,0x06,0x84,0x73,0xF8,0x39,0xD9,\r
+0x95,0x37,0x7D,0xBA,0x0B,0xFF,0xEC,0x41,0xC2,0x88,0x25,0xB5,0xE0,0x72,0xAA,0xC0,\r
+0xB8,0xE2,0xA8,0x42,0xDB,0xE7,0x24,0x91,0x57,0x1D,0xC8,0xCD,0x09,0x35,0x43,0x6E,\r
+0x2C,0x7D,0x37,0x49,0xEF,0x87,0x70,0xA5,0xC7,0x8D,0x10,0x85,0x1E,0x23,0x54,0x6F,\r
+0x17,0xBF,0xF5,0xB0,0xBD,0x64,0xC1,0xF7,0x0F,0x45,0x52,0x0F,0xDF,0x4A,0x95,0xC7,\r
+0xC0,0x06,0x4C,0xDE,0x4A,0x1E,0x4C,0x00,0xB2,0xF8,0x91,0x71,0x31,0x4B,0x7B,0x28,\r
+0xE5,0xC8,0x82,0x35,0xE5,0xFE,0x03,0xAF,0x95,0xDF,0xF3,0x34,0xB1,0xC3,0xFB,0x20,\r
+0xA9,0x94,0x69,0x8F,0x52,0xD1,0x31,0x11,0xDF,0xB9,0x1F,0x14,0x55,0x95,0xC2,0xE5,\r
+0xA7,0xF7,0x67,0xE2,0xB8,0x08,0x02,0xC8,0x86,0x5B,0x46,0xAF,0xF1,0x31,0xDE,0x5D,\r
+0x21,0x9E,0xE1,0x0D,0xFF,0x27,0x6A,0xE7,0xC3,0xEB,0x03,0x5A,0xFC,0x3C,0xEC,0x62,\r
+0xAC,0xA4,0x6C,0xBA,0xE8,0x1C,0x46,0xDC,0x3B,0x25,0xFB,0x6C,0x24,0xE4,0x26,0x70,\r
+0x8E,0xD1,0x4E,0xED,0x05,0xFA,0x4D,0x3A,0x5E,0x91,0x9E,0xBD,0xF6,0x36,0x9F,0x1B,\r
+0x24,0xAE,0xE4,0x38,0xC3,0x82,0xF3,0x42,0x39,0x54,0xF9,0x1F,0x16,0xD6,0x13,0x77,\r
+0x01,0x9A,0xC1,0x29,0x96,0xA1,0x85,0x61,0x75,0xC6,0xB5,0xC1,0x8E,0x4E,0x59,0xA5,\r
+0x50,0x7A,0x90,0x98,0x73,0xC7,0x06,0x07,0x9E,0x19,0x5E,0xF5,0x1F,0xDF,0x31,0x5C,\r
+0x2E,0xDD,0xEE,0x41,0xA1,0x9B,0x88,0x5B,0xDB,0xA9,0x1B,0x00,0xF0,0x30,0xFE,0x7C,\r
+0x7B,0x2D,0xBB,0xE4,0xEF,0x23,0x7E,0xE3,0x92,0x0B,0x52,0xEB,0xA4,0x64,0x2E,0xF8,\r
+0xB7,0xB7,0x77,0xB2,0xCF,0x22,0x5F,0xE2,0x57,0xB3,0x97,0x96,0xBD,0x7D,0x4C,0x83,\r
+0x9A,0x81,0x5A,0xA9,0x63,0xC3,0x12,0x03,0xA3,0x6F,0x63,0xBE,0x96,0x56,0x1B,0xFF,\r
+0x58,0x78,0x98,0x92,0xB4,0xA8,0xAE,0x68,0x94,0x6A,0x54,0x8C,0xD1,0x11,0xDA,0x79,\r
+0xCC,0x20,0x0C,0x5E,0xD4,0xB9,0xDF,0x79,0x51,0xD2,0x91,0xF1,0x4F,0x8F,0xF1,0xCC,\r
+0x67,0x7F,0xA7,0xAA,0xCC,0x3D,0x43,0xFD,0x12,0x03,0xD2,0x63,0x22,0xE2,0x47,0x17,\r
+0x78,0x7C,0xB8,0xB6,0x17,0xF6,0x53,0x36,0x0B,0x61,0xCB,0x18,0xB4,0x74,0x6E,0xA8,\r
+0x04,0xAA,0xC4,0x1C,0x22,0xC4,0x54,0x04,0x50,0xF2,0x90,0xD0,0x97,0x57,0x3B,0xDE,\r
+0x68,0x3C,0xA8,0xE6,0xF6,0xB0,0xF4,0x70,0xEA,0xCD,0x2A,0x55,0x1B,0xDB,0x21,0x48,\r
+0x75,0x4E,0xB5,0x89,0x5F,0x66,0x8B,0xA6,0x0F,0x71,0xCF,0x0C,0x46,0x86,0xD3,0xE7,\r
+0x72,0x0F,0xB2,0xCF,0xCB,0x02,0x7B,0xC2,0xF3,0xAF,0x33,0x2E,0x15,0xD5,0x42,0x25,\r
+0x9C,0xE0,0x5C,0xCE,0xC7,0xA2,0xD7,0x62,0x3F,0x35,0xFF,0x78,0x7B,0xBB,0xA5,0xAC,\r
+0xED,0x04,0x2D,0x5B,0x85,0xBA,0x8D,0x7A,0xB1,0x5E,0x71,0x9D,0x35,0xF5,0x46,0x01,\r
+0xAF,0xF5,0x6F,0xE8,0xAB,0x13,0x0A,0xD3,0x09,0x10,0xC9,0x6B,0xD4,0x14,0xEA,0x4C,\r
+0x4B,0x69,0x8B,0x90,0xA6,0xA4,0xB0,0x64,0x66,0xD7,0xA6,0xC3,0x83,0x43,0x6B,0x9A,\r
+0xD4,0x62,0x14,0x04,0x95,0xBE,0x99,0x7E,0x2B,0x65,0xEB,0x3C,0x13,0xD3,0x23,0x42,\r
+0x10,0xFA,0xD0,0x58,0x8C,0x2D,0x13,0xED,0x01,0x12,0xC1,0x61,0x10,0xD0,0x72,0x10,\r
+0xEE,0x55,0x2E,0x09,0xB5,0xBF,0xB8,0x7F,0x4B,0xE1,0x8B,0xD8,0xBE,0x7E,0x1D,0xD1,\r
+0x6F,0x7D,0xAF,0xA0,0x84,0xAD,0x9B,0x6D,0xE9,0x9C,0x29,0x07,0xDD,0x1D,0xC8,0x67,\r
+0x5F,0x39,0x9F,0xD4,0x99,0x1E,0x35,0xDE,0x73,0xA7,0xB3,0xA6,0x30,0xF0,0x76,0x34,\r
+0x73,0x2F,0xB3,0xEE,0x3F,0x77,0xFA,0xB7,0xAE,0x5D,0x6E,0x81,0x3D,0xFD,0x44,0x0B,\r
+0x40,0x3A,0x80,0xC8,0x7B,0x47,0x8E,0x87,0x2F,0x75,0xEF,0x28,0xF9,0x39,0xDC,0x57,\r
+0x79,0x5C,0xB9,0x97,0xC9,0x0A,0x71,0xCA,0x20,0x36,0xE0,0x64,0xBC,0x7C,0x6C,0xA2,\r
+0x6A,0x4D,0xAA,0x95,0x98,0x09,0x23,0xC9,0x29,0x14,0xE9,0x4F,0xEF,0x2F,0xFD,0x60,\r
+0x26,0xDF,0xE6,0x4B,0x1F,0x76,0xDB,0xB6,0x3E,0x15,0xFE,0x59,0xD9,0x19,0xD8,0x73,\r
+0x98,0xF0,0x58,0xDA,0x27,0xF3,0x66,0x33,0x6B,0xE5,0xAB,0xFC,0xF4,0x34,0xEE,0x68,\r
+0x00,0xBA,0xC0,0x08,0x01,0xDA,0x69,0x1A,0x8D,0x08,0x4D,0xF7,0x37,0xF7,0x37,0x72,\r
+0x70,0x7E,0xB0,0xBC,0x57,0xE6,0x03,0x26,0x43,0xE3,0x83,0xD2,0x56,0x96,0x93,0xB7,\r
+0x4F,0x79,0x8F,0x84,0x8A,0x05,0x3D,0xC5,0xFE,0x9D,0x3E,0x11,0x1C,0xDC,0x60,0x0E,\r
+0xE7,0x77,0x27,0x22,0x58,0x59,0xB3,0x99,0x25,0x06,0xE5,0x51,0x02,0xC2,0x43,0x33,\r
+0x42,0x4B,0x82,0xBB,0x1E,0x61,0xCD,0xA1,0xCB,0xE9,0x0B,0x50,0xAC,0x6C,0x2C,0xF2,\r
+0x37,0xBF,0xF7,0x3A,0xE4,0xBC,0xEA,0x7C,0xD6,0x9B,0x16,0x3F,0xCE,0x0E,0xD9,0x65,\r
+0x84,0xA2,0x44,0x94,0xE2,0x94,0xC4,0x54,0xAD,0x0C,0x6D,0xD3,0x0E,0xCE,0x51,0x2D,\r
+0xC0,0x32,0x00,0x40,0x64,0xFC,0x2A,0x3C,0xBF,0x3D,0x7F,0xF0,0x9D,0x5D,0x48,0xA7,\r
+0x15,0xCA,0xD5,0x6D,0xAC,0x2C,0x32,0xEC,0x2A,0x45,0xEA,0x1D,0x74,0xB4,0xE6,0xE0,\r
+0x8A,0xC1,0x4A,0xF9,0xF8,0x18,0x52,0xD8,0xBA,0x0D,0x7A,0xC5,0x63,0xA3,0xE7,0xF6,\r
+0x48,0x38,0x88,0xC2,0x49,0x4A,0xB1,0x8A,0x72,0x87,0xB2,0x87,0xA2,0x62,0x4F,0x9F,\r
+0xF1,0x56,0x31,0x15,0xC4,0xBD,0xCB,0x7D,0xCF,0xF9,0x0F,0x44,0x4C,0x8C,0xA0,0x9E,\r
+0x3F,0xBD,0xFF,0x30,0x8B,0x12,0x2B,0xD2,0xE8,0xBC,0x28,0x26,0xCC,0x0C,0xA8,0x16,\r
+0xAA,0xC5,0x6A,0xDD,0x4A,0x55,0xAD,0x95,0x0D,0x00,0xCD,0x7F,0x19,0xD9,0x50,0x3B,\r
+0x51,0x5A,0x91,0xB9,0xFC,0x38,0x76,0xF8,0xFB,0xAD,0x3B,0x24,0x49,0x89,0x90,0xAB,\r
+0x80,0xB2,0x40,0x80,0xD6,0xB1,0xD5,0x71,0x84,0x2A,0x44,0xDC,0x60,0xA0,0xB6,0xA4,\r
+0x1A,0x89,0xDA,0x21,0x07,0xF2,0x47,0x32,0x76,0x97,0xB6,0x93,0x8C,0x4C,0x28,0xD6,\r
+0xE1,0x16,0x21,0x45,0x30,0xC8,0x4A,0x08,0x45,0x82,0x85,0xB5,0x59,0x99,0xD0,0xFB,\r
+0xDD,0x40,0x1D,0x2F,0x0E,0x65,0xD9,0xA5,0x18,0x70,0xD8,0x1A,0x47,0x87,0xF3,0xC6,\r
+0x41,0x1A,0x81,0xE9,0x74,0xF8,0x3E,0x38,0x17,0x33,0xD7,0x56,0x9A,0x5A,0x09,0xE1,\r
+0x06,0xDB,0xC6,0x6F,0xFB,0x07,0x4E,0xC7,0xF2,0x8F,0x32,0x0F,0x41,0x81,0x92,0xA1,\r
+0x20,0xBE,0xE0,0x2C,0xED,0x2B,0x74,0xEB,0x28,0x34,0xE8,0x6E,0x5D,0x9D,0xC0,0xEF,\r
+0x53,0x2B,0x93,0xCA,0x18,0x49,0xE3,0x89,0x4D,0x80,0x8D,0xBF,0x1E,0xDE,0x11,0x7D,\r
+0xEC,0x24,0x2C,0x7A,0x53,0xC6,0x27,0x06,0xD7,0xBB,0x17,0x1E,0xE5,0x25,0x8E,0x19,\r
+0x92,0x83,0x52,0xA3,0x3E,0x60,0xEC,0xA0,0x48,0xB0,0x88,0x8A,0x85,0x45,0x0A,0xFD,\r
+0x93,0xA3,0x53,0x82,0x8D,0x3A,0x05,0xFA,0xF5,0xCE,0x35,0x49,0x34,0xF4,0x66,0x20,\r
+0x69,0x1C,0xA9,0xC7,0xF4,0xB8,0xFE,0x78,0x9B,0x29,0x5B,0xC0,0x0A,0xCA,0x41,0x39,\r
+0x6B,0x6D,0xAB,0xB4,0xD5,0xAE,0xC9,0x6E,0x05,0x02,0xC5,0x75,0x9C,0x5C,0x68,0x86,\r
+0xE3,0x67,0x23,0x36,0x88,0x0D,0x37,0xCD,0x5F,0xB1,0x9F,0x9C,0x65,0xA5,0x86,0x91,\r
+0xDD,0x24,0xDD,0x59,0x3B,0x3F,0xBB,0x20,0x39,0xB1,0xAC,0x28,0xCA,0xE6,0x08,0x62,\r
+0x60,0xE7,0xA3,0xE4,0x82,0x75,0xF1,0xD3,0x3E,0x89,0x93,0x17,0x17,0x05,0x36,0x81,\r
+0xE8,0x65,0xA9,0x6C,0xC7,0x8F,0x0B,0x6C,0x0B,0x8E,0xA1,0x25,0x5E,0x82,0xF8,0x06,\r
+0x06,0x64,0x46,0x82,0x06,0x21,0xA5,0x03,0x37,0x17,0x04,0x80,0x18,0xBA,0x86,0x3E,\r
+0x1D,0x6C,0x55,0x99,0x46,0xFA,0x7E,0x98,0x9F,0x7E,0xC5,0x41,0x5F,0x95,0xEE,0x11,\r
+0x0A,0x7A,0x54,0x8E,0x55,0xCC,0x48,0xBD,0x0D,0xA0,0x89,0x0D,0xD8,0xEA,0x16,0x6E,\r
+0xAE,0xC2,0x48,0x2A,0x47,0x14,0x90,0x77,0xFA,0x3D,0xE3,0x67,0x41,0x39,0x5C,0xBD,\r
+0x48,0xC9,0xA5,0xCC,0x5D,0xD7,0x53,0xAE,0xB0,0xEF,0x7B,0xFF,0x67,0x10,0x53,0x94,\r
+0x51,0xB2,0xC7,0xD5,0xAA,0x81,0x05,0x0F,0x78,0xF7,0xAB,0x2F,0x09,0xA9,0x84,0x2D,\r
+0x99,0xF0,0x4D,0x1D,0xC3,0x40,0xC4,0xA7,0x81,0xCC,0x69,0xED,0xB8,0xFB,0x67,0x7F,\r
+0xCB,0x13,0xFC,0x4F,0x23,0xEF,0x6B,0xE8,0xFD,0x05,0xDC,0x58,0xCB,0xF1,0x1E,0x75,\r
+0xEC,0x71,0xB9,0x68,0xAB,0x6F,0xEB,0xE0,0x16,0x20,0x12,0x96,0x84,0x5E,0xFE,0xDA,\r
+0x8E,0xE6,0x4C,0x0A,0x18,0x2D,0xA9,0x11,0xE2,0xA1,0x67,0xE3,0xA2,0x77,0xF1,0xF3,\r
+0xF5,0x0A,0xDB,0x71,0x50,0xED,0x69,0x99,0xFF,0x0F,0xD4,0x50,0xA4,0x5F,0xDF,0xDB,\r
+0x09,0x28,0x05,0x8D,0xD5,0x57,0xD3,0xA6,0x8A,0x58,0xF6,0x72,0xEC,0xCF,0x07,0x4B,\r
+0x9C,0xC5,0x7D,0x18,0x92,0xBE,0x3A,0x08,0x72,0x75,0x23,0xA7,0x24,0x1F,0x1F,0x9B,\r
+0x3B,0x2F,0x30,0xBF,0xF3,0x64,0xE0,0xB3,0x00,0x1A,0x3E,0xBA,0x4E,0x86,0xEC,0x02,\r
+0x66,0x80,0xC2,0xE2,0xCE,0x7A,0xFE,0x90,0x56,0x70,0x02,0x86,0x70,0x2B,0x7F,0xAF,\r
+0xD1,0x3A,0xCF,0x55,0x94,0x62,0xE6,0xD2,0x9B,0x5A,0xE5,0x61,0xBB,0xE4,0x7B,0x60,\r
+0x34,0x63,0x73,0xB0,0xD4,0xB9,0x3D,0x49,0x5A,0xDC,0xA2,0x26,0x34,0x1B,0x0B,0x9F,\r
+0xD8,0x11,0xED,0x5C,0x9E,0x6A,0xEE,0xD0,0x1A,0x8C,0xB2,0x36,0xBC,0xDB,0x43,0x5F,\r
+0x2E,0x4A,0x40,0xAA,0x0E,0x3A,0xBE,0x10,0x85,0xE8,0x49,0xCD,0x0A,0xB6,0x98,0x32,\r
+0x55,0xA6,0xD7,0xD1,0xE3,0xAF,0x2B,0x68,0xC9,0x14,0xF9,0x7D,0x47,0x11,0x72,0x95,\r
+0xA7,0xE9,0x6A,0x23,0x91,0x43,0xC7,0xF6,0xF2,0xB5,0x63,0xE7,0x96,0x52,0xE0,0xD6,\r
+0xB8,0xF5,0x69,0x3C,0x0C,0x29,0xAD,0x01,0x5C,0xF2,0x8A,0x0E,0xB4,0x5B,0xCB,0xDF,\r
+0xD6,0x7C,0x8E,0x52,0x15,0x17,0x93,0x26,0xE3,0xB7,0x70,0xF4,0xCD,0xD9,0x30,0x5D,\r
+0x7C,0xA9,0xF1,0xF8,0xA4,0x46,0xC2,0xC6,0x27,0x03,0x00,0x84,0xC8,0xEE,0x02,0x6A,\r
+0x26,0x40,0x42,0xA2,0xB3,0xBF,0x3B,0x28,0x2D,0x81,0x88,0x0C,0x95,0x4D,0xFC,0xC9,\r
+0x6E,0x8A,0xC0,0xEA,0x48,0x3D,0xB9,0x51,0x6B,0xFF,0xB0,0x34,0x58,0xAA,0xD6,0x2E,\r
+0x0B,0x5B,0x74,0x8F,0xDA,0x7E,0xFA,0x80,0xFE,0x19,0xC3,0x47,0xAD,0xC8,0x41,0x4C,\r
+0x6B,0xBF,0xF0,0xEF,0xC8,0xA6,0x22,0x4A,0xC3,0x96,0x71,0xF5,0x7E,0x83,0xD9,0x07,\r
+0xF4,0x2B,0xFB,0x70,0x2C,0xC6,0x42,0xCE,0x64,0x4F,0x0F,0x8B,0x13,0x25,0x12,0xA1,\r
+0x1A,0x2A,0x14,0x9E,0x42,0x35,0xB1,0x53,0xEE,0x0D,0xC7,0x43,0x83,0x61,0xC6,0xE5,\r
+0x7D,0x88,0xD1,0xF9,0x2E,0xD5,0x51,0xDF,0x91,0xD8,0x6D,0xE9,0x45,0x19,0x78,0x9D,\r
+0xBD,0xC0,0x59,0x39,0x69,0x3C,0xB8,0x71,0x3A,0xAD,0xB3,0x37,0x33,0x24,0x33,0xA0,\r
+0x56,0xF4,0x86,0xD2,0x90,0xAD,0x29,0x19,0xDA,0x1C,0xE2,0x66,0xD6,0x42,0xB0,0xC6,\r
+0xA5,0x9A,0x1B,0x21,0x68,0xD2,0x56,0x9E,0xB7,0xD7,0x44,0xC0,0xF8,0xEB,0x37,0x6F,\r
+0xFC,0x21,0xF9,0x78,0xD0,0x76,0xF2,0x82,0xD4,0xBA,0x4A,0xCE,0x12,0x32,0x04,0xB6,\r
+0x18,0x59,0x65,0x9C,0x45,0x07,0x83,0x66,0xE4,0x8F,0x4F,0xCB,0xA8,0xFF,0x73,0x7B,\r
+0xE0,0x6F,0xAB,0x64,0x57,0xDF,0x5B,0xAC,0xDE,0x38,0xC2,0x46,0xBF,0xC4,0x5F,0x40,\r
+0x72,0xC4,0x92,0xF6,0xF9,0x6C,0xE8,0xB1,0x60,0x6B,0x2F,0xAB,0x94,0x5A,0xEA,0xDE,\r
+0xB7,0xB9,0x2A,0x33,0x4C,0xF2,0x76,0x9A,0x38,0xA7,0xBB,0x3F,0xF4,0x4B,0x9B,0xCF,\r
+0x28,0x2D,0x21,0xAC,0x9D,0x97,0x13,0x2E,0x3C,0x83,0x9B,0x1F,0x57,0x15,0x66,0x91,\r
+0x31,0x56,0x43,0xB5,0x22,0x01,0x85,0x07,0x3F,0x9F,0x84,0x00,0x8C,0xDE,0x76,0x5A,\r
+0xB1,0xDE,0x4B,0x35,0xCD,0x87,0x03,0x6E,0x6D,0xD1,0x98,0x1C,0xAF,0xC0,0x4B,0x44,\r
+0xF8,0x35,0xE9,0x7C,0x49,0xD3,0x57,0xBE,0x9D,0x74,0xCD,0x49,0xE1,0x78,0xBD,0xFC,\r
+0x80,0x8B,0x2F,0x04,0xCA,0xB5,0x31,0x5B,0xC1,0x9C,0x79,0xFD,0x23,0x20,0x27,0xA4,\r
+0x74,0xA3,0xF3,0xF0,0xB6,0x9E,0x1A,0x0C,0xF7,0x87,0x54,0xD0,0x8F,0xC1,0x6A,0x45,\r
+0x92,0xA8,0x1E,0x16,0x34,0x16,0x92,0x06,0x44,0x6E,0x0E,0x8A,0xC5,0x59,0xB8,0xDD,\r
+0x1C,0x4D,0x75,0x98,0x99,0x58,0xDC,0xE5,0xA0,0xFB,0x7F,0xFB,0x87,0x41,0xE2,0xC5,\r
+0x45,0xF6,0x97,0xC1,0xAF,0xA0,0x24,0x2B,0x29,0xA5,0xA8,0x2C,0xE6,0x47,0x85,0xC3,\r
+0x2A,0x5E,0x50,0xAE,0x79,0xF7,0x73,0xAA,0xB5,0xDD,0x4C,0xC8,0xEB,0xF0,0x3F,0x74,\r
+0xC9,0x60,0x8D,0x4D,0x7D,0x38,0xBC,0x61,0x7C,0xD3,0x8B,0x0F,0xB6,0x53,0xC1,0xD7,\r
+0x73,0xE5,0xB2,0xF7,0xEB,0xB4,0x30,0x7B,0xEA,0x29,0xE7,0x63,0x62,0x27,0x61,0xA3,\r
+0xD0,0x1B,0xEF,0x54,0x10,0x36,0xB2,0x02,0x4F,0xFA,0x91,0x15,0x8B,0xE1,0x4E,0x65,\r
+0x2C,0x39,0x31,0xA8,0xD2,0x65,0xE1,0x93,0x0E,0xBC,0x96,0x12,0x1F,0x85,0xBE,0x01,\r
+0x8D,0xB4,0x1D,0x09,0x3E,0x1E,0x9A,0x04,0x6F,0xDB,0x90,0x14,0x7F,0x94,0xCF,0x10,\r
+0x50,0x93,0xE7,0xD4,0x01,0x13,0x97,0x36,0x79,0xE1,0xBC,0x38,0xD9,0xFD,0x00,0x79,\r
+0x03,0x51,0x76,0x87,0x97,0x9F,0x1B,0x2C,0x1C,0xA2,0x9A,0x1E,0x89,0xE9,0x44,0x6D,\r
+0x0C,0x1D,0x35,0x88,0x62,0xDA,0x5E,0x9C,0x7A,0xFD,0xA3,0x27,0x3B,0xA4,0xBB,0x20,\r
+0x22,0x54,0x52,0xA6,0x25,0x33,0xB7,0x32,0xBA,0x6D,0xF3,0x77,0xCC,0xCE,0x26,0x4A,\r
+0x08,0x09,0x25,0x8C,0x77,0x30,0xB4,0x63,0x22,0x31,0x37,0xB3,0xD5,0x5D,0xAC,0xD9,\r
+0xCA,0x32,0xDC,0x4E,0x52,0xFE,0x7A,0x88,0x3D,0x95,0x8C,0x08,0xC4,0x4E,0xAE,0xCA,\r
+0x68,0xED,0xA1,0xEC,0xE4,0x9D,0x19,0x5D,0x15,0x3C,0x0D,0x89,0xF5,0x5C,0x8D,0xD8,\r
+0xD7,0xCD,0x58,0xFB,0x58,0x3A,0x83,0xCD,0x07,0x92,0x0B,0x78,0xED,0x1E,0x78,0x87,\r
+0x9A,0x2C,0xB9,0x57,0x75,0x21,0xB5,0xE0,0x2C,0xB9,0x77,0x2F,0x19,0x36,0x8C,0x5B,\r
+0x00,0x74,0xE1,0x95,0xC1,0xC9,0xE9,0x54,0x4A,0xDF,0xF4,0xCA,0x61,0x88,0xF4,0x9D,\r
+0xF6,0xCC,0x59,0xDB,0x94,0x6C,0x19,0x01,0x1E,0x8B,0x70,0x1A,0x28,0x63,0xBD,0x3F,\r
+0xCB,0xD2,0x47,0xF8,0x88,0x22,0x4B,0x1D,0x98,0x0D,0x9F,0x73,0xA8,0xEB,0x3D,0x37,\r
+0xDB,0x19,0x8C,0x23,0x97,0x3E,0x48,0x02,0x0E,0x9B,0x20,0x5A,0xB1,0x90,0x24,0x55,\r
+0x26,0x47,0xD2,0x80,0xB7,0x1A,0x4C,0x22,0x6B,0xFE,0xF1,0xEE,0x2E,0x04,0xBB,0x5E,\r
+0x57,0x56,0xC3,0xE0,0x23,0xD6,0x14,0xB6,0xF5,0x60,0x44,0xC5,0xEB,0x79,0x7E,0xE6,\r
+0xE2,0xC8,0x5D,0xCB,0xCE,0x85,0xAA,0x5B,0x46,0xD3,0xEA,0xD8,0x79,0xD2,0xEC,0xDF,\r
+0xCE,0xF3,0x66,0xDC,0x43,0x32,0x90,0xD6,0x9E,0x0B,0xF8,0x12,0x81,0xE4,0x14,0x11,\r
+0xB9,0x3E,0xAB,0x66,0x46,0x07,0xA0,0xD3,0xEF,0x7A,0x6D,0xF6,0x65,0x9C,0xF0,0x8D,\r
+0x8A,0xE7,0x72,0x8C,0x48,0x6A,0xC3,0xDD,0x4B,0xDE,0xD5,0xEA,0x3C,0x27,0xA9,0x6F,\r
+0x0D,0x4E,0xDB,0xA2,0xEE,0xA1,0xAE,0x7B,0x34,0xA1,0x2D,0x6D,0xCF,0x49,0x5A,0xF2,\r
+0x8E,0x28,0xBD,0x47,0xBF,0x10,0x4E,0x2A,0xA5,0x30,0xD4,0x05,0x24,0x7D,0xB1,0x2D,\r
+0xC5,0x15,0x80,0x31,0x61,0x65,0xE5,0xF4,0x4C,0xD9,0x93,0xAB,0xE4,0x35,0x71,0xA5,\r
+0x7B,0x6D,0xF8,0xF7,0xCB,0xB0,0x9A,0x5E,0xAC,0x39,0xFF,0x27,0x83,0x97,0x16,0x60,\r
+0x30,0x50,0xC5,0x81,0x01,0x81,0x61,0x94,0x04,0x91,0x59,0x29,0xF1,0x50,0x64,0xD5,\r
+0x13,0x42,0xD7,0xB0,0x80,0x28,0x49,0x15,0x67,0xF2,0xEF,0xFC,0x53,0x8F,0xC6,0xA8,\r
+0x11,0x51,0xC4,0xA1,0x3B,0x8C,0x56,0xAE,0xA9,0x3C,0xCA,0x17,0x91,0xB4,0x04,0x51,\r
+0x9B,0xC2,0x57,0xB8,0xFF,0xD0,0xCE,0x6A,0xAA,0x3F,0x98,0x46,0xBB,0xE9,0x2E,0x26,\r
+0x06,0xA8,0x3D,0x4F,0xAF,0x40,0x0E,0x3A,0x43,0xD6,0xDF,0xE8,0x95,0xA0,0x00,0x41,\r
+0xF9,0xE5,0x70,0xFD,0x96,0x1F,0x68,0x03,0x06,0x93,0x2A,0x58,0x9A,0xEC,0x0F,0x02,\r
+0xBD,0xF1,0x64,0xAD,0xB0,0x5C,0x0D,0x25,0x8A,0x1F,0xBC,0x42,0xC9,0x2E,0x5C,0x93,\r
+0x72,0x98,0x0D,0x0B,0x9C,0x66,0x1B,0x09,0x87,0x12,0x83,0x70,0x14,0x09,0x81,0x69,\r
+0x03,0x89,0x1C,0x6B,0x9A,0x01,0x7A,0x0F,0xFC,0x69,0x6F,0xE7,0xB5,0x84,0x20,0x45,\r
+0xF3,0xED,0x78,0xFF,0x9D,0x47,0x3B,0x08,0xAF,0x3A,0xAD,0x76,0x49,0xA6,0xDC,0x9B,\r
+0xDC,0x2B,0xBE,0x16,0xEB,0x94,0x9E,0x7E,0x2D,0xB8,0x56,0x0F,0xEA,0x58,0x7F,0xC6,\r
+0x7C,0x5F,0xCA,0xC2,0x87,0x6E,0x08,0x12,0xA1,0x34,0xC0,0x15,0x50,0xDD,0xC5,0xF9,\r
+0x82,0xFC,0x69,0x9F,0x40,0x60,0xC1,0xD5,0x6E,0xFB,0xC4,0xDE,0xB3,0xE3,0x26,0x24,\r
+0x38,0x4B,0xDE,0x92,0xA4,0x18,0x5D,0x31,0x39,0xAC,0x12,0x5F,0xDC,0x4B,0x49,0xE3,\r
+0x5F,0x4D,0xD8,0xF3,0x73,0x46,0xD4,0xE6,0xC1,0x54,0x24,0x91,0x85,0xF0,0x10,0x01,\r
+0x05,0x55,0xC0,0xB1,0x02,0xD3,0x30,0x97,0x8F,0x1A,0x89,0x72,0x0B,0x15,0x9E,0x6A,\r
+0xA2,0x13,0x86,0x50,0x2F,0xC8,0x06,0xBA,0x27,0xB2,0x2F,0x7C,0x05,0x78,0x90,0x09,\r
+0xBA,0xC3,0x56,0x98,0xFA,0xE5,0xFE,0x6F,0xCE,0x5B,0x68,0xD2,0x90,0x95,0x05,0x71,\r
+0x62,0x53,0xC6,0xD0,0xD8,0xB2,0x8B,0x4D,0x74,0xE1,0xED,0xED,0x6C,0xB7,0xF9,0xAF,\r
+0x4C,0x7B,0xEE,0xD6,0x6B,0x1C,0x96,0xFE,0xB4,0x21,0xA5,0x65,0x17,0x5B,0x82,0x38,\r
+0x43,0x52,0xC7,0xF0,0x1E,0x9D,0x62,0x8B,0xF6,0x63,0x16,0x94,0x75,0xCC,0xE0,0xCD,\r
+0xA3,0xFD,0x68,0xBF,0xD0,0xB8,0x89,0x45,0x76,0xE3,0x9E,0x9C,0x52,0xAE,0xC7,0x88,\r
+0xDA,0xF7,0x62,0xCC,0x65,0x71,0xF5,0xF0,0xD9,0x4C,0x7E,0xD3,0x00,0x4D,0x95,0x39,\r
+0x39,0xA5,0x30,0x7D,0xA7,0x4A,0x0C,0x32,0x18,0x8D,0x17,0x7B,0xC8,0x0F,0x5D,0xB3,\r
+0xEE,0x1C,0x89,0x13,0x77,0x52,0xC4,0xE2,0x4E,0xDB,0xE0,0xDA,0xD1,0x74,0x44,0xD1,\r
+0xE1,0x35,0xA0,0x35,0xEF,0x80,0x8E,0x7A,0x8D,0x18,0xFA,0x03,0x37,0x7F,0xA2,0x3C,\r
+0xAB,0xE6,0x73,0xAC,0x85,0x1D,0x79,0x10,0x55,0xC0,0xE8,0xC9,0x93,0xC7,0x06,0x20,\r
+0x53,0x99,0x0C,0x2B,0xC9,0xC3,0xEB,0x5C,0x63,0xF6,0xFB,0xEC,0x84,0xD1,0x11,0x21,\r
+0x3B,0xB6,0x23,0x6C,0x08,0xAA,0x43,0x9D,0xB8,0x2D,0xBB,0x77,0x9F,0xD9,0x0A,0x32,\r
+0x45,0x8E,0x1B,0x2A,0xAD,0x33,0x7F,0x38,0x16,0x83,0x7A,0x18,0x71,0xD8,0xE4,0xDD,\r
+0x8B,0x09,0x9C,0x63,0x9F,0x34,0x4A,0x0A,0xEC,0x79,0x3F,0xA7,0xF9,0x5A,0x6C,0xD7,\r
+0xB5,0xEA,0x7F,0xBE,0xA0,0x0C,0x4D,0x35,0xA6,0x33,0x86,0x54,0x44,0x99,0xD1,0xA9,\r
+0xAF,0x29,0xBC,0x67,0x03,0xF2,0x10,0x96,0x5F,0xCA,0x91,0xBA,0x6D,0x96,0xF8,0x8F,\r
+0x64,0x8F,0x1A,0x0A,0x7D,0x2B,0xB7,0xE8,0x3F,0xAA,0x75,0x3E,0xF2,0x02,0x67,0x84,\r
+0xFC,0xC4,0x51,0xD9,0xCF,0xA4,0x8A,0x5A,0xE7,0x72,0x67,0xF4,0x92,0xE6,0x07,0x00,\r
+0x6B,0xA6,0x33,0x2C,0xBC,0x42,0x1F,0x29,0xA4,0x31,0xF5,0x25,0xF7,0x37,0x62,0xB4,\r
+0x41,0x41,0xD4,0xE1,0x84,0x3C,0x59,0x11,0x26,0xB3,0x0E,0x5C,0xBF,0xFD,0x2A,0x36,\r
+0xBF,0xE2,0x77,0xBC,0x0C,0xBE,0x53,0x99,0xDF,0x4A,0x19,0xB2,0xE5,0x14,0x70,0x85,\r
+0x8D,0xD5,0x40,0xB9,0x7C,0x0A,0x97,0xE9,0x8E,0x1B,0xA8,0x52,0x4F,0xC1,0xDA,0xFA,\r
+0x76,0x57,0xC2,0xC0,0x86,0x4F,0x28,0x13,0xB0,0x25,0xB1,0x75,0x21,0x48,0xB4,0x1D,\r
+0x5D,0x5E,0xCB,0xE2,0x6F,0x08,0x86,0xFA,0xDA,0x4F,0x2C,0x82,0x3E,0x54,0xAB,0x1E,\r
+0xCF,0x1D,0x88,0x33,0xF5,0xA9,0xBD,0x60,0x36,0xA3,0x5E,0x1C,0xCC,0x1B,0x59,0xA3,\r
+0x25,0xBA,0x2F,0x7E,0x45,0x55,0xF1,0xD0,0xA3,0x36,0xB3,0x64,0xB7,0xF7,0x22,0x34,\r
+0xFE,0xD7,0x42,0xC8,0xBE,0x31,0x6E,0x2B,0xF3,0x66,0x23,0xA4,0x41,0xAC,0xD4,0x99,\r
+0xB6,0x17,0x82,0x40,0xAE,0x61,0x2E,0x3B,0x20,0xB5,0x69,0x3D,0xAD,0xDE,0x38,0x07,\r
+0xC6,0xE8,0x7D,0xCF,0xE9,0xE7,0xEF,0x7C,0xFB,0x6E,0x29,0xA6,0x48,0x87,0xDD,0xBB,\r
+0xC2,0x27,0xB2,0x04,0x0E,0xCD,0x22,0x9B,0xE3,0x76,0x73,0xE4,0xFF,0x3D,0x6A,0xB6,\r
+0x51,0x8A,0x1F,0x3A,0x32,0xA7,0x74,0xA7,0xFD,0x68,0x4E,0xC7,0xA2,0x92,0x37,0x44,\r
+0x2B,0x70,0x53,0x60,0xA9,0xC1,0xB9,0x60,0x6F,0x80,0xE7,0x90,0xC4,0xDE,0x12,0x02,\r
+0xA1,0xB8,0x11,0xA8,0x68,0x69,0x78,0x09,0x54,0x42,0x1E,0x52,0x27,0x6F,0x40,0x50,\r
+0xDF,0x05,0xD2,0x15,0x86,0x86,0x96,0x08,0x83,0xFB,0x70,0xEB,0x5D,0xE2,0xB7,0xA7,\r
+0x9A,0x22,0xB0,0x32,0x06,0x8E,0x16,0x80,0xA6,0x35,0x9B,0x25,0xBD,0xAD,0x18,0x08,\r
+0xBD,0x1C,0xA9,0x0C,0x04,0xFF,0x14,0xF3,0xAC,0x3D,0x99,0x2D,0x7C,0xC2,0xB6,0xA6,\r
+0x2A,0x67,0x45,0x77,0xC4,0x77,0xD4,0xBB,0x02,0x8E,0x84,0x9E,0x52,0xC4,0x9E,0x8E,\r
+0x1B,0x75,0x66,0x65,0x57,0x6E,0x47,0x31,0xD6,0xCA,0x14,0xDA,0xBC,0x42,0xF6,0xE6,\r
+0x63,0xE0,0x8B,0xF0,0xBE,0xC0,0xAE,0x76,0xFB,0x1F,0xEC,0x0F,0xA4,0x8A,0x26,0x36,\r
+0xC5,0x89,0x44,0x99,0x9C,0xB5,0x8C,0x21,0x2A,0x7A,0x58,0x6A,0x95,0x71,0xEC,0xFC,\r
+0xBB,0x34,0x87,0x24,0xD6,0x46,0xC6,0x98,0x12,0x45,0x5F,0x55,0xAB,0xAC,0x0F,0x1F,\r
+0x20,0xEF,0xC7,0xFF,0xC8,0x65,0xD8,0xA5,0xB4,0xED,0x51,0xFD,0x25,0x7E,0x53,0x43,\r
+0xCF,0x01,0xC6,0x11,0x66,0x0A,0x76,0x64,0x2D,0x48,0x6D,0x58,0x5B,0x38,0x6B,0x7B,\r
+0x32,0xE3,0xD9,0xF3,0x25,0xDB,0x35,0xF6,0x03,0x60,0x6B,0x70,0xB5,0xBE,0x03,0x13,\r
+0x33,0xF4,0xCF,0xE4,0x13,0xFE,0x03,0xE5,0xDD,0x2C,0xF9,0x3C,0x4D,0x39,0x7C,0x6C,\r
+0xC3,0xA1,0x6A,0xB1,0x3E,0xC8,0x2E,0xFE,0x4C,0x92,0xD6,0x82,0xF0,0x01,0xF9,0xE9,\r
+0x2E,0x47,0x61,0x57,0xFD,0x11,0xED,0xE4,0x9E,0x0A,0x9C,0x1A,0xFF,0x27,0xD0,0xC0,\r
+0xE8,0x3F,0xDF,0x2F,0xFE,0x40,0xEE,0xB6,0x14,0x99,0x85,0x89,0x93,0xAB,0x30,0x20,\r
+0x0F,0x51,0x56,0x41,0xC0,0x67,0xD0,0xAF,0x51,0x63,0x3A,0x73,0x68,0xD2,0xB2,0xA2,\r
+0x24,0xCF,0xE3,0xDF,0x56,0x4E,0x46,0x10,0x22,0x61,0x4B,0x71,0x5F,0xF3,0xA4,0xB4,\r
+0x97,0x95,0x0A,0x85,0xAF,0xA0,0xBF,0x07,0xA0,0xE9,0x41,0xF9,0xA1,0xAE,0x07,0x17,\r
+0x12,0xE2,0xF8,0xF2,0x97,0xE6,0x87,0x79,0xBA,0x2A,0x98,0x3A,0xE2,0xCB,0x21,0x31,\r
+0xA6,0x87,0x29,0x97,0xD4,0x37,0xC4,0xEB,0x5C,0x59,0x0D,0x49,0x75,0x3E,0x43,0x53,\r
+0x9D,0x1D,0x88,0x0D,0x2F,0xA8,0x3F,0x8F,0xEC,0xE6,0x02,0xF6,0xB1,0x75,0xCC,0xDC,\r
+0x96,0x82,0x1C,0x92,0x4F,0x2C,0x5F,0x6B,0x35,0x98,0xA5,0x88,0x7A,0x18,0x6A,0x7A,\r
+0xA4,0x8F,0x23,0x9F,0x93,0xF6,0x83,0x6D,0xD3,0xEB,0x30,0xFB,0xDC,0x16,0xC2,0xD2,\r
+0x56,0xD2,0x8C,0xC2,0x8D,0xD5,0x9D,0x50,0xB9,0xD7,0x66,0xC7,0x4F,0x28,0x6F,0x7F,\r
+0x15,0xDD,0xC0,0xCD,0x50,0x2F,0x40,0x77,0x7F,0x4B,0x3C,0x5B,0xA8,0x52,0xF2,0xE2,\r
+0xA9,0x38,0x99,0x28,0x8B,0xB4,0x9B,0x37,0xF9,0x0C,0xFD,0x1C,0xD8,0xDD,0x0D,0x1D,\r
+0x26,0xC7,0xE9,0xD7,0xD3,0x76,0xC3,0xAD,0x4B,0xA0,0xE3,0xB0,0x3B,0x6C,0x5F,0x4F,\r
+0x8B,0x31,0xB2,0x21,0x83,0xB6,0x93,0x3D,0x2F,0x5B,0x7C,0x4B,0xE0,0xDA,0x32,0x22,\r
+0x0C,0x4E,0x4A,0x5E,0xAA,0x90,0xBA,0x32,0x16,0x8A,0x94,0x9A,0x43,0xF0,0xBB,0xAB,\r
+0xB1,0xBC,0x05,0xAC,0x46,0x0E,0x56,0x40,0xB7,0x10,0xAF,0x00,0xD1,0x21,0xF8,0xE8,\r
+0x4C,0x5E,0x1A,0x4E,0x1B,0xFC,0x0B,0xEF,0x04,0x52,0x5E,0x42,0x38,0x92,0xA2,0xB2,\r
+0xF4,0x9B,0x67,0x8B,0x85,0xD7,0x95,0x5A,0xC8,0xC6,0x06,0xD6,0x49,0xF2,0xB3,0xA3,\r
+0x25,0xD8,0xF5,0xC8,0xE8,0x61,0xF8,0x81,0x3C,0x6D,0x59,0x7D,0xD5,0xEA,0x37,0x27,\r
+0x47,0xC1,0x8E,0xD1,0x7E,0x48,0x6E,0x3E,0x20,0x72,0x5A,0x62,0xC5,0x31,0xFC,0xEC,\r
+0x8F,0x11,0x96,0x01,0x3A,0xD8,0x2A,0xEA,0xD7,0x24,0xFB,0x34,0x1E,0x87,0x91,0x81,\r
+0x2D,0x58,0x7D,0x48,0x6E,0x08,0x7E,0x6E,0x72,0x71,0x0B,0x61,0xE8,0xC9,0x29,0x39,\r
+0x95,0x9D,0x00,0x8D,0x77,0x6A,0x67,0x15,0x24,0xBD,0x91,0xAD,0xC9,0xE9,0x28,0x38,\r
+0x49,0x69,0x28,0x79,0x5C,0x3D,0x4C,0x69,0x3F,0x90,0xA7,0x80,0x84,0x45,0xC9,0xD9,\r
+0xB7,0x94,0x2B,0x84,0x3C,0xB9,0x2C,0x8D,0x7B,0x84,0xF7,0x94,0xDB,0x23,0xF0,0xE0,\r
+0x72,0xF3,0x89,0xE3,0xDC,0x35,0xCC,0xE1,0xAE,0x2E,0x88,0x3E,0x65,0xE5,0x88,0x98,\r
+0xE0,0xBF,0x57,0xAF,0x44,0x7F,0x54,0x33,0xBF,0x0B,0xBC,0x1B,0x13,0xB0,0xAB,0xBB,\r
+0x3F,0x54,0x63,0x44,0xD5,0x17,0xC5,0xCA,0x0E,0x5A,0x5C,0x4A,0x90,0x55,0xCD,0xDD,\r
+0x9F,0x15,0x82,0x05,0x9F,0xE4,0x8F,0x73,0x19,0xA3,0xB2,0xB3,0xA7,0x74,0xDB,0xCB,\r
+0x7D,0x4C,0x39,0x5C,0x3B,0xF8,0x2B,0xCB,0x74,0xAD,0xD1,0xBD,0x94,0x9E,0x02,0x12,\r
+0xCD,0x09,0xCC,0x19,0x36,0xCA,0x26,0xF4,0x9B,0x2B,0xB8,0x3B,0xFC,0xD9,0x2D,0x3D,\r
+0x03,0xF1,0xFA,0xE1,0xEE,0x00,0xFE,0xE6,0x2C,0xA6,0x82,0xB6,0xD0,0xCE,0x16,0x06,\r
+0x81,0xB9,0x30,0xA9,0xFA,0x50,0xEA,0xA2,0x42,0x55,0x1F,0x45,0xA3,0xBF,0x14,0x04,\r
+0x7B,0x64,0x17,0x74,0xF7,0x62,0xE7,0x9D,0x78,0x79,0x09,0x69,0x6C,0x19,0x7D,0x6D,\r
+0x53,0xE5,0xBE,0xF5,0x33,0xFA,0x23,0xC1,0x5E,0x4A,0x1C,0x5A,0x18,0x5D,0x4D,0x5D,\r
+0x10,0xEA,0xF2,0xFA,0x76,0x4A,0x66,0x34,0x01,0x73,0x7A,0x63,0xE7,0xEF,0x00,0x10,\r
+0x43,0xE1,0xAA,0xF1,0xD9,0x05,0xC9,0xD4,0x92,0xDE,0x44,0xCE,0x0F,0xB3,0xB4,0xA4,\r
+0x34,0xCB,0xF7,0xDB,0xDA,0x54,0xCA,0x86,0xCE,0x1A,0xDC,0x0A,0x85,0xAA,0x27,0x37,\r
+0xC7,0x81,0x4E,0x91,0x74,0x3B,0x64,0x47,0x9F,0xE4,0x73,0xF4,0x2E,0x93,0xB5,0xA5,\r
+0xBA,0x23,0x91,0x33,0x17,0xEE,0x07,0xF1,0x36,0x65,0x5B,0x75,0x0D,0xA2,0xA7,0xB7,\r
+0x13,0xF5,0xEE,0xE5,0xB1,0x83,0xA1,0x3A,0x58,0x96,0xC6,0x86,0x41,0xE1,0xA8,0xB8,\r
+0x78,0x7B,0x0B,0x6B,0xFF,0x60,0xEF,0x97,0xCD,0xE7,0x22,0xF7,0x1B,0xA3,0xB0,0xA0,\r
+0x36,0xC3,0xFD,0xD3,0x1E,0xCC,0x0E,0xDA,0x7E,0xA5,0xD3,0xB5,0x9C,0x8D,0x19,0x09,\r
+0xF1,0xAC,0x55,0xBC,0x49,0x4D,0x59,0x0C,0x06,0x41,0x4F,0x51,0x26,0x80,0xAE,0xBE,\r
+0xD4,0x9A,0x46,0x8A,0x5D,0x1D,0x4D,0x48,0x8A,0x0E,0x8C,0x1E,0xC2,0x04,0xCE,0xDE,\r
+0xEB,0x20,0xC3,0x30,0xD1,0x07,0xC1,0xDE,0x70,0x62,0x1A,0x72,0x62,0xD0,0xBA,0xAA,\r
+0x57,0xC5,0x9A,0xD5,0x8C,0xF5,0x9C,0x71,0x1F,0x7F,0x68,0x6F,0x1D,0x79,0x6C,0x7C,\r
+0x89,0x39,0xB8,0x29,0xDF,0x64,0xCF,0xB3,0x59,0x78,0x29,0x68,0xED,0xED,0x08,0x18,\r
+0x97,0x40,0x45,0xEF,0xE3,0xCA,0x4C,0xBB,0x02,0xA9,0x39,0x06,0x52,0x79,0xB9,0x16,\r
+0x00,0x3B,0xA9,0x94,0x23,0x42,0x8C,0xF3,0xAC,0x1A,0x24,0xB5,0x7C,0x7F,0x91,0x3E,\r
+0xDE,0xC7,0x8B,0x68,0x99,0x7D,0x36,0x76,0xFB,0x38,0x51,0x97,0xA4,0x37,0x01,0xAE,\r
+0xA6,0x52,0x66,0xFD,0x70,0xD3,0xDF,0x31,0xD6,0xED,0xA9,0x42,0xBC,0xFF,0xD1,0x7E,\r
+0x1C,0x9F,0x11,0x30,0x4F,0xD4,0xE0,0x09,0x54,0x65,0xA3,0xCA,0x27,0xD2,0x67,0xC8,\r
+0x96,0x57,0x53,0xF8,0x8E,0x7C,0x21,0x60,0x6F,0xA7,0x5A,0x08,0xC4,0x63,0x35,0x9A,\r
+0x27,0x05,0xB0,0xAA,0x21,0x33,0x8E,0x80,0xA6,0x12,0x26,0xBD,0xBD,0x10,0x3F,0x90,\r
+0x62,0x22,0xD2,0x8D,0xA1,0x3B,0x0E,0x08,0x83,0xDC,0xCD,0x73,0x5D,0x5F,0x90,0x3F,\r
+0x8E,0xD3,0xCF,0x7C,0x34,0x43,0x9B,0xE5,0xDD,0x0B,0x44,0xA4,0x4D,0x84,0x5B,0xF4,\r
+0x8F,0xC4,0xD9,0x6B,0x02,0x66,0xAD,0xF6,0x03,0x47,0xD6,0xE8,0xB5,0x03,0x24,0x8B,\r
+0x93,0x60,0x61,0xCF,0xDA,0xAC,0x75,0xE4,0x9E,0x2D,0x21,0x82,0xFF,0x9A,0xF7,0x58,\r
+0x7E,0x86,0x6A,0x29,0x19,0x75,0xB6,0xFE,0x4C,0xB5,0x6B,0x1A,0xF0,0xBC,0xDE,0x71,\r
+0x06,0x13,0x87,0xBC,0xF1,0xFB,0x5E,0x98,0x12,0x62,0xE2,0xCD,0xAB,0x11,0x28,0x87,\r
+0x78,0xAE,0x44,0x01,0xBB,0x08,0x14,0x21,0x2A,0x5D,0xE5,0xF2,0x95,0xCC,0xCB,0x64,\r
+0x72,0x26,0xC6,0x89,0x41,0xB7,0xEE,0x64,0x2D,0x6F,0xD0,0xC0,0x5B,0x85,0x4C,0xE3,\r
+0x9D,0xC8,0xC7,0x67,0xEF,0xD8,0x40,0xA5,0xB4,0xCA,0xEC,0x65,0x25,0xC3,0x74,0xDB,\r
+0x1B,0xA0,0x29,0x0F,0xF3,0x8A,0x5C,0xEB,0x5C,0x7E,0xB0,0xD1,0x75,0x83,0x64,0xCB,\r
+0xAF,0xC5,0xF8,0x6A,0xB0,0x5B,0x1F,0x79,0xBA,0x0D,0x25,0xA2,0xE2,0x76,0x06,0xA9,\r
+0x2B,0xA5,0x1C,0x0A,0x68,0x91,0xC7,0x6B,0x35,0xBF,0x18,0x10,0x7A,0xA5,0x4D,0xE2,\r
+0x20,0x3A,0x88,0x95,0x08,0x15,0xA7,0x8F,0xEC,0xC1,0xBF,0x6E,0xB1,0xC8,0xEB,0x44,\r
+0xB2,0x76,0x56,0xD9,0xE7,0xDA,0x48,0xAF,0x51,0x44,0x87,0xEB,0x68,0x6F,0x95,0x3A,\r
+0x55,0x18,0xDF,0xB7,0xD9,0xFD,0x76,0xB6,0x14,0xBE,0x38,0x11,0x93,0x16,0x17,0xB8,\r
+0x2A,0xB2,0x0A,0x1D,0x88,0x1D,0x27,0x07,0xA0,0xCE,0xFC,0x61,0xA1,0x13,0x20,0x8F,\r
+0x99,0xE8,0xE3,0x47,0x71,0xF3,0xDE,0x10,0x22,0x46,0xF6,0xE9,0x5F,0x4E,0x83,0x2C,\r
+0x36,0x16,0xB2,0xB9,0xA4,0x0B,0x0B,0x3D,0x2F,0x7C,0xC1,0xD3,0xE0,0x67,0x15,0xBA,\r
+0x9B,0xE0,0xE9,0x4F,0xF4,0xCB,0x5B,0xAD,0x4B,0x87,0x5E,0x28,0x3B,0xD1,0x78,0xD7,\r
+0x0C,0x9B,0x05,0x34,0x61,0xB3,0xCE,0x40,0xB7,0x37,0x12,0x98,0xD1,0x9C,0xDF,0x70,\r
+0xB1,0x69,0x4A,0xC6,0x8D,0x2D,0x22,0x32,0x16,0xAD,0x29,0x02,0x43,0x4D,0x9C,0x33,\r
+0xEB,0xF5,0x8C,0x5A,0xAA,0x68,0x05,0x50,0xB9,0xF0,0xDB,0x5F,0x4F,0x95,0x48,0xE7,\r
+0x19,0xA8,0x23,0x07,0xB4,0x4B,0x1B,0x6D,0xD3,0xCC,0x8D,0x63,0xDC,0xAB,0xE5,0x4A,\r
+0x14,0x1F,0x99,0xB0,0xAC,0x09,0x03,0x37,0xF9,0x2B,0x40,0x84,0xD8,0x60,0x2A,0x85,\r
+0xA8,0xFA,0xC0,0x55,0x77,0x92,0xD8,0x77,0x7F,0x6C,0x81,0xC3,0xA8,0xEF,0xD5,0x7A,\r
+0x90,0x7F,0x7D,0xD0,0x49,0xB5,0xE6,0x6E,0x72,0x56,0xB6,0xF9,0xE8,0x74,0x0E,0xA1,\r
+0x32,0x36,0x96,0x99,0x1D,0x65,0xB2,0xEA,0xD7,0x03,0x46,0xAC,0x1E,0x3A,0xB6,0x19,\r
+0xF4,0x4E,0x28,0xE1,0x7B,0x80,0xD4,0x69,0x3F,0xB7,0x1A,0x18,0x84,0xF8,0xEE,0x41,\r
+0x28,0xBA,0x00,0x15,0x50,0xD7,0xFF,0x15,0x24,0x9A,0x2C,0x35,0xC9,0x54,0x0F,0xA0,\r
+0x49,0xBC,0x67,0x13,0xA2,0x6A,0x0D,0x5A,0xC8,0xE1,0xBB,0x4E,0x49,0x4F,0x94,0x3B,\r
+0xF1,0x79,0x1A,0xD6,0x3C,0x41,0x93,0xEF,0x04,0x75,0xE3,0xDA,0x38,0x2F,0x85,0x2A,\r
+0xFA,0xE6,0x8E,0x49,0x59,0xF5,0xF6,0x3E,0x20,0x55,0xE7,0xFA,0xC5,0x8C,0xDB,0x74,\r
+0x98,0xFF,0xF5,0x50,0xCF,0xDC,0x60,0x81,0x3C,0x4A,0xE4,0xE5,0xD5,0x57,0x10,0xBF,\r
+0xC0,0x6B,0x39,0xC4,0x1C,0x45,0xB3,0xCB,0x74,0x8A,0x6C,0x25,0x94,0x23,0x25,0x8A,\r
+0x22,0x32,0x82,0x9D,0xB8,0x59,0x17,0x73,0x19,0x84,0x0F,0x2B,0xA7,0xC9,0xFC,0x53,\r
+0xBE,0xD6,0xFA,0x79,0xC9,0xBD,0x66,0xE6,0x2C,0x81,0x3F,0x2E,0xD0,0x73,0x31,0x9E,\r
+0x70,0x2E,0xCC,0x81,0x11,0x77,0xBE,0xF4,0x9B,0x0C,0x05,0xA3,0xFC,0x64,0x0A,0xA5,\r
+0xCF,0xD4,0x89,0x7B,0xFB,0x88,0x54,0xE1,0xAE,0x09,0x35,0xA6,0x65,0x58,0xAF,0x00,\r
+0x0A,0xB3,0x2B,0x1C,0x1B,0x04,0xB4,0x8D,0x7B,0xA3,0x4A,0x0C,0xDB,0x9E,0xD7,0x78,\r
+0x82,0x73,0x63,0xDC,0xF2,0xAA,0x5D,0xCA,0x0E,0x7D,0xE1,0xD2,0x90,0xE8,0xEA,0x45,\r
+0x5D,0x98,0x57,0x37,0x63,0xC2,0xCC,0x33,0xBF,0x2C,0x01,0x83,0x13,0x0D,0x8C,0x23,\r
+0x89,0xEC,0xF7,0x43,0xFD,0xE9,0x52,0x86,0xCE,0x3D,0x61,0x92,0x85,0x17,0x00,0xAF,\r
+0xFE,0xC6,0xAA,0x69,0xFE,0xB8,0x51,0xD4,0x92,0xF9,0xF9,0x56,0x0F,0x0E,0x93,0x3C,\r
+0x07,0x04,0x91,0xAB,0x30,0x53,0x9F,0xF1,0x36,0x42,0xE6,0xED,0x0D,0x1F,0x80,0x2F,\r
+0x7A,0xA6,0x4E,0x09,0x53,0x86,0xFC,0x47,0x9F,0xC3,0xCE,0x6C,0x2E,0x2E,0x92,0x3D,\r
+0xC6,0x43,0x17,0xEC,0xD0,0xDF,0x7F,0x9D,0x78,0x5E,0xB4,0xF1,0x6C,0xA4,0x5A,0xF5,\r
+0x3C,0x9E,0x30,0x31,0xDD,0xED,0x72,0xA2,0x42,0x72,0xA2,0xDD,0xA3,0x02,0x33,0x9C,\r
+0xAD,0xCD,0xF2,0x62,0x51,0xF7,0xFE,0x34,0x01,0x54,0xC7,0xFB,0xE7,0x52,0x27,0x88,\r
+0xEE,0xC2,0xBE,0x6D,0x14,0x47,0xBB,0xC1,0x5E,0x6D,0xA1,0xC2,0x18,0xE0,0x6A,0xC5,\r
+0x56,0x07,0xC3,0xA8,0xF6,0xBA,0x59,0xDE,0x70,0x45,0xA7,0xEA,0x62,0x6D,0x9D,0x32,\r
+0x69,0xBD,0x46,0x12,0x7A,0xA0,0xD5,0x48,0x8A,0x29,0x31,0x86,0xC2,0xB9,0xE9,0x46,\r
+0x34,0x1E,0xB8,0xB1,0xF8,0xD9,0x57,0xB3,0x59,0x5F,0x94,0xF0,0xED,0x50,0x2F,0x80,\r
+0xEA,0xE2,0x9A,0x4D,0xAB,0x48,0x04,0x71,0x1F,0x58,0xD5,0xF7,0x1D,0xC4,0x4B,0xE4,\r
+0xC5,0x5C,0x0B,0xF3,0xD8,0xDD,0x77,0x97,0xCD,0xC0,0x9F,0x6F,0x1B,0x1E,0x97,0x38,\r
+0xAE,0xD2,0xEE,0x7D,0x96,0x3E,0x39,0x3A,0x58,0xB1,0x7B,0x1E,0x41,0x5C,0x8F,0x20,\r
+0x4C,0x8B,0x55,0x24,0x6E,0xF0,0xC1,0x0C,0x06,0x66,0xF2,0xC9,0x26,0x3D,0x89,0x26,\r
+0x8B,0xE4,0xFD,0x4B,0x39,0x71,0x96,0xDA,0x7E,0x82,0x6E,0x2D,0x9C,0x30,0x3E,0x91,\r
+0x2E,0xC0,0x65,0x63,0x7D,0xDC,0x2C,0x97,0x7F,0xF3,0x34,0x4A,0xB2,0xF9,0x49,0x3D,\r
+0x50,0x67,0x1B,0xBA,0x10,0x7A,0xE7,0x31,0xE0,0xF8,0xAB,0xDE,0xD2,0x99,0xCD,0xD9,\r
+0xEF,0x68,0xA4,0x0A,0x5B,0xF5,0x23,0xBE,0x7A,0xC3,0x31,0x7F,0x29,0x62,0x52,0xBD,\r
+0x9C,0xFD,0xD7,0xEC,0xAE,0x97,0xB4,0xDC,0x1F,0x77,0x54,0xAE,0x6A,0x21,0x83,0x2F,\r
+0x5F,0x24,0x14,0xF6,0xCB,0xB1,0xF7,0xFA,0x68,0xF2,0x23,0x5C,0x52,0x19,0xC5,0x51,\r
+0xD7,0x2E,0x9C,0x74,0x96,0x12,0x09,0x59,0x32,0x41,0x79,0xB5,0xAB,0xE0,0x2B,0x46,\r
+0xD5,0x5F,0x9E,0x07,0xB7,0x04,0x3E,0x4F,0xAC,0x6A,0xE7,0x00,0x3D,0x76,0x02,0xF9,\r
+0x2F,0xE0,0x64,0x42,0xCE,0x86,0xC5,0xCD,0xC2,0x8D,0x89,0x89,0x03,0x48,0x25,0xE0,\r
+0xA6,0xCA,0xED,0xE1,0x44,0x4E,0x87,0x05,0x41,0xD4,0x0A,0x53,0xBB,0xF0,0x6B,0x16,\r
+0x3C,0xF1,0x77,0x40,0x95,0x0D,0x15,0x46,0xB3,0x69,0xF8,0x1C,0x57,0x1C,0xF5,0x64,\r
+0xED,0x19,0xA6,0x79,0xBF,0x84,0xB6,0xCF,0xCC,0xEE,0x87,0xE4,0x7E,0x35,0xD3,0x6B,\r
+0x16,0x86,0x5D,0x1D,0x09,0xE9,0x6D,0xA2,0x3A,0x43,0x71,0xBF,0x2E,0x65,0x13,0xFB,\r
+0xBA,0x98,0xF1,0xAF,0xB8,0xBB,0x8E,0xF0,0xC5,0xCC,0x8E,0xCF,0x76,0x3D,0xD1,0x61,\r
+0xFD,0x59,0xB6,0x29,0x37,0x44,0xFE,0x0F,0x20,0x70,0x6B,0x96,0xAD,0xE6,0x4A,0x21,\r
+0x61,0x03,0x2A,0xEF,0x4D,0xD9,0x19,0x92,0x2F,0x33,0x64,0xDA,0x70,0x3B,0xB0,0x06,\r
+0x5D,0x55,0x16,0x85,0x73,0x74,0x8A,0x3F,0x72,0xC1,0x39,0x75,0x6E,0x25,0x93,0x3B,\r
+0xA9,0x89,0xE2,0xAD,0xEF,0x90,0xF2,0xDB,0x1D,0x06,0x56,0xDD,0x43,0x08,0xA5,0x20,\r
+0x7C,0x71,0x37,0x80,0x27,0x40,0xEA,0x0B,0x88,0x7E,0xC3,0x30,0xAA,0xE1,0x0B,0x67,\r
+0x38,0xE1,0x73,0x54,0xA1,0x28,0x04,0x63,0x9A,0x4F,0xD1,0x13,0x39,0x72,0x12,0xED,\r
+0x8B,0xFC,0xC0,0xFA,0xA7,0x00,0x2A,0x4B,0xE1,0xD8,0xAA,0xFF,0xF9,0xB2,0x9A,0xA5,\r
+0x83,0xFE,0xC8,0xF0,0xC8,0xAE,0xEB,0xE5,0xDF,0xFF,0x94,0xE6,0xFB,0xB0,0xEB,0xD6,\r
+0x4D,0x15,0x06,0xD5,0x87,0x01,0x0B,0x4A,0xF8,0xBA,0xB3,0x84,0x7B,0x30,0xE3,0x5E,\r
+0xF4,0x7B,0xBF,0x02,0x0A,0xF6,0x71,0xBD,0x45,0xC4,0x0E,0x47,0x95,0xDE,0x0C,0x5F,\r
+0x36,0x82,0x7D,0x39,0xBB,0xA4,0x92,0xEF,0x8D,0x4E,0xC6,0x05,0x54,0x1F,0xA4,0x36,\r
+0xBC,0xF9,0xF7,0xC8,0x42,0x66,0xA9,0x2D,0xBA,0x4B,0xF1,0x37,0x00,0x4B,0x74,0xB2,\r
+0x24,0xB3,0x6F,0x1A,0x64,0x4F,0xA6,0x04,0x5C,0xA6,0x17,0x3C,0xC3,0x88,0xAD,0xA8,\r
+0x9A,0x9C,0xD1,0x8B,0x5C,0xCA,0x1B,0x81,0x09,0x56,0x42,0x99,0xEE,0xA5,0x9B,0xB3,\r
+0xD6,0x0E,0x9D,0x55,0xDB,0xB5,0xE3,0xFE,0x1E,0x57,0x55,0x8F,0xD8,0x93,0xBE,0xA0,\r
+0xFE,0x08,0xB5,0x7B,0x5D,0xDD,0x0D,0x96,0xFC,0xAA,0xB7,0x90,0x9B,0xD0,0x6F,0x32,\r
+0x5B,0x34,0x10,0xE2,0x1B,0xE5,0x73,0xAE,0x12,0x45,0x59,0x91,0x35,0x7E,0x00,0xF3,\r
+0xF3,0x3A,0xB8,0x44,0xC9,0xB9,0xFD,0xF2,0xC9,0xDE,0x82,0xD1,0x2B,0x60,0x23,0xCE,\r
+0xCC,0x3D,0x87,0x7C,0x14,0x5A,0xC3,0x11,0x74,0xA0,0x3F,0x12,0x61,0x2A,0xD0,0x77,\r
+0xD3,0x3E,0x98,0x60,0xC7,0x11,0x5B,0x5A,0xDE,0xDF,0x95,0xC7,0xEA,0xA1,0x8B,0xA7,\r
+0x52,0x16,0x19,0xC9,0xF6,0x03,0x78,0x48,0x7C,0xA2,0x37,0x18,0x89,0xC2,0x5E,0x11,\r
+0xAC,0xB9,0xE7,0x98,0xCF,0x91,0xD3,0xDA,0x36,0x51,0x7D,0xA1,0x27,0x6C,0x31,0xD0,\r
+0x68,0x21,0x23,0xC4,0xD6,0x02,0x59,0x49,0x1C,0x26,0x57,0xFC,0x24,0x6F,0x60,0x82,\r
+0xC5,0x1F,0x8E,0x57,0x8A,0xB6,0xB1,0xFD,0x17,0x75,0x5C,0xA4,0x8B,0xC0,0x2F,0x62,\r
+0xFC,0x79,0xB7,0x08,0x38,0xFB,0x4E,0xB0,0x18,0x36,0x53,0xE8,0xCE,0x85,0x9F,0x97,\r
+0xCF,0x6C,0x84,0x2E,0x7C,0xCB,0x3A,0x80,0x99,0x1E,0xD2,0x41,0x0A,0x41,0x07,0xCB,\r
+0xE3,0x7A,0xA8,0x14,0xDA,0xA2,0xF5,0xE9,0x44,0xE4,0x0F,0x66,0x07,0x4C,0x35,0xF4,\r
+0xCE,0x4C,0x85,0x0F,0x88,0xBE,0xBB,0xF5,0xC4,0xEC,0x8F,0xEE,0x22,0x69,0x01,0xE5,\r
+0xC9,0x0D,0x82,0x49,0x1C,0xDA,0x4B,0x91,0x38,0x32,0x73,0xCC,0x71,0x3A,0x90,0x27,\r
+0xD4,0x7F,0x9F,0x26,0xB5,0x0C,0x34,0x47,0xDD,0x8E,0x96,0x95,0x2C,0x67,0x62,0x88,\r
+0xB8,0xE9,0xF3,0xDC,0x61,0x78,0x94,0x33,0x67,0xB1,0x2C,0x10,0xA0,0xEB,0x78,0x1E,\r
+0xF7,0x2A,0xBC,0x50,0xE5,0x18,0x70,0x53,0x51,0x94,0x1A,0x03,0xB4,0xFF,0x28,0x5A,\r
+0x13,0xB6,0x58,0x28,0xE8,0xAF,0xCA,0xE4,0x3E,0x53,0x75,0xAB,0xE3,0xA8,0xA9,0x8C,\r
+0x51,0x47,0x1A,0x9B,0xC6,0x06,0x4D,0x4D,0x86,0x1D,0xCD,0x5D,0x02,0x49,0x05,0xC1,\r
+0x20,0xA3,0x6B,0x0E,0x84,0x1E,0x17,0x55,0x08,0x76,0x43,0xB8,0x4C,0x07,0xE6,0x6C,\r
+0x26,0xC2,0x6D,0x69,0x20,0x7F,0xD2,0x34,0x94,0x2C,0xDF,0x7E,0xA1,0xEA,0x58,0x3F,\r
+0x0B,0xF4,0x40,0x72,0x8C,0x9E,0x9F,0xD5,0x60,0xF0,0x2B,0x56,0x8A,0xC1,0x0F,0x43,\r
+0xC7,0x6E,0x8C,0x24,0xAC,0x9F,0xBE,0xD4,0xA5,0x48,0xEE,0x2B,0x93,0xD8,0x6D,0x38,\r
+0x92,0x9E,0xD9,0x81,0xE2,0x27,0x48,0x6C,0xEC,0xEA,0xA7,0xC0,0xC7,0x8C,0xBD,0xBC,\r
+0xC4,0x3F,0x8F,0x76,0x54,0x4A,0x93,0x01,0x3C,0x22,0x77,0xD8,0x83,0xC8,0x2D,0x68,\r
+0xDB,0x3C,0x90,0x6A,0x8F,0x81,0x83,0xCA,0x25,0x40,0x6E,0xA3,0x15,0x5E,0x04,0xD7,\r
+0x70,0x63,0x3B,0x9E,0x97,0x05,0x1F,0x4E,0x66,0x91,0x2D,0x31,0x78,0x33,0xB2,0x0C,\r
+0xE4,0x3B,0xAF,0x52,0xF7,0x14,0x6E,0x5F,0xA3,0x29,0xE8,0x4C,0xE6,0xAD,0x99,0xB9,\r
+0x10,0xE7,0x5B,0x7A,0xAB,0xA0,0x86,0xEB,0x0C,0x66,0x47,0xAC,0x13,0x58,0x65,0xB0,\r
+0x9D,0xDD,0xD6,0xCD,0xBC,0x9B,0xAA,0xD0,0xF4,0xA8,0xBF,0x9A,0xCB,0x80,0xAF,0xA2,\r
+0x1B,0xB4,0x50,0x22,0xFB,0xB4,0xC2,0xFF,0xB1,0x18,0xFA,0x6F,0xC6,0x8D,0x9D,0x9D,\r
+0x15,0xD7,0x5E,0x4F,0x11,0x6D,0xF1,0x26,0xE8,0xFA,0xA3,0xD4,0x62,0x29,0x81,0x25,\r
+0xEC,0x39,0xA7,0x58,0x30,0x7B,0xC6,0x30,0xA9,0x5A,0xE2,0x35,0x28,0x63,0x72,0x9C,\r
+0xBD,0xD9,0xF6,0xE9,0xD5,0x1D,0x45,0x56,0x42,0x85,0x09,0x01,0xB9,0xF2,0x1A,0x65,\r
+0x98,0xED,0xD3,0xF8,0x80,0x3E,0x33,0x75,0x0E,0x17,0x45,0xDF,0x21,0x6A,0x50,0xB7,\r
+0x32,0x92,0x79,0x2D,0x46,0x46,0x8D,0x0D,0x69,0xD2,0x22,0x7D,0xC1,0x8A,0xDC,0xDB,\r
+0x68,0xB9,0x63,0xA1,0x94,0x5E,0x8C,0x78,0x5E,0xA7,0x4B,0xBF,0x6E,0x5F,0x83,0x9B,\r
+0x27,0x16,0x83,0x0E,0x5A,0xB5,0x42,0x5D,0xD6,0x27,0x43,0x3F,0x0C,0x1A,0xA4,0xBC,\r
+0xAA,0xE1,0xF9,0xF9,0xE3,0xDB,0xFB,0x8A,0xD7,0xC9,0xAC,0xD1,0xCF,0x64,0x19,0x01,\r
+0x1B,0xB3,0x1A,0xAB,0x21,0x22,0x39,0xB1,0xBE,0x08,0x04,0x10,0x8D,0xEE,0xD1,0xC9,\r
+0x4F,0x87,0x7A,0x9F,0xBE,0x29,0xA6,0x25,0xA8,0x1F,0x05,0x07,0x55,0xA6,0x41,0x59,\r
+0x87,0x57,0x62,0x4F,0x6B,0xD1,0x73,0x08,0xEF,0xF6,0xAB,0xEE,0xB8,0xDE,0xD4,0xCC,\r
+0x01,0x3F,0x8C,0x27,0x2F,0x41,0x37,0xDC,0x65,0x65,0xB2,0x7D,0x9B,0xEF,0xC6,0xDE,\r
+0x07,0x17,0xA2,0x0F,0x9C,0x5C,0x84,0x72,0x2D,0xA5,0x3A,0xBD,0x77,0x78,0xBD,0xA5,\r
+0xFD,0xCA,0x85,0xD2,0xE9,0xA8,0xF1,0xF3,0xBA,0xC7,0xCF,0xDF,0x18,0x0A,0xA0,0xB8,\r
+0xBB,0xF2,0xFB,0xEA,0x4C,0x94,0x54,0x6A,0x7B,0x69,0xA0,0x71,0x19,0xE5,0x4E,0x56,\r
+0x69,0xAE,0x75,0xB6,0xE4,0x9A,0xFC,0xCC,0x46,0x77,0x83,0x6F,0x59,0x7E,0x95,0x8D,\r
+0xB4,0x4D,0x4B,0x55,0xDB,0x9D,0xC3,0xF4,0xFF,0x3D,0x70,0x25,0x9A,0x00,0x28,0x30,\r
+0xE2,0x71,0x21,0x69,0xAB,0x59,0xB3,0x40,0x3A,0x5C,0xD4,0x44,0xBF,0xEB,0xE6,0xFE,\r
+0xC4,0x58,0x2E,0x40,0x33,0x13,0x2B,0x92,0x20,0x9F,0x0D,0x87,0xB4,0x06,0x00,0x18,\r
+0xFC,0xDD,0x93,0xC5,0x8D,0x3C,0x95,0x03,0x3B,0xB2,0x3B,0xAA,0x11,0xF6,0x55,0x4D,\r
+0x7B,0xA2,0x6B,0xBA,0xC1,0xAE,0xD9,0xDD,0x28,0x84,0x1E,0x9C,0x07,0xF7,0x42,0x5A,\r
+0x6B,0xA6,0x7F,0xBE,0x48,0x84,0x50,0x7E,0xD9,0x0E,0x65,0x16,0xD4,0x52,0x34,0x2C,\r
+0x36,0x05,0x81,0x1D,0xC0,0x8E,0xD8,0xFC,0xCE,0xF7,0x8B,0xEF,0x3D,0xE1,0x6E,0x76,\r
+0x17,0x13,0xB6,0x0B,0xC2,0xFF,0xDA,0x8F,0x71,0x61,0xA2,0x79,0x88,0xCA,0xF0,0xE8,\r
+0x6E,0x91,0x4D,0x89,0x38,0x40,0x20,0xCA,0x68,0x5F,0x85,0x47,0x01,0x2D,0x9E,0x86,\r
+0xDD,0xCB,0xA4,0xD3,0x39,0x60,0x21,0xEB,0xB5,0xEE,0xE9,0xF6,0xC2,0x53,0x23,0x3B,\r
+0xB0,0x6D,0x6F,0x75,0x47,0xC7,0x5F,0x32,0x51,0x8E,0x6D,0x96,0x56,0x58,0xBC,0xA4,\r
+0xFB,0xE2,0xAB,0xFA,0xF8,0xC8,0xE0,0x82,0x35,0x75,0xF2,0x6D,0xF7,0x63,0x26,0x3E,\r
+0x0E,0x80,0x3C,0x98,0x8B,0x5D,0x93,0x64,0xA7,0x36,0x23,0x2E,0x26,0xD7,0x43,0x5B,\r
+0x18,0xAC,0x06,0xB4,0xAD,0x38,0xB5,0x27,0xE9,0x2A,0x71,0x32,0x47,0x6C,0x99,0x81,\r
+0x97,0x53,0x76,0x4B,0xEA,0xF9,0xF2,0xA1,0xA9,0xF1,0xEA,0xE9,0x1E,0xD0,0x7C,0x64,\r
+0xED,0xCE,0x91,0xD6,0x76,0xA3,0x6E,0x67,0x8E,0x2C,0x10,0x34,0x52,0x93,0x73,0x6B,\r
+0xD3,0x63,0x02,0x7B,0x4A,0xF5,0x52,0x0D,0xB3,0x32,0x33,0x2A,0xFD,0x61,0x2E,0x36,\r
+0xE4,0x59,0x0F,0x41,0xB1,0x6A,0xA9,0x69,0x9E,0xE7,0xCB,0xFF,0xDB,0x74,0x1D,0x05,\r
+0x35,0x1A,0x9D,0x02,0x2B,0x51,0x33,0xC8,0xEC,0x0B,0x55,0x13,0x94,0xC9,0xEF,0xF7,\r
+0x1F,0x93,0x3E,0x8B,0xFA,0xB9,0xE2,0xF1,0xE3,0x22,0x73,0x3A,0x6C,0x4E,0x90,0x88,\r
+0xA9,0xFE,0xE5,0xE6,0x01,0x26,0x19,0x95,0x73,0x72,0xB3,0x6A,0x37,0xE3,0x66,0x7E,\r
+0xF4,0x5D,0x1B,0x45,0xD3,0x9F,0xCB,0xFE,0xE0,0xDF,0x8D,0xC7,0x50,0x82,0x60,0x78,\r
+0x2F,0x96,0x0B,0x8E,0xCC,0x9C,0xD4,0xE2,0x5F,0x49,0xA4,0x51,0x2B,0xE0,0x79,0x61,\r
+0x37,0x12,0x97,0x0A,0x67,0xC3,0x7F,0x16,0x84,0x24,0x12,0x3C,0xB9,0x31,0x3A,0x22,\r
+0x57,0x03,0xE6,0x1B,0xF3,0x9B,0xEB,0xDA,0x31,0xBA,0x39,0xA2,0xC4,0x89,0xFF,0xE7,\r
+0x80,0x68,0x5A,0x70,0x31,0x62,0x29,0xE1,0xB7,0xFD,0xF8,0xE5,0xF6,0x8C,0xC8,0xD0,\r
+0x2C,0x89,0x17,0x91,0x1C,0x54,0x04,0xFA,0xCB,0xD6,0xAF,0xCE,0xDE,0x50,0x3C,0x24,\r
+0x0C,0x88,0x36,0x90,0xD0,0xCE,0xC8,0xAC,0xB0,0xCF,0xCD,0xD7,0xA3,0xE8,0xF9,0xE1,\r
+0x42,0x30,0xC0,0x28,0x85,0x3E,0x9D,0x09,0x34,0x9B,0x1D,0x83,0x48,0x4A,0xB0,0xA8,\r
+0x90,0x6C,0x4E,0x74,0xFB,0x99,0xE3,0xD0,0x14,0x74,0xD2,0x6C,0xBD,0xFA,0xF5,0xED,\r
+0x75,0x0A,0xCD,0x12,0xAA,0x79,0xB2,0x61,0xED,0xE5,0xBA,0xFD,0x89,0x25,0x1E,0x06,\r
+0x20,0x29,0xBB,0x31,0x8F,0x4D,0x97,0x70,0x3F,0x7D,0xF0,0x65,0x57,0xB7,0x52,0x4A,\r
+0xE6,0x51,0x05,0x49,0x25,0x32,0x3D,0xA5,0x53,0x9D,0x7C,0x85,0xF5,0x72,0x35,0x2D,\r
+0x0B,0xB7,0x0E,0xAF,0x07,0x47,0x1F,0xF2,0x38,0x4F,0xC5,0x57,0x24,0xC6,0x50,0x48,\r
+0x1C,0x8C,0x22,0x94,0x8A,0x7D,0x92,0x45,0x2A,0x97,0x0F,0x8F,0x12,0x08,0xA8,0xB0,\r
+0x5B,0xA3,0x4A,0xBB,0x0C,0x14,0x14,0xAA,0x15,0x9A,0x3D,0x82,0xE7,0xB8,0xED,0xF5,\r
+0xB1,0x7A,0x79,0x62,0x02,0x77,0x1A,0xC7,0xAD,0x3E,0x21,0x26,0x5C,0x5A,0xB4,0xAC,\r
+0x2A,0xA1,0x39,0xB9,0xD2,0xBF,0xCA,0xDF,0xEA,0xD7,0x8F,0xCF,0x2C,0xD5,0x4B,0x53,\r
+0x98,0xEC,0xC6,0xF4,0xEB,0xD9,0xF3,0x80,0x1F,0x92,0x3F,0x8A,0x60,0x96,0x44,0x5C,\r
+0xDC,0xDC,0xB2,0xC4,0xD8,0xCC,0xC0,0xA6,0x43,0x56,0xA7,0x4E,0xC9,0xBE,0xC5,0xDD,\r
+0x7A,0xB5,0x7D,0xAD,0xF4,0xDA,0xEC,0x9C,0x7C,0x5B,0x95,0x43,0xEE,0x44,0x18,0x00,\r
+0x67,0x06,0xD3,0x1E,0xC4,0x9E,0xDC,0xE8,0x2F,0xB6,0x2B,0xAE,0x4F,0x7F,0x82,0x9A,\r
+0x56,0x14,0xF0,0x0C,0x45,0xB6,0x5D,0x41,0x99,0xD5,0xFE,0xCD,0x90,0x02,0x20,0x38,\r
+0x6F,0x86,0x5B,0x9E,0xBB,0x19,0xA3,0x10,0x58,0x7B,0x91,0x63,0x29,0xF1,0x6A,0x72,\r
+0x76,0x15,0xD1,0x0D,0x7F,0x81,0x67,0x4C,0x0A,0x78,0xC0,0x60,0x74,0x86,0x40,0x58,\r
+0x45,0x0F,0xF8,0x17,0xE0,0x8A,0xF8,0xD8,0xD2,0xE8,0x88,0xF0,0x8B,0x34,0x0D,0x15,\r
+0x48,0xB8,0x42,0xA0,0x04,0x16,0x1C,0xA0,0x04,0xBF,0x09,0xA7,0x23,0xF3,0x62,0x7A,\r
+0x66,0x11,0xC5,0x09,0x46,0xE7,0x5E,0x13,0x49,0x5E,0xA5,0x46,0xD5,0xBD,0xDA,0xC2,\r
+0x24,0x09,0x9F,0x11,0x37,0x03,0x2F,0x86,0xE4,0x10,0x46,0x08,0x30,0xD6,0x54,0x4C,\r
+0x28,0xA9,0x33,0xB1,0xD9,0xEC,0xC1,0x87,0x6D,0x7E,0xA1,0x66,0x66,0x4C,0x98,0x80,\r
+0xBC,0xCD,0xC3,0xD5,0xDE,0xAD,0xC6,0xC1,0xAF,0x2D,0x30,0x35,0x44,0x92,0x64,0x7C,\r
+0x15,0x1B,0xBC,0x03,0xC3,0xDF,0xDB,0xAE,0x00,0x70,0xC2,0x68,0x1D,0x2E,0x81,0x99,\r
+0xC1,0x6F,0x1C,0x77,0xAF,0x49,0xB7,0x54,0x96,0xFC,0xD8,0xE4,0x98,0x11,0x3B,0x23,\r
+0x2E,0xCC,0x23,0x84,0xBB,0xDC,0x01,0x54,0x1A,0xF5,0x71,0xE2,0xB5,0x91,0x5A,0xAD,\r
+0x96,0x68,0x87,0x98,0xE2,0x67,0xE3,0x0D,0xC3,0x2C,0x42,0x08,0xBB,0xFC,0x54,0xCE,\r
+0x03,0x19,0xF6,0x7C,0x06,0x1F,0x7F,0xE9,0x0E,0xE1,0x35,0xB2,0xBE,0xC9,0x51,0xFE,\r
+0x11,0xC1,0x2E,0xB6,0xFE,0x29,0xB1,0x11,0x35,0xDA,0x19,0xA5,0x33,0x7E,0xDC,0xC4,\r
+0x04,0x2B,0xC4,0x49,0x04,0x6C,0x0E,0xEB,0x90,0x7F,0x80,0x99,0x36,0x4B,0xD9,0xF4,\r
+0x68,0xCB,0x24,0xC5,0x63,0xCE,0xCB,0x8C,0xE8,0x07,0x3E,0x5F,0x9C,0x9E,0x73,0x8B,\r
+0x2F,0x22,0xCD,0x6B,0xA3,0x86,0x43,0x4C,0xD5,0x3A,0x75,0x29,0x42,0xEB,0xAD,0x20,\r
+0xD6,0xB3,0x5C,0x03,0x48,0xB2,0x9C,0xA7,0xB3,0x5C,0xF6,0xCC,0x13,0x5A,0xFC,0xC0,\r
+0x8B,0x99,0x76,0x74,0xAF,0x98,0x51,0x40,0x31,0xDE,0x0D,0xB5,0x69,0x97,0x86,0x77,\r
+0x0F,0xCD,0x22,0xA4,0xE6,0x73,0xF3,0x09,0x89,0x66,0xFB,0xFB,0x3C,0x32,0xD3,0x87,\r
+0x8C,0xAB,0x44,0x41,0x9E,0xCD,0x35,0x71,0xD1,0x3E,0x61,0x39,0x88,0xDA,0x67,0xDB,\r
+0xF0,0x80,0x6F,0x16,0x6A,0xE5,0xE9,0x85,0x30,0xDF,0x2C,0x95,0xA5,0xC1,0x4A,0xED,\r
+0xBF,0x72,0x9D,0xAB,0x6C,0x82,0x88,0x83,0xAB,0x44,0xAC,0x8E,0xDE,0x2D,0x31,0x7A,\r
+0x0A,0xEC,0x03,0x80,0xA9,0xFF,0x30,0x46,0xBA,0x55,0xDD,0xEE,0x4A,0xE1,0xA5,0x22,\r
+0xDB,0x89,0x66,0x34,0x36,0x6B,0x3B,0xD9,0xE4,0x0B,0x20,0x4D,0x6A,0xC5,0x85,0x26,\r
+0x64,0x1F,0xF0,0x1D,0x2F,0x10,0x59,0xC0,0x2F,0xC0,0x30,0x96,0x75,0xD9,0x9A,0x25,\r
+0x3B,0x26,0xC9,0x7B,0xD7,0x26,0x97,0x38,0xA2,0x4D,0x87,0xAC,0x7A,0x95,0x95,0x66,\r
+0xAD,0xAA,0x45,0x61,0x6D,0xA3,0xA8,0x82,0xD6,0x39,0x27,0x78,0x16,0x6F,0xF9,0xF0,\r
+0x56,0x28,0xC7,0x18,0xCE,0x5D,0xF5,0x21,0x10,0xFF,0x08,0x91,0x60,0xBC,0x8F,0x55,\r
+0x94,0x7B,0x94,0x89,0x32,0x7F,0x2B,0xDD,0x74,0x9B,0xF8,0x05,0x67,0xFA,0x88,0x14,\r
+0x72,0x08,0xE7,0x1C,0x8C,0xEE,0x04,0x63,0xA8,0x47,0xFE,0xDF,0xFF,0x28,0x10,0x5E,\r
+0xDF,0x46,0xA9,0xFF,0x02,0x0B,0x6F,0xED,0xB0,0x5F,0xA4,0x9D,0x8E,0xBD,0x61,0xBA,\r
+0xE9,0xBE,0x51,0x31,0x5B,0xB0,0x8D,0xB4,0xB6,0x59,0xC3,0xFC,0x59,0xE3,0xB6,0x33,\r
+0x3F,0xE9,0x06,0xB0,0x34,0x18,0x4A,0xDB,0x01,0xEE,0x79,0xF1,0xBD,0x9B,0x52,0xAF,\r
+0x63,0x2D,0xC2,0x28,0x3C,0x12,0x48,0xD3,0x3F,0xD0,0x60,0xD6,0x02,0x2B,0xED,0xA0,\r
+0x31,0x2E,0xC1,0x79,0x16,0x4F,0x3F,0xF9,0xAC,0x43,0xEA,0xCF,0xC6,0x77,0x29,0x38,\r
+0x14,0xE0,0x0F,0x92,0xD4,0x74,0xC6,0x3B,0xBF,0x50,0xE8,0xDE,0x7D,0xD3,0x92,0x27,\r
+0xA2,0x83,0x6C,0x47,0x76,0xAB,0xBB,0x99,0xAD,0x42,0xCB,0xEF,0xFC,0x7A,0x13,0x0F,\r
+0x78,0x00,0xEF,0x1E,0x93,0xF2,0x07,0x7C,0x65,0x8A,0x89,0x65,0x61,0x9D,0x8E,0x75,\r
+0x47,0x0D,0xE2,0x2C,0x4E,0xD5,0xFD,0xA1,0x0C,0xE3,0x46,0xC3,0x4D,0xA7,0xA2,0x63,\r
+0xD1,0x81,0x6E,0x36,0x1D,0x17,0x6C,0xF2,0x18,0xF7,0x02,0x93,0x6B,0xE4,0x84,0x06,\r
+0x24,0xC4,0x2B,0x86,0x12,0x5B,0x2F,0xFD,0x55,0xBA,0xFD,0x21,0x52,0xBB,0xBD,0x60,\r
+0x00,0xE4,0x0B,0x82,0x03,0x2A,0x4F,0xEC,0x64,0x8B,0xA8,0x45,0x34,0x38,0xDB,0x85,\r
+0x13,0xD2,0x3D,0xA7,0x14,0x3C,0x4E,0xFB,0x1B,0xF4,0x50,0xC2,0x78,0xE6,0x97,0x17,\r
+0x01,0x0A,0xE5,0x6D,0xB0,0x84,0x52,0x5F,0xC8,0x27,0x1A,0x5B,0x12,0x7B,0xFD,0xE0,\r
+0x1B,0xC9,0x26,0xB4,0x56,0x8F,0xBF,0xB9,0xE1,0x0E,0x15,0x7D,0x8A,0xA9,0x65,0xAA,\r
+0x7D,0x21,0xCE,0x3A,0xC3,0x62,0xC7,0x2C,0x17,0xF8,0x4E,0xD0,0x5D,0xF7,0xB2,0x23,\r
+0xC4,0x6B,0x84,0xC9,0x7E,0xA1,0xB9,0x91,0xF4,0x1B,0x70,0x0D,0x62,0xCF,0x8D,0x24,\r
+0x81,0x91,0x7E,0x76,0xF6,0x23,0xB3,0x19,0x73,0x9C,0xBE,0x44,0x50,0xC8,0xBF,0x11,\r
+0x40,0x3F,0xD0,0x19,0x18,0x22,0x5C,0xF7,0x4B,0xA4,0xC0,0x02,0xF5,0x51,0x1A,0x2D,\r
+0x5E,0x33,0xDC,0x0B,0x90,0xA0,0x56,0x7F,0x86,0x69,0xB7,0xB8,0x96,0xE7,0x79,0xF8,\r
+0x16,0xF3,0x1C,0x83,0xEB,0x4C,0xC1,0x04,0xAE,0x41,0x99,0xBE,0x25,0x49,0xCA,0xE5,\r
+0x93,0x49,0xA6,0xBC,0x17,0x6E,0x1F,0xF8,0x3E,0xD1,0x41,0xF6,0x07,0x1E,0xE8,0x90,\r
+0xD4,0xA0,0x4F,0x12,0x82,0x83,0x67,0x6D,0xEE,0x01,0x59,0x3E,0xD2,0x33,0x3D,0x68,\r
+0xEC,0x9F,0x70,0x15,0x4F,0xF4,0xDD,0xA0,0x58,0xB7,0xC2,0x13,0x5A,0xB1,0xB5,0x62,\r
+0x85,0x5E,0xB1,0xBD,0x87,0xB6,0x57,0x68,0x0A,0xE5,0x21,0xA2,0x98,0x8A,0x77,0x9B,\r
+0x65,0xF1,0x1E,0xF2,0xD5,0x55,0xE6,0x3A,0x00,0xEF,0x58,0xD1,0x2D,0x43,0xC2,0xE7,\r
+0xED,0x71,0x9E,0xFA,0xF2,0x37,0xA3,0x1D,0xAF,0x40,0xB8,0x9E,0xE3,0x66,0x0C,0x0C,\r
+0xD8,0x74,0x9B,0xCA,0xC6,0x57,0xF7,0x29,0x2A,0xC5,0x05,0xA6,0x43,0xCA,0xAC,0x00,\r
+0x48,0x24,0xCB,0x0A,0x30,0x0C,0x5A,0xDF,0x47,0xA8,0xDE,0x10,0xB8,0xAE,0x57,0x9F,\r
+0xA5,0xB1,0x5E,0x72,0x4B,0xE0,0xCD,0xA4,0xE0,0x0F,0x34,0x5D,0x08,0x52,0xE7,0xD3,\r
+0xD7,0x5D,0xB2,0xEC,0xB9,0xAF,0x70,0x56,0xA3,0x4C,0xA6,0x8C,0x92,0xF3,0x7D,0xE8,\r
+0xB5,0x7A,0x95,0xA9,0x25,0x69,0x2A,0xCA,0x77,0x98,0xAA,0x54,0xCF,0x5C,0x20,0x1A,\r
+0x88,0x64,0x8B,0x8A,0x78,0xC6,0xD8,0x97,0xDA,0x35,0x39,0x6A,0xF3,0x36,0x1C,0x4C,\r
+0xD2,0x7C,0x93,0xC8,0xCF,0x7C,0xD5,0x20,0x15,0xFA,0x3D,0xA1,0x14,0x1C,0xFB,0x81,\r
+0x92,0xA7,0x48,0x53,0x2A,0x25,0x69,0xC5,0xEA,0x05,0x4D,0x2E,0x53,0x9A,0xBC,0x40,\r
+0x0E,0x23,0xCC,0x4B,0x70,0xCC,0xDA,0x9F,0x5B,0xB4,0x90,0x42,0x41,0xB9,0xAE,0x71,\r
+0x9C,0x60,0x8F,0x9A,0x15,0x1D,0x6E,0xFA,0x39,0xD6,0x07,0xB7,0x32,0x5F,0xDD,0xE4,\r
+0x8E,0xB8,0x57,0x50,0x75,0xF9,0xEA,0x9A,0x72,0x9D,0x9F,0x64,0x80,0xD0,0x6F,0xD9,\r
+0x6A,0xD8,0x37,0xD4,0xEA,0x6D,0xE1,0x05,0xD4,0x3B,0x54,0x09,0xFE,0x09,0x11,0x7E,\r
+0x4A,0x37,0xD8,0x1B,0xA6,0xB3,0x73,0x49,0xAA,0x45,0x8D,0xAE,0x7B,0xB4,0x94,0x46,\r
+0x53,0x09,0xE6,0x3C,0xC8,0x3A,0x94,0x27,0x28,0xC7,0x76,0xD7,0x81,0xF1,0x6E,0xF9,\r
+0xE2,0x58,0xB7,0xDC,0x62,0xEF,0xEB,0x8D,0x1F,0xF0,0x44,0xD2,0xF1,0x45,0x1E,0x3D,\r
+0xF5,0xA1,0x4E,0x32,0x38,0x06,0x58,0xD7,0xBC,0x53,0xBA,0x8F,0x79,0xC7,0x96,0x37,\r
+0xCE,0x1A,0x54,0x50,0xBA,0xBA,0x24,0x80,0x14,0x4A,0xDE,0x40,0x1A,0x76,0xEC,0xE8,\r
+0x64,0xCF,0x2B,0xFA,0x04,0xC2,0x5C,0x46,0xD1,0xE8,0xB9,0x27,0x96,0x96,0x80,0x08,\r
+0x41,0xDE,0x1F,0xDF,0x72,0xE1,0x7F,0x13,0x43,0x36,0xF5,0x6B,0xDC,0x0E,0x52,0x90,\r
+0x10,0x6F,0xFF,0x8E,0xF1,0x87,0x19,0xF6,0x9C,0x02,0x1E,0x80,0xB4,0x9F,0xAB,0x01,\r
+0xE9,0x78,0x11,0x77,0xC6,0x91,0x0F,0xD7,0x3C,0xE3,0x5F,0xC1,0x47,0xD5,0x12,0x4B,\r
+0xE7,0x15,0x72,0x79,0xF5,0x48,0xD6,0x3D,0xDE,0x58,0x06,0x98,0x5B,0x71,0xAA,0xEF,\r
+0x61,0xFA,0x1B,0xFF,0x9D,0x67,0xF9,0x7A,0x6E,0xAD,0x43,0xDD,0x69,0x7C,0x95,0xE2,\r
+0xEC,0x4D,0x21,0x72,0xB1,0x5C,0xC2,0x6D,0xA0,0x9B,0xBB,0x25,0xA3,0xA4,0x87,0x3A,\r
+0x18,0x65,0xFD,0x86,0x59,0xE8,0x76,0x31,0xEF,0x7B,0x14,0x8A,0x5F,0x51,0x8E,0xCF,\r
+0x8C,0xA9,0xA5,0x12,0x28,0xF9,0x67,0x51,0x57,0x06,0xD1,0x4F,0x74,0xCF,0x3B,0x51,\r
+0x27,0x5D,0xFA,0xB9,0xB4,0x7D,0xE3,0x49,0x86,0x94,0x92,0x0C,0xC2,0xA2,0xE0,0x3C,\r
+0x38,0x41,0xF9,0xA6,0xA4,0xB6,0x28,0x92,0xE4,0xEF,0x8B,0x15,0xEB,0x34,0x5F,0xAA,\r
+0x6E,0xB6,0x58,0xF0,0x7F,0xDB,0x45,0x24,0x2C,0xF7,0x5B,0xC5,0x7B,0x70,0x8B,0xEE,\r
+0x3B,0x13,0xA8,0xA5,0x89,0x63,0xFD,0x6A,0x8E,0x1C,0x12,0x8C,0xAB,0x24,0x0F,0xBA,\r
+0xF7,0x45,0x32,0x69,0xA8,0x62,0xFC,0x4A,0x36,0x61,0xD7,0x49,0xC9,0x3D,0x74,0xA3,\r
+0xDA,0x5E,0x04,0x44,0xE5,0x83,0x1D,0xE6,0xEA,0x49,0x23,0xBD,0x9E,0x16,0x08,0x88,\r
+0xDC,0x39,0x65,0x42,0x20,0xE2,0x7C,0x42,0xB0,0x8F,0xBF,0x21,0x20,0xFB,0x5B,0x65,\r
+0xAD,0xAC,0x81,0x33,0x7A,0xFA,0x64,0x00,0xDB,0x6A,0x31,0xAF,0xC3,0xB5,0xF6,0x2B,\r
+0xEF,0x1F,0x70,0x71,0xFD,0x53,0xCD,0x2E,0x95,0x9C,0x89,0x17,0x6F,0x54,0xBB,0xCA,\r
+0x0B,0x67,0xEC,0x95,0x47,0xE4,0x7A,0x23,0x52,0x34,0xE6,0x78,0xEE,0x03,0x6D,0x9D,\r
+0x44,0xEB,0x2F,0xDA,0xA3,0x84,0x1A,0xA7,0x77,0x27,0xD0,0x4E,0xBE,0x17,0x29,0x89,\r
+0x28,0x11,0xB9,0xB6,0x03,0xF0,0x6E,0x73,0x48,0xA2,0x6A,0xF4,0xA4,0x9B,0xBF,0x05,\r
+0x35,0x7E,0xCB,0xAB,0x7C,0x26,0xB8,0xDA,0xF4,0xFB,0x8F,0x11,0x56,0xC6,0x10,0x58,\r
+0x32,0x38,0x8A,0xAC,0x8C,0x42,0xDC,0x4E,0x2A,0xD9,0x73,0xED,0xC7,0x95,0xD2,0x0B,\r
+0x1F,0x23,0xBC,0x81,0xC2,0x5E,0xC0,0x1C,0x22,0x51,0xF3,0x6D,0xF3,0xB0,0xC3,0x2E,\r
+0x33,0x19,0xAA,0xAD,0x0D,0x37,0xA9,0xBA,0xD8,0x76,0x2E,0xB0,0xC1,0xBD,0xFC,0x23,\r
+0x00,0x3F,0xBF,0x9E,0x79,0x07,0x99,0xFE,0xF0,0xDF,0xAF,0x31,0x59,0x79,0xA0,0xE7,\r
+0x39,0x60,0xD9,0xA7,0x86,0x4A,0xD4,0x4C,0xB3,0x93,0xA0,0x3E,0xE9,0x3C,0x55,0xA2,\r
+0x94,0xF3,0xE7,0x0A,0x6E,0xFE,0x60,0x10,0xE0,0xCB,0xAB,0x35,0xA6,0x93,0xB5,0x0D,\r
+0x50,0xAF,0x7F,0xCE,0xE4,0x6D,0xF3,0x09,0x97,0x96,0x81,0x1F,0xF7,0x90,0xE7,0x0E,\r
+0xAE,0xFE,0xD0,0x30,0x4F,0xFF,0x61,0x30,0x64,0x2F,0xCB,0x55,0x98,0x3E,0x26,0xA0,\r
+0x2F,0x57,0xF8,0xB1,0x6C,0xED,0x73,0x01,0x19,0xF0,0x69,0xF7,0x4D,0x5D,0x90,0xC3,\r
+0x30,0x4B,0xFB,0xAE,0xF4,0xA6,0x38,0xD2,0x66,0x25,0xC3,0x5D,0x16,0xD6,0x40,0x48,\r
+0x0F,0x73,0xFC,0x91,0xCA,0x45,0xDB,0x0F,0x18,0xE6,0x7E,0xE0,0xE5,0x9C,0xF9,0x02,\r
+0xA7,0xD5,0xF2,0x39,0x44,0x19,0x87,0xDD,0x83,0xA6,0xA5,0x3B,0xC6,0x82,0xC4,0x1C,\r
+0x02,0x4C,0xCE,0x9C,0x3A,0x21,0xBF,0x9B,0x6C,0xA7,0x4B,0xD5,0xA9,0x2C,0x05,0xB2,\r
+0x2A,0x62,0xC8,0xB4,0xD4,0x49,0xD7,0x1D,0x91,0xB8,0xA9,0x37,0x78,0x6F,0x97,0xF1,\r
+0x66,0xBC,0x5A,0xF8,0x2C,0x36,0xA8,0x9A,0x90,0xAE,0xBE,0x20,0x5D,0x59,0x84,0xC7,\r
+0xD8,0x2D,0x75,0x46,0x91,0xB3,0x2D,0xA2,0x60,0x0B,0xEB,0x75,0x6B,0x74,0x9F,0xEA,\r
+0x40,0xFF,0x3F,0xDE,0x9E,0x9A,0x04,0x84,0x8D,0x00,0x0D,0x93,0xB2,0xB7,0x85,0x29,\r
+0xCA,0x0E,0x44,0x54,0xA5,0x58,0xC6,0x7D,0x88,0x32,0x3A,0xA4,0x62,0xE3,0x01,0x7D,\r
+0x08,0x35,0xBD,0x96,0x46,0x0A,0x94,0xCC,0x02,0x70,0xF2,0x6C,0xCA,0x22,0x68,0xBC,\r
+0xB1,0xE2,0xD3,0x2F,0x3C,0xFD,0x63,0x41,0x7C,0xB3,0x4F,0xD1,0x25,0xCC,0x69,0x52,\r
+0x7F,0xC7,0x38,0xE1,0xDC,0x52,0xCC,0x0E,0x39,0xD1,0x68,0xF6,0x2D,0x4C,0xE1,0xD2,\r
+0x77,0xCD,0x3A,0xE9,0x1D,0xFC,0x62,0x61,0x1E,0xC8,0x56,0xC8,0x5C,0x4E,0x92,0xD0,\r
+0xC4,0x63,0x27,0x5A,0x33,0xD4,0x4A,0x67,0x89,0x24,0x2D,0xB3,0xD4,0x8E,0xDA,0x10,\r
+0x80,0xB7,0xB7,0x1E,0xDD,0xBC,0x22,0xE1,0xB8,0x07,0x3F,0xA1,0xCD,0x1D,0x50,0x83,\r
+0x55,0x9A,0x4F,0xCB,0xC5,0x6C,0xF2,0x29,0xC0,0xEA,0xAA,0x34,0x63,0xF4,0x17,0x6A,\r
+0xA1,0xB2,0x93,0x3F,0xBD,0x88,0x16,0xB5,0x07,0x42,0xC5,0x5B,0x55,0xD9,0x0C,0x47,\r
+0x9D,0xD8,0xC5,0x03,0x2E,0x25,0xBB,0x8B,0xF5,0xED,0x98,0x06,0x76,0xC7,0x31,0x59,\r
+0x01,0x1E,0x9F,0x9F,0xC9,0xB8,0x26,0xF1,0xB6,0xA1,0x97,0x09,0x8C,0x1A,0x16,0x84,\r
+0x46,0x98,0x5E,0xD8,0xB9,0x47,0xD9,0x7E,0x0A,0xF8,0x72,0xEC,0x17,0xC1,0x56,0x5F,\r
+0xEA,0x2A,0x40,0x74,0x5A,0x15,0x8B,0xCF,0x85,0x88,0x8D,0x13,0xD5,0x99,0xCC,0x07,\r
+0x11,0x4E,0xDF,0x8F,0x81,0x78,0xE6,0x79,0x28,0xD3,0x7B,0xE5,0x15,0xC9,0x5C,0x57,\r
+0xC0,0x77,0x37,0x5E,0x22,0xF1,0x6F,0x53,0xAF,0x2B,0x04,0x9A,0x33,0xE0,0x53,0x7E,\r
+0x5A,0xD6,0x0C,0xC4,0xB0,0xB2,0x2C,0x82,0x12,0x64,0xF6,0x68,0xAD,0x0C,0x21,0x92,\r
+0xD3,0x75,0x26,0x4D,0xF2,0x7A,0xE4,0x08,0x4B,0xBE,0x75,0xEB,0xE3,0xB4,0xD7,0x2A,\r
+0x29,0x30,0x99,0xB7,0x09,0xF8,0x66,0x71,0xAC,0x37,0x1B,0x85,0xC4,0x8A,0xCE,0x14,\r
+0x2B,0x43,0xE8,0xB5,0x3E,0xEE,0x70,0x50,0x87,0x82,0x85,0x1B,0xED,0x1C,0x71,0x82,\r
+0xA3,0xC1,0xE2,0x3D,0xC0,0x4D,0xD3,0x0D,0x34,0x6B,0xDF,0x41,0x03,0xE5,0x66,0x7B,\r
+0x60,0xDB,0x3B,0xFE,0x83,0x6B,0xF5,0x68,0xB1,0x99,0xA8,0x36,0x45,0xDD,0x18,0x43,\r
+0x13,0x3D,0xAE,0x8D,0x14,0x09,0x97,0x9D,0x05,0x48,0xCD,0x53,0x94,0x9E,0x8A,0x00,\r
+0xAC,0x8D,0xA1,0x32,0xD0,0x86,0x18,0xD6,0x3E,0xE9,0x57,0xC9,0x0B,0x65,0xEE,0xFB,\r
+0xD2,0x54,0x06,0x4C,0x1B,0x20,0xBE,0xBB,0x35,0x7D,0xC8,0x56,0x8F,0x05,0x0A,0x9B,\r
+0x87,0x68,0x34,0x7E,0xAC,0xF7,0xCA,0x44,0xE3,0xE1,0x50,0x20,0x05,0xB6,0x0C,0x2B,\r
+0xE3,0xFC,0x50,0x8E,0xED,0xF0,0x8C,0x43,0xB0,0x70,0x03,0xE2,0xF9,0x4A,0xD2,0x09,\r
+0x35,0x55,0x86,0xF1,0x9F,0xED,0xE3,0x5E,0xED,0x82,0x5E,0x4D,0x1C,0xAF,0x6E,0x50,\r
+0x41,0x81,0xF2,0x51,0x09,0x81,0x19,0x32,0x61,0x98,0xD2,0xDB,0xA6,0x15,0x51,0xD5,\r
+0x21,0x05,0x92,0xB5,0xCA,0xCE,0x95,0x7D,0x75,0xC8,0xC6,0x9F,0x90,0x23,0x74,0xC6,\r
+0x96,0x08,0x25,0x0F,0x56,0x2A,0xED,0x99,0x22,0x49,0x91,0x49,0xFF,0x4C,0xB3,0x6E,\r
+0x3F,0x26,0x8C,0x88,0xA7,0x68,0x5E,0xDB,0xC3,0xE5,0x70,0x04,0x47,0xF4,0xFD,0x98,\r
+0x27,0x64,0x94,0xD2,0x43,0x19,0xCB,0xAA,0x8D,0x06,0x3E,0xA9,0xC9,0x7A,0x96,0x7D,\r
+0x28,0x27,0x9B,0x9E,0xDE,0xEA,0xA5,0x59,0x2B,0x6B,0x98,0x62,0x1F,0xAC,0x3F,0x02,\r
+0x3A,0x16,0x89,0xBD,0xF6,0x6B,0x0C,0xD8,0x48,0xBE,0xFB,0xD4,0xBD,0x0E,0x42,0xDD,\r
+0xA8,0x2F,0x1B,0x16,0x59,0x95,0x5D,0x26,0xE6,0xD1,0x55,0x15,0xF7,0x44,0xB1,0x64,\r
+0x3B,0x36,0x88,0x9C,0xC1,0x51,0x01,0xE2,0xE5,0x80,0x56,0x47,0xDD,0x6E,0xC6,0x39,\r
+0x8F,0x6A,0x3C,0x74,0xFF,0xFC,0x92,0x4F,0x4A,0xCF,0xF9,0xA7,0xD6,0x65,0x95,0x61,\r
+0xC2,0xD8,0x71,0x8B,0x99,0xC5,0xCD,0x76,0x0F,0x7F,0xBC,0x52,0xD9,0x6A,0xD6,0x2D,\r
+0xF2,0x9C,0x41,0xFF,0x8C,0xF6,0xEB,0x45,0xCB,0xE7,0x78,0x0E,0x58,0xEB,0xFE,0x84,\r
+0x9B,0x3A,0x28,0x30,0x9A,0xDA,0xD1,0x69,0xC6,0xD5,0x75,0x31,0x85,0x36,0x04,0xA3,\r
+0x99,0x4B,0x2A,0x43,0x07,0x29,0xBF,0x9A,0xD2,0x85,0x61,0x75,0xCD,0x7E,0x86,0x69,\r
+0xA2,0x5C,0x11,0x6F,0x3D,0xA4,0x08,0x17,0x0A,0x4F,0xB9,0x67,0x35,0x86,0x48,0x5F,\r
+0x8D,0x1B,0x3E,0x07,0x54,0x22,0xE7,0x91,0x07,0x7D,0xB4,0x58,0x70,0xC3,0xF8,0xAA,\r
+0x54,0xF1,0xE7,0x34,0x37,0x2C,0x8A,0x9F,0xA3,0x61,0x10,0xE0,0x29,0x9A,0x1A,0x11,\r
+0x42,0xD0,0xF1,0x03,0xD9,0xD5,0x9D,0x66,0xE9,0x92,0x5A,0x59,0x68,0xDB,0xBA,0xF0,\r
+0x24,0x35,0x97,0x80,0x39,0x84,0x2C,0x37,0x78,0xFA,0xCB,0xA0,0x83,0x30,0x65,0xC4,\r
+0x07,0x60,0xB4,0xF6,0x0D,0xA1,0x3D,0x12,0xE0,0xB0,0x53,0x72,0xCF,0x7C,0xF7,0x1A,\r
+0x7F,0xA6,0xCC,0x48,0x72,0x0B,0xE8,0xB8,0x00,0x3C,0xB3,0x1E,0xA8,0x1B,0x32,0xB8,\r
+0x46,0xC0,0xF5,0x17,0x22,0x1F,0xAC,0xAC,0x60,0xB8,0xD3,0xFA,0x55,0xE6,0xCC,0xBB,\r
+0xA7,0x6C,0x14,0x5A,0x14,0x32,0xB7,0x81,0x4B,0xEF,0xF8,0x86,0xA1,0x12,0x10,0x93,\r
+0xA6,0x4C,0x15,0x7B,0x8E,0xFE,0xE1,0x4D,0x52,0x8D,0xE1,0xFD,0x64,0xD7,0xA8,0xEE,\r
+0x1E,0x02,0xAD,0x8D,0x7E,0xAB,0x44,0x18,0x06,0x5D,0xB5,0x79,0x2D,0x9E,0x0A,0x05,\r
+0x73,0xB4,0xC0,0x56,0xDF,0xFD,0xB3,0x4E,0x42,0xCD,0xF1,0xAD,0xFD,0x4E,0xC2,0x1D,\r
+0xB8,0x6F,0x0B,0x46,0xDC,0xE2,0xAF,0x51,0xD4,0xE4,0x67,0x12,0xE4,0x57,0xA0,0x66,\r
+0x3C,0x77,0x8F,0xDA,0x83,0x49,0x5B,0xFA,0xB9,0x52,0x0A,0xC9,0xA7,0x14,0x71,0xF4,\r
+0x2D,0x17,0x9E,0xAB,0xDB,0xDD,0x97,0x6E,0x27,0x79,0x94,0x7C,0x62,0xD1,0xC9,0x89,\r
+0x77,0xA4,0xC4,0x42,0x2A,0x9F,0x24,0x2C,0x7A,0x8B,0xC9,0xD3,0x80,0x33,0x34,0x96,\r
+0x34,0x75,0x87,0xD0,0x11,0x05,0x85,0xB6,0x96,0x15,0x25,0xA1,0x72,0xC1,0x89,0xD9,\r
+0xBD,0x5F,0x0E,0x73,0xF9,0xD4,0xBC,0x67,0xBF,0x33,0x0C,0xAE,0x0D,0xBE,0x0E,0x21,\r
+0xD0,0xE9,0x63,0xA8,0x66,0x2F,0xD8,0x9C,0xEF,0xF3,0x5C,0x3E,0xFB,0x48,0xA3,0x7A,\r
+0x82,0x58,0x31,0x4B,0x78,0x83,0x6A,0x30,0xB7,0x31,0x04,0xA4,0x04,0xB7,0x2C,0x0A,\r
+0x7D,0xD7,0xCE,0x3B,0xB9,0xC4,0xEC,0x77,0x6C,0xAA,0xDF,0xE4,0xE1,0x52,0x90,0x53,\r
+0xE0,0xAD,0x53,0xDC,0xE3,0x58,0x2A,0xEB,0xB1,0x50,0x02,0xC3,0xEE,0x5D,0xD3,0x1F,\r
+0x4D,0x93,0xFE,0x4F,0xB5,0x64,0x40,0xD7,0xAF,0x73,0x1C,0xFE,0xB3,0x00,0x21,0xB0,\r
+0xE5,0x9D,0x56,0xE9,0x20,0x17,0xA6,0xA4,0x73,0xA9,0xC0,0xF8,0xBE,0x0D,0x13,0x8F,\r
+0x43,0xF0,0xF0,0x22,0x87,0x69,0x7F,0xDA,0x13,0x2D,0xA0,0x1C,0x21,0x92,0x18,0x1B,\r
+0xCC,0xBB,0x7F,0xE6,0x88,0xD6,0xCF,0x65,0xE8,0xB2,0x5B,0x78,0xBB,0x08,0x23,0xBA,\r
+0xAE,0x4E,0x1D,0x71,0x1D,0xA5,0x29,0x16,0xAB,0x63,0x18,0xEA,0xDE,0x6D,0x97,0x6B,\r
+0x88,0x2B,0x3B,0x32,0xC4,0x66,0x33,0xD5,0x93,0x25,0x20,0x94,0xA9,0x1A,0x12,0x99,\r
+0x2B,0x76,0x98,0xCC,0xCE,0xEE,0xB1,0x5D,0x6A,0xCB,0xD9,0x83,0xF3,0x40,0xA1,0x70,\r
+0x3D,0x57,0x8E,0xFB,0xBF,0xEC,0xC2,0x5F,0xFC,0xE2,0x4F,0x3C,0x6D,0xDE,0x8A,0xC5,\r
+0xBF,0x2E,0x0C,0x00,0x00,0x16,0x87,0xA5,0xC2,0xC5,0x71,0x25,0x03,0xB0,0x6D,0x4C,\r
+0x5F,0xA2,0xEC,0x6C,0x19,0x85,0x0D,0x36,0xC1,0x94,0x72,0x77,0x7B,0xC8,0xAB,0xF2,\r
+0x76,0x84,0xC5,0x63,0x53,0x1D,0xDF,0xAE,0x02,0x4D,0xB1,0x6D,0x9D,0x2E,0x46,0xF9,\r
+0xF3,0xBC,0x40,0xDE,0x7C,0xA3,0x4E,0x10,0x2F,0x7B,0x9C,0x76,0xC8,0x7B,0xB6,0x5C,\r
+0x8C,0x3B,0x3F,0x26,0xEE,0xEF,0x90,0x5C,0x19,0x5E,0xAA,0x65,0xDF,0x6C,0xB7,0x4A,\r
+0xE4,0xBD,0x57,0xC8,0xE8,0xC7,0xBE,0x74,0x5A,0x8F,0xE9,0xF7,0x3D,0x8E,0x4A,0x55,\r
+0xDC,0xFB,0x6F,0xB6,0xD4,0x62,0x27,0xD1,0xF4,0xE0,0x47,0x36,0xD3,0x60,0xA5,0x54,\r
+0x80,0x29,0x33,0x38,0xDA,0xCA,0x81,0x79,0xEA,0xC3,0x59,0x0B,0x08,0xBB,0x3E,0x14,\r
+0x63,0xF4,0xD0,0x06,0xDD,0xF5,0xB9,0x46,0xA0,0x30,0x13,0xB2,0xB5,0x06,0x40,0xD7,\r
+0xA9,0x0F,0x1A,0x37,0x69,0x90,0x68,0x23,0x82,0x45,0x31,0xE5,0xDC,0x6F,0xE6,0x18,\r
+0x79,0xC7,0xCA,0x2F,0x91,0x45,0x45,0xF6,0x6B,0xEB,0xD8,0xA2,0x49,0xFA,0x9E,0xF5,\r
+0x11,0x41,0xA2,0xC1,0x01,0x01,0x91,0xB2,0xF8,0xF2,0x4B,0x28,0x5B,0xE8,0xAF,0xD6,\r
+0x39,0x47,0x8A,0xEF,0x1C,0xB2,0x3F,0x01,0x38,0x7A,0x8B,0x60,0x20,0x93,0x38,0x3A,\r
+0x97,0x28,0x24,0x2E,0x1E,0xBA,0x35,0x09,0x3A,0x0B,0x89,0x13,0x1E,0xAD,0x1F,0x23,\r
+0x38,0x67,0x8B,0xCE,0xF5,0x74,0x10,0xC7,0xBA,0x03,0x09,0x9B,0x39,0x8A,0x5A,0x41,\r
+0xCF,0xEA,0x7C,0xB4,0x9B,0xCD,0xC7,0x7E,0x54,0xEC,0xE7,0x9A,0x84,0x37,0x24,0x82,\r
+0x9D,0x5B,0x2E,0x57,0x62,0x0F,0xFC,0xBC,0x95,0x44,0x26,0xF3,0x4C,0xFF,0xAE,0xC0,\r
+0x71,0x7B,0xF0,0x96,0x42,0xA0,0x47,0x18,0xC5,0x7C,0x43,0xA4,0xAD,0xD2,0x85,0x35,\r
+0x8B,0x3E,0x4F,0x6C,0xB9,0x22,0xC5,0x61,0x22,0xF5,0x2D,0xCA,0x8A,0xEC,0x9C,0x0B,\r
+0xFB,0x8A,0x8B,0x1C,0x8B,0x15,0xF2,0x64,0x5D,0x20,0x87,0x60,0x6A,0xBD,0x2D,0x5A,\r
+0x73,0x08,0x81,0x94,0x75,0xB6,0x51,0x39,0xEE,0xC9,0xDD,0x3A,0x84,0x44,0x3A,0xA3,\r
+0x4B,0x76,0xC7,0xAC,0x5F,0x51,0xB6,0xF4,0x6C,0x03,0x95,0x72,0xFD,0xC6,0xC1,0x21,\r
+0x38,0x90,0x52,0xDF,0xC8,0x33,0xD4,0x01,0xD8,0xD2,0xF0,0x17,0x2C,0x85,0x53,0x62,\r
+0x8A,0x1F,0x6F,0x6D,0x50,0x78,0x9F,0xD2,0x5C,0x36,0x90,0x77,0xE6,0x5D,0x41,0xBA,\r
+0xF4,0xC6,0xC8,0x13,0x9B,0xDE,0x39,0xBF,0x57,0xA2,0x0F,0xE8,0x62,0x3D,0xA5,0xDA,\r
+0xC5,0x93,0xAC,0x22,0x65,0x7D,0x9A,0xE2,0x9C,0xA6,0xC0,0x27,0x1F,0x9F,0x7A,0x78,\r
+0xF9,0xF9,0xFA,0x1E,0xF6,0xD0,0x37,0xDC,0x6E,0x09,0x9D,0x7A,0x3C,0x81,0x47,0x66,\r
+0x1E,0xD3,0x37,0xF9,0xF2,0x1F,0xF8,0x17,0x63,0xB3,0x2A,0xCD,0x7E,0x99,0x1D,0x7E,\r
+0x59,0x55,0xF6,0xBE,0x82,0xE0,0x07,0x98,0xDF,0xEA,0xCF,0x28,0xE5,0x42,0x5D,0xA5,\r
+0x49,0x05,0xB6,0xAE,0xCA,0x20,0xC7,0x10,0x41,0x98,0x23,0xC4,0x7C,0x91,0x17,0x76,\r
+0xB2,0x61,0x29,0x55,0x11,0x4D,0xAA,0xA6,0xEC,0xC3,0xD5,0x32,0xBC,0xC1,0x87,0x26,\r
+0x02,0x9D,0x65,0xE5,0xFB,0xEA,0x0D,0xEB,0x7B,0x2F,0xAE,0x49,0xC4,0x54,0x6A,0xB3,\r
+0x98,0x3C,0x5E,0x7F,0x69,0xA9,0x4E,0x3A,0xC6,0x60,0x5C,0xBB,0x5A,0xB8,0x18,0x5F,\r
+0x50,0x7E,0xD4,0xB7,0x0D,0x52,0xB5,0xA5,0x6B,0x3B,0xAA,0x4D,0xA3,0x7A,0x23,0x9D,\r
+0x92,0x45,0x2D,0x75,0xEE,0x00,0xE7,0x14,0xE1,0x79,0x62,0x85,0x0B,0xBB,0x4A,0x5C,\r
+0x27,0x8C,0x51,0xC0,0x97,0x0A,0xED,0x67,0x50,0x9A,0x30,0xD7,0x44,0x14,0xAA,0xF3,\r
+0xE9,0xA9,0xBA,0x0E,0x77,0xA5,0x42,0x28,0x15,0xF8,0x17,0xF0,0x4C,0x94,0x22,0x73,\r
+0x9C,0x28,0x4E,0x7B,0x78,0x8C,0x6B,0x0E,0xE0,0x6F,0x75,0x92,0xBD,0xD6,0x91,0x31,\r
+0x2F,0x86,0x53,0xC8,0x56,0xA4,0x43,0x08,0x77,0x83,0x0E,0xE9,0x35,0x16,0xD9,0xF1,\r
+0x0D,0xD1,0x26,0xEA,0x8E,0x34,0xD3,0x40,0xA9,0xA1,0xF2,0x15,0x0A,0xAC,0x5C,0x4B,\r
+0xD8,0xFC,0xDE,0x3F,0x96,0xE4,0x03,0x88,0xD1,0x4C,0x67,0x80,0xA4,0x45,0x1B,0xA2,\r
+0x57,0x38,0x95,0xB0,0x81,0x1D,0xFA,0x66,0x71,0xAD,0x26,0xC1,0x8C,0xC4,0xB2,0x23,\r
+0x68,0x00,0x92,0x8F,0xBF,0xFE,0x19,0xBB,0x0F,0x6E,0x9B,0x7C,0x7F,0x8E,0x0B,0x69,\r
+0x5A,0x07,0xA7,0xBD,0x71,0x79,0x9E,0xF2,0x05,0xEC,0x13,0xF4,0xC0,0x74,0x4E,0x93,\r
+0xFF,0x9E,0x9B,0x18,0x0F,0x41,0xA6,0xB4,0xEA,0xED,0xFD,0x1A,0xAF,0xDA,0x8F,0x3D,\r
+0x3E,0xF7,0x33,0xD9,0x67,0x6E,0x89,0xF3,0xF9,0xE5,0xE6,0x01,0x34,0x01,0xCF,0xE6,\r
+0x72,0x29,0xA1,0x95,0x9F,0x11,0xF6,0x74,0xF8,0xF3,0xF1,0x16,0x11,0x37,0xDC,0xD0,\r
+0x18,0xB4,0x56,0xFF,0xD5,0xC2,0x25,0xED,0xE4,0x4B,0x55,0xB2,0xDB,0xEF,0xCE,0x08,\r
+0x80,0x66,0x1C,0x67,0xDA,0xEB,0x0C,0xCB,0x09,0x40,0xB3,0x54,0x02,0x2C,0xD4,0xCB,\r
+0x6B,0x52,0xC3,0x8C,0x46,0x6F,0x88,0xD3,0xB1,0x3D,0x76,0x91,0xA8,0xE5,0xB7,0x02,\r
+0x47,0x68,0xD5,0xA0,0x89,0x06,0xE1,0x75,0x4B,0x1A,0xAB,0x4C,0x9A,0xE8,0x88,0x0F,\r
+0x61,0x2B,0xB0,0x86,0xCD,0x12,0xF5,0x25,0xDA,0xD8,0xF8,0x1F,0x80,0x64,0x1E,0x83,\r
+0x58,0x74,0xD6,0xBF,0x32,0x5F,0xB8,0x97,0x99,0x94,0xF7,0x10,0x30,0x21,0xEB,0xC6,\r
+0x08,0xE4,0x16,0xEF,0xAF,0x35,0xD2,0x60,0xFE,0xDD,0xD9,0x3E,0x9E,0xC8,0xAC,0x2F,\r
+0xCC,0xB8,0x8E,0x2B,0x25,0xA6,0x41,0x79,0x89,0x80,0xF3,0x14,0xCF,0xCB,0xFE,0x2C,\r
+0x77,0x1C,0x91,0x90,0x27,0xB5,0x52,0x68,0x70,0xBB,0x31,0xD6,0x24,0x05,0xDB,0xE2,\r
+0xF6,0xB5,0xB9,0x11,0x04,0xA7,0x40,0x59,0x0D,0x64,0x93,0x74,0xF1,0x66,0x6D,0x81,\r
+0xF5,0xE7,0xE8,0x12,0x31,0xA2,0x45,0x69,0xB2,0x21,0x69,0x8E,0xAA,0xED,0xBD,0x0A,\r
+0x84,0x72,0x0C,0x63,0x6B,0xBA,0x5D,0x2B,0xD9,0xC4,0xE7,0x00,0x49,0xA3,0x10,0x44,\r
+0x53,0x2C,0x85,0xB4,0x0C,0xBC,0x5B,0x4A,0x3B,0x7F,0xBE,0x59,0x87,0x5B,0x26,0xBC,\r
+0xB7,0x54,0x19,0x50,0xB6,0x0B,0xEC,0x47,0xFC,0xD7,0xD1,0x36,0x06,0x0C,0xF0,0xEB,\r
+0x70,0x5A,0xD0,0x97,0x48,0xA8,0x4F,0x1A,0x21,0xE9,0x32,0xD5,0xCD,0xC3,0xF4,0x24,\r
+0x1C,0xA0,0x46,0xFB,0xE8,0xDC,0x3B,0xCE,0x1E,0x6C,0x88,0x6F,0xD7,0x4F,0x62,0xA8,\r
+0x6A,0x73,0xE3,0x8D,0xC7,0x1A,0xFD,0x27,0x43,0x92,0x2B,0xCC,0xAE,0xCD,0x99,0x2A,\r
+0x6D,0x35,0xA2,0x8A,0x37,0x7E,0x99,0xB3,0x9D,0xB0,0xD7,0x30,0x3F,0x9E,0x5B,0x79,\r
+0xD4,0xE2,0xCC,0x33,0x63,0xA1,0x46,0x38,0x3E,0x4D,0x89,0x6E,0x1D,0x97,0x70,0x70,\r
+0x40,0x2E,0x94,0xA7,0x12,0xB0,0x57,0x58,0x86,0x30,0x4C,0xAB,0x36,0x09,0xC5,0xEE,\r
+0x60,0x0A,0x90,0x87,0xEF,0xEE,0x09,0xFB,0x8D,0xA4,0xD3,0x34,0x82,0x6C,0x14,0x8B,\r
+0x7F,0x16,0x93,0x98,0xFF,0x25,0xC2,0x20,0xEF,0xDF,0xCA,0x2D,0xAB,0xFA,0xAB,0x1D,\r
+0x63,0x58,0xC1,0x84,0xC2,0x3B,0xDC,0x03,0xE7,0x57,0x4A,0xAD,0xC2,0x7C,0x44,0x9B,\r
+0x36,0xFD,0x31,0xD1,0x34,0x83,0x64,0x4D,0x45,0xBC,0x03,0xE4,0x12,0x28,0xC0,0xCF,\r
+0x82,0x15,0x6D,0x65,0xAE,0xDB,0x3C,0x8F,0x83,0x02,0x7B,0x9C,0xF7,0x4E,0x43,0xA9,\r
+0xAF,0x0E,0x5B,0x48,0xE3,0x3A,0xDD,0x23,0x5F,0x2A,0x8F,0x68,0xA0,0x65,0x3F,0x82,\r
+0x3C,0x84,0x42,0xDB,0x4F,0x9A,0x7D,0x2F,0xB8,0xA3,0xE1,0x06,0xFF,0xCE,0xCB,0x29,\r
+0x96,0x51,0x3D,0x71,0xF1,0xE2,0x05,0xE9,0x7D,0x01,0x86,0x61,0x73,0x2E,0xA7,0xC9,\r
+0x48,0x24,0x96,0xAF,0xBA,0xDF,0x38,0x9F,0xF5,0x49,0x46,0xA1,0xDD,0xC7,0xE0,0x20,\r
+0x19,0x95,0x76,0xFE,0x39,0xB9,0x5E,0x7A,0x2A,0x7D,0xAD,0x4A,0xB5,0x56,0x19,0xB1,\r
+0xBF,0x5E,0x1B,0x58,0xBE,0x10,0xF7,0x54,0xB7,0x13,0x5E,0xB9,0x32,0x29,0xE1,0xCE,\r
+0xB1,0x33,0x78,0x56,0x8D,0xC9,0x2E,0xBE,0x55,0xA8,0x07,0xE0,0x2E,0x8D,0x59,0x6A,\r
+0xB4,0x06,0x48,0x53,0xFA,0x04,0xE3,0x04,0xC9,0xD0,0xE3,0x04,0xCA,0xFC,0xCC,0x1B,\r
+0x39,0xB1,0x72,0xDE,0xD6,0x3F,0xD8,0x13,0x07,0xE6,0x1B,0xFC,0x00,0x24,0xDE,0xC3,\r
+0xD0,0xFE,0x21,0x5F,0xBB,0x60,0x1A,0xD4,0x3F,0xF2,0xC2,0x53,0x03,0x0E,0x02,0xA3,\r
+0x68,0x3B,0x5C,0x9A,0x25,0x4B,0x84,0x61,0xF3,0x66,0x9A,0xC7,0x72,0x6E,0x13,0xB2,\r
+0xB9,0x78,0xCE,0xD9,0x48,0xFD,0xE9,0xBA,0x07,0xCD,0xC5,0x6C,0xEE,0x76,0x97,0x36,\r
+0xDB,0x61,0xB5,0xC0,0xDE,0xD4,0x7F,0x05,0x1B,0xD2,0xC6,0x73,0xFE,0xAD,0x5C,0xFD,\r
+0x13,0xB1,0xAD,0x10,0x9A,0x44,0x3B,0xD1,0xEC,0x84,0x67,0x25,0x25,0x1B,0x31,0x90,\r
+0xB1,0xF8,0x46,0x59,0xCE,0x94,0x6F,0x55,0x49,0xD1,0x97,0x70,0xD3,0x55,0x89,0x28,\r
+0x09,0x3D,0x3B,0x9C,0xD7,0xF6,0x76,0x2E,0x1F,0x1D,0x0D,0xBC,0xF2,0x75,0x88,0x29,\r
+0xD5,0xC9,0x13,0x68,0xFC,0xA1,0x5D,0x52,0x04,0x30,0x3B,0x91,0xBF,0xD9,0x69,0xC8,\r
+0x2B,0x34,0x10,0x95,0x9C,0x25,0x3D,0xB6,0x40,0x24,0x6B,0x85,0xE0,0xBF,0x50,0xF1,\r
+0xEE,0x53,0xB2,0xF2,0x7C,0xA9,0xDD,0xDA,0x95,0x8E,0x14,0x2F,0x5E,0x79,0x28,0x89,\r
+0x7C,0x1F,0x6C,0xBE,0xE4,0xE3,0x45,0x08,0x84,0xAB,0x20,0x0A,0x28,0x2C,0x0B,0xAA,\r
+0xA3,0xF4,0x58,0x55,0x75,0x8B,0xD4,0xF1,0x35,0xFA,0xC0,0x5B,0xAB,0xC9,0x6D,0xCC,\r
+0x03,0xB5,0xB9,0x14,0x3F,0x78,0x9E,0x48,0x22,0x03,0x2E,0xA2,0x9C,0xE8,0x7B,0xDA,\r
+0xE1,0xEC,0x02,0x4D,0x9B,0x64,0x3A,0xF0,0x4F,0x0D,0x4D,0xAC,0xAF,0x02,0xA2,0x03,\r
+0x51,0xA9,0xF7,0x08,0x96,0x56,0x37,0xCF,0xA0,0x8B,0x24,0x2A,0xC7,0x45,0x8D,0x2C,\r
+0x9F,0x51,0xC1,0xF0,0x4E,0x9C,0xEF,0xDD,0x17,0x06,0x1E,0xA7,0xEB,0x52,0xB6,0x17,\r
+0x1D,0x19,0x0B,0xB8,0x5A,0xCC,0xFB,0x99,0x79,0xF5,0x83,0x54,0x98,0x23,0xB4,0x15,\r
+0xE7,0xC4,0x2C,0x65,0x57,0xFE,0xF6,0xA6,0x43,0xD9,0x95,0x78,0x57,0x85,0xDD,0x7C,\r
+0xCF,0x45,0x85,0xE4,0x93,0x66,0x32,0xFA,0x65,0xEA,0x80,0x4B,0x23,0xC1,0xED,0x4C,\r
+0x8C,0x4A,0xC9,0xEB,0xD6,0xD6,0x77,0x0F,0x3A,0xD3,0xE6,0x72,0xDC,0x73,0xA0,0x01,\r
+0xDF,0x41,0x91,0xE0,0x79,0x99,0xD8,0xEF,0xA9,0x7E,0xD8,0xDF,0x34,0x2F,0x14,0xB5,\r
+0xA8,0x6B,0xCC,0xCA,0x7A,0xC8,0xDB,0xBD,0xF5,0xBA,0x40,0x1B,0xBE,0x36,0x87,0x26,\r
+0x5B,0x21,0x75,0x80,0xD4,0xA7,0x75,0x7C,0xA4,0x44,0xEF,0xE5,0x15,0x0F,0x15,0xB4,\r
+0x26,0x83,0xAA,0x22,0xB7,0x72,0x16,0xCA,0x0D,0xC5,0xC7,0x64,0x36,0x3E,0x07,0xA6,\r
+0x8F,0x55,0xD5,0xF4,0x11,0x1F,0xB0,0x01,0x63,0x36,0x5A,0x97,0x7A,0x7D,0x08,0xA9,\r
+0xE4,0xDB,0x30,0x7A,0x5F,0xFC,0xFE,0xAC,0xF6,0x47,0xBE,0xE6,0x20,0x3F,0x10,0xB1,\r
+0xAA,0x63,0xC6,0xC2,0xBE,0x50,0x1F,0xE1,0x45,0x05,0x4F,0xA4,0xA7,0x11,0xB9,0x18,\r
+0x6D,0x0C,0x6E,0xAD,0xE9,0xD1,0x48,0x37,0x3D,0xE1,0xD3,0x40,0x1D,0x1C,0x0E,0xAF,\r
+0x48,0x3A,0x7D,0x9B,0xFD,0x81,0x5C,0x73,0xB1,0xAE,0x10,0x0F,0xF9,0x98,0x6E,0xCF,\r
+0x77,0x80,0xF8,0x21,0x71,0x9B,0xD0,0xE5,0x4B,0xC2,0x86,0x63,0x59,0x4C,0x1A,0xBB,\r
+0xCB,0x65,0xA1,0xC4,0x2C,0x69,0x8D,0x4A,0x24,0xDF,0xF4,0x7E,0x26,0xE5,0xCC,0x6D,\r
+0x15,0x99,0x83,0x38,0x7F,0xF8,0xDE,0x88,0x62,0xD8,0xB5,0x79,0xD6,0x71,0xA8,0x09,\r
+0xB7,0xD0,0x68,0x71,0x09,0x5D,0xA8,0x5B,0x54,0x20,0x7B,0x81,0xFF,0x42,0xB2,0x13,\r
+0x3D,0x18,0x2A,0xB9,0xC8,0xF5,0x69,0x32,0x6F,0xE2,0x82,0x43,0x1C,0xF3,0xE0,0x41,\r
+0x43,0xA5,0xE9,0x04,0x26,0x1A,0x87,0x33,0xB8,0x5B,0xEC,0xFA,0x66,0x7E,0x17,0xB6,\r
+0x06,0x82,0x8B,0x23,0xA6,0x12,0x07,0xBB,0x9D,0x95,0x07,0x34,0x86,0x31,0xB8,0x19,\r
+0x21,0xBC,0x92,0x1D,0xA4,0x63,0x05,0xC8,0x97,0x9D,0x05,0x3C,0x47,0x5E,0x16,0xB7,\r
+0xB6,0xC7,0x7E,0x66,0x64,0xEB,0xC5,0x80,0x39,0x2E,0x18,0x8F,0x69,0x58,0x3E,0x9F,\r
+0x87,0xD5,0x5D,0x74,0xF7,0xF2,0x56,0x0A,0xED,0x6A,0x88,0xCB,0x87,0xDE,0x56,0xF7,\r
+0xFF,0x40,0xB0,0xE1,0x1E,0x5C,0xBF,0x4D,0xC0,0xBF,0x70,0x1E,0x9F,0x16,0x86,0x27,\r
+0x59,0x29,0x7F,0x88,0x3C,0x29,0x9D,0x1A,0x11,0xDA,0xC4,0x7B,0xAE,0xED,0x4C,0xED,\r
+0x27,0x94,0xBC,0x35,0x76,0xDA,0xD7,0xA3,0x29,0xE5,0xC3,0x44,0x90,0x30,0xAF,0x0E,\r
+0xBC,0x4F,0xFC,0xEE,0x68,0xF9,0xC9,0x9E,0x8F,0x4D,0xCD,0xEC,0x1E,0xE2,0xF3,0x52,\r
+0x53,0xA1,0xFD,0x00,0xC6,0x96,0x67,0x5F,0x16,0xE8,0xF1,0x49,0x60,0xA4,0xCB,0x6A,\r
+0xAE,0x43,0xE2,0xE2,0x85,0x47,0x24,0xCD,0x38,0xC0,0xF7,0x61,0x8E,0x22,0xA3,0x02,\r
+0xAF,0x54,0xF4,0xF5,0xB3,0x62,0x12,0xDE,0xE6,0x8C,0x65,0x2D,0x76,0xA5,0xDC,0x7D,\r
+0x5F,0x01,0x51,0xA0,0x9E,0x54,0x3F,0xC5,0x77,0x32,0x4A,0x93,0xCB,0x9D,0x59,0xF8,\r
+0xB2,0xE7,0x5A,0x46,0x5D,0x8D,0xFC,0xDF,0xA5,0xAA,0x00,0x0B,0xC4,0xBB,0x70,0xD1,\r
+0x74,0x9F,0xE4,0x3E,0x5E,0xDC,0xFF,0x8D,0x2F,0x39,0x19,0x98,0xA8,0x37,0x90,0x31,\r
+0x93,0xF1,0x6D,0x50,0x60,0xFB,0xC1,0x94,0x6A,0xC3,0xA6,0x62,0x53,0x4E,0x12,0xB3,\r
+0xB8,0x6F,0xD8,0xCE,0xF6,0xD2,0x57,0x2B,0x19,0xC1,0xD7,0x60,0x64,0x6F,0x04,0xA5,\r
+0x0B,0x35,0x31,0x94,0x0F,0x3C,0xAE,0x3C,0x9B,0x49,0xDD,0xE8,0x9A,0x32,0xA7,0x06,\r
+0x8E,0x42,0xC3,0xE3,0x37,0x7A,0x96,0x42,0x81,0x8A,0x04,0x2B,0xD9,0x57,0x81,0x20,\r
+0x3A,0x27,0x12,0x86,0x74,0xAB,0xD5,0xD0,0x67,0xF9,0x91,0x58,0x4E,0xA2,0xE3,0x42,\r
+0x01,0xBD,0xB3,0x1C,0x8F,0x34,0x2E,0xB4,0xD7,0x46,0x9E,0xE7,0x8A,0xE9,0x6C,0xCD,\r
+0x0A,0x22,0x27,0x83,0xEF,0xB0,0x4E,0x50,0x0E,0x38,0x39,0x99,0x41,0x84,0xCA,0x6B,\r
+0x38,0x2F,0x18,0x8E,0x33,0x6A,0x92,0x56,0xE8,0x4B,0xAC,0xEA,0xE7,0x8A,0x62,0xC3,\r
+0xCA,0x72,0xB7,0xD3,0x2D,0x49,0x8C,0x6B,0x82,0x77,0xFA,0xD6,0x74,0xB4,0xCF,0x6E,\r
+0x89,0x7D,0xFB,0xDC,0xF0,0xB3,0x51,0x4C,0x44,0xEB,0xA0,0x4A,0x93,0xCE,0x52,0xF3,\r
+0x35,0x98,0xA2,0x39,0x2B,0x28,0x8A,0x0C,0xC2,0xAC,0x61,0x0D,0xE3,0x41,0xAD,0x0C,\r
+0xBA,0x67,0xD2,0xC6,0x73,0xEA,0xD2,0x96,0x70,0x00,0x7F,0xA1,0x00,0xF0,0xFF,0x5E,\r
+0x17,0x91,0x89,0x30,0x23,0x2A,0x82,0x06,0x14,0xFB,0xE0,0x5A,0xDB,0x46,0x92,0x33,\r
+0x90,0xEE,0x71,0x4F,0x0A,0x0C,0xAB,0x09,0x2D,0x2A,0x08,0x8B,0x78,0x6C,0x1B,0xBA,\r
+0x2D,0x1C,0x3E,0xBD,0xE6,0x92,0x47,0x7B,0x8C,0xB0,0x33,0x11,0xEA,0xBD,0x58,0xF9,\r
+0x77,0x60,0x6C,0x01,0xA0,0x27,0x91,0x3C,0xB4,0xAA,0xAF,0x13,0x53,0x48,0x67,0x39,\r
+0x3B,0xF2,0x20,0xDF,0x27,0x58,0x69,0x43,0xA3,0xAB,0xB8,0x05,0x65,0x7E,0x42,0x2A,\r
+0x51,0x05,0x4A,0x42,0xBE,0x8B,0x23,0x90,0x07,0xB7,0x1C,0xBD,0xBD,0xA6,0x88,0x38,\r
+0xC9,0x4F,0xD2,0x90,0x98,0xA2,0x2C,0xB9,0xE1,0x5A,0xFA,0xB6,0x7E,0x65,0x51,0x22,\r
+0x1E,0xC6,0x05,0xCE,0x35,0x54,0x77,0x4F,0x74,0x22,0x6F,0x5B,0x96,0x8D,0xDF,0x44,\r
+0x21,0xC1,0x3A,0xF6,0xE8,0xB7,0x49,0xAC,0xC9,0x5C,0xD2,0x98,0xDC,0xC7,0x2C,0xFD,\r
+0x13,0xF4,0x08,0xF1,0xA1,0x30,0x87,0x2B,0x41,0x56,0x5A,0x1A,0x26,0x3D,0x93,0xB8,\r
+0xB6,0xC8,0xAD,0x68,0xE7,0x08,0xF9,0x13,0xAF,0xB9,0xB4,0x1B,0x88,0x93,0xFC,0x79,\r
+0xD5,0x1D,0xCE,0xDE,0x5D,0xC5,0x8E,0xDE,0x27,0xB3,0x3C,0x99,0x84,0x9F,0xEE,0x67,\r
+0x66,0x00,0x7D,0x70,0x5B,0xED,0xA0,0xF6,0x5C,0x24,0x47,0x75,0x44,0x5F,0x66,0x2F,\r
+0x44,0x75,0x5F,0x27,0x13,0x7D,0x78,0x66,0xA0,0xFA,0xBB,0x57,0xFE,0xE5,0x59,0xAA,\r
+0x91,0x8D,0x8A,0x0A,0xDB,0xAD,0x60,0xB6,0x35,0x82,0x2E,0xBA,0x17,0x0C,0xF7,0xED,\r
+0x19,0x87,0x02,0x88,0xF6,0x1B,0xFB,0x00,0xF8,0x38,0xE3,0xCD,0x28,0x33,0xF0,0xD5,\r
+0xDB,0x7E,0xC0,0xB3,0x47,0x49,0x18,0x52,0x30,0xB2,0x2B,0x8F,0xE9,0xF2,0x58,0xBC,\r
+0x6E,0x02,0x75,0x7A,0x34,0x43,0x61,0x58,0x62,0x03,0x79,0x6C,0x46,0x5D,0x17,0x5C,\r
+0xA0,0xE9,0xBB,0x5F,0x7B,0xEC,0x81,0xF7,0x45,0x46,0x5E,0x0E,0xC6,0xDD,0x1F,0xD4,\r
+0x00,0xE5,0x1B,0xF3,0x43,0x69,0x3C,0x72,0x71,0x12,0x6A,0x6E,0xC3,0xD8,0x2F,0xE1,\r
+0xFB,0x7A,0xE0,0x97,0xF5,0x04,0xE7,0x1F,0x87,0xBF,0x9C,0x35,0x93,0x88,0xEF,0x71,\r
+0x4B,0x36,0x50,0x6B,0xB8,0xA3,0x0D,0xB8,0xFC,0x28,0xE7,0xD9,0x06,0x1D,0x97,0x9C,\r
+0xD1,0x0D,0xCA,0xCA,0x69,0xE0,0x9F,0xFB,0x0E,0x95,0x15,0x96,0xEA,0xF1,0x09,0xEE,\r
+0x8C,0xFF,0x97,0x65,0xB1,0x34,0x93,0x2F,0x92,0xCF,0x89,0x50,0xCD,0xD6,0x4C,0x8C,\r
+0xB0,0xA9,0xAB,0x0F,0x8F,0x99,0x00,0x82,0xCF,0x3D,0xD4,0xFF,0xD3,0xC8,0x6F,0xB1,\r
+0x57,0x64,0x4C,0x25,0x44,0x56,0x04,0x4D,0x78,0x30,0x63,0x45,0xCB,0xD0,0x2D,0xEB,\r
+0x10,0xA5,0x0B,0xA3,0xCB,0xA9,0x74,0xB2,0x9D,0x8C,0x86,0x1C,0x10,0x0B,0xB6,0xAB,\r
+0x02,0x94,0x19,0x80,0xA7,0x18,0xA9,0x03,0xC7,0x3F,0xDC,0xF5,0x94,0x8F,0xAE,0x37,\r
+0x71,0x01,0x6A,0x66,0x52,0x7A,0x3E,0x61,0xA2,0x8B,0xB9,0x24,0xD7,0xCC,0x7F,0xA5,\r
+0xC3,0x3C,0xD8,0xE9,0x81,0x31,0xA6,0x2A,0xC2,0x0F,0xD9,0xC0,0x0F,0x14,0xB5,0xB7,\r
+0xBD,0x9B,0xA6,0x30,0xEC,0x97,0x6D,0x8C,0x5D,0x04,0x46,0x54,0x6F,0x74,0x31,0x53,\r
+0x38,0xA3,0x23,0x8D,0x4B,0xE9,0xB4,0xF2,0x11,0x96,0x0A,0x8A,0x80,0x9B,0xFE,0x73,\r
+0xC2,0x1C,0xD9,0xC8,0x32,0x6B,0x4F,0x70,0x7F,0x71,0x64,0x03,0xBE,0xA5,0xD9,0x6A,\r
+0xB2,0xD8,0xA9,0x7C,0x37,0x5C,0x7D,0x47,0xD5,0x0E,0xCE,0xD6,0xEF,0xF4,0x39,0xDB,\r
+0x3A,0xD2,0x21,0xFE,0x6A,0xFF,0x83,0xE4,0x8F,0xBD,0x94,0x3F,0x16,0x0D,0xD7,0xCC,\r
+0xF6,0x48,0xED,0xA8,0x07,0x59,0x48,0x42,0x0C,0xE4,0x17,0xE5,0x7B,0x60,0x61,0x17,\r
+0xF8,0x2B,0xE3,0xC5,0xED,0x80,0x7B,0x9B,0x55,0x06,0x4E,0x5E,0xDF,0xC4,0x7D,0xAF,\r
+0xFD,0x1B,0xE6,0xF0,0x57,0x4D,0x0C,0x56,0xB1,0x9A,0xAA,0x26,0xAE,0xB5,0x99,0x3A,\r
+0x70,0x21,0x6B,0x47,0x40,0x76,0x20,0x6D,0x49,0x54,0x52,0x10,0x76,0x6D,0x53,0x28,\r
+0x75,0x11,0x6E,0x72,0x7C,0xD3,0xB9,0xC8,0xB3,0xEB,0xA8,0x55,0x9C,0x87,0xAC,0x3D,\r
+0xDF,0x6E,0xC4,0xA7,0xBA,0xAB,0x07,0xB0,0xD4,0x2E,0xCF,0xF7,0x7C,0x67,0x20,0x51,\r
+0x01,0xC5,0x1A,0xD2,0xCC,0x96,0x4C,0x8D,0x14,0xA6,0x0F,0xBF,0x95,0x8E,0x8E,0x16,\r
+0x50,0x25,0x4B,0x63,0x29,0xF0,0xCF,0xEB,0xFF,0x79,0xE4,0x8B,0x04,0x1F,0xE6,0xEF,\r
+0x2A,0x92,0x31,0xAE,0x50,0x72,0x34,0x69,0x18,0xB4,0x03,0xA1,0x2E,0x35,0x91,0xB2,\r
+0x7F,0x62,0x64,0x0B,0x1E,0xCA,0xC2,0xD1,0x51,0x16,0x4A,0x4A,0x7A,0x61,0x41,0x36,\r
+0xCB,0x3E,0xD0,0xE3,0xDC,0x92,0x58,0x89,0x29,0xD0,0x32,0xF4,0x1C,0x07,0xA4,0xB5,\r
+0xE6,0x08,0xFD,0xF8,0x70,0x73,0x15,0x68,0xDD,0x0C,0xC6,0xDC,0x37,0x2C,0xF3,0xC9,\r
+0x9D,0x9F,0x86,0x14,0x6B,0xE8,0x95,0xF3,0xDB,0x6D,0xC0,0xBB,0xC5,0xDE,0x4E,0x86,\r
+0x09,0xC7,0x12,0xD8,0x0B,0xF9,0xE4,0xE2,0x1E,0xD5,0x05,0xC6,0x5B,0x40,0x65,0x33,\r
+0x29,0xC3,0x32,0xFC,0xA8,0xA7,0x19,0xBC,0x81,0xDE,0x9A,0x52,0x3E,0x25,0xD1,0xE2,\r
+0x36,0xC0,0x2D,0xE0,0x73,0x6C,0x09,0x77,0x98,0xBC,0x83,0x29,0xA8,0xB3,0xF8,0x5D,\r
+0x39,0x83,0x22,0xAC,0x49,0xE1,0xBE,0xFA,0x60,0x72,0x7B,0x1F,0x91,0x8A,0x9E,0x02,\r
+0x55,0x15,0x4E,0x56,0x9D,0x95,0x1E,0x8E,0xDA,0x4D,0xC1,0x9A,0x1D,0x06,0x84,0x94,\r
+0x23,0xB0,0x38,0x85,0x74,0x53,0x31,0x48,0x79,0x10,0x62,0x64,0x9F,0x84,0xFD,0x6F,\r
+0x24,0xF1,0x3F,0xC3,0xE0,0x37,0xC1,0x2C,0x85,0xCE,0x9E,0x46,0xCC,0xD7,0x6C,0xAD,\r
+0xBC,0xBB,0xA7,0x11,0x3A,0xEB,0xC7,0xF0,0x3B,0xE1,0x20,0xD7,0xBF,0xA4,0xF9,0x4B,\r
+0xCD,0x5F,0xD6,0x84,0x78,0xF3,0x9D,0xE8,0xB5,0x8A,0xAE,0x32,0xF1,0xEA,0x1A,0xE6,\r
+0x1A,0xD6,0x01,0xDA,0x19,0xF5,0xFA,0xEE,0xEC,0x68,0xF7,0x89,0x09,0x12,0xD4,0xD0,\r
+0xFE,0x4A,0xE5,0xA2,0x14,0x42,0x40,0x59,0x83,0xAF,0x98,0x21,0x5E,0x45,0x55,0x06,\r
+0x41,0x45,0x5A,0x12,0x33,0x7C,0x59,0x67,0x8B,0xAD,0x90,0x2B,0x9A,0x81,0xCD,0x5A,\r
+0x85,0xDD,0x9E,0x4E,0x2A,0xEF,0xD3,0xF4,0xA1,0xDA,0xBA,0x76,0x99,0x82,0x9C,0x08,\r
+0x3E,0xC2,0x25,0xEA,0x3B,0xFC,0xD1,0xE7,0x63,0x23,0x78,0x4D,0x57,0x4C,0x77,0x2D,\r
+0xBF,0xEA,0xA4,0x43,0x0A,0xEE,0xF2,0xF5,0xC1,0x5E,0xDA,0x92,0x34,0x2F,0xA2,0x9B,\r
+0x22,0x90,0x39,0xA4,0x80,0x26,0xB0,0x3D,0x24,0xE2,0x3F,0xCB,0xB7,0xAC,0xFB,0x41,\r
+0x0E,0x86,0x15,0x9E,0x26,0x4F,0x7F,0x54,0xF9,0x18,0xE2,0xEC,0xBA,0xA1,0xC9,0x7E,\r
+0x28,0xE3,0x33,0xDD,0x76,0x5B,0x3B,0x40,0xAA,0x89,0xB1,0x2E,0x36,0x2D,0xD3,0xE8,\r
+0x11,0x85,0x0A,0x82,0xC4,0x16,0xC4,0x0D,0xA5,0xCA,0xBE,0x62,0x73,0x68,0x63,0x1D,\r
+0x6B,0x5D,0xBE,0xB9,0x80,0x4C,0x43,0x63,0xD8,0x3B,0xE8,0x5C,0x64,0x0A,0x87,0x02,\r
+0xC3,0x32,0xD1,0x7E,0xD7,0x9A,0xC2,0x34,0x3C,0xDF,0x90,0xC0,0xD3,0xB0,0x30,0x0F,\r
+0x78,0x6B,0x88,0x9C,0x2F,0xAC,0x0C,0xCC,0xEB,0x08,0xCE,0x49,0xD5,0xD7,0x36,0x6E,\r
+0x9D,0xE5,0x06,0xF7,0x61,0x01,0xEF,0x82,0x9A,0x79,0x5B,0xAD,0xCD,0x8D,0x2E,0x2C,\r
+0x0C,0x5B,0xB8,0xD8,0x12,0xE7,0x7A,0xF1,0x02,0xE1,0x89,0xE7,0x11,0x8B,0xF2,0xF6,\r
+0x2E,0xA7,0x44,0x06,0x41,0x25,0xEB,0xA2,0x05,0xE6,0xCF,0xA6,0x75,0x7B,0x96,0x62,\r
+0xD0,0x04,0xE7,0x5B,0xC3,0xDE,0x92,0x20,0x73,0x90,0x1C,0x03,0xB3,0x54,0x50,0x8B,\r
+0x55,0xBE,0x5D,0x64,0x4F,0x48,0x88,0xAC,0x1F,0xFC,0xE6,0x95,0xC7,0xF4,0x24,0x5F,\r
+0x28,0x7B,0x98,0xDC,0xAD,0x57,0x75,0x4E,0x37,0xD4,0xC8,0x93,0x30,0x8E,0xD3,0xD2,\r
+0x64,0x74,0x97,0x9F,0xE8,0xA2,0xC5,0x0B,0x0E,0xED,0x97,0xF5,0x7D,0x71,0x9E,0x60,\r
+0xA6,0x27,0xC4,0x0E,0x64,0x34,0xDF,0x87,0x28,0xCB,0xD4,0x90,0x69,0x35,0x8A,0x30,\r
+0x81,0xFA,0x19,0xF4,0x69,0x0B,0xED,0x8A,0x04,0xE7,0xEE,0x86,0x00,0xFA,0xE3,0x96,\r
+0xD8,0x1F,0xFC,0x48,0xEA,0xD1,0xB4,0x09,0x99,0x7A,0x09,0xFC,0xC8,0xB8,0x2B,0x1C,\r
+0x07,0xBD,0x5E,0x35,0x89,0x67,0x61,0x6A,0x18,0xFB,0xA0,0xD4,0xDA,0x9B,0x39,0x2D,\r
+0x3C,0x7F,0x9C,0xCC,0x47,0x42,0x8A,0xA4,0xA3,0x40,0x04,0xCB,0xC9,0x99,0x2A,0x3C,\r
+0x61,0x55,0xB6,0xBB,0x44,0x10,0xDB,0xA7,0x67,0x84,0x58,0x53,0x5A,0x13,0xB9,0x25,\r
+0xC1,0x21,0xC2,0x6F,0xDA,0xA5,0xF0,0x39,0x76,0x95,0x29,0x33,0xD6,0x85,0x35,0x3F,\r
+0xF5,0xCA,0x29,0xB0,0x4B,0x5C,0x98,0xA8,0x27,0xC4,0x98,0xD3,0xB0,0x06,0x53,0xDA,\r
+0xBD,0x0A,0xE9,0x38,0xA2,0x1B,0x36,0x41,0xF9,0x1A,0xED,0x78,0x8D,0x4D,0x6E,0xAC,\r
+0x1F,0x6D,0x8E,0xFD,0x42,0x77,0xBA,0xA1,0x53,0xB0,0x38,0x07,0xF5,0xF3,0x16,0x6A,\r
+0x5A,0x97,0x74,0x42,0xA8,0x62,0x45,0x4B,0x56,0xB5,0x0D,0x37,0x50,0x6A,0xB3,0x56,\r
+0x6C,0x6F,0x8C,0x8C,0x70,0x70,0x8F,0x93,0xDB,0x38,0xBA,0x0D,0x6B,0x46,0x88,0x41,\r
+0x14,0x8B,0x68,0x10,0x01,0xE5,0x6B,0xE2,0xDE,0x3D,0x8F,0x3D,0xA6,0x31,0x45,0xFB,\r
+0xAF,0xD2,0x31,0xF2,0xA5,0x5D,0x77,0x46,0xD0,0x33,0xE2,0x5E,0x7F,0x02,0x9C,0x11,\r
+0x63,0x46,0xA5,0xAA,0x76,0x17,0xEE,0x95,0x10,0xF3,0xAA,0xD6,0x4A,0x43,0xA9,0x65,\r
+0x18,0x5F,0xBC,0xC8,0xE0,0xA8,0xC7,0x03,0x0F,0xEC,0xB6,0xD5,0x81,0x53,0x62,0xBE,\r
+0x8C,0xC0,0x23,0xC3,0x85,0x79,0x73,0x66,0x2F,0xCC,0x92,0xD1,0xDF,0xAE,0x3C,0x1D,\r
+0xF1,0x05,0xE6,0x7B,0x1B,0xCC,0x58,0xF8,0xBB,0x58,0x5E,0x89,0xCE,0xDF,0x2D,0x7D,\r
+0x96,0x03,0xE0,0x1A,0xE9,0x83,0xE5,0x0A,0xC0,0x23,0xB2,0x1E,0x55,0x5F,0xB6,0x66,\r
+0xBE,0xF7,0x14,0xC6,0xC2,0xFF,0xB2,0x21,0xED,0x0E,0xA9,0x28,0xB4,0x12,0x57,0xCA,\r
+0x00,0x8F,0x6C,0x00,0xA4,0x7C,0x57,0x47,0x59,0xBA,0x41,0x74,0xEC,0x88,0x0F,0x08,\r
+0xEB,0xC6,0x25,0xA2,0xF0,0xF8,0x87,0x13,0x0C,0xEF,0xE4,0x84,0x54,0x7E,0xB7,0x46,\r
+0x56,0x43,0xA0,0x9A,0xCE,0xE1,0xA0,0x2D,0x36,0xD5,0xE9,0xB3,0x8F,0x3E,0x6C,0xDD,\r
+0x0F,0xA6,0x45,0x26,0x15,0xA1,0x3B,0xF6,0x71,0x92,0x6F,0x72,0x70,0x4E,0x93,0x52,\r
+0xB5,0x11,0xF2,0x2B,0x0D,0xFB,0x79,0xEE,0x96,0x75,0x45,0xBF,0xBF,0x4A,0x5C,0x99,\r
+0x1A,0x4C,0xAF,0xD9,0x13,0xC6,0x5A,0xF0,0xAA,0x49,0x2F,0xE9,0x12,0xD9,0xF1,0xA7,\r
+0xDC,0xD0,0x33,0x83,0x34,0xA4,0x1F,0xD7,0xF7,0x14,0x80,0x1B,0xC6,0xD5,0x25,0x7F,\r
+0x93,0x22,0xC1,0x3E,0xD8,0xD6,0x81,0x3B,0x6D,0x8E,0x21,0x20,0x85,0x47,0x66,0xAE,\r
+0x7F,0x59,0xBA,0xA9,0x4D,0x3B,0xF9,0xAE,0xDD,0x3E,0xDD,0x6C,0x22,0xAD,0xC1,0xE3,\r
+0x24,0xAF,0x4C,0x04,0x1D,0xAB,0x39,0xFE,0x26,0xC5,0xB9,0xF3,0x4F,0x76,0xAC,0x55,\r
+0x75,0x51,0xB2,0xAB,0xC8,0x86,0xC1,0x2B,0x1C,0xFF,0xB4,0xC4,0xD9,0xC9,0x3A,0x7C,\r
+0x9C,0x0B,0xE8,0x18,0x31,0x91,0x2F,0xD2,0x94,0x77,0x36,0xCE,0x7A,0x37,0x99,0x21,\r
+0x49,0xA1,0x42,0x67,0x60,0x20,0xCF,0x83,0xE4,0x07,0x82,0x0A,0x4D,0x05,0xAE,0x24,\r
+0xC0,0xCF,0x2C,0x80,0x5E,0x39,0xE8,0xBD,0x1E,0xFD,0xC7,0xB5,0xCF,0xFE,0x2C,0x5D,\r
+0x1E,0x83,0x60,0x12,0xB1,0x19,0x27,0x52,0x9B,0x78,0x7A,0x8D,0xB1,0x27,0x52,0xFA,\r
+0x8A,0x1C,0xFF,0x19,0xD1,0xFD,0xA3,0x32,0xE5,0x06,0xA3,0x2A,0x17,0xEC,0xF4,0x97,\r
+0x6E,0x7C,0x9F,0x9D,0x09,0xEF,0x69,0xEA,0x57,0xB4,0x2C,0x17,0x5C,0x74,0xBF,0x44,\r
+0xBF,0x19,0xFA,0x29,0x4A,0x7D,0xB8,0xA9,0x24,0xC7,0xCA,0x82,0x3E,0xE3,0xDD,0xB1,\r
+0x51,0x71,0x92,0xAF,0x56,0x33,0xEA,0xB5,0x90,0x73,0x22,0xDE,0x2E,0xB3,0xCD,0xF1,\r
+0x50,0x9F,0x7C,0x40,0xF8,0xF2,0x85,0x1B,0x35,0xD6,0xBB,0xE2,0x16,0xCD,0xF5,0xB7,\r
+0xD2,0x17,0xF4,0x4A,0x02,0xB7,0x3A,0xE1,0x07,0xE4,0xBC,0xD7,0x91,0x03,0x72,0xFE,\r
+0x11,0xAA,0x49,0x34,0x48,0x0E,0xC9,0xAB,0x38,0xDB,0x84,0xD0,0x72,0x3D,0x91,0x23,\r
+0xFC,0x3F,0xDC,0x4C,0xA0,0x68,0x47,0x43,0xEF,0x0C,0xDA,0x59,0x84,0x66,0x67,0x8E,\r
+0xF7,0xD9,0x3A,0xA1,0x63,0x72,0x9E,0x80,0x77,0x94,0x08,0x13,0xAD,0x69,0x4E,0xA8,\r
+0x4F,0x7D,0x9E,0xBD,0xBB,0x60,0x54,0x58,0x1D,0xFE,0x95,0xE4,0x7E,0x23,0x9D,0x31,\r
+0x59,0x6A,0x89,0xBC,0x8D,0x73,0x71,0x6E,0x51,0xB2,0x4B,0x76,0x01,0xDB,0xE2,0xB6,\r
+0x44,0x9B,0x78,0x50,0x18,0x9E,0x09,0xFB,0x86,0x65,0x15,0xFF,0xCA,0xCB,0x29,0x6D,\r
+0x26,0xBC,0x5F,0x15,0x98,0x16,0x01,0x7B,0x48,0xAB,0x30,0x14,0x65,0x2B,0x86,0x22,\r
+0xC5,0xEE,0x0D,0xA4,0x37,0xF6,0x4E,0xD4,0xFD,0x1E,0xF9,0x68,0x6F,0x52,0x8C,0x51,\r
+0x87,0x26,0xC5,0x2E,0xF6,0x9F,0xE6,0x15,0x3F,0xDC,0xC2,0x91,0x3D,0xB1,0xDE,0xE0,\r
+0xF0,0xEB,0x08,0x94,0xC9,0xA7,0xE1,0x2A,0xB7,0x54,0x40,0x9B,0x8B,0x2A,0x68,0xCD,\r
+0x1D,0x7E,0x9D,0xEC,0x20,0xE0,0x4F,0xC3,0x62,0x81,0x6D,0x63,0x5B,0x32,0xB8,0x05,\r
+0x3F,0x82,0x61,0x32,0x9A,0x65,0x70,0x79,0x40,0xA3,0x3A,0x16,0xCB,0xEA,0x28,0x4D,\r
+0xD3,0xF9,0x1A,0xA5,0x5A,0x2D,0xF8,0xB9,0xF3,0x10,0x94,0x0B,0xE3,0xC4,0x00,0x4B,\r
+0x7F,0x66,0x75,0x97,0xE8,0xA9,0xA3,0xCF,0x0B,0xC1,0x01,0x4E,0x80,0x06,0x08,0x0C,\r
+0x3A,0xD6,0x30,0x62,0xA4,0xA6,0xAC,0x8C,0x46,0x73,0x4C,0xB1,0xE6,0x3F,0x57,0x35,\r
+0xB6,0xCC,0xBC,0xF4,0x66,0xF5,0xFF,0x1D,0x52,0x23,0x58,0xF5,0x83,0x19,0x14,0x13,\r
+0xBB,0xFE,0xB1,0xCB,0x41,0x28,0x22,0xE7,0x3B,0x85,0x31,0x3A,0x95,0x35,0x2E,0x3F,\r
+0x38,0xA7,0x32,0x11,0x18,0xCD,0xC7,0x5B,0xF3,0x0F,0xF9,0x78,0xEF,0xA8,0xC9,0xA2,\r
+0x5B,0x72,0x51,0xA7,0xC7,0x6F,0x65,0x26,0xE1,0x3E,0xEB,0x5B,0xC7,0x29,0x60,0x23,\r
+0x95,0x99,0x9F,0x82,0xFC,0xAD,0xA7,0xDF,0xF2,0x2F,0xF8,0x59,0xD8,0x92,0xC4,0x98,\r
+0x96,0xC8,0x9C,0xD0,0xA1,0x87,0x8D,0xA8,0x61,0x36,0x6B,0xD3,0x40,0x56,0x98,0x5C,\r
+0x52,0x50,0x58,0x8C,0xAB,0x8F,0x85,0xAA,0x5F,0x11,0x55,0xCA,0x4F,0xE9,0x28,0xE3,\r
+0x05,0xD1,0x0F,0x5A,0x03,0xE0,0xEA,0x6D,0xE8,0x1C,0xE2,0x70,0xD3,0x0D,0x50,0x07,\r
+0xFD,0x1F,0xF7,0x6C,0xB8,0xB9,0xB3,0x8F,0xEE,0x7D,0xE4,0x17,0x5A,0xDA,0x0E,0xD0,\r
+0xB3,0xFC,0xB9,0xC1,0x5D,0x37,0x3D,0xE4,0xF6,0x3F,0xFC,0x4D,0xBE,0xAB,0x9B,0xA1,\r
+0xC0,0x69,0xCA,0x27,0xCC,0x89,0x83,0xCB,0x2A,0xE5,0x20,0x4B,0xF4,0x33,0x49,0x39,\r
+0x93,0xF8,0x99,0xE5,0xEE,0x75,0x7F,0x15,0x4E,0x71,0x44,0xBB,0xB5,0x34,0x0F,0x3E,\r
+0x11,0x81,0x1B,0x1E,0x10,0xD6,0xDC,0x48,0x88,0x98,0x82,0x94,0x10,0x42,0xDC,0x48,\r
+0x9D,0x9B,0x97,0x88,0x95,0x6C,0x66,0x77,0xFC,0x4C,0xF6,0x34,0x86,0x2E,0x26,0x24,\r
+0xA4,0xFD,0xAE,0xD7,0xA3,0x94,0x9E,0xB9,0x71,0x76,0x7B,0x83,0xC5,0x21,0x6A,0x2B,\r
+0x32,0xD4,0x38,0x68,0xD8,0x8D,0x87,0xDB,0xBA,0xAD,0xB0,0x93,0xC6,0x3E,0x76,0x34,\r
+0x57,0x60,0x5D,0xB9,0x4C,0x12,0x18,0xD0,0xE4,0x0E,0xEE,0x6E,0xC2,0x1E,0x52,0x14,\r
+0xC9,0x4B,0xC3,0x0C,0x31,0xD7,0xDD,0x68,0xF5,0x6E,0xFF,0x1F,0x9A,0x8A,0x9E,0x80,\r
+0x3B,0xF6,0x31,0x43,0x56,0xD1,0xDB,0x09,0x6E,0x75,0x64,0x9F,0x0D,0xF1,0x72,0xFB,\r
+0x10,0xA1,0x1A,0x3F,0x7E,0x25,0x2F,0xD5,0x8F,0xD9,0x85,0xD2,0x3B,0xDC,0x69,0xD6,\r
+0x76,0x44,0x7C,0xBC,0xC0,0x5D,0x57,0x13,0xD7,0x1B,0xDD,0x48,0x67,0x68,0x81,0x62,\r
+0x22,0x94,0x28,0x38,0x2B,0x14,0x1E,0xB1,0x6F,0x55,0x65,0xBE,0x97,0x3D,0x24,0x37,\r
+0x08,0xE3,0x02,0x65,0x01,0xF3,0xF9,0x7C,0xED,0x2C,0xE7,0x45,0x20,0x47,0xE9,0x4D,\r
+0x99,0x8B,0x93,0x9C,0x35,0x18,0x12,0xA3,0x8B,0xC9,0x81,0xC6,0xC0,0x16,0x58,0x1C,\r
+0x70,0x25,0x7A,0xDB,0x7D,0xD8,0xD2,0x2B,0xB6,0xBF,0xBC,0x8D,0x6B,0xC8,0x2D,0xC2,\r
+0x90,0xA9,0x9A,0xB7,0xDF,0xBF,0xB5,0xEE,0xCE,0x79,0xC4,0x33,0x14,0x62,0xF8,0x68,\r
+0x7A,0x56,0x70,0xA2,0x9A,0x45,0x4F,0x51,0x6B,0x45,0x61,0xAA,0x24,0x67,0xCD,0x6D,\r
+0xA2,0x9C,0xA8,0xB0,0xAC,0xBD,0xB7,0x9F,0x50,0x52,0x5A,0x86,0x1E,0xEA,0x7A,0xE0,\r
+0xD3,0x78,0xD9,0x25,0xD4,0x59,0x53,0x03,0x9D,0xE8,0x97,0xF1,0x2E,0xEF,0x4F,0xE5,\r
+0x77,0x64,0x7D,0x9D,0x6F,0x00,0x0A,0xE1,0x44,0x02,0x4E,0xC2,0x4D,0xE1,0x22,0xEB,\r
+0x1A,0xD2,0x10,0x46,0xB5,0x83,0x89,0xB8,0xE2,0x6F,0xE8,0x09,0xD7,0x2D,0x74,0x27,\r
+0xE3,0x3C,0xE9,0x51,0x5C,0xD9,0xD3,0x0B,0x41,0x32,0x4B,0xF7,0xDD,0xA5,0xF6,0xAF,\r
+0xB2,0xDC,0xB8,0xE0,0x89,0x73,0x79,0x74,0x76,0x37,0x7C,0xC5,0x19,0xD5,0x42,0xDF,\r
+0x8C,0xFB,0x86,0xF9,0x00,0x1D,0x17,0x93,0xF4,0x4E,0xFE,0x3E,0xA6,0x2F,0x07,0x25,\r
+0x63,0x34,0x69,0xD9,0xDE,0x51,0x5B,0x01,0x8A,0xE9,0x80,0xE7,0x9E,0xAA,0xBA,0xA0,\r
+0x03,0xB0,0x09,0x3D,0x4A,0xCE,0xC4,0x0A,0x2C,0x84,0x26,0x2C,0x39,0xD4,0x63,0xDE,\r
+0xDB,0x7A,0xD1,0x2F,0xAE,0xAE,0xA4,0x8E,0x67,0x57,0x6D,0xB4,0x04,0x66,0xEC,0x6C,\r
+0x98,0xAB,0x92,0xBD,0x7F,0xCB,0xC1,0x3A,0x05,0xA2,0x0F,0x23,0x91,0x15,0x0A,0x1F,\r
+0x1C,0xB3,0x16,0x21,0x96,0x91,0x9B,0x89,0xB4,0xCE,0xBE,0xFE,0xA0,0x07,0x29,0x0D,\r
+0xC7,0x28,0xCD,0x61,0xCF,0x74,0x7E,0x35,0x4B,0x41,0x41,0x8E,0x61,0x40,0xAF,0x4A,\r
+0xDF,0x6A,0xD5,0x3B,0x75,0xC3,0xC9,0x38,0x84,0x8A,0x8E,0x8A,0xAC,0xA7,0x85,0xAD,\r
+0xC1,0x49,0xCB,0x06,0xDA,0x9E,0x94,0xCA,0x29,0xB4,0x23,0x19,0xFA,0x9B,0xEF,0x91,\r
+0xE6,0x0C,0xEC,0x64,0x1C,0x02,0x08,0x90,0xFD,0x6C,0xF7,0x15,0x08,0xC6,0x40,0xCC,\r
+0x0A,0x92,0x00,0x16,0x53,0xF0,0xFA,0x2D,0xBE,0xBD,0xB4,0x87,0x33,0x5C,0xE1,0x56,\r
+0x9F,0xEA,0x95,0xFB,0xBF,0x8B,0x81,0xBA,0x19,0xF0,0x13,0x6D,0x7F,0xEC,0x1D,0xE6,\r
+0xCF,0x2A,0xC5,0x6B,0xE4,0x7D,0x77,0x17,0x74,0x46,0x7E,0xB6,0xE0,0x17,0x79,0x1D,\r
+0xCA,0x1A,0xC0,0x5E,0x84,0x49,0x43,0x43,0xF1,0x7E,0xFB,0x0B,0xEC,0xB7,0xD5,0xBD,\r
+0x4A,0x12,0x40,0xD6,0xE6,0x6E,0x64,0x06,0x5E,0x31,0x54,0xEB,0x07,0x79,0xF0,0x73,\r
+0xE5,0x5D,0xEF,0x36,0x05,0x3C,0x36,0xB7,0x54,0x42,0x5E,0x92,0x7B,0xCC,0x39,0xC6,\r
+0x24,0xF5,0x2E,0x5F,0x47,0xF4,0xFE,0x3D,0x06,0xF3,0x0C,0x71,0x82,0x0E,0x02,0x04,\r
+0x1B,0xF2,0x11,0x67,0x30,0x39,0x33,0x87,0xB0,0xDE,0xBA,0xEA,0x88,0x86,0x80,0x8C,\r
+0xF2,0x5C,0xF8,0x20,0xDD,0xAC,0xA6,0xFF,0x60,0x16,0x6A,0xF2,0x70,0x53,0xAD,0x59,\r
+0x48,0x63,0x42,0xA5,0xFF,0x50,0x5A,0x21,0xF0,0x5E,0xFA,0x2A,0x05,0x71,0xFA,0x7B,\r
+0x88,0xEB,0x82,0xED,0x13,0x2B,0x21,0xB6,0xD8,0x58,0xD2,0x04,0x18,0xC2,0x54,0xC8,\r
+0x84,0xF9,0x8E,0xF3,0x91,0xA3,0xA9,0xBC,0x15,0xE2,0x1F,0x73,0xCD,0xA1,0xE2,0xAB,\r
+0x2A,0x96,0x20,0x32,0x90,0x4D,0x47,0x53,0x2D,0xA4,0x27,0x0D,0xF1,0x04,0x7B,0x0E,\r
+0xD0,0x29,0xDA,0x77,0x12,0xC5,0xCF,0x59,0xAA,0xED,0xA0,0xC3,0xC4,0x36,0x7C,0x3C,\r
+0x9A,0xDA,0x90,0xCE,0xD1,0x78,0x72,0x27,0x49,0x30,0x43,0xFD,0xC3,0x09,0x44,0x03,\r
+0x72,0x54,0x78,0xA8,0x3C,0xED,0xE7,0x5F,0xBF,0x9D,0xB5,0xA6,0x4A,0xDE,0x1A,0xD4,\r
+0xB1,0x8D,0xBB,0xB2,0x37,0x0B,0x01,0xB2,0x96,0xBB,0x9C,0xA9,0x00,0x46,0xC8,0x4C,\r
+0x69,0x47,0x63,0xA0,0x8F,0xAF,0xA5,0xAE,0x45,0x22,0x4F,0xE3,0xF7,0x2C,0x55,0x26,\r
+0x5F,0x62,0x55,0xB3,0x99,0xB8,0xB2,0xAF,0x3A,0xA5,0x30,0x1B,0x65,0x60,0x8B,0x6A,\r
+0xAB,0x0F,0xC1,0x1B,0xBB,0x07,0xCD,0xAF,0x9D,0xBB,0x43,0xAF,0x40,0x27,0x54,0x02,\r
+0x1A,0x5E,0x21,0x4A,0xDD,0x84,0x28,0xC9,0x42,0x50,0x77,0x44,0xD1,0xDE,0xC5,0x6A,\r
+0x6F,0x80,0x8A,0x94,0xE0,0xCF,0x5E,0xF4,0xCA,0x90,0x3F,0x84,0x38,0x99,0x2C,0xC4,\r
+0xBA,0x2A,0xF5,0x3E,0x98,0x71,0x98,0x8C,0x0F,0xF7,0x9D,0xE3,0xD8,0xF5,0xCC,0x48,\r
+0x8F,0x2F,0xC5,0x3B,0x3D,0xE8,0xA4,0x29,0xB0,0x0D,0xD8,0x19,0x32,0xE0,0x26,0xB7,\r
+0x38,0xA2,0xFF,0xB6,0x06,0xC4,0xB3,0x12,0x7E,0xF5,0xEE,0xE1,0xEA,0xF2,0xFE,0x7D,\r
+0x0D,0xA7,0xCF,0xB3,0xCB,0xB3,0x09,0xDF,0xE2,0x11,0x96,0x05,0x9B,0x67,0x8F,0x99,\r
+0x60,0xA9,0xAC,0xBD,0x12,0x80,0xE3,0x06,0x00,0x48,0x2D,0x5C,0x3F,0xDF,0x2B,0x85,\r
+0x28,0x69,0x24,0x7D,0x27,0xC1,0x97,0x33,0x58,0xDC,0xE1,0xC8,0xEC,0x95,0xF8,0x1C,\r
+0x34,0x76,0x27,0x62,0xEC,0xD1,0x4C,0xF8,0x3A,0xC5,0x9A,0xD1,0x7A,0x2A,0x6E,0x35,\r
+0x10,0x56,0x23,0x42,0xB2,0x2C,0xEF,0xA6,0x31,0x5A,0x0E,0x4E,0x1F,0xFB,0x0B,0x81,\r
+0xDC,0xC2,0x7B,0xD6,0xA3,0x5D,0x8F,0xB7,0x89,0x9F,0x73,0x8B,0x81,0x4E,0x95,0xAA,\r
+0x30,0xB9,0xEC,0xAD,0x38,0xDD,0x94,0x2C,0xE8,0x99,0x14,0x8D,0x73,0x01,0x67,0x17,\r
+0x2B,0x94,0xDA,0x80,0xD9,0x90,0x38,0xCD,0x34,0x6D,0x3C,0x79,0x58,0x7D,0x4C,0x40,\r
+0xC3,0x20,0x86,0x34,0x81,0x0A,0xFA,0x95,0xF2,0x15,0x82,0x01,0x3E,0xFE,0x2A,0xA5,\r
+0x66,0x75,0x76,0x61,0x39,0xFC,0xB4,0x2D,0x50,0x5C,0x69,0x48,0x6A,0x7A,0x7E,0x75,\r
+0x6A,0xA1,0xAE,0xB5,0x09,0x88,0xF0,0x1D,0x4B,0xC7,0xE9,0xD3,0x1A,0xCE,0x0E,0xB1,\r
+0x12,0x45,0x32,0x51,0xBE,0x32,0xFD,0xAA,0x8C,0xA8,0x41,0xBC,0x4D,0x18,0x59,0x30,\r
+0x4C,0x92,0xBB,0x86,0xB8,0x55,0x9C,0xAC,0x6E,0xF1,0xFA,0xE5,0xB5,0x2E,0xA1,0xFE,\r
+0xD9,0xE3,0x5F,0xF7,0xA0,0x0F,0xDE,0xB4,0x05,0x7F,0x1F,0x6B,0xFB,0x83,0xEF,0x1D,\r
+0x0B,0x7B,0x15,0x6F,0x7C,0x09,0x04,0x68,0x2A,0xC1,0x8E,0xD5,0x88,0x65,0x9C,0x88,\r
+0x4D,0x7C,0x54,0x68,0x18,0xF9,0x90,0x0C,0xF4,0x3D,0xAC,0x29,0xDB,0xA7,0xCF,0x19,\r
+0x9E,0x0A,0xF1,0x1E,0xDE,0xD6,0x79,0xCA,0xA9,0x9E,0x52,0x8A,0x59,0x5C,0x4D,0x60,\r
+0x64,0x66,0x67,0x72,0xAA,0x76,0xAD,0xBE,0x96,0x24,0xD7,0x30,0xD5,0xCA,0xC1,0x7A,\r
+0x4A,0x4E,0x61,0x5A,0x5D,0x0C,0x20,0x49,0x2E,0xE1,0xAA,0xF5,0x37,0xD5,0x23,0x87,\r
+0x15,0x77,0x07,0x63,0x10,0xF3,0x92,0x04,0x6D,0xEE,0xE6,0xFA,0x72,0x20,0x66,0x37,\r
+0x56,0x51,0x62,0x45,0x04,0xB7,0xC2,0x10,0xFC,0xBD,0x24,0xA9,0xFE,0xB6,0xEA,0x2D,\r
+0x6C,0x7D,0x74,0x69,0x6D,0x78,0x64,0x79,0x06,0x60,0x03,0x74,0xF3,0x89,0xE7,0x1F,\r
+0x8B,0xE0,0x0E,0xF4,0xA5,0x3A,0xEE,0xB1,0xBA,0x85,0x5A,0x91,0x70,0x53,0x64,0x46,\r
+0x22,0x61,0x26,0x75,0xB7,0x19,0xDF,0xA3,0xC7,0x27,0x85,0x33,0x13,0xE5,0x07,0x93,\r
+0x86,0xDA,0x39,0xCE,0xA4,0x1B,0xCE,0xB0,0x3E,0xE5,0xBE,0xF1,0xDD,0xC0,0xC9,0x78,\r
+0xDA,0x1E,0xA1,0x0A,0x37,0x91,0xD7,0x23,0x49,0xCF,0xE3,0xDB,0xDE,0x92,0xCA,0x29,\r
+0xA0,0xE9,0x2C,0xFD,0x43,0x31,0x03,0x57,0x5D,0xEB,0xD3,0xFF,0xCC,0xB1,0xD8,0x18,\r
+0x39,0x4C,0x10,0x58,0x7B,0x4F,0x45,0x6F,0xB2,0x05,0xD2,0x11,0x62,0x70,0x76,0x77,\r
+0x3E,0x7E,0x25,0x6A,0xFC,0x81,0x0C,0xE8,0xB8,0x8D,0x50,0x99,0x98,0x35,0x8C,0xC8,\r
+0x06,0x41,0x22,0x55,0x1F,0xBF,0xD1,0x0B,0xC6,0x30,0x93,0x24,0xD2,0x8C,0xC6,0x3B,\r
+0x58,0x96,0xAB,0x82,0xE9,0xE4,0x7C,0xFD,0xBE,0xA5,0x7E,0xB1,0x3A,0xEA,0x2E,0xB5,\r
+0x8A,0x0E,0xE1,0x1A,0xC0,0xEB,0x5A,0xD4,0x53,0x43,0x75,0x57,0xF9,0xF0,0xED,0x6C,\r
+0x17,0x64,0x16,0x70,0x13,0xA1,0xC3,0x07,0x4F,0xE7,0xCD,0xF3,0x21,0xE2,0x35,0xA6,\r
+0xC9,0x28,0x84,0x3C,0x6C,0x59,0x44,0x78,0x4E,0xF0,0xDB,0xE4,0x17,0xF1,0x03,0x83,\r
+0x97,0xFF,0x0D,0xEB,0xA7,0x49,0x9F,0xB3,0xA2,0x01,0xC6,0x15,0x82,0x1C,0x96,0xFB,\r
+0xB2,0x31,0xE6,0x25,0x08,0xA9,0xD0,0x1C,0xE7,0x26,0xA4,0x32,0x02,0x94,0x16,0xF3,\r
+0x7B,0x84,0x9A,0x90,0x02,0xD0,0xA3,0x16,0x56,0x74,0x47,0x60,0xAD,0x74,0xB9,0xBC,\r
+0x40,0x46,0x63,0x52,0x50,0x33,0x12,0x44,0xDC,0xBC,0x05,0xA8,0x6C,0x1D,0x78,0x14,\r
+0xC2,0xCE,0x69,0xDA,0xE6,0xA8,0x3F,0xF2,0x66,0x71,0x72,0x65,0x53,0x25,0x47,0x13,\r
+0xEF,0x1B,0x91,0x0F,0x36,0xB0,0xF7,0x22,0x1E,0xE4,0x9F,0xF0,0xBA,0x62,0xAE,0xBD,\r
+0xB8,0x39,0xE4,0x2D,0xA6,0x68,0xBF,0xB2,0xC0,0x18,0xBD,0x0C,0x00,0xE7,0x14,0x82,\r
+0x16,0x8A,0xF9,0x9E,0x8E,0x46,0xB9,0x9A,0x57,0x63,0x51,0x77,0xC0,0xAF,0xD4,0x0A,\r
+0x6B,0x4F,0x41,0x5B,0xE2,0xBC,0x2F,0xF6,0x68,0xD9,0xD4,0xCD,0x54,0x63,0x40,0x52,\r
+0xED,0x08,0x80,0x1C,0x1D,0xCC,0xA0,0x09,0xD4,0x3C,0x8D,0x28,0x8F,0x23,0x9B,0xC9,\r
+0xC7,0xEF,0x4D,0xFB,0xD2,0xC8,0x6B,0xC6,0xD9,0x8B,0x37,0x9F,0x97,0x79,0x83,0x8B,\r
+0xAD,0xD3,0x1B,0xC7,0x7F,0x5B,0x55,0x6B,0x2B,0xD6,0x98,0xC2,0x89,0x44,0x9D,0xA8,\r
+0x02,0x8E,0xE9,0x9A,0xAB,0x57,0x8D,0xBF,0x71,0x4A,0x5E,0x5E,0xAE,0x26,0xBA,0xED,\r
+0xA3,0x14,0xD2,0x00,0xE8,0xC5,0x5C,0xFC,0xCC,0xB8,0x11,0xAC,0x42,0x54,0x56,0x73,\r
+0x5F,0xA4,0x9E,0xB0,0x4F,0x2F,0x11,0x5B,0x5B,0xC3,0xFD,0xD7,0xD7,0xB9,0xC3,0x0B,\r
+0x3B,0x5F,0x01,0x4B,0x22,0xF4,0xA7,0x36,0xF6,0x35,0xA6,0x21,0x87,0x29,0x93,0xCB,\r
+0x36,0x65,0x36,0x71,0xB4,0x4B,0x8E,0xA0,0x59,0xCB,0xF7,0xDF,0x52,0x04,0x46,0x33,\r
+0xB4,0xED,0x3C,0xF9,0x17,0xB5,0xD3,0x03,0xEA,0x91,0x1E,0x85,0xAB,0x13,0xBF,0xDD,\r
+0x00,0x9D,0xF8,0x89,0x20,0x87,0xD6,0x34,0x95,0x3B,0xCB,0x2F,0xFA,0xA2,0xEE,0x3D,\r
+0x45,0x67,0x47,0x73,0xA2,0x7C,0xAF,0xB6,0x72,0x55,0x42,0x41,0xC4,0xBB,0xD0,0x1A,\r
+0xF8,0xE2,0x7F,0xF6,0xDC,0xA5,0x08,0xC8,0xE0,0x19,0x9C,0x0D,0x2B,0x9B,0x3F,0xD5,\r
+0x21,0x9C,0xD8,0x88,0x7A,0x6E,0x65,0x6E,0xEB,0x86,0x08,0x92,0x4B,0x7F,0x5F,0x51,\r
+0xAE,0x2E,0xE5,0x3A,0x31,0xF6,0xB6,0x25,0x6F,0xE6,0xEC,0xF2,0x93,0x6D,0x87,0x9B,\r
+0x48,0x5D,0x70,0x49,0x53,0x61,0x43,0x47,0xDB,0x83,0x3D,0x97,0xD0,0xFF,0xC4,0x4A,\r
+0x8E,0x74,0x56,0xCD,0xDE,0x8C,0x47,0x67,0x69,0xCE,0x0B,0x77,0x87,0xE0,0x3E,0xCB,\r
+0xC8,0x73,0x17,0xCA,0xBA,0x7C,0xD3,0x03,0xB7,0x32,0x29,0x8B,0xD4,0x22,0x6D,0x5A,\r
+0x1B,0x05,0xB2,0xBC,0x7C,0x53,0x3A,0xC5,0xEA,0x91,0xD7,0x28,0x56,0xD9,0xEF,0x23,\r
+0xE1,0x69,0x24,0xD0,0x08,0xF3,0xEE,0xB1,0xD5,0x2B,0x52,0x92,0xDA,0x4F,0x63,0x39,\r
+0xEF,0xAE,0xED,0x17,0xAB,0x0D,0xB3,0x12,0x08,0xC8,0x6C,0x71,0x15,0x4B,0xAC,0xF2,\r
+0x97,0x4A,0x71,0xF3,0x1C,0xB7,0xBE,0xA5,0xCF,0xA7,0xC4,0x1E,0x42,0x9D,0xFB,0x73,\r
+0xC9,0x9D,0xF8,0x24,0x1A,0xD0,0xDF,0xA3,0x2D,0xFE,0x7F,0x47,0xBA,0xAB,0x03,0xBD,\r
+0x5C,0xEC,0x1C,0x55,0x02,0x8A,0x9D,0xBB,0x46,0x70,0x9A,0xC9,0xF4,0x06,0x4D,0x5E,\r
+0x0E,0xEF,0x4D,0x56,0x07,0xBF,0xAD,0xBE,0xF9,0x8A,0xDF,0x33,0x7F,0xD6,0xC6,0x05,\r
+0xA7,0x6E,0x65,0xD7,0x15,0x9C,0x9C,0xAC,0x84,0x28,0x00,0x91,0x1C,0x60,0xA5,0xD0,\r
+0x03,0xD5,0x7A,0x6C,0x06,0x9E,0x8D,0xBF,0x7D,0xEA,0x3B,0x53,0xD2,0x45,0x6B,0x3B,\r
+0x5F,0x11,0xE2,0xA8,0x95,0x14,0x94,0x2C,0x0A,0xC0,0x66,0x79,0xD1,0x17,0x68,0x6A,\r
+0xCF,0x41,0x22,0xF8,0xFF,0x89,0x63,0x46,0x6D,0xEE,0x2F,0x57,0x38,0x50,0x81,0xC4,\r
+0x90,0x78,0x44,0xC1,0xB2,0x76,0xD1,0x0B,0x2E,0xE1,0x63,0x58,0x7D,0xA5,0xC4,0x74,\r
+0xD3,0x5E,0x21,0xE7,0xA6,0x32,0x81,0x1F,0xBF,0xB2,0xA1,0x0B,0xF1,0x33,0x48,0x6E,\r
+0xE9,0x72,0x37,0xCB,0xCF,0xFD,0x27,0x76,0x45,0x6F,0x86,0xD6,0xFC,0x0C,0x45,0x5C,\r
+0x0A,0x20,0x86,0x99,0x9F,0x6D,0xE7,0x26,0xF3,0x02,0x5D,0xBB,0x3D,0x65,0x84,0xF4,\r
+0xBD,0xAD,0xBC,0x14,0xA4,0x41,0xF0,0x1D,0x3D,0xFA,0x6B,0x43,0xE5,0x77,0x5C,0x3E,\r
+0x88,0xA8,0x8C,0x11,0x69,0x36,0x4A,0xD0,0xA1,0x1E,0x13,0xA7,0x94,0xE2,0x2D,0xDA,\r
+0xE5,0xA6,0xEF,0x1F,0xB0,0x05,0xA0,0x09,0x43,0x47,0xA8,0xFE,0x30,0x5A,0x89,0xC6,\r
+0x2E,0x00,0x82,0xB9,0x19,0x82,0x8E,0xA0,0xDE,0xB4,0xC6,0x0D,0x4F,0xA2,0xF6,0x41,\r
+0x9F,0x51,0x62,0xE8,0x7F,0x01,0x6B,0xC6,0x01,0x5F,0xF2,0xE6,0xDE,0x5B,0x67,0x29,\r
+0xEA,0x8F,0xC9,0x36,0x42,0x4A,0x1D,0xFB,0x89,0x9F,0xBA,0x26,0x37,0x1C,0x8E,0x87,\r
+0x3F,0x25,0xB6,0x9C,0x3A,0xF4,0xDB,0x83,0x4C,0xF8,0x18,0x41,0xD7,0x70,0x6E,0x0B,\r
+0xB5,0xB6,0xAF,0x0F,0x9A,0x58,0xD7,0x23,0xAB,0x96,0x91,0x2F,0x7C,0x84,0xC5,0x54,\r
+0xAE,0x9B,0x99,0x22,0x7B,0x15,0x7B,0xC2,0x77,0x62,0xB9,0xDB,0x57,0xF8,0xEE,0x03,\r
+0x46,0x2F,0xC5,0x96,0x23,0x8F,0xB9,0x9A,0xB1,0x1A,0x07,0xA3,0x31,0x7B,0x88,0xE6,\r
+0xE3,0x7A,0x35,0xC3,0x9B,0x79,0xF7,0x22,0x13,0x53,0xEC,0xEA,0x65,0xFF,0xDC,0x36,\r
+0xAD,0x66,0x67,0xDF,0x85,0x44,0xD4,0x3C,0x1B,0xD3,0x64,0x6A,0xE3,0x10,0x5A,0x5F,\r
+0xB1,0x79,0x64,0xC0,0x4E,0x54,0x0F,0xF7,0x79,0xCA,0x1F,0x73,0x75,0xAF,0xCC,0x76,\r
+0x95,0x59,0x60,0xE0,0x10,0xA9,0xAC,0xA9,0x72,0x55,0x8B,0xEC,0x10,0x7E,0xA9,0xC2,\r
+0x59,0xCD,0x38,0x74,0x01,0xD8,0xCC,0xB8,0xCA,0x90,0xF6,0x29,0x8E,0xCB,0x37,0xE9,\r
+0x87,0x81,0xAA,0x38,0x09,0xD2,0xCE,0xB0,0x32,0x45,0xDB,0xFC,0xA1,0xA3,0x18,0xAE,\r
+0x26,0x1B,0x91,0xA2,0x4A,0x40,0x1F,0xF3,0x8F,0xB7,0x94,0x0E,0x4D,0xD1,0xF4,0x30,\r
+0xDA,0xAB,0xDD,0x12,0xED,0xAA,0x52,0x54,0x18,0xCC,0x78,0x75,0xD8,0x3C,0x61,0x48,\r
+0xBE,0x50,0x42,0xE9,0x80,0x71,0xE4,0x39,0xB5,0x3A,0x23,0x83,0x88,0xAC,0x31,0x88,\r
+0xEE,0x40,0x02,0xF9,0x40,0x39,0x6C,0xF9,0x2B,0xD6,0x51,0x6F,0x5B,0xE6,0xE2,0x11,\r
+0x68,0x07,0xC3,0xBE,0xBF,0x49,0xE3,0x06,0x97,0x33,0x08,0x8A,0x80,0xA6,0x39,0x8A,\r
+0x42,0xE0,0x0E,0x59,0x70,0x4D,0x28,0xC9,0x9A,0x84,0xB2,0x3D,0x98,0xFC,0x21,0xC8,\r
+0x28,0xDC,0x58,0x65,0xDD,0xDE,0x16,0x64,0x68,0xD9,0x1D,0x60,0x86,0xC1,0x3F,0xEB,\r
+0x7D,0xED,0x3C,0x54,0x7E,0x20,0x4B,0xC7,0xA3,0x16,0x19,0xAF,0x24,0x1E,0x9D,0x96,\r
+0xA4,0x93,0x9B,0x2A,0xD8,0xEB,0x26,0x61,0xA8,0x89,0x8D,0x30,0x44,0xFA,0xFD,0x12,\r
+0x2B,0x21,0xA6,0x98,0x93,0x73,0xF5,0x2A,0x2C,0xE9,0x69,0x50,0x9C,0xE8,0x25,0xD8,\r
+0xCD,0x52,0x33,0xEB,0xF1,0xE4,0x00,0x48,0x98,0x8C,0xB8,0x35,0xDF,0x7A,0x66,0x09,\r
+0xB3,0x6A,0x75,0xD3,0x16,0xCE,0xCD,0xAF,0x1A,0xC4,0x72,0x7D,0x5D,0x81,0xE4,0x70,\r
+0x31,0xE2,0x7F,0x5B,0xB5,0x30,0x90,0x0C,0xA9,0x9E,0x9B,0x27,0xA4,0x96,0x1D,0x9E,\r
+0x85,0x92,0xBB,0x2B,0x82,0x02,0x95,0x3B,0xD6,0x34,0x4E,0x8D,0xF5,0x27,0x4C,0x7E,\r
+0xC0,0x68,0x04,0xD1,0x00,0xF9,0xEC,0xB9,0x31,0x5A,0xC7,0xE3,0xCB,0x3E,0x72,0x59,\r
+0xDD,0x99,0xE8,0x20,0x4B,0x61,0x3F,0xF2,0xFD,0xAA,0xFB,0x13,0x35,0x6F,0x8C,0xF6,\r
+0x0F,0x01,0xA2,0xB8,0x62,0x6E,0x19,0xDB,0x10,0x4C,0xF0,0xF5,0xF6,0x75,0x4F,0x2F,\r
+0x92,0x6B,0x55,0xD2,0xB1,0x24,0x80,0x08,0x0C,0xE8,0x48,0x51,0x2E,0x67,0x97,0xE5,\r
+0x4C,0x27,0xC7,0x9E,0xCE,0xDC,0x07,0x77,0x0D,0xFF,0x5E,0x46,0x18,0x74,0xA1,0xC0,\r
+0x25,0xE6,0x6F,0x5F,0xE1,0xB4,0x40,0x58,0x1E,0xE4,0x56,0x5D,0xC3,0x34,0x7A,0x5B,\r
+0xBC,0x43,0x53,0xFA,0xD9,0xCA,0x06,0x60,0xF1,0x0A,0x57,0xB3,0x6D,0xF5,0xD4,0x34,\r
+0xBB,0x71,0x66,0xC8,0x5E,0x04,0x4F,0xE7,0xFB,0x82,0xD5,0x3B,0x97,0xB0,0x2E,0x8B,\r
+0x83,0x4E,0x61,0xF7,0xBD,0x3A,0x92,0x04,0x85,0x3F,0x16,0x86,0xDD,0x09,0x64,0x78,\r
+0x47,0xC1,0x2A,0x78,0x44,0x2D,0x7C,0xFD,0x25,0x7E,0xF7,0xC7,0x5C,0xA0,0xE5,0x50,\r
+0x6A,0x14,0xD2,0xAD,0x94,0x35,0xB4,0x2D,0x5D,0xEB,0x1A,0x52,0xB5,0xE7,0x0C,0xFE,\r
+0x3D,0x36,0xA7,0x8F,0x04,0xED,0xFC,0xBD,0x83,0x17,0x38,0xAE,0x0F,0x62,0xB6,0xC1,\r
+0x93,0x85,0xBA,0x3C,0x2C,0xC3,0xFA,0x95,0x14,0x6C,0xD4,0xD5,0xCF,0x2A,0x76,0x49,\r
+0x12,0xF0,0x4E,0x49,0x05,0xCC,0xDC,0xBC,0xE1,0x0E,0x43,0xB7,0x8D,0x99,0x34,0xB8,\r
+0x37,0x3E,0xA5,0x87,0xAA,0x2C,0x93,0x13,0xA4,0x29,0x21,0x90,0x0D,0x11,0xB4,0xB0,\r
+0xFE,0x8B,0xD9,0x32,0xA0,0x55,0xE0,0x19,0x15,0x7B,0xC2,0xC2,0xA2,0xF1,0x1B,0xFF,\r
+0xC5,0x49,0x20,0xF0,0xF2,0xB6,0x51,0x4B,0x9F,0xB3,0x80,0x0A,0x63,0x98,0xDA,0x57,\r
+0xF2,0xF3,0x90,0xF6,0x48,0x63,0xBF,0x4D,0x8B,0x68,0x72,0x6D,0x4F,0x10,0x4A,0xCE,\r
+0x8C,0xCB,0xD6,0xCE,0xED,0xFA,0x83,0xE8,0xE4,0xC6,0xB3,0xC3,0xA1,0x11,0xA4,0x21,\r
+0x42,0x4C,0x9F,0x49,0xDF,0xFD,0xB6,0xDA,0x5B,0x3C,0xF6,0x39,0x29,0x93,0x2C,0x2B,\r
+0x7C,0xAF,0x42,0xAA,0xE0,0xC5,0xB1,0xE5,0xA8,0x76,0x4F,0x73,0x94,0x50,0x91,0x55,\r
+0x27,0x59,0xEF,0x5C,0x37,0x9B,0x38,0x32,0x26,0x9E,0x29,0x9B,0x01,0xBD,0x04,0x2D,\r
+0x28,0x70,0xC9,0x75,0xAF,0x49,0x72,0xAA,0xFF,0x5D,0x33,0x58,0xE7,0xB6,0xE2,0xC0,\r
+0x62,0xA3,0x50,0xA6,0xC5,0xD4,0x85,0xC0,0x35,0x85,0x21,0x80,0x43,0x0E,0x46,0xDC,\r
+0x9A,0xDC,0xD7,0xD9,0x89,0x0A,0x17,0x8C,0x10,0xB3,0x32,0xB6,0x54,0x18,0x51,0xDD,\r
+0x8A,0x17,0x0C,0x12,0x5E,0x54,0x9E,0x5B,0x68,0x26,0xDF,0x23,0xA5,0x05,0xA0,0x31,\r
+0x6A,0xB8,0x43,0xBD,0x90,0x71,0x75,0x95,0x60,0xA6,0x57,0xA3,0x82,0x67,0x87,0x74,\r
+0x13,0xB2,0x30,0xB7,0x25,0xB8,0x09,0x20,0x2F,0x09,0xB7,0x0C,0xD0,0x84,0xD5,0xC5,\r
+0xF0,0xE0,0x81,0xE5,0xE7,0x83,0xF0,0xE2,0x87,0xC8,0xDE,0xCD,0x18,0xC6,0x1D,0x4F,\r
+0x6B,0x56,0xAC,0x53,0x6F,0x01,0xFA,0x6A,0x80,0xF7,0xE6,0xF2,0xD5,0xB1,0xD0,0xF5,\r
+0x73,0x86,0x64,0x83,0xBA,0x2C,0x02,0xBF,0x2E,0x1E,0xA1,0x1B,0x40,0x5C,0x45,0x8D,\r
+0xAB,0x16,0x2C,0x13,0x98,0x7B,0x77,0x9D,0x11,0xA4,0x24,0xA1,0xBC,0x7E,0xB9,0x53,\r
+0x85,0x3E,0x2A,0x3B,0x2B,0xD5,0x6A,0x2E,0x99,0x64,0x6C,0x61,0xC7,0x92,0xC2,0xC4,\r
+0x7F,0x52,0xBC,0x57,0xEE,0xA8,0xD2,0xEB,0xC1,0xF0,0xA0,0xF5,0x7D,0x17,0x78,0xFB,\r
+0x0F,0xAD,0x33,0xA8,0xA9,0x2E,0x13,0xAC,0x5A,0x2B,0xE0,0x2E,0x98,0x4E,0x9D,0x47,\r
+0x0B,0x62,0xF8,0x67,0x4E,0x04,0xDE,0x4B,0x18,0x33,0xBA,0x36,0x2F,0xF4,0x2A,0x4A,\r
+0x98,0xCF,0xC6,0xCA,0x72,0x6E,0x88,0x77,0x3B,0x2D,0x87,0x28,0x72,0x5B,0x77,0xB8,\r
+0x94,0x1B,0x1E,0x1E,0x2F,0xC1,0x7A,0x2A,0x7E,0x0A,0xE5,0x0F,0xEE,0x9D,0xEB,0xE2,\r
+0x06,0x58,0xCF,0x5D,0xB5,0x60,0x41,0xB0,0xE0,0xE6,0x97,0xE3,0x1C,0xD2,0x19,0x5F,\r
+0xEC,0xFF,0x82,0xFA,0x05,0x9C,0x0D,0x00,0x98,0x73,0x7A,0x76,0x67,0x3E,0x62,0xC8,\r
+0x37,0x92,0x34,0x97,0xFE,0xF8,0x92,0xFB,0x58,0x23,0xEA,0x26,0x91,0x65,0x94,0x65,\r
+0x88,0x04,0x1D,0x01,0xC4,0xF5,0xA5,0xC1,0xA0,0xF6,0xC7,0xF3,0x6F,0x34,0x6A,0xCA,\r
+0x76,0xA7,0x40,0xA2,0x4C,0x77,0xAF,0x49,0x4E,0x0F,0xD0,0x0A,0x35,0xDD,0x30,0x79,\r
+0x44,0x90,0x45,0x95,0x3C,0xC3,0x6B,0x39,0xAE,0x5E,0x61,0x5B,0x9F,0x08,0x9A,0x06,\r
+0xBF,0x12,0x3C,0x17,0xC6,0x86,0xD4,0xC3,0x89,0x60,0x78,0x65,0xF1,0x81,0xF4,0xE1,\r
+0x66,0x6C,0x9B,0x69,0x43,0x3B,0xEC,0x46,0x46,0x8F,0x58,0x8A,0xBD,0x5F,0xB8,0x73,\r
+0xAD,0xCA,0xF6,0xCF,0x3D,0xE2,0x4B,0x38,0xC2,0xEF,0xBC,0xEA,0x22,0xCB,0x27,0x78,\r
+0x35,0x81,0x25,0x84,0x8F,0x6D,0x76,0x8A,0x08,0x37,0xAE,0x32,0x42,0x2F,0x47,0xFC,\r
+0xA2,0xE3,0xD0,0xE6,0xFC,0x8B,0xE3,0xF9,0xD9,0x74,0x3C,0x71,0x27,0xFE,0x22,0x48,\r
+0xC4,0x0B,0x5E,0x0E,0xAE,0x68,0x52,0xAB,0x91,0xE4,0xE4,0xE1,0x1F,0x80,0x1A,0x0E,\r
+0x47,0x6D,0xBB,0x68,0xFF,0xD9,0xB2,0xFA,0xF9,0x75,0x1D,0x70,0xF4,0xB4,0xF1,0xD1,\r
+0x0C,0x50,0xCD,0x55,0x21,0xAC,0x19,0x24,0x57,0x9C,0x5A,0x99,0x34,0xFC,0x31,0x59,\r
+0xB2,0x28,0x0B,0x2D,0x8B,0x79,0x66,0x8E,0xDB,0x7C,0x36,0x79,0x53,0x5E,0x56,0x9C,\r
+0x2B,0x8D,0x37,0x88,0x8E,0x4C,0x56,0x8B,0x24,0x96,0x23,0x93,0xA9,0x1B,0xAC,0x23,\r
+0x07,0xB6,0x20,0xB3,0x03,0xFB,0x6C,0x06,0xEE,0x4E,0x31,0x4B,0x51,0x2D,0x54,0xED,\r
+0x70,0x7B,0x9A,0x7E,0x06,0xCE,0x5C,0x03,0x0A,0x3F,0xA4,0x3A,0xB5,0x55,0xB0,0x71,\r
+0x43,0xA2,0x70,0xA7,0x08,0xA3,0x3F,0x0D,0x16,0x9B,0x1C,0x9E,0xEC,0xEE,0xE9,0x93,\r
+0x02,0x97,0x04,0x92,0xC8,0xEB,0xB7,0xCD,0x8F,0x48,0x56,0x4D,0x78,0x22,0x7D,0xCB,\r
+0x12,0x5C,0xDF,0x59,0xD7,0xF7,0xB4,0xD2,0xA6,0xDE,0xE9,0xDB,0x61,0x59,0x64,0xA9,\r
+0xEF,0x02,0x7C,0x07,0xF7,0xD3,0xB0,0xF2,0x12,0xBB,0x38,0xBE,0xFE,0xCD,0xFB,0xA2,\r
+0x9E,0x13,0x1C,0x16,0x63,0x1F,0xE8,0x66,0x39,0x25,0x8D,0x20,0x3B,0xB0,0x3E,0x1A,\r
+0x1E,0x88,0x07,0x8D,0x18,0xF3,0x7F,0x1D,0x84,0xD7,0xC2,0xD2,0x3D,0xD7,0x38,0x7B,\r
+0x53,0x69,0xAB,0x6C,0x35,0xE8,0x49,0x30,0xD3,0xFC,0xBE,0xF9,0xC9,0xFF,0xCC,0xA7,\r
+0xC9,0x31,0x69,0x34,0x81,0x00,0x15,0x84,0x36,0x9A,0x3D,0x9F,0xB1,0x41,0xB4,0x61,\r
+0x3F,0x89,0x27,0x8C,0xD4,0xA5,0xE5,0xD1,0xE6,0xCE,0xB9,0xCB,0xF8,0xAA,0xFD,0xC3,\r
+0x4B,0xB9,0x63,0xBC,0x00,0xA9,0x3D,0x05,0x22,0xBE,0x0D,0xBB,0x63,0x2A,0x66,0xD8,\r
+0xF1,0x0E,0x6E,0x0B,0xE4,0xD1,0xA1,0xE1,0xA3,0xE9,0xDB,0xEC,0x0C,0x82,0x09,0x1F,\r
+0x96,0x08,0x0F,0x0D,0x33,0x8F,0x28,0x36,0x6D,0x11,0xED,0x14,0x55,0x39,0x50,0xFD,\r
+0xCC,0x10,0x4D,0x15,0x42,0x1A,0xCC,0x47,0x8E,0x5F,0x40,0x5A,0xDB,0xDC,0xDE,0x96,\r
+0xCA,0xCC,0x97,0xC9,0xDA,0xC8,0x86,0xDF,0x1B,0x2C,0xA6,0x29,0x65,0x4D,0x60,0xB9,\r
+0x3A,0xA8,0x03,0xAD,0xDD,0x8E,0xC7,0xD8,0x8A,0x7F,0x64,0x7A,0x99,0x6F,0x9C,0x67,\r
+0x15,0x6E,0xEA,0x6B,0xAB,0x5D,0x62,0xAE,0xF3,0xFD,0x9F,0xF8,0x3A,0x91,0x3F,0x3A,\r
+0xB5,0x1A,0x3E,0x1F,0xC7,0xA7,0xF4,0xC2,0xE9,0x71,0x09,0x74,0x80,0x14,0x85,0x05,\r
+0xCF,0xED,0xB3,0xE8,0xEF,0x89,0xF2,0xEA,0x14,0x93,0x16,0x96,0x45,0x69,0x40,0xBD,\r
+0x30,0xA0,0x01,0xA5,0xD6,0xD6,0x94,0xD3,0xA4,0xD6,0xE3,0xD3,0x4A,0x25,0x4F,0xFE,\r
+0x74,0xB4,0x51,0xB1,0xF0,0x95,0xF1,0xF5,0xBE,0x5A,0x75,0x5F,0x19,0xE7,0x1C,0x6F,\r
+0xBB,0xDD,0xF7,0xD8,0xDC,0xAF,0xE7,0xD9,0x8C,0x57,0x4A,0x52,0xC4,0xC0,0xC1,0x95,\r
+0xF9,0x15,0x7D,0x10,0x41,0x48,0x9D,0x44,0xD5,0xD4,0x90,0xD1,0x21,0x99,0x24,0x29,\r
+0xDA,0x07,0x4C,0x02,0xC0,0xE1,0xB5,0xC5,0x00,0xB7,0x26,0xB2,0x83,0x46,0x86,0x54,\r
+0xD8,0x14,0x5D,0x11,0x7B,0x45,0xAA,0x7E,0xEB,0x79,0x03,0x7C,0x41,0x7D,0x44,0xAD,\r
+0x52,0x87,0x44,0x82,0xBF,0x19,0x32,0xBA,0xBA,0x7A,0x51,0x7F,0x6B,0x20,0x6E,0xDA,\r
+0x2F,0x8B,0x02,0x36,0x68,0x93,0xE0,0x37,0x81,0xED,0x49,0xD3,0x30,0x94,0x29,0xA6,\r
+0xCB,0x6F,0x7A,0xAA,0x65,0x24,0x5A,0x80,0x29,0x82,0x26,0x14,0x67,0xC3,0xA8,0x70,\r
+0x1C,0xB8,0x24,0x23,0x04,0x22,0x3D,0x86,0x92,0xDB,0x7F,0xF6,0x9F,0x3B,0x66,0x46,\r
+0x6D,0xC9,0xB1,0xC7,0x46,0x3A,0x67,0x9E,0x77,0x55,0xF1,0x9D,0xD1,0x75,0x85,0xEB,\r
+0xF5,0x51,0x63,0x8D,0x9C,0xE6,0x61,0x42,0xE6,0xEB,0x4F,0xB2,0xA2,0x06,0x10,0x0D,\r
+0xF2,0x56,0x25,0xCC,0x08,0x82,0x91,0x26,0xC4,0x17,0xB3,0x6C,0xF1,0x55,0x81,0xCF,\r
+0x84,0x20,0xF6,0x69,0xE1,0x44,0xBE,0xE0,0x3A,0xB4,0x10,0x31,0x73,0xD7,0xF8,0x34,\r
+0xE8,0x4C,0x0C,0xFF,0x35,0x30,0x1E,0x94,0xBF,0x0E,0xAA,0x0E,0xFF,0x5B,0xE2,0xA2,\r
+0xC0,0x64,0x22,0xF9,0xB8,0xC7,0x64,0x63,0xC2,0xCB,0x6F,0xB6,0x1D,0xB9,0x1F,0xBD,\r
+0xF9,0x5D,0x7D,0x9F,0x0A,0x8A,0x9B,0x2E,0x8E,0xC4,0x60,0xF5,0x58,0xFC,0xAF,0x48,\r
+0xDF,0x7B,0x3E,0xFA,0x5A,0x9E,0xDF,0x3A,0x4C,0x97,0x33,0x64,0xD4,0x70,0xB5,0xDE,\r
+0xF3,0x57,0x04,0xEC,0xFC,0xF7,0x10,0x53,0x6B,0x4A,0xEE,0x9E,0xD9,0x7D,0x87,0xE1,\r
+0x6E,0xCA,0xE3,0x96,0x76,0x3F,0x52,0x9B,0x32,0xAF,0x0B,0x22,0x5A,0xFE,0xDE,0x3B,\r
+0xEF,0x4B,0x4A,0xBE,0x47,0x2D,0x71,0x89,0xED,0x0D,0xA9,0x5F,0x39,0x9D,0x0B,0x8D,\r
+0x54,0xF0,0xEE,0xA1,0x56,0x3E,0x73,0x9A,0xD6,0xCF,0x6B,0xA6,0xF7,0x53,0xE0,0xA8,\r
+0x90,0x34,0xB2,0x39,0x4F,0xAD,0xF9,0x09,0x8B,0xE5,0x41,0xD1,0xF4,0x50,0xB1,0xFA,\r
+0x81,0x25,0xC3,0x59,0x55,0x21,0x6F,0x85,0x2B,0x91,0x35,0x05,0x6A,0xCE,0x9A,0x4F,\r
+0xD0,0x74,0x72,0xB9,0xB0,0x47,0xEC,0xE3,0x1F,0x7A,0xDE,0xDA,0xFB,0x5F,0xF2,0xB6,\r
+0x0E,0xAA,0x07,0x12,0xC6,0x7A,0xA7,0xDE,0x57,0xBA,0x1E,0x52,0x12,0xB6,0x5C,0xF1,\r
+0xA4,0x00,0xD2,0x6D,0x00,0x02,0x19,0xA6,0xF5,0xDD,0x79,0x97,0xF2,0x56,0xD0,0x9D,\r
+0xA1,0x05,0xE7,0x5D,0x3C,0xA7,0x80,0x03,0xB0,0x27,0x83,0x28,0x18,0xBC,0x2F,0x88,\r
+0x2C,0x88,0x50,0x67,0x2B,0x9C,0xAC,0x38,0x86,0xDF,0x7B,0xE6,0xC0,0x64,0xE5,0x9A,\r
+0x29,0x8D,0x65,0x57,0x91,0x51,0xDB,0xF5,0xFE,0x3B,0x9F,0x7A,0xB1,0x15,0x01,0x0F,\r
+0x27,0x83,0x08,0x34,0x7B,0x88,0xE8,0x2C,0x45,0x62,0xC6,0x98,0x15,0xB1,0x1D,0xB7,\r
+0xE7,0x43,0x40,0xBC,0x0F,0xBD,0xA9,0x19,0x89,0xF6,0x52,0xC0,0xC6,0x62,0x84,0xFD,\r
+0xF8,0x5C,0x5C,0xBF,0xD4,0x76,0xB9,0xD2,0xF2,0xEF,0x4B,0xA2,0x50,0xF4,0xAD,0x42,\r
+0xD8,0x7C,0x78,0xBB,0x77,0x28,0x44,0x8C,0x66,0x70,0xD4,0xA9,0x35,0x91,0x19,0x93,\r
+0x4C,0xE8,0xB4,0xE3,0x17,0x39,0x35,0x9D,0x1B,0xB5,0x11,0x11,0xAB,0x0F,0x32,0x26,\r
+0x37,0x93,0x58,0x74,0x0C,0xA2,0xB5,0x06,0x7C,0xB3,0x17,0x70,0x59,0xFD,0x8F,0x69,\r
+0x1A,0xBE,0x43,0x42,0xA0,0x43,0xF8,0xE7,0x54,0x47,0xE3,0xAC,0x72,0xD6,0xD8,0x15,\r
+0xAE,0x0A,0xAB,0x1E,0x62,0x1B,0x62,0xBF,0xEA,0x3F,0x9B,0x6A,0x14,0xB0,0x3D,0x96,\r
+0xFB,0x5F,0x0E,0xEE,0x2C,0xA3,0x94,0x07,0x01,0x76,0xD2,0xC8,0x40,0xE4,0xED,0x12,\r
+0xC1,0x65,0x03,0xD9,0xB7,0x78,0xD4,0xDC,0xBC,0xF3,0x57,0xF0,0x7E,0xDA,0xCA,0x0B,\r
+0x86,0x22,0x85,0x18,0x38,0x87,0xA4,0x23,0xE5,0x16,0xB2,0x4C,0xA5,0x01,0x51,0x4B,\r
+0x61,0xC5,0xAF,0xD5,0xF3,0x48,0xA0,0xEC,0x5F,0xA1,0x05,0x41,0xBD,0x19,0x13,0x11,\r
+0x5D,0xF9,0xC5,0x83,0xCD,0xE5,0x33,0x41,0xF0,0xFC,0x58,0xB3,0xA3,0x07,0x30,0x2C,\r
+0x00,0xA4,0x6A,0x71,0x15,0x31,0x3F,0x95,0x36,0x60,0xC4,0xE9,0x84,0x20,0x75,0x4E,\r
+0x9A,0x3E,0xCB,0x4A,0xC4,0x72,0xAD,0xD6,0x79,0x92,0x36,0x54,0x68,0xCC,0xEB,0x3C,\r
+0x2A,0x8E,0x37,0x06,0x89,0xD5,0x47,0x71,0x95,0xE9,0x4D,0xC3,0xFD,0x59,0x93,0xD1,\r
+0xD1,0x75,0x53,0x99,0x3F,0xB8,0x9C,0x1C,0xCE,0x1F,0xBB,0x6E,0xAD,0x09,0x53,0x41,\r
+0xEB,0x4F,0x5E,0xAE,0x16,0x2E,0x23,0x8A,0x9F,0xE1,0x45,0xC1,0x78,0xDC,0xAB,0x6C,\r
+0x63,0xC7,0xDC,0xA4,0x4B,0x8D,0xDD,0x29,0x76,0xBB,0x1F,0x72,0x81,0x25,0x45,0x7B,\r
+0x13,0xB7,0x68,0x60,0x4E,0xBA,0xEF,0x1E,0xA3,0x11,0xB5,0x0D,0xD0,0x74,0xA5,0xCA,\r
+0xE9,0x4D,0x2D,0xDF,0x37,0x38,0x14,0x9C,0x2A,0x7F,0xDB,0xEA,0xEE,0x4A,0x82,0xD3,\r
+0x6C,0xC8,0x90,0xE7,0x90,0x46,0xCD,0xE2,0xF4,0x33,0x97,0x78,0x01,0xA5,0x4D,0xF3,\r
+0x12,0xB6,0x49,0x40,0xFD,0xE0,0x06,0x44,0x60,0xAC,0x08,0x73,0x61,0xC5,0xC9,0x17,\r
+0xA0,0x04,0xC6,0x7D,0x2E,0xAB,0x9E,0x0F,0x84,0xCC,0x68,0xF7,0xB9,0x1D,0x03,0x05,\r
+0xD3,0x77,0x20,0xE8,0xDB,0xC9,0x09,0x6D,0x55,0xA9,0x0D,0x43,0xFA,0x5E,0xD2,0x97,\r
+0x67,0xC3,0xC8,0xB4,0x9B,0xD9,0x59,0x7D,0xBB,0xC1,0x65,0xC5,0xE6,0x42,0x80,0xD9,\r
+0xC2,0x66,0x51,0x88,0xDD,0xE1,0x27,0x45,0xBA,0x2F,0x8B,0x2A,0x48,0xEC,0xEF,0x18,\r
+0xF0,0x54,0x56,0xBD,0x94,0x66,0xE9,0xC2,0x38,0xA7,0x03,0x20,0xB2,0x16,0x50,0x5D,\r
+0xCF,0x6B,0x6E,0xBA,0x49,0x85,0xD7,0x21,0xFB,0x1A,0xBE,0x5E,0xF8,0x5C,0xA3,0xE4,\r
+0x18,0xBC,0x30,0x33,0xE4,0x73,0x8C,0xD7,0x16,0x8F,0x2B,0x26,0x10,0xB4,0x2D,0x82,\r
+0x80,0x24,0xE2,0x79,0xC2,0x5A,0x83,0xFE,0x1D,0x69,0xCD,0xCB,0xD3,0x77,0xF4,0x98,\r
+0xEA,0x4E,0x7F,0x8E,0x5B,0x89,0xC9,0x2D,0xA5,0xCD,0x69,0xD7,0x0B,0xAF,0x3E,0x8A,\r
+0xA6,0x02,0xA1,0x1C,0xDC,0xF6,0x31,0x52,0xB3,0xDA,0x7E,0xD6,0x3D,0x99,0x1B,0x99,\r
+0x71,0xD5,0xFF,0x95,0x07,0x3D,0x21,0x99,0xAE,0x2B,0x8F,0x3A,0xA8,0x0C,0x63,0x74,\r
+0xBF,0x1B,0xDA,0x7E,0x48,0x92,0xC1,0x36,0xCC,0x0C,0xA8,0x7F,0x28,0x8C,0x6B,0xFC,\r
+0x0A,0xAE,0x13,0x02,0x3B,0x98,0xB8,0x3C,0x2F,0x5E,0xFA,0xCE,0x87,0x23,0x24,0x1C,\r
+0xC8,0x6C,0x28,0xFB,0x8A,0xCA,0x5B,0x6E,0x6D,0x96,0x32,0x44,0x46,0xE2,0x8C,0x75,\r
+0x40,0xE4,0xAA,0xF1,0xA7,0x7C,0xC0,0xD8,0x1A,0x5B,0xFF,0xFE,0x79,0xDD,0x8B,0x4D,\r
+0x95,0x31,0x87,0x09,0x6F,0xAC,0xD8,0x08,0xF7,0xCE,0x6A,0x86,0x90,0x34,0x25,0x0A,\r
+0xB7,0x13,0xD0,0x7C,0x27,0x3C,0x00,0x98,0xD5,0x32,0x96,0x58,0x2A,0x8E,0x1A,0x8F,\r
+0x04,0xA0,0x7E,0x61,0x21,0x14,0x2E,0xB0,0x39,0x49,0xED,0xCF,0xEA,0x4E,0x92,0xC7,\r
+0x2F,0xF4,0xBC,0x72,0x8D,0xC5,0xA9,0x1E,0x98,0xD4,0x0F,0x76,0x41,0x9A,0x0E,0x75,\r
+0xDB,0x00,0x94,0xAE,0xDA,0xEE,0xD5,0x35,0x83,0xF9,0x22,0x40,0xA0,0x7B,0xA2,0x38,\r
+0xA3,0x78,0x2A,0x68,0x3F,0x88,0x56,0x53,0x6B,0x4D,0x96,0x1C,0xF8,0x23,0x60,0xA2,\r
+0xEA,0x31,0xC1,0xCA,0xEF,0xDC,0xD2,0x07,0xCE,0x18,0xC3,0xEC,0x40,0x9B,0x2E,0x54,\r
+0x6A,0xB1,0x49,0xC2,0x86,0x5A,0x3D,0x81,0x80,0x04,0xDF,0xBE,0x5E,0x85,0x0D,0x69,\r
+0x73,0xA8,0x32,0xA0,0xAF,0xCC,0x82,0x17,0x9C,0x1B,0xC0,0xBD,0x95,0x4E,0xD6,0x79,\r
+0xEC,0x37,0xA6,0xAB,0x1B,0xA9,0x53,0x72,0xB8,0x3B,0xE0,0xB9,0xCB,0x10,0x75,0x84,\r
+0x29,0xF2,0xDB,0x13,0x30,0x37,0xE6,0xEC,0x74,0xAF,0x74,0xE1,0xDA,0x01,0x15,0xF5,\r
+0xBB,0x60,0x70,0x2A,0x2D,0x84,0x48,0x5F,0x27,0x42,0x99,0x5F,0x44,0x9F,0x3E,0x40,\r
+0x43,0x98,0x46,0xE4,0xE7,0x5C,0x5A,0x87,0x90,0xCF,0x14,0x65,0x7F,0xA4,0x29,0x6C,\r
+0xA7,0x7C,0x3E,0x78,0x03,0x2D,0xCF,0xF6,0xA5,0xCA,0x11,0x55,0xB2,0x69,0x93,0x1B,\r
+0xFE,0x25,0x85,0x9A,0x1F,0x89,0x77,0x52,0xC8,0xC4,0x1F,0x36,0x6B,0xB0,0x79,0x28,\r
+0x0D,0xD6,0xEB,0x07,0x98,0xF6,0x8F,0x2D,0x03,0x62,0xB9,0x5B,0xC2,0x19,0x57,0xAF,\r
+0xE6,0x3D,0xDF,0xD8,0xF0,0x67,0x76,0xBC,0xB2,0x33,0xE8,0xBB,0xA4,0x7F,0xB2,0x2C,\r
+0x26,0xFD,0x97,0x50,0x5E,0x8E,0x31,0x55,0xC7,0xED,0x36,0x10,0x99,0x42,0xC4,0x67,\r
+0x41,0x9A,0x35,0x95,0xD2,0x6E,0x5D,0xB5,0x12,0x47,0x9C,0x6F,0xE1,0x3A,0x02,0xD9,\r
+0x33,0xE8,0xF2,0x20,0xDC,0xC6,0xFB,0x1D,0x23,0x8D,0x56,0x94,0xDC,0x07,0x74,0x92,\r
+0x91,0x4A,0x2D,0x5D,0x09,0xA5,0x4D,0x7E,0x8A,0x0C,0xD7,0xBC,0xCE,0x15,0x45,0xB1,\r
+0x53,0x88,0x16,0xA4,0xE2,0x6B,0x68,0xB0,0x2E,0xB7,0x6C,0xA3,0xDD,0x06,0x54,0xB3,\r
+0x79,0xA2,0x4B,0xD3,0xB3,0x68,0x3A,0xB3,0x72,0x73,0xA8,0x3B,0x4E,0x95,0x4D,0x39,\r
+0x57,0x8C,0x02,0xB4,0x1D,0x81,0x7D,0x5A,0xE2,0x23,0xF8,0xFB,0x24,0xFF,0xBA,0xA4,\r
+0x58,0x83,0x4E,0xF7,0xAD,0xC4,0x88,0x1F,0xBD,0x1A,0xC1,0x9D,0x69,0xB2,0x08,0x5B,\r
+0x0B,0xD0,0x8C,0x66,0xB7,0x48,0x1E,0x93,0xFE,0x3C,0xE7,0xF8,0x7D,0xA6,0x58,0x1F,\r
+0xD6,0x0D,0xAB,0x9C,0x85,0x45,0x21,0x9E,0xC4,0x10,0xCB,0xEE,0x14,0xCF,0xFE,0xD0,\r
+0x77,0xAC,0x26,0xB0,0x12,0x3E,0xCD,0xE5,0xA3,0x16,0xCD,0x8F,0x05,0xDE,0x9E,0xA1,\r
+0x8B,0x50,0x04,0x6E,0x83,0x6D,0x0F,0xB6,0xE5,0x11,0xCA,0xCE,0x61,0xBA,0x0A,0x51,\r
+0x28,0xF3,0xFA,0x33,0xFA,0xEF,0xF4,0x34,0x36,0x67,0xBC,0x6B,0xA7,0x7C,0xE3,0x7E,\r
+0x92,0x49,0x7F,0x0C,0xE0,0x63,0x62,0xB8,0xCC,0x0B,0xD0,0xFD,0xD3,0x08,0x37,0xDE,\r
+0x71,0xAA,0x41,0xD1,0x2B,0xAC,0x66,0x77,0xC2,0xCC,0x17,0x34,0x70,0xAB,0x6A,0x20,\r
+0x1E,0xC5,0xE9,0x16,0xAA,0xFB,0xB0,0x20,0xBA,0x28,0xF3,0xA8,0xC7,0x1C,0x67,0x9A,\r
+0x47,0x9C,0x52,0xF4,0x64,0x03,0x86,0xD8,0xE4,0xFF,0x24,0x21,0xC1,0x1A,0x06,0xFD,\r
+0xC9,0x12,0xB7,0x9F,0x87,0x4D,0x2B,0x96,0x71,0x8E,0x55,0xC5,0xD9,0x02,0x44,0xA7,\r
+0xC7,0x1C,0xDA,0xFC,0x89,0xE5,0x8D,0x3E,0x6A,0xA3,0x78,0xF3,0x9F,0x44,0xA5,0x00,\r
+0x52,0x89,0x37,0x84,0x27,0x0C,0xCA,0xD7,0x47,0x76,0xAD,0x0B,0x4F,0x94,0x6D,0x18,\r
+0xAE,0x75,0x15,0x5A,0x18,0xB6,0x4F,0x6D,0x10,0x54,0x8F,0x7E,0xDF,0x04,0x25,0xC0,\r
+0xD5,0x0E,0xF9,0xCD,0x90,0x76,0x07,0xAD,0xBE,0xE7,0x3C,0x63,0xF7,0x2C,0x23,0xEE,\r
+0xB7,0x6C,0x6E,0x38,0x61,0x34,0xB4,0xEF,0x3F,0x92,0x49,0x97,0xDE,0x05,0x05,0xE1,\r
+0x90,0x4B,0x0C,0x7D,0x69,0xB4,0x3C,0x6F,0x1A,0x5C,0x87,0x7C,0x71,0xAA,0x4A,0x01,\r
+0xC2,0x19,0xEF,0xCC,0x26,0x1B,0xDC,0xC0,0xD3,0xE9,0x32,0x00,0x7B,0xA0,0x39,0x78,\r
+0x0A,0xD1,0xAD,0x46,0x8E,0xDA,0xB5,0x01,0xE8,0x2B,0xF0,0xF9,0x29,0xF2,0x88,0x9B,\r
+0x13,0xC8,0xD6,0x24,0x2F,0x8C,0x42,0x57,0xF0,0xFB,0x20,0x31,0x90,0x4B,0xE6,0x4C,\r
+0xF5,0x2E,0xDD,0xC9,0xF6,0x4F,0x58,0x94,0x22,0x63,0xB8,0x7B,0xB9,0x62,0xC0,0x43,\r
+0x51,0x8A,0x65,0xD5,0x3C,0x97,0x4A,0x4C,0xBF,0x09,0xD2,0x8C,0x6A,0xB1,0x59,0x09,\r
+0x46,0x9D,0x73,0xD4,0x19,0xA1,0x59,0x7A,0x61,0x45,0x9E,0x1E,0x15,0xCE,0xDE,0xF1,\r
+0x5D,0x86,0x7B,0xC7,0x82,0x7A,0x19,0xA1,0x08,0x84,0x5F,0xB6,0x3A,0xE1,0x99,0x99,\r
+0xB3,0x68,0x7A,0x28,0xED,0xD4,0xD8,0x0F,0x91,0x21,0xFA,0x8A,0x02,0xD9,0xDF,0xE7,\r
+0x3B,0xE0,0xF8,0x22,0x52,0x2E,0x9D,0xF5,0x96,0x13,0xC8,0xBF,0x85,0x5E,0x96,0x29,\r
+0x86,0x5D,0x3B,0x5C,0xA1,0x64,0x24,0xBF,0xAE,0x2C,0xF7,0xB8,0x66,0xBD,0x4B,0x17,\r
+0xAF,0x74,0x34,0x7A,0x4F,0x9D,0x33,0x46,0x50,0x8F,0x54,0xE5,0xA5,0x7E,0x92,0x0D,\r
+0x30,0xEB,0xA0,0x71,0xCB,0xFD,0xD7,0x26,0x89,0xF1,0x2A,0x42,0x03,0xD8,0xFF,0xC6,\r
+0x50,0x8B,0x44,0xF5,0x01,0x25,0xC5,0xFE,0x06,0x43,0x98,0x7F,0x48,0x93,0x2C,0x5E,\r
+0x35,0xEE,0x95,0x41,0xD0,0x66,0x57,0xBD,0xE0,0x30,0xEB,0xEA,0x2A,0xF1,0xD9,0xC9,\r
+0x7D,0xA6,0x5F,0xC3,0xA9,0xE4,0xAC,0x3F,0x9E,0x08,0xD3,0xAC,0xCD,0x16,0x14,0xE3,\r
+0x27,0xFC,0xB6,0x70,0x47,0x1D,0xBB,0xC6,0x1C,0x80,0x5B,0xA6,0x6E,0xB5,0x49,0x1D,\r
+0x8D,0x56,0x63,0x0F,0xA7,0x4C,0x0A,0x97,0xA8,0xF0,0x2B,0x62,0x59,0x82,0x4C,0x2F,\r
+0xE3,0x38,0xEA,0xE8,0x80,0x72,0x13,0xA9,0xED,0x0A,0xD1,0xDD,0xDB,0x00,0x35,0xD4,\r
+0xFC,0x27,0xF6,0xEB,0x77,0x18,0x8E,0xC3,0xAA,0xE3,0x38,0x73,0xD2,0x09,0x17,0xFF,\r
+0x0E,0xD5,0xB9,0x56,0xE9,0xF4,0xFC,0x2F,0x0B,0x79,0xA2,0x48,0x91,0x4A,0xC6,0x6D,\r
+0x75,0xAE,0x55,0xC1,0x91,0x61,0x11,0xBA,0xF7,0xC9,0x12,0x04,0x36,0xED,0x8B,0x87,\r
+0x83,0x58,0x0E,0x6C,0x51,0x31,0x81,0xEA,0x93,0x32,0xE9,0x9B,0x5B,0x80,0x3D,0x5C,\r
+0x6F,0xB4,0x7C,0xF2,0xC8,0xE2,0xCB,0x39,0xC3,0x22,0xF9,0xDB,0x9B,0x40,0xB5,0x14,\r
+0x8A,0x51,0x25,0x4E,0x53,0x39,0x8B,0xE2,0x45,0x65,0xBE,0x1A,0x64,0xBF,0x3A,0x64,\r
+0x3D,0xE6,0x9F,0x43,0x11,0x21,0xD1,0xFA,0x6F,0x82,0x59,0xD7,0xAB,0x70,0xF1,0x60,\r
+0x60,0xBB,0x30,0xB1,0x32,0x3F,0xEC,0xE4,0x05,0xBE,0x65,0x81,0x06,0xDD,0xCF,0xF3,\r
+0x43,0x81,0xC6,0x26,0x5A,0x68,0xED,0xD6,0x6D,0xDE,0xE8,0xD2,0xA2,0x5D,0x1B,0xD8,\r
+0x17,0x51,0x92,0xA2,0xB1,0x21,0xA4,0x74,0xD5,0x90,0x50,0x24,0x52,0x08,0xBE,0x8D,\r
+0x0E,0x33,0x8B,0xD9,0xCC,0xE4,0x61,0xCC,0xD4,0xB0,0x51,0x05,0xC8,0xC4,0xE8,0x41,\r
+0x25,0x64,0xA0,0xA5,0xE4,0x10,0x95,0x10,0x35,0x1C,0xB0,0x48,0xFE,0xE9,0xF3,0x6C,\r
+0x62,0xA5,0xE7,0x23,0xD6,0x27,0xA2,0x15,0x5E,0xCB,0xDB,0xF4,0x07,0x2B,0xC8,0xAE,\r
+0xFC,0x8E,0x79,0x96,0xAB,0xE2,0x67,0xAD,0x4F,0xAB,0xCA,0x85,0x5F,0xBF,0x04,0x3A,\r
+0x91,0x38,0x14,0x4D,0x39,0xA1,0x24,0x7C,0xCB,0xB3,0x4E,0x19,0x00,0x14,0xF0,0x91,\r
+0x07,0x11,0x82,0xF2,0x42,0xB8,0x3D,0x1E,0x00,0x68,0x85,0x09,0x03,0x0B,0xEC,0x8E,\r
+0xE6,0xBD,0x63,0xBF,0x4E,0x6C,0xE9,0xC6,0x27,0x2D,0xA2,0x6B,0xEB,0xDA,0xD5,0x5F,\r
+0x42,0xA1,0xC7,0x07,0xF5,0x35,0xB0,0x24,0xFE,0xC7,0x7B,0x58,0x88,0xD4,0xB8,0x51,\r
+0x4F,0x93,0xCA,0x38,0x00,0x70,0xF5,0x94,0xD1,0x80,0x54,0x30,0xE1,0x52,0x57,0xD7,\r
+0x97,0x59,0x12,0x2A,0x36,0x88,0x0D,0x5A,0xEA,0x97,0x6F,0x1C,0xDB,0xDF,0xE0,0x5A,\r
+0x45,0xE0,0xC0,0x41,0xE7,0xED,0x68,0xEE,0x0C,0x7A,0x89,0x17,0xAE,0xFD,0xB7,0x78,\r
+0xA5,0x6C,0x20,0x2D,0x45,0x8A,0x0F,0x2B,0x74,0xBC,0xF1,0xA9,0xD1,0x57,0x62,0xD2,\r
+0x3D,0x26,0xB8,0xFF,0x9B,0xC6,0x43,0xB9,0x57,0xE9,0xD2,0xDF,0xE5,0x72,0x73,0xF7,\r
+0xAC,0x4E,0x29,0x06,0xAF,0x2D,0xA8,0x66,0x31,0x0C,0xB4,0x5C,0x05,0x23,0xC2,0xA6,\r
+0xA0,0x5C,0x25,0x18,0x66,0x98,0x1D,0x1A,0x48,0xEA,0xCD,0xC3,0x1D,0xA7,0x5E,0x22,\r
+0xA3,0x0D,0x26,0x4A,0x3B,0xB2,0x37,0x6D,0xDB,0xF3,0x5E,0x49,0x85,0x63,0x02,0xE6,\r
+0x0D,0x62,0x88,0x8B,0x82,0xF8,0x7D,0x9E,0x49,0xCA,0xCC,0xE2,0x2A,0x9D,0x53,0x18,\r
+0x6E,0xB7,0xEB,0x3D,0x5D,0x5A,0xDF,0xE3,0x5B,0xFB,0xDE,0xC1,0x02,0x1C,0xFA,0x99,\r
+0x83,0x09,0x06,0x6E,0xFC,0xC0,0x45,0xD8,0xE8,0xE6,0x6D,0x6F,0x46,0x2C,0x8E,0xA9,\r
+0x8E,0x3B,0x0B,0x51,0xDB,0x1D,0x98,0x22,0x81,0x40,0x04,0xA0,0x50,0x00,0xB4,0x85,\r
+0x4A,0xA3,0xCF,0x0D,0x72,0x9C,0x19,0x0A,0xB1,0x04,0x34,0xD4,0x45,0x33,0x92,0xB6,\r
+0x0F,0x13,0x8A,0xF8,0x3E,0x93,0x16,0x49,0xFC,0xB6,0x79,0x2B,0x23,0x0A,0xCD,0x8F,\r
+0x24,0x44,0xA1,0x84,0x8A,0xE3,0x66,0x8D,0x32,0x5D,0xB7,0x0E,0xD5,0x77,0x46,0xF2,\r
+0xA8,0x5E,0x2D,0x12,0x0F,0x59,0xDC,0xB2,0x46,0x89,0xC3,0xAE,0x43,0x1B,0xBC,0x9E,\r
+0xF5,0xAC,0x70,0xBD,0x56,0xBC,0x39,0x0E,0x90,0x20,0x15,0xD1,0x31,0x06,0xD3,0x83,\r
+0xA6,0x3D,0x23,0x7F,0x74,0x40,0xC5,0xD0,0xF4,0xB4,0x71,0x21,0x70,0x01,0x95,0x84,\r
+0xC8,0xDA,0x4D,0xF6,0x22,0x8C,0x09,0x4A,0x54,0xB8,0xD1,0x8D,0x9F,0xEF,0x94,0x6A,\r
+0x86,0x39,0x03,0x5B,0xC7,0x02,0x87,0x21,0x4C,0xFA,0xC9,0xD7,0x7B,0x9E,0x01,0x1B,\r
+0x67,0x95,0xE2,0x16,0x31,0xBA,0x3F,0x6F,0xE5,0xD4,0x60,0x50,0x8A,0xDC,0xB2,0x59,\r
+0x30,0x14,0xB5,0xC0,0x99,0xD5,0x50,0xA8,0x52,0xD9,0xD7,0xEA,0x16,0x38,0xCA,0xBD,\r
+0x7D,0xA6,0xF8,0x3F,0x65,0x65,0xE0,0xE4,0x4A,0x9B,0xCF,0xB0,0xC0,0x44,0x60,0xC1,\r
+0xBD,0x2E,0x38,0x77,0x89,0x1E,0x9B,0x73,0x62,0x9D,0xE7,0x9E,0xDD,0xF7,0xCE,0x72,\r
+0x2E,0x37,0xAB,0xFD,0xAA,0x0C,0x89,0x42,0x0A,0x1B,0x8F,0x70,0x4D,0xB3,0x1A,0x36,\r
+0xC7,0x99,0x42,0xBA,0x47,0x99,0x1C,0x3A,0xDA,0xD3,0x5F,0x68,0xB5,0x66,0x37,0xE3,\r
+0xD0,0x98,0x55,0xAC,0x9F,0x09,0x8C,0x72,0xEE,0x87,0x6B,0x08,0xBE,0xF9,0xA3,0x7C,\r
+0x11,0x30,0x94,0xC5,0xDD,0xC1,0x44,0xF8,0xBC,0x36,0x39,0xEB,0x47,0x3B,0x98,0xBE,\r
+0xFF,0xDF,0x7A,0xC4,0x1E,0x7C,0xF9,0x86,0x4B,0xBB,0xCE,0x91,0x29,0x82,0x4F,0x07,\r
+0x7F,0xD7,0xFA,0x4C,0x7C,0x5B,0xDE,0xC3,0xE4,0xF4,0x61,0x71,0xC2,0x4C,0x6A,0xC9,\r
+0x5C,0x82,0xD9,0x3A,0x15,0x9A,0x1F,0x6B,0xFF,0xE7,0x7A,0x79,0x32,0x19,0xCF,0x9C,\r
+0x6A,0xA7,0xEF,0x29,0x03,0x8D,0x08,0x6A,0x80,0x60,0x05,0x81,0xA0,0x55,0x11,0xD0,\r
+0x47,0x91,0xC2,0x32,0xA6,0xD8,0x5D,0x9A,0x05,0x58,0x80,0x3C,0x8F,0xEB,0x80,0x6E,\r
+0x84,0x48,0x01,0x28,0xAD,0x3E,0xBB,0x77,0x2C,0x7E,0xA9,0x33,0xC5,0x73,0x52,0xF6,\r
+0xE5,0xEC,0x60,0xED,0x88,0xF0,0x75,0x9C,0x10,0x28,0x95,0x59,0x01,0x03,0xE6,0x86,\r
+0xAF,0x1F,0x2A,0x54,0x4B,0x4D,0xC8,0xE2,0xF3,0xF5,0x76,0x67,0x06,0x3C,0xDE,0xB9,\r
+0xB1,0x3C,0x34,0x69,0x0B,0x96,0x13,0x79,0xAF,0x27,0x2A,0xE9,0x08,0x94,0x78,0x11,\r
+0x1F,0x53,0x9A,0xA8,0x0A,0x78,0xFD,0x96,0x97,0x61,0x12,0x97,0x34,0x31,0xE1,0xB4,\r
+0xEE,0xBF,0x6B,0xB5,0x34,0x9B,0x1E,0x4B,0xDD,0x92,0x58,0x2E,0xC1,0x53,0x76,0xD6,\r
+0xAD,0x6E,0x28,0x27,0xE5,0xFE,0x7B,0xFF,0xBF,0x67,0x3A,0xB9,0x54,0x20,0x90,0xA5,\r
+0x56,0xF1,0xD3,0x43,0x44,0x64,0xE1,0xC4,0x30,0x2C,0xB5,0x7D,0x5B,0x9F,0x20,0x1A,\r
+0x36,0x75,0xB3,0xA7,0xD0,0xFB,0x7E,0xCF,0x96,0x41,0x13,0xB6,0xFC,0xE1,0xF9,0x64,\r
+0x87,0x19,0x02,0x7A,0x13,0x46,0xC3,0xB1,0xCC,0xF2,0x49,0x5F,0xDC,0xE0,0xD8,0x65,\r
+0xB9,0x3E,0x3C,0x63,0x9A,0x28,0xAD,0x56,0x4E,0x8B,0xCB,0xA4,0x63,0x1A,0x9D,0x9F,\r
+0x2F,0x17,0xAA,0xDC,0x2F,0xB6,0x33,0x7D,0x58,0xAA,0xDD,0x93,0x12,0x18,0xEE,0x9D,\r
+0xD6,0xF9,0x53,0xCB,0xC6,0xEC,0x69,0xCE,0xFB,0xF7,0x7E,0x6D,0x18,0x90,0x6C,0x15,\r
+0xAA,0x2F,0x2F,0x61,0x25,0xBE,0x3B,0x7F,0xA3,0x35,0x26,0xF7,0xBA,0xD9,0x87,0x5C,\r
+0xFA,0xEF,0x7F,0xF1,0x7E,0x48,0xCD,0xD2,0xCE,0x83,0x4B,0x2C,0x25,0x22,0xE3,0xA7,\r
+0xD3,0xC9,0x56,0xFE,0x86,0x37,0xB2,0x55,0x47,0xA9,0xC2,0x8F,0xCD,0xF3,0xDA,0x76,\r
+0x3F,0x57,0xBA,0x8C,0xC9,0xC5,0x40,0xE8,0x04,0x78,0x81,0x1D,0xF6,0x69,0x7B,0xEC,\r
+0xEA,0xAF,0x6F,0xA1,0xEF,0xF6,0x73,0xFD,0x3E,0x4F,0xBB,0x10,0x69,0x92,0x1F,0x17,\r
+0xF4,0x8C,0x71,0x9C,0x40,0xAB,0x2E,0x0F,0x93,0x71,0x16,0x83,0x3F,0xAE,0x75,0x2B,\r
+0x29,0x76,0xAC,0xBB,0x0C,0xA4,0x21,0x4C,0x0E,0x0B,0x8B,0x64,0x65,0x32,0xB3,0xB7,\r
+0xF2,0xED,0x77,0xFB,0x55,0x41,0xC4,0xF0,0xF1,0x84,0x74,0x14,0xA4,0x75,0x35,0xF0,\r
+0x8B,0x74,0x3A,0x19,0x9A,0xD4,0xE6,0x2B,0x25,0x96,0x69,0xE4,0x2E,0xD1,0xAA,0xD3,\r
+0x95,0x6A,0x07,0x3A,0x68,0x89,0x49,0x76,0xB6,0x3B,0xC4,0xDA,0x12,0xED,0xFC,0xB9,\r
+0x8D,0x72,0x5D,0x78,0x65,0x3E,0xF3,0xC1,0xB2,0xF4,0x0B,0x11,0xF5,0x0A,0x31,0x93,\r
+0x56,0xA9,0x1D,0xE3,0xD9,0xDB,0xAA,0x24,0xC2,0x0B,0xF4,0x9E,0xB2,0x4D,0xF0,0x15,\r
+0x85,0x7A,0x57,0x7A,0x47,0x37,0xD8,0xC8,0x8A,0xCB,0x34,0x16,0xA2,0x5D,0xB0,0x45,\r
+0xD5,0x2A,0xC7,0xBA,0xEA,0xC1,0x83,0x3E,0x51,0xA6,0x59,0xA0,0x59,0xA6,0x2F,0x21,\r
+0x40,0xBF,0x2A,0xC2,0x7D,0xBA,0x6F,0x45,0xBB,0x01,0xFE,0xED,0xE9,0x16,0x63,0xDD,\r
+0xAC,0x53,0x58,0x5C,0xC0,0x48,0x20,0xB7,0x29,0x42,0xBD,0x3C,0x73,0x8C,0x58,0x7C,\r
+0xC6,0x39,0xC5,0xAB,0xC3,0x57,0x3C,0xA8,0x02,0x4B,0xB4,0x1E,0x9A,0x65,0xF6,0x3B,\r
+0xF8,0x07,0xDC,0x8C,0x24,0x39,0xB5,0xC6,0xF9,0xC9,0x36,0x67,0x60,0x9F,0x49,0x7E,\r
+0xA9,0x56,0x6D,0x6C,0x5B,0x93,0x60,0x6C,0xCB,0xFE,0x01,0x62,0x10,0xEF,0x8D,0xCA,\r
+0x50,0xAF,0x7A,0x82,0xE8,0xC9,0x89,0x36,0x35,0x5D,0xA2,0x3F,0x98,0x67,0x87,0x48,\r
+0xD2,0x2D,0x81,0xFB,0x6A,0x81,0x43,0x7E,0x1F,0xBA,0x45,0xF2,0xA0,0x5F,0xC1,0x36,\r
+0x91,0x6E,0x13,0x2A,0xDE,0xE4,0x92,0x1B,0x88,0xD8,0x27,0x07,0xD3,0x2C,0x54,0xD0,\r
+0x49,0xB6,0x01,0xE0,0x5A,0x84,0x76,0x7B,0x10,0x93,0x6C,0xD4,0x61,0x9E,0x69,0x5F,\r
+0x29,0xD6,0xE5,0x64,0x51,0x1B,0xE2,0xE4,0xDB,0x35,0xCA,0xB9,0x1F,0xE0,0xCE,0x86,\r
+0xD0,0x2F,0xF2,0x8A,0x77,0x32,0xED,0xCD,0xC1,0xF6,0x09,0x60,0xBC,0x43,0x93,0x78,\r
+0x9A,0x65,0x4B,0x79,0x09,0x8F,0x2E,0x70,0xFF,0x15,0xEA,0xBD,0x83,0x7C,0x94,0x40,\r
+0x60,0x9F,0x0E,0xC6,0x03,0x07,0xAC,0xF8,0x31,0x92,0x6D,0xF4,0xB1,0x4E,0xA1,0x47,\r
+0xCE,0x31,0xCF,0xA9,0xEC,0xE9,0xAD,0x16,0x4F,0xAA,0x55,0xB2,0x14,0xEB,0x9D,0xDE,\r
+0x15,0xEA,0x8F,0x32,0xFF,0xF2,0xA5,0x0D,0x27,0x85,0x7A,0xF5,0xD5,0x2A,0x35,0xB7,\r
+0x23,0xDC,0x9C,0x17,0xFE,0xE5,0xB3,0x1A,0xDF,0xFA,0x05,0x72,0x99,0x66,0xA7,0x69,\r
+0xFB,0x04,0x8E,0xDD,0xE2,0x41,0x0B,0xBE,0x95,0x29,0xD6,0xEB,0xF3,0x0C,0x50,0xF4,\r
+0x38,0xC7,0x94,0x04,0x0F,0xA7,0x00,0x58,0x9A,0x00,0xFF,0xCD,0x6B,0x94,0x1A,0x26,\r
+0x6E,0x91,0x63,0xA5,0x6D,0xBE,0x7B,0x41,0x4D,0xB9,0x46,0xA3,0xBB,0x44,0xD2,0x3E,\r
+0xAF,0x50,0x0A,0x0D,0xE7,0x76,0x39,0x89,0xAE,0xEB,0x14,0x12,0x79,0x86,0x2B,0x05,\r
+0x00,0xFF,0xEA,0x42,0x56,0x24,0xDA,0xDB,0xD7,0xE1,0x1E,0x61,0xCC,0x33,0x57,0xCC,\r
+0x80,0x7F,0x62,0x4A,0x13,0x03,0xB8,0xFC,0x37,0x4E,0xB1,0x2E,0x02,0xFD,0xBC,0xE9,\r
+0xC2,0x3D,0xD1,0xBB,0xE6,0x61,0x2F,0x9E,0x38,0x67,0x98,0x08,0x77,0x88,0x48,0x68,\r
+0x02,0xFD,0x99,0x33,0x71,0x1A,0xC3,0xE5,0x16,0x4F,0xB0,0x0E,0xC4,0x3B,0x55,0xC6,\r
+0xB8,0x47,0x1C,0x0C,0xAF,0xE6,0xE1,0x19,0xCE,0xDF,0x20,0x46,0xE6,0x19,0x20,0x91,\r
+0x51,0xAE,0x5B,0xA2,0xD7,0x73,0x0C,0x8C,0xD6,0x0F,0xF0,0x8E,0x33,0xCC,0xD8,0xBC,\r
+0xF9,0x06,0xFD,0xAC,0xB4,0x7D,0x61,0x82,0x71,0x49,0xB6,0x6F,0x1E,0xE1,0xEE,0xA7,\r
+0xB7,0x48,0x50,0x4F,0xDF,0xF3,0x84,0x0C,0x2B,0x51,0xAE,0x2D,0x6F,0x90,0x0A,0x32,\r
+0x4F,0xB0,0x66,0x81,0x3D,0xAA,0x3F,0x55,0x4C,0x57,0xA8,0x4C,0xB8,0x47,0x83,0x6C,\r
+0x18,0xE7,0xB0,0x00,0xFA,0xC5,0x97,0x3A,0xF6,0xE0,0x1F,0x41,0x5C,0xA3,0x1F,0x14,\r
+0xD7,0x28,0xB4,0xCB,0x27,0x26,0xA9,0xD9,0x08,0x43,0xBC,0x1C,0x9B,0x64,0xD6,0x1A,\r
+0x5B,0xA4,0x22,0xD1,0x18,0x9C,0x2C,0x63,0xA8,0x37,0xC8,0xC8,0xF7,0x08,0x40,0xE0,\r
+0xD9,0x26,0xD9,0xA8,0x45,0x3F,0xD2,0xC0,0x87,0xF1,0x0E,0x21,0x81,0x7E,0xE5,0x33,\r
+0x8A,0x75,0x1B,0x39,0x9B,0xC3,0xF0,0x3C,0x77,0x95,0x6A,0xB5,0x86,0x79,0xA4,0x75,\r
+0xF1,0x0E,0xF7,0xAE,0xB7,0x62,0x7D,0x9D,0x06,0x84,0x7B,0xD5,0x80,0x7F,0xC5,0x12,\r
+0xFC,0x03,0xC8,0x9C,0x4D,0xBF,0x5A,0x40,0xC9,0xED,0x12,0x73,0xAC,0x53,0xD3,0x28,\r
+0x70,0x8F,0x5E,0x86,0xDC,0xEC,0x98,0x13,0x8D,0xF9,0x06,0x23,0x8A,0x75,0xB6,0x6B,\r
+0x35,0xCA,0xAB,0x36,0x9F,0xE3,0xD4,0x1C,0x72,0xB4,0x4B,0x91,0xB3,0x4C,0xD0,0x34,\r
+0xDC,0x23,0xEC,0x98,0xF8,0xCD,0x9D,0x32,0xEF,0xDE,0x21,0x66,0xE3,0x1C,0x10,0xA4,\r
+0xDF,0x20,0xBE,0xC9,0x8F,0xE7,0xC0,0x18,0x65,0x4D,0xB2,0x7F,0x27,0xD8,0x88,0xF8,\r
+0x11,0xEE,0x9B,0x22,0x76,0x25,0xFB,0xDA,0x67,0x5E,0xA1,0x6E,0x9C,0x63,0x97,0x5C,\r
+0x72,0x8D,0x2D,0xF7,0x0B,0x87,0x24,0x78,0x44,0x4C,0xB3,0x5F,0x1D,0xE2,0xBF,0xF5,\r
+0xDA,0x25,0x8B,0xF9,0xBE,0xF5,0xE3,0x0A,0x0F,0x71,0x8E,0x29,0xD7,0x28,0x44,0xC4,\r
+0x3A,0xC5,0xE7,0x75,0x7B,0x92,0x41,0x6D,0xB1,0x09,0xF6,0xEF,0x7D,0x82,0x3B,0x11,\r
+0xD3,0x2C,0xA0,0xDB,0xF3,0x52,0x09,0xAD,0xFA,0x34,0xCB,0x99,0xA3,0x5C,0x90,0x64,\r
+0x42,0xBD,0x59,0xB3,0x2C,0xB9,0x3D,0x46,0x79,0x52,0xAD,0x7C,0xF2,0x0D,0x70,0xD5,\r
+0x3D,0xC2,0xA1,0x34,0xB1,0x4A,0x53,0xB5,0xFE,0xFB,0x04,0x52,0x54,0xAB,0x1D,0x1E,\r
+0x99,0x66,0x19,0x28,0x53,0x13,0xE8,0xEC,0xCD,0x22,0xDD,0xB8,0x5A,0xA5,0x7E,0x73,\r
+0xE8,0x17,0x8C,0xCC,0xCF,0xF7,0x90,0x08,0xBA,0xEF,0x10,0x02,0x5F,0xA0,0x4E,0x46,\r
+0x30,0xCF,0x9E,0x06,0x01,0x0F,0xA6,0xF0,0x96,0xD4,0x2B,0x15,0xD2,0x2D,0x74,0xF1,\r
+0x83,0x7C,0x30,0x1B,0x38,0x9D,0x0D,0x62,0x23,0x4A,0xB5,0x3E,0x3F,0xC0,0xCA,0xA2,\r
+0x1D,0xE2,0x85,0x30,0x80,0x58,0x70,0xA7,0x52,0x5B,0xA4,0x5E,0xAB,0x54,0x92,0x6E,\r
+0x78,0x87,0x54,0x84,0x8B,0xC7,0xE4,0x38,0xAF,0x05,0xFA,0xFD,0x8B,0x74,0x96,0x4A,\r
+0xEE,0x11,0xEB,0xAD,0xE9,0xDE,0x9F,0x21,0xBF,0xCE,0x31,0x26,0x94,0x6B,0x95,0x56,\r
+0x68,0x97,0x04,0xC4,0xE1,0x5E,0x17,0xA1,0x82,0xD0,0x2F,0x05,0x88,0x77,0xC7,0x18,\r
+0x3C,0xC3,0x80,0x14,0x43,0x17,0xFC,0xE8,0x74,0x68,0x97,0x4B,0xDD,0x22,0x37,0xBD,\r
+0x5A,0xA5,0x03,0xF1,0x85,0x6F,0x42,0x90,0xEE,0x30,0xCF,0x89,0x69,0x96,0x6B,0x55,\r
+0x71,0x8E,0x7F,0xA6,0x59,0x9B,0x6A,0x64,0xA3,0xD1,0x2E,0x25,0x44,0xBB,0x5D,0x4E,\r
+0xF1,0x32,0x17,0x63,0x51,0xC4,0x25,0x35,0xF4,0x0C,0x2C,0x80,0x51,0x5B,0xAA,0xDE,\r
+0x75,0xD6,0x77,0x03,0xCE,0xCF,0xBA,0xA1,0x52,0xC7,0x41,0x26,0x88,0xFC,0xD4,0xA0,\r
+0xBF,0xC4,0xAF,0xDB,0xAE,0x4B,0xDA,0x45,0x19,0x5F,0x92,0x6D,0x07,0xC1,0x66,0x12,\r
+0x6E,0x56,0xEC,0x98,0xCB,0xFF,0xBF,0x94,0x7B,0xC8,0x67,0x0F,0xE1,0x54,0x15,0x61,\r
+0x17,0xAD,0x6E,0x1A,0x83,0x7D,0xF7,0x5E,0x9C,0xE2,0xAA,0xE8,0x9F,0x12,0x2D,0x59,\r
+0xF9,0xBA,0x97,0xE3,0xD9,0xCE,0xAD,0xB7,0x3F,0x1C,0xF7,0x4B,0x1D,0x18,0xA5,0xD1,\r
+0x19,0x0B,0xC6,0xB2,0x73,0xB1,0x07,0x62,0x08,0x2E,0xF2,0x7C,0xA9,0xDC,0xD5,0xA1,\r
+0x3E,0x12,0xF8,0x8C,0x1D,0x56,0x69,0xEB,0x8A,0xD5,0x8B,0xFE,0xEC,0x63,0x2F,0x5B,\r
+0xC9,0x8F,0x92,0xE6,0x02,0x55,0x76,0xF7,0x83,0xFE,0xA9,0xF7,0xAB,0xCD,0xC6,0xB2,\r
+0x57,0xFD,0x7E,0x0A,0xF0,0xE8,0x84,0xB8,0xC0,0x6C,0x78,0xB4,0x0A,0xF6,0x5C,0x28,\r
+0x2F,0x10,0xEB,0x9F,0x8B,0x7F,0xFF,0x54,0x67,0x86,0x35,0x13,0xF6,0xBA,0xEC,0x98,\r
+0xEF,0x80,0xBB,0xCF,0x7D,0xD2,0x09,0x0F,0x0A,0x5D,0x83,0x7E,0x92,0x25,0x17,0x63,\r
+0x76,0xCA,0x68,0x1C,0x91,0x4C,0xE5,0x7D,0xCA,0x15,0x0B,0xBE,0xC2,0x65,0x07,0x73,\r
+0xED,0x8A,0xB3,0xC7,0x74,0xF0,0x00,0x24,0x35,0x65,0x84,0x41,0x44,0xA4,0x40,0x34,\r
+0xAF,0xD0,0xAB,0xDF,0xC3,0xFD,0xB7,0x9E,0xFA,0x61,0x4F,0x8E,0x6E,0x69,0xA7,0xD3,\r
+0x8C,0xED,0xB5,0xC1,0x9E,0x0F,0xEA,0x31,0x57,0xF2,0x71,0x23,0x04,0x3F,0x9B,0xEF,\r
+0x37,0x8C,0x6F,0x1B,0x39,0x42,0x4D,0xDB,0xCE,0x01,0x1B,0xBA,0x6B,0x4D,0x86,0xF2,\r
+0x99,0xCB,0x86,0xF2,0xAC,0x3A,0xD8,0x36,0x1E,0x19,0xD3,0x6A,0x46,0xB5,0x53,0x27,\r
+0xA6,0x4E,0x3C,0x48,0x50,0xE4,0x24,0x14,0x8E,0xC1,0x9B,0xFA,0x11,0xC0,0x71,0x05,\r
+0x2E,0x06,0xFC,0x88,0x2B,0x73,0x5F,0xF8,0xA6,0xEF,0x9D,0xD2,0xBF,0xDD,0xC2,0xB6,\r
+0xDF,0xB5,0xBE,0xCA,0x49,0x86,0x3D,0x6F,0x8F,0xE0,0xBB,0xFB,0x3E,0x29,0xB7,0xC3,\r
+0xD7,0x3D,0x3E,0x4A,0x6E,0xC3,0x1A,0x0D,0x20,0x00,0xF4,0x54,0x1B,0xC2,0x79,0x0D,\r
+0x98,0xDD,0x91,0xE5,0x3C,0x72,0x48,0xEE,0x2A,0x79,0x87,0x5E,0xD2,0xBE,0xCC,0xB8,\r
+0x30,0xB4,0x50,0x24,0xF4,0xF8,0x80,0xAC,0x78,0x9A,0x36,0x0C,0xE9,0x47,0x0E,0x7A,\r
+0x91,0x43,0x06,0x72,0xED,0x9A,0x99,0xD7,0xC1,0x4D,0x58,0xB5,0xF1,0x8F,0xDE,0xAA,\r
+0x48,0x59,0xC5,0xB1,0x0B,0x77,0x7F,0xDC,0xE8,0x42,0x7E,0x9C,0x23,0xC5,0x46,0x32,\r
+0x82,0x4B,0x1D,0x69,0xAF,0x6B,0xDB,0x64,0x3B,0x08,0xE7,0x4F,0xBE,0x32,0x2C,0x58,\r
+0xA7,0x58,0x2B,0x5F,0xB8,0x6A,0xCC,0x72,0x44,0xF0,0x60,0x30,0x60,0xA0,0x60,0x14,\r
+0x3C,0x18,0xF0,0x84,0xA3,0x79,0xD7,0x7A,0x6B,0x98,0x27,0x1F,0x09,0x08,0xA1,0xD5,\r
+0x53,0xD9,0x5E,0x2A,0x4D,0x96,0x39,0x7B,0x53,0xE6,0x61,0x27,0x90,0x34,0x04,0x70,\r
+0xEC,0x9C,0xA4,0xD0,0xC5,0x9C,0xB1,0xF9,0xD4,0x28,0x28,0xA0,0x97,0x01,0x36,0x42,\r
+0x1F,0x25,0xEE,0x9A,0x78,0xE2,0x0C,0x3A,0x37,0x16,0xF5,0x43,0xAF,0x06,0x09,0x7D,\r
+0x62,0xFA,0x4C,0x38,0xCD,0x9E,0xB9,0xF3,0x8D,0x93,0xCA,0xF9,0x22,0x2A,0xA8,0xDC,\r
+0xB7,0x4C,0x2F,0x5B,0x6F,0xE3,0x1B,0x2C,0x9F,0xB0,0xFB,0xEB,0x8B,0x02,0x29,0x5D,\r
+0x5C,0x69,0xE1,0x95,0xAD,0x1A,0xD9,0x17,0x8C,0xB2,0xEA,0xF8,0x2F,0x1D,0x92,0xE6,\r
+0x0D,0x3B,0xE2,0x96,0x87,0x6D,0xF3,0x4A,0x1F,0x38,0xF3,0x6B,0x73,0x85,0x56,0x22,\r
+0xA3,0x7C,0x0B,0x7F,0xA9,0x0A,0xDD,0x03,0x75,0xA5,0x04,0x01,0xE3,0x45,0x06,0x72,\r
+0x13,0x89,0x4E,0x3A,0xA6,0x49,0xD2,0x4F,0x38,0x5A,0xB6,0x4C,0xBC,0x23,0x3F,0x4B,\r
+0x09,0x1F,0xC2,0xB6,0xF5,0xD8,0x81,0x8D,0x2C,0x1E,0xE6,0x58,0xFF,0x46,0x19,0x6D,\r
+0x3B,0x20,0xCF,0xBB,0x28,0x22,0x5C,0xAA,0x45,0xD1,0x40,0x31,0xC5,0x50,0x35,0x41,\r
+0xAC,0xCC,0xB4,0xC0,0x89,0x0E,0xFD,0x27,0x54,0xA0,0x20,0x20,0xA2,0x31,0x33,0x47,\r
+0x3D,0x0E,0xE7,0x93,0x75,0xD0,0x01,0x05,0x30,0x50,0xB4,0x44,0xE4,0x70,0x34,0x40,\r
+0x44,0xF5,0x65,0x11,0xD6,0x8D,0xA2,0xFB,0xF6,0x7F,0x5D,0x82,0x37,0xD5,0x42,0x36,\r
+0x5E,0x63,0xE9,0x9D,0x6C,0xB2,0x18,0x7E,0x82,0xDF,0x89,0xF6,0xCD,0x43,0x2E,0x5A,\r
+0x95,0x67,0x26,0x52,0x8F,0x6F,0xFB,0x40,0x21,0x21,0xD4,0x55,0xC3,0x8A,0xE9,0x9D,\r
+0x14,0xB1,0x71,0x05,0xE0,0xA8,0x94,0xE8,0x96,0x9B,0xD9,0xE2,0xBB,0x16,0x0D,0x79,\r
+0xDA,0x87,0x89,0xFD,0xB9,0x4A,0xCD,0x53,0x90,0xFC,0xB8,0xE4,0xE5,0x9F,0xDA,0xAE,\r
+0x39,0x2A,0xC7,0xB3,0x37,0x21,0x43,0xB6,0x88,0xA6,0xFA,0xFC,0x70,0x7B,0xAB,0xDF,\r
+0x33,0xA8,0x4F,0x3B,0xD1,0xCC,0xA5,0xBD,0x10,0x74,0xB0,0x64,0x99,0xC8,0xF1,0x85,\r
+0x64,0xD4,0x64,0x10,0x25,0x10,0x51,0x95,0xF1,0x39,0x1C,0x85,0x82,0xFE,0xDC,0xA8,\r
+0x81,0x57,0x02,0x76,0x5D,0xD6,0x29,0x2B,0xA9,0xA3,0xDE,0xDD,0x6A,0xA2,0x68,0x1C,\r
+0x51,0xD3,0x56,0x22,0x14,0x74,0x60,0xC0,0x11,0x55,0x90,0x65,0xCF,0x52,0x3D,0x49,\r
+0x38,0x3C,0xD0,0xA4,0x94,0x7C,0xE0,0x48,0x0F,0x68,0xB3,0x7B,0x81,0x00,0x21,0x55,\r
+0x11,0x83,0x46,0x32,0x8D,0x1E,0xF9,0x33,0xC4,0x78,0x68,0xB0,0x9D,0x03,0x3E,0x4A,\r
+0xA5,0x52,0x23,0x57,0x12,0x15,0x66,0xA7,0x9A,0x85,0xCB,0xEE,0xB9,0x07,0x1E,0x6A,\r
+0x8E,0xE7,0xBD,0xC9,0xD7,0xAD,0xA3,0xDA,0x8B,0xF4,0xAB,0xFF,0x75,0x5F,0x8A,0xFE,\r
+0x93,0x49,0x0E,0x7A,0x45,0x94,0x31,0x71,0x15,0x41,0x80,0x61,0x26,0xE1,0x67,0x13,\r
+0x59,0x5B,0xD6,0xA2,0xBD,0x5A,0xC9,0x47,0x2E,0x6D,0x97,0x5A,0x91,0xDB,0xEA,0x9E,\r
+0xBD,0xCE,0xA7,0xD3,0x59,0xC6,0x2D,0x3F,0xE3,0x1A,0x2D,0x97,0xA4,0xEB,0xEF,0x9B,\r
+0xA1,0x76,0x03,0x77,0x00,0x24,0x74,0x84,0x3A,0x29,0xC7,0x4E,0xC9,0x88,0xE1,0x95,\r
+0x26,0x8E,0x7C,0x08,0xF3,0xB9,0x87,0xEA,0x93,0xAE,0xE9,0xE7,0x02,0xE5,0x47,0x33,\r
+0x4E,0x77,0xED,0x99,0x18,0x66,0x6C,0xDE,0xF5,0x2D,0x0C,0x81,0xB3,0x05,0x16,0x62,\r
+0xE0,0x30,0x04,0x70,0xD8,0xEE,0xAC,0x96,0xC8,0x66,0x7A,0xBC,0xC6,0xAE,0xC8,0xBC,\r
+0x6C,0x5C,0xE4,0x90,0xBF,0x2B,0xCB,0x34,0xB0,0xD8,0xBC,0xC4,0x13,0xD1,0x62,0x16,\r
+0xE1,0xF0,0xD2,0x72,0xC2,0xAD,0x62,0x0C,0x2A,0xC6,0x2F,0x8A,0xDA,0x2C,0x95,0x35,\r
+0xF6,0xDC,0xE9,0x49,0x4F,0x97,0xEF,0xBB,0xF2,0xD4,0xE5,0x52,0xEC,0xE2,0x6D,0xCD,\r
+0xB1,0xB4,0xC6,0x66,0xC9,0xFE,0x69,0x54,0xFF,0xEB,0xD7,0x5F,0x19,0x52,0x28,0x88,\r
+0x5B,0x87,0x1F,0xBF,0xC7,0x9D,0x67,0x39,0x5B,0x53,0xCB,0xFB,0xA2,0xB0,0x71,0xD1,\r
+0x7A,0xB0,0x09,0xA9,0x3E,0x73,0x9E,0x2E,0x11,0xEA,0x38,0xB1,0x43,0x10,0x30,0x90,\r
+0x9F,0x33,0x6F,0xCF,0x6F,0x93,0xCF,0x9F,0x80,0x13,0x50,0x20,0x77,0xCF,0xDB,0x7B,\r
+0xCA,0x45,0x4C,0xEC,0x4A,0xA7,0xEA,0x8E,0x18,0xC1,0x1A,0xB8,0xA9,0x5D,0x97,0x37,\r
+0x0C,0xFB,0x34,0x94,0xE0,0xD8,0x40,0x5B,0xF8,0xAD,0x96,0x58,0x0B,0x98,0xF0,0x50,\r
+0x6A,0xA4,0x0D,0xAD,0xF4,0x88,0x54,0x1F,0x98,0x49,0x12,0x38,0x08,0x66,0x0D,0xAD,\r
+0xC6,0xE9,0xEC,0x4C,0xD9,0xBE,0x79,0x04,0xB3,0x35,0x45,0x13,0x20,0xBA,0xF9,0x59,\r
+0xE6,0xC8,0xED,0x4D,0x15,0x24,0xB5,0x52,0xAA,0x4E,0x27,0x0A,0x5D,0x02,0x3C,0x9C,\r
+0xA8,0x3E,0x55,0xF5,0x40,0xD4,0xE0,0xF7,0xFE,0xCA,0xF7,0x5E,0xB6,0xA0,0x75,0xD5,\r
+0x1E,0xE5,0x38,0x98,0x16,0x75,0xB6,0x00,0xBA,0x1E,0x67,0x1A,0xAE,0x68,0xA5,0x05,\r
+0xC5,0xF5,0xF3,0x53,0x09,0x76,0xA9,0x1C,0x2C,0xA1,0x4E,0x8C,0xD5,0x0A,0xBC,0x1C,\r
+0xDD,0x69,0x77,0xD7,0xA2,0x29,0x02,0xE8,0x41,0x7A,0xF8,0xE1,0x47,0xDB,0xFF,0x5F,\r
+0xBD,0x18,0x66,0xC6,0x36,0x71,0x96,0x24,0xDF,0xCF,0xD3,0x7F,0x3A,0x63,0x3A,0x9A,\r
+0xC2,0xCD,0xCC,0x6C,0x1C,0x06,0xBC,0x79,0x1B,0x93,0x4B,0xBB,0x98,0xA6,0x5D,0xFD,\r
+0x56,0x3D,0xA8,0x08,0x1B,0x47,0xBB,0x3F,0x48,0x51,0xDA,0xE8,0xBA,0x78,0xA1,0x01,\r
+0xFF,0x42,0x7E,0xDE,0x06,0x35,0xA6,0x50,0x15,0xFE,0x28,0xB5,0xE3,0xC4,0x44,0xE4,\r
+0x2B,0xE2,0x0A,0xAA,0x6A,0xA3,0xCA,0xAA,0x99,0x68,0x32,0x39,0x66,0xFB,0xFE,0x5E,\r
+0xAF,0x06,0x6A,0xCA,0x25,0x60,0x85,0x26,0x8D,0x2C,0x62,0x2D,0x75,0xDE,0xC8,0x68,\r
+0xA2,0xBC,0xDD,0x7D,0xC1,0xFC,0x61,0x5E,0xDA,0xFA,0xE3,0x7A,0xDD,0x19,0xA7,0x07,\r
+0x8C,0x3B,0x74,0xD4,0x83,0x0D,0x23,0xED,0x3B,0xB7,0x4F,0x9B,0x2B,0x57,0x1F,0xBF,\r
+0xCE,0x61,0x6C,0xCC,0xF2,0xE9,0x52,0x78,0x75,0x1A,0xAC,0xD5,0xCE,0x3C,0x91,0x31,\r
+0x8D,0x2D,0x63,0xC3,0x01,0x74,0xA1,0x16,0xD3,0xD1,0xC1,0x73,0xB1,0x95,0x47,0xE7,\r
+0xBC,0x0E,0x71,0xD1,0x80,0x5C,0x20,0xBF,0xB0,0x67,0x14,0x10,0x6E,0xE8,0xE5,0x45,\r
+0x85,0xA5,0xE3,0x43,0x7E,0xF3,0xDE,0xEE,0x1E,0xA6,0x7B,0xBE,0xD7,0x1B,0xAF,0x0F,\r
+0x9C,0x2F,0x70,0xD0,0xBA,0x6B,0x1A,0xB2,0x1D,0xF4,0x2A,0xBD,0x8A,0x6C,0x85,0x25,\r
+0xC0,0xC7,0xC4,0x64,0x17,0x55,0xB7,0x21,0xB2,0x14,0x65,0x12,0xD2,0x3F,0x8E,0x2E,\r
+0x72,0x38,0x89,0x29,0x2E,0x33,0x8E,0x7E,0xF7,0xE1,0xD5,0x57,0x9E,0x7C,0x81,0x21,\r
+0x36,0x4C,0xB9,0x19,0x1D,0x26,0xBD,0x58,0x33,0xBD,0x4D,0x93,0x37,0x54,0x00,0xA0,\r
+0x90,0x83,0xD0,0x70,0x31,0x30,0x91,0x62,0x3E,0x82,0x7F,0x9E,0x10,0xAE,0xDD,0x7D,\r
+0x08,0xDF,0x14,0xB4,0x6E,0xB3,0xCE,0xBE,0x39,0xC4,0x3E,0x99,0x41,0x01,0x23,0x83,\r
+0x2E,0xD0,0x3D,0x9D,0xF6,0xF9,0x56,0x6C,0xFA,0xDE,0xE7,0x5A,0x4A,0xEC,0xC5,0x65,\r
+0x16,0x6D,0xB8,0x18,0x48,0xD6,0xE8,0xFD,0xD7,0xC5,0xD1,0x77,0xEF,0x1C,0x90,0x30,\r
+0x91,0x95,0xC7,0x67,0x04,0x44,0xA4,0x23,0xE1,0xD6,0xF4,0x41,0xF9,0x1D,0x87,0x27,\r
+0x17,0x7B,0xAF,0x0F,0x2C,0x42,0x8C,0x0D,0xA2,0x44,0x25,0x02,0xE6,0xE0,0x65,0xC5,\r
+0x51,0x05,0x97,0x37,0x89,0x7E,0x29,0x94,0x0C,0x85,0x4A,0xAC,0xE7,0x0F,0x8B,0x2B,\r
+0x83,0x8B,0xCB,0x6B,0x21,0x70,0x81,0x32,0x12,0xB8,0x69,0xB2,0xA7,0x94,0x50,0xF0,\r
+0x5E,0xB5,0x28,0x88,0x1E,0x77,0xBE,0x0A,0x58,0x01,0x9A,0xF8,0x64,0xEA,0xED,0x4D,\r
+0xA5,0x84,0xE2,0x42,0x7B,0xC3,0xDB,0xDB,0x7A,0x56,0xEF,0xDA,0xAB,0x4C,0x84,0x24,\r
+0x6D,0x9C,0x32,0x92,0xAE,0x3B,0x0E,0xF6,0x93,0x11,0x41,0x33,0x46,0x34,0x11,0xB1,\r
+0xEB,0x72,0x5A,0xFA,0xEA,0xAB,0x4A,0x22,0x00,0x9B,0x58,0xA0,0x65,0x05,0x03,0xA3,\r
+0xED,0x5C,0x72,0xD2,0x59,0xB6,0xF9,0x8C,0xC0,0xD3,0xD0,0x60,0x89,0x92,0x78,0xD8,\r
+0x82,0x9D,0xDC,0x7C,0x51,0xB4,0xF1,0x86,0xC2,0xA0,0xA1,0x62,0x90,0xB5,0x46,0xE6,\r
+0xCD,0x7D,0x73,0xD3,0x9F,0x5F,0x3F,0xA3,0x42,0x28,0xA9,0xE2,0xF2,0xF0,0x61,0xC1,\r
+0x40,0x07,0x84,0x24,0x26,0x31,0x86,0x74,0xAC,0x29,0x46,0x0C,0x31,0x8E,0xDC,0x7C,\r
+0xF1,0xE4,0xD6,0x76,0xE4,0xC8,0x44,0x4F,0x6D,0x40,0xEE,0xCD,0x73,0x04,0x14,0xB4,\r
+0x0E,0xF1,0x3C,0x9C,0x74,0x80,0xD4,0x97,0x82,0x60,0x21,0x22,0x25,0x9E,0xD8,0x78,\r
+0xDF,0x63,0x7F,0xDF,0xEE,0xBB,0x4E,0x36,0x6E,0x12,0xBF,0xCE,0x6A,0x23,0x2A,0x8A,\r
+0xF5,0xC0,0xF6,0x56,0x3F,0x53,0x9F,0x0F,0x47,0x1D,0x99,0xE7,0x92,0xA4,0x55,0xF5,\r
+0x43,0x1B,0x9B,0x3B,0xC4,0xCC,0x64,0x6B,0x17,0x8D,0x59,0xB7,0xC9,0x09,0xA3,0x03,\r
+0xF2,0xF8,0xC9,0x69,0x68,0xD2,0xC8,0xD9,0x4F,0x17,0x9B,0xEF,0xB9,0x86,0x5C,0xFC,\r
+0x7D,0x88,0x36,0x96,0x2F,0x13,0x8F,0x5F,0x94,0x57,0x00,0x34,0xE0,0x3A,0xB9,0x19,\r
+0x07,0x6F,0xAB,0x0B,0xB3,0x49,0x13,0x99,0x49,0x70,0xFA,0xE9,0xAC,0x79,0xB6,0x16,\r
+0x39,0xFC,0x06,0xA6,0x8F,0x1F,0x2F,0xF3,0x57,0x4D,0xD9,0xF7,0x03,0x8B,0xEB,0x4B,\r
+0x37,0x5A,0xAE,0x0E,0xFC,0x8A,0x5C,0x15,0x8B,0x4B,0x03,0x2B,0x3C,0xB9,0xE6,0x46,\r
+0x5A,0x91,0x08,0xA8,0x82,0x2D,0x22,0xCC,0xEB,0xAF,0x87,0x4B,0xA8,0xB2,0x79,0xD9,\r
+0x11,0x55,0x87,0x27,0x3D,0x22,0x9D,0x7C,0x10,0xCB,0x18,0xB0,0x09,0x89,0xE3,0x43,\r
+0xE4,0xC2,0xE5,0x45,0x4E,0xB7,0xEE,0x9A,0x53,0x59,0xC9,0xF3,0xD8,0x3D,0x86,0x26,\r
+0x81,0x81,0xC3,0x63,0x8D,0x6E,0x2D,0x80,0x6B,0x27,0x8F,0xCB,0x2A,0xB8,0xF1,0x51,\r
+0xDC,0x7F,0x60,0xC0,0x05,0x64,0xA5,0x02,0x92,0x30,0x61,0x32,0xC3,0x0B,0xAB,0x0B,\r
+0xFD,0x48,0x76,0xD6,0x07,0x15,0xA7,0x71,0x04,0x8F,0x48,0xA4,0x76,0x20,0x35,0x95,\r
+0x84,0xB3,0xF4,0x54,0xFD,0xAA,0x5D,0x34,0x3A,0x96,0x6F,0x9A,0xFF,0xC7,0x5B,0xFB,\r
+0x27,0xE2,0x1B,0x4D,0xEB,0x4A,0xBD,0x29,0x4F,0x66,0xF7,0x19,0x0E,0xB0,0x36,0x60,\r
+0xE1,0x5C,0x63,0x35,0x41,0x35,0x17,0xFC,0xAF,0x0A,0x7B,0xF9,0xAC,0x75,0x51,0x07,\r
+0x97,0x17,0x5E,0x08,0x9F,0x9E,0xC9,0x89,0x46,0x4D,0xD5,0x10,0xE4,0xFD,0x91,0xC7,\r
+0x72,0x94,0x38,0x6E,0xCE,0x7E,0x98,0x38,0xD7,0xB4,0xBD,0x81,0xD0,0x22,0x7A,0x2C,\r
+0x5C,0x13,0x91,0xC7,0x68,0x13,0x3E,0xF3,0xA8,0x4C,0x3A,0xFE,0xBE,0xBF,0x89,0xDF,\r
+0xB6,0x20,0x48,0x1E,0x66,0x70,0x30,0x9E,0x0C,0xF4,0x26,0x5A,0x05,0x5D,0xD0,0x86,\r
+0x0C,0x57,0x85,0xD3,0x63,0x40,0x35,0xAB,0x7D,0x61,0xC2,0x2B,0x7D,0xC1,0x34,0x62,\r
+0x1B,0x7B,0xBE,0xE8,0xEE,0x7A,0xB8,0x1C,0xA5,0x73,0x08,0xF3,0x4B,0x0F,0xCC,0x9A,\r
+0x30,0xCE,0x20,0x76,0x03,0xC4,0x55,0x4F,0x16,0xDD,0x15,0x40,0xE0,0x36,0x5E,0x08,\r
+0x50,0xBF,0x31,0x67,0x97,0x9C,0xC1,0x83,0x88,0x68,0x3E,0xDE,0x9D,0x8E,0x9B,0xCD,\r
+0xF3,0x42,0x6F,0x39,0xB7,0x98,0xE1,0xA7,0xED,0xB9,0x8A,0xBB,0x09,0x85,0x04,0x52,\r
+0x28,0x52,0xA4,0xF2,0xA8,0x9B,0xFE,0xBB,0x7B,0x06,0xA3,0x2D,0x72,0xE7,0x1D,0x4B,\r
+0x0B,0x6F,0xBA,0xEC,0xB4,0xC9,0xE2,0xF5,0xFD,0xE9,0xCA,0xAB,0xFA,0xEF,0x9D,0xCB,\r
+0x45,0x99,0x02,0x54,0xE1,0x39,0xB7,0x50,0xA9,0x6D,0x1A,0xFF,0x11,0x4D,0xD4,0x82,\r
+0x87,0x03,0x5A,0x0C,0x55,0x65,0x03,0xB8,0xCF,0xEE,0xFF,0x99,0xAF,0x8B,0xAC,0xFA,\r
+0x2B,0x4E,0xBB,0xED,0x78,0x53,0x2E,0xA3,0xE4,0x92,0xA8,0xB2,0x87,0x57,0x58,0x0E,\r
+0x61,0x9C,0x23,0x75,0x22,0xE0,0x74,0x4A,0x6C,0x10,0xA2,0x3A,0x8C,0xBA,0xBE,0xE8,\r
+0x23,0xC6,0x3B,0x6D,0x53,0x04,0x05,0xDF,0x22,0xBD,0x41,0x74,0x69,0xD1,0x30,0x66,\r
+0x42,0xA1,0x3D,0x6B,0x84,0x8D,0xD2,0x81,0xDA,0x8B,0x8F,0x8C,0xD2,0x33,0x69,0x3F,\r
+0x4F,0x1B,0x8A,0xDC,0x60,0x11,0x36,0xF9,0x8D,0x5D,0x0E,0xDB,0x7A,0xF4,0x06,0x50,\r
+0x12,0xE5,0x29,0x7F,0xA7,0xD8,0xF1,0xF7,0x42,0x59,0xC5,0x14,0x44,0x29,0xE5,0xB3,\r
+0xC6,0x45,0x5D,0x0B,0xCB,0x4E,0x9D,0x0D,0xCE,0xCF,0xDF,0x98,0xC1,0x16,0x5F,0x09,\r
+0x2F,0x6A,0x9B,0xCD,0xBD,0xEB,0xEB,0xDE,0x4C,0x34,0xA6,0x1A,0x3F,0x4B,0xFC,0xAA,\r
+0xBB,0x9A,0xFF,0xA9,0xBA,0xAA,0xEC,0x98,0x1F,0xF6,0x37,0x49,0x1D,0x95,0x00,0x56,\r
+0xDB,0xEB,0xEE,0xB8,0xBC,0xCB,0xEA,0xFF,0x64,0x1A,0xA0,0x32,0x90,0xB9,0xA1,0xF7,\r
+0x7D,0x24,0x87,0xD1,0x90,0xDD,0xC6,0xC5,0x69,0x25,0x92,0x3F,0xB7,0x43,0x7C,0x2A,\r
+0x2D,0x60,0x93,0xC5,0xB6,0xB8,0xE0,0x86,0xE5,0xB3,0x88,0xB3,0x75,0xD2,0x2F,0x79,\r
+0x9F,0x9F,0xDE,0x88,0x8F,0xDE,0xD9,0xD9,0xA0,0x46,0x38,0xF6,0x39,0x91,0x20,0x76,\r
+0x68,0x02,0xB4,0xE2,0xDF,0x1E,0x89,0x49,0x49,0x01,0x96,0x1F,0x70,0xF6,0x0E,0x58,\r
+0x71,0x88,0x27,0x71,0x1B,0x86,0x4D,0x15,0x4A,0x53,0xC7,0x1C,0x2D,0x81,0x24,0x72,\r
+0x60,0x8A,0x34,0x62,0xA0,0x99,0xF6,0xB1,0x84,0x76,0x2C,0xD2,0x16,0x78,0xE6,0xB0,\r
+0x51,0xA9,0x26,0x70,0x21,0xB1,0x77,0x18,0xE7,0xC0,0xF9,0xB1,0xC9,0x05,0x44,0x12,\r
+0x6E,0x2C,0x9C,0xCA,0x80,0x9D,0xD6,0x95,0x45,0x1F,0x84,0x13,0x00,0x79,0xF1,0xA7,\r
+0xB3,0x12,0x7F,0x29,0xBF,0x9A,0xE9,0xAD,0x0F,0xA6,0x77,0x59,0xC3,0x07,0x4C,0x1A,\r
+0xFA,0xDC,0xF8,0xAE,0x8D,0xAF,0xDB,0xAA,0xF5,0xE3,0xC8,0xA3,0x41,0x0D,0xC4,0x92,\r
+0xBC,0xA2,0xC0,0x96,0x28,0x93,0x7E,0x33,0x5B,0x22,0xA7,0x0D,0x40,0xE2,0x2A,0x7C,\r
+0xFB,0xCA,0xEF,0xB9,0xE9,0x3B,0xBF,0x5A,0x80,0x62,0x3C,0xD6,0x48,0xF1,0x31,0x67,\r
+0x7C,0x32,0x90,0xC6,0xA5,0xA9,0xF3,0x84,0xB6,0x71,0x19,0xE0,0x5E,0xF0,0x26,0x70,\r
+0xE5,0x78,0x43,0x15,0xCF,0x5E,0x99,0x19,0x6E,0x63,0xD3,0x38,0xE6,0xEC,0x82,0xD4,\r
+0xC3,0x77,0x6A,0x3C,0x57,0x14,0x01,0xCB,0xAD,0x79,0x0A,0xFB,0xED,0x01,0x64,0x32,\r
+0xAD,0xA0,0xD3,0x85,0x87,0xDC,0xD1,0xD3,0xFB,0x8E,0xAB,0xAD,0x96,0x63,0x7D,0x2B,\r
+0x1C,0x43,0x81,0xD7,0x45,0x25,0x13,0xE8,0x3A,0xE7,0x03,0x6C,0xD4,0xE9,0xB5,0xE3,\r
+0x6F,0x3A,0x8B,0xDD,0xF0,0x59,0xA6,0x21,0x95,0x07,0x4C,0xC3,0x37,0x58,0xE7,0xB1,\r
+0x20,0xDA,0x24,0x72,0x3E,0xB2,0x68,0x04,0x15,0x8F,0x44,0x43,0x55,0x1D,0xC0,0x96,\r
+0x06,0xD5,0x0D,0x5B,0x4B,0x46,0x1D,0x85,0x57,0x3C,0xB5,0x01,0xC2,0xE8,0xA2,0xF4,\r
+0x00,0xFB,0x25,0x73,0xF8,0x5B,0xAE,0x2B,0x97,0x74,0x3D,0xC1,0x2E,0x7F,0xD9,0x8F,\r
+0x48,0x23,0xB5,0xE3,0xDA,0x2E,0x8C,0x7C,0x2D,0xF1,0x02,0x7B,0x0C,0xA1,0x25,0x73,\r
+0x80,0x3B,0x65,0x33,0x0F,0xD6,0x59,0x51,0xC4,0xB6,0xAC,0x92,0xE1,0xD9,0xB0,0xE6,\r
+0xEA,0xC8,0xFC,0xAA,0x12,0xA4,0x44,0x3E,0x1E,0xD7,0x17,0x48,0x0B,0x94,0x17,0x41,\r
+0xD4,0x5B,0x51,0x07,0x2E,0xF2,0x78,0x54,0x00,0xEA,0x34,0x56,0xA4,0x66,0x4A,0x1C,\r
+0x1F,0x5F,0x9E,0xC8,0xC9,0x3F,0x9F,0x7E,0x18,0xB0,0x76,0x4E,0x1E,0x6B,0xFD,0xAB,\r
+0x90,0x2F,0x61,0x37,0x8E,0xFE,0xD8,0xF8,0xC3,0xF0,0xED,0x95,0x47,0xD7,0x18,0x4E,\r
+0x18,0x67,0xA1,0xF7,0x9E,0xBE,0xC8,0xA8,0x10,0xBA,0x74,0x46,0x35,0x49,0xF4,0xA2,\r
+0xAE,0xBC,0xCC,0x9A,0x65,0x21,0x33,0xCC,0x40,0x2A,0xB4,0x16,0x6E,0xE4,0x02,0x54,\r
+0xE3,0x56,0x6B,0x3D,0xD5,0x6D,0x83,0x30,0xD5,0xC7,0xCC,0x83,0x82,0x73,0x79,0x2F,\r
+0x32,0xC4,0x28,0x7E,0x4F,0x56,0x19,0x91,0x39,0xB5,0x52,0x6F,0xCD,0xCE,0x8B,0xDD,\r
+0x10,0xEF,0x21,0x77,0xA6,0xF8,0xF0,0xD6,0x53,0x28,0xA5,0x05,0xD1,0xCD,0x94,0xC2,\r
+0x69,0x14,0xA3,0xF5,0x5C,0x47,0x0A,0x93,0x6D,0x31,0x82,0x3B,0x58,0x2A,0xFA,0xAC,\r
+0x6C,0x26,0x94,0xC2,0x2C,0x83,0x7A,0x27,0x3C,0x80,0x62,0x6A,0x8D,0x55,0x50,0x06,\r
+0x31,0xD8,0x37,0x61,0xA4,0x89,0xF2,0xA5,0xC5,0x97,0x8C,0x93,0x64,0xE6,0x0A,0x5C,\r
+0xFC,0xF2,0xD0,0x86,0x9C,0xCF,0xCA,0xDB,0x47,0x6C,0xF5,0x11,0xAE,0x64,0x42,0x14,\r
+0x09,0x65,0xB2,0xE4,0xEF,0x5A,0xB9,0x3D,0x04,0xFE,0x24,0x52,0x7F,0xD0,0x27,0x71,\r
+0xDA,0xFD,0xF9,0xAF,0x5D,0x67,0x0B,0xB2,0xDC,0xEC,0xEE,0x8A,0x9B,0x54,0x47,0x11,\r
+0xB7,0x36,0x5F,0x09,0x23,0xC0,0x75,0x6B,0xBC,0x08,0x6A,0xEA,0x0F,0x5F,0xD8,0x8E,\r
+0x98,0x01,0x90,0x78,0xA8,0x13,0x1B,0x5A,0xB1,0x25,0xB9,0x7D,0x67,0xA1,0x27,0xA9,\r
+0x2B,0x1C,0x23,0xD6,0x86,0x3B,0x33,0x5C,0xCA,0xB2,0xC2,0x91,0xEF,0x61,0x6F,0x69,\r
+0x6F,0x8C,0x67,0x02,0x68,0x53,0x5B,0xDA,0xD8,0x83,0xD0,0xB2,0xF6,0xF2,0xE5,0xFA,\r
+0xBA,0x74,0xB2,0x2F,0x70,0x83,0x8B,0x12,0x4D,0xFB,0x45,0x5F,0x58,0x1B,0xA2,0x13,\r
+0x25,0x7F,0x2D,0xBB,0x10,0xB7,0xBF,0x46,0xDD,0xB3,0xD5,0x87,0x59,0x0C,0xB4,0x04,\r
+0xE7,0x86,0xEF,0x80,0xF3,0xE5,0xED,0xF7,0x15,0x39,0x1D,0xC5,0xF1,0xCD,0xDD,0xC5,\r
+0x5E,0xE8,0x56,0x57,0x89,0x12,0x1A,0x7A,0xA8,0x47,0xA0,0x06,0x1E,0x23,0xDC,0x2B,\r
+0x90,0x03,0x98,0x72,0x69,0xBD,0xB5,0x35,0x8F,0x02,0x87,0x64,0x16,0xA3,0x54,0xAB,\r
+0xC5,0xF3,0xCD,0xD7,0x61,0xA6,0xAE,0x26,0x4E,0xAA,0x46,0x0D,0x43,0x80,0x22,0x88,\r
+0x89,0x61,0x81,0x09,0x99,0xD9,0xD1,0xA1,0x59,0xAB,0x51,0x1B,0x66,0xB6,0x31,0xBE,\r
+0x37,0x4E,0x3F,0x98,0x24,0x5C,0x54,0x99,0x0C,0x5B,0x04,0xBE,0x50,0x9B,0x2A,0x93,\r
+0xAF,0x04,0xA7,0x4A,0x2B,0x75,0x7D,0xBF,0xEA,0xB6,0xE2,0xB5,0x89,0x58,0x30,0x50,\r
+0xDF,0xC0,0xD7,0xFE,0x41,0x49,0x41,0xE9,0x24,0x5D,0x2C,0x90,0x2D,0x39,0xF5,0x31,\r
+0xE0,0xC7,0xE8,0xC6,0x7F,0xAA,0xA2,0x34,0x99,0x23,0x91,0x53,0xDE,0x73,0x4C,0x7B,\r
+0x48,0xC9,0x40,0x60,0xF1,0xF6,0xFE,0xE6,0x42,0xB8,0x4A,0x13,0xFD,0x6D,0x71,0x65,\r
+0xED,0xF5,0xE5,0xF9,0x8F,0xCE,0xC6,0xA0,0xAC,0x57,0xA4,0x12,0x92,0xC3,0xB0,0xCB,\r
+0x8F,0x00,0x87,0x6E,0x36,0x84,0x8C,0x53,0x4F,0x8A,0x47,0x2C,0x7E,0x32,0xAD,0x3A,\r
+0xFC,0x95,0xF4,0x88,0xA1,0xE6,0xEE,0xA6,0x2A,0x3E,0x22,0xFD,0xAF,0x71,0x3F,0x79,\r
+0x43,0x9A,0x4B,0x38,0x65,0x69,0x61,0xED,0xB0,0x05,0xB8,0x5C,0x30,0x8A,0x5B,0x82,\r
+0x3D,0x3D,0x35,0xE1,0xAE,0xCF,0xC7,0x80,0x2F,0x0E,0x27,0xC8,0xB4,0xEA,0xBF,0xE2,\r
+0x3C,0x1D,0x34,0xC0,0x47,0x95,0x9D,0x33,0x92,0x70,0x9A,0x0B,0xD8,0x5B,0x62,0x53,\r
+0xC6,0xA2,0xCE,0x85,0xBC,0x17,0x1F,0x4A,0xFC,0x97,0xF4,0x82,0xFF,0x65,0x7B,0x6D,\r
+0xC4,0xD3,0xCC,0xF6,0x8B,0x01,0x09,0x6B,0x62,0xBC,0x6A,0x37,0xD6,0xF3,0xC4,0xFB,\r
+0x4C,0xD9,0x44,0x74,0x75,0xA2,0xAA,0x36,0x38,0x0F,0x30,0xDE,0x38,0x0A,0xD3,0x02,\r
+0x05,0x7B,0x0D,0x9F,0xEF,0xFA,0xF2,0xF4,0x6A,0xBE,0x62,0x3D,0xEE,0x76,0x79,0x7E,\r
+0xFE,0xE4,0xF6,0xFB,0x34,0x97,0x9F,0x42,0x9C,0x13,0x94,0x66,0x2E,0x26,0xE9,0x2E,\r
+0x2F,0x0C,0x27,0xC2,0x97,0x1E,0x16,0x68,0xE3,0x94,0xEB,0x9E,0x08,0x0F,0xE6,0x07,\r
+0xB5,0x37,0xBD,0x63,0x05,0x5D,0x55,0xB9,0x11,0x29,0x19,0xD1,0x96,0xE3,0x94,0xEB,\r
+0x4E,0xA8,0x46,0x07,0x08,0x67,0x6F,0x8E,0x22,0x3C,0x2A,0xF7,0x6E,0x36,0xB9,0x3E,\r
+0x72,0xFE,0x7A,0x6D,0x9B,0xCA,0xC2,0xB0,0x7F,0xCE,0x77,0x58,0x4D,0x28,0x84,0x20,\r
+0xEE,0xA4,0xE6,0xAB,0x7C,0x57,0x5F,0xCA,0x70,0x8D,0x78,0x14,0xB7,0xF5,0xA3,0xFD,\r
+0xA9,0x65,0xA1,0x2D,0x0C,0xA8,0xA0,0x45,0x95,0x31,0x9D,0x4D,0x2C,0x2E,0xE3,0x26,\r
+0x81,0x63,0x89,0x03,0xCA,0x34,0x3C,0x1F,0xBC,0x17,0xB4,0x42,0x40,0x9F,0x3E,0x97,\r
+0xD4,0x93,0xDC,0xA6,0x3C,0x8C,0x84,0x51,0xF5,0xB5,0xFD,0xA9,0x90,0xCB,0xBA,0xC3,\r
+0x18,0x09,0x10,0xF0,0x1D,0x8D,0x85,0x71,0x30,0x0D,0x38,0xD4,0xF2,0xD2,0xC1,0xDA,\r
+0x35,0x3F,0x3D,0xEB,0x50,0x6C,0x64,0xDD,0xC4,0xD1,0xCC,0xFC,0xA5,0xF9,0xBD,0xF1,\r
+0xF7,0xC6,0xFF,0xD0,0xEC,0x07,0x0F,0x0A,0xF3,0xD4,0xFB,0xCE,0x64,0xBE,0x3B,0xB6,\r
+0x63,0x9E,0x6B,0x1C,0x9D,0x16,0x1E,0x6A,0x36,0x6C,0x3E,0xB3,0x4F,0x20,0x8E,0x28,\r
+0xC8,0xC1,0xC0,0xE8,0x01,0x92,0x9A,0x72,0x75,0xBD,0x7D,0x21,0xF9,0x4D,0x55,0x45,\r
+0xD7,0xC2,0xDF,0xF4,0x11,0x59,0x51,0xA9,0x6C,0xDF,0x64,0x5A,0xD0,0xDB,0xEA,0xD3,\r
+0x06,0x2A,0x0E,0xCD,0x73,0x7E,0x76,0xEC,0xB8,0x07,0xB0,0x56,0x7C,0x3A,0xA7,0x32,\r
+0x08,0x49,0x00,0xA0,0x40,0xA7,0xAF,0x06,0xE1,0xE5,0xE9,0xED,0x60,0x9E,0x1F,0x96,\r
+0x8E,0x20,0x86,0x4F,0x28,0x88,0x80,0x41,0xA4,0x55,0xAC,0x18,0x52,0x93,0x20,0x9B,\r
+0x03,0x1A,0x0B,0xF8,0x04,0xB3,0xBB,0x56,0x5C,0x9B,0x54,0x2E,0x98,0x4B,0x32,0x43,\r
+0x21,0x6F,0x29,0xAF,0x0F,0x55,0x5D,0xBB,0x39,0x2F,0x31,0xFF,0x21,0x99,0x59,0x91,\r
+0x8B,0x10,0x83,0x7A,0xB1,0x2D,0x25,0x7D,0x5E,0xEA,0x56,0x5D,0xAD,0x79,0x35,0x71,\r
+0xAE,0x24,0xA6,0x6B,0xC7,0x0E,0x06,0x28,0x12,0x78,0x1A,0x83,0xE7,0xE1,0xE7,0xE9,\r
+0xFF,0xC4,0xF7,0xDA,0x44,0x68,0x60,0xCD,0xF9,0xA7,0xF1,0xB7,0x8F,0x70,0x1E,0x78,\r
+0x7B,0xDC,0x73,0x46,0xDB,0x11,0x19,0x2B,0x4C,0xDB,0x44,0x7E,0x9D,0x7C,0x00,0x74,\r
+0xBF,0x44,0xB7,0x1A,0x51,0x82,0x8A,0x32,0x66,0xAC,0x6E,0x23,0xCC,0x7F,0x52,0x77,\r
+0x41,0xEB,0x49,0x4B,0xFA,0x10,0x18,0x0B,0x2C,0x5F,0x24,0x9A,0xA3,0xD1,0x93,0xD9,\r
+0xC0,0xC3,0xC8,0xE2,0xD9,0x02,0x0A,0x3A,0x8E,0x22,0x86,0x45,0x76,0xB2,0x25,0xBA,\r
+0xF0,0x87,0xF8,0x96,0x77,0xB1,0xB9,0x27,0x14,0x19,0x1C,0xE4,0xC8,0x5F,0x76,0x57,\r
+0xDC,0x91,0xD4,0xAC,0xB8,0xD8,0xD0,0x81,0xC9,0xE3,0xC1,0xC3,0xFA,0x52,0x49,0x5A,\r
+0xEF,0x84,0xE7,0x8A,0xCC,0xE8,0xE0,0xC5,0x48,0xCB,0x40,0x6A,0x62,0x96,0x15,0x9E,\r
+0xD6,0xE2,0xDE,0xD5,0x33,0xA5,0xAD,0x77,0x47,0x88,0x4F,0x26,0xD2,0xD3,0xE0,0xDB,\r
+0xAB,0x14,0xA3,0x5E,0x16,0x6B,0x63,0x9C,0x37,0x4C,0x3F,0x92,0x85,0xF8,0x9C,0xF0,\r
+0xC7,0x82,0xCF,0xA4,0xB6,0x1F,0x17,0x48,0x8D,0x73,0x85,0x17,0x9F,0x74,0x0A,0x7C,\r
+0xDA,0xF0,0xD2,0xCB,0xC9,0xC9,0xC1,0xE1,0x68,0xCF,0x60,0x4E,0x6D,0x29,0xA5,0x21,\r
+0xDD,0xB1,0xD5,0x8D,0x39,0xAD,0xA5,0x75,0x94,0x11,0x9C,0x6C,0xFC,0x7A,0x67,0x72,\r
+0x33,0x5E,0x3B,0x8C,0x95,0x0D,0x05,0x79,0x58,0x8B,0x50,0x3A,0x1B,0x14,0xEE,0x1C,\r
+0x42,0xBA,0x4A,0x19,0xCF,0x15,0x1D,0x3B,0xD6,0xE0,0xDE,0xDF,0xF8,0x5A,0x43,0x52,\r
+0x00,0x4B,0x08,0xAA,0x48,0xBC,0xB4,0x15,0x6E,0xAE,0x66,0x29,0x54,0xBB,0x0E,0xB3,\r
+0xE4,0xD7,0xEC,0xD2,0xF2,0x0B,0x03,0x18,0x01,0x69,0x09,0x81,0xD5,0xEC,0xD8,0xE4,\r
+0xB0,0xF2,0xE4,0xB6,0x70,0x2C,0x78,0xA8,0x7D,0x98,0x29,0x45,0x0D,0x5A,0xA3,0x0E,\r
+0xBF,0xB1,0xEB,0xFA,0x85,0x69,0x3D,0x18,0x44,0xFE,0x10,0x1A,0xBF,0x17,0x5C,0x43,\r
+0x3E,0x99,0x6A,0x53,0xD9,0xAD,0xF9,0x80,0x77,0xEB,0x23,0x3C,0xFB,0x27,0x28,0x73,\r
+0xE3,0x63,0xB7,0x74,0xE6,0xA0,0xF4,0xB2,0x5B,0xFD,0x0F,0x06,0x5D,0x4E,0xE7,0x1A,\r
+0x79,0x58,0x2D,0xD5,0xB5,0x4D,0x19,0x0C,0x6B,0xB9,0x3F,0x72,0x40,0xFD,0x49,0xA9,\r
+0xDB,0x25,0x8F,0x0A,0x03,0x2E,0x7A,0xD9,0xEA,0x91,0xBE,0xDB,0x71,0xEF,0x6A,0xBB,\r
+0x91,0xD6,0xC5,0xB3,0xC2,0x80,0xD4,0xB6,0x14,0x3E,0x40,0x8A,0x48,0x7D,0xC1,0x29,\r
+0xBB,0xA1,0xEF,0xEE,0x90,0x83,0xD7,0xE7,0xD0,0xA6,0x84,0xD6,0x51,0xEE,0x4B,0xBA,\r
+0xF6,0x13,0xA2,0x11,0x48,0x13,0x47,0xAF,0x4F,0xAD,0x1B,0x42,0x62,0xF4,0x62,0xA0,\r
+0x99,0xD4,0xCD,0xB9,0x9E,0x44,0x10,0x2E,0xAB,0x31,0xFF,0x3A,0x6F,0x43,0xD8,0x17,\r
+0x21,0x9A,0x75,0x4F,0xD3,0xA5,0xF1,0x82,0xE9,0xC0,0xBD,0x89,0x41,0xEA,0x5F,0xBE,\r
+0xAF,0xF1,0xFB,0xAA,0x7E,0xEB,0xBF,0x61,0x98,0x24,0xCC,0x1C,0x03,0xF2,0x05,0xA6,\r
+0x63,0x6B,0x37,0xFC,0xF7,0x85,0xD1,0x86,0x76,0xCB,0x22,0x1D,0x0F,0x52,0xA9,0x06,\r
+0x9F,0xB5,0xCB,0xDE,0x35,0xD6,0x82,0x17,0x71,0x8A,0x25,0x5B,0x9B,0x36,0x59,0x62,\r
+0x7A,0x09,0x2E,0x87,0x9A,0x8B,0xDF,0xE5,0x6C,0xF8,0x38,0x34,0x32,0xE0,0x26,0xB4,\r
+0xC0,0x36,0x94,0x02,0x0C,0x07,0x53,0xFF,0x00,0x6E,0x54,0xCE,0xE6,0x94,0x86,0xC0,\r
+0x9B,0xA5,0xCF,0xCA,0x7A,0x24,0x70,0xAA,0x7C,0xB8,0x28,0x64,0xD3,0xA6,0x81,0xF2,\r
+0x82,0xC7,0xD6,0xB1,0xC5,0xB2,0xE6,0x83,0x63,0xBB,0x37,0x78,0x08,0x6D,0x91,0x39,\r
+0xC1,0x16,0x95,0x23,0x1E,0xDF,0x8B,0x35,0xC8,0xE4,0x9C,0x8C,0x10,0xE9,0x0D,0xBD,\r
+0x04,0xAE,0x50,0x5E,0xAB,0x41,0x15,0x1E,0x5C,0xBC,0x08,0x40,0x70,0xF8,0x7C,0xAC,\r
+0x33,0xAB,0x67,0x6C,0x2D,0x06,0x52,0xDF,0x9E,0x45,0xCA,0x7B,0xA7,0x93,0xC0,0xC7,\r
+0xC7,0x77,0x93,0x44,0x51,0x2D,0x79,0x88,0xB3,0x73,0xE7,0x60,0x0B,0x72,0x8D,0x26,\r
+0x02,0xCF,0x56,0x39,0x2A,0x34,0x60,0xEA,0x7F,0xE9,0x2B,0x36,0x2B,0x73,0xAC,0x27,\r
+0x4B,0x6D,0x1F,0xD2,0xAE,0x60,0x34,0x3A,0x2A,0x19,0x7E,0x93,0x65,0xCB,0x5A,0x9F,\r
+0x0E,0xDD,0x5A,0x27,0x8E,0x8F,0xDB,0xF5,0x54,0xBE,0x00,0x4A,0xB7,0x97,0xD4,0xC3,\r
+0xE5,0x02,0xB1,0x13,0x77,0x1E,0x4A,0x9D,0x05,0x5E,0x51,0xFB,0x52,0xF1,0x57,0xA5,\r
+0xA9,0x90,0xFD,0xCD,0xA5,0x86,0xD2,0xD7,0x20,0x6A,0x74,0xEA,0x07,0xD2,0x21,0x86,\r
+0xCE,0x55,0x9A,0x6F,0xC9,0x66,0x32,0x5B,0x8A,0x15,0xDE,0x3F,0xC1,0xAA,0x9F,0xFE,\r
+0xAB,0xE1,0xFF,0xBE,0xA2,0xB4,0xE0,0xE2,0xA8,0x60,0xFC,0x68,0x2C,0x4C,0x94,0x18,\r
+0x53,0x2F,0x07,0x88,0xB0,0x6C,0x38,0x28,0x25,0x5A,0x71,0xDF,0x3B,0x77,0xB8,0x23,\r
+0x16,0x9F,0x42,0x7D,0x8F,0x61,0x35,0x1A,0xA3,0x33,0xF7,0x30,0x7C,0x58,0xD0,0x0C,\r
+0x4F,0x7D,0x1B,0xC6,0x37,0xC5,0x91,0x06,0xAD,0x50,0xF9,0x5D,0x96,0x81,0xE3,0xD5,\r
+0xCF,0x75,0x9B,0x4E,0x43,0xF5,0xA1,0x42,0xE7,0xA3,0xB3,0xE4,0x4C,0x5D,0xE5,0x09,\r
+0x95,0xC6,0xC1,0xA7,0x54,0x0C,0x58,0xAC,0x6F,0xA9,0x3B,0x66,0x11,0xFE,0x1B,0xAA,\r
+0x0B,0xED,0x5F,0x12,0xEB,0x9A,0xCE,0x85,0x6D,0xD8,0x39,0x15,0x30,0xE8,0x2C,0xBC,\r
+0x65,0x0A,0x31,0x9B,0xF2,0xA4,0xF0,0xA2,0x97,0x67,0xC3,0x50,0x49,0x6A,0xD7,0x3E,\r
+0xD8,0x74,0x8C,0x58,0x2F,0x15,0x41,0xCE,0x96,0x47,0xC2,0x71,0xFA,0x30,0x3E,0x64,\r
+0x47,0x7F,0x13,0xCC,0xCB,0x75,0x21,0x4A,0xE8,0xE0,0xBC,0xA8,0x97,0x96,0xF5,0xC2,\r
+0xDD,0x44,0x89,0x6D,0xAF,0x8E,0xDA,0xD5,0x57,0xEF,0x03,0x18,0xDC,0x19,0x31,0x4D,\r
+0xB8,0xF0,0xEC,0xBC,0x3D,0xCD,0x99,0x04,0x24,0x7A,0x70,0xFE,0x29,0x7B,0xA6,0x2F,\r
+0x62,0x4B,0x36,0xDD,0x73,0xD1,0x85,0x56,0x02,0x1F,0x56,0xBD,0x3F,0x57,0x9C,0x03,\r
+0x87,0xF7,0xD3,0x84,0x33,0x0A,0x5E,0xCD,0x45,0xDE,0x11,0x3B,0xB0,0xA8,0xEC,0xFC,\r
+0x88,0xB4,0xDC,0xC8,0x14,0xD7,0x83,0x37,0xD9,0x84,0x8D,0xFD,0xCA,0x35,0x0B,0x61,\r
+0xD5,0x46,0x81,0x67,0x29,0xC9,0x9D,0x14,0xE5,0xD2,0xB1,0x97,0xF4,0x98,0x98,0xCC,\r
+0xE6,0x53,0xB2,0x41,0x04,0x1C,0x48,0xEC,0x1E,0x4D,0x4A,0xF3,0xC3,0xA2,0x95,0xF6,\r
+0x14,0xEE,0x40,0x0E,0x76,0xF0,0xA4,0x72,0x84,0x76,0xD0,0x52,0x12,0xE1,0x07,0xB5,\r
+0x6B,0x69,0x3F,0xF6,0x79,0xD9,0x8D,0x54,0x55,0x9E,0x01,0x6B,0x38,0x68,0xA4,0x3C,\r
+0x9D,0xC4,0xC9,0xAD,0xE9,0x89,0xDD,0x94,0xAE,0x01,0xFA,0x0F,0x8E,0x05,0x7F,0x51,\r
+0x78,0x78,0x2C,0xF4,0xC4,0x5C,0x08,0x6C,0x3B,0x79,0x6F,0xE2,0x4F,0x42,0xF9,0x16,\r
+0x5F,0x3D,0x0B,0x96,0x4C,0xDC,0x88,0x64,0xF5,0x92,0xA1,0xC7,0x00,0xED,0x19,0xB9,\r
+0xE2,0x43,0xB6,0x55,0x4D,0x32,0x66,0x8B,0x4C,0xFC,0x18,0x10,0x8D,0x1A,0x63,0x4E,\r
+0x2A,0xC9,0x7E,0x17,0x24,0xF3,0xA7,0x23,0x8E,0x05,0xDA,0x2B,0x3C,0x48,0x80,0x1C,\r
+0xBA,0x81,0xEE,0xCF,0x32,0xE4,0xB0,0x22,0x11,0x0E,0x45,0xBF,0x68,0x7C,0xE0,0x28,\r
+0x2F,0xF9,0x7B,0x22,0x75,0x0D,0x59,0x8C,0xC4,0xF6,0x90,0x92,0xA0,0xAC,0xF8,0xF8,\r
+0x3D,0xC8,0x69,0x01,0xFF,0x9E,0xCA,0x95,0x80,0x66,0xD4,0x46,0x26,0xC4,0x16,0x90,\r
+0x46,0x5F,0x12,0xED,0xB7,0x5E,0x0A,0x1D,0x33,0x7B,0x67,0xE8,0x20,0xEC,0x38,0xB8,\r
+0x5B,0x2D,0x0F,0x82,0x20,0x3C,0x68,0xE8,0x46,0x8F,0x12,0x69,0xDA,0x31,0x1F,0x65,\r
+0xB5,0xC2,0xE1,0x83,0xE1,0x92,0xC6,0x87,0xE3,0xB3,0xB7,0xF0,0x9C,0x09,0x61,0x5D,\r
+0x6E,0x59,0x3A,0xC3,0xDC,0x8C,0xD8,0xA4,0x4B,0xBD,0x1F,0x56,0x4E,0x55,0xEF,0x01,\r
+0xD3,0x27,0x87,0x00,0x65,0xC6,0x92,0x57,0x74,0xBA,0x20,0x6E,0x93,0xB6,0xD1,0xE2,\r
+0x1D,0xCC,0x49,0x25,0xA0,0xA7,0xF3,0xF3,0x04,0x7E,0x50,0xDA,0xC5,0x8A,0xBB,0xDE,\r
+0xFB,0x21,0xAF,0x2E,0xBA,0x64,0x30,0x2A,0x9C,0x34,0xC8,0x08,0xE3,0xA3,0xB4,0xF7,\r
+0xAE,0xD1,0xFA,0x8B,0xA1,0x49,0x1D,0x1C,0x22,0x1B,0x76,0x99,0xDB,0x26,0x09,0x72,\r
+0xB9,0xD0,0xED,0x9D,0xB2,0x7F,0x2B,0x39,0x6E,0x89,0x3A,0x47,0x5C,0x59,0xF1,0x0D,\r
+0x7F,0x63,0x52,0x51,0x30,0x79,0x35,0x65,0x5A,0x78,0x64,0x42,0x47,0x5B,0x45,0x62,\r
+0x44,0x58,0x7E,0x46,0x0A,0xF4,0x82,0xE8,0x48,0xA0,0xBC,0x88,0xBF,0xA3,0x8B,0x54,\r
+0x89,0x95,0x09,0xFC,0x3A,0xF1,0xB7,0xED,0xDD,0xD1,0xCD,0x6C,0x5B,0x47,0x17,0x2C,\r
+0x50,0x4C,0x3A,0x16,0x59,0xFF,0xDA,0xE3,0x65,0x75,0x69,0x70,0x02,0x1E,0xF5,0x97,\r
+0xF9,0xE5,0xBD,0x38,0x34,0x59,0x11,0x45,0x9D,0x0A,0x16,0xF7,0xF1,0xED,0x68,0xF9,\r
+0x9F,0x83,0x3E,0xDD,0xD4,0x08,0xA0,0x14,0x64,0x9B,0x87,0x9F,0x1A,0x06,0xB7,0xCD,\r
+0xA2,0xBE,0x75,0xAB,0x7F,0xD6,0xD5,0xCA,0x23,0x72,0x6E,0x31,0xDA,0xC6,0x3F,0x85,\r
+0xDA,0xC6,0xCB,0x6D,0x00,0x7C,0x00,0x60,0x4F,0x92,0x8E,0xBD,0xBD,0xA1,0xFA,0x27,\r
+0x7A,0x66,0x67,0x61,0x19,0xEF,0x8A,0xF3,0xBB,0x39,0x25,0xE2,0xD3,0xCF,0x1D,0xAE,\r
+0x9B,0x87,0x2A,0xCD,0x2F,0xC2,0x91,0xDE,0xC7,0x12,0x0E,0xB5,0x27,0x3B,0xC1,0x86,\r
+0xC3,0xDF,0xB0,0x0F,0x73,0x76,0x79,0x6A,0x44,0x74,0x68,0x50,0x5F,0x43,0x07,0x38,\r
+0x7B,0x67,0x46,0x41,0x83,0x23,0xDC,0x3F,0xC0,0x20,0x3C,0x80,0x16,0x0A,0xA5,0xD3,\r
+0x65,0x79,0x7B,0x62,0xD1,0x3F,0x92,0x23,0x2F,0xA6,0xBA,0xE9,0x96,0x8A,0xAD,0x5B,\r
+0xAE,0xB2,0x6B,0xB9,0xD2,0x20,0x8E,0x3C,0x90,0x30,0x2C,0xC0,0x8F,0x93,0xCF,0x20,\r
+0xF0,0xEC,0x96,0x1A,0xD6,0x00,0xAA,0x1C,0x41,0x55,0x49,0x74,0x10,0x0C,0xC4,0xB4,\r
+0xE1,0xFD,0xE7,0x7A,0x8E,0x94,0x66,0x88,0xF4,0xCB,0xD7,0x5F,0xD5,0xC9,0x7C,0xC9,\r
+0x3E,0x22,0xB3,0xF1,0xE0,0x2D,0xB1,0x31,0xDF,0xC2,0xDE,0x7D,0x8B,0x97,0xDF,0x34,\r
+0x5A,0x46,0x43,0x65,0xA1,0x2A,0xF7,0x36,0x1D,0x91,0x8D,0xEC,0x77,0x6B,0x01,0x16,\r
+0x9C,0x80,0x6C,0x8C,0x04,0x5C,0x24,0x40,0xE6,0x13,0x0F,0x95,0xD4,0xC8,0x5C,0xE8,\r
+0xE8,0xF4,0xCC,0x58,0x92,0x30,0xDE,0x2C,0x70,0x9F,0x83,0x8F,0x6E,0x72,0x63,0x6D,\r
+0x4B,0x57,0x32,0x05,0x5B,0xF7,0xD0,0xEB,0x74,0x50,0x4C,0x44,0x8D,0x91,0xBE,0x53,\r
+0xFC,0xE0,0x88,0x08,0xC7,0x13,0xA8,0x0F,0xA2,0x07,0x1B,0xC5,0xE2,0xFE,0x79,0xFB,\r
+0xFA,0xE6,0xEF,0x69,0x4E,0xC4,0xF6,0xD8,0x94,0xFF,0xE3,0x0B,0xBB,0xA7,0x9B,0x40,\r
+0xE2,0xFE,0xB5,0x2B,0xAA,0xB5,0x63,0xA9,0x39,0xB1,0xAD,0xE8,0x35,0x29,0xF0,0xA5,\r
+0xE7,0xFB,0x80,0x1B,0xFB,0xB6,0x31,0xAA,0xE9,0x3A,0x26,0xB3,0xCF,0xD3,0x4F,0xE0,\r
+0xF5,0xE9,0xA3,0x2A,0xD3,0x37,0x98,0x2B,0x5F,0x59,0x45,0x66,0x6D,0x71,0x32,0x3F,\r
+0xE6,0xFA,0xA1,0x3B,0xCC,0x8C,0x3C,0x90,0x7A,0x97,0x8B,0x8D,0xAF,0xB3,0xCB,0x04,\r
+0x75,0x69,0x2B,0x22,0x54,0x48,0x60,0x54,0x28,0x94,0x88,0xDC,0x85,0x99,0xBC,0x59,\r
+0x1F,0x03,0xB6,0xD5,0x94,0x18,0xF0,0x04,0x6F,0x7D,0x61,0x72,0xAB,0xB7,0xDB,0x10,\r
+0x52,0x4E,0x49,0x67,0xF2,0x21,0xAF,0x3D,0x9A,0x38,0x24,0xC2,0xA4,0xB8,0x98,0x5C,\r
+0x46,0x5A,0x0D,0x37,0x97,0x07,0xEC,0x1B,0x0C,0xB4,0xA8,0xD8,0xF7,0xEB,0x09,0x9E,\r
+0x2F,0x33,0xC2,0x91,0x81,0x2B,0xD6,0x37,0x33,0xB9,0xA5,0xEA,0x2A,0x36,0xF3,0xB9,\r
+0xAB,0xB7,0x5E,0x89,0x5E,0xC0,0xE2,0xDC,0x50,0x70,0x6C,0x40,0xEF,0xF3,0x4B,0xC4,\r
+0x82,0x9E,0x51,0xAF,0x14,0x58,0x30,0x44,0x4A,0xB3,0xAF,0x99,0x09,0x15,0xA6,0xCF,\r
+0x51,0x4D,0x1B,0x36,0xE3,0x32,0xAD,0x2E,0x58,0x6B,0x77,0x53,0xAD,0xB1,0xBA,0x77,\r
+0x2E,0x32,0xE3,0xB1,0x71,0x7E,0x73,0x62,0x4B,0x5D,0x41,0x76,0xBA,0xA6,0xBB,0x61,\r
+0x01,0x1D,0x8B,0xF6,0xD9,0xBF,0x1A,0xA3,0x0B,0x86,0x9A,0xED,0xA1,0xBD,0xA8,0x69,\r
+0x39,0x25,0xF5,0xB0,0xE5,0x1A,0x83,0x06,0xCA,0x28,0x34,0x82,0x4F,0x53,0x47,0x68,\r
+0xBE,0xA2,0x3B,0xF9,0xD0,0x28,0x84,0x34,0x8F,0xD2,0xCE,0x3D,0xC7,0xDB,0x4D,0xEA,\r
+0x5D,0x41,0x05,0x24,0xD7,0x17,0xBC,0x0B,0x36,0x98,0x84,0xCE,0x7A,0x66,0x33,0x29,\r
+0xA4,0xB8,0x12,0xCA,0x9C,0x98,0x78,0x84,0x9F,0x19,0x05,0xE6,0x3B,0x27,0x93,0xC8,\r
+0x74,0x68,0x0A,0x02,0x64,0x4D,0x55,0x51,0xD8,0xF0,0xEC,0x48,0xAE,0xB2,0xEB,0x25,\r
+0xE4,0xF8,0xD2,0x4A,0x11,0x6F,0x02,0x73,0x5D,0x4A,0x56,0x77,0x52,0x4E,0x35,0x07,\r
+0xCC,0xD0,0xFC,0x4C,0x0C,0xDC,0xAC,0xC0,0x15,0x8A,0x96,0xFF,0x29,0x35,0xA2,0xEB,\r
+0xE5,0xF9,0xF3,0x6A,0xF8,0xA9,0x2D,0xB5,0xA6,0xC8,0xD4,0x0E,0x4B,0x57,0x57,0x7C,\r
+0x4A,0x56,0x13,0x25,0x13,0x67,0x08,0x7B,0x2E,0x48,0x54,0x06,0x6C,0x70,0x12,0x1E,\r
+0x40,0x5C,0x6A,0x56,0x6F,0xD2,0xC1,0xCE,0xCE,0xE7,0xFB,0x49,0x3E,0x22,0xA3,0xFD,\r
+0x12,0x0E,0x89,0xE7,0x96,0x10,0xFA,0x0C,0xA7,0x26,0x3A,0xE1,0xF6,0xEA,0x29,0xBF,\r
+0xE9,0xF5,0xED,0x78,0x1C,0xD8,0xB8,0xC4,0x9C,0xE4,0xF8,0x18,0x00,0x1C,0x84,0xE4,\r
+0xAA,0xB6,0x7F,0xA9,0x27,0x42,0x19,0x5E,0xEE,0x08,0x14,0x86,0xF2,0xEE,0x39,0xAB,\r
+0x0D,0x11,0x95,0xE4,0x6B,0xF2,0xE5,0xEE,0x03,0x9D,0x81,0xFE,0x89,0x95,0xAE,0x47,\r
+0x60,0x7C,0x4E,0x52,0xF4,0x09,0x81,0x15,0x93,0xCD,0xD1,0x3E,0x7F,0x63,0x03,0x1C,\r
+0xA0,0xBC,0x06,0xDA,0xB4,0x19,0xD1,0x05,0xD9,0x1E,0x02,0xA7,0x93,0x8F,0x9D,0x6E,\r
+0x5F,0x43,0x76,0x55,0x75,0x5E,0x57,0x42,0x99,0xC5,0xD9,0x3C,0x76,0x6A,0x21,0x37,\r
+0x90,0x8C,0x72,0x9E,0xB8,0xB9,0x7D,0xA5,0xC3,0xDD,0xC1,0x7E,0xC1,0xDD,0x2C,0x8D,\r
+0x3D,0x21,0xE1,0xA0,0xEE,0x85,0x17,0x99,0xFE,0xC3,0xDF,0x5D,0x9C,0x80,0xDE,0x22,\r
+0x9E,0x82,0x1F,0xFD,0x8A,0xB4,0x42,0xA8,0x21,0x61,0x7D,0x20,0x53,0x4F,0x15,0x26,\r
+0x38,0x24,0xD4,0x90,0x2D,0xCA,0x9B,0xD6,0xC5,0x01,0x1D,0xA4,0xCC,0xD0,0x1E,0xB2,\r
+0x73,0x6F,0x4C,0x43,0x10,0x78,0x14,0x64,0xD7,0xD9,0xC5,0x6E,0xAC,0xB0,0x9A,0x56,\r
+0x11,0x0D,0xDB,0xB6,0x85,0x0B,0xF2,0x17,0x45,0x9A,0x86,0xBF,0xC9,0xD5,0x2E,0x87,\r
+0xF6,0xEA,0xF1,0x7B,0xC3,0x33,0x8C,0x2F,0xBE,0x18,0x04,0xC6,0x81,0x9D,0xAC,0x4D,\r
+0x55,0x49,0x0F,0x26,0xC9,0xBB,0x0E,0xA7,0xA9,0xE1,0xFD,0x28,0xDB,0xC7,0x1F,0xA4,\r
+0x62,0x7E,0x3D,0x23,0x0D,0xCB,0xBA,0xD7,0x18,0xB0,0xAC,0xC8,0x71,0x6D,0x60,0x71,\r
+0xE0,0xFC,0xC6,0x5A,0xB2,0x31,0xFF,0x2D,0x01,0x8E,0x92,0xEF,0x1F,0x03,0x87,0xF8,\r
+0x26,0xE2,0x34,0x8F,0xB1,0x3F,0x13,0xDC,0xE1,0x81,0x90,0xEC,0xC5,0x44,0xA8,0x71,\r
+0xB3,0x93,0xD0,0xFE,0xA9,0x65,0x51,0xC4,0x8A,0x0F,0x75,0x62,0x8B,0xE9,0xE6,0x92,\r
+0x00,0xD1,0x21,0xBC,0x00,0xE2,0x7F,0x6D,0xC4,0xB7,0x83,0xDA,0x6A,0xA4,0x07,0x3E,\r
+0x78,0x35,0xBD,0x58,0xB7,0x58,0x72,0xDA,0x03,0xD8,0x2B,0xB5,0x3D,0x72,0x50,0xBF,\r
+0xF4,0x7A,0x7E,0x17,0xD7,0xBC,0xF6,0xBA,0x26,0xEE,0x38,0x83,0x29,0x36,0x44,0xEF,\r
+0x0E,0x16,0xE8,0x7B,0xA3,0x1C,0x22,0xCE,0x19,0x54,0xBD,0x39,0xA5,0xA0,0xC8,0xF5,\r
+0x61,0x0B,0x9A,0x66,0x75,0x63,0x8B,0x18,0xA5,0xB1,0xE4,0xDC,0xF8,0x0F,0x95,0x07,\r
+0x27,0x0C,0xDB,0x61,0x11,0x93,0x1F,0x7C,0x7B,0x4D,0xC6,0x20,0xAB,0xCD,0xC6,0x96,\r
+0x3C,0x21,0xED,0x4C,0x0D,0xDD,0x4D,0x60,0x73,0xCD,0x4E,0xA0,0x8E,0xDC,0xE3,0xA2,\r
+0x06,0x0D,0xFB,0x60,0x64,0x12,0xEB,0x09,0x89,0x10,0x69,0x7D,0x83,0xE3,0xEE,0x90,\r
+0x20,0x3E,0xEE,0x53,0x54,0x66,0xAF,0x39,0xA1,0x91,0xC0,0xFC,0x47,0xBF,0x2A,0x08,\r
+0x7F,0x07,0x88,0x6A,0x19,0x99,0x1D,0x74,0xE2,0x9E,0x8C,0xF3,0x02,0x4A,0x6F,0xB8,\r
+0xEC,0xAA,0xB6,0xC7,0xAD,0x71,0x41,0xC0,0xB1,0x95,0xD4,0xF8,0xAD,0xAA,0xC0,0xF7,\r
+0xB0,0x6E,0x2E,0x03,0x3E,0xFB,0x58,0x53,0xC6,0xBF,0x89,0xD2,0xAE,0xF8,0xC3,0xA6,\r
+0xE1,0x90,0x81,0xFD,0xAC,0x50,0x61,0xC1,0x35,0xF5,0x30,0x98,0x00,0x39,0x6D,0xC9,\r
+0x48,0x11,0xA9,0x7C,0xBE,0x73,0x50,0xD3,0x48,0x57,0xEF,0x3A,0x63,0x8F,0x0E,0x1C,\r
+0x05,0xF0,0x05,0x9D,0xE9,0xA5,0xD1,0x84,0x45,0xE0,0x55,0x8D,0x48,0xF3,0x25,0x4B,\r
+0xD0,0x5A,0x7A,0x37,0x91,0x1B,0x17,0xFC,0x80,0x87,0xF7,0xEA,0xA8,0x9F,0xC5,0xC7,\r
+0xC1,0x7F,0x4E,0x12,0xB2,0x6D,0x42,0xDF,0x12,0xCB,0x29,0xA6,0x30,0x4D,0x5D,0x8D,\r
+0x70,0x2E,0xAE,0x43,0xD4,0xEE,0xA7,0xB9,0xCD,0x20,0x1D,0x4D,0xA1,0xB4,0xCC,0xE5,\r
+0x67,0xD7,0x40,0xBA,0xC2,0xD9,0x86,0xAF,0x6D,0x61,0xFC,0x0C,0xEB,0x0D,0x86,0x16,\r
+0x0A,0xD9,0x23,0xB4,0x1B,0xEA,0x6C,0x76,0x8F,0x38,0x47,0x55,0x4F,0xB5,0x22,0x0A,\r
+0xE5,0x5F,0x4A,0x32,0x34,0x82,0x2B,0x59,0x3F,0x7D,0xB2,0x10,0x42,0x8A,0x2F,0x38,\r
+0x52,0xD2,0x70,0xBF,0x0F,0xAE,0x3C,0x62,0xF1,0x85,0x84,0xE8,0x9A,0x98,0xF7,0xF2,\r
+0x7A,0x26,0xAC,0x4B,0xBB,0x46,0x60,0xD6,0xBE,0x2A,0x64,0x47,0x6F,0x91,0x02,0x0E,\r
+0xB6,0xB2,0xF4,0xDF,0xAA,0x37,0x00,0xC7,0x06,0xEF,0x19,0x82,0xF1,0x24,0x9C,0x25,\r
+0x42,0x19,0xAB,0x74,0x2E,0xAB,0x18,0x43,0xD7,0xAC,0x8B,0xC1,0x9C,0xFF,0xF1,0x93,\r
+0x5E,0x06,0xA8,0x6B,0xE5,0xBB,0xC3,0x88,0xB5,0xB5,0xF0,0xD8,0x0A,0x40,0x67,0xBA,\r
+0xA9,0x50,0x09,0x3D,0x88,0x60,0x75,0xE5,0x7D,0x65,0xE8,0x08,0x4E,0x94,0x23,0x2A,\r
+0x0C,0x05,0xF9,0x68,0x30,0x96,0x3B,0x5D,0xDF,0x2C,0x03,0x41,0x1A,0x10,0x77,0xFA,\r
+0x5A,0xC9,0x63,0xA4,0x31,0xB7,0x1B,0x5C,0x67,0xE9,0x7E,0x84,0x03,0x6B,0x6E,0x98,\r
+0x41,0xE4,0x55,0x89,0xD0,0xFA,0xB7,0xBD,0xBB,0x1D,0x56,0x70,0x28,0x17,0x45,0xCF,\r
+0xAD,0x9F,0xC2,0xF2,0xDB,0xA2,0xE4,0xB6,0x56,0xFB,0x5D,0x96,0xE7,0x13,0x8A,0x04,\r
+0xC7,0xA3,0x94,0xCE,0x76,0x31,0xDA,0x1B,0xA4,0xA6,0xF2,0xCB,0xF9,0x2E,0x94,0x27,\r
+0x01,0x3F,0xCE,0x52,0xEB,0xD6,0xA0,0x86,0xE7,0xA9,0xBE,0xC4,0x24,0x09,0x49,0xDD,\r
+0x87,0x78,0x0F,0x15,0x14,0xA6,0x2F,0x79,0x5B,0x4C,0xE7,0x21,0xFF,0x49,0x92,0x46,\r
+0x35,0xD4,0x11,0xB9,0x46,0x45,0x9E,0x2B,0xD4,0xB3,0x97,0xDE,0xA7,0xD3,0xCA,0x84,\r
+0x51,0x2F,0x8E,0x42,0x2B,0x9E,0x28,0x46,0x79,0x45,0xCC,0x28,0xF7,0x43,0x9A,0x44,\r
+0x68,0xFE,0x66,0x93,0xA2,0x3D,0x02,0xCF,0xFE,0x3A,0x34,0x57,0xDE,0x4C,0xB3,0x62,\r
+0xC9,0x64,0x5D,0x09,0xE1,0xAF,0xD3,0x8C,0x43,0xC8,0x7B,0xA5,0x32,0x3E,0x5F,0xFC,\r
+0x6A,0xED,0x77,0x80,0x29,0xED,0x59,0x44,0x1A,0x4B,0xA1,0x26,0x8A,0xC8,0xE7,0xB2,\r
+0x2F,0x17,0xC8,0x7A,0xAB,0x16,0x20,0xC6,0xFD,0x25,0x28,0x48,0xB4,0xD1,0xD9,0x95,\r
+0x5C,0x15,0xB9,0x78,0xBD,0x21,0x01,0xD0,0xD6,0xBB,0x9D,0xD6,0x22,0x6E,0x4F,0xBC,\r
+0xDE,0x9D,0xB3,0xF0,0x1E,0xDF,0x5C,0x73,0x65,0xE1,0x74,0x8C,0xDB,0x79,0xB6,0x52,\r
+0xC4,0x5E,0x6A,0x33,0x38,0x9C,0x39,0x55,0xE0,0x96,0x86,0xFB,0xE3,0x07,0x8E,0x14,\r
+0x22,0x2D,0xFF,0x40,0x5A,0x0B,0xCC,0x37,0x54,0xF3,0x57,0x9E,0xA0,0x95,0xCD,0xC5,\r
+0x92,0x92,0xF0,0xFF,0xD5,0xCF,0x87,0xB8,0x6F,0x69,0xF6,0x04,0x5B,0xF1,0x36,0x5A,\r
+0x4B,0xEC,0x57,0x81,0x73,0x04,0xEA,0x1E,0x64,0xF6,0x62,0x9B,0x3B,0x15,0x56,0xDE,\r
+0x54,0x0E,0xAA,0x63,0xF5,0xEB,0x83,0x98,0x37,0xFD,0x3A,0x90,0xE8,0x5F,0x85,0x47,\r
+0x6C,0x31,0xAD,0x5C,0x16,0xD5,0x5E,0x7B,0x49,0x40,0xF9,0x2D,0xA2,0xE6,0xCF,0xB4,\r
+0xCA,0x99,0xA3,0xF4,0x4A,0x5B,0x8C,0x27,0xD2,0x9B,0xB9,0xF6,0xBC,0xDB,0xD1,0x97,\r
+0x53,0x3C,0x9F,0x51,0x72,0x25,0xCA,0x1F,0x3D,0x75,0xB8,0x18,0x12,0x1A,0x7F,0xF8,\r
+0x7D,0x14,0x99,0x79,0x1A,0xCB,0x4C,0x77,0xC0,0x97,0xA7,0xFA,0x51,0x88,0x3C,0x29,\r
+0xA3,0x58,0x0B,0x35,0x65,0x33,0xCB,0x08,0xC1,0x80,0xB1,0xED,0x67,0x9B,0x0A,0x0C,\r
+0x32,0xE6,0x24,0x8B,0xE0,0x8E,0xF3,0x8D,0x31,0xD5,0x14,0xB8,0x4A,0x80,0x27,0x3A,\r
+0xE0,0x7E,0x6E,0x13,0xC9,0x81,0xD5,0xA4,0xDC,0x33,0x1F,0x5E,0x89,0x9A,0xE4,0xE3,\r
+0x11,0xF4,0x15,0x99,0x0B,0xBA,0x2C,0x66,0xD9,0x04,0x2D,0x69,0xDD,0x1E,0xB0,0x33,\r
+0x2A,0x36,0xEC,0x5B,0x59,0x59,0x9D,0x34,0x53,0xCC,0x6F,0xA1,0x1C,0x77,0x71,0x9B,\r
+0xFD,0x8F,0x82,0xE2,0xAE,0x23,0x10,0xC3,0x2D,0x71,0xAC,0x1C,0xF2,0x76,0x9F,0x74,\r
+0xD8,0x41,0x69,0x2C,0x01,0xC3,0x5F,0x6C,0x68,0x56,0xCE,0x3B,0x72,0xFE,0x1F,0x7C,\r
+0xD2,0x49,0x6B,0x24,0xAF,0x02,0x30,0xC2,0x4F,0x68,0xD7,0x05,0x70,0x8D,0x1D,0x0D,\r
+0x7C,0xFA,0x76,0x97,0x87,0x2C,0x36,0xEA,0xD8,0x13,0x3B,0x7E,0xB0,0xC5,0xDD,0x85,\r
+0xA8,0xBE,0xE6,0xD3,0xEF,0xC2,0xB0,0x82,0xE9,0x01,0x18,0x6C,0x23,0x4F,0x4E,0x9C,\r
+0x85,0x6B,0x1E,0x06,0x3F,0xDA,0x78,0x52,0x91,0x94,0xF5,0xF9,0xCA,0x08,0xA7,0x32,\r
+0x12,0xA6,0x91,0x3E,0xC5,0x8D,0x6A,0xC2,0x7E,0x86,0xDD,0xD1,0x2A,0xD1,0x71,0xDE,\r
+0x7A,0x5F,0x00,0xAF,0x2E,0x52,0x81,0xF6,0x18,0x05,0x38,0xB7,0x9B,0x31,0x20,0x8F,\r
+0xD4,0x18,0xE9,0x46,0xEE,0xDA,0x41,0xBE,0x25,0x4E,0x4E,0x8A,0xEE,0x9A,0xFE,0x51,\r
+0x58,0x74,0x09,0xA6,0x89,0x1F,0x26,0x1C,0x5D,0xF0,0x88,0xF2,0x3B,0xE5,0x54,0xFB,\r
+0xA7,0x61,0xE3,0x4C,0x73,0xA0,0xDC,0x59,0xF8,0x69,0xB4,0x57,0x0E,0xD5,0x51,0xFE,\r
+0x6D,0x73,0x3B,0x94,0x8B,0x6E,0x24,0x6F,0xC3,0x45,0xA3,0x6C,0xB9,0xEF,0xDC,0x73,\r
+0x89,0xE6,0x4A,0xE5,0x6F,0xF2,0xC0,0x17,0x0E,0x32,0x19,0xA1,0x8C,0xDF,0xD9,0x76,\r
+0x95,0x5E,0xEE,0x41,0x36,0x10,0x99,0xAC,0xD7,0x01,0xF3,0x78,0xE1,0xBC,0xD7,0x78,\r
+0x0C,0x14,0x3D,0x92,0xA2,0x48,0x0D,0x60,0xE2,0x40,0x87,0x4D,0xA9,0x34,0x17,0xB8,\r
+0x25,0xAB,0xAB,0x04,0xBB,0x2A,0x14,0x1B,0x29,0x50,0x5C,0x86,0xB5,0x37,0x08,0xA7,\r
+0x91,0x7A,0xCE,0x61,0x24,0x21,0x8B,0x8F,0x77,0xAD,0xFF,0xD8,0x91,0x33,0x28,0x87,\r
+0xBA,0xCF,0x50,0xFF,0xE1,0x99,0x4E,0xF2,0x66,0xDC,0x9F,0xC9,0x5D,0x6B,0xBC,0x13,\r
+0x07,0x80,0xA2,0x0D,0xE7,0xF8,0x48,0x95,0xFD,0x5C,0x84,0x52,0xB1,0xFC,0xC7,0x68,\r
+0x50,0xFC,0x89,0x26,0x13,0x24,0xBC,0xBD,0x1C,0x11,0x28,0xB3,0xAA,0xCA,0xEA,0x45,\r
+0xB5,0x7F,0xEF,0x40,0x6B,0xE2,0xC4,0x03,0x44,0x8B,0xEA,0xEB,0x42,0x96,0x5E,0xF1,\r
+0x65,0xFB,0xBB,0x14,0x22,0x40,0x8D,0xE8,0xFC,0x7D,0xA4,0x53,0xE7,0x66,0x0B,0xA4,\r
+0xA1,0x4F,0xCB,0x64,0xB9,0x5B,0x16,0x68,0xCC,0x09,0xE0,0x63,0xEB,0xBE,0xDF,0x70,\r
+0x20,0x99,0x9C,0x33,0xD6,0x9C,0x79,0xC0,0x7B,0xB3,0xED,0xD4,0x93,0x22,0x3B,0x94,\r
+0xEE,0xAF,0x64,0xCB,0x8F,0x7E,0x20,0x7B,0x7D,0xD4,0x8C,0xD2,0xCD,0xAB,0xEC,0x43,\r
+0x0D,0x02,0x2A,0x85,0x01,0x15,0xAE,0x9E,0x65,0x8E,0xCE,0xCA,0x58,0x4F,0x9D,0x32,\r
+0x98,0xE4,0x59,0xF6,0xBF,0x3A,0x10,0x0F,0xB9,0x88,0x14,0x16,0x8A,0x05,0x05,0xAA,\r
+0x09,0x26,0x0A,0xA5,0x43,0xE4,0xEC,0x2D,0xDD,0x78,0x80,0x72,0xCC,0x44,0x02,0xAD,\r
+0x70,0xDD,0x88,0x27,0xE0,0xB9,0x4F,0xD3,0x1B,0x57,0x69,0xB4,0x1F,0xE1,0x74,0xDB,\r
+0x6A,0x4B,0x04,0xAB,0x5A,0x86,0xF5,0x56,0x6F,0xF7,0xBD,0xC0,0xE5,0x77,0x18,0xB7,\r
+0x97,0x54,0xE6,0x49,0x9F,0x3E,0x30,0x2B,0x98,0x8D,0x30,0x37,0xCB,0x71,0x30,0x9F,\r
+0x27,0xA1,0xA3,0x0C,0x90,0x7D,0x3F,0x67,0xD5,0x72,0x82,0x7A,0x94,0x17,0x09,0xA6,\r
+0x3D,0x37,0x2F,0x80,0xC3,0xEC,0x6C,0xA5,0xC1,0x36,0xD2,0x6E,0xD7,0x72,0x2F,0x80,\r
+0x0F,0x08,0x22,0x8D,0x1E,0x16,0xB1,0x82,0xA8,0xF9,0x74,0x07,0xED,0x64,0x03,0xAC,\r
+0x56,0xD2,0xA1,0x0E,0xFB,0xAA,0x54,0xDB,0x60,0xBB,0xFE,0xCF,0x0A,0x1E,0x9E,0x31,\r
+0x83,0x64,0xC2,0x6D,0x59,0xD7,0xF6,0x04,0x72,0x98,0xCF,0xDD,0xA3,0x36,0x1F,0xB0,\r
+0x68,0x41,0x0C,0xA3,0x9B,0x2E,0x34,0x3F,0x61,0x9A,0xDE,0xCE,0x07,0x29,0xA4,0x0B,\r
+0x39,0x13,0x0F,0xA0,0xB1,0x59,0x1E,0x62,0xF2,0x10,0xC7,0x5D,0x5B,0xB1,0x60,0xCF,\r
+0x08,0x30,0x1D,0xB2,0x95,0x4D,0x3A,0x52,0x86,0xB0,0x13,0x29,0x21,0x3C,0x97,0x38,\r
+0x67,0xF1,0xB3,0x1C,0x7B,0xA2,0xD4,0x53,0xBE,0xCE,0x55,0x11,0xB8,0x00,0x32,0x9D,\r
+0xD8,0xB4,0x49,0xE6,0xF3,0xA8,0x5C,0xD1,0x39,0x00,0x1C,0x96,0xBF,0x35,0x00,0xAF,\r
+0x2B,0x0D,0x03,0xAC,0x4E,0xD6,0xE1,0x12,0xDA,0x3E,0xC1,0x75,0x87,0x32,0x3F,0x90,\r
+0xA5,0x6B,0xEB,0x44,0xDB,0xAE,0x74,0xFF,0x2C,0x65,0x6C,0x83,0xD9,0xBB,0xE8,0x47,\r
+0x7C,0x71,0x28,0x87,0x3D,0x43,0x92,0xF4,0x05,0x6A,0x4A,0xAA,0x0B,0xF1,0x70,0xDF,\r
+0xB6,0x63,0xF0,0x5F,0x99,0x5F,0x36,0x4C,0xD6,0x20,0xD3,0x79,0x96,0x06,0x1A,0xB5,\r
+0x93,0x70,0xC6,0x69,0x8E,0x5E,0x21,0x5A,0xA9,0xD8,0x54,0x06,0x48,0x94,0x56,0xF9,\r
+0xEB,0x9D,0x53,0xFC,0x7F,0xB2,0xD0,0x47,0x62,0xC8,0x8F,0xCD,0x16,0x1D,0x81,0x2E,\r
+0xE3,0x15,0xD3,0x7C,0x58,0xF7,0xF7,0x25,0xCD,0x28,0xC0,0x62,0x33,0xF6,0x4F,0xE0,\r
+0xAC,0xF5,0x7C,0xD3,0x0A,0x46,0xA5,0xC6,0xC7,0x51,0xB3,0x68,0xFA,0x8A,0xFA,0x55,\r
+0x04,0x9C,0xBD,0x12,0xC2,0xCC,0x6D,0x84,0x95,0xB2,0x02,0x3A,0xC1,0x73,0x38,0x97,\r
+0x03,0xA4,0x82,0x2D,0x0F,0x76,0xA0,0xF3,0x23,0x29,0x2F,0x8C,0x43,0x79,0xB0,0x1F,\r
+0xAD,0xE3,0x6B,0xC4,0x9A,0x0E,0x35,0x1E,0xF3,0x31,0xE7,0x5C,0x6E,0x81,0x65,0xCA,\r
+0x92,0x66,0xD1,0x7E,0x66,0xD0,0xC9,0x3C,0x63,0xE9,0xAF,0xCC,0x39,0xF4,0x47,0xE8,\r
+0x1A,0x2E,0x11,0xBE,0x1D,0x47,0xB2,0xD0,0x4B,0xC7,0xA9,0xE4,0x97,0xE9,0xF4,0x5B,\r
+0x42,0xE2,0x85,0x2A,0xA7,0x78,0x08,0x55,0x27,0x3D,0x3F,0x88,0xEA,0x51,0x31,0x9E,\r
+0xD9,0xA2,0x5E,0xF1,0x42,0xC4,0xED,0x0C,0xD8,0x4D,0xB0,0x77,0x6C,0x90,0x76,0xD9,\r
+0x9B,0xF8,0x46,0xE9,0xF5,0xC9,0x5A,0xB6,0x17,0x49,0x7B,0xB8,0x46,0x5D,0x91,0x3E,\r
+0xB8,0xC5,0x58,0xF7,0xA8,0x3B,0x07,0x19,0xBA,0xDA,0x45,0x15,0x2C,0x0B,0xAD,0x02,\r
+0xFD,0xA7,0x7F,0xD0,0x34,0x61,0x9B,0xDF,0x6E,0xD6,0x9D,0xC1,0x83,0xF9,0xF0,0x5F,\r
+0x63,0xD5,0x93,0x3C,0xC6,0xDC,0x69,0x90,0x2D,0x44,0x4C,0x82,0x22,0xC2,0x6A,0xC5,\r
+0x1B,0x38,0x06,0xA9,0xBD,0x4B,0x12,0x7C,0x8A,0xAE,0x01,0x25,0xDE,0x8E,0xDA,0x75,\r
+0xDB,0xA8,0x56,0xF9,0x4B,0xE6,0xE4,0x27,0xE7,0x75,0xB7,0x48,0xBA,0x11,0x21,0x8E,\r
+0x23,0x85,0x83,0x2C,0xB5,0x49,0x1A,0x76,0x71,0xCA,0x9E,0xDE,0xB7,0x26,0x1B,0xB4,\r
+0xCD,0x92,0x7A,0xD5,0xEF,0xFA,0x40,0x9F,0xD2,0x34,0xC3,0x7D,0x35,0x2C,0x93,0x3C,\r
+0x2D,0x23,0x2B,0x84,0x45,0x85,0xEA,0x4A,0xE5,0x06,0xC6,0x4A,0x81,0xE8,0xE3,0x4C,\r
+0x0A,0x3A,0x15,0xBA,0x2B,0x62,0x84,0xC3,0x67,0xFD,0xBF,0xC8,0xC4,0x57,0x19,0xB6,\r
+0xC5,0x1A,0xFA,0x55,0x67,0xF0,0xC8,0x1D,0x19,0x24,0x18,0xB6,0x79,0x6F,0x9C,0x33,\r
+0x41,0xFE,0x9A,0x35,0xF8,0xFB,0x57,0x89,0xBF,0xEF,0x75,0x10,0xA0,0xC8,0xE2,0x4D,\r
+0x8B,0xEC,0x42,0xED,0x98,0x7F,0x37,0x6D,0xF4,0x77,0xA6,0x5B,0x2F,0xF5,0x50,0xFF,\r
+0x5A,0x7E,0x01,0xAE,0xFD,0xCB,0x52,0xBC,0x96,0xE0,0x53,0x39,0xC9,0x60,0x23,0x8C,\r
+0x47,0xD6,0x5F,0x90,0x0C,0x10,0xC3,0x1D,0x09,0xC6,0x25,0x2D,0xC3,0xB5,0x7A,0xB8,\r
+0x04,0x9A,0x50,0x9F,0x49,0xE5,0x86,0xAD,0x30,0xFF,0x7A,0x4B,0x3C,0xF8,0x37,0x0A,\r
+0x2C,0x33,0xD1,0x1E,0x8D,0xB9,0x42,0x35,0x03,0xCC,0x5C,0x5E,0x48,0xC8,0x07,0x4E,\r
+0xD6,0x14,0x0C,0xC3,0x80,0x86,0x4F,0x07,0x2F,0xE0,0x66,0x48,0x87,0xA1,0x6E,0xE8,\r
+0xED,0xB5,0x96,0x59,0x6D,0xD5,0xA2,0xB9,0x1F,0xD0,0x12,0x0C,0x29,0x12,0xDD,0xF5,\r
+0x90,0x6A,0x34,0xFB,0x0E,0x63,0xC1,0x6C,0x9E,0x51,0xBB,0x24,0x0A,0x00,0xCF,0xC4,\r
+0x63,0xD3,0x7E,0xB1,0xA0,0xA2,0x6F,0x03,0x60,0xAF,0xEA,0x8B,0xA1,0x92,0x5D,0xFD,\r
+0x14,0x8E,0x54,0x9B,0xA3,0xF0,0x6C,0x52,0xA4,0x6B,0xB6,0x13,0x2B,0x01,0xCE,0xE4,\r
+0xA6,0x71,0x19,0xD6,0x33,0x28,0xFC,0x1A,0x3B,0xF4,0x22,0x18,0x02,0x1B,0xD4,0xD7,\r
+0x61,0xD9,0x76,0xB9,0x64,0xFE,0xAB,0x9B,0xDF,0x10,0x5A,0x84,0xB8,0xAC,0x63,0xDA,\r
+0x2F,0x2F,0xCE,0x01,0x85,0xB3,0x4A,0x37,0x9D,0x52,0xE9,0x75,0x3F,0x05,0xCA,0xF4,\r
+0x44,0xCA,0x40,0x8F,0xCB,0x1E,0x04,0xD4,0xEC,0x23,0x7C,0x91,0x65,0x1D,0xD2,0xB6,\r
+0xDE,0x9C,0x8C,0x43,0xA5,0x97,0x6A,0x33,0x02,0xCD,0x7D,0x7E,0xC9,0xBD,0x72,0xBA,\r
+0x00,0xBE,0x70,0xBF,0xF6,0x55,0x39,0xA2,0x05,0xCA,0x3B,0x3F,0x39,0xD9,0x16,0x2E,\r
+0xBC,0xE7,0x95,0x5A,0xAB,0xFA,0x64,0x50,0x18,0xD7,0x54,0x4D,0x46,0x0F,0xC0,0x87,\r
+0x83,0x62,0x2F,0xE0,0x27,0x6C,0xE8,0x4A,0x74,0xBB,0xAE,0xDB,0xE6,0x7B,0xB4,0x53,\r
+0x10,0xAA,0x74,0xBB,0x04,0x1A,0xCB,0x1F,0x08,0xC7,0x04,0x0D,0xE1,0x49,0x86,0x66,\r
+0x72,0xD1,0x6D,0xA2,0x92,0xA5,0x5D,0x36,0x17,0xD8,0x18,0x0E,0xF1,0x82,0x4D,0xBD,\r
+0xA3,0x43,0x2E,0xE1,0xFF,0x7E,0x30,0x80,0xBC,0x73,0xEC,0x51,0x6D,0x06,0xC9,0xA5,\r
+0x1B,0x3E,0xEB,0x24,0x61,0xCB,0xAE,0xAB,0x28,0xE7,0x20,0x09,0x1C,0x17,0xD8,0xC5,\r
+0x1E,0x0C,0xDC,0x13,0x26,0x4D,0xE9,0x6A,0xEA,0x25,0x1B,0xF0,0xA0,0x7C,0xB3,0x12,\r
+0xC2,0x24,0x28,0xE7,0x0D,0x31,0xC2,0x3D,0xC7,0x08,0x00,0xC6,0xED,0x9D,0x52,0xBE,\r
+0x7A,0x59,0xED,0x22,0x14,0x4A,0xDB,0x5F,0x0B,0xC4,0x56,0x5C,0xCC,0x9C,0x53,0x9E,\r
+0xD8,0xB2,0xA4,0x6B,0x40,0xCE,0x8F,0x8F,0x5E,0x91,0xF3,0xAC,0x3A,0x24,0xEB,0xD0,\r
+0x68,0x47,0xE1,0x2E,0xAF,0xEE,0x60,0x40,0x20,0xEF,0x2A,0x0B,0xB4,0x78,0xB7,0x02,\r
+0xB7,0x73,0x0A,0xC5,0x3E,0x17,0xF1,0x28,0x71,0xBE,0x9B,0xEB,0x37,0x1E,0xD1,0xE7,\r
+0x25,0xAD,0x46,0x89,0xA6,0xC5,0x69,0x62,0x54,0x9B,0x8A,0xDF,0x41,0x3D,0xF2,0xB2,\r
+0xE0,0x0F,0x21,0xEE,0x46,0xA9,0x89,0xEE,0xFE,0x31,0x5F,0xA0,0xFF,0x45,0x8A,0x74,\r
+0x54,0xDE,0x44,0x8B,0x94,0xC2,0x5B,0x57,0xDC,0x13,0x08,0xD5,0xF4,0xA3,0x6C,0x99,\r
+0x9A,0xE8,0xBC,0x73,0x4C,0xD0,0x83,0x9D,0x51,0x9E,0xBF,0xEF,0xD8,0x98,0x57,0x8E,\r
+0x2A,0x1D,0xF9,0x36,0x41,0xEF,0x8E,0xAF,0xD7,0x18,0x50,0x86,0xB0,0xB7,0x78,0xC9,\r
+0xC8,0xA6,0xA0,0x6F,0xE5,0x57,0x2A,0xB3,0xD9,0x16,0x3D,0xE5,0x83,0x6E,0xA1,0x23,\r
+0xC0,0x2E,0x20,0xEF,0xD5,0x23,0x1A,0xF7,0x93,0x5C,0x84,0x16,0x85,0xB2,0x7D,0xF9,\r
+0x73,0xC7,0x7A,0xB5,0x2C,0x34,0xE3,0x19,0x1B,0xD4,0x06,0x1C,0x7B,0x11,0xDE,0xA4,\r
+0x58,0x72,0xE4,0x2B,0xBA,0x8B,0x75,0x30,0x19,0xD6,0x75,0x6D,0x4C,0x07,0xC8,0x85,\r
+0xBF,0xFB,0x8A,0x45,0x84,0x92,0x4B,0x17,0xE3,0x2C,0x30,0xD2,0xB7,0x85,0x4A,0xFC,\r
+0xC1,0x38,0x37,0xF8,0x35,0x4F,0xFA,0x7B,0xE2,0x2D,0x11,0xF2,0x5E,0xDF,0x10,0x4F,\r
+0xCA,0xAC,0xA8,0x67,0x55,0xAB,0x9A,0xFF,0x9C,0x53,0xC8,0x55,0x95,0x79,0xB6,0x22,\r
+0xF1,0x0D,0x32,0xFD,0xAE,0xCF,0x61,0x60,0x23,0xEC,0x78,0x5A,0x51,0xF6,0x39,0x69,\r
+0x45,0xDC,0x57,0x98,0xED,0x5D,0x22,0xB1,0x50,0x9F,0x9E,0xCF,0xC6,0x94,0x5B,0x9C,\r
+0xFE,0xBD,0x8D,0x42,0xF1,0x13,0x3E,0xE3,0x76,0xB9,0xDD,0xAA,0xFC,0xB8,0x77,0x8A,\r
+0x42,0xE4,0x68,0xA7,0x2A,0x53,0xE5,0x78,0x31,0xFE,0x5B,0x6B,0x8C,0x47,0x88,0x05,\r
+0x01,0xA8,0x67,0xA8,0xF7,0x74,0x38,0x82,0xAD,0x62,0x9D,0x31,0x6B,0xDA,0x15,0x7F,\r
+0xF3,0x07,0x3A,0xF5,0xE9,0x49,0x26,0xA1,0x91,0x5E,0xF7,0x67,0xF8,0x77,0xB8,0x41,\r
+0xE6,0x21,0x09,0xC6,0x3C,0x64,0xF3,0x59,0x6A,0xA5,0x93,0xF8,0xF5,0x4D,0x82,0x76,\r
+0x5B,0x6E,0xFB,0x34,0xD0,0x16,0x1F,0xC7,0xF0,0x3F,0x32,0xC3,0x67,0x0E,0xC1,0xA7,\r
+0xDC,0x96,0x84,0x4B,0xF9,0x19,0x36,0xE1,0x21,0xEE,0x0B,0x2B,0xC4,0x87,0x48,0x8D,\r
+0x71,0xCD,0x72,0xBD,0xA9,0x89,0x66,0x21,0xDA,0x15,0x6F,0xB4,0x1F,0xEA,0x25,0x3B,\r
+0xCD,0x94,0x97,0x58,0x7C,0xA4,0xB3,0xD9,0x4F,0x80,0x82,0xCC,0x99,0xAD,0x62,0xFA,\r
+0x88,0xF6,0xB0,0x7F,0xFC,0x2C,0x33,0xD1,0x81,0x4E,0xA7,0x27,0x79,0x02,0xCD,0xB5,\r
+0xF6,0x35,0x0D,0xC2,0x12,0x2D,0xDD,0x3E,0x38,0xF7,0x70,0x49,0x03,0xF5,0x3A,0x38,\r
+0x7C,0x77,0xC5,0x0A,0xD3,0x44,0x1C,0x96,0xFA,0x35,0x4B,0xB0,0xE0,0xA7,0x68,0x89,\r
+0x34,0xAF,0x55,0x9A,0xC4,0x52,0x0B,0x97,0x65,0xAA,0xDF,0xBB,0x80,0x93,0x5C,0xDD,\r
+0x4C,0x42,0xC0,0x0F,0x2D,0x15,0xE2,0x39,0xB0,0x7F,0xF2,0x43,0x98,0x43,0x8C,0x15,\r
+0x7D,0x61,0xD2,0x1D,0xBE,0x9F,0x71,0x20,0xF4,0x3B,0x26,0xD3,0x76,0x2B,0xE4,0x93,\r
+0xEA,0x8D,0xA9,0x66,0x7E,0xD7,0xB1,0xA8,0x47,0x88,0x88,0xCE,0x58,0x03,0xCC,0x95,\r
+0x98,0xE2,0xB4,0x7B,0x1C,0x40,0xD3,0x5D,0x32,0xFD,0x09,0x3A,0x7F,0xDE,0x11,0x6F,\r
+0x77,0xE3,0x5A,0x95,0xB2,0x81,0x7D,0x32,0x97,0x58,0x90,0x06,0x01,0xE6,0x29,0x29,\r
+0xEC,0xA3,0x81,0x4E,0xAC,0xBC,0x63,0x11,0x3F,0xF0,0x36,0x08,0x8F,0xBA,0x75,0xFB,\r
+0x92,0x60,0x3C,0xF3,0xE6,0x05,0x29,0xE2,0x00,0xCF,0x0E,0x0F,0xB1,0x59,0x96,0x26,\r
+0x79,0x45,0xF2,0x3D,0x87,0xC0,0x48,0x46,0x70,0xBF,0xBA,0xCB,0xDB,0x65,0xAA,0x70,\r
+0x94,0x4E,0x14,0xDB,0x44,0xDA,0x8B,0x9F,0xE8,0x27,0x68,0x81,0xD4,0x4C,0x83,0x56,\r
+0x64,0xEB,0x41,0x8E,0x69,0xC1,0xA6,0xA9,0x56,0x99,0xF9,0xAE,0x69,0xC9,0x06,0x6E,\r
+0x65,0xFD,0x56,0x99,0x5F,0xD2,0x90,0x8C,0x1A,0xD5,0x27,0x3C,0x91,0xB6,0x79,0xE9,\r
+0xE2,0xB1,0xF7,0xF8,0xDB,0xE4,0x81,0xC1,0xF5,0xC8,0x83,0xEF,0x46,0x6A,0x92,0x88,\r
+0xDA,0xF7,0x89,0xC0,0x7E,0xD8,0x18,0x64,0x5B,0x09,0xEC,0x41,0xA9,0x6B,0x7C,0x66,\r
+0x86,0x25,0x07,0x9C,0xD6,0xD6,0xBE,0xCC,0x45,0x34,0xCF,0x5F,0x32,0x2B,0xA7,0xBD,\r
+0x65,0xF8,0x39,0x7F,0xE9,0xD1,0x86,0xF3,0x0F,0x8D,0x3C,0x15,0x4C,0xE8,0x1A,0x00,\r
+0x59,0xAE,0x53,0x43,0x99,0x15,0x32,0x83,0x6E,0x48,0x98,0x74,0xA7,0xCD,0xD4,0xCE,\r
+0x70,0x88,0x5C,0x6A,0x01,0x5F,0xE0,0x1B,0xAD,0x52,0x41,0xB7,0x4A,0xC6,0x32,0x28,\r
+0xF5,0xB0,0xE1,0xEF,0xBF,0x70,0x71,0xA5,0x80,0x49,0x77,0x9A,0xBA,0x63,0x67,0x7D,\r
+0x8A,0x37,0x19,0x90,0xF3,0xE2,0xAF,0xE9,0xB6,0x5A,0x52,0xAC,0xBB,0x75,0x70,0x6A,\r
+0x91,0x24,0x11,0x8B,0xA6,0x12,0x0A,0xBC,0x95,0x2C,0x07,0x8F,0x13,0x1C,0xB1,0xAB,\r
+0x3E,0x6B,0xF1,0x24,0x68,0xF9,0x2F,0x72,0x15,0xA4,0x0F,0x0F,0x56,0x7E,0x96,0x8C,\r
+0xC9,0xE6,0x8B,0xD3,0xD1,0x97,0xF8,0xCB,0xFB,0xA5,0xE0,0xE1,0x28,0xBD,0x2B,0x31,\r
+0x9B,0x57,0x68,0x81,0x13,0x6E,0xC3,0x09,0x3A,0xCC,0x48,0x20,0xA2,0xFF,0xE3,0xF9,\r
+0xAF,0x03,0x08,0xB5,0x8C,0x65,0x57,0x96,0x2D,0xDA,0x49,0x37,0xEA,0x27,0x73,0x69,\r
+0x7F,0xCB,0x10,0x65,0x59,0x9D,0x7A,0x43,0xC4,0x9D,0xE7,0xDE,0x92,0xCA,0xE6,0xFC,\r
+0x17,0x4D,0xFE,0x0D,0x1D,0x0D,0xAE,0x07,0x57,0x17,0xFE,0x4D,0xA3,0xE9,0xF4,0xEE,\r
+0x3F,0x4B,0xD0,0x25,0xAE,0x10,0x00,0xB4,0x97,0x5F,0x76,0x8D,0x34,0x05,0x8F,0x95,\r
+0x84,0x54,0x74,0x9E,0x9F,0x74,0x55,0x85,0x18,0x9B,0x3D,0x02,0x20,0x35,0xAB,0xB1,\r
+0x7B,0xDB,0x04,0x61,0xD8,0xB5,0xD3,0xC2,0xC3,0xDB,0xA6,0xD9,0x9C,0x6C,0x4E,0x54,\r
+0xE6,0xA1,0xE3,0xFC,0x44,0xEF,0x15,0x5E,0x1E,0xFC,0x5C,0x04,0xDF,0x20,0x41,0x5B,\r
+0x4B,0x9F,0x70,0x51,0x78,0xB9,0x7F,0x62,0x00,0xC1,0x7F,0x1A,0x2D,0x8F,0x1C,0x06,\r
+0x71,0xA8,0x7D,0x6B,0x83,0x26,0x1B,0x99,0xD5,0xEC,0x87,0xCF,0x38,0xA9,0x2F,0x35,\r
+0x32,0x79,0xEF,0x28,0x19,0x1D,0xBA,0x03,0x39,0x9E,0x19,0x23,0x85,0xE6,0xDD,0xC7,\r
+0xBB,0x53,0x4C,0xA1,0xC8,0xF5,0x83,0xD2,0x10,0x91,0x3F,0x0A,0x02,0x1E,0xA2,0xB8,\r
+0xD6,0xE5,0x97,0xCC,0x33,0x6A,0xE7,0x29,0x40,0x01,0xFF,0x5A,0xAF,0x45,0x54,0x4E,\r
+0x8E,0x27,0x0D,0x94,0x7A,0xC8,0x0C,0x60,0x3C,0xAB,0x29,0x26,0x1E,0xA6,0x06,0x1C,\r
+0x2D,0x7A,0xF3,0x37,0xF2,0xC2,0x8E,0xE8,0xC5,0xBC,0xC7,0xDF,0xAD,0x4F,0x5C,0x46,\r
+0x3B,0x5B,0xC4,0x21,0xF0,0xB3,0xFD,0xEA,0x53,0x03,0xEE,0x49,0x86,0xFA,0xC2,0xD8,\r
+0xB9,0x22,0x3F,0xA3,0x0A,0x0C,0xB8,0x10,0x6D,0x1A,0xC9,0x77,0x61,0x73,0xAC,0xB6,\r
+0xE3,0x91,0xD6,0xF9,0x0B,0x2C,0x99,0x11,0xDC,0xC7,0xA5,0xC6,0x1F,0xB0,0x11,0x0B,\r
+0x45,0xFC,0x1D,0x5F,0x75,0x8B,0x40,0x6F,0xBC,0x23,0x21,0xA6,0x14,0x24,0x8E,0x94,\r
+0xCA,0xB7,0xD9,0xD0,0xCA,0x84,0xF0,0xD0,0x47,0x47,0xBE,0x5D,0x2F,0x85,0x14,0x0E,\r
+0xA8,0x42,0x4E,0xB2,0xB9,0x11,0x16,0xA3,0x04,0xD5,0x6F,0x1E,0x9B,0x54,0x71,0x6B,\r
+0x44,0xDC,0x3C,0x5E,0xC9,0xD5,0xA2,0xD3,0x46,0x66,0x9E,0x5C,0xB6,0xCF,0xC7,0xDD,\r
+0x22,0x39,0xBF,0x38,0x98,0x35,0x13,0x82,0xD7,0x9F,0xF6,0xCD,0x69,0xFB,0x2C,0x36,\r
+0x01,0x6C,0xC9,0x1B,0xBD,0x01,0x02,0xA7,0x4F,0x4D,0xBC,0x55,0xFB,0x25,0x60,0x7A,\r
+0x79,0xAA,0x77,0x63,0x17,0x7E,0xD7,0x0D,0xAF,0x21,0x30,0xB5,0x3E,0x87,0x07,0x1D,\r
+0x9F,0x47,0x7C,0x85,0x35,0x0B,0x80,0x2F,0x7D,0x4A,0x89,0x67,0x8A,0x56,0x62,0x78,\r
+0xA4,0x50,0x50,0xBE,0xB8,0x31,0x37,0xA2,0xA5,0x58,0x43,0xBF,0x44,0x60,0x9A,0x80,\r
+0x8B,0x17,0x38,0x91,0x3E,0x58,0xD8,0x24,0xA8,0x67,0x71,0xB2,0xF4,0x95,0xDF,0xC5,\r
+0x52,0xFD,0x0B,0x48,0x30,0x3B,0xB5,0x2A,0x0C,0xDF,0x6D,0x16,0x16,0x2E,0x86,0x9C,\r
+0x75,0xB8,0x69,0x6F,0xE1,0xD3,0x8C,0xFB,0xED,0x92,0xC1,0xF7,0xCE,0x22,0x52,0x48,\r
+0xBE,0x63,0x79,0xA4,0xFE,0xD0,0x90,0xE4,0x7B,0x2D,0xE8,0x61,0xAC,0x59,0x4B,0x51,\r
+0x3A,0x7B,0xE5,0x20,0x55,0x8F,0x64,0x4F,0x16,0xF6,0x5E,0x0C,0x7D,0xCB,0x08,0x12,\r
+0x2B,0x1B,0x94,0x31,0xC1,0xD7,0xA8,0xDB,0x88,0x43,0x75,0x92,0xC5,0xB6,0xCD,0xD7,\r
+0x40,0xCC,0x28,0x5A,0x03,0x2E,0x93,0x19,0xCF,0xC5,0xB4,0xD5,0xC0,0x84,0xFA,0xE0,\r
+0xA1,0x60,0x65,0xBB,0x2E,0x18,0x88,0x34,0xE4,0xB9,0xE3,0xFE,0x1C,0xAC,0x0E,0x14,\r
+0xA0,0x40,0x44,0xBA,0xE2,0x82,0xDE,0xF8,0xFD,0xC2,0x81,0xE7,0xA4,0xD1,0xCB,0xD1,\r
+0x18,0x0E,0xB2,0x02,0xB7,0x72,0x7B,0xAD,0xA9,0x46,0x51,0xB3,0x06,0x3A,0x82,0x98,\r
+0x27,0x09,0x8A,0x3D,0xD2,0xC6,0xAA,0xC8,0xDA,0xA0,0xC4,0xC0,0x78,0xF9,0x3F,0x25,\r
+0x90,0x04,0x30,0x8A,0x36,0x5A,0xD2,0x2C,0x8D,0x76,0x45,0x97,0xBF,0x51,0x50,0x4A,\r
+0x39,0x2A,0xB7,0x23,0x74,0xAB,0x61,0x6E,0x6C,0x3B,0xE9,0x76,0xF1,0xA7,0xE8,0xF2,\r
+0x21,0x68,0xED,0x3B,0x05,0x4F,0xF4,0x1F,0x22,0x96,0x0A,0x38,0x9A,0x42,0x66,0x7C,\r
+0x81,0x64,0x41,0x9B,0xEB,0xA0,0xF5,0xF1,0x4C,0x1F,0xED,0x56,0x00,0x14,0xAA,0xB0,\r
+0xE5,0xF0,0xB1,0xFF,0xEC,0xE1,0xB3,0xF6,0x1F,0xDD,0x7C,0x05,0xDE,0x36,0x56,0x4C,\r
+0x33,0x59,0xCE,0x29,0xF1,0x93,0xDC,0xEB,0x42,0x72,0x8E,0x58,0x62,0x6F,0xB3,0xA9,\r
+0x47,0x8D,0x6E,0x5D,0x9D,0x05,0x26,0x87,0xCE,0xE4,0x94,0xD4,0x5D,0xEA,0x09,0x13,\r
+0x89,0x66,0x4B,0x93,0xE0,0xF3,0xAD,0xFA,0xE5,0x98,0xC3,0xFF,0x99,0x5E,0x79,0x63,\r
+0xC4,0xD4,0xB4,0xDE,0xD9,0x95,0xF2,0xC3,0xA0,0x6D,0x73,0xBA,0xDA,0x12,0x76,0x6C,\r
+0xF4,0x90,0xC0,0xEE,0xEA,0x80,0xD4,0xF0,0x64,0x31,0xEB,0x7E,0xF2,0xBB,0xF7,0xED,\r
+0x9D,0x36,0x0F,0x87,0xC6,0x96,0xEE,0xDC,0x69,0x0E,0xD9,0x73,0x08,0x9C,0x2A,0x30,\r
+0x2E,0x2B,0xA1,0x34,0xF6,0xD2,0x9A,0xEC,0x84,0x5D,0x67,0x9E,0x33,0x3D,0xB0,0xAA,\r
+0x3C,0x1A,0x82,0x26,0x77,0xFA,0x33,0x6D,0xE7,0xEB,0xB2,0xFD,0x4E,0xE2,0x12,0x08,\r
+0xAE,0x23,0x29,0xB4,0x89,0x55,0x62,0x93,0x49,0x2A,0xDD,0x53,0xBD,0x5B,0x58,0x42,\r
+0x3D,0x3A,0xA3,0x27,0x4D,0xCD,0x3E,0x57,0x4A,0x78,0x8C,0x50,0xCA,0x06,0x72,0x68,\r
+0xFC,0xF4,0xF5,0x9E,0x02,0x70,0xED,0x78,0x58,0xAF,0x68,0x60,0x3F,0x2E,0x8E,0x37,\r
+0x72,0x7A,0x9E,0x7B,0xAF,0x3E,0x0E,0x36,0xCD,0x4B,0x19,0x11,0x27,0x6C,0xD4,0x2F,\r
+0x2B,0x23,0x7C,0xC0,0x99,0xC6,0xC0,0xCE,0x93,0xC2,0xCE,0xC6,0x21,0x0D,0xB3,0x29,\r
+0x44,0x4C,0xBB,0x68,0x4F,0x91,0x41,0x99,0xEB,0x5E,0x2A,0x22,0x96,0x00,0x09,0x9E,\r
+0xA7,0xAF,0x66,0x56,0x4B,0x5E,0x8A,0x56,0xE5,0x97,0xED,0xE5,0x35,0x5D,0xF7,0x3D,\r
+0x1D,0x15,0x59,0xD3,0xDD,0xD2,0x90,0xDA,0x1F,0x01,0x81,0x89,0x41,0x89,0x57,0x49,\r
+0xBE,0xB6,0x04,0x2D,0x26,0x50,0xE9,0x58,0xCC,0xA4,0xF7,0xFF,0x87,0x60,0x78,0x8F,\r
+0x42,0x4A,0xDA,0x0F,0xE4,0x03,0x78,0x0B,0x8A,0xE5,0xF0,0xF8,0xE3,0xF4,0x88,0xEB,\r
+0xE3,0xEB,0xF6,0x82,0x08,0x78,0xEF,0x70,0xED,0x84,0xF6,0xFE,0xF2,0x94,0xF9,0xFA,\r
+0x3E,0x36,0x0C,0xA5,0x37,0x75,0xDD,0x7D,0xD7,0x92,0xDA,0xD2,0x9B,0x32,0x36,0x93,\r
+0x6D,0x65,0x9D,0x67,0xA1,0xF9,0xC7,0xF1,0x94,0xF7,0xFC,0xF4,0x8F,0x62,0x72,0x87,\r
+0x62,0x6A,0xDE,0x2B,0x54,0xBC,0x77,0xB4,0xCB,0x91,0xC5,0xCD,0xC2,0xD0,0x8D,0xCA,\r
+0x4C,0x44,0xB9,0x62,0x13,0x55,0xD9,0x5D,0x5B,0x51,0x95,0x9D,0xA8,0x27,0x10,0xA0,\r
+0x66,0x6E,0xCE,0x3F,0x41,0x56,0x88,0x5E,0x07,0xC9,0x51,0x59,0x3B,0x3E,0x9A,0x33,\r
+0xA4,0xAC,0x37,0x04,0x64,0x98,0x63,0x90,0xA3,0xD6,0xEA,0xE2,0x28,0x2F,0x98,0x20,\r
+0x06,0x0E,0x4A,0xDB,0xD2,0xFB,0xB6,0xF3,0x0A,0xFE,0x6B,0x63,0x3A,0x1E,0xBB,0x32,\r
+0x74,0x7C,0xFF,0x1C,0x74,0x53,0xB8,0x5B,0x3B,0x05,0xA1,0xA9,0x07,0x68,0xF0,0x0F,\r
+0x13,0x1B,0x3A,0xBE,0x18,0xB3,0x34,0xBB,0xEE,0x7A,0x0B,0x03,0x7F,0xAE,0x4E,0x77,\r
+0xD3,0xDB,0xB2,0xF6,0x5F,0x5A,0x9A,0x52,0x9B,0xD1,0xD5,0xDD,0x42,0xD8,0x05,0x4A,\r
+0x38,0x30,0x6D,0xC2,0xA6,0xCB,0xF2,0xC3,0x2A,0x31,0x84,0x8C,0x24,0x3D,0x86,0x2C,\r
+0xCB,0xC3,0xF0,0xAC,0x5E,0xB4,0x75,0xBC,0xE1,0x5C,0x22,0x2A,0x8D,0x13,0x01,0x85,\r
+0x92,0x9A,0x12,0x17,0xE6,0x10,0x69,0x18,0x8C,0x3F,0x2C,0x24,0x54,0xF9,0x32,0x5C,\r
+0x76,0x7E,0x8E,0x6F,0x73,0x61,0x8D,0x69,0xB9,0x0F,0x29,0x21,0x99,0x43,0x45,0x91,\r
+0x8E,0x86,0x40,0x59,0x61,0xB9,0x47,0xB1,0x0E,0x35,0xA4,0xAC,0xA2,0x54,0x69,0xAA,\r
+0x1C,0x14,0x79,0xF2,0xCF,0x0A,0x5A,0x02,0x5D,0x8B,0x49,0x41,0x3C,0x7F,0xDC,0x34,\r
+0xD9,0xD1,0xC1,0x8F,0x7A,0x94,0x71,0x9C,0x91,0xD3,0xDD,0xD5,0x2D,0x1F,0xAD,0x25,\r
+0x46,0x4E,0xCA,0x1B,0xAB,0xF1,0xC5,0xF9,0xB5,0xD7,0xFD,0xF5,0x73,0xBC,0x50,0x7B,\r
+0x5F,0x57,0xA8,0x60,0x14,0x67,0xEC,0x6F,0xA9,0xD4,0xE2,0xEA,0xB8,0x67,0x40,0xB0,\r
+0xDF,0xD7,0xA0,0xE8,0xFB,0xE1,0x85,0xE9,0xE7,0x86,0xFE,0xF6,0xA6,0x44,0x7D,0xAE,\r
+0x96,0x9E,0x02,0x03,0x7F,0xB5,0x55,0xBD,0x42,0x76,0xAB,0xA3,0x1E,0x0A,0x8B,0x16,\r
+0xEE,0xE6,0xC4,0xBD,0xFC,0xD3,0xB0,0xDB,0xAA,0x2A,0x1F,0x17,0x46,0xC8,0x11,0x4E,\r
+0x1A,0x12,0x18,0x95,0x80,0xF8,0xE7,0xF0,0xB1,0x1C,0x32,0x3A,0xA7,0x64,0x5C,0xAF,\r
+0x55,0x5D,0xDB,0x19,0xC5,0x02,0x58,0x0A,0x2C,0xEB,0x58,0x50,0xE0,0xA5,0xDA,0xE8,\r
+0x08,0x00,0x29,0xB6,0xF8,0x1C,0x7B,0x14,0x46,0xBD,0x64,0x6C,0x4D,0x9B,0x49,0x45,\r
+0xBF,0xB7,0x24,0x0C,0xA2,0x04,0x39,0x0C,0x6C,0x70,0x83,0x8B,0x82,0x50,0x4D,0x8A,\r
+0x5A,0x52,0x98,0x55,0xE2,0xDF,0xA2,0xD7,0xEA,0xB1,0xC4,0xCC,0x7D,0xDF,0x3D,0x75,\r
+0xB6,0xBE,0x06,0x27,0xA8,0x0C,0x3B,0x04,0xBA,0xF1,0xD4,0xDC,0xBD,0x57,0x75,0xB5,\r
+0x40,0x48,0xAB,0x7C,0x38,0x5C,0xFB,0x54,0xDE,0x6E,0x2F,0x27,0xD0,0xE1,0xAE,0xD8,\r
+0x3B,0x33,0x3C,0x90,0xD5,0xC9,0x83,0xC1,0x22,0x22,0x9F,0x97,0x77,0xAC,0x44,0x7F,\r
+0xC9,0xC1,0x81,0xDF,0xA7,0x25,0x1D,0x2D,0x83,0x19,0x05,0x0D,0x34,0x7D,0xD6,0x3C,\r
+0xD6,0xDE,0x82,0xC3,0x3A,0x4F,0xEA,0x47,0xC4,0xB7,0xEC,0xE4,0x3D,0x5F,0xFD,0x35,\r
+0xB8,0xB0,0x65,0x4A,0x23,0x71,0xCD,0x79,0x81,0x08,0x16,0x1E,0xBF,0x26,0x06,0xB7,\r
+0x12,0x1A,0x1A,0x9F,0x92,0x20,0x2D,0x28,0x35,0xCC,0x66,0x6E,0x88,0x23,0x34,0x80,\r
+0x48,0x40,0xA9,0x76,0x85,0xD9,0xC3,0xD1,0xB7,0xC6,0xEE,0xE6,0x2B,0x7E,0xCA,0x23,\r
+0x00,0x08,0x2B,0xBC,0x7E,0x5B,0xBA,0x53,0xC9,0x80,0xD6,0xDE,0xCC,0xB3,0xE0,0xC4,\r
+0x65,0x6D,0x9F,0x6D,0xEC,0x18,0x6B,0x10,0x2F,0x15,0xA5,0xAD,0xAE,0x46,0x77,0xA6,\r
+0x05,0x0D,0x1B,0x89,0xFE,0xC0,0xA1,0xC8,0xA0,0x28,0x17,0x1F,0xE5,0x95,0xEF,0xED,\r
+0x9A,0x92,0x10,0x1D,0x1A,0xA0,0x25,0xA8,0x79,0x8F,0x69,0x61,0x43,0xF8,0x24,0x4B,\r
+0xB3,0xBB,0x36,0x12,0x0D,0x59,0xCB,0x51,0x87,0xD2,0xCA,0xC2,0x80,0x21,0x3E,0x88,\r
+0x0E,0x06,0x48,0xD1,0xB4,0x13,0x38,0x1B,0xBF,0xD5,0xF5,0xFD,0x63,0xFC,0x00,0x6B,\r
+0x86,0x8E,0x42,0x53,0xF1,0xE9,0x87,0xE1,0xB8,0xE0,0xC7,0xCF,0xE4,0xB5,0xCE,0xEC,\r
+0x68,0x60,0xAD,0x52,0x30,0x47,0xE8,0x4F,0x21,0xDC,0x62,0x6A,0xDC,0xF3,0xB0,0xD4,\r
+0x73,0x7B,0xBE,0x5A,0x70,0x9C,0x73,0x94,0x48,0x74,0xA3,0xAB,0xF3,0xB4,0xD8,0xFB,\r
+0x64,0x6C,0xBF,0x4C,0x63,0xAA,0x56,0xA2,0x96,0xE6,0xEF,0xE7,0x8C,0x33,0x20,0x84,\r
+0xC0,0xC8,0xA3,0xF4,0x71,0x72,0x9C,0x7A,0x0B,0x11,0x85,0x8D,0x5F,0xAA,0x6A,0x57,\r
+0x26,0x2E,0x4E,0xFF,0x6B,0xB1,0x45,0xB9,0xD9,0x5B,0x1D,0x15,0x76,0x8C,0x65,0x7E,\r
+0x3F,0x37,0x2C,0x84,0x9C,0xE7,0xE4,0xEF,0xC1,0x93,0xCD,0xC5,0xCF,0xE2,0xB2,0xC7,\r
+0xF7,0xFF,0xA6,0xC6,0xF5,0x26,0x4C,0x2E,0xFA,0x6A,0x0F,0x07,0x9D,0x53,0x51,0x95,\r
+0xA5,0xAD,0x17,0x25,0x15,0x89,0x03,0x81,0x33,0x16,0xBA,0xB2,0x97,0x20,0x28,0x9F,\r
+0x82,0x8A,0x52,0x47,0x9D,0x09,0x0B,0x01,0x16,0xFD,0x74,0x7C,0x38,0x6F,0xC8,0x30,\r
+0xE0,0xE8,0xA7,0xD0,0x2E,0x4B,0xFA,0x43,0x97,0x09,0x01,0x09,0x11,0x49,0xC7,0x19,\r
+0x9B,0x93,0x30,0x3C,0x66,0x8B,0x72,0x83,0x39,0x14,0xB2,0xBA,0x39,0x4F,0xE9,0x31,\r
+0x67,0x6F,0xEE,0x1E,0xE3,0x31,0x4D,0x39,0x6E,0x61,0x90,0x98,0xA9,0x07,0x31,0xA1,\r
+0xF2,0xFA,0x96,0xF3,0xA4,0xD8,0xE3,0xD0,0x43,0x99,0x45,0x4D,0x79,0xCF,0x29,0x71,\r
+0x47,0x5F,0x6A,0xDE,0x67,0x31,0xBD,0xFE,0x48,0xD5,0x76,0xD1,0x4C,0x62,0xC5,0x5C,\r
+0x00,0x9E,0xEC,0x99,0x98,0xBE,0xCD,0x01,0xAD,0x8C,0xCA,0x34,0xD7,0x22,0x1E,0x87,\r
+0xE7,0x53,0xC6,0x7E,0x57,0x75,0xC9,0xCE,0x1A,0x36,0xC7,0x83,0x95,0x78,0x06,0x9F,\r
+0xDB,0x05,0xAC,0x42,0xFA,0x4B,0x5A,0x63,0x47,0x99,0x35,0xDE,0xB6,0x45,0x18,0x81,\r
+0x86,0xF7,0x03,0x1F,0x2E,0x93,0x56,0xB7,0xDB,0x5F,0x6F,0x42,0xF3,0x27,0x3F,0xA6,\r
+0x1C,0xCC,0xA2,0x85,0x6D,0x42,0xC4,0xF4,0x29,0x10,0xD2,0xB0,0x6D,0x55,0xD3,0x4A,\r
+0xAC,0x80,0x5E,0x35,0xCA,0x0F,0x2E,0x53,0x52,0xFC,0x45,0xCB,0x15,0xB8,0x46,0xDF,\r
+0x57,0x1F,0x3A,0xCE,0xA7,0xB9,0xF5,0x3E,0xA4,0xA7,0xE8,0x3D,0xD5,0x28,0x16,0x8F,\r
+0x6D,0x28,0x37,0xF4,0x31,0x90,0x4A,0xA8,0x5A,0xF6,0x47,0xC3,0x2D,0x05,0xC3,0x5A,\r
+0xE5,0x22,0xB5,0x7C,0x92,0xCD,0xB4,0x0B,0x00,0x1F,0xF4,0x99,0xC3,0x12,0x3A,0xA3,\r
+0x95,0xE6,0x01,0x0C,0xA5,0xC8,0x86,0x3C,0xAA,0xCA,0x8B,0x33,0x23,0xA3,0x6B,0xF2,\r
+0x6F,0x59,0x44,0xF6,0x27,0xB1,0x7D,0xBE,0xC4,0x43,0x6C,0x5D,0x04,0xBA,0x55,0xCC,\r
+0xEA,0x61,0xF9,0x73,0x59,0x16,0xA4,0xC0,0x88,0x9D,0xFE,0x11,0xCB,0x9A,0xBA,0x23,\r
+0x94,0xC6,0x20,0x0D,0xFF,0x7B,0x6F,0x66,0x17,0x09,0xF5,0x8E,0x4F,0x7E,0xDA,0x43,\r
+0x26,0xFB,0xAF,0xBF,0xB4,0xA8,0xF7,0x2D,0x77,0xED,0x71,0xEE,0x85,0x6C,0x02,0x9B,\r
+0x55,0x6E,0x49,0xCC,0xD6,0x5D,0x60,0x4F,0x12,0x3C,0xC5,0x8B,0x54,0xFE,0x41,0xD8,\r
+0xE1,0x32,0xA1,0x78,0xC6,0x1D,0x30,0x5F,0x7A,0xD2,0x43,0xE3,0x06,0xB0,0x5D,0xC4,\r
+0x44,0x0E,0x38,0xDD,0xFE,0x5B,0x4E,0x67,0x94,0xD3,0xAC,0x0D,0x69,0x71,0xF3,0x6A,\r
+0x76,0x3B,0x3F,0xEF,0x79,0x12,0x80,0xE0,0x1C,0x51,0xA6,0x85,0xD6,0x34,0x09,0x90,\r
+0x49,0x3C,0x07,0xD0,0x9A,0xCF,0xBE,0x03,0xA1,0x92,0xD8,0x38,0x25,0x8D,0x43,0xDA,\r
+0x9E,0xB5,0x59,0x07,0x6C,0x62,0xE5,0xF5,0x34,0x7F,0xA0,0xAD,0xAB,0xEB,0xAB,0x32,\r
+0x06,0xFF,0x8B,0x9F,0x45,0x44,0xEA,0xDC,0xD2,0x74,0x4D,0x4B,0x72,0xF1,0x68,0xF1,\r
+0x6C,0x08,0x16,0xF5,0x96,0xDD,0xA0,0x0F,0x76,0xCC,0x51,0xEF,0xB8,0xE3,0xB0,0x29,\r
+0x20,0x9A,0xC8,0xB9,0xE9,0x5A,0x58,0x70,0x61,0xDA,0x50,0xF8,0x9D,0xF0,0x86,0x1F,\r
+0xF7,0x13,0x96,0x6E,0x22,0x81,0x48,0xBB,0x90,0xC7,0xBC,0x09,0xE5,0x1D,0x13,0x8A,\r
+0x39,0xF8,0xB3,0xA0,0x8D,0xCE,0xA8,0x14,0xB7,0xA5,0xF9,0x2E,0xED,0x95,0x93,0x0A,\r
+0x8C,0x84,0x7A,0x15,0x87,0xBD,0xD1,0x1E,0xE5,0x46,0x48,0x7C,0xA2,0x75,0x3C,0xA5,\r
+0x4E,0x7D,0x41,0xD7,0xD5,0x0C,0x32,0x4C,0x2D,0x04,0xC2,0xB4,0x0A,0x1C,0xFD,0x64,\r
+0xC6,0x77,0xC3,0x5F,0x63,0x21,0xA9,0xFA,0xE0,0x73,0x78,0x79,0x0D,0x24,0xC2,0x5B,\r
+0x13,0x8F,0xEE,0x8A,0xB3,0xE9,0xB1,0x2A,0x75,0x9E,0x00,0xEC,0xA3,0x63,0x2B,0xB2,\r
+0x31,0xFA,0xB9,0xA8,0x23,0xA1,0x69,0xBA,0x89,0xBC,0xDE,0x10,0x9C,0xE6,0x91,0x08,\r
+0x82,0xE7,0x17,0x1B,0x0B,0xA7,0x47,0x92,0xF2,0x50,0x49,0x6B,0x14,0xAE,0x51,0xC8,\r
+0xA9,0xB0,0x6B,0x30,0x8C,0xEE,0x89,0x15,0x56,0xE8,0x55,0xCF,0xAF,0xCF,0x8B,0x12,\r
+0x4D,0x2C,0x13,0xD4,0x3B,0xE3,0x33,0xA2,0x39,0x40,0x92,0xA0,0x2E,0x19,0xDC,0x45,\r
+0x9A,0xA5,0x4D,0x03,0x3D,0x82,0x54,0xA4,0x60,0xFB,0x70,0xF9,0xE0,0x2F,0x24,0xBD,\r
+0xEB,0x41,0xD8,0x72,0x25,0xC0,0x0E,0xBC,0xEE,0x1E,0x1B,0x77,0x03,0x82,0x6A,0xF3,\r
+0x73,0x0B,0x0A,0xEA,0xF9,0x1A,0x08,0x60,0x50,0x8F,0x34,0xC9,0x96,0x64,0x19,0x80,\r
+0x74,0x4A,0x4C,0xED,0x9D,0x8E,0xF8,0x04,0xAC,0xAD,0xEA,0x35,0x07,0xA6,0x4A,0xD3,\r
+0x02,0xEF,0x9F,0x9B,0x5B,0x67,0xD7,0xC2,0x0F,0x53,0xB7,0x96,0x7E,0x5D,0xC8,0x51,\r
+0x6E,0x79,0x65,0xF7,0x2F,0xB3,0x77,0xB6,0xB5,0xD6,0x88,0x2C,0x64,0xCB,0x44,0xDD,\r
+0x46,0x7F,0x4B,0xDF,0xD8,0x3E,0x0D,0x41,0x70,0xAB,0x30,0xE9,0x99,0xD4,0xA6,0x3F,\r
+0x7F,0x19,0x14,0xE6,0x95,0x8C,0xF2,0x0C,0x7F,0xE7,0x73,0xE6,0x29,0x21,0xE3,0x7A,\r
+0x59,0x7C,0x57,0xC0,0x81,0xDC,0xB6,0x18,0x2C,0x25,0xE2,0xB5,0x33,0xB7,0x6F,0xF6,\r
+0x75,0x6A,0x6D,0xEC,0xE8,0x7A,0x79,0x71,0xF1,0x02,0x18,0x68,0x01,0x88,0x62,0xFB,\r
+0xE8,0x10,0x8A,0x71,0x20,0xF0,0x3B,0xB9,0x14,0x5B,0xA4,0x8D,0x58,0x52,0xE1,0x78,\r
+0x69,0x38,0x23,0xF0,0x32,0xC1,0x18,0xAB,0xB6,0x84,0xD9,0x2F,0x8D,0xE4,0x82,0x1B,\r
+0xD2,0x27,0x87,0x4B,0x21,0xD0,0x1A,0xB8,0x74,0xBF,0x20,0xED,0x66,0xC1,0x4C,0xD5,\r
+0x16,0xBF,0xDB,0x8F,0xB2,0xC9,0x90,0x2B,0x5E,0xE2,0x57,0xC7,0x37,0x93,0x4F,0xD6,\r
+0x07,0xDF,0xAA,0x9E,0x3E,0xD3,0x06,0xA7,0x2A,0x42,0x83,0xB3,0x1C,0x26,0xD1,0x48,\r
+0x56,0x3F,0x1B,0xCF,0x58,0x36,0x85,0xC1,0xC1,0x76,0x5C,0x58,0x74,0xDF,0x40,0xD9,\r
+0x88,0x94,0x6E,0x11,0x65,0x40,0xCE,0xFC,0x01,0x3E,0xD4,0x98,0xDA,0x98,0xA9,0x30,\r
+0x22,0xEB,0xBB,0xBB,0x1D,0x86,0x70,0x84,0x66,0x9C,0x11,0xFF,0x56,0xF4,0x49,0xD0,\r
+0x27,0xDB,0x8E,0xBE,0xB8,0xBA,0xE9,0x21,0x9C,0xD9,0xAE,0x05,0xA9,0xE1,0xA3,0x3A,\r
+0xAA,0xE1,0x39,0x33,0x83,0xAD,0xC5,0x1A,0x64,0xEF,0x60,0xFD,0x63,0xF3,0x7B,0xE2,\r
+0xAF,0xD1,0x0C,0x36,0x4E,0x17,0xB2,0xD7,0x80,0x97,0xFC,0x19,0x87,0x66,0x0A,0x93,\r
+0xA1,0xB2,0x61,0x38,0x97,0xFD,0x81,0x0E,0xD9,0x2C,0x1E,0x40,0x9B,0xDE,0xAE,0x37,\r
+0x61,0x3A,0x29,0xF8,0xA2,0x89,0xC0,0x3B,0x4D,0xE0,0x46,0xD4,0x02,0x94,0x7D,0xE4,\r
+0x7E,0x39,0x35,0xE7,0x69,0x52,0xD0,0xF0,0x54,0x9B,0x24,0xCD,0x2B,0x2B,0xEB,0x72,\r
+0x5E,0x3D,0x11,0xC7,0x37,0xF1,0x2D,0xAE,0xCB,0x0F,0x2F,0x52,0x9F,0xFA,0x8E,0x17,\r
+0xCA,0x65,0xDD,0x53,0x26,0x91,0x5C,0xBF,0x0E,0x72,0x97,0x97,0xB4,0x4F,0x10,0x89,\r
+0xB1,0xF2,0x31,0x28,0xBD,0x8A,0xDC,0x24,0x08,0x15,0xF6,0x91,0x09,0x00,0xE2,0x7B,\r
+0x9C,0xC4,0x2A,0x05,0x5C,0x26,0x91,0xC5,0xFC,0x3D,0x2A,0x65,0x5E,0x7C,0xC9,0x50,\r
+0x28,0x98,0xC2,0xB1,0x04,0xE4,0x0B,0x9D,0x84,0x83,0xEC,0x1D,0xBB,0xFF,0xAF,0x36,\r
+0x7D,0x68,0x67,0xE4,0xBC,0xAA,0xFD,0x25,0xCD,0x68,0x4E,0x54,0x6B,0x7B,0xFB,0x62,\r
+0x1A,0x4C,0x07,0xE5,0xDD,0x73,0x00,0x25,0xED,0x14,0x57,0x01,0x51,0x75,0x8A,0x07,\r
+0xC2,0x94,0xCD,0xF7,0xEB,0x8B,0xCE,0xDD,0xC1,0x03,0x6C,0x3A,0xDC,0x4F,0x3D,0x8A,\r
+0xB3,0xE5,0x29,0x62,0x93,0x6F,0x52,0x39,0xB6,0xB9,0xA1,0xF7,0xD9,0x7F,0x08,0x8F,\r
+0x17,0x41,0x35,0xDA,0x28,0x36,0xB0,0x60,0x85,0x53,0x78,0x2E,0xD7,0x1C,0x65,0x81,\r
+0x68,0x3E,0xB2,0x22,0x46,0xC5,0x2D,0x93,0x02,0x7D,0xD1,0x87,0x71,0x71,0xAE,0x27,\r
+0xF9,0xAF,0xDA,0xDB,0x72,0x2E,0xF2,0x78,0x81,0x98,0xB7,0xE1,0x20,0x91,0x1F,0x76,\r
+0x10,0x46,0x74,0x9C,0x3A,0xEE,0x7A,0xB8,0xCA,0xEE,0x8A,0xDC,0xFE,0x3A,0x6A,0xA8,\r
+0xF0,0xA6,0xF8,0xF0,0x98,0x89,0xBF,0xDF,0x74,0x28,0xF2,0xA4,0x54,0x45,0xBF,0x02,\r
+0x5B,0x0D,0xA7,0x04,0x11,0xE7,0x58,0xB1,0xD8,0x24,0x52,0x04,0xC7,0x5C,0x35,0x91,\r
+0x70,0x26,0xF0,0x78,0x39,0x13,0x84,0x45,0x95,0x88,0xB3,0xE5,0xEA,0x6A,0x2E,0xBC,\r
+0x16,0x40,0x15,0xFB,0x87,0x6B,0x42,0x3D,0x0F,0x4A,0xEB,0xBD,0x5E,0x36,0xC6,0x08,\r
+0x42,0x14,0xC5,0x7F,0x6C,0x22,0xE0,0x74,0xF9,0x04,0x53,0x05,0x0B,0xC6,0x63,0x5D,\r
+0xC4,0x92,0xAC,0x90,0xE4,0xA2,0xE8,0xF4,0xC4,0x27,0x4D,0x1B,0x17,0x94,0x2D,0x41,\r
+0x52,0x04,0x85,0x2F,0x9F,0xBB,0x8A,0xED,0xD4,0xFC,0x86,0xD0,0x08,0x97,0x31,0x5E,\r
+0x37,0x61,0x31,0xFE,0x0B,0x24,0x81,0x72,0x29,0x5F,0xD8,0x8E,0x28,0x93,0x15,0x7E,\r
+0xA9,0xFF,0x1A,0x4B,0x76,0xE1,0x39,0xB7,0x58,0x3F,0xC9,0x9F,0xBC,0xCB,0xD9,0xEA,\r
+0xA0,0xF6,0x38,0x60,0x8B,0xBF,0x9A,0xE9,0x0C,0xB4,0x16,0x40,0x05,0xA5,0x0E,0x53,\r
+0xF3,0xA5,0xA9,0xA2,0xA9,0x43,0x44,0x15,0xFC,0x20,0x72,0x24,0x02,0xE4,0x48,0x54,\r
+0x71,0x27,0xD0,0x59,0x57,0xE0,0x19,0xB6,0xD3,0xC9,0xB4,0xE2,0x74,0x41,0x9B,0x22,\r
+0xFD,0xAB,0xCA,0xCF,0xD2,0x5A,0x26,0x0C,0x73,0x1D,0xC0,0x96,0x18,0xD7,0x61,0x4E,\r
+0x32,0x64,0x01,0xCB,0xEC,0xB9,0xFB,0xEF,0x8D,0x40,0x63,0x35,0xDF,0x1E,0x6F,0x89,\r
+0x65,0x33,0x80,0x1D,0x44,0xD6,0x3C,0x80,0x37,0x4D,0xD4,0x82,0x3B,0x82,0x17,0x6D,\r
+0x9D,0xCB,0x4E,0x2B,0xFF,0x8F,0xDE,0xD9,0x50,0x2C,0xD2,0x84,0xEC,0x0B,0x49,0xBA,\r
+0xD3,0x85,0xAD,0x86,0x1A,0x01,0xB5,0x57,0x0A,0x6E,0xCA,0x9C,0x9D,0xEF,0xDC,0xCB,\r
+0x58,0x0E,0xF6,0x56,0x5F,0xFB,0x0A,0xAD,0x3F,0x5E,0xCF,0x99,0x9E,0xBE,0x8E,0xC8,\r
+0x3B,0x6D,0x23,0xE0,0x80,0x59,0x77,0x0F,0x1C,0x6F,0xDD,0x8B,0x1F,0x96,0x27,0x49,\r
+0xF5,0xA3,0xC8,0xC5,0xBB,0x9B,0x8E,0xCD,0x1E,0x7E,0xCE,0x98,0xA4,0x89,0x83,0xF2,\r
+0xF6,0xA0,0x99,0x97,0xE6,0xB1,0xF9,0xE7,0x94,0x67,0x5D,0x0B,0x60,0x11,0xDF,0x36,\r
+0x1F,0x49,0x37,0xD0,0xAF,0x9F,0x9E,0xC9,0x09,0x90,0x37,0x61,0x30,0xD1,0x4F,0x66,\r
+0x5A,0x0C,0x87,0x25,0xE3,0x90,0xDD,0xC6,0xF6,0x22,0x7A,0x2C,0x09,0xB7,0x10,0x5F,\r
+0xD6,0x80,0x9D,0xB3,0x21,0xC3,0x4C,0x95,0xB2,0x72,0x6E,0x38,0x2F,0xD2,0x53,0x79,\r
+0xDB,0x8D,0xAF,0x8C,0x06,0x1E,0xB6,0x48,0x7D,0xD4,0x07,0x51,0x03,0xC4,0x69,0x55,\r
+0x12,0x44,0x05,0xEF,0x7B,0xDB,0x0E,0x8D,0xE1,0xCC,0x83,0xD5,0xE8,0x1B,0x5D,0xBE,\r
+0xD1,0x87,0xDC,0xF5,0x70,0x3D,0xE3,0x6B,0xEE,0xEA,0xAA,0xFC,0x70,0x51,0x8F,0x26,\r
+0x09,0x5F,0x16,0xE7,0xC8,0x99,0xFF,0xCF,0xA4,0x73,0x79,0x2F,0x1A,0xA6,0x12,0x4C,\r
+0x3F,0x69,0x33,0xF4,0xDE,0x8E,0xFE,0xD8,0x5C,0xF4,0x06,0x50,0x56,0x34,0xCC,0x00,\r
+0xE4,0xB2,0xA8,0xB4,0xD6,0x95,0xED,0xC3,0x34,0xB3,0x29,0x7F,0x97,0x9C,0xA5,0xC1,\r
+0x4A,0x1C,0xC7,0x75,0xD7,0x7B,0x02,0x2D,0x4A,0xF5,0x11,0x47,0x32,0xA0,0x3C,0x64,\r
+0xB0,0xE6,0x78,0x30,0x55,0xF3,0x08,0xA5,0x84,0xBC,0x96,0xC0,0x00,0x95,0x3B,0x56,\r
+0xFA,0xAC,0x8B,0x89,0x96,0x4E,0x76,0x18,0xBA,0x61,0x75,0x23,0x3F,0x92,0x03,0x69,\r
+0x7B,0x2D,0xA3,0x20,0x77,0x0F,0xD6,0x59,0xAD,0x8F,0x8C,0xDA,0xB0,0xD9,0xC7,0xE6,\r
+0x92,0xC4,0x0D,0x67,0x9A,0x9A,0xAE,0xCC,0xB5,0x47,0x5C,0x0A,0x65,0x21,0xEA,0x33,\r
+0x28,0x7E,0x32,0xE2,0xB8,0x66,0x70,0x30,0x6D,0x0F,0xCC,0x9A,0x47,0x54,0xBD,0x11,\r
+0xE8,0xBE,0xBA,0xAA,0x54,0x1D,0xE7,0x4B,0x43,0x09,0xE4,0xB2,0xF4,0x49,0x13,0xA2,\r
+0xAA,0xFC,0x4B,0x19,0xC3,0x7F,0x12,0x29,0x4C,0x2F,0xCD,0x9B,0x81,0xBD,0x92,0xD7,\r
+0x2A,0x7C,0x43,0x91,0xA1,0x58,0x57,0x0E,0xAC,0x60,0x62,0x34,0x4F,0x56,0xB7,0x19,\r
+0x85,0xD3,0x0C,0x71,0x42,0x0A,0xE6,0x5C,0xD5,0x13,0x68,0x3E,0xFA,0x2A,0x7E,0xAC,\r
+0x44,0x12,0xA4,0x18,0x00,0xC2,0x6C,0x94,0x36,0xA2,0x3A,0x6C,0x38,0xD3,0x45,0x6E,\r
+0x86,0xD0,0x5D,0x23,0x5B,0x34,0xC1,0x62,0x52,0x3D,0xC1,0x97,0xF0,0x59,0x07,0xA6,\r
+0x6A,0x3C,0xC3,0x51,0x14,0xC6,0x7C,0x90,0xC0,0xEC,0x82,0xD4,0x6A,0x62,0xA6,0x3C,\r
+0xFF,0xA9,0xBB,0xBC,0xF8,0xBD,0xEB,0xEB,0x2A,0xA1,0x25,0x73,0xDA,0x2E,0x5A,0x8C,\r
+0xAF,0xF9,0x7B,0x2C,0xA3,0x4B,0x46,0x1D,0xF1,0x17,0x48,0x1E,0x21,0xB1,0x3E,0x77,\r
+0x7C,0x2A,0xE2,0x66,0xD1,0xA7,0xD8,0xF1,0xB9,0x9F,0x88,0xDE,0x31,0xF1,0x6E,0x67,\r
+0xA7,0xF1,0x79,0x26,0x88,0x42,0x64,0x14,0xC9,0x10,0x77,0x21,0x76,0x30,0xE8,0x20,\r
+0xBF,0xE9,0x3B,0x7C,0x32,0xF5,0x69,0xA3,0xCD,0xDB,0xB8,0xEE,0x91,0xFD,0xC2,0xC7,\r
+0xA1,0xF7,0x18,0x41,0x9D,0xA8,0x9B,0xFE,0x5E,0xE5,0x15,0x43,0xAD,0xAB,0xA8,0xFB,\r
+0x03,0x55,0x65,0x9E,0x99,0x67,0x50,0x31,0xA0,0xB8,0xB6,0xE0,0x9C,0xCF,0xFD,0xCA,\r
+0x63,0x35,0xE1,0x7A,0x0D,0xF8,0x5B,0xAE,0x6B,0xD5,0x10,0x46,0xE2,0x68,0x24,0xB4,\r
+0xBB,0xED,0x2B,0x68,0xE9,0x98,0xDF,0xCE,0xF3,0x06,0x5B,0x0D,0x50,0x55,0xAB,0x06,\r
+0xF8,0xAE,0xFA,0xFA,0x38,0xFD,0x6B,0xAB,0x64,0xF3,0x39,0x6F,0x23,0xC0,0x4D,0x75,\r
+0x7A,0x2C,0x83,0x01,0xF2,0xB5,0xE9,0xE3,0x4E,0x3E,0xDE,0x88,0x1B,0x86,0x33,0x4D,\r
+0x83,0xD5,0x6D,0x16,0x1B,0xEF,0x5A,0xB9,0xB0,0x63,0x7D,0x2B,0x93,0x8C,0xB1,0xC5,\r
+0xD2,0x84,0x8D,0xA7,0xCE,0x45,0x25,0x13,0x82,0x66,0x4A,0x1C,0xE3,0x48,0x05,0xB5,\r
+0xEC,0xBA,0xAA,0xBE,0x47,0x2B,0xC2,0x7D,0x79,0x1F,0xC8,0x9E,0x19,0xF7,0x40,0x4F,\r
+0xC1,0xF4,0x3F,0x0B,0x3B,0x80,0x0F,0x85,0xD4,0xE0,0xA0,0x4A,0x49,0xBA,0x8E,0xF9,\r
+0xE8,0x4B,0xA9,0x9D,0x22,0xFB,0x16,0xE7,0x1F,0x2B,0xB0,0x91,0x55,0xA5,0x91,0xFA,\r
+0x5C,0x9A,0xCC,0xF8,0xBD,0x6F,0x89,0xEC,0x41,0x75,0x4D,0x32,0x71,0x85,0xB1,0xFE,\r
+0x77,0x2F,0x52,0x66,0x78,0x12,0x4C,0x54,0x50,0x64,0x3C,0x52,0xBD,0x11,0x25,0xA6,\r
+0xCA,0x60,0xA0,0x94,0x7E,0x75,0x4A,0x35,0xCB,0xFF,0xBC,0x49,0x51,0x6A,0x5E,0x31,\r
+0x9D,0x1C,0x8B,0xBF,0x8A,0x5D,0xBE,0xE9,0x2A,0x1E,0xF1,0xE5,0x4A,0x47,0x73,0x07,\r
+0x78,0x9F,0xED,0xD9,0xF2,0xE3,0xC6,0x2F,0x72,0x46,0x6B,0x27,0xA2,0xF3,0xC7,0x5B,\r
+0xA8,0x1B,0xB9,0x8D,0xBB,0x08,0x8F,0x8D,0xCA,0xFE,0x9D,0x69,0x07,0xA6,0x92,0xAB,\r
+0xDF,0x46,0x93,0xA7,0x5C,0x22,0x68,0x40,0x48,0x7C,0x66,0x10,0xCA,0xDC,0xE8,0x1C,\r
+0xB7,0xBF,0x02,0x36,0xB7,0x16,0x83,0x9F,0x2E,0x1A,0xE5,0xF5,0x7B,0x8D,0xB9,0xFC,\r
+0x19,0xF8,0xEB,0xDF,0x77,0x5E,0x43,0x17,0x13,0x27,0xAE,0x83,0x0E,0x53,0x67,0x57,\r
+0x95,0x94,0x0B,0x3F,0x10,0xFC,0x24,0xD2,0x6B,0x5F,0x10,0x45,0xDB,0xF9,0xCD,0x28,\r
+0x6A,0x81,0xE1,0xD5,0xEA,0xB9,0xDE,0x6D,0xCE,0xFA,0x89,0x79,0xEE,0xFC,0xC8,0x18,\r
+0xA0,0x93,0x39,0x0D,0x12,0x8F,0x26,0xA3,0xF5,0xC1,0xA5,0x6E,0x59,0x71,0x45,0x22,\r
+0x44,0x06,0x48,0x7C,0xF6,0xF7,0xC2,0x3F,0x38,0x0C,0xD2,0xD4,0x6C,0x74,0x40,0x12,\r
+0x58,0xBE,0xEC,0xD8,0xAF,0x4C,0x9B,0xDD,0xE1,0xD5,0xE1,0x3E,0x01,0x7A,0x4E,0x71,\r
+0x5A,0xB4,0xE4,0xD0,0x06,0xCB,0x32,0xF3,0xAE,0x9A,0x6D,0xFD,0x2B,0x9D,0xA9,0xBC,\r
+0xEA,0x41,0xA1,0x95,0x09,0x87,0x3D,0xB0,0xE3,0xD7,0x92,0x4F,0x74,0xA4,0x90,0xDA,\r
+0xF0,0xD7,0x2D,0x19,0x5A,0x45,0x6E,0x21,0xF7,0xC3,0xD6,0x1F,0x37,0x82,0xB6,0xBF,\r
+0xC2,0xE8,0x20,0x14,0x87,0x62,0xB3,0xDB,0x9E,0xAA,0x19,0xB9,0x0D,0xAE,0x9A,0xA9,\r
+0x9B,0x32,0xA3,0x97,0x62,0x3B,0x56,0x67,0x56,0x62,0x5B,0x33,0xEA,0x33,0x07,0xD3,\r
+0x4E,0x84,0xC0,0xF4,0xC0,0xE4,0xF4,0x1A,0x44,0x70,0x78,0x02,0x43,0xB2,0x86,0xFB,\r
+0xA5,0xA1,0x0E,0x3A,0x02,0xDF,0x36,0xE3,0x57,0x63,0x7A,0x13,0xE7,0x09,0x3D,0xE4,\r
+0xF4,0xF3,0x0D,0x39,0x28,0x82,0x1C,0x94,0xC4,0xF0,0xF0,0x0A,0xBB,0xCD,0xF9,0x7C,\r
+0x6C,0xAF,0xC9,0xFD,0x20,0x88,0x14,0x96,0xFA,0xCE,0xE9,0x2D,0x0B,0x72,0x46,0x73,\r
+0xED,0x79,0x9E,0xAA,0x4F,0x20,0x7B,0x51,0x4D,0x79,0x53,0x20,0x73,0x96,0xA2,0xEF,\r
+0x23,0x4F,0x66,0x52,0x16,0x9B,0x22,0xB3,0x4B,0x7F,0x34,0x41,0x2D,0x41,0x75,0x66,\r
+0xC0,0xE2,0x28,0x1C,0x98,0x7E,0xAC,0xD8,0x53,0x67,0x6E,0x03,0xB8,0x30,0x04,0x82,\r
+0x55,0x04,0x5B,0x6F,0x26,0xEF,0x12,0xF7,0x8F,0xBB,0x68,0xD9,0x6A,0xA8,0x9C,0xC8,\r
+0xC4,0xC6,0x08,0x3C,0xDA,0xCD,0xEE,0x29,0xEB,0xDF,0x98,0x4D,0x2C,0xAF,0x9B,0x89,\r
+0xBD,0x3D,0x8A,0xBE,0x79,0x33,0x4D,0x74,0x2D,0x19,0xB7,0xA4,0xFF,0xD9,0xED,0x2C,\r
+0xA7,0xAB,0x06,0x32,0xC3,0xB6,0xF7,0x4B,0x59,0x6D,0x17,0x70,0x05,0xB5,0x81,0xBA,\r
+0x26,0x7D,0x51,0x65,0xE6,0xA7,0xD2,0x7F,0x54,0x60,0x28,0x42,0xF6,0x2C,0x18,0xD0,\r
+0x2E,0xF5,0xD1,0xE5,0xC1,0xC5,0xF5,0x3A,0xFB,0xCF,0xC8,0x0D,0xD3,0xE2,0xD6,0x3B,\r
+0x61,0x15,0x7E,0x4A,0x93,0x26,0xA7,0x8B,0xF1,0xC5,0xB1,0x7E,0x1A,0x57,0x63,0x47,\r
+0xC9,0x7C,0xBF,0x8B,0x5B,0x64,0x6F,0x01,0xA3,0x97,0x52,0xCF,0x21,0x95,0xA1,0xBE,\r
+0xCE,0x44,0x80,0xB4,0x96,0x13,0xA2,0xBB,0x15,0x21,0xC9,0xE2,0xA3,0x1D,0x29,0xB4,\r
+0x60,0x03,0x69,0x5D,0x03,0xFE,0x37,0xC3,0xC5,0xF1,0xD1,0x2A,0x8E,0xC8,0xFC,0x4C,\r
+0x5F,0x86,0xD3,0xE7,0xFF,0xDC,0xCB,0x1D,0x55,0x61,0x09,0x62,0xD9,0xEA,0xDE,0x39,\r
+0xD7,0xCE,0x13,0x27,0x84,0x30,0xB0,0x8A,0x7D,0x49,0x27,0x64,0x77,0x59,0x6D,0x24,\r
+0xC5,0xD0,0x1F,0x2B,0x0C,0xB2,0x38,0x80,0xB0,0x84,0x50,0xDE,0xC1,0x3A,0x0E,0xF1,\r
+0xAA,0x11,0xB1,0x85,0xE2,0xB3,0xD6,0x6F,0x88,0xBC,0x2E,0x98,0x58,0x9F,0xAB,0xCD,\r
+0x15,0x54,0x4B,0x7F,0x6A,0x31,0x5E,0x65,0x0F,0x3B,0xE0,0xD1,0x5F,0xAD,0x99,0xF8,\r
+0xE6,0xED,0x01,0x35,0xD7,0xF2,0xE3,0x1B,0xEC,0xD8,0xDE,0x0C,0x67,0x92,0xA6,0xFF,\r
+0x68,0x8B,0xE9,0xDD,0x42,0x1F,0x76,0x63,0x1A,0x2E,0x85,0xA1,0x39,0x45,0x71,0x76,\r
+0xB1,0x91,0x2A,0x1E,0xA4,0x14,0x90,0x8E,0x33,0x07,0x8A,0x87,0xEB,0xDD,0xE9,0x3C,\r
+0x7B,0x83,0xF2,0xC6,0x00,0xAC,0x34,0x92,0xE0,0xD4,0xC0,0x1E,0x76,0xB7,0x83,0xCB,\r
+0x5E,0x90,0xC4,0xF0,0x17,0xBA,0x23,0x93,0x9F,0xAB,0x38,0x99,0xA8,0xFB,0xCF,0x59,\r
+0xEE,0x65,0x81,0xB5,0x2C,0x96,0x18,0x84,0x47,0x73,0x2A,0x53,0x57,0xB6,0x82,0xEB,\r
+0x00,0x72,0x78,0x4C,0x76,0x7F,0x42,0x37,0xE4,0xD0,0xD4,0x0E,0xD5,0x3E,0x0A,0xE1,\r
+0xE0,0xC3,0x29,0x1D,0xDC,0xAA,0xE8,0x48,0xD3,0xE7,0xE6,0x0B,0x61,0x4E,0x7A,0x25,\r
+0xC7,0xDA,0x17,0x23,0xB2,0x23,0x86,0xAF,0x51,0x65,0x1D,0x72,0x24,0xB4,0x80,0x9A,\r
+0x08,0xFA,0xF8,0xCC,0xFE,0xFD,0xCA,0x3D,0x2F,0x1B,0xC4,0xD5,0x99,0x31,0x05,0xA2,\r
+0x8C,0x1E,0x98,0xAC,0x61,0x69,0x55,0x36,0x89,0xBD,0x0F,0xB8,0x40,0x4F,0x7B,0x05,\r
+0x46,0x0C,0x40,0x74,0x01,0x8D,0x35,0xB2,0xC2,0xF6,0x97,0x6B,0xCF,0xFD,0xC9,0x38,\r
+0x97,0x9E,0x03,0x37,0x64,0x5C,0x50,0x06,0xA0,0x94,0x00,0x9E,0x29,0x8E,0xBA,0xAD,\r
+0x8F,0x02,0x87,0xB3,0x3E,0xB5,0x0A,0xB5,0x11,0x25,0xDD,0xF2,0x0A,0x9C,0xA8,0x9C,\r
+0x14,0x42,0x5C,0x68,0xDB,0xEC,0xEF,0x09,0xEE,0xDA,0xAD,0x7D,0x8C,0xDB,0xEF,0x5D,\r
+0x56,0x18,0x44,0x70,0x6C,0x56,0x58,0x04,0x21,0x15,0xA9,0xB6,0xA6,0x3C,0x08,0x90,\r
+0x75,0x25,0x5A,0x6E,0x31,0xF9,0x05,0xF6,0x8C,0xB8,0x3A,0x88,0xCC,0x00,0x34,0xC6,\r
+0x30,0x47,0x7D,0x49,0xAD,0x3F,0x99,0xAC,0x58,0x6C,0x36,0x50,0x63,0x5D,0x69,0x34,\r
+0xAE,0x35,0x91,0xA5,0x5F,0x70,0x6B,0x11,0x1B,0x2F,0xA4,0x81,0xC2,0xC7,0xF3,0x0F,\r
+0xD6,0xD8,0x04,0x30,0x24,0x9C,0x10,0x86,0xBC,0x88,0x4E,0xCC,0x3E,0x77,0x43,0x43,\r
+0x16,0x48,0x54,0x60,0xD2,0xC7,0xE6,0x2B,0xD1,0xE5,0x95,0x7A,0x5A,0x8C,0xB8,0xDC,\r
+0x48,0x6A,0x0D,0xD2,0x88,0xF6,0x91,0x8E,0xB8,0x94,0xF3,0xBB,0x80,0xE7,0x2D,0x5D,\r
+0x04,0x65,0x02,0x91,0x38,0xB3,0xD4,0x7B,0xDE,0xAD,0xCA,0xE4,0xCD,0xAA,0x9F,0xA2,\r
+0xAD,0xE4,0x83,0xB9,0xA0,0x77,0x10,0x27,0xCB,0x9E,0xF9,0xC2,0xFD,0x9A,0xDB,0xD6,\r
+0x8A,0x39,0x5E,0x43,0x92,0x7A,0x1D,0x18,0xDD,0xB2,0xD5,0xF8,0x94,0xF3,0x7D,0x19,\r
+0x2B,0xA3,0xC4,0x78,0x2C,0x97,0xF0,0x4B,0x99,0x82,0xE5,0x8C,0x27,0x40,0x60,0xB7,\r
+0xF4,0x01,0x66,0x05,0xF9,0xF4,0x93,0xFD,0xB1,0x03,0x64,0x25,0x35,0x52,0x51,0x94,\r
+0x4D,0x4B,0x2C,0xF6,0x96,0x5A,0x3D,0x3C,0x1E,0xFD,0x9A,0x74,0xA7,0xC0,0x68,0x3F,\r
+0x10,0x61,0x06,0x81,0xC7,0x59,0x3E,0x6E,0x86,0x39,0x5E,0x28,0x34,0x53,0x71,0xB5,\r
+0xEF,0x2C,0x4B,0x33,0x8F,0xC9,0xAE,0xB6,0x8D,0xA6,0xC1,0xBC,0x2E,0x49,0x42,0x9C,\r
+0x47,0x43,0x24,0xF4,0x0E,0x9E,0xF9,0x60,0x11,0x42,0x25,0xC4,0x99,0xFE,0x4F,0x26,\r
+0xB1,0xFB,0x9C,0xBA,0xA2,0x7F,0x18,0x2D,0xE0,0x00,0x67,0x77,0x30,0x57,0x61,0xA1,\r
+0x54,0x75,0x12,0xD1,0x41,0x31,0x56,0x80,0x04,0x71,0x16,0xE2,0x28,0x4F,0x23,0xFB,\r
+0x02,0xB9,0xDE,0x4B,0xA6,0x5F,0x38,0x09,0xEB,0x9F,0xF8,0xE3,0x88,0xEF,0x2F,0x57,\r
+0x20,0x45,0x22,0x95,0x37,0x0C,0x6B,0xCB,0xAA,0x98,0xFF,0xA5,0xEC,0x8B,0xBB,0xA7,\r
+0x79,0xA0,0xC7,0x29,0xC5,0x51,0x36,0x64,0xD8,0x85,0xE2,0xCA,0x3A,0x5D,0x12,0xD8,\r
+0xFC,0x1A,0x7D,0x16,0xDF,0xDD,0xBA,0xF2,0x4E,0xE9,0x8E,0x30,0x4E,0x29,0xC6,0x78,\r
+0x34,0x41,0x26,0x85,0x8A,0xFE,0x99,0x84,0x98,0x95,0xF2,0x9A,0x7C,0x1B,0xF3,0x7F,\r
+0x4F,0x58,0x3F,0xE7,0xA3,0x68,0x0F,0x3B,0x9B,0x8A,0xED,0x86,0xB7,0xD0,0x28,0x6F,\r
+0xDD,0x1B,0x7C,0x36,0x15,0x05,0x62,0xE0,0xC4,0x21,0x46,0x72,0x33,0x54,0x30,0xF3,\r
+0xA0,0xDE,0xB9,0x8E,0x3E,0x9B,0xFC,0x55,0x9C,0xB5,0xD2,0xBE,0x22,0x45,0x50,0x82,\r
+0x92,0xE9,0x8E,0x8B,0xFF,0xDC,0xBB,0xD3,0x65,0x77,0x10,0x85,0x49,0x2E,0x87,0x3E,\r
+0xBA,0x1D,0x7A,0x57,0xA8,0xF7,0x90,0xAF,0x53,0x5A,0x3D,0x9E,0xA8,0xCF,0x2B,0x73,\r
+0xC7,0xD8,0xBF,0xEF,0xCA,0xEE,0x89,0xD4,0xC9,0x96,0xF1,0xC8,0xA9,0xCE,0x0B,0x52,\r
+0x2C,0x91,0xF6,0x4D,0x1A,0xBA,0xDD,0x50,0x39,0xC3,0xA4,0x6D,0x11,0x76,0x45,0xA4,\r
+0xD9,0xD4,0xB3,0xFD,0xD5,0x55,0x32,0x70,0x9E,0xBD,0xDA,0xB4,0x4D,0x2A,0x97,0x2A,\r
+0xED,0x3F,0x58,0x22,0xBD,0xC4,0xA3,0x89,0x7E,0xEC,0x8B,0x05,0x2B,0x4C,0x72,0xA9,\r
+0x33,0x73,0x14,0xB0,0xF7,0x5C,0x3B,0x5B,0x4A,0xC9,0xAE,0x14,0x08,0x6F,0x27,0xDF,\r
+0x91,0x14,0x73,0x75,0x7B,0xBC,0xDB,0x37,0x35,0x63,0x04,0xC1,0x70,0x17,0xE1,0x61,\r
+0x40,0x71,0x16,0xC1,0xC2,0x6E,0x09,0x5C,0x40,0x41,0x26,0x96,0x96,0xF1,0x0C,0x6A,\r
+0x76,0x89,0xEE,0x0F,0x08,0xB6,0xD1,0x4E,0x7A,0xCC,0xAB,0x21,0xAD,0xCA,0x1B,0x46,\r
+0x83,0xCC,0xAB,0xBF,0x3A,0xBB,0xDC,0x71,0x13,0x4A,0x2D,0xCE,0x82,0xE5,0x5C,0x2E,\r
+0x38,0x95,0xF2,0x5D,0x26,0x1F,0x78,0xC9,0x70,0x44,0x23,0xA3,0x5B,0x3C,0xB6,0x1D,\r
+0xB0,0x15,0x72,0x55,0x62,0x2F,0x48,0xBD,0x83,0x0E,0x69,0x1A,0x87,0xE0,0x6C,0x1B,\r
+0x59,0x4F,0x28,0xE6,0x8C,0xD6,0xB1,0xAA,0x89,0x86,0xE1,0x98,0x24,0x43,0x31,0xE5,\r
+0xEC,0xD1,0xB6,0xCD,0xA5,0x40,0x27,0x15,0xF8,0x84,0xE3,0xEB,0x32,0x55,0x10,0xD2,\r
+0x65,0xBF,0xD8,0x2A,0x82,0x7E,0x19,0x0C,0x47,0x7E,0x19,0xAE,0xB0,0xD7,0x69,0x29,\r
+0xA6,0x02,0x65,0x54,0xEE,0xCF,0xA8,0xD1,0x67,0x7F,0x18,0x8F,0xEA,0x8D,0xDA,0xC0,\r
+0x32,0x9D,0xFA,0x5F,0x6A,0xAF,0xC8,0x35,0xC0,0x01,0x66,0x56,0x4C,0x2B,0xB7,0x0B,\r
+0x93,0x07,0x60,0x64,0xF5,0x54,0x33,0x51,0xCF,0xBE,0xD9,0xE6,0xC3,0xA4,0xFC,0xCF,\r
+0x42,0x62,0x05,0xD0,0x24,0x17,0x70,0xC3,0x5A,0xCD,0xAA,0x00,0xA1,0xC6,0x09,0x58,\r
+0x23,0xB8,0xDF,0x6B,0x76,0x0B,0x6C,0x8D,0x3F,0xEB,0x8C,0x43,0x8D,0xEA,0x1F,0x62,\r
+0x7A,0x5D,0x3A,0xD7,0xED,0xD0,0xB7,0xCD,0xFE,0xAC,0xCB,0xC5,0x72,0x15,0x90,0x12,\r
+0x36,0x52,0x35,0x94,0x17,0x0D,0x6A,0xEA,0xA4,0x30,0x57,0x03,0xEF,0x88,0xEA,0xF5,\r
+0x99,0x0F,0x68,0x66,0x34,0x13,0x74,0xD7,0xF2,0x0C,0x6B,0x69,0x42,0x25,0xD4,0x66,\r
+0xBF,0x3C,0x5B,0x73,0xCC,0xC6,0xA1,0xFA,0x6D,0xF7,0x90,0x0D,0x78,0x1F,0xE3,0x6B,\r
+0xF0,0xCE,0xA9,0xCE,0x52,0x2A,0x4D,0x88,0x56,0x6D,0x0A,0xAC,0x3B,0x5C,0x32,0xF9,\r
+0x08,0xB1,0xD6,0x49,0x74,0x03,0x64,0x87,0xBE,0xBC,0xDB,0x95,0xB2,0xD5,0x18,0x5A,\r
+0x53,0x47,0x20,0xE4,0xB4,0x53,0x34,0x17,0x21,0x47,0x20,0xF1,0xDF,0xB8,0xAE,0x81,\r
+0x0A,0xA2,0xC5,0x58,0x4C,0x86,0xE1,0x3A,0x59,0xD2,0xB5,0x1C,0x98,0xFF,0x6F,0x07,\r
+0x68,0x85,0xE2,0x1D,0x44,0x06,0x61,0xB2,0xB2,0x1C,0x7B,0x39,0x37,0x50,0x20,0xE7,\r
+0xAB,0x38,0x5F,0x63,0xAB,0xE8,0x8F,0xB3,0xDC,0xA5,0xC2,0xEE,0xC0,0xA7,0xAD,0x9D,\r
+0xE9,0xF0,0x97,0xE9,0x03,0x29,0x4E,0xDA,0x25,0x67,0x00,0xD5,0x92,0xF5,0x1C,0x7E,\r
+0x31,0x60,0x07,0xA1,0x02,0x3E,0x59,0xCC,0x2E,0xF8,0x9F,0x41,0xA6,0xC1,0x48,0x1E,\r
+0xDC,0xF5,0x92,0xD9,0xAC,0xD7,0xB0,0x8B,0xD6,0x2D,0x4A,0x6C,0x76,0x11,0x80,0x06,\r
+0xFF,0xE7,0x80,0xE8,0xB5,0x44,0x23,0x01,0x46,0x69,0x0E,0xB8,0x1E,0x79,0x06,0xE8,\r
+0x13,0x9C,0xFB,0x7F,0x3D,0x84,0xE3,0x49,0x5B,0xDA,0xBD,0x16,0x36,0x51,0x00,0xC6,\r
+0x7C,0x81,0xE6,0x0D,0xC8,0xE6,0x81,0xDE,0xAF,0xAF,0xC8,0x97,0xEB,0x8C,0xFA,0xE1,\r
+0x7D,0x6F,0x08,0xE2,0xA7,0x48,0x2F,0x1F,0x93,0x0A,0x6D,0x0E,0xD3,0xB4,0xBC,0x9F,\r
+0x3D,0xB4,0xD3,0x79,0x84,0x56,0x31,0x22,0x9D,0xA2,0xC5,0xA8,0x8F,0xE8,0x6E,0x11,\r
+0xFE,0x09,0x6E,0x07,0x77,0x1C,0x7B,0x9B,0x9A,0x9D,0xFA,0x90,0x6C,0x0B,0xB3,0x2F,\r
+0xDB,0xC7,0xA0,0xEC,0xD3,0x7D,0x1A,0x5E,0x5E,0xED,0x8A,0x24,0x50,0x37,0xE5,0x45,\r
+0xD0,0x21,0x46,0x01,0x0A,0xBE,0xD9,0x44,0x14,0x75,0x12,0xF6,0x79,0x1E,0xC3,0x4A,\r
+0x75,0x74,0x13,0xF1,0x3C,0x93,0xF4,0x5F,0x3B,0xCB,0xAC,0x67,0xFC,0x9B,0xFB,0xF7,\r
+0x63,0x63,0x04,0xF0,0x19,0xA5,0xC2,0x4C,0xA9,0x87,0xE0,0xB9,0x83,0xE4,0x7C,0x0F,\r
+0x95,0x17,0x28,0xA2,0x2A,0xD7,0xE8,0xDD,0xBB,0xBB,0x84,0x1F,0x43,0x7C,0x72,0x11,\r
+0x35,0x63,0x5C,0x76,0xBC,0xBB,0x84,0x27,0xA1,0x37,0x08,0x89,0xF9,0xC6,0x4D,0x94,\r
+0x4A,0xB5,0x8A,0xDF,0xCE,0xA6,0x99,0x48,0x53,0x6A,0x55,0x26,0x1C,0x23,0xF1,0xCD,\r
+0xBA,0xD1,0xEE,0x4B,0x8F,0xA1,0x9E,0x0E,0xC2,0x39,0x06,0xE4,0xE0,0xDF,0x2F,0xEF,\r
+0x16,0x71,0x4E,0x47,0x60,0x4F,0x70,0x0F,0x25,0x57,0x68,0x6D,0x2C,0x13,0xB5,0xB9,\r
+0x4C,0x69,0x56,0x05,0x84,0x3E,0x01,0x9A,0xC6,0x19,0x26,0xC0,0xA2,0x9D,0xDE,0x5C,\r
+0xCB,0xC0,0xFF,0x2B,0x75,0x7C,0x43,0x29,0x6A,0xF8,0xC7,0x8D,0x1A,0x25,0x90,0xAA,\r
+0x71,0x77,0x48,0x26,0xE9,0x98,0xA7,0x51,0xEB,0xAF,0x90,0x5B,0x75,0x4A,0x57,0x02,\r
+0x58,0x6D,0x52,0x15,0xE2,0x07,0x38,0xC5,0xA3,0x3F,0x00,0x83,0x38,0x07,0xE5,0xFD,\r
+0xD2,0xFE,0xC1,0x0C,0x7A,0xC3,0xFC,0x99,0xF2,0x3C,0x03,0xD1,0x12,0x2D,0x92,0xA0,\r
+0x79,0x6C,0x53,0x35,0xD5,0x3D,0x02,0xC8,0x9D,0x92,0xAD,0x10,0x58,0x67,0x61,0x19,\r
+0x5A,0x7E,0x41,0x04,0xFD,0xBC,0x83,0x61,0x48,0xF1,0xCE,0xA6,0xFA,0xC5,0x1C,0xC6,\r
+0xF4,0xCD,0xF2,0x19,0xB9,0x8C,0xB3,0x15,0xF6,0x1C,0x23,0xF5,0x60,0x5F,0x27,0x67,\r
+0x3B,0xA4,0x9B,0xBF,0xAF,0xA0,0x9F,0x2F,0xC4,0x11,0x2E,0xCA,0xBD,0x82,0xDD,0x40,\r
+0x4F,0x94,0xAB,0xFB,0xBA,0x93,0xAC,0x09,0x5C,0xD5,0xEA,0x96,0x3C,0x03,0xF5,0xE9,\r
+0xB0,0xD9,0xE6,0x49,0xDC,0xAA,0x95,0x56,0xEC,0x90,0xAF,0x63,0x33,0x0C,0xB6,0xA5,\r
+0xF0,0x02,0x3D,0xD2,0x14,0x7A,0x45,0x4E,0x42,0x79,0x46,0x24,0xCC,0xF3,0x39,0xD5,\r
+0xC3,0xDB,0xE4,0x38,0x77,0x74,0x4B,0x23,0x5E,0xDD,0xE2,0x9C,0x95,0xAA,0xDB,0x6E,\r
+0xAB,0xF4,0xCB,0x7F,0x1E,0xF2,0xCD,0xCC,0x6C,0xD0,0xEF,0xA3,0xD0,0xEF,0x6B,0x9B,\r
+0x87,0xCF,0xF0,0x68,0x24,0x7F,0x40,0x7B,0xA6,0x08,0x37,0xB1,0x28,0x17,0xA5,0xAD,\r
+0x8C,0x29,0x16,0x85,0x51,0x5D,0x62,0x2C,0x1F,0xDA,0xE5,0xDA,0x4D,0x72,0x11,0x7C,\r
+0x32,0x51,0x6E,0x43,0x2E,0xF7,0xC8,0xF9,0x93,0x3A,0x05,0xB6,0x2A,0x15,0xD4,0xDE,\r
+0x44,0x72,0x4D,0x16,0x1A,0xD2,0xED,0xE8,0xD9,0xA2,0x9D,0x64,0x66,0x59,0x46,0x00,\r
+0xC7,0x14,0x2B,0xF3,0xFA,0x83,0xBC,0x59,0xB1,0x33,0x0C,0x9D,0x8D,0xB2,0x99,0x34,\r
+0x49,0x48,0x77,0x21,0x5D,0xFD,0xC2,0x80,0x7E,0xDC,0xE3,0xBD,0xC8,0xF7,0x29,0xC1,\r
+0xBF,0xF0,0xCF,0x6F,0xAD,0xA8,0x97,0x25,0xAE,0x88,0xB7,0x39,0x81,0xBE,0x8B,0x2A,\r
+0x9E,0xF1,0xCE,0x4F,0x37,0x64,0x5B,0x73,0xCC,0x91,0xAE,0x42,0x44,0x7B,0x33,0x57,\r
+0xD3,0x10,0x2F,0xE3,0x01,0x49,0x76,0x68,0x9B,0xBA,0x85,0x3E,0xB0,0x8F,0xEF,0x7F,\r
+0x6F,0x7B,0x44,0x34,0xF8,0x8B,0xB4,0x53,0x5A,0xFD,0xC2,0xB8,0x87,0xB8,0xEA,0x4D,\r
+0x1E,0x6A,0x55,0x54,0xA0,0x1F,0x20,0x9F,0x71,0x63,0x5C,0x0D,0x42,0x7D,0x52,0x30,\r
+0x82,0xEE,0xD1,0x4C,0xFF,0xB4,0x8B,0x6B,0xC7,0x0E,0x31,0xD6,0x01,0x3E,0x83,0xA2,\r
+0x92,0x25,0x1A,0x97,0xFC,0xAB,0x94,0x77,0xEE,0x98,0xA7,0x69,0x18,0x27,0xE1,0xD9,\r
+0x6C,0x86,0xB9,0xCA,0x45,0x79,0x46,0x1C,0xD0,0x35,0x0A,0xFA,0x1E,0x21,0x80,0xBE,\r
+0xB7,0xEB,0xD4,0x7C,0xDA,0x82,0xBD,0x78,0x10,0x65,0x5A,0x6A,0xE8,0xD7,0x2D,0xE5,\r
+0x14,0x62,0x5D,0x56,0x32,0x53,0x6C,0x41,0x36,0x4C,0x73,0x65,0x97,0xA8,0xAA,0x1D,\r
+0x86,0x21,0x1E,0x87,0x09,0xC9,0xF6,0xE0,0xA8,0xA0,0x9F,0x17,0x65,0x5A,0x17,0x52,\r
+0x8B,0x1B,0x24,0xB0,0x96,0x32,0x0D,0x84,0x50,0x75,0x4A,0x3A,0x56,0x69,0x02,0x74,\r
+0x18,0xB6,0x89,0x8E,0xC0,0x0E,0x31,0xEE,0x73,0x6B,0x54,0x07,0x0B,0x34,0xF0,0xDB,\r
+0xFF,0x2B,0x14,0xF4,0x9A,0x92,0xAD,0x28,0x89,0xB6,0x89,0x20,0x04,0x3B,0xB3,0x97,\r
+0x8F,0xD4,0xEB,0x7B,0x5B,0xD5,0xEA,0xAE,0x12,0x6D,0x52,0x60,0xE1,0xDE,0x0F,0xCE,\r
+0xB5,0xF8,0xC7,0x6D,0x3E,0xF3,0xCC,0xED,0x40,0x71,0x4E,0x2E,0x3B,0x04,0xB4,0xAF,\r
+0x22,0x9A,0xA5,0x98,0xAB,0x80,0xBF,0x0B,0x91,0x32,0x0D,0xBC,0x5E,0x61,0x00,0x7E,\r
+0xE6,0x15,0x2A,0xD3,0xA4,0x3F,0x00,0xBB,0x0E,0xC9,0xF6,0xD8,0xC4,0xFB,0x3B,0xDF,\r
+0x2D,0xB3,0x8C,0xBE,0x03,0x41,0x7E,0x62,0x8A,0xA9,0x96,0x3C,0x5B,0x64,0x30,0x4B,\r
+0xC4,0xE9,0xD6,0x0D,0x23,0x40,0x7F,0x43,0xE6,0x18,0x27,0xE1,0xE6,0xD9,0x4E,0x88,\r
+0x3F,0x6B,0x54,0x74,0x9C,0xBA,0x85,0x06,0xC1,0x26,0x19,0xF8,0x88,0xB7,0xA9,0x01,\r
+0x08,0x7D,0x42,0x55,0xED,0xB8,0x87,0x75,0xE8,0xB0,0x8F,0x47,0x16,0x29,0x82,0xB4,\r
+0xF6,0xDE,0xE1,0x08,0xE7,0x30,0x0F,0xF7,0x06,0x49,0x76,0x50,0x4C,0x73,0x31,0x5D,\r
+0xE2,0xDA,0xE5,0x18,0xCD,0xB9,0x86,0x54,0x7D,0xC3,0xFC,0xA1,0x3A,0x05,0x94,0x8E,\r
+0x1A,0xA5,0x9A,0x9F,0x5F,0xF5,0xCA,0x8A,0x58,0xF5,0xCA,0xB2,0x2D,0x12,0x95,0x98,\r
+0xA7,0x20,0x1F,0xA7,0x70,0x4B,0x74,0x1B,0x6E,0xD8,0xE7,0xA9,0x78,0x47,0x65,0x3D,\r
+0xA8,0x09,0x36,0x81,0x3A,0xD3,0xEC,0xC9,0xB7,0x1B,0x24,0xB3,0x9E,0xA1,0x88,0x36,\r
+0xC2,0x35,0x0A,0xD7,0xFE,0xA3,0x9C,0x7D,0x13,0x7A,0x45,0x76,0x50,0x6F,0x63,0x13,\r
+0xFC,0xD6,0xE9,0x0A,0xF9,0x9C,0xA3,0x45,0xE0,0x30,0x0F,0xCF,0xED,0xD2,0x1D,0xD0,\r
+0x72,0x8A,0xB5,0xD8,0xF7,0x34,0x0B,0xE3,0xC3,0x2E,0x11,0xF2,0x36,0x09,0x86,0x90,\r
+0x0C,0xB2,0x8D,0x9E,0xCB,0x91,0xAE,0x7A,0xAC,0x80,0xBF,0x33,0xD8,0xE7,0x69,0x91,\r
+0x2B,0x6F,0x50,0x64,0x3F,0xE4,0xDB,0xFB,0x59,0xE2,0xDD,0xA4,0xC5,0xFA,0x1B,0xFE,\r
+0x05,0x47,0x78,0x62,0x22,0x57,0x68,0x55,0xD1,0x22,0x1D,0xEC,0xBE,0x81,0x8C,0x12,\r
+0xEB,0x2F,0x10,0xE4,0xB2,0x13,0x2C,0x81,0xC8,0xB1,0x8E,0x66,0xAC,0x93,0xBD,0x31,\r
+0xF3,0xFF,0xC0,0x2C,0x4A,0xC6,0xF9,0xAC,0x66,0x58,0x67,0x21,0x39,0x06,0xC5,0xDC,\r
+0x93,0xCB,0xF4,0x78,0x41,0x59,0x66,0x38,0x67,0x4F,0x70,0x37,0xA9,0x96,0x8D,0x04,\r
+0x70,0x99,0xA6,0xC9,0xB8,0x9B,0xA4,0x03,0xCF,0x8E,0xB1,0x5E,0x61,0x5E,0x07,0x46,\r
+0x0A,0x6E,0x51,0x44,0xD6,0x22,0x1D,0xD4,0x20,0x60,0x5F,0x5F,0xDC,0xE3,0x79,0x85,\r
+0xEA,0xC1,0xFE,0x0B,0x3D,0xEC,0xD3,0xF1,0x28,0xE0,0xDF,0xD7,0xFB,0xC4,0x3C,0xE7,\r
+0x6B,0x4B,0xFD,0xF2,0xAB,0xF0,0xA4,0x89,0x0B,0x04,0x5C,0x85,0x1D,0x31,0x3E,0xF1,\r
+0x5D,0x50,0xD0,0xDF,0x4A,0xBD,0x45,0x25,0xFF,0xF0,0x74,0x59,0x61,0x1A,0x15,0xA6,\r
+0xC7,0x06,0x1C,0x13,0x4B,0x9C,0x44,0x05,0x3A,0x35,0x09,0xE1,0x1A,0x03,0x0C,0xC4,\r
+0x37,0xA3,0x49,0x46,0xF3,0x6A,0xFC,0x4B,0x73,0x7C,0xE2,0x43,0x9E,0x57,0x58,0x14,\r
+0x96,0x54,0x1F,0x10,0x9E,0xB1,0x91,0xFD,0xA3,0xAC,0xFA,0x8B,0x4A,0x13,0x1C,0x84,\r
+0x95,0x48,0x00,0x0F,0x55,0xA1,0x5A,0x26,0xBA,0xB5,0x81,0xE9,0xF5,0x85,0x8A,0xAD,\r
+0xCA,0xBC,0xAB,0xA4,0xD1,0x3D,0xDE,0x3E,0xF9,0xF6,0x13,0x38,0x2E,0xE8,0xE7,0x1B,\r
+0x92,0x70,0x3F,0x30,0xC0,0x4C,0xCF,0x5E,0x3C,0x33,0x6E,0x80,0x9B,0x76,0x79,0x30,\r
+0x4E,0x58,0xCB,0xC4,0x74,0xA4,0x7B,0x02,0x93,0x9C,0x8E,0xCF,0x92,0x83,0x8C,0xCC,\r
+0x74,0xEF,0x46,0x49,0x4F,0x88,0x40,0x15,0x6B,0x64,0xB8,0x01,0x80,0x5B,0x54,0x06,\r
+0x1D,0x00,0xC0,0xCF,0x60,0xE0,0x6F,0x52,0x2E,0x21,0x4D,0xB1,0xBF,0x56,0x59,0x34,\r
+0x7E,0x6D,0xCE,0xC1,0xB9,0xD3,0xB6,0xB8,0x77,0x78,0xF6,0x53,0x07,0xF2,0xFD,0x28,\r
+0x90,0x7A,0x37,0x38,0xAF,0xE4,0xA0,0x99,0x36,0x39,0x17,0xF3,0xBE,0xB8,0xB7,0xDB,\r
+0x70,0xCB,0x66,0x69,0xC9,0x67,0xC6,0x7C,0xDD,0xD2,0x23,0x2C,0x47,0x29,0x26,0xB3,\r
+0x44,0xDA,0x43,0x4C,0xEA,0x11,0xE5,0x29,0x91,0x9E,0xFD,0xBE,0x95,0xB1,0xBE,0xF9,\r
+0x3B,0x0F,0xE9,0xE6,0x92,0xAF,0x9D,0xEF,0xF6,0xF9,0x5F,0x7B,0xF9,0x51,0x5E,0x75,\r
+0x97,0x42,0x08,0x07,0xC5,0x79,0xCA,0x6E,0x41,0x4E,0xE5,0x76,0x85,0x7A,0x75,0x22,\r
+0xBF,0xEB,0x89,0x86,0xD7,0x5A,0xD8,0x5F,0xE3,0xEC,0x3A,0x0B,0x33,0x19,0x16,0xF7,\r
+0x10,0xBA,0x77,0x78,0x45,0xF1,0x4A,0x66,0xA9,0xA6,0x83,0xF8,0xF2,0xB7,0xB8,0x98,\r
+0x88,0xE6,0xB3,0xBC,0xD6,0x7B,0xD9,0x7F,0x83,0x8C,0xDE,0x8F,0xA0,0xB4,0xBB,0xC9,\r
+0xB6,0x75,0x1E,0x11,0x62,0x93,0x6D,0x23,0x88,0x87,0x86,0xDC,0x40,0x1B,0x14,0x86,\r
+0xD0,0x2A,0x27,0x28,0x2F,0x6C,0x20,0x91,0x87,0x88,0xCA,0x9F,0xB5,0x5E,0x51,0x36,\r
+0xC5,0x0C,0x14,0x1B,0x1F,0x18,0x10,0xD5,0x06,0x09,0x63,0xB7,0xE9,0x9A,0x95,0xAE,\r
+0xD3,0x36,0x38,0x37,0x76,0xD7,0x79,0x73,0xDB,0xD4,0x44,0x4D,0xD6,0x97,0x98,0x9C,\r
+0xE5,0x2D,0x15,0x1A,0x6A,0x99,0x65,0x21,0x5B,0x54,0xCC,0x45,0xC7,0xB2,0xBD,0xA8,\r
+0xA4,0x6B,0x12,0x1D,0x0E,0x69,0x01,0xB5,0xA7,0xA8,0xEE,0x9B,0x05,0xE1,0xEE,0x39,\r
+0xD6,0x04,0x0F,0x00,0xD8,0x16,0xD7,0x1C,0x42,0x4D,0xB7,0x27,0xAA,0xBC,0xB3,0xCB,\r
+0x40,0xFE,0x63,0x6C,0xAC,0xB6,0xA3,0xC8,0xF8,0xF7,0x32,0x18,0x3C,0x30,0x3F,0xD1,\r
+0x83,0x72,0x2C,0x23,0xCC,0x52,0xC3,0x4C,0xCE,0xC1,0x21,0x3D,0x78,0x24,0x2B,0x81,\r
+0x1F,0x0A,0xC8,0xC7,0x7B,0xE8,0x74,0x41,0xA1,0xAE,0x89,0xFA,0xAE,0x73,0x7C,0x00,\r
+0xEE,0xB9,0x8A,0x85,0xD2,0x6F,0xDD,0x6F,0x19,0x16,0x7F,0xB4,0xE3,0x92,0x9D,0xAC,\r
+0x0A,0x2C,0xFB,0xF4,0xCA,0x35,0xC5,0x2D,0x97,0x98,0x9A,0xDF,0x4E,0xDC,0xD3,0x4F,\r
+0x20,0x8F,0x72,0x7D,0x44,0xD0,0x4B,0x46,0x82,0x8D,0xFF,0xAF,0x02,0xD3,0xDC,0x0C,\r
+0xD8,0xA2,0xA7,0xA8,0x94,0xC8,0x9B,0x8E,0x17,0x18,0x12,0xD7,0x45,0x3A,0x35,0xA2,\r
+0x48,0x76,0xE3,0xEC,0xFC,0x26,0xF3,0x08,0x05,0x0A,0x31,0xE6,0xCF,0xA9,0xA6,0xBB,\r
+0x55,0xD8,0x50,0x5F,0xD4,0x08,0xDB,0x0E,0x7E,0x71,0xDD,0x71,0x87,0x69,0x66,0x33,\r
+0x57,0xD2,0x58,0x57,0x7A,0xC9,0x75,0x61,0x40,0x4F,0xC4,0x56,0xF4,0x6B,0x64,0x42,\r
+0xBC,0xF7,0x96,0x99,0xD5,0x29,0xDA,0x2E,0x67,0x68,0xA6,0x13,0x7C,0xEB,0xE4,0x4A,\r
+0xD2,0x20,0x2F,0x20,0x22,0x53,0x2D,0xA3,0xDA,0xD5,0x65,0x6D,0x7D,0x05,0x0A,0xA5,\r
+0x2B,0x1B,0xED,0xE2,0x70,0xB0,0x7F,0x12,0x12,0x1D,0x27,0xE7,0x14,0xC4,0xCB,0x0D,\r
+0x50,0xEA,0x67,0x68,0xB2,0x8B,0xBD,0xEB,0x25,0x2A,0x15,0xE2,0x90,0x90,0x9F,0xDD,\r
+0x1A,0x38,0xFF,0xF0,0x9B,0x84,0x94,0xCD,0xC3,0xCC,0x1E,0x0F,0x8A,0x53,0x5C,0x04,\r
+0x35,0xA9,0x41,0x4E,0x1E,0x39,0x11,0xF5,0x96,0x99,0xBB,0xFF,0x91,0x7E,0x71,0x32,\r
+0xA7,0x77,0x0D,0x02,0x61,0xC1,0x6E,0x72,0x81,0x8E,0xAD,0xFE,0x82,0x48,0x47,0x17,\r
+0xA1,0x59,0x25,0x2A,0x09,0x2F,0x06,0xF4,0x63,0x6C,0xB2,0x03,0x10,0x0B,0x04,0xC6,\r
+0x9D,0xC0,0x80,0x8F,0x31,0x51,0x3E,0xB2,0x8D,0x82,0xB3,0xEC,0xD1,0xA5,0xAA,0xA9,\r
+0x93,0x66,0x28,0x27,0x6D,0xDF,0x62,0x60,0x56,0x59,0xF3,0x77,0xEC,0xBB,0xB4,0x8A,\r
+0x94,0x5E,0x17,0x18,0x8E,0xE1,0x81,0xBD,0xEB,0xE4,0x30,0x09,0x55,0xF1,0xFE,0x79,\r
+0x69,0x41,0xF5,0xFA,0x08,0x0E,0x07,0xD4,0xE0,0xEF,0x68,0x5A,0x1F,0x22,0x2D,0xE0,\r
+0xCE,0x98,0x8B,0x84,0xAE,0xC5,0xA1,0xB9,0x7F,0x70,0xFC,0x51,0xFB,0x42,0x4D,0x64,\r
+0xC1,0x28,0x34,0x3B,0x21,0x01,0x2E,0xF2,0xE5,0xEA,0x5D,0x6A,0x9F,0xB9,0xB6,0xFB,\r
+0x54,0xCE,0x47,0x48,0x43,0x96,0x4C,0x07,0x80,0x8F,0x8C,0xDE,0x0D,0xFA,0xF5,0x2A,\r
+0x8D,0xD4,0x84,0x8B,0x65,0xD5,0x6A,0x62,0xF7,0xF8,0x7E,0x5B,0x73,0xC2,0xCD,0x6C,\r
+0x87,0x56,0x0C,0x03,0xC6,0x2B,0xC9,0x3F,0xAD,0xA2,0x97,0xE8,0x64,0x3B,0x34,0x82,\r
+0xF6,0x25,0x0E,0x01,0xD0,0x1C,0xDF,0x1E,0x33,0x3C,0x22,0xC3,0xDB,0xAD,0xA2,0xAB,\r
+0x49,0x60,0xF4,0xFB,0x52,0xE7,0x5D,0x67,0x5D,0x52,0xAB,0x24,0xC2,0x93,0x9C,0x8C,\r
+0x63,0xC3,0x7D,0x72,0x9A,0xA5,0x95,0xED,0xDE,0xD1,0x71,0x7D,0x34,0x2B,0x24,0xC2,\r
+0x58,0x62,0xE7,0xE8,0xD9,0x37,0xD6,0x3C,0x2C,0x23,0x3E,0xC0,0x46,0xC7,0xC8,0x5C,\r
+0xB0,0x5B,0x36,0x39,0x50,0x94,0x5F,0x16,0x53,0x5C,0xC6,0x47,0x49,0xEE,0xE1,0x7A,\r
+0x2F,0x3F,0xCD,0xC2,0x3D,0x4F,0x32,0xA0,0xA5,0xAA,0x9D,0xEA,0xD9,0xBE,0xB1,0xBA,\r
+0x31,0x8D,0x61,0x6E,0x6F,0xAC,0x60,0x11,0x5A,0x55,0xED,0x65,0x43,0xE6,0xE9,0x78,\r
+0xF0,0x0B,0x26,0x29,0x90,0xDC,0x9F,0x9E,0xBF,0xB0,0xB4,0xD9,0x03,0x3D,0x32,0xE3,\r
+0xAA,0xCD,0xBA,0xB5,0x0D,0x3B,0x02,0xE4,0xB0,0xBF,0xF8,0x9A,0x24,0xE0,0xEF,0x19,\r
+0xFC,0xA7,0x86,0x89,0xA0,0xA8,0xAF,0xDA,0xED,0xE2,0x57,0x68,0x19,0xFE,0xF1,0x3A,\r
+0x4D,0xED,0xDD,0xBC,0xA4,0xAF,0x87,0x55,0x0E,0x52,0xD0,0xFF,0x8B,0x82,0x85,0x74,\r
+0x8D,0x65,0x95,0x7C,0xDF,0x38,0x6B,0x2E,0x26,0x7C,0xD6,0xD7,0x96,0x2C,0x36,0xC7,\r
+0x1E,0x7C,0x1F,0xEF,0xCD,0x09,0x48,0x3C,0x4E,0x92,0x50,0xBF,0x06,0xF8,0x72,0x83,\r
+0xF7,0xD2,0x58,0x06,0x58,0x71,0xA5,0xA9,0x9E,0x8A,0x98,0x6F,0xFE,0xD5,0xA7,0x56,\r
+0xE0,0xD3,0x4E,0x11,0xC8,0x39,0x7D,0x39,0xAA,0xEA,0xCC,0x5B,0xF5,0x41,0x38,0xC9,\r
+0x21,0x7B,0x27,0xD0,0x00,0xB3,0x3F,0xF1,0xF8,0x09,0x7D,0x09,0x0C,0x7A,0xFA,0x0B,\r
+0xCF,0x94,0x26,0x3E,0xBD,0xCD,0xFC,0x4C,0x0F,0x73,0xF0,0xFE,0x62,0xAD,0x43,0xB2,\r
+0x4F,0x9C,0xAE,0xBE,0x9A,0x88,0x9E,0x6B,0xA0,0x93,0xBF,0x51,0x89,0x88,0x8D,0x7C,\r
+0x6C,0xC9,0xD8,0x9D,0x5B,0x20,0xF7,0xAA,0xBB,0x9B,0xAC,0x4A,0x79,0x2D,0xD8,0x29,\r
+0x5A,0xEC,0xCB,0xAB,0x4C,0x21,0xE1,0xBD,0xC4,0x63,0x2B,0x35,0xEB,0xF3,0x94,0x65,\r
+0x77,0xDA,0xD0,0x86,0x19,0xD1,0x44,0xE8,0x41,0xDE,0x13,0xB0,0xC4,0x62,0x2A,0xDB,\r
+0xB4,0x03,0xCA,0x45,0xFF,0x3C,0x4F,0x0E,0x68,0xD1,0x35,0x99,0x8E,0xB0,0xB2,0x43,\r
+0xD5,0xA7,0x0F,0x24,0x31,0xD7,0x6A,0xC0,0x54,0xBB,0x63,0xA5,0x4A,0x04,0xC2,0x33,\r
+0x9F,0x54,0xB6,0x6E,0x8C,0xA9,0xA9,0x7D,0xB7,0x85,0xBE,0x46,0x4D,0x3C,0xFD,0x0C,\r
+0x81,0x77,0x8B,0x70,0x57,0x32,0xE9,0xA6,0xEB,0x0B,0x6C,0x1A,0x43,0x9A,0x55,0xA4,\r
+0x2F,0x18,0x4A,0xDE,0xB9,0xDD,0xE8,0x48,0xD3,0x75,0x2A,0x22,0x7F,0x03,0xF0,0x01,\r
+0xDE,0xF4,0x57,0x2F,0x5A,0x00,0xD6,0xAB,0x99,0xCC,0xD9,0x68,0x8A,0x94,0x92,0x63,\r
+0x9D,0x25,0xC5,0x6C,0x3F,0xB4,0x07,0xCE,0xFB,0x5B,0x2C,0x0A,0x1F,0x72,0xE1,0x10,\r
+0x66,0xBA,0xA1,0x97,0xA5,0x8F,0xA6,0x54,0x74,0x9F,0x67,0x85,0x10,0xC2,0x5E,0xAF,\r
+0x06,0x3E,0x45,0xF7,0x3A,0x84,0x32,0xCB,0xD2,0x54,0x0A,0x23,0xB7,0x1B,0x20,0xD1,\r
+0xB7,0x52,0x98,0x46,0x87,0xFA,0xF1,0x76,0x88,0xBD,0xB9,0x79,0x97,0x3A,0x21,0xD0,\r
+0x89,0x75,0x81,0x78,0xE9,0x1D,0x78,0x18,0x0A,0x46,0xC0,0xFB,0x28,0x7F,0xDB,0x2A,\r
+0x1F,0x5C,0x3E,0xEE,0x77,0x36,0xCD,0x86,0x1C,0x71,0xE1,0xED,0x59,0x0C,0xD9,0x28,\r
+0xE6,0xB2,0x29,0x17,0x2D,0x85,0x24,0xDC,0xBF,0x8F,0xBC,0x4E,0x53,0x8E,0x51,0xA0,\r
+0x9A,0x64,0x83,0x6B,0x7F,0x34,0xC7,0x8E,0xE7,0x15,0x7E,0x16,0xF1,0x65,0x18,0xE9,\r
+0xCA,0xA4,0x13,0x3B,0x89,0x99,0x9C,0x78,0x8A,0xCE,0xC8,0x7B,0x6E,0x01,0xE3,0x12,\r
+0xE3,0x82,0x1C,0x12,0xF6,0x1E,0x64,0x07,0x03,0x6D,0xE2,0xF2,0x86,0x38,0x32,0xC3,\r
+0x0F,0x1C,0x6E,0xFE,0x04,0xA3,0x2B,0xF5,0x40,0xFF,0x33,0xB1,0xBD,0x99,0xA8,0x59,\r
+0xDA,0xE4,0x43,0x2B,0x37,0xB6,0x0D,0xC6,0x7A,0xF2,0x04,0x8B,0x22,0xFD,0x53,0xA2,\r
+0xC4,0xC7,0x7E,0x35,0x6A,0x44,0xA2,0x9B,0xD7,0x61,0x3A,0x26,0x74,0x97,0x6F,0x9E,\r
+0x19,0x3D,0x59,0xE8,0x65,0x07,0xEE,0x94,0x4A,0x86,0x40,0xBB,0x2E,0x51,0xF3,0x02,\r
+0xC2,0xA6,0x19,0x33,0x80,0xBB,0xB7,0x71,0xB5,0xF6,0xCF,0x44,0xEF,0xD7,0xB4,0x45,\r
+0x73,0xCA,0xC4,0x82,0xA9,0x9D,0xB8,0x58,0x29,0x30,0x95,0xD8,0xE9,0xF9,0x9C,0x6D,\r
+0x27,0x1A,0x40,0xD6,0xE0,0x3F,0x53,0x11,0x91,0xC6,0xDB,0x60,0x19,0x5C,0xC9,0x38,\r
+0x3E,0x78,0x3B,0xCF,0x25,0x87,0x2E,0xD4,0x90,0xE7,0xFB,0x61,0x83,0x0A,0x05,0xF4,\r
+0x15,0x2F,0x47,0xE4,0xD1,0x5B,0x06,0x20,0x71,0xAA,0x57,0x80,0xB5,0x11,0x28,0xD9,\r
+0x52,0xEE,0xC1,0xA3,0xE6,0x5E,0x34,0x17,0x1A,0x16,0x80,0xEB,0x4C,0x2A,0xEA,0x1B,\r
+0xCC,0xC5,0x74,0x3D,0x23,0xE6,0x49,0xD2,0x0B,0x67,0xE0,0xFA,0x14,0xE6,0x7E,0x8F,\r
+0xA1,0x73,0xAF,0x50,0x60,0x37,0xDB,0x91,0x8F,0xFB,0xF8,0x7E,0x4B,0x12,0xD5,0x24,\r
+0x37,0x5A,0x10,0xC6,0x79,0x55,0xA0,0x88,0x44,0xEB,0x23,0xB5,0x48,0x0E,0xCA,0x3B,\r
+0xD6,0xF6,0x5D,0x27,0xAD,0x8D,0xAC,0x5C,0x63,0x89,0x66,0x92,0xA0,0x37,0x1B,0xEA,\r
+0x72,0xEA,0xE5,0x83,0xF4,0x6F,0x17,0x05,0xBA,0xBA,0x8C,0x4B,0xC3,0x5A,0x15,0xE4,\r
+0x7F,0xD8,0xDA,0x8E,0xB1,0xDF,0xE2,0x40,0x95,0xD2,0xCB,0x64,0xAA,0xB5,0x93,0x62,\r
+0xA7,0x12,0xC8,0x56,0x49,0x11,0xD4,0xB8,0xAE,0xFE,0xDC,0x5F,0x90,0x02,0x1E,0xEF,\r
+0x75,0xAB,0xA3,0x84,0x2C,0xA5,0x05,0xDD,0x48,0xF5,0x31,0xB9,0xE5,0x55,0x3C,0xCD,\r
+0x95,0x27,0xCF,0x64,0x4B,0x60,0xA7,0xBA,0x30,0x4B,0xF7,0xC1,0x9A,0x80,0x96,0x67,\r
+0x0D,0x6D,0x1D,0xFC,0x07,0xF2,0x79,0xF6,0x13,0x3D,0xA2,0xE2,0xAE,0x91,0xB3,0x42,\r
+0x9C,0x05,0xE4,0x6D,0xEC,0x2D,0x4D,0x1D,0x75,0xBE,0x47,0x84,0x4E,0x20,0xE2,0x13,\r
+0x90,0x17,0xFA,0x61,0x59,0x51,0x84,0xA8,0x0C,0x21,0xA1,0xFD,0x56,0xBC,0x66,0x97,\r
+0x93,0x46,0xA8,0x62,0x73,0x26,0xD9,0x82,0x9F,0xAB,0xB8,0x6E,0xCE,0xE0,0xA2,0x53,\r
+0x3D,0x29,0x69,0xCC,0x39,0xD5,0x60,0xC8,0x0D,0x00,0x81,0xFC,0x61,0xB1,0x5C,0xAD,\r
+0x5E,0xFC,0xDF,0xAF,0x9B,0xA8,0xBF,0x6A,0x1F,0x23,0xB0,0xEE,0x49,0x18,0xDD,0x2C,\r
+0xB3,0x42,0x8C,0x42,0x01,0x93,0x1E,0xF0,0xAC,0x8D,0xAD,0x5D,0x0D,0x6C,0xED,0x1C,\r
+0xBE,0x70,0xB3,0x4F,0xDC,0x69,0x39,0x2D,0xC5,0x42,0x0B,0x34,0x1B,0x56,0xC1,0x30,\r
+0x7A,0xE8,0xEF,0x8B,0x5D,0x41,0x90,0xAC,0xF5,0x36,0x4F,0x04,0x0E,0x70,0xF2,0x03,\r
+0x3F,0x58,0x1A,0xCE,0x52,0x02,0xDC,0xA3,0xB8,0xC9,0xFD,0x49,0x68,0x2F,0xCB,0x3A,\r
+0x14,0x0F,0x66,0xE5,0x22,0xC6,0x68,0xD3,0x76,0xEC,0x16,0x87,0x9E,0xA4,0xB6,0x47,\r
+0x98,0x15,0xF0,0x69,0x98,0xF9,0xED,0x69,0x02,0x4C,0xC2,0xF3,0x08,0x5E,0xDA,0x2B,\r
+0xC5,0xE7,0x5F,0x34,0x7D,0x45,0xB4,0x8C,0xD4,0x33,0x6B,0x25,0x7A,0x31,0xC7,0x36,\r
+0x96,0x76,0x9D,0x67,0x81,0x9B,0x96,0x70,0xB0,0xC3,0xFF,0x41,0x3B,0x77,0xC0,0x31,\r
+0xF8,0x91,0x14,0x09,0x4D,0x01,0xC0,0xBC,0x10,0x6F,0xF3,0xE1,0xD4,0x76,0x2E,0xDF,\r
+0xB6,0x72,0xB9,0x47,0xC3,0x6A,0x25,0x32,0x08,0x35,0xB1,0xF9,0x30,0xE3,0x5F,0xAE,\r
+0x57,0xDE,0xF4,0xA6,0x7B,0x24,0xD3,0x8A,0xA1,0xB2,0x9F,0x50,0xC1,0x50,0x1D,0xEC,\r
+0x00,0x5F,0x22,0xF1,0x14,0xE3,0x7B,0xE5,0x16,0x08,0x92,0xE7,0x5D,0x28,0xF9,0x08,\r
+0x13,0x02,0x45,0xA5,0xAE,0x9D,0xDA,0x87,0xB0,0x76,0x31,0x35,0x5A,0x1D,0x67,0x89,\r
+0x18,0xE4,0xA3,0x48,0x77,0x5E,0x19,0x9D,0xFA,0xEE,0xA9,0xE7,0x73,0x34,0x41,0x86,\r
+0xA0,0x40,0x07,0x54,0xBD,0x86,0xC1,0x8F,0x0D,0x84,0xC3,0x7A,0xA0,0xE7,0xD8,0xCC,\r
+0xB6,0x57,0x10,0x55,0x98,0xB0,0xF7,0x9C,0x9F,0xC8,0x8F,0xA4,0xDF,0x98,0x5F,0x34,\r
+0xBE,0x4C,0x0B,0x46,0x03,0x6B,0x2C,0xDC,0x37,0x09,0x4E,0xCD,0xF0,0xB7,0x18,0x5C,\r
+0xBF,0xA2,0xE5,0xA9,0x6C,0xC5,0x82,0x1D,0x0B,0xAC,0xEB,0x54,0xC8,0x8F,0x5E,0x22,\r
+0x3D,0x2A,0x6D,0xA3,0xD3,0x3F,0x78,0x58,0x3E,0x9E,0xD9,0x53,0x4F,0x08,0x17,0xEC,\r
+0xFE,0x97,0xD0,0xDD,0x20,0x75,0x32,0xE1,0x39,0xA1,0xE6,0x6B,0xAC,0xEB,0xCA,0xD2,\r
+0x1F,0xD6,0x91,0x7D,0x08,0xF4,0xB3,0x48,0x72,0x2E,0x69,0xAF,0x55,0x12,0x24,0xC5,\r
+0xF2,0x43,0x04,0x05,0xA6,0x1D,0x5A,0x0F,0x8A,0xFB,0xBC,0x82,0x85,0xC2,0xEC,0xDD,\r
+0xD0,0xBF,0xF8,0xDB,0x99,0xA7,0xE0,0x8A,0xFF,0xD9,0x9E,0xD5,0x15,0x52,0xA4,0x05,\r
+0x3C,0xC4,0x83,0x4C,0x11,0x67,0x20,0xC2,0xE2,0x6A,0x2D,0x7B,0x3D,0x7A,0xA2,0x2B,\r
+0xAB,0xA6,0xE1,0xB9,0xE0,0x25,0x62,0x71,0x16,0x1F,0x58,0xFA,0x14,0x53,0x84,0x24,\r
+0xC9,0x81,0xC6,0xFC,0xE8,0xA5,0xE2,0xF9,0xFD,0xD1,0x96,0xDF,0xBB,0xFC,0xCB,0xC4,\r
+0x2A,0xD3,0x94,0x4D,0xA7,0x0A,0x4D,0x19,0x81,0x64,0x23,0x16,0xB1,0xF6,0xB8,0xBD,\r
+0x68,0x1B,0x5C,0xC7,0x0F,0xCB,0x8C,0x70,0x78,0xA6,0xE1,0x2D,0xE3,0xA4,0x09,0x5E,\r
+0x33,0xED,0xAA,0x6A,0xF6,0x09,0x4E,0x4B,0xF2,0x6E,0x29,0x6F,0x18,0x5F,0x96,0x3A,\r
+0x7C,0x1F,0x58,0xD7,0x68,0xE5,0xA2,0x39,0xC9,0xF4,0xB3,0xCE,0x5B,0x1C,0x47,0xA8,\r
+0x90,0x64,0x23,0x40,0x10,0x70,0x37,0xD4,0x85,0x44,0x03,0x32,0xFC,0xBB,0x0A,0x42,\r
+0xCB,0x92,0xD5,0xED,0xD0,0x20,0x67,0x44,0x1A,0xBF,0xF8,0x56,0x91,0xD6,0xBC,0x99,\r
+0xB9,0x7E,0x39,0x73,0x49,0xF3,0xB4,0x0E,0x5A,0xAF,0xE8,0x06,0x51,0x16,0x34,0xD1,\r
+0xE0,0x9B,0xDC,0xCF,0xD2,0x28,0x6F,0x4E,0x9B,0xE8,0xAF,0x80,0xAE,0xE9,0xBB,0xA1,\r
+0x5A,0x2C,0x6B,0xC2,0x90,0x30,0x77,0x14,0x56,0x0F,0x48,0xAA,0x61,0x26,0x70,0xA5,\r
+0xF5,0x71,0x36,0x30,0xB3,0x2E,0x69,0x29,0x00,0x33,0x74,0xC0,0xCC,0x8B,0x4E,0x36,\r
+0xF1,0xBE,0xF9,0xFB,0xCE,0x8C,0xCB,0xF6,0x64,0x02,0x45,0x95,0x6F,0x28,0x13,0xC8,\r
+0x65,0x21,0x66,0xF0,0x4A,0xEC,0xAB,0x12,0xC3,0x7C,0x3B,0x4C,0xC9,0x8E,0x7E,0x03,\r
+0x81,0x41,0x06,0x74,0x80,0x34,0x73,0x00,0xFE,0xCE,0x89,0xC3,0x82,0xC5,0xAD,0x9B,\r
+0x50,0x24,0x63,0xC0,0x51,0x77,0x30,0x92,0x6B,0xBD,0xFA,0x25,0xE0,0xA7,0x58,0x0C,\r
+0x9A,0x6C,0x2B,0x42,0x28,0xF5,0xB2,0x69,0x2D,0x85,0xC2,0x5B,0x07,0x40,0x95,0x26,\r
+0x73,0x36,0x71,0xF1,0xC6,0x0C,0x4B,0x7E,0x27,0x0D,0x4A,0xD9,0xA4,0xE3,0xC8,0xD8,\r
+0xA6,0x9C,0xDB,0x8E,0x26,0x5D,0x1A,0xCF,0xE3,0x7D,0x3A,0x6D,0x93,0xD4,0xCD,0xEA,\r
+0x2F,0xF2,0xB5,0x69,0x01,0x63,0x24,0xD6,0x5C,0x87,0xC0,0x28,0x11,0x56,0xB4,0x11,\r
+0xB5,0xAA,0xED,0xAB,0xAC,0x95,0xD2,0x8D,0xDE,0xCF,0x88,0xE2,0x8E,0xC9,0xBF,0x85,\r
+0x83,0x52,0x15,0x65,0x66,0x4D,0x0A,0x9F,0xE4,0x42,0x05,0x55,0xB5,0xF2,0xA8,0xA9,\r
+0xFB,0xB6,0xF1,0xF9,0x82,0x3C,0x7B,0x0A,0xD4,0x47,0x00,0x60,0x78,0x3F,0x12,0xDE,\r
+0x40,0xEF,0xA8,0x1B,0x9E,0x98,0xDF,0xB2,0xB7,0x49,0x0E,0x0D,0xA1,0xE6,0xF8,0xED,\r
+0x2E,0x1C,0x5B,0x86,0x19,0xE7,0xA0,0x4A,0xDA,0xEF,0xA8,0xC6,0x08,0x4F,0xD6,0x6A,\r
+0x1A,0xF7,0xB0,0x59,0x71,0x76,0x31,0xB3,0x3A,0xBE,0xF9,0x77,0x6E,0x29,0x33,0xE9,\r
+0x52,0x37,0x70,0xD1,0xDF,0x9F,0xD8,0xF4,0x91,0x60,0x27,0x02,0x53,0x14,0x45,0xA2,\r
+0xF0,0x50,0x17,0x14,0x53,0x7F,0x38,0x98,0xEE,0xCA,0x8D,0xD7,0x2B,0x6C,0x83,0x1C,\r
+0x79,0x3E,0x79,0xF3,0x0C,0xD4,0x93,0x6C,0xF7,0x59,0x1E,0x5D,0x8B,0xCC,0x8F,0xB0,\r
+0x51,0xCA,0x8D,0x2F,0x5B,0xFF,0xB8,0x10,0xC1,0x74,0x33,0x46,0x6A,0x2D,0x23,0xFD,\r
+0xEF,0xB2,0xF5,0xE9,0xBE,0x99,0xDE,0x93,0x9D,0xC0,0x87,0xAE,0x32,0x75,0xE1,0x67,\r
+0x04,0xFB,0xBC,0x4B,0x6E,0xCD,0x8A,0x17,0x6D,0x95,0xD2,0x0B,0x8A,0xCD,0xAF,0x91,\r
+0x8C,0x7B,0x3C,0x43,0x07,0x4B,0x0C,0xF8,0x3F,0x89,0xCE,0x45,0x94,0xD3,0x8C,0xAC,\r
+0xF7,0x62,0x25,0x21,0x2E,0xDD,0x9A,0x47,0x3C,0x96,0xD1,0x59,0x5F,0x18,0x57,0xBC,\r
+0x63,0xFD,0xBA,0x2A,0x9A,0xB8,0xFF,0x96,0x38,0xB6,0xF1,0x7D,0x01,0x46,0xF4,0x41,\r
+0x1E,0x38,0x7F,0x92,0xB1,0x26,0x61,0x23,0x60,0x22,0x65,0xB1,0x10,0x57,0x94,0x30,\r
+0xE3,0x66,0x21,0x31,0x93,0x2F,0x68,0x08,0x0E,0x9B,0xDC,0x66,0xCF,0x88,0x1F,0x64,\r
+0xC1,0x9A,0xDD,0xEF,0x02,0x7C,0x3B,0xCA,0x4F,0x9C,0xDB,0x20,0xAB,0xEC,0x8B,0x94,\r
+0x3F,0x39,0x7E,0xB2,0x7B,0xFE,0xB9,0x31,0xEA,0xEA,0xAD,0xF3,0x6D,0x2A,0x62,0xBB,\r
+0xBA,0x83,0xC4,0x8D,0x61,0x72,0x35,0xA7,0x7C,0x86,0xC1,0x09,0x19,0x5E,0xB6,0x1B,\r
+0x84,0x60,0x27,0x50,0xAA,0xBD,0xFA,0xA3,0xB5,0x41,0x06,0x07,0xBA,0xFD,0xEB,0xE5,\r
+0x2C,0x0F,0x48,0x97,0x2B,0xEA,0xAD,0x75,0x29,0xA5,0xE2,0x7F,0x0D,0x4A,0xE6,0x5F,\r
+0x97,0x56,0x11,0x75,0xE5,0x12,0x55,0x43,0xA0,0x72,0x35,0x21,0x0B,0x4C,0x87,0x38,\r
+0x72,0xD8,0x9F,0x1E,0x06,0x5C,0x1B,0xEE,0x44,0x03,0x44,0xB4,0x13,0x54,0xC5,0x62,\r
+0x37,0x22,0x65,0xA1,0x5D,0xD7,0x90,0x3E,0x15,0x00,0x47,0xE6,0x16,0x51,0xF5,0x57,\r
+0xE8,0x80,0xC7,0xDC,0x88,0xB4,0xF3,0x88,0x3D,0x81,0xC6,0x4F,0x04,0x43,0xC4,0x74,\r
+0xD3,0x42,0x05,0x25,0x63,0x7A,0x3D,0xAD,0x22,0x3A,0x7D,0xEB,0x17,0x50,0xD5,0x76,\r
+0x8E,0x68,0x2F,0x52,0x32,0x79,0x3E,0xFF,0xBA,0xFE,0xB9,0xB7,0x84,0xC3,0xCC,0xFC,\r
+0xC7,0x46,0x01,0x35,0x9C,0x90,0xD7,0xB8,0x7A,0xAE,0xE9,0x27,0xEE,0xA9,0x3B,0x61,\r
+0x8B,0x49,0x0E,0x76,0x2C,0xD5,0x92,0x4D,0x1C,0x97,0xD0,0x78,0xA3,0xE4,0x89,0x9E,\r
+0x49,0x1A,0x5D,0xE7,0x36,0x59,0x1E,0xDB,0x79,0xB1,0xF6,0x3B,0xB7,0xF0,0xD9,0xDA,\r
+0x6E,0xC7,0x80,0x1D,0x04,0x54,0x13,0xE4,0x6F,0x9D,0xDA,0x01,0xDE,0x99,0x7F,0x15,\r
+0xB4,0x88,0x69,0x82,0x93,0xE8,0x18,0xA5,0x53,0x50,0x60,0x65,0x16,0x1B,0x6E,0x58,\r
+0x9E,0xFF,0x34,0xA8,0x90,0xB9,0x4A,0xA6,0x97,0x0C,0xF8,0xA1,0x0F,0x91,0xFD,0xCB,\r
+0x5C,0x06,0x0F,0x6A,0x5E,0x52,0x6F,0x68,0x2C,0xA8,0xE7,0x1A,0x1E,0x93,0xEE,0xD8,\r
+0xFE,0x7B,0xD0,0xC8,0x3D,0x87,0xD9,0x0B,0xAD,0x01,0xCF,0x9B,0x2F,0xB0,0xFC,0xCA,\r
+0x1B,0xC7,0x89,0x2D,0xBE,0xDE,0x03,0x88,0x30,0xE6,0xB5,0x06,0xA5,0xF2,0x34,0x02,\r
+0xC6,0x3D,0xAE,0xF0,0xB3,0xEC,0x3C,0x85,0x1C,0xDC,0xA3,0x2A,0x03,0x3D,0x5D,0x6B,\r
+0x95,0xAC,0x6C,0xA3,0x3F,0xF6,0xAA,0x09,0x3A,0x9F,0xC6,0x0C,0x53,0x79,0x49,0x7F,\r
+0x9A,0xEF,0x20,0xAC,0x7A,0x46,0x5F,0x4C,0x03,0xC0,0xA0,0x35,0xE1,0x86,0x04,0x32,\r
+0x5F,0x57,0x5D,0x69,0x98,0xBB,0x40,0xAE,0x2B,0xEE,0xA6,0x1D,0x6C,0xFC,0xF3,0xC5,\r
+0xE5,0x68,0xD8,0xD3,0x14,0xA1,0xD6,0x22,0x47,0x14,0x30,0x71,0xB8,0x5C,0x87,0xB1,\r
+0x46,0x35,0x26,0x70,0x96,0xD8,0x2D,0xA0,0x31,0xC7,0x95,0x07,0x51,0x73,0x41,0x77,\r
+0xBA,0xEB,0x04,0x8C,0xC5,0x49,0xEF,0xF3,0x36,0x81,0xD4,0x00,0xC5,0x83,0x25,0x13,\r
+0x04,0xC4,0x95,0x32,0xB6,0xDC,0x09,0x80,0xAE,0x53,0x9E,0x98,0x1F,0x85,0xF9,0xCF,\r
+0x8A,0xAF,0x70,0xBC,0xF8,0x3F,0xA4,0xCE,0xDF,0xC6,0x7A,0xE9,0x5D,0xDF,0xE1,0xD7,\r
+0xD3,0x4D,0xCB,0xE5,0x00,0xF1,0x92,0x36,0x08,0x98,0xF3,0x3E,0x3C,0xB8,0xE7,0xD1,\r
+0xBC,0x8A,0x63,0x8A,0x57,0x70,0x44,0x61,0xEC,0xE0,0x6F,0xDA,0x31,0x02,0x50,0x66,\r
+0x27,0x91,0xE3,0x11,0x27,0xB4,0xF0,0x11,0x38,0xEC,0xB7,0x0E,0x75,0x76,0x60,0x56,\r
+0x6E,0x33,0x08,0x58,0x73,0x64,0x74,0x45,0x6D,0x49,0x47,0x5B,0x3B,0x80,0xD8,0xEE,\r
+0x16,0xF5,0xB6,0x20,0x15,0x81,0xF7,0x23,0xD9,0xA1,0x1B,0xEF,0xF9,0x1A,0x80,0xB6,\r
+0xE2,0x29,0x9E,0xD4,0x3E,0xD6,0x8B,0x08,0xF4,0xBA,0x2D,0xC2,0x55,0x57,0x61,0x57,\r
+0xE4,0x48,0xF9,0xD2,0xCC,0x6B,0xC4,0xFA,0x8F,0x56,0xBA,0xB9,0x4E,0xD7,0xFA,0xCC,\r
+0x21,0xF0,0x84,0x17,0x52,0x40,0x71,0x64,0x1B,0x9A,0xE2,0x2D,0x2E,0xA6,0xEB,0xDD,\r
+0xBE,0xFB,0x10,0x88,0x37,0xF4,0xA0,0x01,0x3B,0xBE,0xE6,0x0D,0x8D,0x5B,0xB5,0x83,\r
+0xA7,0x99,0x6B,0x91,0xA1,0xDD,0x1F,0x97,0x24,0xA2,0xE5,0x12,0x56,0x4B,0x7E,0x48,\r
+0x33,0xC1,0xA7,0x05,0x72,0x44,0x55,0x44,0xE4,0xEA,0x6D,0xD2,0x22,0x0A,0x4B,0x7D,\r
+0x6A,0x23,0x1C,0x5C,0xD6,0x58,0xED,0xE0,0xEA,0x87,0x0E,0xDC,0xC8,0x39,0x92,0xA4,\r
+0x8E,0xBF,0x64,0xB8,0xA7,0xBC,0x78,0x91,0xEF,0xB2,0x3E,0xD9,0x72,0x4E,0x5F,0x69,\r
+0x76,0x71,0x52,0x40,0x7F,0x76,0x6A,0x49,0x62,0x05,0x04,0x54,0x65,0x62,0x64,0x52,\r
+0x8C,0xCE,0x17,0xBA,0x95,0x89,0x7F,0xA3,0x67,0x30,0x34,0x51,0x59,0xFB,0xC1,0xF7,\r
+0xEB,0x0B,0xB5,0xDD,0x75,0x05,0x13,0x43,0xCD,0xE5,0x4B,0xFB,0x9F,0x45,0xB9,0x8F,\r
+0x2B,0x83,0xFD,0x1D,0x9C,0xAB,0x54,0xAA,0x13,0x90,0xE0,0x25,0xE9,0x0E,0x84,0xB2,\r
+0xC0,0x5C,0xC9,0xF6,0x0D,0xC3,0xAD,0x3B,0x42,0x21,0x00,0x74,0x0C,0x8D,0xE2,0xD4,\r
+0xF8,0x1A,0xB7,0xCE,0x9D,0x8B,0x75,0xAB,0x10,0xC2,0xB1,0x26,0x82,0xEB,0x0A,0x3C,\r
+0x9D,0xAE,0x66,0xAB,0xDE,0x5A,0xE7,0xE8,0x63,0x24,0x24,0x55,0x77,0x7C,0x68,0x5E,\r
+0xFD,0x2A,0x82,0xCB,0x06,0x90,0xF5,0x30,0xD1,0xAB,0x19,0xE7,0xA4,0xE4,0x23,0x15,\r
+0x62,0x21,0x16,0x54,0x66,0x14,0x11,0x50,0xAF,0x72,0xBE,0x99,0xC9,0x2F,0x85,0xB3,\r
+0x2E,0xB3,0xC8,0x18,0x89,0xDB,0x31,0xBF,0x2A,0xCF,0x86,0x1C,0x6E,0xF6,0xFB,0xCD,\r
+0x40,0x54,0x41,0x76,0xB7,0xFC,0x28,0x81,0xD0,0x8A,0x39,0xE6,0x17,0x0D,0x79,0x4F,\r
+0xEA,0x2B,0x94,0xDC,0xE6,0x1C,0x99,0xD0,0xA0,0x3E,0xFD,0x96,0x12,0x3F,0x4E,0x78,\r
+0xB0,0x98,0x7D,0x86,0x1F,0xF2,0x8E,0x29,0x28,0xBC,0xF7,0x1E,0x4F,0xC1,0xED,0xDB,\r
+0x4E,0x37,0x2C,0x78,0xCA,0x0A,0xA3,0xFC,0x12,0xB1,0xC0,0x24,0x66,0x7E,0x7B,0x4D,\r
+0xB8,0x9A,0x77,0x8E,0x9A,0xCA,0x33,0xAC,0xE9,0xD5,0x5F,0xDF,0xD0,0xA5,0x16,0x20,\r
+0xC3,0x0D,0x9B,0xF5,0x0F,0xB2,0xDE,0x39,0x59,0x29,0x13,0x6F,0x9D,0x4F,0xB1,0x87,\r
+0x31,0xB0,0xD4,0x07,0xE3,0x2C,0xAC,0xD5,0xC3,0x88,0x28,0xF5,0x4C,0xDD,0xF2,0xC4,\r
+0xAD,0xEA,0x12,0x9B,0xC4,0x69,0xCE,0xF2,0x9E,0x27,0xDA,0xA8,0x94,0xD1,0x26,0x10,\r
+0xF0,0x18,0xBD,0xC6,0xDA,0x4A,0xF3,0xEC,0xA2,0x4D,0x8C,0x94,0xAA,0x42,0x8B,0xBD,\r
+0x47,0x15,0x07,0x71,0xC2,0x08,0xA9,0xF4,0x45,0x67,0x41,0x73,0x61,0x46,0x44,0x72,\r
+0xA2,0xA9,0x5E,0x94,0x19,0x93,0xE9,0x2F,0x02,0xE1,0x80,0x34,0xEE,0x36,0xBB,0x8D,\r
+0x18,0x96,0xDB,0x2E,0x8D,0xCB,0x25,0xBB,0xC7,0x9C,0x38,0xF1,0x78,0xCC,0xD7,0xE1,\r
+0x63,0x01,0x37,0x55,0x4D,0x43,0x6D,0x7B,0x74,0x32,0x25,0x42,0x7E,0xE2,0xFF,0xC9,\r
+0x9F,0xDF,0x15,0xA9,0xF7,0x7C,0xE8,0xC1,0x56,0x65,0x50,0x60,0x36,0x3A,0x6F,0x59,\r
+0x0A,0xA7,0xF8,0x3C,0x1E,0xD2,0xAF,0x28,0x83,0x48,0xA8,0xB5,0xFE,0x22,0xBF,0x89,\r
+0xC7,0x1D,0x8F,0xF1,0x21,0xD5,0x97,0x17,0x0B,0xCA,0xA2,0x3D,0xD3,0xB9,0x09,0x3F,\r
+0x0F,0x97,0xCD,0x39,0xE0,0x7D,0xFE,0xD6,0xC9,0xF1,0x5B,0xFF,0x62,0x5A,0x5B,0x6D,\r
+0x5D,0x26,0x2E,0x6B,0x4F,0x32,0x1E,0x79,0x7C,0x38,0x27,0x4A,0x11,0x23,0x51,0x67,\r
+0x7A,0x63,0x4C,0x4C,0xCF,0x3A,0x96,0xF9,0xB2,0x1D,0xCC,0x84,0x5E,0xC3,0xFE,0xC8,\r
+0x8B,0x8F,0x51,0xBD,0x5A,0x42,0x7B,0x6C,0x65,0x43,0x45,0x53,0x85,0xD3,0x35,0x03,\r
+0x9C,0x8E,0x47,0xAA,0x6C,0x67,0x68,0x5A,0x29,0x9D,0xD7,0x1F,0x02,0x2B,0x4A,0x7C,\r
+0x38,0x92,0xFF,0x0E,0xB4,0xAD,0x7A,0x82,0x43,0x00,0x20,0x75,0x9B,0x61,0x99,0xAF,\r
+0xDE,0x7F,0xF4,0xE8,0x77,0x74,0x60,0x41,0xDB,0xD2,0x6A,0xED,0xBD,0x6E,0xB0,0x86,\r
+0x4B,0x07,0x19,0x7D,0x9F,0xFA,0x06,0xA9,0x0C,0x8C,0xE3,0x3A,0x10,0x35,0x46,0x70,\r
+0xF6,0x79,0xDA,0xC0,0xD5,0x09,0xBF,0xE3,0x33,0xB4,0xE4,0x05,0xCD,0x0B,0xA5,0x93,\r
+0x7E,0x73,0x58,0x48,0x2F,0xB6,0xFA,0x19,0x01,0xB3,0xD1,0x37,0x84,0xC5,0x22,0x14,\r
+0x90,0x9C,0x59,0xA6,0x81,0xD9,0x3B,0xB7,0xA4,0x2A,0xED,0x92,0xC2,0xBB,0x1A,0x2C,\r
+0xE8,0x9D,0xCC,0x10,0x95,0xEA,0xBB,0x1A,0x76,0xF5,0xA4,0xB7,0x0B,0x5A,0x39,0x57,\r
+0x50,0x39,0x68,0x0C,0x77,0xB3,0xE2,0xA1,0x9C,0x2C,0x7D,0x84,0x05,0x54,0x5A,0x3A,\r
+0xC5,0x48,0x19,0xE8,0xEB,0x57,0x06,0xD9,0x26,0xE1,0xB0,0xF3,0x00,0x51,0x6A,0x0F,\r
+0xD7,0x90,0xC1,0x22,0x25,0xAF,0xFE,0xEF,0x31,0xDA,0x8B,0xDF,0x8D,0xDC,0x50,0xB8,\r
+0xC2,0x7A,0x2B,0xDD,0x9A,0x55,0x04,0xAA,0x0D,0x7F,0x2E,0x46,0x88,0xD9,0x60,0x8D,\r
+0xAE,0x9A,0xCB,0x51,0x5F,0x32,0x63,0x08,0xCB,0x07,0x56,0xF8,0x22,0x73,0x1F,0x58,\r
+0xE9,0x73,0x22,0xFF,0xD7,0xF2,0xA3,0x40,0xBD,0x3A,0x6B,0xB3,0xFC,0xAD,0xB4,0x2D,\r
+0x10,0xE2,0xB3,0x97,0x08,0x19,0x48,0x74,0x58,0x5C,0x0D,0x30,0xAD,0xFC,0x54,0x9C,\r
+0x4D,0xC8,0x99,0xE0,0xC5,0xFE,0xAF,0x5E,0x21,0xDE,0x8F,0xCB,0xD7,0x86,0xE3,0x51,\r
+0xC9,0x9C,0xCD,0x30,0x67,0xB7,0xE6,0xB5,0x6F,0x66,0x37,0x3D,0x82,0xD3,0x13,0xF4,\r
+0x4A,0xFA,0xAB,0xD5,0xA1,0xCF,0x9E,0x0B,0xAD,0x3E,0x6F,0xA7,0x36,0x67,0x4F,0x1C,\r
+0x36,0xD1,0x80,0x82,0x7D,0x3B,0x6A,0x23,0x01,0xDF,0x8E,0xEA,0x1B,0x4A,0x79,0x07,\r
+0x79,0x23,0x72,0x3F,0x1C,0x3D,0x6C,0x44,0x1A,0x44,0x15,0x6A,0x60,0x31,0xEE,0xEB,\r
+0xCC,0xBD,0xEC,0x14,0xA4,0xF8,0xA9,0x39,0x7A,0x55,0x04,0x1B,0xF4,0xA5,0xB6,0x27,\r
+0x1D,0xD8,0x89,0xA0,0xAF,0x67,0x36,0xAD,0xD9,0x0B,0x5A,0xE6,0xD4,0x85,0xB2,0x03,\r
+0xA2,0x4E,0x1F,0x89,0xCD,0x7E,0x2F,0xD6,0x02,0xC0,0x91,0xF6,0xCB,0x9A,0xB1,0x1F,\r
+0xFD,0x77,0x26,0xEF,0x03,0x86,0xD7,0xE0,0x38,0x4D,0x1C,0x41,0xC4,0x95,0xF2,0x53,\r
+0x6B,0xFB,0xAA,0xF5,0x3C,0x3C,0x6D,0x65,0xEC,0x39,0x68,0xE1,0xA8,0xF9,0x64,0xA9,\r
+0x90,0x79,0x28,0x8C,0x61,0x9F,0xCE,0x9B,0x05,0xFF,0xAE,0xCE,0xDE,0x8F,0xC1,0x7A,\r
+0x52,0x2A,0x7B,0x1D,0xBF,0x63,0x32,0xB9,0x91,0x9B,0xCA,0x3E,0xD9,0x88,0x80,0x3C,\r
+0xB4,0x59,0x08,0x88,0x90,0xDD,0x8C,0x28,0x4B,0x47,0x16,0x38,0x41,0x10,0xCA,0xEE,\r
+0x19,0x17,0x46,0x6B,0xFB,0x53,0x02,0xCD,0x09,0x5F,0x0E,0x62,0x30,0x61,0x2E,0x7B,\r
+0x2F,0xEF,0xBE,0xA5,0x19,0x0A,0x5B,0x76,0x68,0x59,0x08,0x05,0xE7,0xB6,0xA7,0x25,\r
+0xF9,0xB8,0xE9,0x24,0xDE,0x65,0x34,0xDE,0x65,0xEE,0xBF,0xBF,0x03,0x52,0x3B,0x5D,\r
+0xA5,0x7C,0x2D,0xBC,0xDC,0x6D,0x3C,0xD4,0x42,0xD0,0x81,0xA6,0xBC,0xED,0x34,0xED,\r
+0xF7,0x7F,0x2E,0xED,0xAB,0x47,0x16,0x89,0x5B,0x43,0x12,0x2C,0x78,0x29,0xAC,0xB1,\r
+0xD2,0xB1,0xE0,0x06,0x52,0x85,0xD4,0xB2,0x4A,0x50,0x01,0x2E,0xC3,0x92,0xB3,0x15,\r
+0x64,0xD2,0x83,0xD3,0x2F,0x27,0x76,0x6D,0x7B,0x42,0x13,0x0D,0x42,0x13,0x9B,0xBC,\r
+0xBE,0x51,0x00,0x8A,0x93,0xC2,0x93,0x34,0xF1,0x8A,0xDB,0x4F,0xDF,0x8E,0xE1,0x5B,\r
+0x81,0x5C,0x0D,0xB8,0x69,0x1F,0x4E,0x13,0x57,0xE3,0xB2,0x80,0xF3,0xA2,0xF7,0x61,\r
+0x17,0xD0,0x81,0xA2,0xF8,0x4C,0x1D,0xD1,0x07,0xF7,0xA6,0xC4,0xD5,0x84,0x92,0x22,\r
+0xE2,0x95,0xC4,0x12,0xBB,0x43,0x12,0x9D,0xB5,0xBA,0xEB,0x3B,0xEC,0xBD,0xF4,0x7D,\r
+0xC6,0xB5,0xE4,0x16,0xDB,0x52,0x03,0xEC,0xD1,0x8B,0xDA,0x6E,0x8A,0xDB,0x11,0xFE,\r
+0xD5,0x83,0xD2,0x33,0xDA,0x45,0x14,0xFA,0x56,0xF4,0xA5,0x96,0xC6,0x97,0x83,0x20,\r
+0xC7,0x5B,0x0A,0xF9,0xC6,0xE1,0xB0,0x42,0xCF,0x27,0x76,0xDC,0xAC,0xFD,0x74,0xBD,\r
+0xDD,0x98,0xC9,0x20,0x2B,0x07,0x56,0x49,0xE9,0x0E,0x5F,0xD3,0x34,0x65,0x3E,0x6F,\r
+0xBB,0x70,0x21,0xAE,0x53,0x92,0xC3,0xA4,0x44,0xF8,0xA9,0x88,0xE3,0xB2,0xB7,0x31,\r
+0x02,0x3A,0x6B,0x5D,0x2D,0x2F,0x7E,0x67,0x99,0x1B,0x4A,0xB6,0xDC,0x8D,0xB0,0x09,\r
+0x47,0xC0,0x91,0xE2,0x27,0xA7,0xF6,0xE5,0xD0,0x9C,0xCD,0x78,0xEE,0xBF,0x85,0x0E,\r
+0x86,0x6E,0x3F,0x8D,0xC8,0x49,0x18,0xE4,0x96,0xA4,0xF5,0x06,0x4B,0x1A,0xB9,0x97,\r
+0x98,0x62,0x33,0x9F,0xC2,0xC1,0x90,0x66,0x2C,0x69,0x38,0x71,0x28,0x79,0x6C,0x21,\r
+0xD0,0xA2,0xF3,0x17,0x55,0xBA,0xEB,0x8A,0x2A,0x41,0x10,0x5F,0x9B,0xCA,0x71,0x8F,\r
+0x55,0x18,0x49,0x28,0x8B,0x46,0x17,0xA8,0x62,0xD1,0x80,0x87,0xB9,0xE8,0x04,0xD8,\r
+0x12,0xF1,0xA0,0x86,0xF3,0xD3,0x82,0x45,0xAA,0x01,0x50,0x9F,0x6C,0x3D,0xFC,0xF5,\r
+0x2A,0xCE,0x9F,0x81,0x49,0x1E,0x4F,0x32,0x87,0xB7,0xE6,0x04,0xE4,0xB5,0xF6,0x77,\r
+0x43,0x0F,0x5E,0x29,0xC3,0xD6,0x87,0x70,0x36,0xE5,0xB4,0xE7,0x26,0x77,0x0F,0x4C,\r
+0xA3,0xA0,0xF1,0x66,0x72,0x84,0xD5,0x93,0x45,0xEF,0xBE,0x9E,0x93,0xC2,0x73,0x85,\r
+0x2B,0x20,0x71,0x6E,0x37,0xA3,0xF2,0xF1,0x0A,0x40,0x11,0x7E,0x5D,0x0C,0x98,0xA0,\r
+0x1E,0x25,0x74,0x5E,0x63,0x97,0xC6,0x91,0x32,0xC5,0x94,0xC3,0xFD,0xAC,0x94,0x0C,\r
+0x8E,0x75,0x24,0x9E,0xCE,0x61,0x30,0xCA,0x84,0xA8,0xF9,0x18,0x06,0x57,0x0B,0x68,\r
+0x63,0xE0,0xB1,0xE6,0x59,0x1A,0x4B,0x26,0xC9,0x0F,0x5E,0xF2,0xB6,0xE7,0x47,0x94,\r
+0x11,0x0C,0x5D,0x78,0xE4,0xE8,0xB9,0x69,0x18,0x4C,0x1D,0x60,0x2C,0x7D,0x7C,0x35,\r
+0x73,0x2B,0x7A,0x3D,0xBE,0x74,0x25,0xAF,0xC0,0x98,0xC9,0x6C,0x71,0x20,0x8E,0x9A,\r
+0x4E,0x35,0x64,0x1E,0x4C,0x29,0x78,0x00,0xFE,0x35,0x64,0xFF,0x4D,0x1C,0xD8,0xF0,\r
+0x14,0x2D,0x7C,0x5C,0x41,0x9E,0xCF,0xBA,0x35,0xFA,0xAB,0xFB,0xAA,0xFB,0x15,0xDA,\r
+0x54,0xF6,0xA7,0xC7,0xFD,0x7B,0x2A,0xE3,0xBA,0x05,0x54,0x8B,0xED,0xBC,0xD4,0x5C,\r
+0xC8,0x72,0x23,0xDF,0x4E,0x21,0x70,0x0A,0xD6,0xB4,0xE5,0x56,0xFF,0xAE,0xE5,0x7F,\r
+0x5A,0x31,0x60,0x0E,0xFA,0x44,0x15,0xDB,0x23,0xD6,0x87,0xC1,0x8C,0xDD,0x70,0x99,\r
+0x48,0xE9,0xB8,0xC4,0x7E,0x24,0x75,0x3F,0xF0,0x9D,0xCC,0x59,0x3E,0x6F,0x4D,0x16,\r
+0xAC,0x89,0xD8,0x40,0x75,0xBB,0xEA,0xAB,0x9D,0x3B,0x6A,0x92,0x40,0x11,0xEA,0xCF,\r
+0x8C,0x66,0x37,0x8F,0xE7,0xF7,0xA6,0x75,0x3A,0x45,0x14,0x4B,0xC5,0x94,0xD2,0x72,\r
+0x95,0x58,0x09,0xA8,0x00,0x99,0xC8,0xFC,0x43,0xC7,0x96,0xB0,0x3F,0x6E,0x6D,0x37,\r
+0x24,0x09,0x58,0x48,0x7F,0x33,0x62,0x29,0x46,0xF0,0xA1,0x82,0x4F,0x1E,0xA9,0x83,\r
+0x33,0xF0,0xA1,0xA6,0xCC,0x69,0x38,0xC0,0x1B,0x53,0x02,0x7C,0xC7,0x96,0xA3,0x01,\r
+0x57,0x94,0xFC,0xCB,0x39,0xE3,0x79,0x20,0x86,0x50,0x75,0xB6,0xDA,0x1F,0x66,0x19,\r
+0x0E,0xCD,0x1E,0x70,0x81,0x47,0x65,0x84,0xEB,0x33,0x7B,0xB8,0x03,0xF5,0x55,0xC0,\r
+0xEA,0x29,0x82,0x08,0x14,0x36,0x81,0xF5,0xDE,0x03,0x7E,0xBD,0xCE,0x4F,0x22,0x0D,\r
+0x12,0xD1,0x4C,0x3E,0x06,0xEE,0x4B,0x2D,0x69,0x39,0xF3,0x30,0xF5,0x58,0x0E,0x36,\r
+0xE8,0x2B,0xF3,0x7B,0x13,0x04,0xB4,0xC7,0x5C,0x09,0xF6,0x35,0x50,0x64,0x97,0x93,\r
+0x8F,0x4C,0x36,0xD9,0x7F,0xE4,0x38,0x27,0x89,0x76,0x5C,0x9F,0x28,0xA2,0x29,0xEB,\r
+0x4F,0x8C,0xBE,0x91,0x38,0x0D,0x96,0xCE,0xFC,0xDD,0x82,0x41,0x15,0xD4,0x62,0xD6,\r
+0xA4,0x67,0x61,0xA5,0xC1,0x9C,0xFE,0x5F,0x4D,0x3D,0xD3,0x10,0x73,0x31,0xE1,0xB0,\r
+0x43,0x80,0xAC,0x8F,0x9C,0xB6,0x89,0x75,0x80,0x8A,0xA9,0x6A,0xF1,0x48,0x1A,0x32,\r
+0x0A,0xC9,0x0E,0x64,0x18,0xE2,0x59,0x21,0x25,0x7A,0xFC,0x3F,0x49,0x06,0xEC,0x8A,\r
+0x72,0xB1,0xC8,0xDA,0x9B,0x84,0xBC,0x47,0xCD,0x26,0x48,0x8B,0x11,0xC4,0x76,0xD2,\r
+0x86,0x45,0x14,0xF2,0xE7,0xAF,0xEB,0x6C,0xD6,0x10,0x65,0xA6,0xF0,0x68,0x3B,0x33,\r
+0x80,0x43,0x75,0x95,0xA8,0x5D,0x56,0x9E,0x3A,0x87,0x1E,0xDD,0x6B,0x73,0xBB,0xA8,\r
+0x45,0x86,0xCD,0xE8,0x1D,0xC3,0x7D,0x00,0xF6,0xDF,0x8A,0x49,0x7A,0x13,0xCA,0xB9,\r
+0xDA,0x19,0xC6,0x7C,0xCC,0xA6,0xC9,0x65,0xD2,0xDB,0xAA,0x69,0x24,0xB0,0x37,0xE7,\r
+0xC3,0x00,0xA4,0x07,0x73,0x30,0xE0,0xF3,0xCE,0xD8,0xB5,0x76,0xEF,0x6B,0x27,0x2C,\r
+0x3B,0xF8,0x6A,0x31,0x2C,0x09,0x86,0xCA,0x82,0x9B,0xBA,0x79,0x62,0x51,0x90,0xA1,\r
+0x81,0x42,0x55,0xB4,0xBA,0x85,0x9C,0x46,0x78,0x0D,0xD6,0x15,0x16,0x85,0x30,0xD5,\r
+0x22,0xE1,0x08,0x4A,0x41,0x07,0xE5,0xC4,0xAB,0xA8,0xA0,0x63,0xD0,0x6C,0x1F,0x13,\r
+0xDE,0x1D,0xD6,0x68,0x83,0x54,0x74,0x97,0xED,0xE9,0xA7,0x64,0xB4,0xF8,0xEF,0x77,\r
+0x60,0xA3,0xF9,0xF9,0x65,0x27,0xE1,0xE4,0x3F,0xA3,0x3F,0xFC,0x68,0x22,0xE9,0xAB,\r
+0xEE,0x2D,0x92,0x1C,0xC8,0x69,0x02,0xAA,0xAA,0x47,0x4E,0x8D,0x70,0x60,0xB3,0xB3,\r
+0xB7,0x74,0x70,0xA7,0xFE,0x91,0xCC,0x52,0xF4,0xCE,0x99,0x5A,0x76,0x01,0xD4,0xB5,\r
+0xD8,0x1B,0xB7,0x0F,0x28,0xC6,0x4D,0x05,0x8C,0x52,0x7D,0xBE,0xC1,0x0C,0x6E,0x02,\r
+0xD0,0x13,0xB5,0x05,0x74,0x02,0xD5,0xC1,0x3C,0x5D,0xC2,0x01,0xFF,0x2B,0x77,0x3C,\r
+0xFA,0x39,0xC2,0x58,0x26,0x01,0x84,0xC2,0x60,0xC5,0x06,0xC5,0x6C,0x32,0xFD,0xAF,\r
+0x38,0xFB,0x3B,0x63,0x03,0xCF,0x6F,0x0C,0xC4,0xDA,0xBD,0x7E,0x7F,0x23,0xFF,0xBC,\r
+0x9A,0x59,0x46,0xBC,0xB5,0xAC,0xBA,0x6F,0x6D,0xF2,0x3C,0xFF,0x6D,0x12,0xDC,0xAE,\r
+0x7F,0xBC,0xFA,0xE5,0x6F,0x2F,0xE3,0xEC,0x8A,0x88,0xA1,0x62,0xA5,0x98,0x9E,0x66,\r
+0xA2,0x61,0x00,0xC2,0x50,0x22,0xD1,0xE1,0xB0,0x9E,0x8D,0x4E,0xCC,0x3E,0x51,0x0F,\r
+0xF1,0x32,0x91,0x00,0xC6,0xAE,0xCB,0x6D,0xF3,0xFB,0xAB,0x68,0xD8,0x6E,0x15,0x1B,\r
+0xFE,0x3D,0xD2,0x4C,0x33,0xEB,0x7B,0x28,0xAC,0x9D,0x92,0x51,0x95,0xDC,0xEA,0x56,\r
+0xEF,0x2C,0xB2,0x3D,0x17,0xCB,0x7F,0x08,0x2F,0x78,0xF4,0x37,0xA4,0xB8,0xBF,0x67,\r
+0xF8,0x3B,0xB3,0x2B,0x04,0xFD,0x5A,0x3E,0xF1,0xEA,0xB8,0x7B,0xDB,0x3F,0x47,0x18,\r
+0x5C,0x9F,0xAF,0x93,0x16,0x25,0x90,0xE6,0x6C,0x1D,0xD2,0x11,0x08,0xA6,0x0D,0xCB,\r
+0xBA,0x79,0x42,0x98,0x0C,0xE6,0x49,0x25,0xBE,0x57,0x4A,0x89,0x21,0x80,0x02,0xE2,\r
+0x2F,0xEC,0x3A,0x75,0x6A,0x0E,0xC7,0xCD,0xE0,0xDE,0x9D,0x5E,0xD7,0x2D,0x59,0x14,\r
+0x92,0x51,0x44,0xB6,0xD3,0x44,0x34,0x87,0xD8,0xD9,0xA2,0x61,0x34,0xF0,0x67,0xF7,\r
+0x1A,0xD9,0x4E,0x34,0x96,0xBE,0x8B,0x7D,0xDF,0xEC,0x90,0x53,0xB3,0xB9,0xA9,0x70,\r
+0xF4,0x37,0xA1,0x35,0x57,0x10,0xE4,0xD3,0x46,0xD0,0x35,0xF6,0x8B,0xFF,0xD7,0x48,\r
+0x7C,0xBF,0xAB,0xB7,0x49,0x1C,0xF6,0xDF,0xF0,0x05,0x56,0x95,0x46,0x45,0xA0,0x85,\r
+0x07,0xC4,0x3C,0x5B,0x01,0xDC,0x7E,0x1F,0x5E,0x18,0xE5,0x26,0x6E,0x43,0x8E,0xAD,\r
+0xFB,0x38,0xE2,0x79,0x84,0x66,0x41,0xA5,0x09,0x6D,0xC7,0x04,0xFE,0x0B,0x56,0x3D,\r
+0x6E,0xAD,0x9A,0x94,0xC3,0x8F,0xEF,0x4C,0x24,0x95,0x12,0xD1,0x2E,0xC3,0x4E,0xED,\r
+0xA3,0x60,0x20,0xE3,0xFB,0xB0,0xE8,0x73,0xA6,0x9F,0x9A,0x59,0x98,0xEE,0xD5,0x5B,\r
+0x6B,0xA8,0xAA,0xA1,0x92,0x71,0x40,0xB2,0x9D,0x66,0x58,0x9B,0xCA,0x5F,0x36,0x09,\r
+0x39,0xFA,0x1B,0x42,0x72,0xDE,0x0F,0x1D,0x54,0x1A,0xED,0x2E,0xC0,0x2C,0x4F,0x03,\r
+0x1E,0xDD,0x5E,0x20,0xFA,0x5E,0x07,0x9D,0x71,0xF1,0x23,0xE0,0x6F,0x63,0xAF,0xAC,\r
+0x2A,0xE9,0x0A,0x40,0xCF,0x5B,0x37,0x98,0xDD,0xFD,0x83,0x40,0xEA,0x5B,0x12,0x29,\r
+0xDC,0x1F,0xA7,0x1B,0x5F,0x0B,0xF7,0xC8,0xB9,0x62,0x78,0xBB,0x87,0xED,0xC9,0x44,\r
+0xA7,0x64,0x30,0xF7,0xB2,0x9E,0x8F,0x5D,0x45,0x2E,0xC8,0x0B,0x20,0xA0,0x23,0xE3,\r
+0x55,0x96,0x8D,0xB8,0xC0,0x72,0x11,0xB1,0xE4,0x15,0x52,0x91,0x63,0x71,0xB1,0xA0,\r
+0xC9,0x0A,0xD7,0x7E,0xA2,0x55,0x54,0x96,0x4B,0xE7,0x0F,0xCC,0xB7,0xA9,0xBD,0x74,\r
+0x94,0x57,0x25,0xD1,0x9F,0x4B,0x77,0x88,0x21,0xB1,0x33,0xF0,0x1A,0x97,0x2E,0xD9,\r
+0x23,0xE0,0x28,0x6B,0xC5,0x53,0x35,0x90,0x0B,0x7C,0xD4,0x17,0xD5,0x5C,0x2A,0x16,\r
+0xC6,0x05,0x94,0x32,0x85,0x88,0xAE,0x4B,0x8D,0xBD,0x93,0x50,0x2A,0xD3,0x5A,0xE9,\r
+0x9C,0x5F,0x27,0xDB,0x19,0x0C,0xB6,0xCF,0xAE,0x8C,0x81,0x42,0x9B,0xBF,0x87,0x58,\r
+0xF9,0x3A,0x93,0x0A,0x8B,0x4F,0x67,0x8C,0x48,0x19,0xF2,0x31,0xF9,0x4A,0x10,0x3A,\r
+0x99,0x5A,0x17,0xEE,0x99,0x97,0xAD,0x54,0xC7,0x24,0x40,0x83,0xB2,0x99,0x88,0x71,\r
+0x06,0xC5,0x1C,0x7A,0x7D,0xF7,0x29,0x34,0x1E,0x83,0x3E,0xFD,0x14,0xF4,0x43,0xD7,\r
+0x4A,0x89,0x8E,0xA4,0x5D,0x18,0xE6,0xDB,0xA3,0xBB,0xBB,0x78,0x6A,0x53,0x9A,0xA9,\r
+0x24,0xE7,0x69,0x2D,0x44,0x26,0xC1,0xE5,0xE6,0x04,0x41,0x82,0xE8,0x2A,0x61,0x2B,\r
+0x8E,0x4D,0x16,0xF8,0xF5,0x77,0x21,0xB4,0x52,0xC0,0x31,0xF2,0xDF,0x2F,0x53,0x1C,\r
+0xD4,0x17,0xA5,0x11,0xE2,0x8E,0xCF,0x4D,0xD0,0xCA,0xB9,0x7A,0x7C,0x72,0xAD,0xBF,\r
+0xAE,0xBC,0xF1,0x25,0x28,0x86,0xC6,0x94,0x83,0xFF,0x14,0x06,0xFA,0x10,0x82,0xE8,\r
+0x57,0x45,0x1F,0x32,0xC1,0xDC,0x75,0xCE,0x7D,0xA2,0xB7,0xA5,0x72,0x1A,0x00,0x60,\r
+0xC1,0xD3,0x36,0x8D,0x74,0x42,0x5E,0x50,0x4A,0x83,0xA1,0xB3,0x70,0x6B,0x73,0x62,\r
+0xFF,0xED,0x11,0x94,0xFD,0x2C,0xB9,0x3E,0xB1,0xFA,0x23,0x31,0x8A,0xD4,0x36,0x98,\r
+0x4E,0x5C,0x7D,0x49,0x3E,0x91,0xC7,0x83,0x58,0x49,0x79,0x6B,0x8B,0xF4,0x17,0x99,\r
+0x2E,0x3C,0xF9,0xAD,0xAA,0x0E,0xCC,0x1C,0x93,0x24,0xDF,0xCD,0xF5,0x53,0xCE,0xE7,\r
+0xD5,0xC7,0x66,0xC9,0x0B,0x94,0xF7,0x86,0x57,0x6F,0x50,0x42,0x4A,0x5C,0x7E,0x58,\r
+0x96,0x84,0xB7,0x5B,0xDA,0xF1,0x43,0xE3,0xC0,0x9A,0x32,0x20,0x39,0xC9,0x98,0x2B,\r
+0x8A,0x98,0xE5,0x15,0xBB,0x2B,0xF8,0x39,0xFA,0x8C,0x1E,0x0C,0x1F,0xAC,0xDB,0x0D,\r
+0x51,0x43,0x7E,0x55,0xE2,0xCE,0x44,0xDC,0x8A,0x03,0xE1,0xF3,0x58,0x6D,0x5D,0x4A,\r
+0x8C,0x9E,0x84,0x72,0xAE,0xC1,0x07,0xD3,0x6D,0x79,0x7C,0x6E,0xC4,0x37,0x9B,0xD6,\r
+0x92,0x80,0xA7,0x4F,0x01,0x9C,0xF5,0x8E,0xFE,0x47,0xD1,0xC3,0xF8,0x61,0xF1,0xEA,\r
+0x47,0x55,0x5F,0x62,0x27,0xAF,0xE0,0xBD,0xF3,0x70,0xEB,0xF9,0x03,0xFE,0x95,0x11,\r
+0xAB,0xB9,0xC1,0x10,0x68,0x5D,0x5D,0x4F,0x61,0xA1,0xA8,0xBA,0x99,0xC5,0x34,0x8B,\r
+0x82,0x90,0xE7,0x1F,0x90,0x22,0xDA,0x30,0xC2,0x8B,0x21,0x33,0x48,0x2D,0x0D,0x5A,\r
+0xD2,0xC0,0x27,0x8F,0xCB,0xD4,0x77,0xC6,0x19,0x3D,0x4C,0x5E,0xB3,0xB2,0x69,0xA1,\r
+0x07,0x15,0xDF,0xA2,0x92,0x31,0xCB,0x23,0x9F,0xFC,0x0B,0x19,0x26,0xCA,0x84,0x34,\r
+0x87,0x95,0xD7,0x2A,0xF0,0x16,0x8E,0x04,0x7F,0xB3,0xA4,0xB6,0xE8,0x21,0xA1,0xFA,\r
+0x69,0x7B,0x38,0x2B,0x33,0xAB,0xF0,0xB9,0x05,0x3E,0x53,0x41,0x51,0x4F,0x76,0x43,\r
+0xA8,0xBA,0x90,0x42,0x71,0x63,0x7A,0x71,0xE6,0x8F,0x01,0x13,0x93,0xB6,0x4D,0x81,\r
+0xBF,0xAD,0x91,0x54,0xA9,0xF3,0x32,0xE1,0x86,0xDB,0x35,0x27,0x0C,0xBD,0xD9,0x1E,\r
+0x56,0x44,0x3F,0x13,0x44,0x66,0x4A,0x74,0x9E,0x13,0xE5,0xF7,0xD9,0x45,0xF4,0xCB,\r
+0xC5,0xD7,0x26,0x99,0x67,0x74,0x7B,0x66,0x70,0x95,0x8D,0x9F,0x9D,0xD5,0x20,0x8F,\r
+0x05,0x17,0xAE,0xD1,0x8B,0x0F,0xEC,0x1D,0x5E,0x93,0xA5,0xB7,0x2E,0xC8,0x8E,0x3C,\r
+0x67,0x75,0x5B,0x46,0xE4,0x12,0x9E,0x00,0x79,0x69,0x78,0x6A,0x5B,0x3C,0x0F,0x49,\r
+0xC9,0xDB,0x34,0x87,0xE5,0xFC,0x71,0xEE,0x07,0x2F,0x40,0x52,0xFE,0x00,0x96,0xEC,\r
+0xD7,0xC5,0x17,0xBA,0xA5,0x27,0xEA,0x35,0x89,0xFD,0x1C,0x0E,0x56,0x0E,0x30,0x44,\r
+0x9D,0x8F,0xE4,0x03,0x66,0x9A,0x94,0x88,0xB7,0x20,0xFF,0xED,0x69,0x09,0x08,0x7B,\r
+0xFC,0xEE,0x40,0xC6,0x43,0x54,0x7F,0x46,0xDD,0x76,0xC3,0xD1,0x19,0xCD,0xBC,0x0B,\r
+0x3F,0x2D,0x99,0xDC,0x48,0xB2,0x92,0xA0,0xD2,0x50,0xEA,0xF8,0x81,0x87,0x6E,0x93,\r
+0x12,0x00,0xAF,0xC7,0xED,0xE7,0x62,0xF5,0x6F,0x68,0x6F,0x7D,0x3F,0xA8,0xFF,0x2D,\r
+0x24,0x36,0x8A,0xD4,0xFB,0xF0,0x63,0xE2,0x97,0xEF,0x10,0x02,0x73,0x3A,0x21,0x61,\r
+0x77,0x65,0x1B,0x16,0xD0,0xF9,0x41,0xEB,0xC5,0xBE,0x13,0x01,0x60,0x2B,0x23,0x72,\r
+0x32,0x20,0xAB,0xE3,0x9C,0xF6,0x02,0xE4,0x3A,0x0C,0x5E,0x4C,0x59,0x4D,0x7C,0x4B,\r
+0xF6,0xE4,0x33,0xBF,0x35,0x77,0x2A,0x65,0x4E,0x48,0x6E,0x7C,0x6A,0x58,0x5A,0x78,\r
+0xFB,0xE9,0x01,0x80,0x12,0xAA,0xD0,0xB8,0x81,0xEE,0x07,0x15,0x46,0x4E,0x60,0x54,\r
+0x16,0x04,0xBF,0xD3,0xB3,0x30,0xEB,0x22,0x2F,0xF3,0xB4,0xA6,0x76,0x0A,0x14,0x64,\r
+0x75,0x67,0x6A,0x65,0x6C,0x92,0x96,0x80,0x0C,0xC2,0xA6,0xB4,0xF7,0x22,0xBD,0xE5,\r
+0xDB,0xC9,0x05,0xA4,0xD5,0xD8,0x65,0xCA,0xA7,0xFB,0x34,0x26,0x09,0x8D,0xEC,0x1B,\r
+0xD8,0xCA,0x54,0xF6,0x88,0xF2,0x12,0xE0,0x2D,0xE2,0xA7,0xB5,0xCD,0x15,0xB0,0xDF,\r
+0x48,0x5A,0x1C,0x2E,0x77,0xBF,0xA0,0xAD,0x04,0xD1,0xBD,0xAF,0x52,0x1E,0x24,0x40,\r
+0x1F,0x0D,0x9D,0xF8,0xDF,0xD0,0x67,0xC2,0xBE,0xDC,0x0A,0x18,0xB6,0x82,0x5C,0xA4,\r
+0xFE,0xEC,0x31,0xB5,0x29,0x68,0x29,0x7A,0x39,0xF2,0xA3,0xB1,0xF4,0x73,0xEF,0xE6,\r
+0xB0,0xA2,0xD2,0x18,0xCC,0xE6,0x42,0xF4,0x63,0xB0,0xBB,0xA9,0x85,0x97,0x7A,0x97,\r
+0xDE,0xCC,0x35,0x91,0x9A,0x2A,0xD8,0x38,0xCF,0xBC,0x1B,0x09,0x6B,0x78,0x7B,0x79,\r
+0x8D,0x9F,0xA4,0x53,0xB8,0xD6,0x06,0xC4,0x3F,0x28,0x7F,0x6D,0x6C,0x39,0x3D,0x7E,\r
+0xD0,0xC2,0x56,0xFC,0xE1,0x33,0xBA,0x21,0x40,0x81,0xA9,0xBB,0x71,0x4B,0x52,0x63,\r
+0x5C,0x4E,0x4C,0x6A,0x64,0x89,0x85,0x9B,0xE0,0x55,0xDD,0xCF,0x1D,0xDD,0xA8,0x0F,\r
+0x7F,0x6D,0x19,0x1C,0xAC,0xD2,0x16,0xC0,0xE7,0x60,0xEF,0xFD,0x61,0x0B,0x02,0x73,\r
+0xE9,0xFB,0x30,0xA3,0xD7,0xCB,0x74,0xD9,0xF7,0xBB,0x24,0x36,0x7E,0x08,0x1E,0x6C,\r
+0x84,0x96,0x86,0x78,0x45,0x88,0xA5,0x9A,0x6B,0xA3,0xA0,0xB2,0xD5,0x57,0xEA,0xC7,\r
+0x1A,0x08,0xAD,0xCD,0x38,0x4D,0x1D,0x5F,0x1A,0xC3,0xB1,0xA3,0x41,0x0F,0x26,0x53,\r
+0x5D,0x4F,0x6C,0x4B,0x0A,0x7A,0x18,0x68,0xA6,0x14,0xDA,0xC8,0x83,0xF6,0x1D,0x91,\r
+0x76,0x64,0x3B,0x37,0x22,0x8E,0xC4,0x9C,0xEB,0xB8,0x3B,0x29,0xAE,0xC0,0x06,0xBC,\r
+0x6F,0x7D,0x59,0x4C,0x5F,0x4B,0x7C,0x59,0xCA,0x98,0x3A,0x28,0x62,0x5A,0x50,0x70,\r
+0x3B,0x29,0x89,0xC8,0xB4,0x02,0xDE,0x10,0x3C,0xD6,0x82,0x90,0x37,0xAA,0xF5,0x25,\r
+0xD4,0xC6,0x46,0xE8,0x41,0x47,0x6E,0x55,0xB2,0x04,0xDE,0xCC,0x49,0x0D,0x2C,0x5B,\r
+0x45,0x57,0x2E,0x11,0x75,0xAC,0xB1,0xBE,0x31,0xE1,0xB8,0xAA,0x18,0xED,0x9D,0x0A,\r
+0xDD,0xCF,0x64,0xC3,0xAB,0xE0,0x23,0xF2,0x47,0xB4,0x9B,0x89,0x3D,0xD9,0x8C,0x2F,\r
+0x3D,0x2F,0xE8,0xAF,0x09,0x87,0xE6,0x95,0xF9,0x72,0xE3,0xF1,0x97,0xA6,0x59,0x85,\r
+0xEF,0xFD,0x51,0xC4,0xD8,0xE2,0x52,0xF0,0xF2,0x9F,0x05,0x17,0xB5,0xD3,0x0E,0xA7,\r
+0x37,0x25,0x9B,0xD6,0xEE,0x1A,0x9C,0x08,0xDE,0x88,0x3E,0x2C,0x38,0xE9,0xB9,0x2A,\r
+0x3A,0x28,0xA9,0xE9,0x1B,0x5F,0x2C,0x4D,0xB6,0xCF,0x11,0x03,0xBE,0x80,0x56,0xAC,\r
+0x9E,0x8C,0xB5,0x51,0xA0,0x06,0xCE,0x14,0x85,0x25,0xC8,0xDA,0xB0,0xE3,0x3B,0xA2,\r
+0x1D,0xBA,0x2F,0xA4,0x8B,0xD2,0x00,0x5A,0x79,0xF2,0x9D,0xE7,0x56,0x54,0xDF,0x8A,\r
+0xD8,0x18,0x48,0xC3,0x6B,0xBE,0xE0,0xD6,0xD3,0x58,0x48,0x98,0xE8,0x2C,0xA7,0x4C,\r
+0x50,0x50,0x88,0x03,0x82,0xF9,0x09,0x78,0x0D,0x86,0x3D,0x33,0xA3,0x11,0x9A,0x3A,\r
+0x8F,0x64,0x63,0xE8,0x13,0x00,0x98,0x10,0x5C,0xD7,0x8C,0xD3,0x20,0x77,0xFC,0xDF,\r
+0x12,0x0A,0x90,0x1B,0x6C,0xF8,0xE7,0x97,0xFA,0x71,0x47,0xBE,0xA7,0xDE,0x55,0xF1,\r
+0xF0,0xB1,0xC9,0x42,0xC8,0x40,0x43,0x8B,0xF4,0x7F,0x2A,0xDD,0x94,0x07,0x8C,0x1B,\r
+0x6C,0xC9,0x2D,0xA6,0xB9,0xD5,0x32,0x6F,0xF1,0x7A,0x1F,0xED,0xE3,0xCA,0x41,0xA1,\r
+0xA2,0xFF,0xD5,0x5E,0x61,0xC7,0xEA,0xA5,0x7C,0xF7,0xA8,0xD7,0xCF,0xF1,0x7A,0xB6,\r
+0x9B,0x54,0x47,0xCC,0xD2,0x69,0x59,0xB8,0x91,0x1A,0xFB,0x69,0x7A,0x6F,0xE4,0x9D,\r
+0x23,0x29,0x82,0x09,0x4C,0xDC,0xC7,0x93,0x05,0x8E,0x37,0x31,0x0B,0x7E,0xF5,0xFD,\r
+0x28,0xBD,0x1D,0x96,0x29,0x0D,0xA2,0x27,0x25,0xAE,0x13,0x35,0xF6,0x20,0xAB,0x5E,\r
+0x4A,0xC6,0x04,0x8F,0xBF,0xB2,0x34,0x0E,0x3A,0xB1,0x0F,0x36,0xE6,0xEB,0x60,0x85,\r
+0x42,0x4E,0x84,0x0F,0x39,0x5D,0xB2,0x67,0x26,0xAD,0x41,0x64,0xDB,0xF5,0x7E,0xA6,\r
+0xE0,0xA5,0xCD,0x46,0x6D,0xD9,0xE6,0xB7,0x73,0xF8,0xE4,0x94,0x2D,0x4D,0xC6,0xE8,\r
+0x26,0x1B,0xB5,0x3E,0x0B,0x5A,0x80,0x52,0xC7,0x4C,0x0C,0xC8,0xB7,0x15,0x9E,0x2A,\r
+0xFA,0x33,0x41,0xCA,0x20,0x26,0xAB,0x05,0xEA,0x61,0x17,0xFE,0xFA,0xF4,0x7F,0x86,\r
+0x17,0x38,0xA7,0x2C,0xA8,0xA4,0x23,0x0F,0xB0,0x3B,0xFE,0x4D,0x28,0x6C,0xE7,0xCC,\r
+0x7C,0xDD,0x29,0xA2,0xE6,0x09,0x6D,0xEC,0xC1,0x4A,0x6B,0xA9,0x72,0x74,0xFF,0x8E,\r
+0x9E,0x66,0x70,0xFB,0x1E,0x3F,0x95,0x22,0x16,0x9D,0x35,0x20,0x15,0x72,0xF9,0xEF,\r
+0x59,0xCE,0x1F,0x94,0x49,0xE9,0xC2,0xA3,0xF2,0x79,0x4D,0xBC,0xAF,0xC5,0x4E,0xE2,\r
+0x84,0xF0,0xFC,0x77,0x86,0xED,0x0D,0x68,0x35,0xBE,0x43,0x75,0x51,0x66,0xED,0xBF,\r
+0xBB,0x75,0x46,0xCD,0x0A,0x7B,0x81,0x72,0x59,0xD2,0xB9,0xE3,0xF1,0x12,0x99,0x6B,\r
+0xE6,0x8B,0xE5,0x6E,0x88,0x80,0x03,0x0B,0x2F,0xA4,0x6A,0x46,0xDE,0xD4,0x5F,0x82,\r
+0x38,0xA9,0x19,0x92,0xDB,0x42,0x50,0x9A,0x28,0xA3,0x2C,0x07,0x2E,0xB0,0x3B,0x16,\r
+0x14,0x24,0xB8,0x33,0xA0,0xAE,0x2B,0x0D,0x2E,0xA5,0x4B,0x66,0x5F,0xA1,0x2A,0x76,\r
+0xEE,0x03,0x65,0xEE,0xAD,0x91,0x26,0x3F,0x02,0x89,0x71,0x70,0x90,0xC8,0x43,0xD0,\r
+0x7F,0xC1,0x36,0xBD,0x21,0x07,0xAA,0x25,0x24,0xAF,0x32,0x15,0xD4,0xDC,0x57,0x80,\r
+0x3C,0x8D,0x39,0xB2,0x64,0xF2,0xEF,0x95,0x1D,0x96,0x6D,0x73,0x2B,0x91,0x1A,0x32,\r
+0x5B,0xC4,0x17,0x9C,0x8D,0xB5,0x06,0x3B,0x4D,0xC6,0xFD,0xB3,0xB6,0xFB,0x70,0xC5,\r
+0x2C,0x99,0x3D,0xB6,0x8E,0xE7,0x05,0x6A,0x89,0x02,0xA1,0x2B,0x3C,0x68,0xE3,0xDC,\r
+0xD5,0xA2,0xFF,0x74,0x40,0xC2,0xCB,0x81,0x32,0xB9,0x05,0x34,0x3E,0x7B,0xF0,0xCD,\r
+0xA8,0x7D,0x5D,0xD6,0x23,0x74,0xA8,0x54,0xB3,0x38,0xAC,0x1C,0x1D,0x69,0xE2,0xFC,\r
+0xD4,0xB4,0xE8,0x63,0x81,0xAB,0x0A,0x29,0x12,0x99,0x21,0x30,0x98,0xD3,0x58,0xC3,\r
+0xAA,0x77,0x55,0xDE,0xCB,0x12,0x40,0xDA,0x2D,0xA6,0x19,0x37,0xA6,0x30,0xBB,0x1E,\r
+0xA0,0xF5,0xDD,0x56,0x31,0x57,0xBA,0x65,0x1F,0x94,0x1E,0x02,0x68,0xB7,0x3C,0x57,\r
+0x4F,0xF4,0x33,0xB8,0x9F,0x96,0x14,0x0A,0xBA,0x31,0x87,0x3E,0x16,0x8F,0x04,0x11,\r
+0x5C,0xFC,0x28,0xA3,0x44,0xD6,0xCF,0x91,0x7B,0xF0,0xEE,0x96,0x7E,0xA0,0x2B,0x56,\r
+0x5D,0xEA,0x3F,0xB4,0x72,0xC5,0xF9,0xB4,0x37,0xBC,0x30,0x04,0x86,0xDF,0x54,0xD1,\r
+0x41,0x52,0x9B,0x10,0xAA,0xD7,0x21,0x7E,0x5D,0xD6,0xAD,0xF3,0xCC,0x0C,0x87,0x48,\r
+0xAC,0x59,0x7D,0xF6,0x69,0xCD,0xE2,0xA7,0xC5,0x4E,0x7F,0xB9,0xC3,0x25,0xAE,0x6E,\r
+0xCE,0x22,0x64,0xEF,0x3F,0x3A,0xB4,0x06,0x15,0x9E,0x67,0x71,0x14,0x9C,0x17,0x00,\r
+0x44,0x60,0xAC,0x27,0xFE,0x53,0x75,0xAE,0xD7,0x5C,0x5C,0x88,0xF7,0xCE,0x45,0xB1,\r
+0xF5,0x83,0xFE,0x75,0x51,0xB3,0xDA,0xE1,0x62,0xE9,0x95,0xF4,0x8E,0xC4,0x4F,0xC2,\r
+0xB0,0xE1,0xD9,0x52,0xD1,0x3B,0x5A,0xE9,0xAC,0x27,0xB0,0x1F,0x6E,0x6B,0xE0,0x8D,\r
+0x45,0x76,0xBB,0x30,0x93,0x88,0x18,0x18,0xD9,0x52,0x31,0xEB,0x61,0x42,0xC9,0xAB,\r
+0xD2,0x9A,0xC0,0x4B,0x53,0xC0,0xD8,0x90,0x6A,0xE1,0x9F,0xF6,0x4F,0x6A,0xE1,0xAD,\r
+0x0C,0xB8,0x3C,0xB7,0xE9,0x45,0x62,0xAF,0x48,0xC3,0xC8,0x83,0x97,0xFA,0x71,0xE5,\r
+0x74,0x55,0xA9,0x22,0x00,0x02,0x8B,0x01,0x9D,0x16,0xE5,0x7B,0x8F,0x2A,0xA1,0x2D,\r
+0x39,0xBF,0x0E,0x85,0xDA,0x63,0x51,0xBA,0x80,0x0B,0x8A,0x09,0x7C,0xB3,0x38,0x47,\r
+0xCB,0x10,0x53,0xD8,0xC4,0x5E,0x4F,0x99,0xBC,0x37,0xE0,0x5F,0xEF,0x1E,0x95,0x79,\r
+0xC6,0xAA,0xE4,0x6F,0xDC,0x04,0x57,0xDB,0x5B,0xD0,0xCA,0x92,0xEB,0xD1,0x5A,0xB2,\r
+0x7A,0xF3,0x01,0x8A,0x07,0x44,0x8C,0x40,0x1C,0x97,0x4C,0x53,0x9B,0x2E,0xA5,0x3D,\r
+0xE4,0x81,0xED,0x66,0xD4,0x0E,0x5F,0xD9,0x0C,0x87,0x1C,0x13,0xD3,0xEE,0x65,0xB5,\r
+0x49,0xDA,0x1B,0x90,0x84,0x9E,0x0F,0x19,0xF7,0x7C,0x78,0x8C,0x08,0x83,0x08,0x03,\r
+0xDE,0x36,0x60,0xEB,0x11,0x73,0x9A,0x61,0x47,0xCC,0x84,0xC0,0xE2,0x24,0xAF,0x4E,\r
+0x63,0x79,0x92,0x19,0xFD,0x01,0x76,0xFF,0xDD,0x56,0x25,0xFB,0x70,0x67,0xEC,0x9F,\r
+0x60,0x65,0x8D,0x06,0x97,0x9C,0x1C,0x08,0x34,0xBF,0x62,0x55,0x5B,0x6E,0xE5,0xBD,\r
+0x87,0xEC,0xE3,0x68,0xA9,0x85,0x22,0x2F,0xCE,0x45,0x27,0xEA,0xA0,0xEC,0x67,0xC4,\r
+0xF8,0x39,0x49,0xC2,0xF8,0x34,0x73,0xCF,0xBE,0x35,0x93,0x2E,0x92,0xDB,0x50,0xC1,\r
+0x4B,0xD0,0x13,0x98,0x01,0x23,0x8A,0x21,0x36,0xBD,0x11,0x24,0x6C,0x78,0xF3,0x9C,\r
+0xC9,0x1A,0x5B,0xD0,0x83,0xD8,0x08,0x58,0x0E,0x85,0x6F,0x62,0x46,0x9F,0x14,0x51,\r
+0x7D,0xCB,0x3E,0xB5,0xC0,0x4A,0x4B,0x89,0x7D,0xF6,0x89,0xF7,0xD1,0xFD,0x76,0xA4,\r
+0xF9,0x2F,0x5E,0xD5,0x18,0x58,0x93,0x43,0xCF,0x44,0x06,0xCA,0x49,0xB6,0x3D,0x77,\r
+0xF2,0xBB,0xC1,0x4A,0x78,0xBC,0xF3,0xC7,0xB1,0x3A,0xDF,0x6D,0x82,0x10,0x9B,0x1A,\r
+0xEF,0xB7,0xEB,0xC2,0x27,0x57,0xEE,0x0A,0x26,0x08,0x9D,0x25,0xE9,0xBD,0xE7,0xCA,\r
+0xB8,0x61,0x6A,0x95,0x48,0x90,0x46,0x65,0x2B,0xBF,0x27,0x92,0x75,0xC5,0x03,0x2E,\r
+0x59,0x2C,0xC6,0x74,0xF0,0xDE,0xB0,0xDD,0x05,0x16,0xA0,0x3B,0x84,0x76,0x41,0x6C,\r
+0x17,0x81,0x25,0x3A,0x7E,0xB5,0x55,0x53,0x47,0x0E,0xFA,0x23,0x60,0xE3,0x30,0x1D,\r
+0x79,0x08,0xC2,0x54,0xB2,0x2F,0x03,0x9F,0x4B,0xAE,0x56,0x83,0x8F,0xE2,0xDE,0xF3,\r
+0x2A,0xCA,0x53,0x07,0x4E,0xF1,0x21,0x63,0xDF,0xCA,0xA6,0xE7,0xCE,0xA4,0xD9,0xF4,\r
+0x77,0x65,0xA1,0x5A,0xAB,0x4D,0x78,0x86,0x76,0x1C,0xD9,0x31,0xBC,0xCB,0xC4,0xE9,\r
+0xFB,0xF3,0xBB,0xD6,0x11,0x72,0xFD,0x3C,0xA2,0x68,0x79,0x45,0x2A,0x31,0xA8,0x85,\r
+0xD0,0x8F,0xEC,0xFD,0x61,0xB6,0x49,0x4C,0x49,0xA6,0x5C,0x8B,0xDC,0xBA,0xD5,0xF8,\r
+0x95,0x7A,0x5C,0xB8,0x6E,0xF5,0x05,0x43,0xFB,0xEB,0xA3,0xC6,0xBA,0xE5,0xEC,0xC1,\r
+0x51,0x26,0xC4,0x7C,0xEF,0xDD,0xAC,0xC2,0xBF,0xDB,0xD7,0xF6,0xAF,0xC3,0xDF,0xF2,\r
+0x5C,0x19,0xF6,0x71,0x32,0x27,0x8B,0x1F,0x19,0xB2,0x18,0x9F,0xB9,0xF9,0xF3,0xDE,\r
+0xB1,0x4A,0x48,0x9C,0xA8,0x1C,0x2A,0x85,0x04,0x01,0xB6,0x2C,0xFD,0x8D,0xC3,0xEE,\r
+0xD2,0xFC,0x9D,0xFF,0x0A,0x61,0xF5,0x27,0x35,0x13,0x95,0x3E,0xD5,0x24,0x42,0x6F,\r
+0x7C,0x3D,0xF2,0x51,0x40,0x92,0x4C,0x6D,0x0C,0x81,0x3E,0xAC,0x7A,0x75,0xBC,0x91,\r
+0x7F,0x6F,0xA3,0x52,0x6A,0xE5,0x11,0x47,0x15,0x12,0xB4,0x3F,0xE2,0x29,0x78,0x55,\r
+0x73,0x71,0xB1,0x5E,0xDF,0x99,0xD8,0xF2,0xF3,0x6B,0x2B,0x46,0xFA,0xB5,0xFC,0xD1,\r
+0xE2,0x88,0xD9,0xCF,0x34,0x46,0xEC,0x19,0x16,0x0D,0xA8,0x20,0x1A,0x04,0xAD,0x80,\r
+0x7A,0x5A,0x93,0x57,0x78,0xD4,0x32,0x55,0x43,0x2E,0xDE,0x03,0x2E,0x15,0x88,0xA5,\r
+0x9A,0x36,0x1F,0xB7,0x1F,0x11,0x90,0x32,0x85,0x56,0x60,0x7B,0x51,0xC0,0x22,0x0F,\r
+0x48,0x5D,0xA6,0x65,0x7A,0xA5,0x41,0x57,0x68,0xB0,0x6B,0x9D,0x24,0x97,0x00,0x2D,\r
+0x90,0x4F,0x6C,0xBD,0x82,0x6B,0x77,0xAF,0x7F,0x8B,0x47,0xA6,0x1E,0x20,0x8D,0xA0,\r
+0x9D,0x70,0x5E,0xB0,0xC7,0xDB,0x82,0xEA,0x38,0xA4,0x2F,0x89,0x77,0xCF,0x0B,0x26,\r
+0x39,0xC8,0x42,0x14,0x9E,0x39,0x39,0xB3,0xD2,0x7D,0x1C,0x50,0x14,0xA2,0x05,0x28,\r
+0xD8,0x85,0xEE,0xF5,0x4A,0xE1,0x35,0x67,0x97,0x5A,0x7E,0x77,0xFC,0x9B,0xD4,0xF9,\r
+0x4E,0x3A,0xC7,0x63,0x53,0x83,0x4E,0x7E,0x4C,0x91,0x6E,0xBC,0xFF,0x87,0xCB,0xE6,\r
+0x23,0xE1,0x71,0x0E,0x10,0x52,0xDC,0x3D,0x54,0x15,0xF2,0x38,0xA0,0x73,0x60,0x4D,\r
+0xBD,0x54,0x5A,0x90,0xD5,0xEA,0xA1,0xF8,0x34,0x04,0x83,0x29,0xF8,0xBF,0xF4,0xD9,\r
+0xFA,0xD2,0x9B,0xD7,0xE2,0xEF,0x93,0xCF,0xE3,0x6F,0x3F,0x42,0x01,0x84,0x36,0x1B,\r
+0xD1,0xAE,0xCC,0xFC,0x16,0x33,0xBB,0x3B,0x4F,0x8E,0x72,0xA3,0x37,0x9F,0x1B,0x36,\r
+0xC8,0xD5,0xAE,0xE5,0xD3,0x8B,0xC6,0xFE,0x6F,0x8F,0x53,0xA2,0xAD,0xC9,0xD7,0xFA,\r
+0x9C,0x51,0x7E,0xB1,0x9A,0x29,0x2D,0xB7,0x21,0x37,0xA5,0x1A,0x5D,0x6C,0x82,0xAF,\r
+0x2D,0x8C,0x12,0x00,0xB3,0x0F,0x22,0x9E,0x7B,0xAB,0x63,0x86,0x5B,0x42,0xAA,0x87,\r
+0xF6,0xCC,0x89,0xDB,0x56,0xB3,0x7B,0x7B,0xF4,0x54,0x13,0x79,0x9A,0xC4,0xED,0xC0,\r
+0x2B,0xEB,0x73,0x06,0x59,0xF0,0x37,0x74,0x8E,0xC9,0xF4,0xE4,0xC0,0x02,0x71,0x5C,\r
+0x35,0xD6,0x50,0x18,0x04,0x02,0x98,0x29,0xB0,0x64,0x67,0x49,0x96,0x68,0x4D,0x60,\r
+0xE0,0xFB,0xA8,0xCD,0x37,0x17,0xBE,0x1A,0x87,0x5E,0x6A,0x73,0x09,0x0C,0xB6,0x9B,\r
+0x0C,0x89,0x36,0x21,0xC5,0xAA,0xF1,0xE8,0x56,0x1D,0xF8,0x30,0x32,0xAD,0x2C,0x01,\r
+0x25,0x86,0x10,0x08,0xBA,0x2D,0x09,0x97,0x7C,0x94,0x5B,0xB9,0xDA,0x94,0xFD,0xD0,\r
+0x75,0x16,0xD0,0x58,0x4C,0x80,0x52,0x61,0xCA,0xF9,0x80,0xD4,0x45,0xF0,0x06,0x2B,\r
+0x09,0xBC,0x06,0x24,0x1E,0x31,0xB1,0x33,0x08,0xA1,0x1A,0x8C,0xE7,0x1B,0x4F,0x62,\r
+0xF0,0xAB,0xE8,0xDD,0x44,0x82,0x58,0x69,0x55,0x02,0xE4,0x2F,0xED,0x99,0xC7,0xEA,\r
+0x66,0x14,0xC1,0x4B,0xDA,0xA9,0xED,0xF7,0x74,0x14,0xD3,0x39,0x9C,0xEA,0xC5,0xE8,\r
+0x58,0x0D,0xE6,0x75,0xB4,0x4E,0x64,0x99,0x0D,0x96,0x28,0xBB,0x23,0xAF,0x3F,0x12,\r
+0xE9,0xD0,0x8A,0xC4,0x09,0x30,0xA7,0x24,0xBE,0xCC,0xC1,0xE1,0x03,0x8E,0x3E,0x13,\r
+0x89,0x34,0x0E,0xA4,0x96,0x3B,0x33,0xBB,0xD3,0x6A,0x0A,0x47,0xA4,0x57,0x40,0x6D,\r
+0x72,0x50,0x91,0x5F,0x0C,0x00,0x92,0x21,0x98,0xE5,0xCE,0xC8,0xAB,0xE7,0xFF,0xD2,\r
+0x31,0xC2,0x40,0x1C,0x69,0xB4,0x43,0x44,0x6D,0x87,0x59,0xAA,0x3E,0x01,0x8C,0xA1,\r
+0xC0,0xDF,0xAC,0xED,0x8A,0x69,0x7D,0xA7,0x9E,0xCD,0xE0,0xE0,0xCB,0x96,0xEE,0xC3,\r
+0x6E,0x1E,0xC3,0x43,0x64,0x86,0x7C,0x49,0xD8,0xF5,0x9E,0xD8,0xF7,0x0F,0x4B,0x66,\r
+0x70,0x23,0xE0,0x5D,0xBF,0x1D,0x3C,0x92,0x0A,0xA9,0x10,0x84,0xF9,0xA9,0xE3,0xCE,\r
+0x3A,0x9A,0x13,0x17,0x02,0x63,0xFF,0x2F,0xD7,0x4A,0x2E,0x67,0xFE,0x91,0xDC,0xF1,\r
+0x5B,0x5F,0xB7,0x76,0xCC,0x88,0xDA,0xE1,0x81,0x76,0x44,0x5B,0x3A,0x25,0xAC,0x81,\r
+0x98,0x45,0x6E,0xB5,0x2A,0x65,0xD1,0x07,0xA7,0x5F,0x4B,0x72,0x70,0xF7,0x34,0x19,\r
+0xB5,0x5E,0x58,0x98,0x7F,0x95,0x74,0x52,0x9F,0xDA,0xF6,0xF7,0x5F,0x66,0x8A,0xA7,\r
+0x83,0x4D,0x7D,0xAE,0x68,0x94,0x62,0x45,0x18,0xA5,0x0E,0x88,0xCD,0xB8,0xC6,0xEB,\r
+0xA0,0x3B,0x28,0x8D,0xA9,0x3C,0x0B,0x84,0x0B,0xBE,0x06,0x93,0x3D,0x1D,0x93,0xBE,\r
+0x20,0xB3,0x20,0x0D,0x8E,0x79,0x69,0xA3,0x44,0x11,0xE6,0x3C,0xD6,0x38,0x5D,0x70,\r
+0xCE,0xB2,0xCF,0xE3,0x33,0x07,0xAA,0x1E,0xC9,0xE6,0x9C,0xCB,0xB8,0xEF,0xE4,0xC9,\r
+0x0F,0xDB,0x67,0x22,0xFB,0x8D,0xE8,0xD6,0x78,0xB4,0x7F,0x99,0x41,0xD4,0x26,0x0B,\r
+0x18,0xCD,0x66,0x35,0x6B,0xC5,0x30,0x46,0x2C,0x80,0x1F,0xAD,0x4A,0x40,0xB9,0x94,\r
+0xF1,0x8A,0xC8,0xDC,0xFE,0xBD,0xDD,0xD3,0xE4,0x50,0x07,0x7D,0xB2,0x6D,0x6C,0x41,\r
+0x62,0x00,0xD1,0x4F,0xEC,0x8C,0xFE,0xC1,0x62,0x38,0xE9,0x15,0x22,0xB9,0x28,0x05,\r
+0xA2,0x48,0x59,0x8F,0x97,0x1B,0x12,0xBA,0x64,0x10,0xC7,0x3D,0x3F,0x17,0x9B,0xB6,\r
+0xFB,0xB5,0xD9,0xA4,0xF4,0xCD,0xA1,0xBF,0xBE,0x59,0xD2,0x61,0x41,0x2D,0x29,0xEE,\r
+0xA0,0x43,0x2F,0x09,0x34,0x9D,0xF1,0x2F,0x45,0x3D,0x29,0xFE,0x2C,0x40,0xF2,0x58,\r
+0x58,0x3C,0x50,0x8E,0x12,0xB4,0xD8,0x20,0x94,0x04,0xF8,0x16,0xA5,0xC9,0x51,0x72,\r
+0x17,0xCE,0xA2,0x33,0x8C,0x58,0x34,0x52,0x0E,0xA5,0x62,0x2D,0xE6,0x8A,0xC3,0xA3,\r
+0x31,0xFD,0x91,0x26,0x74,0x8D,0xE1,0x7F,0xF5,0xC1,0x99,0xB2,0xDC,0xB0,0xCE,0x94,\r
+0x9E,0xA0,0xCC,0xD4,0x57,0x93,0xFF,0x42,0xC9,0xAB,0xA5,0xE4,0x71,0x1D,0x5D,0xAA,\r
+0xD2,0xAF,0xC3,0x97,0xAD,0x4E,0x22,0x65,0x55,0x6D,0x39,0xBE,0xEC,0x80,0xBA,0xD0,\r
+0x8B,0x4A,0x26,0x2B,0x36,0x95,0xF9,0x25,0x12,0xEB,0x7E,0x7F,0x13,0x7F,0xCA,0x5F,\r
+0xEA,0x90,0xFC,0x90,0x64,0x89,0xE5,0x6B,0x34,0xA8,0x58,0x1A,0x3F,0x53,0xF0,0x49,\r
+0x3B,0xF5,0x99,0x24,0xB5,0xCA,0xA6,0xF9,0x47,0x4E,0x2B,0x8F,0x5D,0x31,0x67,0xBC,\r
+0x9A,0x6F,0x03,0x1F,0x2A,0x31,0x5D,0x9D,0xF8,0xFE,0x94,0x80,0xD2,0xBE,0xA3,0xF7,\r
+0x0E,0xF0,0x9C,0x14,0xAE,0x51,0x3D,0x79,0x86,0x27,0xEA,0x27,0x74,0x18,0x68,0x9A,\r
+0xCD,0x4D,0x21,0x6A,0xC2,0xE0,0x8C,0xA4,0x87,0x06,0xEB,0x07,0x2E,0x42,0x81,0x29,\r
+0x44,0x23,0x4F,0x8D,0xE5,0xDE,0xB2,0xBD,0x7D,0x43,0x11,0xB8,0xAC,0xC0,0x7A,0x50,\r
+0xF1,0xBD,0xD1,0xA6,0xCC,0x48,0x24,0x02,0x7F,0x30,0x13,0xC9,0xBA,0xD6,0x4D,0x71,\r
+0x18,0xE7,0x8B,0x15,0x22,0xB1,0xDD,0x15,0xF7,0xB2,0x9B,0xC3,0x19,0x75,0xB3,0x2C,\r
+0xCB,0x91,0xFD,0xB0,0x59,0x3B,0x57,0xE4,0x7E,0x11,0x12,0xE9,0x1D,0x71,0xA7,0x3C,\r
+0xDD,0x86,0xEA,0xB1,0x7C,0x0D,0x61,0xF7,0x32,0xCF,0x5E,0x7B,0x62,0x0E,0x5F,0xBB,\r
+0x78,0xD3,0xBF,0x41,0x4A,0x20,0x4C,0xEC,0x8C,0x5E,0xE0,0x54,0xE7,0x8B,0xE2,0x83,\r
+0x73,0x35,0x59,0xAC,0x93,0xE3,0x8F,0xF6,0x14,0x8C,0x78,0x1E,0xCE,0xA2,0xED,0xA5,\r
+0x56,0xFB,0x97,0x47,0x37,0x82,0xEE,0x33,0x64,0x38,0x08,0xDA,0xF2,0x9E,0x87,0xF3,\r
+0x95,0x46,0x2A,0x39,0xC4,0xC8,0xA4,0x8A,0x5B,0x00,0x37,0xDD,0x11,0x7D,0xB9,0x2E,\r
+0xD5,0x9D,0xF1,0xA2,0xE7,0xD6,0xBA,0xB7,0xF3,0xA6,0x9F,0xD3,0x4D,0x21,0x37,0xFC,\r
+0xD4,0x73,0x1F,0x4D,0x88,0x78,0x14,0x76,0x56,0x3F,0x3A,0xEF,0x75,0x19,0x49,0xBA,\r
+0xBB,0x6E,0x02,0x3F,0x7D,0x1A,0x76,0xE1,0x23,0xBE,0x4F,0x1B,0xA8,0xC4,0x6E,0x40,\r
+0x57,0x15,0x79,0xA8,0xF5,0xDA,0xB6,0xA9,0x90,0x10,0xFC,0x06,0x80,0xEC,0x40,0x46,\r
+0x74,0x07,0x6B,0x99,0xEC,0x49,0x25,0x23,0xD4,0xC4,0xB8,0x96,0xE8,0x84,0xAE,0xC0,\r
+0x99,0x92,0xFE,0xE1,0x42,0xA0,0xCC,0x64,0x01,0xE9,0x6D,0x6E,0x38,0x54,0xB6,0x08,\r
+0x41,0x02,0x6E,0xA9,0x43,0xB7,0xDB,0x72,0x9E,0x7D,0xF2,0x65,0x0C,0x60,0xD6,0x5C,\r
+0x03,0xCA,0xA6,0x23,0xEB,0x76,0x1A,0x1B,0x5C,0x46,0x30,0x9C,0x5E,0x32,0x35,0xED,\r
+0xC0,0x77,0x1B,0x5D,0x04,0x98,0xF4,0x1A,0xE5,0x91,0x89,0xF2,0xA9,0xC5,0x4F,0x60,\r
+0xA2,0x50,0x3C,0x18,0x0C,0x18,0x74,0x92,0x2B,0xB4,0x47,0x19,0x06,0x6A,0xAF,0x2F,\r
+0x54,0xE8,0x84,0x56,0x9F,0x43,0x2F,0x5A,0x10,0x98,0x7C,0x0E,0xD0,0xBC,0xD0,0x86,\r
+0xD1,0x52,0x3E,0x69,0x85,0xCF,0xA3,0xCC,0x7C,0x62,0x10,0x98,0xA4,0xC8,0x70,0x52,\r
+0x88,0xB7,0xDB,0xD5,0x77,0x92,0xFE,0x63,0x61,0x0D,0x0D,0xEA,0x72,0x1E,0x0F,0xFB,\r
+0xAA,0x4B,0x27,0x0B,0xE6,0xC1,0xAD,0xA1,0x66,0x4B,0x0A,0xAB,0x16,0x7A,0xFF,0x6F,\r
+0xFC,0x87,0xEB,0x91,0x01,0xAF,0xC3,0x28,0x88,0x4A,0xE4,0x44,0xB6,0xDA,0x53,0x63,\r
+0x19,0x09,0x65,0xFA,0xE2,0xE1,0x8D,0x85,0xF9,0xDF,0x95,0xA0,0xAE,0xC2,0x09,0x21,\r
+0xEF,0xB1,0xDD,0xB4,0x4E,0x00,0x6C,0xC8,0xBB,0x6C,0xD7,0x51,0x07,0x6B,0x8E,0x0F,\r
+0x47,0xDE,0xB2,0x73,0xCF,0x57,0x3B,0x1E,0x5F,0x14,0x33,0xCD,0xB0,0xDC,0x34,0x02,\r
+0xB8,0x93,0xFF,0xC1,0x87,0xC7,0xAB,0xC6,0xC0,0x80,0xAC,0xC6,0xAA,0xC6,0x1D,0x31,\r
+0xE5,0xB9,0xD5,0xB6,0xD6,0xC4,0xA8,0x94,0x04,0xDC,0x68,0x5E,0x39,0x55,0x97,0x28,\r
+0x5C,0xF3,0x9F,0x45,0xB9,0x6A,0x06,0x55,0xFA,0x8D,0x96,0xF1,0xAB,0xC7,0x3C,0x11,\r
+0x83,0x51,0x3D,0x38,0x6C,0x09,0x65,0xE3,0x7B,0x24,0x17,0xD9,0xB9,0xD5,0x1F,0x20,\r
+0x22,0xCB,0xA7,0x03,0xD2,0xE4,0x88,0xB0,0x4B,0x50,0x27,0x9D,0x0A,0x66,0xB1,0x3D,\r
+0x05,0x16,0x7A,0xF9,0xE0,0xE9,0x85,0x8F,0x67,0x6A,0x0B,0x8B,0x63,0x0F,0x7E,0x9B,\r
+0xAC,0x97,0xFB,0xD1,0x78,0x2D,0x41,0xD3,0x54,0x4C,0x38,0x9E,0x53,0x3F,0x0A,0xDF,\r
+0xE0,0x98,0xF4,0x92,0xC8,0x68,0x04,0x26,0x6D,0x13,0x01,0xF8,0x1E,0x72,0xF5,0x6D,\r
+0x90,0x67,0x0B,0x1D,0x66,0x81,0xED,0x61,0xBD,0x0B,0xD1,0x30,0xC5,0xA9,0xB5,0xF6,\r
+0x2B,0x3E,0x52,0xFF,0x7A,0x25,0x49,0xD9,0xB3,0x66,0xDF,0x53,0x1C,0x70,0x86,0x1C,\r
+0xDE,0x7B,0x17,0x4F,0x48,0x28,0x44,0xE6,0x35,0x89,0x59,0x3A,0x33,0x5F,0xEE,0x5B,\r
+0xE8,0x83,0xEF,0x81,0x82,0xF0,0x9C,0xF4,0xB8,0x3E,0xD4,0x00,0x08,0x64,0xC2,0x4C,\r
+0x39,0xE6,0x8A,0x35,0x3B,0x22,0x4E,0x9F,0x9A,0x69,0xF6,0x75,0xEE,0x82,0xC9,0xA1,\r
+0x9B,0x81,0xED,0xF0,0xB7,0xC2,0xAE,0xF3,0x30,0xBC,0x5C,0x0A,0x96,0xFA,0x77,0x67,\r
+0x45,0xCD,0xA1,0x62,0xFD,0x5A,0x36,0x21,0x15,0xAD,0x79,0x3E,0xB5,0xD9,0x01,0x32,\r
+0x71,0x26,0x4A,0xBD,0x95,0xCB,0xA7,0xD8,0x44,0x1C,0x28,0xDE,0xD3,0xBF,0x82,0xD7,\r
+0x84,0x63,0x0F,0x0D,0x5A,0x24,0x48,0xF8,0x3A,0xC5,0x56,0x79,0x8F,0xE3,0x0C,0x05,\r
+0x6F,0x2A,0x46,0xAF,0x8A,0x70,0x1C,0x7C,0x6F,0x60,0x03,0x89,0x37,0x5B,0xFA,0x4B,\r
+0x12,0xEF,0x83,0x17,0xE8,0x69,0x05,0x07,0xA3,0x36,0xCF,0x13,0x36,0x5A,0xDB,0x6B,\r
+0x3A,0x1B,0x77,0xCB,0xBF,0x42,0x2E,0x7B,0x8E,0x2D,0xE2,0x25,0xD7,0xBB,0x96,0xC7,\r
+0x08,0x2C,0x40,0xCE,0x7E,0x05,0x69,0xFD,0x4C,0x16,0x20,0xDC,0xBC,0xD0,0x2A,0x10,\r
+0x75,0xE9,0x85,0x76,0x55,0x9B,0xF7,0x48,0xD8,0xDA,0xB4,0x84,0xAD,0xC1,0x5B,0x70,\r
+0xE7,0xAA,0xC6,0xA7,0xE3,0xF6,0x9A,0x93,0x73,0x2E,0x1F,0xDB,0x29,0x45,0xC7,0x68,\r
+0x9C,0xB3,0xDF,0xC5,0xCA,0x60,0x0C,0x2C,0x6C,0x32,0x00,0xD8,0xE2,0x8E,0xD7,0xB3,\r
+0x47,0x05,0xD2,0x78,0x22,0x4E,0x99,0x81,0x4B,0xB4,0x9C,0x12,0x38,0xEF,0x52,0x87,\r
+0x0B,0x0A,0xDD,0x3B,0x92,0x0B,0xDC,0x74,0x72,0xEB,0xA5,0x74,0x75,0xA2,0xAD,0x35,\r
+0xA2,0x8B,0x5C,0x13,0x0A,0xCF,0x18,0x28,0x41,0xCD,0x96,0x61,0x45,0x92,0xD9,0x71,\r
+0x85,0x56,0x81,0xE9,0x38,0xC2,0x15,0x17,0x6D,0xF7,0xBA,0x77,0x2C,0xFB,0x16,0xD7,\r
+0x24,0xCC,0x1B,0xD2,0x86,0x2F,0xF8,0x44,0x5D,0x83,0x8A,0x33,0x9F,0x48,0xB8,0xCA,\r
+0xFB,0x6E,0xB9,0xAF,0x53,0x4C,0x9B,0xF2,0xDC,0x2A,0x0B,0x1B,0x8D,0x5A,0x9B,0xFB,\r
+0x42,0x24,0xF3,0x5C,0x3C,0xE2,0x35,0x33,0x22,0x7B,0xF5,0xB4,0x1F,0xC8,0x30,0xC2,\r
+0x1F,0x0E,0xD9,0x2B,0x6D,0xE1,0x36,0x61,0xE6,0x27,0x31,0x2C,0x8C,0x5B,0xBA,0xDB,\r
+0xE0,0x43,0x94,0x99,0x25,0x71,0xA6,0xB9,0x79,0xB3,0xAE,0x27,0x96,0x41,0x93,0xE8,\r
+0x48,0x2C,0xFB,0x5E,0xA4,0x26,0xF1,0x6F,0x9D,0xCB,0x4A,0xBB,0x21,0xF6,0x29,0xE5,\r
+0xBE,0x94,0x43,0x10,0x08,0xC7,0x10,0x22,0xDF,0x78,0x08,0x4A,0x88,0x5F,0xAE,0xCB,\r
+0x5B,0x1A,0xCD,0x7B,0xEB,0x89,0x5E,0x8F,0xAE,0xED,0x79,0xAE,0x90,0x47,0xF4,0x89,\r
+0x0D,0xD6,0x01,0xE1,0x0C,0xE7,0x30,0x06,0x40,0xEC,0x97,0x41,0x30,0xE7,0x58,0x85,\r
+0x2F,0x2A,0xFD,0x3F,0x9D,0xB4,0x63,0xC4,0x47,0xAA,0x90,0x00,0x54,0x83,0xA8,0x11,\r
+0x76,0xCF,0x18,0x83,0x6F,0xE9,0x3E,0x6B,0x5A,0xC5,0x8D,0x72,0x82,0x55,0xD7,0xB8,\r
+0xF3,0x75,0xA2,0xBC,0x75,0x65,0xB2,0xFD,0x36,0x3F,0xE1,0xE4,0xF6,0x21,0x77,0x6C,\r
+0x3B,0x2E,0xF9,0x2F,0x20,0x46,0x91,0x8B,0x4A,0x95,0x9D,0x32,0xC4,0x13,0x70,0x59,\r
+0x40,0x37,0xE0,0x4D,0x09,0xD0,0x07,0x34,0x55,0x89,0x82,0x31,0x0F,0xD8,0x60,0x82,\r
+0xD2,0x74,0xA3,0x9C,0xBF,0xBD,0x6A,0xEF,0xFE,0x7D,0x29,0x6E,0x8B,0x5C,0xFC,0x9A,\r
+0xAF,0xB1,0x66,0x24,0x94,0x23,0xF4,0x5A,0x6A,0xB1,0xBD,0x36,0x9A,0x4D,0x8D,0xFA,\r
+0x9D,0x86,0x51,0x21,0x55,0x64,0xB3,0xDC,0xA8,0x8A,0x7F,0xCF,0xF1,0x26,0x31,0x2D,\r
+0xB5,0x72,0xA5,0xFD,0x02,0x4F,0x98,0xA0,0x85,0x91,0x52,0xF9,0x10,0xC7,0x7C,0x81,\r
+0xC8,0xB7,0x60,0x45,0x60,0x56,0x81,0xDB,0x49,0xC7,0x9E,0x63,0x11,0xC6,0x5D,0xA1,\r
+0x23,0xFE,0x29,0xE7,0xB0,0x02,0xD5,0x5F,0x1C,0x62,0xCB,0x93,0xA9,0x7E,0xAB,0xEF,\r
+0xD6,0xBB,0x6C,0x57,0x7F,0xED,0x3A,0x7F,0x62,0xBB,0xB5,0x34,0xF5,0x22,0x25,0x3D,\r
+0xE2,0x50,0x87,0x88,0x17,0x7C,0xAB,0x86,0x33,0x0A,0xE4,0xD4,0x93,0x44,0xA6,0xD8,\r
+0x3C,0x1C,0xCB,0x1A,0x5D,0xE4,0x33,0x54,0x16,0x1B,0xC1,0xE0,0xB0,0x67,0xD0,0x8D,\r
+0x9E,0x7B,0xAC,0xDF,0xD1,0x04,0xD3,0x38,0xBC,0xCE,0x6B,0x9F,0xC8,0x1F,0x6E,0x4B,\r
+0x4F,0x1E,0xC9,0x6B,0x68,0xD6,0x01,0x53,0x9E,0x99,0x49,0xEA,0x2E,0xF9,0x65,0xA6,\r
+0x79,0xE6,0x31,0xA5,0xA2,0x0E,0xD9,0x41,0x13,0x2E,0xC4,0xD0,0x15,0xC2,0x49,0xB1,\r
+0x8C,0xA3,0x74,0x15,0x90,0x03,0xD4,0x7E,0x95,0xC1,0x42,0xB9,0x3A,0xED,0x21,0xF6,\r
+0x37,0xFA,0x2D,0xF7,0x8C,0xA7,0x70,0xC6,0x9B,0xAC,0x4C,0xDA,0xE3,0x34,0x12,0x1C,\r
+0xBF,0x7A,0xAD,0xFF,0xC8,0x97,0x40,0xB2,0xD1,0x15,0x06,0x29,0x3F,0xE8,0x14,0xC6,\r
+0x56,0x20,0xF7,0x4C,0x26,0x6E,0xB9,0xA5,0x59,0x97,0x8E,0x23,0x9C,0x4B,0xEA,0x9B,\r
+0xE3,0xBE,0x69,0x67,0x0F,0xF8,0x2F,0x1A,0x5B,0xE4,0x8C,0x52,0x8A,0x5D,0xDD,0xBA,\r
+0x6A,0xD0,0x07,0x80,0x28,0xC6,0x11,0x03,0xA1,0xA1,0x76,0xED,0x08,0xDF,0x26,0xC3,\r
+0xA9,0x6D,0xBA,0xFE,0x44,0x77,0xA0,0xDE,0xA0,0x80,0x77,0xCD,0x52,0x85,0xCF,0x70,\r
+0x3D,0xF2,0x25,0xF5,0xC0,0x17,0xC0,0x3A,0xDE,0x59,0x09,0x6A,0xF4,0x23,0x04,0x1D,\r
+0x9C,0x68,0xBF,0xCE,0x5F,0xEC,0x3B,0x5E,0x61,0xE9,0xB6,0x65,0x7B,0xAC,0xC0,0x56,\r
+0x4D,0x0D,0xDA,0x7A,0x8E,0xAF,0x78,0xCC,0x12,0x0F,0xC5,0xF0,0x19,0xCE,0x57,0xA3,\r
+0x2C,0xD7,0x00,0xC1,0xDC,0xB3,0x64,0x82,0x34,0x4C,0xE3,0x95,0x35,0xE2,0x6D,0xB5,\r
+0x75,0x32,0xE5,0x7D,0x47,0x68,0xBF,0xC2,0x73,0xCA,0xA4,0x54,0xCA,0x1D,0x1D,0x3A,\r
+0x39,0x3D,0xEA,0x3E,0xBD,0xB5,0x62,0xE5,0xEF,0x0C,0x38,0x0E,0x57,0x80,0xFA,0x40,\r
+0x96,0x60,0xB7,0xCC,0x9E,0xAB,0x7C,0xD8,0xD3,0x66,0x04,0x58,0xFA,0x2D,0x69,0x7E,\r
+0xB0,0x53,0x84,0xD9,0x66,0x7E,0xA9,0xF5,0x28,0x02,0xFF,0xC7,0xC0,0x17,0x64,0x49,\r
+0xFF,0xA1,0x76,0x64,0xF8,0x92,0x45,0x87,0xB2,0xA3,0x65,0xFC,0x83,0x54,0xF6,0x98,\r
+0x07,0xDE,0x09,0xE3,0xDE,0xBB,0x6C,0x88,0x63,0x9A,0xB4,0x14,0x0A,0xDD,0x55,0xB2,\r
+0x5C,0x28,0xFF,0x4E,0x1E,0xEB,0x3C,0x18,0x98,0xFE,0x4F,0x8B,0x67,0xB0,0x8E,0x04,\r
+0x05,0xCD,0x1A,0xF2,0xE6,0x3E,0xE9,0x35,0x0D,0x13,0xDA,0xF3,0x20,0xF7,0x08,0xC5,\r
+0x67,0xEA,0x3D,0xB7,0xEE,0xBE,0x69,0xBD,0xC3,0x36,0x14,0x18,0x8F,0x58,0xE8,0x8A,\r
+0xA4,0x57,0x80,0xC9,0x01,0x50,0x87,0xBC,0x7A,0xE1,0xAD,0x76,0x78,0xAF,0x92,0x07,\r
+0xE6,0x9F,0x48,0x43,0xA9,0x91,0x46,0xD5,0xB8,0xDA,0x6F,0x8F,0x2A,0xFD,0x71,0xB6,\r
+0x3E,0x0F,0xD8,0x0B,0xA8,0x86,0x51,0xC3,0x27,0x4E,0xF0,0x84,0x1E,0xC9,0x11,0xE2,\r
+0xD3,0x9A,0x4D,0x73,0x06,0x6F,0xB8,0x84,0xF2,0x63,0x25,0x7C,0xCE,0x19,0x09,0x2A,\r
+0xF0,0x88,0x5F,0x42,0x1F,0xFC,0x2B,0x0E,0xB6,0xB7,0x61,0xEC,0xA6,0x71,0xE7,0xAC,\r
+0x1C,0xF3,0x24,0xD5,0x97,0x3C,0xEB,0x46,0x05,0x19,0xD2,0xF1,0x8E,0x59,0xC9,0xAA,\r
+0x73,0xEE,0x39,0xA7,0x62,0x5E,0x89,0xD1,0x70,0x98,0xA7,0x05,0x53,0x84,0xEE,0x50,\r
+0x72,0x00,0xD7,0x48,0x0D,0xF0,0x27,0x10,0xD5,0x01,0x02,0x39,0x6B,0xBC,0x90,0x16,\r
+0x32,0xDB,0x0C,0xD3,0x2E,0xEE,0x39,0x2D,0x7D,0xA7,0xAA,0x37,0x37,0xE0,0x1E,0xC4,\r
+0xF1,0x66,0xB1,0xAD,0xDD,0xA4,0x73,0x94,0x42,0x9F,0x95,0x30,0xD4,0x03,0x20,0x19,\r
+0xD4,0xA8,0x7F,0x46,0x79,0xC5,0x12,0x51,0x32,0x2B,0xE5,0xF4,0xE8,0x3F,0x4A,0x4F,\r
+0xDF,0x4E,0x99,0xAB,0xA0,0x06,0xD1,0x4B,0xAA,0xF9,0x7D,0xBE,0xC1,0x16,0x45,0x69,\r
+0x7A,0x1B,0xCC,0x5B,0x96,0x2B,0xFC,0x50,0x14,0x68,0xC3,0x91,0x44,0x93,0xF8,0x51,\r
+0x6C,0x0C,0xDB,0x5A,0xB3,0x1D,0xCA,0x43,0x58,0xB6,0x8F,0x03,0x3B,0xEC,0x00,0xD6,\r
+0x6B,0x80,0x8D,0x55,0xCA,0x86,0x14,0xF4,0x98,0x58,0xA6,0x66,0x4F,0x1A,0x33,0x0D,\r
+0x8D,0x8B,0x60,0xB3,0x09,0x5F,0x0E,0x37,0xD2,0xC0,0x74,0xFE,0x69,0x15,0x1A,0x24,\r
+0x29,0x33,0x7C,0x17,0xD1,0x95,0x1C,0xEF,0x25,0xAA,0xE9,0x94,0xF0,0x5F,0xC9,0xF7,\r
+0x3E,0x25,0x7D,0x00,0xE7,0xB0,0x0F,0xD9,0xB7,0xE6,0x37,0xD8,0x77,0xA7,0xB6,0x88,\r
+0x25,0x2D,0x6E,0x1B,0x3C,0x2B,0x4F,0x02,0x1F,0x27,0x5E,0x19,0x30,0xCF,0x99,0xA7,\r
+0xCB,0x2C,0x81,0xF5,0x92,0x44,0x8E,0xAC,0x23,0x82,0xC7,0xBC,0x76,0xB1,0xA1,0x9F,\r
+0x43,0xAE,0x8B,0x7D,0x68,0xFB,0xCB,0x56,0x16,0xB0,0xC0,0x8E,0x3F,0x7F,0x26,0x18,\r
+0xFE,0x6D,0xF5,0xC0,0x22,0x08,0x72,0x1C,0x11,0x8F,0xF8,0xB1,0xE2,0x41,0xC5,0xFB,\r
+0xBF,0x8C,0x55,0x81,0xA3,0x20,0xDB,0x9D,0x5A,0x00,0x3C,0x3E,0x0C,0x56,0x3C,0x02,\r
+0x2A,0x61,0x2D,0x14,0x4A,0x8E,0x9C,0x74,0xA2,0xD5,0x11,0xEB,0xC4,0x4E,0xEC,0xD2,\r
+0xD6,0x43,0xF3,0xE8,0xF0,0xB1,0x19,0xCE,0xD7,0xF7,0x46,0xC9,0x8C,0x96,0x7C,0x42,\r
+0xAD,0xAF,0x64,0x93,0x30,0x39,0x51,0x0E,0xCA,0x44,0xE8,0x7A,0x8A,0xB8,0x54,0x6A,\r
+0xCF,0x38,0x91,0xF1,0x72,0xC8,0xE2,0x4C,0x3E,0x31,0x69,0x0F,0xAC,0xB7,0x7D,0x43,\r
+0xE8,0x5A,0xD4,0xD6,0xF2,0xC0,0x6A,0xCC,0xD5,0xFF,0x4C,0xC1,0xE3,0x57,0xD2,0xEC,\r
+0xBA,0xB9,0x65,0x84,0x5D,0x8F,0x8A,0x63,0xA9,0x4A,0x85,0x74,0x90,0x2E,0xD8,0xE6,\r
+0x72,0xFB,0xEF,0x4C,0x9C,0x27,0xE3,0xA2,0x50,0x88,0xBE,0xB6,0x21,0xCD,0x8A,0xB4,\r
+0x84,0xA0,0x42,0xBA,0x5E,0xDE,0xD8,0x60,0xDA,0x40,0xFC,0x7E,0xBE,0xA9,0x71,0x4F,\r
+0x76,0xEF,0xFF,0x48,0xB2,0x40,0xAA,0x8C,0xE1,0xDA,0x5D,0xE4,0x6F,0x3B,0x32,0x0C,\r
+0x0D,0x03,0x68,0x33,0x27,0x38,0x47,0x19,0xAD,0x6A,0xA1,0x54,0x22,0xD1,0x95,0xAB,\r
+0xFB,0x58,0xC5,0xC5,0x77,0xF8,0xD7,0x49,0x32,0x91,0xC5,0xAF,0x94,0x0A,0xF8,0xC6,\r
+0x17,0x2A,0x5B,0x29,0xA4,0x61,0x9D,0x9A,0x72,0x81,0x95,0xBF,0x1C,0x42,0x38,0x06,\r
+0xF2,0x73,0xE7,0xCC,0x7F,0xFA,0xDD,0x41,0xB3,0xC6,0x13,0xF8,0x93,0x32,0xC7,0xF9,\r
+0x45,0xC9,0xEA,0x7B,0x67,0xB8,0x87,0x59,0x7E,0x21,0x39,0x1F,0x58,0x36,0x08,0x36,\r
+0x18,0x66,0x18,0x26,0x79,0x9B,0xBA,0x47,0x28,0x1D,0x53,0x23,0x66,0xA5,0xA5,0x9B,\r
+0xD7,0x62,0xD3,0xE9,0xDB,0xE6,0x65,0xE5,0x4C,0x2C,0x06,0x12,0x3B,0x5B,0x06,0x38,\r
+0x48,0xF6,0xD8,0x76,0xBB,0x62,0x81,0x85,0xEB,0x52,0xDF,0x6C,0x56,0x90,0xA0,0x9E,\r
+0x28,0x12,0x5C,0x16,0x63,0xA8,0x93,0x5D,0xD6,0xE0,0x50,0xDE,0x85,0x08,0xEB,0xD5,\r
+0x4D,0xC3,0xE8,0x73,0x20,0x79,0x01,0x1E,0x43,0x93,0xB6,0xAD,0x70,0x9F,0x89,0xB7,\r
+0x05,0x09,0x6A,0x3B,0xA2,0x00,0xFA,0x9C,0x05,0xAB,0xC8,0x95,0xBD,0xB5,0x6E,0x50,\r
+0x5F,0xE0,0xD9,0x61,0x5B,0xEE,0xED,0x65,0x0F,0x23,0x4A,0x1D,0xE0,0x4B,0xCD,0xF3,\r
+0xF5,0x35,0xA6,0xCB,0x0A,0x0E,0x5C,0x34,0xCB,0x53,0xFE,0x6D,0xE5,0x79,0xFA,0xC4,\r
+0x9B,0xBC,0x41,0xA5,0x34,0x29,0x45,0x0A,0x74,0xA9,0xBB,0x97,0x9C,0x82,0x78,0x46,\r
+0xC3,0x26,0x83,0xFD,0xC2,0x84,0x1E,0xFC,0xF6,0xE1,0x71,0xDF,0x97,0x16,0xE7,0xD9,\r
+0x3B,0x10,0x4D,0x05,0x1A,0x4E,0x0C,0x24,0xCC,0x6C,0xC6,0x52,0x80,0x3A,0xDC,0xE2,\r
+0xDF,0x68,0xD1,0xE1,0x6B,0xAA,0x99,0x55,0xFC,0x69,0xF3,0x57,0x3A,0x4D,0x11,0x2F,\r
+0x86,0xD3,0x33,0xB8,0xCF,0xB6,0x21,0xF1,0x9F,0x67,0x9E,0x59,0xD0,0x7E,0xC8,0xF6,\r
+0x75,0xBD,0xAE,0x4B,0xB0,0x31,0xD9,0x8E,0xF2,0xC1,0x55,0xFF,0xFE,0xF9,0x61,0x5F,\r
+0x9E,0x89,0x71,0xA0,0x21,0x59,0x20,0x1F,0x12,0x90,0xE4,0xAE,0x1B,0x7A,0x07,0x39,\r
+0x5E,0xC1,0xF9,0x60,0xC8,0xF7,0x67,0xF6,0xB9,0x4E,0x91,0x70,0x6D,0x31,0x3A,0x04,\r
+0x39,0x63,0x3C,0x07,0x28,0x7B,0x0B,0x16,0xC6,0xE4,0x44,0xDA,0xAB,0x8F,0x42,0x7C,\r
+0x57,0xEA,0xDB,0x69,0x83,0x24,0xFF,0xBD,0xDF,0x77,0xCE,0x49,0xA7,0x23,0xE2,0xDC,\r
+0xA3,0xC2,0x07,0x9D,0xA8,0x73,0x83,0x96,0xE9,0x5A,0xD5,0x64,0x0B,0x6E,0x03,0x3D,\r
+0xDB,0x7C,0xC1,0xE5,0xCE,0x96,0x00,0xF0,0xB5,0xEE,0x3D,0xD0,0xC9,0xF4,0x5B,0x65,\r
+0x92,0x97,0x63,0xAC,0x9A,0x46,0x84,0xA4,0x45,0xBB,0x98,0x85,0x87,0x02,0xE3,0xDD,\r
+0x12,0x1F,0x6B,0x2C,0x1C,0x2F,0x6B,0x22,0x17,0xA7,0xD6,0x99,0xA4,0x3F,0xFD,0xC3,\r
+0x0B,0x64,0x09,0x35,0x8A,0x06,0xD4,0xB4,0x14,0xB8,0xCA,0x86,0x7F,0x2F,0x36,0x08,\r
+0x94,0xF0,0x02,0xAA,0xEF,0xB2,0x05,0xD1,0x10,0x98,0xEE,0xA6,0xDC,0xD2,0x68,0x56,\r
+0x51,0x8D,0xBA,0x6F,0x71,0x99,0xB0,0x4F,0x48,0x0C,0x22,0x32,0xBC,0xA3,0x79,0x47,\r
+0x0F,0x70,0x19,0x31,0x78,0xBB,0x9B,0x46,0x26,0xB5,0xF5,0x8B,0x37,0xF7,0xA6,0x98,\r
+0xF3,0x52,0xC7,0xCD,0x2B,0x2A,0x59,0x15,0x67,0xB2,0xB3,0x8C,0xA3,0x07,0xC2,0xFC,\r
+0x50,0xAC,0x9A,0x6E,0xA9,0x53,0xA2,0x97,0xC2,0xC4,0x60,0xFA,0x4A,0x28,0x04,0x3A,\r
+0xEA,0x29,0xA5,0xD4,0x25,0x49,0x34,0x1B,0x54,0xA8,0x9A,0x96,0x9E,0x88,0x70,0x4E,\r
+0x09,0x17,0x78,0x37,0xEA,0x82,0x30,0xD4,0x9D,0x6F,0x94,0x51,0xC3,0x76,0xD3,0xED,\r
+0x66,0xBF,0xBF,0x58,0xBD,0x03,0xE6,0x83,0x01,0x8B,0xEC,0xB5,0xCE,0xCC,0x64,0x5A,\r
+0x3F,0x04,0x5D,0x01,0x45,0xCD,0xD0,0x7B,0x88,0x5C,0xB2,0x62,0xAF,0xAB,0x62,0x5C,\r
+0xB1,0xE1,0x36,0x8F,0x0B,0x2E,0x7D,0x35,0x6C,0x2D,0x27,0x13,0xED,0xF1,0x7A,0x44,\r
+0x4B,0xA4,0x89,0x75,0x80,0x75,0xAD,0xBE,0x3D,0x2E,0x75,0x10,0xDD,0xC4,0x7F,0x41,\r
+0xE9,0x7B,0xF4,0xD7,0xE3,0xA0,0x1B,0xDD,0x15,0xAF,0xDC,0x91,0xEC,0xE7,0x6D,0x53,\r
+0x2B,0x40,0x0D,0x15,0x2D,0x4B,0x3E,0x13,0x0A,0x14,0x78,0x2A,0xFD,0xE5,0x7E,0x40,\r
+0x01,0x1D,0x7A,0x3F,0x2E,0x1A,0x6C,0x10,0x92,0xD0,0x24,0xEE,0xE4,0x6F,0xED,0xD3,\r
+0x2F,0x54,0x1D,0x11,0xC7,0xB4,0x2B,0xF9,0x52,0x80,0xB4,0xBE,0x13,0xF2,0x87,0xB9,\r
+0x20,0x18,0x5E,0x1E,0x82,0x04,0xDE,0xBC,0x34,0xB9,0xEB,0x87,0xA1,0x0D,0xCA,0xF4,\r
+0x73,0xDA,0xCF,0x4D,0x0E,0x1E,0x48,0x30,0x51,0x9F,0xA8,0xA1,0xF1,0x49,0xDE,0xE0,\r
+0xAE,0xFD,0x35,0x90,0x03,0x2C,0x77,0x3D,0x47,0xB3,0x92,0x8D,0x57,0x86,0xB7,0x89,\r
+0x96,0xCD,0x66,0x34,0x6B,0xBA,0x92,0x15,0x53,0xA6,0xC8,0x31,0xA5,0x70,0xE8,0x89,\r
+0x64,0x90,0xC9,0x69,0x75,0x87,0x8C,0x36,0x39,0xF0,0xF4,0x0D,0x36,0xDD,0xD6,0x24,\r
+0x69,0x27,0x73,0xDE,0x6D,0xDD,0x94,0x74,0x13,0x3D,0x13,0xEA,0x32,0x12,0x1D,0xEB,\r
+0xD5,0xC2,0x2A,0x3B,0xB6,0x9D,0x4F,0xEF,0x95,0xFC,0x54,0xAD,0x42,0xED,0x92,0x14,\r
+0x4B,0x2E,0x58,0xD7,0x65,0xD7,0x9C,0x76,0xC5,0xBC,0x44,0xBD,0x0A,0x2D,0x1A,0xD4,\r
+0xE6,0xD8,0x03,0x21,0x35,0x47,0xCC,0xB6,0xA1,0x23,0xBF,0x46,0xD1,0x40,0xAC,0xB9,\r
+0x71,0xA3,0xEF,0x5A,0xA0,0xAA,0x59,0xCE,0x5D,0x6F,0x0F,0xF6,0x3B,0xE7,0xE1,0x1E,\r
+0xCC,0x51,0xA0,0xA8,0x4C,0xD8,0xB5,0x50,0xFC,0x54,0x95,0x6C,0xA9,0xA4,0x30,0x5D,\r
+0xCF,0x4E,0xBC,0xB7,0x26,0x45,0xDF,0xA7,0xBB,0xFA,0x7C,0x85,0x82,0xAD,0x12,0x54,\r
+0x28,0x20,0x35,0xD9,0x18,0x5C,0xE1,0x80,0xFE,0x45,0x86,0x7F,0x79,0x2F,0x6B,0xD6,\r
+0x57,0x8A,0xE0,0x73,0x49,0xED,0xB0,0x60,0x4A,0x81,0xF6,0x0F,0x4B,0x18,0x6E,0xE1,\r
+0xE4,0xD0,0x09,0x29,0xB0,0xFA,0x49,0x8E,0xC8,0x8B,0x7E,0x87,0xB5,0xBB,0x33,0x42,\r
+0x66,0x98,0xC3,0x61,0x32,0x01,0xCB,0xF7,0xB6,0xCD,0x46,0xBF,0x9F,0x5C,0xFE,0xA5,\r
+0xD2,0xFD,0x12,0x04,0x71,0x93,0x88,0x26,0x50,0x58,0x35,0xCC,0x08,0x3E,0x0B,0xC7,\r
+0x56,0x9D,0xF6,0x64,0xA9,0x81,0x50,0xEC,0xDF,0x65,0x87,0x7E,0x90,0x75,0xD8,0x8C,\r
+0x5D,0x02,0x62,0xFB,0xC9,0x65,0x30,0x68,0x06,0xC2,0xF9,0x00,0x5B,0xD3,0xB5,0x2A,\r
+0x7B,0x2B,0x6D,0xD2,0x30,0x72,0xC9,0x86,0xF8,0x9F,0x5A,0xA3,0x41,0x10,0x6C,0xE9,\r
+0x05,0x96,0xAE,0x6F,0x7A,0xCB,0x83,0x75,0xC0,0x98,0x65,0x9C,0x7F,0xF3,0xB1,0x0A,\r
+0x0F,0x1E,0x2C,0xE7,0x80,0x8E,0x79,0xCA,0xC7,0xAD,0x57,0xAE,0xB1,0x74,0xF8,0x8D,\r
+0xE0,0xF0,0x2D,0x09,0x2E,0x4F,0xD7,0xA5,0x5E,0x91,0xF2,0x0B,0xCF,0x4C,0xBE,0xB5,\r
+0xF3,0xEB,0x25,0x12,0xF5,0x0F,0x0C,0x3E,0x37,0x39,0x33,0xCA,0xA7,0x63,0xF9,0x9A,\r
+0xF2,0xFC,0x33,0x05,0xC3,0x1C,0x3A,0x1B,0xE9,0xAB,0x7F,0x86,0x5F,0x1C,0x7E,0xE5,\r
+0xEE,0x58,0x8B,0xA1,0x1B,0x0E,0xE2,0xD1,0x74,0x5C,0x15,0xEC,0x15,0xCF,0xE7,0x36,\r
+0x03,0xBE,0x80,0x47,0xD8,0x14,0x21,0x08,0xA6,0x16,0x8D,0x74,0x1A,0xE6,0xC1,0x1F,\r
+0x61,0xA7,0xFB,0x5E,0x8E,0xE3,0x77,0xA9,0xBE,0xDE,0x5D,0xA4,0xCD,0x5F,0xAF,0xA6,\r
+0xEB,0x6F,0xB9,0x96,0x4F,0x8A,0xB6,0x01,0x85,0x27,0x9F,0x66,0x2E,0x0D,0x1E,0xF4,\r
+0x5A,0x3D,0x5A,0xC4,0xE0,0x6A,0x19,0x4E,0x4C,0x5B,0x2A,0xD3,0x57,0x07,0x6D,0xFE,\r
+0x1F,0x1A,0x38,0xE3,0x60,0xE2,0x99,0x46,0x69,0xB0,0xE4,0x1D,0xB7,0xA8,0x22,0x51,\r
+0xEA,0x78,0xAF,0x81,0x22,0x51,0xDB,0xB7,0xE8,0x44,0x91,0x68,0xB8,0x81,0x04,0x78,\r
+0x7D,0x03,0x43,0xFA,0xE2,0x19,0x1B,0x3F,0x46,0x59,0x22,0xDB,0x96,0xA9,0x02,0x50,\r
+0xA3,0xFF,0x61,0x06,0x58,0x9C,0xA1,0x00,0x11,0x2C,0x00,0xF9,0x4E,0x39,0x4A,0xC0,\r
+0xDB,0x6A,0x8C,0x93,0xB1,0xDB,0x48,0xAE,0x3C,0xD4,0xD5,0x2C,0x56,0xE9,0x82,0x10,\r
+0xB8,0x64,0xE1,0x9D,0x19,0x7D,0xE0,0xA0,0x27,0xE2,0xF8,0x01,0xF1,0xAF,0x63,0x56,\r
+0xD3,0xEA,0x04,0x13,0x57,0xD0,0xAE,0x43,0xB2,0x06,0x89,0x70,0xAB,0xB7,0x21,0x4E,\r
+0x31,0xB3,0xBF,0x4A,0xAF,0xE6,0x56,0x8D,0xEC,0x8F,0x5E,0xA7,0xCC,0xB1,0x40,0x48,\r
+0xF6,0xDC,0x17,0x25,0xF8,0x30,0x01,0x0C,0x94,0x13,0xBA,0x43,0x76,0x06,0x4D,0xFF,\r
+0x2B,0x3F,0x29,0xC6,0x37,0x34,0xCE,0xC7,0x9A,0xDA,0x7D,0x84,0x88,0xA5,0x10,0x5C,\r
+0x14,0x85,0xAC,0x7C,0xBB,0xA2,0x42,0xDD,0x60,0x4C,0x11,0xE8,0x28,0xD1,0xC4,0x28,\r
+0x49,0x26,0x52,0xDF,0x39,0x59,0xC0,0xA4,0xB3,0xE9,0x67,0x9E,0x07,0x17,0x2D,0xEE,\r
+0x97,0xDA,0x70,0x23,0x6A,0x9B,0x93,0x35,0xF5,0xA8,0x60,0x99,0xF7,0x73,0xB9,0x8A,\r
+0xBB,0x7B,0xFD,0x82,0x11,0x77,0xE8,0xA2,0x92,0xC9,0x66,0x9F,0x86,0x62,0xD9,0x9B,\r
+0x41,0xA6,0xDA,0x5F,0x1C,0x48,0xE5,0x90,0xA8,0xDF,0x4A,0xB3,0x49,0x0B,0x7F,0xF2,\r
+0xD0,0xF5,0x18,0x0C,0x90,0xDE,0x69,0x8A,0xEB,0xBA,0x6C,0x95,0x0D,0x1F,0x2F,0xE6,\r
+0x93,0xFA,0x54,0x03,0xD5,0x2B,0x2C,0x3A,0xB4,0xDC,0x55,0xAC,0xF2,0x52,0x9D,0xAB,\r
+0xF4,0xD4,0x1D,0x2D,0x3C,0x6C,0xC5,0x94,0x24,0x1C,0x05,0xFC,0x6F,0x38,0x6A,0xC1,\r
+0x83,0xFE,0x40,0x07,0x3F,0x3E,0xC6,0xC5,0x78,0x84,0xC1,0x38,0xE5,0xAB,0x73,0x52,\r
+0x7A,0x3C,0x7B,0xC5,0xF1,0x1B,0x08,0x2E,0xDC,0x9B,0x7A,0x83,0xE7,0xB8,0x62,0x41,\r
+0x07,0x9E,0xA4,0x67,0x92,0xAD,0x6B,0xFB,0x75,0xB3,0xFB,0x02,0xC4,0xAA,0x53,0x53,\r
+0xB2,0xEC,0x63,0x15,0x3A,0x0B,0xC3,0xF5,0x44,0x48,0x31,0xC8,0x8F,0x97,0x25,0x6E,\r
+0x77,0x8B,0xC1,0x72,0xDA,0x67,0x23,0x79,0x91,0x37,0x9B,0x62,0x31,0xEF,0xE3,0x16,\r
+0xFF,0x4B,0x89,0xB2,0x33,0x20,0xCA,0xD7,0xE4,0x9C,0x45,0xBC,0x7A,0xD2,0x95,0x2B,\r
+0x20,0xA0,0xBD,0x59,0xA2,0xD9,0x5B,0xBF,0x55,0x7C,0x14,0xED,0xF9,0xB4,0x70,0x4D,\r
+0xBD,0x53,0xD3,0xAA,0xDD,0x21,0x24,0x38,0x9E,0x11,0xB2,0x4B,0x7E,0x1D,0x5E,0xE4,\r
+0x5F,0x0A,0x68,0xF3,0x79,0x99,0x80,0x24,0xF3,0x72,0xBC,0x45,0x4D,0xC4,0xB4,0x3D,\r
+0xC3,0xEE,0x10,0x17,0x08,0x0C,0xF1,0xC0,0xC6,0x42,0xB9,0x40,0x3A,0x09,0x0E,0xF0,\r
+0x0D,0x16,0x26,0xEF,0xD0,0x1E,0x29,0x0A,0x71,0x78,0x34,0xCD,0x16,0x32,0x19,0xCB,\r
+0x34,0x84,0x8D,0x7D,0x63,0xB0,0x9A,0x17,0x22,0xC6,0xD9,0x20,0xA3,0xAC,0x32,0x55,\r
+0x8C,0x41,0xF0,0xB8,0xFD,0x05,0x04,0x3C,0xEE,0x9E,0x4D,0xB4,0xD2,0xBD,0x52,0x44,\r
+0x87,0xDE,0x64,0x27,0x98,0xD4,0x61,0x88,0xCA,0x9A,0x6D,0x94,0x2F,0xE3,0xF1,0x1A,\r
+0xE5,0xC7,0x1F,0x3E,0x0E,0x6B,0xF7,0xA1,0xD6,0x99,0x72,0x8B,0x3F,0x28,0x2A,0xD1,\r
+0xED,0x47,0x97,0xBE,0x88,0x84,0x71,0xC8,0x98,0xCB,0x6E,0x97,0x02,0x36,0x09,0xCF,\r
+0x4F,0x0E,0x7C,0xF7,0xDC,0x00,0x25,0x18,0x3D,0x3B,0x3B,0xC2,0xF4,0x8E,0x47,0x77,\r
+0x89,0x76,0xC2,0x8F,0xBA,0x83,0x43,0xFD,0xD5,0x67,0x8F,0x76,0x6E,0xD6,0x85,0x2F,\r
+0x55,0x82,0xEA,0x7B,0x91,0xFF,0x68,0xAA,0xCE,0x51,0xA2,0x5B,0x23,0x37,0x29,0xCE,\r
+0x89,0x71,0x71,0x99,0x6E,0x1B,0x1B,0x14,0x1C,0x52,0x1C,0x2F,0x24,0x24,0x2C,0x69,\r
+0x03,0xE2,0xE2,0x80,0xF6,0xDF,0xDF,0x48,0x1F,0x00,0x1F,0x7E,0x0E,0x0E,0x71,0x1E,\r
+0xA8,0x70,0x70,0xB9,0x59,0x21,0x21,0x19,0xB1,0xC1,0xB1,0x11,0x44,0x44,0xC8,0xED,\r
+0x8B,0x62,0x62,0x88,0x71,0xA0,0xA0,0xB0,0xD2,0x77,0xD2,0xC4,0xE6,0xE6,0x17,0x90,\r
+0x25,0xD1,0xD1,0x95,0x35,0x90,0x90,0xC4,0x3F,0x24,0x3F,0x7A,0x7C,0x7C,0xB6,0xAB,\r
+0xEA,0xB8,0xB8,0x33,0x23,0xBC,0xBC,0xFE,0x32,0x1B,0x32,0x48,0xA1,0xA1,0x91,0x51,\r
+0x9E,0x88,0x88,0x77,0x36,0x8F,0x8F,0xD8,0xF6,0x47,0xF6,0xD0,0x20,0x20,0x38,0x79,\r
+0x61,0xC5,0xC5,0xC5,0x50,0xB6,0xB6,0x87,0xB3,0xB2,0xB3,0x60,0x2F,0x2F,0x74,0x3A,\r
+0x44,0x0B,0x0B,0x2E,0xA6,0xCB,0xCB,0x0C,0x98,0xCE,0x98,0x37,0x5F,0x5F,0xC0,0xFE,\r
+0xE4,0x7F,0x7F,0xFA,0x30,0xA7,0xA7,0xF6,0x14,0x58,0x14,0x2D,0xE5,0xE5,0x45,0xC1,\r
+0x9B,0xA9,0xA9,0x53,0x42,0xBA,0xBA,0x99,0x49,0xF7,0x49,0xDF,0x00,0x00,0x1C,0x7D,\r
+0x6B,0xCD,0xCD,0xC7,0x03,0xBD,0xBD,0xDF,0x1A,0x35,0x1A,0x4E,0xFC,0xFC,0x3E,0xA3,\r
+0xC7,0x6D,0x6D,0xCB,0xEC,0x53,0x53,0xDE,0x74,0xBC,0x74,0xA9,0x30,0x30,0x68,0x39,\r
+0x9D,0x75,0x75,0x89,0x08,0x22,0x22,0x4B,0x3A,0x11,0x3A,0x4A,0xBE,0xBE,0x8D,0x52,\r
+0x1A,0xDC,0xDC,0xA7,0xF9,0x60,0x60,0xF8,0xDB,0x5C,0xDB,0xE6,0x06,0x06,0x7B,0x1C,\r
+0xA0,0x6B,0x6B,0xAA,0x65,0x84,0x84,0x80,0x8C,0x8A,0x8C,0x67,0x69,0x69,0xD3,0xDB,\r
+0x98,0x54,0x54,0xAD,0xD1,0xE1,0xE1,0x51,0xFF,0x6C,0xFF,0xF2,0xD4,0xD4,0x10,0xA5,\r
+0x6E,0xEC,0xEC,0xE3,0x21,0xB4,0xB4,0xF4,0xAB,0xE8,0xAB,0x22,0x9D,0x9D,0xFB,0x07,\r
+0x4F,0xED,0xED,0xC3,0xBB,0x78,0x78,0xA2,0xB2,0x93,0xB2,0x40,0x58,0x58,0x86,0xBF,\r
+0x02,0x0C,0x0C,0x6F,0x8D,0x55,0x55,0xB9,0x99,0xEF,0x99,0x17,0xAC,0xAC,0xAE,0x63,\r
+0xBE,0x67,0x67,0xB8,0x74,0x97,0x97,0x82,0xDE,0x69,0xDE,0xD6,0x9B,0x9B,0x9C,0x66,\r
+0xCF,0x76,0x76,0xD8,0x2C,0x03,0x03,0x4E,0x40,0xDC,0x40,0xFD,0x5E,0x5E,0xE1,0xDE,\r
+0x53,0xF2,0xF2,0xC0,0x73,0xA8,0xA8,0xBA,0x2D,0x07,0x2D,0x4B,0x1D,0x1D,0x73,0x0F,\r
+0x43,0x39,0x39,0x1B,0x70,0xB7,0xB7,0xA6,0xBB,0xB8,0xBB,0x62,0x04,0x04,0x08,0x6D,\r
+0x21,0x1E,0x1E,0x5E,0x98,0x66,0x66,0x9F,0x5A,0xF5,0x5A,0xCE,0xD0,0xD0,0x04,0xB5,\r
+0x12,0xC7,0xC7,0xB4,0xFB,0x68,0x68,0xF2,0xFE,0x4D,0xFE,0xD2,0x89,0x89,0xBF,0x57,\r
+0x7A,0xE8,0xE8,0xF3,0x92,0xEE,0xEE,0x1D,0xF3,0x72,0xF3,0xE0,0xCC,0xCC,0x4A,0xE7,\r
+0x56,0xD3,0xD3,0xE4,0xA8,0x63,0x63,0xAA,0x2B,0x60,0x2B,0x2A,0x34,0x34,0x7C,0x29,\r
+0x5D,0x35,0x35,0x09,0xDD,0x41,0x41,0xFD,0xF9,0x0B,0xF9,0x93,0x51,0x51,0xAD,0x9D,\r
+0xE3,0x4D,0x4D,0xCF,0xA2,0xEB,0xEB,0x28,0x19,0x67,0x19,0x1F,0x36,0x36,0x0F,0x58,\r
+0x95,0x6E,0x6E,0x9A,0x96,0xCE,0xCE,0x39,0x81,0xB5,0x81,0x55,0x7A,0x7A,0xD1,0xCA,\r
+0x16,0x08,0x08,0x7F,0x76,0x9F,0x9F,0x88,0x10,0x4C,0x10,0x3D,0x91,0x91,0xE5,0x15,\r
+0x64,0xE4,0xE4,0xE1,0xB2,0xEF,0xEF,0x3C,0x52,0xFF,0x52,0xCC,0x27,0x27,0x7E,0x38,\r
+0xF3,0x86,0x86,0x14,0x27,0x9C,0x9C,0xDA,0x11,0x6D,0x11,0x1D,0x42,0x42,0xAF,0x8C,\r
+0x37,0x09,0x09,0x5F,0x28,0x23,0x23,0x6A,0xEA,0x09,0xEA,0x82,0xD8,0xD8,0x0E,0xB7,\r
+0xFC,0xAF,0xAF,0x32,0x8F,0x5D,0x5D,0xB3,0x8A,0xED,0x8A,0x06,0x47,0x47,0x9A,0xBC,\r
+0x15,0xF5,0xF5,0x81,0xAF,0x5C,0x5C,0x92,0x3B,0x30,0x3B,0x6A,0xFA,0xFA,0x59,0xC2,\r
+0xEE,0x77,0x77,0xF8,0x10,0xA6,0xA6,0xD7,0x05,0x29,0x05,0x4D,0x94,0x94,0xD0,0x25,\r
+0xD9,0x61,0x61,0xD9,0x61,0xA4,0xA4,0xA4,0x93,0x96,0x93,0x64,0x0A,0x0A,0x65,0x0E,\r
+0x27,0xC2,0xC2,0x84,0x6B,0x2C,0x2C,0x26,0x6A,0x81,0x6A,0x8A,0x50,0x50,0x8C,0xBD,\r
+0xBD,0x9A,0x9A,0x46,0xC9,0x65,0x65,0xCD,0x16,0x2B,0x16,0x5C,0x02,0x02,0x6F,0x0C,\r
+0x66,0xF7,0xF7,0xF0,0x56,0x9E,0x9E,0xA9,0x46,0xBB,0x46,0x9C,0xF4,0xF4,0x34,0xA1,\r
+0xC5,0x7E,0x7E,0xDA,0xBE,0x4F,0x4F,0x90,0x6F,0xB4,0x6F,0xBA,0x8B,0x8B,0xCC,0x26,\r
+0x57,0x3D,0x3D,0x0B,0x85,0xD5,0xD5,0x31,0x83,0xC6,0x83,0x24,0x79,0x79,0x83,0x9B,\r
+0x5A,0x07,0x07,0x3C,0x1A,0x2E,0x2E,0x55,0x56,0xEB,0x56,0xDC,0x4A,0x4A,0xA5,0x8E,\r
+0xC9,0xAA,0xAA,0x02,0x4C,0x12,0x12,0x3F,0x48,0xD6,0x48,0xFF,0x17,0x17,0x0A,0x7C,\r
+0x2E,0x37,0x37,0x78,0x16,0x8E,0x8E,0xF9,0x95,0xF1,0x95,0x05,0x18,0x18,0x46,0x3F,\r
+0x5E,0xC8,0xC8,0xF7,0xD7,0xC9,0xC9,0x7F,0x4E,0xB1,0x4E,0x9E,0xFD,0xFD,0x1F,0x83,\r
+0xFA,0x73,0x73,0xE8,0xB3,0xF8,0xF8,0x2A,0xC1,0x75,0xC1,0xD5,0xD9,0xD9,0x2F,0x97,\r
+0xD4,0x5B,0x5B,0xEE,0xAE,0x4B,0x4B,0x84,0x01,0x3D,0x01,0x5D,0xA2,0xA2,0xC3,0x00,\r
+0x3A,0x33,0x33,0x68,0x3E,0x0F,0x0F,0x50,0x92,0xB7,0x92,0x44,0xB0,0xB0,0xE0,0x31,\r
+0x22,0xE3,0xE3,0xA0,0xC6,0xDA,0xDA,0x7D,0x7B,0xF0,0x7B,0xEA,0x25,0x25,0x0D,0x49,\r
+0x42,0xD7,0xD7,0xF4,0xCD,0x45,0x45,0xE9,0x6C,0xE6,0x6C,0xEB,0xB5,0xB5,0xD5,0x01,\r
+0xA1,0x85,0x85,0x45,0x34,0x87,0x87,0xD2,0xAD,0x8F,0xAD,0x43,0x7D,0x7D,0x97,0x8B,\r
+0xDB,0x72,0x72,0xC8,0x5A,0x3E,0x3E,0x05,0x43,0x8E,0x43,0xAC,0xC0,0xC0,0x54,0xF5,\r
+0x3B,0xDD,0xDD,0x87,0xB1,0xF0,0xF0,0x20,0xC3,0x06,0xC3,0xA4,0xE7,0xE7,0x36,0xB0,\r
+0x33,0xC6,0xC6,0x94,0x41,0xA5,0xA5,0x85,0xE0,0x70,0xE0,0xF1,0x26,0x26,0x5F,0x18,\r
+0xCB,0xB9,0xB9,0x13,0xD3,0xE9,0xE9,0x5B,0xD6,0x63,0xD6,0xD4,0x31,0x31,0x49,0x19,\r
+0x76,0x3C,0x3C,0x2B,0xFC,0x57,0x57,0xCA,0xFB,0x78,0xFB,0xE2,0x64,0x64,0xEC,0xE9,\r
+0x79,0x15,0x15,0x0D,0xB6,0xCF,0xCF,0x18,0x38,0x62,0x38,0x3B,0x82,0x82,0xE7,0x04,\r
+0x13,0x29,0x29,0x5B,0x72,0xBF,0xBF,0xAC,0x59,0xA7,0x59,0x9F,0x4C,0x4C,0xC2,0xEF,\r
+0x2D,0xCA,0xCA,0x86,0x75,0x80,0x80,0x94,0x13,0x1E,0x13,0x6C,0xF1,0xF1,0x01,0x91,\r
+0xA3,0x96,0x96,0x54,0x7B,0x28,0x28,0x32,0x0D,0x23,0x0D,0x4F,0x2A,0x2A,0x41,0x0A,\r
+0xDD,0xAE,0xAE,0x12,0x47,0x8D,0x8D,0xAB,0xA3,0xE2,0xA3,0x20,0xC4,0xC4,0x40,0xE5,\r
+0xB8,0xCA,0x67,0xB9,0x87,0x40,0xD3,0x86,0xB2,0xDB,0x7C,0xDA,0x22,0xA8,0x9F,0x9E,\r
+0xC9,0x5F,0x83,0xC8,0x9F,0x02,0x89,0x9E,0xD9,0x55,0x99,0x54,0xC1,0x05,0xD1,0xD0,\r
+0x8B,0xEC,0x72,0x8A,0x36,0x2C,0x0E,0x37,0x97,0xED,0x6F,0xEC,0x6D,0x48,0x30,0x31,\r
+0x6F,0x94,0xEE,0x6E,0x81,0x21,0xB4,0x80,0x50,0x82,0xC7,0x83,0xEC,0x9E,0x67,0x66,\r
+0x20,0x18,0x2D,0x21,0xE1,0xA5,0x50,0xE0,0x75,0xB4,0xD4,0xB5,0xBC,0xDA,0x73,0x72,\r
+0x4C,0xE2,0xBB,0x4D,0x95,0x71,0xF0,0x94,0x4A,0x0E,0x51,0x0F,0xA6,0x4C,0xFF,0xFE,\r
+0x51,0x8D,0xC9,0x50,0x43,0xD8,0x8F,0x42,0xF6,0xEB,0x08,0xEA,0x54,0xE3,0xA2,0xA3,\r
+0x56,0xCB,0x88,0x57,0x27,0x4C,0x7F,0x26,0x28,0x17,0x2A,0x16,0xC5,0x21,0xF1,0xF0,\r
+0x7B,0xD0,0xBE,0x7A,0x3B,0x1E,0x31,0x3A,0x20,0x97,0xA2,0x96,0xF1,0x30,0xD4,0xD5,\r
+0x57,0xEA,0xA8,0x56,0x52,0xB8,0xFE,0x53,0xDA,0x4A,0x85,0x4B,0xC3,0x0F,0xD9,0xD8,\r
+0x64,0xCC,0xBD,0x65,0x62,0xFC,0x8A,0x63,0xF2,0xCB,0x2C,0xCA,0x5B,0x53,0x1D,0x1C,\r
+0x5D,0x93,0xDB,0x5C,0x2F,0x4E,0x75,0x2E,0xB1,0xC4,0x60,0xC5,0xEB,0xA6,0x58,0x59,\r
+0xF0,0x00,0xE5,0xF1,0x9B,0x12,0x9D,0x9A,0xE2,0xCF,0x38,0xCE,0xA4,0x46,0xF7,0xF6,\r
+0x34,0x5C,0x7D,0x35,0x08,0x0B,0x17,0x09,0x95,0xE5,0x65,0xE4,0xF5,0x14,0xF4,0xF5,\r
+0xCA,0x0D,0xD2,0xCB,0x9A,0x32,0xBC,0x9B,0x66,0xAF,0xDC,0xAE,0x9A,0xD5,0x5A,0x5B,\r
+0x4B,0xA4,0xFA,0x4A,0x88,0x03,0x9F,0x89,0x1B,0x0D,0x03,0x0C,0x4F,0x63,0x39,0x38,\r
+0xAA,0xE9,0x56,0xAB,0xDF,0x82,0x49,0xDE,0x16,0xBA,0xB9,0xBB,0x18,0x1F,0x12,0x13,\r
+0x00,0x3C,0x29,0x01,0xA7,0x44,0xF7,0xA6,0xD3,0xDD,0x1B,0xDC,0x94,0x73,0xF2,0xF3,\r
+0x25,0x2D,0x1D,0x24,0x84,0x11,0x81,0x85,0x41,0x91,0xC5,0x90,0xDE,0xA1,0x6A,0x6B,\r
+0x74,0x9C,0xFD,0x75,0xE2,0xF4,0x02,0xE3,0x9E,0x7A,0xF1,0x7B,0xB6,0x58,0xFB,0xFA,\r
+0x8D,0x8B,0x13,0x8C,0xF4,0xD5,0x35,0xF5,0x3E,0x3B,0x10,0x3A,0x45,0xE1,0xB1,0xB0,\r
+0x83,0xE6,0x70,0x82,0x2D,0x3F,0x06,0x2C,0xDC,0x62,0xAB,0x63,0x59,0x59,0x15,0x14,\r
+0x05,0x09,0x19,0x04,0x02,0x78,0x6E,0x03,0x6C,0x27,0x5E,0x26,0x6B,0x66,0x18,0x19,\r
+0x88,0xBE,0x23,0x89,0x39,0x6F,0x42,0x38,0xA2,0xDF,0x68,0xDE,0xA1,0x74,0xC0,0xC1,\r
+0x7C,0x96,0xFF,0x7D,0x8D,0x33,0xAA,0x8C,0xED,0x70,0x88,0x71,0x5D,0x7D,0x35,0x34,\r
+0xE8,0x5A,0xA7,0xE9,0x9C,0x53,0xDB,0x9D,0x55,0xB5,0xF5,0xB4,0x76,0xC8,0xAB,0xAA,\r
+0x43,0xAE,0xF8,0x42,0x18,0x4B,0x47,0x19,0x84,0xF6,0x67,0xF7,0xC0,0x13,0xC6,0xC7,\r
+0x5C,0xB2,0xFB,0x5D,0xD3,0x90,0x57,0xD2,0xE6,0xEF,0x1C,0xEE,0xE9,0xAC,0x50,0x51,\r
+0x0A,0x45,0x5A,0x0B,0xBE,0x26,0x8C,0xBF,0x2E,0x3F,0x04,0x3E,0x79,0x78,0x14,0x15,\r
+0x5F,0xE0,0xAA,0x5E,0x06,0x68,0x7A,0x07,0x8C,0x76,0xEF,0x77,0xA9,0xFC,0x40,0x41,\r
+0x93,0xB6,0x30,0x92,0x07,0x48,0x5B,0x06,0x34,0xB3,0x92,0xB2,0xCB,0x87,0x59,0x58,\r
+0xBE,0xAD,0x06,0xBF,0xE6,0xE4,0x16,0xE7,0xE8,0x47,0xBA,0x46,0x9C,0xFB,0x72,0x73,\r
+0xC5,0x41,0x91,0xC4,0xED,0xB7,0x4E,0xEC,0x05,0xA1,0xB1,0xA0,0x57,0xFF,0xBD,0xBC,\r
+0xF9,0x2B,0xC7,0xF8,0x40,0x89,0xDD,0x41,0xF7,0xFC,0x1E,0xFD,0x74,0xC2,0xA3,0xA2,\r
+0x65,0xED,0x9D,0x64,0xDD,0xF3,0x3A,0xDC,0xB4,0xF3,0x52,0xF2,0x8E,0xE5,0x7E,0x7F,\r
+0x22,0x6B,0x5C,0x23,0x22,0x7C,0x4A,0x23,0x08,0x16,0x0B,0x17,0x15,0xA5,0xA5,0xA4,\r
+0x8E,0xD9,0x42,0x8F,0x70,0xCD,0xA9,0x71,0x87,0xE9,0x7B,0xE8,0xD7,0x3F,0xFD,0xFC,\r
+0x75,0xBD,0xDD,0x74,0x1D,0x7B,0x72,0x1C,0x2A,0x1F,0x20,0x1E,0x17,0xAF,0xAD,0xAC,\r
+0xA4,0x84,0x35,0xA5,0x94,0x51,0xD1,0x95,0xAD,0x60,0xD8,0x61,0x31,0xA0,0x84,0x85,\r
+0x3E,0x25,0x0E,0x3F,0xD7,0x80,0x43,0xD6,0x10,0x92,0x97,0x93,0xAF,0xD2,0x68,0x69,\r
+0xB7,0x86,0x24,0xB6,0x1F,0x0A,0x01,0x1E,0x49,0x11,0x4D,0x10,0xE1,0x24,0xD0,0xD1,\r
+0x4D,0xC3,0x9B,0x4C,0x9D,0x73,0xFA,0x9C,0xAE,0x7F,0xC4,0x7E,0xC6,0x3D,0xEE,0xEF,\r
+0x4F,0xB0,0xEA,0x4E,0x8B,0x52,0xCD,0x8A,0x85,0xE1,0x71,0xE0,0xEF,0x82,0x78,0x79,\r
+0xC7,0x32,0xE0,0xC6,0x28,0x0F,0x33,0x29,0x36,0xBB,0x98,0xBA,0x01,0x95,0x81,0x80,\r
+0x04,0x28,0x39,0x05,0x0E,0x6A,0x70,0x0F,0xB3,0xCC,0x6A,0xCD,0x47,0xEB,0xB9,0xB8,\r
+0x77,0xCE,0xAC,0x76,0x6C,0x9F,0xE7,0x6D,0x07,0xA9,0xBB,0xA8,0x96,0x79,0xFA,0xFB,\r
+0xC8,0x7E,0xA3,0xC9,0xE3,0xD4,0x23,0xE2,0x3C,0x33,0x1A,0x32,0x09,0x1D,0x01,0x00,\r
+0xB6,0xA7,0x04,0xB7,0x45,0xB9,0xE8,0x44,0x37,0xAC,0x8E,0xAD,0x8D,0xF9,0x61,0x60,\r
+0x54,0xB8,0xF9,0x55,0xC3,0xD0,0x07,0xC2,0x64,0xA7,0xD6,0xA6,0x14,0xB3,0xB2,0xB3,\r
+0x6B,0x80,0xFE,0x6A,0x20,0x0D,0x39,0x21,0x1A,0x1A,0x15,0x1B,0xE7,0x0A,0xF8,0xF9,\r
+0xC3,0x26,0xF0,0xC2,0x7C,0xDF,0xB7,0x7D,0x81,0xC1,0x55,0xC0,0xC4,0x37,0xE6,0xE7,\r
+0x66,0xBF,0xCC,0x67,0x44,0x99,0xC9,0x45,0x6E,0x2F,0x54,0x2E,0xAB,0xF6,0x48,0x49,\r
+0x4E,0x91,0xCA,0x4F,0x2C,0x1F,0x27,0x2D,0x93,0xCD,0x4B,0xCC,0x7A,0x64,0x0B,0x0A,\r
+0x02,0x4F,0x58,0x03,0x53,0x98,0xDF,0x52,0x92,0xDA,0x5D,0xDB,0x5F,0x77,0x3D,0x3C,\r
+0xBC,0xDE,0x77,0xBD,0xD6,0xA0,0x62,0xD7,0x62,0x8F,0xF8,0x8E,0x69,0x6C,0x10,0x11,\r
+0x24,0x0C,0x3D,0x25,0xFF,0x86,0x6D,0xFE,0x8F,0x69,0xF3,0x68,0xB0,0x76,0xD3,0xD2,\r
+0xAE,0xFD,0x46,0xAF,0x3D,0x7F,0x56,0x3C,0x8A,0x5E,0xC1,0x5F,0x60,0xF2,0x87,0x86,\r
+0x6C,0xC6,0xBF,0x6D,0x6F,0xCE,0xB5,0x6E,0x00,0x96,0x83,0x97,0xC8,0x9B,0x46,0x47,\r
+0xD5,0x11,0xD1,0xD4,0x98,0x43,0xCF,0x99,0x7E,0x2B,0x40,0x2A,0x27,0x9A,0xA8,0xA9,\r
+0x1B,0x34,0x3A,0x1A,0x37,0x0C,0x2F,0x36,0x3B,0x0C,0x22,0x0D,0x2F,0x12,0x28,0x29,\r
+0x13,0x3E,0x38,0x12,0x99,0x63,0xEE,0x98,0x1C,0x32,0x3B,0x33,0x5E,0x61,0x2A,0x2B,\r
+0xA0,0x90,0x25,0xA1,0xB1,0x65,0xC0,0xB0,0x8B,0x49,0xD7,0x48,0xD6,0x29,0xEA,0xEB,\r
+0xE4,0x44,0xB5,0xE5,0xD9,0xE3,0x2E,0xD8,0xBA,0x5B,0xF4,0x5A,0xCF,0xA3,0x79,0x78,\r
+0x31,0x69,0x4D,0x30,0x09,0x2B,0x36,0x08,0xC2,0xCE,0x19,0xCF,0x61,0xE4,0x90,0x91,\r
+0xAF,0xE2,0xB3,0x69,0x5D,0xD3,0xD6,0xFB,0x14,0x4E,0xA4,0x2F,0x2F,0x66,0xB7,0xED,\r
+0xD2,0x40,0x6C,0xCB,0x3E,0x65,0xB5,0x2E,0xBD,0x66,0x25,0xAE,0x0C,0x74,0x86,0xFF,\r
+0x21,0x0A,0xD5,0x81,0x90,0xA4,0x1B,0x41,0xEC,0xC9,0xDB,0x50,0xA7,0xE6,0xBF,0x6D,\r
+0x56,0x20,0x88,0xAB,0x93,0xF6,0x18,0x10,0xB0,0x51,0x1F,0x94,0x2D,0x75,0xA6,0xFE,\r
+0x05,0x2B,0xD0,0xA0,0x3C,0x16,0xB7,0x5F,0x23,0x6F,0xB2,0x39,0xC5,0xC1,0xFA,0x4A,\r
+0x46,0x24,0x9C,0xAF,0x79,0xE3,0xF2,0xEF,0x7C,0x09,0x8B,0x00,0x3A,0x8C,0x48,0x07,\r
+0x6E,0xA5,0x35,0x2E,0xBD,0xBF,0x36,0x77,0x5A,0x1C,0xB8,0x33,0x4E,0xBC,0x0C,0x37,\r
+0x94,0x78,0x12,0xF3,0xB0,0x80,0x3B,0x45,0x60,0x0A,0x94,0x1F,0x81,0xD5,0xAA,0x5E,\r
+0x9C,0xF8,0x9A,0x73,0x95,0x91,0x1E,0x71,0x7B,0x3C,0xB9,0x32,0xCF,0xC9,0xF8,0x42,\r
+0x42,0x04,0xB8,0x8F,0xC6,0x53,0x4D,0xE0,0x3D,0x7D,0xBE,0x35,0x3F,0xAD,0x6C,0x26,\r
+0xFE,0xE1,0xE1,0x6A,0x9B,0xFC,0x10,0x12,0x52,0x0F,0xA3,0x28,0x40,0x7B,0xC5,0xF0,\r
+0xC1,0x5B,0x64,0xD0,0x17,0x6A,0x9C,0x08,0xA8,0x99,0xCF,0x44,0xE0,0x0F,0x11,0x84,\r
+0xE4,0x6D,0x77,0xE6,0x03,0x2E,0x88,0x58,0x24,0x5A,0x80,0x0B,0x04,0x6F,0x95,0xE4,\r
+0x23,0x02,0xDF,0x89,0x54,0xF8,0xDF,0xD9,0x5C,0xC6,0x64,0xEF,0xBE,0xD8,0x98,0x53,\r
+0x6D,0xBA,0x29,0x31,0xB5,0xB5,0x3E,0x75,0xEF,0x37,0x26,0xAD,0x39,0x71,0xB6,0xFA,\r
+0x06,0x34,0xCC,0xBF,0xFB,0x18,0x70,0x96,0x7A,0xD3,0x57,0xDC,0x63,0x69,0xF4,0xE2,\r
+0x5C,0xA8,0x0A,0x23,0x16,0x4B,0x9D,0x28,0x1D,0xB2,0x51,0xDA,0xA6,0x08,0x50,0x83,\r
+0x80,0x5C,0x22,0xD7,0x3D,0x37,0xB6,0x7F,0x06,0x84,0x7C,0xF7,0xEB,0xE9,0xFC,0x62,\r
+0x38,0x99,0x5F,0x12,0x24,0x4C,0xAF,0x1D,0x50,0x1E,0xB0,0x3B,0xCA,0xE8,0xDC,0x63,\r
+0x9A,0xD0,0xB4,0x5B,0x70,0xC8,0xFB,0xCD,0xF5,0xEE,0xE5,0x6E,0x3C,0x50,0x92,0xDB,\r
+0x52,0x00,0xAC,0x8B,0x34,0x1C,0xBF,0x5D,0x02,0x4F,0xB3,0x38,0xE7,0x3D,0x24,0xB6,\r
+0x30,0x19,0xD7,0x92,0xA2,0xA3,0x29,0x74,0x1E,0x4C,0xAC,0x27,0xF7,0xF6,0xFF,0x7D,\r
+0xE1,0x5A,0x45,0xD1,0xCF,0x78,0x44,0xC2,0xEA,0x13,0x07,0x8C,0x6B,0x72,0xE7,0xF9,\r
+0x59,0x9F,0x38,0x14,0x51,0xCD,0xDA,0xE9,0x26,0x4B,0x93,0x18,0x1A,0x63,0x87,0xE8,\r
+0x16,0x30,0xD8,0xBB,0xA4,0xC4,0x2F,0x15,0x0E,0x97,0x67,0xEC,0xF2,0xD7,0xDB,0x5C,\r
+0xD8,0xC8,0xEE,0x43,0x7C,0xD6,0xF7,0xDF,0xB9,0xAD,0xEA,0x61,0xDE,0xEC,0xCC,0x67,\r
+0x68,0x8D,0x1B,0x06,0x71,0xE9,0xFA,0xED,0x56,0xC4,0x6C,0xE7,0xB6,0xC3,0x8B,0x48,\r
+0x8A,0xD4,0xA0,0x5F,0xD5,0x51,0x5E,0xF1,0x3B,0xA7,0x62,0xE9,0x85,0x1A,0x61,0x91,\r
+0x2A,0x95,0x41,0x1E,0x9F,0xE8,0x14,0x02,0x2C,0x49,0x9B,0x10,0xB2,0x0C,0x40,0x87,\r
+0xF5,0x7E,0x75,0xF5,0x0E,0x11,0x85,0x6A,0x9D,0xA9,0xCA,0x41,0x31,0x6A,0xA5,0xE1,\r
+0x67,0x32,0xAB,0xB9,0x96,0xC3,0x1D,0x20,0x8C,0x9D,0xEF,0x64,0x47,0x49,0xF0,0xC2,\r
+0xA2,0x55,0x09,0xDE,0x76,0xAF,0xFD,0xAC,0x59,0xE2,0x45,0xCE,0xF9,0x31,0x36,0xBA,\r
+0x83,0x43,0x3E,0xC8,0x05,0x49,0x8E,0x39,0x17,0xB0,0x59,0xD2,0x58,0xAB,0x0D,0x20,\r
+0x88,0xDC,0xAA,0x57,0x65,0xAD,0xEE,0xBD,0xCE,0x17,0x27,0xAC,0x93,0x0D,0x60,0x86,\r
+0xB3,0x46,0x0B,0xCD,0x9E,0xC9,0x15,0x22,0x7E,0x18,0x98,0x13,0x57,0x82,0x2B,0x09,\r
+0x07,0x23,0xDA,0xA8,0xDD,0x5B,0x56,0xF3,0x98,0x8D,0xEB,0x60,0xC0,0xE0,0xDE,0x6B,\r
+0x82,0x54,0x28,0xDF,0xE5,0x25,0x6E,0xB5,0x82,0x54,0x28,0xA3,0x83,0xC6,0xBB,0x4D,\r
+0x31,0x0E,0xC1,0x85,0x1C,0x32,0x97,0x5B,0x00,0x5E,0xA0,0x2B,0x7D,0x65,0xE6,0xEE,\r
+0x1A,0x90,0x74,0x1B,0x8A,0x8D,0x01,0x72,0x73,0x2F,0xA2,0x29,0x4A,0x73,0xC7,0xF8,\r
+0xFD,0xFE,0xFD,0x75,0xB4,0x94,0x3F,0x55,0x36,0x90,0x58,0xD3,0xB1,0xF1,0xBE,0x7A,\r
+0xA4,0x7D,0x27,0xF6,0x0C,0x62,0x87,0x1B,0x95,0xBA,0xD1,0x5A,0xF3,0x39,0x34,0xB2,\r
+0x19,0x8F,0x68,0x04,0xE0,0x10,0x6B,0x85,0x34,0x81,0x4B,0xC0,0x61,0x7A,0xE5,0xF1,\r
+0x9E,0xF0,0x90,0x7B,0xC9,0x1F,0x42,0xA3,0x0D,0x69,0x9A,0x11,0xC2,0xF3,0xCF,0x78,\r
+0x33,0x06,0xCB,0x8D,0x99,0x8F,0x12,0x63,0x69,0xF6,0x61,0xEA,0x19,0x9E,0x79,0x15,\r
+0xBC,0xF9,0xBB,0x72,0xC1,0x15,0x4A,0xA1,0xDB,0xE8,0xCD,0x46,0xFA,0xCC,0xC8,0x47,\r
+0x00,0x1C,0xE2,0x97,0x1A,0x55,0x91,0x3A,0x5D,0x29,0x8A,0x01,0x8A,0x33,0x47,0xB8,\r
+0x43,0x13,0xAE,0x98,0xC7,0x72,0x4C,0xC0,0x9B,0x73,0x16,0x9D,0x6D,0xAE,0x3D,0x25,\r
+0xB1,0x4E,0x01,0xC5,0xD9,0x4F,0x52,0xE3,0xF1,0x25,0x2A,0xA1,0xFE,0x03,0x03,0x88,\r
+0x76,0x21,0xA9,0xAA,0xF4,0x54,0x7F,0xD5,0xD9,0xF9,0xDE,0x55,0x86,0xE7,0x9F,0x6C,\r
+0x0E,0xB4,0x44,0x3F,0x1D,0x13,0x96,0x7B,0xF4,0x01,0x0B,0x80,0x9E,0x37,0x57,0xBC,\r
+0x3F,0xA6,0x67,0x2D,0x8E,0x99,0x05,0x62,0x20,0x91,0x4F,0xC4,0x70,0x5F,0xD1,0xD4,\r
+0xA8,0xDD,0x8B,0x56,0x4E,0xD1,0xC5,0xEA,0x8E,0x8C,0xFC,0x77,0x5E,0x77,0xD7,0xFC,\r
+0x8F,0xE3,0x92,0x68,0x4C,0xA2,0xC7,0x9B,0x84,0x8E,0xF4,0x7F,0x9F,0xD9,0xB8,0x52,\r
+0xCA,0xC4,0xF0,0x4F,0xCC,0x2A,0x47,0x93,0xA1,0x65,0x3A,0xB1,0x7F,0x76,0xF7,0xFD,\r
+0xB4,0x79,0x33,0xF2,0x22,0x2B,0xA9,0x7C,0x76,0x0B,0x83,0x08,0x05,0x81,0x7A,0x0A,\r
+0x3E,0xB1,0x71,0x3A,0xE3,0x42,0x68,0xD4,0x4D,0xF2,0x41,0xCA,0xE6,0xD3,0xCB,0x58,\r
+0x3B,0x86,0x43,0x0D,0xB7,0xC6,0x3C,0x04,0xBC,0x89,0xCB,0x40,0xDD,0x11,0x32,0x9A,\r
+0xD6,0x60,0x48,0xEB,0x74,0xDC,0xFF,0xDD,0x6E,0xC3,0x53,0xD8,0xD2,0x38,0x14,0xB3,\r
+0x26,0x35,0xED,0xBE,0x59,0xC7,0xD2,0xEB,0xFF,0xEC,0xED,0x66,0x6F,0xBD,0x2C,0x36,\r
+0x27,0x22,0xFB,0xA9,0x6F,0xD4,0xE4,0xCE,0x21,0x7E,0xA1,0x2A,0x97,0xC2,0xAB,0x49,\r
+0xDA,0xC0,0xE4,0x4B,0x2C,0x46,0xA7,0x1F,0x0F,0x78,0x89,0x02,0x79,0xAA,0x2D,0x21,\r
+0x35,0x2E,0xE5,0xA5,0x82,0x87,0x09,0x70,0x96,0x44,0x2C,0xA7,0x07,0x92,0x6B,0x19,\r
+0xAE,0xF5,0xA5,0x7E,0x9C,0xBA,0x17,0x53,0x30,0x4A,0x84,0x0F,0x89,0xCE,0xB9,0x45,\r
+0xD0,0x48,0x66,0xC3,0xD6,0x03,0x5D,0xA0,0x08,0x4D,0xBB,0x30,0xB7,0x2D,0x64,0xA6,\r
+0xDA,0x6D,0x33,0xF1,0x26,0x8A,0x03,0x63,0x91,0x78,0x10,0x2E,0x1C,0x2A,0xF5,0x99,\r
+0x25,0xE2,0xCC,0x81,0xA0,0xCD,0xC2,0x24,0x4A,0xA3,0x8B,0x6E,0xF9,0x96,0x10,0xC0,\r
+0xEA,0x29,0x03,0x85,0x8A,0x2A,0x0F,0xC3,0x52,0xBB,0xC9,0x34,0x4E,0x9B,0xA7,0x7A,\r
+0x47,0x17,0xAE,0x16,0xE0,0x16,0x59,0xFF,0x4C,0xA5,0xEA,0x09,0x13,0x69,0xFA,0xD5,\r
+0x93,0xCF,0x7A,0x1A,0x4F,0x4B,0xAB,0xA2,0x6B,0x82,0xAF,0x6B,0x8F,0x33,0x66,0x13,\r
+0xD0,0x1E,0x39,0x88,0xEE,0xD1,0x90,0x38,0x87,0x6E,0x31,0x19,0x7D,0x8E,0x94,0x5C,\r
+0x77,0x53,0x9E,0x62,0x12,0x61,0xDC,0x88,0x12,0xFB,0x49,0xF4,0x06,0x19,0xEF,0xB0,\r
+0x1A,0xE5,0xF3,0xB9,0x76,0x9A,0x43,0x73,0x42,0xAB,0x89,0x64,0xF0,0xB4,0x19,0xEB,\r
+0x8C,0xCC,0x65,0x06,0x7B,0xA0,0x74,0x49,0x97,0x7E,0x71,0x49,0x0E,0x1B,0xE7,0xBA,\r
+0x2F,0x91,0xC6,0xF8,0xF9,0x28,0x7E,0xC1,0x6E,0x87,0x9F,0x5E,0x54,0xA8,0xBD,0x53,\r
+0x18,0x94,0xF1,0xCA,0x4D,0x58,0xBA,0xB1,0x3F,0xD6,0x7F,0xEF,0xFE,0xD7,0x17,0x86,\r
+0x9A,0xED,0x73,0x31,0x08,0xA2,0x05,0x4B,0x01,0xE8,0x58,0xF6,0x90,0x30,0x79,0x0F,\r
+0xE4,0x4A,0x0D,0xE8,0xB5,0x27,0x3D,0xCE,0xEE,0x07,0x97,0xD6,0xDC,0xA2,0x35,0xD1,\r
+0x42,0x27,0xAB,0x23,0x6C,0x59,0x9A,0xB0,0x8E,0x67,0x13,0x32,0x43,0xA9,0xAA,0x45,\r
+0x09,0xF4,0xE0,0xBB,0xE3,0xEB,0xA7,0x02,0x56,0xBF,0xD9,0x20,0x23,0x2D,0xCA,0xA1,\r
+0x6B,0x01,0x82,0x2C,0x05,0x98,0x32,0x71,0x15,0xFC,0x08,0xB2,0x46,0x99,0xAF,0x70,\r
+0x7B,0x41,0x92,0x7C,0xED,0x2C,0x6E,0xC5,0x09,0xE0,0x5A,0xFC,0x2E,0x1F,0xC7,0x9E,\r
+0x43,0x07,0xAA,0x02,0x74,0x89,0x52,0x60,0xA7,0x4E,0x35,0x3D,0xC0,0xF0,0x29,0x9F,\r
+0xC4,0x4E,0x2D,0xCC,0x73,0xBB,0x67,0x52,0x5D,0xB4,0x8A,0x78,0x48,0xFA,0xA1,0x1D,\r
+0x27,0x93,0xCE,0xF2,0x4B,0x84,0x60,0x6D,0x17,0xFE,0x79,0xC1,0xF5,0x84,0x1C,0xDE,\r
+0xD1,0x3E,0x38,0xA9,0x15,0x53,0xE9,0xBA,0xFF,0x16,0xF7,0xA7,0x60,0xFC,0x89,0x33,\r
+0xF8,0x18,0x11,0xA6,0xC7,0xCB,0xA3,0x22,0x3C,0xD5,0x2E,0xBD,0x86,0x11,0x6F,0x38,\r
+0x2B,0x81,0xC2,0xEC,0x5A,0xA1,0x54,0x48,0xE4,0x0D,0xE4,0xAF,0x22,0x0D,0xCB,0x80,\r
+0x54,0x06,0xBD,0x14,0x84,0xED,0xC6,0x04,0xD2,0x3B,0xC1,0xBC,0x35,0x0C,0xDC,0x96,\r
+0x9F,0xDD,0x76,0x04,0xDA,0x3A,0x4F,0xD3,0x47,0xAE,0xB9,0x51,0xC4,0xE0,0x2D,0x8B,\r
+0x30,0x92,0xD9,0xE4,0xFF,0xF4,0xA4,0x1D,0xC7,0x2E,0xB1,0xD9,0xE3,0xA5,0x0A,0xE9,\r
+0x3A,0xE1,0xD3,0x9D,0x36,0x41,0xD8,0xA8,0x68,0x81,0xFE,0x39,0xB1,0x14,0x58,0x0A,\r
+0x68,0x50,0x81,0x7E,0x0D,0x83,0x21,0x6A,0xA9,0x40,0x56,0x50,0x79,0x9E,0x90,0x48,\r
+0xDE,0x7D,0x37,0xE5,0x8F,0x0B,0x2B,0xE2,0x96,0x7F,0x51,0x68,0xB4,0x24,0x5D,0x3F,\r
+0x0E,0xB5,0xE7,0xFD,0xA2,0xDE,0xD3,0x37,0x7F,0x96,0xFF,0x2F,0x21,0x5C,0xC8,0xD2,\r
+0x9E,0xFD,0x77,0x25,0xF5,0xFC,0xA6,0x15,0xC5,0x2C,0xC0,0xAA,0xDD,0x82,0x34,0xF0,\r
+0xB6,0xFB,0x5F,0x0B,0x5B,0x4F,0xBB,0xA6,0x05,0xEC,0x48,0xE2,0xA6,0x15,0x4F,0x1C,\r
+0x31,0xB2,0xD8,0xC5,0x27,0x64,0xEC,0x8D,0xDF,0x36,0xF3,0x83,0x02,0x09,0xEB,0xA4,\r
+0x86,0xBF,0x6F,0x7F,0x5F,0x80,0x70,0x69,0x88,0x61,0x72,0x55,0x6D,0xCE,0x84,0x0C,\r
+0x80,0xDE,0x69,0x18,0x01,0x57,0xF9,0xBE,0x70,0x99,0xBC,0x63,0x34,0x2C,0xDD,0xB7,\r
+0x98,0x9C,0x71,0x42,0x94,0x26,0x1D,0xCF,0x3E,0xD7,0x5F,0xCE,0xBA,0x47,0x53,0x52,\r
+0x44,0x46,0xAD,0x44,0x46,0xBE,0x57,0x57,0x4D,0xA4,0xCA,0x28,0x04,0x68,0xED,0xC3,\r
+0x20,0xD2,0xC9,0xB4,0x00,0xB9,0x16,0x50,0x1E,0xF7,0x5B,0xEA,0xF8,0xB6,0x11,0xE1,\r
+0xE6,0x3B,0x0F,0x9B,0xD3,0xCF,0xB3,0x26,0x9C,0x75,0x22,0x11,0x5B,0xEB,0xB2,0x1F,\r
+0x92,0xEF,0x7B,0x3B,0x29,0xA3,0x25,0x4A,0x10,0xF9,0x38,0x87,0xE1,0xD4,0x08,0x9A,\r
+0x65,0x62,0x8C,0x41,0x07,0x8B,0x23,0x62,0xF2,0x1B,0xC5,0x98,0x24,0x6C,0xCD,0xE7,\r
+0x28,0xD0,0xC1,0xBE,0x58,0xB2,0x45,0x5B,0xB7,0x5E,0x75,0x6D,0x2B,0x2F,0xC2,0xAB,\r
+0x3C,0x80,0xD5,0xFA,0x1B,0x94,0x20,0x7D,0x3B,0xD2,0x6F,0xFB,0x78,0xBE,0x91,0x69,\r
+0x55,0x26,0xBC,0x35,0x21,0xB8,0x36,0x51,0x36,0xDF,0x5D,0xC4,0xA5,0x44,0x4C,0x4E,\r
+0x9D,0xAC,0x74,0x77,0xC6,0x25,0x4C,0xCC,0xB5,0x5C,0x04,0x1E,0x40,0xF8,0xA9,0x17,\r
+0x8F,0x9D,0x66,0x54,0x6F,0xA4,0x64,0x4D,0xD6,0x3F,0xD1,0xA8,0xE2,0x85,0x0B,0xC8,\r
+0x9C,0x8C,0x75,0x56,0xCB,0x1F,0x7B,0xF6,0x18,0xF1,0x3A,0x8D,0x20,0x7C,0xC9,0xF3,\r
+0x0F,0x95,0xE6,0xDC,0x97,0xDB,0xE3,0x32,0x1B,0xF2,0x6B,0xDF,0x0A,0x0B,0xE3,0xAE,\r
+0x83,0x8F,0x6A,0x4A,0xE6,0xCA,0x83,0x23,0x85,0x6C,0x40,0x6A,0x7E,0xDF,0x97,0x0E,\r
+0xE5,0x6A,0x0C,0xC9,0x57,0x9B,0x63,0x72,0x14,0xFD,0x28,0x93,0x95,0x00,0x7C,0x3A,\r
+0xD8,0x1C,0x31,0x82,0x22,0x45,0xC8,0xAC,0xFD,0x14,0x86,0xD4,0x55,0x88,0xBC,0x72,\r
+0xA0,0xDA,0x49,0x3C,0xF7,0xEF,0xB7,0x06,0x1D,0xF4,0x0A,0xB8,0x32,0x4D,0xDB,0xD0,\r
+0x05,0xE6,0xEC,0xA5,0xC2,0xEA,0x87,0x03,0xF7,0x1E,0xF5,0xAD,0xC8,0xF2,0x21,0x95,\r
+0x3E,0xF1,0xD7,0x89,0x75,0x67,0xBD,0x8E,0x2F,0xC6,0x3F,0xBF,0x30,0x3C,0xD9,0xA3,\r
+0xF3,0x4B,0x1A,0xFE,0x40,0x62,0x8D,0x8B,0x5E,0xB7,0xDB,0x2A,0xD4,0xA0,0x3D,0xDB,\r
+0x2A,0xA1,0xC3,0xCD,0x2D,0x6C,0xEE,0x85,0xFA,0x13,0xC7,0x92,0x8D,0x42,0x64,0x60,\r
+0x1F,0xD5,0xF6,0x8C,0x65,0xAC,0x66,0x45,0x29,0xC0,0x5E,0xD8,0x19,0x1A,0xF0,0xAC,\r
+0xD4,0x0E,0x3D,0x9C,0x79,0xB3,0x65,0x5A,0xBF,0x56,0x77,0x67,0x00,0x78,0xE9,0xD7,\r
+0x8A,0xAD,0x63,0x61,0x5D,0x93,0x61,0x7A,0xDA,0x33,0xC3,0xB6,0x9F,0x73,0x76,0x43,\r
+0x9B,0xCD,0x72,0x10,0x91,0x07,0x39,0xEE,0x44,0xAD,0xE8,0x03,0x5A,0xCB,0xB3,0x3E,\r
+0x00,0xD6,0xE9,0x90,0x7D,0x7C,0xAE,0x95,0xB6,0x5F,0x55,0x4C,0x5C,0xAA,0xB5,0x59,\r
+0xE1,0x7A,0x08,0xDD,0x66,0x51,0x98,0xB8,0x9D,0x74,0x02,0x30,0xA8,0x76,0x41,0x71,\r
+0xB9,0xB8,0x50,0x47,0x8E,0xE5,0xC4,0x0C,0xFB,0x12,0xE7,0xB3,0xD0,0xB0,0x39,0xCF,\r
+0x01,0xF6,0xE8,0xB1,0x2B,0xB0,0x34,0x59,0xAF,0x46,0x37,0x37,0x99,0x12,0x70,0x24,\r
+0xDF,0xBD,0x11,0xA9,0x66,0x78,0x1B,0xB6,0x7B,0xB5,0x4A,0x34,0xC9,0x77,0x07,0xBB,\r
+0x24,0x22,0xEA,0xCD,0xBD,0x15,0xAD,0xDB,0x8D,0x43,0xE7,0x6F,0x99,0xB7,0x57,0x2B,\r
+0x94,0x6E,0x5A,0x31,0x57,0xB2,0xE0,0x7C,0xF6,0x38,0x70,0x83,0x0C,0xCF,0xC2,0xC6,\r
+0x0E,0x55,0xC0,0x90,0xC5,0xF1,0x31,0x3F,0x04,0xCA,0xCD,0xCC,0xE0,0x51,0x2E,0xB4,\r
+0x53,0xA7,0x9D,0x3F,0xC9,0x25,0xE9,0xEB,0x98,0x56,0x97,0x0A,0xC7,0x14,0x09,0xD6,\r
+0x6F,0xF1,0xA1,0x55,0x5A,0x88,0xD7,0x46,0xC5,0x0B,0x65,0xA5,0xD9,0x37,0x17,0xEB,\r
+0x88,0x3C,0x46,0x7F,0x5E,0x47,0x1C,0x89,0x72,0xBC,0x68,0x1F,0xC1,0x75,0x0F,0xB1,\r
+0xCF,0xFD,0x01,0xF9,0x2E,0xB8,0x93,0x76,0x97,0x59,0xD4,0x46,0x1A,0xEE,0xD4,0xF1,\r
+0xDD,0xCC,0x13,0xDA,0xF3,0x09,0xFF,0xC7,0xCD,0x03,0x67,0xAF,0x9E,0xF6,0x50,0x6D,\r
+0xAE,0x59,0x60,0x3C,0x64,0x6B,0x0A,0xA5,0xA8,0x66,0xD3,0x7E,0xDD,0x27,0x13,0xFF,\r
+0x1C,0x64,0xD2,0xB3,0xFC,0x20,0xD9,0xEE,0xC8,0x06,0x57,0x9A,0x05,0xED,0xCB,0xED,\r
+0x62,0xC3,0xAC,0x6A,0x37,0x86,0xB4,0x48,0x57,0x99,0x5C,0x0E,0x65,0x69,0xAB,0x09,\r
+0xE7,0xFB,0x29,0xD7,0xEE,0xF8,0x13,0x36,0x1B,0xD5,0xCE,0xD0,0x8A,0xA6,0x44,0x29,\r
+0x1D,0x44,0xD3,0x92,0x15,0x7A,0x6A,0xB4,0x75,0xBB,0x29,0x59,0xB4,0x81,0x7A,0x30,\r
+0x6D,0x80,0xA3,0x26,0x27,0x4D,0x6F,0x83,0xDF,0x11,0x56,0x8C,0xE5,0x61,0x2B,0x81,\r
+0xE5,0x8A,0x2B,0xA4,0xD9,0xEE,0x32,0x20,0x85,0x4B,0xE5,0x65,0x1C,0x8F,0xD2,0x96,\r
+0xA8,0x38,0x66,0x5B,0xCB,0x36,0xF8,0xF8,0xBE,0x70,0xF2,0x49,0x59,0x3F,0x97,0x63,\r
+0xE4,0xAA,0x2A,0x85,0x33,0x49,0x7F,0x87,0xA9,0x67,0xF3,0x5F,0x6F,0x1A,0xA1,0x70,\r
+0x8E,0x5D,0x40,0x18,0x79,0x9A,0xE6,0x54,0x0D,0xC3,0xEF,0xE7,0xB7,0xD0,0x79,0x62,\r
+0x16,0x17,0xD8,0xCA,0x76,0xB3,0xC0,0x7D,0xEB,0x25,0x02,0xEC,0x74,0x09,0xBA,0x78,\r
+0xC1,0x9E,0x0F,0x94,0x2D,0x45,0x6D,0x8B,0x7E,0xB0,0x7A,0x01,0x9C,0x87,0x52,0x1E,\r
+0xFE,0x99,0x30,0xAC,0x13,0xA6,0xB0,0x68,0xC3,0x0D,0x04,0xC2,0xD6,0x74,0x18,0xA7,\r
+0xCC,0xAC,0x02,0xAB,0xDD,0x21,0xF9,0xEF,0x4B,0x85,0x0E,0x40,0x2C,0xCB,0xE2,0xE2,\r
+0x69,0x90,0xA7,0x32,0xA3,0x19,0xBF,0xD7,0xA5,0x6B,0xE1,0x41,0x82,0xA4,0x4C,0x23,\r
+0x0A,0x45,0xC4,0x84,0xD4,0xD4,0x05,0x1A,0x2D,0xE3,0xEB,0xC3,0x8E,0xB6,0x40,0x3D,\r
+0xB9,0x58,0x77,0x2A,0xFA,0xFC,0x03,0x32,0x56,0x98,0x7C,0x2F,0x4E,0x3E,0x80,0x75,\r
+0x9B,0x2D,0x55,0x7D,0x22,0x6C,0x4B,0xA2,0xAA,0x64,0xA2,0x0D,0xF4,0x01,0x3A,0xF0,\r
+0x4E,0xD5,0x80,0x50,0x3A,0xBC,0x83,0x72,0x3F,0xF1,0xDA,0xE0,0x1D,0xAF,0xD3,0xB7,\r
+0xC6,0xDF,0x08,0xD2,0xA1,0x0A,0xAE,0xC4,0xF2,0x3C,0x60,0x97,0x22,0xA8,0xEC,0x8F,\r
+0x04,0x26,0xCA,0xE9,0x42,0x58,0x1F,0x96,0x3A,0xF4,0xEA,0xD5,0xE3,0x00,0x2D,0xE6,\r
+0xB1,0x5A,0x7F,0x20,0x3B,0x52,0x6C,0x9C,0x68,0xA6,0x5B,0x36,0x4C,0x4F,0x82,0x06,\r
+0x7F,0xB1,0xB1,0x05,0xDB,0xFD,0x23,0x33,0x4F,0x81,0x1E,0x54,0xCC,0x47,0x02,0x8E,\r
+0xE6,0xDB,0x28,0xF6,0xE4,0xF0,0x11,0x3E,0x6A,0xA4,0x2A,0x45,0x9B,0xC6,0x55,0x58,\r
+0x8A,0x4D,0x44,0x0C,0x44,0x84,0xC5,0x4A,0xD0,0x1E,0x15,0xC0,0x17,0xDC,0xD9,0xCE,\r
+0xFC,0xE8,0x32,0xDF,0x6B,0x42,0x2C,0x8C,0x73,0xBD,0x48,0x3E,0x95,0xA5,0x5B,0x35,\r
+0xFB,0xA9,0x35,0x99,0x9B,0x26,0xB8,0xE8,0x8F,0x41,0x96,0x1C,0xC6,0x34,0x08,0xF7,\r
+0x63,0xE3,0xAD,0x4B,0x9D,0xFA,0x62,0x34,0x31,0xFF,0xB9,0x8D,0xB5,0xA1,0x7B,0x11,\r
+0x12,0x07,0xDC,0xDE,0xC7,0xE2,0x20,0x2C,0xBF,0x71,0xD2,0x68,0xFB,0x42,0x35,0xBC,\r
+0xC5,0x8E,0x0B,0x80,0xA0,0xE4,0x41,0x2A,0xE6,0x28,0x30,0xD3,0x03,0x8C,0xCD,0x8A,\r
+0x21,0x12,0xEF,0xF8,0x1A,0x53,0x4C,0x9D,0x89,0x47,0xF7,0x7B,0x54,0x0D,0x9A,0x5C,\r
+0x9E,0x1D,0x50,0x48,0x03,0x6D,0x6B,0xA3,0x81,0x4F,0xF5,0x71,0x90,0x95,0x5E,0x00,\r
+0x5A,0x85,0x94,0x14,0x89,0xFE,0x72,0x30,0xAB,0x65,0x82,0x2C,0x93,0xC4,0x5D,0x52,\r
+0xE1,0x9A,0x2F,0xB0,0x8B,0xED,0x63,0x23,0x69,0xA7,0x7B,0x17,0x5D,0x2F,0x93,0x77,\r
+0x60,0xB2,0xAE,0x19,0xA8,0xFF,0x52,0x31,0xCB,0x05,0x06,0xC8,0x3E,0xFA,0xF0,0xC1,\r
+0xFD,0xC8,0x33,0xFE,0xEA,0x37,0xD8,0xF9,0x2E,0xE0,0xBA,0x91,0xBD,0xA3,0x73,0x1B,\r
+0xD1,0xDE,0x1F,0xC4,0x25,0x5E,0x7E,0x90,0xF3,0x3D,0x40,0xB6,0xB0,0x91,0x7E,0x24,\r
+0xF7,0xBB,0x39,0x87,0x61,0x4A,0x2E,0x84,0xA0,0x6E,0xD1,0x74,0x3C,0x8B,0xF2,0xB2,\r
+0xCE,0xDD,0x00,0xD8,0x9E,0x07,0x9C,0xC9,0xAF,0x61,0x92,0x38,0x79,0x3B,0xB7,0x47,\r
+0x29,0x10,0xE7,0xF2,0x12,0x48,0x5F,0x86,0x06,0xC8,0xBC,0xBF,0x71,0x39,0xBF,0x4D,\r
+0x27,0x73,0xE9,0x9F,0x21,0x91,0xB5,0x5F,0x5F,0x91,0x5E,0x04,0xD5,0x25,0x1B,0xF5,\r
+0x22,0x43,0xEC,0xAA,0x56,0x5C,0x0F,0x92,0xBB,0x75,0xC2,0x7C,0xA4,0xC1,0x6A,0x60,\r
+0xAF,0x79,0x61,0x1D,0x7A,0x67,0x18,0xA9,0x43,0x8D,0x0C,0x4A,0x7C,0x0B,0xB2,0x72,\r
+0xAA,0x49,0x64,0x28,0xE3,0xC2,0x24,0x0C,0xB9,0x77,0xB3,0x0F,0x96,0xF4,0x58,0x67,\r
+0x00,0x36,0xCE,0xFD,0x5D,0xBA,0xE2,0x74,0xDE,0x10,0x76,0xAD,0x76,0x78,0xB8,0x0B,\r
+0xDE,0x9D,0x10,0x88,0x16,0x87,0x94,0x49,0x1E,0xD0,0xFE,0xE5,0x9F,0xD6,0x51,0x4C,\r
+0x8F,0x7D,0x41,0x39,0x95,0xE1,0x71,0x2F,0xF5,0x3B,0x21,0xD1,0x0E,0xBE,0xC0,0xB5,\r
+0xF5,0xCA,0x3B,0xF4,0x6E,0x63,0x08,0xAD,0x12,0xDC,0xEC,0xFB,0x24,0xC9,0xEA,0xE8,\r
+0xA0,0x3A,0x6E,0x51,0x98,0xDB,0x46,0x15,0x5B,0x95,0x4E,0x10,0x70,0x19,0xBE,0x6C,\r
+0x14,0x66,0xDA,0xB9,0x02,0x83,0x84,0x4D,0x23,0xED,0x88,0xAE,0x16,0xFC,0xD8,0xEF,\r
+0x39,0x50,0xF7,0xA2,0x4F,0x62,0x28,0xAC,0xD7,0x19,0x54,0x86,0x3D,0xAB,0xF3,0x93,\r
+0x42,0xC7,0x8C,0x4E,0xCF,0xF9,0x33,0x37,0xD1,0x1F,0x35,0xE1,0xCF,0x16,0x01,0xDC,\r
+0xD6,0x9F,0x18,0x82,0xBE,0xE8,0x53,0x26,0x14,0xDA,0x8D,0x9C,0x51,0x3D,0x9F,0x69,\r
+0xF6,0x9B,0x38,0xA6,0x43,0xB6,0xF0,0x78,0x8B,0x45,0x86,0x08,0x34,0x89,0xFA,0xB8,\r
+0xE9,0x98,0x27,0xBA,0x53,0x7D,0x2B,0xB3,0x92,0x5C,0xE4,0x73,0xA2,0xA0,0x6C,0x07,\r
+0xD2,0xAD,0x7E,0x94,0x59,0x09,0x60,0x68,0x57,0xE1,0xB7,0x8E,0x18,0x45,0x5C,0x7C,\r
+0xD9,0x32,0xEA,0x0B,0x39,0xED,0x00,0xEC,0x8E,0x46,0xC9,0xF0,0xD3,0xE3,0x31,0xDA,\r
+0xE2,0xA8,0x4B,0x91,0xC2,0x89,0xFB,0x73,0x3E,0x49,0x76,0x4F,0x17,0x6C,0x7A,0x55,\r
+0x56,0xCD,0x9A,0xF4,0x81,0x1B,0xB8,0xA2,0xD8,0xDC,0x05,0x3C,0x80,0x0E,0x8F,0x37,\r
+0xD3,0xBA,0x68,0x83,0xB9,0x65,0x80,0xE4,0xC2,0x05,0xC6,0xFF,0xC3,0x28,0xEA,0x11,\r
+0x60,0xE0,0x81,0xD9,0x40,0x72,0x79,0x0A,0x40,0x0F,0x4E,0x77,0x3D,0x8B,0xB7,0xB2,\r
+0x4B,0x7E,0x34,0x47,0xD6,0xCD,0xEF,0x23,0x33,0x7E,0x4C,0x75,0x0A,0x9D,0x96,0xA4,\r
+0xAC,0x10,0xBD,0x29,0xE8,0xD4,0xD1,0x04,0x76,0xC1,0xB6,0x8F,0xF1,0x1F,0xEF,0x26,\r
+0xF5,0x93,0x67,0xAA,0x50,0x22,0x69,0x4A,0xD5,0xEB,0x3F,0x06,0xB3,0xD7,0x65,0xEE,\r
+0x48,0x61,0x28,0x58,0xBC,0x50,0x85,0xD4,0x74,0xD0,0xA5,0x9C,0x21,0x94,0xB4,0xAD,\r
+0xCF,0x1E,0xD0,0x27,0x95,0x5F,0xAC,0xF2,0x4D,0x38,0x74,0x4D,0x82,0x1D,0x9E,0x24,\r
+0x62,0xE8,0x8B,0xD1,0xC5,0xCF,0xFC,0x32,0x29,0xA7,0x8F,0xB6,0x59,0x70,0x28,0x49,\r
+0xED,0x17,0xFB,0x2E,0x9D,0x55,0xA4,0xF0,0x9B,0xB9,0x23,0x1A,0xBA,0x22,0x99,0x1B,\r
+0x51,0xF2,0xA2,0xCB,0x46,0x15,0x7F,0x6B,0x1D,0x78,0x64,0x5D,0xCA,0xDD,0x16,0xE4,\r
+0x12,0xFD,0xEE,0xC4,0x9B,0x32,0xA2,0x91,0xDB,0x22,0xF8,0xC1,0x2D,0x40,0x6C,0x79,\r
+0xE0,0xA0,0x41,0x99,0x85,0x0F,0xBC,0xB2,0xB1,0x74,0xC4,0xFD,0xBE,0xED,0x52,0xD4,\r
+0x27,0xCF,0xE9,0xF6,0xA8,0x14,0x91,0x84,0x99,0xA8,0x30,0x09,0xC6,0x09,0xCE,0x30,\r
+0x5F,0x5A,0x04,0x63,0x41,0x53,0x78,0x2A,0xB4,0x50,0xE5,0xDC,0xDE,0xD9,0x06,0xE0,\r
+0x6E,0x48,0x27,0x71,0xD2,0xD9,0xEB,0x33,0x60,0xC0,0xA1,0x98,0x30,0xB1,0x80,0x88,\r
+0xF9,0x33,0xCB,0x0A,0x12,0x91,0x2B,0xBB,0xCE,0xDD,0x12,0x2B,0x1E,0x99,0x86,0xA0,\r
+0xDE,0x0D,0xD2,0x34,0x10,0xE2,0x29,0xCA,0xC4,0xDF,0x1A,0x23,0xDF,0x37,0xE9,0x0E,\r
+0x9B,0x2A,0xB0,0x13,0x90,0x6A,0xA9,0xC2,0xE1,0x34,0xD4,0xED,0x3F,0x98,0xA6,0xA1,\r
+0xE5,0x97,0x73,0xAE,0x7E,0x6B,0x47,0x2D,0x36,0x5A,0x6D,0x54,0x45,0x6F,0x2B,0x56,\r
+0x6F,0x5F,0x31,0x66,0xBF,0x02,0x86,0x85,0x0D,0xA3,0xAF,0x96,0xA6,0x3D,0x9A,0x04,\r
+0x6A,0x68,0x03,0x51,0xEB,0x86,0xD2,0x55,0xFC,0xD8,0x25,0x1C,0x9D,0xFF,0x63,0xC6,\r
+0x87,0x8E,0x08,0xB7,0x28,0x9C,0x11,0x8C,0x2E,0x92,0xBD,0x84,0x92,0xD6,0x45,0xEF,\r
+0x77,0xDB,0xAD,0xE2,0x05,0x87,0x3C,0xBA,0xBF,0xBD,0x03,0x3A,0x2F,0x53,0x7D,0x6A,\r
+0x76,0xCC,0xBB,0xF5,0x33,0x94,0x0A,0x9F,0x61,0x2F,0x4F,0x76,0xD7,0x2C,0xFA,0x15,\r
+0x8B,0x2E,0xA4,0x17,0x70,0x06,0x49,0x4E,0x4F,0x29,0x67,0x5E,0x39,0x44,0x7C,0x7D,\r
+0x64,0xC0,0xA5,0xF9,0xDE,0xC7,0xE7,0x21,0xD6,0x15,0xC2,0xFB,0x47,0x7C,0x3A,0x45,\r
+0xFF,0x1B,0xE5,0x22,0xC0,0xFA,0xF9,0x02,0x70,0x1B,0x6A,0x53,0xC9,0x20,0xE8,0x19,\r
+0x81,0xA6,0x26,0x9F,0x8A,0x43,0xB3,0xF1,0x48,0x1C,0x55,0x6C,0xF7,0xC3,0x35,0xFA,\r
+0xFE,0x0C,0xF3,0x35,0x01,0x93,0x38,0xAA,0x54,0x1F,0x4A,0x73,0x6F,0x88,0xE6,0xB1,\r
+0x83,0xAE,0x2C,0x97,0x62,0x25,0x5B,0x7F,0xFD,0x37,0xCB,0xF2,0x4C,0x9A,0xD7,0xA3,\r
+0x70,0xE4,0x95,0xDD,0xCC,0xE4,0xF5,0x10,0xAC,0x98,0x35,0x0C,0xE7,0x08,0xEE,0x31,\r
+0x07,0xCE,0xC8,0xF7,0xCF,0xB6,0xF6,0x41,0xF0,0x00,0xF1,0xC8,0x6D,0x9B,0xF7,0xA2,\r
+0x54,0xC5,0x90,0xFC,0x60,0x56,0x59,0x0E,0x63,0x3E,0x5C,0x65,0x85,0x2F,0xAB,0x16,\r
+0x17,0xCA,0xDC,0xF3,0x25,0xA3,0x1C,0xBE,0x3C,0x58,0x65,0x5C,0x7A,0x62,0x19,0x5B,\r
+0x3F,0x4B,0x75,0x72,0xE1,0xFF,0xD8,0x26,0x1A,0x4D,0x56,0x6F,0x0E,0x52,0x5D,0x6B,\r
+0xC5,0x96,0x52,0xAF,0xEC,0xC0,0xD5,0x14,0x20,0x5B,0x7A,0x43,0xC1,0x3B,0xFB,0x02,\r
+0xCD,0x16,0xDA,0x2F,0xC9,0xD1,0xF0,0x20,0x3B,0x6D,0x57,0x6E,0x8F,0x27,0xA9,0x1E,\r
+0x13,0xEA,0xF8,0xD3,0x9A,0x13,0xA3,0xB1,0x7D,0x2C,0x50,0x69,0x7F,0x43,0x3D,0x7A,\r
+0xAF,0x0F,0xA1,0x36,0xC7,0xBC,0xFE,0x43,0x12,0x5E,0x4D,0x74,0x00,0x95,0x94,0xAC,\r
+0x90,0xB5,0x24,0x8C,0x4B,0x2A,0x72,0x59,0xE8,0xC8,0x21,0x18,0xA0,0xE1,0x40,0xD8,\r
+0xB5,0x83,0x37,0xBA,0x5F,0x6E,0x66,0x09,0x64,0x0B,0x6E,0x57,0x44,0x81,0xC4,0xB8,\r
+0x72,0xEC,0x9F,0xD5,0x08,0xB8,0x31,0x88,0x1C,0x97,0x8A,0xB3,0xFE,0x36,0xC9,0x0F,\r
+0x3C,0x54,0x69,0x6D,0xE9,0xF5,0xD0,0x24,0xAF,0x66,0xC8,0xF1,0x79,0x9F,0xE7,0xA6,\r
+0x57,0xDA,0x8C,0xE3,0xA7,0x58,0x9E,0xC7,0x3A,0x82,0xB9,0x80,0x23,0x87,0xA5,0xBE,\r
+0x0D,0x46,0x4A,0x7F,0x4A,0x0B,0x73,0x79,0x5D,0xE3,0xBF,0x86,0xE6,0xE6,0x01,0xDF,\r
+0xD1,0xB2,0x62,0x8B,0x61,0x77,0x58,0x2E,0x46,0xD5,0x92,0xAB,0xAB,0x07,0xAD,0x3E,\r
+0x69,0x77,0x1F,0x4E,0x78,0x0C,0x41,0x4C,0x10,0x4F,0x5E,0x67,0x8A,0x06,0x8D,0x3F,\r
+0xCB,0x3E,0xF4,0x07,0x2C,0x88,0x15,0x9C,0xB5,0xBF,0x0B,0x32,0x7C,0xBE,0xC3,0x87,\r
+0x03,0xEE,0xEC,0xD7,0x68,0x5C,0x51,0x0C,0x42,0x1E,0x5D,0x64,0xA7,0xD3,0x75,0xEA,\r
+0x61,0xF7,0x97,0xCE,0xFE,0xE3,0xC7,0x25,0x5E,0x1D,0x42,0x7B,0xB7,0x18,0xAE,0x21,\r
+0xB0,0xB4,0x05,0x8D,0x93,0x38,0xAA,0x93,0xAA,0x42,0xE9,0xD0,0x2B,0x9C,0xB6,0xA5,\r
+0x08,0x71,0x78,0x48,0x0D,0x8D,0x34,0xB8,0x66,0x1A,0x7D,0x44,0x5A,0x8D,0xD6,0xB4,\r
+0x47,0xDE,0x98,0xE7,0xF8,0x84,0xC1,0x44,0x4E,0xC6,0x89,0xB0,0xB2,0x39,0x8A,0x00,\r
+0x89,0x26,0xAE,0x1F,0x20,0x96,0x19,0x8E,0xF9,0xFC,0x04,0x3D,0x9E,0x02,0x9D,0x3B,\r
+0x39,0x63,0x5B,0x5A,0x2D,0xA9,0x14,0xBC,0x16,0x95,0x82,0xBB,0xF6,0x2D,0xDA,0x14,\r
+0xDB,0x3A,0xE0,0x03,0x89,0x11,0xB0,0xA0,0x7B,0xF6,0x8C,0xB5,0xC5,0xF4,0x30,0xCD,\r
+0x7B,0x7B,0x01,0x42,0xC3,0xA8,0xFA,0x53,0x6C,0x18,0x75,0x4C,0xF2,0xE2,0x11,0xDB,\r
+0xA4,0x90,0x35,0xA9,0x52,0x51,0x6B,0x3B,0xDD,0xF8,0x24,0x1D,0x71,0x84,0xF4,0xBD,\r
+0x36,0xDC,0xEB,0xE5,0xCA,0x83,0xF3,0x71,0xCC,0xCC,0x01,0x38,0x07,0xA7,0xA1,0x9E,\r
+0xF3,0xBB,0x49,0x82,0x2A,0xEF,0x13,0xFD,0x19,0xB3,0xAB,0x92,0xB9,0xDF,0x67,0xE6,\r
+0xC9,0xEA,0xF2,0x45,0xBB,0x51,0xB7,0x6A,0x1B,0x20,0x44,0x02,0x0B,0x04,0x30,0x52,\r
+0xB2,0x7D,0x89,0xA9,0xF3,0x91,0x3F,0xAA,0xA8,0x93,0x59,0xAC,0x23,0x02,0x18,0x7C,\r
+0x4E,0xA3,0x75,0x8B,0x76,0x2B,0x00,0x10,0x8A,0xB1,0x2C,0xFB,0xB3,0x4A,0x88,0xA4,\r
+0xDB,0xDB,0xE0,0x66,0x31,0xC2,0xAE,0xF9,0x5F,0x64,0xD4,0xD6,0x63,0x82,0x58,0xBC,\r
+0x16,0x61,0x2D,0x11,0x09,0xFD,0xA9,0xC6,0xD7,0xEC,0xDE,0x54,0xD5,0xAF,0xEE,0x27,\r
+0xDE,0xEB,0xE5,0x53,0x60,0x3C,0x01,0x07,0x15,0x2E,0x27,0x6F,0x87,0x1E,0xBC,0xC4,\r
+0x8C,0x5A,0xB7,0xB0,0x80,0x93,0x4E,0xA8,0xA0,0x9B,0x5B,0xA6,0x8D,0x6D,0xB6,0xBD,\r
+0xAB,0x1F,0x90,0xD2,0x08,0x13,0x46,0x28,0x6E,0x55,0xB0,0x83,0x22,0x22,0x19,0x5D,\r
+0x5A,0xF3,0x61,0xCF,0xE5,0x86,0x3E,0xBD,0xB9,0x82,0x39,0xDD,0xE9,0xF9,0xD2,0x4D,\r
+0x4D,0xF2,0x76,0xD9,0xF6,0xB0,0x1B,0x8B,0xF5,0xCE,0xAB,0x03,0x96,0x7E,0xAD,0xB5,\r
+0xE9,0xEE,0xD2,0x61,0xE4,0x68,0xD1,0x53,0x9F,0xA4,0x5C,0x9E,0x45,0xE7,0x7E,0xFF,\r
+0x0F,0x03,0x34,0x6A,0xFE,0xAB,0x08,0x90,0x07,0x3C,0x16,0x4C,0x6C,0xC1,0x57,0xF0,\r
+0x9A,0x7B,0xA1,0x87,0x98,0x43,0x86,0x78,0xD0,0xEB,0x9F,0x12,0x9A,0x6C,0xA1,0xAB,\r
+0x27,0x05,0x1C,0x44,0x21,0x09,0x75,0x32,0xEF,0xD4,0x98,0x2A,0x79,0xB1,0x42,0x95,\r
+0xAF,0x0F,0x94,0xC6,0x64,0xF3,0xCA,0xC8,0xDD,0xE6,0xAD,0x2D,0xFE,0xF8,0xC5,0x5B,\r
+0x41,0xE0,0x7A,0xC7,0xA5,0x5D,0xA5,0x66,0x78,0x43,0x91,0xB4,0xC6,0xBE,0xFD,0x25,\r
+0x29,0x66,0x12,0x29,0xEB,0x41,0xF7,0x7A,0xCC,0xF7,0xCD,0x5C,0xD6,0xFE,0xED,0x75,\r
+0x4C,0xD2,0x77,0xF8,0x79,0x02,0x26,0x39,0xBF,0x84,0x58,0xBA,0xB4,0x0B,0x8F,0xE2,\r
+0x2C,0x56,0x17,0x1C,0x6B,0xDA,0xEC,0xE1,0x0D,0x36,0x65,0x35,0xFF,0xD8,0xC4,0x7A,\r
+0xB3,0x5D,0x88,0x88,0x8F,0xBA,0x68,0x81,0x73,0x48,0xC2,0xEC,0x59,0xB5,0x62,0xB1,\r
+0xFF,0xCF,0xC4,0x56,0xAF,0x55,0xA7,0x6E,0xF6,0xCD,0xFA,0x51,0x27,0x12,0x1C,0x68,\r
+0x91,0x28,0xAA,0xDF,0xB6,0x6B,0x80,0x50,0x0C,0x37,0x45,0x14,0xA5,0x6B,0x9E,0x93,\r
+0x3B,0x57,0x00,0x0A,0x07,0x3A,0x60,0x01,0x7C,0x47,0x81,0xA0,0x92,0x6E,0xA9,0xA1,\r
+0x61,0xE4,0x5A,0xE3,0x10,0xC3,0x8E,0xF8,0xF4,0xCF,0x8B,0x22,0x31,0x33,0x0A,0x5F,\r
+0x9F,0x4B,0xA4,0xB2,0x3D,0x16,0x76,0x2D,0xCE,0xF5,0xBC,0x2F,0xA7,0x1A,0x9C,0xE0,\r
+0x69,0xE6,0x52,0xE9,0xAD,0x46,0xB6,0x7D,0x35,0x0E,0x23,0x4B,0xCA,0xAC,0xF1,0x3B,\r
+0x12,0x71,0x29,0x05,0x40,0xD3,0xCE,0xE8,0x85,0xBE,0x6F,0xB7,0x6D,0xE1,0x56,0xD1,\r
+0xE0,0xCC,0xDB,0x4A,0x32,0x3F,0x50,0x04,0x1F,0x24,0x54,0x16,0x2E,0x30,0x15,0x43,\r
+0x7C,0x96,0x47,0x8C,0x50,0x18,0x15,0x23,0x42,0x79,0xA6,0xB9,0xFA,0xE8,0xC1,0x4F,\r
+0x21,0x64,0x1A,0x23,0x6D,0x06,0x36,0x3D,0x7E,0x45,0xF0,0xD3,0x57,0xD6,0x6C,0xDC,\r
+0x96,0x69,0xAD,0x99,0x37,0x1E,0x74,0x25,0x99,0xA2,0x3D,0xF9,0x98,0x1D,0xA3,0xD8,\r
+0x73,0xD5,0x48,0xC0,0x77,0xC5,0xEF,0xFE,0xDE,0xE5,0xFC,0x7F,0x67,0x92,0x5C,0xA8,\r
+0xF6,0xED,0xCD,0x7D,0x6E,0xFB,0xC8,0xC0,0xE4,0xDF,0xCB,0x72,0xBC,0x09,0x87,0xE8,\r
+0xBF,0x4F,0x84,0x96,0xEA,0xAF,0x18,0x94,0xB1,0x8A,0x3B,0xD7,0x04,0x47,0x3F,0x1E,\r
+0xC7,0x89,0xFC,0x28,0x69,0xC9,0xFD,0xF2,0x05,0x3E,0x67,0x3F,0x5C,0x85,0x67,0x84,\r
+0x33,0x55,0x08,0x00,0x15,0xE2,0xAA,0xD9,0x28,0x13,0x51,0x24,0xBD,0x29,0x86,0xC9,\r
+0x35,0x34,0x0E,0x67,0x5A,0x10,0x17,0x2B,0x53,0x68,0xC6,0xC8,0x26,0x32,0x1D,0x49,\r
+0xF0,0x8C,0xCB,0x1A,0xEF,0x8E,0x3C,0xB5,0xC7,0xFC,0x9E,0x04,0x37,0x52,0x0C,0x38,\r
+0x6F,0x87,0x54,0x8E,0x3E,0xEB,0x88,0xD0,0xE7,0xDC,0x9A,0x20,0x69,0xF1,0x52,0xC5,\r
+0x76,0xE5,0x4D,0xF5,0x81,0x7D,0xA1,0x46,0xF8,0xC3,0x99,0x3C,0xA2,0x2A,0x99,0xD5,\r
+0xE2,0xBD,0xD9,0x39,0xCB,0xAE,0x38,0x95,0x38,0x03,0x11,0x74,0x97,0x5E,0xAC,0x94,\r
+0xBB,0x5F,0x80,0x82,0x73,0x0A,0x24,0x31,0x36,0x0D,0x72,0x19,0x4E,0xB4,0x75,0xA7,\r
+0x5F,0xC3,0x64,0xFA,0xE6,0x7B,0xC0,0x40,0x33,0x08,0x42,0x2C,0x83,0x0E,0xB8,0xD0,\r
+0xA7,0x0D,0x9C,0xCC,0xF4,0xA3,0x0A,0x98,0xBE,0x85,0x78,0x9B,0xB8,0x19,0x83,0xFC,\r
+0x5D,0xB2,0x66,0x89,0xE1,0x49,0xF5,0x72,0xBB,0x80,0x48,0xAE,0x1D,0x25,0x26,0x65,\r
+0x3A,0x77,0x01,0x2B,0x8D,0xA9,0x79,0x92,0x11,0x2A,0x37,0x7B,0x65,0xE3,0x5E,0xDB,\r
+0xFA,0xFF,0xC1,0x63,0xCA,0x40,0xD7,0x7B,0xCF,0xF4,0x9C,0x0E,0x58,0x95,0x63,0x90,\r
+0x11,0x20,0x2A,0x57,0x33,0xD1,0xBF,0xEA,0x9E,0xA5,0x7C,0xBF,0x3E,0x70,0x05,0x13,\r
+0x65,0xF4,0x5E,0xF7,0x86,0x4F,0x94,0x74,0x8F,0xB4,0x1C,0xCE,0xB2,0x6A,0x89,0x85,\r
+0x4F,0x83,0x74,0xAA,0xD4,0x4C,0xC5,0x77,0x4B,0x70,0x84,0x92,0x21,0x73,0x1A,0x0F,\r
+0x8D,0x7A,0xB6,0x91,0xF1,0x82,0x2E,0xB9,0xF0,0xCB,0x9B,0x36,0x32,0x62,0x09,0x0D,\r
+0x2F,0x07,0x14,0x4E,0x47,0xE1,0xFB,0xDA,0x71,0x4A,0xB3,0x9F,0x20,0x53,0x1B,0x2E,\r
+0xCA,0xBB,0xF1,0x17,0x9D,0x62,0xA2,0x59,0xEC,0xD7,0xC9,0x78,0xE8,0xD9,0xD3,0x6C,\r
+0x17,0x41,0x2C,0x30,0xA2,0x6F,0x90,0x54,0xC0,0xFB,0xDF,0x42,0x81,0x7F,0xBA,0xA3,\r
+0x44,0xD0,0x7F,0xF2,0x34,0xE3,0x8A,0xD8,0xE6,0xDD,0xBA,0x01,0x95,0x2F,0xAE,0xE7,\r
+0x4B,0x93,0x70,0xBE,0xC1,0xA6,0x3A,0x9D,0xDF,0xE4,0xDC,0x5E,0xD8,0x9D,0xE3,0x18,\r
+0x8E,0x2B,0xB5,0xC3,0xDE,0x44,0xC7,0x7F,0xF7,0xCC,0xDA,0x70,0x2F,0x10,0x14,0x62,\r
+0x34,0x14,0x0F,0x46,0x48,0xC8,0xDD,0xF3,0x9B,0xA0,0x4C,0x8A,0x5B,0xC4,0x60,0xC2,\r
+0x97,0x49,0xAC,0xB8,0xB3,0x4A,0xA4,0x71,0xED,0xD6,0xE9,0x59,0x9D,0x2D,0xA6,0xED,\r
+0x6B,0x97,0x50,0x9A,0x71,0x19,0x35,0x22,0xEA,0xD1,0xA8,0x1F,0xF9,0xB9,0xC2,0x1D,\r
+0xD5,0xB8,0xEE,0x0B,0x97,0x6A,0xA0,0x51,0x72,0x49,0xE2,0xCD,0x25,0x63,0x1E,0x1B,\r
+0x5B,0xD3,0x60,0xEE,0x3A,0x24,0x43,0x1F,0x03,0x38,0x06,0x58,0x3D,0x21,0x06,0x41,\r
+0x02,0x31,0x39,0x55,0x0C,0xDC,0x8D,0xE7,0xD4,0xEF,0x8F,0x06,0x3B,0x40,0x00,0x26,\r
+0x6D,0xF6,0x56,0xFD,0xDA,0x8B,0x0C,0xB0,0x30,0x0B,0x13,0x7E,0x8C,0x4D,0xB7,0x9C,\r
+0x43,0x01,0xFD,0xC4,0x4A,0x15,0xE9,0x25,0x51,0xF1,0xAD,0xDA,0xAB,0x57,0xB4,0x65,\r
+0xE2,0x9B,0x67,0xFF,0x9B,0x56,0xAA,0xB7,0xA3,0xBE,0x5F,0x67,0x47,0xBB,0xC6,0xFB,\r
+0xDB,0x4A,0xB6,0x17,0xB1,0xDF,0x23,0x14,0xDC,0x46,0x20,0xE0,0x6E,0x92,0xC9,0xDD,\r
+0xBF,0xB1,0x4D,0x88,0x07,0xB2,0x4E,0xCF,0x2A,0x1D,0xD6,0x4D,0x3E,0xC2,0x59,0x1D,\r
+0x0D,0x1D,0xE1,0x96,0xB6,0xE0,0x1C,0x2C,0xD5,0x6D,0x29,0xC2,0x66,0x9A,0xC3,0xDF,\r
+0x8B,0x5A,0xA6,0x57,0x39,0x1F,0xE3,0x5C,0x30,0x34,0xCC,0x7E,0xBD,0x41,0x83,0x44,\r
+0x4D,0xC6,0x3A,0x0D,0x43,0x82,0x7E,0xBB,0x3F,0x78,0xC3,0x3D,0x60,0x9C,0xA4,0xBE,\r
+0x27,0xFA,0x06,0x5B,0x7D,0x2F,0xD3,0x28,0x62,0xD7,0x9E,0xCF,0x7E,0x82,0x99,0x9D,\r
+0xC1,0x89,0x75,0xCE,0x73,0x87,0x7B,0x8E,0x6F,0xE8,0x93,0xFD,0xA2,0x5E,0x9F,0x47,\r
+0x18,0xF7,0x0B,0x69,0x1E,0x21,0xDD,0x45,0xF0,0x7C,0x0C,0xF6,0xC2,0x3E,0x7B,0xC3,\r
+0xA8,0x48,0xB4,0x66,0x55,0xAE,0x52,0x81,0x6A,0xDD,0x96,0xCD,0x39,0xC5,0x1F,0x5C,\r
+0x4E,0x3B,0xC7,0xF3,0xA0,0xCC,0x30,0x16,0x0F,0x0C,0xF3,0x79,0x7A,0x86,0x8D,0x8D,\r
+0x54,0xF8,0x04,0x2A,0xC5,0xEA,0x16,0x55,0x78,0xFE,0x84,0xFC,0x42,0xBE,0xF3,0xCB,\r
+0xD6,0x70,0x8C,0x20,0x98,0x49,0xB5,0xAB,0x22,0x17,0xDE,0x4F,0xBB,0x47,0xE4,0x25,\r
+0xA5,0x72,0x8E,0x51,0xB9,0x5F,0xA3,0x9C,0xBC,0xA2,0x40,0x64,0x2D,0xD1,0x5B,0x0C,\r
+0xE0,0x88,0x74,0xEE,0xC0,0xDD,0x21,0x67,0xD2,0x2B,0x2E,0x83,0x13,0xEF,0x42,0x2B,\r
+0x6A,0x1B,0xE7,0xF7,0x4C,0x3D,0xC1,0x0B,0xAA,0x95,0x56,0x45,0x10,0xEC,0x10,0x7A,\r
+0xB8,0x83,0x7F,0xBD,0x6A,0x14,0xE8,0x04,0x4C,0x9E,0xB0,0xA8,0xD3,0x2F,0x0A,0xA3,\r
+0x29,0x3D,0xC1,0x92,0x52,0x91,0x6D,0xB9,0x19,0x3B,0xE5,0x58,0xFE,0x02,0x11,0x95,\r
+0xF7,0x71,0x8D,0x00,0xD5,0xEE,0x12,0x41,0x0E,0x2D,0xF2,0x59,0xC8,0x34,0x02,0xB0,\r
+0xD9,0x59,0xA5,0x06,0x53,0x86,0x7A,0xAF,0xEC,0x32,0x10,0xA4,0x8B,0x77,0x90,0x61,\r
+0x40,0xFC,0x00,0x3A,0x15,0xBE,0x42,0xD1,0x02,0x33,0xFE,0x4B,0x25,0xD9,0x51,0x0E,\r
+0xE6,0x54,0xA8,0x34,0xC7,0xE2,0x1E,0x5F,0xD9,0x73,0x25,0xD0,0x3B,0xC7,0x6C,0x2D,\r
+0xDE,0x6B,0x97,0x33,0x1A,0x01,0xFD,0x61,0x64,0xB0,0x98,0xAE,0x71,0x8D,0xD5,0xDE,\r
+0x0F,0x0E,0xF2,0x87,0xE1,0xCB,0x37,0x50,0x0D,0x7F,0xF1,0x08,0x53,0xAF,0x82,0xAB,\r
+0x22,0xDB,0x27,0x7F,0x29,0x1B,0xE7,0x48,0x98,0x92,0x64,0x70,0xBA,0x46,0xC5,0x05,\r
+0xF6,0x9F,0x63,0xEF,0xAF,0x73,0x8F,0xA6,0x8A,0xB1,0x76,0x41,0x29,0xD5,0x4F,0x1C,\r
+0x58,0x2C,0xD0,0xF2,0xA9,0x5B,0xA7,0x88,0xF1,0x5D,0x0D,0xD6,0xE9,0x15,0x07,0x94,\r
+0x52,0x24,0xD8,0xF0,0xC6,0xF5,0x09,0x49,0xCF,0x44,0x33,0xF1,0xEB,0x17,0x74,0xE5,\r
+0x77,0xEA,0x16,0x1B,0x89,0x5A,0xA6,0xA9,0xE8,0x26,0x14,0xB4,0x6B,0x97,0xFC,0xED,\r
+0xA0,0x53,0xAF,0x75,0x04,0xAD,0x51,0xD3,0x55,0xE5,0xA9,0xCA,0x85,0x79,0xFD,0x02,\r
+0x9B,0x91,0x6D,0x8C,0xB5,0xFF,0x03,0x30,0x9D,0xA7,0x61,0x40,0x44,0xB8,0x94,0xAA,\r
+0xAD,0x69,0x95,0x42,0x86,0xE5,0x19,0x19,0xD4,0x4C,0x28,0xE2,0x32,0xCE,0x47,0x0F,\r
+0xEB,0x6E,0x92,0x03,0x12,0x81,0x7D,0xE9,0x28,0x6E,0xD4,0x3C,0x61,0x9D,0x85,0x9E,\r
+0x84,0x73,0x8F,0x71,0xBB,0x57,0xAB,0x96,0xCD,0x37,0x31,0x80,0x3C,0xC0,0x2A,0x6C,\r
+0x7E,0x1F,0xE3,0xE7,0x6F,0x23,0xDF,0x36,0x77,0xB2,0x8B,0xBF,0xB0,0x4C,0xBC,0x76,\r
+0xF2,0x50,0xAC,0x24,0xEB,0x43,0xBF,0xD2,0x41,0xA1,0xBD,0x9A,0xA4,0x58,0xF8,0x26,\r
+0x8A,0xB4,0x48,0xB8,0xE6,0xF4,0x08,0x68,0x2E,0x09,0xD2,0x5D,0xF3,0x0F,0x2E,0xA7,\r
+0x39,0xF6,0x0A,0x49,0xC8,0x5D,0xA1,0xEF,0x96,0xFF,0x6A,0x13,0x12,0xEE,0x63,0x0B,\r
+0xAC,0x87,0x7B,0xAD,0x8A,0x45,0xB9,0xB5,0x18,0x1A,0xE4,0x78,0x5C,0xA0,0xCE,0xE8,\r
+0xC2,0x74,0x88,0x30,0xC9,0x4A,0xB6,0xF9,0xCE,0x65,0x32,0xD1,0xFA,0x06,0x05,0x85,\r
+0x6B,0xF5,0x09,0x18,0xF8,0x58,0xA4,0xDA,0x6C,0xBA,0x90,0xAC,0x99,0x65,0xB3,0x50,\r
+0x3A,0x0B,0xF7,0xB7,0xC1,0xCA,0x36,0x71,0x26,0x03,0xDA,0x5F,0x37,0xCB,0x72,0x3F,\r
+0x66,0xCF,0x33,0x2F,0xD8,0x59,0xA5,0xFB,0x0C,0x5E,0xF0,0x28,0x34,0xC8,0x20,0x6E,\r
+0xF5,0x62,0x9E,0x11,0x84,0xED,0x11,0x13,0x07,0x06,0xFB,0x7B,0x9B,0x67,0xC0,0x21,\r
+0xAA,0x5B,0xA7,0x77,0x36,0xA0,0x5C,0xEC,0x08,0x4A,0xF4,0x38,0xDE,0x22,0x35,0x91,\r
+0x8C,0x68,0x94,0x62,0x72,0x90,0x6C,0x98,0x89,0xE3,0x75,0x10,0x1A,0xE6,0x69,0x09,\r
+0xB6,0x44,0xB8,0x74,0xD4,0xF9,0x05,0x57,0x54,0xC4,0xA8,0xEA,0x17,0xEB,0x56,0x3B,\r
+0xD8,0xB7,0x4B,0xE9,0xA5,0xFB,0x07,0x24,0x1C,0x0E,0xE0,0x68,0x03,0xFF,0x12,0x6B,\r
+0x6F,0x3A,0xC6,0xD3,0xB2,0xC0,0x3C,0x08,0xE4,0x38,0x18,0xA6,0xDB,0x27,0x00,0xA1,\r
+0x80,0xBC,0x40,0xBA,0xF5,0xEF,0x13,0x60,0xA1,0xCD,0x5D,0x16,0xD6,0x2A,0x3F,0x93,\r
+0xED,0xB2,0x4E,0xD9,0x1F,0x36,0xCA,0x53,0xF8,0x76,0x04,0xF4,0x72,0x8E,0x87,0x8F,\r
+0xFA,0x4B,0xB7,0x37,0x3E,0x20,0xDC,0x64,0xB9,0x97,0x45,0x54,0x38,0xC4,0x3E,0x7C,\r
+0x4B,0x1A,0xE6,0xD7,0xDB,0x46,0xBA,0xE7,0x52,0xA3,0xAE,0x8B,0xA9,0x55,0xC7,0x14,\r
+0x5A,0x3F,0xC3,0xE3,0x8E,0x65,0x99,0x91,0x1E,0x7D,0xE2,0x19,0x31,0xCD,0x15,0x5E,\r
+0x8F,0x95,0x69,0x9C,0x48,0x1D,0xE1,0x2F,0x79,0xDF,0x85,0xDC,0xD1,0x2D,0x79,0xD2,\r
+0xCB,0x81,0x7D,0xCC,0x2E,0x24,0xD8,0x70,0x84,0xDC,0x78,0x22,0xB1,0x4D,0x9D,0x56,\r
+0xD0,0xAC,0x50,0xFA,0x82,0xC5,0x39,0x3D,0x70,0xF4,0x8C,0xFE,0x9A,0x66,0xE1,0x01,\r
+0x86,0x60,0x9C,0x60,0xA2,0xC4,0x38,0x1C,0xB5,0x89,0x49,0x46,0x83,0x7F,0x9A,0x63,\r
+0x23,0x35,0xC9,0x90,0xEC,0x7C,0x80,0xEA,0xFC,0x62,0x00,0xE4,0xD7,0x2B,0x1E,0xB3,\r
+0xD4,0x63,0x9F,0x31,0x5A,0x11,0xED,0x31,0x2C,0x7A,0xD0,0x2C,0x93,0x6F,0xCA,0x23,\r
+0xC8,0x7C,0x80,0x32,0x81,0xDA,0x26,0x21,0x35,0x01,0xC9,0x4E,0x05,0xF9,0x75,0x0A,\r
+0x3C,0xD7,0x2B,0x6D,0x99,0x5E,0xA2,0xBD,0x76,0x93,0x8A,0x9F,0x68,0x94,0xAE,0xBC,\r
+0xF0,0x43,0xBF,0x35,0xF9,0x4F,0xB3,0xCC,0xB3,0xEE,0x4F,0x27,0xF6,0x0A,0x1B,0x97,\r
+0x78,0xA1,0xB0,0x3A,0x0C,0x95,0xB2,0x4E,0x96,0x51,0xAE,0x13,0x54,0x34,0x09,0x4B,\r
+0x31,0x4A,0x12,0x73,0x58,0x45,0x36,0x1A,0x66,0x04,0x0B,0x46,0x1A,0xC2,0xB1,0xF3,\r
+0x49,0xF4,0xD4,0x0B,0x3E,0xA0,0xB5,0x7C,0x3A,0xB0,0xE3,0xF2,0xD8,0x58,0xE9,0xAB,\r
+0xBD,0xDC,0x08,0xFF,0x15,0xF7,0xC9,0x57,0x0C,0x9D,0xF8,0xDF,0x74,0x15,0x08,0x4A,\r
+0xBB,0xBB,0x69,0xF9,0xE7,0x4A,0x86,0xA5,0x9B,0xE6,0x14,0xA4,0x6F,0x95,0x93,0xD1,\r
+0x7E,0xC6,0xD1,0x3C,0x79,0x61,0x33,0x3B,0xC3,0x72,0xD8,0x30,0x0F,0xE4,0x82,0xC0,\r
+0xE1,0x52,0xDA,0xA3,0x1C,0xD5,0xE2,0x5E,0xC7,0x52,0xFC,0x10,0xAC,0x19,0xDC,0x9E,\r
+0xF8,0x29,0xB8,0xBA,0x8A,0xFC,0x5D,0xC8,0xC4,0x4D,0xE0,0x0F,0x77,0x09,0x17,0x55,\r
+0x6C,0xE5,0xE0,0x2E,0x59,0x65,0x17,0x1B,0x4C,0x8D,0xA8,0xCF,0x03,0x48,0x22,0x60,\r
+0x35,0x5E,0x02,0x77,0xFD,0x79,0xAF,0xBF,0x2F,0x83,0xC5,0xC1,0xE9,0x7B,0xFB,0xB9,\r
+0xD1,0x26,0x9E,0x93,0x8C,0x9D,0x3A,0xCE,0x1F,0x86,0xF0,0xC4,0x53,0x0C,0x36,0x74,\r
+0x29,0x10,0x50,0x6B,0x54,0x57,0x28,0x16,0x25,0x0B,0x47,0x49,0x44,0x20,0x0D,0x4F,\r
+0xD3,0x55,0xEF,0x91,0xBE,0xA8,0x3D,0xFC,0x15,0x0E,0x72,0x4C,0x78,0xB9,0xA8,0xEA,\r
+0xB4,0xF7,0x2A,0xF6,0x5E,0x24,0x51,0x1C,0x6A,0xA4,0xA7,0xE6,0xBE,0x07,0xD0,0x92,\r
+0x74,0xBF,0xA2,0x36,0xB7,0x8A,0x16,0xF5,0xC1,0x7A,0xD2,0x38,0xC8,0x4C,0xED,0xAF,\r
+0x9F,0x8B,0x7D,0xDD,0x26,0xE2,0xEF,0x64,0x21,0x2B,0x63,0x69,0x2D,0xCF,0x8B,0xC9,\r
+0xEB,0x2B,0xA9,0xA9,0xB8,0xC9,0x5A,0xFA,0x41,0x3A,0x12,0x78,0x37,0x59,0x07,0x45,\r
+0xC1,0x76,0xDE,0x83,0xBB,0x98,0x08,0xF9,0xD9,0xFE,0x4E,0xBC,0x2E,0xD3,0x94,0xD6,\r
+0x03,0x4D,0x27,0x41,0x75,0x73,0x2D,0x37,0xC6,0x45,0xEA,0x07,0x3F,0xD1,0x87,0xC5,\r
+0xA1,0x92,0x5A,0xE3,0x16,0xA6,0x9B,0x54,0xEE,0xC4,0x43,0x86,0x0E,0xF2,0x95,0xD7,\r
+0x44,0xCB,0xE6,0x06,0x95,0xFF,0x41,0xD7,0x94,0x59,0xA4,0x1B,0x84,0xB0,0x5D,0x1F,\r
+0x99,0xEC,0x1C,0xDB,0x98,0xCD,0x7E,0xDA,0x82,0x75,0x9E,0x37,0x22,0x7F,0x34,0x76,\r
+0xCA,0x2E,0x8D,0x88,0x14,0xD7,0xE8,0x56,0xE7,0x53,0xDD,0x11,0x72,0x3B,0x20,0x62,\r
+0xC5,0x62,0xCE,0x87,0x51,0x67,0x1D,0x13,0x81,0x6A,0x82,0x28,0xC0,0xC4,0x6D,0x2F,\r
+0x00,0x1F,0x76,0x42,0xB3,0x9A,0x02,0xF1,0x87,0x42,0xAC,0x00,0x4D,0xBE,0x9A,0xD8,\r
+0xBA,0x9A,0x49,0xF8,0x3F,0x80,0x94,0x7D,0x11,0x2E,0x56,0x6C,0x99,0x1E,0xEE,0xAC,\r
+0x19,0x64,0x14,0x5B,0xBD,0xF9,0x6F,0xFF,0xB4,0x58,0x85,0x1A,0x70,0x31,0x28,0x6A,\r
+0xE5,0x46,0xCA,0xA7,0xEE,0x68,0xAD,0xAC,0xF5,0x5F,0xC3,0x1D,0xE4,0xC1,0x4C,0x0E,\r
+0x5B,0xD7,0xE5,0x19,0x9D,0xFD,0x4B,0xDF,0xBF,0xC7,0x11,0x85,0x3E,0xC7,0x90,0xD2,\r
+0xD5,0x32,0x8E,0x97,0xD3,0x1E,0xE6,0x91,0x5B,0xB6,0x84,0xF4,0x7C,0x9D,0x88,0xCA,\r
+0x8C,0x89,0x6C,0xCE,0x2B,0xD0,0xD0,0x69,0xD2,0x61,0xDA,0x23,0x1D,0xFA,0x8E,0xCC,\r
+0xE3,0x21,0xAB,0xA1,0x7C,0x51,0x06,0x3E,0x4E,0x85,0xA2,0xC7,0x10,0x40,0x39,0x7B,\r
+0x47,0x99,0xB7,0x05,0xA6,0xEA,0x67,0xE4,0x19,0xAE,0xDE,0xEC,0x59,0x8E,0xBE,0xFC,\r
+0x3C,0x75,0x20,0x7E,0x66,0x62,0x2F,0x24,0x04,0x1D,0x70,0x5F,0x5F,0xA0,0x96,0xD4,\r
+0xC0,0x57,0xFE,0x82,0xDC,0x5D,0xAA,0x9E,0x71,0x3F,0x27,0x7D,0x17,0x78,0x06,0x44,\r
+0x55,0xBA,0x86,0x17,0x35,0xF3,0xED,0x77,0x89,0xEA,0x0A,0xA8,0xDF,0x60,0xD6,0x94,\r
+0x98,0xCD,0x3C,0xDA,0x0A,0xF4,0xD5,0x48,0x83,0x62,0x88,0x20,0xF2,0xFB,0x60,0x22,\r
+0x50,0x8F,0xB6,0x12,0xCB,0x5C,0xBC,0x89,0x7A,0xA0,0xB3,0xE2,0x43,0x18,0x32,0x70,\r
+0x02,0x6C,0x07,0x40,0x64,0x13,0x5C,0x26,0x06,0x15,0x7A,0x57,0x30,0x61,0x38,0x7A,\r
+0x25,0x0E,0x42,0x67,0xE4,0x1B,0xD4,0xA6,0xED,0xDB,0x5F,0x99,0x7F,0x81,0x97,0xD5,\r
+0xD4,0x13,0xAE,0x96,0x71,0x63,0x39,0x33,0x64,0x0C,0x01,0x4E,0xA4,0x91,0x5C,0x1E,\r
+0xC3,0x05,0xAF,0x81,0x47,0x46,0x2A,0x05,0xF6,0x40,0xDF,0x02,0x23,0x69,0x23,0x61,\r
+0x67,0xBD,0xB3,0x25,0x9F,0x8C,0x38,0xDD,0x01,0x2A,0x42,0x68,0xBA,0x23,0xF0,0xB2,\r
+0x81,0xB6,0x5E,0xC3,0x5C,0x55,0x22,0x1E,0x4B,0xB2,0x90,0xF0,0x9C,0x2C,0xD9,0x9B,\r
+0x14,0x5B,0x26,0x56,0xB4,0xDB,0x44,0xF6,0xC2,0x65,0xCE,0x27,0x31,0x77,0x2F,0x6D,\r
+0xA9,0x98,0x58,0xEB,0xFE,0x28,0xFD,0xBC,0xC5,0x5A,0xF6,0x18,0xEC,0x49,0xCC,0x8E,\r
+0x21,0x1A,0x52,0x63,0x04,0x97,0xB8,0x46,0xF0,0x68,0xF1,0x2A,0xA5,0x87,0x4B,0x09,\r
+0xCF,0x1B,0xBD,0x8D,0xAA,0xF8,0x79,0xE8,0xCC,0xCD,0x68,0x8F,0xE3,0xF9,0x73,0x31,\r
+0xA7,0xF5,0x3B,0xE5,0xB6,0xAA,0x37,0xF4,0x90,0x79,0x80,0x3B,0xA3,0xA9,0x63,0x21,\r
+0xC2,0x24,0x8F,0x80,0xF5,0x7B,0xA5,0xB7,0x05,0x0A,0x66,0x48,0x56,0x3E,0x01,0x43,\r
+0xA2,0xC0,0x0B,0xE0,0x2D,0xB1,0xB7,0x6F,0x38,0xB8,0xE9,0xFA,0x85,0xA6,0x4A,0x08,\r
+0x3D,0x54,0x00,0x7F,0x4D,0x35,0x53,0x0F,0x9F,0xC6,0x30,0x84,0xE8,0x6D,0xEC,0xAE,\r
+0x71,0x8A,0x92,0x33,0xA2,0xFA,0x73,0xE0,0xA7,0x43,0x8D,0x01,0x4F,0xB4,0x92,0xD0,\r
+0x1F,0x03,0x75,0x5D,0x9C,0xDD,0x6A,0xDE,0x18,0xB9,0xC8,0xFB,0x36,0x4F,0x10,0x52,\r
+0xB5,0xD6,0x0A,0xF7,0xCD,0x3D,0xDB,0x8F,0xDC,0xC9,0x7C,0x8B,0x33,0x7D,0x27,0x65,\r
+0xEF,0x3F,0xB9,0xAD,0x34,0xD3,0xCC,0x76,0xD6,0x41,0xFE,0x03,0x6E,0x83,0x84,0xC6,\r
+0x11,0x6E,0x16,0x53,0xE1,0x2B,0xE1,0xA3,0xE1,0x7B,0xF3,0x39,0x47,0x3C,0x12,0x50,\r
+0xE7,0x35,0xBB,0xA5,0xB1,0xEB,0x71,0xF3,0x7E,0x80,0x97,0xC2,0xF1,0xE7,0x7F,0x3D,\r
+0x9C,0xD9,0x2C,0xDE,0x24,0x93,0x9C,0x66,0x32,0x30,0x6B,0x72,0xBC,0x0D,0xD8,0x9A,\r
+0x6E,0x96,0x91,0x2C,0xC8,0x0D,0xEE,0x8A,0x09,0xAA,0xCA,0xE8,0x6D,0x9F,0x9B,0xD9,\r
+0xF2,0x50,0xCB,0xB0,0xEF,0x48,0x8C,0xAD,0xFB,0xF7,0x65,0xB5,0xB5,0x93,0x4F,0x0D,\r
+0xAF,0xFF,0x39,0xED,0xF1,0x6B,0xB1,0xB3,0xAD,0xCB,0x0F,0x89,0x8B,0x00,0xE2,0xA0,\r
+0x18,0x45,0x34,0x5A,0xE9,0x29,0xEB,0xAB,0x60,0x2C,0x25,0x6E,0x40,0x04,0x2D,0x6F,\r
+0xFD,0x1C,0x88,0xBF,0x32,0xB2,0xAB,0x70,0xA1,0x6B,0xA3,0x29,0xCF,0x74,0xD2,0x90,\r
+0xA9,0xE1,0x2D,0x7D,0x7A,0x1F,0xD4,0x9B,0xD6,0x52,0x7E,0x19,0xFC,0x09,0x78,0x44,\r
+0x36,0xEA,0xB2,0xE9,0x9E,0x7F,0x50,0xFB,0xA8,0x2C,0xD9,0xC0,0x5A,0x64,0xDE,0x8F,\r
+0x56,0x6E,0xD2,0x0D,0x8C,0xA7,0x9A,0x23,0x1A,0x9E,0xE4,0x4F,0x11,0xB7,0x95,0x17,\r
+0x33,0xDA,0xB7,0xDC,0x1E,0xE4,0x4B,0x60,0x69,0xED,0x71,0xA9,0x73,0x42,0xF7,0x80,\r
+0x7B,0x58,0xFF,0x16,0xE5,0x66,0x32,0xE2,0x51,0xD5,0x37,0xD7,0x94,0x8F,0x10,0xAA,\r
+0x21,0xEB,0xA5,0xFF,0xF2,0x9F,0xDC,0x1B,0xD9,0x5D,0x3D,0x55,0x37,0xD2,0xB3,0x54,\r
+0x8B,0x94,0x0F,0x2A,0x43,0xCE,0x3C,0x4A,0xA9,0x2D,0xF9,0xE1,0x00,0xD7,0x84,0x66,\r
+0xE5,0x73,0x61,0xA3,0x5A,0xF0,0x1B,0x74,0x53,0xD7,0x46,0xA4,0x82,0xAE,0x06,0x9D,\r
+0xFA,0x70,0x7E,0xBF,0xC7,0x9A,0xEC,0x1E,0xBA,0x3E,0xE8,0xE3,0x8B,0x8C,0x0F,0xB6,\r
+0x08,0xCD,0x8C,0xF0,0xB5,0x76,0x72,0xF2,0x20,0xA4,0xD3,0x42,0xC8,0x5D,0x4C,0x24,\r
+0x73,0x5A,0xF7,0x1C,0x58,0xE3,0x0A,0x67,0x90,0x14,0x9F,0xBE,0x6F,0x10,0xEB,0xCE,\r
+0x85,0xF7,0x01,0x47,0xC8,0xB3,0xCA,0x37,0x6B,0xEF,0x00,0xDA,0x02,0xA6,0x86,0x15,\r
+0x69,0x69,0xED,0x35,0x82,0x60,0x53,0xE4,0x7B,0xFF,0x40,0x8A,0xC2,0x2E,0x46,0x5D,\r
+0x8C,0xD5,0x08,0x6C,0xC2,0xBB,0xC8,0x3F,0x3C,0xB8,0x81,0x0C,0x3D,0xA1,0xB9,0x2D,\r
+0x3B,0xD8,0xBF,0xD6,0x98,0xA3,0x8A,0x27,0xDB,0x5F,0x4C,0x26,0xF2,0x6A,0x76,0x29,\r
+0x66,0x2A,0xE2,0x79,0xA5,0xBD,0xA9,0x39,0xE7,0x63,0x1A,0x4C,0x5F,0x54,0xDB,0xBA,\r
+0xC1,0x67,0x45,0x93,0xC4,0x67,0x12,0xE3,0xFA,0x7E,0x68,0x23,0xC6,0x3E,0x42,0x49,\r
+0x54,0x1F,0xD0,0x7E,0x83,0x8E,0xBC,0x0A,0x2F,0xAB,0x90,0x0E,0x16,0xF6,0x92,0x51,\r
+0xA8,0xC1,0x2C,0x5C,0x06,0x34,0x83,0xB0,0x0D,0x89,0xE5,0x59,0x86,0xBE,0x02,0x89,\r
+0xD3,0x56,0x57,0xB0,0x4E,0xF4,0x0B,0x70,0xBE,0x3A,0xF8,0xF7,0xAE,0xB8,0x2A,0xA7,\r
+0xB1,0xA3,0x35,0x27,0xFD,0xB6,0xFA,0x32,0xCB,0x4F,0x0C,0x76,0x87,0x9E,0x03,0xA8,\r
+0x96,0xE6,0x12,0x45,0x75,0x36,0xF2,0xB2,0x05,0x81,0xE7,0x53,0x28,0xD1,0xAC,0x48,\r
+0xC4,0x57,0x40,0xA6,0x95,0x99,0xBD,0x1D,0xB0,0x34,0x9B,0x9A,0x22,0xA2,0xA6,0x31,\r
+0x0C,0xDD,0x88,0xE4,0xFC,0x58,0x15,0xDC,0x72,0xF6,0x62,0xA1,0x70,0x13,0xF4,0xD2,\r
+0x15,0xBF,0x91,0x9F,0x0B,0x0E,0xB4,0x8A,0xA2,0x26,0xAA,0xB9,0xC9,0x7D,0x4D,0x05,\r
+0xF3,0x52,0x77,0x94,0x11,0xCD,0x6D,0x49,0x3A,0xBE,0xE0,0x6B,0xE0,0x5B,0x64,0x0A,\r
+0x57,0x4E,0xD3,0x2C,0x03,0x15,0xA7,0x91,0x50,0xD4,0x17,0xF6,0x33,0xC2,0xB7,0x40,\r
+0x40,0x4F,0xC4,0x3A,0x10,0x23,0x82,0xA7,0x1C,0x98,0x85,0x28,0x4C,0x45,0xC8,0xB8,\r
+0x5B,0x5C,0xDF,0x32,0x50,0xF8,0x19,0x7C,0xDD,0x59,0x2D,0x41,0x63,0x02,0xE7,0xD0,\r
+0xB5,0xB3,0x31,0x33,0x91,0x56,0x76,0xD2,0x78,0xFC,0x11,0xD8,0x5B,0x44,0xDF,0xAE,\r
+0x3D,0xB9,0xB9,0xB1,0xD4,0xAC,0xC9,0x28,0x4A,0xCE,0x24,0xDF,0xDC,0x0D,0x58,0x60,\r
+0x80,0xC7,0x04,0x72,0x6D,0xE6,0x3A,0x62,0x75,0xF1,0x23,0xE7,0x3F,0xD0,0xBB,0x5E,\r
+0x35,0xBB,0xB1,0xBB,0xB2,0x44,0x47,0xC0,0xD4,0x50,0x0F,0x6A,0x85,0xEF,0x01,0xDB,\r
+0x97,0xC6,0x13,0x64,0x04,0x27,0x92,0xA3,0x55,0xD1,0x27,0xC3,0x97,0xDE,0x13,0xF8,\r
+0x55,0x3F,0xD1,0x5F,0x21,0xE9,0x79,0x6D,0xEE,0x6A,0x38,0x67,0x84,0xCF,0x00,0xFA,\r
+0x7F,0x48,0xFB,0x02,0x73,0xEA,0x28,0x6E,0x2A,0xAE,0xA0,0x3B,0x17,0xD6,0x93,0x70,\r
+0x51,0x2F,0xD5,0x4B,0x34,0x03,0x86,0x87,0x7A,0xFE,0x60,0xAB,0x7D,0x21,0xF9,0xED,\r
+0x5E,0x6C,0xDA,0x07,0xC1,0x46,0x36,0xC2,0x43,0xC7,0x06,0xF4,0x30,0x93,0xB4,0x12,\r
+0x0D,0xFD,0x89,0xC5,0x57,0xCA,0x2C,0x4E,0x65,0xE1,0x63,0xB7,0x24,0xC3,0xA0,0x56,\r
+0xD0,0x07,0x54,0xE2,0x68,0xC7,0x1E,0x43,0x49,0xCD,0x75,0x8D,0x4D,0x65,0xC9,0x99,\r
+0x71,0x2B,0xF5,0x6F,0x84,0xBC,0x89,0x38,0x4F,0xCB,0x14,0xEA,0x5C,0x05,0xD8,0xE8,\r
+0x8D,0xF5,0x09,0x4D,0x46,0xEF,0x18,0x6B,0x48,0xCC,0x55,0xAC,0x38,0x91,0xBC,0x18,\r
+0x2E,0xA8,0xAA,0xB3,0xBD,0x6D,0x61,0xE9,0x3E,0xBA,0xF0,0x7F,0xFE,0x78,0x7A,0x37,\r
+0x94,0x97,0x10,0x36,0x2B,0xE1,0x7B,0x65,0x52,0xD6,0x66,0x85,0x8A,0xAC,0x0E,0x97,\r
+0x77,0x4A,0xF3,0x08,0x2F,0x2E,0xB0,0xAA,0x95,0x11,0xAF,0x8B,0x29,0xF1,0xAD,0x69,\r
+0x18,0x8D,0x9C,0xA0,0xF9,0x79,0x31,0xFD,0x71,0xF5,0x33,0xF3,0x9E,0xFC,0x1A,0xD3,\r
+0x41,0x6F,0xC5,0x1B,0xCF,0x81,0xFF,0x05,0xA6,0x22,0xBA,0xAD,0x98,0x9D,0x1C,0xB4,\r
+0xCF,0x04,0x4B,0xFE,0x62,0xCF,0x1C,0x4B,0xD7,0x53,0x5E,0x38,0x80,0xDF,0x04,0xEE,\r
+0x29,0xE9,0xAD,0xF5,0xE0,0x47,0x16,0xC3,0x8D,0x09,0xED,0xD1,0x18,0x95,0x9C,0x3C,\r
+0xDD,0x35,0x59,0xDD,0x9C,0x6C,0x41,0xE8,0xA0,0x24,0xDB,0xCA,0xF9,0x39,0x7D,0x71,\r
+0xA5,0xF3,0x21,0x63,0x1F,0x0A,0xA4,0x8E,0x14,0x90,0x87,0x22,0xA1,0xFB,0x25,0xEB,\r
+0xEC,0x51,0x68,0x88,0x9B,0x5E,0x74,0xDA,0x41,0xC5,0x77,0x87,0x19,0xB5,0x9D,0x1D,\r
+0x6C,0x59,0xE8,0x00,0x74,0xD8,0x1D,0x5C,0x5D,0xD9,0x25,0xC9,0x07,0x96,0x83,0x20,\r
+0x75,0x3B,0xF1,0x7B,0xCB,0x4E,0x34,0xCA,0x42,0xC6,0x26,0xD5,0xCC,0x4D,0x48,0x30,\r
+0xEA,0x30,0x6E,0xEF,0x1A,0x2B,0x80,0xAF,0x62,0xE6,0x22,0xF1,0x92,0xEE,0x16,0xCD,\r
+0x2F,0x88,0xAB,0x92,0xAF,0xB5,0xAB,0x31,0xF6,0x72,0x7A,0x3D,0x83,0x8E,0x07,0xBC,\r
+0xBD,0xB1,0x39,0x39,0x01,0x06,0xB6,0x82,0x1B,0x9F,0xC4,0x6E,0x1D,0xA5,0x99,0x09,\r
+0x45,0x7F,0xC1,0x0F,0x13,0xDE,0x7C,0x5A,0x96,0x12,0xFE,0xD9,0x26,0xB2,0xA2,0x25,\r
+0xA1,0xE3,0x25,0x77,0x86,0xAF,0x98,0x2B,0x93,0x17,0xCE,0xEC,0xEB,0x08,0x6F,0x52,\r
+0xF8,0x01,0x7C,0xCC,0x3E,0x0B,0x84,0x8F,0x9D,0x19,0xAD,0x81,0x32,0xE2,0xB6,0x61,\r
+0x0B,0x9C,0x8F,0xA2,0xC6,0x74,0x03,0xF0,0x3B,0xBF,0xC0,0x4A,0x9B,0xCC,0x1F,0xE6,\r
+0xE0,0x43,0x64,0x96,0x3F,0xE5,0x6B,0x61,0x6A,0xEE,0x20,0xFB,0xFD,0x29,0x79,0x65,\r
+0x20,0xCB,0xA4,0xDE,0x78,0x0C,0xC5,0x88,0xB4,0x30,0x8B,0x8E,0xC0,0x5F,0x44,0x2E,\r
+0x47,0x0E,0xC3,0x7C,0x14,0xEC,0x49,0x68,0x1E,0x9A,0xF4,0x5B,0xB8,0x99,0x3C,0x90,\r
+0x0E,0x84,0xE8,0x90,0xA4,0x88,0xB0,0x5A,0x4F,0xEF,0xC2,0xD6,0x74,0x00,0x16,0x14,\r
+0x73,0x26,0x37,0x32,0xC7,0x3E,0xD3,0x8F,0xE6,0xC7,0x43,0x57,0x57,0x12,0x27,0x06,\r
+0x80,0x6C,0x8E,0x78,0x69,0xFF,0x7D,0xE0,0xB7,0x68,0xBD,0xA9,0xFC,0x80,0x1E,0x94,\r
+0xF7,0x46,0xD3,0x52,0x6A,0xAD,0x7E,0xB1,0xEB,0xF0,0x79,0x6D,0x76,0x13,0x07,0x07,\r
+0xA4,0x4D,0x8B,0x59,0xC5,0x4D,0xD1,0xFE,0x78,0xCE,0xD4,0xC0,0x9E,0xA7,0x5B,0xB3,\r
+0xE7,0x42,0xC7,0x56,0x80,0xB8,0x94,0x4E,0x27,0xA8,0xED,0xF9,0x61,0xEA,0xE9,0xFE,\r
+0xCF,0xC3,0x6E,0xD7,0x44,0xE4,0x50,0xD6,0x01,0xBD,0xDE,0xCA,0x15,0xDA,0xAD,0xCE,\r
+0x35,0x1E,0x49,0x0A,0x49,0xDB,0x5D,0xE4,0x3B,0xAB,0xF2,0xE6,0xDA,0xB3,0x0B,0xA7,\r
+0x3D,0x9E,0xC1,0x8A,0x6C,0xCA,0x78,0xD0,0x20,0x9D,0xDF,0xCB,0x94,0xAF,0x59,0xBB,\r
+0xE3,0x62,0xE3,0x76,0x3F,0x08,0x2B,0x41,0x66,0xDC,0xD8,0xCC,0x64,0xCB,0xCD,0xDF,\r
+0x5F,0x87,0xBA,0x93,0x62,0xA7,0x76,0xB3,0x09,0xAE,0xC5,0xD1,0x1B,0x1D,0x64,0x09,\r
+0x60,0x3D,0x3F,0x29,0xEE,0x31,0xFA,0xA9,0xF3,0x38,0xA9,0xBD,0xBB,0x69,0xB0,0x7D,\r
+0x45,0x0B,0x2C,0x1F,0xFA,0x75,0xEE,0xF9,0x7F,0xFB,0xE6,0xF2,0x5F,0x09,0x34,0x1D,\r
+0x82,0x64,0x84,0x70,0xAD,0xA3,0xB9,0x78,0x07,0x67,0x02,0x16,0xE5,0xBE,0x39,0xAA,\r
+0xCC,0xDC,0x72,0xC8,0x4C,0xEE,0x58,0xD4,0xB4,0x96,0x40,0x54,0x62,0x17,0x17,0x03,\r
+0xA7,0x52,0x97,0x46,0x02,0x43,0x16,0x37,0x21,0x72,0x31,0x25,0x38,0x0F,0x55,0x1B,\r
+0xFD,0xCE,0x51,0xDA,0xEF,0x10,0xFB,0x89,0x46,0x13,0x37,0x23,0xFD,0x6E,0xF1,0x7A,\r
+0x21,0x3A,0x79,0x2E,0xC4,0x6C,0xD0,0xDE,0x5D,0x25,0x1A,0x0E,0xB0,0x8F,0x5D,0x9B,\r
+0x99,0xFF,0x04,0xEB,0xDD,0x17,0xC9,0xBC,0x0B,0xBF,0xD6,0xC2,0x91,0x8E,0x7D,0x9A,\r
+0x3B,0xB6,0xEF,0xA2,0x89,0x93,0x9D,0x6C,0xAE,0x4F,0x83,0x97,0x67,0x36,0x33,0x22,\r
+0xF3,0x66,0xF7,0x72,0xCD,0x47,0xD9,0xFC,0x59,0xEE,0xD5,0xC1,0xBC,0x5B,0x85,0x4F,\r
+0x91,0x7F,0x8C,0x6B,0x5B,0xF8,0x4F,0xD5,0x45,0xED,0xCA,0xDE,0xAC,0x90,0x5E,0x84,\r
+0x40,0x3C,0x1E,0x28,0x36,0x23,0x22,0x63,0xB1,0xB2,0x61,0x75,0x30,0x14,0x46,0x00,\r
+0xF8,0xF9,0x63,0xED,0xA8,0x96,0xBC,0x48,0x7D,0xEA,0xF5,0xE1,0x41,0x05,0x26,0x11,\r
+0xB7,0x56,0x83,0x42,0x5D,0x9F,0x49,0xB4,0x55,0x36,0x01,0x15,0xA9,0xB1,0x7A,0xA5,\r
+0x79,0xAE,0xB5,0xBA,0x85,0x8D,0x91,0x7E,0xE2,0x0C,0x8C,0x98,0x85,0x8A,0x6D,0x9E,\r
+0xC9,0xEB,0x40,0xFF,0x88,0xB2,0x9C,0x4C,0x0D,0x65,0x0A,0x1E,0xED,0xA5,0x2A,0xB1,\r
+0x2B,0xB2,0xFB,0xA6,0x2C,0x0A,0x38,0x50,0x60,0x06,0x04,0x10,0xDE,0x7C,0xC0,0x68,\r
+0x8B,0xF3,0x1A,0xE7,0x66,0xB3,0x72,0xA3,0x77,0xE8,0xFD,0xE9,0xE9,0x6A,0xE1,0x7E,\r
+0x54,0x18,0x2E,0x0C,0xF7,0x4A,0xE3,0xCB,0xC6,0x08,0xAC,0xB8,0x6A,0x0C,0x04,0x18,\r
+0xC6,0x54,0xF0,0x40,0x6F,0x98,0x7B,0x81,0xD7,0x3C,0x89,0x9D,0x1C,0x2F,0x51,0x3B,\r
+0x03,0x33,0x52,0x27,0x8F,0xF4,0x9B,0x0D,0x02,0x43,0x23,0x37,0xA2,0x57,0x97,0x43,\r
+0x22,0x25,0x65,0x31,0xFC,0x12,0xE8,0x98,0x4C,0x11,0x3F,0x2B,0x03,0xCD,0xAC,0xD9,\r
+0x29,0xBA,0xF1,0xAE,0x9C,0xF6,0x88,0x1C,0x95,0xB6,0x41,0x55,0xC8,0x6B,0xC1,0x7F,\r
+0x12,0x20,0x50,0x34,0x67,0x92,0x73,0x83,0x25,0xB9,0xFE,0xEA,0x0C,0xE4,0x8A,0xF0,\r
+0xA6,0x45,0x81,0x51,0x24,0x00,0x30,0x52,0xC3,0x2C,0x8D,0x99,0x9B,0x86,0x7F,0x92,\r
+0x23,0x32,0x73,0x26,0x1C,0x7E,0x08,0x14,0xD9,0xF5,0x4E,0x5A,0xD8,0xA0,0x1A,0xB4,\r
+0x90,0x68,0x9A,0x7C,0xE5,0x69,0xF1,0xFA,0x5B,0xFF,0xC6,0xD2,0x26,0x03,0x47,0x17,\r
+0xBB,0xF6,0x2F,0xE2,0x73,0xD6,0x67,0xD3,0x28,0x8E,0xC4,0xD0,0x11,0x15,0x66,0x01,\r
+0x5C,0x98,0xA6,0x8C,0x4D,0xCF,0x59,0xF4,0x6D,0x31,0x3E,0x2A,0xEA,0x97,0x1F,0x83,\r
+0x05,0x1B,0x7C,0x0F,0xF5,0x39,0xE1,0xBA,0xCE,0x1B,0xB7,0xA3,0xA8,0x5F,0x95,0x4B,\r
+0xB8,0xE9,0x33,0xFD,0x19,0x4B,0x0D,0x24,0x6F,0x20,0x2D,0x39,0x3A,0x1C,0x44,0x08,\r
+0x3F,0x96,0xCB,0x82,0x30,0x44,0x24,0x02,0x56,0xC8,0xFC,0xE8,0x99,0x95,0x6E,0x81,\r
+0x92,0x60,0x90,0x74,0x60,0xD4,0x74,0xC2,0x32,0x57,0x07,0x13,0x42,0xF8,0xD8,0xEC,\r
+0x1D,0x9F,0xE0,0x8B,0x38,0x4E,0x2C,0x00,0x80,0x49,0xAB,0xBF,0xA1,0xAA,0x69,0xBE,\r
+0xA1,0x7A,0xB9,0x6E,0xE3,0x0E,0xF7,0x9B,0x06,0x88,0xEC,0xF8,0xD1,0x55,0xE6,0x41,\r
+0xE2,0x75,0xF5,0x61,0x3E,0x29,0x2A,0x61,0xC0,0xD2,0x70,0x64,0x36,0xC8,0x9C,0xDC,\r
+0x10,0x28,0x5A,0x3C,0x20,0x14,0x34,0x42,0xAA,0x84,0x4C,0x58,0xA5,0x65,0xA2,0x71,\r
+0xD7,0x47,0xF2,0x53,0x0D,0x0F,0x19,0x74,0x82,0x58,0xB8,0xAC,0xDD,0x81,0x3E,0x95,\r
+0xAF,0xD2,0x1F,0xC6,0xE4,0x48,0xF0,0xDA,0xAF,0xA0,0x6D,0x79,0xC5,0x51,0xF6,0x45,\r
+0x9E,0xC0,0x3C,0xD4,0x77,0xC2,0x63,0xC3,0x7B,0x30,0x29,0x3D,0x2B,0x39,0x70,0x2D,\r
+0x09,0xBB,0xD0,0xAF,0xB7,0x8A,0xA3,0x4B,0xD5,0x2D,0x9A,0x8E,0x05,0x11,0x76,0x05,\r
+0x2E,0x85,0xC9,0x91,0xB5,0xF9,0xA1,0x3A,0xDF,0x2F,0x92,0x86,0xC4,0xBF,0x19,0xAB,\r
+0x6B,0xA2,0xAB,0xB6,0x35,0x71,0x21,0x32,0xFA,0xC4,0x5C,0x48,0x24,0x10,0x56,0x04,\r
+0x15,0x1F,0x68,0x0B,0xDB,0x70,0xCF,0xDD,0x2D,0xAA,0xE5,0xF1,0x5E,0xE7,0xDB,0xF3,\r
+0x9F,0xD7,0x2A,0xC3,0x1A,0x19,0x0E,0x75,0x16,0x53,0x27,0x33,0xBD,0xB5,0x6A,0xA1,\r
+0x9A,0xE0,0x18,0xF4,0x4E,0x9D,0x5A,0xA5,0xE7,0x28,0xAD,0xB9,0x86,0x77,0x93,0x63,\r
+0x77,0x06,0x13,0x12,0x8D,0x87,0x99,0x7C,0x35,0x62,0x35,0x21,0x89,0x5E,0xB5,0x4A,\r
+0x87,0x53,0xB6,0x47,0xA0,0x9C,0xB4,0x4A,0xA4,0x4D,0x8B,0x9F,0x34,0xDB,0x8D,0xCF,\r
+0x86,0x44,0xA0,0x50,0x96,0x8F,0x82,0x6F,0x7A,0xDF,0xC7,0xD3,0xCC,0xA4,0x0A,0xB0,\r
+0x7B,0xA6,0xBF,0xB2,0xD5,0x1D,0xC1,0xBE,0x54,0xD9,0xEF,0xFB,0x22,0xCC,0x8C,0xD8,\r
+0x94,0x48,0xBE,0x5C,0x7B,0xDC,0x6F,0xD1,0xCD,0xE5,0x4A,0x5E,0x5C,0xF4,0xCA,0xE0,\r
+0x0F,0x93,0xFE,0x87,0x65,0xE1,0x71,0xF2,0x6B,0xEB,0xE2,0xF6,0xD2,0xA8,0x18,0xBC,\r
+0x71,0x2E,0x3D,0x3A,0x2F,0x58,0x3B,0x01,0x53,0xEC,0xDD,0xC9,0xEC,0x4B,0xC5,0x5F,\r
+0x0F,0x4A,0xE3,0x6D,0x90,0x0C,0x58,0xD5,0x92,0x51,0x42,0x07,0x17,0xBD,0x6E,0xF8,\r
+0x97,0xD2,0xA9,0xBF,0xB9,0x03,0x7E,0xFC,0x99,0xBC,0xA4,0xE1,0x0D,0x7E,0xB7,0x3B,\r
+0x29,0x6C,0x86,0x2E,0x3C,0xBE,0x46,0x79,0x3C,0x4C,0xF1,0xB4,0x16,0x53,0x81,0x16,\r
+0x65,0x20,0x14,0xF0,0x43,0x46,0xC1,0x06,0x2A,0x4D,0xE6,0xA3,0x05,0x65,0xA4,0x20,\r
+0x4D,0x08,0x12,0xDE,0x2B,0xA8,0x47,0x6E,0x35,0xB0,0x04,0x41,0x97,0x26,0x75,0x63,\r
+0xE8,0xAD,0x2E,0x47,0x13,0xD6,0x01,0x56,0x34,0x5F,0xEA,0xAF,0x56,0x88,0x1A,0xCD,\r
+0x40,0x05,0x20,0xE1,0x4F,0x58,0xD3,0x0A,0x74,0xC4,0x31,0x74,0x6B,0x96,0x39,0xD3,\r
+0x7F,0x3A,0x27,0xD9,0xAC,0x66,0x0E,0xE9,0xB7,0xBA,0x8C,0xC9,0xD2,0xDC,0xCA,0x99,\r
+0x1A,0x5F,0x93,0x08,0x66,0x57,0xF5,0x23,0x78,0x1C,0xE5,0xA0,0x85,0xFE,0xBF,0xBB,\r
+0xCF,0x8A,0x6B,0x25,0xB6,0x4F,0x3D,0xF3,0x95,0x64,0x70,0x35,0xC2,0x17,0x11,0x52,\r
+0x8B,0xCE,0xFB,0xF1,0xDE,0xA1,0xBB,0x9B,0xB6,0x55,0x62,0x27,0x48,0x84,0x08,0xC1,\r
+0x38,0x7D,0xE6,0x5F,0xF6,0x8F,0xBD,0xB3,0x5A,0xC2,0x19,0x5C,0x00,0x44,0x80,0x01,\r
+0x30,0x75,0xE4,0x55,0x58,0x4E,0xD2,0x1D,0x43,0xE5,0x27,0x62,0x73,0x46,0xF1,0x03,\r
+0xFE,0xBB,0x0F,0x70,0xF7,0xAE,0x9D,0xB2,0x21,0xA0,0x00,0x45,0xFB,0xC6,0xF9,0x83,\r
+0x47,0x02,0x61,0xA7,0x00,0xD4,0x10,0x45,0xE2,0xDE,0xBD,0xF8,0xFA,0x28,0x16,0x6D,\r
+0x85,0xC0,0x98,0x9C,0x52,0x37,0xA1,0x17,0xA0,0x54,0x75,0x30,0x93,0xE9,0xBE,0xAC,\r
+0x15,0x50,0xD0,0x44,0xB8,0x22,0x5E,0xFD,0xF6,0xCE,0xB9,0xFC,0xB3,0x06,0x71,0x43,\r
+0x8F,0xCA,0xEB,0xE5,0xFB,0xB0,0x8F,0xBE,0xB9,0x73,0x4B,0x0E,0xC1,0xEA,0xEF,0xAF,\r
+0x5E,0x1B,0x03,0xDC,0x72,0x13,0xA5,0x37,0x41,0xF4,0x34,0x71,0xCE,0xC3,0xC9,0x86,\r
+0xA5,0xE0,0x9C,0xB8,0x1F,0xC8,0x13,0x5A,0x1A,0x59,0xC2,0x87,0x5E,0x93,0x09,0xD6,\r
+0x09,0x4C,0x82,0x0A,0x4D,0x2B,0xA2,0x08,0x6A,0xD6,0x3D,0x78,0xC4,0xCB,0xCB,0x8E,\r
+0x4E,0x0B,0x43,0x8C,0xB2,0x5B,0x2D,0xF7,0x33,0x6A,0xD8,0x9D,0x84,0x10,0x50,0x55,\r
+0xD2,0x97,0x19,0x4A,0x2F,0xBC,0x57,0x6A,0x7F,0x29,0xD7,0x92,0xA3,0xCD,0xAA,0x88,\r
+0xEE,0xAB,0x4F,0x20,0x82,0x2F,0x69,0xC7,0xD0,0xDB,0x8A,0xCF,0x9E,0xD3,0x89,0x96,\r
+0x9D,0xD8,0xDA,0xC6,0x2A,0x89,0x67,0x6F,0xEF,0xE9,0x87,0xC2,0x98,0x0F,0x53,0x4A,\r
+0xE3,0xA6,0x7D,0x1F,0x8C,0x42,0x0A,0xC9,0x7B,0xE2,0x18,0x5D,0x7C,0x6F,0xD7,0x2A,\r
+0x5C,0x19,0x72,0xAF,0x03,0x86,0x41,0x46,0xDA,0xD9,0x82,0xC7,0x18,0x94,0x48,0xD1,\r
+0x2F,0x6A,0xE7,0x49,0x61,0x11,0xB4,0x24,0x0B,0x6D,0xE7,0xA2,0x8A,0xD7,0x99,0x92,\r
+0xEC,0xA9,0x3E,0x53,0x47,0x52,0xD1,0x02,0xF9,0xE8,0x90,0xD5,0xF4,0xEF,0xDF,0xAA,\r
+0x64,0x21,0x34,0xD1,0xE4,0xAC,0x8C,0xA1,0x10,0x5B,0xCA,0x8F,0xE3,0x16,0x31,0x53,\r
+0x66,0x23,0x45,0xA2,0xF2,0x9B,0xAD,0xB7,0xA5,0x70,0x54,0x11,0x5C,0x80,0x18,0xC5,\r
+0x9C,0xD9,0xFA,0xE7,0x70,0x60,0xD4,0x35,0x2C,0x97,0x3A,0x7F,0x45,0xBE,0x3F,0xFB,\r
+0xA3,0xE6,0xFD,0xDF,0x56,0x23,0xB1,0x13,0x09,0x7C,0xF4,0xB1,0x15,0xAE,0x7F,0xEB,\r
+0x2E,0x6B,0xC7,0x68,0x6D,0x0F,0xA6,0x28,0x3F,0xB2,0x0C,0x49,0x07,0x76,0xB5,0x33,\r
+0xA8,0xED,0xAE,0x87,0x42,0x67,0xE1,0x07,0xCA,0x02,0x49,0x0C,0x38,0x7B,0x87,0x3E,\r
+0xA6,0xE3,0xCD,0xEA,0x9B,0x54,0x0B,0xDE,0x71,0xE0,0x10,0x55,0x80,0xDF,0x9B,0x9A,\r
+0x5F,0x1A,0x23,0xFD,0x8D,0x63,0x2A,0xC8,0x90,0x40,0x51,0x14,0x39,0x95,0x68,0xD0,\r
+0x0E,0x4B,0xC3,0x4C,0xEB,0xE0,0xCF,0xAE,0xA4,0x9F,0xBA,0xFF,0xC0,0x04,0x00,0x41,\r
+0x2B,0x6E,0xF7,0x5D,0xC8,0x96,0x9A,0x8D,0x7A,0x0D,0xF6,0xB3,0x12,0x9C,0x4A,0xD9,\r
+0x81,0xC4,0x88,0x88,0xB0,0x28,0x5C,0xF5,0xD8,0xC8,0x91,0xD4,0x7E,0x7C,0xC6,0x39,\r
+0x95,0xD0,0xD8,0xCC,0x89,0x77,0x3A,0xCC,0xDB,0x36,0x6C,0x29,0x9A,0x1C,0x42,0x59,\r
+0xB8,0xFD,0xEE,0xD7,0x68,0x3A,0x96,0x2D,0xF3,0xEA,0x98,0xDD,0xE6,0x37,0x15,0x72,\r
+0x74,0x31,0x74,0x81,0x69,0x1B,0xB6,0x2C,0x8E,0x52,0x5D,0x18,0x9D,0x2E,0x77,0x6B,\r
+0x21,0x64,0x84,0x24,0xD1,0xED,0xF8,0x94,0x65,0xF0,0x14,0x51,0x19,0x7A,0xA7,0x3F,\r
+0x77,0x32,0x25,0xD3,0xBC,0x36,0x4E,0xF9,0x7D,0x38,0xC4,0x81,0xCD,0x3E,0x37,0x7B,\r
+0x68,0x2D,0x26,0xCF,0x77,0x26,0x95,0x32,0x06,0x5A,0xDD,0x98,0x72,0xA8,0x1E,0xED,\r
+0xC3,0x86,0x79,0x3B,0xF3,0xBA,0x8D,0xB6,0x94,0x8B,0x9E,0xDB,0xA9,0xC5,0xA8,0x80,\r
+0x57,0x12,0x21,0xF7,0xE2,0xCB,0xED,0xA7,0xE9,0x33,0x5B,0x1E,0x1C,0x5B,0x83,0x1E,\r
+0x7D,0x38,0x56,0xAA,0x48,0x1E,0x92,0x0D,0x4B,0xF6,0x3C,0x79,0x40,0x9F,0x1B,0xDA,\r
+0x7A,0x3F,0x17,0xEC,0x2C,0xEE,0x06,0x69,0x69,0x28,0xC0,0x85,0x82,0xCC,0x8A,0x89,\r
+0x67,0x22,0x65,0x83,0xFA,0x91,0xAF,0xBF,0x30,0x94,0x25,0x60,0x2D,0x91,0x78,0xD4,\r
+0x0B,0x4E,0xF3,0x79,0x8E,0x31,0x7B,0xCB,0xB5,0xAB,0x9F,0xDA,0xBB,0x1D,0x62,0x58,\r
+0x44,0x01,0x30,0xF5,0xEE,0xD5,0xFF,0xAB,0xA6,0x8E,0xA9,0xEC,0xFF,0x09,0x32,0x4C,\r
+0xA0,0xE5,0xAC,0x8D,0x59,0x6F,0xF2,0x1C,0x0E,0x49,0xC6,0x83,0x29,0x5E,0xB3,0x1B,\r
+0xE2,0xA7,0x5D,0x3E,0xF0,0xE8,0xDC,0xB5,0xF8,0x07,0x7E,0x3B,0x64,0xBF,0x1F,0xFA,\r
+0x93,0xD6,0xB9,0xAB,0xE8,0xB2,0x9E,0xAD,0x1D,0x6C,0xF0,0xB5,0xC9,0xF1,0xFC,0xB4,\r
+0x60,0x25,0x24,0xC5,0xE7,0xFE,0xDD,0xA2,0x62,0xC5,0x26,0x63,0x02,0x57,0x91,0x12,\r
+0xE1,0xA4,0x0C,0x6C,0xF5,0xDD,0xEC,0xB0,0xBD,0xB8,0x84,0xC1,0xB4,0x34,0x44,0x71,\r
+0x1F,0x5A,0xA3,0x3D,0x67,0x76,0xD5,0x22,0x04,0x4B,0xCE,0x8B,0x75,0x9A,0x2B,0xDF,\r
+0xDB,0x9E,0x3B,0x61,0xF4,0xFC,0xCC,0xB1,0x59,0x3C,0xE4,0xA1,0x27,0x99,0x7A,0xDC,\r
+0x76,0x33,0x05,0xF2,0x40,0x14,0x90,0x05,0x01,0x6F,0xEF,0xAA,0xC7,0x36,0x35,0x73,\r
+0x4F,0x0A,0x63,0xAD,0x0D,0xEB,0x22,0x48,0x4D,0x2C,0xE0,0xA5,0x32,0x73,0x85,0x36,\r
+0x7C,0x39,0x76,0x8B,0x3D,0x9F,0x66,0x78,0xE4,0x04,0x61,0x24,0x6E,0xB7,0x1D,0xF2,\r
+0x50,0x15,0x60,0xB1,0x54,0x50,0xC0,0x11,0xC3,0xFE,0xBC,0xF9,0x51,0xBA,0x2F,0xFF,\r
+0x9D,0x9B,0xB6,0xFC,0x0E,0x11,0xCE,0x08,0xD8,0xB2,0xBD,0xBB,0xCD,0x51,0x4D,0x57,\r
+0xB0,0xB6,0x80,0xE7,0xEF,0x5C,0x62,0xE9,0xF0,0x6E,0x49,0x4F,0xB1,0x7A,0x1A,0x7C,\r
+0x04,0x02,0xDC,0x0F,0xB7,0xC6,0xA0,0xB1,0x4E,0xA8,0x31,0x37,0x32,0x1C,0xFF,0x1A,\r
+0x51,0x57,0x2C,0xAA,0x0F,0x30,0xEE,0x09,0xA5,0x0A,0x78,0x7E,0xB6,0x48,0x2F,0x4E,\r
+0x4D,0x4B,0x7E,0xE4,0x11,0x0D,0xCD,0x17,0x2D,0x02,0xF8,0xFE,0x59,0xCE,0x46,0xC8,\r
+0x52,0x54,0x7D,0xF8,0xDA,0x1D,0x16,0xDC,0x56,0x60,0xE1,0xE7,0xE6,0x58,0x6F,0x5E,\r
+0x72,0x74,0x79,0xDC,0x84,0xE0,0xB5,0x82,0xC2,0x6B,0x7E,0x78,0x37,0x3D,0xDB,0x3B,\r
+0xE6,0xE0,0x21,0x10,0x95,0x91,0xD5,0x93,0xBF,0xD3,0xBB,0xBD,0x82,0xA3,0xF0,0xA5,\r
+0x0B,0x0D,0x9F,0x43,0x0B,0x24,0xFE,0x0D,0x14,0xEA,0x29,0x2F,0x2C,0x10,0xED,0x16,\r
+0x86,0x80,0xA5,0xF4,0x30,0x08,0xE9,0x36,0x22,0x24,0xD1,0xD7,0x3E,0xC8,0x27,0xCE,\r
+0x83,0x85,0x95,0xC1,0xFD,0x7F,0x53,0xFB,0x5A,0xB8,0x35,0x33,0xAB,0xB9,0xC3,0xBF,\r
+0x8D,0x8B,0xF6,0xAC,0x24,0x4C,0xB9,0x22,0xE1,0x5A,0x6C,0x6A,0x13,0x1D,0xDF,0x1B,\r
+0x2B,0x2D,0x9B,0x67,0x8D,0xCB,0x97,0x8B,0x8F,0xC7,0x9F,0x99,0xEB,0x62,0x58,0x64,\r
+0x7A,0x7C,0x7B,0xD6,0xEB,0x48,0x72,0xED,0xBB,0x18,0x74,0x72,0x12,0xF3,0x30,0xF5,\r
+0xA4,0xA2,0xD0,0xA3,0xD6,0x03,0x04,0xD0,0xF3,0x90,0xB4,0xB2,0x55,0x1A,0x9E,0x1C,\r
+0x0E,0x08,0xAF,0x76,0xAE,0xBD,0xC2,0xA8,0x51,0x55,0xD3,0xD5,0x39,0xFA,0x12,0xFC,\r
+0xC4,0xC2,0x54,0x47,0x93,0xF6,0xB4,0x95,0x96,0xE0,0xA1,0xA7,0x9F,0x52,0x1C,0x54,\r
+0x45,0x43,0x7C,0xEE,0x81,0xD5,0x85,0x87,0x49,0x9D,0x03,0x05,0x29,0x31,0xC9,0x37,\r
+0xFE,0xF8,0x63,0x4A,0x92,0xD7,0x94,0x94,0x72,0x64,0xC1,0xC7,0x0C,0xFF,0x22,0xF9,\r
+0x3A,0x3C,0xFB,0x16,0x01,0x5D,0x8D,0x07,0x2F,0x13,0xEB,0xED,0x5E,0xFC,0x73,0xFA,\r
+0x6A,0x6C,0x3B,0x86,0x6B,0xC0,0x7A,0x6D,0x66,0x74,0xC5,0xC3,0x19,0x15,0xDD,0x13,\r
+0x53,0x55,0x5D,0xD9,0x26,0x3F,0xC8,0x20,0x2A,0x37,0xCA,0xCC,0xEC,0x50,0x6D,0x56,\r
+0x75,0x73,0x38,0x9A,0x32,0x7B,0x98,0x34,0xE8,0xA6,0x99,0x9F,0x7A,0xDC,0x77,0xDA,\r
+0x59,0x5F,0x2E,0xA0,0x5B,0xB4,0x3E,0x5D,0xCF,0x5C,0x44,0x42,0x45,0xD1,0x45,0xD7,\r
+0x5F,0x59,0x4F,0xC7,0x4A,0xC5,0x5E,0x4C,0x42,0x70,0xE5,0xE3,0xA9,0xAA,0xD2,0xAC,\r
+0x58,0x5E,0x0E,0x81,0x2E,0x35,0xCA,0x28,0x60,0xAE,0x19,0x1F,0x6B,0xF9,0x43,0xFF,\r
+0x2E,0x28,0xAB,0x52,0xE8,0x1A,0x23,0xEE,0x9E,0xF3,0xBA,0xBC,0x90,0x7B,0x3A,0x7D,\r
+0x42,0x44,0x3D,0xA8,0x9C,0xBA,0xF7,0x9A,0x1B,0xCC,0x00,0x06,0x06,0xF7,0x20,0xF1,\r
+0x85,0x83,0xF4,0xA6,0x3F,0x44,0xAA,0x39,0x25,0x11,0xE3,0xE5,0x02,0x38,0xEB,0x3E,\r
+0x61,0x67,0x68,0xDE,0x88,0xFE,0xA7,0x8E,0x8D,0xD6,0x8C,0x8A,0xD4,0x6F,0x6A,0x69,\r
+0xB6,0xB0,0xE1,0x80,0x8E,0x99,0xC6,0x88,0x36,0x34,0xD5,0xD3,0xE2,0x97,0xA4,0x91,\r
+0xC7,0xC1,0x05,0x15,0x96,0xC3,0x84,0x90,0xD3,0x5F,0x5B,0x5D,0x4F,0xD9,0x47,0xDF,\r
+0xEA,0xEC,0x33,0x0E,0xD0,0x64,0x65,0xD6,0xBE,0x3C,0x55,0x53,0xE9,0x71,0x49,0x77,\r
+0x3F,0x39,0xCB,0x23,0x00,0x7C,0xAD,0x06,0x53,0x44,0xC0,0xC6,0xAE,0x98,0xE7,0x9E,\r
+0x1D,0x1B,0xBE,0x74,0x90,0xA4,0xE5,0x96,0x71,0x9A,0x3C,0x3A,0x2B,0x22,0xD8,0x24,\r
+0xAE,0xA8,0xA3,0xDA,0xB8,0x8A,0xE3,0xBE,0x9D,0x0D,0x47,0x41,0x63,0xE2,0x50,0xE4,\r
+0xDB,0xDD,0x57,0x5B,0x91,0x85,0xC5,0x97,0x0A,0xF8,0x25,0x23,0xD0,0xA0,0xA1,0xA6,\r
+0x15,0x13,0xBC,0x7E,0x3E,0x65,0x8A,0x38,0x68,0xBD,0x02,0x04,0x58,0x20,0xA9,0x26,\r
+0xA0,0xA6,0xC0,0xB7,0x34,0x1C,0xF9,0x32,0x8B,0x0C,0x50,0x56,0xB8,0x8F,0xE6,0x89,\r
+0x62,0x64,0x39,0x8C,0x66,0xFF,0x48,0x60,0xC9,0x86,0x98,0x9E,0xD1,0x4E,0x4E,0x48,\r
+0xB2,0xB4,0xF1,0x94,0xDF,0x28,0x26,0xD9,0xB2,0xE4,0x81,0x87,0x26,0x18,0xEF,0x1E,\r
+0x2A,0x2C,0xBB,0x46,0xF6,0x27,0x00,0xF0,0xB9,0x09,0x67,0x61,0x3C,0xDB,0x36,0xDD,\r
+0x40,0x46,0x4C,0xDB,0x25,0x6D,0x99,0x23,0x01,0x15,0xC3,0xC5,0x2E,0x03,0xFC,0x05,\r
+0x0C,0x0A,0xDE,0x05,0x5A,0x95,0x1E,0x5C,0x17,0x14,0xD4,0xD2,0x3D,0x35,0xD9,0x33,\r
+0xCD,0xCB,0x76,0x6C,0x75,0xFD,0x59,0x73,0x1F,0x07,0xCF,0xC9,0x7D,0xEE,0x42,0xE8,\r
+0x68,0x6E,0x4A,0xF5,0x4D,0x83,0x1F,0x4B,0x1E,0xE8,0x21,0x27,0xBC,0x40,0x2D,0x46,\r
+0x5A,0x5C,0x7F,0xF2,0xCA,0x4D,0x56,0xCC,0x9C,0xE2,0xA9,0xAF,0xF9,0xBA,0x92,0xBC,\r
+0x65,0x63,0x78,0xCA,0x29,0x73,0x8B,0x2F,0x5F,0x9C,0x14,0x12,0x40,0xF0,0x61,0xF6,\r
+0xC6,0xC0,0x25,0x34,0xEA,0x69,0x52,0xEC,0x50,0xBA,0x3D,0x3B,0x57,0x09,0x8F,0x0F,\r
+0xB8,0xBE,0x82,0xED,0x4C,0xA2,0x3F,0x4A,0xC4,0xB1,0xA2,0xA4,0xB3,0x69,0x0B,0x6F,\r
+0x0A,0x0C,0xBF,0x62,0x07,0x3A,0xEC,0x01,0x20,0x35,0xC2,0xC4,0xA1,0xB1,0xC1,0xB7,\r
+0x79,0x7F,0x2A,0x84,0x65,0xAD,0x19,0x63,0xF1,0x81,0xA7,0xA1,0x33,0xF2,0x10,0xF4,\r
+0x41,0x47,0x6C,0xFA,0x82,0x87,0xD4,0x84,0x3B,0x03,0xEF,0xE9,0xC8,0x70,0x69,0x76,\r
+0xC9,0xCF,0x66,0x78,0x21,0x79,0x89,0x27,0xD2,0xB0,0xB5,0xB3,0xDF,0x89,0x87,0x8F,\r
+0xB9,0xBF,0xA2,0xCC,0x16,0x4B,0x8C,0x10,0x07,0xCF,0x1F,0x19,0x6E,0xD8,0x67,0xDE,\r
+0x43,0x45,0x1D,0x89,0x94,0xB0,0xF5,0x92,0x8E,0x28,0x71,0x77,0x77,0xE6,0x40,0xE0,\r
+0xAA,0xAC,0xB3,0xCE,0x9D,0x9B,0xD7,0x9B,0x92,0x2B,0x6E,0x68,0xEA,0x8C,0xB7,0x8A,\r
+0x30,0x36,0x88,0x6F,0xDE,0x09,0x06,0xD8,0xDD,0x96,0x9C,0x9A,0x98,0x60,0x29,0x66,\r
+0x80,0x86,0xC4,0x93,0x79,0xE3,0x4B,0x7F,0x31,0x01,0xE7,0xE1,0x75,0xF5,0x51,0xF3,\r
+0x7B,0x7D,0x5B,0xF7,0x14,0x38,0xFD,0x12,0x6A,0xAC,0x11,0x17,0xE5,0xA5,0x91,0xA3,\r
+0x6B,0x6D,0x1B,0xA7,0xD4,0x70,0x75,0xD2,0x18,0x32,0xFD,0xFB,0xAF,0x76,0x08,0x70,\r
+0x2C,0x2A,0xDA,0x21,0x2B,0x00,0xFA,0x2D,0x41,0x8E,0x18,0x1E,0xEF,0xAD,0x93,0xAB,\r
+0xCB,0xCD,0x17,0x0B,0xE4,0x04,0x31,0xE2,0xFB,0x83,0xAF,0xA9,0xB5,0xB5,0xD1,0xB3,\r
+0xF7,0xF1,0x41,0x61,0x49,0x97,0x0F,0x4F,0x54,0x71,0xF2,0xF4,0x88,0xAB,0xF2,0xAD,\r
+0xC4,0x99,0x8B,0x96,0x50,0x51,0x85,0x03,0x05,0x01,0x57,0x80,0xC5,0x08,0x49,0x97,\r
+0x48,0x83,0x1D,0x1A,0x6F,0xEB,0x00,0xB9,0x71,0xA1,0x23,0x54,0xA9,0x9E,0xB3,0xFB,\r
+0x15,0x71,0xB2,0x47,0xD3,0x0E,0x59,0x5C,0xA7,0xDE,0xF5,0xFD,0xB4,0xEC,0xDC,0xE6,\r
+0x46,0xE0,0x70,0x14,0x0D,0xF2,0x7B,0xA0,0xC3,0x2E,0x91,0x69,0xB3,0xAD,0x9A,0xE1,\r
+0x28,0x07,0xF9,0x7A,0x97,0x3E,0x2D,0x6C,0x63,0x82,0x31,0x65,0x5D,0x42,0x9B,0x0F,\r
+0x66,0xE4,0x54,0x34,0xFC,0xB0,0xC8,0xE2,0x7B,0xD8,0x29,0x27,0x2C,0xA6,0x0E,0x7E,\r
+0x87,0x48,0x19,0xD5,0xB2,0x08,0x3E,0x5A,0xD2,0x5F,0x80,0x09,0x6E,0x57,0xBD,0x3C,\r
+0xD0,0xC9,0xCF,0x82,0x75,0x67,0x96,0x35,0x65,0xE5,0x37,0x04,0x8A,0xCB,0xC5,0xD8,\r
+0x40,0x81,0x17,0x12,0xC7,0x2A,0x69,0x78,0x7F,0xCC,0x2D,0x37,0x15,0xC0,0x51,0x47,\r
+0x43,0xD0,0x45,0x11,0xB0,0x00,0x34,0x52,0xEC,0x46,0xBE,0x2E,0xD1,0x58,0x0D,0x83,\r
+0xED,0xBF,0x84,0xBF,0x43,0x4A,0x8D,0x18,0x7E,0xED,0x2C,0x17,0x2F,0xF7,0x5C,0x7D,\r
+0x8E,0x6A,0x32,0xDC,0x3E,0xE8,0x52,0xBA,0x6C,0xCE,0x3E,0x26,0xAE,0xDF,0xF5,0xFC,\r
+0x63,0xD4,0x61,0x31,0x05,0x72,0xF3,0x20,0xDF,0x60,0x8D,0x3B,0x9E,0x9B,0x81,0xCC,\r
+0x6E,0xE6,0x5E,0x3C,0xFF,0xAF,0xD4,0xFD,0xB6,0xAF,0xE4,0x9D,0xB2,0x8D,0xBB,0xE0,\r
+0xAA,0x7E,0x02,0xF8,0xD7,0x2E,0x7D,0x7C,0x86,0xDB,0xD4,0xD9,0x81,0x98,0x9D,0xD3,\r
+0xEF,0xCE,0xF7,0xBD,0x94,0x21,0x31,0x73,0xCB,0x24,0x99,0x6B,0xB8,0xFE,0xC2,0xEA,\r
+0x06,0x60,0xB0,0x54,0x1B,0xDE,0x41,0x8C,0x10,0x64,0x42,0xF0,0x68,0x36,0xDA,0x3A,\r
+0xA2,0x7C,0x08,0xF0,0xF9,0x87,0xFA,0xD5,0xC9,0x57,0x9B,0x1A,0x66,0x55,0xB7,0x34,\r
+0xAF,0x4E,0x37,0xFD,0x49,0xC2,0x0F,0x90,0xE6,0x3F,0xB4,0x5D,0xE0,0x3C,0x58,0xB2,\r
+0x77,0x84,0x25,0x25,0x87,0x3A,0x39,0x68,0xDD,0x13,0x8F,0x4A,0x6D,0x06,0xEF,0x3F,\r
+0xA5,0x3D,0x4E,0xF7,0x33,0x5F,0xE8,0x0D,0x3B,0x18,0x69,0xA7,0x4F,0x73,0xB8,0x1D,\r
+0x45,0xB1,0x22,0x17,0xF6,0x38,0x4A,0x6A,0x43,0xA6,0x11,0x61,0xE5,0x0C,0x6D,0xB7,\r
+0xDD,0xFB,0xF0,0x8F,0x64,0x74,0x94,0x26,0x60,0xD0,0x32,0x34,0xC0,0x38,0x7C,0x92,\r
+0x4C,0x93,0x09,0x1E,0xBB,0x9F,0xA0,0xCD,0x06,0x53,0x54,0xD1,0x91,0xD8,0xCD,0xC3,\r
+0xA3,0x5C,0x29,0xF1,0x0B,0xDA,0x55,0x88,0x5A,0xDD,0x08,0x03,0xEF,0x7F,0x14,0xBD,\r
+0xF7,0x8C,0xAD,0xA5,0xA9,0x93,0xBE,0xC1,0xE2,0x2B,0xB0,0x4D,0xBA,0x8F,0xB1,0xE8,\r
+0xEE,0xEE,0xD6,0xBC,0x11,0x56,0xC3,0x04,0xE3,0x0A,0xB1,0x6D,0x76,0x15,0xE7,0x24,\r
+0xC5,0xB9,0xAA,0x97,0xCD,0xA2,0xEB,0xF0,0x02,0x47,0x50,0xC1,0x5B,0x23,0xFC,0x09,\r
+0x82,0x78,0x2C,0xD0,0xC8,0x95,0xD9,0xC7,0x69,0xFB,0x3B,0x16,0x99,0xDA,0xC7,0xCB,\r
+0x1C,0x53,0x99,0x4E,0x70,0x50,0xA4,0x02,0x78,0x8A,0x2A,0x76,0x0D,0x82,0x0B,0x5F,\r
+0x71,0xE5,0x42,0x23,0xA1,0x13,0x36,0x41,0xFC,0x16,0xAE,0x6E,0xA6,0xDD,0xFF,0xF4,\r
+0xE7,0xCC,0xFD,0xB5,0xC3,0x0A,0x4D,0x58,0x37,0x06,0x65,0xB5,0xB9,0xDE,0xE3,0xEB,\r
+0x4A,0xF2,0x6E,0x18,0xA2,0x0C,0x2A,0x5E,0x94,0xF8,0xC6,0xE8,0x6B,0x67,0x88,0x39,\r
+0x1A,0x32,0xFE,0x48,0x0F,0xFA,0x71,0xA8,0xF9,0x23,0xAB,0x5E,0x90,0xF8,0xEC,0xC2,\r
+0x33,0x14,0xF1,0x61,0x88,0x85,0x89,0xD7,0x70,0x80,0x22,0x74,0x41,0x10,0xD5,0x13,\r
+0xDF,0x8A,0x83,0x8D,0x35,0x77,0xC6,0x25,0x33,0x12,0x61,0xA5,0xDB,0x2B,0x74,0x89,\r
+0x0A,0x72,0xAE,0x58,0x20,0x44,0xE0,0x16,0x09,0x1F,0x5B,0x92,0x20,0xB4,0x10,0x72,\r
+0x14,0x51,0x93,0x46,0xD2,0x19,0x4F,0x4B,0xA4,0x8C,0xF6,0xAC,0x1C,0xE2,0x7A,0x4E,\r
+0xC9,0xAB,0xB4,0x9B,0x91,0x16,0x03,0x44,0x39,0x6B,0x6B,0xD6,0x80,0xB8,0xBC,0xD2,\r
+0x12,0x30,0xF4,0x40,0x2D,0xF3,0x5A,0xA1,0xC6,0x1B,0x94,0x59,0xC7,0x79,0x3A,0x95,\r
+0x0E,0x62,0xBA,0x5C,0x96,0x29,0x3B,0x7B,0xEA,0x21,0xB8,0x4F,0xE1,0x1C,0x79,0xB3,\r
+0x4D,0xB3,0x28,0x1F,0x22,0x4C,0xEA,0x1E,0x88,0xB6,0xDA,0xBA,0x92,0x89,0x9F,0xC0,\r
+0xB6,0x2C,0x4C,0xE4,0x19,0xD6,0x4B,0x84,0x07,0x72,0x55,0xF1,0x2D,0x86,0x2F,0x7F,\r
+0xD6,0xA8,0xA8,0x84,0x12,0x49,0xDF,0x1B,0xA1,0xB9,0xF3,0x9C,0x53,0x21,0xF6,0x01,\r
+0x67,0xC4,0x75,0x35,0x6C,0xF4,0x1C,0xA6,0xFB,0x50,0xA9,0x2F,0x52,0x01,0xD7,0x00,\r
+0x59,0xE3,0x6C,0x0B,0x8B,0x9A,0x95,0xC8,0x79,0xAB,0x2B,0x56,0xA8,0xBE,0x92,0xFA,\r
+0xCF,0xCA,0xD3,0x9D,0xA0,0x04,0x20,0x56,0x6F,0x9C,0x3D,0x77,0xAA,0xCF,0xE1,0xF8,\r
+0x36,0x24,0xC4,0x64,0x13,0x5E,0xC9,0x0C,0xCC,0x62,0x9E,0x2A,0x22,0xC5,0x63,0x70,\r
+0xBC,0x5F,0x35,0xEE,0xB6,0x28,0x1A,0x7A,0xC8,0x76,0x9A,0x3A,0xAB,0xEF,0xC0,0xF9,\r
+0x8A,0x7A,0x26,0xD8,0xB7,0x3F,0x0C,0x6D,0xB7,0x8E,0xE5,0xBD,0xE7,0x7D,0x1E,0xB5,\r
+0xA7,0x4C,0x3D,0xF5,0x47,0x6A,0xA9,0x38,0x32,0x33,0x60,0x85,0x59,0x52,0x8F,0x0B,\r
+0x64,0x95,0x27,0x36,0xAA,0x8C,0xA2,0xDE,0x1B,0x3C,0x49,0xA3,0xC1,0x18,0x5D,0x93,\r
+0x05,0x31,0xE2,0x57,0x41,0x42,0x87,0x10,0x27,0x56,0x75,0xF5,0xB1,0xDC,0xE9,0xE3,\r
+0x4F,0xC2,0x5B,0x1D,0x3F,0xFF,0x44,0xAD,0xC4,0x68,0x96,0x28,0x8E,0xDB,0xD1,0xDC,\r
+0x51,0xE1,0x66,0x03,0xA4,0x24,0x04,0x76,0x98,0xE6,0xCA,0xFA,0x26,0xD5,0x77,0x74,\r
+0xFF,0x8E,0xA7,0xAD,0x4B,0xCA,0x05,0x98,0xA0,0x98,0xF2,0xBC,0x83,0xE9,0xEE,0xD1,\r
+0x9D,0x7B,0x30,0xCF,0x39,0xD7,0x6A,0x85,0x7D,0xBF,0x2F,0x46,0xF6,0x1D,0x6F,0xA4,\r
+0x5D,0xF3,0x78,0x0F,0xAE,0xAC,0x86,0xFE,0x55,0x91,0x07,0x40,0x45,0x00,0xC1,0x17,\r
+0xCE,0xEA,0xF2,0x9C,0x9F,0xBE,0xA5,0xEC,0x3D,0x7F,0x6F,0xC6,0x01,0x90,0x15,0x53,\r
+0x27,0x44,0xB5,0x75,0xE7,0x2B,0x48,0x79,0xED,0x67,0xBF,0x0E,0xD4,0x68,0x38,0x86,\r
+0x30,0x45,0xA3,0x62,0xAF,0xBB,0x90,0xE9,0xD9,0x07,0x8B,0x5A,0x4B,0x63,0xAC,0x19,\r
+0xF1,0xED,0xCA,0xA3,0x25,0x73,0xD2,0x21,0x8B,0xE4,0xD9,0xEB,0x89,0x9A,0x97,0xDB,\r
+0x1F,0x02,0xCB,0x4D,0x5B,0xCE,0x11,0x9C,0x7C,0x9E,0x2E,0x66,0x30,0xF4,0x40,0x62,\r
+0x9F,0x0A,0x43,0xCD,0x1E,0xE9,0x73,0xBB,0xD3,0x7E,0x81,0x29,0xFE,0x1F,0x65,0xAC,\r
+0x1E,0x87,0x49,0xED,0x1D,0xB5,0x11,0xDC,0xC4,0x60,0x38,0x88,0xF2,0x9B,0x56,0x1D,\r
+0xEE,0x22,0x1C,0xB8,0xEB,0x0D,0xA9,0x92,0x8D,0x29,0x9A,0x63,0xA6,0x1F,0x02,0xCD,\r
+0xB2,0xCA,0xA8,0x0C,0x71,0x55,0xF1,0x50,0xF5,0x51,0x5C,0xDD,0xC0,0x9C,0x64,0x28,\r
+0x84,0xD1,0x85,0x21,0x3C,0xB4,0x10,0xFC,0x01,0xA5,0x80,0xF5,0xEB,0xE0,0x4F,0x7F,\r
+0x13,0x3D,0xFE,0x5A,0xBC,0x2F,0x8B,0xE7,0x07,0xA3,0xE1,0x92,0x19,0xAF,0xBD,0xC2,\r
+0x4B,0xF1,0x6A,0xCE,0xCD,0x3E,0x9A,0x87,0xC2,0x66,0x59,0xEF,0x87,0x1A,0x23,0xE9,\r
+0x4F,0xD5,0x4A,0xEE,0x30,0x60,0xC4,0x24,0x5D,0xF9,0x52,0x7B,0xE2,0xCB,0x46,0x5D,\r
+0x4C,0xC9,0x55,0xF1,0x20,0xAB,0x0F,0xFF,0x44,0xE0,0x30,0x00,0x74,0x74,0xD0,0x74,\r
+0xC4,0x81,0x95,0x31,0x61,0x9E,0x3A,0x8B,0xD0,0x74,0x68,0xCC,0xA7,0x3E,0x03,0xED,\r
+0xA7,0xEC,0x9B,0x3F,0x52,0x47,0xE3,0x61,0x89,0x2D,0x8A,0x77,0x03,0x86,0xA7,0xF1,\r
+0x97,0xD9,0x9E,0x3A,0x25,0x8A,0x2E,0xDB,0x6D,0xC9,0x16,0x0F,0x72,0x13,0xD6,0x15,\r
+0xAD,0x6E,0x13,0xB7,0x09,0xB1,0x15,0xCC,0x95,0x31,0xD8,0x39,0xAA,0x01,0x0E,0xDF,\r
+0x9D,0x5B,0x16,0xB2,0x90,0x14,0xB0,0xF0,0x6F,0xCB,0x67,0x7C,0x40,0x14,0xE4,0x20,\r
+0xE2,0x8E,0xBC,0x18,0x2E,0x6C,0xC8,0x36,0x08,0xAC,0xA2,0xDE,0xA0,0x78,0x04,0xAC,\r
+0x49,0xFB,0x62,0xC6,0x65,0x51,0xF5,0x40,0xC8,0x6C,0x2A,0x96,0x49,0x3F,0xED,0x02,\r
+0xA9,0x4A,0x33,0x97,0xE6,0x37,0x93,0xA5,0x23,0x87,0xF5,0xA2,0xD8,0xC6,0x7C,0x6A,\r
+0xC9,0x3B,0x22,0x86,0x70,0xBB,0x1F,0xBF,0x57,0xF3,0x21,0x02,0x46,0x73,0xE2,0x41,\r
+0x51,0x67,0xE6,0x42,0xFA,0x28,0x8C,0xA6,0x7D,0xD9,0x56,0x5F,0x45,0x21,0xE1,0x10,\r
+0x4E,0xC3,0x5D,0xF9,0xF8,0x3B,0x9F,0xB7,0xBF,0x1B,0xAF,0x64,0x8B,0x04,0x2F,0xFB,\r
+0x66,0x6A,0xDC,0x78,0xDB,0x29,0x8D,0x86,0x1D,0xB9,0xD2,0xBB,0xE8,0xB2,0x4C,0x2E,\r
+0x1C,0x8D,0x41,0xE5,0x99,0xE1,0x45,0x0C,0xF8,0x5C,0x6E,0xE2,0x6B,0x68,0xCF,0x77,\r
+0x0A,0xB7,0x6D,0xC9,0x56,0x88,0x2C,0xAA,0x25,0x81,0x94,0xC5,0x66,0x57,0xC2,0x45,\r
+0x6F,0xF4,0x4B,0xEF,0x12,0x9C,0x38,0xFA,0x76,0xD2,0x05,0x07,0xEA,0xC1,0x4E,0x5F,\r
+0x09,0xAB,0x72,0xD6,0xED,0xD1,0x75,0x48,0x79,0xDD,0x46,0x4B,0xAF,0x34,0x0B,0xEF,\r
+0x0F,0x85,0x5A,0xFE,0x97,0x26,0x82,0xC5,0xBC,0x18,0xFE,0x36,0x4D,0x2B,0xE9,0x12,\r
+0x99,0x7F,0x36,0x92,0x37,0x52,0xF6,0x11,0x06,0xA2,0xC1,0xB3,0xC1,0xBD,0x65,0x08,\r
+0x3C,0xAC,0x40,0xE4,0x18,0x94,0x30,0xF8,0xA5,0x01,0x9C,0x4D,0x43,0x46,0xE7,0x71,\r
+0x7D,0xEA,0x47,0xE3,0xE8,0xF0,0x54,0x6C,0x59,0xFD,0x42,0x6F,0x10,0x84,0xB4,0xE0,\r
+0x37,0x38,0xDF,0x7B,0xEE,0x2C,0x88,0xB6,0xE7,0x43,0x6D,0xFE,0x63,0x62,0xC7,0x75,\r
+0xD3,0xAD,0xAE,0x0A,0xB4,0x34,0x90,0xF4,0x69,0xCD,0x06,0x1B,0x2D,0xCF,0x89,0x96,\r
+0x5A,0xF3,0x79,0xDD,0xD3,0x32,0x96,0x95,0x30,0x94,0xE4,0xA0,0xD5,0xF9,0x71,0x58,\r
+0xC6,0x8B,0x9D,0x39,0x69,0x85,0x21,0x98,0x5F,0xFB,0x23,0x08,0x82,0x2F,0x26,0xD9,\r
+0x91,0xF7,0xB6,0x12,0xA7,0x02,0xA6,0xD1,0xFB,0x5F,0x3F,0xB0,0x58,0x4E,0xFC,0x62,\r
+0x8C,0x59,0x05,0xA1,0x89,0x2A,0x8E,0xD7,0x80,0x24,0xA8,0x5C,0x98,0x06,0x3C,0xEA,\r
+0xF9,0x0E,0x27,0x83,0x51,0xBA,0x1E,0x9F,0x7C,0xD8,0x76,0x7E,0x22,0x83,0x86,0xD5,\r
+0x01,0x23,0xF2,0x56,0x49,0x6A,0xCE,0x57,0xE9,0x4D,0x0E,0x93,0xCB,0xC4,0x6F,0x7B,\r
+0x0B,0xA1,0x7A,0xDE,0xD2,0xDC,0x78,0x7A,0x24,0x80,0xB4,0xE4,0xF4,0xFC,0x50,0x7C,\r
+0xF2,0x9A,0xB8,0x1C,0x31,0x8E,0x2A,0xCB,0xEC,0x48,0x3E,0xA6,0x35,0x95,0x91,0xD4,\r
+0x8E,0x53,0x0D,0xA9,0x48,0x84,0x20,0xB8,0xBE,0x1A,0x8F,0x45,0x9A,0x75,0x3E,0x9B,\r
+0x65,0x76,0xC3,0x67,0xA8,0x2B,0x8F,0xF7,0x99,0x3D,0xCA,0x27,0x1A,0xFD,0xBE,0x93,\r
+0xEC,0x28,0x14,0xB0,0xB8,0xE0,0x44,0x2C,0x68,0xCC,0x26,0x3A,0x8F,0x10,0x2B,0xEB,\r
+0x7E,0xF6,0x58,0xFC,0x40,0x9F,0x3B,0xAB,0x7F,0xDB,0x27,0x2C,0xB9,0x03,0x1D,0xCE,\r
+0x89,0x6B,0x32,0x96,0x0A,0x4C,0xE8,0x32,0xDB,0x7F,0x3B,0x94,0x61,0x11,0xC5,0x04,\r
+0xC3,0xB9,0xAA,0x0E,0x05,0x65,0xC1,0x14,0x3D,0x99,0xD6,0x9F,0xA2,0x0B,0x06,0xDD,\r
+0x4A,0xE7,0x7D,0xD9,0x5E,0x93,0x37,0xB9,0xA8,0x0C,0xAE,0x72,0x4A,0x6D,0xEE,0x53,\r
+0x4D,0xDF,0x42,0xE6,0x60,0x70,0xD4,0x64,0x15,0xB1,0xD0,0xB1,0x00,0xD4,0xA4,0xA0,\r
+0x78,0xD8,0x70,0xD4,0xAE,0xF7,0x53,0x2D,0x9D,0x39,0xDA,0x33,0xFA,0x91,0x5E,0x1F,\r
+0x44,0x41,0xD5,0x71,0xD0,0xCF,0x6B,0x6B,0x73,0xD7,0x35,0x32,0x54,0x50,0xF0,0x70,\r
+0x18,0xA9,0x61,0xC5,0x80,0xDF,0x7B,0x2B,0x1B,0xBF,0xB3,0xDC,0x48,0x1E,0xEC,0x22,\r
+0x8D,0x4F,0x12,0xB6,0x17,0xBD,0x19,0xDE,0x7E,0xDA,0x07,0x0D,0x0B,0x8C,0xAF,0xF3,\r
+0xB0,0xC0,0xA0,0x04,0x8F,0xF6,0x52,0x0D,0x1E,0xBA,0x83,0xE9,0xD3,0x9E,0x77,0x39,\r
+0x17,0x19,0xDE,0x7A,0x44,0x50,0xF4,0x60,0x81,0x25,0x88,0x7D,0xB3,0x7A,0x17,0xBD,\r
+0x2F,0xA4,0x5B,0xFF,0x9D,0x2E,0x8A,0xC7,0xCD,0x69,0x1A,0xA3,0x5C,0x5A,0xF8,0x72,\r
+0x90,0xE1,0xA1,0x05,0x66,0xAC,0x08,0xBE,0xA3,0x07,0xFD,0x2A,0x62,0x43,0xC6,0x55,\r
+0x54,0x55,0xD1,0x75,0x54,0x9B,0x3F,0xBB,0x09,0xAD,0x82,0xFF,0x33,0xF2,0x97,0xB5,\r
+0x5E,0xD7,0x59,0xFD,0xAA,0x38,0x9C,0xE6,0x53,0xF7,0x31,0x16,0xCA,0xE5,0x6E,0x5B,\r
+0x69,0xDA,0x63,0xC7,0x15,0xAE,0x0A,0xCF,0xAD,0x09,0x9E,0x47,0x1F,0xC8,0xBB,0xA3,\r
+0xF6,0xBE,0x98,0x3C,0xCE,0xC3,0x67,0x79,0x5B,0xFF,0x33,0x1C,0x4F,0x58,0xEB,0x63,\r
+0xBA,0x42,0x28,0x8C,0x24,0x64,0xC0,0x34,0x20,0x84,0xA4,0xF0,0xDA,0xB5,0x7E,0x1B,\r
+0x81,0xE3,0xB2,0x16,0xB6,0x27,0x83,0xE5,0xD2,0x76,0x19,0xBF,0x36,0xC7,0x92,0x85,\r
+0x73,0x4C,0xEF,0x4B,0xBA,0xF3,0x57,0x3D,0x4E,0xEA,0x43,0x79,0x11,0xA5,0xB5,0xC0,\r
+0x25,0x26,0xD3,0x77,0x29,0x5E,0xFA,0x03,0x13,0xB7,0xB1,0xD6,0x0F,0x98,0xAB,0xE3,\r
+0xE8,0x0C,0x34,0x90,0x2D,0x91,0x35,0xC8,0xA4,0x00,0xBC,0x6C,0x17,0xC2,0xB3,0xA1,\r
+0x29,0x8A,0x73,0xD7,0x5D,0x6E,0xCA,0x47,0x41,0xE5,0x00,0x35,0xCC,0x82,0x68,0x3A,\r
+0x02,0xDF,0x78,0xD0,0xE2,0xCE,0x66,0x21,0xE6,0x4E,0x27,0xCC,0x93,0x4D,0x3B,0xD3,\r
+0x29,0x6A,0xE6,0x4E,0x9F,0x0B,0xA3,0x99,0xF7,0x5F,0x47,0xBD,0x07,0x81,0xAF,0x8B,\r
+0x9D,0xBB,0x83,0x2B,0x0B,0x94,0x3C,0x92,0xA9,0x01,0xE4,0x40,0x27,0xA5,0x8F,0x8F,\r
+0xB4,0x04,0x15,0xBD,0x70,0x8D,0x25,0xF0,0x62,0xCA,0x3F,0x50,0x38,0xB9,0x90,0x8C,\r
+0xDD,0xEB,0x93,0x3B,0xF8,0x0D,0xA5,0xF8,0x7C,0xD4,0x1C,0x6D,0x24,0xF7,0x8C,0xDE,\r
+0x0D,0x6F,0xC7,0x6F,0x13,0x44,0xEC,0x5A,0xC4,0x6C,0x52,0x9B,0x71,0x52,0xD9,0x2E,\r
+0xE8,0xEC,0xA1,0x09,0xAD,0x3C,0x94,0x9C,0x9C,0x34,0x90,0x01,0xC5,0xBA,0x6D,0x72,\r
+0xBF,0x90,0x8A,0x22,0x85,0xC8,0x60,0x40,0x7D,0xD5,0x3C,0x4C,0xE8,0xA1,0x40,0x44,\r
+0xE0,0x64,0x21,0x89,0x0C,0xA6,0x0E,0xA7,0xDD,0x75,0x30,0xE0,0x7B,0x2B,0xD3,0x5D,\r
+0x6C,0x08,0xC1,0x69,0xAE,0xC1,0x69,0x62,0xA5,0x0D,0xF6,0x5E,0xD1,0xFE,0x79,0x22,\r
+0xC2,0x4F,0x28,0x80,0xE6,0x01,0xA9,0xEA,0x98,0x30,0x80,0x15,0x0F,0x8B,0xA7,0x89,\r
+0xAA,0xB6,0xB9,0x11,0xD2,0xEA,0x42,0x35,0xFE,0x56,0x65,0x96,0x5E,0x3A,0xF6,0x69,\r
+0x2D,0x4E,0xC6,0x6E,0xBC,0x19,0xB1,0xA8,0x57,0xFF,0x4B,0x11,0xF8,0xF1,0x50,0x04,\r
+0x31,0xF6,0x62,0xCA,0x07,0x40,0xE8,0x4A,0x8E,0x26,0xA1,0x22,0xF6,0x9C,0x5E,0x67,\r
+0xD5,0x63,0x13,0xBB,0x7F,0xA4,0x0C,0xD6,0x43,0xEB,0x1B,0x55,0xF3,0xA9,0x5B,0x57,\r
+0x1F,0x71,0xCB,0x63,0x49,0x5C,0xF4,0x18,0x78,0xD0,0x0C,0x79,0x7E,0x1E,0xD6,0x6D,\r
+0xB7,0x18,0x0A,0xA2,0x92,0x31,0x99,0xAE,0x28,0x80,0xCC,0xE9,0x2C,0xFD,0x84,0xDC,\r
+0x85,0x27,0x07,0xAF,0xB5,0xEC,0x44,0x54,0x41,0xE9,0x6A,0x26,0x00,0xC7,0xA8,0xCA,\r
+0x9F,0xB1,0x8B,0x23,0x77,0xBF,0x17,0xC5,0x55,0xFD,0x3A,0x62,0x26,0x84,0x8E,0xAF,\r
+0x2F,0x44,0xCE,0x66,0x3B,0xB0,0x18,0x86,0x18,0xB0,0x88,0x9D,0x1F,0xDB,0xB7,0xC9,\r
+0x81,0x03,0x27,0x8F,0x72,0x9E,0x36,0xE1,0x72,0xDA,0x7F,0x00,0x4F,0x4B,0xE7,0x09,\r
+0xD0,0x51,0x24,0x8C,0x2F,0xB4,0x1C,0x96,0xE1,0x49,0x66,0x8A,0x8B,0x17,0x23,0x91,\r
+0x3B,0x74,0xEA,0x42,0x14,0x76,0xDE,0x6F,0xF2,0x5A,0x77,0x88,0x30,0xB3,0x98,0x8E,\r
+0xEE,0xC2,0x89,0x21,0xCB,0xD4,0x7C,0x12,0xE0,0x48,0x46,0xAB,0xB1,0x1A,0x19,0xA6,\r
+0xB5,0x12,0x02,0xAA,0x8E,0x2E,0x86,0xAD,0xE5,0x4D,0x76,0x9E,0xB2,0x48,0x1A,0xF7,\r
+0x56,0xBF,0x4C,0xE4,0x6B,0xA0,0x08,0xC6,0xFD,0x55,0x34,0xC4,0xC3,0xDD,0x6B,0x13,\r
+0x98,0x89,0xB4,0x1C,0xD0,0xF9,0x51,0x24,0xFB,0x53,0x55,0xA3,0x14,0x83,0xBC,0x9A,\r
+0x19,0x5F,0xE3,0x4B,0x78,0x96,0x3E,0xE3,0x4C,0xE4,0x58,0x19,0xF0,0xFB,0x58,0x06,\r
+0xD2,0x5B,0x2C,0x84,0x46,0x75,0xDD,0x3E,0xEF,0x47,0x05,0xE7,0x37,0xF5,0x9F,0xCF,\r
+0xC8,0xCD,0xA0,0x08,0xC3,0xCF,0x67,0x01,0x9B,0x33,0xD1,0x47,0x5B,0x0F,0xF3,0x59,\r
+0xB1,0x36,0x22,0x8A,0x3D,0x6C,0xC4,0x5C,0x5D,0xF5,0x38,0x68,0x2D,0xDC,0x85,0xFC,\r
+0x20,0xF4,0x71,0xD9,0x1F,0x90,0x38,0x82,0x39,0x91,0xAC,0x98,0x2A,0x9A,0x82,0xBD,\r
+0xBC,0x8C,0x95,0x3D,0x94,0xED,0x45,0x74,0x15,0xBD,0xBA,0xA2,0x17,0xD1,0xBF,0xCB,\r
+0x14,0xE5,0x54,0xFC,0xD6,0x25,0x8D,0xFE,0x47,0xEF,0x0B,0x41,0xD5,0xEA,0x7D,0x32,\r
+0x5B,0x05,0xFB,0x53,0x35,0x77,0xDF,0x4F,0x4D,0xE5,0x78,0x38,0x60,0x23,0xC8,0x4E,\r
+0x53,0x8D,0x7B,0xD3,0x57,0x50,0xF8,0x0A,0xE2,0x4A,0x37,0xD8,0xAE,0x06,0x06,0xA5,\r
+0xA2,0x3E,0x39,0x91,0xC0,0x32,0x9A,0xFF,0xCB,0x63,0x11,0xD7,0xDB,0x87,0x73,0x51,\r
+0x2A,0x76,0xF9,0x51,0x2C,0x49,0xE1,0x68,0xE3,0x4B,0x17,0xF9,0x68,0x29,0xC0,0x4C,\r
+0x15,0xF3,0x43,0xEB,0x0E,0xB5,0x1D,0xB6,0x73,0xDB,0x5F,0x21,0x4A,0x7E,0xE2,0x39,\r
+0xBB,0xB4,0xAA,0x02,0xE3,0x20,0x88,0xCE,0xA3,0x0B,0x97,0x39,0x9F,0x53,0x37,0xC1,\r
+0x93,0x1D,0x2B,0x83,0x02,0x61,0xC9,0x6E,0x5A,0xF2,0x79,0x2E,0x10,0x97,0xB8,0x8A,\r
+0x60,0xA4,0x61,0xC9,0xC1,0xDC,0x74,0x10,0xB9,0x11,0xA4,0x10,0x2F,0xAF,0x87,0x8D,\r
+0xDF,0xE1,0x9B,0x33,0x43,0x54,0xFC,0x1A,0x3E,0x96,0xED,0xDE,0x1D,0xA8,0xB5,0xB8,\r
+0xB0,0x20,0x35,0x9D,0x42,0xBA,0x12,0xF5,0x06,0xAE,0xAB,0xA0,0xB8,0x31,0x10,0x84,\r
+0x2B,0x60,0xEE,0x46,0x4A,0xA1,0x09,0xE6,0x29,0x81,0xEC,0xC8,0x79,0x58,0xD1,0x2C,\r
+0x0E,0x73,0xD8,0x70,0x5C,0xB6,0x1E,0xE7,0x56,0xFE,0x6B,0x30,0x35,0x86,0x9D,0xBE,\r
+0xC4,0x61,0x00,0xA8,0xE4,0x12,0xBA,0xFB,0x85,0x2D,0xF2,0x7A,0x5F,0x1B,0xF7,0x49,\r
+0x1D,0x7B,0xC3,0x6B,0xEF,0xF4,0x5C,0x16,0xAC,0x04,0xD4,0x75,0xC7,0xC9,0x6F,0x03,\r
+0xB2,0x2A,0x3D,0x95,0xD3,0x04,0xAC,0xDA,0xE7,0x4F,0x07,0xED,0x36,0xD4,0x9E,0xEF,\r
+0x95,0x33,0x03,0xAB,0x5A,0x6A,0xC2,0x3D,0x65,0xCD,0x7E,0x16,0xCC,0x91,0x64,0x50,\r
+0x75,0x82,0x52,0xFA,0x8F,0xC0,0x68,0x42,0x52,0xFA,0x7B,0x24,0xBC,0x25,0x14,0x94,\r
+0x9B,0x95,0xAB,0x03,0x66,0x9A,0x32,0xF1,0xF1,0x59,0x26,0xDA,0x34,0xA7,0x9C,0x9E,\r
+0xE2,0x6E,0x29,0x81,0xAC,0xD2,0x7A,0x73,0x16,0xBE,0xEB,0xF0,0x0C,0xD9,0xA4,0xD8,\r
+0x33,0xFC,0x6A,0xC2,0x7D,0xB7,0x1F,0xC7,0x74,0xDC,0x1E,0x67,0x7F,0x3F,0xD7,0x4D,\r
+0xF9,0xEE,0xB2,0x1A,0x99,0xD7,0x7F,0x43,0x3F,0x97,0xCD,0xFF,0xCD,0xB0,0x65,0x70,\r
+0x7D,0x0A,0xD2,0x7A,0x0D,0x48,0xE0,0x48,0x99,0x31,0xA0,0x34,0xB3,0x69,0x1B,0xD7,\r
+0x00,0xD5,0x70,0xD8,0x09,0x87,0x2F,0x83,0x3A,0x92,0xFD,0xCA,0x82,0x3C,0x2A,0xB3,\r
+0x23,0xE8,0x6E,0xC6,0xA6,0xDA,0x72,0x71,0x97,0x3F,0xC3,0x59,0xBE,0x56,0x16,0xE5,\r
+0x61,0xB2,0x76,0xDE,0x1C,0x6D,0xC5,0x7C,0x58,0xF0,0x08,0x5D,0x59,0x7C,0xF1,0x28,\r
+0xFA,0xF2,0xAD,0x05,0x45,0x88,0x20,0xC0,0xA7,0x0F,0x87,0x2D,0x1E,0xFA,0xB6,0xE9,\r
+0x63,0xB8,0x7E,0xD6,0x37,0x64,0xCC,0x5E,0x67,0xCF,0x0F,0x65,0x0E,0xAA,0xA6,0xA9,\r
+0xA3,0x28,0x2E,0x86,0x6C,0x92,0x3A,0xF3,0x0A,0xA2,0xB9,0xBE,0xF5,0xCE,0x5D,0x36,\r
+0xDB,0xC5,0xBB,0x13,0x80,0xE9,0x41,0x64,0xAD,0x05,0xF4,0x54,0x45,0x32,0xED,0x7A,\r
+0x45,0xB7,0x57,0xFF,0xCF,0x1B,0xB3,0xD9,0xEE,0x46,0x25,0xC6,0xDF,0x93,0x77,0x41,\r
+0x3D,0x16,0x47,0xC2,0x47,0x22,0x16,0x8C,0x76,0x22,0xEC,0x73,0x8A,0x86,0xD7,0xE5,\r
+0x94,0x97,0xC6,0xEA,0x55,0x13,0x04,0xAF,0x0B,0x80,0x33,0xD1,0x5F,0xE5,0xB4,0x53,\r
+0x30,0x2C,0x7D,0xF5,0x46,0x02,0x17,0xAD,0xF2,0x42,0x08,0x13,0xB4,0x2B,0x7A,0x76,\r
+0x6C,0xE8,0xB9,0x6D,0xD5,0x1B,0x84,0x27,0x85,0x68,0x55,0x39,0xE5,0x28,0x79,0x24,\r
+0xFC,0xB8,0xE9,0xAD,0xBF,0xEC,0xEE,0xBA,0xE2,0x46,0x1C,0x17,0x4B,0xC1,0x90,0x63,\r
+0xA3,0x81,0xD0,0xCB,0xF2,0x5E,0xA3,0x45,0xA1,0x49,0x50,0x18,0xFB,0x84,0xD5,0x96,\r
+0xE0,0xA7,0xF6,0xAE,0xE6,0x0E,0xB7,0x01,0x30,0x1A,0x92,0x4B,0xE1,0x08,0x59,0x00,\r
+0xDA,0x8B,0xDA,0xB8,0x8F,0xA8,0xDE,0xCE,0xCA,0xC7,0xB5,0x96,0xD3,0x05,0x54,0x3F,\r
+0xBD,0x8D,0xDC,0xD9,0x9E,0xC8,0xCF,0xBF,0xE6,0x66,0x38,0x37,0x44,0x7E,0x2F,0xD3,\r
+0xFB,0x8A,0xDB,0x98,0xFA,0x5C,0xAB,0x4F,0x38,0x9A,0x1A,0xCB,0xD5,0x2D,0x7C,0x11,\r
+0x28,0xFC,0xAD,0x3D,0x3C,0xB5,0x6D,0x60,0x65,0x39,0xE4,0x68,0xAC,0xAF,0xFE,0xEA,\r
+0xD2,0x90,0xC1,0xAB,0x48,0x61,0x19,0xC0,0x5A,0x83,0x61,0xD2,0xB6,0x23,0x72,0x7C,\r
+0xDC,0x57,0x06,0x62,0xEB,0x3C,0xBA,0x3E,0x87,0x60,0x5F,0x31,0x7D,0xEC,0xBD,0x78,\r
+0xA4,0xB3,0xE2,0xFE,0x5C,0x31,0x0D,0x84,0x40,0x0F,0xF7,0x5E,0xFC,0xBB,0xEA,0xAE,\r
+0xFA,0x64,0x35,0x77,0x5A,0x50,0x0B,0xE3,0xA2,0x56,0x4C,0x07,0x32,0x43,0x12,0x98,\r
+0x6F,0x15,0x44,0x93,0x42,0x12,0x13,0xB9,0xC9,0xD8,0xA9,0x89,0xD1,0x0D,0x5C,0x35,\r
+0x86,0x4F,0x1E,0x20,0xDA,0x58,0x8B,0x6B,0x24,0x3E,0xA2,0x6F,0xDB,0x85,0xD4,0xB7,\r
+0x9D,0x62,0x33,0x16,0x3B,0xF4,0x6A,0x26,0xF8,0xCA,0x8A,0x9B,0x8C,0xAE,0xFF,0xCB,\r
+0x75,0xD6,0x87,0x4A,0x63,0x36,0x32,0xBC,0x3E,0xB2,0x34,0xE3,0x69,0xC8,0x99,0x48,\r
+0xD0,0x83,0xD2,0xBA,0xDB,0x78,0x8A,0x4A,0x9C,0xFB,0xDF,0xAA,0xB9,0x9C,0xCD,0xCC,\r
+0x9E,0x9F,0xCE,0xE8,0xC5,0x5B,0x94,0x77,0x94,0x7B,0x57,0x2A,0xD0,0x1A,0x4B,0x23,\r
+0x82,0x80,0xD1,0xEB,0x0E,0x80,0x5F,0x67,0xF6,0x62,0x2C,0x33,0xF9,0x8C,0xDD,0x9C,\r
+0xA6,0xA0,0xF1,0xEF,0x50,0x23,0x01,0x9A,0xFD,0xFD,0xB8,0xAC,0x4D,0xE9,0xB8,0x4D,\r
+0x6A,0x34,0x65,0xB7,0x41,0x43,0x10,0xEB,0x45,0x38,0xC5,0x69,0x66,0x77,0x26,0xF8,\r
+0x39,0xD9,0x88,0x09,0xDF,0x68,0x8E,0x5E,0x7C,0xAA,0x6E,0xFB,0x7B,0xC4,0x95,0x56,\r
+0x8E,0x54,0x05,0x33,0xE4,0x7F,0xB5,0x72,0xB2,0x52,0x58,0x03,0xB1,0x1C,0x4D,0x44,\r
+0xBB,0x51,0x00,0x03,0x29,0xC5,0x78,0x05,0x2E,0xB6,0x20,0xE7,0x55,0x6D,0x3C,0xD1,\r
+0xD6,0x5F,0x0E,0x60,0xF0,0x2F,0xA1,0x36,0xCC,0xEF,0x9B,0xBE,0x49,0xC9,0x98,0x69,\r
+0x1D,0xF9,0xA8,0x0D,0x59,0x01,0x08,0xB1,0x51,0x1C,0xF5,0x4D,0xCE,0xB6,0xE7,0x91,\r
+0xAC,0xA8,0xF9,0xED,0x3F,0xE4,0x6E,0x32,0x8E,0xF7,0xC1,0xA6,0xA6,0x27,0x76,0x68,\r
+0xD9,0x76,0x27,0x46,0x02,0x92,0x53,0x79,0x06,0x37,0x89,0x66,0x08,0xCE,0x9F,0x2F,\r
+0x0C,0xDC,0x8D,0x39,0x7A,0x54,0x2B,0xC7,0xC3,0x50,0x2B,0x01,0x84,0x2E,0x7F,0x43,\r
+0x4E,0x14,0x45,0xB3,0x3E,0xC4,0x6F,0x13,0x2C,0xBE,0x2A,0xEF,0x19,0xDD,0x8C,0x2D,\r
+0x97,0x6A,0x3B,0x14,0x98,0xA9,0xC9,0xD8,0x27,0x21,0xBE,0x70,0x9D,0xBD,0xEC,0xC9,\r
+0x18,0xD8,0x89,0x29,0xD3,0x7A,0x82,0x40,0xA3,0x41,0x5A,0x10,0x57,0x65,0x34,0xDB,\r
+0xFE,0xAB,0xFA,0xBC,0xB1,0x8F,0xE0,0xD7,0x17,0x24,0x8B,0x75,0x86,0x26,0x77,0x49,\r
+0x80,0x93,0xC2,0xFA,0x56,0x42,0x07,0xFD,0x95,0x6C,0x41,0x3D,0xFF,0xA4,0xF5,0xB2,\r
+0x02,0x1B,0x4A,0xF0,0xF5,0x1F,0xA4,0x03,0x26,0x36,0xA8,0x67,0x11,0x5D,0x0C,0xA5,\r
+0xB6,0x6B,0x3A,0x34,0xC2,0x1A,0x93,0x31,0x59,0x9C,0x7D,0xCD,0xF1,0x0C,0x5D,0x14,\r
+0xF3,0x91,0xC0,0x8B,0x40,0x63,0x11,0xCA,0xBE,0xF2,0xF4,0xA3,0xD6,0x32,0x63,0x0D,\r
+0xB4,0x78,0x29,0x25,0x49,0x41,0x18,0xE1,0xBD,0xED,0xE8,0xBC,0x21,0x58,0x09,0x90,\r
+0x15,0xE2,0xB3,0x1E,0x0A,0x90,0x5B,0x73,0x00,0x1F,0xA7,0x4E,0xBF,0xB4,0xE5,0xE2,\r
+0xE9,0x52,0x03,0x52,0xAD,0xDD,0xFC,0x99,0x97,0x64,0x4B,0x35,0xC7,0x21,0x70,0x0F,\r
+0x8D,0xA9,0xF8,0xCD,0xC0,0x6B,0x91,0x42,0x3A,0x92,0x10,0xC3,0x07,0x71,0x20,0x9F,\r
+0xDD,0xB9,0xE8,0x8D,0x00,0xE3,0x51,0x0A,0xA4,0x7E,0x62,0x2F,0x9E,0xA2,0xF3,0xD5,\r
+0x5B,0xFE,0xAF,0x4C,0xFF,0x6C,0xAE,0x7A,0x18,0x9B,0x3B,0xCA,0x05,0x79,0x28,0x95,\r
+0x71,0x19,0x48,0x81,0x30,0xA7,0x61,0x7E,0x15,0x2C,0x81,0x7D,0x47,0x61,0x30,0xCF,\r
+0x1B,0x25,0x74,0xD7,0x9D,0x99,0xCC,0xED,0xE7,0x71,0x2E,0x20,0x64,0x7F,0x2E,0xF2,\r
+0x74,0x38,0x69,0xA5,0x04,0xF3,0x55,0x1E,0xAA,0xD6,0xC4,0x87,0xDF,0xA5,0xF4,0x93,\r
+0x59,0xED,0xBC,0x5D,0xD4,0x3B,0x85,0x06,0xD2,0x43,0x29,0x12,0x71,0x4C,0x1D,0xD4,\r
+0x0E,0xCF,0x9E,0x28,0x44,0x73,0x15,0xDE,0x0C,0xBF,0x0B,0xEE,0x4E,0xF6,0xA7,0x51,\r
+0xA0,0x7C,0x2D,0x35,0x6C,0x75,0x3D,0xF0,0x9B,0xC4,0xE7,0x95,0xC6,0x36,0x67,0x19,\r
+0x21,0x09,0x58,0xC1,0x45,0x53,0x14,0xFF,0x6E,0xA6,0x70,0xF7,0x37,0x74,0x25,0xAA,\r
+0x04,0xC7,0x96,0x2A,0xEA,0x1C,0xBB,0x1F,0x2B,0x81,0x12,0xD0,0x3F,0xF4,0xA5,0x22,\r
+0xCD,0x72,0x23,0x56,0xE0,0x6F,0xB1,0x66,0x9A,0xD3,0xF1,0x82,0x70,0x5B,0x0A,0xC2,\r
+0xF6,0xB0,0xE1,0xAF,0xB2,0xDE,0xE3,0x85,0x10,0x1B,0xB3,0x4A,0xD8,0x9A,0xCB,0xAB,\r
+0xEE,0x60,0x31,0x67,0x0B,0xB0,0x5A,0x52,0x72,0x02,0xC8,0x53,0x79,0xCC,0x9D,0x5C,\r
+0x3C,0xF8,0xA9,0x2D,0x22,0x96,0x73,0x5D,0x9F,0xE4,0xC3,0xB5,0xA0,0x0F,0x5E,0x46,\r
+0xA1,0x92,0xC3,0xDA,0xF1,0x0F,0xA0,0x17,0x83,0x40,0x7B,0x11,0x6A,0xD7,0x86,0x54,\r
+0x7F,0xDE,0x8F,0x48,0x8E,0x88,0xDF,0xEF,0x82,0x57,0x6D,0x06,0x4F,0xE1,0xB0,0x47,\r
+0x16,0x1F,0x4E,0xE0,0xA1,0xCF,0xF0,0x87,0x91,0x4C,0x65,0x1D,0xD4,0x3A,0x6B,0x07,\r
+0x8F,0xBA,0xEB,0xDC,0x99,0x89,0xC8,0xF9,0x7E,0xA2,0x64,0xF3,0xBB,0x94,0xC5,0xC6,\r
+0x88,0x88,0xD9,0xE9,0x1E,0xC0,0x4F,0x37,0x74,0x2A,0xE6,0x7B,0x04,0x6E,0x3F,0x83,\r
+0xB0,0xB7,0xE6,0xEE,0xFD,0x1D,0xAC,0x09,0x0A,0x97,0x25,0xC6,0xF7,0x24,0x75,0x3A,\r
+0xE8,0xBF,0xFA,0x80,0x7A,0xE7,0x58,0x8F,0xC9,0x11,0xA1,0x1D,0xEA,0x48,0x67,0x82,\r
+0x06,0x50,0xFB,0x6E,0x15,0x49,0x99,0x21,0x6C,0x88,0x04,0x21,0xD2,0x0E,0x19,0xBA,\r
+0xDD,0xCB,0xBB,0xB5,0x36,0x57,0xA4,0x3F,0xC4,0x2E,0xAC,0x2F,0x8E,0xDC,0x97,0xE6,\r
+0x60,0xB5,0x78,0x08,0xC5,0x1D,0x1D,0x75,0xFB,0x16,0x93,0x28,0x6D,0x01,0xA9,0x05,\r
+0xAE,0x5E,0x5D,0xC6,0x61,0x7C,0xD8,0x14,0x8B,0xA2,0xE3,0xEC,0x51,0x57,0xC3,0x39,\r
+0x48,0xB3,0x56,0x20,0xB8,0xBF,0xC2,0xD7,0x13,0x70,0x7B,0xA6,0x78,0x71,0xCC,0x10,\r
+0x1D,0x43,0xF3,0x75,0x8E,0x92,0xD9,0xFA,0xAD,0xE1,0xC5,0x89,0xFD,0x49,0x71,0x95,\r
+0x0A,0x42,0xE5,0x62,0xAB,0xA4,0xCA,0xCC,0xE1,0x3F,0x89,0x1B,0x82,0xCE,0x89,0xEA,\r
+0xCB,0xEA,0x8C,0xA3,0xFE,0x87,0xBC,0xEF,0xB4,0x9A,0xDC,0xEB,0x99,0xDD,0x81,0xF1,\r
+0xEC,0xAF,0xEE,0x84,0xF6,0x07,0x34,0x6F,0x7A,0xBF,0x12,0x00,0x36,0x92,0x61,0x5E,\r
+0x51,0xD1,0x2D,0x39,0x19,0xE9,0x35,0x81,0xC3,0x68,0xAB,0x6E,0xC1,0x1F,0x1B,0xA9,\r
+0x99,0x5B,0x6F,0xF1,0xB1,0x28,0x5C,0x40,0x01,0x53,0x69,0x97,0x93,0xAE,0xF8,0xFB,\r
+0x09,0x13,0xB7,0x61,0xB0,0x3F,0x4A,0x57,0x9E,0xC7,0xF6,0x9C,0xA7,0xFA,0x98,0xCF,\r
+0x9C,0x6B,0x5A,0xF4,0x1E,0xD6,0x0D,0xBE,0x4B,0xEA,0x23,0x64,0x77,0x32,0x80,0x1F,\r
+0x8E,0x5A,0x79,0xE6,0x07,0x45,0x87,0x2D,0x0F,0x3E,0x67,0xF4,0x1F,0xB4,0x6E,0x77,\r
+0xF5,0xCD,0x95,0x9D,0x8F,0x85,0xCF,0xED,0xBC,0x90,0xD4,0xE9,0x37,0xB2,0x40,0x5F,\r
+0xD1,0xD9,0xA5,0xB9,0xC4,0x0A,0x0B,0x62,0x8D,0xC5,0xE5,0x8D,0x8C,0xAD,0xE4,0xE4,\r
+0x34,0x65,0xFC,0x5C,0x5F,0xD1,0x4B,0xB9,0xCA,0x43,0xA2,0x4C,0x73,0x22,0x94,0x1B,\r
+0x3B,0x26,0xB0,0x53,0xA5,0x0C,0x6C,0x64,0x56,0x85,0x3E,0x16,0xEE,0x58,0x73,0x86,\r
+0x66,0xD4,0x1F,0x0E,0x86,0x12,0x51,0x7A,0x6A,0xEF,0x02,0x40,0x43,0x66,0xE0,0x2B,\r
+0x55,0xC1,0x39,0x3D,0x7E,0xC7,0x7C,0xAF,0x91,0x8B,0xF9,0xDF,0x79,0x51,0xED,0x11,\r
+0xA7,0x7C,0x76,0xCF,0xE0,0x2B,0x0E,0x43,0x0B,0x2A,0x63,0xE4,0x3A,0x80,0x7F,0x52,\r
+0xD8,0xFB,0x8E,0xB0,0xC6,0x02,0x01,0x6A,0xDA,0x13,0xB2,0x0C,0xB3,0xAA,0xDC,0xDB,\r
+0x2E,0x56,0xD5,0x46,0x06,0x52,0x91,0x3A,0x21,0x77,0x49,0x93,0xDE,0x1C,0x07,0xB6,\r
+0x7C,0xE7,0x36,0x14,0xD0,0x2E,0x3B,0x46,0x68,0x9C,0x00,0x31,0x86,0xDE,0x9D,0xEE,\r
+0x26,0x54,0xDF,0x4E,0x3E,0xD7,0x2C,0xBF,0xE0,0x1E,0x88,0x3B,0x25,0x83,0x63,0x4D,\r
+0xB8,0x7F,0x6A,0xD0,0x17,0x41,0x93,0x29,0xE2,0x6D,0x8A,0x4A,0x33,0xA2,0x54,0x5B,\r
+0xD6,0x98,0xE3,0xBE,0x30,0x7F,0x8A,0x17,0x18,0x28,0x70,0xF5,0xB1,0xDB,0xAF,0xD9,\r
+0x6B,0xE6,0x20,0x03,0x5C,0xCE,0x57,0xA6,0x19,0x09,0x71,0xD5,0xEB,0x68,0x46,0x83,\r
+0xF4,0xED,0xB4,0x9C,0xD8,0xAE,0xB3,0xC6,0x67,0xD0,0x0F,0x72,0x4D,0x05,0x8D,0x25,\r
+0x6E,0xD6,0x15,0x06,0x47,0x55,0xD7,0x3D,0xD8,0x60,0xB0,0x7D,0xC2,0x4E,0x49,0xAA,\r
+0x0B,0x62,0xC4,0x63,0x96,0x16,0x45,0x7E,0xAB,0x86,0xC3,0xE8,0xA0,0xBB,0xDE,0xC8,\r
+0xBD,0x4F,0x5F,0xD5,0x67,0x54,0xF6,0x3C,0xDB,0x32,0xB3,0x2C,0x4C,0x25,0xAC,0x24,\r
+0x56,0x90,0x6B,0x3E,0x0F,0xC5,0x0F,0xAD,0x8A,0x83,0xE2,0xCC,0x2A,0xC0,0x2F,0x42,\r
+0x1A,0x02,0xB5,0x72,0x45,0x5D,0xDD,0x35,0xAF,0x92,0xC7,0xF8,0x09,0x95,0x59,0x61,\r
+0x7D,0xC7,0x17,0x15,0xC9,0xBD,0xB1,0xD5,0x05,0x47,0x6D,0x87,0x71,0x53,0xE7,0x19,\r
+0x18,0x73,0xC6,0x70,0x70,0x6F,0xDA,0x07,0x27,0x10,0x4F,0xF2,0x97,0xBE,0xEC,0xFF,\r
+0xE0,0xBD,0xF0,0x88,0xBA,0xB7,0xC8,0xDF,0xAA,0xA7,0xC2,0xC8,0xAC,0xA9,0xC0,0xC4,\r
+0xA5,0x0D,0x05,0xCD,0x88,0xBA,0xF7,0xD2,0x2C,0x48,0x44,0xA1,0x83,0xEE,0xA8,0xEB,\r
+0xFC,0xEF,0xBE,0x94,0x94,0x1E,0x4F,0x76,0x22,0x25,0x4A,0xC2,0x5A,0x04,0x9B,0x32,\r
+0x28,0x37,0xB2,0x40,0x38,0xFF,0x02,0x97,0xF3,0x1C,0x9B,0x2A,0x7D,0x41,0xF9,0x15,\r
+0x31,0x55,0xC9,0x59,0x11,0x69,0xBD,0x01,0xEC,0x00,0x84,0x29,0xB6,0x9A,0xE9,0xDE,\r
+0x72,0x84,0x5B,0x1A,0xA7,0x04,0x66,0x6C,0x47,0xF4,0x2F,0x76,0x32,0x82,0x75,0x5A,\r
+0xB7,0x3C,0x26,0xDF,0x8C,0x9A,0xD3,0xF2,0xD3,0x38,0xBB,0x2E,0x23,0xE2,0x04,0x4B,\r
+0x80,0x39,0x14,0xE8,0x4D,0xDD,0x55,0xB5,0x11,0x03,0x79,0xD7,0x48,0x35,0xB8,0x20,\r
+0x74,0xE5,0x3C,0x1C,0x1A,0xF6,0x29,0x9E,0x3C,0x18,0x54,0xE1,0xA9,0x99,0xF5,0xC1,\r
+0xB1,0x5D,0x41,0xD9,0x78,0xEF,0x52,0x87,0xF0,0x4E,0x98,0x7B,0xA8,0xB9,0xD4,0xC0,\r
+0xF8,0xFF,0xAA,0x90,0xA8,0xBB,0xD6,0xD3,0xA5,0xEB,0xCD,0x8B,0x10,0xF7,0x22,0x78,\r
+0x45,0x81,0x69,0x2D,0x3D,0xC8,0x30,0xA0,0xC0,0x3A,0xA8,0x3F,0x2F,0xF0,0x1A,0x47,\r
+0x2A,0x46,0xC1,0x42,0xBC,0x9F,0xE6,0xF7,0x24,0x42,0x4C,0xA3,0x98,0xFD,0xA0,0xF0,\r
+0x92,0x08,0x37,0xFA,0x10,0x7E,0xAB,0x16,0x66,0xF1,0x0E,0x52,0x31,0xD3,0x27,0x59,\r
+0x1C,0x63,0xD2,0x74,0xF3,0x30,0x06,0x58,0x17,0x64,0x7F,0xB6,0x29,0x91,0x7D,0x41,\r
+0xD0,0xF9,0x84,0xB8,0x14,0x5E,0x8F,0x36,0xF9,0x65,0x91,0x59,0x89,0x9D,0xD1,0xE1,\r
+0x2C,0x27,0xA6,0x44,0x85,0x0D,0x4D,0x65,0xFE,0x23,0x96,0x18,0xED,0x09,0x21,0x85,\r
+0xC9,0x9B,0xFF,0xA1,0x77,0x50,0xE2,0x38,0xE3,0x4C,0x8B,0x6A,0x3B,0xA0,0x5E,0x53,\r
+0x73,0xA4,0x7A,0x1B,0x6D,0xDC,0x74,0xB4,0x8F,0xB6,0xE7,0xFC,0x4F,0x74,0xFE,0x27,\r
+0x03,0x60,0xCE,0x6B,0x3A,0xF7,0x08,0x9F,0xF2,0x3D,0x9A,0x0A,0x81,0x9F,0xDB,0xE9,\r
+0x0C,0x23,0x82,0x64,0x8A,0xB2,0xFD,0xDA,0xCB,0x62,0xA3,0x6C,0xCC,0x2D,0x24,0xA4,\r
+0x8D,0x0B,0x2B,0xE5,0x12,0x76,0xA1,0x1E,0xF8,0x44,0x90,0x79,0xFC,0x69,0x50,0x94,\r
+0x50,0xF1,0x0C,0x38,0x20,0x7B,0x9E,0x13,0xD4,0x7E,0xBC,0x6F,0x95,0xCF,0x9F,0xFD,\r
+0xCA,0xCA,0xAD,0xA2,0x9E,0x96,0xCD,0xFE,0xE4,0x0A,0x8C,0x2B,0x26,0xD2,0x31,0x4E,\r
+0x68,0xB7,0x72,0x00,0x4B,0xF5,0x7B,0x9D,0x65,0xA3,0x0D,0x03,0x34,0xE3,0x12,0x5C,\r
+0x22,0x44,0xCB,0x4A,0x24,0x5B,0xBA,0x33,0x9B,0xF2,0xF3,0xAC,0xA6,0xDA,0xB9,0xCE,\r
+0x08,0x33,0x96,0x60,0x75,0x58,0xE8,0x30,0x5F,0xAE,0x37,0x34,0x35,0xC3,0x33,0x5D,\r
+0x33,0xFD,0xF8,0xFA,0xDE,0x8C,0xAD,0x10,0xC5,0xCA,0x3E,0xF0,0x67,0x97,0x0F,0x59,\r
+0x0B,0xC5,0xBE,0x84,0x7B,0x15,0x91,0xB5,0x04,0xA5,0x90,0x5E,0x66,0x79,0xE0,0xB7,\r
+0x57,0x99,0x6C,0x0A,0xD3,0xB3,0x9F,0x1D,0x39,0x86,0x8E,0x40,0x26,0xA2,0x7B,0x6C,\r
+0xB4,0x7A,0xB1,0x34,0xEC,0x8B,0x98,0x22,0x80,0x75,0xC4,0x0A,0xE5,0x1F,0x05,0xD1,\r
+0x88,0x46,0xE7,0x5E,0x9C,0x3F,0x5C,0x52,0x45,0xD1,0xA5,0x6B,0xC0,0xD1,0xEE,0x1F,\r
+0xA1,0x6F,0xC1,0x51,0x04,0xED,0x16,0xCA,0x5F,0x08,0x66,0xA8,0xCB,0x37,0x03,0xF9,\r
+0x24,0xEA,0xF9,0xEC,0xBA,0x7C,0x39,0x74,0x44,0x3E,0x4B,0x85,0x6E,0x62,0xF3,0xAC,\r
+0x5B,0x95,0x7E,0x14,0xF6,0xA2,0xAB,0x38,0x57,0x1B,0x7D,0xB3,0x78,0x75,0xF2,0xBB,\r
+0x40,0x8E,0x6D,0x1C,0xA3,0x07,0x5B,0x6D,0x21,0x4E,0x5E,0x90,0x11,0xB4,0x5A,0x7A,\r
+0xEF,0x21,0x22,0xFC,0x6D,0x22,0xB0,0xA3,0xA9,0x46,0xDE,0x10,0x73,0x93,0x1F,0x5D,\r
+0x18,0xD6,0xAF,0x86,0xD4,0xF5,0xDE,0x1A,0xA8,0xA9,0x30,0xFE,0xB0,0x2E,0x61,0xE0,\r
+0x4A,0x84,0x1E,0x65,0x16,0xCE,0x27,0xD8,0xC1,0x01,0xF1,0x3F,0xF2,0xE6,0xEB,0x28,\r
+0x7E,0xB0,0x4A,0x05,0x89,0x5A,0x2C,0x47,0xD7,0x00,0xE6,0x28,0x2A,0x76,0xA3,0xB8,\r
+0xAE,0x60,0x82,0x1D,0x5C,0x77,0xD4,0x92,0x90,0xAE,0x0F,0xC1,0xC7,0xE3,0xDB,0x2D,\r
+0xC6,0x08,0x04,0xF3,0x18,0xA3,0x44,0xD6,0x1A,0xB7,0x9C,0x52,0xE4,0xF1,0xEA,0x3F,\r
+0xEE,0x20,0x02,0xDD,0xAB,0x0D,0x59,0x65,0x52,0x3F,0x5C,0x92,0x08,0x8A,0x7D,0x44,\r
+0x55,0x9B,0x1D,0x79,0x9A,0x58,0x3D,0x54,0x96,0x74,0xD3,0x1D,0x38,0xAE,0x69,0x60,\r
+0xAA,0x64,0x92,0x09,0xDD,0xDE,0xFC,0x13,0xD6,0xEF,0x08,0xC6,0x61,0x4B,0xD5,0x85,\r
+0x37,0xF9,0xE8,0xEE,0x41,0x18,0xA6,0x8F,0xF1,0x15,0xD5,0x1B,0x2D,0x44,0x96,0x8A,\r
+0x9A,0x54,0xD6,0x7D,0x7D,0x72,0xF0,0xB3,0xCC,0x36,0xCB,0x05,0x82,0x19,0x64,0xD7,\r
+0xA0,0x6E,0xE1,0x70,0x86,0x16,0x6F,0x48,0xE1,0xCE,0x1E,0xD0,0xA4,0x2A,0x71,0xE4,\r
+0xE3,0x2D,0x30,0xE2,0x1C,0xB7,0x54,0xD2,0x93,0x50,0xF2,0x3C,0xEB,0xD8,0xCC,0x16,\r
+0x6A,0xA4,0x1A,0x41,0xCD,0x8E,0xBC,0x03,0x9C,0x76,0xDB,0x15,0x13,0xA7,0x4B,0x69,\r
+0x07,0xC9,0xAC,0x9A,0x36,0xEA,0x23,0xF8,0x0C,0xB6,0x8B,0x45,0x48,0x51,0xE6,0x9F,\r
+0x5F,0x91,0x6E,0x00,0x7F,0x01,0x81,0xB1,0xA6,0x60,0xF7,0x39,0xAB,0x03,0x57,0xCD,\r
+0xFC,0x32,0x33,0xFE,0xF7,0x83,0x8B,0x39,0xB1,0x8E,0x0E,0xC0,0x42,0x59,0xE4,0x97,\r
+0xEA,0x24,0x12,0xC9,0xF5,0xF0,0xFA,0x3B,0x0E,0xA7,0x98,0x56,0xF7,0xC7,0xCF,0x09,\r
+0x68,0xA6,0x6B,0x32,0x0F,0xB5,0x45,0xC1,0x17,0x80,0xA6,0x68,0x7E,0xA9,0x28,0x67,\r
+0x32,0xFC,0xD8,0xDB,0x0E,0x94,0x65,0xC0,0xCA,0xEC,0x17,0xD9,0xBD,0x14,0x56,0xDA,\r
+0x94,0x5A,0xB5,0x10,0x70,0x4D,0xC2,0xBE,0x2E,0x68,0x77,0xB9,0x29,0x8B,0x5D,0x45,\r
+0x1B,0xD5,0xFE,0xD4,0xCF,0xFD,0xCD,0x01,0x4A,0xF7,0x8C,0x42,0x88,0x11,0x66,0xDF,\r
+0x79,0xB7,0x0B,0x43,0xBC,0x1B,0x58,0x72,0xD8,0x26,0xCF,0x01,0x59,0x74,0xD2,0xBA,\r
+0x95,0x5B,0x95,0x31,0xCC,0xAF,0x9C,0x02,0x6B,0xD7,0x8D,0x43,0xC2,0xC2,0xFF,0x0C,\r
+0xF3,0x3D,0x70,0xB2,0x9D,0x1E,0x7C,0x53,0x92,0xBF,0x1C,0xD2,0xF6,0x29,0x20,0xE7,\r
+0xD0,0x1E,0x25,0xC4,0xB8,0x0F,0x48,0x76,0x40,0xF5,0x84,0x4A,0x28,0x65,0xB2,0xAB,\r
+0xA8,0x66,0xE3,0x7A,0x12,0xDA,0x37,0xDC,0x2C,0x79,0x64,0xAA,0x8A,0x02,0x77,0xCC,\r
+0x4E,0x80,0x0E,0x71,0x30,0x8D,0x42,0xFE,0x47,0xC0,0xB6,0x78,0x5B,0x67,0xC3,0xA9,\r
+0x75,0xBB,0x19,0x5D,0xBD,0x3A,0x78,0x73,0x55,0x0A,0x6E,0xA0,0x6D,0x9F,0x0D,0x51,\r
+0x5A,0x94,0x5E,0x35,0x3B,0xD5,0x11,0xF5,0x6A,0x38,0x63,0xAD,0x98,0xDA,0xBD,0x14,\r
+0x83,0x4D,0xB4,0x06,0x35,0xB8,0x72,0xFB,0xD2,0x24,0xC7,0x09,0x23,0x83,0x5F,0x4D,\r
+0xA4,0x6A,0xF1,0x64,0xE4,0x81,0x9A,0x2A,0x9F,0x88,0x26,0xE8,0x2F,0x57,0x87,0x99,\r
+0x6F,0xA1,0x2A,0x74,0xFB,0x9D,0x99,0x35,0x20,0xA1,0xB0,0x7E,0x54,0x4E,0xE5,0x80,\r
+0xEB,0x25,0x32,0xE8,0x50,0x69,0xC6,0x9E,0xFB,0x17,0xDD,0x13,0xC6,0x0D,0x34,0xC3,\r
+0xFA,0x34,0x52,0x99,0xC4,0xA5,0x9E,0x0A,0x4E,0x3C,0x43,0x8D,0xBB,0xC8,0x8C,0x06,\r
+0x91,0x5F,0x85,0x25,0x06,0x9E,0x67,0xC8,0xC8,0xFD,0x04,0xCA,0x89,0xFF,0x89,0x31,\r
+0x70,0xBE,0x29,0x68,0x2B,0x85,0x51,0xE5,0xB4,0xAA,0x2F,0xE1,0xA1,0x0B,0x55,0xC5,\r
+0x71,0xBF,0x09,0x49,0xE7,0xD3,0xCB,0x29,0xCF,0xC8,0x36,0xF8,0xDC,0xCE,0xED,0x00,\r
+0xC9,0x07,0x47,0xBF,0xB2,0x76,0x3B,0x7C,0x4B,0x18,0x62,0xAC,0x37,0x87,0x4F,0x49,\r
+0xF6,0x38,0x40,0x87,0xD7,0xA7,0x8F,0x19,0xAD,0x8D,0x11,0xDF,0xF4,0x3A,0x31,0xF4,\r
+0x41,0x8F,0x4D,0x3D,0x33,0xDF,0x13,0xFD,0x7B,0x0C,0x46,0x88,0x5C,0x55,0xF6,0x9B,\r
+0xE8,0x26,0x63,0xBA,0x71,0x6C,0xE2,0xBF,0x36,0xA0,0xA7,0x69,0xAA,0xED,0xB8,0x23,\r
+0xF0,0x3E,0x21,0xE0,0x00,0xF9,0x06,0xCE,0x9B,0x43,0xE9,0x27,0x4F,0x63,0xD3,0xAD,\r
+0x50,0x9E,0x2D,0x4C,0xEE,0xF8,0xE9,0x20,0x12,0xA4,0x87,0x49,0x19,0xAF,0x49,0x61,\r
+0x34,0xFA,0xB9,0xBC,0xE9,0xBE,0xA8,0x27,0xD0,0x35,0xD4,0x1A,0x3B,0x53,0x97,0x9D,\r
+0xE2,0x2C,0x10,0xC3,0xF4,0xD1,0xDA,0x3A,0x7F,0xC7,0x89,0x47,0x62,0xB6,0x2B,0x78,\r
+0x96,0x58,0xC4,0x63,0x98,0x2B,0x4C,0x56,0xE9,0xDD,0x05,0xCB,0xE7,0x0C,0x14,0xC2,\r
+0x58,0x96,0x2F,0x46,0xE5,0xA0,0xBA,0x2B,0x95,0x8A,0x2E,0xE0,0x53,0x7C,0xD0,0xB2,\r
+0x15,0xDB,0x9D,0xB9,0xDC,0xFF,0xDC,0x12,0x60,0x3A,0x6B,0xA5,0x1F,0x73,0x93,0xBD,\r
+0x25,0xEB,0xD9,0xCD,0xEF,0xD9,0xC9,0x21,0x3C,0xA2,0xAF,0x61,0xB6,0xF2,0xBB,0x3C,\r
+0x4C,0x82,0x7F,0x02,0xC3,0xE3,0xDF,0x0D,0x03,0x90,0xA2,0x6C,0x91,0x2F,0x41,0xE1,\r
+0xFF,0x31,0x62,0xAC,0xF3,0x97,0x9B,0x3D,0x50,0x2E,0x4F,0x81,0x30,0xB5,0x7A,0x7B,\r
+0xED,0x23,0x53,0x8F,0x72,0x3E,0xB3,0xBC,0xE6,0xFB,0x2C,0xE2,0xEF,0x17,0x07,0xD9,\r
+0x7F,0xB1,0x6A,0x24,0x8C,0x6F,0x1C,0x42,0x27,0x94,0x82,0x4C,0x56,0x5D,0xF4,0x93,\r
+0xEC,0x22,0x73,0xAE,0x48,0x33,0x84,0x86,0x75,0xC5,0x81,0x4F,0x0B,0x77,0x83,0xB9,\r
+0x53,0x65,0x11,0x68,0xDA,0xD8,0x1E,0xEC,0x93,0x68,0xD1,0xE7,0x76,0x69,0x03,0x5F,\r
+0xC5,0xF3,0x38,0xD7,0xC3,0xA3,0x7C,0xF5,0x83,0xB3,0x1A,0x2C,0x6A,0x76,0x00,0x40,\r
+0xA8,0x9E,0x8E,0x0C,0x80,0x31,0xAD,0xB6,0x1F,0xAB,0x9E,0xA8,0x9E,0xDD,0x5F,0xEB,\r
+0x36,0x00,0xA5,0xB9,0x45,0x4C,0x15,0x73,0x6E,0xCB,0x8F,0xB9,0x52,0x49,0x07,0x7F,\r
+0x71,0x47,0x64,0x3F,0x72,0x7E,0x10,0x44,0xD2,0x1C,0xE4,0xD2,0x69,0x8B,0xFE,0xBD,\r
+0x5A,0x6C,0x33,0x43,0x86,0x56,0xCC,0xB0,0x9F,0xB0,0x05,0x33,0x72,0xA6,0xC8,0x90,\r
+0x43,0x75,0x51,0x38,0x43,0x2B,0x74,0x75,0xBE,0x90,0x04,0x32,0x24,0x6A,0x52,0x5C,\r
+0x17,0x21,0x81,0xBC,0x0A,0xC0,0xD6,0x3C,0x48,0xDE,0xBC,0x8A,0x81,0x3F,0xA2,0x09,\r
+0xF8,0xCE,0x4E,0x9C,0x4F,0x35,0x66,0x79,0xC6,0x0C,0xE0,0xD6,0x58,0x41,0x05,0x77,\r
+0x69,0x5F,0x26,0x65,0xA4,0x01,0xB9,0x92,0x45,0xE9,0x86,0xB0,0xE9,0x10,0xE5,0x26,\r
+0xF1,0xC7,0x6C,0xB7,0xE8,0xDF,0x2B,0xDE,0x33,0xBC,0xA5,0x93,0xF8,0x35,0xD1,0x03,\r
+0x11,0x27,0xE0,0xDB,0x8F,0x7D,0xEE,0xB9,0x8D,0x7A,0xDD,0xEB,0x2D,0x9F,0xAE,0xA9,\r
+0xC3,0xF5,0x59,0xB0,0xEA,0xAC,0x5A,0xDC,0x86,0x97,0x3B,0x0D,0x7A,0xBD,0xDB,0x8B,\r
+0x1B,0x2D,0x93,0xA2,0x12,0x9A,0x94,0x24,0xAA,0x80,0x00,0x36,0xCD,0x30,0xE1,0x06,\r
+0x16,0x20,0xA1,0x9D,0x57,0x6F,0x24,0x61,0xC2,0xC7,0x2F,0x19,0x22,0xB6,0x88,0x80,\r
+0xB2,0x84,0xBD,0x25,0x0E,0xD4,0xC6,0x38,0xF1,0x2D,0xF6,0xC0,0x4F,0xB8,0xEB,0x8E,\r
+0x5B,0x6D,0x13,0x62,0xF1,0xA4,0x49,0xC7,0xB1,0xB6,0x2D,0x1B,0x57,0x68,0x23,0x5E,\r
+0x1E,0x28,0xA3,0x97,0xFE,0xE8,0x0A,0xC8,0x4E,0x04,0x60,0x56,0x08,0x51,0x45,0x67,\r
+0xDA,0xEC,0x3B,0xCB,0x7F,0x41,0x22,0x49,0x3A,0x40,0x50,0x66,0x2E,0x62,0x50,0x54,\r
+0xD7,0xE1,0x09,0xF4,0xA2,0x66,0xD8,0x94,0xF5,0xE6,0x39,0x0F,0x14,0x4E,0x46,0x78,\r
+0x3A,0x0C,0xB7,0xA7,0x38,0xC7,0xE3,0x0E,0x5B,0xFB,0x8A,0xBC,0x60,0x7E,0x02,0x48,\r
+0x59,0x6F,0x62,0x11,0x9A,0x18,0x9E,0xAC,0x78,0xCA,0x98,0xAE,0xC9,0xFF,0x2A,0xC9,\r
+0xF7,0xC1,0x0D,0xD0,0xD0,0xA1,0x6D,0xE6,0xD3,0xF3,0x0A,0x3C,0x98,0x01,0x85,0x37,\r
+0xF4,0xC2,0x5C,0x82,0xFA,0xFC,0x1A,0xCC,0x59,0xEA,0x99,0xAF,0xC4,0xC5,0x1D,0xF3,\r
+0x64,0x52,0x14,0x5A,0xB7,0x03,0xA8,0x81,0x70,0xD9,0x83,0xB5,0x50,0x5A,0x16,0x6C,\r
+0x33,0x05,0x95,0x8C,0xD8,0xAB,0x6F,0xEE,0xCA,0xD4,0x34,0x02,0x28,0xBE,0x8A,0x88,\r
+0xD2,0xE4,0x39,0xC1,0x60,0x5D,0x21,0x56,0x4D,0xFA,0x9D,0xAB,0x9B,0xFC,0x7B,0xCA,\r
+0x9C,0xAA,0xDA,0x6C,0xEE,0xB8,0x4A,0xD8,0x17,0xB8,0x85,0xB3,0x0E,0x8D,0x9F,0xBB,\r
+0xF2,0xC4,0x3D,0xE5,0x22,0xEE,0xD0,0x14,0xBB,0xB4,0x25,0x13,0x0F,0x63,0x70,0x55,\r
+0xA1,0x97,0xAC,0x27,0xDE,0xCC,0x0E,0xE8,0x4B,0x20,0x41,0x77,0x49,0x64,0x31,0x52,\r
+0xFC,0xCA,0x5E,0x88,0x3B,0x95,0xB2,0x0D,0x34,0x89,0x97,0xA1,0x26,0x79,0x43,0x4F,\r
+0x70,0x46,0x44,0x1E,0x81,0x10,0x8D,0xB7,0x94,0x5D,0xE3,0xD5,0xDC,0x15,0xD5,0x23,\r
+0x2B,0x1D,0xD7,0xD6,0x39,0xE6,0xC3,0x0F,0xEB,0xF4,0x35,0x03,0xF0,0x2E,0xC2,0x18,\r
+0xAB,0x9D,0xDF,0x5E,0x1E,0x84,0x86,0x28,0x0B,0xBB,0x9A,0xAC,0xD5,0xE0,0x29,0xD6,\r
+0x45,0x73,0x30,0x5F,0xA3,0x47,0xF8,0x95,0x71,0x36,0x6D,0x5B,0x02,0x59,0x47,0x6F,\r
+0x84,0xB2,0x98,0x36,0x6B,0x05,0x72,0x5D,0x92,0x87,0x3F,0x09,0x39,0x9B,0xBE,0xAD,\r
+0x93,0xA5,0x99,0x20,0xFB,0xDD,0x3A,0xCD,0xF2,0xD3,0x0B,0x3D,0xAD,0x04,0xB5,0x32,\r
+0x7A,0x4C,0x37,0x67,0x6E,0x30,0x42,0x58,0xEA,0x1B,0xDB,0xED,0x80,0xD1,0x4D,0xE7,\r
+0xE9,0xDF,0x2E,0xED,0x7C,0x13,0x73,0x4A,0x04,0x9D,0xB3,0x85,0x54,0x95,0xDD,0xA3,\r
+0x29,0x1F,0xA6,0xA5,0x07,0xFF,0xE4,0x31,0x2A,0x9B,0x9B,0xAD,0xFA,0x26,0xC0,0x10,\r
+0x4B,0x7D,0x53,0x32,0x1A,0x90,0x96,0x2C,0x0D,0x61,0x46,0x70,0x7B,0x53,0x34,0x65,\r
+0xE5,0xD3,0x3C,0xF3,0xF4,0x91,0x79,0xC2,0x73,0x27,0x7E,0x48,0xE2,0xF6,0x08,0xC0,\r
+0xFB,0xCD,0x1F,0xCE,0x2F,0xD1,0xE2,0x19,0xFD,0xF5,0x22,0x14,0x44,0x5E,0x06,0x68,\r
+0xB1,0x87,0xEC,0x77,0x92,0x12,0x9C,0xA4,0xC3,0x28,0xC1,0xF7,0x7C,0x61,0x01,0x57,\r
+0xD0,0xE6,0x48,0xB2,0x5C,0x37,0x77,0x6A,0xA9,0x7E,0xFD,0xCB,0xC8,0x11,0xC5,0x27,\r
+0x13,0x25,0x91,0xA8,0xBA,0x3C,0x9A,0x8C,0xA6,0x58,0xD4,0xE2,0x1A,0x89,0x8F,0xBF,\r
+0x3E,0x08,0xA7,0xB3,0xEF,0x99,0x6A,0xD9,0x1B,0x60,0x51,0x67,0x8B,0x37,0xA0,0x01,\r
+0x08,0x3E,0x82,0xA0,0xF8,0x8F,0x6B,0xCE,0xE3,0xE7,0x2E,0x18,0x55,0x7B,0x32,0x4D,\r
+0x82,0xB4,0xF9,0x51,0x8E,0x5C,0xCE,0xB8,0xF7,0xF7,0x2A,0x1C,0xF6,0xF2,0x18,0xC4,\r
+0x7B,0x4D,0x17,0x46,0xD4,0xB5,0x7D,0xE2,0x09,0xAA,0x89,0xBF,0x74,0x7A,0x12,0x4C,\r
+0xED,0xDB,0x3E,0xF9,0x4A,0x00,0x56,0x7C,0x3E,0x8B,0x9F,0xA9,0x07,0x78,0x63,0x4E,\r
+0xD3,0xE5,0x19,0xE0,0x24,0x89,0xB1,0x12,0xC5,0xF2,0x1D,0x2B,0x42,0x82,0xDC,0xB4,\r
+0x62,0x54,0x75,0x3D,0x99,0x4A,0xCF,0xAF,0x2C,0x41,0x47,0x71,0x63,0x83,0xFC,0xB5,\r
+0x02,0x34,0xF1,0xD9,0x06,0xDE,0xC4,0x30,0xE7,0x2C,0xE1,0xD7,0xBA,0xFD,0x5B,0xCB,\r
+0xF9,0xCF,0x6E,0xBD,0x9C,0x7F,0xFF,0xAA,0x23,0x67,0x6E,0x58,0x0A,0x42,0x54,0x74,\r
+0xBA,0x8C,0xBF,0x2F,0xF9,0xAE,0x4B,0xCF,0xB4,0x92,0x0C,0x3A,0xEC,0x31,0xC1,0x07,\r
+0xA6,0x90,0xED,0x61,0x23,0xCF,0xF0,0x15,0x8E,0x84,0x20,0x16,0xAF,0x17,0xA4,0x21,\r
+0x7D,0x4B,0x76,0x21,0xC6,0x96,0x4C,0xF0,0xFE,0x0B,0xDF,0xE9,0x29,0x50,0x65,0x66,\r
+0xA0,0x96,0x8C,0x06,0xC9,0xDA,0x0F,0xFF,0x19,0x71,0x42,0x74,0xEF,0xCC,0x3F,0xFA,\r
+0xBE,0x88,0xAF,0x3B,0x94,0x75,0xFD,0xA2,0x8A,0x4F,0xEF,0xD9,0x85,0xF0,0x69,0xC6,\r
+0x6B,0x5D,0x57,0x16,0xA7,0x53,0xE8,0x91,0x87,0x78,0xD5,0xE3,0xE1,0x0B,0xF6,0x3D,\r
+0x87,0xB1,0xC9,0x64,0x55,0x1C,0x55,0x63,0x15,0xA9,0x96,0xA0,0x40,0x91,0xCD,0xA7,\r
+0xAE,0x98,0xEF,0x6B,0x2A,0xE4,0xD2,0x1C,0xB6,0x83,0x1F,0x29,0x79,0x40,0x25,0x76,\r
+0xFE,0xC8,0x2F,0xFB,0xDC,0xBF,0x7F,0xEA,0x6D,0x35,0x72,0x44,0x1D,0xBB,0xBA,0x8D,\r
+0xA9,0xCB,0xBC,0xEA,0xF0,0x28,0x7E,0x50,0x5A,0x0C,0xE5,0x37,0x6E,0x57,0x38,0xB1,\r
+0x98,0xE8,0xAE,0xF8,0x59,0xA9,0xFF,0x78,0x39,0x6F,0x30,0x81,0xCC,0x88,0x9A,0xCC,\r
+0xA1,0x43,0x3C,0x6A,0x08,0x57,0x01,0xD7,0x97,0xC1,0x5F,0x40,0x86,0x31,0xD0,0x3F,\r
+0xB8,0xC9,0xAF,0xF9,0x54,0x93,0xC5,0x4F,0x94,0xC2,0x0E,0x12,0xAC,0x6C,0xFA,0x48,\r
+0xE4,0x21,0x1B,0x4D,0xC7,0x3E,0x68,0x71,0x3B,0x6D,0x41,0xF2,0xA7,0x34,0xF1,0x1B,\r
+0x56,0xDE,0x56,0x00,0x98,0x07,0x51,0x17,0x7E,0x28,0xF1,0x07,0xA8,0x78,0xFE,0x58,\r
+0x12,0xAA,0x66,0x30,0xBE,0x34,0x62,0x02,0xBA,0xEC,0x69,0x5B,0x29,0xD1,0x7F,0x70,\r
+0xB4,0x65,0x0F,0x59,0x84,0x18,0x4E,0x14,0xB7,0xE1,0x5B,0x64,0xF4,0xF6,0xA2,0x8A,\r
+0xE6,0x2B,0x13,0x45,0x9F,0x35,0x63,0x22,0x92,0xC4,0x6F,0x75,0x74,0x7E,0x22,0x82,\r
+0x72,0xDB,0x77,0x21,0xD9,0x32,0x64,0x63,0xC1,0x97,0xFE,0xB7,0x88,0x5C,0xDE,0x5C,\r
+0xDB,0xA4,0xA1,0xF7,0xB6,0x2F,0x79,0x11,0x9C,0xCA,0x0C,0x18,0x6D,0x05,0x3B,0xE0,\r
+0x0F,0x04,0xD5,0x83,0x4C,0x43,0x15,0x87,0x10,0x46,0x16,0x8E,0xD7,0x80,0x81,0xDF,\r
+0x8B,0xE0,0xB5,0xE3,0xC0,0x0C,0x5A,0x44,0x04,0x52,0x46,0xCA,0xE1,0x93,0xB7,0xFA,\r
+0x86,0x5A,0x02,0x54,0xB8,0xE8,0xBE,0xD8,0x53,0x05,0xC7,0x1C,0x8E,0x3B,0xD8,0x3D,\r
+0xA8,0xDD,0xAB,0xFD,0x0B,0xAA,0xFC,0x29,0xB2,0xE4,0x6B,0x51,0x36,0xCD,0x60,0x73,\r
+0xEA,0x87,0xB3,0xE5,0x9E,0xDB,0x8D,0xCD,0xFC,0xAA,0x88,0xFC,0xB8,0x28,0xEE,0x18,\r
+0x4E,0x42,0xD2,0x84,0xF9,0xDD,0x8B,0xAC,0x11,0x47,0x36,0xAF,0x24,0xEE,0x72,0x42,\r
+0xE2,0x0F,0x33,0x65,0xE2,0xF0,0xA6,0x9A,0x3A,0x6C,0x61,0xD3,0xD0,0xC6,0x86,0x9E,\r
+0xC2,0x2E,0x32,0x64,0xB4,0x3C,0x6A,0x00,0x23,0x75,0x03,0xA8,0x15,0xBB,0x43,0x26,\r
+0x8C,0xD8,0x8A,0xDC,0x11,0x69,0x3F,0xF0,0x77,0x21,0xD3,0x2C,0x5C,0x50,0x0A,0x84,\r
+0x3A,0x03,0xE7,0xB1,0xE6,0x3F,0x69,0x51,0x33,0x65,0x43,0xF8,0x8C,0x48,0xDA,0x4C,\r
+0xE1,0x13,0x2C,0x7A,0xFA,0x20,0x76,0x52,0xA5,0xF3,0x6A,0x47,0x95,0x33,0xC3,0x2E,\r
+0xF9,0x8F,0xA8,0xFE,0x0E,0x8B,0xDD,0x0D,0xC8,0x9E,0xDC,0x9C,0xD6,0xA1,0x80,0xFF,\r
+0x99,0xFE,0xB9,0xEF,0xC2,0x1F,0x49,0x55,0x56,0x00,0xF7,0x29,0x13,0xDC,0x45,0x47,\r
+0xC5,0x16,0x0D,0x5B,0xEA,0xEB,0xBD,0x89,0xA3,0xF5,0x0B,0x20,0xBC,0x3C,0xEA,0x08,\r
+0xD2,0x3A,0x36,0x60,0x5D,0x66,0x30,0xB3,0x7B,0x2D,0xC1,0x32,0x44,0x0A,0x12,0xC6,\r
+0x95,0x52,0x19,0x4F,0xB2,0xE0,0xB6,0xDA,0x76,0x20,0xF3,0x0D,0x01,0xFF,0x57,0x76,\r
+0x7F,0x61,0xC0,0x96,0xDF,0xEE,0xB8,0xB9,0xD2,0x84,0xEF,0xB5,0x58,0x44,0x0E,0x94,\r
+0x5E,0x56,0xD6,0x80,0xC8,0x17,0x41,0x57,0x98,0xCE,0x1C,0x0C,0x19,0xA5,0x4F,0x34,\r
+0xBB,0xD5,0xB0,0xE6,0x79,0x46,0x10,0xB7,0x09,0x5F,0x74,0xF5,0xF2,0x91,0xA4,0xEB,\r
+0xEE,0xA3,0x93,0xC5,0x68,0x63,0x35,0x83,0x91,0xC7,0x3E,0x27,0xBE,0x4F,0xE8,0x79,\r
+0x28,0x1D,0xEB,0xBD,0xBD,0xC9,0x9F,0xFC,0x71,0x27,0xB2,0x4B,0xD9,0xED,0x8F,0xBC,\r
+0x13,0xBC,0x71,0x27,0xF3,0xD5,0x83,0xAE,0x02,0x54,0x27,0xAD,0xCF,0xDA,0x99,0x9D,\r
+0x7E,0x77,0xD7,0x81,0x2A,0xAB,0xFD,0x09,0x62,0x34,0xA3,0x49,0x50,0x4E,0x06,0x96,\r
+0x35,0xB3,0x58,0x0E,0x9A,0x14,0x42,0x06,0x99,0xCF,0x3C,0x2D,0xCA,0xEF,0x9C,0xAD,\r
+0xC0,0x24,0x3A,0x6C,0x7C,0x67,0x31,0x93,0xDA,0x8C,0xED,0xBF,0xAF,0x3E,0xF9,0x19,\r
+0xA5,0x67,0x1C,0x4A,0x66,0xA4,0xF2,0x4A,0xE2,0xB4,0xAB,0xC1,0xD8,0xCC,0x8E,0x9C,\r
+0xF8,0x99,0xBF,0xE9,0xE4,0x2C,0x7A,0x40,0x1B,0x4D,0x45,0xD6,0x82,0x25,0xD4,0x2F,\r
+0xD9,0xAE,0xA9,0xFF,0x97,0x2E,0x78,0x31,0x8D,0xDB,0x6C,0x69,0x1C,0x90,0x4A,0x04,\r
+0xA0,0x55,0x2B,0x7D,0xD2,0xD4,0x82,0x8E,0xB3,0xE5,0x4B,0x70,0x72,0x19,0x24,0xE3,\r
+0x2A,0x17,0xE3,0xB5,0x71,0x5D,0x0B,0xA4,0x0B,0x5D,0x05,0x86,0xF1,0xC3,0xA7,0xBA,\r
+0xFB,0x85,0xA0,0xF6,0xD0,0xC7,0x91,0x9F,0xE7,0xB1,0x9B,0xF4,0x03,0x8C,0x55,0x07,\r
+0xD1,0x26,0x29,0x7F,0xE9,0x16,0x40,0x77,0xCE,0x98,0xBD,0xFB,0x7C,0x74,0x2A,0x80,\r
+0x67,0xFD,0x44,0x12,0x8D,0xED,0xBB,0xE8,0x9E,0xC8,0x7D,0x6B,0x8A,0x2F,0xDC,0x2D,\r
+0xD6,0x1E,0x16,0x40,0x3F,0x41,0x17,0xF6,0xC6,0x90,0xBF,0xF1,0x75,0x5F,0x23,0xA2,\r
+0x59,0x6E,0xE9,0xBF,0xB9,0x06,0x50,0x37,0x1D,0x4B,0x24,0xB1,0x90,0x06,0xC6,0x1E,\r
+0x23,0x89,0x74,0x22,0x7F,0x9A,0xCC,0x6D,0xC0,0x96,0xDE,0x96,0x9F,0x4A,0xC9,0x5D,\r
+0x1D,0x1A,0xD9,0x8F,0x15,0xA6,0xF0,0x3B,0xDE,0x88,0xFD,0xAB,0xC2,0xE5,0x94,0xAF,\r
+0x81,0x62,0x3D,0x6B,0x3D,0x52,0x04,0xE7,0xF3,0xA5,0xCB,0xB0,0xAD,0x4D,0xFB,0x68,\r
+0x49,0x7A,0xED,0xBB,0x10,0x87,0xD1,0x1F,0x1A,0x4C,0x65,0xF7,0x38,0xA0,0x6E,0x10,\r
+0xCF,0x94,0x85,0xD3,0xC4,0xC3,0x95,0x8F,0x89,0xDF,0x7C,0x7D,0x2A,0x83,0x7C,0x21,\r
+0xC9,0xBA,0xAD,0xFB,0x6A,0x70,0x26,0x92,0x49,0x1F,0xF4,0x35,0x51,0x6F,0x07,0xB6,\r
+0xA6,0x7B,0x03,0x55,0x60,0x78,0x2E,0x90,0x4B,0x1D,0x85,0x46,0x6F,0x76,0x39,0x91,\r
+0xE9,0x9B,0xAC,0xFA,0x45,0xB6,0xE0,0x7B,0xCB,0x9D,0x8D,0xCE,0x48,0x14,0x1E,0xD4,\r
+0x64,0xE1,0x5B,0x0D,0x92,0x0F,0x59,0x15,0x25,0x73,0x62,0xCF,0xF5,0xD7,0xA3,0xAA,\r
+0xD5,0x02,0x09,0x5F,0xA9,0xCD,0x9B,0xEC,0xE4,0xB2,0xCA,0xA6,0x3D,0x95,0x6B,0x20,\r
+0x2C,0x39,0xCB,0x9D,0x58,0x47,0x11,0x97,0xB0,0xE6,0x1A,0x22,0x0A,0xA7,0x5C,0x25,\r
+0x0A,0x36,0xE2,0xB4,0x8A,0xDF,0x89,0xDD,0x73,0x25,0xC3,0x38,0xEC,0xAC,0xBA,0xC8,\r
+0x32,0x8B,0x67,0x31,0x1B,0x61,0x37,0xF2,0x5E,0x08,0xF5,0x23,0xB9,0x09,0xEF,0x38,\r
+0xB5,0x73,0x18,0x4E,0xC5,0x2D,0x7B,0x60,0x68,0x3E,0xD0,0x30,0xAE,0x1F,0xF8,0x39,\r
+0x33,0x9D,0x70,0x26,0xEB,0x05,0x53,0x66,0x2B,0x7D,0x01,0xA2,0x4C,0x00,0x1A,0xC4,\r
+0x75,0xE3,0x48,0x1E,0x72,0xA0,0xF6,0x5A,0x85,0xD3,0x6E,0x63,0xA2,0x01,0xF4,0x2B,\r
+0xA7,0x6D,0x14,0x42,0xD4,0x08,0x5E,0x54,0x9B,0xCD,0x4D,0x5E,0x79,0x41,0x2F,0xB0,\r
+0x7A,0x53,0xF7,0xA1,0xEC,0x37,0x61,0x53,0xD1,0x87,0xBE,0xE7,0xC4,0x82,0x92,0xCE,\r
+0x22,0x99,0x46,0x90,0x62,0x0F,0xBD,0x46,0x5F,0xA9,0x02,0x76,0x53,0xD6,0x09,0xAE,\r
+0xDB,0x08,0xD7,0xF8,0x89,0xD0,0x56,0x72,0xBA,0xCF,0x81,0x10,0xB3,0x87,0x58,0x1F,\r
+0x9C,0xE1,0x3E,0x56,0x49,0x58,0x96,0x3A,0xCC,0xF2,0xCA,0x2D,0x18,0x59,0x86,0x6A,\r
+0xF0,0x01,0xDE,0xDA,0x2E,0x9D,0xF1,0x98,0x0A,0x8A,0x74,0x55,0x67,0xF3,0x2C,0xBF,\r
+0xE5,0xEB,0x34,0x25,0xD4,0x22,0x0B,0xDD,0x36,0x2F,0xED,0xF0,0x57,0xF6,0x29,0x8A,\r
+0xF7,0x33,0xEC,0xEF,0x2C,0xEC,0xF3,0xEB,0x21,0x14,0xC1,0xCB,0x6D,0x7B,0xA4,0x3D,\r
+0x62,0x42,0x9D,0x0B,0xC8,0x70,0x17,0x93,0x9B,0xD9,0xB6,0x06,0x5D,0x7E,0xA1,0x08,\r
+0xDA,0xE6,0x39,0x17,0x91,0x92,0x4E,0x28,0x71,0x00,0x85,0xDF,0x3E,0x70,0xAF,0x65,\r
+0x90,0x35,0xEA,0x8E,0x05,0xCA,0xDA,0xE4,0x05,0x35,0xC4,0xEA,0xB6,0xB0,0x6F,0x2D,\r
+0x2F,0xA3,0x7C,0xA7,0x1C,0xA8,0xC3,0x9F,0xDE,0xFE,0xD4,0x21,0xB5,0xAF,0x70,0x31,\r
+0xFE,0xC6,0x19,0x13,0x83,0xA3,0x5C,0x0B,0x7D,0xA0,0x29,0x7F,0xB1,0x8F,0x50,0x15,\r
+0x4B,0x58,0x87,0x38,0x46,0x1B,0x99,0x76,0x1D,0xB1,0x58,0x6E,0xE9,0x1B,0xC4,0xD9,\r
+0x04,0xAA,0x75,0x85,0x40,0x7A,0x9F,0x11,0x06,0x2A,0xD8,0xF5,0x7E,0x60,0xBF,0x35,\r
+0x78,0x81,0x5E,0xD2,0xB4,0xA6,0x6B,0x39,0xAA,0xCB,0x95,0x14,0x48,0x4D,0x92,0x2E,\r
+0xFB,0xE7,0x38,0x37,0xCC,0x60,0x13,0x87,0x68,0x93,0x0F,0x4C,0x14,0xF9,0x26,0xC6,\r
+0x7F,0xB3,0x6C,0xE7,0x85,0xC2,0x5A,0x6C,0x26,0x2B,0xF9,0xF4,0xE4,0xAC,0x73,0x63,\r
+0xCB,0xC3,0x1C,0x23,0x1E,0xD9,0xC1,0xEC,0x62,0x1B,0x8D,0xC4,0x3C,0x78,0xA7,0x6F,\r
+0x1D,0x94,0x4B,0xA2,0x71,0x1E,0xAE,0x44,0x6F,0xAC,0x37,0x73,0xA0,0x9C,0x43,0x17,\r
+0x2B,0x6C,0xB3,0x6C,0x28,0xFC,0xF7,0xFF,0x0E,0xAA,0x50,0x75,0x29,0x4B,0x94,0x49,\r
+0x86,0x22,0xFD,0x8F,0xA6,0x97,0x79,0x1A,0x4C,0xB2,0x0A,0x6D,0xCD,0x3A,0xE5,0xDC,\r
+0x60,0x51,0x8E,0x1A,0x18,0xB8,0xC7,0x8B,0x96,0x6E,0x0C,0xB1,0x87,0xA2,0x7D,0x0E,\r
+0xA2,0x02,0xDD,0x8B,0xE4,0x66,0x3B,0xA9,0x02,0x0A,0xFC,0xD5,0xC6,0xA5,0x7A,0x48,\r
+0x59,0x80,0x5F,0xF2,0x47,0x3B,0x98,0x57,0xEB,0xCC,0xD3,0x13,0x63,0xD3,0x0C,0x9B,\r
+0xCF,0x0C,0xD3,0xE8,0xFD,0x04,0x22,0xD2,0x3F,0xB8,0x73,0x67,0xF5,0xBF,0x60,0x61,\r
+0xD0,0xEE,0x31,0x15,0x38,0xBC,0xE7,0xAF,0xB2,0x4F,0x09,0x90,0xF3,0x97,0x48,0x4F,\r
+0x25,0xAB,0x74,0xA5,0x37,0xFF,0xE8,0xE3,0x00,0x02,0xF6,0xDD,0x95,0xAE,0x71,0x10,\r
+0xB3,0x27,0xF8,0xBF,0x64,0x6E,0xBB,0x21,0x50,0x16,0xB2,0xC9,0xF0,0x88,0x57,0x53,\r
+0x8C,0x2A,0xF5,0x8D,0xB9,0x94,0x66,0x06,0xF6,0x7F,0x7D,0xA0,0xE6,0xA4,0x7B,0x69,\r
+0x56,0xA9,0x76,0xD4,0x5C,0x28,0x83,0x5F,0x7C,0xB7,0x3F,0x68,0x9C,0x39,0xE6,0x8E,\r
+0xE0,0xCA,0x15,0x01,0xFE,0x55,0x21,0x80,0x4D,0xA5,0x1C,0x7A,0xB4,0xB8,0x67,0x27,\r
+0xC5,0x04,0xDB,0xEA,0x3C,0xAC,0xE3,0xBB,0x5C,0xB6,0x1E,0x69,0xAB,0x03,0xDC,0x83,\r
+0x97,0x07,0xD8,0xBB,0x16,0xDB,0xC9,0xE6,0x45,0x25,0x94,0xFA,0x33,0xC7,0x18,0xDF,\r
+0xB4,0x15,0xCA,0x8A,0x32,0xCF,0xED,0xD6,0x91,0x51,0x34,0x8E,0xBE,0x30,0xEF,0xA5,\r
+0x75,0xBB,0x64,0xE5,0xDC,0x20,0x03,0xD7,0xD7,0x69,0x4A,0xB6,0x82,0x95,0x4A,0x3C,\r
+0x30,0x41,0x9E,0x5A,0x54,0x2A,0x8B,0x55,0x9E,0xEE,0x84,0x31,0xB7,0xA7,0x78,0x3B,\r
+0x89,0x0B,0xD4,0xA9,0xE9,0x54,0x36,0x96,0x43,0x0D,0xBA,0xD2,0xB0,0x98,0x47,0x03,\r
+0xEF,0xE3,0x3C,0x27,0x7C,0x2C,0xA3,0x7B,0xEE,0xFB,0xE1,0x24,0x39,0x4F,0x90,0x5D,\r
+0xF5,0x20,0xFF,0xFE,0x9A,0xC1,0x45,0x70,0xC8,0xD2,0xEE,0x0D,0x73,0xD7,0x08,0x8F,\r
+0xE7,0xF8,0x27,0x34,0x3E,0xDD,0xE1,0xC8,0x51,0x01,0xA4,0xDE,0x84,0xBD,0x62,0x12,\r
+0xF4,0xCE,0x11,0x11,0x29,0xDC,0xF6,0xDE,0xD6,0x7E,0x5C,0xA1,0x16,0xF1,0x2E,0xCC,\r
+0x19,0x5B,0x84,0x69,0xD8,0x30,0x07,0xC3,0x0D,0xB5,0x4C,0x6A,0x9F,0x26,0xF9,0x92,\r
+0x91,0xDB,0x04,0x61,0xFF,0x75,0x20,0xA1,0x42,0x1A,0xAC,0xC5,0x74,0xE8,0x37,0xB7,\r
+0x71,0x74,0xAB,0x2E,0xAD,0xC4,0x72,0x42,0x31,0x10,0xD5,0xCF,0x08,0x5D,0x82,0x7E,\r
+0x18,0xB5,0x6A,0x86,0x65,0x4E,0xBA,0x00,0x80,0x42,0x36,0x9D,0xF1,0x9F,0x40,0x45,\r
+0x20,0x8A,0x55,0x81,0xA8,0xF4,0x77,0x77,0xAD,0xF4,0xAD,0x2B,0xFB,0x17,0xC8,0xC7,\r
+0x67,0x63,0xBC,0x2F,0x3D,0x8C,0xE2,0x9A,0x65,0x24,0xB5,0xFB,0x03,0xC2,0x1D,0xEA,\r
+0xE2,0xD9,0x06,0x10,0xC1,0x52,0x1E,0xB8,0x2D,0xB4,0x6D,0x6B,0x76,0xE0,0x3F,0xBD,\r
+0xAA,0x19,0xC6,0x98,0xBA,0xC5,0x65,0x54,0x2B,0x9C,0x43,0x43,0x6B,0x53,0x8C,0x13,\r
+0x66,0x8D,0x52,0xC0,0x00,0xFA,0xDF,0xD1,0xBD,0xF0,0xB9,0x2F,0xD3,0x96,0x49,0x6E,\r
+0x26,0x56,0x89,0x5B,0xE5,0x46,0x3A,0x88,0x32,0x0F,0xC9,0xD0,0x12,0xD1,0x0E,0xE8,\r
+0x7C,0x4E,0x91,0x19,0x52,0x4B,0x8D,0x32,0xF9,0xC0,0xCD,0x1F,0xDF,0x36,0xE9,0xC2,\r
+0x41,0x50,0x8F,0x3A,0x0F,0xB9,0xD0,0x9D,0xC7,0x6D,0x5E,0xB2,0x89,0x0A,0xD5,0xA8,\r
+0x23,0x77,0xA8,0x7F,0x93,0xE3,0x4C,0x5B,0x1F,0xB9,0x52,0x66,0x7B,0x57,0x88,0x07,\r
+0x51,0x9B,0x44,0xE1,0x61,0x5E,0xBE,0x14,0xCE,0xFA,0xC0,0x25,0x40,0xCD,0x12,0xA6,\r
+0xBC,0x0E,0xD1,0x99,0x1A,0xC9,0xC5,0xF8,0x83,0x5D,0x2A,0x82,0x0C,0x7D,0xA2,0x5A,\r
+0x2C,0x5E,0x81,0x59,0xEC,0x64,0x33,0xA3,0x35,0x30,0xF1,0xEF,0x93,0x86,0x59,0x3E,\r
+0x01,0x8B,0x54,0xA1,0x12,0xCB,0xCD,0xF2,0x1C,0xA6,0x4E,0x79,0xA4,0xBC,0x63,0x33,\r
+0x16,0x72,0xAD,0x4F,0x48,0x78,0x97,0x1B,0x41,0x05,0xB0,0xDA,0xAE,0x34,0xEB,0xB1,\r
+0xA7,0x23,0xFC,0xAF,0xE2,0x07,0x3D,0xCE,0x44,0x32,0x82,0xED,0x6A,0x44,0x9B,0x05,\r
+0xBE,0x1D,0xC2,0x88,0x8C,0xE0,0x53,0x47,0x3D,0xB0,0x79,0x6F,0xD5,0xBE,0x61,0x40,\r
+0x9E,0xF2,0x2D,0x47,0xC0,0x72,0x1F,0x99,0x9A,0xCE,0xA0,0x11,0xED,0x3B,0xE4,0xFD,\r
+0x7A,0x92,0x4D,0xC3,0x5F,0x79,0x80,0x0D,0xF7,0x68,0x6B,0xB7,0x4A,0x45,0x9A,0x24,\r
+0x68,0x4A,0x95,0x09,0x3F,0xFD,0xE0,0xE9,0x24,0x23,0xF3,0xFC,0x77,0xF7,0x28,0xAB,\r
+0xFA,0x09,0xD6,0xD8,0x5A,0x49,0x85,0x38,0xD1,0x41,0x64,0x9E,0xE2,0x84,0x5B,0x4D,\r
+0x37,0x1F,0x60,0xC9,0xDD,0x91,0xFA,0x6F,0xE0,0x6F,0x1E,0x39,0xD6,0x1C,0x7C,0x28,\r
+0x62,0xEF,0xC5,0x9C,0x93,0x29,0x0C,0xD7,0xA9,0x84,0x57,0x9B,0x82,0xCC,0xF8,0x7C,\r
+0xD6,0xB3,0x2D,0x28,0x51,0x71,0x96,0x8F,0xD1,0x3A,0x2F,0x5D,0xE4,0x29,0x7B,0x1A,\r
+0xFB,0x85,0x36,0x05,0xFD,0x90,0xDB,0x6E,0x25,0x12,0xDB,0x81,0xCF,0x7E,0x07,0x31,\r
+0x80,0x12,0xDA,0x7E,0xE6,0x0B,0x5B,0xF5,0x23,0x75,0xDD,0xE0,0x3D,0xC3,0x48,0xC3,\r
+0x14,0x4A,0x16,0xEA,0x86,0x1A,0x2A,0xE4,0xE6,0x08,0x18,0x58,0xA3,0xE8,0xFD,0x5D,\r
+0x34,0x4E,0x32,0xCA,0x25,0x44,0xD7,0xBA,0x79,0x9C,0x87,0x53,0xC6,0x5C,0x2C,0x38,\r
+0x2B,0x4D,0x2E,0xD5,0xFE,0x8F,0xC7,0x71,0x60,0xE7,0x9E,0x31,0x50,0x75,0x93,0xAE,\r
+0xEB,0xC5,0x66,0x15,0x8A,0xBA,0x86,0x44,0xF4,0x2B,0x0A,0x69,0x83,0xEC,0xD9,0x7D,\r
+0xE5,0xA6,0x0B,0x1B,0x60,0x63,0xB5,0x9D,0xAD,0x90,0x53,0x8B,0x27,0xF0,0x61,0xD9,\r
+0xE0,0x96,0x3E,0x1E,0xDA,0xAE,0xC2,0x50,0x49,0xE8,0xB7,0x17,0x56,0x14,0xF4,0xA8,\r
+0x6D,0xAC,0x89,0x93,0xCD,0x95,0xEE,0x6B,0xB1,0xDE,0x4F,0xD9,0x8E,0xDE,0xE6,0x70,\r
+0x68,0x9C,0xBC,0x96,0xF1,0x30,0x77,0xCE,0x4B,0x9B,0xB5,0x66,0x64,0x21,0xF3,0x9A,\r
+0xC2,0xE3,0x69,0x3C,0x37,0x48,0xC9,0xB6,0x2C,0x39,0xD2,0xA3,0x84,0xAD,0x9F,0x7A,\r
+0x1C,0x48,0x1C,0xE2,0x41,0x75,0x82,0x8B,0xEC,0x71,0x12,0x2B,0x6D,0x03,0xD8,0x93,\r
+0x4D,0xA8,0xAD,0xB3,0xA4,0x13,0x01,0xED,0x07,0x45,0xF9,0xF4,0xFC,0x6B,0x21,0x02,\r
+0x5C,0xC8,0xDC,0xA2,0xBE,0x9F,0x97,0x61,0x73,0xE5,0x8D,0x20,0x62,0x40,0x94,0x9C,\r
+0x98,0x50,0x80,0x66,0xA7,0x0C,0x1D,0xF2,0x59,0xB8,0xA7,0x57,0x61,0x11,0xC6,0x9F,\r
+0x23,0x4F,0x24,0xDD,0xB6,0x1F,0x1F,0xE1,0x9B,0x83,0x65,0xAE,0xAF,0xFA,0xE3,0x51,\r
+0xA2,0x67,0x8D,0x5C,0x87,0x0D,0x3C,0xF3,0x39,0x5C,0xC7,0xD3,0xCC,0x2F,0x55,0x32,\r
+0x3F,0x1D,0x6A,0xC1,0x0D,0xC5,0x7E,0x3B,0xDC,0x05,0x22,0x6F,0x4F,0x76,0x8F,0xB1,\r
+0x13,0x0B,0x50,0xED,0xAB,0xAC,0xB1,0x52,0x01,0x22,0xFF,0x95,0x42,0x44,0xB0,0xBC,\r
+0x35,0x6E,0x13,0xCB,0xFB,0xB8,0xF5,0x46,0x52,0xE0,0xAC,0x04,0xCE,0x5E,0x26,0x30,\r
+0x0C,0x08,0x4C,0xF2,0x49,0xF5,0x0A,0x0B,0x5D,0xAC,0xA3,0x47,0x8B,0xEE,0xD3,0x75,\r
+0x24,0x0E,0x62,0xDA,0xC4,0x02,0x70,0xFC,0x98,0xD1,0x66,0xFF,0x69,0x13,0xCC,0x97,\r
+0x48,0x98,0x98,0xB6,0x10,0x76,0xD0,0x88,0x22,0x54,0xDC,0xC0,0xE5,0x09,0x5A,0x1B,\r
+0x3E,0x3D,0x4B,0xC0,0xF9,0xB0,0xFF,0x4E,0x81,0xAA,0x7F,0x9D,0x67,0x70,0xA1,0x99,\r
+0x39,0x7C,0x0D,0xC7,0x6D,0xD4,0x0F,0x2A,0x7D,0x88,0x83,0x43,0x34,0xE1,0x63,0xCA,\r
+0xA1,0x36,0xDF,0x5F,0xB7,0x08,0x09,0xF6,0xC3,0x19,0x3D,0x6C,0x47,0x74,0x85,0xB9,\r
+0xD0,0xD2,0x4A,0x2E,0xF5,0x10,0x53,0xEE,0x4D,0xFC,0xB3,0x07,0x09,0x97,0x28,0xF7,\r
+0x07,0x5B,0x14,0xF9,0x94,0x16,0x34,0xE8,0x14,0x47,0xEA,0xE5,0xF1,0x59,0x1E,0x0F,\r
+0xE3,0xC7,0x6C,0x1D,0x99,0xA1,0x8E,0x5F,0x7B,0xEF,0x85,0x22,0xA6,0xD8,0xC8,0x58,\r
+0xC8,0x90,0x10,0x36,0xD0,0x26,0x40,0xD8,0xDF,0x57,0x21,0x3E,0x7C,0x63,0xA9,0x82,\r
+0x7B,0x8D,0xBE,0x85,0xD6,0x0E,0x6E,0xF0,0xA4,0xBB,0x5A,0xA9,0xBC,0xEB,0xE1,0x42,\r
+0x59,0xF8,0xE9,0xA7,0x9E,0x9E,0xB6,0x60,0x58,0x99,0xA6,0x77,0x06,0xD4,0x64,0xF8,\r
+0x8C,0x00,0xC4,0x72,0x56,0x4E,0xAE,0xB0,0xCD,0x74,0x33,0x0F,0xEF,0x7A,0x23,0x11,\r
+0x04,0x0A,0x46,0xFA,0x7B,0xF8,0x35,0x06,0x00,0x03,0xFE,0xB5,0xD0,0x7D,0x1B,0x2E,\r
+0xC6,0xF3,0x7D,0x38,0xCA,0xAA,0xD6,0x54,0xC8,0x41,0x36,0x3F,0x11,0xD5,0x72,0xEF,\r
+0x73,0x8F,0xB4,0x8D,0xB9,0xA0,0xAF,0x5E,0x9A,0xA2,0x64,0x8E,0xBE,0x9A,0x92,0x40,\r
+0xBD,0x64,0x91,0x43,0xF6,0x0F,0x4F,0xF1,0xBD,0xC0,0x43,0xCB,0x3E,0x92,0x1A,0xC0,\r
+0x6A,0xED,0xCF,0x94,0x2D,0xC4,0x5F,0x3A,0x4C,0xDD,0xB2,0x27,0xAB,0xEA,0xF7,0x55,\r
+0x26,0x7F,0x11,0xD8,0xAA,0xBB,0xA7,0x45,0x5B,0xCB,0xA5,0x26,0x9D,0xCF,0xE4,0x63,\r
+0x4C,0x88,0x8C,0xB2,0x33,0x68,0xED,0x96,0xFF,0x73,0x01,0x3A,0x45,0x05,0xF6,0xBB,\r
+0xD4,0xC2,0x5E,0x2A,0x15,0x41,0xE2,0xBF,0x19,0x78,0xE7,0xD7,0x86,0xDC,0xEC,0x78,\r
+0x03,0x4B,0x00,0xFD,0xB8,0xB7,0xB9,0x49,0x8C,0x95,0x72,0xAF,0x6E,0x52,0x8A,0x90,\r
+0x3C,0x4C,0x38,0xC2,0x65,0x54,0x87,0xAA,0x31,0x56,0xCF,0xD1,0x24,0xA1,0x33,0xDA,\r
+0x0E,0x79,0x3F,0xF0,0x2C,0xD3,0x49,0x2D,0xB9,0xD4,0x47,0xDB,0xDE,0x1E,0x76,0x20,\r
+0xAB,0x45,0xA6,0x55,0x6A,0xEB,0x37,0x15,0x57,0xD5,0xA9,0x34,0x70,0x71,0xB7,0x8E,\r
+0x1F,0x19,0x4E,0xE1,0x2A,0xFB,0x67,0x05,0x3F,0x3B,0xC1,0xB2,0x6C,0x23,0xF9,0x92,\r
+0x6C,0x8C,0xA8,0x92,0xDF,0x99,0xF0,0x67,0x5A,0xEA,0xA4,0x06,0x2F,0xF2,0x6B,0xD1,\r
+0xDE,0xB1,0x27,0x20,0x0C,0xD2,0x68,0x2C,0x3A,0x0E,0xC4,0x82,0xF7,0x38,0x79,0x09,\r
+0xA0,0x16,0xFE,0x5E,0x61,0x74,0xA3,0x8A,0xA5,0x9A,0x5B,0x89,0x97,0xBC,0x9D,0x69,\r
+0x25,0x2E,0x43,0xDB,0xC6,0x0A,0x7A,0xF4,0xE9,0x44,0x17,0x1B,0x78,0x73,0xBD,0x86,\r
+0xDF,0x91,0x06,0x21,0xBF,0x88,0x81,0x76,0x87,0xCD,0x79,0xFC,0x46,0x54,0xA4,0xB8,\r
+0xAF,0x55,0xB2,0x51,0xBA,0xBF,0xB3,0x41,0x2D,0x18,0xD3,0x83,0x17,0xB4,0x15,0xE9,\r
+0x27,0x5F,0x30,0xD9,0xE7,0x1C,0x4D,0xE2,0x77,0xF1,0x89,0x30,0xEE,0x5A,0x02,0x10,\r
+0x1D,0x68,0x3D,0xE3,0xCE,0x8A,0xF2,0x74,0x89,0xA0,0x77,0x9F,0x3B,0xA2,0x2F,0xC5,\r
+0xE6,0xF7,0x59,0x18,0x78,0xE7,0x29,0x19,0x7F,0xFB,0x81,0x32,0x6B,0x62,0xBF,0x95,\r
+0x56,0xBB,0xA5,0xA8,0x35,0x40,0xC3,0xBE,0x04,0x17,0xFA,0xA5,0xFE,0x1A,0x52,0x00,\r
+0xCC,0x80,0x04,0x32,0xE4,0x03,0x51,0xFD,0xF6,0x58,0x08,0x18,0x12,0x84,0x20,0xEC,\r
+0x91,0x72,0xAB,0x6F,0x3C,0xD7,0x5D,0x29,0x6A,0x9E,0x94,0x42,0x35,0xC1,0x42,0xCB,\r
+0xAD,0x24,0xC1,0x53,0x02,0x7A,0xCE,0x84,0x37,0x31,0xC9,0xB0,0x2B,0xE2,0x7F,0xD5,\r
+0x4A,0xE9,0xEB,0xB4,0xC9,0xB5,0xCA,0x4B,0x80,0x8B,0x7E,0xBD,0x33,0xA0,0x25,0xCD,\r
+0x0D,0x28,0x6D,0xF3,0x46,0x4A,0xBA,0xB4,0x65,0xD2,0x9B,0x01,0xE8,0x3B,0x65,0x16,\r
+0xE0,0x6B,0x07,0x57,0x3B,0x97,0x57,0x70,0x90,0x68,0x48,0x04,0x5D,0xE3,0x8F,0x62,\r
+0x18,0x14,0x78,0xD0,0x77,0x05,0x1B,0xAE,0xB5,0x5E,0x5B,0x32,0x5C,0xF4,0x98,0x74,\r
+0x52,0xC7,0xAB,0x49,0x1D,0xF2,0x71,0x33,0x7F,0x86,0x49,0xEA,0x40,0x50,0x3C,0xCC,\r
+0x5D,0xEE,0x82,0x6F,0x85,0xB8,0xE9,0xE1,0xA6,0x45,0x53,0x29,0xAD,0xB6,0xDA,0xC7,\r
+0x06,0x18,0x74,0xC2,0x52,0x31,0x3E,0xBF,0x28,0xAD,0x35,0xC1,0xD5,0x23,0x4F,0x2A,\r
+0x38,0xFB,0x97,0x1F,0x6D,0x36,0x01,0x87,0xDB,0xE7,0x8C,0x8B,0xAB,0x9E,0xF2,0xE9,\r
+0xF6,0x7C,0x10,0x56,0x5F,0x03,0x33,0x80,0x64,0x1D,0xC9,0x71,0xA1,0x16,0x7A,0x6B,\r
+0x88,0x44,0x28,0x10,0xFA,0x3F,0x96,0x19,0x0B,0xB3,0x08,0xDF,0x4E,0xF8,0x94,0x6A,\r
+0xFF,0x89,0xE5,0xAA,0x99,0xEA,0xF5,0xAF,0x19,0xBF,0x16,0xD3,0x44,0x70,0x1C,0xE8,\r
+0xD1,0xA1,0xCD,0xAC,0x2A,0xF7,0x46,0x01,0x91,0x7F,0x5E,0x13,0xD3,0x0B,0x67,0x04,\r
+0x09,0x31,0x5D,0xE4,0x08,0x82,0x64,0x56,0xAE,0xC5,0xDB,0xA9,0x0D,0xF7,0x9B,0x26,\r
+0x11,0xE1,0x8D,0x2C,0xDD,0x7A,0xB1,0x7B,0x00,0x2C,0x9C,0x40,0x75,0x62,0x0E,0xCB,\r
+0x8A,0x57,0x3B,0x01,0x55,0x70,0x39,0xF9,0x07,0x13,0xA4,0x7F,0xCF,0xAF,0xC3,0xBC,\r
+0x69,0x05,0x69,0xB0,0x97,0x89,0xFB,0xC2,0xAF,0xD2,0xCD,0xBE,0x45,0x67,0x0B,0xFE,\r
+0x10,0x0F,0x63,0xC3,0x22,0xF5,0x4E,0x0B,0xE0,0x7D,0x2D,0x11,0xF4,0x35,0x59,0x1D,\r
+0xF0,0xA0,0xCC,0x8C,0xEC,0x1E,0x80,0x2E,0xE8,0xFD,0xA5,0x91,0xB1,0x12,0x7E,0x7F,\r
+0x4D,0x25,0x49,0xB4,0x4C,0x12,0x20,0x82,0xD8,0xF8,0x90,0x94,0xE5,0x26,0x4A,0x1F,\r
+0x96,0x48,0x24,0x02,0xB7,0x8D,0xDB,0xE6,0x18,0xA8,0x00,0xC4,0x48,0xD0,0xBC,0x44,\r
+0x7C,0xEF,0x83,0x4F,0x07,0xC1,0x6B,0x1A,0x60,0x3D,0xED,0x51,0xDF,0xAB,0xC7,0xA8,\r
+0xEE,0xAC,0xC0,0x9E,0x9D,0xFA,0xF1,0xBB,0xFE,0xD1,0x9F,0xBD,0x62,0x59,0x35,0xE7,\r
+0xE2,0x78,0x14,0x46,0xC0,0x08,0xAC,0x14,0xBB,0xF6,0xFD,0x9A,0x38,0xC5,0xA9,0x21,\r
+0x71,0xD5,0xB9,0x78,0xFC,0x5E,0x90,0x7E,0x98,0xE8,0xC0,0x84,0xCA,0x98,0xF4,0x8E,\r
+0x75,0x1A,0x76,0xB3,0x1B,0x93,0x77,0x54,0xDA,0xF0,0x9A,0x9C,0xC7,0x2F,0x43,0x34,\r
+0x05,0xE5,0x89,0x3C,0x5C,0x52,0x30,0xD2,0x41,0x2B,0xDA,0x47,0x7B,0xCA,0xA6,0x6D,\r
+0xD8,0x54,0x38,0x50,0x4E,0x63,0x22,0xF1,0x59,0xAF,0x46,0xC3,0xC8,0x90,0xFC,0x84,\r
+0x4F,0x36,0x5A,0xA5,0x3D,0xF6,0x51,0x17,0x88,0xEC,0xD4,0x80,0x7C,0xF5,0x99,0x55,\r
+0xD7,0x7D,0x11,0x76,0x8F,0xCB,0xE3,0x98,0x42,0x34,0xC6,0x58,0xF8,0x95,0xF9,0xB1,\r
+0x1C,0xDB,0xB7,0x1B,0xF1,0x6C,0x9D,0x41,0xC6,0x54,0x22,0x38,0xF3,0x0A,0x66,0x25,\r
+0xC5,0xA5,0xC9,0xBC,0x74,0x54,0x18,0xFC,0x09,0xBB,0x02,0xD7,0x61,0x46,0x2A,0xFB,\r
+0x3E,0x27,0x4B,0xC5,0x8E,0xEB,0xE2,0xB9,0x2E,0x85,0x1B,0xE9,0x86,0x28,0x44,0x72,\r
+0x0C,0x10,0x7C,0xC0,0xFE,0x2F,0x92,0x0D,0xCE,0xD4,0xAA,0xB8,0xF9,0x82,0xEE,0xA7,\r
+0xF2,0xB3,0xDF,0x9D,0x76,0x25,0x1A,0x8F,0x20,0x2D,0xBD,0x41,0x4A,0xD8,0xB4,0x4E,\r
+0x39,0x15,0x79,0xF0,0xBA,0xBF,0xD6,0xD9,0x96,0x40,0x66,0x2C,0x13,0x5B,0x37,0x94,\r
+0x0A,0xCC,0xA0,0x1A,0xB4,0xDC,0xD8,0xB4,0x8A,0xE4,0xDE,0x88,0xF1,0x02,0x6E,0x2F,\r
+0x7D,0x01,0x6D,0xA0,0xB1,0xEC,0xDD,0x81,0x6E,0x95,0x4B,0xF9,0x6D,0xE6,0x8A,0x57,\r
+0x51,0x3A,0x56,0xB7,0x3C,0xD6,0x50,0x36,0xA4,0x4D,0x59,0x21,0xA3,0x1E,0x72,0x61,\r
+0xC8,0x9F,0xF3,0x8B,0x39,0xE6,0x55,0x03,0x5B,0xA7,0x4C,0xCB,0x1C,0xE4,0x88,0x24,\r
+0x76,0xE7,0x8B,0x4D,0x93,0x99,0xFF,0xD6,0xD7,0x47,0x20,0x2B,0xD9,0x83,0xEF,0x86,\r
+0x3D,0xDA,0xB6,0x3B,0x4D,0x32,0x21,0xA3,0x79,0xAE,0x67,0xC2,0x51,0x43,0x2F,0xCE,\r
+0xBE,0xBC,0xD0,0xDE,0x1C,0xD2,0x70,0x12,0x11,0x3F,0x9E,0x53,0x8E,0xA8,0xC4,0xFA,\r
+0x45,0x3E,0x52,0xA7,0x66,0x65,0x0A,0xDF,0x66,0x15,0xC3,0x79,0x43,0x4F,0x23,0xD0,\r
+0xB3,0x86,0xEA,0xE9,0x33,0x95,0x5F,0x7A,0xB6,0x41,0x47,0x2D,0xE1,0x06,0x6A,0x3B,\r
+0x29,0xDE,0xB2,0x2B,0x87,0xC9,0xEB,0x92,0x53,0x27,0xC4,0x4B,0x27,0x7E,0x12,0x85,\r
+0x64,0x3F,0x53,0x87,0xAA,0xFF,0xC6,0x89,0x04,0x0C,0xB8,0x60,0xFB,0x8A,0xE6,0xAD,\r
+0xE4,0xA4,0xC8,0x9C,0xD1,0x68,0xBD,0x65,0xB9,0xFE,0xF7,0x92,0x9A,0x8C,0xE0,0xCA,\r
+0x95,0xB5,0xD9,0xFC,0x45,0x30,0x29,0xA9,0x92,0x60,0x42,0x0C,0x22,0x49,0x25,0xB7,\r
+0x68,0xEB,0x87,0x5F,0x65,0x34,0x09,0x8D,0x26,0x05,0x93,0x69,0x29,0xD6,0xBA,0x23,\r
+0x78,0x20,0x4C,0x84,0x7A,0x37,0x16,0x91,0x0F,0x93,0x2C,0xFF,0x4B,0xCF,0xA3,0x58,\r
+0xCF,0xAD,0xC1,0xBE,0x75,0x74,0x19,0xDD,0x69,0xAA,0x73,0xC6,0x85,0x37,0x5B,0x6E,\r
+0x6F,0xD9,0xB5,0x6A,0x19,0xE2,0x75,0x27,0x73,0x26,0xE5,0x4A,0xBA,0x8D,0xE1,0xEB,\r
+0x40,0x1F,0x73,0x83,0x6F,0x47,0x03,0xF4,0x0A,0xA4,0x1E,0xC8,0xE7,0x2E,0x42,0x15,\r
+0xB0,0x7B,0x17,0x17,0x68,0x06,0x04,0xB2,0x9B,0xF7,0xDC,0x9B,0x39,0xD2,0xBE,0x37,\r
+0xB6,0xA7,0xCB,0xCD,0xF0,0x4C,0x9C,0x60,0x0E,0x84,0x3A,0xE8,0x16,0x6C,0x00,0xA6,\r
+0xEC,0xBF,0xD3,0x8F,0x81,0xA8,0xED,0xF5,0xED,0xCA,0x97,0xA6,0x7D,0xE2,0x8E,0x43,\r
+0x8B,0xB9,0xD5,0xEE,0x56,0x21,0x3A,0xAB,0x23,0x32,0xA1,0x5E,0x9F,0xBB,0xD7,0xF8,\r
+0x31,0x0E,0x62,0xE3,0xB2,0xBD,0xDE,0xD3,0xA2,0x65,0x77,0x09,0x58,0xD4,0xB8,0x50,\r
+0x28,0x30,0x5C,0xC4,0x0D,0xB2,0x61,0x63,0x3A,0xA1,0x2B,0xCD,0x5A,0xDC,0xB0,0x5A,\r
+0xA2,0xA3,0xCF,0xDD,0xC9,0x2A,0xA5,0x3F,0x6B,0xA2,0x79,0xCE,0x2D,0xF6,0x9A,0x07,\r
+0xA0,0xB0,0xDC,0xCC,0x72,0x35,0x1E,0x9B,0x80,0x6C,0x5C,0x00,0xD4,0x34,0x58,0x3C,\r
+0x83,0xA2,0xCE,0xFD,0xF3,0x1D,0x9F,0x32,0x55,0x0F,0xEA,0x63,0xA9,0x96,0xFA,0xE3,\r
+0xC1,0x6A,0x06,0x77,0x6E,0x67,0x02,0xD5,0x0C,0x8C,0x30,0xE0,0x15,0x73,0x1F,0xBA,\r
+0x0E,0x03,0x6F,0xD1,0x42,0x71,0x2E,0xEF,0x3E,0x81,0x0F,0xED,0xEF,0xAE,0xC2,0x9D,\r
+0x4A,0x17,0x7B,0x81,0x64,0x14,0x08,0xAC,0x24,0x0D,0x99,0x61,0x7E,0xFD,0x91,0x5F,\r
+0xB5,0x5A,0x36,0x33,0x5D,0x72,0x31,0xF3,0x94,0x48,0x6C,0x24,0x3D,0xF2,0x9E,0x13,\r
+0x0C,0xE7,0x19,0x5B,0xBF,0x99,0x41,0x96,0x7D,0x30,0x03,0xCE,0x58,0xF8,0x06,0x10,\r
+0xA9,0xB2,0x4C,0xAB,0x07,0xD7,0xF9,0x60,0xDF,0x79,0xE8,0x87,0x88,0xAC,0x52,0x94,\r
+0x41,0x06,0xF8,0xF7,0x5F,0x15,0xA1,0xFA,0x19,0x01,0x56,0xFF,0x6D,0xCA,0x34,0x17,\r
+0x5A,0x2B,0xD5,0xC1,0xBE,0xB9,0x40,0xB7,0xC5,0xF5,0x7E,0x0B,0x3A,0xE1,0x1F,0x6B,\r
+0xB6,0x50,0xAE,0x56,0x25,0xA2,0xDB,0x37,0xA4,0xF3,0x19,0x0D,0x87,0x13,0xED,0x24,\r
+0x7A,0xC4,0x3A,0x0E,0x34,0xC2,0xCA,0x46,0x1C,0x36,0x64,0xC8,0xAC,0x8D,0x73,0x91,\r
+0x5E,0xE4,0x1A,0x0A,0x6A,0x61,0x94,0xBB,0x17,0xA9,0xF0,0x57,0x18,0xE8,0x16,0x40,\r
+0x42,0xFB,0x05,0x09,0xA1,0xBA,0x5F,0xAB,0x75,0xB0,0x8B,0x4E,0x31,0x7E,0x80,0xFF,\r
+0x0A,0x3B,0xC5,0x81,0x94,0xCE,0x6A,0xEA,0x2D,0x24,0x47,0xDA,0xA8,0xAD,0x53,0xB5,\r
+0x67,0x35,0xCB,0xE2,0x4D,0x24,0xB3,0xD9,0xCF,0x7D,0xFC,0x83,0xB4,0x09,0xF7,0x0D,\r
+0x52,0x30,0xCE,0xD2,0x80,0x9E,0x7E,0xAE,0x53,0x99,0x84,0x67,0x50,0x78,0x86,0x98,\r
+0xE5,0xBD,0x43,0xE8,0xBB,0x89,0x45,0x82,0x9D,0x61,0xB2,0x9F,0x9A,0xA0,0x5E,0x8A,\r
+0xD0,0xB8,0x46,0xD8,0x1E,0xB5,0xE0,0x1B,0x22,0x9B,0xF7,0x65,0x65,0x4A,0xB4,0x9F,\r
+0x05,0x12,0xEC,0xA7,0x66,0x73,0x98,0xA5,0xE7,0xFC,0x55,0x02,0xE9,0xAA,0x54,0xF3,\r
+0x70,0xCC,0x32,0x0C,0x5B,0x05,0xA5,0xEE,0x6F,0x3C,0x1D,0xC2,0x47,0x43,0xBD,0xB4,\r
+0xC1,0x9D,0x63,0xEC,0x3D,0xE0,0xC3,0x6D,0xB0,0xD7,0x29,0x29,0x2F,0xD2,0x2C,0x4D,\r
+0xB0,0x8C,0x72,0x8C,0xB1,0xFA,0x4F,0xFB,0x64,0xA3,0x89,0x5D,0x04,0x4C,0xB2,0xF8,\r
+0xEC,0x48,0xB6,0x14,0x22,0xE3,0xDC,0x71,0x13,0x89,0xD4,0x77,0x55,0x4F,0xB1,0xAA,\r
+0x48,0xF3,0x0D,0x0B,0x31,0xF2,0xCF,0x73,0xEA,0x4B,0xEF,0xB5,0xBE,0x81,0x7F,0x8F,\r
+0xE1,0x72,0x8C,0x23,0x23,0xC3,0xDD,0x50,0x97,0xE9,0x30,0x17,0x6B,0xE2,0x1C,0x39,\r
+0x06,0xEF,0x11,0x59,0xEB,0x49,0x15,0x12,0x2B,0x0C,0x69,0xF2,0x32,0x61,0x9F,0xE3,\r
+0x3C,0xC3,0x3D,0x4F,0x82,0xEF,0x7C,0xDD,0xD1,0xD1,0x4E,0x2F,0x00,0x6C,0x92,0xDC,\r
+0x7F,0xE5,0x1B,0x2A,0x96,0xBF,0x68,0x99,0x40,0x82,0x8C,0x7C,0x1A,0xE0,0x1E,0x4A,\r
+0x20,0xDC,0x22,0x4C,0xDB,0x0D,0x25,0x66,0x03,0x8D,0xC0,0x73,0xAA,0xA5,0x5B,0xBF,\r
+0x0E,0xF4,0x0A,0x4A,0x2C,0x80,0xD2,0x1C,0xBB,0x48,0xBD,0xB6,0x57,0x47,0xB9,0xA0,\r
+0xF4,0x98,0x66,0xDC,0x58,0x54,0xA6,0xBC,0x84,0xF2,0x38,0x0C,0x4D,0xCB,0x35,0x36,\r
+0x27,0xEE,0x10,0x79,0x9E,0xBD,0x60,0x93,0xD9,0x51,0xC6,0xAF,0x34,0x49,0xB7,0xCD,\r
+0x61,0xE9,0x17,0x38,0xFA,0x29,0x04,0x63,0x07,0xAD,0xE4,0x53,0xA5,0x1A,0xE4,0x0F,\r
+0xB3,0x71,0x8F,0x72,0x26,0xF3,0xD8,0x65,0x28,0x13,0x75,0xED,0x30,0x69,0x97,0xE9,\r
+0x26,0x00,0xFE,0x96,0x3E,0xB1,0xC0,0x3F,0x43,0x9D,0x90,0x63,0xD3,0x27,0xD9,0x44,\r
+0x78,0xD7,0x29,0x1F,0x38,0xD0,0xC6,0x58,0xA1,0xC4,0x2B,0x3A,0x1D,0xDF,0x21,0x72,\r
+0x00,0x33,0xCD,0x83,0x8F,0xDD,0x71,0xE2,0x66,0xAB,0x83,0x55,0x9C,0x88,0x76,0xA4,\r
+0x7C,0x18,0xE6,0xD4,0x08,0x94,0xF6,0x2C,0x7A,0x0F,0x3B,0xF1,0x27,0x52,0xAC,0xC5,\r
+0xD2,0xAB,0x55,0xC9,0x20,0x92,0xDE,0x02,0xED,0x74,0xD7,0x8A,0xAF,0x92,0x6C,0x8D,\r
+0x85,0x89,0x77,0xBC,0xB0,0xDA,0x4E,0xDA,0x33,0x88,0xF5,0x76,0x90,0x28,0xD6,0x08,\r
+0xA8,0x5C,0xA2,0x44,0x60,0x12,0x9E,0xC2,0x4B,0x1D,0x18,0xE3,0x3E,0xC1,0x3F,0x4F,\r
+0x2A,0xD4,0x2A,0x4E,0xD6,0x3F,0x28,0x59,0xF1,0xD0,0x6F,0x2E,0x39,0xFE,0x00,0x77,\r
+0x11,0x16,0xE8,0xB7,0x84,0x8E,0x7A,0xBA,0x7B,0x18,0x2D,0xE6,0x91,0x3F,0xC1,0x1E,\r
+0xD8,0xA3,0x5D,0xCB,0x8E,0xFD,0x70,0xC3,0xCA,0x4A,0xCE,0xB4,0xDE,0x90,0x6E,0xFE,\r
+0xFD,0x6D,0x93,0x20,0x21,0xB2,0xDF,0x23,0x8F,0x6D,0xAC,0x93,0xD6,0x10,0xEE,0x76,\r
+0xA3,0xBA,0x44,0xA9,0xEA,0x69,0x14,0x33,0x63,0x9C,0xB1,0x62,0xAE,0x85,0x7B,0x9B,\r
+0x7D,0xF6,0x08,0x3B,0x95,0xEE,0x6B,0xCB,0x62,0x8B,0xA7,0x75,0x8B,0xB3,0x4D,0x88,\r
+0xE0,0x9C,0x62,0xCC,0x46,0x77,0xB8,0x81,0x7E,0x2F,0x1F,0xD1,0x41,0x6B,0x95,0x9A,\r
+0x32,0x04,0xFA,0x86,0x6F,0x51,0x91,0x8E,0x93,0xC9,0x14,0x37,0x98,0xA8,0x56,0x80,\r
+0x6C,0xD3,0x2D,0x0F,0x99,0xFC,0x67,0xD5,0xEB,0x5C,0xF9,0xA2,0x16,0x40,0xBE,0xE6,\r
+0x54,0xEC,0x12,0x08,0x7A,0x21,0x84,0xEB,0x95,0xE1,0x3A,0x1F,0xE5,0x0A,0xF4,0x5F,\r
+0x53,0xDE,0x20,0x3D,0xFD,0x68,0x03,0x25,0x9F,0x69,0xB8,0x97,0x5A,0xF0,0x0E,0x1A,\r
+0xCA,0x7B,0x85,0x01,0xC5,0x2E,0x3B,0x5B,0x70,0x87,0xB9,0x79,0x35,0x5E,0xA0,0xDB,\r
+0x22,0xCF,0x31,0x5D,0xD5,0x6E,0x2B,0x0B,0xF6,0xEF,0x57,0x11,0x67,0x42,0xBC,0x95,\r
+0xC4,0xBC,0x42,0xC8,0xB7,0x9B,0x49,0x9C,0x42,0x8A,0x86,0x74,0xB6,0x01,0xFF,0x07,\r
+0x4B,0x0E,0xF0,0xF5,0xFC,0x48,0x02,0x04,0xC6,0xEA,0x62,0x14,0x7C,0xD9,0x27,0x15,\r
+0x92,0x70,0x8E,0x52,0x5A,0x25,0xA4,0xCF,0xCD,0x75,0xF6,0x8B,0xF8,0xB9,0x47,0xF1,\r
+0x2F,0xF5,0x0B,0x6A,0x24,0x82,0xDA,0x16,0x5F,0x39,0x28,0xC7,0x37,0x56,0xA8,0xD1,\r
+0x6A,0x0F,0xF1,0xD5,0xA6,0xFB,0x58,0xED,0xB8,0x57,0xA1,0xA9,0x10,0x68,0x96,0xC8,\r
+0xDE,0x7F,0x81,0x11,0x91,0xFE,0x6F,0xDF,0xC7,0xFD,0x74,0x03,0xF0,0x39,0xC7,0x79,\r
+0x5C,0xF7,0x09,0x1B,0x32,0xA3,0xCC,0x21,0x74,0xA7,0x9D,0x59,0x1E,0xC0,0x3E,0x6E,\r
+0x51,0xCD,0x33,0x2C,0xA4,0x8A,0x5A,0x9E,0xDB,0x59,0xCC,0xA7,0xE6,0x15,0xEB,0x43,\r
+0x35,0x36,0xC8,0xB3,0xC9,0x3C,0x37,0x45,0x76,0xAF,0x97,0x51,0x26,0x45,0xBB,0xD3,\r
+0xC9,0x86,0x78,0xFF,0x6E,0x71,0x90,0xAF,0xE1,0xD4,0x7B,0x2A,0x5E,0xD0,0x2E,0x3E,\r
+0x68,0x1C,0xE2,0xC4,0x2D,0xA0,0xD3,0x3D,0x5C,0x26,0x34,0xD8,0xC0,0x3C,0xC2,0x4C,\r
+0xC7,0x41,0xBF,0x36,0xF9,0x78,0x07,0x31,0x06,0xBA,0xF2,0x44,0x85,0x1B,0xE5,0x2E,\r
+0xAD,0x7D,0x83,0x60,0x54,0x46,0xAA,0xA2,0xF4,0xE7,0x5D,0x19,0xA6,0x05,0xFB,0x13,\r
+0x87,0x9A,0x64,0xAD,0x9B,0x8D,0x65,0xA6,0xF9,0x50,0xE7,0xAE,0xE4,0x1D,0xE3,0x49,\r
+0x01,0xDD,0x23,0x6C,0x64,0x02,0x9A,0xD6,0x45,0xB5,0xBE,0x4B,0x7F,0xC6,0x38,0x09,\r
+0xE2,0xC3,0xD2,0x64,0x9A,0xE7,0x08,0x61,0x55,0x87,0xD3,0xA7,0x19,0x35,0x59,0x9F,\r
+0x62,0xCB,0x5A,0xE4,0xDF,0xC0,0x6A,0x46,0xFA,0x67,0x7C,0xE8,0xD7,0xDE,0x7C,0x51,\r
+0xCD,0x84,0xBA,0x4B,0x6E,0x92,0x89,0x14,0xF0,0x1E,0x76,0x9B,0x62,0xA2,0xB5,0xE4,\r
+0x0C,0x2C,0xD3,0x8A,0xE4,0x5A,0xCB,0xDC,0xA2,0xFD,0x24,0x2A,0xA0,0x5B,0x8E,0x26,\r
+0x33,0x2B,0xEB,0xB5,0x5E,0x97,0xBC,0x11,0x14,0x66,0x92,0x07,0x28,0x51,0x0C,0xAE,\r
+0xDA,0x85,0xAC,0x5C,0x26,0x02,0x51,0x84,0xC4,0x7E,0x42,0xCF,0xFD,0xA9,0x21,0x7B,\r
+0x60,0xBA,0x29,0xE6,0xF8,0xFE,0x73,0x78,0x54,0xA6,0xD2,0x87,0xDF,0xDC,0x76,0x59,\r
+0xA0,0x32,0x61,0x26,0x6F,0x85,0x9F,0x03,0x7C,0x88,0xFA,0x81,0x6C,0xC1,0xD8,0xEA,\r
+0xAC,0x20,0x7F,0x2A,0x65,0x0D,0x1D,0x8B,0xB1,0xFF,0x37,0x3B,0x0F,0x14,0x6E,0x89,\r
+0x02,0x4F,0xBE,0x84,0x8A,0xE3,0x1C,0x65,0x89,0x81,0x0F,0x7D,0xAA,0x28,0xF7,0x2C,\r
+0xF8,0xF0,0xFB,0x7E,0x80,0x6B,0x9E,0xED,0x0E,0x4F,0x88,0x34,0x98,0x1D,0xF0,0x1E,\r
+0xB2,0x03,0x42,0x34,0xFE,0xD6,0x5D,0x50,0xED,0x71,0x6B,0xE9,0xA7,0x1A,0xC8,0x21,\r
+0x5A,0x8D,0x24,0xDC,0x86,0x43,0xB0,0xC5,0x1B,0x2A,0x9D,0x44,0x70,0x93,0x96,0xF6,\r
+0x99,0x54,0x3E,0x1F,0x6B,0xA5,0xBB,0x23,0x32,0x25,0xB4,0x62,0xE8,0xD9,0x44,0x6E,\r
+0x41,0x9E,0x2C,0xC7,0x77,0x01,0x03,0x87,0xE1,0x6F,0x67,0xFB,0x82,0x2E,0xD9,0x04,\r
+0x77,0xBB,0x3F,0xF1,0x76,0x16,0x15,0x90,0x9E,0x97,0x18,0x7C,0xCE,0xBC,0x07,0x48,\r
+0x32,0x0B,0xCA,0xB4,0x61,0x2D,0x39,0xAB,0x46,0x85,0xC0,0xB6,0x83,0x0E,0xF8,0x05,\r
+0xCB,0xE5,0xDD,0x4D,0xD2,0x77,0xD0,0xF1,0xE5,0x7B,0x63,0xEB,0x0B,0x04,0x7A,0x8D,\r
+0x9A,0x05,0x6C,0x1C,0xAD,0xDD,0x05,0x5B,0xD2,0x49,0x54,0xEE,0x7B,0xC0,0xCE,0xFD,\r
+0xA4,0x22,0x75,0x22,0x4A,0xB3,0x8C,0x35,0x50,0xB2,0xD6,0x97,0x81,0x7F,0x8B,0x07,\r
+0x4B,0xED,0x55,0xCD,0xD8,0xFF,0x52,0x79,0x2E,0x6B,0xA8,0x30,0x04,0x47,0x36,0x82,\r
+0x2B,0x69,0xB1,0xAD,0xD3,0x60,0xC6,0xE6,0x88,0xA0,0x0E,0x5D,0x7A,0xE0,0xEF,0xFC,\r
+0xF3,0xA3,0xA3,0x75,0x57,0x00,0x22,0x86,0xC3,0x38,0x45,0x8E,0xC8,0xDD,0x60,0x4E,\r
+0xB0,0x72,0x31,0x36,0xE3,0x65,0xF3,0xE3,0xA1,0xAF,0x27,0x7B,0xBB,0x48,0x86,0x3D,\r
+0x34,0x6A,0xAD,0xB2,0x50,0x3F,0x1A,0xB9,0x10,0x72,0x96,0x17,0xA9,0x79,0xA5,0x2F,\r
+0xEF,0xF1,0xED,0x69,0xEC,0xDA,0x43,0x5C,0xEF,0x02,0x69,0x98,0xEE,0xB8,0x23,0x68,\r
+0xF7,0xB3,0xB7,0x71,0xE1,0x6D,0xF9,0xEB,0x20,0x06,0xA6,0x53,0x09,0x75,0x09,0x8F,\r
+0xE9,0x90,0x8A,0x6F,0x13,0x30,0x56,0xB6,0x8D,0x95,0x0B,0x6D,0x35,0x23,0x63,0xB3,\r
+0xCE,0xD5,0xE8,0x48,0x49,0xAC,0x90,0x2A,0x59,0x99,0xDF,0xB5,0x68,0xD1,0xCC,0xEE,\r
+0x22,0x4B,0x9A,0xA4,0xF4,0x5E,0xDF,0xD8,0x1A,0x0B,0x9C,0x64,0xF2,0xEA,0x6D,0x74,\r
+0xB7,0x33,0x77,0x31,0x63,0x25,0x33,0xA3,0xBD,0xE1,0x3B,0x29,0x42,0xA6,0x91,0xC4,\r
+0xE7,0xF3,0xE7,0x61,0xCE,0xD3,0x68,0x55,0xD0,0x3A,0x56,0x9F,0xB9,0x39,0xF5,0x3F,\r
+0x8C,0x24,0x5B,0x0A,0x60,0x3A,0x2F,0xBC,0xD5,0x0F,0x53,0xAF,0x8F,0x1C,0xE6,0x09,\r
+0x1A,0x0D,0xE4,0x9C,0x02,0x23,0x54,0xA5,0x1E,0x1F,0x98,0x74,0x90,0x1F,0xFA,0x16,\r
+0x7F,0xB9,0x35,0xF9,0x09,0xBC,0xC0,0x3A,0x40,0xE2,0xC6,0xD7,0xB0,0x1B,0xDE,0x36,\r
+0xE1,0x92,0x80,0x67,0xB1,0x79,0xBD,0xFF,0x51,0x93,0xD7,0xB7,0x24,0x43,0x12,0xA2,\r
+0x13,0x2F,0xCF,0x95,0xD0,0x7F,0xDA,0xF9,0xCA,0x13,0x4C,0xAC,0x5F,0xD4,0xFE,0xD9,\r
+0x38,0x78,0xB3,0xBE,0x0C,0x8B,0xF2,0x0D,0x2B,0x5E,0xAD,0x00,0x72,0xE2,0xE5,0xF4,\r
+0x5E,0x9D,0x30,0xD8,0xCA,0xF3,0x4C,0x75,0x73,0xC4,0xF5,0xC2,0xC6,0xBE,0x0D,0x40,\r
+0x0A,0x4D,0xB4,0x8C,0x68,0xBA,0xA7,0x3C,0xCB,0x32,0x4D,0x8C,0x93,0x4E,0xA8,0x15,\r
+0x20,0x3A,0xE9,0xA6,0xA5,0x5D,0x8D,0xDB,0x49,0xC9,0xCF,0xF5,0xE9,0xF9,0x65,0x6F,\r
+0xB1,0x52,0x10,0x37,0x7A,0xB6,0xB9,0x30,0x2F,0x4A,0xA9,0x10,0xB8,0x19,0xD4,0x3E,\r
+0x58,0xFC,0x57,0xDE,0xF2,0x76,0xF1,0xF0,0x12,0x01,0x94,0x66,0x66,0xB2,0xA1,0xE0,\r
+0xB8,0x70,0x3B,0x3E,0x37,0x11,0x53,0x97,0x6A,0xBF,0xEC,0xA0,0xCC,0xCD,0x74,0x4A,\r
+0x52,0x8F,0x2E,0xD4,0x88,0xEB,0x16,0x6D,0xCF,0x26,0x49,0x9C,0xC9,0xFD,0x41,0x4F,\r
+0x8A,0x45,0x3C,0x0C,0x46,0x13,0x20,0x95,0xF4,0x0A,0x72,0x8B,0x44,0xC7,0xF6,0xC2,\r
+0xFB,0xA1,0xA9,0x7D,0xDA,0xF7,0x58,0x71,0x39,0x7D,0xBF,0x31,0x41,0xF7,0xC3,0xC7,\r
+0x5F,0xBD,0x11,0xD9,0x38,0xAE,0xE3,0x28,0xE0,0x4E,0x66,0xDB,0x4F,0x94,0xAE,0xC9,\r
+0x57,0xBF,0x1B,0xD1,0x16,0x07,0x64,0x81,0xAF,0xC2,0x29,0x18,0xA8,0x59,0x84,0x2E,\r
+0x12,0x0F,0xEE,0x94,0x55,0x08,0x28,0x8E,0xE2,0x3D,0x64,0xAA,0x91,0x3F,0xDB,0x17,\r
+0x9E,0x15,0x78,0x18,0xC4,0x5B,0xEA,0xDD,0xF6,0x79,0x70,0xFA,0xB7,0x5A,0x98,0x31,\r
+0x93,0x27,0x47,0x15,0x3E,0x86,0xCD,0x00,0x9F,0xB6,0x19,0x5C,0x9B,0x4C,0xA2,0x1D,\r
+0x10,0x7E,0x9D,0x96,0x82,0x63,0x94,0xE5,0x57,0xF4,0xD1,0xD6,0x06,0x36,0x45,0x80,\r
+0x73,0xAB,0x2B,0xF5,0xFF,0xC1,0x4B,0x47,0x45,0xD7,0xC3,0xE7,0x87,0x1E,0xEC,0x01,\r
+0xBD,0x40,0x0E,0x3B,0x06,0x03,0x70,0x85,0x56,0xD5,0xD0,0xF6,0x3C,0x01,0x48,0xBA,\r
+0xBE,0x11,0x5C,0x38,0x71,0x29,0x2D,0xAF,0xC5,0x5F,0x43,0xEF,0xF8,0x99,0x14,0x7E,\r
+0x7A,0x89,0x00,0xFC,0x73,0x21,0x27,0xA7,0xFB,0x46,0x7D,0xC8,0x47,0x96,0xA4,0xC1,\r
+0x2D,0x08,0xD6,0xAB,0xB4,0x4E,0x8F,0xC8,0x4C,0xFC,0xCA,0xC5,0xA3,0x0A,0xDC,0x25,\r
+0xD5,0xC6,0xE0,0x53,0x56,0x17,0x34,0x91,0x4A,0x9B,0xCC,0xA4,0x74,0x83,0x82,0xF2,\r
+0x9B,0x25,0x4D,0x1D,0x3D,0x99,0xD1,0x1F,0x52,0xC1,0xD4,0xE6,0x05,0x67,0x17,0x83,\r
+0xE8,0xB0,0xAB,0x6E,0x12,0x27,0x40,0xA1,0x8E,0xC7,0x08,0x3C,0x9D,0x2D,0xC5,0x1B,\r
+0xBB,0x21,0x69,0x3D,0xCC,0xDB,0x62,0x5D,0xEA,0x37,0x6C,0xA8,0x9A,0x6C,0x83,0x1C,\r
+0x39,0x58,0x92,0xBF,0x91,0x78,0x9C,0xFE,0x2C,0x18,0xAA,0x41,0xEC,0xC9,0x50,0x6A,\r
+0xB5,0x42,0x04,0x33,0xAE,0xC2,0x19,0x44,0x58,0xB8,0xDE,0x95,0x80,0x5F,0xAA,0x06,\r
+0x04,0x0B,0x47,0x4B,0x32,0x9A,0x96,0xEC,0x79,0x75,0x31,0x0C,0xE8,0xF5,0xE4,0x59,\r
+0xBB,0x4E,0xBD,0xB1,0xC9,0x18,0x14,0x95,0x17,0x1B,0xD6,0x85,0xD6,0xEC,0xDA,0x7E,\r
+0x7F,0xFA,0xCD,0xC1,0xFB,0x2F,0x23,0x90,0xBD,0xB1,0xA9,0x50,0x87,0x5D,0x8B,0x9E,\r
+0x75,0x78,0x45,0x49,0x05,0x8C,0x80,0xCD,0xE7,0xEB,0x1A,0xB9,0x7E,0x4A,0x72,0x70,\r
+0x33,0x06,0x7D,0x71,0x2F,0x6B,0x67,0x00,0xAF,0xA3,0x98,0x73,0xFC,0xB1,0xF0,0x09,\r
+0xA6,0xE0,0x0E,0x02,0xB8,0x09,0x05,0xF5,0xCA,0xC6,0x2C,0xA2,0xBF,0x23,0xB3,0xD8,\r
+0x9B,0x6F,0xBC,0xB0,0x20,0x42,0x4E,0x26,0xAA,0xA6,0xA8,0x46,0x67,0x31,0x6B,0x12,\r
+0x3C,0xB6,0xC2,0xCE,0xEB,0xE4,0xE8,0x4B,0x35,0x39,0xA3,0xD2,0x07,0xD5,0x0B,0x96,\r
+0x58,0xE3,0xF3,0xFF,0x15,0x47,0x4B,0x16,0xFA,0xF6,0x68,0xD6,0xA5,0x0A,0xA9,0xEB,\r
+0x0E,0x89,0xCF,0xC3,0x86,0xEA,0xE6,0x28,0xA7,0xAB,0x9A,0x79,0xBB,0x37,0xB7,0xC8,\r
+0xC3,0xA3,0x28,0x24,0x82,0x25,0x29,0xE3,0x10,0x1C,0x97,0xC3,0xA3,0x6D,0xAF,0x8A,\r
+0x02,0x25,0x6F,0x63,0xF2,0xDA,0xD6,0x6C,0xF5,0xF9,0x2B,0x9A,0x78,0x2D,0x74,0x11,\r
+0x42,0x75,0x7F,0x73,0xBA,0x1A,0x16,0xE4,0x19,0x15,0xB5,0xE8,0xAB,0x67,0xA7,0x88,\r
+0xDD,0x11,0x84,0x88,0x61,0x77,0x7B,0x52,0xEF,0xE3,0x18,0xB3,0xFB,0xF7,0xF7,0x48,\r
+0x91,0xED,0x34,0x38,0x8B,0xD0,0xDC,0x1F,0x94,0x98,0x8F,0x5F,0x6E,0x1A,0x62,0x30,\r
+0xAA,0x4C,0xAE,0xA2,0x19,0x93,0x9F,0xCE,0x66,0x6A,0x32,0x10,0x82,0x68,0x8E,0xAE,\r
+0x20,0x0E,0x66,0x6A,0x7D,0x68,0x64,0x51,0x90,0x9C,0x9F,0x4B,0x40,0x53,0x4C,0x57,\r
+0xD9,0x35,0xA4,0xA8,0x9E,0x3A,0x36,0xE0,0x58,0x54,0x15,0x09,0x81,0x3A,0x8D,0xFF,\r
+0xA5,0xFC,0x11,0x1D,0xE7,0x30,0x3C,0x93,0x0A,0x06,0xA4,0xEA,0x2E,0xDA,0x22,0xB0,\r
+0x4E,0xD9,0xDF,0xD3,0x07,0x9F,0x93,0xDC,0x2D,0x21,0xE1,0x88,0xAE,0x52,0xA2,0xB8,\r
+0xBA,0x58,0xAA,0xA6,0x08,0xB6,0xBA,0xFA,0x4F,0x43,0x14,0x1F,0xEC,0xE1,0xE0,0x49,\r
+0xA7,0xF6,0x19,0x15,0x26,0x9E,0x92,0xFC,0x34,0x38,0x83,0xF3,0x2C,0xA9,0x20,0xC1,\r
+0xD2,0xA1,0x3B,0x37,0xFE,0x0E,0x02,0xB4,0xC8,0xC4,0x5D,0xD1,0x96,0x2C,0x9A,0xFE,\r
+0x2A,0x8C,0xEE,0xE2,0xE6,0xDE,0xD2,0x7C,0x5D,0x51,0x25,0x3C,0x7F,0x6B,0x73,0x50,\r
+0x61,0x48,0x61,0x6D,0xF1,0x27,0x2B,0x92,0x1C,0x10,0x85,0xDD,0xFE,0xC2,0xF2,0x78,\r
+0x66,0x70,0x5E,0x52,0xCF,0xC4,0xC8,0x4F,0xA1,0xAD,0xFB,0x1E,0xB4,0x7B,0xB8,0x8B,\r
+0x53,0x77,0x6C,0x60,0x01,0x43,0x4F,0x06,0x29,0x25,0xF1,0x9C,0x4E,0x3E,0x42,0x34,\r
+0x6F,0xEE,0xC9,0xC5,0x7F,0x7B,0x77,0x40,0xC7,0xCB,0x1E,0x9D,0xE0,0xFF,0xEC,0x5B,\r
+0xC7,0x87,0x08,0x04,0x17,0x54,0x58,0x07,0xDC,0xD0,0x0D,0x95,0x3B,0xBF,0x37,0xC0,\r
+0x55,0x59,0x44,0x48,0xEF,0x2B,0x27,0x80,0xCB,0xC7,0x0C,0x83,0x0D,0xAC,0x01,0xE5,\r
+0xA2,0xC4,0x2E,0x22,0xA5,0xF8,0xF4,0x19,0x6F,0x63,0x10,0x3B,0xD5,0xBE,0xD9,0x2F,\r
+0xE8,0x16,0xB6,0xBA,0xAA,0xD1,0xDD,0x3F,0x89,0x85,0xFD,0x30,0x16,0xA4,0x1A,0xF6,\r
+0x37,0x22,0x5D,0x51,0x36,0x55,0x59,0x27,0x4C,0x40,0x45,0x4D,0xDF,0xC7,0xD3,0x5C,\r
+0x21,0x18,0x71,0x7D,0xF9,0x3C,0x30,0x81,0x91,0x9D,0xBF,0x6A,0xD2,0xF8,0xDE,0x6E,\r
+0x44,0x5B,0x57,0x5B,0xBD,0x28,0x24,0xD1,0xC2,0xCE,0x2E,0xA8,0x5E,0x6E,0x52,0x74,\r
+0x22,0x04,0x6E,0x62,0x42,0x65,0x69,0x63,0xCD,0xC1,0x6D,0xE4,0x1B,0x9B,0x17,0xC4,\r
+0xE2,0x94,0x3E,0x32,0xDF,0x0F,0x03,0x94,0xE3,0xEF,0x0A,0xAD,0xF2,0xDC,0xFE,0x6A,\r
+0x7A,0xC8,0xFA,0xF6,0x55,0x9C,0x90,0x8D,0xC9,0xC5,0x7D,0xF0,0xF1,0x8E,0xFD,0x3B,\r
+0x65,0x6C,0x41,0x4D,0x57,0x8F,0x83,0x9C,0x0B,0x07,0x84,0xCB,0x3F,0xAB,0x33,0xD0,\r
+0x4D,0xC5,0xC0,0xCC,0x74,0x9D,0x91,0xAD,0xA9,0xA5,0xF9,0x14,0x5C,0x1D,0x50,0x05,\r
+0x1C,0x97,0xC3,0xCF,0x41,0x98,0x94,0x9D,0x53,0x5F,0x46,0x51,0xD7,0xCD,0xDB,0x5E,\r
+0xF8,0x02,0xB2,0xBE,0x1B,0x80,0x8C,0xDF,0xDD,0xD1,0x2D,0xB4,0x99,0x60,0x95,0xBD,\r
+0x71,0x5C,0x65,0x69,0x7C,0x86,0x8A,0xBE,0x84,0x88,0xCF,0x0F,0x61,0x56,0x6D,0x73,\r
+0xED,0x24,0x81,0x8D,0xC6,0x31,0x3D,0xB3,0xEB,0xE7,0x08,0xA7,0x36,0x80,0x3A,0xF2,\r
+0x24,0x2A,0x46,0x4A,0x38,0x92,0x9E,0xEE,0x08,0x04,0xD5,0x99,0xF9,0x84,0xF5,0x39,\r
+0xB2,0xD0,0x2A,0x26,0x98,0xE6,0xEA,0x3A,0xB2,0xBE,0xEA,0x1C,0x75,0x12,0x79,0x23,\r
+0x17,0x03,0x5C,0x50,0xB7,0x20,0x2C,0xD3,0x11,0x1D,0xB7,0xE2,0xF7,0xE9,0xFB,0x5A,\r
+0x56,0x45,0x5B,0x57,0x47,0x44,0x48,0x47,0xED,0xE1,0x69,0xC0,0xA4,0x2B,0xA8,0xCB,\r
+0x38,0x92,0xE2,0xEE,0x13,0x9B,0x97,0xCC,0xB3,0xBF,0xCA,0x3D,0xAD,0x00,0xA1,0xE9,\r
+0x60,0x5E,0x76,0x7A,0x62,0x8A,0x86,0xAC,0x76,0x7A,0x72,0x40,0x33,0xB5,0x3F,0xC2,\r
+0x64,0x7A,0x56,0x5A,0x9F,0xD4,0xD8,0x0F,0xE9,0xE5,0x79,0xD4,0x56,0x64,0x5A,0x76,\r
+0x67,0x66,0x49,0x45,0x8F,0x1F,0x13,0xD4,0xF0,0xFC,0x1B,0xAF,0xC0,0xDB,0xCC,0x5F,\r
+0x35,0x28,0x55,0x59,0xB2,0x01,0x0D,0xF7,0x70,0x7C,0x13,0x27,0x46,0x34,0x4A,0x36,\r
+0xC5,0x8D,0x00,0x0C,0x44,0xB9,0xB5,0xB9,0x39,0x35,0xB1,0xCC,0x12,0xB0,0x1E,0xE6,\r
+0x99,0x65,0xB4,0xB8,0xDE,0xE1,0xED,0x7B,0x41,0x4D,0x77,0x72,0x74,0x33,0x78,0x03,\r
+0xAF,0x7E,0x99,0x95,0x93,0x00,0x0C,0xD7,0xB5,0xB9,0xAB,0x5A,0x5F,0x4F,0x53,0x54,\r
+0xB6,0xF4,0x0A,0x06,0x3F,0xA0,0xAC,0xDB,0xDB,0xD7,0x4C,0xD3,0xF4,0xBB,0xF8,0x0B,\r
+0xC9,0x21,0xA0,0xAC,0x81,0xD8,0xD4,0x1D,0xBC,0xB0,0x89,0x71,0x14,0xD7,0x18,0x87,\r
+0x62,0x54,0x7E,0x72,0xCA,0xE5,0xE9,0x6B,0x7C,0x70,0x01,0x39,0xFD,0x90,0xF1,0x29,\r
+0x82,0xE5,0x2F,0x23,0x49,0x83,0x8F,0x8E,0x97,0x9B,0xDE,0x0D,0x6C,0x69,0x60,0x41,\r
+0xEF,0x2E,0x89,0x85,0xCE,0x2A,0x26,0xA0,0x64,0x68,0x43,0x63,0x13,0x91,0x1F,0xC6,\r
+0x8C,0x43,0x87,0x8B,0xFD,0xF3,0xFF,0x4A,0x3D,0x31,0xA1,0xD8,0xB7,0x29,0xBB,0xDA,\r
+0xBC,0x76,0x82,0x8E,0x8A,0x3E,0x32,0xF0,0xD9,0xD5,0x3D,0xA0,0xC6,0xBC,0xCA,0x3E,\r
+0x86,0xC1,0x0F,0x03,0xA6,0x05,0x09,0xE7,0x21,0x2D,0xF3,0x96,0x1E,0xAE,0x12,0xF4,\r
+0xFA,0xB4,0xED,0x45,0xDD,0x90,0x61,0xEE,0xFB,0xFB,0x52,0xA3,0x7F,0xE0,0xCD,0x8E,\r
+0xBF,0x93,0x8F,0x62,0x55,0x10,0xE1,0xE6,0xDE,0x10,0x9C,0x6D,0xD0,0x00,0x82,0x21,\r
+0xC1,0x2E,0x4C,0xDF,0x54,0xFE,0x0F,0x09,0x09,0x7E,0x25,0xD4,0x27,0x7A,0x0F,0xD6,\r
+0x4B,0xE6,0x0E,0x17,0x3D,0x3F,0xCE,0xA1,0x32,0x87,0xE7,0x16,0x75,0x99,0xBE,0x84,\r
+0x03,0x76,0xD6,0x87,0x2B,0x28,0xD9,0xA0,0xA6,0x8C,0x78,0x89,0x41,0xF9,0xEA,0xB0,\r
+0x7B,0xE3,0x3B,0x12,0x6C,0xC1,0x30,0x0E,0x8B,0x74,0xAD,0x5C,0x91,0xE1,0x22,0x60,\r
+0x4A,0xF1,0x18,0x00,0xE6,0x52,0xA3,0x17,0x5F,0xE4,0xE9,0x18,0xF9,0x0F,0xA4,0x08,\r
+0xDD,0x8A,0xF4,0x7B,0xAE,0x92,0x63,0x9F,0xF1,0xF9,0x5A,0xAB,0xD1,0x21,0xA2,0x20,\r
+0xAF,0x97,0x9B,0x66,0x39,0xF0,0x01,0x6A,0x70,0x0D,0x2F,0xDE,0x0C,0x06,0x58,0xFD,\r
+0x40,0x79,0x9A,0x88,0xF8,0x5E,0xAF,0x05,0xE9,0x31,0x8A,0x7B,0x34,0x78,0x1E,0xC5,\r
+0xDB,0xA2,0xDA,0x53,0xC5,0x40,0xB1,0x26,0x4F,0x3F,0x22,0xD3,0x68,0xF6,0xCC,0x99,\r
+0xA5,0x1F,0x19,0xEE,0x7C,0x0A,0xFB,0xD5,0x77,0x38,0x1D,0xEC,0x8B,0xC8,0x11,0x7A,\r
+0x4E,0xD1,0x3C,0x20,0xB9,0x6B,0x9A,0x71,0xC3,0xFC,0x6D,0x9C,0xB7,0xA2,0x47,0x46,\r
+0xA3,0x37,0x37,0xC6,0xA3,0xA8,0x59,0xA8,0x11,0xB6,0xF5,0x04,0x9E,0xAD,0x61,0x6F,\r
+0x53,0x62,0x92,0x93,0xB8,0x85,0x74,0x9E,0x80,0x99,0x4B,0xBA,0x1B,0x10,0x59,0xEA,\r
+0x52,0x75,0x84,0x84,0xAB,0xB3,0x42,0xBB,0x5E,0x0B,0x07,0xF6,0x64,0xE8,0xDE,0x95,\r
+0xF7,0x03,0x57,0xF2,0x5A,0x39,0xC8,0xC0,0xFD,0x21,0x8E,0x7F,0x60,0xFC,0xCE,0x91,\r
+0x44,0x59,0xBE,0xA8,0x4D,0xC0,0x31,0x2E,0x7F,0x2B,0x06,0xF7,0xC3,0x02,0x93,0x32,\r
+0x6F,0xC7,0x0B,0x36,0xF2,0x56,0xA7,0x07,0x0C,0x5A,0x04,0xF5,0xD5,0x35,0xB2,0x24,\r
+0x88,0xA9,0x82,0x58,0xEB,0x68,0x99,0x20,0x49,0xE5,0xFE,0x0F,0x57,0xCE,0xCB,0xA6,\r
+0xF6,0x14,0x41,0xE5,0x36,0xD9,0x28,0x4C,0x68,0xC5,0xFF,0x0E,0x0D,0x27,0x78,0xFC,\r
+0xFD,0x8B,0xD5,0x7A,0xD2,0xB9,0x48,0xC8,0xB1,0x62,0x81,0x70,0xAB,0xEC,0x15,0x5A,\r
+0xC6,0x11,0x74,0xE0,0xB6,0x42,0xB3,0x57,0x01,0x6D,0x3E,0xCF,0x24,0x28,0x5E,0xD5,\r
+0x72,0x74,0xA5,0x85,0x24,0x01,0xF0,0x86,0xE7,0xF8,0x4D,0xBC,0x46,0xBF,0xAB,0xB7,\r
+0xC9,0xAE,0xC4,0x5F,0x6A,0x1D,0xEC,0xD4,0xA4,0x9D,0x6B,0x9A,0x6A,0x85,0xBD,0x9B,\r
+0x75,0x4B,0x9D,0xBA,0x2A,0xC6,0x37,0x4F,0x22,0x5C,0x2C,0xDD,0x95,0xF5,0x32,0x64,\r
+0x36,0x44,0xD1,0xB5,0x0D,0x1B,0xEA,0xB5,0xE4,0x06,0xB0,0x41,0x08,0x12,0x48,0xF9,\r
+0xC4,0x19,0x7E,0xE8,0x30,0x05,0xF4,0x96,0x8E,0x50,0x8C,0x7D,0xA5,0x81,0x76,0x54,\r
+0xD1,0x2A,0x58,0xDB,0x1D,0xD0,0x21,0x6E,0xEA,0xCF,0x77,0x86,0x9F,0x8C,0x41,0x6E,\r
+0x6C,0xD8,0x17,0x29,0x6F,0x3C,0xCD,0xF0,0x4B,0xF4,0xED,0x1C,0xDC,0x1E,0x90,0x2D,\r
+0xEB,0xA7,0xEF,0x56,0x60,0x15,0xE4,0xD6,0x72,0x1C,0x3C,0xCD,0x55,0xBD,0xBA,0xA4,\r
+0x46,0x51,0xB4,0xA0,0xF0,0x45,0xB4,0x16,0x16,0x83,0xC7,0x36,0x38,0x66,0x0C,0xC9,\r
+0x27,0x57,0xD3,0xA6,0x63,0xE8,0x19,0x28,0x7D,0x3A,0x15,0xE4,0x9B,0x98,0x51,0x6A,\r
+0x45,0x4E,0xA8,0xBF,0xDC,0x7E,0x8F,0x01,0x61,0x39,0x0A,0xFB,0x50,0x88,0x8A,0xA1,\r
+0x94,0x0D,0x3A,0xFC,0x07,0x13,0xE2,0xB7,0x95,0x66,0xA1,0x50,0xD4,0x14,0x92,0x25,\r
+0x2C,0xC8,0x47,0x39,0xB2,0x8D,0x7C,0x9C,0x59,0x3E,0x35,0xC4,0xC5,0x65,0xF2,0x34,\r
+0x29,0xFF,0x75,0x0E,0x34,0xCA,0x3B,0x5D,0x62,0xC7,0xF7,0x06,0xAE,0xD9,0x25,0x5F,\r
+0xF5,0x0B,0x5D,0xFA,0x48,0xE1,0x10,0x0A,0x79,0xF1,0xDA,0x2B,0x4F,0x94,0x89,0xBE,\r
+0x4D,0xCE,0x20,0x3F,0x33,0xF8,0x09,0x68,0x2F,0x6B,0x16,0xE7,0x4E,0xB5,0xA9,0xBF,\r
+0xEF,0x87,0xCB,0x76,0xB7,0xAC,0x5D,0xB8,0x8A,0x9B,0x43,0xB2,0xF6,0x43,0xE7,0x07,\r
+0x5F,0xC2,0x3E,0x33,0x97,0x43,0xB2,0x77,0x53,0x3C,0x3D,0xCC,0xAA,0xCD,0x35,0x5B,\r
+0x80,0x29,0x0A,0xD8,0x6E,0xD2,0x23,0x1F,0xE2,0xDC,0x6C,0x9D,0xCC,0x4E,0xD0,0x3D,\r
+0x12,0x65,0xD4,0x94,0xBC,0x4A,0xBB,0x55,0xF3,0xE8,0x49,0xB8,0xEF,0x38,0x85,0x1E,\r
+0xD7,0x02,0x76,0xF3,0xD0,0xAA,0x5B,0xD9,0x26,0x97,0xE3,0x12,0x97,0x86,0x43,0x66,\r
+0x63,0x67,0xA7,0x96,0xBB,0x78,0x89,0x60,0x71,0xE2,0xC1,0x30,0x71,0x8D,0xAE,0x80,\r
+0xAD,0x9F,0x91,0x6E,0xA9,0xA0,0x51,0xAA,0xC6,0xD8,0x4C,0xBD,0x4A,0xA1,0xB9,0xBB,\r
+0x1D,0xDA,0x64,0x2B,0x96,0xAD,0x5C,0x98,0x29,0xB1,0xCA,0x3B,0x65,0xC9,0xFE,0x94,\r
+0xFF,0x83,0xDF,0x72,0x2E,0x09,0xF8,0x84,0x44,0xD2,0xC4,0x35,0xBC,0xFA,0x14,0x4D,\r
+0x70,0x7C,0xAF,0x8D,0x69,0xE0,0x11,0x2A,0x5C,0x1A,0x14,0xE5,0x67,0xBA,0x8F,0x96,\r
+0x33,0x73,0xE3,0x82,0x9C,0xA5,0x54,0x9A,0x03,0x7C,0x2D,0xDC,0x2A,0x45,0x3D,0xDB,\r
+0x1B,0xF2,0x4A,0x03,0xC0,0x61,0x90,0x02,0x25,0x69,0x1E,0xEF,0x1A,0x31,0x79,0xEB,\r
+0xE1,0x2F,0x6D,0xDE,0xFF,0x6C,0x9D,0x30,0x1F,0x7F,0x32,0xC3,0x73,0xFE,0xDF,0x82,\r
+0xDA,0xB5,0xCC,0x44,0xAC,0x81,0x70,0x8E,0x6B,0x3B,0x02,0xF3,0xC0,0x50,0xC2,0x31,\r
+0xA7,0x17,0x13,0xE6,0x1A,0xE2,0x13,0x5B,0xC2,0x13,0x83,0x72,0xD2,0x73,0xF3,0x23,\r
+0x54,0x5D,0xAA,0xAC,0xDB,0x4C,0xBD,0x34,0x93,0xBC,0x7D,0x8C,0x40,0xD8,0xCA,0xB1,\r
+0x23,0x77,0xF7,0x86,0x89,0x4F,0xBE,0x65,0xCF,0x24,0xB9,0x48,0xD3,0x52,0xD3,0x22,\r
+0x91,0x3A,0x08,0xCB,0x51,0xDF,0x2E,0x2D,0x5B,0x2F,0x26,0xD7,0xC9,0x7B,0xE0,0x38,\r
+0x56,0x55,0xA0,0xA4,0x87,0x88,0x79,0xAC,0x23,0xB3,0xC2,0x33,0x7E,0xC1,0xED,0x8F,\r
+0x18,0xED,0x56,0x1C,0xCA,0x69,0x98,0x00,0x90,0x42,0x80,0x71,0xD7,0x46,0xC3,0x26,\r
+0x73,0x63,0xB3,0x92,0x67,0x27,0xD6,0xE3,0x05,0xA6,0xF1,0x00,0xCF,0x1C,0x81,0x3E,\r
+0xE9,0xAF,0xE5,0x5E,0xEE,0x49,0xB8,0x04,0x04,0x49,0x1F,0xEE,0x6F,0xB0,0x8D,0x9E,\r
+0x37,0x53,0xC7,0xA2,0x2C,0x1A,0xEB,0x95,0x42,0x08,0x18,0xE9,0x0B,0x40,0x19,0xFA,\r
+0x8B,0xB6,0x9E,0x47,0x83,0x47,0xB6,0x67,0x2D,0x7A,0x05,0xF4,0xDD,0x3F,0xB0,0x2C,\r
+0xB4,0x0C,0x1B,0xFD,0x15,0xCB,0x3A,0x7D,0xD7,0xEC,0x69,0x98,0xA9,0x9F,0x64,0x58,\r
+0x8A,0x7D,0xBB,0xBE,0x09,0x40,0x0C,0x05,0xD1,0x17,0xD4,0x8A,0xBD,0xB8,0xD8,0x2C,\r
+0xD1,0xD0,0x4D,0x48,0x59,0x80,0x5C,0x95,0x2A,0x73,0x2F,0x15,0xD0,0xD5,0x03,0x9A,\r
+0x3D,0x47,0x36,0x33,0xCC,0xF8,0xC9,0x78,0x9A,0x8F,0x9F,0x59,0x77,0x72,0xE9,0xD7,\r
+0x72,0xFA,0xC4,0xC1,0x20,0x66,0x25,0x0A,0x00,0x2E,0x05,0x62,0x34,0x31,0x7B,0x06,\r
+0xB4,0xA0,0x58,0x5D,0x07,0x23,0x02,0x68,0x5D,0x81,0x58,0x90,0xE0,0xE5,0x77,0xDE,\r
+0x1B,0x52,0x05,0x00,0x19,0x00,0x1C,0x55,0x61,0xEB,0x64,0xC6,0x4D,0x48,0xE4,0xE0,\r
+0xA1,0x5F,0xB2,0xB7,0x01,0x42,0x04,0x0F,0x86,0xC1,0x83,0x0B,0x82,0x87,0xE0,0x2B,\r
+0xF8,0xE3,0x57,0x52,0xDA,0xD9,0xDF,0x4F,0xC1,0x47,0xC4,0xCA,0x7D,0x78,0x90,0xA4,\r
+0x11,0x50,0x0D,0x08,0x5E,0xC1,0x5B,0xD3,0xD3,0x64,0xD6,0xFB,0xCC,0xC9,0x4D,0xC8,\r
+0xC0,0xE4,0x68,0x6D,0x1D,0x10,0x18,0x41,0xA0,0x82,0xA5,0x6E,0xAE,0xAB,0xDA,0x3D,\r
+0x24,0x60,0x08,0x0D,0xC5,0xDA,0xC0,0x53,0x12,0x0D,0x17,0x53,0xE5,0xE0,0x42,0xEE,\r
+0xB0,0x6B,0x97,0x92,0xA5,0x5E,0xA0,0xB7,0x6C,0xD4,0x69,0xF4,0x43,0x46,0x89,0x83,\r
+0x6E,0xF9,0xDB,0xDE,0x4A,0x91,0x4F,0x97,0xE9,0x69,0xEC,0xCC,0x3D,0x38,0x50,0x24,\r
+0xE7,0x1E,0xB5,0xB0,0x74,0xB6,0x71,0x8E,0x13,0x2C,0x16,0x73,0xBF,0xBA,0xAB,0x5D,\r
+0x32,0x61,0x1F,0x1A,0x25,0x56,0x20,0x3F,0x63,0x98,0x66,0xB7,0x88,0x8D,0x99,0x58,\r
+0xDB,0xD2,0x45,0x40,0xDC,0xB8,0xD9,0x28,0xEB,0x1A,0xEE,0xBD,0x2B,0x2E,0x67,0x05,\r
+0xF7,0xC5,0x7E,0x7B,0x99,0x08,0x9C,0xDD,0xA6,0xE5,0xA3,0x0F,0xF3,0xF6,0x75,0xCF,\r
+0xE1,0xC4,0x69,0x6C,0xAF,0x2D,0xAA,0xCE,0xEA,0x3B,0xEF,0x9D,0x8C,0x89,0x8D,0x48,\r
+0x59,0xD8,0xCD,0xC8,0x77,0xE7,0x72,0xDC,0x80,0xA6,0x85,0x6A,0x5F,0x5A,0xC7,0xD1,\r
+0x52,0x35,0x2B,0x2E,0xB4,0x3E,0xB1,0xC6,0x18,0x74,0x1D,0x20,0x76,0x73,0xC8,0xF7,\r
+0xBF,0x4D,0xBE,0xBB,0x5C,0xB0,0x59,0xA0,0xCF,0x2A,0xCA,0xA9,0x80,0x85,0x93,0x5A,\r
+0x7C,0x33,0x03,0x06,0x16,0x43,0x13,0x19,0xF0,0x12,0xF5,0xAE,0x63,0x66,0xAD,0x87,\r
+0xFE,0x39,0x8B,0x8E,0xEC,0xFC,0xE9,0x5C,0xC2,0x15,0xC7,0x9B,0xE4,0xE1,0x63,0xCE,\r
+0xFF,0xD6,0x65,0x60,0x42,0x93,0x47,0x9D,0x67,0x8C,0x62,0xA7,0xDC,0xD9,0x1D,0x88,\r
+0x7D,0xDC,0xED,0xE8,0x4E,0x81,0x4B,0x83,0x04,0x3A,0x01,0x72,0x11,0x14,0x6A,0x32,\r
+0x91,0x4B,0x96,0x93,0x8E,0x09,0x8B,0xCB,0xB7,0x94,0xB2,0x6F,0x39,0x3C,0x44,0x34,\r
+0xB3,0x95,0x6A,0x6F,0x34,0x36,0x31,0x4E,0x95,0xC3,0x90,0x1A,0xA9,0xAC,0x9C,0x7C,\r
+0x5E,0xED,0xFF,0xFA,0xDD,0x98,0xD8,0x09,0x40,0xEE,0x45,0xE2,0x79,0x7C,0x84,0xB4,\r
+0x29,0x57,0x32,0x37,0xE2,0x9F,0xE7,0x31,0xC8,0x6C,0xCD,0xE8,0xCF,0xCA,0x1F,0x99,\r
+0x6B,0xDD,0xFA,0xFF,0x23,0x37,0x26,0x58,0x0A,0x57,0x0F,0x11,0x9D,0x98,0xFC,0x28,\r
+0x88,0x6C,0xA8,0xAD,0x8C,0x78,0x89,0xB8,0xBF,0x9E,0xBA,0x6D,0x97,0x92,0x85,0x5B,\r
+0xEA,0x29,0x8F,0x8A,0x0C,0x70,0x09,0x30,0x71,0xBB,0x74,0x86,0x38,0x3D,0x65,0x14,\r
+0xFB,0x1D,0xAA,0xAF,0x5B,0xF1,0x5E,0xE6,0xE8,0x48,0xED,0xEC,0x35,0x30,0x5A,0x26,\r
+0x7E,0x22,0x10,0x15,0xD7,0xEB,0xD2,0x70,0x84,0xB2,0x81,0x7A,0x41,0x44,0xFA,0xF2,\r
+0x80,0x7F,0xB3,0xB6,0x55,0x92,0x50,0x8B,0xF2,0x61,0xF7,0xDF,0x87,0x82,0xD5,0x1B,\r
+0xA2,0xA1,0x4F,0x4A,0x06,0x03,0x03,0x49,0xF5,0x27,0xF0,0x9E,0xE3,0xE6,0x25,0x8F,\r
+0x33,0x8E,0xF1,0xF4,0x75,0x96,0x70,0xAF,0x6D,0xF5,0x68,0xD4,0x3F,0x3A,0x23,0x55,\r
+0xD6,0xE5,0x7F,0x7A,0x3B,0x75,0x3E,0x02,0x1C,0x60,0x19,0x30,0x27,0x22,0x79,0x17,\r
+0x6D,0x07,0x26,0x23,0xC3,0xBB,0xC6,0x34,0xCB,0x3E,0xCE,0xB9,0x21,0x24,0x1E,0x76,\r
+0xC5,0xC0,0x49,0x4C,0x94,0x3A,0x91,0xE2,0x2F,0x46,0x2A,0x25,0x96,0x93,0xA4,0x7B,\r
+0xCF,0xC2,0x41,0x44,0x50,0xA2,0x55,0xBE,0x90,0xF6,0x95,0x2A,0xA8,0xAD,0xBD,0x5C,\r
+0x92,0xB5,0x6B,0x6E,0x53,0xF3,0x56,0xEC,0x54,0xAA,0x51,0xB2,0x3B,0x3E,0x37,0x45,\r
+0xA9,0x4C,0xA9,0xAC,0x9D,0x18,0x98,0xC9,0xEF,0x0E,0xEA,0xAD,0x28,0x2D,0x35,0x54,\r
+0x76,0x31,0x0B,0x0E,0xFE,0xCD,0xFB,0x7F,0x6E,0xA7,0x6B,0x85,0x3A,0x3F,0x16,0x65,\r
+0x2F,0x8D,0xEE,0xEB,0x7D,0x94,0x78,0xA5,0xF3,0x40,0xF6,0xFF,0xF2,0xF7,0x54,0xEF,\r
+0x08,0x77,0x33,0x36,0x70,0xA6,0x75,0x9A,0xDF,0x7A,0xDA,0xE9,0x9B,0x9E,0x9B,0x49,\r
+0xCA,0xE6,0x60,0x65,0xFC,0xBC,0xF9,0x0C,0xF9,0x39,0xFC,0x8C,0x8F,0x8A,0xDF,0x19,\r
+0x86,0xA5,0x6F,0x6A,0xB9,0x0C,0xBC,0xF9,0xC0,0x66,0xC5,0xEA,0xC2,0xC7,0x20,0xAB,\r
+0x01,0x8B,0xC6,0xC3,0xB1,0x0E,0xB4,0xF3,0x27,0x4C,0x22,0x27,0x8D,0x88,0xAC,0x68,\r
+0xBA,0x69,0x9F,0x9A,0x15,0x12,0x10,0x4B,0x29,0x21,0x2C,0x44,0x54,0x51,0x9F,0x82,\r
+0xC2,0xF5,0x7B,0x7E,0x64,0xF6,0x61,0xDE,0x2C,0x14,0x29,0x74,0x99,0x9C,0xE8,0x38,\r
+0xF4,0x3B,0x83,0x86,0xBC,0x3C,0xB9,0xCC,0xA1,0xA3,0xA4,0x4E,0xA2,0xA7,0xC4,0x2F,\r
+0xB1,0x84,0x79,0x7C,0x56,0xC3,0x53,0xD9,0xA4,0x96,0xA1,0x7E,0x07,0x02,0x5D,0x13,\r
+0x13,0x41,0x1E,0x1B,0xB6,0x4F,0xB3,0xB5,0x0E,0x43,0x0B,0x01,0x7F,0x7A,0xE3,0xD5,\r
+0x5B,0xC9,0xDE,0xDB,0x5F,0xE1,0x5A,0xF2,0xD0,0x36,0xD5,0xAA,0x42,0x47,0xA8,0xA3,\r
+0x6F,0x16,0x35,0x30,0xCE,0x89,0xCB,0x0B,0x81,0x87,0x84,0x4A,0x24,0x21,0x2B,0x46,\r
+0x45,0xDB,0xD2,0xD7,0xE4,0xFE,0xE1,0x56,0xFB,0x4A,0xFE,0xFD,0xA6,0xA3,0xD0,0x3F,\r
+0xAE,0x79,0x9B,0x9E,0xB0,0x2E,0xB5,0xD2,0xAE,0xEF,0xAB,0x0D,0x1E,0x1B,0x26,0x71,\r
+0x10,0xBF,0xE3,0xE6,0xD6,0xCB,0xD3,0x51,0x1A,0x07,0x1F,0x51,0x46,0x43,0xBC,0xB3,\r
+0x38,0x63,0x17,0x12,0xFD,0x9C,0xF8,0x2D,0x37,0x1C,0x32,0x67,0xA7,0xA2,0xF1,0x1F,\r
+0x5F,0x02,0x11,0x14,0x0F,0x21,0x0A,0x62,0x4C,0xF0,0x49,0xF0,0x3C,0x39,0x71,0x04,\r
+0x22,0xBA,0xD4,0xD1,0x91,0x0A,0x94,0xD7,0xD8,0x3C,0xDD,0xA8,0x2D,0x28,0x00,0x64,\r
+0xB6,0xB1,0x4B,0x4E,0xF4,0xBE,0xF1,0x06,0xF8,0x18,0xFD,0xAC,0x73,0x76,0xFD,0xC7,\r
+0xCD,0xD3,0x52,0x57,0x62,0x97,0x67,0xB9,0xE7,0x04,0xE2,0xAF,0xB8,0xBD,0xED,0x1C,\r
+0x3F,0xEA,0x19,0x13,0x5C,0x10,0xE9,0x80,0x88,0x10,0xAD,0x54,0x45,0xEE,0x9E,0xBC,\r
+0xA1,0x06,0x6B,0xFF,0x13,0xE2,0x1B,0x3D,0x1A,0xC1,0xEE,0x17,0xDF,0x4F,0xA5,0x26,\r
+0x87,0x2F,0x64,0xD6,0xEB,0x9D,0x64,0xBA,0xB9,0xEB,0x67,0x9E,0x0E,0x76,0x4D,0xF7,\r
+0x47,0x7F,0xF4,0x86,0xB0,0x6B,0x92,0x17,0x62,0x5D,0x0A,0xF3,0xF5,0x12,0xD2,0x0C,\r
+0x85,0x27,0x6E,0xDE,0xC0,0x94,0x6D,0x98,0x81,0xEC,0x58,0xA1,0x59,0xA0,0xCC,0xA0,\r
+0x1E,0xFC,0x2E,0x05,0x99,0x71,0x88,0x24,0xF1,0x63,0xA7,0x5E,0x1E,0x26,0x0D,0xE7,\r
+0xE4,0x21,0x09,0xD8,0xD5,0x7E,0x87,0x67,0x16,0x19,0x3A,0xC3,0x82,0xE0,0x57,0x7B,\r
+0xC7,0x3F,0x34,0xC6,0x7A,0x23,0xDA,0x95,0x85,0x27,0x97,0x6E,0xBE,0x8A,0x01,0x47,\r
+0x1D,0xE3,0x32,0x1A,0x45,0x2E,0xD7,0xA7,0x23,0x29,0x3F,0xC6,0xCD,0x6C,0x94,0x34,\r
+0x99,0x83,0xD6,0x7A,0xD1,0xB1,0x48,0xAC,0xE8,0x44,0x99,0x60,0xB3,0xB5,0x33,0x4A,\r
+0x06,0x78,0xB2,0x81,0x70,0x2B,0xD2,0x97,0x2C,0x0F,0x16,0xEF,0x0C,0x05,0x3C,0xF5,\r
+0xD7,0x3B,0x20,0xC2,0xA1,0x4E,0xB7,0x23,0xBB,0xFA,0x74,0x8D,0x7F,0xE3,0xA9,0x86,\r
+0x91,0x03,0x5E,0xFA,0x53,0x39,0xC0,0xA6,0xF8,0x9F,0x52,0xAB,0xBC,0xF9,0x70,0x45,\r
+0x7F,0xFA,0x49,0x03,0xBA,0x63,0x9A,0x15,0x06,0xC2,0xF1,0x08,0x34,0x7B,0x7A,0xCD,\r
+0x56,0x6C,0xF6,0x95,0x0F,0xFD,0x04,0x3E,0x31,0xE3,0xE7,0x1E,0x36,0x08,0x0B,0xCF,\r
+0x71,0x52,0xEF,0xAB,0x86,0x93,0x6A,0xD9,0xCA,0x9A,0x65,0x9C,0xCC,0x4D,0xB4,0x35,\r
+0x20,0x51,0xBD,0xA8,0x38,0xEB,0x12,0x1F,0xA6,0x16,0x85,0x7C,0x5F,0xC7,0xAD,0xA6,\r
+0xF9,0x92,0xA7,0x6B,0x33,0x0D,0xF4,0xF2,0xA9,0x30,0xAC,0x55,0xC7,0x15,0xE7,0x3E,\r
+0xCF,0xBF,0xBC,0x46,0x96,0x58,0xA1,0x02,0x14,0x08,0x29,0xD0,0x79,0x84,0xC8,0x80,\r
+0xEA,0x89,0xAF,0x70,0x80,0x4F,0xB6,0x03,0xEC,0x8F,0x56,0xAF,0x35,0x5A,0x5A,0xCC,\r
+0x3B,0xCA,0x3D,0x33,0x9F,0xAD,0x54,0xFE,0x02,0x09,0x3E,0xC7,0x1D,0x74,0x5C,0xE4,\r
+0x54,0x64,0xFC,0x9D,0x9E,0x43,0xBA,0x11,0x7C,0x4F,0x06,0xFF,0xB8,0xED,0x60,0x41,\r
+0x77,0x7A,0xC1,0x83,0xDE,0x98,0x61,0x8A,0xF2,0x9D,0x5A,0xA3,0x10,0x4B,0x6E,0xE9,\r
+0x84,0x30,0x78,0xC9,0x1D,0x25,0xDC,0xF4,0xCC,0x40,0xB9,0x40,0x2F,0x73,0x69,0xD6,\r
+0xF1,0x12,0x2F,0xEB,0xD2,0x4C,0xB5,0x52,0xFD,0xBB,0x73,0x8A,0x4A,0xA2,0xDD,0xB3,\r
+0x5F,0xFB,0x68,0x02,0x3F,0xD9,0x20,0x2A,0xE5,0x73,0xA3,0x5A,0x9F,0x8F,0x25,0x66,\r
+0x46,0x68,0xE2,0x91,0x1C,0xCB,0x32,0x1B,0x0B,0xF5,0xCB,0x32,0xDB,0x5B,0xB5,0x22,\r
+0xCE,0xA8,0xAA,0x51,0xF0,0xB0,0x49,0x8C,0x25,0xF3,0xE3,0x1A,0x68,0xF5,0xA8,0x91,\r
+0xBF,0xAA,0xD9,0x53,0xE9,0x8E,0x77,0xAB,0xE4,0x9C,0x4D,0xB4,0x60,0xFF,0xAA,0x99,\r
+0xB7,0x2A,0x51,0xD3,0x8B,0xA9,0x50,0xEE,0x04,0xD3,0xE2,0x1B,0xAE,0xDA,0x41,0x57,\r
+0x58,0xC4,0x50,0x3D,0x48,0x14,0xED,0x90,0x7E,0x5E,0x15,0xEC,0x17,0x0D,0x2F,0xEE,\r
+0xF0,0x05,0x39,0xFC,0x0A,0xDC,0x25,0x1A,0x9D,0xEF,0x47,0xBE,0xD5,0x36,0xD6,0x2C,\r
+0x55,0x73,0xEA,0x8A,0xE1,0x95,0x6C,0xB8,0xB4,0xDC,0x5D,0xA4,0x2D,0x00,0x18,0xD4,\r
+0xC4,0x20,0x28,0xD9,0xC3,0x69,0x90,0x66,0x44,0x48,0x39,0xC0,0x2A,0x46,0x59,0xD3,\r
+0x36,0x7D,0x87,0x84,0x9A,0x8C,0x75,0xDA,0x3B,0xE1,0xEF,0x16,0x37,0x29,0x2B,0xCE,\r
+0x2C,0xF1,0x11,0x08,0x1F,0x36,0xCF,0xE5,0x9B,0x35,0x9B,0x62,0x5B,0xD3,0xBD,0xA2,\r
+0x7C,0xE5,0x55,0x1C,0x0C,0x00,0xF9,0xC0,0x7F,0xB1,0xFB,0x02,0x14,0x5F,0x7E,0xED,\r
+0xFD,0xB2,0x83,0x4B,0xA4,0x6F,0x96,0x07,0xC5,0xBC,0x4C,0xB5,0xF0,0x27,0xE2,0x09,\r
+0x51,0x53,0xCE,0xAA,0x52,0xD7,0x2E,0x49,0x42,0x92,0xE5,0x1C,0xB2,0x94,0x13,0x4B,\r
+0xB2,0x1D,0x63,0xE4,0xB7,0x59,0xA0,0x22,0x18,0xD0,0xFD,0x04,0xC3,0x01,0xF7,0x3A,\r
+0xDF,0xBB,0xA8,0x42,0xC8,0x8F,0x76,0x8B,0x54,0x93,0xF2,0x0B,0x30,0x6F,0x6A,0xC9,\r
+0x0A,0xD8,0x1E,0x21,0x17,0x2D,0xD4,0xF6,0x77,0xA2,0xE0,0x19,0xB1,0xC6,0x42,0x48,\r
+0x65,0x76,0xDF,0x8F,0xAE,0x67,0x9E,0x05,0xDC,0x9B,0x72,0x8B,0x4F,0x97,0xED,0xB6,\r
+0x34,0x75,0x8D,0x8C,0xF3,0x4D,0xB4,0x72,0x56,0x82,0xE1,0x18,0x8B,0xCB,0x75,0x72,\r
+0x7B,0xDA,0x6D,0x23,0xAB,0x46,0xBF,0x21,0xBE,0xDE,0x55,0xAC,0x26,0x58,0x4B,0xDF,\r
+0xCB,0x9F,0x98,0x66,0xE7,0x49,0xB0,0x62,0x41,0x6C,0x18,0xE1,0x1F,0x07,0x2D,0xE6,\r
+0x53,0x5B,0xC4,0xA2,0x4E,0xC8,0x31,0x4A,0x35,0x28,0x28,0xD1,0x2C,0x21,0x38,0xD5,\r
+0x61,0x56,0xFB,0xAF,0x69,0x15,0xEC,0xB0,0xFA,0x8E,0x41,0xB8,0x00,0x1B,0x2E,0xF9,\r
+0x31,0x42,0xBF,0xBB,0xA3,0x5D,0xA4,0x32,0x89,0xFF,0x43,0xBA,0xF3,0x75,0xB3,0x0A,\r
+0xFB,0x9A,0xAD,0x63,0x95,0xA5,0x5C,0xFC,0xA5,0xE8,0x78,0x81,0x7E,0xC2,0x89,0x87,\r
+0xC9,0x97,0x92,0x6E,0x60,0xE0,0x19,0x4C,0xCD,0xAF,0x57,0xAE,0xF8,0x2D,0xE0,0x01,\r
+0xD5,0x33,0x2A,0xCA,0xDB,0xB9,0x40,0xAE,0xFE,0x45,0x8E,0x77,0xF6,0x40,0x83,0x0F,\r
+0x26,0x79,0x93,0x80,0x3A,0xF8,0x01,0x0E,0xC9,0x64,0x98,0x61,0x0F,0x57,0x6D,0xF6,\r
+0x4E,0xE8,0x6A,0x11,0x0E,0x13,0xEA,0xD1,0x4A,0x81,0xFE,0x07,0x5E,0xE6,0x8D,0xA7,\r
+0x04,0x70,0xB8,0x89,0xD0,0x5F,0xA6,0x43,0x3C,0xD4,0xDD,0x24,0x7B,0xF7,0xB9,0x82,\r
+0x88,0x90,0xD4,0x69,0x72,0x38,0xC1,0x86,0x82,0x12,0xA5,0x5C,0xD1,0x22,0xC6,0x28,\r
+0x0C,0xF0,0x30,0x09,0x71,0xC5,0x3C,0x78,0xDD,0x74,0x9C,0x65,0xC5,0x66,0x96,0x3C,\r
+0x5B,0xDB,0x4C,0x22,0x59,0x31,0xC8,0xA4,0x90,0xD8,0x7D,0x84,0xE8,0x7D,0xA0,0x11,\r
+0x39,0xC2,0x37,0x3B,0x24,0xF4,0x0D,0x1C,0xB1,0xF8,0x7C,0x85,0x24,0x2B,0x3A,0xDD,\r
+0xE9,0x96,0xB3,0x6F,0xCF,0xBD,0x44,0xBE,0x47,0xB6,0xC4,0x3D,0x71,0x8E,0xCA,0x88,\r
+0x79,0xD2,0x67,0x2B,0xD7,0x6D,0x94,0x76,0x9C,0x00,0xA9,0x50,0x27,0x79,0x6B,0xDE,\r
+0x50,0x44,0xD8,0xBD,0xAC,0x74,0x8D,0x14,0x8C,0xDB,0x62,0x9B,0x38,0x65,0x68,0xC1,\r
+0xE6,0x29,0x03,0xD0,0x3E,0x37,0xCE,0xC5,0x10,0xC3,0xE6,0x1F,0x93,0x91,0x37,0x6A,\r
+0xCD,0xB7,0xB6,0x4E,0x43,0xF2,0x0B,0x7D,0x61,0xA3,0xF7,0x0E,0x07,0x5D,0x6F,0xFE,\r
+0xCF,0xDC,0xC4,0xDD,0x30,0xA9,0x5C,0xBA,0xE9,0x79,0x46,0x6A,0x1E,0xBA,0x72,0x61,\r
+0x8C,0x9F,0x15,0x4F,0x84,0xCC,0x8D,0xDF,0x1C,0x1B,0xD1,0x08,0xF8,0x2F,0x01,0x12,\r
+0x77,0x64,0x8A,0x2B,0xBF,0x56,0x2C,0x45,0x57,0x94,0x15,0x87,0x48,0x20,0xBE,0xAD,\r
+0x17,0x04,0x0E,0xCF,0xB4,0xC9,0xB8,0xDA,0x3A,0x32,0xDE,0x21,0x91,0x87,0xC0,0xD3,\r
+0xA6,0xB5,0x62,0x12,0xCA,0x74,0x7B,0x67,0x89,0x68,0x37,0x7B,0xB0,0xA7,0xC1,0xD2,\r
+0x98,0x8B,0x45,0x0B,0x2D,0x1A,0xF2,0x09,0xF0,0xEA,0xCC,0xF9,0xF5,0x18,0x3B,0x28,\r
+0x0E,0x1D,0x6C,0xB4,0x06,0x84,0x47,0x97,0xD1,0xFC,0xFB,0xEF,0x86,0x69,0x39,0x2A,\r
+0xF7,0xE4,0x82,0xA3,0xB5,0xDE,0xAE,0xCD,0x8C,0x5F,0x05,0x4C,0x04,0x63,0xB1,0xA2,\r
+0x8B,0x98,0x54,0x09,0x04,0x8C,0x4D,0x9F,0x4E,0x07,0x9F,0x14,0xEF,0xC1,0xF8,0xEB,\r
+0xDB,0xC8,0x94,0x99,0xA9,0x7A,0x16,0x69,0xF8,0x6A,0x44,0x79,0x8B,0x5E,0x03,0x10,\r
+0xF2,0xE1,0xB2,0x96,0x2E,0x05,0xEE,0x16,0xD2,0xE3,0xE7,0xF0,0xB2,0xB6,0xD2,0xC1,\r
+0x1E,0x0D,0x2C,0xE4,0x93,0xF7,0xA1,0xE4,0x03,0xA0,0x75,0xB3,0x13,0x8D,0x48,0x5B,\r
+0xCB,0xD8,0xD4,0xC9,0x86,0xC4,0x87,0xD7,0x34,0x9A,0x78,0x89,0x77,0x12,0xB3,0xA0,\r
+0xD5,0xC6,0xF7,0xF4,0x74,0x99,0x28,0x8A,0x0A,0x37,0xEB,0x24,0x1D,0x44,0x8F,0x9C,\r
+0x08,0x1B,0x0D,0xD3,0x37,0x96,0x64,0x85,0x70,0xAA,0x0C,0xB9,0xDB,0x1E,0x13,0x00,\r
+0xD3,0xC0,0x96,0x93,0x8B,0x73,0x3D,0x60,0xFF,0x55,0x7C,0x46,0x5D,0xDF,0x54,0x47,\r
+0x5C,0x4F,0xDD,0x57,0x9F,0x57,0x0D,0x44,0xE0,0xEE,0xD8,0xFD,0x08,0xBB,0x65,0x76,\r
+0x9C,0x8F,0x55,0x1F,0x08,0x2C,0xE1,0x3F,0xE6,0xC6,0xF6,0xD5,0xA6,0xA6,0xD6,0xC5,\r
+0x0F,0x1C,0x4C,0x95,0x39,0x3E,0xC2,0x2D,0x60,0xAE,0x18,0xBD,0x72,0x36,0x92,0x81,\r
+0xE6,0xF5,0xE2,0xD2,0x41,0xAB,0x2F,0xB8,0xA8,0x7E,0x00,0x6D,0x5F,0xCE,0x47,0x54,\r
+0xF1,0xE2,0xE3,0xC4,0x09,0x3B,0xF7,0x28,0xFC,0x4A,0x60,0x59,0xCB,0xC5,0xD8,0xCB,\r
+0x30,0x23,0x4B,0xAD,0x83,0xF3,0xB5,0xE0,0x4D,0x18,0x83,0x0B,0xF0,0x3C,0x1A,0x09,\r
+0xDE,0xCD,0xA4,0xAC,0xFD,0x4E,0x76,0x5D,0xC0,0xEF,0xF9,0xFC,0x27,0x52,0xA3,0xB0,\r
+0x5E,0x4D,0xAC,0x24,0xB8,0x69,0x14,0x7A,0x8F,0x40,0x19,0x53,0x02,0xB9,0x6D,0x7E,\r
+0x7D,0x6E,0xF9,0x52,0x10,0xA8,0x7D,0xBB,0x9C,0x5B,0x11,0x48,0xA7,0x49,0x38,0x2B,\r
+0x4B,0x58,0xDC,0x41,0x11,0xBF,0x6B,0xAC,0x1B,0x24,0xE9,0x37,0x79,0xDB,0x74,0x67,\r
+0x66,0x75,0xEA,0x5A,0xE1,0xEA,0xCE,0xF9,0x23,0xA1,0x54,0xB2,0xE8,0xF4,0xCA,0xD9,\r
+0xA5,0xB6,0x33,0x40,0x0C,0x0C,0xC5,0x1F,0x05,0x88,0x5B,0x9B,0x3A,0xBE,0x52,0x41,\r
+0xC4,0xD7,0x97,0x85,0xE7,0xC2,0xE0,0xD1,0x53,0xB4,0x31,0xA7,0x8E,0x7A,0x22,0x31,\r
+0x8E,0x9D,0x64,0x3C,0x99,0x7F,0x23,0x6C,0x8E,0x57,0x0F,0x44,0xB6,0x7D,0x1D,0x0E,\r
+0x90,0x83,0x47,0x01,0x02,0xA4,0x63,0xB7,0x5C,0x0B,0x81,0x18,0x10,0x73,0xB5,0xA6,\r
+0x3E,0x2D,0x28,0xC0,0xED,0x4A,0x62,0x59,0x1A,0x33,0xFF,0x20,0x89,0x4F,0x10,0x03,\r
+0x81,0x92,0x27,0x70,0x61,0xAA,0x0E,0xB9,0x91,0xEC,0xAB,0xFF,0x36,0x66,0x86,0x95,\r
+0x82,0x91,0x76,0x22,0x16,0x80,0x53,0x93,0x88,0x7F,0x21,0x6C,0x6A,0xFE,0x42,0x51,\r
+0x2C,0x3F,0x19,0xE3,0xE5,0xCA,0xEA,0xD9,0xB1,0xED,0x8A,0xFE,0x3B,0x51,0xBC,0xAF,\r
+0x4F,0x5C,0xCC,0x55,0x98,0x68,0x35,0x7B,0x80,0xFF,0xA9,0xEC,0x92,0x79,0x3D,0x2E,\r
+0xA2,0xB1,0x72,0x06,0xA3,0xF2,0x94,0xE1,0x9D,0x4C,0x07,0x5F,0xE6,0x3D,0x0D,0x1E,\r
+0xAF,0xBC,0x40,0x39,0x59,0x2F,0xB3,0x3C,0x3B,0x25,0xC8,0x36,0xDC,0x2B,0x21,0x32,\r
+0x6B,0x78,0xD8,0x65,0x71,0xAE,0x1A,0xBD,0x7F,0x15,0xBC,0x06,0xFA,0x3E,0x12,0x01,\r
+0x2E,0x3D,0x68,0x90,0x32,0xA1,0x56,0xB2,0xCD,0x58,0x43,0x4B,0xA5,0x58,0x2B,0x38,\r
+0x05,0x16,0x3F,0xEC,0xF6,0xD1,0xE2,0xC2,0x26,0x96,0x66,0x85,0x2E,0xAE,0x56,0x45,\r
+0x89,0x9A,0x25,0x7A,0xC9,0x6B,0x67,0x78,0xF2,0xE2,0xC6,0xF1,0xD4,0x38,0x3A,0x29,\r
+0xD4,0xC7,0xD7,0xD5,0x75,0x8E,0x3E,0x9D,0x5B,0x34,0xB9,0x27,0xBB,0x4A,0x27,0x34,\r
+0x87,0x94,0x46,0x17,0xAB,0x72,0x1C,0x61,0xCF,0x50,0x49,0x43,0xFD,0x0B,0x20,0x33,\r
+0xE9,0xFA,0xA1,0x9E,0x31,0xBE,0x4A,0xAD,0xC3,0xF0,0xE5,0xE3,0xFC,0xE4,0xCE,0xDD,\r
+0xA7,0xB4,0x42,0x33,0x5A,0x30,0xAF,0x23,0x81,0xE8,0xBF,0xFB,0x69,0x00,0xBF,0xAC,\r
+0x46,0x55,0xEE,0x7E,0x14,0x88,0x59,0x9B,0xAF,0x41,0x38,0x52,0xDA,0xF1,0xFD,0xEE,\r
+0x11,0x02,0x6F,0xA8,0xD3,0xE7,0xF1,0xF4,0xA2,0xF6,0x82,0xE5,0xA2,0x6D,0x19,0x0A,\r
+0x62,0x71,0xFA,0x4E,0xAD,0x5A,0x32,0x49,0xA5,0xC9,0xBA,0xDA,0x73,0xD9,0x7C,0x6F,\r
+0x36,0x25,0x2A,0xCA,0x0F,0x13,0xD9,0x00,0xEB,0x71,0x4C,0x62,0xD6,0x29,0x29,0x3A,\r
+0x2F,0x3C,0x48,0xB1,0xB7,0xD6,0xA4,0xC5,0xCB,0x70,0x6D,0x63,0x80,0xB3,0xE5,0xF6,\r
+0x04,0x17,0x1F,0xCD,0x6B,0x22,0x8C,0x31,0x67,0x91,0x20,0x82,0x9B,0x85,0xC8,0xDB,\r
+0x43,0x50,0xDE,0x4B,0x6E,0x15,0xBE,0x06,0xB0,0xFA,0x9C,0xE9,0xA0,0x7C,0x0A,0x19,\r
+0xDD,0xCE,0xF5,0xFE,0xD6,0xD0,0xC3,0xC3,0xD0,0xEB,0xED,0xF8,0x6C,0x24,0x9E,0x8D,\r
+0xB0,0xA3,0x43,0x25,0x07,0x93,0x51,0x80,0xC8,0x6F,0x71,0x7C,0x98,0x7B,0x35,0x26,\r
+0x26,0x35,0x6A,0x9A,0x65,0x8A,0x2A,0x99,0x13,0xA4,0x61,0xB7,0x84,0x78,0x2A,0x39,\r
+0xC7,0xD4,0xC6,0xD7,0xBD,0x5E,0x26,0x4D,0x56,0x83,0x03,0x90,0xBD,0x90,0xFB,0xE8,\r
+0x63,0x70,0xDA,0x6F,0x5F,0x07,0x9D,0x14,0xBC,0x5A,0x30,0x49,0xD0,0xF3,0xF5,0xE6,\r
+0x6E,0x7D,0xE8,0x50,0xEF,0x42,0x68,0x51,0xFB,0x75,0x58,0x66,0x3F,0x9A,0x73,0x60,\r
+0xB6,0xA5,0x22,0x42,0x21,0xBA,0x5E,0xA9,0xEC,0x4E,0x74,0x5D,0x88,0xA0,0xFE,0xED,\r
+0x64,0x77,0x9B,0x29,0x95,0xDF,0x8F,0xCC,0x01,0xA8,0x7F,0xBB,0xDF,0xD5,0xDC,0xCF,\r
+0x84,0x97,0x17,0x45,0x50,0xB8,0x2D,0xAB,0xC7,0xD0,0xC1,0xC3,0x0A,0xAA,0x76,0x65,\r
+0x1C,0x0F,0x5D,0x97,0xC2,0xF4,0xF3,0xE7,0x92,0xF3,0xB7,0xE0,0x1B,0x9E,0x53,0x40,\r
+0x8D,0x9E,0x35,0x6E,0x1D,0x1F,0xC7,0x0C,0x77,0x95,0x34,0x86,0xAA,0x7E,0x02,0x11,\r
+0xAA,0x46,0xC0,0x4D,0xB0,0x53,0x28,0xBF,0x5D,0x59,0x23,0xB5,0x9C,0x74,0xCF,0x23,\r
+0x17,0xFB,0xBE,0x8E,0x43,0x19,0x91,0xF5,0x5A,0x66,0x1B,0x8A,0xA2,0xA9,0x2C,0xC0,\r
+0xCC,0x20,0x25,0xCE,0x60,0x07,0xAC,0xEB,0x54,0xCE,0xBD,0x22,0x2C,0x7B,0x70,0x9C,\r
+0x22,0xCE,0xCA,0xCF,0x0F,0xA9,0x6D,0x45,0x68,0x6B,0x24,0x87,0x52,0x3D,0x48,0xA4,\r
+0xC0,0x2C,0x37,0xD0,0xDE,0xEA,0xFF,0x06,0x6E,0x43,0x0A,0xAF,0xBC,0xBB,0x20,0xCC,\r
+0xD7,0x3B,0x36,0xC6,0xFB,0xDC,0xEC,0x30,0xFC,0x0F,0xD4,0xE3,0x44,0x3C,0x5F,0xB3,\r
+0x82,0x6E,0xC6,0x63,0xCD,0xF1,0xF7,0x1D,0xD3,0xB1,0x45,0x5D,0xF9,0x04,0xDA,0x36,\r
+0x64,0x88,0x2B,0x68,0x14,0x32,0xED,0xDE,0x99,0x29,0x97,0xC5,0xF6,0x22,0xF3,0x1F,\r
+0x53,0xBF,0x2E,0x5A,0xC4,0x66,0x69,0x8A,0xE2,0xA3,0x66,0x4F,0xCD,0xDB,0x31,0xDD,\r
+0x9B,0x77,0xA4,0x18,0x6C,0xA7,0x00,0x4B,0x1B,0x61,0x5D,0x8D,0x2E,0x6A,0x63,0x8F,\r
+0x26,0xCA,0xDA,0xDB,0x83,0x49,0x01,0xA5,0x75,0xD8,0x8A,0x34,0x54,0xE7,0x94,0x78,\r
+0x01,0xED,0x9F,0xB9,0x8B,0xC9,0x89,0x25,0x9E,0x16,0xAF,0xFA,0xB4,0xA8,0x3B,0xD7,\r
+0x3F,0xD3,0xB8,0xA0,0xFA,0xCB,0xFA,0x27,0x9C,0x1E,0xA5,0xF2,0x75,0xC7,0x95,0x79,\r
+0x44,0xA8,0x2F,0x4C,0x72,0x0B,0xB2,0xE7,0x81,0xAD,0x0B,0x41,0x5B,0xC1,0xBD,0x51,\r
+0x56,0xBA,0x1E,0x6F,0x6B,0x98,0x38,0x74,0x11,0xE9,0xDF,0x05,0xB5,0x47,0xD5,0x39,\r
+0xC3,0x2F,0x66,0x82,0xC5,0x71,0x7F,0x9D,0xE9,0x3C,0xF2,0xD0,0xAD,0x8F,0x05,0xE9,\r
+0xAC,0x40,0xA1,0x2A,0xF3,0x5C,0x64,0xB0,0x35,0xC8,0xDA,0x24,0xD5,0x13,0xE1,0x0D,\r
+0xF1,0x1D,0x53,0x85,0xD0,0x42,0x59,0xAE,0x63,0xF4,0xB0,0x18,0x46,0x2D,0x4C,0xA0,\r
+0xFE,0x12,0x10,0xC9,0x2A,0x9F,0x7E,0x73,0x39,0x68,0x76,0x84,0xA1,0x57,0xD1,0x3D,\r
+0x1B,0xF7,0xAC,0x90,0xB1,0x44,0x3E,0xA8,0xF8,0x2F,0xF0,0xC3,0xD1,0xD8,0x2E,0xC2,\r
+0xE4,0x08,0x23,0xE0,0x73,0x1C,0xA4,0xF0,0xE6,0x83,0x42,0x6F,0x32,0x69,0x7C,0x90,\r
+0x12,0xFE,0x8E,0xBB,0xB3,0x4C,0x34,0xA0,0x79,0x78,0x26,0x94,0xE9,0xDF,0x11,0xFD,\r
+0x6D,0x81,0x09,0x43,0x95,0x65,0x3B,0x89,0x91,0xA9,0x1F,0x45,0x4A,0xF5,0x98,0x74,\r
+0x9F,0x73,0xB4,0x0C,0x0B,0x89,0x49,0x65,0xAA,0x33,0xBE,0xDF,0xD8,0x24,0xDB,0x37,\r
+0x1C,0xF0,0xED,0xD6,0x45,0x31,0xBF,0xDD,0x80,0xBA,0x1D,0x56,0x9A,0xAE,0x13,0xFF,\r
+0x72,0x9E,0x0A,0x5F,0x62,0x0F,0xA6,0xE3,0x3F,0x40,0x58,0xAC,0x61,0xD7,0x91,0x7D,\r
+0xEC,0x00,0x21,0xEA,0x4B,0x99,0x19,0x75,0x4E,0x42,0x2B,0xAE,0x56,0xF6,0x87,0x6B,\r
+0xB6,0x5A,0x92,0x03,0xA5,0x60,0x0E,0x8C,0x44,0xCA,0xA9,0x26,0xA8,0xAB,0x24,0xC8,\r
+0xC1,0x2D,0x17,0xF1,0xE3,0x58,0x70,0xB4,0x9D,0x09,0xB3,0xE5,0xEB,0xCE,0x02,0xEE,\r
+0xA4,0x48,0xA3,0x20,0x32,0x1B,0xE2,0xF7,0x08,0x7A,0x55,0x96,0x7C,0x3B,0x60,0x8C,\r
+0x3E,0xD2,0x98,0x81,0xAD,0xE0,0x86,0x0C,0x07,0xC5,0xE5,0x29,0xB8,0x70,0xEF,0x03,\r
+0xA1,0x4D,0x93,0x15,0x29,0x80,0x62,0x6C,0xA0,0xBB,0x3C,0x57,0x73,0x1D,0x49,0xA5,\r
+0xB7,0x5B,0xB2,0x22,0xBC,0xF3,0x84,0x1F,0xF2,0xA7,0x72,0x4B,0xD2,0x26,0xD3,0x3F,\r
+0xD0,0x3C,0x77,0x80,0x30,0x13,0xE8,0xFF,0x8D,0x0D,0xA7,0xE1,0x6C,0xE0,0xAB,0x47,\r
+0x9C,0x70,0xE5,0x5E,0x7A,0x8B,0x3A,0x67,0xB9,0x28,0xB6,0xC4,0x1A,0xB5,0x88,0x64,\r
+0x77,0x9B,0x3A,0x6A,0x12,0x1A,0xC3,0xF6,0x59,0x79,0x07,0x95,0x99,0x50,0xEE,0x02,\r
+0x36,0xDA,0x9A,0x8B,0xE1,0x50,0x7A,0xBC,0xB7,0x80,0x10,0x6C,0xAE,0x71,0xF8,0x14,\r
+0x6F,0x83,0x78,0x30,0xFD,0xF4,0xC2,0x18,0xD4,0x8E,0x7D,0x62,0x9D,0x9B,0x21,0xCD,\r
+0x2A,0xC6,0xC8,0xC5,0xCF,0xF9,0xFD,0x15,0xBD,0x08,0x92,0xE4,0xF5,0xDC,0x0E,0xE2,\r
+0xD2,0x3E,0x06,0xF3,0x05,0x21,0xEF,0xCD,0x87,0x85,0x25,0x69,0xD9,0xCB,0x35,0xD9,\r
+0x7D,0x91,0x49,0x13,0xF9,0xD4,0xE6,0x38,0x5B,0x71,0x0D,0x9D,0x31,0x97,0x81,0x6D,\r
+0xB8,0x54,0xF1,0x6E,0xD2,0x4A,0x53,0xA6,0x03,0xE5,0xC1,0x09,0x40,0xF7,0x90,0x7C,\r
+0xFB,0x17,0x20,0xFC,0x64,0x27,0x88,0xCB,0x5C,0x4E,0x35,0xA2,0xDC,0xEF,0x14,0xF8,\r
+0xE2,0x0E,0x42,0x87,0x4D,0xB1,0x37,0x5D,0x5F,0x51,0x29,0xBD,0xCC,0x34,0xDF,0x33,\r
+0x32,0xDE,0x8A,0x9F,0xDD,0xF5,0xE3,0x19,0xFE,0x07,0xDE,0xEB,0x17,0x82,0xB2,0x5E,\r
+0x7B,0x97,0x28,0x74,0x0D,0xA1,0x67,0x4D,0x0E,0x52,0x7B,0xBE,0xE1,0xCC,0x0A,0xE6,\r
+0xBE,0x52,0x90,0x09,0x6F,0xB8,0x1C,0x54,0x94,0x9E,0x2D,0x72,0xC0,0xEC,0x0B,0xE7,\r
+0x4A,0xA6,0x4C,0x21,0x38,0x93,0x60,0x7F,0xA2,0xB3,0x36,0x5F,0x8D,0x40,0xEA,0x06,\r
+0xD6,0x3A,0x16,0xE7,0x86,0x7E,0x33,0x92,0xC3,0xB5,0x51,0x59,0x48,0xE4,0x8B,0x67,\r
+0x58,0xB4,0x7D,0x02,0x65,0x30,0x9E,0xDC,0x27,0xC4,0xC4,0x28,0x12,0xA6,0x93,0x7F,\r
+0xE0,0x0C,0x33,0xF4,0xC9,0xD1,0xD3,0x3D,0xD6,0x86,0x77,0x6A,0x95,0x88,0x3A,0xD6,\r
+0x8F,0x63,0xF4,0x5C,0x48,0x86,0x05,0x6A,0x4A,0x62,0x0F,0x8E,0x2F,0x85,0x8D,0x61,\r
+0xB9,0x55,0xD1,0x4F,0x18,0x92,0x41,0x7E,0x89,0x2D,0x83,0xC1,0xCB,0x01,0xED,0x01,\r
+0x03,0xEF,0xEE,0xCA,0x02,0x1E,0xD7,0xF2,0x1F,0x41,0x79,0xAD,0x6B,0xD5,0x99,0x75,\r
+0xE6,0x0A,0x52,0x93,0xF0,0x43,0x78,0xAF,0x6D,0x5C,0x16,0xB0,0x14,0x7C,0x4F,0xA3,\r
+0x1A,0xF6,0x8C,0xB1,0x61,0x10,0xBA,0xFC,0x2C,0x5B,0x50,0xB7,0xE4,0xE8,0x2B,0xC7,\r
+0x9A,0x76,0x84,0x39,0x55,0x35,0xAB,0xD9,0x1A,0x76,0x4B,0x9A,0xAA,0xBA,0x37,0xDB,\r
+0x47,0xAB,0x7E,0x1E,0x67,0x38,0x94,0xD4,0x0C,0x5A,0x71,0xB6,0x65,0x1C,0x5E,0xB2,\r
+0xC6,0x2A,0x56,0xB7,0xFF,0xFC,0xC8,0x10,0x19,0x69,0x57,0x85,0x11,0x58,0x6E,0x82,\r
+0xC9,0x25,0x15,0xFB,0x4F,0xB9,0x3D,0x55,0x7F,0x50,0x08,0xBC,0xEE,0xEA,0x23,0xCF,\r
+0xC2,0x2E,0x46,0xA3,0x00,0x16,0xDD,0xFA,0x41,0xFD,0x9B,0x11,0x06,0xB6,0x97,0x7B,\r
+0xE8,0x04,0x31,0xFE,0x51,0x15,0x8F,0xF9,0xD9,0x39,0xC7,0xD5,0x8C,0xAF,0x04,0xE8,\r
+0xA2,0x4E,0xC2,0x47,0x3E,0xBB,0x4E,0x57,0x76,0xC7,0x96,0x2B,0x27,0x96,0x96,0x7A,\r
+0x00,0xEC,0xBF,0x98,0xEB,0xD8,0xF8,0x34,0x5E,0x46,0x3F,0xAA,0x04,0xA7,0x84,0x68,\r
+0xBE,0x9F,0x07,0x6E,0x5E,0x7A,0x8B,0x02,0x2D,0x73,0x89,0x78,0x66,0x0D,0xBC,0x97,\r
+0x3F,0xC8,0xD1,0x39,0xF6,0x15,0xE4,0xC5,0x97,0x7E,0x3E,0xCF,0x82,0x75,0x20,0x73,\r
+0x93,0x29,0x9C,0xD8,0x00,0xAD,0x5C,0x8B,0x10,0x50,0x97,0x66,0xC0,0xC6,0xD1,0x31,\r
+0x70,0x67,0x31,0x96,0xE5,0x23,0xD2,0xE0,0x4A,0x12,0x8F,0x7E,0xB1,0x53,0x35,0x40,\r
+0x97,0x09,0xB8,0xF8,0xB3,0xEF,0x1E,0x7A,0xE6,0x1E,0x2F,0xDE,0x5F,0x52,0xDA,0xAE,\r
+0x06,0x5A,0x7A,0xAB,0x91,0x13,0xE2,0xA4,0x16,0x8A,0x4B,0xBA,0x58,0x14,0x9B,0xA9,\r
+0xF4,0x07,0xD5,0xF6,0xC8,0xF6,0x07,0x18,0x69,0x23,0x9D,0x6C,0x45,0x7B,0xE9,0xB4,\r
+0xEE,0x8B,0x43,0x7A,0x4D,0x4C,0xBD,0x27,0xC9,0xF7,0xE9,0x18,0x29,0x81,0x7F,0xD8,\r
+0xB9,0xA0,0x3F,0x51,0xF9,0x3C,0xCD,0xE3,0xEC,0x1C,0x27,0xD6,0x54,0x0A,0x89,0xA5,\r
+0x09,0xE5,0xCA,0x14,0xB5,0x33,0xC2,0xA0,0x13,0xAE,0x6A,0x9B,0x6D,0x55,0xEF,0x9C,\r
+0x91,0x21,0x96,0xD0,0x1C,0xB2,0x43,0x88,0x67,0xEA,0x5A,0xAB,0x5E,0x73,0xFA,0xAF,\r
+0xA3,0x2C,0xA9,0xDD,0x3B,0x6F,0x9E,0x72,0xA8,0x4C,0x33,0xC2,0x72,0x49,0xEC,0x83,\r
+0x1D,0xC1,0xFA,0x30,0x9A,0xF5,0x04,0x49,0x06,0x51,0x80,0x71,0x42,0x3D,0xA8,0xB3,\r
+0xC8,0xA2,0x4C,0x53,0x45,0x57,0xA6,0x34,0x25,0x60,0x92,0x63,0xC3,0x94,0x80,0x32,\r
+0xA7,0x0C,0x8D,0xFD,0xFC,0x1D,0xEC,0xC7,0x8E,0x59,0x00,0xF1,0x3D,0xC5,0x2F,0xCC,\r
+0xF6,0x0F,0xDF,0xFE,0xA1,0x37,0xC6,0xB0,0x04,0x40,0x93,0x62,0xF9,0x99,0xB7,0x08,\r
+0xE4,0x03,0xC1,0xF2,0x68,0x82,0x73,0xCC,0x9B,0xA6,0xEA,0x1B,0x7D,0x05,0xAF,0x8C,\r
+0x8C,0x92,0x38,0x63,0x5C,0x69,0x98,0x13,0x18,0x43,0x8C,0x7D,0x2C,0xB4,0x4F,0xDD,\r
+0xC6,0x0A,0xEA,0xFB,0x82,0x25,0xD4,0x81,0x6E,0x16,0xAF,0x5E,0x09,0xA5,0x7B,0xF8,\r
+0x4A,0xEA,0x86,0x1B,0x20,0x42,0xB3,0x44,0xD0,0xD0,0xD7,0x26,0xA3,0x70,0x04,0x52,\r
+0xF3,0x38,0xED,0xC9,0xF1,0x27,0xD6,0xF0,0xDB,0x3D,0x31,0xC0,0x81,0x27,0x71,0x70,\r
+0x39,0xE0,0xFF,0x11,0xC7,0xDF,0x2E,0x3E,0xF7,0x2A,0x0A,0xFB,0x0C,0x90,0x4B,0xFD,\r
+0x0B,0xED,0xC0,0x1C,0x32,0x9A,0x6B,0x8E,0x9F,0x6D,0x25,0xD4,0x8A,0x7F,0x22,0x7B,\r
+0x17,0x49,0x78,0xB8,0x89,0xC3,0x32,0x6C,0xAC,0x87,0xFC,0x0D,0x84,0x12,0x41,0x75,\r
+0xBB,0xA8,0x35,0x59,0x85,0x17,0xE6,0xB4,0xCE,0xC2,0xDB,0x2A,0x55,0x2B,0xA9,0xA4,\r
+0x92,0x3E,0x8A,0xCF,0xFE,0x0E,0xFF,0xD6,0xDE,0x19,0x10,0xE1,0x4A,0x37,0xAA,0xBB,\r
+0x24,0x53,0x51,0xA2,0x6C,0x4D,0xBC,0x07,0x42,0x01,0x94,0x65,0xE1,0xC3,0xF5,0x10,\r
+0x0F,0xCD,0xE4,0x3C,0x11,0x88,0x79,0xBF,0x33,0x61,0x85,0x74,0x75,0x0F,0xAD,0x84,\r
+0xCE,0x8A,0x62,0x7B,0x23,0xBF,0x4E,0xBA,0x8F,0xB6,0xEE,0x1F,0xB7,0x34,0x54,0x46,\r
+0x99,0xA1,0x1E,0x50,0x0B,0x4B,0xBA,0x66,0xC2,0x1A,0x0F,0xFE,0x9A,0x2F,0x62,0x6B,\r
+0xFB,0xB8,0x65,0x49,0x76,0x8E,0x7F,0xDE,0xE3,0x3A,0x0E,0xFF,0x56,0x79,0xF8,0xA7,\r
+0x2B,0xEC,0xE1,0x1D,0x9D,0xC7,0x36,0x7C,0x15,0x74,0xB6,0x47,0x03,0xDC,0x08,0xF2,\r
+0x47,0x5D,0x3C,0xAC,0x92,0xEE,0x1F,0x5A,0xD3,0x2E,0x2A,0xDB,0x2B,0xF2,0x0E,0xDA,\r
+0xDC,0x86,0x7C,0x77,0xCB,0x0B,0xFA,0xE6,0xA3,0xA1,0xD5,0x24,0x6C,0x74,0xCF,0x9D,\r
+0x26,0x5B,0x5B,0xAA,0x87,0x04,0xF5,0xA5,0x44,0xDB,0x48,0xB9,0xF0,0xB2,0x95,0x01,\r
+0x05,0x45,0x66,0xB4,0x28,0x59,0xA8,0x57,0xD7,0xE5,0xE5,0x14,0xCC,0xD8,0xC3,0x3D,\r
+0xFD,0x90,0x4B,0x61,0x0E,0x6A,0x9B,0x42,0xDA,0xD2,0xDF,0x2E,0x37,0xBC,0x5C,0xC6,\r
+0x63,0x7C,0x39,0x8D,0x41,0x98,0x69,0xFF,0x48,0x03,0x9C,0x6D,0xAD,0x1D,0x67,0x5C,\r
+0x45,0x55,0x36,0xA4,0xB9,0xE7,0x16,0x78,0xEB,0x29,0x15,0xE4,0x7C,0x24,0x8F,0x8D,\r
+0x85,0x05,0xA6,0xF4,0xE2,0x11,0xE0,0xD5,0x30,0x9F,0x78,0x89,0x87,0x40,0x10,0x76,\r
+0x53,0x79,0x0C,0x88,0x01,0x43,0xB2,0x64,0xAA,0x5D,0x20,0xD1,0xCE,0xAB,0xB2,0x3F,\r
+0xBD,0x80,0x1B,0x71,0xE8,0x19,0xE8,0xD7,0x54,0x00,0x83,0x72,0x46,0x29,0xB8,0xB7,\r
+0x94,0x16,0xA4,0xE7,0x5D,0x87,0x76,0xFC,0x63,0x21,0x95,0x64,0x44,0x5A,0xC9,0xB5,\r
+0xB3,0x28,0xBD,0xD9,0xD4,0xE9,0x18,0x1B,0x98,0x58,0x17,0xE6,0xBE,0x1F,0x76,0x4F,\r
+0xDF,0x99,0x60,0x68,0x17,0x54,0xA5,0x65,0x71,0xEB,0x4D,0xBC,0xBF,0x3E,0x56,0x4E,\r
+0x5B,0xF9,0x84,0x08,0x83,0xCB,0x3A,0x6E,0xBA,0x86,0xEB,0x1A,0xC1,0xE7,0xF1,0x30,\r
+0xC4,0x02,0xE0,0xF3,0x22,0x51,0xA0,0x55,0x7E,0xCD,0x64,0x95,0x7E,0x57,0xFE,0x8F,\r
+0x15,0x41,0x72,0xB0,0xF3,0x34,0xC5,0xE1,0xE9,0x38,0x06,0xF7,0x0D,0xB1,0x6B,0xFC,\r
+0xF9,0xB0,0x6F,0x41,0xCD,0xD7,0x26,0x3C,0x50,0xCB,0x4C,0xBD,0x6F,0x26,0x9E,0x9E,\r
+0x96,0x1E,0xAE,0xEF,0xCC,0x39,0xC8,0xD3,0x2E,0x8D,0x74,0x85,0xCA,0xBF,0xA2,0x3B,\r
+0xB5,0x00,0x93,0xF1,0x8C,0xE2,0x13,0x48,0xA0,0x5F,0x28,0xD9,0x62,0x19,0xAC,0x93,\r
+0x46,0x4A,0x2A,0xBB,0x4F,0x5F,0xAE,0x36,0x9E,0x82,0xCB,0x3A,0x5D,0x21,0xAB,0xAC,\r
+0xE2,0x2B,0xEF,0xDA,0x6A,0x91,0x60,0xDD,0xF4,0xD4,0xF7,0x06,0x2D,0x95,0x6F,0xDC,\r
+0x3B,0xE8,0xF5,0x19,0x61,0x77,0x86,0x30,0xFB,0xF2,0xDE,0x2F,0xB5,0x47,0x25,0x44,\r
+0x0D,0xC5,0xEE,0x34,0xC4,0x22,0xD3,0xC0,0x46,0xCA,0x5B,0xAA,0x0B,0xD6,0x0A,0xFA,\r
+0x28,0xF3,0xFD,0x02,0xD2,0x35,0xC4,0xC1,0xBE,0x4D,0x24,0xD5,0x47,0x08,0x98,0xB6,\r
+0x7D,0xD0,0x8B,0x21,0xBB,0xF4,0x05,0x69,0xB6,0x5E,0x3F,0xCE,0x12,0xAD,0x68,0xE3,\r
+0x75,0x50,0x03,0xA1,0xD9,0xD3,0x22,0x2C,0x56,0x11,0x90,0x61,0xDC,0x88,0x83,0x2D,\r
+0x9A,0xBE,0x02,0x4F,0x1A,0x6E,0x9F,0x52,0x2C,0x9C,0x67,0x96,0x65,0x5F,0xED,0x94,\r
+0x32,0x7F,0x6B,0x8E,0x58,0xA6,0x57,0xD8,0xCF,0x2D,0x35,0xC4,0xA7,0x64,0x14,0x56,\r
+0x33,0x68,0x7D,0x99,0x80,0x36,0xC7,0x90,0xAF,0x79,0x01,0xF0,0x38,0xF0,0x1F,0xC9,\r
+0x9D,0x81,0x3A,0x70,0x6D,0xA3,0x52,0xE8,0xB7,0xB1,0xD1,0x20,0xED,0xDD,0xE7,0x1C,\r
+0x84,0x12,0xB0,0xE3,0x4E,0xB1,0x40,0xD9,0x59,0x37,0xB9,0x48,0xA9,0x09,0x77,0x58,\r
+0x0C,0xD2,0xF8,0x23,0xA2,0xCA,0x3B,0x4E,0x77,0x31,0x91,0x60,0x1A,0xA7,0x6A,0xEB,\r
+0x42,0x2B,0x55,0x0E,0xE0,0x57,0xBB,0x8B,0xFE,0xB6,0xA5,0x74,0x8E,0xD5,0xCA,0x23,\r
+0xB4,0x65,0xED,0xB6,0xB5,0xA7,0xEE,0x2E,0xAA,0x32,0xF1,0xA4,0xC7,0x9C,0x21,0x81,\r
+0x95,0x45,0xEC,0xB7,0x79,0x3D,0x22,0x78,0xB3,0x49,0xE8,0xC6,0x02,0x59,0x5C,0x39,\r
+0xD8,0xE9,0x0D,0x56,0x54,0x0B,0x0F,0x63,0x98,0x35,0xC3,0x91,0xF6,0xAD,0x74,0xE5,\r
+0x64,0x3E,0x66,0x3D,0x96,0xF2,0xCD,0x58,0xDF,0xB3,0x84,0x50,0xC1,0x9A,0x46,0xE0,\r
+0x15,0x5E,0x77,0x2C,0x02,0xAA,0x59,0x94,0x41,0x06,0x1A,0x7B,0x04,0x5F,0x3B,0x58,\r
+0x89,0x46,0xF3,0xA8,0xA9,0xF5,0xF2,0x60,0x2C,0xDD,0x77,0xCD,0x47,0x1C,0xA9,0x89,\r
+0x99,0x9D,0x38,0x63,0xB6,0xF6,0xED,0x7C,0xBA,0x62,0xE1,0xE4,0x5E,0x05,0xD2,0xEB,\r
+0xFB,0xD8,0x1F,0x44,0x67,0x1E,0x3C,0x45,0x5B,0x2F,0x00,0x48,0x8A,0xD1,0xDE,0x33,\r
+0xC8,0x32,0xC6,0x9D,0x69,0x7D,0x32,0x28,0xFF,0x97,0xA4,0x54,0xD3,0x88,0x65,0xD1,\r
+0xA0,0x75,0xE9,0xB2,0xEF,0x14,0xB4,0xC7,0xF2,0xA8,0xA9,0x66,0x96,0xCD,0x90,0x61,\r
+0x8C,0x62,0xD2,0x89,0x62,0x2E,0x39,0x70,0x2A,0xBA,0x71,0xAC,0x6E,0x35,0xA6,0xAF,\r
+0x87,0x8F,0x34,0x6F,0x40,0x5B,0x1B,0x27,0xF8,0xD1,0xA3,0x15,0x0B,0x50,0x77,0x1B,\r
+0x39,0x49,0x4C,0x17,0xEA,0x24,0xB1,0xF2,0x18,0xBD,0x43,0x99,0x6C,0x37,0xD5,0xDE,\r
+0x4F,0x1C,0x6F,0x34,0xCF,0x10,0x94,0xE3,0x80,0x6F,0xDB,0xD3,0x20,0x7B,0x0B,0x4C,\r
+0xCC,0xF9,0x09,0x52,0x9E,0xF0,0xC5,0x52,0x11,0x96,0x4A,0xBB,0xCB,0x90,0x3F,0x93,\r
+0x53,0x1F,0x70,0x2B,0x1A,0xE8,0x41,0xCE,0x1D,0x88,0x46,0xA9,0x7E,0x25,0xF6,0xEF,\r
+0xD9,0x06,0xE3,0xB8,0xDE,0x70,0x85,0x92,0x1E,0xDA,0x45,0xF8,0x54,0x0F,0xAB,0x98,\r
+0x72,0x3F,0x71,0x2A,0x20,0xDF,0x7B,0xC3,0xB0,0x1B,0xEB,0x97,0x1E,0x45,0x12,0x6B,\r
+0x51,0x0E,0x63,0x38,0xA1,0xF7,0xFA,0x6A,0xD3,0xAD,0x88,0x42,0xBC,0xE7,0xCD,0x16,\r
+0xFF,0x13,0xD0,0x8B,0x91,0xB3,0xCA,0x1E,0x3E,0xFE,0x65,0xFC,0x26,0x7D,0x6C,0x2D,\r
+0x30,0xB5,0xB9,0xE2,0xBD,0xA5,0xE6,0x24,0x33,0xC1,0x68,0xCE,0xFB,0xA0,0x4B,0xD7,\r
+0x44,0xF1,0x89,0xD2,0x8E,0xB0,0xD5,0x02,0xF7,0x9D,0xAC,0x56,0x7A,0x21,0xE2,0xFF,\r
+0xBB,0x43,0xC4,0x9F,0xB7,0xD6,0xEC,0x5D,0xB2,0x68,0xE9,0xE6,0x75,0x2E,0xAE,0xBC,\r
+0x9E,0xA8,0x0A,0x51,0xCA,0x20,0x91,0xD6,0x99,0x14,0xC2,0xB1,0x05,0x5E,0x1A,0x78,\r
+0x3E,0x7C,0x7E,0x25,0xA6,0xB6,0xFD,0x2C,0x15,0x82,0x4E,0xAB,0xBF,0xE4,0x9F,0x47,\r
+0x41,0xD5,0xA8,0xF3,0xBB,0xC4,0xE0,0x43,0x48,0x2D,0x13,0x59,0x5A,0x01,0xC6,0xFB,\r
+0xB1,0x41,0xCC,0x97,0xBC,0x85,0xE7,0x05,0x1B,0xEF,0x40,0xC8,0xA6,0xFD,0xE4,0x25,\r
+0x1D,0x4D,0x6C,0x37,0x52,0x6A,0x09,0x04,0x75,0x66,0x2E,0x2F,0x6A,0x31,0xB2,0xBF,\r
+0x47,0x0F,0x74,0x2F,0x23,0x8E,0x78,0x91,0x3B,0xCB,0x60,0xCC,0xE4,0xBF,0x57,0xD4,\r
+0xC0,0x21,0xDD,0x86,0x61,0x7F,0x3A,0x22,0xDA,0x86,0x81,0x60,0x5C,0x07,0xA1,0x9A,\r
+0x7A,0x2C,0x6A,0x31,0x85,0xE3,0xDE,0x5A,0x8D,0x50,0xD6,0xE1,0x33,0x68,0x09,0x5D,\r
+0x20,0x6E,0x72,0x29,0xF9,0x35,0xA2,0xF0,0xC0,0xAF,0x9B,0x53,0x83,0xD8,0xF5,0x11,\r
+0x0E,0x68,0x5A,0x01,0x4A,0x28,0x11,0x5E,0x00,0xE7,0x5B,0xDB,0xF8,0xA3,0x19,0x86,\r
+0xE0,0xEE,0x32,0x69,0x0E,0xB8,0x55,0x8A,0x93,0x6D,0xC8,0xC2,0xEA,0xB1,0x3A,0xB7,\r
+0xF8,0x26,0xE2,0xB9,0xDB,0x40,0x80,0xA7,0x7A,0x2A,0x21,0x6C,0x7F,0x24,0xD7,0xCF,\r
+0x98,0x72,0xD6,0x8D,0x44,0x4B,0x1F,0x33,0x6D,0x3C,0x36,0x6D,0xEF,0xB4,0x0F,0x87,\r
+0x7B,0xC3,0x84,0xDF,0x86,0xB2,0xDD,0x08,0xAC,0x55,0xF7,0xC5,0x27,0x7C,0x4D,0x0D,\r
+0x01,0x4E,0x73,0x28,0x3F,0xDC,0x64,0xDF,0x42,0x54,0x19,0x2A,0x9A,0xC1,0x8E,0x73,\r
+0xE1,0x01,0xDC,0x87,0xF1,0x37,0xAA,0xFA,0xC2,0xDC,0x99,0x22,0xBD,0xE6,0xEC,0x36,\r
+0xE9,0x12,0xC7,0x9C,0xA4,0xC7,0xFF,0x5F,0xE1,0xAA,0xBA,0x77,0x7C,0x27,0x85,0x9E,\r
+0x11,0x95,0xB8,0xE3,0xE8,0x55,0xB3,0x81,0xD7,0xB9,0x8C,0x52,0x6B,0x30,0x93,0x9F,\r
+0xAC,0xAD,0x3D,0x66,0x56,0x7A,0x0D,0x10,0xFA,0xA2,0xA1,0x64,0x3E,0x65,0x36,0x6F,\r
+0xA3,0x8B,0x14,0x4F,0xCE,0x30,0x95,0xC2,0x39,0xB8,0x62,0xBD,0xD8,0x83,0x3D,0x82,\r
+0xC9,0xDD,0x28,0x73,0xBE,0xF4,0xE5,0x76,0x58,0x7D,0x03,0x19,0x16,0x4D,0x18,0x69,\r
+0xF7,0x00,0xCB,0x90,0x81,0xF3,0xDA,0x4E,0x12,0xC4,0x49,0xEA,0xAB,0xF0,0xDB,0x17,\r
+0x79,0xD2,0x97,0xCC,0x29,0xFD,0x72,0xE8,0x0C,0xF9,0x57,0xC9,0x70,0x2B,0x9B,0x8C,\r
+0x07,0x94,0xAF,0xF4,0x8C,0xC1,0xD7,0x71,0xA2,0x38,0xF9,0xA6,0x9E,0xC5,0x9A,0x63,\r
+0xBE,0x67,0xE5,0xBE,0xEE,0x34,0xB5,0xE6,0x53,0x25,0x08,0x4A,0x7D,0x26,0xA4,0xBE,\r
+0x29,0x92,0x87,0xDC,0x9D,0xA1,0xC6,0x00,0x10,0xB7,0x4B,0x9B,0x18,0x43,0x75,0x0A,\r
+0xED,0xD9,0x08,0x53,0x22,0xAE,0x79,0xB0,0xEB,0xD3,0xB0,0x04,0x82,0xD9,0xD4,0x31,\r
+0x26,0xB4,0xAE,0xF5,0x5C,0x09,0x07,0x69,0x8B,0x37,0xD0,0x80,0x1D,0x46,0x40,0x3A,\r
+0xCF,0x07,0xF4,0xAF,0x5D,0x29,0x06,0x48,0x3A,0xEA,0x61,0xEC,0xA0,0xFB,0x83,0x44,\r
+0x34,0x7E,0x76,0x2D,0xA7,0x96,0xFC,0x0D,0x04,0xF3,0x5F,0xCB,0xCE,0x95,0x0A,0xA3,\r
+0x03,0x5F,0x60,0x3B,0xA5,0xE7,0xFE,0x7E,0x92,0x4C,0xC9,0xE2,0x50,0x0B,0xBF,0x88,\r
+0xFD,0x02,0xC3,0x98,0x2D,0xED,0x76,0xFC,0x6B,0x5B,0x30,0x0C,0x0A,0x51,0x56,0x3B,\r
+0x67,0xC0,0x9B,0xC0,0x64,0x4F,0x3F,0x17,0x17,0xF1,0x4C,0xDA,0x58,0x03,0xB5,0x8A,\r
+0xBC,0x76,0xF6,0xAD,0x9F,0xD0,0xC4,0x73,0x47,0x61,0x1C,0x1A,0xAE,0xF5,0xEE,0x27,\r
+0x1F,0x5C,0x7F,0x24,0x4E,0x38,0x15,0x4A,0x6E,0x6E,0x35,0x3C,0xD1,0x8A,0x16,0xA0,\r
+0x8D,0x8D,0x3C,0x67,0xD4,0x03,0x8F,0xEB,0x82,0x1C,0xD9,0xA2,0x23,0x78,0x59,0x1D,\r
+0x80,0xBA,0x06,0x5D,0x2F,0x9C,0x74,0x8F,0x57,0x31,0x0C,0x5A,0x10,0x4B,0x7F,0x08,\r
+0x13,0x84,0xAB,0xF0,0x13,0xCA,0x48,0xE5,0x49,0x0C,0x12,0x79,0x4D,0x16,0xD0,0xFA,\r
+0xF4,0xFE,0x36,0x6D,0x8F,0x90,0xD4,0x23,0x94,0x2B,0xCF,0x83,0x42,0x19,0x9C,0xB9,\r
+0x84,0x71,0xC9,0x92,0xC8,0x51,0x93,0xA5,0x4F,0x6B,0x14,0x18,0xA7,0xFC,0xC5,0x05,\r
+0xCD,0xFB,0xF3,0xDC,0x5A,0xD5,0x75,0x4A,0x3D,0xE8,0x12,0x10,0xD3,0xFC,0x81,0xB8,\r
+0x36,0x82,0x71,0x5E,0xA0,0x6A,0x8F,0x0F,0x03,0xF1,0x2C,0x37,0xBD,0x92,0x08,0x5F,\r
+0x01,0xA3,0x67,0x48,0xA2,0x1B,0x8D,0x7C,0x95,0x4E,0xBA,0x1E,0x23,0x0C,0xBD,0x74,\r
+0xFF,0xFE,0xC4,0xEB,0x2A,0x11,0x05,0xFE,0x6C,0x59,0x43,0xF0,0x79,0x56,0x54,0xC7,\r
+0xBC,0x9B,0xE2,0xCD,0xE9,0xC8,0xC6,0xE4,0x54,0x27,0x7B,0xB6,0x0E,0x21,0xA6,0x42,\r
+0x2B,0x6E,0x80,0xAF,0x9A,0x5D,0xB5,0x02,0x17,0xB5,0x38,0x67,0x6B,0x44,0x77,0xF6,\r
+0xEF,0x25,0x0F,0x20,0x25,0x52,0x0A,0xB2,0xEC,0xD1,0xC3,0xF8,0xF1,0xDE,0xD6,0xCD,\r
+0x24,0x48,0xA9,0x86,0x5B,0xF5,0x74,0x6B,0x8C,0x35,0xA3,0x7C,0x6E,0x41,0x42,0xC6,\r
+0x82,0x46,0x01,0x2E,0x28,0x60,0x07,0x8D,0x50,0x33,0x7F,0xA6,0x63,0x4C,0x7D,0xF4,\r
+0x11,0x78,0xAC,0x83,0x14,0x36,0x3B,0xE7,0x4E,0x0E,0x61,0x85,0x3E,0x11,0xD2,0x06,\r
+0xF6,0x02,0x31,0x1E,0x88,0x6C,0xA7,0x21,0x93,0x29,0xBC,0x7F,0x31,0x1E,0x9E,0x45,\r
+0x86,0x8D,0xCE,0xE1,0xCF,0xAD,0xE0,0xA7,0x48,0x69,0x67,0xE4,0xD4,0xFB,0xC7,0xF9,\r
+0x65,0x3C,0x9C,0xB3,0x63,0xB3,0x4C,0x15,0x10,0xF3,0x3F,0x26,0x2B,0x04,0xB7,0x76,\r
+0xBE,0x8A,0xF1,0xDE,0x98,0x2C,0xB7,0x71,0x40,0x63,0x6F,0xE6,0xDD,0xF2,0xEC,0xDB,\r
+0x1D,0xA0,0x78,0x57,0x49,0xC4,0x66,0x48,0x69,0x6C,0x46,0xC0,0xA2,0x8D,0x14,0x5C,\r
+0x8F,0x71,0x3B,0x14,0xD3,0xFF,0xFC,0xE9,0x85,0x1E,0xAA,0x5E,0x50,0x7F,0x5B,0xE1,\r
+0x9A,0x8E,0xD1,0xFE,0x43,0xB7,0x6C,0x31,0x6A,0x3E,0x45,0x91,0x9C,0xB3,0x0D,0x7B,\r
+0x79,0x3F,0x83,0xAC,0x81,0x4E,0xAE,0x0A,0xAB,0x57,0x84,0x39,0x54,0x7B,0x4F,0xF1,\r
+0x03,0xB2,0x74,0x5B,0x38,0x20,0x17,0xDD,0x45,0x56,0x6A,0xD6,0xE9,0xC6,0x8C,0x8F,\r
+0xE3,0xFD,0xDB,0xF4,0xF6,0xCB,0xD9,0xF8,0xC5,0xDE,0xEA,0xDE,0xCE,0xE1,0xEE,0xCA,\r
+0x22,0x92,0x75,0x5A,0xFE,0xC9,0xD1,0xF2,0xC7,0xAD,0xE8,0xAF,0xF0,0xDF,0xF7,0xED,\r
+0x0C,0x94,0x5D,0x72,0x4D,0xD4,0x62,0x5C,0x07,0xE5,0x28,0x27,0x8B,0xA4,0x1B,0x7A,\r
+0xE2,0x12,0x35,0x1A,0x09,0x44,0x26,0x88,0x94,0x6F,0xBB,0x3E,0x99,0xB6,0x38,0x4B,\r
+0xFA,0xDA,0xE5,0xCA,0xDC,0xBC,0xF3,0xA5,0x7D,0x28,0x52,0x90,0x0C,0x23,0xD5,0x33,\r
+0xCB,0x21,0x2F,0x00,0xB9,0x08,0x96,0x74,0x5F,0x7F,0x70,0xE5,0x65,0x4A,0x1A,0x95,\r
+0xF5,0xFC,0xCC,0xE3,0x86,0x0F,0xA9,0x4C,0x15,0xC6,0x3A,0x16,0xD8,0xF7,0xD9,0xEB,\r
+0x7B,0x2E,0x90,0xBF,0x2E,0x01,0x01,0xEA,0x0B,0xFB,0x24,0x35,0x03,0x2C,0x99,0x70,\r
+0x05,0x68,0xA8,0x87,0x8B,0x3D,0xA4,0x73,0xA5,0x3A,0x8A,0x5A,0xED,0xC2,0x98,0x9F,\r
+0xEB,0xEE,0xC0,0xEF,0xA3,0x3B,0x8C,0x5D,0xE6,0xA8,0xC9,0x8B,0x0F,0x20,0x87,0x62,\r
+0x13,0x69,0xBF,0x90,0xEF,0xA9,0xC0,0x83,0xD0,0xBB,0xFF,0xAE,0x18,0x37,0x91,0x63,\r
+0xAE,0x51,0x3A,0x15,0x51,0x86,0x7E,0x12,0xFD,0xA0,0xD2,0x98,0x4D,0x62,0x34,0x93,\r
+0xA1,0x77,0x13,0x3C,0xC9,0xCC,0xE6,0xC0,0x3E,0xBA,0x11,0x41,0xAB,0x84,0x3F,0x7E,\r
+0xFD,0xEF,0xD7,0xF8,0x96,0x4F,0xB9,0x1C,0x39,0xFC,0x16,0x00,0x55,0x7A,0x6E,0xD1,\r
+0x32,0x49,0xBE,0x91,0xBA,0x59,0x95,0x26,0x34,0xC3,0x1B,0x32,0x88,0xA7,0x49,0x2B,\r
+0x46,0x0D,0x8E,0xA1,0x89,0x4C,0xA6,0x00,0xF0,0x9F,0xDF,0xAA,0x09,0x26,0xE0,0x03,\r
+0xB9,0xBF,0xC3,0xEC,0xB0,0x2A,0x9F,0x5F,0xB5,0x6A,0x9A,0x1A,0x06,0x29,0xAC,0x40,\r
+0x51,0xE3,0x77,0x58,0x1D,0x14,0x32,0xCC,0x1A,0x8A,0x35,0x55,0x0D,0x22,0xF4,0x13,\r
+0xDB,0xFA,0xE4,0xCB,0xD9,0x8C,0xF6,0x90,0x19,0xD8,0x36,0x04,0x27,0x08,0xA9,0x64,\r
+0x70,0xC3,0x76,0x59,0x27,0x23,0x08,0xC1,0xB7,0x19,0x98,0x6B,0x6D,0x42,0x10,0x97,\r
+0x53,0xF2,0x64,0x4B,0xA6,0x0B,0x89,0x68,0xD4,0xAF,0xFB,0xBE,0xCF,0xE0,0xCF,0xEA,\r
+0x1F,0xB1,0x6B,0x44,0x55,0x96,0x7A,0x06,0x72,0x64,0x5D,0xD3,0x19,0x36,0xB0,0x43,\r
+0x45,0xF3,0x73,0x5C,0x24,0x72,0x0B,0x93,0x3C,0xC9,0x13,0x30,0x97,0xB8,0x55,0x28,\r
+0xC2,0xDD,0xDA,0xF5,0x66,0x83,0x49,0x20,0xDD,0x84,0xF2,0x9C,0x2F,0x00,0xA3,0x66,\r
+0x78,0xD0,0x6D,0x42,0x82,0x1F,0xAD,0x58,0x8A,0x52,0xA5,0x1D,0x40,0x6F,0x0B,0xA1,\r
+0x9C,0x54,0x0D,0x22,0xCD,0xDC,0xE2,0xD4,0x9E,0x16,0xB1,0x4D,0x76,0x59,0x18,0x84,\r
+0x3C,0x80,0x79,0x56,0xA1,0x4A,0x8E,0x2E,0x12,0x80,0x3D,0x57,0xCC,0xE3,0x9D,0xBB,\r
+0x43,0x29,0xAF,0x80,0xBC,0x38,0x93,0x41,0x4F,0x2F,0x60,0xA5,0x29,0x06,0xC4,0x07,\r
+0xB3,0xBD,0xCB,0xE4,0xBB,0x79,0x94,0x07,0x1C,0xED,0x33,0x34,0xD5,0xFA,0xE6,0xD9,\r
+0x66,0xC2,0x61,0x4E,0x91,0x0E,0xBE,0x5A,0xD8,0xB1,0xF7,0xAC,0xB2,0x9D,0x44,0x1C,\r
+0x17,0xA2,0x70,0x5F,0x05,0x56,0x2A,0x96,0x46,0x04,0x69,0x87,0x77,0x58,0x39,0xA4,\r
+0x8B,0xBA,0xF4,0xDB,0xAE,0x09,0x81,0x62,0x2B,0xDF,0x04,0x31,0x34,0x1B,0xAB,0x75,\r
+0x9B,0x61,0x3F,0x10,0xB1,0x0A,0x9E,0x7E,0xBD,0x60,0x92,0x18,0x2D,0x02,0xD0,0x17,\r
+0x40,0xD7,0x52,0x7D,0xE7,0xAB,0xC8,0x89,0xF9,0xB4,0xD6,0x88,0xFD,0xD2,0xC8,0xDF,\r
+0xB6,0x99,0xEA,0xC5,0xB2,0x5B,0x9D,0x2C,0xAD,0x30,0x82,0x58,0xB4,0x9B,0x23,0x7D,\r
+0x97,0xB9,0xEB,0xC4,0x7E,0xC1,0x51,0x7A,0xB4,0x4B,0x9B,0x3A,0x71,0x5E,0x5E,0xC5,\r
+0xDA,0x15,0x0A,0x25,0x53,0xF7,0x7C,0x61,0x9F,0x37,0xB0,0x6D,0x85,0xAA,0x76,0x19,\r
+0x85,0x73,0x33,0x1C,0x47,0xA7,0x68,0x25,0xFF,0xD3,0xD0,0xE9,0x78,0x57,0x75,0xE7,\r
+0x3B,0xB5,0x4B,0x64,0xED,0xD8,0xC2,0xF0,0x1F,0xBF,0x30,0x65,0x1F,0x30,0xD7,0x22,\r
+0x4D,0xE0,0x68,0x47,0xC8,0xEC,0xE7,0xE1,0x87,0x6D,0xA8,0x2F,0x53,0x7C,0x09,0xB0,\r
+0xCE,0x05,0x0E,0x21,0x99,0x0C,0xB6,0x50,0x16,0x94,0x39,0x47,0xB8,0x97,0x3D,0x6F,\r
+0xF9,0x24,0x18,0x37,0x60,0xE2,0x4F,0x47,0x5C,0x2D,0x73,0xB4,0xF9,0xD6,0xDC,0xCF,\r
+0xCA,0xCE,0xC1,0xEE,0x6E,0x81,0x41,0x2A,0xF8,0x95,0xD7,0xA8,0xA0,0x8F,0x67,0x2D,\r
+0xA2,0x89,0xEE,0xC1,0xE8,0xE8,0xC7,0xC5,0xF5,0xAA,0xDA,0x9A,0xE5,0xCA,0x92,0x9D,\r
+0x8E,0x9E,0xD5,0xFA,0x65,0xD2,0x4A,0x72,0x2D,0xB8,0x02,0x50,0x1D,0x32,0xA4,0x53,\r
+0x13,0x2B,0x9C,0x35,0x51,0x5C,0x8F,0xDE,0x86,0x09,0x06,0x02,0xBB,0x74,0xFB,0x4D,\r
+0x8C,0xBF,0x03,0x3E,0x31,0xB8,0x0B,0xBE,0xF8,0x77,0xA1,0xDB,0xD6,0xD2,0x5D,0x86,\r
+0x16,0x1E,0x99,0x05,0xCA,0xDC,0x94,0x45,0x47,0xC8,0xAE,0x6B,0x9D,0x5D,0xD2,0x42,\r
+0x73,0xCF,0xFC,0xB1,0x89,0x4E,0x45,0x06,0x34,0xBB,0x3B,0x8D,0x68,0x3F,0xB0,0xD5,\r
+0x04,0x3D,0x8B,0x34,0xB1,0x30,0x03,0x3E,0xF7,0x78,0xE2,0x97,0x0D,0x19,0x96,0x96,\r
+0x5E,0xD4,0xD1,0x87,0x48,0x27,0xED,0xC7,0x7F,0xF0,0xE8,0x15,0x50,0xBA,0x35,0x68,\r
+0xC0,0x61,0x4F,0xAC,0xDE,0x98,0xC4,0x51,0x7D,0xF2,0x99,0x66,0x71,0xAC,0x23,0x5F,\r
+0xAE,0xE8,0x21,0x4B,0xE0,0x81,0xE3,0x6F,0x87,0x08,0x26,0x23,0x08,0x2E,0xA1,0xA4,\r
+0x2D,0x32,0xA2,0x12,0x58,0x77,0xAD,0xD7,0x0E,0x81,0x0C,0x80,0x82,0xE6,0x69,0xE6,\r
+0xDF,0x7D,0x50,0xAF,0xB4,0x05,0x33,0x3B,0x94,0x1B,0x37,0x21,0x53,0xA5,0x2A,0x74,\r
+0xA0,0x85,0x2F,0x28,0x9D,0x0A,0x15,0x12,0x45,0xCA,0xDF,0x18,0x79,0x2C,0xA3,0xD7,\r
+0x56,0xDE,0xD9,0x85,0xCD,0x9A,0xD5,0x42,0xBE,0x31,0x40,0x7C,0xCF,0x41,0xCE,0x0C,\r
+0xA9,0xAE,0x26,0x0A,0x95,0x00,0x17,0x1A,0x12,0x9D,0x5E,0xCE,0x7E,0x13,0x9C,0xEF,\r
+0x4C,0xF7,0xC3,0xB6,0x4E,0x40,0x8C,0xC1,0x55,0xDA,0x9F,0x48,0xF1,0xEC,0x63,0x9F,\r
+0x43,0xBB,0xCC,0xF5,0x93,0x67,0x76,0x1C,0xC9,0x46,0xC5,0x8E,0x8B,0x71,0xFE,0x78,\r
+0x1E,0x14,0x91,0x07,0x8D,0x5A,0x55,0x02,0xF5,0x7A,0x93,0xE4,0xB5,0xDC,0x53,0xEB,\r
+0x71,0xBC,0xFE,0xC0,0xA0,0x41,0x63,0x2F,0x01,0x8E,0x4F,0xCC,0x29,0x38,0xB7,0x93,\r
+0xE4,0x51,0x6B,0xB8,0x49,0x06,0xCD,0xC6,0xD4,0x5B,0xB7,0xE1,0xE1,0xE8,0x67,0x8B,\r
+0xF6,0x72,0x79,0x89,0xDA,0x8C,0xD4,0x55,0x90,0x1F,0x27,0x35,0x67,0x80,0x0F,0x65,\r
+0x8D,0x9E,0x02,0x1E,0x1A,0xC4,0x5C,0x95,0x23,0xAC,0x3A,0x9B,0x61,0xA8,0x27,0x4B,\r
+0xB3,0x87,0x3C,0x39,0x18,0xB7,0x2D,0x97,0x2B,0xA4,0x38,0x91,0x0E,0x06,0x89,0x8A,\r
+0x94,0xE5,0x1B,0x7C,0x98,0x3F,0x25,0x17,0xE5,0x6A,0xD3,0xB4,0x41,0xA9,0x26,0x6A,\r
+0x29,0x26,0xA6,0x02,0x76,0x3E,0xCA,0xF9,0x5C,0xD3,0xBD,0x63,0xCC,0x5E,0xD1,0x10,\r
+0xE1,0x64,0x6E,0x88,0xB7,0x57,0x62,0x38,0x9E,0x11,0x44,0x58,0x7D,0x0C,0x83,0xF3,\r
+0xD6,0x56,0x59,0x8D,0xE3,0xD3,0xB2,0x6C,0x14,0x9B,0x3F,0xA9,0x84,0xCE,0x41,0xC8,\r
+0x30,0x5D,0xBF,0x60,0x20,0xC9,0x6B,0xAF,0x8C,0x03,0x75,0x7B,0xA2,0xE7,0x68,0xC7,\r
+0x65,0xF8,0xEA,0x90,0x0D,0xD2,0x5D,0x82,0x32,0xBD,0x5A,0xEA,0x9A,0x62,0xED,0x7A,\r
+0x72,0xEE,0xFD,0x91,0x3B,0xC1,0x78,0xB4,0x7E,0xF1,0xC8,0x34,0x1D,0x1D,0x92,0x82,\r
+0x90,0xF1,0x1F,0x6C,0x78,0x53,0xA9,0xF7,0x56,0xD9,0xCE,0x1A,0x9B,0x75,0xFA,0x6C,\r
+0x7E,0xF0,0xF1,0x83,0xD6,0x92,0xC6,0x59,0xF3,0x7C,0xF2,0x83,0xDD,0x4D,0xC2,0x12,\r
+0xA5,0xB0,0x2A,0x18,0xC8,0xAF,0xE5,0x47,0x5B,0xD4,0xFC,0x25,0x0F,0x11,0x9E,0x9C,\r
+0x18,0x73,0x97,0x66,0x82,0x16,0x16,0x0D,0x64,0xEB,0xFB,0x1D,0xD2,0xF2,0x7D,0xA2,\r
+0xB2,0xA6,0x3D,0x19,0x09,0xC6,0x4D,0x86,0x7B,0xF4,0xF8,0x01,0x01,0xB9,0x36,0x3A,\r
+0x10,0x79,0x9F,0x64,0x6A,0x70,0x98,0xE5,0xFA,0x75,0xD0,0xA8,0x30,0xAB,0x24,0x19,\r
+0x5A,0xC0,0xD5,0x97,0xC4,0xB1,0xF7,0x4B,0x04,0x8B,0x7F,0xF9,0x09,0x39,0xB6,0xB2,\r
+0x70,0x9D,0xFF,0xE0,0xC7,0xE3,0xA6,0x48,0xC0,0x4F,0xE7,0xA5,0x10,0xAA,0x25,0x38,\r
+0x7B,0xC5,0xF4,0xB3,0x68,0x03,0xE9,0xE7,0x6D,0xE2,0xD9,0x36,0x4C,0x1E,0x91,0xD0,\r
+0x74,0x89,0xFB,0xF0,0x2D,0xF6,0x59,0xA2,0x54,0xDB,0xBF,0x69,0xFE,0x53,0xDC,0x2F,\r
+0xF5,0x20,0x7A,0xD8,0xE9,0xAA,0xC1,0x66,0x67,0xE8,0xAA,0x4F,0xBA,0x63,0xEC,0x5B,\r
+0x28,0x07,0xA7,0x22,0xE4,0x95,0xF3,0x6B,0x4B,0xC4,0xBC,0x75,0x1C,0x0A,0x85,0x94,\r
+0xA8,0x8F,0x27,0x2A,0xC1,0x84,0xC7,0x4E,0x66,0xE9,0x8A,0x6E,0x4E,0x16,0x99,0xDA,\r
+0x54,0xAD,0xDB,0xF4,0x92,0x46,0x56,0x1D,0x61,0xEE,0xCB,0x28,0xDA,0x72,0xFD,0x2A,\r
+0xB1,0xF4,0x3E,0x48,0xCF,0xE9,0xA4,0x40,0x7C,0xF3,0xB9,0x47,0x73,0xA4,0x2B,0x55,\r
+0x0B,0x71,0x84,0x77,0x43,0x7F,0xBE,0xCC,0x10,0x9F,0x2F,0xBD,0xA7,0xD0,0x5F,0xF5,\r
+0x3D,0x62,0xB2,0x52,0x57,0x3B,0xEE,0xD8,0x5F,0xD0,0xEC,0x31,0x23,0xB0,0x3F,0x11,\r
+0x52,0xCA,0xDD,0x95,0x00,0xED,0x6F,0x8F,0xBB,0x34,0x70,0x49,0x2E,0x07,0x88,0xAB,\r
+0xEA,0x3C,0x65,0xDB,0xE1,0xA0,0xC3,0x6E,0xF9,0x76,0x81,0xFA,0x00,0xAE,0x21,0x2C,\r
+0x64,0xD9,0xEB,0xB0,0xAF,0x0D,0x20,0x20,0x88,0x07,0x65,0x6F,0x42,0xB6,0x39,0x76,\r
+0xF8,0x1F,0x77,0xEA,0x42,0x5E,0x9E,0xCD,0x8E,0x01,0x04,0x08,0xE6,0xD7,0x58,0xB3,\r
+0x0C,0x37,0x83,0x36,0x69,0x22,0xC9,0xE6,0xA3,0x2C,0x32,0x13,0x4A,0x36,0xB9,0xFE,\r
+0xC9,0x4A,0x46,0x8E,0x70,0x59,0xAB,0xFF,0x6F,0xE0,0xA8,0x45,0x6A,0x37,0xB8,0xDF,\r
+0x80,0xA1,0x0F,0x2C,0x24,0xDD,0x7B,0xAB,0x3A,0xB5,0x58,0xE0,0x24,0x8F,0x00,0x29,\r
+0x50,0xB9,0xDF,0xE4,0x60,0x09,0xEB,0xEF,0x6C,0xE3,0xF9,0x17,0x92,0xE2,0x6D,0xF2,\r
+0x49,0xC2,0xC6,0x86,0xF6,0xB6,0xC2,0x79,0x73,0xFC,0xFA,0x0B,0x49,0x29,0xA6,0xE2,\r
+0x0A,0x50,0x85,0x57,0x9B,0x6D,0x74,0x14,0xD8,0x57,0xA5,0xFF,0x51,0xAD,0x22,0x7E,\r
+0xCF,0x2D,0x40,0xEF,0x05,0xD8,0x5F,0x8A,0x4C,0xC3,0xFD,0x33,0x31,0xBC,0x33,0x0F,\r
+0x60,0xCD,0xEF,0xA0,0xF0,0xD1,0xA3,0x7F,0xB8,0x37,0x21,0x1B,0x6D,0x08,0x87,0xE7,\r
+0x98,0xFB,0x17,0x6E,0x28,0xC3,0x69,0xA7,0x35,0xBA,0x1B,0xAC,0x7A,0x33,0xBC,0xCB,\r
+0xDD,0x0E,0x52,0xDE,0x25,0xFC,0x5B,0xAA,0xB3,0x3C,0x72,0x43,0x3D,0x1C,0x93,0xA3,\r
+0x84,0xB5,0x0B,0x3C,0x81,0x44,0x47,0x0E,0xBD,0x32,0x11,0x2E,0xD7,0xC5,0x4A,0x90,\r
+0xC5,0x54,0x4A,0x9C,0xCB,0xFD,0xB4,0x44,0x44,0xCB,0xFF,0x39,0xF6,0xD3,0x5C,0xA7,\r
+0x2E,0x60,0xA1,0x43,0x5A,0x04,0xDC,0xD5,0x15,0x9A,0x1F,0x88,0x13,0xB5,0x3A,0x24,\r
+0x62,0xBE,0xED,0xD1,0xC2,0xD6,0x96,0x4D,0x30,0xBF,0x2B,0x99,0x46,0x96,0x19,0x52,\r
+0x05,0x1C,0x8A,0x14,0x22,0xBA,0x1A,0xAD,0x9A,0x15,0x54,0x4C,0x80,0xEE,0x61,0xEC,\r
+0x8F,0xBB,0x42,0x8E,0x03,0x1B,0xCF,0x6E,0xAC,0x8E,0x60,0x54,0x23,0xEF,0x1C,0x85,\r
+0x40,0x1D,0x2B,0xE7,0x2F,0x0D,0xE3,0x54,0xA1,0xB1,0x6D,0x66,0xFE,0x32,0x3B,0x7F,\r
+0x34,0x59,0x1B,0xD7,0x1C,0x18,0xD0,0x72,0x65,0xED,0xA9,0xFE,0x7F,0xB3,0x92,0x57,\r
+0xCB,0xEB,0x56,0x9A,0x25,0x7E,0xE9,0x2D,0x20,0x18,0xEC,0x4E,0x70,0xBC,0xDE,0x14,\r
+0x23,0xB7,0xE2,0x2E,0x88,0x40,0x44,0xBE,0x8F,0xF8,0x43,0x01,0x7B,0xB7,0x86,0x47,\r
+0xA9,0xAE,0x71,0xBD,0x4C,0xD8,0x80,0xE2,0x8C,0xAA,0x40,0x50,0x51,0x9D,0xDB,0x30,\r
+0x02,0x97,0xE3,0x2F,0xB2,0x77,0x7E,0xB3,0x22,0x6B,0xEE,0x3F,0x1B,0xD7,0x62,0xC3,\r
+0x21,0xA6,0xF1,0x3D,0x33,0x5F,0xFF,0x1A,0x41,0xDD,0x8D,0xEA,0xB9,0x75,0xBD,0xBE,\r
+0x6D,0xE5,0xFE,0x32,0xC0,0xC2,0x0C,0x74,0xE7,0x16,0x2B,0x87,0x6F,0xA3,0xC2,0x17,\r
+0x37,0xA7,0xE6,0x2A,0xB1,0x26,0x7D,0xE1,0xA9,0xBB,0x65,0x64,0xE1,0x2D,0x27,0x7C,\r
+0xB0,0x89,0x4F,0x83,0xF3,0xD7,0x3F,0x52,0x48,0xF6,0x84,0xC8,0x59,0x95,0xD1,0x32,\r
+0x0A,0x84,0xF8,0x34,0x17,0x4B,0xDB,0x2A,0x1F,0x20,0xD3,0x49,0x36,0xFA,0x79,0xF5,\r
+0xEE,0x00,0x98,0x54,0x58,0x88,0x94,0xA6,0x0B,0x64,0xC7,0x19,0x00,0xCC,0x6A,0xD0,\r
+0x4E,0xD4,0xEC,0x20,0x34,0x1E,0xF8,0x5C,0x87,0xF2,0x4B,0x03,0xBA,0x76,0xEF,0xEF,\r
+0x31,0x7D,0x3A,0xF6,0x29,0x6C,0xE5,0x33,0xDA,0x5D,0x16,0xF1,0x5F,0x93,0xB6,0x53,\r
+0xC1,0xE9,0x5E,0x92,0x2E,0x2D,0xE2,0x75,0x89,0x9F,0x45,0x60,0xA3,0x6F,0x94,0x8D,\r
+0x14,0x96,0xF4,0x38,0x04,0x5A,0xC8,0x28,0x4D,0xC3,0x81,0xF8,0xC4,0x08,0x36,0x48,\r
+0x65,0xF6,0xE5,0x29,0x90,0x02,0x5C,0xE4,0xD3,0x76,0x1F,0xD3,0x01,0xCD,0x4B,0xF0,\r
+0xF9,0xEE,0x61,0xAD,0x3B,0x5D,0xF7,0x10,0xBE,0xAD,0x72,0x65,0x42,0x8E,0xD9,0x21,\r
+0xE9,0x35,0xAA,0x66,0x24,0x5E,0xE8,0x0C,0x28,0x12,0xE4,0x4C,0x5B,0x97,0xA2,0x43,\r
+0x32,0x83,0xC7,0x0B,0x72,0xFF,0xBE,0xFB,0x6C,0xC6,0xA0,0xDC,0x8B,0x47,0xBA,0x8B,\r
+0xC4,0xCD,0x7F,0xB3,0x27,0x0F,0xEB,0x5E,0x38,0x42,0xF4,0x0C,0xC2,0x0E,0x51,0x29,\r
+0xE5,0xED,0x7E,0xB2,0xEB,0x95,0x27,0x08,0x21,0x39,0xED,0x6E,0x07,0xCB,0x2C,0x91,\r
+0xA8,0x41,0x9F,0x53,0xC6,0xA3,0x0A,0x13,0x0A,0x45,0xC6,0x39,0xF3,0x3F,0x04,0x4D,\r
+0xF7,0x27,0xA6,0x6A,0xD2,0xF3,0x1E,0x57,0x6A,0xA1,0xA6,0xBD,0x0E,0xC2,0x07,0xB3,\r
+0x49,0xE1,0xDE,0x12,0x78,0x8C,0xB4,0x82,0x8A,0xCD,0x46,0x31,0x69,0xA5,0xA5,0x76,\r
+0x3F,0xB4,0xFD,0x31,0x5D,0xB8,0x91,0x93,0x12,0x1F,0xDE,0x7B,0x25,0xE9,0x7B,0xE4,\r
+0xBC,0x51,0x9B,0x57,0x0C,0x58,0xC0,0x22,0x83,0xE6,0x4F,0x13,0xCE,0x02,0x4F,0x3B,\r
+0x8B,0x70,0x8D,0x41,0xF5,0xB6,0x39,0x35,0xC9,0x5F,0x05,0xE0,0x8F,0x43,0xAE,0x9B,\r
+0xB8,0x9A,0x54,0x98,0xFB,0xD5,0x37,0x58,0x6D,0xE7,0xA1,0xFC,0xD6,0x1A,0x15,0x79,\r
+0xD0,0xDD,0x7B,0xB7,0x7D,0xBC,0xB1,0xB7,0x60,0xD8,0xAC,0xCE,0x93,0x5F,0xE0,0xC9,\r
+0xFC,0xCA,0x40,0x8C,0xF0,0x86,0x3C,0x00,0xB8,0xCA,0x74,0x04,0x6B,0xA7,0xD6,0x07,\r
+0xBF,0xAF,0x66,0xAA,0xCF,0x81,0x03,0x38,0xA8,0x9A,0x64,0x44,0xA5,0x69,0xF3,0xEC,\r
+0x44,0xD6,0xE4,0x28,0x35,0x3E,0xF9,0x7D,0x96,0x83,0x5A,0x63,0xCB,0x07,0x7A,0x0B,\r
+0x73,0xF7,0xF2,0x3E,0x37,0x4F,0xFB,0x0E,0x00,0x3C,0xCC,0x4A,0x55,0x99,0xCF,0x20,\r
+0x8D,0xAA,0x51,0x9D,0xBF,0x45,0x73,0x8C,0xF9,0x2B,0x35,0xA4,0x0F,0xC3,0x26,0x93,\r
+0xCE,0xCF,0x77,0xBB,0x7C,0x9C,0xB0,0x96,0xC1,0x55,0x0D,0xE2,0x78,0xB4,0xD4,0x16,\r
+0x59,0x3A,0x15,0xD9,0x0F,0x09,0xC3,0x70,0x82,0xC7,0x4E,0x33,0x1D,0xD1,0x05,0xA2,\r
+0x9D,0x71,0x9A,0x56,0xB0,0x06,0x7C,0xC0,0x79,0xA3,0xB5,0xAC,0x87,0x4B,0xA4,0x99,\r
+0x56,0x1C,0x3C,0xF0,0xCE,0xA1,0x02,0x19,0x19,0x47,0xD5,0x28,0x18,0xD4,0x30,0x92,\r
+0xF0,0x12,0x94,0x58,0xBD,0x34,0x71,0xFF,0xC5,0x41,0x09,0xF2,0x15,0xD9,0x0F,0xA0,\r
+0x63,0x2C,0x39,0xF5,0x81,0x62,0x4D,0x95,0xDB,0x7C,0x17,0xD1,0x48,0x84,0xA0,0x52,\r
+0x84,0x56,0xA4,0x68,0x1D,0x38,0xD1,0x53,0x06,0x5B,0xCA,0x2B,0x47,0x8B,0xEC,0x11,\r
+0xF4,0xD9,0x5B,0x97,0x5A,0xF9,0x96,0xD5,0xDD,0x1B,0x11,0xB0,0xA2,0x6E,0xB5,0xAD,\r
+0x17,0x68,0x09,0xC5,0xF6,0xE7,0x3A,0x67,0x85,0x81,0x49,0x72,0x5D,0x91,0xC5,0x22,\r
+0xCC,0xDE,0x64,0xA8,0x0D,0x78,0xC1,0x03,0xD5,0x11,0x19,0xB2,0xAB,0x67,0x9E,0x8F,\r
+0x6F,0xF4,0xED,0x21,0xDC,0x90,0x10,0x3A,0xFC,0x1E,0x30,0x94,0xD4,0x18,0x66,0x08,\r
+0xFD,0x25,0xAE,0x62,0x46,0xAB,0x8A,0x9B,0x10,0x6C,0xDC,0x0A,0x26,0xEA,0x29,0xB5,\r
+0xE8,0xDA,0x44,0x88,0xD6,0xE3,0x1A,0x43,0xFF,0x4C,0x33,0xC5,0xEA,0x26,0x7F,0x2F,\r
+0x0B,0x6B,0x16,0xDA,0x14,0x1A,0xD8,0x78,0x3E,0x25,0xF2,0x6D,0x22,0xEE,0x3D,0xA5,\r
+0x71,0xE6,0xE1,0x2D,0xAD,0x74,0x61,0xAF,0xD0,0x24,0x1C,0x82,0x9F,0x53,0xFE,0xDB,\r
+0x91,0xA9,0x4E,0x82,0x63,0x9F,0xAF,0x8A,0x50,0xAC,0x9C,0x8A,0xB8,0x74,0x9C,0x9E,\r
+0x50,0xC6,0xE0,0x2C,0x6B,0x9D,0xA7,0x80,0x52,0xDF,0x9E,0xFB,0x86,0x4A,0x85,0xB9,\r
+0x7E,0xC0,0xC8,0x04,0xD8,0x80,0x14,0x2E,0x92,0x97,0x5E,0x73,0xFD,0x31,0x69,0x2E,\r
+0x90,0x46,0xA0,0x6C,0x9C,0x10,0x50,0xFA,0x01,0x1D,0xCD,0x6A,0xEF,0x23,0x4A,0x1F,\r
+0x88,0x8E,0x70,0xBC,0x49,0xE8,0x85,0xD7,0xE8,0x5A,0x24,0xC4,0x7A,0xB6,0xA7,0x67,\r
+0xB9,0x75,0xBA,0x76,0x2C,0x5C,0xE0,0x06,0xCA,0x0D,0x06,0xB1,0x13,0xDF,0x68,0xC1,\r
+0x87,0xA8,0x59,0x95,0x13,0x5B,0xDF,0x3E,0x80,0xB4,0x4C,0x42,0xAE,0x62,0xAB,0xBF,\r
+0x09,0x7A,0x05,0xC9,0xBB,0x55,0x77,0x98,0x9E,0x89,0x52,0x61,0x75,0xB9,0xEB,0x24,\r
+0x77,0x3C,0x3D,0xF1,0x1E,0x69,0xD2,0x01,0x30,0x48,0xFC,0x0E,0x9B,0x57,0xEA,0xCB,\r
+0x99,0xBA,0x55,0x99,0x36,0x6F,0xFA,0x2F,0x73,0xDA,0xBF,0xDF,0x79,0xB5,0xF5,0x36,\r
+0x61,0x3D,0x2A,0xE6,0x7A,0xFD,0xB6,0xF1,0x45,0xC9,0x89,0xFA,0x6E,0xA2,0xE3,0x37,\r
+0xDC,0x05,0xAF,0x63,0xC4,0xD2,0x08,0x60,0x68,0xD2,0xA4,0xCC,0x3B,0xF7,0x46,0xC7,\r
+0xD3,0x23,0x86,0x4A,0x5C,0x98,0x90,0xB2,0xAB,0xC8,0x67,0x15,0xDD,0x11,0x4D,0x2A,\r
+0x5E,0x00,0x63,0x4B,0xE9,0xF1,0x30,0xD4,0xD5,0xE8,0x66,0x9B,0xA0,0xAD,0x90,0x25,\r
+0x07,0xBB,0x3A,0xA9,0x4D,0x49,0x2C,0x70,0xDB,0xE6,0x05,0xF6,0x4A,0x74,0x49,0x16,\r
+0x42,0x4E,0x7F,0x19,0x40,0x76,0x1E,0x7D,0x5D,0x60,0x6C,0x19,0x0D,0x5B,0x66,0x7E,\r
+0xBA,0x78,0x87,0xD7,0x98,0x64,0xD4,0xA5,0xD0,0xED,0x56,0xAE,0x1A,0x60,0x5D,0x52,\r
+0xDF,0xA9,0xE2,0x63,0x4A,0x0F,0x6D,0x77,0xF2,0xCF,0x23,0xF9,0xF7,0x86,0xBB,0x59,\r
+0xB8,0x0B,0x85,0xA6,0xAA,0x63,0xE1,0x97,0x58,0x65,0x5C,0x2C,0x31,0xFE,0xC3,0xE7,\r
+0xF4,0xD5,0xC9,0x34,0x32,0xB1,0xAB,0x0F,0x7D,0x40,0x68,0x3D,0x64,0xDD,0xE0,0x91,\r
+0x1F,0xE1,0x22,0xEB,0xA3,0x48,0xC3,0x9E,0x2C,0x11,0x88,0x8C,0x81,0xBB,0x86,0x12,\r
+0x5A,0x14,0x67,0x5B,0x4C,0x68,0x0C,0x71,0x52,0x6F,0x2F,0x55,0x53,0xE7,0xDA,0x9C,\r
+0x13,0xFF,0x2E,0xF9,0x18,0xEC,0xDC,0x25,0x07,0x3A,0xDF,0xF0,0x1D,0x5F,0x62,0x6A,\r
+0xD6,0x82,0xEB,0x41,0x01,0x97,0xBE,0x3C,0xCB,0xF6,0x45,0xA6,0x3D,0x5E,0x63,0x4B,\r
+0x22,0xAA,0x1F,0x9D,0x2A,0xEB,0xE9,0x17,0xE6,0xDB,0x73,0xBD,0x91,0xBF,0x82,0x06,\r
+0x15,0x98,0x28,0x98,0x6D,0x6D,0x28,0x50,0x24,0x19,0x8A,0x86,0x46,0xD4,0xE9,0xBA,\r
+0xD0,0xE5,0xED,0x20,0xF3,0xD8,0x03,0xCE,0xB0,0x8D,0xD2,0x4A,0x26,0xC5,0xF8,0xCB,\r
+0x93,0x77,0xAE,0xF1,0x9E,0x03,0xB5,0xA3,0x1B,0x26,0x8D,0xBE,0x3E,0x41,0x7C,0x57,\r
+0x8A,0x0C,0xB7,0x93,0x08,0xBC,0x9C,0x35,0x04,0x39,0x8E,0xA2,0xE5,0x8A,0xB7,0x47,\r
+0xD1,0xC4,0xEC,0x00,0x2B,0xCA,0xC9,0x16,0x78,0x45,0x58,0x08,0xD0,0xB8,0x85,0x40,\r
+0x6B,0x41,0x56,0x3F,0xA7,0x5C,0xD3,0x9A,0x14,0x29,0xCE,0xF2,0x04,0xCC,0xF1,0xE0,\r
+0x8E,0x18,0xB3,0x83,0xFA,0xF3,0x21,0xC7,0x09,0x34,0xBC,0x9D,0xAD,0x1A,0x27,0x9F,\r
+0x72,0x3A,0x4F,0x5D,0xA9,0x31,0xB0,0x94,0x0E,0x33,0xFD,0xDB,0x39,0x7E,0x43,0x6F,\r
+0xBE,0x6C,0x83,0xC7,0xC7,0xB8,0x57,0xFA,0xE0,0xDD,0x12,0xDA,0x35,0xDE,0xE3,0xC3,\r
+0x30,0x89,0x0D,0xAC,0x89,0x15,0xB4,0xB4,0x91,0xAC,0xF6,0x4F,0x77,0xC6,0xFB,0x99,\r
+0x88,0x7F,0xB5,0xE2,0x68,0x58,0x18,0x55,0xD3,0xEE,0x07,0xFC,0x59,0x6F,0x52,0x1E,\r
+0xE7,0xD7,0xDA,0x25,0x3F,0x8E,0x99,0x02,0x37,0x0A,0x9B,0x84,0x54,0xD8,0xE5,0xA4,\r
+0xAA,0x28,0x97,0x97,0xAF,0x56,0xD1,0x92,0xA8,0x95,0x90,0x10,0x67,0xC2,0xFF,0x8D,\r
+0x80,0x75,0xBD,0xE0,0xAC,0x04,0x80,0x91,0x6C,0x51,0x08,0x4C,0x7E,0x51,0x6C,0x07,\r
+0xCA,0xCC,0xF7,0x13,0x02,0xC5,0xEF,0x3F,0x92,0xAF,0xA7,0x1D,0x47,0xC3,0xFE,0xAC,\r
+0x68,0x13,0x55,0x6E,0x61,0x73,0x3A,0x5C,0x13,0x2E,0x8F,0xB4,0x76,0xD1,0xEC,0x8F,\r
+0xF2,0xB2,0xCF,0x55,0x8C,0x20,0x84,0xB1,0x23,0x1E,0xCB,0xC0,0x6B,0x62,0x5F,0x21,\r
+0x2F,0x95,0x12,0xAF,0x81,0x1F,0xB6,0xBC,0x0F,0x32,0xDD,0xFA,0xCD,0x0B,0x36,0xEE,\r
+0xAE,0x3C,0x93,0x87,0x45,0x43,0x2E,0x78,0x3C,0x01,0xC8,0xDC,0x89,0x3B,0x06,0x9A,\r
+0xA1,0x70,0x9C,0xC4,0x00,0xB6,0x9E,0x3D,0x05,0x38,0xAE,0x83,0x3B,0x76,0x4B,0x65,\r
+0xA8,0x5B,0x95,0xE6,0x53,0x74,0x0F,0x6E,0x16,0x2B,0xBF,0x81,0x6A,0x75,0x48,0x37,\r
+0xBF,0x4D,0x82,0xE7,0x65,0x67,0x2A,0x58,0x5A,0x67,0x2D,0x5F,0xED,0x0A,0x37,0xCF,\r
+0xEA,0xE8,0xD7,0x17,0x48,0x7C,0x1C,0x75,0xE4,0xD9,0x02,0xCE,0xD5,0x8F,0xB2,0x72,\r
+0x0C,0xE3,0x31,0xFA,0x8B,0x66,0xC5,0xB6,0x7C,0x41,0x48,0x1C,0xF3,0xA6,0x9B,0x7D,\r
+0xC2,0xC6,0xFF,0x11,0xEA,0xA3,0x61,0xD7,0x0C,0x31,0x8C,0xA8,0xA5,0x9A,0xA7,0x17,\r
+0x7F,0x05,0x42,0x6F,0xA0,0x1A,0x92,0x9D,0x33,0x0E,0x8B,0x90,0x78,0x79,0x44,0x29,\r
+0xA4,0x45,0x99,0xF4,0xBE,0x27,0xB1,0x83,0x9B,0xA6,0x85,0x36,0xAA,0x25,0x18,0xA7,\r
+0x4A,0x44,0x77,0x1B,0x10,0xE6,0xDE,0x2D,0x3E,0x03,0xB9,0xAF,0xEC,0x1D,0x20,0xD9,\r
+0x57,0x2B,0x6A,0x69,0x72,0x71,0x2B,0x4F,0x4B,0x76,0x4D,0x2E,0x16,0xC0,0xFD,0xFE,\r
+0x2C,0xC7,0x11,0xFE,0xB2,0x39,0xA3,0x8F,0xF8,0xC5,0x50,0x80,0x10,0xE8,0xD5,0xD0,\r
+0x3E,0xE4,0x03,0xCF,0x21,0xB3,0xBA,0x1C,0xBC,0x81,0xC0,0x54,0x96,0x80,0xBD,0x3E,\r
+0xAB,0x09,0x96,0xB7,0xC8,0xF4,0x14,0xF5,0x69,0x54,0x38,0x79,0x5E,0x50,0x6D,0x26,\r
+0x3B,0xD1,0x06,0xFF,0xDF,0xE2,0x15,0xE2,0xF6,0xCB,0x33,0xED,0x0A,0x64,0x59,0x46,\r
+0xF3,0x93,0xCE,0x75,0x1E,0x8B,0xBD,0x23,0x34,0x09,0xCA,0xD6,0xBB,0x36,0x0B,0xA5,\r
+0x4E,0x50,0x73,0x0B,0xF0,0x8A,0x52,0xCD,0x8D,0xB0,0xA4,0x01,0x36,0xC1,0xFC,0xDF,\r
+0x69,0x32,0x54,0x4E,0x70,0x02,0x5A,0x4D,0x43,0x7E,0x4F,0x24,0x79,0x6E,0x53,0x3F,\r
+0x8C,0x6B,0xB1,0xF2,0xA5,0x2F,0xA2,0x98,0xD6,0xEB,0x37,0xC9,0xB8,0x29,0x14,0xB9,\r
+0x7A,0x30,0x47,0x5F,0xF5,0xBF,0x62,0xC8,0x2D,0x10,0xA8,0xAD,0x0E,0x44,0x79,0x62,\r
+0x05,0xC8,0x38,0xD8,0xDC,0xB0,0x44,0xE1,0xFC,0xC1,0x40,0x94,0x24,0xCD,0xF0,0xC1,\r
+0xF7,0x87,0xCA,0x65,0x30,0xC2,0xDA,0x0D,0x66,0x5B,0x7B,0x35,0xF5,0x8E,0xB3,0x53,\r
+0xC4,0xA1,0xF9,0x70,0xE5,0xEF,0x22,0xD8,0x9D,0xA0,0xE4,0x51,0xC2,0xB4,0x89,0x5E,\r
+0x99,0x0E,0xA4,0x82,0xFB,0xD2,0x01,0xC6,0xA1,0x9C,0xB2,0x3B,0xFC,0x19,0x24,0xCD,\r
+0x96,0x42,0xAB,0xC1,0x26,0xF5,0xFB,0x1B,0x3D,0x00,0xE8,0xFD,0x86,0x84,0xB9,0x2A,\r
+0x73,0x1B,0x4E,0x7D,0xFD,0xB5,0x60,0xC0,0x7A,0x47,0x29,0x7B,0x09,0x7B,0x46,0x5A,\r
+0xA9,0x7A,0x94,0xC6,0xE1,0xFB,0x32,0xDC,0x5C,0x61,0x4C,0x38,0x1F,0x57,0x6A,0x60,\r
+0xCC,0xAB,0xF1,0x72,0xA2,0x69,0xE3,0x9F,0x2F,0x12,0xD9,0xDE,0xEA,0x35,0x08,0xF7,\r
+0x56,0x0A,0x6B,0x49,0x59,0x0D,0x7C,0x64,0x90,0xAD,0xD6,0x6E,0xA1,0xBA,0x87,0x33,\r
+0xC9,0x9E,0xF4,0x42,0x39,0xE9,0xF8,0x04,0xEE,0xD3,0x71,0xB7,0xCC,0x1C,0x21,0xF8,\r
+0x74,0x5D,0x49,0x3C,0x88,0x34,0x94,0xB5,0xEF,0xD2,0x51,0x96,0x7F,0x46,0x7B,0x11,\r
+0x1A,0xD4,0x27,0xDB,0xB6,0x2D,0xB3,0x8B,0x15,0x28,0xEE,0xD3,0x06,0xC4,0xF9,0xEA,\r
+0x84,0x61,0xB9,0xF0,0x20,0x92,0x9A,0x1D,0x17,0x2A,0x9F,0xA0,0x27,0xD2,0xEF,0xDD,\r
+0xDE,0x88,0xE3,0x43,0xD9,0x85,0x74,0xE4,0x9F,0xA2,0x95,0x22,0x7A,0x71,0x4C,0x23,\r
+0xDD,0x75,0xF9,0xEF,0xA0,0xF6,0x35,0x5E,0x9D,0xEC,0xBA,0x44,0x64,0x0F,0xA0,0x08,\r
+0x5D,0xF5,0xF1,0x67,0xE5,0xD1,0x57,0x79,0xD2,0x43,0x5A,0xEB,0x41,0xE4,0x6E,0xC6,\r
+0xF2,0x5A,0xBE,0x87,0x54,0x83,0xB4,0x2B,0xA1,0x49,0x23,0xE1,0x88,0x98,0xDB,0x73,\r
+0x33,0x9B,0x16,0xEE,0xDE,0x4B,0xF6,0xE3,0x10,0x1B,0xC0,0xB3,0xB3,0x61,0x19,0xB1,\r
+0x0C,0xA4,0x11,0xD6,0x64,0x86,0x81,0x2E,0x3D,0xAD,0x5B,0x05,0x31,0x6B,0x91,0x39,\r
+0xE5,0x4D,0xBF,0x91,0x1C,0x13,0x6C,0xBB,0xF5,0x7D,0x43,0xD5,0x1C,0x93,0x44,0xEC,\r
+0x5F,0xF7,0x80,0x14,0xC2,0xEF,0x4E,0x47,0xBD,0xED,0x9B,0x45,0x4B,0xE6,0x66,0xCE,\r
+0x9F,0x37,0x08,0x5C,0x55,0x94,0xA2,0x3C,0xBB,0xC5,0xB5,0x6D,0xE5,0xFB,0xD5,0x7D,\r
+0x93,0x3B,0x1A,0x42,0x5F,0x1C,0x20,0xB4,0x01,0x08,0xC2,0xA0,0x53,0x2E,0xB6,0x1E,\r
+0x3D,0x95,0x75,0x83,0xB0,0xF2,0x21,0x5A,0x47,0x30,0xBC,0x98,0xCA,0x12,0x13,0xBB,\r
+0xC7,0x6F,0xCA,0xC6,0xBA,0x7A,0xA3,0xD2,0x0E,0xB7,0x72,0x1F,0xCD,0x27,0x21,0x89,\r
+0x8D,0x25,0x39,0x7F,0xC4,0xC7,0x60,0x6F,0xD3,0x54,0x4C,0xFC,0xF5,0x20,0x1E,0xB6,\r
+0x65,0xCD,0xB7,0x19,0xBC,0x52,0x8D,0xFA,0x7E,0xA2,0x17,0x0A,0xAB,0xA9,0xC9,0x61,\r
+0xA6,0x0E,0x6E,0x03,0x51,0xB4,0x86,0x1C,0x58,0x8B,0x18,0x23,0x79,0xE3,0x51,0xF9,\r
+0x7E,0xD6,0xA4,0x11,0x4D,0x10,0x3E,0xB8,0xC1,0x58,0x52,0xF0,0xE4,0x14,0x3B,0x93,\r
+0x48,0xE0,0x81,0x02,0x4C,0x07,0x28,0xAF,0x46,0x27,0xAA,0x8F,0x3A,0x86,0x77,0xDF,\r
+0x0D,0xA5,0x31,0xF7,0x5B,0x3C,0x04,0x94,0x8C,0xFF,0xB8,0x57,0xC5,0x34,0x3A,0x92,\r
+0xF4,0x5C,0xDF,0xE0,0xE8,0x66,0xED,0xCE,0xD1,0x5C,0x46,0xF4,0x47,0x3E,0xB2,0x1A,\r
+0xA5,0x0D,0x3F,0x51,0x97,0xCC,0x38,0x64,0xD4,0x6B,0x74,0xC3,0xF3,0xFA,0xC2,0x6A,\r
+0x9B,0x33,0x18,0x48,0x70,0xA2,0xB1,0x0A,0xAD,0xE9,0x8F,0x41,0xB6,0x45,0x38,0x90,\r
+0x74,0xDC,0xD7,0x68,0xE2,0xEE,0x6F,0x46,0x0A,0x97,0x56,0x3F,0x0B,0x7D,0xBD,0x15,\r
+0x14,0xBC,0x53,0x8C,0xE9,0x71,0xFB,0xD9,0x67,0x31,0x9D,0x99,0xD2,0xDA,0xC3,0x6B,\r
+0xCC,0x64,0x99,0x9E,0x6D,0x11,0x1F,0xB9,0xB4,0x7A,0x05,0xD2,0x5D,0xE7,0x71,0xD9,\r
+0x8F,0x27,0x48,0x0C,0xD9,0x74,0xCE,0xDC,0x41,0x18,0x92,0xB0,0xBB,0x72,0x02,0xAA,\r
+0x0B,0xA3,0x50,0x90,0x6A,0x2E,0x27,0x86,0x2D,0xA9,0x4F,0x01,0x98,0x43,0x10,0xB8,\r
+0xD0,0x78,0xCB,0xD0,0xD6,0xCB,0x7E,0x63,0xA2,0x56,0x3F,0xFE,0x1E,0x82,0x57,0xFF,\r
+0xC8,0x60,0x89,0x8A,0xDB,0x7C,0xC4,0xD4,0x69,0x99,0x3B,0x31,0x34,0x4F,0xB0,0x18,\r
+0xD6,0x7E,0xAA,0xB7,0x29,0x21,0x6B,0x89,0x57,0x34,0xA8,0x9C,0x5E,0x19,0x8C,0x24,\r
+0xF1,0x59,0xEF,0xD5,0x73,0xBD,0xAD,0x15,0x8F,0xE0,0xA4,0x48,0xF1,0xEB,0xD1,0x79,\r
+0x1D,0xB5,0x71,0xA7,0xCE,0x4F,0xE2,0xE7,0x5E,0xA3,0x36,0x0B,0x50,0xD0,0x4B,0xE3,\r
+0x88,0x20,0x09,0x4A,0x59,0x34,0x0E,0x9C,0x13,0x04,0xDC,0xAC,0xAC,0x9C,0xFB,0x53,\r
+0xD8,0x70,0xC9,0xDA,0xF4,0xC2,0x55,0x6A,0xA5,0x69,0x07,0xC1,0xC8,0x03,0x00,0xA8,\r
+0xB3,0x1B,0x1E,0x66,0x5A,0x2B,0x12,0x83,0x95,0x6C,0x32,0xC4,0xDB,0x26,0x36,0x9E,\r
+0x25,0x8D,0x37,0xD9,0x38,0x32,0x69,0x9A,0x4E,0xA7,0x22,0x0F,0xC7,0x25,0x29,0x81,\r
+0x40,0xE8,0x83,0x08,0x33,0xAD,0xFD,0x05,0xED,0xF9,0xDF,0x51,0xE3,0x21,0x09,0xA1,\r
+0xDE,0x76,0xA8,0xBD,0x8B,0x68,0x80,0xC0,0x8D,0xE8,0xAE,0x40,0x2F,0x79,0x9D,0x35,\r
+0x2C,0x84,0x15,0xF2,0xEA,0x6E,0xE7,0xC6,0x96,0x73,0x2E,0xDB,0xC3,0xEE,0xE6,0x4E,\r
+0x07,0xAF,0x42,0x8E,0x36,0x9A,0xCF,0x32,0x3A,0x92,0x63,0x3A,0xD8,0xD8,0xCB,0x63,\r
+0x61,0xC9,0xA7,0x0D,0xF0,0xE2,0x71,0x4A,0xF8,0xCA,0xF9,0x62,0x30,0x84,0x7F,0xD7,\r
+0x35,0x9D,0x77,0x89,0x52,0xAB,0x9A,0x03,0xB6,0x72,0x0F,0xDA,0x95,0x74,0x2A,0x82,\r
+0x1F,0xB7,0x00,0xD4,0x9F,0x4C,0xB0,0xE4,0xCF,0xF0,0xF4,0x58,0x58,0xC3,0x50,0xF8,\r
+0x8E,0x26,0x68,0x2D,0x40,0xA7,0x84,0x0F,0x2A,0x96,0x77,0x3E,0xE9,0x23,0x01,0xA9,\r
+0x67,0xCF,0xC6,0x6A,0xC8,0x67,0xCC,0xCF,0x5C,0xAB,0x3C,0x03,0x9C,0x88,0xDF,0x77,\r
+0x87,0x2F,0x4A,0x06,0x0D,0x00,0x6E,0xA8,0x9A,0xD3,0x82,0x7B,0x49,0xF7,0x75,0xDD,\r
+0x6D,0xC5,0xB5,0x13,0xB2,0xFA,0x2B,0x52,0xA6,0x76,0x1B,0xDE,0x7C,0xC7,0x70,0xD8,\r
+0xB5,0x1D,0x7F,0x01,0x7C,0x02,0x1D,0xAA,0xB1,0x4D,0x37,0xE5,0xCB,0xFD,0xFD,0x55,\r
+0xC4,0x6C,0x9B,0x94,0xE0,0xE6,0x65,0x4E,0x0B,0x80,0x40,0x28,0xFE,0xCD,0xF8,0x50,\r
+0x60,0xC8,0x87,0x2C,0x02,0xBF,0xDE,0x17,0xE1,0x59,0x73,0xF1,0x93,0xAE,0xF6,0x5E,\r
+0x68,0xC0,0x85,0x26,0x2C,0x16,0x59,0xBE,0x22,0x16,0xFF,0xBE,0xB9,0x63,0x11,0xB9,\r
+0x2D,0x85,0x35,0xD3,0x6F,0x19,0x15,0xB1,0x90,0x5B,0x00,0xF3,0xE6,0x05,0x28,0x80,\r
+0xA1,0x09,0x2F,0x45,0xFE,0x4A,0xD7,0xE2,0xC0,0x4F,0x44,0xE7,0xA5,0x60,0x0E,0xA6,\r
+0xAC,0x04,0x1D,0x7A,0x04,0x97,0xF0,0x3F,0x66,0x26,0x8B,0x8E,0x9F,0x76,0x22,0x8A,\r
+0x2F,0x87,0x44,0xA0,0xB8,0x72,0xA9,0xDA,0xEC,0xEE,0xC9,0x46,0x78,0x0C,0xBF,0x17,\r
+0x4C,0xE4,0x91,0x16,0xC5,0xD0,0x76,0x78,0xDD,0xFC,0xEA,0x54,0xD1,0x24,0x3E,0x96,\r
+0x82,0x2A,0x7A,0x33,0x3C,0x12,0x4D,0xBA,0xCC,0xEF,0xE8,0x47,0x75,0x3B,0x85,0x2D,\r
+0x81,0x29,0x2B,0x61,0x4B,0x38,0x10,0x90,0xD5,0x7C,0x62,0xD4,0x29,0xA3,0x41,0xE9,\r
+0x45,0xED,0xB3,0x3D,0x49,0x30,0x1A,0x98,0xF2,0x42,0x7B,0xEA,0x99,0xAC,0xFE,0x56,\r
+0x12,0xBA,0x32,0xEB,0x8E,0x5F,0xB2,0xF7,0xFF,0xF5,0xC1,0x5D,0xE1,0x30,0x1A,0xB2,\r
+0xEA,0x42,0xFC,0xDD,0x6C,0x06,0x09,0xAE,0x9E,0xF3,0xA6,0x5B,0xBF,0xB9,0xCD,0x65,\r
+0xA4,0x0C,0x1F,0x70,0x07,0x88,0xEC,0x20,0xDC,0xEB,0xFC,0x43,0x2A,0x5D,0xBC,0x14,\r
+0xD7,0x7F,0x8A,0x96,0x28,0x36,0x7D,0x9E,0x06,0x37,0xFA,0x9F,0xF8,0x17,0x24,0x8C,\r
+0x84,0x2C,0x1B,0x54,0xF6,0xCA,0x5F,0x62,0x92,0x53,0x0A,0xFB,0xBE,0x56,0x23,0x8B,\r
+0x06,0xAE,0x62,0xAF,0xAB,0x69,0xA1,0xC1,0x7B,0x95,0x25,0x3D,0x6D,0xF3,0x55,0xFD,\r
+0x8A,0x22,0x78,0x39,0x94,0xD3,0x24,0x7B,0xAF,0xE1,0x85,0x49,0x97,0x65,0x39,0x91,\r
+0x77,0xC3,0xF0,0x66,0xF1,0xE2,0x46,0x76,0x76,0xF1,0x0F,0x2C,0x12,0xC5,0x42,0x82,\r
+0x88,0xB3,0x0F,0xE9,0xB6,0x64,0x87,0x31,0xAD,0x2A,0x94,0x6C,0xAE,0x20,0xA7,0xDB,\r
+0x15,0x54,0x92,0x93,0x2A,0xA2,0xDD,0xAD,0x70,0xF7,0x6E,0x4B,0xED,0x2F,0xA8,0x97,\r
+0xB8,0xC7,0x3F,0xAD,0x16,0xC8,0x8B,0x91,0x6E,0xE9,0x4D,0x76,0x1F,0x72,0xF5,0x38,\r
+0x82,0xCA,0x05,0x9A,0xED,0xAC,0x14,0x6A,0xBB,0x3C,0xB5,0x5B,0x0A,0x41,0xC6,0x1E,\r
+0xC1,0x58,0x46,0x4B,0x77,0x0D,0x2F,0xF0,0x57,0xD0,0x2B,0x29,0xB7,0xB3,0x34,0x51,\r
+0x48,0xFB,0xCF,0x61,0xA6,0x34,0xC7,0x21,0x7E,0xF9,0x0D,0x26,0x30,0xCC,0x4B,0xA9,\r
+0x25,0x20,0xA2,0xD7,0x5D,0x50,0x58,0xDA,0x2E,0xA9,0xCD,0xB6,0x9D,0x3A,0xBD,0xF2,\r
+0x7D,0xBA,0xFA,0x15,0x14,0xBB,0xFA,0x93,0x52,0xD5,0x1B,0x1C,0x2C,0x68,0xEF,0x11,\r
+0xDE,0x44,0x59,0x48,0x9C,0x39,0xF0,0x1B,0xAB,0x2C,0xF5,0x0B,0x9F,0x32,0xB5,0xF8,\r
+0xC8,0x73,0x4F,0x69,0x9E,0x4A,0x81,0x19,0x3D,0xBA,0xDC,0xB4,0xB4,0xAC,0x2B,0x4D,\r
+0x4A,0x88,0xCD,0x10,0x64,0x0F,0x3E,0xE3,0x03,0x84,0xFB,0xAD,0x53,0xC2,0x45,0xC4,\r
+0x10,0x61,0x97,0xA3,0x65,0x2E,0x1E,0xE2,0xB2,0x35,0x97,0x70,0x2D,0x7F,0xF8,0x07,\r
+0xB6,0xAA,0x31,0xCE,0x1B,0xF7,0xB9,0x9C,0xD2,0x55,0x13,0x94,0x26,0xE0,0x67,0x93,\r
+0x39,0x6E,0xBE,0x85,0xA4,0x47,0xB6,0x23,0x29,0xAE,0x8C,0xF0,0x1D,0x7A,0xFD,0x32,\r
+0x5B,0xF9,0xDC,0x70,0xD7,0xA1,0x23,0x50,0x6A,0xED,0x5D,0x62,0xA9,0x1F,0x98,0xE3,\r
+0x11,0x40,0x96,0x83,0xB5,0x36,0xD6,0x32,0x9B,0x1C,0xB1,0x7F,0x74,0xFC,0x7B,0xDD,\r
+0x29,0x3E,0xAE,0xC5,0x10,0xAF,0xEA,0x97,0x35,0xB2,0xDE,0xBE,0x9B,0x12,0x95,0xDC,\r
+0x75,0xB0,0xF2,0x17,0xB8,0x09,0xE4,0x3F,0x2B,0xAC,0xFD,0x83,0x00,0xC9,0x4E,0x9C,\r
+0x96,0x8E,0x11,0xCA,0x87,0x31,0xE3,0x00,0x61,0xE6,0x0E,0x3A,0x7E,0x74,0xF3,0x5F,\r
+0xAA,0xE4,0x2D,0x9C,0xF7,0x85,0x27,0x70,0x00,0x87,0xAA,0xFF,0x95,0xBA,0x3D,0x7A,\r
+0x83,0xEB,0x04,0xBA,0x6F,0x57,0x6D,0xE8,0xC3,0x44,0x73,0xE5,0x78,0x5C,0xDB,0x71,\r
+0x06,0x56,0x81,0x82,0xD1,0xC6,0x42,0x56,0xEE,0x69,0x45,0xFE,0x88,0x09,0x8E,0xD4,\r
+0x79,0xAE,0xFE,0x05,0x9D,0x18,0xD0,0x1A,0xD8,0x5F,0x60,0xED,0x89,0x1E,0x99,0xC2,\r
+0x62,0xA6,0xE5,0x16,0xC8,0xBD,0x20,0x4F,0xFB,0x7C,0x35,0x9B,0x21,0xDF,0x58,0xAB,\r
+0xCD,0x46,0x4A,0x59,0x06,0x98,0xCB,0x81,0x7B,0xFC,0x3D,0x13,0x64,0xF8,0x7F,0xC9,\r
+0x3A,0x3C,0xBD,0xD4,0xBF,0x4F,0xA5,0x38,0x95,0x12,0xD2,0x12,0x1A,0x45,0xC2,0x0A,\r
+0x68,0xDF,0xEF,0x65,0x7D,0x74,0x5C,0xFA,0x54,0xD3,0x7A,0x7B,0x90,0x8D,0x0A,0x48,\r
+0x5C,0xBF,0xDB,0x31,0xE2,0xE0,0x57,0x65,0x43,0xC4,0x7B,0x6D,0xD8,0x1D,0x9A,0x90,\r
+0x8C,0xA7,0x0B,0xF9,0x37,0xCD,0xAF,0xB0,0xAA,0x2D,0xD5,0x2A,0xA0,0x88,0x0F,0x7D,\r
+0xE4,0x49,0x63,0x7F,0x73,0x19,0x3F,0xF4,0x39,0xBE,0xCC,0xA0,0x91,0x9A,0x1D,0x5E,\r
+0xCC,0x67,0x4B,0x79,0xC0,0xB7,0x22,0x47,0xF9,0x7E,0x44,0xE8,0x06,0xE1,0x66,0xB2,\r
+0xD4,0x3D,0x53,0x3B,0xBC,0x1D,0xF4,0x3B,0xB4,0x33,0xF6,0x17,0x4A,0x51,0xD6,0x4E,\r
+0x63,0x87,0xE4,0x36,0x58,0x65,0x68,0xDF,0xE3,0x64,0x77,0xC1,0x8D,0x3E,0xB9,0xE6,\r
+0xCA,0x00,0x4D,0x18,0x1A,0xD6,0x99,0x9D,0x02,0x85,0xDB,0x8C,0xC3,0x86,0x01,0x10,\r
+0xD2,0x5A,0x55,0x5A,0x6B,0x43,0x7D,0xEC,0x4C,0xCB,0x38,0x21,0xA8,0x08,0x8F,0xF5,\r
+0x72,0xF6,0xF5,0x56,0x85,0x42,0x92,0x02,0x22,0xA5,0xDF,0xA8,0x32,0xC4,0x43,0xA3,\r
+0x16,0x06,0x91,0xC2,0x82,0x04,0xD3,0x05,0x71,0xF6,0x4E,0x6A,0xEC,0x38,0xBF,0x81,\r
+0xC0,0x79,0x47,0x6B,0x9F,0x6B,0xA1,0x18,0x2C,0xAB,0xBC,0xC5,0x50,0xDD,0x5A,0xD8,\r
+0xB4,0xD9,0x33,0xBF,0xF3,0x91,0x37,0x74,0xA0,0x27,0xA6,0x53,0x6F,0x67,0xE0,0x5D,\r
+0x7A,0xFC,0xFD,0x54,0x8E,0x1A,0xC1,0x09,0x8B,0x0C,0xF1,0x2F,0xAB,0x17,0x90,0xE9,\r
+0x37,0x03,0xB0,0xE6,0xB7,0x45,0xA7,0x30,0xCE,0x49,0x41,0xDA,0xE8,0x18,0x9F,0xA5,\r
+0x07,0x77,0x80,0xA2,0x84,0x63,0xB2,0x03,0x0A,0x8D,0xD9,0x86,0xC0,0x99,0x1E,0x0C,\r
+0x6E,0xB8,0xE9,0x04,0xA8,0x59,0xA4,0x2F,0x07,0x80,0xEB,0xB9,0x3A,0x44,0xC3,0x2B,\r
+0xDD,0x16,0x5A,0x19,0x98,0x2D,0xE0,0x1F,0xEA,0x6D,0x55,0xEA,0x01,0xDE,0x59,0x8A,\r
+0xCF,0x35,0x48,0x28,0x19,0x84,0xC8,0x9E,0x89,0x0E,0x80,0x5C,0x7C,0x7C,0xFB,0x55,\r
+0x5D,0x9E,0xDA,0x11,0xE7,0xD5,0x67,0x60,0x27,0xA0,0xEF,0x9D,0x8F,0x36,0xB1,0xEC,\r
+0xCE,0x14,0x49,0x08,0x23,0x89,0xFF,0xA4,0x24,0xA3,0xBE,0xCF,0xF8,0x1C,0x9B,0xB1,\r
+0xB7,0x8B,0x30,0xEE,0xA7,0x15,0xE7,0x20,0x28,0xAF,0xAC,0xD1,0x84,0xA9,0x2E,0x78,\r
+0xD1,0x08,0x56,0x0B,0xF6,0xA4,0x07,0x71,0xB9,0x3E,0xC4,0x28,0x5B,0x42,0xC5,0x4C,\r
+0xF2,0x7E,0x75,0x5E,0xD3,0xB5,0x33,0x54,0x21,0xA6,0x8E,0xFA,0xC9,0x0E,0x89,0x92,\r
+0x8A,0xC0,0x0D,0x98,0x79,0x60,0x4C,0xFE,0xC1,0x46,0x02,0x96,0x0C,0x69,0xEE,0x30,\r
+0x6C,0xCB,0xEB,0x75,0x5B,0x37,0x39,0xDC,0x13,0x94,0xBB,0xFD,0xB8,0x0C,0x8B,0xE1,\r
+0x57,0xE7,0xD0,0x62,0xD6,0x80,0x03,0x51,0xCB,0x4C,0x71,0xEF,0x76,0xF4,0x73,0xD7,\r
+0x78,0x8F,0xFF,0x25,0x50,0x6F,0x6A,0xD7,0xC6,0x41,0x43,0xD0,0xC6,0xB1,0x36,0x22,\r
+0xA1,0xBC,0x26,0xCF,0x5E,0x02,0x09,0xD9,0x62,0xE5,0x5F,0x68,0x24,0xE8,0x6F,0x99,\r
+0x86,0xDE,0x01,0x8A,0x8F,0x3B,0xE1,0x08,0x83,0x04,0xF3,0x25,0xFC,0x3C,0xBB,0x95,\r
+0x4D,0xCE,0xCA,0x51,0x90,0x27,0xE2,0x17,0x15,0x92,0xDA,0x9A,0x9E,0x25,0xA2,0xEE,\r
+0xC9,0x52,0x4E,0x49,0x3B,0xD3,0xBD,0xBC,0x78,0xFF,0x6C,0x41,0x4F,0x66,0xE1,0x7C,\r
+0xD8,0x23,0x5F,0x29,0xAF,0x1F,0xE5,0x28,0xE6,0x61,0x47,0xF4,0xF7,0xA3,0x24,0x01,\r
+0xB3,0x9F,0x34,0xFE,0x6D,0x24,0x1C,0xEA,0xA1,0x26,0x86,0x72,0xF2,0x94,0x13,0x33,\r
+0x52,0xD2,0xD5,0x52,0x40,0x3F,0x2A,0xC7,0x8A,0x0D,0xD1,0x0E,0x2E,0x60,0xE7,0x1B,\r
+0x53,0xF3,0xD4,0x72,0x8C,0x69,0xB0,0x0B,0x93,0x14,0xB3,0x75,0x96,0xA5,0x22,0x66,\r
+0xEB,0x05,0x6C,0x3C,0xD9,0xCC,0x40,0x5E,0xC7,0x40,0x63,0xF1,0x34,0xEC,0x6B,0x8D,\r
+0x67,0x9D,0x1F,0xE6,0x83,0x19,0x62,0x7F,0xD9,0x3D,0x7A,0x01,0x2D,0x0F,0xBC,0x56,\r
+0x0C,0x13,0xFA,0x68,0x2E,0x57,0x2C,0x9C,0x4C,0xD9,0x0B,0x70,0x35,0x55,0xFE,0x4E,\r
+0xEE,0x4A,0x41,0x31,0x18,0xAF,0xD4,0x52,0x12,0x50,0xDC,0xA7,0x33,0x32,0x9F,0x48,\r
+0x29,0x25,0xE9,0x5E,0xCE,0xF8,0x83,0xD3,0x6A,0xCC,0x38,0x43,0x84,0x88,0x92,0xFF,\r
+0xF4,0xC6,0xD7,0xBD,0xCA,0x37,0x4C,0x18,0x64,0x05,0xFF,0x84,0x27,0x76,0xCF,0x5C,\r
+0xCB,0x7C,0x52,0x07,0x5C,0xBB,0xC0,0x02,0x9E,0x93,0x93,0xE8,0x53,0xD6,0x1B,0x28,\r
+0x96,0xDF,0xAC,0xA4,0xA7,0x39,0x42,0x7B,0x4D,0x36,0xE5,0x9E,0x95,0xF9,0xF2,0xEE,\r
+0x48,0x23,0x8E,0x58,0x65,0x6A,0x11,0xEA,0x0B,0x77,0xE2,0x99,0xF1,0x09,0x66,0x8A,\r
+0x64,0x82,0x03,0xF9,0x89,0x11,0x6A,0x7D,0x6C,0x16,0xE4,0x9F,0xE0,0x78,0x06,0x9B,\r
+0x9E,0x5F,0x24,0x24,0xB6,0x1C,0x67,0x4F,0x56,0x00,0xC8,0xB3,0x89,0xB7,0xA0,0xF2,\r
+0x0F,0x0C,0xE6,0x77,0x20,0x90,0xEB,0x55,0x15,0x65,0xEE,0x95,0x9D,0xF3,0xF0,0xE6,\r
+0x4C,0x03,0xAA,0x78,0xD5,0xD5,0xAE,0xE5,0x4A,0x03,0xD7,0xAC,0xD0,0x0C,0x42,0xAB,\r
+0x2B,0x2D,0xE3,0x56,0x92,0x3C,0x47,0x4B,0xDA,0xC3,0x87,0xFC,0xBA,0x91,0xB5,0xC1,\r
+0x5C,0x07,0xBE,0x7C,0xC0,0x3F,0x44,0x1A,0x86,0x5B,0x43,0x38,0x29,0x1B,0xAC,0x52,\r
+0xA5,0xC5,0x85,0xBE,0xE5,0xF1,0x8A,0xF1,0x22,0x44,0xF8,0x83,0x3A,0x19,0xBD,0x41,\r
+0xD8,0x67,0x5A,0x1C,0x53,0x92,0xE9,0x24,0x8B,0x6C,0x79,0x02,0x28,0x3A,0x8C,0x53,\r
+0x6D,0x15,0x9D,0x6E,0xF5,0x3A,0x41,0x2A,0xBA,0x97,0xB3,0xC8,0x15,0x71,0xFA,0x6E,\r
+0xA8,0x72,0x3F,0x09,0x99,0xDA,0xA1,0xA6,0x6F,0xE8,0x19,0x62,0x6D,0xCF,0x3C,0x16,\r
+0x20,0xB2,0x77,0xC9,0xDE,0x33,0x48,0x08,0x1A,0x43,0xC7,0xBC,0x50,0x84,0x4A,0x2B,\r
+0xFF,0x59,0x43,0x22,0x27,0xA2,0xD9,0x60,0xAB,0xA3,0x96,0xED,0x36,0x07,0xAF,0x4D,\r
+0x62,0xAA,0x2D,0xD1,0xDF,0xDD,0xA6,0xE7,0x60,0xCE,0x30,0x4B,0x9F,0x80,0x81,0xE4,\r
+0x80,0xF3,0x96,0x88,0x67,0x79,0x02,0xFB,0x0D,0xAD,0x3E,0x45,0x46,0xB3,0x6B,0x3D,\r
+0x1C,0x17,0xEE,0x6C,0xF2,0x08,0x73,0x1F,0x38,0x9D,0x3B,0x40,0x8B,0xC4,0xD1,0xF0,\r
+0xD2,0xEF,0xD8,0x94,0xE0,0xD0,0xAB,0xD5,0x8F,0xA7,0xB6,0xCD,0xB0,0xE8,0xC6,0xCB,\r
+0xEB,0x7D,0x73,0x06,0x4E,0x63,0x18,0xC8,0xDC,0x19,0x5B,0x20,0x2E,0x5D,0xED,0x55,\r
+0x53,0xB8,0x0E,0xC3,0xFB,0xFD,0x86,0xE3,0x10,0x41,0xCF,0xB4,0x3F,0x2C,0x8D,0x44,\r
+0x58,0x27,0x9A,0x5C,0x2A,0x98,0xE3,0x57,0x34,0x45,0xEF,0x94,0x61,0xD1,0x2E,0x1A,\r
+0x3A,0x3E,0xE1,0x45,0x95,0x0E,0x75,0x7E,0x28,0x46,0xF0,0x8B,0xAA,0xC1,0xF5,0xD1,\r
+0x32,0xBE,0x69,0xC5,0x7A,0x88,0xF3,0x17,0x66,0x14,0xEC,0x97,0xB4,0xFC,0xD6,0xCF,\r
+0x90,0xF7,0x82,0x8C,0xFE,0xDC,0xA7,0xC7,0xC3,0xE4,0xB9,0xC2,0x0C,0x0A,0x98,0x77,\r
+0x56,0x8F,0x3C,0xF4,0x7D,0xBA,0xC1,0x22,0x2B,0xB8,0x0D,0x76,0x54,0x90,0x5A,0x2F,\r
+0x8A,0x7B,0x14,0x00,0x01,0x91,0xEA,0x75,0x30,0x8E,0x20,0x5B,0xB5,0xDD,0xF6,0xCE,\r
+0x49,0x34,0x98,0x4F,0x44,0x6B,0x10,0xCA,0xAD,0x79,0x4A,0x31,0xF2,0x5B,0x37,0x89,\r
+0xBB,0x69,0x37,0x12,0x79,0x75,0x0E,0xE9,0xC7,0x2F,0x76,0x0D,0x5F,0xC8,0x09,0x24,\r
+0xB6,0xDE,0x8D,0xA5,0x23,0x6D,0x16,0xAB,0xED,0xE2,0x91,0xEA,0x90,0xCC,0xC2,0xEB,\r
+0x0A,0x3B,0xD4,0x40,0x63,0xB6,0xCD,0x30,0x6B,0x23,0xD6,0xAD,0x6F,0xBC,0x4D,0x14,\r
+0x94,0xD7,0xA6,0xAC,0x29,0x65,0x1E,0xA9,0x3B,0x63,0xC6,0xBD,0xAF,0xF4,0xC5,0xD4,\r
+0x39,0x21,0xFD,0x5A,0xB9,0x35,0x4E,0x69,0x5F,0xFC,0x3D,0x46,0xC2,0x2F,0x73,0xB9,\r
+0xAE,0x5A,0x11,0x21,0x54,0xA0,0xDB,0x11,0xA3,0xB0,0x8D,0xF6,0x65,0xC5,0x3E,0x1E,\r
+0x13,0xA8,0x5E,0xD3,0x26,0x4C,0x37,0x8F,0x02,0x8B,0x17,0x6C,0x26,0x57,0xEF,0x5D,\r
+0x10,0xB7,0x42,0xCC,0xBB,0x26,0x5D,0x78,0x45,0x25,0xFE,0x85,0x2F,0x7C,0xCD,0x54,\r
+0xF7,0xD9,0xCB,0xA2,0xA2,0x18,0x63,0x5F,0x00,0x9A,0x04,0x7F,0xAD,0x87,0xB4,0xD6,\r
+0x88,0x73,0x1E,0x08,0x13,0x49,0x32,0xBF,0xB4,0x5E,0x74,0x0F,0x9A,0xB5,0xB1,0xE1,\r
+0x3B,0x29,0xF7,0x52,0x04,0xB0,0xCB,0x51,0x36,0x54,0xFC,0x87,0x39,0x4B,0xEC,0x42,\r
+0xB9,0x61,0x3D,0x1A,0xFF,0x32,0x49,0x28,0x48,0x12,0xC4,0xBF,0xDE,0x61,0x21,0xA5,\r
+0x0D,0x04,0xEC,0x7F,0x6D,0x71,0x0A,0xF9,0xAE,0x87,0xB7,0xCC,0xBC,0xF6,0xD4,0xC7,\r
+0x89,0x64,0x08,0x1F,0x7F,0xA9,0xD2,0x33,0x21,0xBA,0x05,0x7E,0xF7,0x6E,0x07,0x8C,\r
+0x82,0xFB,0x9C,0x80,0x9B,0xC9,0xB2,0xB7,0xF8,0x1D,0x7B,0x00,0x51,0xA5,0x6A,0x2A,\r
+0xA4,0xD2,0x93,0xA9,0x8C,0x30,0x4B,0x59,0x06,0x40,0xD8,0xA3,0x92,0xBF,0xB3,0xE9,\r
+0xDA,0x6F,0x50,0x14,0x35,0x7A,0x01,0xAA,0x3E,0x47,0xE7,0x9C,0x71,0x81,0x6E,0x0A,\r
+0xD0,0xE7,0xD2,0x9C,0x70,0x80,0xFB,0x15,0x39,0x72,0xD5,0xAE,0xF6,0x4F,0x27,0x8D,\r
+0x3F,0x09,0xD3,0x72,0xB1,0x2E,0x55,0x7A,0xA0,0x4E,0x70,0x0B,0xCE,0x31,0x61,0xB5,\r
+0x2C,0x12,0xDB,0x69,0xF1,0xF5,0x8E,0xE1,0xC9,0xE6,0xB1,0xCA,0xE1,0x59,0x26,0x9A,\r
+0x2D,0x05,0xCD,0x7E,0xE2,0xC3,0xB8,0xC4,0x17,0x74,0xFD,0x86,0x9E,0xA1,0xA1,0xE5,\r
+0x31,0xA1,0x75,0xDA,0xF0,0x1B,0x60,0x0E,0x8A,0x83,0x97,0xEC,0x4D,0xEB,0x38,0x36,\r
+0xDC,0x47,0x7E,0x3C,0xEA,0xD8,0xA3,0xD7,0x58,0xC9,0x0F,0x74,0x64,0xE4,0x1E,0x1F,\r
+0xBE,0x5E,0x05,0x25,0x1D,0x8E,0xF5,0x76,0x40,0x01,0xDF,0xA4,0xDD,0x33,0x70,0xA6,\r
+0x34,0x96,0x47,0xED,0x74,0x4F,0x34,0xDE,0x7B,0xF8,0x1D,0x66,0x8F,0xD0,0xC1,0xF4,\r
+0x85,0xC4,0xA4,0xBF,0x94,0xE0,0x9B,0x91,0xB2,0x84,0xA8,0xD3,0x85,0xA9,0xB2,0xFE,\r
+0xC0,0xE3,0xC6,0x98,0x1C,0x60,0x1B,0x99,0x97,0x6F,0x66,0x1D,0x2A,0x49,0xFD,0x51,\r
+0x35,0x81,0x51,0xFA,0xAF,0x22,0x59,0x68,0x16,0x9B,0x13,0x68,0x03,0x46,0xDB,0x78,\r
+0xA2,0xFA,0xBD,0x81,0xE7,0xE2,0x99,0xE0,0xB8,0x86,0xA0,0xDB,0x2B,0x68,0xDD,0x50,\r
+0x7C,0x06,0x9F,0x7D,0x62,0x58,0x23,0xDF,0xEF,0xF3,0x82,0xF9,0xBB,0xB0,0x95,0xC0,\r
+0x04,0x93,0x72,0xE8,0x25,0xB1,0xCA,0x71,0xC2,0x0B,0x57,0x2C,0x6B,0xA8,0x5D,0x10,\r
+0x09,0x19,0xD3,0x32,0xFD,0xB0,0xB5,0xA0,0x38,0xC7,0x17,0xD7,0x7E,0x90,0x06,0x16,\r
+0x8B,0x9B,0xAA,0xC9,0x42,0x4A,0xF0,0x5A,0x1F,0xF9,0x0E,0xE9,0xF7,0x77,0x68,0x78,\r
+0x9D,0x8D,0x8B,0xFE,0x33,0x48,0x83,0x58,0x36,0x6F,0xB1,0x7F,0x42,0x5C,0xF6,0xE6,\r
+0x3E,0x2E,0xD6,0x00,0x39,0xC0,0x01,0xD0,0xD8,0x96,0xA6,0x86,0xAB,0xEF,0xAC,0xBC,\r
+0x18,0x08,0xB3,0x43,0xE0,0x03,0x1B,0x13,0x9E,0xAE,0xD8,0xBE,0x59,0x6A,0xDB,0xCB,\r
+0x7A,0x6A,0x46,0xD4,0x75,0x70,0xFD,0x60,0x4F,0xED,0x4A,0xFD,0x88,0xDE,0xBE,0xAE,\r
+0xF5,0xE5,0x0D,0x10,0x7A,0xCF,0x4D,0xDF,0xD0,0x16,0x2E,0x06,0x29,0xE5,0x24,0x34,\r
+0x53,0x43,0x60,0xDB,0xDD,0xB1,0x94,0xA1,0x54,0x76,0xCA,0x66,0xBD,0xEE,0xBB,0xAB,\r
+0xFB,0xEB,0x6E,0x7D,0x48,0xC2,0x72,0xD2,0x8E,0xAA,0xCC,0xBA,0x82,0xDC,0xB6,0xA6,\r
+0x56,0x46,0x50,0xEE,0x1E,0xFE,0x18,0xEE,0xAD,0xB4,0xF1,0xA4,0x2D,0x2E,0xEB,0xFB,\r
+0xCB,0xDB,0x2A,0x09,0x44,0x62,0xDE,0x72,0x57,0x69,0xD6,0x79,0x61,0x6D,0xE4,0xF4,\r
+0x34,0x24,0xA5,0x79,0x85,0x25,0x58,0x35,0xCC,0xB2,0x96,0xA2,0x38,0xD1,0x01,0x11,\r
+0x66,0x76,0x14,0x9A,0x9B,0x89,0xEA,0x99,0x0E,0xEA,0x0C,0xFA,0x48,0x5E,0xFE,0xEE,\r
+0x0B,0x1B,0xA2,0x41,0x04,0x72,0x8E,0x62,0xCE,0xBA,0x9C,0xAA,0x13,0xF3,0x08,0x18,\r
+0x82,0x92,0x88,0xE2,0xEC,0xA3,0xB7,0xB3,0xE8,0x93,0x93,0x83,0xEB,0x74,0x77,0x67,\r
+0xC1,0xD1,0x59,0x70,0xD7,0x39,0x16,0x29,0x76,0x7F,0xE1,0x6F,0xA4,0xC9,0x85,0x95,\r
+0x2B,0x3B,0xA6,0x65,0x9F,0xA9,0xCE,0xB9,0xB9,0x90,0xC1,0x80,0xF2,0x53,0x49,0x59,\r
+0x79,0x69,0x17,0x86,0x66,0x6B,0xF5,0x7B,0x11,0x51,0xA8,0x41,0xB0,0xD9,0x81,0x91,\r
+0x8E,0x9E,0x9A,0xFC,0x08,0xD2,0x22,0xC2,0xFE,0xBF,0xA9,0xAF,0x73,0xA7,0x3C,0x2C,\r
+0x21,0x31,0xD5,0x1C,0xE3,0x1C,0x07,0x0C,0xF6,0x3F,0x21,0x2F,0x11,0xE2,0x1B,0x0B,\r
+0x8F,0x9F,0xBA,0xDD,0xE1,0x14,0x0D,0x04,0x87,0x3D,0x52,0x2D,0x08,0xC5,0x25,0x35,\r
+0xA7,0xB7,0xBC,0xF3,0xFC,0xA7,0xA3,0xB7,0x0F,0xFD,0x1A,0xED,0xE4,0x52,0x5E,0x4E,\r
+0xCF,0xDF,0x3A,0x1D,0x6C,0xE3,0x77,0xF3,0x16,0x6E,0x90,0x7E,0xC7,0x63,0x4C,0x5C,\r
+0x1F,0x0F,0xF2,0x05,0x94,0x36,0x5A,0x26,0xB8,0x87,0xD7,0x97,0x2A,0x1B,0xD9,0xC9,\r
+0xD5,0xC5,0x09,0x34,0x20,0x53,0x8B,0x43,0xCD,0xA5,0x80,0xB5,0xE5,0xBD,0xB0,0xA0,\r
+0x36,0x26,0xD4,0x0A,0x27,0x6C,0xB3,0x7C,0x3E,0xEF,0x39,0xFF,0x26,0xC3,0x0D,0x1D,\r
+0x6A,0x7A,0x06,0x84,0x29,0xC4,0x15,0xD4,0x1D,0xF1,0x04,0xE1,0x66,0x58,0xD6,0xC6,\r
+0x52,0x42,0x40,0xFA,0x15,0x61,0x8C,0x71,0x72,0x5F,0xC5,0x4F,0x67,0xB7,0x38,0x28,\r
+0x3A,0x2A,0xC6,0x14,0x13,0x49,0xA2,0x59,0xA3,0x1C,0x57,0x0C,0x78,0x4A,0xDA,0xCA,\r
+0x45,0x55,0x41,0xEC,0x81,0x05,0x7C,0x15,0x86,0x2A,0x44,0x3A,0x6E,0x4B,0xCD,0xDD,\r
+0xC0,0xD0,0x79,0x51,0xAE,0xBB,0xED,0xAB,0xB0,0x07,0x5F,0x17,0xCB,0xBB,0x98,0x88,\r
+0xE9,0xF9,0x5F,0x5E,0xE4,0x23,0x3F,0x33,0x69,0xC4,0x45,0xD4,0xC0,0x56,0x7E,0x6E,\r
+0x2D,0x3D,0xC7,0x02,0x67,0x7C,0xE3,0x6C,0x28,0xC3,0x03,0xD3,0x91,0xF9,0x80,0x90,\r
+0x44,0x54,0x61,0xCD,0x71,0x50,0xD9,0x40,0x1A,0xCE,0x3C,0xDE,0xB6,0x03,0x5D,0x4D,\r
+0x74,0x64,0x25,0xB9,0x64,0x63,0xFF,0x73,0x82,0x0A,0x60,0x1A,0x1F,0x2B,0xDC,0xCC,\r
+0x39,0x29,0x97,0x46,0x02,0x5A,0xA0,0x4A,0x32,0x4F,0x95,0x5F,0x53,0x68,0xD3,0xC3,\r
+0x8D,0x9D,0xCB,0xAE,0x3C,0xF7,0x33,0xE7,0x7D,0xE0,0x75,0xF0,0x0B,0x3B,0xD8,0xC8,\r
+0x1E,0x0E,0xD2,0x24,0xA4,0x33,0x6F,0x23,0x2C,0xE3,0x27,0xF3,0x56,0x4C,0xF2,0xE2,\r
+0x8C,0x9C,0xEB,0x8F,0x0B,0xCD,0x3E,0xDD,0x43,0x4D,0xE6,0x5D,0xEF,0xBF,0xB8,0xA8,\r
+0x9E,0x8E,0xDA,0xAC,0x23,0x4C,0x97,0x5C,0x96,0x2E,0x50,0x3E,0x30,0xC2,0x1A,0x0A,\r
+0x91,0x81,0x99,0xE0,0xBE,0xBF,0xF9,0xAF,0xFB,0x88,0x9B,0x98,0x4F,0x6B,0xCC,0xDC,\r
+0x89,0x99,0xDB,0xBA,0x5A,0xCE,0x6C,0xDE,0x18,0xC6,0x36,0xD6,0xAA,0x00,0x42,0x52,\r
+0x20,0x30,0xF5,0x3D,0xAB,0x8C,0xDF,0x9C,0xB4,0x27,0x7B,0x37,0x5C,0x4E,0xFA,0xEA,\r
+0x97,0x87,0xF8,0x87,0x37,0x68,0xA7,0x78,0x35,0x70,0xAD,0x60,0xF4,0x89,0x95,0x85,\r
+0xF7,0xE7,0x7C,0x63,0xF4,0x27,0x2B,0x37,0x65,0x64,0xE9,0x74,0xE7,0xAC,0xA3,0xB3,\r
+0x83,0x93,0xA8,0xC3,0x62,0x4B,0xD1,0x5B,0x7F,0xE8,0x7F,0xF8,0x62,0x93,0x19,0x09,\r
+0x55,0x45,0x01,0xBC,0x10,0x56,0xBE,0x46,0x8D,0xB5,0xD0,0xA5,0x3B,0x2F,0xFC,0xEC,\r
+0x31,0x21,0x95,0x4C,0x51,0x51,0xF8,0x41,0x1C,0xE6,0x12,0xF6,0x19,0xF1,0x00,0x10,\r
+0x9B,0x8B,0xEA,0x99,0x26,0x7B,0xA5,0x6B,0x84,0x22,0x4E,0x32,0xBB,0x34,0x67,0x77,\r
+0x8A,0x9A,0x8A,0xE8,0x7E,0xEF,0x69,0xFF,0xAF,0xBC,0xFB,0xAC,0xC6,0x8C,0xA2,0xB2,\r
+0x0E,0x1E,0x92,0x74,0x21,0x44,0x9D,0x54,0x19,0xD1,0x20,0xC1,0x54,0x5D,0xE1,0xF1,\r
+0xC5,0xD5,0x49,0x64,0x22,0x5B,0x81,0x4B,0x30,0x47,0x9F,0x57,0x2F,0x3F,0xF8,0xE8,\r
+0xA8,0xB8,0xFF,0xBF,0x83,0x0D,0x76,0x1D,0xA0,0x03,0x4B,0x13,0x37,0xF7,0x28,0x38,\r
+0x10,0x00,0xB1,0x49,0x73,0x58,0xD3,0x48,0x70,0x57,0xCF,0x47,0xDC,0x55,0x61,0x71,\r
+0x11,0x01,0x91,0x68,0xE9,0x94,0x85,0x84,0x12,0x4E,0xB4,0x5E,0xA1,0xED,0xA4,0xB4,\r
+0xF0,0xE0,0x3D,0x25,0xDF,0xB9,0x9E,0xA9,0x45,0x65,0xC8,0x75,0x89,0x31,0x50,0x40,\r
+0xC9,0xD9,0x5B,0x7A,0x8F,0xAD,0xDA,0xBD,0xC1,0x05,0x2C,0x15,0x8A,0xCF,0xAD,0xBD,\r
+0xB1,0xA1,0x9D,0xC4,0xF0,0x07,0x0F,0x17,0x4D,0xE5,0x40,0xF5,0x28,0x0A,0xCA,0xDA,\r
+0x92,0x82,0xC8,0xB2,0xC4,0x22,0x1E,0x32,0x07,0x7D,0x92,0x6D,0xF6,0x98,0x86,0x96,\r
+0xF4,0xE4,0x2D,0x31,0x24,0x73,0xAF,0x63,0x6F,0xEC,0x6B,0xFC,0xC2,0x47,0x6D,0x7D,\r
+0xE2,0xF2,0x0C,0x06,0xCA,0x8A,0xB8,0x9A,0x9C,0xA6,0xD2,0xB6,0x23,0xE7,0x2C,0x3C,\r
+0x3B,0x2B,0xE6,0x35,0xA9,0x84,0xD5,0x94,0x80,0x02,0x6A,0x12,0x98,0x05,0x75,0x65,\r
+0x14,0x04,0xA1,0x5D,0xC0,0x02,0x3A,0x12,0xB2,0x0F,0x55,0x1F,0x6D,0xB5,0x30,0x20,\r
+0x2F,0x3F,0xB6,0x71,0xFA,0x8F,0x8D,0x9F,0x78,0xD7,0x47,0xC7,0x5B,0x7B,0xC8,0xD8,\r
+0x3E,0xAF,0x1A,0x7D,0x37,0xB4,0x4B,0x13,0x04,0x20,0x5E,0x92,0x4A,0x20,0x04,0xA2,\r
+0x91,0x4F,0xB5,0x32,0xF9,0x91,0xA0,0xDD,0x84,0xA0,0x56,0x1A,0x0F,0x07,0x23,0xC0,\r
+0x66,0x35,0x42,0xBF,0x40,0x46,0xCE,0x64,0x6A,0x4E,0xB9,0x1B,0x71,0xBA,0x9E,0x03,\r
+0x34,0xD6,0x10,0x0E,0x82,0x7D,0x37,0xA6,0xAB,0x8F,0x11,0x72,0xFB,0x72,0x56,0x41,\r
+0x00,0xB6,0x24,0x5A,0x1D,0xE9,0x3C,0x39,0xBC,0x98,0x10,0x64,0xB3,0xE2,0xC6,0x99,\r
+0xD0,0xAE,0xF4,0x92,0xC8,0xC4,0xC4,0xEC,0x55,0x71,0xBE,0x23,0xCB,0x77,0x53,0x74,\r
+0xB8,0x40,0x9C,0x14,0x8C,0x10,0x54,0xA8,0xC6,0xE2,0xA7,0xA9,0xFA,0x65,0x41,0x57,\r
+0x90,0x6E,0xB4,0x12,0x3F,0xBE,0x49,0x1B,0x06,0x22,0x2F,0xE1,0x6D,0x1E,0x3A,0xBB,\r
+0x4D,0x49,0x69,0xE8,0x4A,0x3F,0xBD,0x6E,0x64,0x40,0xDA,0x76,0x1F,0x03,0x27,0xD4,\r
+0x75,0x37,0x51,0xAE,0xEF,0xA6,0x81,0xCB,0xCA,0xEE,0xB5,0xB7,0xF0,0xED,0xC9,0xD5,\r
+0x29,0xB9,0x0D,0x7C,0x47,0x00,0x8F,0x63,0xD4,0xF0,0x96,0x8A,0x6B,0x36,0x12,0x95,\r
+0xCA,0x87,0xEE,0xA1,0x78,0x38,0x88,0x5C,0x9E,0xBA,0x65,0x33,0x15,0x8B,0xAF,0x56,\r
+0xF6,0xED,0xD2,0xF7,0x08,0x8C,0x4C,0x2C,0xFF,0xDB,0xC1,0xF6,0xFE,0x45,0x61,0x73,\r
+0xDF,0xE2,0xFB,0xD1,0x90,0x5E,0x06,0xB4,0x3C,0x18,0x18,0xEC,0x13,0xA3,0x87,0x78,\r
+0x5A,0x5F,0x7E,0xE9,0x2E,0xCF,0x29,0x0A,0x11,0x35,0x2E,0xF7,0xE3,0xF6,0xD2,0xDD,\r
+0x25,0xA7,0x01,0x6E,0x62,0x11,0xBB,0x46,0x27,0x03,0x0B,0xE4,0xE2,0xE1,0xC5,0xCB,\r
+0x21,0xB3,0x05,0x7E,0xEB,0xB2,0x91,0xCF,0xAD,0x89,0x70,0x15,0x47,0x97,0xB3,0x18,\r
+0x82,0x4D,0xA6,0x23,0x63,0x30,0x9B,0x47,0x54,0x70,0x9E,0x02,0xF4,0xCD,0xE9,0xF1,\r
+0x94,0x7A,0xB0,0x02,0x61,0x43,0xEA,0x45,0xC2,0xE6,0xB7,0xBD,0xDF,0x53,0x77,0x44,\r
+0x16,0x81,0x32,0x7B,0x9B,0x06,0x55,0xBF,0xFC,0xD8,0x90,0xA4,0x38,0x3D,0x19,0xCD,\r
+0x4C,0x68,0x68,0xC8,0x9A,0x27,0x75,0xBE,0x4D,0x69,0xFC,0x79,0x46,0x80,0xA4,0x0E,\r
+0xEA,0xA3,0xCE,0xA5,0xE4,0xFE,0xD2,0xC0,0x2D,0x09,0x78,0x9D,0x4D,0x1F,0x3B,0x9A,\r
+0x65,0x67,0x41,0xEE,0x5B,0x4E,0xDD,0x7F,0xD6,0xF2,0xE7,0xF9,0x76,0x85,0xA1,0x3B,\r
+0x07,0xF0,0x23,0x1B,0x28,0xA8,0x48,0x0C,0x95,0xB1,0x36,0x6B,0xC2,0xE0,0xC4,0xEA,\r
+0x2B,0xCA,0x0F,0x0D,0x0E,0xEB,0x2D,0x2A,0x89,0xAD,0x64,0x25,0x79,0x3A,0x1E,0x8B,\r
+0xD4,0xBA,0xF0,0x82,0x49,0x6D,0xEC,0x6D,0x52,0x76,0xFF,0x65,0xC5,0xDF,0xFB,0xD2,\r
+0x49,0x5D,0x6D,0xF8,0xD5,0xAB,0xB6,0xF1,0x8F,0xAB,0x05,0x42,0x86,0xD0,0xF4,0x9E,\r
+0xE4,0xCE,0xC0,0xC6,0xE9,0xC1,0xE0,0xCD,0x91,0xB5,0x26,0x7F,0x74,0x8D,0xA9,0x31,\r
+0xDE,0xC3,0xFA,0xF1,0x12,0xA5,0x7F,0x36,0x44,0x60,0xDE,0x52,0x61,0xBE,0x9A,0x17,\r
+0x9D,0x51,0xB9,0x20,0x88,0x04,0x44,0xAC,0xA8,0x8C,0x40,0x20,0xDC,0x4C,0x68,0x58,\r
+0x14,0xF2,0x30,0x0A,0x59,0x3D,0xAC,0x7D,0x81,0xA5,0x66,0x2F,0x5B,0x33,0x17,0xA0,\r
+0x79,0x29,0x5D,0xBC,0xA2,0x59,0x33,0x86,0xD1,0xF5,0xA6,0xBF,0xF6,0xC5,0xE1,0xFB,\r
+0xDA,0xD7,0xFE,0xE1,0x70,0x32,0x8A,0x54,0x7C,0x58,0x98,0x2C,0x97,0xC3,0xE7,0x9C,\r
+0x11,0xC7,0x35,0x3A,0x6F,0x2E,0x89,0x4B,0xEA,0xCE,0xB1,0x93,0xF5,0xDA,0xFE,0xE7,\r
+0x95,0x5B,0xB1,0x22,0xC4,0xDA,0xD6,0xE0,0x87,0xA3,0x07,0x48,0x24,0x99,0xBD,0x75,\r
+0x84,0x2A,0xA0,0x42,0x50,0x16,0x8E,0x74,0x19,0x3D,0x2C,0xFD,0x9C,0x5C,0x78,0x08,\r
+0xEF,0x96,0xCB,0x95,0x92,0x2D,0x77,0xB6,0x5E,0x7A,0xED,0x7B,0x99,0x6B,0x4F,0x3A,\r
+0x0E,0xDB,0x2A,0x39,0xBF,0x36,0x41,0x9B,0x75,0x51,0xBA,0x07,0x45,0x9F,0xBB,0x12,\r
+0x0F,0xFA,0x2B,0x19,0x73,0x60,0xDB,0x57,0x6C,0x48,0xD8,0x7C,0xFD,0x5A,0x7E,0x6F,\r
+0xB7,0x0C,0x93,0x57,0x26,0xC5,0x2B,0x02,0x38,0x1C,0x08,0xF8,0x5F,0x13,0x37,0x84,\r
+0xEB,0x82,0xCF,0x85,0x58,0x1C,0x8C,0x7C,0xD7,0xF3,0xC7,0xD8,0xEF,0x56,0x72,0x71,\r
+0x8D,0x01,0xA9,0x60,0x09,0xAD,0x6C,0x2D,0x46,0x62,0xAF,0x21,0x30,0xBD,0x99,0x45,\r
+0xAE,0x77,0x8A,0x35,0x2C,0xBC,0x58,0x08,0xDE,0xFA,0xE5,0xF3,0xA2,0xF1,0xD5,0x9B,\r
+0xD6,0xC9,0xF2,0xF3,0x86,0x69,0x27,0xA2,0x3E,0x1A,0x69,0x9F,0x67,0x96,0xB2,0x39,\r
+0x30,0xC2,0x14,0x1E,0xA4,0x3E,0x52,0x80,0xEC,0xC8,0xD0,0xF4,0xD3,0xF3,0xD7,0xE8,\r
+0x0B,0xEE,0x2F,0x09,0x29,0x89,0x68,0x0D,0x34,0x10,0x1A,0xE6,0x1D,0x0B,0x2F,0xDE,\r
+0x24,0x86,0x00,0x4E,0xAF,0x66,0x01,0x8B,0x39,0x1D,0x28,0xD9,0xAD,0x4E,0x6A,0x2B,\r
+0xFD,0xB5,0xD9,0xA4,0xA1,0x0B,0x62,0x85,0x9D,0xB9,0x34,0x61,0x4F,0x17,0x33,0x90,\r
+0x26,0xF5,0x02,0x3F,0x71,0x13,0xAA,0x55,0x74,0x50,0x9A,0x26,0xC0,0xE8,0xCC,0xE0,\r
+0x6B,0x0A,0x4F,0x8D,0x48,0x4C,0xCC,0x6C,0x31,0x15,0x2A,0xD3,0x83,0xE7,0xC3,0xAC,\r
+0x5B,0x7E,0x7F,0xC9,0x7B,0x6A,0xD9,0x5F,0xF5,0xD1,0xB2,0x8F,0xAB,0x66,0x42,0x05,\r
+0x32,0xB1,0x16,0x6F,0x57,0x50,0xCF,0x73,0xF8,0xDC,0x80,0xB0,0x51,0xBB,0x9F,0x22,\r
+0x81,0x1F,0xA5,0x72,0x67,0x24,0x8B,0x43,0x15,0x31,0x3E,0xE3,0x6A,0x21,0x05,0x83,\r
+0x93,0x3C,0xB7,0x43,0xE6,0x8D,0xA3,0xC2,0x76,0x52,0xEB,0x55,0x17,0x83,0xA7,0x5C,\r
+0x01,0x97,0x25,0x7A,0x18,0xDC,0x0C,0x3C,0xD8,0xFC,0x84,0x94,0xE4,0xC9,0xED,0xE5,\r
+0x92,0x1D,0xB6,0x63,0xDC,0x80,0x94,0xF8,0xDB,0xFF,0xD5,0xC6,0x93,0xE3,0xC7,0xB8,\r
+0x88,0x34,0xAC,0x50,0x43,0x14,0x9F,0x67,0x4B,0x6F,0x9D,0x1E,0x21,0xAE,0x8A,0x47,\r
+0x3F,0x8E,0x1B,0x5D,0xA7,0x6C,0x03,0x83,0x1C,0x38,0x1C,0xC8,0xE6,0xC1,0xE5,0xEF,\r
+0x96,0x09,0xB2,0x73,0xE5,0xDF,0xF2,0xC1,0xFD,0xD9,0xB0,0x85,0xA8,0x79,0x5D,0x19,\r
+0x8E,0x53,0xAA,0x31,0x94,0x4A,0x16,0xB0,0xB3,0x97,0x53,0x28,0xC3,0xF7,0xD3,0xFC,\r
+0x2E,0xFF,0x0A,0x3D,0x7A,0x4B,0xF9,0x5E,0xDD,0xF9,0xB4,0xA1,0x59,0x3B,0x1F,0xAA,\r
+0x4A,0x0F,0x6E,0xA9,0x7D,0x0D,0xB8,0x59,0x8E,0xAA,0x25,0x63,0x87,0xC7,0xE3,0x88,\r
+0x9C,0x70,0xB8,0x00,0x60,0x62,0xCA,0x44,0xD3,0xF7,0xD7,0xCC,0x3B,0x22,0x06,0xD1,\r
+0xE8,0xD0,0xCC,0xD4,0x0C,0x98,0x5C,0x28,0x5F,0x7B,0xCD,0x5A,0x04,0x98,0xBC,0x54,\r
+0x3B,0xFE,0x96,0x12,0x9B,0x8C,0x47,0x34,0x65,0xC3,0x43,0xA4,0x30,0x5B,0x82,0xDE,\r
+0xB6,0x84,0xD9,0x25,0xD9,0x02,0x51,0xCC,0xBD,0xFA,0x17,0xB7,0x78,0x84,0x4D,0xEC,\r
+0x90,0xE9,0xC5,0xD9,0x76,0x7A,0xD9,0xD4,0x76,0x4D,0xC5,0xF3,0x0A,0x3D,0x81,0x11,\r
+0x26,0xC2,0x72,0xB8,0x0C,0xCB,0xA4,0x71,0xF3,0xEE,0xAD,0x68,0x8C,0x7E,0x5D,0xFB,\r
+0x0B,0xC1,0xA0,0x92,0x30,0xB9,0x93,0x5E,0xF9,0xBD,0x10,0xB1,0x74,0xC0,0xB3,0x75,\r
+0x64,0x58,0x04,0x38,0xE6,0x69,0xCA,0x8F,0x60,0x57,0xDF,0x73,0x28,0x73,0xFD,0x07,\r
+0x04,0x1B,0xB4,0x97,0x5C,0x93,0x46,0x28,0x79,0x66,0x55,0x56,0xDF,0xD6,0xF3,0x02,\r
+0xF2,0xEE,0x89,0x07,0xAE,0x75,0x9D,0x95,0x01,0x54,0x72,0x81,0x2C,0x9C,0x92,0xA7,\r
+0x92,0xEE,0x28,0xE8,0x3E,0x31,0x15,0xD9,0x7C,0x9C,0xE1,0x82,0x97,0xE9,0xF9,0x55,\r
+0x49,0x08,0x80,0x15,0x47,0x01,0xE8,0x72,0x0E,0x85,0x4A,0x4B,0x85,0xAB,0x37,0x70,\r
+0x37,0x1E,0x62,0xD9,0x0F,0xEB,0x69,0x3B,0x93,0x27,0xC8,0x49,0x60,0x83,0xBB,0xE6,\r
+0x1A,0x0A,0x24,0x52,0x75,0x98,0x1B,0x4F,0x0A,0x39,0xF5,0xB4,0xE5,0xBB,0x4E,0x94,\r
+0x6F,0x7A,0x6E,0x2A,0x00,0x57,0xA0,0xDE,0x16,0xBE,0x95,0x01,0x08,0x15,0x39,0x23,\r
+0x1F,0xBF,0xEE,0xE3,0xA4,0x66,0xAF,0x5C,0x76,0x2D,0x25,0x28,0x98,0x8D,0x00,0x55,\r
+0x87,0xA9,0x08,0xDA,0x74,0x81,0xEB,0x79,0x9C,0x78,0x0A,0x18,0xB7,0x4D,0x0D,0x9C,\r
+0x00,0xAD,0x4E,0xC1,0xAC,0xA1,0xCD,0xCB,0xC3,0xFE,0xFE,0x3D,0xD3,0xAA,0x60,0xBB,\r
+0x0E,0x39,0x5A,0x34,0x5A,0xA4,0xC2,0xAD,0xF5,0xE2,0xDC,0x9C,0x28,0x8F,0x16,0x57,\r
+0xB0,0xEB,0x70,0xD1,0x29,0xBC,0x52,0x54,0x6E,0x8A,0x27,0xBF,0x95,0xD8,0xA1,0xEA,\r
+0x6B,0x3E,0xEB,0x9A,0x27,0x91,0x5B,0xB5,0x06,0xE5,0x0D,0x2D,0xEA,0x7F,0xE7,0x52,\r
+0xD1,0x65,0x0A,0xCF,0xE5,0xE7,0xFC,0x9C,0x6F,0x1B,0xE5,0x52,0xDF,0xEE,0x1A,0xFD,\r
+0xBD,0x17,0x08,0xB5,0x84,0x60,0x9D,0x5F,0x57,0x23,0xB8,0xE9,0x58,0xD2,0x57,0x02,\r
+0xE0,0x58,0x94,0x49,0xD0,0xAC,0x86,0x11,0x82,0xED,0xF6,0x52,0x9C,0xB5,0xA6,0xCB,\r
+0x4F,0xA1,0xCC,0x40,0x60,0xE4,0x04,0x58,0xBC,0x5B,0x41,0x1E,0x57,0x40,0x28,0x1E,\r
+0x78,0xE1,0x89,0x09,0x00,0x1D,0x7D,0x1F,0x74,0x3D,0xD4,0xAF,0xA4,0xBF,0x83,0xD5,\r
+0xA0,0x9D,0x8D,0xCA,0x90,0x39,0xCA,0xBF,0x63,0x7E,0x5C,0x57,0x76,0x94,0x34,0x03,\r
+0xB7,0x90,0x49,0x47,0x05,0xA8,0x8C,0x3A,0x6C,0x95,0xC7,0x12,0x40,0x06,0xDC,0x05,\r
+0xA5,0xCF,0x87,0xE5,0x9E,0xD0,0xBB,0xAD,0x05,0x6A,0x6D,0xBD,0xBA,0xD7,0x12,0x7F,\r
+0x48,0x3E,0x74,0xC2,0x6E,0xC2,0x53,0xA6,0x05,0x55,0xB3,0xE1,0x14,0x71,0x0D,0x18,\r
+0x1C,0x73,0xA8,0xE8,0x1E,0x35,0x4C,0x6A,0xC5,0x36,0x96,0xE6,0xD8,0xAF,0x5B,0x22,\r
+0xCA,0x6F,0x17,0xEC,0x0F,0xFB,0x3A,0xA4,0xD8,0xF2,0x6C,0xCB,0x77,0x0F,0xAD,0x57,\r
+0x28,0x4A,0x20,0xB9,0xDD,0xE2,0xB1,0x66,0xCC,0xF7,0x76,0xBB,0x82,0x80,0x5A,0x5D,\r
+0xF0,0x50,0x3C,0x9E,0x80,0x99,0x8A,0x17,0x58,0x15,0x16,0x84,0xC3,0x23,0x57,0x21,\r
+0x51,0x42,0x33,0x69,0x7E,0xCE,0x73,0x83,0xB1,0xA6,0x62,0x61,0x90,0x85,0x87,0xC6,\r
+0x08,0xB0,0xEC,0x4C,0x2C,0xE8,0x47,0x50,0x86,0xD1,0xA6,0xE6,0x5E,0xFC,0xA0,0x75,\r
+0x3E,0xCC,0x02,0x7A,0xFA,0xF3,0xB0,0xC0,0xCD,0x8F,0xA3,0x11,0xD5,0x89,0xE7,0x56,\r
+0x44,0x12,0xA3,0x00,0x6F,0x8B,0x22,0x48,0x9C,0xAA,0xC6,0x75,0xBA,0x42,0x7E,0x97,\r
+0xBE,0x51,0x29,0xB5,0xFD,0x79,0x99,0x7F,0xAA,0x44,0xC3,0x92,0x66,0x65,0x9A,0x47,\r
+0x29,0x75,0x76,0x5A,0x35,0x4B,0x38,0xB0,0x3B,0xF7,0x21,0xBA,0xBF,0x3F,0xC3,0xC5,\r
+0x19,0xF7,0xFA,0x51,0xC6,0x38,0xD1,0xF2,0x80,0xF9,0xDD,0xB3,0x17,0x70,0x37,0x3D,\r
+0xEA,0x1C,0x76,0xD6,0x49,0x11,0xB0,0x54,0x49,0xC6,0xC4,0x02,0x26,0xE6,0x63,0xC4,\r
+0x5D,0x28,0x84,0x16,0x9F,0xD3,0xC0,0x7F,0x0D,0x54,0x1E,0xB5,0x0C,0x46,0xE3,0x63,\r
+0x0C,0x26,0x3E,0xB0,0xE8,0xCF,0x17,0xA4,0xD8,0x4C,0x03,0x7B,0xDA,0x2C,0xDC,0x95,\r
+0x56,0xE7,0xB9,0x88,0x45,0x59,0x89,0xE5,0x65,0x2D,0x2D,0x37,0x0A,0x74,0x39,0xB7,\r
+0x68,0x4C,0xAB,0xD4,0x28,0x9A,0xED,0xCB,0x7B,0xE5,0x6A,0x6D,0x9D,0x47,0xC5,0xC3,\r
+0xEC,0x81,0x0B,0xDD,0x4C,0x20,0x27,0xD5,0x04,0xDB,0xB1,0xED,0x51,0xAE,0x45,0xD9,\r
+0xD9,0xD0,0x8A,0x23,0xBA,0xCC,0xA4,0x3C,0x3E,0xFF,0x9D,0x2F,0x2C,0xA7,0xD3,0x01,\r
+0x34,0x0B,0x5D,0x7B,0x31,0xDB,0x63,0xA0,0x38,0xAF,0x9F,0x7B,0xB1,0x7B,0x4A,0x42,\r
+0x7D,0xEF,0xB0,0x95,0xB0,0x77,0x21,0x61,0xDE,0xC0,0x52,0xC9,0x85,0x8A,0xE1,0xDC,\r
+0x07,0x13,0x7A,0x94,0x18,0x3C,0xE4,0x8A,0x7B,0x0B,0x97,0x4C,0xEF,0xEF,0xE6,0xFE,\r
+0xED,0x1E,0x35,0x48,0x03,0x58,0x45,0x64,0xB6,0x19,0xC1,0x11,0xE8,0xF1,0x69,0x2F,\r
+0x4E,0x90,0x63,0x5D,0xFE,0xF8,0x5F,0xC7,0xAE,0x46,0x5F,0xF6,0x53,0x45,0x91,0xED,\r
+0x30,0x16,0x25,0xFF,0xC7,0x61,0x2E,0x17,0x2F,0xE7,0xDA,0xB9,0x32,0x53,0xAA,0x6D,\r
+0xDE,0x09,0x7B,0x15,0xCB,0xFA,0x2F,0x31,0x74,0xBC,0xB2,0x24,0x46,0x2F,0xA9,0xB6,\r
+0x3A,0x98,0xB0,0xBE,0x55,0x2E,0x18,0xB0,0xDF,0x61,0xA9,0xB2,0xC7,0x67,0x92,0x38,\r
+0x63,0xB7,0xB4,0x4E,0xBD,0x54,0x54,0x6B,0x47,0xD8,0x14,0x8D,0xC4,0xE3,0x4F,0xD2,\r
+0xB4,0x8B,0x57,0xC2,0xC8,0xC9,0x6C,0x76,0xD6,0xDA,0x22,0x81,0xEB,0x4C,0x71,0xB8,\r
+0xF4,0x52,0xCB,0x37,0x22,0xFD,0x65,0xF5,0xE4,0xE0,0xCD,0x5B,0xCB,0x82,0xBE,0x50,\r
+0x36,0x5E,0x2D,0x0B,0x35,0x7C,0x07,0xDD,0x0E,0x3C,0xF9,0x57,0xD1,0x2B,0x80,0x4C,\r
+0x86,0x2B,0xB8,0x2C,0xBC,0x88,0x43,0xBF,0x1F,0x33,0x12,0x75,0xBD,0xA2,0xE8,0x68,\r
+0x24,0xC8,0x99,0x45,0xE8,0x1B,0x69,0xEB,0x27,0x79,0x33,0x28,0x00,0x2A,0xBB,0xC0,\r
+0x13,0x07,0x76,0x15,0x61,0xBA,0xC2,0x9C,0xDD,0x10,0x5E,0xF3,0x01,0x5A,0xCE,0xC4,\r
+0x6E,0x13,0x38,0xE1,0x0C,0xFF,0x8A,0xF0,0x03,0x87,0x18,0x46,0x55,0x09,0xD7,0x1E,\r
+0xF7,0x51,0x9E,0x2B,0x48,0x9B,0x90,0xA0,0xEA,0x04,0x9E,0x37,0xD4,0x05,0xB5,0xC7,\r
+0x32,0xBD,0x9A,0xFE,0xA3,0x8E,0x31,0x72,0xAF,0x33,0xD5,0xFC,0xB8,0x50,0x66,0xB7,\r
+0xFC,0x57,0xC1,0x97,0x08,0x99,0x8C,0x85,0xEE,0x40,0x50,0xC2,0xA9,0x3B,0x83,0x73,\r
+0xCB,0x35,0x66,0x08,0xBD,0x60,0xCB,0x36,0x65,0x8F,0xC5,0xF8,0xE6,0xC4,0x86,0x5A,\r
+0x64,0xD4,0x69,0xE0,0x2D,0x28,0xB8,0x47,0x81,0x5C,0x72,0x8B,0x1E,0x31,0xCC,0xC8,\r
+0x39,0xE5,0xD9,0xFE,0x9B,0xE4,0x18,0xDD,0xFD,0xF5,0x3C,0x83,0xF4,0x56,0x40,0x6C,\r
+0x55,0xC8,0xE6,0x63,0x93,0x63,0x78,0xCF,0x4E,0x68,0x61,0x6A,0x0C,0x6A,0x29,0xAA,\r
+0xEF,0xD3,0xF8,0xA4,0x6B,0x15,0xEF,0x15,0x0F,0x37,0x89,0x9C,0xC1,0xFB,0x57,0x11,\r
+0x34,0x74,0x34,0xAA,0xC9,0x38,0x84,0x7C,0x10,0x63,0xA3,0x49,0xD1,0x5C,0x73,0x19,\r
+0x8A,0x9B,0x18,0x95,0x9E,0x20,0x7C,0xDD,0xD3,0x65,0x58,0x44,0x7F,0x0B,0x56,0x73,\r
+0x74,0xE9,0x87,0x71,0x04,0x1D,0xFC,0x5F,0x68,0x1B,0x92,0xB5,0x92,0xA7,0x33,0x7F,\r
+0xAC,0xF7,0xB8,0x80,0xB4,0x66,0xAB,0x84,0x9D,0xB7,0xF2,0x18,0x1B,0x04,0xD8,0xE6,\r
+0x4E,0xDC,0x2B,0x93,0x8F,0x7F,0xDA,0x93,0xB1,0x68,0xE8,0xE6,0xE5,0x8B,0xAF,0xE2,\r
+0x98,0x9A,0x27,0xCF,0xFC,0xB1,0xC8,0x13,0xAA,0x0D,0x12,0x4A,0x65,0x2B,0x09,0xBC,\r
+0xCC,0xA9,0x66,0xD5,0x2A,0x46,0x04,0x3A,0xA4,0xF2,0x37,0x4D,0x00,0xF5,0x56,0xA3,\r
+0x21,0x9D,0x2B,0x4B,0x40,0x54,0x1B,0xE0,0x83,0xCF,0xE9,0x7A,0x58,0x53,0x50,0xBD,\r
+0x33,0x5B,0x2A,0x77,0x18,0x2C,0x99,0x67,0x1D,0x2E,0x43,0x8E,0xF9,0x82,0xA5,0xAE,\r
+0x24,0xEE,0x16,0xFC,0x22,0xBD,0xE2,0xC1,0xA2,0x02,0xD8,0x19,0x3C,0x10,0x8A,0x95,\r
+0x76,0x66,0x93,0x09,0x49,0xF1,0x9D,0x76,0xCE,0x33,0xF6,0xC8,0x38,0x18,0x99,0x65,\r
+0x80,0x28,0x23,0xFE,0x68,0x17,0xFA,0xAE,0x5E,0xAC,0xD1,0x27,0x32,0x52,0x34,0x49,\r
+0xE0,0x7D,0x1D,0x71,0xE0,0xED,0x51,0x21,0xE1,0x48,0x5B,0x54,0x14,0xF7,0x35,0x02,\r
+0x8F,0x94,0x17,0xDD,0x4F,0x3D,0x1E,0x79,0x41,0x2E,0x94,0x13,0xF6,0x44,0xD7,0xDE,\r
+0xA2,0xE3,0x0C,0x47,0x99,0x4F,0xC8,0xB8,0x6C,0x93,0x29,0x61,0x37,0xFA,0x80,0x20,\r
+0x14,0x50,0x5F,0x6E,0xE0,0xFE,0x8A,0xF8,0xEA,0x49,0x41,0x51,0x14,0xB9,0x8B,0x36,\r
+0x32,0x3F,0x8A,0x93,0xFF,0x86,0x09,0x14,0x93,0x9D,0x93,0x50,0x10,0x00,0xDB,0x9E,\r
+0xBF,0x8B,0x6E,0xCF,0xFA,0x08,0xBB,0x48,0x7E,0x4B,0xC7,0xC8,0x55,0xDF,0x51,0x81,\r
+0x84,0xB9,0x37,0x8F,0xF5,0x25,0x44,0x69,0x8C,0x1E,0x7A,0xD4,0x03,0x2E,0x0C,0x51,\r
+0x03,0x97,0x24,0x26,0x29,0x05,0xB9,0x28,0x6F,0xE0,0x8E,0x81,0x41,0xC9,0x33,0x57,\r
+0x9B,0x2D,0x1A,0x5C,0x3D,0xE2,0x3E,0xA9,0xE0,0x4C,0xA1,0x25,0x52,0x09,0x24,0x20,\r
+0xEB,0x67,0x99,0x33,0x2C,0xD3,0xEA,0xC6,0x9A,0xC2,0x11,0x9A,0x7F,0x91,0xFE,0x9C,\r
+0x9E,0x33,0x1B,0xBF,0x96,0x1C,0x72,0xDA,0x80,0xFA,0x71,0xAD,0x93,0x3F,0xC7,0xB7,\r
+0xB3,0xD6,0x27,0xBA,0x12,0x6F,0x41,0xF4,0x49,0x1D,0x4C,0xEF,0xD1,0x07,0x64,0x8B,\r
+0xCD,0x0C,0x3D,0x02,0x4E,0x85,0xA2,0xE9,0xF9,0xBD,0xCE,0x2C,0x07,0x2F,0xBF,0x04,\r
+0x16,0x99,0x56,0xBE,0xDD,0xB5,0xBA,0x5A,0x1C,0x22,0x65,0xB2,0x47,0x6D,0x67,0x48,\r
+0x30,0x24,0xDB,0x6F,0x50,0x4D,0x46,0xA5,0xBB,0xAC,0xA6,0xFD,0x97,0xC8,0xED,0x2C,\r
+0xE7,0x5A,0x26,0xA1,0x26,0xD0,0x7D,0x7B,0x9E,0x5F,0x90,0xD4,0x89,0x67,0xED,0xA4,\r
+0xBE,0x40,0x24,0x02,0x16,0xAA,0x1C,0x04,0x58,0x27,0x2D,0x26,0x76,0xE3,0x97,0xDD,\r
+0x5A,0x2F,0xB7,0xB7,0x13,0x7E,0x53,0x75,0x17,0xAA,0x36,0x3D,0xDF,0xAB,0x76,0xC8,\r
+0xB4,0xC1,0x4C,0xE7,0x24,0xE5,0x6A,0xA1,0x5F,0x59,0x5E,0x29,0xEB,0xD7,0xD5,0x2D,\r
+0xCA,0xC9,0x77,0x17,0x30,0x7C,0x7B,0xD7,0x3C,0xB0,0xDB,0xEF,0x75,0xC1,0x92,0x71,\r
+0x69,0xB9,0x56,0xC5,0xF7,0xDC,0xFD,0xF7,0x77,0x5F,0x45,0x84,0xF6,0x75,0x7D,0x05,\r
+0x83,0xA3,0x11,0xB5,0xAE,0xB8,0xAC,0x3D,0x6C,0xB0,0x13,0xD1,0x96,0x6B,0x9C,0x31,\r
+0xB6,0x45,0xD8,0xF7,0x03,0x0A,0x2C,0x2E,0x52,0xF4,0x51,0xDD,0x8C,0xD4,0xBA,0xB5,\r
+0x73,0x25,0x1B,0xE3,0x21,0x1F,0x0E,0x4F,0x30,0x8F,0x1A,0xED,0xA6,0x81,0x4A,0xA4,\r
+0xEA,0xC6,0x77,0x9B,0x62,0x7B,0x7F,0x66,0xDD,0x90,0x9C,0xC9,0x14,0x8D,0xCA,0xDC,\r
+0x97,0xEE,0x53,0x1A,0x7B,0x3E,0xCF,0x28,0xE5,0xCA,0xDA,0xA9,0x53,0xDE,0x4C,0x84,\r
+0xA0,0xB1,0x58,0xC0,0x73,0x9F,0x70,0x3A,0xCB,0x0F,0xB7,0x8E,0x2E,0xAE,0x5F,0x62,\r
+0x02,0x9F,0xCD,0x34,0x83,0x0C,0xA5,0x39,0xF3,0x93,0x96,0x86,0x80,0x26,0x50,0xE2,\r
+0xB2,0xBE,0xD4,0x50,0xD1,0xF8,0xF6,0x97,0xF2,0x66,0x7D,0x46,0xD8,0xAF,0xDE,0x5D,\r
+0x70,0x20,0x7D,0x78,0x53,0x79,0xCB,0xD0,0x66,0xB6,0x49,0xAA,0x84,0x06,0x38,0x2F,\r
+0x6E,0x8A,0xF0,0xAA,0x2C,0x95,0x0C,0xE4,0x95,0xA6,0x40,0xB6,0x4B,0x62,0x8F,0x9C,\r
+0x9D,0x15,0x56,0xA5,0x17,0xBC,0x6A,0x3F,0xD7,0xF3,0x59,0xE5,0x02,0xF4,0xD2,0x0F,\r
+0xAD,0x18,0xD3,0x75,0xDC,0xCF,0xA2,0xC4,0xCA,0xF3,0xA5,0x59,0xC9,0xBB,0x03,0x2E,\r
+0x3A,0xFF,0x9F,0x3E,0x05,0xFD,0xCE,0x74,0x32,0xB4,0x47,0xE8,0xC6,0xE1,0x3C,0xCE,\r
+0xC0,0xFE,0x1C,0xC7,0x65,0x0F,0x07,0xFC,0xAA,0x55,0x42,0x39,0xD2,0xC6,0x56,0x45,\r
+0xBA,0x29,0x48,0xF3,0x9A,0x77,0xF9,0xF8,0x59,0x55,0x27,0x7E,0x1C,0x0D,0xAB,0x04,\r
+0x8C,0x7E,0x0F,0xC2,0xE0,0x6C,0x06,0x98,0x3F,0x43,0x22,0x5C,0x2A,0x78,0x87,0xC3,\r
+0xD5,0xCE,0x09,0x9A,0xF8,0x4A,0x86,0x00,0xF1,0x81,0xE6,0x67,0x79,0x01,0x75,0xC6,\r
+0xF9,0x4F,0x2A,0x15,0xE4,0xF3,0x24,0x88,0x26,0x61,0xD6,0x8E,0x9D,0x0E,0xF3,0x87,\r
+0xB0,0x35,0x6D,0x73,0xE6,0x5F,0x29,0x25,0x9A,0x58,0x1B,0x2B,0xC7,0xFF,0x64,0xF7,\r
+0x5D,0x6A,0x01,0xBC,0xB7,0x48,0x0B,0xA4,0x13,0xF6,0x19,0x91,0x99,0x23,0x58,0xF2,\r
+0x68,0xC2,0x23,0x3F,0x33,0xA4,0xF5,0x64,0x45,0xB7,0x35,0x46,0x60,0x2A,0x3A,0x9D,\r
+0xEC,0x88,0xFE,0xE5,0x96,0x1E,0x8E,0xD6,0x91,0x95,0xEE,0xCF,0x61,0xC3,0xF7,0x21,\r
+0xD2,0x2C,0x0D,0x17,0xFC,0xDD,0xE5,0x7A,0xDD,0x63,0xA9,0x2F,0x04,0xF0,0x7A,0x8C,\r
+0x88,0xD4,0xCF,0x6D,0x77,0x4B,0x26,0xEC,0x10,0x8B,0x87,0xBC,0xFD,0xA8,0xD8,0x36,\r
+0xD9,0xB7,0x79,0x86,0xED,0x57,0xB6,0xED,0xDC,0xF1,0x9A,0xF0,0x91,0xC2,0x64,0x16,\r
+0xD1,0xEA,0x0C,0xFF,0xF4,0xEA,0x5B,0xD7,0x24,0x11,0x41,0xA3,0xEE,0x39,0xB5,0xF3,\r
+0x3B,0xC7,0x9D,0xB8,0x6D,0x8E,0x04,0xFA,0x02,0x7F,0x17,0x64,0x35,0x27,0x1C,0x6B,\r
+0x98,0x06,0x7F,0xAF,0x3B,0x2E,0xC2,0x30,0x1E,0xCB,0x89,0x37,0x9E,0x93,0x20,0xDE,\r
+0xE6,0x25,0x2A,0xA4,0x3E,0xB7,0xDC,0xC8,0x91,0x93,0x0C,0x0A,0xCE,0x85,0xC9,0xA4,\r
+0x08,0xB1,0x94,0x2A,0xFC,0x2C,0xB8,0x25,0x23,0xCF,0x64,0xEF,0x03,0xF9,0x19,0x6E,\r
+0xEC,0xDC,0xDC,0x44,0x34,0xF8,0x04,0x10,0xDE,0xDE,0x7F,0xF5,0x2C,0xB1,0x45,0x9A,\r
+0xB5,0x1C,0x4D,0xF8,0xF5,0x82,0x9F,0x89,0x6C,0x89,0xC2,0x39,0xA3,0x35,0x26,0x95,\r
+0x62,0x74,0xB6,0x4C,0xFA,0x1F,0xBC,0x1E,0xB8,0xDC,0xF4,0x58,0x14,0x9A,0xD7,0x43,\r
+0x22,0x0D,0x97,0xB7,0x9C,0x2B,0x9E,0x8A,0x4D,0xCD,0x1B,0xEB,0x3A,0x54,0x21,0xA8,\r
+0xE0,0x27,0x04,0x48,0xE5,0xAA,0x2F,0xA4,0x23,0x96,0x2F,0x29,0x46,0xFD,0xFF,0x24,\r
+0x50,0xC7,0x4E,0x29,0xD3,0x5E,0x7F,0xBE,0xE5,0xE1,0xC4,0x2F,0x8F,0x74,0x48,0x0A,\r
+0xF2,0x22,0x56,0xF6,0x28,0xCD,0x1F,0x42,0x8F,0x43,0xE5,0x3F,0x63,0xFC,0x2B,0x08,\r
+0xC5,0x58,0x72,0x47,0xA1,0x6C,0x80,0x47,0xF5,0x6F,0x88,0xC0,0xC2,0x8C,0x64,0xEE,\r
+0xB8,0x2B,0x2E,0x01,0xDA,0x29,0x53,0x44,0x37,0x4B,0xCE,0x82,0x77,0xDF,0x21,0x7F,\r
+0x21,0xF1,0xEA,0x58,0xDA,0x4D,0xB8,0x93,0xDC,0x92,0x48,0xB4,0x5E,0xD3,0xFD,0x18,\r
+0xE4,0xF3,0x9B,0x30,0x57,0x58,0x8E,0x54,0xD5,0xF5,0x03,0xA4,0xCE,0x86,0xF6,0x86,\r
+0x87,0xC9,0x98,0x33,0xC6,0x18,0x83,0x16,0x46,0x54,0xB4,0xE4,0x14,0x53,0xDB,0xB2,\r
+0xDE,0x8D,0x68,0x53,0x9D,0x3E,0xDF,0xE4,0x21,0xEF,0x70,0x22,0xAC,0x2A,0xCF,0x4C,\r
+0xE8,0xBF,0x2E,0x42,0xBF,0x25,0xB1,0x97,0x00,0x48,0x75,0x7A,0x6B,0x5F,0xDA,0x26,\r
+0x92,0xE8,0xB7,0x69,0xB6,0x5D,0xCD,0x15,0x3B,0x60,0x10,0x69,0x3B,0x94,0xA5,0x48,\r
+0x68,0x63,0xDD,0x58,0x3B,0xAF,0x07,0x65,0x0B,0x11,0x15,0x88,0xAC,0xB3,0x29,0xBA,\r
+0xFF,0x75,0x39,0xBC,0x55,0x9D,0xB1,0xEC,0xE6,0x8C,0xF7,0x21,0x11,0xE9,0xA6,0x38,\r
+0xCF,0xBF,0x07,0x6B,0xA5,0xEE,0x63,0xB7,0xF9,0x1B,0x0B,0x22,0xA1,0xA6,0x87,0x2F,\r
+0x3C,0xBF,0x43,0x74,0x42,0xC7,0x4D,0xC3,0xD1,0x9C,0x12,0x93,0xBE,0x30,0x3F,0x0B,\r
+0x8B,0x77,0x14,0x91,0xC0,0x05,0xAE,0xFC,0xAD,0xE9,0xC8,0x57,0xF3,0x90,0xAD,0x62,\r
+0xDA,0xC5,0x71,0xEE,0x61,0x19,0x7A,0x34,0x75,0x3D,0xD5,0x13,0x28,0xFA,0xE1,0x01,\r
+0x80,0xF1,0x4A,0xED,0xF2,0x8F,0xEC,0x7C,0x8F,0x1F,0xFB,0xFA,0x85,0xA2,0xB0,0x70,\r
+0xBE,0x2C,0x09,0x9A,0x9F,0x4C,0xBE,0x21,0x3F,0xB6,0xBC,0x50,0x79,0x91,0xE7,0x95,\r
+0x3A,0x03,0x1C,0x35,0xA9,0xF6,0x5F,0x17,0x54,0x18,0x67,0x94,0x46,0x78,0xEF,0xB2,\r
+0x0F,0x6A,0xD2,0x37,0x9B,0x1A,0xDE,0x8C,0x45,0x1F,0x4B,0x20,0xD5,0x71,0xA3,0x01,\r
+0xE2,0x03,0x31,0x27,0xEC,0x0D,0x71,0x85,0x7D,0x03,0x49,0x06,0x9C,0xAD,0x73,0x5E,\r
+0xAB,0xE4,0xC4,0xFA,0x41,0xA1,0x0A,0x61,0xD6,0xDB,0x84,0xA6,0xFD,0x5C,0x82,0x2C,\r
+0xD8,0xE6,0x6B,0x6A,0xAD,0x72,0x12,0xA2,0x84,0xAC,0x0A,0x23,0xD9,0x59,0x90,0x57,\r
+0x66,0x22,0x4A,0xAC,0x30,0x6A,0xDC,0x32,0x97,0x85,0xF1,0x2E,0xFD,0x0E,0xDD,0xA9,\r
+0xBD,0x21,0xFF,0xE5,0x16,0x47,0xA4,0x18,0x09,0x46,0xDB,0x98,0x73,0xA9,0xDD,0x20,\r
+0x07,0x26,0x76,0x39,0x8F,0x31,0xBD,0xD3,0x87,0x00,0x33,0x32,0x5E,0x38,0xD9,0x74,\r
+0x6B,0x6A,0x10,0x52,0x50,0xB6,0x78,0xB3,0xD8,0x7F,0x6E,0xC3,0xAF,0x04,0x86,0xAD,\r
+0x36,0x9A,0x18,0x23,0xA2,0x7A,0x85,0xD5,0x76,0x1E,0x20,0x06,0xD5,0x63,0x2A,0xFD,\r
+0x99,0xA1,0x05,0x36,0x66,0x32,0x66,0x40,0xF7,0xC4,0x97,0x09,0x15,0x96,0x71,0xBC,\r
+0xAE,0xC2,0xED,0x58,0x33,0xCB,0x61,0x02,0x3D,0x6E,0x02,0x23,0xA2,0x69,0x47,0x84,\r
+0x76,0xAC,0xD2,0x46,0xD0,0xEF,0xAF,0xB9,0x3F,0xEA,0x8A,0xFC,0x15,0x42,0xDE,0x3E,\r
+0x61,0x62,0xB9,0x3B,0x30,0x7E,0x5C,0xD7,0x45,0x7A,0x11,0x50,0x99,0xD0,0x4F,0x4A,\r
+0x73,0x74,0x04,0xB8,0x5B,0x06,0x85,0x70,0x98,0xCC,0xBB,0x7B,0x20,0x01,0x19,0xE4,\r
+0x9E,0x01,0x53,0x50,0x05,0x14,0x70,0x3F,0xD9,0x8B,0x65,0x6F,0x99,0xA7,0xCC,0xB8,\r
+0xCA,0xB4,0x9E,0xCA,0xF0,0xE3,0x1E,0x37,0xB3,0xDF,0x40,0x3A,0x22,0x79,0x72,0x9D,\r
+0x1C,0x49,0x71,0x0A,0xCB,0x2D,0xF7,0x94,0xC7,0x2A,0xBA,0x30,0xB8,0xD9,0xCE,0x9B,\r
+0xFE,0x27,0x4D,0x49,0x19,0x34,0xC7,0x33,0xC9,0x9D,0xA0,0x25,0xEF,0x56,0xBC,0x37,\r
+0x26,0xC1,0x23,0x4D,0xB6,0x4F,0x10,0xDA,0x38,0x44,0xC0,0x57,0xAF,0xF5,0xD1,0x97,\r
+0xED,0x3C,0xDB,0x88,0xBA,0x5A,0x90,0x4F,0xC1,0x16,0x95,0xB7,0xC5,0x8D,0xE2,0xB5,\r
+0x60,0xD1,0x28,0x76,0x46,0xD4,0x14,0x88,0x16,0x8E,0xC1,0x6E,0x41,0x52,0x66,0x25,\r
+0x46,0x29,0x49,0x7A,0x4D,0xAC,0x20,0x86,0x1D,0xC2,0x13,0xE6,0x3E,0xEB,0x3A,0x9E,\r
+0xF0,0x2A,0x4D,0xC5,0xE7,0x1D,0xC2,0xA4,0x28,0xBD,0x7B,0x4B,0x50,0xA8,0x83,0xCC,\r
+0xDD,0x5E,0xA3,0x9C,0x69,0x6F,0xB3,0x84,0x0D,0xB3,0xC6,0x16,0xB5,0x16,0x60,0xBA,\r
+0xB2,0x35,0x80,0xCD,0x59,0xBF,0xB6,0x10,0xE0,0x80,0x09,0xAC,0xAE,0xA5,0x10,0x2A,\r
+0xD2,0x5D,0xC0,0xDD,0x67,0x45,0x4E,0x96,0xE9,0x20,0x83,0x64,0xA8,0x00,0x14,0xB0,\r
+0x24,0x69,0xBC,0x4A,0x09,0xA3,0x2E,0x1E,0x50,0x3A,0xA4,0x10,0xF7,0x4A,0x2D,0xF3,\r
+0x44,0x70,0x90,0x3F,0x84,0xE7,0x10,0x9B,0x6E,0x90,0x37,0x9A,0x0F,0x3F,0x6A,0x18,\r
+0x9F,0x90,0xAB,0xEA,0x9B,0xD7,0x53,0xB8,0x50,0xE0,0x9C,0xAF,0x18,0x7D,0x90,0x28,\r
+0xE1,0x12,0x3A,0xF5,0xC3,0x3D,0xBA,0x76,0x6A,0xAC,0x1E,0x70,0xCE,0x55,0x39,0x41,\r
+0xCC,0x33,0x04,0xD5,0xA3,0x4E,0xB2,0xC7,0x19,0x56,0x23,0x6D,0x43,0x6D,0x20,0x9E,\r
+0xB9,0xCD,0xD9,0x13,0x4E,0x81,0x4C,0x22,0x1D,0x27,0x43,0x8F,0xE5,0xC3,0xC5,0x2C,\r
+0xC9,0xFB,0xF9,0xD4,0xD3,0xB0,0x3C,0x29,0x19,0xA0,0xF3,0xA2,0xC1,0x5B,0x07,0x19,\r
+0x51,0xBF,0x1D,0xCA,0x39,0x57,0x47,0x17,0xCB,0xC4,0xDC,0xF0,0xE5,0x9B,0xB1,0x20,\r
+0xD6,0xBD,0xA8,0x83,0x1F,0x77,0x40,0x8B,0x56,0x65,0x28,0xA5,0x81,0x7C,0x4C,0x92,\r
+0x50,0xE1,0x19,0xDB,0xB0,0x8D,0x37,0xC3,0xAF,0x38,0xE2,0xA1,0xBA,0x88,0xE1,0x8E,\r
+0x9C,0x33,0x2E,0xBD,0xC9,0xD0,0x7C,0x07,0xB7,0x1B,0x85,0xE5,0x9D,0xC6,0xE8,0x29,\r
+0xD4,0x14,0x85,0xE2,0xAF,0x7F,0x17,0xF4,0x02,0x0A,0x70,0x2D,0xE2,0x71,0x04,0x52,\r
+0x2D,0x29,0x33,0x81,0xD1,0x48,0x4C,0x2D,0x1E,0xC7,0x8F,0x03,0x2E,0xE4,0xCD,0xB9,\r
+0x94,0x3A,0x71,0xC1,0xFF,0x3E,0x13,0x3C,0x6A,0x88,0xBF,0xBC,0x4E,0xEC,0x8C,0x35,\r
+0x8C,0xAC,0x4C,0x54,0x67,0x80,0x0B,0x98,0x9E,0xDD,0xE8,0x55,0x23,0x17,0xE8,0xD2,\r
+0xA1,0xBE,0x22,0xE7,0xB0,0x5B,0x73,0x78,0x0A,0x5A,0x4F,0xFD,0x66,0x3D,0x51,0x34,\r
+0xD7,0xDB,0x9F,0x34,0x64,0xE1,0xBB,0xFF,0x50,0x73,0xDE,0x31,0x03,0xD5,0xB2,0xD3,\r
+0x05,0x31,0x95,0x42,0xCF,0x2C,0xA7,0x12,0x08,0xA2,0x9F,0x5A,0xB3,0xA6,0x44,0x60,\r
+0xCB,0xE5,0x7A,0x01,0x4C,0xFA,0x07,0x91,0x0C,0x04,0x3F,0x0F,0x8E,0x5C,0x56,0x41,\r
+0xD2,0x43,0x85,0x4C,0xFD,0x18,0x40,0x5D,0x38,0x0E,0xB0,0xD6,0xC0,0x46,0x63,0xDA,\r
+0xA9,0xB8,0x84,0xC6,0x07,0xC0,0x30,0xC7,0x90,0x89,0x13,0xDD,0xE3,0x26,0xF9,0xBE,\r
+0x09,0x17,0xE8,0x55,0x03,0x90,0x30,0x42,0x33,0xDE,0xA4,0xA5,0xE2,0x6C,0xB5,0x19,\r
+0x98,0xD4,0xAB,0x0D,0x80,0x87,0x63,0x74,0x73,0xA4,0x36,0x6F,0xF6,0xF7,0xB6,0xDF,\r
+0xE0,0x08,0x97,0xFF,0x34,0x95,0x20,0xA6,0xB3,0x59,0xE7,0xD1,0x36,0x5D,0x47,0x5B,\r
+0xF2,0x73,0xD0,0x54,0x75,0x78,0xD5,0x1C,0x28,0x26,0x41,0x49,0x85,0x83,0x03,0x7E,\r
+0x89,0x86,0x64,0x24,0x30,0x3B,0x7D,0xF8,0xE8,0x40,0xF0,0xA0,0xFE,0x20,0xB5,0x44,\r
+0x59,0x5F,0xD8,0x0E,0xC6,0x54,0x94,0x87,0x8C,0xF1,0x43,0x81,0x51,0xEF,0x68,0x9F,\r
+0xA3,0x93,0xF2,0x8C,0xE1,0x34,0x24,0x51,0xF9,0x4D,0xE6,0x2E,0xCD,0x65,0x6C,0x90,\r
+0x45,0x52,0x9E,0xFC,0x18,0xC2,0x7B,0x11,0x7E,0xFA,0xAC,0x40,0xD8,0x42,0x76,0xF3,\r
+0xBC,0xF3,0xB8,0x44,0x2C,0x0B,0xC0,0xB1,0xA8,0xD1,0x6B,0x53,0x55,0x73,0x8A,0xB7,\r
+0x32,0xEA,0xC8,0xC2,0x96,0x86,0x36,0x4A,0x9C,0x31,0xB4,0x9F,0x86,0x27,0x56,0x47,\r
+0x4A,0x66,0xD9,0xAF,0x4E,0xA0,0x94,0xDC,0xED,0xF2,0x0D,0xE5,0xC2,0xF5,0xA0,0x04,\r
+0xFB,0xCC,0x49,0x52,0xBB,0x16,0xCA,0x7A,0x5F,0xDA,0x4E,0x89,0x2A,0x9D,0x28,0x71,\r
+0x67,0x71,0x20,0xC2,0x71,0x5F,0x25,0x0A,0x0E,0x94,0x25,0xD4,0xDA,0xA5,0x4E,0xA0,\r
+0x56,0xF9,0x15,0xED,0x65,0x2F,0xE1,0x47,0xA3,0x20,0xBD,0x27,0xFF,0x15,0xD5,0x44,\r
+0xB1,0x44,0x8F,0xB7,0x9B,0xB7,0x1B,0xA1,0x88,0x21,0x7D,0xAF,0x24,0x3A,0x49,0xC5,\r
+0x91,0x38,0x65,0xB0,0x1B,0x30,0x5D,0xCC,0x85,0x72,0x9A,0x1C,0x87,0xCE,0x54,0x70,\r
+0x01,0xD9,0xDF,0x29,0xC8,0xA2,0xBD,0xD8,0x78,0x9E,0xD9,0xC8,0x14,0xD1,0xFF,0xA2,\r
+0x31,0xC9,0xBD,0xC9,0x1E,0x79,0xBC,0x22,0x06,0x2D,0x9B,0x7B,0x22,0x7A,0x17,0xC7,\r
+0xDB,0x31,0x2C,0xB3,0x03,0x07,0x87,0x5E,0x39,0xE0,0xB3,0x71,0x22,0xF8,0x7A,0x66,\r
+0xA8,0x1B,0x67,0xA4,0x3C,0x2A,0x20,0x8F,0xB0,0xC2,0x8B,0xB9,0x83,0xC5,0x6D,0x8A,\r
+0xCA,0xE9,0x75,0xF2,0x45,0xEE,0xAB,0xFA,0xBC,0xDF,0x1F,0x1D,0x62,0x82,0x98,0x5F,\r
+0x1E,0xDB,0x17,0x9D,0xA7,0x0A,0x50,0xEC,0x38,0x6E,0x57,0xEB,0x61,0x99,0xC4,0x12,\r
+0x64,0x3C,0x01,0xC4,0x66,0x53,0xB4,0x48,0x99,0x91,0xD3,0x89,0x73,0x24,0x9D,0x00,\r
+0xF9,0x77,0xBB,0x02,0x3F,0x84,0x28,0xE4,0x00,0x80,0x7C,0x67,0xBA,0x12,0xF8,0x36,\r
+0x0C,0x7F,0x69,0x14,0xAF,0x37,0x10,0xB6,0x4A,0xC4,0xDF,0x0C,0x37,0xA7,0x55,0x60,\r
+0x68,0x35,0x45,0x9F,0x71,0xDD,0x08,0x8A,0xA2,0xEA,0xC1,0x22,0x48,0xF1,0x68,0x61,\r
+0xC8,0xCE,0x56,0x51,0x7D,0x7E,0x75,0x1A,0xC1,0x22,0x75,0x49,0x15,0x6F,0xF8,0x47,\r
+0x51,0xF5,0x91,0xAC,0x39,0x00,0xDC,0x0F,0x41,0xD1,0x63,0xB8,0x0C,0xEA,0xBD,0x41,\r
+0x8A,0xFD,0x6C,0x9D,0x7F,0x23,0x14,0xCD,0xC6,0xEA,0x6A,0x07,0xEA,0x6E,0x7D,0x82,\r
+0xCF,0x8C,0x0B,0x00,0x53,0x5E,0xD1,0x90,0x3A,0x53,0x39,0x12,0x7E,0x28,0x61,0x33,\r
+0xAB,0x1D,0xD6,0xA8,0x02,0xC7,0xA2,0x9C,0xB7,0x25,0x35,0xBE,0xAD,0xAE,0xB0,0x40,\r
+0xBE,0x03,0x5D,0x2D,0xA0,0x02,0x1C,0x90,0xE6,0x3D,0x60,0xE9,0xB6,0xE5,0x56,0x39,\r
+0xCD,0x1F,0x30,0x25,0x4E,0xC4,0xAA,0x3E,0x3D,0xFB,0xB2,0x3B,0x1E,0xFD,0xC0,0xD4,\r
+0x4C,0xDE,0x4A,0xA2,0xAD,0x06,0x22,0x11,0x8F,0x6F,0x1B,0x79,0x54,0xC9,0x9F,0x47,\r
+0xB8,0xEA,0x16,0x3B,0x6F,0xB6,0x0B,0x51,0xEB,0x11,0x92,0x5E,0xA3,0x22,0x02,0x86,\r
+0x2B,0x2E,0xB4,0xFC,0x10,0x14,0x74,0xEE,0x18,0x61,0x1A,0x58,0x82,0x03,0x1B,0xDB,\r
+0x49,0x05,0xA3,0x25,0x00,0x8E,0x46,0x9D,0x0E,0x0E,0x55,0x6F,0x6B,0xF3,0x98,0xB3,\r
+0x7B,0xF0,0xD3,0x1D,0x8B,0x19,0xC6,0xD7,0x6D,0xDC,0x0F,0x09,0xE3,0x11,0x1B,0x25,\r
+0x08,0x0A,0x09,0x6F,0x4B,0x29,0x4E,0xAB,0xC2,0xD2,0x40,0x95,0x5C,0xED,0xA8,0x74,\r
+0x21,0xE0,0x70,0x44,0x64,0xDA,0x6C,0x4B,0x57,0xA3,0xD6,0x5E,0xEA,0xF4,0x71,0x23,\r
+0xFE,0x7A,0xFA,0xB4,0xB6,0x61,0xA9,0xBC,0xD5,0xFF,0xB5,0x5D,0x9A,0x52,0x1D,0xA3,\r
+0xD8,0x77,0xCA,0x3F,0x36,0x38,0xB7,0x9A,0x02,0xF1,0xCC,0xE6,0x9F,0x96,0x5C,0x64,\r
+0xC3,0x91,0x0F,0x4E,0x6C,0x0E,0xBB,0xA7,0x09,0x84,0xB9,0xA3,0x05,0x93,0x89,0x71,\r
+0xBB,0x42,0x7E,0x94,0x1E,0x74,0x27,0x01,0x4A,0x43,0x72,0xC2,0xE0,0xF6,0xB1,0x85,\r
+0x10,0x97,0x39,0x3C,0xB1,0xDC,0xE3,0x35,0x9B,0x67,0x9E,0xB3,0x52,0x81,0x87,0xE2,\r
+0xFC,0x30,0x2B,0xF5,0x5B,0xE9,0x56,0x97,0x8A,0x30,0x97,0x9F,0x8A,0xAD,0x40,0x38,\r
+0xEB,0x90,0x1A,0x8A,0xE8,0x04,0x45,0x28,0x2F,0xDB,0x4B,0xC1,0xC9,0xAF,0x4E,0x23,\r
+0x47,0xAB,0x3C,0xF8,0xDC,0x4D,0xED,0x3E,0x6C,0x7E,0xBA,0x15,0xEE,0x62,0x49,0x45,\r
+0xE3,0x4E,0xB8,0x53,0x6A,0x6D,0x86,0xEF,0x8D,0x58,0x76,0xDF,0x8F,0x2E,0xD1,0x29,\r
+0xFF,0x46,0x40,0xF2,0x92,0x3C,0x36,0x0B,0x66,0x9B,0x1C,0x59,0x2B,0x33,0xB6,0x2B,\r
+0x69,0x99,0x34,0xA2,0x4D,0x66,0x39,0xFC,0xD3,0x4D,0x44,0x77,0x47,0x1D,0xB4,0x34,\r
+0xAA,0xE0,0xA7,0xB8,0x56,0x58,0x71,0x05,0xBB,0x38,0x77,0x14,0x23,0x5A,0x73,0x3C,\r
+0xD2,0xF5,0xFC,0x5E,0x3E,0xB7,0x92,0xB3,0xAC,0x96,0x70,0x15,0x46,0x1B,0x91,0x19,\r
+0x2B,0x23,0xDC,0x11,0x04,0x80,0x67,0x32,0xE5,0xB5,0x8F,0x06,0x9A,0x8E,0x25,0x4E,\r
+0x63,0x4E,0xB1,0xA2,0xCF,0x2F,0x8A,0x32,0x3C,0x8E,0x7A,0xEB,0x87,0x39,0x46,0x2A,\r
+0xAF,0xEE,0x9B,0x43,0x8D,0x72,0xC0,0xD5,0xB9,0x37,0x1D,0xDD,0xB4,0x77,0x8B,0x5B,\r
+0x28,0x0A,0xEB,0x92,0xDE,0x1E,0x3F,0xBC,0x75,0x62,0x21,0x87,0x6C,0x2A,0x4C,0x0F,\r
+0x5E,0x2C,0xA0,0x9C,0x70,0xA4,0x35,0xD9,0x80,0xC8,0xB0,0xDB,0x1F,0xC2,0xB3,0xCD,\r
+0x73,0x12,0xC5,0x54,0x00,0x7F,0x97,0xA5,0xB2,0xB8,0x17,0xF2,0x7C,0xE8,0x83,0xBB,\r
+0x6B,0x91,0x8B,0x49,0xCE,0xC1,0x4E,0x1C,0xFF,0x93,0x40,0x4F,0x68,0x13,0xDE,0xAB,\r
+0x56,0xC2,0xD9,0xB0,0x08,0x3F,0x3F,0xA3,0xE0,0xED,0xEC,0x60,0xAD,0xD9,0x4F,0x7B,\r
+0x2D,0xEA,0x57,0xFB,0x6B,0xE7,0x36,0xB0,0xD0,0x22,0x4F,0x8F,0xFF,0xB9,0x27,0x4A,\r
+0x34,0x31,0xA9,0x6E,0x1F,0x05,0x09,0x34,0xC4,0xB6,0xC0,0xBC,0xEB,0xA3,0x57,0x3A,\r
+0xFA,0x49,0x32,0x26,0x7F,0xD3,0x7F,0xDC,0xB9,0x35,0x60,0x2D,0x75,0x59,0x23,0xBC,\r
+0x0D,0x1A,0x86,0xCF,0x67,0x87,0x4C,0xD2,0xD7,0x5B,0xBE,0xC5,0x20,0x7C,0xAB,0xF3,\r
+0x1F,0xB0,0xC0,0xCA,0x98,0x6A,0x53,0x28,0xBA,0x5A,0x18,0xE7,0xE9,0xA2,0x40,0x3D,\r
+0x67,0xC8,0xF6,0x8E,0x61,0x78,0x4D,0xDB,0x6C,0x93,0xC9,0xB2,0x85,0x08,0x06,0xDA,\r
+0xF6,0x3C,0x96,0xD6,0xC6,0x6F,0xC7,0x25,0x34,0xC9,0x5B,0x71,0x79,0x93,0xC6,0x31,\r
+0xBA,0x5B,0xB1,0x2F,0x7A,0x3D,0x76,0xB3,0xEC,0xE0,0x53,0xFF,0xA9,0xBD,0xA2,0x1A,\r
+0x5C,0xFD,0x4C,0x75,0xF9,0xCB,0x3A,0xC9,0x4E,0xB8,0x19,0xE8,0x89,0x9A,0x1D,0x5C,\r
+0xA6,0x4E,0x48,0x93,0x7D,0xAB,0xF5,0x1A,0xFB,0xD1,0xBC,0x96,0x50,0x10,0xA9,0x73,\r
+0x76,0x85,0x8C,0x91,0x8C,0xC4,0x69,0x90,0x6C,0x57,0x0F,0x20,0x59,0xDF,0x6D,0xED,\r
+0x04,0x9C,0x94,0xF4,0x7F,0xE9,0x02,0xD5,0x12,0x03,0xB1,0x01,0x09,0x62,0x3F,0xB5,\r
+0xB5,0xB0,0x5A,0xF5,0xCF,0x5F,0x12,0xFA,0xE9,0xE1,0xF2,0xE3,0xB5,0x0A,0xD2,0x31,\r
+0xCD,0x54,0x9E,0xBC,0xD2,0x79,0x8F,0x6C,0xB5,0x6A,0x4B,0x7C,0x2E,0xD8,0x86,0x6E,\r
+0x43,0x87,0x34,0x12,0x15,0xF4,0xCF,0xC7,0x39,0x7F,0x94,0x26,0x82,0x8C,0xC4,0xF8,\r
+0x6E,0x51,0xF4,0x55,0xBC,0xCF,0x61,0x65,0x8B,0xAE,0x65,0xEA,0xF8,0x31,0xEB,0x04,\r
+0x4E,0x59,0x7E,0xB8,0x72,0x48,0x6F,0x9B,0xB9,0x1A,0x82,0xB3,0x50,0xC5,0x14,0x03,\r
+0xA9,0x41,0x04,0xBE,0x8F,0xD0,0x48,0x01,0x7A,0x58,0x42,0x66,0x33,0xEA,0x8F,0x2F,\r
+0x98,0xE5,0x5F,0xA1,0x41,0xA0,0xCC,0xD5,0xC0,0xB9,0xDA,0x38,0xB9,0x5A,0xAC,0xE3,\r
+0x57,0x83,0x46,0x60,0x37,0xD5,0x35,0x49,0x5A,0x42,0x74,0x30,0x2E,0x3A,0x7F,0xDE,\r
+0x24,0xD8,0x16,0x6F,0x9D,0xF8,0x44,0xA3,0xB7,0x97,0x4C,0xB6,0x2D,0x07,0x87,0x72,\r
+0xCE,0x57,0x14,0xBF,0xFB,0x86,0xD0,0x34,0xEF,0x01,0x64,0x5A,0x0E,0x85,0x84,0x07,\r
+0xFE,0xD7,0x31,0xCF,0xB4,0x5D,0x69,0x25,0xE5,0xD8,0x26,0x66,0x4F,0x2E,0xD6,0x4A,\r
+0x06,0xB0,0x1C,0x33,0xBC,0x7B,0x31,0x31,0x77,0xF0,0x83,0x56,0x1A,0xED,0x31,0x30,\r
+0x9B,0x55,0x42,0xC8,0x43,0xAC,0xA0,0xF5,0x3D,0x92,0x2C,0x88,0xC3,0xDB,0x62,0x16,\r
+0xE1,0xA8,0x71,0xC3,0xEE,0xF5,0xD4,0x4C,0x11,0x47,0xA8,0x8B,0xC5,0x66,0x47,0x9E,\r
+0x35,0x46,0x1F,0x1A,0xDB,0x11,0x81,0xEB,0xF2,0xFA,0xE0,0x3D,0x25,0x7D,0x97,0x36,\r
+0xAE,0x31,0x97,0x53,0xE6,0xFF,0x57,0x2D,0xC4,0x80,0x9C,0x8C,0x70,0x15,0x6E,0x31,\r
+0x37,0x70,0x05,0x6E,0x4A,0x81,0x86,0x59,0x0A,0x8F,0x8A,0x15,0x99,0x90,0x04,0xEA,\r
+0x97,0x85,0x2D,0xAD,0xA5,0x22,0x36,0xBE,0x58,0xE2,0x3E,0x72,0xC7,0x0E,0x02,0x45,\r
+0xF3,0xE6,0x6B,0xC7,0xF4,0xC8,0x43,0x3B,0xF7,0x2B,0x20,0xC3,0x46,0x58,0x3A,0x27,\r
+0x41,0xDC,0x40,0x85,0xCC,0xFD,0x64,0x21,0x18,0x84,0x9F,0x9D,0x9D,0x1A,0x9C,0x60,\r
+0x54,0xF6,0x70,0xCC,0x3E,0x38,0x30,0x4A,0xD1,0xD8,0xCA,0x1A,0x1F,0x51,0xFE,0xD7,\r
+0x30,0xD9,0x0C,0xC5,0xB8,0xA1,0xA3,0xB5,0x3E,0x9B,0xC6,0xB5,0x10,0xD7,0x38,0xE2,\r
+0x75,0x7B,0x14,0xDF,0x64,0xDC,0x1C,0xBE,0x62,0xCF,0x95,0x42,0xF8,0x91,0xCD,0x52,\r
+0xD4,0x20,0xCE,0x49,0xB6,0xEB,0xEE,0xC0,0x8C,0x76,0xE5,0x5C,0x84,0xFC,0xBB,0xA0,\r
+0x47,0xD0,0x58,0x61,0x81,0x49,0xB3,0x8F,0xD8,0x3B,0x6D,0xE9,0xE7,0xDD,0xE6,0x70,\r
+0xB3,0x29,0xF6,0xF5,0x20,0xF9,0xE0,0xF9,0xCE,0xC9,0xE4,0xC0,0x9A,0x36,0x45,0x77,\r
+0x32,0x8D,0xF3,0x01,0x9D,0x3B,0x86,0x42,0xA6,0x9B,0x4D,0xF8,0x96,0x02,0x1A,0xD9,\r
+0xDE,0xED,0x94,0x4E,0x13,0x25,0x4B,0x00,0x31,0xC1,0x29,0x72,0x22,0x0B,0x4E,0x2F,\r
+0xF7,0x78,0xA5,0xBB,0xFF,0xD6,0xB0,0x58,0x65,0x8E,0xBF,0xCD,0x5F,0x12,0x11,0x1F,\r
+0x84,0x57,0x83,0x15,0x2F,0xE6,0xAC,0x9B,0x62,0xEA,0xF0,0x22,0x6C,0xEE,0x2E,0x7D,\r
+0xB6,0x7D,0x3A,0x8F,0x99,0x71,0x1F,0x89,0xFC,0x6A,0xAA,0x1B,0x2F,0x0C,0x28,0xDB,\r
+0x44,0x65,0x6A,0x33,0x41,0x8B,0xE7,0x36,0x0D,0x73,0x8D,0x9F,0x4A,0x09,0x0B,0xF7,\r
+0x3C,0x57,0xA8,0x59,0x20,0xF1,0xC8,0x39,0x36,0xBC,0x46,0x76,0x02,0x6C,0x88,0x3C,\r
+0x27,0x40,0xE8,0xA9,0xA9,0xC7,0x32,0x0E,0x1F,0xBE,0x33,0x4E,0xEE,0x69,0x27,0xB2,\r
+0x01,0x98,0x35,0xBB,0xA9,0x9E,0xE1,0xBC,0x8B,0x83,0x4A,0x2C,0xEC,0xAD,0x7E,0x7A,\r
+0xB8,0x26,0x7D,0xA9,0xF1,0xB2,0xB7,0xB2,0xF2,0x30,0x45,0x39,0x08,0x9D,0x18,0x69,\r
+0x14,0x56,0xFC,0xF3,0x15,0xFB,0xF5,0xE6,0xD2,0xF0,0xB4,0x93,0xEB,0x50,0x2C,0xF1,\r
+0x03,0xBC,0x80,0xEC,0x50,0x16,0x8B,0x2A,0x7B,0x41,0x68,0x68,0xF0,0x52,0x08,0x2F,\r
+0xEF,0x9E,0x1F,0x9B,0x2E,0x23,0xED,0xC2,0x59,0x0B,0x61,0x1A,0xB0,0x7E,0xCD,0x33,\r
+0x55,0x56,0xFF,0x95,0xBD,0xA7,0x07,0xB3,0x79,0x5B,0x88,0x27,0xB1,0xA5,0x35,0xB6,\r
+0x96,0xCB,0x73,0xFA,0xAD,0x99,0x3F,0xB6,0x79,0x7B,0xBB,0x6D,0xB6,0xE2,0xC3,0x01,\r
+0x00,0x9E,0x7C,0x39,0xA9,0xC3,0x0B,0xA5,0x14,0x4D,0xE3,0xC1,0xBA,0xCC,0x22,0xA7,\r
+0x1C,0x93,0xCA,0xC6,0xEA,0x92,0xBB,0x46,0xD3,0x45,0x89,0x19,0xEF,0xD1,0xF9,0xA7,\r
+0xA1,0xB0,0x37,0x3E,0xCB,0x85,0xBA,0xDA,0x0F,0xE3,0x74,0xCB,0x09,0xE9,0x68,0x61,\r
+0x75,0x2A,0x69,0x41,0xEC,0x61,0x4A,0x85,0x77,0x2E,0x3C,0x6C,0x77,0xF2,0xB7,0xA3,\r
+0x0F,0x51,0x29,0xC4,0x80,0x38,0x00,0xE9,0xDF,0x23,0xB8,0xDD,0x97,0x4F,0x41,0x03,\r
+0x92,0xAE,0x94,0xA3,0x4B,0xEF,0x20,0xA9,0x7C,0x68,0x17,0xB0,0x0E,0x79,0xF2,0x31,\r
+0x67,0x5B,0x73,0xD8,0x25,0x5C,0xF7,0x33,0xFD,0x05,0xB4,0x4A,0x7E,0xCC,0x9D,0x68,\r
+0x03,0xD8,0x20,0x50,0xE9,0xB6,0x2E,0xFA,0x56,0xA6,0xAA,0xF5,0xD2,0x9A,0x96,0xB0,\r
+0xA3,0x8D,0xEB,0xBC,0xCC,0x15,0xFC,0x8D,0x5B,0x85,0x1E,0x52,0x3C,0x04,0x59,0x84,\r
+0x3A,0xD5,0xD8,0x0E,0x7C,0x6B,0x23,0x9E,0xE6,0x09,0x08,0x36,0xF8,0x81,0xF6,0xEF,\r
+0xE1,0x1E,0x3E,0x62,0x51,0x48,0x48,0xB4,0xC4,0x0A,0x01,0x2F,0x40,0x05,0x52,0x5E,\r
+0xA4,0x5F,0xCA,0xBE,0xA7,0x35,0x4D,0x27,0xA5,0x3A,0x52,0xCB,0x00,0x43,0x7D,0x73,\r
+0xC0,0x6E,0xC4,0x39,0xC5,0xAC,0x57,0x2E,0xC2,0xB4,0x5E,0x41,0xC3,0xC5,0xB7,0x06,\r
+0xD5,0x90,0x09,0x72,0x48,0x69,0x8B,0xAC,0x17,0x1D,0x0B,0xCF,0x6B,0x8E,0x06,0x3E,\r
+0xA6,0xD0,0xF8,0x53,0x22,0xAF,0x54,0x0E,0x4C,0x92,0xD9,0x61,0x72,0x96,0xE0,0xC1,\r
+0x27,0x5D,0xF5,0xCC,0xAC,0x6D,0xFF,0x98,0x8E,0x69,0x70,0xA5,0x3F,0xA2,0x2E,0x1F,\r
+0xD3,0x3F,0x7D,0x0A,0xD9,0xDD,0xFA,0xE0,0xDA,0x8C,0xF9,0x63,0x7C,0x49,0xF8,0x71,\r
+0x40,0x9B,0x90,0x41,0xC7,0x7F,0xC8,0xCE,0x72,0x89,0x71,0xF5,0x24,0x68,0xA1,0x4C,\r
+0x22,0x80,0x73,0x37,0xC8,0xE5,0x6A,0x96,0xF7,0x17,0x3E,0xBB,0xB7,0x98,0xBA,0x9F,\r
+0x10,0xCA,0xEC,0x49,0x8F,0x72,0x34,0x15,0x04,0x77,0x64,0xE2,0xFD,0x7A,0xDD,0x29,\r
+0x63,0x7C,0x07,0x9C,0xB0,0x42,0xF6,0x4E,0x06,0x11,0x2B,0x4F,0x6B,0x86,0xA6,0x49,\r
+0x4A,0xCB,0x59,0x56,0xB7,0xB1,0xA0,0x1C,0x13,0x8F,0xBD,0x47,0x0A,0x9F,0xC1,0xFB,\r
+0x95,0x4F,0xFC,0x9B,0x9F,0x0A,0x5D,0xC0,0x7A,0x89,0xDE,0x23,0x3E,0x39,0xE9,0x01,\r
+0xB3,0x9A,0xC5,0x05,0x8D,0x53,0x7A,0x4B,0x9B,0x7D,0xA7,0x69,0x56,0xFD,0x7A,0xC4,\r
+0xA8,0xF1,0x63,0x44,0x37,0x65,0x58,0x88,0xFE,0xD9,0xD2,0xFB,0xD1,0xF8,0x75,0xEC,\r
+0xD0,0xCA,0x2D,0xF4,0xC9,0x1F,0xD4,0x39,0xBC,0x74,0x19,0x39,0xC1,0x9D,0x62,0xAC,\r
+0x7B,0x3D,0x7F,0xA6,0x54,0xB7,0x34,0x88,0x8D,0xDC,0xF5,0x5E,0xD5,0xEA,0xBD,0x7A,\r
+0x97,0x5A,0xC2,0x36,0x0A,0x82,0xBC,0x01,0xC8,0x3D,0xFC,0x40,0x06,0xC6,0x46,0x9A,\r
+0x80,0xCE,0x03,0xE8,0x45,0x6F,0x1F,0xCD,0x56,0x27,0x20,0x50,0x15,0xC4,0x7F,0x4D,\r
+0x2C,0x77,0xC8,0x67,0x26,0x26,0xCE,0x54,0x18,0x6D,0xD1,0xEB,0x24,0x09,0x2A,0x93,\r
+0x88,0x01,0x75,0xFA,0x98,0x06,0x1F,0x8F,0x65,0xC2,0x1D,0x09,0xE1,0x45,0xDB,0x36,\r
+0x94,0xCA,0x35,0x24,0xE4,0x57,0xBD,0x79,0xBD,0x6A,0x77,0xDE,0xD0,0x58,0x28,0x3A,\r
+0x02,0x57,0x18,0x12,0xDA,0x0D,0x1F,0x03,0xB4,0x02,0x2F,0x09,0x26,0x76,0x5D,0xE8,\r
+0xC1,0x39,0xD4,0xAD,0xA8,0x33,0xF8,0xF4,0x15,0x1C,0x1C,0x13,0x07,0x31,0x25,0x0C,\r
+0x3B,0x2F,0x16,0xD4,0xFB,0xE6,0xA0,0x40,0x9A,0x01,0x89,0xCA,0x23,0xE3,0xBA,0x61,\r
+0xF7,0xD9,0xA5,0xB0,0xB6,0xBB,0x61,0xA9,0x87,0x88,0xEE,0xC5,0x7E,0xAD,0x7F,0xCB,\r
+0xBF,0xF0,0x28,0x25,0xD2,0x14,0x10,0x6C,0xF5,0x21,0x1B,0xBC,0x9B,0x1A,0x75,0xE0,\r
+0x46,0x02,0x6F,0xB3,0xA3,0x23,0x40,0x9F,0xED,0x28,0xE4,0x67,0xDD,0x8F,0x09,0xED,\r
+0xFF,0x37,0x8E,0xCA,0x0F,0x55,0x06,0xFC,0x7D,0xD8,0xD4,0xBD,0x79,0x87,0xA2,0xE2,\r
+0xE7,0x88,0x0C,0x4A,0x7E,0xEB,0x0D,0x4B,0x09,0xD9,0x83,0xB5,0xDA,0x7C,0xA1,0x9E,\r
+0xCA,0x34,0x41,0xC5,0xD4,0x30,0x12,0x7E,0xB2,0xE4,0x24,0xC1,0xFD,0x56,0x3B,0xE7,\r
+0xBC,0x17,0xBE,0x35,0xDC,0x8A,0x27,0x0E,0x86,0x8E,0xB5,0xB0,0xE4,0xBE,0x8C,0xBB,\r
+0x6E,0xC8,0x20,0x63,0x64,0x47,0x30,0x46,0x28,0x32,0xF4,0xE7,0xF2,0xCD,0xED,0x57,\r
+0xA0,0xF4,0xB5,0xF4,0xE1,0x91,0xE1,0x8D,0x0A,0x78,0x54,0x28,0xBB,0x37,0xBB,0xCC,\r
+0xB9,0x26,0x21,0x3C,0x2D,0x73,0x34,0x43,0xE8,0xAA,0xDB,0x34,0x2B,0x2D,0x67,0x43,\r
+0xC2,0xC9,0x3E,0x10,0x14,0xAB,0x43,0xDB,0xA4,0xC0,0x78,0x36,0x09,0x4D,0x97,0x20,\r
+0x62,0xD7,0xEB,0xE9,0x6F,0xFB,0xE9,0x01,0x1E,0xAE,0xCF,0xA2,0xC9,0x07,0xEE,0x73,\r
+0xF3,0x76,0x8F,0xB8,0xAC,0xEC,0x2A,0xBB,0x01,0x43,0x5D,0xAA,0x07,0x9C,0xEA,0x0E,\r
+0x8B,0x20,0xA7,0x0E,0x16,0xFE,0x00,0x82,0xD9,0x42,0x8C,0x9B,0x04,0x36,0xB6,0x93,\r
+0x99,0x64,0x6F,0x41,0x35,0x13,0xD1,0x27,0xB8,0xD4,0x2A,0xFF,0x8C,0xE8,0x8C,0x30,\r
+0xE2,0xB6,0x75,0xF7,0x74,0x50,0xE5,0xAB,0xDC,0x9C,0x9B,0x4D,0xD6,0x4B,0x78,0x7C,\r
+0x32,0xA1,0x7B,0x28,0x7F,0x3F,0xE8,0xE4,0xB4,0xAA,0x28,0xFD,0x12,0x84,0xBB,0x2D,\r
+0xC8,0xA9,0xE1,0x3F,0xF5,0x5F,0xD4,0x17,0x8E,0x4E,0x8D,0x7A,0xAD,0x0E,0xBD,0x9B,\r
+0x2E,0xA0,0xBE,0x6D,0x2E,0xA9,0x15,0xD6,0xBC,0x7F,0xC7,0xF8,0x9F,0x29,0xE7,0xAA,\r
+0xD7,0xAD,0xA1,0xEA,0xA4,0x60,0x99,0x5A,0x87,0x8E,0x00,0x90,0xD6,0x18,0xF8,0x7D,\r
+0x59,0x8E,0xFA,0x71,0xF8,0xED,0x1E,0x3B,0xF1,0xA4,0xDF,0xE2,0x93,0x4C,0x4B,0x80,\r
+0x21,0xF2,0xFC,0xC2,0xD1,0xCB,0xD1,0xE3,0xF9,0x41,0x66,0x1C,0x67,0x9E,0xD9,0xE8,\r
+0x90,0xA7,0x94,0x24,0xF6,0x7D,0x54,0x5F,0x96,0x44,0x25,0xA4,0x99,0xF6,0xB6,0x5F,\r
+0x0C,0x82,0xE2,0x06,0x37,0x34,0xAC,0xCA,0x01,0xCE,0x4E,0x88,0x08,0xCE,0x99,0xD2,\r
+0x3D,0xC0,0x73,0xB5,0x73,0x44,0x3C,0xF8,0x26,0x7C,0xD6,0x53,0x9C,0x7E,0x24,0x34,\r
+0xDA,0x39,0xDA,0xA2,0x34,0xDC,0x05,0x6A,0xE3,0x00,0x16,0xAD,0x75,0x51,0x26,0xC2,\r
+0xFA,0x19,0x3A,0x26,0x59,0x5B,0x69,0x6C,0x76,0xA8,0xF1,0x7F,0x96,0xA5,0x92,0x0F,\r
+0x6A,0xB5,0x39,0x2B,0x7D,0xC9,0x42,0xDD,0x81,0xBB,0xB2,0x0B,0xB7,0xBA,0xF0,0xF3,\r
+0x5A,0x95,0xF3,0xE3,0x6A,0x12,0xE3,0x29,0xB4,0x27,0xF0,0xF7,0x84,0x11,0xDB,0x66,\r
+0xB0,0xFD,0x0B,0x08,0x66,0x6C,0x2C,0xD9,0x55,0xAE,0xD8,0xFA,0xA5,0x93,0xDA,0xED,\r
+0xC3,0x4E,0x50,0x58,0xD4,0x41,0xF4,0x32,0xB7,0xE2,0xE0,0xA9,0x51,0xAE,0x3E,0x85,\r
+0x55,0xE6,0x85,0x59,0xC7,0x28,0xD7,0x06,0xDA,0x49,0xD0,0x08,0x15,0xBE,0xD4,0x3D,\r
+0xC8,0xD6,0x3A,0x86,0x88,0xFF,0x02,0xD2,0x6C,0x0A,0x7F,0x2E,0x1F,0x88,0xC3,0xA0,\r
+0xB2,0xA0,0x6E,0x37,0x34,0xA6,0x94,0xED,0x02,0xA2,0xFB,0x13,0x1B,0x35,0x65,0xB7,\r
+0x66,0xF2,0xDE,0xC0,0x1E,0x42,0xD0,0x4F,0x49,0xDC,0xB3,0xEA,0xAE,0x2E,0x35,0x87,\r
+0xFD,0x25,0x90,0xAE,0x68,0xAC,0x92,0x8A,0x83,0xFF,0xCF,0x57,0x09,0x46,0x51,0x6F,\r
+0x64,0xE7,0xD0,0xA0,0x5B,0xD2,0x74,0xC2,0x55,0xE5,0xD9,0x96,0x08,0xC3,0x79,0x28,\r
+0xC4,0x6E,0xFF,0xEA,0xC7,0x71,0x10,0xBC,0x3A,0x97,0x6D,0x57,0x3F,0x5D,0xC4,0x63,\r
+0xA0,0x7C,0x01,0x36,0x27,0x9B,0x62,0xBF,0xBE,0xE1,0x73,0x4F,0x27,0x0B,0x11,0xBF,\r
+0x12,0x83,0x7D,0x2D,0xC3,0xAE,0x91,0x7C,0xBF,0x1F,0xCC,0xDE,0xF9,0x49,0xB5,0x56,\r
+0x07,0x5D,0x80,0xB7,0x4D,0x6B,0x65,0x54,0xCE,0xE7,0x99,0xF1,0x88,0x02,0x13,0xD0,\r
+0x63,0x2A,0x3A,0x9C,0x30,0xF2,0x58,0x0D,0x55,0x21,0x95,0x27,0x34,0x84,0x12,0x16,\r
+0x26,0x66,0x77,0x83,0x66,0x8F,0xDC,0x71,0x58,0xA3,0xC6,0xAD,0x2B,0xC2,0x15,0x33,\r
+0x87,0xCF,0xAD,0xA1,0xC4,0xB8,0x44,0x49,0xCB,0x42,0xB6,0x86,0xD2,0xAF,0x72,0x2B,\r
+0x14,0x46,0xB2,0x18,0x91,0x1A,0x4F,0x08,0x0A,0x02,0x3E,0xD2,0xFE,0x8E,0x03,0xBF,\r
+0xE0,0x96,0x6B,0xF0,0x73,0xAA,0xA2,0x32,0xF0,0x93,0xB7,0xC0,0x94,0x65,0x81,0xF4,\r
+0x61,0x5C,0x05,0xA5,0x24,0x68,0x4F,0xD6,0x05,0xFA,0x1E,0xDA,0x1B,0x51,0xEF,0x84,\r
+0x8D,0x7D,0x7F,0x69,0x72,0x76,0xA4,0xB8,0xD8,0x43,0x7A,0xB7,0xE1,0x58,0xD4,0x70,\r
+0xA4,0xDC,0x9B,0x44,0xF9,0x85,0x2A,0xF8,0xAF,0xB9,0xEC,0x81,0xE3,0x41,0xB6,0xBC,\r
+0xD7,0x90,0x0B,0x26,0x12,0xB5,0xA8,0x48,0x40,0x56,0xA3,0x43,0x0E,0xBD,0x78,0xF3,\r
+0xE5,0x75,0x80,0x29,0x58,0x22,0x8E,0x58,0x96,0x69,0xF9,0x5E,0xE8,0x5F,0xD3,0xE6,\r
+0x17,0x1F,0x17,0xC7,0xD1,0xD8,0x56,0x4D,0x57,0x89,0xDE,0x2E,0x27,0x5A,0x8A,0x3E,\r
+0x6F,0x4F,0x93,0x4B,0x0E,0xA2,0x3F,0xEA,0x91,0x62,0x15,0x27,0x0B,0x3F,0x6A,0x12,\r
+0x74,0xD8,0x76,0xC8,0x20,0x94,0xC9,0xED,0x33,0xF0,0x60,0xFD,0x32,0x3A,0xCE,0x01,\r
+0x52,0x17,0x73,0x12,0x81,0xCD,0x91,0x2F,0x8A,0xF1,0x19,0x6F,0x6E,0xFE,0x8A,0x53,\r
+0xEB,0x78,0xCB,0x17,0x45,0xE1,0xEB,0xD6,0x2E,0xC7,0x16,0x1B,0xFC,0xCE,0x9E,0xF7,\r
+0x47,0xCE,0xA6,0x74,0x4E,0xA8,0x62,0x54,0x37,0x61,0xE7,0x94,0x1D,0x03,0x7A,0x1D,\r
+0x50,0x60,0x88,0xF1,0x2D,0x45,0x8E,0x33,0x8F,0x6A,0x3B,0x44,0xF4,0x01,0x57,0xE3,\r
+0xBC,0xC3,0x64,0xBE,0xE2,0x70,0xAC,0x3F,0x9F,0x69,0x32,0xF7,0x73,0x2D,0xD7,0xAF,\r
+0x06,0x16,0x78,0x2E,0xF8,0xF4,0xBD,0x90,0xC9,0x87,0xDB,0x7D,0xEF,0xF6,0x2B,0x67,\r
+0xC5,0x69,0x60,0xF5,0xA7,0xCA,0xDB,0x4F,0xBF,0xB9,0xE8,0x79,0x5E,0xB1,0xDB,0x40,\r
+0x53,0xC4,0x53,0xDE,0x31,0x90,0x75,0x1C,0xB0,0x20,0xB0,0xB4,0xEC,0x9F,0xA4,0x31,\r
+0x4F,0xB0,0xB7,0x97,0xE3,0xC1,0x4D,0x62,0x2E,0x43,0xDA,0x66,0xCC,0x82,0x50,0xAA,\r
+0x81,0x71,0x60,0x9C,0xD3,0xE4,0x79,0xD8,0x12,0x74,0x23,0x03,0xEC,0x48,0x02,0xA9,\r
+0x78,0xD1,0xB2,0xE1,0x6D,0xD3,0x15,0xA2,0x68,0xB0,0xDC,0xC2,0x22,0xDD,0xA6,0x75,\r
+0x30,0x4B,0x69,0x44,0x62,0x7C,0x60,0xDC,0xC5,0xAC,0x29,0xEE,0xDB,0x6A,0x75,0xFF,\r
+0xFC,0x93,0xF4,0xBC,0x93,0x21,0xEB,0xF1,0xA6,0xE8,0x4E,0xDC,0x79,0x24,0x68,0xEE,\r
+0x7B,0x8D,0x27,0xCD,0xAE,0x4D,0xDD,0x3F,0x2F,0x5E,0x72,0x46,0x40,0x79,0xB1,0xD5,\r
+0x0D,0x63,0x78,0x06,0x8C,0xF7,0xD0,0x3F,0x75,0xE4,0xE3,0x12,0x8D,0x91,0x20,0x42,\r
+0x20,0xA2,0xD2,0x1F,0x2B,0x2C,0x61,0x99,0xBC,0x81,0x44,0x42,0x3C,0xBB,0x02,0xB2,\r
+0x38,0x8A,0xA3,0xC9,0x23,0x92,0xE2,0x5A,0xCA,0x32,0x13,0x85,0x8F,0x40,0x43,0xB8,\r
+0x05,0x59,0xFB,0xFA,0x53,0x6C,0xD5,0x9A,0xF0,0x72,0xBF,0x32,0x07,0x8A,0xCC,0xDB,\r
+0x7E,0x5E,0x47,0xF9,0x43,0xB4,0x96,0x86,0x3F,0x92,0x1C,0x2A,0xDF,0xEA,0x0E,0xF5,\r
+0x67,0x0F,0x33,0x6B,0x13,0x56,0x91,0xAF,0x47,0x43,0x93,0xB6,0xF8,0xF0,0x3D,0xDE,\r
+0xA9,0x0B,0x88,0x2C,0xEE,0x80,0x2F,0x6C,0xF1,0xB2,0x33,0xF0,0x65,0x0A,0x61,0xE1,\r
+0x5E,0x82,0xBC,0x83,0x0D,0xD4,0xB5,0x48,0xE8,0x0A,0xED,0xE4,0x05,0x2F,0x7C,0xEA,\r
+0x4C,0x4B,0xA8,0x90,0xCD,0x39,0x95,0x78,0x09,0xC8,0x4B,0x33,0xE3,0xF1,0xFB,0xFA,\r
+0x34,0x23,0xB1,0x40,0xAC,0x2B,0x84,0xE1,0x3B,0xF6,0x9A,0x15,0xF8,0x5B,0x3B,0x22,\r
+0xA5,0x11,0x40,0x30,0xCE,0x3C,0x75,0x7B,0xD8,0x31,0x08,0x40,0x9F,0xC0,0x15,0xB5,\r
+0xE9,0xBF,0x7D,0xD5,0xFA,0x6E,0xDC,0x39,0x69,0xD5,0x00,0x45,0xBD,0xEE,0x6E,0xBA,\r
+0x0F,0xFF,0x66,0x0F,0x05,0x98,0xDA,0x73,0x4B,0x38,0x4A,0xD8,0xF3,0xC9,0xB1,0x6D,\r
+0xF5,0xCA,0xE1,0x74,0x33,0xF8,0x42,0x7D,0x74,0x9F,0xEF,0x69,0x0C,0x43,0x6B,0xB1,\r
+0x25,0x96,0x21,0x2C,0xEC,0x97,0xFF,0xBD,0x2B,0xA5,0x5C,0x4B,0x78,0x8C,0x14,0x41,\r
+0x57,0x09,0x37,0x42,0x31,0xBA,0xCE,0xD3,0x8F,0x19,0xE2,0x16,0xFB,0x31,0xF5,0xA6,\r
+0xE6,0x0F,0x85,0x23,0x15,0x0C,0x5F,0x05,0x53,0x55,0xA1,0x5C,0xC3,0x59,0xD7,0xFB,\r
+0x9E,0x65,0x8B,0x72,0x16,0x2A,0x7F,0x34,0x59,0xE5,0x18,0x9A,0x04,0x8B,0x8E,0xE9,\r
+0x10,0xC0,0x96,0xAE,0x4B,0xA7,0x8D,0x81,0xD0,0x8D,0xC7,0x97,0xC2,0xDF,0x7A,0x32,\r
+0x3D,0xE8,0xCB,0x43,0xA4,0x9C,0xBF,0xA3,0x6E,0xE4,0x36,0xE1,0x8B,0x62,0xF6,0xDC,\r
+0x1D,0x9F,0x33,0xFF,0x74,0x1B,0x7F,0x17,0xA1,0x0C,0xD1,0x83,0x4F,0x96,0x14,0x83,\r
+0xFA,0xF8,0xFB,0x77,0x99,0x83,0xD0,0x5C,0xE8,0x6E,0x11,0x3D,0xB0,0xB9,0x7B,0xE3,\r
+0xCB,0xD1,0xB2,0x88,0xD2,0xF3,0xE4,0x23,0x09,0x10,0x89,0x67,0x81,0x09,0xFB,0xF7,\r
+0x04,0x76,0x58,0xAB,0xD9,0x86,0xBC,0xEA,0x31,0x2D,0x27,0x9B,0xA1,0x69,0x3C,0x30,\r
+0x77,0x20,0x7A,0x41,0x6A,0xAB,0x1C,0x4B,0x42,0x62,0x1F,0xEE,0x2D,0x54,0xCA,0xB8,\r
+0x9D,0x17,0x62,0x20,0xBA,0xD5,0x5E,0xFD,0x9D,0x78,0x37,0xC1,0x47,0xD6,0x1D,0x41,\r
+0xAD,0xB1,0x8F,0xCE,0x4C,0x0E,0x66,0xEC,0x5D,0xF5,0x75,0x58,0x33,0x7D,0xA5,0x6F,\r
+0xD4,0x45,0x72,0xCD,0x32,0x1A,0x29,0x2D,0x4A,0x84,0x47,0x02,0x34,0x53,0xAB,0x20,\r
+0xCF,0x5D,0x45,0x1A,0xFB,0x52,0xA0,0x60,0x3C,0xAD,0xA3,0x85,0xC9,0x87,0xE2,0x2A,\r
+0x5F,0x6D,0xE2,0x29,0x55,0x31,0x4D,0xF2,0xF0,0x4B,0xC9,0x92,0xA0,0xB4,0xF2,0x78,\r
+0x69,0x07,0x0F,0xF3,0xE7,0x9E,0x74,0xDB,0xB7,0x0D,0x1E,0x67,0x5E,0x29,0xAB,0x0F,\r
+0xBC,0xD6,0x63,0xD6,0xDE,0x8C,0x46,0x91,0x27,0x0C,0x90,0xB5,0x09,0x25,0xB2,0xB2,\r
+0xEA,0xA4,0x74,0xAC,0x2D,0x92,0x67,0x34,0x1E,0x3E,0x7A,0x05,0x87,0x41,0x77,0x16,\r
+0xA7,0xCD,0x98,0xCF,0x33,0x2E,0x69,0xE1,0x9B,0x51,0x4D,0x7B,0xE4,0x1C,0x1C,0xC4,\r
+0x22,0x07,0x0A,0x20,0x8F,0x38,0x9B,0x6E,0x64,0x07,0x33,0x24,0xEC,0x85,0xA5,0xEB,\r
+0x65,0x7F,0x76,0xDD,0x15,0x74,0x82,0xAE,0x0B,0x97,0x13,0x03,0xD6,0x82,0x93,0xE4,\r
+0x23,0xE6,0x1F,0x04,0x79,0x27,0xFB,0x7B,0xF7,0x2D,0x6E,0xFC,0x4A,0xC7,0x0B,0x92,\r
+0xA8,0x65,0xC9,0x1A,0xC8,0x2D,0xBF,0x6D,0x6E,0xD7,0x4F,0xE2,0x88,0xF3,0x36,0xD2,\r
+0xE3,0x4D,0x4D,0xBE,0x77,0x78,0x87,0xE5,0x70,0x46,0x8A,0xEE,0x03,0xE6,0xF2,0x43,\r
+0x84,0x98,0x0D,0x2E,0xB2,0x56,0xB8,0xA5,0x74,0x06,0x4B,0x92,0xB2,0x01,0x6D,0x63,\r
+0xB0,0xE0,0x4C,0x67,0x8D,0xFF,0x3B,0xBC,0xB5,0xD8,0x89,0x59,0x96,0x80,0x4B,0x8F,\r
+0x4E,0xDC,0xA1,0x8B,0xE7,0x57,0xCC,0xFC,0xA8,0xD5,0x59,0xA2,0x2A,0x66,0x02,0x9A,\r
+0x6F,0x93,0x15,0x22,0x46,0xDF,0x92,0x18,0xDF,0x6D,0xFB,0xD6,0x0A,0xF5,0x5D,0xE2,\r
+0x5C,0x07,0x5E,0x8C,0x5B,0x42,0x60,0x67,0xF7,0xAA,0x54,0xA2,0x69,0x36,0x28,0xDB,\r
+0xBE,0xD6,0x80,0x90,0x11,0x18,0x99,0x95,0x37,0xD0,0xC3,0xB2,0x5F,0x04,0x7B,0x56,\r
+0xB9,0x09,0xF0,0x47,0x30,0x9B,0x4B,0x54,0x5D,0xAA,0x97,0x34,0x7C,0x6C,0x03,0xBB,\r
+0xA0,0x7D,0x0B,0x93,0x47,0x0D,0x84,0x73,0x3C,0x8D,0x64,0x35,0xEA,0x45,0x6E,0xFE,\r
+0xDB,0x0B,0x2B,0x2E,0x94,0x81,0xC3,0x6B,0x3A,0xD1,0x75,0xCD,0xE0,0x95,0x39,0x99,\r
+0x1F,0x8F,0x61,0x9F,0x56,0xF8,0x53,0xFB,0xA1,0x3F,0x2C,0xC0,0xAC,0xB3,0xDE,0xA0,\r
+0xBB,0xF2,0xD0,0x6D,0x59,0x3F,0x5C,0xA9,0x53,0x66,0x39,0xE3,0x11,0xF6,0xF3,0xF9,\r
+0xDE,0xA5,0x26,0xC3,0xDF,0xF4,0x6B,0xFF,0xF8,0x1B,0x43,0xEE,0xD4,0x8E,0x14,0x9E,\r
+0xE0,0x54,0x7A,0x8A,0xF8,0xDA,0x4A,0xE3,0x3D,0x1F,0xA4,0xF5,0x47,0xB1,0xDE,0x61,\r
+0xCC,0x3F,0xA3,0x4D,0xC3,0xD3,0x8E,0x9D,0xEC,0x8E,0x91,0xFD,0x74,0x5D,0xBB,0x03,\r
+0x2F,0xFB,0x4D,0xB2,0xA7,0xF7,0xE3,0xEE,0xEC,0x80,0x00,0x35,0x35,0x0A,0x5D,0xFB,\r
+0xE2,0x12,0x17,0x05,0xBD,0x06,0x6D,0x56,0xC2,0x74,0x49,0x16,0x60,0xA6,0x7E,0x62,\r
+0x7E,0x4E,0x5E,0x8F,0x98,0x51,0x6E,0xD8,0x46,0xBB,0x71,0x0E,0x0D,0xB2,0xD7,0x8A,\r
+0x63,0x79,0x27,0xE0,0x3D,0x3B,0x2D,0x37,0x06,0x06,0x20,0x2D,0x5B,0xAE,0xBD,0x44,\r
+0x17,0xFA,0x8F,0xCD,0xD8,0x3A,0x5C,0x51,0xBB,0x52,0x15,0x9C,0x3F,0xE7,0x57,0x42,\r
+0x50,0xDF,0x75,0x2F,0x1F,0x09,0x75,0x58,0x23,0xAE,0x2B,0x0F,0xA0,0x24,0xD7,0xBB,\r
+0x8B,0x47,0xD0,0x8E,0xD9,0xC8,0x3E,0x2E,0x00,0x26,0x9D,0x80,0x7D,0xD1,0x74,0xBB,\r
+0xC5,0x5F,0x10,0x04,0xCC,0xAF,0xF6,0x6F,0xC8,0x5A,0xC0,0x6C,0x0F,0x1D,0xB1,0x3E,\r
+0xA9,0x8F,0x60,0xB4,0x1E,0xC2,0x8C,0x10,0x31,0xCC,0x05,0xF0,0xD3,0x60,0x9D,0xF0,\r
+0x3C,0xAE,0x78,0x7D,0x47,0x3D,0xD3,0xBC,0xA3,0x20,0x32,0xAC,0x6C,0x99,0xC8,0xB5,\r
+0x5A,0xD4,0x1C,0x93,0x5F,0xA5,0xA4,0x94,0x71,0x02,0xCD,0xC7,0x53,0xC1,0x4E,0x67,\r
+0xA1,0x47,0x0F,0xC1,0xE9,0xF2,0xA6,0x10,0xEC,0x64,0x73,0x74,0xEE,0xD9,0xA9,0x8F,\r
+0x98,0x97,0x8E,0xA3,0xD1,0x93,0xCD,0x0D,0xBC,0xD3,0xAC,0x89,0xF5,0x9A,0x94,0x62,\r
+0x70,0x3C,0x9F,0x62,0x16,0x02,0xFE,0x69,0x1F,0x7F,0x16,0x4E,0x37,0xEC,0x62,0x42,\r
+0x11,0x34,0xFF,0x51,0x08,0x72,0x42,0xA3,0xE2,0xCA,0xB7,0x62,0x60,0x86,0x0D,0x40,\r
+0xEB,0xD7,0x42,0x7D,0xA1,0xD2,0xF6,0x13,0x9F,0xC6,0x61,0x91,0x6C,0x48,0x38,0x1E,\r
+0x6B,0x28,0xCD,0x90,0x0E,0x5E,0x73,0xE6,0x08,0xD8,0x8D,0x7D,0xC6,0xE4,0xC4,0x72,\r
+0x0B,0xE2,0xB8,0x9F,0x32,0xFD,0xA6,0x47,0x3F,0x44,0x55,0x8C,0x08,0x9F,0x71,0x59,\r
+0xBA,0x49,0xC7,0xD7,0xFF,0x7B,0x44,0x9B,0x58,0xCD,0xCA,0x9B,0x00,0xD5,0x79,0x19,\r
+0x21,0xF3,0x3D,0x36,0x9C,0xE9,0xEC,0xB2,0x0B,0xAC,0xDD,0xB4,0xE6,0x44,0x16,0x51,\r
+0xCE,0x69,0x92,0xA2,0x24,0x0C,0xC9,0xA2,0xBA,0x37,0x35,0xA2,0xA9,0xBF,0xBF,0xBF,\r
+0x10,0x57,0x4C,0x05,0xC3,0xAA,0x22,0x44,0x08,0xB3,0xD8,0x37,0xF9,0xAD,0x56,0x99,\r
+0xA2,0x00,0x1F,0xB7,0xBD,0x0E,0x4B,0x56,0x47,0xF2,0x19,0xF3,0xF8,0x14,0x9D,0x94,\r
+0x6D,0x40,0xDE,0x29,0x49,0xBD,0xCD,0x90,0xA1,0x95,0x76,0x9C,0xF2,0xC4,0xA1,0x85,\r
+0x0F,0xFA,0x89,0x54,0x2C,0xE1,0x97,0xF8,0x50,0xAA,0x8F,0x1E,0x2D,0x08,0xD1,0xE9,\r
+0x28,0xE5,0x3F,0x65,0x06,0xAB,0x77,0x58,0x9F,0x10,0x79,0xB5,0xFD,0xEE,0xDA,0xD8,\r
+0x6A,0xCC,0xAE,0x88,0x6F,0xF9,0x8E,0x80,0x51,0x39,0xCB,0x19,0x07,0x7F,0x1F,0x8F,\r
+0x3E,0xB6,0x85,0x66,0x27,0x26,0x96,0xB5,0x51,0x98,0x46,0x29,0x87,0xF1,0x16,0x27,\r
+0xD0,0x57,0x48,0xF6,0xCA,0x03,0x65,0x7F,0x59,0x32,0x5B,0xE3,0x36,0xB6,0x2E,0x70,\r
+0xB8,0xB6,0x7D,0x4F,0x74,0x40,0x8A,0xEF,0x2D,0x1F,0xED,0x49,0x4B,0x07,0xCF,0x1C,\r
+0x58,0xE4,0xC4,0x9E,0xFA,0xF0,0xD9,0xC8,0x64,0x5C,0x62,0x06,0x90,0x1B,0xD8,0x5D,\r
+0xE8,0x40,0xCB,0x4F,0x5B,0x68,0xB5,0x07,0xCD,0x68,0x12,0x87,0xB1,0x2A,0xC8,0x10,\r
+0x83,0xB1,0x0A,0x1F,0xB5,0xD7,0xE0,0x2F,0x2C,0xA4,0x7D,0x79,0xAB,0xDC,0x23,0x12,\r
+0x77,0x4F,0x00,0x46,0x1F,0x30,0xB0,0xE2,0xA3,0x4A,0xFA,0x21,0x79,0xFC,0x14,0x51,\r
+0x37,0xED,0x28,0x13,0xBC,0xD6,0xC9,0x68,0xB5,0xA0,0x34,0x17,0x1A,0x7C,0x2B,0x8A,\r
+0x9C,0x80,0x7D,0xC3,0x12,0x94,0x19,0xFA,0x1F,0xFE,0xEF,0xDD,0xD6,0x4C,0xBF,0x82,\r
+0x88,0x8C,0x89,0x16,0xA3,0xC6,0xA0,0x6A,0xAF,0xE9,0x67,0x94,0xF6,0xE5,0x12,0x8A,\r
+0xB5,0x2E,0x88,0xFE,0x9A,0xFE,0x38,0xA8,0xE9,0xAF,0x4A,0x3C,0xB2,0x96,0x3F,0x47,\r
+0x9E,0xE7,0xE8,0x17,0x3F,0xDD,0xCB,0x28,0xBA,0x7C,0x87,0x06,0xC3,0xCB,0xB6,0x22,\r
+0xF9,0xF8,0xA8,0x00,0xDD,0x93,0x39,0x9F,0xE8,0x3E,0x4B,0x96,0x70,0x96,0xE2,0x0E,\r
+0x94,0xBA,0x1F,0x86,0x62,0xFF,0xE5,0xF1,0x73,0xEE,0x36,0x5D,0x26,0x53,0xFD,0x7D,\r
+0x6B,0x9D,0xC9,0xBB,0xD8,0x6A,0x94,0xEC,0x46,0x9A,0xCF,0xCF,0x8C,0x64,0xBA,0xC6,\r
+0xF3,0x17,0x23,0xDC,0x8D,0x0C,0x98,0x27,0x93,0xE3,0x97,0x44,0x89,0x9B,0xA0,0x8E,\r
+0xA4,0x69,0xF4,0x08,0x13,0xF7,0x23,0xE7,0x80,0x38,0x8F,0x73,0x91,0x25,0xBA,0xAF,\r
+0xC5,0x5A,0x40,0x89,0x01,0xCE,0xD2,0x1A,0xBA,0x74,0xCC,0xF1,0x7C,0xFA,0x28,0x43,\r
+0x54,0x67,0x01,0xFF,0xA4,0x26,0xFE,0x94,0x49,0x9D,0xBA,0x09,0x9D,0x40,0x17,0xF7,\r
+0x24,0xA9,0x89,0x3D,0x6B,0x47,0x6C,0x31,0xA1,0xA8,0xD0,0x74,0x7E,0xE1,0x36,0x7D,\r
+0x84,0x2A,0x6A,0x3D,0x41,0xBD,0x70,0x65,0x06,0xF7,0x1E,0xC5,0x9D,0x37,0x41,0x33,\r
+0x08,0x82,0x8C,0x95,0x44,0x3D,0x08,0x7C,0x20,0xDB,0xB2,0x03,0x8F,0xDB,0x00,0xF6,\r
+0xAB,0x54,0x56,0x61,0xF7,0x5D,0x6B,0xAA,0xE9,0xD3,0xC9,0x76,0xC4,0x03,0xE0,0xBE,\r
+0x2D,0x9A,0x58,0xFC,0xFF,0xEC,0x50,0xC3,0xB7,0x2F,0x83,0x7B,0x48,0x9C,0x47,0xD8,\r
+0xBF,0xF6,0xD1,0xB7,0x5E,0x77,0xFF,0x0C,0x1B,0xB4,0x12,0x9B,0x79,0x8B,0xCB,0xD5,\r
+0x5A,0x72,0xBB,0x14,0x7B,0x98,0xE3,0x46,0xA6,0x91,0xE9,0x5A,0x3F,0x63,0x24,0x39,\r
+0xFC,0x0C,0x79,0x7D,0xEE,0x46,0xE5,0xE3,0x4F,0xAD,0xFB,0xF8,0x7B,0x8E,0xB3,0xA3,\r
+0x58,0x5C,0xEE,0x23,0x50,0xF4,0x27,0xAB,0x34,0xD5,0x42,0x40,0x9E,0x4F,0x9C,0xA5,\r
+0xEB,0xF8,0x61,0xF7,0x5F,0x3B,0xFC,0x91,0xE3,0x68,0x92,0xC0,0x50,0x20,0x67,0x77,\r
+0xB7,0x49,0x87,0x31,0x65,0x59,0x49,0xDC,0xED,0xC0,0x5E,0xD9,0xE8,0xD9,0xB5,0xC8,\r
+0xFD,0xDB,0x82,0x1C,0xE4,0x7E,0xAE,0x81,0x0C,0x60,0xB8,0xDA,0xA1,0x2F,0xA8,0x32,\r
+0xAF,0x68,0x8D,0xA9,0xF3,0x3C,0x43,0xF2,0x9B,0x43,0x29,0x7E,0x0E,0x9D,0x56,0xE5,\r
+0x70,0xC3,0x66,0x24,0xEF,0x68,0x61,0x92,0xAC,0x28,0xA7,0x34,0x87,0x10,0x56,0x9D,\r
+0x55,0xDA,0x59,0xDB,0x17,0x86,0x33,0x13,0xA7,0x64,0xE0,0xBB,0x96,0x0D,0x6F,0x29,\r
+0x16,0xB4,0xE3,0x0B,0xE7,0xEE,0x60,0x49,0xC6,0xE0,0x51,0x19,0x97,0xBB,0xFA,0x4E,\r
+0xA6,0x83,0xE1,0x79,0x40,0x0E,0xB3,0x91,0xE2,0xB4,0x4D,0x3B,0xEF,0x34,0xF3,0xA5,\r
+0x3E,0x3C,0x05,0x28,0x61,0xBE,0x86,0x07,0x1D,0x91,0x7C,0x5E,0xCA,0x44,0x47,0xA2,\r
+0x81,0x5D,0xA3,0xFC,0x55,0xD5,0xEC,0x68,0xEC,0x48,0x8A,0x69,0x7B,0x2B,0xD9,0x0A,\r
+0x66,0x12,0x78,0x8B,0x52,0x21,0x15,0xDB,0x9E,0x7A,0xAA,0x75,0x65,0xAC,0x01,0x1C,\r
+0x80,0x7D,0x45,0xD3,0x5F,0x61,0x4E,0x89,0x81,0x90,0x2A,0x13,0x6A,0x62,0xAB,0x11,\r
+0xC2,0xF0,0x8C,0x3B,0xEC,0xCA,0xBD,0xED,0xF6,0xC3,0x1A,0xD0,0x8A,0xB9,0x9A,0x70,\r
+0x90,0xFC,0x85,0x0C,0x25,0xDE,0xFB,0x6E,0xF0,0xFA,0xB3,0xAF,0x5C,0x31,0xB2,0x35,\r
+0xA8,0xF9,0xF8,0xD5,0xE5,0xE3,0xD4,0xC9,0x5F,0x0E,0xC0,0xD1,0x9D,0x1C,0xCC,0xA3,\r
+0x4C,0x1F,0x8A,0xC2,0x46,0x82,0x3B,0x0B,0x5A,0x53,0x05,0xC8,0x68,0x11,0xDF,0x9E,\r
+0x04,0xD7,0x7F,0x3B,0x15,0x99,0x33,0x77,0xC5,0xC8,0xD1,0x89,0x5A,0xF5,0x18,0xEC,\r
+0x67,0x91,0x61,0x7B,0x0A,0x09,0x00,0x70,0x1D,0x24,0xE2,0x7F,0x35,0x9F,0x87,0x56,\r
+0xC8,0xA2,0xBE,0x18,0x1F,0x3F,0x16,0x16,0x03,0x0A,0x7F,0xA0,0xBE,0x48,0xBF,0xB6,\r
+0xDA,0x1B,0x30,0xD3,0xFE,0xEA,0x62,0x5C,0x17,0xDF,0x73,0xA9,0x3F,0xC6,0x2B,0x74,\r
+0xC4,0xB9,0xAA,0xBF,0xC7,0xBC,0x16,0xDC,0xEF,0x0C,0x17,0xFE,0xAC,0x2C,0xE4,0x41,\r
+0x78,0xA9,0x09,0x16,0x0F,0xF1,0x22,0xF7,0x95,0x7B,0x4A,0xD2,0x78,0x1B,0x10,0x92,\r
+0x6E,0xC9,0x32,0x62,0xA2,0x74,0x95,0x28,0x26,0x42,0xD3,0xCE,0x1C,0x65,0x4C,0xE7,\r
+0x22,0xB8,0x4A,0x9F,0x51,0x33,0xBB,0x4C,0x66,0x33,0xD4,0x0A,0x97,0x45,0xA4,0xFF,\r
+0x71,0xDC,0x4C,0xCB,0x25,0x75,0x02,0xCB,0xC3,0x52,0x91,0x19,0x56,0x38,0x2A,0x8C,\r
+0x7B,0x1F,0x47,0x79,0xFE,0xFE,0xCC,0x9A,0x26,0xB5,0xA5,0x54,0xDD,0x19,0x02,0x3B,\r
+0x2E,0x2A,0x01,0xD8,0xED,0xB5,0xA1,0x5A,0x4E,0x13,0xB0,0x53,0xE1,0xDC,0x9A,0x22,\r
+0x00,0xF5,0xDA,0x63,0x4F,0xD2,0xFB,0xAF,0x59,0x9F,0x57,0x4B,0xB5,0x1D,0x57,0x83,\r
+0xA9,0x1B,0x11,0x6B,0x39,0xE6,0xD8,0xA0,0x56,0x9A,0xD6,0x46,0xF0,0xDF,0x61,0x35,\r
+0x01,0x28,0xF3,0x68,0x3B,0x18,0x7F,0x61,0xF6,0x1C,0x30,0xA1,0x5D,0x0F,0x64,0xD4,\r
+0x89,0x62,0x7F,0xC5,0xB7,0x39,0x1D,0x2D,0xDE,0x84,0xA3,0x28,0x11,0xAD,0xF8,0x78,\r
+0x14,0x2B,0x12,0xD7,0x32,0x0A,0x8D,0x1C,0x0E,0xF3,0x60,0xF4,0xA8,0x02,0x90,0xE0,\r
+0x4E,0xE0,0xEA,0x81,0x1E,0xE8,0xF3,0xF4,0x3F,0xAB,0x52,0xD6,0xA6,0x95,0x14,0x10,\r
+0xCD,0x8F,0x03,0x48,0x60,0xEF,0x91,0x81,0xE9,0x15,0x3A,0xA6,0x94,0xC1,0x82,0xF7,\r
+0x5B,0x40,0x62,0x60,0xAA,0xF6,0xE5,0x4F,0xE0,0xE1,0x13,0x06,0xF9,0x32,0x1C,0xF5,\r
+0xD7,0xCE,0x84,0xDC,0xDE,0x8D,0x9A,0xD8,0x8B,0x51,0xC3,0x3D,0xC1,0x23,0x4C,0xAD,\r
+0xAE,0x37,0xC6,0x2C,0xD8,0x49,0x78,0x06,0x9D,0xCF,0xE5,0xD8,0x36,0x7A,0xA5,0xDE,\r
+0x69,0x64,0xC5,0xBD,0x18,0xED,0x47,0x3A,0x07,0x55,0xA0,0xAE,0xC7,0x6F,0x3A,0xF1,\r
+0xA2,0x92,0xF5,0x58,0x14,0x88,0xD3,0x73,0xBC,0xB1,0xD8,0x2F,0x62,0x15,0x4D,0x06,\r
+0x8C,0x0C,0x83,0x1A,0x55,0xB6,0xF2,0x3C,0x97,0xEA,0xE7,0xA3,0xE8,0xF2,0x01,0x66,\r
+0x85,0x9E,0x0C,0xE0,0xD5,0x9A,0x65,0xDE,0xB4,0xCC,0x0B,0xC7,0xBF,0xC7,0x30,0x1D,\r
+0xA1,0x8C,0x38,0x77,0xF7,0x79,0x18,0xED,0x3A,0xE5,0x5C,0x84,0x22,0x56,0x33,0x67,\r
+0x50,0x30,0xC1,0x02,0x10,0xB4,0x8F,0x54,0xB4,0x31,0xF0,0xE0,0xB5,0x1F,0xF3,0xF9,\r
+0x07,0x66,0xF7,0xB4,0xA6,0x28,0xE8,0xAF,0x4D,0xBE,0xE4,0x03,0xB7,0x27,0x22,0xA7,\r
+0x6D,0xA9,0x51,0xA3,0xAD,0x35,0xF1,0xEE,0x96,0x6C,0xF8,0xEF,0x4C,0x76,0x87,0xEC,\r
+0x6C,0x58,0xE6,0x33,0x94,0x41,0xFE,0x9C,0xC2,0x5A,0xB1,0x0F,0xD2,0x43,0x11,0x92,\r
+0x5F,0x7A,0xFB,0xA9,0xCC,0x06,0x5F,0xD7,0x2A,0x40,0x72,0xED,0x76,0x7D,0x9F,0xEC,\r
+0x0E,0x4C,0xEA,0x99,0xDA,0x95,0x4E,0xFF,0x98,0x1D,0x67,0xF3,0xF3,0x0B,0x9D,0x15,\r
+0x45,0xEF,0x4E,0x76,0x40,0xC0,0xBF,0x9F,0xFA,0xB1,0xA2,0x67,0xE2,0x1E,0xD0,0x6B,\r
+0xCE,0xBD,0x96,0x36,0x23,0xCA,0xBE,0x55,0x7F,0x2C,0x83,0xC0,0xAB,0x2A,0x0A,0xFE,\r
+0x88,0x53,0x84,0x7F,0x01,0x99,0x10,0x9B,0xA6,0xCB,0xFE,0xB6,0xF4,0x6F,0x6E,0xD1,\r
+0x82,0xF3,0xA7,0x88,0xC1,0x32,0x7A,0x33,0x1B,0x7B,0x16,0x34,0x97,0x18,0x9F,0x36,\r
+0xA3,0x5C,0xF0,0x0C,0x82,0xBA,0x1C,0xC1,0xA0,0x27,0xB4,0x1B,0xF6,0x8B,0x36,0x65,\r
+0x5D,0x14,0x7A,0xA3,0x9B,0x12,0x4A,0xF4,0xB0,0xEA,0x64,0x97,0x20,0x6D,0x8E,0xBA,\r
+0x69,0x58,0x54,0x91,0x19,0xBB,0x2D,0x5D,0xF7,0x8A,0xA6,0x08,0x37,0xEC,0x99,0x9B,\r
+0x84,0x47,0xB8,0x9B,0x1A,0x73,0x28,0x8B,0xFB,0x21,0xF3,0xAE,0x06,0xC4,0x52,0x93,\r
+0xB2,0x08,0xAD,0x13,0xB1,0xDC,0xEE,0xFE,0x18,0xF0,0x24,0x55,0x27,0x59,0x5D,0xC7,\r
+0x22,0x0D,0xC0,0xF1,0x2A,0xBF,0xAA,0x33,0x78,0x42,0x4E,0x43,0xFC,0x6A,0x52,0x6A,\r
+0x39,0x3F,0x40,0x56,0x3D,0xF7,0x70,0xC1,0x1A,0xDA,0xAA,0xAB,0xD5,0xBE,0xD1,0xD1,\r
+0xCF,0x3A,0xDB,0x3E,0xA9,0xD5,0xDC,0x2D,0x75,0x2A,0xDE,0x8A,0x20,0x68,0xDD,0x7D,\r
+0x4A,0xB9,0x1D,0x35,0x1D,0xC3,0x43,0xB8,0x55,0x13,0xA0,0xB4,0x48,0xF1,0xB5,0xFD,\r
+0x07,0x3F,0x84,0x94,0x9B,0x7F,0x95,0x4D,0xA2,0xBA,0x97,0xAF,0x3D,0xAC,0x30,0x7D,\r
+0x51,0x1D,0xAB,0x5A,0xC3,0x61,0xEE,0x4D,0xE8,0x5A,0x7D,0xF6,0x10,0xC8,0xB4,0x89,\r
+0x0F,0x78,0x5D,0x80,0xC4,0xEB,0x50,0xF5,0xEE,0x2D,0xA4,0x9B,0x73,0x4B,0x5C,0x0C,\r
+0xC2,0x2F,0x9C,0x90,0x03,0x1A,0xD0,0xCD,0x19,0x1B,0xED,0x27,0x0F,0xE7,0x97,0x0F,\r
+0x21,0x83,0xEC,0x3C,0x7F,0x3E,0x47,0x34,0x54,0x36,0x7C,0x2A,0x93,0xB0,0x1C,0x3D,\r
+0x0D,0x4F,0x53,0x84,0xCE,0x37,0xF7,0xEB,0x0F,0x51,0x49,0xD7,0xD7,0x5C,0x1E,0xF8,\r
+0xBD,0x8B,0x4F,0x40,0x50,0xE4,0x9B,0x82,0x0E,0x23,0xC6,0xAB,0x92,0xC9,0x80,0x12,\r
+0xFA,0x85,0xC8,0x5B,0xF0,0xD7,0x77,0xB8,0xFF,0xE7,0xF8,0x42,0x09,0x0A,0x62,0x9F,\r
+0x8E,0x5B,0x51,0x61,0x5B,0xD6,0xA0,0xF1,0x09,0xA1,0xCD,0x1E,0x30,0x43,0x7F,0xA3,\r
+0x93,0xF4,0x1B,0x50,0x6E,0xBC,0x2C,0xDD,0x27,0x1C,0x9C,0xFD,0xCF,0x5F,0x8D,0xBE,\r
+0x4D,0xAC,0xE0,0xE6,0x4D,0xE0,0xB8,0xD2,0x4C,0xB9,0x89,0x46,0xBF,0xA8,0x6C,0xA2,\r
+0x54,0xED,0x02,0x17,0x56,0x76,0xB6,0x0F,0x47,0x5E,0x7A,0xA7,0x06,0x81,0xE9,0xA6,\r
+0x53,0xF4,0x28,0xE7,0x18,0xF5,0x57,0x87,0xD3,0xBB,0x2E,0xFA,0xB2,0xE9,0x08,0xE5,\r
+0xB1,0x51,0x9B,0x17,0x9D,0xAF,0x4B,0xE1,0x66,0xD4,0xB9,0xE4,0xA8,0xDB,0xF8,0x1E,\r
+0x33,0xB8,0xE9,0xB5,0x36,0x19,0x73,0x6A,0xDE,0x27,0xAE,0x43,0xDC,0x63,0x6F,0x2E,\r
+0x56,0x97,0xE2,0x61,0x00,0xD2,0x02,0x99,0xD8,0x06,0xD4,0xF1,0x5A,0x1B,0xDA,0x98,\r
+0xF2,0xE5,0xEF,0xAC,0xF2,0x15,0xC6,0x6C,0x0B,0x3F,0xC1,0xA6,0x74,0x5E,0x6B,0x6F,\r
+0x36,0x6E,0xB4,0xD9,0x8F,0x6C,0x5F,0xB3,0x1F,0x1F,0x98,0x59,0xB4,0x78,0xA2,0x09,\r
+0xE6,0x12,0x06,0x1B,0x34,0x10,0xAA,0xE9,0x0F,0x83,0xB8,0x30,0x83,0x72,0x19,0x98,\r
+0x86,0x6E,0xEF,0x19,0x9A,0xB3,0xF3,0x0E,0x3E,0xDB,0x60,0x25,0x07,0x09,0x29,0xDF,\r
+0x06,0x23,0x53,0x02,0x1E,0x3F,0xC4,0xDC,0x01,0xF2,0x8C,0x5D,0xA5,0xA5,0xE7,0xDE,\r
+0xFC,0xF6,0x44,0x43,0x6B,0x9F,0xCD,0x5C,0xCB,0xDA,0x5A,0x52,0x61,0x6B,0x96,0x58,\r
+0xFD,0xA7,0xCF,0x76,0x25,0x47,0xCF,0x90,0x96,0x26,0x35,0xB4,0xD8,0x40,0x1D,0x44,\r
+0x23,0x6B,0x11,0x49,0xF9,0xE1,0xE9,0x6D,0x96,0xBA,0xD8,0x11,0xEC,0x52,0x22,0xAF,\r
+0xCC,0x12,0x5E,0x27,0x9C,0x04,0x25,0xF9,0x82,0xA0,0x30,0x93,0xA7,0xA9,0x69,0x30,\r
+0x57,0x79,0xEF,0x7B,0xDA,0x96,0x9E,0xA7,0x5A,0xEE,0x27,0x37,0x91,0x38,0x90,0x43,\r
+0xD1,0x8C,0xBB,0x3C,0x5B,0xD0,0xA9,0x94,0xFF,0xE4,0xDF,0x88,0x52,0x74,0x1B,0x04,\r
+0x44,0x80,0xA2,0xF1,0x40,0x2F,0x84,0x63,0x25,0x12,0xE8,0xBC,0xE3,0x8D,0xF1,0x20,\r
+0x28,0xE2,0xBE,0x14,0x3F,0x42,0xA0,0x40,0xBD,0x54,0x2D,0xD7,0x7D,0xF0,0xAF,0x9E,\r
+0x66,0xDD,0xFE,0x1B,0xDE,0x25,0xA9,0x70,0xCE,0xE1,0x70,0x9C,0xF4,0x3C,0x37,0x33,\r
+0x9D,0xEC,0x40,0x03,0xF4,0xEF,0x5A,0x27,0x76,0xF1,0xFB,0x3D,0x60,0x01,0xE8,0x37,\r
+0x75,0xC5,0x11,0x59,0x43,0x7E,0xBF,0x6B,0x00,0xE0,0x41,0x12,0x63,0x77,0x97,0x7C,\r
+0x4C,0x4C,0x9F,0x47,0x56,0x1F,0x04,0x77,0x50,0x9C,0x9E,0xD9,0x2E,0x34,0x6B,0x26,\r
+0xB7,0x5A,0x64,0x11,0xD7,0x48,0xCA,0xB6,0xE6,0x18,0x20,0xDA,0x4A,0x2C,0x44,0x7D,\r
+0x9A,0x15,0x3C,0x4C,0x39,0xDD,0xE1,0xAD,0xDE,0x19,0x17,0x0A,0xA8,0x11,0xE4,0x8D,\r
+0x6E,0xF6,0x30,0xC2,0x25,0x3A,0x41,0x07,0x1C,0x3C,0x90,0x48,0xE1,0x31,0xA7,0x7F,\r
+0x05,0x98,0x23,0x6A,0x0D,0x85,0xBB,0x21,0x68,0x5A,0xFF,0xB2,0x6A,0xC7,0x7C,0xB3,\r
+0xB5,0x93,0x3E,0x6E,0xF7,0x1D,0xA9,0x91,0x8B,0xB1,0x8F,0x0E,0xA9,0xF6,0xF5,0x93,\r
+0x58,0xE0,0xA1,0xAB,0x6E,0x13,0xBC,0xCF,0x36,0x1F,0xA7,0xC6,0x0F,0x7B,0xA8,0x40,\r
+0x65,0xF8,0xD3,0x2A,0xDC,0x2B,0xA9,0x23,0xB8,0x8D,0x8A,0x91,0xD3,0x08,0xB5,0xD7,\r
+0x71,0xD4,0x17,0x7A,0x8E,0x79,0x80,0x7F,0x9F,0x81,0x02,0x6D,0x2B,0xA1,0x7C,0xD3,\r
+0xDA,0xD1,0xD8,0x65,0x9D,0x3B,0xBA,0xFE,0xE4,0xEC,0xD9,0xBE,0xB5,0x91,0xE2,0x6D,\r
+0xC5,0xAC,0x06,0x06,0xFD,0x46,0x6A,0xAC,0x7F,0x66,0x94,0x32,0x2B,0x03,0x15,0x92,\r
+0xE2,0x56,0x5D,0x5D,0xB5,0x0C,0xD8,0x25,0x6D,0xA0,0x62,0x63,0x3E,0xE5,0xBC,0x60,\r
+0x80,0x9A,0x40,0xE1,0x55,0x50,0xF6,0x3B,0xA0,0xCF,0x9B,0x99,0xCC,0x29,0xFD,0x71,\r
+0x4F,0x76,0x37,0x1D,0x47,0xE3,0x08,0x99,0x0C,0x93,0xF4,0xA2,0x3B,0xF9,0xD6,0x3A,\r
+0x55,0x38,0xBE,0x35,0xB8,0xAD,0x21,0xDF,0x49,0xEC,0x00,0x57,0x3B,0xEA,0x21,0x13,\r
+0x3D,0x76,0x9A,0x78,0x4C,0xEE,0x19,0xF9,0x27,0xD6,0xB6,0x04,0x00,0x5B,0x52,0x73,\r
+0xD3,0xD7,0x73,0x71,0x9D,0xCB,0xDD,0xE9,0x7C,0x36,0xAB,0x28,0xFC,0x1C,0x06,0x1C,\r
+0x87,0x15,0xAA,0x5C,0x01,0x14,0xCD,0x20,0x99,0x78,0x26,0x68,0x70,0x92,0x00,0xB1,\r
+0x11,0xF4,0xF0,0x10,0xAD,0xF6,0x0C,0x24,0x89,0x0F,0x22,0x8C,0xE3,0xBD,0x92,0xD4,\r
+0xD5,0x34,0xE0,0x7E,0x7F,0x8F,0xCE,0xBE,0xDD,0x9F,0x7B,0x6C,0x03,0x9B,0x11,0x84,\r
+0xD0,0x8A,0xE6,0xEA,0x86,0xFA,0x95,0xC7,0xAD,0x44,0x4D,0xA2,0xB5,0x80,0x8F,0x09,\r
+0xB5,0x6C,0xD0,0xF5,0xC1,0x31,0xA8,0x37,0xF6,0x8E,0x37,0x74,0x9E,0xF8,0x30,0x67,\r
+0xB0,0xD6,0xC5,0xCD,0x64,0x16,0x89,0x67,0x9A,0x68,0xCD,0xA4,0x98,0x0A,0x24,0xC5,\r
+0x52,0xB1,0xA8,0x88,0x0F,0x4C,0xEA,0x76,0xB6,0xE6,0x5A,0x05,0x96,0x38,0x85,0xD4,\r
+0xAE,0x7C,0xC0,0x85,0xAF,0x03,0x53,0xD5,0xCC,0x5C,0x6A,0x2F,0x1A,0x4B,0x84,0xF5,\r
+0xB7,0xE2,0xA4,0xDA,0x07,0x95,0x64,0xEE,0xDA,0x7E,0x99,0x8A,0x41,0x62,0x49,0xE7,\r
+0x6D,0x4C,0x7F,0xDC,0xF7,0x35,0x84,0x30,0xA6,0xE0,0x2E,0x38,0xC4,0xA0,0x01,0xC2,\r
+0x70,0x40,0xCF,0xA2,0x34,0x5F,0xA1,0xF1,0x71,0x43,0x7F,0x18,0x1C,0xBC,0x92,0xA4,\r
+0x5E,0x6F,0x68,0xE8,0xF0,0x07,0x36,0x1E,0xD8,0x5E,0x25,0xAD,0xEB,0x2A,0xEA,0xDE,\r
+0x19,0x05,0x32,0x4A,0x19,0x34,0x43,0xA9,0xD7,0xBA,0x1B,0x40,0xEA,0xE9,0x5F,0xA3,\r
+0xC2,0x30,0x7D,0x0C,0x31,0xDD,0x3C,0x51,0x6D,0x9B,0x9F,0xAE,0xA2,0x53,0xF7,0xEB,\r
+0xEE,0x49,0xF6,0x06,0x19,0xD4,0x37,0xC0,0xB0,0x7D,0xAA,0xEF,0x3F,0xBF,0x23,0xAF,\r
+0xEC,0xF3,0xE6,0x77,0xEC,0x08,0x06,0x16,0xAF,0xE8,0x47,0x94,0xD0,0xA8,0x13,0x90,\r
+0x21,0x9A,0x35,0xF0,0xF8,0xF9,0xE4,0xAA,0x08,0xB1,0x0E,0xE3,0x08,0x04,0x5B,0x90,\r
+0xE4,0xE2,0xCE,0x7F,0x53,0x9C,0xAD,0xE5,0xE6,0x60,0x74,0x1D,0x81,0x4F,0x8D,0x16,\r
+0xB2,0x21,0xF5,0xAC,0x3A,0x82,0x99,0x03,0x8F,0x36,0x9E,0x72,0x6A,0x2B,0x50,0xBF,\r
+0x2C,0xD1,0x65,0x38,0x5F,0x36,0x7D,0x31,0x4A,0x4F,0x3D,0xB6,0x7A,0x8B,0x9D,0x54,\r
+0xA9,0xD6,0x25,0xCD,0x46,0x20,0x0A,0x5E,0xB2,0x02,0x43,0x9B,0x7B,0x12,0x19,0xE5,\r
+0xC1,0x48,0xCF,0x64,0x67,0x5C,0xC1,0x59,0xEC,0x69,0xAD,0xFD,0x29,0x89,0xF8,0xC3,\r
+0xDA,0x20,0xBE,0xC2,0xAD,0x14,0xF8,0xDC,0x80,0x6B,0x49,0xE9,0xDC,0x5D,0x62,0xFD,\r
+0x67,0x5D,0xBA,0xE2,0xA3,0x90,0x7F,0x36,0x44,0x2D,0x10,0x59,0x80,0x27,0x28,0xC2,\r
+0x51,0x84,0x6A,0x45,0x4C,0x3F,0xD6,0x9E,0x35,0x95,0xC7,0xFE,0xCB,0xBA,0xAD,0xB9,\r
+0xBE,0x00,0x38,0x4D,0x3C,0xF1,0xB8,0x41,0x9C,0x47,0x87,0xE0,0xA1,0x8E,0xAD,0x1B,\r
+0x8A,0x80,0xB0,0x76,0xC8,0x58,0xC9,0x37,0xF1,0x8C,0x45,0x76,0xDB,0x0F,0x8C,0x38,\r
+0x61,0x65,0x21,0xC3,0xB0,0xD1,0x48,0xFA,0x99,0x66,0xF5,0x35,0x85,0xFB,0xF2,0x62,\r
+0x40,0x31,0xDA,0x9C,0x28,0x59,0x3F,0xBE,0x35,0x4F,0x57,0x45,0x5D,0x68,0xB4,0x66,\r
+0x2D,0x56,0x53,0x40,0xC9,0x29,0x30,0x6F,0x13,0xBF,0x60,0xAF,0x3A,0xC9,0x13,0xFE,\r
+0x6B,0x5A,0xFF,0x1B,0x62,0x7A,0x8F,0x6E,0x9C,0x23,0x1D,0xF1,0x69,0x8C,0x2F,0x97,\r
+0xED,0x00,0xDA,0x0C,0x0E,0x76,0x54,0xD7,0x16,0x53,0x84,0x93,0xA3,0xE8,0x99,0xA4,\r
+0xA6,0xDE,0x43,0x18,0xEA,0x23,0xAD,0x9D,0x68,0xE9,0x41,0xC9,0x84,0xFD,0xEF,0x1D,\r
+0x30,0x6D,0xD1,0x50,0xEF,0x28,0x94,0x54,0xBF,0x28,0x48,0x8D,0x9F,0xFF,0xF6,0x9D,\r
+0x64,0x3C,0xFF,0xF8,0x3A,0xF7,0x67,0x0C,0xF7,0x53,0xC5,0xA6,0x8C,0x71,0xCB,0xD7,\r
+0xB6,0x23,0xE7,0xF5,0xEA,0x4E,0x48,0x14,0x6D,0x3C,0xE3,0x83,0x5B,0x09,0xD5,0xB0,\r
+0xDE,0x1A,0x8C,0x0F,0x0B,0x0D,0x4A,0x57,0x71,0xA8,0x55,0x0C,0xEF,0xB8,0x39,0x4C,\r
+0x63,0x6C,0xA2,0x29,0x20,0xB3,0xFA,0xBA,0x83,0xF5,0x78,0xD9,0xF6,0xCA,0xFA,0xC9,\r
+0xAC,0x7B,0x35,0x4C,0x56,0x00,0x0C,0xB0,0x33,0x34,0x17,0x67,0xE0,0x1A,0x42,0xAC,\r
+0x26,0xDD,0xD9,0xF8,0x88,0xA5,0xCA,0x51,0x8C,0x75,0x77,0x60,0x3D,0xE0,0x37,0xE2,\r
+0x01,0x3E,0x2C,0xCB,0x19,0xEF,0xAA,0x47,0x44,0x1D,0x81,0xA6,0x6F,0x06,0x91,0x9D,\r
+0x92,0xE0,0x13,0xF8,0x4D,0x9A,0xBE,0xFC,0x25,0xF1,0xE1,0xA2,0xC8,0x42,0xDE,0xF5,\r
+0x39,0x1F,0x4C,0x52,0x90,0xD8,0x67,0xF0,0x50,0xCB,0x3A,0x07,0x08,0x72,0xF2,0x97,\r
+0xBB,0x12,0x77,0x05,0x99,0xF0,0x66,0x6D,0x18,0x3E,0x44,0x53,0xA4,0x98,0xDB,0x55,\r
+0x86,0x88,0xF9,0x61,0x07,0xC8,0x2D,0x72,0xDE,0xA7,0x69,0x38,0xBA,0xEB,0x12,0x20,\r
+0xE6,0xE1,0xE2,0x7C,0x80,0x66,0xE3,0x3E,0x19,0x61,0x1C,0x61,0x0B,0x24,0x07,0x98,\r
+0x56,0x6C,0xE3,0x2C,0xFB,0xFE,0x54,0x3D,0x5D,0x61,0x6C,0x46,0xFA,0x15,0xC1,0xF8,\r
+0x79,0x7E,0x83,0x55,0x2C,0x3E,0x1E,0xB3,0x88,0x48,0xF4,0x3E,0x6A,0xF2,0xD3,0xAC,\r
+0x8D,0x6D,0x67,0x29,0x48,0xD9,0xE0,0x5D,0x88,0x05,0x73,0x3E,0x62,0xD2,0x27,0xCE,\r
+0xAF,0x92,0x51,0x69,0x91,0xFC,0x4A,0x44,0xF5,0x60,0x7D,0x31,0xC3,0xD7,0xDD,0x3D,\r
+0x54,0xD2,0xE5,0x14,0x9C,0xAB,0x4F,0x7C,0xC8,0x42,0xC3,0xEF,0x81,0xCF,0xA1,0x6E,\r
+0x7E,0x79,0xC1,0x04,0x36,0x0C,0x7D,0x44,0xFB,0x06,0x18,0x62,0xDE,0xE2,0x46,0xF0,\r
+0x96,0x85,0xEC,0x6E,0x2F,0x9D,0x80,0xC2,0xE4,0xCC,0xA2,0xAE,0x12,0x94,0xB0,0x3E,\r
+0xCB,0xDF,0xB5,0x9D,0xBD,0xA1,0xDE,0xFD,0xE2,0xA8,0xCE,0xAC,0xA3,0x13,0x59,0x48,\r
+0x85,0xAD,0x15,0x78,0x4A,0xC6,0x5E,0x35,0x20,0x2C,0x93,0x85,0xDA,0xDF,0x65,0x23,\r
+0x32,0x98,0x95,0x49,0x8E,0x33,0xDB,0x9A,0x29,0xCF,0x3C,0xBC,0xF8,0x97,0xDE,0xC8,\r
+0xA7,0xFB,0xF3,0xBF,0xAC,0xCC,0x18,0x2E,0x59,0x00,0x0B,0x8B,0x65,0x6E,0x33,0xD6,\r
+0x2F,0xAF,0xCE,0x48,0xE1,0xE7,0x03,0x3D,0xAA,0xA3,0xD3,0x3C,0xA6,0x4A,0x4B,0x2E,\r
+0xB4,0xB0,0x72,0xEF,0xD3,0x75,0xFB,0x48,0x49,0x94,0xC4,0x9B,0x23,0xDB,0x0C,0xED,\r
+0x1E,0x3A,0x2A,0x17,0x62,0xA4,0xFF,0x52,0xC1,0xA9,0xD6,0xC4,0xB7,0xA3,0x5C,0x91,\r
+0xC0,0x9D,0x5E,0x54,0xFD,0x02,0x8C,0xF1,0x8D,0x54,0x3B,0xEB,0x81,0xB1,0xBE,0xFC,\r
+0xE5,0x34,0x09,0xCA,0x2F,0xDC,0xE5,0x37,0x89,0xE3,0x6F,0xA3,0xA2,0x46,0xAA,0x35,\r
+0x1F,0xB0,0x90,0x95,0x4B,0x7C,0x26,0xF8,0x4D,0x6A,0xB9,0xDC,0x8F,0x88,0x43,0x9D,\r
+0x05,0xD1,0xBF,0x5C,0x1C,0xF3,0xF3,0x26,0x11,0x2A,0x5B,0x76,0xB4,0x91,0x98,0x22,\r
+0x65,0x7C,0x91,0x7D,0x79,0x50,0x1B,0xB5,0xC4,0x38,0x83,0x31,0x41,0xEA,0x6A,0x70,\r
+0xA3,0xCF,0xE5,0x71,0xF6,0xBB,0xCD,0xC1,0x3E,0xDE,0xDB,0x84,0xE8,0x6C,0xFF,0x05,\r
+0xF7,0x71,0x34,0x95,0x20,0x64,0xA8,0xD3,0x07,0x90,0x56,0x83,0xE1,0xE2,0x96,0xED,\r
+0x25,0xDE,0x5C,0x75,0x61,0xDD,0x78,0xAE,0x8C,0x8C,0x70,0x1D,0xDC,0x9A,0x8E,0x84,\r
+0x4D,0x83,0x86,0x96,0xD4,0x9E,0x84,0xF5,0xAA,0x59,0xC6,0xED,0x7E,0x2B,0x27,0x79,\r
+0xF0,0xCC,0x06,0xBF,0x5B,0x20,0x6B,0xFA,0x60,0xD2,0xEB,0x69,0x3D,0x59,0xBF,0x6B,\r
+0x3F,0x55,0x84,0x1C,0x7B,0x93,0xE0,0x2C,0xDE,0xBE,0x84,0x25,0x11,0x89,0x54,0x5E,\r
+0xB5,0xAB,0x43,0x61,0xF8,0x36,0x16,0x72,0x7D,0x00,0xE4,0x36,0xA1,0x73,0x71,0xA5,\r
+0x92,0x20,0xA2,0xB8,0xA4,0x7C,0x1C,0x0E,0x4C,0xF0,0x12,0xCC,0x7D,0x95,0x4A,0xDB,\r
+0x01,0xDB,0xF8,0xD2,0x63,0x09,0xF9,0xA6,0xCF,0x43,0x72,0x14,0xDD,0xD1,0xF0,0xAC,\r
+0xAA,0xA8,0x29,0xCC,0x92,0x4B,0xA3,0x0D,0x8F,0x3F,0xA9,0x96,0x81,0xE1,0x34,0xF5,\r
+0x28,0x68,0x13,0x77,0x1D,0x63,0x7E,0x4E,0x9B,0x2B,0xD7,0xBC,0xD7,0x0B,0x9B,0x82,\r
+0x15,0x37,0x9F,0x6D,0x19,0x5B,0xF7,0xE0,0xEF,0x80,0xFA,0xD0,0x02,0x78,0xA4,0x0E,\r
+0x75,0x58,0x18,0xA0,0xD0,0xF5,0x88,0x2A,0xB6,0x17,0x8F,0x2D,0x12,0xB7,0x9B,0xB9,\r
+0xC5,0xB7,0x4F,0xDB,0x68,0x6D,0xAB,0x0C,0xF9,0xFF,0xFF,0xEC,0x97,0x86,0x36,0xAF,\r
+0xEA,0x45,0x73,0x65,0x0D,0xAD,0xE4,0x6A,0x51,0x8E,0x67,0x05,0xD2,0x61,0x38,0xD7,\r
+0x1E,0x92,0x60,0x7F,0xA9,0x4A,0xCA,0xD0,0x0B,0xBD,0xE0,0xB1,0xD2,0x41,0xCF,0x6A,\r
+0x3C,0xCB,0x13,0x1A,0x71,0x6F,0xE6,0x05,0xD6,0x3D,0xEE,0x66,0xFF,0x44,0xCE,0xC9,\r
+0xC7,0x84,0x91,0x55,0x68,0x38,0x64,0x72,0x4C,0x4E,0x50,0xD2,0x39,0x5C,0x62,0x82,\r
+0xED,0xB4,0xAC,0x7D,0x8E,0x9F,0x58,0x1A,0xE3,0x26,0x8B,0x01,0x9A,0x71,0xF1,0xD1,\r
+0x05,0x93,0xA3,0x80,0x66,0x0E,0x56,0xF8,0x79,0x73,0x31,0xDD,0xCC,0x07,0x1C,0xD2,\r
+0x58,0xFC,0xD0,0xC1,0x23,0x32,0x8A,0x9E,0x1D,0x91,0x5D,0x83,0xB7,0x80,0x58,0x1C,\r
+0x16,0x9A,0x52,0x19,0x95,0x55,0x4F,0x1D,0x6B,0x19,0x00,0xC2,0xB7,0x4C,0xAE,0x11,\r
+0xA1,0xCB,0x7D,0xA9,0x30,0xA0,0xAB,0x04,0xDF,0x0F,0xAF,0xA0,0x70,0x04,0x5A,0xA5,\r
+0x34,0x18,0xA0,0x65,0xE6,0x5F,0x6F,0xC8,0xEA,0x5E,0x98,0x78,0xE7,0xFD,0xAB,0xB7,\r
+0xBC,0xD9,0xED,0xD9,0xC7,0x74,0x53,0x56,0x5C,0xF4,0x40,0xF9,0xE0,0xD9,0xBD,0xA3,\r
+0x27,0x8B,0x7F,0xCF,0x3F,0xE6,0xA7,0x0A,0x3D,0x2B,0x57,0x69,0x1D,0x48,0x47,0x40,\r
+0x8D,0x28,0x88,0x69,0x7E,0x37,0x34,0x49,0x73,0xFE,0x45,0x00,0x16,0x30,0x44,0x25,\r
+0x53,0x86,0x3B,0x6E,0xC1,0x91,0x4F,0x2B,0xFB,0x38,0xA8,0xCA,0xD2,0x22,0x91,0x07,\r
+0x76,0xF9,0x1A,0x1B,0xF9,0x4F,0x90,0x97,0xA2,0xB6,0xFC,0x5A,0xBF,0xD5,0x47,0x19,\r
+0x8C,0x9A,0xBC,0xCF,0x39,0xEF,0xCF,0x21,0xC4,0x77,0x2A,0x52,0x8E,0x1B,0xCA,0xFE,\r
+0x96,0x4C,0x13,0xC1,0x40,0x60,0xC6,0xF9,0x7F,0xF4,0xC8,0xB0,0x39,0x02,0xCF,0xB9,\r
+0xF6,0x28,0x52,0x06,0xA3,0xC3,0xDF,0xAA,0xCA,0x47,0x10,0x7C,0x9B,0x79,0x6C,0xDD,\r
+0x82,0xC5,0x46,0x87,0xC1,0x65,0x26,0x56,0x49,0x73,0xB1,0x06,0x75,0x2E,0xEC,0x33,\r
+0x46,0x26,0xC3,0x93,0xD4,0x1C,0x02,0x35,0xA7,0xF1,0xE8,0x2F,0x2C,0x08,0x49,0x54,\r
+0x43,0xF4,0xDE,0x55,0x4E,0x69,0xFC,0x60,0x22,0x01,0xDE,0x7F,0x53,0x13,0x5D,0x90,\r
+0x26,0xDE,0xB3,0x34,0x17,0xA2,0xE7,0x2A,0xAA,0x20,0xA4,0xF7,0x91,0x6B,0x29,0x74,\r
+0x23,0x3F,0x43,0x50,0x80,0x85,0x8D,0x12,0x7F,0x3C,0x5E,0xFE,0x4C,0x99,0xFF,0x34,\r
+0xC1,0x2C,0x62,0xC5,0x9B,0xDF,0xA3,0xDB,0x40,0x19,0xC9,0xD8,0xFC,0xAB,0xEA,0xAA,\r
+0x3D,0xEA,0xBD,0x09,0x3A,0x90,0x3E,0xB2,0x72,0xF5,0xF9,0xC8,0x76,0xD8,0x8D,0x57,\r
+0x24,0x89,0x7B,0x8E,0x8F,0x06,0x03,0xDC,0x9B,0x9C,0x0A,0x39,0x4C,0xF1,0x6B,0x06,\r
+0xFE,0x64,0xE4,0x7A,0xD9,0xA6,0x5C,0x0F,0xDB,0x49,0xBD,0xD7,0x0B,0x33,0xEE,0x7D,\r
+0xE3,0x2D,0x70,0x39,0xFF,0xCC,0x02,0xDA,0x2B,0x6D,0xEC,0x4F,0x07,0x2F,0xA6,0xB5,\r
+0xCD,0x00,0x7B,0x21,0xE7,0x94,0xD6,0x3A,0x68,0x00,0xB6,0xBA,0xB9,0xB9,0xAE,0x96,\r
+0x8A,0x60,0x2E,0x42,0x18,0xA7,0x79,0x76,0xB3,0x12,0x88,0x92,0x6B,0x7A,0x67,0x57,\r
+0x51,0x5E,0xB6,0xFD,0x21,0x4E,0x38,0x14,0x4E,0x32,0x0C,0x19,0x84,0xC0,0xAC,0x62,\r
+0x7D,0xDE,0xE4,0x1E,0x3B,0x47,0x41,0xB6,0xC3,0xE7,0x39,0xEB,0xCB,0x2C,0xC5,0x25,\r
+0x7F,0x25,0x48,0x30,0x4E,0x9B,0x05,0x03,0x17,0x44,0xD4,0xE8,0x75,0x3B,0xF9,0xF0,\r
+0xB2,0x6A,0x3B,0xD5,0xEA,0x6A,0x3F,0xB0,0xA9,0x16,0x9D,0xB6,0xA5,0x97,0x8D,0xD5,\r
+0x77,0xB8,0xD7,0x99,0xF7,0x0F,0x15,0x88,0x7A,0x7A,0xE7,0xBB,0xD2,0xDC,0x67,0x16,\r
+0x21,0xA2,0xB2,0x02,0x83,0x11,0x9B,0xC0,0xCB,0xC7,0x0D,0x80,0xD0,0xB8,0x6B,0x06,\r
+0xBF,0x99,0x49,0xDF,0xAE,0xA5,0xE9,0x53,0x2A,0x19,0xAE,0xEE,0x8F,0x18,0xE3,0x93,\r
+0x3A,0xAF,0x9B,0x66,0x08,0xB3,0x4D,0x30,0xF0,0xAA,0xD0,0x22,0xE3,0x81,0x6D,0x00,\r
+0x52,0x30,0xD7,0xEF,0xA2,0xCF,0x19,0xC7,0x08,0x6D,0x3E,0x53,0xA2,0x1A,0xE2,0x26,\r
+0x49,0xF5,0xBB,0x74,0xCB,0x87,0x16,0xAB,0xAF,0xA7,0xDA,0x6E,0x16,0xCE,0x4A,0x6D,\r
+0xF4,0xA3,0x79,0x05,0x45,0x03,0x77,0xEE,0xB9,0x4E,0x83,0x24,0x59,0xB4,0x39,0x2F,\r
+0xC2,0x5C,0x3A,0x85,0xDF,0xAC,0x12,0x8D,0xB3,0x95,0x54,0x17,0xE3,0x29,0xCA,0x09,\r
+0x2D,0x3D,0x9C,0x20,0x4E,0x62,0x86,0xAE,0xB7,0x05,0x14,0x6E,0xCD,0x1D,0x3B,0x13,\r
+0x19,0x20,0xCA,0xC5,0x1B,0xCB,0x32,0xA8,0x12,0x98,0xD6,0x17,0xBF,0x9C,0x98,0x81,\r
+0xF2,0xB3,0xAA,0x0A,0x10,0x42,0xD5,0xFD,0xE7,0xF5,0x66,0xA8,0x30,0x68,0x8F,0xB1,\r
+0xD3,0x57,0x48,0xA4,0x67,0xCA,0xF5,0xEB,0xD0,0xA2,0xC4,0xF9,0x4E,0xFB,0x6C,0x2A,\r
+0xBE,0xEC,0xC9,0x52,0x20,0xBA,0x0F,0x1C,0xC5,0xEE,0xF3,0x47,0xF0,0x5A,0x9F,0x0E,\r
+0xF8,0xB5,0xB6,0x25,0xD3,0xE9,0xA0,0x98,0x52,0x83,0x8E,0xA6,0xEC,0x1F,0x8F,0xF0,\r
+0x7E,0x32,0xF1,0xBE,0x0F,0xE5,0x2E,0x05,0x27,0xDF,0x17,0x8C,0x14,0x7B,0x8F,0xF5,\r
+0x35,0x8B,0x09,0x48,0xE3,0xB0,0x87,0xAE,0x03,0x5C,0xD2,0x4D,0x90,0x6E,0x98,0x1D,\r
+0x62,0x69,0x4D,0x70,0xA9,0xE1,0x65,0x1A,0x1B,0x46,0x27,0x53,0xC6,0xB0,0x48,0x9C,\r
+0x28,0x2A,0xD2,0x17,0x36,0xC6,0x3D,0xC3,0x87,0x38,0xC1,0x27,0x5C,0x46,0xE3,0x3A,\r
+0x74,0x60,0x78,0xE3,0x60,0xA4,0xB3,0x26,0xD8,0xDC,0x0D,0x9E,0x5C,0xBF,0x23,0x3B,\r
+0xC7,0xB4,0xA7,0x97,0x86,0x6B,0x8C,0x14,0xA9,0x78,0xDD,0x15,0x6C,0xD0,0x0F,0xF6,\r
+0x89,0xF6,0xBF,0xCE,0xE2,0x71,0x71,0x59,0x8D,0x0A,0xCE,0xC7,0xCA,0x24,0x1C,0x48,\r
+0xCA,0x2F,0xEC,0x30,0xAF,0x19,0x7D,0x43,0x2F,0xC7,0x7F,0xD3,0xD4,0x92,0xFE,0x13,\r
+0xEF,0xDC,0x4F,0xFE,0x6A,0xF7,0x5F,0x10,0x38,0x3E,0x38,0xE8,0x70,0x8F,0xB9,0xC1,\r
+0x30,0x92,0x2E,0x6B,0x13,0xA3,0xCC,0x75,0x3D,0x90,0xB6,0x9E,0x53,0x02,0x2F,0xDF,\r
+0xF9,0xF0,0xD7,0x1E,0x07,0xBE,0xCA,0x0D,0x4A,0xF6,0x35,0x6A,0x04,0x33,0xBA,0xA1,\r
+0x1E,0x57,0x6B,0xE2,0x2A,0x4A,0x84,0x59,0xF3,0xAC,0x15,0xEE,0x59,0xB4,0x93,0xEF,\r
+0xA1,0x4C,0xAD,0xDA,0x55,0x21,0x7A,0xFB,0x2C,0xAD,0xE3,0xCC,0x28,0xDB,0xF8,0xBE,\r
+0x39,0xC5,0xEB,0x2A,0x14,0x91,0x54,0x02,0xFA,0xCC,0xD2,0x33,0x55,0xAB,0x65,0xDE,\r
+0x37,0x49,0xD9,0x21,0x61,0x7C,0xA8,0x4B,0xA5,0xE6,0x5F,0xA4,0xC8,0x83,0x92,0xA8,\r
+0x0F,0x03,0xDC,0x58,0xA6,0x41,0x67,0xE4,0x04,0x49,0x2C,0xCF,0x88,0xAE,0x7B,0x75,\r
+0x5D,0x25,0x8F,0x1D,0xD1,0x55,0xCF,0xF2,0x77,0x4C,0x85,0xD7,0x53,0x26,0x62,0x2D,\r
+0x1F,0xDE,0x98,0xC3,0xEA,0xFE,0xA0,0x9F,0xDD,0x06,0xB5,0x40,0xDE,0xFD,0x17,0x27,\r
+0xF4,0x87,0x70,0x1D,0xBF,0xF5,0xEF,0x8E,0x36,0x48,0x50,0xA9,0xCE,0xFB,0x33,0x10,\r
+0x0B,0x44,0xD8,0x9F,0x6D,0x60,0x5D,0x96,0x14,0x7B,0xA9,0x9F,0x98,0xCC,0x1D,0x84,\r
+0x66,0x98,0xFC,0x2F,0x68,0x0C,0x44,0x02,0xF3,0x57,0xD4,0x37,0x4B,0x09,0xE0,0x77,\r
+0x01,0x0A,0xAD,0x89,0x46,0x42,0x02,0x8A,0x00,0x58,0x18,0x6D,0xDE,0x54,0xB3,0x43,\r
+0xCB,0xCF,0xA5,0x1C,0xAC,0xB9,0xA9,0xF5,0x15,0xF3,0x25,0x7E,0xDC,0xDF,0x38,0x71,\r
+0x5A,0x83,0x0B,0xBC,0xA0,0x51,0x78,0xB0,0xCD,0xB0,0x53,0x41,0x87,0x65,0xAE,0xC3,\r
+0x3B,0xE5,0xE6,0xD2,0xE5,0x68,0x4D,0xDA,0xA6,0xB7,0x10,0x2F,0x18,0xBA,0x65,0x79,\r
+0x6C,0xD8,0xBC,0xE8,0x6C,0x93,0xEB,0xEB,0x2A,0xCB,0x08,0x5A,0x0A,0x04,0x27,0xF8,\r
+0x34,0x0A,0xC4,0xD3,0x19,0xC2,0x36,0xB6,0x04,0x43,0x56,0xC5,0x99,0x9C,0xB4,0x11,\r
+0x97,0x9A,0x4B,0xB6,0xB8,0xA2,0x70,0xB3,0xF3,0x77,0x2D,0xCC,0x5C,0x44,0x06,0x17,\r
+0x1B,0x68,0x59,0xBA,0xA2,0x22,0x82,0x30,0x72,0x5C,0x81,0xC8,0x3A,0xA8,0x0E,0x1A,\r
+0xBB,0xB4,0x52,0x3D,0xDD,0xD8,0xD3,0xEB,0x98,0xA3,0x4F,0x77,0xCB,0x7E,0xF3,0xF5,\r
+0x63,0x4D,0xBA,0x52,0x5E,0xD9,0x2B,0x3A,0xC7,0x68,0x64,0x30,0x6F,0x11,0x93,0x0A,\r
+0xC5,0x0F,0x3C,0xA5,0x01,0x07,0x59,0x5F,0xA9,0x69,0x76,0xA8,0xCE,0xFC,0x17,0xAA,\r
+0x20,0xD0,0x4E,0x6F,0x18,0xE8,0x6C,0x43,0x1A,0xD6,0x8D,0x21,0xF5,0x14,0x8D,0x52,\r
+0xB2,0xDB,0xBD,0xE3,0xAE,0x73,0xC4,0x1F,0xB5,0x78,0x1C,0xBD,0x36,0x03,0xFD,0xC0,\r
+0xC4,0xB3,0xE8,0x1D,0x7A,0x69,0xF0,0x9F,0xBD,0x2F,0x8C,0x0E,0x85,0xAD,0x3B,0xBA,\r
+0x52,0xFC,0x03,0x35,0x98,0x70,0xB0,0x1D,0x46,0xB5,0xA5,0x74,0xC0,0x5E,0x43,0x9A,\r
+0xD1,0x49,0xB3,0xDA,0xD2,0x77,0xE8,0x48,0x85,0x24,0xCD,0xBA,0x85,0x0A,0x77,0xB6,\r
+0x8B,0xAB,0xF5,0xD5,0xF7,0x95,0x88,0xC1,0x49,0xDA,0xFF,0x40,0x18,0x9D,0x3E,0x68,\r
+0x3D,0xCC,0x86,0x86,0xDD,0x17,0x14,0xF0,0xD3,0xD7,0x47,0xE7,0x5A,0x8A,0x31,0x91,\r
+0xF6,0x32,0xBC,0x88,0x4C,0x72,0xAA,0x7A,0x41,0x4D,0x3F,0x78,0x28,0xF0,0x12,0xE8,\r
+0x31,0xFE,0xD2,0x4E,0x02,0xD6,0x89,0x50,0xD5,0x18,0x7A,0x83,0x46,0xE5,0x2B,0x73,\r
+0x48,0xA6,0x78,0x70,0xFC,0x12,0x9D,0x4A,0xBB,0xE7,0x5C,0x7C,0x0C,0xBC,0x4E,0x12,\r
+0xCF,0x41,0x81,0x32,0x27,0x2B,0x23,0x79,0xC1,0xC4,0x6F,0xEA,0x27,0x80,0x62,0x74,\r
+0x3E,0x2B,0x97,0x02,0xA9,0xE6,0x81,0xF1,0x42,0x29,0xC3,0x8C,0x7C,0xC9,0x15,0x7A,\r
+0x1A,0x2C,0x53,0x6F,0x49,0x05,0x48,0x6B,0xE5,0xCA,0x94,0x08,0x80,0x58,0x35,0x55,\r
+0x13,0xBD,0xE0,0x33,0xA5,0x29,0xF4,0xE4,0xF1,0x2D,0x78,0x5A,0xDB,0x6D,0xBA,0x73,\r
+0xC0,0xA7,0x04,0xFA,0xAB,0x99,0x1D,0x49,0xB9,0x58,0xED,0x1D,0xFF,0xE2,0x9C,0x65,\r
+0xF3,0x0A,0x27,0x5F,0xDB,0xDE,0x6A,0x6A,0x92,0x11,0x2E,0x84,0x29,0xDC,0x6B,0xC7,\r
+0xF2,0xDD,0x72,0xE4,0x8B,0xAA,0x35,0x1F,0x39,0xD9,0x67,0xC8,0x3B,0xE9,0x9D,0xDA,\r
+0x98,0x15,0xA8,0x5C,0x0D,0xB7,0x02,0xDB,0xBE,0xBF,0x7B,0x7A,0x9F,0xB8,0xB6,0xEE,\r
+0x57,0xE8,0x0E,0x53,0xEB,0xA0,0xEF,0x21,0x92,0xF8,0xE0,0xD8,0x72,0xD7,0x71,0x6D,\r
+0xF8,0x9D,0x3B,0x8C,0xD6,0x96,0x4E,0xFB,0xD2,0x30,0x7D,0x8F,0xE9,0x00,0x74,0x1F,\r
+0x9B,0x70,0xF3,0xC8,0xAD,0x06,0x26,0xCA,0x71,0x3E,0x4E,0x7D,0x92,0x6A,0xF8,0xC8,\r
+0xD3,0xE1,0x67,0x2E,0xB6,0x1D,0x33,0x5A,0x37,0x4A,0x9A,0x73,0x2F,0x8E,0xD1,0x08,\r
+0xF1,0x87,0xD6,0x91,0xA1,0xEB,0x59,0xBE,0x48,0x52,0x4C,0x78,0xE9,0xFA,0x37,0x1A,\r
+0xE7,0x29,0x05,0xE7,0xF3,0x6E,0x49,0xE6,0xE0,0x89,0xD5,0x7F,0xEF,0x84,0x68,0xC5,\r
+0x5B,0xC1,0x8B,0xF6,0xEF,0x23,0xBB,0xE3,0x47,0xFA,0x88,0x5C,0xA3,0xB3,0x39,0x23,\r
+0x45,0xE7,0x68,0x57,0x02,0x75,0x18,0xD7,0x43,0xCE,0xEC,0x0A,0x8F,0x59,0xE4,0x71,\r
+0xB1,0x56,0xD0,0xA6,0xE8,0x2A,0xFF,0x32,0xEA,0x3C,0x2F,0x98,0x1C,0x43,0x7C,0xA5,\r
+0xE4,0x9D,0x1D,0x80,0x45,0x61,0x38,0x3D,0x9C,0x54,0x3A,0xFF,0x3B,0x86,0x08,0x43,\r
+0xEE,0x5A,0x59,0x66,0xFE,0xEA,0x38,0x88,0xF2,0xBB,0x0E,0x4D,0x6A,0xA7,0x22,0x49,\r
+0xBD,0x74,0x65,0xC6,0xB5,0xAC,0x36,0x17,0xC0,0xFD,0x4B,0xAC,0x05,0xDA,0x00,0x84,\r
+0x16,0xB8,0x96,0x25,0x1F,0xA6,0x0F,0xF2,0x85,0x19,0x3C,0x4B,0x06,0x32,0x84,0x32,\r
+0x9E,0x29,0x8B,0xDF,0x9C,0x87,0x37,0xD1,0x1A,0x75,0xAF,0x51,0x3A,0x90,0xDE,0x98,\r
+0x36,0xAE,0xD9,0x87,0x02,0x79,0xB9,0x03,0xDE,0xB9,0x49,0xAA,0xB5,0x40,0x67,0x41,\r
+0x9F,0xBE,0x49,0x89,0x6F,0x4D,0xF9,0x9F,0x52,0x0C,0xC8,0x64,0xB9,0x82,0xAA,0x7C,\r
+0xF7,0x80,0x53,0xDB,0xEC,0x27,0x50,0xB9,0x82,0x39,0x8E,0x64,0x7D,0x3C,0xF7,0xF7,\r
+0x44,0xE9,0x75,0x24,0x02,0xE8,0xF3,0x49,0xD0,0x13,0x5E,0x16,0x1E,0x53,0x5B,0xBC,\r
+0xE1,0xE5,0x03,0xCC,0x59,0x62,0x04,0xA3,0xBD,0x3D,0xA4,0x36,0x79,0x33,0x88,0x74,\r
+0xAB,0x01,0x70,0x41,0xA7,0x45,0x48,0x98,0x90,0xE1,0x42,0x2A,0x34,0xC5,0xDC,0x76,\r
+0x6C,0x5E,0xA9,0xED,0x30,0x74,0xBC,0xD8,0x28,0xCE,0xBB,0x3E,0x61,0x0C,0x56,0x03,\r
+0xB3,0x24,0x28,0xB4,0xD9,0x20,0x88,0xAD,0x70,0x58,0x35,0xDB,0x6A,0x81,0x54,0xF9,\r
+0x0A,0xF3,0xFF,0xDC,0xAE,0xF2,0x51,0xAD,0x91,0xB1,0x4D,0x24,0xAE,0xA7,0xE8,0x9A,\r
+0x49,0x54,0xCF,0xCD,0xD4,0x9A,0x1D,0x1C,0x5B,0xEE,0xFC,0x0B,0x30,0x11,0x1B,0x03,\r
+0x22,0xE5,0x28,0x05,0x71,0xA2,0x93,0xF7,0xCD,0x67,0x60,0xE7,0xB9,0x58,0xB0,0xE7,\r
+0xBA,0x59,0xE2,0xE7,0xEE,0x12,0x72,0xB7,0xD4,0x69,0x51,0xD2,0x73,0x28,0x22,0xE9,\r
+0x7A,0x7F,0x94,0x90,0x05,0x3D,0xB9,0x14,0x7E,0x5C,0xB6,0xE0,0x54,0xB0,0x34,0x32,\r
+0x9D,0x24,0x99,0x1E,0xBE,0xC9,0x57,0xAE,0xC9,0xE7,0x96,0x4C,0x85,0x37,0xDA,0x26,\r
+0xDE,0x0A,0x90,0xE7,0x68,0xD6,0xF4,0x5F,0x86,0xA2,0x06,0x08,0x80,0xA5,0xA4,0x98,\r
+0x9C,0x15,0x4E,0x60,0x3A,0x7D,0xAB,0xD0,0x67,0x96,0x36,0x2D,0x79,0x7E,0x5B,0x7D,\r
+0xB4,0x63,0x1D,0xF1,0x5E,0xFF,0xD1,0x74,0x67,0x86,0xDC,0x11,0xC1,0x00,0xFB,0x8B,\r
+0x8C,0x8D,0x81,0xF8,0xA4,0xC2,0x3B,0x19,0x6E,0xF1,0xAF,0x14,0x25,0x2D,0x1D,0xBD,\r
+0xE5,0xCA,0x67,0x38,0x7F,0x8F,0x43,0xB4,0x4D,0x66,0x57,0xAD,0xEE,0x8A,0x5F,0xF3,\r
+0x82,0x76,0x54,0x63,0xDE,0xC1,0xE5,0x2B,0x14,0xC9,0x9B,0x68,0x2C,0xD7,0x3A,0x15,\r
+0x77,0xC8,0xFA,0x48,0x5E,0x76,0x7E,0x87,0x08,0x64,0xD3,0x40,0x52,0x78,0x42,0xB8,\r
+0x88,0x4A,0xD0,0x6B,0x8D,0xE3,0x10,0x9E,0x1E,0xB4,0x2A,0xDC,0xF8,0x4F,0xA5,0x52,\r
+0xB8,0x73,0xD1,0x7A,0x48,0xEB,0xAE,0x8B,0xF0,0xF3,0x93,0x36,0x2D,0x39,0xBF,0x43,\r
+0xEF,0xFB,0x71,0x88,0x40,0x10,0xA5,0xB9,0x54,0xC4,0x8B,0x72,0x3F,0x87,0x7A,0x48,\r
+0x48,0xB7,0x58,0x6E,0xF6,0x3A,0x78,0x0F,0xBF,0xE6,0xA6,0x2D,0x8F,0x5C,0x62,0xE9,\r
+0xD9,0x9E,0x07,0x11,0x22,0xD2,0xDE,0xB2,0x10,0x2D,0xD0,0x72,0x88,0xE6,0x09,0x3B,\r
+0x98,0xDF,0xCA,0x7E,0xE4,0xA1,0x6D,0x7C,0x4B,0x93,0x02,0xF8,0xBC,0x2B,0x0C,0x33,\r
+0x38,0x83,0x20,0x47,0xC4,0x5B,0xF3,0x35,0x60,0x1C,0xCC,0x0D,0x0B,0xFD,0xDF,0x34,\r
+0xB7,0xFA,0x76,0xB3,0x34,0x41,0xAF,0xA4,0x07,0x6A,0xD5,0x10,0x53,0x1F,0x2C,0xEA,\r
+0x14,0x7B,0xDD,0x3C,0x4F,0x21,0xEC,0x3B,0x73,0x26,0xAE,0x6E,0x10,0xC7,0x32,0xE1,\r
+0xA3,0x7D,0xF7,0xEA,0x16,0x6B,0xB4,0x3A,0x7C,0x94,0x0E,0x1A,0x65,0x97,0x57,0xE6,\r
+0x31,0x98,0xDC,0x48,0x2E,0xF0,0x03,0x7E,0xA7,0x2E,0x9F,0x34,0x24,0x80,0x91,0xE5,\r
+0xE0,0xFE,0xE1,0x95,0xD7,0x5A,0x2B,0x30,0x5D,0x00,0xE7,0x60,0x21,0x92,0x58,0x1B,\r
+0x46,0x82,0x53,0x34,0x81,0x84,0x44,0x4C,0x62,0x5B,0xF5,0x3F,0x61,0x7F,0x1C,0x0A,\r
+0x52,0x41,0x71,0x07,0x58,0xF4,0x4D,0x6D,0xA3,0x99,0x4E,0xA3,0xAE,0x89,0x85,0x44,\r
+0x08,0xC2,0xF9,0xD0,0x4F,0x16,0xAA,0xE2,0x1E,0x97,0x7C,0xB6,0xC5,0x1E,0xA6,0x5B,\r
+0x47,0x45,0xC2,0x43,0x66,0xEA,0xAC,0xF4,0xE9,0xFC,0x0F,0xD4,0x15,0x2E,0x77,0x1E,\r
+0xD1,0xFE,0x12,0x0E,0x03,0xF3,0x87,0x84,0xBE,0x4A,0x26,0xA8,0x23,0xDD,0xF7,0x27,\r
+0xB2,0xCC,0x93,0x45,0x65,0x55,0x73,0xBE,0x0D,0x33,0xF9,0x80,0x04,0x66,0xA6,0x9A,\r
+0xCB,0x4E,0xEB,0xBB,0x01,0x91,0x98,0x43,0x30,0x05,0xDF,0x73,0xA2,0x3F,0xF3,0x2C,\r
+0xBE,0xAC,0xA5,0xCA,0x80,0x94,0x8D,0x3C,0xCD,0x21,0xC4,0xE3,0x97,0x09,0x96,0x9A,\r
+0x75,0x90,0x0D,0x81,0x47,0xF1,0xD1,0x51,0x88,0x6D,0xBC,0xDD,0xCC,0x73,0xC5,0x95,\r
+0x99,0x14,0xDE,0xC0,0xF4,0x86,0x67,0x3A,0xEB,0x14,0x17,0x72,0x57,0xDB,0xBB,0x92,\r
+0x90,0x1B,0x69,0x3F,0x9F,0xAA,0x3A,0xB6,0x5B,0xD5,0xFB,0xCB,0x61,0xEE,0xD8,0xDB,\r
+0x4C,0x3D,0x45,0xCC,0x5B,0xA8,0x02,0x5A,0xDE,0x57,0xEC,0x26,0x27,0x03,0xD3,0xA0,\r
+0xBD,0x0C,0xE9,0x5D,0x81,0x65,0xC2,0xF7,0xF8,0x38,0x40,0xCF,0xD6,0x4A,0x62,0x22,\r
+0x71,0x66,0x67,0x86,0xB5,0x29,0x84,0x54,0x61,0x14,0xE4,0x2C,0xD2,0x6A,0xB2,0x4C,\r
+0x1B,0x2B,0x94,0xBD,0x42,0x34,0x19,0xDD,0x4C,0x6E,0xF8,0xDD,0x85,0x3B,0x1E,0x56,\r
+0x43,0x1A,0xAB,0x7E,0x1B,0x1A,0x52,0x98,0xEF,0x13,0x6E,0xAC,0xC4,0x61,0x38,0x2F,\r
+0x70,0xD4,0x8C,0xE9,0x9A,0x5D,0x08,0xDC,0xA6,0xB9,0xAD,0x49,0x50,0x5F,0x8F,0x0B,\r
+0x18,0xE1,0xC8,0x2D,0x86,0x85,0xF6,0xB7,0x68,0xCD,0xCD,0x9E,0x45,0xE9,0x79,0xBE,\r
+0x50,0x17,0x4A,0x1E,0x72,0x9E,0x58,0x10,0xA1,0xC5,0x19,0xEA,0x00,0x0D,0xBC,0x2F,\r
+0xD4,0x57,0xB3,0xA0,0x7E,0x23,0x14,0xBE,0x45,0x02,0x63,0x4A,0x4B,0x54,0x35,0x78,\r
+0x7B,0x68,0x1C,0xDF,0x28,0x15,0xC4,0xED,0x23,0xEE,0xFE,0x74,0xCC,0x83,0xEE,0x97,\r
+0xD8,0x03,0x65,0xCF,0xB8,0xA0,0xB1,0xE3,0x02,0x29,0x0B,0x92,0x8D,0x30,0x39,0x7C,\r
+0xC6,0x08,0x9E,0xA2,0x5E,0xF6,0x98,0x8E,0x57,0x04,0x6F,0xE3,0xCB,0xDA,0xFE,0xEA,\r
+0x72,0x6A,0x60,0x72,0x7B,0x68,0x39,0xA7,0x3F,0x00,0xCF,0xBD,0x6D,0x79,0xB2,0x22,\r
+0x64,0x14,0xE6,0x70,0x83,0xED,0x2D,0x3D,0x17,0x97,0x56,0x55,0x30,0x07,0x90,0x53,\r
+0x6D,0x49,0x21,0x38,0x57,0x69,0xF1,0x0F,0x19,0xAB,0x8D,0x15,0xFA,0x24,0x77,0xDE,\r
+0x3E,0xB6,0x8D,0x88,0xC5,0x2F,0xC6,0x66,0x80,0x28,0xC8,0xDB,0xF5,0x59,0x54,0x08,\r
+0x32,0x0B,0xC0,0x47,0x33,0xA9,0x20,0x13,0x6E,0xE8,0xAC,0xE1,0x3E,0xC0,0xE3,0x30,\r
+0x67,0x6A,0x8B,0x3C,0x9A,0xE2,0x5A,0x0D,0x12,0xAF,0xB9,0x3E,0x55,0x05,0xB1,0x16,\r
+0xB5,0x27,0xBE,0xC5,0x1A,0xFA,0xF4,0x29,0x41,0x83,0xCA,0x1F,0x56,0xC3,0x8B,0x45,\r
+0x1C,0x01,0x66,0x19,0xDC,0xCE,0x8C,0xB8,0xB0,0x89,0x4B,0x18,0x3B,0x01,0x6B,0x9A,\r
+0x95,0x1B,0x58,0xB5,0x03,0x25,0xD4,0x27,0x28,0x22,0xBF,0xD5,0x3B,0xB1,0x74,0x41,\r
+0x1D,0xB4,0x1A,0x71,0x55,0x04,0x24,0x93,0x96,0x3E,0x2C,0x21,0x90,0x13,0xDC,0x8C,\r
+0x6E,0xD3,0x1F,0xF5,0xCD,0x68,0x69,0x8E,0xEF,0x80,0xA2,0x35,0xD9,0xE5,0xFC,0x60,\r
+0x4E,0x1E,0x21,0x72,0xBB,0xEF,0xA5,0x15,0x32,0xFC,0x45,0x86,0xD4,0x11,0xF8,0xDD,\r
+0xB8,0xB2,0x52,0x0F,0xCC,0x80,0x3F,0xC2,0x55,0xFD,0xFA,0x88,0xF8,0x7A,0x1F,0x27,\r
+0x89,0x10,0x7D,0x1A,0xD2,0xF0,0xFC,0x0F,0x7C,0xA4,0x62,0xFB,0xEC,0xCA,0xEB,0x41,\r
+0x04,0xCC,0xC2,0x97,0xBF,0xD8,0xF6,0xA2,0xA6,0xB0,0x6C,0xDB,0x5E,0x27,0x89,0xE1,\r
+0x77,0xC0,0x5C,0x80,0x5C,0xF5,0x57,0x1B,0xD0,0x28,0x54,0x53,0xBD,0x1A,0x3C,0x3B,\r
+0xDE,0x9A,0x5A,0x70,0x8F,0x7D,0x6C,0x81,0xFA,0xCD,0x06,0x03,0x8D,0x0E,0x6E,0x83,\r
+0xEE,0x8A,0x25,0xE3,0x89,0xA6,0xAE,0xF4,0x05,0x58,0x44,0xA5,0x44,0xA5,0x35,0xAF,\r
+0x7C,0x2C,0xB9,0xF3,0xB4,0xEB,0xA1,0xE5,0xEE,0x82,0x39,0xDB,0x6B,0xBA,0x78,0x49,\r
+0x9A,0xF9,0xD5,0x89,0xA4,0x1D,0x8C,0xCC,0x6A,0x9E,0x73,0xE8,0xF1,0x9D,0x1C,0x31,\r
+0x56,0x30,0x57,0x17,0x0A,0xE4,0x99,0xBC,0x39,0xE1,0x2F,0x06,0xD7,0xFF,0xBE,0x4E,\r
+0x86,0x8F,0x9D,0xBA,0x16,0x8B,0x23,0xDD,0x59,0xE6,0x9C,0x75,0xB5,0x30,0x77,0x89,\r
+0x95,0xEA,0x43,0x73,0xE0,0x7F,0xD8,0xB1,0xC7,0xD7,0xD2,0x9E,0x88,0x2A,0x20,0xDD,\r
+0x24,0xBA,0x3F,0xAD,0xE1,0xC9,0x37,0x14,0x28,0x50,0x91,0xC2,0xE9,0x42,0xC5,0x75,\r
+0x63,0x6E,0xC2,0xD7,0x58,0xD4,0x47,0x3F,0x01,0xE5,0xB4,0x99,0x5B,0xAC,0xF8,0x4B,\r
+0xED,0xBD,0x43,0xFF,0xAD,0x59,0x39,0x37,0xE9,0x35,0x6B,0x7B,0x07,0xF8,0xEA,0x8F,\r
+0x0D,0x2B,0x84,0x8B,0x35,0xC7,0xD4,0x0C,0xF5,0xBB,0x6F,0xCE,0xC3,0x99,0x39,0xDE,\r
+0x76,0xD2,0x48,0x44,0x24,0x1F,0x87,0x52,0x09,0xD9,0xCC,0x20,0xD2,0xF9,0x64,0x90,\r
+0xDA,0x23,0x19,0x45,0x26,0xF3,0xB2,0xA9,0x59,0xB2,0x40,0x63,0xC9,0x79,0x2E,0x6D,\r
+0x14,0x00,0xA6,0x56,0xC5,0x25,0x35,0xEF,0x1D,0x1D,0xE0,0x76,0x20,0x83,0xC1,0xF8,\r
+0x3F,0x9F,0xAB,0x8F,0x9B,0x4A,0xD0,0x08,0xD9,0x93,0x38,0x93,0x13,0x82,0xB7,0xD4,\r
+0x2D,0x6D,0x5D,0x17,0x3F,0xA7,0xD4,0xB2,0x77,0x6B,0x9E,0xA3,0xF2,0x5C,0xDE,0x14,\r
+0xD6,0x9E,0xF3,0xED,0x1C,0x4F,0xFB,0x15,0x12,0x40,0x7B,0x4C,0xD7,0xB3,0x2C,0x04,\r
+0x47,0x2A,0x96,0x6A,0xD3,0x58,0x4F,0x94,0xFD,0xEE,0xE9,0x44,0x7D,0x28,0x1E,0xF1,\r
+0x0B,0x70,0x97,0x01,0x48,0xA0,0x9F,0x08,0x03,0xF9,0xAF,0x29,0x92,0xAE,0xF3,0x34,\r
+0xF2,0xC6,0x87,0x18,0x93,0x97,0xE9,0x00,0x24,0xF3,0x50,0x98,0x65,0x3B,0xF1,0x33,\r
+0x8F,0x76,0xF5,0x51,0xDA,0x52,0x33,0x6A,0xD8,0xB9,0x3D,0xF3,0x7B,0x57,0x55,0x24,\r
+0x43,0x08,0xD6,0x86,0x40,0x0F,0x14,0xA0,0xB2,0x48,0x5A,0x8B,0x9D,0x19,0x67,0x7A,\r
+0x7E,0xD8,0xD6,0xBD,0x1E,0x84,0xAD,0xD9,0x03,0x43,0x90,0xDD,0x81,0xE2,0x63,0x7A,\r
+0x08,0x10,0x31,0x74,0x5D,0x3E,0x5C,0x28,0x47,0xBA,0x01,0x2D,0x60,0x0A,0x84,0x44,\r
+0x4B,0x03,0x32,0x42,0xE1,0xE1,0x36,0xCA,0xBE,0x59,0x60,0x95,0x4F,0x33,0x66,0xA9,\r
+0x53,0x04,0xFA,0x9A,0x92,0x5F,0x8F,0x50,0x3C,0xF2,0x37,0x8A,0x90,0xC8,0xF1,0xC2,\r
+0x34,0x10,0xBF,0xF5,0xC2,0xDB,0x37,0xA7,0xE5,0x5D,0x94,0xF4,0xDC,0x70,0x13,0x12,\r
+0x98,0xA4,0x16,0xA4,0x01,0x92,0x1D,0xC3,0x05,0x2C,0x65,0x97,0x3C,0xBD,0x3C,0x90,\r
+0xCF,0x8F,0x91,0x5B,0x62,0x03,0xB8,0x78,0x55,0x3A,0x41,0xA8,0x65,0x5E,0x97,0x36,\r
+0x23,0xBA,0x90,0x6C,0x27,0x36,0xFC,0x0F,0x30,0xBA,0x48,0xEA,0x9C,0x72,0xFF,0x07,\r
+0xB6,0x16,0x0D,0x24,0x5E,0xB9,0x5D,0x4D,0xC0,0xF1,0x9B,0x7E,0xB2,0xC2,0x42,0x3E,\r
+0x75,0xF7,0x70,0x6C,0x5E,0x87,0x07,0x26,0x75,0xE2,0xA8,0x3C,0x95,0x85,0xB3,0xE3,\r
+0x3C,0x30,0x61,0x94,0xCB,0xB2,0x5A,0xD5,0x6A,0x1A,0xA9,0x23,0x27,0xF1,0x84,0x48,\r
+0x20,0xD3,0xB4,0x7C,0xD5,0xE3,0x02,0x9E,0x18,0xE4,0xC3,0xC8,0x81,0xEC,0xB8,0xB6,\r
+0xD7,0x50,0xC7,0x3A,0x58,0xF6,0x9E,0xC6,0x99,0x24,0x9F,0xC0,0x32,0x32,0xA4,0x91,\r
+0xFE,0x61,0x25,0x9D,0x67,0x05,0xED,0x98,0xAE,0xAF,0x09,0xAA,0x78,0x2B,0xE3,0xF1,\r
+0x96,0xE3,0x60,0xE0,0x82,0x51,0x0B,0xA0,0x26,0xD1,0x8A,0xA6,0xD3,0x2C,0x7E,0x59,\r
+0xA4,0x1B,0xB6,0xB6,0xEB,0xC6,0x27,0xF3,0x45,0xDC,0xD0,0xC0,0x9F,0xCE,0x0F,0x52,\r
+0x1C,0x9B,0x53,0x00,0x2E,0xD1,0x71,0xA2,0x8F,0x9D,0x66,0xFC,0xE3,0x4C,0x2E,0x8E,\r
+0x64,0xD5,0x2E,0x27,0xDA,0xAB,0x1E,0x4E,0x2A,0x2D,0xAD,0x1B,0x6E,0x29,0x7A,0x7B,\r
+0x21,0x79,0x88,0x51,0x16,0xBE,0xD1,0x60,0x77,0xC6,0x6A,0x6E,0x67,0x8D,0x37,0xEB,\r
+0x07,0x08,0xF7,0x0D,0x94,0xE7,0x7F,0x27,0x3E,0x02,0x13,0x59,0xAB,0x49,0x4D,0x0A,\r
+0x74,0x7F,0x26,0x16,0x85,0x18,0x19,0x33,0xA4,0x5F,0xEA,0x00,0xAC,0x71,0x9B,0xCF,\r
+0x61,0xDF,0x70,0x45,0x70,0xDD,0x7C,0x0C,0xDB,0x42,0xBF,0xD3,0x27,0x3A,0x9F,0x7F,\r
+0x55,0xEF,0x13,0x32,0x8F,0xFC,0xD8,0x04,0x2B,0x8E,0xB5,0xAE,0x54,0xB1,0x69,0x52,\r
+0x10,0x8B,0x23,0x0F,0x18,0x81,0x6A,0x13,0x68,0xC4,0xE6,0x40,0x75,0xF7,0xC3,0x11,\r
+0x67,0xCC,0x60,0xD9,0x34,0x69,0x44,0xE5,0xE0,0x66,0x4D,0x11,0xE3,0xFD,0x5A,0x92,\r
+0xF4,0x48,0x9B,0xD5,0xF7,0xCB,0x28,0xBB,0x1E,0x78,0xC5,0x25,0xDF,0xDC,0xFB,0xEB,\r
+0x12,0xED,0x1C,0xE5,0xCA,0x1B,0x2E,0x32,0x87,0xF7,0x6D,0xFE,0x25,0x22,0xA4,0xC2,\r
+0x93,0x6E,0x86,0x6D,0xCE,0xD9,0xFF,0x55,0xA9,0x25,0xC4,0x38,0x86,0x16,0x3F,0x3F,\r
+0xBB,0x8F,0x07,0x09,0x9C,0x8C,0x0C,0xF8,0x1D,0xC5,0x0C,0x5F,0xB9,0xFB,0x3F,0x3B,\r
+0x26,0x5E,0x7D,0xD5,0x65,0x5B,0x16,0xBE,0xC1,0x64,0xA3,0xEF,0xA8,0xCD,0x38,0x94,\r
+0x15,0x3C,0x58,0x31,0xB9,0x31,0x8D,0x36,0x8C,0xEC,0xC0,0xDC,0x4F,0x5D,0xEE,0xC8,\r
+0xC1,0x5C,0x0D,0x03,0x5C,0xD5,0xDC,0xFF,0xCE,0x35,0x88,0xE4,0x3B,0x46,0xB7,0x3C,\r
+0x17,0x97,0x97,0x45,0xE4,0xA1,0xB5,0x86,0x75,0x47,0xAA,0xDB,0x3C,0xB0,0x58,0x95,\r
+0x8E,0x3E,0x24,0x22,0xBC,0xDF,0x1D,0x4F,0x2C,0xDA,0xBC,0x7A,0xB0,0x35,0x0F,0xE5,\r
+0xD3,0x34,0xA2,0x0F,0xCE,0xE8,0xA7,0x7E,0x36,0x8F,0x00,0x03,0x33,0x78,0x43,0x8C,\r
+0xB7,0xFB,0x2A,0xB3,0x18,0x02,0xA8,0x85,0x4D,0x9A,0x1E,0xD5,0xF7,0x2E,0x63,0x31,\r
+0x20,0xAB,0xBE,0xAC,0x29,0x1B,0xA8,0xD0,0xD4,0xF6,0xB0,0x4A,0x6F,0xC8,0x7E,0x2F,\r
+0xCA,0x60,0x32,0x43,0x9A,0x7F,0x06,0x8C,0x52,0xFC,0xE6,0xAD,0x2B,0xD6,0x9D,0x01,\r
+0x69,0x59,0xAC,0xDD,0xBA,0xDF,0xAA,0x4B,0x51,0x42,0x78,0x58,0xB9,0x62,0x33,0x3D,\r
+0x17,0x30,0x99,0x92,0x14,0x46,0xD8,0x5C,0x43,0x82,0xFD,0x2D,0xBE,0x74,0xF4,0x3C,\r
+0xF9,0x20,0x62,0x23,0x27,0xDD,0xA5,0x3E,0xA0,0xE2,0x95,0x30,0xA3,0x08,0x57,0x4B,\r
+0x1D,0x40,0xD8,0x58,0x02,0x09,0xB1,0xBE,0x36,0xA5,0x8E,0x25,0x4D,0x40,0xE7,0xCC,\r
+0x44,0xDD,0x55,0x33,0x2A,0x73,0xE6,0x84,0x2B,0xEE,0x33,0xB4,0x9D,0xC4,0x6F,0x54,\r
+0x93,0x09,0x4C,0x82,0x31,0xEE,0x23,0x8F,0x32,0xD5,0x05,0x22,0xEF,0x6B,0xE3,0x37,\r
+0xD3,0x30,0x3E,0x28,0xEA,0xDA,0x4D,0x78,0x21,0x75,0xEA,0x66,0xFD,0xA5,0xE3,0x3A,\r
+0x11,0xBE,0x05,0x1A,0x5A,0x5B,0x39,0x9E,0x19,0x71,0xDE,0xBE,0x24,0x0C,0xA8,0x82,\r
+0xA1,0xAC,0x5F,0xCB,0xDB,0xAF,0xB7,0x7D,0xEB,0x4B,0x35,0x14,0xDC,0x85,0xC4,0x6E,\r
+0x03,0x5B,0x20,0xDA,0xB7,0x3C,0x14,0xEE,0x98,0xC0,0x14,0x9E,0x2B,0x0D,0xEE,0x18,\r
+0x34,0xB0,0xB3,0xDA,0x53,0x9D,0xAC,0x0B,0x6B,0xCA,0x79,0x54,0x82,0x7D,0x09,0xD6,\r
+0x49,0xB2,0x33,0xD2,0x7E,0xD8,0x07,0xB0,0xAC,0x96,0x3F,0x9C,0x7E,0x2E,0x79,0xCF,\r
+0xD0,0xCA,0x54,0xDD,0x06,0xBC,0x2E,0xE9,0x45,0x6F,0xB9,0x72,0x68,0x22,0x1D,0x92,\r
+0x15,0xDB,0x2A,0xD3,0xD5,0xA9,0xEB,0x32,0x1C,0xA2,0xF2,0x48,0x7F,0x77,0x28,0x48,\r
+0x76,0x5E,0x59,0x30,0x7D,0xE9,0x67,0x87,0x48,0x0D,0x45,0x99,0x2C,0xA2,0x27,0x68,\r
+0x2F,0xB3,0x24,0x27,0x24,0xCF,0x0F,0x66,0xBA,0xF8,0x81,0x91,0xD0,0xDB,0xAA,0xD3,\r
+0x19,0x66,0xE9,0x41,0x41,0xD4,0xAF,0xAB,0x03,0x13,0x84,0x29,0x9C,0xAE,0xEF,0x7E,\r
+0x63,0x00,0xCC,0x20,0x68,0xAC,0x77,0x1A,0xB5,0x5C,0xE1,0x32,0xD9,0x65,0xAA,0x51,\r
+0x99,0x97,0x69,0x11,0x18,0x5E,0x3A,0x66,0x49,0xE9,0xE4,0x88,0x93,0x42,0x19,0x80,\r
+0x0E,0x55,0x0C,0x88,0xAE,0x6C,0x3D,0xFB,0xF6,0xD0,0x06,0x28,0x11,0x18,0xD2,0xCB,\r
+0x3E,0xC4,0x4D,0xE6,0x0C,0x1F,0x70,0x1A,0xF8,0xC4,0xFA,0xDC,0x62,0x57,0x02,0x57,\r
+0xCD,0x51,0x30,0xE3,0x85,0x36,0x13,0x14,0x83,0x92,0xE3,0xB4,0xF7,0xC1,0x56,0xDF,\r
+0x7A,0xBA,0x05,0x3E,0xAC,0xF4,0xEF,0x0F,0xBE,0xB1,0x39,0x1D,0x48,0x61,0x0E,0x18,\r
+0x2B,0x74,0x14,0x35,0x8C,0xE8,0xEF,0x0A,0xE0,0x2F,0x24,0x4A,0x71,0x0B,0x40,0x3B,\r
+0x71,0x77,0x26,0x4C,0x19,0x7E,0x37,0xE0,0x52,0x29,0x0A,0xAA,0xE4,0x53,0x4B,0x78,\r
+0x4F,0xFD,0xF6,0x73,0x64,0xBD,0x9D,0x29,0x3C,0xCB,0x4D,0xD1,0x2C,0x60,0xE1,0x01,\r
+0xCB,0xEB,0xD7,0xF4,0xA8,0x07,0x4E,0xF0,0xF7,0x04,0x96,0xA3,0xC8,0x89,0xE3,0xAE,\r
+0xFE,0x79,0xAA,0x6D,0xA5,0xEB,0x2C,0xC4,0x1E,0xF2,0xBA,0x0C,0x77,0x80,0x62,0x1D,\r
+0x13,0xED,0x96,0x58,0xE5,0xFC,0x2A,0x6F,0x92,0xF1,0xB8,0xBE,0xE9,0x5C,0x61,0x6C,\r
+0x5A,0xD5,0xA6,0x82,0xA6,0x50,0x82,0x8B,0x02,0x90,0x75,0x9C,0xC9,0xAD,0x9A,0x3B,\r
+0x29,0x30,0x9B,0x98,0x47,0x83,0xED,0x6C,0xB6,0x1A,0xFB,0x47,0xE7,0xA8,0xBE,0x65,\r
+0x97,0xB5,0x8C,0xA8,0x71,0x9B,0x9B,0x85,0x58,0xFC,0x00,0x23,0xB0,0xFF,0x72,0x00,\r
+0x4C,0xFD,0xA9,0x94,0xFA,0xB6,0x18,0x04,0xBD,0x46,0x2A,0x35,0x1B,0x58,0x55,0x50,\r
+0xF6,0x2A,0x92,0x98,0x7B,0xC0,0x75,0x28,0xA9,0xE8,0xC2,0x02,0x0B,0xC9,0x18,0xCD,\r
+0x9A,0x42,0xBA,0xAB,0x3F,0x47,0x52,0x7D,0xB6,0xFB,0x9F,0xE1,0x3D,0xF5,0x89,0x3C,\r
+0xC7,0xD6,0x22,0x88,0xE5,0x8B,0x4F,0x25,0x1F,0xBF,0xD1,0x43,0x13,0x92,0x40,0xD0,\r
+0x68,0xCB,0xEA,0xD2,0x5F,0xC3,0x99,0xEC,0x17,0x92,0x66,0x61,0xFD,0x67,0x7E,0x2D,\r
+0x5F,0x31,0x90,0xDF,0xE0,0x3A,0xE5,0x14,0x08,0x40,0xF3,0xFB,0x9A,0x98,0xC8,0x19,\r
+0x87,0xF0,0x6E,0x0F,0xBB,0x1E,0xE3,0xD0,0x6C,0xB2,0x7B,0x6C,0x5D,0xB3,0x3D,0xF9,\r
+0x90,0x09,0x5E,0xD6,0x72,0x8F,0x9C,0x6A,0x05,0x65,0xE0,0x89,0xAD,0x21,0xC4,0x41,\r
+0x82,0x7B,0x0A,0xB4,0x00,0xF7,0x43,0x59,0xF7,0x56,0x4A,0x55,0xF1,0xF0,0x32,0x71,\r
+0x6F,0x4A,0xC3,0xFE,0x61,0xE5,0x99,0x83,0xAB,0x19,0x94,0x73,0x97,0x56,0x5C,0x61,\r
+0x3B,0x0C,0x34,0x96,0x9E,0x12,0x2F,0x04,0x63,0x3C,0xB1,0x23,0xC7,0x88,0x15,0x8E,\r
+0xED,0xC0,0x7C,0x84,0x9C,0xDC,0x3F,0x79,0xE5,0x66,0x4B,0x4F,0x55,0x28,0x53,0x64,\r
+0x0F,0x02,0x0C,0x07,0x41,0xC5,0x22,0x92,0x6A,0x7C,0x51,0x38,0xDE,0xA7,0xD8,0xBA,\r
+0xD7,0x9A,0xB8,0x99,0x61,0xBE,0x03,0x31,0x28,0xE2,0x31,0xFF,0xF5,0x04,0x30,0xD2,\r
+0x1C,0x1A,0xD9,0xC6,0x97,0xAB,0xC0,0x52,0x03,0x18,0x64,0xA9,0x2A,0x7C,0x53,0xFB,\r
+0x91,0xB0,0x51,0x7B,0xA2,0x25,0xC1,0x8B,0xDF,0x51,0x30,0x4A,0xE2,0xA3,0x16,0x2D,\r
+0xB7,0x1A,0x41,0xBA,0xF4,0x5D,0x6B,0x2A,0x61,0xD6,0xE2,0xD2,0xBC,0x1A,0x74,0x86,\r
+0x01,0xFB,0xCF,0xAC,0x6D,0xEC,0xEA,0x2A,0xD3,0x72,0x8A,0x82,0x6C,0x59,0x5E,0x56,\r
+0x2C,0xBB,0xCC,0x76,0xCB,0x9E,0x93,0xF6,0x6B,0xB4,0x37,0xB3,0x49,0xE7,0xD6,0xF1,\r
+0x43,0xAE,0x1F,0xAA,0xE6,0x4E,0x1F,0x80,0x02,0x5D,0xF8,0x7F,0x8B,0x54,0x71,0x1E,\r
+0x23,0x8C,0xA3,0x7A,0x53,0xB4,0x08,0x6B,0x09,0xF3,0x72,0xBB,0x16,0xF1,0x13,0x49,\r
+0xD5,0x94,0x75,0xC9,0x81,0x52,0xD1,0xD0,0x13,0xC9,0x55,0xFE,0x0E,0xBB,0x78,0x28,\r
+0xB5,0x95,0x36,0x05,0xCE,0x16,0x96,0x96,0x97,0x39,0xC6,0x14,0xA9,0xCE,0x27,0xB7,\r
+0x6E,0x10,0xB3,0xBA,0x53,0x26,0xBD,0xE7,0x44,0xA4,0x6D,0x4B,0x56,0x8C,0x7C,0xBC,\r
+0x10,0x79,0xCA,0x6D,0x46,0xCC,0x4A,0xC3,0x46,0x97,0xEF,0xD5,0x72,0xA4,0x31,0x33,\r
+0x3D,0xD5,0x56,0x37,0xF5,0xBF,0x86,0x28,0x9F,0x3C,0xD2,0x53,0xEB,0x9C,0xA6,0x63,\r
+0x48,0x76,0xA8,0xCB,0x0B,0x70,0xDF,0xC4,0xB9,0xD4,0xB2,0xB3,0x0C,0x32,0x76,0xF1,\r
+0x38,0xBB,0x97,0x72,0xCA,0x41,0xDF,0x9A,0x5B,0x25,0x02,0x53,0xB8,0xAA,0xB3,0x6F,\r
+0xA0,0x6A,0x96,0xF4,0xF0,0xA6,0xA5,0xCB,0xD9,0x73,0x2D,0xBD,0xD6,0x6A,0x5B,0xF7,\r
+0x27,0x5F,0x50,0x73,0x70,0x86,0x0D,0xEF,0xEA,0xCB,0xD9,0x60,0xA2,0x8D,0x51,0xDA,\r
+0x0E,0x7D,0xF3,0xF4,0x97,0xAB,0xB1,0xD9,0x70,0xA8,0x7A,0x26,0xE2,0xE5,0x3C,0xAF,\r
+0x8A,0x99,0x3B,0x95,0x65,0x2F,0xE6,0xB0,0xA3,0xC6,0x86,0xA1,0xB0,0x91,0x12,0xB1,\r
+0x9D,0xDE,0xB8,0xDB,0x10,0x93,0x35,0x29,0x0C,0x0A,0x32,0x16,0x31,0x92,0x86,0x6D,\r
+0x59,0x15,0x6F,0x84,0x14,0x57,0xA8,0xBC,0xB7,0x03,0x20,0x71,0xCA,0x2B,0xFE,0x8F,\r
+0xC3,0x2A,0xAD,0x78,0x50,0x64,0x5A,0x9D,0x65,0x0B,0x30,0x7C,0x51,0xA2,0xA9,0xEE,\r
+0x97,0x62,0x81,0x79,0x63,0xFB,0x4C,0xAF,0xAE,0x4F,0x64,0xE6,0x85,0x66,0xA7,0x48,\r
+0x3E,0x0A,0x16,0x5F,0xD0,0x67,0x98,0x9F,0x07,0x10,0xE8,0xA4,0xD1,0xA5,0x06,0x8A,\r
+0x42,0x53,0x75,0xF1,0x32,0x13,0x44,0x5C,0x2B,0xDC,0xAD,0x89,0xE9,0xDB,0xDD,0x7E,\r
+0x48,0xC1,0xAD,0x0C,0x10,0x45,0x7B,0xAF,0x8F,0xCE,0xC5,0x40,0x31,0x18,0x2C,0xEE,\r
+0xD9,0x93,0xB7,0x6B,0x02,0x44,0x3A,0x6D,0xAA,0x32,0x54,0xB6,0x63,0xE6,0x17,0xA9,\r
+0x8E,0x01,0xC5,0xEC,0x90,0x62,0x87,0x58,0x4D,0x83,0x60,0xB6,0xF1,0x74,0x9B,0x7F,\r
+0xE2,0x8B,0xDF,0x57,0x43,0xF5,0x8A,0x4C,0xC4,0xF9,0xF8,0x1A,0x86,0x19,0xCD,0x3E,\r
+0x73,0x44,0xFC,0x8B,0xC0,0x42,0x39,0x0C,0xD0,0xEF,0x31,0x98,0x91,0x2A,0xCD,0xAF,\r
+0xDD,0xA7,0x45,0x59,0x93,0xB4,0xB5,0x67,0xE6,0x9A,0x12,0x1E,0xB6,0xF8,0x9B,0xBE,\r
+0x91,0xFB,0xC9,0x75,0x30,0x79,0x1A,0x4C,0xA0,0x5E,0xB3,0x5C,0x81,0xD3,0x37,0x1E,\r
+0x37,0x82,0x84,0xCD,0x52,0xFB,0x5D,0x6F,0x98,0x86,0x2F,0x2A,0x84,0x05,0xD6,0xA8,\r
+0x54,0xA5,0xA9,0x1F,0x60,0x72,0x89,0x9A,0x53,0x62,0x71,0x78,0x51,0xE3,0x76,0x3D,\r
+0x8E,0xA0,0x27,0x4A,0x04,0x45,0xC8,0xBE,0x5B,0x5D,0xA6,0xEC,0x77,0xBB,0x2C,0x9F,\r
+0x54,0xCA,0x18,0x0B,0xD0,0xB3,0x29,0x8C,0x49,0x9F,0xD0,0x67,0x81,0xD4,0xFA,0x8D,\r
+0x4D,0x75,0x9E,0x32,0x42,0x17,0xBB,0xDF,0xA1,0x76,0x2C,0xC3,0x05,0x96,0xF8,0xEE,\r
+0xFE,0xE0,0xAF,0xB7,0xFC,0xC5,0x7D,0x7B,0x06,0x54,0x89,0xC3,0x9A,0x38,0x32,0x81,\r
+0xC1,0x0C,0x7A,0xC2,0x1F,0x4C,0x19,0x45,0x37,0xCA,0x57,0xFE,0x71,0x52,0x52,0xE6,\r
+0x05,0x02,0x09,0x0E,0x07,0x05,0x00,0x0D,0x0E,0x03,0x0A,0x04,0x08,0x04,0x06,0x0C,\r
+0x03,0x08,0x0D,0x0B,0x0E,0x0F,0x09,0x07,0x0D,0x0A,0x01,0x03,0x0E,0x0D,0x0B,0x0F,\r
+0x0C,0x04,0x01,0x09,0x05,0x07,0x0D,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x05,0x02,0x04,0x06,0x07,0x03,0x01,0x06,0x04,0x05,0x01,0x00,0x03,0x02,0x07,\r
+0x05,0x06,0x02,0x04,0x01,0x00,0x03,0x07,0x01,0x04,0x07,0x00,0x02,0x06,0x05,0x03,\r
+0x06,0x07,0x03,0x00,0x01,0x05,0x04,0x02,0x07,0x04,0x01,0x00,0x06,0x02,0x05,0x03,\r
+0x04,0x05,0x03,0x07,0x00,0x06,0x01,0x02,0x02,0x05,0x06,0x00,0x07,0x01,0x04,0x03,\r
+0x02,0x04,0x07,0x06,0x00,0x03,0x01,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\r
+};\r
+\r
+static unsigned char pParameterDataDecTbl[] = \r
+{\r
+       0xF7,0x98,0x19,0xAA,0x41,0xF9,0x71,0xD9,0xDD,0x16,0x0D,0x43,0x72,0x43,0x44,0x39,\r
+0xDF,0xD8,0x1E,0x03,0x1E,0xFC,0x85,0x6F,0x47,0x54,0x57,0x91,0x14,0xFD,0x82,0x53,\r
+0x6A,0xF9,0x34,0xC4,0xD8,0x9A,0x3B,0x05,0x22,0x9E,0x45,0x06,0x58,0x84,0xF1,0x18,\r
+0x34,0x12,0xF4,0x26,0xDD,0x11,0x09,0xE5,0x85,0xDE,0x15,0xDB,0x17,0x32,0x24,0x6C,\r
+0x67,0xAB,0x00,0x7E,0x73,0xAD,0x4E,0x68,0x55,0x71,0x44,0xA2,0x64,0x9D,0xD6,0x37,\r
+0x58,0x48,0x60,0xFB,0x43,0xF6,0x7B,0xE4,0xC8,0x5E,0xD5,0x21,0xFA,0xBE,0xE7,0xE6,\r
+0x30,0xAF,0xBA,0x02,0xE9,0x04,0x18,0xD4,0x8E,0x85,0xC5,0x90,0xDC,0xBC,0xF6,0xC5,\r
+0x7C,0x07,0x96,0xFE,0xEB,0x0B,0x12,0xE9,0x27,0x57,0x4B,0x5B,0xCB,0xF0,0xB5,0x02,\r
+0xED,0x69,0x4A,0x3C,0x6C,0x75,0xEA,0x79,0xF0,0x95,0xD1,0x73,0x32,0xFF,0x93,0x70,\r
+0x59,0x15,0xA5,0xED,0x0F,0xDA,0x87,0x4C,0xF8,0xF4,0xB6,0xD3,0x16,0xA0,0xF5,0xA5,\r
+0x78,0xBA,0xD8,0xDA,0x12,0x0D,0x29,0x60,0xC3,0x05,0x05,0x6A,0x56,0x1C,0x22,0xEC,\r
+0xE2,0x06,0x71,0x8C,0x27,0xDD,0x2E,0x0C,0x5D,0x10,0x23,0x02,0x1B,0xF7,0x80,0x6E,\r
+0xC5,0x29,0x4D,0x95,0x07,0x65,0x0F,0xFE,0x25,0xF3,0x8E,0x57,0xF1,0xD2,0x6B,0xA4,\r
+0xC2,0xF4,0xC9,0xAD,0xD0,0x25,0xB3,0xB7,0xD3,0x84,0xD3,0x55,0x45,0x36,0xEF,0x54,\r
+0xCF,0xA6,0xFD,0x17,0xBE,0xBE,0x64,0xD0,0xD1,0x20,0x16,0x59,0xB3,0x33,0xCB,0x1B,\r
+0xFC,0x4A,0x6C,0x3E,0x36,0xFB,0x2C,0x2F,0x5F,0xB4,0xE6,0x0E,0xC3,0x53,0x9F,0x7F,\r
+0xA0,0x9C,0xA3,0xD6,0xBC,0xB1,0x6E,0xED,0x01,0x8F,0x47,0x20,0x85,0xD4,0xB1,0xBF,\r
+0x11,0x00,0xC7,0x35,0xB2,0x4F,0xC8,0xDF,0x10,0x90,0xE3,0xF8,0x6D,0xAC,0x2D,0x83,\r
+0x14,0xE0,0x4C,0x07,0x4E,0xC2,0xC1,0xB6,0xAD,0x94,0xC7,0xB6,0xEC,0x60,0x75,0xE8,\r
+0x79,0xE7,0x1D,0xCC,0x97,0x7C,0xDB,0xCD,0x82,0xB3,0xDE,0x8A,0x7F,0x14,0x31,0xF2,\r
+0xE0,0x3B,0x7E,0x86,0x4C,0xCD,0xCB,0x8B,0x6D,0xBA,0x40,0xF0,0xA8,0xBA,0x2C,0xDE,\r
+0x9A,0x9F,0x48,0x61,0x46,0x7D,0x49,0x04,0x62,0xB6,0xEC,0x01,0x33,0x6D,0x42,0xB9,\r
+0xA8,0x2E,0x1C,0x5E,0x89,0x61,0x69,0x81,0xB5,0x74,0x76,0x29,0xE8,0x06,0xFB,0x97,\r
+0x29,0x3E,0x23,0x88,0x55,0x54,0x41,0x1A,0xEF,0x18,0xAB,0xBD,0x2E,0xDF,0x5C,0xF5,\r
+0x9C,0x1F,0x09,0x4F,0x8C,0xEA,0x5B,0x61,0x4B,0x62,0x4C,0x8B,0x5D,0x70,0xAE,0xAE,\r
+0xBF,0x8D,0x7B,0x72,0x9D,0xCC,0x59,0x42,0xEB,0x4F,0xD7,0x07,0x93,0x0A,0x23,0xB1,\r
+0x5B,0x28,0xAA,0xE7,0x50,0xDF,0x73,0xFA,0x8F,0x1B,0xB7,0x77,0xB4,0x9A,0xE3,0x5B,\r
+0x09,0xCC,0x9B,0xA9,0x64,0xCA,0x62,0xCB,0x50,0xB8,0x4A,0xFF,0x9C,0x00,0x21,0x8C,\r
+0x61,0x2B,0x41,0x50,0x26,0x18,0x38,0x51,0x19,0x6F,0xF6,0xBF,0x5E,0xBF,0x08,0x91,\r
+0x3D,0xFD,0x8E,0xB8,0x35,0x31,0x30,0x4F,0x89,0xE8,0x0E,0xC1,0xD4,0x1F,0xDC,0xB8,\r
+0xE1,0x66,0xBB,0x90,0x52,0xD0,0x79,0xC7,0x1E,0x02,0x3D,0xEE,0xE3,0x6A,0x77,0xD5,\r
+0x63,0x16,0x4E,0x5A,0xB9,0x3A,0x5C,0x0D,0xE2,0xB0,0xC2,0x40,0x97,0x6C,0xAD,0xCE,\r
+0x3A,0x20,0x0A,0x80,0xE4,0x30,0xA2,0x86,0xC2,0x9B,0x77,0x8D,0x8C,0xE5,0x4A,0x0B,\r
+0xA4,0x21,0xED,0xF2,0x04,0xAF,0x13,0x9E,0x38,0xDA,0x31,0x95,0x7A,0xE0,0x6E,0x44,\r
+0x0C,0x2C,0x10,0x9B,0x87,0x9F,0xCF,0xB3,0x88,0x76,0x7C,0x26,0x6F,0xF1,0x5A,0x75,\r
+0x1A,0xD2,0xB2,0xA1,0x6D,0xB0,0xFC,0x24,0x7B,0xC8,0x2F,0x79,0x5C,0xE2,0x7F,0x67,\r
+0x3E,0x9D,0x44,0xA4,0x96,0xB9,0xCD,0x90,0x5A,0x7D,0xE8,0x53,0xAB,0x75,0x8A,0xE1,\r
+0xD1,0xEA,0xE0,0xA5,0x3B,0xCF,0x96,0x7D,0x65,0xDB,0x27,0x50,0xCE,0x04,0xEA,0xB4,\r
+0x1F,0x32,0x39,0x93,0xEE,0x80,0x20,0x09,0x87,0x7A,0xD0,0xD7,0xF7,0xE9,0x92,0x2D,\r
+0x8D,0x3C,0x2F,0x4D,0xD2,0x2A,0xB9,0x8A,0x0A,0xD4,0x97,0x6B,0x1F,0x91,0x0E,0x11,\r
+0xCC,0xC6,0x37,0x0B,0x2B,0x2C,0x82,0x03,0xC1,0xA1,0xC0,0x66,0xA1,0x8B,0xD7,0x6A,\r
+0x5F,0x95,0xE4,0xC3,0x60,0x84,0x46,0x76,0x0F,0x1D,0x99,0x36,0x69,0xCA,0xA3,0xFC,\r
+0x4D,0xD6,0x08,0xDD,0xC7,0x42,0x9F,0x14,0xAC,0x0A,0xB5,0x51,0x5A,0xD9,0x86,0xEE,\r
+0xFA,0xCA,0x2D,0x10,0x68,0x3B,0xCE,0xC4,0xA7,0x51,0x65,0x1A,0xC8,0x3F,0x13,0x3D,\r
+0x3F,0xC0,0x81,0xB2,0x06,0xA0,0x19,0xA3,0x35,0x72,0x58,0x68,0x5F,0x2D,0xD9,0x58,\r
+0xCA,0x46,0x76,0x25,0xAC,0x52,0x7A,0x93,0xF1,0x0B,0xA3,0x94,0xA4,0x7F,0x88,0xDC,\r
+0x83,0x0E,0xD1,0xEB,0x2A,0xE9,0x94,0x5E,0x64,0x45,0x55,0xB7,0xE1,0x37,0x00,0x23,\r
+0x3C,0xA0,0x4B,0xAE,0xA9,0xD9,0x48,0x73,0xDB,0xE5,0xB4,0xF5,0xB5,0x08,0x32,0x92,\r
+0xCE,0xFB,0x38,0x01,0xAF,0x98,0x66,0xF3,0xE3,0x2E,0xB0,0xA7,0x3D,0xF5,0x91,0x4D,\r
+0xEC,0x34,0x8F,0x2A,0xBB,0x35,0x56,0x30,0x63,0x28,0x9E,0xE6,0x0F,0x74,0x65,0x96,\r
+0xBD,0xB0,0x74,0x78,0xE6,0x3F,0xA8,0xBB,0x7C,0xA5,0xE4,0x28,0xAC,0xDC,0xA2,0xA1,\r
+0xC6,0x49,0x87,0x89,0x39,0xC0,0x9C,0x40,0x36,0x48,0xEF,0x83,0xC5,0x68,0x66,0xF6,\r
+0xCD,0x9B,0xF2,0x1D,0xFD,0xA9,0x28,0x17,0x45,0xF0,0x92,0x9D,0xAE,0x81,0xD5,0x57,\r
+0xA7,0x41,0x27,0xEE,0x81,0xDE,0xE1,0x33,0x99,0x69,0xD8,0xFE,0xE2,0xF8,0xA6,0x1C,\r
+0xF8,0xF7,0x22,0x1A,0xC4,0x88,0x83,0x74,0xBD,0x15,0x11,0x89,0xEF,0xAF,0xD3,0xD7,\r
+0xC3,0xA9,0x0C,0xBB,0xC0,0xC6,0xA7,0xC9,0xA8,0x5D,0xC9,0xEB,0xD6,0x42,0xAB,0x4E,\r
+0x40,0x84,0x3C,0x67,0x56,0x9E,0x5D,0x7A,0x80,0x17,0x1B,0x86,0x05,0x8A,0x38,0x1D,\r
+0x2F,0xBE,0x62,0xA6,0x4B,0x49,0xF3,0x56,0xAA,0xF9,0x0C,0xE7,0x46,0xF9,0x49,0x6B,\r
+0x25,0x31,0xD2,0x24,0x0D,0xD5,0x8D,0x71,0xB2,0x19,0xBD,0x78,0xC4,0xFA,0xB7,0x3F,\r
+0x70,0x08,0x67,0x52,0x8B,0x6E,0x63,0xBC,0x43,0x03,0x2B,0x2B,0x15,0x6F,0x53,0x9A,\r
+0x33,0xCF,0x70,0x1E,0x01,0x24,0x21,0x7E,0x13,0xAA,0x54,0x13,0xBC,0x39,0xC9,0x26,\r
+0x8E,0x5C,0xE5,0x51,0x99,0x82,0x7D,0xFF,0x52,0x1C,0x8F,0xF3,0x03,0xB1,0xC1,0x94,\r
+0xFF,0x2A,0xA6,0x22,0x7B,0x12,0xC6,0xDA,0xA2,0x98,0x6B,0x47,0x3E,0x3A,0x37,0x72,\r
+0x47,0x59,0xB8,0x5F,0xF2,0x92,0x98,0x78,0x3A,0x7E,0xF4,0x99,0x63,0x34,0xFE,0x77,\r
+0x7A,0x7A,0xE5,0xC9,0xE7,0x72,0x27,0x96,0xCF,0xB7,0xE9,0xCE,0x2C,0xCC,0x27,0x74,\r
+0x56,0x86,0xA9,0x61,0xE8,0x70,0x1A,0x9C,0x41,0x7C,0x40,0x1C,0x6F,0x0B,0x30,0x38,\r
+0x8C,0x7F,0xC1,0x86,0x1A,0xDA,0x2A,0xFF,0x51,0xCD,0x06,0xC7,0x7E,0x28,0x16,0x3A,\r
+0xEC,0xFA,0xFE,0x65,0x41,0xEA,0xA6,0xCA,0xC0,0x4E,0x9B,0xE8,0x4F,0xF9,0x88,0x19,\r
+0x18,0xA2,0xAD,0xDC,0xFD,0x44,0x2B,0x8D,0x91,0x37,0x4B,0x47,0xBD,0xA2,0xFB,0xB6,\r
+0xD8,0x40,0xF3,0x37,0x76,0x41,0xCB,0xBF,0xC1,0xEA,0xEC,0x07,0x68,0xD6,0xB4,0x00,\r
+0xF2,0x87,0x46,0x16,0x10,0x87,0xA1,0x01,0xD3,0x7D,0x89,0xCD,0x1B,0x9D,0xF8,0x79,\r
+0xF5,0x2E,0x6E,0x56,0x15,0xD8,0x17,0xF5,0x89,0xAF,0x13,0x8F,0xDD,0xF7,0x9E,0xC7,\r
+0x80,0xBA,0x65,0x84,0x17,0xAF,0xE1,0xA8,0x62,0xE2,0x91,0x2D,0x06,0xB1,0x2F,0xD7,\r
+0x11,0x93,0x56,0x68,0x52,0x27,0x1E,0xE0,0x92,0xB5,0x1F,0xB9,0x52,0xD5,0x5F,0xB7,\r
+0x25,0x29,0x5B,0x3A,0xC9,0x49,0x79,0x37,0x57,0xB9,0x1D,0x1D,0x76,0x9A,0xA9,0xB2,\r
+0xA1,0x11,0x5C,0xE7,0x89,0x9E,0x30,0x8B,0x0A,0xBB,0xEB,0x6A,0xF2,0x6A,0x1D,0x56,\r
+0x9D,0x08,0x7B,0xC8,0x31,0xBE,0xC2,0xAA,0xA7,0xEE,0x93,0x89,0x19,0xA0,0xF7,0x73,\r
+0x34,0x5E,0xE1,0x74,0xE1,0x8B,0xAE,0xAD,0x81,0x86,0x0D,0x9C,0xBB,0x22,0xBA,0x98,\r
+0x49,0x69,0xC0,0xDB,0x36,0x96,0x82,0x03,0x32,0x3F,0x36,0x6D,0x6C,0x6B,0xFA,0x24,\r
+0xA6,0xB8,0x74,0xA7,0x99,0xF5,0xB7,0x6E,0x55,0x9F,0x3E,0x0C,0x0A,0xBE,0xDE,0x7B,\r
+0xCF,0x0C,0xB0,0xF0,0xB8,0xCC,0xD4,0xC5,0x2F,0x51,0x21,0x81,0xC5,0x3B,0xC2,0x5B,\r
+0xF0,0xDA,0x31,0xE0,0x8D,0x10,0x4F,0xED,0xF2,0xC5,0x7B,0xED,0x62,0x59,0x04,0x82,\r
+0xA4,0xE5,0x03,0x51,0x91,0xDF,0xCA,0xCD,0x68,0xED,0xAC,0x2F,0xDB,0x77,0xDF,0xE9,\r
+0x92,0x02,0x79,0xF5,0x21,0xD5,0x45,0x4F,0xC4,0x1C,0xA3,0x23,0xB5,0x10,0x44,0x3E,\r
+0xF1,0x48,0xE0,0x29,0x90,0x0E,0x03,0x5F,0x5A,0x66,0x4C,0x2A,0xA8,0x3C,0x93,0x90,\r
+0xA0,0x83,0x8D,0x2E,0x2E,0xD7,0x78,0x45,0x43,0x5A,0x63,0x0D,0xEC,0x26,0x00,0xE4,\r
+0x2B,0xB1,0x88,0xCE,0xA3,0x2B,0x11,0x4C,0x67,0x14,0xDE,0x09,0xB4,0x4D,0x81,0x28,\r
+0x4F,0x52,0x39,0x52,0x5D,0x25,0x23,0xEA,0xC3,0xCC,0xCF,0x16,0x28,0x71,0x69,0x50,\r
+0xA2,0xDE,0xFA,0xD8,0xD6,0x20,0xC3,0xD8,0x46,0xAC,0x2C,0x29,0x34,0x00,0x7B,0xE8,\r
+0x57,0x14,0x78,0xA8,0x3C,0xCB,0x09,0xFD,0xB9,0x02,0xD0,0x9B,0xEE,0x1B,0x0F,0xEE,\r
+0x62,0x3C,0xA4,0x33,0xDD,0xAC,0x81,0xB4,0x8A,0x2D,0x47,0x71,0x45,0x76,0x38,0x9B,\r
+0xAD,0xD4,0xF8,0xE5,0xF4,0xBF,0x9F,0xBC,0x72,0x53,0xD7,0xF6,0x91,0x5F,0xB2,0x3B,\r
+0x77,0x2D,0x90,0x02,0x26,0xFD,0x05,0xE6,0xCE,0x13,0x9E,0x21,0xB8,0x42,0x70,0x84,\r
+0x46,0x63,0xC2,0xE6,0x33,0xC9,0x34,0xF7,0x33,0x9B,0x41,0x82,0x7A,0x95,0x58,0x1E,\r
+0x97,0xF6,0x26,0x43,0x20,0x04,0x8C,0xDD,0x53,0xEB,0x25,0xD6,0xBA,0x7F,0x7F,0x8E,\r
+0xE5,0xCB,0x05,0xD1,0x06,0x15,0xAF,0xDF,0xC8,0x67,0x85,0xFB,0x37,0x60,0xB1,0xF4,\r
+0xC3,0xC9,0x14,0xF2,0xC6,0x4B,0x44,0x3D,0x13,0x87,0xC4,0x4D,0x97,0xDF,0xF3,0x15,\r
+0xD5,0x17,0x86,0xFC,0x6C,0x77,0xC7,0xA4,0x54,0x3B,0x49,0xE3,0x0B,0xE3,0x1B,0x6D,\r
+0x0C,0x21,0x48,0x24,0x23,0xA2,0xB3,0x12,0xA3,0xBC,0xAB,0x42,0x73,0x7A,0x22,0x80,\r
+0xA8,0x20,0xA7,0x53,0x55,0x0F,0x5E,0x49,0x6C,0xBF,0x94,0xE4,0x13,0x2F,0x47,0xF1,\r
+0x5E,0x25,0x83,0x1C,0x5C,0xF4,0xEA,0x78,0xAB,0x95,0xB5,0x51,0xE6,0xA9,0xB0,0x66,\r
+0xFC,0x1F,0x95,0xE2,0x73,0x1E,0x7D,0x4B,0xF8,0xCA,0x46,0xEF,0xC3,0xBB,0x83,0x75,\r
+0x01,0x76,0x3D,0xEF,0x43,0x9D,0x50,0x97,0xB5,0x79,0xF6,0x43,0xF7,0x8A,0x96,0x64,\r
+0xE6,0x04,0xA3,0xEE,0xDC,0x7D,0x48,0x26,0xF3,0x61,0x0C,0x02,0xD3,0xC5,0x60,0x61,\r
+0xA7,0x2A,0xA5,0x6E,0x35,0x30,0xBD,0xCC,0x30,0x19,0x15,0x7C,0xAB,0x5C,0x59,0x8C,\r
+0x3D,0x6F,0x1A,0xC0,0x05,0xB3,0x90,0x10,0xD1,0x5B,0xAA,0xDC,0x99,0xED,0x0D,0xB3,\r
+0x9A,0xA1,0x53,0x88,0xBE,0x35,0x5D,0xFE,0x27,0x78,0x3F,0x92,0x11,0x12,0x48,0xFB,\r
+0x6D,0x36,0xA6,0x0E,0x4C,0x9F,0x6D,0x9D,0xDC,0x84,0xFB,0xEB,0x40,0x96,0xB3,0xA9,\r
+0xC1,0x94,0x63,0x04,0xD7,0xF1,0x0A,0x4A,0xE1,0xF6,0x69,0xC8,0x8A,0xF3,0x24,0xBB,\r
+0xE4,0x59,0xD4,0x18,0xAE,0x5E,0xDA,0x1B,0x31,0xBD,0x62,0x93,0x1F,0x20,0xB6,0x5D,\r
+0x08,0x47,0xC6,0x5B,0x68,0xF9,0xB8,0xC2,0x1D,0xDA,0xC1,0x84,0x3A,0x32,0x85,0x4E,\r
+0xDB,0x8F,0x55,0x08,0xC0,0xB2,0xCD,0x06,0x44,0x8A,0x0F,0x38,0x4E,0xA4,0x4D,0x0F,\r
+0xE0,0x3F,0x5A,0x67,0x2A,0x59,0x07,0x23,0x4D,0x07,0x66,0xC4,0x32,0x80,0x3A,0xC6,\r
+0xCE,0x9E,0x61,0x39,0x64,0x5D,0xBA,0x07,0x95,0x65,0x73,0x8C,0x4A,0x19,0x03,0x2B,\r
+0xCB,0x6A,0x3E,0x8F,0x32,0x18,0xFD,0x65,0x5C,0x12,0x57,0xF0,0x3F,0xD2,0x0E,0x7C,\r
+0x1E,0x99,0x54,0x55,0x45,0x64,0xD9,0xAC,0x16,0x71,0x8B,0x69,0x4C,0x99,0x42,0x05,\r
+0x6B,0x0D,0x5F,0x87,0x2C,0xA0,0x8E,0x18,0x6B,0x6F,0xF8,0xD1,0xFF,0x38,0x29,0xEC,\r
+0x98,0xFC,0x24,0x7E,0xD3,0x7F,0x75,0x2C,0x60,0xC4,0xB2,0x3C,0x3B,0x6F,0x40,0x58,\r
+0x63,0xAE,0x75,0xFA,0xD9,0x22,0xFE,0xD2,0x1A,0x0A,0xAD,0xB1,0xFC,0x58,0xE3,0xF0,\r
+0xD4,0x85,0x57,0x35,0x74,0x36,0x3D,0xE2,0x34,0x4B,0x2D,0xB7,0x08,0x83,0xD1,0x71,\r
+0x54,0xDB,0xDE,0x97,0x7E,0x6B,0xB6,0x1C,0x70,0x75,0xF4,0xE7,0x67,0xB9,0x8F,0xB0,\r
+0x4A,0xA6,0x66,0xE4,0xFE,0xE2,0x14,0x42,0xEF,0xAB,0x6C,0x01,0xAE,0xBC,0xD2,0xBE,\r
+0x09,0xD5,0x17,0x92,0x6E,0x00,0x31,0xF9,0x0B,0x1F,0x9C,0x85,0x58,0x5A,0xEF,0x35,\r
+0x9C,0x9A,0xAA,0x01,0xC8,0x98,0xB0,0xA5,0xD0,0xFF,0xDD,0x33,0x50,0xE8,0x50,0xBD,\r
+0x8B,0xD6,0xE9,0xC6,0x82,0x12,0x72,0xE7,0xAF,0xC7,0x8D,0x9A,0xCA,0x54,0xF9,0xEB,\r
+0x3E,0xA0,0xBC,0xFF,0x39,0x94,0xBF,0x09,0x39,0x94,0x7C,0x80,0x2E,0xF1,0x28,0x7E,\r
+0x8E,0x22,0xB6,0x70,0xA5,0xD2,0x98,0x77,0x88,0x0B,0x64,0x60,0xD0,0xA5,0xAA,0x7D,\r
+0xD0,0xE3,0xD9,0x4A,0x72,0xCF,0xB4,0xD9,0x9F,0x6A,0x4E,0x8E,0xA1,0xD3,0xE9,0x0E,\r
+0x16,0x33,0x03,0xAE,0x92,0xB7,0x4A,0xC3,0xBB,0x71,0xE7,0xE2,0x9B,0xB6,0xDE,0x6B,\r
+0xAE,0x40,0x1D,0xD3,0x1B,0x37,0x14,0x61,0x23,0x97,0x78,0x3C,0xC6,0xB8,0x17,0x6E,\r
+0xDA,0xD6,0xD5,0x92,0xE8,0x81,0xAD,0x67,0x0A,0x43,0xD8,0xB6,0x19,0xB5,0x20,0x3F,\r
+0x67,0x45,0x40,0xDD,0x70,0x27,0xF1,0xE6,0x4B,0xF5,0x03,0x56,0xA6,0x3D,0x28,0x8D,\r
+0xCC,0x28,0x77,0xA8,0xE4,0x70,0x01,0x68,0xAB,0xF0,0x31,0xDD,0x61,0x76,0x5E,0x26,\r
+0x99,0x11,0xC2,0xDE,0x62,0xCB,0xEF,0xA5,0x5A,0xEA,0xA7,0x8E,0xB0,0xE3,0xBA,0x83,\r
+0xA9,0x9D,0x99,0xEB,0xBF,0x3B,0xD1,0x63,0x99,0xFE,0x97,0x23,0xA0,0x06,0xD1,0x04,\r
+0xC6,0xA7,0xC7,0x2A,0xA2,0xEC,0x7F,0x4F,0xB3,0x10,0x80,0x42,0xE3,0x75,0xA0,0x72,\r
+0x11,0xEE,0x87,0x96,0x2D,0x2D,0x0F,0x6D,0xA4,0xFC,0x9D,0x2C,0x4A,0x23,0x3A,0xCE,\r
+0x2A,0xB0,0xA9,0x37,0x29,0x63,0x2B,0xD0,0xB1,0xB4,0x45,0x4E,0x73,0xCE,0x42,0x57,\r
+0x24,0x82,0x57,0x91,0x14,0x0C,0xA4,0x0E,0x5C,0x19,0x1E,0x38,0x0B,0x0D,0x3C,0x4E,\r
+0x4E,0x58,0x82,0x62,0x68,0x7B,0x6D,0x2A,0x80,0x80,0x54,0x5B,0x47,0x74,0x4F,0x05,\r
+0x54,0xA9,0xD1,0xF4,0x0F,0x9A,0x24,0xA2,0x65,0x4C,0x68,0x8D,0x09,0x50,0x4B,0xB8,\r
+0x2F,0x50,0x22,0x05,0xD0,0x65,0x10,0x59,0x2F,0xA1,0x63,0x26,0x60,0xE4,0x8F,0xEF,\r
+0x27,0xE2,0x9D,0x8D,0x46,0x3D,0xEA,0xEA,0xFA,0xC7,0x3C,0x02,0x98,0x79,0x78,0x54,\r
+0x05,0x2D,0x2A,0xA6,0x52,0x90,0xDA,0x29,0x7A,0xC1,0x12,0x43,0xAA,0xF8,0x8C,0x8F,\r
+0x6A,0x17,0x74,0x67,0xC3,0x4C,0x18,0x47,0x7D,0xAC,0xD9,0x12,0x44,0xBB,0xE9,0x3A,\r
+0xD5,0xB9,0xEE,0x22,0x40,0x7C,0xC4,0x6A,0xC2,0x0C,0x38,0x50,0x10,0x84,0xDB,0x8B,\r
+0xD6,0xD9,0x24,0x3E,0xEF,0x05,0x95,0xBA,0x2C,0x9B,0xD4,0xCD,0xFA,0xA1,0x30,0x41,\r
+0x23,0x5F,0xD3,0xA9,0x45,0xF7,0xF6,0x8A,0xE8,0xE2,0x2F,0x31,0x01,0xF3,0x61,0xC5,\r
+0xA4,0xCF,0xAD,0x51,0x2E,0xE7,0x13,0x0D,0xB5,0xE3,0x39,0xF4,0xFF,0x55,0x6F,0xF7,\r
+0x13,0xD3,0x88,0x9C,0x81,0x9E,0x42,0xDD,0xBE,0xB8,0xE9,0xBF,0x6D,0xB3,0xFA,0x24,\r
+0x25,0xDF,0x92,0x87,0xC2,0x89,0x0E,0x1A,0xD8,0x48,0x4C,0xC3,0x04,0x07,0x3E,0x73,\r
+0xB6,0x8C,0x41,0x4F,0x89,0x21,0xCA,0x6F,0x16,0xF4,0x15,0x93,0xCC,0x46,0x4A,0xE5,\r
+0xF6,0x2B,0x9C,0x1F,0x07,0x25,0xAC,0x10,0x9E,0x93,0x5C,0x72,0x52,0x65,0x7B,0x34,\r
+0x64,0x25,0x8A,0xC1,0x3B,0x8F,0x35,0x93,0x13,0x3D,0x1B,0xCE,0xBA,0x1D,0xE7,0x08,\r
+0xD7,0x84,0xE1,0x28,0x7F,0x1C,0x41,0x89,0x43,0x94,0x64,0xF6,0x0E,0xF9,0x63,0xF8,\r
+0x38,0xF3,0x45,0x29,0xD2,0x6A,0x1A,0x64,0x7C,0x32,0xAB,0xF5,0x6B,0x88,0x03,0xAD,\r
+0xE5,0x35,0xB5,0x17,0x6E,0x3A,0x43,0xAA,0x91,0x9F,0xF0,0x83,0xCA,0x7D,0xB3,0x6C,\r
+0xF3,0xCB,0x17,0x2D,0x84,0x15,0x70,0x3D,0x62,0x21,0xA3,0xDC,0xF9,0x6E,0x96,0x7E,\r
+0xD3,0x39,0xAF,0x0C,0x0D,0x95,0x2E,0x9F,0xDB,0x72,0xFB,0x28,0x29,0x69,0xA3,0x12,\r
+0x4D,0x38,0x48,0x7E,0xED,0x0A,0x9F,0x87,0x21,0x33,0xBD,0x30,0xDF,0x6C,0x87,0x5D,\r
+0x08,0x7F,0x1E,0x1C,0xBB,0x75,0xF5,0xDE,0x07,0xEB,0xB1,0x4B,0x46,0xE6,0x9E,0xCC,\r
+0x8A,0x0F,0xEB,0xD6,0x50,0x9F,0xD0,0x14,0xFB,0x59,0x4E,0xE5,0x32,0xE0,0x44,0xD7,\r
+0x88,0x32,0xE4,0xDC,0xCF,0xBD,0xB4,0x48,0x00,0x86,0x7A,0x1A,0xFB,0x33,0xE1,0x88,\r
+0xD4,0xE4,0x2B,0x34,0xDC,0x94,0xBC,0x56,0x90,0x01,0x82,0x64,0x71,0x93,0x35,0xA1,\r
+0xB2,0x31,0x0F,0x6B,0xB9,0x7A,0xFF,0xE3,0x96,0xF2,0x3B,0xD2,0x11,0x16,0x0A,0x42,\r
+0xE0,0xD5,0x3E,0x25,0x8D,0x6F,0xEE,0xD2,0x49,0x51,0xC6,0x5A,0x39,0x8C,0xC8,0x95,\r
+0x75,0x06,0xAC,0xC3,0x65,0x4F,0xD7,0x78,0x52,0x8B,0xC0,0x2E,0xF8,0xFC,0x47,0xB7,\r
+0x56,0x94,0xDE,0xFE,0x74,0x69,0xD5,0x5B,0xF2,0xA6,0x5B,0xA2,0x36,0x86,0xCA,0xA8,\r
+0x41,0x37,0xB9,0xD2,0x60,0xC4,0xE5,0x98,0xAC,0x9D,0xFA,0x8C,0x4D,0x8A,0x12,0x8E,\r
+0xC0,0x27,0x86,0x04,0xBC,0xF1,0xCD,0x03,0xF6,0xF1,0x27,0x18,0x8B,0x53,0xB5,0xEC,\r
+0x09,0x22,0xDB,0x0A,0xA5,0x68,0x47,0x92,0x74,0x53,0xCC,0x55,0x0D,0x36,0xC5,0xC7,\r
+0x73,0x86,0xED,0xED,0xAF,0xD8,0xC5,0x1D,0x7B,0x5F,0x60,0xA4,0x96,0xE1,0xAB,0xA0,\r
+0xFD,0xF9,0xE9,0x8B,0xA7,0x67,0x4D,0xAF,0xB4,0x7D,0x4B,0x13,0x49,0xEC,0x9C,0xF1,\r
+0x90,0xFE,0xB8,0x40,0x7E,0xD9,0x57,0xD4,0x9B,0x5A,0x52,0x2F,0xDA,0x98,0xD8,0xEB,\r
+0x49,0x85,0x06,0x5A,0x55,0x14,0xE2,0xF4,0x18,0x66,0xCB,0x85,0x20,0x58,0x58,0xA6,\r
+0xF8,0x19,0x62,0xB9,0x5B,0xEA,0x44,0xC6,0x09,0x79,0x6F,0x5D,0xC8,0x20,0xC4,0x9A,\r
+0x26,0xBF,0x58,0x9B,0x57,0x1B,0xE8,0xC9,0xC8,0xC9,0x9A,0xFC,0x16,0xBF,0x22,0x02,\r
+0x15,0x53,0xC9,0xB2,0xDF,0x5E,0xA0,0x36,0x46,0x5D,0x6A,0xAB,0x66,0xDF,0x76,0x66,\r
+0x2C,0x30,0xE8,0x19,0xEE,0xC0,0x83,0xE7,0x3C,0x1A,0x02,0xF2,0x54,0x5E,0x82,0xBD,\r
+0x2B,0xED,0x6C,0x21,0x39,0x80,0x3F,0xAE,0xCA,0x6D,0x5F,0xF0,0xE0,0xBA,0x06,0x4D,\r
+0x91,0xA3,0x7D,0x56,0xFB,0xA8,0xA5,0x79,0xDA,0xEC,0x89,0xCF,0xF3,0x90,0xCB,0xF5,\r
+0x0B,0x1F,0xD4,0x00,0xCE,0x78,0xA2,0x15,0x44,0xF9,0xAF,0xA7,0xBE,0x7B,0x69,0x77,\r
+0x04,0x70,0xEF,0xB0,0x85,0xD0,0x66,0x60,0xE9,0x7C,0x5D,0xD6,0x97,0x73,0x7A,0x69,\r
+0xB0,0x0C,0x00,0x61,0xE6,0x7F,0x0B,0x55,0xE1,0x1D,0x3A,0x76,0xB3,0x2C,0x1C,0xBC,\r
+0xD9,0xB6,0x1F,0x8E,0x00,0xA1,0x94,0xCD,0x97,0x6C,0x49,0x35,0x79,0x30,0x1F,0xDC,\r
+0x95,0x1E,0x33,0x72,0x02,0xAE,0x9E,0xF0,0x3E,0xBE,0xC7,0xFE,0x6E,0x7C,0x5C,0x1B,\r
+0x8E,0xB2,0xA5,0xF2,0x9A,0x08,0xC2,0x71,0x4C,0x98,0xC8,0x07,0xC1,0x11,0x3F,0x2E,\r
+0xB1,0x51,0xC5,0x77,0xAA,0x53,0xF7,0xFD,0xD1,0xB7,0x59,0x84,0x5F,0x32,0x0E,0xFF,\r
+0x83,0xE0,0x91,0x48,0x31,0x3F,0xB7,0x1C,0x3B,0x77,0xC9,0xA3,0xFD,0x08,0x18,0x01,\r
+0xDD,0x0B,0x51,0xAA,0x34,0xB4,0x85,0xFC,0x9C,0x37,0x99,0x7E,0xB2,0xBE,0xCD,0x75,\r
+0x1E,0x81,0xBC,0x26,0xA8,0x5C,0xFD,0xC0,0xC4,0xFF,0x81,0xE6,0xD7,0xCF,0xAD,0x20,\r
+0x36,0xC1,0xBB,0x8F,0xF7,0x59,0x09,0x76,0x5E,0xBD,0xDB,0x34,0xB1,0x71,0x6B,0x4A,\r
+0xBD,0xBA,0x1A,0xBB,0x17,0x26,0x38,0x23,0xB1,0x16,0xF1,0xF7,0x31,0x9B,0x70,0x0F,\r
+0x93,0x1B,0x21,0xE5,0x59,0x22,0x85,0x07,0x69,0x74,0xE4,0xBF,0x49,0x02,0x49,0xE2,\r
+0x6D,0xBD,0x2F,0xD7,0x36,0x1F,0x5B,0x88,0x32,0x02,0x09,0x12,0x37,0x1B,0x31,0x21,\r
+0xB8,0x4E,0x45,0x0D,0x41,0x63,0x7F,0x41,0x78,0x61,0xD5,0x8B,0x44,0x50,0x7D,0x58,\r
+0xEB,0xD8,0x5F,0xFC,0xA0,0x04,0xF7,0x08,0x44,0xB7,0x30,0x47,0x40,0xED,0x33,0x7C,\r
+0x18,0x29,0x24,0x05,0x5F,0xDB,0x0C,0x3C,0x4F,0x1C,0x7A,0xAA,0x84,0xBA,0x5A,0xC8,\r
+0xA7,0xA1,0x2C,0xB7,0x07,0x4D,0xBF,0xC6,0x10,0x38,0xAF,0xCC,0x73,0x01,0xA2,0x55,\r
+0x10,0x8A,0x0E,0x78,0xAA,0x59,0x7C,0xF6,0x3E,0x79,0x2F,0xCA,0x87,0xDA,0x90,0xD4,\r
+0x39,0x82,0x1D,0x66,0x8D,0x99,0x96,0x66,0xCB,0xD8,0xEE,0x7A,0xD5,0x3E,0xA1,0x9A,\r
+0x27,0xFF,0xA5,0x15,0x0D,0x10,0x34,0x38,0x54,0x06,0x76,0x9C,0x1C,0x3B,0xFC,0x94,\r
+0xEF,0xBE,0xD1,0x83,0xBB,0xE3,0x32,0x81,0xF4,0x8C,0x5F,0x48,0x2B,0x6A,0x23,0x99,\r
+0x7A,0xF1,0x6C,0x10,0x1D,0x7B,0xB3,0xDD,0x2F,0x6C,0x1E,0xFE,0x23,0xD8,0x9C,0x11,\r
+0x4D,0x84,0xC7,0x7D,0x4A,0xEF,0x3D,0x2D,0x1D,0xE7,0xFE,0xFB,0x55,0x73,0x5B,0x5A,\r
+0xF8,0xF2,0x92,0x44,0xF1,0x69,0xF0,0xC3,0x8B,0xB4,0x0F,0xE1,0xB1,0xD6,0x8A,0xCF,\r
+0xA3,0xC7,0xA2,0xC8,0x01,0xB4,0x36,0xFD,0xBB,0x19,0xCC,0xF5,0xDA,0x51,0x9A,0x2A,\r
+0xFD,0x06,0xCD,0xF2,0xD6,0xA9,0x1A,0x53,0xAC,0x78,0xE6,0x1B,0xAB,0x27,0xD9,0x59,\r
+0xA6,0x33,0xFD,0x7E,0x1F,0x0C,0x45,0x80,0x70,0x48,0xCB,0x98,0x70,0x61,0x68,0x49,\r
+0xB0,0xED,0x6F,0x70,0xB5,0x30,0xC6,0x19,0x37,0xF4,0x46,0x36,0xEC,0x5D,0x80,0x31,\r
+0xDB,0x04,0xDC,0xD1,0x26,0x74,0xDC,0x6D,0x48,0xCC,0x16,0x9F,0x68,0xAD,0x34,0xD5,\r
+0x7F,0x05,0x33,0xA6,0x50,0xD9,0x31,0x36,0x87,0xCF,0x29,0x39,0x08,0xF8,0x51,0xA4,\r
+0x8F,0x3B,0xEE,0x60,0x00,0x65,0xFF,0x6F,0xDC,0xB9,0xC4,0x94,0xB8,0x39,0xF0,0x51,\r
+0x2D,0x01,0xF8,0x9E,0x2F,0x8F,0x68,0x5C,0x8F,0xE6,0x37,0x2A,0x9D,0x2B,0xC3,0x42,\r
+0x95,0x20,0xD8,0x6C,0xAF,0x06,0xCA,0x02,0xD7,0x12,0x8E,0x79,0xA8,0x47,0x13,0x45,\r
+0x72,0x52,0x46,0x6D,0x30,0xE6,0xD2,0xB3,0x91,0x0A,0x74,0x38,0x8C,0x08,0xE5,0x40,\r
+0x4E,0x4B,0x61,0x42,0x76,0xC8,0x12,0x34,0xF5,0x28,0x28,0xA7,0xE2,0x6F,0x7E,0x97,\r
+0xD4,0x0E,0xDE,0xEC,0x46,0x4B,0x3F,0xE8,0x14,0x6A,0x97,0x07,0xD0,0xDE,0x2A,0xA8,\r
+0x1E,0x12,0xDD,0x8C,0x3F,0xE4,0xEF,0xB9,0xF8,0xF7,0x79,0x90,0x3B,0x14,0xC0,0x8D,\r
+0xE9,0x85,0x28,0x0A,0xCD,0x4E,0xDF,0xDA,0x03,0x0B,0xBD,0xE9,0x6A,0x90,0x3B,0xDF,\r
+0x97,0x7D,0xAF,0x9A,0xDD,0x25,0x58,0x3F,0x15,0xCE,0xE0,0xE8,0x64,0xA2,0xC5,0x79,\r
+0xB2,0xB0,0x18,0x86,0xA4,0x8A,0x88,0x6E,0xC5,0x85,0xEB,0xB3,0xF1,0x71,0x57,0x9F,\r
+0xA8,0xAB,0x2E,0x8A,0xB3,0xC9,0x4F,0x22,0x60,0xF9,0x8D,0x43,0x35,0x26,0x3E,0x2B,\r
+0x7B,0x63,0xBD,0xD9,0x1B,0x82,0x3A,0xE6,0x39,0xA9,0x43,0xFF,0x41,0xB0,0xF6,0x6A,\r
+0x83,0xFE,0x4A,0x62,0xFE,0x6B,0xCD,0xC9,0xD6,0xB6,0xF9,0x96,0x19,0xDB,0x77,0xA6,\r
+0xBC,0x28,0xCB,0x72,0xCB,0xB7,0x56,0xE1,0x0B,0x22,0xA3,0xFA,0xBE,0xB9,0xB1,0x7F,\r
+0xE1,0x26,0x02,0x77,0x52,0xAE,0xC7,0x6B,0xE0,0x6F,0x21,0x58,0xCE,0x92,0x37,0x1A,\r
+0xD7,0xC1,0x78,0xD3,0xE2,0xA4,0x48,0xE9,0x4C,0x9E,0x2E,0x54,0xA0,0xF5,0xAC,0xCD,\r
+0xD3,0xA7,0xF6,0xAC,0x5D,0xAC,0xFA,0x61,0x67,0x29,0xE1,0x76,0x97,0xA4,0x73,0xC0,\r
+0x82,0x6C,0x9B,0xAB,0xE3,0x75,0x81,0x7B,0x7E,0x15,0xCE,0x51,0xD3,0xBE,0xE0,0xB4,\r
+0x3C,0x76,0x42,0xD0,0x2E,0x5E,0xA1,0xCE,0xE7,0xBF,0x4D,0x6D,0x53,0xF3,0x1A,0x74,\r
+0x58,0x95,0xF3,0x4C,0xD0,0x50,0x93,0x68,0x43,0x67,0x5C,0x72,0xCF,0xCF,0xF2,0x0C,\r
+0x24,0x30,0x03,0x2A,0x4F,0xB0,0x8B,0xD9,0x9D,0x71,0x52,0xE0,0x95,0x99,0x7C,0xCA,\r
+0xD1,0xFA,0x81,0x5A,0xA5,0x5B,0x41,0xFC,0x62,0xDF,0xAE,0x52,0x4F,0x82,0x08,0xCC,\r
+0xDE,0xF0,0x83,0x67,0x87,0xC4,0x1D,0x98,0x56,0x20,0x55,0x8D,0xEA,0xDD,0xC1,0x1F,\r
+0x11,0x18,0xDF,0xB1,0xAE,0xD7,0x03,0x90,0xAE,0x5E,0xC5,0x0A,0x3E,0xF4,0x4B,0xBF,\r
+0x35,0x47,0xB9,0x64,0x40,0xB2,0xB6,0xD3,0x17,0xE8,0xC3,0xF9,0x01,0x17,0x2B,0x3A,\r
+0x04,0x09,0xEB,0x80,0x55,0x86,0x87,0xC2,0xEA,0x60,0x1C,0x5A,0xC3,0xC0,0x03,0xA0,\r
+0x96,0xEF,0x7E,0x53,0x75,0x6E,0x2D,0xFB,0xEC,0x14,0x07,0x80,0x4C,0xE2,0xC2,0xD0,\r
+0xE4,0xD2,0x5D,0xC1,0x53,0x7F,0x0E,0xF9,0x77,0x98,0xA7,0xAD,0xC1,0xFD,0x0C,0xAA,\r
+0x25,0xA2,0xD2,0xE3,0x9B,0x0B,0x98,0xB8,0x65,0x0F,0xC2,0x67,0x14,0x89,0x43,0x1C,\r
+0x09,0x5E,0x9E,0x4B,0x94,0x09,0xA5,0xB2,0xEB,0xC4,0x6B,0xB5,0x57,0x4E,0x54,0x50,\r
+0x9F,0xDE,0x85,0xE7,0x32,0x91,0x24,0xEE,0xE4,0x3D,0x19,0x93,0x34,0x7B,0xFB,0x3D,\r
+0xFF,0x5B,0xBA,0x04,0x69,0xA1,0xA8,0xDB,0x75,0xBE,0x84,0xBC,0x05,0xAA,0x65,0x1E,\r
+0xAB,0x64,0x88,0xB5,0x05,0x3A,0x49,0x9B,0xE5,0x99,0x6E,0x7C,0x13,0x54,0xC7,0x24,\r
+0x6B,0x86,0xD6,0x5E,0x8E,0x3F,0xA9,0xA9,0xB5,0x44,0xC9,0x3C,0xC6,0x20,0x88,0x92,\r
+0x86,0x0A,0x15,0xD4,0x66,0xA3,0x95,0xD1,0xAD,0xDC,0x91,0xF4,0xA6,0x75,0xED,0xE3,\r
+0x81,0xA3,0x3D,0x94,0x63,0xFC,0x23,0x25,0xF7,0x0E,0x0B,0xB6,0x60,0x1F,0x8B,0x5D,\r
+0x62,0xB7,0x2D,0xEA,0x21,0x5C,0x9C,0xC4,0xB6,0xC6,0x9D,0xC2,0x29,0x57,0x2C,0x93,\r
+0xF3,0x9E,0x1E,0x06,0x64,0xD4,0x63,0x8C,0x46,0x91,0x13,0x56,0x7D,0x33,0x5C,0xF3,\r
+0xD2,0x35,0x27,0x65,0xFA,0xE5,0xB2,0xAF,0x2E,0xC8,0x69,0x11,0x89,0xE8,0x6E,0x72,\r
+0x56,0x0D,0x20,0xB8,0xBA,0x32,0xFB,0x13,0x73,0xCA,0x9F,0x66,0x0D,0x18,0xDA,0x96,\r
+0x47,0x7A,0x9A,0xF6,0x92,0xF0,0x2C,0x89,0xA5,0xF5,0x8F,0xE7,0xC0,0xA0,0xC9,0xBC,\r
+0xEE,0x2C,0x00,0x4A,0x42,0xC5,0x40,0x8E,0x83,0x9D,0x11,0xF2,0x62,0x22,0x84,0x57,\r
+0xD5,0x9C,0x0F,0x25,0xEA,0x8E,0x35,0x4A,0x71,0xEC,0xBC,0x77,0x71,0x3C,0xAD,0x5F,\r
+0x3A,0x4D,0xBB,0x59,0x45,0xED,0x00,0x27,0x16,0x4C,0xB4,0x16,0x17,0xE9,0x89,0x00,\r
+0x27,0x89,0x25,0xDB,0x07,0xA0,0xC7,0x46,0xAE,0x3E,0xE7,0x0A,0x78,0x1E,0x31,0x88,\r
+0x5E,0xFA,0x6E,0x97,0x4D,0x7C,0xA4,0xDF,0xD2,0xF7,0x90,0x2E,0xA2,0xCB,0xC2,0xE2,\r
+0x9D,0x84,0x77,0xEF,0x16,0x91,0xD2,0x72,0xEF,0x78,0xFF,0xF0,0x90,0x35,0x64,0xEC,\r
+0x70,0xFC,0xEE,0xD6,0xCE,0x84,0xB0,0x3A,0xEB,0x5C,0xB1,0x4D,0xCE,0x1B,0xC5,0xD7,\r
+0xAB,0x4A,0xAF,0x36,0x41,0x5A,0xDF,0x07,0x94,0x89,0x0C,0x09,0x0D,0xB6,0xF5,0xC3,\r
+0x2A,0xBE,0x74,0x04,0x6F,0xDA,0x9E,0x01,0x80,0xB9,0xA1,0xCA,0xC2,0x01,0xDE,0xE1,\r
+0xB7,0x49,0xCF,0xFC,0x30,0x0F,0xBA,0x67,0x16,0x43,0xF9,0x79,0x70,0xBE,0x56,0xE9,\r
+0x03,0x8D,0x98,0x95,0x3B,0x45,0x11,0x8A,0xC9,0x77,0x06,0x82,0x89,0x4D,0xA7,0x92,\r
+0x6E,0xEE,0xAD,0x3A,0x50,0x6B,0xCA,0x33,0xB6,0xA2,0xBB,0xC6,0x65,0xDC,0x8E,0xA1,\r
+0xE6,0xE6,0x1F,0x85,0x8B,0x2A,0x2A,0x85,0x2E,0xFE,0x1D,0x47,0xF6,0x49,0xC1,0x1C,\r
+0xEB,0xD1,0x4E,0x5A,0x2B,0x03,0xA0,0x51,0xDD,0x47,0xAB,0x41,0x60,0x81,0x80,0x68,\r
+0xE5,0x18,0x4B,0x07,0xB4,0x9B,0x7E,0xB7,0x54,0x19,0x2B,0xE3,0x13,0x9F,0xFD,0xD0,\r
+0x26,0x66,0x52,0x7F,0xD3,0x93,0xDE,0xD6,0x64,0x2C,0x70,0x6F,0x87,0x5B,0x79,0x00,\r
+0x55,0x17,0x24,0x3C,0xC4,0xB9,0xBF,0x38,0x79,0x82,0xA7,0x43,0xBD,0x05,0xB8,0x6F,\r
+0xB0,0x7C,0xA3,0x2C,0xF4,0x7A,0x12,0x2C,0xA4,0xBC,0x57,0x85,0x31,0x5E,0x8D,0x5F,\r
+0x25,0x98,0x06,0xFD,0x62,0x8B,0x41,0x36,0x22,0x52,0xEC,0x48,0x08,0xEB,0xFB,0x0A,\r
+0xDB,0xC5,0x8D,0xF7,0xF8,0x5C,0x69,0xF4,0x14,0x49,0xF6,0x44,0xD3,0xD9,0x7A,0xFE,\r
+0xAA,0xA5,0xD8,0x92,0x37,0x63,0x6A,0x52,0xB9,0x12,0x80,0xA9,0xA4,0x7D,0x7B,0x11,\r
+0x4E,0x21,0x28,0x26,0x48,0x33,0x52,0xFB,0xFD,0x66,0x13,0xB3,0x05,0x16,0x92,0xA2,\r
+0x36,0xBD,0x14,0xCE,0x0F,0xBE,0xEE,0x55,0xC1,0xFF,0xB9,0x30,0x0B,0x00,0x4C,0x30,\r
+0x3F,0x41,0x7D,0x43,0xEE,0x01,0xAC,0xF5,0x2B,0xCC,0x96,0xA7,0x18,0xD4,0x2D,0x8B,\r
+0x3A,0x65,0x32,0xB5,0xA8,0xFB,0xB4,0xB4,0xCB,0x7D,0x09,0xBF,0x19,0x33,0x5F,0x15,\r
+0x3D,0x50,0x5E,0x65,0xF0,0x42,0x40,0xE7,0x42,0x23,0x89,0x1D,0xEB,0x8B,0x7E,0x35,\r
+0x2E,0x75,0x4C,0x56,0xA3,0xB1,0x1F,0x59,0xA8,0x10,0xA6,0x8A,0x15,0x29,0x44,0x23,\r
+0xA0,0xA7,0xE5,0x9D,0x7C,0xC8,0xAD,0x24,0x83,0xA5,0x6B,0xAA,0x7F,0x4F,0xFA,0xE5,\r
+0xF2,0xF6,0x61,0x66,0x87,0x0C,0x51,0x5D,0x29,0xC6,0x99,0x9A,0xF9,0xB8,0x6D,0x10,\r
+0xD7,0x1D,0xAB,0x8C,0x6B,0xE2,0xCC,0xCA,0x86,0x97,0xE0,0x4A,0x99,0x72,0x71,0x13,\r
+0xE8,0x2F,0x1A,0xD8,0x8A,0x5D,0x8E,0x6A,0x05,0x4B,0xD0,0x67,0x37,0xE8,0x34,0xAC,\r
+0x15,0x8C,0xC5,0x50,0x46,0x36,0x0F,0x32,0x4F,0x99,0xBD,0x4F,0xAC,0xDD,0x1C,0x70,\r
+0x54,0xF8,0x53,0x98,0x1F,0xF8,0x5F,0x8E,0x04,0x5D,0x15,0x3A,0xFF,0x0E,0xD4,0xE3,\r
+0xE0,0x3C,0x04,0xF1,0xBA,0x9E,0x23,0x7E,0x47,0x11,0x02,0xFD,0xF3,0x14,0xCF,0xD5,\r
+0x06,0xA9,0xD7,0x63,0x6A,0x95,0x68,0x25,0xE8,0x40,0x7B,0x2D,0xEF,0x31,0x02,0x62,\r
+0xB2,0x6D,0x80,0x0A,0x33,0x5B,0x38,0x99,0x69,0x96,0x44,0x3D,0xA6,0x71,0xBE,0xB5,\r
+0x65,0x03,0xE7,0x91,0x9F,0x54,0xC9,0x95,0x63,0x14,0xF4,0xB2,0x02,0x47,0x59,0xCF,\r
+0x00,0x73,0xCC,0x17,0x74,0xD6,0x84,0x37,0x7A,0x9E,0x6D,0x23,0x07,0x1A,0x57,0x06,\r
+0xD9,0xD4,0xAE,0xD1,0xA9,0x8C,0x10,0x5B,0xA6,0xB6,0x58,0xB8,0x17,0x25,0x81,0x87,\r
+0x73,0x02,0xBA,0x54,0x3C,0x29,0xC1,0xBF,0x9D,0x17,0x76,0xE6,0x39,0xFE,0xEA,0x3E,\r
+0x0B,0x9E,0x86,0xBC,0x98,0x38,0x19,0xA0,0x93,0xB1,0x88,0xD4,0xA5,0x9A,0x09,0x8F,\r
+0xCB,0x1E,0xCB,0x46,0x01,0xBB,0xB3,0x9C,0xB8,0x04,0x45,0xF4,0xDE,0x24,0x13,0x56,\r
+0xBF,0x5A,0xD1,0xD5,0x18,0x94,0x8F,0xBB,0x61,0x1E,0xFB,0x8F,0xD9,0x75,0xD8,0x3B,\r
+0xC0,0xF3,0x81,0xED,0xD1,0xB0,0xF8,0xC7,0x1A,0xEF,0x08,0x76,0xC4,0xB7,0x67,0x12,\r
+0x60,0x27,0xA8,0x67,0x29,0x20,0x86,0x40,0x09,0xE7,0x21,0x68,0x12,0x78,0x8F,0x4E,\r
+0xB3,0x82,0xF7,0xAE,0x1D,0xDB,0x79,0x9F,0x96,0x83,0x03,0x34,0x2F,0x77,0x85,0x4C,\r
+0xB5,0x58,0xEC,0xDA,0xE2,0x27,0xD7,0x2D,0x7D,0xA6,0xE9,0xFE,0x5F,0x82,0x4F,0xCE,\r
+0xD5,0x0C,0x88,0xAA,0x08,0xD2,0x3E,0x60,0xB2,0x86,0xF5,0x7B,0xB4,0x42,0xAD,0x90,\r
+0xAF,0x81,0x97,0x64,0x93,0x72,0xB2,0x4D,0xA3,0x84,0xD3,0x58,0x26,0x30,0x90,0xB3,\r
+0xDF,0x0E,0xB5,0xA5,0x95,0x69,0xC6,0x97,0x4B,0xBD,0xF3,0xF2,0xF5,0xA2,0x76,0x26,\r
+0x45,0xCC,0x62,0x8D,0x68,0xB6,0x4E,0x34,0x7F,0xAC,0xE6,0xC3,0x11,0x93,0x38,0x74,\r
+0x61,0xC8,0xDF,0xC3,0x0A,0xF1,0x18,0x71,0x6C,0xA4,0xCF,0xDD,0x71,0x59,0x24,0x77,\r
+0x42,0xF9,0x0E,0x5D,0x9B,0x6C,0x9B,0x5E,0x5C,0x91,0x94,0x51,0x92,0x39,0xA1,0x48,\r
+0x2F,0x9A,0x3B,0xF2,0x94,0x1E,0x62,0x78,0xC4,0xCD,0x32,0xD0,0x3E,0xAF,0x21,0x53,\r
+0x63,0xD9,0xFC,0xE5,0x1A,0xB7,0xA9,0xAA,0xC6,0xC7,0x3D,0xED,0x96,0x83,0xDD,0x1F,\r
+0x22,0xAD,0x6A,0x2D,0x88,0x7E,0xA8,0x7B,0x31,0x5A,0xC5,0x56,0xE1,0x27,0xDC,0xF0,\r
+0x9C,0x6B,0x00,0x4B,0xD2,0xE4,0x7A,0x39,0x6E,0xAE,0xC0,0xE0,0xA1,0x20,0x75,0xD8,\r
+0xED,0x0B,0x55,0x2E,0xCA,0xBC,0xE2,0xF1,0xF2,0xD6,0x28,0xDC,0x2B,0xCD,0xF9,0x1B,\r
+0x5B,0xDE,0x21,0x61,0x9A,0x1B,0x3F,0xB1,0xF7,0xE4,0xA3,0x3C,0xC0,0x0D,0x1B,0x45,\r
+0xE9,0xC0,0x6D,0x7C,0x0C,0xEA,0x6C,0xAB,0xFF,0x6C,0x1C,0x8E,0xCD,0xF0,0x72,0xED,\r
+0x0D,0x44,0x9D,0xC8,0x51,0x1C,0x6E,0xDC,0x28,0xD0,0x5C,0xC7,0x10,0x74,0x4A,0xEA,\r
+0x8C,0xB0,0x46,0xFA,0x39,0x66,0x37,0x9B,0x19,0xF3,0xC2,0x16,0x73,0x55,0xE1,0xD3,\r
+0xEC,0xE4,0x22,0x8A,0xC9,0xE8,0x60,0x0F,0x91,0xBB,0x87,0xE9,0x9F,0xC4,0xC8,0xE0,\r
+0x7F,0xDA,0x9C,0x2F,0x69,0xC1,0xEA,0xDB,0x20,0x58,0xE3,0x75,0x2C,0x9C,0x32,0x76,\r
+0x20,0xBC,0x49,0x0B,0x0E,0xC9,0x4A,0xBA,0x43,0x35,0x4C,0x40,0x50,0x73,0xE3,0xC2,\r
+0x28,0xAF,0x57,0x22,0xFC,0x64,0x3B,0x3F,0x08,0xF1,0xE4,0x35,0x3F,0x48,0x53,0xCD,\r
+0xC3,0x0D,0xD5,0x6F,0xDA,0xFA,0x53,0x2A,0x3D,0xF6,0x34,0x59,0x83,0xE1,0x05,0x57,\r
+0xEF,0x7F,0xBF,0x85,0xAD,0xD3,0x09,0x74,0x67,0x15,0xC4,0xF9,0xBB,0x4E,0xD7,0x2D,\r
+0x3C,0xED,0x59,0x10,0xA6,0x03,0x52,0x3F,0x1E,0xC5,0x6B,0xA8,0x76,0xF9,0xCB,0x08,\r
+0x6B,0x84,0xED,0xD4,0xC0,0xA6,0xA2,0x43,0x09,0x02,0x28,0xE4,0x6D,0xCF,0xC7,0x12,\r
+0xFD,0x4C,0xAC,0xA0,0x0E,0xFF,0x1E,0x13,0xA1,0x77,0x63,0x20,0xA5,0x5C,0x94,0xC1,\r
+0x22,0xC4,0x51,0x03,0x65,0x33,0x46,0x92,0xCC,0x5F,0x29,0xF2,0x8D,0x80,0x0F,0xF4,\r
+0x93,0x90,0x6E,0x31,0xDA,0xD2,0xE6,0xD0,0xFC,0x72,0xAA,0x2E,0xC8,0x3F,0xA1,0x6E,\r
+0x59,0x7A,0x4B,0xDA,0x34,0x3E,0x71,0x4D,0x85,0xA2,0x05,0x7F,0xD4,0x3C,0xC1,0xA4,\r
+0xDD,0x81,0x19,0x8B,0xF0,0xC5,0x08,0xB1,0x77,0x92,0xAF,0x1C,0x43,0xC9,0x47,0x53,\r
+0x74,0x4A,0x97,0x59,0x89,0x1A,0x75,0x03,0xBA,0xB2,0x84,0xA9,0xFD,0x0F,0x2D,0x35,\r
+0x66,0x79,0x84,0x7C,0x7A,0x49,0xCB,0x5C,0x95,0x25,0x6E,0x9A,0xC7,0x19,0xD3,0x97,\r
+0x0A,0xA9,0x83,0x49,0xC3,0x11,0x98,0xA8,0x15,0x87,0xE7,0xC4,0xE6,0x39,0x21,0x2F,\r
+0x45,0x5F,0x86,0x6D,0x39,0x57,0xD9,0xB0,0x8A,0x9F,0x07,0x75,0x94,0xA7,0x20,0xC8,\r
+0x2C,0xD2,0x8F,0x91,0x86,0xB6,0x79,0xF2,0xA5,0x08,0xED,0x46,0xF5,0x1C,0x33,0x1C,\r
+0x10,0x3A,0xF7,0x0D,0x0B,0xF1,0xD7,0x4E,0x0F,0x8B,0xD1,0xDF,0x2B,0x8E,0x3D,0x0A,\r
+0xE0,0x8E,0x13,0x89,0x5B,0x8E,0x7E,0x76,0x9C,0x91,0x95,0xAB,0xC2,0x3D,0x9C,0x61,\r
+0xB5,0xEB,0x62,0xE9,0x64,0x41,0xD8,0x75,0xEA,0x7C,0x38,0xF0,0xC3,0xD2,0xEB,0xC5,\r
+0x3E,0xE1,0x9C,0xB4,0xB3,0xDB,0x1A,0x5D,0xF0,0x70,0x0E,0xEB,0x42,0x26,0x30,0xF7,\r
+0x9B,0x30,0x09,0x50,0x42,0x4D,0x00,0x0E,0x4B,0xBD,0x88,0x05,0x34,0x73,0x09,0x42,\r
+0x1C,0x20,0xEC,0x3B,0x81,0x7D,0x14,0xA3,0xBB,0x7B,0x55,0x3B,0x01,0x43,0x85,0x19,\r
+0x6A,0x63,0x9F,0x4A,0xAB,0x6A,0xFA,0xC2,0x6C,0x57,0x48,0x95,0xC0,0x2C,0xBF,0x47,\r
+0x73,0x1B,0x5C,0x34,0xA3,0x0D,0x9B,0x62,0x37,0xDB,0x78,0xA0,0x44,0xFC,0x2B,0x83,\r
+0x76,0x46,0x52,0xFD,0x3B,0x92,0x7D,0xBC,0xB7,0x79,0xF1,0xFE,0x39,0x44,0x58,0x9D,\r
+0x27,0x99,0x5F,0xCA,0x12,0x32,0xA9,0x36,0x01,0x7F,0x02,0x47,0x78,0x30,0xCE,0x55,\r
+0x95,0x26,0xD7,0xC2,0x53,0xE9,0x1F,0xD6,0xA7,0xFE,0x9A,0x1B,0x37,0x8D,0x5D,0xC0,\r
+0xA0,0x89,0xBA,0xA1,0x7D,0x82,0xA6,0x0D,0x1A,0xBA,0xE5,0xCE,0x1E,0xBE,0xB1,0x51,\r
+0xF7,0xE0,0x0E,0x65,0x37,0x89,0x4B,0xA6,0xE5,0x41,0x3A,0xFA,0xEF,0xC5,0x48,0xA2,\r
+0x4C,0x18,0x93,0x92,0xE2,0xD6,0x2D,0x82,0xBD,0xF2,0xAC,0x00,0x67,0xCD,0xFA,0x1D,\r
+0x97,0x2A,0x12,0x66,0x62,0xF8,0x2B,0xC3,0x10,0x31,0xB8,0x30,0x4C,0xEF,0x35,0xAA,\r
+0xD6,0xCA,0xC9,0xD0,0xBC,0x77,0x16,0xAC,0xAD,0x75,0xC7,0xE5,0x7C,0xFB,0xF6,0x07,\r
+0x4F,0xF3,0x24,0xA8,0xA9,0xAF,0x5E,0xCE,0xE3,0xC8,0xC3,0xC1,0xDD,0xC0,0xA8,0x29,\r
+0x56,0x8B,0xE7,0xD6,0x44,0xF4,0xF3,0xB8,0x8C,0x16,0xFE,0x4E,0x7B,0xCE,0x9A,0xD7,\r
+0x1D,0xC7,0x9E,0xA5,0x98,0xBE,0x6A,0xDB,0xFB,0x32,0x82,0x87,0x88,0xA4,0x40,0x02,\r
+0xED,0x73,0x7A,0x21,0xC2,0x63,0x06,0x4F,0x28,0x61,0x11,0x4F,0xBC,0x7B,0xBB,0xFD,\r
+0x6F,0x3E,0x91,0x83,0x5C,0x45,0x13,0x27,0xF8,0x0D,0x24,0x48,0xEA,0xE1,0x07,0x54,\r
+0x71,0x17,0x99,0x90,0xF1,0xB7,0x96,0x56,0x50,0x78,0x6F,0x8C,0x5A,0xEE,0x68,0x6F,\r
+0xA4,0x33,0xC6,0xF6,0xF9,0xD0,0xF7,0xF6,0xFF,0x4D,0x0C,0xE1,0x8B,0x5A,0x14,0x80,\r
+0x1A,0x96,0x55,0xC8,0xD0,0x70,0x23,0x7C,0x9B,0xD1,0xBD,0x02,0x71,0xCC,0xA7,0xD8,\r
+0x7E,0xE6,0x35,0x9C,0x5E,0x80,0xB7,0x2B,0xDE,0x2E,0x35,0x4A,0x58,0xFF,0x4B,0x49,\r
+0xA5,0xD4,0xB4,0x68,0x24,0xE8,0xF0,0x72,0x40,0xFF,0x04,0x69,0xF3,0xC6,0x28,0x68,\r
+0x55,0x60,0x50,0xEC,0xD2,0xB5,0x87,0x70,0x00,0xB6,0xD3,0xD5,0xCB,0xC1,0xF5,0xEC,\r
+0x19,0x7D,0xE2,0xF2,0x23,0x23,0x9D,0x23,0xBF,0x04,0xDB,0x5D,0xA2,0x69,0xF8,0x11,\r
+0x6D,0x32,0x54,0x27,0x84,0x73,0xDD,0xFE,0x34,0xE4,0xDE,0x6F,0x40,0x37,0x13,0xD1,\r
+0x38,0x57,0x25,0x47,0xDC,0x6B,0x15,0x66,0xDC,0xD8,0x42,0x17,0xCC,0xF4,0x99,0x3C,\r
+0x52,0x31,0x9B,0x81,0x46,0x31,0x57,0xB4,0xD9,0x6E,0x1D,0xE3,0x65,0xDC,0xD9,0x3B,\r
+0xC4,0xF9,0xDA,0xF5,0x8F,0xA3,0x86,0xB5,0x21,0xD5,0xEA,0x7E,0x64,0x33,0xAE,0x9F,\r
+0x03,0xEE,0x96,0xB6,0x26,0x2D,0x54,0x7E,0x2E,0xE8,0xE8,0x74,0x98,0x7F,0x06,0xB3,\r
+0x36,0x41,0xFB,0xD5,0x54,0x22,0x72,0x87,0x88,0x69,0x70,0x28,0x18,0x64,0xAA,0x25,\r
+0xE7,0xDF,0xD8,0xE4,0xC9,0xB3,0x5D,0x04,0xD3,0xE5,0x40,0x1D,0x9D,0x5B,0x49,0x45,\r
+0x5A,0x91,0xFC,0xE0,0x8E,0xD1,0x18,0x52,0xFA,0xFB,0x53,0x15,0x81,0x58,0x29,0x8F,\r
+0x8D,0xB9,0x66,0x22,0x51,0x2C,0xBB,0xDA,0xEF,0xCA,0x67,0x04,0xCF,0x0A,0xCD,0xBE,\r
+0xAF,0x78,0x16,0xAD,0x4A,0x2A,0x61,0xAE,0xCF,0x60,0x8F,0x3D,0x29,0x9F,0x1E,0x2C,\r
+0xB0,0xB6,0x6C,0x20,0xEA,0xB1,0x4C,0x22,0xE9,0x43,0x9E,0x3F,0x14,0xBC,0x8C,0x5E,\r
+0xD4,0xC6,0x0C,0x74,0x1F,0x5B,0x01,0xCB,0xF5,0xC6,0x51,0x1F,0xF6,0xE2,0x67,0x9E,\r
+0xCF,0xB2,0x0A,0xAE,0xE3,0xA4,0xB3,0x65,0x1F,0x0C,0xBA,0x3A,0x3C,0x60,0x17,0x6B,\r
+0x90,0x7B,0xD9,0x0B,0x18,0x90,0x6C,0x9A,0x3D,0x50,0x25,0x5E,0x36,0x62,0x2A,0x64,\r
+0xB9,0xF1,0x79,0xDF,0x88,0x68,0xEB,0xE4,0x14,0x4E,0x36,0x56,0xDE,0x3E,0xFC,0xAB,\r
+0xE9,0xC9,0x06,0x76,0xAC,0xA1,0x97,0x93,0xE7,0xB7,0x4D,0xA7,0x61,0x17,0xE1,0x69,\r
+0xF3,0x5A,0x72,0x32,0x83,0xB8,0xB0,0xAF,0x59,0xCC,0x94,0xBD,0xAA,0x7A,0xE6,0x38,\r
+0xBE,0xA0,0xB2,0xB2,0x00,0x21,0x8C,0x05,0x94,0xEC,0xBF,0x08,0xB0,0xA3,0x9D,0x86,\r
+0x82,0x48,0xCA,0x2E,0x11,0x85,0x93,0xDD,0x6A,0xDE,0xB1,0xAE,0x53,0x12,0x01,0xE2,\r
+0x96,0xCD,0x60,0xF8,0xB4,0x10,0x77,0x0C,0x44,0x80,0x8A,0x0F,0x38,0xAB,0x2F,0x39,\r
+0xF4,0x0B,0xB9,0x5F,0xEE,0xCD,0x1B,0x98,0x71,0x1B,0x56,0x27,0xEE,0x2A,0x3F,0x06,\r
+0xDF,0x8D,0xDC,0x2F,0x6C,0x26,0xB9,0xD5,0xE8,0x8A,0x4F,0xAD,0xE0,0xE3,0x3A,0x5B,\r
+0xB8,0x16,0x0B,0x41,0x63,0x8A,0xB5,0x24,0x58,0x05,0x45,0x2F,0x07,0x99,0x9E,0x6D,\r
+0x20,0xD7,0xF7,0xAF,0x87,0xB2,0xF5,0x36,0x57,0xE0,0x55,0xBA,0xEC,0xDB,0x26,0x0D,\r
+0x39,0xF0,0xD8,0x93,0xF3,0xA8,0x66,0x72,0x3A,0x2B,0x04,0xBD,0x97,0x65,0x3C,0xD4,\r
+0xA0,0xCC,0x5B,0x39,0x33,0xE5,0x9C,0xF2,0xE3,0x31,0xBA,0xC6,0xB7,0xA8,0x89,0xFF,\r
+0x04,0xD3,0x4A,0xE1,0x4B,0xD9,0x74,0x6E,0x52,0xD2,0xDE,0x5A,0x85,0x56,0x2F,0xF1,\r
+0x91,0x37,0xEF,0x30,0xE1,0xCD,0xF1,0xB8,0xEB,0xB9,0x05,0x74,0xDB,0x78,0x8E,0xCA,\r
+0x4C,0x5B,0xB5,0xA4,0x38,0xAF,0x37,0x1F,0x6A,0x6F,0x3A,0x64,0x40,0x4D,0xA6,0x16,\r
+0xA7,0xF9,0x37,0xE9,0x5D,0x84,0xB1,0x6F,0xA3,0x61,0x67,0x61,0xD1,0xD4,0x2C,0x0F,\r
+0x0B,0xF5,0x38,0x18,0x8A,0xE3,0x2A,0x01,0xD9,0x86,0x51,0xC5,0x5E,0x64,0xAE,0x05,\r
+0x50,0x58,0xD5,0x6E,0x7D,0x01,0xAD,0xA0,0x18,0x00,0xB3,0x72,0xA0,0xC6,0x94,0x13,\r
+0xAD,0xFB,0x0A,0xE6,0xE7,0xD6,0x85,0x62,0x4A,0x4E,0x82,0x96,0x91,0xD3,0x85,0x27,\r
+0xAB,0x21,0x11,0x92,0x97,0xF4,0x44,0xED,0xDF,0xA8,0x10,0x45,0x3B,0xF3,0xBC,0xCF,\r
+0x30,0x0C,0xB1,0x1E,0xED,0xEB,0x8A,0x60,0xFC,0x95,0x62,0xD7,0x18,0xD5,0xBE,0xDE,\r
+0xDA,0x41,0x44,0xF7,0x8D,0x8F,0xFA,0x34,0xA2,0x77,0xA2,0x3C,0x9D,0xC9,0x9E,0x11,\r
+0x25,0xF3,0xB8,0x59,0x8B,0x94,0x8E,0xEE,0x20,0xBD,0x57,0x4C,0x57,0x23,0xBB,0xFA,\r
+0x11,0x2C,0x43,0xA6,0x58,0xCB,0x47,0x4B,0x22,0xB7,0x58,0x71,0x0B,0x01,0xDF,0x65,\r
+0xE9,0xAB,0xD3,0xD8,0xF8,0xE2,0xCD,0x9F,0x7E,0x5F,0x97,0xA7,0x15,0x28,0xD7,0x76,\r
+0xA2,0xDD,0x78,0x1F,0x63,0x42,0x41,0xB2,0x29,0x23,0x2D,0xA3,0x5F,0x83,0xDC,0x9B,\r
+0xF2,0x9D,0xDF,0xC2,0xD5,0x36,0x0E,0x67,0x77,0xC1,0xED,0x48,0xBF,0x08,0xEE,0x9E,\r
+0xEA,0x55,0x87,0x5A,0xA4,0x63,0x6B,0x07,0xB4,0x4D,0x00,0xC2,0x83,0xE0,0x96,0x02,\r
+0xB0,0x17,0x1D,0x88,0x1A,0x09,0x0D,0xC1,0x9C,0xE4,0x07,0x82,0x35,0xE5,0x62,0x5D,\r
+0x22,0xC6,0xD4,0x89,0x5B,0x9F,0xC5,0xB5,0x73,0xE5,0xA3,0xF5,0x8E,0x1D,0xFF,0xAA,\r
+0xAC,0x14,0x7D,0x42,0x17,0x58,0xD2,0xF6,0x3F,0x19,0x8F,0x5D,0xB3,0x12,0xF5,0xA8,\r
+0xA3,0x32,0x0F,0xBB,0x7A,0x6D,0x7D,0x95,0x24,0x99,0x19,0xF1,0x32,0xB4,0xA9,0x30,\r
+0x32,0x1D,0x92,0x38,0x59,0xBC,0xE3,0xA4,0x1B,0x1C,0x79,0x12,0xBE,0xEF,0x9C,0x00,\r
+0xE2,0x46,0x99,0x73,0xFB,0xB6,0x4F,0x61,0x3B,0x3D,0xC1,0xE0,0x3A,0x14,0xCE,0x51,\r
+0xC4,0x53,0x07,0x1B,0x10,0x34,0x02,0xC3,0xA1,0x6B,0x68,0x5C,0x56,0xC4,0xC9,0x64,\r
+0x36,0xD6,0xAA,0x6A,0x18,0x2A,0x2B,0xD0,0xAE,0xDB,0x53,0x33,0x23,0x6C,0x0D,0x2F,\r
+0x51,0xB7,0xA2,0xCA,0x47,0xFF,0x0F,0xB6,0x1A,0x0A,0xBC,0x4F,0x16,0xC3,0x60,0x4C,\r
+0xF1,0x63,0x8B,0x40,0xD4,0x41,0xAA,0x88,0x8C,0xF0,0xE4,0xFC,0x8A,0xA7,0x83,0xFD,\r
+0x01,0xF7,0x05,0x17,0xB4,0x25,0xDA,0xDC,0xBF,0xD9,0x75,0x10,0x75,0xE2,0xCB,0x75,\r
+0x69,0xB0,0x7F,0x4E,0x35,0xFE,0xE8,0x28,0x86,0x72,0x54,0x73,0xA4,0x7C,0xE8,0x44,\r
+0x34,0xC7,0x89,0x4C,0xD1,0x0E,0x5C,0xAC,0x81,0x4A,0xD0,0xAE,0xED,0x3C,0x54,0x93,\r
+0x03,0xE6,0x26,0x31,0x3B,0xFB,0xB5,0xE1,0xFE,0x9F,0x6D,0xEA,0xE1,0x26,0x4F,0xA5,\r
+0x08,0x0B,0x6C,0x9A,0x8F,0xAC,0xDC,0x25,0x85,0x6E,0x9E,0x13,0x1A,0xD9,0x7B,0x7A,\r
+0x57,0x6D,0xB9,0xBE,0x12,0x17,0x24,0xD2,0x8D,0xE6,0x21,0xA1,0xA9,0x81,0x81,0xEC,\r
+0x79,0x6B,0x39,0xFF,0x93,0xCC,0x16,0x26,0xAF,0xCD,0x96,0x6E,0x6A,0x2C,0xB1,0xF8,\r
+0xF6,0x56,0xE7,0x90,0x48,0x8D,0xF6,0x90,0xBB,0xFD,0x3B,0xAD,0x2E,0x91,0x64,0x87,\r
+0x2E,0x1E,0xF2,0xF2,0xA5,0x14,0xCF,0xE8,0x80,0x5C,0x15,0xF3,0x93,0xDF,0x40,0x83,\r
+0x75,0xB3,0x1F,0x84,0x66,0x0D,0xB7,0x96,0x8E,0xFA,0xEB,0xC1,0x4D,0xB0,0xCF,0xBE,\r
+0x3F,0x2A,0xC3,0xE7,0x1F,0x46,0xFB,0xE5,0xE4,0x09,0x3E,0x1B,0x69,0xC7,0x06,0xC2,\r
+0x5A,0x5A,0xE8,0x61,0x1D,0x65,0xDD,0xF4,0x66,0xC3,0xCB,0x6B,0x2B,0xCC,0x6A,0x4E,\r
+0xCC,0x40,0x19,0x32,0x88,0xC0,0x0C,0x10,0x33,0xB5,0x7E,0x52,0xE6,0x77,0x84,0xC8,\r
+0xFC,0x54,0xDA,0x9F,0x6D,0x47,0x1C,0x7B,0x03,0x80,0x25,0xDE,0x20,0x87,0xBA,0x15,\r
+0xEB,0xBA,0xF0,0xFE,0x1E,0x31,0x5F,0x0A,0x6C,0x41,0x7B,0xE4,0x0C,0x50,0x14,0x08,\r
+0x8C,0xDB,0xF8,0x5E,0xDD,0x28,0x27,0x74,0xBC,0xC5,0xBF,0x70,0x80,0x0B,0x21,0x38,\r
+0x13,0x3D,0x60,0x80,0xD3,0x2D,0x7A,0xBD,0x04,0xB8,0xA1,0x03,0x22,0x8B,0x7F,0xB1,\r
+0xB3,0xE9,0x49,0x0A,0xDE,0x7C,0xA5,0x8A,0x70,0xF9,0x69,0x95,0x24,0x3D,0xC6,0x42,\r
+0x68,0x5F,0x08,0xEA,0x56,0xCE,0x1A,0x82,0xCD,0xB6,0xFC,0x06,0xA5,0x9B,0x9A,0xDA,\r
+0x9B,0x35,0xD2,0x3F,0x16,0x2F,0x76,0x19,0x4F,0x7C,0x09,0x76,0xE9,0x86,0x28,0xC4,\r
+0xC8,0x8B,0x21,0x60,0x05,0x3D,0x45,0x3C,0x59,0x46,0xAB,0x88,0x7E,0xA9,0x1B,0x2E,\r
+0x90,0xD8,0x98,0x94,0x02,0x51,0x95,0x09,0x79,0x67,0x13,0x7A,0xDC,0x29,0x45,0xA7,\r
+0xD6,0x99,0x62,0x8C,0x07,0x1E,0x63,0x2D,0xE7,0x15,0xF4,0x7B,0xC4,0xB6,0xF4,0x47,\r
+0x37,0x39,0xDD,0xCE,0x0E,0x77,0xEE,0xD1,0x5C,0x74,0x20,0x68,0x53,0x99,0xC7,0xAD,\r
+0x70,0x97,0x50,0x72,0x76,0x4B,0x06,0x4D,0xCE,0xAA,0x36,0x66,0xD0,0x33,0x5E,0x91,\r
+0x0F,0x3E,0x00,0x4A,0x92,0xBB,0xB2,0xC9,0x7D,0x43,0x5D,0xC7,0xCA,0xA0,0x2A,0xD5,\r
+0xC0,0x98,0x3F,0x49,0xE3,0xEE,0xD7,0xA9,0x92,0x42,0xF9,0xB0,0x27,0xD6,0x71,0x78,\r
+0x52,0x49,0xF6,0x48,0x3E,0xB4,0x43,0xC5,0x0E,0x3A,0x11,0x8C,0x4E,0x5B,0x78,0x84,\r
+0x82,0x12,0xFD,0x03,0xD8,0x67,0xD1,0x50,0xB9,0xF7,0x34,0x90,0x9E,0x22,0x29,0x2B,\r
+0x27,0xE2,0x9B,0x7F,0x6C,0x30,0xB8,0x94,0x8F,0xEC,0x2E,0x9C,0x59,0x35,0x65,0x68,\r
+0x7E,0x5E,0x55,0x2F,0x2D,0xA6,0x70,0xE0,0x1C,0x24,0xFD,0xCF,0x2C,0x9D,0xA1,0x23,\r
+0xB2,0x06,0x3E,0xAE,0xD0,0x79,0xF8,0x43,0xC0,0x0C,0xC8,0x54,0x04,0xF0,0x73,0x69,\r
+0x53,0xA6,0x81,0xEC,0xEF,0xC8,0xAC,0x71,0x7F,0x49,0x52,0xFA,0x29,0xC0,0xAF,0xEA,\r
+0xBF,0x31,0x6F,0x71,0xCA,0x02,0x46,0x9A,0x7C,0x55,0x98,0x9A,0xF9,0xB9,0xFE,0x45,\r
+0x44,0x48,0xAB,0x8D,0x98,0x86,0xBD,0xCB,0x89,0xC2,0x6F,0x1C,0xC9,0x4B,0x9D,0xEF,\r
+0xFD,0x40,0xCD,0x11,0x43,0x92,0x42,0xB3,0xCA,0x3E,0x9D,0x20,0x40,0x18,0x01,0x29,\r
+0x89,0xD6,0x05,0x50,0xFF,0xC2,0x1B,0x7D,0xBF,0x75,0x59,0x88,0x93,0xD0,0x92,0x7A,\r
+0x4D,0x81,0x6C,0xE4,0x0F,0xBE,0xBE,0x1B,0x78,0x36,0x15,0x9F,0x89,0xCB,0xA4,0x76,\r
+0xD8,0x52,0xFE,0x02,0x54,0xF5,0x6E,0x10,0xA8,0x99,0x44,0xE6,0xAC,0x06,0x13,0x6A,\r
+0xD6,0x60,0x00,0xA4,0x55,0x30,0x78,0x4D,0x2F,0xF2,0xA1,0xF6,0xD2,0xFE,0x94,0xFA,\r
+0x87,0xE4,0xFB,0xF6,0x2C,0xCC,0x83,0x89,0x1F,0x58,0xC2,0x04,0x25,0x69,0x61,0x7C,\r
+0x6C,0x2E,0x11,0xD3,0xBB,0x51,0x6F,0x67,0xCF,0xF7,0x93,0x7D,0xEF,0x75,0x62,0x1C,\r
+0x5E,0x9F,0x45,0xEC,0x1B,0x13,0x8E,0xD8,0xE2,0x74,0x4F,0x4D,0x75,0x30,0xDD,0xB2,\r
+0x30,0xF8,0xDE,0x3B,0x84,0x31,0xEA,0x84,0x22,0x5A,0xC8,0x0B,0x49,0x29,0xFA,0x9D,\r
+0x14,0xB7,0x28,0x3E,0xC5,0x29,0xAC,0x7E,0x3A,0xBA,0x79,0x94,0xAE,0x5B,0x64,0x9C,\r
+0x21,0xDB,0xF8,0x39,0x96,0xDD,0xF4,0xC7,0x98,0x33,0x27,0x14,0x16,0x7A,0x44,0x6E,\r
+0x04,0xC9,0xCB,0x2A,0x28,0x82,0xA7,0x34,0x0F,0xD9,0x14,0x3B,0xB4,0x40,0x52,0x90,\r
+0xB4,0x08,0x6A,0xDF,0x85,0xF4,0xFC,0xD9,0xC1,0x65,0x4D,0x6B,0x44,0x7E,0x8F,0x56,\r
+0xD4,0x5D,0x0F,0xAE,0x23,0xF7,0x33,0xE6,0x2C,0xC8,0x16,0x1D,0xE0,0x7F,0x60,0x21,\r
+0x50,0xAD,0xBB,0x4A,0x8A,0xCF,0x4C,0xB6,0x36,0x8C,0x62,0x8E,0x8B,0x96,0xD3,0x80,\r
+0xCC,0x91,0x53,0x32,0x24,0x73,0x0B,0x3B,0xB5,0xB0,0xFB,0x24,0x9D,0x48,0x41,0x8E,\r
+0x17,0xD7,0xE2,0x22,0xA7,0x43,0xD7,0x16,0xEA,0x15,0x28,0xED,0xC6,0x7D,0x71,0x02,\r
+0x66,0xA1,0xA1,0x51,0x49,0x22,0xC0,0x3C,0xC6,0x08,0x86,0x3A,0x98,0xBC,0x1E,0x38,\r
+0x0D,0x26,0xB1,0xB4,0x5D,0x8F,0xF0,0xFF,0x00,0xD5,0xB8,0xCA,0xC3,0x89,0x2E,0xB4,\r
+0xE9,0x83,0x60,0x21,0x47,0xDC,0x66,0x0E,0xCD,0x53,0x56,0x71,0x76,0xFF,0x7B,0x8D,\r
+0x9F,0x28,0xA7,0x6A,0x42,0x57,0x54,0xEE,0x43,0xC7,0xA6,0x26,0x41,0x8A,0xD0,0xE0,\r
+0x97,0x9A,0x18,0xE2,0xF4,0xB7,0x8F,0xAF,0xC2,0x5F,0xFA,0x80,0xD4,0xC5,0x6D,0x73,\r
+0xA0,0xCB,0xC7,0xEF,0x20,0x3D,0x2F,0x86,0xC4,0xAC,0x43,0x36,0x1C,0x84,0x19,0xE5,\r
+0x69,0xCE,0x9A,0xE1,0xC6,0xE3,0xB0,0x1E,0x66,0x25,0x1D,0xB6,0x02,0xF9,0xA1,0x96,\r
+0x3B,0x2A,0xAB,0xAF,0x76,0x42,0x45,0xDF,0x8C,0xE5,0x8D,0x91,0x2B,0xF1,0xB2,0x88,\r
+0xCF,0xF1,0x99,0x2E,0x70,0x03,0x6B,0x5F,0x4F,0xF1,0xBD,0x3C,0x9C,0xDA,0x90,0x47,\r
+0x38,0x4A,0x61,0xB3,0x16,0x27,0x34,0x8A,0xFC,0x67,0x47,0x64,0x23,0x52,0x98,0xF5,\r
+0xFC,0x1D,0x08,0x07,0xFB,0x8C,0x3F,0xC0,0x07,0xB8,0x73,0x9B,0xD0,0xA3,0xE3,0x0C,\r
+0xF8,0xA0,0x46,0x23,0x37,0x5A,0x03,0x25,0x8F,0xDF,0x3A,0x7A,0x83,0x35,0xF9,0xFD,\r
+0x8B,0xEB,0x0A,0x5A,0xAE,0x39,0x49,0xF9,0xAB,0xA3,0xF3,0x0D,0x56,0xC6,0x93,0x27,\r
+0xF5,0xF2,0x72,0x99,0x03,0x4F,0x12,0x14,0x75,0x9E,0x7C,0x62,0xA8,0x60,0x9D,0x15,\r
+0x8D,0x6B,0x4B,0x74,0x4B,0x2D,0xCA,0x01,0xC8,0x9A,0x58,0x2C,0x86,0xC1,0xA6,0x4B,\r
+0xAB,0x19,0xB2,0x7B,0xAA,0x77,0x6D,0x44,0xF0,0x51,0x5C,0x7E,0x01,0x36,0x07,0xA9,\r
+0xCD,0xCC,0x96,0x24,0xCB,0xD7,0x0A,0x4C,0xC5,0x32,0x31,0xD1,0xEE,0xE7,0xB3,0xD5,\r
+0xDE,0xD2,0xBF,0x2C,0x4E,0xA6,0xF8,0xE1,0xB0,0x79,0xF5,0x79,0xD5,0x57,0xBC,0xBA,\r
+0x7C,0x50,0xF2,0xC7,0x5B,0xCE,0xDE,0x7F,0xDC,0x4C,0xF2,0xA9,0x7C,0x01,0x26,0x06,\r
+0xB1,0xE8,0xE1,0xED,0xDA,0xF1,0x08,0x6F,0x0B,0x8E,0x68,0x81,0x6D,0x76,0x9C,0x48,\r
+0x35,0x18,0x55,0x09,0xAD,0xF3,0x55,0x99,0x42,0x59,0xD4,0xC1,0xE9,0x4E,0x9B,0x95,\r
+0xC1,0xC3,0x67,0x88,0xEA,0xAA,0x3D,0xE3,0x93,0x68,0xF7,0x5F,0xC8,0xE5,0xA2,0xF6,\r
+0x95,0xA7,0x17,0xE8,0x7E,0xFD,0xCD,0x6D,0x6C,0xE0,0xBF,0x1A,0x59,0xCC,0x91,0x1A,\r
+0xDC,0xEF,0xB0,0x26,0x0A,0x35,0x8C,0xFB,0xD3,0x40,0x5E,0x58,0xBA,0xD8,0x81,0x64,\r
+0x1A,0x85,0xD6,0x98,0x48,0xE7,0xD6,0x61,0x65,0x1F,0xAA,0x5D,0xBD,0x71,0xA9,0x24,\r
+0x7A,0xD0,0xB3,0xE9,0x80,0x7F,0xCE,0x39,0x59,0x83,0xD2,0xB5,0x50,0xFD,0x6A,0xAE,\r
+0xAF,0xA4,0xFC,0x5F,0xC0,0xA2,0x9E,0x9E,0xB9,0x86,0xE0,0x3E,0x90,0x1F,0x34,0x45,\r
+0xB9,0x5A,0x5E,0x65,0x00,0x85,0x0E,0x74,0x58,0x1D,0xA0,0x52,0xC4,0x20,0x06,0xF4,\r
+0x88,0x8B,0xC0,0x46,0x2F,0x06,0x9F,0xE9,0xD4,0x2D,0x95,0x09,0xA4,0xA5,0x39,0x17,\r
+0xEB,0xBE,0x6F,0x2B,0x09,0xFF,0x90,0x9B,0x55,0xB5,0xC9,0xAF,0x32,0x25,0x22,0xBB,\r
+0xA8,0x79,0x78,0x67,0xDB,0x34,0x1E,0x32,0x68,0xB7,0xC3,0xA0,0x1E,0xD9,0x6E,0x13,\r
+0x7D,0x0D,0x37,0xD1,0x11,0xA3,0x0C,0x57,0xFE,0xC3,0x82,0x68,0xDF,0xA9,0xE1,0x31,\r
+0xF0,0x12,0xF9,0xAB,0x3C,0x2F,0x97,0xF7,0xDD,0xD2,0x80,0x4E,0xAD,0x94,0xC2,0xA3,\r
+0x7F,0x30,0x38,0xDB,0xE6,0x5B,0x91,0xEC,0x77,0x3A,0xB9,0x6E,0x3F,0x72,0x57,0x70,\r
+0xBD,0xE7,0x10,0x41,0x45,0xD3,0x6C,0x33,0x46,0x0E,0xA8,0x7B,0x0E,0x3C,0x05,0x94,\r
+0x82,0x04,0x70,0xC4,0xB6,0x65,0xD5,0x35,0xF3,0x6B,0xEB,0x95,0x2A,0x63,0x63,0x41,\r
+0x56,0x2D,0xFA,0x64,0x31,0x1B,0x2D,0xA5,0xED,0x78,0xE3,0xBC,0xE5,0x8B,0x3F,0x97,\r
+0xF3,0x72,0x33,0xB7,0xEE,0xE4,0x19,0x5E,0xB1,0xE7,0x87,0x9E,0xEA,0x81,0x3D,0xAA,\r
+0x29,0x69,0x47,0xB1,0x5C,0x4A,0xE6,0xA2,0x7B,0x0C,0xA2,0x74,0x1F,0x4B,0xBF,0xDA,\r
+0x73,0x3F,0xC9,0x77,0xCE,0x5C,0x38,0xAC,0x63,0xEC,0x13,0xEB,0x63,0xEE,0x4F,0xBC,\r
+0xEF,0x03,0x21,0x0F,0xD1,0x84,0x9C,0xBD,0x51,0xE2,0xB5,0x15,0x07,0x0D,0xFE,0x20,\r
+0x6F,0x4E,0xDB,0xCF,0xED,0x2E,0x05,0x3E,0x71,0xC9,0x00,0xD8,0xB9,0x17,0x27,0x5B,\r
+0x2B,0x54,0x48,0xBB,0xCA,0x12,0x1C,0x11,0x0A,0x10,0x1A,0x66,0xE8,0xDC,0x4A,0x5C,\r
+0x1C,0x05,0x97,0xB6,0xE8,0xA5,0x37,0xDE,0xB8,0x18,0x92,0xD9,0xEC,0xBA,0xC4,0x23,\r
+0x72,0x62,0x0C,0x61,0xE4,0x54,0x9B,0xD1,0x37,0x12,0x10,0x69,0xDA,0x5D,0xBE,0x87,\r
+0x02,0x49,0x8A,0x04,0x46,0x19,0x70,0x53,0xA6,0x0B,0x9A,0xF0,0x87,0x53,0x77,0x82,\r
+0xA5,0x2B,0x4C,0xDD,0x2A,0x8D,0xAD,0x09,0x3D,0xD7,0xB2,0xC5,0xB8,0x85,0xF6,0x92,\r
+0x62,0x2C,0x74,0x6B,0xBD,0x89,0xC8,0xA4,0x13,0x72,0xEA,0xA2,0xED,0x57,0xE1,0x86,\r
+0xFE,0x48,0x97,0xDA,0x8F,0x2F,0xC6,0x5A,0xCB,0x63,0xF5,0x06,0x95,0xCB,0xDD,0x6E,\r
+0x85,0xF6,0x8D,0x03,0xAF,0x9A,0xED,0x97,0x61,0xE0,0xC9,0x9F,0x55,0x4B,0x90,0x94,\r
+0x82,0xA7,0x46,0x6E,0xD4,0x80,0x34,0x29,0x5D,0xCF,0xEE,0x86,0x21,0x0F,0x8A,0x07,\r
+0xFD,0xA3,0x20,0xE0,0x66,0x08,0x3C,0x96,0xEA,0x00,0xCC,0xAD,0x2C,0x38,0xDB,0xD8,\r
+0x59,0x95,0xC7,0x9A,0xE9,0x8A,0x36,0x26,0x1B,0x0F,0xC0,0x01,0xFB,0x56,0xBC,0x43,\r
+0x5C,0xC8,0xC9,0x53,0x78,0x00,0x2F,0xBF,0x56,0x8D,0x62,0xEA,0x9E,0x26,0x97,0xC5,\r
+0x4C,0xF7,0x1F,0xD2,0xE3,0x28,0xF3,0x8A,0xC2,0xD7,0x0E,0x37,0x47,0x81,0xF5,0x03,\r
+0xEF,0x90,0x33,0xC5,0x20,0x18,0xE7,0x27,0xEC,0x89,0x35,0x96,0x4B,0x59,0xD3,0x78,\r
+0x7D,0xE2,0x0E,0xE6,0x03,0x1A,0xF6,0x01,0x60,0x29,0x18,0x0D,0x31,0xD4,0xCC,0xB6,\r
+0xAE,0x70,0xE8,0x73,0xA9,0x23,0x1E,0x21,0x14,0x32,0xC2,0x0B,0x41,0x5B,0xEE,0x77,\r
+0x4A,0x41,0xA6,0x21,0x98,0x32,0x2A,0x34,0x9C,0xED,0x61,0xF6,0xDB,0x99,0x39,0x5F,\r
+0x9F,0x65,0xF9,0x47,0x2D,0x71,0x4F,0xDA,0x2A,0xEB,0x92,0x4F,0x5E,0xA6,0xDA,0x3F,\r
+0x49,0xAA,0x11,0x1B,0x33,0x79,0x5C,0xF3,0x54,0x7B,0x15,0xB7,0xFE,0x72,0xF3,0xB5,\r
+0x74,0xA5,0x1B,0x19,0x6F,0x1D,0xC3,0xD1,0xAB,0x80,0xCA,0x83,0x2D,0xD7,0xAC,0x7C,\r
+0x04,0x50,0xD1,0x9B,0xA5,0x38,0x28,0x3B,0x05,0x7C,0x78,0x7C,0x2B,0x0D,0xB7,0x08,\r
+0xBA,0xF5,0x42,0xA5,0x0D,0xC4,0x64,0x17,0x7A,0x25,0x2E,0x16,0xBC,0xF8,0x31,0xFF,\r
+0xFA,0xF2,0xEB,0x8D,0xBB,0x30,0x3B,0x12,0xA8,0xBF,0x6C,0x4C,0x02,0x3E,0x5B,0x99,\r
+0x70,0x1F,0x67,0x4E,0x87,0x48,0xA7,0xFA,0x30,0xE7,0xA4,0x54,0x73,0x5E,0x0E,0xFC,\r
+0x9B,0xDF,0x85,0x10,0x67,0x7A,0xA2,0x71,0xED,0x40,0xE4,0x04,0xC5,0x8B,0x7A,0xB3,\r
+0x2A,0x8B,0xBA,0x22,0x86,0x3A,0x39,0x1D,0xCA,0xAA,0x24,0x94,0xFF,0x9D,0x84,0x11,\r
+0xC9,0xEB,0x3F,0x1D,0x0A,0x0F,0x09,0x46,0x49,0x37,0x0B,0x05,0xDC,0xAC,0x55,0x8F,\r
+0x65,0x7D,0xBF,0x06,0x8B,0x53,0x91,0xE0,0xB0,0x45,0x2D,0x0A,0xB1,0xCF,0x60,0x20,\r
+0xCD,0x51,0x43,0x4A,0xB6,0x59,0x93,0xEF,0x7B,0xEC,0xFF,0x84,0xFD,0x8C,0xA7,0x37,\r
+0x77,0x4E,0xAC,0x23,0x2E,0xC6,0x75,0x31,0x38,0x9A,0x8E,0xF7,0xE1,0x8F,0xC7,0xFD,\r
+0x0B,0xA1,0x7D,0x97,0x1B,0xAB,0x16,0x9E,0x98,0x92,0xEF,0x90,0xBE,0xE9,0x12,0xD9,\r
+0x64,0x9A,0xCD,0x98,0x6E,0x6F,0x5D,0x36,0xE9,0x3F,0x6A,0x62,0xB6,0xFA,0x0C,0xF0,\r
+0xD8,0x33,0x9B,0x02,0x02,0x68,0x68,0xE6,0x81,0xA1,0x7F,0x44,0x5D,0x58,0x8E,0xBD,\r
+0x96,0x22,0xEC,0xB8,0xD5,0xF2,0xAA,0xCE,0xBE,0xB1,0xFE,0x92,0x77,0x95,0x36,0xAE,\r
+0x4B,0xA6,0xD4,0xBF,0x9C,0x4E,0x7D,0x8E,0xBC,0x47,0x89,0xCF,0x93,0x11,0xC6,0x1A,\r
+0x28,0x87,0x7F,0x86,0x4D,0x6D,0x4C,0x10,0xE5,0x3D,0xCE,0xA7,0x12,0xE5,0x1D,0x28,\r
+0xC4,0x16,0x56,0xB5,0xB2,0x25,0xC4,0x55,0xB2,0xB3,0x5A,0x57,0x72,0xB1,0x79,0x58,\r
+0x56,0x64,0x6B,0x96,0x52,0x17,0xC1,0xDE,0x0D,0x01,0x52,0xDF,0x35,0x1F,0xF4,0xE4,\r
+0x99,0xD3,0x40,0xB4,0x91,0x27,0xD5,0x73,0x4C,0x81,0x54,0xF1,0xB4,0xEB,0x2F,0xD6,\r
+0x2B,0x6C,0xC8,0xBC,0x22,0xDD,0x43,0x2B,0x68,0x54,0x32,0xAE,0x29,0x1C,0x94,0x2E,\r
+0xD2,0x9F,0x39,0xC7,0xD9,0xE9,0x9C,0xD4,0xC3,0x1E,0xDF,0xA5,0x9D,0xD8,0xC3,0x47,\r
+0x23,0xCC,0xAF,0xDD,0x51,0xA0,0xFB,0x35,0x15,0xFB,0x13,0x99,0xB9,0xDC,0x7E,0x09,\r
+0xF9,0x19,0x5C,0xB7,0x75,0x69,0x87,0x42,0x76,0x27,0x8A,0xD3,0xC0,0xAF,0x35,0x45,\r
+0xCB,0xE7,0xFA,0xB9,0xAB,0xE6,0xBA,0x2D,0x00,0xCA,0x27,0x88,0x03,0xD1,0x2C,0x3D,\r
+0x95,0xC9,0x5B,0x82,0x16,0xC2,0xBE,0x63,0x62,0xDF,0x6F,0x50,0xEE,0xA9,0xB5,0x04,\r
+0xDC,0x89,0xE7,0x55,0x34,0xB2,0x31,0xA2,0x0C,0xC8,0x83,0x4D,0xB8,0x33,0x09,0xAD,\r
+0xE6,0xD7,0x26,0x3A,0x18,0x1C,0x2C,0x75,0x6D,0xE2,0x6D,0x5A,0xCB,0x42,0x7F,0xEE,\r
+0x6A,0x8C,0x13,0x0A,0xDE,0x22,0xF1,0x85,0xC0,0x21,0x79,0x6A,0x2E,0x29,0xF8,0xFE,\r
+0x53,0x39,0x65,0x5F,0x13,0xCC,0x77,0x3E,0x93,0xD0,0x63,0xFC,0xBB,0xCD,0x5D,0x2F,\r
+0x3E,0x0E,0x10,0xF4,0x9D,0x3C,0xE3,0x69,0x18,0x30,0x66,0xCE,0xF0,0xBB,0xF6,0xE8,\r
+0xAD,0x9B,0x5F,0x49,0x1C,0x60,0x7B,0xCF,0xF8,0x71,0xD0,0x15,0x78,0xB3,0x44,0x57,\r
+0x3B,0x53,0x1E,0x3D,0x1A,0xD9,0x88,0x79,0x72,0x58,0x04,0xB5,0x75,0x84,0x15,0x88,\r
+0x48,0x4D,0x63,0x85,0xB8,0x87,0x01,0xF9,0xAC,0xC0,0xE2,0x2A,0x7B,0x4D,0x10,0xD5,\r
+0x43,0x06,0xB3,0xDE,0xFC,0x52,0x7E,0x44,0x7E,0x5A,0xA0,0x70,0xA1,0x14,0x26,0x91,\r
+0x42,0xE1,0xC1,0x40,0xE4,0xE3,0x9E,0xDB,0x66,0xA0,0xE1,0x36,0xA4,0x30,0x69,0x67,\r
+0xB0,0x59,0xE0,0x60,0x46,0xBD,0x17,0x5B,0x92,0x19,0xB2,0x6E,0xA3,0x05,0x05,0xB7,\r
+0x4E,0xFB,0xDA,0x76,0xD1,0x8E,0xFD,0x74,0xCD,0xEA,0x0C,0x3D,0xB0,0x20,0x17,0x84,\r
+0x88,0x0B,0xE4,0xAB,0x1F,0xD7,0x41,0x24,0xBB,0x07,0xA1,0x66,0x45,0x90,0xD6,0x25,\r
+0xFF,0xAF,0xE5,0x44,0xF2,0x8C,0xEC,0x52,0xB8,0x38,0x07,0xA9,0x34,0xF0,0x83,0x40,\r
+0x5E,0xC4,0x0C,0xF7,0xE8,0xF8,0xA8,0xC1,0x80,0x68,0xAE,0xD6,0xD0,0x74,0x73,0xF4,\r
+0x50,0xD2,0xD2,0x65,0x6B,0x61,0x94,0x6B,0x3C,0xE5,0x00,0x91,0xA8,0xE8,0x4F,0x1C,\r
+0xF7,0x0F,0x82,0x25,0x14,0x07,0x1A,0x6F,0xDD,0x6D,0x67,0xD8,0x8B,0xD9,0x9E,0x82,\r
+0xA4,0xDC,0x4A,0xB6,0x61,0xC3,0x51,0xC7,0x8D,0xA3,0xDB,0x81,0xCA,0xAD,0x08,0x4A,\r
+0xA8,0xC6,0x51,0x80,0xA6,0x8F,0x12,0xD0,0xF1,0xC5,0x2B,0x24,0x7E,0x69,0x5F,0x23,\r
+0xB4,0xE3,0x9C,0x37,0x76,0xDE,0xBD,0xA9,0xBA,0xCE,0x70,0xF4,0x98,0xFC,0x8C,0xB1,\r
+0x24,0x9D,0x64,0xB0,0xF1,0x3B,0xD6,0xB9,0x7F,0x93,0x71,0xE2,0x3E,0xF2,0xBE,0x4F,\r
+0xA2,0x6A,0xF3,0x45,0xC1,0x58,0x7C,0x4B,0x83,0x57,0x08,0x19,0x6C,0xA3,0x3A,0xB4,\r
+0xC2,0xA0,0xEF,0x46,0x11,0x09,0xD3,0x32,0x1E,0xB9,0x9F,0xF5,0x49,0x48,0xF0,0x5E,\r
+0x6C,0x3A,0xAA,0xF9,0x3C,0xD5,0x50,0x02,0x5C,0x06,0x3F,0x14,0x76,0x7A,0x41,0x0A,\r
+0x34,0xC2,0x8B,0x5B,0x9E,0x9F,0xDE,0x14,0x5E,0x4C,0xB3,0xB7,0x00,0x51,0xCA,0x9F,\r
+0x8A,0x04,0xE1,0x3D,0xC4,0x05,0x0C,0x56,0x01,0xB8,0xB6,0x01,0x40,0x56,0x63,0xB7,\r
+0xFB,0x64,0xB4,0x58,0xDC,0x5D,0x94,0x9E,0x9D,0xC0,0x5E,0x3D,0xCA,0xBB,0xEF,0x74,\r
+0x4D,0xB1,0xC0,0x17,0x8C,0xFA,0x49,0xDE,0x98,0xF2,0xD5,0xDD,0x21,0x7B,0x0D,0x2A,\r
+0x77,0xA7,0x3E,0xB5,0x1C,0x10,0x6E,0x1E,0x03,0xB2,0xB9,0x3C,0x90,0x2F,0x32,0x18,\r
+0x54,0x96,0xEF,0x2B,0x8D,0x8D,0xED,0x31,0x33,0x87,0xE2,0xB0,0x73,0x4F,0xB7,0x27,\r
+0x39,0xF5,0xDA,0x84,0x82,0xFF,0x14,0x17,0xAB,0xDB,0x44,0x31,0xDF,0xD9,0x37,0x3C,\r
+0x75,0xB6,0x1D,0x93,0x0C,0x56,0xDF,0xC5,0xA9,0xD1,0x4B,0x0C,0x77,0xF5,0xCB,0x70,\r
+0x69,0xB5,0x7D,0x59,0x7F,0x20,0x9C,0xB4,0x4F,0x4E,0x95,0x94,0xCD,0xEA,0x24,0x19,\r
+0x36,0xD3,0xA8,0x7D,0x18,0x28,0x3C,0xD5,0x2C,0x23,0x3A,0xA1,0xB1,0x05,0xF5,0xAD,\r
+0x3E,0xC0,0xB6,0x54,0xEA,0x85,0x4D,0x50,0x67,0xE7,0x92,0xD4,0xDE,0x3E,0x45,0xA2,\r
+0xD5,0x62,0x34,0x19,0xCC,0x1B,0x25,0x45,0x52,0xE0,0x42,0xB8,0x62,0x97,0x13,0x38,\r
+0xFF,0xAF,0x8C,0x0A,0x1A,0x0B,0x1A,0xC4,0x90,0x7A,0x6A,0x6F,0x2C,0x86,0x64,0x82,\r
+0x1B,0x2B,0x7C,0xBE,0x47,0xFD,0x18,0xB3,0x47,0xC6,0x2A,0x26,0xF1,0x02,0x5C,0x85,\r
+0x9A,0xDF,0xA7,0x8C,0x2F,0x87,0x41,0xF4,0x76,0xE5,0xB4,0xF7,0x92,0x23,0xF7,0xBC,\r
+0xFA,0x8B,0xC3,0xFC,0xDF,0x09,0x16,0x60,0xFE,0xAD,0xF1,0x08,0x7E,0xB2,0xDE,0x8F,\r
+0x65,0x6D,0x5B,0x22,0x2A,0xC8,0xB7,0xD0,0xF2,0x01,0x00,0x07,0xD8,0x88,0xFC,0x51,\r
+0x1D,0xF1,0x67,0xCA,0x8E,0xD9,0x6F,0xCF,0xFC,0xA7,0xFE,0x35,0x44,0xEC,0x1F,0xE0,\r
+0xDD,0x71,0x2A,0x30,0x17,0x5A,0xC5,0xF3,0xD7,0x12,0x33,0x15,0x3F,0x52,0x05,0x39,\r
+0xA9,0x35,0x30,0xA3,0x0E,0x75,0xF9,0xD4,0x0E,0x08,0x8D,0x6E,0x38,0x03,0xCE,0x54,\r
+0xA4,0x02,0x61,0x7C,0x25,0xBA,0x4E,0xF6,0x06,0x80,0x32,0xDC,0x47,0x07,0xA8,0xDA,\r
+0x73,0x6C,0x06,0xE7,0x89,0xB5,0xBF,0xFA,0x0C,0x02,0x82,0x53,0xE3,0x31,0x4F,0xA0,\r
+0x16,0x1C,0x2D,0x61,0x62,0x37,0xF2,0x58,0x15,0x88,0x1B,0xC2,0xE6,0x6C,0x41,0x69,\r
+0xCF,0xBB,0x4F,0xA7,0xBF,0x6D,0x66,0x34,0xC9,0xA0,0x2E,0x59,0xF6,0x53,0x97,0xE8,\r
+0xC3,0x63,0x69,0xDC,0x1E,0x33,0x48,0x0F,0xDD,0x90,0x83,0x9A,0x55,0x34,0xBB,0xFF,\r
+0xB9,0xEE,0x76,0x12,0x85,0x93,0xC4,0x22,0xCC,0x92,0xA5,0xB9,0xC7,0x46,0x86,0xDC,\r
+0xC9,0x61,0x54,0xD3,0x83,0x88,0xB0,0xF8,0x24,0xAB,0x85,0x13,0x14,0xD4,0x60,0x49,\r
+0x53,0xA3,0x83,0xFB,0x7E,0x57,0x38,0x5B,0x10,0xBA,0x90,0x22,0xF0,0xE5,0x2E,0x1B,\r
+0xD6,0x9C,0x60,0x9B,0xC7,0x51,0x8E,0xA8,0x75,0xF9,0x7E,0x97,0x25,0xC1,0x71,0x7D,\r
+0x76,0x48,0x49,0x11,0x3F,0xC1,0xF0,0x2F,0x66,0xF1,0x57,0x89,0xF3,0x0E,0x99,0x21,\r
+0xA5,0xED,0x16,0xD8,0x0B,0x3A,0x0F,0xF0,0xF9,0x95,0x75,0xD5,0xCE,0x01,0x93,0x23,\r
+0xA3,0x37,0x0D,0xAC,0xF4,0xC6,0xA1,0x42,0x12,0xB0,0x9F,0x1F,0xBE,0xF4,0x59,0xA1,\r
+0x29,0x2E,0x9C,0x35,0xF8,0xE0,0xDA,0x9A,0x44,0xDA,0xE0,0x46,0xF9,0xA2,0x3B,0xE4,\r
+0x2C,0x0A,0xD3,0xC3,0xBE,0x1A,0xC2,0xDB,0xA4,0x6B,0x7F,0x5E,0xF8,0x45,0x49,0x7A,\r
+0x2B,0x3F,0xBF,0x13,0xE6,0xA3,0x36,0x88,0x2D,0x35,0xFF,0xFC,0x0A,0xFD,0x68,0x5A,\r
+0x38,0x1A,0xAD,0x20,0xB5,0x50,0x69,0x36,0xC7,0x06,0xD0,0x6B,0xF4,0x5F,0x52,0x4C,\r
+0xCD,0xAA,0x6C,0x81,0xEE,0xBD,0x1F,0x9B,0x7B,0x5F,0x80,0xA5,0x32,0xAF,0x6C,0x91,\r
+0xBC,0xCA,0x39,0xE4,0x21,0x82,0x1C,0x3D,0xD6,0x04,0xF6,0x48,0x45,0x0B,0x6D,0x7E,\r
+0x58,0x4E,0xC9,0x50,0x5E,0xD2,0x24,0x94,0x92,0x70,0x65,0x52,0xE4,0x60,0x84,0xCD,\r
+0x20,0xD2,0xF5,0xB8,0x19,0x5F,0x98,0x3A,0xAE,0xE9,0xCF,0xD1,0xEA,0x76,0x5A,0x5F,\r
+0x03,0xE3,0x24,0x26,0x50,0xD7,0x79,0x5D,0x20,0x8F,0xCB,0xAE,0x4D,0xAB,0x0A,0x1F,\r
+0x42,0x97,0xB2,0xEE,0x09,0x19,0x29,0xE1,0x6B,0x4B,0x63,0xDB,0x1E,0x78,0xC2,0x8C,\r
+0xF6,0x53,0xE5,0x87,0xAC,0x7F,0x55,0x11,0x28,0x07,0x74,0x1C,0x12,0x62,0xD9,0xBA,\r
+0x10,0xC6,0x36,0x15,0x7C,0x74,0x1E,0x4A,0x87,0x56,0x0D,0xCC,0x0E,0x47,0x14,0x0D,\r
+0xB6,0xC8,0x04,0xEB,0x6A,0x29,0xDB,0x4B,0xEC,0xB3,0x1D,0x4B,0x9E,0x39,0xEC,0x8A,\r
+0xE4,0x99,0x80,0x10,0x91,0xED,0x27,0x32,0x46,0xD0,0xEF,0x7B,0x18,0xCE,0x7B,0x7F,\r
+0xC1,0x72,0x4A,0xFA,0x7D,0x03,0xBA,0xA5,0xE9,0x81,0x96,0xAB,0x78,0x04,0x67,0x7C,\r
+0xFE,0x40,0xFB,0xAE,0x9C,0xBC,0xF8,0x05,0x6A,0x5D,0xA6,0x86,0xD6,0x9E,0x22,0xC3,\r
+0xBD,0x25,0x4E,0x40,0x57,0xBB,0xA9,0x68,0xFB,0x9F,0x7A,0xE8,0xEC,0xC0,0xE3,0xAC,\r
+0x3C,0xD1,0x95,0x72,0x79,0x3B,0xE8,0x6E,0xEF,0xAF,0xD7,0x2B,0x23,0x77,0xC8,0x8E,\r
+0xA1,0x26,0x2E,0x8A,0x26,0xEE,0xCC,0x08,0x79,0x55,0x8F,0x98,0x91,0xC8,0x40,0x86,\r
+0x15,0xE2,0x79,0xE3,0x2D,0xA4,0x67,0xE5,0xA6,0x61,0x70,0x63,0x68,0x3B,0xB1,0xFD,\r
+0x31,0xE6,0xC4,0xAD,0x11,0x41,0xB1,0x29,0xC1,0x28,0x91,0xEB,0x99,0x68,0x27,0xE7,\r
+0x48,0x95,0x8F,0xE1,0x5B,0x9D,0xD2,0xB0,0xBD,0xE1,0xE6,0xCF,0x43,0xBD,0xD4,0x8D,\r
+0x8B,0xEB,0x96,0x99,0x00,0x70,0xA4,0x1D,0x80,0x6E,0x89,0x11,0x71,0x43,0x72,0x83,\r
+0x66,0x93,0x0F,0xA0,0xD8,0x65,0xC6,0x55,0x84,0x4A,0xC7,0xAC,0x2F,0x6D,0xD3,0xB8,\r
+0x30,0x09,0xB3,0x09,0xC5,0x72,0xA8,0xB9,0x0B,0x3A,0x06,0x8E,0x66,0x2D,0x6F,0x6F,\r
+0x43,0x78,0xC5,0x4A,0xD2,0x58,0xC9,0x57,0x16,0x94,0xD1,0xA2,0x5C,0x73,0xAE,0x00,\r
+0xA6,0x13,0x42,0x5A,0xE2,0x9B,0x64,0x43,0xCB,0xAA,0x21,0x64,0xD0,0x28,0x9B,0x30,\r
+0x33,0xF7,0xE7,0x8B,0x74,0x6A,0x37,0x59,0x4D,0x44,0x9A,0xA9,0xE9,0x9D,0xED,0x65,\r
+0x78,0x81,0x4C,0x4C,0x46,0x8A,0xBC,0x5C,0xD9,0xB4,0xCD,0x27,0x84,0xAA,0x98,0xCE,\r
+0xF0,0x89,0xFE,0xF3,0x9D,0xCB,0x5C,0xEA,0x41,0xE8,0x6B,0xA6,0x17,0x3F,0xD7,0x73,\r
+0xFD,0xBE,0xAF,0x2C,0x3D,0xE2,0xD6,0x3E,0xB2,0x51,0xDD,0xA0,0x81,0xF7,0x96,0x07,\r
+0xF3,0x77,0xAA,0x71,0xA2,0x7A,0x08,0xD8,0x3B,0x0F,0x5D,0x02,0xF2,0xE9,0xEB,0xBF,\r
+0x85,0x46,0x79,0x74,0x84,0xA8,0xBD,0xD4,0x01,0x39,0xF9,0xD7,0x09,0x5F,0x03,0x23,\r
+0x73,0x43,0x5D,0x3B,0x9C,0xE9,0x47,0x92,0xB0,0xA6,0xE1,0x37,0x97,0x5E,0xE4,0x51,\r
+0x66,0x52,0x69,0x0A,0x2F,0x45,0xF7,0xDF,0x6C,0x96,0xCC,0xB4,0x3F,0x53,0x19,0x38,\r
+0x55,0x41,0x4C,0x18,0x70,0xFB,0x04,0x8C,0x5F,0xB9,0x5B,0x5E,0x29,0xAD,0xBB,0x02,\r
+0xA2,0xD6,0xB9,0x9E,0x5A,0x4E,0x25,0x4B,0x6E,0xB0,0xEF,0xA5,0x0D,0xE2,0x4D,0x07,\r
+0xC7,0xA7,0xD9,0xCB,0x59,0xE8,0x1A,0x84,0x35,0xC6,0x02,0x08,0xE2,0x95,0xE9,0x06,\r
+0xFE,0x4A,0xA1,0x52,0xDE,0x49,0xF8,0x73,0x83,0x89,0x76,0xDD,0x2C,0x4D,0x30,0x30,\r
+0x16,0x32,0x3D,0x6E,0x62,0xE7,0x75,0x34,0x1A,0x23,0xF5,0xE1,0xBE,0x43,0x26,0xEE,\r
+0xA8,0x28,0xE4,0x15,0x6F,0x92,0xBE,0x63,0x21,0x25,0x7C,0x18,0xFF,0xB9,0x3E,0xA8,\r
+0x60,0x69,0x90,0x83,0x3F,0x2E,0x70,0x3A,0xE5,0x8D,0x09,0x53,0x6C,0xEA,0xED,0x60,\r
+0x53,0x7A,0xB5,0x91,0x58,0x39,0xD3,0x16,0x3C,0x4B,0x6B,0xF4,0x7E,0xA9,0x01,0x7E,\r
+0xC1,0x9C,0x20,0x42,0x13,0x62,0xD8,0xC6,0x6D,0x32,0xBB,0x5B,0xC9,0xB5,0x24,0xB3,\r
+0x56,0x8E,0xEA,0x27,0x61,0x41,0x4A,0xFB,0xBA,0xA9,0xDC,0x35,0x0C,0xBF,0x88,0x11,\r
+0xAD,0xDC,0xBB,0xA3,0x9D,0x38,0x8E,0x00,0xD9,0x5B,0xEC,0x9F,0xF9,0x39,0x7F,0x86,\r
+0xE8,0x94,0x33,0x5C,0xBE,0x76,0x1B,0xF6,0x37,0xE0,0x21,0x19,0xB0,0x71,0xD8,0x48,\r
+0xBC,0xAB,0x01,0xED,0xFC,0xD6,0xA4,0x17,0xEB,0xD0,0x0C,0x9A,0x0F,0xDF,0x42,0x0D,\r
+0x34,0x56,0xA2,0x32,0xAE,0x1D,0x9C,0x13,0xC5,0x91,0x8C,0x9C,0xFD,0x84,0x31,0xA2,\r
+0x06,0xD7,0x56,0xE9,0xEF,0x1B,0x1C,0x3D,0xF5,0x3C,0x4F,0x88,0xDF,0x4B,0x86,0x89,\r
+0xA5,0x7F,0x91,0xDE,0x21,0x96,0x03,0x47,0x0B,0x36,0xC4,0xD5,0x8E,0xCF,0x7D,0xDB,\r
+0xCC,0xCB,0x55,0x89,0x8A,0x7B,0x49,0x4C,0x3F,0xC9,0x3F,0x0A,0xF5,0x36,0x8E,0x2A,\r
+0xA7,0x22,0xE6,0x28,0x94,0xC3,0x3A,0x31,0x8B,0xA0,0x68,0xCE,0xFE,0xE4,0xFB,0xBE,\r
+0xEB,0x5B,0x95,0x63,0xF7,0x5A,0xE6,0x7B,0x42,0xD7,0x4C,0xB2,0x94,0x3E,0x2E,0x4D,\r
+0xE6,0x0C,0xE0,0xA8,0x80,0x26,0xC2,0xB2,0x20,0x81,0x0B,0xF7,0xCB,0x88,0x2B,0xB9,\r
+0xDF,0xE1,0x98,0x31,0xE2,0x6E,0xD7,0x6A,0x04,0xCF,0xB6,0xF3,0xF0,0xD6,0x05,0x18,\r
+0x0C,0x29,0x0B,0x62,0x8F,0x24,0xFF,0xB8,0xFE,0x97,0x05,0x65,0x73,0xFB,0x35,0xC4,\r
+0x4F,0x5A,0x7A,0x14,0xEE,0xCA,0xD5,0xAF,0x50,0x40,0x29,0x78,0x1C,0xC1,0x6B,0x05,\r
+0xCD,0x59,0x84,0x40,0x71,0x2A,0xCD,0x1E,0x2E,0xDC,0x0E,0x3E,0x16,0x4E,0xDB,0x87,\r
+0x1C,0xCC,0x60,0xE5,0x22,0x30,0x3C,0x88,0xC0,0x67,0xC3,0xB8,0x43,0x77,0x6E,0xF1,\r
+0xB5,0x9A,0xFA,0x59,0x1A,0x99,0x6C,0xF7,0x82,0x2D,0x01,0x32,0x00,0xB0,0x79,0xBD,\r
+0x0A,0x12,0xF2,0xEB,0xFA,0x2F,0x2D,0x2C,0xDE,0x8B,0x80,0xAA,0xBD,0x23,0xEC,0xF2,\r
+0x37,0x99,0x04,0x0D,0x4E,0xAB,0xDD,0xC8,0x65,0x1B,0xA5,0x48,0xCC,0x55,0xAF,0x81,\r
+0x6A,0x97,0xCD,0x08,0x90,0x4D,0x45,0x57,0x3B,0x9B,0x07,0xC1,0x74,0x26,0xB1,0xFC,\r
+0x7B,0xE0,0x77,0x46,0x4A,0x25,0xA2,0xAE,0xD2,0xF0,0xA6,0x72,0xC4,0xE7,0x10,0x09,\r
+0x1D,0x5E,0xB1,0x2C,0x98,0x67,0x38,0xF4,0x26,0xF5,0x10,0x2D,0xEC,0xA7,0x17,0xA0,\r
+0x51,0x27,0xC2,0x67,0x0F,0xAD,0x5D,0xE6,0x98,0x93,0x7A,0xEB,0x59,0x86,0x3D,0x67,\r
+0x1E,0x91,0x17,0x13,0xD2,0xED,0xFA,0xB6,0xAA,0x18,0x9A,0xEE,0x07,0x6D,0xFD,0x85,\r
+0x6D,0x3E,0xE5,0x48,0xAB,0x42,0x2A,0xE7,0xED,0xA4,0x17,0x40,0x54,0xD4,0x09,0xDD,\r
+0xF3,0x1D,0xD4,0x99,0x28,0x6D,0xB7,0x76,0xD8,0xFF,0x9B,0x70,0x6B,0x37,0x69,0x58,\r
+0xD5,0x1F,0xC5,0xBA,0x99,0xB6,0xF1,0x66,0xBB,0x0D,0xAB,0xDA,0x03,0xD0,0xB3,0xA1,\r
+0xC2,0x53,0x86,0x7D,0x52,0x64,0x58,0xE8,0xB1,0x02,0x96,0xD8,0x4F,0x78,0x9F,0x5D,\r
+0x3B,0x5C,0xA0,0x0F,0x7A,0xA6,0x8F,0x72,0x49,0x7C,0x06,0x5F,0xDE,0x16,0x43,0x9F,\r
+0x1F,0x03,0xC6,0xDA,0xDA,0xC7,0x87,0x15,0x24,0xD3,0x33,0x3C,0x6A,0x6A,0xAC,0x4E,\r
+0x5F,0xBF,0x11,0x93,0x63,0x36,0xBC,0xA6,0x8A,0x04,0x1F,0x21,0x4B,0xC5,0xD1,0x79,\r
+0x12,0x54,0xB3,0x11,0x0B,0x23,0x22,0x80,0x8D,0xD4,0x73,0x14,0xD1,0x79,0x78,0x2F,\r
+0xF8,0x71,0x58,0xDB,0x5E,0xC0,0x5A,0x2D,0xAC,0x6C,0x81,0x34,0xF6,0x56,0x44,0x36,\r
+0x4C,0x95,0xDC,0x2B,0x5C,0xB7,0xAC,0x70,0x10,0x2C,0xC8,0xE3,0xF1,0x8B,0xC0,0x0E,\r
+0xBA,0x90,0xF8,0x64,0x50,0x13,0xAE,0xB5,0xC7,0xB7,0xAF,0x8D,0xFC,0xD9,0xF4,0xB4,\r
+0xCA,0xF0,0xAC,0x00,0x07,0x87,0x20,0x45,0x8F,0xF2,0x50,0x05,0xCF,0x35,0x65,0x9D,\r
+0x8C,0x77,0x82,0xC0,0x29,0xBC,0x7E,0xE4,0xCD,0xB8,0x92,0x8F,0x93,0xE3,0xAA,0x75,\r
+0x64,0x0F,0x1E,0xFC,0xF1,0xA3,0x6F,0x40,0x6B,0x46,0xA0,0x81,0x22,0x7F,0xCE,0x96,\r
+0xE5,0xC3,0x46,0x97,0xBF,0xA7,0xD2,0x64,0x62,0xCB,0xC9,0x7D,0x27,0x9F,0x45,0xA4,\r
+0x76,0xB7,0x02,0x8D,0x83,0x80,0xFD,0x7D,0x78,0x75,0xB2,0xA4,0x4A,0x98,0x14,0x6F,\r
+0xA1,0x19,0x1F,0xA1,0xF9,0x89,0x12,0xE3,0x68,0xC4,0xF4,0x7F,0xD3,0x44,0x77,0x25,\r
+0x3A,0xCE,0x71,0xC6,0x08,0x85,0x1D,0x4F,0xEA,0x74,0x7B,0x75,0xA9,0xE0,0x41,0xC2,\r
+0xE1,0xA5,0xC8,0xE8,0x20,0x47,0xCA,0xD5,0xCA,0x68,0xFE,0xBA,0x9B,0x51,0x15,0xFD,\r
+0x27,0x7C,0x6F,0x8A,0xB4,0x2B,0x90,0x08,0xE2,0x5D,0x65,0x66,0x1A,0x41,0x2A,0x2B,\r
+0x54,0xD3,0x9D,0xD1,0x82,0x51,0x34,0xEF,0xF8,0xE3,0x1E,0xBF,0xAF,0x60,0x00,0xEC,\r
+0x9A,0xA9,0x10,0xCE,0x0E,0x7C,0x94,0x74,0xFA,0xC5,0x3D,0xAE,0x8C,0xF2,0x72,0xD1,\r
+0xBD,0x39,0xD0,0x24,0x7E,0x28,0xF0,0x14,0xD0,0xD6,0x85,0x63,0x68,0x57,0xA3,0x44,\r
+0x95,0xA3,0x12,0xF3,0xF6,0x8B,0x2F,0xE9,0xC1,0xC3,0xB4,0x57,0x3A,0xB3,0x92,0x0A,\r
+0x57,0x1C,0x3B,0xEE,0xB6,0x5C,0x66,0x55,0x9B,0x11,0x2E,0x15,0x52,0x54,0x48,0xF3,\r
+0xDD,0xBC,0xEF,0xC7,0xC8,0xDB,0xF6,0xAD,0x93,0x38,0x30,0x06,0x0E,0x82,0x87,0x1B,\r
+0xEA,0xC9,0x44,0xAA,0xE7,0x31,0x61,0x9E,0xDA,0xD9,0xB8,0x61,0xD2,0x19,0xB2,0x33,\r
+0x9E,0xCF,0x9E,0xB1,0x49,0x83,0x9D,0x61,0xFF,0x33,0x72,0x8A,0x50,0x69,0x47,0xF9,\r
+0xD5,0xBF,0x6B,0xDA,0xD2,0xA0,0xB7,0xEE,0xDB,0x49,0x6B,0x88,0xC2,0xF2,0x95,0xB8,\r
+0x31,0x8E,0x25,0x88,0xE3,0xB1,0x83,0xFB,0x53,0x96,0xC8,0x75,0x58,0x30,0x42,0x90,\r
+0x94,0x5F,0xB0,0x6C,0x5B,0x9B,0x4E,0xE8,0x23,0xF2,0x9C,0x15,0xC8,0xF0,0xA8,0xB7,\r
+0x06,0x2D,0x8D,0x4F,0x78,0x99,0x5F,0xCE,0xAF,0x52,0xB1,0x8E,0xB2,0x7D,0xB7,0x79,\r
+0x0F,0x6A,0x98,0xB0,0x14,0x9E,0x6A,0x1E,0x64,0xFB,0x63,0x00,0xAE,0x7E,0xD7,0xB3,\r
+0x7F,0x9F,0x52,0x32,0xDE,0xBB,0x81,0xF4,0xCA,0x07,0xD1,0xFF,0xA8,0xA4,0xCC,0xC7,\r
+0xE4,0xAA,0x7A,0xEE,0x56,0xF2,0xE6,0x15,0xE5,0x90,0x3B,0xCC,0xDD,0x0F,0xA1,0xF0,\r
+0x32,0x65,0x92,0xB2,0x48,0xFA,0xF5,0x3C,0x9B,0x00,0xBC,0x34,0x7D,0xDB,0x88,0x7A,\r
+0xFE,0x39,0x0E,0xAA,0xD4,0x19,0x44,0x58,0xAE,0x9B,0x60,0x1C,0xD6,0xE2,0xEB,0x5B,\r
+0xF9,0x68,0xC5,0xC7,0xAF,0x03,0x9D,0xE6,0x92,0xB4,0x47,0x05,0xA2,0xA6,0xF1,0xC8,\r
+0x19,0xE3,0xF7,0xC2,0xC6,0x0A,0x61,0x6B,0xDC,0x09,0x43,0x21,0x6E,0xFE,0x9A,0x49,\r
+0x85,0x87,0x14,0x73,0xF4,0xAC,0x6F,0x95,0x04,0x18,0x5C,0x85,0x16,0x62,0xA6,0xA1,\r
+0x27,0x07,0x4A,0xFA,0x03,0x83,0x86,0x70,0x99,0xF6,0xCB,0x69,0x1D,0x8F,0xEC,0x0A,\r
+0x37,0x38,0x9C,0x7B,0x98,0xAB,0x5A,0x45,0x0D,0xAC,0xA7,0xB4,0xC4,0x28,0x8E,0xCC,\r
+0x86,0x6C,0xA3,0x49,0x1D,0x8B,0x95,0x59,0x25,0x7B,0x65,0x2E,0xAF,0x91,0xA0,0x17,\r
+0x22,0x5A,0x44,0x33,0x92,0x09,0x9F,0xE9,0xD4,0x74,0x69,0x82,0x78,0xFF,0xC7,0x8C,\r
+0x1F,0x55,0x4E,0x31,0x15,0xEC,0xF4,0xF9,0x26,0x44,0xC3,0xE1,0x35,0x53,0x77,0x3F,\r
+0xA3,0xFC,0x18,0xAB,0x79,0xEB,0xC1,0x29,0x4E,0xDA,0xD6,0xC7,0xDE,0xF1,0xF5,0x72,\r
+0x0C,0x81,0x2F,0x8A,0x55,0x45,0xDC,0xFE,0xF7,0xE1,0x27,0x74,0x62,0x26,0xBC,0x32,\r
+0x70,0x6E,0xFE,0x3E,0x60,0x28,0xBF,0x51,0x57,0xE9,0x46,0x13,0x3D,0x40,0x69,0x16,\r
+0x53,0x48,0xFC,0x2F,0x36,0xEE,0xE5,0xDF,0x2A,0x46,0x67,0x24,0x91,0x4C,0x66,0xE7,\r
+0xBF,0xD9,0xD5,0x1C,0xC9,0xA6,0x6D,0x9A,0x7D,0xC8,0xF3,0xD4,0xF1,0x18,0x02,0x97,\r
+0xED,0xED,0x6F,0x11,0xAE,0x71,0x03,0x01,0x71,0xCA,0x57,0x11,0xF4,0x3C,0x4D,0x61,\r
+0x30,0x69,0x57,0x16,0xE7,0xCD,0xD4,0x41,0x73,0x3C,0x20,0x4C,0x10,0xB8,0xBD,0xD5,\r
+0x0B,0xD0,0xE4,0xE7,0xFC,0xCB,0x0E,0x35,0xFF,0x9C,0x0D,0xD7,0xF0,0xF7,0x75,0x33,\r
+0xE0,0x10,0x06,0xB9,0x1C,0xF9,0x0B,0xBE,0x22,0x3B,0x4D,0x87,0x46,0x22,0x01,0x7C,\r
+0xC1,0x3A,0xC1,0x0C,0x76,0x47,0xCD,0xD8,0xB5,0x5E,0x87,0x95,0x3F,0x51,0x4A,0x30,\r
+0x81,0x3D,0x68,0x24,0xC0,0xB3,0x92,0xDD,0x67,0xC4,0xC5,0xCF,0x81,0x97,0x20,0x56,\r
+0x1E,0xB2,0x3C,0xAF,0xF0,0xD0,0x38,0x2F,0x7F,0x3E,0x84,0x89,0x32,0x66,0x1B,0xEF,\r
+0xB6,0x9E,0xC0,0xE3,0xCD,0xDA,0x3A,0x20,0xB4,0x97,0x56,0x07,0x7E,0x25,0xDC,0xF8,\r
+0x51,0x44,0x39,0x8B,0xFD,0xB9,0x90,0xD2,0x05,0xD1,0x8D,0x17,0x7C,0x34,0xFF,0xDE,\r
+0xB2,0x24,0xBC,0xB4,0x71,0x8C,0xA0,0x89,0x86,0x4C,0xA2,0x86,0x5F,0x05,0x2E,0x40,\r
+0x11,0x43,0x90,0xA3,0xA5,0xA1,0x58,0x4A,0x0F,0x5A,0xD0,0xE9,0xAD,0x80,0x83,0x31,\r
+0x28,0xF6,0xE6,0xF6,0x68,0x4F,0xDE,0xF1,0x5C,0xAB,0xCA,0x7F,0x38,0x64,0x26,0xE0,\r
+0xA7,0x46,0x64,0xFC,0x4F,0x31,0x98,0x6D,0xC3,0xB3,0x2A,0xCE,0x3B,0x9A,0x72,0x62,\r
+0x9D,0x18,0xA5,0x93,0x63,0x9F,0x85,0xBA,0xA2,0x99,0xC4,0xD9,0x48,0xEB,0x04,0x21,\r
+0x40,0x9C,0x9D,0x94,0x61,0x5A,0x21,0xB6,0xBD,0x23,0xAD,0x36,0xF6,0x2D,0x6E,0x47,\r
+0x33,0x82,0xE0,0x2C,0xC3,0x04,0xA8,0x36,0x63,0xBB,0x4B,0xA9,0xF8,0xE4,0x6B,0x1A,\r
+0x45,0xC1,0x93,0x5D,0xE6,0xBF,0x4A,0xA6,0xD7,0x4B,0xCF,0x4D,0x73,0x12,0x8D,0x27,\r
+0xD6,0x54,0xDC,0xE0,0x67,0xE3,0xD2,0x00,0x37,0x0A,0x79,0x96,0xFB,0x1A,0x3F,0x98,\r
+0x50,0xA3,0x4B,0x15,0x59,0x5E,0xEA,0xE4,0xA7,0x2F,0x9B,0x2D,0xAA,0xB5,0xEF,0xE1,\r
+0xA9,0x50,0xBA,0x6E,0xA2,0x6A,0x35,0x1B,0x0C,0x65,0x76,0x26,0x1E,0x71,0xB8,0x88,\r
+0x2D,0xAB,0xE8,0x3F,0x29,0x94,0x68,0x11,0xC2,0x7A,0xFB,0x5C,0xB6,0xB6,0x8F,0x2B,\r
+0xE2,0x1C,0xC3,0x1D,0xEA,0xA4,0x7C,0xBC,0x83,0xFA,0xFD,0x72,0x37,0x42,0x54,0x19,\r
+0xB0,0x28,0x79,0x10,0xD0,0x65,0x13,0xE2,0xCF,0xB1,0x8E,0x0B,0x80,0x78,0x57,0xF2,\r
+0xEE,0x06,0xD8,0x2B,0x6D,0x41,0x17,0xAC,0xAD,0xA4,0xC6,0xD3,0x6D,0x00,0xCE,0xCB,\r
+0x58,0x03,0x2C,0x74,0x2A,0x23,0x52,0xFA,0xDA,0x80,0xBA,0x1A,0x3A,0x75,0x05,0xC6,\r
+0x82,0xD6,0xDF,0x1E,0x0E,0xEA,0x2E,0x8D,0xB9,0x5C,0x23,0x50,0x43,0x06,0x4E,0x8A,\r
+0xD3,0x09,0xD2,0x29,0xDD,0x0C,0xBB,0x1F,0x3E,0xBE,0x82,0xA7,0xFD,0xC0,0x24,0xEC,\r
+0xCF,0x2C,0x1F,0x9E,0x0D,0x5D,0x14,0x66,0x75,0xB5,0xD9,0x77,0x1B,0x55,0xF7,0x7E,\r
+0x8C,0xC0,0x01,0x8C,0x6F,0x84,0xB3,0xA0,0x12,0x16,0xCE,0x5B,0x08,0x70,0xE5,0x4D,\r
+0xDF,0x13,0xC9,0x1F,0x1A,0x40,0xF8,0x08,0x42,0xD8,0x72,0x02,0x49,0x04,0x73,0x85,\r
+0xB9,0x6F,0x6C,0xEF,0x6A,0x8A,0x7A,0xFD,0xD1,0xC2,0x36,0x76,0xCA,0xE1,0x8B,0x91,\r
+0x17,0xF5,0x29,0x50,0x47,0x56,0xF9,0xCD,0x93,0x7D,0x96,0x97,0xF5,0xD3,0x3A,0xC5,\r
+0x5F,0x52,0xE7,0x19,0x8A,0xB8,0x7F,0x76,0xB0,0xE8,0xD8,0x61,0xBD,0x5B,0xC5,0x80,\r
+0xD9,0xA5,0x70,0xEC,0xBA,0xDB,0xD5,0x84,0x4C,0x2C,0xA1,0x9A,0xEF,0x0A,0x41,0x7B,\r
+0xCB,0x96,0x63,0xC9,0x3D,0x3E,0xBE,0x94,0x5D,0x62,0x1B,0xED,0x20,0xAC,0x7E,0x78,\r
+0x35,0x34,0x59,0xDF,0xAA,0x0D,0x54,0xBB,0x02,0x91,0xA5,0xBE,0x33,0x89,0x6C,0x4B,\r
+0x38,0xC9,0x30,0x77,0x87,0xD1,0xD7,0x8B,0xB1,0x21,0x09,0xF3,0x22,0xBD,0x5D,0x5E,\r
+0x39,0x2E,0x42,0xE9,0x9F,0x60,0x37,0x14,0xA9,0xDB,0x48,0xB5,0x27,0x99,0x12,0xA8,\r
+0x25,0x0B,0x8F,0x5E,0x93,0x7B,0x01,0x0E,0x4F,0x13,0x07,0x55,0x53,0xDD,0x08,0x3B,\r
+0x2B,0x1D,0x51,0xCC,0x10,0xE2,0x3D,0xA4,0xF3,0x9E,0xA9,0x12,0x2B,0x41,0x34,0xD3,\r
+0xF3,0xC4,0x67,0x02,0x64,0x54,0xE8,0xEB,0x74,0x7C,0x08,0xE5,0xC6,0x39,0xAD,0xEA,\r
+0x84,0x60,0x66,0xED,0x89,0x0F,0x45,0x9D,0x77,0x43,0xAE,0x2A,0xB7,0x59,0xF8,0x8F,\r
+0x66,0x33,0xE9,0x9A,0x76,0x82,0x1D,0xD6,0xB6,0x06,0x79,0xD6,0xC4,0x3A,0xEA,0xA8,\r
+0xD2,0xD7,0x6D,0x6A,0x74,0xF5,0xEB,0x8B,0x0A,0x46,0x30,0x01,0xC3,0xE7,0x6E,0x90,\r
+0xE0,0x56,0x99,0xB1,0x2D,0xB2,0x91,0xE3,0x29,0xD8,0xE1,0x30,0xFA,0x84,0x4F,0x3B,\r
+0x90,0x36,0xCD,0xD5,0x7A,0x26,0x1F,0x13,0x61,0x9D,0x1E,0xB8,0xC9,0x68,0xDE,0x12,\r
+0x35,0xA5,0xF3,0x6B,0xF0,0xF2,0x36,0xB3,0x82,0xF9,0x82,0x09,0x5F,0xDB,0x86,0xE8,\r
+0x11,0xFA,0x95,0xBE,0x50,0x93,0x3E,0xD4,0xEF,0x56,0xB7,0x6A,0xEB,0xA7,0x69,0x39,\r
+0x38,0xF2,0x86,0xA0,0x21,0x16,0x93,0x26,0x2B,0xFE,0xC2,0x21,0xE4,0xC8,0x52,0x89,\r
+0x75,0x19,0x24,0x22,0x49,0x03,0x0D,0x00,0x2C,0x2E,0xAE,0x14,0x7E,0x74,0xFB,0xDF,\r
+0xD9,0xBB,0xE1,0x28,0x02,0x58,0x06,0xD0,0x7E,0xD5,0x2A,0x45,0x5E,0x86,0x43,0xFE,\r
+0x47,0x98,0xD0,0xF9,0x81,0x77,0x9B,0x41,0x4B,0x8E,0xA6,0x75,0x61,0x65,0x23,0x7B,\r
+0xE8,0xF5,0xB3,0xCC,0x78,0x51,0xE9,0x4E,0x17,0x28,0x27,0xED,0x7A,0xC9,0xB5,0xFB,\r
+0xFF,0xB9,0xF0,0x0B,0xB3,0x83,0x40,0xC0,0x1D,0x27,0x1A,0xEF,0x36,0x61,0x99,0x07,\r
+0x37,0xF8,0x84,0x9D,0xB2,0x52,0x89,0x52,0x80,0xDF,0xA1,0x18,0xD9,0x16,0x3D,0x06,\r
+0x51,0x46,0x42,0xF7,0x60,0x10,0x13,0x08,0x74,0xDA,0x17,0x47,0xF1,0x56,0x3A,0xAF,\r
+0x34,0x37,0x22,0xA2,0xF8,0xD8,0x4B,0x10,0x0C,0x32,0x2B,0xDB,0x32,0xDC,0xD7,0x23,\r
+0x7B,0x81,0xF7,0xD6,0x25,0x98,0xEC,0x40,0x3E,0xB9,0xCB,0xDE,0x6C,0x37,0x17,0xC1,\r
+0xF7,0x1A,0xDA,0x76,0xE2,0xEE,0x47,0x0B,0x35,0x12,0x81,0x33,0x3B,0x33,0xAD,0xBD,\r
+0x7D,0xBA,0x0E,0x5F,0x9C,0x69,0xD7,0xF3,0x3D,0x3B,0x9F,0x20,0x67,0xE5,0x62,0x55,\r
+0xB4,0x69,0xAB,0x00,0x63,0xB6,0x2C,0xC7,0x59,0x19,0xC3,0xBF,0x65,0xD8,0x6D,0x5F,\r
+0xC0,0x6F,0x71,0x1B,0xCD,0x04,0xD0,0x38,0x7C,0xF3,0x09,0x54,0xE7,0xA8,0x98,0x95,\r
+0xB0,0x0F,0x25,0x7F,0x24,0x49,0x25,0xD2,0x5C,0xEF,0x8C,0x9B,0xB9,0x43,0x58,0x77,\r
+0x7E,0x75,0xA8,0x60,0xA8,0x64,0x85,0x49,0x5E,0xC9,0xAF,0x8A,0x9A,0xD1,0x2A,0x4A,\r
+0xBF,0x05,0x27,0x42,0xDC,0xBE,0x9E,0x4F,0x67,0xE9,0x05,0x62,0x0F,0x02,0xB8,0xAC,\r
+0x97,0x9F,0xE5,0x95,0x54,0x1D,0x41,0xB2,0x76,0xFC,0x34,0x56,0x5D,0xE6,0x89,0xE2,\r
+0x10,0x68,0x44,0x77,0x22,0xB0,0xAC,0xE9,0x4C,0x5E,0xCA,0x40,0x9C,0x51,0x6B,0x64,\r
+0x8B,0xBF,0x2A,0x10,0xD3,0xBC,0xA3,0x45,0xCE,0xEE,0x45,0x4A,0xE6,0xF5,0x5D,0x83,\r
+0x0D,0xDA,0x5A,0x3B,0x9E,0x1E,0x21,0xAE,0x44,0x77,0xD4,0x53,0x2F,0xF0,0x00,0x8D,\r
+0xCB,0x03,0xFD,0x59,0x0A,0x72,0x7B,0x73,0x6C,0x42,0x4F,0x8F,0xAE,0xE0,0x3F,0x5B,\r
+0x4E,0xA9,0x2B,0x4D,0xDB,0x96,0xDE,0xE6,0xCD,0x6C,0x11,0xB4,0x17,0xCE,0xE4,0x30,\r
+0xA6,0xD1,0xB7,0x71,0x03,0x89,0xCF,0x42,0x6B,0x92,0x23,0xBA,0xA6,0x52,0x80,0xD3,\r
+0x5C,0x11,0x37,0x3C,0xA9,0xB5,0x4C,0xDB,0xDE,0x5F,0x03,0x91,0x7F,0x29,0x3E,0xC9,\r
+0xCF,0x65,0x73,0x26,0x95,0x92,0x63,0xC2,0xC4,0xE1,0x78,0x48,0x12,0x2E,0x6F,0x02,\r
+0x87,0x7A,0x8E,0x12,0xB7,0x0D,0x3F,0xA6,0x7F,0x71,0x5D,0xAA,0xCC,0x88,0x55,0x20,\r
+0x7C,0x28,0xDF,0x96,0x4B,0x74,0xFB,0x5D,0x1C,0x83,0x6D,0x00,0x39,0x0E,0xA2,0xB7,\r
+0x96,0x0D,0x34,0x5C,0xD6,0xE3,0x15,0xB1,0x4D,0xFA,0xBD,0xAF,0x3A,0x6E,0x68,0xAB,\r
+0xC2,0x32,0x06,0xED,0x94,0x43,0xAA,0x50,0x91,0xCA,0x90,0x2C,0x85,0xC0,0xF2,0xEE,\r
+0x4A,0xCF,0xA5,0x32,0x15,0x1B,0xC1,0x9C,0x43,0xA7,0xB8,0x66,0x59,0x5B,0xC7,0xC6,\r
+0x82,0x8E,0xD1,0xA4,0x45,0xA7,0x0F,0xC5,0x87,0x0F,0xCD,0x2D,0xCA,0x08,0x14,0x0E,\r
+0xEB,0x3A,0x15,0xF3,0x39,0x57,0x69,0x60,0xCB,0x18,0x0A,0x6E,0xFC,0x04,0x0E,0x15,\r
+0x79,0xDC,0x80,0x20,0x72,0x0C,0x62,0xB0,0x9A,0x61,0xDA,0xC1,0x4B,0x18,0x2B,0xD8,\r
+0xED,0x01,0xEC,0x7A,0x73,0xDD,0xAB,0x22,0x93,0xEC,0xB3,0x3D,0xD7,0x24,0xC3,0xA0,\r
+0x88,0x70,0x8C,0x2F,0x70,0x7B,0x94,0xED,0xC8,0x9A,0x5E,0x90,0x38,0x53,0x67,0xA1,\r
+0x3C,0x94,0x08,0xDF,0x48,0xD2,0xC4,0x92,0xBC,0x09,0x44,0xD4,0x8B,0xF2,0x0C,0x48,\r
+0xD4,0xEC,0x94,0xE3,0xF4,0x7C,0x49,0xD5,0x25,0xA3,0xC7,0xE8,0x19,0xFC,0x1A,0x96,\r
+0x59,0xE5,0x68,0x8A,0xB6,0xDC,0xF6,0x34,0x16,0x8C,0x50,0x02,0xA2,0xEF,0xCE,0xF7,\r
+0xAF,0xE0,0x4C,0xC5,0xAE,0x9D,0x0C,0x72,0xA7,0x13,0x48,0xE2,0x3C,0xEE,0x29,0x85,\r
+0x7F,0xE7,0x79,0xA9,0x5A,0xCE,0xB5,0x2A,0xF9,0x93,0xEA,0x6B,0x1C,0x1C,0x91,0xA4,\r
+0x4C,0xF4,0x5C,0xBB,0x05,0x70,0x46,0x79,0xCA,0xBC,0x7D,0x81,0x0A,0xE2,0x33,0x9E,\r
+0x20,0xB4,0xC7,0x5A,0xD0,0x1A,0x9C,0x8A,0x78,0xA1,0x31,0x9F,0x88,0x92,0xC6,0x54,\r
+0x9F,0x3C,0xCF,0xE8,0x30,0xAC,0xDD,0x51,0x24,0x07,0xB0,0x07,0x35,0x01,0x53,0x1B,\r
+0x40,0x31,0xF8,0xB9,0xBA,0x78,0xF4,0xF1,0x9D,0xB1,0xB6,0xF4,0x41,0x97,0x9B,0x5A,\r
+0x1D,0x3F,0x31,0xBC,0x64,0x9E,0x6C,0x6E,0xC3,0x31,0x14,0x7D,0xF9,0xE4,0x85,0x27,\r
+0x65,0xFC,0x4F,0xA5,0xC4,0xFF,0x64,0x09,0xF6,0x6A,0x98,0x4D,0x29,0x70,0x41,0xA3,\r
+0x26,0x8F,0x3E,0xD3,0xA5,0x11,0x4E,0x1E,0x58,0xBD,0xB4,0x50,0x46,0x4A,0x1F,0x62,\r
+0x36,0x6A,0x55,0x54,0x08,0x05,0x8D,0x2E,0x66,0x4D,0x72,0x8D,0x76,0xC6,0x44,0x57,\r
+0xE7,0xFF,0xB1,0xF1,0x5B,0x1F,0x7C,0xB8,0x88,0xF6,0xBF,0x0B,0x23,0xFF,0xF1,0x21,\r
+0xC1,0xFD,0xA0,0xD2,0xDD,0x6F,0x57,0xDD,0xE4,0xFD,0xFD,0x87,0xA1,0x8F,0x04,0xEB,\r
+0x8D,0x84,0xD3,0x99,0xBE,0xF6,0x8B,0x97,0x2D,0x8A,0xD9,0xFB,0xCB,0x55,0xD1,0x18,\r
+0xF5,0x47,0xAD,0x80,0xC8,0x5B,0x66,0xCC,0xA2,0xE5,0x07,0xC6,0xC5,0x67,0x2F,0xBE,\r
+0xCC,0xAA,0xD5,0x19,0xAA,0x13,0x73,0x14,0x86,0xAB,0xBA,0xC2,0xFE,0x39,0x01,0x1F,\r
+0x2C,0x71,0x63,0x58,0xC5,0x2E,0xAD,0x9B,0x53,0x16,0xFE,0xBD,0xEA,0xFA,0xAC,0x2F,\r
+0x1E,0xF0,0x97,0x83,0x84,0x28,0x2D,0xB5,0x63,0xBB,0x3D,0xA9,0xC8,0x35,0x1B,0x04,\r
+0xE6,0x6D,0x60,0x38,0xA0,0x4E,0xF8,0xEA,0x99,0xE3,0x8E,0x3F,0xC0,0x87,0xA4,0x8C,\r
+0x8F,0xD9,0xA4,0x6F,0x0B,0xA3,0xB2,0xE1,0xAD,0x1C,0x75,0xE0,0xBB,0x7E,0x57,0x7D,\r
+0x47,0x65,0xFB,0x96,0x84,0xCB,0x82,0xC8,0xC7,0xB9,0x80,0xC1,0x18,0x27,0xDB,0x01,\r
+0xA4,0x05,0x7E,0xA9,0x08,0xFE,0xB2,0x93,0x44,0x24,0xAF,0x50,0x3B,0x16,0x0A,0x9F,\r
+0x43,0xDF,0x87,0xC1,0x38,0x9D,0x18,0x61,0xF5,0x62,0x74,0x40,0x39,0x07,0x29,0xB9,\r
+0xEB,0xF3,0x7B,0x8D,0x05,0x97,0x1A,0x6E,0x3E,0xCB,0xA6,0xCE,0x75,0x44,0xEE,0xAE,\r
+0x74,0x7C,0x2F,0x06,0x35,0xF4,0xB0,0x9C,0x26,0x31,0xE7,0x88,0xC6,0xB5,0xD5,0x17,\r
+0x34,0x7B,0x86,0x2E,0x83,0x00,0xEF,0x99,0xF4,0xAB,0xA5,0xD2,0x78,0x73,0xBF,0x71,\r
+0x15,0x51,0x41,0x9B,0xE9,0xBE,0x29,0xFF,0x63,0xCE,0x6F,0xC0,0x01,0x00,0xF4,0x3D,\r
+0xFE,0x91,0xA3,0xC5,0x09,0x8C,0x2C,0x74,0xBE,0x69,0x2F,0x90,0xB7,0xD5,0x80,0x72,\r
+0xC5,0x28,0x10,0x34,0x12,0x8A,0xF6,0x00,0x32,0xC9,0x02,0x0B,0x57,0x9A,0x48,0x94,\r
+0x18,0xAC,0x28,0x33,0x5B,0x36,0x21,0x40,0x30,0x3F,0x75,0x56,0xB3,0x1E,0xB8,0x20,\r
+0x4A,0x98,0x92,0x3E,0x3C,0xE1,0x4F,0xDB,0x3C,0x3D,0xD1,0x93,0xB6,0x3A,0xF7,0xD6,\r
+0xA6,0x09,0xBB,0x0D,0xC3,0xA9,0xC7,0x9E,0x6B,0xB3,0x45,0x63,0xD6,0x6E,0x93,0xA6,\r
+0x85,0x2F,0xB9,0x1C,0x95,0x6F,0x9D,0x10,0x16,0x1C,0x64,0x54,0x7A,0x62,0x9C,0x57,\r
+0xF9,0xC0,0x68,0xA8,0xA0,0x02,0xFE,0xBF,0xB6,0x14,0x05,0x33,0x25,0x04,0x49,0x73,\r
+0x56,0xBD,0x5F,0x89,0x8C,0xAC,0xE3,0x68,0x0F,0x2F,0xF4,0x80,0x99,0xD3,0x00,0x33,\r
+0xEA,0x14,0x09,0x13,0xE0,0xAB,0xD6,0xB8,0x67,0xB1,0xE1,0xA6,0x72,0x71,0x82,0x7E,\r
+0xD7,0x1B,0x03,0x11,0x67,0x4E,0xBD,0xA8,0x95,0x81,0x4B,0xC5,0x3F,0xDD,0x32,0xCD,\r
+0x73,0x2D,0xE4,0x6B,0xE8,0xCC,0xB7,0x18,0x64,0x8E,0x47,0x69,0xE8,0xB3,0x55,0x56,\r
+0xC2,0x79,0xDB,0x59,0x6D,0xEC,0x78,0x04,0x4C,0x59,0x85,0xF3,0x83,0x0A,0x7B,0x8D,\r
+0xD2,0x46,0x0D,0xD8,0xF6,0xC4,0xA4,0x31,0xD8,0x03,0xE9,0x2E,0x5A,0xAD,0x19,0x4B,\r
+0x70,0xC6,0x53,0x51,0x01,0xEB,0x4D,0xD4,0x45,0xED,0x7E,0xC2,0x51,0x40,0x53,0xE0,\r
+0xEC,0xA2,0xB0,0xE0,0x33,0x4D,0x43,0x2A,0x9D,0xFC,0x61,0x66,0x29,0xDC,0x6F,0x08,\r
+0x0C,0x29,0x82,0xE5,0x5A,0x44,0xBF,0xA7,0xD3,0x41,0x65,0x42,0xE5,0x84,0x04,0x89,\r
+0x0B,0x78,0x49,0x88,0x21,0x5E,0x66,0x19,0xEF,0x6E,0x42,0x5B,0x91,0xC0,0x1E,0x1A,\r
+0xC7,0x24,0xD5,0x90,0xBD,0xBD,0xD7,0x7D,0xDA,0xF5,0x9E,0x73,0x3A,0xF9,0x7D,0x3B,\r
+0x11,0xEB,0x3D,0xCC,0xA3,0xB5,0xC4,0x54,0xA4,0x65,0x19,0x8B,0x9A,0x2D,0x54,0xB1,\r
+0x8A,0xDE,0x15,0x10,0x2B,0xFC,0xA3,0xB5,0x8B,0xF2,0xF3,0xB8,0xEF,0x86,0x39,0x86,\r
+0xFA,0x2B,0xDF,0x92,0xE1,0xD9,0x48,0x5F,0x25,0x0E,0x41,0x47,0xE9,0x5C,0x22,0xF2,\r
+0xF3,0x6C,0xCA,0x6D,0x8D,0xDE,0x7D,0x8F,0xEE,0xA7,0x93,0xC9,0xF5,0x5F,0x42,0x38,\r
+0x61,0x1E,0xF7,0x4E,0xAE,0xDC,0x6C,0xA9,0x62,0x07,0xBE,0x52,0x8F,0xD2,0x5D,0xF6,\r
+0xC4,0xCF,0x62,0xAA,0x16,0xF6,0xA1,0xBA,0x12,0x63,0xEA,0x32,0x1F,0x12,0xB7,0xD1,\r
+0x20,0xFE,0x2C,0xF8,0x27,0xE7,0x95,0xAF,0x9A,0xBC,0x49,0xCF,0x85,0xD0,0x60,0xF9,\r
+0x71,0x21,0x21,0xCF,0x7C,0x48,0x67,0xDC,0x36,0xB6,0x8C,0x6D,0xF0,0x7B,0x0D,0xCE,\r
+0x06,0x85,0x20,0x20,0x91,0x13,0xCA,0xAA,0x35,0x89,0x2A,0xA2,0x81,0x1B,0x58,0xAB,\r
+0xDE,0x5C,0x16,0xEE,0xE5,0xA5,0x1F,0xE5,0xB2,0x6B,0x8B,0x55,0x6C,0x63,0xC1,0x92,\r
+0xD0,0x4A,0xC8,0x7C,0x66,0x3C,0x23,0x4F,0x0E,0xE6,0x25,0x12,0x14,0xFF,0xFD,0x7A,\r
+0xCC,0x6F,0x05,0xCB,0x6A,0x27,0x15,0x55,0xE8,0x2E,0x6A,0xF2,0x60,0xBB,0xE7,0xE9,\r
+0xCD,0x88,0x77,0x55,0x72,0x96,0xF5,0xCA,0xF0,0xD4,0x2B,0xB4,0x65,0x9F,0xA8,0x1F,\r
+0xC0,0x75,0x1E,0xFD,0x5F,0x4A,0x76,0xFA,0x43,0x64,0x87,0xF9,0x74,0xAB,0x99,0x0A,\r
+0x3E,0xD7,0x24,0xEB,0xC8,0x79,0x9C,0xD5,0x1C,0x97,0x39,0xAA,0x67,0x8E,0x8B,0x39,\r
+0x2C,0xE4,0x37,0xCE,0x4F,0x9C,0xF7,0xC5,0x0D,0xD9,0x83,0xDD,0xA8,0x28,0xB4,0x3A,\r
+0xAA,0x13,0xA0,0x3B,0x7F,0xFF,0x5D,0x37,0xF1,0x1D,0xFA,0x26,0xFA,0x79,0x30,0xC1,\r
+0xE2,0xB4,0x6E,0x72,0xB2,0x11,0xDB,0x8C,0xD2,0x88,0xB4,0xD0,0xB2,0xF1,0xCF,0x84,\r
+0x4C,0x2E,0x2B,0xCD,0x9F,0xCD,0x58,0xBC,0x90,0x37,0x14,0x31,0x8D,0xC3,0x7E,0xD0,\r
+0x2A,0x52,0x8E,0x3D,0xEF,0x07,0xDA,0x49,0x03,0x2D,0x50,0x45,0x0E,0x26,0x86,0xC4,\r
+0x79,0x81,0x46,0xAE,0x9A,0xC3,0x91,0xE1,0x53,0xE3,0xEC,0x1C,0x4F,0x52,0x10,0x0C,\r
+0x3A,0x6D,0x58,0xBC,0xF8,0x1A,0x36,0x27,0x34,0x40,0xFB,0x30,0x5C,0x77,0x02,0x3F,\r
+0x26,0x48,0x95,0x0B,0x28,0x4B,0x99,0x5E,0x7F,0x4B,0xA0,0xE0,0xBA,0xE2,0xD1,0xAD,\r
+0x77,0x97,0x98,0x3C,0xFB,0xAD,0x0C,0xCC,0xF8,0xA9,0x01,0x17,0x04,0x24,0xBB,0xCB,\r
+0xAD,0x42,0x6B,0x56,0xDF,0x64,0x70,0xBB,0x9B,0x75,0x98,0x5D,0x7D,0x57,0xF0,0x87,\r
+0x1B,0x47,0x9F,0x09,0x98,0x06,0x35,0xED,0xEC,0x51,0xE4,0x94,0x2A,0x22,0x3B,0x8A,\r
+0x45,0x69,0x3E,0x32,0x25,0x22,0x31,0xA3,0x8E,0x44,0xAC,0x4C,0xC7,0x5A,0xA2,0xB3,\r
+0x17,0x5D,0x84,0x3F,0x1F,0xE3,0x5E,0xFD,0xC2,0x0F,0xDF,0x35,0x70,0x60,0xA1,0x58,\r
+0xD8,0xEA,0xAF,0x1D,0xDC,0xD3,0x4A,0x50,0x83,0x8F,0xD9,0x1B,0xF1,0x94,0x7A,0x6A,\r
+0x5C,0x11,0xFD,0x4C,0x57,0x2D,0x17,0x5A,0x4D,0x90,0x54,0x61,0x59,0x53,0x4D,0xC9,\r
+0xA5,0xE2,0x0C,0x37,0xAC,0x19,0xC8,0xA5,0xE6,0xDA,0xB9,0x6A,0xED,0x97,0x1A,0xA0,\r
+0x23,0x15,0x9B,0xC2,0x92,0xA4,0xF0,0x41,0x76,0xFF,0x5B,0xD1,0xBC,0x38,0xCA,0xD9,\r
+0xB0,0x80,0xD4,0x7F,0x13,0xF8,0x68,0xE7,0x96,0xBE,0xED,0x0A,0x34,0x30,0x78,0x66,\r
+0xC6,0xC3,0xA7,0x0E,0x36,0x43,0x8A,0x77,0x22,0x4E,0x69,0xEE,0xBF,0xC6,0x9E,0x5B,\r
+0xB5,0xDD,0xDA,0xB6,0x94,0x1D,0x03,0xF7,0xFC,0xD6,0x8F,0x71,0xB1,0x0F,0x9B,0x06,\r
+0x68,0x59,0xE2,0xB1,0x96,0xD8,0xA7,0xFB,0xE3,0x6C,0xE6,0x9E,0x0F,0xC9,0xF1,0x60,\r
+0x52,0x07,0x23,0xDE,0xBA,0x76,0xBA,0x2C,0x82,0x46,0x08,0x89,0x7C,0xB8,0x87,0x23,\r
+0xDD,0xB7,0xA1,0xD4,0x9D,0x08,0xFC,0xB0,0x1D,0x5E,0xE8,0x38,0x7F,0x46,0xD3,0xA1,\r
+0xE4,0x02,0xD7,0x81,0x50,0xE6,0x7A,0x0B,0x4E,0xAF,0xF2,0xAE,0xEA,0xA2,0x76,0x70,\r
+0x7F,0xB6,0xA3,0xAF,0xD4,0x94,0xDA,0xDB,0x4D,0xA0,0x9B,0x5C,0x7D,0x30,0x99,0x2E,\r
+0x2E,0x32,0x58,0xFD,0xAD,0x68,0x21,0x1F,0x7D,0x0A,0xF8,0xAE,0x8A,0xA7,0x6C,0xA8,\r
+0xA6,0xCD,0x1D,0xB5,0xE3,0x4B,0xD7,0x8A,0xB0,0x8C,0x16,0x15,0x2D,0x69,0x25,0xE0,\r
+0x94,0x7C,0x49,0x8A,0x43,0x09,0x36,0x35,0x9D,0x0F,0xCA,0x25,0xB7,0x2C,0x9A,0x4E,\r
+0x71,0x84,0x5D,0x09,0x07,0x9A,0x42,0x2F,0xED,0x8D,0x00,0xD0,0xCB,0x89,0x6A,0x28,\r
+0x05,0x12,0x95,0x48,0xBB,0xCA,0x1B,0xE1,0x98,0xC6,0xC4,0x78,0x18,0x41,0xF9,0x7B,\r
+0x20,0x00,0xA6,0x5B,0xAC,0xAD,0x37,0x42,0xFA,0x61,0x1D,0xBE,0xF4,0x5F,0xEB,0x38,\r
+0xB5,0xD3,0x34,0xBD,0xF7,0xE6,0xE7,0x49,0x2A,0xCE,0x4C,0xC7,0xD1,0x92,0x5C,0x24,\r
+0x2C,0x0F,0x57,0xF7,0xDB,0xAF,0x6A,0xB4,0x7E,0x30,0x4F,0x45,0xB8,0x26,0x98,0x73,\r
+0x4C,0x5A,0x32,0x86,0x7D,0xAC,0xA5,0x8B,0x93,0x9D,0x14,0x33,0x1C,0x27,0x77,0x04,\r
+0x34,0xC3,0x0B,0x6B,0xDC,0x2B,0x52,0x69,0xE7,0x48,0xA2,0x7C,0xC5,0x11,0xB9,0xDC,\r
+0xA8,0xFF,0xE3,0x13,0x72,0x97,0x15,0xE4,0x64,0x74,0x3B,0xD6,0xD3,0xCF,0x2B,0xD2,\r
+0xEC,0xE5,0x70,0x67,0x3D,0x71,0xF5,0x2C,0x68,0x42,0x20,0xCC,0xF6,0x02,0x9C,0xCE,\r
+0xC8,0xAA,0x86,0x62,0x7C,0x69,0xB3,0xD6,0x70,0xA2,0x91,0x53,0x11,0x70,0x02,0xCF,\r
+0xFC,0x9B,0x93,0x73,0xD0,0xDA,0xFE,0x66,0x5D,0x21,0x4D,0x63,0xEC,0x19,0xAA,0xC2,\r
+0xD9,0x89,0xA0,0x60,0x6E,0x85,0xAD,0x95,0xCA,0xCB,0x7E,0x4C,0x4E,0x23,0xBC,0x3C,\r
+0x6F,0xC8,0x40,0xBB,0x0C,0xEF,0xD6,0xFD,0x90,0xA7,0xA3,0xD8,0x8C,0x9C,0x95,0x21,\r
+0x67,0x7A,0xFF,0x33,0xBA,0x0F,0x0D,0xBC,0x11,0x3F,0xFF,0x7E,0x19,0xD3,0x28,0xB2,\r
+0x91,0x9C,0xC2,0xB8,0x3E,0xBB,0xE9,0x4C,0x34,0xDD,0x44,0xEE,0x5A,0xA0,0x59,0xC4,\r
+0x58,0x99,0x9F,0xB6,0xD8,0x65,0x76,0xD4,0x96,0x54,0x1A,0x6E,0x44,0xDD,0xE1,0xB7,\r
+0x9E,0xF3,0xF9,0x08,0xB1,0x7A,0x99,0x6E,0x94,0xF0,0xDF,0x62,0xC0,0xE5,0xE6,0x6A,\r
+0xEF,0x85,0xBA,0x7B,0x5F,0x1B,0x8E,0x44,0xB8,0xED,0x71,0xB5,0x9E,0x24,0x89,0x50,\r
+0x11,0xD1,0x38,0x78,0xBF,0x84,0x3F,0x5C,0x9F,0xAB,0x0F,0x29,0x2E,0xA6,0x83,0xDF,\r
+0xF5,0x74,0xE9,0xED,0xA5,0xD7,0xA9,0xAD,0x52,0x2D,0xE1,0x92,0x9B,0xD0,0xD6,0xE6,\r
+0x73,0xB9,0x52,0x03,0x56,0x61,0x10,0xAB,0xF9,0x5B,0xAA,0x55,0x0E,0x9F,0x6B,0x75,\r
+0x00,0xF2,0x1E,0x7A,0xCF,0x02,0x5A,0x77,0xDD,0x27,0x63,0x22,0xDB,0x6C,0x01,0xAF,\r
+0x75,0x39,0x13,0x2D,0xB3,0x75,0x93,0x53,0x9A,0x62,0x01,0x74,0xDE,0x98,0x5E,0x19,\r
+0x0D,0xA0,0x2A,0xC0,0xFB,0x17,0x4B,0x46,0x27,0x66,0x25,0x3A,0xF0,0x39,0x65,0x47,\r
+0x37,0xA3,0xC1,0x77,0x88,0x5B,0x32,0x0D,0x1D,0x09,0xE4,0x64,0xC4,0x83,0x68,0x15,\r
+0xC3,0x78,0xF3,0xF6,0x8E,0x1A,0x1C,0x8D,0xDE,0x1D,0xD4,0xC9,0x73,0xA8,0x4A,0xDA,\r
+0x04,0x4F,0x50,0x5E,0x03,0xD4,0x66,0x92,0x55,0x40,0x2A,0xC3,0x88,0xFA,0x1B,0x5E,\r
+0xC0,0x18,0x39,0xEA,0xEE,0x7F,0x6D,0xD8,0xAE,0x9F,0x1E,0x3C,0x7B,0x0B,0x60,0xA7,\r
+0xCD,0x4A,0x0D,0x50,0x55,0xAB,0x0C,0xCB,0x10,0xA1,0x8D,0x99,0xB1,0x17,0x63,0xC7,\r
+0x49,0xBA,0xB9,0xB4,0x22,0xA9,0x51,0x3D,0x59,0x76,0x31,0xD9,0x35,0x2F,0x64,0x1A,\r
+0x6D,0xF5,0x4F,0xB1,0x86,0xA5,0x94,0x3F,0x3E,0x18,0xE6,0x42,0x01,0x95,0x69,0x48,\r
+0x39,0x91,0x3F,0xD1,0x12,0xF2,0x64,0xB1,0xC1,0x90,0xAE,0x07,0x90,0xBC,0x5A,0xA4,\r
+0x35,0x9E,0xCE,0x7D,0x33,0x8F,0x53,0x1E,0x97,0xCA,0x68,0x89,0xB6,0xBE,0x4B,0x87,\r
+0x53,0x4B,0xEA,0x22,0x52,0x2F,0x34,0x16,0xA2,0xA9,0x05,0x26,0x59,0x6F,0xFF,0xFB,\r
+0x84,0x02,0xAA,0x9E,0xA3,0x96,0x87,0x2D,0x8E,0xB4,0xAB,0xF1,0x24,0x58,0xDE,0x54,\r
+0x26,0x80,0xE7,0x75,0xB6,0xFE,0xA1,0xB3,0xE2,0x81,0xAC,0x21,0x8D,0x0E,0x44,0xE8,\r
+0x70,0xD9,0x98,0x1F,0xD7,0x5E,0xC6,0xBB,0x86,0xD5,0xCC,0x51,0xFC,0xFC,0xC1,0x45,\r
+0x41,0x08,0x06,0x3C,0xF8,0xDD,0x57,0x26,0x0A,0xE5,0xF9,0x0A,0x9C,0x79,0xFE,0xA6,\r
+0x50,0x2B,0x20,0x3E,0x23,0x6C,0x47,0x60,0x3A,0x4F,0x9A,0xF8,0x46,0x80,0x96,0x41,\r
+0x13,0xEC,0x37,0x72,0xF1,0xA7,0xC9,0xC9,0x07,0x4D,0x90,0xF7,0x6A,0x7C,0xDA,0xE9,\r
+0xE2,0xD7,0x8E,0xC1,0xB0,0xBF,0x8F,0x33,0x37,0xE7,0xF3,0x05,0xE5,0x28,0x51,0x76,\r
+0x24,0xBD,0xE8,0x7F,0xF2,0x6D,0xD5,0xA9,0x81,0xB8,0x07,0x00,0xE2,0x81,0x79,0x36,\r
+0x57,0xF6,0xA4,0x06,0x38,0xFA,0xC7,0xCC,0xEB,0x7E,0xB9,0x66,0xC8,0x46,0xCC,0x17,\r
+0x82,0x82,0xEB,0xB0,0x78,0x27,0x97,0x6B,0x0B,0x7B,0x8B,0xED,0x08,0xA4,0x92,0xFC,\r
+0xAE,0x7F,0xA2,0x3D,0xC9,0x43,0x74,0xF7,0xBF,0x80,0xBA,0xE4,0xBD,0xD2,0xC7,0xC5,\r
+0x7A,0x56,0x28,0x9D,0x4E,0x3D,0x8C,0x67,0xA1,0x93,0xB2,0xCD,0x72,0x3A,0x9B,0x13,\r
+0xD1,0x3B,0x1F,0xE8,0xA4,0x12,0xBF,0xF0,0x29,0xF4,0xFB,0x2C,0x47,0x12,0x47,0x88,\r
+0x0B,0x20,0x6B,0xEE,0x16,0xBC,0x40,0x0C,0xE3,0x1F,0xDE,0xC6,0xB2,0xD8,0xC5,0xF8,\r
+0x08,0x40,0xA1,0xF2,0xC4,0x77,0xCE,0xA5,0x8F,0x2A,0xD9,0x16,0xF5,0xCD,0x3A,0xF1,\r
+0x85,0x5F,0x6F,0x88,0xE9,0xFB,0x55,0x05,0xAC,0x3B,0xDB,0x30,0x87,0xF0,0x19,0x63,\r
+0x45,0xB5,0x48,0x18,0xBD,0x8B,0x35,0x61,0x14,0xF6,0xF1,0x23,0x56,0x65,0xFD,0xC6,\r
+0x87,0x62,0x60,0x82,0x1E,0x03,0xC8,0xBE,0x25,0xC2,0xE0,0x36,0x67,0x2B,0xAF,0x22,\r
+0x8A,0x30,0x54,0x38,0x1C,0x0C,0xC2,0x83,0x65,0xEA,0x49,0x31,0x82,0x04,0x46,0xD5,\r
+0xE4,0x57,0xCF,0xEF,0x10,0xFD,0x6E,0x8C,0xEA,0xE0,0xCB,0x81,0xB4,0xE3,0x3C,0x71,\r
+0x5D,0x79,0x14,0x84,0xD2,0xD5,0xF4,0x5B,0x6F,0x2F,0xEB,0x9D,0xE0,0xDC,0x0E,0xC0,\r
+0xFA,0x1B,0xD2,0x5D,0xBE,0x41,0x29,0x01,0xF4,0xF3,0xC3,0xA8,0xDF,0x0A,0x8F,0xD0,\r
+0x17,0x51,0x79,0x56,0x29,0xDC,0xC5,0xEF,0x03,0x1A,0xEC,0x4D,0x5F,0x54,0x06,0x72,\r
+0x8B,0x6D,0x91,0x2E,0x36,0x04,0x61,0xFE,0x31,0x14,0x4A,0xB3,0x3B,0xB7,0xB7,0xEE,\r
+0xD3,0x06,0x10,0xE2,0x32,0x4A,0x45,0x43,0x58,0xE8,0x43,0x3E,0xB0,0x85,0xB2,0x0E,\r
+0x97,0x1C,0x83,0x96,0x15,0x76,0x5C,0x6C,0x23,0x31,0x59,0x80,0xE1,0x4E,0xDF,0x09,\r
+0x0B,0x72,0xE0,0xBD,0x31,0x1E,0x1F,0x64,0x1C,0xDC,0x26,0x87,0x1A,0xA5,0x4D,0x33,\r
+0xA5,0x6F,0xCC,0x6A,0xF0,0x24,0x41,0x0B,0x6D,0xAF,0x65,0xF1,0x30,0xC4,0x5A,0xDD,\r
+0xDB,0x29,0xEB,0xF6,0x72,0xAB,0xF1,0x01,0x93,0xAC,0xE7,0xA5,0x28,0x5B,0xEB,0x3D,\r
+0x35,0xAF,0x26,0x4D,0x04,0x92,0x44,0x54,0x77,0x39,0x36,0x00,0xD9,0x08,0x7D,0x27,\r
+0x77,0x25,0xE4,0x07,0x48,0x55,0x53,0x17,0xED,0x6F,0x9F,0xBC,0x89,0x30,0x02,0x8E,\r
+0x2B,0xBD,0x65,0xA1,0x07,0xC6,0xC6,0xAA,0xE5,0xE7,0x20,0x0E,0xC8,0xD0,0xD9,0x38,\r
+0x90,0x5F,0x40,0x31,0x74,0xB0,0x85,0xDB,0x13,0x6C,0x1D,0xE8,0x38,0x64,0x3D,0xBC,\r
+0xCE,0xD6,0xE2,0xB1,0x09,0xC3,0x9B,0x63,0xDA,0x62,0x40,0xED,0xA0,0xBA,0xA2,0x5A,\r
+0x30,0x8B,0x69,0xBB,0x57,0x61,0x1B,0xEA,0xB5,0xA3,0x1E,0xD7,0x79,0x84,0xE6,0x0A,\r
+0x00,0x9F,0xAA,0x16,0x7C,0xAE,0xAC,0xC8,0x41,0x22,0x2C,0x0C,0xF9,0xC5,0xC8,0x0C,\r
+0xFE,0xC2,0x21,0x1C,0x2E,0x2A,0x57,0x99,0x86,0x8A,0x8F,0x3B,0xE6,0x0B,0xB2,0x81,\r
+0xCA,0x1D,0xDA,0xE3,0xDF,0xD3,0xA4,0xE2,0x42,0x3E,0xE6,0x6C,0xAC,0xA0,0xB9,0x6C,\r
+0x7E,0xD9,0x8D,0x8A,0x4B,0x01,0xD1,0xE9,0xF1,0xD7,0x8D,0xCD,0xDF,0xBE,0xC4,0xD4,\r
+0xB7,0xA5,0xA9,0xFD,0xB8,0xDB,0x04,0x83,0x82,0xAE,0xC1,0x86,0x03,0xDD,0x8E,0x4D,\r
+0xD5,0xE0,0xEE,0xAB,0x4C,0x6D,0x01,0xDC,0xF7,0xF9,0xCC,0x4D,0x27,0xAA,0x47,0x31,\r
+0xF1,0xE4,0x53,0xE5,0xED,0x33,0x2F,0xE7,0x8F,0x14,0xF5,0xD4,0x32,0xC8,0x9F,0x79,\r
+0xD4,0x0F,0x99,0x0F,0x5D,0x5C,0x14,0xE8,0xF3,0xDD,0x82,0xF0,0x5B,0x45,0x96,0x85,\r
+0x10,0x44,0xEC,0xA7,0x95,0x0F,0xC7,0x7B,0x87,0x9C,0x4A,0x66,0x95,0x15,0xCF,0x39,\r
+0xC9,0xE3,0x8E,0x61,0x8B,0x4C,0x2B,0x69,0xA2,0x8F,0x79,0x74,0x36,0x72,0xE3,0x2E,\r
+0x98,0x4C,0x5E,0x18,0x46,0x50,0x0E,0xDE,0x37,0x69,0xEB,0xA7,0x3D,0x39,0x33,0x75,\r
+0x4F,0x22,0x39,0x83,0xE4,0x5A,0xA2,0x1B,0xFD,0x7B,0x7C,0xC2,0xAF,0x4B,0x0E,0x56,\r
+0x2C,0x88,0x09,0x71,0x73,0xDC,0x55,0xEE,0xAC,0x29,0x87,0x46,0x6B,0xB7,0xF5,0x2F,\r
+0xC2,0x0E,0xC4,0xCA,0xBD,0x94,0xF2,0xA7,0x24,0x61,0xC2,0xB9,0xFE,0x94,0x03,0x61,\r
+0x1E,0x8D,0xE9,0xFA,0xF8,0x3A,0x68,0x18,0x16,0x5E,0x96,0x08,0x41,0xD6,0xE2,0xC1,\r
+0xF4,0xC0,0x1C,0x13,0xD6,0xBA,0x29,0x1E,0x6E,0xB3,0xAF,0x91,0x58,0xAE,0x21,0xBF,\r
+0x45,0x20,0x04,0x8C,0xA4,0xBB,0xCE,0x80,0x4A,0xB6,0x59,0xDE,0xA2,0xB6,0x67,0xFE,\r
+0x99,0xA3,0x29,0xBC,0xCD,0xB6,0x33,0x28,0x7E,0xA7,0x4C,0xEF,0x12,0x05,0x2A,0x52,\r
+0xAA,0x49,0xBE,0x93,0xF7,0x48,0x91,0x3E,0x5B,0xB4,0x7F,0xFD,0xE1,0x5A,0x79,0xEC,\r
+0x9B,0xB2,0x0A,0x9A,0xF2,0x07,0x67,0x1A,0xAE,0x23,0x88,0x7B,0xC0,0x70,0xBE,0x59,\r
+0xC0,0x1F,0xE7,0xEC,0xF3,0x70,0xC3,0xF5,0xCE,0x52,0xED,0x2E,0xFF,0x73,0x71,0xFF,\r
+0x76,0xCA,0x93,0xA3,0xC5,0xA8,0x1A,0x3B,0xB6,0xBF,0xD4,0xB7,0x1D,0xF4,0x86,0x5E,\r
+0xEF,0xF6,0x10,0x09,0x1B,0xA6,0x0C,0xA9,0x2A,0xC7,0x3C,0x8B,0x90,0x48,0xC1,0xF0,\r
+0x0D,0xA8,0xFB,0xC9,0x19,0x85,0x2A,0xB8,0x8A,0x26,0x7E,0x34,0xD1,0xA8,0x1A,0x46,\r
+0x0F,0xB9,0xD8,0xEF,0x24,0x17,0x58,0x9B,0x07,0x5C,0xB0,0x2B,0x71,0x24,0x81,0x6B,\r
+0x25,0x74,0x60,0xFC,0xB1,0xB2,0x89,0x7F,0xC7,0xCC,0x97,0xC1,0x15,0x54,0xE1,0x3F,\r
+0x34,0x40,0x51,0xE9,0xFF,0x56,0xB8,0x2D,0x05,0x56,0xBF,0x16,0xCA,0xDC,0x1C,0x9C,\r
+0x6E,0x02,0xCB,0x3B,0x06,0xB1,0x62,0x45,0x2C,0xE9,0x7D,0x0B,0x83,0x9C,0xA0,0x4B,\r
+0x66,0x11,0xD5,0x12,0xEE,0x67,0xAD,0x19,0xF8,0x49,0xF7,0x22,0x13,0xE2,0x58,0xCC,\r
+0x2F,0x76,0x5D,0xF3,0xC6,0xFC,0x98,0xC5,0x53,0x3C,0xC0,0x4F,0x84,0xCD,0x6B,0x26,\r
+0x0A,0x9D,0x97,0x19,0x0C,0x8C,0x6D,0x47,0x89,0x3A,0xB4,0x54,0x78,0x63,0x94,0x94,\r
+0x38,0x98,0x77,0x92,0x80,0x06,0x80,0x84,0x95,0x82,0xA6,0x25,0x9B,0x03,0x11,0xAB,\r
+0x9E,0x96,0x45,0x6C,0x63,0x9A,0xE4,0x35,0x09,0xFA,0x4E,0x19,0x8A,0xDB,0xB5,0xB4,\r
+0x97,0x6A,0x2C,0xE1,0x51,0x7A,0x6F,0x30,0x51,0x36,0xCF,0x72,0x37,0x95,0x91,0xB0,\r
+0x8D,0xB3,0x57,0x5F,0x9A,0x7D,0x3E,0x5D,0x15,0x42,0x5C,0x68,0x18,0xA9,0x88,0x97,\r
+0x9D,0x68,0x11,0xEE,0xD0,0xA1,0x5D,0xC4,0x08,0xEC,0x8B,0x44,0xF7,0xD3,0x16,0x9E,\r
+0x1F,0x62,0x9E,0x5E,0x37,0x05,0x6B,0xBE,0x66,0x3B,0x10,0x23,0xF8,0x22,0xBA,0x92,\r
+0x3F,0xAD,0x1B,0x42,0x08,0xB4,0x3F,0x8C,0xDF,0x50,0xCB,0x0D,0x2F,0x0A,0x20,0x50,\r
+0x17,0x71,0x80,0x77,0xDE,0xA4,0x00,0x0D,0x78,0x89,0x0D,0x6F,0x75,0x9E,0xFD,0x3C,\r
+0xBC,0x48,0xE3,0x56,0x6A,0xF3,0x69,0xC9,0xB7,0xA9,0x11,0xEA,0x6A,0x50,0x87,0xB1,\r
+0xD1,0x2B,0xD6,0xF9,0xBB,0x8F,0x86,0x7D,0xD1,0xF6,0x35,0x3F,0x62,0xF0,0xE0,0xD0,\r
+0x7F,0x36,0xFA,0x2E,0x8C,0x20,0xFB,0x5C,0x06,0x4A,0x75,0x76,0x59,0x49,0x53,0x21,\r
+0x78,0x03,0x96,0xFE,0xDA,0x9C,0x52,0xC6,0xA4,0xA1,0x38,0xF4,0xC7,0x21,0x75,0x34,\r
+0x59,0x23,0x64,0x46,0xC3,0xB3,0x6E,0xE1,0x4F,0x84,0xD2,0x3E,0xBF,0x74,0xD8,0xD7,\r
+0xE5,0xF4,0x2D,0x06,0xFB,0x6E,0xEA,0xE6,0xCB,0x60,0x66,0xCE,0x49,0x76,0x85,0xA0,\r
+0x32,0x9A,0x4A,0x9D,0x41,0x3C,0xDE,0xEB,0xEF,0x65,0x90,0x81,0x4B,0x7A,0x40,0x04,\r
+0x7A,0x12,0xB5,0xD8,0x68,0xD0,0x4F,0xD8,0xBB,0x05,0xE0,0xE5,0xC5,0x2D,0xB0,0x90,\r
+0x27,0x65,0x43,0xDA,0xFC,0x02,0x3A,0xD3,0x60,0x15,0x51,0xA3,0x47,0x60,0x5B,0x32,\r
+0xD3,0x3A,0xF5,0xDF,0x55,0x42,0x3D,0xFB,0xA6,0xAB,0x37,0xC9,0xDD,0xB2,0x01,0x70,\r
+0x6D,0xFC,0x9F,0xB9,0x92,0x63,0x17,0x4E,0xD5,0xD2,0x7B,0x82,0xB8,0x25,0x13,0xBA,\r
+0x5F,0xF9,0x7F,0x32,0x70,0x88,0xD7,0x10,0x00,0x64,0x34,0xF6,0x1F,0xF8,0x43,0xFA,\r
+0x18,0x57,0xF2,0x8E,0x28,0x31,0x23,0x43,0xF2,0xCB,0x47,0xAD,0xCF,0x81,0x12,0x55,\r
+0x2D,0x67,0x7E,0xD5,0xAD,0xD2,0x43,0x7C,0xC3,0xE8,0xD9,0x7C,0x52,0x02,0x83,0x7A,\r
+0x4E,0xCD,0x4E,0x27,0x54,0x35,0x99,0x14,0xD2,0xEA,0xFF,0x5F,0x14,0xB3,0x93,0xA1,\r
+0x44,0xCF,0x73,0x28,0xA8,0x9D,0xB5,0x58,0x91,0xA6,0xE8,0x98,0xBD,0x78,0x1D,0x73,\r
+0xFF,0xEF,0x83,0x4B,0x9B,0x85,0x91,0xE4,0x19,0xB0,0x6F,0x86,0x91,0x41,0x33,0xDA,\r
+0x8F,0x1A,0x49,0xC9,0x71,0xA0,0x7A,0x2E,0x07,0xC3,0xD7,0xFB,0x33,0x1F,0xB3,0x53,\r
+0xA3,0xCD,0xE7,0xD4,0x5A,0xF5,0x1E,0xC6,0xEA,0x49,0x14,0x77,0x9A,0x91,0x78,0x81,\r
+0x4F,0x5C,0xCE,0xE7,0x1F,0xBD,0x96,0x39,0x70,0xE7,0xAB,0x32,0xB7,0x4D,0x48,0x02,\r
+0x14,0x2F,0x61,0x15,0x90,0xE9,0x1D,0xA6,0x44,0xB5,0xA6,0x88,0x16,0xA4,0x23,0xB1,\r
+0xC2,0xE0,0x89,0x49,0xB9,0xE1,0x0E,0xB8,0xD1,0x26,0x1B,0xC7,0x97,0xF8,0x85,0x29,\r
+0x1D,0x68,0x74,0xEA,0x84,0x6A,0xF8,0x5E,0xD7,0xAF,0xE2,0xFC,0x7A,0xA3,0xF3,0x84,\r
+0xC0,0xEC,0x4C,0xED,0xC4,0xD6,0x2F,0x17,0x20,0x29,0x17,0x6B,0x4A,0xC0,0x01,0x2E,\r
+0x0B,0xE1,0x1B,0x98,0x36,0xB5,0x85,0x27,0x38,0xD3,0x56,0x2D,0x9E,0xED,0xC2,0xD6,\r
+0xF7,0x4F,0xE4,0x2A,0x42,0xB3,0x5F,0x3C,0xE6,0x4B,0xB0,0xB2,0x9B,0xE3,0x9F,0x1F,\r
+0xB6,0xAF,0x3F,0x9C,0x62,0x8A,0xB7,0x96,0x54,0x32,0xCD,0x6D,0x7B,0xD1,0x14,0x1A,\r
+0x38,0xF8,0xCF,0x08,0x12,0xEA,0xE3,0xF2,0x16,0x8D,0x6D,0x8C,0xCA,0xEE,0x40,0x28,\r
+0x60,0x60,0xD7,0xC0,0x75,0xC6,0xF4,0x51,0x52,0xBB,0x34,0x56,0x7D,0x68,0xA2,0xE9,\r
+0xF0,0x1E,0x2F,0x47,0xFF,0x66,0x20,0x78,0xB2,0xFA,0x82,0x8D,0xCF,0xE0,0x1D,0xE1,\r
+0x3A,0xF4,0x0A,0xAC,0xE4,0xEF,0xC7,0xBD,0x35,0x18,0x23,0x7A,0x35,0xA6,0x05,0xA0,\r
+0xCC,0xF6,0x57,0xDB,0x50,0x0B,0x43,0x4D,0xC9,0xDC,0x5A,0x81,0xB1,0xF4,0xFE,0xF1,\r
+0x25,0x3A,0x70,0x21,0x6B,0xBB,0x4C,0x22,0xC6,0xE1,0x58,0x8B,0x55,0xBA,0xCF,0xA3,\r
+0xC1,0x0B,0x3E,0x73,0x7E,0xAA,0x78,0x13,0x73,0xD8,0x0D,0xFD,0x98,0x54,0x74,0x25,\r
+0xEF,0xD0,0x55,0xCA,0x7C,0xF7,0x0F,0xE5,0x8C,0x23,0xD2,0xC9,0x2D,0x17,0x9A,0x40,\r
+0x53,0x79,0x03,0x50,0xAC,0xF0,0x3A,0x89,0xA9,0x3F,0x65,0x04,0xFD,0x46,0xE3,0xEF,\r
+0x64,0xDA,0xAB,0x97,0x6D,0x80,0xB5,0xAB,0xC3,0x57,0x07,0x7F,0xBF,0x2A,0xE8,0x63,\r
+0xF6,0xA8,0x96,0xB4,0x4B,0x82,0xA4,0x88,0x9D,0x6D,0x68,0xBE,0x93,0x84,0x3F,0x7E,\r
+0xFC,0x04,0x34,0x71,0x7B,0x5E,0x27,0xA5,0x45,0x7C,0x77,0x1A,0x9F,0x9F,0x25,0x48,\r
+0x80,0xEB,0xE5,0xC5,0xD4,0x33,0x44,0x90,0x96,0x2F,0xE4,0xD2,0xEA,0x5B,0x8D,0x03,\r
+0xB9,0x5E,0x93,0x90,0x3D,0xD9,0x09,0x65,0x8A,0xAA,0x2B,0xF2,0x73,0xB6,0xB4,0x7B,\r
+0x66,0xD6,0x6E,0x33,0x15,0x43,0xCB,0xB2,0xD9,0x5B,0x31,0x64,0xD6,0x23,0x65,0x9F,\r
+0xB4,0xA3,0xFA,0x38,0xBA,0x2E,0xA8,0x87,0xBB,0x4E,0x79,0xBC,0xD4,0xE6,0x69,0x3B,\r
+0x2A,0xCB,0xDC,0x2D,0xF7,0xC5,0x0A,0x05,0xF0,0x45,0x22,0x6C,0x07,0x00,0xFB,0xAE,\r
+0x02,0xA6,0x0E,0x67,0x32,0xD3,0x0B,0x58,0x46,0x43,0xD1,0xD5,0x82,0x20,0xE7,0x61,\r
+0xA2,0x2A,0x95,0x4A,0xFC,0xA9,0x86,0x47,0x27,0x69,0x3F,0xC2,0xF4,0x53,0xA4,0x10,\r
+0x11,0x72,0x6F,0xDC,0xB7,0x79,0xDD,0x4C,0x97,0xE6,0x35,0x40,0x15,0x13,0xC8,0x8B,\r
+0x19,0xD2,0x08,0xBD,0x93,0x26,0xBB,0x99,0xC7,0x28,0x89,0x19,0x83,0x52,0x00,0xFF,\r
+0xD7,0x82,0x51,0x01,0xF5,0x98,0x7D,0xF3,0xAD,0x40,0xEB,0x62,0x20,0x7E,0x67,0xE8,\r
+0xC7,0xBD,0x87,0x80,0xC0,0xB0,0xA1,0x68,0x83,0x1E,0xD0,0xC3,0x9D,0x5A,0x29,0xEC,\r
+0xEE,0x37,0x27,0x54,0xAA,0xCB,0xC3,0x00,0x8E,0xD5,0xA5,0x94,0x63,0x60,0x8B,0xFA,\r
+0x46,0x1B,0xDB,0x18,0xA5,0xC1,0xC1,0x3D,0x98,0xDB,0x37,0x4A,0xE0,0xF9,0x21,0xC6,\r
+0x76,0xE9,0xB8,0xB2,0xDC,0x90,0x6E,0xED,0x86,0xA8,0x8F,0x37,0xDA,0x38,0x7F,0xA9,\r
+0xD2,0xDF,0x5F,0xC8,0x6C,0x12,0x64,0x62,0x53,0x72,0xE5,0xC4,0xFE,0xF1,0x08,0xD5,\r
+0xA1,0xC1,0x22,0x70,0x57,0xA2,0x6B,0x0D,0x41,0x03,0xF9,0x7C,0x94,0x4F,0x6E,0x13,\r
+0x42,0xA1,0xA7,0x4F,0x0C,0x97,0x5B,0x81,0xE5,0x74,0x16,0x7D,0x79,0x14,0x18,0xBE,\r
+0x06,0x1C,0x72,0x30,0x8F,0x06,0x74,0x1C,0x4A,0x41,0x75,0x10,0xA7,0x9B,0x77,0x83,\r
+0x5C,0x88,0xAF,0x5C,0x49,0xDF,0xD3,0x7E,0x28,0x54,0x3D,0xC8,0x3E,0x76,0x4E,0xFB,\r
+0xCE,0xFA,0x92,0x7F,0x6A,0x29,0x9D,0xEB,0xCA,0xE3,0xFC,0x4E,0xF8,0x48,0xBE,0x26,\r
+0x67,0x31,0x1C,0xAD,0x7D,0x65,0xDE,0x2C,0x76,0x6E,0x52,0x09,0xC4,0x30,0x56,0xBA,\r
+0x8B,0xA0,0x35,0x9E,0x92,0xB4,0x6A,0x50,0x5F,0x70,0x41,0x01,0xF5,0x21,0x43,0x8E,\r
+0x84,0x51,0x99,0x92,0x09,0x63,0x04,0x37,0x3C,0xAC,0xD8,0x4B,0xBE,0x58,0x0F,0xFD,\r
+0x21,0x80,0x0C,0x76,0x5B,0x67,0xCF,0x0F,0xF1,0x8C,0xF3,0xFE,0x5D,0xDD,0x6F,0xC2,\r
+0xBC,0x03,0x9D,0x59,0xC5,0x44,0xFE,0xDE,0xF2,0xB3,0x55,0x31,0x08,0xAC,0x0A,0xA2,\r
+0x0E,0xBC,0x15,0x51,0xDD,0x02,0xBF,0x24,0x26,0xA0,0xEE,0x50,0xA9,0x45,0x61,0x11,\r
+0x09,0xED,0xDE,0x3C,0x63,0x18,0x66,0x5F,0xD5,0x59,0x95,0xA1,0x52,0x71,0x9E,0xCE,\r
+0xFB,0x55,0xFF,0x1C,0xB0,0xD0,0xF5,0x0C,0x13,0x3B,0x32,0x78,0xCD,0x25,0x11,0x45,\r
+0x10,0x95,0x1D,0x42,0x3B,0xE2,0xF0,0xEC,0xB1,0xC5,0x24,0x42,0x5A,0x16,0x3E,0xAF,\r
+0xE9,0x66,0xEC,0x39,0xEE,0x11,0x9A,0x36,0x2E,0xDD,0xC4,0xF3,0xD9,0x8F,0x94,0x93,\r
+0x75,0x02,0x0F,0x88,0x10,0xB7,0x94,0x04,0x99,0x12,0xE6,0xD8,0x1A,0xBF,0x39,0x87,\r
+0x31,0xBF,0xDA,0xF7,0x5D,0x5C,0x36,0x86,0x4C,0xC8,0x8C,0x2B,0x77,0xCA,0x0E,0x2C,\r
+0x71,0xB8,0x73,0xDF,0x58,0xA8,0x69,0x30,0xAB,0xC9,0x12,0x59,0x6F,0x7B,0x91,0xCC,\r
+0x6B,0x2B,0x07,0x9B,0xDE,0xCD,0x19,0x1B,0x22,0xDF,0x60,0x36,0x1F,0xB1,0x64,0x4E,\r
+0x44,0x17,0x1E,0xBC,0x4D,0xB9,0x5D,0x01,0x89,0x95,0x8D,0x3D,0x48,0x05,0x0D,0x8A,\r
+0x6C,0x7A,0xCC,0xF6,0xB6,0xEB,0x0C,0x85,0xD8,0x92,0xE0,0xF6,0x8E,0x3B,0xFD,0x57,\r
+0xCB,0xA7,0x9C,0xB6,0xF9,0x5D,0xD9,0xF1,0x87,0x61,0x5E,0xA5,0x9C,0x28,0xCE,0x72,\r
+0xF9,0x59,0x3A,0xB8,0xCC,0x75,0x05,0x6A,0x47,0x8A,0x00,0x47,0x7F,0xAD,0xAE,0x4D,\r
+0xE8,0x81,0x9E,0xA7,0x24,0x0D,0x99,0x56,0x06,0x0A,0x06,0x69,0xA4,0x2C,0x9C,0xB9,\r
+0xAE,0x30,0x8E,0x7C,0xB5,0x24,0xAA,0xBA,0x34,0xD1,0xF2,0xE8,0xAD,0x39,0xDB,0x46,\r
+0x34,0xE2,0xD4,0x3E,0xD3,0x9A,0x6C,0xD0,0x2C,0x2B,0xB3,0xAE,0xE2,0x3C,0x2D,0x62,\r
+0x4F,0x9B,0xD1,0x1E,0x8C,0x3F,0x34,0x2E,0xDE,0xD5,0xB0,0x6E,0x92,0x91,0xCB,0xB9,\r
+0x1E,0x50,0xBC,0x19,0x96,0xE6,0x4F,0x90,0x2F,0x26,0x49,0x15,0x6D,0x4E,0xFF,0x42,\r
+0xA6,0x71,0x9C,0xEB,0x5E,0x75,0x1C,0x43,0xF6,0xE0,0x2B,0xB2,0xE2,0xC5,0xAB,0xDD,\r
+0x66,0x93,0xC2,0x00,0x6C,0x70,0xFC,0xC8,0xCC,0x42,0xD5,0xA4,0xCD,0x2F,0x98,0x4A,\r
+0x95,0x62,0xB9,0xF9,0x9F,0x1A,0x26,0x1D,0x7D,0xDD,0xCD,0x44,0x67,0x13,0x01,0xC9,\r
+0xF1,0x81,0x08,0x65,0x39,0x14,0x14,0xE3,0x56,0x6A,0x02,0x66,0xCA,0x07,0x31,0x0A,\r
+0x4C,0x54,0x77,0x21,0xD2,0xB6,0x96,0xAE,0xA5,0xBF,0xD8,0x0C,0xFD,0xAC,0x44,0x67,\r
+0x4B,0xFD,0x5F,0x61,0x26,0xE9,0x20,0xAB,0xD7,0x58,0xD9,0x92,0x62,0x4C,0xF5,0x7F,\r
+0xD8,0x89,0x1B,0x7B,0x43,0x99,0x0B,0x2D,0xB8,0xD1,0xCF,0xE0,0x97,0xCE,0x3F,0x0F,\r
+0xE4,0x90,0x3C,0x54,0x37,0xDD,0x11,0xBE,0xB3,0x7A,0x85,0x0D,0xFE,0x0A,0x8B,0x58,\r
+0x89,0x42,0x76,0x7C,0x65,0x8C,0x95,0x45,0x78,0x2B,0x82,0x60,0x0E,0xD7,0xB5,0x9E,\r
+0x54,0x12,0x36,0xDB,0xD3,0x59,0xE1,0x0A,0x2B,0x74,0x71,0xDE,0x3D,0xF2,0xA6,0x8C,\r
+0xAA,0xB4,0x38,0xE9,0xFB,0x85,0x7A,0x3F,0xC9,0xB4,0x9A,0x80,0x5D,0xCD,0x23,0x6F,\r
+0x72,0x10,0x27,0xF8,0x83,0x19,0x46,0xD7,0xE7,0xF5,0x1A,0x86,0x6F,0x39,0xA2,0xB4,\r
+0xC3,0x00,0xFC,0xBE,0xAA,0x2A,0xAA,0x46,0x66,0xC7,0xC1,0x72,0x28,0xC6,0xB7,0xBD,\r
+0x11,0x5A,0xBE,0x24,0x14,0xEC,0xC0,0x20,0x20,0xDF,0x3B,0x33,0xDE,0xE2,0xB2,0xF2,\r
+0x71,0xDF,0x81,0xC7,0x16,0xFD,0xE3,0x06,0xEC,0x5E,0x50,0x6B,0x94,0x68,0xF0,0x30,\r
+0x4E,0x09,0x00,0xD7,0x3E,0x21,0x78,0x33,0x4D,0x70,0x0E,0x50,0xDA,0x6C,0xD4,0x8D,\r
+0xC4,0xA9,0xD4,0xFE,0x45,0x43,0x10,0x59,0x1A,0x7D,0xC5,0x25,0x78,0x7A,0xEE,0x73,\r
+0xE8,0x55,0x98,0x56,0x4F,0x41,0x2D,0x56,0xC4,0x6B,0xCB,0xB7,0xD2,0x46,0x77,0xF0,\r
+0x1A,0x36,0x32,0x66,0x1E,0xEE,0xFD,0x2F,0xB9,0x75,0xB8,0x0F,0x8C,0x29,0xB6,0xCA,\r
+0x2C,0xD1,0x48,0xC2,0x9C,0xE4,0x72,0x9F,0x4A,0xA0,0x62,0x65,0xFB,0x55,0x7F,0xEE,\r
+0x32,0xAC,0xF0,0xB1,0x2C,0xEB,0x1D,0xA4,0xF2,0xB2,0x13,0x79,0x9D,0x93,0xC1,0x84,\r
+0x52,0x29,0xCF,0x52,0x19,0xDB,0x91,0xFF,0xF3,0x16,0x64,0x96,0xEB,0x3E,0x9A,0x69,\r
+0xEF,0xFC,0xB0,0x16,0x88,0xF4,0x0C,0x7C,0x9E,0xB9,0x51,0xF5,0x84,0x03,0x15,0xB7,\r
+0x7B,0x21,0xDC,0x4C,0x51,0x53,0x6E,0xBA,0x46,0xDB,0x44,0xBD,0xBD,0x7B,0xF8,0x2E,\r
+0x09,0x1C,0xFF,0xDE,0xA7,0x1D,0xFB,0x99,0xC0,0x39,0xF3,0x7C,0x4D,0xA6,0xC6,0xE8,\r
+0xC2,0x92,0x2D,0x77,0xEB,0x5E,0x3C,0x8E,0x87,0x85,0x7E,0xD2,0xA5,0x3A,0xBE,0xD4,\r
+0x53,0xBB,0x1E,0x9B,0x3A,0xEA,0x40,0x61,0x8F,0xAC,0x60,0xC1,0xB0,0x0E,0xAF,0xE5,\r
+0xA2,0x17,0x12,0x94,0xED,0x84,0x27,0xFA,0xC5,0xCF,0xBC,0x58,0xFC,0x7D,0xD6,0xAE,\r
+0x73,0x82,0xF6,0x31,0xE9,0x4F,0x1F,0xA8,0x70,0x02,0x9C,0x73,0x9C,0x42,0x53,0x4D,\r
+0xF0,0x13,0xD9,0xAC,0xCA,0x7E,0xCE,0x36,0xBF,0x01,0xA3,0xD5,0xF9,0x22,0x22,0x18,\r
+0xC9,0xFE,0xA1,0x35,0x35,0xCC,0x32,0x98,0x05,0x35,0xF1,0xD8,0x3C,0x23,0x34,0x45,\r
+0xF8,0xB0,0xF3,0xD1,0x24,0xF8,0x03,0x8D,0x73,0x80,0xC8,0x8D,0x87,0xA5,0xDA,0x88,\r
+0x23,0xDB,0x4A,0xFF,0x79,0x8F,0xF5,0x8F,0x47,0x7F,0x33,0x52,0x69,0xC0,0x99,0x3D,\r
+0x8A,0x8D,0xD0,0x43,0x7E,0xBA,0x99,0x5F,0x8A,0x5A,0x2F,0xE5,0x10,0x6F,0xC8,0xED,\r
+0x29,0x25,0x17,0x74,0x0E,0x35,0xBB,0x9E,0xF1,0x30,0x47,0x87,0x1B,0xE3,0xA4,0xAF,\r
+0x5B,0x18,0x34,0xE6,0x0C,0x24,0x98,0xB8,0x30,0x6E,0x7D,0xE8,0xCC,0xFE,0x0A,0x83,\r
+0xF7,0xBA,0xF1,0xEC,0xD0,0xA7,0xB5,0x88,0x94,0xB6,0x6C,0xF7,0xD6,0xC8,0x11,0x8F,\r
+0x18,0x6B,0x45,0x90,0xBD,0xC4,0x80,0x27,0x5C,0x65,0x3F,0x64,0x7E,0x83,0xD5,0xFA,\r
+0xAD,0x1D,0x10,0xA9,0x57,0x89,0x75,0xCE,0x7C,0x79,0xBA,0xAB,0x47,0xFB,0x38,0x63,\r
+0x25,0xE0,0xB3,0x76,0xCD,0x4B,0xA2,0xE6,0xEA,0x2A,0x4B,0xB1,0x96,0x1F,0xAD,0xC6,\r
+0x50,0x74,0xB8,0xA4,0xA0,0x28,0x97,0x49,0x32,0x48,0x5E,0xF9,0x9A,0xBB,0x68,0xC4,\r
+0x38,0x52,0xAD,0x3A,0x4B,0x8A,0x15,0x04,0xE2,0x03,0x55,0xA2,0x08,0x2E,0x8E,0x17,\r
+0x55,0x80,0xE7,0x12,0x5D,0x8B,0x48,0xC1,0x5B,0xB5,0x53,0x51,0x14,0xE1,0xAE,0x92,\r
+0xD9,0x1B,0xCA,0xB2,0x27,0x06,0x57,0x0F,0x4C,0xD4,0x79,0xBF,0x57,0x90,0xDD,0xE4,\r
+0x81,0xE1,0x5C,0x01,0xF7,0x5D,0x5C,0x44,0xCE,0x64,0xF6,0xB5,0x3B,0x0B,0x9D,0x05,\r
+0x21,0x86,0x3D,0x09,0xA8,0x3B,0x89,0x60,0x97,0x34,0x38,0x09,0xF3,0x7F,0xDC,0x93,\r
+0x1C,0x0D,0xCB,0xEF,0x0B,0x11,0xF4,0x68,0x08,0xEA,0xA0,0xEF,0xC0,0x5A,0xCF,0x81,\r
+0xE9,0xC7,0x49,0x9F,0x2E,0xFA,0x3E,0x82,0x75,0xF4,0xD3,0x57,0x40,0xD3,0x91,0x23,\r
+0x3E,0x69,0x54,0xB3,0x7B,0x9E,0xD6,0xA9,0xF9,0x19,0x59,0x94,0x8B,0x01,0x1F,0x8A,\r
+0xAF,0x40,0x67,0x5F,0x33,0x16,0x29,0xEC,0xBC,0x83,0xF7,0x2B,0xBB,0x82,0xC3,0xA7,\r
+0xDC,0xEF,0x95,0x04,0x67,0x9D,0xB6,0x63,0x06,0xB7,0xA5,0x26,0xD0,0x31,0x2A,0x06,\r
+0x13,0x07,0xC9,0xD2,0x6F,0x8E,0xA8,0x4A,0x49,0x22,0x36,0x9B,0x76,0xA9,0x76,0x87,\r
+0x9B,0xFA,0x6A,0x0D,0xE4,0x78,0x4E,0x77,0x72,0x24,0xBF,0x62,0x00,0x04,0x2D,0x6A,\r
+0x1F,0xC2,0x6D,0xD0,0x58,0xAF,0x07,0x37,0xE5,0xD3,0x39,0x97,0xF2,0xAE,0x4E,0x5A,\r
+0x12,0x95,0x18,0x1B,0x3B,0x05,0x37,0xC5,0xA3,0xCB,0xC3,0xD6,0x31,0x56,0x63,0x8E,\r
+0xBC,0x6A,0xAA,0xE7,0x3D,0xDF,0x2C,0xB1,0x3C,0x15,0x5B,0x30,0x6C,0x9F,0x6D,0x8B,\r
+0x5C,0xB1,0x1C,0xA6,0x04,0x37,0x86,0x91,0xE3,0xA7,0x22,0x4D,0xE7,0x9A,0x5F,0x6B,\r
+0x0B,0x41,0x88,0x28,0x64,0x63,0xE2,0xE1,0x02,0xE5,0x9D,0xED,0xB3,0xA8,0x60,0xDA,\r
+0x93,0x59,0x40,0x70,0x48,0x74,0x41,0x86,0xD8,0xA1,0xAB,0xB4,0x51,0x69,0xE6,0x6D,\r
+0xED,0xA1,0xC7,0xE0,0xE8,0xA0,0x68,0x0C,0x03,0x41,0xEA,0x02,0xEE,0x61,0x6E,0xDF,\r
+0x07,0x84,0x2C,0x2A,0x61,0x47,0xAD,0x17,0xF4,0xC6,0x08,0xA3,0xF6,0x20,0x28,0x25,\r
+0x05,0xD9,0x5B,0xDC,0x85,0xC3,0x5D,0xA3,0x0F,0x3A,0xCC,0xDA,0x0D,0x71,0x7A,0xA1,\r
+0xFD,0x52,0xC4,0x95,0x04,0xA6,0xD0,0xBA,0xBC,0x48,0xF0,0x87,0x82,0xA2,0x56,0x1B,\r
+0x42,0x10,0x25,0x35,0x50,0x99,0xE2,0x0B,0xEB,0xC6,0x64,0x77,0xE6,0xC2,0x26,0x4F,\r
+0x3B,0xA2,0xFA,0x48,0xDB,0xAB,0xE7,0xEB,0x0B,0x87,0xD2,0xAC,0x4C,0xFB,0x06,0xA7,\r
+0xA3,0x7C,0x65,0xAE,0x86,0xA5,0x2E,0xEE,0xA5,0x7B,0x60,0x53,0x57,0xFD,0x72,0x7D,\r
+0xAC,0x8D,0xC9,0xA2,0xBA,0xBC,0x09,0xC1,0xB2,0xBC,0x23,0x1F,0x3D,0x43,0x14,0xBB,\r
+0x68,0x71,0x32,0xDB,0x41,0xEE,0x58,0x45,0xB0,0x4A,0x54,0x42,0xCD,0xA7,0xA0,0x3F,\r
+0x8A,0xF6,0xC5,0x7A,0x59,0xA8,0x19,0xBF,0x5A,0x80,0xBF,0x67,0x08,0x2E,0xBB,0xD8,\r
+0xCB,0x16,0x1E,0xCC,0xE6,0x20,0x11,0x0D,0x24,0x10,0x38,0x9F,0x21,0x8E,0x31,0x0C,\r
+0x97,0x34,0x7A,0x53,0x0C,0x05,0xFA,0xC7,0x18,0x3F,0x1F,0x86,0x49,0xF5,0x5B,0x6E,\r
+0x39,0xAE,0x3F,0xEC,0x3C,0xD9,0x79,0xEA,0x89,0xD3,0x2C,0xAF,0xB6,0xBD,0x1E,0xE6,\r
+0xB3,0x43,0xB3,0x2F,0xF7,0x57,0xAB,0x43,0x5E,0xFF,0x31,0x01,0x5E,0xE8,0x35,0x82,\r
+0xC0,0x5D,0xCE,0x97,0x77,0x09,0x22,0xE1,0xAB,0x8F,0xB3,0xCB,0x94,0xCD,0xDF,0x69,\r
+0x59,0x64,0x23,0xEF,0x45,0x88,0xD6,0x3A,0xA8,0xB0,0x15,0x04,0x67,0x9E,0x80,0xD7,\r
+0xDF,0x93,0xB4,0x1A,0xB7,0xEB,0x7C,0x0A,0x2C,0x6D,0x12,0x3C,0x2E,0x22,0xC0,0x00,\r
+0x56,0x95,0x8F,0xE3,0xC1,0xB0,0xD1,0xE7,0xA4,0xB2,0xB1,0xC1,0xC8,0xA9,0xFD,0xF6,\r
+0xC5,0x00,0xC0,0x5E,0x67,0xEC,0x49,0x66,0x6B,0x64,0xED,0x29,0xD6,0xA1,0xD4,0xE5,\r
+0x35,0xB4,0x24,0xDA,0xBF,0x48,0x56,0x77,0x8F,0x5A,0xD5,0x94,0x75,0x8D,0xB3,0xF2,\r
+0x3E,0xFF,0xF4,0x81,0x2D,0xAE,0xC3,0xA4,0xE7,0xC4,0xC0,0xB2,0xF7,0x66,0xFE,0x50,\r
+0x2B,0x9D,0x2C,0xC9,0x21,0x6B,0x67,0xA6,0x92,0x16,0xCB,0x26,0xC2,0x0B,0x51,0x33,\r
+0xDA,0xCE,0xBA,0xD3,0xF0,0xFE,0x83,0x03,0x1A,0xC9,0x68,0xDB,0x15,0x91,0x79,0xF1,\r
+0x58,0x83,0x51,0x71,0x44,0x1A,0x07,0xF3,0x96,0x69,0x45,0x40,0xE9,0x6E,0xD7,0x43,\r
+0x96,0xD3,0x08,0xCD,0x8C,0x5B,0x73,0x65,0x36,0x61,0x24,0x27,0x3C,0x31,0xF3,0x25,\r
+0x19,0x63,0x8A,0xC7,0xE0,0x1B,0xE8,0x84,0x6E,0xD2,0xB2,0xDD,0x37,0xE1,0xB8,0x7E,\r
+0x33,0x02,0x9D,0x29,0xA3,0x68,0x99,0xF2,0xE2,0x72,0x9F,0x46,0x28,0x9B,0x76,0xF3,\r
+0x4F,0xED,0x4C,0x9D,0xA7,0x0E,0x17,0x8D,0x3D,0x23,0xA8,0x4B,0xF9,0xB8,0xE8,0xC2,\r
+0x53,0xC8,0x81,0x2A,0xDE,0x5F,0xB8,0x5D,0x94,0x9F,0x32,0x1D,0x95,0xBF,0x38,0xF7,\r
+0xA8,0x37,0xB5,0xF5,0x30,0x1C,0xDD,0xE8,0x4F,0xB1,0x8B,0x76,0x63,0xE2,0x3A,0x80,\r
+0x91,0x82,0xC3,0xA0,0x8B,0xF2,0x5B,0x25,0x7E,0x55,0xD9,0x38,0x52,0xF3,0x2F,0xB4,\r
+0x5F,0xD2,0x9A,0x1C,0xC9,0x13,0xFB,0x9A,0xAF,0xF0,0x3D,0xAD,0xE0,0x7B,0x90,0xBC,\r
+0x0C,0x01,0x52,0x8F,0x61,0xD7,0xB0,0xEF,0x40,0x8C,0x89,0x7C,0xD5,0x16,0x3F,0xDF,\r
+0x1D,0xD9,0xF6,0x90,0x7B,0xCC,0x86,0xE3,0xEC,0x86,0x4C,0xDE,0xF8,0xCA,0x0F,0x5C,\r
+0x27,0x87,0x37,0xFF,0xAC,0x62,0x9B,0xCF,0x9E,0x14,0x6F,0xE3,0xDB,0xC8,0x29,0x4D,\r
+0x1E,0x32,0x41,0xAA,0x12,0x78,0x42,0xB4,0x75,0x17,0x55,0x54,0x5C,0x2D,0x39,0x26,\r
+0x93,0x8E,0x06,0x04,0xFA,0x00,0xDE,0x88,0xBE,0xBE,0x87,0xDA,0x9B,0x61,0x2E,0x65,\r
+0x24,0x6C,0x80,0xC5,0x0A,0x3E,0x03,0x4E,0xCC,0x2C,0xA4,0xE7,0x0E,0x97,0x0D,0x2B,\r
+0x31,0x0E,0x58,0x8D,0x33,0xD3,0x7B,0xD7,0x58,0x76,0xC8,0x3A,0x6C,0x4E,0xCB,0x8C,\r
+0xC3,0xB6,0x79,0xAD,0x4E,0xE4,0x5A,0x78,0x47,0xCC,0xA1,0xD5,0xAE,0x0C,0x81,0x06,\r
+0xFC,0xB5,0xB6,0x0B,0x2B,0x95,0x3A,0x2D,0xC4,0x51,0x8E,0x44,0x7F,0x2F,0x1F,0x37,\r
+0xDC,0x78,0x03,0x20,0x4B,0x10,0x05,0xCE,0x15,0xF4,0x6A,0xD1,0x47,0x2B,0x4D,0xFC,\r
+0x00,0x1B,0x49,0xB9,0x07,0x69,0x76,0x85,0xE4,0xFB,0x66,0x7D,0x20,0xFC,0xD6,0x92,\r
+0xAB,0xDC,0x02,0xCF,0x65,0xB1,0x3E,0x90,0x5F,0x36,0xE0,0x93,0x4D,0x89,0xE1,0x39,\r
+0xA5,0xCA,0xDC,0x5D,0xCF,0x28,0x02,0x13,0x73,0x9E,0xAC,0x6F,0x70,0x83,0xEE,0x3B,\r
+0x6E,0xC7,0x8B,0x28,0x6D,0x12,0x14,0xED,0xF9,0xB7,0x78,0xCF,0x18,0xF8,0x84,0x59,\r
+0x30,0xE9,0x2A,0x13,0x23,0x36,0x10,0x50,0xC6,0xA7,0xF9,0x19,0x83,0xD0,0xB1,0x85,\r
+0x04,0xA1,0x35,0xEE,0x5C,0x5C,0x46,0x09,0xE5,0x32,0xB7,0xEF,0xF1,0xDF,0x48,0xA3,\r
+0x73,0x05,0x34,0x01,0x2A,0x07,0xEB,0xE4,0x85,0xD1,0x88,0x6A,0x7D,0xEA,0x13,0x93,\r
+0x02,0x17,0x8C,0x1D,0x4C,0xB9,0x2D,0x8E,0x9B,0xA2,0x30,0x17,0x12,0x5A,0x28,0x9C,\r
+0xD8,0xC2,0x7F,0x77,0x3B,0x70,0x51,0xAA,0xAD,0x06,0x4A,0xF0,0x9D,0xD8,0x98,0x96,\r
+0x11,0xC3,0xED,0xA6,0x8A,0x60,0x8A,0xEC,0xE3,0xBB,0x4E,0xD4,0x81,0x15,0xBD,0x21,\r
+0xE2,0x9C,0xBE,0x18,0xB9,0x73,0xAF,0xFE,0x3E,0x1C,0x0E,0x84,0xF5,0xA3,0xF2,0xF4,\r
+0xE5,0xCD,0x75,0x75,0x49,0x4D,0x72,0x38,0x53,0x34,0x44,0x56,0x71,0xF1,0x09,0xA5,\r
+0xAF,0x66,0x7E,0x98,0x20,0xF9,0xB6,0x6F,0x6F,0x1B,0x63,0x4F,0x6B,0x85,0x9A,0xE1,\r
+0x5B,0x68,0xE6,0x4B,0x69,0x74,0x9A,0x92,0xA6,0x44,0xC6,0x9C,0xA0,0xD2,0x97,0x94,\r
+0xA1,0x70,0xA0,0x0A,0x9F,0x71,0xBE,0xDD,0x74,0xDE,0x84,0xC6,0xCA,0x6C,0xF1,0x52,\r
+0x7A,0x42,0x21,0xFE,0xD8,0x64,0x41,0xD4,0xC5,0x98,0x5F,0xD6,0x26,0x45,0x60,0x61,\r
+0xFA,0x03,0x0F,0xF8,0xEA,0xE5,0xB5,0x0F,0x1D,0x89,0x40,0x72,0x1A,0x3D,0x88,0xFD,\r
+0xB5,0xF5,0x0A,0xDC,0x7A,0x5E,0x57,0x2A,0xD1,0x60,0xBA,0x55,0x9C,0xAA,0x7F,0x08,\r
+0x4B,0x57,0x30,0xCA,0x55,0x6D,0xBD,0xBD,0x11,0x8B,0xE4,0xB7,0x7C,0x98,0xF4,0x0D,\r
+0x29,0x91,0xE9,0x6D,0xDA,0x39,0x36,0x22,0xA9,0x79,0xC4,0x96,0x2F,0x50,0x27,0x9E,\r
+0xD0,0x62,0x18,0x16,0x25,0x0D,0xE9,0xD9,0xF8,0x7E,0xA9,0x5D,0x54,0x4A,0x99,0x47,\r
+0xB9,0xEF,0x11,0xEA,0xD5,0x33,0x34,0x1F,0xFC,0x01,0x27,0x3B,0x40,0xE0,0x1C,0x91,\r
+0xB8,0x08,0x63,0x74,0x4A,0x82,0xD4,0x07,0xFB,0x41,0x0F,0x92,0xF6,0x14,0x19,0xCE,\r
+0x62,0xDD,0x90,0x1E,0x7D,0xF7,0x7F,0x6A,0x46,0x05,0x70,0x47,0x74,0xFF,0x54,0x6C,\r
+0xAD,0x6A,0xBB,0x3C,0xD0,0xC7,0x6B,0xA9,0x22,0x99,0xC1,0xA4,0x46,0x59,0xAA,0x62,\r
+0x16,0x7C,0xBA,0x80,0xBC,0xFC,0x07,0x38,0xC8,0xED,0xB1,0xB3,0x6F,0x46,0xB8,0x7B,\r
+0xFB,0x36,0x11,0x8B,0xEB,0x95,0xB3,0xFC,0xE7,0xCA,0xA8,0x8F,0x2B,0xD5,0xA2,0x0F,\r
+0x96,0x31,0x40,0x40,0x2D,0x65,0x8D,0x21,0xCF,0x80,0x7A,0xE2,0x7A,0x2E,0x26,0x5D,\r
+0x28,0xC2,0x1F,0x13,0x3F,0x56,0x9E,0x04,0x68,0xC0,0x2A,0x3F,0xAF,0x61,0x52,0xEB,\r
+0x76,0x29,0xDF,0xF1,0xDC,0x36,0x1B,0x3B,0x5A,0xCE,0x8C,0xC1,0x73,0x54,0xC9,0xC3,\r
+0x70,0xA9,0x9E,0xDF,0x07,0x04,0x9A,0xCF,0x4B,0xD1,0x28,0x19,0xEF,0xBC,0xF5,0xBB,\r
+0x84,0x72,0xAC,0x5E,0x0E,0x43,0x8F,0x30,0x0D,0x0A,0x38,0xA8,0xDC,0x2D,0x19,0x92,\r
+0xC5,0x88,0xB4,0x18,0x41,0xB5,0x8A,0x14,0x97,0x48,0x62,0x7A,0x1A,0x4B,0x73,0x2C,\r
+0x98,0x03,0xBE,0xE6,0x0A,0xF9,0xF3,0x67,0xAD,0x27,0xA3,0x24,0xC9,0x45,0x87,0xB4,\r
+0xE3,0xFA,0x4D,0x17,0xF1,0x06,0xC7,0xB8,0xAA,0x4A,0x68,0x75,0x10,0xFB,0xFC,0xAE,\r
+0x44,0x98,0x8B,0xCE,0x6E,0x89,0x93,0x33,0x58,0x6A,0x49,0xCD,0x83,0x28,0xAF,0x66,\r
+0x52,0x66,0x29,0xF4,0xF9,0xA6,0xA0,0xD9,0xB3,0x34,0xAB,0x0D,0x86,0xA3,0x4F,0x54,\r
+0xB2,0x7E,0xB6,0x45,0x7A,0x0C,0x39,0xE5,0x4A,0x4F,0x5A,0xFE,0xEC,0x76,0x95,0xA7,\r
+0x90,0xB1,0x01,0x6E,0xB9,0xA1,0x09,0xF1,0xD6,0xFE,0xB9,0x9A,0xE2,0x88,0xA7,0x01,\r
+0xFA,0x6B,0xD4,0x9D,0xD4,0x96,0x7C,0x5A,0x92,0x81,0x6C,0x27,0x40,0xC5,0x25,0xEA,\r
+0x64,0x6A,0x33,0xEF,0xCC,0x09,0xCD,0xBA,0xD2,0xA9,0xC5,0x20,0x1F,0xC0,0x93,0x1E,\r
+0x03,0xE2,0xD2,0xA6,0x04,0xEF,0x2D,0xF5,0xA5,0x46,0xC4,0x84,0x02,0x17,0xBF,0xB0,\r
+0x4B,0xF7,0xB0,0x7E,0x9D,0xD6,0xC0,0x8D,0xFF,0x2A,0x19,0x10,0xA5,0xD1,0xDD,0x69,\r
+0x8A,0x40,0x52,0xF8,0x5B,0x26,0xFE,0x50,0x6D,0x09,0x24,0x62,0xEB,0xF2,0x48,0x9F,\r
+0x24,0xCD,0xEE,0xBF,0x67,0xCE,0x86,0xCC,0xC4,0xDB,0xAA,0xA9,0xA8,0xE5,0x8F,0xD3,\r
+0x37,0xD3,0xC7,0xB7,0x56,0xDB,0x97,0xF8,0x28,0xE8,0x83,0x38,0x1C,0x0A,0xF3,0x02,\r
+0xAE,0x0F,0xA4,0xFD,0x1D,0x97,0xEE,0x8B,0x27,0xE4,0x2F,0xC9,0x72,0x91,0x94,0xD5,\r
+0x85,0x2F,0x69,0x48,0xFE,0xF7,0x6B,0xB4,0x82,0x00,0xBA,0x18,0xB9,0xC3,0xAC,0xD1,\r
+0x23,0x10,0x6A,0x87,0xAB,0x92,0x1A,0xD4,0x1F,0x2F,0x2B,0x9B,0x88,0x5D,0x7D,0xF2,\r
+0x9D,0xE3,0x35,0xD4,0x83,0xFF,0xC8,0x9E,0x74,0x77,0xE7,0x1A,0x0B,0x6D,0x50,0x2E,\r
+0xA6,0xBD,0x1B,0x75,0x3E,0xB1,0xEC,0x9A,0x64,0xF6,0x31,0x25,0xD7,0x58,0xCB,0x06,\r
+0xD3,0x76,0x16,0x22,0xC0,0x13,0xD6,0x8C,0x4D,0x22,0x91,0xAF,0xB5,0x32,0xA3,0x7D,\r
+0x41,0x78,0x00,0xFC,0x43,0xB9,0x4F,0xB0,0xE5,0x6E,0x6D,0x83,0xB7,0x3D,0x9E,0x77,\r
+0xF9,0x0B,0x1E,0x81,0x79,0xE7,0x8E,0xDF,0xD5,0xC4,0x0E,0x71,0x18,0x44,0x4E,0x26,\r
+0x93,0xD1,0xCB,0x72,0x5D,0x90,0x47,0xA3,0x71,0xBE,0xE9,0x47,0x12,0xF4,0xC1,0xA4,\r
+0x8F,0xA0,0xD9,0xCA,0x37,0xF6,0xF9,0x65,0x02,0x06,0x94,0x59,0x1D,0xCF,0xAE,0x14,\r
+0x60,0xD7,0x7D,0xCB,0xDA,0x80,0xA2,0xC8,0xE1,0x39,0x11,0x39,0x2D,0x94,0x22,0x21,\r
+0x5D,0x09,0x12,0x44,0xD0,0x2C,0x00,0x0D,0x1A,0xE6,0x25,0xC6,0x7F,0xA5,0xC6,0x6F,\r
+0x47,0xF8,0x41,0xD2,0x75,0xFD,0x95,0xE9,0xC5,0x45,0xD8,0x4E,0xBD,0x8D,0x11,0xF5,\r
+0x0F,0xED,0x23,0x0A,0x77,0xF1,0x50,0x4D,0x17,0x4E,0x4C,0x3B,0xDE,0x22,0x24,0x98,\r
+0x54,0xE6,0x68,0xDA,0xA4,0x63,0xB6,0xD8,0x89,0x5B,0x6A,0x53,0x7C,0x6F,0xA6,0x73,\r
+0xA7,0xE0,0xDE,0x63,0x21,0x7F,0x96,0x17,0xA1,0x11,0xB8,0x3E,0x7D,0xAA,0xFB,0x65,\r
+0x49,0xCA,0xBF,0x74,0x57,0x3C,0xE5,0x66,0x01,0x3C,0x23,0xB2,0xF0,0x64,0xE4,0x1F,\r
+0x43,0x45,0x0F,0xF6,0xB6,0x50,0xA5,0xFD,0xB2,0xAA,0xD9,0xEA,0xAB,0x2F,0xEF,0xCF,\r
+0xFF,0x8B,0x5F,0xAF,0x20,0x98,0xE4,0x89,0xBA,0xCB,0xBE,0x4A,0xCD,0x0B,0x3A,0x90,\r
+0x2E,0x42,0x5E,0x3D,0xF6,0x57,0x0C,0xD5,0x86,0x57,0xC6,0xA2,0x3A,0xF3,0x81,0x0D,\r
+0x7B,0x7B,0xEB,0x4B,0x3B,0xEC,0xE2,0x53,0x62,0x05,0x88,0x93,0x0E,0xE6,0xB0,0x1C,\r
+0xA4,0x80,0x14,0x7F,0x8E,0x02,0xA1,0x36,0x4C,0xBC,0xE3,0x48,0x79,0xE4,0x46,0x41,\r
+0x13,0x9C,0x31,0xB2,0x5E,0x7B,0xF0,0x99,0xF0,0x26,0xB5,0xE1,0x4C,0x34,0x2A,0x46,\r
+0x71,0xF4,0x5B,0xC9,0x1C,0x70,0x9C,0x15,0xC7,0xE1,0x1D,0x42,0xC3,0xF5,0x08,0x36,\r
+0x1E,0xCE,0x05,0x08,0x30,0xA7,0x32,0x08,0x55,0xC2,0x20,0x30,0xD2,0xD3,0x2B,0x34,\r
+0x01,0xDF,0xDD,0xAC,0x3C,0xBD,0x29,0x3E,0x5F,0x07,0x82,0x9C,0x51,0xE3,0x06,0xE8,\r
+0x92,0x8C,0x0E,0x64,0x49,0x15,0xED,0x75,0x23,0xB3,0x53,0x73,0x32,0x4C,0x33,0x85,\r
+0x20,0x70,0xA0,0x9B,0x3D,0x5A,0x5B,0xA0,0xA8,0xEE,0xAD,0x79,0xF3,0xAE,0x84,0x03,\r
+0xC6,0xE8,0x7E,0x04,0x38,0x07,0x55,0x69,0x54,0x5C,0x52,0xD7,0x29,0xDA,0x9F,0x05,\r
+0xBB,0x91,0xCC,0xDB,0xD8,0x8C,0x67,0x6C,0x15,0xEA,0x89,0x37,0xC1,0xFA,0x35,0x3C,\r
+0x1B,0x2E,0x8E,0x3A,0x69,0xD8,0x58,0x5E,0x9B,0x7E,0x79,0x60,0x95,0x8A,0x51,0x5C,\r
+0x42,0x18,0xCA,0xE0,0xDE,0x3A,0xDE,0x9F,0xC3,0xB6,0x61,0xF8,0x82,0xED,0xF2,0x70,\r
+0xF4,0x59,0x2A,0x3B,0x6C,0x85,0x56,0x97,0x53,0x31,0x99,0x86,0x56,0x67,0xDB,0xD0,\r
+0x55,0xBB,0xAD,0xCC,0x96,0x9D,0x10,0xD6,0x99,0xDA,0xBC,0x6C,0xB1,0x7C,0x1E,0x59,\r
+0x2C,0x7F,0x51,0x37,0x12,0x66,0x42,0x87,0x6F,0xAD,0xE1,0x6E,0x35,0xC8,0xEE,0xBD,\r
+0x19,0x13,0x81,0x30,0x32,0xAB,0xF7,0xAC,0x5C,0x3D,0x35,0x77,0xE7,0x03,0x47,0x33,\r
+0xA1,0x60,0x9F,0x4D,0x90,0x2B,0xA9,0x25,0x2C,0xBF,0xFF,0x82,0x0C,0xE9,0x8D,0x16,\r
+0x62,0xEA,0x72,0xC1,0x39,0xE0,0x27,0xF7,0x00,0xA2,0x51,0x55,0x68,0xC2,0x65,0x43,\r
+0xDD,0x44,0xE8,0x84,0x14,0xD0,0xFB,0x74,0xEC,0x91,0x78,0xC4,0xE0,0x87,0x9A,0x0B,\r
+0xD0,0x16,0xDC,0x3E,0xB5,0xBB,0x12,0xC7,0xB7,0x63,0xD7,0xB7,0x6B,0x08,0x05,0x5F,\r
+0x6D,0x85,0x49,0x71,0x34,0x1D,0x4E,0x5F,0x61,0x3F,0x3F,0x78,0x78,0x21,0x1B,0x57,\r
+0x94,0x0C,0x4F,0x4A,0xD9,0x6B,0x15,0xF2,0xBE,0x9C,0xC2,0xF0,0x8E,0x1C,0xFD,0xDC,\r
+0x61,0x8A,0xB8,0xDD,0xE9,0x99,0x76,0x58,0x63,0x9B,0xFA,0x74,0x59,0x5C,0xB4,0x60,\r
+0x96,0xDB,0x08,0x1A,0x32,0xBB,0xBB,0xFD,0x64,0x54,0x07,0x21,0xE0,0xA5,0x80,0xF7,\r
+0x7C,0xFE,0xE3,0xD0,0xF8,0x39,0xCB,0x08,0x3A,0xD4,0xA5,0xA8,0xFE,0x1D,0xFD,0x84,\r
+0xF8,0xC6,0xE4,0x0D,0xB5,0x95,0x7B,0xBB,0x36,0xAF,0x83,0x70,0x97,0xD9,0x49,0xD3,\r
+0xBD,0x8E,0x6C,0xF2,0x9C,0xA6,0x97,0x2A,0xEA,0x9F,0xAE,0xF3,0x0D,0x66,0x0C,0x7D,\r
+0x5E,0x9A,0x7C,0x8C,0xF2,0x3B,0xF6,0x07,0x83,0x62,0xA3,0x5B,0x36,0x69,0xBC,0x12,\r
+0x77,0x92,0x6F,0x92,0x1A,0x67,0x20,0xC8,0xDF,0xC4,0x22,0xC3,0xA3,0xD4,0xF3,0x81,\r
+0x23,0xAD,0x5D,0x23,0x37,0x9F,0xF4,0x0B,0xBB,0xE6,0x7E,0x5C,0xC7,0x65,0x10,0x1D,\r
+0x63,0x11,0x8A,0x6A,0x0F,0x98,0x29,0x8F,0xD8,0x14,0x4E,0xF6,0x30,0x90,0x87,0x9B,\r
+0xA5,0xC8,0x2D,0x08,0x9F,0x58,0xC3,0xA8,0x98,0x78,0xAF,0x6D,0x01,0xC2,0xC9,0x7F,\r
+0xD1,0xCE,0xF7,0x13,0x60,0xEA,0x3F,0x06,0x96,0x25,0xAA,0xA4,0xDF,0x24,0x56,0xE7,\r
+0xF5,0x91,0x91,0xC6,0xB4,0x7A,0x0C,0x1F,0x95,0xA7,0xFE,0x5A,0xF1,0x1F,0xF7,0xB9,\r
+0x85,0xF1,0xC5,0xA2,0x44,0xEE,0x82,0x48,0xAA,0xF3,0x4F,0x68,0xB3,0xBF,0x16,0x06,\r
+0x18,0x1D,0x52,0x4C,0x54,0x35,0xC4,0xF9,0x9B,0xFA,0xFB,0x93,0x55,0xF0,0xF6,0xCE,\r
+0x92,0xBD,0x86,0x65,0xAC,0xB2,0x54,0x87,0x13,0x45,0x49,0x9B,0xB5,0x46,0x2D,0x8F,\r
+0xB7,0x70,0x31,0x79,0x2C,0xA9,0xF8,0x11,0x8F,0x19,0x85,0x83,0x2E,0x28,0xFA,0xE8,\r
+0x03,0x94,0xB5,0x89,0x71,0xDE,0x0E,0x13,0xDD,0xE2,0x01,0xD2,0xD2,0x51,0x01,0x2C,\r
+0x99,0xD1,0x0A,0x27,0x45,0x01,0xF5,0xEC,0x2F,0x93,0xAC,0x57,0x94,0x7F,0x86,0xEC,\r
+0x8C,0xC0,0x3E,0x16,0x0B,0x53,0x11,0xDD,0xC1,0x28,0x61,0xD1,0x21,0x2A,0xF0,0xD5,\r
+0x4B,0x8B,0x48,0xBD,0x78,0x22,0x67,0x9E,0x3D,0x04,0xC9,0x9D,0x4E,0x17,0x7F,0x0B,\r
+0x9B,0x8C,0x7D,0xD1,0x2E,0xB8,0xDB,0x37,0x6C,0x7D,0x19,0x32,0x6B,0xA0,0xB2,0x17,\r
+0xAC,0xF9,0xD6,0xBC,0xED,0xC6,0xC2,0x4F,0xFF,0xD8,0xA7,0x0C,0x7A,0x1A,0xC5,0x59,\r
+0x8A,0xFB,0xC7,0x9F,0xD0,0xE5,0x50,0x3D,0x51,0x0F,0x8B,0x11,0x24,0x75,0x04,0x63,\r
+0x33,0x48,0x36,0xA4,0x9E,0xB7,0xB4,0x0C,0x20,0x6A,0xDE,0x71,0x71,0x96,0xA9,0x1B,\r
+0x9C,0x25,0x55,0x91,0x4F,0x03,0xC8,0xE3,0xE4,0xC2,0xAB,0x3A,0xA2,0x05,0x61,0x48,\r
+0xF2,0x38,0xB9,0x86,0x15,0x41,0x52,0x31,0x58,0x82,0xE2,0xED,0x3E,0x43,0x1F,0x6F,\r
+0xDA,0xA2,0x7B,0x51,0xE8,0xE2,0x8D,0xB9,0xCD,0x53,0x47,0x09,0x6D,0x59,0x89,0x9E,\r
+0x10,0xBE,0x78,0x31,0xA7,0x5F,0x1E,0x2C,0x7B,0x1C,0x33,0xDC,0x17,0x50,0x17,0x71,\r
+0x5D,0x55,0xDA,0xB3,0x81,0x4A,0x80,0x44,0x9D,0x8E,0xE0,0x49,0x5C,0x0B,0xC7,0x7A,\r
+0x1B,0xD2,0xF4,0x73,0xEE,0x38,0x96,0xCD,0x28,0x43,0xC0,0x62,0xC0,0x4D,0xB9,0x5D,\r
+0xD5,0xA8,0x79,0x6C,0x75,0x15,0x36,0x41,0x5B,0x00,0xB6,0x13,0xA1,0xA3,0xAE,0x77,\r
+0x74,0x5D,0xC9,0xAD,0x73,0xCF,0x2D,0x35,0x29,0xE7,0xB7,0x8D,0x20,0xFB,0x62,0x1C,\r
+0x50,0x02,0xAF,0x78,0x14,0xAE,0x25,0x95,0x68,0x2F,0x21,0xF9,0x70,0x47,0x3B,0xD2,\r
+0x27,0xCB,0xD3,0x5C,0xFC,0xF2,0xF3,0x5A,0x21,0xCE,0xA9,0x9E,0x64,0xA2,0xB8,0x2A,\r
+0x12,0xE3,0x0F,0xC7,0x2A,0x73,0xE3,0x65,0x05,0x80,0x14,0x9A,0x4A,0x99,0x19,0x74,\r
+0x42,0xBA,0xB3,0x09,0xA0,0x6A,0x72,0xFC,0x82,0xC6,0xD4,0xB4,0x7F,0x45,0x31,0xEF,\r
+0x4D,0xB0,0xB1,0x34,0x5C,0x26,0xDA,0xD0,0x1B,0x6C,0x57,0x88,0x69,0xD7,0xEF,0xE1,\r
+0x8B,0x69,0x16,0x56,0x24,0xBA,0xE6,0x38,0x8A,0xEF,0xCA,0xA7,0xB4,0x97,0xBF,0x46,\r
+0x3B,0xEB,0x1C,0xD9,0xC3,0xC0,0x42,0x0E,0x43,0x98,0xEE,0xDB,0x61,0xFD,0x4C,0x9C,\r
+0xEB,0xEC,0x29,0xB5,0xDC,0x3D,0x76,0x46,0x6F,0xFF,0x4D,0xCC,0x02,0x64,0x06,0x40,\r
+0xB0,0xD9,0x19,0x39,0x59,0x02,0x95,0x26,0x34,0x89,0xA0,0x61,0xA6,0x8B,0x07,0x37,\r
+0xAE,0xA4,0xA1,0x4A,0xD4,0x2E,0x68,0x6F,0x0D,0xA9,0x0A,0x89,0xCF,0x4F,0xB3,0x60,\r
+0x68,0x7D,0x06,0x28,0x09,0x42,0x32,0xFB,0xE0,0x90,0x93,0xF1,0xAD,0x07,0x6B,0x75,\r
+0x9A,0x1E,0xAC,0x18,0x67,0xDF,0x53,0xD6,0x4B,0xB1,0xF0,0xC8,0x91,0x20,0x72,0x5A,\r
+0x8D,0x52,0xEF,0xDF,0xE9,0x0D,0xFA,0x1D,0x33,0x59,0xCC,0x54,0x2D,0x8E,0x35,0xD7,\r
+0xEE,0x18,0x76,0x03,0xE2,0xE0,0xB0,0xB6,0x23,0xE8,0x8A,0x8F,0xDB,0xAA,0x30,0x98,\r
+0x75,0xCF,0x18,0x64,0x4E,0xEC,0xBF,0x47,0x5A,0xA4,0xC1,0xFC,0xB8,0x33,0x7A,0x44,\r
+0x22,0x3F,0x8C,0xEA,0xE6,0x2B,0x88,0xE4,0xD7,0xED,0x3C,0xD0,0x15,0x27,0x4A,0x87,\r
+0xBC,0x1C,0xBD,0x3B,0x77,0x04,0x15,0x67,0xA6,0x88,0x69,0xB0,0x16,0x81,0x85,0xB8,\r
+0x84,0x63,0x14,0x6B,0xA5,0x4E,0x3D,0x0A,0x0A,0x79,0x66,0xBC,0x32,0xE7,0xDA,0x6D,\r
+0x3A,0x79,0xCD,0x10,0x6E,0x23,0x3A,0x5B,0x3E,0x86,0x9D,0x63,0xC1,0x9C,0x2B,0x94,\r
+0xDC,0x99,0x82,0xD8,0x66,0x30,0x24,0x72,0x6D,0xD9,0x6E,0xDD,0x56,0x56,0x39,0xF1,\r
+0x57,0xAB,0x87,0x38,0x84,0x6E,0xCF,0xB2,0x5E,0xF6,0xF9,0x37,0xF4,0x40,0x03,0x0F,\r
+0xF7,0xCC,0xE6,0x30,0x74,0xFA,0x41,0xE5,0xC4,0xDE,0x2E,0xF5,0x7E,0x94,0xA3,0x26,\r
+0x09,0x6A,0xE8,0x02,0x97,0x4B,0xDD,0x81,0xF4,0x73,0xED,0xE1,0xC9,0xB6,0x88,0xE9,\r
+0xBF,0xD3,0x1B,0x04,0x08,0xAD,0x45,0x5F,0x00,0x76,0x5B,0xBE,0x4C,0x60,0x22,0xFD,\r
+0xBA,0x27,0x44,0xB2,0xA1,0x85,0x05,0x58,0xB1,0xE9,0x43,0x5E,0xAB,0xFE,0x50,0xFC,\r
+0xAA,0xC2,0x2F,0x35,0x65,0xCE,0x70,0xF0,0x7E,0xEA,0x7C,0xF8,0x6E,0xFF,0x46,0xA1,\r
+0x39,0xB6,0x6B,0x2F,0x7C,0xE9,0x5F,0xCC,0xCA,0x83,0x2B,0x3C,0xC5,0x12,0x4D,0xEB,\r
+0x1E,0x26,0xAB,0xC5,0xE7,0xC4,0xFF,0x40,0x53,0x29,0xA8,0x00,0x60,0x2C,0xDE,0x55,\r
+0x51,0x90,0x7E,0xB1,0xB7,0x84,0x58,0x9D,0x40,0x1A,0xBA,0x25,0x3F,0x92,0x8D,0xA6,\r
+0xC3,0x76,0xEB,0x62,0xE5,0xD5,0xDC,0x66,0x57,0x7B,0x90,0xCB,0xE1,0x74,0x12,0x3E,\r
+0x2B,0x0E,0x77,0x5E,0x41,0xCA,0xCD,0xBE,0xD6,0x49,0x4B,0x3F,0xA0,0x72,0x3C,0xBE,\r
+0x34,0xE1,0x1E,0xE4,0xAF,0x4C,0x00,0x05,0x47,0xCA,0xD6,0x10,0xCB,0xC1,0xD5,0x1F,\r
+0x52,0x5F,0xD8,0x8E,0xF5,0x0E,0x9A,0xD7,0x42,0x3C,0x99,0x34,0xD3,0x80,0x93,0xE5,\r
+0x1B,0xC3,0x64,0x8D,0x2A,0xA8,0xAA,0xE1,0xC8,0x40,0x5D,0x2F,0xF7,0x0A,0xD4,0x90,\r
+0xCE,0xB7,0x2B,0x3B,0x8D,0x75,0xFA,0xA1,0xDA,0x65,0x4E,0x1C,0x49,0x55,0x27,0xC3,\r
+0x0E,0x5D,0x0C,0xAB,0x2D,0xF9,0x61,0x8C,0x59,0x59,0xD7,0xB6,0x77,0xF0,0x99,0x50,\r
+0x4A,0x47,0x9F,0xDF,0x02,0xC5,0x78,0xAB,0x0E,0x9D,0x63,0xDF,0x9A,0x5B,0xD3,0x5B,\r
+0xBD,0xFC,0x67,0x42,0xE8,0xE2,0xE8,0x6B,0xEB,0x51,0x5F,0x09,0xE5,0xE6,0x97,0x8E,\r
+0x7B,0x96,0x01,0xFC,0x72,0x30,0xB2,0x29,0xA4,0x75,0x5A,0xFF,0xA4,0xFE,0x6D,0xC8,\r
+0x12,0x2C,0x1E,0x13,0xBF,0x8B,0x5C,0xAF,0x39,0x5A,0xCB,0x7C,0x17,0x95,0xCC,0x21,\r
+0x8E,0x10,0xF6,0x6B,0xAE,0x53,0xF8,0xB0,0xE2,0xAE,0x4A,0x4E,0x11,0xD4,0x4C,0x0F,\r
+0xE2,0x4A,0x62,0xB6,0xBD,0x87,0x99,0x0B,0x8B,0x52,0x43,0xC3,0x25,0xC1,0x7D,0x1E,\r
+0xE7,0xAA,0xE9,0x84,0x56,0x47,0x7B,0x55,0x1C,0xB8,0x70,0xEC,0x33,0x63,0x83,0x24,\r
+0xA8,0x62,0x0F,0x64,0x48,0x6E,0x73,0x46,0xEF,0x06,0x23,0xB3,0xF9,0xF4,0xE6,0x36,\r
+0x71,0x19,0xB1,0x7E,0x4F,0x3F,0xB8,0x2B,0x14,0xD9,0x17,0x4C,0x82,0x07,0x1F,0xC7,\r
+0x21,0xC0,0x8F,0x3A,0x77,0x6D,0xBC,0xE0,0x31,0x3B,0xAC,0xDC,0x9B,0x9E,0x8E,0x4D,\r
+0x7E,0x76,0x8A,0xCE,0x37,0x6A,0x15,0xC8,0x29,0xDB,0x1D,0x43,0x05,0x79,0x8F,0x3F,\r
+0x8D,0x70,0x3C,0x77,0xAF,0xB4,0x8A,0x2E,0x9F,0x84,0xE9,0x46,0xD3,0xFC,0x9B,0x95,\r
+0x83,0x42,0xC2,0xD1,0x33,0xD0,0x69,0x9F,0x5C,0x90,0xD9,0xEB,0xF1,0x4B,0x54,0xBE,\r
+0x8A,0xAD,0xB8,0x4F,0x88,0x28,0xF4,0x68,0xBE,0x31,0x2E,0x6C,0xEB,0x18,0xA5,0x28,\r
+0xC9,0x6A,0xAF,0x03,0x21,0xE3,0x7A,0xBA,0x82,0xAD,0x56,0x84,0x45,0xA4,0x28,0x6F,\r
+0x63,0x5A,0x5D,0x60,0x40,0xCE,0x14,0x27,0xE1,0x94,0xFD,0xA5,0x62,0x98,0x07,0x76,\r
+0xC4,0x38,0x9B,0xB9,0x1A,0x5A,0xC9,0x4B,0x78,0xEC,0x10,0x9C,0x2A,0xFA,0x12,0xAE,\r
+0xD8,0x49,0x89,0x01,0x67,0x52,0x6A,0x61,0x1B,0xD5,0xBB,0xBD,0xE4,0x23,0xCA,0x98,\r
+0xE9,0x98,0x17,0x22,0xFA,0xD1,0xFB,0x4E,0x4E,0xB5,0xCA,0xD8,0x42,0x20,0xF5,0x57,\r
+0x7D,0x16,0x40,0xD2,0xCD,0x72,0x53,0x89,0xB3,0x99,0x47,0x91,0x56,0x8D,0x36,0x67,\r
+0x13,0x71,0xDB,0x05,0xC2,0x83,0xFF,0x85,0xF8,0xEA,0x3E,0xDD,0xCF,0xEE,0xEA,0x2D,\r
+0xD4,0x46,0x78,0xAD,0xA8,0xE5,0x41,0x43,0x25,0xED,0x06,0x59,0xB2,0x5C,0x93,0xF2,\r
+0xD6,0x7B,0x77,0xA7,0x00,0xC9,0xBD,0x0F,0xA6,0xD1,0x9F,0xF3,0x20,0x4A,0x9D,0x2C,\r
+0x6A,0xB5,0x27,0xFE,0x91,0x50,0x37,0x16,0x66,0xFF,0x18,0xB5,0xFC,0x7F,0x06,0x04,\r
+0xB6,0x2E,0x12,0xD6,0x81,0x6F,0xE1,0x97,0xDB,0xFB,0x3C,0xFB,0xC7,0x51,0x58,0xA5,\r
+0x7C,0x4B,0x85,0xC4,0xE7,0x13,0x44,0x67,0xD2,0x04,0x29,0xBC,0xEE,0x93,0x45,0x1A,\r
+0x4C,0xC7,0xDE,0xF1,0x04,0x73,0xC1,0x58,0x3F,0xA9,0x72,0xCA,0x01,0x37,0x32,0x1B,\r
+0x79,0xAB,0x0E,0xF6,0x30,0x3B,0xDE,0xA5,0x9C,0xBE,0x5E,0xAD,0x98,0x54,0xEE,0x51,\r
+0x73,0x24,0xBE,0x74,0x94,0x0D,0x39,0xDF,0xB8,0xC2,0x97,0xDA,0xF2,0x81,0x34,0xA2,\r
+0xBF,0xC1,0x68,0x48,0xF2,0x71,0x9C,0x2F,0x92,0x2C,0x80,0xBB,0x6E,0x69,0x08,0xDA,\r
+0x1D,0x43,0x25,0xA3,0x6C,0x19,0xBA,0x3A,0x41,0xB9,0x66,0x29,0x35,0x22,0x03,0x0A,\r
+0x1E,0x23,0xEF,0xBF,0xFF,0x8C,0xF5,0x87,0x35,0x6C,0xD0,0x66,0x3C,0x58,0xEC,0x94,\r
+0xDC,0xF4,0xC7,0x25,0x20,0x04,0x08,0x24,0x90,0x88,0x45,0xB7,0x26,0x0B,0x1D,0x02,\r
+0xCA,0x0A,0x65,0x1F,0x57,0xA0,0x09,0xCB,0x53,0x9C,0x75,0x1A,0x22,0x45,0xA0,0x26,\r
+0xAC,0xDF,0x41,0x40,0x5F,0x00,0x6E,0xAA,0xC5,0xE8,0x34,0xD2,0x9E,0x15,0x6E,0x7F,\r
+0x1C,0x1E,0xE0,0xB5,0x44,0x74,0x68,0x70,0xC4,0x76,0x46,0x35,0xC6,0x94,0x05,0xB3,\r
+0x91,0x01,0x2E,0xCF,0xE4,0xF8,0xF3,0x5D,0xB2,0x07,0x35,0x76,0x28,0xF5,0x2F,0xA4,\r
+0x18,0xA3,0xAE,0x91,0xA9,0x02,0x33,0xDD,0x6B,0x57,0x71,0x48,0xC5,0x5E,0x65,0xAF,\r
+0x2D,0xCF,0x7E,0x96,0x15,0xAB,0x65,0x47,0xBB,0xF8,0x20,0x31,0x72,0x7B,0x79,0x62,\r
+0x5B,0x64,0xB9,0xDD,0x63,0xE8,0x16,0x36,0x13,0xB4,0xDC,0x1D,0x4F,0x14,0xA7,0xED,\r
+0x6F,0x55,0xAC,0xCC,0x87,0xD9,0x58,0x64,0xDE,0x32,0x32,0xA6,0x1A,0xA1,0x9E,0x9B,\r
+0x30,0xE3,0xA9,0x38,0xBA,0xD6,0x52,0x66,0xD9,0x5F,0xF9,0xF7,0x60,0x97,0x3A,0x7C,\r
+0x53,0xD6,0x06,0x55,0xC6,0x39,0x83,0xD2,0xAC,0x14,0x3D,0x5F,0xF3,0x44,0x69,0xB4,\r
+0xA2,0xED,0xBF,0xE6,0x22,0x08,0xCD,0x80,0xF9,0x74,0x4C,0x3A,0x10,0x11,0x11,0x19,\r
+0xB3,0xCE,0x99,0xE4,0xB0,0x7A,0xF0,0xA3,0xD5,0x69,0xE2,0xED,0x7F,0x4F,0x2B,0xD8,\r
+0xA0,0xD0,0xB0,0xEC,0xF0,0x7D,0x59,0x8B,0x3D,0x0D,0xB7,0xC6,0xDA,0x86,0x74,0x0B,\r
+0xF4,0xB4,0xC0,0x8C,0x7E,0x2A,0xA9,0x1F,0x8C,0x3F,0x88,0x92,0x7A,0xC4,0xCB,0xEA,\r
+0x92,0x61,0xE4,0xD3,0x4D,0x33,0x7D,0x8F,0xD8,0xC1,0x8B,0x10,0x41,0xEA,0x95,0x4B,\r
+0x48,0x7A,0x90,0xD5,0xB1,0x9D,0x82,0x3D,0xDD,0x08,0x85,0x4D,0xA7,0x34,0x0D,0xD4,\r
+0xD0,0xFB,0x36,0x89,0x7C,0x26,0x6C,0xBB,0x73,0xB7,0xC0,0xD7,0x34,0xE7,0x5E,0x1C,\r
+0x54,0x0B,0x82,0x6D,0x8A,0x24,0x31,0xCC,0xF7,0xE6,0x92,0x2C,0x4D,0x1B,0x9A,0xE7,\r
+0xE3,0x17,0xA7,0xA0,0x26,0xB2,0xB1,0xD7,0x3B,0xFE,0x0E,0x70,0x23,0x80,0xFD,0x30,\r
+0x37,0x3E,0x2D,0x00,0xB6,0xCC,0x49,0x50,0x89,0xF6,0x86,0xCF,0x95,0x60,0xBC,0xEB,\r
+0x09,0x80,0x88,0x93,0xE5,0x1F,0x81,0xC3,0xDC,0x96,0xF7,0xAA,0x03,0x38,0x0F,0x11,\r
+0x81,0x7F,0xCD,0xDB,0x09,0x8E,0xA8,0xF0,0xF1,0x15,0x2B,0x9A,0xBC,0xA2,0xA1,0x54,\r
+0x86,0xA2,0x49,0xE3,0xB9,0x3D,0xE5,0x5C,0xD7,0xCD,0x27,0xE1,0x78,0xCB,0xF6,0xE0,\r
+0x6D,0x68,0xA3,0xC6,0xC9,0xC8,0x2F,0xDE,0x75,0x44,0x79,0x61,0xC0,0xD5,0x85,0x9D,\r
+0xEF,0x18,0x56,0x0C,0x5B,0xBA,0x12,0xFD,0x3C,0x93,0xC5,0x21,0xF5,0x05,0xE9,0x9A,\r
+0x38,0x51,0x16,0xB0,0x86,0x3E,0x2A,0xFA,0x0C,0x39,0xA6,0xD3,0x00,0xF2,0x6F,0x0D,\r
+0x0A,0xE0,0x42,0x8F,0x52,0xFD,0x07,0x02,0x50,0xA6,0xC2,0xF1,0xB1,0x96,0xF3,0xEE,\r
+0x19,0xFE,0x6B,0x87,0x84,0x32,0xEF,0x5E,0xD1,0x3E,0x9E,0x57,0x0C,0x03,0x60,0xA1,\r
+0xD5,0x65,0xD8,0x9B,0xEC,0x3F,0x5E,0xCE,0x52,0xA8,0x34,0xF9,0x97,0x78,0x84,0x24,\r
+0x06,0xAD,0x4B,0xC8,0x28,0x74,0x2B,0x66,0x83,0x47,0x48,0x4D,0x38,0x1B,0xE9,0x11,\r
+0xDE,0x09,0x54,0xD9,0x33,0x42,0x27,0x7C,0x21,0xEB,0x42,0x88,0x08,0x98,0x35,0x3C,\r
+0x80,0xC8,0x3B,0xE3,0x9D,0x5F,0x0B,0xAB,0x1C,0x99,0xD0,0xAB,0x2E,0x89,0x37,0x1F,\r
+0xEA,0xB3,0x59,0x8B,0xF1,0xD3,0x49,0xA0,0xB4,0x3A,0xE7,0x6C,0xEF,0x06,0x47,0x3D,\r
+0xCF,0x7E,0xEE,0x97,0xA0,0x7C,0x99,0xD9,0xE2,0x93,0x5B,0xF6,0x3F,0x33,0x40,0x51,\r
+0x30,0x4A,0x31,0x6C,0xE3,0x19,0x2C,0x37,0x89,0x48,0x75,0x4F,0x3D,0x44,0x1D,0xA7,\r
+0x85,0x3C,0x64,0x55,0x0D,0x9F,0xE1,0x8C,0xC7,0x79,0x91,0x1D,0x28,0x70,0x0C,0x96,\r
+0x84,0xAE,0xB5,0x9C,0xE5,0xC3,0x37,0x43,0xBF,0x91,0xAD,0x81,0xD0,0x87,0x91,0x2D,\r
+0xD4,0xF7,0x09,0x52,0xA4,0xB7,0xA1,0x8B,0xD8,0x31,0xA5,0xE0,0xF4,0xE1,0xCE,0xF8,\r
+0x64,0x75,0x03,0xDD,0xE4,0x2C,0x40,0xE7,0x22,0x69,0x16,0x76,0xBF,0xBA,0x1E,0xF3,\r
+0x05,0x62,0xED,0xF7,0x97,0x5D,0x36,0xA4,0xB9,0xE5,0xB6,0x5B,0x71,0x37,0x64,0xEC,\r
+0xB3,0xDB,0x1E,0xF1,0xB7,0x92,0xB3,0xB8,0x6B,0x88,0x9E,0x11,0xB4,0x36,0x72,0xB1,\r
+0xF8,0x0B,0x45,0xFA,0x51,0x07,0x60,0x2A,0x4D,0xE0,0x00,0x04,0xF9,0x94,0x99,0x33,\r
+0x9A,0xD3,0x0D,0xEF,0x94,0xA3,0x62,0x26,0xD9,0x95,0xD2,0x0F,0x56,0xF7,0xF4,0x06,\r
+0xC9,0x45,0x17,0x1E,0x01,0x47,0xC7,0xF7,0x24,0x1D,0x0D,0xAC,0x7E,0x35,0x6E,0xD1,\r
+0x63,0xDC,0x2B,0x9D,0x77,0x12,0xFE,0x42,0xFB,0xAF,0x74,0xD1,0x87,0x13,0x61,0xA3,\r
+0x94,0x4B,0xDE,0x1B,0x14,0xB8,0xCE,0xB0,0xC3,0x2B,0xA9,0xD6,0xC7,0xC4,0xDD,0xEA,\r
+0x92,0x70,0x27,0x92,0x4F,0x15,0x23,0xC6,0x3E,0xA3,0x76,0x75,0xFA,0x32,0x56,0x0C,\r
+0x07,0x3F,0x9A,0x01,0x13,0x8D,0xA2,0x60,0xD6,0x6C,0xA0,0x29,0xD3,0x21,0x5E,0x12,\r
+0x33,0x85,0x97,0x53,0xFA,0x3E,0x03,0x0B,0x79,0x1F,0xFB,0xDB,0x5C,0xAA,0x0A,0x8D,\r
+0xA9,0xC0,0x28,0xFD,0x26,0xBD,0x2E,0x3B,0x50,0x8E,0x17,0xE8,0x19,0x22,0x42,0x72,\r
+0x44,0x4C,0xEB,0x77,0xA8,0x6F,0x87,0xF0,0xFE,0x59,0x3B,0xF5,0x32,0x46,0x17,0x9A,\r
+0x5A,0x31,0x53,0x04,0xF6,0xE6,0x25,0x70,0x34,0xAC,0x4B,0x77,0xD8,0xAD,0x32,0x50,\r
+0x8A,0x36,0x66,0x68,0x43,0xCD,0x05,0xBD,0xE0,0xB5,0x78,0xE7,0x13,0x7F,0xBC,0xF9,\r
+0x76,0xCD,0x1F,0xAC,0x11,0x9C,0x81,0x46,0xBD,0xB7,0x8E,0x90,0xA7,0xFB,0x58,0x09,\r
+0xF1,0x3A,0xBE,0x4E,0x57,0xDD,0x7B,0x5E,0x98,0x5D,0x44,0x7B,0xBC,0x1C,0xD1,0xCC,\r
+0x11,0xE1,0x08,0x0F,0xDF,0xD5,0xC9,0xE1,0x60,0x23,0xD4,0xFC,0x36,0xC8,0x71,0xE5,\r
+0x55,0x3B,0x51,0x39,0x59,0x14,0x7E,0x03,0x78,0xBB,0x8C,0x34,0x51,0xDF,0x5D,0x46,\r
+0x17,0xDA,0xF1,0x86,0x66,0x26,0xCF,0x57,0x88,0xEC,0x02,0xA0,0x21,0x8B,0x3D,0x22,\r
+0xA5,0x05,0x8C,0xFF,0x54,0x23,0x2F,0xDC,0x53,0x0C,0x43,0x16,0x01,0x63,0x04,0x88,\r
+0x7B,0x9A,0x6A,0x67,0x5A,0xEA,0x2A,0x81,0xAC,0xA2,0xBF,0xA4,0x75,0xB9,0x02,0x93,\r
+0xE8,0xEE,0x2E,0x7D,0xCC,0xF0,0xDB,0xD2,0xC4,0xFB,0xC5,0xE3,0x1B,0x55,0x1F,0x84,\r
+0x0F,0x9C,0xB0,0x7C,0x7D,0x10,0xC3,0x4D,0x6D,0xFC,0x85,0xCB,0x1E,0x0A,0xEB,0x32,\r
+0xDA,0x6F,0xDA,0xA6,0x08,0xBB,0xAE,0x7A,0xB8,0x41,0xC1,0xB4,0x53,0xA8,0x00,0xB0,\r
+0x6D,0x44,0xF8,0x69,0x38,0xAF,0x6D,0xD7,0x5B,0x25,0x5D,0x05,0xAD,0xA6,0xA6,0x82,\r
+0xF2,0xF5,0x18,0x71,0xA1,0x93,0xEE,0x7D,0xAA,0xD6,0xA4,0x7E,0x78,0xCC,0x55,0x58,\r
+0x50,0xCF,0x0E,0x8F,0x92,0x79,0x79,0x52,0x48,0x16,0x4F,0x20,0xF3,0xC9,0x67,0xB8,\r
+0x96,0x16,0xA9,0xED,0xC6,0xF2,0xE6,0xDD,0x69,0xAE,0xBD,0x00,0x20,0x5A,0xAF,0xEB,\r
+0x65,0xE7,0xD2,0x14,0xF2,0x2D,0x1D,0x22,0xA2,0xFF,0xBA,0x6D,0x9E,0x83,0xB5,0x90,\r
+0x6F,0x19,0x8F,0x9F,0x8B,0x5E,0x56,0x6E,0x63,0xA1,0x80,0x02,0x90,0x50,0x2D,0x64,\r
+0x77,0x5F,0xCE,0x65,0x8E,0x7A,0x19,0x98,0x39,0x73,0x1A,0x40,0xF6,0x96,0x93,0x0E,\r
+0x45,0xDE,0x3A,0xBE,0x9B,0x85,0x10,0xDF,0x29,0xC2,0x5C,0x9B,0x67,0xA5,0xBA,0xE2,\r
+0x04,0xF0,0x3C,0x3E,0x1A,0x71,0xCB,0xED,0x8D,0x1A,0x4D,0x84,0x8F,0x39,0xC2,0xDE,\r
+0xC4,0x12,0x62,0xD5,0x9F,0x4E,0x28,0x8D,0x2B,0xE4,0x7F,0x8A,0xBA,0xE5,0xEA,0x45,\r
+0x9B,0x41,0xDC,0x26,0x8C,0x6B,0x3A,0xBE,0x7B,0x39,0xD8,0xCA,0xF5,0x30,0x5C,0x31,\r
+0xCA,0x8A,0xB1,0x21,0xB2,0xB6,0xFC,0x4E,0xA9,0x54,0xF0,0x80,0x0E,0x61,0x0E,0xB5,\r
+0x61,0x81,0x5C,0x6B,0x06,0x72,0xAB,0x27,0xB0,0x68,0xDF,0xA7,0x9D,0x25,0x7A,0xAF,\r
+0xA6,0xCA,0x2A,0xC0,0xA3,0x82,0xCD,0x5B,0x10,0xE2,0xF6,0x73,0x4F,0x67,0x20,0x35,\r
+0x02,0xCB,0xC5,0xB7,0xF8,0x2F,0x20,0x2D,0x95,0x82,0x15,0x4C,0x14,0x57,0x15,0xB9,\r
+0x10,0x73,0xD9,0xC6,0x46,0xE9,0x4A,0x4B,0xE8,0x9C,0x66,0xF4,0x2F,0x58,0xA5,0xD6,\r
+0xC5,0x80,0xB3,0x1C,0x8F,0x95,0x6E,0x3C,0x0F,0xAA,0xC2,0x8E,0x9F,0x52,0x27,0x59,\r
+0xDB,0xFD,0x0B,0x6F,0x4E,0xFA,0x54,0x62,0x6C,0x58,0xF2,0x24,0xE6,0xFD,0x76,0x89,\r
+0xCD,0x23,0x99,0x61,0xD7,0xC6,0xD7,0xC8,0x90,0x74,0x5A,0x68,0xE9,0xFF,0x7C,0xB4,\r
+0xC0,0x74,0xEC,0xAA,0xED,0xD0,0x29,0x6A,0x30,0xFE,0x73,0xBC,0x83,0x9D,0x07,0xDC,\r
+0xEE,0xD5,0xD7,0xF4,0xC9,0xD4,0x94,0x24,0xE6,0xC1,0x63,0x3D,0xB6,0x41,0x2F,0x47,\r
+0xB1,0x86,0x69,0x07,0x1B,0x9E,0xBC,0x49,0x2A,0x40,0x08,0x65,0x86,0xC2,0xF3,0x6A,\r
+0xB2,0x49,0xCF,0x38,0x6A,0xFE,0xE9,0x2C,0xBB,0xC3,0x95,0x4A,0x18,0xF3,0xD0,0xBB,\r
+0x7F,0xFC,0xE4,0x18,0xEF,0xC1,0x0A,0x4C,0x2E,0x12,0x30,0xAE,0x4A,0x38,0xD4,0x83,\r
+0x1C,0xB6,0x7D,0xC4,0x96,0xB2,0x41,0x00,0x82,0xE3,0x3F,0xA2,0xD1,0x56,0x03,0xE4,\r
+0x35,0xBE,0x6E,0xDA,0x87,0x86,0x70,0x15,0xAB,0x72,0xD3,0x91,0x3E,0xE2,0xD2,0x98,\r
+0x89,0xF9,0xC0,0x57,0xFF,0x1A,0x4C,0xFD,0x25,0xB9,0x7A,0x43,0x29,0xA1,0x9E,0x5F,\r
+0x6B,0x7F,0x01,0xE0,0xC1,0xC7,0x8A,0x0D,0x18,0xCB,0xE8,0x60,0x0A,0xEF,0x68,0xCA,\r
+0x09,0xA7,0x49,0xF5,0x2C,0xBF,0x13,0x34,0xC5,0x5F,0xB2,0x0C,0xCC,0x48,0xB1,0xA8,\r
+0x66,0x6E,0x7F,0x92,0xFE,0x4C,0x8B,0xB2,0x2F,0x20,0x8A,0x85,0x7A,0x1F,0x6D,0x58,\r
+0x40,0x7B,0xE1,0xFA,0x5C,0xCE,0xC6,0x59,0x74,0xF0,0xC1,0x8E,0x9C,0xCC,0xF8,0xCA,\r
+0x0F,0xC6,0x72,0x6F,0x5F,0xAE,0x0C,0x45,0x7D,0x6E,0xBB,0x61,0x2A,0xB8,0x2D,0x85,\r
+0xF2,0x65,0xAD,0xE7,0x9D,0x79,0x24,0xDF,0x67,0xF8,0xE8,0x90,0xBF,0x1D,0xC9,0x54,\r
+0xF3,0x8A,0xDA,0x43,0x8B,0x87,0x86,0xE5,0x63,0xDC,0xA6,0x2D,0x8F,0xDE,0xDD,0xF9,\r
+0x94,0xEB,0xD2,0xE3,0xED,0x52,0xA2,0xBA,0xDF,0x85,0xF6,0xE3,0xCE,0x48,0xA9,0x31,\r
+0x92,0x31,0xC9,0x97,0x5D,0x93,0x03,0x4F,0x87,0x49,0x77,0x88,0xBC,0x49,0x37,0xD6,\r
+0x09,0x1C,0x69,0x1B,0xD0,0x8C,0xCD,0x35,0x69,0x5E,0x16,0xA2,0xCF,0x3F,0x46,0x95,\r
+0xC9,0x9C,0x24,0xE1,0x59,0x2E,0x4D,0x6B,0x84,0x55,0xBD,0xE8,0x8B,0xE6,0x16,0xAB,\r
+0x9F,0x06,0x98,0x48,0x6C,0x42,0x9D,0x6C,0x33,0x98,0x98,0xF4,0xDA,0x36,0xB9,0xD2,\r
+0xEC,0x77,0xEE,0x0B,0x1A,0xE9,0x5A,0x27,0x0E,0x17,0xF7,0x2A,0x26,0x9E,0xF5,0xFE,\r
+0xA2,0x25,0x0A,0x3A,0x2E,0xD8,0x4F,0x36,0x5B,0x61,0x42,0x13,0xC8,0x53,0x73,0x45,\r
+0xA8,0x27,0x37,0x35,0x71,0x6E,0x4A,0xC2,0x21,0x86,0x74,0xB7,0x03,0x54,0x1E,0x14,\r
+0x79,0x93,0x4B,0xDA,0x12,0x5B,0xE5,0xAF,0xB2,0x4E,0xA7,0xE4,0xC7,0x21,0x55,0xBC,\r
+0x37,0xC1,0xAF,0xEB,0xE3,0x60,0x5C,0x1C,0x51,0xE3,0xF2,0x9C,0xB6,0x74,0x35,0xD9,\r
+0x0A,0xE2,0x3D,0x99,0xF2,0x43,0x7A,0x1E,0x3E,0x22,0xAC,0xA6,0x18,0x58,0x28,0x0E,\r
+0xA3,0xCA,0x7D,0x9E,0xE1,0x5D,0x53,0x16,0x9B,0xF1,0x65,0xF9,0x4D,0xB0,0x4C,0x25,\r
+0x53,0x5E,0xF3,0xC9,0xB5,0x39,0x23,0x76,0x3B,0x10,0x27,0x46,0x72,0x01,0x7E,0x71,\r
+0x87,0xCE,0xC0,0xD0,0xD3,0xEC,0x07,0x29,0x00,0xB1,0x09,0x18,0x71,0x55,0x80,0xF3,\r
+0x78,0x7C,0x3C,0x7E,0x09,0xF7,0x73,0x2F,0xE6,0x2E,0xD7,0x80,0x7F,0x50,0x49,0xAE,\r
+0x96,0xFA,0xF1,0xC5,0x91,0x76,0xD5,0x73,0x75,0xE6,0x04,0xD3,0x3A,0xFE,0xF6,0x34,\r
+0xCB,0x8D,0x07,0xC7,0x15,0x86,0x61,0x97,0x0C,0x1D,0xF8,0x17,0x68,0x7A,0xA7,0xCF,\r
+0x4B,0x96,0xAB,0x51,0xA2,0x9A,0x44,0x5A,0x62,0xCA,0x63,0x70,0xF4,0xB6,0xBF,0x93,\r
+0xB3,0x11,0x3B,0x2F,0x76,0xB3,0xCE,0xFA,0xD4,0x11,0x83,0x31,0x7C,0x04,0xB7,0x2C,\r
+0x7B,0x82,0x68,0xFC,0x48,0x0D,0x6B,0x69,0x42,0xEB,0xDB,0x82,0x0D,0x51,0xD7,0x49,\r
+0x52,0xB1,0x84,0x6D,0xC0,0xF2,0x2E,0x21,0xFD,0xAE,0x41,0x2C,0xD1,0x7C,0x54,0x79,\r
+0x1F,0x1D,0x34,0xDE,0xC7,0x2F,0xAA,0x19,0x39,0x1A,0x28,0x7B,0xDD,0x5A,0x8C,0x02,\r
+0xD5,0x9F,0x44,0x2B,0x2C,0xE5,0x40,0x3C,0x81,0x67,0x36,0x08,0x83,0xF8,0x05,0x82,\r
+0xE8,0xBC,0xD6,0x59,0xAE,0x95,0xB5,0xF6,0xB4,0x60,0xE6,0x64,0x3F,0xB1,0xD2,0xC2,\r
+0xD0,0xBB,0x0B,0xDD,0x79,0xDC,0xF5,0x4A,0x41,0xF7,0x11,0xE2,0x5C,0x81,0x78,0x30,\r
+0xFD,0x43,0xDF,0x1E,0x4B,0x6D,0xA1,0x75,0xF0,0x14,0x75,0x7E,0x38,0xDD,0xE7,0x12,\r
+0x15,0x1F,0x09,0xD1,0x58,0x73,0x88,0x7D,0x4D,0x5B,0xE0,0xED,0x64,0x5C,0x7F,0xB4,\r
+0x50,0xA0,0xA7,0x4B,0x5A,0x4E,0x87,0x77,0xB6,0x6A,0xE9,0x59,0xA7,0x45,0x01,0xCC,\r
+0x00,0xE0,0x00,0x96,0x8F,0x3A,0xC8,0xC1,0x08,0x39,0xB6,0xAA,0xB4,0x57,0x24,0xFF,\r
+0x9B,0xCD,0xA0,0x1A,0x4F,0xD0,0xEF,0x51,0x36,0xAA,0x13,0x14,0x2D,0xD4,0x18,0x55,\r
+0x82,0xEA,0x8F,0x26,0x0B,0xCA,0x7C,0x25,0xDB,0xA1,0xB8,0x5E,0x99,0x83,0xDC,0x3C,\r
+0x12,0x2A,0x65,0x01,0xFC,0x71,0x84,0xB8,0xA4,0x74,0x05,0x1A,0xA5,0x66,0x10,0xEA,\r
+0x48,0x68,0xFF,0xD3,0x3A,0x1B,0xE2,0x06,0xE5,0x32,0x1D,0xE0,0xA0,0x29,0x34,0x1C,\r
+0xA6,0xEE,0x32,0x68,0x53,0xA1,0xFD,0xE9,0x56,0xDB,0x76,0x41,0x31,0xB4,0x1B,0x9F,\r
+0x02,0xF1,0x23,0xB0,0xCF,0x9D,0x15,0x91,0x50,0xF5,0x37,0xC1,0xB0,0x6F,0xEF,0xAD,\r
+0x63,0x4A,0x30,0x64,0xA3,0xC7,0x81,0x4C,0x64,0xE4,0x22,0xF0,0xB9,0x06,0x13,0x20,\r
+0x81,0x14,0xDB,0xA4,0xA6,0x27,0x0A,0x7E,0x72,0xDE,0x80,0x0E,0x8A,0x91,0xF9,0x0F,\r
+0x89,0x07,0xC5,0x8D,0xE9,0xEF,0xEC,0x9E,0xB8,0xCC,0x17,0x6B,0xD9,0x62,0x47,0x50,\r
+0x42,0x6A,0xC2,0xDC,0x30,0x94,0x52,0x84,0xC3,0x3D,0xE4,0x92,0xED,0x99,0x98,0xAF,\r
+0x46,0xA1,0xFA,0x8E,0x60,0x4D,0x6C,0xC0,0xDA,0xB7,0x7D,0x03,0x56,0xBC,0x7A,0x3F,\r
+0xEF,0x89,0xBA,0x89,0x3F,0xFB,0x69,0x34,0x44,0xC5,0x9A,0x02,0xE7,0xA4,0x9A,0xA0,\r
+0x70,0x6F,0x22,0x57,0xCC,0xFD,0xDF,0x8D,0x92,0x6F,0x1F,0x16,0x13,0x12,0xC5,0xA5,\r
+0x93,0xDE,0xBE,0x33,0xC2,0xCF,0x21,0x2B,0xB0,0x44,0xA8,0xD9,0x23,0xD1,0xD1,0x08,\r
+0x0E,0x29,0x05,0xCB,0xCB,0x20,0x5B,0xB5,0xAA,0xD2,0xFB,0x28,0xD4,0x33,0x70,0x8F,\r
+0x80,0xFB,0xAC,0x00,0x88,0xE7,0x4C,0xF9,0x04,0x95,0x47,0xA5,0xAC,0x0F,0xEC,0x67,\r
+0xEE,0x66,0xCD,0x2D,0x22,0xD7,0xBE,0x9A,0x23,0x8C,0x7B,0x8A,0x07,0x6C,0xD5,0x46,\r
+0x33,0x0A,0x97,0xB9,0x85,0xB5,0x78,0x43,0x6B,0x54,0x19,0x9F,0xEA,0xF5,0xAD,0x7F,\r
+0x90,0x20,0xEA,0xB1,0x99,0xC4,0x6A,0xFB,0xA5,0x62,0xC0,0x47,0x41,0x96,0x94,0x5E,\r
+0x01,0x0F,0x77,0x32,0xA8,0x15,0xF4,0xD8,0x03,0xAD,0xC3,0x78,0x30,0xC3,0xF4,0x3B,\r
+0xA9,0xC8,0x40,0x91,0x3C,0x9B,0xA3,0x28,0x17,0x9D,0x6E,0xBB,0xBD,0x3E,0xD8,0x72,\r
+0x05,0xC4,0x4F,0x60,0x52,0xFC,0x38,0xFF,0x8E,0xD7,0x0D,0x67,0xC4,0x75,0xAB,0x3E,\r
+0xBB,0x02,0x25,0x06,0x95,0xCB,0x9B,0x57,0xF3,0x08,0xBF,0x1E,0xFC,0xA8,0xAC,0xBA,\r
+0x47,0x4E,0x8D,0x2A,0x97,0xF6,0x94,0x5D,0x61,0xD6,0xA9,0x10,0x65,0x2B,0x90,0x10,\r
+0xCD,0x57,0x1C,0xB3,0x2B,0x38,0xC4,0x04,0xBD,0xFE,0x9C,0x8B,0xE2,0xEB,0xBE,0x56,\r
+0x1B,0xD6,0x0C,0x8C,0xF7,0xA3,0xF1,0x2C,0x86,0x5F,0xB2,0xD5,0xC6,0x56,0xBA,0x18,\r
+0xBE,0x26,0x6A,0xF0,0x3D,0xC6,0x66,0x3E,0xAF,0xE0,0x70,0xC8,0xD3,0x5F,0x45,0x5F,\r
+0x3B,0x19,0x89,0x90,0x0D,0x4A,0x3D,0x0B,0x40,0xE1,0xD4,0xBF,0x88,0xB2,0xE8,0x29,\r
+0x24,0xE4,0xBD,0xD8,0x38,0x26,0xED,0x0C,0xD9,0xAB,0xB7,0x63,0xA4,0x11,0xFF,0x4E,\r
+0xC3,0x9E,0x19,0xEE,0x32,0xA9,0x5D,0x8E,0xB3,0x58,0x62,0xB9,0x6D,0x35,0x83,0x39,\r
+0x92,0x20,0xF5,0xA6,0x05,0x38,0x11,0x8E,0x6B,0x99,0xFD,0x25,0x70,0x02,0xA7,0x07,\r
+0x80,0x13,0xE6,0x83,0x5A,0x6B,0xAF,0x7D,0x24,0xED,0x28,0x93,0xD7,0x52,0x7A,0x47,\r
+0x03,0xB9,0x7F,0xBF,0xFF,0xF8,0x91,0xC3,0x03,0x07,0xE8,0x03,0x77,0xC9,0xF6,0x6A,\r
+0x54,0xD0,0xCB,0x7B,0x54,0xF3,0x7C,0x89,0x90,0x1D,0xAC,0x77,0x58,0xD0,0xCA,0x4D,\r
+0xB1,0x06,0xF7,0xB7,0xE9,0x26,0x03,0xCD,0x68,0xA6,0x5B,0xEA,0xB2,0x40,0xED,0x8D,\r
+0xFE,0xF0,0xF2,0x93,0xF1,0x60,0x42,0x37,0x0E,0xCC,0x9D,0x54,0x28,0x1A,0x3F,0xCF,\r
+0x63,0x73,0x63,0xBC,0x9A,0x89,0xF1,0x96,0x11,0x76,0xF4,0xBB,0xE5,0xF4,0x84,0x49,\r
+0xB8,0x41,0xE2,0x48,0xDB,0xA7,0xF7,0x16,0xF9,0x4A,0x68,0xC3,0xF4,0x50,0x5C,0x56,\r
+0xD1,0xCC,0xEB,0xB4,0xCE,0xB6,0xC3,0x27,0x6D,0x10,0x04,0x1E,0xE7,0x31,0x88,0xED,\r
+0x46,0xE3,0xD8,0x5E,0x6C,0x8C,0xD5,0xD9,0xE6,0xF0,0x01,0x2C,0x0C,0xD3,0x48,0xB3,\r
+0xB5,0xBC,0x8B,0xE0,0xFB,0x9E,0x1F,0xBC,0x00,0x38,0x4E,0xCC,0x12,0xDB,0x61,0xA0,\r
+0x4E,0x43,0xBF,0x3F,0x08,0x6F,0x64,0x45,0xBE,0x43,0x97,0xD6,0x15,0x10,0x30,0xCD,\r
+0x6B,0xD3,0x04,0xDD,0x91,0xE5,0x7D,0xD4,0x80,0x9A,0xC7,0x92,0x2D,0x14,0x62,0x06,\r
+0x73,0x4C,0xB5,0x3D,0x76,0x97,0xE3,0xD5,0x85,0x2C,0x98,0x66,0x6D,0xBD,0x65,0x2E,\r
+0xC5,0x49,0x41,0x62,0xF3,0x3D,0x35,0xC1,0x33,0x2A,0x6B,0xDF,0xF5,0x22,0xBB,0xC8,\r
+0x06,0xE4,0x71,0x76,0x44,0x16,0x17,0x0E,0xCD,0x18,0x65,0x79,0x69,0xC1,0xDF,0x79,\r
+0xE4,0x63,0x86,0xD7,0x17,0x80,0x0D,0xFF,0xB7,0xF7,0x6C,0xE7,0xD2,0x5C,0x27,0x8E,\r
+0xD8,0x8B,0xFE,0x4B,0xAB,0xC7,0xA3,0x72,0xA0,0x30,0x2F,0xAB,0x7B,0xD2,0xEC,0x5C,\r
+0xBB,0xAA,0x55,0x72,0x97,0xDE,0x84,0x5D,0x52,0x00,0x85,0xC8,0x1A,0xBC,0xC1,0xC1,\r
+0x22,0x93,0xB8,0x0A,0xF5,0x06,0xCC,0x48,0x94,0x62,0x22,0x11,0x40,0x61,0x55,0xAD,\r
+0x41,0xB2,0x13,0x33,0x2C,0x30,0x02,0x90,0x86,0x13,0x3E,0xA9,0x3D,0xC2,0x5D,0x87,\r
+0x14,0xD7,0x62,0x53,0x2F,0xFF,0xA4,0xAF,0x18,0xC2,0x0F,0x8A,0xA0,0x53,0xDE,0xA8,\r
+0xE9,0x9E,0xEF,0x7F,0x82,0xCF,0xB0,0x6C,0x4F,0x4C,0x9B,0x7A,0x97,0xFB,0x7D,0x6F,\r
+0xA2,0xD2,0x96,0x0C,0xE1,0x85,0x29,0xB0,0xD4,0x2B,0xF5,0xAD,0x98,0x57,0x8C,0x63,\r
+0x7F,0x56,0xAE,0x0B,0x53,0x5A,0x54,0xC9,0x77,0x1C,0x32,0x05,0xF2,0xE9,0xEA,0xA5,\r
+0xFC,0xFC,0x37,0x37,0x45,0x84,0xC6,0xC7,0x78,0x21,0x30,0x0F,0x5A,0x15,0xC6,0xE9,\r
+0x3C,0xBA,0xB0,0x19,0x70,0xAC,0x1A,0x5C,0x28,0xEF,0x8C,0x56,0xCB,0x9F,0x5F,0xF0,\r
+0x81,0xF4,0x94,0x1D,0x5E,0x0D,0x21,0x02,0x1D,0x74,0x50,0x7E,0xDB,0x49,0x60,0x71,\r
+0x88,0xB3,0x81,0xE2,0x9C,0xB2,0x08,0x1F,0x8A,0x11,0x9A,0x6C,0xBD,0xEC,0x1C,0x81,\r
+0x65,0xC5,0xDA,0x4F,0x38,0xB3,0xE7,0x68,0xD1,0x9D,0xAA,0x59,0x5E,0x69,0x7C,0xBE,\r
+0xC6,0xA2,0xF6,0x58,0x5B,0xF9,0x7E,0xB4,0x01,0xF1,0x9F,0x5E,0x6A,0x76,0x34,0x43,\r
+0xE2,0xD5,0x3F,0x24,0x8E,0x0A,0x14,0x6E,0xB1,0x7E,0x95,0xDC,0xCE,0x91,0x02,0x39,\r
+0xC8,0xB4,0x28,0xCA,0x66,0x72,0x88,0x52,0x67,0x9B,0x59,0xE0,0xA8,0x34,0x7E,0xC9,\r
+0x1B,0x26,0xCE,0x5F,0x2D,0xA2,0xD3,0x59,0x2A,0x19,0xFB,0x0B,0x36,0x12,0x16,0xDC,\r
+0x6F,0x69,0x78,0x8A,0x57,0x3C,0xDA,0xB6,0xE0,0x79,0xF8,0x17,0xA5,0x5D,0x83,0x61,\r
+0xCA,0xB8,0xED,0x6E,0x04,0xAA,0xC0,0x47,0xC8,0xAE,0x3A,0x8D,0x7A,0xA0,0x0B,0xC2,\r
+0x09,0x15,0xDD,0x7A,0x4A,0x8E,0xC4,0xFA,0x6A,0x50,0x2C,0xB7,0x0D,0xA1,0xAF,0x2D,\r
+0x9F,0xDD,0x9C,0x0E,0x1A,0xD7,0x78,0x34,0x4E,0x85,0x4A,0xE8,0x05,0xC6,0x0F,0x4C,\r
+0x9E,0x3A,0xEE,0x90,0x9B,0x1B,0x20,0x5F,0xEF,0x44,0xFA,0x1D,0x1E,0xC0,0x7B,0x96,\r
+0xE8,0x79,0x9D,0xE1,0xFA,0x0C,0xCE,0x75,0x21,0x5B,0x77,0x67,0xBE,0x5B,0xF7,0xBB,\r
+0x31,0x47,0xD9,0xB1,0x51,0x07,0x23,0x3F,0xA1,0xF9,0xFE,0x39,0xF3,0x9B,0x0D,0x3B,\r
+0xE1,0x3E,0x88,0x1E,0x74,0xCA,0x94,0x23,0x71,0x95,0xCB,0x3E,0x4F,0xCD,0xA4,0xA1,\r
+0x49,0x12,0x74,0x52,0x1B,0x45,0xA9,0xFD,0xB6,0x3E,0xBD,0x75,0x39,0xBE,0xE7,0xD0,\r
+0x84,0xA9,0x9A,0xD4,0xAE,0x33,0xFC,0xC4,0xA3,0x0F,0x89,0x64,0xDD,0xF0,0xD6,0x82,\r
+0x83,0xF8,0x51,0xB9,0x98,0xD4,0x86,0x60,0xA6,0xB9,0xD6,0x90,0xE0,0xFA,0xD9,0x80,\r
+0xF6,0x50,0x95,0xF2,0x4B,0x1C,0x15,0x33,0x09,0x8C,0xB5,0xFD,0x9C,0x2B,0x36,0x34,\r
+0xA3,0x35,0xE4,0x92,0x1E,0xB1,0xF6,0x4B,0xB0,0xB7,0x44,0x4E,0x78,0x65,0x07,0x66,\r
+0x8F,0xE2,0x4A,0x8F,0x40,0x70,0x99,0x71,0x96,0x94,0x55,0x4C,0xEA,0x58,0x75,0x45,\r
+0x67,0xC9,0x1F,0xEB,0x89,0xA3,0x3C,0x2E,0xBF,0x8A,0x46,0x44,0xAA,0xF1,0x72,0x6D,\r
+0xD6,0x9D,0x20,0xD9,0xCB,0x42,0x9C,0x91,0xCF,0xEE,0x12,0x24,0x24,0x01,0x25,0xF9,\r
+0x82,0x1F,0x23,0x27,0xE5,0xE3,0xA7,0xCF,0xEB,0x3B,0x74,0x7B,0x17,0xD5,0x3C,0x69,\r
+0x87,0x42,0x2D,0xEE,0x3B,0x7C,0x41,0x57,0x9F,0x20,0xAE,0x7D,0xEB,0x2A,0x92,0xDB,\r
+0x29,0xD8,0x68,0x51,0xE8,0xB4,0xD2,0x04,0x39,0xA1,0x36,0x21,0x26,0xC4,0x29,0x5D,\r
+0xAD,0x23,0x3A,0x00,0x14,0x4F,0xAB,0xC0,0x8D,0x51,0xB2,0xC5,0xD0,0x99,0x2B,0x2A,\r
+0x61,0x7F,0xA6,0x18,0x8F,0x98,0xC5,0xA7,0xA8,0x4D,0x05,0x08,0x7C,0x19,0xBD,0x31,\r
+0xD3,0xC0,0x2E,0x10,0x6F,0x43,0x73,0xE6,0x22,0x64,0xD1,0xA8,0xEC,0xE1,0xC3,0xB6,\r
+0x86,0xA5,0x5F,0x70,0x37,0xB9,0xE5,0x55,0x87,0xDA,0xEF,0x3B,0xBF,0x29,0x10,0x25,\r
+0xAB,0x95,0x83,0xF3,0xAD,0xFC,0x5A,0xFB,0xC2,0x25,0x67,0x73,0x53,0x00,0x81,0x16,\r
+0x8D,0xEE,0x8F,0x2B,0xC4,0x48,0x9E,0xAC,0x46,0xF8,0x60,0x4B,0xE3,0x4D,0x32,0xBA,\r
+0x2F,0x6E,0xD1,0xA2,0xDA,0x35,0x26,0xDF,0xAC,0x32,0x8B,0x6E,0x93,0x87,0xC7,0x38,\r
+0x66,0x2E,0x6D,0x75,0x0A,0x32,0x13,0xB3,0x59,0x42,0x09,0xA4,0x01,0xBA,0xB5,0x1B,\r
+0x56,0xDC,0x0E,0xDF,0xFD,0xA5,0xE6,0x35,0x19,0x0B,0xDE,0x18,0xDC,0x82,0x31,0x1C,\r
+0x0A,0xFE,0x6A,0x40,0x99,0x46,0x57,0xA9,0x4D,0xBA,0xEC,0x27,0x08,0xAF,0xF2,0xE4,\r
+0x8B,0x58,0x36,0xD8,0x0C,0x09,0xEA,0x3A,0x64,0xA4,0xFF,0x2F,0xDE,0x47,0x3D,0xB8,\r
+0xDB,0x29,0x95,0xB6,0xBF,0x26,0xEE,0x21,0xD0,0xE0,0xB0,0x1C,0xF3,0x0E,0xF5,0x83,\r
+0x0C,0x47,0xF2,0x2D,0xB3,0x29,0x1F,0x8D,0xA3,0x99,0xFC,0x57,0xB9,0xD2,0x6C,0xE0,\r
+0xFC,0xD3,0x7C,0x7A,0x74,0x1E,0xBC,0x25,0x8F,0x14,0xB5,0xAA,0x89,0x11,0x78,0x4D,\r
+0xDF,0xE2,0xAD,0xE4,0x5B,0x83,0x3F,0xB4,0xEF,0x65,0xD0,0xFF,0x46,0x2E,0xDE,0x4E,\r
+0x67,0xFE,0xDC,0xF6,0x71,0xFE,0x37,0x17,0xD6,0xCE,0xF1,0x9C,0x70,0xF6,0x10,0x97,\r
+0xBE,0x59,0xBE,0x30,0x1D,0xA4,0xA3,0xCA,0xAE,0x23,0xC8,0x05,0xA8,0xE3,0x58,0xF5,\r
+0xDD,0xF3,0x8E,0xC2,0x80,0xC5,0x8E,0xA4,0x97,0x88,0xE9,0x66,0xB1,0xCC,0x7F,0xC9,\r
+0x91,0xB0,0x49,0xD5,0x52,0x6C,0x45,0x2A,0x0B,0xF0,0x01,0x5A,0xF6,0x41,0xD1,0x75,\r
+0xAA,0x49,0xC0,0xD3,0xE5,0x70,0x60,0xE7,0xF8,0x49,0xB7,0x5C,0x7C,0xD0,0xC8,0xEC,\r
+0x28,0x43,0x4F,0x63,0x9F,0xD4,0x56,0x00,0x84,0x80,0xC0,0x78,0x8F,0x0A,0xA2,0x39,\r
+0x2F,0x76,0x23,0xB3,0x62,0xE0,0x1E,0x1F,0x93,0xAC,0xA7,0xDB,0xC5,0xD6,0x3B,0x5A,\r
+0x1A,0x46,0xAF,0xE8,0x5D,0x03,0x7E,0x9A,0x3E,0xF7,0xD1,0x36,0xC4,0xA1,0xD4,0xFE,\r
+0x08,0x8C,0xCA,0x7F,0xAD,0x65,0x02,0x3F,0xC1,0xE2,0x96,0x3F,0x7B,0xBC,0xFD,0x3C,\r
+0x20,0x50,0x51,0x4A,0x2C,0x75,0x3D,0xE9,0xC5,0xC6,0xD8,0x82,0xDA,0xE2,0xC6,0x12,\r
+0x79,0xEC,0x9F,0x1A,0x35,0xE4,0xA4,0x63,0xEB,0x41,0x9E,0x42,0xF2,0x79,0x1A,0x27,\r
+0x73,0xEE,0xA2,0x15,0x79,0x4C,0x88,0x9F,0xD7,0xD8,0x34,0xC1,0x2C,0x77,0x88,0x31,\r
+0xB5,0xB4,0xF4,0x9B,0x8A,0x4A,0x3E,0x26,0x94,0x94,0x23,0x06,0xD1,0xA8,0x2B,0xB9,\r
+0xCD,0x28,0xC8,0x73,0x95,0x5B,0xE6,0x82,0x60,0x15,0x11,0xDD,0xFF,0x28,0x2D,0xF8,\r
+0x22,0x41,0x72,0x6C,0x13,0x96,0x5D,0x6C,0x4F,0x84,0x92,0x40,0x16,0x89,0x9E,0x93,\r
+0x9C,0x87,0x18,0x0A,0x51,0x0C,0x8F,0x36,0x6B,0x81,0x64,0x0F,0x50,0x73,0xDF,0x8B,\r
+0x01,0x70,0xA3,0xF2,0x91,0xE6,0xA8,0xA6,0xA7,0xBD,0xB2,0xEA,0x85,0x37,0xA0,0x36,\r
+0x75,0x34,0xB9,0x61,0xB6,0xC9,0x94,0xBF,0x63,0x09,0xDB,0xBD,0x8E,0x7D,0x4D,0x9D,\r
+0xE5,0xF4,0x53,0x46,0x9B,0x69,0x18,0x24,0x5F,0x90,0x71,0x3E,0x1D,0xC3,0x73,0x38,\r
+0x53,0x21,0x27,0x09,0xDB,0xCE,0xC5,0x74,0x7A,0x83,0x42,0x2C,0x4E,0x30,0xCD,0x67,\r
+0x0F,0xB9,0xA6,0xAF,0xA5,0xD7,0xBD,0xB7,0xAA,0x07,0x86,0xB8,0x60,0xB0,0xCB,0x26,\r
+0xA9,0xB7,0x94,0x51,0x14,0x4B,0xD9,0x54,0xBE,0x37,0x2B,0x7B,0x4B,0x7F,0xE9,0x91,\r
+0x10,0x44,0x92,0xE7,0xF2,0xD3,0x07,0xCB,0xE1,0xC3,0x2E,0xCD,0xE1,0x6B,0x3F,0x14,\r
+0xE4,0x1B,0x24,0xE2,0xDA,0x93,0x00,0x62,0x01,0x72,0xB1,0xD5,0x93,0x6A,0xA1,0xF3,\r
+0xA0,0x4B,0xFD,0xDC,0x11,0xAB,0x52,0x66,0xE3,0xC9,0x21,0xF0,0x19,0xFB,0xB8,0x6A,\r
+0xBA,0x92,0x86,0x62,0x7C,0xAC,0x03,0xAD,0x3C,0xFD,0xDE,0x0B,0xE8,0x02,0xC3,0x99,\r
+0x5A,0xDD,0x4E,0x84,0x6F,0xB2,0x2A,0xA5,0x82,0xAE,0x81,0xF8,0xFA,0x67,0x09,0x0E,\r
+0x68,0xD8,0xAE,0x0F,0x31,0x59,0xEA,0x47,0x68,0x9D,0xAE,0x6F,0xC0,0x99,0x1F,0xAC,\r
+0xDE,0x0D,0xDA,0x40,0x6A,0x52,0xA1,0x97,0xCC,0x58,0xA2,0x6D,0x35,0x58,0xAF,0x0D,\r
+0x7E,0xD9,0xF3,0xCA,0xED,0xC2,0xDF,0x6F,0xC4,0xD0,0x1D,0xDF,0xEE,0x19,0x19,0xED,\r
+0xB3,0x6E,0xEF,0xEF,0xF6,0x6E,0x49,0xEF,0xDC,0x4C,0x41,0x13,0x39,0x7E,0x77,0x76,\r
+0x57,0xEA,0x1F,0x5B,0x81,0x98,0x4B,0xB2,0x8D,0x1E,0xBA,0x97,0xC2,0xBA,0x0E,0x8A,\r
+0x0B,0x72,0x9E,0xFD,0x07,0x55,0xF0,0x5C,0x32,0x5B,0x20,0x39,0x0A,0xE9,0x9D,0x59,\r
+0x0D,0xA8,0x85,0x89,0xB5,0xA9,0x5E,0xA3,0xFB,0x55,0x7D,0x3C,0x95,0x71,0x7B,0x87,\r
+0x52,0xCE,0x50,0xAD,0x25,0x9A,0x47,0x77,0x05,0x56,0xFF,0x68,0x34,0x2F,0x40,0xA9,\r
+0x32,0x9A,0x34,0xDD,0xB1,0x14,0x10,0x87,0x37,0x69,0xAB,0xD9,0xD5,0x90,0xE0,0xEB,\r
+0x59,0x23,0x1A,0x06,0x64,0x60,0x5F,0x31,0x04,0x40,0x3A,0x35,0x7F,0x84,0x36,0x6E,\r
+0x51,0x30,0x04,0x2F,0x38,0xB6,0x90,0xD9,0x9C,0x1C,0x9C,0xB4,0x30,0x17,0x8B,0xFB,\r
+0x6E,0x02,0xB5,0x7B,0xC0,0x62,0x53,0xF4,0x03,0x78,0xBE,0xE8,0xD3,0x8B,0x3A,0x9F,\r
+0xD2,0xD5,0xFC,0x3B,0xC7,0xBF,0xD7,0xCC,0xA9,0x1B,0x4C,0xD8,0x44,0x0D,0xCF,0x68,\r
+0x18,0x57,0x8C,0xCE,0xE4,0x2D,0xA5,0xF1,0x7E,0xA7,0x0C,0x91,0x43,0x61,0xFA,0xB8,\r
+0x3D,0xBC,0x46,0x24,0x66,0x5D,0x50,0x3B,0xF7,0xF9,0x8C,0x33,0x3E,0x12,0x42,0xA6,\r
+0x05,0xBB,0x9B,0xA0,0xCA,0xED,0xE3,0x76,0x2F,0xF5,0xF7,0x15,0x8A,0x45,0x86,0xCF,\r
+0x4D,0x33,0x64,0xE5,0xF9,0x01,0x72,0x5F,0xAC,0x29,0xC7,0x38,0xCF,0xEB,0x39,0x55,\r
+0x11,0xAB,0xE5,0x43,0x67,0x00,0x95,0x2D,0x3D,0xEB,0x1B,0x56,0x7A,0xCB,0x12,0x98,\r
+0x6B,0x26,0xFA,0x8D,0x4A,0xA0,0x19,0xB6,0x4C,0x98,0x58,0x20,0x6D,0xE1,0xFC,0xF9,\r
+0x9E,0x96,0x3B,0x2C,0x90,0xBB,0x6D,0xB0,0xD2,0xEA,0xBF,0x21,0xA1,0x8A,0xA4,0x78,\r
+0xC1,0xF0,0xEE,0x08,0xF1,0xB3,0xCD,0xD7,0xA6,0xAB,0x77,0xB7,0xF8,0x44,0x18,0x28,\r
+0xFB,0xE6,0x10,0xAA,0x1E,0xC4,0x69,0xD6,0xB2,0x9B,0xDA,0x74,0xDC,0xF9,0x1C,0x66,\r
+0x61,0x24,0xC7,0x82,0xBD,0x1B,0xE1,0x2B,0x56,0x0E,0x0B,0xD1,0x4A,0x08,0x06,0x35,\r
+0x7D,0x27,0xA7,0x48,0x00,0x88,0x74,0x64,0x83,0xB8,0x44,0xA5,0xD4,0xE7,0x0F,0x4F,\r
+0x96,0x85,0x25,0x05,0x15,0x16,0x1C,0x42,0x16,0x5E,0xD6,0x76,0x04,0xEC,0x54,0x04,\r
+0x3A,0x89,0x2A,0xF4,0x99,0x54,0x17,0x2E,0x53,0x3C,0x80,0x31,0x06,0xCF,0x45,0x22,\r
+0x38,0x98,0x09,0xD2,0xBA,0xC6,0x65,0x13,0x4E,0x92,0x57,0x1D,0xC7,0xF5,0x2A,0x7C,\r
+0x8B,0x69,0x32,0x6B,0xE8,0x22,0x54,0x5D,0x2E,0xE3,0x32,0x48,0x6A,0x8D,0xC9,0x29,\r
+0xE6,0x0A,0x07,0xC4,0x5C,0x5E,0xBB,0x8C,0x65,0x27,0x9A,0x3D,0xA2,0xDE,0x5A,0xFA,\r
+0x12,0x55,0xB1,0xC1,0x5E,0x63,0xB4,0x86,0x08,0xEC,0xCB,0x3A,0x45,0x7A,0x20,0xCC,\r
+0x03,0x61,0x80,0xD4,0x0C,0x87,0x85,0xC8,0x8E,0x02,0x70,0xF7,0x33,0x43,0x75,0x79,\r
+0x48,0x17,0x2B,0x13,0x7D,0xF1,0xC6,0xBB,0xC2,0xFE,0x5C,0x5F,0xBC,0x9D,0x48,0x16,\r
+0x4F,0x22,0x47,0xC3,0xE7,0x4D,0x6F,0xED,0x6D,0xAF,0x25,0x8F,0x71,0x81,0xFF,0x33,\r
+0x24,0xEF,0x4B,0xFB,0x62,0xF7,0xBC,0x8A,0xD2,0x26,0xF1,0x44,0xDE,0x87,0x06,0xDC,\r
+0x3E,0x1E,0x18,0x6D,0xC7,0x26,0x29,0x6E,0x0D,0x85,0x0C,0xCC,0x1C,0xAF,0xD1,0x46,\r
+0x37,0xF1,0x62,0xF3,0xB3,0x69,0x9F,0xBB,0x9E,0x38,0x43,0x59,0x1F,0x65,0xB1,0x5A,\r
+0x6C,0xFA,0x29,0x23,0x60,0xFB,0x79,0x2E,0x00,0x2D,0x65,0x31,0xBD,0x28,0x33,0xB1,\r
+0x2A,0xDD,0xB5,0x5D,0x40,0x36,0xCC,0x05,0x16,0x5F,0x0A,0xB8,0x93,0x6E,0xF3,0x36,\r
+0xC4,0xF7,0xD4,0x4A,0x36,0x75,0xBF,0x74,0xB6,0x72,0x91,0x34,0x1E,0xA0,0xEC,0x4C,\r
+0x9C,0x9C,0x55,0x86,0x37,0x92,0xCD,0xEA,0xAD,0xA8,0x97,0x40,0xAE,0x01,0x2D,0xB9,\r
+0x20,0x52,0x05,0xDF,0xA1,0x5A,0x8C,0x9E,0xA5,0xC9,0xF0,0xE0,0xC8,0x25,0xF8,0xE6,\r
+0x18,0x6C,0xE1,0x62,0x2C,0xE6,0xCB,0x30,0x75,0x66,0xA1,0x99,0x6D,0xEC,0xA7,0x35,\r
+0x4D,0x55,0x54,0x14,0xE1,0x5D,0x25,0xB6,0x91,0x34,0xEF,0xA8,0x59,0xF9,0x96,0x24,\r
+0x70,0x8B,0x3B,0x9B,0x49,0x71,0xD9,0xFA,0xE7,0x45,0x9C,0xEB,0x2F,0x3E,0x3D,0x6F,\r
+0xC7,0x97,0x1E,0x56,0x99,0x08,0x88,0x55,0x5B,0xDF,0xCA,0x42,0x1A,0xEE,0x51,0x68,\r
+0x7D,0xD9,0x0F,0x21,0x27,0xAD,0x1B,0x6B,0x42,0xA1,0x09,0x3A,0xB1,0xD9,0x3C,0x1D,\r
+0x12,0xE3,0x51,0xE0,0x0B,0x7A,0xB5,0x76,0xD0,0x82,0x34,0x48,0xA0,0xFF,0x1F,0x1F,\r
+0xF1,0x9B,0x04,0x4D,0x5E,0x1F,0xC4,0x16,0x34,0xD0,0x7A,0x79,0x51,0x46,0x24,0xAC,\r
+0x62,0xC8,0xD7,0x85,0x2B,0xB7,0x00,0x5D,0x48,0x64,0xAB,0x96,0x32,0xE9,0x11,0xC1,\r
+0xA5,0xFF,0x74,0x2D,0x2F,0x0D,0x7C,0x0A,0x43,0x3F,0x7B,0xDD,0x4A,0xD0,0x88,0x2C,\r
+0x43,0x67,0xAA,0xB2,0x2A,0x50,0x72,0xC3,0xBF,0x8D,0x84,0x73,0x90,0xA4,0x93,0x2A,\r
+0x78,0x39,0x84,0x13,0x7E,0xD2,0x71,0x3D,0x8C,0x1D,0x50,0x6A,0xF6,0x80,0x46,0x75,\r
+0xD8,0x86,0xC6,0xF2,0xCF,0x86,0x4E,0x0F,0x02,0x89,0xA0,0x3D,0xA2,0xF0,0x22,0x15,\r
+0x97,0x4E,0x20,0x12,0x7B,0x8F,0x7F,0xF4,0x44,0x52,0xB0,0x8C,0x35,0x6D,0xCC,0xF9,\r
+0x21,0x0F,0xC0,0xC9,0xC9,0x30,0xF7,0xFC,0xD4,0xD5,0x48,0xF2,0xE1,0xE7,0xE5,0x59,\r
+0x4F,0x68,0x5B,0x1E,0x05,0x6C,0x6B,0xE4,0x78,0xCE,0xC8,0x64,0x56,0xC2,0xF9,0x94,\r
+0x36,0xAC,0xA7,0xE5,0x81,0x97,0x39,0xB5,0x8E,0xB9,0x95,0x66,0xD2,0x76,0x09,0x70,\r
+0xC2,0x77,0x95,0x64,0x87,0x21,0x80,0x46,0x3B,0xDC,0xD6,0x88,0x6F,0xE3,0x9A,0x3F,\r
+0x7A,0x04,0x8B,0x19,0x25,0xA1,0xDE,0xCF,0x4B,0x5E,0x1C,0x7D,0x84,0x09,0x50,0x1A,\r
+0xBE,0x53,0xE2,0xAD,0x03,0xDA,0xD2,0x17,0xFB,0xF2,0x51,0xCE,0x83,0x8D,0x8D,0x22,\r
+0x01,0xFD,0x78,0xE8,0x2E,0xEA,0x0E,0x94,0x17,0xC1,0x78,0x5F,0x0B,0xC8,0x72,0x6A,\r
+0x0E,0x92,0x43,0x58,0x23,0x17,0x67,0x3C,0x76,0x5C,0x16,0x72,0x1B,0x2B,0x0C,0x7E,\r
+0xB3,0x01,0xD6,0x17,0xA2,0xB1,0x3B,0xA4,0xA0,0x00,0xFE,0xBD,0x08,0x02,0x12,0x76,\r
+0x02,0x9D,0xB2,0xF4,0xFE,0x93,0x5F,0x3B,0x74,0xF8,0xD3,0x7E,0x3A,0x56,0xA3,0x49,\r
+0xF7,0x1B,0x45,0x63,0xCE,0x61,0x3C,0x91,0xA9,0xFF,0xEB,0xFA,0xED,0x16,0xEA,0xF5,\r
+0x98,0x21,0x1B,0xA2,0xFC,0x9F,0x9A,0x9F,0xF0,0xA9,0x81,0x85,0x48,0xDF,0xB5,0x26,\r
+0x75,0x6B,0xB0,0xA9,0xAB,0xF6,0x2E,0x5B,0xDF,0x8E,0x98,0xB9,0x0C,0x4C,0xAF,0x52,\r
+0x4B,0xD5,0x15,0x3A,0x28,0x5C,0xB7,0x67,0x7F,0xA3,0x03,0x35,0xCC,0x6B,0x45,0xC2,\r
+0xF5,0x26,0x4A,0x69,0x3A,0x6F,0xA4,0x42,0xD8,0xE3,0x53,0xE8,0x19,0x24,0x31,0x74,\r
+0x13,0xBE,0x94,0xF6,0x10,0x0E,0xB3,0xAC,0x5C,0xB2,0x01,0x13,0x8C,0xB6,0xE2,0x92,\r
+0x15,0x3E,0xD5,0xD8,0xCB,0x3C,0x32,0x58,0x4D,0xAD,0xA5,0xCB,0x10,0x5E,0xDE,0xEA,\r
+0xA6,0x9F,0xBE,0x31,0x56,0xBF,0xA3,0x77,0x80,0x2B,0x4B,0x70,0x79,0x41,0x64,0x05,\r
+0xE7,0x65,0xA6,0x77,0x19,0x49,0xA6,0x53,0x1A,0x69,0x11,0xA2,0xBF,0x27,0x0E,0xBB,\r
+0x80,0xED,0x47,0x3E,0xE6,0x0C,0xEE,0xDB,0xBD,0x29,0x41,0x7F,0x73,0xF1,0xEB,0x87,\r
+0xFB,0x14,0xB4,0xCF,0x1D,0xF3,0xDA,0x04,0xBA,0x44,0x8A,0x2E,0xAA,0x4F,0x90,0x9D,\r
+0x31,0x71,0x23,0xDD,0xEE,0xAC,0x89,0xBA,0xA4,0x57,0x82,0x07,0xE5,0xA9,0x58,0x7D,\r
+0x27,0x8F,0x81,0xE7,0x79,0x83,0xBA,0x50,0x4F,0x09,0x60,0xC7,0xE0,0x22,0xB8,0x4F,\r
+0xF3,0xA6,0x0B,0x47,0xAE,0xAB,0x20,0x92,0xC1,0x9D,0x90,0x90,0x81,0x82,0xB0,0x28,\r
+0xD1,0x69,0xBC,0x6C,0x6D,0x06,0x10,0x86,0x5D,0x2C,0x73,0xF4,0x8F,0x7C,0x82,0x8E,\r
+0x07,0x7D,0x39,0xC6,0xDB,0x03,0xE4,0xD9,0xC5,0xCA,0xEC,0x2A,0x7C,0xCA,0x84,0x37,\r
+0x99,0x7C,0xDE,0xB4,0xC3,0x9C,0x55,0x39,0x85,0xE2,0x45,0x2D,0x23,0xCF,0x32,0xC3,\r
+0x28,0xE0,0xBA,0x57,0x8A,0xDC,0xE9,0xEE,0xE8,0x49,0x30,0x1A,0xC6,0xDB,0xCA,0x40,\r
+0x60,0xF5,0xD8,0x8F,0x13,0xE5,0x04,0x96,0xB2,0x25,0xED,0x8E,0x61,0x1D,0xA8,0x99,\r
+0x47,0xDA,0xE4,0x96,0x70,0xC4,0xAF,0xAF,0xD3,0xB8,0x83,0xA3,0xCB,0xEF,0x98,0xFA,\r
+0xE9,0x57,0x58,0xD1,0x4C,0x2C,0xD7,0x33,0x7A,0x6A,0x0D,0x68,0x88,0xF8,0x5F,0xB6,\r
+0xCD,0x18,0xAE,0xD4,0x0A,0x9D,0xC7,0xE8,0x30,0x87,0x06,0xC3,0x11,0x9B,0x83,0xFC,\r
+0x54,0xC4,0xCD,0x9E,0x41,0xD1,0xBE,0x9B,0x3F,0x8B,0xAA,0x32,0x7F,0x00,0xE4,0x2B,\r
+0x40,0x07,0x60,0xAE,0xBC,0x98,0x33,0xB7,0x08,0x4C,0x02,0x91,0xEB,0x57,0x6A,0xDB,\r
+0xE6,0x38,0x63,0x61,0xE9,0xFD,0x42,0xD7,0x95,0x63,0x93,0x12,0xDA,0xC9,0xBB,0xF8,\r
+0xC5,0xAA,0x11,0x5C,0x29,0xBB,0xC5,0xF9,0x73,0x95,0x18,0x2F,0xB4,0x52,0xDC,0x2F,\r
+0xFE,0xF4,0x3F,0xFD,0x94,0xF5,0xE1,0xFD,0x63,0x14,0xCE,0x10,0x68,0x67,0x47,0x07,\r
+0x22,0x6F,0x0A,0xD5,0x54,0xB3,0x66,0xD3,0xF2,0x0D,0x44,0x89,0xD4,0x37,0x89,0x5E,\r
+0xB0,0x61,0x1C,0x0B,0xD7,0x19,0xFF,0xEF,0x5A,0x41,0xB8,0xA5,0xD6,0x38,0xB4,0x54,\r
+0xF0,0xC6,0xC1,0x5B,0x4A,0x9A,0x6E,0xC0,0x66,0xDD,0xC0,0x4D,0x71,0xFE,0xD6,0x8D,\r
+0x9A,0x1C,0x14,0xA8,0x6E,0xED,0xA7,0xBC,0xC2,0xA7,0x27,0x7B,0x7B,0x4E,0x59,0x0F,\r
+0x03,0xC0,0x77,0xE2,0xCD,0x8A,0x8B,0xAB,0xF6,0x5A,0x38,0x33,0x4E,0x9E,0x35,0x08,\r
+0xEC,0xB7,0xD3,0xE3,0x20,0xFC,0xD0,0x06,0x15,0x65,0xBD,0x53,0x7E,0xC5,0xB9,0x3D,\r
+0x14,0x5E,0x63,0xDF,0x1B,0xDC,0x71,0x8E,0xA9,0x93,0x3D,0xC2,0x36,0xFC,0x3A,0x83,\r
+0x55,0x70,0x65,0x5F,0x9A,0x28,0xAA,0xBC,0x0D,0x4B,0x2C,0xDD,0xDE,0x60,0x42,0xBF,\r
+0x3E,0x99,0xD6,0xFE,0x0B,0x07,0x37,0x3F,0xE3,0xF0,0xE1,0x5B,0xC1,0x09,0xAD,0x05,\r
+0x26,0xDF,0x97,0x04,0x0E,0x23,0x78,0xC9,0xB9,0x22,0x7B,0x19,0xA7,0xCF,0x13,0x6F,\r
+0x9B,0x0A,0xE8,0x40,0x32,0xEF,0x9D,0x1F,0x29,0x05,0x91,0xD9,0x5F,0x38,0x8E,0xD4,\r
+0x30,0x01,0x05,0x0A,0x86,0x2B,0xCA,0x76,0x30,0x39,0xBE,0xFE,0xCC,0x7C,0xFA,0xCE,\r
+0x95,0x92,0x3B,0xB4,0x1F,0x17,0x49,0xDC,0xAB,0xB5,0x1E,0xD3,0xEB,0xBC,0x6A,0x24,\r
+0xCA,0xC1,0x85,0x47,0x0C,0x32,0x5B,0xEF,0xFB,0x68,0xB9,0x93,0xA4,0x69,0xDC,0x50,\r
+0x8B,0xEF,0x83,0xC7,0x88,0xE2,0xCF,0x2B,0x38,0x10,0xA0,0xED,0x02,0xF1,0x80,0xD1,\r
+0x3C,0xC4,0xA1,0x08,0xB8,0xF6,0x0C,0x86,0xDB,0x74,0x3C,0x5C,0xFC,0xFF,0x26,0xE3,\r
+0xB9,0x6E,0x77,0x1C,0x4C,0xA9,0xBA,0x83,0x44,0xAA,0xA4,0xBA,0x4A,0x0C,0x9F,0xE5,\r
+0x5E,0x1C,0xE9,0x1D,0xFD,0x49,0xA2,0x1C,0xED,0xAD,0xE4,0x92,0x4F,0x53,0x6B,0x53,\r
+0xC7,0x96,0xF0,0x8C,0x46,0xAB,0x87,0x8C,0xE9,0xFF,0xDC,0x59,0x71,0x03,0x2F,0x8A,\r
+0x34,0x67,0x8B,0x75,0x72,0x74,0x7C,0x73,0x22,0xAE,0xDB,0x34,0xCF,0xDA,0x35,0xF1,\r
+0xA3,0x75,0x41,0x10,0x21,0xCA,0x8F,0x2C,0x2A,0x87,0xC5,0x27,0x29,0x95,0xD5,0x39,\r
+0x01,0x4F,0x57,0xEE,0x12,0x20,0x18,0x03,0xC8,0x47,0x2E,0x79,0xA2,0x90,0xE7,0xD9,\r
+0x2E,0x7C,0xBD,0x79,0x6F,0x98,0x6B,0x1D,0xAE,0x43,0x51,0xF7,0x1B,0x61,0x54,0xE2,\r
+0x4D,0x36,0x24,0xA5,0x16,0xEB,0x20,0x51,0x02,0xB2,0x5E,0xFB,0x80,0x0F,0x83,0x85,\r
+0xE0,0x06,0x30,0x66,0x9B,0xC7,0xDD,0x18,0xAA,0x11,0x69,0x3C,0xD7,0x9B,0x73,0x0B,\r
+0xE3,0xC9,0x96,0x59,0xEA,0xA7,0x88,0x7D,0x3B,0x92,0xF4,0x13,0x49,0xAA,0x50,0xDA,\r
+0x3A,0xFF,0x58,0x81,0x41,0x9E,0xEB,0x5C,0x98,0x9A,0x89,0x39,0x5B,0xB6,0xE8,0xAB,\r
+0x58,0x27,0x10,0x94,0xAC,0xE6,0x72,0x65,0x45,0x0E,0xD3,0x55,0x9D,0x11,0x31,0xC9,\r
+0x64,0x3E,0x37,0xBB,0x07,0xDF,0x11,0x44,0x2B,0x23,0xB2,0xC8,0x6F,0xBB,0x52,0xF9,\r
+0xD8,0x79,0x99,0x36,0x7F,0x43,0x2D,0xAC,0xA5,0xE8,0x1B,0x1A,0x78,0xF8,0x1E,0x3E,\r
+0x41,0xF3,0x80,0xA7,0xC6,0xB0,0x2B,0x1A,0x68,0xCD,0x07,0xAD,0x7E,0x01,0x25,0xB7,\r
+0x94,0x00,0xEA,0x7D,0x0F,0xCC,0x0F,0x6D,0x8F,0xFB,0xA3,0xD7,0xCE,0x0B,0xA7,0x38,\r
+0xF7,0x4A,0x73,0xA1,0x23,0xDB,0xAC,0x0A,0x90,0xB3,0x97,0x2A,0x1E,0x3E,0xA0,0x54,\r
+0x53,0x4B,0x9C,0xD6,0x78,0x76,0x41,0x7C,0x15,0xD3,0x74,0x15,0x45,0x0E,0x95,0xD8,\r
+0x91,0xF4,0xB5,0xCB,0x6D,0x89,0x48,0x3B,0xB0,0xAF,0x12,0xE5,0xD2,0xC4,0x87,0xBD,\r
+0xBF,0x55,0x8E,0x95,0x49,0x8D,0xF5,0x75,0x66,0x90,0x02,0x64,0xE7,0x18,0xAF,0x26,\r
+0x8A,0x7D,0x52,0x0E,0xCE,0xA3,0x35,0x33,0xEC,0x09,0x93,0x7D,0xB7,0xA4,0xF6,0xE8,\r
+0x9C,0xA3,0xC0,0x00,0x57,0x9F,0xB6,0x99,0x10,0x25,0x3B,0x31,0xB8,0xA6,0xFC,0xD5,\r
+0x35,0xF5,0x5A,0xBC,0x64,0x75,0x21,0xB6,0xA2,0x38,0x77,0x2F,0xEE,0xE3,0x9E,0x92,\r
+0x54,0xE2,0xB4,0x96,0x17,0x04,0x57,0xF5,0x39,0xB4,0xD7,0x02,0x20,0x6E,0xE4,0x8D,\r
+0xD5,0x2E,0xEC,0xFD,0x65,0x9A,0x56,0x12,0x3F,0xC0,0xCC,0xD8,0x81,0xDE,0x11,0x4C,\r
+0x85,0x77,0x50,0x33,0x24,0xEE,0xC0,0xDA,0x58,0x60,0xC4,0xB9,0xA5,0xB8,0x4E,0x99,\r
+0xCB,0x53,0x54,0x8E,0x14,0xFA,0x03,0x77,0x59,0xC4,0xB3,0x56,0x07,0xAE,0x74,0x67,\r
+0x98,0xC5,0x4E,0x7F,0x81,0x1E,0xA6,0xA6,0xA4,0x4C,0x6C,0xF5,0x2F,0x6C,0xEE,0xB0,\r
+0xE2,0x5B,0x47,0x90,0x37,0xCB,0xD2,0xE9,0xEB,0xD9,0xFF,0x48,0xE5,0x6F,0xF2,0xD0,\r
+0xA9,0x8B,0x1C,0x9B,0xD1,0x5E,0x01,0x7B,0xCD,0xB1,0x61,0x5D,0xA8,0xCD,0x19,0x52,\r
+0x8F,0x89,0x0D,0xB8,0xB3,0x1B,0x46,0x2D,0xA1,0xBA,0x23,0xD1,0x59,0xC1,0xB5,0x5D,\r
+0xD1,0x48,0x62,0x82,0x1D,0x06,0x6A,0xFA,0x9C,0xC8,0xB1,0xF2,0x7F,0xD0,0xB7,0x7E,\r
+0x84,0xE5,0x81,0xFA,0x6C,0x66,0x3F,0x9F,0xD2,0xF9,0x55,0xA0,0xC6,0x21,0x04,0x45,\r
+0x57,0x2D,0x12,0xA9,0xA8,0x2D,0x4A,0x37,0x03,0x16,0x29,0x14,0x69,0x42,0x69,0x70,\r
+0x61,0xCA,0x68,0x0D,0x63,0x40,0x4D,0x66,0x09,0x19,0x14,0x16,0x6C,0x1D,0x9D,0xC6,\r
+0xD4,0xBC,0x3D,0x34,0x8D,0xC6,0x80,0xDD,0x47,0x28,0xF0,0x44,0x79,0x29,0x8C,0xF7,\r
+0xBB,0x33,0x00,0xEA,0x71,0x8A,0x28,0xF1,0x34,0x6B,0x86,0x35,0xBE,0x5F,0xC7,0x5C,\r
+0x9E,0xFE,0xB7,0xF6,0x20,0x25,0xF8,0x88,0x62,0xC2,0x3A,0xAF,0x6E,0x6A,0xC0,0x30,\r
+0xA0,0xBA,0xE7,0x2F,0xD7,0x84,0x1A,0x0F,0x18,0x0C,0x25,0x22,0xED,0x45,0x51,0xAD,\r
+0x40,0x61,0x51,0x6E,0x5F,0x8C,0xA8,0xB0,0xE0,0x72,0xB5,0xA5,0x67,0x91,0xF1,0x84,\r
+0xDB,0xB6,0x3F,0x09,0xC3,0x94,0x64,0xEC,0x60,0xE4,0x19,0xBE,0x42,0x26,0x3C,0x98,\r
+0x27,0x4D,0x46,0xCD,0x91,0xC5,0xE0,0x17,0x3D,0xE6,0xEF,0xC9,0xF6,0xA2,0xD8,0x68,\r
+0xF4,0x85,0xD5,0x9E,0xD4,0x7A,0x4E,0x8D,0xD3,0x5D,0x22,0x4F,0x50,0x3A,0x84,0xE9,\r
+0x2A,0x1A,0x33,0x06,0xDA,0xB3,0x4B,0xD0,0x2C,0xF3,0xDE,0xFD,0x24,0xE0,0x82,0xF2,\r
+0x04,0xBB,0x08,0x58,0xD9,0x4D,0x1F,0x52,0xF8,0xEA,0xED,0x6D,0x00,0x86,0xDD,0x27,\r
+0x46,0x5A,0xA8,0xE7,0xE6,0x7F,0xAE,0x06,0x08,0xBD,0x63,0xF9,0x70,0xD2,0xBD,0x43,\r
+0xC3,0xF0,0x7E,0xF3,0xCF,0x4C,0x42,0x97,0xBE,0xF2,0x17,0x2C,0xAB,0x6B,0xD6,0x6D,\r
+0x56,0xBF,0xC3,0x60,0x93,0xD4,0xC3,0x31,0x56,0x3D,0xC1,0x70,0x82,0x78,0xDE,0x73,\r
+0x32,0x5C,0x72,0xFC,0xF7,0x4B,0x9F,0x13,0x7B,0xFE,0x15,0x88,0xD6,0x4A,0xE1,0xC2,\r
+0xC5,0xCB,0x87,0x7A,0x94,0xE1,0xAF,0xE1,0x43,0x7A,0xC8,0x8F,0x96,0x9D,0x5D,0x8B,\r
+0x15,0xCC,0xB2,0x16,0x28,0x36,0xE6,0xA1,0x7E,0x08,0x5A,0xAC,0x63,0x1F,0x97,0xFB,\r
+0x0B,0xB1,0x0A,0x65,0x76,0xBF,0x44,0x21,0xB4,0xFD,0x2A,0x2E,0x89,0xF4,0xB2,0x31,\r
+0x62,0x05,0xCE,0x32,0x7A,0x67,0x62,0x5A,0xF9,0x4E,0x9A,0x82,0x0D,0xF3,0x8A,0xEC,\r
+0xF8,0x40,0x71,0x9C,0xA6,0xE4,0x4F,0x6A,0xD0,0xDF,0x76,0xB1,0x48,0x7B,0xC2,0x13,\r
+0x61,0xE8,0xAE,0x0C,0x87,0x94,0x52,0xA0,0x00,0x58,0x2C,0x04,0xD5,0xF9,0x2C,0x65,\r
+0x31,0xA8,0x09,0xD1,0x52,0xE0,0x1D,0x16,0xBE,0x0B,0x73,0xF7,0xC6,0xEB,0x09,0x56,\r
+0xE3,0xE2,0x21,0xBC,0x03,0x64,0xE6,0x44,0xD3,0xC0,0x22,0xF0,0xF8,0x2D,0xD4,0xA6,\r
+0xFA,0xC5,0x0E,0x80,0x47,0x7E,0x75,0x30,0x3E,0xCB,0x89,0xBA,0x4C,0x7A,0x10,0xCF,\r
+0x29,0x60,0x51,0x49,0x32,0xB5,0x78,0x67,0xED,0x53,0x87,0x4E,0xC1,0x87,0x3C,0x86,\r
+0x73,0x22,0xCB,0x9B,0xF4,0xDF,0x1E,0xD9,0xAC,0x15,0x9F,0xB4,0xC4,0xC8,0x18,0x70,\r
+0x63,0xF9,0x8D,0x2A,0xC7,0x33,0x8F,0xF0,0x58,0x94,0xAD,0x6F,0xD1,0xC1,0xE7,0x37,\r
+0xC7,0xE6,0x9C,0xF2,0x5B,0x0F,0x67,0x88,0x5E,0xBA,0xEC,0xEF,0x50,0x1A,0x13,0x05,\r
+0xE0,0x1C,0x75,0x3E,0xAE,0x89,0x90,0x1F,0x7A,0xBF,0x1A,0xA0,0xEB,0x3F,0xF1,0x95,\r
+0x02,0x42,0x9E,0xFE,0xAB,0x69,0x1B,0x2D,0x6C,0x85,0xB8,0x5E,0xD8,0xA8,0x1B,0xBA,\r
+0x23,0x62,0x6C,0x46,0x38,0x3A,0xC8,0xE5,0xCB,0x5C,0x7E,0x3C,0x8C,0x37,0x90,0x35,\r
+0xE8,0x0F,0x6B,0x17,0xE1,0x41,0x76,0xFF,0xB0,0xAD,0x8D,0xC5,0xB8,0xCC,0x4F,0xCA,\r
+0x8E,0x81,0x14,0x13,0x37,0x55,0xF3,0x55,0x4C,0xA4,0x00,0xAC,0x86,0x0A,0x92,0x3A,\r
+0x27,0xA9,0x54,0x14,0x68,0xE3,0xF6,0xA1,0xD2,0xD6,0xE7,0xAD,0x37,0x12,0x72,0xA5,\r
+0xF2,0xD6,0x10,0xA9,0xCA,0x61,0xBB,0x4A,0xB8,0x25,0x32,0x77,0x42,0x7F,0xD9,0x92,\r
+0x11,0x67,0x8C,0xCD,0xC4,0x53,0x45,0xEC,0x9A,0x0E,0x85,0xB8,0x72,0xBC,0xCD,0x3F,\r
+0xE1,0xF3,0x02,0x9A,0x80,0x49,0xD6,0x98,0x0C,0xF4,0xDD,0x0B,0xCD,0xA1,0xE4,0xFD,\r
+0x6F,0x21,0xAB,0x51,0xC3,0x8E,0xC1,0xD4,0xA2,0xB3,0x61,0x86,0xB5,0x9D,0x78,0x15,\r
+0x52,0x02,0x39,0x23,0x8D,0x1B,0xE2,0x22,0x63,0x35,0x83,0x31,0x8B,0x5B,0xA5,0xE5,\r
+0x8F,0x6E,0x63,0xB7,0x2A,0x79,0x24,0xFB,0x2B,0xED,0xE1,0x24,0x66,0xC2,0xDD,0xDC,\r
+0x60,0x07,0xD9,0xA8,0xA0,0xBB,0x6E,0xB9,0x0B,0xCC,0x59,0xD6,0x51,0x6D,0xFC,0xA1,\r
+0xF1,0x28,0x44,0x2B,0x91,0x6A,0xF0,0x9A,0xAD,0x03,0x5A,0xE9,0x20,0x38,0x9C,0xC4,\r
+0x64,0xCC,0xE1,0xFA,0x5A,0x52,0xA2,0x9E,0x86,0xB6,0x97,0xC9,0xA5,0xDB,0xA3,0xA4,\r
+0xC8,0xC0,0xEE,0x0B,0x34,0x35,0x39,0x49,0x1F,0xFC,0xF4,0x15,0xDC,0x90,0xD0,0xE8,\r
+0x26,0x46,0x23,0xB0,0x9F,0x58,0x0E,0x3C,0x69,0xB7,0x33,0xBE,0x04,0x85,0x98,0x8A,\r
+0xDA,0x0A,0x8B,0x9C,0x9D,0x65,0x01,0x36,0xFB,0x69,0x25,0xB0,0x9D,0x06,0xA4,0x20,\r
+0x7A,0xDE,0xA2,0x16,0xFF,0x0D,0x6B,0x4D,0x8E,0x3E,0x28,0x7B,0xA7,0xF8,0xB2,0x82,\r
+0xAC,0x5F,0xB2,0x29,0x23,0x96,0x5E,0x65,0xB5,0x9F,0x06,0x25,0x83,0x45,0xB6,0xCC,\r
+0x5A,0x11,0x27,0x0A,0x05,0xE4,0xA7,0x6A,0x48,0x80,0x4E,0x11,0xE9,0x1C,0xE0,0xB3,\r
+0xDF,0x2E,0xC4,0x6A,0x35,0x68,0xFC,0x5F,0xA7,0x81,0xEA,0x66,0xB2,0xF1,0x4D,0xC5,\r
+0xA2,0x96,0xB7,0x74,0x3A,0x07,0xC7,0xEF,0xBB,0x39,0xF8,0x17,0x0C,0x9B,0x8B,0xA3,\r
+0x45,0xEC,0x13,0x42,0x30,0x88,0x77,0x6D,0xD1,0xCA,0x2D,0xCD,0xC5,0xBF,0xF7,0xD4,\r
+0x21,0x73,0x4F,0x60,0x54,0x60,0x5C,0x38,0x7C,0x91,0x5B,0x20,0xFD,0x62,0xF0,0x50,\r
+0x07,0x66,0xD1,0x08,0xF6,0xE2,0x11,0xD3,0x27,0x41,0x10,0x2B,0x1B,0xB1,0x65,0xC2,\r
+0x93,0x6D,0x03,0x7D,0x95,0xD7,0xBE,0xBE,0x6F,0x99,0x72,0x3E,0xDE,0xB3,0xC1,0xCE,\r
+0x6E,0xCE,0xDC,0xF5,0x57,0x00,0x96,0x24,0x75,0x0F,0x21,0xCF,0x4B,0x16,0x25,0x1F,\r
+0xF5,0xE3,0x7C,0x79,0xE5,0xFC,0x38,0xDB,0xD7,0xE4,0x6C,0x4D,0xAF,0xE6,0xA1,0xAB,\r
+0x92,0x82,0x74,0xD9,0x83,0x29,0x1C,0x84,0x6B,0xBD,0x3C,0x83,0xEE,0x70,0xD5,0x63,\r
+0x68,0x14,0xC7,0x81,0xD8,0x22,0x57,0x54,0x61,0x3F,0x8C,0x0C,0xAE,0x91,0x4E,0x0F,\r
+0xF3,0x39,0x67,0x0D,0x55,0x3D,0x99,0x2E,0x8F,0x28,0xED,0x26,0xDD,0xE7,0x3F,0x4C,\r
+0xFE,0x0E,0x36,0xD2,0x64,0xEC,0x07,0x0D,0x3B,0xF9,0x02,0x5A,0xBB,0x98,0xB1,0x48,\r
+0xA8,0x94,0x8A,0x7B,0x51,0x80,0xD7,0x0A,0x8C,0x34,0x27,0x46,0xEA,0x48,0x1E,0x31,\r
+0xC3,0x2D,0xA4,0xA0,0x26,0x76,0xD5,0x57,0x53,0x00,0xD8,0xBD,0xA9,0xFD,0x7B,0xDF,\r
+0x8D,0x7F,0x40,0x91,0x12,0x47,0xC0,0x46,0x06,0x76,0x6D,0x84,0x47,0x30,0xFD,0x64,\r
+0x18,0x9B,0xE5,0x40,0x1A,0xF5,0x7F,0xCE,0xBA,0x2F,0x3D,0x4A,0xA6,0x8F,0x5D,0x26,\r
+0xC9,0x2F,0x99,0xAF,0x79,0xC0,0xD0,0xA3,0x29,0xE7,0xEE,0x19,0x62,0xFA,0x16,0x8E,\r
+0x6B,0xEA,0x93,0x03,0xFA,0xED,0xE0,0x7F,0x36,0x43,0x36,0x08,0x79,0xF6,0x20,0x94,\r
+0x56,0xC9,0x01,0x71,0xEB,0xCE,0xC6,0x7D,0x59,0x82,0x68,0x32,0xD7,0xDA,0x3D,0x43,\r
+0x32,0x56,0x5D,0x53,0xBD,0x97,0xB9,0x17,0x33,0x71,0xBD,0xE8,0x13,0xAF,0x76,0xEB,\r
+0xC2,0xC2,0xD3,0x04,0xE9,0xF3,0xC9,0x77,0x93,0x90,0xFF,0x57,0x2C,0x1E,0x44,0xBF,\r
+0x19,0x74,0x92,0xE4,0x01,0x59,0xE9,0x4E,0xEE,0x4F,0x4D,0x2E,0x1E,0xFE,0x41,0x34,\r
+0xE6,0xC6,0x6E,0x4A,0xDB,0x42,0x9D,0x48,0x08,0xD0,0x93,0xB6,0x10,0xFB,0x88,0x69,\r
+0xAA,0x85,0xA9,0x5D,0x1D,0x28,0xFB,0xF6,0x04,0x7C,0x62,0xB9,0x09,0xD4,0xAF,0x55,\r
+0xF7,0xF2,0x5F,0x5F,0x99,0xD8,0x4F,0x12,0x7D,0x87,0x9E,0x7D,0x5B,0x50,0xFE,0xAE,\r
+0xD2,0x19,0x95,0xB5,0x7E,0x1D,0x54,0x9B,0xDC,0x70,0x19,0x9F,0x1D,0xAA,0xBF,0xB6,\r
+0x2A,0x9E,0x05,0xCB,0xAA,0x34,0xDE,0x3B,0x6A,0xAB,0xF9,0xDE,0x95,0x18,0xB7,0x09,\r
+0x33,0xB9,0x2A,0xF7,0xC8,0x5C,0xB4,0x40,0xF5,0xCF,0xDB,0x82,0xB0,0xD2,0x5C,0xE3,\r
+0x1A,0x8A,0xC6,0x66,0x40,0xA3,0xF1,0x08,0x4A,0x8A,0x41,0x2C,0x6C,0xFF,0xDF,0xD3,\r
+0xB4,0x97,0xEA,0xB1,0x24,0x4B,0xDA,0x5D,0x89,0x06,0xAC,0xA6,0xE2,0x56,0x0D,0x18,\r
+0x7E,0x15,0x9A,0x44,0xCF,0x81,0x30,0x78,0x31,0x7B,0xB2,0xD5,0xBC,0xF4,0x84,0x98,\r
+0xB1,0xB3,0xA5,0x47,0x71,0x72,0x6F,0x2B,0x49,0x96,0x8B,0x4C,0x3D,0x2F,0x70,0xAA,\r
+0x89,0xB4,0x78,0xC3,0xA6,0x3B,0x2F,0x97,0xBC,0x01,0x7C,0xCA,0x5E,0x1F,0xDA,0x58,\r
+0x74,0x17,0xA7,0x4B,0x50,0xDD,0x12,0x1C,0x45,0x3A,0x7A,0x43,0x05,0xF2,0x77,0x2E,\r
+0x9C,0x4B,0x71,0x84,0x43,0xC3,0x3B,0x14,0xF8,0x75,0xEF,0xD0,0x59,0x73,0xEF,0x88,\r
+0xEB,0x30,0x28,0x59,0xF5,0x22,0xF5,0x49,0x28,0x77,0x05,0xE4,0xA9,0xEA,0xBA,0x13,\r
+0xBD,0xAA,0x94,0xF0,0xC0,0x4E,0x25,0x4E,0x9F,0xBA,0x20,0xF8,0xF8,0x3A,0x15,0x6A,\r
+0xCE,0xDB,0xE2,0xB3,0xB6,0xE5,0xE2,0x05,0xA2,0x35,0x4F,0x26,0x04,0x92,0x59,0x46,\r
+0x80,0x89,0x06,0x82,0x82,0xD4,0xF7,0x14,0xF7,0x43,0xFA,0x1F,0xEA,0x5F,0xDF,0xFD,\r
+0x8A,0x8B,0x3B,0x8D,0xDD,0x62,0xF2,0xE0,0x8D,0xA4,0xCC,0xBB,0x21,0x58,0xB2,0xAC,\r
+0x5B,0x3F,0x47,0x62,0xBE,0x57,0x5D,0x8D,0x1E,0x6C,0x1F,0xE8,0xE5,0x2D,0xF9,0x04,\r
+0x15,0x6D,0xA3,0x53,0x4F,0x6C,0xE4,0x3E,0xFD,0xC1,0x4A,0x90,0x94,0x78,0x99,0x61,\r
+0x28,0x4E,0x31,0x21,0x5E,0x4F,0xC2,0x3C,0x92,0x00,0x14,0xAA,0x3A,0x54,0x84,0xB6,\r
+0x44,0xC2,0x73,0x2A,0x52,0x40,0x33,0x90,0x83,0x02,0x32,0x89,0x58,0x13,0xC1,0xE0,\r
+0x62,0xD7,0xED,0x42,0xF0,0xC2,0x7E,0x7B,0xD8,0xD2,0x79,0x82,0xBE,0xC0,0x54,0x72,\r
+0x2D,0x6A,0x7E,0xD7,0xF3,0xA2,0xB4,0x67,0xD1,0x4C,0x03,0x6D,0x08,0xB4,0x81,0x3D,\r
+0xD0,0xC9,0xA1,0x5F,0x31,0x75,0x9C,0xFD,0xCB,0xDA,0x50,0x9C,0x9D,0x11,0x65,0xEC,\r
+0xD1,0x26,0xD6,0xFB,0x27,0x8B,0x3E,0xC7,0xCF,0xFE,0x1E,0x21,0xAD,0xD2,0x71,0x41,\r
+0xB6,0x47,0xDE,0x5B,0x41,0x5E,0x1A,0x98,0x73,0xA7,0x4E,0xEF,0xEC,0x44,0x05,0x89,\r
+0xB0,0x9D,0xC5,0x2F,0xF1,0x9F,0xBB,0x6D,0x2B,0x6B,0xCF,0x84,0x9E,0x45,0x9B,0x6E,\r
+0x2B,0xB0,0x65,0xA3,0x7C,0x80,0x75,0x17,0xC5,0x7C,0xAE,0xAE,0xED,0x33,0xEA,0x2D,\r
+0x59,0x2E,0x64,0x44,0xE4,0x01,0xD3,0x4B,0xEE,0xC9,0x63,0x8E,0x2F,0x5D,0x7B,0xF1,\r
+0x70,0x1D,0x88,0xD5,0x6C,0xFE,0x96,0x03,0x51,0x8C,0xF9,0x20,0xF3,0x70,0xF8,0xC1,\r
+0x3D,0xB1,0x38,0x66,0x6B,0x23,0x12,0x3B,0x95,0x38,0x90,0x77,0xFF,0x56,0x20,0xBA,\r
+0xF7,0x33,0x48,0x93,0x80,0xE9,0xF8,0x1E,0x2D,0x45,0x8E,0x04,0xA1,0xF4,0xA9,0x3A,\r
+0xCA,0x10,0xDA,0xE1,0x02,0x99,0x0D,0xD4,0x18,0x42,0x5E,0x68,0x1D,0xBD,0x7E,0x7A,\r
+0xF2,0x17,0x07,0x65,0xD5,0xD0,0x4D,0x68,0xED,0xD5,0xA9,0xEE,0x7E,0x8D,0xD4,0x88,\r
+0xDF,0xEF,0xD3,0xA6,0xE7,0x61,0x19,0x57,0x5C,0x36,0xCD,0x72,0x1A,0xD1,0x4B,0xAA,\r
+0x37,0xB3,0x05,0x69,0xF4,0x7F,0x30,0x5F,0xE1,0x79,0x58,0xE1,0x46,0x50,0xD3,0x0C,\r
+0x81,0x66,0x71,0x26,0x4D,0x51,0xEB,0x34,0x37,0xD3,0xDD,0xF5,0x6F,0xBC,0xE0,0x9D,\r
+0x71,0xF2,0xFF,0x71,0x19,0x35,0x9B,0x54,0x97,0x32,0x9F,0x4A,0x50,0x0D,0xD2,0xC9,\r
+0xA5,0x62,0xCC,0x68,0x7F,0xE0,0xBF,0x0B,0xAC,0x93,0xB1,0x14,0x53,0x59,0x2C,0x4B,\r
+0x5A,0xD0,0x30,0xC6,0xA5,0xFB,0xCB,0x0D,0x4A,0x0C,0x6F,0x8C,0x5D,0x5C,0xE5,0x16,\r
+0xB4,0x56,0xFD,0x7D,0x3D,0x7A,0x6D,0x51,0xD9,0xC4,0xBC,0xDF,0x18,0xF2,0x5A,0x8C,\r
+0xE9,0x21,0x0B,0x7F,0xB9,0x8A,0xD9,0xB5,0xA0,0x3F,0x40,0x1B,0x4A,0x76,0x0B,0x77,\r
+0x69,0x3A,0xA7,0xE9,0x0E,0x96,0xFC,0x78,0xCE,0xE8,0xDB,0x7C,0xD6,0xBA,0x13,0x2B,\r
+0x91,0xBD,0x37,0x97,0xDA,0xBF,0x76,0xD8,0x78,0x33,0x3B,0x3D,0x5E,0x08,0x1B,0x94,\r
+0x41,0xE6,0x3C,0xDC,0x0F,0xCB,0x39,0x6E,0xC8,0xC6,0x9A,0xFC,0x9B,0x0A,0xBF,0x98,\r
+0xA3,0xB8,0xD7,0x1C,0x0A,0x2B,0xB2,0x5C,0xDE,0xFC,0x38,0x02,0xA8,0x9D,0x55,0xB7,\r
+0xAB,0xAB,0xC9,0x35,0x45,0xE3,0x54,0xBC,0x14,0xEE,0xAF,0x67,0xFB,0x6E,0xEB,0xE8,\r
+0x60,0xC6,0xCE,0x64,0x9C,0x98,0xEA,0xA6,0x6F,0x1F,0x5C,0x9E,0xCF,0x95,0x34,0x17,\r
+0x64,0x0D,0xF6,0x36,0xCC,0x41,0xD4,0xE2,0x76,0x95,0xC5,0x0F,0x74,0xB0,0xD6,0x87,\r
+0xCD,0x25,0xB6,0x31,0x93,0xF7,0xD1,0x16,0xE8,0xE7,0x22,0x0E,0xC5,0xA8,0x36,0x18,\r
+0x52,0xC3,0x2E,0xEF,0x60,0xF1,0x67,0xAF,0x3E,0x4D,0xA7,0x1A,0x31,0x1E,0x69,0x1D,\r
+0xB1,0x72,0xB2,0x8B,0x6E,0xC3,0x99,0x09,0x1C,0x66,0x10,0xD5,0x01,0xDD,0x7D,0xB0,\r
+0x72,0x0C,0xAB,0xF3,0xF6,0x42,0x3F,0x55,0x1A,0x48,0x51,0x55,0x85,0x49,0xAD,0x74,\r
+0x22,0x4C,0x0C,0x2E,0x23,0x36,0x70,0xE3,0xA4,0x1B,0x0E,0xA6,0x96,0x5B,0x88,0x47,\r
+0xB9,0x61,0xAC,0xA2,0xE3,0xDC,0x57,0x73,0x9A,0x88,0xAB,0x18,0x0F,0xD8,0xB4,0xED,\r
+0xA0,0x46,0x83,0x9E,0xA7,0xC6,0xC4,0x07,0x77,0x83,0x00,0x52,0xBB,0x8F,0x70,0x84,\r
+0x30,0x86,0x69,0xB9,0x50,0x7D,0x3C,0x9A,0x08,0x56,0xBD,0x16,0x87,0x6A,0xBC,0x52,\r
+0x6A,0xC4,0xF3,0x6B,0x96,0x17,0x5A,0x24,0x49,0x10,0xA5,0xEC,0x82,0x25,0x98,0xA4,\r
+0x84,0x42,0x3E,0xD0,0xFF,0xAD,0x45,0xCB,0xFA,0xF9,0xCE,0x4D,0x13,0xB8,0xB7,0x27,\r
+0x20,0x5D,0x2F,0x08,0x63,0x91,0xAD,0xB3,0xFC,0xD7,0x8F,0xCD,0x92,0x63,0x43,0x15,\r
+0x99,0xAE,0x29,0xBE,0x39,0xC7,0x23,0x75,0x5F,0x2A,0x07,0x12,0xDE,0xA4,0x00,0x02,\r
+0x65,0xE2,0x81,0x92,0x3B,0xFA,0x2C,0x7F,0xCD,0xF4,0x11,0x1C,0x47,0x27,0x3C,0xA8,\r
+0xEF,0xFB,0x10,0x0B,0x87,0x34,0x7C,0x26,0x11,0xDC,0x24,0x87,0xC0,0xE7,0x12,0xEE,\r
+0x39,0x7A,0x00,0x34,0x5B,0xAF,0x49,0x0E,0x2A,0x7D,0x0A,0xD9,0xE4,0x5A,0x16,0xA0,\r
+0x9C,0x8A,0x66,0x48,0x91,0xCA,0xDE,0x1C,0x03,0xC2,0xC8,0xC4,0xF1,0x53,0xE9,0xE7,\r
+0x19,0xB5,0x85,0x28,0xA1,0x46,0x85,0x29,0xEC,0xC3,0x6C,0xB3,0xAA,0xBE,0x44,0x91,\r
+0x06,0x48,0xB1,0x60,0x94,0x2A,0x55,0x2E,0x75,0x89,0x0F,0x6F,0x86,0x1D,0x53,0xF6,\r
+0xE1,0x32,0x15,0x56,0x9E,0xA5,0xE5,0xAC,0x1F,0x7A,0xDA,0xB5,0x4F,0x39,0x2F,0x81,\r
+0x2C,0x85,0x09,0x73,0x67,0x2C,0xE3,0x97,0x06,0xF0,0x43,0x24,0xF6,0x3F,0xDC,0x37,\r
+0xA2,0x57,0xA0,0xB8,0x24,0xEB,0xF4,0xDB,0xA8,0xB7,0xFF,0xA9,0x8E,0x03,0x40,0xDF,\r
+0xCC,0xCA,0xC1,0x95,0x8E,0xDB,0x06,0xB8,0x8F,0xAE,0xC3,0x86,0x25,0x60,0x79,0xFE,\r
+0x11,0xA6,0x9B,0x01,0x29,0xB9,0xC0,0x61,0xC7,0x76,0xA1,0x93,0xC8,0xF9,0x01,0xC7,\r
+0xB2,0x8C,0xE6,0x09,0x35,0xC8,0xD2,0xD9,0x09,0x40,0x78,0x4B,0x63,0x9A,0x38,0xE6,\r
+0x23,0xA3,0x7B,0x8A,0x04,0x19,0x4C,0xFA,0xAF,0x8F,0x7B,0x74,0x12,0xCF,0x58,0x83,\r
+0x8B,0x64,0x4C,0x29,0x90,0x97,0x1B,0x0A,0xBB,0xBF,0xD6,0xB7,0x9F,0x32,0x74,0xCA,\r
+0x27,0x68,0x43,0xD8,0xFE,0xF0,0x80,0xDD,0x22,0xF5,0xB5,0x6B,0xE6,0x79,0x07,0x86,\r
+0xE1,0x2B,0xAA,0x38,0xD6,0xE3,0xB5,0xCD,0x81,0x09,0x01,0x8A,0x66,0xD4,0xBB,0xC0,\r
+0x5F,0xD8,0xF5,0x6B,0xC4,0xD0,0xA6,0xE8,0x26,0x49,0x51,0x57,0xB3,0x9B,0xCF,0x76,\r
+0x32,0xDF,0xA4,0xA0,0x02,0x20,0x98,0x35,0x0E,0x03,0x83,0x3A,0xE2,0x60,0x4B,0x24,\r
+0xDF,0x95,0x0F,0xAB,0x55,0x49,0x2C,0xF1,0x21,0x24,0x9A,0x06,0xA6,0xF3,0x51,0x50,\r
+0x0C,0x61,0x01,0x33,0xA8,0x00,0xA1,0xDD,0x7E,0x81,0x49,0xCF,0xD3,0xFE,0x9A,0x07,\r
+0x4D,0x9B,0x19,0x75,0xE7,0xF6,0xA4,0xF9,0xE4,0xC3,0x13,0x1D,0x15,0x98,0xF0,0xB9,\r
+0xB9,0x40,0x2B,0xF4,0xEE,0xB1,0xB1,0x06,0xA2,0x18,0x03,0xAC,0x26,0x09,0x1C,0x90,\r
+0xBF,0xC0,0x6A,0xDA,0x35,0x83,0x30,0xF2,0xB3,0x07,0xA7,0x74,0xBA,0xE1,0x20,0xE8,\r
+0x9B,0x8F,0x9C,0xDF,0x10,0x13,0x8B,0x10,0x5A,0xFD,0x80,0xB8,0x4F,0x16,0xA6,0x7F,\r
+0x8D,0x71,0x3E,0xE5,0x87,0x3C,0xB8,0xFA,0xB1,0xA3,0x62,0x78,0x4A,0x9D,0x46,0x4D,\r
+0x2A,0x13,0xF8,0x3C,0x18,0xB3,0xEC,0x71,0x43,0x83,0x43,0xC0,0xD9,0x4E,0x15,0x85,\r
+0x51,0xEA,0x0B,0xCD,0xE3,0x4C,0xD8,0xAE,0x44,0xEE,0x88,0x91,0x00,0xF0,0x6E,0x9F,\r
+0xAD,0x83,0x86,0xC4,0x25,0xBC,0xE6,0x73,0x3B,0x60,0xEE,0x95,0xD6,0x75,0x7A,0x35,\r
+0x33,0x82,0x61,0xB6,0x3D,0x23,0x57,0x93,0x7B,0x48,0x47,0x92,0x89,0x70,0xCC,0xC1,\r
+0x59,0x58,0xB4,0x45,0x50,0x14,0x22,0x38,0x3F,0x37,0x92,0x2F,0x2B,0x3D,0x4E,0x2A,\r
+0x7B,0x97,0x03,0x6E,0x93,0xB9,0x12,0x2C,0xA3,0x86,0x71,0x4B,0x25,0xC3,0x7C,0x8C,\r
+0xED,0x24,0x5B,0x94,0x8E,0x7B,0xAD,0x05,0x2D,0x12,0x81,0x1C,0x61,0x50,0x66,0xF8,\r
+0x43,0xA9,0xE7,0xD3,0xB2,0x93,0xD5,0x99,0x84,0xC0,0x0F,0xD7,0x22,0x47,0xA1,0xB4,\r
+0x82,0x1E,0x05,0x55,0x74,0x63,0xEB,0x44,0x16,0xE3,0x32,0xA5,0x6C,0x64,0x34,0x42,\r
+0xCA,0x0B,0x67,0x8D,0xED,0x5A,0x06,0x3C,0x4C,0x8F,0xEF,0x31,0xCB,0xA2,0x56,0x9B,\r
+0xEA,0xF9,0xDF,0xAC,0x42,0x27,0x31,0x1D,0xF6,0xE6,0x00,0x2E,0x41,0xE8,0x94,0xD9,\r
+0x4C,0xC6,0xDC,0x63,0x17,0x42,0x40,0x7D,0x6B,0xC9,0x91,0xAD,0x70,0x76,0x45,0xFA,\r
+0x67,0xE6,0x11,0xD6,0xF4,0x22,0xC5,0x42,0xCE,0x2D,0x04,0x7C,0xBB,0x24,0x7D,0xFE,\r
+0xFE,0x3A,0x72,0x9C,0xBF,0x6E,0xBC,0x31,0xC1,0x21,0xA8,0x8D,0xD5,0xBF,0x1A,0x29,\r
+0x88,0x91,0xB5,0xD7,0xAA,0x0C,0x64,0x79,0x0C,0xA7,0x46,0x36,0x7E,0x88,0x77,0x5C,\r
+0x1A,0x9F,0xA3,0x09,0x29,0xA6,0xFD,0x45,0xA4,0xEB,0xBA,0x1A,0x7C,0x87,0x4A,0x56,\r
+0x6F,0x54,0xAE,0x5E,0xD7,0x04,0xC7,0x53,0x8D,0x3F,0x1A,0x90,0x1E,0xED,0x22,0x2D,\r
+0x54,0x0A,0x80,0xFF,0x6A,0x4A,0xE3,0x57,0x9D,0xBE,0xCC,0xAF,0xC2,0xD8,0xB9,0x05,\r
+0xA9,0x3E,0xC8,0xE0,0x33,0x35,0x89,0x01,0x08,0xF0,0x3A,0x8C,0xE4,0x21,0xCB,0x0A,\r
+0x46,0x49,0x6C,0xE1,0xDE,0x43,0xD2,0xAC,0xEB,0xCF,0xBF,0xEC,0xD4,0x7A,0x47,0x3F,\r
+0x5A,0x38,0x7E,0x59,0xB4,0x25,0x6C,0x6A,0x98,0x77,0xC2,0xF2,0xDB,0x41,0x28,0x8F,\r
+0x30,0xE2,0xAB,0xAA,0x90,0x52,0xA5,0x16,0x3C,0x0D,0x25,0xC4,0xD1,0xF1,0xA7,0x0D,\r
+0x9D,0x0F,0xDD,0xF1,0x4D,0xD6,0x9D,0x11,0x60,0x92,0x41,0xE6,0xB5,0xDA,0x4F,0x58,\r
+0xC6,0x04,0x96,0x21,0x9E,0x44,0x7B,0x84,0xFE,0x87,0x67,0x8E,0x17,0x97,0xCD,0xB3,\r
+0x8E,0x11,0xF4,0xF9,0x9C,0x48,0xBE,0x20,0x2C,0x8C,0xF3,0xFB,0x74,0x38,0xF8,0xDE,\r
+0x94,0xE0,0xA7,0x6F,0x39,0x99,0x2B,0xC4,0xF3,0x2F,0x0E,0x73,0xB6,0x10,0x2F,0x44,\r
+0x36,0x62,0xEA,0x84,0xC9,0x2D,0xCF,0x40,0x53,0x02,0x95,0xFF,0x04,0xBE,0xD3,0xBB,\r
+0x8A,0xAC,0xBA,0xDD,0x5F,0xE5,0x8E,0x34,0x5B,0x63,0xF2,0x5F,0x62,0x9A,0x06,0xE4,\r
+0x80,0x23,0x0A,0x5F,0xBE,0x89,0xCE,0xAF,0xE8,0xF5,0x08,0x07,0x39,0xD1,0x0D,0x34,\r
+0x6E,0x09,0x6B,0x48,0xC8,0xCA,0xBD,0xDE,0x48,0xD8,0x93,0x8B,0xB4,0x1F,0x12,0x4E,\r
+0xDA,0x75,0x84,0x99,0xB7,0xCE,0xDB,0x50,0x19,0xEF,0x9E,0x54,0x85,0x81,0xC3,0x6D,\r
+0x6D,0x69,0xA1,0x54,0x67,0xB7,0x8A,0xFF,0xA5,0x75,0xC8,0xFD,0xB0,0x51,0xAF,0x6A,\r
+0xB2,0x92,0x5E,0x60,0xD2,0x59,0xC9,0x9A,0x8B,0xCC,0xA3,0x26,0xC7,0x53,0x59,0x37,\r
+0xE7,0xAB,0xEB,0x16,0x1F,0xE2,0x27,0x1C,0x6F,0x9E,0xED,0x17,0xF3,0x46,0x68,0x26,\r
+0x5B,0x65,0xBB,0x4F,0xA0,0xA0,0xC6,0xBC,0xCA,0x7A,0x78,0xC6,0xFB,0xF9,0xDA,0xAE,\r
+0xC8,0x36,0x68,0x87,0xD5,0x08,0x02,0xF7,0xB6,0xCE,0xA9,0x29,0x98,0x56,0xEF,0xC3,\r
+0xD7,0x27,0xB0,0x23,0xD9,0x12,0x19,0xC1,0xBC,0x0B,0x0B,0x85,0x1B,0x66,0xC2,0x1F,\r
+0xB8,0x1D,0xEE,0xE2,0xF5,0xC5,0xB7,0xDC,0x2E,0x28,0x36,0xF7,0x0A,0x40,0xE1,0x1D,\r
+0xD2,0xC7,0x3B,0x11,0x80,0x6D,0x73,0x97,0x72,0xB7,0x52,0xD5,0x5C,0x3F,0xB8,0x77,\r
+0x72,0x78,0x79,0xF0,0x31,0x39,0x4C,0xA5,0xFC,0x23,0xA2,0x82,0x08,0x4F,0xDC,0x17,\r
+0x0F,0x01,0xCB,0x2F,0xD1,0xB2,0x7E,0xA0,0xBD,0x95,0x79,0x62,0xE0,0x6F,0x76,0x2E,\r
+0xE9,0x99,0x15,0xB0,0xD4,0xEF,0x70,0x69,0x41,0x27,0x86,0xCC,0x3A,0x1B,0x6D,0x28,\r
+0xE5,0x96,0xE4,0x1C,0xFB,0xD3,0x69,0x4E,0x86,0x64,0xCA,0xDB,0xFC,0x7D,0x07,0x96,\r
+0x9C,0x52,0x18,0xE7,0x7F,0x28,0x3B,0x1F,0x70,0x13,0x97,0xD9,0x78,0xC9,0xF7,0x72,\r
+0x3D,0xB0,0x9F,0x10,0x85,0x30,0x7D,0x5E,0xBA,0xF8,0xB2,0x33,0x9F,0xD2,0x32,0xFB,\r
+0x8B,0xF1,0x7F,0xCB,0x37,0x8F,0xF5,0x56,0x2A,0x7F,0x4A,0x4D,0x4B,0x58,0x1B,0x5B,\r
+0x14,0xAD,0x5D,0xAF,0xFD,0x65,0xD0,0xBD,0x05,0x58,0x53,0x71,0x29,0x32,0x73,0x20,\r
+0xAB,0x03,0xC7,0xEA,0xD0,0x55,0x0C,0x3E,0xE9,0x6B,0x7A,0xE0,0xA1,0x77,0x8C,0x68,\r
+0x68,0x89,0x2A,0x66,0x79,0x9E,0x82,0xEC,0xC5,0x76,0xD4,0x37,0xC5,0x5C,0x64,0x3D,\r
+0xD0,0xFA,0x34,0x1B,0xDB,0x1E,0xDC,0x65,0xB5,0xF4,0x1E,0xC2,0x2E,0xB6,0xAE,0x18,\r
+0xA8,0x63,0x0D,0xF6,0x00,0x2C,0x5D,0x91,0x8A,0x52,0xD1,0xC1,0x90,0xE9,0x5D,0x4B,\r
+0x5D,0xE5,0xFA,0x61,0x30,0xDE,0x3E,0x3B,0x57,0x55,0xE9,0x45,0x47,0xA9,0x14,0xF7,\r
+0xA4,0x6C,0xFC,0x5A,0xDD,0xA8,0x65,0x96,0x88,0xF6,0x14,0xCD,0xB1,0x94,0xF2,0x7C,\r
+0x19,0xFF,0x69,0x15,0x5C,0x0E,0x39,0x0E,0x5E,0xAA,0xFC,0x02,0xA2,0xBD,0xEC,0x74,\r
+0xB8,0x08,0xE7,0x72,0xDD,0x14,0x18,0x62,0xD8,0xD4,0x47,0xE0,0x16,0xA2,0x92,0xCD,\r
+0x04,0xA1,0xB1,0xE8,0x0D,0x13,0x2D,0x0E,0xFD,0xC8,0xF0,0x2D,0xC6,0xF3,0xEB,0x62,\r
+0x2A,0x7A,0xDA,0x51,0x0F,0x4E,0x5A,0xF8,0x02,0x33,0x2F,0x19,0x73,0xB0,0x05,0x07,\r
+0xCE,0x4B,0x94,0x03,0x1A,0x5F,0x6E,0xC9,0xB7,0x0A,0x7A,0x6F,0xBE,0x5E,0xBE,0x81,\r
+0x6B,0x9A,0x01,0xE7,0xA5,0xD7,0x66,0x7B,0xE7,0xC4,0xC6,0x36,0x01,0xBF,0xFC,0x21,\r
+0x17,0x75,0xD0,0x53,0x0A,0xBA,0x05,0x4E,0x34,0x97,0x55,0xFE,0x74,0x7B,0x54,0x6A,\r
+0x1D,0xD9,0x72,0x96,0x3A,0x66,0x86,0x63,0xEC,0x86,0x4A,0x5A,0x78,0x60,0x4E,0x5C,\r
+0x8F,0xAB,0x4F,0xB5,0x1C,0x64,0x97,0x40,0xB2,0xBC,0x25,0x9B,0x54,0xCE,0x99,0x41,\r
+0xC1,0xBA,0x38,0x0F,0x86,0x21,0x28,0xEE,0x81,0xAE,0x00,0x88,0xEC,0xE4,0x8A,0x8C,\r
+0x5F,0xD2,0x1E,0x1A,0xCB,0xCA,0x8A,0x6C,0xCA,0xA5,0x5B,0x58,0x3F,0x02,0x18,0x19,\r
+0x8D,0xA7,0x8A,0x11,0x64,0xA7,0xE9,0x59,0xA8,0xB0,0x13,0x80,0x3D,0xC7,0x14,0xBD,\r
+0x52,0x2F,0x77,0xB2,0x4C,0x3D,0x2B,0x8E,0xFB,0x41,0x09,0x16,0x98,0x52,0xC5,0x59,\r
+0xF2,0xA3,0xEC,0x9F,0xE2,0xC2,0x99,0x72,0xB6,0xC3,0xAB,0xFD,0x68,0xB6,0x71,0xDD,\r
+0xFA,0x03,0x8B,0xFE,0xC6,0x9D,0xFF,0xA7,0xE6,0x0D,0x17,0xA4,0xFE,0xF7,0xB9,0xA9,\r
+0x49,0x5B,0x71,0x68,0x8D,0x4D,0xA4,0xAC,0x56,0x82,0x1D,0x26,0x1F,0xB7,0xD5,0x32,\r
+0xE9,0xD7,0xEA,0x45,0x43,0x37,0x29,0xB3,0x37,0xA8,0xF3,0x31,0x69,0xC4,0x96,0x43,\r
+0xA4,0x2D,0x2A,0xC5,0x6E,0x59,0xB4,0xD2,0x01,0x0C,0x89,0xD6,0x5C,0xA9,0x39,0x20,\r
+0x48,0xBC,0x03,0xF6,0x2B,0x11,0x3C,0x2D,0x9B,0xA2,0x36,0x93,0x71,0x75,0x09,0xA3,\r
+0x64,0x6B,0xAD,0xEB,0x00,0x44,0x58,0xC5,0x76,0x28,0xF5,0x1F,0xD8,0xFB,0xC2,0x71,\r
+0x14,0x9E,0x67,0x69,0xEA,0x61,0xB3,0x0F,0x68,0x5B,0x4D,0x62,0x7A,0xA5,0x42,0xF8,\r
+0x2B,0x9D,0xA8,0xCF,0xB5,0x32,0x0D,0xFC,0x51,0xC2,0x35,0x8F,0xA1,0x24,0x70,0x0C,\r
+0xF6,0x19,0x90,0xC8,0xF5,0x8E,0xDA,0xB5,0xA6,0x44,0xC0,0x18,0x91,0x47,0x82,0xA6,\r
+0x29,0x91,0x6D,0x6B,0xC8,0x05,0x2C,0x53,0xA0,0xCD,0x39,0x23,0x7C,0x1C,0xF4,0x0B,\r
+0xFF,0x5E,0x85,0x37,0xE1,0x0D,0x3F,0x4D,0x35,0x5E,0x84,0x6C,0xFD,0x40,0x52,0x93,\r
+0xD3,0x89,0x2B,0x2A,0x63,0x0E,0xC1,0x19,0x67,0x66,0x4F,0x68,0x21,0x0A,0x31,0x0A,\r
+0x5D,0xDE,0xDB,0xBE,0x13,0x6E,0x95,0x7D,0x25,0xD9,0xEF,0x89,0x90,0x35,0x65,0x38,\r
+0x1C,0x3E,0x00,0x08,0x33,0x57,0x7D,0xD7,0x97,0xA0,0x92,0x56,0x70,0x07,0xEE,0x3D,\r
+0xE0,0x90,0xFF,0xBA,0x47,0x51,0xA7,0xCC,0x49,0x38,0x74,0xC9,0x75,0x09,0xB3,0xF4,\r
+0x27,0x87,0xB3,0xF9,0x21,0xEF,0x61,0xA6,0xB8,0x37,0x78,0x65,0x5A,0x10,0x8F,0xD3,\r
+0xD1,0x85,0xEE,0x8E,0x95,0x0B,0xE5,0x56,0x44,0xF3,0x01,0x9E,0xDE,0x42,0x74,0x82,\r
+0x1B,0x6F,0xCB,0x65,0x8E,0x82,0x02,0x93,0xC3,0x11,0xA0,0x69,0x24,0x04,0x6C,0xC3,\r
+0x8B,0x11,0x33,0xE2,0x04,0x22,0xD6,0xBA,0x23,0x50,0x16,0xB2,0x96,0x8C,0xD3,0xCB,\r
+0xFB,0xE4,0xF9,0x60,0x4A,0x06,0xD2,0x07,0xC0,0x2E,0x06,0xA6,0xB1,0xF2,0x4F,0x8D,\r
+0x10,0x24,0x1B,0x3E,0xC1,0x34,0xD7,0xE7,0x62,0xD0,0x10,0x9C,0x26,0xC1,0x60,0x67,\r
+0xE2,0x9C,0x3A,0x1E,0x12,0xFC,0x44,0xB4,0xA4,0xB2,0xB7,0x45,0xB9,0x95,0xEF,0xEC,\r
+0xE5,0xCD,0xF1,0x73,0xAC,0xE6,0x9D,0xCF,0x57,0x4B,0xCC,0xB4,0x42,0xA1,0x10,0x33,\r
+0x9A,0xC9,0x97,0xFD,0x29,0x4C,0x4B,0xDB,0xDA,0x22,0x30,0xBD,0x84,0x9F,0xE0,0xEE,\r
+0xDA,0xCE,0x3E,0xD5,0x2C,0xB8,0x14,0x6D,0x3D,0x23,0xAE,0xCF,0x9C,0x2E,0x7F,0x0E,\r
+0x9E,0x73,0xEB,0xAA,0x61,0x53,0xB6,0xEF,0xE8,0xF9,0xC4,0x3C,0xF1,0x5B,0x48,0xA5,\r
+0x02,0x17,0x08,0x1B,0x9F,0xF5,0xB8,0xDD,0x5F,0x36,0xE6,0x17,0x32,0x6B,0xE5,0xB1,\r
+0x20,0xD6,0x78,0x94,0x88,0xB9,0xFB,0x1A,0xF6,0x8A,0x7C,0x41,0x77,0xCC,0xBF,0x50,\r
+0x87,0x0B,0x28,0xD4,0xC7,0x0F,0x2E,0x6E,0xA9,0x79,0xC2,0x12,0x65,0xDF,0x8C,0x75,\r
+0xAF,0x66,0xFA,0x9E,0x3C,0x5D,0x7F,0xEA,0xF8,0x7E,0xAF,0xD9,0xA3,0xE1,0x7C,0xA8,\r
+0x80,0x5A,0xE3,0xB9,0xAF,0x29,0x3B,0xF0,0x53,0x34,0x42,0xD2,0xF4,0x55,0x15,0x6C,\r
+0xDF,0x93,0x30,0x1C,0xA2,0x7E,0x4E,0x3B,0x5D,0xC0,0x91,0x4A,0x09,0xD8,0x5C,0x40,\r
+0x45,0x41,0x6A,0x5E,0xC4,0xC0,0x88,0x51,0x45,0x3A,0xD0,0x0C,0x46,0xDD,0xAA,0x64,\r
+0x03,0xF0,0x7A,0x85,0x55,0xE9,0xBB,0xBD,0x77,0xE1,0x24,0x8D,0x4F,0xC8,0xED,0x9B,\r
+0x12,0x28,0xDE,0x9A,0xBD,0x91,0x27,0x81,0x36,0x61,0x22,0xA3,0x94,0x49,0xDF,0x6F,\r
+0xAD,0x6A,0x3F,0x3A,0xD4,0x25,0xE3,0xD6,0xE9,0x30,0x15,0xAE,0x0B,0x1D,0x50,0xE4,\r
+0x05,0x46,0xC3,0x76,0xDB,0x2F,0xE1,0xEB,0xFF,0x3E,0x87,0x70,0x88,0x84,0xFA,0xD8,\r
+0x2C,0xCC,0x63,0xA2,0xB1,0x54,0x83,0x83,0xF2,0xF5,0xF2,0x27,0x76,0xBE,0x58,0xCE,\r
+0x3C,0xF3,0xB5,0x23,0x84,0x7C,0x5F,0x18,0xDC,0xAB,0xC9,0x86,0xCB,0x9A,0x16,0xCA,\r
+0xA9,0xD0,0x43,0x6D,0x7D,0x73,0x79,0x6A,0x94,0x9F,0x34,0x99,0x92,0xF0,0x69,0x9C,\r
+0x4A,0xB0,0xC6,0x52,0x26,0x46,0x49,0xE6,0x30,0xE8,0xDB,0x98,0x7F,0xAB,0x1F,0x31,\r
+0x39,0xAE,0xBB,0xEA,0x1D,0xF6,0x46,0x89,0x22,0x99,0xC7,0x20,0x15,0x15,0x79,0xF7,\r
+0x9D,0x98,0x5C,0x90,0xAD,0x74,0x4C,0x06,0xF7,0x43,0xAD,0xD3,0x31,0xDC,0x0E,0x8B,\r
+0x8C,0x40,0xF8,0x8F,0x0C,0x81,0xFC,0xC7,0x07,0x85,0x70,0xED,0x2F,0xD4,0x27,0x98,\r
+0x25,0x8B,0x76,0x5D,0x1B,0xCD,0xBF,0x00,0xBB,0x08,0xDE,0xAA,0x13,0xAC,0xCF,0x04,\r
+0xB7,0xF9,0x4B,0x7E,0x38,0x3B,0xF1,0x95,0x59,0xBF,0x1F,0x2C,0xD5,0x92,0x3F,0xD9,\r
+0xED,0x6D,0x96,0x12,0xFE,0xE2,0x56,0xF7,0x3B,0xAA,0x57,0xF4,0x4C,0x7F,0x06,0xA1,\r
+0x57,0x72,0x79,0x7B,0xB4,0xA0,0xDC,0x35,0x83,0x58,0x77,0xD5,0xE3,0x48,0x7B,0x80,\r
+0xCA,0xF1,0xE8,0x54,0x2A,0x83,0xED,0xE4,0x80,0x67,0xD1,0x1A,0xB6,0x39,0x1E,0xE0,\r
+0x6F,0x20,0x7D,0xB0,0x78,0x87,0x26,0xDC,0x4D,0x47,0xFA,0xAF,0x55,0xBC,0x7E,0xDF,\r
+0x60,0xD1,0xD1,0xBC,0xE3,0x50,0x48,0xBB,0x2E,0x9B,0x63,0xE5,0x1E,0xC5,0x32,0xAC,\r
+0x3E,0x39,0x57,0x60,0xA2,0xAA,0x49,0xBC,0xC5,0x5E,0x51,0x8D,0x18,0xEB,0xD6,0x4D,\r
+0x19,0x16,0x6B,0x79,0x31,0xDE,0x53,0xF8,0x28,0xF5,0x5A,0xC7,0x71,0x2F,0x62,0x1A,\r
+0x53,0x3E,0x06,0xAB,0xCA,0x8C,0xD7,0xA9,0x45,0xA4,0x91,0xC0,0x81,0xF2,0x5C,0xDC,\r
+0x13,0x99,0xDB,0xFB,0x85,0x3A,0xA3,0x7C,0xFB,0xFB,0xC2,0x33,0xB2,0xD7,0x4F,0xCE,\r
+0x1D,0xAB,0x25,0x5D,0xB0,0x12,0x38,0xA0,0xA5,0x3B,0x20,0xD8,0xD2,0xE8,0xCA,0x2D,\r
+0x02,0xBA,0xFD,0xF9,0x58,0x6A,0x04,0x3C,0xA3,0x7A,0x0E,0x58,0xE0,0x1C,0x4B,0xF6,\r
+0xD9,0xFC,0x4C,0xE9,0xC9,0x43,0xE8,0x0F,0x57,0x48,0x8F,0x83,0xA7,0xE3,0x5E,0xFF,\r
+0x9B,0x66,0x9E,0xB3,0xAF,0xFD,0x82,0xC9,0x16,0x50,0xC9,0x79,0x51,0xC7,0x5B,0xB0,\r
+0xF4,0x5C,0xC0,0x72,0xA1,0x65,0x76,0x1A,0x4B,0x5A,0x37,0xF2,0x1D,0xB4,0x22,0xFB,\r
+0x99,0x5B,0x91,0xB9,0x1F,0x7F,0x0D,0xC3,0x30,0xA9,0xC6,0x0B,0xE2,0x6B,0x16,0x00,\r
+0xB9,0xA9,0x29,0x98,0xCC,0xB7,0x5E,0x50,0x97,0x6F,0x1F,0x69,0x6D,0xE0,0x42,0x9F,\r
+0xE7,0x42,0xE9,0x7A,0x47,0x85,0xBE,0x55,0x81,0xCD,0x25,0x97,0x42,0x0A,0x71,0x08,\r
+0x9C,0xBB,0x1A,0x8B,0x92,0x76,0x64,0x3F,0x61,0x52,0x94,0x8F,0xE8,0x36,0xE8,0x8B,\r
+0x2D,0x27,0x7E,0x68,0x6C,0xD0,0x56,0x31,0x43,0xE5,0xBF,0x40,0x45,0x22,0xD8,0x48,\r
+0x52,0x63,0xC3,0xBD,0x21,0x3B,0xD4,0x93,0x29,0x30,0x4C,0x9A,0x72,0x89,0xAD,0x25,\r
+0x7A,0x23,0xC4,0x14,0x24,0xCF,0x62,0xCC,0xB7,0xD7,0x3E,0x9B,0xED,0x69,0x1C,0x3D,\r
+0x95,0x54,0x60,0x15,0xF3,0x61,0x4E,0xD1,0xD0,0x36,0x77,0x13,0x0B,0x26,0xFC,0xF5,\r
+0xF9,0x0E,0xF4,0xC8,0x35,0xB8,0x2C,0x76,0x98,0x54,0xAF,0x06,0x32,0x5E,0x11,0x6C,\r
+0xDA,0x9C,0x86,0xF5,0x16,0x4E,0xB9,0x38,0x59,0xB6,0x29,0xB1,0xC2,0x83,0x2F,0xAA,\r
+0x08,0x35,0x4D,0x7B,0x01,0x02,0x7E,0x7B,0xF7,0x0A,0x6E,0x3C,0x2A,0x1F,0x57,0x96,\r
+0x3B,0xD9,0xDC,0x52,0xEE,0xD3,0x02,0xCF,0xE4,0x23,0x66,0x22,0x3F,0x2B,0x46,0xA7,\r
+0x37,0xD6,0x2D,0xFE,0x75,0x04,0x65,0xA1,0x7D,0x40,0x2C,0xFE,0x73,0x58,0x3F,0xEC,\r
+0xD3,0x73,0xFC,0x6B,0x27,0x00,0x5D,0x6A,0x56,0x8D,0x99,0xDE,0x13,0x67,0xBA,0x0F,\r
+0xFC,0xEE,0x7F,0xFA,0xB9,0x23,0x8C,0x5B,0xF0,0x8E,0x56,0xE1,0x76,0x07,0xCB,0x5A,\r
+0xA4,0x85,0xFE,0x36,0x89,0xFF,0xA1,0xD8,0x4E,0xD1,0x05,0x12,0x1B,0x4D,0x19,0x72,\r
+0x25,0x95,0xC1,0xE0,0xBC,0xD7,0x3A,0x04,0x75,0xFF,0xA4,0x4C,0x55,0x49,0x3D,0xCF,\r
+0xF1,0xBC,0x4B,0x40,0xD6,0xAC,0x52,0x66,0x00,0xF2,0xF3,0x87,0xF7,0x5F,0x07,0x31,\r
+0xBD,0x14,0x67,0xBC,0xD9,0xA6,0x6F,0x64,0x92,0xE4,0x2D,0x89,0x5D,0x63,0x9E,0xB2,\r
+0x17,0x24,0x95,0xDF,0xA0,0xF7,0xBF,0xCB,0x2A,0xFA,0x50,0xFA,0x03,0x0C,0x5F,0x88,\r
+0x6D,0x80,0xA3,0x38,0x10,0x75,0x30,0xC1,0x40,0x2F,0xA3,0x20,0x74,0x70,0x96,0xAC,\r
+0xD5,0xF3,0xBD,0x45,0x2B,0xC5,0x5F,0xCE,0x5C,0x3D,0x1B,0x51,0x12,0xB6,0x28,0xC6,\r
+0xEA,0x10,0xDD,0xC0,0x70,0xF0,0xD3,0xFE,0xB3,0x99,0x1A,0x26,0x64,0x1B,0x73,0x2B,\r
+0x35,0xEB,0x22,0xF4,0x41,0xBE,0x37,0xAC,0x8E,0xF6,0x95,0xF8,0xC8,0xDE,0xD1,0x21,\r
+0x96,0x34,0xAA,0x09,0x69,0x24,0xE0,0x6E,0x94,0xA5,0x03,0x09,0x19,0x3A,0x44,0x84,\r
+0x9D,0xE6,0xDF,0x9D,0xC6,0x49,0xD5,0x0D,0xDC,0xC7,0xDB,0x1C,0x15,0x9E,0x81,0x86,\r
+0x88,0x78,0xB7,0xBB,0x8B,0xA2,0x57,0xAF,0x87,0x8C,0x0B,0x17,0x87,0x0B,0x67,0x55,\r
+0xC2,0x50,0xDA,0x69,0x4E,0xB4,0x0A,0xAE,0x74,0x3A,0xB2,0x11,0x9B,0xC4,0x47,0xD0,\r
+0xEF,0xF0,0x56,0xF2,0x80,0xCE,0x15,0x23,0x9A,0x5B,0xA5,0x3B,0xD8,0xB5,0x34,0xA6,\r
+0x79,0x43,0x0E,0x08,0xCB,0x1E,0x1E,0x78,0x90,0xEB,0x27,0xB4,0xB4,0x2E,0x74,0x47,\r
+0x18,0x4B,0xAE,0x6F,0xEF,0x41,0xCB,0x1E,0x2C,0xBB,0x7E,0x7A,0x7C,0x5A,0x35,0xD1,\r
+0x84,0x77,0x46,0x17,0x17,0xDC,0x70,0xE9,0xFD,0xBA,0xEC,0xB3,0xB3,0x06,0xDD,0x07,\r
+0xD6,0x93,0x77,0x59,0x02,0xCD,0x41,0xDD,0xA8,0x0F,0x9A,0x8A,0x08,0x80,0x33,0xCA,\r
+0x6F,0xBD,0xAC,0x32,0x00,0x90,0xB7,0xAA,0x77,0xF0,0xAE,0x71,0xE6,0xE5,0x70,0x7F,\r
+0xF5,0x01,0x05,0x64,0xD0,0x97,0xDB,0x9F,0xC0,0xD5,0x63,0x6D,0x9F,0x4A,0x21,0xAF,\r
+0x32,0x36,0xA6,0xCC,0x11,0xE7,0xF9,0x10,0xA2,0xBF,0x18,0x05,0x94,0xC6,0x4D,0xED,\r
+0x11,0xA4,0xD4,0xF1,0x37,0xE5,0xDA,0x01,0xCD,0xE1,0xD9,0x3F,0x43,0xDB,0xE3,0xC1,\r
+0xD4,0xAE,0x78,0x53,0x07,0x39,0xF7,0x82,0xD2,0x39,0x7D,0x2E,0x59,0xED,0xF8,0xCD,\r
+0x60,0xD2,0x97,0x82,0xA8,0x54,0xC2,0xE1,0x41,0xEA,0xB5,0x7D,0xF1,0xA6,0x3C,0xB8,\r
+0x3D,0x59,0x9D,0x7C,0x4A,0xD2,0x75,0x20,0xF3,0x44,0x4A,0x81,0xBE,0x73,0x8A,0xCC,\r
+0x8F,0xA5,0x33,0x83,0x3E,0xD4,0x6E,0xFA,0x15,0x9A,0xD5,0x19,0xE3,0xBA,0x84,0xC9,\r
+0x39,0xE4,0xD3,0x58,0x1E,0xED,0xC4,0x12,0x68,0x28,0x0A,0x60,0x68,0xBF,0xB6,0x29,\r
+0xAD,0x6A,0x84,0xA8,0x6E,0x8D,0xA0,0x46,0xC8,0x6A,0xEB,0xDF,0x3C,0x8D,0x89,0x98,\r
+0x65,0x32,0x1C,0xB0,0x09,0xA1,0x03,0x51,0x91,0x2E,0x31,0xE9,0xDE,0x4C,0x0F,0x2F,\r
+0xE2,0xA2,0x62,0x48,0x83,0x01,0x2A,0x85,0x27,0xCE,0xEA,0xA8,0x61,0x44,0x87,0x9D,\r
+0x09,0x68,0x88,0x6D,0x98,0x88,0xEF,0x62,0x86,0x49,0x1D,0x4A,0x79,0x05,0xC1,0x67,\r
+0x7E,0x9E,0x8A,0x30,0x2C,0x6C,0x1F,0xE6,0xFF,0xB5,0xE6,0x8E,0x82,0x54,0x93,0xE3,\r
+0xEE,0xAD,0x93,0xE4,0xE7,0xE2,0xB6,0x34,0xCA,0x65,0xE1,0xE2,0x4F,0x7F,0x26,0xC3,\r
+0x6C,0xDD,0x66,0x2E,0x0D,0xC7,0x7C,0xDF,0x72,0x7B,0x9C,0x91,0xCF,0xF6,0x78,0x61,\r
+0x71,0xF1,0xB1,0x80,0x26,0x92,0x94,0xBB,0xB1,0x96,0x10,0x1B,0x04,0x24,0xF6,0xC8,\r
+0x42,0x1D,0x20,0xA9,0x63,0xDA,0x6B,0x33,0x0E,0x0C,0x55,0xB5,0x34,0xA7,0x2A,0xE5,\r
+0xB0,0x46,0x53,0x06,0xEC,0x8E,0xF4,0xB8,0x03,0x38,0xEF,0xE7,0x5F,0x14,0xC3,0x44,\r
+0xEC,0x90,0x9C,0xEE,0xC5,0x86,0xEA,0xAB,0xBE,0xAD,0xA0,0x74,0xF9,0x8C,0x9F,0xC5,\r
+0x4F,0x4F,0x14,0x13,0xF8,0x0D,0x0C,0x5D,0x47,0xAB,0x9B,0xFD,0x8F,0x21,0xC4,0x28,\r
+0x48,0x92,0x90,0x2B,0xB8,0xB1,0x45,0x8A,0xB2,0x5C,0x0C,0x7B,0x7D,0x8B,0xA7,0x18,\r
+0xAB,0x34,0x0A,0xFD,0xE0,0xD8,0xFE,0x40,0xCE,0xE4,0xBE,0x81,0xB2,0x8B,0xDC,0xC6,\r
+0x3F,0xBA,0x5D,0x0D,0x90,0xB8,0x9A,0x14,0x6E,0xA6,0x5F,0x3E,0xE6,0xB9,0xE3,0x77,\r
+0x89,0xFB,0xBD,0xD6,0xB0,0x81,0x30,0xFC,0x13,0x14,0x80,0x47,0x6D,0xBC,0xD1,0x97,\r
+0x3B,0x07,0x13,0x29,0xC4,0x87,0x2B,0x26,0xF5,0xCA,0x1F,0xDF,0x30,0x75,0xDF,0x92,\r
+0x78,0xC0,0x04,0x65,0xA2,0x39,0x41,0xE0,0xF9,0x3B,0xB3,0xD0,0x0C,0x52,0xC6,0xBD,\r
+0x0F,0x36,0x06,0x38,0x16,0xDD,0xB1,0x64,0x80,0xC7,0x48,0x14,0xF7,0x03,0x94,0x39,\r
+0xE4,0xFC,0xEC,0x1D,0x0D,0x54,0x74,0x83,0x21,0x40,0xBF,0xF6,0xEF,0x42,0xD2,0xC3,\r
+0x63,0x6C,0x92,0xE5,0x87,0xF4,0x5D,0x57,0x97,0xA0,0x64,0xB7,0x50,0x4A,0x5A,0x71,\r
+0x44,0x43,0xAE,0xFC,0xED,0x8F,0x35,0x35,0x08,0x82,0x00,0xEB,0xBA,0xA1,0x7F,0xBB,\r
+0x77,0xAF,0x3F,0xD5,0xA8,0xC7,0xCA,0xBD,0xB7,0x18,0x45,0x45,0x8A,0x22,0xA3,0x96,\r
+0x6A,0x83,0xE8,0x7B,0x83,0x92,0x22,0xD9,0x74,0xF5,0xC9,0xCF,0x41,0xF0,0x2D,0x3F,\r
+0xE8,0xF3,0x1D,0xB1,0x69,0xB7,0xE8,0x32,0xCC,0xEB,0xB4,0xBC,0xC1,0x79,0x73,0x9D,\r
+0x4E,0xCC,0x1E,0x7E,0x36,0xE4,0x1B,0x8C,0xB4,0xD2,0x59,0x25,0xF3,0x8D,0xF2,0x46,\r
+0x49,0x11,0x9A,0x46,0x76,0x58,0x52,0x5B,0x41,0x25,0xCE,0xA3,0x01,0x27,0x91,0x76,\r
+0xEA,0xCE,0x12,0xBB,0x4B,0xD3,0xB4,0xAD,0xB8,0x23,0xF5,0x2A,0x77,0x8A,0xCA,0x9B,\r
+0xB6,0x18,0xDD,0x53,0x62,0xDB,0xAA,0xBE,0x05,0xB6,0xBA,0xB9,0xD1,0x12,0x96,0x1A,\r
+0x8E,0x26,0x39,0xEE,0x05,0xF7,0x09,0xA9,0x81,0x02,0x5E,0x49,0x09,0x0D,0x32,0x0B,\r
+0x9B,0xB8,0x51,0xC8,0x48,0x1C,0x8B,0x0B,0xDA,0x49,0x8E,0x42,0x9B,0x98,0xD4,0xD8,\r
+0x90,0x6A,0x24,0x5C,0xE7,0x71,0xBE,0x68,0x92,0x2B,0x56,0x57,0x97,0x3C,0x11,0xDA,\r
+0x33,0xB5,0xAC,0xA1,0xCF,0xEB,0x69,0xAA,0x88,0x78,0xC0,0xA6,0x46,0xD8,0x84,0x7F,\r
+0x1E,0x15,0x20,0x3A,0x61,0x14,0x95,0x18,0x2A,0x35,0x2B,0x24,0xF2,0x5C,0x60,0x8F,\r
+0x7F,0x1D,0x80,0x5D,0x45,0x4B,0x40,0x7E,0x96,0x65,0x72,0xEA,0x3A,0x28,0x21,0x19,\r
+0xE9,0xAE,0xD8,0xA7,0x0E,0x9B,0x4B,0x25,0x9C,0xD5,0xF0,0x65,0x56,0xB3,0x61,0xF8,\r
+0xC4,0x0E,0x54,0x3C,0xC0,0xE1,0x54,0xA8,0x72,0xB4,0xE7,0x4F,0x15,0xC2,0x12,0x8E,\r
+0xF3,0x5F,0x8B,0x31,0x5E,0xC2,0x85,0x99,0xC6,0x5B,0x36,0x33,0x11,0x4C,0x74,0xF1,\r
+0x69,0xE3,0x22,0x67,0x8E,0xC5,0xE9,0xAC,0x71,0x7E,0xFB,0x2F,0x68,0xE3,0x25,0x21,\r
+0xD0,0xCD,0xF9,0x0C,0x8C,0x98,0x1F,0xDB,0xAE,0x81,0xCF,0xD4,0x86,0x86,0x66,0x94,\r
+0x82,0x29,0xC8,0x42,0x99,0x89,0x2E,0xEF,0xFB,0x34,0xB9,0xED,0x3D,0x00,0x88,0x59,\r
+0x66,0x8C,0x19,0xD7,0x26,0x01,0x9C,0xE7,0x47,0x64,0xE0,0x23,0x7F,0xA0,0x69,0xE6,\r
+0xD2,0xF0,0xF6,0x06,0x89,0x6C,0xA9,0x84,0xD4,0xB7,0x28,0x70,0xD7,0xEB,0xAD,0x93,\r
+0x17,0xFA,0x5A,0xA4,0xB9,0xB0,0x84,0x07,0xCB,0x6F,0x8C,0x61,0xCD,0xDD,0xB6,0x9F,\r
+0x34,0x68,0x28,0x99,0x9F,0xB2,0xA7,0x16,0xA4,0x31,0x4D,0x5B,0x1A,0xC0,0x18,0xB3,\r
+0x0E,0x6B,0xC3,0x2E,0x8F,0x57,0x20,0x7D,0xF1,0x84,0x3B,0x62,0xA4,0x19,0x02,0xC8,\r
+0xDC,0xC2,0x08,0xA0,0x98,0x1B,0xE7,0x3E,0x5F,0x38,0x7C,0xEF,0x4C,0x85,0x7A,0xF4,\r
+0xFF,0x50,0x7A,0x9D,0xBB,0xED,0x72,0x70,0x9E,0xDA,0xFA,0x58,0xBC,0x58,0x44,0x32,\r
+0x93,0x0A,0xEE,0x40,0x7D,0x34,0x10,0xD7,0xD6,0xB8,0x22,0x4D,0x85,0x20,0xA9,0xAB,\r
+0xFA,0xB0,0xF1,0xAF,0x37,0x76,0xD2,0x5D,0xF6,0x00,0x03,0xBF,0xF8,0x01,0x9E,0x04,\r
+0xD5,0x2D,0x72,0x3E,0xA9,0x55,0x03,0x6C,0x50,0x03,0xCC,0x80,0x9D,0x61,0xEF,0x51,\r
+0x31,0x88,0xA3,0xAB,0xFB,0x51,0x3B,0xA7,0x7B,0xCE,0x79,0xA0,0xFD,0x5E,0x6A,0xB2,\r
+0x3D,0x87,0x52,0x07,0x60,0x86,0x5C,0xC9,0xE2,0xAD,0x33,0x7C,0xB1,0x2D,0x13,0xF9,\r
+0xBB,0x4A,0xE9,0xE9,0x57,0xF3,0x31,0x62,0x94,0x6A,0x78,0xD7,0xD3,0x65,0xCB,0xEC,\r
+0xF7,0xE2,0xC5,0x15,0x58,0xF9,0x0C,0x60,0x06,0x7C,0xA6,0xD9,0x79,0x59,0x52,0x6F,\r
+0x23,0xCB,0x4F,0xB5,0x32,0x82,0x64,0x02,0x73,0x71,0xF1,0x12,0xDB,0x4F,0x68,0x91,\r
+0xA2,0xDB,0x70,0x63,0x07,0xAA,0xFF,0xDE,0x48,0x5F,0x50,0x4C,0x95,0x4B,0x4C,0x2C,\r
+0xEC,0x4E,0x53,0x95,0xFE,0xA5,0x8D,0xF8,0xB5,0x17,0x4F,0x78,0xEA,0x1D,0x26,0x75,\r
+0xD3,0xAD,0x33,0x10,0xA5,0x90,0x01,0xC8,0x5A,0xB3,0x4E,0x0F,0x9C,0xB0,0x7D,0x98,\r
+0x6B,0xDE,0x2D,0x6D,0x9E,0x20,0x6E,0xC7,0x46,0xA1,0xF6,0x7E,0xFA,0x76,0xC3,0xF2,\r
+0x11,0x7A,0x1B,0x8A,0x2E,0xA2,0xE1,0xCD,0x2C,0x74,0x05,0xA4,0x8D,0x0A,0x0A,0xD6,\r
+0x15,0xC7,0x55,0xAE,0x0B,0x6F,0xFD,0x7A,0xFD,0x75,0x97,0x6D,0x3C,0xD1,0x1A,0x90,\r
+0x55,0x60,0x88,0xFE,0x44,0xD9,0x89,0xAF,0x43,0x2A,0xC4,0x9E,0x0F,0xF4,0x09,0x82,\r
+0x1F,0x48,0xE5,0x2C,0xBF,0x8B,0x0D,0xFE,0x2E,0x7B,0x0F,0x99,0xFF,0x29,0x37,0x44,\r
+0x38,0x67,0xD9,0x35,0x2C,0xFF,0x17,0xBA,0xC3,0xD0,0x04,0xD3,0x96,0xED,0x83,0x13,\r
+0x9D,0x38,0x10,0xE6,0x21,0xA8,0xDC,0xCF,0x10,0xDE,0x9C,0x27,0xDF,0xC1,0x0E,0xEE,\r
+0xDF,0xA2,0xC2,0xBC,0x47,0x16,0xB6,0x09,0x51,0xC6,0xDA,0xDD,0x29,0xE5,0x0B,0xA1,\r
+0x04,0xE4,0x73,0xAC,0xD6,0x3F,0x5A,0x3A,0xA5,0xF4,0x5B,0x06,0x6E,0x1A,0x1E,0xA8,\r
+0x1B,0xF5,0xAB,0x08,0x3E,0x47,0x66,0xA6,0xA3,0xB5,0x75,0x86,0x5C,0xEE,0x9F,0x73,\r
+0xE1,0x1C,0x67,0x2F,0xC9,0xD0,0xE0,0x53,0x87,0x43,0x70,0xC9,0xCC,0x0C,0x24,0x56,\r
+0xBF,0xF7,0xA7,0xCD,0x42,0xE2,0x00,0x56,0x91,0xE1,0x4A,0x37,0xE3,0xE6,0x17,0xC1,\r
+0x9F,0x05,0x1F,0xEC,0x91,0x2A,0x53,0xC5,0x36,0x27,0x93,0x55,0x6C,0x6D,0x43,0x5E,\r
+0xF2,0x02,0x4E,0x27,0x2F,0x30,0x28,0x1C,0x4D,0xD4,0x62,0xAC,0x93,0xB2,0x77,0xA5,\r
+0x7C,0x7D,0x4A,0x41,0xAA,0x9A,0x3C,0xCA,0xB1,0x59,0x6B,0xC5,0x63,0x6F,0x49,0x63,\r
+0x54,0x3D,0x4D,0xE8,0xAF,0x6E,0x8A,0x95,0x2F,0xBE,0x19,0xC4,0xFC,0x8F,0xF8,0x7B,\r
+0x2B,0x79,0xF0,0x3D,0xE2,0x85,0x08,0x37,0x45,0x6B,0xEA,0x1E,0xCB,0x24,0x8D,0x16,\r
+0x9A,0xE5,0x94,0xDE,0x1C,0x23,0x3A,0x39,0x67,0xDC,0xC1,0xD1,0x66,0x30,0xBD,0xD5,\r
+0x4C,0x84,0x1A,0x5C,0x20,0x02,0xEB,0x8D,0x75,0xB0,0x7C,0x6C,0x4D,0xF8,0x35,0x40,\r
+0x1C,0xC4,0xBD,0x81,0x54,0x4D,0x3E,0x3B,0x26,0x43,0x23,0xD2,0x5F,0xEB,0x06,0x65,\r
+0xCE,0x8E,0x95,0xEC,0xD0,0xB6,0x6F,0x69,0xED,0x44,0x72,0xBF,0x99,0xD5,0xF6,0xB8,\r
+0xD7,0xA9,0xBA,0xD0,0xCA,0x25,0x2B,0x1D,0xE6,0x0E,0xD9,0x52,0xCE,0x61,0x9F,0x7C,\r
+0x04,0x0C,0xE5,0x19,0x01,0x28,0x5E,0x4A,0x7E,0xFA,0xD7,0x81,0x33,0xEC,0xD6,0x50,\r
+0x5E,0x4E,0x7F,0xCB,0x6B,0x4E,0x98,0xF4,0x38,0x00,0xCF,0xC0,0x7C,0xE9,0x20,0x74,\r
+0x4E,0x95,0x39,0x7A,0x87,0xDF,0xAB,0xDD,0xB9,0xDB,0xFD,0x34,0x75,0xFC,0x67,0x8B,\r
+0xEA,0x8A,0x28,0xA2,0xBB,0x37,0x37,0xA5,0x97,0x5B,0xBC,0x32,0xAE,0x7D,0x55,0x7F,\r
+0xCD,0x70,0xC1,0x6E,0x3D,0xC0,0xC2,0x32,0x92,0x14,0x4A,0x16,0x8B,0xC6,0xC5,0x9D,\r
+0x2F,0x2E,0x2A,0xAE,0xDD,0x4B,0xC7,0x00,0xA8,0xEA,0xE8,0x00,0x1C,0xF5,0xEA,0x77,\r
+0x0E,0x0E,0xD8,0x16,0x8E,0x98,0x54,0xC8,0x71,0x88,0x2E,0xA7,0x83,0xA1,0x65,0xFC,\r
+0xC5,0x63,0xDF,0x47,0xF5,0x26,0x8D,0xD2,0x80,0x71,0xDD,0xDC,0x78,0x95,0x9A,0x23,\r
+0xA3,0xED,0xA0,0x43,0xE1,0xA3,0x5B,0x78,0x89,0x18,0x50,0x20,0xBE,0xAB,0x6A,0xFE,\r
+0x0A,0xC5,0xE0,0x44,0x57,0xA6,0x04,0x8C,0xFB,0x19,0xB7,0xBE,0xA6,0x1A,0xF5,0x1E,\r
+0xDF,0xBA,0xA4,0xF9,0xD5,0xEB,0xA6,0x67,0x08,0xC3,0x62,0xD4,0xCB,0x6F,0xC2,0xB5,\r
+0x3C,0x0B,0x38,0x9D,0xE7,0x15,0xA8,0xC1,0x23,0x0C,0xD5,0xF6,0x08,0x5F,0x6F,0xA1,\r
+0xCC,0x9F,0xB6,0xCA,0xFD,0x86,0xEC,0xB5,0xD9,0xBF,0x8D,0x60,0x15,0xE0,0xAD,0x88,\r
+0x42,0x4D,0x1F,0x01,0x3A,0x91,0xAF,0xF9,0x9E,0x32,0x31,0xCE,0x29,0x98,0x45,0x14,\r
+0x7F,0x6E,0x8D,0x73,0xAF,0xB2,0xE1,0x0F,0x18,0x85,0xD3,0x0F,0xEF,0xA6,0xB5,0xC9,\r
+0xA2,0x02,0xD7,0xE7,0xCD,0x74,0x46,0xD6,0xC0,0x90,0xB1,0x47,0x76,0x4B,0x8C,0xB1,\r
+0x4D,0x6B,0x6D,0xF8,0x0F,0x3E,0xCC,0x94,0xE1,0x62,0x09,0x67,0xD9,0x7C,0xF1,0x90,\r
+0xDC,0x44,0xF0,0x7B,0xDE,0xA0,0xFD,0xB7,0x2E,0x5D,0x0A,0xC1,0x8C,0x0D,0x94,0xF0,\r
+0x49,0xA0,0x55,0xAA,0xE6,0xF2,0x36,0xB3,0x9B,0x7D,0xC7,0xEA,0x6F,0x88,0xF4,0xCF,\r
+0xE5,0xAC,0x5A,0x5B,0x81,0x69,0x58,0x64,0xD1,0xA1,0xA4,0x73,0x24,0xF1,0xB8,0xBC,\r
+0x0B,0x2A,0x97,0xE0,0xEC,0x5E,0xF3,0x11,0x9A,0x0A,0x63,0x05,0x31,0x29,0xDA,0xF4,\r
+0xF7,0x66,0x3F,0xCC,0xD1,0x51,0xF1,0x1B,0x44,0x04,0x75,0x97,0xB2,0xB0,0x70,0xC8,\r
+0x57,0xB2,0x16,0x46,0xB9,0x3B,0x93,0x60,0x13,0xCF,0x78,0xE2,0x4C,0x8A,0xD2,0xDE,\r
+0x81,0x33,0x06,0x79,0x22,0x0E,0x4F,0x48,0xB2,0x91,0x56,0xD9,0xF1,0xAE,0x9C,0xDA,\r
+0x77,0x7D,0x93,0x5A,0x50,0xF7,0x69,0x47,0xAD,0xA5,0x1E,0x24,0xA8,0xC4,0xE3,0x8C,\r
+0xF2,0x42,0x70,0x3A,0xDC,0xAC,0x59,0x72,0xAC,0xD2,0xBA,0xCB,0x45,0x9F,0x95,0x21,\r
+0x8F,0xFA,0x03,0x24,0xB3,0x97,0x56,0xC2,0x14,0xA3,0xA8,0xD7,0x2F,0x21,0xF3,0xE7,\r
+0x68,0x80,0xA7,0x12,0x3C,0x27,0x5C,0x40,0xE7,0x79,0x7D,0xBD,0x0B,0xE8,0x84,0x9B,\r
+0x0C,0x1F,0xFB,0x30,0xD4,0x0C,0x38,0x15,0xBC,0x94,0x0B,0x10,0xD6,0xD0,0x00,0x9C,\r
+0x2A,0x0A,0x65,0x58,0x56,0x41,0x9A,0xFE,0x6C,0x9F,0x40,0x4B,0x05,0x36,0x92,0x09,\r
+0xBE,0x01,0xB7,0x2D,0x63,0xEE,0xF9,0x93,0xB4,0x8A,0x22,0x03,0x07,0xF3,0x9E,0xAD,\r
+0x43,0xA2,0x68,0xA5,0xB4,0xC6,0x3B,0x09,0x22,0x7B,0x71,0x19,0xA2,0x66,0x4F,0x49,\r
+0xD8,0x8F,0xC8,0x29,0x48,0x68,0x89,0xF6,0xC9,0xF9,0x3C,0xBB,0x52,0x82,0xFB,0xCD,\r
+0xBF,0xEE,0xC0,0x89,0x9D,0x4C,0xEF,0xA9,0x90,0x37,0x6C,0x07,0xC4,0xC3,0x33,0xB9,\r
+0x45,0x78,0x73,0xD1,0x96,0x07,0xB4,0x79,0x12,0xB8,0xDC,0x0D,0x25,0x83,0x5F,0x22,\r
+0xDE,0x55,0xD3,0x5D,0x89,0xC9,0x39,0x03,0x05,0x92,0xBD,0xE3,0x53,0xF0,0x1C,0x53,\r
+0xD3,0x62,0x82,0x82,0x58,0x57,0x08,0x20,0xD4,0xEE,0x52,0x57,0x2C,0x96,0x18,0xDD,\r
+0x85,0xF8,0x3E,0x2B,0x34,0x87,0x3D,0x27,0x19,0xF2,0x77,0xE0,0xFC,0xC7,0x61,0x72,\r
+0xEE,0x41,0x10,0xF0,0xC2,0x85,0x4A,0x7A,0x2D,0x09,0x88,0x3F,0x49,0x84,0x8F,0x17,\r
+0xA0,0x13,0xF4,0xC1,0xF3,0x90,0x7E,0x6B,0x5B,0x30,0x3D,0x6A,0x84,0x6A,0x34,0x91,\r
+0x35,0xF7,0x51,0x10,0x41,0x2F,0x76,0xE3,0x02,0xFE,0x6D,0xD6,0x3B,0x8B,0x76,0x31,\r
+0xE4,0x43,0x2D,0xFF,0x74,0x80,0x15,0x8E,0xCA,0xAD,0xBE,0x45,0x4E,0x4F,0xDE,0x7A,\r
+0x46,0x86,0x27,0x53,0x59,0xB0,0x96,0x52,0x6E,0xBC,0x66,0x5A,0x42,0x54,0xC4,0x4C,\r
+0x7B,0xA5,0xB5,0x21,0x7A,0x96,0x87,0x50,0xAF,0x86,0x38,0x35,0x6E,0xFA,0x13,0x51,\r
+0x1F,0x3A,0xE9,0x03,0x23,0xE9,0xD1,0x3A,0x5C,0x5C,0xED,0x5F,0x1B,0x3E,0xBB,0x1A,\r
+0xEF,0xAE,0x67,0x54,0x47,0x99,0x85,0x5A,0xBD,0xE3,0xAF,0xFF,0xAA,0x01,0xEF,0x28,\r
+0x34,0x18,0x26,0xB4,0xED,0xB9,0x6D,0x63,0x62,0x9A,0x1D,0x82,0x4A,0x33,0x64,0x2D,\r
+0xCB,0xAA,0xDA,0x1A,0xF6,0xCD,0xB7,0x65,0xFD,0x02,0xC3,0x64,0x4F,0x3D,0x39,0xE4,\r
+0x87,0xE9,0x1D,0x0D,0x9C,0xAB,0x71,0xDB,0x51,0x0D,0x32,0x68,0x60,0x24,0x05,0xC3,\r
+0xDA,0x9E,0xEB,0x0F,0x6C,0x1F,0xF5,0x3F,0xAA,0xC9,0xCE,0x11,0xE4,0x76,0xFE,0x92,\r
+0xFF,0x75,0x21,0xE5,0xA9,0x04,0x12,0xB6,0x5D,0x2B,0x49,0xB0,0x1E,0x30,0xE6,0xD3,\r
+0x07,0xF2,0xB1,0x9B,0x80,0x8E,0xC6,0x16,0x86,0x6A,0xA9,0x06,0xAC,0xB8,0x59,0xDB,\r
+0x1E,0xD5,0x9E,0xA7,0xE8,0xE4,0xA4,0x6D,0xE2,0x36,0x8B,0x99,0x66,0x9D,0xB3,0x30,\r
+0x37,0xE6,0x72,0x36,0x17,0xA1,0x2C,0x25,0xA7,0x98,0x11,0x26,0x4B,0x41,0x83,0xB3,\r
+0x99,0xFB,0x5E,0xE1,0xFF,0x8A,0x48,0x70,0x2B,0x12,0xFC,0xE5,0xE2,0xCF,0x48,0x61,\r
+0x53,0x79,0x2E,0x14,0x35,0x60,0xA3,0x55,0x56,0x61,0xE2,0x5D,0x40,0x91,0xC8,0xE8,\r
+0x9C,0xDF,0x11,0x17,0xC6,0x3F,0x1D,0x06,0xBB,0xF8,0xDB,0x25,0x9B,0x10,0xFA,0x1C,\r
+0xA4,0xD8,0xCC,0x93,0x8F,0x7F,0xCA,0xBA,0x2C,0x7E,0x2C,0xD0,0xAB,0x73,0x08,0xB6,\r
+0x59,0x7B,0x13,0x1B,0x69,0x42,0x3C,0x31,0x17,0xF7,0x2A,0x29,0x46,0x28,0x7E,0x1B,\r
+0xB1,0x27,0xC5,0xD4,0x77,0x6B,0x2F,0x39,0x58,0x64,0xBF,0x94,0xC7,0x74,0xD8,0x83,\r
+0x24,0x0B,0xF5,0x60,0x22,0x29,0xB7,0x64,0x52,0x58,0x8D,0x50,0x73,0x9F,0xAD,0xE5,\r
+0x70,0x34,0xC7,0xD1,0x82,0x96,0x56,0x26,0x22,0x0C,0xE9,0x30,0xE7,0xC8,0x23,0x15,\r
+0xF2,0x37,0x39,0x85,0xB9,0xC8,0xF7,0x08,0x06,0x6A,0x3C,0x6F,0x77,0xD1,0x10,0xC1,\r
+0xAF,0x39,0xF0,0x80,0x5F,0x50,0x68,0xD6,0x72,0xB0,0x27,0x69,0xC5,0x7F,0xEC,0x3E,\r
+0x35,0x7C,0x4F,0x2E,0xCC,0x03,0xA0,0x05,0xD4,0x28,0xA6,0x35,0x43,0xC4,0x21,0xD0,\r
+0xCE,0x2E,0x1E,0xAA,0xB5,0xC7,0x5B,0xF9,0x60,0xAC,0x56,0xD1,0x34,0xC6,0xD7,0x8D,\r
+0x92,0xB2,0x06,0x66,0xDB,0xA0,0x8C,0x62,0x45,0x1B,0x4A,0x1C,0x2F,0x50,0x7B,0x0D,\r
+0x2D,0x3A,0x0E,0xD4,0x6D,0xE1,0x57,0x82,0xCF,0xCF,0x63,0xBC,0xA8,0x2E,0xEB,0xF5,\r
+0x48,0x4B,0x6E,0x81,0xFB,0x52,0xAD,0xDA,0x6A,0xF1,0xDD,0x2F,0x3B,0xFD,0xB8,0x3D,\r
+0x78,0x97,0xED,0xAC,0x44,0xFC,0xE8,0x40,0x2F,0x79,0x22,0x67,0x08,0x6C,0x54,0x14,\r
+0x03,0x9B,0x35,0x8A,0x80,0xAB,0x5C,0x29,0xAB,0x7E,0xFF,0x5F,0xA4,0xDF,0xE4,0x59,\r
+0x83,0xC5,0xBC,0x28,0x38,0xD8,0x21,0x37,0x41,0x95,0x35,0x7A,0x26,0x2A,0x94,0x93,\r
+0xC3,0x79,0x6B,0x61,0x0D,0xB4,0x26,0xE7,0xB4,0x17,0x45,0xB0,0x05,0x58,0x06,0xAE,\r
+0x31,0x1A,0xC1,0x51,0xF8,0x32,0xB1,0x10,0xF4,0xC0,0x0C,0x0C,0x02,0xDC,0xDB,0x96,\r
+0x13,0x7E,0x5E,0x0D,0x49,0xAE,0x52,0x74,0xA0,0xF2,0xBD,0x33,0xFA,0x1F,0x0F,0xBB,\r
+0xB5,0x22,0xC6,0x8C,0xF4,0x3D,0x1D,0xE1,0x89,0xE1,0xA3,0x3B,0xA6,0xD0,0xD9,0x53,\r
+0x59,0x3C,0xD4,0xCF,0x96,0x55,0x66,0x8B,0x8A,0x47,0x9C,0xF4,0xD7,0x93,0xAF,0x20,\r
+0xCB,0xDA,0x41,0x1C,0xCD,0x5E,0xB6,0xC0,0xC7,0xE5,0x1E,0x1F,0xC2,0xFB,0x31,0x06,\r
+0x84,0x6C,0x94,0x68,0xC4,0xB1,0x28,0xBA,0x0D,0xE6,0x7E,0x03,0x7F,0x6E,0xA2,0x49,\r
+0x55,0xF9,0x70,0xCD,0xDE,0x40,0xBE,0xE9,0x25,0x24,0xA9,0x99,0xDC,0xE6,0x7D,0xB4,\r
+0xF8,0xC9,0x64,0x0E,0xDA,0xFD,0x9A,0xA7,0x87,0x32,0x57,0xA3,0x33,0x42,0x0A,0xB5,\r
+0x30,0x88,0x10,0x98,0x66,0x33,0xC3,0xF7,0xA3,0x54,0x82,0xFC,0x52,0xE2,0x02,0xD2,\r
+0xD7,0xFA,0x8E,0x99,0x3E,0x58,0x0F,0x76,0x02,0xE4,0x43,0x09,0x88,0x96,0x19,0xD4,\r
+0x94,0x89,0xFF,0xEF,0xD0,0x72,0x18,0x17,0xCC,0x69,0x5C,0x73,0xA5,0x1A,0xB9,0x4F,\r
+0xAA,0xCD,0xAF,0x36,0x3D,0x38,0x13,0xBC,0x4C,0xE0,0xFE,0x2D,0x25,0xE0,0xF4,0x8F,\r
+0xD3,0x9C,0x00,0xE6,0x8A,0x24,0xDE,0x99,0x9C,0xD5,0x92,0x2A,0xBF,0x49,0x48,0xD9,\r
+0xFF,0x60,0x4C,0x4E,0xB7,0xFA,0x51,0xF6,0x5B,0xA3,0x39,0x61,0xCE,0x0A,0x3E,0xAA,\r
+0x44,0x8E,0xCA,0x83,0xE2,0xC3,0x27,0x43,0x4E,0x97,0x08,0x70,0x9C,0x3B,0xDA,0xE4,\r
+0x15,0x45,0xA7,0x84,0x98,0x67,0xC0,0x75,0x4B,0xC8,0xBE,0x84,0x9E,0x34,0xE7,0xEE,\r
+0xBD,0x81,0xEC,0xF1,0x0B,0x34,0x08,0xA6,0xE4,0xAB,0x8B,0xE9,0x2A,0xDB,0x9B,0x3F,\r
+0xD8,0xF0,0x8C,0xA4,0xE8,0x4C,0xA5,0xF3,0x5D,0x5A,0xB0,0x5A,0x78,0xEA,0x7F,0x71,\r
+0x0F,0x5E,0x91,0x88,0x87,0x76,0x64,0xAD,0x7B,0x4B,0x93,0x58,0x5B,0x98,0xED,0x4C,\r
+0x8E,0x92,0xC9,0xE3,0x13,0xF8,0x94,0xFA,0x5A,0x72,0xF0,0xF3,0x90,0xCA,0xD5,0x48,\r
+0x66,0xEA,0x55,0xDF,0xBD,0x75,0xD3,0x46,0x4D,0x31,0x37,0xBF,0x42,0x01,0x7C,0xC6,\r
+0x47,0x41,0x6C,0xBC,0x9A,0x5A,0xCA,0x7A,0xBF,0x9B,0x07,0xDC,0xDF,0x2C,0x1D,0xA8,\r
+0x7E,0xAC,0x14,0x25,0xD2,0x4F,0x12,0x18,0x79,0x3C,0x65,0x05,0xB3,0xB8,0x47,0x75,\r
+0x5F,0x07,0x2D,0x46,0x1C,0x97,0x24,0xC1,0x6B,0x20,0x14,0xBD,0x99,0xB0,0x3A,0xD6,\r
+0x3A,0x76,0x4D,0x13,0xBA,0xA8,0xEB,0xC2,0xF5,0x11,0xC5,0x9E,0xB6,0x33,0xA7,0x47,\r
+0x73,0xFB,0x61,0xEE,0xAE,0x6B,0xDB,0x6F,0xA2,0x85,0x4B,0x6E,0x71,0x90,0x90,0xEF,\r
+0x3F,0x82,0x12,0xA5,0x37,0xB7,0x91,0x0C,0x39,0xEB,0x2C,0xB9,0x7D,0x61,0x9F,0x43,\r
+0xBB,0xBA,0x15,0x78,0x4A,0xCE,0x4E,0xBE,0x9A,0x2C,0x1B,0x11,0xBB,0x07,0xF5,0xFD,\r
+0x11,0x23,0x29,0xFB,0xD8,0xC0,0x90,0xA8,0x95,0x2E,0x26,0x1B,0xF7,0x2B,0x5D,0x01,\r
+0x57,0xA4,0x07,0x3B,0x04,0x5B,0xB8,0x9D,0xC5,0x92,0xE8,0x42,0xEE,0xB2,0xCC,0x8B,\r
+0x19,0x80,0x03,0x86,0x3F,0x05,0x19,0xB3,0xF0,0x4E,0x73,0x6A,0x6F,0x8D,0xDC,0x5D,\r
+0x5E,0x95,0xFC,0x8F,0x16,0x18,0xA6,0x71,0x67,0x84,0x16,0x78,0x9F,0xF1,0xBA,0xF8,\r
+0x28,0xCE,0x51,0x62,0xF9,0x6F,0xA7,0xD5,0x3C,0xB4,0x9A,0x4D,0xA0,0x91,0x59,0x7D,\r
+0x4F,0xE2,0x46,0xC1,0x60,0xB3,0xED,0xB6,0xEC,0x81,0xF6,0x4A,0x5D,0xD9,0x6D,0x62,\r
+0x38,0x2B,0x3A,0xE5,0x0A,0x69,0x1E,0x63,0x5C,0x8B,0x79,0xC8,0x27,0xEF,0xC9,0x85,\r
+0xCD,0xE1,0xB8,0x95,0x0F,0x89,0x2C,0xE8,0x86,0xE3,0x9E,0x31,0x19,0x4A,0x77,0x16,\r
+0xFE,0xF2,0x9D,0x87,0xB1,0x7A,0x7F,0xB7,0xC9,0x36,0xEA,0x87,0x59,0x97,0xD0,0x46,\r
+0x54,0x6B,0xA1,0x04,0x8F,0xC4,0xEC,0x12,0xEE,0xF6,0x00,0x17,0x74,0x1B,0x70,0xDD,\r
+0x3D,0xDF,0x65,0x53,0x62,0x8E,0xE7,0xB9,0x7D,0xB2,0x1A,0x63,0x53,0x27,0x5F,0xC4,\r
+0xEB,0xE3,0xA9,0xB6,0x1D,0xCA,0x32,0x04,0x85,0x45,0xA1,0xFE,0x93,0x00,0xB5,0x54,\r
+0x1D,0xE6,0x8D,0xF9,0x5C,0x30,0x74,0x1C,0xE3,0x83,0xCB,0x40,0xD1,0xD2,0x2F,0x0E,\r
+0x9E,0x77,0xA2,0x64,0xEF,0x91,0x9D,0x77,0xFC,0xEA,0x71,0xAF,0x57,0x69,0xE2,0xE0,\r
+0xAC,0xF6,0x56,0xBF,0xE9,0x11,0xB3,0x36,0x14,0x76,0x4D,0xD7,0x48,0xB1,0xF3,0x44,\r
+0x21,0xFF,0xAA,0xD6,0xDD,0x20,0xA2,0x23,0x80,0x1A,0x17,0x0A,0xF3,0x65,0xE0,0x25,\r
+0x0E,0xCC,0x40,0x41,0xCB,0xDE,0x98,0x81,0x0B,0x1F,0xF7,0x38,0xAD,0xA5,0x0B,0xC7,\r
+0x51,0x9F,0xFE,0xB2,0x01,0xBB,0x8A,0x16,0xED,0x50,0x3F,0xD8,0xBE,0x8C,0x15,0xCF,\r
+0xAE,0xAB,0x21,0x49,0x7A,0x42,0x7B,0xE5,0x53,0x89,0x44,0xC2,0xD3,0xDD,0x12,0x04,\r
+0x3E,0x10,0xC3,0x6C,0x63,0xD3,0xF1,0x7C,0x6D,0xD9,0x9D,0x86,0x18,0x8F,0x2A,0x00,\r
+0xA1,0xA1,0x23,0x74,0xFD,0xD2,0x83,0x9B,0x68,0x86,0x2B,0x72,0x30,0x88,0x6A,0xA9,\r
+0xA4,0x55,0x7C,0xC2,0x2B,0xC6,0x29,0x1E,0xDE,0x75,0x2D,0xCB,0xD6,0x56,0xF2,0x36,\r
+0x09,0x65,0x68,0x01,0x09,0x09,0x02,0xA9,0x20,0x7B,0x1F,0x6D,0x67,0x32,0x6E,0xD5,\r
+0xB6,0xCD,0x46,0x32,0xAF,0xD8,0x38,0xFB,0xFE,0x24,0xEA,0xD8,0xB1,0x43,0xA5,0x4B,\r
+0x42,0x16,0x74,0xB3,0xEE,0xF6,0xB8,0xFD,0x62,0xCC,0x92,0xE4,0x69,0x5C,0x01,0x5A,\r
+0xBD,0x1F,0x33,0xA6,0xDC,0x77,0x63,0x09,0x51,0x5D,0xBB,0x08,0xD8,0x87,0x11,0x1C,\r
+0x99,0x50,0xC5,0xA3,0xC4,0x31,0x99,0x48,0x97,0x3B,0x05,0x62,0x0A,0xC5,0x4B,0x86,\r
+0xB5,0xAD,0x8C,0x2E,0xCA,0xA9,0x6D,0x9B,0xE2,0x36,0x52,0xA9,0xC3,0x60,0x98,0xD9,\r
+0x71,0xFA,0xE5,0x9A,0x61,0xA2,0x27,0x76,0xA6,0xA5,0x26,0xB3,0xFF,0x47,0x81,0xF6,\r
+0xAC,0x3C,0x15,0xA4,0x30,0x69,0x20,0x1B,0xF7,0x5E,0x74,0x37,0x92,0x0D,0x53,0xDE,\r
+0x89,0x2E,0x26,0xB7,0x6F,0x3A,0xD3,0xA5,0x22,0x11,0xC2,0x43,0x4F,0x4D,0x03,0x79,\r
+0x68,0x6B,0x7C,0x10,0xC6,0x6C,0x6F,0x3F,0x61,0x06,0x8E,0x84,0x8E,0xC2,0x73,0x5B,\r
+0x7C,0xA8,0xD1,0x20,0x71,0x47,0xA0,0x1D,0x6F,0xF8,0x28,0xB6,0xEA,0x73,0x90,0xC7,\r
+0xD7,0xC5,0xE6,0x55,0xA4,0xB4,0x7A,0x77,0xCD,0xB5,0xC3,0x34,0x57,0x0C,0x45,0x83,\r
+0x37,0xDD,0x79,0xE4,0x43,0xC6,0x7B,0xE9,0x92,0xB0,0x37,0x82,0x50,0x24,0xEC,0xC3,\r
+0xEA,0x1B,0x89,0xDA,0xCE,0xCF,0x12,0x15,0x44,0x35,0x9D,0x96,0x54,0xAA,0x8A,0xBC,\r
+0x35,0xE0,0x76,0xEE,0x3D,0x3E,0xEB,0x6E,0x9D,0x8B,0x87,0xED,0x05,0xC7,0x41,0xBB,\r
+0xBE,0x7F,0xF9,0xBA,0xFB,0xE7,0x89,0xC9,0x0E,0x58,0x4F,0xBE,0xBD,0xE7,0x60,0x49,\r
+0x54,0xE8,0xD6,0x89,0x59,0xDD,0x77,0xDF,0x0B,0xD3,0x7D,0x5E,0x7D,0xB9,0x82,0xA2,\r
+0x75,0x47,0xAB,0xBE,0xB7,0x9E,0xC2,0xBA,0x91,0x7A,0x2B,0xE2,0x48,0x65,0xAA,0x39,\r
+0x06,0x0C,0xE7,0xC7,0xD4,0xD4,0x1E,0x23,0xFF,0xE1,0xFC,0x85,0xB9,0x69,0x06,0x36,\r
+0x39,0xEF,0x87,0x42,0x19,0x61,0x3E,0x08,0x34,0xB3,0xF8,0xBD,0x68,0x8D,0x93,0x93,\r
+0x59,0xBA,0xE2,0x33,0x1A,0xAE,0x01,0xAE,0x05,0x2D,0xDB,0x6C,0xEB,0xA2,0x02,0x0E,\r
+0x78,0x15,0x9F,0x04,0xA2,0x8F,0xF3,0x8E,0x8F,0x67,0x99,0xAE,0xF4,0xCB,0xED,0xB4,\r
+0x00,0x8C,0xA6,0xE9,0xC0,0x57,0xE6,0xC6,0x28,0xA1,0x40,0xCC,0x60,0xA7,0x30,0xEE,\r
+0xDD,0x4A,0x56,0xD7,0x22,0xD1,0x51,0x07,0x66,0x82,0xB6,0x59,0x12,0x84,0x0D,0x7C,\r
+0x41,0x76,0xBE,0xAF,0x9E,0x96,0xDC,0xA9,0x25,0x95,0xFA,0x9E,0xD9,0x56,0x83,0xD5,\r
+0x52,0x68,0x97,0xA7,0x6E,0xA8,0x1A,0x74,0x95,0x34,0x0F,0x5F,0x01,0x49,0x27,0xC4,\r
+0x2E,0x4C,0xE0,0x6E,0xBB,0x5B,0xC0,0x1E,0x9F,0x84,0x8D,0xD0,0x37,0x33,0xC0,0x60,\r
+0xE8,0x26,0x86,0xD0,0xA9,0xE3,0xB1,0x02,0x90,0xBF,0x3D,0xBF,0x29,0x8B,0xBD,0x13,\r
+0x45,0xCB,0xF0,0x8B,0x0D,0xE2,0xC6,0xED,0xA0,0xE4,0x08,0x33,0x49,0xB4,0x38,0xF0,\r
+0x13,0x92,0x8F,0xE1,0x45,0xFD,0xF2,0x10,0x86,0x1D,0x07,0x41,0x6A,0xFA,0xCE,0x65,\r
+0x17,0x2F,0xC1,0xC5,0x6B,0x5C,0xAC,0x2B,0x5A,0x28,0x2F,0xDA,0x55,0x7B,0x18,0x75,\r
+0x01,0xD1,0x63,0xFF,0x66,0x0B,0x67,0x5E,0x38,0x42,0x54,0xB2,0xDF,0xAF,0xB8,0x5C,\r
+0x3D,0x52,0xC9,0x66,0x70,0xD5,0x69,0xCC,0x3A,0x4D,0x5E,0x8F,0xF3,0xE3,0x44,0xF4,\r
+0x9A,0x30,0x0F,0xBF,0xAE,0x4A,0xF1,0x2A,0xF0,0xDA,0x4C,0xEA,0x4E,0x9C,0x91,0xB0,\r
+0xEB,0x46,0x4C,0xCC,0xCF,0x5D,0xDB,0xC4,0x7D,0x14,0x36,0xF5,0xC2,0xB1,0x0A,0x10,\r
+0x70,0xA7,0x20,0x8C,0x7F,0xDF,0x54,0xCE,0x26,0x5F,0xE6,0xFE,0x9A,0x27,0xF0,0xA3,\r
+0x04,0x31,0xE8,0xCD,0x2F,0x86,0x9A,0x72,0x40,0x7B,0xB9,0x2B,0x3A,0x46,0x97,0xAB,\r
+0x80,0xC1,0x5C,0x29,0x62,0x6D,0x18,0xD0,0xF2,0xD5,0x46,0xD7,0xB6,0x6B,0x0C,0x0B,\r
+0x64,0x64,0x8D,0xBC,0x31,0xFB,0xE9,0xCA,0x30,0xFD,0xDC,0x00,0x3E,0xC8,0xF1,0xD4,\r
+0xC0,0x66,0x81,0x79,0x53,0x23,0xFC,0x82,0x53,0x52,0xB1,0x35,0x4B,0xC3,0x65,0x06,\r
+0x55,0xB5,0x13,0x9F,0x18,0xF3,0xF7,0xD9,0xF1,0x1F,0x5A,0xB7,0x23,0xD6,0x43,0x98,\r
+0x98,0x0D,0x00,0xB5,0x2B,0xE0,0xE5,0xFC,0x4E,0x85,0x1F,0x19,0x32,0x6C,0x34,0xD6,\r
+0x85,0x21,0xD7,0x1B,0x75,0x21,0xDF,0x93,0x5F,0xA3,0x1D,0x3A,0x40,0x4F,0x09,0x44,\r
+0xB3,0x2D,0xCD,0x00,0xAD,0x85,0xCE,0x8C,0xDC,0x93,0xC1,0x17,0xEC,0x8A,0xAB,0x4E,\r
+0xF8,0x58,0x65,0xC4,0x7E,0x4D,0x9D,0x1F,0xBF,0x3C,0xAC,0x22,0x03,0x3E,0x7A,0x32,\r
+0x58,0xE7,0x27,0x25,0x2E,0x14,0x53,0xA3,0xB7,0x83,0x24,0x90,0xD2,0xDA,0xEF,0x97,\r
+0xDE,0x2A,0x9C,0xCB,0x9B,0x62,0x6A,0xF6,0x83,0x96,0x35,0xA1,0xE3,0x88,0xA1,0x73,\r
+0xBB,0x9F,0x72,0x88,0x64,0x56,0x91,0x29,0xF4,0x94,0x68,0x57,0x38,0x31,0xCA,0x5D,\r
+0x14,0x4F,0x0B,0xD9,0x41,0x9B,0x8D,0x9E,0xC1,0x44,0x6F,0x3B,0x91,0xAB,0x9C,0xE1,\r
+0x12,0xCF,0x4A,0xF7,0xBA,0xC9,0x09,0xCF,0x0F,0x9D,0x59,0xE3,0x88,0x3B,0x48,0xD2,\r
+0x1A,0x7D,0xF5,0x7F,0x5A,0x12,0x48,0x79,0xDB,0x17,0xF9,0xCA,0xF6,0xBC,0xB0,0x42,\r
+0x5B,0x87,0xED,0x39,0xDD,0xE5,0xAA,0xD8,0x3C,0x0C,0x70,0x0F,0x1C,0x57,0x95,0x88,\r
+0x0A,0x03,0x16,0x6B,0x21,0x1E,0x6E,0xA1,0xB8,0xB8,0x94,0xFF,0x1E,0x20,0xC8,0x7E,\r
+0x2D,0x2C,0x2A,0x72,0xD0,0xB2,0x61,0xAD,0x7E,0xDE,0x2A,0x95,0x09,0x63,0x84,0xB9,\r
+0xE4,0x29,0x77,0x7C,0x0E,0x2D,0xF9,0x4B,0xA4,0xAA,0x2C,0x8E,0xA7,0xD1,0x7B,0x45,\r
+0xE1,0xC9,0xFC,0x4E,0xBC,0xF2,0x80,0x36,0x4C,0x8A,0x15,0x24,0x47,0x67,0xA0,0x04,\r
+0xD3,0x78,0xA8,0x71,0xFE,0x13,0x3F,0x96,0x18,0xFA,0x75,0x40,0x10,0xF3,0x50,0x8A,\r
+0x4A,0xA4,0xCB,0x3B,0xAC,0x17,0x07,0x5D,0xE6,0x78,0x76,0x14,0xC7,0xEE,0xFE,0xA6,\r
+0xD2,0x25,0x6D,0x67,0x39,0x58,0x94,0xE0,0xF5,0x51,0x7E,0x0A,0x08,0xB2,0x16,0x70,\r
+0x7F,0xC8,0x1B,0x3C,0x3F,0x63,0x1D,0x19,0x03,0x6C,0xF5,0xEC,0x80,0x11,0xEB,0xAF,\r
+0xD5,0xF8,0xE9,0x5F,0xC8,0xF4,0x9B,0xEC,0xD4,0x2C,0x49,0xA5,0x04,0x16,0xD3,0x72,\r
+0x21,0x23,0xDB,0xDE,0xF1,0x19,0x02,0x94,0x6A,0x73,0x1A,0x56,0x07,0xB0,0x1C,0x4D,\r
+0xA8,0x81,0x5B,0x80,0xEF,0x64,0x71,0x2C,0x81,0x99,0x3F,0x9C,0xF2,0x32,0xD6,0x3D,\r
+0x7A,0x28,0x90,0x0E,0x02,0xE8,0xFB,0xEF,0xE5,0xB2,0x6A,0x74,0x25,0x2F,0x78,0x11,\r
+0xF9,0x05,0xA0,0xD2,0x98,0xAD,0x55,0x50,0x6D,0xF7,0x22,0x8B,0xB4,0x1C,0x51,0xFD,\r
+0x85,0x72,0x92,0xBF,0xAE,0x3C,0xEB,0x2F,0x6C,0xDF,0x4A,0x98,0xFE,0x11,0xE5,0xAF,\r
+0xCB,0x56,0x96,0x02,0x95,0x62,0x4A,0x01,0x59,0x03,0xD1,0xB0,0x7F,0x2E,0xF5,0x79,\r
+0x8D,0xD1,0xB8,0xC2,0x49,0xF9,0x62,0x34,0x09,0xBF,0x1F,0xE9,0x66,0xB7,0x64,0xF3,\r
+0x27,0x48,0x84,0x41,0xDB,0xF7,0xBC,0x22,0x06,0xBD,0x22,0xE3,0x2A,0x9B,0xCC,0x0F,\r
+0xA4,0xD9,0xAB,0xDC,0x9B,0x50,0xEC,0xFF,0xC0,0x1A,0x40,0x3A,0xB6,0x73,0xF0,0x77,\r
+0xD3,0x10,0xD7,0xF8,0xF1,0x8A,0x1F,0x2A,0x70,0x10,0xCF,0xB8,0xCC,0x45,0x54,0x90,\r
+0xB4,0x3C,0xC0,0x5B,0x68,0x56,0x55,0x49,0xA0,0x25,0xA3,0xBF,0x31,0x0D,0x60,0x8F,\r
+0xC2,0x67,0x6D,0xB6,0x87,0x21,0x54,0xED,0xFB,0x15,0x2F,0x8A,0x0E,0x6D,0x83,0x0A,\r
+0xE2,0x5E,0x85,0x1C,0x43,0x76,0xE0,0x84,0xE5,0xAD,0x5C,0xF7,0x22,0x24,0x7E,0x87,\r
+0xDB,0xB3,0xFD,0x85,0x0B,0x63,0x38,0xE6,0x23,0x0A,0x3E,0x2E,0x4E,0xB0,0x24,0x5A,\r
+0xFA,0x18,0xC4,0xE6,0x2C,0x4C,0x21,0xDA,0xD1,0xA0,0x0E,0x4D,0xD3,0x9D,0x45,0x34,\r
+0x12,0x60,0x58,0xDA,0x82,0xC1,0x66,0x66,0xC6,0xE3,0xC9,0x01,0x01,0x56,0xEC,0xBA,\r
+0xA3,0x70,0x83,0x9C,0xA6,0x8E,0x63,0x90,0xA5,0x7A,0x15,0x4B,0xEC,0xFD,0xA6,0xB1,\r
+0xEF,0x09,0xF0,0xD7,0x3F,0x52,0x29,0xF3,0x3E,0x14,0x72,0x9C,0xE0,0x0C,0xA9,0x1D,\r
+0xA6,0x84,0xDC,0x2A,0x2B,0x91,0x19,0x5E,0x69,0x80,0xFC,0x6C,0x27,0xAF,0x9E,0xB5,\r
+0xC3,0xF5,0xBC,0x7F,0x8D,0xAE,0xD6,0x5D,0xF7,0xB1,0x2D,0x4F,0x08,0x2C,0x03,0x24,\r
+0x32,0x59,0xB0,0x70,0xEB,0x7B,0x89,0x79,0xCF,0x18,0x7D,0x30,0x42,0x41,0x2B,0xF6,\r
+0xCD,0x6D,0x6F,0x8B,0x90,0x82,0x78,0x8A,0x71,0xC1,0x06,0x2A,0x2F,0x10,0x2C,0x3D,\r
+0x92,0x3E,0xD1,0x78,0x5A,0xE7,0x6A,0x1D,0x97,0x8E,0xCE,0xCA,0x3C,0x39,0x32,0x35,\r
+0xBD,0x0D,0x3B,0xEF,0x4C,0x19,0x50,0xBF,0x1C,0x8B,0x2E,0xF8,0x62,0xF9,0xD9,0xD7,\r
+0x95,0x97,0xF9,0x38,0x98,0x30,0xF0,0x35,0xBC,0xEA,0x26,0x9F,0xF6,0xAE,0x57,0x27,\r
+0x38,0xA7,0xED,0xFB,0xBA,0xFF,0xDB,0x82,0x42,0xE4,0x14,0x39,0x47,0xCA,0xCB,0xC4,\r
+0x3D,0x53,0xB2,0x4D,0x6C,0xEB,0x71,0x07,0xF4,0x17,0x12,0x80,0xA1,0x14,0x53,0x5B,\r
+0xA2,0xE2,0x52,0x55,0xF2,0xEA,0x03,0xE0,0xF1,0x48,0xA4,0x74,0x89,0x13,0x13,0xF2,\r
+0xA1,0x2D,0xF4,0x6A,0xF3,0xB7,0x15,0x25,0xE1,0x23,0x23,0x91,0xC2,0xBB,0x66,0x36,\r
+0xC8,0x99,0x30,0x3D,0x1E,0xFD,0x1E,0x8E,0x72,0x67,0x39,0xE5,0xE5,0x87,0x49,0x2F,\r
+0x62,0x00,0x0C,0xBE,0x20,0x43,0x8D,0x2B,0x55,0xA7,0xD3,0x75,0xC8,0x0B,0xE9,0xB4,\r
+0x51,0x13,0x29,0xAC,0x9E,0xB0,0xDE,0x74,0x1A,0x72,0xA7,0xC3,0x88,0xD6,0x4E,0xE4,\r
+0x30,0x04,0xC7,0x86,0x78,0x28,0x41,0xAA,0x88,0xE7,0x74,0x25,0xD9,0x2D,0xCA,0xB6,\r
+0x02,0x85,0x33,0x5D,0x7E,0xA8,0x6F,0xEB,0x60,0x7B,0x48,0x5D,0xC6,0xF5,0xDB,0x12,\r
+0x81,0x14,0x1C,0xC0,0xCD,0x09,0x86,0x80,0x7F,0x12,0xF2,0xB2,0x40,0x4E,0x16,0xFC,\r
+0x77,0x11,0x38,0x8F,0x8C,0xF3,0xC0,0x98,0x19,0xD4,0x98,0x0C,0x02,0x9C,0x8C,0xA6,\r
+0x1F,0x37,0x2D,0x11,0xA9,0xE1,0xD3,0xAB,0xDD,0x04,0x0C,0x88,0xB7,0xB6,0xAD,0x61,\r
+0x9F,0x69,0xA4,0xB3,0x11,0x92,0xAE,0xB5,0x37,0xEF,0xC6,0xAD,0x35,0x43,0xDD,0xAB,\r
+0xE4,0x65,0x7C,0x95,0xD5,0xC5,0x1A,0xDC,0xB3,0xE8,0x1B,0x95,0x99,0xF0,0x6D,0xE6,\r
+0xD4,0xB9,0xFF,0xB8,0x6A,0x6B,0x5F,0x46,0xF6,0x60,0xE4,0xDD,0xAA,0x61,0x81,0xCF,\r
+0x29,0xD0,0x57,0xB5,0x65,0x04,0xEF,0x7D,0x15,0x70,0x9A,0xC9,0x37,0x4C,0xE0,0xA1,\r
+0x8F,0x8C,0xCF,0x34,0xD8,0x97,0xA0,0xE8,0x3C,0x63,0x84,0xC1,0x6B,0x83,0x36,0x49,\r
+0xAD,0xE8,0x50,0x68,0x69,0x0B,0x43,0x8C,0x68,0x51,0x35,0xFE,0x93,0x40,0xE2,0x64,\r
+0x5F,0x8B,0xFA,0x58,0x9C,0x8D,0xD4,0x7B,0x28,0x86,0x7C,0x42,0x94,0xC4,0x3F,0x5C,\r
+0x33,0xCB,0x61,0xB9,0xCE,0x69,0x9A,0x4A,0xEE,0x21,0x1E,0x9B,0x54,0xE3,0xD5,0xCC,\r
+0x6E,0xC5,0xA8,0xBC,0x28,0xF1,0x05,0x94,0x9A,0xFB,0x05,0x9D,0xE6,0x4D,0x29,0x33,\r
+0xEC,0xC6,0x56,0xE8,0x13,0xAF,0xA4,0xBA,0xBE,0x9D,0xD0,0xC2,0x76,0x54,0x1A,0xE7,\r
+0xB8,0xF9,0x64,0x59,0xB3,0x10,0x45,0xF8,0xCE,0xC9,0xB4,0xA2,0xE2,0x03,0x94,0x17,\r
+0xB1,0xC8,0x9F,0xED,0xFC,0xD8,0xA5,0x1E,0x53,0x5E,0x5A,0x4E,0x39,0xB2,0xD2,0x07,\r
+0x0E,0x40,0x97,0x5F,0x4A,0x99,0x7E,0xFE,0xD9,0x8A,0x73,0xEE,0xBE,0xCC,0x42,0xFF,\r
+0x52,0xDC,0x8F,0x93,0x24,0xFE,0xA9,0x65,0xFC,0x3D,0x6F,0x23,0xA5,0x5A,0xEE,0x7F,\r
+0xA9,0x8E,0xDE,0x17,0x5D,0x3A,0x52,0x99,0x48,0xB9,0x9F,0xC7,0xD2,0x58,0x18,0x22,\r
+0xD8,0x7C,0x5B,0xBA,0x73,0xFA,0xD5,0xDF,0xD2,0x06,0x31,0x82,0x0D,0xA7,0xE3,0x16,\r
+0x63,0x92,0xDD,0x77,0x26,0xC3,0xA3,0x6A,0xC7,0x32,0x00,0x93,0x5F,0x96,0x07,0x58,\r
+0x4F,0x6E,0x91,0xDF,0x1B,0x1D,0x2C,0x05,0x00,0x44,0xAB,0xD8,0x2E,0xD5,0x71,0x2B,\r
+0x36,0x3F,0x3E,0x0F,0xAC,0x01,0xE1,0x20,0xD0,0x71,0xC7,0xDF,0xB4,0x7C,0xCD,0x7D,\r
+0x93,0xAC,0x00,0xB1,0x16,0x4F,0x96,0x31,0xE7,0xDA,0xAA,0xAA,0xCA,0x04,0xD4,0xBE,\r
+0x44,0x02,0x1D,0x9D,0x79,0x75,0x57,0x6F,0xC1,0xCB,0x89,0xA8,0xE9,0x76,0x46,0x83,\r
+0x21,0x73,0x7D,0xC8,0x9A,0x0D,0xFA,0x3A,0x78,0x3A,0xB2,0x1B,0xBB,0x47,0xA2,0xCD,\r
+0x89,0xB7,0x36,0xBD,0x09,0x5E,0x32,0xE9,0xD7,0x59,0x87,0x76,0x0F,0xA8,0xDE,0x1C,\r
+0xC9,0x0B,0xE1,0xF4,0x4F,0x79,0x4C,0x75,0xB9,0xB5,0x90,0x6B,0x4D,0x7A,0x44,0x46,\r
+0x18,0x9E,0x05,0x51,0x55,0x88,0xDA,0x26,0x91,0x77,0x47,0xF1,0xEE,0xF2,0x9B,0xBB,\r
+0x57,0x28,0xD0,0x25,0x5C,0x67,0x44,0x5C,0x5B,0x74,0x27,0xED,0x53,0x67,0x08,0xF4,\r
+0xC5,0xCE,0x45,0xF6,0x07,0x6C,0x94,0x17,0x16,0xD6,0xA5,0x06,0x46,0x0F,0x96,0xD2,\r
+0x08,0x7B,0x6E,0xD6,0x41,0x4B,0xEA,0x8B,0x50,0xF8,0x65,0x81,0x34,0x86,0x80,0xBD,\r
+0x4B,0x08,0x1F,0xA0,0xAF,0x61,0xFD,0xEA,0x9E,0x75,0x7A,0xFB,0x19,0x0A,0x20,0x26,\r
+0xAC,0x7A,0x81,0xA1,0xF7,0x0A,0x31,0x6B,0x3F,0xC5,0xBB,0x0E,0xC3,0x7E,0x3B,0x20,\r
+0x64,0x3B,0xF5,0x37,0x4B,0xC4,0x68,0x3B,0x1B,0xA3,0x6E,0x51,0xA2,0xDE,0x33,0x47,\r
+0xB9,0x36,0x89,0x1B,0x2E,0xFA,0x6C,0xFC,0xF0,0x35,0xCC,0x76,0x0D,0x2D,0xCB,0xF2,\r
+0xA3,0xA5,0xFD,0x5F,0x37,0xDD,0x50,0xD3,0xA7,0x81,0x08,0x1F,0x06,0x67,0x26,0x59,\r
+0x49,0x82,0x6D,0x9F,0xAC,0xF0,0xDC,0x73,0x24,0x18,0x34,0xB5,0x95,0xD9,0x18,0xFC,\r
+0x3D,0xCD,0xDB,0x4A,0xFC,0xB0,0x01,0xD4,0x36,0x0B,0x11,0x86,0xC6,0x2A,0xA6,0xA3,\r
+0xEE,0x5F,0x3D,0xDF,0xAE,0xE1,0xFA,0x50,0x1C,0x1C,0xFF,0xE7,0x59,0xB2,0x40,0x7D,\r
+0xD2,0xB7,0x45,0x43,0x0A,0xFE,0x22,0x41,0xC7,0x9D,0x0B,0xD5,0x77,0x32,0x46,0x3C,\r
+0x68,0xA8,0xAA,0x2A,0xE4,0x78,0x99,0x8C,0x5A,0x0C,0x24,0x56,0x9E,0x93,0xF5,0x57,\r
+0x02,0xCE,0x14,0xEC,0xBE,0x3A,0x4B,0x16,0x15,0x09,0x00,0xA0,0xD8,0x69,0xB4,0x4F,\r
+0xE7,0x18,0x28,0x20,0xEE,0x7A,0x96,0xB1,0xEA,0x41,0x88,0xE5,0x91,0xE1,0xD3,0xAE,\r
+0x9C,0xA6,0x32,0xF9,0x25,0x17,0xC7,0xB6,0x11,0x75,0x57,0x1A,0x60,0x18,0xA8,0x5D,\r
+0x54,0x40,0xD2,0xB6,0x2D,0x04,0xEE,0xA8,0xE2,0x26,0xE9,0x45,0x72,0x7D,0x62,0xCA,\r
+0xB4,0xCB,0xE0,0xB3,0xCF,0x5A,0x2E,0x43,0x75,0x15,0x03,0x6A,0x48,0x83,0x74,0x68,\r
+0xBC,0x6B,0x87,0xD2,0x3F,0xCE,0x79,0xCD,0xA2,0x8F,0xC1,0x42,0xE8,0xAA,0xA0,0xE2,\r
+0x8E,0x95,0x21,0xDC,0xDC,0x7F,0x1D,0x51,0x61,0xBF,0xD5,0xEF,0xC3,0x65,0x82,0x55,\r
+0x88,0x23,0x98,0x2F,0x43,0x99,0xC3,0xC9,0xD7,0x4B,0x8A,0xEA,0x69,0x71,0x54,0xD0,\r
+0x3E,0x26,0x6C,0x70,0xEA,0xB1,0xC4,0x89,0xCF,0xFA,0x6A,0x75,0x1B,0x70,0xCA,0x37,\r
+0xC6,0x32,0xEF,0x95,0x9F,0x1A,0xF3,0xE4,0x86,0x46,0xBD,0x35,0xF8,0xEC,0x7B,0x53,\r
+0xA4,0xF4,0x36,0x32,0x42,0x76,0x67,0xBE,0x1F,0xAB,0xC5,0x0C,0x20,0xF9,0x33,0x31,\r
+0x94,0x06,0x55,0x98,0x2C,0xEB,0x4A,0xDF,0x7C,0x00,0xFC,0x2D,0x39,0xD6,0x14,0x0D,\r
+0x53,0x11,0x19,0xDB,0xA2,0x39,0x81,0x76,0x40,0x78,0x60,0xC5,0x7E,0x5B,0xBA,0xB1,\r
+0x8F,0x72,0x53,0x42,0xA9,0xD4,0x2A,0x3C,0x06,0x68,0xBB,0x74,0x7B,0x14,0x9E,0x47,\r
+0xE8,0xE9,0x84,0x2C,0x05,0xD8,0xDB,0x33,0x4D,0x11,0xC8,0x38,0x31,0xC8,0x07,0x24,\r
+0x66,0xBE,0x74,0xB8,0xAD,0x1F,0x78,0x04,0xB0,0x9C,0xE4,0x71,0x01,0x0B,0x13,0x89,\r
+0xB7,0x20,0x57,0x89,0x3C,0x30,0xFB,0x99,0xE5,0xED,0x84,0x14,0xCE,0x34,0xB5,0x8A,\r
+0xD0,0xBB,0x80,0xE7,0xB7,0xC6,0xC6,0x7F,0x25,0x6A,0xAA,0x52,0xF3,0xA6,0x96,0xF8,\r
+0x4B,0x8E,0xA8,0x3B,0x61,0x47,0xF9,0x6F,0x98,0x4E,0xAE,0x1C,0x52,0xF8,0xAD,0xD6,\r
+0x85,0xDE,0xF1,0x87,0xEB,0x5E,0x60,0xFE,0x58,0xC9,0x80,0x5A,0x7A,0x63,0x71,0xE3,\r
+0xB8,0xD1,0xFB,0x85,0x17,0x12,0x4C,0x56,0xDB,0x50,0xBC,0xF0,0xA4,0x6D,0xE3,0xF5,\r
+0xDA,0x17,0x22,0x22,0x6F,0x8E,0xA4,0x6A,0x46,0xC1,0x93,0x73,0xF4,0xCA,0xA3,0x28,\r
+0x55,0xA7,0xA0,0x28,0x88,0xF4,0x92,0xCE,0x62,0x08,0xEF,0x04,0x07,0x10,0xC9,0xFD,\r
+0x39,0x77,0xA7,0x1D,0x97,0x09,0xDA,0xFA,0xC1,0x24,0xF8,0x63,0x4D,0xCC,0x50,0x9E,\r
+0xB5,0x2C,0x92,0x2D,0x12,0x36,0xBA,0x19,0x2C,0x7F,0x55,0x15,0x4C,0xBB,0xBF,0x3A,\r
+0x0A,0x6E,0x73,0x8D,0x5E,0x75,0xAD,0xDE,0x6E,0x13,0xD9,0x1E,0x54,0xE3,0x77,0xA2,\r
+0xDD,0x46,0xE9,0x4F,0xA3,0xD6,0x25,0x01,0xCB,0x86,0x3D,0xCF,0xC2,0x12,0x6D,0xF1,\r
+0xBD,0x8C,0xF5,0x4C,0xEC,0x6B,0xB0,0x92,0xBF,0x30,0xE8,0x80,0x5C,0xFD,0x64,0x8B,\r
+0x3F,0xC1,0x1E,0xEE,0xCA,0x7E,0xD8,0x0C,0x6C,0xD6,0x7D,0x12,0x8C,0xF6,0x3F,0xC0,\r
+0xFF,0x87,0x99,0xC0,0xA5,0x0C,0x51,0x1A,0x4C,0x63,0x56,0xDF,0xF2,0xD1,0x79,0x5C,\r
+0xE0,0x49,0xE3,0x4D,0x3E,0x21,0xDD,0xBA,0x3A,0x10,0x27,0x9C,0xE5,0xFB,0x97,0x3D,\r
+0x21,0xE8,0x16,0xFD,0x38,0xFB,0xA9,0xA1,0x3B,0x62,0xB9,0x7B,0x29,0x90,0xCF,0xBC,\r
+0xF4,0xCC,0x49,0x9B,0x5F,0x9A,0x09,0xA9,0xAD,0x23,0xCD,0xB3,0x70,0x5E,0x73,0xEC,\r
+0xAB,0x05,0x9A,0x3E,0x0E,0x35,0x70,0x79,0x20,0x64,0x63,0x0F,0xCD,0x60,0x4B,0x08,\r
+0x9A,0x10,0x8B,0x0A,0x40,0x67,0x41,0x9D,0xED,0x8A,0xE5,0xB4,0xBB,0x59,0x1E,0xBD,\r
+0x31,0xD7,0xC0,0x7C,0x33,0x16,0x02,0xEB,0x45,0x76,0xA9,0x98,0x34,0x87,0x23,0xD2,\r
+0x5D,0x07,0xC7,0x49,0x65,0x8C,0xAB,0x57,0x95,0x27,0x06,0xE1,0xF9,0x9B,0x94,0xF7,\r
+0x30,0x30,0xB2,0xE2,0xA6,0xF2,0xD3,0x4E,0x2B,0xB4,0x38,0x44,0x8E,0xD5,0x2E,0xE6,\r
+0x13,0x16,0xB0,0xF3,0x9B,0xD1,0xA1,0xDC,0x07,0x1A,0x25,0x93,0x4F,0xEF,0x41,0xB8,\r
+0x28,0xAF,0x03,0x02,0xD5,0x83,0x90,0x38,0x52,0x6B,0x45,0xF6,0xE2,0x97,0xA2,0xED,\r
+0x1D,0x00,0x6E,0x61,0x04,0x37,0x7F,0x44,0x27,0xAF,0x0E,0x5E,0x2A,0xC4,0x31,0x3E,\r
+0x84,0x39,0x83,0x19,0xD4,0x6C,0x34,0x4F,0x23,0xD3,0x59,0xE4,0x82,0xF3,0xF6,0x9D,\r
+0x9F,0x4D,0x85,0xC3,0x2B,0xDE,0x9A,0xB3,0x26,0xDD,0x90,0xB9,0x1D,0x6B,0x10,0x43,\r
+0x4A,0x69,0xDA,0xA5,0xFF,0x4E,0x83,0x80,0x72,0xDE,0x6E,0x3B,0xBC,0x35,0x2B,0x6D,\r
+0x2E,0x19,0xBA,0xF1,0x0F,0xDA,0xD4,0x0E,0xC3,0xE1,0x5C,0x6F,0x5D,0x8A,0x8B,0x2F,\r
+0xC0,0x84,0x56,0x66,0x1F,0x01,0x65,0x48,0x77,0xD0,0xA7,0x66,0xBD,0x42,0xC4,0xC9,\r
+0xE9,0x0E,0xF6,0xB2,0xE7,0x86,0x1B,0xD8,0xC5,0x58,0xAF,0xD9,0x66,0x03,0x72,0x29,\r
+0xF5,0x2B,0x3B,0x05,0x67,0x9D,0x8D,0x74,0x09,0xC4,0xB7,0x85,0xB1,0x64,0x1C,0xB2,\r
+0x05,0x9F,0xDF,0x81,0x3A,0xEA,0x8F,0x82,0x8D,0x96,0xE6,0x7E,0x4A,0xA0,0x65,0x4E,\r
+0x96,0x0A,0x90,0x3C,0x79,0x8F,0x61,0x37,0x8B,0x2F,0x15,0xC8,0xCB,0x7B,0x91,0x7C,\r
+0x5C,0xE0,0xB5,0xD7,0xB3,0x0D,0x94,0x47,0x29,0x71,0x9C,0x48,0xB6,0x08,0x29,0x62,\r
+0x81,0x64,0x8D,0xD0,0xFE,0xA1,0x27,0xF7,0x0F,0x7D,0x44,0x33,0x02,0x5F,0xED,0x0B,\r
+0x7E,0x21,0xC5,0x58,0xD7,0x92,0xB6,0x1B,0x22,0xA1,0xC7,0x03,0x47,0xF1,0x52,0x91,\r
+0x00,0xC2,0xD1,0x48,0xB9,0x0F,0x9B,0x7A,0x2F,0xC8,0x6F,0xFE,0xF7,0x9E,0x5D,0xAA,\r
+0x1E,0xEB,0xD9,0x5B,0x51,0x53,0x54,0xAC,0xAE,0x94,0xF7,0x58,0xB8,0x0D,0xE0,0x3F,\r
+0xAF,0xBF,0xE6,0x69,0x7C,0xAB,0x97,0x78,0xF2,0xF0,0x68,0x7A,0x5B,0x91,0x51,0x5B,\r
+0xE6,0xFF,0x5A,0xBE,0x44,0xAC,0x13,0xA5,0xC2,0x93,0xC2,0x88,0xCC,0x17,0xA4,0xAC,\r
+0xE5,0x8E,0x36,0x4E,0xE7,0x87,0x1C,0xE4,0x1B,0x38,0x7C,0x28,0x6A,0x2A,0x98,0x66,\r
+0x13,0x8B,0x12,0x01,0xA6,0x7D,0x5A,0xFC,0x7D,0xFE,0x16,0x96,0x28,0xF8,0x02,0x3C,\r
+0x54,0x9E,0xED,0x08,0x52,0xA6,0xDB,0xCE,0xEC,0xCD,0xFA,0xBF,0xF3,0x49,0x44,0x2C,\r
+0x66,0x1F,0x19,0xD3,0x54,0x26,0xF5,0x8F,0x04,0x51,0xC6,0xC7,0xEC,0x91,0x55,0x88,\r
+0x06,0x9A,0x26,0x30,0x0A,0xCD,0x17,0x4F,0x31,0x8D,0x5D,0xEF,0xE2,0x6F,0x67,0x2E,\r
+0x35,0x89,0x03,0x22,0xB4,0x3E,0x44,0x10,0x7E,0x58,0x29,0x59,0xA2,0xB2,0xC0,0x7E,\r
+0xC5,0xB7,0xDE,0xE4,0xD9,0x39,0x8F,0x41,0x85,0x09,0xAD,0x0B,0xE8,0xDF,0xE8,0xAC,\r
+0xAC,0x03,0x1A,0xB3,0x34,0x73,0x84,0xEA,0x16,0x4D,0xB7,0x7F,0xCF,0xE3,0xC7,0xB5,\r
+0x59,0xC9,0x98,0xC3,0x46,0x65,0xEB,0x63,0x90,0x3D,0x9C,0x1A,0x8B,0x70,0xDD,0xC1,\r
+0xC6,0x78,0x78,0xDB,0xD8,0x64,0x99,0x84,0x95,0x62,0x2A,0xEE,0xA3,0x77,0x9D,0x68,\r
+0xF1,0x0D,0xD3,0xB6,0xB2,0xBE,0x6A,0x51,0xD8,0xC0,0xA8,0x05,0xDC,0xCA,0xD9,0xBD,\r
+0x5C,0x3D,0xC7,0x75,0x90,0x71,0x41,0xE6,0x26,0xCE,0x9A,0xA3,0x6D,0xAE,0x45,0x5E,\r
+0xF6,0xA4,0xFB,0xF6,0x70,0x69,0xF0,0x79,0xF3,0xA4,0x40,0x50,0x16,0x5D,0xBC,0xAF,\r
+0xD9,0x97,0x11,0x61,0x66,0x97,0xCA,0xDB,0x78,0xA1,0xA0,0x62,0x48,0x9D,0x57,0x4D,\r
+0x56,0xC3,0x9A,0xFE,0xC1,0xF5,0x13,0x1D,0xAB,0x32,0xF3,0xAA,0x68,0x25,0xA5,0x6C,\r
+0xA9,0xF7,0x45,0x05,0xBA,0x0C,0xE2,0xEE,0x15,0xEB,0x88,0xB0,0x05,0x74,0xA2,0xA7,\r
+0xC2,0x1E,0xF6,0xA4,0x01,0x1F,0x83,0x3A,0x0D,0xAA,0x72,0xF6,0x0D,0xCB,0x10,0x2F,\r
+0xA7,0x6F,0x96,0xF1,0xA7,0x20,0x4C,0x39,0x93,0x9B,0xA3,0xD5,0x22,0x48,0x8D,0xBE,\r
+0xC7,0xEA,0xA9,0x12,0x8C,0x00,0xF9,0xF4,0xC1,0x50,0x9B,0xD1,0xC6,0x99,0x28,0x2B,\r
+0x8B,0x93,0xDA,0x59,0x15,0xDC,0xB3,0x97,0x5A,0x3E,0xFC,0x06,0xCA,0x68,0x27,0x87,\r
+0x9E,0x82,0xEE,0x68,0x06,0xC2,0xBB,0xBE,0xB5,0x8A,0x80,0xD7,0xF9,0xF9,0xCB,0xAE,\r
+0x76,0xFA,0x72,0x54,0xA8,0x4F,0xFC,0x02,0xA2,0xC9,0x47,0x9B,0x2B,0x32,0x62,0x20,\r
+0x86,0xC4,0xAF,0x92,0x69,0xF8,0x7A,0xE0,0x81,0x87,0xD2,0x6D,0x08,0x40,0xF0,0x1D,\r
+0xBF,0x29,0xD7,0x0B,0x21,0xED,0xA2,0x82,0x47,0x20,0xB0,0xB4,0x64,0xD4,0xAA,0xC0,\r
+0xD0,0xA6,0xEA,0xD5,0x42,0xD8,0xCF,0x2D,0xC4,0x0F,0x2D,0x25,0x1B,0x69,0xEE,0x15,\r
+0xA6,0xFD,0x47,0x38,0xAD,0xAF,0xCE,0x89,0x9F,0x3F,0xA1,0x10,0x24,0x09,0x0D,0x90,\r
+0xC0,0x43,0x81,0x52,0xB1,0xDE,0x76,0x9B,0xA4,0x30,0xCE,0xA0,0x9C,0x17,0x7E,0xED,\r
+0xB7,0x8A,0xFD,0x76,0xDB,0x04,0x85,0x4E,0x14,0x3A,0x41,0x22,0xE6,0x21,0xDA,0x0A,\r
+0xE9,0x4B,0x92,0x4C,0x63,0x77,0xF8,0x50,0x6D,0x95,0x91,0x73,0x4C,0xD3,0xEA,0x69,\r
+0x43,0xD2,0xAE,0xCF,0xF1,0x79,0x26,0x46,0x62,0x97,0xAC,0x79,0x00,0xFF,0x42,0x95,\r
+0xE1,0xE8,0xB8,0x31,0x84,0xB2,0x71,0x4B,0x08,0xF5,0xC4,0x02,0xD4,0x75,0x6B,0x35,\r
+0xAF,0xCC,0xBC,0x8C,0xBF,0xEC,0xD0,0x65,0x3D,0x29,0x5F,0x2A,0x55,0x4A,0x7B,0xE3,\r
+0xC8,0xE0,0xAB,0x2F,0xDD,0x84,0xAB,0x0F,0x5B,0xEF,0x35,0x94,0xE9,0x1A,0xB5,0xBA,\r
+0x00,0xA1,0xDF,0xB9,0x61,0x4A,0xF2,0x5F,0x7F,0x89,0xE0,0xCB,0x88,0xBA,0xBD,0xDD,\r
+0x6C,0xE1,0x44,0x58,0x6B,0xC5,0x70,0xEF,0x34,0xD2,0xEB,0x1B,0x1E,0xE2,0x0E,0x27,\r
+0x2F,0x92,0x35,0x2E,0x85,0xEF,0x67,0x8E,0xFA,0x5F,0xF4,0x61,0x33,0x6E,0xAE,0xBC,\r
+0x33,0xB2,0xFA,0xAB,0x76,0xE9,0xDE,0x38,0x3F,0x5E,0xA9,0x77,0x79,0x03,0x86,0x6E,\r
+0xA1,0x54,0x6F,0x78,0x2D,0xE2,0x0E,0x73,0x72,0xFC,0x2B,0x9C,0x6C,0x6B,0x18,0x48,\r
+0xAD,0x91,0xCB,0x7A,0x65,0xF7,0xD6,0x11,0xDD,0x9F,0x1E,0xF1,0x67,0x1E,0xCA,0xDC,\r
+0x7C,0x04,0x2F,0xDF,0x7F,0x06,0x40,0x42,0xF5,0x5D,0xC9,0x6B,0xC4,0x96,0x15,0x21,\r
+0x45,0xE9,0x57,0x46,0xB0,0x83,0x60,0x5E,0x1C,0x10,0x3C,0x81,0x91,0x23,0x2C,0x57,\r
+0xED,0x2D,0x1C,0x33,0x23,0xD0,0xA8,0x8D,0xB3,0x73,0x09,0xEC,0x25,0xCC,0x50,0x86,\r
+0xF7,0x36,0x2A,0x3F,0x3C,0xC1,0x0C,0x55,0x83,0xF0,0x24,0x30,0xE0,0x60,0x5A,0x24,\r
+0x20,0x98,0x37,0x13,0x53,0xFB,0xCD,0x0B,0xA5,0xE1,0x07,0x32,0xC3,0x12,0xC8,0x19,\r
+0x2B,0xF4,0xBB,0x51,0x31,0x93,0xB6,0x61,0x64,0x6E,0x25,0x42,0x04,0xB1,0xFF,0xB1,\r
+0x52,0xA5,0x14,0x81,0x86,0x8F,0x7B,0x44,0xB4,0x5B,0x49,0x45,0x9E,0x18,0x43,0xE7,\r
+0xBC,0xE6,0x71,0x34,0x59,0x74,0x4F,0xBB,0xB6,0x2C,0xBF,0x18,0x27,0xC3,0x6D,0x8C,\r
+0x07,0x08,0xF7,0xF9,0x0C,0x4D,0x39,0x0E,0xA3,0x18,0x8E,0x09,0x75,0xF2,0x89,0xC2,\r
+0x36,0x46,0xA5,0x1D,0x0E,0x70,0x33,0x01,0x98,0x17,0xE1,0xB9,0x8F,0x3E,0x60,0xE5,\r
+0xCD,0x14,0xF4,0x99,0x77,0xB4,0xC8,0xFD,0x2C,0x93,0x11,0x5D,0xF8,0x3C,0x96,0xB8,\r
+0xD5,0x52,0xB5,0x63,0xD6,0x56,0x3F,0x7A,0x37,0x74,0xD4,0xD4,0x13,0xD6,0x5C,0x9D,\r
+0x6A,0xDA,0xBD,0xD1,0x60,0x17,0xE4,0x9A,0xBD,0xA0,0xFD,0x74,0x94,0xA8,0xCC,0x65,\r
+0x88,0x5C,0x7C,0x66,0x39,0x21,0x3E,0xDE,0xDA,0xB7,0x5E,0x58,0x5C,0x30,0x94,0x7D,\r
+0xDC,0x63,0x4E,0xD7,0x99,0x9E,0xDF,0x9C,0xAA,0xE3,0x3A,0x38,0xC8,0x67,0x1A,0x8D,\r
+0x57,0x51,0x4B,0x37,0xE4,0xE7,0x00,0x2E,0x8A,0x0B,0x90,0x01,0x7E,0x87,0x5B,0x56,\r
+0x0A,0x5F,0x82,0x32,0x02,0x7F,0x9F,0xF0,0xFE,0xD1,0x8B,0x07,0xCC,0x29,0xA7,0xA9,\r
+0xC9,0x72,0x7A,0xE6,0x43,0x85,0xD9,0xE8,0x0C,0x7B,0xBB,0x64,0xB9,0x24,0x6C,0xFE,\r
+0x3B,0x11,0xD0,0xD6,0xB6,0x03,0x4E,0x1F,0x4C,0xAC,0xF2,0xD8,0xBE,0xA0,0xB1,0xC6,\r
+0x4D,0x4A,0x7D,0x3B,0x4F,0x8A,0x75,0x19,0x71,0x5A,0x14,0x53,0x1D,0x28,0x6E,0x3B,\r
+0xEB,0x16,0xE5,0xBA,0xF2,0x19,0x3A,0x8C,0x58,0x49,0x0A,0x5B,0x41,0xE7,0xB8,0xD3,\r
+0x80,0xFF,0x56,0x1B,0xFF,0x4B,0x80,0xB8,0xD7,0xC2,0x95,0x0F,0xB3,0x94,0xE3,0x7C,\r
+0xB0,0x23,0xD5,0x36,0x40,0xE5,0xC5,0x22,0x92,0x4A,0x6A,0x47,0x80,0x05,0x0F,0x55,\r
+0x7B,0xAD,0x07,0x9F,0x83,0x6F,0x49,0xCF,0xB9,0x2E,0x82,0x12,0x9D,0xD2,0x23,0xFB,\r
+0xFB,0xF3,0x8E,0x3D,0x3B,0x1C,0x34,0xD1,0x53,0xC5,0x48,0x37,0x1F,0x27,0x53,0x31,\r
+0xDB,0xF3,0x97,0xEE,0x1C,0x18,0xCE,0x3D,0x60,0x0A,0x19,0x0B,0x7E,0x7A,0x5D,0x98,\r
+0x42,0xCA,0x7A,0x96,0xC4,0x50,0xAC,0x28,0x02,0xD3,0xBE,0xCD,0xA3,0x20,0x31,0x0C,\r
+0x84,0x3A,0x44,0x4B,0x42,0x91,0x4E,0x9F,0x97,0x25,0xF0,0xEE,0x9E,0xB2,0x12,0x7E,\r
+0xB8,0xD2,0x3C,0xD7,0x05,0x3F,0xF2,0x12,0x50,0x69,0xB3,0xF9,0x10,0x1B,0xC0,0xB5,\r
+0x89,0xC7,0x2D,0xE3,0x0D,0x2C,0xDB,0x0C,0x2C,0xB8,0x07,0x16,0x39,0xF7,0xF3,0x24,\r
+0xC2,0x8B,0x54,0x90,0x47,0xB5,0xB8,0xD0,0x4B,0x6F,0x69,0x8D,0x95,0xF8,0xFF,0xD5,\r
+0x21,0xEB,0xD1,0xAF,0xF2,0x9E,0x75,0xF0,0x73,0x6B,0xA2,0xDF,0x00,0x5D,0x1B,0x04,\r
+0x74,0x8E,0xA0,0xCF,0x3D,0x38,0x76,0xCF,0xA2,0x48,0x93,0x41,0x91,0xC0,0x34,0x87,\r
+0x5C,0xE3,0x72,0x85,0x6E,0x86,0x29,0x3C,0x8F,0x94,0x10,0x71,0x5D,0xAB,0x6C,0x06,\r
+0xE1,0xAD,0x56,0x81,0xCF,0xBD,0x07,0x62,0x14,0xBC,0xCC,0x44,0x8B,0xBB,0xED,0x39,\r
+0x1F,0x0F,0x6C,0x97,0x98,0xC8,0x0A,0xA9,0x7C,0xC7,0xAE,0x2E,0x2B,0x92,0x39,0xB3,\r
+0x9C,0xA5,0xF5,0xAB,0x46,0x5A,0x1C,0xA7,0x41,0xCD,0xAC,0x21,0xD7,0x3A,0x75,0x9F,\r
+0xA6,0xFB,0x34,0xC4,0x3B,0xE2,0x02,0xD4,0x91,0x9C,0x03,0x58,0xB4,0x0A,0xDF,0x6D,\r
+0x82,0x8C,0xFD,0xB8,0xC8,0x88,0xD7,0x0E,0x1E,0x1E,0x09,0xE8,0x53,0xAE,0xA5,0x5B,\r
+0xE8,0xEA,0x43,0x7E,0x70,0x94,0xC5,0x7F,0x71,0xAE,0x06,0xD3,0x2E,0xDD,0x1D,0x45,\r
+0x05,0x9C,0x18,0xD3,0x71,0x7B,0x61,0x08,0xFD,0x9B,0x36,0x88,0xAB,0x3E,0x22,0x25,\r
+0x63,0xE0,0xBD,0x23,0x3A,0x0D,0xA6,0xA3,0x67,0xC1,0x74,0x5A,0x0B,0x17,0xF6,0xAF,\r
+0x34,0x89,0x09,0xE7,0x31,0xE0,0x0D,0xE9,0x7D,0xB5,0x30,0xC9,0x12,0x38,0xD1,0x93,\r
+0xF2,0x79,0x37,0x3A,0xFA,0x8D,0x5C,0xEE,0xF9,0xE7,0x61,0x32,0xC0,0x10,0x9B,0xFE,\r
+0xE0,0x4A,0x24,0x1F,0xA9,0x33,0x03,0x1D,0x8D,0x51,0xB4,0x7D,0x90,0xB7,0xDB,0x23,\r
+0x03,0x2A,0xA1,0x20,0x4B,0x6D,0xC3,0xF6,0x16,0x79,0x68,0x48,0x36,0x85,0xD5,0xDD,\r
+0xD8,0x18,0x20,0xD4,0x65,0x6B,0x82,0x76,0x2A,0x01,0xF4,0xA0,0x92,0x94,0xCA,0x05,\r
+0xD1,0x5F,0x35,0x2B,0xE4,0x9F,0xB0,0xAD,0xC6,0x28,0xC7,0x31,0x82,0xD2,0x11,0xB4,\r
+0x9E,0xA9,0x30,0x0F,0xA2,0xDE,0xA8,0x57,0xAC,0x96,0x01,0x57,0xD8,0x48,0x53,0x66,\r
+0xD5,0xE5,0x49,0x7C,0x5C,0x83,0xA2,0xDC,0x58,0x0E,0xD2,0x59,0x19,0x72,0x3C,0x38,\r
+0x2E,0x1A,0x7D,0xA3,0xAD,0xF8,0x51,0x25,0x23,0x14,0x0B,0xE7,0xD2,0x75,0x51,0x69,\r
+0xB1,0x95,0x29,0x28,0x74,0x5F,0x97,0x47,0x70,0xDC,0x98,0x34,0xF3,0x87,0x71,0xD1,\r
+0x26,0xBA,0x1A,0xC2,0x4E,0x49,0x35,0xB9,0x90,0xEE,0x9D,0xBF,0x11,0x6C,0x2F,0x11,\r
+0xA5,0x10,0x83,0xFE,0xFF,0xA9,0xAA,0xA1,0x4A,0x1D,0xF7,0x6A,0xE0,0x95,0x54,0xE2,\r
+0x66,0xBD,0xB3,0xEA,0xD4,0x8B,0x1D,0x6E,0x78,0xBB,0xF9,0x94,0x03,0x09,0xE5,0x86,\r
+0x0B,0x8A,0xC6,0x41,0x27,0xE1,0xC8,0xB4,0xFA,0x50,0x5B,0xD9,0xD6,0x4D,0x9A,0x3B,\r
+0x13,0x15,0x77,0xA1,0x55,0x7F,0x2F,0xB5,0x4C,0xA4,0x04,0xDC,0x7F,0x0D,0xB2,0x3C,\r
+0xE2,0x46,0xE1,0xBB,0x21,0x3B,0xBC,0xAF,0x5B,0xB9,0xE8,0xB2,0x17,0x77,0xF5,0x65,\r
+0xE7,0x1B,0xEF,0x72,0xBE,0xDD,0x62,0x37,0x40,0xBF,0x32,0xC6,0xE8,0x8B,0x47,0xCB,\r
+0x07,0x90,0xDD,0x77,0x61,0xA0,0xD0,0x4E,0xEA,0x86,0xDA,0xE6,0x33,0xCA,0xF1,0x2B,\r
+0xB6,0xC4,0xE2,0x45,0x80,0x00,0x92,0xF1,0x8E,0xE6,0x8E,0x96,0xC3,0x44,0x65,0x7C,\r
+0x01,0x26,0x64,0x84,0x5A,0x59,0xD6,0xC7,0x2D,0xCA,0x99,0xF1,0xDB,0x1C,0xAD,0xE4,\r
+0xB3,0x99,0xEC,0x8C,0x81,0xEF,0x36,0x86,0x04,0x6A,0x4D,0x7B,0x23,0x8C,0x2A,0x9A,\r
+0x49,0x81,0xAA,0xCD,0x76,0x4E,0xB1,0x64,0xC1,0xE3,0xAA,0x60,0x06,0x46,0xC1,0x70,\r
+0xCD,0x7A,0xF8,0x9C,0x8D,0x37,0x4D,0xA0,0x31,0x07,0x2E,0xD4,0x5B,0xB0,0xB6,0x72,\r
+0xED,0xB7,0x4D,0xB7,0x8A,0x02,0x9D,0xCC,0x98,0x89,0xFC,0x1F,0x8F,0x83,0x26,0x6B,\r
+0x4F,0x37,0x13,0x3E,0xF7,0xBA,0x83,0xBF,0x52,0xAC,0x17,0xF5,0x45,0xF3,0xA4,0x9E,\r
+0xE6,0xFC,0x9D,0xEC,0x7B,0x79,0x6E,0x35,0xBA,0xF9,0x73,0xDE,0xEB,0xDF,0xB9,0x49,\r
+0xCB,0xCC,0x41,0x6F,0x3E,0xC6,0xF4,0x9B,0x45,0xB1,0xFB,0x9B,0xC2,0x33,0x8A,0xD8,\r
+0x6A,0xA7,0xA8,0xDC,0x84,0xCB,0xC0,0xC9,0xDA,0xE5,0x70,0x14,0x6D,0x68,0x78,0xAB,\r
+0xEB,0x01,0xF4,0x44,0xCB,0x76,0x55,0x5A,0xC4,0xED,0x63,0x3D,0x85,0xBE,0x24,0x64,\r
+0x06,0x77,0xAF,0xE9,0xF0,0x8F,0x53,0xD3,0x22,0x66,0x95,0x00,0x78,0x61,0x87,0xEC,\r
+0x36,0x85,0xCC,0x43,0x67,0x7A,0xA4,0x55,0x6B,0xDA,0x42,0x40,0x40,0xBC,0x80,0x68,\r
+0x0F,0x30,0xBA,0x16,0xFE,0x46,0x0E,0xD6,0x19,0xD5,0x64,0xB9,0x9F,0xC5,0xFD,0xDA,\r
+0xAA,0xE1,0x2F,0xF2,0x68,0x5C,0x5D,0x27,0xCE,0x4F,0xA6,0x91,0x62,0x1A,0x5E,0x52,\r
+0xA8,0xED,0xEA,0x56,0xB0,0x14,0x3F,0x32,0xFB,0x22,0xC5,0x3E,0xF6,0xC8,0x55,0x27,\r
+0x7B,0x7F,0x0C,0xC3,0x60,0x4F,0x74,0x39,0x79,0xC9,0x67,0x73,0xD0,0x56,0x40,0x4F,\r
+0xFE,0x63,0x2C,0x0C,0xD9,0xBC,0xC2,0x3F,0x24,0xDF,0x66,0xB6,0x02,0x7E,0x0A,0x22,\r
+0x88,0x20,0x5F,0x7D,0xCE,0x52,0xA3,0x15,0x3B,0xA5,0xEB,0x78,0x99,0xDE,0x27,0xAE,\r
+0x69,0x4C,0x1F,0xE6,0x4C,0x58,0x13,0x9A,0x30,0x75,0xB0,0x33,0x63,0x6D,0xB1,0xF6,\r
+0xFF,0x84,0x5E,0x92,0x15,0xE4,0x43,0x54,0xE5,0x2A,0xD6,0x17,0x04,0x65,0xD0,0x56,\r
+0x29,0x4B,0xB6,0xCE,0x87,0x35,0x42,0x9D,0x5E,0xB7,0x21,0xEF,0x7C,0x59,0x4C,0xBE,\r
+0xE4,0xF0,0x58,0x48,0xF1,0x60,0xF7,0xA4,0x6F,0xA6,0x15,0xFA,0x32,0xBD,0x1E,0x8F,\r
+0x51,0x1E,0x1B,0x2D,0xC5,0xBF,0x08,0x5F,0x99,0xFB,0x62,0xF8,0x59,0x93,0xA7,0x54,\r
+0x81,0x67,0x4A,0x82,0x08,0x08,0x2D,0x43,0xF5,0xFC,0x57,0x28,0x0F,0x2F,0x3D,0xFD,\r
+0xC3,0x6C,0x26,0x0E,0x73,0x6A,0x47,0x2B,0xD7,0x8C,0xD8,0xE9,0xA7,0x18,0xFA,0x5E,\r
+0xEF,0xBB,0x88,0x13,0xB2,0x05,0x19,0x11,0xF4,0x8E,0xC9,0xCF,0x9A,0x8A,0xD9,0x2C,\r
+0xE3,0xA1,0x93,0x25,0x16,0x1A,0xC1,0x00,0xD9,0x52,0x4A,0xFF,0x38,0x80,0x1C,0x80,\r
+0x96,0x09,0x57,0x6E,0xDE,0x89,0x12,0x53,0xEC,0x3F,0x29,0x50,0xE9,0xFC,0xA8,0x6F,\r
+0x72,0xF6,0x68,0x8B,0xA9,0xE4,0xA8,0x48,0x1F,0x1D,0x20,0xC1,0x90,0xE2,0x0C,0x88,\r
+0x06,0xB9,0xDE,0x5E,0xF9,0xA4,0x75,0xEF,0x0D,0x0E,0x05,0xF2,0xC3,0x11,0xB2,0xD7,\r
+0x82,0x42,0x8C,0x0F,0x2B,0xEE,0x18,0xC7,0xCB,0x30,0xD8,0x02,0x08,0x16,0xDF,0x86,\r
+0x98,0xD1,0xF8,0x4B,0x32,0xC9,0x24,0xE8,0x9C,0x84,0x1C,0x6B,0x03,0x5C,0x32,0x2D,\r
+0x53,0xDC,0xAF,0x3E,0xE1,0x6C,0xED,0xB7,0x61,0x09,0x30,0x22,0x9B,0xA8,0xE1,0x23,\r
+0x39,0xBA,0x11,0xF8,0xBB,0x2E,0x3F,0x2D,0x2E,0x0C,0x14,0xD4,0xDD,0x52,0xA0,0x3B,\r
+0xD5,0x2B,0x38,0xCB,0xAB,0xF5,0x8E,0x6B,0x27,0x19,0xEB,0x93,0x5C,0x89,0x54,0x09,\r
+0xE9,0xC3,0x40,0x57,0x0F,0xEA,0x56,0x7A,0xFC,0x98,0x1F,0xA1,0x72,0x09,0x52,0x48,\r
+0x6F,0x34,0xD7,0xA2,0x28,0x10,0x9A,0x93,0xD9,0x23,0xFD,0x31,0x77,0x46,0x76,0xBE,\r
+0x8F,0xBF,0xE5,0xA7,0xCA,0x4E,0x5A,0x78,0x4E,0x10,0x17,0x1E,0x4D,0xB8,0x60,0x1C,\r
+0xDC,0x6C,0x2D,0x34,0xEB,0x6E,0xE2,0x8A,0xD1,0x44,0x9C,0x91,0x94,0xDA,0xC7,0xDA,\r
+0xA7,0xD2,0x37,0xED,0x20,0x03,0xB3,0x8D,0x2A,0x70,0x43,0x6E,0x65,0x23,0xBC,0x29,\r
+0xB3,0x57,0x9D,0x3B,0x46,0x8D,0xB7,0xF2,0xEC,0x4E,0x9E,0x9E,0x6C,0x4A,0x40,0xA4,\r
+0x05,0x52,0x69,0x64,0xEF,0xA5,0xB0,0xB2,0xF4,0xFF,0x7E,0x01,0x1E,0x4B,0xDE,0x43,\r
+0x87,0x1F,0x82,0xC6,0x3A,0xDA,0x0D,0xF6,0x99,0x8A,0xD5,0x36,0xED,0x91,0xB4,0x96,\r
+0xB5,0xE1,0x24,0xC8,0xD9,0x6B,0x69,0x6A,0x5A,0xBA,0xC1,0x9B,0xC6,0x5E,0x96,0x21,\r
+0xAF,0x72,0x50,0x8C,0x29,0xFF,0x3E,0xE4,0x47,0x05,0xE8,0x59,0x3C,0xED,0x00,0x79,\r
+0x68,0x65,0x1C,0xCF,0xA7,0x2D,0xF5,0x4D,0x7B,0x7D,0x74,0xB1,0x7B,0x60,0xAE,0xC5,\r
+0xFD,0x46,0xEA,0x81,0x9A,0x0E,0x87,0xDF,0xBD,0x43,0xA9,0x41,0xFD,0xD7,0x6F,0x27,\r
+0x9F,0x80,0x33,0x26,0x47,0x62,0x13,0x85,0x24,0xAE,0xD1,0x78,0x25,0xC2,0x27,0x45,\r
+0x5D,0xCA,0x71,0xAC,0xA8,0x0B,0x0C,0x3F,0x8B,0x99,0xF0,0x05,0x04,0x30,0x07,0xFD,\r
+0x8C,0x54,0x52,0x9D,0x39,0x24,0x8F,0xA2,0xDE,0xE8,0x90,0x60,0xCB,0x0F,0xA1,0xFE,\r
+0xB4,0x06,0x56,0x56,0xAC,0xC0,0x5E,0x07,0x3D,0x6D,0xAF,0x00,0x7E,0x2F,0x8A,0x33,\r
+0xD3,0x9D,0x81,0x38,0x00,0xCC,0xAF,0x08,0x76,0x14,0xDC,0x4C,0x34,0xF3,0x13,0x50,\r
+0xBE,0xAA,0xF4,0x93,0xEE,0x4A,0x14,0xC5,0x63,0xCC,0x94,0x2E,0x7F,0x58,0x65,0x97,\r
+0x83,0xA5,0xFE,0x91,0x12,0x06,0x38,0x6D,0xE0,0x55,0xA8,0x84,0xA1,0x56,0xF7,0x81,\r
+0xEB,0xCF,0x85,0xF3,0xB2,0xD2,0xB2,0x44,0x1E,0x6F,0xBE,0x26,0xF6,0x9D,0x82,0x8C,\r
+0x70,0xFA,0xAD,0x2F,0x64,0x53,0x8D,0x54,0xA3,0x4B,0xBA,0x68,0x57,0xC3,0xB9,0xA2,\r
+0x02,0x03,0xA2,0x09,0x92,0x1D,0xAE,0xC1,0xFA,0x21,0xEC,0x17,0x48,0xF7,0x44,0xEA,\r
+0x8E,0x58,0x97,0x39,0x17,0x22,0xCE,0x22,0x17,0x7A,0x41,0x61,0x49,0x80,0xAB,0x4E,\r
+0xE1,0x63,0x27,0x36,0x6A,0x9A,0xD0,0x51,0x7D,0xC4,0x87,0x07,0xF1,0xF1,0xB7,0x5C,\r
+0x6E,0xD3,0xA5,0x3C,0x8D,0xE0,0xE6,0xF5,0x59,0x0D,0xFB,0x70,0x02,0x2B,0xDD,0x89,\r
+0x86,0xF8,0xF0,0x58,0xE9,0x7F,0xC4,0xA9,0x84,0x35,0xFC,0xF4,0x59,0xC6,0x70,0xFF,\r
+0x04,0xB5,0x1B,0xFA,0xCF,0x6A,0xAC,0x37,0x57,0xD3,0x69,0x66,0x89,0xCD,0x2B,0xB4,\r
+0x31,0x1A,0x76,0x99,0x5B,0x61,0xD9,0xE5,0x55,0x16,0xCD,0x6A,0x51,0xD8,0x63,0xD6,\r
+0xE6,0x32,0xEC,0x5B,0xA6,0xC2,0x51,0x3A,0xF0,0x83,0x29,0xBB,0xC7,0x29,0x79,0x85,\r
+0x1A,0x9C,0x13,0xE9,0x3D,0xEF,0xDD,0x9A,0x00,0x67,0xAD,0x0F,0x2C,0xAB,0xDB,0xC8,\r
+0xCF,0xB8,0x4C,0x8F,0x5A,0x8E,0x7D,0x92,0x96,0x26,0xD9,0xC7,0x75,0x65,0x67,0x98,\r
+0xC4,0xF3,0x9C,0xD4,0xA0,0x18,0x25,0x21,0x77,0x66,0x42,0xAB,0xF7,0xEA,0x6D,0x28,\r
+0xDB,0x3D,0xE6,0x59,0x3B,0x35,0xA9,0x81,0x01,0x15,0x33,0xE8,0xE0,0xC0,0x83,0x49,\r
+0x0A,0xA3,0xC5,0x68,0x36,0x02,0x76,0xD0,0x7E,0x73,0xBD,0xEC,0x31,0xBC,0x37,0xA6,\r
+0x66,0x73,0xC2,0x5D,0x60,0x98,0xDF,0x6C,0xAE,0x22,0x12,0x95,0xFC,0xA0,0x80,0x83,\r
+0x90,0x71,0x9F,0x2A,0x0B,0x21,0x04,0x42,0x1B,0x61,0x77,0x7B,0xC8,0x5B,0x5F,0x7C,\r
+0xA1,0x64,0x8E,0x1E,0x45,0x73,0x35,0xA6,0xD6,0x8F,0xF1,0xC0,0xBE,0x62,0x0A,0xC9,\r
+0x13,0xDB,0x06,0x16,0xD0,0x97,0xE4,0x03,0x69,0x6E,0x51,0x82,0xE7,0xAC,0xB6,0x99,\r
+0x26,0x74,0x6B,0x75,0x01,0x23,0x0B,0x7F,0x1C,0xAA,0x1A,0x2A,0x2F,0xFF,0x25,0x4A,\r
+0x0B,0x44,0xB7,0xF6,0xA3,0xE6,0xA7,0x75,0x10,0xB1,0x2C,0x30,0x8B,0xEE,0x3A,0x92,\r
+0x28,0x62,0xB5,0xE7,0x9E,0xC5,0xD5,0xE7,0x3C,0x1F,0x31,0xE7,0x4A,0xD4,0x55,0xCC,\r
+0x71,0x1D,0xDF,0xB1,0xFA,0x5A,0xF7,0xBB,0x49,0xDB,0x7A,0x4F,0xB9,0x0E,0x3F,0x19,\r
+0x15,0x6D,0xBF,0xE5,0x0A,0xCE,0xA0,0x35,0xF8,0xE4,0x48,0x1B,0x58,0xB1,0x9F,0x5B,\r
+0xBF,0x4D,0x86,0x0D,0xD1,0x78,0x40,0x74,0x18,0xD6,0x4D,0x90,0x87,0xC8,0xE2,0xE9,\r
+0xA4,0x39,0x80,0xD7,0x2E,0xCA,0xEE,0x88,0x1D,0xD8,0x84,0xCD,0x18,0x50,0x04,0x37,\r
+0xCE,0x5F,0x3E,0x11,0x62,0x89,0xF9,0x4F,0x32,0xC1,0xA3,0xF1,0xB4,0x5F,0x08,0xC6,\r
+0x3E,0xEB,0xDA,0x95,0x3F,0xFE,0xFB,0xB9,0xB6,0x93,0xF2,0x0A,0x4F,0x9B,0x71,0x3A,\r
+0xFB,0xF0,0x53,0x72,0x1A,0x15,0x11,0x73,0x4C,0xD5,0xB3,0x12,0xB8,0x79,0xD0,0xBD,\r
+0xD2,0x7A,0xF3,0xA6,0xE2,0x92,0x6F,0xE3,0xFE,0x5D,0xBB,0xAD,0x63,0x38,0x66,0x5D,\r
+0xBA,0x10,0x88,0xC4,0xFB,0xB5,0x53,0xCC,0x34,0x78,0x50,0x47,0x07,0x64,0xF9,0x7F,\r
+0x45,0x55,0xC0,0x4C,0xD2,0x86,0xC2,0x20,0x19,0xA4,0xD3,0x77,0x42,0xCA,0x46,0xE5,\r
+0xAD,0x7E,0x95,0x28,0x7C,0x9B,0x15,0x0C,0xB0,0x2A,0x01,0xBC,0xCE,0x40,0x85,0x08,\r
+0x67,0x94,0xB0,0xC3,0xB6,0x19,0xE0,0x7C,0x12,0x74,0x88,0x3C,0xB3,0x33,0x3D,0x16,\r
+0x94,0xCB,0xE3,0x7D,0x79,0xBF,0xE3,0x43,0xC9,0xF5,0x7C,0x0E,0x5E,0xAA,0x45,0x2F,\r
+0xDD,0x8B,0x5F,0xAA,0x41,0xB8,0x67,0x9E,0xF9,0x96,0xD6,0xFC,0xC9,0x2C,0xB0,0xD8,\r
+0x3B,0xB6,0xD4,0x5C,0xBC,0x1B,0xEF,0x41,0x14,0xCD,0x7B,0x8A,0xF2,0xA5,0x49,0xDE,\r
+0x25,0x9F,0xDC,0x4F,0x54,0x47,0x20,0x97,0x95,0x91,0xE3,0x2C,0xBD,0x36,0xF4,0x4B,\r
+0xA6,0xF9,0xF2,0x30,0xFB,0x77,0x06,0xB3,0xE3,0x5C,0xAA,0x46,0x76,0xF4,0xCB,0xA8,\r
+0x57,0x82,0x0B,0xC3,0x00,0x88,0xD9,0x87,0x28,0x5B,0xFB,0x2B,0x0D,0xEE,0x75,0x71,\r
+0x8E,0x25,0x69,0x05,0x9F,0x07,0x52,0xD3,0x09,0xA9,0x43,0x0B,0x5E,0x26,0xA6,0xE2,\r
+0xB4,0x33,0x97,0xA7,0x08,0x28,0xB8,0xE0,0xEB,0x42,0x83,0x55,0xBE,0x14,0x2D,0xE7,\r
+0x05,0xD3,0x8F,0x38,0x8B,0x82,0x84,0x79,0x1A,0xBB,0x70,0x2E,0x64,0xE7,0xF8,0x8D,\r
+0x2E,0xF1,0x40,0x8F,0x48,0x2F,0x90,0x49,0xF9,0x27,0x14,0x9F,0x56,0x41,0x06,0x83,\r
+0xDD,0x9B,0x9A,0x5A,0x25,0x18,0x3B,0x3C,0x2C,0x63,0xA9,0xE0,0xD4,0xAA,0x4B,0x21,\r
+0xAF,0x05,0x9B,0xBD,0x3D,0x87,0xDB,0x8D,0x85,0x23,0xAE,0xC8,0x62,0x5E,0x4E,0x7E,\r
+0xC0,0x77,0x8D,0x34,0x4D,0x72,0x59,0x47,0xF1,0x39,0x3D,0x8C,0x49,0x3B,0xC8,0x0E,\r
+0xCB,0x9A,0xC7,0x9F,0x1A,0x1B,0x9D,0xF3,0xE8,0x16,0x01,0xAB,0x53,0x4F,0x5B,0x4A,\r
+0x00,0xF7,0xC0,0xCE,0xDC,0xEB,0x40,0xCD,0x3A,0x3E,0x6C,0xE1,0xD7,0x1D,0xA0,0x1B,\r
+0x53,0x49,0x33,0x91,0xCE,0xD8,0x65,0xDE,0x6A,0x99,0xB1,0xA1,0xA3,0xAB,0xEF,0xCE,\r
+0xB1,0x17,0xD8,0x51,0x2D,0xB8,0x5A,0x5B,0xCC,0xAB,0x4F,0xAF,0x38,0x83,0xDA,0x12,\r
+0x9F,0x11,0x58,0x10,0xF6,0x8A,0xAE,0xDA,0x68,0xBA,0x97,0xB0,0x04,0xFB,0x32,0x8E,\r
+0x1E,0xE5,0x83,0x22,0xFF,0xCD,0x51,0xCF,0x78,0xFC,0x26,0x6B,0xE8,0xD2,0xA3,0xBD,\r
+0x58,0xA4,0x79,0x3A,0xB0,0x3B,0x75,0xCA,0x22,0x66,0xF4,0x29,0x82,0x6C,0xC5,0x7B,\r
+0x94,0xFC,0x12,0xBB,0x72,0x71,0xFF,0x88,0xA7,0x85,0x94,0x16,0xA1,0x6E,0xE3,0x6A,\r
+0x35,0xC7,0x4C,0x95,0xCF,0x3F,0xFB,0xAC,0x71,0x95,0xAB,0x97,0x3A,0x46,0xD6,0xB6,\r
+0x62,0xB2,0x87,0x98,0x31,0x9D,0xED,0x96,0xD1,0xBC,0x21,0x43,0x52,0x3D,0xBC,0xD4,\r
+0xBC,0x20,0x89,0x8E,0xB2,0x37,0xD1,0x0F,0x2D,0x14,0x0D,0x0F,0x6F,0x37,0xB3,0xD6,\r
+0xC1,0x98,0xFA,0x90,0x88,0x69,0xBE,0xCE,0x4E,0x24,0xFF,0xA5,0xBF,0x66,0xCA,0x79,\r
+0x32,0xF2,0x20,0x45,0xAC,0x1E,0xC2,0x07,0xA9,0x80,0xC9,0xDF,0x30,0xE4,0x7A,0x73,\r
+0x8A,0xEE,0x51,0x57,0xC6,0x78,0x04,0xB9,0xD4,0xF3,0xD7,0x67,0x5F,0x54,0x41,0x7C,\r
+0x8B,0x01,0x26,0xF3,0x2B,0x0E,0xA9,0xE2,0x51,0x10,0xB7,0x58,0xD3,0x61,0x1A,0x4C,\r
+0xE6,0x62,0x13,0x5C,0xF5,0x61,0x94,0x6D,0x84,0x54,0x0A,0x27,0x4E,0xF0,0x99,0x63,\r
+0x3E,0x2A,0x06,0x3E,0x6C,0x58,0xEC,0x80,0x59,0x0E,0x9E,0x4B,0x2C,0x29,0x5F,0xC4,\r
+0xB8,0xEB,0xB1,0xDC,0xAA,0xA8,0x31,0xBE,0x64,0x9C,0xEC,0x68,0xB9,0xDF,0x7C,0x8A,\r
+0xFF,0x45,0x3C,0x60,0x96,0x40,0xAD,0xC6,0xEA,0x35,0x27,0xBA,0x7E,0x93,0x6B,0xC9,\r
+0xF7,0x56,0x22,0x49,0xA7,0x55,0x99,0xD7,0xC3,0xD9,0xB6,0x89,0x02,0x42,0x84,0x7D,\r
+0xBD,0xCF,0xFE,0x2A,0xEC,0x19,0xEA,0xAE,0x6F,0xD6,0x47,0x85,0x65,0x95,0x1F,0x13,\r
+0x08,0xE4,0xDE,0xE7,0x0F,0x79,0xD5,0x2B,0xFA,0x73,0x96,0x61,0x5D,0x91,0x4D,0xD8,\r
+0xC7,0x42,0xE1,0xE4,0x5A,0x1C,0xB5,0x5A,0x6B,0xEE,0x15,0x4E,0x8C,0xB2,0xD3,0xE9,\r
+0x7D,0x4F,0xB3,0xD0,0x07,0xD9,0xB4,0x4C,0x86,0x77,0x2C,0x36,0x70,0x4D,0x7D,0x5B,\r
+0x0B,0x1A,0x8A,0x65,0xCA,0x62,0x32,0xA2,0xC8,0x93,0x1D,0x64,0x41,0x5C,0x68,0x6F,\r
+0x3F,0xC5,0x71,0x9A,0x7F,0x8C,0x57,0xE1,0xA3,0xBD,0xC6,0xDD,0xB7,0x01,0x6A,0x18,\r
+0xF2,0x72,0x6D,0xBF,0xAF,0xF5,0xF8,0xB0,0xF5,0x01,0x6F,0x47,0xDB,0x06,0xBA,0x2D,\r
+0x89,0x10,0x05,0xD5,0xED,0xFE,0x74,0xDC,0x5D,0x36,0xCC,0x80,0xF9,0x76,0x7B,0xA2,\r
+0x48,0x7F,0x3F,0x8B,0xC1,0x29,0x69,0x72,0x60,0xA4,0xBE,0xA3,0xDA,0x74,0x5D,0xB3,\r
+0xEC,0x60,0x2E,0x53,0xCD,0x33,0x5F,0x69,0xC2,0xAE,0x12,0x66,0xF7,0xA8,0x6D,0x30,\r
+0x24,0xF3,0x7D,0x80,0xB8,0x9B,0x14,0xAD,0x13,0xD2,0xFD,0xD2,0xC2,0xC5,0xC2,0x53,\r
+0x04,0x3C,0xF8,0x9C,0x21,0xA2,0x6C,0x40,0x65,0xEB,0x48,0x87,0x37,0x2F,0x2B,0x1E,\r
+0x92,0x26,0x09,0xCF,0x84,0x73,0x88,0xD5,0x98,0x34,0xC0,0x24,0xE0,0xB5,0x03,0xDC,\r
+0x4A,0x6E,0x1C,0xAD,0x86,0x7F,0x2C,0x10,0x0C,0xE6,0xB5,0x2F,0xD5,0xD8,0xAC,0xBF,\r
+0x9A,0x35,0x17,0xE6,0x55,0xED,0xB9,0xF6,0x2A,0x78,0xDD,0x3A,0x57,0x33,0xE1,0x1D,\r
+0x23,0xC6,0x11,0x50,0xD0,0xF1,0x76,0xD6,0xF8,0x50,0xB0,0x70,0x0A,0x25,0x24,0x1C,\r
+0x34,0x28,0x3B,0x31,0xA6,0xB2,0x07,0xA5,0x63,0xF0,0x3C,0x5D,0x15,0x5F,0xEA,0x91,\r
+0xB6,0x22,0xB4,0x81,0x47,0xDE,0x9C,0xE5,0x99,0x43,0x64,0xCB,0x1E,0x8F,0xA1,0xCA,\r
+0xEF,0x9E,0x7A,0xD1,0xD1,0x16,0xE8,0xA4,0xFE,0x4B,0xC4,0xAA,0xCB,0xD0,0x85,0xAC,\r
+0x70,0x78,0xE2,0x0F,0xC3,0x25,0xCD,0xB7,0x75,0xAD,0xF9,0x5C,0xB6,0x73,0x8D,0x86,\r
+0x0D,0xC0,0x91,0x11,0x61,0xA5,0x44,0xE9,0xBF,0xDD,0x0C,0xDE,0x7C,0x56,0x67,0x6D,\r
+0x81,0x03,0x1B,0xFC,0xC8,0x6E,0x96,0x67,0x11,0xF1,0xDB,0xC3,0x94,0x03,0x4C,0x09,\r
+0xC4,0xBC,0xB5,0x66,0xE5,0x5E,0x15,0xBB,0x38,0x1D,0x4A,0xF0,0x6B,0x4B,0x09,0x81,\r
+0x7E,0xB1,0xE7,0x52,0x44,0x35,0xA6,0x52,0x97,0x46,0x39,0x02,0xF4,0x1F,0x86,0x0A,\r
+0x31,0x0C,0x74,0xC7,0xC5,0x93,0x3E,0x0E,0x7F,0x90,0xF6,0x5E,0xEA,0x17,0xAF,0x19,\r
+0x0A,0xF5,0xFD,0xC1,0x28,0xE5,0x93,0x55,0x82,0x4F,0x7E,0xFD,0x0C,0x9C,0x92,0xEF,\r
+0x9D,0x00,0x7B,0x36,0x18,0x17,0x39,0x36,0xBA,0x92,0xFA,0xFA,0x45,0x20,0xD2,0x38,\r
+0xDB,0x41,0x81,0x2E,0xCC,0xD4,0xC1,0x1B,0xED,0x59,0xF7,0x8F,0x75,0x43,0x20,0x92,\r
+0x44,0xA7,0x19,0xF0,0xC9,0x89,0x08,0x15,0x12,0xA5,0x59,0x3D,0x6E,0x45,0x54,0x48,\r
+0x9B,0xDA,0x60,0x42,0x29,0x02,0x0D,0x27,0xC9,0xE4,0xB9,0x8B,0xC4,0x7C,0x74,0xA0,\r
+0x7A,0x7A,0xDF,0x00,0x98,0x56,0x3F,0x18,0x39,0x6A,0xEE,0x1F,0xA0,0x1C,0x04,0xF4,\r
+0xA0,0x23,0xE9,0x44,0x2F,0xB4,0xFE,0x9E,0x21,0x32,0x76,0xD7,0x03,0x30,0x63,0xE3,\r
+0x7B,0x95,0xA8,0xA4,0x9D,0x0B,0xF6,0x16,0xD9,0xA2,0x08,0x50,0x2A,0x90,0xE9,0x37,\r
+0x8C,0x34,0x4A,0x23,0x67,0x13,0xB7,0x50,0xFC,0x68,0xE2,0xBB,0xEF,0x19,0xF2,0xD0,\r
+0x77,0x4D,0x8E,0xDF,0xE3,0xE8,0xE6,0x02,0xA1,0x9E,0xE0,0xCC,0x1F,0xFD,0x46,0x54,\r
+0xC5,0xC3,0x01,0x1D,0x82,0xB7,0xFF,0x5C,0x2F,0xF4,0xF4,0x8E,0x5B,0x18,0x89,0xAF,\r
+0xE1,0xC7,0xBC,0x53,0xDC,0x99,0xC4,0xFD,0x07,0x6F,0xC1,0x52,0x4B,0xCE,0xB6,0x2E,\r
+0x66,0xE9,0x7C,0x15,0x47,0xAC,0x18,0xD5,0x5E,0xA1,0x91,0xEE,0xDA,0x44,0x2F,0x37,\r
+0xFF,0xD5,0xFF,0xBF,0x49,0xBA,0x8A,0x0B,0x54,0x9C,0x9E,0xEC,0x72,0xB8,0x03,0x7B,\r
+0x6E,0xFA,0x62,0x3C,0xEE,0x67,0xCA,0x5B,0x8D,0xFE,0x58,0x4B,0x4E,0xC0,0xEB,0xE7,\r
+0xA7,0x86,0x46,0x4B,0x34,0xB2,0xA0,0xA8,0x0F,0x71,0xE8,0x41,0xEA,0x27,0xDD,0x9D,\r
+0x8B,0x91,0xE5,0x2C,0xE8,0xD1,0x39,0xE2,0x08,0x1D,0x38,0x74,0xDE,0x38,0x95,0x60,\r
+0xD0,0x3C,0x08,0x5A,0x9F,0x75,0xD6,0xE3,0x3D,0x91,0x63,0x44,0x3D,0xBD,0xF5,0x5F,\r
+0xE9,0xD4,0xA2,0x7A,0xC8,0x1C,0x12,0x57,0x40,0xE2,0x7D,0xFC,0xC0,0x30,0xBC,0x73,\r
+0x04,0xAC,0x3B,0x43,0xDD,0x7E,0x5A,0x8F,0x99,0x80,0xBB,0x5B,0x9A,0xED,0x28,0x1F,\r
+0xAF,0x95,0x58,0x62,0xF2,0x42,0x7D,0x96,0xFA,0xB0,0x49,0xF1,0xFB,0x83,0x05,0x82,\r
+0xD7,0x09,0x64,0x8A,0x7F,0xFE,0xD3,0xD1,0xB6,0x77,0x5E,0xB2,0x52,0x0D,0xCE,0x50,\r
+0xC7,0xD2,0x22,0x3B,0x30,0x08,0xF7,0xD4,0xFC,0xAB,0x3D,0x2B,0x18,0x06,0x65,0xBD,\r
+0xBE,0xA1,0x69,0x77,0xEC,0x6B,0x6E,0x9E,0x2B,0xCC,0xA6,0x45,0x17,0xAA,0x94,0xB1,\r
+0x33,0x8D,0x94,0x3E,0x2F,0xC6,0x7A,0xAE,0xDB,0x42,0xF1,0xD1,0x20,0x02,0x37,0x76,\r
+0x42,0xED,0xC1,0x5B,0x10,0xC5,0xDC,0x61,0xF8,0x93,0x6F,0xE0,0xBD,0x93,0xB4,0x59,\r
+0xEE,0xE1,0xCE,0xAA,0xC5,0xE1,0xBA,0x3E,0x87,0xC3,0x57,0x49,0x95,0x41,0xD9,0x13,\r
+0xDA,0x3E,0x35,0x55,0x3C,0x12,0xC1,0xCF,0x9D,0xB8,0xE9,0x90,0x92,0x8A,0x88,0x7E,\r
+0x89,0x80,0xC6,0x0A,0x59,0x85,0x0B,0xDD,0x7D,0x70,0x0F,0xDF,0x8C,0x82,0xA1,0x6D,\r
+0xBA,0x6A,0x51,0x25,0xA7,0x27,0x1D,0xE7,0x4F,0x90,0x84,0xDA,0x67,0x60,0x61,0x33,\r
+0x20,0xA8,0x86,0x0D,0x8E,0xAD,0xC9,0x47,0x28,0x98,0x24,0xBB,0xE9,0x90,0x36,0xA7,\r
+0x10,0xBC,0x45,0xA0,0x41,0x1A,0xEB,0x6C,0x8E,0xAA,0xDA,0xB5,0x75,0x73,0x52,0x16,\r
+0xE4,0xE3,0xF3,0xA5,0x55,0x9F,0x3D,0xC6,0x37,0xAC,0x6C,0x46,0xED,0xEC,0x8C,0xF0,\r
+0x55,0x03,0xEB,0x3A,0x54,0x78,0xA3,0xB4,0xC3,0x1A,0x69,0x19,0xAD,0x45,0x8B,0xD8,\r
+0x9A,0xA5,0xD4,0x39,0x09,0xBD,0xA2,0xA2,0x26,0x9D,0x79,0x72,0xD8,0x81,0x23,0x93,\r
+0x2E,0x61,0x83,0x50,0x43,0x16,0x4F,0xA9,0x52,0x87,0xEA,0x36,0xF7,0x98,0x1F,0xB4,\r
+0xB7,0x5D,0x00,0xFA,0xFD,0xB3,0x71,0x3A,0xC2,0x6D,0xCD,0xF6,0x57,0x03,0x93,0x99,\r
+0xA4,0x78,0x12,0xC9,0x0E,0xEC,0xCF,0x69,0x74,0x19,0x82,0x23,0xF0,0x53,0x4E,0xD9,\r
+0xB3,0x96,0x38,0xA8,0x96,0x32,0x29,0xF6,0x92,0xCA,0x10,0xB6,0x74,0x01,0xB5,0x88,\r
+0x32,0x62,0xE3,0x9A,0x16,0x73,0x2F,0xD8,0xEA,0xF6,0xF8,0x2A,0x65,0xA5,0x6D,0x97,\r
+0xA3,0x4D,0x7E,0x19,0xB7,0x18,0x9C,0x31,0x05,0x4C,0xE7,0x43,0xA8,0x4B,0xD6,0x11,\r
+0xA6,0x69,0x31,0xEF,0x4D,0x00,0xDD,0x77,0xBB,0x26,0x81,0x85,0x32,0x11,0x04,0x53,\r
+0x80,0x7C,0xAF,0x87,0x5F,0x33,0xF8,0x64,0x3F,0xB2,0x45,0x55,0x13,0xD6,0x2E,0xE6,\r
+0xDE,0xF5,0x0D,0x07,0x2C,0x2D,0x40,0x19,0x1A,0x78,0xAF,0xBE,0x63,0x1C,0xDB,0x64,\r
+0xD2,0x2D,0x2B,0x7C,0x7B,0x44,0x84,0xAD,0x22,0xA5,0x2B,0xB9,0xD3,0x51,0x68,0xC8,\r
+0x0E,0xAE,0x06,0x4C,0xD5,0xDE,0x3B,0xE8,0x6A,0x5A,0x6E,0x31,0x3F,0x78,0xF9,0xFB,\r
+0x67,0x06,0x0B,0xB1,0xBA,0xE5,0x34,0x58,0x7E,0x24,0x8D,0x21,0x5E,0x16,0xD4,0x66,\r
+0x3B,0x9E,0x8A,0x17,0x29,0x70,0x89,0x17,0x76,0x3A,0xA4,0x32,0x88,0xFE,0x1B,0x3A,\r
+0x5F,0x01,0xD6,0x35,0xB5,0x14,0x38,0xF4,0x49,0x8B,0xF0,0x00,0x5C,0xD3,0xD8,0xC2,\r
+0x3C,0xAB,0xE6,0xC7,0x33,0xE3,0xCD,0x63,0xF5,0xC2,0xB0,0xD7,0x81,0xEB,0x5C,0xC5,\r
+0x7C,0x30,0x07,0xAB,0xD7,0xD2,0x9F,0x2D,0x2C,0xA0,0x76,0x70,0x6B,0x7B,0x7B,0x05,\r
+0x72,0xF9,0x02,0xF6,0x4F,0x0C,0x79,0xB2,0x2A,0xBB,0x02,0xAA,0x97,0x84,0xD5,0xB7,\r
+0x71,0x07,0x56,0x74,0x11,0x22,0x42,0x13,0x75,0x6E,0x26,0xCC,0xA4,0x50,0xCC,0x27,\r
+0x4E,0x35,0xE7,0x20,0xAE,0x60,0xE2,0xF2,0x15,0x0A,0x56,0x98,0x2A,0xA0,0x9B,0xB3,\r
+0x7F,0xCE,0x53,0x29,0x66,0x86,0xAD,0x12,0xF9,0xE4,0xCB,0x0F,0x6C,0xB0,0x2A,0x68,\r
+0xF7,0xC6,0xE1,0x96,0x27,0x66,0x1B,0xC9,0x59,0xCD,0x41,0xDB,0xFC,0x48,0x54,0xEF,\r
+0x6B,0xDE,0x2D,0xCA,0x40,0xFD,0x75,0x1E,0x94,0xD1,0x64,0x6C,0x50,0xC8,0xC2,0xF4,\r
+0x39,0x8F,0xA9,0x31,0x84,0x01,0x0C,0xE5,0x70,0x21,0xD0,0xE8,0xA6,0x95,0xC0,0x83,\r
+0xCB,0x0A,0x04,0x40,0x44,0x47,0x22,0x62,0x35,0x8F,0x4A,0x57,0x5D,0xA1,0x3F,0x5C,\r
+0x25,0x8C,0xC9,0xFB,0x7D,0xF2,0x77,0x14,0x24,0xBE,0x5F,0x63,0xB9,0xEF,0x0E,0x0E,\r
+0xD9,0xC0,0x61,0xD7,0xA3,0x9D,0x4A,0x9B,0x6F,0x15,0x98,0x15,0xCF,0x9C,0x4D,0x7F,\r
+0x88,0x6F,0xB1,0xAE,0xBF,0xB8,0xFD,0x56,0x68,0x79,0x48,0x20,0x73,0xCA,0xE4,0xE5,\r
+0x1B,0x51,0x0F,0x0B,0xF1,0xA9,0x47,0x21,0x1D,0x14,0x7F,0x8B,0x6A,0x09,0x9C,0x9B,\r
+0xB5,0x4C,0x23,0xDC,0xCB,0xF7,0x28,0xE0,0x1F,0x37,0x59,0x9A,0xF8,0x34,0xEE,0xB8,\r
+0xC4,0x2C,0x76,0xB9,0xB3,0xA2,0xCB,0x4D,0xAC,0x0C,0xE0,0x6B,0x1C,0x7A,0xDF,0xEA,\r
+0x00,0x67,0x03,0x11,0xE0,0x71,0x58,0x85,0xC1,0x39,0x4F,0x08,0x60,0xAB,0x30,0x5E,\r
+0xBC,0xB0,0x4A,0x51,0xC7,0xED,0x1E,0xFB,0xDC,0x2E,0x21,0xE4,0xFA,0xF1,0xE2,0x1C,\r
+0x29,0x54,0xEF,0x80,0x36,0xBE,0x04,0x6D,0x46,0xF9,0x09,0x26,0x25,0x0C,0x6A,0xBF,\r
+0x9F,0x81,0x9B,0xCF,0xD9,0xC4,0x0D,0xF3,0x5A,0x99,0xC3,0x25,0xB6,0x43,0xFF,0x02,\r
+0x79,0x14,0x48,0x5D,0xD2,0x8F,0x56,0x23,0xB1,0x1B,0x8E,0x87,0x28,0x65,0x97,0x17,\r
+0xCC,0x3F,0x68,0x90,0xF5,0x13,0x10,0x5D,0x36,0xDB,0xC8,0xA9,0x3E,0x0A,0x1E,0x65,\r
+0xBF,0x4E,0x1E,0xD3,0xDF,0x72,0xFE,0x4A,0x4C,0xC4,0x06,0x24,0x9E,0x91,0x92,0x48,\r
+0xCD,0xD0,0x1F,0x34,0xB4,0xF3,0xA6,0x86,0xB9,0x05,0xA7,0x94,0x85,0x97,0xE6,0x92,\r
+0x8C,0xA4,0x89,0xFC,0x7A,0xA3,0x1A,0xDF,0xE6,0xD0,0x83,0xF2,0x8D,0xF0,0x46,0xF3,\r
+0x3F,0xBB,0xFB,0x9B,0xD3,0x47,0x8E,0xA4,0x08,0x53,0x5C,0x18,0x5C,0x7A,0x7A,0xE1,\r
+0xB0,0x0B,0x79,0x91,0x34,0x3D,0xB8,0x00,0x2C,0x9A,0x20,0x6F,0xAF,0xA0,0x10,0x34,\r
+0xDF,0x30,0xC9,0x9E,0x49,0x85,0xA6,0x73,0x46,0x24,0xE6,0x09,0x17,0xD1,0x0C,0x26,\r
+0x53,0x6B,0xFC,0xAE,0xCC,0xBA,0xC6,0x90,0xAB,0x7F,0x4B,0x7F,0x16,0xA6,0xE3,0x82,\r
+0x21,0x92,0xF3,0x88,0x3A,0xF4,0xE5,0x05,0xF2,0x15,0x1D,0x00,0x09,0x92,0x1E,0xCA,\r
+0xBA,0xA7,0xDB,0x54,0xEC,0x75,0xDA,0x15,0x4F,0x31,0x19,0x4E,0xA8,0xCC,0x25,0xE4,\r
+0xD2,0xCD,0xA0,0x36,0x4C,0xA1,0x50,0x3C,0xB1,0x0B,0x0F,0xEC,0xFF,0x07,0x50,0xE9,\r
+0xEF,0xC2,0xAA,0x34,0xB0,0xED,0x7C,0x94,0x32,0x92,0x33,0x46,0x21,0x09,0xC2,0xFF,\r
+0x82,0xF5,0xDF,0x9F,0x5E,0x6B,0xC7,0x59,0x27,0x4A,0x7B,0x24,0x6A,0xA2,0xB4,0x38,\r
+0xE5,0x6E,0x08,0xF1,0xF2,0x67,0x36,0x56,0x6C,0x33,0x08,0x68,0x20,0x7E,0x2D,0x5B,\r
+0xDD,0x3C,0x0C,0x3A,0x67,0x83,0xE7,0xF3,0x8F,0xB6,0x37,0x08,0x95,0x5E,0x06,0x96,\r
+0x0C,0xA2,0x2F,0x0B,0xF6,0xAC,0x64,0x6E,0xDA,0xC7,0x57,0x6D,0x5A,0x61,0xA0,0x95,\r
+0xCE,0xE8,0x6D,0x81,0x19,0xC5,0x7B,0xD4,0x75,0xF0,0x76,0x10,0x7B,0x93,0x80,0x2D,\r
+0xAC,0x2E,0xB4,0x26,0xC4,0xA9,0xEF,0x8E,0xEC,0x1D,0x0E,0x29,0xA3,0x86,0xC8,0x4F,\r
+0x39,0x0D,0x42,0x68,0xF9,0x8A,0x9D,0x1C,0x2A,0x23,0xD3,0xD9,0x25,0x31,0x09,0xAD,\r
+0xFE,0x1A,0x0E,0x2B,0x77,0x58,0x56,0xB5,0x16,0x5B,0x4F,0x31,0x62,0xBC,0xA7,0x11,\r
+0xE4,0x89,0x7A,0x6F,0x87,0xCC,0x01,0x3B,0x0B,0xE4,0x66,0xF3,0x98,0x0F,0x31,0x49,\r
+0xD6,0x77,0xDC,0x61,0x64,0x7D,0x65,0xA7,0xC8,0xD4,0x72,0x5E,0xB3,0xC0,0x13,0xFE,\r
+0x54,0x3A,0x37,0xC3,0xB1,0x02,0xD8,0xE3,0xA5,0xA1,0xD9,0x69,0x40,0x1A,0x79,0x2B,\r
+0xE2,0x3F,0xC3,0x9C,0x18,0x2A,0xDF,0xA3,0xBD,0x10,0x39,0xF6,0x32,0x1B,0xE7,0xCC,\r
+0xF6,0xBA,0x69,0x4A,0x7E,0xA4,0xDB,0xDC,0x7B,0x2E,0xE4,0x06,0x3B,0x72,0x1B,0x41,\r
+0x8D,0x04,0x73,0x93,0xB5,0xC9,0x8A,0xDB,0x80,0x1A,0x3B,0xF9,0xCA,0x8B,0x60,0xB2,\r
+0xDE,0xD7,0xBB,0x00,0x94,0xE9,0x32,0x29,0x1F,0x4E,0xB0,0x76,0x13,0xE9,0xC7,0x74,\r
+0x3E,0x5C,0x89,0x05,0x76,0xB7,0xF2,0xC2,0x88,0x7D,0x5A,0x59,0x29,0x17,0xD1,0xD6,\r
+0xB8,0xAB,0x1E,0xF0,0x51,0x4D,0x3E,0x2B,0xAD,0xC6,0xB8,0xC9,0x2C,0x58,0xF5,0x20,\r
+0x84,0x43,0x66,0x6C,0xF5,0x52,0xE6,0x3A,0x76,0x47,0x4C,0xFB,0x02,0xD8,0xF3,0x61,\r
+0x68,0xD2,0x4F,0x5F,0xE5,0x89,0x57,0x7C,0x7F,0x52,0xB3,0xBC,0x83,0x03,0x07,0x53,\r
+0x02,0xB4,0xF1,0x99,0xBF,0xCB,0x85,0xE6,0x30,0x57,0x97,0x4A,0xC5,0xF9,0x46,0x4B,\r
+0xC9,0xB9,0xA6,0xEC,0x6C,0x6E,0x4C,0xB9,0xCD,0xDA,0xBB,0x03,0x5D,0x0D,0x95,0x45,\r
+0xD3,0x2A,0xD2,0xA8,0x75,0x49,0x70,0x96,0x9A,0x6E,0x7F,0x6A,0x56,0x47,0x78,0xEE,\r
+0x57,0xD1,0x80,0xF9,0xA7,0x03,0x1D,0xBE,0x5C,0x50,0xA2,0x9A,0x9D,0x40,0x15,0xBF,\r
+0x23,0x9E,0x36,0x2C,0xF7,0x43,0xC0,0x19,0x4E,0x43,0x87,0xA9,0xCE,0xB3,0xAB,0xE0,\r
+0x74,0xF7,0x82,0xE8,0x0A,0xE0,0x48,0xC6,0xC4,0xCF,0x44,0x44,0xE3,0x67,0x53,0x23,\r
+0x6A,0xDE,0x8A,0xFB,0xE2,0xBC,0x87,0x10,0x45,0x93,0xDC,0xE2,0xAC,0xF4,0xEE,0xB6,\r
+0x8C,0xE3,0x01,0x0D,0x1F,0x1F,0x0F,0xCF,0xA8,0xC8,0x71,0x94,0x97,0x7D,0x17,0xB0,\r
+0xC5,0xA3,0xBD,0xDA,0x27,0x18,0x8B,0x12,0x98,0xAB,0xDB,0x66,0x00,0xFB,0xE2,0x47,\r
+0x36,0xFC,0xEE,0x64,0xE8,0xBE,0x88,0x2D,0x43,0x2A,0x2F,0x54,0xED,0x62,0x9A,0x7E,\r
+0xFC,0x16,0xCB,0x8F,0x22,0x3C,0x7D,0x5D,0xE1,0x74,0xA6,0xD4,0x90,0x11,0x22,0x60,\r
+0x14,0x3D,0x9E,0xEB,0x8C,0x21,0xAA,0x71,0x48,0xFA,0x74,0x1F,0x1C,0x9B,0xE1,0x8D,\r
+0xEB,0x78,0xD6,0x63,0xA5,0x12,0x3B,0x9D,0x65,0x26,0xF7,0x2F,0x59,0x35,0x5E,0x17,\r
+0x83,0x12,0xAD,0x01,0xBC,0x35,0x07,0xB2,0xAF,0x03,0x1C,0xC5,0x3D,0x69,0xC1,0x35,\r
+0xAA,0x98,0x0D,0xD5,0x44,0xB2,0x79,0x22,0x1D,0x8B,0x14,0x7A,0xE6,0x28,0x77,0xD5,\r
+0x6F,0x83,0x84,0x32,0x61,0x59,0x93,0xE8,0xE7,0xCD,0x55,0x62,0x11,0xCA,0xD6,0x52,\r
+0x9F,0x37,0x60,0xB6,0x3C,0x2E,0x91,0x1E,0x63,0x9F,0x04,0x99,0xEA,0x0E,0xAF,0xAE,\r
+0xF5,0x51,0xDE,0x70,0x70,0x6D,0x86,0xD9,0x4C,0x86,0x23,0xA5,0x46,0x01,0xA3,0x5F,\r
+0xEE,0x25,0xD8,0xAA,0x8F,0xDF,0x28,0x25,0x49,0x88,0xEA,0xF8,0xD9,0x99,0x45,0x81,\r
+0x44,0x05,0xE1,0x42,0x54,0x69,0xC8,0x64,0xA9,0xBA,0xEF,0x73,0x06,0xE0,0x38,0x33,\r
+0x20,0x75,0x81,0x16,0xA4,0xFD,0x9F,0xEA,0x18,0x85,0xDD,0x27,0xE7,0x5F,0x98,0x71,\r
+0x79,0x0A,0xEB,0x40,0xC0,0x62,0xBD,0xB6,0x6D,0x41,0x96,0x8F,0x14,0x85,0xF2,0xA4,\r
+0x5A,0x2C,0xE9,0x51,0xFD,0x41,0xCF,0x24,0x41,0xEF,0x8B,0x58,0xD5,0xBF,0x9D,0xFA,\r
+0x77,0x1C,0x35,0xD2,0x5F,0x84,0x63,0x2E,0x4D,0xF4,0xBD,0x42,0x71,0xAE,0x82,0x22,\r
+0x42,0xB3,0x58,0xB1,0x8E,0x30,0x8C,0x52,0x38,0x30,0xF6,0xEA,0xB9,0xFD,0x11,0xF1,\r
+0xF0,0x0C,0xD0,0xB9,0x1B,0xD4,0x5D,0xF7,0x87,0xD1,0x56,0xA8,0xE0,0x33,0xAD,0xA1,\r
+0xC1,0x19,0xC1,0x8D,0x55,0x86,0x6C,0x13,0x4A,0x3F,0xD0,0x13,0x96,0x0A,0xF8,0x14,\r
+0x37,0x1B,0x9C,0xFA,0x3E,0x3F,0xB7,0x3D,0xFF,0x7C,0xB5,0xFD,0xA2,0xF1,0x27,0xEB,\r
+0x5B,0xCB,0x9B,0xCF,0x68,0xA5,0x1E,0x81,0x2F,0x2D,0x1A,0x84,0x6F,0xED,0x90,0xCE,\r
+0x8A,0x55,0xB8,0xFE,0x65,0x92,0xC1,0xD0,0x50,0x4B,0x94,0x80,0xBE,0x91,0x24,0x21,\r
+0x95,0x9B,0xC2,0x73,0xFE,0xBF,0x4D,0x70,0x26,0x38,0xE5,0xC3,0xA9,0xBB,0xCA,0x40,\r
+0x9E,0xD0,0x12,0x28,0x04,0x29,0x15,0xC3,0xC7,0x78,0x7E,0xAF,0x2B,0x34,0xC0,0xF0,\r
+0x4B,0xF4,0x4D,0x4E,0x63,0x48,0xB5,0xCB,0x51,0x39,0x0A,0x67,0x72,0xFA,0x7C,0xA0,\r
+0xB7,0x5A,0xB2,0xFC,0xF8,0x65,0x39,0x6B,0xA1,0xDD,0x8E,0xD3,0x99,0x78,0xDE,0xED,\r
+0x60,0x72,0x28,0x3E,0x05,0xC6,0xB1,0xB4,0x04,0x48,0x6A,0x02,0x0F,0x89,0xC4,0xBE,\r
+0x55,0xDD,0x45,0x5D,0x91,0xCD,0xC4,0x66,0x06,0x8D,0xCE,0x0E,0xD7,0x9C,0x8C,0xDC,\r
+0xD7,0x90,0xAE,0xFF,0xB7,0xD8,0xAC,0xF8,0xD5,0x6B,0x5B,0x9C,0x07,0x97,0xD7,0x97,\r
+0xBA,0xA6,0xE4,0x7F,0xDB,0xA9,0xB6,0x3B,0xFD,0xBD,0x17,0xDC,0xA6,0x1A,0x9E,0x19,\r
+0xD9,0x93,0x4B,0x12,0x34,0x78,0xCA,0x8F,0xB6,0x15,0xD3,0xA9,0x75,0x89,0x56,0x4A,\r
+0x5A,0xBE,0x7B,0xCE,0x98,0xDA,0xC0,0x4A,0x80,0x0F,0xC8,0xA5,0xAD,0x96,0xF2,0x5B,\r
+0x4B,0x9D,0x5D,0xCC,0xEA,0xE7,0x52,0x69,0x9D,0xD8,0x66,0x89,0xF3,0xF9,0x33,0x61,\r
+0xC4,0xBF,0x9C,0xBC,0x49,0x4F,0x65,0xAE,0x11,0xD3,0x0A,0xCB,0x99,0x9B,0x48,0x09,\r
+0xF1,0xD3,0x4C,0xBB,0xE0,0x19,0xD9,0x34,0xBE,0xAA,0x5B,0x1B,0xBC,0x2C,0x85,0x15,\r
+0x86,0x25,0x4E,0xE6,0x3B,0x72,0xF7,0x8D,0xDB,0x44,0x18,0xAE,0x43,0xF3,0xB1,0xEE,\r
+0xB2,0x14,0x5B,0xF7,0x0A,0x3C,0x13,0xDF,0x5D,0xFF,0xF6,0x63,0xF6,0xA6,0xC7,0xD7,\r
+0x45,0xAF,0xA3,0x6A,0xE2,0x44,0x2F,0x43,0x01,0x30,0x1E,0xB5,0xF7,0x77,0x55,0x1E,\r
+0x23,0x7A,0x87,0x35,0x42,0x23,0x27,0x22,0x75,0xF8,0x5F,0x23,0xA7,0xCB,0x0C,0xD0,\r
+0x78,0x71,0xCC,0xE5,0x1A,0xD9,0x94,0xB4,0xEE,0x94,0x1F,0xC2,0x17,0xC1,0x8E,0x5F,\r
+0xF5,0x6E,0x02,0x9F,0x96,0x42,0x34,0x99,0x9F,0xD7,0x6C,0xB4,0x76,0x2F,0x99,0x75,\r
+0xF4,0x33,0xC7,0x89,0xFB,0x90,0x1C,0xD3,0x50,0xCB,0x4C,0x31,0xC0,0xDC,0x20,0x73,\r
+0x56,0xB1,0x8A,0x62,0x93,0xB6,0x82,0xC6,0xC5,0x59,0xAA,0xE2,0x8B,0x87,0xF0,0x78,\r
+0x35,0x84,0x25,0x0F,0xE6,0x22,0x50,0xCD,0x61,0x55,0x6F,0xE0,0xE9,0xCF,0x28,0x6D,\r
+0xF7,0x53,0x0D,0x95,0x6E,0xDF,0x8F,0x6E,0x85,0x84,0xFA,0x45,0xBA,0xD5,0xBE,0x9C,\r
+0xD1,0x21,0xF4,0x9A,0xDC,0x00,0xF6,0x13,0xD0,0x31,0x8C,0x7C,0x10,0xE9,0x27,0x1F,\r
+0x06,0x68,0xB4,0x26,0x58,0x38,0x2B,0x14,0x7A,0xC3,0xEF,0x4C,0xE7,0x1C,0xB0,0x99,\r
+0xF0,0x8E,0x89,0xAD,0xD0,0xC5,0xF4,0xB7,0xD7,0xB5,0xB4,0xA1,0xE1,0xE5,0x8B,0x10,\r
+0xE3,0x90,0xA0,0xA5,0x1F,0x2D,0x22,0xEB,0x4F,0x13,0xE8,0x20,0x74,0x58,0xC4,0x83,\r
+0x68,0x0F,0x2F,0xF1,0x6C,0x82,0x79,0x19,0xFC,0x78,0x01,0x81,0x40,0x55,0x7E,0xD1,\r
+0xE0,0xF0,0x6A,0xB9,0xFD,0xAB,0x95,0x2A,0x7F,0x48,0xDD,0xAC,0xDA,0xEA,0x3B,0x7F,\r
+0x84,0x18,0x41,0xEC,0x2A,0x05,0xB9,0x37,0xAD,0x83,0x53,0x05,0x37,0x29,0xB7,0xF5,\r
+0x6F,0xD2,0xAB,0xC9,0xDF,0xCF,0xC9,0xB5,0x24,0x03,0x0D,0xA7,0x29,0x91,0xCA,0x86,\r
+0xBD,0x7B,0x60,0x47,0xC6,0x1B,0xFA,0x25,0x0F,0xCE,0xB8,0x87,0xF9,0xA4,0xCD,0xEA,\r
+0x39,0x8B,0xD4,0xA3,0xC4,0x46,0x0C,0x52,0x5E,0x35,0xEA,0x03,0x05,0xDD,0x36,0x2E,\r
+0xDE,0x4E,0xCF,0x2A,0x2E,0x63,0xC6,0xB9,0x1F,0x2D,0xAC,0xF9,0x82,0x7C,0xC1,0xCC,\r
+0x0A,0x67,0x45,0x8A,0x50,0x9B,0x56,0x3E,0x17,0x92,0x24,0x4B,0x62,0xCA,0x1A,0x8D,\r
+0x1D,0xC4,0x22,0xA6,0xC8,0x83,0x0E,0xF6,0xD6,0x70,0xA2,0xFC,0x26,0x93,0xC0,0xBB,\r
+0x49,0xA0,0x52,0xC6,0x9F,0x73,0x80,0x62,0xE4,0x24,0x9D,0x4D,0x64,0x33,0x21,0x04,\r
+0xA1,0x0A,0x72,0xFF,0x7F,0xA8,0xC1,0xD4,0xE1,0xAF,0xAF,0xAD,0xD6,0x4E,0xFE,0x7D,\r
+0x7B,0x11,0x06,0xF9,0xD1,0x57,0x3D,0x66,0x28,0xF2,0xA1,0xA8,0x08,0xA8,0x61,0xE5,\r
+0x97,0x06,0x68,0xE4,0x88,0x3F,0x47,0x21,0x32,0xA1,0x37,0x59,0x9B,0xEC,0x15,0xFF,\r
+0xC8,0xB0,0x6D,0x10,0x8F,0x96,0x07,0x09,0xD2,0x3E,0x86,0x41,0x7C,0x72,0x67,0xFE,\r
+0x6A,0x32,0x20,0xFB,0x32,0x43,0x43,0x76,0x79,0x09,0xF3,0x2C,0xA9,0x18,0x94,0x24,\r
+0x64,0x00,0xDE,0x5D,0x56,0xA0,0xDF,0xC7,0x6D,0xA4,0xC3,0xEF,0x1E,0x3A,0xBF,0xEB,\r
+0x0E,0xDA,0x0B,0xAE,0xA5,0x51,0x26,0xBC,0x51,0x0E,0x5A,0x6C,0x81,0xDA,0x0E,0xF3,\r
+0x0B,0x3A,0x80,0x9C,0x65,0xB3,0xCD,0xE2,0xBB,0x21,0x69,0xFB,0x23,0xCC,0x34,0x0D,\r
+0x98,0x69,0x53,0x54,0xDD,0x92,0x3F,0xC2,0x30,0xAE,0x3D,0x64,0xE5,0x6B,0xED,0x6F,\r
+0x41,0x12,0xED,0x4E,0x8C,0x59,0x38,0xAF,0xEF,0x51,0x09,0x9F,0x16,0x10,0x1C,0x96,\r
+0x92,0xE6,0xE3,0xD6,0xD2,0x98,0x02,0xC0,0x9C,0x1D,0x70,0xD4,0x1C,0x4D,0xE2,0x1D,\r
+0x54,0x8C,0x85,0x68,0x00,0xC2,0x98,0x82,0xB8,0xEB,0x75,0x9B,0x04,0x0C,0xA4,0xE7,\r
+0x67,0x60,0x14,0x41,0xB1,0xD2,0xDE,0x59,0x47,0xAC,0x60,0x92,0x36,0xF8,0x25,0x3C,\r
+0xFB,0x5C,0xFC,0x39,0x69,0x76,0xCF,0x46,0xB3,0x9E,0xE1,0x49,0x77,0xFE,0x0B,0xBC,\r
+0x27,0xC7,0xC9,0x11,0x97,0xD0,0xFD,0x48,0x8C,0xFE,0x64,0xAA,0xB7,0xA0,0xE9,0x57,\r
+0xF2,0xB3,0x86,0xA7,0x4A,0x80,0x5A,0x08,0xA9,0xCD,0x77,0xB8,0xE8,0x1E,0xBA,0xA4,\r
+0xA3,0x37,0x7D,0xF5,0x27,0x52,0x72,0x42,0x74,0x3D,0x49,0x7E,0xB9,0x73,0x71,0xA3,\r
+0xE7,0x2D,0xEE,0x81,0x1B,0x4B,0x5D,0x65,0xB0,0x54,0xFD,0x29,0x12,0x9E,0x7A,0xE9,\r
+0xA5,0xB7,0x3C,0xDB,0x91,0xEB,0x74,0xB1,0x40,0x28,0x58,0x4F,0xD5,0xE8,0x31,0x42,\r
+0x95,0x3B,0x67,0xEE,0xF1,0x6E,0x97,0x8E,0xED,0x5E,0x03,0xA2,0x71,0x07,0x30,0x35,\r
+0x9A,0x54,0x5C,0x5E,0xEF,0x13,0xE4,0x36,0x2B,0x38,0xBD,0xC8,0x63,0x1B,0x88,0x44,\r
+0x90,0xDB,0xEC,0xDC,0xD9,0xF4,0x40,0x4C,0x57,0x4F,0x74,0xEC,0xB6,0x71,0x7B,0x9E,\r
+0x3F,0x0B,0x95,0x8D,0x2B,0x97,0x70,0xE6,0x38,0x11,0xB5,0xD6,0xA8,0xC9,0x06,0xED,\r
+0x3D,0x36,0x9A,0x87,0x07,0x6B,0xD8,0xAA,0x04,0xBB,0x2C,0x55,0xBE,0x5B,0xD8,0xE3,\r
+0x5F,0x5E,0xF0,0xFC,0x8D,0xCB,0xF1,0x7E,0x12,0x19,0x16,0xAB,0xB3,0x2E,0x8F,0x28,\r
+0x83,0xC5,0xC5,0xD4,0xB2,0x1D,0xE1,0xFF,0x16,0x57,0x32,0x16,0x9D,0x15,0x2E,0x76,\r
+0x00,0xE8,0xF5,0x08,0x33,0xD1,0x8A,0xA7,0x5C,0x3A,0xE0,0x3E,0xC2,0xAB,0x7D,0x85,\r
+0x31,0x39,0x6B,0x2B,0xB0,0x40,0x17,0x88,0x3C,0x5F,0x91,0x6B,0xC1,0x0D,0xB2,0xBA,\r
+0xFA,0x01,0x39,0x2F,0x61,0xD5,0xB2,0x6C,0x03,0x3F,0x14,0x88,0x0C,0x26,0x07,0x9A,\r
+0x94,0x66,0xA2,0xF8,0x90,0x79,0xBD,0x60,0x70,0x73,0x6D,0xC3,0x6F,0xBF,0x4D,0x46,\r
+0x20,0x1A,0x4D,0x29,0x01,0x50,0x51,0x53,0x44,0x66,0x7C,0xF2,0x46,0xAC,0x45,0x58,\r
+0x63,0xDD,0x5A,0x65,0xCA,0xDE,0xF8,0x81,0xD8,0x8E,0x04,0xCE,0xFA,0x02,0x02,0xD5,\r
+0x2D,0x48,0x79,0x93,0xB8,0xE3,0x6A,0xA2,0x05,0x7E,0x3A,0x08,0x18,0xC3,0x84,0x62,\r
+0x8A,0x2A,0xBF,0x4A,0x2C,0x3E,0x30,0xCE,0x7D,0x47,0xD7,0x91,0x7A,0x8B,0x5C,0x77,\r
+0xF8,0x56,0x9A,0x18,0xF9,0x2D,0x3B,0x57,0x1A,0x5B,0xAF,0xD0,0x3C,0xFB,0x27,0x99,\r
+0x47,0xDE,0x92,0xAA,0x4F,0x6C,0xE0,0xB7,0x90,0x8F,0x86,0x70,0xBB,0x85,0xB7,0x61,\r
+0x1B,0x42,0x8A,0x66,0x21,0x0B,0x37,0x2C,0xB5,0x38,0x9A,0xBD,0xA0,0x13,0x1B,0xE1,\r
+0xE0,0x10,0xDB,0xE2,0x58,0xCF,0xCC,0xD0,0x01,0xBC,0x6A,0x59,0xD7,0x11,0xED,0xBC,\r
+0x7A,0x55,0x64,0x4C,0xCB,0x9C,0x04,0x03,0xA7,0x24,0xEB,0x05,0x51,0xAA,0x20,0x52,\r
+0x27,0x5B,0xAD,0x49,0x2D,0x04,0x9B,0xDD,0xD3,0xFE,0xF0,0x03,0xE3,0x04,0xDC,0xAD,\r
+0xA5,0x58,0x53,0x1D,0x16,0x5A,0x3A,0xF3,0xF7,0x98,0x25,0x5C,0x73,0x1D,0xEF,0x79,\r
+0xF1,0x67,0x61,0xAC,0xB6,0xE5,0xDB,0xB1,0x87,0xCC,0x41,0x3C,0xE7,0x4A,0x61,0x89,\r
+0x60,0x4E,0x52,0x40,0x60,0xF1,0x71,0x34,0x5C,0x75,0x6F,0x57,0x32,0x05,0x15,0x3F,\r
+0xC6,0x12,0xCA,0xC1,0xDD,0x62,0x3E,0xA1,0x75,0x66,0x71,0x5F,0x6E,0xCA,0xC3,0xD7,\r
+0xE4,0x76,0x55,0x9D,0x6C,0xFE,0xDD,0xC5,0x21,0x54,0xC0,0x60,0x96,0x09,0x17,0xFA,\r
+0x16,0x15,0xFF,0xAD,0x99,0x78,0x4A,0x32,0x61,0x83,0x89,0xDC,0x91,0x8D,0xCA,0xC2,\r
+0x56,0xA9,0x28,0xE4,0xAC,0x14,0x4D,0xE2,0x94,0x01,0xF9,0x16,0xB2,0xFF,0x58,0xFF,\r
+0xD6,0xF7,0xA1,0x46,0x14,0x67,0x30,0xFC,0x7E,0xEA,0x33,0x33,0x30,0x0A,0x28,0x35,\r
+0xAD,0xFB,0x79,0x60,0xD0,0x30,0x84,0x95,0xFA,0xED,0xEE,0x0B,0x9C,0xB9,0x98,0x78,\r
+0x9D,0x27,0xFA,0x4D,0x6F,0x9E,0xC1,0x0F,0xBF,0x65,0x11,0x43,0xAF,0x28,0x74,0x51,\r
+0x41,0xE5,0x6B,0x23,0x44,0xBE,0x74,0xC2,0x19,0xFD,0x90,0x1F,0x31,0xCF,0x75,0x23,\r
+0x02,0x96,0x1A,0x55,0xAA,0x94,0x63,0xA3,0xD7,0x70,0x8F,0x65,0x1C,0x43,0xD5,0xB8,\r
+0xE5,0xE4,0x84,0x54,0xF2,0xFF,0xAF,0x22,0x76,0xC0,0x4E,0x90,0xC6,0x37,0xCE,0xBE,\r
+0x2D,0xA5,0xF0,0xC2,0x4E,0x31,0xF6,0x72,0x52,0xA6,0x9B,0xCF,0xA7,0x97,0xC6,0xD9,\r
+0x80,0x95,0xE4,0x01,0x4A,0x8C,0xD2,0x3C,0xF0,0xB0,0x65,0xF5,0x48,0x33,0xB1,0xD8,\r
+0x51,0x00,0x00,0xA4,0x50,0x7D,0x44,0x6F,0xD8,0x72,0xB2,0x6F,0xEB,0xBB,0x6E,0x25,\r
+0x1E,0xB6,0xD5,0xD0,0x59,0x92,0xDA,0x15,0x12,0x71,0xD2,0x73,0x56,0x2E,0xFD,0x6A,\r
+0x8C,0x50,0x40,0x03,0x02,0x99,0x0A,0x5E,0x5F,0xD3,0x50,0x98,0x43,0x46,0x63,0x4C,\r
+0xDA,0x32,0x05,0x44,0x13,0xBA,0x08,0x78,0xAE,0xDF,0x5F,0x34,0xCF,0x4D,0x21,0x20,\r
+0x0D,0x9C,0x18,0x68,0x7C,0x80,0xC9,0x26,0x88,0xCE,0x7C,0x36,0xEC,0x3F,0xB3,0x1D,\r
+0x68,0xED,0x78,0x3D,0x9F,0xF8,0x64,0x73,0x31,0x3F,0x47,0x85,0xBE,0x0E,0x57,0x53,\r
+0xC0,0x29,0x33,0x48,0x0C,0xAB,0xAC,0xA0,0x9E,0x5C,0x72,0xE8,0x0A,0xE1,0x2B,0x82,\r
+0x91,0xE2,0x5E,0x4F,0x76,0x0F,0x4B,0x96,0x9B,0x03,0xC4,0x1C,0x08,0xEE,0x16,0x88,\r
+0x2A,0x0C,0xD8,0x82,0x23,0x36,0x3D,0x23,0x8E,0x37,0xF5,0x0D,0x5A,0xDF,0xF2,0xC6,\r
+0x06,0xF0,0x94,0x2A,0x1E,0xE8,0xB2,0x4C,0x49,0x41,0x5E,0x46,0x2B,0x9C,0x84,0xB5,\r
+0x7F,0xA1,0x3B,0xFA,0xA9,0xF4,0x7F,0x69,0x99,0x74,0x32,0x41,0xB1,0x35,0x38,0xE3,\r
+0xEA,0xEE,0x86,0x69,0xA3,0x7B,0xFD,0xD9,0xEC,0x7F,0xE0,0xD5,0xE9,0xB4,0x53,0x2F,\r
+0xA6,0x97,0xF5,0x22,0x3A,0xA7,0xB7,0xBA,0x77,0x11,0x87,0x02,0xE5,0x45,0x5C,0x83,\r
+0xEF,0x1A,0xD9,0xDF,0x2E,0x64,0x87,0x17,0x20,0x85,0x09,0xF2,0x22,0xE6,0x6B,0x2B,\r
+0x8A,0x6B,0xB9,0x8A,0x88,0x5B,0x48,0x14,0xBE,0xB4,0xD8,0xD1,0x0D,0x65,0xF6,0xBA,\r
+0xAB,0xC0,0x80,0xE9,0x46,0x83,0x7E,0xCD,0xAC,0xA8,0xA9,0x69,0x27,0x6D,0x8B,0x19,\r
+0x92,0x2D,0xF8,0x70,0x0E,0x96,0xA6,0xAF,0x6A,0x0F,0xCB,0xB0,0x4B,0xF9,0xD1,0xC4,\r
+0xB3,0x86,0xC1,0x13,0x29,0xB9,0xBF,0x93,0x98,0xA5,0xFB,0xD3,0xD6,0xD4,0xB0,0xAA,\r
+0x5B,0xFE,0x5D,0x2F,0x87,0x34,0xF8,0x2F,0x8F,0xE6,0x3C,0x9F,0x04,0x1F,0x19,0x24,\r
+0xED,0x47,0xAE,0x29,0x9E,0xA5,0x72,0xB6,0x89,0x1F,0xB5,0xA4,0xB3,0x3A,0x05,0xE9,\r
+0x9A,0x8E,0xD2,0x0D,0xF4,0x7F,0x81,0x63,0x39,0x15,0x3A,0x26,0xC9,0x0C,0xA1,0x0E,\r
+0xFD,0xA2,0xC5,0xAE,0x6D,0xA3,0xCB,0x00,0xE9,0x20,0x56,0x21,0x34,0x44,0x95,0x11,\r
+0x8B,0xF9,0x68,0x43,0x82,0xD4,0xCA,0xA4,0xB2,0x10,0xDA,0x14,0x0B,0x24,0x76,0x94,\r
+0xCC,0xEC,0x97,0x4A,0xAB,0xC9,0x75,0x66,0x25,0xDA,0xBF,0x06,0xFB,0x58,0x10,0x31,\r
+0x82,0xC8,0x93,0xF7,0x90,0x97,0xD4,0x48,0x10,0x06,0x24,0x2E,0x7A,0x67,0x00,0xE7,\r
+0xC4,0x4F,0xBD,0x37,0x4C,0x0C,0xFC,0x7D,0x40,0xBA,0xEA,0x77,0x63,0xFE,0x91,0x6D,\r
+0x6E,0xD6,0x81,0xB4,0xDE,0x02,0x22,0x6B,0x4F,0xB8,0xD7,0x7D,0x2F,0xD2,0x39,0x91,\r
+0x79,0x9A,0xC2,0x73,0x7D,0xDD,0xDF,0xE3,0xC1,0xE2,0x81,0xBB,0xDC,0x64,0x3F,0x28,\r
+0x4B,0x1B,0x36,0xA8,0x7B,0x5D,0xF1,0xA2,0x29,0x7E,0xBD,0xC3,0xC3,0xBC,0x2E,0x8C,\r
+0xC8,0x8A,0x19,0x35,0xC8,0xFC,0x18,0xC9,0x36,0x17,0x07,0x2C,0x45,0x07,0xE3,0x62,\r
+0x3E,0x8F,0x3D,0x7A,0x89,0x06,0x5E,0xD1,0x50,0xD1,0x6D,0x92,0x07,0xD5,0x79,0x38,\r
+0xE8,0xB3,0xF1,0x9F,0xF6,0x42,0x8B,0x6C,0xA8,0x26,0xD6,0x0F,0xC7,0xF2,0x93,0xA8,\r
+0x81,0x07,0x35,0xC8,0x1B,0x08,0x80,0xC7,0x3B,0x62,0xCC,0x7B,0xE0,0xCE,0xBC,0xB1,\r
+0x2B,0x9E,0x09,0x4B,0x25,0xB6,0x13,0x62,0x1C,0xA2,0x26,0xEB,0xCD,0x42,0x1C,0x2A,\r
+0x18,0x8D,0x2C,0x59,0x9B,0x45,0x40,0x3D,0x53,0x77,0x52,0x5D,0x8D,0x9F,0xBB,0x7A,\r
+0xDC,0x09,0xFC,0xCD,0x9D,0xC5,0x6E,0x7C,0xF5,0xEF,0xD3,0x01,0xF3,0xE7,0xA2,0xB9,\r
+0x71,0x39,0xE8,0x0E,0xBF,0x0A,0x45,0xCB,0x0B,0xE1,0xE1,0xA7,0x42,0x83,0x3E,0x5A,\r
+0x74,0xCD,0xB7,0xB8,0x69,0x1E,0xEF,0x4E,0xBD,0x12,0xE7,0x1E,0xA4,0x5D,0xA6,0xC5,\r
+0xEB,0x7C,0x57,0xA0,0xF7,0x1F,0x9D,0xA9,0xB8,0x4D,0x51,0xEA,0x8C,0x5A,0xE6,0x6C,\r
+0x7B,0xC7,0xB5,0x85,0xEE,0x8E,0x17,0x30,0x86,0x1D,0x88,0xAE,0x47,0x08,0xDE,0x68,\r
+0x84,0xF3,0x6A,0x7E,0x95,0x77,0xE6,0xC3,0x38,0xC4,0xF3,0xB4,0x2A,0x59,0xD9,0xA3,\r
+0xDB,0xA0,0xD4,0x8D,0x5F,0x12,0xF4,0x54,0xDE,0x8B,0x3B,0x54,0x39,0x70,0xC7,0xAB,\r
+0xF4,0x93,0x3E,0x1A,0x49,0xEC,0xCE,0xF6,0x55,0x8E,0xDB,0x66,0x67,0xB0,0x2C,0x49,\r
+0x6B,0x9E,0xD7,0x4F,0x20,0xAA,0x77,0x44,0xEC,0x17,0x09,0xB0,0xE1,0xB1,0x0B,0xC7,\r
+0x89,0xC0,0x3C,0x8F,0xC0,0x21,0x72,0x76,0xD6,0xE9,0xAB,0xA6,0x76,0x82,0x24,0x2D,\r
+0x81,0xD3,0x22,0xA6,0x08,0xC7,0x3D,0x96,0xC4,0x8C,0x3C,0x6C,0x85,0xD1,0x7B,0x93,\r
+0x4A,0xBE,0x25,0xF7,0x73,0x79,0xE4,0x8C,0x35,0x75,0xCF,0x17,0x7E,0xE5,0x84,0x4C,\r
+0x4E,0x75,0x1D,0xA5,0xAA,0x47,0xB4,0xC8,0xBF,0xE4,0x56,0x0E,0x5B,0x5E,0x14,0xAE,\r
+0xE7,0x5D,0x5D,0xA2,0x1C,0x42,0xEB,0x3C,0xCD,0xE5,0xB1,0x90,0x43,0xEF,0x8B,0x4E,\r
+0x78,0xBB,0xC5,0x7C,0x1A,0xF4,0x18,0x85,0x67,0xF1,0x34,0x46,0xF5,0x1B,0x8E,0x11,\r
+0x9B,0x0A,0x59,0x18,0x28,0x0A,0x16,0x23,0x4C,0x3E,0x83,0x64,0x36,0x2B,0x23,0x05,\r
+0x58,0x74,0x40,0x60,0xA9,0xAC,0x8E,0x7F,0x62,0xBE,0xC2,0x62,0xA2,0xAF,0xE7,0xD5,\r
+0x08,0x34,0xE7,0xBD,0xDD,0xE3,0x5B,0xC9,0x31,0x4D,0x9D,0xDC,0xB0,0xBC,0xD4,0xF0,\r
+0x93,0x19,0x47,0x31,0x37,0xC4,0x9B,0x59,0xA2,0xF3,0x38,0xE2,0x33,0x25,0x7E,0xCC,\r
+0x8A,0x3E,0x68,0x0D,0x2D,0x57,0xDF,0x2D,0xA9,0xB9,0x93,0x0F,0x64,0x91,0x17,0x08,\r
+0x1A,0xFE,0x82,0x2A,0x96,0xAF,0x28,0xB0,0x7C,0xFD,0x2E,0x70,0x81,0xAD,0xC1,0xC4,\r
+0x40,0xBC,0x18,0xF8,0xFC,0xC9,0xEE,0x0E,0x3A,0x07,0x36,0x31,0xCE,0xA8,0x37,0xE0,\r
+0xAE,0x3A,0xD5,0x43,0x46,0xD6,0x87,0xE1,0xD3,0xA6,0x5D,0x82,0x53,0x39,0xB4,0xCF,\r
+0x0A,0x25,0xC4,0x9B,0x7A,0x3E,0x1B,0x99,0xFD,0x26,0x1C,0x84,0x88,0xB8,0x86,0x3B,\r
+0xB3,0xD6,0xC2,0x2D,0x2C,0xB0,0x41,0x5F,0x00,0xF9,0x94,0x27,0x4F,0xF4,0x91,0x78,\r
+0x4F,0x9A,0x6A,0x01,0x11,0xBF,0x43,0x55,0xDE,0xF7,0x82,0xB5,0xCC,0x6D,0x3B,0x44,\r
+0xC5,0x83,0xFB,0x98,0xDF,0xEF,0xFF,0x0C,0xF6,0x6C,0xB7,0x69,0x0C,0xEA,0x7D,0x6A,\r
+0x13,0x02,0xEB,0xA7,0x44,0xDA,0x23,0x24,0x57,0x32,0x99,0x52,0xB1,0xCE,0x33,0x6E,\r
+0xB6,0xF2,0x8D,0xDB,0x21,0x4D,0xE9,0x36,0xE8,0x2F,0x5B,0x7B,0xB8,0xDB,0x74,0x91,\r
+0x33,0xCD,0x6E,0xBB,0xAD,0x16,0xD9,0x03,0xE9,0x58,0xFF,0x94,0x55,0x80,0x02,0x3C,\r
+0x2C,0x30,0x5A,0xF3,0xC1,0xC6,0xEC,0x04,0xA3,0x84,0x9C,0x0D,0xF6,0xAC,0x65,0x2B,\r
+0xCB,0x4A,0xFE,0xC5,0x4E,0x76,0xE6,0x86,0x50,0x5E,0x49,0x67,0xD2,0x65,0x12,0x57,\r
+0x06,0xFD,0xE2,0xE0,0xC7,0x70,0x1F,0xBD,0xDA,0xCF,0xD0,0x7E,0xD4,0xDC,0xA4,0xA4,\r
+0x88,0x2F,0x4B,0x2B,0x00,0x67,0x5C,0xF1,0x9D,0x42,0x6C,0xD0,0xE8,0xA4,0x4C,0x38,\r
+0xE6,0xB2,0x2A,0x06,0x30,0x95,0xF6,0x92,0x84,0x6D,0x50,0xF7,0x8B,0x0F,0x6D,0x01,\r
+0x3B,0xDE,0x70,0x92,0x52,0x53,0x51,0x4B,0x5C,0x78,0x32,0xBF,0x12,0xE2,0x54,0x79,\r
+0x98,0xF4,0x0D,0x9A,0x23,0x41,0x4D,0xF3,0x6A,0xA0,0xEB,0x71,0x71,0x49,0x75,0x40,\r
+0x09,0xDB,0x90,0x19,0xF2,0xDF,0x7C,0xD0,0xA5,0x9F,0xE8,0xD7,0x24,0x38,0x10,0x20,\r
+0xA1,0x1C,0xA7,0xBA,0x7C,0x88,0xE8,0x20,0x95,0x5C,0x45,0xC3,0xD9,0xB5,0x59,0x0C,\r
+0x0D,0x10,0xA8,0x4B,0x1B,0x13,0x86,0xF7,0xDF,0x80,0x26,0x5A,0x92,0xCC,0x15,0x7F,\r
+0xC1,0x48,0xC3,0xCA,0xC9,0x66,0x8D,0x63,0x5D,0x0F,0x96,0x50,0x01,0x83,0x80,0xC2,\r
+0x97,0xD2,0x7F,0x63,0xA5,0xB6,0xB8,0x64,0x90,0x13,0xB3,0xE7,0xD1,0xD2,0xF9,0x6D,\r
+0xE4,0xA3,0x09,0x20,0x0E,0x71,0xCE,0x2F,0x1F,0xCD,0xDC,0xDA,0x79,0x2E,0xD5,0x21,\r
+0xAA,0xF1,0xED,0x11,0x3F,0x64,0xFA,0x3E,0x69,0xF4,0x69,0x8F,0xB4,0xC0,0x6E,0xA7,\r
+0xA0,0xF3,0xD0,0x1E,0x89,0x61,0xA5,0xCA,0x8E,0x50,0x5F,0xF5,0xB3,0x0B,0x3F,0xCA,\r
+0x71,0x47,0xAC,0xF1,0xBC,0xCE,0xC6,0xA7,0x46,0x03,0x8C,0x66,0xC6,0xCF,0x97,0x81,\r
+0x3F,0x15,0x48,0xC0,0x87,0x77,0x37,0x14,0xEB,0x7B,0xD9,0x85,0x93,0xBE,0xF2,0xE1,\r
+0x02,0x36,0xDA,0xB2,0xA4,0x51,0x26,0x16,0x2A,0x41,0x87,0xEA,0xBF,0x10,0x25,0xFC,\r
+0x6E,0xBA,0x98,0xB9,0xAB,0xA0,0x2A,0xBA,0x28,0x62,0xA1,0xFB,0xF8,0x72,0x73,0xB9,\r
+0x48,0xAF,0x06,0xD1,0x29,0xED,0x88,0x51,0xF8,0x69,0xEA,0xA0,0x2B,0x94,0xE1,0x2C,\r
+0x07,0x12,0x95,0x44,0x49,0x27,0x8B,0x4D,0x66,0x86,0x90,0xA9,0x5F,0x22,0xAE,0xF9,\r
+0xFA,0xB1,0x4A,0xCC,0x9E,0x0F,0x49,0xD7,0xF0,0x77,0xC3,0xB3,0xFA,0xB7,0x7F,0x1D,\r
+0xFB,0x5E,0x3D,0x68,0x60,0xAD,0x5F,0xED,0xD4,0xCA,0x8D,0xB7,0x39,0x87,0xD2,0x09,\r
+0x9C,0x3F,0x35,0xC8,0xB5,0x89,0x39,0xB2,0x8D,0x04,0xDD,0x0B,0xAF,0xC6,0x1A,0x7D,\r
+0x9A,0xE5,0x2E,0xBC,0x74,0x28,0x89,0x47,0x41,0x6F,0x5C,0x53,0xAE,0xB4,0xFD,0xE3,\r
+0x01,0xC8,0x8E,0x30,0x6B,0xE6,0x04,0x3D,0x56,0x45,0x3D,0xBD,0xD8,0xC7,0xBE,0x92,\r
+0x73,0x56,0x8F,0xD7,0xEA,0x40,0x9C,0x61,0xE3,0x65,0xF0,0x96,0xB6,0x05,0x62,0x03,\r
+0x5A,0x65,0x63,0x46,0x15,0x05,0x14,0x29,0xA6,0xCB,0x6A,0x29,0x9B,0xD9,0x52,0x80,\r
+0x17,0xC9,0xD3,0xF5,0xC8,0x81,0x13,0x11,0x12,0x9C,0x03,0xED,0xBD,0xD5,0x29,0x58,\r
+0xDD,0x4B,0xA3,0x00,0x02,0x6B,0xF8,0x34,0x6F,0xEF,0x1D,0x55,0x1F,0x8B,0xA9,0xD1,\r
+0xE0,0x68,0x31,0x72,0x72,0x9E,0x7A,0xFE,0x68,0x83,0xCD,0x60,0x56,0x37,0xE9,0x06,\r
+0xD8,0x6F,0xEC,0xF6,0x3B,0xDE,0xAD,0x42,0xFF,0x05,0x3A,0x95,0x66,0x54,0x1B,0xAC,\r
+0xF5,0x97,0x38,0x35,0x8A,0x8A,0x9F,0x7D,0x1C,0x99,0x5E,0x24,0x3A,0x30,0x39,0x33,\r
+0x1D,0xCB,0xEE,0xFA,0x94,0xA3,0x8C,0x75,0x53,0x0A,0xCB,0x99,0xBB,0x6C,0x9F,0xAB,\r
+0xAB,0x1E,0x9A,0xB5,0xBA,0x78,0x35,0x1E,0xF9,0x1E,0x4E,0x4F,0x57,0x45,0x0E,0x98,\r
+0x5B,0x8A,0x14,0xE2,0xDE,0x08,0x61,0x7E,0x18,0xA1,0x0C,0xEF,0xE6,0x7A,0x5A,0xAA,\r
+0x8F,0x1A,0x27,0xFB,0x0B,0x2C,0x07,0x21,0xB9,0xFF,0x22,0xD4,0xB2,0x79,0xD8,0x54,\r
+0x70,0xA8,0xDB,0x55,0x10,0x58,0xDD,0x27,0x26,0x67,0xFC,0x32,0xB7,0x77,0x85,0x9D,\r
+0x9E,0x2E,0x16,0xEE,0x91,0xFE,0x45,0x7B,0xEE,0x34,0x2F,0xA1,0x19,0x32,0x1F,0x22,\r
+0xC3,0x59,0xE0,0xEC,0x61,0x4A,0xC1,0x9F,0x15,0xF0,0xD3,0xD8,0x9D,0x60,0xE4,0x73,\r
+0x43,0x42,0x4C,0x7A,0x7D,0x6F,0x76,0x52,0xC2,0x97,0x48,0xB6,0x51,0xFC,0xB8,0x6B,\r
+0xBB,0xC5,0xDC,0x04,0x54,0xE5,0xA2,0xF2,0x19,0xD6,0xA8,0x00,0xE3,0x74,0x07,0x63,\r
+0x9E,0xBE,0xA9,0xD6,0x4D,0xCD,0x89,0x17,0xFF,0xE7,0xF4,0xA9,0xFE,0xE2,0xBA,0x6C,\r
+0xDF,0x28,0xDD,0x1E,0x83,0x94,0xD9,0xAB,0x99,0x32,0xAB,0x8D,0x9F,0x85,0xB2,0xCC,\r
+0xAD,0x29,0x43,0xF9,0xE8,0x58,0x58,0xF3,0x29,0xF3,0x5E,0x2C,0x45,0x83,0xA9,0xB8,\r
+0xDE,0x5F,0x32,0xBA,0xC2,0x4F,0x39,0x1D,0xA4,0xEC,0x24,0xE2,0x68,0x18,0x09,0x34,\r
+0x6B,0x7F,0x19,0x77,0xE5,0x31,0xA5,0x5B,0x8A,0x2C,0xA3,0xA4,0x1A,0x77,0x1F,0xBD,\r
+0x8D,0xAC,0x8C,0xE5,0xEE,0xE1,0xEE,0x00,0x28,0xAE,0x48,0xE9,0x0F,0x51,0x81,0xD5,\r
+0x3B,0xD8,0x59,0xAA,0x01,0x7F,0x94,0x09,0x2B,0xCE,0x54,0x23,0xB2,0x1E,0x12,0x40,\r
+0xAE,0x7D,0xBD,0x7B,0xF0,0xE9,0xC7,0x13,0xE9,0x19,0xCE,0x0B,0x11,0xE3,0xCD,0xC8,\r
+0x12,0x34,0x6A,0x3B,0xD7,0x97,0x5B,0x55,0x05,0x0E,0xD3,0x65,0x53,0xB9,0x57,0x1A,\r
+0xD6,0x41,0x21,0x93,0x84,0x5F,0x88,0xC6,0x66,0x3B,0xBE,0xCA,0xE7,0x68,0x2B,0xF5,\r
+0xA7,0x14,0x41,0xF6,0xFC,0xF2,0xDD,0x25,0x97,0x00,0x0D,0x73,0xB5,0x26,0xCF,0xC4,\r
+0x09,0x38,0x5C,0x21,0xC6,0x33,0x83,0x4A,0x86,0x23,0x0F,0x55,0x96,0x1B,0x5D,0xB6,\r
+0x9A,0x86,0x62,0x84,0x88,0x44,0x92,0xF0,0x2D,0x4E,0x7A,0x62,0xE8,0xD8,0x44,0xCE,\r
+0xCB,0x56,0xCD,0xFD,0x94,0x89,0xB7,0x47,0x18,0x22,0x7D,0xB2,0x72,0x8E,0xF8,0x67,\r
+0x37,0xFE,0x81,0xD1,0x4A,0x06,0xD8,0x7A,0x6E,0x89,0x36,0x75,0x03,0xFD,0x8E,0x24,\r
+0xD9,0x33,0x07,0x6A,0x73,0x70,0x6D,0x2F,0x5A,0xB8,0x27,0x60,0x51,0xB3,0x6A,0x15,\r
+0x2B,0x9E,0x82,0x1B,0xB3,0xF7,0x2B,0x01,0xE5,0x16,0x62,0xFA,0x8E,0x87,0x91,0xEA,\r
+0x79,0x1A,0xD3,0xE0,0x77,0x0C,0xD7,0x78,0x61,0xE6,0x86,0x4E,0xF9,0xDA,0x67,0xE8,\r
+0xE5,0xD6,0xCB,0xBC,0x10,0xDB,0x4C,0x16,0xD6,0xFA,0x4B,0x6B,0xE2,0x5A,0xCB,0x7E,\r
+0x6D,0x64,0xC3,0x03,0x51,0x00,0xAC,0xA0,0x02,0xD3,0xEB,0xE1,0x65,0xA2,0x5B,0x00,\r
+0x5C,0xD0,0x38,0x0A,0x99,0xE0,0x4A,0xEF,0x95,0x3D,0x07,0x7C,0xBE,0xB2,0x1D,0xB1,\r
+0x63,0x61,0x0A,0x5E,0x26,0x01,0x08,0x4F,0xC1,0x59,0x67,0x0C,0x2A,0x42,0x93,0xE6,\r
+0x60,0x35,0xF4,0xDC,0x78,0xA0,0x26,0x74,0xA7,0x8C,0x38,0x28,0xBA,0x96,0xA0,0xFF,\r
+0x6E,0x30,0x3D,0x81,0xE0,0x3F,0xF8,0x92,0x7D,0x97,0x3E,0x5C,0x08,0x69,0x5C,0x51,\r
+0x2E,0xD1,0xA6,0xED,0x04,0x71,0xC9,0xC0,0xDA,0xF5,0xE7,0x9A,0xC8,0xF9,0xB6,0x76,\r
+0x4D,0xE1,0x0C,0x1F,0x82,0xE6,0x3E,0x35,0x0D,0xBC,0x5B,0xDA,0xCF,0xC1,0x6B,0xF2,\r
+0x29,0xBD,0x93,0x3D,0x1E,0x05,0x5A,0x84,0x3F,0x0D,0x64,0x8E,0x37,0xEC,0xBF,0x31,\r
+0x75,0x3C,0x0B,0x9B,0x8D,0x4A,0xCF,0x39,0x2C,0x13,0x6C,0xA7,0x6B,0x04,0x69,0xFE,\r
+0x1C,0x31,0xA3,0x66,0xE2,0xFA,0xF4,0x36,0x3C,0x6D,0x78,0x44,0xF6,0x6A,0x08,0xD3,\r
+0xC0,0x1C,0x20,0x56,0x4C,0xBF,0x6E,0x89,0xB4,0x92,0x30,0x01,0xC5,0x43,0xE4,0x42,\r
+0xCC,0x3A,0xF8,0x2D,0x1B,0x0B,0x07,0x4D,0xB3,0x4F,0x08,0x85,0x69,0x0E,0x54,0xF1,\r
+0x92,0x98,0x71,0xAD,0x68,0x76,0x19,0xF5,0x58,0x85,0x2D,0x6F,0xEB,0xC4,0x24,0x04,\r
+0xB4,0x06,0x64,0xC5,0x7A,0x65,0x2A,0xD0,0x88,0x11,0xA9,0xAB,0x5E,0x03,0x05,0x2E,\r
+0xB1,0x49,0x40,0x33,0x80,0x23,0x32,0x91,0x4E,0x7B,0x17,0xCD,0x1C,0x59,0x9F,0xFC,\r
+0x20,0xD4,0x6F,0xB0,0x21,0xCA,0x59,0x22,0x27,0xC1,0xF8,0xD2,0x9A,0xB7,0x52,0x47,\r
+0xA1,0x0F,0x9B,0x82,0xA1,0xE4,0x18,0x24,0xBB,0xFD,0x80,0x3A,0x85,0x13,0x43,0x9F,\r
+0xB6,0x25,0x75,0xE3,0x39,0x7B,0xC6,0xC2,0x2E,0x2E,0x66,0xA8,0xD4,0x41,0xC7,0x64,\r
+0xA5,0x37,0x50,0xD0,0xCA,0x28,0x99,0x7C,0xFB,0x5A,0xD0,0xE7,0x94,0x11,0x60,0xB9,\r
+0x3C,0xB4,0x6C,0x7A,0x74,0xBB,0x3C,0x42,0x3B,0xB0,0x40,0xC0,0xB9,0x8A,0xC0,0x35,\r
+0x88,0xE3,0xA8,0x13,0x3E,0xB0,0x97,0xAF,0x7F,0xAA,0x34,0x53,0x9E,0x93,0xEF,0x09,\r
+0x47,0xDC,0x0E,0x10,0x63,0xA6,0x52,0xAE,0x14,0x2D,0xD1,0x43,0xD5,0x57,0x9A,0xA1,\r
+0xF6,0xC4,0xEE,0x8F,0x62,0xD4,0xB5,0x30,0x4B,0x9B,0x25,0x46,0xFD,0xFE,0xDA,0xA6,\r
+0x02,0x72,0xB1,0x8A,0x76,0x7E,0x30,0xE6,0xB8,0x9D,0x9C,0xF0,0x1B,0x61,0x42,0x78,\r
+0x32,0xB1,0xA5,0x27,0xB9,0x55,0x87,0xC4,0xB6,0xAF,0x3A,0x0E,0xAA,0x82,0xDE,0x1C,\r
+0xA8,0x66,0x67,0x0F,0x90,0xF5,0x0D,0x10,0xD7,0xA7,0x5D,0xAE,0x3E,0x72,0x50,0x4B,\r
+0x9B,0xF1,0x8D,0x20,0x6E,0xCF,0xAF,0x06,0xD2,0x47,0x6F,0x25,0x60,0x90,0xBB,0x8B,\r
+0xC8,0x02,0x33,0x7F,0x0B,0xDD,0x38,0xCC,0x9D,0x8F,0x8F,0xC3,0x73,0x98,0xA5,0xA2,\r
+0xFC,0xF9,0xEC,0x80,0xF2,0x2C,0xCB,0xB7,0x44,0xF4,0x95,0x7D,0x1E,0x53,0xA2,0xF3,\r
+0x50,0xF6,0xE0,0x71,0x27,0x73,0xEF,0xD1,0xED,0xA4,0xEA,0x45,0x54,0x81,0x8A,0x9E,\r
+0x21,0xA3,0x80,0x14,0x18,0xBC,0xEC,0x77,0xDC,0x75,0xC9,0xDB,0x7B,0x10,0x17,0x1D,\r
+0xAC,0x5E,0xAC,0x5D,0xDB,0x8C,0x41,0x63,0x48,0xFB,0x39,0x8C,0xBC,0xB8,0x20,0xBE,\r
+0xD5,0x15,0xDF,0x11,0x07,0xC6,0x22,0xFA,0x26,0x9C,0xEE,0x17,0xB0,0x14,0x2F,0x4F,\r
+0xC5,0x53,0x04,0xA0,0x48,0xC3,0xD4,0xDE,0xBF,0x40,0xA4,0x74,0x5D,0x1F,0x65,0xE4,\r
+0xBD,0x6F,0x98,0x48,0xC5,0x84,0x68,0x70,0xFC,0x87,0xE8,0x63,0x8F,0x91,0xCC,0x2F,\r
+0x16,0x0C,0xA1,0x69,0xEA,0x9D,0x54,0x57,0x56,0xB7,0x8B,0x91,0x12,0xFF,0xAD,0x02,\r
+0xFB,0x95,0xD9,0x50,0xFF,0x45,0x36,0x1F,0xF1,0xD5,0x52,0x57,0x7E,0x22,0xF7,0x96,\r
+0xC2,0x3F,0x31,0x70,0xA8,0xF1,0x5F,0xDB,0x49,0xA6,0x2F,0x49,0x52,0xAF,0x0A,0xDF,\r
+0x99,0xD2,0x9C,0x06,0xDF,0xF0,0xFB,0x34,0x79,0x2A,0x1A,0x12,0x6D,0x2A,0xE9,0xBF,\r
+0xB5,0x71,0x8B,0x61,0x03,0xBA,0x98,0xAD,0x4C,0x46,0x1D,0xC2,0x90,0x35,0xDD,0xF7,\r
+0x7C,0x55,0xF7,0x16,0xD9,0x49,0x4D,0xC7,0x46,0xC9,0x9F,0x72,0xEA,0xD2,0x79,0xC1,\r
+0xED,0xC8,0xD8,0x95,0x7E,0x19,0x90,0x87,0xE1,0xAB,0x46,0xB4,0x76,0xAA,0x45,0x29,\r
+0x74,0x4B,0xE4,0x3F,0x70,0xC7,0x86,0x15,0xE3,0x96,0x4C,0xBB,0x3A,0x56,0xED,0x05,\r
+0xF3,0x8B,0xCA,0x79,0xEB,0xEF,0xB3,0xC9,0x5F,0x58,0x15,0xEB,0x23,0xDC,0x7C,0x9C,\r
+0xD7,0x36,0xCE,0x37,0xB5,0x4E,0x9D,0xF2,0x83,0xC3,0x3D,0xDE,0xA2,0x0A,0x6C,0xA3,\r
+0xD7,0x7D,0xEF,0xA0,0xBC,0xED,0xCF,0xB1,0xD8,0x08,0xBA,0x0B,0x91,0x47,0x85,0x27,\r
+0xA3,0xCB,0xA0,0x75,0xEC,0x4A,0x8F,0x6C,0xEB,0x1B,0xA8,0x2E,0xCE,0xB4,0xD6,0x99,\r
+0x27,0x99,0x5B,0x24,0x3E,0x62,0xC5,0x01,0x1B,0x25,0x6E,0xF3,0x9F,0xB3,0x1D,0xF4,\r
+0x3D,0xED,0xC8,0x60,0x27,0x4D,0xE2,0x3D,0x72,0x91,0x39,0x37,0x34,0xF9,0x16,0x19,\r
+0xF6,0xBA,0xC5,0x15,0xF4,0x12,0x47,0xF4,0x3B,0x1C,0xC4,0x1B,0x3A,0x0D,0x8E,0xCA,\r
+0x9C,0x04,0xA3,0xD3,0xAE,0x88,0x05,0x26,0xCD,0x19,0x8B,0x3F,0x22,0xF7,0xC8,0x8B,\r
+0x70,0x2D,0x32,0xE0,0xBE,0xCE,0xDE,0x97,0x8A,0x0C,0x82,0xC0,0x10,0x2C,0x49,0x7F,\r
+0x4C,0x55,0xDA,0x7C,0x1A,0xDF,0xC1,0x4F,0xB8,0x8D,0x59,0x34,0x51,0xAC,0x67,0x79,\r
+0xCA,0xC2,0x2D,0x89,0x3D,0x36,0x3B,0x83,0x28,0x36,0x7C,0xD6,0xA7,0xE3,0x62,0x5D,\r
+0x2A,0xF0,0xA6,0x8C,0xDF,0xDD,0x65,0x43,0x07,0x05,0xEB,0x3C,0x05,0x1D,0x58,0x4B,\r
+0x79,0x38,0x75,0x1F,0xFE,0x2F,0x45,0xFB,0x88,0x51,0x74,0xB7,0xC3,0x7F,0x81,0xEC,\r
+0x02,0x22,0xCB,0xC6,0x35,0x28,0x28,0xAA,0x77,0x65,0x8F,0x68,0x30,0x86,0x70,0x97,\r
+0x16,0x88,0x4E,0x10,0x53,0x57,0xA6,0xAE,0x87,0x5B,0x49,0xB5,0xBD,0xEF,0x79,0x6B,\r
+0xA0,0x7C,0x4B,0x4F,0xFA,0x17,0x8E,0xA9,0x18,0xEA,0x51,0x55,0x5A,0xEE,0x0B,0xF5,\r
+0x22,0x97,0x06,0xED,0x2F,0x53,0xF1,0x14,0x2F,0x9F,0x3C,0xFE,0x8F,0x34,0xF8,0x9F,\r
+0x10,0x31,0xF8,0xE3,0xCC,0xCF,0x40,0x70,0x82,0xAF,0xFF,0xEA,0x38,0xFB,0xD3,0xBD,\r
+0x0A,0x45,0x6B,0xA7,0x3C,0x41,0xD4,0x27,0x40,0x10,0xE2,0xC3,0x60,0x48,0x29,0x2B,\r
+0xCD,0x09,0x7C,0xE4,0xB2,0xE8,0x06,0xEC,0xA8,0x68,0xDE,0x5F,0xDC,0xC5,0x6E,0x85,\r
+0x58,0xFF,0x5F,0xAA,0x8F,0x7A,0x25,0x9E,0x58,0x56,0x18,0x82,0x3E,0x72,0xE8,0x44,\r
+0x3A,0x26,0x99,0x0D,0x52,0x20,0x49,0x0A,0x61,0xBB,0x81,0xFA,0x5C,0x67,0x30,0x0C,\r
+0xF8,0x64,0xD3,0x87,0xBD,0x9A,0x20,0x15,0x1C,0x8C,0x2E,0xDB,0xE4,0x95,0x11,0x2C,\r
+0x29,0x47,0x4D,0xB6,0x2C,0x07,0x0F,0x96,0x79,0xFD,0x7B,0xBB,0xE7,0xAA,0xDE,0x8A,\r
+0x11,0x43,0x1F,0x7D,0xB9,0xA2,0xEB,0x47,0x19,0x78,0x98,0x84,0x2A,0x8A,0x6B,0xA1,\r
+0x76,0x94,0x84,0x13,0x15,0xAD,0xE7,0xB6,0x55,0x01,0xD3,0xF7,0x49,0x56,0x21,0x38,\r
+0x1B,0xE1,0xB3,0xB8,0xFB,0x60,0x61,0x0D,0x37,0xD9,0xC6,0xBF,0x8E,0xFD,0x6A,0x4E,\r
+0x26,0xEB,0xBC,0xBA,0x07,0xC8,0x2D,0x21,0x9D,0x40,0x45,0x83,0x98,0xF3,0xB4,0xDC,\r
+0x4E,0x90,0xD6,0xD8,0xA7,0xE1,0xF9,0xAB,0x3F,0x7A,0xBB,0x95,0x95,0x38,0xE3,0xA9,\r
+0xD5,0xB8,0xE3,0x04,0x71,0xF1,0x78,0x94,0x71,0x5E,0x06,0x91,0xBB,0x66,0x42,0x92,\r
+0xA7,0xB7,0x1A,0x22,0x87,0x64,0x36,0xB7,0x0E,0x34,0x5F,0xC7,0xF3,0x52,0x5D,0x6F,\r
+0x2B,0x82,0x41,0x12,0x02,0x87,0x09,0xD7,0x78,0x6F,0xB2,0x6A,0x57,0x25,0x5C,0x80,\r
+0x44,0x32,0x7A,0x1D,0x7F,0xF4,0xB1,0xC9,0x1E,0xD1,0xD8,0xAC,0x45,0x54,0xE4,0x9C,\r
+0xCB,0xB0,0xCA,0x17,0x98,0x50,0xCB,0xFF,0x69,0x18,0xFC,0xD0,0x90,0x8E,0x17,0xF6,\r
+0x23,0xE5,0xE1,0x73,0xFC,0x0C,0x54,0xDD,0xED,0x20,0x21,0xD7,0xE6,0x63,0x4C,0x5B,\r
+0xA1,0x0E,0xAC,0xD1,0xDA,0x92,0x41,0xB5,0x7F,0xC6,0xF2,0x42,0xAD,0x68,0x9C,0x00,\r
+0x94,0x63,0x03,0xB2,0x4E,0x40,0x4A,0xC0,0x73,0x03,0xF0,0xE6,0xCF,0x7D,0x44,0x48,\r
+0x43,0xF9,0x2B,0x70,0xB3,0x9F,0xE9,0x48,0xA2,0x96,0x55,0x02,0x9C,0x8C,0xD2,0x52,\r
+0xBF,0x06,0x85,0xC2,0x28,0x3F,0xC4,0xC4,0x16,0x72,0xA5,0x86,0xD1,0x0E,0x39,0xF0,\r
+0x6A,0x59,0xA1,0xA4,0x4F,0x37,0xA5,0x64,0xDE,0x33,0x33,0xF2,0x81,0xC0,0x60,0x4C,\r
+0x61,0x89,0xEA,0xFF,0xB5,0x84,0x33,0x3C,0xB2,0x73,0xD2,0x69,0x31,0x4F,0xE2,0x46,\r
+0x7E,0xF3,0x24,0x72,0x2E,0x24,0x1E,0xB0,0xF1,0x00,0xA4,0x18,0x50,0x65,0xF5,0xA8,\r
+0xAF,0xD0,0xBA,0x43,0x23,0x75,0x29,0x6F,0xF5,0x66,0xDB,0x96,0xBF,0x19,0x24,0x1C,\r
+0xC3,0xD7,0x6A,0x76,0x75,0xC9,0xB3,0xC6,0x8C,0x37,0x0B,0x39,0x9A,0x05,0xE9,0xAB,\r
+0x35,0x8A,0x68,0x01,0x1E,0xE7,0x0A,0x1D,0x62,0x74,0xBE,0x5C,0x65,0xFE,0xDD,0x74,\r
+0x04,0x9B,0x7D,0x35,0x50,0x03,0x58,0x2C,0xD9,0x9A,0x73,0xDA,0xD0,0xC7,0xAB,0x21,\r
+0xB6,0x13,0xC2,0x3D,0xC5,0xA6,0xBC,0xFD,0x9B,0x7B,0xCC,0x7A,0x80,0x09,0xF2,0x9D,\r
+0x83,0x7E,0x6D,0x5E,0x14,0xDA,0x08,0x12,0x33,0xBF,0xB9,0x31,0x53,0x5A,0x3A,0x0E,\r
+0xAE,0xA2,0x5D,0xDD,0xB6,0xD0,0xCD,0xBE,0x29,0xA4,0xB5,0x07,0x8B,0x4B,0x9E,0x11,\r
+0x8D,0xA0,0x7B,0xCC,0x8B,0x42,0xEE,0xCC,0xFE,0x0A,0x99,0x1A,0xD5,0x71,0x5F,0x7E,\r
+0xD4,0xCA,0x04,0x9A,0xEF,0x1E,0x71,0xEE,0x56,0xCE,0xEC,0x51,0x00,0xAB,0xAC,0x14,\r
+0xB0,0xAA,0x74,0xCE,0x1F,0x90,0xE5,0xB9,0x02,0xF1,0x5D,0x63,0x42,0x14,0x4D,0xB4,\r
+0x1A,0x93,0x54,0x26,0xC4,0xD1,0x53,0x59,0x89,0xC3,0xBD,0x66,0xF0,0x6D,0x92,0xC9,\r
+0x01,0x95,0x20,0xFC,0x3B,0x2D,0xE1,0xF7,0xD4,0xCD,0xB8,0xAF,0x2E,0xF5,0x0D,0x2F,\r
+0x6B,0x2B,0x46,0x3A,0x77,0xEA,0xA2,0xE0,0xE8,0xD4,0x97,0x88,0xDF,0xFA,0xA1,0x23,\r
+0x9B,0xCF,0xF2,0xBE,0x2A,0x1C,0xD5,0xE2,0x13,0x86,0x13,0xD9,0x23,0x3E,0x5A,0x5A,\r
+0x5E,0x46,0xE9,0x59,0x0F,0xD6,0x3E,0x08,0x0B,0xC0,0xE9,0x98,0xA4,0xDC,0xAD,0xFB,\r
+0x77,0xE6,0x63,0x8D,0xF7,0x46,0xB9,0x76,0xB4,0x48,0x5B,0x90,0x44,0x9D,0x76,0x4D,\r
+0x1F,0x9D,0x09,0xEF,0xEE,0x69,0x9E,0x4A,0x5E,0x6D,0x91,0x7B,0x66,0xC1,0x12,0xD2,\r
+0xE0,0xD5,0x4C,0x67,0xC7,0x85,0xAD,0xDB,0x6E,0xB1,0xBC,0xF8,0xFC,0x6F,0x57,0x6D,\r
+0x08,0x80,0x67,0x03,0x69,0xA9,0xB0,0x0C,0xA5,0x3F,0x15,0x2A,0x11,0xE5,0xDB,0xAE,\r
+0xC2,0xA5,0x8D,0xE8,0xA3,0xD9,0x32,0xF9,0x25,0x61,0xB7,0xA3,0x0F,0x96,0xA6,0x16,\r
+0x31,0xF6,0xD2,0x56,0x6C,0xE6,0x94,0xFA,0x17,0xE0,0x6C,0x57,0x36,0x0F,0x4B,0x6E,\r
+0x78,0x4A,0x92,0x81,0x54,0x3B,0x93,0x7E,0xE5,0x83,0x5C,0xFD,0xC1,0x89,0xDC,0x9B,\r
+0x9E,0xC1,0xAF,0x77,0xA9,0xE4,0x30,0xF6,0x93,0xD8,0xB1,0x50,0xC7,0x00,0xE7,0x62,\r
+0x80,0xC9,0x86,0x64,0x41,0x32,0x6C,0x39,0x35,0x84,0x30,0xC8,0x52,0x93,0xA8,0xDF,\r
+0x03,0x45,0x81,0x05,0xDD,0xA5,0x84,0xDD,0x57,0xC4,0x3C,0x15,0x22,0x0B,0x6F,0x78,\r
+0x01,0x32,0xDC,0xF3,0x59,0x11,0x74,0x39,0xAC,0xBD,0xC0,0xD1,0x70,0xF0,0x3E,0xFC,\r
+0xEB,0xD9,0xF9,0x39,0xBE,0x0A,0xB1,0xB0,0x5B,0x1C,0x47,0x33,0x36,0xE8,0x7F,0x06,\r
+0x95,0x5E,0x01,0xA9,0x6A,0x80,0x98,0x10,0x80,0xAA,0xA7,0x72,0xBE,0x57,0x77,0xB4,\r
+0x0D,0x96,0x19,0xF1,0x7D,0xE7,0x3B,0x3C,0x5A,0xF3,0xE3,0x44,0x38,0xB5,0xB6,0x03,\r
+0x5A,0x02,0xE9,0x7F,0x29,0x97,0x5F,0x5C,0xBB,0x53,0xA1,0xFB,0x07,0xE1,0x84,0xB2,\r
+0xBA,0xB4,0x32,0x3E,0xC1,0xB7,0xF5,0x65,0x64,0x2E,0x13,0x82,0x35,0x6A,0x81,0x52,\r
+0x14,0x06,0xCD,0xC2,0x1B,0xC3,0xEE,0x63,0xFB,0xC8,0xCD,0x1A,0x3B,0x37,0x48,0x57,\r
+0x19,0x73,0x9A,0x09,0xB1,0x31,0xDE,0x00,0xBD,0x89,0xD5,0xE0,0x16,0xF4,0xB0,0x83,\r
+0x9D,0x74,0xA2,0xD4,0x66,0x71,0x97,0xBC,0x2A,0x7C,0x22,0x66,0x75,0x06,0x1A,0xB3,\r
+0x15,0xD7,0x5F,0x0B,0x90,0x4C,0x71,0x37,0x11,0x85,0x24,0xEF,0x2E,0x70,0xB7,0x5E,\r
+0xDA,0x8B,0xB7,0xDD,0x83,0x65,0x6F,0x3F,0x5E,0x38,0xB1,0x7C,0x72,0xD6,0x2F,0xDF,\r
+0xA9,0x79,0x18,0x86,0x08,0xEA,0xF0,0x6B,0xE4,0x35,0x85,0x2E,0x9B,0xBD,0x9C,0x7E,\r
+0x38,0x4A,0x31,0x6A,0x80,0xAF,0x0F,0x23,0xA1,0x8A,0x1F,0x80,0x47,0x8D,0x1F,0x53,\r
+0xEF,0x57,0x9F,0x46,0xE4,0x84,0xE7,0x76,0x2D,0x49,0xF2,0x0A,0xC9,0x46,0xCD,0xFA,\r
+0x1A,0xD5,0x55,0x36,0x0F,0x6E,0x2D,0x53,0x50,0xF1,0xEC,0x79,0x97,0xC6,0x44,0x58,\r
+0x27,0x23,0xDE,0xD0,0x25,0x66,0x50,0xF0,0xCF,0x17,0x32,0xE1,0x84,0xF5,0x61,0x4A,\r
+0x87,0x42,0xB9,0xD8,0x43,0x42,0x85,0xAF,0x96,0xAB,0x62,0x2F,0xC5,0x3D,0x15,0xDC,\r
+0xDF,0xD4,0x43,0x6B,0x18,0x09,0x8E,0x7F,0x14,0xA1,0xD2,0xA0,0x85,0x51,0x8E,0x3D,\r
+0x53,0xF9,0xD8,0xCB,0x95,0xC7,0x91,0x05,0x03,0x4F,0xB3,0x8A,0xF6,0x12,0xFF,0x4B,\r
+0x3E,0xB3,0x0A,0xE3,0x94,0x02,0xCC,0x13,0xBA,0xBC,0x05,0x8C,0xD6,0x0E,0x30,0xCE,\r
+0x56,0xA6,0x2C,0x7D,0x36,0x4F,0x4E,0xF8,0x6A,0xE7,0x4E,0x87,0x30,0x9C,0xA5,0x1D,\r
+0x23,0xAD,0xB8,0xAF,0x55,0xE0,0x7B,0x95,0xB2,0xAF,0x2C,0x92,0xF5,0x90,0x01,0x1F,\r
+0xAB,0x0E,0x45,0x70,0x97,0xC8,0xAC,0x0F,0x24,0xB5,0x7F,0x63,0x60,0x41,0xE5,0xBA,\r
+0x1E,0x5B,0x33,0x49,0xDA,0x21,0x59,0xE5,0x04,0x7A,0x63,0xE6,0x8D,0x78,0x9D,0x23,\r
+0xF1,0xEF,0xE2,0x35,0xB9,0x8E,0x6C,0x88,0xCC,0xE9,0xB0,0xB5,0x49,0xD0,0xD6,0x56,\r
+0x5D,0x2A,0x40,0x3F,0x3A,0xBE,0x41,0x54,0x68,0xF6,0x68,0xA4,0x52,0xCA,0xE0,0x5A,\r
+0x2F,0x09,0x7D,0xAD,0x2B,0x98,0x62,0x56,0xA9,0x99,0x36,0x9E,0xFC,0x1D,0xFD,0x76,\r
+0x8C,0xCE,0xD5,0x9A,0xA4,0x59,0x40,0x26,0xD2,0xFB,0x5C,0xF6,0x90,0x16,0x71,0x34,\r
+0x25,0x54,0x83,0x26,0x91,0x89,0x2C,0x21,0x1F,0x4C,0x79,0xEA,0xC1,0x6F,0xDE,0xE4,\r
+0xFE,0xED,0xE8,0x08,0xE6,0x8B,0xDA,0x7C,0x2B,0x93,0x86,0x11,0x82,0x81,0xBB,0x51,\r
+0xCF,0xBF,0xA6,0xEC,0xD2,0x9E,0xEB,0x6D,0x5D,0xC6,0x33,0x28,0x6C,0x3A,0x3D,0x9C,\r
+0xF6,0xC7,0x4B,0x75,0x60,0x30,0x17,0x92,0xE7,0xCB,0x07,0x7A,0x7A,0xFF,0x3C,0xC1,\r
+0x75,0xE8,0xDA,0xE8,0x51,0xAE,0xC6,0xB1,0x28,0x6D,0x04,0x45,0x0B,0x9A,0x5C,0x94,\r
+0xA4,0x0C,0x4F,0x4D,0x9A,0xFC,0xFE,0xB5,0x9D,0x46,0xC9,0x65,0x8E,0xFA,0x63,0x77,\r
+0x55,0x00,0xE3,0x42,0xF4,0x67,0x99,0x62,0xD7,0xDF,0xAA,0xB9,0xF7,0xB6,0x10,0x3C,\r
+0xC4,0x33,0xCA,0xAE,0x40,0x88,0xE5,0xB3,0xDF,0xCC,0x83,0xA7,0xE6,0xA3,0x24,0x0D,\r
+0x0F,0xE1,0x44,0x07,0x03,0x9F,0x22,0xFF,0x98,0x62,0x3F,0x2A,0x9E,0x4B,0xB8,0x31,\r
+0x7D,0xC2,0x79,0x95,0x4D,0xBC,0xB7,0x09,0x1E,0xA3,0xDD,0x9D,0xA0,0xBB,0x65,0xF7,\r
+0xE9,0xAE,0xA4,0xCF,0xEA,0x7A,0xD5,0xD0,0xC6,0xEB,0xBF,0x88,0x4D,0x82,0x1D,0x6E,\r
+0x54,0xD1,0x71,0x8B,0xC5,0xF9,0x48,0x41,0xAB,0x88,0x10,0xBD,0xC2,0xED,0x20,0xB0,\r
+0x34,0xEE,0xF4,0x68,0xF5,0xA2,0xC4,0x74,0xAA,0x67,0xB4,0xCA,0x99,0x9B,0x8D,0x5D,\r
+0x2A,0x56,0x89,0x1B,0xFA,0x99,0xAB,0xC4,0x12,0x7B,0xA6,0xBB,0x27,0xFD,0x4B,0x37,\r
+0x1C,0x2C,0x6E,0xBF,0xF0,0x29,0x24,0x46,0xE1,0x11,0x73,0x61,0xEE,0x8A,0x37,0x13,\r
+0xEE,0x86,0x0D,0x8F,0x5F,0x50,0xF4,0x17,0x9C,0xA9,0x6D,0x12,0x2F,0xD4,0x58,0x29,\r
+0xC2,0xCA,0xF1,0x27,0x5D,0x5F,0xC9,0x1D,0x42,0x3B,0x7B,0x1C,0xB6,0x7E,0x64,0xAA,\r
+0x48,0x1E,0x51,0x0E,0x3F,0x35,0xA1,0x66,0x15,0x4E,0x76,0xD7,0x8C,0xDC,0x72,0x54,\r
+0x77,0x9F,0x87,0x1E,0xE3,0x00,0x3A,0x4E,0xB4,0x75,0x58,0x89,0xA8,0x92,0x76,0xE9,\r
+0x17,0xA0,0x02,0xFD,0xF2,0x26,0x19,0x4C,0x78,0x2D,0xD9,0xE2,0xEA,0xD8,0xFC,0x2B,\r
+0xC5,0xE2,0x58,0x67,0x34,0x40,0x73,0xF2,0x3E,0x6C,0xC1,0x18,0xEF,0x2E,0xD8,0x64,\r
+0x74,0x39,0x48,0x21,0x07,0xD1,0x9F,0xDB,0xBF,0x98,0xF3,0xC3,0xFA,0x69,0x27,0x6D,\r
+0xAC,0x26,0xEC,0x30,0x9B,0x39,0xA3,0xA3,0x91,0x9E,0xB2,0x43,0x7B,0x5B,0xD3,0xB6,\r
+0x52,0x28,0x4A,0x02,0x47,0x0C,0x38,0x8B,0x73,0xC0,0x72,0xA8,0xFE,0x3B,0xEC,0x55,\r
+0x8F,0x68,0x1A,0xA5,0x92,0x43,0x4C,0x3D,0x20,0x7E,0x2D,0x5B,0xED,0x08,0xC9,0x47,\r
+0xE2,0x22,0xC8,0x8D,0xC3,0xB8,0xC8,0x6F,0xEB,0x13,0x7C,0x5C,0xD3,0xF8,0x14,0x81,\r
+0xDE,0x05,0xD1,0xA2,0x87,0x2B,0xD2,0x1B,0xE0,0xFE,0xD7,0x16,0x67,0x91,0xD0,0xD6,\r
+0x4D,0x41,0xA5,0xB8,0xF7,0xAD,0xF9,0x7E,0x8F,0x8C,0x5E,0x00,0xAD,0x64,0x52,0xA6,\r
+0x4A,0x69,0x0C,0xF8,0xA8,0xA8,0x4F,0x8A,0xFD,0x12,0xB9,0x01,0x1C,0xFB,0xB2,0xBE,\r
+0xF7,0x16,0xD9,0xBC,0x0A,0xE5,0xCD,0x61,0x0E,0x78,0x6C,0xDB,0x69,0xCC,0x19,0xD3,\r
+0x93,0xA7,0x3A,0x20,0x04,0x1B,0xFF,0xC7,0x25,0x5A,0xDB,0x14,0x59,0x61,0x0D,0x10,\r
+0x60,0xDC,0xCB,0xD9,0x6E,0xCE,0x25,0x34,0x94,0xBA,0x44,0x0C,0xC0,0xCB,0x31,0x93,\r
+0xA0,0x82,0x29,0x32,0x6B,0x45,0xC5,0x06,0xAE,0xAC,0xE6,0xF2,0xF3,0xE4,0xDB,0x04,\r
+0x18,0xA2,0x08,0xC0,0xF8,0x96,0x96,0xCE,0x77,0x0B,0x20,0x90,0xA7,0x6B,0x50,0x9B,\r
+0x49,0xCF,0xC3,0xC7,0x21,0x28,0xED,0xD4,0x86,0x70,0xD3,0x69,0x93,0x94,0x8F,0x60,\r
+0x6C,0x78,0x4C,0xC3,0xA5,0x54,0x47,0x4B,0x9B,0x31,0xD0,0x83,0x7A,0x77,0x74,0xD9,\r
+0xD8,0x2F,0x88,0xAA,0xEF,0x5F,0xEC,0xA6,0xDF,0x2B,0xA4,0x10,0x5D,0x6E,0x5B,0xE5,\r
+0x41,0xAC,0xB4,0x00,0x51,0xCC,0x49,0x98,0x1F,0xC1,0x34,0x37,0x70,0xF5,0xFB,0x69,\r
+0x52,0xBE,0x91,0x33,0xA2,0x9F,0x16,0x26,0xCA,0xB5,0x82,0x78,0x30,0xA5,0x5C,0xB4,\r
+0x45,0x94,0x7F,0x52,0x3A,0x00,0xC8,0xC0,0x5F,0x66,0x64,0xEA,0x61,0xF7,0xD8,0x4F,\r
+0xC4,0x4F,0x8B,0x60,0xBA,0x2E,0x89,0xC6,0xC3,0x5A,0x1C,0x02,0x7E,0x53,0xC9,0x97,\r
+0x55,0xD2,0xA4,0xE3,0x1B,0xC7,0xE2,0x75,0xAA,0xE0,0xF3,0x1D,0xF8,0xBD,0x04,0x2C,\r
+0x50,0x9D,0x80,0x15,0xE1,0x81,0xFA,0x34,0x6C,0x8A,0x4D,0x7B,0xBA,0xE7,0x9E,0xFE,\r
+0x18,0x62,0x08,0x50,0x69,0xC8,0x1B,0x53,0xA0,0x6F,0x71,0xAD,0xFA,0xB7,0x39,0x23,\r
+0x2C,0x99,0xD7,0xAF,0x90,0x39,0xE8,0x28,0x79,0x14,0x6B,0x13,0x97,0x7C,0x3E,0x72,\r
+0x7F,0x6A,0x69,0xF0,0xF5,0x2B,0x7F,0xE2,0x36,0xDC,0x8B,0xF5,0x84,0x74,0x20,0x5B,\r
+0x4C,0xFD,0x83,0xDF,0x0B,0x11,0xDD,0xF4,0x33,0x3C,0xB9,0x7E,0xDA,0x96,0xCB,0x9B,\r
+0xD6,0x2A,0x41,0xF7,0x22,0xB1,0x57,0x20,0x52,0x34,0xDE,0xDE,0x4E,0x66,0x45,0xCC,\r
+0xE6,0xE9,0x55,0x5A,0xED,0x9A,0xE0,0x02,0x5C,0x06,0x78,0x20,0xFF,0x85,0xD9,0xA8,\r
+0x12,0x5F,0x0A,0x5F,0xF9,0x30,0x65,0xD4,0xAF,0x00,0xC1,0x96,0x19,0x1A,0x41,0x76,\r
+0xA3,0x47,0xEA,0xC0,0xF8,0x42,0x82,0x4A,0xF0,0xB6,0x35,0x93,0x31,0xB3,0x01,0x71,\r
+0x1F,0x0E,0x3D,0x80,0x64,0xA1,0xE6,0xFB,0x15,0x4E,0xB6,0x87,0x9A,0xC6,0x6C,0x46,\r
+0xF2,0x97,0x45,0xB9,0x71,0x79,0x84,0xB3,0xB2,0x2C,0x6F,0x41,0xF6,0x1B,0x36,0xD2,\r
+0x59,0xF4,0x7C,0x98,0x5E,0x60,0xB8,0x94,0x18,0x1C,0x0C,0xB3,0x6B,0x75,0x57,0xFF,\r
+0x21,0xC8,0xE0,0x70,0xD3,0x27,0x04,0x3A,0x5B,0xDB,0x40,0xA4,0xB9,0xFB,0xFE,0x34,\r
+0x31,0x8E,0x3B,0xC1,0x9C,0x22,0xF2,0x1E,0xC2,0x07,0x0A,0xC7,0x54,0xF0,0xB4,0x9F,\r
+0x48,0xC5,0x48,0x8D,0x40,0x68,0x91,0x87,0xAC,0x60,0xDD,0x5C,0x58,0x5C,0xBB,0x6E,\r
+0xC5,0x38,0x64,0xC4,0x83,0x58,0x3C,0x93,0x38,0xEE,0x2D,0x0B,0x9F,0xF4,0x8C,0xCD,\r
+0xB4,0x6D,0x04,0xA1,0xBC,0x97,0x3F,0x35,0x09,0x3F,0x0E,0x95,0xB0,0x65,0x11,0x4E,\r
+0x33,0xAD,0x2A,0xE7,0x2E,0xAA,0x4D,0x16,0x67,0x58,0xD9,0x0E,0x46,0xEE,0xF7,0x73,\r
+0x17,0x10,0x2E,0xA9,0x70,0x0B,0x63,0x2D,0xBB,0xC3,0xF1,0x3B,0xC7,0x38,0xE7,0x4C,\r
+0x90,0xD0,0x00,0xEF,0xEB,0x23,0x56,0xF1,0x07,0x0D,0xA8,0x6B,0xDE,0xB2,0x76,0xD5,\r
+0x09,0x53,0x3C,0x45,0xE5,0xFD,0x40,0x63,0x05,0x30,0xA2,0x64,0x92,0x4E,0xDE,0xF9,\r
+0x98,0xCE,0x13,0xC6,0x42,0xAD,0x9D,0x23,0xA2,0x52,0x7B,0xA2,0x0E,0x36,0xE2,0x11,\r
+0x51,0xEA,0x6F,0xB1,0x98,0x5E,0x48,0x49,0xA8,0xDD,0xF9,0x12,0x74,0xD1,0x46,0x27,\r
+0x7D,0x49,0x78,0xD6,0x44,0x14,0x2B,0xD0,0x9D,0xB1,0xFE,0xC2,0x89,0xCE,0x72,0x6F,\r
+0x26,0xA4,0xD5,0xA0,0x33,0x15,0x8F,0x3F,0xAD,0x3D,0xCB,0x99,0xB6,0x4B,0x91,0x0F,\r
+0x4A,0xE6,0x59,0xAB,0x6B,0x0D,0x17,0xF7,0x0D,0x82,0x2A,0xDB,0xF5,0x07,0x56,0x18,\r
+0xDF,0x43,0xBD,0x7A,0x9A,0x9B,0x44,0xED,0xCF,0x55,0xB0,0xF3,0x56,0xFA,0x89,0x90,\r
+0x69,0x37,0x68,0x35,0x75,0x05,0x3E,0xE4,0xCC,0x35,0xAC,0x39,0xEB,0xB5,0x1A,0x05,\r
+0x8F,0xE4,0xFD,0xA7,0x7E,0xD5,0x75,0xBF,0x6E,0xB7,0x47,0x74,0xFE,0x93,0x84,0x6D,\r
+0x3A,0xC4,0xD6,0x6A,0x59,0xAB,0xE9,0xF9,0x40,0x77,0xC0,0x32,0x8C,0xFC,0x92,0xE4,\r
+0x49,0xB2,0xA7,0x29,0x73,0xBC,0x88,0x17,0xCD,0x68,0xBA,0xFC,0xA1,0x67,0x32,0x68,\r
+0x3B,0xB3,0x39,0xCE,0x18,0x70,0x09,0x4F,0x7D,0xA9,0x4F,0x5D,0x7B,0x61,0x29,0x1C,\r
+0x7A,0x25,0x4D,0x06,0xD6,0x29,0x59,0xF3,0x1B,0x7C,0x10,0x79,0x1A,0x06,0x21,0xBC,\r
+0x3D,0xA8,0xE3,0xBA,0xE8,0x94,0xBD,0xCB,0xBE,0x23,0xC3,0xB0,0xB5,0x57,0xF1,0xC5,\r
+0xD3,0x65,0x65,0x01,0xD1,0xE2,0x08,0x9E,0x8A,0x12,0xD2,0xA5,0xE7,0x19,0x15,0xF4,\r
+0x2F,0xCD,0x29,0x2D,0x0F,0x6D,0x67,0xA3,0xFC,0xB9,0x99,0x62,0x96,0x6A,0x63,0xB7,\r
+0x7E,0x1D,0x86,0x54,0x13,0xA0,0x42,0x14,0xC9,0xD5,0x9E,0xB2,0x0C,0x3C,0xDF,0x1E,\r
+0xED,0xA3,0xB8,0xF1,0x5D,0xD7,0x53,0xAE,0x62,0xB8,0xEB,0x85,0x72,0xFF,0xC6,0x66,\r
+0x43,0x8F,0xA5,0x26,0x67,0x16,0x0D,0xC1,0x73,0x9B,0xE9,0xA3,0x51,0xC2,0x54,0x14,\r
+0x32,0xDA,0xC5,0x43,0x1F,0xBB,0x58,0x22,0x82,0xA0,0x5A,0x1A,0x03,0x8C,0xB0,0x25,\r
+0xF6,0xAF,0x8E,0xEB,0x4C,0x73,0x8B,0xB1,0xE1,0x95,0x37,0xB5,0xB7,0x5D,0xCC,0xCA,\r
+0x8A,0xAB,0xD9,0x51,0x7B,0xDB,0x28,0x76,0x99,0x0C,0xDA,0x8C,0xEC,0x8D,0xC7,0x81,\r
+0x84,0xAE,0x10,0x0C,0xE3,0x44,0xF6,0x90,0x43,0x17,0xDC,0xF8,0x5E,0x72,0x3B,0x2F,\r
+0x87,0xFA,0xEE,0x8E,0xBD,0xE5,0xD8,0xAB,0x25,0xC2,0x83,0xDC,0xCE,0xA6,0x08,0x36,\r
+0xB8,0x4B,0xDC,0xDA,0x02,0x04,0x9A,0x0B,0x71,0xA6,0xE3,0xAC,0x5A,0x56,0x86,0x61,\r
+0x89,0xFF,0x27,0xD3,0xCA,0xE4,0x7C,0x44,0xE6,0x48,0x0F,0x31,0x81,0x46,0xC0,0xD0,\r
+0x01,0x4D,0x2F,0x6C,0x8B,0x3F,0x9C,0xF2,0x32,0x61,0xAF,0xBB,0x06,0xBE,0x50,0xAE,\r
+0x9D,0x81,0x37,0x30,0xEC,0xE8,0x07,0x9C,0x85,0x7D,0x62,0x9E,0x1D,0x3E,0xFC,0x38,\r
+0xCF,0x05,0x66,0xCB,0x28,0x13,0xFB,0xE5,0x01,0x8D,0x86,0x2A,0x6A,0x63,0x0A,0x3A,\r
+0x76,0x03,0x95,0x7D,0xF3,0x92,0xC9,0x11,0xBC,0x1E,0xC9,0xBF,0x0F,0x20,0xBF,0xD4,\r
+0x28,0xA1,0x1C,0xFD,0x80,0xEF,0xD7,0xA9,0x57,0xD4,0xEC,0x55,0x8D,0xEA,0xCF,0x21,\r
+0x24,0x87,0xC4,0x86,0xD7,0x5B,0xBE,0x6D,0x50,0x09,0xD4,0xD1,0x21,0xA7,0x7F,0x92,\r
+0xF8,0xAA,0x47,0xB6,0x79,0x1E,0x24,0xD2,0xD8,0xF6,0x9C,0x94,0x12,0x8E,0x93,0x03,\r
+0x91,0xA7,0xEF,0x4B,0x16,0xAE,0x1F,0xDD,0xC8,0x88,0x88,0x77,0x8F,0xE0,0xF2,0x2E,\r
+0xCD,0x26,0x77,0xED,0x85,0xE1,0x8A,0x60,0xDB,0x96,0x80,0x5E,0xD3,0x08,0x24,0xE1,\r
+0xA9,0x7A,0xE8,0xCF,0x19,0x02,0xEE,0xD1,0xE9,0x27,0xBF,0x0A,0x2B,0x25,0xF0,0x22,\r
+0xCA,0x4A,0x42,0x3D,0x9F,0x95,0x19,0x24,0x3E,0x6E,0x03,0x4A,0x2C,0x1D,0x2D,0xA6,\r
+0x5D,0xFF,0x00,0xDE,0x47,0x2C,0xC2,0x12,0x29,0xF7,0x43,0xCD,0x89,0x4B,0x90,0xAC,\r
+0x6F,0x59,0xFE,0xD0,0xA4,0xB0,0x73,0x76,0x84,0xC7,0x80,0xD9,0x3E,0x84,0xBB,0x8E,\r
+0x69,0xE0,0x48,0x23,0x3B,0x28,0x95,0xA8,0x81,0x33,0x36,0x86,0xBB,0x90,0x11,0x58,\r
+0xDF,0x14,0x4D,0x7C,0x92,0x68,0xBD,0xAF,0x1E,0x82,0x2E,0x66,0x5C,0x91,0x63,0xC6,\r
+0x06,0x50,0x73,0x2C,0x96,0x50,0x76,0xFD,0x8E,0x39,0x0B,0x84,0xC5,0x00,0xE9,0xDF,\r
+0x7D,0x4A,0xCD,0xF5,0x5D,0x57,0x1B,0xAC,0x71,0x0D,0xF0,0x5B,0x36,0xF9,0x18,0xA4,\r
+0xB5,0xAA,0x2B,0xBA,0x55,0x49,0x08,0x85,0x2E,0x5E,0x03,0xE5,0xA1,0x9C,0x0A,0x6E,\r
+0x55,0x98,0xA0,0xBF,0xB7,0xA2,0x56,0x45,0x01,0x6D,0x94,0x0F,0x03,0x62,0x30,0x78,\r
+0x0F,0x45,0x34,0xD3,0xD6,0xB1,0xED,0x91,0x8C,0x64,0xFD,0xF3,0x16,0x53,0x21,0x4C,\r
+0x33,0x3D,0xDC,0x4F,0x72,0xA0,0xF2,0x49,0xBE,0xE5,0x26,0x07,0x57,0xD3,0x0F,0x4A,\r
+0x89,0xD2,0xC3,0x26,0x9C,0x6D,0x74,0xF2,0x3D,0x74,0xBB,0x28,0x3C,0x72,0xE6,0xF9,\r
+0xE3,0x6C,0xA5,0xE0,0xC6,0xF7,0x36,0x20,0xCB,0x71,0xF4,0x0C,0x24,0x88,0xA0,0xB8,\r
+0x58,0xF1,0x5D,0x17,0x56,0x1D,0xF6,0x07,0x1D,0x4D,0x11,0xC0,0x99,0xCC,0x75,0xC7,\r
+0x42,0x85,0xCE,0x53,0x4F,0x32,0xD1,0x3B,0x74,0xF9,0x46,0x04,0x32,0x86,0x7E,0x2A,\r
+0xA8,0x15,0xE9,0x93,0xD4,0x92,0xFC,0xB7,0xDE,0x60,0xC5,0x38,0x97,0x38,0xED,0x14,\r
+0xDC,0xA3,0xA6,0x46,0x84,0x35,0xBC,0x6A,0xED,0x73,0xD7,0x1D,0xC8,0xCB,0xBE,0xAA,\r
+0x3B,0x5A,0x7C,0x2E,0x17,0x8B,0x82,0xCF,0x18,0xB9,0xA7,0x9F,0x43,0x2B,0x8C,0xAF,\r
+0xB4,0xD8,0xCC,0x24,0xF0,0x2F,0xF8,0xF9,0x6F,0x70,0x83,0xE3,0x96,0xF1,0x7F,0xC5,\r
+0xD8,0xDF,0x1C,0x11,0xEF,0x1B,0x05,0xB1,0x08,0x5C,0x20,0xF4,0xF5,0x2D,0x35,0x5C,\r
+0x54,0xEA,0x47,0x21,0x6A,0xF8,0x3A,0xD1,0x7E,0x07,0xCD,0x59,0x51,0x5A,0x34,0xB3,\r
+0x31,0xF8,0xD0,0xEB,0xCF,0x9E,0xCA,0xAD,0x39,0x12,0xC4,0xA6,0x93,0x47,0x8B,0x9A,\r
+0xAA,0xD0,0xE5,0x37,0x19,0x8E,0x4B,0x92,0x77,0x36,0x79,0xA2,0xBD,0x19,0x2A,0xA1,\r
+0x64,0x89,0xB5,0x8B,0x93,0x1F,0x52,0x0B,0x31,0xB1,0xB9,0x8C,0x88,0x82,0x02,0x7D,\r
+0x59,0x83,0xBA,0x89,0x6F,0xB7,0x1E,0x27,0x9B,0x28,0x3A,0xB0,0x9E,0x8C,0xDC,0xEF,\r
+0x6E,0x2B,0x19,0x4E,0xD1,0xDD,0xD8,0x41,0x1F,0x10,0xE7,0xB7,0x2C,0xF5,0x03,0x92,\r
+0x09,0xFC,0x82,0x20,0x7D,0xD2,0xD4,0xB0,0x53,0x69,0xAC,0xC4,0x4F,0x29,0x49,0x0B,\r
+0x87,0x0C,0xD5,0xB4,0xD5,0xE5,0x13,0x13,0x1A,0xE4,0x51,0xE8,0xE2,0xEA,0x79,0x1F,\r
+0x56,0x2F,0x4B,0x85,0x44,0x78,0x3C,0x90,0x7F,0x95,0x04,0x88,0xE1,0xD5,0xB6,0xB9,\r
+0x27,0x97,0x59,0x99,0xE7,0x05,0x16,0x98,0x5E,0x3E,0x67,0xB1,0x38,0x0D,0x80,0x77,\r
+0x45,0x4E,0x9F,0x3E,0x3A,0x5F,0x7A,0x0C,0x67,0xD3,0xFE,0xC9,0x5A,0x18,0x58,0x3F,\r
+0x75,0x2D,0x6D,0x94,0x54,0x3E,0xE7,0x21,0x46,0x78,0x9D,0xF0,0x66,0x37,0x41,0x18,\r
+0xB2,0x61,0x7A,0xD7,0xDA,0x97,0x35,0xEA,0xAE,0x00,0xA1,0x6C,0xDA,0xBA,0x06,0xB6,\r
+0xD1,0xCA,0x5B,0xEE,0xDE,0xAF,0xFE,0xB8,0x2F,0xCC,0xCA,0x34,0x8D,0x34,0xF6,0x22,\r
+0xF2,0xC8,0x7D,0xFF,0xE3,0x3D,0xDD,0xCA,0xF8,0x62,0xE6,0x29,0xD3,0x0E,0x37,0x4D,\r
+0xC9,0x7B,0xC4,0x0E,0xAD,0xD9,0x8F,0xFB,0x9D,0x13,0xB3,0x49,0x86,0x76,0x9A,0xAE,\r
+0xFC,0x16,0x6B,0x6D,0x7C,0xA5,0x3B,0x14,0x35,0xD7,0xC6,0x02,0x55,0x25,0x52,0x3D,\r
+0x4A,0xE2,0x6E,0x32,0x76,0x98,0x39,0x1B,0x64,0x1C,0xC1,0x6F,0x63,0x81,0xB5,0x47,\r
+0x7B,0xF3,0x7B,0x06,0x38,0x7C,0x6B,0x2A,0xDF,0xF2,0x0C,0xE9,0xD6,0xB8,0xC3,0x12,\r
+0xD0,0xB8,0xBC,0x70,0x4B,0x0A,0x1A,0x69,0xF3,0x0E,0xA4,0xA5,0xB9,0x66,0x4C,0x2F,\r
+0xBC,0xBF,0x6C,0x45,0x1D,0xB6,0x80,0xC0,0x8A,0x5F,0x74,0x0A,0x9C,0x7A,0x81,0x98,\r
+0x1E,0xE1,0xEC,0xCC,0xDD,0xFB,0x00,0x3A,0xB4,0x1B,0xAD,0x5A,0x37,0x30,0x8A,0x75,\r
+0x01,0x9B,0x22,0x41,0x46,0x5B,0x2D,0xB6,0xF7,0x68,0xDB,0x2B,0x56,0x1A,0x9D,0x9B,\r
+0xC0,0x6E,0x83,0xF1,0x40,0x40,0xF7,0xC2,0x10,0x1A,0xDA,0xB5,0xD7,0x71,0x51,0xC3,\r
+0x15,0x31,0xA7,0x97,0x27,0x48,0x96,0x62,0xD8,0x5B,0x4C,0xC1,0x87,0xBF,0x08,0x7F,\r
+0xEB,0x0B,0x05,0x81,0x26,0x3F,0x79,0xC6,0x75,0x6B,0x8F,0xD5,0xC9,0x02,0x2C,0x7B,\r
+0x3C,0x91,0x2D,0x43,0xDB,0xE0,0xDA,0x4E,0xA4,0xFE,0x2A,0x31,0x9A,0xF3,0xBA,0x61,\r
+0x5C,0x8D,0xE7,0x40,0x94,0x73,0x67,0xDB,0xEB,0x48,0x5E,0xE4,0xE0,0x1C,0x24,0x68,\r
+0xDE,0x66,0xAA,0xE2,0xB2,0xED,0x72,0xB3,0x79,0xAE,0x8D,0x71,0xAB,0x17,0xF4,0x33,\r
+0xE1,0xA9,0xA9,0x44,0xC1,0x9B,0x03,0xF0,0x95,0xB0,0xCE,0x63,0xC1,0x7F,0x8F,0x51,\r
+0xFF,0xA1,0x80,0x57,0x29,0x4D,0x5F,0x3F,0x33,0xEC,0x4F,0xFB,0x54,0xEC,0xC0,0xEC,\r
+0x4E,0x9E,0xD4,0x65,0x04,0x99,0xA7,0xFC,0x11,0x88,0x13,0x64,0x30,0x70,0x23,0x5D,\r
+0x07,0x22,0x94,0xB2,0x3C,0x44,0xA0,0x78,0xE3,0xEB,0x23,0xCE,0xC7,0xF6,0xB4,0xA8,\r
+0x77,0xE8,0x61,0x30,0x01,0xD6,0x83,0x0A,0xA3,0x57,0x6A,0x19,0x17,0x9A,0xB3,0x9D,\r
+0xBD,0xCD,0x8B,0xDB,0xCB,0xA6,0x01,0xFF,0x23,0x09,0xC8,0x90,0x09,0xE9,0xCE,0x25,\r
+0x60,0xF5,0x0F,0xDC,0x86,0x16,0xAD,0x4C,0x58,0x05,0xEE,0x48,0x60,0xBE,0x7A,0xE1,\r
+0x9F,0xBD,0x4A,0x54,0xAF,0xFA,0x9E,0xDD,0x68,0xD9,0xC3,0xCB,0xFA,0x10,0x3F,0x5E,\r
+0x21,0x2E,0xEF,0x6A,0x67,0xA9,0x0D,0x0E,0x0D,0xA8,0x96,0xAB,0xA2,0xA3,0xC5,0xC8,\r
+0x08,0x8E,0x65,0xBE,0x9F,0x39,0x8A,0x70,0xB2,0x20,0x24,0xA3,0x42,0xE2,0x1E,0x7E,\r
+0x14,0x43,0x40,0x09,0x1F,0x95,0x91,0xE6,0xEE,0xBC,0xE8,0xBB,0xD9,0x85,0xC9,0x10,\r
+0xE4,0xA7,0xF4,0x8D,0x42,0x63,0xE6,0xE4,0x15,0xEE,0x6C,0xEA,0x25,0x41,0x32,0x69,\r
+0x65,0xFB,0x52,0x15,0xAC,0xAE,0x60,0x5F,0x8F,0xAB,0xC2,0x55,0xF6,0x12,0xFA,0xFA,\r
+0x7E,0xFD,0x26,0xCF,0x53,0x52,0xD2,0xF1,0xD2,0xA5,0xC7,0x9C,0x28,0x8A,0x65,0x1C,\r
+0xAB,0xA2,0x02,0xA9,0x87,0x61,0x42,0xE8,0x50,0xA6,0x93,0x62,0x06,0xD4,0xC4,0x27,\r
+0xCF,0xC2,0x72,0xFD,0x77,0xEF,0xD6,0xBF,0x04,0x99,0x22,0x50,0x44,0x6B,0x25,0x87,\r
+0xC0,0x81,0x4C,0xA6,0xC1,0x17,0x1A,0x05,0xC8,0x7A,0x91,0xF4,0xE8,0xBA,0xB7,0x41,\r
+0x60,0xC3,0xF3,0x47,0x95,0x25,0x25,0xB4,0x46,0x2D,0x05,0x04,0x8C,0xEE,0xC7,0x21,\r
+0x5B,0xED,0xAD,0xE6,0x17,0xDB,0x26,0xE0,0x75,0x34,0x95,0xD0,0x59,0x88,0xE3,0x7E,\r
+0xBD,0x33,0x35,0x79,0x4A,0x12,0x28,0xE5,0x89,0x9A,0x27,0x2F,0x42,0x52,0x97,0x78,\r
+0x2E,0xE0,0x66,0xB1,0xD0,0xAD,0x6D,0x4B,0x44,0x21,0xA1,0xC1,0xC3,0xCA,0x31,0x24,\r
+0x57,0x1C,0xA2,0x4A,0x2B,0xFC,0x3F,0xCF,0xB2,0x23,0xD6,0x9C,0x33,0x4E,0x85,0xC0,\r
+0x39,0x87,0xC5,0x9D,0x77,0xE4,0xA3,0x03,0x1E,0xB5,0xCD,0x1C,0x2F,0xF9,0xA0,0x0D,\r
+0x8F,0x67,0x84,0x46,0xC8,0xEC,0x2B,0xB1,0x8E,0xCB,0x4A,0xE4,0x06,0x2D,0x2A,0xAD,\r
+0x19,0x3F,0x37,0xBC,0xAD,0x8C,0x5A,0xE4,0xDD,0x18,0xD9,0x2C,0xB8,0x13,0x8F,0x3E,\r
+0xA6,0xA5,0x99,0xF9,0x9D,0x0F,0x86,0xC9,0x31,0x89,0xEA,0x05,0x47,0x9B,0xCA,0x76,\r
+0x62,0xCC,0xCE,0x4D,0xE6,0xD7,0x8A,0xEF,0x81,0x3A,0x46,0x48,0x9A,0x9C,0x4E,0x4E,\r
+0xDA,0xD2,0xBD,0x30,0x66,0x5E,0xD4,0x4D,0xF1,0xCF,0xC4,0x82,0x50,0x77,0xA4,0x6B,\r
+0xEF,0x02,0xD1,0x37,0x26,0x89,0x68,0x04,0x63,0xBD,0xE7,0xBF,0x20,0xF5,0x51,0xA1,\r
+0x1A,0xF5,0x57,0xA0,0xD4,0x23,0x0B,0x34,0xBE,0x39,0xE0,0x87,0x69,0x22,0x11,0x1D,\r
+0xAB,0x91,0xCB,0x43,0xF6,0xBC,0x6F,0x68,0x6A,0xFA,0x18,0xAA,0xD8,0x10,0x45,0x22,\r
+0x16,0x04,0x58,0x0C,0x50,0x24,0x33,0xE9,0xBC,0x35,0x44,0x42,0xC6,0x03,0x6C,0x2A,\r
+0x74,0x6E,0x30,0x77,0xBC,0x36,0x2D,0xAA,0xCA,0x76,0x35,0x31,0xF9,0xA5,0x6F,0xE5,\r
+0x2F,0x25,0x3B,0xA7,0x2E,0xA3,0xCB,0x79,0x54,0x1E,0x20,0x17,0x7B,0x07,0x22,0x0E,\r
+0x26,0x5F,0xD4,0x39,0x61,0x76,0x7D,0x0D,0xC7,0x8B,0x9D,0x58,0x1B,0x04,0xE8,0x12,\r
+0x3C,0x0C,0x25,0xAF,0xB0,0x92,0xE8,0xA8,0x18,0x03,0x3E,0xA5,0xCC,0xC6,0xC0,0x88,\r
+0x38,0x42,0x98,0x8B,0x1D,0x86,0xD8,0x6B,0x6F,0xA7,0xD1,0xA4,0x32,0xD0,0x62,0xB2,\r
+0x84,0x12,0x56,0xD2,0xD5,0xF2,0x99,0xFD,0x67,0x07,0xB0,0xC3,0xE7,0xB6,0x46,0xED,\r
+0xDC,0x93,0x3D,0x1E,0x32,0x6C,0xEB,0xFC,0x7C,0x73,0x6A,0xC5,0x26,0x06,0xE7,0x18,\r
+0x32,0xF2,0x17,0x09,0x71,0x1D,0x98,0x8A,0xDC,0xFF,0x47,0x5E,0x39,0x8B,0x29,0x62,\r
+0xDF,0x59,0x5D,0x02,0x4F,0x4D,0xDC,0x53,0x91,0x05,0xC7,0x9E,0x9B,0x02,0xA9,0x3C,\r
+0x68,0x7C,0x41,0xCF,0x36,0xE2,0x8D,0x83,0x2D,0xAC,0x5D,0xC8,0xF7,0x37,0x79,0x3B,\r
+0x55,0x13,0x9F,0x40,0x1A,0xAE,0x71,0x2B,0x5B,0xEF,0x2C,0xBB,0x5C,0x41,0xBE,0x70,\r
+0x00,0xA6,0xA6,0x36,0xA1,0x28,0x9F,0xE6,0xBF,0xDE,0x7E,0xF5,0x6D,0x75,0xAB,0x61,\r
+0x7A,0x90,0x02,0xD1,0xF0,0x45,0x54,0xE1,0x82,0xD1,0x7C,0xFF,0xDB,0x2A,0xAE,0x95,\r
+0xE9,0x43,0x51,0x19,0x58,0x0E,0x90,0x94,0xFE,0x3E,0xC8,0x2E,0xEE,0x49,0x01,0xF8,\r
+0x0A,0x16,0x29,0xB4,0x3D,0x6E,0xE1,0xC1,0x1A,0x0F,0x9A,0x60,0xD5,0xB8,0xB8,0x4B,\r
+0x65,0x48,0x13,0x75,0xEA,0x73,0x4F,0xED,0x88,0x7D,0xB9,0x5D,0xF6,0xA9,0x9E,0x49,\r
+0xF1,0x1F,0x9D,0x85,0x6B,0x2B,0x83,0x86,0xB0,0x2F,0x72,0x59,0x95,0x90,0xBF,0xE2,\r
+0x5F,0xA3,0x10,0xC2,0x83,0xB7,0xFB,0xBA,0x19,0xE4,0xA0,0xD7,0x52,0xD3,0xA8,0xAE,\r
+0x78,0x9F,0x3F,0xDB,0xA2,0x8E,0x50,0xD9,0x78,0xC9,0x3D,0xB9,0x62,0x79,0x5A,0xCD,\r
+0x30,0xFD,0x2A,0x03,0x9B,0xF6,0xBD,0x40,0x22,0x5D,0x51,0x64,0x00,0xDE,0x9C,0x14,\r
+0xFE,0x24,0xF2,0x35,0xBA,0xCF,0x16,0x23,0x5F,0x55,0x7B,0xC7,0x71,0xC2,0x8E,0xAC,\r
+0x58,0x27,0xCD,0xFA,0xDF,0xAF,0x67,0x76,0xC2,0xD6,0x54,0x56,0xA0,0xF3,0x10,0x8F,\r
+0x4C,0x8A,0x0E,0xCA,0x96,0x83,0xEA,0x8B,0xF5,0x75,0x93,0xFE,0x2E,0x67,0x47,0x7F,\r
+0xD5,0xE9,0xD2,0x80,0xDA,0xF0,0x93,0xC0,0xFA,0x84,0x9F,0x52,0x49,0x09,0xDC,0xA8,\r
+0xA8,0x5B,0xAB,0x5F,0x5E,0xF7,0xAB,0x1D,0x90,0xE2,0x59,0xEC,0x7E,0xCE,0x7F,0x00,\r
+0x3A,0x4D,0xA5,0x81,0xF4,0xCB,0x32,0x9E,0x38,0xCE,0x15,0x10,0x43,0xCC,0x70,0x0A,\r
+0xE6,0x78,0x3E,0xA9,0xB2,0xE5,0xB5,0x5E,0xA9,0x57,0x0C,0x9A,0x8D,0x70,0x20,0x53,\r
+0xDD,0x56,0x60,0x08,0xFC,0xE1,0x91,0xE3,0xB9,0x68,0x8D,0x4C,0x16,0xAC,0x15,0x7B,\r
+0xF4,0x94,0x7D,0xB7,0xBB,0x1E,0x84,0xEA,0xDF,0x14,0x7D,0xE9,0x73,0x66,0x82,0x69,\r
+0x1B,0x30,0x0A,0xB6,0xCD,0xB3,0xDF,0x07,0x3C,0x74,0x42,0x6C,0xFF,0x56,0xD9,0x5C,\r
+0x82,0x53,0xD6,0xFC,0xAA,0xA4,0xF3,0xA4,0x08,0x3C,0xBF,0x73,0x93,0x63,0x09,0x5B,\r
+0xE8,0x86,0x0C,0x0F,0xDD,0xD8,0x3A,0x80,0xAC,0x0A,0xC5,0x94,0x1C,0x69,0xB9,0xD9,\r
+0xED,0x0D,0xEC,0x3D,0x28,0x5A,0xF0,0xF0,0x12,0xAF,0xFB,0x07,0xFB,0x01,0x63,0x20,\r
+0x53,0x52,0x1F,0x6E,0x1B,0x7F,0xE3,0xE2,0xB5,0x72,0xBB,0x57,0x8F,0xD4,0x2C,0x96,\r
+0x6D,0xF7,0xA1,0xFD,0xB1,0x43,0x7A,0x61,0x15,0xFE,0x96,0xCC,0x65,0x14,0x0B,0x06,\r
+0x80,0x5C,0xEB,0xF6,0xD8,0x87,0xCE,0x36,0x3A,0xC2,0xB1,0xD5,0x7F,0x50,0x98,0x72,\r
+0xFF,0xE1,0xAF,0x23,0x0E,0x4B,0xF2,0xD3,0xD0,0xE5,0x71,0x45,0xC4,0xA7,0x60,0xEF,\r
+0xBE,0xF9,0x55,0x65,0xF8,0x6F,0xF7,0x9C,0x4A,0x37,0x33,0x1F,0xAE,0x61,0x06,0x51,\r
+0x0D,0x92,0xF4,0x8C,0x7B,0x40,0x66,0x01,0x87,0x8C,0xB5,0xF1,0x14,0x08,0x19,0xBE,\r
+0x0B,0xD3,0x74,0xA2,0x49,0xB4,0xE7,0xDA,0x96,0x54,0xAA,0x55,0x28,0x94,0xF1,0xC6,\r
+0x3F,0xC6,0x45,0xB3,0xC4,0x48,0xEE,0xB3,0x85,0x80,0x11,0x34,0x72,0xF8,0x65,0x1B,\r
+0x29,0x64,0xBB,0x89,0xEB,0xA2,0xDD,0x24,0x6E,0x40,0x4F,0xD6,0x92,0xFD,0xEE,0x29,\r
+0xE3,0xF3,0xDE,0x9B,0xB4,0x1C,0x8E,0xD7,0x70,0x69,0x5C,0xDE,0x5A,0xB2,0x08,0xC9,\r
+0x98,0x00,0x27,0x6A,0x4B,0xC3,0xBA,0x2C,0x77,0x38,0x31,0x15,0x21,0x6B,0xB6,0xD3,\r
+0x81,0x99,0xB6,0xE0,0xDB,0x21,0x01,0x09,0x4F,0x6A,0xFA,0x11,0xF8,0x3B,0x88,0x97,\r
+0x1F,0x7E,0xB7,0x92,0x44,0xC1,0xB0,0x11,0x0F,0x6D,0xD2,0xB8,0x4E,0x64,0x8D,0x63,\r
+0xC9,0xFB,0xA3,0x38,0x41,0x9E,0x44,0xA7,0x97,0xB3,0x34,0x27,0x48,0x97,0x3B,0xDA,\r
+0xEB,0x4C,0x6C,0x13,0xEC,0x8A,0x74,0x64,0x0B,0xD7,0x85,0xC4,0x7A,0x99,0xC5,0x7C,\r
+0xF8,0xD7,0xE1,0xCC,0xD0,0xD0,0x65,0xA1,0x6A,0xDD,0xA5,0x32,0xB8,0xAE,0xA8,0xA6,\r
+0x7E,0x6C,0x2C,0x22,0x65,0x85,0x13,0x98,0x5B,0xC8,0x91,0x23,0x5C,0xFC,0x99,0xE8,\r
+0x32,0x40,0x84,0xDE,0x0A,0xB8,0x9C,0x46,0xF0,0x0F,0xE7,0x68,0x2A,0x8D,0xDA,0x9B,\r
+0x9D,0x39,0x54,0x8F,0x2F,0x0F,0x51,0x5A,0x9C,0xDF,0xD2,0x6F,0x96,0x17,0x73,0xCD,\r
+0xA3,0x9C,0xEA,0x1C,0x3E,0xB5,0x26,0x14,0xF1,0xE8,0x79,0x1A,0x8F,0x69,0x0B,0x0E,\r
+0xBE,0x4B,0xC6,0xB2,0x60,0xDA,0xE7,0x2E,0xD2,0xCE,0x68,0x18,0x1D,0x4A,0x79,0x33,\r
+0xDE,0x2E,0x93,0xC3,0x35,0x39,0x4A,0x56,0xE9,0x77,0x99,0xAB,0xF9,0x18,0x48,0x7D,\r
+0x95,0x86,0xE6,0x07,0xE6,0xAA,0x82,0x05,0xDC,0xD8,0xFA,0xC6,0x85,0xAC,0xA7,0xAC,\r
+0x42,0xC6,0xAF,0xBB,0x7A,0xEC,0xFC,0x22,0xCB,0xB6,0x16,0xDB,0x1F,0xEE,0x75,0xF6,\r
+0xA6,0x17,0x0A,0x2E,0x29,0xF6,0x6A,0xD3,0x1C,0x9E,0xD4,0x41,0xC0,0x4D,0xFD,0x0B,\r
+0x73,0x58,0x7E,0x98,0x53,0xFF,0xF4,0x3C,0x7C,0x54,0xD7,0x5D,0x53,0xF0,0x68,0x44,\r
+0xE6,0xCA,0xAD,0x7E,0x18,0xA4,0x24,0x37,0xFE,0x19,0x75,0xB6,0xCD,0xE5,0x00,0x62,\r
+0xCD,0x07,0x8D,0xCB,0x84,0xE2,0x5A,0x10,0x3E,0x5F,0x5B,0x31,0xDB,0x97,0x89,0x0D,\r
+0xBC,0x44,0xFB,0xB8,0xE5,0x0C,0x4D,0x3A,0x21,0x91,0xD6,0x4B,0x7B,0xBA,0x05,0x96,\r
+0x22,0xA3,0xFA,0xCA,0x64,0x54,0x81,0x51,0xE0,0x30,0x66,0xBE,0x60,0x60,0x71,0x90,\r
+0x56,0x6B,0x6C,0x8B,0x34,0xE8,0xD8,0x9F,0x35,0x14,0x00,0xE1,0x68,0x01,0xD1,0xF7,\r
+0x8E,0x10,0x4A,0x87,0xA4,0x0A,0x63,0xBA,0x57,0xD2,0xA7,0x38,0xF6,0x14,0xB9,0xD1,\r
+0x07,0x90,0xE8,0xD9,0xBA,0xB2,0x1E,0xC9,0x9D,0x38,0x4C,0x1D,0x86,0x96,0x4C,0x1B,\r
+0xDF,0xEB,0xCE,0xD5,0xD3,0x76,0xAA,0x9E,0x40,0xBC,0x4B,0x25,0x36,0x3A,0xFF,0x56,\r
+0x5C,0xDB,0xE3,0x09,0x49,0xC9,0xEF,0x30,0xBF,0xF9,0xC3,0x6D,0xDA,0x09,0x6E,0x7F,\r
+0xF4,0x26,0xEE,0x60,0x72,0xC6,0x5F,0x5F,0xC1,0x1A,0xD3,0x79,0xBB,0x94,0x43,0x11,\r
+0x6C,0x80,0x6F,0x3C,0xE7,0x7B,0x10,0xCC,0xDF,0x33,0xC0,0x71,0x6D,0xC8,0x8C,0xF9,\r
+0xF3,0xA2,0x33,0x58,0x83,0xCA,0xF3,0x50,0x6E,0x67,0xF2,0x4E,0xB9,0x30,0x4F,0xD4,\r
+0x59,0x50,0x03,0x3B,0x74,0x3F,0x64,0xD6,0x27,0x27,0x25,0xF2,0x64,0x37,0xCB,0xEC,\r
+0xC2,0x3C,0xE2,0x7B,0x45,0x6D,0x2A,0x32,0x45,0xE1,0x82,0x2B,0x8E,0xF7,0xEC,0x7C,\r
+0x0B,0x61,0xE7,0x75,0x9B,0x8B,0xB5,0xAA,0x5E,0x95,0x58,0x2D,0x72,0x45,0x42,0x83,\r
+0xF5,0xE3,0xB3,0x76,0xB5,0xB0,0x14,0xF4,0x8B,0xB1,0x3E,0x72,0x41,0xD5,0x5B,0x57,\r
+0xC7,0xB7,0x02,0x49,0xF7,0x10,0xF5,0x4B,0xEF,0xC1,0x6A,0x12,0xCF,0x41,0x0C,0xA7,\r
+0x3C,0xBE,0xB6,0x78,0x11,0x5F,0x15,0x83,0x01,0x5C,0xFD,0xFE,0x89,0x9A,0xBD,0xB7,\r
+0x34,0x01,0x04,0xF0,0xF1,0xE9,0xCE,0xC2,0x28,0xD6,0x29,0x5E,0x19,0x1D,0xC3,0x4F,\r
+0x2C,0x5D,0xC8,0x6C,0x6A,0x87,0x19,0xA5,0x34,0xF3,0x9E,0x93,0xB5,0x06,0x55,0xCF,\r
+0x7D,0xA6,0x4C,0x3E,0x96,0xFE,0xE2,0x61,0xC4,0x47,0x1A,0x77,0x43,0x71,0x57,0x92,\r
+0x13,0x3D,0x2B,0xE9,0x76,0x48,0x39,0x20,0x26,0xC0,0xBB,0x80,0x70,0xE1,0x4E,0x46,\r
+0xCC,0xC2,0xD0,0xDD,0x85,0x33,0xC8,0xD9,0x5D,0x7E,0x62,0x9A,0x77,0x8C,0x1F,0x8D,\r
+0x72,0x9D,0x23,0x8E,0x12,0xF9,0xDA,0xBC,0x95,0x98,0x2D,0x7A,0x69,0x9F,0x36,0x85,\r
+0x98,0xB2,0xB4,0xBD,0xB0,0xEF,0xE0,0x42,0x75,0x13,0x28,0x48,0x82,0xC1,0xF6,0x67,\r
+0x5A,0x9A,0x63,0x27,0x3A,0x3B,0x40,0x6B,0x7D,0xB3,0x49,0x2F,0x0C,0x55,0xA1,0x97,\r
+0x4E,0x37,0xA0,0x17,0x8D,0x19,0x6B,0xA4,0x4F,0x4D,0x47,0x89,0x90,0xE4,0xC5,0x74,\r
+0x11,0x32,0x16,0xE3,0x08,0xCF,0xC1,0xB0,0x49,0xFB,0xB4,0x30,0x08,0x02,0x1B,0xEB,\r
+0xF1,0xAD,0x0E,0x52,0xEF,0x51,0xB3,0xB1,0xFF,0xFE,0xEB,0xC4,0x48,0x2A,0x1C,0x42,\r
+0x57,0xAE,0x31,0x9D,0x2A,0x50,0xA5,0xEC,0x78,0xEE,0x80,0x21,0x3D,0x61,0xB4,0x86,\r
+0x93,0xC7,0x66,0x29,0x81,0xBD,0xAE,0xA6,0x62,0x7D,0xC4,0x55,0x12,0x46,0x88,0x9F,\r
+0xAF,0x6D,0xE5,0xB0,0x24,0x83,0x3D,0x18,0x88,0x5A,0x04,0xC5,0xB2,0x6B,0x04,0x04,\r
+0x8A,0x5E,0xF7,0xA3,0x7B,0x3D,0x6E,0xEB,0xFC,0x15,0xD1,0x73,0x15,0x2B,0xD9,0x54,\r
+0x64,0x3F,0xDD,0xB4,0xA5,0xDB,0xF1,0x73,0x2F,0x87,0x44,0x95,0x91,0x7A,0x22,0x06,\r
+0x90,0x0D,0x06,0x35,0xE4,0xDD,0xDF,0xF3,0x13,0x6F,0xD8,0xED,0x80,0x65,0xFA,0xA2,\r
+0xBF,0x8E,0x9B,0xA4,0x8F,0x6E,0x36,0x52,0xA9,0x70,0xB1,0x02,0x4D,0xE3,0x41,0x4C,\r
+0x9B,0x78,0xD4,0xA1,0x97,0x2F,0x70,0xA8,0xC3,0x16,0x77,0xBC,0xD7,0xA1,0x93,0x16,\r
+0x31,0x8A,0xE4,0xC2,0x20,0x0D,0x5B,0x67,0x11,0x63,0x7C,0x28,0xBE,0x5D,0x1E,0x1F,\r
+0x35,0xC4,0x59,0xE6,0x0E,0x36,0xFA,0x39,0x8A,0x56,0xA0,0x00,0xAE,0xDC,0x21,0xC9,\r
+0x1B,0x82,0x99,0x61,0x3B,0xEA,0xD2,0xA2,0x44,0x06,0x1C,0x59,0x3F,0xC5,0xB8,0x43,\r
+0x27,0x28,0x1A,0xF8,0x2D,0x78,0x0C,0xAC,0x79,0x09,0x1E,0x53,0x97,0x89,0x94,0xBF,\r
+0x08,0xAB,0x87,0x69,0xF0,0x38,0x5C,0x0B,0x1B,0xCF,0xB9,0x8A,0xAB,0x15,0x7C,0xC7,\r
+0x74,0xDC,0xA3,0xA0,0x25,0x52,0xAF,0xD1,0x94,0x7F,0xB3,0x08,0x0F,0x6F,0x4A,0x20,\r
+0x63,0xBB,0x00,0x8C,0x46,0xCB,0xE5,0x0D,0xF8,0xAF,0x86,0x0F,0x3B,0x92,0x02,0x3F,\r
+0xCE,0xCD,0xED,0xD7,0xE2,0x24,0xE4,0x7A,0x74,0xF4,0xB6,0x3A,0xD8,0xAD,0x62,0xBA,\r
+0x26,0xED,0x47,0xEE,0x8B,0xE0,0x50,0x2D,0x07,0xEA,0x0E,0x47,0x25,0x81,0x2B,0x37,\r
+0x5E,0xD4,0xDE,0x03,0xE9,0xA8,0x88,0x38,0x65,0x2C,0xA9,0x9E,0x7F,0xED,0xBF,0xEA,\r
+0x67,0xF5,0xBD,0xA8,0xD5,0x8F,0x91,0x17,0x55,0xDE,0x03,0xFD,0x1E,0x70,0x92,0x84,\r
+0xFB,0x1D,0x81,0xD0,0x69,0x21,0xD6,0x9A,0x92,0xC9,0x40,0xB1,0xB7,0xA2,0x59,0x0A,\r
+0x20,0xAC,0xC7,0xC0,0x9F,0x05,0xD3,0xD5,0x4E,0xAA,0xD9,0xFB,0xFD,0x4F,0xF2,0x01,\r
+0x53,0xE0,0x8C,0xB9,0xFC,0x9C,0x99,0x09,0x29,0x31,0xB7,0x2C,0xF2,0x43,0x03,0xAD,\r
+0x7F,0xA9,0x71,0x34,0x51,0x88,0xA9,0xCA,0xA7,0x66,0x23,0xDC,0xC5,0x84,0xA0,0x05,\r
+0x1F,0xCC,0x24,0x45,0x52,0x2E,0x66,0xF5,0x76,0xF8,0x12,0xFF,0x58,0xAB,0x23,0x94,\r
+0xF2,0xA4,0x5D,0x47,0x68,0x24,0xA2,0x61,0xA7,0x32,0xAA,0xF4,0x36,0x29,0x1D,0x69,\r
+0x3C,0x29,0x27,0x58,0x45,0xA8,0x02,0xFA,0xD4,0x43,0xE9,0x82,0x21,0x48,0xF3,0x43,\r
+0x9D,0x99,0xD2,0x99,0x9F,0xDC,0x19,0xFC,0xA6,0xDD,0x0E,0x83,0xED,0xC9,0xAB,0x28,\r
+0xB9,0xFF,0x8D,0x4C,0xFE,0x7C,0x11,0x9B,0xE7,0xA9,0xC6,0x15,0xB4,0x99,0x17,0xE6,\r
+0x1B,0xE9,0xB7,0xB2,0x11,0xD8,0x66,0x9A,0xD7,0xBD,0x6B,0xD6,0x90,0xD7,0x13,0x5B,\r
+0x33,0x2B,0x2D,0x65,0xB2,0x50,0xB9,0x67,0x42,0x59,0xBA,0x73,0x06,0x84,0x09,0xAA,\r
+0xF9,0x28,0x31,0x05,0x0F,0xC5,0x2A,0x28,0xF4,0x8C,0xF5,0x07,0x98,0xFE,0x00,0x45,\r
+0xB4,0x8A,0xDA,0x87,0x1A,0xAD,0xB4,0x0E,0x12,0x19,0x67,0xD4,0x48,0xB5,0x5B,0x4E,\r
+0x45,0x86,0x76,0x88,0x96,0xA6,0xF6,0x62,0x70,0x5C,0x31,0x93,0x4A,0x93,0x4A,0x6D,\r
+0x63,0x97,0x74,0xAB,0xB5,0xD4,0x64,0x5F,0xDE,0x41,0xE6,0xBF,0x8B,0xCD,0x25,0x57,\r
+0xDA,0x66,0xC7,0x90,0xE7,0xE5,0x80,0x11,0xAF,0x21,0x83,0xEA,0x26,0x98,0xC6,0x2F,\r
+0x75,0x05,0xAA,0xA5,0x53,0x0A,0xFC,0xC0,0x6B,0x6A,0x2B,0x9F,0xEE,0x4B,0x55,0x7C,\r
+0x70,0x5A,0x5E,0x13,0x51,0x05,0xC1,0xCA,0xA0,0x07,0x7A,0x98,0x09,0x7D,0x2F,0xD8,\r
+0x65,0x6E,0x4F,0x22,0x03,0x34,0x25,0x84,0x4E,0x81,0xC1,0x55,0x7F,0xC8,0x7A,0xE1,\r
+0xA2,0x18,0x04,0x89,0x72,0x77,0x53,0xF7,0xB2,0xCD,0xED,0xFD,0xF0,0xA7,0x47,0x3F,\r
+0x72,0x2D,0x03,0xE5,0xE8,0xDE,0xEF,0xA1,0xE3,0x62,0x94,0x2D,0x3D,0x82,0xF0,0x23,\r
+0xF1,0x02,0x92,0x78,0x65,0x10,0xF0,0xDB,0x14,0xC3,0x13,0xCF,0x79,0xBC,0xA0,0xFA,\r
+0x7B,0xD6,0x32,0x51,0xE2,0x6E,0x60,0x23,0x9C,0xCB,0xAC,0x7D,0xA2,0x5C,0x16,0xBB,\r
+0x5E,0x61,0xFF,0x4D,0xF9,0xF8,0xCC,0xA3,0x00,0xD3,0xF0,0xB1,0x75,0xC7,0x78,0xDC,\r
+0xEA,0xE5,0x1B,0xBD,0x8E,0xFA,0x3A,0xFE,0x52,0x82,0x0B,0x35,0x8E,0x3B,0x01,0x18,\r
+0x4C,0x7D,0x47,0x3C,0x08,0x41,0xF7,0x10,0x17,0x3D,0x91,0x9B,0x46,0xE8,0x92,0x4B,\r
+0x38,0xA7,0x41,0x27,0xBA,0xEF,0x0B,0xEF,0x19,0xF4,0xCC,0x9E,0xD9,0x36,0x74,0xD3,\r
+0x1C,0xC1,0x1E,0xF2,0x2A,0xF6,0x38,0x3B,0x1A,0x0A,0x4E,0xCA,0x78,0x18,0x4F,0x8D,\r
+0x6C,0x95,0x7E,0x96,0xBE,0xA1,0xB6,0xCB,0x25,0x38,0x1A,0x7B,0x99,0x5A,0xEF,0x32,\r
+0xB7,0x2C,0x15,0xB8,0x6B,0xEE,0xC2,0x7D,0x0C,0x0B,0x8B,0x97,0x33,0xDF,0x39,0x26,\r
+0x9E,0x3F,0x1D,0xA6,0x37,0x21,0x14,0x95,0x50,0x93,0x2D,0x16,0x7C,0x4A,0x84,0xB5,\r
+0xCA,0x0D,0x22,0x17,0xCF,0xE2,0xC0,0xB8,0x34,0x0C,0x0F,0x4A,0x9F,0x2E,0x35,0x29,\r
+0x8A,0xDA,0x9E,0x5E,0xC8,0x66,0x1D,0x80,0x57,0xA6,0xFD,0x7A,0x08,0xD9,0xC0,0xAF,\r
+0x7F,0x58,0x54,0x2E,0xEB,0x14,0x8F,0xBD,0xEB,0x71,0xBD,0x33,0x0F,0x09,0xF5,0xC3,\r
+0x95,0xB3,0x71,0xE4,0x69,0xE1,0xFF,0x77,0xB5,0xF8,0x3D,0x91,0x72,0x17,0x4D,0xB0,\r
+0x11,0xB4,0x49,0x39,0xC5,0x52,0x4F,0x3A,0xB9,0x20,0x46,0xB7,0xC6,0x7E,0x89,0xE7,\r
+0x54,0x3C,0x01,0xC6,0xF6,0xC3,0xA3,0x13,0x65,0xA3,0x76,0x9A,0x83,0xE4,0x36,0x49,\r
+0x2A,0xBB,0xF9,0x56,0x85,0x8F,0xE8,0x6A,0xD8,0x9B,0x92,0xA4,0x9D,0x08,0x24,0x0A,\r
+0xC2,0x27,0x81,0x6A,0x9A,0x57,0xF9,0xCE,0x59,0x6F,0xA0,0x7F,0xB3,0x49,0x22,0x8A,\r
+0xDD,0x4E,0x6E,0xD0,0x1C,0xEC,0x34,0x20,0xC8,0x40,0x23,0xE2,0x5A,0x22,0x91,0x2B,\r
+0xBB,0x88,0xD0,0xBA,0x5E,0x3E,0xAE,0x7A,0xCD,0x64,0xD5,0xAD,0x1C,0x3A,0xD0,0xD1,\r
+0x43,0x7F,0x4D,0x01,0x9E,0x19,0x44,0xEA,0xF1,0xA8,0x03,0x48,0xC9,0x87,0xAF,0x95,\r
+0xD0,0x3B,0x39,0x1B,0xB9,0x25,0x6B,0xF3,0x45,0x6C,0x6A,0x1F,0xC2,0x2C,0x42,0xDF,\r
+0xF7,0xFB,0xA9,0xF1,0x94,0xA9,0xCB,0x68,0xDC,0x50,0xC0,0x9C,0x51,0x89,0x7C,0x61,\r
+0xB8,0x2E,0x1F,0x85,0xD4,0x74,0x6C,0x38,0xCF,0x75,0xF3,0x8E,0x02,0xD6,0xC2,0x92,\r
+0x1E,0xB6,0x43,0x04,0xAA,0x0C,0x75,0xFB,0x4B,0xA5,0x37,0x1A,0x2C,0x97,0xC4,0x12,\r
+0xE0,0xB8,0xE5,0x36,0x1B,0x68,0xE9,0x18,0x7B,0xB1,0x9A,0xD9,0x07,0x20,0xE6,0xDD,\r
+0x56,0x4B,0x5C,0x30,0xFD,0xB6,0x71,0x87,0x8F,0xEE,0x9F,0x6F,0xAD,0xA5,0x30,0xC9,\r
+0x53,0x14,0xA8,0x86,0xD5,0xB1,0x31,0x2E,0x3E,0x0E,0x00,0x77,0xDF,0x42,0xAE,0xC8,\r
+0x6D,0x44,0xEC,0x5F,0x1E,0xE3,0x09,0x2A,0x85,0xEC,0x90,0x52,0x55,0xDB,0xB7,0x59,\r
+0xD3,0x9D,0xF6,0x24,0x73,0xB2,0x0E,0xE1,0xB1,0x33,0x6F,0xA9,0xA4,0x28,0xCC,0xA0,\r
+0x35,0xD2,0x16,0xEC,0x60,0x9B,0x10,0xE9,0xE2,0x8D,0x30,0x5A,0xB6,0xBF,0x06,0xC5,\r
+0xBE,0xD7,0x24,0x0C,0x3E,0x5B,0xFB,0x0B,0xD1,0x67,0x1F,0xCD,0x8C,0x1D,0x10,0x3B,\r
+0x07,0x26,0x97,0x37,0xB0,0x5F,0x84,0x6D,0xAC,0xDF,0x01,0xBE,0xBF,0x32,0xFA,0xAC,\r
+0x9C,0x48,0x40,0x50,0xBC,0xAE,0x8B,0xC1,0xD5,0xAC,0x4D,0xF5,0xF5,0x51,0x63,0x70,\r
+0xCB,0xDC,0xB0,0xDE,0x7B,0x0D,0xBC,0x69,0x58,0x80,0x04,0x08,0xC5,0xFC,0x77,0xB3,\r
+0x55,0xED,0x93,0x0F,0x54,0x8E,0x21,0xF8,0x29,0xE0,0x61,0x5D,0x0A,0xFF,0xD1,0x8C,\r
+0x47,0xF1,0x2B,0x7E,0x7E,0x86,0x5C,0x5B,0x82,0xD9,0x40,0x3E,0x3C,0x26,0x1F,0x54,\r
+0x81,0x56,0xF2,0x1C,0x12,0x12,0x06,0x86,0x6F,0xA1,0x79,0xA7,0xE4,0x44,0x57,0x41,\r
+0x73,0xFC,0x91,0x2C,0x8F,0x3F,0x67,0xE8,0xC4,0x98,0x58,0xC4,0xFD,0x78,0x70,0x6E,\r
+0x64,0xBF,0xDD,0xEB,0x5D,0xF4,0xCE,0x66,0xBC,0x04,0xB0,0xF8,0xBA,0xC4,0xDE,0xE3,\r
+0x62,0x46,0xE6,0x62,0xEA,0xD1,0xD2,0xAB,0x05,0xF7,0x06,0xFE,0x30,0x5D,0xC7,0x72,\r
+0xD2,0x4C,0x64,0xED,0x90,0xE7,0x76,0x4C,0xCC,0x8B,0x71,0xDA,0xC3,0x88,0xAD,0xA8,\r
+0x02,0x79,0x63,0x81,0x6D,0xAF,0x42,0x53,0xE0,0x9C,0x16,0x79,0x89,0xEB,0x34,0x74,\r
+0x59,0x49,0x56,0x0D,0x52,0xCF,0xA1,0xD6,0xBB,0x31,0x60,0x94,0x88,0x4F,0xDB,0x03,\r
+0xCE,0x83,0x44,0x68,0xA2,0xB3,0xC7,0x73,0xAE,0xCE,0x27,0x9D,0x37,0x8D,0xF2,0x1E,\r
+0xFB,0x5F,0x6C,0xF3,0x23,0x8C,0xD7,0xA5,0x8A,0xCA,0x69,0x20,0x96,0xA3,0xC9,0x40,\r
+0xAB,0xE3,0x35,0x3D,0x3A,0x15,0x46,0x2F,0x0D,0xE4,0x2F,0xE0,0xBE,0x96,0x15,0xDB,\r
+0xA4,0xE1,0x3F,0x00,0x76,0x39,0xEE,0xD3,0x94,0xD8,0x85,0x63,0x60,0x80,0x87,0xD5,\r
+0x36,0xB1,0x7E,0x26,0x1D,0xF3,0x84,0x74,0xB6,0x57,0x79,0xC6,0xB8,0xEB,0x41,0x18,\r
+0x03,0x61,0x12,0x21,0xB4,0x69,0xD2,0xC8,0x66,0x2E,0xD6,0x97,0xA4,0x5C,0x64,0xD5,\r
+0x75,0xA6,0xB9,0x6A,0xF7,0x18,0xA1,0xBE,0xCE,0x02,0x9A,0x6B,0x7A,0x61,0x0B,0x5A,\r
+0x41,0xB3,0x88,0x7B,0xC6,0x4A,0xEF,0x5A,0x03,0xB9,0x1C,0x85,0x43,0x34,0xBE,0x2C,\r
+0x1E,0xB6,0x3E,0x8F,0xC9,0x48,0xE5,0x67,0x04,0xE8,0x71,0x4E,0xE7,0x4E,0x88,0xCB,\r
+0x7D,0x19,0x0B,0xE2,0x26,0xFC,0x34,0x1B,0x71,0x40,0x3A,0x8A,0xB4,0xDD,0x5B,0x03,\r
+0x8C,0xA0,0x30,0x51,0x17,0xAE,0x7A,0xFF,0x24,0x25,0x5A,0xFB,0xCC,0x3E,0x0E,0xAE,\r
+0x9D,0x86,0x13,0x53,0x65,0x8D,0x47,0x6D,0x08,0xF2,0x47,0x55,0xF6,0x51,0x50,0x6F,\r
+0x91,0x77,0x1C,0xFF,0x6E,0x01,0x2B,0x2F,0x4F,0xA4,0x02,0x37,0xD5,0x40,0x76,0x6D,\r
+0x33,0x3A,0x9E,0x14,0x06,0x14,0x0D,0xB1,0x9C,0x36,0x97,0xD1,0xDE,0x1B,0x3D,0xBD,\r
+0x30,0xF0,0xFE,0x08,0x93,0xA9,0x42,0x22,0xE8,0x79,0x42,0x67,0x31,0x12,0x47,0x23,\r
+0xF2,0xD8,0x29,0x92,0x1B,0x0A,0xBF,0xFD,0x4D,0xA8,0xA6,0xF2,0xC0,0x08,0x14,0xB5,\r
+0xE4,0x7A,0xD7,0xA8,0xBF,0xE5,0xBE,0x8A,0x8E,0x05,0xB2,0xC2,0x7D,0x0C,0x5A,0x91,\r
+0x82,0x5E,0x02,0xF7,0x1F,0x84,0xD9,0x82,0x18,0xCD,0xC6,0x83,0xB3,0xB0,0x0A,0xC8,\r
+0x32,0xFF,0xC3,0x02,0x6B,0x5E,0xDF,0x99,0x19,0x2A,0x58,0xF1,0xD8,0xE8,0x8B,0x04,\r
+0xBF,0x31,0xDC,0x78,0xE7,0x73,0x44,0x39,0x6F,0x69,0x29,0x82,0xF2,0x06,0xEA,0x13,\r
+0x27,0x97,0x5D,0x24,0x00,0xED,0x36,0x38,0x01,0xB5,0xB8,0x40,0xD2,0x2D,0x27,0xA6,\r
+0xAF,0xD2,0xA2,0x6C,0x91,0xDE,0x1F,0xD4,0x2C,0x85,0x3B,0x9C,0x7C,0x92,0xBD,0xE3,\r
+0xA8,0x56,0x7F,0x54,0x22,0x72,0x52,0x64,0x0A,0xFE,0xE3,0x90,0x2B,0x56,0xD4,0x57,\r
+0x43,0xBC,0xB5,0x71,0xD7,0xF0,0x98,0x14,0xA8,0x7E,0x6A,0xCE,0x58,0xEE,0xCA,0x2A,\r
+0xC1,0x49,0xC5,0xBB,0xA5,0xD3,0xA5,0x86,0xE1,0x3E,0xBD,0x72,0x34,0xDB,0x1A,0x2D,\r
+0x16,0x09,0x8C,0x07,0x21,0xD4,0x9D,0x5B,0xD1,0xCC,0x17,0x11,0xB2,0x2E,0xED,0xBA,\r
+0x24,0x5D,0x3D,0x38,0xE2,0x2C,0xB0,0x8F,0x8D,0xEE,0x88,0x75,0x2E,0x9F,0x89,0x59,\r
+0x37,0x74,0x23,0x30,0x2D,0x70,0x58,0x59,0x0C,0x48,0x10,0x29,0xBD,0x22,0x1C,0x16,\r
+0x8E,0xAF,0x0D,0x5B,0x62,0xA5,0xEE,0x2D,0xE0,0xD9,0x23,0x00,0xA9,0xF4,0x99,0xBC,\r
+0xDA,0xDF,0x69,0x3B,0x35,0x31,0x1E,0xA3,0x51,0x8D,0x11,0x3F,0x16,0x54,0xDB,0x5D,\r
+0xBC,0xFB,0xBC,0x64,0x2C,0xA1,0xCA,0x90,0x05,0x0F,0xEF,0x3C,0x48,0x6F,0xF5,0xFC,\r
+0x66,0x8F,0xA7,0x62,0x82,0x13,0x35,0x6C,0x00,0x52,0x26,0x32,0xD0,0x89,0x2B,0x63,\r
+0xFE,0x29,0x26,0x3E,0x39,0x95,0xDB,0xA1,0xAE,0xC8,0x99,0x77,0x83,0x1A,0xF8,0xAB,\r
+0x7A,0x9D,0xD6,0xDA,0x3B,0xE2,0x86,0x57,0x2A,0x33,0xC8,0x25,0x47,0x63,0x04,0x50,\r
+0xCD,0xB8,0xCA,0x17,0xAD,0xF9,0x06,0xFB,0xE6,0x6F,0xD0,0xB9,0x20,0x0D,0x9F,0x87,\r
+0x19,0x32,0xE3,0xB7,0xD3,0x7E,0xFE,0x6B,0x54,0xD0,0xD8,0x31,0x61,0xBB,0x7F,0x5C,\r
+0xCC,0x7D,0x97,0x01,0x98,0x25,0x2E,0x60,0x56,0xDC,0x7C,0xF4,0xA0,0x0B,0xDE,0xA9,\r
+0xC9,0xF6,0x77,0x33,0x58,0x7B,0xCC,0x8B,0xC1,0xF3,0x96,0xC7,0x5E,0x1D,0x7C,0x93,\r
+0x86,0x10,0xBF,0xD3,0x71,0x68,0xC4,0x95,0x32,0xAC,0x28,0x94,0x3B,0xD7,0xEB,0x81,\r
+0x5F,0xAE,0xC4,0xC9,0x20,0x05,0x0F,0x92,0xC9,0x53,0xF7,0xA0,0xC2,0xAC,0x18,0x70,\r
+0x0F,0x90,0x1D,0x8D,0x72,0xCE,0x0B,0xAA,0xEC,0xC3,0x15,0x1B,0x53,0xB5,0x81,0xFA,\r
+0x50,0x95,0xAB,0x79,0x75,0xE6,0xA2,0xEA,0xF4,0x5C,0xF5,0xAA,0x52,0x2B,0x66,0x88,\r
+0xA3,0x23,0xAD,0xC0,0xAB,0x00,0x3D,0x72,0x42,0x59,0xAA,0x5E,0x46,0xFD,0xE3,0x22,\r
+0xAD,0xDD,0x9F,0x66,0xCF,0xB1,0xDE,0xEE,0x81,0xF4,0xBE,0x6E,0x89,0xDF,0x54,0x09,\r
+0x35,0x7B,0x1E,0x3A,0xB7,0xCF,0x1D,0xF7,0x15,0x30,0x6E,0xEA,0x09,0xD9,0x15,0x27,\r
+0xE0,0x34,0x6A,0x8C,0x6A,0x8F,0x4D,0x50,0x07,0x03,0x4B,0xF9,0xFA,0x67,0x4A,0x74,\r
+0x20,0x13,0x80,0x1C,0xE6,0xA2,0xD6,0xF0,0x84,0xA9,0x77,0x60,0x44,0x59,0xEF,0xE7,\r
+0x64,0x80,0x9A,0x68,0xDA,0x85,0xCF,0xDF,0xD3,0xC0,0xB3,0xD4,0x0E,0xB4,0x44,0xEC,\r
+0x93,0x78,0x21,0xF5,0xFD,0x45,0x5F,0x35,0x36,0x16,0x7F,0xE8,0x4A,0xCB,0xF9,0x39,\r
+0x55,0x1E,0x4B,0x4B,0x2F,0x07,0x05,0xAF,0x79,0xE0,0x5B,0xED,0xB0,0x8A,0xE1,0x7F,\r
+0x3C,0x01,0xF1,0xA4,0x94,0x81,0xEB,0x62,0xE4,0x63,0x74,0x7C,0x11,0x39,0x8A,0x96,\r
+0xA0,0xE9,0xCD,0xDC,0x4C,0x9E,0x4F,0x73,0x3F,0x51,0x80,0xFD,0x91,0x3F,0xCB,0xB8,\r
+0xFA,0x67,0x9B,0x1A,0xFA,0x6D,0xF6,0x75,0xF8,0x46,0xC3,0xB1,0x4E,0x9C,0x43,0x45,\r
+0xF8,0x68,0xA6,0x10,0xD6,0x21,0x0A,0xDD,0x7B,0xEC,0xFF,0x28,0x40,0x0E,0x55,0x9B,\r
+0x44,0x38,0x68,0x49,0x4F,0x38,0x80,0x4C,0xBB,0xAA,0xD1,0xAF,0xDB,0xD2,0x60,0xB3,\r
+0x98,0x0D,0xF3,0x61,0x70,0xB9,0x56,0x5C,0x06,0xE4,0xD5,0x8B,0x85,0xE9,0x4E,0x12,\r
+0x52,0x9A,0x96,0x73,0x0C,0x49,0xF3,0x3A,0x0F,0xA3,0x2A,0x9E,0x98,0xC0,0x8C,0xAD,\r
+0x62,0xC1,0x1A,0x46,0x6C,0x76,0x76,0xD9,0xE2,0xD5,0x87,0xC5,0xEF,0x2F,0x28,0xAC,\r
+0x57,0x11,0x76,0x41,0x24,0x8B,0x69,0xED,0x41,0xB2,0x90,0xE9,0x33,0xB6,0x4B,0xE6,\r
+0x5D,0xA1,0xF9,0xC3,0x12,0xF1,0x8E,0x49,0x65,0xC5,0xEC,0x20,0xE9,0xDC,0x9E,0x15,\r
+0xA4,0xA7,0x70,0xF8,0x37,0x46,0x43,0x55,0x63,0x73,0x1F,0x99,0x78,0xC5,0x07,0x9F,\r
+0xE7,0xB0,0xB7,0xB4,0xFC,0x94,0xCD,0xFC,0x5F,0x9B,0x83,0xE1,0xF5,0x6B,0xBB,0xD8,\r
+0x4D,0x42,0x87,0xD7,0xD1,0x09,0xA3,0x9D,0x3C,0xBA,0xBA,0x4A,0xDA,0x4C,0x87,0xC1,\r
+0xEA,0x84,0xE5,0x0E,0x45,0x65,0x7E,0xC7,0xA5,0x83,0xC2,0xA7,0xCF,0x04,0xE5,0x19,\r
+0xF6,0x96,0x94,0xB6,0x4D,0x4F,0xDD,0xBA,0xC6,0xA2,0xFB,0x0C,0x17,0xCA,0x3C,0x2F,\r
+0xC7,0x08,0x45,0x95,0xCE,0x60,0x4C,0x27,0x93,0xC7,0x9B,0x7D,0x28,0x6C,0x3F,0xE0,\r
+0x53,0x5F,0xCB,0x65,0x6D,0xA7,0xE4,0x10,0x6E,0x8E,0xB7,0xF0,0xEB,0x78,0x92,0xD0,\r
+0x3D,0xC4,0xAC,0xB2,0x9C,0xAB,0x48,0x1F,0x25,0xC2,0xC4,0x89,0x37,0xE1,0xF1,0x9A,\r
+0xAA,0xF6,0x72,0x86,0xF9,0xD8,0xA0,0x8B,0xD1,0x5E,0x9D,0x41,0xE4,0x06,0x76,0x9D,\r
+0x8E,0x3F,0x05,0xFA,0x0A,0x02,0xCA,0x5E,0x61,0xDC,0x12,0x4B,0xD2,0xA2,0x91,0xE7,\r
+0xE4,0x81,0x63,0x3C,0xB2,0x73,0xD6,0x4C,0x5A,0x6C,0x7D,0x44,0xCC,0xD1,0xEC,0x5F,\r
+0x09,0xDA,0x15,0x91,0xB3,0x04,0x39,0xE8,0x01,0x59,0xF1,0x74,0xAC,0x32,0x69,0x60,\r
+0x50,0xB0,0x6A,0xC7,0xAC,0x30,0xC4,0xA0,0xF8,0x56,0x83,0x52,0x8F,0xA7,0x9F,0x2E,\r
+0xED,0x94,0x24,0xC3,0x0D,0x6E,0xFF,0x8E,0xCD,0x7E,0x18,0x8E,0xB0,0xB7,0x49,0xAF,\r
+0x13,0xAE,0x86,0xD5,0x5A,0xA5,0x8A,0x83,0xA7,0x05,0x70,0xEC,0x3A,0x9E,0xE9,0x7B,\r
+0x90,0x37,0x2C,0xE9,0x84,0xAB,0x18,0x95,0xA8,0x0F,0x4D,0xEE,0x16,0x36,0x15,0x37,\r
+0x85,0xEF,0x4E,0xA1,0xCF,0x00,0x6E,0x52,0x9F,0x7A,0x20,0x45,0xAD,0xFB,0xFB,0xB1,\r
+0xCE,0x96,0x02,0xD2,0x85,0xDC,0xF7,0x31,0x04,0xAD,0x47,0x2B,0x5C,0xF4,0x57,0xBD,\r
+0x2D,0x13,0x62,0xED,0x30,0xFC,0xDC,0xFC,0x56,0xA9,0x7F,0xE0,0x8D,0x51,0xC2,0x59,\r
+0x78,0x62,0x07,0x8D,0xFF,0xC3,0x7A,0xFF,0xC8,0x8A,0xAE,0xD1,0x0E,0xCC,0x53,0x76,\r
+0xD7,0x55,0x7A,0xAC,0xDE,0x31,0x5A,0x47,0x82,0xC8,0x6C,0x5B,0x11,0x76,0xBC,0x1F,\r
+0x4E,0xB8,0x43,0xD4,0x06,0x24,0x12,0x25,0x44,0x11,0x0E,0xFC,0x85,0x2C,0x61,0x73,\r
+0x88,0x86,0xB3,0x09,0x80,0x93,0xD3,0xC7,0x67,0xE7,0x9B,0xB2,0xF7,0xBE,0x5C,0x50,\r
+0xB4,0xFE,0x5B,0x95,0xC7,0x1E,0x7D,0x7B,0x70,0xAB,0x5C,0xF1,0x3C,0x17,0xD2,0x82,\r
+0xA9,0x41,0x99,0xBC,0x3D,0xAD,0xEB,0x23,0xE3,0xDF,0x46,0xB5,0x6B,0x99,0x22,0x16,\r
+0x6A,0x71,0x34,0xA8,0x16,0x62,0xC9,0x94,0x1D,0x79,0x74,0xBB,0x0F,0x05,0xC1,0xA7,\r
+0x07,0x04,0x03,0x03,0xE5,0xB8,0xA3,0x41,0x50,0x92,0xF6,0x19,0xB2,0x41,0x14,0xD8,\r
+0x1F,0xB5,0x9C,0xE3,0x97,0xB9,0x3D,0xA6,0x55,0x66,0x40,0x46,0xB5,0x01,0xBD,0xF0,\r
+0xD9,0x8B,0x6C,0x3E,0x9E,0xD0,0xC1,0x2B,0xD0,0xCC,0x54,0x90,0xB1,0x7E,0xDB,0x7E,\r
+0x22,0xBF,0x93,0xE1,0x6F,0x29,0xBA,0xD8,0x6E,0xD6,0x2F,0x49,0xE0,0x79,0x10,0x13,\r
+0xBD,0xEB,0x1C,0x6A,0xB6,0x4B,0x1D,0x1E,0xBD,0x1E,0x7C,0xDA,0x58,0x8B,0x31,0x33,\r
+0x2A,0xD8,0x33,0x80,0x8C,0xB5,0x0B,0xBC,0x36,0x2C,0x9C,0xDF,0x98,0x60,0xD3,0x6D,\r
+0x0F,0x63,0xA3,0x62,0x89,0xFA,0x2F,0x4A,0xC1,0xBB,0x1A,0x2A,0x54,0x89,0xF4,0x97,\r
+0xD4,0xE2,0x91,0x96,0xA7,0x7A,0x29,0x0B,0x29,0xC3,0x26,0xB6,0x8C,0x98,0x50,0x88,\r
+0xDD,0xF7,0xD6,0x69,0x26,0xA1,0xDD,0x39,0xB8,0xEA,0xCA,0x85,0x3D,0xDE,0x40,0x53,\r
+0x92,0xF2,0x20,0x4D,0x60,0x5B,0x9C,0x21,0xDE,0x54,0xA0,0x43,0xEF,0x44,0x1A,0x11,\r
+0x6F,0x7F,0x69,0x61,0xF8,0xAF,0x4F,0x2F,0xD3,0x03,0x6B,0x36,0x26,0x1B,0xC9,0xB4,\r
+0x38,0xCB,0x00,0xA5,0xF3,0xE5,0xA2,0x84,0x40,0x77,0x71,0x72,0x1A,0x34,0xD0,0x93,\r
+0xFE,0xF5,0xF0,0x78,0x38,0xE2,0xCF,0xD5,0xBB,0x25,0xF5,0x23,0x77,0x1C,0x02,0xD9,\r
+0xEC,0xE6,0xC3,0x5D,0x6B,0x11,0x71,0x8A,0xF4,0x93,0x81,0xF6,0xAA,0xBB,0x52,0x99,\r
+0x66,0x6A,0x2E,0x9E,0x46,0xC5,0x89,0x49,0x9D,0x27,0xD6,0x32,0x22,0x64,0xAF,0x3A,\r
+0xE7,0x36,0x88,0x06,0x09,0x56,0x34,0xDC,0xB4,0x2F,0xC8,0x21,0xED,0xB2,0x47,0x66,\r
+0x0A,0x6D,0xFE,0xAB,0x32,0xDF,0xCD,0xDA,0x89,0xA4,0x2E,0xD7,0x65,0x6D,0xBA,0xC5,\r
+0x3A,0x0E,0x0C,0x01,0xA5,0x59,0x38,0x2D,0xC9,0x18,0x67,0x00,0xE1,0xB0,0x82,0xC2,\r
+0xE1,0x8F,0x3E,0xF5,0x48,0xC0,0x40,0x14,0x96,0x4B,0x94,0xBE,0xE2,0x8F,0x4D,0x64,\r
+0x43,0xD1,0xBE,0x7C,0x35,0xB3,0xF8,0x0A,0x7C,0x6E,0x5E,0x55,0x17,0xFF,0x87,0xE6,\r
+0xEA,0x5F,0x75,0xAE,0xB9,0x39,0x3B,0xE7,0x57,0x3B,0xB6,0x31,0xC0,0xD3,0x29,0xFB,\r
+0xC7,0x83,0x45,0x2D,0xFC,0x97,0x84,0x7D,0x12,0x73,0x49,0xB9,0x51,0x3F,0x00,0xC8,\r
+0x0D,0xA6,0xAF,0xC6,0x98,0xCB,0x1B,0x5F,0x78,0x08,0x21,0xDB,0x6D,0x10,0x19,0xEF,\r
+0xBF,0x2E,0x10,0xCE,0x43,0x8A,0xAD,0xBF,0xF2,0xA8,0x08,0x0F,0x13,0x80,0xE1,0x68,\r
+0x45,0x68,0x08,0x8F,0xB4,0x68,0x0C,0x38,0xE9,0x21,0xCD,0xE8,0xF9,0x4A,0xC4,0x83,\r
+0xC1,0x3A,0xF3,0xDE,0x4F,0xAC,0x75,0xC4,0x5D,0xC5,0x3D,0x6C,0xFB,0xBC,0x99,0xF4,\r
+0xEE,0x23,0xCF,0xF9,0xE3,0xA3,0x79,0x35,0x3B,0x7B,0x57,0xAA,0xEC,0x7B,0xD5,0xB7,\r
+0xEB,0x2D,0x92,0x30,0x7C,0x3B,0x9F,0xEB,0x4F,0x7D,0x4C,0x70,0x42,0x87,0x2A,0x05,\r
+0x0B,0x1F,0x19,0x35,0xA3,0x42,0xE2,0x59,0x6F,0x44,0xE6,0x98,0xA2,0xC6,0xF1,0xB3,\r
+0xBA,0x20,0x4D,0x07,0x42,0xFD,0x42,0x1B,0x1F,0x24,0x82,0xCC,0xF5,0x48,0x01,0x27,\r
+0xCF,0xE4,0xE5,0x4C,0xB1,0x27,0x28,0xCE,0x60,0x4E,0xDB,0x9A,0xD7,0x14,0x65,0xB8,\r
+0xE3,0x4A,0x32,0x51,0x70,0x1D,0x47,0x90,0x46,0x4C,0xF8,0x8B,0xA5,0x86,0x58,0x9B,\r
+0xEF,0x51,0x28,0x67,0xD4,0x0C,0x58,0x48,0x76,0x90,0xD5,0x08,0x09,0x8C,0xFA,0x5E,\r
+0x9A,0x95,0x80,0x2C,0x1C,0x5F,0xCB,0x9B,0xD9,0xFD,0xE0,0x6B,0xE6,0xF0,0x2B,0xEA,\r
+0x25,0x74,0xC2,0x8C,0x45,0x91,0x77,0xCB,0x66,0x75,0x52,0x63,0x37,0x55,0xBE,0x0E,\r
+0xE8,0x9A,0x79,0x0A,0x33,0xA8,0x22,0x7E,0x73,0x64,0x63,0x57,0x06,0xB1,0xF0,0x5C,\r
+0x5D,0xD9,0x97,0x6F,0x07,0x53,0xFD,0x81,0x71,0x39,0x95,0x20,0xDD,0x9F,0x9B,0xE5,\r
+0x8D,0x88,0xEE,0xC0,0xCA,0x4F,0x4A,0xA4,0xA1,0x3E,0xF9,0x15,0x74,0x23,0xCD,0x7F,\r
+0xF2,0xEE,0xEA,0x4E,0x1B,0x33,0xFE,0x4B,0x3F,0x1D,0x28,0x24,0xAB,0x72,0xC0,0x48,\r
+0x84,0x9D,0xA9,0x3F,0x0C,0x19,0x10,0x2A,0xF1,0x67,0x37,0xA9,0x27,0xD2,0x5B,0x65,\r
+0x65,0xDD,0xC5,0xA4,0x8E,0x96,0x1A,0x9A,0xBA,0xB7,0x3C,0xF2,0x7F,0x61,0xA1,0xF3,\r
+0xF3,0x9C,0x0D,0xD0,0xD7,0x58,0xA6,0xCA,0x9E,0xE8,0xE9,0x94,0xDF,0x69,0xC6,0x92,\r
+0x03,0x78,0xB9,0x54,0x3C,0xDA,0x04,0x87,0x30,0x17,0x15,0x26,0x53,0xC9,0x5D,0xBF,\r
+0xA6,0xED,0x68,0xB0,0xAA,0x2B,0x1E,0xD4,0x18,0x8D,0xC2,0xE4,0xDB,0x16,0xA0,0x1C,\r
+0xA4,0x28,0x64,0x14,0x72,0x3E,0x56,0xB6,0xB7,0xE0,0xF7,0x87,0xAE,0xC4,0x34,0x17,\r
+0x77,0xCE,0xF6,0x81,0xA2,0x35,0x0D,0xFD,0xFA,0x0B,0x75,0x25,0xC6,0x5A,0x12,0x02,\r
+0xCB,0x82,0x42,0x28,0x8A,0xAC,0x88,0x23,0x51,0x9C,0xC3,0x01,0x4D,0x7B,0xED,0x13,\r
+0xFB,0x41,0x56,0x85,0x45,0x87,0x3F,0x01,0x5F,0xAE,0x65,0xFF,0xFC,0x98,0x71,0x77,\r
+0x0F,0xF7,0x09,0x80,0x51,0x2D,0xBA,0xD7,0xAC,0xA8,0xDC,0x49,0x1A,0x07,0xE9,0xA9,\r
+0xBE,0xEF,0xE9,0x1F,0x50,0x5F,0x5D,0x49,0xF3,0x1E,0x28,0x4C,0x32,0xAE,0xA9,0xAE,\r
+0x05,0xCA,0x0B,0x8F,0xC1,0xD5,0xC4,0x50,0xA3,0xC7,0x6C,0x72,0xF9,0xAA,0x91,0xFC,\r
+0x31,0x31,0xD4,0x70,0x38,0x24,0x37,0x2B,0x7A,0xBC,0x76,0xCC,0x94,0x61,0x96,0xAD,\r
+0x62,0xC2,0x6A,0x2F,0x5D,0x36,0xA0,0xE1,0x35,0x74,0x96,0x2A,0x87,0x69,0x88,0x84,\r
+0x51,0x55,0x80,0x00,0xA3,0x0C,0x02,0xF7,0x30,0x94,0xA4,0xA1,0xD9,0x8B,0x63,0x44,\r
+0x58,0x3C,0x7C,0x8D,0x92,0x1D,0x17,0xC3,0x5C,0xCE,0x79,0x35,0x62,0xEA,0x70,0x90,\r
+0xD9,0xE7,0x88,0xBF,0x12,0x33,0x56,0xC5,0xC0,0xF2,0x01,0xDD,0x7D,0x4E,0x61,0x48,\r
+0x48,0x7A,0xA7,0x3C,0xB3,0xDA,0x3D,0x76,0xA9,0x48,0xEE,0xC2,0xFB,0xA0,0xAC,0xF3,\r
+0x4D,0x35,0x83,0xCA,0x49,0x9C,0x25,0x37,0x6F,0x22,0x50,0xA4,0xB9,0xFA,0x36,0x21,\r
+0x71,0xD0,0x4F,0x1C,0x0D,0x49,0x98,0x48,0x98,0x99,0xCD,0x5C,0x79,0x6A,0xDC,0x06,\r
+0xC5,0x87,0x8B,0x75,0x47,0x42,0x33,0xA5,0xDC,0x83,0xB9,0xCF,0x5E,0x73,0xF3,0x3A,\r
+0x5C,0x04,0xB7,0xDF,0xF9,0xD1,0x96,0x9B,0x1C,0x69,0x29,0xE8,0x73,0xE8,0x53,0xB6,\r
+0x4F,0x16,0x92,0xEC,0x0A,0x82,0xC9,0x25,0xC9,0x1D,0x9F,0xA7,0x33,0xB8,0xF4,0x6B,\r
+0x85,0x66,0x10,0x19,0xEA,0xB0,0x42,0x20,0xA1,0xFA,0x66,0x7D,0x0D,0x2B,0x4A,0xCE,\r
+0x4C,0x42,0x6C,0x6E,0x30,0x43,0x97,0x4A,0xAB,0x75,0xE4,0xCD,0x77,0xCC,0xEE,0xF8,\r
+0x60,0xE1,0x7B,0x09,0xEC,0x09,0xF4,0xD3,0x9E,0x19,0xE3,0x1D,0x8A,0xD3,0xDA,0xB0,\r
+0x3B,0x0C,0xD6,0x7F,0x9B,0x08,0x50,0x3C,0xAE,0x95,0xD6,0x46,0xB5,0x56,0x39,0xD0,\r
+0x2E,0x05,0x29,0x38,0x86,0xB7,0x92,0x15,0x64,0xF0,0xC4,0xD1,0x45,0xF3,0x5F,0xAC,\r
+0x0A,0xB8,0x2D,0x76,0xD8,0x16,0xBC,0x2E,0xB8,0x6B,0xEC,0xE4,0xC4,0x25,0x4F,0x93,\r
+0x8D,0x78,0x03,0x30,0x43,0x3E,0x89,0xF2,0x04,0xA5,0xB5,0xB4,0xDD,0xAF,0xDE,0x0A,\r
+0x14,0xFB,0x3F,0x9A,0x4D,0xE0,0x9F,0x60,0x06,0x98,0xBF,0xBB,0x91,0x53,0x76,0x26,\r
+0x2C,0x26,0x38,0x1E,0x34,0x3F,0x2D,0x1D,0xC1,0xAF,0x17,0x18,0x57,0xED,0x1C,0x40,\r
+0x55,0x6D,0x4B,0x52,0xE8,0x75,0x4E,0x84,0xAF,0xC8,0xC0,0x83,0x5B,0x41,0x13,0xB1,\r
+0xD8,0x90,0x67,0x1B,0x2B,0x45,0xE3,0x90,0x3B,0x46,0x30,0xD4,0x9C,0xE9,0x24,0x12,\r
+0xA9,0xC5,0x07,0x7E,0x14,0x8A,0xE0,0x36,0x0A,0x97,0x13,0x4A,0xB3,0x78,0xB9,0x91,\r
+0x02,0xA6,0x3E,0x5F,0xCC,0xBC,0x39,0xF8,0x16,0xE6,0xAB,0x58,0x99,0xDB,0xC4,0x99,\r
+0xEF,0x3F,0x46,0x66,0xD9,0x64,0x5B,0xB0,0xB1,0x84,0x72,0x9E,0xF5,0x06,0x9E,0x0D,\r
+0x44,0x5C,0x7F,0x47,0xF6,0x7D,0x67,0x97,0x1B,0xB4,0x11,0x6C,0x68,0x68,0xFF,0x20,\r
+0x3C,0x60,0xE3,0xAF,0x7B,0x3A,0xDB,0x39,0x58,0x73,0x5D,0x7B,0xBA,0xE6,0x56,0xEB,\r
+0xF0,0x0B,0xBB,0x2E,0xF5,0xCA,0x8C,0xAD,0x61,0x10,0xF6,0x5A,0x71,0xE2,0x6E,0xB9,\r
+0x5E,0x27,0xA6,0xF9,0xCF,0x0B,0xD2,0xC2,0x70,0x33,0xF4,0x7C,0x52,0xDF,0xFC,0xCB,\r
+0x2F,0x72,0xC6,0x9C,0xB7,0xA6,0x87,0x21,0x81,0x08,0x47,0xC5,0x00,0x91,0x18,0xFA,\r
+0xEB,0x07,0x8D,0x34,0xE4,0x6E,0x54,0xB2,0xE2,0x3D,0x2A,0x6A,0xB4,0x40,0x64,0x15,\r
+0x20,0x00,0xE0,0x65,0x40,0x89,0x62,0xC8,0xBD,0x8B,0xDE,0x6F,0xB6,0x4A,0x59,0x1A,\r
+0xCE,0xCD,0x66,0xDE,0x79,0xFF,0xD7,0x9D,0x89,0xBA,0xCF,0x7A,0xE4,0x04,0xBD,0x2B,\r
+0x32,0x65,0x2A,0xF2,0xA7,0x70,0xB8,0xA0,0xFF,0x11,0x84,0xBD,0x95,0x77,0xCB,0x68,\r
+0x63,0xB5,0x85,0x8B,0xBB,0xBD,0x9D,0x17,0xCA,0x7D,0x83,0x6D,0x0F,0x21,0x77,0xC1,\r
+0x27,0x6C,0xD5,0xB5,0xF1,0xB6,0x36,0xFA,0x43,0xDF,0xDD,0xED,0x8F,0xE1,0x3A,0x3B,\r
+0x54,0x1A,0xA4,0xF6,0xDB,0xA1,0x57,0x14,0xCE,0xC0,0xA7,0x23,0xA2,0x7A,0x9A,0xB7,\r
+0x26,0x1B,0x3A,0x11,0xB0,0x6D,0xD6,0x4C,0x7E,0x01,0x52,0x82,0x78,0x7C,0x81,0xC3,\r
+0x67,0x8D,0x4E,0xD9,0x7E,0x34,0x86,0xF0,0x18,0xD4,0x0D,0xA6,0x19,0x1B,0x89,0x63,\r
+0x57,0x4E,0x5A,0x74,0xC3,0x10,0xC8,0xF4,0x0E,0x2A,0x37,0x04,0xF6,0x1A,0xFE,0xC7,\r
+0xC2,0xEB,0xBE,0xA5,0x32,0x86,0x9B,0xEE,0xCC,0xFD,0xAD,0x2C,0x55,0xE7,0x21,0x4F,\r
+0x74,0x9F,0x6B,0xEA,0xDD,0x18,0xE1,0xE7,0xCF,0x9D,0xB1,0xE6,0xE8,0xA8,0xB2,0xDA,\r
+0x92,0x4C,0xFE,0x78,0xD6,0xC8,0xAA,0xBC,0x6D,0x1F,0x5A,0xAB,0xFD,0x8E,0x2C,0xB2,\r
+0x8C,0x0F,0xEC,0x94,0xBE,0xB3,0xC0,0xDE,0xCB,0x20,0x95,0xA8,0x8C,0xFD,0x5A,0xF1,\r
+0xD0,0x8E,0x74,0x32,0x2D,0xFC,0x55,0x63,0xD8,0x3E,0x9D,0x81,0xD0,0x15,0x8C,0x3E,\r
+0xB4,0xD2,0xEB,0x10,0xB1,0x1F,0x31,0xD2,0xEA,0x8F,0xA2,0xD5,0x28,0x38,0x58,0xFD,\r
+0xD7,0xE2,0x41,0xE2,0x37,0x88,0xC6,0x27,0x3D,0xC6,0x1E,0x95,0x2F,0x00,0x85,0x79,\r
+0x6B,0xAB,0x96,0xA2,0x5B,0x8F,0x16,0x12,0xBF,0xB6,0xD4,0x60,0x0C,0x3D,0x17,0x0B,\r
+0x35,0x09,0x1F,0x22,0x28,0xF2,0x08,0xAA,0x54,0x7C,0xF1,0x8A,0x8E,0xF7,0x67,0xFE,\r
+0x39,0x2F,0xC7,0x59,0x7F,0x46,0x61,0x6E,0x53,0xA1,0xC9,0x0E,0x22,0xBA,0xD7,0x4D,\r
+0xE5,0x02,0x44,0x69,0xD1,0x03,0xFB,0xD1,0xDB,0x5E,0x81,0x4B,0x11,0x93,0x3B,0xDC,\r
+0x94,0x57,0x24,0x0C,0x62,0xF9,0xA3,0x47,0xE5,0xE0,0x12,0xEE,0x82,0x5B,0x68,0x0F,\r
+0x1C,0xE5,0x2C,0xB3,0x23,0x22,0x43,0xF1,0x31,0xC9,0xB2,0x64,0x05,0xA3,0xF8,0x71,\r
+0x80,0x29,0x34,0xEF,0x44,0xF5,0xD8,0x9F,0x86,0xD5,0x7F,0x41,0x1E,0x23,0x54,0xE7,\r
+0xD2,0xAD,0x65,0x14,0x80,0x0E,0x24,0xE6,0x02,0x25,0x9B,0xF5,0x69,0x7E,0xA2,0xE5,\r
+0x97,0x03,0xDA,0x8E,0xD3,0xC6,0xF7,0x75,0x9A,0xA4,0xC7,0x53,0xEF,0x90,0x6F,0x5E,\r
+0x99,0x06,0x13,0xD3,0x4B,0x59,0x29,0x93,0x40,0xBF,0xC1,0x27,0x5D,0x6F,0x93,0xF0,\r
+0x9A,0x52,0xED,0x51,0x15,0xF8,0x07,0xA8,0x26,0x6A,0x9E,0x03,0xCD,0xBB,0xA0,0xE9,\r
+0xA5,0xE3,0xDF,0x05,0xAA,0x19,0x45,0x08,0x72,0x0E,0xFE,0x73,0x59,0x4B,0x2E,0xBE,\r
+0xF5,0x14,0xD8,0x5B,0xDB,0xE9,0xDE,0xF8,0x4D,0xF0,0x24,0xFE,0xCC,0x16,0x04,0x25,\r
+0xB9,0x67,0xA1,0x10,0x42,0x8A,0x02,0xB2,0x9A,0x9E,0xBF,0x99,0x60,0xE7,0x08,0x2A,\r
+0xD9,0x58,0x24,0xF3,0x69,0x47,0x22,0x07,0x9E,0x55,0xED,0xA1,0xF5,0x36,0xEC,0x8F,\r
+0xBC,0x38,0x55,0xA6,0xCF,0x44,0x1D,0xC8,0xBD,0x64,0x73,0x70,0x64,0xB5,0xC3,0x12,\r
+0xC1,0x19,0x62,0x09,0xEF,0xFC,0xEF,0xE9,0xFF,0xEE,0x39,0xB2,0x8B,0xAA,0xAA,0xA8,\r
+0xF8,0x61,0x8F,0x90,0xA7,0x9E,0xFA,0x31,0x26,0x49,0xFF,0xD0,0x56,0x3E,0xC6,0xF2,\r
+0x08,0xBC,0xB1,0x56,0x66,0x7C,0x4D,0xB7,0xD0,0x07,0xDC,0x45,0x6B,0x4C,0xE5,0x60,\r
+0xE0,0x20,0xC9,0x6A,0xC8,0xC0,0xC0,0xF0,0x9C,0x44,0xCB,0x82,0xE5,0x87,0x37,0xC9,\r
+0xC9,0x33,0xC1,0x74,0x15,0x30,0x06,0xCE,0x69,0xF4,0x6A,0x43,0x41,0x5F,0x28,0xD8,\r
+0xBE,0x4F,0x08,0x50,0x7F,0xE5,0xDC,0x3D,0xEB,0xFE,0xDA,0xCC,0xA6,0x69,0x52,0x7C,\r
+0xD8,0x89,0xB6,0x3A,0x63,0xF7,0xAD,0x85,0x5B,0xF1,0xE1,0xA3,0xDB,0x77,0xEA,0x0F,\r
+0xAE,0x24,0xED,0xD7,0x8C,0x53,0xDA,0x84,0x6E,0xC1,0xBA,0x2F,0x5E,0x17,0xD5,0xEC,\r
+0xD1,0x72,0x87,0x8E,0x71,0x1B,0xEE,0x9B,0x61,0xE7,0x43,0x5D,0xA8,0x34,0x9B,0x79,\r
+0x9F,0x76,0xA3,0x33,0x4A,0x35,0xB0,0x3A,0x49,0x3B,0x76,0xC6,0x7E,0x0B,0x1A,0x69,\r
+0x3D,0x60,0x99,0xCD,0x3F,0x38,0x7B,0x6D,0x32,0x59,0x1C,0xAE,0xDE,0x81,0xCE,0x40,\r
+0x97,0x5C,0x00,0x4E,0xAD,0x2E,0x75,0xB3,0x38,0x5B,0x13,0x93,0x22,0xAD,0x82,0xE8,\r
+0x18,0xD7,0x54,0xD1,0x9A,0xF1,0x24,0xBE,0x8C,0x9F,0x7A,0xC4,0xC3,0xEF,0x22,0x57,\r
+0x2A,0x23,0xD5,0x0A,0x9C,0xB0,0xA4,0x90,0xF4,0x03,0x92,0xF8,0x67,0x37,0x3D,0x46,\r
+0x6D,0xDC,0xC0,0x03,0x68,0x82,0x7F,0x11,0xDD,0x30,0x03,0x14,0x77,0x86,0xE6,0x00,\r
+0x9B,0xF8,0xC5,0x4C,0x29,0x9A,0x85,0x57,0x63,0xF6,0x65,0x7E,0x2D,0x54,0xA4,0x9A,\r
+0xD2,0xD4,0x48,0xB1,0xFA,0x94,0x71,0xCF,0x34,0x83,0x68,0xB5,0xFE,0x9D,0x01,0xC5,\r
+0xBB,0x10,0xFC,0xE6,0x17,0x3F,0x3B,0xC4,0x40,0xC7,0xFB,0xAF,0xE7,0xA1,0x26,0xEA,\r
+0x4B,0xCD,0xC2,0x20,0x7A,0x6E,0x3C,0x0F,0x12,0x96,0x00,0x2B,0x35,0xCC,0x6C,0xC2,\r
+0x78,0xE8,0xD1,0x32,0xC4,0x31,0xCF,0x5C,0xA4,0x43,0x4F,0x5F,0x65,0x11,0x2C,0x65,\r
+0x22,0x09,0x76,0x77,0x5E,0x98,0x73,0x0A,0xE8,0x00,0x58,0x98,0x15,0xD0,0xA3,0x47,\r
+0x8F,0x1D,0x46,0xB4,0x7C,0x2F,0xBC,0x21,0x4E,0x0E,0xA6,0xAA,0xF6,0xB4,0x12,0xDB,\r
+0xB8,0xB6,0x33,0xD9,0x16,0xFA,0x66,0xD2,0xA5,0xAC,0xEB,0x28,0x23,0x09,0x6D,0x9F,\r
+0x27,0x56,0x82,0xC1,0x88,0x1D,0x67,0xA0,0x51,0xF3,0xEE,0x9E,0x8A,0x0E,0x45,0xDF,\r
+0xD7,0x8B,0xBC,0x07,0x74,0x90,0x0E,0xA9,0xFB,0x25,0x6B,0x8A,0xEC,0x0A,0xCB,0xA0,\r
+0x28,0x54,0x88,0xFC,0x0F,0x63,0xF7,0x58,0xE1,0xFC,0xD5,0xF1,0x27,0x5B,0xA6,0xA7,\r
+0xA7,0xDF,0xDC,0x63,0xA8,0xA5,0x95,0x81,0x29,0x6F,0x06,0xA2,0x06,0xE3,0x86,0x55,\r
+0x88,0x35,0xEF,0xF4,0xBE,0x07,0x6B,0xBB,0x1B,0x6A,0x8D,0x42,0xE4,0x23,0xD8,0xBE,\r
+0x14,0x73,0x91,0xD3,0xAE,0xE4,0x15,0xAF,0x3F,0x6E,0xC3,0xFF,0x2E,0xD6,0x5A,0xCE,\r
+0xAB,0x7B,0x19,0x61,0x18,0x04,0x54,0x74,0x9F,0xBA,0x49,0xD6,0xD6,0xA8,0xDD,0x5E,\r
+0xB3,0x3A,0x5F,0x9B,0xB9,0x83,0xB6,0x83,0x16,0x5D,0x52,0x13,0xF3,0x42,0x36,0x94,\r
+0x48,0x6B,0x0D,0x1F,0xC0,0x7F,0x72,0x78,0xF2,0xD9,0xE6,0xE3,0xAE,0x40,0x41,0x62,\r
+0x74,0x4C,0x14,0x30,0xCC,0x8E,0x7D,0xD4,0x4C,0x1F,0x80,0x89,0xE2,0x57,0x02,0xA5,\r
+0x29,0x85,0x1A,0x35,0x2A,0x50,0xE5,0x4B,0x4A,0xC5,0xF4,0x92,0x1D,0xF9,0xB0,0x59,\r
+0xA2,0x80,0x28,0xD5,0x57,0xE2,0x9C,0x94,0x73,0x2D,0xD4,0x38,0xC6,0x19,0x06,0x18,\r
+0xF6,0xB2,0x17,0x64,0xF7,0xA0,0x23,0x75,0x13,0x79,0xA4,0x5C,0x36,0x4E,0x92,0x96,\r
+0x95,0x2B,0x5D,0xB8,0x3C,0xF2,0x1B,0x71,0x10,0x87,0x26,0x08,0x98,0x99,0x8F,0xBA,\r
+0x33,0xB3,0x01,0x39,0x81,0x67,0x88,0x3E,0x18,0x94,0x0F,0x16,0x70,0x56,0xD3,0x6C,\r
+0x45,0x1E,0x5A,0xD4,0x78,0x61,0x01,0x05,0x93,0x62,0x32,0xF0,0x8D,0xDE,0x70,0xB3,\r
+0xB7,0xB4,0x39,0xE4,0x8D,0x96,0x87,0x92,0x2F,0xB5,0x72,0xB9,0xB5,0x5A,0x77,0x6E,\r
+0x85,0x40,0xB8,0x3F,0xF5,0xAF,0x1E,0x7F,0x7C,0x0B,0x2D,0x4A,0x7A,0x59,0xD1,0x51,\r
+0x05,0xC9,0xE6,0x9D,0x4D,0xB1,0x6D,0x02,0x59,0xE0,0xC7,0x80,0xB0,0xAC,0x53,0x21,\r
+0xCE,0x1B,0x68,0x34,0x8E,0x5C,0xE7,0x8E,0x0C,0x84,0xEC,0x68,0x1E,0x7B,0x4E,0x0D,\r
+0xFE,0x98,0xB4,0x19,0x31,0xC6,0x49,0xCB,0x44,0x0C,0xA9,0x97,0x37,0xEA,0x7D,0xE1,\r
+0x51,0xFB,0xD9,0x2C,0x4B,0xF0,0xED,0x2C,0x2A,0x91,0x84,0xF6,0xF7,0x10,0xFD,0xAC,\r
+0x12,0x8A,0xAA,0x5A,0xA5,0x91,0xC7,0x3B,0x50,0x1C,0x4A,0xE9,0x6C,0x9C,0xD0,0x0C,\r
+0x7E,0x11,0xEA,0xBB,0xAF,0x21,0x48,0xB9,0x80,0x47,0x01,0xE2,0x96,0xC4,0x46,0xBF,\r
+0xB6,0x65,0xAB,0x2D,0x13,0x71,0x86,0xE0,0xDF,0x21,0x25,0x37,0xF1,0x64,0x27,0xB7,\r
+0x02,0xE1,0x4F,0xDD,0xB1,0x3C,0x04,0x0B,0x20,0x93,0x8B,0xCB,0x6A,0xE8,0x0A,0x17,\r
+0xD3,0x05,0xDA,0x78,0xAB,0x6F,0xF5,0x9D,0xBA,0x51,0xA3,0x1C,0x97,0x60,0xA9,0xC8,\r
+0xDF,0xA1,0x1F,0x7A,0xE3,0x0D,0xE0,0x45,0xD7,0x32,0x0C,0x29,0x03,0x15,0xA2,0x1A,\r
+0x4D,0x34,0xF9,0xA9,0xB8,0x46,0xEB,0x95,0x3C,0x90,0x41,0xAB,0x25,0x7D,0xB7,0x84,\r
+0x5E,0xF9,0xD3,0x11,0x9D,0x75,0xF9,0x86,0x79,0x2F,0xDB,0x05,0x52,0x6C,0x0D,0xCA,\r
+0x89,0xE4,0x7D,0x3D,0xF2,0x2B,0xC3,0x47,0x7B,0x3E,0xFD,0x26,0x6F,0x1E,0x2E,0x58,\r
+0x93,0xD2,0x66,0x31,0xED,0xF3,0xD2,0xE3,0xA7,0xBD,0xCD,0x0B,0xCD,0xB2,0xEB,0x52,\r
+0x3B,0x99,0xA2,0x44,0x7E,0x20,0x81,0x2B,0xCA,0xDE,0x62,0x3E,0x1C,0x5D,0x5F,0x2E,\r
+0x79,0x39,0x43,0xFB,0xC2,0x70,0x4F,0x72,0x42,0xD6,0xDD,0x8C,0x89,0x8C,0xBB,0x8B,\r
+0xC2,0xBF,0xAD,0x36,0x97,0xC5,0x76,0x04,0x53,0xE2,0xC8,0xBD,0xC7,0xBD,0xE9,0x6F,\r
+0x2C,0xDA,0xEE,0x83,0x48,0x3A,0x8D,0x30,0x0E,0x95,0xCA,0x4B,0xAC,0x66,0x50,0x41,\r
+0x55,0x75,0xBF,0x53,0xFF,0x1F,0x91,0xFD,0x09,0xA0,0x1A,0x27,0xFA,0xCF,0xCA,0xFD,\r
+0x18,0x2F,0xDD,0x34,0x76,0x72,0x4B,0x8B,0xB2,0x15,0xD9,0x6A,0x8D,0x5C,0xF6,0x0A,\r
+0x75,0x1A,0xBE,0x9B,0x0A,0xA3,0xA4,0x3F,0xF9,0x60,0x1D,0xC2,0x1E,0x94,0xA5,0xD9,\r
+0xC6,0x21,0x4F,0x22,0xEE,0xED,0x95,0x6D,0x99,0x35,0x6C,0xA7,0xFD,0x39,0xDD,0x8C,\r
+0xC4,0x02,0x5E,0x04,0x7C,0xD0,0xE7,0x4E,0x84,0x19,0xC2,0x70,0x92,0xF8,0xE7,0xD2,\r
+0xB1,0x6F,0xF5,0x33,0x65,0x13,0x9F,0x30,0xBA,0xA7,0x51,0xD5,0x28,0x8F,0xA9,0xC3,\r
+0xB6,0x03,0xC0,0xE3,0xD9,0x45,0x36,0xAA,0x15,0x77,0x00,0xAC,0x9F,0x42,0xB5,0xE6,\r
+0xFD,0xA8,0xB6,0x24,0xAF,0x36,0x75,0xDB,0x59,0xDF,0xFC,0x80,0xA2,0xCD,0x6B,0x89,\r
+0xEC,0x99,0x82,0x31,0x4B,0x78,0x44,0x89,0xDF,0x12,0x12,0x3B,0xF7,0xBB,0x52,0x3C,\r
+0x3F,0xC6,0x27,0xF8,0x9B,0x29,0x3D,0x26,0x71,0x9F,0x55,0x87,0xCF,0x06,0x6C,0xD8,\r
+0x60,0x13,0x41,0xDC,0x93,0x4E,0x9D,0x47,0x05,0x09,0x14,0x4F,0x73,0x5F,0xA2,0x88,\r
+0x95,0xD2,0xF1,0x7D,0x88,0x48,0xE9,0x9D,0x9B,0x08,0x66,0xA8,0x2B,0x93,0xC9,0x09,\r
+0xEF,0xCD,0x7C,0xB3,0x28,0xD3,0x65,0xB0,0xEA,0x7E,0x15,0xEB,0xC5,0x84,0xE3,0x68,\r
+0x68,0x0D,0x52,0xF5,0x3E,0xBC,0xEC,0xC2,0xC1,0x5E,0xA0,0x26,0x83,0xFA,0xC4,0xF4,\r
+0x83,0x8F,0xF0,0xB8,0xA0,0x9A,0x84,0xD7,0x54,0x8D,0x46,0xB4,0xD8,0x2A,0xCF,0xBF,\r
+0x9F,0xEF,0xF3,0x72,0x33,0xD5,0x11,0x6A,0x81,0xF9,0xF0,0xFB,0xD1,0xB4,0x20,0xC5,\r
+0x05,0x38,0x31,0x5A,0xEC,0x28,0x99,0xC9,0x65,0x5C,0x65,0x2A,0xCB,0x22,0xD1,0x96,\r
+0x2C,0xD4,0x02,0xCB,0x97,0x32,0x27,0x10,0x7E,0xF0,0xE5,0xBC,0x18,0xBA,0x25,0x98,\r
+0x90,0x9D,0xD5,0x8B,0x4A,0x0A,0xA3,0x17,0xD4,0xC0,0x86,0x4E,0xED,0x2D,0xA3,0x6F,\r
+0xAF,0x2C,0xE7,0xDF,0x9E,0x27,0x60,0xEF,0x4B,0x9C,0xE2,0x6C,0x5C,0xCE,0x3F,0x0B,\r
+0xA7,0x32,0xF4,0xF6,0x48,0xCF,0xAF,0xB3,0xD3,0x1D,0xBE,0xCA,0xE1,0x81,0xAC,0x9E,\r
+0xB3,0x4C,0xE4,0x15,0x29,0xA1,0x82,0x2E,0x7B,0x10,0xD7,0x37,0xEE,0x31,0xC3,0xA5,\r
+0xFB,0xB3,0x6C,0x50,0xC5,0x88,0x13,0x1D,0xF8,0x3D,0x0B,0x07,0x51,0x74,0x6D,0x3F,\r
+0xC3,0x6E,0x6B,0xD4,0x75,0xC5,0xA0,0xB1,0x20,0x1B,0x07,0x7C,0x95,0xC0,0x3A,0x56,\r
+0xE6,0xA4,0x80,0x3E,0x05,0x0F,0x55,0x33,0xA9,0xB9,0x59,0xFC,0x2D,0xBD,0x49,0x48,\r
+0xA9,0x37,0x3D,0xAB,0xB0,0x4C,0xBB,0x56,0x5A,0xBF,0xE0,0x4A,0xD9,0x3C,0x92,0x7A,\r
+0x4D,0xC7,0xB9,0x1F,0x46,0x11,0xB9,0x21,0x0B,0x3B,0xB2,0xB1,0xA0,0xC7,0x56,0x86,\r
+0x80,0xDB,0x0E,0x3A,0xEA,0x91,0x2F,0x3A,0x13,0xF7,0x2E,0xED,0xCE,0x10,0x31,0x1D,\r
+0x20,0xF2,0xDA,0xB0,0x7A,0x69,0x51,0xBD,0x1B,0x45,0xA6,0x52,0x78,0xCB,0x70,0xFD,\r
+0xCC,0x1C,0x4D,0x2D,0x3C,0x79,0xE0,0x66,0xE0,0xF1,0x97,0x5B,0x37,0x2B,0xB8,0x1B,\r
+0xAC,0x78,0x19,0x5D,0xB2,0x89,0xB7,0xF2,0xD2,0x40,0xA8,0x0F,0x97,0xCA,0x07,0x59,\r
+0xF3,0xAD,0x7F,0x79,0x81,0x5D,0xAE,0x62,0x2C,0x14,0xAB,0x8D,0xAC,0x6B,0x59,0x77,\r
+0xF5,0xB6,0xA5,0x0D,0x7D,0xA2,0x00,0xD0,0xE5,0x11,0xA5,0xD0,0x4A,0xF4,0xC1,0xA9,\r
+0x1A,0x0C,0xCC,0x12,0xBB,0x9C,0xF0,0x0D,0xD6,0xFD,0x8C,0x41,0x76,0x6D,0x42,0x03,\r
+0xEE,0xBA,0x93,0x17,0xFB,0x35,0xF7,0x25,0x36,0xE5,0x3D,0xDE,0xE8,0x1F,0x43,0xE4,\r
+0x57,0xBC,0x60,0xA1,0x63,0xAA,0x29,0xC3,0x69,0x53,0xC9,0xDB,0x3E,0xB5,0x57,0x61,\r
+0xF1,0x8E,0x6E,0x5F,0xFF,0x49,0x4D,0x72,0x7D,0x90,0xF9,0x76,0x1C,0x9E,0x98,0xD6,\r
+0x96,0x86,0x0F,0xFF,0x71,0xB9,0x1A,0xE6,0xBF,0x47,0x63,0x5E,0xC8,0x3E,0xB1,0x5C,\r
+0xA4,0x66,0x0A,0x74,0x9A,0x5B,0xDA,0xB8,0x55,0xD0,0x50,0x71,0xDE,0x04,0x4F,0xFE,\r
+0x44,0xAE,0x45,0x92,0x84,0x53,0xF3,0xAB,0xEB,0x23,0x03,0x2E,0x14,0x16,0x2A,0x69,\r
+0x5E,0xD5,0x9C,0x2C,0x83,0x98,0xA2,0xC6,0x34,0xD8,0x37,0xD1,0x6F,0xE7,0xD3,0x9A,\r
+0x62,0x30,0x50,0xFA,0x24,0xC8,0x7F,0x86,0xBC,0x27,0x7F,0x94,0x08,0xAE,0x5B,0x7B,\r
+0xDC,0x5A,0x96,0x9C,0xBE,0x92,0xAD,0xC4,0x98,0x68,0x7A,0x62,0x49,0xE8,0xA1,0x63,\r
+0x33,0xE0,0xFF,0x83,0x73,0x7C,0x16,0x42,0xB7,0xF5,0xEB,0xE1,0xFA,0x01,0x00,0x08,\r
+0x4B,0xDC,0x63,0x6B,0x62,0xD8,0xCE,0x5D,0x43,0x2E,0x6A,0xD3,0xFC,0x2F,0x80,0x49,\r
+0xAD,0x0F,0xF6,0xF9,0xE6,0x8A,0x35,0x0C,0xAD,0x04,0x7D,0xB2,0x1A,0xB0,0x18,0x97,\r
+0x1B,0x7B,0x23,0xB6,0x41,0xDA,0xE8,0x4C,0x88,0x16,0x6E,0x81,0xA4,0xE3,0xEB,0xC8,\r
+0x8B,0x91,0xE3,0x91,0xE1,0x41,0x64,0x61,0xB4,0x95,0xF7,0x2B,0x9A,0x70,0x55,0x6D,\r
+0xFF,0x8B,0xA7,0x02,0xCE,0x58,0x58,0x46,0x70,0xC2,0x43,0x42,0x77,0x7B,0x1F,0xC6,\r
+0xE4,0x87,0x91,0x18,0x2B,0x64,0x8E,0x8A,0xE9,0x1E,0x09,0x21,0x03,0x3A,0x89,0x0E,\r
+0xD1,0x0B,0xA1,0x43,0xC8,0xE1,0xEE,0xB5,0x44,0xF3,0x52,0x57,0xEC,0x3B,0xFE,0xAA,\r
+0xD6,0x67,0x94,0x93,0xFC,0xFE,0xA6,0x48,0x53,0x50,0x7E,0x30,0x75,0x71,0x22,0xC9,\r
+0x54,0xE8,0x9E,0x23,0x58,0x19,0x90,0x32,0x2F,0x74,0xB7,0x47,0x1F,0x82,0xF8,0x1C,\r
+0x8D,0x8A,0x39,0xE5,0x64,0x61,0x78,0xAE,0x00,0xE9,0x26,0xC4,0x5F,0xD2,0x5F,0xC1,\r
+0x87,0xB7,0x3B,0xEA,0xCC,0x9D,0x54,0xE2,0x3C,0x6A,0xBF,0x6E,0xCD,0x0C,0x51,0xD7,\r
+0xDE,0x79,0x87,0xBA,0x5D,0x17,0xCD,0xFB,0x12,0xAA,0x38,0x28,0x11,0x24,0xCA,0xE2,\r
+0xF6,0xE2,0x5B,0x8F,0x4D,0xC1,0xF2,0x7A,0x16,0x17,0x1C,0x66,0x2A,0x85,0x94,0xCC,\r
+0x21,0x85,0x35,0x14,0xAB,0x4A,0xCF,0x8C,0x38,0xD7,0x9B,0x20,0x09,0xB8,0x06,0xBE,\r
+0x02,0x54,0x04,0x8A,0x36,0xDB,0x4C,0xA3,0x58,0x82,0xEA,0x45,0xAF,0x77,0x39,0xBD,\r
+0xF2,0xDA,0x90,0xDD,0x01,0x73,0xEF,0x64,0x74,0x7F,0x67,0x0C,0xBB,0x47,0xFA,0x10,\r
+0x25,0xBD,0xFE,0x46,0x0E,0xDF,0x1E,0x68,0x07,0x34,0x1E,0x40,0x22,0x0D,0x26,0x73,\r
+0x6F,0x61,0x67,0x25,0x44,0xD4,0xB5,0x85,0xDC,0x72,0x0E,0xF1,0x06,0x08,0x69,0x85,\r
+0x23,0xA6,0x24,0x32,0xED,0x5A,0x7E,0x57,0x40,0x4E,0x76,0x19,0xA8,0x4F,0xE4,0x39,\r
+0x40,0x96,0x8E,0xC0,0x8C,0x34,0x53,0xCA,0x79,0x2D,0xDD,0x38,0x8F,0x56,0xCB,0x05,\r
+0x99,0xF4,0x29,0x06,0xD6,0xE9,0xC7,0xA6,0x01,0xB4,0x30,0x01,0xC7,0x8E,0xDE,0x67,\r
+0x05,0x65,0x41,0x6D,0x2F,0x8F,0x2F,0x83,0x2D,0xB5,0x30,0x6A,0xF7,0x5A,0x60,0x99,\r
+0xB2,0x40,0x5D,0xA0,0x56,0x20,0x7E,0x53,0x91,0x1C,0xAA,0x3C,0x9B,0x6F,0xB0,0x9E,\r
+0x6D,0xBF,0xA6,0x94,0xB8,0x45,0x3D,0xE6,0xBF,0xC7,0x13,0x57,0x6D,0x18,0xB2,0xC3,\r
+0x38,0x0A,0x9F,0xE2,0x03,0xC3,0xD3,0x2B,0x5B,0xF6,0x41,0x19,0x5C,0x2C,0xA7,0xD2,\r
+0x84,0x5A,0x51,0xBB,0x41,0x63,0x32,0x94,0xFE,0x27,0xA5,0x8C,0xEE,0x24,0x18,0x5A,\r
+0x17,0x89,0x02,0x73,0xE9,0x28,0xF6,0xE1,0x82,0xC8,0x11,0x5D,0xDB,0x47,0xB7,0x37,\r
+0x08,0x51,0x13,0xD7,0xF3,0x1E,0xED,0xED,0x88,0x64,0xD4,0xFF,0xF6,0xC4,0x87,0xEB,\r
+0x67,0x0F,0x29,0x16,0x24,0x03,0x43,0xC1,0x1A,0x16,0xF7,0xC2,0xD5,0xD5,0xA1,0xE9,\r
+0x42,0x3C,0x3B,0x05,0x37,0xCE,0x69,0x79,0x54,0x07,0x4D,0xB5,0x7B,0x6A,0x3B,0xAC,\r
+0x19,0x77,0x30,0xD5,0xA5,0x5B,0x8F,0xAA,0xCA,0x6F,0x58,0x93,0xF9,0xC8,0x76,0x47,\r
+0x51,0x15,0x25,0x0D,0xA9,0xFF,0x4A,0xA8,0x18,0x1A,0x53,0x07,0xCC,0xAB,0xD9,0x2A,\r
+0x4B,0x46,0xD4,0x9B,0x78,0x1B,0xDF,0x0D,0xC7,0x92,0xF0,0xFA,0x1B,0x69,0xF1,0xB0,\r
+0xE9,0x0B,0x56,0x70,0xCC,0x9F,0x3B,0xFD,0x67,0x1E,0xDD,0x61,0xE7,0xDB,0x5F,0x4F,\r
+0x55,0x5B,0x98,0x29,0x04,0xEB,0x7A,0x6B,0x6F,0xBE,0xBC,0x06,0x32,0xBD,0x7B,0x10,\r
+0x5F,0xEB,0x17,0xAB,0x68,0x70,0x3A,0x8A,0xDC,0xE6,0x2A,0xFC,0x39,0xE6,0x30,0xC0,\r
+0xB1,0x8A,0x3D,0xBC,0x2B,0x01,0x49,0xFC,0x7C,0x6A,0x07,0x67,0x26,0x6B,0xFE,0xBA,\r
+0xCB,0xBC,0x99,0x5B,0x84,0x62,0x24,0xC9,0x31,0x90,0x87,0xA7,0x47,0xF6,0xD3,0xD4,\r
+0x74,0x26,0x37,0x1E,0xB4,0xE1,0xF8,0xE4,0xDD,0x01,0xB4,0x8E,0xB8,0x7E,0x96,0x9C,\r
+0xB7,0xCB,0xBD,0x92,0x7F,0x33,0x76,0x4D,0xF1,0xD6,0xA9,0x20,0x50,0x1A,0xBD,0xC9,\r
+0x0F,0xD5,0xCE,0xEF,0xFF,0xBA,0x28,0xEF,0x81,0x23,0x2B,0xEA,0x9A,0xF1,0x57,0xEC,\r
+0x77,0xEC,0x57,0x02,0xCD,0x4E,0xA9,0x34,0xBE,0x20,0x8D,0x25,0x69,0x4F,0x08,0xBF,\r
+0x82,0x1B,0xD1,0x95,0x3F,0xE4,0xCA,0x04,0x63,0xA4,0x8A,0x1D,0x20,0x98,0x48,0x03,\r
+0x7B,0x1D,0x58,0xAE,0x49,0x49,0x91,0xE9,0xBC,0x2C,0x29,0xE0,0xC6,0x6E,0x75,0x88,\r
+0xC6,0x88,0xCB,0xE1,0xEF,0xD1,0xCD,0x68,0x6A,0xE3,0x75,0x08,0xD8,0x7D,0x5C,0x80,\r
+0x0D,0xDA,0xF3,0xE5,0x8C,0x48,0x87,0xB4,0x46,0x34,0x68,0xA6,0x8C,0x83,0xDE,0x83,\r
+0xAD,0x98,0x4C,0x04,0xD8,0x7A,0xB8,0x05,0xC8,0x63,0xFC,0x56,0xE8,0xD7,0xAE,0xE3,\r
+0xD0,0x2A,0x35,0xDB,0x53,0x7F,0x8A,0xE5,0x89,0x83,0x4A,0x8D,0x42,0x3F,0x8E,0xDA,\r
+0x36,0xF4,0xAD,0x44,0x0E,0xB6,0x84,0xE0,0x75,0x2D,0xF8,0x72,0x59,0xE5,0xFA,0xDC,\r
+0x3A,0x05,0xA2,0xE8,0x32,0x91,0x9D,0xCF,0xB2,0x3A,0xBB,0x3E,0x33,0x23,0x9C,0x62,\r
+0x43,0xF9,0x66,0x13,0xC9,0xC0,0xCF,0x4B,0x44,0x38,0xCC,0x63,0xC3,0xA7,0x28,0x86,\r
+0xE2,0x7E,0x84,0xE4,0xD1,0x81,0x89,0xB1,0x8E,0xD2,0x27,0x46,0x06,0x40,0x33,0x0F,\r
+0x54,0x9E,0xC5,0x3F,0x6E,0x89,0x01,0x03,0x1E,0xAC,0xA0,0xBE,0x2F,0x94,0xB9,0xAF,\r
+0x44,0x7D,0xBB,0x2B,0xF2,0xCF,0x7F,0x24,0x6E,0x59,0x22,0x74,0x92,0x90,0xF7,0x8B,\r
+0x52,0xDF,0x45,0x11,0xDD,0x25,0x4C,0xB3,0x85,0x99,0x7C,0x96,0x72,0x95,0x7C,0xB9,\r
+0xF5,0x19,0x27,0xC8,0x52,0xAE,0x18,0x2C,0x77,0x21,0x5C,0xB7,0x21,0x06,0xAF,0x71,\r
+0x8E,0xEA,0xDE,0x39,0xAD,0x71,0x2C,0xD7,0x70,0x70,0x31,0x7C,0x5A,0xDF,0x11,0x6B,\r
+0x72,0x67,0xB7,0x30,0x5D,0xAC,0x12,0x11,0x0F,0x74,0xBF,0x1A,0x4E,0x09,0x94,0xC1,\r
+0xEC,0x80,0xB6,0x42,0xC2,0x4C,0xA3,0x09,0x4F,0x73,0x97,0xB3,0xF8,0x56,0x91,0x35,\r
+0x86,0x55,0x6C,0xB1,0xF5,0xE7,0xD6,0x64,0x0B,0xCE,0xE8,0x66,0x7A,0xF4,0xDC,0xDE,\r
+0xA4,0xE2,0xA3,0x9A,0x58,0xF3,0xE6,0xA7,0x97,0xAA,0x59,0x85,0x48,0xFA,0x22,0x78,\r
+0x3E,0x4B,0x1F,0xCC,0x02,0x12,0x41,0xE2,0xB5,0x6B,0xD6,0xF5,0x8F,0xB9,0x35,0x34,\r
+0x80,0x14,0xEC,0x9F,0x31,0x37,0x52,0xF0,0x12,0xB6,0x96,0xA5,0xFB,0x6C,0x7A,0x82,\r
+0xED,0x45,0xEB,0x54,0xC1,0xEA,0x6C,0x36,0x3A,0xDB,0xDC,0x77,0x7F,0x3D,0x81,0xD0,\r
+0x00,0xEE,0xA1,0x5F,0xA8,0x2E,0xD8,0x61,0x15,0xE7,0xFB,0x6E,0x65,0x79,0x12,0xA4,\r
+0xD3,0xE0,0x55,0xC7,0xE1,0x02,0x55,0x9C,0x4A,0x2E,0x5E,0xBD,0xAE,0x0C,0x1F,0xF3,\r
+0x92,0xF8,0xAF,0x81,0x17,0x26,0x50,0xD3,0xD0,0xFC,0x1C,0xE7,0xC4,0xCA,0x79,0x4D,\r
+0x66,0xCA,0x74,0x00,0x50,0xD9,0x45,0xDA,0x96,0x4D,0xC7,0xF7,0x28,0xF9,0xE8,0x64,\r
+0x60,0x8B,0xF4,0x2E,0x62,0x2D,0xC4,0x01,0x87,0x95,0xD8,0x53,0x14,0x65,0x00,0x1C,\r
+0x57,0x54,0xA5,0x23,0xED,0xA6,0x90,0x9E,0x38,0xD7,0x78,0xB2,0x43,0xA1,0x69,0xA8,\r
+0xC5,0x42,0xAB,0xFD,0x47,0x9A,0x09,0x1D,0x90,0xFB,0x34,0x4E,0x7E,0xA3,0x66,0xA2,\r
+0xB0,0x4F,0x60,0xAA,0xE5,0x8C,0x33,0xE3,0xB9,0x71,0xE0,0xEE,0x16,0xC1,0x0C,0xD9,\r
+0x8B,0x61,0x3E,0x0B,0xAB,0x88,0x17,0x5E,0xA9,0x4E,0x61,0x38,0x8D,0x1D,0x39,0xF1,\r
+0x76,0x29,0x0A,0x14,0xD4,0xDE,0x7D,0x07,0x3C,0x6D,0x2F,0xCE,0xFF,0x3B,0xC0,0xFE,\r
+0x99,0x8D,0x7D,0x15,0xA2,0x73,0x26,0xEA,0xDF,0x0D,0x10,0x4B,0x73,0x0B,0x9B,0xCB,\r
+0x85,0x9F,0x0C,0xAD,0xC4,0xB5,0x98,0x80,0xAC,0x13,0xA8,0x36,0x1C,0x04,0xA0,0x7B,\r
+0xEF,0x4A,0xD6,0x5E,0xB3,0xC9,0x51,0xA4,0x08,0x25,0xD2,0xD1,0x93,0x0E,0x10,0xF9,\r
+0x32,0xBA,0x10,0x60,0x9A,0xDA,0x59,0xBA,0x19,0xFD,0xCD,0x75,0x52,0xBE,0xB1,0x0C,\r
+0x9C,0x06,0x9D,0x27,0x72,0x46,0x21,0x86,0xB0,0x36,0x1F,0xFB,0x95,0xFD,0xA6,0x40,\r
+0x5D,0xE4,0x2A,0xA1,0x82,0x9B,0x1F,0x40,0x22,0x44,0x3C,0xC6,0x00,0xB3,0x85,0xB6,\r
+0x15,0x86,0x3F,0x79,0xBB,0xE3,0xF2,0xD9,0x78,0xD0,0x50,0x1B,0x62,0x14,0x43,0x6F,\r
+0x35,0x3E,0xCD,0x58,0xC6,0xC2,0xC5,0x76,0xC2,0xCF,0x39,0xF4,0xA0,0x9E,0x09,0x2D,\r
+0x93,0x3D,0xF2,0x97,0xA3,0xA2,0xB4,0x23,0x5F,0x4C,0x16,0x65,0x71,0xAF,0x97,0x0E,\r
+0xB8,0xF0,0xD2,0x22,0xC3,0x9D,0x31,0xC0,0xFA,0x9D,0xF2,0xF0,0x49,0x64,0xC5,0x0A,\r
+0x21,0x93,0x0E,0x68,0x8F,0xEE,0x48,0x8B,0xF5,0x6C,0xFE,0x5C,0x2E,0x0A,0x5E,0xDD,\r
+0xAB,0xDC,0x04,0x3D,0x0D,0xAA,0xF4,0x96,0xA2,0xD2,0x55,0x0F,0xEC,0x64,0x80,0xEB,\r
+0x5D,0xF8,0x01,0x72,0x4C,0xB2,0x0E,0xD0,0x1C,0x14,0x33,0x65,0xB6,0xB6,0xC2,0x71,\r
+0x1A,0x07,0x14,0x7B,0xB8,0x80,0xD5,0x51,0x35,0x27,0xA2,0x89,0xA6,0x07,0x19,0x37,\r
+0x28,0xF3,0x95,0xA0,0xBE,0xC1,0x55,0x7F,0x4D,0xBB,0x4A,0xB5,0x02,0xDF,0x06,0x26,\r
+0x48,0xCC,0x10,0x43,0xE0,0x01,0xBE,0x9D,0x65,0x67,0x7F,0x2E,0xA4,0x21,0x08,0x14,\r
+0x7B,0xE9,0x03,0x51,0x5E,0x5E,0x4D,0xCE,0xD3,0xB2,0x30,0x5A,0xF4,0xFC,0x48,0xB3,\r
+0x8B,0x34,0x3D,0x97,0x33,0x0F,0x4A,0x05,0x81,0xE3,0xCB,0xDE,0x26,0x91,0x02,0x9B,\r
+0xE2,0xF0,0x89,0xC0,0xDE,0xA4,0x00,0x0E,0xF5,0xA7,0x58,0xC4,0x3F,0xAD,0x25,0xB4,\r
+0x17,0x72,0x43,0xB0,0xAC,0x2D,0x16,0x61,0x90,0xD7,0xDE,0xEF,0x4B,0x3E,0x61,0xAE,\r
+0x88,0x92,0xF2,0xA8,0x32,0xCA,0x17,0x13,0x64,0x88,0xDB,0x59,0xE2,0x39,0x49,0xEE,\r
+0xBF,0x39,0x87,0xC5,0x58,0x1F,0xCD,0xE0,0x8F,0x2A,0x96,0xDB,0x37,0x84,0x36,0xAA,\r
+0x12,0x2D,0xB7,0x06,0x7A,0xA8,0x02,0xCB,0x29,0x24,0x68,0xE9,0xD4,0xE0,0x87,0x36,\r
+0xB8,0x11,0x2E,0x85,0x9A,0x37,0x1A,0x7A,0xDA,0x4E,0xBD,0x33,0x25,0x13,0xFC,0xCF,\r
+0x97,0xFB,0x1D,0x12,0x8C,0x95,0xE4,0x40,0xE8,0x4B,0x36,0xD3,0xC7,0xD3,0xA2,0x24,\r
+0x18,0x70,0x49,0x8D,0x2B,0x53,0x86,0x99,0x20,0xD8,0xE5,0x80,0xE6,0x6B,0x82,0xD6,\r
+0xE7,0xAF,0x7D,0x76,0x50,0xA0,0x7F,0x68,0x3A,0x01,0x5B,0xFB,0x2D,0x3A,0xEF,0xD1,\r
+0x8C,0x1C,0x94,0xD7,0xEB,0x74,0x6C,0x09,0x7C,0x40,0x43,0x01,0xA5,0x85,0xE7,0x63,\r
+0xE9,0x7C,0xE5,0x82,0x4D,0x77,0x53,0xC6,0x5F,0x71,0xDD,0xD0,0x34,0x06,0xC8,0xFE,\r
+0x89,0x43,0x60,0x61,0x66,0xBA,0x73,0x73,0x5B,0xBA,0x8F,0xE8,0xA1,0xD7,0x2C,0x5B,\r
+0xC5,0x30,0x19,0x2A,0xFF,0xD9,0xAF,0x39,0x8C,0xD4,0x14,0x8F,0x0D,0x26,0x20,0x54,\r
+0xD0,0x04,0x08,0x1B,0xEC,0xF0,0xB1,0x31,0x5D,0x60,0xFB,0xF3,0x24,0xB7,0x13,0xB8,\r
+0x38,0x98,0x70,0x27,0x42,0x4C,0x3C,0x76,0x11,0x23,0xEC,0x34,0xAA,0x7C,0xC1,0x11,\r
+0xC8,0x45,0x4E,0xE1,0x83,0xAE,0x8B,0xF0,0xE7,0x6D,0xCF,0xA1,0x97,0x0E,0xE2,0x83,\r
+0xF1,0x3D,0xA3,0x78,0xCB,0xCC,0x9E,0x28,0x3E,0xCA,0x09,0xC3,0x4A,0x9A,0x8E,0xD9,\r
+0x9E,0x00,0x2C,0xA6,0xA8,0x63,0xAB,0x45,0xAF,0xE5,0x8A,0x5E,0x9F,0x27,0xF1,0x9D,\r
+0xE8,0xAD,0x77,0x4B,0x47,0xC7,0xDC,0x44,0x9A,0xD5,0xD1,0xD2,0x1A,0x47,0xCE,0x7E,\r
+0x8E,0x6B,0xC9,0x21,0x5B,0xD5,0xAD,0xFC,0x2A,0xDA,0xEA,0xBD,0x67,0x59,0x76,0x0D,\r
+0xF9,0x17,0x00,0x05,0x31,0x00,0x77,0x0F,0xA8,0xD0,0x5A,0x32,0x80,0x6F,0x0C,0xA9,\r
+0xA7,0x78,0xC1,0x3F,0x89,0x1E,0x04,0x72,0xF9,0x7F,0x23,0xE2,0xE3,0x9D,0xA6,0x99,\r
+0x0D,0x44,0x58,0xBC,0x1B,0x08,0x0A,0xAC,0xF3,0x7D,0x2C,0xDF,0x1F,0xB1,0xEA,0x31,\r
+0xAF,0x52,0x62,0x42,0x6E,0x05,0xC1,0xFB,0x88,0x1F,0x46,0xB7,0xBF,0x3B,0x3E,0x18,\r
+0xE1,0x56,0x46,0xFF,0x55,0x2B,0x9F,0x5A,0xA0,0xC3,0x73,0x2C,0x69,0x04,0xBF,0x08,\r
+0x86,0x41,0x6A,0x5C,0x37,0x41,0xF7,0x21,0x1E,0x05,0x15,0x46,0x30,0x54,0x03,0xC6,\r
+0x4E,0x35,0x2B,0xCA,0x8B,0x11,0x39,0x78,0x41,0x63,0x31,0x93,0x57,0xF4,0x62,0xCE,\r
+0x22,0xAE,0x6B,0x2B,0x81,0xA1,0xB6,0xFA,0x91,0x38,0x7A,0x98,0xAD,0xAC,0xF4,0x7D,\r
+0x61,0xDF,0x18,0x5D,0x6F,0xC0,0x9C,0xED,0xEB,0xB5,0xB4,0x87,0x36,0x20,0xD9,0xDD,\r
+0x7D,0x10,0x38,0xD8,0x9C,0x76,0x9A,0x54,0xFD,0xB4,0x71,0xDA,0xE4,0x4D,0x93,0xF5,\r
+0xEF,0x85,0xDE,0x0B,0xC7,0x3D,0x91,0x84,0x16,0x16,0x3C,0x58,0xC2,0x25,0x86,0x6B,\r
+0xE3,0x21,0x1B,0x09,0x8F,0x5F,0x84,0x5C,0x7B,0x75,0x93,0x6D,0x56,0x50,0x8D,0xB9,\r
+0x32,0xC5,0x8E,0xAC,0x95,0x0C,0x75,0xCA,0xE1,0xB7,0xBB,0xBA,0xAB,0xD8,0x2E,0x66,\r
+0x0B,0xBD,0x63,0x35,0x5A,0x10,0xF0,0xEA,0x0B,0xFA,0x52,0x4F,0xDD,0x6D,0x7B,0x5F,\r
+0xA3,0xF6,0xA7,0x40,0xC9,0xC3,0xA3,0x22,0x66,0x99,0xFD,0x7A,0x0C,0x82,0xCF,0x23,\r
+0xB9,0xC0,0xBC,0x4C,0xD6,0x1B,0xB2,0x86,0xBA,0x1A,0xCD,0x57,0xAE,0x2E,0x0A,0x29,\r
+0x6E,0xDD,0x12,0x60,0xB9,0x45,0x88,0x47,0xB8,0x0B,0xEB,0x74,0x93,0x5C,0x29,0xBB,\r
+0x65,0x51,0x7E,0x22,0xDB,0x2F,0xE0,0x3C,0xC8,0x84,0x2A,0x56,0x3B,0xFF,0xEE,0x8C,\r
+0x1C,0xFE,0x2F,0xF2,0x6C,0x0A,0xFC,0xF1,0xCF,0xB1,0xFA,0x3A,0x6D,0x56,0x74,0x30,\r
+0xF2,0x9B,0x6C,0x47,0xB3,0xF5,0x07,0xC5,0x92,0xC6,0xF8,0xCC,0x06,0x8D,0xCD,0x1E,\r
+0x49,0x1D,0x82,0x8A,0xE6,0x40,0x3E,0xB3,0x83,0xF2,0xED,0xFD,0x48,0xBC,0x9F,0xFA,\r
+0x78,0x4F,0xCC,0x6E,0xE4,0x4F,0x03,0xB9,0x33,0xFD,0xD6,0x92,0x6F,0x70,0x65,0x13,\r
+0x83,0x1E,0x9E,0xEA,0x9D,0xB3,0xC7,0x42,0xD7,0x79,0x62,0x62,0x32,0x72,0x12,0xE5,\r
+0x9B,0x5F,0xD8,0x10,0x3C,0x34,0x25,0xB5,0x5E,0x9E,0x79,0xA7,0x17,0x98,0xF9,0x2F,\r
+0x24,0x57,0x50,0xA2,0x8A,0xD4,0x64,0x6E,0xFE,0x4A,0xF3,0x8E,0xEF,0xE6,0x7E,0xBF,\r
+0xC6,0x96,0xD6,0x15,0xD3,0x90,0x52,0xB4,0xD2,0x5D,0x94,0x2D,0xF7,0x7E,0xB6,0xE7,\r
+0x92,0xA4,0xE9,0xA4,0x73,0xD2,0xED,0x55,0xB2,0x09,0xE4,0x49,0x07,0x29,0x22,0x69,\r
+0x19,0xA1,0xDB,0x44,0x0E,0x60,0x94,0x8A,0x8B,0xE1,0xC4,0xE3,0xDC,0xC9,0x94,0x28,\r
+0x44,0x68,0xD5,0x41,0xE8,0xBE,0x0C,0x15,0x8D,0x3B,0xB0,0xF8,0x23,0x67,0x26,0xD4,\r
+0x87,0x90,0xF8,0x95,0xA9,0xA6,0xF6,0x53,0xEE,0x91,0x42,0xC8,0x74,0x6A,0x53,0x1F,\r
+0x75,0x3A,0x9B,0xA5,0x5C,0x51,0x70,0xC4,0x52,0x46,0x02,0x81,0x4C,0xEE,0x54,0xC2,\r
+0x03,0x97,0xC0,0x48,0xA5,0x57,0xF9,0xFF,0xD9,0xB0,0x3F,0x67,0xB1,0x66,0xF7,0x1D,\r
+0xA5,0x0F,0x9C,0xC9,0x18,0xC2,0x6A,0xB0,0xD1,0xA3,0x16,0x79,0x59,0xA9,0xAB,0xCB,\r
+0xCE,0xBC,0x75,0x68,0x15,0xF6,0x38,0x0A,0x85,0x28,0x99,0xE6,0xF6,0xDA,0x59,0x90,\r
+0xFE,0x3F,0xA9,0x45,0xAA,0x6C,0x96,0x4F,0xCD,0xA0,0xDC,0x19,0xDF,0x4B,0x6A,0x7C,\r
+0x35,0xED,0x27,0xEC,0x69,0x81,0x1C,0xC3,0x98,0xC4,0xF7,0xF1,0x71,0x9C,0x77,0x50,\r
+0xB5,0x64,0x79,0x4E,0xD1,0x9F,0x6F,0xBE,0xBD,0x2F,0x1D,0x3B,0xBB,0x69,0xF5,0x20,\r
+0x68,0xA0,0x43,0x47,0x7C,0x45,0xC4,0x73,0x82,0xD0,0x4A,0xC8,0x92,0xCD,0x35,0xA3,\r
+0xAC,0x5B,0xBF,0x3E,0x2E,0xC1,0x95,0x88,0x80,0x8D,0xBC,0xBF,0x26,0x3D,0xD1,0x27,\r
+0xCB,0x8C,0x24,0x50,0xB2,0x0D,0x8D,0xD4,0x16,0x0D,0x10,0xA4,0x03,0x21,0x1C,0x90,\r
+0x8A,0x57,0xC4,0xE6,0x3A,0xBF,0x85,0x6B,0x68,0xF5,0x80,0x23,0x89,0x08,0xBC,0x44,\r
+0x42,0xB7,0x22,0xA9,0x0B,0x0B,0x7E,0x62,0xD9,0xE5,0xC6,0xF8,0x14,0xE6,0x50,0xD3,\r
+0xFD,0x56,0x60,0x09,0x34,0xBA,0x4C,0x36,0x8E,0x15,0x48,0x6C,0x64,0x82,0x30,0x87,\r
+0xA3,0xF7,0x4E,0x32,0x37,0xEE,0xB2,0xB4,0x97,0xC1,0x7B,0xFC,0x40,0x57,0x6F,0xE1,\r
+0x3B,0x68,0x90,0xD4,0x39,0xEB,0x7B,0xE9,0x39,0x3E,0x87,0x4E,0x34,0x4C,0x69,0x3B,\r
+0xDF,0x26,0xA1,0x86,0x79,0x0A,0xE0,0x85,0x1E,0xAE,0x6D,0x8E,0xF2,0x2E,0xB0,0x9C,\r
+0x59,0xB1,0x56,0x73,0x1A,0x3A,0x4A,0x77,0x9A,0x96,0xB0,0x89,0xB2,0x67,0x0C,0x4B,\r
+0xC5,0x52,0x32,0xC2,0x7E,0x66,0xD5,0x55,0x59,0xBB,0x64,0x71,0xE6,0xD6,0x33,0x79,\r
+0x56,0x1D,0xA7,0x7F,0x22,0xE7,0x4D,0xF3,0x96,0x53,0xB2,0x2D,0xCF,0xC8,0x3B,0x6A,\r
+0x39,0xAD,0x9C,0x70,0x4B,0xEA,0xE5,0x0E,0xBB,0x3D,0xD3,0xB0,0x2C,0xB6,0x2F,0x7A,\r
+0x97,0xE8,0x06,0xCF,0x97,0xC7,0x66,0x3E,0x2A,0x14,0x3F,0x83,0x69,0x49,0x67,0xF2,\r
+0xC0,0x5C,0x6F,0x0B,0x9B,0xE1,0xBE,0x45,0x99,0x59,0x8F,0x2F,0xED,0x94,0x5F,0xF5,\r
+0xB3,0x21,0x71,0xB3,0xC5,0x43,0x37,0xC5,0x6C,0x93,0xFF,0xAD,0x07,0x5E,0x7A,0x1E,\r
+0x96,0x9A,0xE1,0x51,0xC9,0x65,0xEF,0xBE,0x04,0xB5,0x61,0xB8,0xC1,0x3C,0xA3,0xB9,\r
+0x58,0xC3,0xB1,0xED,0x88,0xF3,0x9B,0x76,0xA4,0xD2,0x69,0xD9,0xE5,0xE9,0xFC,0xDF,\r
+0x33,0x0F,0x30,0xB5,0xFA,0xF2,0x05,0x91,0xD0,0xD4,0x72,0x03,0x44,0x28,0x09,0x6F,\r
+0x19,0x18,0x51,0x5B,0x89,0x84,0x74,0xD2,0x5C,0x4F,0xD2,0x2E,0x8A,0x37,0x73,0xE2,\r
+0x3E,0x66,0xCD,0x1D,0x3C,0xA4,0x5F,0x1F,0xD5,0x20,0xC4,0x5C,0xCC,0xF7,0xF4,0xCC,\r
+0x35,0xB6,0x86,0x46,0xDA,0x77,0xCA,0x8D,0xBD,0x06,0x5A,0x49,0x81,0x75,0x1F,0x6E,\r
+0xDA,0x28,0xFC,0x4F,0x6C,0x03,0x1F,0xC2,0x28,0x49,0xC9,0xF4,0x4B,0x15,0x03,0x6D,\r
+0x2B,0xBE,0xAF,0x55,0xF9,0xA6,0xFB,0x13,0xA0,0xB4,0x16,0x57,0x63,0xC2,0x99,0xAF,\r
+0x0C,0xC0,0x33,0x13,0x45,0xEF,0x2C,0x53,0x72,0xEE,0x8C,0x15,0x0D,0xD5,0x84,0x43,\r
+0x5F,0x08,0xE0,0x80,0x81,0x9A,0x67,0xFB,0x9D,0x3F,0xF0,0xA1,0xA2,0xE0,0xE9,0x20,\r
+0x27,0xA5,0xB5,0x63,0xF0,0xCF,0x07,0x9E,0xAC,0x71,0x14,0xF3,0x1B,0xDB,0x5A,0xD1,\r
+0x1D,0x64,0xEB,0x0C,0x5E,0xE3,0x1A,0x49,0xDE,0x4C,0x86,0xD0,0x3D,0xF8,0x58,0xC0,\r
+0x53,0x13,0xFA,0xB6,0xCD,0x5D,0x24,0xEC,0xA6,0x8F,0x9F,0xAE,0x0A,0x95,0x2D,0x6B,\r
+0x4F,0xDE,0xDF,0x01,0x9C,0x8D,0x8B,0x95,0x0F,0xD9,0x23,0x34,0xDA,0xF9,0x2A,0x5E,\r
+0x91,0x51,0xB0,0x3C,0x60,0x25,0xC7,0xB9,0x4C,0xAA,0x55,0x45,0x1D,0x52,0x61,0x28,\r
+0xA8,0x27,0x05,0x69,0x8E,0xE8,0x41,0x02,0x7D,0xE4,0xB1,0x17,0x08,0x63,0x70,0x1C,\r
+0xFC,0x24,0x87,0x97,0x07,0x2D,0xA6,0x19,0xF6,0xD6,0x51,0x12,0x2D,0x7F,0xBD,0xAB,\r
+0xC3,0xEB,0x84,0x31,0x76,0x78,0xC6,0x7C,0x75,0x47,0xCC,0x3D,0xB3,0xAE,0x9E,0x9A,\r
+0x00,0xDB,0x29,0x25,0xFB,0x85,0xEA,0x35,0xD6,0xEF,0xFB,0xFA,0xE4,0x20,0x6E,0x0E,\r
+0xDC,0x91,0x4A,0xBC,0x82,0xCE,0x99,0x79,0x27,0x43,0xF4,0xF6,0x7F,0x47,0xB9,0x60,\r
+0x93,0x94,0xBC,0x98,0x92,0x88,0x42,0xC8,0x8C,0x48,0xBE,0x1B,0x1C,0x9B,0xF3,0xF9,\r
+0x1E,0xD3,0x00,0x36,0xEA,0xB4,0xDE,0x20,0x47,0xC6,0x17,0xC9,0x0B,0x5C,0xBF,0xBA,\r
+0x31,0xCA,0x3C,0x11,0x41,0xD7,0xE7,0x01,0x6A,0xA8,0x76,0x54,0xF9,0x6C,0xDC,0x10,\r
+0x24,0x12,0x5E,0x59,0xAC,0x4E,0x9F,0x38,0xFE,0x75,0x2C,0x38,0x3F,0x0E,0x05,0xB7,\r
+0x73,0xA6,0x37,0x9D,0x95,0xE4,0x77,0x18,0xB7,0xF8,0xD1,0x14,0x21,0x7D,0x78,0x0F,\r
+0x04,0xA7,0x93,0x72,0xCE,0x09,0xDA,0x6E,0xD7,0x7D,0x32,0x2B,0x7A,0xF1,0x4D,0x3F,\r
+0xD8,0xED,0xF0,0xEB,0xE2,0xAA,0xCD,0x09,0x9F,0x62,0x06,0xD6,0xAA,0x9D,0x4A,0x0A,\r
+0x02,0x1E,0x25,0x81,0x2B,0x8E,0xB1,0x7E,0xA9,0x85,0xA2,0xAC,0x1A,0x12,0xC8,0x00,\r
+0xA5,0x4E,0xF8,0xC1,0xBA,0x13,0x9E,0xFD,0x41,0xFD,0x9E,0x30,0xDC,0x70,0x11,0xA7,\r
+0xAB,0x90,0xEE,0x53,0x23,0x90,0xA2,0x57,0x6D,0x01,0x36,0x7C,0xD3,0x4D,0x1B,0xA5,\r
+0x30,0xB8,0xDB,0x8F,0xA4,0x50,0x8C,0x11,0xF4,0x8B,0xA7,0x65,0x83,0x83,0x42,0x19,\r
+0x6E,0x19,0xF5,0xB4,0x80,0xED,0x88,0x5F,0xCB,0x5D,0xB7,0xE4,0xB6,0x18,0x6A,0xC5,\r
+0xA1,0x32,0x42,0x96,0xE3,0xDD,0x22,0xAD,0x46,0x54,0xDE,0x18,0xC3,0xCA,0xFE,0xCE,\r
+0x5B,0x74,0x5A,0xD7,0xE6,0x92,0x06,0x5B,0x94,0x0E,0x44,0x5A,0xA5,0xA0,0x40,0x08,\r
+0xFA,0x9D,0x31,0x64,0x77,0x0F,0x29,0xD8,0x2F,0xE0,0x89,0xDC,0xBA,0x1A,0xAF,0x61,\r
+0x7A,0xB3,0x70,0x62,0xF6,0xD4,0xDD,0xEA,0xF7,0x44,0x98,0xC3,0x52,0x26,0xD7,0xFD,\r
+0xE2,0x2C,0xAE,0x84,0xE1,0xFE,0x33,0x8B,0x0C,0x16,0x1C,0x92,0xC0,0xF5,0x31,0x68,\r
+0x11,0x7F,0xF1,0x3A,0xF2,0xEC,0x16,0xB8,0xD1,0x46,0xBB,0xD2,0x8F,0x81,0x87,0xBD,\r
+0xAF,0xEC,0x54,0x04,0x6B,0x6F,0x2A,0x12,0x5D,0xDD,0x1B,0xFF,0xA8,0x6B,0x17,0x7D,\r
+0xE5,0xE7,0xFF,0xE9,0xDF,0x38,0xEE,0x7B,0x61,0xC4,0x34,0xD8,0x3B,0x71,0x63,0x39,\r
+0xB8,0xF1,0x3A,0xE8,0x10,0x07,0x48,0x78,0xC9,0x00,0x41,0x93,0x2B,0xF6,0x86,0x52,\r
+0xB9,0x83,0xDD,0x76,0xA1,0x1F,0xA8,0xE7,0xCE,0xA9,0x01,0xBB,0x2E,0x40,0x72,0x0D,\r
+0xAD,0x29,0x58,0xA0,0x55,0xA9,0xF7,0xE2,0x10,0x36,0x99,0x5D,0x98,0x46,0xCB,0xFE,\r
+0x62,0x02,0xEF,0x82,0x65,0x6A,0xE3,0x4F,0x74,0xD5,0x05,0xEC,0x66,0x74,0x6D,0xF0,\r
+0x4B,0xA2,0x65,0x56,0xFF,0xBD,0x21,0x67,0x23,0x25,0x8B,0x78,0xC6,0x7C,0x0A,0x91,\r
+0xB5,0x98,0xC7,0x40,0xCC,0x2A,0xCB,0x48,0xE3,0xC7,0x60,0x26,0x4D,0x9C,0x38,0x94,\r
+0xD0,0x8A,0x50,0x8A,0x9F,0xD9,0x75,0x17,0xCA,0xCF,0x7E,0x35,0xAB,0x54,0xD8,0xDB,\r
+0x29,0x7B,0xA3,0xF1,0xAB,0x22,0xAA,0xE8,0x9B,0x04,0x79,0x58,0x15,0x2F,0xC2,0x02,\r
+0x4D,0x66,0x2C,0x19,0x5E,0x2F,0x7A,0x23,0x7E,0xAD,0x49,0x21,0x46,0x6C,0xEB,0x94,\r
+0x72,0x54,0x78,0xA8,0xE1,0xCE,0x38,0x83,0x0E,0xF9,0x29,0x45,0xD2,0x9C,0x65,0xC3,\r
+0x40,0x51,0xF3,0x48,0x98,0x11,0x8A,0xFE,0x2E,0x11,0x10,0xEF,0x64,0x47,0x24,0x23,\r
+0x4E,0x98,0xAE,0x4D,0x00,0x8E,0x54,0x18,0x5A,0xCB,0x16,0xF4,0xD6,0xB8,0xD8,0x8D,\r
+0x57,0xBF,0x92,0x62,0x0F,0x22,0xA5,0x14,0x3C,0x0D,0xA8,0x9E,0x95,0xF4,0x1F,0x9A,\r
+0x05,0xEE,0x69,0xE6,0xCB,0xD9,0x59,0x6D,0x88,0x89,0x4C,0x6E,0xE2,0xA9,0xE9,0x98,\r
+0x43,0xAF,0x71,0x1C,0x29,0x2E,0xDE,0xCC,0x93,0x6E,0xC5,0xAB,0x09,0x8C,0x23,0x72,\r
+0xCB,0xA7,0xCE,0xAE,0x68,0xF5,0x3E,0x7A,0x19,0xBA,0x65,0x82,0x8E,0x74,0xB3,0x0C,\r
+0xEE,0x4C,0x24,0x64,0x34,0x91,0x1C,0xE5,0x73,0xD8,0x1E,0xEA,0xA9,0x6D,0x9C,0x30,\r
+0x32,0xCF,0x14,0x49,0x9A,0xD4,0x86,0x5A,0x36,0x50,0x56,0x15,0x9A,0x44,0x70,0xA1,\r
+0xBC,0x1D,0xDF,0xE0,0x10,0x58,0x6B,0x99,0x1D,0x34,0x03,0xFD,0x87,0xEA,0x5C,0x76,\r
+0xE2,0x94,0x5F,0x42,0x63,0x25,0x75,0x21,0xF7,0xDF,0x26,0x37,0x05,0x20,0x2C,0x83,\r
+0x63,0x60,0x6D,0x99,0xFA,0xC8,0x4C,0x59,0xA8,0x61,0x75,0xC4,0xA3,0xEF,0x13,0x80,\r
+0x00,0xCA,0x9F,0xA9,0x7C,0x5F,0xBB,0xAC,0xE8,0xB6,0xC9,0x8D,0xA4,0xD7,0xCE,0x04,\r
+0x5B,0x67,0xE9,0x44,0xF5,0x64,0xBD,0x55,0xD5,0x40,0x42,0x6B,0x07,0x2A,0x11,0x8C,\r
+0x07,0xFF,0x4F,0xC5,0x66,0x2B,0x28,0xE8,0xFC,0x53,0x4A,0x75,0x5B,0xC2,0xC7,0x43,\r
+0xA3,0xE0,0x97,0xD4,0x96,0xCF,0x9C,0x6C,0x9B,0x44,0x66,0xD6,0x63,0x7F,0xF9,0xA7,\r
+0x45,0x75,0x05,0x07,0x9D,0x1F,0xD7,0x37,0xD6,0xE6,0x8D,0x54,0x76,0x59,0x67,0xCF,\r
+0x80,0xD1,0x09,0x05,0x88,0xC7,0xB5,0x7F,0x79,0x85,0xE0,0x61,0x7D,0xCD,0xB5,0xBA,\r
+0x15,0x35,0xD8,0xA0,0x79,0x51,0xE6,0x65,0x51,0x47,0x7A,0xB6,0xDE,0x30,0x6A,0x32,\r
+0xF1,0xB1,0x6C,0x50,0xFB,0xBA,0xAB,0xC7,0xFF,0xF5,0x85,0x4A,0xF3,0xAB,0xCA,0xBE,\r
+0xB0,0xC5,0xA4,0xC6,0x35,0xE3,0xFB,0x7B,0xDB,0x93,0xDA,0x9F,0x92,0xCC,0xC2,0x1E,\r
+0xF0,0x5E,0xC8,0x27,0xBA,0x61,0x4B,0x71,0x90,0xC8,0x0A,0x94,0x04,0x36,0x71,0x46,\r
+0x83,0x2F,0x8B,0x51,0x90,0x76,0x2A,0x9F,0x5E,0x45,0x70,0x8B,0x29,0xAD,0xD1,0xCA,\r
+0xE5,0xA1,0x8F,0x2E,0xEC,0xA7,0xC5,0x2B,0xC0,0x74,0x53,0x5A,0x1E,0xA0,0x80,0x15,\r
+0xB4,0x0E,0xF6,0xFE,0xF0,0x6A,0xE0,0x9C,0x10,0x41,0x54,0x36,0x84,0xF6,0x3C,0xBC,\r
+0xF7,0x6B,0x18,0x4B,0x0B,0x5E,0x1F,0x43,0x12,0x36,0x09,0xC0,0x3D,0x9D,0x12,0x67,\r
+0x19,0xED,0xA3,0x86,0x32,0x28,0xAA,0x16,0x07,0x02,0x18,0xF1,0x6F,0xD3,0xF6,0x56,\r
+0xF8,0x4D,0xE1,0x39,0xFC,0x71,0xFA,0xAA,0xB8,0x0A,0x90,0x43,0x8B,0x46,0x53,0x87,\r
+0x3C,0x06,0x49,0x4C,0xAF,0xB9,0x29,0x39,0x17,0x69,0xFD,0x76,0x3F,0x97,0x2F,0x68,\r
+0x27,0x30,0x53,0x40,0xBE,0x1D,0xF1,0x26,0x27,0xEA,0x21,0x5B,0xFA,0x35,0x25,0xC4,\r
+0x89,0x2D,0x84,0x6C,0x84,0xDC,0xAF,0x49,0x01,0xFB,0x23,0x78,0xD9,0x08,0xB7,0xB6,\r
+0x93,0xF4,0x3A,0x17,0xBD,0xAA,0x1A,0x1C,0x11,0x90,0xC6,0xFF,0xE3,0xBF,0xB4,0x5D,\r
+0xEB,0x68,0xD2,0x2B,0x30,0xED,0xA6,0xB2,0x06,0xD3,0x8A,0x38,0x31,0x31,0x1D,0x96,\r
+0xD5,0xB5,0x22,0xED,0x87,0x6B,0x44,0x73,0x25,0x9D,0x7C,0xAD,0x12,0x0C,0x8F,0xE4,\r
+0x38,0xCD,0x1B,0x74,0x92,0xB3,0x26,0x3B,0xE3,0x3A,0xA5,0xCF,0x7E,0xD1,0xD5,0x70,\r
+0x0F,0xEC,0x66,0xDB,0x60,0x92,0x9E,0x1B,0xA9,0xB0,0xE7,0x0D,0x17,0x3E,0x6F,0x6F,\r
+0x7E,0x8C,0x03,0x8E,0x5F,0x5D,0x9D,0xBD,0x37,0x81,0xC4,0xDC,0x38,0xAF,0xF2,0xEC,\r
+0xFB,0xB3,0x63,0x6D,0x7F,0xE8,0x50,0x96,0x65,0x4A,0xC0,0xE4,0xDC,0x3A,0x57,0x3D,\r
+0x82,0xC0,0x2F,0x26,0xA3,0xA2,0x33,0x0F,0xFE,0x24,0x17,0x83,0xD0,0x96,0x58,0xCC,\r
+0x5A,0x88,0x4D,0x33,0x08,0xE9,0xF4,0x79,0xC9,0x8F,0x62,0xEE,0x56,0x78,0x95,0x77,\r
+0xC3,0xB4,0xE7,0xB0,0x06,0x37,0xE2,0xEB,0xC6,0x8D,0x68,0xD3,0x1A,0x84,0x3D,0x5B,\r
+0xF9,0xA2,0x45,0x4E,0xCD,0x60,0xEF,0x9E,0xAC,0xEF,0x13,0xBB,0xCE,0x24,0x14,0xD1,\r
+0xDD,0xA6,0x0B,0xF3,0x93,0xC1,0xC1,0xA5,0x99,0x33,0x3B,0x20,0x4F,0xF2,0x04,0xEE,\r
+0xB7,0xF0,0x74,0xAA,0xA7,0xDE,0x89,0x58,0x60,0x15,0x34,0x52,0x01,0x04,0x91,0xCD,\r
+0xEC,0x5D,0x02,0x47,0xD0,0xDF,0x2D,0xB7,0x3B,0x25,0x01,0xDE,0x3E,0x81,0x72,0xAD,\r
+0x52,0x9B,0x64,0x2D,0xA1,0x67,0x3F,0xAB,0x00,0x2A,0xB1,0xB1,0x86,0xFC,0x01,0xB3,\r
+0x9B,0xE7,0x13,0x09,0x7B,0x94,0xEA,0xC1,0xB0,0x20,0x33,0x3E,0xFC,0x1B,0xA5,0x85,\r
+0x8B,0x3C,0xA2,0x4F,0xB2,0x06,0xEB,0x10,0x95,0x97,0xFE,0x22,0xF8,0x3F,0x18,0xCB,\r
+0x98,0x19,0x91,0x5D,0x41,0x55,0xB4,0xAE,0xDA,0x42,0x48,0x56,0xB8,0x6F,0xBF,0x16,\r
+0xA6,0xC4,0x61,0x9B,0x46,0x9E,0xE5,0xC3,0x21,0x13,0x1A,0xD2,0xF2,0xBD,0x97,0x7B,\r
+0x12,0x00,0x08,0xCC,0x0C,0x95,0x4E,0x2E,0xB2,0x57,0x6E,0xC8,0xD5,0xA4,0xB8,0x47,\r
+0x9F,0x2C,0x41,0x31,0xF8,0x0D,0x40,0xFD,0xBF,0x22,0x39,0x03,0x70,0x77,0xE7,0x8E,\r
+0x9A,0x08,0xB7,0x7E,0x02,0x4B,0x58,0xBC,0xD9,0xE4,0x87,0x69,0x32,0x2D,0x7D,0x5C,\r
+0x8F,0xF7,0xF0,0x77,0xD9,0xCA,0x6A,0x48,0x48,0xD7,0xAE,0x85,0xE9,0x3D,0x3B,0xED,\r
+0x0E,0x03,0xC2,0xAC,0x59,0xE4,0x2B,0x4E,0xA0,0x4B,0xD6,0xB9,0xF6,0x99,0x2A,0x35,\r
+0xB5,0xE1,0x52,0x89,0x16,0xE1,0xDD,0x6A,0x57,0xBE,0x41,0x3F,0x0C,0xBE,0xC3,0xF9,\r
+0x86,0x0B,0x7D,0x1E,0xE8,0xDB,0x7F,0x7C,0xDC,0xBB,0x73,0xDF,0x52,0x5C,0x28,0x39,\r
+0xD2,0x80,0xF2,0x81,0x8A,0x02,0xB9,0xDB,0x0F,0x28,0xBB,0x8C,0x72,0x7D,0xDA,0x81,\r
+0xE6,0x5F,0x0D,0x7A,0x73,0xF3,0x4A,0xA0,0xB1,0xF1,0xA1,0xF7,0x1F,0xB6,0xDD,0xD0,\r
+0xD8,0x82,0xFD,0xBC,0x1A,0xFA,0xC7,0x5C,0x34,0x27,0x0B,0xE3,0x91,0xD0,0xA2,0xD4,\r
+0x69,0x62,0x62,0xA4,0x1B,0x88,0x20,0xC2,0x31,0x78,0xFF,0x55,0xB9,0x79,0xE2,0xD3,\r
+0x1C,0xC9,0x55,0xC9,0xC1,0x7B,0xF5,0xA8,0x7C,0xDA,0x14,0xD7,0xC6,0xAC,0xA6,0x6E,\r
+0x2C,0xDD,0xF8,0x0A,0x0E,0x50,0x42,0x8A,0x82,0xD4,0xB2,0xE5,0x77,0x4F,0x3A,0x0A,\r
+0xB8,0x0E,0xB8,0x94,0x92,0xA3,0x62,0x7A,0x3B,0x3E,0x95,0x48,0xAE,0xB0,0xF3,0xD9,\r
+0x35,0xB2,0x16,0xD3,0xEA,0x9F,0xFE,0x92,0xE9,0xF5,0x3C,0xC6,0xB9,0x77,0xBF,0x9A,\r
+0x1A,0x8E,0x31,0xCA,0x41,0xFC,0xC7,0xB3,0x74,0xD8,0x5D,0xA8,0x4B,0x47,0xDC,0x30,\r
+0x0F,0xEC,0x79,0x12,0xAC,0x65,0xBF,0x8A,0x18,0x4C,0x07,0x75,0x8D,0x25,0x05,0x97,\r
+0xD7,0x35,0xB7,0x24,0x07,0x06,0x86,0xAB,0x32,0x44,0x7A,0xD6,0x9F,0x54,0xBD,0x8B,\r
+0xE8,0x36,0x11,0xEB,0x76,0x53,0xE6,0xCE,0x1D,0xC7,0xE7,0x47,0x01,0x85,0x9E,0xBA,\r
+0x2B,0x9B,0x05,0xDB,0xFB,0xAE,0xCA,0x87,0xDA,0x64,0xD0,0xEF,0x56,0x0B,0x6E,0x2E,\r
+0xF7,0xF8,0x9C,0x91,0x82,0xE5,0xB9,0xCB,0xD6,0x95,0xDF,0x43,0xCD,0x6C,0xB9,0x40,\r
+0x8E,0x4A,0xE1,0x4E,0xBA,0x38,0xBE,0x4F,0x10,0xF3,0xB5,0xFD,0x6E,0x5B,0x11,0x87,\r
+0x80,0x5C,0x73,0x90,0x23,0xBB,0x82,0xE5,0x5C,0xDF,0x1D,0x01,0x61,0x66,0x1B,0x85,\r
+0x1B,0x69,0xAF,0xB8,0xA4,0x7B,0xAC,0xA3,0x45,0x46,0x8C,0x8B,0x31,0xA8,0x42,0x39,\r
+0x45,0x47,0x94,0x19,0x80,0xC6,0xA8,0xED,0xC4,0x79,0x9C,0x5D,0x04,0x33,0x6A,0xE5,\r
+0x58,0x85,0xBD,0xA6,0x95,0xCF,0x57,0xAA,0x34,0x05,0xFA,0xF8,0x93,0x56,0x78,0x2F,\r
+0x2F,0x21,0x52,0xA7,0xCE,0x22,0xFA,0xDC,0x0B,0x65,0x19,0x7D,0xC8,0xDA,0x4D,0x1F,\r
+0xF3,0x42,0xCB,0xED,0xE2,0x81,0xED,0xBB,0xF6,0x2D,0x2D,0x62,0x18,0xB6,0x4A,0x2A,\r
+0x29,0x97,0xA1,0x1E,0x2B,0xA5,0x91,0xCC,0x8C,0x1B,0x89,0x85,0xA8,0x39,0xC8,0x20,\r
+0xC9,0x1C,0xA4,0x2C,0xE1,0xD5,0x13,0x39,0xB2,0xBE,0x37,0x16,0x72,0xDE,0x31,0x48,\r
+0x3A,0x43,0x1A,0x7F,0xF2,0xC7,0x36,0x0A,0xF2,0x63,0x90,0x46,0x3D,0xAA,0x87,0x9D,\r
+0x84,0xE6,0x24,0xEC,0x6B,0x44,0x0A,0xA0,0xDF,0xEF,0x30,0xDD,0x1A,0x40,0x17,0x5D,\r
+0xCE,0x4D,0xC9,0xE7,0xDF,0x13,0xCE,0xC9,0xF8,0xD3,0x1F,0xC4,0x89,0x5A,0x63,0x19,\r
+0x8A,0xF0,0xB6,0x32,0xE3,0xF6,0x02,0x1F,0x38,0xF4,0xF5,0x54,0x71,0xE1,0xFE,0xEE,\r
+0x70,0xE8,0xF7,0x74,0xE6,0xB9,0x26,0xE9,0x7A,0x26,0x6F,0x0E,0x17,0x8B,0x40,0x28,\r
+0xD1,0x83,0x44,0x9D,0x77,0x24,0x09,0x6A,0xFC,0x9D,0xA2,0xE0,0x08,0x31,0xAF,0x41,\r
+0x51,0xC2,0x42,0xB3,0xF6,0xFF,0xFD,0x58,0xE3,0x45,0xB3,0x44,0xE0,0x0D,0xD7,0xDD,\r
+0x60,0xD7,0x76,0xA2,0xFF,0x96,0x01,0xD5,0x58,0x91,0xA0,0x25,0x74,0x57,0x0A,0xB1,\r
+0x9E,0x75,0x60,0x98,0xCC,0x01,0xEB,0xFA,0x06,0x51,0x4B,0xC7,0xFF,0xB7,0x38,0xB4,\r
+0xFB,0xE2,0xAA,0x8A,0x9F,0xF2,0x55,0xA5,0x15,0x78,0x55,0xCF,0x19,0x7F,0xD8,0xFB,\r
+0x02,0x11,0xD1,0x7B,0xAB,0x09,0x8A,0x5A,0x78,0x29,0x52,0x04,0xA7,0x04,0xC2,0x22,\r
+0x93,0x88,0xC8,0xF1,0x10,0x2C,0x68,0xCA,0xB3,0x7B,0x6A,0x00,0x99,0xDD,0x86,0x72,\r
+0x92,0x6F,0x56,0x83,0xA1,0x34,0x88,0x55,0x9B,0x7C,0x2A,0xA9,0x9C,0x6B,0x72,0x2D,\r
+0x86,0xEA,0x80,0x29,0x55,0x82,0xD7,0x50,0x7D,0xA2,0xB2,0x36,0x2A,0x6D,0xCB,0xDE,\r
+0x49,0x5D,0xA2,0x02,0x65,0x41,0xC3,0xFD,0xCC,0xC6,0x2E,0xD5,0xD4,0x5F,0x6D,0xD0,\r
+0x69,0x90,0x89,0xB7,0x0B,0x20,0x5E,0xD0,0xD8,0x6B,0xED,0xE5,0xA6,0xCD,0x50,0xF3,\r
+0xD6,0xD2,0x29,0x56,0x34,0x91,0x6C,0x84,0x4C,0x3C,0x63,0x15,0xD6,0xA9,0x30,0xA7,\r
+0x88,0xFC,0x12,0xF7,0x37,0xC5,0x92,0x06,0xDC,0x25,0x50,0xC1,0xF2,0x7C,0x6F,0xC1,\r
+0x10,0x22,0xF4,0x68,0x39,0xC0,0x5B,0x5B,0x6E,0x8B,0xAC,0x3E,0x86,0x67,0x69,0x1B,\r
+0x43,0xF1,0x67,0xA0,0x7C,0x6E,0xE4,0xC1,0xE8,0x30,0x61,0xD0,0x20,0xE6,0x35,0x83,\r
+0x87,0x0D,0x1E,0x5B,0x2E,0xEA,0xB5,0x3A,0x9F,0x32,0x97,0x8D,0x94,0x16,0xD1,0x07,\r
+0xE0,0x96,0x70,0x8C,0xB2,0x26,0xAD,0x66,0x84,0xA4,0x3B,0x0D,0xB1,0x0A,0x1C,0xB0,\r
+0xA1,0x76,0xC6,0x57,0x3A,0x94,0xA5,0xD9,0x03,0xDA,0xAB,0xF5,0x3B,0x23,0xBC,0x64,\r
+0x12,0x2E,0x50,0xAD,0x4B,0xC1,0xC5,0xBC,0x90,0x09,0xF8,0x3D,0x9E,0x9D,0x2F,0x5A,\r
+0xBC,0xB4,0xEF,0xE8,0x97,0xEC,0x46,0x8C,0xA3,0x98,0x14,0x14,0xDB,0x62,0x67,0xD2,\r
+0xEB,0xDD,0x2B,0x5C,0x9B,0xCA,0x9E,0xF7,0x0F,0x2B,0xA4,0x59,0x5F,0xBF,0x5F,0xD5,\r
+0x98,0xC3,0x93,0x21,0xC5,0x68,0x17,0x77,0x8D,0xDE,0xD4,0x93,0xB5,0x75,0x7A,0x3E,\r
+0xF4,0x13,0xA6,0x26,0x79,0x21,0xC0,0x37,0xAE,0xAC,0x46,0xAE,0x40,0x05,0xB0,0xBC,\r
+0x72,0xE4,0x53,0xB1,0x1A,0x11,0x6A,0xC5,0xA9,0x28,0x9B,0x96,0x00,0x4C,0x0C,0x6B,\r
+0xEE,0x80,0xE2,0x52,0x7E,0x4D,0xF5,0xE7,0x51,0xEB,0x4F,0xBB,0x54,0xFD,0x33,0x59,\r
+0x7D,0x15,0x5F,0x1D,0x22,0xCC,0x6D,0x41,0x0D,0x24,0x99,0x53,0x7D,0xE3,0x3B,0x4A,\r
+0x15,0x7F,0x3D,0x66,0x3C,0x8F,0x7F,0xAD,0x7C,0x67,0xEF,0x20,0x7E,0xDC,0xF4,0xEC,\r
+0x1E,0x34,0x66,0xB6,0xDA,0x5C,0xEA,0x3F,0x69,0x0F,0x71,0x06,0x33,0x5E,0x1F,0x4E,\r
+0xF1,0x4E,0x6F,0x28,0x6C,0x28,0x3F,0x70,0xD4,0x9A,0xE2,0x49,0xF9,0x3E,0x03,0x4D,\r
+0x00,0x1D,0x75,0xBE,0xF9,0x8D,0xDB,0xA1,0x77,0x12,0x3D,0xB4,0xD1,0xE9,0x99,0x8F,\r
+0xBD,0x53,0x71,0x9A,0xC9,0x4E,0xCF,0x0C,0x98,0xB6,0x4A,0xB5,0x73,0x17,0xA3,0x99,\r
+0x73,0x03,0xCD,0xC3,0x88,0xD8,0xBB,0xC4,0xF9,0x16,0x42,0xD2,0x57,0xC2,0xFC,0xFF,\r
+0x18,0x82,0x95,0x0F,0xFA,0xD9,0x25,0x23,0x23,0x62,0x59,0xD4,0xF6,0x03,0x09,0x4F,\r
+0x32,0xE3,0x7B,0x18,0x89,0xAF,0x54,0x60,0x0E,0xEE,0xF9,0x4F,0x38,0x1C,0x73,0xC2,\r
+0x78,0x48,0x96,0x13,0xCD,0x76,0x04,0x5E,0x8E,0x14,0xB4,0x8F,0xB8,0xBE,0x2D,0x4B,\r
+0x64,0x6D,0x21,0xDE,0x9C,0xA6,0xAB,0x27,0x14,0xBD,0x08,0xD9,0x68,0xD2,0x2A,0x7E,\r
+0xBA,0x02,0x1C,0x51,0x60,0x0E,0xE7,0x0B,0x65,0xFE,0x7E,0xAA,0xAF,0x79,0x61,0x08,\r
+0x83,0xB7,0x49,0x27,0x8E,0xC3,0x61,0xB0,0x37,0xCF,0x9A,0xE4,0xBA,0x48,0x70,0x3C,\r
+0x27,0x81,0x33,0xC0,0x45,0xC4,0x0C,0xE1,0x35,0xC0,0xA7,0xEE,0xBF,0xFE,0x84,0x63,\r
+0x74,0x52,0xA0,0x08,0x81,0xB1,0x47,0x49,0x81,0x2F,0xDB,0x3F,0x10,0xCB,0xE9,0x00,\r
+0x0C,0x07,0x43,0xA5,0xF0,0xE4,0x27,0x2C,0xD3,0x1E,0x3F,0x71,0xA9,0xF0,0x5A,0xF1,\r
+0x36,0x59,0x2C,0x64,0x5E,0xC8,0x3A,0xFB,0xF0,0x6C,0xAD,0x4C,0x8F,0xD3,0x58,0xE0,\r
+0x08,0xAE,0x98,0x5B,0x91,0x78,0x1A,0x5B,0xCF,0x14,0x0C,0x27,0x52,0xCC,0xA0,0xE1,\r
+0x12,0x3D,0xDC,0x2F,0x88,0x57,0x3D,0x67,0x0B,0x7D,0x5B,0x93,0xF9,0x86,0xAB,0x0C,\r
+0x96,0xC6,0x8D,0x7D,0x5A,0x7F,0x77,0x0A,0xD6,0x8D,0x9D,0xAD,0xA8,0x81,0x60,0x61,\r
+0xE2,0x89,0x58,0xCB,0x0A,0xD8,0x37,0xD7,0xF3,0xBE,0x8F,0xBE,0xF7,0x72,0x33,0xDF,\r
+0x79,0xBC,0x84,0xE3,0xAC,0xEA,0x39,0x29,0xCC,0xDE,0x6C,0x3B,0x37,0x99,0xD1,0x81,\r
+0x45,0x54,0x18,0x9B,0x08,0xFB,0x26,0xF1,0x38,0xEC,0xB7,0xBA,0x76,0x19,0xFF,0x87,\r
+0xA9,0xC5,0x2B,0xB2,0x18,0xBD,0xFD,0x40,0xC7,0xAB,0xBE,0xAF,0x44,0xC2,0x7E,0x73,\r
+0xC3,0xA3,0xED,0x0C,0x42,0x27,0xBF,0x92,0xE3,0x5D,0xF1,0xAA,0x5C,0x38,0x38,0x32,\r
+0x37,0xAD,0x3E,0x94,0x83,0x1D,0xD0,0xCC,0x90,0x11,0xBA,0xD3,0x56,0xB3,0xC6,0x6F,\r
+0x4C,0x13,0xE7,0x8E,0x48,0x1A,0xBD,0x9D,0x4F,0xEE,0x41,0xE7,0xA5,0x4A,0x37,0x14,\r
+0x1F,0xC0,0x74,0x46,0x69,0xE8,0x9D,0x25,0xC4,0x61,0xDE,0xB3,0x63,0x28,0xEE,0xB3,\r
+0xFF,0x4B,0x71,0x74,0x8B,0x03,0xC3,0xE5,0x2E,0x4E,0x49,0x80,0xC1,0xD6,0xD4,0xA5,\r
+0x25,0x9E,0x1B,0x87,0x7A,0xFA,0xB8,0x16,0x12,0xE4,0xCA,0x19,0x5E,0xCE,0x65,0x45,\r
+0x17,0x60,0x15,0x21,0x99,0x66,0x09,0x72,0x06,0x49,0x09,0x29,0xE9,0x01,0x4E,0x67,\r
+0x95,0x2D,0xB7,0xCA,0x4C,0x22,0x76,0xCF,0xAD,0x7E,0x64,0x5C,0x3C,0xDB,0xBD,0x0D,\r
+0x23,0x28,0xE8,0x3E,0xE5,0x62,0x5E,0xC8,0x4D,0xE1,0x7C,0xED,0xDB,0xDA,0xCF,0x93,\r
+0x0F,0xFF,0xF5,0x90,0xE4,0x15,0xB1,0x6C,0x02,0x07,0xB4,0x0D,0x3A,0x52,0x86,0xF4,\r
+0x6D,0x39,0x52,0x49,0x39,0x4F,0xDD,0xF8,0x7A,0x3E,0x2D,0xE0,0x58,0x47,0x5E,0xBC,\r
+0xF8,0x1A,0x1C,0xBF,0x04,0xDD,0xFE,0x8A,0xA7,0xCE,0xEB,0xDE,0xBA,0xF0,0xD8,0x7D,\r
+0x3F,0x0D,0x5F,0xF3,0x8A,0x74,0x2C,0x41,0x3B,0x26,0xD7,0xA6,0x06,0x7D,0x9F,0xD3,\r
+0x43,0xE2,0xEB,0x22,0xA3,0x98,0x1F,0xD0,0x0F,0x33,0xE6,0xB7,0x2F,0x63,0x97,0xC0,\r
+0x24,0x79,0x85,0xF5,0x0F,0x97,0x13,0x21,0x7C,0x7F,0xAD,0xCE,0x4C,0xBF,0xDD,0x59,\r
+0x1C,0x2B,0x4E,0xF1,0x9A,0x32,0xF7,0xF0,0x43,0x1F,0x4E,0x4B,0x81,0x9F,0x68,0x72,\r
+0xCD,0xB5,0x7F,0xD2,0x0B,0xAF,0xD8,0x73,0x23,0x7A,0x1B,0x3A,0x82,0xA0,0xA7,0xD4,\r
+0xE0,0x85,0xFC,0x0E,0xC7,0xC4,0x80,0xF2,0x69,0x17,0x33,0xE8,0xDD,0x53,0xF4,0x6A,\r
+0x7B,0xB0,0x20,0x26,0x11,0xD4,0x01,0xCD,0x6D,0x59,0x8E,0xCC,0xF3,0x0D,0x55,0x51,\r
+0x13,0xDA,0x42,0x5D,0xB1,0xFD,0xD5,0x47,0x7B,0xFB,0x70,0xF6,0xFE,0xC6,0x02,0x24,\r
+0x2E,0xD5,0x40,0x57,0x4D,0x55,0x99,0x6B,0x47,0x51,0xF3,0x6F,0xE8,0xC8,0xDC,0xB6,\r
+0xFE,0xAC,0xEF,0x06,0x2E,0x65,0x33,0x99,0x28,0x0F,0xC9,0xAE,0xF6,0xBB,0xA1,0x0E,\r
+0x71,0x1C,0xE5,0x84,0xC9,0xC1,0x49,0xAF,0x54,0x78,0xED,0x67,0x23,0x61,0x52,0x64,\r
+0x1E,0x27,0xEA,0x34,0xB4,0xB2,0xF1,0xB1,0x92,0x1E,0x87,0xD9,0x31,0x10,0xEA,0x78,\r
+0x92,0x7C,0xDA,0x01,0x31,0x51,0xCE,0xD1,0x3F,0x68,0x6A,0x82,0x95,0x67,0xEB,0x97,\r
+0x76,0x4D,0x88,0x4F,0x05,0xAA,0x11,0x2E,0xFA,0xC4,0x60,0x20,0xFA,0xB9,0x64,0xAA,\r
+0xA1,0x65,0x4A,0xD5,0xF8,0x75,0xB2,0xA6,0x1E,0x15,0xC5,0xB5,0xA9,0x48,0xF2,0xB0,\r
+0x94,0xCA,0x29,0xB8,0x6C,0xA7,0xB9,0xD3,0xBA,0x19,0xC7,0x70,0xCB,0x5D,0x2A,0xF8,\r
+0x16,0x87,0x8B,0x53,0x4A,0x39,0xAC,0xBB,0x2F,0x8B,0x14,0x96,0x80,0x56,0xFA,0xA3,\r
+0x4B,0x42,0x8A,0x45,0x98,0x11,0xE6,0xD6,0xE0,0x97,0x91,0xB6,0x36,0x50,0x43,0x50,\r
+0x54,0x8C,0x07,0x3F,0x03,0xB1,0xCB,0x5A,0x91,0xD4,0xE7,0xC5,0x57,0x7A,0x54,0xBE,\r
+0x5F,0xC7,0x5C,0xEF,0xF9,0x02,0x5D,0x02,0x0A,0xB8,0x06,0x85,0xE7,0xF5,0xD6,0xB4,\r
+0x8A,0xE3,0x3A,0xB0,0x9E,0x0A,0x3C,0xA2,0x7E,0x70,0x90,0xC4,0xB7,0x3B,0x8F,0x08,\r
+0x31,0x1B,0xCD,0x2D,0xE6,0x36,0xA0,0x4A,0x22,0xBF,0x46,0x2C,0xB6,0xF2,0x1D,0xD9,\r
+0x00,0x0E,0xF9,0x3C,0xA8,0xD2,0xF2,0x7B,0xA4,0x04,0x8B,0xC2,0x03,0xCB,0x6B,0x8C,\r
+0xF6,0x0C,0x8E,0x61,0xC3,0xFC,0x4B,0xA0,0xC1,0xEA,0x3E,0x81,0xFC,0x30,0x5F,0x53,\r
+0x9A,0xDC,0xBB,0x66,0x95,0x40,0xD1,0x09,0x6E,0x93,0xEE,0xD0,0xD9,0x2C,0x92,0xE4,\r
+0xB8,0x1D,0x34,0x16,0x3D,0x77,0x16,0xAA,0xE2,0x98,0xAC,0xBC,0xB3,0x44,0xE9,0x86,\r
+0x9B,0x3B,0x25,0x14,0x00,0xE5,0x35,0xD8,0xFF,0x4F,0x80,0x12,0xED,0x7E,0x28,0xE9,\r
+0xB6,0x0B,0xA6,0xC8,0xA2,0xEF,0xF0,0x74,0xC9,0x55,0x8C,0x09,0x35,0x6F,0x8C,0xF6,\r
+0x83,0xA4,0xC5,0xA5,0x73,0x93,0x44,0x9B,0x82,0xFD,0xF9,0xCD,0xE6,0x3C,0x44,0x65,\r
+0x34,0x46,0x04,0x23,0x8D,0x18,0x19,0x91,0x57,0xB2,0x8D,0x7B,0x48,0xC0,0xBB,0xD7,\r
+0x2F,0x32,0xDE,0x25,0x72,0xE4,0xAB,0x3F,0x9E,0xEF,0x88,0x75,0x96,0x58,0x24,0x31,\r
+0x85,0x12,0x36,0x1C,0xA9,0xA5,0x1D,0xDF,0x9B,0x64,0x68,0x47,0x24,0x21,0xFB,0x4C,\r
+0xE1,0x62,0x62,0x7C,0x59,0x2B,0x89,0x88,0xA9,0x30,0xD9,0x78,0x66,0x9E,0x1A,0xEC,\r
+0x42,0x05,0x75,0x50,0x41,0x73,0x41,0x10,0x68,0xD2,0x6E,0xFE,0x22,0xA8,0xC0,0xB5,\r
+0x6B,0x8F,0xA1,0xF0,0xB9,0xE3,0xC6,0x6E,0x60,0x6D,0xDC,0x76,0xC2,0xE9,0x1B,0x03,\r
+0xAE,0x94,0x46,0x79,0x9C,0x29,0x2D,0x84,0x21,0x75,0x26,0x30,0x45,0x0B,0xEC,0xA2,\r
+0x5E,0x20,0xC2,0x9D,0xC1,0xDF,0x5A,0x86,0x70,0x8E,0xA2,0x62,0xB9,0xCF,0x17,0xDB,\r
+0xF7,0xEB,0x10,0x13,0x15,0xEC,0xCA,0x9F,0x5B,0x43,0x82,0xD7,0x69,0xA3,0x10,0xEE,\r
+0x3D,0x01,0xFB,0x36,0xDF,0x9C,0x48,0x6A,0xD2,0xC3,0x20,0x89,0x77,0xD0,0x6D,0x56,\r
+0xD5,0x2A,0x9F,0x63,0x71,0xB0,0x55,0xBD,0x00,0x08,0x89,0x07,0x9A,0x5A,0xE1,0x95,\r
+0x2A,0x6F,0x17,0x2B,0x58,0x5C,0x66,0x2C,0x83,0x38,0xA4,0xDB,0x00,0xF4,0xA4,0x2A,\r
+0xB5,0xE0,0x9C,0x7F,0xF7,0x07,0x94,0x5F,0x30,0x53,0x05,0x32,0x34,0xA6,0x1E,0x27,\r
+0xAB,0xC9,0x8F,0x77,0x1F,0xD1,0xC8,0x90,0xA8,0xF5,0x84,0x6E,0xA1,0x35,0x51,0x9A,\r
+0x4D,0xF4,0x79,0xFC,0xE2,0x0E,0x6B,0x18,0x05,0x83,0x69,0x35,0xA7,0xBC,0x6A,0x63,\r
+0x04,0xB4,0xAE,0x40,0xDA,0xD3,0x6C,0x9C,0xAF,0x71,0x59,0x56,0x50,0x3A,0xFD,0x96,\r
+0x91,0x8D,0xEB,0xB1,0xE6,0x5A,0x9E,0x80,0x71,0x24,0x2D,0xE7,0x5D,0xFD,0xB6,0xDE,\r
+0x6D,0x23,0x59,0x4E,0xE0,0x41,0x44,0xF4,0x97,0xFA,0xB5,0x78,0x00,0xF8,0xB8,0x17,\r
+0x5E,0x3A,0xC9,0x9A,0xBF,0x94,0x22,0xD0,0xAC,0xD4,0xEB,0xD9,0x82,0xAC,0xBB,0xE9,\r
+0xD0,0x6D,0x5D,0x6A,0xDF,0xF0,0x76,0xA0,0x0C,0x96,0x54,0x38,0xD6,0x1D,0x84,0xDB,\r
+0x96,0xDC,0x86,0x7A,0x33,0x1E,0xE1,0x3D,0x43,0x70,0x9C,0xD8,0xDF,0xA9,0xB5,0x20,\r
+0x06,0xA2,0x01,0x82,0x93,0x37,0x35,0xB7,0xF5,0x90,0xDD,0x03,0x60,0x1B,0x3D,0x28,\r
+0xAA,0x34,0x1A,0x02,0x5E,0x2B,0x82,0x92,0x9B,0x0B,0xBA,0xD4,0x3C,0xD7,0xA1,0x30,\r
+0x5C,0x36,0x6D,0x5F,0xBA,0xDB,0x06,0x26,0xE2,0xF7,0x7E,0x2F,0xC7,0x53,0xF3,0x61,\r
+0xE9,0xD8,0x08,0x1C,0xF5,0x48,0xBB,0xB3,0x16,0xC5,0xA5,0xAE,0x71,0x55,0x4A,0x92,\r
+0x99,0x2D,0x8A,0xD6,0xD0,0x82,0x50,0x59,0xAE,0xDB,0xD6,0xD3,0xF1,0xF7,0x14,0x1B,\r
+0x29,0x9E,0x26,0x9B,0xE8,0x5F,0x57,0xDD,0x6A,0xB2,0x81,0x67,0x8A,0xD1,0x18,0xC3,\r
+0xC5,0x0F,0x15,0xB2,0xA0,0xA0,0xDF,0x98,0xD5,0x28,0x2F,0x22,0xBA,0xFC,0xC4,0x40,\r
+0xA4,0x22,0x88,0xDC,0xB4,0xDE,0xCF,0x7B,0xDA,0x13,0x40,0x92,0x47,0xF1,0xAD,0xE8,\r
+0x72,0xED,0xD4,0x34,0xBC,0xC0,0xDC,0x52,0x67,0x86,0xD3,0xDD,0xE1,0x70,0xF1,0x70,\r
+0xA6,0x2E,0x2C,0x19,0x83,0x71,0xEE,0x06,0xD6,0xE2,0x4F,0x3E,0xC3,0x2C,0x95,0xEF,\r
+0x7B,0xAA,0x2B,0x21,0x3F,0x38,0x39,0x46,0x23,0x15,0xC9,0xA9,0x31,0x1C,0xF6,0x45,\r
+0x00,0x14,0xF2,0x3B,0x16,0xD4,0x0A,0xD7,0xF0,0x1B,0x3D,0x31,0xA7,0xB0,0x76,0x5E,\r
+0xDF,0x9C,0x51,0xC6,0x8C,0x03,0xC8,0xFF,0xEA,0x48,0xCC,0xA7,0x76,0x15,0xE3,0xBA,\r
+0x4C,0x09,0xEC,0x89,0x90,0x63,0xCB,0x35,0xE3,0x32,0x23,0x39,0x39,0x61,0x55,0x6F,\r
+0xD2,0x61,0xF9,0xAF,0x7B,0xE1,0x69,0x78,0xB8,0x79,0x28,0xE9,0xAB,0xB2,0xB3,0xFA,\r
+0xC4,0xE8,0x8B,0xC0,0xFC,0x21,0x47,0x3E,0xFE,0xE5,0x0F,0x97,0x66,0x92,0x06,0xD1,\r
+0x64,0x64,0xA6,0x5B,0x86,0x3E,0xCA,0xF0,0x10,0x84,0x25,0x80,0x25,0xE4,0x75,0xA0,\r
+0x7F,0x10,0x7C,0x5D,0x73,0xFF,0x7A,0x51,0x48,0x05,0x4E,0x4C,0xC2,0xE5,0x07,0x3E,\r
+0x77,0xB0,0x1D,0x3A,0x2C,0x2A,0x1C,0x75,0xF4,0x55,0x80,0x15,0x0A,0x73,0x46,0x4A,\r
+0xA7,0xC9,0xB2,0x6B,0xFF,0x75,0xB9,0xBC,0xCC,0xB1,0xBE,0xA8,0xB6,0xFE,0x01,0xE4,\r
+0x43,0xF8,0xE0,0x25,0xEE,0x44,0x8D,0xA9,0x99,0x04,0x87,0xDE,0x0D,0x33,0xEF,0x62,\r
+0x35,0xBB,0x91,0x56,0xA5,0xEF,0xFB,0x6E,0xA4,0x6B,0x59,0x51,0x21,0x9B,0x13,0x2E,\r
+0x89,0x12,0x0B,0x00,0xA2,0x83,0xCE,0xBE,0x13,0x4E,0x45,0x9C,0x58,0x4B,0x42,0x81,\r
+0x90,0x6A,0x75,0xC3,0xD7,0xEE,0x65,0x89,0xA9,0x5F,0x0B,0xEB,0xFD,0xF5,0xD1,0xBF,\r
+0x02,0x18,0x56,0xFE,0xD5,0xCD,0x74,0xAF,0xC6,0x01,0x31,0x2A,0x2A,0xD9,0x7F,0xA2,\r
+0xE6,0x29,0x04,0xB0,0x66,0xF6,0x85,0x16,0x25,0x54,0x49,0x87,0x4F,0x8C,0x0E,0xC2,\r
+0x9A,0xC6,0xB0,0x61,0x0B,0xC3,0xE6,0xB9,0xB6,0x87,0x1A,0x4F,0xE7,0xF9,0xCA,0x89,\r
+0x3A,0x4A,0x9D,0xFA,0x8A,0x18,0x12,0x8B,0xFC,0xEA,0x32,0x9D,0x8C,0x58,0x23,0x3A,\r
+0x60,0xDE,0xF1,0x27,0x53,0x7A,0xB5,0x4D,0xB4,0x88,0x27,0x45,0xB5,0xC1,0xCE,0x42,\r
+0x01,0xF3,0x6C,0x49,0x30,0x4A,0x1F,0xBF,0x93,0xB4,0x08,0x5C,0x94,0xA2,0x65,0x7B,\r
+0xA8,0x38,0xBE,0xC7,0x7C,0x8D,0x5C,0xA8,0x3D,0x08,0x85,0x1B,0x7C,0x9E,0x1D,0xE7,\r
+0xE2,0x93,0x53,0xCC,0x36,0x51,0xC5,0xCB,0x19,0xFE,0xCA,0x1E,0xCD,0xD8,0x0D,0x3C,\r
+0xED,0x62,0x5F,0x60,0xE1,0x36,0xAB,0x50,0x80,0x9D,0x16,0x54,0x81,0x93,0x74,0x4F,\r
+0xDA,0xC1,0x98,0xC8,0x11,0xB8,0x3F,0x07,0x94,0x30,0xD5,0x64,0xC8,0x6E,0xF9,0x63,\r
+0x47,0x42,0xB7,0x59,0x32,0x69,0x0E,0x99,0x32,0x33,0xEA,0xAB,0xAD,0x3B,0x88,0x03,\r
+0xA1,0x7F,0x41,0xD2,0xE5,0x0E,0x60,0x02,0x11,0x41,0x78,0x96,0xEB,0xFB,0x0F,0x2D,\r
+0xB1,0x40,0xC0,0x04,0xCD,0x95,0xBC,0x37,0x2A,0x6F,0x26,0x37,0xA5,0x46,0x2B,0x29,\r
+0x20,0xD9,0xD9,0x8E,0x94,0x5B,0x00,0x67,0xF6,0x5A,0xBD,0x1F,0xE3,0x86,0xAC,0x07,\r
+0x88,0xF5,0x95,0x72,0x9E,0x66,0x02,0x68,0x64,0x4C,0xB3,0xC1,0x49,0x05,0x35,0x3B,\r
+0xB4,0x1D,0x09,0x0A,0x47,0x04,0xA5,0xAE,0x24,0x91,0x14,0x91,0xCA,0x98,0xA4,0x14,\r
+0x10,0x2B,0x73,0xED,0xC5,0x8B,0xAF,0x1E,0x4E,0x44,0xCE,0x62,0xBD,0xBC,0x6D,0x68,\r
+0x24,0x63,0x8E,0xF2,0xC2,0xE7,0x9A,0xCE,0xD7,0x27,0x12,0x28,0xDA,0x1F,0x41,0x7F,\r
+0xC7,0x03,0xB1,0x77,0xF7,0x6B,0xAA,0x95,0x38,0x83,0x65,0x29,0xAC,0xF2,0x1A,0xD2,\r
+0x22,0xD5,0x7D,0x4B,0xEC,0x67,0x9C,0x8F,0x4C,0x4B,0xF3,0x68,0xCF,0x2E,0x50,0x4B,\r
+0x0D,0xE9,0x5A,0x52,0x98,0x7D,0xD8,0x1C,0xA1,0xE0,0xB9,0x63,0xA6,0x79,0xE4,0x8F,\r
+0xAD,0x65,0x77,0xC9,0x08,0x97,0x18,0x3B,0x9F,0x45,0x07,0xF0,0x0C,0xFA,0x7D,0xB3,\r
+0x0A,0xB8,0x37,0x99,0xBE,0xE3,0xCD,0x74,0x21,0x1A,0xF4,0xA3,0x3F,0xE8,0x6E,0x96,\r
+0x8E,0x43,0x66,0xCB,0x58,0x30,0x58,0xE6,0xC7,0xC4,0x6C,0x3C,0x5E,0xC2,0x79,0x78,\r
+0x9F,0x9B,0x79,0x6F,0x20,0x0C,0xC4,0x0E,0xC1,0x85,0xEC,0x12,0x6C,0x19,0xF8,0x8C,\r
+0x52,0x20,0xFF,0x81,0xCF,0xB6,0xAD,0x11,0x72,0xEE,0x4D,0xFB,0xEF,0x84,0x69,0xA3,\r
+0xC8,0xF2,0xBD,0xDB,0x71,0xDC,0x6B,0x77,0x33,0xF6,0xB7,0xBD,0x19,0xCB,0x6C,0x87,\r
+0x6F,0x2F,0xFD,0x8B,0x4D,0x39,0xA7,0xA1,0x54,0x17,0x3F,0xF4,0x5C,0x34,0x24,0x0F,\r
+0x68,0x7E,0x90,0x40,0x57,0x42,0x7E,0x1F,0x2F,0xE4,0xC6,0x05,0xA3,0xCF,0x10,0xD0,\r
+0x76,0x57,0x83,0x48,0xB7,0x8A,0x31,0xF9,0xE5,0x73,0xA3,0x17,0xFC,0x3C,0x43,0x6E,\r
+0x9D,0x97,0xDD,0xAA,0x85,0x6A,0x34,0x72,0xF3,0xD1,0x5D,0x2D,0xD3,0xAB,0x70,0x84,\r
+0x13,0xC0,0x49,0x5A,0xE2,0x62,0x55,0xD2,0x27,0x5B,0x74,0x8D,0xFB,0x7C,0xEA,0x46,\r
+0x8F,0xA4,0xF8,0xB9,0x44,0x50,0x5B,0x2C,0x05,0xEC,0xBB,0xA6,0x56,0xBF,0xDA,0x52,\r
+0x17,0x7A,0x1E,0x26,0xFD,0x56,0xA8,0x9A,0xD3,0x69,0xAF,0x0C,0x53,0x09,0x2E,0x0D,\r
+0x57,0x7D,0x36,0x8F,0x09,0xE0,0xF7,0x9F,0x4D,0x8E,0xAE,0x7E,0xCC,0x11,0x9F,0xED,\r
+0x7A,0x6A,0x9D,0xA0,0x09,0x42,0xCD,0x15,0x35,0x96,0x56,0xEC,0xE5,0x15,0x9D,0x43,\r
+0xE0,0x2F,0x33,0x1F,0x8A,0x72,0xE0,0xC9,0xD9,0xBF,0xC7,0xDF,0xAD,0x50,0x15,0xBC,\r
+0x0D,0xA3,0xB9,0xDC,0x58,0xB9,0x49,0x47,0xF5,0x11,0x10,0xC2,0xF8,0x7B,0x71,0x54,\r
+0x13,0xDE,0xCA,0x64,0xD1,0x39,0xEB,0x19,0x85,0xDB,0xE5,0x40,0xDD,0x91,0x9A,0x9E,\r
+0x2A,0x33,0x53,0x1C,0x25,0x0B,0x30,0x98,0xBA,0x14,0xE6,0xE6,0x8E,0xCE,0x24,0x6D,\r
+0xDD,0xA4,0xD5,0xE9,0x8F,0xF9,0x00,0xFB,0x67,0x2C,0x62,0xE1,0x32,0x8E,0xF3,0x24,\r
+0xDB,0x9F,0x5C,0x10,0x22,0x8F,0xED,0xA0,0xB8,0xD1,0xEA,0x42,0xB9,0xB3,0x05,0xC2,\r
+0x4E,0xD0,0xCF,0xAD,0xBA,0x29,0x6C,0xFC,0x6E,0x39,0x25,0x1E,0xB1,0x9A,0x16,0xDC,\r
+0x1C,0xD4,0xF7,0x66,0x23,0x4A,0xB0,0xB6,0x42,0x97,0xF2,0x03,0xB2,0x18,0xE8,0x88,\r
+0x5E,0x35,0x48,0xC6,0x11,0x1E,0x01,0x89,0xCC,0x67,0xA5,0x97,0xD2,0x68,0xBC,0xEC,\r
+0xEC,0xEA,0x31,0xBB,0x14,0x95,0xE1,0xBB,0x8D,0xBC,0x45,0x21,0xEB,0x48,0x54,0x46,\r
+0x32,0x75,0xA9,0x5D,0xDD,0xC8,0xE4,0xB5,0x71,0x43,0xEB,0x93,0xED,0x3C,0x8E,0x5D,\r
+0xC3,0xD9,0xA6,0x51,0xFA,0xF4,0xCB,0xAC,0xB6,0x0F,0xFC,0xD0,0x53,0x5A,0x48,0x37,\r
+0x3F,0x22,0x62,0x28,0xAB,0x0F,0x4F,0xFE,0x40,0x52,0xFE,0xA7,0xB7,0xEE,0xCC,0xC7,\r
+0xB8,0xD5,0x80,0x89,0xEA,0x17,0xB5,0xB8,0x8A,0x77,0x14,0x4C,0x3E,0xF5,0x2B,0x02,\r
+0x58,0x0E,0xC1,0x3F,0xE2,0xA8,0x07,0x30,0x1A,0x8F,0x6A,0xCB,0x9E,0x7F,0xFF,0x2B,\r
+0xA3,0x5C,0x45,0x6E,0xE4,0xE9,0x87,0x1E,0x29,0x5B,0x73,0x5B,0xA8,0xA6,0x31,0xF3,\r
+0x86,0x91,0x59,0xD9,0x4B,0x90,0x57,0x4F,0x95,0x0D,0xDA,0xC1,0xAF,0x76,0x04,0x9F,\r
+0x79,0xA5,0xA2,0x06,0x2E,0x7E,0xE2,0x0C,0xBB,0x66,0x01,0x78,0xF2,0x74,0x73,0x69,\r
+0xCC,0xD3,0x9B,0x53,0xA8,0xC5,0x2F,0xE2,0x5F,0x28,0x30,0x2A,0xE3,0x61,0x47,0x58,\r
+0x9C,0x8A,0x55,0xEF,0x08,0x87,0x90,0x03,0xFA,0xBD,0xE1,0xCE,0x6B,0xDE,0x4F,0xEA,\r
+0x4F,0x42,0x06,0x7C,0x43,0x2F,0xE5,0xC7,0x86,0x6C,0x0E,0x7A,0x06,0x71,0x2C,0xDF,\r
+0x97,0xE6,0x17,0x63,0x75,0x35,0xE9,0xDC,0x8C,0xCE,0xA2,0xBF,0xDA,0x41,0xAF,0xF2,\r
+0xC9,0x27,0x2D,0x0C,0x68,0xE2,0xC5,0x72,0x1E,0xF3,0xD0,0x9C,0xD8,0x67,0xBE,0xD1,\r
+0xFA,0x34,0x3F,0x29,0xA5,0xF1,0x7D,0x58,0x50,0x84,0xC1,0x26,0x9D,0xFD,0x01,0x7F,\r
+0xB1,0xE4,0x34,0x72,0x30,0x63,0xAE,0xBE,0xCE,0xA2,0xA9,0x33,0x76,0xB0,0xA3,0xFD,\r
+0xD3,0x3C,0x21,0x3A,0x94,0x6F,0xAC,0x7B,0x1C,0x36,0xDC,0x38,0x1B,0x1F,0xC0,0xC8,\r
+0x80,0xAA,0xD0,0x20,0x70,0xBE,0x09,0xEE,0xC3,0xCB,0x54,0x9B,0x81,0x37,0x02,0x1F,\r
+0xCD,0x41,0x52,0x82,0xF4,0x0A,0xF9,0x0A,0x63,0x50,0xD8,0xB6,0x7E,0x99,0xB0,0xE3,\r
+0x9D,0x18,0x9C,0x3E,0x80,0xC2,0x6F,0x4B,0x6B,0x37,0x78,0xD7,0x21,0xBD,0xD6,0x36,\r
+0x2D,0x9A,0x13,0x34,0x1B,0xAE,0x8E,0x0B,0xD8,0xCD,0x20,0x41,0xF1,0xF6,0x8D,0x3D,\r
+0x4C,0x8D,0x39,0xDA,0x6A,0xED,0xF8,0x78,0x78,0x56,0xAC,0x6C,0x8B,0x38,0x00,0x22,\r
+0x92,0x12,0xA1,0x3C,0xCD,0x2B,0x9A,0xA1,0x3C,0x83,0x11,0x13,0x99,0xAF,0xCA,0x47,\r
+0x84,0xCC,0xAF,0xAE,0xF1,0x81,0x19,0x38,0x94,0x7F,0x3D,0x5F,0x93,0xA0,0xC8,0x7A,\r
+0x89,0x9B,0x64,0xDB,0xE7,0x23,0xE7,0x02,0xBD,0xDF,0xB7,0x8B,0xE8,0xCA,0xAA,0x12,\r
+0xA7,0x3A,0x3A,0xE0,0xE3,0x6D,0x5A,0x26,0xAD,0x09,0x88,0x0A,0xC0,0xFF,0x76,0x89,\r
+0xEF,0x25,0x0E,0x1D,0xB5,0x12,0x03,0x4C,0x38,0xFF,0xAB,0x44,0xCF,0x06,0x50,0xFB,\r
+0x4B,0x24,0x79,0xF2,0x18,0x64,0xEE,0x17,0xDB,0x7A,0xCB,0x7B,0xFA,0x5D,0x60,0x77,\r
+0x59,0x9C,0x08,0xEE,0xDE,0x02,0x84,0xA9,0xA8,0x07,0xD5,0xC3,0x4A,0x66,0x6F,0x18,\r
+0x8C,0x6F,0xD2,0x84,0xA2,0x75,0xA0,0x60,0x0C,0xE0,0xE3,0xB9,0xC8,0xD6,0x65,0x97,\r
+0x7C,0x51,0x14,0x59,0xB1,0x5C,0xBE,0x68,0x1D,0x44,0x3B,0xA6,0x3D,0x77,0xD5,0x56,\r
+0xC0,0x16,0x99,0xF7,0x2D,0xB4,0x82,0x10,0xB4,0xCA,0xF0,0x74,0x71,0x60,0x96,0x91,\r
+0x22,0x90,0x2E,0x36,0xF0,0x44,0x44,0x2E,0x26,0xF7,0x82,0x57,0x87,0x43,0xD8,0x04,\r
+0x40,0x48,0x3B,0x7E,0x88,0x7D,0xDD,0xC3,0x7C,0x2A,0x16,0x3B,0x5E,0x85,0x7F,0x66,\r
+0xF8,0x69,0xC9,0x5E,0xA9,0x00,0x72,0xF4,0xC6,0xC5,0x09,0x52,0x1C,0xCF,0xF5,0xA4,\r
+0xFB,0xA6,0xF6,0xF8,0xC9,0x65,0x27,0x85,0x5B,0x54,0x8A,0x7D,0x3F,0x51,0xC4,0x75,\r
+0x36,0x13,0xD6,0xD3,0xF6,0x05,0xC4,0x00,0xFE,0xC1,0x5B,0x99,0x3B,0x03,0x0F,0x4D,\r
+0x55,0x59,0x0A,0x4A,0x85,0x49,0x8F,0x79,0xF1,0x6D,0xAA,0x95,0xEC,0x98,0x61,0x2A,\r
+0xBB,0x1A,0xBF,0x2F,0xA4,0x34,0x20,0x4E,0x6A,0x45,0x9F,0x49,0xBA,0x31,0xFB,0x96,\r
+0x19,0x20,0x41,0x39,0x4E,0x1B,0xB7,0x7D,0x81,0xA7,0x5F,0x17,0x88,0xBA,0xFE,0x76,\r
+0xDF,0xF9,0x23,0x9E,0xC5,0x94,0x28,0x29,0x73,0x86,0xE7,0x37,0x40,0x69,0x6D,0x25,\r
+0x2C,0x08,0xDA,0xE5,0x1A,0x6B,0xD3,0x1D,0x74,0x4D,0xB6,0x5A,0x5A,0xD7,0xB4,0x5E,\r
+0xA1,0x01,0xB3,0x19,0xC7,0x9B,0x15,0x23,0x0B,0x2B,0xB2,0xD4,0xF0,0x52,0x62,0x4A,\r
+0x46,0x73,0xB2,0x87,0x27,0x04,0x0D,0x92,0x4B,0x82,0xB5,0xFC,0x04,0x57,0x3D,0xFC,\r
+0x93,0x80,0x68,0xED,0x8C,0x33,0x60,0xE7,0x0F,0x57,0x08,0x83,0xEF,0x1A,0x9F,0x7E,\r
+0x24,0xAB,0xA7,0xCF,0x98,0x9E,0xA3,0xD7,0x93,0xB4,0x6C,0x32,0x49,0xE4,0x91,0x4C,\r
+0x8D,0xFD,0x1B,0x55,0x79,0xC4,0xE6,0x70,0xB1,0xC4,0xAD,0xBD,0x05,0xF3,0xD2,0x8B,\r
+0xD2,0xAE,0xE8,0xEB,0x5C,0xF7,0xF4,0x63,0x16,0x94,0x70,0xFD,0xB3,0xBC,0x07,0xFF,\r
+0x83,0x65,0xEF,0x86,0x81,0x07,0x32,0x5D,0x3E,0x46,0x1D,0xB7,0xE1,0x47,0x56,0x7B,\r
+0x28,0x6E,0xA5,0x6B,0x45,0x6E,0x65,0xE9,0x11,0x5F,0x21,0x90,0x95,0xD4,0x12,0x61,\r
+0x26,0xF6,0x51,0xB8,0x69,0x27,0x98,0x64,0x4E,0x8C,0xE8,0x35,0xC2,0xD9,0x67,0xAA,\r
+0x3E,0xB0,0xAB,0xF9,0x4D,0xD1,0xD7,0x61,0xD4,0xD6,0x3A,0x77,0x7C,0xBF,0xA1,0xC0,\r
+0x0C,0x31,0x70,0x0D,0xB2,0x96,0xDE,0x74,0x92,0xC6,0x8B,0xAC,0x55,0x2E,0x92,0x2C,\r
+0x4D,0x1F,0xF0,0x0B,0x46,0xA4,0x05,0xF5,0x83,0x62,0x53,0xB3,0x2D,0xC6,0x0E,0x10,\r
+0x4D,0x27,0x60,0xA0,0xF7,0xF7,0x64,0x5B,0x54,0x38,0x05,0x5D,0xC5,0x8D,0xFE,0x8B,\r
+0xFA,0x0C,0xAF,0x82,0xE3,0x5A,0xA7,0x6B,0xC8,0xDB,0x61,0xEC,0x63,0x73,0xF0,0xB9,\r
+0x2F,0xFF,0x75,0xE8,0x48,0x6D,0xCA,0x1E,0x8C,0x0E,0xDC,0x93,0x88,0x3E,0x52,0x3B,\r
+0xC8,0x8D,0x74,0x76,0xA8,0xF2,0xD2,0xAF,0xCC,0xA7,0xDB,0xBB,0x7C,0x3B,0x0D,0x8D,\r
+0x45,0x84,0x1D,0x8A,0x75,0x02,0x14,0x91,0xB3,0xC1,0xDF,0x35,0xD6,0xBE,0xDB,0x99,\r
+0xB6,0x75,0xE4,0xF1,0xAA,0xFD,0xEF,0xA5,0xB4,0x0A,0x8E,0x58,0xCC,0x00,0x02,0xE2,\r
+0x70,0xAC,0x86,0x56,0x21,0x72,0x70,0xF1,0x46,0x2B,0x36,0x78,0x04,0xD3,0x91,0xB1,\r
+0xD2,0x96,0x78,0x40,0xCB,0x5D,0xE7,0xC2,0xAD,0xC9,0xF6,0x26,0x36,0x58,0x94,0x51,\r
+0x24,0x93,0x37,0x64,0x29,0xCD,0xC2,0x79,0x44,0xEE,0x3A,0xDC,0xA1,0xAF,0x61,0xD7,\r
+0x65,0xBD,0xB7,0x62,0xDD,0xFF,0x19,0xF8,0x55,0x4A,0xE2,0xC3,0xD9,0x47,0xFD,0xEB,\r
+0x57,0x3C,0x6C,0x96,0x22,0xB8,0x10,0xED,0x13,0x5A,0x53,0x18,0xF0,0xD6,0xCE,0x07,\r
+0x4F,0x7A,0x96,0xD7,0x06,0x4E,0x5F,0xE8,0x89,0x00,0x81,0x5A,0x4E,0xB0,0x08,0x6D,\r
+0x41,0xE2,0x62,0x04,0x2A,0x07,0xA2,0x65,0xD6,0xD3,0x48,0xFF,0x19,0xBD,0x7D,0xA6,\r
+0xEA,0xE9,0x28,0xE9,0xEE,0x6E,0xF5,0xD1,0xF9,0xCA,0x74,0xD8,0x6D,0x2E,0x39,0xBC,\r
+0xBB,0x22,0x2F,0x84,0x33,0x9E,0x33,0xEF,0xD1,0x18,0x19,0x92,0x3F,0xD5,0x68,0x38,\r
+0xE4,0x71,0xDC,0x3A,0x16,0xAD,0x21,0xFC,0x76,0x48,0xC4,0xD2,0x89,0x9A,0xBD,0x4C,\r
+0xE5,0xE3,0x15,0xEB,0xCD,0x1C,0x67,0xEC,0xCB,0x6C,0x8A,0xD6,0x44,0xBF,0x0A,0x50,\r
+0x30,0x10,0xCF,0x81,0xB1,0x6B,0x43,0x25,0x6F,0x8B,0xBC,0xAC,0xC6,0x0F,0x00,0xDF,\r
+0x22,0xA8,0xBE,0x9D,0x77,0x0D,0x29,0x9B,0x1C,0xF6,0xA2,0x14,0x76,0x34,0x0F,0xB0,\r
+0x86,0xA9,0xC9,0x72,0xDA,0x7B,0xC4,0xC0,0xFF,0x73,0xC2,0x2B,0x43,0x6F,0x3F,0x3C,\r
+0xCE,0xB6,0xFD,0x8F,0x8C,0x04,0x9D,0xAA,0x6A,0x85,0xE1,0x65,0x4C,0x96,0x19,0x4E,\r
+0xE0,0x17,0xA3,0xB4,0x88,0x4A,0x20,0x8E,0x7A,0x53,0xDE,0xE4,0x64,0xA3,0xC5,0xD5,\r
+0xED,0x40,0x68,0xC1,0x9E,0xE8,0xDE,0xB4,0x53,0xF3,0x54,0x30,0x1F,0xC9,0xA7,0xBD,\r
+0xFB,0x9E,0x66,0x53,0xA2,0x42,0x5D,0x2D,0xFB,0x0F,0x78,0x7C,0x15,0xC6,0xA5,0x80,\r
+0x3C,0xD5,0xCD,0x25,0xEA,0x20,0x48,0xF5,0x36,0xE1,0xC3,0xFA,0x60,0xF1,0x0E,0xED,\r
+0x5F,0x9F,0x11,0xBC,0x99,0x6C,0x03,0x8C,0x39,0x4D,0x32,0xF6,0xB7,0x6A,0x60,0x8A,\r
+0x92,0x2A,0x31,0x97,0xA6,0x0C,0xE0,0x09,0x9C,0xD8,0xE3,0x12,0xB3,0x38,0xAB,0xB2,\r
+0x91,0xE5,0x0E,0x31,0xC6,0x69,0xB5,0x78,0x01,0x49,0x60,0x3D,0x90,0xA6,0x9A,0x63,\r
+0x29,0xC4,0xFC,0x11,0xE7,0x14,0x1A,0x4F,0xBB,0xA6,0x7F,0x54,0xD2,0xEC,0x10,0xA1,\r
+0x4B,0x1C,0xE9,0x59,0x9F,0x2D,0x83,0xA2,0xE1,0x7B,0xEB,0x38,0x0B,0x2A,0xB7,0xC3,\r
+0xA9,0x9A,0x5E,0x98,0x42,0xDD,0x45,0x9C,0x73,0x46,0x99,0x1B,0xFD,0x09,0xF9,0x56,\r
+0x15,0xDD,0xD3,0x36,0xDE,0x35,0x79,0xE4,0xDA,0xC8,0x52,0xC9,0xB1,0x1E,0xBA,0x91,\r
+0xA0,0xAB,0xEA,0x63,0x07,0x8B,0x02,0xFE,0xD9,0x7F,0xB9,0xF3,0x54,0x0E,0xD1,0x16,\r
+0xFE,0x6A,0xD0,0x0C,0x1A,0x5C,0x2E,0x50,0x4B,0x42,0xCB,0xD0,0x56,0x28,0xC0,0x35,\r
+0x26,0xCE,0xC1,0x13,0x2C,0x46,0x22,0x4B,0x41,0xE0,0x67,0x15,0x8A,0x18,0x43,0x18,\r
+0xF5,0x06,0x92,0x80,0x67,0xEE,0x57,0x8F,0x3D,0x31,0x88,0xA1,0xE7,0xB7,0x20,0x2D,\r
+0xA5,0x5F,0x5C,0x3C,0xC7,0xAC,0xE8,0x6E,0x98,0xA4,0x59,0x45,0x6F,0x08,0x28,0x9F,\r
+0x10,0x29,0x65,0x69,0x41,0x17,0x25,0x80,0x7C,0xEA,0x68,0x17,0x7E,0x1D,0x1C,0xAE,\r
+0xEF,0x1D,0x9E,0xB6,0x24,0xF9,0x90,0xC3,0x52,0x81,0xB3,0xAE,0x23,0x1F,0x6B,0x58,\r
+0xCA,0xD0,0x82,0x01,0x8B,0x80,0x40,0x92,0xEE,0xD7,0x1A,0x34,0x24,0xCF,0x5E,0x34,\r
+0x25,0x01,0xFE,0xB5,0x05,0x84,0x3F,0xF4,0xBF,0xDA,0xC5,0x03,0x07,0x51,0x6F,0xE5,\r
+0x44,0x16,0xD4,0x5B,0x74,0xC7,0x49,0x87,0x1F,0x41,0x49,0x2E,0x7D,0x9F,0xE2,0xFA,\r
+0xF4,0x94,0x5B,0x51,0xEF,0xAB,0xA8,0xC7,0xAC,0xBB,0x11,0xB8,0xAD,0xD4,0xB9,0xF1,\r
+0xA4,0xCD,0x95,0xED,0x9B,0x63,0x3E,0x86,0xA4,0xDC,0xB1,0xD9,0xF2,0xF0,0xDF,0x24,\r
+0xE9,0x26,0x17,0x4F,0x1F,0xD7,0xCE,0x62,0x04,0x47,0x3D,0xF4,0x0D,0x5E,0x6D,0xD8,\r
+0xBA,0xB0,0xE6,0x55,0xFB,0x06,0x6B,0xF7,0xDB,0xBA,0xB5,0x57,0x97,0x76,0xAF,0x0F,\r
+0xD8,0x68,0xF3,0x1D,0x5F,0x0A,0x69,0x32,0x09,0x2E,0xC0,0x5C,0xFA,0xD9,0xCC,0x3A,\r
+0x93,0xB8,0xF8,0x46,0xCA,0x98,0xBA,0xD4,0x97,0x08,0xA8,0x49,0x11,0x94,0x6E,0xB8,\r
+0x27,0x5C,0x08,0xC2,0xD5,0x40,0xAB,0x70,0xA9,0xB5,0x4C,0x71,0x3D,0xF3,0x79,0x1B,\r
+0xB2,0x13,0x9B,0x7F,0x4D,0xE6,0x2A,0x2C,0x7F,0x5D,0x83,0x2D,0x35,0xDA,0x6A,0x05,\r
+0xB4,0x28,0x12,0x86,0xE0,0x90,0xC7,0x77,0xA0,0xA0,0x0B,0x8E,0xBE,0xE7,0x9C,0xE3,\r
+0x43,0xBF,0x94,0x73,0x4A,0x62,0xF7,0x14,0x7D,0x98,0x8F,0x89,0x02,0xA7,0x4B,0xAA,\r
+0x7A,0x52,0x0D,0x0B,0xBE,0x50,0x2C,0x95,0x42,0x57,0x8C,0x2F,0x51,0xF8,0xF5,0x59,\r
+0x64,0x2F,0x7E,0xB3,0x37,0xD0,0x8E,0xCB,0x32,0x9D,0x79,0xAD,0x74,0x12,0x1E,0x93,\r
+0x89,0xA3,0xF4,0x70,0xE5,0x1B,0x27,0x45,0x1E,0x33,0xAE,0xB0,0x21,0x39,0x7A,0x7B,\r
+0x13,0xE6,0x5A,0xCF,0x66,0x2B,0x0A,0x99,0xF2,0x1A,0x3F,0x83,0x69,0x7C,0xF2,0x84,\r
+0x31,0x82,0x06,0x50,0x8D,0xC1,0xC0,0xBC,0xDD,0x03,0x03,0xA4,0x12,0x16,0x90,0xEC,\r
+0xD1,0x59,0x47,0xE6,0x85,0x7E,0x72,0x34,0x4D,0xFB,0x7D,0x23,0xB2,0x9C,0x44,0xC5,\r
+0x56,0xAE,0xA5,0x47,0xC4,0x66,0x88,0x72,0x87,0xDE,0x97,0xC8,0x3B,0x87,0xA3,0x00,\r
+0xAA,0x55,0x61,0x3E,0x95,0x9D,0x0C,0x20,0x71,0x83,0x95,0xBF,0xDF,0x33,0x27,0xF0,\r
+0x5B,0xF9,0x6E,0x32,0xB2,0xA1,0x23,0x39,0xB6,0xCF,0x82,0xFC,0x61,0x55,0xE1,0x9A,\r
+0x85,0x66,0xF6,0xD4,0x7B,0xFC,0x26,0x37,0x4A,0x30,0x2C,0x4E,0x67,0x21,0x3B,0x81,\r
+0x37,0xB9,0x8F,0xA9,0x7E,0x77,0xC6,0x05,0x0B,0xEB,0xCC,0xF8,0x5E,0x01,0xD3,0x2B,\r
+0x75,0x58,0x30,0x09,0x4C,0x23,0x77,0x3A,0x85,0x1B,0x9B,0x6C,0x3E,0x71,0x87,0x4F,\r
+0x48,0xB7,0x3B,0x40,0x1A,0x95,0xAF,0xDB,0xEE,0xDD,0xBB,0x9A,0x6D,0x4E,0x5B,0x4F,\r
+0x32,0x3A,0xF5,0x5F,0xBA,0x0E,0x23,0xF6,0xAD,0xAC,0xC8,0xEC,0x83,0x59,0x71,0x2E,\r
+0xE2,0x61,0xBE,0x54,0x09,0xF4,0x7B,0x60,0xC1,0x37,0x88,0x0D,0x89,0xDB,0xFE,0x9E,\r
+0xBD,0x07,0x9A,0x81,0x01,0x93,0xDB,0x01,0x09,0x43,0xC9,0x9B,0x35,0x82,0x30,0xCE,\r
+0x42,0xB5,0x34,0x7D,0xA1,0x08,0x57,0x2C,0xBD,0xC7,0x2D,0x6B,0x97,0x69,0xB2,0x83,\r
+0xD8,0x77,0x1C,0xAA,0x7E,0xF5,0xDF,0x8F,0x6C,0x23,0xB8,0xCE,0x8D,0xFF,0x43,0xD0,\r
+0xB5,0x14,0xB3,0x9F,0xAC,0x61,0xAA,0x84,0x60,0x87,0x7D,0xCC,0xC5,0x27,0x56,0xB2,\r
+0x5E,0xB6,0xFE,0x1D,0x32,0x47,0xC2,0x91,0xF2,0x12,0x9B,0x1F,0x9E,0xF7,0x5D,0xF9,\r
+0x1B,0x09,0x64,0xB3,0x7C,0x30,0xD3,0x2B,0xE1,0xDF,0xB1,0xA7,0xBB,0xE4,0x4F,0xCA,\r
+0x19,0x18,0x42,0x90,0xEE,0x0D,0xA1,0x08,0x36,0xC2,0x1F,0x8B,0xD4,0x25,0x75,0x94,\r
+0xC5,0x9B,0x72,0xBD,0xE4,0xAF,0x0D,0xCD,0x2C,0xF4,0x04,0x87,0xCB,0x81,0x64,0x4C,\r
+0xA8,0xF8,0xDD,0x88,0x98,0x7E,0xE2,0x79,0x84,0xBF,0xC0,0xF2,0x58,0x49,0x37,0x9F,\r
+0x20,0xF0,0x62,0x3A,0x3D,0xEB,0x33,0x9D,0xC6,0x1F,0x21,0x4D,0xE4,0x10,0xF9,0xCF,\r
+0x31,0xC4,0x77,0x0B,0xD9,0xA5,0x02,0xCF,0x7D,0x99,0xCF,0x80,0xB1,0x66,0xC0,0x7A,\r
+0x6C,0xB3,0x75,0xFD,0xF7,0xCE,0xD9,0x76,0x93,0xFC,0x8C,0x35,0x6E,0x52,0x3B,0x85,\r
+0x6B,0x86,0xA5,0x91,0x4B,0x98,0x70,0xEC,0xEA,0x53,0xDD,0xE5,0xD9,0x9F,0x27,0xA0,\r
+0x5D,0x48,0x7C,0x49,0x78,0x4C,0x69,0x7C,0xAB,0x55,0xF3,0x65,0x88,0xCD,0xA3,0x5B,\r
+0xFD,0x9C,0xF6,0x60,0xE8,0xB4,0x17,0xFB,0x14,0x5D,0x7B,0xD7,0x3E,0x16,0xE2,0xBB,\r
+0x74,0x7B,0xED,0xA5,0x22,0x91,0xFD,0x10,0x0C,0x1C,0x3D,0x2D,0x9F,0xE1,0x00,0x3C,\r
+0x90,0xFF,0x59,0x55,0xD4,0xCC,0xFF,0x67,0xF7,0x4D,0x6F,0xA9,0xE6,0x1A,0xC4,0xC0,\r
+0x2E,0x39,0x3F,0x3F,0x13,0x80,0xE8,0x24,0xCB,0x6A,0x76,0x86,0xEA,0xB6,0xCB,0x31,\r
+0x28,0xE3,0x4B,0x24,0xEF,0x7F,0x46,0x96,0x96,0xA3,0x78,0x83,0x0C,0x29,0x53,0xEF,\r
+0x11,0x0B,0x6B,0x8E,0xAE,0xA4,0xA6,0x20,0x1D,0xA6,0x4A,0x63,0x71,0xF6,0x2A,0x5D,\r
+0x71,0x5F,0x1B,0xEA,0x20,0x54,0xF1,0xB4,0x49,0x94,0x75,0xD2,0xD1,0x17,0x95,0x1F,\r
+0x72,0xA1,0x99,0xBE,0x0C,0xFA,0x26,0xA9,0x2A,0x0D,0x3F,0x0E,0x1A,0x13,0xAD,0x4D,\r
+0x7A,0xB2,0xB0,0xA0,0xDA,0x12,0xE9,0xF5,0x8C,0x95,0x63,0x8F,0xA7,0x5C,0x3E,0xD8,\r
+0xF1,0x44,0x8D,0x46,0x05,0xEF,0x61,0x56,0xFA,0x38,0x38,0x62,0x5E,0x67,0xB7,0xDE,\r
+0x4D,0x93,0xCD,0x0F,0xD8,0xD7,0xE5,0x51,0x08,0x92,0x5B,0x52,0xAB,0xF0,0x31,0x29,\r
+0x1E,0x2D,0x92,0xFC,0xE7,0x18,0xE6,0xF7,0x3A,0x66,0xDA,0x89,0xD3,0x1D,0xA8,0x10,\r
+0x3B,0xC6,0x78,0x36,0x97,0xD2,0x13,0x75,0xBA,0xEF,0x84,0x2B,0x6B,0x60,0xDB,0x0E,\r
+0x6E,0xA2,0x53,0xDE,0xBB,0x7C,0xC4,0x68,0x71,0x3D,0x0A,0x82,0xA8,0xEC,0x51,0xE3,\r
+0x26,0x2A,0x16,0x21,0x57,0x55,0x55,0x5B,0x41,0xBE,0xD6,0xAF,0x17,0xA9,0xFF,0x79,\r
+0xEE,0xB9,0xC5,0x72,0xE1,0xA1,0x50,0x04,0xA7,0xF1,0x36,0x67,0xBC,0xDC,0x92,0x4E,\r
+0x96,0x25,0x2D,0x4E,0xF0,0x05,0x88,0x1B,0x95,0x05,0xB7,0xBC,0xBA,0xF2,0x12,0x0F,\r
+0xBF,0x16,0xBC,0xA2,0xB6,0x15,0x39,0xC0,0xD2,0xFA,0xA2,0xB5,0x4E,0x73,0xC9,0x3D,\r
+0x01,0xD0,0xDA,0xC8,0x2C,0x4F,0xEB,0x82,0x24,0xDE,0xA7,0xFA,0x0F,0x35,0x33,0x25,\r
+0x56,0xA5,0xD7,0x03,0x73,0x9C,0x22,0x27,0x6D,0xF2,0x2A,0x07,0xDC,0xAD,0xC7,0x2B,\r
+0x22,0xE1,0x44,0x19,0x5C,0x85,0x1E,0x00,0x04,0x36,0x9E,0x50,0x31,0xA6,0x8D,0x80,\r
+0x70,0xB0,0xBF,0x9D,0x74,0x57,0x73,0x4A,0xF4,0xEB,0xA0,0x96,0x5C,0x6D,0x8A,0xD1,\r
+0xC6,0x65,0xF0,0xE9,0xD3,0x07,0xAE,0x0A,0xC7,0xCE,0xB3,0x84,0xE2,0x3E,0x79,0x8E,\r
+0x8A,0x26,0xE7,0x2E,0xF1,0x77,0x6F,0x85,0x9D,0x2F,0x14,0xC1,0x78,0x68,0xC5,0x27,\r
+0x2C,0x28,0x19,0x1C,0x6D,0x94,0x0B,0x34,0x30,0x3B,0x24,0x02,0x5A,0x43,0x0A,0x90,\r
+0xC7,0x8A,0x54,0x9E,0x29,0x41,0xB6,0x4B,0x07,0x90,0x51,0x6F,0x30,0xB0,0xD0,0x45,\r
+0x33,0xD5,0x51,0x28,0x69,0xE8,0xB1,0x63,0x98,0x70,0xE0,0x77,0xAE,0xC2,0xD1,0xA2,\r
+0x99,0x03,0xD4,0x3C,0x16,0x8E,0xB5,0xED,0x68,0xAD,0xDE,0xB1,0x52,0xCB,0xB8,0x2F,\r
+0x83,0xDA,0x6A,0x47,0x11,0x45,0xE4,0x80,0x97,0x72,0xEA,0x4A,0x29,0x3A,0x41,0xDC,\r
+0x4B,0x49,0xB9,0x14,0xE3,0x64,0x5C,0xA0,0x18,0xF9,0xBE,0xD5,0x8E,0xE3,0x23,0x1A,\r
+0x79,0x4C,0x32,0xF4,0x08,0x86,0x9C,0xFE,0x37,0x13,0x8D,0x42,0x98,0xD9,0xDD,0xB8,\r
+0x2F,0xD6,0x9B,0x48,0x93,0xAE,0xA9,0x22,0x4A,0x32,0xBA,0xED,0xFD,0x9A,0x68,0x56,\r
+0xF8,0xB8,0x00,0x2F,0x9C,0x02,0x58,0x2E,0x06,0x41,0xC3,0xA6,0x64,0xD0,0xB4,0x35,\r
+0xFC,0x73,0x52,0x17,0x39,0x97,0x89,0xCA,0x66,0x7E,0x46,0x45,0x4F,0x65,0x94,0xF8,\r
+0xDF,0x42,0xCC,0xC6,0xA4,0x06,0x0A,0xE5,0x03,0x1E,0x37,0x10,0xE9,0xAA,0xAB,0xFB,\r
+0x9D,0xC8,0x86,0x04,0x1E,0xE9,0x15,0x8C,0x7E,0x3F,0x00,0xBF,0xC9,0x8B,0x59,0x43,\r
+0x44,0x6F,0x40,0x66,0x44,0x34,0x81,0xE0,0x47,0x47,0xED,0x26,0x81,0x53,0x4C,0x21,\r
+0xB2,0x21,0x63,0xF3,0xD6,0x09,0xF3,0xC3,0xB7,0x9A,0xD3,0xE0,0x40,0xD5,0xFB,0xC3,\r
+0xFE,0x62,0x74,0x34,0x7F,0x87,0x38,0x11,0x5F,0x06,0xAB,0xDC,0xEE,0x92,0x76,0x7F,\r
+0x0B,0xD2,0xD5,0xF5,0x6E,0x23,0xE0,0x0E,0x76,0x15,0xA3,0xC2,0x33,0xAC,0xB0,0x8F,\r
+0x89,0xD8,0x65,0x7A,0xCA,0xC4,0xD6,0x74,0x01,0x69,0x6A,0xE6,0x59,0x5F,0x6A,0x5A,\r
+0x39,0xD7,0x5E,0x15,0xB9,0xB9,0xC8,0xCC,0x67,0xAF,0xD4,0x8C,0x45,0xE7,0x1B,0x48,\r
+0x0C,0xE7,0x05,0x99,0x5A,0x3C,0xA8,0xF3,0x11,0x02,0x8F,0x61,0xAA,0xE6,0x6C,0xEC,\r
+0x03,0xC1,0xFC,0xEB,0xCF,0xCA,0x8B,0xBD,0x6E,0x54,0xE5,0x38,0x57,0xF9,0x58,0xA4,\r
+0x2B,0x1D,0xC9,0x70,0xDF,0x1C,0xB4,0x3C,0x20,0x50,0xC1,0x85,0x6C,0x58,0x06,0x8A,\r
+0x50,0x7F,0xA3,0x18,0xF6,0xBC,0x3E,0xE8,0x82,0x46,0xFB,0x7B,0x19,0x0F,0xCD,0x87,\r
+0x5A,0x7D,0xAC,0x25,0x5E,0x40,0x12,0xA4,0x28,0x7A,0x62,0xF8,0x8B,0xD1,0xC3,0x91,\r
+0x59,0xD0,0xBE,0xEA,0x49,0xD1,0x61,0x2D,0x8A,0xCF,0x11,0x17,0xB3,0xAB,0x40,0x8E,\r
+0x3D,0x33,0x22,0x5B,0x47,0x2F,0x53,0x8B,0x45,0xE4,0xA6,0x35,0x83,0x06,0x54,0x4D,\r
+0x80,0xE6,0x66,0x24,0xE5,0x62,0xD1,0x60,0x9F,0x17,0x73,0x5F,0xF6,0x31,0xFF,0x20,\r
+0x87,0x4F,0x26,0x0C,0xBA,0x67,0x67,0x94,0x9E,0x65,0x94,0xC1,0x47,0xAE,0x1F,0x38,\r
+0x83,0x29,0x59,0x82,0x6C,0xE2,0x73,0x3E,0xF7,0x6C,0x19,0x3D,0x79,0x5E,0xC2,0xFE,\r
+0xD2,0xE2,0x5E,0xEF,0xB5,0x5C,0x08,0x24,0x0E,0x9D,0xEA,0x46,0x4D,0xA1,0x1D,0x05,\r
+0x6A,0xC3,0xAC,0xCF,0x26,0x8F,0x5B,0xEC,0x6C,0x44,0x2C,0xE1,0x19,0x2E,0x96,0x9A,\r
+0xAA,0x21,0x47,0x91,0x23,0x04,0xBB,0xDE,0x92,0x7E,0x8E,0xF7,0x2A,0x01,0x7C,0x0D,\r
+0x66,0x06,0xAE,0x6B,0xD6,0xF3,0x3D,0x49,0xDD,0x7B,0x78,0xD3,0x91,0x91,0x9E,0x28,\r
+0xBE,0xA2,0xBF,0x74,0x4A,0x1B,0x01,0x31,0x5D,0x55,0x39,0xD5,0x10,0xA3,0x6A,0xF3,\r
+0x0F,0xB2,0xF9,0xAF,0x79,0x8A,0xED,0x18,0x86,0xD4,0x0B,0x21,0x05,0xE4,0x95,0xFA,\r
+0xDD,0xE8,0x63,0xED,0xBF,0xEC,0x87,0xA6,0x7C,0x92,0x13,0x60,0x00,0x12,0xB1,0xB5,\r
+0x14,0x3B,0x3C,0x48,0xCA,0xE1,0x4C,0xF1,0x88,0x0A,0x1D,0xB3,0x8D,0x5B,0x9D,0x48,\r
+0x28,0x22,0x13,0x6F,0x8E,0x72,0x56,0x85,0xC2,0x01,0xB6,0x5E,0x39,0x32,0x59,0x1F,\r
+0x45,0xF0,0x3B,0x25,0xDF,0x89,0xD2,0xD7,0xC5,0xCA,0xE7,0x33,0x07,0xC2,0x84,0xD9,\r
+0x98,0xA0,0x9C,0x65,0x0A,0xC6,0xA6,0x61,0x36,0x99,0xB8,0x8D,0x14,0xF1,0xA1,0xCB,\r
+0xD6,0x84,0x21,0x61,0xBD,0xE3,0xBA,0xAC,0xFF,0x0B,0xB9,0x5C,0x04,0x40,0x7A,0x8D,\r
+0xE0,0x63,0x85,0x1B,0xB7,0x53,0x35,0x2E,0x25,0xF8,0x6C,0x36,0xCD,0x37,0x06,0xA9,\r
+0xFE,0x1E,0xF6,0xA3,0xB8,0x68,0x5A,0x9E,0x54,0x40,0x7E,0x2A,0x73,0x51,0xC0,0xC3,\r
+0x9E,0x9B,0x15,0x9C,0x88,0x33,0xD6,0xAB,0x23,0x41,0xDA,0xC5,0x28,0x27,0x6D,0x2E,\r
+0xBD,0x6D,0x80,0xD2,0xAE,0xCA,0xA4,0xA4,0x17,0x5E,0x92,0x38,0x42,0x58,0x3B,0x77,\r
+0x82,0xBB,0x90,0x53,0x72,0xFF,0x3F,0x8C,0x49,0xFF,0xBC,0x03,0x66,0x16,0x3F,0xCA,\r
+0x08,0x1B,0xB9,0x87,0x10,0x95,0x57,0xF7,0x82,0xA8,0xB1,0x76,0x5C,0xB4,0x29,0x34,\r
+0x24,0xE7,0x11,0xCB,0x12,0x9A,0x6A,0xFD,0x8C,0x76,0xA7,0xE4,0xC5,0x1E,0x15,0xB7,\r
+0x9F,0x09,0xDC,0x4D,0xB9,0xAD,0x07,0x88,0x27,0x3D,0x60,0x92,0x1D,0x7C,0x5D,0xA2,\r
+0x6E,0xA5,0xD3,0x41,0xD7,0x36,0x60,0x5F,0xFB,0x77,0x03,0x0B,0x64,0x30,0x2E,0xE9,\r
+0xBF,0x30,0x76,0xA5,0x1C,0x64,0x58,0x5B,0xDB,0xC2,0xCE,0x20,0xE1,0x50,0x11,0x0A,\r
+0x3C,0xA1,0xEB,0x8A,0x2D,0xFA,0x89,0x78,0xE4,0x0D,0xCD,0x86,0x90,0x35,0x71,0x5F,\r
+0x23,0x4E,0x51,0xE3,0xA7,0xB0,0x4B,0x3A,0x16,0x2C,0x75,0xA6,0xA7,0x48,0x50,0xF0,\r
+0xB7,0x93,0x0B,0x8F,0x00,0x76,0x29,0xE3,0x03,0xF4,0x17,0xEE,0x4A,0x71,0x28,0x69,\r
+0xC5,0xAE,0x99,0xAC,0x4E,0x55,0xBC,0x15,0xB4,0x72,0xF5,0x2F,0x74,0x81,0xF5,0xAF,\r
+0x0E,0x20,0x30,0x7E,0x0D,0x42,0x7B,0x59,0x39,0x35,0x49,0x81,0x0C,0x69,0x69,0x93,\r
+0xE5,0x97,0x33,0x44,0x66,0x52,0xFC,0xBC,0x00,0x43,0xFC,0xD4,0x16,0xD7,0xB0,0xE8,\r
+0x97,0xAA,0xA1,0x67,0x77,0x74,0xDF,0xBE,0x3A,0x82,0xA2,0xBB,0xB8,0x00,0xAD,0xC4,\r
+0x3B,0x08,0xAB,0xA2,0xF4,0x44,0xF2,0x62,0x2B,0x26,0x7A,0xA4,0xA3,0x1A,0x9B,0xC8,\r
+0xD4,0xD9,0xD7,0x16,0x97,0xEB,0xC7,0x0F,0x78,0xEE,0xA9,0x37,0x67,0xB2,0xD0,0xBD,\r
+0x05,0x4C,0x72,0xF2,0x9F,0x54,0x75,0x87,0xB6,0xB7,0xF9,0x8B,0x86,0xF0,0x70,0x02,\r
+0x34,0x02,0x96,0xA0,0xAB,0x41,0x44,0x96,0x8F,0xC1,0x4C,0xDE,0x68,0x4B,0xF6,0xCF,\r
+0xEF,0x69,0xB8,0x19,0xDC,0x43,0xB2,0xCB,0x74,0xF5,0xB3,0x01,0x2B,0xA5,0x93,0x7A,\r
+0x46,0x3F,0x04,0x83,0xE9,0x93,0xDE,0xCC,0x68,0x38,0x96,0xB6,0x7A,0xDC,0x3C,0xAA,\r
+0x99,0x32,0x55,0xB4,0xD8,0x0D,0x0F,0xEF,0x14,0xE9,0x79,0x02,0x1C,0xD8,0xB2,0xD5,\r
+0x15,0xA9,0xF5,0x99,0x55,0xC3,0x10,0x95,0x3E,0xFE,0x18,0xEC,0x6F,0x9B,0xC3,0xA3,\r
+0x4D,0x53,0x46,0x0F,0x0E,0x88,0x1B,0x45,0xB1,0x7C,0xA8,0xE6,0x2F,0xF7,0x58,0x42,\r
+0xED,0x34,0x4E,0x6E,0x68,0xAC,0xCE,0x1A,0x7F,0x25,0xF8,0x5A,0x6E,0x3F,0x2C,0xD4,\r
+0x61,0xAF,0xEE,0x43,0xDA,0x02,0x32,0xE5,0xFD,0xCE,0xB5,0xF8,0x8A,0x8B,0xA8,0x24,\r
+0xE9,0x52,0x31,0xE0,0x18,0x2A,0xE5,0x7F,0x0C,0x58,0xE6,0xE2,0x1F,0x5A,0x4C,0x81,\r
+0x9C,0xC6,0xE3,0xEB,0x7B,0x85,0xD0,0x12,0x19,0x80,0x84,0xAA,0xDA,0x56,0xE8,0x83,\r
+0xF4,0xE0,0x7D,0xFE,0xD9,0xC8,0x52,0xF9,0x12,0x50,0xCF,0xF1,0x3C,0xC4,0x7D,0x50,\r
+0x10,0x5D,0x43,0xC6,0xCE,0xAF,0xF1,0xD5,0xE2,0xB4,0x7B,0x75,0x98,0x1C,0x62,0x41,\r
+0xDF,0xB5,0x95,0x9A,0xDD,0x86,0xEF,0xDD,0x71,0xFB,0xEE,0xC8,0xC4,0xBA,0xFA,0xC0,\r
+0x57,0x48,0x4A,0x39,0x2B,0xBB,0x09,0x56,0xF8,0xC0,0xE8,0x31,0x9F,0xCC,0x57,0x2D,\r
+0xD3,0x70,0x97,0x3E,0xFC,0xFB,0x40,0xEA,0x7E,0x57,0x1F,0xC4,0xFC,0x3E,0xFD,0x1D,\r
+0xD0,0xBF,0xA8,0x98,0x42,0xA4,0xB3,0xB9,0xE7,0xBA,0x26,0xBC,0x7D,0x0C,0x09,0xC6,\r
+0x25,0x75,0xD8,0x1A,0xA9,0x4E,0x79,0x9C,0x94,0xC7,0x38,0x04,0x23,0x8C,0x80,0x64,\r
+0xF2,0xDB,0xF4,0x07,0xCD,0x65,0x91,0xC9,0x1E,0x4B,0xD5,0xC7,0xAD,0x47,0x52,0xCD,\r
+0x63,0xF2,0x18,0x34,0x45,0x20,0x6E,0x81,0xB0,0x0E,0x4F,0x78,0x71,0x77,0xD1,0xE0,\r
+0x5F,0xEB,0x37,0x13,0x27,0x4A,0x06,0xFA,0xEC,0x6A,0x6D,0xE7,0x54,0x9D,0x3A,0x2A,\r
+0x21,0x13,0xA7,0x94,0xF3,0xC0,0x2F,0x5A,0xAD,0xB1,0x8D,0x51,0xDC,0x22,0x32,0x98,\r
+0xCB,0x36,0x6D,0x7F,0x14,0xDB,0xEA,0xD3,0x4F,0x46,0x0A,0xF0,0x9A,0x3A,0x73,0x62,\r
+0xC9,0x6B,0x9B,0x08,0x90,0x6F,0x1A,0x37,0x8B,0xBD,0xF6,0x89,0xC8,0xC1,0x22,0xE6,\r
+0xDE,0x27,0x5C,0x4B,0x56,0x09,0x70,0x89,0x84,0x11,0x07,0x85,0xD1,0xFD,0x05,0xC9,\r
+0x70,0xD8,0xA0,0xF9,0x8C,0x7D,0x6B,0x8F,0x1C,0x8E,0xD9,0x63,0xDF,0xA0,0xCC,0xCC,\r
+0x90,0x03,0xE1,0x4F,0x64,0x5D,0xC1,0xB6,0x65,0x51,0x6B,0x1E,0xED,0x2B,0xC9,0x2C,\r
+0xC7,0xF3,0x6F,0xDB,0x30,0x2D,0xA5,0xD6,0xDA,0xB0,0x29,0xBE,0xD2,0x7F,0xFB,0x9D,\r
+0x4D,0xD8,0x2E,0x47,0xE9,0xFF,0xD1,0x24,0x71,0x0D,0x2B,0x63,0x92,0xA0,0xEC,0x25,\r
+0x13,0x33,0xCC,0x87,0x62,0xFA,0xE3,0xC4,0x4B,0xF3,0x3D,0xC1,0x05,0x4A,0xC3,0x16,\r
+0x33,0xC1,0xED,0x3F,0xB1,0x69,0x2B,0x97,0x92,0x91,0x9A,0x07,0x9A,0xC1,0x4C,0x42,\r
+0x5E,0xC6,0x26,0x6E,0x0F,0xB0,0x31,0xEC,0x63,0x68,0xE1,0xF4,0x61,0x1E,0xB3,0x76,\r
+0xD0,0xB9,0x40,0x6A,0x8A,0x66,0x9B,0xF8,0x6A,0x01,0x1D,0x79,0xA7,0xC3,0x43,0x48,\r
+0xF8,0xF9,0xE9,0x6D,0x8F,0x39,0x6F,0x4E,0x18,0x00,0x83,0x9E,0xBF,0x23,0xDC,0xF9,\r
+0x87,0xBD,0x3C,0xD0,0xC2,0x9B,0x84,0xCC,0xEB,0xDA,0xE9,0x4B,0xD2,0x88,0xEB,0x8C,\r
+0x36,0x21,0xDF,0xB4,0x3C,0x95,0x22,0xFE,0xC0,0x15,0xCB,0xFC,0x11,0x9C,0x46,0xBC,\r
+0xB9,0x03,0xAF,0x75,0x2B,0xD6,0x6E,0x39,0x96,0xA9,0x51,0x55,0x54,0x7D,0x1C,0x1B,\r
+0xF9,0xA4,0xFF,0xA8,0x64,0x03,0xD8,0x4D,0xC5,0x5A,0xEF,0x0A,0x46,0x58,0x2F,0x08,\r
+0xB3,0x8C,0x2D,0xC5,0x9F,0x52,0x8A,0xC9,0x0E,0x5D,0x82,0x5B,0x80,0x85,0xDF,0x36,\r
+0x94,0xA3,0x34,0xF9,0x0C,0x16,0xFE,0xD3,0x05,0x17,0x6F,0xF0,0xD7,0x41,0xB6,0x82,\r
+0x31,0xFC,0xE7,0x30,0x01,0x63,0xA9,0x18,0x9D,0xE3,0xBC,0xFE,0x2A,0x6D,0xFF,0x0F,\r
+0x73,0x66,0xBD,0xE2,0x67,0xA5,0x17,0x72,0xDB,0x19,0xFD,0xE6,0x65,0x49,0x09,0x0A,\r
+0xA8,0x20,0xAD,0x53,0xF6,0x96,0x3E,0x9E,0x5A,0xC2,0x09,0xD4,0x6C,0xB6,0x4E,0x1F,\r
+0xB7,0x31,0x09,0x8B,0x1E,0x0A,0x46,0xA2,0x74,0x42,0x0F,0x95,0xB7,0x42,0x7C,0x9E,\r
+0x17,0x8E,0xE8,0xC9,0x77,0xCE,0xF2,0xF5,0x79,0x13,0x38,0x4A,0x28,0xC9,0xF3,0xCA,\r
+0x5B,0x26,0x14,0xE5,0x78,0xCC,0xF8,0xC8,0xA7,0x1D,0xAA,0x5C,0xAB,0xF5,0x59,0x53,\r
+0x8F,0x0F,0xB4,0x6F,0x12,0xAE,0x83,0xA0,0xF0,0xD6,0xDF,0x51,0x55,0xE3,0xFB,0x69,\r
+0x0E,0x1F,0x62,0x50,0x27,0x72,0xAB,0x3B,0x51,0x88,0xE4,0x7F,0xE8,0xE7,0xB5,0x4D,\r
+0x40,0x8A,0x94,0x73,0xDE,0x54,0xA4,0x49,0x4E,0xBC,0x19,0x37,0xB1,0xB1,0xCA,0x27,\r
+0x7F,0x69,0x11,0x13,0x85,0x64,0x91,0xC5,0x4F,0xCB,0xF6,0x93,0x5C,0x1C,0xBC,0x7C,\r
+0xC7,0x1A,0x6C,0x0D,0xBE,0x6B,0x21,0xAA,0xF7,0xBA,0xEA,0x81,0x36,0xDA,0xDA,0xC2,\r
+0xBD,0xBE,0x8B,0x3B,0x0E,0x61,0xA3,0x25,0x04,0x60,0x80,0x54,0x12,0xA6,0xAD,0x0B,\r
+0xA2,0xAF,0x2F,0xE3,0xAF,0xD1,0x56,0xE4,0x3A,0xA6,0x5D,0xA4,0x0C,0xB5,0x84,0x03,\r
+0x70,0x06,0xA1,0x28,0xB8,0x92,0x1A,0x23,0x7D,0x2B,0xF3,0x18,0x30,0x29,0x6C,0x7B,\r
+0x53,0x94,0x9C,0x5A,0x9B,0xDC,0xEC,0xB6,0xFB,0x9C,0x32,0xFA,0xF6,0xF4,0x9C,0x45,\r
+0x3F,0xCE,0x41,0xCE,0x5D,0x7B,0x35,0xD4,0x23,0x89,0x7A,0x98,0x6F,0x8C,0xA5,0xA8,\r
+0x56,0x74,0xAE,0xD1,0x17,0xF1,0x77,0x16,0x02,0x7B,0x5A,0x20,0xC0,0xAD,0xD8,0x9F,\r
+0x79,0xE9,0x3F,0x52,0x89,0xC0,0x54,0xC7,0xCD,0x44,0xFC,0x23,0x95,0xCD,0xBD,0xEE,\r
+0x9D,0x4C,0xAA,0x83,0xDB,0x0B,0x50,0xFF,0x78,0x64,0xD7,0xEE,0x76,0xF2,0xDD,0x6B,\r
+0x91,0x43,0x06,0x72,0x40,0x65,0x87,0x98,0x32,0xB8,0x4E,0x8D,0x3D,0x81,0x91,0x12,\r
+0x5F,0x9B,0x30,0xAB,0x7E,0x35,0xC3,0x41,0x37,0xF7,0x6A,0x7B,0x35,0xE0,0x31,0x75,\r
+0xC5,0x27,0x66,0x02,0xAE,0x00,0xC4,0x2D,0xFA,0xEB,0xDD,0x5E,0xE5,0x4F,0x48,0x24,\r
+0x7C,0x09,0x0D,0xD9,0xAC,0x77,0x99,0xDB,0xCE,0x10,0x02,0xA1,0x50,0x2A,0xA6,0x67,\r
+0x2E,0xED,0x43,0xE8,0xB9,0x43,0x88,0xEA,0xB8,0x29,0x57,0x14,0x9D,0xAC,0x1D,0x89,\r
+0xCA,0x48,0xD6,0x39,0x06,0x4B,0x00,0x58,0xE1,0xE7,0xEB,0x44,0x22,0x0C,0x5F,0x68,\r
+0x7E,0x34,0x07,0xD6,0xA9,0x28,0x6D,0x6D,0x29,0xB4,0x78,0x97,0x57,0x47,0xF7,0xAC,\r
+0xBB,0x3E,0xA5,0x7A,0x99,0xAB,0xB1,0x40,0x8D,0xA5,0x67,0x4F,0x5B,0x71,0xED,0xB7,\r
+0x98,0xAC,0x98,0x08,0xBF,0xBA,0xB3,0x63,0x4C,0x9F,0x08,0x11,0x77,0x6C,0x3A,0x19,\r
+0x22,0xE2,0xEF,0x19,0x25,0x05,0xF6,0xCD,0x5F,0x8D,0x2D,0x22,0xCF,0xA1,0x29,0x33,\r
+0x37,0x7C,0xC9,0x71,0x68,0xA7,0x1D,0x4F,0x8F,0x86,0x76,0x69,0x1C,0x34,0xBB,0xD5,\r
+0x3C,0xAE,0x5D,0x04,0xC7,0xC4,0x70,0x7A,0x57,0x93,0x3E,0x0B,0x1E,0x90,0xB7,0x10,\r
+0x9F,0x71,0xA0,0x8C,0xEF,0x06,0xEA,0xAD,0xC1,0x62,0x24,0x58,0xBB,0x74,0x66,0x85,\r
+0xB2,0xD1,0x3B,0x00,0x41,0xB4,0x15,0x51,0x2A,0xE0,0x86,0x15,0x4B,0xF0,0xD2,0x61,\r
+0xD3,0xD9,0x5C,0xA0,0x65,0xD2,0x4A,0x84,0x73,0x2E,0x3A,0x45,0xDD,0x84,0x1A,0x20,\r
+0x45,0x6A,0xA6,0xF8,0x2E,0x89,0x9A,0x8F,0xF1,0xA1,0x30,0xF5,0x3C,0x1F,0x76,0x60,\r
+0x68,0xCA,0x3D,0x74,0xE0,0x04,0xE0,0x90,0xE6,0x8B,0xDE,0x94,0x4A,0x6E,0x35,0x13,\r
+0xE8,0x87,0xFD,0x8E,0xCD,0x99,0x8E,0xF1,0x01,0x2F,0xA4,0xA2,0x7F,0x0D,0x9A,0x7E,\r
+0xDB,0x6B,0xD4,0x1F,0x88,0x11,0xC6,0x0E,0x44,0x81,0x1B,0x38,0x52,0x8E,0xAA,0xA2,\r
+0xC6,0x47,0x7A,0xC8,0xA3,0x75,0x93,0xE6,0xC8,0x0B,0xD8,0xD5,0xFB,0x5C,0x61,0x2C,\r
+0x44,0x37,0xB0,0x3D,0x49,0x9E,0xB6,0x2C,0xB5,0x78,0x60,0xCB,0x59,0xD5,0xE1,0x72,\r
+0xE2,0x08,0x7F,0x3E,0x16,0x20,0xE5,0xDF,0x58,0xE1,0x18,0xF2,0x82,0x21,0xD3,0xF3,\r
+0xE5,0xD5,0x47,0xBA,0x56,0xF7,0x59,0x96,0xCF,0x67,0xED,0x05,0xB2,0x8B,0x21,0x90,\r
+0x46,0x0A,0xBA,0x32,0x6B,0x01,0xD2,0x70,0xF4,0xEE,0x14,0x03,0x5F,0x26,0x57,0xCB,\r
+0x1A,0xDC,0x52,0xFD,0x42,0x12,0xDA,0x6E,0xBB,0x7D,0xA9,0x96,0xDE,0xBE,0xF1,0x97,\r
+0x07,0xF0,0xFC,0x2A,0xC0,0xEC,0xD9,0x3A,0xBF,0x45,0x62,0xC4,0x02,0x27,0x92,0xDD,\r
+0x93,0x7E,0x0C,0x7D,0xB0,0xB8,0xB9,0x5E,0x5E,0xFA,0xC2,0x86,0xB3,0x15,0xC6,0xE2,\r
+0x25,0x3F,0xD7,0x9D,0x90,0x50,0x80,0xF4,0x81,0x83,0xBF,0x34,0x53,0x10,0x4D,0xD0,\r
+0x97,0xC3,0x28,0x33,0xE4,0x8A,0x86,0xEF,0x1E,0x1B,0x59,0xEA,0x56,0xD9,0x10,0xDE,\r
+0xD4,0x04,0x64,0x24,0x82,0x4C,0x38,0x85,0xB2,0x14,0x55,0x1B,0x79,0xFE,0x2C,0xC7,\r
+0xA3,0xF2,0x39,0x26,0x36,0xC8,0xDC,0x75,0x49,0xD0,0x2C,0xE7,0xFD,0xAF,0xD7,0x95,\r
+0x48,0x38,0x1C,0xCC,0x2D,0x2F,0x55,0xB0,0xBE,0x32,0x8D,0x60,0x07,0xEE,0xCF,0xD3,\r
+0xCF,0xA8,0xE4,0xB2,0xA7,0xFB,0xF5,0x99,0x65,0x73,0x3B,0x80,0xB5,0xE6,0x70,0x5B,\r
+0x6E,0x7C,0xA4,0xDA,0x0F,0x04,0x57,0xA6,0xA3,0x10,0x5B,0x0A,0xD2,0xD1,0x40,0xE1,\r
+0xF4,0xC0,0xF2,0x73,0xDF,0x31,0x50,0xCA,0x6E,0x0C,0xEC,0x2F,0x02,0x7E,0x39,0xB0,\r
+0x4D,0xEE,0x99,0xA8,0xDD,0x46,0x0D,0x3C,0x5A,0xF7,0x33,0xD0,0xB7,0x1B,0xD7,0xF3,\r
+0x1F,0x0A,0xD7,0x99,0xC8,0x72,0x1C,0x0D,0x2C,0xCE,0x66,0x65,0x7A,0x9D,0x6C,0x1D,\r
+0xFB,0xAF,0x42,0x48,0x77,0x7A,0x94,0xBF,0x75,0x00,0xDA,0x35,0xC5,0x3D,0x2E,0xFC,\r
+0x4F,0xD3,0x93,0xA7,0xD8,0x19,0xF9,0x8A,0xBD,0x53,0x49,0xE6,0xB0,0x76,0x86,0x38,\r
+0x8A,0xD9,0x31,0x0B,0xE8,0x9A,0x25,0xA7,0x19,0x42,0x56,0x3E,0xBC,0x40,0x9C,0x23,\r
+0xA9,0x4B,0x0C,0x79,0xCE,0x8B,0x27,0x84,0xD8,0x78,0x39,0x60,0x90,0x5D,0x4B,0x8D,\r
+0x13,0x05,0x7B,0x68,0x54,0x34,0x62,0x2A,0xCB,0x6A,0x1C,0x53,0x28,0x90,0x58,0xA7,\r
+0x06,0x9B,0x5D,0x00,0x19,0x96,0x89,0xA8,0x1B,0x61,0x47,0x18,0xFB,0x05,0xCA,0x41,\r
+0x0D,0x49,0xC9,0x75,0xB6,0xF5,0xE4,0x9D,0xC3,0x74,0x0F,0x7A,0xF9,0xA1,0xC6,0x84,\r
+0xAE,0x96,0x34,0xFD,0x9E,0x37,0x7E,0x4A,0x55,0x85,0x15,0x29,0x5C,0x45,0x17,0x11,\r
+0x83,0x36,0xAF,0x71,0x30,0x85,0x81,0xB6,0xBE,0x07,0xB7,0x64,0xAC,0xC1,0xA3,0xF5,\r
+0xE2,0x3E,0xC8,0xD1,0x14,0xE3,0xDE,0x63,0xE7,0xC9,0x0B,0x34,0x3A,0xB5,0x6B,0xB4,\r
+0x74,0x8D,0x32,0x89,0x5F,0xB8,0x0E,0x68,0x65,0x46,0x01,0x84,0xDB,0x2E,0x07,0xF4,\r
+0x59,0x2D,0xA9,0x05,0x91,0x35,0x74,0x77,0x72,0x6C,0xEF,0xE5,0xAD,0x5F,0x44,0x87,\r
+0xD9,0x60,0x69,0xFF,0xBC,0xA8,0x1A,0x16,0x95,0xC8,0x95,0xD3,0x98,0x3C,0xEB,0xEA,\r
+0xEA,0x8C,0x40,0x6E,0xF9,0x20,0x52,0xE9,0xD0,0x66,0x2A,0x49,0xB5,0xBF,0xDB,0x36,\r
+0xF7,0xA0,0xEE,0xB9,0xD2,0x44,0x07,0x01,0x5C,0xEC,0xE9,0xA4,0x1C,0x6D,0x10,0xB8,\r
+0x75,0xD0,0x24,0x4C,0x38,0xAF,0x22,0xCB,0x21,0x9F,0x51,0xBA,0xBE,0xE4,0x90,0xE6,\r
+0xD3,0xEF,0xEB,0x4F,0x67,0x11,0x71,0x38,0xCC,0x06,0x29,0x83,0x65,0x10,0xA2,0x67,\r
+0xD4,0x32,0xD3,0xCB,0x27,0xC6,0xCD,0x71,0x5B,0x80,0xDC,0x74,0x55,0xBA,0x50,0x04,\r
+0x77,0xED,0x2E,0x43,0x1A,0x30,0x46,0x97,0x60,0x09,0x25,0x72,0xB8,0x17,0x26,0x5F,\r
+0x2B,0x3B,0xC6,0x8C,0x33,0x23,0x4E,0x89,0x2F,0x9A,0x98,0xE7,0x39,0x8F,0x80,0x03,\r
+0x36,0x17,0x68,0x5B,0xB1,0xDD,0x4D,0xDD,0x2B,0xA2,0x53,0xB5,0xE5,0x16,0xE3,0x49,\r
+0xA2,0x99,0x98,0x0C,0xC1,0x89,0x2D,0xB9,0xCA,0x1D,0xF3,0xF7,0x54,0x24,0xB7,0x76,\r
+0x14,0xD8,0x43,0xEC,0xE1,0x61,0x14,0x13,0x15,0x64,0x8E,0x45,0xB4,0x21,0x3C,0x44,\r
+0xA6,0x24,0xBC,0x42,0x95,0xBB,0x12,0x08,0x8A,0xFC,0x68,0x9B,0xB1,0xE8,0x61,0x4A,\r
+0xE5,0xE3,0xF0,0x55,0xF3,0x7D,0xAC,0x62,0x26,0xF3,0x64,0x6A,0x9E,0xCF,0x5D,0x53,\r
+0x92,0x15,0xAD,0x57,0x47,0xF9,0x48,0x92,0xDD,0x37,0x1D,0x96,0x1A,0x9E,0xA6,0x01,\r
+0x79,0xDF,0x88,0xBD,0x5C,0x1E,0xC1,0x57,0x2A,0xD5,0xBC,0x11,0xE0,0xDF,0xBE,0x47,\r
+0xFE,0x4F,0x70,0xC3,0xD6,0xCA,0x61,0x7E,0xF1,0x94,0x0A,0xF1,0x52,0xD7,0x01,0xCF,\r
+0x7C,0x3F,0xBA,0x36,0x98,0xCE,0x45,0xC3,0xE5,0xEA,0x1A,0x12,0x75,0x91,0x9D,0xB1,\r
+0x22,0xD4,0x58,0xF6,0x13,0xCB,0x77,0x23,0xDF,0x14,0x0C,0xB0,0xE2,0x7B,0xB2,0x82,\r
+0x02,0x26,0x79,0x4E,0xC0,0x58,0xBF,0x70,0x06,0x76,0xAB,0x76,0x7D,0xF0,0x3D,0xD6,\r
+0x6F,0x21,0xB2,0x1F,0x7E,0x81,0xA5,0x0B,0xF7,0x8F,0xD0,0x85,0x86,0x2F,0xC2,0xE2,\r
+0xE1,0x5E,0xD4,0x1B,0xFB,0x57,0x0F,0x1F,0xFE,0xE6,0x2C,0x08,0x40,0xF2,0x32,0xDC,\r
+0xC9,0x1E,0x7D,0x1C,0xFE,0x08,0xFB,0xA9,0x8C,0xE7,0xB2,0xEF,0x58,0x12,0xAD,0x6D,\r
+0xB6,0x5A,0xA8,0xA1,0xB3,0xAA,0x10,0x2B,0x7F,0x3D,0xD8,0x3A,0x35,0xB9,0x9A,0x18,\r
+0x07,0xC6,0x4B,0xC5,0x4D,0xA4,0xB6,0x19,0x54,0xF2,0xFA,0x8D,0xF6,0xAD,0x37,0x28,\r
+0x88,0xE4,0x3B,0x04,0x5A,0xE7,0xFA,0xDE,0x02,0x4E,0x60,0x24,0xB3,0x4C,0x6D,0x8F,\r
+0xC8,0x43,0x6B,0xD9,0x15,0x32,0x4C,0xAA,0x51,0xBD,0xDE,0x7B,0xA1,0x69,0x5E,0x9C,\r
+0x82,0x6B,0xB9,0xB4,0xEE,0x63,0x1E,0x2E,0x9A,0xBA,0xB3,0x2A,0x67,0xB4,0xAE,0xA2,\r
+0xA5,0x44,0xA0,0x88,0x7D,0x27,0x6A,0x34,0x91,0xF0,0x5E,0x81,0x30,0x70,0xC7,0x16,\r
+0x00,0x1B,0x73,0x41,0x70,0x52,0x3D,0xFF,0x09,0x04,0x8D,0x8F,0xCD,0x5C,0x8E,0x9B,\r
+0x42,0x81,0x29,0x93,0x16,0x94,0x83,0x95,0x4F,0xFE,0xCC,0x97,0x82,0x78,0x78,0x9E,\r
+0x99,0xC7,0x39,0x22,0x87,0xA7,0xAA,0x79,0xCE,0x25,0x38,0xA5,0x8B,0x87,0x3F,0x8B,\r
+0x86,0xD6,0x9D,0xFA,0x6F,0x3B,0xD2,0x45,0xE0,0xA5,0x3E,0xE4,0x50,0x73,0x0D,0x0A,\r
+0x26,0x69,0x7C,0xB8,0x06,0xFF,0x66,0x12,0xED,0xF4,0x09,0x3B,0xCF,0xF8,0x82,0x5E,\r
+0x6A,0xC1,0x80,0x94,0x09,0xFD,0x6C,0x2F,0x33,0xFA,0x9B,0x2D,0x4C,0xC4,0x28,0xC7,\r
+0xBE,0xE8,0x20,0x1E,0x63,0x9F,0x17,0x47,0x64,0x31,0xEE,0x20,0xB2,0xD2,0x8A,0xFD,\r
+0x3F,0xF8,0xF6,0x21,0x56,0x43,0x3F,0xDC,0xC5,0x6F,0xD5,0x0E,0x0F,0xD6,0xC4,0xD9,\r
+0x71,0x6D,0x00,0x02,0xAF,0x65,0x30,0xAE,0xDA,0x5B,0x28,0x46,0x56,0x80,0xBB,0xB3,\r
+0x4E,0x8E,0x85,0x62,0xF4,0x55,0x05,0x22,0xDB,0x2C,0xC7,0xE2,0xBB,0x2D,0xCD,0xE8,\r
+0xF6,0xFD,0xF8,0x7C,0xCF,0x5A,0xB5,0x4D,0x63,0x5D,0xDB,0xF0,0xD1,0xEB,0xAB,0x56,\r
+0x8C,0x59,0x1F,0x4A,0x7F,0x50,0x37,0xC2,0x90,0x87,0xB1,0x25,0xF5,0x97,0xDC,0x9F,\r
+0x93,0x48,0xBB,0x92,0xDE,0xE0,0xC2,0x03,0xAE,0x41,0x6C,0xD5,0xEB,0x84,0xF5,0x97,\r
+0x41,0xE1,0x35,0x59,0xC9,0xA3,0x8E,0xC4,0xE9,0xCC,0xC2,0x69,0xD7,0x18,0x1D,0xEF,\r
+0x62,0x73,0x08,0x2B,0xEA,0xED,0x78,0x51,0x6F,0x7B,0x03,0x8B,0x11,0xC5,0xED,0xD1,\r
+0x0E,0x29,0xD5,0xBF,0x2C,0x4A,0xA1,0x33,0xB7,0x6E,0x4B,0xE9,0x88,0xBD,0xD4,0x3C,\r
+0x67,0x93,0x3A,0xA0,0x66,0xC0,0xE3,0xF1,0x96,0x9C,0x6B,0x51,0x27,0x9C,0xA9,0x0B,\r
+0x48,0x0E,0xAB,0x23,0xF8,0xF1,0xC0,0x20,0x59,0xA3,0xCD,0x52,0x72,0xFC,0xCC,0x7A,\r
+0xAC,0xAB,0x3E,0xF2,0xAA,0x3A,0xC4,0x18,0xEC,0x83,0xE6,0x9F,0x91,0xC3,0xAC,0xFF,\r
+0xA0,0xA4,0x92,0x03,0x31,0x54,0x13,0x7F,0xA6,0x5F,0x7F,0xFC,0xDA,0xB0,0xE0,0x86,\r
+0x8D,0xE9,0x55,0x85,0xAA,0x67,0x66,0x7E,0x0B,0x4B,0x04,0x05,0xE7,0x1F,0x93,0x8B,\r
+0x62,0x9E,0x54,0x21,0xDC,0xCA,0x3D,0x93,0x8E,0xA8,0x3B,0x65,0x6B,0x2F,0xC8,0xBE,\r
+0xFB,0x42,0x1E,0x42,0xBB,0xDD,0x11,0x30,0x91,0x9C,0xC6,0x2D,0x07,0x1A,0x18,0xB9,\r
+0x91,0x98,0xED,0x97,0xCC,0xA1,0xD8,0x14,0x76,0x38,0xBC,0x1B,0x88,0x10,0xA8,0x3B,\r
+0xD1,0x3F,0xBD,0x4A,0x4F,0x8E,0x49,0x89,0x0E,0x04,0x20,0xF3,0xEA,0xB7,0x6E,0xE2,\r
+0x43,0x31,0x63,0x5C,0xE5,0xB2,0xD0,0x0A,0xF2,0xAC,0x6C,0xDF,0xD7,0xB5,0x61,0xE8,\r
+0x9F,0xAA,0x4B,0x69,0xA3,0x9C,0x57,0xCA,0x78,0x3D,0x75,0x46,0x19,0x09,0x31,0xB1,\r
+0xA4,0xF4,0xEA,0x47,0xED,0x98,0x73,0x77,0xAE,0x2D,0xF4,0x79,0x82,0xD5,0x04,0x99,\r
+0x87,0x66,0xD7,0x35,0xAB,0xB6,0xF4,0xB7,0x25,0xCB,0x02,0x44,0xE5,0xBB,0x9F,0x4E,\r
+0x21,0x59,0x18,0x36,0xCE,0xD6,0x85,0xE2,0xB4,0x56,0x2D,0xC7,0x34,0x8A,0x01,0x6D,\r
+0x35,0x9A,0x28,0x9B,0x87,0xFA,0x08,0x1F,0x1C,0x61,0xEA,0x64,0xBA,0x1E,0x56,0x9D,\r
+0xAC,0x46,0x62,0xF8,0xCB,0x89,0x71,0x54,0xB0,0x6E,0xE6,0x95,0xDD,0x70,0xCD,0x4A,\r
+0x88,0x09,0x67,0x0E,0x7A,0x52,0x61,0x12,0xBB,0x24,0x0B,0x3E,0x01,0xE9,0xAE,0x00,\r
+0x26,0x84,0x20,0xB2,0x92,0xCE,0x19,0x2E,0x35,0x8D,0xD9,0xF5,0xC6,0xAA,0xB9,0x4C,\r
+0x01,0xAB,0x39,0x8E,0xB3,0xF7,0xB2,0x4D,0x5B,0xEC,0x44,0xD8,0xF6,0x00,0x4B,0x2F,\r
+0x49,0xBE,0xE1,0xEC,0x8A,0x8F,0x5F,0xD4,0x86,0xB6,0x28,0x4C,0x94,0xA7,0x8D,0xF6,\r
+0xF8,0x22,0x02,0x88,0xCA,0x58,0xE3,0x9D,0xF3,0xDB,0x83,0x7B,0x6C,0x42,0x99,0x75,\r
+0x66,0x23,0x70,0x6F,0x55,0xB8,0x52,0x85,0x5A,0x9B,0xAB,0x7C,0xDA,0x1D,0x9C,0x81,\r
+0xB0,0x37,0xDA,0xEA,0x50,0xE7,0xA6,0x33,0xC5,0x03,0x4D,0xA2,0xDC,0xEE,0x2A,0x38,\r
+0x92,0xF8,0xF1,0x5D,0xFD,0xF3,0x96,0xF0,0x26,0x9F,0xFC,0xC6,0xEE,0xE0,0xD4,0x9E,\r
+0x46,0xD1,0x51,0xD7,0xD5,0x31,0x0C,0x27,0xD6,0x11,0x68,0x91,0xE6,0x81,0x74,0xF9,\r
+0x50,0x2F,0x6B,0x75,0xFA,0xDB,0x3F,0xB0,0x34,0xFA,0x36,0x51,0x06,0x84,0xFF,0xCB,\r
+0x9A,0x4A,0x79,0xE2,0xA5,0x65,0x6C,0x43,0x3C,0xE4,0x25,0x78,0xCE,0xCB,0x19,0x2B,\r
+0xE1,0xB3,0x88,0x11,0x5A,0xBA,0x58,0xB8,0xF7,0xE3,0x48,0x29,0xB5,0x12,0xA7,0x31,\r
+0x86,0x3B,0xC1,0xF0,0x1F,0x32,0x10,0x47,0xA7,0x44,0x08,0xF4,0x50,0xDE,0x71,0x0D,\r
+0xC7,0xC1,0x87,0xE8,0xE9,0x16,0x15,0x08,0xFD,0xDE,0x4A,0x26,0x3A,0x18,0x17,0xB3,\r
+0x74,0x60,0x6E,0x83,0x6A,0x39,0x84,0x95,0x13,0x13,0xCC,0x9D,0x80,0x71,0x08,0x5C,\r
+0x72,0xE0,0x40,0xC2,0x58,0xCD,0x05,0x4E,0xB7,0x02,0xD3,0x45,0xBC,0xED,0xE0,0x24,\r
+0x94,0x78,0xDF,0x1C,0x39,0x23,0x12,0x64,0xE5,0x86,0x82,0xBE,0x6F,0x78,0x72,0xC2,\r
+0x2A,0x8B,0x8C,0x43,0x0A,0x06,0x01,0x76,0xB5,0x21,0xC2,0x63,0x1B,0xAD,0x3D,0x74,\r
+0x14,0x35,0x1F,0xE6,0xA0,0x3A,0x98,0xF5,0x2E,0x81,0xEF,0xEF,0xF1,0x6D,0x1A,0xE4,\r
+0xF9,0x7F,0x14,0x4D,0xC9,0xFE,0x2C,0xA2,0x37,0xAE,0xC8,0xD3,0xEB,0x29,0x89,0x90,\r
+0x96,0x45,0xD5,0x13,0x37,0xF0,0x8A,0x90,0x5D,0xF7,0x9E,0xAC,0xB4,0x8C,0x40,0x43,\r
+0x63,0xC3,0x42,0xE4,0xC5,0x5A,0xE9,0xA0,0x65,0x2A,0x99,0x28,0xFD,0x5B,0x00,0xFF,\r
+0xD2,0x5F,0xA1,0x80,0xE7,0xC5,0x8D,0xFC,0x48,0xFE,0x61,0xEB,0x4C,0x69,0x54,0xC0,\r
+0x6F,0xCC,0xEE,0x15,0x41,0x5D,0xD1,0x7D,0xA0,0x28,0x3D,0x24,0x52,0x7A,0x7D,0xC8,\r
+0x60,0xA3,0x5E,0x2E,0xBC,0xF5,0xB8,0x70,0xCE,0x49,0xA0,0x09,0x2C,0x6A,0x9E,0xDC,\r
+0xDF,0x0D,0x1B,0xB4,0x8C,0x76,0x64,0x5D,0xE7,0xA5,0x93,0x98,0xD3,0xE2,0xDB,0x94,\r
+0x1B,0x5A,0xAF,0xDD,0xF7,0xAE,0x68,0x7B,0xAA,0x15,0x3F,0x2B,0x0E,0xE5,0x5F,0xAC,\r
+0xA3,0x29,0xD2,0xC3,0x77,0x27,0x36,0xD9,0x60,0x65,0xBD,0xDE,0xC4,0x0E,0xB5,0x89,\r
+0x57,0xF2,0x53,0xF1,0xC1,0xD4,0x8F,0xDF,0x23,0xD0,0xD8,0x30,0x57,0xB3,0x20,0xC6,\r
+0x2E,0x36,0xA8,0x0D,0x3A,0x85,0xDD,0x5B,0x7E,0x26,0xAF,0x32,0xA7,0x37,0x94,0x22,\r
+0x40,0x51,0x7F,0x96,0x66,0x9D,0x41,0x97,0xFE,0x8A,0xB4,0xA4,0xBB,0x80,0xB1,0xEF,\r
+0xF6,0x10,0xA4,0x76,0xD9,0x95,0xC9,0x25,0x06,0x1A,0x33,0xDA,0x92,0x54,0x3B,0x4F,\r
+0xB9,0xD8,0x44,0x90,0xD0,0x6E,0xF8,0x91,0x16,0x5C,0xE8,0x6B,0x7C,0xC3,0xA6,0xA3,\r
+0x19,0x67,0xA5,0xD2,0x84,0x5C,0xC7,0x20,0xE6,0xD2,0x7C,0x3C,0x18,0x97,0xD6,0xC3,\r
+0x22,0x39,0x04,0xFC,0x06,0xA2,0xC4,0x74,0x32,0xE1,0xEC,0x25,0xCD,0xF1,0xF2,0x9C,\r
+0xC4,0xA1,0x9B,0x22,0x5B,0x6B,0xCA,0x71,0xCD,0x1D,0x5E,0x8B,0xD6,0x2B,0x86,0x9A,\r
+0x03,0x96,0x33,0x81,0xE1,0x3C,0xB6,0x75,0x1D,0x16,0x05,0xC0,0x4F,0x53,0xBF,0x77,\r
+0x90,0xC5,0xFB,0x52,0x49,0x77,0x72,0x00,0xCC,0x6A,0xB1,0x2F,0x7A,0x30,0x10,0x1A,\r
+0x73,0xBD,0x56,0x07,0x2C,0x17,0x03,0x55,0x82,0x8E,0xE3,0x1E,0x41,0xC1,0xA9,0xA9,\r
+0x1C,0x87,0x97,0x59,0xFB,0x0A,0xAD,0x79,0xBF,0x1C,0xC0,0x6C,0x62,0xD0,0x8F,0xAB,\r
+0xA6,0xC9,0xE0,0x48,0x5E,0x34,0x3E,0xC7,0x7C,0x05,0xBE,0x14,0x0F,0x7B,0xB8,0xDE,\r
+0x11,0xD5,0x2D,0x6D,0x27,0x9B,0x6F,0x17,0x2A,0xB9,0x24,0xBD,0x63,0x4E,0x68,0xD9,\r
+0x2C,0x0B,0xA2,0x02,0x0B,0xD7,0x93,0xBF,0x59,0xCF,0x55,0xFE,0xC8,0x38,0xAF,0x92,\r
+0x79,0x32,0xD4,0xB7,0xB0,0x51,0x7D,0x72,0x17,0x2B,0x07,0xCF,0xF9,0x0C,0xBA,0x83,\r
+0x41,0x0C,0x69,0x53,0x0C,0xFF,0x3A,0xFF,0x46,0xFB,0xA8,0xB6,0xA6,0xA9,0x73,0x50,\r
+0xFD,0xC2,0x30,0x03,0xC4,0x8B,0x7B,0x69,0x21,0xF3,0xC9,0x16,0x73,0xCF,0x57,0x0F,\r
+0xA5,0xA9,0xFC,0x82,0x23,0x15,0x09,0x68,0x27,0xE8,0x13,0x62,0xB2,0x7F,0xF6,0xFA,\r
+0x4B,0x83,0xEB,0xE3,0x60,0x64,0x7A,0x1E,0xBC,0x48,0x3E,0xEE,0xAD,0xF2,0x38,0x80,\r
+0x0D,0xA4,0x95,0x7F,0xAD,0x4F,0xCF,0x3E,0xD3,0x5E,0x4C,0x67,0x6D,0xDC,0x7E,0x07,\r
+0x56,0xAF,0x45,0x34,0x3F,0xDA,0x29,0xED,0xF5,0xC0,0x59,0x0F,0xEF,0x7E,0x33,0xEC,\r
+0x5F,0x40,0xDB,0x4E,0x70,0x0F,0x9F,0x99,0xBA,0x53,0xE4,0x9A,0x8F,0x7D,0xF9,0xF0,\r
+0x45,0xB1,0x4D,0x1D,0xA1,0xEB,0x0A,0x3C,0x47,0x8C,0x47,0x12,0x58,0xBF,0xD1,0x6A,\r
+0x05,0x59,0xE9,0xC5,0xE8,0xD9,0xD9,0xDA,0x08,0x3E,0x4C,0x4D,0x55,0xA9,0xCA,0x18,\r
+0x57,0x08,0x12,0x41,0x2C,0x22,0x25,0xA3,0xBC,0xBA,0xA8,0xBD,0x22,0xF4,0x3C,0x1A,\r
+0xCB,0x10,0x4E,0x8D,0x4B,0xF5,0xBE,0xCD,0x99,0x0D,0x65,0xA1,0x39,0x74,0x90,0x8C,\r
+0x43,0x18,0xF1,0x3F,0x0A,0x2E,0x5E,0x7B,0x13,0xD9,0xC5,0x88,0xBE,0x8C,0x00,0xF2,\r
+0x72,0xE3,0xF8,0x8B,0xC2,0xCE,0xB8,0x34,0x8E,0x4E,0x29,0x66,0x65,0x9C,0x46,0x43,\r
+0x4D,0xD1,0xAC,0x3A,0x7D,0x2F,0xFA,0x94,0xFE,0x1A,0x49,0x02,0xF1,0x6C,0xC8,0x14,\r
+0x4E,0x2F,0x2E,0x6E,0x23,0x8E,0xD4,0xAF,0xDA,0x7C,0x16,0xD7,0x61,0xB8,0xFB,0x0D,\r
+0x40,0xE6,0x73,0x6B,0xBB,0x11,0x0A,0x49,0xAE,0xA6,0x10,0xCC,0xD3,0x47,0x07,0xA3,\r
+0x00,0x7D,0x1F,0x8A,0x5F,0x5F,0x3B,0x1B,0x68,0x01,0xC9,0xAE,0x13,0xD7,0xED,0x84,\r
+0x63,0xD7,0xED,0xBA,0xD9,0xC8,0xCC,0xEE,0x28,0xD6,0x75,0xE7,0x14,0xEF,0x30,0x00,\r
+0x07,0x48,0xCF,0xE6,0x45,0x2B,0xA8,0x5F,0x7C,0xE4,0x4A,0x56,0xEC,0xC2,0xE4,0xC3,\r
+0x5B,0xD0,0x69,0x67,0xD6,0x64,0x3D,0xE2,0x55,0xF7,0x42,0x48,0xB0,0x2A,0x32,0x0C,\r
+0x32,0x78,0x94,0x6A,0xB9,0xD4,0x06,0xED,0xB6,0xE7,0x56,0x36,0x2D,0x44,0x53,0x21,\r
+0xEE,0xFB,0xA4,0x47,0x17,0x91,0x9C,0x52,0xF3,0x6F,0x1E,0xC9,0x1E,0x6D,0xBF,0xB0,\r
+0xE2,0x23,0xDF,0x61,0x40,0x25,0xF5,0x96,0x77,0x68,0x26,0x14,0xB2,0x20,0x0F,0x03,\r
+0xBC,0xAA,0x5F,0xC3,0x33,0x58,0xEB,0x2E,0x9D,0x83,0x03,0xDE,0x30,0xEA,0x7F,0xF6,\r
+0xB0,0x72,0x24,0xE5,0x16,0xE3,0x7B,0xCC,0x5B,0x24,0xDA,0xBC,0x25,0xCC,0xE1,0x9E,\r
+0xF1,0x06,0xEC,0x73,0xD8,0xBA,0x2B,0x70,0x7F,0x42,0x85,0x69,0x44,0xAB,0xE9,0x3E,\r
+0x83,0x98,0x0B,0x72,0xB3,0x76,0xAA,0x28,0xDE,0xF2,0x70,0xA8,0x9E,0xAD,0xF2,0x4A,\r
+0xF0,0xE9,0x48,0x04,0x99,0x61,0xCB,0xC6,0x10,0x7F,0x0A,0xB7,0xB3,0x36,0x52,0xC6,\r
+0x45,0xC2,0x85,0x24,0xBE,0x1F,0x57,0x80,0x56,0x51,0x8D,0x77,0xC1,0x59,0x44,0x4F,\r
+0xA3,0x57,0x17,0xF7,0xB5,0xCF,0x1C,0xDB,0x1B,0xF3,0x66,0xF5,0xD4,0x7F,0xDA,0x27,\r
+0x15,0x82,0x58,0x83,0x5A,0x51,0x66,0xD2,0xD1,0xF0,0x7A,0x95,0x69,0x30,0x49,0xB2,\r
+0x80,0x66,0x89,0x26,0xAB,0xC7,0x35,0xC8,0xF9,0x32,0xE0,0x42,0xCA,0xCD,0x96,0x3A,\r
+0x3C,0xB1,0xC9,0x6F,0x8C,0xB9,0xA9,0x8E,0x97,0xDE,0xFD,0x55,0x88,0x97,0x0C,0xE8,\r
+0xF8,0xFA,0x61,0x1A,0xDF,0x71,0x7A,0x1D,0x38,0xBD,0x90,0x60,0x3C,0x46,0x70,0x07,\r
+0x89,0x9A,0x04,0x4F,0xA7,0xDC,0x2F,0xFE,0x81,0x4C,0x23,0x5B,0x6E,0x08,0x94,0x36,\r
+0x27,0x87,0xD3,0x63,0x9D,0x1D,0x71,0x91,0xA7,0x5D,0x21,0x78,0x4D,0x35,0x06,0x44,\r
+0xB4,0xB9,0x76,0xDD,0xD3,0x6A,0x60,0x2B,0x90,0xF6,0x54,0x15,0x33,0xF6,0x1F,0x3C,\r
+0xE5,0x16,0x0F,0x0D,0xCF,0xA7,0x45,0x9C,0x40,0xC3,0x53,0x79,0xA9,0xA0,0xA3,0x95,\r
+0x19,0x5A,0x23,0xA5,0x11,0x28,0x2A,0xA1,0x87,0xB5,0x18,0xD2,0xD8,0xD3,0xD5,0xD6,\r
+0xF7,0xDC,0x98,0x68,0x28,0x5E,0x9F,0xF4,0x92,0x81,0x09,0xE3,0x8A,0x9D,0x31,0xE7,\r
+0x7E,0x3B,0x83,0xAD,0x7C,0x5D,0x1D,0x0A,0xB7,0x36,0xC4,0xFF,0x8F,0xAF,0xD1,0x6C,\r
+0x0F,0x5B,0xE6,0xF8,0x43,0x92,0x1E,0xAC,0x29,0x07,0xE7,0x2E,0xA0,0x3E,0x4C,0xEF,\r
+0x82,0x77,0xAF,0x05,0x80,0xA2,0xB3,0xB8,0x7E,0x93,0x17,0xA0,0x67,0x96,0x7B,0x4C,\r
+0xFB,0x04,0xE3,0x4E,0x5C,0xE8,0xD0,0x21,0xE5,0xFD,0xC0,0xC7,0x6B,0x3A,0x74,0xBD,\r
+0xEB,0xDF,0x52,0x08,0x13,0xED,0x26,0x05,0x86,0x64,0x8A,0x1B,0x86,0x31,0x3E,0x16,\r
+0x93,0x43,0xBA,0x34,0x9E,0xAA,0x9A,0xAB,0x91,0x27,0xC6,0xDC,0x54,0xBF,0x97,0xDD,\r
+0x38,0x7A,0x9B,0x57,0xB1,0xB3,0xA6,0x8C,0x63,0x8D,0xA5,0xEC,0xC9,0xD1,0xF6,0xF0,\r
+0xD5,0x02,0xA2,0xCE,0xA4,0x6B,0xC4,0xC4,0xA5,0x2A,0x7C,0x8E,0xA5,0x0C,0xAC,0x64,\r
+0xEC,0xEA,0x82,0x64,0xF3,0xDF,0xAD,0x00,0xBB,0x92,0x01,0xFD,0x89,0x81,0x51,0x2D,\r
+0xB7,0x47,0xF4,0x89,0x84,0xDE,0x09,0xEF,0xE0,0xA2,0x34,0x71,0xB6,0x04,0xB2,0x4D,\r
+0x9B,0x50,0x93,0x2A,0x58,0x94,0x6A,0x76,0x30,0x97,0x33,0x1D,0x4B,0x1B,0x86,0x05,\r
+0x52,0x2C,0xE4,0x0E,0x82,0x67,0xBF,0x1C,0x80,0x9D,0xB1,0x92,0x31,0xFC,0x22,0x33,\r
+0xC3,0x03,0x67,0x93,0x25,0x37,0x62,0x5C,0x46,0x3A,0x68,0xF0,0xAD,0x84,0x1E,0xDB,\r
+0x5A,0x3F,0xCD,0x10,0x2B,0xE9,0x74,0xCE,0x49,0x38,0x62,0xCD,0xE1,0x78,0xB6,0xF7,\r
+0xDD,0x11,0x8B,0xD0,0xB0,0xC1,0x41,0x12,0x19,0x84,0x3B,0x03,0xF8,0xF2,0x27,0x6E,\r
+0xF9,0x15,0xC5,0x6D,0xEE,0x60,0x6F,0x29,0x2C,0x58,0x13,0x98,0x79,0x24,0x37,0x51,\r
+0x9A,0xBF,0x37,0x5D,0x21,0x4B,0xD8,0x0B,0x59,0x53,0x87,0x4A,0x85,0x2D,0x5E,0xDC,\r
+0x9F,0x9B,0xC1,0x12,0xDB,0x0D,0xC0,0x4A,0x3F,0x95,0x39,0x20,0xC7,0x77,0xC4,0x0E,\r
+0x0E,0xB4,0x42,0x8F,0x7A,0xE4,0xAB,0xF9,0x20,0xFC,0xD6,0x9A,0x41,0x99,0x09,0xB5,\r
+0x8F,0x40,0x70,0x54,0xFA,0xCA,0xEA,0xFF,0xC8,0x60,0xAE,0xA6,0x5E,0x3D,0x18,0x6D,\r
+0x98,0xAE,0x11,0x7E,0x62,0x55,0x34,0x19,0x5A,0xF5,0x48,0x75,0x0F,0x6F,0x9C,0x96,\r
+0x8B,0x8B,0x22,0x6C,0x91,0x06,0x6B,0xA7,0x15,0x20,0xFE,0x01,0x4F,0x3F,0x3B,0x4B,\r
+0x12,0xB7,0x88,0xEF,0x2F,0x95,0xCE,0x99,0x32,0xE0,0x6E,0xEB,0x62,0xA4,0x9B,0xC7,\r
+0xA6,0x73,0xE1,0xB8,0x65,0x9E,0x65,0x74,0xA1,0xA4,0x1A,0xF1,0x45,0xBD,0xB4,0xFB,\r
+0x69,0xD5,0xE2,0x87,0x38,0x88,0xA0,0x75,0xB1,0xCF,0xFF,0x76,0x0E,0x79,0xC1,0x53,\r
+0xD8,0x35,0x7D,0x9F,0x39,0xFA,0x47,0xEB,0xB4,0x90,0x0B,0xC0,0x26,0xD0,0x81,0x54,\r
+0x2C,0x6A,0x78,0x29,0x2D,0x50,0xC2,0x3D,0x02,0x63,0xB2,0xC6,0xC0,0x4F,0x19,0x8A,\r
+0x1C,0x7E,0xD5,0xEA,0xE2,0x7B,0x75,0x1F,0xFC,0x6D,0x14,0xF4,0x71,0xAC,0x85,0xEE,\r
+0x86,0xBC,0xFD,0x3D,0xCB,0xDB,0xFF,0xCB,0x5C,0x0C,0x73,0xFC,0xE5,0x5C,0x0B,0xB9,\r
+0xB5,0x56,0xD2,0xAA,0x35,0xE1,0x5D,0xDD,0xD7,0x09,0x41,0x1C,0xBB,0xBE,0xE0,0x79,\r
+0xE6,0xE8,0x8D,0x59,0x50,0xF3,0xCA,0x17,0x31,0x46,0xA1,0xD4,0xA8,0xB6,0xFE,0x50,\r
+0xD2,0x37,0x72,0xA2,0xA9,0x02,0x39,0x6C,0x8F,0x9F,0xBB,0xAF,0xC5,0x7D,0xF9,0x01,\r
+0xF9,0xDD,0xC8,0x01,0x8D,0xCC,0x93,0xED,0x44,0xF0,0x62,0xA1,0x5C,0x2F,0x11,0xF7,\r
+0x0A,0xB7,0x1D,0xDB,0xA9,0x05,0xE4,0x91,0x72,0x8A,0x85,0x05,0x56,0xAD,0x9E,0x47,\r
+0x40,0x2E,0x7E,0x07,0x0A,0x29,0x83,0x86,0x3A,0x77,0x9A,0x31,0x63,0xAA,0xF2,0x97,\r
+0x41,0xC1,0xDA,0x70,0xE7,0x72,0xF5,0x2B,0x5A,0x48,0x1F,0xD2,0x53,0x9F,0x7E,0xCC,\r
+0xFE,0xE8,0x18,0x6D,0xEE,0x67,0xB2,0xD4,0x26,0xB8,0xBA,0xB4,0x99,0x8D,0x1B,0x5B,\r
+0x5F,0xD3,0x36,0x33,0x53,0x43,0xFC,0xD0,0x19,0x39,0x6C,0xA4,0x45,0xA5,0x80,0x6E,\r
+0x77,0x0F,0x03,0xA8,0x93,0xC4,0xBA,0xFE,0x80,0x20,0xE6,0x35,0xF9,0xFC,0x4E,0x3E,\r
+0xA9,0x9D,0x15,0xA6,0x10,0x5D,0x10,0xC2,0xAC,0x6C,0x1A,0x9D,0xFB,0xF6,0x73,0x31,\r
+0x76,0xE0,0xA7,0xDF,0xCD,0x65,0x94,0xC5,0xCA,0xAA,0xA4,0xF7,0x3C,0x5E,0x44,0x92,\r
+0x3C,0x79,0xC4,0x03,0x86,0x1C,0xD8,0xB6,0x3B,0xA6,0x08,0xF8,0x52,0x89,0x23,0x09,\r
+0x0C,0x6D,0x69,0xC0,0x7B,0x91,0x91,0x9A,0x98,0x61,0xA0,0xCF,0xC6,0x79,0xAD,0x5E,\r
+0xC3,0xCB,0x6A,0xFF,0x2E,0xE0,0xF4,0xFA,0x1B,0x4E,0x31,0x52,0xF7,0x5A,0x7C,0xC0,\r
+0xF5,0x05,0xB3,0x27,0x4D,0x4B,0xD5,0xC3,0x13,0x64,0x92,0x2F,0xEB,0xE2,0x0D,0xD2,\r
+0x2D,0x4D,0xD1,0x32,0xD4,0xA6,0xEC,0xBB,0x87,0x08,0x4F,0x75,0x4C,0x3B,0x6F,0x14,\r
+0x34,0x6A,0xED,0x1D,0xB7,0x0D,0xCD,0x82,0xAA,0x95,0x21,0x14,0xE6,0x58,0x5F,0xE6,\r
+0x73,0xC4,0x51,0x90,0x8B,0x75,0x25,0x1E,0x61,0x47,0xAF,0xBD,0xA5,0x14,0x98,0xF1,\r
+0xE5,0xDE,0x02,0x61,0x69,0x82,0xA2,0xBF,0x99,0xB0,0x32,0x06,0xAC,0x8A,0x77,0x8B,\r
+0xCE,0xFC,0xB5,0xAE,0xAA,0xB2,0x0F,0xAB,0xFD,0x01,0xD1,0x9A,0xA2,0x2C,0x45,0x75,\r
+0x64,0x2A,0x30,0xBA,0x1C,0x46,0x0A,0xF4,0x23,0xE7,0x4E,0x02,0x51,0x95,0x43,0xC3,\r
+0x16,0xB4,0xD7,0xBB,0x04,0xF7,0x95,0x14,0x24,0xCF,0xE7,0x42,0x0E,0x61,0xF5,0xC6,\r
+0x9C,0xAD,0x4E,0x2A,0x21,0x4C,0x05,0xF6,0x76,0x04,0xE3,0x7A,0x5E,0x25,0x2C,0xF8,\r
+0x6D,0xD6,0xBD,0xD3,0xDA,0x78,0xFA,0x29,0x27,0x69,0x28,0x7D,0x87,0x3F,0x57,0x46,\r
+0x7F,0x1C,0x2A,0xB6,0x29,0x2B,0xA5,0x97,0x0E,0x7A,0x20,0x63,0xC8,0xDF,0x9F,0xA0,\r
+0x45,0x0A,0x88,0x48,0xBE,0x18,0x8A,0x7D,0xCE,0x24,0xC2,0x88,0xCD,0xED,0x7F,0x2B,\r
+0x54,0x3E,0x9D,0x79,0xD7,0x11,0x07,0x81,0x1A,0x9F,0xA3,0x9B,0xA1,0x30,0x25,0xBF,\r
+0x7A,0x38,0xDC,0xF9,0x0C,0x90,0x35,0x75,0xC2,0x80,0x07,0x8A,0x3D,0x48,0x19,0x57,\r
+0x93,0x8B,0xB7,0x58,0x91,0x01,0xB6,0x5A,0x79,0x06,0xE9,0x47,0x54,0xA7,0xA3,0x48,\r
+0xD5,0xCA,0xAF,0xA2,0xDE,0x04,0x40,0x7E,0xAB,0x44,0xB3,0xDD,0x92,0x19,0xC9,0x2E,\r
+0x00,0xB5,0x12,0xE6,0x3B,0x38,0x96,0xB2,0x8C,0x84,0x23,0x37,0x65,0x84,0x72,0xD6,\r
+0x0B,0x58,0xB9,0xAC,0x6C,0x8C,0xFF,0x76,0xB0,0xA3,0x3A,0x18,0x21,0xF0,0x68,0x45,\r
+0x98,0x66,0x1C,0x12,0xEF,0x15,0x55,0x4A,0x3C,0x8E,0xA1,0xB8,0xE1,0x60,0x82,0x62,\r
+0xCB,0xD8,0x43,0xE1,0xFD,0x06,0x66,0x6F,0xE1,0xCE,0xF1,0x1F,0x34,0xD6,0xF6,0x2D,\r
+0xFA,0x23,0x4A,0x55,0xE4,0xC5,0x1E,0x11,0x7B,0x71,0xB4,0xB1,0x36,0xDC,0xCB,0x22,\r
+0xB5,0x9E,0xDF,0xC6,0x65,0x99,0xB8,0x89,0xB4,0x2D,0x5C,0x67,0x25,0xD4,0xD5,0x0B,\r
+0x56,0x2F,0xBB,0x5A,0x39,0xFD,0x9A,0x16,0x77,0xD5,0x71,0xB3,0x17,0xEB,0x64,0x5F,\r
+0xC1,0xDA,0x4C,0xDC,0x09,0x9E,0x68,0xBC,0xF3,0xD2,0x49,0x6E,0xC0,0x57,0x2D,0x1F,\r
+0xC6,0xEF,0x9C,0xB0,0x40,0x22,0x28,0x6B,0x81,0xF1,0x74,0xFC,0x42,0x9D,0x5D,0xEA,\r
+0xBB,0x57,0x82,0xC3,0xE2,0x7C,0xA8,0xE2,0x74,0x73,0xBE,0x8C,0xA9,0xB8,0x97,0x00,\r
+0x0F,0x93,0xEB,0x94,0xC4,0x70,0xD3,0x3A,0xC7,0xDF,0xF3,0x3C,0xAE,0x80,0x4A,0x84,\r
+0x4A,0x2C,0x71,0x3A,0xE9,0xAC,0xE3,0xB9,0x56,0xEC,0xDA,0xD0,0x26,0xC8,0xB5,0xC1,\r
+0xB0,0xBA,0x29,0x89,0xBC,0xDD,0x86,0xD9,0x85,0x7F,0x12,0x83,0x18,0x5B,0x0B,0x64,\r
+0x6B,0x0C,0xC9,0xC8,0x0E,0x55,0x39,0xD1,0xFB,0xF8,0xEA,0x13,0xCC,0xFB,0x22,0xEE,\r
+0xBC,0x62,0x52,0xAF,0xC2,0xC9,0x65,0xC9,0x6D,0xE3,0x6A,0xBF,0x7B,0x36,0x3E,0xCB,\r
+0x47,0x1B,0xAE,0x6B,0x46,0x9B,0x9E,0x98,0x6F,0x94,0x37,0x49,0xFF,0xD2,0xCE,0x7F,\r
+0x8F,0x88,0x7D,0x38,0xE8,0xDE,0x04,0x27,0xD4,0x12,0xD9,0x84,0x67,0x8E,0x4F,0xD9,\r
+0x10,0x6E,0xA3,0xA0,0xED,0xD0,0x59,0xEE,0x7A,0xA0,0x26,0x78,0xBD,0x88,0x54,0xAD,\r
+0xB1,0x55,0x8D,0xFE,0xB9,0xD3,0xDB,0x10,0x63,0x30,0xF2,0x4B,0xDB,0xD7,0x81,0x89,\r
+0x50,0xF5,0xCF,0x41,0x08,0xEC,0x8F,0x22,0x34,0xA4,0x02,0xC5,0x8F,0xB7,0xE5,0xF9,\r
+0x83,0x50,0x06,0x1E,0xE0,0xB9,0xA4,0x46,0x33,0x8C,0xAB,0x85,0x9C,0xBF,0xFB,0xD0,\r
+0x42,0x3F,0x58,0x24,0xCC,0x17,0x73,0x5B,0x41,0xAF,0x96,0x17,0x8D,0xBD,0xD8,0xF6,\r
+0xEF,0xDC,0x0D,0x5C,0x99,0x66,0x16,0x3B,0x70,0xFD,0xD8,0xF3,0x7C,0x0E,0xE3,0x4F,\r
+0x27,0x4F,0xDE,0x0F,0xEC,0xA2,0xBE,0x70,0x9F,0x49,0x09,0x8F,0x1F,0x63,0xD6,0xE0,\r
+0xC0,0x35,0xE8,0xAB,0xEB,0x69,0xEF,0x1D,0x90,0x4B,0x03,0xB2,0x40,0x97,0x60,0xE5,\r
+0xB6,0x60,0x5D,0x92,0x26,0x87,0x54,0x9B,0xA1,0x19,0x4D,0x56,0x74,0x86,0x51,0xF0,\r
+0x39,0x5D,0x32,0x4C,0x8E,0x7B,0x78,0xD7,0xE2,0x68,0x3E,0x20,0x02,0xCD,0xFA,0x37,\r
+0xF4,0xEA,0x17,0x50,0x5E,0x2A,0x01,0x78,0x4B,0xF2,0x68,0x9C,0x37,0xCA,0x96,0xE7,\r
+0xFF,0x07,0xBC,0x1A,0x87,0x6E,0x3F,0x28,0xB1,0x72,0xA8,0xD1,0xBE,0x94,0x34,0x67,\r
+0xE8,0xE9,0xDD,0x30,0xF1,0x1D,0x7C,0x59,0x3D,0x5F,0x33,0x71,0x33,0xEE,0x2B,0xA9,\r
+0x24,0xB1,0x5C,0x5B,0xF0,0x6F,0x9B,0xC7,0x49,0x85,0x35,0x6A,0x83,0x1B,0xEA,0x08,\r
+0x7D,0x0D,0x0C,0x95,0x66,0x2E,0x53,0xB3,0xE9,0xE4,0x52,0x62,0xE5,0x44,0x3F,0x2C,\r
+0x59,0x09,0x42,0x28,0xA5,0x1E,0xFE,0xA7,0x4D,0x0B,0x53,0x15,0xF3,0x7E,0xC1,0x8E,\r
+0xCF,0x13,0x11,0xD9,0x00,0x8B,0x2F,0x43,0xC5,0xA8,0xAE,0xCA,0x31,0xE4,0x16,0xA6,\r
+0x51,0x1A,0x6B,0x36,0x74,0x3D,0x60,0x96,0x50,0x15,0xE1,0x59,0x32,0xF8,0x76,0x6C,\r
+0x81,0x41,0x20,0x3D,0xA7,0xDB,0xF2,0x03,0x38,0x00,0xC7,0xC7,0x90,0x13,0xF4,0x21,\r
+0x19,0xE4,0x82,0x4B,0xE7,0xAA,0x32,0xA9,0x22,0x7F,0x95,0x66,0x4A,0xCE,0x56,0xAE,\r
+0x2F,0x03,0x26,0x31,0xED,0x1A,0xBD,0x2B,0xF8,0x8C,0x40,0x0C,0x83,0xB9,0x2A,0x8A,\r
+0x67,0x1C,0x12,0xCC,0xD8,0xCA,0xD1,0x2C,0x24,0xC6,0x23,0x95,0xAF,0xDE,0x3D,0x29,\r
+0x07,0x99,0xF1,0xF3,0xE8,0x91,0x5D,0x19,0x53,0xC7,0x87,0x7A,0xF4,0xA8,0x90,0xC4,\r
+0x7B,0x3C,0x97,0x03,0x22,0x06,0x38,0x0B,0x4E,0x78,0x45,0x53,0xE1,0xEF,0x6F,0xCD,\r
+0x44,0xEA,0x87,0x82,0xFE,0x33,0xA3,0x23,0x10,0xD9,0x6B,0x68,0xC5,0xA1,0x6B,0x70,\r
+0xDD,0x60,0x16,0x9B,0x42,0x63,0x6D,0x7A,0x8B,0xF1,0x5E,0xB4,0x42,0xE7,0x45,0xB0,\r
+0xF1,0x9C,0xBE,0xD7,0x40,0x6C,0x50,0x70,0x85,0x2F,0x48,0x26,0xDB,0x4D,0x79,0x33,\r
+0x97,0x22,0xD4,0x11,0x87,0xCF,0x67,0xD8,0xFC,0xF0,0xFA,0x5B,0xE3,0xC9,0x7E,0xEE,\r
+0x66,0x8E,0xDB,0x1D,0xE9,0x54,0x00,0x0F,0x20,0xBA,0x99,0xC2,0x9A,0x85,0x0D,0xA5,\r
+0xC5,0x26,0xEC,0xDA,0x7D,0x03,0x8E,0xFF,0xE3,0x8A,0x34,0xD6,0x17,0xCC,0x21,0x58,\r
+0x46,0xB7,0x71,0xF5,0x4C,0x9D,0x5F,0xDC,0xDC,0x45,0x37,0x70,0x66,0xA9,0x41,0x0D,\r
+0x4E,0x14,0x0C,0xDF,0x50,0x8F,0x2E,0x64,0x04,0x73,0xEE,0xBE,0xCD,0x88,0x78,0x6E,\r
+0xDA,0xC9,0x56,0xB3,0xF7,0x49,0x4C,0xBD,0x11,0xAB,0x8C,0xF6,0x20,0xB1,0x00,0xF7,\r
+0xF7,0xA7,0x37,0x2E,0x5D,0xBB,0x7C,0xDE,0x3E,0xB2,0xB0,0xD1,0x8B,0x90,0x39,0x94,\r
+0x3C,0x29,0x9E,0xFC,0x1E,0xAC,0xBB,0x92,0xB3,0xF5,0x0C,0x7F,0xF3,0x78,0xA5,0xA8,\r
+0xC4,0xB4,0x25,0x0B,0x17,0xD6,0x54,0x0C,0x42,0x63,0x5F,0x65,0x04,0xFF,0x04,0x4A,\r
+0xA0,0x57,0xB9,0xBA,0x19,0x28,0x66,0xAA,0x8D,0x48,0xE8,0x47,0x34,0x52,0x10,0x89,\r
+0x7E,0xC8,0x21,0x5C,0xEA,0x9E,0x60,0x13,0x99,0xE2,0x6D,0x91,0xC0,0x57,0x4F,0x3F,\r
+0x79,0x61,0x61,0x74,0xB5,0x9B,0xD6,0xE7,0x98,0x90,0x8A,0x0F,0x71,0xC8,0xAF,0x27,\r
+0x2B,0x65,0x59,0xBF,0xE5,0xA5,0x0F,0xA3,0x09,0x1A,0x13,0x16,0xCA,0x58,0x4D,0x02,\r
+0x7A,0xAE,0x5E,0xD2,0x3C,0x1B,0x74,0xB9,0xF0,0xEB,0xE0,0x6D,0xFE,0xA7,0x92,0xF9,\r
+0x53,0xA6,0x40,0xC1,0x73,0xFD,0xBC,0x59,0x95,0xF9,0x77,0xA7,0xAD,0xF8,0x2C,0x0A,\r
+0x93,0x44,0xAB,0x9F,0x76,0x76,0x5C,0x6B,0x6B,0xC3,0xD5,0xB1,0x9E,0xD7,0xC6,0x9D,\r
+0x47,0x25,0xB8,0x24,0x1A,0xE2,0x06,0xB6,0x5A,0xD2,0xC0,0x85,0x97,0x5A,0x3A,0xF4,\r
+0x9F,0x81,0xA9,0x3B,0x86,0x0A,0x3A,0xCE,0xDA,0xFC,0x81,0x83,0x16,0x68,0xCE,0x2F,\r
+0x24,0x6F,0x64,0xBD,0xEF,0x15,0x80,0x21,0x7B,0x15,0xEA,0x30,0x87,0xEB,0xE1,0xB2,\r
+0xF6,0x35,0xFE,0xFF,0x29,0x73,0xEA,0x9F,0x81,0x53,0xF2,0x71,0x82,0x1D,0xC5,0xFD,\r
+0xD1,0xA5,0x14,0x3F,0xDE,0x8B,0x51,0x02,0xC5,0x86,0x4F,0x0E,0xBE,0xCB,0x09,0x18,\r
+0xED,0xBC,0x3B,0x18,0x9A,0x18,0x4B,0x76,0x8F,0x8D,0xE4,0xE3,0x0A,0xA2,0xCD,0x4F,\r
+0x61,0x27,0x9B,0x35,0x5A,0x3F,0xA1,0xE6,0x31,0x1E,0x41,0xDD,0x93,0x08,0xF1,0xCC,\r
+0xBC,0x77,0x3C,0x75,0x8F,0x70,0xD5,0x50,0xC2,0x4D,0x1E,0x63,0x80,0x3B,0xD4,0xDE,\r
+0x26,0x32,0x92,0xCA,0x8D,0x7F,0xE8,0x5A,0x76,0x7C,0x17,0x98,0x43,0x43,0xAA,0xC7,\r
+0xE9,0xDA,0x44,0x96,0x9E,0x56,0xF6,0x52,0xE5,0x33,0x82,0x25,0x1F,0xE5,0x32,0x46,\r
+0x2A,0xF7,0x90,0x6E,0xAC,0x02,0x47,0x6D,0x79,0xD0,0xE6,0x94,0x7B,0xC7,0xAD,0x1A,\r
+0xAE,0xCF,0x4D,0x69,0x7B,0x42,0x0E,0xD1,0xFF,0x47,0x11,0x61,0x18,0x35,0x07,0x2A,\r
+0xDC,0xF2,0xDF,0x4A,0xF9,0xB7,0x7E,0x1B,0x93,0x40,0xC1,0x54,0xA4,0x75,0xD0,0x63,\r
+0x29,0x38,0xAF,0xC8,0x12,0x5D,0xB4,0x3E,0xE0,0x3D,0xDF,0xEC,0xFA,0xF5,0x59,0xC1,\r
+0x9A,0x75,0x1F,0x64,0x15,0xD9,0x69,0x06,0xB7,0x89,0xB6,0x28,0xF6,0x8E,0x81,0xE7,\r
+0x0B,0x5C,0xF3,0x57,0x9D,0x9C,0x96,0x4E,0x19,0xCC,0x2C,0x97,0x2A,0xBE,0x02,0xCA,\r
+0xD8,0x94,0xA0,0xC4,0xA3,0x39,0x28,0xDD,0xAA,0x36,0x74,0x01,0x5B,0xDB,0x62,0x9F,\r
+0xA6,0x6C,0x30,0x43,0x77,0xB3,0x01,0x7D,0xEB,0xED,0x94,0xB7,0xD3,0x64,0x6A,0x2D,\r
+0x30,0xEC,0x9C,0x58,0xC0,0x96,0x1D,0xB0,0x8C,0x3A,0x0F,0xD9,0x4F,0x38,0x72,0xE1,\r
+0x32,0xB1,0x6A,0x2F,0x44,0x22,0xED,0x54,0x48,0xC1,0xF3,0xA0,0x1D,0xC3,0x23,0x65,\r
+0x89,0x5F,0xA7,0xA9,0xDC,0x84,0x6C,0x08,0x1B,0x09,0x20,0x33,0x58,0x59,0x9C,0xCB,\r
+0x27,0xA0,0x5B,0x1B,0x06,0xF0,0x77,0x0E,0x83,0x96,0xFE,0xD5,0x56,0x04,0x55,0xCE,\r
+0x3E,0x74,0x68,0x8B,0x60,0xD4,0xA2,0x51,0xDD,0x37,0xD0,0xEE,0x55,0x86,0xAB,0x9A,\r
+0x69,0x84,0xE6,0x1F,0x34,0xA4,0xC6,0x31,0x62,0xD6,0x92,0x4E,0x6A,0xD2,0x99,0x2B,\r
+0x6E,0x2D,0xA6,0x37,0x27,0x8D,0xD8,0x39,0x3D,0x05,0x5B,0xEB,0x3F,0xF9,0xFD,0xC3,\r
+0x1C,0x10,0x34,0x14,0x36,0xAB,0xFB,0x3B,0x07,0xC4,0x05,0x84,0x91,0x2E,0xE0,0xEF,\r
+0x2D,0x5E,0xD0,0x46,0xC7,0x12,0xC0,0x88,0x7F,0x69,0x50,0x67,0xE0,0x4B,0x80,0xBA,\r
+0xC2,0x8F,0xAC,0xF2,0xA4,0xBD,0xF5,0xE5,0x2C,0xA1,0x83,0xF4,0x24,0xE3,0xCB,0xCF,\r
+0xCD,0x85,0x91,0xF0,0xFB,0xB8,0x43,0x11,0x88,0x46,0xB5,0x8E,0xEF,0xB2,0xA6,0xC8,\r
+0xFC,0xCB,0x75,0xA2,0xCF,0xAD,0x72,0x00,0xB1,0x30,0x00,0xDB,0x01,0x09,0x20,0x05,\r
+0xBF,0xB8,0x03,0xD3,0xB9,0x6A,0xD9,0x4B,0x6F,0xBF,0x6F,0xE6,0xFD,0x25,0x6C,0xAD,\r
+0x16,0xEE,0xBF,0x49,0x8C,0xBA,0xB5,0x4C,0x73,0x72,0x4A,0x51,0xAC,0x5C,0xC3,0x7D,\r
+0xEC,0x2E,0xF2,0xC9,0x05,0x3A,0x17,0x12,0x39,0x79,0xE1,0xBC,0xE8,0x62,0x93,0xA4,\r
+0x60,0xB5,0x52,0xE4,0x88,0xF4,0x08,0x68,0x13,0x6E,0x80,0x52,0x9B,0x21,0xE2,0xD2,\r
+0x14,0xB3,0x49,0x3E,0x38,0x55,0xC9,0x9D,0x78,0xA2,0x01,0x0A,0xE9,0xC6,0x7C,0xD3,\r
+0xB4,0xD4,0x41,0x5F,0x5E,0x71,0x1C,0xC2,0xB6,0xFB,0x51,0xB6,0xA8,0x0E,0x08,0x45,\r
+0x10,0xD5,0x36,0xB0,0x48,0xD3,0xE2,0xF8,0x0B,0xDF,0x1F,0xB2,0x98,0xA3,0x1C,0x86,\r
+0x98,0x28,0xE9,0x13,0x8A,0xFB,0x35,0x62,0xFA,0x49,0x4C,0xA8,0x0D,0x72,0xF8,0x23,\r
+0x0D,0x67,0x7A,0xAE,0x89,0x31,0x55,0x7E,0x15,0xD7,0x36,0xA1,0xBB,0x3D,0x2D,0x57,\r
+0x65,0x41,0xE4,0xBB,0x2B,0x7C,0xD7,0x95,0x1E,0x07,0x7D,0xFA,0x5D,0xAF,0xB8,0x84,\r
+0xD8,0xD2,0xF2,0x3F,0x5D,0x9F,0xB7,0x84,0x39,0x80,0xE0,0x3B,0x6A,0x2A,0x1E,0xD2,\r
+0x69,0x86,0xC0,0x00,0xBC,0x20,0x17,0xC6,0x6D,0xF0,0x84,0x5B,0x3D,0xA4,0xEE,0x46,\r
+0x89,0x0D,0xC5,0x32,0x63,0x59,0x6A,0x74,0x85,0xD0,0x2E,0x62,0xDD,0xE5,0x35,0xF0,\r
+0x8C,0x50,0x0C,0x3C,0xFC,0xC1,0x8C,0xAA,0x5F,0xA4,0x35,0x64,0x73,0x19,0xCA,0x42,\r
+0xA3,0x6C,0x2B,0x25,0x50,0xCE,0x80,0x5B,0x99,0xC2,0x5F,0xDA,0x64,0xDE,0x86,0x01,\r
+0x27,0x97,0x7A,0x77,0xAB,0x0A,0xF9,0xA7,0x1D,0x76,0xAF,0x3E,0x66,0x28,0xDB,0x76,\r
+0xDD,0x8F,0x3B,0x31,0x5C,0xE8,0x58,0x20,0xFA,0x6D,0x6A,0xB7,0x8C,0xE2,0xFE,0x9D,\r
+0x6F,0x30,0x33,0xB9,0x87,0xA9,0xEE,0xC0,0x2E,0xE7,0x43,0x17,0xF2,0x72,0x06,0x1A,\r
+0xA5,0xDA,0xD8,0x9C,0xE3,0xF5,0x71,0xE2,0x4C,0x8D,0x2B,0x6C,0xCE,0x5D,0x1F,0x3D,\r
+0x88,0xEA,0x5B,0x40,0xA6,0x5B,0xCE,0x78,0xC4,0xC8,0xD4,0x24,0x5F,0xB1,0x36,0x0E,\r
+0x21,0x21,0x89,0xCE,0x2A,0xD1,0x0D,0x95,0xA0,0xE3,0x3C,0x71,0x88,0x9D,0x98,0x13,\r
+0x83,0xA1,0x00,0x90,0x57,0xA2,0xB5,0x8B,0x4B,0x09,0xF6,0x54,0x7D,0xED,0x52,0x91,\r
+0x58,0x93,0xF4,0x11,0xBA,0x3B,0xCD,0xB2,0xF5,0x56,0x05,0x07,0x7E,0xD2,0x9D,0x37,\r
+0x68,0x61,0x5E,0x72,0x2D,0xBD,0x38,0x45,0x22,0x16,0x4C,0xBB,0xFA,0x0F,0xA5,0x30,\r
+0x85,0x17,0xF3,0x29,0x16,0x34,0xC1,0x43,0xD4,0x2B,0xAA,0x30,0x72,0xD0,0x58,0x93,\r
+0x04,0xB1,0x6B,0x75,0x59,0xA7,0x7C,0xD6,0xC7,0x02,0xB4,0x38,0xBD,0x06,0xB0,0xCF,\r
+0x15,0x69,0x74,0xD1,0xBD,0x57,0xF8,0x62,0xD0,0x65,0x17,0x14,0x59,0x38,0x0D,0xF7,\r
+0xC6,0xFB,0xE1,0x37,0x6D,0x5C,0xA3,0x29,0x72,0x28,0x95,0xFF,0x31,0xA6,0x2B,0xE2,\r
+0xC4,0xF7,0x45,0xF2,0xB5,0x49,0xEB,0x4B,0x11,0x87,0xA0,0x92,0x44,0x74,0xBF,0xE9,\r
+0x61,0x26,0xA1,0x67,0x23,0xB8,0xF1,0x18,0xD3,0xAF,0x77,0x08,0xCC,0xAB,0x42,0x4A,\r
+0x91,0x92,0x25,0x83,0xC8,0x3A,0x53,0x55,0x61,0x01,0x8B,0xF7,0x40,0x0B,0xD9,0x67,\r
+0x07,0x5A,0x51,0xC2,0x91,0xF4,0xEF,0x05,0x07,0x25,0x5E,0xA8,0xE0,0x03,0xBE,0x06,\r
+0xE6,0x36,0xCA,0x82,0x13,0x7B,0xE5,0xB5,0x5C,0x6E,0x55,0x78,0xB8,0xB0,0x44,0x90,\r
+0x90,0x75,0xBB,0xF1,0x04,0x51,0x0B,0xD4,0xD1,0xA0,0x4A,0x02,0x34,0x10,0xDF,0xBD,\r
+0xEF,0x71,0x35,0x97,0xD5,0x2D,0xBF,0x3B,0xE0,0x3E,0x9B,0x21,0xEB,0x41,0xD2,0x8A,\r
+0x3F,0x08,0x9A,0xC6,0x18,0x31,0x08,0x1E,0xD5,0xEE,0xF7,0x26,0x42,0xFD,0x84,0x10,\r
+0x8A,0xE6,0xFF,0x85,0x2C,0xCA,0xD7,0xE1,0xA2,0xEC,0x01,0x7B,0x99,0xD3,0xEF,0xA9,\r
+0x47,0x5D,0x79,0x6B,0x5A,0xF3,0x82,0x54,0x96,0xF9,0x30,0x6A,0xA8,0x37,0xA1,0xFB,\r
+0xF8,0x1F,0xD9,0x8A,0x03,0x3D,0x3E,0x04,0x9E,0x46,0x82,0xE2,0x79,0x92,0x34,0x1F,\r
+0x8D,0xB7,0x92,0x4E,0xCB,0x6E,0xAD,0xD7,0xFD,0xE9,0xB7,0x8F,0x96,0xEE,0xE5,0xAB,\r
+0x81,0xAD,0xA4,0x55,0x6F,0x7F,0xB2,0x0F,0x7E,0xD9,0x9A,0x53,0x3A,0xE4,0x47,0x6E,\r
+0xAD,0x7A,0xB9,0xFB,0xAE,0x45,0xDD,0x51,0x6F,0xFF,0xB9,0x51,0x48,0x76,0x7A,0x4D,\r
+0xD6,0xC4,0x60,0xE1,0xD8,0x7C,0x88,0xE4,0x04,0xEF,0x3E,0xB4,0xA3,0x75,0xCD,0x77,\r
+0xEA,0x2C,0xFC,0x99,0x9F,0xF1,0x26,0x58,0x47,0xF8,0xF9,0xF8,0x68,0xDC,0x43,0xA5,\r
+0x2C,0xDC,0x21,0xA7,0x19,0x46,0xE7,0xBA,0x09,0xDB,0x6C,0x0E,0x1A,0x4E,0x7E,0x86,\r
+0xB5,0xE5,0x59,0x4A,0xC1,0x53,0xAF,0xD8,0xAE,0x1D,0x0E,0xD7,0x8E,0x14,0xA3,0xEA,\r
+0x1A,0x98,0x78,0x7D,0xE0,0xA1,0x8F,0x60,0x24,0x57,0xCC,0x95,0x91,0xAE,0x4C,0x83,\r
+0x4F,0xFD,0x18,0x0C,0x2F,0x9E,0x29,0x63,0x15,0xC9,0x1D,0xB6,0x12,0x33,0xDD,0xAC,\r
+0xAC,0x9D,0x27,0x89,0x9A,0xBE,0x02,0xAE,0xDE,0x9B,0x25,0xB2,0xC3,0x96,0x48,0x48,\r
+0xE7,0xD1,0x54,0xF0,0xD0,0x62,0x9B,0xCD,0xB0,0x00,0x42,0x65,0x32,0x99,0xE4,0x44,\r
+0xF2,0xB3,0x1C,0x28,0x9B,0xC9,0xED,0x0A,0x1B,0x37,0x2F,0x10,0x89,0x54,0x0A,0xC2,\r
+0x71,0x19,0x20,0xB1,0x45,0xC7,0x7F,0x1C,0x19,0x38,0x12,0x1A,0xA5,0xFC,0xF6,0x8E,\r
+0x8F,0xBB,0x36,0x8B,0x12,0x0C,0x0A,0x11,0x7B,0x52,0x7A,0x61,0x2F,0xD5,0x56,0x5A,\r
+0x32,0xF5,0x32,0xAF,0xB3,0x52,0x31,0x3F,0xA7,0x67,0xE1,0x49,0x10,0xC5,0x80,0xDB,\r
+0x6B,0x8A,0x64,0xC5,0xAC,0x66,0xCC,0x77,0x81,0x9E,0x93,0x46,0x33,0x50,0x76,0x95,\r
+0x86,0xFC,0xC9,0x9E,0xAD,0x11,0x23,0xD3,0xB1,0xC5,0x1F,0x73,0x53,0xB3,0xF3,0xAA,\r
+0xEC,0x9A,0x0F,0x20,0x15,0x60,0x3F,0xC1,0xBE,0xFE,0x70,0xC3,0x4D,0xC0,0x8E,0x12,\r
+0xC8,0xED,0x73,0xE9,0xE6,0xBA,0x55,0x14,0xB4,0x4E,0xFF,0x41,0x7B,0x64,0x69,0x68,\r
+0x8E,0x5C,0xA8,0xF9,0x74,0x73,0x84,0x15,0x03,0x6B,0xE3,0x8C,0x35,0xD9,0x4D,0x6C,\r
+0x9C,0x6F,0x8D,0xEA,0x27,0x80,0x3A,0x4A,0xD6,0x24,0x97,0x3A,0xE8,0x7E,0x1D,0x2C,\r
+0x5A,0x9F,0x50,0xD4,0xEC,0x87,0x57,0x1B,0x87,0xDF,0x13,0x68,0x85,0x56,0xCF,0x66,\r
+0x0D,0xF6,0x94,0x60,0xE7,0xCD,0xBA,0xB0,0xC3,0x4C,0x09,0x1C,0xB9,0x79,0xD6,0x41,\r
+0xF0,0xBF,0xB8,0xED,0x7F,0x39,0x69,0xBE,0xB6,0x41,0xC2,0x4B,0x70,0x26,0x05,0xE4,\r
+0xBF,0x49,0x9C,0xE8,0x39,0xC3,0x28,0xA6,0x70,0x27,0xA8,0xF5,0xA2,0xBC,0x5F,0xA6,\r
+0xB6,0x0E,0x63,0xFD,0xB8,0x18,0xDC,0x94,0x43,0xB6,0x44,0xDC,0x13,0xFA,0x4F,0x7D,\r
+0x6D,0x3C,0x97,0x7C,0x96,0x98,0xDA,0xD5,0xDF,0x5E,0x78,0xA4,0xCB,0xEB,0xEB,0x62,\r
+0x48,0xAC,0x75,0xC7,0x93,0xD7,0xFE,0x23,0x2A,0xA9,0xFE,0x33,0x07,0x02,0xCC,0x98,\r
+0xDF,0x83,0x9F,0xF4,0xA9,0x29,0xE8,0x81,0x2F,0x22,0x1E,0x01,0xC7,0xE9,0x2E,0xC6,\r
+0x40,0x0C,0x14,0xA0,0x70,0x4B,0x4F,0x47,0xBC,0xF1,0x4D,0xC9,0x7F,0x1B,0x0F,0xE6,\r
+0xBB,0xF3,0xCB,0x94,0x81,0xB2,0x34,0xB4,0x65,0x4F,0x36,0xD3,0x2E,0x1C,0xC4,0x8B,\r
+0x7D,0x03,0x16,0xAA,0x88,0xDB,0xC8,0x39,0xB3,0xCA,0x22,0x79,0x2A,0x63,0xA2,0x05,\r
+0x65,0x9C,0xF6,0x1B,0xFA,0xDA,0x56,0xDE,0xEC,0xCF,0x94,0x8D,0x2D,0x23,0x0B,0x2D,\r
+0x08,0xAB,0x5D,0x6E,0x09,0x00,0x3C,0x0B,0x4E,0x82,0x16,0x66,0x90,0x67,0xDE,0x52,\r
+0xCB,0x06,0x49,0x5E,0x22,0xCF,0x1E,0xBC,0x40,0x7C,0x24,0xC0,0xF4,0xFB,0x3D,0xE3,\r
+0x9A,0x88,0x6E,0x24,0xF2,0x56,0x52,0x6D,0x94,0x3B,0x0C,0x7C,0xA6,0x23,0xFF,0x05,\r
+0x17,0x97,0x14,0xEA,0x7E,0x7B,0xC9,0xCD,0xE7,0x4D,0x7D,0x3F,0x8C,0xCD,0x9E,0x12,\r
+0xA7,0x56,0xE1,0x4B,0x0A,0xA1,0xCF,0xD6,0x95,0x4C,0xE3,0xD8,0xE7,0x95,0x1F,0xDE,\r
+0xC1,0x83,0xBE,0x6F,0xAA,0xC0,0xA8,0xDE,0xD4,0xDA,0x97,0x10,0x29,0x29,0x4F,0x87,\r
+0xD7,0x7D,0x84,0xCD,0x0E,0x2F,0xA9,0xA9,0xE4,0x19,0x83,0xBD,0x94,0x2D,0x01,0xA3,\r
+0x15,0xAA,0x1E,0xE5,0x86,0x8C,0x54,0x76,0x71,0xBC,0x67,0x6C,0x65,0x37,0x52,0x35,\r
+0x16,0xCA,0x02,0x2F,0x13,0x31,0x1B,0xE5,0xC7,0xC8,0xB2,0x23,0x8A,0x3E,0x28,0xAB,\r
+0xB4,0x48,0xE9,0x62,0x7B,0x24,0x3D,0x7B,0x21,0x1B,0x27,0xB1,0x81,0x65,0x63,0x7B,\r
+0xB8,0x47,0x45,0x93,0x70,0xA8,0x51,0x39,0x43,0x5C,0x62,0xE7,0xA2,0x74,0x45,0x79,\r
+0xA9,0x64,0x47,0xB5,0x02,0x8B,0x6C,0xAB,0xED,0x70,0x7F,0x30,0x98,0x1B,0x1B,0xB8,\r
+0x58,0x5F,0xF4,0x0C,0x33,0xD9,0x22,0x4F,0x9C,0x25,0x1F,0x55,0xE0,0xF8,0x4E,0x15,\r
+0x3B,0x6A,0x99,0xA3,0xDC,0x6D,0xF3,0x33,0x58,0x50,0x54,0xFD,0xB3,0x6B,0x9D,0xDD,\r
+0x64,0xDC,0x6D,0xA6,0xD3,0x6F,0xF9,0x0E,0x93,0x57,0x39,0xAC,0x17,0x11,0xAB,0x3A,\r
+0x50,0xED,0x7C,0xB3,0xE2,0x3D,0xB7,0xEA,0x7D,0x9A,0xBF,0x17,0x2E,0x44,0x1E,0x4C,\r
+0x26,0x46,0x37,0x74,0xA1,0x4C,0xC4,0x9C,0x81,0x32,0xF3,0x3B,0xF0,0x79,0x71,0xC3,\r
+0x13,0x2A,0x30,0xA4,0x08,0xD6,0x92,0x20,0xD0,0xE2,0x5C,0x42,0xEC,0xCE,0x54,0x0E,\r
+0x3C,0xB7,0xA1,0x27,0xC6,0x5B,0xE8,0x3F,0x27,0x00,0xFD,0xC5,0x35,0x9E,0x6A,0x4A,\r
+0xE8,0x9E,0x01,0xAD,0xB8,0xDC,0x10,0xAF,0xAF,0xB2,0xF5,0x7A,0x74,0x28,0x8A,0x91,\r
+0x5F,0x82,0xCC,0x88,0x2E,0xC7,0x90,0x03,0x33,0x7E,0xED,0x26,0x13,0x46,0x11,0x46,\r
+0xDB,0x72,0x28,0x3C,0x2C,0xB0,0xCD,0xF5,0x61,0xFA,0xBC,0xDD,0xD7,0x3F,0xED,0xBD,\r
+0x43,0xF3,0x74,0x9A,0x97,0x36,0x23,0x38,0x24,0x54,0x03,0x47,0x84,0xAC,0x3E,0x75,\r
+0x99,0xE8,0x72,0xEE,0x39,0x84,0xDC,0xC4,0x2A,0x51,0xCA,0x1A,0x1C,0x4A,0xE0,0xEA,\r
+0xFF,0x3D,0x2D,0xCA,0x20,0x14,0x08,0xF7,0x29,0x05,0x34,0x98,0x42,0x71,0xCE,0x4B,\r
+0xAB,0x59,0x4D,0xBA,0x77,0x80,0xF8,0x79,0x16,0xB4,0x06,0xCC,0xFD,0xD1,0x8C,0xAA,\r
+0x12,0x77,0x26,0x61,0x38,0x55,0x4E,0x0D,0x3F,0x58,0x35,0x5D,0xE9,0x07,0x09,0x00,\r
+0x01,0x69,0x2E,0x48,0xF7,0x09,0xA6,0xDB,0x63,0xD9,0xAD,0xFB,0x7A,0xBA,0x9C,0x4F,\r
+0x33,0xD8,0x11,0x1C,0x34,0xF1,0x8B,0x0F,0x07,0x85,0x32,0xD9,0xE6,0x0B,0xF8,0xAC,\r
+0xE4,0x91,0xAD,0x5C,0xB0,0xF6,0xB3,0xD2,0x64,0xB5,0x98,0x2B,0x60,0xFE,0x0F,0x3B,\r
+0x66,0xE1,0x67,0xA9,0xC2,0xD5,0x8E,0x40,0xD8,0xFC,0x4F,0x6B,0x0C,0xCB,0xDF,0x3C,\r
+0x8D,0x2B,0x42,0x43,0x37,0x57,0x44,0x30,0x86,0x5E,0xC6,0xEB,0x7F,0x73,0xC1,0x41,\r
+0x8A,0xF6,0x7A,0xC7,0x84,0xFB,0x09,0x80,0x8A,0x78,0x1E,0x90,0x28,0xB7,0xA8,0xF5,\r
+0x02,0x09,0x32,0x82,0x15,0xC8,0x20,0x6C,0x56,0x55,0x9D,0xA0,0x86,0x08,0x32,0xB0,\r
+0x85,0x99,0xCA,0xFC,0x59,0xBB,0x59,0x27,0xEB,0x6B,0xA5,0x44,0xC5,0x1A,0xDE,0xAE,\r
+0x19,0xA5,0xB2,0x14,0x81,0xA4,0xFD,0x36,0x6A,0xB0,0x51,0x76,0x45,0x1C,0x9F,0x80,\r
+0x70,0x1F,0x5D,0x0B,0x3A,0x22,0x13,0xFB,0xFB,0x2D,0x7E,0xF5,0xE4,0xAF,0xF4,0x69,\r
+0xB6,0x75,0xE3,0x6D,0xE8,0x60,0x49,0x61,0xFE,0x62,0x5A,0x03,0x1E,0xEE,0xEC,0x2F,\r
+0x41,0xCE,0x7E,0x95,0xCF,0xA0,0xD9,0x8B,0xC2,0x87,0x96,0xD5,0x5A,0x91,0x51,0xFA,\r
+0x05,0xD4,0x0A,0x06,0xF3,0x87,0xC0,0xA4,0x76,0xD0,0x52,0xBC,0x10,0x7C,0xFA,0xF1,\r
+0xC5,0x3E,0x9A,0x21,0x7F,0xAA,0x5B,0x04,0xEF,0x53,0x6E,0x16,0xAE,0x42,0x5F,0x62,\r
+0x10,0x4A,0x2C,0x6E,0xA2,0xEA,0x0B,0xA3,0xFC,0x41,0x4B,0x25,0x5D,0xFC,0x00,0x31,\r
+0x88,0xCB,0x70,0xC8,0xDA,0x94,0xC8,0xBA,0x78,0xD5,0x9B,0xE1,0xDD,0xFA,0x41,0x1F,\r
+0x86,0xF9,0xD6,0x36,0xBE,0x25,0x2B,0x26,0x48,0x16,0x8F,0x4C,0x12,0xD8,0xF6,0x34,\r
+0x75,0xFF,0x6F,0x80,0x60,0xC3,0xB4,0xBE,0xBC,0xA0,0xD0,0x49,0x06,0x0E,0x73,0x9E,\r
+0x2A,0x49,0x9B,0x85,0x67,0xEB,0x1D,0xFE,0x0D,0xB8,0x30,0xD6,0x07,0x90,0x94,0xEC,\r
+0x7A,0x90,0xDF,0xBB,0x35,0x20,0x19,0xC6,0xB6,0x9D,0xD2,0x46,0x96,0x89,0x0D,0x66,\r
+0xA3,0xEB,0xC5,0x05,0x64,0x4D,0xD2,0xC1,0x82,0x66,0x0D,0xB9,0x6F,0xF2,0xFE,0x97,\r
+0xEC,0x23,0x25,0xE3,0x4D,0x5E,0xDA,0xDF,0xD1,0x95,0xB3,0xE6,0x0A,0x38,0x69,0x85,\r
+0xE9,0xC3,0x17,0x68,0x8D,0x00,0x38,0x34,0xE2,0x02,0x59,0xC9,0xF4,0x2E,0xCB,0xBF,\r
+0x18,0xF8,0xA4,0xD1,0x89,0x8E,0x5E,0x4B,0x9F,0x71,0xE1,0xD7,0x63,0xC4,0xE4,0x8C,\r
+0x76,0x9F,0x73,0x4A,0x78,0x82,0xF2,0x44,0xE6,0x3A,0x92,0x9B,0xBF,0x5D,0x87,0xC6,\r
+0xE2,0x11,0x83,0x1D,0xDB,0x45,0x5A,0x73,0x6B,0xC7,0xBE,0xD2,0x7C,0x49,0x2A,0xF6,\r
+0xD3,0xC0,0xA0,0x83,0x58,0x6A,0xCB,0xEE,0x1A,0x92,0xDE,0xB7,0x43,0xEF,0x29,0x39,\r
+0xCF,0xB1,0x18,0x91,0x50,0x40,0x68,0x93,0xB1,0xF1,0xE7,0x96,0x9B,0x21,0xF0,0x0F,\r
+0x68,0xD3,0xC1,0x57,0xC4,0x2C,0xB5,0xC9,0x5C,0x68,0x9F,0xAF,0x8E,0x69,0x92,0xD7,\r
+0xC2,0xE3,0xA2,0xA5,0xE9,0xB1,0xDB,0xA8,0xF7,0x0B,0xA6,0x8E,0xA1,0x4E,0xAE,0xCE,\r
+0x81,0x24,0xEE,0xB2,0x22,0x63,0x55,0x01,0x8F,0x37,0x3A,0x66,0x2C,0xE0,0x12,0x89,\r
+0x78,0xAD,0xD5,0xB4,0x07,0xD4,0x98,0x1D,0x36,0x31,0xC9,0xD0,0xBD,0xF9,0x8B,0x03,\r
+0x72,0x22,0x57,0x04,0x31,0xAE,0x7F,0xB9,0xFF,0x15,0xB5,0xA7,0x67,0x93,0x5E,0xF0,\r
+0x47,0x4E,0x50,0xD4,0x79,0x53,0x60,0x8D,0xD3,0xB6,0xA2,0xC0,0xBB,0x0A,0x3D,0xBA,\r
+0x77,0xC2,0x65,0x8F,0x19,0x6C,0xE5,0x6E,0x88,0x5B,0x0F,0xB6,0xCC,0xE5,0x99,0xBB,\r
+0xBD,0xA7,0x77,0x18,0x65,0x9C,0x40,0x08,0x9D,0x52,0xF0,0xF1,0xD1,0xCC,0x5B,0x04,\r
+0x61,0x3C,0x5F,0x2D,0x5A,0x1D,0x96,0x18,0xB9,0xEF,0xF4,0xBF,0x8F,0xF7,0x75,0xA5,\r
+0xDD,0xF2,0x06,0x7D,0xC3,0x04,0x1C,0x89,0x3E,0x2F,0xDA,0xF9,0x14,0x2B,0x40,0x8D,\r
+0xDF,0xCF,0x0C,0x72,0xEF,0x48,0xE0,0x21,0xA7,0xAC,0xE6,0x53,0x1A,0xB9,0x56,0x53,\r
+0x5C,0x50,0x66,0xC8,0x92,0xCA,0xB4,0x1E,0x8E,0x7E,0xAA,0x1D,0x99,0x67,0x5A,0x8D,\r
+0x07,0x5B,0x2D,0x18,0x74,0x19,0x26,0x8B,0xA8,0x16,0x34,0x08,0x1B,0x2A,0xB1,0x2F,\r
+0x0E,0xB4,0x57,0x86,0xC2,0x6D,0x69,0x5E,0xE7,0x83,0xA7,0xB5,0x7B,0xE0,0xAD,0x2C,\r
+0x14,0x45,0x04,0x10,0x57,0xC8,0xB8,0xBA,0x1A,0x0B,0x78,0x16,0xAC,0xC8,0x37,0xEE,\r
+0x10,0xF8,0x4A,0x34,0x67,0x0B,0x15,0xAE,0x1B,0xAF,0x0F,0xF9,0x52,0x6A,0x0D,0xF8,\r
+0xAC,0x36,0x1A,0x6D,0x26,0x9D,0xDD,0xDA,0x7C,0x0F,0x07,0x98,0x87,0x4E,0x52,0x9E,\r
+0xF4,0x5D,0x9B,0xA1,0x54,0x9C,0x3A,0x44,0x7A,0x7B,0x1C,0x42,0x46,0xEF,0xA7,0x2E,\r
+0x1A,0x77,0xFA,0xB6,0x27,0xEA,0x79,0x35,0xE1,0xF7,0xBC,0x6F,0x59,0x21,0xDD,0xA3,\r
+0xF7,0x3D,0x51,0xBD,0x63,0x33,0x47,0x65,0x21,0x0D,0xF1,0xEF,0xFB,0xA1,0x83,0x2A,\r
+0x40,0x21,0x74,0x70,0x32,0xE3,0x3E,0xCA,0x77,0xA4,0x4D,0x75,0x97,0x71,0x84,0x1F,\r
+0x7D,0xFF,0x1B,0xFF,0xCE,0x4B,0x12,0x86,0x04,0xE7,0x3B,0x04,0x3C,0xB6,0xCF,0x69,\r
+0x28,0xC6,0xAE,0x89,0x20,0x86,0xA9,0x00,0x4A,0xD6,0xDF,0x56,0x0D,0xA3,0xDE,0x5D,\r
+0x52,0x62,0x98,0x6E,0xEB,0x81,0xF8,0x6D,0x40,0xD9,0xE2,0x54,0xBB,0xA6,0x2A,0x02,\r
+0xC1,0x31,0x4B,0xA6,0x2F,0xF4,0x50,0x26,0x91,0x36,0x9E,0xE0,0x8E,0x09,0x47,0x61,\r
+0x22,0x49,0x1E,0x0B,0x5E,0xA1,0x35,0x46,0xDF,0x07,0x7A,0xB2,0xB5,0xB0,0xF4,0x90,\r
+0x4D,0x73,0x40,0xCA,0xF0,0x8D,0xE2,0x5B,0xE2,0x75,0xE8,0x91,0x96,0x96,0xF6,0x81,\r
+0xE8,0x2C,0x89,0x19,0xA5,0x65,0xC9,0x3F,0x4B,0x72,0xA8,0xB9,0x88,0xBF,0xFE,0x92,\r
+0x48,0x93,0xCB,0xF8,0x9A,0xD4,0x9D,0x0D,0xBB,0x25,0x26,0x2D,0xEC,0xCF,0x9E,0xC6,\r
+0x73,0xCD,0xE5,0x59,0x99,0x80,0x1F,0xF3,0x6F,0x3C,0x15,0xBD,0x39,0xEB,0xC1,0xA0,\r
+0x95,0x55,0x3B,0xC6,0x97,0x85,0x42,0x3A,0x90,0x92,0xE9,0x0F,0x22,0x9F,0xC7,0x7A,\r
+0x06,0x06,0xE8,0x0E,0xD2,0x2B,0xD8,0x85,0x7E,0x29,0x24,0x89,0xA3,0x39,0x9B,0xE2,\r
+0x7F,0xC2,0x14,0xF5,0x80,0xAF,0x23,0xD4,0x23,0x2B,0xD2,0xFE,0x53,0x8D,0x7F,0x66,\r
+0x11,0xA5,0x8F,0x22,0x1C,0x63,0x7F,0xCC,0xA3,0xBD,0x7E,0xE5,0x4F,0xA8,0xB2,0xD1,\r
+0xA7,0xE4,0x6F,0xF9,0x94,0xD1,0xC0,0xC4,0x5B,0xC3,0xEE,0x62,0x66,0x22,0x12,0x05,\r
+0x31,0x57,0x37,0x03,0xE5,0x84,0xA5,0xA4,0x93,0x10,0xBD,0xF1,0xD8,0x87,0x81,0x3B,\r
+0x8E,0xF9,0xAD,0x46,0x39,0xA9,0x95,0x27,0xBA,0x81,0x51,0xC2,0x27,0xC2,0xC9,0xB3,\r
+0x4A,0xAE,0xC4,0xF2,0x35,0x8F,0xEE,0xFF,0xF7,0x32,0xE1,0x6E,0xFA,0x46,0xF1,0xB4,\r
+0xF2,0xDD,0xDA,0x8F,0x6B,0x2D,0x6E,0x76,0x3D,0xC7,0x91,0xEC,0x30,0xAC,0xD4,0x5F,\r
+0xC7,0xB1,0x0A,0x88,0xD7,0x64,0x2E,0xA1,0x00,0xB5,0x03,0xCF,0x40,0x59,0x1E,0xDD,\r
+0x32,0x37,0xFD,0x1F,0xB4,0x54,0xDC,0x0B,0x38,0x31,0xDE,0xC8,0x09,0x19,0xA2,0x0A,\r
+0x83,0xAB,0x99,0xFC,0xD0,0x08,0xFE,0x94,0x15,0xF2,0x0A,0x30,0xB8,0x4D,0x9D,0x38,\r
+0x3E,0x38,0x0C,0xB3,0x8C,0x89,0x58,0x0C,0xFD,0x3D,0xDC,0x6C,0xA6,0x64,0x95,0x2B,\r
+0xC5,0x8C,0x05,0x82,0x4F,0x90,0x20,0x72,0xB8,0xA7,0x72,0xD3,0x9B,0x6B,0x9F,0x29,\r
+0x7B,0x7F,0x5A,0xD1,0x5C,0x82,0x13,0x57,0xE8,0x7A,0xD5,0x93,0xEF,0x24,0x29,0xFC,\r
+0x45,0xC1,0xFF,0x42,0xC5,0x01,0xB9,0x6B,0x73,0xF6,0x75,0xBE,0x05,0x03,0xB9,0x3C,\r
+0xA8,0x8B,0x54,0x49,0x71,0x56,0xD0,0xAF,0x6A,0xCA,0x5A,0x99,0x1F,0x90,0xCD,0x78,\r
+0xD7,0xCF,0xE9,0x9C,0x4D,0xB3,0x06,0x63,0xFA,0xED,0xB0,0x59,0xA4,0x68,0x50,0x8F,\r
+0x96,0x35,0xF1,0xDA,0x48,0xFC,0xF0,0x47,0xA0,0x3F,0x2A,0x1B,0xCE,0x0E,0xEE,0x49,\r
+0x25,0x94,0x9A,0x33,0xD9,0x61,0x73,0x68,0x4E,0x84,0xE7,0x9D,0x74,0x11,0x01,0x20,\r
+0x23,0x14,0xDB,0x1D,0x58,0xBA,0x41,0x9C,0xEA,0x5C,0xF6,0x82,0x48,0xF9,0x79,0xBC,\r
+0x17,0x25,0xCE,0x0C,0x51,0xD3,0xCC,0x60,0x8B,0x88,0xE5,0x39,0x12,0x6D,0xA4,0xD0,\r
+0x01,0xDB,0x6C,0x36,0x62,0x44,0xE3,0x8A,0x69,0x48,0x0E,0x67,0xF2,0xE6,0x96,0xD5,\r
+0xCB,0xBE,0xFB,0x24,0x31,0xB7,0xBC,0x34,0x61,0x61,0x10,0x74,0x3A,0x00,0x76,0x9A,\r
+0xB0,0x47,0x08,0xD5,0x05,0x4C,0x43,0xEB,0xAA,0x30,0x17,0x19,0x41,0xBE,0x6C,0x43,\r
+0xA9,0xD6,0x91,0x5F,0xBE,0x69,0xD3,0x09,0xAE,0x62,0x2F,0xD2,0x98,0x80,0x28,0x13,\r
+0x37,0xD7,0x76,0x2D,0x0F,0x71,0x4C,0xE9,0x07,0x65,0x6F,0xFA,0x2E,0x85,0xDC,0x4C,\r
+0xE1,0xC3,0xF3,0x87,0xFB,0xC7,0x49,0xB6,0x98,0xBB,0xF7,0x1C,0x28,0x33,0x65,0xBF,\r
+0xC3,0x0C,0x44,0xAC,0xCB,0x04,0xE4,0xA2,0x7B,0xDF,0x6B,0xAD,0x1A,0xCD,0xC3,0xB1,\r
+0xD9,0xFD,0x17,0x3A,0x3C,0xE6,0x63,0x03,0xE6,0x27,0xD0,0x5A,0xF5,0xB7,0x5D,0xB8,\r
+0x77,0x70,0xAB,0x7D,0x44,0xDA,0x8B,0x9F,0x68,0xEC,0x79,0x88,0x32,0xA0,0x11,0xFB,\r
+0x50,0x5F,0x97,0x64,0xEF,0xB9,0xAA,0xA6,0x06,0xC1,0x18,0x15,0x02,0x52,0x72,0x51,\r
+0x18,0x4A,0xF5,0xBC,0x02,0x20,0x93,0xDE,0xDB,0x55,0x42,0x79,0x60,0x94,0xAB,0xF6,\r
+0xD6,0x92,0x2C,0x8A,0xA9,0x43,0xB2,0xE7,0x78,0x5D,0x3F,0x53,0x11,0x86,0x13,0xEA,\r
+0x70,0xAD,0x2F,0x45,0xD8,0x16,0xD7,0x87,0xE9,0xDE,0xA2,0x7C,0xC0,0x18,0x30,0xDB,\r
+0x64,0x6E,0x82,0x75,0x55,0xEB,0x9E,0xAB,0x41,0x7D,0x95,0xBB,0x4E,0x4F,0xC0,0x4F,\r
+0xFD,0xB2,0xE1,0x3F,0x2C,0xA0,0xD2,0xD8,0xED,0x8C,0x9A,0xB7,0x29,0xD4,0x17,0x21,\r
+0x80,0xCB,0x53,0xE0,0x14,0x7D,0x56,0xDF,0x53,0xEA,0xF0,0x71,0x1E,0x77,0xBF,0xE6,\r
+0x12,0xC5,0x45,0x3E,0x8D,0xFE,0xFC,0xE3,0xAF,0xC6,0x58,0x3D,0x23,0x78,0xB5,0xE4,\r
+0xCE,0x5E,0x70,0x16,0x0A,0x3E,0xBA,0xCD,0x25,0x5F,0xC9,0x24,0xED,0x28,0xEC,0x58,\r
+0xF5,0x00,0x5E,0xB7,0x2E,0x83,0xF4,0xC9,0xF3,0x60,0xD9,0xA5,0x76,0x1D,0xC4,0x84,\r
+0xDC,0x1D,0x9C,0x08,0x3B,0x8A,0xB3,0x36,0x56,0x1C,0xBF,0x55,0x13,0x8A,0xD6,0x4E,\r
+0x33,0x6A,0x38,0x09,0x60,0x67,0xC5,0x9B,0xD3,0x7C,0x5C,0x6A,0x9F,0xD1,0xE3,0x7E,\r
+0xAA,0xB6,0x5B,0x43,0x4C,0xC4,0xA2,0x8C,0xCC,0x34,0x68,0x97,0xF3,0x01,0xE4,0x4B,\r
+0xC0,0x6C,0x8E,0xB0,0x85,0xE0,0xD5,0xF0,0x2B,0x02,0xCC,0xED,0x7C,0xB1,0x66,0x41,\r
+0x40,0xE0,0xB0,0x2A,0xE6,0x1A,0x59,0x67,0x61,0xBB,0xBB,0x90,0x0C,0xA7,0x44,0x5D,\r
+0xF6,0x35,0xC4,0x65,0x3B,0x5A,0xFE,0x37,0x52,0xA9,0x9E,0x83,0xB2,0x54,0x1B,0x0E,\r
+0x66,0xF5,0x2E,0x42,0xB7,0x77,0x5E,0xAC,0xF8,0x2A,0xA2,0x1A,0x8C,0xEA,0xBE,0x9D,\r
+0x12,0xB1,0x34,0xD1,0x8B,0x50,0x71,0xB5,0x91,0x7D,0x66,0xAE,0x61,0xA0,0x15,0x96,\r
+0x8F,0x46,0x8F,0x29,0xAC,0x90,0x9B,0x25,0x47,0x98,0xAA,0x92,0x1E,0xE4,0xA8,0x43,\r
+0x31,0x80,0xE5,0x4F,0x7E,0xD2,0x01,0x7F,0xB1,0xD7,0x8E,0x97,0x5F,0x1E,0xB0,0x05,\r
+0xDE,0xE9,0x5F,0x50,0xC5,0x54,0xCC,0x91,0x32,0x4A,0xA1,0x06,0xEC,0xBF,0xDB,0xEC,\r
+0xA6,0x75,0x63,0xB8,0x1D,0x4B,0xDD,0x35,0x00,0x91,0x55,0x87,0xEA,0x3F,0x9A,0xC2,\r
+0x7B,0x19,0x39,0x2C,0xC9,0xF0,0xCE,0x54,0x8D,0xF8,0xA9,0x8E,0xDE,0x0E,0x8F,0xD3,\r
+0x49,0x1C,0xD9,0xA7,0x09,0xAE,0x25,0xB6,0xA2,0x6F,0x43,0xBD,0xC8,0xF0,0x2D,0xE9,\r
+0xA9,0x53,0x11,0x41,0x20,0xBD,0x3B,0xBE,0xFD,0x9C,0xFD,0xEE,0x02,0x95,0xBA,0xFB,\r
+0xB3,0x8A,0x6A,0xFF,0x71,0xD0,0x3C,0x75,0x02,0x67,0x22,0xDA,0x79,0x6C,0x49,0x0A,\r
+0xF7,0xDA,0xB3,0xC1,0x23,0x1B,0x04,0x71,0x92,0x42,0xC0,0x61,0x60,0xFD,0xD0,0x80,\r
+0x03,0x85,0x05,0xC4,0x24,0x33,0x44,0xD8,0x0D,0x5A,0x20,0xD0,0xFE,0xFC,0x37,0xF2,\r
+0xBA,0x76,0x03,0x72,0xFA,0xD5,0xDC,0x47,0x08,0xEC,0x7F,0x24,0x28,0xE8,0xB2,0x58,\r
+0x1C,0x78,0x31,0x8C,0x9E,0x64,0x40,0xA4,0xA5,0x2F,0x6B,0x14,0x0A,0x27,0x05,0x73,\r
+0x82,0x71,0xDE,0xF6,0x66,0x93,0xFB,0x39,0x22,0xCD,0xCA,0xE3,0x10,0xD6,0x56,0xE5,\r
+0xCE,0x32,0x19,0xE1,0xAD,0x41,0x52,0xB7,0xCA,0xF1,0x56,0x9B,0xBE,0x5B,0xEA,0xA2,\r
+0xAD,0x98,0x29,0x13,0x80,0xDC,0x33,0xD9,0xEB,0x92,0x6F,0x30,0x99,0x74,0xD6,0xBB,\r
+0x74,0x3F,0x4B,0xD5,0x14,0xB0,0x69,0x04,0xD2,0x0B,0x17,0xDD,0xD1,0x61,0xB4,0x63,\r
+0xCC,0x23,0x3A,0xC7,0x1C,0x9A,0x14,0xA7,0xF3,0x68,0x2E,0x76,0x1F,0xB9,0x6D,0x55,\r
+0xEF,0x12,0xEB,0x59,0x9F,0xB5,0x89,0x36,0x96,0x3D,0x4E,0x07,0xB9,0x86,0x6E,0x9A,\r
+0x1F,0x86,0x65,0x0E,0x3C,0x72,0xBE,0x9E,0xDF,0xC0,0x62,0x8A,0xAD,0x45,0xC3,0xAA,\r
+0xC8,0xE8,0x02,0x95,0xCD,0x7E,0xB1,0x32,0x93,0x8B,0x11,0xF3,0x34,0x99,0xA0,0xE0,\r
+0x60,0x2F,0x35,0x36,0xAB,0xB8,0xDB,0x8C,0x17,0x56,0x16,0xCB,0x49,0xE0,0x12,0x3F,\r
+0x6A,0x2D,0x08,0x39,0x87,0xF4,0x73,0x70,0xBD,0xD5,0x2A,0x52,0xDB,0xEE,0x04,0xE1,\r
+0x33,0x91,0xC6,0x69,0x1E,0xED,0xE2,0xFA,0xFB,0x15,0x04,0xD5,0x07,0x75,0x31,0xC9,\r
+0x1B,0x4D,0x5D,0x5C,0x21,0x6C,0xF2,0x2C,0xB5,0xA8,0x00,0xF1,0x3C,0x2B,0x1F,0x68,\r
+0x09,0x87,0x38,0xCB,0x5D,0x9C,0x94,0x89,0xF2,0xA1,0xFF,0xE4,0x15,0x36,0xDD,0xD7,\r
+0x3C,0xB7,0xB4,0x90,0x3D,0xA3,0x77,0x0C,0x84,0x4C,0x52,0xBF,0xFA,0x41,0x79,0xD6,\r
+0x3B,0x82,0xD8,0x40,0x75,0x5E,0x43,0x13,0xE3,0xEF,0x45,0x93,0x63,0x9D,0x1A,0x9C,\r
+0xB9,0x88,0x57,0xF0,0x43,0x24,0xE7,0xF4,0x94,0xCB,0x39,0x5A,0x09,0x47,0xCF,0x6F,\r
+0x85,0x44,0xB2,0x26,0x3F,0xD4,0x81,0x51,0xF5,0xE1,0xD7,0x4D,0x95,0x7B,0x27,0x17,\r
+0x6E,0xE6,0x30,0x6B,0x57,0xC1,0x1F,0x77,0x67,0x32,0x42,0xAB,0xCE,0x70,0x6C,0xC7,\r
+0x72,0xE5,0x50,0xA1,0xC2,0x7C,0x8C,0x38,0x28,0x46,0x97,0x1D,0xC7,0x9F,0x16,0x59,\r
+0xE8,0x27,0x87,0x89,0x4A,0xDF,0x53,0xC5,0xF9,0xE3,0x73,0x88,0xDD,0x6E,0x45,0xCF,\r
+0xD2,0x31,0x79,0x2B,0xEE,0x30,0x24,0xC4,0x54,0x20,0x67,0xB8,0xD9,0xD3,0x0B,0xEB,\r
+0x8D,0x57,0xAC,0x0F,0x4E,0x51,0x2C,0xA3,0x9C,0xB6,0x13,0xF9,0x65,0x1D,0x5B,0xB2,\r
+0x78,0xE7,0x6D,0xAE,0x3A,0x8B,0x37,0xA5,0x7B,0xB7,0x8D,0x8B,0x3D,0x76,0xDA,0x7E,\r
+0x02,0x6A,0x72,0x60,0xB6,0xA6,0x97,0x3E,0x38,0xC1,0xFC,0xF8,0xD3,0x5C,0xBB,0x69,\r
+0x5C,0xE3,0xD0,0xE0,0x4C,0x26,0xDA,0xFE,0x06,0x18,0xAC,0xBC,0x3E,0x16,0x10,0x62,\r
+0x5B,0xD6,0xBC,0x30,0xE5,0xBC,0x66,0xA8,0x7F,0xC8,0x03,0xED,0x89,0x0A,0x35,0xAF,\r
+0x10,0xA0,0x17,0xF7,0xA6,0xCD,0x10,0xDB,0x53,0x60,0x4F,0x11,0xB4,0xD4,0x5A,0x20,\r
+0x01,0x94,0x26,0xE2,0x97,0x9F,0xF4,0x95,0xE8,0xAD,0xC9,0xFF,0xE1,0xED,0xEF,0x56,\r
+0xF5,0xCB,0x90,0xE7,0x98,0x9D,0xC9,0x9F,0xB9,0xAA,0xA4,0x34,0x9B,0x49,0xD9,0xB1,\r
+0x98,0xA8,0xA5,0x48,0x77,0x29,0xB5,0x4E,0x11,0xDF,0xEF,0xF0,0x08,0x1A,0x0A,0x79,\r
+0x2B,0x59,0x9E,0xF1,0x46,0x7B,0x51,0x00,0x74,0x8A,0x8F,0x81,0xEB,0x62,0x5F,0xD4,\r
+0x29,0x48,0xBD,0xD7,0x34,0x58,0xC3,0x3D,0xA3,0xA6,0x92,0x2F,0x84,0x58,0x01,0x15,\r
+0x21,0x5B,0xA3,0xFE,0x33,0x70,0x83,0x94,0x88,0x4E,0xF6,0x7A,0x21,0x07,0xC8,0xC6,\r
+0x41,0x0F,0xC7,0x8E,0x64,0xE4,0x0D,0x64,0xDC,0xFF,0xC4,0x45,0x81,0xB8,0x8A,0x27,\r
+0x1E,0x69,0x12,0xAA,0x7D,0x74,0x3E,0xB0,0x5E,0xAB,0x3A,0x46,0xBA,0xE6,0xA4,0x86,\r
+0x18,0xB3,0x09,0xDE,0xD3,0xC6,0xC2,0x4F,0x03,0xAE,0xF3,0x48,0x5C,0x7E,0x7A,0x19,\r
+0x44,0x2B,0x88,0x78,0x68,0x40,0x0F,0xA1,0x99,0x00,0x4C,0x0D,0xCF,0x2D,0xA9,0xD1,\r
+0xA0,0xAF,0x78,0xCC,0x6A,0x37,0xF9,0xFC,0x62,0x84,0x1D,0x5F,0xB6,0xE9,0x55,0x2A,\r
+0x6D,0x18,0x64,0xE9,0xFC,0x2C,0x55,0x7C,0x3E,0x48,0x05,0xC3,0xD8,0x8E,0xCE,0xFD,\r
+0xCD,0xCC,0x4D,0x63,0x82,0xAB,0xC5,0x84,0x81,0xFA,0x0D,0x4B,0x6E,0xCF,0x2E,0x26,\r
+0x5E,0xF2,0xF3,0xC6,0x51,0x38,0x96,0x4C,0xE4,0xAF,0x6D,0x3A,0xF8,0x7C,0x76,0xDC,\r
+0x16,0x7A,0x0C,0x83,0xC0,0x0B,0x7A,0x65,0xD4,0x82,0xEE,0xE6,0x47,0xD2,0xEC,0x99,\r
+0x2E,0x7D,0xD1,0x07,0x73,0xA7,0xCA,0x28,0xAF,0xA4,0x36,0xEA,0x83,0x85,0x85,0x2D,\r
+0x0B,0x96,0x1B,0xED,0x86,0x25,0xBA,0xE2,0x2F,0x06,0xBF,0xB4,0x3B,0xF6,0x9B,0x50,\r
+0xC1,0x14,0x6B,0x18,0xF4,0x06,0x28,0xDF,0x6F,0x4F,0x68,0x08,0x0E,0x9A,0x4B,0x57,\r
+0x7D,0xC3,0x22,0x58,0x70,0x01,0xF5,0xE7,0x9D,0x7F,0xC2,0x6B,0xFB,0x1C,0xBC,0xC0,\r
+0x42,0xF1,0x93,0x0C,0xB3,0xF9,0x21,0xCA,0xBF,0x23,0x5D,0x0F,0x4A,0x80,0xD8,0x23,\r
+0x4A,0xE2,0x8D,0x25,0x7C,0xA5,0xF7,0x22,0x19,0xA2,0xC5,0x53,0xF7,0x13,0x4D,0x6C,\r
+0x47,0x17,0x4B,0x59,0xE9,0x5A,0xE7,0xF4,0xF9,0x66,0x8C,0xCB,0xB9,0x56,0x75,0x90,\r
+0x71,0xF0,0x31,0xFD,0x66,0xD8,0xED,0x44,0x23,0x0C,0x7F,0x1E,0x70,0x2A,0x51,0xE7,\r
+0x39,0xEF,0xCC,0xC9,0x0A,0xDF,0xD8,0x94,0xFF,0x95,0x35,0x7D,0x5C,0x3D,0xF2,0x80,\r
+0x59,0x6A,0xF3,0x2A,0x86,0xEA,0xE8,0xCF,0x88,0x7A,0x34,0xD9,0x07,0x90,0x1F,0xF6,\r
+0x25,0xCF,0x03,0x4C,0xE3,0xF8,0x22,0x58,0x95,0x53,0x8B,0x1B,0x12,0x6F,0x16,0xB1,\r
+0x1A,0x19,0x82,0x5C,0x78,0xD0,0xFE,0x6D,0xCB,0x68,0x2A,0x35,0x36,0x6B,0xAB,0xFF,\r
+0x83,0x93,0x9B,0xCD,0xB6,0x89,0x42,0x3D,0x50,0xB4,0x02,0x00,0xB1,0x45,0x6B,0xB9,\r
+0xAF,0x6F,0xD7,0x65,0x8B,0x83,0x40,0x32,0x5E,0x26,0xDC,0x16,0x28,0x79,0xE8,0x13,\r
+0xC9,0xD1,0x11,0x0F,0xBC,0x2B,0x87,0x91,0x27,0x5B,0x03,0xA4,0x10,0x7E,0x35,0x97,\r
+0x38,0x7D,0x1D,0x00,0xDB,0xFC,0xE9,0x0A,0xFB,0xC2,0x49,0xC7,0x69,0x0D,0x7E,0xDB,\r
+0x9B,0xD5,0xDA,0x37,0x55,0x0C,0x7D,0x5D,0x38,0xD6,0x79,0x6A,0xE4,0x21,0x83,0x92,\r
+0x18,0x44,0xF5,0xAA,0x84,0x2F,0x4C,0xC3,0x07,0x70,0xB6,0x69,0x95,0x41,0xD6,0xF7,\r
+0x10,0xE7,0xDF,0xD7,0xF5,0x97,0x50,0xD1,0xDF,0xBE,0x80,0xB0,0x3E,0x78,0xB5,0xD6,\r
+0x84,0x3A,0xB3,0x8D,0x97,0x4E,0xF7,0x17,0xCA,0xF6,0x58,0xD2,0xD3,0x00,0x2C,0xEF,\r
+0xA9,0x54,0x2E,0xEC,0xA7,0x2D,0x5D,0xE5,0xE5,0xD1,0x41,0xEE,0x78,0x39,0x4F,0xCE,\r
+0x62,0xDA,0xFC,0x45,0x60,0x61,0x1E,0xF2,0x68,0x7F,0x06,0x52,0x00,0xA5,0x73,0x26,\r
+0x9A,0x47,0x0B,0xFE,0x8F,0xFF,0x17,0x88,0x99,0x65,0x90,0x01,0xF7,0x04,0x91,0xA1,\r
+0xFE,0xA4,0xBA,0x62,0xBD,0x59,0x19,0x76,0x56,0x47,0xBB,0xB6,0xC7,0x10,0x52,0x0C,\r
+0x20,0x3B,0x5C,0xFA,0xBB,0xE0,0xEA,0xC0,0x42,0x91,0x11,0x33,0x33,0x4F,0xE4,0x09,\r
+0x27,0x92,0x74,0xBA,0x0D,0x14,0xB5,0xC5,0x43,0x0F,0x63,0xD4,0x82,0xAF,0xFC,0x96,\r
+0x75,0x96,0xBF,0x82,0xD4,0x50,0xE5,0xFB,0xD2,0x16,0xE9,0x4D,0x39,0x4D,0xD9,0x06,\r
+0x24,0x5D,0xD2,0x85,0xAF,0x4A,0x3C,0x45,0x2B,0x6D,0x18,0xBE,0x0D,0x92,0x22,0xF9,\r
+0x0D,0x55,0xC1,0x9B,0x67,0xAA,0x73,0xA3,0x4E,0xA7,0x0A,0x29,0x5E,0x2C,0xD1,0xA6,\r
+0xCD,0xB7,0x9F,0x70,0x87,0x98,0x76,0x28,0xB0,0xB1,0x30,0x8B,0x6D,0xC6,0x46,0x89,\r
+0x19,0xD6,0x24,0x63,0xDD,0x45,0x1A,0xBC,0x81,0x85,0x21,0x9E,0x64,0x3A,0x2F,0x04,\r
+0xC1,0x72,0x3B,0x72,0xE1,0x3D,0x86,0x54,0x01,0x83,0x0F,0xDF,0xE5,0xCE,0xF4,0x36,\r
+0x7A,0x9C,0xBD,0xBF,0x5B,0xD2,0xEF,0x4B,0xA0,0x30,0xE6,0xB4,0x74,0xE1,0x69,0xB5,\r
+0xA8,0xC6,0xFF,0x25,0x31,0x6C,0x29,0x2D,0x5A,0x71,0xA0,0xAC,0x71,0xC5,0x26,0x43,\r
+0x8F,0x56,0x3F,0xCF,0x8A,0xF1,0xDE,0xD5,0x1E,0x0E,0x75,0x11,0x4D,0x09,0xC3,0x95,\r
+0xB3,0x4F,0x18,0xE0,0x90,0x85,0x9A,0x46,0x54,0xE3,0x7E,0xBA,0xF9,0xCD,0x94,0xFC,\r
+0x3F,0xD4,0x35,0x40,0x7A,0x15,0x5A,0x61,0xEA,0xDD,0xED,0x1F,0x60,0xF1,0x17,0x56,\r
+0xE2,0x84,0x75,0xE7,0x0E,0xA3,0x8F,0x2E,0x19,0x63,0xBE,0x40,0x73,0xD4,0x05,0x65,\r
+0x78,0xC1,0xCA,0x49,0x33,0xA9,0x8D,0x21,0xAD,0x98,0x8F,0x49,0xB0,0xAA,0x1C,0x1D,\r
+0xB7,0x29,0x96,0x9F,0x2D,0xA1,0x9E,0x08,0x3E,0x25,0xC0,0xDC,0xEC,0x32,0x9D,0xBB,\r
+0x74,0x04,0x6E,0x4B,0x9C,0x9E,0xAC,0x5C,0xA2,0x94,0x23,0xB8,0x88,0xAD,0xC1,0x99,\r
+0xF0,0x3C,0x69,0x96,0xD5,0x22,0x7B,0x1C,0x24,0x61,0xB4,0x4F,0xEB,0x07,0xF1,0x6B,\r
+0x82,0x01,0x4A,0x04,0xA5,0xE8,0xF9,0xE9,0x48,0x54,0xB3,0x9F,0x57,0xD0,0xB8,0x2B,\r
+0x77,0xCB,0xC8,0x74,0x6F,0xCD,0x12,0x03,0x3B,0xEC,0xCE,0x81,0x09,0x59,0x1A,0xAB,\r
+0xC4,0x86,0x64,0xC4,0xB2,0xF5,0x15,0x87,0x6C,0x28,0x7A,0xE8,0x05,0x81,0x3C,0xD0,\r
+0x55,0xAF,0x57,0x28,0x4D,0xBD,0x9D,0xC2,0xC2,0x97,0x3F,0x72,0xD9,0x02,0x11,0xE0,\r
+0x86,0x67,0xC4,0x7B,0xF3,0x2E,0xA3,0x67,0x71,0x01,0xC5,0x2A,0xA8,0x62,0x44,0x85,\r
+0xF8,0x9F,0x43,0xEB,0xDA,0x8E,0x77,0xED,0x30,0xB7,0x1E,0xCA,0x20,0x6A,0xF6,0x3A,\r
+0x6E,0x1F,0x58,0x47,0xC6,0x43,0xC0,0xC8,0x57,0xD9,0xC9,0x51,0xBC,0x72,0x3A,0x66,\r
+0x6C,0x42,0x2F,0xB1,0x36,0xA7,0x44,0x7C,0x93,0xA0,0x32,0xAD,0xEE,0x23,0xBE,0x9D,\r
+0xD7,0xAC,0xA9,0x7C,0xB7,0xFB,0xDC,0xDA,0xC0,0x33,0xFA,0x7E,0xAB,0x9C,0x10,0x07,\r
+0x79,0x53,0x1B,0x80,0xAC,0xFD,0x06,0xAE,0x58,0xD5,0x65,0xA0,0xA5,0x55,0x15,0x5A,\r
+0x60,0x87,0x8B,0xB3,0x79,0xA2,0x60,0x8A,0x06,0xEE,0xC4,0x8E,0xA6,0xAB,0x41,0xD8,\r
+0x37,0x77,0x1F,0x3D,0x1D,0xC2,0x34,0xFA,0xB9,0x4E,0x25,0xCC,0x99,0x99,0xF0,0x8C,\r
+0x30,0xDE,0x37,0x7D,0x03,0xCA,0x27,0xD3,0xE6,0xEB,0xF6,0x05,0xCC,0xFD,0x18,0xA7,\r
+0x42,0xE3,0x14,0xEF,0x20,0xC8,0x36,0xF5,0xDC,0x84,0x37,0x5B,0x62,0xE0,0x34,0x70,\r
+0x73,0xAD,0x46,0x0B,0x1B,0x7B,0xC7,0x4C,0xA4,0x67,0x9A,0x0E,0x13,0x80,0x61,0x15,\r
+0x9C,0x7C,0xF2,0x77,0x2E,0x16,0xA4,0xE3,0xF7,0xF4,0x52,0xDD,0xD7,0xCB,0x14,0xBD,\r
+0x93,0x76,0xF0,0x4A,0x98,0xE2,0xFB,0xE6,0x53,0x8E,0xB5,0xEB,0x1C,0xA6,0x13,0xEC,\r
+0xA2,0x38,0xA2,0xAE,0xA9,0xF3,0xCF,0xF3,0x6A,0xDB,0xC3,0x5E,0xF2,0x20,0xDE,0x57,\r
+0xE1,0x4B,0xD3,0xD8,0x02,0xB8,0xB9,0x34,0xB4,0xE6,0x4C,0x31,0x0E,0x6C,0x76,0x7B,\r
+0x48,0x1D,0x49,0x64,0x6E,0xBF,0x8C,0xE4,0xA8,0x51,0x81,0x14,0x5F,0xC3,0xA6,0x02,\r
+0xB2,0xDD,0xC9,0x29,0xCC,0xE1,0x05,0x64,0xE2,0xBC,0x8A,0xBF,0x1B,0x93,0x7F,0x3C,\r
+0x3E,0x46,0xE4,0x89,0xD3,0x9B,0x88,0xAA,0xC8,0x52,0x9D,0xDE,0x68,0xE2,0x09,0x7F,\r
+0x4A,0x40,0x3E,0x92,0x12,0x6E,0x38,0x0B,0xA3,0x0A,0x51,0x5F,0x1A,0x7C,0x08,0x98,\r
+0xEA,0x27,0x5F,0x9A,0xC7,0x31,0x5E,0x2F,0x6D,0xB6,0x08,0x0F,0x5B,0x08,0x9E,0x50,\r
+0x4E,0x26,0xB0,0xED,0x39,0x0B,0x48,0x8D,0xD0,0xB2,0x2C,0x41,0x6B,0x1C,0x5D,0xFD,\r
+0xC6,0xDB,0x13,0x32,0xEE,0x91,0x8A,0xA5,0x21,0xA8,0xBA,0x12,0xFE,0xF8,0xF8,0x2C,\r
+0x53,0x94,0xAE,0xA1,0x8E,0x8D,0x89,0x6F,0xCE,0xA1,0x24,0x68,0x48,0x2D,0x8C,0x63,\r
+0x3B,0xB2,0xBB,0x3F,0x0C,0x66,0x2B,0x22,0xC5,0xFA,0xF4,0x23,0xAE,0xB8,0x5F,0xF1,\r
+0x1E,0xBC,0x48,0xCC,0x2E,0x7D,0xFF,0x98,0x9F,0xB9,0xA6,0x88,0x06,0x06,0xDD,0x69,\r
+0xEA,0xE3,0xFE,0xC9,0x29,0x55,0xBF,0x31,0x00,0xA1,0x46,0x39,0x98,0x07,0x3A,0x1B,\r
+0x53,0x10,0xF8,0x7F,0xF7,0xB3,0x27,0xAE,0x05,0x17,0x19,0xCD,0x4E,0x13,0xBF,0xB1,\r
+0xF5,0x1E,0xCA,0x81,0x93,0x02,0xBB,0x4D,0xA8,0xD4,0x0D,0xFD,0x6C,0xDC,0x08,0x9A,\r
+0x92,0x7F,0xC2,0x21,0xC4,0x96,0x35,0xBD,0x80,0x03,0xCF,0x67,0xB8,0xF5,0x82,0x3A,\r
+0xA0,0x7A,0x22,0xAA,0x04,0xC8,0xDE,0x5F,0xAF,0x94,0x25,0x54,0xAE,0x0B,0x20,0x00,\r
+0x40,0x35,0xEA,0x4C,0x2D,0xDB,0xC0,0x57,0xF0,0x67,0x9B,0x07,0x64,0x6E,0xB7,0x12,\r
+0x5A,0xEC,0x91,0xF2,0x7C,0xB6,0xC7,0x9C,0x0F,0x9C,0x44,0x33,0x1F,0x97,0x44,0xE3,\r
+0x66,0x20,0x74,0x24,0xA1,0xF6,0x60,0xCC,0x4A,0x63,0xCC,0x7B,0x78,0x1F,0xA5,0xAA,\r
+0xD8,0xE6,0x1E,0x42,0x73,0xB4,0xFA,0x96,0xBC,0x2C,0xE8,0x7E,0x39,0xE5,0xBD,0xEC,\r
+0x37,0x8F,0xA4,0x5D,0xC8,0x32,0x37,0x78,0x3F,0xB1,0xC7,0xEF,0x8A,0x44,0xD6,0x05,\r
+0x4F,0x13,0x98,0xB5,0x10,0x2D,0x26,0xDC,0x0D,0x6A,0x33,0x6E,0x8C,0xC4,0x97,0x2B,\r
+0xA9,0x86,0x4B,0x27,0xEB,0x7C,0xA2,0x8E,0x6C,0x40,0xDD,0x79,0x6A,0x5C,0x49,0xB4,\r
+0x1F,0x53,0x3F,0x68,0x36,0x3C,0x05,0xDE,0x5F,0x52,0xF8,0x6A,0xD4,0xAF,0x16,0xE7,\r
+0x8F,0x93,0xD5,0x4F,0xBA,0x11,0xA5,0x45,0xF5,0xD1,0xC4,0xF3,0xEA,0x11,0xB3,0x74,\r
+0xFB,0xD7,0xCF,0xDC,0x86,0x36,0x8A,0x5C,0x9C,0x86,0x00,0x47,0x07,0x5B,0x18,0x7F,\r
+0xE0,0xE1,0xC3,0xC6,0x50,0xFA,0x6F,0x60,0xFF,0x5A,0x99,0x0D,0x73,0xCD,0xD0,0x3E,\r
+0xD5,0xD1,0x4F,0x9D,0x30,0xC5,0x8C,0xE5,0x89,0xB7,0x34,0x56,0x9C,0xBA,0x74,0x3F,\r
+0xD2,0xE4,0x23,0x4D,0x78,0x38,0xB8,0xFA,0xEE,0x14,0x23,0x7A,0x05,0x66,0x17,0x75,\r
+0x50,0xEE,0xAC,0xFD,0x4E,0x42,0x1C,0x1D,0x99,0x30,0x5F,0xB3,0x6F,0xBC,0xC2,0x86,\r
+0x89,0x49,0xCE,0x3B,0xA6,0xDE,0x20,0x65,0x1A,0xAD,0x70,0x22,0x2F,0x1B,0x1F,0xD6,\r
+0x83,0x4B,0xF3,0x34,0x8A,0x92,0x88,0x99,0xB0,0x2E,0x4C,0xBB,0xBD,0x15,0x09,0x08,\r
+0xDA,0xF7,0x3D,0x64,0x13,0x8B,0x19,0x13,0xF6,0xEE,0x62,0x3C,0x61,0x8E,0x3C,0x20,\r
+0xF2,0x2B,0xA6,0x51,0x2C,0x0A,0x09,0xC5,0xB8,0x53,0x66,0x18,0x5A,0xD0,0x12,0x81,\r
+0x25,0x45,0xC1,0xCA,0x11,0xFC,0xEF,0x4E,0xFE,0x93,0x48,0x9F,0x79,0x42,0x60,0xBC,\r
+0x06,0x74,0x10,0x54,0x92,0xD3,0x72,0xDF,0x9B,0xC6,0x28,0xEE,0xDF,0x7D,0x63,0x73,\r
+0xF6,0xE0,0x9E,0x03,0x31,0x14,0x45,0x77,0xD2,0x3B,0x04,0x63,0xCB,0xBE,0xCE,0x43,\r
+0x21,0x8E,0xF9,0x98,0xC0,0x18,0x4A,0xDB,0x9E,0x70,0x77,0x1A,0x52,0x62,0xAD,0x09,\r
+0x6B,0x17,0x25,0xFB,0x6B,0xF5,0x00,0xD0,0x2F,0x36,0xAC,0x0A,0x76,0x2D,0x5B,0x0C,\r
+0x27,0x54,0xE2,0xEC,0xA0,0x27,0xA9,0x5E,0xC7,0x0A,0x30,0x72,0xD8,0xA0,0xE7,0x4B,\r
+0x44,0xFE,0xD2,0x1E,0x8D,0xBA,0xC8,0x30,0xE6,0x69,0x09,0xD9,0xFF,0x8F,0xDB,0x52,\r
+0x9D,0x59,0xB0,0xD8,0x19,0xD6,0x92,0xED,0xDF,0xF0,0x71,0x34,0xB7,0x9A,0xB9,0x8A,\r
+0x1C,0xAD,0x6B,0xEA,0x95,0xFB,0x32,0x76,0xB4,0x51,0xC2,0xDD,0xFD,0xB2,0xD4,0x58,\r
+0x71,0xCE,0x5E,0x45,0x7A,0x4F,0x4E,0xA7,0x1C,0x24,0x89,0x19,0x6E,0xE1,0x07,0x90,\r
+0xC2,0x3F,0x65,0xFC,0x4B,0x1D,0xAA,0xE9,0x79,0x71,0xE9,0x68,0x8D,0x99,0x52,0x3D,\r
+0xC0,0x2E,0x46,0xDA,0x39,0x3E,0x38,0xD4,0xAE,0x5D,0xF4,0xC6,0xE2,0xA3,0x0C,0xFC,\r
+0xB5,0x85,0x2B,0xED,0x41,0x40,0x21,0x17,0x0B,0xE3,0xCA,0x55,0x58,0xED,0x1D,0x8B,\r
+0xB2,0xB0,0x47,0x3D,0xE8,0xDA,0x9D,0x41,0x72,0x33,0x65,0x04,0xEF,0xF1,0x38,0x46,\r
+0xF9,0xC6,0xEC,0xFA,0xAB,0xAB,0xEB,0x32,0x5E,0x9B,0x29,0xF8,0xD2,0x2F,0x57,0xC9,\r
+0xE8,0xF2,0xDD,0xEF,0x9A,0xF9,0x0F,0x7C,0xE5,0x56,0xAF,0x16,0x87,0x16,0xE2,0xBF,\r
+0x3B,0x57,0x82,0x26,0xE3,0x56,0xDF,0x2D,0x59,0xDB,0x01,0x51,0xBF,0x28,0x06,0x02,\r
+0x64,0x31,0x57,0x02,0x43,0x37,0xD7,0x4A,0x91,0x4D,0x75,0x10,0x03,0xE6,0x56,0x5B,\r
+0x91,0x81,0x96,0xA3,0x37,0xED,0xCC,0x4C,0x76,0x4C,0xEB,0x62,0x5B,0x8D,0xD7,0x97,\r
+0xEB,0x0C,0x89,0x6D,0xBB,0xC0,0x6C,0xD7,0x35,0x3A,0x9A,0x11,0xB5,0xA7,0xB6,0x80,\r
+0x6C,0x22,0x49,0x2B,0x32,0xB2,0x7A,0xB8,0xF8,0x1A,0xB1,0xA4,0xF3,0x80,0x2A,0xFE,\r
+0x87,0x80,0xCB,0x66,0x5A,0xA7,0xE4,0x9E,0x6A,0xC9,0x24,0x42,0xA8,0x8B,0x61,0x2E,\r
+0x9B,0x83,0xAB,0xAC,0xCF,0x1A,0x77,0xD1,0x25,0xBD,0xF1,0xF4,0xA1,0x64,0x1B,0xB0,\r
+0x01,0x41,0x7C,0x84,0x47,0xB9,0xA8,0x2C,0xF4,0x18,0x15,0x61,0xBB,0x95,0x48,0x26,\r
+0x28,0x72,0x90,0x15,0xF9,0x60,0xD3,0x36,0x62,0xB4,0x0E,0xE1,0x68,0x61,0x46,0xBE,\r
+0x94,0xA5,0xD9,0x55,0x7D,0x67,0x0E,0x0E,0x90,0x84,0xA4,0x82,0x9D,0xE7,0xB1,0x29,\r
+0xAB,0x97,0x68,0x01,0xBE,0x9F,0xDA,0x23,0xB2,0xD8,0x3B,0xE6,0x2C,0x7B,0xD5,0xCA,\r
+0xA3,0x84,0x76,0x28,0x71,0xC3,0x0C,0xCB,0x14,0x59,0xA3,0xBA,0x91,0xE8,0x40,0x85,\r
+0xB7,0x94,0x08,0xCB,0x5C,0x5E,0x6D,0xA5,0xE9,0x54,0x0B,0xD3,0x9E,0x87,0x7B,0x35,\r
+0xFF,0x1C,0xF7,0x8E,0xCD,0x6D,0x81,0x8C,0xD9,0x79,0x88,0x0F,0x21,0x29,0xE1,0x70,\r
+0xC7,0x1B,0x2A,0x0A,0x7E,0xC1,0x31,0xC1,0xA2,0x5F,0x50,0x03,0xE5,0x7E,0x88,0xC4,\r
+0xE2,0xF0,0xE0,0xE0,0x8B,0x43,0x41,0x0B,0x22,0xFD,0xD9,0x5D,0x5D,0x0D,0x96,0xB9,\r
+0xAD,0x4D,0x73,0x75,0x65,0x26,0xF4,0x48,0x94,0xFB,0x2A,0xE4,0xA9,0xD6,0xA4,0x38,\r
+0x49,0xC9,0x83,0xC1,0x67,0x51,0x02,0x15,0x6F,0x7F,0x7B,0xB6,0xD0,0x12,0x58,0xC3,\r
+0x84,0x7E,0x9F,0xE4,0xF1,0x4A,0xAE,0x95,0x33,0xB3,0x63,0x2A,0xBE,0x75,0xC3,0x14,\r
+0x24,0xAA,0xB6,0x6E,0x8F,0xCD,0x3E,0x6D,0x8C,0x01,0x6B,0xA2,0x08,0x34,0x23,0xCF,\r
+0xC8,0x3D,0x58,0xF3,0x3E,0x16,0x78,0x7D,0x85,0xB5,0x90,0x93,0x47,0xFC,0xC5,0x2F,\r
+0xA8,0x69,0x3C,0x83,0x69,0x82,0xF6,0x8D,0xD1,0x04,0xA2,0xAC,0xE7,0x43,0x87,0xCE,\r
+0xF7,0x0F,0xE9,0xA7,0x70,0x12,0xC5,0x59,0x53,0x50,0x5C,0xAF,0xDC,0x1D,0xA9,0x6F,\r
+0xF1,0xD5,0xF2,0xD3,0xDE,0xA0,0x39,0xA6,0x0E,0x55,0x95,0xA1,0x3A,0x85,0x77,0xF0,\r
+0x91,0xD5,0x2A,0x72,0x30,0xB9,0xA6,0x9A,0x70,0x8E,0x10,0x9D,0x09,0xA9,0x5F,0xA1,\r
+0x03,0x33,0xBF,0xA1,0x3B,0x69,0xFD,0xD1,0xF2,0x2C,0xFB,0xD0,0x2F,0xBC,0xC1,0xC9,\r
+0x0F,0xF6,0x1B,0xA3,0x2E,0xB1,0xB5,0xB3,0xC7,0x4F,0x96,0x7F,0xBB,0xB7,0x13,0xBC,\r
+0xDE,0x63,0xFF,0x06,0xDF,0x27,0xAF,0xE0,0x10,0x8D,0x0C,0x57,0x46,0x14,0xCC,0x34,\r
+0x6A,0x87,0x7B,0xF6,0x5D,0xCC,0x0D,0xAD,0xEC,0x3F,0xF3,0xF9,0xDD,0x39,0x6C,0xB8,\r
+0xA2,0xC6,0x0F,0x60,0x93,0x95,0xB1,0xFD,0x39,0x59,0xAC,0xDD,0xBA,0x58,0x64,0x18,\r
+0xCE,0x86,0x94,0x81,0x1C,0x17,0xBB,0x4D,0x32,0x02,0x7C,0x96,0x40,0xCE,0xD7,0x40,\r
+0x8D,0xF5,0xE5,0xF7,0x36,0x00,0x55,0x2C,0x2D,0x8F,0x06,0x58,0xDB,0xE3,0x77,0xCC,\r
+0x89,0x93,0x6B,0x88,0x4A,0xD1,0xE1,0xC3,0xFC,0xBE,0x25,0xC6,0xD6,0xD4,0x26,0x13,\r
+0xF0,0xC2,0xC4,0x58,0x56,0x1C,0x56,0xE6,0x90,0x8B,0x22,0x16,0x80,0x4E,0x9A,0xBA,\r
+0x1E,0x81,0xA1,0xED,0xAD,0x28,0x89,0x19,0x66,0xFC,0x7F,0x14,0xEB,0xF7,0xB4,0x61,\r
+0xA5,0x6F,0x27,0x20,0x94,0x5E,0xDC,0xAC,0x57,0xC8,0x6E,0x01,0xA5,0xA5,0x50,0x50,\r
+0xE7,0x8E,0x87,0x9F,0x5A,0x07,0x60,0xFC,0xE5,0xC0,0xE6,0xBE,0x30,0x41,0xF5,0x81,\r
+0x4F,0x4A,0xCC,0xEA,0x09,0xCF,0xF3,0x2F,0xD0,0xA3,0x8B,0x11,0xE1,0xF5,0x89,0x6E,\r
+0x55,0x51,0xFA,0xE6,0x18,0x6B,0xEC,0xF7,0xFD,0x20,0x57,0x21,0x43,0x30,0x83,0xC2,\r
+0x82,0xFF,0xE7,0xCA,0x22,0xAA,0x83,0xA9,0xDE,0x31,0x55,0x07,0x7E,0x13,0x11,0xB0,\r
+0x2A,0x3B,0xAC,0xBF,0xF8,0x59,0xE9,0x7C,0x87,0x67,0x3F,0x78,0x1A,0x8C,0x4D,0x92,\r
+0x7E,0x04,0x9E,0x0E,0x47,0xB8,0x49,0x3E,0xE3,0x33,0x5F,0x08,0xEA,0x18,0xC3,0xC5,\r
+0xF5,0x36,0x9B,0xEE,0x3E,0x67,0x34,0x8C,0x49,0xDB,0x66,0x28,0x31,0xAE,0x82,0x25,\r
+0xA8,0x38,0x52,0xEB,0xA6,0xF8,0xD2,0x52,0x52,0x01,0x60,0x5C,0xCE,0x1C,0x7E,0x8B,\r
+0x94,0x21,0x75,0xC4,0xA9,0x54,0xDE,0xA3,0x38,0xC7,0xDE,0x3A,0x82,0x5F,0xB9,0x9C,\r
+0x6F,0x73,0x24,0x40,0x6D,0xAF,0xA7,0x5F,0xC8,0x43,0x3A,0x8E,0xDF,0x28,0x4F,0x9E,\r
+0x77,0x35,0x65,0xBA,0x8F,0x58,0x06,0xD8,0x0D,0xA4,0xB3,0x95,0xFA,0xC3,0x85,0x74,\r
+0xC8,0xBD,0x6D,0x08,0xCE,0x83,0xB0,0x38,0x24,0x70,0x13,0x1F,0x02,0x44,0x15,0x0A,\r
+0x22,0x98,0x86,0xC2,0x92,0xE7,0x2F,0x1A,0x4C,0x12,0x68,0x75,0x1B,0x63,0x3A,0x36,\r
+0x12,0x44,0x05,0xEF,0x3C,0xA2,0x90,0x80,0xB3,0x9A,0x20,0x30,0x32,0x50,0xD6,0xA7,\r
+0xD9,0xCA,0xD7,0x46,0xB6,0x2E,0x53,0x6D,0x5B,0xFE,0x75,0x1B,0x9C,0x4D,0xFA,0x70,\r
+0x59,0x94,0x5E,0xE4,0xC5,0x53,0xEB,0x73,0x91,0x15,0x50,0xF1,0x56,0xCF,0x8A,0x85,\r
+0x6B,0x15,0xAA,0x3F,0x5C,0xBE,0x93,0x4A,0x62,0xAB,0x03,0xAE,0x99,0x69,0xB5,0x86,\r
+0x99,0x76,0x00,0x0F,0xDA,0x29,0x66,0xBD,0x2B,0x7C,0xBF,0xEE,0xA1,0x6E,0x68,0x02,\r
+0xEF,0x2D,0xAD,0xE2,0x53,0x12,0x9F,0xBB,0xCD,0x8A,0x34,0xD3,0x5C,0xCD,0xB7,0x8A,\r
+0x49,0x71,0x35,0x63,0xC0,0x5D,0x22,0x2E,0xD3,0x99,0x3C,0xFA,0xB4,0x91,0x61,0x45,\r
+0xA4,0xFD,0xF6,0xE9,0x14,0x70,0xDA,0xED,0x84,0x5D,0x88,0x93,0x49,0x32,0xBE,0xCD,\r
+0x97,0xEE,0xD3,0xFB,0xE7,0x23,0x64,0xB2,0xF0,0x88,0x3E,0xDC,0x19,0x72,0x19,0x10,\r
+0x67,0xD0,0x0E,0x3D,0xE0,0xE8,0x09,0xE3,0x74,0xD9,0x6C,0x27,0xCB,0x38,0x31,0x7D,\r
+0x0E,0x64,0xCA,0x6A,0xAA,0xE3,0xE4,0x48,0x6E,0x9D,0x18,0xB4,0xD2,0x1F,0x1E,0x41,\r
+0x47,0xE9,0xE6,0x97,0x5E,0x7B,0x37,0x46,0xA5,0xE8,0x4F,0xB9,0x01,0xBA,0x41,0x88,\r
+0xB1,0xEC,0xC2,0xD8,0xA4,0x3D,0x76,0x5E,0xCF,0x2E,0xF1,0xDF,0x5B,0xF8,0xDB,0x5A,\r
+0xF6,0xF9,0x3D,0xD1,0x7F,0xBC,0x82,0x6C,0x23,0x1D,0xD8,0x4E,0x4B,0x23,0x9D,0xEB,\r
+0xC4,0x78,0xC9,0x0A,0xFF,0x92,0x84,0x2D,0x1F,0x81,0xA0,0xA6,0xEF,0x3C,0x8C,0x33,\r
+0x54,0xC3,0x2B,0x2F,0xB0,0x97,0xA0,0xDB,0x99,0x74,0x37,0x51,0xC8,0xC6,0x65,0xFF,\r
+0x7B,0xF0,0xC1,0xB8,0x4E,0xAD,0xB6,0x79,0x79,0x71,0x05,0xDA,0x2A,0x98,0x8E,0x3F,\r
+0xF4,0xA4,0x4A,0x27,0x2C,0x74,0x11,0xBF,0x2A,0xE2,0xCD,0x09,0x0B,0xB8,0x7C,0x87,\r
+0x0B,0x90,0x95,0xDC,0xD5,0x85,0x6A,0x4C,0x51,0x3B,0xD7,0xB7,0xC0,0xD5,0x7B,0xD6,\r
+0xFB,0xAE,0x48,0x1A,0xBC,0x8C,0x96,0xC1,0x45,0xED,0x7D,0x32,0xA6,0x5B,0x04,0xD2,\r
+0x64,0x1F,0xA8,0x02,0xBD,0xFE,0x08,0x26,0xF3,0xB2,0x89,0x37,0x0F,0x73,0x44,0xD5,\r
+0x53,0x6A,0x03,0x6F,0x67,0x0D,0x62,0xF3,0x71,0x10,0x62,0x7A,0xDA,0x0C,0x00,0x68,\r
+0xFE,0x5A,0x17,0xAC,0xA8,0x26,0x40,0x44,0x43,0x1E,0xC4,0x84,0x39,0xBD,0x9C,0x0C,\r
+0x3C,0xE5,0x3E,0xB1,0x1B,0xDC,0xD6,0x1C,0x59,0x5A,0xB0,0x17,0xC9,0x29,0x12,0x5B,\r
+0xD4,0x9D,0xA2,0x8D,0x96,0x9B,0x78,0xA0,0x9E,0x19,0xFC,0x00,0x47,0xFB,0xBB,0x90,\r
+0x24,0xA3,0x7F,0x4B,0x21,0x1D,0xB9,0x42,0x0B,0x57,0x0A,0x23,0x7A,0xD8,0x29,0xE2,\r
+0x1D,0x4E,0x07,0xD2,0x34,0xC5,0xF1,0x20,0x69,0xF0,0xD3,0xE5,0xA7,0xB4,0x73,0x76,\r
+0x60,0x79,0x26,0x7D,0xC6,0xE4,0xD1,0x98,0xAB,0x7A,0x91,0xAF,0x48,0xDD,0xC9,0x69,\r
+0x05,0x08,0x46,0x28,0xF9,0x2B,0x77,0x9B,0x7A,0x4B,0xB2,0x31,0xD9,0xF2,0x54,0xEA,\r
+0x65,0x8D,0x79,0xCB,0xD9,0x9E,0x5C,0x56,0x42,0x80,0xB6,0x63,0x4C,0x16,0xF1,0x3B,\r
+0x29,0xF4,0x0A,0x80,0x05,0xD4,0xC5,0x35,0x25,0xEE,0x61,0xF8,0xE0,0x1A,0xFE,0xCA,\r
+0x4B,0x2C,0x42,0x95,0xAE,0x9F,0xB3,0xF2,0x48,0x45,0x14,0xCF,0x0E,0x9C,0x33,0x71,\r
+0xE1,0xB5,0x7E,0x16,0xA0,0x41,0x21,0xE4,0x75,0x47,0x1E,0xC0,0xF2,0xD0,0x9B,0x5D,\r
+0x43,0x8F,0x68,0xE8,0x6B,0x16,0x54,0xE9,0x1D,0x25,0x65,0xAA,0x52,0x04,0xB2,0xD7,\r
+0x0D,0xAB,0x6C,0x55,0x35,0xB7,0x6F,0xC7,0x86,0xF9,0x4D,0x9F,0x84,0x85,0xA2,0xE8,\r
+0x72,0xC1,0x3A,0x0C,0x01,0xA8,0x92,0x8F,0xF4,0xDF,0x42,0x66,0x72,0xCB,0x37,0xCB,\r
+0x04,0x9A,0x97,0xE1,0x76,0xA9,0x7D,0x2B,0x78,0xEF,0x77,0x3D,0xF7,0xF4,0xD4,0xAB,\r
+0x62,0x24,0x51,0x8B,0x07,0x11,0x61,0x39,0x17,0xE0,0xC7,0x06,0x8A,0x4C,0xA7,0xB5,\r
+0x15,0xED,0x2D,0xAF,0xDD,0xE2,0x0B,0xEC,0x98,0xEA,0x45,0xB6,0x6D,0x36,0x03,0x83,\r
+0x53,0xD5,0xC7,0x7C,0xBD,0xEF,0x99,0x3C,0x09,0xF0,0xB8,0xF8,0x45,0xB9,0x84,0xD4,\r
+0x86,0xA1,0x88,0xCA,0xED,0x48,0x44,0x7C,0x1A,0xC3,0xAA,0xDD,0xB6,0xE6,0xD7,0x6A,\r
+0xD7,0x25,0x73,0x98,0x3F,0x60,0x29,0x36,0x24,0x33,0x6C,0x00,0xB1,0xB7,0x1C,0x07,\r
+0x93,0x3F,0xE0,0xEC,0x26,0x4F,0x15,0x11,0x90,0x5A,0x3B,0xC4,0xFB,0x1C,0x17,0xEA,\r
+0xE6,0xF4,0xED,0xBB,0xF5,0x10,0xDC,0xB4,0x1D,0x13,0xC6,0xE8,0x0F,0x12,0x8F,0x39,\r
+0x20,0x9E,0x8B,0x05,0xAF,0x8A,0x0E,0xF6,0x18,0xE5,0x89,0xCC,0xF5,0x0A,0xC9,0x78,\r
+0x13,0x72,0x1A,0x2C,0xBF,0xCC,0xBF,0x2D,0x0D,0xA2,0x80,0x33,0x2E,0x38,0x48,0x8C,\r
+0x8F,0x4E,0xF2,0x54,0x1B,0xDD,0x67,0x32,0x8C,0x90,0x5B,0xC7,0xAE,0x79,0x66,0x8A,\r
+0x7A,0xC8,0x05,0xC3,0x3C,0x34,0xAB,0xC8,0x37,0x00,0x7E,0x25,0xE1,0x8F,0x63,0xAE,\r
+0x7F,0x28,0x8E,0xF1,0xDE,0xDF,0x6B,0x96,0x04,0x2F,0xE9,0xCF,0x1F,0x2D,0x59,0xB8,\r
+0xEC,0x7B,0x5D,0x39,0xFF,0x2D,0xD3,0xB6,0x50,0xA0,0x76,0x44,0x7D,0xEB,0x80,0x1F,\r
+0x35,0x00,0xE3,0x23,0x34,0x2A,0x82,0xDB,0x64,0x5F,0x8D,0x9B,0x84,0x18,0x71,0x64,\r
+0xE3,0x14,0x66,0x89,0x52,0x55,0x86,0x55,0x5A,0xAF,0x4B,0x46,0xED,0x95,0x78,0x98,\r
+0xBC,0xA2,0x63,0x7D,0xFB,0x15,0x81,0x7D,0xEB,0x30,0x53,0xA6,0xEC,0x72,0x0A,0x06,\r
+0x1E,0x20,0x2E,0x96,0x2E,0x51,0x3C,0x02,0x9E,0x07,0x3E,0x0D,0x36,0xA7,0xF9,0x6C,\r
+0x10,0x12,0xD0,0x30,0xCD,0xCD,0x58,0xB3,0xAE,0xAA,0xFD,0x19,0xF9,0x10,0xD2,0x4E,\r
+0x54,0x08,0x43,0x44,0x3D,0x43,0x0F,0x27,0x11,0x68,0xE0,0x30,0x4A,0x48,0x28,0xD8,\r
+0x17,0xCF,0x54,0x08,0xB3,0xEA,0xC4,0xF5,0x69,0x80,0xDC,0xAC,0xC7,0xF4,0x6F,0x76,\r
+0x59,0x5A,0x77,0xFE,0x8E,0x78,0xB6,0xD6,0x57,0x70,0x1A,0x71,0x70,0x16,0xE9,0xB7,\r
+0xFE,0x38,0xB1,0x27,0x53,0x22,0x22,0xBA,0xBA,0x49,0x83,0x09,0x65,0x74,0x31,0xFF,\r
+0x74,0xFA,0xFB,0x65,0xBC,0x98,0x3D,0xD3,0x8D,0x34,0x2C,0x28,0x97,0xCC,0x10,0xDF,\r
+0x45,0x2B,0x65,0x46,0x2D,0x05,0xBE,0xFC,0xFC,0x51,0x79,0x48,0xA8,0xCF,0xDF,0x79,\r
+0x8E,0x13,0x37,0x42,0xB8,0xA0,0x6F,0x18,0x79,0x31,0x9A,0x77,0x88,0x02,0x6A,0x52,\r
+0xE0,0x74,0xAC,0x95,0x14,0xAF,0x9E,0x14,0x00,0x7D,0xD1,0x04,0x54,0x61,0x20,0xCB,\r
+0x4B,0x19,0x9B,0xE0,0xFA,0x62,0x25,0x92,0xD8,0x1F,0xC4,0x4C,0xFF,0xA6,0x6B,0xBD,\r
+0x49,0x24,0x94,0xEA,0x06,0xCA,0x09,0xDE,0x41,0xB5,0x47,0x70,0xF1,0xB0,0xB5,0x2F,\r
+0x2B,0x4C,0xFE,0x91,0xA6,0xE3,0x83,0x0A,0x7B,0x17,0xB9,0x66,0x3A,0xBD,0xE2,0x5A,\r
+0xF7,0xD7,0xCB,0xB9,0x70,0xF3,0xBC,0x8B,0x5F,0x59,0x04,0x62,0x64,0x93,0x43,0x61,\r
+0xD1,0xA5,0x32,0xB6,0x86,0x66,0x9F,0xC5,0x35,0x26,0x5D,0x34,0x50,0xDB,0x5C,0x9C,\r
+0xE1,0x29,0x69,0x83,0x03,0x85,0xFF,0xFA,0x6E,0x50,0xB0,0x99,0x27,0x7F,0x5D,0x73,\r
+0xEE,0x46,0x52,0x33,0x7E,0xF6,0xE1,0x42,0xD0,0x36,0xDA,0x5F,0x56,0x6D,0xE5,0x6F,\r
+0xE4,0xC9,0xE2,0xB1,0x99,0x52,0xD7,0x38,0x19,0x41,0xFE,0x23,0x8C,0xB8,0x16,0x05,\r
+0x80,0x21,0xC9,0xE4,0xFD,0x0E,0xF5,0xA7,0x21,0xC5,0x23,0x24,0x61,0xCE,0x4D,0xA8,\r
+0x22,0xA3,0x84,0x0F,0xDB,0x90,0x9D,0xB2,0xC7,0x57,0xF0,0xB1,0x6A,0x85,0x9D,0xF3,\r
+0x41,0x96,0x2B,0x62,0x4F,0x42,0xE8,0xB9,0x02,0x5B,0xF2,0x15,0x7F,0xE7,0x45,0xBB,\r
+0x83,0x41,0x03,0xF8,0xB2,0x9D,0x60,0x1A,0x97,0x8A,0x57,0xF1,0x8E,0xB4,0xD3,0xA1,\r
+0x31,0xBD,0xAD,0x07,0x29,0x3D,0xEC,0x37,0x73,0x3E,0xA7,0x75,0x0C,0xF9,0x38,0x03,\r
+0x57,0x68,0x89,0x58,0x4E,0x35,0x4C,0x56,0x32,0xF6,0x31,0x01,0xC2,0xA9,0x61,0xBF,\r
+0x0C,0x63,0xC2,0x88,0xB4,0x86,0x14,0xC0,0x72,0x9A,0xD0,0x9A,0x4D,0x19,0xE3,0xB5,\r
+0x81,0x7C,0x0C,0xF2,0x2F,0x26,0x98,0xED,0x01,0xD9,0xA6,0xEB,0x67,0x78,0xF4,0x5B,\r
+0xB0,0xAD,0x92,0xD1,0x22,0x77,0x47,0xDA,0x67,0xDD,0xD9,0x65,0x1B,0x97,0x25,0xEF,\r
+0x85,0xC1,0x42,0xD6,0x74,0xCB,0xEE,0x40,0x36,0xA4,0x09,0xCA,0x07,0xB2,0xE8,0x58,\r
+0xF2,0x37,0x40,0x8B,0x1F,0xE5,0x35,0xF9,0x75,0x4A,0xBC,0xAF,0xFC,0x4D,0xDC,0x87,\r
+0xC6,0x06,0x55,0x9A,0x51,0x01,0x04,0xAB,0x9B,0xF1,0x71,0x29,0xC5,0xF8,0xAA,0xD2,\r
+0xCE,0xB4,0xEA,0x12,0xC4,0xA4,0xD5,0x4F,0x7A,0xB3,0xCE,0x89,0x0B,0xA8,0xF3,0x6E,\r
+0xAD,0x81,0x45,0x7F,0x15,0xD8,0x3A,0xFB,0xBE,0x1B,0xBB,0xC2,0x58,0x7B,0x3B,0xFD,\r
+0x2E,0xAC,0x75,0xA3,0xB7,0xD2,0x96,0x3E,0xA5,0x01,0xB7,0xF4,0x49,0xA3,0x9F,0xE2,\r
+0x3F,0x8F,0x53,0xA1,0x8A,0x40,0xE4,0x1D,0x0B,0xD6,0x9B,0xE9,0x73,0xFD,0x5E,0x8D,\r
+0x69,0xD6,0x2C,0xCB,0xEE,0x1C,0xC6,0x82,0xCF,0x7E,0xEE,0xA2,0xA9,0x28,0xAD,0xE7,\r
+0x3D,0xB2,0x5C,0xAB,0x1E,0x92,0x91,0x16,0xF0,0x2A,0x5F,0x90,0x16,0x6A,0x4C,0x47,\r
+0xD5,0x18,0x7C,0x92,0xC5,0xD3,0x71,0xA0,0xC2,0xA1,0xBF,0x95,0x6F,0xD8,0x93,0x3A,\r
+0x0F,0x03,0x08,0x94,0x3A,0x2F,0xDF,0x12,0xCC,0xFC,0xBA,0x5C,0xF7,0x06,0x0C,0xDC,\r
+0xC9,0x69,0x6E,0x2A,0x76,0xE8,0xC8,0x51,0xD5,0xC0,0x95,0x7B,0xF8,0xF7,0xA0,0xD0,\r
+0x4D,0x99,0xDA,0xCE,0x2B,0x1E,0xCA,0x26,0x87,0x3B,0x11,0x2A,0x3C,0x0B,0x5B,0xA9,\r
+0xAA,0x5C,0xC1,0x47,0x0E,0xD4,0x20,0xCD,0xC1,0x23,0xEB,0x6B,0xDE,0x8C,0xAC,0x08,\r
+0x7E,0x75,0x4B,0xE7,0xF6,0x44,0x5E,0x4A,0x49,0x9C,0x59,0x63,0x9F,0x6C,0x77,0xBE,\r
+0x1C,0x1D,0x21,0x9C,0xEF,0x6B,0x62,0x6D,0x6C,0x76,0x93,0x88,0xC3,0x4E,0x13,0x21,\r
+0x94,0xE2,0x64,0xD4,0xC6,0x87,0xF3,0x5E,0xB0,0x46,0xBE,0x0B,0x6D,0xD4,0x56,0x9E,\r
+0xF0,0x0A,0x4F,0x81,0x68,0xAB,0x24,0x43,0x3E,0x8D,0x17,0xD9,0xE7,0x39,0xDA,0x5D,\r
+0x1B,0xC0,0xA5,0xA4,0xA2,0xDB,0xD1,0xC1,0x60,0x0D,0xB5,0x50,0x94,0x27,0xA7,0xE5,\r
+0xA5,0x33,0xFA,0xF7,0x6D,0xE4,0xD2,0x67,0xE1,0x3F,0x6E,0xA4,0x0D,0x1E,0x4A,0x9D,\r
+0x72,0x7A,0xBA,0x4B,0x55,0x39,0x56,0x60,0x82,0xCD,0x5E,0x0E,0x8B,0xE9,0xDD,0x68,\r
+0x84,0x9C,0x87,0xC0,0xA8,0xE6,0xDE,0xC3,0xD9,0xBB,0xB3,0xA3,0x02,0xEF,0xE6,0x91,\r
+0x97,0x82,0xAE,0xC8,0x40,0x30,0x11,0x9F,0x85,0x1D,0x32,0x3B,0x91,0x7A,0xA9,0x2C,\r
+0x3A,0x5D,0xCD,0x1A,0x07,0x8A,0x63,0x16,0x49,0x95,0xA9,0x83,0x53,0x55,0xC9,0xCE,\r
+0x21,0x29,0xCB,0xC0,0xB5,0x24,0x9C,0xEA,0x80,0x9B,0xF4,0x86,0x8D,0xCA,0x2F,0x56,\r
+0x8B,0x09,0xF2,0x28,0x03,0xC4,0x47,0xAB,0x85,0xA9,0x7F,0x66,0x3F,0x15,0x52,0x2F,\r
+0xEF,0x79,0x92,0x7C,0x97,0x93,0xB7,0x25,0xB7,0x96,0x2B,0xD7,0x7D,0xF4,0xF2,0x90,\r
+0x4C,0x1E,0xBE,0x6B,0x5F,0x0B,0xAF,0x7D,0x76,0x10,0xC9,0x60,0x39,0x2E,0xAB,0xA6,\r
+0x65,0x94,0x1E,0xBF,0xD8,0x75,0x57,0xED,0x7E,0x98,0x76,0xD2,0xD9,0xF5,0x1D,0xE7,\r
+0xA0,0x8F,0x97,0x58,0x33,0x9F,0x72,0x27,0x3F,0xDE,0x6E,0x28,0x5E,0x02,0xBC,0x05,\r
+0x50,0x3B,0x73,0xDC,0x44,0x9D,0x2F,0xD1,0x6E,0x8C,0x95,0xAC,0xA2,0xF9,0xC5,0xC1,\r
+0xF9,0xF0,0xFD,0x0E,0xD4,0x84,0xFB,0xE2,0x45,0x39,0x58,0x8C,0x72,0xFE,0xF0,0xAD,\r
+0x33,0x1A,0xD8,0xE5,0x56,0x71,0x31,0x92,0xCC,0x67,0xD8,0x2E,0x6C,0x83,0x48,0xDE,\r
+0xDB,0x31,0x8D,0x81,0x4B,0xA6,0x9F,0xBE,0x1E,0xE9,0x13,0x87,0x81,0x0F,0x8B,0x54,\r
+0x24,0x74,0xC5,0x09,0x78,0x37,0xB6,0x52,0x9D,0x35,0x23,0xAA,0x1B,0x4A,0x34,0xFA,\r
+0xBB,0xFB,0x91,0x82,0x8A,0x44,0x19,0x09,0x2E,0xDC,0x48,0x0B,0x2F,0xF0,0x39,0xA8,\r
+0xA5,0xD2,0x99,0x91,0xD6,0x8B,0xF1,0xDF,0xB6,0x80,0xEE,0x8A,0xBA,0xBF,0x84,0x3B,\r
+0x43,0xEF,0x12,0x67,0x75,0x03,0x0C,0x00,0x1B,0xDB,0x98,0x67,0xBC,0x84,0x7D,0xB2,\r
+0x0A,0xAF,0xAE,0xB0,0x72,0x87,0x34,0xDD,0xB1,0xB8,0x6A,0x57,0x4B,0x13,0x88,0x34,\r
+0x78,0x56,0xA1,0x96,0x0F,0x35,0xEB,0xA4,0xE4,0xCE,0xDF,0x6E,0xE1,0x8A,0xB4,0xB7,\r
+0xAF,0x7E,0x3B,0x54,0xAC,0xBD,0x16,0x7B,0x00,0x5B,0x0E,0xCB,0xB2,0x1C,0xAE,0x46,\r
+0x9A,0xD1,0x56,0x37,0xA7,0xC8,0x82,0xA9,0xA4,0x9E,0x02,0xC9,0xD0,0xC4,0xE6,0x53,\r
+0x18,0x9C,0xBD,0x95,0xB2,0xA0,0xA4,0x37,0x31,0x78,0x90,0x1A,0x9B,0x14,0xBD,0x58,\r
+0x45,0x59,0xAB,0x94,0xF8,0xCD,0x76,0x1F,0xFE,0x58,0x8C,0x9F,0x2D,0xAD,0x4E,0x5E,\r
+0x5A,0x97,0xD1,0x19,0xD5,0x41,0xED,0xBF,0x8F,0x2B,0xCF,0xE9,0x4C,0xBA,0xA0,0x74,\r
+0x51,0xDC,0x01,0x42,0x43,0x19,0x17,0x0C,0x14,0x6B,0xA3,0x08,0xFC,0x38,0xAA,0xFB,\r
+0x84,0xF8,0x5E,0x24,0x22,0xB9,0x70,0x04,0x60,0x2A,0x6B,0x9E,0xAC,0x61,0x16,0x35,\r
+0x3F,0x00,0xC3,0xD3,0xBE,0x51,0x08,0x38,0x3C,0xC2,0xA4,0x48,0xAD,0xF3,0xC7,0xFC,\r
+0x0E,0x15,0xD2,0xE7,0xEC,0x60,0x46,0xDC,0xBA,0x2C,0x1F,0x85,0x18,0x85,0x92,0xC5,\r
+0xF8,0x17,0x8F,0x90,0x55,0xBB,0x2D,0xF2,0xDF,0x6F,0xF1,0x30,0xE7,0xB1,0x4D,0x3E,\r
+0x94,0xC7,0x88,0xA5,0xCF,0x12,0x7B,0x4E,0x70,0x3E,0x88,0xE0,0xC2,0x7C,0xFA,0x22,\r
+0xB6,0x06,0xF8,0x2A,0x08,0xB1,0xD3,0x79,0xFC,0x52,0x83,0xA2,0xA8,0x07,0x98,0x4A,\r
+0x95,0x20,0xFA,0x3B,0x2B,0xC3,0xEE,0xEB,0xE1,0xFC,0x54,0x8E,0xF6,0xC6,0xF7,0x70,\r
+0xB8,0x10,0x26,0xB8,0xEE,0x6F,0x4C,0xE1,0xD7,0xE7,0x4E,0x82,0x2E,0x62,0xE8,0x61,\r
+0x8D,0xBF,0x4B,0xDB,0x5A,0x80,0x9D,0x9D,0x9C,0x23,0xE6,0xF7,0xFD,0xAA,0x7B,0x32,\r
+0x01,0xE4,0x7E,0xEB,0xAF,0x77,0x0A,0x1B,0x1C,0xE3,0x1C,0xBA,0x21,0x68,0xEA,0x5C,\r
+0x63,0x22,0xA7,0x4C,0xC3,0xE3,0xD7,0x41,0x64,0x0E,0x25,0x23,0x43,0xB0,0xA2,0x49,\r
+0xF6,0x01,0x51,0x02,0xE0,0x91,0xEA,0xD3,0xB9,0x30,0xD5,0xE5,0xA1,0x36,0x63,0xFE,\r
+0x31,0x16,0x1D,0x41,0x32,0x5A,0x64,0x7A,0x25,0x48,0x3D,0xD9,0x1D,0x71,0xCD,0x73,\r
+0x4D,0xF9,0xCC,0xF5,0x01,0xCB,0x4D,0x96,0x11,0x59,0x28,0xE8,0x34,0x79,0xDE,0x6D,\r
+0x2A,0x62,0x1B,0x9B,0x0D,0x3A,0xE1,0x99,0x62,0x20,0x64,0xA3,0x57,0x33,0x47,0xB1,\r
+0x12,0x30,0x1F,0x50,0xE9,0xEB,0x74,0x3C,0x5D,0xA5,0x04,0x40,0x9A,0x86,0x6C,0x91,\r
+0xC3,0xAE,0x3C,0x61,0xC6,0x68,0xE5,0xA1,0x3D,0xD4,0x61,0x15,0x99,0x49,0xCA,0xAE,\r
+0xEE,0x9E,0xE0,0xE2,0x9E,0xE9,0x29,0xCA,0x77,0x06,0x0C,0x3D,0xC6,0x1A,0x74,0x5D,\r
+0x75,0xAB,0xC8,0x3E,0x1F,0xD6,0xFF,0xDA,0x73,0x22,0x42,0x80,0xE8,0xBB,0x4F,0x03,\r
+0x1D,0xC1,0xB3,0x5C,0xCB,0x5C,0x5F,0xF3,0x65,0x18,0xE0,0x7E,0xE5,0xEC,0x3A,0xC8,\r
+0x20,0xCE,0xB9,0x5E,0x87,0x70,0xA3,0x5B,0x59,0x81,0x4A,0xFD,0xF3,0x32,0xA8,0xC6,\r
+0xF0,0xB7,0xE8,0xF1,0x2D,0x82,0xC0,0x6B,0x36,0x40,0x14,0xC7,0xED,0x4F,0x10,0xB5,\r
+0x7F,0x07,0x6A,0xFB,0x57,0xB4,0x27,0xCF,0x4A,0x89,0x63,0xE3,0x38,0xBC,0x7A,0x6F,\r
+0x10,0x3C,0xDA,0xF4,0xEF,0xAA,0x5A,0xBC,0x8C,0x37,0x05,0x89,0x2A,0x04,0x66,0x1E,\r
+0x9C,0x67,0xEF,0xC4,0xD0,0xCA,0xDF,0x5F,0x21,0x6C,0x73,0x64,0x8E,0x05,0x89,0x69,\r
+0x06,0xB5,0xB5,0x86,0x04,0x40,0x7F,0x76,0xD1,0xC9,0x0F,0x02,0x49,0x4E,0xFF,0xC2,\r
+0x1C,0x26,0xC1,0xC2,0x23,0x7C,0x66,0x59,0x15,0x7D,0x66,0x55,0xE2,0x45,0x12,0x88,\r
+0x98,0xDD,0x93,0x93,0x69,0x11,0xB4,0x71,0xC8,0x43,0x96,0x93,0xB3,0x8E,0x7F,0x8F,\r
+0xEC,0x92,0x25,0x46,0x29,0xCC,0xE4,0xD6,0xED,0x50,0xA5,0x81,0xEC,0xDD,0xC1,0x7C,\r
+0x77,0xA7,0x0D,0x9A,0x27,0x32,0x42,0xE4,0xD2,0xD5,0xC5,0x62,0x2C,0x3F,0x9F,0x97,\r
+0x4B,0x4F,0x75,0x06,0x38,0xEA,0xE6,0xF5,0x26,0x54,0xF7,0xB9,0x6D,0x11,0x99,0x17,\r
+0xA7,0xDE,0x5C,0x35,0xE3,0x5B,0xF6,0xB3,0xD9,0x41,0xB0,0xB0,0x5F,0x90,0x6D,0xCC,\r
+0xCD,0xB8,0xE2,0xF3,0xA1,0x89,0xAC,0x29,0xFD,0x44,0x46,0xFF,0x47,0xD6,0x2C,0x36,\r
+0x39,0xB6,0x7A,0x20,0xCE,0xD7,0x6D,0x13,0x8E,0x3D,0x0A,0xB4,0x4D,0x28,0x71,0xBD,\r
+0x42,0x08,0x60,0xF9,0xA3,0x86,0xA6,0x14,0x51,0x09,0xF5,0x4F,0xBE,0xD9,0x0A,0x44,\r
+0x11,0xDB,0xA8,0x6A,0x83,0x3E,0x87,0xE6,0xDA,0x5D,0x7A,0xD0,0x78,0x00,0xAD,0x26,\r
+0xF1,0x50,0x9A,0x6F,0xDD,0xFE,0x65,0x0D,0x30,0x6E,0x55,0x47,0xDA,0x3A,0xBB,0xD8,\r
+0x2B,0x85,0x69,0x05,0xA6,0x0D,0x94,0xF4,0x0C,0xF7,0xFF,0xC4,0x45,0x8B,0x5B,0xC0,\r
+0x19,0x7B,0xCF,0x0B,0x17,0x69,0x77,0x68,0x18,0xC7,0x52,0x07,0xF2,0xA0,0x79,0x0F,\r
+0x9B,0x36,0x24,0xA9,0x68,0xD4,0xA2,0x2C,0xB3,0xB2,0x65,0x6A,0x27,0x53,0x13,0xD5,\r
+0x2D,0x33,0xD0,0xF6,0x40,0xD3,0x0B,0x6C,0x53,0x03,0xFA,0x72,0xC0,0x21,0x8D,0xD4,\r
+0xB6,0x29,0xA2,0xE3,0xFF,0x3B,0x1A,0xC7,0xF0,0xAA,0x00,0xA8,0xA0,0xCD,0x91,0xA0,\r
+0x84,0xD7,0x04,0xED,0x4E,0x5F,0xF9,0x5B,0xE4,0x9A,0xAD,0x6B,0x17,0xE6,0xB3,0x6F,\r
+0x82,0x61,0xBD,0x1E,0xA8,0x81,0x66,0xC3,0xBB,0x6E,0xA8,0xDD,0x92,0x4C,0x65,0x7B,\r
+0x34,0x64,0x49,0x41,0x80,0x86,0xCF,0x83,0x5B,0xDF,0x37,0xC5,0x75,0x3E,0xFB,0x7A,\r
+0xED,0x5A,0x0D,0x11,0x4B,0xD4,0xCB,0xBB,0xB9,0x64,0xA7,0xE0,0xEC,0xB4,0xE2,0xEB,\r
+0x96,0xE4,0x17,0xC8,0x26,0x85,0x00,0xBC,0x66,0x50,0x58,0x1B,0x1F,0x45,0x99,0x12,\r
+0x5E,0x02,0xF7,0x87,0x35,0xAC,0x08,0xA2,0xD8,0x03,0x07,0xE8,0x88,0x57,0x53,0x77,\r
+0xBE,0x89,0xC5,0x82,0x6B,0x6C,0xEA,0x49,0x32,0x30,0x28,0x7F,0x2A,0x6D,0x45,0x89,\r
+0xE4,0x1D,0x18,0xEE,0xD0,0xB8,0x8B,0x5A,0xCE,0x39,0xA5,0x16,0x3F,0x7C,0x71,0xB8,\r
+0xD8,0xF5,0x60,0x72,0xCF,0x60,0x2F,0x4B,0x3A,0xB8,0x97,0xCD,0x7E,0x52,0x77,0x38,\r
+0x62,0xEA,0x8F,0x1B,0x49,0xDB,0xC1,0x86,0x15,0x29,0x14,0x50,0x15,0xBB,0xC4,0x99,\r
+0x08,0x8C,0x31,0xDD,0x0B,0x09,0x9B,0x1C,0x31,0x2C,0xE2,0x1F,0x0D,0xFD,0x85,0x63,\r
+0xB3,0x74,0xAC,0x2A,0xCB,0x2E,0x0B,0xF6,0xFD,0x10,0x34,0xFA,0xB0,0x28,0xFA,0x27,\r
+0xA9,0xE7,0xD8,0x6E,0xEC,0x12,0x12,0xD9,0x39,0xA4,0x5D,0xAD,0x1B,0x23,0x17,0x6D,\r
+0x43,0xC0,0x48,0xAE,0xC1,0x9E,0x89,0x79,0x05,0x3D,0xF7,0x2E,0xBE,0xB0,0x29,0xD3,\r
+0x37,0x8F,0xFE,0x7B,0x81,0x43,0xD9,0xDE,0x20,0x2E,0xC4,0x3C,0xE1,0xE3,0x97,0x20,\r
+0xD0,0x55,0x07,0x13,0xBF,0xE6,0x4A,0x60,0xA2,0xE4,0x31,0x4C,0x6A,0xD1,0x92,0xC0,\r
+0x5F,0xE5,0x85,0x19,0xC5,0xD0,0xAD,0xC4,0xDE,0x2D,0x46,0x68,0xBF,0x22,0xF8,0x1A,\r
+0x33,0x35,0x82,0x2C,0x38,0x98,0xB2,0xF0,0xC9,0x01,0x21,0xCB,0xDC,0x68,0x61,0xC6,\r
+0xBF,0x6E,0xB7,0x1C,0x07,0xF8,0x37,0x13,0x64,0x5A,0x57,0x26,0x78,0x69,0x8E,0xB1,\r
+0xDA,0xF9,0xA5,0xD6,0xF7,0x84,0x92,0x75,0x9B,0x4F,0x10,0x2F,0xBA,0xD6,0xA7,0xAC,\r
+0x41,0xCC,0x8D,0x0A,0x76,0xBB,0x44,0x65,0x9F,0x6B,0x5E,0x92,0x94,0x77,0x9C,0xF2,\r
+0x8F,0x9C,0xD4,0xB6,0x6F,0x22,0xCE,0xF4,0xB1,0xEC,0x18,0x52,0xA1,0x5F,0x40,0x69,\r
+0xB2,0x93,0xDE,0xB4,0x23,0x0E,0x32,0x5C,0x8D,0x75,0xB2,0xD1,0xB7,0x81,0xD2,0x67,\r
+0x85,0x30,0x76,0x73,0xE5,0x68,0x8C,0x36,0x8A,0x4D,0x36,0x0C,0x05,0x5E,0xAF,0x1E,\r
+0xE2,0xAB,0xA1,0x1D,0xE9,0x99,0x20,0x39,0xF9,0x34,0x7A,0x47,0x66,0x14,0x36,0xC2,\r
+0x6C,0xFC,0x51,0x89,0x2E,0x3A,0x88,0x0E,0xD5,0xB9,0x33,0xBA,0xCB,0x24,0x22,0x01,\r
+0xBD,0x62,0x72,0xB8,0x01,0xB9,0x19,0x93,0xB5,0xC8,0x56,0xEF,0xC8,0xEB,0x84,0x3E,\r
+0xCC,0x70,0xCA,0xA4,0x2B,0xB1,0xBA,0xEE,0x8C,0x63,0x77,0x8C,0x11,0xDD,0x4A,0xE6,\r
+0xAE,0xB6,0x13,0x03,0x47,0x25,0x67,0xB4,0xF4,0x8E,0x4E,0x15,0x73,0x05,0x02,0xF3,\r
+0x9E,0x44,0x70,0xA9,0xDA,0x08,0x09,0xD5,0xCD,0x25,0x6F,0x76,0x4F,0x1C,0x25,0xDC,\r
+0x59,0x53,0x3C,0xEA,0x08,0xC3,0x87,0x7C,0x51,0x5D,0x87,0x4A,0xF3,0x5B,0x8B,0x51,\r
+0x3A,0x72,0x97,0xD3,0xC3,0x91,0x83,0x44,0x09,0x91,0x06,0x21,0xA4,0xAB,0x1F,0xDF,\r
+0x19,0x54,0x95,0xC2,0xE0,0xE3,0xBE,0xD6,0x14,0x3F,0xD1,0x0D,0xFA,0x6A,0x70,0xE5,\r
+0x22,0xED,0x26,0x33,0xB2,0xD2,0xF0,0x32,0x74,0x4E,0xB4,0x58,0xAF,0xC7,0x93,0x9D,\r
+0x17,0x42,0x4B,0x50,0x06,0x3D,0x21,0x4E,0x3F,0x8A,0x1C,0x2D,0x7C,0x0F,0x00,0xCE,\r
+0xA1,0x47,0xBF,0x0F,0x04,0x32,0x2B,0x73,0x52,0x41,0x4D,0x2A,0x4A,0xE8,0x7A,0x6A,\r
+0x90,0x52,0xAE,0x3B,0x56,0x03,0x65,0x97,0xD4,0xAF,0xF6,0xE7,0xFF,0x9E,0x2F,0x53,\r
+0x3B,0x95,0xE5,0x4D,0x27,0x40,0x16,0xE1,0x98,0x53,0xDA,0x4F,0x90,0x11,0x12,0x8D,\r
+0x57,0x45,0xE2,0x78,0xBD,0xE9,0x40,0x5D,0x37,0x02,0xA3,0x9F,0xB5,0xDC,0xA5,0x91,\r
+0xF5,0xC5,0xBC,0xF1,0x3D,0x13,0x80,0x10,0x67,0x46,0x9D,0x46,0x1E,0xD7,0x48,0xDB,\r
+0xEA,0x0B,0xC6,0x7C,0x10,0x9F,0x1B,0xB0,0x16,0x35,0xDE,0x30,0x7F,0xC0,0xA6,0xF1,\r
+0x2B,0xAA,0x33,0xCC,0xCA,0xEB,0x1D,0xAB,0x88,0x47,0x39,0x31,0xFE,0x0C,0xFE,0x9A,\r
+0xFE,0x8E,0x6C,0xAA,0xAB,0x4B,0x7A,0xA3,0xFC,0x06,0xF1,0xA7,0xAE,0x55,0x42,0x54,\r
+0x00,0x2C,0x56,0xBC,0x44,0xEF,0x7B,0xD4,0xE8,0x36,0x5C,0x64,0xE0,0x71,0x46,0xE9,\r
+0xD7,0x04,0xCC,0x7E,0xE7,0x67,0x86,0x0B,0x0C,0xA3,0x8D,0xC1,0xB3,0xE7,0x5C,0x18,\r
+0xB7,0xCE,0xD0,0x7D,0x5A,0xF2,0xC9,0x98,0xD9,0x15,0xC2,0xB5,0xC9,0x79,0x55,0xF7,\r
+0x35,0x83,0x3B,0xDF,0x4F,0x9A,0xEF,0x06,0x4C,0xF3,0x50,0x66,0x82,0xA9,0x0E,0xFC,\r
+0x0A,0x80,0xF4,0x79,0x3E,0xD9,0x9C,0x70,0x5E,0xED,0xBC,0x25,0xE8,0xD2,0x6C,0x94,\r
+0x14,0xA9,0xFC,0x6A,0x62,0x16,0x74,0xA6,0xC6,0xB1,0x1A,0xA4,0x7D,0x9D,0xD1,0x07,\r
+0xA5,0xFD,0xC3,0x58,0x9A,0xD5,0x59,0x72,0x59,0xD5,0x38,0xF8,0x19,0x7E,0x60,0x9B,\r
+0xEC,0xBD,0x7F,0x8F,0x9D,0x51,0x61,0xAF,0xF3,0xB6,0xCA,0xC8,0xEE,0xE9,0x95,0x1D,\r
+0x9C,0x48,0xB5,0x0D,0xBE,0x23,0x5C,0x3D,0x24,0x0A,0x8A,0x81,0x3E,0xEE,0xA0,0x71,\r
+0x56,0xA2,0x90,0xE6,0x3C,0xD6,0x96,0x4D,0xAD,0x54,0x0A,0x23,0x20,0x93,0x18,0x02,\r
+0x8B,0x26,0xA8,0xE1,0x90,0x65,0xDB,0xFD,0x75,0x58,0x71,0x05,0x49,0x27,0xDC,0x55,\r
+0x74,0x63,0xE0,0x69,0xA3,0xF4,0xF2,0x11,0xF6,0x84,0x41,0x28,0xD3,0x62,0x63,0xFB,\r
+0xCA,0xC6,0x73,0x57,0x30,0x27,0x3A,0x42,0x96,0xF5,0x24,0x7D,0x8B,0x98,0xF5,0x48,\r
+0xE3,0x4C,0xD3,0x83,0xB7,0x59,0xC2,0xD2,0x9E,0x7D,0x9B,0xCF,0x6B,0x43,0x43,0x09,\r
+0xFF,0x69,0x1E,0x34,0xAC,0xCF,0x42,0x7E,0x86,0xE1,0xC7,0x03,0xF0,0x94,0x2D,0x6E,\r
+0x0F,0xDD,0xFA,0xB0,0xDB,0xCD,0x1F,0x88,0xD7,0xB3,0x3C,0x87,0x0C,0x6F,0x54,0xAA,\r
+0x8E,0x7B,0xA6,0x28,0x5D,0x76,0xF1,0x45,0x68,0xF6,0xA6,0x29,0xDF,0xA7,0xC7,0xF9,\r
+0x95,0x0F,0xA0,0xF2,0xEF,0xD8,0x0E,0xB9,0xA1,0xF8,0xFB,0x2C,0x01,0x38,0x21,0x61,\r
+0x40,0x2B,0xFF,0x94,0x7F,0xC1,0xDA,0x8A,0x5F,0xFB,0x79,0x78,0x2F,0x99,0x1A,0x3F,\r
+0x24,0x5B,0x9F,0xC0,0xEB,0x96,0x2A,0x04,0x6D,0xC4,0x2D,0xC9,0x6D,0x78,0xBA,0x80,\r
+0x8F,0x15,0xDC,0x08,0x78,0x37,0x1D,0x00,0x6F,0x7C,0x1D,0xEE,0x77,0x1A,0xD1,0x28,\r
+0xE3,0x4F,0x48,0xD5,0xA1,0x55,0xDB,0xA7,0xB7,0x1E,0x08,0xA6,0xEE,0x23,0x3C,0x50,\r
+0x7E,0x2E,0x65,0xBB,0xC2,0x65,0x29,0x0D,0xAE,0x22,0x27,0x81,0x8D,0x02,0x97,0x69,\r
+0xAC,0x87,0xAE,0x35,0x8E,0xA2,0x3E,0x4E,0xE9,0x9E,0xAA,0x2F,0xB1,0xEA,0xEF,0xF5,\r
+0x41,0xCD,0x05,0x3E,0xC4,0x7E,0x5D,0xD7,0xEC,0x68,0xE5,0x0B,0xF7,0x5B,0xFF,0x2E,\r
+0x4D,0xC2,0xF4,0x92,0x13,0x19,0xC6,0xB9,0xA6,0x0B,0x39,0x92,0xBC,0x17,0x86,0x5D,\r
+0x8A,0xF5,0x57,0x3A,0xE3,0x97,0x91,0x2D,0x96,0xA6,0xFA,0x86,0x41,0x5E,0x0B,0x71,\r
+0xA5,0x68,0xD4,0xAB,0xC0,0x46,0x0F,0x1C,0x59,0xA5,0xC5,0x20,0x14,0x3B,0x7A,0x11,\r
+0x53,0x8E,0xE9,0x20,0x17,0x21,0x94,0x72,0x64,0xD7,0x57,0x03,0xD4,0x7D,0xFD,0x3F,\r
+0xD2,0x9E,0xD6,0xF6,0x3F,0xBA,0xA1,0xAE,0xC5,0xF9,0x09,0x38,0x69,0x33,0xD9,0x3B,\r
+0xCB,0x0F,0x4F,0x7C,0x66,0x74,0xF1,0x12,0xED,0xCC,0x92,0xE4,0xA9,0x75,0x5E,0x15,\r
+0x87,0xA7,0x63,0x80,0x6C,0x49,0xFE,0x10,0x33,0xDA,0x9C,0x76,0x2A,0xDF,0xC7,0x29,\r
+0x1B,0x9B,0x8B,0xF8,0xB5,0x2B,0x38,0xB7,0x63,0x07,0x3B,0x36,0xB7,0x5C,0x56,0x06,\r
+0x61,0x3F,0xBD,0x1F,0x37,0xA4,0x88,0xBD,0x90,0xD2,0xE1,0x5C,0x93,0x2B,0x9F,0x7A,\r
+0x9C,0x0B,0xF5,0x00,0x30,0xC8,0x58,0x88,0xDA,0xB1,0x3D,0xC5,0x30,0x4C,0xB3,0x6D,\r
+0xA3,0xE8,0x95,0x85,0x05,0x44,0x03,0xB8,0xDB,0x15,0x4A,0x2A,0xDD,0x3A,0xE8,0xC0,\r
+0x6F,0x0D,0x43,0xB9,0x1E,0x48,0x19,0x8E,0x9A,0xDD,0xDC,0x5E,0x01,0x59,0xA2,0x59,\r
+0x48,0x22,0x7F,0xA0,0x6A,0x52,0x8A,0xCA,0x91,0x76,0x96,0xB3,0x56,0x30,0x16,0x9D,\r
+0x65,0x82,0xF3,0x3B,0xFA,0xB8,0xAD,0x0A,0x02,0xD3,0x28,0x8D,0xD5,0x9A,0x8F,0xA1,\r
+0x25,0x25,0x2E,0x6B,0x4C,0xCC,0xE2,0xDF,0x51,0x8C,0xDB,0x33,0xC7,0xA9,0x9C,0x84,\r
+0x74,0xA1,0xD5,0x39,0xAA,0x1F,0x70,0x4A,0xCE,0x52,0x43,0xD5,0xED,0xC8,0x8B,0x6A,\r
+0x6B,0xB0,0x0D,0x9D,0xD2,0x23,0x98,0xD6,0xE0,0x13,0xC3,0xD3,0x36,0xFA,0x0A,0x9E,\r
+0xED,0x7D,0xB6,0x73,0x3D,0x99,0x87,0xBF,0x09,0x78,0x62,0x60,0xAB,0x79,0x9B,0xB1,\r
+0xAF,0xE7,0x64,0x29,0x83,0xF3,0xE1,0x79,0x4F,0x60,0x98,0x21,0xE4,0x8F,0x9E,0x95,\r
+0xEF,0x40,0xB9,0x79,0xBF,0x16,0x37,0xB5,0x06,0x81,0x10,0x46,0x1B,0xCA,0xD6,0x1D,\r
+0x82,0x47,0xE8,0xB2,0xA5,0x6D,0x89,0x6C,0xF7,0x72,0xE9,0x3D,0xE0,0x35,0xE2,0xC2,\r
+0x91,0x59,0xC1,0xBA,0x45,0xA5,0x6F,0x23,0xE5,0xE5,0x8C,0xF7,0x13,0x6A,0xB1,0x7C,\r
+0xCF,0xB2,0x01,0x58,0x77,0x45,0xE4,0x26,0xDF,0x47,0x72,0xE1,0x84,0x45,0x82,0x96,\r
+0x5B,0x3C,0x56,0xA8,0x10,0x4D,0x44,0x47,0x7F,0xCD,0x5B,0x35,0x53,0x6D,0x18,0x54,\r
+0xEA,0xA0,0x32,0x4B,0xB6,0x7F,0xBA,0x49,0x54,0x7A,0x94,0x17,0x90,0xC0,0x28,0x40,\r
+0x0C,0x38,0xEC,0xD4,0x0F,0x79,0x0C,0xBA,0xFE,0xFF,0x80,0xC1,0x26,0xC5,0xDC,0x1F,\r
+0x24,0x78,0xEB,0x7D,0xFB,0xCF,0x09,0xE5,0x8C,0x18,0x81,0x5F,0x3E,0x5A,0x6D,0xFF,\r
+0xF9,0xBE,0x1B,0x43,0x14,0x75,0x16,0x8C,0x15,0xB2,0x02,0x63,0xD2,0xCB,0x44,0xCC,\r
+0x4B,0x42,0xB5,0xBC,0x12,0x6E,0x62,0x56,0x8A,0x6C,0x9A,0x85,0xD7,0x96,0x4A,0x05,\r
+0xDB,0x71,0xAC,0x68,0x4D,0xBB,0x46,0x30,0x2B,0x42,0xC4,0xBE,0x83,0x14,0x49,0xFB,\r
+0x4F,0xFF,0xFB,0x98,0x2D,0xDF,0x36,0x64,0xCA,0x00,0x7B,0x1E,0x32,0x40,0x76,0xC9,\r
+0x94,0xB9,0x4A,0x88,0xC1,0x31,0xAB,0xF3,0x2A,0xE6,0xB3,0x51,0x86,0x49,0x47,0x32,\r
+0x13,0x29,0x34,0x70,0x61,0x18,0x21,0x27,0xF1,0x06,0xF2,0xE7,0x34,0xF6,0xCF,0x3A,\r
+0x08,0x85,0xA2,0xF0,0xAC,0x04,0x04,0x90,0x26,0x9D,0x95,0x89,0xF8,0xAA,0x53,0x22,\r
+0x7F,0x73,0xA0,0xAD,0x48,0xF4,0xB0,0x14,0xDD,0x61,0x51,0xF0,0x7C,0x51,0x01,0x73,\r
+0x1A,0xC6,0x4E,0xEE,0x07,0x67,0x25,0xA9,0x5C,0x53,0x8A,0x04,0x7A,0xE7,0xB8,0x80,\r
+0x98,0xB6,0xBB,0x24,0x22,0xAD,0xCF,0x42,0x21,0x4D,0xF9,0xBC,0xD8,0x67,0xE6,0x09,\r
+0x34,0x06,0x08,0x69,0x1A,0x70,0x4B,0x45,0x95,0x24,0xAE,0x78,0xFE,0x1C,0xEA,0xD1,\r
+0x07,0xEA,0x99,0x40,0x52,0x8F,0x0E,0xCD,0xD0,0xBE,0x00,0xC7,0xD3,0x2C,0x36,0x52,\r
+0x9A,0x8B,0xB4,0x2E,0x46,0xF1,0xED,0xDD,0x60,0x85,0x6F,0xC8,0xDE,0xD1,0x5F,0xFA,\r
+0xC6,0x5D,0x7B,0xC6,0x4E,0xEF,0xC4,0xCE,0x2F,0x10,0xFC,0x75,0x5F,0x77,0x03,0x62,\r
+0x3E,0x89,0xB8,0xEB,0x71,0x5E,0x90,0xFC,0xCC,0x74,0x60,0xC4,0x03,0x55,0x67,0xFD,\r
+0x39,0x54,0x3C,0xD3,0xCD,0x17,0xD0,0x2B,0x5B,0x83,0xE6,0x31,0x33,0xA7,0x04,0x57,\r
+0xE0,0x2F,0x82,0xC9,0xE4,0xFB,0x41,0x18,0xC3,0x8D,0x12,0xE2,0x9F,0x31,0x84,0x4C,\r
+0x43,0xF0,0x0A,0x34,0x7E,0x2C,0x69,0xDA,0x55,0xDE,0xE3,0xF8,0x3A,0xE0,0x11,0xA8,\r
+0xFE,0x63,0x9F,0x7B,0x62,0x4C,0xA3,0xD9,0xCB,0xA4,0x0C,0xF1,0x4E,0xAF,0xA7,0x7D,\r
+0xEB,0xFD,0xF7,0x5D,0x89,0xCE,0xEE,0x7B,0x1B,0xEF,0x07,0xAA,0x9D,0x3D,0x41,0xE8,\r
+0x99,0xEB,0x7E,0x32,0x0E,0x0E,0xA8,0x55,0x65,0x73,0x20,0xEC,0xBD,0xF0,0xF4,0xC3,\r
+0xB4,0x4B,0xF2,0xA9,0x74,0x11,0x66,0xD8,0x72,0x12,0x0A,0x02,0xCB,0xB3,0x87,0xB2,\r
+0x6E,0x50,0x86,0xAF,0x81,0xD0,0xC7,0x68,0xBE,0x93,0x61,0x5A,0xCA,0x54,0xF5,0x2C,\r
+0x0F,0x58,0x26,0xC8,0xDE,0x05,0xE3,0x0E,0xE7,0xC3,0xAF,0xE6,0x5C,0x9C,0xB4,0x58,\r
+0xA0,0x88,0x5F,0x99,0x0D,0x5A,0x2A,0xAB,0x5A,0x27,0x91,0xDE,0xD1,0x20,0xF3,0xF6,\r
+0xF2,0x6C,0x6E,0xD7,0x1C,0x6B,0x3F,0x9F,0x2C,0x92,0xA8,0x8B,0x1C,0x9B,0x1D,0x70,\r
+0x83,0x1A,0x2D,0xA4,0x57,0xC0,0xF8,0xE9,0xA3,0xFD,0x76,0xB6,0xB4,0xB7,0xE1,0x3C,\r
+0x19,0xA6,0x84,0xF2,0x50,0xAC,0x28,0xDC,0x6E,0xD8,0x6A,0x01,0x64,0xCE,0xB0,0x93,\r
+0x67,0xBF,0xFC,0x31,0x25,0xC1,0x1F,0x77,0x19,0xC9,0x24,0xBB,0xDA,0x6B,0x23,0xAD,\r
+0x44,0x2D,0x8E,0x0C,0x27,0xE2,0x39,0x66,0xD8,0x97,0x1E,0xD4,0xF6,0xBC,0x8D,0xB0,\r
+0x16,0xC9,0xBF,0x42,0x94,0xD9,0x80,0x97,0x75,0xC2,0x66,0x37,0xA3,0xD9,0xFC,0xD0,\r
+0xA2,0xB5,0x50,0x93,0xF9,0xEC,0x2F,0xF4,0xBD,0x11,0x35,0xA4,0xD6,0x71,0x38,0x9B,\r
+0x81,0x94,0x45,0xA5,0x49,0x86,0x06,0x9F,0xD2,0x61,0xE8,0x48,0x8E,0xB4,0xF6,0x17,\r
+0x3D,0x43,0x0C,0xE5,0xCD,0x81,0xDB,0xA7,0x20,0x51,0x42,0x2B,0x7B,0x32,0x01,0x80,\r
+0x02,0x71,0xBD,0xB1,0x0E,0x79,0x0F,0x8A,0x02,0x0D,0xDD,0x4F,0xCA,0xAE,0x65,0x63,\r
+0x0A,0x62,0xA3,0x98,0xC1,0x25,0xD9,0x62,0xA4,0x8C,0x45,0x13,0x77,0x3D,0xF0,0x2C,\r
+0x1E,0x72,0xDD,0x7B,0xEC,0xB8,0xB8,0x0C,0x59,0x81,0xED,0x7A,0x78,0x52,0xCB,0x9C,\r
+0x56,0xFA,0x22,0x3E,0x7D,0x8B,0x54,0x25,0x69,0xAC,0x6E,0xA6,0xC7,0xFC,0x51,0xD9,\r
+0x6E,0xFD,0xFF,0xBA,0xCE,0x27,0xE4,0x68,0x12,0x8A,0xB6,0xAA,0x03,0xAB,0x38,0x6D,\r
+0x4B,0x16,0x35,0x50,0x3B,0xA5,0x94,0xA2,0x92,0x28,0x3F,0xF4,0xBB,0xD8,0x26,0x10,\r
+0x04,0xAB,0xA6,0xC5,0xD5,0xC0,0x21,0xE1,0x24,0x2E,0xCC,0x4D,0x4F,0x03,0x14,0x91,\r
+0xE0,0x2F,0x56,0x71,0xD7,0xB7,0xD7,0xBC,0xDF,0xAA,0x9D,0x1F,0x36,0xC7,0xE8,0x6A,\r
+0x2D,0x98,0x4A,0x54,0x41,0xAC,0x7B,0x3C,0x83,0x66,0x85,0x83,0x58,0xA0,0x73,0xBD,\r
+0x8D,0x4C,0x63,0xDE,0x3F,0x2B,0xEB,0xC4,0x3C,0xD4,0x8D,0x0B,0xEE,0xE1,0x93,0x66,\r
+0x61,0xDB,0x8D,0x43,0x8E,0xF0,0xAD,0xD4,0x35,0x60,0x76,0x3A,0xA1,0x29,0x75,0x86,\r
+0x01,0x8F,0xE9,0x33,0xD9,0x64,0x23,0x24,0x61,0xD1,0x44,0x05,0x01,0x96,0x37,0x67,\r
+0x5E,0xE9,0x3C,0x17,0xC0,0xF4,0x10,0xF0,0xE3,0x85,0xBA,0x06,0x3A,0xC8,0x19,0xC6,\r
+0x58,0x33,0x27,0x63,0x6E,0x46,0xEC,0x0F,0xBE,0x80,0x73,0x08,0xDC,0x50,0xC7,0x59,\r
+0xB5,0x4B,0xBE,0x5A,0x25,0x1D,0xE7,0xDF,0x04,0x84,0x24,0x74,0x1B,0x67,0x64,0xF1,\r
+0xD8,0x28,0x8B,0xF5,0xCA,0xA9,0x9B,0x0E,0xAC,0xF1,0x6F,0xB0,0x88,0x34,0xB7,0x39,\r
+0x6B,0xD9,0xB0,0x4C,0xFB,0xFB,0x7F,0x40,0xC9,0xA4,0x0F,0xC1,0x6B,0x4C,0xE2,0x94,\r
+0x69,0xC8,0x93,0x6A,0x89,0xD8,0xED,0x7D,0x1E,0x88,0x12,0x6F,0x04,0x76,0xBC,0x55,\r
+0x1C,0x63,0xFE,0x5D,0xF1,0xA6,0xF4,0xBE,0xBB,0x36,0x2C,0xFC,0xBE,0x38,0xAD,0x22,\r
+0x1B,0x56,0x92,0x8D,0x58,0x3C,0x48,0xE8,0xC2,0xE6,0x83,0xAD,0x09,0x24,0x88,0xEF,\r
+0x50,0x20,0x39,0x4A,0x1B,0x4D,0x3E,0x9B,0xEE,0x4E,0xCF,0x51,0x34,0xFA,0xE7,0x60,\r
+0x41,0x14,0x08,0x5F,0x2A,0x1F,0xDA,0xD5,0x55,0x83,0x49,0xBF,0x61,0xC3,0x52,0x16,\r
+0x92,0xB1,0x57,0x96,0x53,0xB0,0x0A,0x84,0xE9,0x0E,0xE7,0xF8,0x59,0xFD,0xB6,0xAB,\r
+0xCD,0xD7,0x82,0xB2,0xF3,0xD1,0x02,0xE3,0x21,0x98,0x93,0xB9,0xE5,0x33,0xE6,0xF2,\r
+0x38,0x67,0x43,0x13,0x87,0x0B,0x19,0xE5,0xC6,0x99,0x0D,0xCB,0xBD,0x58,0x67,0x3E,\r
+0x42,0xEA,0x5C,0xDD,0x0B,0x26,0xB9,0x7E,0x85,0xEF,0x7C,0xB8,0x53,0x72,0x06,0x29,\r
+0xC5,0xC4,0x9C,0x9B,0x82,0x54,0xAF,0x11,0x48,0xCF,0x57,0x0D,0x15,0x55,0x9A,0x57,\r
+0x2E,0x66,0x1E,0xD6,0xEA,0x41,0x31,0x37,0xDA,0x1C,0xC2,0xEB,0x4E,0x5E,0xD1,0x87,\r
+0x32,0x65,0x7E,0x1C,0x7F,0xFC,0xA2,0x78,0x95,0x68,0x17,0x5D,0x47,0xB1,0xAB,0x19,\r
+0xA8,0xA7,0xA9,0x34,0xF7,0x5F,0x7D,0x85,0x44,0xCD,0xF3,0xC8,0x5D,0x40,0xF8,0x8F,\r
+0x49,0x07,0x16,0x76,0xE0,0x1C,0xBA,0xC9,0x4F,0x8F,0x7F,0xA4,0x95,0x18,0x60,0x97,\r
+0x7C,0x37,0x9A,0x2D,0x80,0x23,0x59,0x4C,0x39,0x62,0xD2,0xFF,0x7A,0x6F,0xC4,0x96,\r
+0x7B,0x02,0xF6,0xFD,0xC8,0xDE,0x6D,0x53,0x5E,0xC1,0xC5,0xD3,0xE3,0xB3,0xA7,0xDC,\r
+0xF9,0x08,0x79,0x4D,0xFE,0xA4,0xC9,0xB4,0x29,0xE5,0xB9,0x1A,0x89,0x69,0x72,0x2F,\r
+0x20,0xAF,0x1B,0x8B,0x16,0x38,0xF5,0xCC,0xAA,0x78,0x96,0x8B,0xC9,0xCE,0xAF,0x7F,\r
+0x2A,0xAD,0x26,0x84,0x3A,0x74,0x5D,0x30,0x00,0xFB,0xAA,0x12,0x5B,0xC0,0xB9,0xA1,\r
+0x73,0x11,0xE8,0xD4,0xA3,0x6D,0xCC,0xBA,0x46,0x3B,0x84,0x95,0x87,0x5B,0x8C,0x89,\r
+0x5B,0xCD,0x73,0xE1,0x9C,0xEC,0xDC,0x6C,0x08,0x86,0x80,0xB1,0xBC,0x05,0xA2,0x28,\r
+0x8C,0xA3,0x14,0x7A,0xA1,0x1A,0x3A,0xE7,0x4E,0x46,0xAE,0x36,0x9F,0x97,0xD0,0x15,\r
+0xAF,0x92,0xC5,0xE4,0x22,0x35,0xA7,0x76,0x2B,0x13,0xCE,0x47,0x39,0xA8,0xD3,0xDA,\r
+0x5F,0x06,0x4B,0xB3,0x81,0xF2,0x90,0xDE,0x62,0xEE,0xE2,0xCA,0x2D,0x6B,0x7E,0xEA,\r
+0x88,0x68,0x2C,0x28,0x70,0xFE,0x9F,0x72,0x2E,0xA5,0x91,0xB3,0xB4,0xB7,0x1D,0xA0,\r
+0xC2,0xF1,0xF0,0x4B,0xDB,0x13,0xD5,0x79,0x9F,0xE3,0x4A,0xA3,0x90,0xF8,0xEB,0xA5,\r
+0x8E,0xB2,0x37,0x5C,0x10,0xC1,0x7C,0xF7,0x77,0xDF,0xD6,0xDB,0x3E,0x75,0x57,0xE2,\r
+0xED,0x18,0x07,0xAE,0x3D,0x5C,0x1D,0x99,0x56,0xBC,0xEF,0x70,0x19,0x5A,0x6B,0xFB,\r
+0x34,0xBF,0x65,0x68,0xA9,0x30,0x47,0x44,0x6F,0x25,0x97,0x9D,0x51,0x4F,0x09,0x23,\r
+0xB7,0x5A,0x9D,0x7C,0x9E,0x9B,0x2A,0x31,0x2F,0x6C,0x40,0x21,0xE0,0xD3,0x6D,0xC0,\r
+0x43,0x05,0x2B,0x79,0x99,0xB3,0x6A,0x98,0xB0,0x74,0xA0,0x90,0x7E,0xD2,0x8A,0xB2,\r
+0xFA,0xF6,0x2D,0xCF,0x47,0x55,0xF2,0x07,0xB5,0xC2,0xFF,0x64,0xA8,0xC6,0x0F,0x18,\r
+0x5C,0xF8,0x1F,0x31,0x23,0xE4,0x6E,0xE4,0x18,0x01,0xEB,0x54,0x8A,0x09,0xB8,0x33,\r
+0x3B,0x99,0x17,0x91,0x74,0x70,0xE0,0x14,0x30,0xD6,0x29,0xCE,0x5E,0x20,0x32,0x93,\r
+0x09,0x9C,0xF7,0x1A,0xB4,0x2E,0x0B,0xF6,0x1F,0x41,0xC3,0xFD,0x48,0xDE,0x90,0xA9,\r
+0xE9,0xD3,0x3F,0xFC,0x9D,0x3D,0x15,0xFE,0x40,0xB2,0x7D,0xAE,0x82,0xBB,0x07,0xBB,\r
+0xF3,0x0A,0x44,0x42,0xCC,0x50,0x12,0x35,0xBF,0x49,0xA2,0x9A,0xF9,0x42,0xF4,0x4A,\r
+0xCF,0xC6,0xA1,0x94,0x11,0x10,0xB5,0x65,0xFA,0xB6,0x2A,0xD2,0x9E,0xCA,0x15,0x03,\r
+0x71,0x00,0xCB,0xF2,0xC3,0x52,0x2F,0x3F,0x0C,0xF9,0x0E,0xD7,0xDF,0x30,0x0D,0x45,\r
+0x9E,0x69,0x71,0xED,0x78,0xD4,0xE2,0xD1,0x8F,0x64,0x21,0x46,0x6C,0x91,0x66,0xAC,\r
+0xE6,0xF5,0x4D,0x05,0xA0,0xCB,0xF3,0x75,0xBD,0xBF,0xD5,0xC7,0x6A,0x11,0x27,0x82,\r
+0x00,0x60,0x9E,0x97,0x5B,0x9A,0x77,0x27,0xDC,0x95,0x3B,0xD0,0x8C,0x89,0xF9,0x1D,\r
+0xB6,0xB5,0xEA,0xD8,0x86,0xDA,0xD0,0x77,0xEF,0x87,0x1E,0xC3,0x32,0x7A,0xA6,0x4E,\r
+0x26,0x75,0x00,0xFF,0x0A,0xF7,0x70,0xEC,0x45,0x04,0x22,0x5A,0x0C,0xC4,0x03,0xDD,\r
+0x52,0x31,0x1A,0x6C,0x36,0xD0,0x5F,0xF5,0x2C,0x53,0xE6,0xEE,0xE1,0x8E,0xA8,0xD6,\r
+0x84,0x76,0x6D,0x94,0x89,0xA1,0xC3,0xA8,0x5A,0x5B,0xAF,0x5C,0x55,0x9B,0xDA,0x11,\r
+0x78,0xD8,0x92,0x26,0x53,0xD5,0xC5,0xB3,0xBC,0xC4,0x71,0xC4,0x08,0x95,0x13,0x14,\r
+0x39,0x38,0x49,0x90,0xBB,0xF5,0xFC,0x19,0xC1,0x1B,0xC3,0xBD,0x83,0xA7,0x16,0xF4,\r
+0xB7,0x6F,0xB9,0x04,0xEF,0x85,0x9C,0x7D,0x61,0xFA,0x81,0x02,0xD7,0x98,0x24,0x45,\r
+0xEF,0xF7,0xA1,0xCC,0xF8,0xE2,0xB0,0xDE,0x38,0x20,0xC5,0x34,0x35,0x1E,0xE5,0xF2,\r
+0x7F,0x89,0x59,0x4B,0x2C,0x68,0x10,0xF7,0x8E,0xFB,0x25,0x75,0x8A,0x96,0xED,0x40,\r
+0xB5,0x63,0x7C,0xA0,0xCB,0x73,0x99,0x32,0x2F,0x0C,0xA2,0x97,0x92,0xD0,0xAC,0xBA,\r
+0x43,0x61,0x21,0xD7,0x4F,0xC7,0x7D,0xC2,0x56,0xF7,0x5E,0x53,0x69,0x82,0xFD,0x3E,\r
+0x70,0x78,0xF5,0x47,0x9D,0x0C,0xF3,0x6B,0x63,0xF0,0x8E,0x3F,0xA4,0x37,0xD6,0x1E,\r
+0x00,0x8D,0x3F,0xC5,0x76,0xE6,0xD6,0xA1,0xDB,0x8D,0x90,0x4C,0x24,0x69,0x5F,0xBC,\r
+0x2C,0x5A,0x91,0xD8,0x12,0xCD,0x83,0x49,0x18,0x01,0x7D,0xC6,0xEF,0xE7,0x8D,0x15,\r
+0xC0,0xCB,0xB8,0xEB,0x9A,0x88,0xCB,0xB6,0xA7,0x44,0xE7,0x68,0xDF,0x3B,0x0E,0x38,\r
+0x9B,0xB8,0x17,0x19,0x11,0x07,0x9F,0x29,0xAA,0xFE,0xD3,0x3A,0xB4,0xD2,0xBD,0x99,\r
+0x4D,0x77,0xFF,0x45,0x02,0x2E,0x97,0x37,0x17,0xB1,0x46,0xA9,0x12,0x8E,0x25,0x18,\r
+0x92,0xFF,0x02,0xE6,0xF4,0x13,0x1C,0xD1,0xEE,0x8A,0x40,0x20,0x64,0xD5,0x88,0xF5,\r
+0x4F,0x7B,0x3A,0xE1,0x23,0x53,0xA0,0x98,0x1B,0x1D,0xB7,0xA6,0x96,0xB6,0x22,0xC5,\r
+0x36,0xC9,0xE5,0x9C,0x05,0xAA,0xAF,0xEA,0x27,0x84,0x1D,0x25,0x23,0xC0,0x77,0xFC,\r
+0xE9,0x41,0x18,0x3F,0xC7,0x82,0x35,0x3D,0x3D,0x12,0x4E,0xD4,0xF2,0x55,0x93,0x59,\r
+0x3B,0x34,0x8C,0x34,0xA4,0x2D,0x58,0x08,0x75,0xCA,0x2C,0xC1,0xFE,0x90,0x37,0x5B,\r
+0xA5,0x5C,0xAA,0x21,0x06,0x60,0xB3,0x8A,0x2E,0x1A,0x67,0xCA,0x6C,0x76,0xA2,0x88,\r
+0x8D,0x31,0x78,0x6B,0x07,0xA5,0xA5,0xD7,0xDD,0xA3,0xD1,0xCC,0x70,0x56,0x6D,0x0D,\r
+0x2D,0xBD,0xE3,0x46,0x8A,0x6B,0xDF,0xC8,0x33,0xB4,0xB0,0xE6,0x33,0x25,0x1C,0x7B,\r
+0x9E,0xE5,0x19,0xD0,0xD1,0x20,0x0F,0xC3,0x39,0x36,0x00,0x69,0x5F,0x65,0x87,0x9A,\r
+0x96,0x45,0x7E,0xB1,0xB7,0x04,0x50,0x16,0x85,0x6F,0x50,0xA7,0x97,0x24,0xF3,0x0C,\r
+0xAA,0xAD,0x06,0x2D,0x40,0xFC,0xCD,0xAD,0x54,0xFD,0x51,0x6E,0x58,0xCC,0xAF,0xDA,\r
+0x4E,0x9C,0x48,0x7F,0x74,0xE9,0xDC,0x9C,0x01,0x8B,0xE4,0x57,0xE3,0x22,0x29,0x17,\r
+0x60,0x47,0x23,0xC6,0x03,0xEB,0x81,0x6A,0xDE,0xBF,0x1B,0xAC,0x0D,0x61,0x4C,0xA2,\r
+0xDC,0xEE,0x75,0x5C,0x36,0x3B,0x86,0x06,0x69,0x72,0x3E,0xB0,0x74,0x30,0xE3,0x72,\r
+0xEB,0x4D,0xDD,0x9B,0xB9,0xFA,0xF6,0x24,0x0B,0x09,0x54,0xD8,0x7F,0x5C,0x6F,0x30,\r
+0x79,0x3F,0xE0,0xB8,0xA8,0xDC,0xF4,0x07,0x64,0xC8,0x0A,0xE2,0xA8,0xF2,0x72,0x1C,\r
+0x73,0x93,0x42,0x7D,0x2B,0xEC,0x28,0x2A,0x7B,0x6C,0xD2,0xF3,0xB2,0xE9,0x44,0x10,\r
+0x0F,0x7C,0x93,0xC9,0x48,0x43,0x45,0x1F,0xE8,0xA4,0x01,0xA0,0x1A,0x2D,0x0F,0x65,\r
+0x89,0x8B,0x04,0x3C,0x78,0x18,0x70,0x93,0x79,0x66,0xDD,0xCE,0xE0,0xED,0x8F,0x28,\r
+0xD3,0x1F,0xD9,0x50,0xDF,0xDE,0xA9,0xF1,0x31,0xBE,0xBF,0xDB,0xD9,0x00,0xF7,0xB1,\r
+0x41,0x6D,0xE4,0x73,0x91,0xFD,0x5F,0x64,0xF0,0x38,0x5D,0x6C,0x29,0x3E,0x2A,0x77,\r
+0xE8,0xA6,0x6A,0xA1,0xD2,0xEA,0x13,0xA3,0x5E,0x7F,0xE1,0xE1,0xC1,0x46,0xB6,0x4B,\r
+0x04,0x37,0x43,0x92,0x66,0x05,0xC2,0xDF,0x4D,0x77,0xC8,0xFF,0xD4,0x57,0x82,0x7A,\r
+0x0B,0xC6,0xEF,0x9E,0x08,0x9E,0x15,0xB8,0xD4,0x3D,0xAB,0x23,0x98,0x2E,0xF1,0x31,\r
+0xAE,0x17,0x7A,0x7A,0xC3,0xCC,0x11,0x80,0xFF,0x88,0x66,0x03,0xF8,0xAB,0xCE,0xD2,\r
+0x33,0x94,0xEB,0x55,0xF2,0x52,0x32,0x51,0x59,0x47,0x65,0x3C,0x9D,0xDA,0xAE,0x87,\r
+0x58,0x15,0x27,0x0D,0x71,0x62,0xEE,0x7C,0xE7,0x14,0x3A,0xCF,0xF0,0x08,0xE4,0xAF,\r
+0x48,0x2A,0xF1,0x8C,0xAD,0x57,0xC6,0xE7,0xDC,0xB5,0x14,0x91,0xBE,0x2C,0xE0,0x12,\r
+0x61,0xA0,0x51,0x58,0xCF,0x3D,0xBD,0x8F,0xA9,0xE2,0x19,0x5A,0x1C,0x16,0xF6,0xEC,\r
+0xC9,0x8C,0xAD,0x14,0xCD,0x32,0xB7,0xB2,0x3B,0x3C,0x0F,0x54,0xB6,0x8F,0xCA,0x6F,\r
+0xF9,0x7E,0xCE,0xBE,0x62,0x4B,0xE6,0x62,0x83,0x41,0x11,0x27,0xE8,0x4E,0xA5,0x55,\r
+0x5D,0x48,0x29,0xC4,0x68,0xFB,0x64,0xED,0xE9,0xB2,0xC4,0xFD,0x9F,0x87,0xD9,0x71,\r
+0x2E,0x56,0x54,0x7C,0x67,0xC0,0xD4,0x82,0xF5,0x0A,0xD6,0x8C,0xF9,0x39,0x1F,0x1B,\r
+0xCD,0x36,0xD1,0x43,0x57,0x9B,0xE1,0x0E,0x1A,0x0B,0x72,0xFB,0x8F,0x62,0xB2,0xF6,\r
+0xE4,0xBC,0x71,0x97,0x15,0x49,0xBB,0x94,0x6C,0x40,0xB5,0x50,0xF3,0xC7,0x42,0x90,\r
+0xCB,0x80,0x68,0xB0,0x51,0xDA,0xCF,0x8E,0x81,0x4B,0x1E,0x1A,0x9A,0x73,0x86,0xC7,\r
+0xE3,0xED,0xBA,0xFA,0x00,0x21,0x9D,0x0A,0xEC,0x80,0x4F,0x1D,0x6A,0x4D,0x5B,0x01,\r
+0x44,0x30,0xEA,0xBA,0xD5,0x6E,0x2B,0x7E,0x52,0xD3,0x10,0xEE,0x59,0x5E,0x7E,0x13,\r
+0x76,0xCE,0x4C,0xB4,0x09,0x5B,0x03,0xE5,0x0C,0x31,0xD0,0x05,0x39,0xDB,0x41,0xF0,\r
+0x67,0x16,0xE8,0xAB,0x95,0xB3,0x7B,0xD9,0x0A,0x1F,0x91,0x85,0x0B,0x5A,0xB5,0x2B,\r
+0x21,0xA7,0xF8,0x70,0xA6,0x22,0x52,0x35,0xFE,0x9E,0xA3,0x5E,0x4C,0x4F,0x4A,0x22,\r
+0xBB,0x75,0xA2,0x32,0x60,0x44,0xEC,0x5F,0xBF,0xD8,0xBB,0xA4,0xBA,0x4A,0x6E,0x6D,\r
+0x81,0x2B,0x63,0x5D,0xB3,0x4A,0x74,0xAB,0xE2,0x26,0xB1,0x2F,0xF6,0x33,0x1D,0x26,\r
+0x86,0x7A,0xA8,0x30,0x6A,0xF4,0x6E,0xD0,0x99,0xD7,0x42,0xD6,0x09,0x07,0xC2,0xDD,\r
+0x74,0xC2,0x89,0x10,0xF9,0x27,0xA6,0x83,0x3E,0x0E,0x84,0xB4,0x86,0x53,0x49,0x42,\r
+0x9F,0x02,0x6B,0x4E,0xFC,0xAC,0x94,0x63,0x28,0x34,0x26,0x4A,0xA9,0x60,0xA3,0xD5,\r
+0x66,0xF1,0x9A,0x35,0x96,0x79,0x67,0xB9,0xC8,0x85,0xB9,0x52,0x03,0xF9,0x9F,0x56,\r
+0xFA,0x95,0x79,0x84,0x98,0x87,0xC1,0x8B,0xEA,0xAE,0x0E,0x9D,0xAE,0xC9,0x8B,0x95,\r
+0xBE,0x28,0xAC,0xFB,0x3A,0xCA,0x2A,0x09,0x80,0x5D,0xDB,0x47,0x99,0xBC,0x20,0xF8,\r
+0xFE,0x2F,0x05,0xD3,0x65,0xCF,0xDE,0xBF,0x1E,0x2F,0x3C,0x46,0x06,0x0D,0xC0,0xE0,\r
+0xF6,0x4E,0x63,0x9C,0x14,0xED,0xBC,0x0B,0xE6,0x8C,0x47,0x68,0x10,0x88,0x5C,0x14,\r
+0x50,0x40,0x51,0x62,0x70,0x5C,0x20,0xE8,0x4B,0x4F,0x53,0x58,0x32,0x47,0xEB,0x3F,\r
+0xBB,0xE2,0xD3,0x2F,0xCD,0x23,0x64,0x3D,0x7C,0x22,0xF8,0x2D,0x58,0x9D,0x3E,0xCC,\r
+0x4F,0xBD,0x65,0x2A,0xCA,0x0B,0x24,0x94,0xE3,0x3A,0x18,0x9C,0xC6,0x9C,0xD9,0xBE,\r
+0xE5,0x6B,0x71,0xAF,0xCE,0x85,0x5B,0xF2,0x13,0xFC,0xC5,0xA2,0x3A,0xF5,0x54,0xB7,\r
+0xFF,0xB2,0x0A,0x11,0x9F,0xE8,0x5C,0x39,0xEC,0x07,0x1A,0x96,0x41,0x0C,0xA7,0x46,\r
+0x37,0x21,0x59,0xC2,0x27,0xC8,0xAE,0x18,0x63,0x98,0x91,0xC2,0xE6,0x6E,0x61,0x9F,\r
+0x05,0x24,0xB9,0x49,0xE7,0x96,0x45,0xFA,0x4C,0x0F,0x7B,0xF1,0xF0,0x90,0xC3,0xA5,\r
+0x92,0xD1,0x3F,0xBE,0x2B,0x6C,0xAC,0xDD,0xDC,0x2A,0x99,0x4A,0xD4,0xDF,0x35,0xA0,\r
+0xEA,0x4D,0x03,0x56,0xF3,0x73,0xBD,0x79,0xEE,0xF1,0x6D,0xCB,0xD2,0x5F,0x74,0x8E,\r
+0xC3,0x7E,0xEF,0xC7,0x42,0xA8,0xFB,0x69,0xA9,0xF8,0x92,0xDE,0x26,0x84,0x46,0x0F,\r
+0x7D,0xB8,0x85,0xA1,0x90,0xEA,0x61,0x33,0x5F,0xB7,0xB6,0xDB,0x67,0x7E,0x5E,0x49,\r
+0x2A,0xCD,0x4E,0xAC,0x59,0x4F,0x3E,0xE0,0x16,0x4A,0x9A,0x56,0xB4,0x8A,0x50,0xD1,\r
+0x5E,0x89,0x54,0x3F,0x65,0x68,0x11,0xF9,0x7F,0x1D,0x5E,0xE2,0x59,0xC0,0xFB,0xDA,\r
+0x0C,0xD8,0xD0,0xC4,0x08,0x22,0x39,0x2B,0x8F,0xDB,0x83,0xDC,0x34,0xC7,0xAA,0x11,\r
+0xBA,0x0D,0xA4,0x8B,0xD5,0x62,0x9E,0x7B,0xBC,0xC9,0xA6,0xCF,0x8A,0x34,0xF5,0x42,\r
+0x77,0xBA,0xB8,0xAE,0x9B,0x66,0x23,0x5F,0x0D,0x8F,0x7D,0xDF,0x5B,0xFD,0xF4,0xD0,\r
+0xF5,0xB0,0x37,0x1E,0xAD,0x1C,0x87,0xB8,0x7A,0xAB,0x01,0x16,0x31,0x27,0x21,0x23,\r
+0x45,0xBF,0x58,0x25,0xB3,0xA4,0xF4,0xC5,0x1C,0xC1,0xC7,0xA8,0x2D,0x56,0x33,0x9B,\r
+0x70,0x8F,0xD4,0x7E,0xD3,0x9B,0x17,0x40,0x6A,0x2C,0x6A,0xF3,0xC2,0x21,0x97,0x9A,\r
+0x7F,0xA9,0xA6,0x87,0xF0,0xD5,0x82,0xB6,0x15,0x75,0x3C,0x99,0x3F,0x15,0xDF,0x85,\r
+0x57,0x75,0x3D,0xB2,0xCF,0x54,0x92,0x60,0x5B,0xC8,0x38,0xBD,0x04,0x4B,0xF1,0x24,\r
+0x2C,0x17,0x55,0xD8,0x45,0x80,0xBB,0xC0,0xF9,0x36,0x2E,0x87,0x71,0x80,0xFC,0x73,\r
+0x26,0x15,0x68,0xD7,0x69,0xCC,0x13,0x3C,0x53,0xB5,0x12,0x1E,0xE3,0x8E,0xEA,0xAD,\r
+0x53,0xBE,0x05,0xE0,0xD2,0x4A,0xDE,0xD2,0x31,0xA0,0x5A,0xC6,0x95,0x25,0x2D,0xE6,\r
+0x84,0xD0,0x62,0x7B,0x23,0x46,0xD1,0x7E,0x7D,0xEB,0x29,0xBF,0x0C,0xF9,0x4E,0xAC,\r
+0x80,0x1B,0x5A,0x29,0xF2,0xA2,0x74,0xEB,0x1D,0x08,0x16,0x3A,0x27,0xD9,0x83,0x19,\r
+0xA3,0x2A,0x8B,0xB7,0x71,0x8D,0xE9,0x7A,0x78,0x5D,0x76,0x4B,0x81,0xE6,0x80,0xD6,\r
+0xE1,0xA0,0x49,0xFD,0x6E,0xE4,0x53,0x95,0x05,0xF2,0x57,0x7C,0xA1,0x14,0x38,0xF7,\r
+0x38,0x07,0x2B,0x3B,0xFA,0x88,0x09,0x48,0x3C,0x6B,0x2F,0x91,0xE9,0x01,0x5A,0x2F,\r
+0xCE,0x49,0xBE,0x18,0x88,0xAB,0x9B,0x75,0xCC,0xAD,0xF2,0xAF,0x28,0xB6,0xB8,0xA9,\r
+0x82,0x0A,0x79,0x0F,0x43,0x79,0x32,0xFB,0x24,0x91,0x6E,0xD7,0x86,0x3B,0x04,0xEE,\r
+0x67,0x61,0xFE,0x1F,0xA8,0x43,0x31,0x4C,0x9A,0xEA,0xB7,0xCD,0xD3,0x02,0xB1,0x98,\r
+0x65,0x70,0xDD,0x39,0xDA,0x60,0xA3,0x71,0x4D,0xC6,0xAA,0x63,0xBC,0x38,0xEF,0x59,\r
+0xB9,0xF3,0xF0,0x09,0x76,0xA5,0xA9,0xD3,0x57,0xCA,0x9C,0x78,0xA3,0x29,0x37,0xFD,\r
+0xD4,0x90,0xC5,0xA6,0x99,0x11,0xD5,0x02,0xFF,0xBF,0xD7,0xBC,0x30,0x7A,0xE4,0x35,\r
+0x5C,0x98,0x77,0x19,0x48,0xF5,0x70,0x97,0xBD,0x00,0x77,0x5D,0x8C,0xB4,0xB4,0x6C,\r
+0x4D,0xAC,0x46,0x0C,0x79,0xA7,0x94,0xD9,0x06,0xCD,0xF1,0xB3,0xD9,0x8D,0x01,0x1A,\r
+0x10,0xDB,0xB0,0x0E,0xA2,0x1E,0xBA,0xB2,0xE8,0x78,0x94,0xF0,0x06,0x76,0xFE,0x2E,\r
+0x17,0xEE,0xDC,0xDE,0x0B,0x84,0x06,0xE4,0x91,0xA8,0x3B,0xA1,0xB1,0x6A,0xDB,0xE3,\r
+0x34,0xDF,0x0D,0x40,0xD4,0xB3,0x57,0xE9,0x95,0xD7,0xB5,0xC7,0x05,0x16,0x34,0x32,\r
+0x4E,0x52,0x12,0x8E,0x58,0x9E,0xF7,0x72,0xD6,0xA1,0xC4,0xB4,0xEB,0x3C,0x55,0x25,\r
+0x9E,0x09,0x19,0xC5,0x00,0x08,0x44,0x88,0xBA,0x40,0x5F,0xF4,0xE1,0xB3,0xE5,0xA7,\r
+0xC1,0x6F,0xCC,0xE1,0xA0,0x69,0x4C,0xEF,0x72,0xD6,0x2B,0xB5,0x5D,0x7D,0xB5,0xFE,\r
+0x3E,0xDD,0x30,0x4F,0x2C,0x44,0xEC,0x74,0xC6,0x26,0xAF,0x51,0xFF,0xFF,0xF8,0x15,\r
+0xA4,0x1F,0xE7,0x67,0xA4,0xE7,0x33,0x89,0x17,0x83,0x4B,0xC4,0xE5,0x0E,0xAB,0x83,\r
+0xC9,0x7C,0xD2,0xC8,0xD1,0xEC,0xE1,0x1D,0x1B,0x81,0xEF,0x01,0xAD,0x1B,0xC9,0x5B,\r
+0x22,0xDE,0x50,0x85,0xB9,0xF9,0x7F,0x3B,0x89,0x52,0x7A,0xE7,0xF6,0x10,0x82,0x8B,\r
+0x0E,0xC9,0xF3,0xE2,0x5D,0xC1,0x41,0x86,0x51,0x43,0x65,0x43,0x72,0xE0,0x36,0x6F,\r
+0x06,0xDA,0xED,0xCB,0x92,0x9D,0x97,0x6E,0xF7,0xC2,0xFD,0x1F,0xCF,0x73,0xA3,0x20,\r
+0x8D,0x2C,0x0B,0xF6,0x1A,0x3E,0x48,0x93,0x81,0x2F,0x50,0x44,0x36,0xFA,0xA5,0x1B,\r
+0x31,0xFB,0x42,0xB6,0x9E,0x39,0x95,0xAB,0x73,0x1F,0xFA,0x27,0xC3,0x7C,0x52,0x8C,\r
+0x62,0x45,0xB1,0xE9,0x9D,0x9F,0xAA,0x64,0x41,0xC4,0x0E,0xA6,0xBB,0xE5,0x6B,0x61,\r
+0x47,0xAE,0x7B,0x03,0x68,0x1D,0xDA,0xAE,0xC1,0x66,0x87,0xF8,0x03,0x96,0x75,0x1C,\r
+0x12,0xCA,0x93,0x28,0xBF,0x00,0xF6,0x00,0x0A,0xCF,0x55,0x76,0xC0,0x1C,0x98,0x90,\r
+0x5A,0x42,0x6C,0x6D,0x2E,0x33,0x1A,0x29,0x3A,0xE2,0xD6,0xAA,0x7F,0xB2,0x02,0xD5,\r
+0x21,0x20,0x04,0x07,0x12,0x14,0x35,0x30,0xD0,0x28,0x3D,0x8F,0xE0,0xEE,0x20,0xB1,\r
+0x81,0xF4,0x2D,0x8D,0x6C,0x93,0xA5,0xC8,0x6F,0x9A,0x35,0x07,0x56,0xAF,0xC0,0x6A,\r
+0x08,0x13,0xE8,0x96,0x86,0x78,0x6F,0xED,0x77,0x60,0x74,0x41,0xF7,0x4D,0x47,0x9D,\r
+0xEC,0x97,0x18,0x22,0x84,0x0F,0x99,0xB0,0x8C,0xE4,0x25,0x13,0x8E,0x89,0xBB,0x66,\r
+0x52,0x51,0x72,0x44,0x93,0x4C,0x5E,0xFC,0xB0,0xCB,0x02,0x0A,0x82,0x86,0x4A,0xCA,\r
+0x54,0x8B,0x69,0x30,0x3D,0xFE,0xA2,0x03,0xED,0xCE,0xCB,0x04,0x64,0x1E,0x94,0x55,\r
+0x6D,0x63,0xC3,0x10,0xDD,0x48,0xE3,0xD8,0x66,0x2E,0xCE,0x36,0x19,0x67,0x26,0x8A,\r
+0x0D,0x37,0xA7,0x60,0x8A,0xDC,0x6D,0x28,0x32,0x9F,0xFC,0x09,0xB9,0xD8,0x64,0x6B,\r
+0x96,0xD4,0xB0,0x53,0xD8,0x5B,0xE4,0x09,0x0C,0x44,0xD1,0x20,0x7F,0xBB,0xBE,0xDC,\r
+0x01,0xFB,0x83,0xB9,0xCE,0xF9,0xDE,0xF7,0x09,0x76,0x5A,0xC0,0xBF,0x59,0xE0,0x37,\r
+0x9E,0x74,0xD7,0x32,0x69,0x3F,0x07,0x95,0x9A,0xBE,0x89,0x93,0x07,0x78,0xC0,0xC5,\r
+0x65,0x8B,0xE3,0xED,0x12,0xCC,0xF6,0x6C,0x43,0xA4,0x37,0xE8,0x56,0xB3,0xAD,0xC2,\r
+0xA3,0x7B,0xDD,0x30,0xEE,0x41,0xFF,0x05,0x95,0x0E,0xB2,0xFC,0x52,0xD5,0x23,0xBD,\r
+0xBB,0xE4,0x6C,0xD0,0x70,0xA6,0x8D,0x04,0xCA,0xFA,0xB7,0x4A,0x55,0x7C,0x0B,0xFD,\r
+0xD6,0xD3,0x19,0x7B,0x1A,0x73,0x7E,0xDE,0x68,0x11,0xFA,0xC8,0xE8,0xA9,0x74,0xB9,\r
+0x15,0x7E,0x29,0x6F,0x38,0xC4,0x55,0x11,0x66,0xB7,0x04,0xFA,0x8C,0x4A,0xC5,0x25,\r
+0x50,0x24,0x8E,0x8E,0xA2,0x6D,0x03,0xAD,0x25,0xFB,0x13,0x3D,0x4D,0x3A,0x4A,0x07,\r
+0x42,0x17,0x9D,0xAB,0x1C,0x32,0x50,0x5E,0xF0,0x4D,0x5C,0x49,0x90,0x6A,0x0A,0xA0,\r
+0x84,0xE7,0xA3,0x76,0x71,0x63,0x9B,0x59,0xA1,0x1F,0xA7,0xCD,0xFD,0xB8,0x40,0x88,\r
+0xD3,0x8E,0x17,0xB2,0x9C,0xC8,0x90,0x13,0xE5,0x6B,0x34,0xD7,0xC1,0xA1,0x67,0xA7,\r
+0x2E,0xC7,0x9A,0x9E,0x4F,0xC6,0x08,0xE7,0x90,0x3C,0x39,0x1C,0x08,0x72,0xC2,0xF8,\r
+0x61,0x31,0x9F,0xBA,0x0E,0xDE,0x4E,0x1D,0x56,0x82,0x5F,0x76,0xDA,0x28,0x80,0x62,\r
+0x68,0x76,0x8A,0x45,0xFA,0xEC,0xCF,0xC6,0x65,0xAB,0xCE,0x9A,0x6B,0x38,0x5B,0x24,\r
+0xB3,0x44,0x0B,0xB1,0xFC,0xAD,0xE1,0x46,0xF9,0xD3,0x26,0xA6,0xB3,0x9C,0x44,0x35,\r
+0x2C,0xCB,0x5F,0x3A,0xCB,0x72,0xEC,0x17,0x3D,0x67,0x4F,0xF1,0xF1,0x7D,0xE4,0x8A,\r
+0xAF,0x61,0xC6,0x06,0x59,0x64,0x32,0x19,0x3F,0x6D,0x40,0xCC,0xDD,0x81,0xA8,0x22,\r
+0x51,0xC3,0xFC,0x10,0x2C,0x69,0x65,0xD2,0x5D,0x16,0x2A,0xA4,0x57,0x21,0x7C,0x0B,\r
+0xEC,0x8D,0xD8,0x14,0x17,0x47,0xC4,0x8C,0x81,0x3E,0x1F,0x3F,0x68,0xF7,0xFD,0x1B,\r
+0xB5,0xF2,0xB2,0x42,0xEA,0x0F,0xDB,0xB8,0xA7,0x31,0xE6,0x4D,0x4B,0x01,0xB3,0x8E,\r
+0x58,0x84,0xE9,0xEF,0x05,0xAB,0xDA,0xCF,0x97,0x04,0xBD,0xC1,0x2B,0x84,0x8C,0x6D,\r
+0x32,0xE2,0x57,0x29,0x19,0xB9,0x62,0xBE,0x98,0xB4,0x86,0xAE,0x35,0xF9,0x34,0x1E,\r
+0x16,0x95,0x9E,0x55,0x73,0x6C,0x91,0x64,0x92,0x36,0x36,0x21,0x03,0x1E,0x4E,0xBA,\r
+0x08,0xBC,0x96,0x46,0xAE,0x9C,0xAF,0xA2,0x22,0xC3,0x97,0xE0,0xDB,0xBA,0x51,0xAB,\r
+0x34,0x54,0xEE,0xDA,0x00,0x20,0xE8,0x2F,0x61,0x8F,0x80,0x27,0x10,0x34,0x83,0x02,\r
+0xF2,0xA4,0xD0,0x07,0xC1,0xC2,0x6E,0x98,0x2F,0x79,0xA3,0xB2,0x62,0x09,0xA0,0x90,\r
+0x6B,0x9D,0x3D,0x7F,0x89,0xA0,0xB6,0x8D,0x88,0xA0,0x65,0xD0,0xF6,0xD4,0xCC,0xCA,\r
+0xC4,0xE0,0x0A,0x5E,0xA9,0x18,0x97,0x7F,0x02,0xE2,0x2F,0x12,0xE9,0x3B,0xA5,0x70,\r
+0x91,0x85,0x7B,0x3E,0x0F,0x1B,0x58,0x40,0x33,0xC1,0xB1,0xC3,0x6A,0xAA,0x8A,0xED,\r
+0x72,0xE5,0xFE,0x01,0x24,0xD6,0xED,0x60,0xF8,0xC5,0xE3,0xFB,0xBB,0x3F,0x6E,0x48,\r
+0x39,0xA9,0x87,0x72,0xBD,0xB5,0xA7,0xBC,0x96,0x12,0x78,0x9C,0x4A,0x93,0x62,0x47,\r
+0x31,0x09,0xE0,0x13,0x99,0x43,0xA2,0xF3,0xC6,0x56,0x46,0x45,0x93,0xA5,0xAC,0x9F,\r
+0xE1,0x70,0xB1,0xBC,0x2E,0x66,0x6F,0xEF,0xF3,0x51,0x96,0x29,0x3A,0xF3,0x36,0x23,\r
+0x54,0x9E,0xF2,0xD9,0xF1,0x99,0x5B,0x14,0x84,0x0C,0x94,0xDF,0xE1,0x98,0x8F,0x0D,\r
+0x99,0x25,0x1C,0x5F,0xA4,0x2C,0x2D,0x2D,0xB0,0x1D,0x81,0xEE,0xD0,0xD6,0xDD,0xE9,\r
+0x26,0x67,0xFD,0xFF,0x18,0x7C,0x74,0xE3,0xB8,0x95,0x3E,0x5C,0x01,0x43,0x39,0x4C,\r
+0x53,0xCF,0x39,0xB4,0x8B,0xAF,0xBC,0xB0,0xDB,0xF8,0x91,0x69,0xEE,0x92,0x8D,0x30,\r
+0x5F,0xD5,0x22,0x82,0x94,0x77,0x18,0xA1,0x58,0x24,0xA1,0x44,0x42,0x30,0x48,0x3A,\r
+0x73,0x02,0x8C,0x9F,0xFB,0x29,0xD9,0x9B,0x49,0x26,0x87,0x67,0x30,0x0D,0x6B,0xA8,\r
+0xCB,0x11,0xA6,0x52,0xDE,0x1A,0xCA,0x89,0xF6,0x63,0x1D,0xC9,0x21,0x7A,0xD1,0xE6,\r
+0x18,0x83,0x40,0xC7,0x85,0x51,0x1A,0x82,0x54,0x88,0x50,0x4B,0x49,0x5C,0xC4,0x78,\r
+0x1A,0x8F,0x85,0x63,0xCD,0x33,0xC2,0x97,0x37,0xE5,0xFF,0x7E,0x3C,0xC8,0xCF,0xAA,\r
+0xBF,0x5E,0x10,0x87,0xD7,0x60,0x54,0x66,0xF5,0x7F,0xD7,0xA9,0xB4,0x35,0x6C,0x75,\r
+0x4F,0xEA,0xF4,0x03,0x75,0x2D,0xBF,0xE4,0x47,0x80,0x79,0x55,0x38,0xAE,0x41,0xD5,\r
+0xD9,0x22,0xB5,0x77,0xC9,0x7D,0xE6,0x2A,0x21,0xDF,0x5D,0x80,0x98,0xC9,0x20,0xDD,\r
+0x38,0x4E,0xF5,0xEC,0xC3,0xCD,0x64,0xA5,0x7A,0x0F,0x16,0x8B,0xC0,0x33,0xB6,0x6E,\r
+0x4E,0x0D,0x86,0x9D,0x2D,0xAC,0x73,0x8F,0xF7,0x75,0xD8,0x94,0x4C,0xA8,0x9B,0xCE,\r
+0x7B,0xA2,0xEB,0xFE,0x57,0x9A,0x94,0x2B,0x6A,0x1B,0xF5,0xF5,0xB6,0x68,0x1B,0x83,\r
+0x56,0x92,0x37,0x7D,0xE8,0x00,0xD1,0x85,0xE2,0x53,0xB0,0x0A,0x27,0x41,0x28,0x6F,\r
+0xFF,0x59,0xB9,0xAF,0x2B,0xED,0x5D,0x0F,0x86,0x06,0x9B,0xE2,0xF0,0xEF,0x35,0x43,\r
+0x5D,0xD9,0xE7,0x26,0x93,0xF3,0x20,0x7C,0x6D,0x23,0x71,0x28,0x05,0x25,0xB7,0x33,\r
+0x86,0xEB,0x66,0xD2,0xEB,0xCA,0xCD,0xE5,0xD3,0x70,0x2E,0xDB,0x06,0xEA,0x11,0x0C,\r
+0xB6,0x19,0x05,0x78,0x1E,0x3D,0x5A,0x63,0x04,0xCC,0x6E,0x92,0x82,0xD2,0x16,0xD1,\r
+0x5B,0x6F,0x5E,0xD5,0xE7,0x3B,0x61,0xEA,0xF2,0x47,0x53,0x74,0x0A,0x2F,0xB5,0x0E,\r
+0xDA,0xC9,0x02,0x4D,0x5A,0xAE,0x2E,0x79,0xE1,0x4F,0x7A,0x6A,0xC5,0xC7,0xE9,0xD8,\r
+0x06,0xAA,0x48,0xD4,0x91,0xFC,0x2A,0x41,0x1F,0x4C,0xF8,0x3E,0x12,0x69,0xF4,0xF4,\r
+0xB7,0xFE,0x77,0xE6,0x31,0xBE,0xCB,0xFE,0x4B,0x2C,0x88,0x5A,0x45,0x99,0x60,0x7A,\r
+0x57,0x75,0x45,0xE3,0x4C,0x0C,0x14,0x87,0xA3,0x15,0xA8,0xF0,0xA5,0x42,0xD6,0x3B,\r
+0x52,0x28,0x4B,0x2A,0xAA,0xD2,0x8B,0x1F,0x79,0x13,0xDC,0xEB,0x0B,0xBD,0x64,0xC7,\r
+0x7D,0x14,0x52,0x0D,0xA6,0x23,0x27,0x10,0xBF,0xAD,0xBA,0x81,0x1C,0xF1,0x27,0x00,\r
+0xF9,0xEF,0x00,0x5C,0xDF,0xDF,0xDC,0xD4,0x3B,0x49,0x0E,0x71,0x1E,0xAC,0x50,0xF6,\r
+0x03,0xF7,0x46,0x1D,0x7E,0x58,0x2B,0x36,0xDC,0xC0,0x15,0xB4,0xF4,0x89,0xBB,0x3C,\r
+0xB1,0x48,0xCE,0x15,0xC8,0xB8,0xF0,0x77,0x08,0x60,0x9F,0x9D,0x8A,0x71,0x3C,0xAC,\r
+0xA3,0x83,0x39,0x27,0x90,0x05,0xF8,0x41,0xD6,0x23,0x15,0xF0,0xF4,0x83,0x69,0xB2,\r
+0xA6,0x77,0x66,0x91,0xD0,0xAC,0xD0,0x46,0xCE,0xC3,0xA4,0x6F,0x86,0x1D,0x68,0x55,\r
+0x10,0xCE,0x95,0x97,0x48,0x33,0x36,0x98,0x78,0x9C,0x50,0x6A,0x2C,0xCB,0x7C,0xD0,\r
+0xEE,0x68,0x9B,0xA5,0xD4,0xD0,0x87,0xFC,0xBB,0x88,0x60,0xC7,0x07,0xE9,0xB3,0x67,\r
+0x4E,0x0F,0xFA,0xAD,0x5A,0x20,0x13,0xAB,0x6C,0x4A,0xFA,0xEF,0xA7,0x3D,0x9A,0xED,\r
+0xC5,0x3D,0xFF,0x4D,0xB1,0xC2,0x4D,0x6B,0xFB,0xA0,0xC9,0xC0,0x9D,0x2B,0x64,0x4F,\r
+0x23,0xDD,0xB0,0x85,0xAF,0xCA,0x5E,0x42,0x08,0x1E,0x9A,0x9F,0x8F,0xE1,0x01,0xD8,\r
+0x9D,0xC7,0x69,0xFE,0xA8,0x01,0x33,0x13,0xF3,0xC1,0xAE,0x60,0x7E,0x9A,0xF8,0x2B,\r
+0x4B,0xFB,0xA5,0x1B,0x0F,0x51,0x73,0xCE,0x0C,0x49,0xE6,0x25,0x37,0xFD,0x70,0xCA,\r
+0x2D,0x45,0x63,0x71,0x95,0x0B,0x31,0x1C,0x43,0x6D,0xE3,0xD3,0x71,0xBC,0x8A,0xD2,\r
+0x32,0xAA,0x0A,0xCB,0x58,0xE5,0xB7,0xA7,0xDE,0x42,0x72,0x50,0x98,0x0F,0x2B,0xB9,\r
+0xDA,0xD2,0x96,0xF7,0x49,0x41,0xA8,0x7F,0x05,0xB6,0xF3,0x62,0xB6,0x09,0xAB,0xF8,\r
+0x48,0x34,0x03,0x24,0xCD,0x13,0xF9,0x84,0x2F,0x58,0xE4,0x03,0x29,0xEF,0x33,0x26,\r
+0x07,0x82,0xD6,0x50,0x6A,0x43,0xB9,0x59,0x3D,0x7D,0xF7,0x30,0x7A,0x51,0xC0,0x79,\r
+0x20,0x12,0x16,0xBA,0xCA,0xD8,0x94,0xD5,0xBE,0x41,0x6E,0x9A,0xE9,0x6F,0x7E,0xDC,\r
+0xB3,0x66,0x52,0xA0,0xE5,0xC1,0xB3,0xE9,0xE9,0x85,0xDA,0xF3,0xE2,0x82,0x34,0x77,\r
+0xA9,0x7D,0x64,0xAC,0x00,0xFD,0x7F,0x3F,0x35,0x1C,0x90,0x90,0xA3,0xF6,0xA2,0xBF,\r
+0xF2,0x48,0x54,0x20,0xE3,0x78,0x40,0x5F,0xD8,0xB1,0xCB,0xE6,0xA2,0x19,0xD5,0x1B,\r
+0x22,0x4F,0x61,0x4C,0xD7,0x67,0xBD,0x17,0x7B,0xA6,0xE7,0x81,0xE8,0x80,0x09,0x78,\r
+0x92,0xCD,0x6B,0xC3,0x73,0x80,0xC7,0x21,0x5F,0xDA,0x2E,0xF6,0x1B,0xEA,0xD3,0xAD,\r
+0x54,0x14,0xCC,0xA1,0x4F,0xF8,0x5B,0xC9,0xC2,0xF5,0xBF,0x75,0x4B,0xAA,0x74,0x70,\r
+0x5B,0x1E,0xCE,0x9C,0xE7,0x04,0x17,0xE5,0x41,0xC9,0x26,0xDF,0x95,0x38,0x7A,0x66,\r
+0x0B,0x47,0x72,0x52,0x76,0x8E,0x0E,0x7C,0x81,0xE7,0xA1,0x99,0xBD,0xE4,0xE1,0x53,\r
+0x3E,0x6F,0xAE,0xC9,0x66,0x58,0x8F,0x43,0x3C,0xE3,0x85,0xD7,0x1C,0xDF,0xBF,0x7D,\r
+0xA5,0xB8,0xC0,0xAE,0x80,0xD3,0x79,0x7E,0xFC,0xCD,0x02,0x91,0x21,0xFC,0x2D,0x0F,\r
+0x3B,0x9B,0xF1,0x7F,0x1D,0x42,0x56,0xFD,0xA9,0xAD,0x73,0xF4,0xEE,0x5A,0x12,0x0C,\r
+0x6C,0x6B,0x65,0xF1,0x2A,0xEA,0x91,0x5E,0x54,0x81,0xFE,0xBD,0xDE,0x4E,0xD1,0xA1,\r
+0xF7,0xBC,0x0B,0x96,0x25,0x46,0x9D,0xAF,0x1F,0xF2,0x87,0xF1,0x94,0xD7,0x0D,0xC2,\r
+0x94,0xF6,0x92,0x4A,0x6F,0x4D,0x70,0x04,0x59,0x29,0x97,0x40,0x91,0xF3,0x42,0x34,\r
+0x83,0xBA,0xD1,0x8D,0xC6,0xC3,0xA2,0xCF,0x65,0xB5,0xEF,0xA8,0xD6,0x5D,0xCF,0x88,\r
+0x71,0xD9,0x7B,0xBD,0xA7,0xAD,0x3F,0xE2,0x06,0x8C,0x44,0x89,0xCF,0x7A,0xE0,0xB4,\r
+0xB7,0x00,0xDC,0xDF,0xFD,0x70,0x53,0x76,0x9F,0xF4,0xA9,0xB0,0x17,0x32,0xF5,0xD6,\r
+0x85,0x81,0x28,0x04,0x5D,0xEB,0x7E,0xFA,0x3E,0x47,0x40,0xDB,0xC5,0x78,0xDD,0xBB,\r
+0x2A,0xEC,0x4B,0x31,0x21,0x3A,0xCA,0x15,0x4B,0x0C,0x84,0x73,0x0D,0xEB,0x8E,0x68,\r
+0x93,0x5F,0xBA,0x0A,0xC5,0x74,0x98,0x24,0x1E,0x6C,0xF5,0x16,0xA0,0x08,0xF6,0x3D,\r
+0xB5,0x5D,0xAB,0x29,0x57,0x49,0xBB,0x56,0x32,0x71,0x5B,0xC1,0x61,0x67,0xCC,0x63,\r
+0x82,0x28,0x00,0x44,0x4E,0x8A,0xC5,0x2E,0x8C,0x4F,0xC8,0x64,0x16,0xDD,0x82,0x72,\r
+0x52,0x2F,0x35,0x28,0xF2,0xDC,0x5F,0x87,0x5C,0xE0,0x99,0x1D,0xDB,0x6A,0x9E,0x57,\r
+0x95,0x64,0x43,0x83,0x84,0xAF,0x2E,0xC4,0xF4,0xAC,0x65,0x31,0x54,0x57,0x40,0x38,\r
+0x80,0x75,0x77,0xB2,0x60,0xE1,0x7C,0xF5,0x39,0x2A,0x8B,0x8A,0x22,0x02,0x79,0x8D,\r
+0x49,0xA6,0xD2,0xED,0xB0,0xB0,0xD3,0x8C,0xB4,0x84,0xCC,0x36,0x9F,0x3A,0x47,0x69,\r
+0x6D,0xF9,0xB4,0x38,0xB8,0xD7,0xB2,0x2C,0x22,0xF0,0x8D,0xFE,0xC6,0x86,0x89,0x39,\r
+0xCC,0x0C,0x04,0xF9,0xA3,0xD1,0x68,0x58,0x23,0x6E,0xFF,0x19,0x0A,0xDE,0xE2,0xB8,\r
+0x02,0x76,0x89,0xE6,0x03,0x4A,0x45,0xD4,0x55,0x1F,0x8C,0x5A,0x1D,0x30,0xC8,0xD9,\r
+0x44,0xF1,0xA7,0x26,0x15,0x25,0x37,0x5D,0x75,0x34,0x39,0x97,0x63,0x76,0xEF,0x45,\r
+0x09,0x1A,0x05,0xA4,0x8B,0x03,0x22,0x35,0xA6,0xA1,0xDF,0x05,0xB3,0x2D,0xE4,0x0E,\r
+0xC3,0x06,0x06,0xC4,0x18,0x4C,0x9F,0xA0,0xD2,0x74,0x69,0x4A,0x2D,0x24,0x0B,0x74,\r
+0xEB,0x9C,0xC4,0x13,0xC7,0xB1,0x3C,0x28,0x77,0x90,0xFC,0x9B,0xBB,0x3E,0xFA,0x27,\r
+0x7A,0xB5,0xF7,0xFF,0xBC,0xAB,0xE5,0x96,0xDB,0x8B,0x7C,0x0D,0x23,0xED,0x0E,0x29,\r
+0x3A,0x09,0x20,0xB6,0x61,0x93,0xE2,0x12,0xEB,0x21,0x1F,0xFF,0xB4,0x18,0x88,0xDE,\r
+0x6E,0x36,0x12,0x07,0xB5,0xBE,0x1A,0xD1,0xB7,0xBE,0x7B,0xDD,0x57,0xA9,0x14,0xBA,\r
+0x47,0x3E,0x01,0x19,0x63,0x56,0x46,0x1E,0x36,0x26,0x27,0x7B,0x18,0x14,0x87,0x2F,\r
+0xA4,0x2A,0x11,0x67,0x02,0x38,0xDB,0x33,0x3B,0x8E,0x4E,0x86,0xA8,0x1B,0xE8,0x14,\r
+0xE1,0x62,0x99,0x98,0xEE,0x11,0xE8,0xA2,0x16,0x0D,0x92,0xB6,0xED,0xA4,0x46,0x8E,\r
+0x65,0x5A,0x9E,0x45,0x5E,0x5C,0x44,0x11,0x30,0xD5,0x9E,0xCD,0x59,0x60,0x11,0xE7,\r
+0x8F,0x7F,0x75,0x8F,0x2E,0x96,0xC6,0xE4,0x92,0x5C,0xC0,0x4D,0x24,0xD8,0x62,0xF9,\r
+0x1A,0x30,0xC8,0x1C,0x9B,0xD5,0xA3,0x0A,0x94,0xAF,0x79,0xFB,0xA5,0x2C,0xB9,0xCB,\r
+0xAE,0xD4,0x4C,0xEC,0x6D,0x88,0xD4,0x08,0x10,0xFE,0x2B,0x00,0x5E,0x55,0x7D,0x37,\r
+0x8B,0x19,0xFB,0xF0,0xC1,0x08,0xCF,0x9E,0xDC,0xE6,0xB7,0x5C,0x89,0x3B,0x1A,0xAC,\r
+0x01,0xB9,0x2F,0xD9,0x51,0xF0,0x48,0xE0,0x6E,0xEE,0x3F,0xE3,0x52,0x8D,0x5B,0x4C,\r
+0x9C,0x55,0xB8,0x37,0x17,0xE0,0x93,0x51,0xDA,0x15,0x0E,0xEA,0xB2,0xC2,0x93,0xAA,\r
+0xEC,0x35,0xEC,0x53,0x99,0x10,0x07,0x06,0x6B,0x27,0x31,0xBE,0x53,0x62,0x2C,0xE8,\r
+0xC8,0x6A,0x8A,0x86,0xAA,0xC4,0x97,0x1F,0x3F,0xD9,0x32,0x3C,0xF2,0x59,0x72,0xC6,\r
+0xBC,0x6C,0x50,0x9D,0x56,0x3B,0x25,0xB1,0x3A,0x10,0x3C,0x61,0x6D,0xBF,0xEA,0x18,\r
+0xD7,0x55,0x05,0xE0,0xBA,0x88,0x69,0x43,0x3A,0x6F,0xA6,0x02,0x53,0xDF,0xFB,0xA3,\r
+0x19,0x2F,0x88,0xFF,0x1A,0x13,0x44,0xCF,0x4C,0x1E,0xD5,0x41,0x44,0x31,0xD1,0xC2,\r
+0x52,0xFF,0xD3,0xF4,0xA9,0xE9,0xD2,0x97,0xAD,0x85,0x95,0x2D,0xC6,0x3B,0x5E,0x72,\r
+0x76,0xA0,0xB5,0x21,0xA1,0x8E,0xB3,0x37,0x3B,0xF1,0xD4,0xE5,0x9F,0x87,0x90,0x22,\r
+0xD8,0x5F,0x07,0xDD,0x01,0x15,0x9E,0xBB,0xCB,0x75,0x30,0x51,0x74,0x25,0x12,0x6F,\r
+0xF0,0xC5,0xC5,0x0A,0xDE,0xE8,0x3D,0x33,0x6E,0x91,0xA5,0x80,0xE2,0x3F,0xE3,0x3C,\r
+0x5F,0xA8,0xA6,0x3F,0x0C,0x7C,0x36,0x46,0x6C,0x35,0x60,0x8C,0x3A,0x77,0xF6,0x5E,\r
+0x12,0x43,0x04,0xBD,0x92,0x5A,0x23,0x2E,0xBF,0xA0,0x86,0x1E,0xEA,0x2C,0xFD,0x15,\r
+0x88,0x06,0xBB,0x13,0xDC,0x2D,0x99,0x3F,0x07,0x6D,0xAC,0x0D,0xF9,0x09,0xEF,0x26,\r
+0xAE,0x04,0xAA,0x30,0x4E,0x10,0xBA,0x4D,0x2B,0x70,0x02,0xDA,0x38,0x66,0xD5,0x78,\r
+0x9E,0xD8,0x29,0x1D,0x44,0xB2,0x7F,0xE1,0x27,0x46,0x19,0xC0,0x9C,0x79,0xC4,0xA0,\r
+0x31,0xB5,0x4A,0x28,0x38,0x63,0xCB,0x0E,0x52,0x0D,0xDD,0x68,0x54,0xEA,0x97,0x73,\r
+0x8E,0x3D,0x42,0x9A,0x9D,0xF6,0x2F,0xDF,0xED,0xAD,0x3C,0x2A,0x0D,0x56,0x59,0x23,\r
+0x9B,0x2C,0x76,0xAB,0x79,0xB8,0x7D,0xEE,0x20,0x2B,0xD2,0x91,0x7B,0x03,0x60,0x96,\r
+0x99,0x71,0x01,0x5D,0x57,0xD3,0xC4,0x35,0x95,0x4E,0x91,0x7F,0x4F,0xDC,0x9B,0x69,\r
+0x49,0x76,0x34,0x31,0xEB,0x85,0x5E,0x9C,0x45,0xE1,0xC0,0x06,0x82,0x6B,0x87,0x4C,\r
+0x90,0x40,0xFA,0xE9,0xD8,0x51,0xCE,0x85,0xC5,0xE7,0xEE,0x47,0xD0,0x3A,0x03,0xB7,\r
+0x1A,0xE0,0x2E,0xC0,0x48,0xA9,0x49,0xFB,0x77,0xEF,0x66,0xF8,0x0B,0x8C,0x42,0x57,\r
+0x01,0x69,0xC9,0x05,0x82,0x8C,0xA2,0x11,0x8D,0xAE,0x20,0xE0,0xFC,0x2D,0xA0,0xD0,\r
+0xB5,0x8D,0x4D,0xF5,0x74,0xD1,0xD5,0x13,0x09,0xFF,0x72,0x1B,0x07,0x54,0x64,0x2C,\r
+0xD3,0x33,0x8B,0x9F,0xB3,0x9D,0x96,0x04,0x26,0xD8,0x6B,0x27,0xAB,0x58,0x6B,0xDD,\r
+0xA7,0x35,0x51,0x84,0x4F,0x62,0x24,0xAA,0x23,0x11,0x65,0x7A,0x34,0xBE,0xF3,0x03,\r
+0x87,0x0C,0xB9,0x2E,0x0E,0xB9,0x92,0x4A,0xC3,0x14,0x57,0xF1,0xEB,0xC3,0x8A,0xB1,\r
+0xF7,0x6C,0xED,0x4A,0x80,0x49,0x06,0x1D,0x72,0x26,0x68,0xA5,0x0A,0x63,0x35,0xF3,\r
+0x75,0x6F,0x13,0x1E,0xAC,0xE7,0x1B,0xCA,0xAE,0xBF,0x22,0xC6,0x0E,0xA8,0x0D,0xA1,\r
+0x5C,0x67,0x00,0x00,0x7A,0x0F,0x47,0x05,0x2F,0x27,0x7E,0x60,0x41,0x15,0x9E,0x34,\r
+0x61,0xEC,0xF6,0xE6,0xA5,0xF2,0xE4,0x8D,0xC2,0x8A,0x25,0x16,0x7A,0xEC,0x17,0x32,\r
+0x21,0x50,0x21,0xAF,0x78,0xCA,0xE3,0x09,0xF2,0x20,0x46,0xE4,0xED,0x19,0x91,0xC5,\r
+0x7E,0x03,0x9F,0x5C,0x47,0x05,0x45,0x0A,0x29,0xD4,0xC7,0xD6,0x00,0x61,0x08,0xFC,\r
+0x94,0x26,0x74,0x96,0x37,0xCF,0xC7,0xFF,0x8B,0x5D,0x99,0x56,0x7D,0xD9,0x7B,0xE2,\r
+0xBF,0x73,0x10,0x7E,0x1B,0x61,0xDA,0x28,0x22,0x8F,0x17,0x9D,0xF1,0x1A,0xF1,0x0F,\r
+0xFA,0x3B,0x98,0x81,0xF7,0x48,0xE9,0xB9,0x0F,0x0C,0xCB,0xAD,0xB4,0xA5,0x5F,0x95,\r
+0x29,0xF3,0x0B,0xD2,0x41,0xBC,0xB6,0xBC,0xC7,0x43,0x2B,0x4B,0xC1,0x0E,0x32,0xA2,\r
+0xC1,0x8B,0x97,0xEE,0x50,0x18,0xA9,0x64,0x1C,0xB7,0xAA,0x79,0xEF,0x08,0xB2,0xE3,\r
+0x50,0xA2,0xA4,0x02,0x16,0x08,0x72,0xD5,0x15,0x48,0xBF,0x3E,0x6E,0xFC,0x69,0xD1,\r
+0x36,0x1C,0x62,0x68,0x8C,0x52,0x30,0x07,0x5A,0x6C,0xBA,0xC8,0x28,0xBD,0x93,0xC9,\r
+0x3B,0x4B,0x17,0xA3,0xD3,0x81,0x95,0xCE,0xA7,0x40,0x37,0x81,0xB0,0x6E,0x67,0xC7,\r
+0xA8,0x3F,0x53,0xB9,0xFC,0x98,0xB2,0xF2,0xF0,0x84,0x83,0xE8,0xBB,0x83,0x2D,0x6C,\r
+0x53,0x6D,0x02,0x3D,0xD4,0x4A,0xF8,0x9F,0x36,0x59,0xBD,0x18,0x70,0xEE,0x2A,0x3D,\r
+0x1C,0xDB,0xD7,0x49,0x73,0x1A,0xB8,0x42,0x24,0x7C,0xAE,0x2B,0x23,0x50,0xD9,0x62,\r
+0x0B,0x97,0x94,0x8E,0x51,0x6A,0x37,0x83,0x61,0x9D,0x09,0x71,0x75,0xCA,0x65,0xCB,\r
+0xF5,0x31,0x9A,0xBC,0xCD,0x89,0x86,0xE7,0xA2,0x89,0x39,0xDC,0x5E,0xE8,0xAA,0x7C,\r
+0xB8,0xDA,0x38,0x3E,0x89,0x5C,0xF9,0x5A,0xCF,0x22,0x4C,0xEB,0xAD,0x82,0x70,0xA9,\r
+0xBD,0x2E,0x67,0x88,0xC9,0xF5,0xD1,0x5D,0xD7,0xC2,0xFD,0x74,0xDF,0x1C,0x71,0x4E,\r
+0x38,0x84,0xB1,0x9C,0xB6,0x93,0x5F,0x59,0x11,0x1F,0xC3,0x84,0xD6,0xE0,0x18,0xC3,\r
+0x86,0x9E,0x68,0xE7,0xB1,0x58,0x32,0x08,0xEA,0xC0,0xF7,0x7B,0x27,0x9B,0xE1,0x30,\r
+0x55,0x56,0xFB,0xB4,0x43,0x79,0x12,0xB0,0x75,0x4B,0xA3,0xF4,0xFE,0x3C,0x83,0xF6,\r
+0xDE,0x64,0xFE,0x54,0xA8,0x9B,0x4C,0x70,0xE2,0xA1,0x90,0xDB,0xC4,0x2A,0x7D,0x54,\r
+0x77,0x32,0x64,0xE8,0x33,0xB3,0x90,0x45,0x4D,0x80,0xA7,0xA6,0x87,0x4F,0xC8,0xBA,\r
+0xEC,0xE5,0x0A,0x8F,0x3C,0x1F,0x9C,0xB4,0x06,0xF3,0xDE,0xEA,0xCD,0xD6,0x14,0xD9,\r
+0xBE,0xE1,0xC1,0xB7,0x99,0x8A,0x78,0x65,0xE5,0xCC,0x5B,0x8A,0x78,0xFD,0x34,0x14,\r
+0x20,0xC2,0xF0,0x66,0x04,0x1B,0x57,0xE6,0xB0,0xAC,0x2A,0xEF,0xB7,0x5B,0x0B,0x17,\r
+0x6A,0x80,0x7A,0xA4,0xBE,0xF4,0x3E,0xF9,0x1F,0x8D,0x1D,0x92,0x96,0x7B,0xF9,0xAF,\r
+0xAC,0x59,0xDD,0xC6,0xE4,0x29,0x52,0x6D,0x86,0xF5,0xF0,0xAB,0x4E,0x33,0xEC,0xCD,\r
+0x8F,0xAF,0x93,0x53,0x76,0x14,0x71,0x1F,0x40,0x28,0xCE,0x5B,0xC8,0xF2,0x5B,0x2F,\r
+0x98,0xE3,0xD0,0x94,0xDF,0x9A,0xA3,0xD4,0x7C,0xB4,0xB6,0xB3,0x8F,0x5C,0xD6,0x93,\r
+0x39,0x16,0x60,0x55,0xCE,0x3E,0xBC,0x0C,0x62,0xA7,0xBE,0x9A,0xB1,0x81,0x10,0x63,\r
+0x89,0x94,0x6A,0xDA,0x6A,0xD9,0xC6,0x3A,0x46,0xDB,0x77,0xED,0x42,0xEB,0xCA,0xB6,\r
+0xB2,0x24,0x65,0xB5,0x19,0xA4,0x7E,0x24,0x2C,0x1D,0xC9,0x8B,0xFA,0xF7,0xBB,0xA4,\r
+0xE9,0x11,0x55,0x39,0xFA,0x21,0x41,0x44,0xC1,0xB0,0x92,0xFD,0xFB,0x18,0xCC,0x00,\r
+0x10,0x1E,0x73,0x4B,0x6F,0xD7,0x0F,0x67,0x98,0xE6,0xF8,0x82,0xE4,0xE5,0xF8,0x48,\r
+0x25,0x36,0xAF,0xD0,0x7F,0x01,0x8E,0x58,0x25,0xE2,0xDC,0xCC,0x45,0xDE,0xA6,0x66,\r
+0x4F,0x4D,0xCD,0xB8,0x56,0xA1,0x5A,0xD2,0xDB,0xF4,0xE6,0x6E,0x12,0xAB,0x6D,0x6B,\r
+0x40,0x47,0xCF,0x85,0xFE,0x5D,0x16,0xFE,0x58,0xC8,0x7F,0xC4,0xCC,0x39,0x63,0x7D,\r
+0xE9,0x58,0xC1,0x9F,0xA7,0x85,0x45,0xEE,0xBC,0x5F,0x89,0xD8,0xCC,0x05,0x1B,0x39,\r
+0x04,0x12,0x6A,0x94,0x13,0xD2,0x2C,0x2A,0xA5,0x63,0xA6,0xFF,0xD6,0x96,0x6F,0x7D,\r
+0x3A,0xAC,0xCF,0x07,0x8A,0x51,0x86,0x16,0x3E,0xEF,0x06,0xD2,0x3C,0xB1,0xFF,0xBD,\r
+0x84,0x5F,0x90,0x54,0x99,0x43,0xB5,0x33,0x6E,0x32,0xA1,0x92,0x48,0xFE,0x49,0x68,\r
+0x62,0xC7,0x4E,0xCB,0x8E,0x69,0xD4,0xDD,0x3C,0xC9,0x25,0xC3,0x9B,0x6C,0xAF,0xFD,\r
+0x64,0x47,0x0F,0xE5,0x0F,0xB2,0xE6,0x29,0x98,0x11,0x34,0xDC,0xA7,0x84,0xD7,0x61,\r
+0xD7,0xE6,0x64,0x0C,0x9E,0x2F,0x65,0x06,0x76,0xAA,0xF9,0x5A,0x1D,0x9B,0x38,0x08,\r
+0x96,0x1C,0x7C,0x4A,0x9B,0x60,0x93,0x22,0x2C,0x78,0x63,0x18,0x77,0xFD,0x86,0xCE,\r
+0xF1,0x94,0x9D,0x03,0xD3,0x9F,0xD6,0xAA,0x7C,0xA5,0xC4,0x58,0x92,0x2B,0xBA,0x02,\r
+0x8A,0x6D,0x6E,0xF2,0xE7,0x64,0x29,0x75,0xB7,0xF4,0xC3,0x35,0xE9,0x95,0xA0,0xDB,\r
+0x40,0x08,0xF9,0xE0,0xB4,0x97,0x76,0xCB,0xBF,0xDD,0xDD,0x26,0x21,0x73,0x40,0x94,\r
+0x56,0xF6,0x5B,0xDA,0x87,0x00,0x59,0x21,0x5D,0x1D,0x36,0x78,0xC1,0xF8,0x72,0x91,\r
+0x82,0xDF,0xD1,0x7A,0x1D,0xD7,0x71,0xE3,0xAD,0x4A,0xB8,0xEC,0xC9,0x58,0x15,0xF0,\r
+0xA0,0x10,0x66,0x51,0x2D,0x14,0xDC,0xF7,0x4E,0x2E,0x24,0x5D,0xFB,0xA6,0xB3,0xFE,\r
+0x76,0x04,0xE3,0xFB,0xD9,0xA2,0xD9,0xA8,0xD1,0xF0,0xBC,0xBB,0xFD,0x10,0x0A,0x0D,\r
+0xE8,0x05,0x04,0x89,0x68,0xBA,0x46,0x48,0x78,0xF7,0xFC,0x93,0x4B,0x15,0xFE,0x52,\r
+0x59,0x99,0x60,0x6A,0xD4,0xF3,0x06,0x9F,0x0D,0xC0,0x91,0x38,0xB3,0x01,0x7D,0xB7,\r
+0x11,0x8C,0x02,0xB2,0x39,0x6A,0x3F,0xE7,0xD0,0x54,0xCB,0x54,0xD1,0xC7,0xA4,0x10,\r
+0x36,0xA3,0x3E,0xAB,0x92,0x09,0x1E,0xDE,0xBE,0x79,0xAA,0xC9,0xE1,0x35,0xC7,0xBA,\r
+0x98,0x2E,0x82,0xEC,0xEA,0x35,0xF6,0x42,0x30,0xB2,0x03,0x1B,0x26,0x22,0x8B,0xF9,\r
+0xBC,0x61,0x74,0xE9,0xFA,0x73,0x47,0x99,0x3B,0x19,0x49,0xF6,0xFA,0x41,0xC1,0x60,\r
+0x25,0xBD,0x17,0xA3,0x83,0x38,0x0B,0xEA,0x97,0xE8,0x46,0xFA,0x9D,0xDA,0x16,0x0E,\r
+0x31,0x7E,0xBA,0x93,0x0E,0xC5,0x42,0xC6,0x3F,0x4B,0x71,0x3D,0x13,0x8D,0xE6,0x9A,\r
+0x97,0x41,0xB9,0x5C,0x7F,0x90,0x27,0xA6,0xAE,0xC8,0xEC,0x12,0xC2,0x13,0xC5,0xAB,\r
+0xB4,0xD3,0xCB,0x61,0xF8,0x50,0x61,0x88,0x25,0xF5,0x0A,0xE4,0xA5,0x88,0x12,0xC5,\r
+0x8F,0x8D,0xE5,0xC0,0xDC,0xED,0x2F,0x8C,0xF3,0xCA,0x1A,0x65,0x3E,0xBD,0x3A,0x19,\r
+0x53,0x16,0xD0,0xE8,0x5B,0x2D,0x69,0xA2,0x79,0x53,0x8B,0x7C,0xF0,0xED,0x63,0xA5,\r
+0xC1,0x18,0xC6,0x36,0xC2,0xAE,0xC3,0x9E,0x85,0x7F,0x23,0x30,0xCD,0xE2,0x69,0xA7,\r
+0x81,0xBF,0x1B,0x66,0x53,0x33,0x40,0xB1,0xFD,0x97,0x1F,0xAC,0xAF,0x24,0xB0,0x00,\r
+0xEB,0x65,0xCE,0x95,0x9A,0x17,0x37,0xCD,0x1A,0xA1,0xBB,0xD6,0x20,0x94,0x32,0x0A,\r
+0x72,0xB9,0xAD,0xDF,0xB6,0xB4,0x50,0xDA,0x05,0xE9,0x8F,0x2B,0x4C,0x44,0x35,0x3F,\r
+0x9D,0xCE,0x09,0xDE,0xED,0x59,0x26,0x77,0x80,0x89,0x6C,0x14,0xC0,0x1F,0x00,0x0F,\r
+0x55,0x96,0x91,0xC6,0x81,0x1B,0x2D,0xFB,0xCC,0x9E,0xAB,0x57,0x7F,0x5D,0xE1,0xAF,\r
+0x4F,0x67,0xC2,0x50,0x14,0xBE,0xFC,0x1F,0x31,0x16,0x74,0xF4,0xA8,0x75,0x7B,0x6D,\r
+0x46,0x88,0xB8,0xCE,0xA2,0xCA,0xB3,0xCA,0x7E,0x83,0xE7,0x49,0xC8,0xBF,0x67,0x6E,\r
+0x1D,0x83,0xF3,0x1E,0x44,0x19,0x21,0x5F,0x58,0xEB,0x79,0x5C,0x4A,0xF2,0x8C,0xCC,\r
+0x5B,0xA4,0x6F,0x60,0xF1,0x39,0xEC,0x74,0x37,0x62,0x6F,0x2E,0x8A,0xB4,0x0B,0xE2,\r
+0xB5,0x8E,0x0E,0x77,0x82,0x4F,0xAF,0x05,0xAC,0xEE,0xCF,0x03,0x95,0x7A,0x71,0x6F,\r
+0xED,0xE5,0x8F,0xBB,0xF0,0x4E,0x48,0x9B,0xAA,0x9A,0xD4,0xD9,0x54,0xDB,0x84,0xDF,\r
+0x51,0x2B,0xDF,0xE2,0xB1,0xD8,0x80,0xEF,0xCD,0x3A,0xDC,0xB8,0x81,0xFF,0xDB,0xB9,\r
+0x69,0x15,0x3B,0x5F,0xF6,0x55,0x3C,0x41,0x9C,0x43,0x0C,0x17,0xDE,0x36,0x08,0x1C,\r
+0x3C,0x2C,0x8E,0x29,0x18,0x98,0x87,0xC7,0xD2,0x72,0xE8,0x45,0xEF,0x23,0x19,0x28,\r
+0x01,0xF2,0xE1,0xA6,0xE4,0x30,0xAB,0x8B,0xA1,0x31,0x9E,0x34,0x44,0xE4,0x52,0x5E,\r
+0xB6,0xEE,0xC4,0x6B,0xB5,0xE0,0xD2,0x24,0xF7,0x98,0x22,0xAE,0x28,0x34,0x55,0x6B,\r
+0x0C,0xA0,0xD5,0x1C,0x26,0x5E,0x77,0x1A,0x34,0xE0,0x3B,0xD0,0x45,0x03,0x20,0xC0,\r
+0x63,0x9A,0x8B,0xDD,0x88,0x72,0xA0,0x07,0x09,0x92,0xA9,0xF3,0x66,0x25,0x22,0xD1,\r
+0x80,0xE2,0xDE,0x70,0xF9,0x27,0xC5,0x67,0x47,0xA3,0x4D,0xA1,0x5D,0x9C,0x91,0x20,\r
+0x13,0xB1,0x0D,0xB8,0x3D,0x52,0x6D,0x2C,0x96,0x4C,0x31,0x15,0x68,0x33,0xFC,0x43,\r
+0xD4,0x86,0xAE,0x10,0x41,0x56,0xD7,0x7B,0x46,0x07,0x3A,0x4E,0xF1,0x0A,0x11,0x3B,\r
+0x32,0x1E,0x70,0x8F,0x4F,0x53,0x8A,0xB2,0xB9,0xA9,0xC6,0xFC,0xEA,0x7E,0x17,0xE1,\r
+0x09,0x40,0x5E,0x2E,0x4C,0x07,0x08,0x4C,0x6D,0xB0,0xF5,0x6C,0x3F,0x5A,0x48,0x87,\r
+0xA9,0xFF,0x1C,0xCF,0x73,0xB6,0x5C,0x7E,0x9D,0xE7,0x7B,0xF8,0x5B,0x2A,0x28,0xD3,\r
+0xE6,0x37,0xFA,0x2F,0x42,0x02,0x55,0x85,0x8D,0x56,0x3D,0x23,0xB5,0xB7,0xC4,0x44,\r
+0x50,0x76,0x1A,0xF4,0xCA,0xB0,0xEA,0x8D,0x75,0x28,0xAD,0xA4,0x9C,0x3D,0x64,0x90,\r
+0x3E,0x11,0x81,0x23,0x56,0x7C,0xB6,0x95,0xF5,0xBE,0x01,0xBF,0x80,0x18,0xA9,0x27,\r
+0x47,0xD5,0x7D,0xD8,0x04,0xF8,0x4D,0xC4,0xA8,0xBC,0xF7,0xC8,0x70,0xAC,0x4D,0xA3,\r
+0xB3,0x0E,0x4F,0x59,0xBD,0xFE,0xFB,0x37,0xEB,0x52,0x42,0xAD,0xE3,0x39,0x02,0x1E,\r
+0x0B,0x7D,0x51,0x24,0xE3,0x5C,0x7B,0xBE,0x21,0xA7,0x32,0x2F,0x29,0xD3,0x27,0xF5,\r
+0xCF,0x2A,0x38,0x90,0xEF,0x7A,0x00,0x66,0x6C,0x14,0x82,0x83,0xF4,0x57,0x1F,0xF2,\r
+0x70,0x84,0xA2,0xD5,0x33,0x57,0x30,0xE5,0x45,0x85,0x6E,0xB0,0x0B,0x12,0x57,0x7A,\r
+0x7F,0xEB,0x99,0x65,0x5A,0x5A,0xCD,0x4D,0x2B,0xA8,0x0F,0x2D,0x75,0xF1,0x43,0x6A,\r
+0xC2,0x78,0x0C,0x2A,0x06,0xDB,0x6B,0xD5,0xC3,0x67,0xD9,0x71,0x6B,0xD8,0x4B,0x79,\r
+0x73,0xE4,0x68,0xC9,0x62,0x87,0x49,0x4A,0xEE,0xA4,0x0D,0x89,0xDA,0x8C,0x74,0x4B,\r
+0x86,0x62,0x9F,0x5E,0x01,0xB7,0xBB,0xE0,0xD6,0x20,0xD0,0x8E,0x93,0xCC,0xC8,0x9C,\r
+0x3F,0x00,0x8F,0xEF,0x06,0xC2,0xF5,0xD5,0x37,0x42,0x73,0xF1,0x8A,0xE0,0x0D,0x64,\r
+0x11,0x80,0x89,0xAE,0x34,0x36,0x2E,0x54,0x28,0xE6,0x62,0x29,0x16,0xDC,0x75,0x8C,\r
+0x90,0x5B,0x7D,0x9C,0x73,0xC9,0x27,0x41,0xF3,0xF6,0x24,0x98,0x25,0x30,0x5C,0x1D,\r
+0xD6,0xA1,0x3C,0x84,0x85,0xED,0x68,0x44,0xB1,0xAC,0xBE,0x4A,0xE3,0x5A,0xE2,0x7B,\r
+0x4E,0x55,0xEF,0x8A,0xCC,0xC1,0x95,0xC9,0x14,0x7F,0xE1,0x83,0x96,0x91,0xB5,0x76,\r
+0x45,0x1F,0x02,0x21,0xA5,0x05,0xC2,0x7D,0x33,0x66,0xCE,0xBF,0xD2,0x8B,0xC1,0xE5,\r
+0x8E,0x18,0x6F,0x70,0x55,0xD8,0x04,0x43,0x79,0xB4,0xE6,0xD2,0x83,0x0F,0x93,0x1E,\r
+0xDD,0xEB,0xD1,0x2F,0x66,0xFD,0x16,0x50,0x39,0xE4,0x41,0x0F,0x56,0x7B,0x25,0x51,\r
+0x8B,0x57,0x4B,0x86,0x3C,0x1C,0x53,0xF7,0xB6,0x94,0x63,0xCE,0x15,0xBC,0x69,0x46,\r
+0xA0,0x98,0x69,0x31,0x91,0x08,0x90,0xC7,0x07,0x77,0xFF,0xAA,0x1B,0x8E,0xCF,0xB8,\r
+0x53,0x42,0x03,0xE4,0xA6,0xA3,0xFD,0xB2,0x78,0xA2,0xBB,0x17,0xB9,0x0C,0x24,0xF5,\r
+0x21,0x43,0x9D,0x03,0x39,0x43,0xE5,0x03,0x50,0x0B,0xFB,0x10,0xE6,0xBA,0xD0,0xF0,\r
+0x28,0x2A,0x61,0x8E,0xC9,0x9E,0x23,0x3D,0xDE,0x6D,0x84,0x14,0x30,0xAE,0x7A,0x75,\r
+0xD9,0xD3,0x1A,0x7D,0x36,0x41,0xD8,0x09,0xB3,0xA6,0x83,0x45,0xE9,0xD5,0x60,0xCB,\r
+0x00,0xB1,0xBD,0xBB,0xB9,0xCA,0x47,0x5D,0x93,0x87,0x71,0xFD,0x7A,0x86,0xA8,0x18,\r
+0x3A,0x4F,0xAB,0x19,0x96,0x20,0xD0,0x6E,0xCD,0x65,0x9A,0x3D,0x7F,0x66,0x9A,0x93,\r
+0x79,0xFA,0xCE,0xF7,0xEB,0x01,0x7F,0x59,0x11,0x4D,0x01,0x08,0xE5,0xDA,0xCC,0x3A,\r
+0x33,0x26,0x57,0x94,0xA7,0x72,0x34,0x20,0x1D,0xE1,0x0E,0xF9,0x8B,0xBD,0x1B,0xA1,\r
+0x86,0x06,0x7C,0x59,0xC7,0x4D,0xD7,0xA5,0xF9,0x74,0xAB,0x28,0x40,0x85,0x1F,0xF3,\r
+0x49,0x39,0xDA,0x5A,0xA2,0x2D,0x82,0xD4,0xD6,0xE5,0x36,0xAB,0x71,0x54,0x3C,0x6D,\r
+0x68,0xCB,0xFA,0xE2,0xDF,0x0C,0x2D,0xE3,0xBF,0x0A,0x8C,0xB4,0xFB,0x96,0x7E,0x27,\r
+0xB0,0xDE,0xB2,0x80,0xE6,0x74,0xB4,0x0E,0xD3,0xD7,0xD6,0x20,0x5C,0xF4,0xA7,0xE1,\r
+0x36,0x69,0x73,0x62,0x16,0xA9,0x72,0x30,0xF0,0xEA,0x44,0x52,0x12,0x61,0x51,0xC2,\r
+0x71,0xE4,0xDD,0xDE,0xFE,0x35,0x4E,0x48,0x22,0x64,0xED,0x99,0x51,0xA6,0x1D,0xD5,\r
+0x4F,0x22,0x00,0x2E,0xD7,0x26,0x50,0x40,0x3D,0xC0,0xFC,0x41,0xE1,0x67,0xE8,0x74,\r
+0xBC,0xF8,0x6A,0xFB,0xA0,0x5A,0x74,0x89,0x47,0x27,0x58,0x77,0xEB,0xE8,0x6A,0xC4,\r
+0x04,0x89,0x76,0xE9,0xC6,0x9C,0x1E,0x37,0xFF,0x5A,0x2B,0x69,0xE4,0x87,0xDA,0xFF,\r
+0x05,0xFE,0x99,0x4D,0xB0,0x31,0xF3,0x6C,0xC0,0xDF,0xC8,0x09,0xD4,0x0B,0xEF,0xA4,\r
+0x1A,0xCA,0x64,0x05,0xCF,0x67,0xAA,0x06,0x8E,0x29,0x5D,0x2A,0xF2,0x79,0xE0,0x5D,\r
+0xBB,0x94,0x5F,0x2B,0x81,0x63,0x17,0x22,0x0F,0xFF,0x4D,0x15,0x2E,0xE2,0xC8,0x68,\r
+0xEC,0x5F,0x2A,0x26,0x23,0x75,0xE9,0x18,0xDB,0x5F,0x64,0x9F,0x4C,0x8A,0xB3,0x02,\r
+0x32,0x51,0xB8,0x30,0x89,0x49,0x6A,0x81,0x97,0xA3,0xCC,0xB3,0x4E,0xB7,0xB9,0x0D,\r
+0xAD,0xC9,0x5E,0xEE,0x4F,0xEE,0x08,0x58,0xE8,0x76,0x88,0x0E,0x84,0xD2,0xAB,0x9A,\r
+0xBA,0xE3,0xB0,0x8F,0x0C,0x9F,0x7E,0x2B,0xC5,0xED,0x28,0x82,0x09,0xCD,0xD1,0x54,\r
+0x38,0x6C,0xBA,0x3F,0x60,0x04,0x9F,0x6B,0x53,0x17,0x9B,0xDA,0x52,0xC6,0x01,0x1F,\r
+0x61,0xA2,0x06,0x6F,0xA8,0x70,0x09,0x2A,0x32,0x70,0x93,0x7A,0x34,0x13,0x5E,0x3B,\r
+0x8A,0x20,0xA4,0x22,0x1C,0xF4,0xF9,0xCE,0x1F,0xEB,0x33,0xF6,0x86,0xEF,0xA1,0x95,\r
+0x1C,0xD1,0xBE,0x71,0xCD,0x10,0x5C,0x5B,0xBC,0x16,0xEC,0x7E,0x44,0x38,0x3B,0xBD,\r
+0xC4,0xC4,0xF6,0x13,0xC1,0xB4,0x5E,0x9E,0xB7,0x82,0x3E,0x0B,0x27,0x0D,0x56,0x12,\r
+0x14,0xCF,0xAD,0x58,0x53,0x21,0x8D,0x78,0xA2,0xA4,0xA0,0x63,0x85,0x8F,0xBD,0x5F,\r
+0x07,0xDD,0x88,0x6B,0x40,0xEC,0x35,0x52,0x18,0xD3,0xEE,0x72,0x3A,0x21,0xF8,0xC5,\r
+0xC6,0xE7,0xE7,0x35,0x97,0xF1,0x19,0xFC,0x3B,0xEE,0x7C,0x00,0x2B,0x02,0xFA,0xE3,\r
+0x62,0xF6,0xF8,0xED,0x8D,0xC7,0x15,0xE7,0xFE,0x4C,0x76,0xAC,0xA8,0x2F,0x26,0xD3,\r
+0xAA,0xA5,0x6B,0x3E,0x25,0x8C,0x60,0x23,0x4A,0x9D,0x0A,0x43,0xCB,0x1A,0x4B,0x7C,\r
+0xF3,0x6B,0xD7,0x6E,0x67,0x2C,0xDF,0xC2,0xAE,0x08,0xAF,0x92,0xC3,0xA8,0xC3,0xC3,\r
+0x85,0x52,0x82,0xDB,0xDC,0xAA,0x12,0x2C,0xFC,0x46,0x4B,0xA3,0xF7,0x99,0xD2,0xD6,\r
+0xB1,0xA9,0x5D,0x24,0x32,0xCF,0xA7,0x6F,0x45,0x2D,0x65,0x78,0x80,0x6F,0x8F,0xD4,\r
+0x7C,0xB5,0xEA,0x01,0x4B,0x60,0x77,0x3E,0xDF,0x7B,0xD9,0xD1,0xB5,0x03,0x88,0x04,\r
+0x2E,0x31,0xBB,0xFA,0x0A,0x66,0xF7,0x10,0x4F,0xAF,0xEA,0xC8,0x7B,0xDB,0xBE,0xDD,\r
+0xF5,0x70,0x0D,0x1A,0xB5,0x6E,0x45,0x98,0xC8,0x57,0x7A,0xB6,0xAF,0xF2,0x1E,0x57,\r
+0x02,0x92,0xAC,0x9D,0xAD,0x2F,0xBF,0xDE,0x23,0x72,0xB0,0x5C,0x48,0x37,0x97,0x4C,\r
+0xF9,0x56,0xD5,0x61,0x56,0x7E,0x3B,0x8C,0x54,0x2F,0x46,0x5E,0xCC,0xC7,0x73,0xF8,\r
+0x55,0x59,0xD9,0x90,0x6A,0x59,0x14,0x95,0x17,0x63,0x81,0x49,0x0A,0xAD,0xCD,0x9E,\r
+0xCA,0xC1,0x3F,0x4E,0x37,0x90,0x11,0x9B,0xA5,0x9C,0x7D,0xE7,0xD0,0xB6,0xCB,0xEA,\r
+0x15,0xB8,0x42,0xFC,0xBC,0x95,0xF1,0xA9,0x13,0x47,0x3C,0x07,0x38,0x1C,0xF2,0xCA,\r
+0xF4,0x07,0xE2,0xBE,0xE8,0xA7,0x40,0x96,0x87,0xB7,0xB2,0x50,0x6C,0x78,0x92,0xBA,\r
+0xF0,0x3F,0x29,0xEC,0x8B,0x3E,0x9C,0xDC,0x9A,0x19,0x9E,0x87,0x92,0x2C,0x91,0x38,\r
+0xBF,0xAC,0x94,0x79,0x2D,0xA6,0x1D,0x80,0xC6,0xF1,0x48,0x48,0x81,0x32,0x99,0x11,\r
+0x84,0x25,0x6D,0x7F,0x5B,0x0B,0xF0,0xDB,0x65,0x0C,0x97,0xC0,0x77,0xD4,0x12,0x2C,\r
+0x13,0xA3,0x98,0x88,0xA9,0xA1,0xC0,0xB8,0x62,0x34,0x4A,0x44,0xA0,0x9D,0xAE,0x6C,\r
+0xFE,0x3A,0xE0,0xB1,0x9B,0x55,0x1B,0x39,0xC4,0xFB,0x75,0x47,0x1E,0x6E,0xFD,0x33,\r
+0x83,0x49,0x58,0xAF,0x1B,0xDC,0xB9,0x67,0x46,0x31,0x05,0xB2,0xF5,0xA4,0xD8,0xD9,\r
+0x0F,0xC3,0x9B,0x42,0xD0,0x0E,0x10,0xE9,0x5B,0x9F,0x29,0x65,0x91,0x4C,0x8D,0xF2,\r
+0x4A,0x6D,0x24,0xD8,0xE0,0x8D,0x3D,0x35,0x68,0xB6,0xC5,0xF4,0x19,0xB3,0xC5,0xB7,\r
+0xFB,0x51,0x4E,0xA6,0x98,0xEB,0xC2,0x45,0xC9,0x19,0xA6,0x07,0x53,0xE3,0xB7,0xB8,\r
+0xEA,0xF5,0x96,0xB9,0x04,0x03,0xBA,0x79,0x88,0x99,0x88,0x01,0x61,0x62,0x6C,0x4C,\r
+0x27,0x1B,0x2D,0x3F,0x6D,0x1C,0x55,0xC3,0xE3,0x38,0x61,0xB2,0xE2,0xF3,0xF1,0x63,\r
+0xBD,0x41,0xFF,0x7D,0xAB,0x7A,0xEB,0xA9,0xFB,0xC2,0x27,0xF3,0x14,0xF6,0xBE,0x47,\r
+0x57,0xD1,0xD8,0xBD,0x5C,0x82,0x76,0x12,0x46,0x86,0xF2,0x8C,0xC2,0xCA,0x5B,0x8B,\r
+0x78,0xC8,0xE4,0x9A,0x18,0x11,0x02,0x08,0xED,0xCC,0xF9,0x61,0xAB,0x7E,0x0C,0x4F,\r
+0xD8,0x53,0x68,0xB7,0xD8,0x36,0x92,0xE2,0x48,0x72,0x6A,0x5F,0x01,0xE7,0x8F,0x73,\r
+0x7F,0x03,0xB5,0xF7,0x0D,0x79,0x24,0x96,0x17,0x81,0x39,0xE1,0x32,0xF4,0x9D,0x56,\r
+0x66,0xC0,0xCD,0x89,0x95,0xDF,0x78,0x17,0x56,0x01,0x17,0xE7,0xF6,0x70,0x09,0x86,\r
+0xFA,0x23,0xA9,0x38,0x9B,0x21,0xDE,0x25,0xE1,0xCE,0x3C,0xC5,0x5B,0x40,0xCA,0x92,\r
+0x62,0xBC,0x77,0xDE,0x68,0x97,0x67,0x23,0x64,0xDA,0x96,0x13,0x5E,0xB4,0x7C,0xCD,\r
+0x22,0x15,0x70,0xF6,0x37,0x92,0x93,0x95,0x83,0xDB,0xE4,0x8D,0xC1,0x05,0x64,0x2D,\r
+0x1A,0x11,0x22,0x3D,0x67,0xAC,0xD7,0x4C,0x1A,0x4A,0x6E,0x94,0x51,0xBE,0x41,0xCF,\r
+0x1D,0xDA,0x73,0x50,0xBE,0x12,0xCD,0x37,0xE9,0xB3,0x9F,0xEF,0xAE,0x8A,0xBA,0x10,\r
+0x03,0xD2,0x5A,0x43,0xF1,0xF4,0x2D,0xFF,0x7E,0xD6,0x8D,0x25,0xF1,0xD9,0x49,0xAE,\r
+0xE8,0x30,0x9A,0x1D,0xF4,0x7F,0x1F,0x1F,0xDC,0x28,0xB7,0x33,0xDE,0xEA,0xDE,0x44,\r
+0x97,0x56,0x9E,0x93,0x05,0xC6,0xAC,0x24,0xF3,0xBF,0x84,0xD9,0xC0,0x97,0xAD,0xFC,\r
+0x98,0xFA,0x6F,0x9F,0x6B,0x5D,0x7B,0x43,0x90,0x63,0xCE,0x40,0x8C,0xEE,0xE6,0x8F,\r
+0xAF,0x52,0xCC,0x58,0xFF,0x0A,0x8B,0xCD,0x3D,0xA0,0xFE,0x54,0xC5,0x63,0x1B,0xA3,\r
+0x32,0xC3,0x4F,0x77,0xCE,0x94,0xA8,0x1C,0x3E,0x9F,0x31,0xF2,0xA0,0x12,0x4E,0xC3,\r
+0x4F,0x60,0x47,0x5D,0xD2,0x86,0x10,0x6D,0xE7,0x47,0x07,0x3C,0x81,0xB9,0x2D,0xFA,\r
+0x15,0xBD,0xD3,0x31,0x75,0x40,0xC9,0x0F,0x85,0x52,0xDF,0x74,0xB8,0x54,0xB4,0x82,\r
+0x74,0xD3,0xFE,0xAC,0xDF,0xB2,0xAA,0x3F,0xB9,0x7D,0xC6,0x53,0x99,0xFF,0xD7,0xBB,\r
+0xDD,0x5D,0x35,0x7E,0x9C,0xA5,0xE6,0xF8,0x05,0xF0,0x81,0xFD,0x71,0x87,0xEB,0x27,\r
+0xC1,0x90,0x10,0xC9,0x65,0xA3,0xDD,0x71,0x9C,0x61,0x0B,0xE4,0xC7,0x3E,0xED,0xD4,\r
+0x65,0x77,0x26,0xB3,0x6F,0x13,0x5F,0xFE,0x49,0xBB,0xF8,0x8E,0xB0,0xF7,0xC9,0xA8,\r
+0x51,0x68,0x6E,0x4E,0x5A,0xC3,0x58,0x92,0x2A,0x67,0xB2,0x17,0xD7,0xDB,0x6A,0xBF,\r
+0xB2,0xED,0x0E,0x71,0x6A,0x98,0x6D,0x1E,0x8E,0x10,0xB3,0xF8,0xA1,0x80,0x87,0x12,\r
+0xD4,0x48,0x72,0x81,0xA0,0x0F,0x7F,0x7B,0x4C,0x0D,0x0C,0xD1,0xE6,0x95,0x8E,0xED,\r
+0xC4,0x9E,0x4D,0x00,0x7C,0x3A,0x57,0xE0,0x62,0x53,0xAD,0xEA,0xA8,0xB1,0x33,0xE9,\r
+0x55,0x14,0xD4,0x19,0xC0,0x6A,0x0E,0x2E,0x57,0xC8,0x85,0x36,0xEE,0x36,0xF3,0xC7,\r
+0xFD,0xE8,0xF8,0x55,0xC2,0x65,0x04,0x13,0x41,0xC6,0x5B,0xA4,0x44,0xAF,0x70,0xFB,\r
+0xB1,0x5A,0xE5,0x4B,0x87,0x33,0x66,0x54,0xE8,0x7A,0x0D,0x3E,0x6B,0x9C,0xE7,0x11,\r
+0x11,0xC1,0x69,0x66,0x0A,0xFD,0x1C,0x4B,0x89,0x50,0x1A,0xD0,0x28,0xEF,0x91,0x60,\r
+0x0A,0xC7,0x1D,0xBC,0xBA,0x5C,0xE9,0x8A,0x08,0x3B,0xD6,0x88,0xCF,0x9D,0x90,0xFE,\r
+0x02,0xA0,0xBD,0xDD,0xDC,0x78,0xB6,0x5F,0x58,0xF5,0x8F,0x34,0x07,0xDC,0x06,0x8A,\r
+0x75,0xA1,0x19,0x32,0xCA,0xDA,0x8C,0xA1,0x16,0x48,0xAB,0x30,0xAA,0xEC,0xC5,0x9E,\r
+0xAA,0x5C,0x91,0x91,0x08,0xF2,0x16,0x76,0x45,0xB9,0x3D,0x2A,0x7B,0x79,0x60,0x7A,\r
+0x39,0x13,0x04,0x2C,0x0B,0x38,0x0A,0x16,0x3F,0x56,0xA3,0x23,0x34,0xCF,0x14,0xAF,\r
+0xA7,0x35,0x6C,0x39,0xA9,0x75,0xE1,0x94,0x74,0x5D,0x73,0x78,0xA6,0x29,0xC7,0x3A,\r
+0xE5,0x59,0x67,0xB5,0xA5,0x84,0x4D,0x9B,0x52,0x7E,0x71,0x69,0xF0,0x4B,0x80,0x7F,\r
+0x77,0x64,0x15,0x96,0xB4,0xA2,0x4F,0xB8,0x0C,0x44,0xB0,0x06,0x27,0xE5,0xAC,0x62,\r
+0x93,0x2A,0x24,0xC4,0x45,0x1B,0xFC,0x83,0x59,0x3C,0x1D,0xE5,0x42,0x94,0xF9,0x02,\r
+0xEF,0xFB,0xCB,0x70,0x26,0xB4,0x91,0xB6,0x8A,0x6F,0xD5,0x76,0xEA,0x50,0x8C,0x49,\r
+0xD2,0xF1,0xC4,0x72,0x79,0xB1,0x65,0x00,0xBC,0xCB,0x32,0x0C,0xBB,0x9B,0x8B,0x24,\r
+0x36,0xBF,0xF5,0x20,0x4D,0xA4,0x74,0x31,0x09,0xF2,0x44,0x59,0x00,0x75,0x46,0xA2,\r
+0x40,0xCC,0xB6,0x51,0x3B,0x63,0x3F,0x9A,0x66,0x2C,0xCB,0x64,0x2C,0x89,0xEE,0xEE,\r
+0xFC,0x9A,0x1F,0xCB,0x0E,0xB3,0x38,0xF6,0x43,0x30,0x06,0xD3,0x55,0xD8,0x3E,0x41,\r
+0xE3,0xE0,0xD1,0x46,0x21,0x30,0xA9,0x6B,0x7D,0xE9,0x42,0x83,0xD2,0x2F,0xDC,0xE0,\r
+0x73,0x18,0xAF,0xC1,0xF5,0xBA,0x09,0x42,0x9D,0xA8,0x99,0x35,0x6D,0xA7,0x6E,0xE8,\r
+0xDF,0x98,0x39,0xDA,0x42,0x9F,0xC4,0x5E,0x06,0xCF,0x4E,0x5B,0x31,0x3B,0xA2,0xF0,\r
+0x29,0xC5,0x3B,0xAD,0xC6,0x2B,0x20,0xAE,0xFA,0x0B,0xB5,0x22,0xCA,0x69,0x26,0xA1,\r
+0xE4,0x2B,0x80,0x2B,0x5E,0x8D,0x7C,0x2F,0x29,0x58,0x7D,0xB1,0x50,0x2C,0x88,0x1E,\r
+0x18,0xD4,0x2E,0x99,0x84,0xF9,0x7A,0x34,0xF7,0xC0,0xE2,0x57,0x0D,0x22,0x8D,0xD7,\r
+0x2B,0x00,0x37,0x09,0xE2,0xDD,0x25,0xE1,0xD9,0x9E,0x43,0x6C,0x8F,0x21,0xD9,0x29,\r
+0xA5,0xF0,0x60,0x9D,0xB6,0xAD,0x45,0x85,0x9B,0x21,0xA2,0xCC,0xDB,0x1E,0x68,0x1B,\r
+0xD1,0x46,0x2F,0x48,0x0F,0x76,0x2E,0xAB,0x1E,0x35,0x08,0x1A,0x4A,0x37,0x84,0x28,\r
+0x07,0xAE,0xE0,0x14,0x1C,0x5F,0x26,0xB5,0x8B,0xA6,0x47,0xA7,0xEC,0x6B,0x05,0xB0,\r
+0xD3,0x83,0x23,0xEC,0x2E,0x0B,0x19,0x04,0xEF,0x3A,0xA4,0x16,0xCE,0x0F,0x59,0x2F,\r
+0x0E,0xBB,0xA7,0xEB,0xF9,0x4B,0xA5,0x4D,0x18,0xBC,0x33,0xE3,0x3C,0x6C,0x69,0x85,\r
+0x9C,0x86,0xD5,0xC8,0x7B,0xBE,0x6F,0x3D,0xC8,0xD0,0x34,0xD6,0x7C,0xD0,0x20,0x52,\r
+0xEC,0x4C,0x20,0x4A,0x90,0x54,0x4A,0xF7,0xD6,0xA3,0x49,0x6E,0xFC,0x8E,0x82,0xDB,\r
+0x5C,0x01,0x93,0xE6,0x97,0xD0,0x72,0x2A,0xBF,0xF4,0xFD,0xAA,0x87,0x82,0xA4,0x03,\r
+0xB0,0x28,0x02,0xD5,0x1F,0x95,0x3A,0xD5,0x25,0x5A,0xB8,0x15,0xB7,0x5E,0x89,0x80,\r
+0xAA,0x91,0x6A,0x3B,0xDA,0x30,0x36,0xEF,0xF4,0x7B,0xB2,0x0A,0x70,0x8A,0xA6,0x0D,\r
+0x85,0x88,0x56,0x1C,0x9E,0xA3,0x42,0xF5,0x5F,0x31,0xB9,0xE7,0x19,0x3E,0xF1,0xC9,\r
+0x25,0x13,0xDA,0x31,0x5E,0x84,0xD2,0x1F,0xFA,0x8F,0x2A,0xD9,0xB3,0xA7,0x72,0xF5,\r
+0x82,0x43,0x07,0x71,0x8B,0xCB,0x64,0x6B,0xA5,0x7C,0x79,0x67,0x80,0xB4,0x60,0xD0,\r
+0x06,0x11,0xFC,0x20,0x1E,0x59,0x82,0xB8,0x7B,0xE4,0xE6,0x81,0xE1,0xA3,0x4A,0x3E,\r
+0x17,0xB5,0x24,0x3F,0x82,0xB1,0xFA,0x84,0x3A,0x64,0xC8,0x87,0xD3,0x22,0x91,0xCA,\r
+0xDA,0x5B,0x9F,0xB9,0xEB,0xAE,0x15,0x3E,0x51,0xC5,0x21,0x34,0x50,0xB3,0x0C,0xE5,\r
+0x40,0x01,0x4D,0xFB,0x2D,0xC8,0xAB,0x54,0x49,0x3F,0x67,0x75,0xA6,0xB6,0x43,0xC1,\r
+0xE7,0x51,0x90,0xBB,0xE1,0x1E,0x97,0xB1,0xA8,0xB7,0x2E,0x12,0xE3,0xFE,0xBC,0x49,\r
+0xE0,0x9A,0xC1,0xD6,0x38,0xA0,0x8D,0xCA,0x5B,0x4E,0xDF,0x69,0x1C,0xCA,0x47,0x96,\r
+0xFE,0x92,0xE8,0xC5,0x77,0x46,0x6D,0x02,0xCC,0x2B,0xCD,0xA3,0x43,0x99,0xB4,0x28,\r
+0x15,0x70,0x28,0x9B,0x72,0xCD,0x5F,0xE2,0x6E,0xD5,0xF7,0xB5,0x6C,0xAA,0x23,0xC2,\r
+0x9B,0x80,0x7F,0x0F,0x13,0x6D,0x38,0xEA,0xE4,0xFC,0x57,0x61,0x44,0x30,0xF4,0x00,\r
+0x07,0x63,0x1B,0xBE,0x1D,0x93,0x9E,0xD8,0x53,0x33,0x7C,0x43,0xE9,0x00,0x37,0x14,\r
+0x9F,0xFC,0xC5,0x58,0xEE,0x25,0x27,0xDE,0xD6,0x27,0xD6,0x95,0xEC,0xF4,0x81,0x4B,\r
+0xDF,0x55,0xC2,0x70,0xB1,0x20,0xD3,0x68,0x31,0x26,0xA4,0x0B,0x73,0x45,0x99,0xAB,\r
+0xB2,0x20,0xF5,0xDB,0x54,0x34,0x50,0x90,0x55,0xBA,0x47,0xBA,0x33,0xF9,0xD0,0x7C,\r
+0xE8,0xFD,0x61,0xB7,0xF3,0xF2,0x89,0xF2,0x37,0xAF,0x9F,0xF2,0x0A,0x14,0x49,0x04,\r
+0x89,0x93,0x4C,0x2A,0x59,0x00,0xEA,0xC2,0x0B,0x80,0x86,0xD5,0x2B,0xBF,0x2A,0x3D,\r
+0x20,0x1D,0x87,0xF8,0x1A,0x17,0xA6,0x05,0xB7,0x0D,0xC1,0x7B,0xC3,0xC7,0x16,0xA1,\r
+0x6A,0x16,0x2C,0x15,0x83,0x74,0xEC,0xD9,0x41,0x42,0xC4,0x5F,0x72,0xD7,0x50,0x7A,\r
+0x65,0xBA,0xDD,0x19,0xED,0xEF,0x3B,0xBE,0x22,0x9E,0x8E,0xC6,0x3E,0xAE,0x1B,0x09,\r
+0x52,0x12,0x7E,0xDE,0x79,0xB8,0xCB,0x30,0x8F,0x5D,0xBE,0xD2,0x77,0x23,0xE6,0x25,\r
+0xCF,0x83,0xFD,0xF1,0x48,0x26,0xE8,0xE1,0x8C,0x62,0x71,0x74,0x12,0x52,0xB3,0x45,\r
+0x29,0x08,0xC0,0x07,0x26,0xBD,0x3F,0x86,0xFE,0xF0,0x4C,0x57,0x54,0xD5,0x73,0x6B,\r
+0x39,0xDE,0xFF,0x86,0xFA,0x88,0x17,0x1D,0xD0,0xAE,0xED,0x6C,0x1A,0xF1,0xCE,0x6F,\r
+0xA8,0x54,0x66,0x9F,0x46,0xD8,0x4E,0xD3,0xE5,0x35,0xC5,0xB0,0x5C,0x76,0x0E,0x41,\r
+0x00,0xA8,0x4A,0xD3,0x44,0xD7,0x44,0xEE,0xF3,0x3B,0x1B,0x22,0xF6,0xEF,0x8D,0x7D,\r
+0x3C,0xD0,0xA2,0x4F,0xE3,0x11,0x9D,0x8C,0x2E,0x9C,0x4B,0x62,0x75,0x7E,0x10,0x52,\r
+0x98,0x37,0x94,0x35,0xE9,0xA1,0x1F,0x03,0xFB,0x46,0xB8,0x08,0x02,0xB7,0x34,0x2E,\r
+0xAC,0x28,0xDC,0xC8,0xDC,0x71,0x18,0x6F,0x98,0x9A,0xF2,0x91,0x65,0x9B,0x97,0x39,\r
+0x4F,0xAD,0xBC,0xF7,0xEC,0x2A,0x2D,0xE3,0x3C,0xED,0xF3,0x7E,0x13,0xC0,0x7A,0x94,\r
+0x88,0xE1,0xAB,0xB4,0x4C,0x68,0xCC,0x5C,0xA4,0xB5,0xEB,0xB6,0x18,0xAC,0x38,0x18,\r
+0x57,0x1C,0x23,0x17,0x8E,0x40,0x56,0x8B,0xF7,0x44,0x7D,0xAC,0xC9,0x39,0x9D,0xFC,\r
+0xC4,0x53,0xB6,0xAA,0x8D,0x8A,0x4A,0xEB,0x8D,0xAB,0xE3,0xA5,0x86,0x8F,0xE9,0x29,\r
+0x5A,0x75,0xDE,0xBF,0x2F,0xC7,0xA1,0x69,0xC6,0xA0,0x33,0xFE,0x14,0x69,0x3A,0xBC,\r
+0x4C,0x1A,0x57,0xCD,0x01,0x81,0x26,0xA9,0x5A,0x87,0x4D,0xB8,0xD9,0xDC,0x1A,0x97,\r
+0xEC,0x81,0xDB,0xE0,0x8C,0x4F,0x5C,0xB6,0x3B,0xAD,0x5A,0x56,0x9A,0xAF,0x6C,0xE6,\r
+0xF7,0x87,0xAF,0x3A,0x3C,0xEE,0xA9,0x77,0xBA,0xC6,0x96,0x0E,0x7D,0xDD,0x6D,0x78,\r
+0xFF,0xE0,0x0F,0x5B,0x5A,0xCA,0xF6,0xA2,0xEA,0x08,0xCF,0xB2,0xB5,0x9C,0xFB,0x0C,\r
+0x2F,0xB1,0x76,0xF4,0xFF,0x03,0x25,0xFD,0x0E,0x36,0x72,0x8A,0x09,0xDB,0x76,0xA2,\r
+0xCB,0xFF,0x47,0xA6,0xCB,0x16,0x34,0xCC,0xBB,0x0F,0x04,0xDF,0xB2,0x35,0xBB,0x24,\r
+0xBD,0x8C,0x04,0xD7,0xBD,0xD1,0x7F,0x67,0xD4,0xD1,0x8B,0xE2,0x9E,0xC9,0x13,0x68,\r
+0x01,0xDA,0xAD,0x4D,0x88,0x01,0x78,0x0B,0xF1,0xCD,0x46,0x55,0xE7,0x98,0xC3,0xC7,\r
+0x18,0x19,0xD5,0x33,0x23,0x36,0x0D,0x66,0xE0,0x83,0x31,0xEF,0x42,0x0B,0x7D,0xF9,\r
+0x8A,0x24,0xA7,0x10,0x32,0x10,0x0F,0x45,0xBE,0xB9,0xF0,0x80,0x95,0xA5,0x51,0xE4,\r
+0x6E,0x6A,0x96,0x42,0xC3,0xA9,0xBC,0x7E,0xEB,0xC1,0x5D,0x63,0xF0,0xD4,0x04,0x84,\r
+0x12,0xBB,0x79,0xF6,0xA0,0x06,0xD1,0x4B,0x38,0x92,0x95,0xF0,0x58,0x10,0x71,0xCF,\r
+0x19,0x6B,0x32,0xAD,0xD8,0x3F,0x3C,0xD2,0x9B,0xA5,0x3D,0x37,0xE2,0x6C,0x75,0x98,\r
+0xE5,0x94,0x9C,0x1F,0x02,0x4B,0x3A,0xC9,0x45,0x3D,0xA2,0xD1,0xBF,0x62,0x70,0x51,\r
+0xD6,0x40,0x85,0x8F,0x64,0x6F,0x65,0x1C,0x6B,0x63,0x03,0xEA,0x3D,0x61,0x24,0xAF,\r
+0x58,0xB0,0xD2,0x1B,0x30,0x1F,0x05,0x78,0x29,0xDC,0xE2,0x4A,0x69,0x5E,0x95,0x9D,\r
+0x1E,0xA0,0x63,0xC0,0xA7,0x82,0xE9,0x96,0xCF,0x14,0x02,0x05,0x60,0x6F,0x21,0x66,\r
+0x8E,0x58,0x1D,0x47,0x73,0x08,0x49,0xBF,0x2F,0x55,0xD9,0xB3,0xDF,0xE7,0x93,0x6E,\r
+0x22,0xD8,0x8B,0x5C,0xC4,0x2D,0x84,0xA3,0xB4,0x32,0x0E,0xDD,0x83,0x7B,0x5F,0x76,\r
+0xD4,0x85,0x89,0x2B,0x40,0x99,0x60,0x53,0x48,0xF6,0xF5,0xA4,0x78,0x29,0xDB,0x27,\r
+0x61,0xC6,0x67,0x4E,0xFD,0x0C,0x2F,0xC0,0x7A,0x2D,0x74,0x50,0xCE,0x90,0xDD,0xD4,\r
+0x11,0x0C,0x92,0xCC,0x16,0xE6,0x0A,0x0A,0x64,0x5E,0x09,0xE8,0x4E,0xCE,0x7F,0x5D,\r
+0xA1,0x41,0x21,0x60,0x11,0x62,0x32,0xD7,0x0D,0x09,0xBD,0x2C,0x35,0xC2,0x59,0x85,\r
+0x4D,0x68,0xB0,0x53,0x99,0x27,0x7A,0x28,0x97,0xA7,0xF8,0x93,0x05,0x1E,0x74,0x06,\r
+0x2C,0x06,0x9D,0xCE,0x89,0xC4,0x6E,0x56,0xAC,0xC8,0x48,0x9C,0xF8,0x77,0x79,0xAE,\r
+0xFA,0xEE,0x52,0x92,0x9A,0xED,0x66,0x48,0x39,0x5B,0x07,0x21,0x5E,0x2B,0xF8,0x36,\r
+0x2E,0xC3,0x91,0x6A,0xA8,0xB9,0x59,0xF9,0x5D,0xC7,0xE4,0x90,0x7C,0x4F,0xA4,0xA9,\r
+0xF3,0xFB,0x15,0x6D,0x7F,0xF9,0xE5,0xB0,0xAA,0x41,0x73,0x65,0x8E,0x2C,0x94,0x03,\r
+0x38,0x7F,0xDE,0x4B,0x63,0x1C,0xA8,0xA2,0xDF,0x2E,0x22,0x8E,0xE6,0x41,0x85,0xAF,\r
+0x84,0x36,0x09,0x0B,0xE7,0x1B,0x75,0x9A,0x75,0x4D,0x12,0x7C,0x13,0xC7,0x12,0x58,\r
+0x0F,0xD0,0xFF,0x36,0x6F,0xB8,0xAA,0x67,0xD8,0x16,0xFF,0x0A,0xEA,0x4E,0x29,0x5E,\r
+0x07,0xCE,0xEC,0x1F,0xA0,0xE4,0x7C,0x8F,0x40,0x4A,0x7E,0xAC,0x57,0xDD,0x66,0xCB,\r
+0x53,0x51,0x67,0x90,0xD3,0x16,0x27,0x20,0xF3,0xA3,0xDF,0xC7,0x5A,0x8F,0xDC,0xFF,\r
+0x1B,0xAE,0xEF,0xD5,0x42,0x25,0xCB,0x09,0x70,0x7F,0xF2,0xF7,0xE5,0x21,0x99,0x65,\r
+0x4E,0x46,0x8B,0xFE,0x95,0x38,0xE7,0xA7,0xA2,0xF1,0x5B,0x3C,0x26,0xAB,0x15,0x88,\r
+0x6B,0x8C,0x60,0x14,0x60,0xBA,0x97,0x6D,0x2B,0xAF,0xF9,0xBC,0x9E,0xD8,0x68,0x96,\r
+0xE5,0x25,0xB2,0xDF,0x79,0x2A,0xA4,0xB9,0x00,0x1A,0xD9,0x71,0xAB,0xB4,0x6F,0x46,\r
+0x01,0xD5,0x36,0x6B,0x7B,0x5D,0x52,0xE4,0x51,0x48,0x5D,0x8A,0xD2,0x70,0x94,0xBA,\r
+0x88,0x10,0xD1,0x70,0x91,0xB6,0x98,0xC1,0x10,0x0E,0xA7,0x92,0x73,0x92,0x63,0x3D,\r
+0x28,0x39,0x05,0xFA,0xEF,0x31,0x08,0x39,0x18,0x86,0x15,0x2D,0xC5,0xD3,0xB8,0xDD,\r
+0x04,0x9A,0x12,0x9D,0x77,0xF9,0x50,0x21,0xD9,0x00,0xA2,0xCF,0x9C,0xE5,0x62,0x99,\r
+0x64,0xFE,0x46,0xED,0x20,0x6D,0xDE,0xD1,0xEB,0x3F,0x13,0x9B,0x3C,0x5A,0x83,0xDB,\r
+0x5D,0x54,0xAE,0xCD,0xC0,0xDB,0x9F,0x0A,0xEE,0x0D,0xF3,0x10,0x41,0x23,0x5C,0x69,\r
+0x5B,0x4F,0x74,0xB9,0x6E,0x69,0x63,0xF5,0x27,0x03,0xF6,0x4D,0xA7,0xBB,0xC3,0xB7,\r
+0xDD,0xF8,0xB5,0x5B,0x64,0x34,0xE8,0x0B,0xF2,0xB5,0x82,0x02,0x15,0x47,0x3C,0x19,\r
+0xB0,0xCD,0xD6,0xF4,0x8B,0x80,0x94,0xDA,0xB9,0x71,0xF7,0xAA,0x86,0x14,0xF4,0xCA,\r
+0x6C,0xE0,0x55,0xC4,0x27,0x45,0x9E,0x78,0x8F,0x6A,0xFB,0xB0,0x99,0x05,0x50,0x12,\r
+0x6E,0xC3,0x44,0xE2,0x55,0x66,0x0C,0x45,0x92,0xC4,0xD7,0x67,0xF6,0x3F,0x91,0x4C,\r
+0x1E,0xE1,0xCB,0x23,0xF6,0xA1,0x3B,0xED,0x1E,0xA8,0x95,0x6C,0x94,0x57,0xEA,0x26,\r
+0x19,0x8D,0xFE,0xF3,0x5F,0x3B,0x87,0xBB,0xB1,0xF9,0x45,0x15,0x23,0x4B,0x27,0x03,\r
+0x44,0x7B,0x89,0xF1,0x84,0x82,0xA9,0xD0,0xD4,0xBA,0xF0,0xFB,0xFC,0xB0,0x13,0xFC,\r
+0x55,0x4A,0xBD,0xE4,0xB5,0xD0,0x4D,0x9E,0x52,0x54,0x3D,0x40,0xA9,0x89,0x65,0x49,\r
+0xC8,0xF1,0x4A,0x1C,0x5D,0x4C,0x71,0xE6,0x0E,0xBC,0xEB,0x8F,0x78,0x40,0xF7,0x48,\r
+0x97,0x24,0x2C,0x38,0xFD,0x2D,0x79,0x81,0x7A,0xFD,0x7D,0x47,0xC4,0x8E,0xAE,0x18,\r
+0x47,0x2F,0x77,0x73,0xA5,0xBB,0xCA,0x7B,0xE1,0xBD,0x9C,0x2B,0xCE,0x01,0x2C,0xA8,\r
+0x3D,0x30,0xFA,0xBD,0x29,0x96,0x6A,0xE0,0x90,0xCE,0xEA,0x68,0x20,0x2B,0x3B,0xC9,\r
+0x2B,0x6D,0xFB,0x78,0x44,0xDC,0x42,0x32,0x5F,0xEE,0x6F,0x74,0xD3,0x2D,0x82,0x7F,\r
+0xC0,0xEF,0x59,0x35,0x2C,0xC9,0xDC,0x14,0xCA,0x08,0xBC,0xE6,0x88,0x26,0x52,0x34,\r
+0xAD,0xDA,0x3A,0x9A,0x59,0xC2,0x0E,0x80,0x6E,0xCD,0xBE,0xEA,0xC0,0x33,0x8A,0x56,\r
+0x37,0x0D,0xF8,0xB2,0xD1,0x61,0xD1,0x7D,0x8A,0x58,0x1B,0x3B,0xDA,0xC2,0x1C,0x05,\r
+0x79,0xE9,0xAA,0x83,0x2E,0xBE,0x2A,0x49,0x4F,0xFA,0x11,0x97,0xE7,0x1C,0x93,0x6A,\r
+0x4C,0x65,0x9A,0xD8,0x4E,0x81,0xC9,0xCC,0xE2,0xA1,0xFC,0xE1,0x08,0x6B,0x92,0xCE,\r
+0xFC,0x0A,0x95,0xE3,0x50,0x39,0xBA,0xB1,0x24,0x1F,0x96,0x87,0x14,0x1A,0x2A,0xDC,\r
+0x7E,0x85,0x9F,0x53,0x66,0x43,0x1E,0x56,0x58,0xD6,0xB2,0xF0,0x7E,0xC0,0xD9,0x09,\r
+0x2F,0x55,0x30,0x2A,0x94,0xE9,0x2E,0x35,0x37,0x17,0x88,0xAE,0xC6,0xB3,0xA4,0x17,\r
+0x25,0x68,0x32,0x25,0xB8,0xA5,0x86,0xC9,0x0B,0x8E,0x0B,0x04,0x54,0xBD,0x7A,0x01,\r
+0x5E,0x00,0x50,0x4F,0x32,0x71,0xAF,0x69,0x1D,0xB4,0xF5,0xA6,0x21,0x76,0x2D,0x0C,\r
+0x76,0x9B,0x8C,0x7A,0x0D,0xF0,0xBF,0xBF,0x19,0x90,0x48,0xE8,0x1A,0x28,0x8C,0x22,\r
+0xAA,0xB6,0x0F,0x4A,0x8C,0xA8,0xD4,0x73,0x53,0x42,0x60,0x85,0xA4,0xDB,0xDF,0x7D,\r
+0x89,0x67,0x3E,0xD4,0x0F,0x87,0x49,0xE2,0x33,0x33,0x35,0xE0,0x02,0xE4,0x10,0x7E,\r
+0x8D,0x5F,0xF5,0x86,0xDE,0x63,0xEC,0x77,0x0C,0xB6,0xD6,0x80,0x29,0xC4,0xA5,0xB3,\r
+0x5A,0x38,0x9B,0x1D,0x2F,0x6F,0xE3,0xDB,0x7F,0xCF,0x9D,0xCC,0xB0,0x18,0xEF,0xD0,\r
+0x8B,0x44,0x2F,0xF2,0xBE,0x5C,0x0F,0xF2,0x4B,0xDE,0xAC,0xD9,0xA3,0x06,0xE7,0xF9,\r
+0xC7,0x83,0x6C,0xE5,0x75,0x8E,0xA6,0x7C,0xD7,0xA6,0x90,0x31,0x0D,0x8B,0xA0,0x45,\r
+0x31,0x16,0x22,0xC6,0x07,0xAD,0x34,0x41,0x0A,0x98,0x56,0xC1,0xCC,0x3C,0x26,0xA7,\r
+0xE8,0x74,0x85,0x00,0x93,0xC1,0x6E,0x9C,0x72,0x75,0xCF,0xF8,0x84,0x29,0xFE,0xC5,\r
+0x46,0x58,0x98,0xD7,0x37,0x2E,0x19,0x9D,0x3D,0x95,0x07,0x1E,0xE3,0xA1,0xB7,0x24,\r
+0xB2,0xEE,0xC7,0xD2,0x30,0x06,0x59,0x34,0xDD,0x24,0x1F,0x81,0x7D,0xA0,0xC5,0xC3,\r
+0x59,0x6C,0x65,0x9F,0x8D,0x79,0x1D,0xE1,0x76,0x51,0x72,0xB6,0x17,0x7A,0x36,0x16,\r
+0xFF,0x5E,0x6B,0x61,0xE9,0xC8,0x81,0x02,0x62,0x61,0xB1,0x1B,0x35,0xB5,0x1D,0xA1,\r
+0x0C,0x84,0x01,0xB4,0x1A,0xB3,0x78,0xF3,0x5E,0xF8,0x32,0xB1,0xD5,0xAD,0xAC,0x3E,\r
+0x3E,0x64,0x04,0x3F,0xDA,0xED,0x93,0x11,0xB4,0xCB,0xA5,0x9E,0xC3,0x53,0x96,0x9C,\r
+0xF6,0x37,0x97,0xEC,0x62,0xCD,0x61,0x30,0x3F,0x9F,0x3A,0x11,0x64,0x31,0x4F,0x5A,\r
+0xEC,0x4C,0x4E,0x52,0x33,0xA0,0x66,0xFB,0xE0,0xAB,0xC1,0xEE,0x1F,0xC8,0xBE,0xA9,\r
+0x74,0xB8,0x9D,0x5C,0x6D,0xCF,0x5C,0x3A,0x93,0xD2,0x8A,0xA2,0x42,0x43,0x40,0xA3,\r
+0xCA,0xD2,0x5B,0x3A,0xBF,0x8D,0xC6,0x60,0xB7,0xD7,0xC5,0x54,0x03,0xB9,0x06,0xBB,\r
+0xE3,0x3E,0x68,0xAB,0x0E,0x56,0x80,0x70,0x48,0xC2,0xCC,0x13,0xF7,0x62,0x87,0x89,\r
+0x9B,0x02,0xF4,0x43,0xD6,0x49,0x91,0xD4,0xBC,0x43,0x17,0x21,0xF1,0xE2,0xA9,0xC8,\r
+0xB3,0x99,0x28,0x76,0x28,0x47,0xA3,0x72,0x83,0xC6,0xF4,0x41,0xAF,0x09,0x4B,0x08,\r
+0x05,0xED,0xFD,0x39,0xF5,0x07,0x04,0x22,0xA6,0xD5,0xE6,0x72,0x11,0xFA,0x18,0x57,\r
+0x57,0x69,0xAC,0xC2,0x98,0x4D,0x2C,0xF0,0x7B,0xEB,0x20,0x82,0x7C,0xFD,0xD3,0x06,\r
+0x23,0x73,0xE8,0x51,0xA4,0x6A,0x03,0xE9,0xBF,0x5F,0x77,0xEB,0x91,0xB7,0xD8,0xAD,\r
+0x98,0x38,0x27,0x0C,0x22,0xA7,0x79,0x9E,0x3D,0xDC,0xAB,0x78,0x96,0x6C,0xAA,0x33,\r
+0xFE,0x1C,0xF2,0x53,0x45,0xAF,0xD9,0xFF,0xAB,0xA8,0x63,0x39,0x58,0x3C,0x16,0x6A,\r
+0xA5,0x57,0xF9,0x83,0xBF,0x1C,0x81,0x69,0x4A,0x33,0x0F,0x79,0xD7,0x8C,0x1C,0xE8,\r
+0x28,0x99,0xE6,0xF9,0x24,0xBC,0x0D,0x44,0x3C,0x42,0x4C,0x0A,0xFD,0xED,0xF2,0xFF,\r
+0x29,0x5C,0xBB,0xEF,0xF6,0x94,0x60,0x0E,0xB9,0x8D,0x50,0x2A,0xFB,0x5B,0x01,0x46,\r
+0x8B,0x11,0x39,0x04,0xD0,0x0A,0x08,0x1B,0x6A,0x18,0xC2,0xCC,0xF0,0x10,0x5A,0x96,\r
+0xE8,0xBE,0x0C,0x69,0x44,0xD8,0x7D,0x10,0x68,0xBC,0xCE,0x09,0xE5,0x72,0x12,0x4E,\r
+0x2A,0x96,0xDB,0xF3,0xB9,0x07,0xF5,0xB3,0xCD,0x58,0x1F,0x9C,0x14,0x21,0x08,0xD8,\r
+0x67,0x7F,0x2E,0x19,0xCF,0x3E,0x40,0xE6,0x54,0x20,0x26,0x71,0x91,0x3D,0xC7,0xF8,\r
+0x04,0xD0,0x1B,0x74,0x1E,0x42,0xAF,0x52,0x21,0x6B,0x8E,0xB5,0xC2,0xEE,0x54,0x30,\r
+0x87,0xE0,0x36,0xA8,0xBC,0x48,0x03,0x97,0x2D,0x5D,0x94,0xAE,0xD3,0x36,0x4B,0x94,\r
+0x96,0xC6,0x15,0xAA,0x81,0xDA,0x71,0xB4,0x01,0x40,0x43,0x00,0xE9,0x68,0x24,0x55,\r
+0x19,0x07,0x37,0xDA,0x29,0xED,0xD2,0x73,0x43,0xCC,0x48,0x6C,0x81,0x02,0x46,0x2E,\r
+0x2C,0xD7,0x5B,0xDD,0x7F,0x51,0x7B,0xE9,0x93,0x63,0x31,0x3D,0x9D,0x27,0xF1,0xE3,\r
+0x5B,0xD5,0xAD,0x80,0x14,0x7F,0xA0,0x50,0x26,0x06,0xDF,0x7E,0x66,0xD8,0x2E,0xD7,\r
+0x6F,0xC0,0x9C,0x91,0x5A,0x9B,0x91,0x02,0xEB,0x80,0x64,0x90,0x5F,0x6D,0x7B,0xA1,\r
+0x60,0xFB,0xF3,0x21,0x7D,0x72,0x5D,0xF8,0x0F,0xD2,0x55,0xDE,0x62,0x62,0x79,0xAB,\r
+0xE4,0x4F,0x03,0xC5,0x20,0x84,0x5F,0x8F,0x8B,0x83,0xAE,0x8C,0xA6,0x9E,0x00,0x50,\r
+0x03,0x54,0xC6,0x4C,0x05,0x4E,0xB5,0x64,0x71,0xC2,0xB6,0xCA,0x44,0x19,0xA1,0xA7,\r
+0xD7,0xDE,0xEF,0xEC,0xFD,0xDE,0xCB,0xE3,0xC3,0xCA,0x09,0x42,0x05,0xF9,0x17,0x7C,\r
+0xC0,0xB9,0x4C,0xC0,0xE5,0x86,0x53,0x2B,0x74,0x0B,0xEB,0xC4,0x33,0xBD,0x4E,0xA6,\r
+0x94,0xC9,0x28,0xA0,0x15,0x08,0x04,0xBF,0xC5,0x39,0xBF,0xFB,0x8C,0xFF,0xEE,0x47,\r
+0x7C,0xE9,0x82,0x99,0xCE,0x49,0xE4,0x09,0x25,0x3C,0x34,0xC9,0xF5,0x4D,0x93,0x98,\r
+0xA6,0x9D,0x99,0x9F,0x31,0xB5,0x4A,0xBB,0x20,0xF5,0x69,0xC7,0x6D,0x93,0x75,0x07,\r
+0x0C,0x6F,0xA9,0xFC,0x66,0x7E,0x47,0xCE,0xF4,0x0D,0xAA,0xEA,0x97,0x8B,0x34,0x41,\r
+0xDB,0x2F,0xE0,0x40,0x5E,0xA3,0xC3,0xC9,0xC4,0xA7,0x58,0x89,0x11,0x7C,0xC1,0xD6,\r
+0x2D,0x12,0x06,0xCB,0xA3,0x7C,0x4B,0x6A,0x29,0x0A,0x2E,0xD2,0x98,0x7A,0x38,0xED,\r
+0x3E,0x3B,0x18,0xC3,0x4B,0xAA,0x84,0x36,0xA8,0x92,0x88,0x8E,0x0B,0xEF,0x85,0xA2,\r
+0xB5,0xB4,0x87,0x97,0xE4,0xF1,0xF7,0xC4,0x09,0x21,0xE3,0x67,0x59,0xDB,0x88,0x18,\r
+0x3D,0xF1,0x78,0xDF,0xCD,0x1D,0x66,0xF7,0x24,0xA2,0xD3,0xBB,0xF7,0x41,0x37,0x5D,\r
+0x59,0xDA,0x90,0x8A,0x63,0x31,0xB1,0xEA,0x8D,0x70,0x18,0x35,0x7D,0xAC,0xF4,0xD1,\r
+0xB2,0x30,0x5A,0xAF,0xA9,0x41,0x44,0x68,0x2F,0xF9,0x98,0x6B,0x0E,0xB2,0x4C,0xAC,\r
+0x4F,0x78,0x6E,0xB0,0xFE,0x8A,0x49,0x1D,0x5C,0x41,0x86,0x16,0x95,0x87,0x90,0x84,\r
+0x89,0x1E,0x04,0x0E,0xA4,0x10,0x9B,0x5F,0x13,0x65,0x70,0x13,0x6F,0x9F,0xD1,0xC2,\r
+0xBA,0x8F,0xE8,0x27,0xB4,0x56,0x2A,0x84,0x1A,0x9A,0x37,0x06,0xB4,0xAD,0x25,0x43,\r
+0x26,0x67,0xD4,0x5F,0x10,0x47,0xF2,0x9B,0xC1,0x6E,0x05,0x87,0x34,0xEC,0x23,0x6D,\r
+0xFA,0x52,0x4F,0x77,0xB6,0x75,0x0C,0x95,0x22,0x51,0x65,0x02,0xDF,0x2C,0x7D,0x8F,\r
+0x2F,0x1D,0x3B,0xC1,0xE6,0xD2,0xD1,0xD5,0x30,0x74,0x56,0x11,0x2C,0x73,0xC3,0xDC,\r
+0x7E,0xE6,0xBF,0x93,0x34,0xFA,0xBC,0x9F,0xF6,0xA9,0xA6,0x2F,0x2B,0x22,0xAE,0x17,\r
+0x3A,0x75,0xA5,0xE7,0x2D,0xD5,0x80,0xB8,0xA1,0x6D,0xCF,0x9B,0x61,0x89,0x43,0x1C,\r
+0x4A,0xF3,0x8E,0x82,0x59,0xCF,0x13,0xFC,0xD1,0xEF,0x3A,0x51,0x77,0x00,0x31,0x73,\r
+0x15,0xF6,0x38,0x76,0xF0,0x8F,0x14,0xD4,0xC9,0x0F,0xA5,0xE0,0x76,0xE7,0xAF,0x01,\r
+0xB7,0xBB,0xBA,0x9D,0x25,0xCB,0xA9,0xAB,0xA4,0xA4,0x92,0x95,0xAC,0x32,0xC5,0xF2,\r
+0xB9,0x45,0x88,0x3B,0xC6,0x57,0xCD,0x1A,0x67,0xB0,0x3F,0xA5,0x63,0x85,0xE7,0xD9,\r
+0xD3,0x90,0x52,0xC8,0x37,0xAE,0x3E,0x61,0xE4,0x8C,0x95,0x3C,0x7B,0x1A,0x07,0x68,\r
+0xD6,0x1B,0xB2,0xFA,0xD5,0x45,0xFE,0x3F,0x73,0x66,0xBA,0x0F,0x85,0xB8,0x11,0x52,\r
+0x45,0xC8,0xE1,0x32,0xF4,0xB7,0x46,0x1F,0xEC,0xED,0x35,0x5B,0xE7,0x7E,0xB6,0x8B,\r
+0x9C,0x76,0x9A,0x28,0x3F,0xB0,0x17,0x72,0x17,0x32,0xCA,0x6F,0x1E,0x8D,0xCD,0x7A,\r
+0xDD,0x6E,0x60,0x6E,0xB7,0x02,0xA8,0x7A,0xB6,0x81,0xA1,0x86,0x0D,0x59,0x76,0x1B,\r
+0xEC,0xF0,0xB1,0x4D,0x26,0x9F,0x2B,0x55,0xE3,0xE1,0xC4,0xF7,0x32,0x5A,0xD0,0xD4,\r
+0x27,0xA2,0x89,0x49,0xB3,0x3A,0xFA,0xB1,0x00,0xDE,0xA4,0x72,0x12,0x97,0xFB,0x61,\r
+0x49,0x39,0xEE,0x9E,0x1F,0x35,0x0B,0xBD,0x4B,0xAD,0xE8,0x0B,0xCE,0xF4,0x62,0x2B,\r
+0xFD,0xD6,0x92,0x4F,0x36,0xD9,0x9A,0x8E,0x7A,0x99,0xFD,0x1A,0xD0,0xDD,0x71,0x23,\r
+0xBE,0xC1,0x55,0x03,0xB8,0x70,0x51,0x5C,0x46,0x05,0x15,0x62,0x5D,0x61,0xDF,0x64,\r
+0xF0,0xE2,0xC0,0xF5,0x85,0xE2,0x23,0x7F,0x80,0xD8,0xE5,0x5C,0xEA,0x83,0x1E,0xE2,\r
+0x57,0x24,0xA2,0x2C,0x58,0xB8,0xB7,0x13,0x19,0xA0,0xDC,0xB1,0xFF,0xE1,0x56,0x3A,\r
+0x78,0xA7,0x3F,0xBD,0x8D,0xFC,0x0A,0x6C,0xC7,0x9D,0xB3,0x3E,0xCA,0x4E,0x35,0x57,\r
+0x48,0xFC,0xB3,0x88,0x08,0x1F,0x6A,0x53,0x2A,0x30,0xC5,0x65,0xBD,0xEA,0xDA,0x56,\r
+0x47,0xC7,0xDC,0x38,0x75,0x6C,0x74,0xEB,0x40,0xF6,0xA3,0xDB,0xCC,0xF8,0xC6,0xEE,\r
+0x4D,0x77,0x53,0xBA,0x92,0xC8,0x42,0x91,0x64,0x8A,0xD4,0x12,0x16,0x2D,0xAC,0x1D,\r
+0xE2,0x0E,0x83,0xEB,0xF1,0xF8,0xB0,0x3B,0x5E,0xE5,0x8A,0xD3,0x65,0x33,0x14,0x60,\r
+0xE0,0x01,0xBE,0xE1,0x0D,0x50,0x9C,0x77,0xDD,0xD9,0x20,0x4A,0x6B,0x25,0x86,0xBE,\r
+0x82,0x6B,0xD6,0x9A,0xAD,0x79,0x16,0xA3,0x23,0xCF,0x82,0x70,0xA0,0x28,0xF3,0xE9,\r
+0x5E,0x5E,0x4D,0xB2,0x7B,0x69,0x29,0x22,0x9E,0xCB,0xCC,0x54,0xFE,0x06,0xC8,0x48,\r
+0xF2,0x77,0x16,0x21,0x8A,0x21,0x02,0x9F,0xB8,0x0E,0x88,0x93,0x1E,0xD4,0x8F,0x0B,\r
+0x76,0x25,0xED,0x70,0xF3,0xDD,0xF9,0x5B,0x0C,0xFE,0x6C,0x17,0x1C,0x89,0x79,0x7C,\r
+0x8C,0x63,0xF5,0x31,0x52,0x5A,0x0E,0xB9,0x17,0x3B,0xE5,0xF0,0xF6,0xAC,0xB3,0x97,\r
+0x3E,0xEB,0x4A,0x39,0xE4,0xBA,0xD5,0xF8,0x9D,0x12,0x45,0x24,0x88,0x54,0x23,0x10,\r
+0x89,0x6D,0xA8,0xF8,0xBD,0xFE,0x0F,0xCE,0xFA,0xB1,0x69,0x33,0x10,0x4C,0x7B,0xD8,\r
+0x38,0x52,0xFC,0xCA,0x1D,0xBC,0xEE,0x71,0x8A,0xD5,0x09,0x67,0x47,0xBC,0xF5,0x4C,\r
+0xD8,0x60,0x77,0xCF,0x60,0x0E,0x31,0x08,0xAA,0x7F,0x30,0x8F,0xA7,0x67,0xB4,0xFA,\r
+0xDD,0x6E,0x2A,0x06,0x86,0xD0,0xAE,0x90,0xDE,0x64,0x36,0x55,0x09,0x98,0x48,0x48,\r
+0x09,0x43,0xE9,0xFE,0xC7,0xC8,0xE8,0x6A,0x2C,0x54,0x55,0xFF,0x04,0xCF,0x83,0x3D,\r
+0x39,0x20,0x1B,0x54,0x32,0x3F,0x7F,0xEC,0x6C,0x1D,0xE9,0x28,0x80,0xF7,0x5E,0x3A,\r
+0xD4,0x7B,0x6D,0xF9,0xCB,0x39,0x44,0x65,0x51,0xFB,0x62,0xDE,0x08,0x0A,0x81,0x99,\r
+0x55,0x27,0xCB,0x61,0x76,0xAC,0x0B,0xF6,0x78,0xE5,0x6A,0xCD,0xC7,0xE2,0x57,0xC5,\r
+0xF4,0xCE,0xA0,0xD2,0x7B,0x98,0xB1,0xA4,0xF7,0x7A,0x3E,0x46,0xB4,0x4D,0x0C,0x37,\r
+0xD9,0x12,0x90,0x51,0xC4,0x02,0xF4,0x0A,0xB2,0x85,0x76,0xCE,0x25,0x64,0xE0,0x04,\r
+0x70,0x9C,0x5B,0x83,0x07,0xEF,0x78,0x80,0x99,0x6D,0x23,0xAA,0xF2,0xCA,0xCC,0x19,\r
+0xD2,0xC2,0xDB,0x0A,0xBF,0xF1,0x05,0xF3,0x73,0xA7,0x06,0x41,0x07,0x00,0xBC,0x9B,\r
+0xC0,0xD1,0xE8,0x2F,0x59,0x2F,0x9A,0x6B,0x7B,0xDA,0xA5,0x6B,0x3A,0x8B,0x5A,0x6D,\r
+0x56,0x90,0x20,0x5B,0xE5,0x7F,0xC3,0xA5,0x5F,0x0F,0xFA,0x0D,0x9A,0xEC,0x52,0x0C,\r
+0xB7,0xD0,0x4C,0xC0,0xEF,0xCF,0x41,0x2A,0x14,0x04,0x2A,0x56,0xC2,0x16,0xE1,0x9A,\r
+0xC1,0xA3,0x0F,0xB1,0x01,0xAE,0x56,0x00,0xDA,0x1B,0x50,0xDB,0x4E,0x8D,0x41,0xB7,\r
+0x44,0x83,0x13,0x7E,0xF2,0x18,0xEF,0x06,0x1F,0x46,0x46,0xDA,0x23,0x5F,0x69,0xFD,\r
+0x97,0x65,0x81,0xEB,0xA9,0x53,0x3F,0x0D,0x52,0xC4,0xAD,0x78,0x4B,0x79,0xF7,0xE8,\r
+0x95,0xA0,0x8D,0x4F,0xE1,0x31,0xE7,0x18,0xFD,0xF1,0xC0,0x1B,0x3E,0xED,0x25,0xE3,\r
+0x30,0x35,0x5C,0xAB,0xFB,0x62,0x71,0xE9,0xD5,0x26,0x5A,0xD9,0xB6,0x10,0xFA,0x40,\r
+0xA9,0xD8,0x65,0xD3,0x34,0x7E,0x51,0x6C,0x3C,0xD3,0xB0,0x94,0x03,0x66,0xC3,0x15,\r
+0xDC,0x1C,0xCD,0x98,0xA7,0xAD,0x99,0x3F,0x93,0xE6,0xDD,0xF7,0xEC,0xB7,0xBF,0xA1,\r
+0xD0,0x07,0xD7,0xAE,0xB8,0x75,0x3D,0x2E,0xA3,0xCB,0x01,0x74,0x40,0x15,0xB5,0x64,\r
+0xFC,0xA9,0x00,0xB3,0xD7,0x2B,0xFC,0x14,0x85,0xE8,0x03,0x65,0x32,0x28,0x27,0x47,\r
+0xBE,0xC5,0x0B,0x3F,0xB5,0x41,0x87,0x7C,0x44,0xCA,0x73,0xEA,0x91,0x80,0x10,0x80,\r
+0x6E,0x94,0x72,0x90,0x02,0x64,0x4A,0x60,0x94,0xA6,0x74,0xDF,0x38,0xD6,0xAC,0x1A,\r
+0xDB,0xD7,0x9C,0xF5,0xDD,0x9B,0x7E,0x9B,0x96,0x50,0x29,0xA8,0xE3,0xBD,0x82,0xA3,\r
+0x16,0x39,0x27,0x73,0x88,0x2E,0x08,0xA2,0x83,0x61,0x38,0x9C,0xD2,0xF3,0x66,0xF1,\r
+0x4B,0x2F,0xE2,0x72,0x85,0x1A,0xB2,0xF0,0x2D,0x9D,0xC7,0x2E,0xEB,0x1E,0xFF,0x89,\r
+0x1E,0x5E,0x87,0x12,0x23,0x19,0x7D,0xCF,0xB3,0x4C,0xE4,0x1F,0x68,0x8F,0x62,0xA6,\r
+0xFD,0xDB,0xE7,0x2D,0x08,0xD4,0xC8,0xEF,0xE1,0x74,0xE0,0xD4,0xB9,0x1A,0xC7,0x42,\r
+0xB6,0xA2,0xAB,0x5E,0x91,0xB7,0x82,0x33,0x7A,0x13,0x37,0xBA,0x48,0xB6,0xC8,0x4E,\r
+0x87,0xB3,0xBE,0x6A,0x82,0x9E,0x8A,0x2D,0x95,0x6F,0xE6,0x0E,0xD9,0x9F,0x24,0x7D,\r
+0xBB,0xCB,0x56,0xF6,0x2C,0x22,0xCD,0xA0,0x82,0xA8,0xAA,0x4D,0x12,0x11,0x8D,0xAF,\r
+0x7D,0xF5,0xA6,0x2B,0xED,0xC0,0x4B,0x17,0xA1,0x3D,0x5C,0x03,0x60,0x2C,0x1F,0x8C,\r
+0xE4,0x18,0x9F,0x53,0xA5,0xA2,0x93,0x02,0x67,0x5F,0x85,0xA4,0xF4,0xF1,0x45,0xE0,\r
+0x3A,0x97,0xF0,0x6E,0xC6,0x0D,0xFE,0x37,0xE4,0xC2,0x14,0x8B,0x49,0x24,0x01,0x9F,\r
+0xD7,0xCC,0x86,0xC3,0x29,0xA9,0xFF,0x40,0xBF,0x4E,0x21,0xBB,0x29,0xA1,0xE2,0xA0,\r
+0xBD,0x72,0xE0,0x05,0x35,0xBB,0x47,0x31,0x84,0x21,0x91,0xB4,0x37,0xDC,0x91,0x18,\r
+0x99,0xBB,0x97,0x79,0x5F,0x6E,0xB4,0xEB,0x34,0xAE,0x13,0xBE,0x01,0x3B,0x35,0x62,\r
+0xA3,0x7A,0xC9,0x16,0xE7,0x70,0xC9,0x98,0x4D,0x7E,0x42,0x11,0xF3,0x58,0x05,0xC8,\r
+0x20,0xE3,0x63,0x2A,0x75,0x66,0x17,0x96,0x42,0x43,0x48,0x13,0xDF,0xA4,0xAD,0x84,\r
+0xDE,0xD9,0xC1,0x3C,0x00,0x6B,0x40,0x5D,0x28,0x2B,0x33,0x71,0x55,0x04,0x84,0x50,\r
+0x63,0xFD,0x8F,0x38,0x3B,0x45,0xE1,0x03,0x1D,0xB0,0x1B,0xAD,0x6A,0xD2,0x94,0xD1,\r
+0xA1,0xBF,0xC5,0xB2,0x63,0xC4,0x2D,0x68,0x3B,0x93,0x19,0xBC,0x0A,0x57,0x77,0xEE,\r
+0xEE,0xBA,0x33,0x96,0x22,0xDC,0x6B,0x92,0x5D,0xF9,0xA7,0x7A,0xD8,0x0D,0xED,0xAC,\r
+0xE7,0xAF,0x74,0x69,0xD6,0xEE,0xEA,0x49,0xCC,0x15,0x8E,0x49,0x69,0x1D,0xAB,0x77,\r
+0x3C,0x2E,0x46,0x9D,0xD0,0xAF,0xC4,0xC9,0x24,0x29,0xF6,0xD5,0xB1,0xB9,0xBA,0x68,\r
+0xDF,0xAB,0x26,0xA2,0x8E,0x6F,0x26,0x22,0x11,0xB2,0xDE,0x09,0x4F,0x1F,0x88,0x66,\r
+0xCD,0xB8,0x15,0x87,0x30,0x30,0x75,0xD1,0x5E,0xC6,0x68,0xDC,0x92,0x4F,0x2F,0x26,\r
+0x0B,0x86,0xE5,0x5A,0x5D,0x61,0xBE,0xD6,0xA5,0x42,0x3A,0x8D,0xFF,0x9D,0x07,0x6C,\r
+0x5C,0x32,0x8C,0x9E,0xB0,0xCA,0xB5,0x9C,0x36,0x58,0x4E,0xC9,0xC3,0x84,0x28,0x4B,\r
+0x2C,0xF8,0x79,0x1C,0xC2,0x43,0xDA,0x8A,0xB0,0x73,0x2B,0xB9,0x50,0xF0,0x32,0x0F,\r
+0x34,0x49,0xE6,0xFC,0x5C,0xA4,0xA8,0x8B,0xB5,0xC5,0xDF,0xE6,0x57,0x59,0x72,0x27,\r
+0x59,0x3C,0xD1,0x57,0x36,0x71,0x5B,0x51,0xF8,0x47,0x34,0x44,0xEA,0x8C,0x36,0x58,\r
+0x9A,0x0C,0x7C,0x43,0x14,0xC6,0x70,0x9E,0x06,0x75,0x92,0x4A,0x8E,0x6F,0xAA,0xE9,\r
+0x19,0x95,0xD6,0x7F,0xF4,0x59,0xC1,0x86,0xD3,0xAF,0x61,0x20,0x7D,0x9E,0x53,0x92,\r
+0x8E,0xA6,0xF9,0x95,0xE2,0xFB,0xFB,0x78,0x58,0x4F,0x53,0x25,0xBD,0x7C,0xB8,0xCC,\r
+0x11,0xF2,0x76,0x1E,0x45,0x3D,0x22,0x1A,0x8B,0x1C,0x9B,0xB6,0x05,0x5D,0x4A,0xEC,\r
+0xEA,0xC6,0x89,0xC1,0x3E,0xCE,0xD3,0xE3,0x35,0x67,0x81,0x6F,0x54,0x96,0x4D,0x81,\r
+0x41,0xBC,0xC6,0x68,0xA4,0x3C,0x55,0x66,0x9D,0x91,0xB7,0x23,0x2A,0xAB,0x5C,0x06,\r
+0xF7,0xC8,0x13,0x27,0x79,0x7C,0xF2,0x36,0xB8,0x82,0xA5,0x10,0x94,0x58,0x0F,0x59,\r
+0x67,0x22,0xD3,0x00,0xF5,0x51,0x52,0xAD,0x84,0x1B,0x26,0xBA,0xAA,0xE6,0x9C,0xFC,\r
+0x13,0x38,0x97,0x93,0xC9,0x76,0x7D,0xB4,0x40,0xAF,0x71,0xD3,0x47,0xAC,0x97,0x57,\r
+0x8E,0x83,0x60,0x6B,0xEE,0xB6,0x97,0x24,0x8C,0x93,0x94,0x05,0x38,0xE8,0x42,0xEA,\r
+0x30,0xE9,0xA6,0x0D,0x3C,0xF4,0x0D,0x7E,0xA8,0x96,0xDB,0xF3,0x79,0x12,0x04,0xF2,\r
+0xDF,0x53,0xCF,0x12,0x87,0x72,0xC0,0x90,0x87,0x07,0x46,0x70,0xCA,0xB3,0xED,0x99,\r
+0xA7,0x6F,0x53,0xFA,0x5F,0x6D,0xD1,0x34,0x73,0x86,0x9D,0x42,0xCC,0x33,0xC3,0xD8,\r
+0x7A,0x35,0x3F,0x6E,0x8B,0xD6,0xC2,0x55,0x8F,0x8F,0xF4,0xCF,0xF8,0x02,0xD2,0xCD,\r
+0x48,0xD5,0x3A,0xE5,0x4B,0x88,0x29,0xB7,0x65,0xBC,0x63,0xE0,0xEE,0xFC,0xE8,0x6F,\r
+0xA8,0x1D,0x75,0x03,0x62,0x9B,0x37,0xBF,0xDB,0xEF,0x90,0xBF,0x24,0x99,0xFA,0xF8,\r
+0xB2,0x66,0xAC,0xBD,0x33,0xF6,0x30,0x74,0x04,0xDB,0x6B,0x40,0x5F,0x60,0x0B,0x0B,\r
+0xF6,0xBF,0xFC,0x83,0x61,0x3D,0x08,0x70,0xE6,0x60,0x4E,0xD0,0x46,0xF1,0x81,0x92,\r
+0x02,0x09,0xA3,0x86,0x66,0x15,0x48,0xD9,0x06,0xD1,0x56,0x4F,0xD8,0xF0,0xF3,0x75,\r
+0xBB,0x0F,0x50,0x30,0xB8,0xF3,0xD0,0x46,0x59,0x25,0xE0,0x4A,0x0E,0xE4,0x59,0xF0,\r
+0x1D,0x3D,0x5E,0xCE,0xDC,0x42,0x4C,0xA5,0x4D,0x15,0x23,0xE7,0x2C,0x2B,0x72,0x47,\r
+0x83,0xD2,0x57,0xB4,0x24,0xB5,0xF7,0x38,0xEC,0xE2,0xC1,0x60,0x36,0xDA,0xE4,0x14,\r
+0xCF,0x15,0x14,0xA3,0xEF,0x67,0x5E,0xB6,0x70,0x9A,0xFD,0x88,0x98,0x57,0xA3,0xA8,\r
+0xAC,0x25,0xBE,0x51,0xC2,0xFA,0x3F,0xD8,0x49,0x31,0x9E,0xA9,0xBF,0x78,0xBA,0x94,\r
+0x75,0x47,0x19,0x97,0x56,0x96,0x65,0x05,0x31,0xDC,0x07,0x90,0xF7,0x6D,0x62,0xF6,\r
+0xCD,0x36,0x05,0x85,0x5E,0xBC,0x18,0xA6,0x08,0x77,0x64,0xB1,0x39,0xB5,0x54,0x2F,\r
+0xEE,0xE7,0x34,0x1B,0xDD,0x93,0x85,0x37,0x68,0x06,0x31,0xD4,0x9F,0x8A,0x9B,0x2C,\r
+0x1E,0x69,0xA0,0x4C,0x7E,0x54,0xB2,0x9F,0x44,0x8B,0xCC,0x9D,0x8B,0x49,0xAB,0x81,\r
+0xC9,0x0E,0xCE,0xD7,0x8F,0x58,0xBD,0x33,0x37,0xF2,0x87,0xD1,0x12,0x95,0xE1,0xE2,\r
+0x61,0x39,0x09,0x74,0xE9,0x9E,0xD7,0x8D,0x30,0xCA,0x5A,0x55,0x6F,0xEC,0x3E,0x50,\r
+0x6B,0x04,0x0B,0x7B,0xC5,0xD2,0x7F,0x71,0x0C,0x53,0xD9,0xFF,0xFD,0xE2,0xE0,0x46,\r
+0x32,0xCA,0xB7,0x2B,0x5C,0xCB,0xEE,0xFB,0x22,0xD4,0x19,0xB9,0x21,0x79,0xC8,0x73,\r
+0x1A,0x51,0x6B,0x1E,0x63,0x4A,0xFE,0x2D,0x26,0xF0,0xA4,0xF7,0x1A,0x27,0x69,0x5D,\r
+0x08,0x34,0xA1,0x89,0x1F,0xBA,0x98,0x88,0xD9,0xE5,0xAD,0xB0,0x33,0x3A,0xD6,0x9F,\r
+0x3D,0xB8,0x91,0xD2,0x7F,0x85,0x7B,0x0D,0x74,0xBE,0x40,0xC6,0xDC,0x4D,0xD7,0x3B,\r
+0x3A,0xD4,0xA4,0x02,0x37,0x78,0x4F,0x12,0x63,0x92,0xE3,0xA1,0x45,0x91,0x9D,0x58,\r
+0xB8,0x5B,0xAE,0xB2,0x01,0x02,0xEB,0xF5,0x1F,0x5B,0xC7,0xD6,0x2F,0x4B,0x6E,0x8D,\r
+0x84,0xBE,0x62,0x64,0x7D,0xF2,0x8D,0x50,0xF1,0x4C,0xED,0xB7,0xB3,0x77,0x16,0x65,\r
+0x6F,0x3C,0xC0,0x29,0x15,0xE7,0x13,0x76,0x64,0xAA,0x3E,0x25,0xE8,0x7C,0xC6,0x2E,\r
+0x73,0x5C,0xC3,0xE3,0x80,0x5A,0x80,0x39,0xB1,0x1C,0x4A,0x6A,0xE1,0x93,0x58,0x54,\r
+0xE9,0x8B,0x01,0xCB,0x08,0xF9,0x5F,0xC4,0x55,0x89,0xEF,0xBB,0xFB,0x62,0xCE,0x07,\r
+0xD3,0x75,0x17,0x69,0xAC,0x16,0x28,0xC5,0x41,0xB9,0x2C,0x16,0xFF,0xDF,0xEA,0x49,\r
+0x8C,0xA0,0x71,0x4D,0x0C,0x77,0x20,0xA2,0x35,0xF8,0xBA,0xDE,0x43,0x11,0xB3,0x19,\r
+0x79,0x61,0xC1,0xEC,0x78,0xAD,0x3B,0xA4,0xAB,0x8A,0xBB,0x39,0x1B,0x7A,0x7F,0x98,\r
+0x03,0x7E,0x4C,0x22,0xF4,0x80,0x9B,0x3F,0xDA,0xF9,0xCD,0x7A,0xF5,0x50,0x68,0xF9,\r
+0x5D,0xDC,0xC5,0xA2,0x0E,0x00,0xD6,0xFF,0x8A,0xBD,0x14,0x44,0x18,0x1A,0x63,0x52,\r
+0x5A,0xB0,0xF0,0x72,0xA7,0x9A,0x6A,0xA9,0x25,0xEC,0xC4,0x3D,0xAF,0x06,0xAE,0x77,\r
+0x11,0x1B,0x86,0xB5,0xE4,0xEB,0x1C,0xDA,0x69,0x10,0x6C,0x11,0x92,0xD8,0x21,0x18,\r
+0x00,0x2A,0xB2,0xA0,0xD5,0xB9,0xF8,0x94,0xEF,0xFE,0xA1,0xAA,0xC7,0xE1,0x57,0xAD,\r
+0xF4,0x9C,0xED,0xA5,0xDA,0xBB,0xC5,0x9E,0x82,0x35,0xA6,0xFB,0xBD,0x45,0xB0,0x9B,\r
+0x99,0xA9,0x8E,0x0A,0x35,0x0F,0xB9,0x4F,0xC9,0xF1,0xD3,0x53,0x2E,0x16,0x78,0x48,\r
+0x2A,0x92,0x7F,0xB3,0x04,0x5D,0x5D,0x01,0xA9,0x80,0x86,0x36,0xCD,0x6E,0xD5,0x1D,\r
+0x28,0xB1,0x6E,0x95,0x76,0x7E,0xCF,0x3C,0xB4,0x2E,0xAA,0xE1,0xA2,0x54,0x14,0x43,\r
+0x20,0xAF,0x7D,0xBC,0x71,0x56,0x8F,0x95,0xD0,0x7B,0x42,0xCA,0x07,0x0B,0xC7,0x8A,\r
+0x40,0xCB,0x29,0xCC,0x26,0xC2,0x01,0x65,0xE2,0x44,0xF3,0x9E,0xA7,0xB4,0x26,0xC8,\r
+0x1F,0x1E,0x4F,0xE8,0x3F,0x52,0x32,0xB1,0x1C,0x47,0xA7,0x1C,0x9C,0xEA,0x87,0xE6,\r
+0x19,0x05,0x95,0x9C,0x91,0xE0,0xCE,0x4E,0xD5,0x49,0xA2,0x41,0x7A,0x72,0x18,0x38,\r
+0x45,0x84,0x0D,0x3A,0x2A,0x66,0x03,0xA0,0x6A,0x0C,0x0C,0xDB,0xE9,0x21,0xD0,0xEB,\r
+0xA1,0x74,0x89,0x8E,0x28,0x11,0xF5,0xFD,0x3B,0x5E,0x88,0x20,0x90,0xE5,0x2B,0x17,\r
+0x6C,0x68,0x3E,0xAB,0xBE,0x0A,0x59,0x7D,0x23,0xC2,0x44,0x7C,0xFE,0x82,0xFC,0x8C,\r
+0xCC,0x41,0xEA,0x21,0xC0,0x8D,0xC9,0x85,0x2B,0x4A,0xF6,0xC3,0x48,0xC3,0x27,0x6C,\r
+0x5F,0xFF,0xD4,0x84,0x13,0x1E,0x9A,0x4D,0x4B,0x3B,0xA3,0xA6,0xDE,0x70,0xDD,0x34,\r
+0x17,0x00,0x5C,0xC1,0x82,0x2D,0x76,0x64,0xC8,0xE7,0x8E,0x96,0x61,0xDE,0x98,0xAE,\r
+0x2F,0xDD,0x5B,0x45,0x31,0x81,0xC6,0x29,0x10,0xEB,0xA8,0xED,0xA5,0x89,0x2C,0xC7,\r
+0x0A,0x17,0xB0,0xAF,0xC4,0x03,0xB6,0xE3,0x99,0xB5,0x0A,0x6D,0x1D,0xFA,0x51,0xD9,\r
+0xC0,0x67,0x32,0x5A,0xB6,0x20,0x24,0xDE,0x4E,0x09,0x43,0x2D,0x28,0x96,0x56,0x09,\r
+0x7C,0x2E,0xE5,0x1A,0x32,0x27,0xF9,0xE6,0xE4,0x6A,0x73,0xDF,0xDD,0x10,0xC1,0xFE,\r
+0x43,0x9F,0xD7,0x4E,0xF1,0xDF,0x2D,0xCB,0x7B,0x0E,0x2F,0xFD,0x6C,0x8C,0x22,0x9A,\r
+0x4B,0x81,0xC4,0x67,0x3E,0x83,0xFB,0x23,0xE3,0x52,0xAE,0x5B,0xD1,0x1F,0x6D,0x0F,\r
+0x34,0x1A,0x2B,0x5B,0x9A,0x11,0x44,0x5B,0x46,0x9F,0x2D,0x2E,0xBB,0x64,0xB3,0xA3,\r
+0xE1,0x55,0x5F,0xED,0xCA,0xB6,0x99,0x1B,0x54,0xBA,0x1E,0x3D,0x48,0x3B,0x0D,0xF0,\r
+0xB0,0xAE,0xDB,0xBF,0x18,0x9E,0xF4,0x51,0x92,0x67,0xEE,0x03,0x4F,0x6A,0x60,0x3B,\r
+0xF4,0x3D,0xC1,0xCB,0x01,0xB1,0xC8,0x76,0xC5,0xA3,0x87,0xB7,0x05,0xC1,0x8D,0x30,\r
+0x81,0x30,0x0A,0x9C,0xD2,0xEE,0x01,0xD3,0x38,0x8F,0xCE,0x3A,0xF1,0xCF,0x5E,0xA8,\r
+0x47,0x56,0x60,0x22,0x88,0x74,0xD3,0x91,0x77,0xAB,0x38,0x3F,0x0B,0xD7,0x1F,0xEE,\r
+0x74,0xC7,0x8C,0x0B,0x98,0x32,0x62,0x4A,0x7E,0x54,0x7F,0x2A,0xD0,0xE5,0xEB,0x6F,\r
+0xE8,0x2F,0xB0,0x73,0x3C,0x23,0xBA,0x55,0xA5,0xA0,0x4D,0xAB,0x50,0xA4,0xED,0x41,\r
+0x1D,0xD8,0x36,0xE4,0x1B,0xCA,0x76,0xAF,0x80,0x42,0xDD,0x10,0x1F,0x52,0xC9,0x44,\r
+0x18,0x53,0xD6,0xD6,0xF9,0x21,0xB6,0xF1,0x17,0xA8,0xF2,0x23,0xE1,0xF0,0xDF,0x7E,\r
+0x8B,0x80,0x85,0x1E,0xD8,0xD3,0x0E,0xD1,0x88,0x23,0x7D,0x77,0x83,0x36,0x78,0xA7,\r
+0x52,0x3E,0xFE,0x04,0x13,0xD4,0x5F,0xBC,0x73,0xFC,0x82,0x43,0x7A,0xC5,0x03,0x56,\r
+0x84,0xBB,0xEA,0xAE,0x75,0xAB,0x5B,0x32,0xB5,0x21,0x72,0x7D,0x13,0x48,0xFF,0x5F,\r
+0xDB,0xBE,0x5C,0x5A,0xDC,0xEB,0x5C,0x1A,0xAD,0xC1,0xED,0xCC,0x12,0xAF,0x61,0x2D,\r
+0x79,0xF3,0xDE,0xB1,0x09,0xAF,0xE1,0x65,0xC0,0x6A,0xDA,0xB9,0xC8,0x7A,0x0B,0xDE,\r
+0x77,0x0D,0xEC,0x17,0xEA,0x33,0x85,0xD4,0x03,0x7E,0x77,0x89,0x07,0xCD,0x29,0xF5,\r
+0x33,0x9E,0xF6,0x63,0x1A,0xBD,0xD2,0x40,0x1E,0x57,0xB5,0x36,0xB4,0x95,0xBF,0x0F,\r
+0x70,0x89,0x31,0x2F,0x94,0x14,0x19,0x92,0x22,0xCB,0x5D,0x4E,0x39,0x29,0x11,0x48,\r
+0x3E,0xAA,0xA4,0xD9,0xA9,0x86,0x6B,0xB1,0xE4,0x16,0xAD,0x70,0x8E,0xCB,0xD0,0xCE,\r
+0x99,0x6C,0xC6,0x00,0x74,0xDC,0xFF,0xDD,0x7D,0x6E,0x94,0x9D,0x9B,0xA9,0x98,0x16,\r
+0x13,0x26,0x04,0x42,0x9B,0x66,0xE0,0xB4,0xD2,0x4F,0xE9,0xAA,0x69,0x11,0xB8,0x37,\r
+0x22,0xB8,0xD5,0x61,0x0A,0xFB,0x63,0x9B,0x87,0x2F,0x8C,0xDB,0x56,0x12,0x1E,0xF8,\r
+0xE9,0xEA,0xED,0x65,0x9F,0x5E,0xB2,0x7F,0x64,0x10,0xEC,0x5E,0x76,0xDF,0x35,0x4D,\r
+0x87,0x71,0x8A,0xB2,0x33,0x51,0x43,0x73,0x2F,0x63,0xA0,0x27,0xAA,0xBC,0xAC,0x07,\r
+0x2C,0x46,0xE7,0xC7,0xDD,0x9C,0xF8,0xF5,0x3A,0x2B,0xC2,0xFF,0x01,0x7B,0xDA,0x4C,\r
+0x2E,0x49,0xDA,0xCD,0x21,0x34,0xD4,0xB9,0xB9,0x17,0x68,0x66,0x0F,0x6D,0x48,0x92,\r
+0x4C,0x23,0xB2,0xB6,0x81,0x1D,0x5E,0x6D,0x47,0x01,0xCA,0x5C,0xC4,0x60,0x3D,0xC5,\r
+0x90,0x16,0x29,0x9E,0x57,0x0D,0x61,0xEC,0xFA,0x05,0x84,0x78,0x9A,0x4E,0x06,0x64,\r
+0xB6,0xEF,0x5B,0x91,0xA1,0x98,0x42,0xA2,0xA3,0x53,0xFB,0x12,0xAE,0x06,0xFB,0x7B,\r
+0x86,0xB4,0xD7,0xA4,0x24,0x7B,0x22,0x9D,0x4E,0xFE,0x8D,0x49,0xD9,0xA2,0x14,0x7A,\r
+0x89,0x8F,0xB8,0x14,0x59,0x08,0x3C,0x25,0x24,0x38,0xEB,0xF7,0xA8,0xB0,0x08,0xC2,\r
+0x83,0x3F,0x37,0x96,0xBE,0xAC,0x0A,0x5F,0x00,0x44,0x9C,0x3E,0x72,0x65,0x62,0x31,\r
+0xE7,0x14,0xDF,0xC3,0xDA,0xF0,0x28,0xC0,0xDD,0x43,0x18,0x06,0x9F,0x13,0xCF,0x6A,\r
+0x45,0x59,0x5D,0x28,0xFC,0x6E,0x40,0xD5,0x0E,0xD6,0x8A,0xE0,0x94,0x58,0x94,0xBA,\r
+0x26,0xF6,0x68,0x45,0x68,0xBC,0x35,0xDE,0x0C,0x72,0x86,0x25,0x81,0x3A,0xDC,0x62,\r
+0xE4,0xDE,0xBF,0xDF,0x95,0x63,0xBD,0x7D,0xA9,0x96,0x57,0xB0,0x70,0x69,0xC6,0xF4,\r
+0x56,0x70,0x43,0x20,0x0E,0xC3,0x31,0x50,0x59,0x12,0xE3,0x54,0xF2,0x24,0x64,0x1F,\r
+0x30,0x54,0x96,0x7F,0x69,0xCB,0x91,0x31,0xCF,0x66,0x2B,0x15,0x3C,0x74,0xD8,0x46,\r
+0x6B,0x1F,0x9D,0xAF,0x93,0x78,0xC9,0xA7,0x2E,0xFD,0x47,0x55,0xB3,0xC4,0xD2,0xC4,\r
+0xE6,0xD1,0x82,0xD5,0x08,0xD8,0x45,0x8A,0x58,0x8C,0x04,0x26,0x99,0xA5,0x3C,0xD3,\r
+0xD7,0x4F,0x53,0xF6,0x05,0x89,0x9A,0xBD,0x27,0x02,0x00,0x40,0xE5,0x4A,0x88,0x02,\r
+0xE2,0x9F,0x3F,0xF1,0x53,0x35,0x33,0x27,0xF7,0xAD,0x79,0x11,0xF9,0x6F,0x3F,0xCF,\r
+0x95,0x9D,0xC9,0xAC,0x38,0x1B,0xE8,0x9E,0x42,0xC8,0x97,0x52,0x02,0x90,0xE0,0xFB,\r
+0xA1,0x88,0xF8,0xBD,0x76,0xFF,0xD9,0xCC,0x8F,0x4E,0x2C,0xBC,0x3B,0x25,0xB5,0x8D,\r
+0xA9,0x37,0x4A,0x35,0xE3,0x5A,0x08,0x28,0x30,0xEE,0x6E,0x5D,0xF5,0x75,0x09,0xD4,\r
+0xCA,0x98,0x7F,0x58,0x32,0x26,0xE7,0x9C,0x45,0xA5,0xC6,0x99,0xA6,0xA6,0x9A,0x1C,\r
+0x49,0xA8,0x52,0x84,0x90,0x2C,0x4B,0x59,0x49,0x93,0xDC,0x82,0xB7,0x7E,0x85,0xB8,\r
+0x58,0x8E,0x71,0x86,0xAD,0xBE,0x39,0x7A,0x65,0x8E,0x0B,0x2C,0x8D,0x20,0xEA,0x79,\r
+0x0E,0xF1,0x28,0xEC,0xC9,0xE2,0x1B,0xE5,0x10,0xC5,0xA3,0xE8,0x57,0xF5,0x80,0x8A,\r
+0x5A,0x81,0x4C,0x8C,0x39,0x6C,0x4C,0x71,0xA1,0xF7,0xF7,0xD7,0xE8,0xB7,0x20,0x6B,\r
+0xB2,0xA1,0xE6,0xB5,0xE2,0x2D,0xAC,0xC7,0x41,0xF2,0x7C,0xE5,0x91,0x05,0x5D,0xB4,\r
+0x68,0xD5,0xFD,0xB3,0x1D,0xD1,0x02,0x75,0x44,0x3B,0x21,0xEB,0x09,0xDB,0xBB,0x2B,\r
+0xAE,0xB3,0x97,0x0D,0x51,0x16,0x15,0x36,0x6B,0x1C,0x1D,0xF2,0x06,0x2A,0xB7,0x87,\r
+0x2A,0x07,0x67,0xE9,0x0C,0xE0,0x17,0x41,0xEF,0x4D,0xE6,0xA0,0xC2,0xD6,0xCE,0x7C,\r
+0xCD,0x1C,0xA2,0x60,0x29,0x2A,0xFD,0xAA,0x15,0x0C,0xFE,0xE6,0x20,0x51,0x6F,0x8B,\r
+0x19,0x96,0x8B,0xC0,0xD1,0xBA,0x83,0x2D,0xA7,0x04,0x41,0x6E,0x61,0xB1,0xD9,0x50,\r
+0x7B,0xFC,0xE3,0xBB,0xC8,0x95,0xBF,0x0A,0x6D,0xEF,0xAB,0x4B,0x3D,0x93,0x46,0x34,\r
+0xF3,0xB9,0x1C,0xF3,0xE1,0x79,0x2E,0x39,0x40,0x6C,0x9B,0x97,0x93,0x09,0xF9,0x71,\r
+0x97,0x92,0xF4,0xA6,0x4F,0x55,0xF9,0x24,0xE9,0xBE,0x50,0x19,0x19,0xE4,0x3A,0xFD,\r
+0x7C,0x78,0x3E,0x83,0x85,0x25,0x0C,0xA6,0x4B,0x37,0xD0,0x47,0x6A,0xFA,0x82,0x80,\r
+0xC2,0x27,0xCD,0xD0,0x4A,0x1A,0x0F,0x00,0x90,0xC3,0xE2,0xC6,0xF3,0xC3,0xFA,0x6D,\r
+0x15,0x67,0x84,0x6C,0x72,0xC7,0x8B,0x07,0xA0,0x69,0x10,0xA5,0x75,0x34,0x0F,0xFA,\r
+0xE3,0x5A,0x62,0xE7,0x8F,0x18,0x03,0xA4,0x4D,0xC4,0x66,0xFE,0xFC,0x32,0xF6,0xC1,\r
+0xF0,0x73,0x7C,0xEF,0x67,0xCE,0xCC,0xF8,0xCC,0x5C,0xC0,0xA2,0x6F,0xA7,0x4B,0x8E,\r
+0xEF,0xD1,0xF0,0xD5,0xEE,0x43,0x20,0x56,0x61,0x6C,0xFE,0x48,0x7B,0x27,0xD2,0x33,\r
+0xF9,0x43,0x2E,0xDB,0x6D,0xDA,0x1C,0xFC,0x9D,0x40,0xB2,0xE0,0x71,0x25,0xDD,0x0E,\r
+0xF4,0x36,0x79,0x10,0x93,0xE0,0x0A,0x5E,0x3D,0xCA,0x66,0xC9,0x0A,0x47,0xB7,0x66,\r
+0xDA,0x0D,0xD8,0x4E,0x2E,0xC4,0x0E,0x10,0xEB,0xF5,0xE7,0xD9,0x22,0x9B,0x82,0xFD,\r
+0x92,0xF0,0xC7,0x7A,0x77,0xAE,0x58,0x6F,0x1D,0xD6,0xA9,0x4C,0x2D,0xBD,0x7B,0x8F,\r
+0x36,0x1F,0xC6,0x0D,0x9A,0xF5,0xF5,0x19,0x98,0xB6,0x96,0xAF,0x18,0x8D,0x20,0x03,\r
+0x24,0x03,0x7E,0x7C,0xF0,0x4B,0x33,0x7F,0xE5,0xA8,0x2E,0xDC,0xA8,0x82,0x1B,0x6C,\r
+0xF1,0x69,0x8D,0xA6,0xD4,0x82,0x4F,0x08,0x02,0x9E,0x54,0x78,0x2A,0x88,0xAB,0xE3,\r
+0x01,0xB4,0xB3,0x60,0xCA,0x8A,0x5C,0x21,0xA6,0x46,0x4B,0x69,0xDF,0x38,0x0A,0x22,\r
+0xBD,0x1A,0xF4,0xED,0xF6,0xF2,0xC0,0xC9,0x28,0x8D,0x99,0xC0,0x93,0x7B,0x1D,0xE5,\r
+0x5F,0xDB,0x72,0x5A,0x30,0xCC,0x1D,0x39,0x15,0xFF,0xBA,0x52,0x65,0x35,0x3E,0x70,\r
+0x3D,0x93,0xAA,0x4F,0xA9,0x21,0x65,0x00,0xC8,0x6B,0xD6,0x08,0xBC,0x92,0xF8,0x12,\r
+0x85,0xB3,0x8B,0xBD,0x06,0x16,0x44,0x7D,0x27,0x74,0xBF,0xB2,0xFE,0x18,0xB2,0xD0,\r
+0x86,0x15,0x44,0x82,0x53,0x67,0x24,0x18,0xB6,0xF7,0x90,0x2F,0xDD,0x29,0x2C,0x01,\r
+0x4B,0x3E,0xF1,0xA2,0xB0,0xE2,0x1B,0x78,0x23,0x26,0x74,0x8A,0xD9,0xE2,0x7E,0x39,\r
+0x28,0xA7,0xBB,0x7E,0xFB,0x9B,0x68,0x34,0x8F,0xD7,0x78,0x85,0x0E,0x8C,0xE5,0x5E,\r
+0xC6,0xC2,0xF8,0xCB,0x54,0xAC,0x49,0x49,0xA7,0xE2,0xA4,0x1E,0x58,0x16,0x4C,0xE2,\r
+0x64,0xD4,0xC2,0x35,0xC3,0x9F,0xA3,0x66,0x45,0x22,0xFA,0xF5,0x6A,0x13,0xC7,0x02,\r
+0xA2,0x73,0x1B,0x57,0x5C,0xCB,0x28,0xE9,0x64,0x9A,0xDA,0x07,0xA2,0x80,0x14,0x51,\r
+0x51,0x08,0xEA,0xAE,0xA7,0xFF,0xF7,0x16,0xAF,0xCB,0xB7,0x00,0xB8,0x59,0xAA,0x2A,\r
+0xDC,0xF4,0xE3,0xC7,0x61,0xC1,0x2A,0xE6,0xC9,0xCF,0x39,0x7F,0x12,0x8F,0x2F,0x3E,\r
+0x3B,0x6A,0x91,0xC6,0x79,0x70,0xCA,0x79,0x60,0xC8,0x11,0x3F,0xE6,0xD0,0x2A,0x88,\r
+0xEE,0x00,0x62,0x1C,0x14,0x05,0x61,0x4E,0xB5,0x75,0x6E,0x7B,0x0D,0x72,0x67,0x0A,\r
+0x59,0x22,0x49,0xD3,0xD7,0x35,0x75,0xE3,0x56,0x11,0xDF,0xE7,0xAB,0x7C,0x99,0x38,\r
+0xF0,0xB8,0x1F,0x6F,0x92,0x92,0x94,0xB9,0x26,0xD0,0x50,0xC5,0xE7,0x3F,0x8E,0xFF,\r
+0xAF,0x06,0x4C,0x9C,0x80,0x81,0xB1,0x8A,0x76,0x0D,0x10,0x62,0x51,0xEA,0xC1,0x8B,\r
+0xFE,0x6B,0x87,0x9B,0x46,0xBF,0x6C,0x7A,0xA4,0x60,0x5A,0x4A,0x03,0xBB,0x3A,0x0F,\r
+0x55,0x86,0x8C,0xD1,0x11,0x0B,0xA8,0x13,0xBD,0x5C,0x7D,0x65,0x77,0xFF,0xA9,0x15,\r
+0x5B,0x55,0x14,0x25,0xEC,0x86,0x84,0x5A,0x6E,0x95,0xD8,0x3A,0x20,0x8A,0xA4,0xDE,\r
+0x43,0x14,0x52,0xDF,0xA3,0x83,0xA0,0xAC,0x34,0x47,0x9A,0xA0,0x9E,0x4C,0xC2,0xB4,\r
+0x71,0xE0,0xD3,0x04,0xAA,0x96,0x5F,0xEB,0x24,0xF6,0x41,0xE6,0xB7,0x7F,0x53,0x58,\r
+0x30,0xE6,0xFD,0x84,0x71,0x17,0xAB,0xD9,0x80,0x2E,0x5E,0xF7,0xCF,0xE3,0xBB,0x64,\r
+0x07,0x4D,0x88,0xE9,0xB9,0xF7,0xE4,0x3F,0x74,0x2B,0x01,0x41,0x07,0x70,0x68,0x37,\r
+0x9D,0xF2,0xCD,0x47,0x94,0x2B,0x67,0x0F,0x5D,0xBA,0x32,0xAD,0x4F,0xF8,0x2D,0xC8,\r
+0x70,0x31,0x41,0xCD,0x3D,0xA5,0xB5,0xC4,0xF3,0x6D,0x2F,0x81,0x1A,0x9C,0x06,0x20,\r
+0x6E,0x89,0x3C,0xBE,0x9F,0xFB,0x3C,0x44,0x39,0x98,0xAD,0xF1,0x3F,0x77,0xEC,0xEA,\r
+0x57,0xF1,0xD1,0x27,0x44,0x7A,0xC8,0x76,0xF6,0x9B,0x0B,0xCE,0x6C,0xC9,0xB3,0x19,\r
+0xA0,0x04,0x46,0xA1,0x74,0x19,0x62,0x84,0xCE,0x1F,0x0C,0x13,0xD0,0x1E,0xF3,0x50,\r
+0xA6,0xFD,0x7D,0x28,0x99,0x42,0xCF,0xF2,0x33,0x97,0xAF,0xCC,0x5B,0xE8,0xCE,0xB6,\r
+0x33,0x40,0x32,0xBB,0x18,0x1E,0x57,0x54,0xDB,0x58,0xF3,0x1A,0x53,0xFB,0xE7,0xA8,\r
+0x61,0x8B,0x36,0x83,0xC4,0x54,0xCE,0x37,0x75,0x8F,0xEE,0x36,0x50,0x05,0x65,0xFC,\r
+0x23,0x2B,0xD7,0x3C,0x75,0x6B,0xFC,0x63,0x85,0xD8,0x7A,0xB8,0x30,0x51,0x15,0x98,\r
+0x91,0x56,0x08,0x45,0x95,0x59,0xF9,0xE8,0x5E,0x38,0xCC,0xF9,0x09,0xB9,0x35,0x32,\r
+0x4F,0xB0,0x97,0xDD,0x90,0x57,0x30,0xB5,0xA1,0x96,0x7E,0x05,0x0F,0x63,0x41,0x29,\r
+0xBE,0xBC,0x3B,0xD2,0xBF,0x4E,0x17,0x89,0xED,0x81,0x3D,0xC2,0xB1,0xA5,0x27,0x43,\r
+0x42,0xC5,0xC0,0x16,0x3B,0x1C,0x46,0x72,0xB0,0x83,0x4A,0x34,0x55,0x21,0x93,0xB3,\r
+0xC5,0x64,0x37,0xF4,0xC1,0x5A,0x07,0x6A,0x95,0x69,0xA1,0xFE,0xDC,0xC6,0x88,0x76,\r
+0x25,0xD2,0xEC,0xB5,0x73,0xD2,0x0F,0xD5,0x6D,0x17,0x26,0x6E,0x7C,0x12,0x02,0x5F,\r
+0xDE,0x83,0xBE,0x31,0xF3,0xFC,0x09,0x94,0xB9,0x0E,0xB6,0x5D,0x4A,0xDC,0xDB,0x87,\r
+0xFB,0x34,0x73,0x2D,0x23,0xAD,0xA6,0xED,0xEF,0xA7,0x2C,0xE1,0x4D,0xE9,0x0B,0xEB,\r
+0x04,0xEB,0x47,0xD6,0x96,0xEE,0xC3,0x03,0x84,0x7C,0x95,0xCF,0x10,0x9E,0x09,0x1D,\r
+0xB1,0xBE,0x31,0xEF,0x5B,0x00,0x45,0xB8,0xCA,0x4D,0xC7,0x2B,0x01,0xAA,0x1C,0x2C,\r
+0xE1,0x02,0x68,0x21,0xE4,0xE1,0xE5,0xFA,0x5F,0x9C,0x23,0x8E,0x89,0xA2,0xA3,0x9E,\r
+0x32,0x91,0xA0,0x72,0x91,0x25,0xAE,0x52,0x8E,0x73,0x97,0xF2,0xE4,0xC1,0x0C,0xAB,\r
+0xEA,0x8E,0x04,0x63,0x9D,0x3E,0x98,0x48,0x2C,0xDF,0x52,0xF8,0x38,0x42,0x3C,0x86,\r
+0xB4,0xE1,0xC5,0x59,0xB1,0x90,0x85,0x9F,0x11,0xAD,0x71,0x6A,0x3A,0x53,0x1A,0xA5,\r
+0x87,0xC4,0xD6,0x4B,0x09,0xBA,0x48,0x8C,0x66,0xBC,0xCB,0x24,0x7F,0xEC,0x80,0x0B,\r
+0xCC,0x9F,0x06,0x40,0xDA,0x5C,0xDD,0x1E,0x40,0xD4,0xDE,0xBA,0x94,0x4E,0xCD,0x89,\r
+0xAE,0xD7,0xDE,0x55,0xD8,0x99,0x79,0x12,0xD4,0xA1,0xD5,0x68,0xF9,0x2D,0x62,0xBC,\r
+0xFD,0xCD,0x48,0xA4,0x7D,0x0C,0x9D,0xC3,0x29,0x29,0x76,0xB7,0x63,0xEF,0x4A,0x6B,\r
+0xB0,0x6F,0xA3,0x26,0x8D,0xE8,0x19,0x77,0xB2,0xA5,0x5B,0x17,0x9C,0x5D,0xE4,0x97,\r
+0xE0,0xD3,0xFA,0xE8,0x1B,0xA9,0x6D,0xBF,0xD5,0x05,0x3A,0x1F,0xC3,0x3B,0xC0,0x42,\r
+0x50,0xD9,0x78,0x67,0xFA,0xE9,0xF6,0xD3,0x2F,0x5D,0xAC,0xAC,0x13,0x60,0x8B,0x49,\r
+0x31,0x37,0x6F,0x4D,0x8C,0x9A,0x87,0x90,0xB4,0xD1,0x81,0x0C,0x69,0xED,0x45,0x56,\r
+0x2D,0xC3,0x66,0x1D,0x01,0xAB,0x74,0x08,0xB6,0x66,0x98,0x16,0x91,0x62,0xAA,0xFF,\r
+0x1E,0xE6,0x75,0x0F,0xF2,0xF8,0xCA,0x57,0x00,0x29,0x4D,0x62,0xC1,0x22,0x77,0x58,\r
+0xB4,0xDA,0xEC,0x8C,0x4C,0x6B,0xF4,0xF2,0x90,0x0E,0x8D,0x88,0x5A,0x0F,0xFB,0xF8,\r
+0xDD,0x1E,0x58,0xDB,0x06,0x60,0x19,0x59,0xE4,0x9D,0xC9,0x92,0x43,0x28,0xC7,0xD7,\r
+0x0B,0xD2,0x64,0x3E,0x42,0xB5,0x66,0xE4,0x79,0x65,0x3E,0x29,0xD3,0xE8,0xE0,0x3D,\r
+0xFD,0xF6,0x61,0x71,0xB8,0xF3,0x27,0xFC,0xC7,0x03,0xF8,0x43,0x89,0xAA,0x32,0xA7,\r
+0x7E,0xD9,0xF0,0xEC,0x19,0x1A,0x94,0x97,0x28,0x1C,0x91,0xF9,0x67,0x2C,0x89,0x6A,\r
+0x4C,0x2D,0x71,0x37,0x99,0x34,0x92,0xD6,0x50,0xF4,0x0D,0xC5,0xC3,0x33,0x51,0x7B,\r
+0xC1,0xD1,0x78,0x5E,0xA8,0x25,0xA6,0xC3,0x8D,0x60,0x61,0x9F,0xA2,0x88,0x85,0x68,\r
+0xEE,0x3B,0x4B,0xC9,0x56,0x1F,0xB0,0x61,0xBF,0xEB,0x64,0x7F,0x40,0xD6,0x45,0x83,\r
+0xB1,0x85,0x18,0x3A,0x33,0x0D,0x7A,0xF6,0x5F,0x0D,0x2B,0xB7,0x48,0xC5,0x6C,0x9D,\r
+0x4E,0x5A,0x2C,0xC1,0xCA,0xFC,0x01,0x05,0x45,0xB3,0xF2,0xCC,0x83,0xA8,0x3D,0x9A,\r
+0xDE,0xB8,0x97,0xE4,0x5B,0x76,0x18,0x9C,0x01,0x8D,0xA2,0x15,0x87,0x63,0x6F,0xA2,\r
+0x41,0x58,0x26,0xFC,0x5A,0x04,0x86,0x7B,0xF5,0x88,0xFD,0xA3,0x2E,0x4B,0x68,0xE2,\r
+0x44,0x07,0xD2,0x4A,0x4E,0xAE,0x50,0xFE,0x4C,0x3E,0x0E,0xA5,0xB1,0xAD,0xB6,0x7A,\r
+0xE9,0x13,0xE2,0x89,0x81,0x85,0x72,0x49,0xEA,0xC0,0x00,0x97,0x52,0x1C,0xD2,0xE6,\r
+0x6E,0xB2,0x15,0x6B,0x70,0x13,0x68,0x1A,0x74,0xBA,0x09,0x78,0xCF,0xEB,0x2A,0x5D,\r
+0x86,0x2E,0x6D,0x57,0xFD,0x54,0xC6,0xA6,0x38,0xAD,0x4A,0xBF,0x41,0x39,0xE1,0xF4,\r
+0xA7,0x17,0xC6,0x34,0xD2,0x4D,0xE1,0x9A,0x5B,0x5F,0xE0,0x8F,0x2F,0xA4,0xCC,0x95,\r
+0x9E,0x6F,0x2B,0xAD,0xC7,0x95,0xA9,0xF8,0x82,0x99,0x47,0xED,0xF2,0xC8,0x58,0xCF,\r
+0xBF,0x56,0x80,0xCE,0x1F,0xA3,0x67,0x21,0x3A,0x8B,0x5B,0x9C,0x51,0xE2,0x50,0xB2,\r
+0xDA,0x36,0xF1,0x9B,0x20,0x6C,0xC1,0x22,0x19,0x15,0x6A,0x4D,0xC0,0xCD,0xD3,0x2F,\r
+0x93,0x1A,0x7C,0x66,0xE3,0x5C,0xD5,0x8F,0xE9,0x42,0xFE,0xC3,0x68,0x0A,0x70,0x18,\r
+0xDF,0x69,0x05,0x2D,0x3F,0x16,0x4C,0xEC,0x3E,0xD9,0x90,0xA4,0xC4,0x06,0x81,0x17,\r
+0x5B,0x6E,0x3D,0xF0,0x46,0xC9,0x31,0x5E,0x96,0x7A,0x57,0x93,0x7A,0xC0,0xE7,0x7D,\r
+0xF1,0x52,0xA4,0x73,0x48,0x17,0xA3,0x48,0x9C,0x75,0x55,0xAE,0x86,0x8C,0xCB,0xD5,\r
+0xB7,0x7C,0x23,0xB3,0xD3,0x3F,0x7F,0x7D,0xC5,0x25,0xE9,0x60,0x0C,0x95,0x52,0x44,\r
+0xF9,0x78,0x07,0x0E,0x8D,0x9E,0x44,0x53,0xED,0x10,0x35,0xFB,0xDA,0x14,0x6D,0x54,\r
+0xBE,0x87,0x12,0x07,0x90,0x21,0x6D,0x91,0xFF,0x87,0xFF,0x9E,0x7F,0xE4,0x11,0x32,\r
+0xC8,0x2A,0x49,0xEA,0xE7,0x20,0x82,0x35,0xCA,0xDC,0xCF,0x12,0xFA,0xDB,0x71,0xD1,\r
+0xAF,0x3D,0x65,0x49,0x3B,0x6A,0x1B,0x56,0xCD,0x0C,0xFA,0x7E,0xE5,0x26,0x39,0xE5,\r
+0xD8,0x41,0xAC,0x6D,0xE1,0x99,0x71,0x83,0x4F,0xBC,0xF0,0xF1,0x02,0x5C,0x0F,0x41,\r
+0xB9,0xAF,0xBB,0x47,0xDD,0xE1,0xED,0x6B,0x73,0x6A,0x3C,0x14,0xA7,0xAC,0x73,0x27,\r
+0x2B,0x3A,0x5D,0x94,0xD6,0x31,0xB6,0x20,0x98,0x27,0x9E,0x96,0x81,0xB9,0x1B,0xB9,\r
+0x64,0xEF,0xEB,0xE0,0x39,0xAF,0xBF,0x5A,0x84,0xED,0x9D,0xF6,0xCE,0x04,0x8E,0x2A,\r
+0xB5,0x0B,0x7E,0x45,0xC8,0x39,0xA5,0x09,0x1E,0xC5,0x5F,0x21,0x33,0xA7,0x06,0xF5,\r
+0x18,0x1F,0x4E,0x86,0x75,0x1D,0xA1,0x47,0x24,0x67,0x49,0xDF,0x32,0x48,0xA2,0x82,\r
+0xD0,0x6B,0x0F,0x10,0xBB,0x44,0x1D,0x17,0x7B,0x43,0x2F,0x0A,0x55,0x29,0x02,0x8A,\r
+0x37,0xF5,0x7D,0x11,0xD0,0x88,0x45,0x96,0x8E,0xE2,0x9F,0xCB,0x53,0xF3,0x76,0x91,\r
+0x74,0x84,0x0E,0x67,0xFA,0x9F,0xAB,0xF7,0xF4,0x2C,0x12,0xD4,0xC8,0xDE,0xFA,0x31,\r
+0x4A,0xD4,0x4A,0xBE,0xB0,0x94,0x46,0x5C,0xAA,0xAC,0x9B,0x76,0x08,0x5E,0x00,0x7C,\r
+0x33,0x7B,0x1B,0x6E,0xAC,0x59,0xF1,0x79,0xAD,0x7C,0xAE,0x1A,0x5E,0xC4,0xA9,0xC0,\r
+0x1F,0x37,0xE7,0xC6,0x72,0xD6,0xCC,0x16,0xE6,0xBB,0xD8,0xB1,0x2D,0xB5,0xEA,0xB6,\r
+0xA4,0xB1,0x09,0x0B,0x4B,0xA0,0x99,0xA3,0xF7,0xAE,0xEC,0x80,0x63,0xE7,0xDB,0x52,\r
+0xF5,0xDC,0xC2,0x0C,0xEF,0x47,0xE3,0x95,0x03,0xAB,0xB3,0x36,0x69,0xE5,0xD4,0x6F,\r
+0x5D,0x97,0x06,0x79,0xBC,0x8F,0x70,0x46,0x6E,0x04,0xD0,0x03,0xB8,0x51,0x3B,0x13,\r
+0x38,0xF7,0x77,0x2C,0xC4,0x22,0x93,0x13,0xDD,0xBD,0x21,0x38,0xF6,0x03,0x0A,0xF7,\r
+0xEF,0xEA,0xD9,0x00,0xFE,0xE3,0xFC,0x4D,0xDF,0x9B,0x30,0x1B,0xCB,0x20,0x78,0x65,\r
+0xC4,0x8E,0x8C,0xE8,0xA1,0x30,0x59,0x84,0xD7,0xB2,0x23,0x05,0x62,0x08,0x7F,0x25,\r
+0x90,0xBC,0xB3,0x59,0x1E,0xD1,0xF9,0xC6,0xB7,0xC2,0x77,0x61,0x92,0x9C,0x28,0xAB,\r
+0x12,0x42,0xB0,0x0D,0x40,0x70,0xC2,0xE8,0xE8,0xE6,0x11,0xB4,0x46,0x0C,0x31,0x98,\r
+0x4F,0x8B,0xBE,0x08,0xD8,0xEF,0x24,0x36,0xEE,0x92,0xCB,0xAF,0xB9,0xBE,0x9F,0x64,\r
+0xD5,0x34,0xFB,0xA6,0x8B,0x27,0xB7,0xE5,0xB2,0x34,0x53,0x2E,0x57,0x38,0x24,0xA9,\r
+0x2E,0x65,0xA9,0x22,0x4F,0xDC,0xCE,0x19,0x56,0x80,0xD7,0xDE,0x0A,0x4F,0x26,0x5F,\r
+0x72,0x7D,0x35,0xEE,0x28,0x0B,0xA0,0x82,0x9B,0xA5,0x60,0xC2,0x8A,0x54,0xB0,0xF3,\r
+0xCD,0x75,0xBD,0x5C,0x69,0xD0,0x16,0x62,0x3B,0x2F,0xB4,0xEB,0x72,0xD3,0xCE,0x63,\r
+0xA8,0x15,0xCC,0x09,0xDA,0x2A,0x80,0x3A,0xA8,0x8A,0x8A,0x55,0xBA,0x40,0x1D,0x30,\r
+0x98,0x96,0x10,0x24,0x74,0x6F,0x3F,0xA0,0xE0,0xCF,0x02,0xAA,0x93,0x73,0x8C,0xDC,\r
+0xE3,0x4E,0x1C,0x02,0x23,0xDB,0xFB,0xC9,0xD8,0x4B,0x05,0x77,0xDE,0xDF,0x3F,0x6C,\r
+0x63,0xC7,0x42,0xA0,0x50,0xA6,0x43,0xD7,0xFD,0xA1,0xEE,0xBD,0x14,0x5D,0xCA,0x1C,\r
+0x23,0x10,0xFE,0xE9,0x3C,0xA1,0x76,0x07,0x37,0x54,0x6C,0xCD,0x29,0x7E,0xB8,0x8E,\r
+0xD1,0xBA,0x9D,0xD9,0xBA,0x36,0x83,0xF0,0x8B,0x14,0xBB,0x84,0x11,0x79,0x3C,0x53,\r
+0xF3,0x25,0xF9,0x85,0x26,0xD5,0x32,0x94,0xB4,0x40,0x89,0x35,0x3C,0x81,0xFF,0x87,\r
+0x55,0xBD,0xA5,0x04,0xB5,0x9A,0x8F,0x01,0xBC,0x69,0x9A,0x2B,0xD4,0xDD,0x30,0x51,\r
+0x32,0x4E,0x6F,0x7B,0xC7,0x26,0x0E,0xE5,0x82,0x9F,0x38,0x20,0xA2,0xF5,0xB4,0x95,\r
+0x00,0x1A,0xDE,0x44,0x26,0x99,0x4C,0x45,0xE6,0xCB,0x48,0x40,0x2C,0xA2,0x20,0x65,\r
+0xFE,0x98,0x8A,0x47,0x87,0xC7,0x62,0x7E,0x33,0xAD,0x6C,0x1F,0x1F,0xBB,0xB0,0xB1,\r
+0x37,0xC5,0x8F,0x49,0x18,0x5F,0xBC,0x98,0x28,0x77,0x18,0x19,0xE3,0x15,0x02,0x4E,\r
+0x88,0x5F,0x21,0x0C,0xD0,0x0C,0x6F,0x0B,0xA9,0xEF,0xBE,0x45,0x2E,0xAE,0x84,0xA0,\r
+0xD9,0xA4,0xA5,0x5E,0x2B,0xC8,0x93,0x72,0x59,0x6B,0x0A,0xA1,0xD8,0xAC,0xF3,0xFD,\r
+0xC1,0xF8,0x69,0xC2,0xFC,0xAF,0x08,0x1C,0x45,0xDC,0x2F,0x6C,0x74,0x3A,0xE8,0x7D,\r
+0xC9,0x47,0xDB,0x4A,0x27,0xEE,0xE8,0xAA,0x6C,0x08,0xA5,0xCC,0xE4,0x44,0x6F,0x85,\r
+0xA9,0x22,0x8E,0x3B,0xDD,0x5D,0xB0,0x3C,0xD2,0x36,0x00,0x5F,0xB7,0x97,0xFC,0x4D,\r
+0x2A,0x12,0xA3,0xE7,0x98,0xF3,0x2A,0x83,0x2D,0xBE,0x45,0x17,0x5B,0x06,0xCF,0x64,\r
+0xF2,0x69,0x85,0xEB,0x2C,0xA4,0x43,0x47,0xF0,0xB9,0xC1,0x2F,0xEB,0xB5,0x63,0x29,\r
+0x7B,0xE9,0x27,0xB5,0x51,0xD7,0x5D,0xFF,0x3A,0x52,0x2B,0x0A,0x9B,0x40,0xE1,0xE3,\r
+0xAC,0xA9,0x6E,0x09,0x56,0xBB,0x8D,0xCA,0x4A,0xD0,0xDE,0xC0,0x09,0x32,0xC2,0xDE,\r
+0x06,0x5B,0x5E,0x6A,0xC1,0x3D,0x7A,0x3F,0x03,0x07,0x9E,0x7C,0xD4,0xB6,0xC5,0xE6,\r
+0x99,0x79,0x02,0x0E,0x22,0xA1,0x1E,0x8E,0xB2,0x35,0xCA,0x43,0x00,0x75,0x3D,0xCB,\r
+0x01,0xDF,0x83,0x52,0x6D,0x32,0x8B,0x33,0xAC,0x26,0xE3,0x4B,0xD6,0xBA,0x61,0x23,\r
+0x13,0x33,0xC0,0x4C,0x16,0x5A,0xE1,0x51,0x93,0x80,0xE0,0x84,0xA0,0xF9,0x10,0x50,\r
+0x86,0xA1,0x13,0xAA,0xC6,0x51,0xAA,0x0A,0x11,0x22,0xAD,0x6F,0x3E,0x91,0x05,0x76,\r
+0x53,0xEE,0x67,0x1C,0x58,0xBE,0xD0,0x03,0x71,0x21,0x67,0x73,0xAD,0x04,0xB8,0x39,\r
+0xB7,0x3F,0xC2,0x89,0xCE,0x4F,0x83,0x19,0xA6,0xE3,0x4F,0xE9,0x72,0x8C,0x1B,0xC4,\r
+0xA3,0x92,0x01,0xB9,0xEA,0xF2,0xCD,0x1D,0x58,0xF5,0xED,0xD3,0x05,0x28,0xF4,0xC5,\r
+0xD7,0x5A,0x97,0xF8,0xB3,0x3C,0x9D,0xA1,0x8D,0x93,0xC9,0x8C,0x0D,0x88,0x95,0xA2,\r
+0x49,0xBD,0x96,0x8A,0x7F,0x57,0x1C,0xF9,0x4C,0x23,0x68,0x79,0x16,0xFC,0x4F,0xA4,\r
+0x38,0xFE,0xE0,0xF9,0x68,0x7D,0x7D,0x17,0x53,0xAE,0xA6,0x03,0xB6,0x70,0x62,0x3F,\r
+0x68,0xC0,0x39,0xBD,0x63,0x37,0xD6,0xFA,0xF1,0x27,0x26,0x5D,0xFB,0x8A,0xE2,0xFF,\r
+0xC7,0xB9,0xE9,0xEC,0xAE,0x2B,0xF3,0x4D,0x9D,0x12,0xF6,0x5A,0x47,0x23,0x78,0xA9,\r
+0x8B,0x95,0x41,0x10,0x21,0xF5,0x9C,0x70,0x36,0x64,0x31,0x11,0x31,0x60,0x09,0xDA,\r
+0x0D,0x2E,0x8C,0xFE,0x57,0xCC,0x29,0x25,0x07,0x50,0x24,0x00,0xD5,0x51,0x5B,0x94,\r
+0x60,0x7F,0x8B,0x35,0xB0,0x68,0x1F,0x5F,0xB1,0x0F,0x21,0xF4,0xE8,0x5E,0x59,0x9E,\r
+0x2B,0xD7,0xFE,0xF1,0x78,0x3B,0xCC,0xCC,0x84,0x6C,0x8E,0x99,0x94,0xB1,0xED,0x4F,\r
+0x4B,0xB2,0xAB,0x80,0xD5,0x43,0x99,0x2F,0xBF,0x9D,0x37,0x2A,0x70,0x80,0xBF,0x01,\r
+0x56,0x65,0x87,0x2E,0x14,0x79,0xC7,0x40,0x9C,0x8C,0x11,0x28,0xE2,0xF2,0x9C,0x3C,\r
+0x0E,0xE4,0xEC,0xE2,0xE4,0xF7,0x90,0xD4,0xFF,0xB5,0x30,0x83,0xDA,0xA0,0x57,0x38,\r
+0x92,0x0C,0xD0,0x9A,0xA3,0x7A,0x2C,0x7A,0x38,0xF6,0x27,0xCF,0x73,0x6B,0x85,0xB6,\r
+0xAB,0x2D,0xB3,0x31,0xBA,0x55,0x10,0x5D,0x08,0x5C,0xD5,0xAC,0x12,0x46,0x18,0xD8,\r
+0xD3,0x14,0x2A,0xDC,0x62,0x40,0x72,0x15,0x6A,0xFB,0x13,0x75,0x48,0xD2,0x74,0x05,\r
+0xEA,0x35,0x49,0x77,0x54,0x98,0xAB,0xDB,0x1B,0xE7,0x01,0xCD,0x35,0xDA,0x5E,0xA6,\r
+0x8A,0x50,0x1C,0x06,0x9B,0xA7,0xA8,0x7D,0xCA,0xD6,0x9F,0xEE,0xA8,0x59,0x71,0x37,\r
+0xA6,0x19,0xE1,0x8B,0xAB,0x64,0x05,0x69,0x44,0x42,0xC8,0x1E,0x9F,0xFA,0xB6,0x9F,\r
+0xD5,0x55,0xAA,0xF2,0xE1,0xB8,0x66,0xF0,0x23,0x2C,0x53,0xC9,0x90,0x0B,0xBA,0x33,\r
+0xD2,0xD1,0x77,0xCA,0x3E,0xC1,0xD4,0x8D,0x14,0xEB,0xF0,0x61,0xFA,0x6D,0x7C,0x8D,\r
+0xEE,0x7B,0xF4,0x53,0xE0,0xCF,0xC2,0x1F,0x29,0xE9,0xFF,0x6B,0x52,0x41,0x30,0x71,\r
+0xC0,0x3D,0x34,0xD4,0xC8,0x54,0xF7,0xC3,0xE7,0x55,0xAF,0x32,0xC3,0xD8,0x29,0xFB,\r
+0xC4,0x73,0x89,0xF0,0x69,0x0A,0xD9,0xF8,0x7C,0x89,0x9A,0x1A,0xD3,0xE7,0xA8,0x2D,\r
+0x3B,0x34,0x80,0xE5,0xD6,0x17,0x1B,0xD1,0x19,0x43,0x0D,0x08,0xB5,0x9B,0x58,0x88,\r
+0x96,0x42,0x6D,0xBE,0xD7,0x60,0xBF,0x3E,0x95,0x73,0x56,0x3D,0x56,0xFB,0x67,0x0D,\r
+0x81,0x25,0xCE,0x92,0x9D,0xBC,0xDC,0xA7,0xF9,0x46,0x86,0x3A,0x62,0xB3,0x9A,0x12,\r
+0xFD,0x52,0xEA,0x5B,0x6E,0x66,0x09,0xCD,0x76,0x4C,0x36,0xB8,0xC6,0x85,0xE0,0xF5,\r
+0x7F,0xA7,0x9A,0x91,0x5C,0x86,0x82,0xC8,0x91,0x24,0xEC,0x41,0x78,0x20,0xDE,0x66,\r
+0x5A,0x94,0x88,0x82,0x0F,0x75,0xDD,0x76,0xE5,0xF1,0xA3,0xF7,0xDF,0xFD,0x9E,0x36,\r
+0x66,0x3E,0x0B,0x1B,0x9C,0xCB,0x78,0x48,0x0F,0x31,0x84,0x67,0x7F,0x71,0xB3,0xAD,\r
+0xA2,0x57,0x5C,0xAF,0x97,0x81,0xD3,0xA5,0x15,0x75,0x17,0x13,0x50,0x4D,0x94,0xB4,\r
+0x6E,0x81,0xB9,0x93,0x42,0xC5,0x6E,0xDA,0xAE,0x82,0xEF,0x8E,0xBA,0x6A,0x54,0x24,\r
+0x4A,0x77,0xF6,0x96,0x04,0x3F,0x76,0x9B,0xC4,0x44,0x89,0x30,0x20,0xB8,0x16,0x7E,\r
+0x65,0xF4,0x6B,0x07,0xED,0x9E,0x1D,0x28,0x7E,0x2D,0x96,0xDF,0xED,0x03,0x90,0x90,\r
+0x91,0xC6,0xB0,0x86,0xC3,0x1E,0x5C,0x2E,0x42,0xB1,0x7E,0xA7,0xFC,0xDB,0x8F,0x34,\r
+0x6D,0x4B,0xD9,0x8F,0xD2,0x2F,0x49,0x1A,0x18,0xDD,0xEA,0x7A,0xEF,0x0F,0x34,0x55,\r
+0x87,0x64,0x4E,0xBC,0xE8,0xD1,0xEB,0x0C,0xF8,0xD8,0x61,0x48,0x04,0xCF,0x6A,0xB7,\r
+0x39,0x3B,0xBD,0xEF,0xFA,0xB4,0x7C,0xC6,0x30,0x97,0x87,0xA8,0x1A,0xE6,0x79,0xBF,\r
+0xE6,0xC4,0x46,0xDB,0x0B,0x4D,0x8F,0xBD,0x4B,0x4E,0x39,0xB2,0x1D,0xB7,0x14,0x74,\r
+0x04,0x54,0x63,0x60,0x81,0xDC,0x16,0xA4,0x92,0x1E,0x07,0xF6,0x25,0xE5,0xDF,0x70,\r
+0xE4,0xCB,0x7B,0xD1,0xF3,0xDD,0xF1,0x3A,0x24,0x41,0x02,0x02,0x65,0xE2,0xF7,0xD9,\r
+0xBB,0xCE,0xCD,0x25,0x59,0xC9,0x74,0xEC,0x22,0xB2,0xB4,0xBB,0xFD,0x3C,0x11,0x46,\r
+0xAF,0x63,0x0E,0x15,0x72,0x06,0xC3,0xCE,0x10,0xBC,0x4A,0x1D,0x61,0x58,0xA0,0xA5,\r
+0xD5,0x80,0xE3,0x01,0xAD,0x63,0x9B,0x43,0x0E,0xEC,0xF8,0x98,0x3D,0x12,0xC3,0x0F,\r
+0x8E,0xB0,0xD6,0x8D,0x4E,0xE6,0xA4,0x23,0x55,0x9A,0x55,0x75,0x3C,0xFD,0x67,0x78,\r
+0x5E,0x85,0xD1,0xE1,0x7A,0xF9,0x59,0x6B,0x79,0xFD,0x42,0xD6,0x76,0x64,0x04,0xA4,\r
+0xEE,0x8F,0x53,0x6E,0xDE,0x1E,0x23,0x5D,0xB0,0x8A,0x3E,0xF2,0x85,0x0E,0xD1,0x7E,\r
+0x28,0x28,0x8A,0x0C,0xE2,0x66,0xBF,0xB5,0x21,0x09,0x11,0x6F,0xD5,0x4E,0x0C,0xD9,\r
+0x27,0x2A,0x80,0x31,0x4A,0x9A,0xF3,0x99,0xB8,0xA3,0x2D,0xEC,0x0B,0xDC,0x1A,0xD7,\r
+0x77,0x96,0xD9,0xFF,0xDB,0x10,0xEA,0x00,0x3F,0xE5,0x03,0x2C,0x23,0x00,0x2F,0x4C,\r
+0x42,0x4A,0xF1,0x64,0xCB,0xC6,0x6B,0x3F,0x1B,0xAB,0x07,0x91,0x82,0x3B,0x01,0x12,\r
+0xD9,0x24,0x26,0x03,0x2D,0x4D,0x9D,0x02,0x9C,0xED,0x29,0x51,0xBF,0x18,0x73,0x80,\r
+0x47,0x15,0x05,0xD2,0xB0,0xDC,0xB2,0x81,0xED,0x88,0x49,0x04,0x70,0xBE,0x70,0xBF,\r
+0x10,0x81,0xF5,0x5C,0x87,0x74,0x75,0x22,0x60,0xC1,0x65,0xF9,0x40,0xAA,0xDD,0x7C,\r
+0x8B,0xEF,0x22,0x3B,0x88,0xD8,0x79,0xD3,0x19,0x8D,0x16,0xB2,0x0A,0x33,0xBE,0xA0,\r
+0xE8,0x76,0x68,0xE7,0xC2,0xD3,0x94,0x78,0x09,0x3C,0xCD,0xF4,0x0F,0x17,0x48,0xEF,\r
+0xFF,0x35,0x24,0x20,0x6B,0x5D,0x46,0xB3,0x71,0xD4,0x51,0xC8,0x48,0xB9,0xF4,0x62,\r
+0x0D,0x9F,0x47,0x10,0x0A,0x33,0xDB,0x9E,0xDA,0xF5,0x68,0xAB,0x51,0x9E,0xC8,0x4D,\r
+0xCB,0x38,0x9E,0x72,0x50,0xEE,0xB7,0x0A,0x37,0xCC,0x10,0x32,0x89,0xD6,0xAA,0x58,\r
+0xDF,0xDD,0x1D,0x8A,0x3D,0x9B,0x1C,0x3D,0x8B,0x8C,0xC7,0x7B,0x6A,0x67,0xCE,0xC4,\r
+0xDA,0x82,0xE9,0x3C,0x7D,0x32,0x34,0x3A,0x3A,0x13,0x27,0x63,0x18,0xF9,0x29,0xC5,\r
+0x6C,0x71,0x50,0x3A,0xE5,0xAD,0xD2,0xE4,0xCE,0x16,0x78,0xD5,0xB2,0x2F,0xAC,0xD1,\r
+0x92,0x7F,0xF6,0x08,0x79,0x4E,0x63,0x80,0xFE,0xBB,0x6C,0x16,0x99,0x0D,0x1B,0x1E,\r
+0x32,0x1E,0x91,0x00,0xF7,0xBE,0xF7,0xD7,0x64,0x93,0xAE,0xC1,0x39,0xD9,0x91,0x37,\r
+0xB9,0x1B,0xA3,0xE0,0x1C,0x5C,0xA9,0x17,0x57,0xBC,0x44,0x56,0x03,0xCF,0x33,0xC9,\r
+0x5F,0x54,0x43,0x28,0x02,0x54,0xBA,0x3E,0x04,0xE3,0xFA,0xA5,0x11,0x05,0xA4,0xAC,\r
+0xE1,0x8D,0x59,0x53,0x05,0x9F,0xD7,0x6F,0x30,0x1C,0x25,0x5E,0xE0,0x7E,0x57,0x55,\r
+0x37,0x41,0x65,0xB6,0xA2,0xCF,0x97,0xB2,0x78,0x59,0xAD,0xA1,0xA9,0x19,0xB6,0xDD,\r
+0x51,0x87,0xDB,0xDC,0x38,0x95,0xD5,0x60,0x7D,0xAF,0x89,0xEE,0xEF,0x58,0xAE,0x27,\r
+0x4E,0xEE,0x34,0x66,0xF5,0x7B,0x53,0xDB,0xEC,0x2C,0xA6,0x73,0x06,0xEB,0xC5,0x86,\r
+0xA6,0x72,0x4C,0x5A,0xE4,0xDF,0x4C,0x03,0x6D,0x1E,0x52,0xA8,0x28,0xED,0x84,0x06,\r
+0x34,0xE7,0xAA,0x89,0x60,0x8D,0x1D,0xF8,0x7A,0x7F,0xBC,0x82,0xB7,0x0B,0x5A,0x9E,\r
+0x7B,0x32,0x1C,0xFD,0xC7,0xDD,0x5D,0x25,0x69,0x4C,0x99,0x90,0xE4,0xB5,0x05,0x6D,\r
+0x5C,0xF2,0x8C,0x17,0x67,0x46,0x70,0xA9,0xF0,0xE6,0xA5,0x13,0x77,0x8B,0xA0,0xD3,\r
+0xCF,0xB6,0xF8,0x0D,0x48,0x5F,0x57,0x95,0x44,0x8F,0x61,0x44,0x7C,0x66,0x0B,0x99,\r
+0x06,0x13,0x2B,0x52,0x11,0x35,0x01,0xEA,0xE2,0x71,0x6F,0x76,0xBD,0x09,0x55,0xA3,\r
+0x46,0xC4,0x97,0x1B,0xCC,0x0D,0x06,0x6E,0x81,0x83,0xC5,0x46,0x2A,0xFC,0xA2,0x25,\r
+0x12,0xF6,0xA8,0xAA,0x18,0x20,0xFE,0xAD,0xE5,0xA1,0x5A,0x1A,0xC9,0x4D,0xC6,0xB9,\r
+0x3B,0xE5,0xA0,0xB4,0xCE,0xC8,0xA2,0x62,0xB9,0x07,0xC2,0x9B,0x86,0xF0,0x53,0x2A,\r
+0xD8,0xF5,0xB4,0xCA,0xAF,0xA6,0x3F,0x4F,0xD0,0xFA,0x6A,0x96,0x36,0xFF,0x68,0x45,\r
+0x9D,0x7D,0xFC,0x35,0x43,0x8F,0x0C,0xDE,0x0C,0xCA,0xE9,0xBB,0x73,0x40,0xF2,0xEB,\r
+0x19,0x7A,0xC4,0xE8,0xF3,0xC2,0xA0,0x6D,0x00,0xB1,0x31,0x9D,0xC7,0x84,0x9B,0xBC,\r
+0xF3,0x91,0xE1,0x22,0x83,0x08,0x22,0x98,0x5E,0x31,0xB8,0x3F,0xBA,0x3C,0x85,0xCF,\r
+0x66,0x2C,0xAE,0xB1,0x36,0x4B,0x47,0x76,0xE7,0x87,0x4B,0x39,0x3B,0xC8,0xB7,0x14,\r
+0xD2,0xA8,0x4A,0x41,0xC0,0x16,0x30,0x74,0xB5,0x7C,0x1A,0xBD,0xC0,0xB1,0x4B,0xD0,\r
+0xF7,0x1F,0x87,0x5D,0x6C,0x96,0x2B,0xE2,0x29,0x20,0x02,0x71,0x17,0xDF,0xD0,0xB7,\r
+0x7D,0xCB,0x27,0x74,0xFC,0x6E,0xAC,0x9C,0xA1,0x9F,0x0A,0xC3,0xCC,0x69,0x30,0xF6,\r
+0xE0,0x5C,0xCB,0x9A,0xBA,0x7E,0x77,0x2D,0x90,0x96,0xF1,0x77,0x2C,0x26,0xD6,0x3E,\r
+0x90,0x08,0xAB,0xFE,0x34,0x8E,0xE3,0x7A,0xAF,0xC2,0xC3,0xC6,0xCD,0x86,0x94,0x81,\r
+0xB4,0x6E,0xF4,0x2B,0x07,0x5A,0x73,0x63,0xAC,0x40,0x3D,0x92,0x6C,0xBD,0xBA,0xDF,\r
+0xC0,0xB4,0xF2,0x30,0xFB,0xA5,0xC1,0xCD,0xA2,0x1D,0xF4,0x97,0xF3,0x5B,0x64,0x47,\r
+0xF9,0xCC,0x1F,0xA9,0xF0,0x75,0x9A,0x86,0xDE,0xA7,0xA3,0x93,0x5B,0x9C,0xC7,0x70,\r
+0x56,0xAF,0x72,0x9C,0x8C,0xA4,0x2E,0x69,0x1A,0x0F,0xE8,0xE6,0x93,0x0F,0x14,0x23,\r
+0xEF,0x5E,0xC1,0xA7,0x68,0xEA,0x7C,0x58,0x6B,0x6A,0x88,0xB3,0x3E,0xEC,0x41,0x5B,\r
+0xC9,0x4F,0xC3,0x84,0xFA,0xD7,0x5F,0x2A,0xC5,0xBD,0x95,0x9F,0xFF,0x83,0x1F,0x61,\r
+0xFE,0xE4,0xB6,0xE9,0xE3,0x14,0x21,0x52,0x56,0x18,0xAB,0x21,0x88,0x39,0x0E,0x2F,\r
+0x2E,0xD1,0xB1,0x85,0x5F,0x42,0xBB,0xFB,0x07,0x61,0x04,0xF1,0x45,0x8E,0x2B,0x33,\r
+0xE9,0xA7,0xFA,0x2E,0x29,0x31,0xCA,0xB8,0xFB,0x4D,0x48,0x59,0xCA,0xB3,0x44,0xED,\r
+0xFC,0x93,0xEB,0x1F,0xCD,0x7F,0x98,0x89,0x15,0xF6,0xCE,0x94,0xBC,0xE6,0xF1,0xD4,\r
+0x35,0x36,0x38,0x40,0x1D,0x2E,0x37,0xF0,0x52,0x4A,0x60,0x19,0x01,0xDE,0x15,0xEA,\r
+0x11,0x50,0x67,0x95,0x15,0x49,0x56,0x50,0x13,0x82,0x14,0x8F,0x58,0x62,0x45,0x24,\r
+0xB0,0xE0,0x92,0x54,0x0E,0x4F,0x8C,0x24,0x61,0x65,0x8A,0x8E,0x94,0x3A,0xC4,0x4F,\r
+0x7E,0x6D,0xE8,0x4B,0xAE,0xD4,0xA1,0xA8,0x12,0x26,0xFB,0xF8,0x83,0xD4,0xA5,0x65,\r
+0x38,0x43,0x6F,0x8B,0xB8,0xBB,0xD3,0x21,0xA7,0xEB,0xD0,0xD8,0xFD,0x92,0x39,0x42,\r
+0x75,0xE1,0x84,0x09,0x26,0x9D,0xC6,0x49,0x41,0x79,0x45,0x0B,0x2D,0xC9,0x72,0x49,\r
+0xBF,0xE2,0x98,0x69,0xB5,0xD2,0x7B,0xDC,0xF7,0x36,0x90,0x7F,0xB3,0xC0,0x08,0xA6,\r
+0x97,0x20,0x02,0xBE,0x6A,0x2F,0xD8,0x54,0x62,0xE7,0x74,0xDA,0x25,0xDA,0x5B,0x57,\r
+0x98,0x12,0xA1,0x80,0x0B,0x2E,0x46,0x07,0x85,0x4D,0x4D,0xE6,0x2B,0xB2,0xB1,0x54,\r
+0x66,0x28,0x03,0x96,0xE1,0x01,0x75,0x90,0x45,0xA6,0xAF,0xB8,0xA0,0x80,0x51,0x51,\r
+0x04,0xF1,0xC5,0x31,0x6A,0x8E,0x21,0x0F,0xFD,0x54,0x8E,0x98,0x73,0x48,0x02,0xC2,\r
+0xFD,0x00,0x36,0x4A,0xB5,0x71,0x15,0xF4,0xAC,0x53,0x45,0xF5,0xCD,0x52,0x79,0x1B,\r
+0x94,0x09,0xBB,0xB6,0x68,0x81,0x2B,0x32,0xA8,0x2C,0x23,0x7B,0x48,0xF8,0x6D,0xCD,\r
+0x95,0x7B,0x5C,0x28,0x88,0x1E,0x9A,0x2A,0xAF,0x6C,0x8A,0x53,0x4D,0x0C,0xDB,0x92,\r
+0x4F,0x88,0x89,0x42,0x23,0x29,0xEF,0x47,0x12,0x28,0x5F,0x2C,0x00,0xE7,0x59,0x30,\r
+0x80,0xA3,0x3E,0x60,0x37,0x84,0xDF,0x84,0x76,0xB4,0xBC,0x9D,0xFE,0x41,0x6B,0x3E,\r
+0x3C,0xF5,0x97,0xFA,0xD6,0xDE,0x78,0xC1,0xB7,0x96,0xCC,0x12,0xE9,0x0D,0xAC,0x7D,\r
+0xCF,0xA6,0xC8,0x44,0xF3,0xED,0x6B,0xD3,0x6A,0x31,0x9C,0x52,0xA6,0xBB,0xD8,0xA8,\r
+0xC8,0x6D,0x99,0x29,0x2E,0x1D,0x55,0x15,0x07,0x19,0x4E,0x18,0x5D,0xE9,0x5C,0xF9,\r
+0x82,0x66,0x32,0xC4,0xEA,0x74,0xE1,0x42,0x3B,0x36,0x57,0x3F,0xCE,0x9D,0x46,0xBD,\r
+0x76,0xFE,0x3C,0x17,0xC6,0x3D,0x6C,0xBF,0xF2,0x69,0x84,0x9A,0xC3,0xCA,0x8D,0xC8,\r
+0x8C,0xB8,0x24,0x56,0xE2,0xCB,0x69,0xF0,0x20,0xF3,0xDE,0xD8,0xA5,0x74,0xE7,0x0E,\r
+0x57,0x39,0x16,0xA2,0x1D,0x8C,0x7C,0xF9,0x91,0xB5,0xCE,0x03,0x34,0x5D,0x0B,0x3D,\r
+0xD7,0x17,0x57,0xA4,0xE9,0xBE,0xFD,0x22,0x49,0xA4,0x6A,0x1C,0xDC,0x25,0x37,0xA1,\r
+0x86,0x1A,0x88,0x93,0x62,0x31,0xA9,0xBD,0x0B,0x1B,0x8B,0xBC,0xB5,0x91,0x60,0x65,\r
+0x88,0xC4,0x9E,0x01,0x5E,0x9B,0x30,0x3E,0x27,0xB3,0x77,0xF0,0xBA,0x9B,0x5D,0x67,\r
+0x43,0x93,0x93,0x74,0x48,0x39,0x0A,0xC0,0xAD,0x9A,0xD7,0x24,0xD0,0xE0,0x35,0x05,\r
+0x1D,0x32,0xBD,0x4F,0x4C,0x77,0x2E,0x7D,0x92,0x8A,0x01,0xA5,0xE5,0xC8,0xAE,0xD9,\r
+0x29,0x2D,0xF5,0xB2,0x1A,0x08,0x44,0x24,0xB1,0x1F,0xF7,0xEB,0x1C,0xC7,0xDC,0xFF,\r
+0x5E,0x2C,0x51,0x5D,0xB7,0x7E,0x1F,0xC9,0xD1,0xFC,0x72,0xD4,0x47,0xF2,0x50,0xCF,\r
+0x2F,0x94,0x43,0x41,0x71,0x18,0xA1,0xA3,0xCF,0x8F,0x0F,0x6C,0x7C,0x42,0x3F,0xC0,\r
+0xF5,0x67,0x96,0x2B,0x0D,0x6F,0x68,0x87,0xF9,0x2B,0xE8,0x16,0xCC,0xC0,0xB0,0xCA,\r
+0x33,0x59,0x66,0xF6,0x1E,0x46,0x60,0x99,0x21,0x3A,0x4C,0x09,0x6D,0x35,0x71,0x7A,\r
+0xBE,0x1E,0xDA,0x58,0x82,0xAE,0x18,0xA5,0xEA,0x93,0xC2,0xDB,0x7A,0x79,0xB6,0x39,\r
+0x09,0x98,0x38,0x99,0x5F,0x5E,0x26,0x63,0x98,0x01,0xFF,0xF8,0x59,0x8F,0x23,0x77,\r
+0x1C,0x40,0x5A,0xD1,0x27,0x67,0xCB,0xFA,0x0C,0x5B,0x22,0x94,0x9F,0x56,0x41,0xD0,\r
+0xEE,0x61,0xE2,0xF1,0x06,0x1A,0xFC,0x55,0x13,0xE1,0xCD,0xFD,0xD5,0x14,0x83,0x5A,\r
+0xD1,0xAE,0xE1,0x57,0x66,0x7F,0x8D,0x00,0x90,0x7C,0x5C,0xD2,0x4B,0x37,0x52,0x6B,\r
+0xF1,0x1B,0x2C,0x7C,0x59,0x1F,0x08,0xE3,0x41,0xD9,0xC9,0x36,0x19,0x33,0x6A,0xA0,\r
+0x2D,0x51,0x4F,0xE5,0x2A,0x53,0x71,0xA8,0xB0,0xD6,0x65,0x3A,0x82,0xE4,0x0D,0xCE,\r
+0x62,0x54,0xB9,0xC1,0x4B,0xF3,0x16,0xA0,0x69,0x0E,0x53,0xF4,0xBC,0xA0,0xD4,0x9E,\r
+0x7E,0x99,0x9C,0x76,0xE4,0x8A,0x47,0x70,0xC0,0xB2,0x05,0x6E,0x6C,0xA7,0xB8,0xAB,\r
+0x85,0xAD,0x63,0xA9,0x81,0x64,0x04,0xC5,0x1B,0x9C,0x6E,0xD7,0x6E,0xFA,0x4E,0xDC,\r
+0xBC,0xDB,0xD6,0xFC,0x07,0xDF,0xEA,0x08,0x2A,0x78,0x20,0x85,0x7B,0xEB,0x7F,0xE8,\r
+0x72,0x82,0x86,0x40,0xA7,0x9D,0x0B,0xB7,0xFB,0xDD,0xB5,0x61,0xC4,0x63,0xCD,0xE0,\r
+0x21,0x4A,0x55,0xD3,0xEC,0x35,0xCF,0xC2,0x14,0xA1,0x64,0xD5,0x6B,0x0E,0xF8,0x83,\r
+0x30,0xEE,0x8D,0xCC,0xDA,0x2F,0xD4,0xCE,0xB8,0xAB,0xC6,0x10,0x5B,0xD2,0xD5,0x00,\r
+0x0A,0x2F,0xD3,0xA3,0xC7,0xF8,0x7A,0xE2,0xCA,0x39,0xFB,0x33,0x7D,0xD0,0xF6,0x11,\r
+0x18,0x3C,0xE0,0x86,0x0A,0xEB,0x50,0x5A,0xDB,0x77,0x8C,0x89,0xE7,0x95,0x58,0xAE,\r
+0x13,0xEC,0xAB,0xDD,0x9F,0x79,0xB6,0x89,0xB3,0xE9,0xAA,0x9C,0xAA,0x7E,0xDA,0x0C,\r
+0x06,0x34,0xC9,0x95,0x3B,0x75,0x73,0x8B,0xC6,0x3B,0x3E,0x97,0x05,0x13,0xEF,0x6F,\r
+0xF7,0xA2,0x9A,0x8F,0xDF,0xA4,0xE6,0x2E,0x4E,0xE4,0xC3,0x34,0x2D,0x89,0x38,0xAD,\r
+0x75,0x49,0xD7,0x2D,0x5B,0x10,0x02,0xDE,0xC2,0x44,0x58,0x19,0x83,0x76,0xC4,0x1F,\r
+0xBB,0x10,0x87,0x91,0x2F,0xD8,0x43,0x48,0x62,0x4C,0x3F,0x78,0xA7,0x29,0x11,0x79,\r
+0x34,0x92,0x37,0x9B,0xB4,0xB4,0x03,0xA9,0x3A,0xFF,0xC5,0xEE,0xEC,0xF9,0x1A,0x22,\r
+0x1E,0x85,0x56,0x75,0xC5,0xF7,0x70,0xDF,0xB6,0x5F,0x5E,0xC3,0x22,0x83,0x05,0xAF,\r
+0xBA,0x62,0x60,0x0F,0xA6,0x58,0x1D,0xEA,0x4C,0x12,0x9E,0x43,0x0F,0xED,0x64,0x32,\r
+0x14,0x27,0xFA,0xB0,0x25,0x68,0xC1,0xC7,0xDD,0xFE,0xB7,0x70,0x4A,0xA5,0x9B,0xBA,\r
+0x9E,0xAB,0x17,0x73,0xF7,0xA3,0x4F,0x6E,0x0A,0xD2,0x19,0x6D,0x61,0xF0,0x73,0xDE,\r
+0xED,0xD6,0x09,0xCB,0x7E,0x23,0x11,0xCC,0xFF,0xA2,0xD3,0xEF,0x8B,0xD5,0xB9,0x35,\r
+0x74,0x3B,0x30,0xB3,0x8A,0x11,0x90,0x17,0xFC,0x9D,0x1C,0x49,0xD4,0x86,0x4A,0x8B,\r
+0xF2,0xAC,0xC7,0x46,0x20,0xE3,0xF3,0x27,0x78,0x40,0x24,0x4E,0x94,0x3A,0x03,0x5C,\r
+0x7B,0x97,0xC1,0xBF,0x8D,0x95,0xA8,0xCA,0xF0,0x9F,0xD9,0xED,0xA9,0xB1,0xE5,0xAA,\r
+0xE8,0xD8,0x54,0x02,0x15,0x33,0xF4,0x4B,0x3F,0x49,0x31,0xB1,0x80,0xB9,0xFB,0xB9,\r
+0xD0,0xDC,0x06,0xC9,0x8C,0x50,0xBE,0x97,0xE8,0x65,0x9F,0xAC,0x02,0xBA,0xAF,0x47,\r
+0x6F,0x3D,0x44,0x69,0xBE,0x04,0x81,0x26,0xBF,0xEB,0x6F,0x38,0x72,0xDA,0xCB,0x13,\r
+0x16,0xE2,0xF6,0x14,0xBB,0x8F,0xB3,0xC6,0x5F,0xAA,0xB4,0x8E,0x52,0xE3,0x61,0xFB,\r
+0x8E,0x7D,0x28,0xF2,0x72,0xD2,0xBD,0xC3,0xF1,0x56,0x4B,0x3C,0x26,0xE5,0x7A,0x21,\r
+0x81,0xD1,0xD9,0xFE,0x55,0xEE,0xA4,0xEC,0xE6,0x91,0x07,0x7F,0x40,0x5B,0x10,0xE7,\r
+0x45,0x2A,0x25,0x87,0x04,0x15,0xF6,0x68,0xE4,0x67,0x5A,0x08,0xF4,0xBF,0xE0,0x63,\r
+0xA7,0xDD,0xA2,0x26,0x45,0x0D,0xB0,0x92,0x0E,0xAD,0x7F,0xE3,0xEF,0x36,0x25,0x84,\r
+0xE6,0x06,0x42,0x90,0x4D,0xB2,0x38,0x20,0x70,0x3D,0x87,0x64,0x65,0x96,0x0C,0x50,\r
+0xEC,0x8F,0xD0,0x2D,0x36,0x37,0x4A,0x65,0xF1,0xDB,0x20,0x50,0x70,0x30,0x0D,0x6F,\r
+0x24,0xDC,0x43,0xFE,0x9E,0x7C,0x3F,0xA1,0x45,0x0A,0x5C,0xBF,0x13,0x05,0x60,0xC0,\r
+0x80,0xCD,0x5C,0x26,0x84,0x4A,0x33,0xBA,0x80,0xA8,0x56,0x13,0x90,0x28,0xBC,0xF0,\r
+0x41,0xF7,0x33,0x78,0x53,0x57,0x1F,0x14,0xA3,0x95,0xC4,0x61,0x81,0x0B,0xBE,0xD6,\r
+0x3A,0x9F,0x51,0x12,0x58,0xDB,0x5D,0x78,0x64,0x3D,0xF3,0xC2,0x0E,0x29,0xCE,0x17,\r
+0xF7,0x83,0xE6,0x37,0x21,0x74,0x8D,0x29,0xFE,0x6B,0x4F,0x6B,0x3B,0x45,0xC9,0xC7,\r
+0xC3,0x78,0x39,0xC8,0xCF,0x11,0x38,0x6A,0x47,0x00,0x61,0xB0,0x4C,0xB3,0x94,0xC5,\r
+0xB5,0x41,0x6C,0x7D,0x74,0x97,0xF5,0x84,0x15,0x4E,0x85,0x81,0x78,0x82,0x85,0xD0,\r
+0x27,0x88,0xBD,0x7C,0xBB,0xCB,0x23,0x6C,0x89,0x36,0xB9,0x69,0x8F,0x39,0x18,0x28,\r
+0x7E,0x46,0x01,0x2C,0x73,0xBF,0xB5,0x2D,0xE8,0x51,0xB1,0xC9,0xE9,0xEC,0x47,0x0C,\r
+0xFC,0xC9,0x0B,0x9C,0x1F,0x24,0x54,0x6D,0x7E,0xAB,0x02,0x91,0xB2,0xE7,0x97,0x47,\r
+0xEB,0xE3,0xE5,0xFD,0x5C,0x55,0x22,0x1E,0x53,0x30,0xA2,0x1D,0x3F,0xF8,0xED,0x89,\r
+0x52,0xE5,0x16,0x4B,0x40,0x9A,0xA7,0x3E,0x19,0xE2,0x8A,0x70,0x3E,0xA5,0xFB,0x4C,\r
+0x82,0xEE,0x4D,0x00,0xD2,0x0F,0x74,0xD8,0x0C,0xC4,0x14,0x18,0x9C,0x27,0x10,0x01,\r
+0x5A,0xFB,0x05,0x62,0xDE,0xAB,0x76,0x1D,0x07,0x50,0xC6,0x6D,0xFF,0x12,0x7D,0xAE,\r
+0xCC,0x0A,0x1F,0x31,0x0F,0x4F,0xD3,0x88,0xA4,0xAD,0x19,0xE5,0x3D,0xC5,0xE7,0x86,\r
+0x55,0x89,0x23,0x9B,0xBA,0x1A,0xEA,0xFE,0xD9,0x72,0x60,0x57,0x1B,0xB7,0xE8,0x7F,\r
+0xC2,0x0F,0xD6,0x6C,0x48,0xB0,0xDA,0x9D,0xDE,0x4A,0xBD,0xD3,0xCC,0xFE,0x54,0x3F,\r
+0xF9,0x86,0x2F,0x6A,0x3E,0x1D,0x37,0xC6,0x7D,0xB7,0x62,0x5B,0x3A,0x18,0xDF,0x02,\r
+0xB6,0x15,0x92,0xFF,0x98,0x85,0xB6,0x9A,0x21,0x5F,0xB4,0x94,0x29,0x06,0xD7,0x2B,\r
+0x0C,0x47,0x9F,0xCB,0xF3,0x36,0x17,0x73,0xD3,0xF0,0xEF,0xE7,0xA2,0x99,0x83,0xA4,\r
+0x49,0xE9,0x20,0x51,0xC3,0xB5,0x3A,0xAF,0xE0,0xD9,0x03,0x76,0x2A,0x66,0xCB,0xE1,\r
+0xC5,0x63,0xE3,0xBC,0x08,0x67,0x93,0x21,0xFD,0x77,0x2F,0xA1,0x4E,0x8E,0x9E,0xCA,\r
+0xB8,0x10,0x5B,0xA2,0x88,0xEE,0x31,0x7F,0x7F,0xBD,0x5F,0x54,0xA5,0x44,0xBB,0x20,\r
+0xBF,0x7C,0x6E,0x72,0x45,0xC5,0x11,0xCA,0xEF,0x69,0x6C,0x4D,0x77,0xED,0x35,0xEB,\r
+0x44,0xB8,0x17,0x8E,0xBE,0x94,0x95,0x98,0x98,0x34,0x9A,0x4F,0xF3,0x1D,0xD1,0x5F,\r
+0xB3,0x5A,0xB6,0x09,0xA6,0xD5,0x6F,0xDE,0x73,0x11,0x50,0xA5,0x14,0xD8,0x58,0x44,\r
+0x68,0x1B,0x00,0xE9,0x19,0xDD,0xDD,0x56,0xF4,0xE9,0xC0,0xDB,0xC0,0xF1,0xF8,0xCE,\r
+0xB2,0x2D,0x59,0xAD,0xFB,0x1C,0x6A,0xD0,0x3C,0xF1,0x98,0x43,0xD7,0x52,0xD4,0xA9,\r
+0x53,0x92,0xF9,0xEF,0xAF,0x2E,0xDB,0xEF,0xA8,0x01,0x16,0x14,0x83,0x36,0xB4,0xD9,\r
+0x8C,0xEB,0x84,0x5D,0x24,0x2B,0x3B,0xDD,0x1E,0xDA,0x57,0xF4,0x6B,0x9C,0x8D,0xF9,\r
+0x13,0x73,0x62,0x83,0x79,0xE2,0x3E,0xD3,0xAC,0x25,0xAB,0x5A,0xB1,0x87,0x8B,0x8D,\r
+0x67,0x69,0x26,0x10,0x2A,0xF8,0xCF,0x45,0xEB,0x4D,0xD1,0x03,0x5D,0x90,0x96,0xE3,\r
+0x15,0x68,0xB8,0xF7,0xB5,0x18,0xD7,0xF4,0xC3,0xE4,0x91,0x04,0x02,0x26,0x62,0xE6,\r
+0xE6,0xB2,0xD2,0x22,0x82,0xB3,0xBA,0x81,0xBC,0x31,0xD5,0xB9,0xA0,0xA4,0x89,0xAB,\r
+0xCD,0x7D,0xF0,0x95,0x2F,0xA7,0x79,0xB1,0x0D,0xD2,0x49,0xDD,0xAE,0x96,0x2F,0x55,\r
+0x7C,0x65,0x10,0x0A,0x85,0x9B,0xFA,0x28,0x76,0x23,0xB0,0x2E,0xC4,0x4C,0xDC,0x80,\r
+0x46,0x9B,0x06,0xA8,0xAA,0x71,0x6D,0x1B,0x28,0xC1,0x5B,0xEE,0xC1,0xAC,0xEE,0x0B,\r
+0x9F,0xF9,0xA1,0x6E,0x25,0xFA,0xF2,0x4F,0x08,0xE0,0xA9,0x56,0x52,0xFF,0x26,0xD8,\r
+0x6E,0x00,0xDA,0x9D,0xDA,0x25,0x09,0x7B,0x65,0x2B,0xAE,0x07,0x8B,0x84,0x3C,0x66,\r
+0x90,0x8B,0x87,0x97,0x96,0x56,0x42,0x02,0x0A,0xEA,0x94,0x59,0x58,0x70,0xA4,0x68,\r
+0xD6,0x71,0xC6,0x8F,0x60,0x72,0x0D,0x07,0x48,0xB0,0x0E,0x8B,0x9E,0x1A,0x1A,0x0E,\r
+0x57,0xAA,0x32,0xBD,0x27,0x8D,0x04,0x12,0x93,0xA0,0x48,0x3A,0xAD,0xF6,0x33,0x9F,\r
+0x79,0x2A,0x34,0xFC,0x15,0x79,0xDF,0x93,0x8C,0x04,0x59,0xE2,0x31,0xCA,0x4B,0x77,\r
+0x9B,0xC1,0x6A,0x3C,0x75,0x46,0x3C,0x16,0x82,0xA2,0x6B,0x1C,0xED,0x51,0x63,0x42,\r
+0xC8,0x32,0xD4,0x63,0x46,0x63,0x2E,0x05,0xC2,0xF2,0xCC,0xC1,0x38,0x25,0xD5,0x0D,\r
+0x03,0x35,0xB9,0x32,0xB6,0xBE,0xE8,0x3B,0x88,0x20,0xE4,0xAC,0x69,0xA1,0x87,0xF6,\r
+0x08,0x7F,0x54,0x99,0xDF,0x7A,0xBF,0x8F,0xAF,0x39,0xCB,0x90,0x2D,0xBB,0xF3,0x65,\r
+0x43,0xD4,0x22,0x5E,0xA3,0x8A,0xD9,0x2A,0x7B,0x99,0xE2,0x1A,0x6F,0x21,0xA9,0xB7,\r
+0x42,0xA3,0xCD,0xFA,0xD5,0x27,0x34,0x71,0x44,0x1C,0x01,0x7A,0x5F,0xAD,0x9C,0xEC,\r
+0xFA,0xD2,0xD1,0xE8,0xB3,0xE1,0x5E,0xCF,0xFC,0x61,0x72,0x64,0x50,0xC2,0x2C,0xD7,\r
+0x09,0x08,0xBB,0x3D,0xC4,0x9D,0x7A,0x06,0x86,0x86,0xD6,0x52,0x5A,0x4D,0xAE,0x67,\r
+0x74,0x7B,0x03,0x23,0x9A,0xF2,0x40,0xC7,0x2C,0xE5,0xE6,0xA0,0xF5,0x9D,0xFF,0x1E,\r
+0xAA,0x75,0x91,0x35,0x30,0xCE,0xC3,0x5E,0x60,0x19,0x4E,0x8C,0xF7,0xA0,0xF5,0x11,\r
+0xFD,0xBE,0xE4,0x38,0x92,0xD8,0x3D,0x64,0xB4,0xB9,0x67,0x06,0x95,0xC8,0x8E,0x7B,\r
+0x5C,0xE0,0xDF,0x16,0xDC,0xDC,0x80,0x40,0x35,0x6F,0x77,0x39,0x49,0x53,0xA6,0x4E,\r
+0x0F,0x13,0x61,0x49,0xB1,0x96,0xA8,0x92,0x6D,0xA3,0x1C,0xB8,0xCA,0x7E,0x7A,0x7E,\r
+0xC0,0x2C,0xC7,0x4A,0xD4,0xF6,0xFD,0xE3,0x42,0x32,0x81,0x3B,0xFB,0xAF,0x59,0xE0,\r
+0x75,0x0C,0xEC,0x87,0xB4,0xC9,0x1E,0x66,0xA6,0xA7,0x24,0xEA,0x30,0x97,0x5D,0xB2,\r
+0x3F,0xD0,0x75,0xE4,0xF8,0xBA,0x55,0x1F,0xAA,0x0B,0x2B,0x1B,0x5E,0xF0,0x8A,0x29,\r
+0x37,0xCE,0x66,0xCD,0xED,0x8E,0x64,0x0E,0x99,0x22,0xC7,0x8A,0xEA,0x8C,0x5B,0xC6,\r
+0x70,0x43,0xC8,0x71,0x05,0x12,0x58,0x76,0x4B,0xAC,0x6E,0x41,0xA9,0x4B,0x17,0xD1,\r
+0xF6,0xF4,0x09,0x93,0xF5,0xCF,0x9E,0x48,0x68,0x91,0xFC,0x33,0xE7,0xDE,0xE1,0xF2,\r
+0x2E,0xE1,0x41,0xF1,0xCC,0xB7,0x07,0xA5,0x04,0x4C,0xA6,0xA7,0x40,0xBC,0x38,0x34,\r
+0x45,0xE8,0xE6,0xDD,0x9E,0xF8,0xFA,0xA9,0x2F,0x32,0x94,0xF9,0x70,0xF2,0x16,0x2C,\r
+0x05,0x3F,0x5A,0x94,0x43,0xC0,0xFD,0x2D,0x4C,0xC0,0x3E,0xC9,0xE7,0x07,0xE1,0xAA,\r
+0x51,0x0D,0x65,0x25,0x97,0xED,0x05,0xEE,0x28,0xE2,0xA1,0x95,0x04,0xB6,0x85,0x36,\r
+0x78,0x1E,0x6D,0x3B,0x41,0x05,0x59,0x21,0x74,0x44,0x39,0x14,0x4B,0x0B,0x10,0xA5,\r
+0x9B,0x0E,0x79,0x45,0x20,0x6B,0xC4,0x0C,0x1D,0xB9,0x91,0x19,0xFB,0x04,0x2B,0xCA,\r
+0xDE,0x86,0x31,0xBA,0xCC,0x42,0xF7,0x9D,0xC1,0x89,0x12,0x34,0xBE,0xBB,0xB1,0x64,\r
+0x5A,0x81,0x09,0x67,0x7C,0x0F,0x5B,0x2E,0xCD,0xF2,0xCA,0x12,0x0A,0x7F,0xD8,0x33,\r
+0xB0,0x6A,0x2C,0xAD,0x0C,0xC5,0xD9,0xDB,0x93,0x72,0x43,0xB0,0x77,0xC7,0xC6,0x40,\r
+0x25,0xD7,0x63,0x3E,0xB9,0x86,0xBC,0x35,0x2A,0xC4,0xB0,0xB6,0xF6,0x33,0xF4,0x9B,\r
+0x91,0x53,0x87,0xCE,0x4F,0xDB,0xCB,0x37,0x78,0x3F,0xE1,0x32,0x0D,0x4A,0x08,0x5F,\r
+0xB4,0xE4,0x4A,0xD2,0xE3,0x5B,0xD0,0xA1,0xE4,0x63,0xF9,0xFE,0xDA,0x24,0x93,0x38,\r
+0x3E,0x30,0xEA,0xFB,0x73,0xA3,0x57,0xDF,0x6C,0xDC,0xF1,0x4C,0x01,0x92,0x73,0x79,\r
+0xA3,0xA7,0x06,0x15,0x35,0xB3,0x8C,0x6E,0x5D,0xD5,0x0A,0xF8,0xE1,0xDD,0x95,0xB1,\r
+0xD3,0xF3,0x66,0x71,0xBB,0x43,0x18,0x39,0x62,0x81,0x38,0x49,0x00,0x7D,0xD7,0x0E,\r
+0xF7,0x95,0x39,0xA4,0x88,0x97,0x88,0x20,0x61,0x03,0xC6,0x1D,0xA1,0x46,0xF9,0x50,\r
+0x83,0x4F,0x3F,0xBF,0x74,0x68,0x3A,0x8E,0x6F,0x5E,0x0F,0x18,0x3E,0xA0,0x27,0xC8,\r
+0xBA,0x37,0xD2,0x26,0x7F,0xB8,0x61,0xC5,0x13,0xE4,0x58,0x1C,0x96,0x67,0x84,0xFF,\r
+0x15,0x54,0xBF,0x13,0x03,0x69,0xD5,0x2A,0xD7,0x4C,0x13,0x69,0x5E,0xF4,0x57,0xAC,\r
+0xAC,0xA5,0x0C,0x28,0xE7,0x27,0x87,0x1B,0xA6,0x29,0x73,0x3C,0xF3,0x17,0x02,0xD4,\r
+0x8A,0xB4,0x0E,0x0B,0x75,0x1A,0xA4,0x69,0x08,0xFE,0x6E,0x10,0x32,0x78,0x5C,0xEE,\r
+0xBD,0x1F,0x7B,0x66,0x6C,0xD9,0xDA,0x11,0x9B,0x5B,0x50,0xAE,0x45,0xC2,0x4D,0xA0,\r
+0x6D,0x2A,0x7C,0x0A,0xD0,0x8F,0x40,0xB8,0xCA,0x22,0xFF,0x7E,0x88,0x75,0x68,0xBC,\r
+0xAA,0x5C,0x37,0xA1,0xA6,0xFC,0x31,0xFB,0x36,0x0E,0xB3,0xD6,0x07,0x48,0x07,0x62,\r
+0xBF,0x68,0x26,0x90,0x42,0xB2,0x63,0xCA,0xD8,0xB5,0x35,0x1B,0x71,0x1D,0xB2,0x5B,\r
+0x76,0xCD,0xF5,0xCF,0x92,0xE3,0xCC,0xB3,0x9F,0x09,0x9B,0x96,0xCC,0x25,0x56,0x65,\r
+0x52,0xAB,0xAA,0x1A,0x9A,0x84,0xAD,0x13,0xDE,0xC1,0xEF,0x00,0x95,0x99,0x06,0xAB,\r
+0xF3,0x1B,0x5F,0xDB,0x81,0x82,0x77,0x67,0xAC,0x26,0x71,0x01,0x59,0xC1,0x87,0xC0,\r
+0x3D,0x96,0x25,0xC4,0x21,0x19,0x5A,0xEB,0xDF,0x65,0x00,0x77,0x4E,0x2F,0xE6,0xEA,\r
+0x7B,0xB8,0xA2,0x04,0x37,0x76,0x28,0x62,0x6A,0xA8,0x2B,0x57,0x30,0x69,0x7A,0xCD,\r
+0x36,0x1A,0x49,0x86,0xA9,0x50,0x3D,0x0A,0x8C,0x3A,0xBE,0x84,0xE0,0x32,0x31,0xC6,\r
+0xFC,0x19,0x55,0xE6,0x3A,0x1F,0x80,0x9F,0x3A,0x75,0x6B,0xF0,0x7E,0x3B,0x4B,0x29,\r
+0xD4,0xDB,0xCF,0x31,0xE5,0xE2,0x23,0x17,0xAF,0xA4,0x8F,0x55,0xE8,0x21,0x18,0xD8,\r
+0x96,0x7B,0x2E,0x8E,0x22,0xAE,0x60,0x00,0xC3,0xAF,0x03,0x17,0xF0,0xE9,0x80,0x80,\r
+0xCD,0x4B,0x1B,0x02,0xC1,0x2B,0x5F,0x60,0x98,0xD9,0xAE,0xFA,0xF1,0x06,0x24,0xF7,\r
+0x1D,0x7E,0x1C,0x6E,0xF5,0x34,0xA2,0x28,0xB4,0xBE,0xB9,0x59,0xBB,0x9F,0x47,0x2B,\r
+0xAD,0x74,0x9E,0xE1,0x51,0xD3,0xD8,0x1E,0x7D,0xC9,0xC5,0x7D,0x48,0xF5,0x92,0xF1,\r
+0x6B,0xD3,0x47,0x83,0x6D,0xAB,0x44,0xF6,0xEC,0x4A,0xEA,0xE0,0x18,0xB5,0x4F,0x56,\r
+0x64,0xD1,0x4D,0xBE,0xC5,0x57,0x08,0xDA,0x75,0xE0,0xD6,0x63,0xC6,0x27,0x59,0x58,\r
+0x34,0x6D,0x14,0x70,0x54,0xDD,0x11,0x43,0xF2,0xA6,0xF8,0xA3,0xEE,0xFB,0x6C,0xC3,\r
+0x01,0xB1,0x3C,0xEB,0x44,0x0B,0x90,0x7C,0xD6,0xE8,0xFC,0x1E,0x4F,0xC0,0x42,0x9D,\r
+0x9A,0xDF,0xEB,0x8C,0xA2,0x80,0x66,0x41,0x51,0xAE,0xD2,0xDE,0x72,0xE3,0x30,0x0F,\r
+0x04,0xEE,0xC8,0x5D,0x3F,0x11,0x49,0xC2,0x20,0xCB,0xB2,0x8B,0xBD,0x45,0x33,0x30,\r
+0x53,0x7A,0x38,0xD3,0x08,0xB9,0x8E,0x61,0xAD,0x82,0x9E,0x76,0x8D,0x51,0x9E,0xF3,\r
+0xC8,0x14,0xEF,0xB4,0x07,0x15,0x82,0x90,0xD4,0xCE,0xED,0x3D,0xC7,0xC8,0xFD,0x2F,\r
+0xAB,0x8D,0xA5,0x68,0x4D,0x1E,0x6F,0x3B,0xC4,0x7F,0x36,0x7B,0xC2,0xEC,0x0B,0x60,\r
+0xBC,0xCE,0xE9,0xAF,0xE4,0x90,0xBD,0xF0,0xBC,0x97,0xAA,0x47,0x85,0x42,0xB7,0xED,\r
+0x4E,0x64,0x8A,0x9F,0x85,0xFE,0x20,0xDD,0x17,0xB6,0x93,0x24,0x9C,0x65,0x8B,0xC2,\r
+0x88,0xC3,0x53,0xFD,0xDF,0x23,0x4C,0x49,0xFA,0x8F,0xEB,0xBD,0x44,0x2D,0xE9,0xD7,\r
+0x9C,0x26,0xD0,0x05,0xB2,0x56,0xE7,0x7E,0x46,0xCF,0x3C,0xF4,0xA7,0x9C,0x8D,0x4B,\r
+0x99,0x79,0x24,0xB3,0xF2,0xFF,0xCF,0x79,0xF7,0x50,0xDC,0xEC,0xD5,0x02,0x6A,0x4A,\r
+0x2F,0x8A,0x9D,0xB5,0x6A,0x60,0x29,0xA7,0x03,0x55,0x83,0x5A,0x7F,0xD4,0xEF,0x5E,\r
+0xD1,0x84,0x3B,0x87,0xF6,0x83,0x98,0xC3,0x33,0xF8,0x97,0x99,0x54,0xF6,0x58,0x91,\r
+0x71,0xE5,0x5C,0x8F,0x78,0x73,0x0C,0x94,0xA9,0xD0,0x55,0x4E,0xF4,0x22,0xD2,0xB8,\r
+0xFA,0xE0,0x6E,0x6F,0x93,0x91,0x52,0x54,0x9A,0xFF,0xBF,0xD9,0xCE,0x34,0x70,0x46,\r
+0x1C,0xAF,0x8E,0xA7,0x8D,0x99,0x41,0x7D,0xC9,0xA0,0x01,0x2A,0xDC,0xFE,0xE7,0x23,\r
+0xA2,0x76,0x94,0xDC,0x8A,0x52,0x2C,0x2C,0xFD,0x5F,0xDE,0xD1,0x2D,0x85,0x14,0xDA,\r
+0x74,0xBA,0xA8,0x39,0x2D,0x02,0x6C,0xF1,0xB5,0x1A,0x56,0x2E,0x64,0xE2,0xF5,0x52,\r
+0x12,0x7C,0x16,0x53,0xB7,0x58,0x2E,0x23,0xB0,0xEC,0x72,0x61,0x22,0xA3,0xED,0xA8,\r
+0x0D,0x15,0xF9,0xE9,0x7A,0xB6,0xA8,0x98,0x21,0x6F,0x5D,0xFC,0xCB,0x10,0x86,0x09,\r
+0xE5,0x89,0x81,0xD5,0x6B,0x12,0xB7,0x40,0xA0,0x5D,0xA9,0x27,0xE5,0x16,0xC7,0x89,\r
+0x77,0x1C,0x67,0x06,0xEF,0x40,0xE6,0xBB,0xB7,0x3C,0x47,0x0D,0x7A,0xF0,0x19,0x11,\r
+0x38,0xC9,0xD1,0x72,0x48,0x10,0xA6,0x66,0xA4,0x0F,0x62,0x1F,0x29,0x4E,0x46,0xE2,\r
+0x1F,0x09,0x41,0x98,0xE8,0x8B,0x8B,0xEA,0x3D,0xA5,0x5E,0x9C,0xBA,0x70,0xE3,0x5C,\r
+0x8C,0x4D,0x35,0x82,0xC7,0x92,0xAC,0xD6,0x89,0xCC,0x9A,0xCB,0xB1,0x9D,0x48,0x16,\r
+0x37,0x31,0xF2,0x49,0xBD,0x44,0x34,0x68,0x91,0x0E,0x10,0xE2,0x7F,0x8D,0x99,0x0E,\r
+0x0B,0x9B,0x71,0xD0,0x63,0x4A,0x22,0xFA,0xAC,0x0C,0x1F,0xE8,0xD7,0xA1,0xD5,0xF2,\r
+0x25,0xDD,0xB1,0x57,0x4B,0xD1,0x17,0x26,0x62,0xB0,0x4F,0xB1,0x46,0x38,0xCC,0x78,\r
+0x21,0x93,0x0C,0x73,0xEA,0x8F,0x39,0x1D,0xF9,0x6C,0x7A,0x99,0x56,0x07,0x4D,0xAE,\r
+0xDE,0xD4,0x05,0x66,0x55,0x92,0xFB,0x34,0x9C,0xA6,0xED,0x8B,0x30,0x7B,0xBD,0x0B,\r
+0x73,0xA2,0xE8,0x3D,0x54,0xE5,0x5F,0xDB,0x10,0x96,0xB6,0xBE,0xD3,0x1B,0x82,0x8E,\r
+0x64,0xC5,0x4B,0x11,0x1E,0x39,0x3C,0x42,0x7C,0xA3,0x66,0xB9,0xE7,0x53,0x7F,0x91,\r
+0x18,0xB2,0x6F,0xD8,0xED,0xE3,0xE9,0x28,0xF3,0xA9,0xD6,0x3B,0x43,0x65,0x05,0x76,\r
+0xEB,0x04,0x69,0x61,0x67,0x72,0x70,0x31,0x7A,0x50,0xD0,0x00,0x5F,0x40,0xB2,0xBB,\r
+0x77,0xEC,0x55,0x19,0x20,0xFF,0xCC,0x9F,0xBD,0x13,0xC7,0x4C,0xF6,0x8B,0x60,0x35,\r
+0x4E,0xCD,0x36,0xB2,0x39,0xD0,0xF0,0xB8,0x8D,0xB9,0x35,0x2F,0x97,0xA6,0xFD,0x5B,\r
+0x36,0xF4,0xAF,0x5F,0xE1,0xC5,0x92,0xF0,0xEF,0x1E,0xF3,0xF6,0xCD,0x32,0x91,0x86,\r
+0x0F,0xD5,0xCC,0xF4,0xD7,0x1D,0x4B,0x3E,0x9E,0x02,0xE1,0x4E,0xB0,0x3A,0xBB,0x25,\r
+0x6F,0xB0,0x99,0x85,0x18,0x22,0x48,0x98,0x4F,0x33,0x7F,0x6D,0x2D,0xB9,0x94,0xB4,\r
+0x43,0xF9,0x64,0x08,0x28,0xE1,0xE5,0x8C,0xC1,0xA7,0x28,0x9D,0x1A,0x1A,0x53,0x1C,\r
+0x30,0xB5,0x2F,0x71,0x62,0x3D,0x86,0x15,0xA6,0xC9,0xB3,0x4A,0x15,0xEB,0x5F,0xB0,\r
+0x88,0xAB,0x5C,0x0C,0x51,0xAA,0xA9,0xFF,0x9D,0x38,0x0A,0xF9,0x6A,0xEF,0xD1,0xD6,\r
+0x62,0x84,0xCB,0x3F,0x6B,0x54,0x0B,0xE9,0x7D,0x3D,0x81,0xCB,0x81,0x2F,0x8F,0x34,\r
+0xDC,0xDB,0x38,0x6C,0x79,0x31,0x9C,0x23,0xB5,0x72,0x67,0x2B,0x9F,0x06,0x9C,0x3C,\r
+0x03,0x24,0xC3,0x58,0x88,0xC8,0x6F,0x58,0xCE,0xAB,0xD9,0x31,0x98,0x57,0xF1,0xF7,\r
+0xE1,0xB4,0xE6,0xE3,0x02,0x59,0xF6,0x41,0x17,0xFB,0xE7,0x75,0xA0,0x05,0x3A,0xF3,\r
+0x01,0x2B,0xFE,0x52,0x70,0x58,0x11,0xDF,0xA1,0xA4,0xE2,0x81,0xE0,0x02,0x12,0x5A,\r
+0x5E,0x2E,0x48,0xA6,0xDA,0x4C,0x94,0x09,0xA7,0x57,0x54,0x38,0x78,0xDC,0xF4,0xC5,\r
+0x4A,0x83,0x8B,0x96,0xF1,0x83,0x23,0x2B,0x95,0x59,0xAA,0x9E,0xE4,0xB8,0x45,0x26,\r
+0x9A,0x47,0x1F,0x12,0xDF,0x03,0x62,0x2D,0x14,0xC1,0x0C,0xC2,0xFD,0xC0,0x3B,0xE5,\r
+0xBF,0x74,0x0D,0x01,0x8C,0xF0,0x3D,0x93,0x60,0x14,0x43,0x74,0x5A,0x1D,0x7B,0xB5,\r
+0x83,0xDE,0x8E,0x98,0x1F,0x4E,0x98,0xAD,0x8A,0xD4,0x64,0xE4,0xFA,0x91,0x56,0x2E,\r
+0x47,0xB7,0xD9,0x2C,0x14,0x04,0x33,0x40,0x90,0x90,0xF7,0x90,0xD5,0xAD,0x71,0x37,\r
+0x8B,0x61,0x3C,0x10,0xC1,0x40,0x8E,0x3F,0x2B,0x67,0x0F,0x0D,0x3F,0x8A,0xB1,0xA7,\r
+0xAF,0x97,0x73,0x15,0x87,0xBA,0x96,0x7E,0x41,0xA1,0x69,0xB3,0xA5,0x58,0xF3,0xFD,\r
+0x80,0x14,0xEE,0x84,0x6E,0x1B,0xFD,0xCD,0xFB,0xC8,0x76,0x5C,0x68,0xE3,0x75,0x13,\r
+0x74,0x26,0x35,0x05,0x40,0x9B,0xBC,0xCB,0xC7,0x54,0x9E,0x24,0x79,0x3B,0x6A,0xB7,\r
+0x4C,0xC2,0x0B,0xB8,0x5E,0xD8,0x50,0xD9,0x57,0xD3,0xE0,0xDC,0x32,0x77,0x19,0xCE,\r
+0xCF,0xF2,0x26,0x64,0x1B,0x76,0xCA,0x66,0xA8,0x5B,0xA5,0x94,0xDE,0xE6,0x2A,0xE7,\r
+0x17,0x89,0x00,0x68,0xAF,0x21,0xA3,0xA2,0x75,0x5C,0x21,0xAC,0x6E,0x55,0x86,0xAA,\r
+0x9E,0x09,0xA2,0x36,0xD2,0x52,0xBD,0x1A,0xBF,0xB7,0xCB,0x89,0x1E,0xA0,0x04,0x60,\r
+0x49,0x49,0xEB,0x8A,0xD5,0x3E,0x6D,0x2F,0xCF,0x35,0x3E,0x43,0x8C,0xD2,0x27,0x5D,\r
+0xE3,0xBB,0xDB,0xE9,0x42,0xB8,0x9A,0xDA,0x86,0xE2,0x7E,0xFF,0x51,0x56,0x20,0x65,\r
+0x7C,0x99,0x87,0x8D,0xA1,0x24,0xFE,0x6B,0x37,0xD0,0x2A,0xC0,0x85,0x95,0xD8,0x48,\r
+0xE4,0x3F,0x06,0xD1,0xEE,0xB7,0x6B,0xD6,0x29,0xC3,0x03,0xC8,0x53,0x5A,0x84,0xA0,\r
+0xD7,0xAE,0xEA,0xF8,0x44,0xA3,0xEE,0x00,0x07,0x7A,0xD8,0xA3,0x27,0x15,0x51,0x16,\r
+0xE5,0xFA,0x5B,0xC7,0xA5,0x1C,0xAC,0xA0,0x63,0x2E,0xA8,0xC3,0xA9,0x42,0xC5,0xE6,\r
+0x1B,0x78,0x0F,0xC4,0x04,0x42,0x82,0x9B,0xB6,0x48,0x8C,0x9C,0x9A,0x5B,0x55,0x32,\r
+0xD2,0x25,0x0A,0xCA,0x9B,0xDA,0x5C,0x7D,0xAD,0x92,0xF8,0x9A,0x66,0xF5,0xE7,0xCD,\r
+0x6D,0xBF,0xA4,0x8F,0x53,0x89,0x8F,0xEE,0x2C,0x0A,0x5E,0xC6,0xAB,0x4E,0x61,0x23,\r
+0x3C,0x44,0x20,0xDD,0xA8,0x4D,0x73,0x97,0xDC,0x8E,0xEA,0x22,0x5D,0x4C,0x16,0x7E,\r
+0x24,0x18,0xEC,0x41,0x7F,0x2A,0xE8,0xF9,0xC0,0x39,0xCF,0xEF,0xF1,0xDA,0x0D,0xFE,\r
+0x2C,0xA7,0x5E,0xC9,0xA4,0x6B,0x08,0x4F,0xE9,0xED,0x45,0x4F,0x61,0xA4,0x8A,0x06,\r
+0x8D,0x20,0xBC,0x3E,0xE0,0xB2,0x36,0x1F,0x74,0xC2,0xC6,0xDE,0x7E,0x6A,0x07,0x7C,\r
+0x22,0x59,0x6C,0x6F,0x2D,0xAE,0x13,0xA8,0x18,0xF7,0x16,0xD9,0xC2,0xC3,0x9D,0x2A,\r
+0x6E,0x75,0xC4,0x93,0xA2,0x70,0x7C,0x95,0xB3,0x81,0xD1,0x92,0xB4,0x80,0xEC,0x59,\r
+0xE8,0xCE,0x09,0x7D,0xD4,0x49,0xC9,0xC0,0x82,0xB5,0xC4,0x83,0x50,0xB1,0xBE,0x17,\r
+0x85,0x9F,0x0E,0xB6,0x33,0xED,0xFF,0xBA,0x34,0xEA,0xC1,0x77,0x6D,0xBE,0xBC,0x1D,\r
+0xCE,0x37,0x7B,0x72,0xFB,0xBE,0x2C,0x29,0x01,0x89,0x6E,0x1A,0x11,0x51,0x08,0xCC,\r
+0xAE,0x52,0x2E,0x03,0x56,0xC6,0x79,0xCA,0x3A,0x78,0xD7,0xA9,0xF5,0x60,0x5A,0x82,\r
+0xB3,0x85,0x02,0xAD,0x97,0xFC,0x27,0xA5,0x19,0x69,0xF1,0xAB,0x67,0x12,0x79,0xBF,\r
+0xF6,0xD3,0x45,0xCF,0x95,0xDF,0x01,0xB4,0x16,0x65,0x00,0x07,0x25,0x19,0xF5,0xD3,\r
+0x63,0x41,0x96,0x29,0x45,0xD4,0x4A,0xEF,0x94,0xC7,0x4D,0xEC,0xBB,0x71,0xE0,0xF5,\r
+0xB6,0x0E,0xE2,0x9F,0xDB,0x3B,0x30,0xE6,0xF4,0xC4,0x87,0xF0,0x28,0xE4,0x5D,0xBA,\r
+0x52,0xDF,0x47,0x0A,0x4D,0xCA,0x63,0xFC,0x23,0x06,0xAF,0x6A,0xF7,0x6C,0xFE,0x47,\r
+0x46,0x72,0x84,0x3A,0x69,0x77,0x2D,0xF8,0xDD,0x10,0x0D,0x50,0x80,0xC8,0x11,0x46,\r
+0x32,0xBA,0x12,0x7B,0x30,0xB9,0x7D,0x44,0x08,0x76,0x29,0x0F,0x88,0x68,0x70,0x21,\r
+0xAC,0x5D,0x13,0x09,0xFC,0xD2,0xFC,0x1C,0xC9,0xC6,0x88,0xFA,0x93,0x1C,0xAA,0x27,\r
+0xDD,0x1E,0x65,0x7A,0xEB,0xF8,0x9D,0xF2,0xD6,0x4B,0x46,0x80,0x33,0x90,0x87,0xBC,\r
+0x75,0x5A,0xB3,0xB0,0x7D,0x59,0x49,0xB9,0x4E,0xA5,0xD7,0x60,0x52,0xAD,0x12,0xF2,\r
+0xA8,0x0A,0xF3,0x17,0xCB,0x2D,0x9C,0xF6,0xBD,0x1B,0x88,0x33,0x40,0xBE,0x37,0xC1,\r
+0x24,0x91,0xDE,0xB7,0x5B,0xC7,0x5C,0xD1,0x03,0x25,0x2D,0xA0,0xC3,0x27,0x0B,0x6B,\r
+0x18,0x88,0xF9,0x98,0x2F,0xDD,0x18,0x42,0x49,0xC8,0x86,0xAB,0x94,0x93,0xCF,0x02,\r
+0x3F,0x18,0x39,0x72,0xB2,0x66,0xEF,0xBA,0x0D,0xB7,0x3B,0x7E,0x71,0xAF,0x03,0xD4,\r
+0xED,0x42,0x7B,0xE8,0x0C,0x0C,0x29,0xDC,0xF7,0xF6,0x23,0x38,0x3E,0xAA,0x27,0x22,\r
+0x56,0xAC,0xFD,0x25,0xE3,0xB6,0x40,0xC3,0x56,0x45,0x48,0xD1,0xA3,0x3B,0x08,0xA1,\r
+0x8E,0x08,0xE2,0x34,0x9B,0x8A,0xDC,0x2B,0xD6,0x43,0x09,0xFF,0x78,0xBA,0xFC,0x93,\r
+0x5A,0x69,0x59,0x27,0x46,0xD0,0xB0,0xBF,0xE7,0x77,0x1C,0xEE,0x11,0xB3,0x00,0x1E,\r
+0x9A,0x8B,0x07,0xCC,0x74,0x30,0xB5,0x34,0x19,0x61,0xBE,0xD4,0x86,0x80,0xEA,0x31,\r
+0xB3,0x83,0x14,0xD2,0x94,0xF8,0xFA,0xD2,0x7C,0xAB,0x29,0xC6,0x75,0xD3,0x54,0x6E,\r
+0xE2,0x48,0x79,0xD5,0x8E,0x83,0x23,0x6C,0x85,0xD0,0xDA,0x37,0x8E,0xE7,0x8B,0x91,\r
+0xB0,0x4C,0xB2,0xED,0xCA,0x5A,0x73,0x52,0x14,0xC9,0x43,0xBD,0xAB,0x5C,0x69,0x01,\r
+0xB7,0xE5,0x9A,0xAD,0x3E,0xEC,0x2C,0x57,0x15,0x57,0xA4,0xCF,0xB3,0xED,0x89,0x9E,\r
+0x69,0x7A,0x7C,0x35,0x87,0xEA,0xDF,0xE1,0x01,0x81,0x21,0x65,0x05,0x19,0xD6,0x9B,\r
+0x0D,0x99,0xCD,0xA9,0x21,0xD8,0xD1,0x1F,0xCE,0xA3,0x96,0x4E,0xC6,0x29,0xC2,0x36,\r
+0xF5,0x04,0x3A,0x12,0xBF,0x37,0xD8,0x65,0x3F,0xB9,0xC5,0xD8,0x24,0xDE,0x63,0xB1,\r
+0x3E,0x8A,0xE8,0xBB,0xF3,0xF0,0x9B,0x72,0xB2,0x17,0x79,0x9F,0x18,0xA6,0xFF,0x59,\r
+0x13,0xE4,0x75,0xDA,0x90,0xC0,0x31,0x80,0x9D,0x30,0x45,0x86,0x7B,0x0D,0xC6,0x78,\r
+0x87,0x39,0x19,0x80,0x49,0xA2,0x96,0x46,0x88,0x78,0x27,0x5E,0xE2,0xE0,0xBE,0x41,\r
+0x8F,0x9A,0x33,0xFD,0xF1,0xD3,0x8A,0x54,0x50,0xB6,0xFE,0x68,0x81,0x4B,0x87,0x60,\r
+0x0C,0x0B,0x1C,0x60,0xD2,0x02,0xBB,0xCA,0x6F,0x10,0xFD,0xA7,0xD4,0x3A,0xE7,0x05,\r
+0xAF,0xA3,0xDB,0x57,0x22,0x8C,0x2F,0x9D,0xAC,0x04,0x50,0x97,0x29,0xB7,0xCB,0x4C,\r
+0x5E,0x0F,0xD7,0x58,0xF5,0xEB,0x41,0x06,0x70,0x9D,0x33,0xDD,0x62,0xCE,0xB8,0x00,\r
+0x38,0xB1,0x11,0x32,0x5D,0xDC,0x86,0xA5,0x09,0xE0,0x81,0x02,0xBF,0xF6,0xBF,0x84,\r
+0x14,0x4D,0x5D,0x9A,0x57,0xE1,0x84,0xAA,0x07,0x72,0x97,0xDC,0x3C,0x6F,0x83,0x2E,\r
+0x8D,0xC7,0x44,0x0B,0x0E,0x2F,0x38,0xFA,0x9C,0xAE,0xA2,0xF4,0xFC,0xE8,0xAD,0x68,\r
+0xB2,0x11,0xC5,0x1B,0x26,0xB4,0xE4,0xCF,0xC2,0x95,0x8C,0x55,0x41,0xCC,0xA9,0x26,\r
+0xCE,0xB4,0x35,0x7D,0x34,0xD1,0x2E,0x58,0xDF,0xBC,0x4E,0xEA,0x48,0xD9,0x56,0x61,\r
+0xAE,0x31,0x0A,0x9E,0x01,0x5D,0x1E,0x03,0xA8,0x53,0xEA,0xEB,0xA5,0x82,0xFB,0x17,\r
+0xE6,0x2E,0xF7,0xAA,0x06,0x31,0x2B,0xD3,0x74,0xCA,0x89,0xA1,0x06,0xAE,0xEC,0x70,\r
+0xD0,0xC9,0x8D,0x0E,0x84,0xBE,0x21,0x63,0xAE,0xA0,0x5C,0x52,0x22,0x67,0x90,0x07,\r
+0xAC,0x6C,0x7D,0x68,0xB8,0x5B,0xED,0xB5,0x92,0x3C,0xB4,0x2A,0x08,0x70,0x7E,0x66,\r
+0xC4,0x4A,0x68,0xF6,0x53,0xD9,0x4F,0xF8,0x99,0x67,0xFF,0xFA,0xDB,0x96,0xEB,0xF4,\r
+0x51,0x05,0xD5,0x65,0x4F,0xB9,0x4C,0x32,0x76,0x6E,0x85,0x64,0xAF,0x20,0x3E,0xBB,\r
+0xD9,0xF8,0x76,0xBA,0xD5,0x6E,0x8E,0x1A,0x87,0x74,0xD6,0xF2,0x0A,0xB5,0xDA,0x6A,\r
+0x7D,0xF9,0x99,0xCD,0xEF,0x90,0x98,0xB8,0x3A,0x70,0x98,0xD6,0xC9,0x85,0xCE,0xC7,\r
+0xDD,0x9E,0xF8,0xC5,0xB0,0x45,0xFE,0x9C,0xF4,0xCC,0xC8,0x8F,0x5F,0xC4,0xBA,0x0F,\r
+0xA9,0x98,0x22,0xDE,0x45,0x84,0x4E,0x3D,0x9F,0x94,0x49,0x43,0x5E,0xB6,0x24,0xE8,\r
+0x25,0x03,0x0F,0x7E,0x3F,0x9B,0xC3,0xF3,0xB5,0x7A,0x28,0x54,0x28,0xC5,0x55,0xAB,\r
+0xDF,0xC3,0x8F,0x33,0x61,0x39,0x4A,0x73,0xFF,0x97,0x83,0x5F,0xF1,0x81,0x05,0x95,\r
+0x76,0x95,0x15,0x8F,0x66,0x55,0x7F,0xA3,0xE3,0x20,0xA6,0x92,0x21,0xD0,0xAA,0xEC,\r
+0x35,0xE6,0x64,0xF9,0x2D,0xFE,0x09,0x64,0x3D,0x1D,0xC9,0x1D,0x89,0x2C,0xE6,0xC0,\r
+0x04,0xA8,0x36,0x1D,0x3C,0xCF,0x3D,0x71,0x04,0x48,0x7C,0x6B,0x44,0xC2,0x60,0x7B,\r
+0x0B,0xA2,0x34,0x20,0xC8,0x79,0x62,0x74,0xA0,0x32,0x4A,0x8C,0x43,0x09,0x0D,0x2A,\r
+0xE4,0x73,0x80,0x5C,0xA5,0x4C,0x01,0xDB,0xF3,0xA1,0x99,0x44,0x36,0xCD,0x46,0x82,\r
+0xD5,0x3D,0xD2,0xB8,0x16,0x77,0xF0,0x62,0x8B,0x42,0xCC,0xE9,0x63,0xBC,0x26,0xE7,\r
+0xA7,0x00,0xF1,0x2A,0x14,0x54,0xE1,0x44,0xB1,0x2D,0x92,0x28,0x4F,0x12,0x3B,0x30,\r
+0xA0,0xA9,0xD9,0x6A,0x1C,0x4A,0xF2,0x6D,0xEE,0x88,0x5B,0xFB,0xA7,0x47,0x5F,0x1B,\r
+0xF7,0x59,0x4D,0xE4,0x7C,0x2E,0xA6,0x1D,0x51,0x28,0x19,0x1A,0x16,0x78,0x6D,0x4F,\r
+0xEE,0x8D,0xDD,0xD7,0x23,0xFB,0xC0,0x39,0x0F,0x13,0x37,0xBB,0x42,0x7B,0x93,0xCD,\r
+0x40,0x72,0x6F,0x2B,0x25,0xE0,0x1A,0x4D,0x97,0xF5,0xE9,0x24,0x47,0x75,0x5A,0x90,\r
+0xFB,0x9C,0xE9,0xE6,0x79,0x61,0x82,0xEB,0xC4,0x66,0x3A,0xEC,0xE9,0x30,0xE5,0x0A,\r
+0xF9,0xC1,0x9E,0x10,0x9D,0x91,0x06,0x5F,0x00,0x1F,0xC6,0x17,0x6D,0x62,0xB4,0xF1,\r
+0x6F,0x41,0x85,0xBC,0x50,0x8D,0xB1,0x7A,0x67,0x71,0x5D,0xC0,0xA1,0xFE,0xAC,0xAD,\r
+0x11,0xB9,0x02,0x2C,0xF0,0xA4,0x65,0xF0,0x26,0xC7,0xBD,0x1B,0x13,0x76,0xA4,0x12,\r
+0xC2,0x71,0x91,0x7F,0x63,0x1A,0x5B,0x55,0x95,0x51,0xE5,0xE1,0x46,0x07,0xC4,0x77,\r
+0x53,0x58,0xA2,0x93,0x2B,0xE5,0xD3,0x10,0x3B,0xEE,0x7F,0xA4,0x6B,0xDB,0x47,0x47,\r
+0xE0,0x15,0x0E,0x23,0x13,0x38,0xD4,0x94,0x6C,0x2A,0x16,0x10,0x4D,0xD7,0x9F,0x3C,\r
+0x15,0xDF,0x8C,0x53,0x36,0xF2,0x3F,0x7E,0x1F,0x92,0x08,0x6D,0xEF,0x89,0x16,0xBC,\r
+0x67,0xE2,0xAF,0xC1,0xFC,0x82,0xBD,0x8B,0x73,0xA7,0xD8,0x6A,0xA6,0x35,0xC1,0xFC,\r
+0xE3,0xDA,0xA8,0x1C,0x40,0xCB,0x6A,0xCB,0xF5,0x52,0x2F,0xFD,0x96,0x56,0x6B,0x0E,\r
+0x20,0xF7,0x50,0xC8,0x7F,0x7A,0x58,0x9F,0x69,0xE3,0x4B,0x1E,0xCA,0x32,0xF4,0x2C,\r
+0xEF,0x1F,0x0C,0x1E,0x77,0x64,0x4B,0xB6,0xFA,0x5E,0xDE,0x51,0x4B,0x6E,0x6C,0x8A,\r
+0x44,0xBF,0x0E,0x63,0xF6,0xEB,0x69,0xA5,0x69,0xCB,0xE8,0x1D,0x5C,0x70,0xA8,0x47,\r
+0x3A,0x47,0x89,0xF3,0x56,0xC2,0xBD,0x2F,0x28,0x7D,0x08,0xC6,0xEE,0xF8,0xA0,0xF8,\r
+0xAC,0xC7,0x92,0x5F,0x9B,0xDE,0x0A,0x0A,0x4F,0x13,0x93,0x11,0x22,0x64,0xB8,0xA4,\r
+0xAE,0x9A,0xE5,0xA9,0x7F,0x2E,0x8E,0xBE,0x8B,0x6A,0x6F,0xEA,0xA6,0x36,0xE9,0x5F,\r
+0x15,0x74,0x63,0x64,0x23,0xAF,0x16,0x18,0xD8,0xF9,0xBC,0x22,0x08,0x73,0x56,0xC5,\r
+0xBB,0x8B,0xD1,0x98,0x25,0xB4,0xCC,0x6C,0x40,0x1F,0x62,0xBD,0x0D,0x7D,0x9F,0x98,\r
+0xA2,0x5F,0x41,0xAB,0x7A,0x61,0xAA,0x48,0x1E,0x24,0x4C,0x1C,0x59,0x7E,0x61,0x1A,\r
+0xF5,0xAF,0xD5,0x25,0x1A,0x05,0xFE,0x38,0xA1,0x84,0x0E,0xFD,0xE8,0x41,0x53,0x4E,\r
+0xBA,0x19,0x00,0x51,0x71,0x2B,0x47,0xE3,0xB5,0x52,0x8B,0x57,0x04,0x68,0x60,0xDF,\r
+0x75,0xF1,0x5C,0x87,0x79,0x35,0x54,0xCA,0x26,0xEF,0x1E,0x18,0x85,0x34,0xF8,0x79,\r
+0xB6,0xDC,0xA4,0x53,0x46,0x84,0x66,0x9E,0xBA,0x5E,0x7A,0xFB,0xD9,0x50,0x67,0x5B,\r
+0x32,0xE4,0xA3,0x8E,0xFA,0xCD,0xB1,0xDE,0x3C,0xAB,0x8D,0x6C,0xE9,0x33,0xCD,0xA9,\r
+0x40,0xD9,0x80,0x1C,0x30,0xBD,0x33,0x2B,0x50,0x9E,0x5D,0x6B,0xA0,0x8F,0x1A,0xE9,\r
+0xB5,0x13,0x02,0x6C,0x15,0x77,0xD8,0xC1,0x23,0x26,0x43,0x16,0x02,0xD1,0x93,0x69,\r
+0x06,0x5E,0xAE,0xDC,0x2D,0xAA,0xDF,0x45,0x74,0xE2,0x2A,0xA2,0x24,0xDD,0x4B,0x12,\r
+0x97,0x77,0x9D,0x30,0x65,0x55,0x57,0x00,0xDA,0x5D,0xB0,0xE7,0x09,0x01,0xC8,0x22,\r
+0x70,0x05,0x03,0x31,0x39,0xD4,0xCF,0xA6,0xFA,0x76,0x7D,0x52,0x67,0xC3,0x59,0xFE,\r
+0xFC,0x9E,0x2E,0x91,0x43,0xCB,0x42,0x68,0xD0,0x98,0x1C,0x45,0x11,0xB0,0x28,0xBD,\r
+0x88,0x98,0xF4,0x8A,0xB6,0x0A,0xF2,0xC9,0xBB,0xC0,0x9D,0x89,0x10,0xC2,0xB6,0x5A,\r
+0x28,0xFF,0x95,0x82,0xE9,0xDF,0x94,0xED,0x75,0x7C,0xCD,0xD0,0x86,0x83,0xC2,0x92,\r
+0x8C,0xFE,0x7A,0xF5,0xD3,0x21,0x82,0x4F,0xC8,0x78,0x83,0xF4,0x45,0xB3,0xD6,0x3F,\r
+0x04,0x03,0xD9,0x2A,0x49,0xF6,0x40,0x67,0x39,0x62,0xD0,0x62,0xE0,0x26,0x32,0xEE,\r
+0x91,0x4C,0x64,0xB9,0x55,0x96,0x43,0xAD,0xD6,0x6B,0xAA,0xFC,0x94,0x90,0xE7,0xA1,\r
+0xF9,0x6A,0x71,0x27,0xBE,0x14,0xE1,0xE0,0xDD,0x30,0xE1,0x2C,0x47,0x76,0x72,0x33,\r
+0xF2,0x06,0xFD,0x65,0x12,0x1B,0xED,0x11,0xFE,0x21,0xC7,0x2E,0x00,0x14,0x37,0x65,\r
+0x80,0x3B,0xDE,0xF7,0x10,0x38,0xFC,0x37,0xC4,0x4E,0x99,0xEF,0x2C,0xBA,0x2A,0xB2,\r
+0xB1,0x75,0x8C,0x13,0xA3,0x03,0x0D,0x8E,0xBC,0xAD,0xCC,0x42,0x79,0xCB,0x4A,0xD7,\r
+0x5E,0xA4,0x38,0x6F,0xCE,0x36,0x6E,0x21,0xEF,0x3E,0x1F,0x8A,0x0C,0x0F,0x01,0x7F,\r
+0x51,0xAE,0x3A,0x52,0x3A,0x80,0x31,0x24,0x4B,0x44,0x29,0x6D,0x0B,0xC4,0x6C,0x2E,\r
+0x60,0xE0,0x68,0xB6,0x2B,0xB1,0x05,0x31,0x72,0x11,0x9C,0x1B,0xC6,0x2A,0xEA,0x95,\r
+0x23,0x93,0x19,0xC0,0x60,0x1A,0x73,0xF6,0xAC,0x2C,0xF3,0x94,0x6E,0xD6,0xA6,0xB9,\r
+0x8A,0xC5,0x83,0x7C,0x67,0x76,0x46,0x26,0xB0,0x9B,0xD6,0x59,0xBE,0x87,0x09,0xC0,\r
+0x0B,0x09,0xDB,0x17,0xF3,0xA4,0x4D,0x53,0x3F,0x91,0x66,0xDB,0x2D,0xC8,0xB4,0x55,\r
+0xFA,0xA5,0xD7,0x18,0x24,0xC3,0x23,0xC8,0xE3,0x08,0x05,0x91,0x66,0xB1,0xC7,0x19,\r
+0x59,0x0D,0x10,0x2F,0xD4,0x4D,0xB7,0x9F,0x20,0x1C,0xA8,0xA1,0x9B,0x3C,0xEB,0x50,\r
+0xDA,0x9C,0x3F,0xB2,0xF7,0x9C,0x86,0x01,0x1F,0xBA,0xAB,0x6E,0xCE,0x4D,0x8B,0x35,\r
+0xD2,0x3F,0x15,0xCF,0x4F,0xED,0x9A,0x13,0xC7,0x74,0x72,0x58,0xAD,0xE6,0xB2,0x14,\r
+0x46,0xE2,0x79,0x95,0x96,0x8F,0x3D,0xD5,0xD2,0x3C,0x10,0x80,0x34,0x0B,0xCA,0x2D,\r
+0x6B,0x8C,0xE4,0xF4,0xF5,0xBF,0x97,0x27,0xFD,0x1B,0x2C,0x99,0x57,0xA0,0xF3,0x0C,\r
+0xA0,0x02,0x36,0x5D,0xB9,0x78,0xD4,0x30,0x70,0xB5,0x90,0xDE,0x6B,0xD8,0x6F,0xE4,\r
+0x85,0xCF,0x81,0x41,0x82,0xF1,0x2D,0x36,0xE1,0xAC,0x09,0x54,0x6D,0x61,0x9C,0x52,\r
+0xB3,0x28,0xFB,0xE5,0x00,0x7E,0x27,0x86,0x3B,0xC6,0xDC,0xA7,0x49,0xA8,0xE0,0x25,\r
+0xFB,0x37,0x06,0xD1,0x07,0x12,0x12,0x56,0xE7,0x5F,0xBF,0xED,0xEA,0x84,0xF7,0x42,\r
+0x9B,0xB2,0x39,0x32,0x32,0x9E,0x22,0x0D,0x90,0xB0,0x1B,0xEC,0x07,0xDF,0x5A,0x34,\r
+0xE7,0x17,0xC9,0x54,0x20,0xFB,0xE8,0x9A,0x8D,0x99,0xD9,0x53,0x0E,0xCA,0xA5,0x73,\r
+0xD8,0xC1,0x48,0x44,0x08,0x60,0x34,0xAF,0xD3,0xA2,0xF7,0xF2,0xB3,0xEE,0xA1,0x3D,\r
+0x41,0x4B,0x51,0xD5,0x51,0xAE,0x88,0xFF,0x48,0x7E,0xC2,0xDA,0x73,0x69,0x8F,0x7B,\r
+0x6D,0xB7,0x1D,0x7D,0x5B,0x93,0x8A,0xF0,0x46,0xEC,0xD4,0x04,0xF0,0xF0,0xB3,0xD1,\r
+0xDB,0x0E,0xEE,0x7B,0x9D,0xC5,0xD0,0x7E,0x99,0x4F,0x5C,0xF9,0x37,0xBC,0xF0,0xC6,\r
+0x03,0xAA,0xF1,0x6A,0xE5,0xF9,0x4C,0x96,0x19,0x49,0x1D,0xD7,0xEC,0x3D,0x04,0xF4,\r
+0xB8,0x44,0x77,0xA7,0x0A,0x43,0x25,0x89,0xB8,0xFA,0x76,0x3E,0x71,0xAC,0x2B,0x77,\r
+0x6A,0x1E,0x35,0x3D,0xB4,0x29,0xE3,0xEF,0x42,0xBB,0x6E,0x78,0x3E,0xA9,0x0F,0x81,\r
+0x4D,0x8E,0xF5,0xD7,0x29,0x92,0x14,0x17,0x06,0xC4,0xD3,0xAD,0xDB,0x95,0xC3,0x57,\r
+0x71,0x97,0xD2,0xF8,0x5D,0x88,0x50,0x84,0x4C,0x29,0x78,0xA6,0x8C,0x21,0x07,0x3E,\r
+0xFD,0x0C,0xFF,0x58,0xCD,0x62,0x90,0xA3,0xF2,0x17,0xDD,0x35,0x0F,0xB8,0x3B,0x94,\r
+0x20,0x5C,0xBF,0xFF,0x7B,0x16,0x45,0xEC,0x01,0xA9,0x82,0x66,0x1D,0xAB,0x1E,0xA7,\r
+0x58,0x9F,0xC1,0xE6,0x27,0x97,0xDD,0x4A,0x81,0xAF,0xC3,0x48,0x89,0x2F,0xCE,0x63,\r
+0x3C,0x7C,0x70,0x7A,0x81,0xA5,0xD3,0xB4,0x4E,0x8D,0x74,0x63,0x4A,0x1F,0xDA,0xCE,\r
+0xE2,0xE3,0x96,0xE2,0x38,0xA3,0x20,0x02,0x5A,0x5B,0xF1,0xC9,0xFC,0xEB,0x85,0xCB,\r
+0xE5,0x4A,0xBE,0xA2,0xCC,0x15,0x7F,0x07,0x5B,0xC5,0x16,0xBB,0xE4,0x5A,0x65,0x54,\r
+0xB7,0x4E,0x75,0x9A,0x88,0xCC,0x2F,0x39,0xCA,0xDC,0x8F,0x31,0xC1,0xE1,0x87,0xC4,\r
+0xE6,0x85,0x18,0x9D,0x92,0xB7,0xF6,0x87,0x33,0xA7,0x7C,0xC0,0x3A,0xD5,0x58,0x3B,\r
+0xCF,0x8D,0x0B,0x83,0x72,0x7F,0xB9,0x61,0x56,0x6D,0xEB,0xD2,0xC9,0x86,0xE6,0x64,\r
+0x0F,0x6F,0x55,0x68,0x40,0x9F,0xBC,0xEA,0xA8,0x7B,0x49,0xE8,0x5E,0xB5,0x0C,0x4B,\r
+0x01,0x42,0x0F,0x0B,0xBA,0xC8,0xDB,0x2C,0x04,0x32,0x0B,0x40,0xB8,0xEE,0xBF,0x4C,\r
+0xFC,0xE1,0xD0,0x83,0x78,0xE0,0x0C,0xB6,0x57,0xC3,0x9D,0x5A,0x69,0x0A,0x1A,0xD9,\r
+0xB3,0x5C,0x43,0x16,0x7B,0x2A,0x6C,0xAA,0x2D,0x2C,0x03,0x53,0x26,0xDF,0x6E,0x6F,\r
+0x95,0x49,0xDD,0x7E,0xD9,0x67,0xEE,0x41,0x66,0x27,0xD3,0x08,0xB4,0x4A,0xBD,0x89,\r
+0xFA,0x3B,0xCB,0xF7,0xF7,0x21,0x2E,0xC6,0xFA,0x00,0xAD,0x4E,0x79,0x61,0x9D,0x3C,\r
+0x61,0x16,0x6B,0x7B,0x7A,0xEF,0x31,0xBC,0x9B,0x2A,0xBA,0xA0,0x3A,0x10,0xEB,0x4F,\r
+0x67,0xCC,0x70,0x0F,0xCA,0x4E,0xF0,0x49,0x1A,0x41,0x76,0xF8,0xDD,0x8E,0xEA,0x3D,\r
+0x00,0xAD,0x78,0xAF,0xAC,0x6A,0x25,0x16,0x4A,0x8F,0x2F,0x44,0x15,0xFA,0x7C,0x7C,\r
+0x51,0x02,0xA8,0xD6,0x09,0xA3,0x7A,0xC5,0xAE,0xB1,0x92,0x7C,0xA9,0x54,0xF1,0x3B,\r
+0x1F,0x50,0x4C,0xE7,0x3D,0xB6,0x4B,0xD4,0x1B,0x88,0xE4,0x29,0x12,0xD2,0x3C,0xD5,\r
+0x6C,0x21,0x3A,0xA4,0x4B,0x71,0xE0,0x9F,0x74,0x56,0x6B,0x14,0x3E,0x9E,0x94,0x29,\r
+0x3A,0xBB,0x86,0x0D,0x7E,0xA1,0x8C,0x98,0x51,0x4A,0xA6,0xA3,0x47,0x31,0x44,0x78,\r
+0xF9,0xC5,0x9F,0x75,0xD5,0x96,0xE1,0xED,0x40,0x04,0xD1,0x19,0xE2,0x0F,0xFA,0xEB,\r
+0xC4,0xE6,0x0D,0x07,0xC4,0xB0,0xC2,0xEF,0x1E,0x3E,0x10,0x76,0x35,0x12,0xD6,0x45,\r
+0x8A,0xB4,0xE9,0x36,0x35,0x09,0xF9,0x5C,0x4B,0x46,0xBD,0x95,0x50,0x72,0x83,0x34,\r
+0x5B,0x00,0x95,0xD9,0x56,0xA6,0xCC,0x31,0x98,0x15,0x75,0x06,0xF8,0x39,0xF6,0xF0,\r
+0x8B,0x5B,0x9E,0x92,0x2E,0x9F,0x55,0xDC,0x3B,0x22,0xDD,0xC1,0x42,0x6E,0xF2,0x8C,\r
+0x74,0xE9,0x62,0x3C,0xF4,0xEB,0x4E,0xDA,0xE5,0xBA,0x42,0x27,0x1F,0xA7,0xF7,0x82,\r
+0xA0,0x79,0x51,0x25,0x92,0xCF,0x9B,0x85,0xCB,0xE4,0xE3,0x1C,0x9D,0x59,0xA3,0x81,\r
+0x50,0xED,0xDF,0x72,0xC6,0xBF,0xFF,0xE5,0x89,0x5B,0x02,0xBC,0xC9,0x6B,0x12,0xBE,\r
+0x40,0x36,0x99,0xC3,0x51,0x22,0x11,0x09,0x6F,0x93,0xE2,0xF3,0xC0,0x90,0xA6,0x8F,\r
+0xB8,0xB1,0x09,0xBD,0x85,0xA8,0x38,0xA9,0x8F,0xD2,0x39,0x45,0x7F,0x98,0x14,0x07,\r
+0x38,0xAA,0xA5,0x2B,0x32,0x8D,0x24,0x64,0x14,0xB5,0xEE,0x2B,0x23,0x80,0xD8,0x9B,\r
+0x65,0xDD,0x53,0x29,0xB6,0x39,0xD4,0x80,0xE8,0x71,0x15,0x52,0xD8,0xD1,0x5C,0xC9,\r
+0x26,0xB8,0xE6,0xC7,0x0B,0xAC,0x47,0xCF,0xDA,0xAA,0x94,0xA6,0x6E,0x22,0x5A,0x70,\r
+0xEC,0x3A,0x96,0x32,0xE0,0x46,0x8D,0xEA,0xC4,0xD9,0xE9,0x1E,0xEE,0xAB,0xF8,0x2E,\r
+0xA1,0x96,0x26,0x81,0xE7,0xC2,0x50,0xD2,0xAD,0x8E,0x5D,0xDA,0x95,0x73,0xDE,0x22,\r
+0x88,0xA5,0xCA,0x10,0x6F,0x87,0xAF,0x9A,0x37,0x20,0x18,0x65,0xA5,0xF0,0xF3,0xFE,\r
+0xE6,0x38,0xAB,0x3D,0x7F,0x64,0xD1,0x8E,0x0C,0x4F,0xA8,0x6A,0x58,0x58,0xFE,0x97,\r
+0x0E,0x64,0x7D,0xF2,0x6C,0x4D,0xCF,0x86,0x99,0xDC,0xE7,0xD7,0xFE,0xC0,0x7F,0xCB,\r
+0x23,0x9C,0xA9,0x31,0x5E,0x19,0x7E,0xB9,0xFD,0x40,0x04,0x66,0xDC,0x5F,0x23,0xAF,\r
+0x1B,0x9B,0x74,0xB5,0x89,0x59,0x37,0x05,0x0A,0xC6,0x93,0x93,0x2E,0xF5,0x13,0xCC,\r
+0x71,0xCD,0x2D,0xCA,0x2C,0x90,0x68,0xD6,0x54,0xFC,0x52,0xFC,0xD0,0xFB,0x21,0x6A,\r
+0x68,0xEA,0x02,0xF6,0x68,0x03,0x72,0xA2,0xFF,0xB6,0x59,0x11,0xB9,0x3F,0x76,0xDE,\r
+0xF3,0xC7,0xA2,0x7A,0xA8,0x24,0x98,0x32,0x5A,0x08,0xCA,0x2F,0x13,0x03,0xF5,0x47,\r
+0xA3,0x87,0x05,0xA7,0x7D,0x6B,0xEC,0x84,0x05,0xFB,0x99,0x91,0x20,0x26,0xE7,0x54,\r
+0xF1,0xD6,0x81,0x5C,0xE8,0xF9,0x3F,0x62,0xDB,0x63,0x06,0x77,0x41,0xC8,0xCD,0x43,\r
+0x55,0xC9,0x90,0x84,0x74,0x11,0x03,0x1A,0x9A,0xE3,0x28,0x71,0x73,0x3C,0x16,0xC2,\r
+0xBB,0x4F,0x5D,0x3F,0x1D,0x0E,0xB9,0xF5,0xF1,0x42,0xC1,0xC2,0xF0,0x13,0x8B,0x53,\r
+0xE1,0x0D,0xC7,0xED,0xDB,0x68,0xD3,0x4B,0xE9,0xB8,0x87,0x83,0x06,0x37,0xC4,0x56,\r
+0xB1,0x4D,0x60,0x30,0x17,0xBE,0x36,0x77,0x08,0x30,0xCE,0xE4,0x43,0xBF,0x3B,0x1E,\r
+0x7A,0x20,0x67,0x61,0xCE,0x00,0x4D,0x6D,0xFB,0xC9,0x3F,0x9F,0xBC,0x60,0xC0,0x2A,\r
+0x72,0x33,0x79,0x48,0x81,0xE6,0x85,0x8D,0x6C,0xAC,0x2D,0x55,0xE3,0xDE,0x33,0x79,\r
+0x90,0x6D,0x92,0x88,0x84,0x6D,0x65,0xBF,0xCE,0x52,0x17,0x43,0xCC,0x34,0xA4,0x4A,\r
+0x60,0xF9,0x1C,0xDF,0xE5,0xCD,0x6D,0xD8,0x44,0x7B,0xB7,0x97,0xE4,0xF6,0x73,0xD0,\r
+0x83,0x48,0x80,0xBB,0xEB,0x33,0x5F,0x7E,0xF3,0xB4,0x9C,0xB5,0x49,0xE2,0xB0,0xE0,\r
+0x1C,0xAE,0x18,0x65,0x18,0x85,0x59,0xC7,0x76,0xA0,0x36,0x63,0x4C,0xBD,0x06,0x14,\r
+0xB5,0x86,0x58,0x62,0x47,0x80,0xEF,0x33,0x91,0xA1,0x44,0xFD,0xD3,0x5D,0x1E,0xA5,\r
+0xC0,0x2D,0x35,0x55,0xA2,0x94,0x17,0xB0,0xF5,0x3D,0xA7,0x4C,0x93,0x8A,0x57,0x19,\r
+0x1D,0x41,0x6F,0xC1,0x05,0x52,0x75,0x69,0x97,0x28,0x7F,0x04,0xAA,0xF2,0xCE,0xF4,\r
+0x73,0xDC,0x0E,0xEC,0xAF,0xA0,0x45,0x0A,0xAB,0x07,0x66,0x23,0x8B,0xCB,0xAD,0x5F,\r
+0xFD,0x0E,0xA7,0x27,0xEC,0xB7,0x82,0x46,0x17,0x8A,0x21,0x8D,0x63,0x57,0x91,0x27,\r
+0xF6,0xE3,0xED,0x8C,0x75,0xD4,0x5E,0x0C,0xE1,0xC5,0x24,0xA9,0xD2,0x8C,0xD7,0x37,\r
+0x5A,0xEF,0xE2,0x7D,0x1B,0x4F,0x39,0xDB,0x82,0x19,0x6E,0x30,0x9E,0xFF,0x9C,0x4E,\r
+0xF2,0x28,0xD5,0xDE,0x8F,0x18,0xB7,0x2B,0x2F,0xDA,0x5E,0x24,0xD7,0xD3,0x61,0xC3,\r
+0x63,0x07,0x48,0x5D,0xBE,0x86,0x66,0x08,0x2C,0xE5,0x91,0x82,0xB2,0xB3,0x34,0xB2,\r
+0xE8,0xF1,0xAE,0x60,0xD0,0x1D,0x01,0xDF,0x5E,0x77,0xAC,0xA1,0xF4,0x9D,0xF4,0x35,\r
+0x3E,0x70,0xBE,0x5F,0x0C,0x28,0x9A,0xF7,0x70,0x29,0x0D,0x9A,0xBA,0x99,0x49,0x11,\r
+0xB4,0x69,0x2F,0xC6,0xB0,0x78,0x54,0xAE,0x45,0xB2,0x25,0x46,0xFC,0xB7,0x89,0x96,\r
+0x48,0x25,0x87,0xEA,0xB2,0x77,0x69,0xA4,0x53,0xBC,0xFB,0xD4,0x56,0x8B,0x0A,0x0F,\r
+0x30,0xB9,0xBB,0x02,0x15,0xB1,0x0B,0x7D,0x8E,0x1B,0xAB,0x94,0xD5,0xA4,0x97,0x9E,\r
+0xD7,0xC3,0x1F,0x34,0x1F,0x01,0x84,0xFF,0x5B,0xC1,0x58,0xFE,0xA2,0xD8,0xB3,0x57,\r
+0xC8,0x3E,0x2B,0x7C,0x2A,0xD1,0xE8,0xF8,0x38,0x1D,0x12,0x67,0xC5,0xCF,0x10,0x7B,\r
+0x4D,0x01,0xC8,0x1C,0x1A,0x8A,0x64,0xCD,0x9C,0x6A,0x13,0x88,0xB3,0x62,0xFD,0x20,\r
+0x5C,0x1B,0x39,0x74,0x13,0x13,0x99,0x3D,0x7C,0x10,0x4F,0x05,0xC4,0x74,0x02,0x53,\r
+0x48,0xD8,0x94,0x44,0xDC,0x38,0x2E,0x1F,0xDA,0xEE,0x41,0x37,0x27,0xE8,0x66,0xE2,\r
+0x17,0x6E,0x91,0xB0,0xC8,0x92,0xAB,0xC9,0x63,0x58,0xB2,0x31,0xB8,0x70,0xB8,0x04,\r
+0xF7,0x76,0x0E,0x01,0xC9,0xE0,0x4C,0x57,0x97,0x5D,0xED,0x87,0x11,0x30,0xBF,0x2C,\r
+0x15,0x53,0x9E,0xBA,0x58,0x6A,0xD5,0x4E,0xD3,0x63,0xBD,0x5E,0x15,0x08,0xED,0xE7,\r
+0xCA,0xA8,0x61,0x8E,0xA1,0x9B,0x26,0x35,0xC9,0xDD,0x64,0x25,0xDE,0x0F,0xBC,0x8A,\r
+0x74,0x5B,0x3E,0xDD,0xC4,0x89,0xB1,0xFF,0x29,0x3B,0x2B,0xED,0xD6,0x11,0x95,0x99,\r
+0x9E,0xCC,0x11,0xEE,0x3A,0xB3,0x13,0xE9,0x1B,0xB0,0x2E,0x0D,0x34,0xFA,0x55,0xC7,\r
+0x62,0xA5,0x9C,0xE7,0x0B,0xA2,0x06,0xDD,0xC6,0x24,0x42,0x57,0x55,0xE9,0x81,0x7C,\r
+0x96,0x7E,0xAE,0x66,0x8B,0x8C,0x47,0xDB,0xBE,0xCC,0xDE,0x6B,0xF1,0xF8,0x59,0x63,\r
+0xB9,0xE3,0x2D,0xF7,0x2A,0x65,0x2C,0x68,0x51,0xD3,0xB7,0xD1,0x1F,0x35,0xE2,0xE5,\r
+0x9D,0xAC,0xDB,0xF2,0xD0,0x23,0x34,0x29,0xEF,0xB5,0x71,0xBB,0x45,0xAF,0x30,0xA7,\r
+0x51,0x49,0x0D,0xCE,0x94,0xF6,0x89,0x56,0x72,0x4D,0x86,0x00,0xD5,0x45,0x17,0x67,\r
+0x95,0x1E,0x64,0x7A,0xDE,0xFD,0x22,0xBB,0x06,0xDE,0xC2,0x1A,0xCC,0x6A,0x2B,0x40,\r
+0xA9,0x9D,0xCE,0xE3,0x60,0x6E,0x87,0x85,0x96,0xF9,0x02,0xF0,0x57,0xCA,0xA7,0x6D,\r
+0x8C,0x8F,0xFD,0xF0,0x93,0x3D,0xD8,0x3B,0x20,0xB6,0xD7,0x84,0x07,0x6D,0x7A,0x2D,\r
+0x0E,0xFF,0x08,0x3A,0x73,0x0F,0x53,0x3E,0xD9,0x6C,0xBF,0x63,0x94,0xD3,0xDF,0x13,\r
+0x72,0xDB,0x7F,0xF3,0xA9,0xFC,0x86,0x54,0x5B,0xDC,0xB5,0xEC,0x73,0x77,0xE9,0x69,\r
+0x65,0x78,0x18,0xDF,0x75,0xB6,0xE5,0xCD,0x5C,0x0C,0x80,0x80,0x6C,0x43,0xA1,0x94,\r
+0xC8,0x95,0x6E,0x84,0x02,0xB7,0x41,0x22,0x69,0x57,0xB0,0x0C,0xE9,0xA0,0xC1,0xAB,\r
+0x37,0x9C,0x29,0x91,0x1F,0x08,0x83,0x0B,0x7B,0xC0,0x7A,0x69,0x4C,0xC6,0xBD,0x5B,\r
+0x33,0x21,0x67,0xB5,0x41,0xA9,0xAD,0x30,0x53,0xF5,0xA6,0xF2,0x9A,0xD6,0x82,0xDA,\r
+0x1D,0xE1,0x21,0x32,0xDA,0x81,0x98,0xEC,0x0A,0xA5,0x1A,0x3C,0x10,0x47,0x1B,0xC3,\r
+0x21,0x62,0x8B,0xAB,0xD4,0x5F,0x8E,0x7E,0x00,0xAA,0x18,0x01,0xEC,0xEF,0x37,0x8F,\r
+0x26,0xBF,0x0F,0x93,0xAD,0x80,0x3C,0x03,0xA8,0x09,0xDF,0x36,0x52,0x85,0x51,0x49,\r
+0x55,0xF4,0x43,0xEA,0x71,0xCA,0x5F,0x9A,0x7F,0x92,0xB1,0x51,0xFE,0x8A,0xA0,0x45,\r
+0x79,0x09,0x0A,0x67,0xB2,0xFA,0xF2,0x8E,0x8F,0xC5,0x25,0xDF,0x56,0xBD,0x03,0x82,\r
+0x19,0x5C,0x6F,0x16,0x8D,0x35,0xF1,0x28,0xAC,0x5B,0x14,0x0E,0xC7,0x20,0x80,0xAD,\r
+0x20,0x3F,0x4E,0xBD,0x55,0x03,0x28,0xE6,0x14,0x49,0x08,0x7F,0x64,0x5D,0x88,0x87,\r
+0x58,0xA6,0x77,0x50,0x40,0xDB,0x4A,0xAE,0xCD,0x8F,0xAF,0x1D,0xB9,0x07,0x1C,0xEB,\r
+0x61,0xC5,0x56,0xFB,0x6F,0xC2,0x76,0x89,0xAE,0x7D,0x05,0x2D,0xD7,0x66,0x31,0x76,\r
+0xFD,0xF9,0xBE,0x83,0xE2,0x85,0xCA,0x27,0xE2,0x6A,0x46,0xEA,0x59,0xCF,0xFA,0xA4,\r
+0xA5,0x92,0x3F,0x4F,0x6C,0x75,0x9D,0xB3,0x49,0x4B,0x7F,0x89,0x5D,0xF7,0xA8,0x6F,\r
+0xB8,0xBE,0xE8,0xE1,0x56,0xB4,0xC3,0xDC,0x4B,0x6D,0x6E,0xAA,0x60,0x65,0xDA,0x4C,\r
+0xD8,0xEB,0x8D,0x90,0x2E,0x19,0x96,0x3F,0xF8,0xD4,0x9F,0x91,0x2E,0x81,0xEB,0x1E,\r
+0x93,0x9E,0x25,0x54,0x7D,0xD1,0x45,0xAC,0x95,0x7B,0xFC,0xA4,0xFF,0xFD,0x04,0xAA,\r
+0xFE,0x99,0x74,0x9F,0xD9,0x36,0x73,0xD6,0x61,0x7E,0xA3,0x12,0xF5,0xC0,0x0B,0xA8,\r
+0x78,0x54,0xCF,0x71,0xE0,0x40,0xC6,0x83,0x70,0x6B,0x97,0x23,0xBB,0x24,0x3A,0xFA,\r
+0x34,0xFC,0xE3,0x8D,0x3E,0xCF,0xA9,0xBE,0x3B,0xAC,0xE1,0x88,0xC8,0x52,0x79,0x8B,\r
+0x9B,0x2C,0x9A,0xDC,0x22,0x02,0x8C,0x09,0x3C,0x7C,0xD4,0xE4,0x9E,0xEE,0xD0,0x11,\r
+0xCB,0xF5,0xA4,0x98,0x68,0x09,0x27,0xE4,0x62,0xFC,0x5D,0x46,0x5E,0xA3,0x2A,0x91,\r
+0xBA,0x83,0xE7,0xEB,0x42,0x1E,0x46,0x0A,0x18,0x32,0xD0,0x59,0xC5,0x03,0xA6,0xBC,\r
+0x24,0x82,0x00,0x99,0x29,0xD2,0xC7,0x52,0xED,0x93,0x60,0x98,0xC3,0x18,0xD2,0x66,\r
+0x50,0x14,0xC8,0xD8,0xE7,0x8B,0x97,0xEE,0xB2,0xB7,0x06,0x4D,0xA4,0x10,0x72,0x07,\r
+0x44,0xD7,0x65,0xE8,0x5A,0xAF,0xD9,0xEA,0x88,0x15,0x10,0xB3,0xA5,0x67,0xD6,0xE8,\r
+0xA0,0x72,0xB4,0x7D,0xAB,0x39,0x8A,0xF0,0x12,0x3D,0xD2,0x64,0x58,0xB8,0x5E,0x4B,\r
+0x75,0x06,0xFB,0xCB,0x44,0xA7,0xF0,0xF9,0x0E,0xF7,0xD1,0x04,0x17,0x2B,0xCB,0xF6,\r
+0xE0,0xD5,0x69,0x2D,0x4F,0x77,0xBB,0xA2,0xE5,0xBA,0x73,0x86,0x31,0xB5,0xA3,0xE3,\r
+0xF2,0x96,0x85,0x33,0x27,0x0C,0xD1,0xC0,0x2A,0xB9,0xD5,0xB9,0x42,0xC3,0xE0,0x92,\r
+0x6A,0x17,0x23,0x6F,0xB4,0x43,0x44,0x7D,0x22,0x90,0xC6,0xA7,0xAA,0x15,0x2F,0xCE,\r
+0xF5,0x4B,0x01,0x0B,0x28,0xA0,0x20,0xCC,0x1D,0xC4,0xF4,0x16,0x87,0xC1,0xEC,0x36,\r
+0x5F,0x7B,0xF3,0x68,0xAE,0x37,0xD7,0x39,0xA1,0x84,0x23,0x5F,0xBF,0x1C,0x68,0x31,\r
+0x88,0x32,0xB3,0xD4,0xC2,0x30,0x07,0x0C,0x6B,0x71,0xA1,0x2F,0x82,0x8E,0x1A,0x12,\r
+0x01,0x90,0x33,0x8A,0xB1,0x4D,0x19,0xB4,0x4E,0x9B,0x4A,0xE5,0x48,0xFE,0xEF,0x90,\r
+0xD9,0xB6,0x48,0x86,0xE6,0xF9,0x70,0x70,0x76,0x1F,0x4D,0x38,0x05,0x4E,0x5C,0x3C,\r
+0x5A,0x9B,0x78,0x5A,0x48,0xBC,0xEA,0xCF,0x3E,0x5A,0xC5,0xC7,0x2C,0xA2,0xCD,0x0F,\r
+0x3A,0xCE,0x1D,0x2B,0xFB,0x46,0xB2,0x59,0xAD,0xFF,0xFB,0x79,0xE4,0xF1,0x1E,0x9C,\r
+0x32,0x7C,0xA2,0xA3,0xBA,0x9D,0x52,0xEF,0x0D,0x75,0x2F,0x50,0x1C,0x61,0x60,0x1B,\r
+0x2A,0xB0,0xFE,0x3F,0xDD,0x4A,0xC9,0x81,0xC0,0x50,0x98,0x4C,0x9C,0xCD,0xF6,0x00,\r
+0x7B,0x34,0x05,0x6D,0x19,0xB1,0x35,0xF8,0x24,0xE4,0x1C,0xBC,0xC1,0x3B,0xF4,0x77,\r
+0xC4,0x9A,0x9F,0x28,0x4A,0x79,0xE6,0x6B,0x78,0x42,0x84,0x3D,0x2F,0xF6,0x4F,0xF1,\r
+0x0D,0x9F,0xC2,0x26,0xD2,0xE6,0x38,0x8D,0x7E,0x36,0x5E,0x26,0xD0,0x0A,0xE1,0x43,\r
+0xF3,0xCB,0x40,0x25,0x8C,0x47,0x16,0xB6,0x21,0x12,0x38,0xF3,0x04,0x39,0xF8,0xD3,\r
+0xC1,0x7A,0x14,0x1A,0x33,0xA6,0x54,0x16,0x41,0x62,0x6C,0x97,0xF4,0xB7,0xAF,0x47,\r
+0xBC,0x99,0x44,0x9C,0x02,0xB4,0x71,0x60,0x13,0x2B,0x81,0x47,0x1C,0x35,0xD2,0xA7,\r
+0xC6,0x3D,0x72,0x7B,0x8D,0x36,0xC1,0x6A,0xE0,0xFE,0xEB,0x9D,0xD5,0x11,0xA5,0xDB,\r
+0x7E,0x4E,0x6C,0x06,0xE2,0x86,0xFA,0x65,0x58,0xEC,0xF7,0xEC,0x6B,0x7B,0xC3,0x1D,\r
+0x41,0xAD,0x0C,0x83,0x6E,0xB3,0xA1,0x55,0x59,0x48,0x18,0x9B,0x30,0x96,0xB5,0xB0,\r
+0x0F,0x38,0x2F,0x75,0x1C,0xBC,0x58,0x73,0x46,0x00,0xE5,0xAF,0x5A,0xCF,0xCA,0xE6,\r
+0x8E,0x28,0x10,0xA3,0x87,0x94,0x6D,0xAF,0xE7,0x2E,0xDE,0xF1,0x7E,0x72,0x84,0xE2,\r
+0x5A,0x01,0x9A,0x03,0xEF,0xEF,0x07,0xCD,0xB0,0x23,0xAB,0x3A,0x44,0x8C,0x26,0xF4,\r
+0x16,0xA9,0xB6,0xFF,0xD2,0xE5,0x08,0xCF,0x6E,0x35,0x39,0x34,0xDD,0x0F,0x8C,0xC8,\r
+0x90,0x64,0x0D,0x11,0xBF,0x90,0x3F,0x64,0x25,0xF2,0x4F,0x9F,0x05,0x1A,0xEE,0x80,\r
+0x9C,0x6B,0xFC,0xBD,0xD8,0x47,0xA4,0x0A,0x6F,0x91,0xD6,0x43,0x7C,0x51,0xA2,0xF3,\r
+0x78,0xCE,0x2D,0x28,0xE0,0x43,0xF6,0xC1,0xDA,0x5C,0xFD,0x63,0xF9,0xB2,0xC2,0xCC,\r
+0x57,0x53,0xAE,0xB9,0x31,0x60,0x68,0xF0,0x15,0x5F,0x5B,0x5C,0x88,0xE7,0xA7,0xAC,\r
+0x3E,0xE9,0xB1,0x56,0xF3,0x22,0x22,0x7A,0x34,0xE7,0x7B,0xAE,0xBF,0x48,0xDA,0x8D,\r
+0x52,0xB3,0x25,0x8B,0x91,0xFB,0xE4,0xDD,0xEC,0x85,0x33,0xBB,0x52,0xD1,0xE3,0xF5,\r
+0x71,0x21,0x57,0xB6,0x04,0x0D,0xC7,0x93,0x6A,0x67,0xF2,0x0C,0x6C,0x17,0x13,0x28,\r
+0xA3,0x88,0x9C,0x38,0xC3,0x41,0xD0,0xD0,0x2D,0xDB,0x5C,0x81,0x14,0x2B,0xFB,0xB4,\r
+0x37,0x06,0xCB,0xC8,0xD9,0x35,0x43,0x94,0xD7,0x83,0xCA,0x32,0xAB,0x36,0x39,0x9D,\r
+0x86,0x9A,0xAF,0x2B,0xEB,0x93,0xBD,0x9A,0xFC,0x34,0xE8,0xFD,0x9B,0xF5,0x94,0x89,\r
+0xF9,0xDE,0x12,0xFE,0x69,0x78,0xF0,0x38,0x0F,0xE1,0x82,0x27,0xEE,0x98,0xA3,0x22,\r
+0xD1,0x9E,0x15,0x57,0xDF,0x8C,0xF5,0x67,0x7D,0x06,0x1C,0x26,0x5F,0x80,0x3C,0xC2,\r
+0x5F,0xE1,0x11,0x31,0xCB,0x26,0x70,0xB1,0x74,0x8B,0xE0,0x4F,0x61,0x46,0xCC,0x1F,\r
+0x32,0xE6,0x40,0xFA,0xB0,0x3C,0xCE,0x68,0x85,0x78,0x9B,0xB6,0x55,0xBD,0x33,0xC0,\r
+0x12,0x14,0xF8,0xDB,0xE3,0xF4,0x1D,0xFB,0x5C,0xBE,0x3C,0xD4,0x01,0x22,0xBC,0x4B,\r
+0x4C,0xFF,0x38,0x39,0x03,0xC6,0x96,0xFE,0x66,0x1C,0x2A,0x2A,0x32,0xB5,0x93,0xA1,\r
+0xB6,0x16,0xF4,0x1E,0x85,0x51,0x61,0x0B,0x63,0xEA,0x0E,0x65,0x89,0x90,0x03,0x43,\r
+0xA9,0x07,0x2C,0xBA,0xB9,0x29,0x89,0x97,0x4D,0xAB,0x08,0xE5,0x08,0x4B,0x31,0xB7,\r
+0x72,0x41,0x9D,0xAA,0x55,0x00,0x18,0xA4,0xCC,0x99,0xFC,0x3E,0x1D,0x42,0x76,0x48,\r
+0x30,0xDB,0x4F,0xF0,0x3F,0xBE,0x7E,0x62,0x8A,0x81,0xBD,0xC4,0x18,0x0D,0x80,0x6C,\r
+0x95,0x84,0x86,0x23,0xF4,0xE9,0x73,0x17,0x12,0x8F,0x6E,0x30,0x95,0xF0,0xC9,0x40,\r
+0xB2,0xAB,0xBA,0x3A,0xEE,0x9D,0xE0,0x53,0x19,0x24,0x83,0x7A,0x21,0xA7,0xA0,0x84,\r
+0xF8,0x83,0xD7,0xE8,0x6A,0xCF,0x1B,0x02,0xD2,0x75,0xEE,0x7D,0x1F,0x61,0x50,0x59,\r
+0xB8,0x24,0x0A,0xB8,0x1E,0x79,0x54,0xD7,0x81,0x2A,0x50,0x8E,0x0C,0x73,0x63,0x7C,\r
+0x1B,0xFB,0x82,0x45,0x49,0xCD,0x3D,0x13,0xAC,0xE9,0xA8,0x5A,0x80,0xF9,0x8E,0xBF,\r
+0x47,0x2D,0x4D,0xAD,0x57,0xC5,0x14,0x00,0xE3,0x7C,0x15,0xC9,0xDC,0x78,0x28,0x27,\r
+0xE4,0xF2,0xC5,0x50,0xB1,0x4E,0x29,0xF6,0xD8,0x7A,0xEC,0x40,0x87,0x95,0x5E,0x8A,\r
+0xE3,0x2F,0x41,0x68,0xF8,0xF2,0x69,0x21,0x4F,0x8D,0x19,0xC6,0xE4,0xA5,0xAC,0x20,\r
+0x45,0x10,0x42,0xA7,0x0B,0xA1,0x36,0x9F,0xA2,0xB4,0x61,0x5F,0x65,0x7E,0x9E,0xD4,\r
+0xC7,0x60,0xB7,0x6D,0xC1,0x84,0xDC,0x74,0xDF,0xAA,0xD9,0x2C,0x3B,0xDC,0x1E,0x5D,\r
+0xDA,0x4C,0x60,0xC3,0x29,0xD1,0xF7,0x10,0x53,0x47,0x1A,0xA6,0xB5,0x75,0xD5,0x8F,\r
+0xE9,0xA0,0xF1,0xEA,0xD6,0x99,0xB2,0x98,0x16,0xDD,0xA5,0x08,0x69,0x58,0xE5,0x0C,\r
+0xCE,0x8F,0xCD,0xF3,0xBE,0xE2,0xD8,0xFA,0x72,0xFF,0x3A,0x54,0x4C,0x92,0x0F,0xE7,\r
+0x49,0x1F,0xB3,0x0B,0x97,0x42,0x52,0x2E,0xA9,0x1F,0x8C,0x15,0xC4,0x20,0xB0,0xEF,\r
+0xA2,0xD5,0x59,0x2E,0x52,0xCB,0x49,0xC9,0x5E,0x98,0x2D,0xF7,0x82,0xDA,0xA8,0xAE,\r
+0xD5,0x23,0x5B,0x73,0xA2,0x2F,0xFD,0x4D,0xA5,0x64,0x54,0x33,0xD0,0x5E,0x53,0xFF,\r
+0x96,0xE4,0x4C,0x3F,0xC8,0x91,0x9B,0x8B,0x09,0x95,0x58,0x3C,0xC9,0x71,0x6F,0xD8,\r
+0x24,0x18,0xE2,0xC0,0xD3,0x97,0xEF,0x51,0x96,0x4B,0xBE,0xA4,0xC7,0x74,0x32,0x11,\r
+0x92,0x59,0x02,0x1B,0x79,0xAE,0xCF,0xB9,0x49,0xF9,0xC3,0xDD,0xF5,0x94,0xB9,0x14,\r
+0x06,0xD7,0x55,0xEB,0x1D,0xCE,0xBF,0xED,0xA8,0xBB,0x63,0x62,0xCA,0x25,0xED,0x26,\r
+0x99,0x8B,0x77,0x8F,0x44,0xA4,0xC0,0xBB,0x5B,0x6E,0x09,0xB8,0x0E,0x50,0x45,0x6D,\r
+0xBA,0x19,0x05,0xB2,0x67,0xA6,0xE6,0xAA,0x9A,0x30,0x66,0x82,0xA0,0x7C,0x92,0x70,\r
+0x7F,0x13,0xA9,0x10,0x4A,0x7A,0xD6,0x29,0x3E,0xE8,0x79,0x93,0xBB,0x70,0x88,0x46,\r
+0xCB,0x6F,0x46,0xC1,0x7F,0x17,0x79,0x4A,0xF6,0x3B,0xEA,0xC0,0x7F,0x05,0x20,0x0D,\r
+0x2F,0xCA,0x97,0x54,0xCD,0x9F,0xC6,0x42,0xAF,0x6B,0x56,0x0E,0x9E,0xBA,0x62,0xAD,\r
+0x7D,0x2E,0xA6,0x1A,0xFC,0x8E,0xD3,0x76,0xD9,0xDE,0x03,0x37,0x70,0x77,0xD9,0x2B,\r
+0xC4,0x00,0x7D,0x71,0x0A,0xD3,0xD1,0x01,0xED,0x21,0xDC,0xCC,0x33,0xC2,0x37,0x4E,\r
+0x5E,0xBC,0xD4,0x27,0x66,0xD4,0x01,0x34,0x20,0x04,0x6B,0xD0,0x62,0x12,0x4E,0xE1,\r
+0x69,0xED,0x0B,0x2A,0xB7,0xF7,0x9F,0x05,0xF1,0xEB,0xDF,0xAC,0x04,0x6D,0x4A,0x6F,\r
+0x44,0x4D,0x87,0xB1,0xA8,0x8D,0x51,0x88,0xE6,0x8A,0x31,0x86,0x77,0x1B,0x09,0x1E,\r
+0xD2,0xFE,0xDF,0x4B,0xA3,0x5D,0x1A,0xD3,0x64,0x3A,0x3B,0x09,0x37,0xFA,0x65,0x85,\r
+0xB3,0xF6,0x7F,0x2C,0x76,0x02,0x3E,0xB5,0x3D,0x6A,0x87,0xC7,0x76,0x6C,0xAD,0xF1,\r
+0x9E,0x56,0xF3,0xB7,0x8A,0xFD,0x90,0x07,0xD6,0x27,0x25,0x45,0x92,0x9C,0x19,0x75,\r
+0x3D,0x89,0x7B,0x4A,0x5D,0x67,0xB8,0xC5,0x40,0x74,0x3F,0xB4,0x07,0x39,0xC8,0x91,\r
+0x36,0x5B,0x0E,0xDE,0x68,0x0A,0x17,0xA6,0x98,0x16,0x77,0xA1,0xC2,0x3B,0xC4,0x35,\r
+0x23,0xC5,0x66,0xF8,0xEA,0xE1,0x5A,0x04,0x48,0x5D,0x2C,0xAA,0x24,0xE8,0x56,0xA0,\r
+0x49,0xAE,0x45,0x31,0x8A,0x57,0x1A,0x9C,0x39,0xCD,0xFB,0x11,0x2B,0xFD,0xD3,0xB8,\r
+0xCF,0x59,0xD2,0xC4,0x78,0xFD,0x79,0xAC,0x3E,0xF5,0x26,0x95,0xFC,0xBD,0x6F,0xF1,\r
+0x53,0x3D,0x31,0x75,0x5A,0x62,0x1D,0xF0,0xC6,0xD8,0xF2,0x56,0xCE,0xE9,0x50,0x40,\r
+0xC0,0xA8,0x7E,0xC8,0xFC,0xFA,0x41,0x71,0x9A,0x30,0x24,0x99,0xDD,0xC0,0x58,0x5E,\r
+0xAF,0x93,0xCE,0xC7,0x01,0x52,0x28,0x7C,0x07,0x5E,0x45,0xB4,0xCD,0x23,0x4C,0x20,\r
+0x01,0x09,0x8B,0x78,0x31,0xD1,0xF4,0x51,0x34,0x77,0xA9,0x25,0x45,0x66,0x04,0xDF,\r
+0x56,0x60,0x3F,0xBC,0x4A,0x09,0xF8,0x77,0x98,0x3A,0x19,0x96,0x42,0xE2,0x3C,0x02,\r
+0x25,0x7E,0x42,0x04,0xCA,0x80,0xA6,0xD5,0x1A,0xF0,0x69,0x63,0xA9,0x08,0x19,0xC8,\r
+0xFE,0x4C,0xC3,0xF0,0x7C,0x73,0x1F,0xD3,0x7F,0xB3,0xDC,0x8D,0x14,0x9D,0x56,0x5B,\r
+0x3A,0xB0,0x38,0x89,0x87,0x22,0x4D,0x57,0x08,0xEE,0x2A,0x8F,0x90,0x29,0xB2,0xAB,\r
+0x5D,0x2B,0xEF,0xE7,0xDB,0x3A,0xD1,0x9B,0x13,0x6E,0x86,0x19,0x27,0x0C,0x7F,0xB7,\r
+0x1C,0xCB,0x34,0x51,0x64,0x32,0x59,0x29,0x94,0x96,0x16,0x67,0xF3,0x86,0xDF,0x9E,\r
+0xD4,0x2D,0xD4,0x1E,0x6D,0xC9,0x68,0x9D,0x4F,0x86,0x50,0xD6,0x64,0x1B,0x33,0x70,\r
+0x6B,0x6F,0x35,0xBE,0x39,0xFB,0x57,0x2C,0xDB,0x76,0xDE,0x81,0x30,0x6B,0x53,0x14,\r
+0x35,0x41,0x94,0x85,0xBB,0x05,0x54,0x78,0x4B,0xA2,0xED,0x98,0x56,0x4F,0x0C,0xC1,\r
+0xAD,0x9F,0x0B,0x63,0xE6,0xCC,0x5A,0x7D,0xF9,0x5D,0x11,0x36,0x8C,0x3B,0x0A,0xDA,\r
+0x9A,0x3C,0xA3,0xA4,0x5C,0x9B,0x26,0x79,0xA2,0x8D,0x1A,0x7D,0xF4,0x02,0xE7,0x43,\r
+0xC9,0xEF,0x6B,0x37,0xF4,0xD0,0xE2,0x0C,0x16,0x5C,0x66,0x92,0x97,0xAD,0x8A,0x76,\r
+0xB1,0xBA,0xC6,0xD4,0x91,0xB0,0x93,0x59,0x44,0x12,0x82,0xA3,0x66,0x14,0x39,0x4D,\r
+0x8B,0xE4,0x07,0xBB,0x46,0xAD,0x3D,0x75,0x67,0x2F,0x10,0xD1,0x77,0x32,0x3B,0x6E,\r
+0xC5,0xF5,0x70,0x01,0xE3,0x93,0xAE,0xCB,0x19,0xEC,0x09,0xA9,0xDC,0x05,0x4E,0x03,\r
+0xD9,0xD0,0xBD,0xB6,0x9A,0x3C,0xFF,0x1B,0x83,0xBA,0xB5,0x00,0xE9,0xD5,0x49,0x6F,\r
+0x07,0xBF,0x32,0x8B,0xB6,0x70,0x03,0xB3,0xF2,0xC9,0xC3,0x43,0x9F,0x12,0x02,0xC4,\r
+0x3E,0x0A,0x44,0xDE,0x0D,0xF6,0xED,0x7E,0xA0,0x87,0x27,0x72,0xAB,0x07,0x13,0xF5,\r
+0x00,0xEE,0xF9,0xE6,0xB1,0x58,0xAA,0xF3,0x0F,0xD6,0xF7,0x0B,0x0E,0xCE,0xC0,0xAA,\r
+0xCE,0xBE,0xA0,0x5A,0x79,0x2C,0xEB,0x65,0x6E,0xB1,0xFF,0xAB,0x68,0xEA,0x9F,0x7F,\r
+0xA5,0x3F,0x6C,0x02,0x9E,0xB2,0x99,0x64,0xB4,0xB7,0xE4,0xDF,0xD8,0x4B,0x6A,0xBE,\r
+0x8F,0x5E,0x7B,0xEC,0xDD,0xC3,0xEA,0x12,0x99,0x2C,0x44,0x53,0x55,0x85,0x10,0xA1,\r
+0xA8,0xC2,0x05,0xAA,0x10,0xE8,0x5F,0x32,0xEB,0x43,0x52,0xDA,0x7B,0xC3,0x97,0x61,\r
+0xA3,0x89,0xD5,0xF1,0x82,0x7D,0xB9,0xE1,0xFE,0x65,0xCC,0xB2,0xD9,0x8E,0x7C,0xE3,\r
+0x4C,0xF3,0x4B,0xF8,0xCD,0xA8,0x0F,0x95,0x43,0x2A,0x5F,0x27,0xDA,0x44,0x60,0x83,\r
+0xBD,0xA0,0xDD,0xE2,0x1C,0x4C,0x9A,0x30,0xE0,0xD7,0x80,0xAF,0x18,0x6C,0xFA,0x54,\r
+0xE5,0x38,0xC5,0x2A,0x17,0xC0,0xF6,0x72,0xA3,0x9B,0x47,0xB8,0xB8,0x2E,0x1B,0xEB,\r
+0x92,0x9C,0xC4,0xC5,0x61,0x6D,0xAD,0x9F,0x9C,0x1E,0xA4,0xD8,0x88,0x75,0x2E,0x67,\r
+0x4E,0xFF,0x8E,0x5C,0x06,0x7A,0x81,0x3C,0x61,0x01,0x90,0x90,0xBD,0xA5,0x29,0x0B,\r
+0x94,0x2A,0x7D,0x36,0x71,0x06,0x48,0x18,0x1B,0xE6,0x34,0xA6,0xB7,0x15,0xAB,0x84,\r
+0x33,0xF7,0x2D,0x76,0xF2,0x29,0xD9,0x85,0x87,0x9E,0x08,0x4E,0x10,0xD3,0x72,0xE6,\r
+0x3D,0xE1,0xF3,0xE4,0x58,0x15,0x40,0x06,0xCB,0x62,0xA0,0x62,0x12,0xDC,0x78,0xDB,\r
+0xA6,0xD4,0xDB,0x38,0x1E,0x3B,0xC7,0xC6,0xD2,0xE8,0x31,0xFB,0xAE,0x8C,0x21,0x15,\r
+0xF8,0xFA,0x7A,0x03,0x50,0x3F,0xE3,0x7B,0x53,0x3E,0x21,0xC4,0x72,0xB9,0x09,0x8E,\r
+0x6A,0x88,0x47,0x20,0x16,0x11,0x64,0xBB,0xA5,0xB5,0xC7,0xF9,0x1C,0x22,0xDE,0xE9,\r
+0x55,0x8B,0x88,0x86,0x73,0x71,0x15,0xEE,0x8A,0x24,0x5A,0x7A,0x2D,0xBC,0xFD,0x38,\r
+0x96,0x26,0xB8,0x92,0x3A,0x5D,0x98,0x13,0x4D,0x8C,0x6D,0xD9,0xB9,0xEB,0x0D,0xB6,\r
+0x4A,0x45,0xF2,0x0B,0x76,0x2E,0xE1,0x58,0x41,0x20,0x62,0x28,0xD7,0x70,0xDA,0xD1,\r
+0x05,0xB3,0xF7,0x2F,0xC7,0xF5,0xF1,0x1E,0xAC,0x2B,0x28,0x83,0x4E,0x13,0x90,0x0D,\r
+0x88,0x0F,0xB0,0x81,0x2F,0x69,0x89,0x22,0x7E,0xA5,0x81,0x48,0x0D,0x04,0xDC,0xCA,\r
+0xA7,0x33,0xA9,0xA6,0x0E,0x50,0x22,0x41,0xE3,0xCB,0xE0,0x65,0xA7,0xF6,0xBF,0xFA,\r
+0xB2,0x51,0x71,0xEE,0x37,0x28,0xCF,0xD8,0x8F,0x16,0xBA,0xF1,0x00,0x30,0x66,0x98,\r
+0x2E,0x35,0x92,0x5F,0x77,0xFF,0x73,0x91,0x24,0x63,0xD7,0xC6,0xE5,0x24,0xE5,0x60,\r
+0x2F,0xD2,0xE0,0xC1,0xE8,0x1F,0xC2,0x89,0x0C,0xCA,0x97,0xC1,0xBA,0x21,0x11,0xD6,\r
+0x3B,0x57,0x4A,0x17,0xED,0x40,0x36,0x3F,0xEA,0x55,0x0F,0x1F,0x49,0x97,0xA8,0xD0,\r
+0xF4,0xE0,0x61,0x35,0x40,0x54,0x06,0xFC,0x5B,0xB6,0x93,0x7B,0x47,0x69,0x0E,0xE2,\r
+0xDD,0x6A,0xC1,0xE1,0x68,0x96,0x9C,0x2B,0xCF,0x46,0x1D,0x2C,0x26,0xC9,0x69,0xEA,\r
+0x23,0xC8,0xFB,0xF7,0x47,0x7C,0xAF,0xBC,0x91,0xA4,0xF6,0xEC,0x23,0x42,0x5B,0x0A,\r
+0x46,0x5F,0xE9,0x3D,0x18,0xC2,0xFC,0x4F,0x82,0xAC,0xE8,0xC5,0x6C,0xA4,0xBB,0xC2,\r
+0xBF,0xAC,0x18,0x46,0xE7,0x1D,0xC8,0xB4,0xEF,0x67,0xEF,0x94,0xB5,0x1A,0xA1,0xB9,\r
+0x37,0x4D,0x51,0x21,0xA2,0x95,0x80,0x4B,0xAF,0x37,0x48,0x49,0x79,0xCC,0x9D,0x5C,\r
+0xCD,0x55,0x17,0x60,0x54,0xB1,0x85,0x04,0xED,0x6D,0xD2,0x9B,0xBF,0xAA,0x23,0x36,\r
+0x6C,0x3E,0xFE,0xD3,0xD7,0x9E,0x14,0x99,0x6B,0x83,0x1F,0x20,0xD6,0xB5,0xCC,0x8C,\r
+0xEC,0x7F,0xD0,0xD5,0xE5,0x6A,0x95,0x42,0x74,0x27,0x0E,0xF8,0x4A,0x5D,0xB4,0xB0,\r
+0x74,0xA1,0x4F,0x33,0x84,0x84,0x82,0x68,0x25,0x75,0x8A,0x03,0xDF,0xCF,0x52,0x63,\r
+0x87,0xFE,0x1C,0x8D,0xB7,0xA1,0x91,0x7A,0x65,0x25,0x2D,0xDE,0x0A,0x80,0xE4,0x17,\r
+0x39,0x5B,0x8F,0xB3,0x1D,0x9D,0x08,0xF9,0x48,0xBE,0x8D,0x52,0xCA,0xA7,0x74,0xFD,\r
+0x73,0xF0,0x84,0x5E,0x74,0x59,0xBC,0xAE,0x6F,0xA7,0xA2,0x6E,0x8E,0x34,0x00,0xE7,\r
+0x72,0x48,0xA4,0xC3,0x8A,0xEB,0x73,0xE8,0x0F,0x4D,0x55,0xB2,0x2E,0x8B,0x2E,0xFE,\r
+0x4A,0x4F,0x79,0x47,0x5D,0xAB,0x3A,0x54,0xF8,0xCB,0xC2,0x47,0xDC,0x21,0x1E,0x9D,\r
+0xB7,0xEC,0xA6,0xCF,0xAB,0x96,0xDC,0xDF,0xFE,0x42,0xF9,0xBE,0xAA,0x8C,0xF3,0xC6,\r
+0x5F,0xB0,0x70,0x00,0xB8,0xBF,0xC2,0xD7,0x6B,0xD1,0xB6,0x03,0x0C,0x14,0x72,0x9A,\r
+0xF0,0x42,0x2B,0x73,0x33,0x30,0x5D,0x83,0x5F,0x83,0x0C,0x0E,0x67,0xA7,0xD3,0x73,\r
+0xD9,0x71,0xC7,0xE2,0xBB,0x75,0xA2,0xCB,0xC5,0x2D,0x49,0xB1,0x57,0x24,0xFE,0xAF,\r
+0x77,0x6C,0xEB,0x35,0xDF,0x5E,0x4A,0x9E,0x28,0xA7,0xC5,0x72,0x9C,0xF6,0x57,0x21,\r
+0xBD,0xEE,0x9B,0xC0,0x34,0xB4,0x80,0xBB,0x36,0xD4,0xB8,0xCA,0x1C,0x7F,0xF5,0x7F,\r
+0x69,0x7E,0xA8,0xD9,0xE6,0x7F,0x29,0x35,0xE6,0xB8,0xBF,0xFF,0xD1,0x54,0xD5,0xCA,\r
+0x34,0x09,0x5E,0xDB,0x62,0xCB,0xD9,0xD1,0x1A,0x7C,0x44,0x86,0x2A,0x05,0x51,0x98,\r
+0x11,0xE2,0x94,0x31,0x85,0xD0,0x1C,0x58,0x9D,0x9E,0xB3,0x27,0x32,0x44,0xAB,0xDE,\r
+0xE9,0x65,0x04,0x4F,0x51,0x5A,0x35,0xF8,0x7D,0xDF,0x68,0x91,0x8D,0x4C,0x19,0x56,\r
+0xF1,0xAD,0x5C,0xD7,0x46,0x3D,0x96,0xD4,0x39,0xE9,0xB2,0xC8,0x6F,0x8D,0xAE,0xD0,\r
+0x01,0x39,0xD2,0x80,0x12,0x4D,0xF2,0xB4,0x7B,0x56,0x53,0x68,0x3B,0xBF,0x1F,0xEF,\r
+0xDA,0x8F,0x93,0x60,0xFA,0x6D,0x58,0x8D,0xC9,0x2F,0x8C,0x15,0xB0,0xBA,0xFF,0xDD,\r
+0x25,0x3D,0x6F,0xCE,0x20,0x19,0x43,0x8B,0x17,0xB7,0x13,0xF3,0xED,0x73,0xFA,0xD3,\r
+0xDB,0x60,0xE4,0xC4,0xE1,0xFB,0xF4,0x0D,0xB9,0x4B,0xEC,0x41,0xA2,0xA6,0x8E,0x65,\r
+0x0A,0xD4,0x98,0x2B,0x82,0x54,0xC1,0x60,0x6A,0x18,0x24,0xD2,0x0A,0xED,0xFB,0xA1,\r
+0xA8,0x11,0x92,0x87,0x01,0x64,0xEC,0xBC,0xB2,0x09,0x80,0xCD,0x10,0xDB,0xF7,0xBA,\r
+0x95,0x32,0x00,0xF5,0x10,0x42,0xCF,0xBE,0xEC,0x33,0x41,0xA2,0xC7,0xC6,0xDB,0x14,\r
+0x3D,0xF5,0x37,0x56,0x9F,0x83,0xED,0xCE,0x86,0x5B,0x3A,0xC0,0xCC,0x4A,0x99,0x78,\r
+0x6B,0x6F,0x8B,0xFF,0xAA,0x53,0x81,0xC9,0xA3,0x47,0xF7,0x77,0xB5,0xE5,0x49,0x29,\r
+0x00,0xD6,0xA5,0x24,0xDD,0x51,0x77,0x94,0x5C,0xBC,0xC3,0xA8,0x5B,0x80,0xFC,0x6A,\r
+0x4E,0x84,0x41,0x15,0xE9,0x44,0x46,0x85,0xE9,0x85,0xB5,0xFD,0xE0,0x06,0x31,0x84,\r
+0x36,0x18,0x7D,0xFD,0x1E,0xBC,0xFD,0x18,0xE8,0x4C,0x27,0x2C,0x2F,0x5A,0xE7,0x6C,\r
+0x51,0x79,0x75,0x5D,0x78,0x98,0x28,0x47,0xB8,0x82,0x7E,0x90,0xE7,0x2E,0x71,0x2D,\r
+0xAB,0xEF,0xC6,0x05,0x23,0xD3,0x23,0x97,0x08,0x0D,0xFC,0x9A,0x8B,0xB5,0x90,0x6D,\r
+0x30,0xC2,0x66,0x89,0xAE,0x1D,0x3C,0xED,0x69,0x27,0xEB,0x74,0xC8,0xC4,0xE6,0x1E,\r
+0xE2,0x88,0x4E,0xE4,0xAF,0xD8,0x61,0xFB,0xDF,0x21,0x52,0x87,0xD4,0x0B,0x63,0x3E,\r
+0xC4,0x9D,0xD0,0x8C,0x0D,0x95,0xE3,0x10,0x94,0x2A,0x82,0xDC,0x46,0x9E,0xB0,0xD8,\r
+0x50,0x96,0x02,0xF9,0x6E,0x3A,0xD6,0x7D,0xF6,0x3F,0x5A,0x94,0x4A,0x3A,0xB2,0x1D,\r
+0xAD,0x35,0xDD,0x71,0xAC,0x12,0x01,0xE7,0xA5,0xCE,0xCC,0x8E,0x9B,0xDE,0x17,0x88,\r
+0x99,0xEA,0x26,0x8E,0xFE,0x23,0xE5,0xA9,0xCA,0x10,0x43,0xB3,0x37,0x1B,0x1D,0x2A,\r
+0x1C,0xD5,0xC5,0xEE,0xCE,0x78,0x69,0x9C,0x6E,0x67,0x42,0x5C,0x41,0xB6,0xF0,0x71,\r
+0x61,0x6D,0xB6,0xF0,0xC1,0x43,0x06,0x2C,0x7C,0x16,0xFA,0x40,0x27,0x70,0x9A,0xCF,\r
+0x86,0x17,0x12,0xC6,0xCB,0xF3,0x89,0xAE,0xA9,0xCC,0x09,0x2A,0x50,0x0C,0xBE,0x06,\r
+0xE5,0xBD,0x22,0x34,0x64,0x8A,0x59,0xFF,0xB7,0xBF,0x74,0x92,0x0E,0x63,0x84,0xC7,\r
+0x19,0xF1,0x8A,0x18,0x66,0x85,0x64,0xF5,0xA1,0xB1,0xAA,0x00,0xA4,0x5F,0x07,0x5E,\r
+0xB9,0x25,0xA3,0x92,0x04,0xEF,0x0C,0x8E,0xAC,0x7A,0xFD,0x75,0x06,0x49,0xF9,0x64,\r
+0x6F,0xA4,0xB3,0xAD,0xD8,0xDA,0x97,0xA6,0x82,0x24,0x5C,0x4E,0x48,0x4D,0x44,0x40,\r
+0xA3,0xFC,0xD8,0x2C,0x5B,0xEA,0xBA,0x7A,0xDD,0xD7,0x0F,0xF0,0x25,0x07,0x6C,0x92,\r
+0x32,0xD3,0x45,0xAF,0x6A,0x74,0x6B,0x59,0xDE,0xE8,0xC0,0x56,0x40,0x67,0x39,0xE3,\r
+0xA7,0x37,0xE0,0x7E,0xA1,0x26,0x53,0x5D,0x13,0xC8,0x75,0x7D,0x20,0x58,0xDA,0x66,\r
+0x0B,0x3B,0xEF,0x8F,0xCF,0xBD,0x34,0x8A,0x70,0x14,0x3F,0xE4,0x6C,0x2B,0x91,0x1F,\r
+0x22,0x08,0x03,0x1E,0x7B,0x52,0x48,0x5B,0x59,0x0A,0x37,0xF7,0x79,0x1F,0xA0,0x0E,\r
+0xAC,0xDA,0xAA,0xD5,0x38,0x45,0x8F,0x17,0xE5,0x87,0x70,0x59,0x91,0x83,0x9C,0x76,\r
+0x91,0xF9,0x38,0xA7,0x76,0x66,0x1A,0xE1,0x07,0x30,0xF6,0x98,0x61,0x5E,0x5A,0x48,\r
+0x4C,0x95,0x62,0x33,0xD1,0xA0,0x78,0x38,0x65,0x25,0x2E,0xD0,0x58,0x26,0xC3,0xA5,\r
+0x4D,0x7A,0x15,0x97,0xCC,0x77,0x54,0x96,0x84,0xAD,0x67,0xB7,0xBE,0x69,0x0B,0x45,\r
+0xE4,0x52,0x55,0x90,0x93,0x72,0xE2,0x62,0x63,0xAC,0x15,0x29,0x21,0x89,0x13,0xF4,\r
+0x31,0x2D,0x11,0x2D,0x31,0x3F,0x60,0x89,0xB6,0x76,0xE6,0x43,0x16,0x22,0x7E,0x81,\r
+0xD2,0x9C,0x8D,0x49,0x3F,0xC1,0x52,0x2F,0x01,0xB9,0xCD,0x61,0xBB,0x36,0xBD,0xB1,\r
+0x23,0xE7,0x74,0xBA,0x55,0x14,0x88,0xDC,0x9E,0xA1,0x7C,0x81,0x11,0x0A,0x3E,0x28,\r
+0xC1,0xB9,0x9F,0x7A,0x50,0x9F,0x68,0xEE,0x3C,0x5F,0x46,0x97,0x3E,0xE0,0xA9,0x1B,\r
+0xE0,0x99,0x6D,0xC2,0xC3,0x4C,0x3B,0x26,0xFA,0x3D,0x9F,0x30,0xB1,0x6B,0x36,0x4F,\r
+0x2B,0xF4,0x6A,0x93,0x1A,0xF2,0x40,0x3C,0x09,0xC4,0x6E,0x4B,0x4E,0xB4,0xCD,0x7B,\r
+0xEA,0x9B,0x50,0xCD,0xC9,0xFC,0xB4,0xA4,0x03,0x4F,0x90,0x16,0x02,0xC7,0x86,0x02,\r
+0xB0,0xD9,0xCA,0x1F,0x0F,0x9A,0xDE,0x1A,0x1B,0xB5,0xD6,0x57,0xF4,0xE3,0xC9,0x07,\r
+0xA0,0x02,0x8C,0xAE,0x3C,0x0B,0x32,0x33,0x29,0x6E,0x57,0xA3,0xB3,0x1C,0xC0,0x12,\r
+0x04,0x1D,0x9D,0x76,0xA0,0xE3,0x0E,0x4B,0x68,0xEE,0x79,0xA5,0x81,0xE8,0x1B,0x93,\r
+0xA2,0x13,0xAF,0x88,0x7C,0xD6,0x95,0x63,0xA8,0x05,0x9B,0xFB,0xE1,0xD7,0xF8,0x16,\r
+0xF2,0x53,0x08,0x55,0xA9,0x99,0xE1,0xD5,0xF7,0xF6,0xC8,0x45,0xD2,0xF2,0xEA,0x05,\r
+0x20,0x19,0x20,0x38,0xF8,0x62,0x65,0x87,0xA6,0xF1,0x03,0x28,0x22,0x2F,0x2C,0x3B,\r
+0x39,0x3E,0x0F,0x04,0xBC,0xF1,0x7F,0xF3,0x0D,0xBB,0x08,0xC5,0x4B,0xEB,0x7B,0x8F,\r
+0x60,0x93,0xF1,0xD6,0x7A,0x77,0x42,0x0B,0x9A,0xEF,0x7D,0x21,0x6A,0xC5,0x6B,0xC9,\r
+0x95,0x59,0x73,0xA6,0x5F,0xBD,0xA9,0xE1,0xE9,0x57,0x63,0x5C,0xC8,0x9B,0xE2,0x49,\r
+0x26,0x14,0xDF,0x16,0x67,0x60,0xAE,0x65,0xBE,0x93,0x0A,0xE8,0xEE,0x97,0x3A,0x32,\r
+0xB7,0x3D,0xEC,0xFA,0x2F,0x9F,0x26,0x20,0x10,0x2C,0x90,0xAD,0xC3,0x4B,0xB9,0x02,\r
+0x9A,0x53,0x71,0x9B,0x3B,0xE1,0x36,0xC3,0x7F,0x23,0xAB,0x1D,0xCE,0x22,0x11,0xFF,\r
+0x55,0xBB,0x2D,0x4D,0x33,0xFF,0x25,0xEA,0xEC,0x9E,0x3E,0x52,0x4F,0x7E,0x89,0x59,\r
+0x96,0x96,0xD5,0x99,0x0C,0x4E,0x17,0xBE,0x70,0x2F,0x5A,0xB1,0x13,0x1A,0x16,0x7B,\r
+0x12,0xAE,0xD2,0x44,0xB0,0x07,0xC0,0xFE,0xF6,0xDA,0xAD,0x26,0x23,0x79,0xBC,0x89,\r
+0x35,0x3E,0x12,0xAE,0x69,0x65,0x67,0x38,0x12,0x88,0x9C,0x68,0xC2,0x39,0x27,0xE5,\r
+0x9B,0xC1,0xA0,0x52,0x6F,0x7E,0xBD,0x4C,0x8A,0x6E,0x42,0xF7,0xC7,0x37,0xEE,0xB8,\r
+0x82,0x15,0x30,0x61,0x30,0xAB,0xDB,0x68,0xD4,0x55,0x6C,0x56,0x93,0x34,0x10,0x3A,\r
+0xD5,0xE5,0xA4,0xEF,0x50,0xCF,0x8F,0x18,0x6B,0xF5,0x2E,0xB7,0x22,0x0B,0x22,0x6E,\r
+0x64,0xF5,0x7F,0xA9,0xBC,0x21,0x18,0x85,0xA3,0xBA,0xC8,0x57,0x96,0x3A,0xD9,0x67,\r
+0x1A,0x0D,0xF8,0x39,0x1C,0x08,0xCC,0x0F,0xE2,0x0C,0x28,0x8C,0x24,0xB2,0xD1,0xD8,\r
+0x8C,0x8D,0xE3,0x95,0xD1,0x14,0x7B,0x2A,0x85,0x62,0xB3,0x5B,0xE8,0x2E,0xC9,0x84,\r
+0x8E,0xD0,0x94,0x63,0x35,0xE4,0xFF,0x9E,0x41,0x1B,0x4F,0xA0,0x6C,0x7C,0x98,0x7F,\r
+0x71,0xE4,0x4B,0x98,0x70,0x4A,0x40,0x04,0x81,0x35,0x09,0x27,0xC1,0x8E,0x1D,0x0E,\r
+0x40,0xAA,0x19,0x7C,0x61,0x7B,0x74,0x11,0xB8,0x60,0xBC,0x51,0x0C,0x60,0x9B,0xB5,\r
+0x03,0xD9,0x68,0x0A,0x2A,0xD0,0x02,0xD6,0x66,0x5D,0xD3,0xDE,0xA4,0x9C,0xD7,0x99,\r
+0xAA,0x8F,0xF2,0xB6,0x2D,0xBC,0x37,0x06,0x7A,0xEA,0xF6,0x13,0x74,0xCD,0x78,0xE0,\r
+0xD2,0x4C,0x8C,0xAF,0x58,0xD1,0x9C,0x31,0x34,0x50,0xE7,0x64,0xCA,0x5E,0x46,0x45,\r
+0xA0,0x71,0xAF,0x3D,0x5A,0xF2,0x8D,0x17,0x0E,0x3F,0xB9,0xA5,0xE6,0xF0,0x5B,0x92,\r
+0x91,0x3F,0xFD,0xD9,0xE9,0xC9,0x7C,0xAE,0x76,0xDC,0xEC,0x08,0xB3,0x81,0x3B,0xF7,\r
+0x7E,0xEE,0x49,0xA5,0x84,0xFC,0x1F,0x01,0x25,0x4F,0x3F,0xC0,0xC6,0x45,0x70,0x5F,\r
+0xAC,0xB4,0x0B,0x3F,0x99,0xEB,0xF3,0x6F,0x02,0x09,0xA3,0xBE,0x8F,0xF9,0xA7,0x1F,\r
+0x24,0x49,0xA8,0xE0,0x03,0x3C,0x31,0x47,0xF3,0x13,0xF0,0x28,0x2A,0x6C,0x43,0xCE,\r
+0xB1,0x06,0x15,0x73,0x1F,0x5C,0x32,0x8D,0x1C,0x1A,0x8A,0xB6,0x5E,0xDA,0x96,0x81,\r
+0xD9,0x20,0x00,0xED,0xF4,0xDE,0x90,0xC0,0x17,0x41,0xC1,0x66,0x8D,0x3C,0x03,0x13,\r
+0x50,0x4F,0x72,0xFB,0x73,0x1E,0xBE,0x86,0x30,0x07,0x5D,0x18,0xAD,0x89,0x28,0xDE,\r
+0xDC,0xD4,0x5F,0x5B,0x09,0x01,0x33,0x48,0x1A,0xE9,0x3C,0x0F,0xDB,0xFA,0x59,0x9D,\r
+0xA8,0xD2,0x85,0x40,0xFC,0xC0,0x83,0xE9,0x71,0xB1,0xBD,0xC3,0xDA,0x88,0xC7,0x7A,\r
+0x08,0xB5,0xE4,0x48,0xA3,0x15,0xE5,0xCD,0xBF,0x0D,0xED,0x9A,0x4C,0xC9,0xB3,0xB2,\r
+0xC7,0x5D,0xB8,0x9E,0x6A,0x31,0x99,0xBA,0x47,0xE8,0xF9,0x19,0xC4,0x80,0xD4,0x53,\r
+0xF8,0x8B,0x39,0x8E,0x42,0xAA,0x45,0x8F,0x19,0xD3,0xD7,0xB8,0x79,0xA4,0xD0,0x1D,\r
+0x61,0x01,0x20,0x1F,0x1B,0x64,0xF9,0xDF,0x82,0x0F,0xE2,0x90,0xB9,0x23,0xFE,0x5B,\r
+0x4D,0xFD,0x6C,0xB7,0x11,0x59,0xFB,0xD0,0x8C,0x9D,0xF4,0x4E,0x3A,0xBA,0xC2,0xF1,\r
+0xA5,0x85,0xF0,0x8B,0xC8,0x3B,0x5C,0x16,0x2B,0xDD,0x29,0x1E,0xA7,0x2B,0xED,0x72,\r
+0x93,0x62,0x8A,0x2F,0x4A,0xB4,0x56,0xA6,0xF1,0xB7,0xFC,0xED,0x83,0xE2,0x91,0x05,\r
+0xDB,0x7D,0x77,0x1B,0x4D,0xD8,0x63,0x76,0x2D,0x2E,0x9F,0xA7,0x20,0xCE,0x86,0x62,\r
+0xBB,0xF8,0x48,0xF8,0x78,0x54,0x53,0x2D,0x5A,0xC1,0x3B,0xA6,0xCD,0x95,0x2B,0x14,\r
+0xF2,0x75,0x64,0x05,0x05,0x27,0xEB,0x33,0x0D,0x05,0x52,0x12,0x67,0xAC,0xC3,0x34,\r
+0x66,0xA8,0x08,0x5F,0xDC,0x45,0x4C,0xF5,0x18,0x4D,0x30,0xCA,0xFE,0x41,0xBB,0x0D,\r
+0x4B,0xC6,0x95,0x3E,0xBF,0x75,0xE6,0x07,0x37,0x6A,0x0C,0xD3,0x9D,0xEA,0x82,0x2C,\r
+0x80,0x48,0x47,0x97,0xF3,0xB2,0xA5,0x10,0xBA,0xC4,0xB0,0x94,0xA1,0x92,0x1E,0xC4,\r
+0x2B,0x43,0xAA,0xDD,0xB9,0x6E,0x3C,0x73,0xF5,0xE0,0x46,0x91,0xE7,0x82,0xC5,0x75,\r
+0xDA,0xEF,0xA6,0xD2,0x6E,0x09,0x52,0xE8,0x29,0x79,0x25,0xDB,0xAC,0xFB,0xB6,0x39,\r
+0x79,0x47,0x61,0xE5,0x9E,0x87,0xC6,0xBF,0xEA,0x6D,0x88,0xEB,0x51,0x76,0x9A,0x70,\r
+0xFA,0xD6,0x4E,0x78,0xBD,0x56,0xF7,0x21,0xD5,0xCB,0x8B,0x24,0x04,0x07,0xFA,0x15,\r
+0x97,0x04,0x04,0x50,0xC2,0x06,0x5E,0x19,0x00,0xAD,0xAF,0x7B,0x0B,0xAB,0xF6,0xE4,\r
+0xC6,0xCF,0x69,0x57,0xD8,0x7D,0x87,0xA7,0xF9,0xD6,0x5C,0x8A,0xF0,0x9F,0x29,0x1B,\r
+0xEF,0xC7,0x7A,0x49,0x38,0xB5,0xC8,0x41,0x9C,0x1C,0xCB,0x98,0x03,0xCC,0x97,0x44,\r
+0x2F,0x25,0x24,0xA2,0x0A,0x55,0xCD,0xCA,0x62,0x0A,0x69,0xA2,0x94,0xFF,0x7D,0x6B,\r
+0x78,0xD5,0xB0,0x2C,0x6D,0x5D,0xAC,0x6A,0x4B,0xDE,0xE3,0x02,0x43,0x65,0xBF,0x43,\r
+0x1C,0x36,0x01,0xB0,0xCB,0x6F,0xA2,0x94,0x84,0xFC,0x54,0x29,0x80,0x55,0xAB,0xEE,\r
+0xC2,0xA9,0xE7,0x28,0x72,0x69,0x51,0x22,0x90,0x2A,0xD1,0x83,0x36,0xA1,0xF4,0xEB,\r
+0xC5,0x00,0xCF,0x68,0x86,0xDF,0x0E,0x27,0x91,0xB4,0x36,0xF1,0x2E,0x10,0x14,0x74,\r
+0x6D,0xC4,0x84,0x1D,0x63,0x58,0x65,0x37,0xCC,0xB5,0xF3,0xE7,0x11,0xDF,0xB2,0x77,\r
+0x51,0xDD,0xA3,0x32,0x17,0x42,0x21,0xA4,0x86,0x58,0x58,0xEC,0x46,0x6B,0x76,0x1E,\r
+0xDD,0x46,0x8E,0x92,0x87,0xA8,0xE1,0x83,0x38,0x66,0xFD,0x7F,0xC5,0xF2,0x4A,0xB4,\r
+0x00,0x16,0xCE,0x35,0x31,0xDC,0x34,0xCC,0xCB,0xD8,0xA2,0x2C,0xD7,0xE1,0x6F,0x87,\r
+0xFB,0x44,0x9F,0xB1,0xD7,0x0F,0xA1,0x5E,0x53,0x3E,0x7C,0xB3,0xFD,0xF6,0x81,0xE6,\r
+0x23,0xE0,0x80,0xA0,0xAF,0x33,0x3D,0xB6,0xD3,0x38,0x3D,0x9D,0x26,0x77,0x75,0xD4,\r
+0x98,0x0E,0x06,0x6D,0x40,0x89,0x54,0xA9,0x72,0x8B,0x56,0x74,0xBB,0xE6,0x5A,0x57,\r
+0x4A,0x54,0x44,0xF7,0xFE,0xE3,0x92,0xCF,0x88,0xCA,0x4E,0x32,0xF4,0xE3,0x7E,0xA1,\r
+0xDA,0xF6,0x34,0xF7,0x64,0x3E,0xE5,0xDB,0xC5,0x3A,0x24,0x50,0x21,0x1E,0x68,0x15,\r
+0x2C,0xF3,0x10,0xB8,0x22,0xC4,0xA4,0xC3,0xAF,0xFC,0x42,0xEE,0xBB,0x44,0x2A,0xC7,\r
+0x6B,0xE6,0xEF,0xB1,0xA3,0x1F,0x50,0xF1,0x43,0xCF,0xD3,0xC7,0xFD,0x54,0xF1,0x76,\r
+0x59,0x67,0x1B,0x6A,0x8D,0x9F,0x56,0xB0,0x7F,0x53,0x3B,0xBF,0xEC,0xF0,0xEE,0xAE,\r
+0x39,0xE2,0x24,0x89,0x6F,0x74,0x08,0x70,0xE4,0x8F,0x0E,0x97,0xDE,0x56,0xE0,0x50,\r
+0x0A,0xF1,0x01,0x9B,0x3C,0x87,0xB6,0x2F,0x90,0x5A,0x41,0x21,0x79,0x06,0xA0,0x8D,\r
+0xFA,0xCF,0xDC,0x5D,0xF7,0x80,0xDB,0x7E,0x14,0x0B,0xBA,0x73,0x51,0xD4,0xEA,0xE0,\r
+0x93,0x7B,0x18,0x0A,0xFC,0xCA,0x36,0xD5,0x0E,0x4F,0x29,0x07,0x7E,0xCD,0xCD,0xDC,\r
+0x66,0xB1,0x9A,0x7A,0x93,0xDC,0x44,0x5C,0x25,0x3F,0xAF,0x62,0x64,0xB9,0x89,0x4F,\r
+0xF9,0x00,0x7A,0x62,0xE1,0xDD,0xDA,0xBB,0x93,0x60,0xAA,0x96,0x24,0x10,0xA1,0x48,\r
+0xCE,0x75,0xD1,0x0F,0x12,0x07,0xB0,0x6E,0x11,0xC2,0xE7,0x7D,0x60,0xC5,0xDE,0xF5,\r
+0x63,0x45,0xC5,0xCC,0x39,0xC8,0x92,0xD9,0x23,0xCC,0x19,0xDB,0xFC,0x26,0x6F,0x91,\r
+0xC9,0xDC,0xF9,0x4F,0x88,0xD0,0x72,0x46,0xF9,0xA6,0xCC,0x28,0x05,0xD7,0x14,0x62,\r
+0xE6,0xEF,0x13,0xD8,0xB2,0x2E,0x64,0xE4,0x19,0xA3,0x47,0x1A,0xEE,0x35,0x4A,0xA2,\r
+0x69,0xBB,0x98,0x47,0x6B,0x4C,0xC3,0x22,0x4A,0x30,0x94,0xD2,0x1C,0x14,0x6A,0x1A,\r
+0x96,0x8F,0x47,0xBC,0x9A,0xB5,0xB8,0xD1,0x31,0xE9,0x2A,0xC8,0x1B,0xDF,0x07,0x4B,\r
+0xFD,0x66,0xF4,0x1D,0xFB,0xA6,0x03,0x05,0xCB,0xA8,0x32,0x8E,0xA9,0x57,0x0F,0xF4,\r
+0x98,0x17,0x94,0x48,0x34,0x99,0xA5,0x06,0x1A,0x99,0xAC,0xAD,0x34,0xC6,0x20,0x77,\r
+0xF8,0x92,0xAB,0xAB,0x81,0xB9,0x8E,0xCB,0x22,0x52,0xFE,0xA9,0x91,0x53,0xC4,0xA6,\r
+0xB4,0xEB,0xD8,0xE0,0xCB,0x65,0x17,0xA8,0x45,0x3C,0x65,0x7E,0x9E,0xFF,0xC8,0x57,\r
+0xA1,0xFA,0xEC,0xD1,0xC3,0x7B,0x04,0x81,0x39,0x88,0x8A,0xAF,0x72,0xD6,0xFB,0xC6,\r
+0x49,0x82,0x70,0xED,0x84,0xF6,0xAA,0x3D,0xFE,0xCB,0x9D,0xE3,0xDB,0x58,0x29,0x0D,\r
+0xB9,0xBC,0xAD,0x2B,0x02,0x41,0x6B,0xDF,0x6B,0x85,0xBE,0x15,0x49,0x65,0x0A,0x7F,\r
+0x80,0x51,0xD5,0xB2,0xDA,0x54,0x23,0xBD,0x09,0x22,0x78,0xCC,0x13,0xB8,0x66,0xEB,\r
+0xEF,0xDE,0xE8,0x6C,0xB7,0x61,0x40,0x12,0x94,0x0D,0xFB,0x5D,0x57,0x6D,0x19,0x56,\r
+0x99,0x85,0x45,0x81,0xB6,0x16,0xAF,0xB6,0x18,0x3D,0xA0,0x68,0xB4,0xE8,0x26,0x36,\r
+0xFF,0x3B,0x83,0xEB,0x0E,0x67,0xB3,0xA4,0x77,0x32,0x9B,0xD8,0xC7,0x95,0x9E,0x28,\r
+0x88,0xF2,0xFF,0xCF,0xFD,0xBD,0xD9,0x71,0xF8,0x38,0x2B,0x5A,0x63,0x72,0xE4,0x1E,\r
+0xD6,0x33,0x90,0xF5,0x80,0xCE,0x61,0x6F,0x28,0x97,0x52,0x0B,0x53,0x11,0x4E,0xEC,\r
+0x7C,0xAA,0xAC,0x76,0x5E,0xC0,0xF3,0x79,0x15,0x95,0x5D,0x01,0xFB,0xED,0x02,0xC0,\r
+0xDE,0x90,0xBA,0x88,0x09,0x0B,0x86,0x74,0x7D,0xF7,0x37,0x7A,0xD2,0x4D,0xD6,0x4A,\r
+0x90,0xB4,0xBE,0x35,0xA8,0x55,0xBD,0x5A,0xE6,0x2B,0x02,0x52,0xC2,0x9B,0x57,0x75,\r
+0xF7,0x98,0xA9,0x96,0xD3,0x3D,0xDF,0x30,0x8C,0xED,0x64,0xEC,0x0C,0xC2,0xEB,0x25,\r
+0x3F,0xD9,0xDD,0x00,0x8A,0xF3,0x63,0x60,0x59,0x8B,0x40,0xB3,0x04,0xA5,0x8A,0x85,\r
+0x53,0x99,0x46,0xE1,0x08,0x7C,0x69,0xD0,0x52,0xD0,0x0B,0x63,0xB7,0x5F,0x1C,0xDD,\r
+0x10,0xEA,0x37,0x97,0x1F,0x56,0x87,0xB1,0x4D,0x5D,0xC5,0x19,0x17,0xC4,0x31,0x51,\r
+0x0C,0xCA,0xF8,0x12,0xA6,0x50,0x74,0x07,0x10,0x5C,0x00,0x0F,0x3F,0x16,0x7B,0x3C,\r
+0x9E,0x2C,0x6D,0xC1,0x76,0x5B,0x2F,0x4C,0x92,0xFE,0x4D,0xE4,0xA1,0x30,0x6E,0x54,\r
+0x92,0xE9,0xC9,0xC3,0xAE,0x4E,0x67,0x2E,0xA7,0x9D,0xE2,0x89,0x73,0xA4,0x65,0x21,\r
+0x43,0x7C,0x2D,0x66,0x38,0xBF,0x7D,0x7D,0x70,0x5F,0xCA,0x13,0xAC,0x59,0xC6,0xA9,\r
+0x7A,0x91,0x55,0xFF,0x18,0x3A,0xB2,0x61,0x85,0x12,0x23,0xF9,0x95,0x2F,0x93,0x1C,\r
+0xD2,0x55,0x1E,0x8A,0xD0,0x69,0x21,0xB2,0xB0,0x71,0x8C,0x94,0xE9,0xFE,0x27,0xF3,\r
+0xC8,0x4E,0x28,0x86,0x74,0x78,0x3E,0x6A,0x9D,0xF2,0xBC,0x48,0xE3,0x5C,0xE2,0x5F,\r
+0x1F,0xE0,0x35,0xAA,0xB5,0x42,0x51,0x34,0xBE,0xE3,0x9A,0x4A,0x71,0x61,0xC1,0x2D,\r
+0x14,0x8C,0xB9,0xE8,0xCE,0x2A,0x33,0x5E,0x9C,0x6C,0x5B,0x3A,0x46,0xC9,0x06,0x8E,\r
+0x6D,0xDD,0x16,0x38,0x03,0x36,0x84,0x7B,0xF0,0x59,0x8B,0x3D,0xFA,0x9F,0x9C,0x27,\r
+0x83,0x9E,0x73,0x8D,0x37,0xCD,0x5B,0x84,0x06,0x2E,0x89,0x60,0xD4,0xF4,0x25,0xFC,\r
+0x38,0x70,0xF5,0x40,0x41,0xF4,0x0E,0x31,0x37,0x1A,0x9C,0x71,0x30,0xBA,0x77,0xCD,\r
+0x09,0x3E,0xA7,0xA4,0x4B,0xC9,0x0C,0x3E,0x58,0x15,0xA7,0xC1,0xD9,0x9D,0x8D,0x01,\r
+0xF2,0x6C,0xF6,0x20,0xB0,0x0D,0x75,0xC2,0xA8,0x91,0x13,0x25,0x2F,0xC0,0xFA,0x03,\r
+0xEA,0x2A,0xB7,0xDA,0x47,0xEF,0xD4,0x45,0x6D,0x76,0x08,0xAC,0xE5,0xE5,0x11,0xE9,\r
+0x55,0xA2,0xBF,0x68,0x9C,0xAE,0x62,0xA5,0x44,0xA2,0x82,0x0C,0x75,0x1D,0x96,0x97,\r
+0xB7,0x24,0x7E,0xDF,0x46,0x98,0x3B,0xE1,0xE7,0xB5,0xE5,0x20,0x2D,0x05,0x5E,0x0F,\r
+0xE3,0x1B,0x4C,0x6E,0xA7,0x27,0x9B,0xA3,0x83,0xE1,0x95,0x40,0xA3,0xF5,0xCA,0x58,\r
+0x68,0x29,0x49,0x8E,0x78,0x5E,0xE6,0x11,0x29,0x09,0xB5,0x79,0xE2,0x2E,0x7C,0xB8,\r
+0x35,0x27,0x80,0x8B,0xE7,0xC6,0x00,0xCF,0x32,0xD3,0xC1,0x7F,0x1E,0xD1,0xCE,0x16,\r
+0xF6,0x0A,0x78,0x5F,0xA1,0x3C,0x41,0xD7,0x02,0x79,0x33,0x1C,0xD5,0x86,0xBB,0x1B,\r
+0x04,0x69,0xD2,0x6F,0x36,0xBA,0xB4,0x20,0x4B,0xAE,0x73,0xA0,0x08,0xBE,0xBC,0x9F,\r
+0x72,0x32,0x7F,0x82,0x0D,0x33,0x4D,0x26,0xAD,0x58,0x4E,0x2B,0xD7,0x43,0x1F,0x17,\r
+0xD4,0x6E,0xE7,0x03,0x42,0xA0,0xF0,0xB3,0xB3,0x4B,0x67,0x23,0x01,0xAB,0x43,0xD8,\r
+0xBF,0x87,0x54,0xA2,0xF8,0xF2,0xFD,0x87,0x2C,0xC0,0xE8,0x77,0x5A,0x04,0xB1,0xAB,\r
+0x8F,0x5B,0xD7,0x8F,0xBD,0x5C,0x42,0x1D,0xD3,0x48,0xAD,0x3F,0xB6,0x2D,0x82,0x3A,\r
+0x44,0xD5,0x05,0x26,0x31,0xD6,0x81,0xF0,0x3B,0x2C,0x86,0x6A,0x9A,0x83,0x9F,0xED,\r
+0xC4,0x8B,0x8C,0x84,0x4C,0xA5,0x39,0xEE,0xF1,0xC7,0x6C,0x4F,0xEA,0x49,0x1D,0x18,\r
+0xA6,0x8D,0xCB,0x30,0x57,0xC3,0x1E,0xCC,0x86,0x84,0x73,0xF9,0xC4,0x3B,0xCE,0xF9,\r
+0x93,0xE1,0x1B,0x37,0xEB,0x95,0xB7,0x56,0xD7,0xFD,0xDC,0x29,0x09,0x27,0xEB,0x4E,\r
+0xE4,0x17,0x19,0x6A,0xC5,0xFE,0x6C,0xEF,0x94,0x13,0xB9,0x9C,0x3D,0xDC,0x14,0x91,\r
+0xD0,0x26,0x0C,0x7B,0x21,0xB0,0x5D,0xBD,0x7A,0xA8,0x3F,0x51,0x4B,0xE5,0xA1,0xC4,\r
+0xD8,0x94,0xB3,0xF3,0x84,0x25,0x8C,0x59,0x9B,0xEA,0x9F,0xEE,0x12,0x2B,0xF1,0x78,\r
+0xBB,0xA1,0x1C,0x9E,0xF8,0xF4,0x63,0xED,0x5F,0x42,0xD4,0x9B,0xDA,0x78,0x22,0xEB,\r
+0x38,0x8C,0x2C,0x42,0xF2,0x56,0xCF,0x28,0x44,0x58,0xE2,0x97,0x7E,0x69,0xFA,0xF4,\r
+0x29,0xAF,0x0A,0x40,0x60,0x6B,0xBD,0x0B,0xEA,0x8F,0xFF,0xBB,0xBF,0x53,0xA4,0x9B,\r
+0x96,0x01,0x90,0x05,0x2E,0x1C,0xAC,0xB1,0xC0,0x9C,0x32,0x03,0xAC,0x41,0x97,0xBE,\r
+0x34,0x83,0xDD,0xEE,0xB0,0x3A,0xC4,0xA4,0x26,0x0E,0xA7,0xD0,0x7C,0x4A,0xDC,0xE5,\r
+0x57,0xB6,0x72,0x83,0x62,0xAE,0xB1,0xAF,0xE3,0x02,0x03,0xD2,0xA4,0x5F,0xBE,0xAD,\r
+0x95,0x61,0x5A,0x19,0xBD,0x53,0x39,0x0C,0x76,0xD3,0xE7,0x77,0x32,0xAE,0xED,0xB7,\r
+0x27,0x9D,0xF4,0xE6,0x1D,0xC8,0xB5,0x21,0x92,0x67,0x63,0x87,0xD9,0x2C,0xA0,0x15,\r
+0x41,0x48,0xD0,0xB9,0x15,0xAF,0x15,0x40,0xD3,0xAF,0x17,0x11,0x80,0xE2,0xF0,0xA9,\r
+0x1A,0x43,0x9B,0x69,0xA6,0x55,0x4D,0xD6,0x93,0xC3,0x8C,0xF0,0x02,0x6D,0x40,0xA3,\r
+0x97,0x5C,0x55,0x13,0x06,0xCE,0xC1,0xFB,0xE0,0x80,0xFD,0x86,0x15,0x47,0x21,0x4D,\r
+0x0A,0x3D,0x78,0x7D,0x4B,0x0E,0x3B,0x7B,0x8D,0x2F,0x9E,0xB3,0xF2,0xE3,0x17,0x37,\r
+0x82,0xC2,0x3D,0x35,0xA7,0x27,0xAA,0x48,0x51,0x1F,0x1D,0x9E,0xB7,0x4D,0x8D,0x88,\r
+0xE6,0x2A,0x16,0x60,0x8B,0x89,0x7D,0x55,0xDF,0xD4,0xCF,0x37,0x3B,0xC7,0x60,0x4B,\r
+0x0D,0xE0,0xFC,0x45,0xFB,0x43,0x88,0xD7,0x81,0x54,0x46,0x95,0x46,0xB4,0x7E,0xF3,\r
+0xB3,0x13,0xA3,0x16,0xC4,0x8C,0x8B,0x71,0x00,0x66,0xB2,0x4E,0xAB,0x2D,0x47,0x8B,\r
+0x64,0x5A,0xE3,0xAA,0x19,0xB4,0x0F,0x76,0x63,0x94,0x18,0x7E,0x3C,0xAB,0xB0,0x7E,\r
+0x92,0xBC,0xDE,0x21,0xC6,0x49,0x87,0xD5,0x38,0xE2,0xB5,0x93,0x07,0x22,0xB6,0x87,\r
+0x81,0xA2,0xF7,0x29,0x10,0xA1,0x48,0x89,0x64,0x44,0x2D,0x12,0x48,0xB1,0x23,0x3A,\r
+0x7F,0xF6,0x75,0x2A,0x3C,0x0F,0x9F,0x94,0x2E,0x27,0xB4,0xCE,0x4C,0x89,0x71,0xF1,\r
+0x2B,0x92,0x05,0x4A,0xB2,0xFF,0xC8,0x00,0x11,0x73,0x86,0x7F,0xAD,0x36,0x33,0x51,\r
+0xC3,0x38,0x25,0x73,0xF3,0x24,0x28,0xB6,0x23,0xF8,0x83,0x9F,0x72,0x4F,0x81,0x2C,\r
+0x19,0x23,0x51,0x75,0x0F,0xDB,0x86,0x04,0x2D,0xA5,0x4A,0x9A,0xED,0xD7,0x5F,0xCA,\r
+0xDF,0x49,0x37,0xCB,0xC8,0x97,0x91,0x47,0x34,0x99,0x6D,0xB5,0x41,0xD8,0xAE,0xC6,\r
+0x5B,0xB9,0x83,0x2F,0x3E,0xCA,0x93,0x30,0x66,0x62,0x3C,0x31,0xBA,0x1C,0x52,0xBF,\r
+0xBC,0x7C,0x98,0xA6,0xF4,0xEF,0x79,0xDB,0x20,0x7A,0x7D,0xCB,0x4D,0xFE,0xD5,0x1E,\r
+0x68,0x55,0x12,0x06,0x64,0x17,0x07,0x5C,0xA8,0xC5,0x75,0x79,0x96,0xBF,0x35,0xA8,\r
+0x6C,0xE8,0x5C,0x22,0x14,0xDD,0xF2,0xDE,0xD6,0x59,0x33,0x5E,0x82,0xC1,0xD6,0xB8,\r
+0x69,0x08,0xD7,0x10,0xFF,0x3F,0x32,0x80,0xE5,0x76,0xD9,0xC9,0xB8,0x3F,0x74,0xAE,\r
+0xFA,0x5B,0x04,0xD8,0x0D,0x1E,0x8A,0xA0,0xB1,0xF9,0x52,0x56,0x61,0x5D,0xB2,0x09,\r
+0x23,0x20,0xBA,0xC2,0x0A,0xD5,0xDB,0xCD,0x85,0x06,0x8D,0xAD,0x90,0xA4,0x41,0x72,\r
+0xF5,0x34,0x3F,0x68,0x75,0xB3,0xDF,0x43,0xBB,0xF6,0x50,0x6B,0x99,0xCD,0xCC,0x8E,\r
+0xAA,0x82,0x3A,0x9C,0x35,0x1A,0xD8,0x6B,0x0A,0x69,0xB0,0x73,0xEB,0xCC,0x2B,0x10,\r
+0x08,0x00,0x77,0x77,0x71,0xCF,0x65,0x14,0x7F,0x5E,0x1B,0x1E,0x18,0x16,0xFE,0x7A,\r
+0x06,0x32,0x89,0xD1,0xED,0x2C,0x01,0xA5,0x4F,0xF3,0x0F,0xDD,0x33,0xD9,0x49,0x58,\r
+0x45,0xF5,0x9E,0x9D,0xCF,0x5C,0xC0,0x2A,0xE8,0xA9,0xEE,0x98,0x65,0x65,0xE0,0xC2,\r
+0x90,0x81,0xD1,0x2B,0x68,0x0C,0x1D,0x6A,0xFB,0x9A,0xCB,0x8A,0x36,0x96,0xBF,0x7C,\r
+0xC1,0x05,0x2A,0x79,0x40,0xDE,0x70,0x20,0xC5,0x6A,0x16,0x4C,0xFD,0x91,0xEE,0x11,\r
+0x85,0x1F,0xB9,0x0D,0x6F,0xC7,0x4C,0x07,0x71,0x03,0xD2,0x1B,0xF6,0xDB,0x45,0xFC,\r
+0xF0,0xD4,0xB4,0x5A,0x30,0x14,0x85,0xA2,0xFC,0x4A,0xFE,0xE6,0x6E,0x2F,0x4B,0x2F,\r
+0x36,0xBE,0xD2,0xE4,0xAA,0x4E,0x57,0xE0,0xF9,0xBC,0xDA,0xA9,0x28,0xD5,0x53,0x6E,\r
+0x05,0x52,0x43,0xCD,0xEC,0x5E,0xE6,0x3B,0xEC,0xFB,0x25,0xA0,0xA9,0x0E,0x61,0x9A,\r
+0x99,0x6E,0xAB,0xB5,0xFD,0xFA,0x3E,0x24,0x6D,0xC9,0xD1,0x7B,0x87,0x8E,0x20,0x9C,\r
+0x5D,0x39,0xC2,0x01,0x42,0x1B,0x7C,0x84,0x39,0x46,0x5A,0xE4,0x8A,0xDF,0xFF,0xAB,\r
+0x5F,0x04,0xCD,0x0B,0xEA,0xE7,0x50,0xC8,0xA0,0xEC,0x66,0x67,0x54,0xD1,0xE9,0x39,\r
+0x3D,0x6C,0xA7,0x70,0xC3,0x47,0xDA,0x1C,0x9A,0x4E,0x70,0x99,0x03,0x1A,0xE4,0x4C,\r
+0xE1,0xF7,0x92,0x58,0xD3,0x91,0xE5,0x9D,0xBE,0x00,0x74,0x24,0xA2,0x44,0xCA,0x77,\r
+0xC7,0x85,0x6B,0x57,0x46,0x67,0xC6,0xD3,0xD4,0x7F,0x22,0x7D,0xBD,0x70,0x82,0x8A,\r
+0xF7,0x09,0x30,0x62,0xA5,0xE2,0xA6,0xEC,0x8F,0x09,0x8F,0x90,0xBC,0x07,0x26,0x65,\r
+0xF8,0x66,0x0B,0xD2,0xD6,0x9F,0xB8,0x54,0x31,0x6F,0x49,0xFA,0x04,0x76,0x34,0x79,\r
+0xF2,0xE9,0xBB,0x50,0x72,0x78,0x8E,0x2E,0xF8,0x18,0x35,0xDE,0xF7,0xAC,0xE1,0x13,\r
+0x42,0x28,0x1A,0xA5,0x63,0xDC,0x56,0x31,0xF0,0x31,0x26,0xC0,0xC9,0x6A,0x11,0xCE,\r
+0x01,0xEF,0x0D,0xE9,0xCA,0x52,0x9D,0xE3,0x88,0xD9,0xBA,0xFC,0x8E,0xE7,0xAD,0x60,\r
+0x4F,0x7A,0x2E,0x1F,0x58,0x6F,0xEF,0xC0,0xB6,0x29,0x67,0x3A,0x08,0x50,0x4F,0xA1,\r
+0xE8,0x18,0xE8,0xC6,0x02,0xB2,0x7B,0xAC,0x5B,0x10,0x1F,0xA3,0xD0,0x45,0x2D,0xE9,\r
+0x62,0xDA,0xA2,0x84,0xB8,0x5D,0x64,0xC5,0x6C,0x6D,0x3E,0x0C,0xF1,0xB7,0x95,0xC9,\r
+0x53,0x0B,0x3C,0xA7,0x25,0xCC,0xE7,0xEA,0x1D,0x08,0x5E,0x59,0x3E,0x88,0x96,0x6F,\r
+0x98,0x33,0x6E,0xA3,0x80,0x59,0x36,0x0E,0x98,0x68,0x61,0xBA,0x8B,0xA8,0x5B,0x44,\r
+0xF6,0x54,0xF5,0x74,0x8F,0xF5,0xC7,0x02,0xE1,0x24,0x12,0xF1,0xC1,0x74,0x38,0xDD,\r
+0x2B,0x1F,0xC7,0x5E,0xA0,0x56,0x4F,0x99,0xED,0x2E,0x8A,0x74,0xFA,0x13,0x02,0x29,\r
+0xFD,0xD0,0x2F,0x02,0x89,0x45,0x47,0x87,0x50,0x61,0x19,0xE1,0x62,0xB5,0x5E,0xA8,\r
+0x22,0x58,0xD2,0xA1,0xB4,0xB3,0xCC,0x61,0xA9,0x5A,0x90,0xE7,0xCF,0xC3,0x05,0x45,\r
+0xFF,0xDC,0xEA,0xA6,0xF4,0x64,0x70,0x28,0x5C,0xCD,0x16,0x10,0x65,0x31,0x66,0x75,\r
+0xC0,0xDF,0x25,0x00,0xAB,0xDA,0x23,0xDB,0x24,0x20,0x8F,0x29,0x91,0x03,0xE7,0xAE,\r
+0xB0,0x2A,0xEF,0x82,0x41,0x31,0x06,0x11,0x9C,0x5D,0xFC,0x37,0x18,0x83,0xB9,0x0C,\r
+0x9C,0xFD,0x41,0x9F,0x6A,0x55,0x53,0xF9,0x5F,0xD1,0x76,0xDA,0xCA,0x48,0x37,0xA5,\r
+0x70,0x6C,0x68,0xAC,0x2F,0xDD,0x1B,0x06,0xE0,0x94,0xD8,0x40,0x49,0x78,0xEB,0x88,\r
+0x5F,0x50,0x71,0x8B,0x45,0xBF,0x60,0x6E,0x7F,0xF0,0x84,0x62,0xA2,0x92,0xCE,0x42,\r
+0xCF,0x2E,0x89,0x0C,0xCF,0x6B,0xC0,0x47,0xC9,0x2B,0xC5,0x82,0xAA,0x2D,0x46,0xF0,\r
+0x05,0xC4,0xAC,0xE7,0xD4,0x8C,0x49,0x82,0x68,0xDC,0x27,0x05,0xEB,0x35,0x00,0x0A,\r
+0xF3,0xC6,0xF1,0x90,0x60,0x08,0xAD,0x72,0x11,0x27,0xE3,0xF9,0xBA,0xCE,0x52,0x8E,\r
+0x34,0xD1,0xBD,0xD3,0x06,0xCE,0x13,0x18,0x1D,0x8B,0xEC,0x08,0x9D,0xF2,0x4B,0xA1,\r
+0xC8,0x7F,0x42,0x61,0x72,0x14,0x15,0x03,0xFB,0x14,0x74,0xD6,0x54,0xAF,0x45,0xA4,\r
+0x89,0x9F,0x99,0xD7,0x52,0xFC,0x2C,0xA9,0x86,0xCB,0x0D,0x64,0x51,0x24,0x77,0x44,\r
+0x07,0xC8,0x69,0x43,0x22,0xA8,0x4C,0xCD,0x26,0x2A,0xB2,0x26,0x63,0x70,0x48,0xF5,\r
+0x5B,0xEA,0x0D,0xDC,0x5D,0xFE,0x26,0x94,0x4C,0xD9,0x68,0xF3,0x28,0xD8,0x8C,0x80,\r
+0xC9,0x98,0x30,0xFF,0x7B,0xEF,0x24,0xB7,0x23,0x18,0x52,0xAD,0x35,0x0F,0x22,0xAC,\r
+0xC3,0x34,0x92,0x3A,0x4B,0x6C,0xF8,0x9A,0x3C,0xBC,0x43,0x75,0x03,0x15,0x39,0xA0,\r
+0xBF,0xDB,0x43,0x8E,0xE4,0x0F,0x95,0xAF,0xAF,0x74,0x10,0xA6,0x48,0xBD,0xFD,0xD5,\r
+0x1A,0x0A,0xD6,0x6A,0x5B,0x07,0x1D,0x1D,0x13,0x2D,0xDE,0xF6,0xE8,0xFF,0x1C,0x6A,\r
+0xFE,0x3B,0x98,0x38,0x4E,0x33,0x0C,0x2C,0x46,0x5B,0xE7,0x43,0x6E,0x44,0xF2,0xA7,\r
+0xD0,0xE0,0xF3,0x81,0x4C,0x44,0x51,0xDA,0x99,0x6F,0x1C,0xBC,0x0B,0xAA,0xB1,0x12,\r
+0x6C,0x49,0xA5,0x1B,0x9C,0x71,0x56,0xB6,0x2E,0xA2,0x00,0x99,0xA4,0xD3,0xE0,0xC2,\r
+0x3D,0x96,0xA8,0x2C,0x02,0x40,0x75,0x67,0x9A,0x73,0x7C,0x76,0x2A,0xD7,0x86,0xBD,\r
+0x9D,0x1A,0x33,0x01,0xCC,0xCD,0x0F,0x78,0x74,0x64,0x56,0x17,0x5B,0x94,0xF5,0xCB,\r
+0x2E,0x42,0xC9,0x97,0x87,0x96,0xDF,0x73,0x7E,0xE6,0xD9,0xA7,0xC0,0xF8,0xB5,0x2A,\r
+0x26,0xE2,0xAE,0xF6,0xA3,0xF0,0x80,0xA6,0xC2,0xBF,0x17,0xF7,0xB4,0x30,0xF4,0xBC,\r
+0x86,0x6E,0x35,0xDB,0x0D,0x42,0x7F,0x5A,0x60,0x54,0x95,0xBA,0x30,0x84,0x10,0x4C,\r
+0x59,0xE6,0xC8,0x78,0x25,0x80,0xE5,0x8D,0x7A,0xC2,0x64,0xE9,0xD4,0x55,0x85,0xE9,\r
+0x8B,0x93,0x5C,0x73,0x8A,0xE3,0x88,0xB8,0x32,0x1A,0x71,0x8B,0x70,0x59,0x40,0xEB,\r
+0x15,0xFB,0x7A,0x66,0xC7,0x41,0x63,0x3A,0x69,0xCA,0x7A,0xC0,0xE5,0xCB,0xA6,0x38,\r
+0x49,0xD9,0x1E,0xF9,0xEC,0x25,0x36,0xD2,0xC4,0x91,0x97,0xB6,0xE2,0x4F,0x9E,0xE5,\r
+0xED,0xEF,0xF9,0x83,0x5C,0x2F,0xB4,0x5D,0xAE,0x62,0x4D,0x63,0x9E,0x38,0x57,0xC1,\r
+0x9E,0xF1,0x84,0x3B,0x67,0x20,0x04,0x32,0xB2,0xDA,0x3C,0x71,0x58,0x5E,0xE9,0xAB,\r
+0x7D,0x91,0x01,0x04,0x3C,0x10,0x31,0xBE,0x5D,0xDB,0x4B,0xD5,0xF5,0x28,0xB2,0x46,\r
+0xE8,0xB2,0xF7,0x4A,0xC5,0x36,0x3E,0xCC,0xA0,0xC4,0x7F,0x9D,0xA3,0x57,0xD8,0x1F,\r
+0xF8,0x8D,0x21,0xCB,0xF0,0xEA,0x16,0x57,0x9B,0x65,0x21,0xB3,0xA7,0x19,0xFC,0xA2,\r
+0xD1,0x07,0x81,0x1F,0x9A,0x88,0x6D,0x3F,0xEE,0x32,0xEA,0xBE,0xB1,0xBB,0xC6,0x5C,\r
+0x79,0x2B,0x7D,0x53,0x95,0x8A,0x67,0x02,0x7C,0xEC,0xE4,0xA8,0x8D,0x11,0x5F,0xDF,\r
+0xB4,0x90,0x93,0xD5,0xA2,0x21,0x12,0x6F,0x0A,0xA7,0x4F,0x6F,0xC5,0x73,0x87,0xCA,\r
+0xBB,0x61,0x3F,0xD9,0x39,0x4F,0xC5,0x08,0x93,0xED,0x93,0x0C,0xB6,0x3F,0xFE,0x81,\r
+0x1E,0xB0,0xAA,0x3D,0x6B,0x84,0xC1,0x30,0xB8,0x58,0xB3,0xC1,0x89,0x5F,0x7B,0x62,\r
+0x83,0x33,0x3B,0x12,0xF5,0xB5,0xE2,0xE1,0x1E,0x97,0x8C,0xC2,0xE9,0x3A,0x0A,0x37,\r
+0x39,0x2C,0xD4,0x7B,0xBF,0x3F,0xA0,0x23,0x3E,0xB6,0x7E,0x7A,0xC8,0x47,0x3D,0x98,\r
+0x63,0xB8,0x09,0x17,0x79,0x98,0x79,0x41,0x76,0x6E,0x6B,0x18,0xB0,0x7E,0xD0,0x01,\r
+0xF1,0xCA,0x34,0x34,0x5A,0xD6,0x8F,0xD4,0xB7,0xE8,0xDC,0xFA,0x6D,0x8E,0xEE,0xC7,\r
+0x58,0x01,0xBA,0xE6,0x4D,0x95,0xC3,0x13,0x19,0xAF,0x51,0x46,0xF1,0x66,0x96,0xFB,\r
+0xD6,0x56,0x4A,0x72,0xDE,0xD1,0xB7,0x09,0x8F,0x55,0xE2,0x1E,0xD8,0xA4,0x29,0xE6,\r
+0x4A,0x32,0xA9,0xC3,0x20,0xDF,0x11,0x3B,0xAD,0x7E,0x2D,0xA9,0xCC,0x09,0x19,0x25,\r
+0x0E,0x8F,0x7C,0xBC,0x6D,0x7D,0xFA,0xB9,0xC7,0x8D,0xF7,0x7C,0x67,0x3E,0x6C,0x48,\r
+0x4E,0x88,0xD5,0x94,0x68,0x22,0x0E,0x0F,0x59,0xFF,0xF6,0x9B,0x87,0xA1,0xDD,0x50,\r
+0x31,0x8C,0xB3,0x1A,0xED,0xF4,0xA4,0x1B,0xA5,0xF6,0x9F,0x16,0x5A,0x51,0xE3,0x96,\r
+0x36,0xDD,0x78,0x77,0x53,0x2D,0xBE,0x60,0xDE,0x07,0x66,0xE5,0x85,0xAE,0xD7,0x6D,\r
+0xC4,0x65,0x59,0x57,0x80,0xBE,0x76,0x33,0x79,0xDE,0x04,0x23,0x0E,0x21,0x83,0xF2,\r
+0x2F,0xA5,0xBB,0x09,0x0B,0xBB,0x44,0xD3,0x6F,0xE4,0xFA,0x81,0xE4,0x0E,0xB0,0x65,\r
+0xC6,0x69,0x9C,0xF3,0xFC,0x4E,0xD3,0x55,0x4B,0xE1,0xB5,0x77,0x06,0x9E,0x0B,0x40,\r
+0xD7,0xB1,0x38,0xEC,0x14,0xD2,0xAB,0x69,0x4D,0xCF,0x35,0x36,0xF2,0xAC,0x8A,0x9B,\r
+0x91,0x00,0x28,0x37,0x85,0xE1,0x82,0x85,0xB9,0x4E,0xEE,0x04,0x0D,0xEB,0x9F,0x92,\r
+0x0B,0xD2,0x72,0x75,0xE3,0x27,0x3C,0xEF,0xF8,0x08,0x14,0x1C,0x29,0x1D,0x9A,0xDD,\r
+0x54,0x1B,0xA1,0xD0,0xEE,0x52,0x6B,0x24,0x2B,0x90,0xE0,0x12,0x05,0x54,0x17,0x20,\r
+0x7B,0x27,0xB8,0xF7,0x7D,0x16,0x1F,0x3E,0xC6,0x9B,0xAA,0xB9,0xC1,0x3D,0xA3,0x77,\r
+0x53,0x4A,0x6A,0xBD,0x86,0x47,0x4D,0xBA,0xAB,0x50,0xAD,0xE8,0x1C,0xCD,0x9D,0xB1,\r
+0xF4,0x97,0x3A,0xFD,0xC9,0x92,0xFB,0xCE,0x15,0x03,0x5E,0xB7,0x39,0xFE,0x8E,0xA3,\r
+0xA7,0xA1,0x95,0x34,0x14,0x1E,0xB4,0x60,0x9C,0xE0,0x63,0xEA,0xE8,0x30,0xFB,0x65,\r
+0xF9,0x28,0x37,0xB4,0xAC,0x00,0xC7,0x1D,0x76,0x2A,0x46,0x01,0x1D,0xB2,0x8B,0xAF,\r
+0x77,0xFA,0x9E,0x7F,0x6F,0xED,0x4D,0x91,0x5D,0xC2,0x13,0x65,0xCA,0xAF,0xA7,0x01,\r
+0xAB,0x79,0xB3,0x4F,0xD0,0x77,0xE3,0xD4,0x18,0x3D,0x5B,0xED,0x5B,0x9C,0x4B,0x28,\r
+0x42,0xCA,0x12,0x24,0xDD,0x43,0xB1,0x6E,0x97,0xA2,0x0F,0x66,0x28,0x6E,0x10,0x87,\r
+0x1E,0x52,0x93,0x82,0x60,0xD6,0x22,0x21,0xBE,0xBC,0x07,0x75,0xE7,0x32,0xC6,0x6F,\r
+0x45,0xFF,0x7E,0xF4,0x99,0xD0,0xAB,0x1A,0x83,0x5A,0x8C,0x83,0x6F,0x91,0x19,0x92,\r
+0x26,0x55,0x4E,0x06,0x6C,0x27,0x2D,0x8D,0xC3,0x13,0x30,0x54,0xEB,0x96,0xC4,0xAA,\r
+0x0B,0xAD,0x9A,0xC5,0x2D,0x3F,0xD7,0xCB,0x31,0x23,0x53,0xFE,0xE6,0xE3,0x0F,0xFD,\r
+0x05,0x64,0x9F,0x98,0xCB,0xE1,0x4F,0x54,0x45,0x38,0x55,0x24,0x48,0x51,0xF3,0x02,\r
+0x37,0x61,0x7F,0x13,0xB6,0x53,0x36,0x8B,0x65,0x92,0x6C,0xCC,0xA8,0xE7,0xB2,0xD9,\r
+0x08,0x53,0xCE,0x47,0x16,0x11,0x89,0x6A,0x15,0xF6,0x0C,0x98,0xFF,0x73,0x3C,0x29,\r
+0x8E,0x92,0x79,0xA5,0x4F,0x55,0xBF,0xB0,0x72,0x55,0x20,0x8F,0x67,0xBB,0x64,0x31,\r
+0x06,0x9A,0xCB,0x1A,0xF9,0xB5,0xFE,0x6B,0xF8,0x7C,0x80,0x5B,0x19,0x3C,0xF4,0xC9,\r
+0x40,0xDB,0x31,0x02,0x58,0x32,0x1C,0x9C,0xE3,0xB9,0x09,0xBC,0xF3,0xD7,0x3E,0xEC,\r
+0x12,0x8A,0xB5,0xF9,0x21,0xCE,0xD8,0x67,0x57,0x49,0xED,0x38,0xF1,0xA0,0xC8,0xB1,\r
+0x5C,0xD8,0x51,0xC8,0x23,0xC1,0xE5,0x6D,0x6C,0x26,0x5D,0x37,0x3D,0x5A,0x21,0x96,\r
+0xB2,0x5E,0x9C,0x73,0x76,0x74,0xDC,0x1B,0x79,0x17,0x4C,0x03,0x0C,0x08,0xC5,0xD8,\r
+0xF1,0x3B,0x29,0x9D,0xA9,0x8B,0x27,0x2F,0x7B,0xE1,0x11,0x74,0xD7,0xB1,0xEB,0xB3,\r
+0xA0,0x94,0xF9,0xE4,0x1E,0xAE,0x3B,0xE2,0xAB,0x8D,0x16,0x41,0x7E,0x2B,0x57,0xE5,\r
+0xCC,0x18,0xBB,0xEF,0x7C,0xC4,0x53,0x99,0x6A,0xAF,0x66,0xCE,0xDD,0xEC,0x60,0x4D,\r
+0x62,0x05,0x97,0x38,0x13,0x9A,0x69,0x58,0x4C,0x8C,0x64,0xDF,0xAF,0xCF,0xF2,0x70,\r
+0x79,0x33,0x9B,0x22,0x0C,0x42,0x78,0xFC,0x7C,0xA1,0xB8,0x5C,0x03,0x0A,0xF8,0xD2,\r
+0xBD,0x78,0xEE,0x8A,0x9F,0x91,0x2B,0x34,0xD3,0x94,0xD5,0x3F,0xEC,0xBE,0x84,0x03,\r
+0x50,0x00,0x77,0xB3,0x50,0x8D,0xAE,0x14,0x3A,0x61,0x3F,0x72,0x59,0xEB,0xBD,0x75,\r
+0xC5,0xE4,0xD2,0x62,0x4A,0xDE,0x5F,0x82,0x12,0xB6,0xA5,0xB0,0xD1,0x48,0x62,0x88,\r
+0x00,0x40,0xD0,0x6E,0x02,0xBC,0x4A,0x5A,0xBD,0x83,0xC8,0xD3,0xA4,0x43,0xB0,0x1C,\r
+0xE6,0xD5,0x03,0xFC,0x59,0xF7,0x41,0x8A,0xF0,0x01,0x23,0x71,0xCC,0x56,0x2E,0x3A,\r
+0xC6,0x1A,0x86,0xE0,0xAA,0x41,0x47,0x33,0x35,0x5C,0x35,0x70,0xA1,0x1C,0x06,0xE8,\r
+0xB5,0x6B,0xF0,0xA3,0x44,0x20,0x6D,0x24,0xFB,0x43,0x4F,0xFD,0x2D,0x31,0xA6,0x73,\r
+0xF5,0xF0,0x11,0xCF,0x4E,0x90,0xE2,0xA6,0xB0,0x48,0x9F,0xA6,0x75,0xA7,0x15,0x89,\r
+0xB4,0x84,0x87,0x07,0xF2,0xC0,0x2C,0xFF,0x94,0x9D,0xC0,0xC0,0xD5,0xC6,0x1D,0xEE,\r
+0x98,0x93,0x24,0x60,0x90,0xAA,0x44,0x84,0xF2,0xF7,0x7E,0x06,0x85,0x7A,0xD3,0xB7,\r
+0xBC,0x97,0x99,0x2E,0xAB,0x84,0x1A,0x25,0xC7,0x6C,0x56,0xDA,0xBA,0xFB,0xC3,0x61,\r
+0x86,0x81,0x67,0x8C,0xDE,0x89,0xD1,0x72,0xAD,0x04,0x2D,0xB8,0x30,0x2F,0xEA,0xC1,\r
+0x1F,0xBD,0xE4,0x26,0x4C,0x9F,0xDF,0xAC,0xA2,0x39,0x27,0xBA,0x1C,0x63,0x42,0x3D,\r
+0xDE,0xD2,0xDE,0x78,0xF4,0x81,0xAC,0xD1,0xDB,0xE9,0x76,0x15,0xEE,0xC9,0x72,0x5E,\r
+0x17,0xAE,0xFA,0x0F,0x9E,0x54,0x76,0x22,0x6B,0x66,0xF4,0x1F,0xD8,0xB3,0xD6,0xB9,\r
+0xA9,0x68,0x90,0x69,0x82,0x46,0x07,0x9A,0x50,0x09,0x44,0x10,0xC6,0x0B,0xA5,0xC4,\r
+0xF2,0xC5,0x7D,0x1F,0x6D,0xE2,0x70,0x9B,0x0B,0x85,0x71,0x20,0xA6,0x34,0x46,0x41,\r
+0x7D,0xF8,0xA3,0x70,0x0E,0x4D,0x45,0xF6,0x88,0x18,0xE0,0x0F,0x1B,0x4B,0x02,0x94,\r
+0x90,0x80,0x3A,0x49,0x46,0x2F,0x50,0x2E,0x4E,0x7A,0x39,0xA8,0x8F,0x27,0x58,0x49,\r
+0xAE,0x5D,0xFC,0xB9,0x87,0xCD,0xE7,0xA8,0x6D,0xEF,0xCF,0xE6,0xFD,0x04,0xCA,0x74,\r
+0xD6,0xC1,0xC0,0x51,0x29,0x71,0x6A,0xEF,0x7A,0x28,0x83,0xA5,0x36,0xD6,0x63,0xFA,\r
+0xC7,0xF5,0xF1,0x44,0x3A,0x58,0x74,0xE7,0x95,0x54,0x52,0x11,0xA7,0xE5,0x8F,0xD3,\r
+0xBE,0x86,0xBA,0x08,0xA3,0x3B,0xA8,0xAD,0x0E,0x33,0x85,0x7F,0x56,0xE9,0x80,0x7F,\r
+0x3B,0xB9,0x59,0x68,0x88,0xF6,0x88,0x18,0x5C,0x0B,0x81,0xB4,0x87,0x0D,0x25,0xEA,\r
+0x4A,0xD9,0x0C,0x0D,0x2E,0xF5,0xB7,0xD7,0xC2,0xDA,0xA2,0x85,0x04,0x22,0xB8,0x7B,\r
+0xA3,0x6A,0xAD,0x66,0x95,0x21,0xA4,0xB6,0xDA,0x20,0xE4,0xC4,0xBB,0x2A,0x0A,0xF3,\r
+0x97,0xB5,0x56,0x99,0xEE,0xD2,0x5D,0x47,0x64,0x5B,0xFE,0x1D,0xEA,0x47,0x0D,0x38,\r
+0xC3,0x3E,0xC9,0x16,0x49,0x14,0x3F,0x9E,0xB7,0x08,0x36,0x8E,0x52,0x67,0xFF,0x19,\r
+0xF0,0xD4,0x5E,0x39,0x5F,0xB6,0xC1,0xA4,0x3C,0xE8,0x04,0x8B,0x92,0x39,0x14,0xFB,\r
+0x69,0xE8,0xDD,0x93,0xBF,0x29,0xD9,0x15,0xE9,0x32,0xF7,0xE1,0x61,0x42,0xED,0x0A,\r
+0x59,0xFC,0x1E,0x3E,0x9D,0x9E,0x16,0x3E,0x17,0x00,0x51,0xEF,0x05,0xF3,0x71,0xE9,\r
+0x2C,0x57,0x73,0x09,0xF7,0x4B,0xCC,0xCD,0x5A,0x82,0xBA,0x4D,0xB8,0x8C,0x35,0x3C,\r
+0x9D,0xB7,0x6B,0x96,0x69,0xAC,0xCD,0xBF,0x5F,0x34,0x4E,0x12,0xBF,0xA4,0x75,0x95,\r
+0x57,0x35,0x1B,0x63,0x1B,0x25,0xDB,0xD0,0xD9,0x1F,0x2B,0x62,0x2C,0xE0,0x6F,0xE1,\r
+0xE3,0xF1,0x4C,0x0A,0xF6,0x8E,0x91,0xDB,0x4A,0x05,0x5F,0x26,0x10,0xC7,0x40,0xF8,\r
+0xDD,0x2C,0x8A,0xFA,0x9B,0xDF,0x96,0x10,0xB1,0x81,0x0D,0x77,0x7D,0x8D,0x68,0x2A,\r
+0xCE,0x09,0x98,0xC9,0x25,0x80,0x65,0x43,0xFE,0xF5,0xBB,0xA2,0xA0,0xCD,0xCF,0x7A,\r
+0x4B,0x36,0x7B,0xA9,0x7B,0x40,0x8E,0xA1,0xCB,0x6E,0x93,0x7E,0x5E,0xC3,0xFD,0xDC,\r
+0xCA,0xC2,0xA0,0x9B,0x7D,0x01,0x0E,0x8F,0x23,0x52,0xEB,0xE2,0x86,0xDC,0xEC,0x78,\r
+0xDF,0x3D,0xA9,0xDC,0x89,0x33,0xD5,0x0E,0xB2,0xBE,0xC2,0xD1,0x37,0x07,0xAA,0x68,\r
+0xDA,0x19,0xE6,0x2A,0xC8,0x2B,0x2F,0x48,0xD4,0xD4,0x7C,0x17,0xE5,0x45,0x30,0x32,\r
+0x23,0xDC,0x8F,0x24,0x36,0xCF,0xAA,0xE9,0xEF,0x8B,0x1B,0x8E,0xAA,0xD8,0xE9,0x5C,\r
+0x47,0xAC,0xEF,0x70,0x61,0x5B,0x5A,0x67,0xDD,0xB4,0xAA,0xDA,0x0A,0x9A,0x08,0xE3,\r
+0xED,0x8C,0xD6,0x98,0x81,0xED,0x81,0x26,0xD8,0x86,0x4A,0x51,0x77,0x28,0xD7,0x9A,\r
+0xF6,0xF8,0xD0,0x42,0x2F,0x5F,0x7E,0xDA,0x11,0x88,0x4F,0x0C,0x91,0xF6,0x48,0x02,\r
+0x9C,0x9E,0x6E,0x84,0x38,0x1C,0x32,0x1D,0x36,0x91,0x60,0x30,0x9D,0x07,0xE4,0x0D,\r
+0x6C,0x2A,0x8A,0x00,0x3A,0x6B,0x6F,0xEB,0x67,0xC3,0xE4,0xCB,0xE4,0xFB,0x1F,0xC9,\r
+0xA9,0x31,0x03,0xE7,0xD0,0x80,0x4A,0x21,0x26,0x85,0x1E,0xD3,0x45,0x7C,0xE8,0x2B,\r
+0x80,0xBB,0xA3,0x33,0xAE,0x07,0xB2,0xB1,0x2E,0x0D,0xAC,0x6C,0xF3,0x9C,0x33,0x6A,\r
+0xE8,0xD1,0xD8,0x51,0x92,0x20,0xAB,0x9E,0xC5,0x28,0x66,0x86,0x6C,0xBE,0x57,0x36,\r
+0x17,0x94,0x90,0xD9,0x03,0x13,0x82,0x72,0x46,0xF4,0x4B,0xB6,0xD3,0x24,0x12,0x98,\r
+0xFF,0xBF,0xC5,0xBD,0xD4,0x0E,0x2C,0x5E,0x94,0x7A,0xE2,0x7D,0x10,0xC9,0x9E,0x12,\r
+0x35,0x55,0xE0,0x56,0x21,0x8C,0xE6,0x2E,0x1D,0x24,0x40,0xFD,0xA8,0xD7,0xE3,0x61,\r
+0xC6,0x0A,0xB3,0xE8,0x22,0x2A,0x29,0x11,0xE9,0xA5,0x9B,0xCF,0xD0,0xEE,0x0E,0xF8,\r
+0x8F,0x4A,0x0F,0x3F,0xA6,0x2D,0x11,0xCC,0x43,0xC6,0xAB,0x3D,0x25,0x19,0x99,0x7E,\r
+0x69,0x77,0x84,0xC9,0x2E,0x8E,0xEC,0x13,0xEE,0x9D,0x46,0x4B,0xDC,0x1F,0xA2,0xF7,\r
+0x77,0x5E,0x8C,0xDA,0xE1,0xD2,0x04,0xC5,0x76,0xC1,0xC7,0xED,0x61,0x8A,0xED,0x64,\r
+0xD4,0x39,0xA0,0xCD,0x05,0xEA,0xB9,0xFB,0x69,0x65,0xD6,0x35,0xE5,0x3E,0x09,0x94,\r
+0x56,0x74,0x4B,0x6F,0x6D,0xFF,0x9F,0x65,0xFC,0x83,0x05,0xA7,0xBE,0x75,0xD9,0x9F,\r
+0x63,0xDB,0x26,0x0C,0x18,0xF4,0x0B,0xB7,0x58,0x46,0x07,0xAB,0xF6,0x17,0x01,0x8A,\r
+0xB4,0xF3,0xBC,0xCE,0x90,0x57,0xF6,0x68,0xBC,0xD3,0xA2,0x7A,0xEC,0x44,0x97,0x7B,\r
+0x48,0x5D,0x43,0x7C,0x1C,0x7A,0x6D,0xC8,0x38,0x37,0x52,0xCE,0x4E,0x09,0x7C,0xF9,\r
+0x9D,0x79,0x1C,0x1A,0xBC,0x1B,0x0A,0xC0,0x4C,0x76,0xC4,0x06,0xF2,0x59,0x25,0x37,\r
+0x96,0x32,0xCC,0x41,0xE4,0x8D,0xF0,0x73,0xD7,0x36,0x25,0x6A,0xF8,0xE9,0xA7,0xB8,\r
+0x89,0xFC,0xB6,0xCC,0x68,0xA0,0x6B,0xD3,0xA6,0x45,0x53,0x29,0x16,0x88,0xB0,0x92,\r
+0x58,0x62,0x95,0xFD,0xB7,0x97,0x66,0x82,0x28,0x23,0x2C,0x2D,0xA2,0x67,0x61,0xEE,\r
+0x34,0xB2,0x92,0xC8,0x1E,0x0D,0x30,0x3E,0x87,0x72,0xFC,0x54,0x15,0x42,0xAC,0xF2,\r
+0xC2,0xB0,0xCF,0xBF,0xC5,0xB4,0x5B,0x10,0xE2,0x31,0x49,0xBA,0xCA,0xBD,0x98,0x09,\r
+0xF3,0xA5,0xDE,0x8B,0xF4,0xE6,0x15,0xF4,0x64,0xDF,0x84,0x01,0x9F,0x08,0xEE,0x30,\r
+0x41,0x1A,0x56,0x83,0x25,0x02,0x80,0x51,0xC4,0x3E,0x3B,0x43,0x23,0x58,0xB7,0xFE,\r
+0x74,0xB5,0x3B,0xE0,0xCA,0xB6,0x51,0x2D,0x8F,0xFA,0x4E,0xEB,0xB0,0x8B,0x7F,0xAD,\r
+0x59,0x85,0xE7,0x63,0x66,0x73,0xF3,0x27,0xB9,0xE1,0x42,0xF1,0xAF,0x53,0xDB,0xBC,\r
+0x7A,0xA3,0xE5,0x72,0x14,0x50,0xCE,0xB5,0xA4,0x4F,0x6E,0x26,0xC0,0x0D,0x1A,0x86,\r
+0xFD,0xB3,0x00,0x19,0xFF,0x6A,0x79,0xB6,0x7D,0x55,0x15,0x98,0x95,0xB8,0x6C,0xBF,\r
+0x3A,0xA4,0x4C,0x5A,0x34,0xB8,0xF7,0x1F,0xE1,0x2D,0x29,0x70,0x3B,0x04,0x2B,0x32,\r
+0xAF,0x87,0xBA,0x14,0x46,0x9B,0xCA,0x8D,0x3C,0x13,0xEF,0x80,0xFA,0xE6,0xAD,0x85,\r
+0xCD,0x41,0x63,0xB3,0xD2,0xF7,0x17,0xD7,0x44,0xFE,0x76,0xB9,0xB2,0x84,0x75,0x90,\r
+0x0F,0x0B,0x21,0x39,0xCD,0x9E,0xF8,0x6D,0x65,0xC9,0xD9,0xC4,0x92,0x3C,0x54,0x62,\r
+0xDE,0x95,0x02,0x08,0x4E,0xB1,0x69,0xF0,0x05,0xB8,0x8C,0xA1,0x34,0x3F,0x9B,0x5D,\r
+0xE6,0xC7,0x06,0xC3,0x9F,0x55,0xFC,0x55,0x3A,0x3D,0x6F,0xC1,0x1F,0xF2,0x2E,0x7D,\r
+0x81,0x5C,0xD1,0xAD,0x6E,0x59,0x50,0x5A,0x49,0x44,0x24,0x8D,0x86,0x91,0x64,0xA1,\r
+0xEC,0x6B,0xA4,0x06,0xD5,0xDF,0xBE,0x97,0x01,0x9C,0x31,0xEF,0xF0,0x56,0x2F,0x0A,\r
+0xD1,0x64,0xAE,0x04,0xF9,0x93,0x42,0x3F,0x3D,0x05,0xB2,0x45,0x62,0x40,0xF1,0x04,\r
+0xB9,0x0E,0xD5,0x66,0x73,0x47,0xE2,0x16,0x2B,0x3F,0x4C,0xE7,0x17,0x4D,0xA6,0xCF,\r
+0x22,0x3B,0xFD,0xBA,0x4C,0xC6,0x34,0x06,0x2F,0x1B,0xF1,0xA9,0x2C,0x63,0x07,0x91,\r
+0x50,0xC2,0xF2,0x9C,0x6F,0x88,0xC2,0x93,0x79,0x71,0xA8,0xD6,0xD1,0x2B,0x18,0xA5,\r
+0xDC,0x99,0xC7,0xAC,0x0F,0xB7,0x47,0x70,0xD4,0x2A,0x45,0xA0,0x3E,0x8F,0x19,0xD2,\r
+0xB3,0xA2,0x77,0xA3,0x11,0x0F,0x3A,0x03,0x12,0x94,0x2F,0xC6,0x22,0x9D,0xA1,0xA3,\r
+0x3C,0x12,0xF5,0xA9,0x27,0x75,0xDD,0xA7,0x6E,0x5D,0x0B,0xB1,0x48,0x48,0x52,0x79,\r
+0x20,0x37,0x38,0x1E,0x69,0x71,0xF9,0x1A,0xB5,0x4D,0x4D,0x00,0x99,0x49,0xC0,0xB0,\r
+0x54,0x78,0x8E,0xCB,0xB4,0x31,0xA9,0xBD,0x90,0x5E,0x5F,0x33,0x27,0x16,0x93,0x43,\r
+0xD0,0x83,0xDC,0x9A,0xD9,0x7B,0x7B,0x95,0x4D,0x60,0x99,0xC3,0x4A,0x47,0x58,0x44,\r
+0xCA,0x10,0xA8,0xDE,0xE5,0x5C,0x62,0xBA,0x89,0xD4,0xCE,0xAA,0xA7,0xEC,0x53,0x0E,\r
+0x01,0x1D,0xFF,0xAB,0x2C,0xF9,0xB1,0xE5,0xA5,0x59,0x33,0xE3,0x74,0xE2,0xCB,0xFA,\r
+0x6B,0x7B,0x41,0x6D,0xFE,0xBB,0xEB,0x7F,0x81,0x5C,0x7C,0x15,0x35,0xFA,0x8D,0x00,\r
+0x87,0xEA,0x68,0x5E,0x4F,0x60,0xFB,0x39,0x7E,0x49,0x75,0x52,0xC1,0xC8,0x0C,0xDB,\r
+0xBB,0x02,0x10,0xC2,0x97,0x7F,0x5F,0x28,0x8A,0xC8,0xAE,0x60,0xC7,0x89,0x22,0x5B,\r
+0x3D,0xF5,0x87,0x37,0x5B,0x85,0x78,0xC1,0x68,0x73,0x8B,0xF0,0xE3,0x7F,0x27,0x14,\r
+0xDD,0x7E,0xB5,0x32,0x9B,0xDB,0x9A,0x2A,0x82,0x40,0x1C,0xDF,0xF5,0xDD,0x1D,0xEA,\r
+0x8E,0xAD,0x7D,0xA1,0x23,0xFB,0xBB,0xD8,0x09,0x14,0x83,0x50,0x52,0x1B,0xC4,0x88,\r
+0xF5,0x13,0x67,0x78,0x72,0x96,0x70,0xDF,0xD6,0x20,0x78,0xAF,0x29,0xE8,0x35,0x71,\r
+0xE1,0x96,0xCD,0xAE,0x76,0x18,0x16,0xA0,0x0B,0x1E,0xBE,0x5F,0xD5,0x65,0x3C,0x18,\r
+0x57,0x93,0x39,0xF1,0x71,0x30,0xBF,0xE0,0xEB,0xAF,0xA6,0xC0,0x4B,0x82,0x4E,0x19,\r
+0xD5,0xDE,0xD2,0x53,0xCC,0x4F,0x6A,0xA4,0x40,0xDA,0xCB,0xF7,0x21,0x57,0xBD,0xC3,\r
+0xE7,0x20,0x74,0x5D,0xA8,0xFE,0x89,0x38,0x54,0xEA,0x08,0x5A,0x03,0xE0,0x96,0x0C,\r
+0xD3,0x7B,0x9E,0x0B,0xB8,0xF3,0xB3,0x07,0x5F,0xFE,0xB7,0x0B,0xF1,0xB7,0xB9,0x3A,\r
+0x04,0x53,0x04,0xC9,0x30,0x50,0x4E,0xD8,0xBB,0x6B,0x12,0xDA,0xEB,0xE4,0x2F,0xCB,\r
+0x64,0x99,0x18,0xCA,0xA5,0xED,0x01,0x4B,0x6E,0xDD,0x66,0x95,0xE2,0x9E,0xB1,0x24,\r
+0xE6,0xD4,0xF3,0x68,0xCD,0xF8,0x27,0xD5,0xFB,0x3B,0xB5,0x07,0xB9,0xD5,0x61,0x2F,\r
+0x26,0x92,0x74,0x46,0x44,0x8A,0x48,0xC3,0xD0,0x8E,0x95,0xCA,0xFF,0x49,0x1F,0x08,\r
+0x39,0x5C,0x0E,0xCB,0xC8,0xA7,0xD3,0x63,0xA1,0xFD,0xE3,0x89,0x11,0x28,0x08,0x22,\r
+0xF8,0xFD,0xFB,0x7B,0xBC,0x7D,0xD5,0x78,0x3F,0x8F,0xE2,0x6E,0x49,0xA9,0xC4,0x49,\r
+0x2D,0xD9,0xA4,0x1D,0x1C,0x1C,0xB2,0x70,0x4B,0xCE,0x74,0xA6,0xF5,0xF9,0x9D,0x87,\r
+0x72,0x10,0x77,0xB8,0x65,0xB3,0xE3,0xA0,0xE5,0x89,0xF9,0x1A,0xCD,0x1D,0x20,0xB9,\r
+0x43,0x05,0x66,0x8C,0x54,0xE1,0xAD,0x44,0x63,0x67,0x34,0xA1,0x98,0xA8,0x56,0x80,\r
+0xE8,0xC2,0x2D,0xFA,0x17,0x90,0xDE,0x32,0x2F,0x9B,0x9C,0x8D,0xA5,0xC7,0xD9,0x5E,\r
+0x84,0x12,0x2A,0xCF,0xBE,0x0A,0x88,0x8E,0x80,0xCA,0x4C,0xF4,0x12,0xE2,0x14,0x42,\r
+0xE9,0x25,0x5F,0x64,0xC6,0x74,0x4B,0x97,0xBE,0x59,0xF2,0x51,0xA8,0xF3,0x63,0x0C,\r
+0xCA,0x03,0x5D,0x75,0xB4,0x57,0x76,0x05,0xA3,0xF7,0xDE,0x86,0xC7,0xAD,0xA2,0x36,\r
+0xF1,0xBA,0xEE,0x84,0x85,0x05,0x38,0xE1,0xC3,0x86,0x8B,0xE3,0x24,0xF8,0x0F,0x4E,\r
+0xC4,0x15,0x83,0xE7,0x6A,0xB1,0xE9,0x9D,0x88,0x42,0xFE,0x4B,0xB7,0x2B,0xC7,0x1D,\r
+0x5D,0x2C,0x6E,0x9F,0x21,0xEA,0x39,0x96,0xDF,0x3E,0xFA,0xF1,0x70,0x88,0x6F,0x2A,\r
+0x46,0x58,0x68,0x45,0x8F,0x58,0xC6,0x6A,0x16,0x30,0xFF,0xAC,0x96,0x56,0xF0,0xB2,\r
+0x93,0x7C,0x37,0x23,0x96,0xC8,0x12,0x59,0xE8,0x33,0xAB,0x2E,0xAD,0x78,0x51,0xEC,\r
+0xF7,0x0C,0x57,0x77,0xC1,0x5C,0xE2,0xD7,0xDA,0x0C,0x1A,0x7A,0x0D,0x3A,0xB0,0x53,\r
+0x19,0x91,0xBB,0xE0,0x70,0x87,0xF2,0x91,0x21,0x3D,0xAE,0x73,0x42,0xDC,0x50,0x9B,\r
+0x30,0x1B,0x1B,0x34,0x0E,0x00,0x0A,0x01,0x29,0xB5,0x1C,0xCC,0xF4,0x3C,0x8B,0xDA,\r
+0x2C,0x3E,0xD6,0x83,0x98,0x1B,0x8A,0xAD,0x31,0x29,0xD0,0x90,0x9A,0xA7,0x5C,0xBD,\r
+0xDC,0x8A,0x32,0x07,0x9A,0x6C,0xD7,0x5B,0x60,0x7B,0x54,0x6B,0xE3,0x5B,0xA7,0x79,\r
+0x4F,0x1F,0x7D,0xBA,0x74,0x09,0x94,0xEE,0x93,0xC2,0x52,0xDD,0x17,0x69,0x26,0xA2,\r
+0x85,0xF5,0x58,0x51,0x81,0x8B,0x5E,0x9E,0x1A,0x9C,0xF0,0x5D,0xAF,0x77,0x5B,0xD1,\r
+0x58,0x71,0x60,0x56,0x32,0x27,0x13,0x2E,0xC2,0x90,0xD6,0x26,0x6B,0x1E,0xEF,0x86,\r
+0xA7,0x34,0x28,0xDE,0xA3,0x14,0x3A,0xC2,0x41,0x4C,0xFB,0x16,0xD4,0x84,0xAA,0x28,\r
+0xD9,0xD7,0x3C,0xCE,0x8E,0x89,0x54,0xA3,0xE9,0x25,0xF6,0xEB,0xDB,0xBF,0x1A,0x47,\r
+0xC7,0xFE,0x34,0xDD,0x41,0xD5,0xBC,0x75,0x71,0x79,0x77,0x4D,0x66,0x2A,0x55,0xD4,\r
+0x76,0xAA,0x0B,0xEF,0x82,0x2D,0x91,0xA1,0xEE,0x1D,0x2B,0x6F,0xD7,0x4E,0xB6,0x48,\r
+0x3F,0xEA,0xB7,0x38,0x06,0x2A,0xA9,0x7C,0x44,0x7E,0x1B,0x9D,0x22,0xB9,0x21,0xCE,\r
+0x60,0x23,0x64,0x9D,0x79,0x7C,0xC3,0x25,0x4A,0xD8,0x29,0x63,0x4D,0xE7,0xE0,0xF4,\r
+0x7A,0xB0,0x10,0xD9,0x45,0x5B,0xDA,0x0A,0x8E,0x6C,0x7E,0x0A,0xA0,0x4C,0xEB,0xBE,\r
+0x90,0x97,0x80,0x19,0xC9,0x76,0x41,0xAA,0xB2,0xF5,0xFD,0xA0,0x9E,0xE9,0x78,0x00,\r
+0xE4,0xD8,0x36,0xCC,0x14,0x36,0x11,0x0D,0x97,0xE6,0xEF,0x93,0x20,0xB6,0x2B,0xF3,\r
+0x37,0x4A,0xD0,0x59,0xEF,0x67,0x43,0x89,0x79,0xF1,0xC5,0xF2,0xC6,0x68,0xB4,0x6B,\r
+0x0B,0xA2,0xA8,0xC5,0x37,0x78,0xE7,0x98,0x8D,0x70,0x1E,0xC0,0xC0,0x29,0x9A,0xEB,\r
+0xB1,0xBD,0x47,0xAC,0x8C,0xFE,0x09,0x55,0xA2,0xE1,0x83,0x43,0x73,0x42,0x73,0x4A,\r
+0xDB,0xDB,0xF9,0x6A,0x5E,0xBC,0x53,0xCF,0x86,0xE4,0xCC,0xB5,0x32,0x5A,0x35,0xB0,\r
+0x3E,0x0D,0xC5,0xA6,0x83,0xFC,0x03,0x68,0x0E,0xAC,0x33,0xF0,0x55,0xBB,0x7C,0x38,\r
+0x45,0xB3,0xDF,0x7F,0xD2,0x91,0xC8,0x6F,0xD1,0x98,0xC8,0x0F,0x2E,0x48,0x8D,0xC1,\r
+0x8D,0x55,0x3F,0x30,0xFB,0x82,0xC0,0x71,0x6F,0xCB,0x3B,0x50,0xE4,0xDF,0x9F,0xA4,\r
+0x6D,0xDE,0x0D,0x35,0x3B,0xDC,0x22,0x9A,0x85,0xF8,0xAC,0x7F,0xF2,0x7D,0xA5,0x5A,\r
+0x65,0x7E,0x6A,0x54,0x6C,0x48,0xD2,0x14,0x47,0x62,0x7B,0x57,0x26,0xF7,0x05,0x73,\r
+0x57,0x80,0xCC,0x5A,0x08,0xF9,0x31,0x88,0x53,0x52,0xB8,0xFA,0x04,0x40,0x2E,0xBC,\r
+0x51,0x36,0x75,0xA9,0xD6,0x1F,0xAE,0x10,0x0C,0xA6,0x0E,0xFF,0xD2,0xC5,0x84,0xA8,\r
+0xE7,0x33,0x81,0xF6,0xD1,0x37,0x07,0x50,0xEC,0x17,0x16,0x60,0x4C,0x22,0xF6,0xA9,\r
+0x1F,0x27,0x02,0x13,0xE6,0x9C,0x72,0x3D,0x3B,0xAB,0x5F,0x20,0xFD,0x46,0x15,0x35,\r
+0x7D,0xE1,0xDB,0xB4,0x72,0xF0,0xAF,0x67,0x43,0x46,0xC6,0x19,0xB5,0x24,0xCD,0x20,\r
+0x4D,0x13,0xB8,0x1E,0x5F,0x6D,0xC1,0x06,0x7A,0xED,0xA5,0x38,0x92,0x18,0xD4,0x0F,\r
+0x8A,0x04,0xF4,0x5D,0x94,0xBF,0x4F,0xAF,0xE6,0x95,0x99,0xD0,0x3C,0xA4,0x93,0x82,\r
+0x56,0x67,0xBE,0xC4,0x3F,0x52,0x44,0xE5,0x3D,0x85,0xDF,0x61,0x18,0x52,0x96,0xCD,\r
+0x31,0xFC,0x69,0xAA,0xCE,0x5E,0xE8,0xEA,0x4E,0xFC,0x94,0x2D,0x81,0x31,0xDC,0x11,\r
+0xBF,0xAB,0x99,0x3E,0x6D,0x99,0x40,0xDD,0x62,0x71,0x69,0x64,0x95,0x9C,0xEC,0xD2,\r
+0x6E,0x35,0xBA,0x0F,0xEE,0xB6,0xD1,0x40,0x02,0x00,0x3C,0x01,0x33,0x9F,0x23,0xED,\r
+0x09,0xAE,0x6D,0x61,0xD3,0x40,0x5A,0xA6,0x2C,0x87,0xFC,0x47,0x10,0xED,0x1E,0x7F,\r
+0x92,0x9B,0x45,0xBD,0xEC,0xC1,0x8C,0xB6,0x28,0xA3,0x41,0x09,0x2B,0xC3,0xBF,0x21,\r
+0x5C,0xCB,0x1C,0x01,0x75,0xD8,0x06,0x27,0x06,0x24,0x81,0x4F,0xF7,0xF6,0x97,0xBA,\r
+0x61,0xC4,0x16,0x03,0x59,0x94,0xFA,0x8F,0x3A,0xBD,0x02,0xE5,0x65,0xE0,0x49,0xB4,\r
+0x03,0x02,0xCF,0xA4,0xB1,0x08,0x82,0xB3,0x15,0x2C,0x9F,0x66,0x25,0x3D,0x19,0x13,\r
+0x8C,0xB2,0x4D,0xAE,0x87,0x72,0x65,0x17,0x69,0xE5,0xBB,0x11,0x4F,0xE8,0xEA,0xC9,\r
+0xE0,0x62,0x4A,0x9B,0xCF,0x8F,0x7A,0x23,0x7E,0xC9,0x18,0x76,0xD6,0x8B,0xA0,0x15,\r
+0x6C,0x39,0x7F,0xAB,0xAF,0xB0,0xFF,0xC0,0xD3,0x92,0xF5,0x00,0x39,0x2F,0xA1,0x62,\r
+0x39,0x27,0x14,0x2E,0xC0,0x35,0xD1,0xB0,0x77,0x6E,0x51,0x60,0x48,0xE1,0x7E,0x87,\r
+0xFD,0x6C,0x61,0x86,0x53,0xE6,0x82,0x78,0xD8,0x5B,0x3C,0x03,0xA7,0x55,0x02,0x56,\r
+0xE6,0x5A,0x6D,0x9C,0x4C,0x3E,0x93,0xDC,0xE8,0x76,0xE0,0x80,0x0B,0x90,0x08,0xF4,\r
+0x48,0x47,0x41,0x4B,0x23,0x60,0xA9,0x1D,0xCE,0x55,0xE2,0x91,0x79,0xB3,0x9A,0xC9,\r
+0x24,0xCB,0x03,0x40,0x41,0x0A,0xC1,0x66,0x0F,0x77,0x92,0x1E,0xDA,0x74,0xAD,0x61,\r
+0x75,0x64,0xD3,0x39,0xF6,0x2F,0xDD,0xAB,0xDF,0x1B,0x95,0x2B,0x73,0xEE,0x11,0x37,\r
+0x36,0x01,0x66,0xD7,0x29,0xD0,0x26,0x9F,0xDD,0xED,0xC8,0x5C,0xA8,0x57,0x3F,0x5C,\r
+0xD8,0x87,0xAB,0x6C,0x7C,0x65,0x1F,0xE9,0xC8,0xDC,0xD9,0x68,0x99,0x05,0xDB,0x12,\r
+0x30,0xDB,0x7D,0xA3,0xAD,0x64,0xD6,0x7B,0x30,0x67,0x44,0x9F,0x71,0x99,0xE7,0x6A,\r
+0x71,0xAF,0xEB,0x6B,0x11,0x34,0x18,0x22,0x14,0xB2,0x1B,0xF9,0xD1,0xF8,0xEF,0x0D,\r
+0x31,0x34,0x0A,0x07,0x1B,0x84,0x97,0xA0,0x5F,0xB9,0xCB,0xA2,0x89,0x6E,0x5C,0xF7,\r
+0x42,0x45,0x7C,0x44,0xF5,0xE5,0xBD,0xB7,0x91,0xA6,0xB1,0x2F,0x05,0x43,0xFC,0x6C,\r
+0x62,0x8A,0xF9,0x58,0x06,0x53,0xBB,0x0E,0x54,0xFB,0xA7,0x2E,0x68,0x09,0xD4,0xBE,\r
+0x84,0x1F,0x2A,0xCA,0x5D,0x18,0xB0,0xDE,0x19,0x79,0x4C,0x8C,0x00,0x1C,0x4A,0x98,\r
+0x41,0xBB,0x28,0xC6,0x15,0x7A,0xA5,0x06,0xB6,0x4C,0x21,0xEF,0x75,0x17,0x98,0x0C,\r
+0xD4,0x5F,0x8D,0x17,0x0F,0x29,0x54,0x90,0x9E,0x9B,0xBB,0x2D,0xFD,0xB4,0x47,0xF1,\r
+0xA2,0x0A,0xB4,0xA2,0x33,0x83,0xD7,0x09,0x67,0xE9,0xB4,0x0B,0x4F,0xC9,0x3E,0x2E,\r
+0xC1,0xA0,0x84,0x50,0xC6,0x74,0x51,0x9E,0x27,0xA0,0x08,0xDC,0xCB,0xCE,0xE3,0x16,\r
+0x9A,0x0D,0x69,0x26,0x3F,0x72,0xD8,0xA5,0x1A,0x46,0x83,0x2A,0x43,0x6D,0x3C,0xEB,\r
+0xC6,0x95,0xE8,0x80,0x82,0xE7,0x4B,0xEA,0x33,0x58,0x8B,0x39,0x8C,0x31,0xEA,0x03,\r
+0x2F,0x26,0x49,0xEB,0x8F,0xD3,0x19,0x50,0xBC,0xC7,0xDF,0xB2,0xFF,0xC3,0xB1,0xAC,\r
+0xF3,0xA5,0x64,0xDB,0x30,0x49,0xB7,0x15,0xF9,0x38,0x97,0x3A,0x6E,0xF0,0x5D,0x85,\r
+0x7D,0x77,0xCD,0x10,0xF3,0xA4,0x3D,0x99,0xD2,0xD0,0xC2,0x5E,0xB9,0xED,0x71,0x2B,\r
+0x23,0xFE,0x6F,0x90,0x4B,0xBA,0x4E,0xE4,0x38,0x1A,0xE7,0xB5,0x4C,0x6F,0x01,0xE1,\r
+0x96,0xD5,0x4F,0x5D,0x7E,0x6A,0x22,0xE3,0xF3,0xB3,0x69,0x67,0x55,0xFF,0x32,0x35,\r
+0xC4,0x84,0xCB,0xA6,0x07,0x96,0xE6,0x18,0x47,0x43,0x8D,0xE3,0x57,0x88,0xC4,0x68,\r
+0x82,0xC5,0x31,0xBE,0xA6,0x11,0x04,0xEF,0x5C,0x86,0x04,0x04,0xBD,0x63,0x0E,0x4D,\r
+0x0A,0xCD,0x83,0x01,0x10,0xF1,0x45,0x34,0xD6,0xAF,0xA4,0xD0,0xC3,0xE4,0x9E,0xB5,\r
+0x8C,0x0C,0x34,0xE3,0x49,0xB5,0x73,0xEE,0xB1,0x0C,0x88,0xC7,0x5B,0x2C,0xC6,0xAD,\r
+0xB3,0x3E,0x85,0xB7,0xE9,0xF7,0xCC,0x0F,0xC1,0x68,0xE8,0x93,0x0C,0xB8,0x48,0x5D,\r
+0x81,0x3B,0x65,0x3C,0x94,0x45,0xB5,0xD0,0xE1,0xC2,0xD1,0x7B,0xEC,0x0E,0x09,0x86,\r
+0x8F,0xF2,0x60,0x61,0x72,0x9B,0x2D,0x4F,0x95,0xD9,0xD7,0xA1,0x42,0xBC,0xF5,0x79,\r
+0x19,0xE8,0x91,0x32,0x36,0x08,0x37,0x3B,0xFB,0xCE,0xCA,0x4D,0x1B,0xFB,0x8F,0x11,\r
+0xA8,0x08,0x89,0xAD,0xA8,0xEF,0x36,0x49,0xFE,0x78,0x3E,0x12,0x1C,0xD3,0xCF,0xB8,\r
+0xDD,0xA3,0xE4,0x9A,0xC2,0x3A,0xEC,0xBA,0xB3,0xFA,0xD5,0xB0,0xA1,0xAC,0x8B,0x6D,\r
+0xED,0xB7,0x27,0x37,0xE0,0x8D,0x23,0x91,0x4D,0xC8,0x73,0xBE,0xC5,0x1D,0x17,0x8E,\r
+0x74,0x8B,0xA4,0x9D,0x00,0x12,0x3B,0x20,0x98,0x12,0x80,0xD4,0x36,0x66,0xEE,0x7F,\r
+0x47,0x61,0x33,0xB2,0x16,0xB0,0xC5,0x1A,0x13,0xF2,0xB2,0xD1,0xF6,0x38,0x05,0x9D,\r
+0x13,0xEA,0xAC,0x3D,0xB1,0x76,0xA7,0xC3,0xC0,0xA1,0x7A,0x42,0x4E,0x18,0xF7,0xBC,\r
+0x27,0x35,0x57,0xC2,0xCA,0x85,0x5E,0x32,0x7E,0xDA,0x60,0x9B,0x1F,0x75,0xF0,0x77,\r
+0x5E,0x46,0x1C,0x8E,0x97,0x8F,0xD5,0xCC,0x70,0x2E,0xF8,0x48,0x41,0x1A,0xCA,0xB6,\r
+0x5B,0x62,0x53,0x78,0xD6,0x97,0x2F,0x8A,0x16,0x44,0x46,0x8E,0x93,0x58,0x50,0xEC,\r
+0x4E,0x9D,0x5A,0x3F,0x22,0xA5,0xF4,0x0B,0x87,0xA8,0x6F,0xBD,0x22,0x83,0x16,0xFC,\r
+0xCF,0x69,0x81,0x0D,0x24,0xE4,0x74,0x25,0x6F,0x94,0x17,0x21,0xFA,0x9C,0x07,0x58,\r
+0x4A,0x56,0x62,0x6D,0x7A,0x24,0x9F,0xC7,0x5A,0x0F,0x3F,0xFD,0x04,0x92,0x35,0xFE,\r
+0x59,0x73,0x70,0x5E,0xC4,0x7B,0x6C,0x94,0x15,0x7B,0x89,0x28,0xD9,0xD2,0x92,0xAE,\r
+0x67,0xAE,0xB6,0xAE,0xA9,0x2A,0x6B,0x5F,0xEE,0xFF,0xDB,0x79,0xB4,0x98,0xBA,0x7C,\r
+0xD3,0x6A,0xE1,0xC7,0x44,0x81,0x21,0x54,0x7D,0xE5,0xAF,0x3D,0x88,0xBF,0x95,0x65,\r
+0x76,0x9A,0x87,0xBB,0x32,0x46,0x8A,0x1F,0xAF,0x7F,0xF5,0x7F,0x02,0x6B,0xBC,0xC5,\r
+0x2D,0x37,0x6A,0xCD,0xDD,0xE2,0xFD,0x1E,0xF4,0xF3,0xC0,0x4F,0x62,0x54,0x5F,0x40,\r
+0x93,0xF1,0x00,0xAB,0xC1,0xF0,0x8C,0xA6,0xCF,0x9C,0x70,0x40,0x7C,0xEC,0x2C,0x3D,\r
+0x5A,0x8D,0x24,0xDC,0xAB,0x25,0x56,0x55,0x7F,0x13,0xF2,0x4A,0x4A,0x96,0x88,0xDA,\r
+0x9B,0xE2,0x1E,0x82,0x13,0x3B,0x25,0x28,0x06,0xC3,0xA3,0xE5,0xB8,0x3C,0xB8,0xB9,\r
+0x02,0xDE,0x9D,0x28,0x81,0x2D,0x2B,0xF6,0x09,0xFE,0xA9,0xE7,0x94,0x70,0x10,0x45,\r
+0x38,0xC8,0x63,0x8A,0xF4,0x20,0xE0,0xA1,0x63,0x96,0xD2,0x85,0x1E,0xA4,0x39,0xE5,\r
+0x1C,0xCC,0xDE,0xC4,0xCF,0x0E,0xBE,0x00,0x56,0x0D,0xFA,0x59,0x21,0x25,0x29,0x33,\r
+0xCE,0x86,0xF6,0xA9,0x71,0x51,0x4D,0x53,0x66,0x20,0x26,0xDA,0xA0,0x7D,0x42,0xFF,\r
+0xBF,0xE6,0xA3,0xCC,0xD7,0x52,0x72,0x9C,0xF8,0xF1,0x05,0xEB,0x23,0x52,0xDF,0x6E,\r
+0x3A,0xD9,0x40,0xAC,0xFC,0x9F,0x52,0x29,0xAA,0xC9,0x01,0x20,0xF2,0xB6,0x7A,0xFB,\r
+0x43,0xAA,0x0B,0xE0,0x65,0xFC,0x8E,0x63,0x31,0xAE,0xD6,0x4E,0x03,0xBA,0x75,0x57,\r
+0x52,0x9E,0x3A,0xF5,0x76,0xD5,0x90,0x6B,0xDE,0xD2,0x07,0xFA,0x92,0x89,0x99,0x7E,\r
+0x2A,0x02,0x06,0x1D,0xD8,0x69,0x1D,0x2C,0xC9,0x15,0x4B,0xB9,0x59,0x5B,0x30,0xF0,\r
+0x14,0xDF,0xC0,0xED,0x19,0x8B,0xAA,0xAA,0xEA,0x80,0xBD,0xF7,0x2B,0x78,0xA2,0xCD,\r
+0xF9,0xA7,0x59,0xD4,0x51,0xE9,0xBF,0x72,0x2C,0xE2,0x64,0x50,0xBF,0x14,0xF8,0x10,\r
+0x88,0xBD,0x62,0xD5,0x66,0x54,0x50,0x7C,0xE1,0x9D,0x57,0x46,0xC1,0xC3,0x81,0x98,\r
+0x84,0xB2,0x93,0x79,0x01,0x83,0xCB,0x12,0xAB,0xFE,0xCE,0x9A,0xB8,0x88,0xCD,0xEB,\r
+0x60,0x17,0x42,0xEC,0x39,0x87,0x99,0xD9,0x1E,0x33,0xE5,0xBA,0x3D,0x6B,0xAD,0xD4,\r
+0x4F,0x8A,0xC1,0x7D,0xE8,0xA4,0x07,0xE8,0xD1,0x30,0x43,0x85,0x4C,0x3E,0xC8,0xB4,\r
+0x26,0x30,0xDE,0x92,0x2A,0xE6,0x4D,0x62,0xF0,0x88,0x63,0x77,0x7B,0x91,0xB5,0x95,\r
+0x4A,0x6A,0x4A,0x4F,0x48,0x3F,0x8B,0xC5,0x28,0xEA,0x2B,0x62,0x96,0x08,0x8C,0xED,\r
+0x69,0xF8,0x38,0x72,0xDD,0xC9,0xA8,0x8B,0xAE,0x08,0xEA,0xD5,0xA8,0xCE,0x7C,0x30,\r
+0xBB,0x51,0xF3,0xFC,0x1A,0x85,0xBF,0xC8,0xE9,0xB4,0x44,0x58,0xD0,0xF2,0x94,0xAC,\r
+0xA4,0x40,0x2B,0x58,0xDB,0x70,0x1E,0x78,0xD7,0x44,0x99,0x9E,0xD8,0xEC,0xBD,0xBF,\r
+0xDE,0xE4,0x1D,0xBF,0x54,0xF2,0xAE,0x72,0x24,0x91,0xF3,0x44,0x11,0xC8,0xCA,0xC3,\r
+0x66,0x97,0x03,0xC2,0x3B,0x42,0x95,0x7D,0x9C,0x83,0xEF,0x35,0xAF,0xA2,0xAC,0x05,\r
+0x59,0x74,0x63,0x47,0xB7,0x77,0xCE,0x4D,0x9D,0x27,0x00,0x42,0xF4,0x4F,0xDA,0xA8,\r
+0x17,0xE1,0x40,0xB1,0xC5,0x78,0x37,0x6B,0x82,0x6F,0xFD,0x76,0x9E,0x16,0xA5,0xFE,\r
+0x96,0xF1,0x7F,0x67,0x5E,0x50,0x02,0xB7,0x23,0x41,0xC6,0x28,0xBA,0xAB,0xEB,0xFA,\r
+0x42,0xD8,0xF5,0xC7,0x36,0x2B,0x68,0xD5,0x74,0x4C,0xB3,0xE3,0x80,0x55,0x49,0xEC,\r
+0x0E,0x70,0xD9,0x3B,0x0B,0x21,0x67,0xD7,0xAA,0x5A,0x21,0xED,0x19,0xD6,0xE3,0xD0,\r
+0xAE,0xCF,0x9B,0xDA,0x5C,0x95,0x0E,0x13,0xA7,0x85,0x16,0xBC,0x4D,0x49,0x6C,0x5B,\r
+0xB1,0xDE,0x43,0x7E,0x60,0xED,0xE6,0x8F,0x89,0xC4,0x10,0x3C,0xCC,0x92,0x5E,0xAF,\r
+0x6A,0x98,0xF2,0x6E,0x8C,0xC4,0x77,0xBC,0x08,0xF6,0xE4,0xE7,0xD9,0x9B,0x19,0x50,\r
+0x28,0x02,0x20,0x34,0xE6,0x7A,0x11,0x7A,0x4E,0xEE,0xA5,0x1D,0xDC,0xD4,0xEF,0x74,\r
+0x8D,0x5D,0xE9,0xE7,0x2D,0x2D,0x1C,0x0F,0xD6,0xE0,0x76,0xE9,0x51,0x29,0xA6,0x58,\r
+0xAA,0x72,0xD5,0xFE,0x37,0x59,0x8F,0x4B,0xDD,0x4B,0x9B,0xA3,0xE5,0x7E,0xCF,0x9C,\r
+0xE0,0x5A,0xB8,0x2C,0xB3,0x0B,0x74,0x1A,0x16,0x1A,0xF6,0xA4,0xDB,0xB8,0x3F,0x41,\r
+0xA0,0xFD,0x65,0x7C,0xC7,0xBD,0x3B,0xCF,0x45,0x45,0x48,0x57,0xC8,0xAA,0x0C,0x64,\r
+0x2F,0xDF,0xA4,0x0C,0x00,0xF1,0x2C,0x8C,0x13,0xEC,0xD2,0xEB,0x6F,0xEF,0x56,0x85,\r
+0x9E,0x43,0xC0,0xEF,0x32,0x57,0xD2,0x82,0x38,0x5B,0xF0,0x24,0x5F,0x2C,0xFB,0x91,\r
+0xE1,0x07,0x7D,0x3A,0xB0,0xBC,0x9F,0x20,0xCB,0x8E,0x9A,0xFE,0x2A,0x41,0xCC,0x3A,\r
+0xC9,0x47,0x7A,0x93,0x06,0x48,0x9A,0x7F,0xB9,0x69,0x04,0xFF,0x9B,0x59,0x53,0xDA,\r
+0x47,0x38,0x7E,0xF5,0x12,0xE2,0x1F,0xA9,0xB0,0xE4,0xF8,0x96,0xA5,0x9F,0xA3,0x07,\r
+0x2A,0x3F,0x2F,0x3E,0x69,0xF8,0xA1,0x70,0x41,0x17,0x83,0x6F,0x91,0x64,0x5C,0xD8,\r
+0x0A,0xCD,0x97,0x1F,0x3A,0x30,0x72,0xE3,0x98,0xD1,0x24,0x0D,0xC5,0xFB,0xD3,0x53,\r
+0x54,0x26,0x57,0xFD,0xDA,0x02,0xF9,0xE6,0xA2,0x73,0x32,0xF3,0xF6,0x6C,0xFC,0xB9,\r
+0xD6,0x56,0xA2,0x37,0x67,0x26,0xB7,0xE2,0xB6,0x90,0x22,0x8D,0x88,0x4B,0x60,0xFF,\r
+0x51,0xC6,0xDC,0xCF,0x4E,0x86,0x3D,0x36,0x6D,0x70,0x94,0xCC,0x00,0xF9,0xDF,0xF7,\r
+0xBA,0x0C,0x36,0xEA,0x8B,0x0F,0x26,0xD1,0x9A,0xF7,0x35,0x2E,0x46,0x03,0xC7,0xB6,\r
+0xCD,0xFA,0x34,0xB7,0x7B,0xEB,0x92,0x55,0x61,0x0B,0x4C,0xEA,0x14,0x87,0x3C,0xE7,\r
+0x8E,0x3D,0x23,0xFB,0x11,0x55,0xF4,0x93,0xCD,0xFA,0x40,0xE5,0x0D,0xA8,0x00,0xC0,\r
+0x3C,0xC1,0x8D,0x04,0x0A,0x53,0x80,0x49,0x52,0x24,0xA6,0x7D,0x03,0xAD,0x5D,0x09,\r
+0x8A,0x80,0x6D,0xDF,0xA0,0x6A,0xA0,0xA1,0x8D,0x96,0xDB,0x04,0x31,0x4D,0xD6,0x0C,\r
+0x1E,0x0E,0x3A,0x2F,0xC4,0x0A,0xD0,0xF5,0x6C,0xD4,0x7B,0xBB,0x0E,0xFC,0x82,0x3E,\r
+0x03,0x22,0xED,0x81,0x90,0x09,0x52,0x0B,0x68,0x86,0xB0,0x83,0x44,0x20,0xE1,0xA7,\r
+0x5F,0xF4,0x22,0x69,0x8E,0x01,0x7B,0x18,0x27,0x13,0x0D,0x10,0x18,0xA1,0x47,0x3F,\r
+0xFC,0x2B,0xAA,0x94,0x68,0x8A,0x46,0xEE,0x1C,0x15,0xF4,0x99,0x43,0x4C,0x31,0x92,\r
+0xFB,0xF6,0x2E,0xAC,0x21,0x36,0x06,0x39,0x8B,0xE2,0x01,0x1F,0x20,0x7C,0xC3,0x38,\r
+0x5D,0xC9,0x2D,0x63,0xD2,0x65,0x59,0x87,0x66,0xDB,0x79,0x86,0xA1,0xA7,0xF1,0xCC,\r
+0xDF,0xB9,0xD8,0xA9,0x18,0x40,0xB3,0x6C,0x1B,0xC5,0xC1,0xF5,0xFF,0x05,0x71,0x45,\r
+0xC2,0x95,0x0F,0x07,0xF0,0x15,0x98,0x08,0x97,0x28,0x02,0x7F,0x71,0xAC,0xBA,0x97,\r
+0xF1,0x79,0x9E,0x2E,0x0F,0x5D,0xDD,0x80,0xD2,0xB2,0xBD,0xD1,0xAD,0x81,0x8A,0x14,\r
+0x71,0x34,0x64,0xEE,0x6E,0x33,0xF0,0x1D,0x35,0x84,0xC7,0x75,0xC0,0xB4,0x25,0x77,\r
+0x5C,0x94,0xE8,0x75,0x71,0x49,0x3E,0x90,0x22,0xE5,0x29,0x5F,0xB3,0xC2,0x66,0x06,\r
+0xCA,0x27,0xB0,0x8F,0x7A,0x99,0x75,0xCB,0xA0,0x55,0x23,0xD0,0xF3,0x23,0x0A,0x9D,\r
+0xAB,0x2F,0x10,0xE8,0xAF,0xC6,0x51,0xAD,0xF9,0x05,0x9F,0x1E,0xB2,0xB5,0xC2,0xE9,\r
+0x86,0x8F,0x9C,0x73,0x53,0x39,0xFF,0x1F,0x12,0x48,0x3D,0x9C,0x56,0x45,0x76,0x6D,\r
+0x25,0x50,0x14,0x8E,0x84,0xA3,0xD7,0xDD,0x84,0x1B,0x27,0x6D,0xC3,0xE0,0xA7,0x89,\r
+0x2E,0x82,0x61,0x1A,0xB1,0xCE,0x78,0xBE,0x5C,0x79,0x6F,0x78,0x06,0xE2,0xAB,0x2D,\r
+0x3B,0x1C,0x09,0x3C,0x33,0x25,0x35,0x1C,0x8C,0x32,0x34,0x73,0xE0,0x31,0x39,0xB8,\r
+0x81,0x52,0x18,0x4B,0x9D,0x60,0xAF,0xA3,0x9F,0x01,0x11,0x61,0xCA,0x89,0x2A,0x75,\r
+0xA2,0xC0,0x6A,0x76,0xBE,0x62,0x89,0xB2,0x5E,0x5F,0x7E,0x5B,0x64,0xA5,0xFD,0x68,\r
+0x67,0xCA,0xC6,0xD4,0x93,0xBE,0xB9,0x31,0xFA,0x87,0x61,0x4A,0x7F,0xA9,0xE7,0x5E,\r
+0xD3,0xB6,0x29,0x05,0xA6,0xD3,0x16,0x52,0x32,0x54,0xF2,0x19,0xBB,0xDC,0x4F,0x15,\r
+0x37,0x13,0xF8,0x90,0x14,0x5B,0xA9,0x5A,0x6B,0x04,0x4E,0xD7,0x5A,0x63,0x0D,0xB5,\r
+0x65,0xF7,0xC9,0xDE,0x25,0x4A,0xBC,0x6E,0x1D,0xB1,0x1B,0xEE,0xB4,0xAE,0xB6,0x33,\r
+0xDC,0xD9,0x12,0xB5,0xD3,0x17,0xBE,0x19,0x29,0x4E,0xC4,0x15,0xF7,0x1B,0x58,0x56,\r
+0x46,0x65,0xBB,0xE3,0xBF,0x10,0x6E,0x2C,0xE4,0x6B,0x73,0x09,0xA6,0xCB,0x21,0xF9,\r
+0x5B,0x11,0xA5,0xEF,0x63,0x2F,0x1F,0x86,0x7E,0xAF,0xDD,0x90,0xC8,0x4F,0x9B,0x81,\r
+0xED,0xCA,0xE4,0x0F,0xD1,0xA7,0xA0,0x8E,0xEE,0x28,0xA3,0x68,0x42,0x66,0x4F,0x21,\r
+0x4C,0x3D,0x06,0x88,0x2B,0xE1,0xB8,0xCF,0x24,0xC3,0x49,0x4D,0x59,0xA3,0xA8,0xA8,\r
+0x35,0xC6,0xC2,0x74,0xAF,0xB3,0x43,0x9E,0xD2,0xB4,0x4B,0x10,0xED,0x53,0x2C,0x4C,\r
+0x39,0x6A,0xCD,0x85,0x80,0xAA,0x7F,0xB9,0x15,0xF7,0x5C,0x5C,0x8B,0x39,0xEA,0xF2,\r
+0xDF,0xF5,0x55,0x5B,0x85,0xA4,0x22,0x70,0xE9,0x45,0xF2,0xA3,0xFF,0x22,0x30,0xF4,\r
+0xA2,0x2A,0x2C,0xE9,0x65,0x96,0xA9,0x75,0xA8,0xF3,0x12,0x78,0xDF,0x88,0xD8,0xCD,\r
+0x02,0xCB,0x93,0xAB,0xD4,0xA9,0xFD,0x47,0x26,0x67,0x45,0x88,0xAF,0xEC,0x8C,0xAD,\r
+0xC9,0xCF,0xAB,0xF9,0x08,0xE3,0x9E,0xDE,0x0A,0x7A,0x92,0x26,0x2D,0xB8,0x72,0xAE,\r
+0x74,0x80,0x38,0x6C,0x89,0xBF,0x38,0x46,0xDC,0x26,0x5D,0xCE,0x04,0xA6,0x61,0xA6,\r
+0x8D,0xBB,0xB1,0x6A,0x64,0xE4,0x4E,0xEB,0x03,0x85,0xD5,0x33,0x39,0x40,0x97,0x2D,\r
+0x78,0x2C,0x37,0x9D,0x54,0x87,0xBC,0x41,0xDE,0x82,0x51,0x0B,0x79,0x09,0x40,0x91,\r
+0x00,0xC1,0xAE,0xA4,0x8F,0x06,0x8E,0xB5,0xE1,0x24,0x52,0xC4,0x26,0xFA,0xFE,0xC2,\r
+0xB8,0xBC,0xDD,0xBA,0x2D,0x58,0x0E,0x3C,0x91,0xA6,0xA7,0x0E,0xCC,0x30,0x15,0xE7,\r
+0x7B,0x30,0x57,0x57,0x84,0xD6,0xC5,0xEE,0xBD,0xBB,0x70,0xA0,0xE7,0xD8,0x71,0xB2,\r
+0xC4,0x75,0xF9,0xCD,0xA9,0x0A,0xF5,0x6D,0x51,0x88,0xE1,0x89,0xA2,0x27,0xF9,0xFA,\r
+0xBE,0x92,0x5D,0xFB,0x9C,0x67,0x5A,0x0E,0x1C,0x08,0x1B,0x49,0x8F,0x46,0x64,0x94,\r
+0x50,0x85,0x77,0x9A,0xEA,0x14,0x19,0x7F,0xBC,0x25,0x97,0xD2,0x41,0x59,0xE9,0xEE,\r
+0x5A,0x07,0xF8,0x2A,0x0B,0x54,0x75,0xE4,0x0F,0xB3,0xCF,0x28,0x0A,0x52,0xB2,0x3E,\r
+0xE6,0x5E,0x36,0x7A,0x9D,0x15,0xBD,0x90,0x07,0xD2,0x6F,0x4F,0x2E,0x87,0xD4,0x61,\r
+0x44,0xB5,0xB4,0x37,0x6D,0xF1,0x09,0x14,0xA7,0xFF,0xE3,0xD4,0x80,0x7B,0x66,0x9E,\r
+0x5E,0x23,0x45,0x64,0xC8,0x64,0xD8,0xF0,0x78,0x5C,0x6B,0x29,0xA8,0xAC,0xA4,0x04,\r
+0x16,0xFB,0x50,0x06,0xCA,0xA1,0xD4,0x54,0xAA,0x57,0x1E,0xBD,0x07,0x99,0xC7,0x69,\r
+0x4D,0x2B,0x5B,0x4D,0x19,0x47,0x46,0xC1,0x34,0x42,0x76,0x9B,0x4A,0x1B,0x65,0x82,\r
+0x68,0x38,0x49,0x7E,0xA1,0x6D,0x55,0x0C,0x7A,0xF8,0x67,0xEC,0xD0,0xB5,0xDA,0xC7,\r
+0x07,0xF9,0x73,0x20,0x8D,0xC3,0x82,0x11,0xE8,0xDB,0x15,0xD1,0xF6,0x96,0xCB,0xC5,\r
+0x18,0x5D,0x62,0xF8,0x81,0xD8,0x98,0x27,0xE2,0x1E,0xB9,0x73,0xC6,0xBB,0x48,0x19,\r
+0x8B,0x95,0x31,0x2B,0xF4,0x1C,0x30,0x6C,0x9E,0xAA,0x56,0xA2,0x69,0x8E,0x2B,0x74,\r
+0x37,0xCC,0xFF,0x7B,0x4B,0xFD,0x72,0xCC,0x3B,0x4E,0x87,0x37,0xD6,0x3C,0x23,0xFC,\r
+0x62,0xBA,0xC6,0xCE,0x86,0x13,0xC9,0x4A,0xDF,0x1C,0xB6,0x79,0xC3,0x0D,0x17,0xED,\r
+0xBD,0x8E,0x3D,0x31,0x33,0x50,0x27,0x2F,0xF1,0xA5,0x6D,0x12,0xC1,0xFB,0x60,0xB0,\r
+0x0A,0x43,0x21,0x14,0xE3,0x01,0x5E,0x80,0x4D,0x3F,0xC4,0x44,0x11,0x97,0x55,0xB7,\r
+0x2E,0x46,0x6E,0xE2,0xEB,0x66,0xFE,0xE1,0x95,0xF1,0x1D,0x72,0x2F,0x4E,0x05,0xF3,\r
+0xB7,0x0C,0xB2,0x81,0xA0,0x1F,0xB2,0x92,0x9A,0xFD,0xEC,0xDE,0xB4,0x29,0x6B,0x24,\r
+0x9C,0xB9,0x92,0x4C,0x43,0x9A,0xD2,0xAD,0x3F,0x19,0x3D,0x4B,0xE6,0x11,0xA0,0x20,\r
+0x3A,0x76,0xAD,0x4F,0x16,0xEB,0xB7,0xCD,0xA2,0x36,0xBE,0xDA,0x78,0xC0,0x91,0x03,\r
+0x1A,0x57,0x5F,0xF7,0xB9,0xDC,0xCA,0xEC,0x18,0x5F,0xA1,0x35,0x32,0x02,0x1B,0x41,\r
+0x52,0x8F,0x4A,0x95,0x20,0x31,0xF3,0x94,0x42,0x33,0x35,0xE8,0xF4,0x60,0xBC,0x98,\r
+0x93,0x09,0xFD,0x77,0xE6,0x0F,0x03,0x49,0xD0,0x10,0x47,0xD5,0xD7,0xF5,0xF2,0x6E,\r
+0x3D,0x4E,0x70,0xCB,0xDA,0x77,0xEB,0xD5,0x79,0xC2,0x8C,0x5B,0xC0,0x32,0xB1,0x22,\r
+0xE0,0x70,0xB6,0x3B,0xC4,0x7F,0xC2,0xC6,0x68,0xDD,0x54,0xFF,0x61,0xF3,0x01,0xD7,\r
+0x8A,0x83,0x6C,0xEE,0xE0,0xB6,0xB5,0xBA,0xCC,0xA7,0x62,0x18,0xD1,0x7C,0x0B,0x55,\r
+0x96,0x3B,0x1D,0xFC,0x8A,0x08,0xD3,0x7C,0xBF,0x1F,0x7C,0x65,0xEA,0x13,0x04,0xE5,\r
+0x79,0x3A,0x6A,0x58,0x67,0x53,0xA5,0xD1,0x5C,0x20,0x1C,0xE0,0xB1,0x9F,0x34,0xD0,\r
+0x84,0x25,0x5E,0x10,0x3E,0x39,0xDA,0x87,0xC9,0x6E,0x3F,0x16,0x48,0xED,0x12,0xDF,\r
+0xBF,0x84,0x00,0x3E,0x83,0x1D,0x94,0x83,0xD9,0xEF,0x00,0xC0,0x7D,0x76,0xCE,0xF7,\r
+0xCA,0xD3,0xCB,0x33,0x7D,0x27,0x36,0x95,0xF0,0x3B,0x8A,0x60,0x17,0x1E,0xAC,0x8C,\r
+0x58,0x0D,0xC5,0x25,0xFE,0xBE,0x9C,0xA9,0x58,0x77,0xA6,0x9C,0x18,0x23,0xAE,0x86,\r
+0x6F,0x00,0x94,0xFA,0x61,0xEA,0x13,0x22,0xE7,0xD7,0xE4,0x7D,0x71,0x74,0x6A,0x32,\r
+0x69,0x2E,0x14,0xBB,0xBA,0x6B,0x21,0xD6,0xF6,0xC8,0x3C,0xD9,0x99,0x48,0xF6,0x4A,\r
+0x9D,0xAF,0xCF,0x89,0xB3,0x7E,0x66,0x29,0xB0,0x13,0x8D,0xC9,0x08,0xA4,0xC5,0x63,\r
+0xDC,0xE9,0x35,0x91,0xFC,0x7B,0x90,0x0D,0x2A,0x51,0x5F,0x93,0x6E,0xCE,0x03,0xDD,\r
+0x0F,0x71,0xC1,0x9F,0x01,0xF6,0xD9,0x21,0x75,0xF4,0x96,0x40,0x63,0x05,0x76,0x8A,\r
+0xE2,0x7A,0x8B,0x34,0x56,0x42,0xB0,0xE5,0x5A,0xD3,0xAA,0x59,0xF0,0x1F,0x32,0xFE,\r
+0x8F,0xB1,0x8C,0x65,0x90,0x7C,0x40,0x38,0x72,0x99,0xC7,0x8B,0x0B,0x9B,0x63,0xAC,\r
+0x31,0xE2,0x7F,0x3A,0x82,0x6F,0x73,0x1D,0xD5,0xD9,0x1A,0xDB,0x44,0xEF,0xB6,0x1A,\r
+0xAB,0xB4,0xC3,0x93,0xC7,0xC8,0x29,0xFC,0xF7,0x56,0xDB,0xAB,0x53,0x28,0xF5,0x56,\r
+0x89,0x9F,0x0C,0x24,0x04,0xF8,0x84,0xE8,0x6B,0xE7,0xBF,0x48,0xAD,0x1A,0xFB,0xF0,\r
+0xE3,0x6C,0xD6,0xF1,0x69,0x8D,0xB3,0x43,0x2F,0x98,0x02,0x9D,0xE0,0x98,0x59,0x1B,\r
+0x7D,0x1E,0xD7,0x16,0x71,0x3C,0x2C,0xA3,0x6F,0xB0,0x05,0x34,0xE5,0x2E,0x06,0xEF,\r
+0x81,0x17,0xBE,0x9B,0xB7,0x02,0xDC,0x7E,0x10,0x3E,0x01,0x52,0x60,0x3A,0xD0,0x45,\r
+0xFA,0xE6,0x47,0x68,0x4C,0x36,0x23,0xA1,0x17,0x53,0x50,0x99,0xDE,0x41,0x09,0x5F,\r
+0x5D,0x3F,0x25,0xAE,0xD3,0x62,0xAC,0x2A,0xE5,0x73,0xE8,0xB8,0x0D,0x12,0x9A,0x97,\r
+0x4B,0x05,0xDB,0x0C,0x44,0x51,0x83,0xC0,0x0E,0x2D,0x28,0x5A,0x86,0xF2,0x9F,0xA5,\r
+0x67,0x8D,0xDF,0x58,0x81,0xE2,0x99,0x5D,0xE8,0x0A,0x2D,0x26,0xA0,0xA1,0xF7,0x0A,\r
+0x13,0x58,0x90,0xEE,0x5C,0xA2,0xC9,0xFA,0xDB,0x18,0x3E,0x03,0xF3,0xFE,0x04,0xB4,\r
+0x97,0x09,0x6B,0xBC,0x31,0xE8,0x1B,0xD2,0x2B,0xDE,0x00,0xDE,0x38,0xAF,0x03,0xD9,\r
+0x8D,0x4D,0xF8,0xC8,0x0D,0xCF,0x02,0xFD,0x42,0x89,0xB4,0x1A,0x33,0x04,0x49,0x34,\r
+0x46,0x38,0xF5,0x9F,0xC4,0x6A,0xD1,0xA2,0x0B,0x74,0x39,0x36,0xAB,0x0A,0xBD,0xE7,\r
+0x2C,0xFE,0x93,0x21,0x16,0x28,0x8B,0x38,0xFD,0x3B,0x3C,0x12,0xED,0x12,0x47,0xA6,\r
+0xC0,0xCD,0x02,0x08,0xA7,0xF3,0x9B,0x7E,0xBA,0x32,0x29,0xED,0x6C,0x20,0x9C,0x52,\r
+0xFC,0x51,0xEA,0x70,0x7F,0xEC,0x3F,0x6F,0x88,0xE9,0xA8,0x19,0x42,0x61,0x1C,0x54,\r
+0x7A,0xA4,0x1D,0xE7,0xB3,0x16,0x18,0x86,0x18,0xCC,0x13,0xFB,0x47,0x97,0x53,0x70,\r
+0x9A,0xA1,0x96,0xD5,0x73,0x48,0xFA,0x6D,0x37,0x5B,0x20,0x11,0x7D,0x35,0xAD,0x66,\r
+0xC9,0x32,0x45,0x1D,0xCB,0x68,0xDB,0x9F,0xB8,0xC4,0x74,0x9A,0xA4,0xF3,0xCF,0xC1,\r
+0xB2,0xEB,0xFB,0x07,0x9A,0x05,0x10,0x98,0x47,0x3F,0x40,0x45,0x55,0x00,0x36,0xBA,\r
+0xA6,0x3D,0x7E,0xAD,0x9E,0x8B,0x76,0xE7,0xB7,0xF9,0x7E,0x98,0x5C,0x8D,0x5F,0x46,\r
+0x10,0x62,0x7B,0x59,0x99,0xA3,0xDF,0xA7,0x28,0xE1,0xCF,0x78,0x2E,0x6A,0x5E,0xD8,\r
+0x92,0xC0,0x36,0xB2,0x24,0xDC,0x0A,0xE3,0x1F,0x8C,0xBA,0xD3,0xDD,0xBF,0x84,0xB2,\r
+0xA0,0xCE,0xC8,0x14,0x40,0x6D,0xE9,0x7F,0xB2,0x4F,0x8A,0xC7,0xF6,0x08,0x4B,0x90,\r
+0xBA,0x8A,0x5B,0x60,0x17,0xF9,0x19,0xF1,0x70,0x52,0x35,0xEE,0x0C,0x50,0xF8,0x06,\r
+0x7D,0xC9,0x4C,0x2C,0xDC,0x2B,0x97,0x58,0x98,0x6E,0x4D,0x72,0x4B,0xEC,0x75,0xA8,\r
+0xE8,0x87,0x6F,0xDA,0xAE,0x08,0xAA,0xCA,0x68,0xA8,0x73,0xAF,0xCD,0x0E,0xC2,0x69,\r
+0x8A,0x20,0xA9,0x03,0x3A,0x64,0x77,0x90,0x51,0x31,0x9E,0xD7,0x15,0x6C,0xD7,0x21,\r
+0x48,0xAA,0xE3,0x41,0x25,0x0D,0x98,0x2A,0x2C,0x9E,0xA9,0xF6,0x34,0xD4,0x25,0x01,\r
+0x99,0x9B,0x7D,0x62,0xA6,0x22,0x09,0xB7,0x49,0xCB,0xD8,0x96,0xFB,0xD7,0x1A,0xA7,\r
+0xA1,0x50,0x2F,0x66,0x77,0xC6,0x9C,0x12,0x29,0x28,0x5D,0xA9,0x4E,0x1A,0x3A,0x8C,\r
+0xC6,0x3E,0xB4,0xB1,0x86,0xCA,0x30,0x1D,0x65,0x63,0x24,0xDA,0x04,0x79,0xE6,0x15,\r
+0xAB,0x95,0x83,0xC4,0x3D,0x4C,0xDE,0xD0,0x07,0x76,0xFC,0x92,0x4F,0xBE,0x4D,0x63,\r
+0x96,0x97,0x8C,0xCE,0x11,0x00,0x22,0x78,0xAD,0xF5,0x65,0xAE,0x91,0xA8,0x43,0xF1,\r
+0xFE,0xF5,0xE6,0xB5,0x9B,0xD4,0x82,0x51,0x0F,0x0B,0x5F,0xB8,0xC6,0xA5,0x88,0x84,\r
+0x65,0x29,0xD3,0x9D,0xA4,0x55,0x54,0x41,0x41,0xB6,0x7B,0xBC,0x67,0x8B,0xD6,0xBF,\r
+0x17,0x0F,0x2A,0x92,0x87,0x1B,0xA2,0xD4,0x3E,0xEF,0x11,0xEA,0x78,0xC3,0xE2,0x42,\r
+0x9B,0x3F,0x71,0xA7,0xE7,0x24,0x27,0x37,0x48,0x02,0x4A,0x47,0x79,0x67,0x95,0xAD,\r
+0xF4,0x30,0x4A,0x17,0xF9,0x9C,0x5A,0x44,0x2E,0x68,0xF4,0x81,0xC1,0x75,0xE4,0xB1,\r
+0x7B,0x3A,0xFA,0x95,0xCF,0xE6,0xBD,0xE0,0x59,0x4C,0x3D,0xFD,0x32,0xA0,0x3E,0xDB,\r
+0x93,0x5E,0xD1,0xC0,0xED,0x79,0xD9,0xBC,0xDD,0x91,0x05,0xFA,0x69,0xD6,0xD3,0x76,\r
+0x11,0xFC,0x9C,0x2B,0x85,0x6C,0xFF,0x22,0x4F,0x42,0xE3,0x6F,0xB9,0x9D,0xD8,0x2D,\r
+0x24,0x9F,0x33,0x46,0xF0,0x67,0x6B,0xF0,0x43,0x40,0x26,0xCB,0x61,0xFF,0xCD,0x65,\r
+0xF3,0x5D,0x1B,0xDC,0x78,0xC4,0x96,0x2F,0x92,0xE5,0xB3,0x2F,0xF7,0xAC,0x3C,0x7F,\r
+0x0F,0xEF,0xB5,0x23,0xF4,0xE9,0x0D,0x8F,0x26,0x15,0x57,0xAB,0x1C,0xE1,0xBE,0xDD,\r
+0xDA,0x89,0x91,0x7C,0x54,0x88,0x6A,0x87,0xEE,0x83,0x16,0xDF,0x45,0xB1,0x70,0x61,\r
+0xD1,0xD2,0xDA,0xAC,0x0C,0x1E,0x90,0x34,0x82,0x62,0x56,0x44,0xC7,0x01,0xFF,0x6B,\r
+0xCE,0x5F,0x14,0xD6,0x80,0x33,0x0B,0x94,0xC1,0x14,0x25,0x35,0xD0,0x60,0xD5,0x85,\r
+0x1F,0x6E,0x8A,0xF5,0x5F,0x04,0x06,0xC5,0xC5,0x6B,0x43,0xBB,0x01,0x8F,0xA9,0x31,\r
+0x73,0x5B,0x5A,0xF2,0xF6,0x9E,0x50,0x79,0xBC,0xBB,0x12,0x14,0xCC,0xAA,0xB5,0x86,\r
+0x85,0x2C,0x58,0xAF,0x2D,0x27,0x3B,0x57,0x52,0x0E,0x51,0x71,0xF8,0x55,0x4E,0x59,\r
+0xB4,0x18,0x4D,0xBE,0x1C,0x75,0x75,0xB3,0xE9,0xC3,0xBF,0xF7,0x8E,0xE0,0x77,0x0C,\r
+0x06,0x10,0xF2,0x36,0xCD,0x91,0xE0,0x16,0xAB,0x7C,0x5E,0x57,0xD7,0xB0,0xB9,0xB0,\r
+0x33,0x73,0x5D,0x5B,0x22,0x25,0x31,0x6A,0x03,0x09,0x9A,0x1C,0x1F,0x63,0xEA,0x23,\r
+0x1E,0xF0,0x6D,0x87,0x8E,0xE0,0x93,0x60,0x19,0x05,0x81,0x2A,0xBB,0xBB,0xFB,0x3C,\r
+0x3D,0xE1,0x4B,0x85,0xFC,0xC3,0xAE,0xF2,0xCE,0x29,0x2F,0x37,0x7A,0xE5,0xC1,0x53,\r
+0x64,0xB7,0x34,0xEF,0xDE,0x5C,0xCA,0xAE,0x66,0x5C,0xEB,0x7C,0x89,0x30,0x1B,0x39,\r
+0x00,0xE3,0x44,0x8F,0x89,0xC8,0x3A,0x20,0x32,0xED,0xD4,0x4E,0x68,0x72,0xA4,0x99,\r
+0xAA,0x0B,0x64,0xB6,0x69,0x7E,0xE1,0x61,0xB9,0x0D,0xE6,0x4B,0xB7,0xC0,0xDD,0xE4,\r
+0xB1,0xD1,0x10,0xB0,0xC7,0xCC,0x1E,0x9D,0xE4,0x08,0xE8,0x82,0x28,0x1E,0x45,0x02,\r
+0xDB,0x17,0x76,0x0E,0xD0,0x8F,0x52,0x5A,0xD8,0x27,0xF1,0xA5,0x84,0xEF,0x4A,0x0E,\r
+0x2B,0x93,0xC2,0xEA,0xD2,0xF8,0x0F,0xAC,0x23,0xA3,0xA3,0xF4,0x7F,0x13,0x8E,0x77,\r
+0xEE,0x74,0xD9,0x63,0x38,0x13,0x2A,0x66,0x3B,0x59,0xE5,0xB5,0x88,0x94,0x6C,0xD6,\r
+0xC7,0xA0,0x53,0xC3,0x46,0x94,0xD2,0xF6,0x84,0xEB,0x6D,0xBD,0x53,0x74,0x2D,0x60,\r
+0xAF,0xC2,0x39,0xB8,0x7A,0xB3,0xCB,0xD9,0x6E,0x21,0x48,0x56,0x37,0x56,0x71,0xFF,\r
+0x50,0x4A,0x7C,0xF0,0xEB,0x80,0xE2,0x35,0x5E,0x0C,0x94,0xD5,0x72,0xCC,0xDF,0x40,\r
+0xB8,0x2E,0x57,0xA5,0x3C,0x9D,0x4C,0x19,0x95,0xA5,0x1A,0x07,0xFE,0x21,0x55,0x83,\r
+0x72,0xC5,0xBD,0x80,0xC9,0x1F,0x86,0x69,0x15,0x07,0x44,0x8E,0x83,0x3F,0x26,0x3B,\r
+0x81,0x7B,0xE2,0xD3,0xCA,0xB9,0x49,0x56,0x27,0xDC,0xC5,0x7A,0x6E,0x06,0xBF,0x43,\r
+0xC8,0xAC,0xA2,0x6F,0x4E,0xBE,0x71,0x8B,0xD5,0xEC,0xA6,0xD0,0xF9,0xF1,0x39,0xB6,\r
+0x2E,0x5A,0x9F,0xE4,0xC6,0x1D,0x8C,0x54,0xA3,0x01,0xFD,0x7D,0xC2,0xF7,0xB0,0x4F,\r
+0x30,0x49,0xB6,0xEC,0x09,0x41,0x64,0x82,0x05,0x80,0xA1,0xE5,0x8D,0x62,0x23,0xF2,\r
+0x65,0xEA,0x9B,0x83,0x13,0xA3,0x62,0x02,0x2C,0xA4,0x61,0x6C,0xCE,0x19,0xC7,0x01,\r
+0xB1,0x4A,0xB2,0x09,0x83,0x5B,0x1C,0x85,0x9E,0xAC,0xDE,0xE4,0x2E,0x58,0x71,0xDA,\r
+0x06,0x87,0xAE,0x2C,0x2F,0xDB,0x8A,0x9E,0x52,0xB4,0x82,0x78,0xB5,0x3F,0x1F,0x0D,\r
+0x82,0x63,0x5E,0x98,0xD9,0x86,0x88,0xE9,0xD6,0xE5,0x79,0x2A,0x49,0xFB,0x66,0xF6,\r
+0x1A,0x3F,0xDF,0x3E,0x14,0x68,0x33,0x6F,0x78,0x5A,0xE3,0x6F,0x9A,0xA8,0xF5,0x3E,\r
+0xC0,0x39,0xC4,0x4A,0xE8,0x97,0x9D,0xDD,0x7D,0x93,0xBE,0x61,0x44,0x30,0x13,0xA1,\r
+0xA6,0x66,0x11,0x6E,0xDB,0x43,0x84,0x4D,0x29,0x6D,0x3C,0x62,0x6A,0x6E,0x28,0x00,\r
+0xF2,0x06,0x75,0x1E,0x55,0xB3,0xD3,0xD9,0x98,0x5F,0x68,0x5D,0x28,0xD1,0x88,0xE1,\r
+0x4B,0x6D,0x5B,0xC5,0x21,0x05,0x9C,0x0C,0x74,0x6C,0xF9,0x74,0xAD,0xC5,0x5E,0x4B,\r
+0x58,0x65,0x45,0xEC,0xF7,0xED,0x53,0x50,0xF5,0xF4,0x5F,0x28,0x38,0x56,0xE3,0x04,\r
+0x6A,0x5A,0xF4,0xB8,0x23,0xC0,0x90,0xA8,0xA9,0x6B,0x7D,0x4C,0x5C,0xCA,0x52,0xE7,\r
+0xBD,0xE6,0xBD,0xF8,0xFE,0xF8,0x14,0xAF,0x99,0xC1,0x8F,0x2F,0xAB,0x4C,0xA7,0x70,\r
+0x3F,0x2C,0xCD,0x0D,0x6C,0xC5,0x66,0x8C,0xD0,0x16,0xCF,0x93,0x7B,0x20,0x92,0x77,\r
+0xD4,0x09,0x07,0xE7,0x1C,0x0F,0x93,0x0E,0x72,0x9F,0x4F,0xCD,0x65,0x53,0x2A,0x0A,\r
+0xD3,0x31,0xDA,0x63,0xAC,0x42,0x20,0xA2,0x54,0x47,0x34,0xC1,0x0C,0x04,0xEE,0xBE,\r
+0x5B,0x79,0x25,0x26,0x40,0x6B,0xB1,0x91,0x79,0xC4,0x04,0x1D,0x96,0xAA,0x51,0xFB,\r
+0xC3,0x25,0xA4,0x80,0x41,0x19,0x56,0x0F,0x17,0x55,0xD8,0xDF,0x5B,0x8A,0x7A,0x4E,\r
+0x4E,0x5F,0xBB,0x4E,0xE1,0x82,0xDA,0x22,0x61,0x24,0x9B,0xAC,0x3A,0xA0,0x94,0x59,\r
+0xFE,0xAA,0x7A,0xEF,0xFA,0x84,0xAE,0xF8,0x60,0xBA,0x7C,0xDE,0xBB,0xCB,0xCC,0x95,\r
+0x98,0xF5,0xAF,0xCB,0xF2,0xE3,0x0E,0x99,0xF6,0xCE,0xB4,0x9F,0xEB,0x05,0x70,0xCC,\r
+0x8E,0xCF,0x51,0x69,0x85,0xE2,0xAA,0x76,0x35,0xDA,0x19,0xAF,0xA5,0xB8,0x74,0xE8,\r
+0x4C,0x55,0x86,0x41,0x5A,0x1F,0x22,0xD5,0x90,0x3E,0xC8,0x3A,0xF6,0x49,0x6E,0x7E,\r
+0x4F,0x49,0xE6,0x8B,0xC9,0x50,0xB7,0x68,0xE4,0xEB,0x87,0x8C,0x8C,0xA6,0x67,0xE0,\r
+0xED,0xA2,0x64,0xC6,0x57,0x76,0xDF,0x7D,0x37,0x7E,0x15,0x6A,0xC7,0xAD,0x3C,0x30,\r
+0xE1,0x0E,0x6B,0x37,0x15,0x1A,0xD4,0xF1,0x70,0x3B,0x43,0x08,0xE1,0x8E,0x2D,0x32,\r
+0xF0,0x0C,0x48,0x11,0x87,0x27,0xA6,0xD2,0x5C,0x26,0x94,0xA6,0xBF,0xB4,0x42,0xF3,\r
+0x01,0xBF,0x73,0xA8,0x63,0x69,0x97,0x80,0x09,0x46,0xF1,0xD7,0xEA,0xCC,0xA1,0x5E,\r
+0x62,0xD2,0x46,0x07,0x1F,0xB8,0x78,0x34,0x7C,0x0D,0x59,0x13,0x39,0x9F,0x32,0x96,\r
+0x3D,0x26,0xF0,0x02,0x22,0xB2,0x77,0x36,0x7B,0x60,0x08,0xD8,0x0F,0x3B,0x48,0x71,\r
+0x09,0x37,0xC1,0x17,0xC6,0xFC,0x46,0x64,0xB6,0xE6,0xB3,0x36,0xBA,0x02,0x1D,0x07,\r
+0x7F,0x7C,0x6A,0xD0,0xB0,0x8F,0x05,0x15,0x1E,0xAA,0x9F,0xCA,0xD5,0xDC,0x20,0x88,\r
+0x4A,0x7B,0x06,0x00,0x0C,0xD9,0xAC,0x8F,0xCE,0x05,0xE6,0x9B,0xF0,0xC0,0x97,0x45,\r
+0x41,0xEF,0xD4,0x75,0x67,0x15,0x2D,0xD7,0x5D,0xB8,0x73,0xD4,0x40,0x4F,0x9D,0xC7,\r
+0x2F,0x38,0xB3,0xEE,0x68,0xB9,0xDC,0xDB,0x16,0xCB,0x3F,0xAD,0x23,0x93,0x04,0x8D,\r
+0xBB,0xC8,0x3D,0xB9,0x5F,0x11,0x7F,0x1C,0xEB,0xE7,0x76,0x20,0x8E,0x50,0x10,0xBD,\r
+0x8A,0xEB,0xEC,0x27,0xC2,0x80,0xFC,0x33,0xBE,0x87,0x13,0x51,0x8D,0x6F,0xB6,0x72,\r
+0x96,0x53,0x9D,0x35,0xBF,0x23,0xF4,0x19,0xDD,0xBE,0x32,0xFA,0x54,0xB7,0x78,0x44,\r
+0x31,0x8A,0xFF,0xF3,0xE5,0xFE,0x60,0x75,0x44,0xC6,0x0B,0x17,0x36,0xA2,0x30,0x9C,\r
+0x9B,0xE9,0xCF,0x01,0x84,0x90,0x4D,0xE8,0x27,0xFF,0x2A,0xBC,0x0A,0x8D,0x17,0x85,\r
+0xD8,0xA5,0x08,0x16,0x2D,0x1E,0x86,0x3A,0x1B,0x63,0xC2,0xC4,0xB6,0x00,0xB9,0xC2,\r
+0x21,0x9E,0x81,0x10,0x31,0xD3,0xA3,0x8D,0x1D,0x90,0x74,0x7D,0x2F,0x91,0xA0,0x48,\r
+0x2B,0x1C,0x0E,0xA0,0x95,0x34,0x95,0xF7,0x39,0xEC,0x03,0xB4,0xFA,0x4B,0xCA,0xBB,\r
+0x1E,0x1B,0x62,0x70,0xA1,0x2B,0xDD,0x0A,0x9A,0xFB,0x64,0x98,0x99,0x97,0x53,0xF1,\r
+0x2E,0x2E,0xEE,0x2B,0x42,0xAE,0xBD,0x35,0x77,0x56,0x12,0xC3,0x3D,0xE0,0xBC,0xF0,\r
+0xE4,0x3C,0x8B,0xBC,0x24,0x0B,0xC1,0xC5,0x7E,0xA9,0x55,0xD6,0xFF,0xFD,0x95,0x4F,\r
+0x38,0x14,0x10,0x89,0x34,0xDD,0xFE,0x44,0xC3,0xAD,0x1B,0xF2,0xD1,0xA3,0xAE,0xEE,\r
+0x84,0x4D,0xDE,0xD9,0xA5,0x57,0x67,0x5D,0x03,0x83,0x5D,0x75,0xE4,0x38,0x72,0xC6,\r
+0x86,0x47,0xE3,0xD6,0x0D,0xAB,0x4B,0x11,0x80,0xBF,0xF7,0xEC,0xF2,0x36,0xE0,0x18,\r
+0xDC,0x81,0xB5,0x58,0x0B,0x12,0xFD,0xE2,0x47,0xFC,0xE0,0xA0,0x7A,0xE9,0x43,0xE5,\r
+0x40,0xF9,0x89,0xB0,0x1A,0xB6,0x25,0xFD,0x9C,0x08,0xD2,0x21,0x3B,0x69,0x45,0xCB,\r
+0x29,0x16,0x33,0xAF,0xD7,0x58,0x9E,0x7B,0x01,0x27,0x51,0xB0,0x50,0xC8,0xF6,0x22,\r
+0xEF,0xA8,0x59,0xC9,0x4D,0x02,0x4C,0x39,0x4E,0x03,0xA7,0xB5,0x48,0x32,0xB7,0x64,\r
+0x18,0x35,0xE2,0x31,0xA7,0x92,0x6B,0xF9,0xAB,0xCF,0x71,0x89,0xF5,0x76,0xC8,0xB1,\r
+0x5C,0x41,0xF8,0xA2,0x88,0x8B,0x57,0xDE,0xFC,0x0B,0x18,0x3D,0x5E,0x3C,0x25,0xBA,\r
+0x9C,0xD1,0x12,0x85,0x28,0x10,0xDB,0xF3,0x7F,0x37,0xB2,0xA4,0xFB,0x82,0x1B,0x29,\r
+0x49,0x67,0x66,0xCA,0x8F,0x40,0x06,0xB3,0x6D,0x12,0x81,0xB7,0xA4,0x71,0xA5,0x7A,\r
+0xD1,0x3B,0xE7,0x6C,0x96,0x83,0x7E,0xCD,0xF9,0xC2,0x45,0x33,0xE5,0xF1,0xA3,0x54,\r
+0xDF,0x9D,0xD5,0x92,0x0A,0x60,0x1A,0x7C,0x3A,0xD6,0xE8,0x03,0x52,0x3E,0x81,0x7F,\r
+0x2C,0x24,0xD3,0x24,0x92,0xFF,0xC4,0x9A,0x8C,0x89,0xED,0xF7,0xD7,0x2A,0x57,0xD5,\r
+0x73,0xD0,0x65,0x21,0xD2,0x56,0xC3,0xB2,0x94,0x69,0x72,0x46,0x30,0x2B,0xC9,0xA7,\r
+0x23,0x94,0xBC,0x1F,0xEA,0x52,0x91,0x79,0xB1,0x8B,0xE2,0xFD,0xA9,0xBA,0xD0,0x2D,\r
+0xFA,0x8E,0xC7,0xA1,0xED,0x99,0xC0,0x14,0x4A,0x54,0x1D,0xC9,0x5A,0x43,0xAB,0xDC,\r
+0xB5,0x6E,0x0F,0x47,0xF3,0x91,0xE9,0x07,0xB9,0xEA,0x42,0x9A,0xCD,0x26,0x61,0xCE,\r
+0xB0,0x5C,0xEF,0xCC,0x18,0x73,0x29,0x59,0x2E,0x00,0x6D,0xA9,0x6F,0xD8,0x77,0xF4,\r
+0xB3,0xC8,0x95,0x1E,0x2C,0x13,0x30,0xD8,0x98,0x09,0x4C,0xFC,0x9D,0xA9,0x2A,0x62,\r
+0x90,0x56,0xA4,0xCF,0x03,0x90,0xAD,0x49,0xF8,0x78,0x19,0x99,0xA2,0x0F,0xE5,0x61,\r
+0x60,0x01,0x30,0x41,0xC4,0x33,0x9A,0xE1,0xD4,0xF5,0xE4,0xD0,0x61,0x1B,0xD5,0xCC,\r
+0xB7,0x9A,0x5E,0x26,0xC8,0xC2,0x95,0x4D,0xA7,0x8C,0xAF,0x9C,0xBD,0x82,0x9F,0xAF,\r
+0xFD,0xF9,0xC7,0xFA,0x25,0x69,0xDF,0x46,0x7C,0x9C,0xE9,0x2D,0xF2,0xA6,0x9A,0x59,\r
+0xB1,0xEE,0x84,0x3D,0xF7,0xA2,0x76,0xC8,0xE0,0xE4,0xD5,0xC5,0x7F,0x08,0xDD,0xE5,\r
+0xD2,0x1C,0x2E,0x0D,0x6A,0x8F,0x17,0xA6,0xD9,0x4F,0xB6,0xE4,0x50,0x2F,0xC4,0xD9,\r
+0x0B,0xDA,0x89,0x6F,0x06,0x1B,0x4D,0x7B,0xA1,0xA2,0x2F,0xDD,0x45,0x67,0x1C,0xBB,\r
+0x76,0xC4,0x31,0x1C,0x2A,0x52,0xB0,0xF6,0x49,0x9B,0x85,0xFD,0x12,0xA3,0xA8,0xD2,\r
+0x43,0x9F,0x01,0x90,0x15,0x32,0x53,0x73,0xE4,0xC0,0x68,0x8B,0x65,0x4C,0xA9,0x76,\r
+0x44,0x4F,0x34,0xFC,0xE8,0x7A,0x67,0x6C,0xF3,0xEC,0xCB,0xEC,0xB9,0xD5,0xE3,0x15,\r
+0xC6,0xFF,0x3E,0x73,0x92,0x4C,0xC3,0x8B,0x8F,0x25,0xEF,0x9B,0x63,0xBF,0x10,0xC0,\r
+0x1F,0x39,0x99,0x11,0x0E,0xA4,0xFF,0xF3,0xA0,0xB4,0x72,0x18,0xC4,0xFF,0x40,0x1D,\r
+0x15,0x36,0x9B,0x2C,0x42,0x88,0x57,0x0F,0x9C,0x2D,0xF1,0xB2,0xCA,0x6D,0x9E,0x0B,\r
+0x4C,0x66,0x27,0xE2,0x5B,0x11,0xC6,0x85,0xB2,0xAA,0x31,0xF4,0x51,0xB1,0xB6,0x3E,\r
+0x64,0x53,0xFB,0x79,0xDA,0x2E,0xD6,0x53,0xB6,0x8E,0x8C,0xBA,0x0F,0x8A,0x17,0x10,\r
+0xF0,0x26,0xF0,0xAB,0x26,0xA3,0xBF,0x5A,0x1C,0xED,0xBC,0x48,0xC0,0xA8,0x3C,0xA7,\r
+0x4E,0x40,0x36,0xC1,0x64,0x71,0x25,0x00,0x38,0xE8,0xF3,0xBE,0x3A,0xE9,0x7A,0xBF,\r
+0xA1,0x5F,0x5F,0x7B,0xE2,0xCA,0xE8,0xEE,0x17,0x79,0x6E,0x3D,0x9B,0x5A,0x93,0xD4,\r
+0xD9,0xB7,0xC3,0x47,0xFD,0x12,0xF9,0x4A,0xE3,0xF8,0xB5,0x0F,0x1B,0x5C,0xBD,0x95,\r
+0x3F,0x25,0x56,0x94,0xAC,0xE9,0x7D,0x18,0x0D,0xEF,0x9F,0x6E,0x83,0xBA,0x22,0x4B,\r
+0x89,0x6A,0x83,0xE0,0xEC,0x34,0xDA,0x48,0x28,0xFC,0x8D,0x5D,0x70,0x04,0x71,0x14,\r
+0x19,0x4D,0x43,0x0A,0xC1,0xB8,0x7A,0xD3,0x14,0x65,0x0E,0xF7,0xCE,0x3A,0xE2,0xB1,\r
+0x6D,0xDE,0x07,0x10,0xE6,0x84,0x55,0xCA,0xD0,0xD1,0x59,0x9E,0x84,0xD7,0xE9,0x1A,\r
+0x88,0xCE,0x6C,0x97,0xAD,0x2C,0x20,0x0E,0x76,0x1E,0x66,0x9D,0xD9,0xD6,0xFF,0xDF,\r
+0x7C,0xCB,0x33,0x21,0x85,0x2B,0x60,0xA7,0x96,0xAF,0x7E,0x02,0xD8,0x48,0x8D,0x38,\r
+0xC5,0x7D,0xC0,0x27,0x63,0xF5,0xF8,0x38,0xC9,0x5B,0xC8,0x07,0xCC,0x9E,0x27,0xBD,\r
+0x63,0x83,0xCE,0x15,0xD2,0x91,0x64,0xDB,0xDD,0x6B,0x0B,0xAA,0x03,0xBC,0x0C,0x0A,\r
+0x04,0x23,0xAF,0x1D,0x46,0xC6,0xEA,0x2B,0x1F,0xF1,0xDC,0x82,0x2A,0x68,0xAC,0x80,\r
+0x36,0xA8,0xAA,0xFD,0x18,0x06,0x01,0xC9,0xF5,0xC2,0x4B,0xAD,0xD4,0x7E,0x96,0x22,\r
+0xD6,0x4E,0xE5,0x35,0x0B,0x2F,0x1F,0xC1,0x4B,0x91,0xB8,0xF2,0xB1,0xB4,0x84,0xB5,\r
+0xCC,0xF0,0x3C,0x4E,0x66,0x7E,0x18,0x0A,0x94,0xA5,0x43,0x0D,0x48,0xCF,0x75,0x46,\r
+0x3B,0x77,0x9D,0xAC,0xF6,0x67,0x2B,0xDE,0xFA,0x72,0x24,0x96,0x09,0x79,0xAE,0xA6,\r
+0xDF,0xC3,0x19,0x5C,0x81,0x65,0xDD,0x83,0xAB,0x20,0xA0,0x6D,0xCD,0x00,0x55,0x5A,\r
+0x12,0xE6,0xAE,0x40,0x9A,0xF3,0x71,0x03,0xB3,0xBC,0x6C,0x31,0xAA,0x6E,0x82,0xC1,\r
+0xB2,0x6C,0x7A,0x69,0x1D,0x8D,0xE1,0xFB,0xBB,0x34,0xDE,0x8E,0xEB,0xD8,0x59,0x21,\r
+0x5E,0xF1,0xED,0x87,0xC6,0x3C,0xA7,0xEB,0x40,0x05,0x6A,0x87,0x23,0x97,0xB9,0xC7,\r
+0x3E,0x81,0xB9,0xE3,0x52,0x6B,0x29,0x1B,0x72,0x3A,0xDB,0xD3,0x9C,0x37,0x58,0x85,\r
+0x61,0xA5,0xDF,0x36,0xC2,0x72,0x1A,0xCF,0x8C,0x39,0x8F,0x51,0xC2,0x0C,0xF9,0xAB,\r
+0x67,0xD1,0x05,0x2D,0x70,0xDC,0xE6,0x30,0x45,0x37,0x8A,0x0C,0x5A,0xEA,0x66,0x75,\r
+0xBE,0x17,0xA2,0x4F,0xB0,0xFB,0x0C,0xA0,0xDE,0x77,0x6B,0x60,0xBE,0xB8,0x28,0x44,\r
+0x02,0x57,0x75,0x06,0xB7,0x7F,0xD1,0x98,0x74,0x14,0x5B,0x92,0x38,0x4D,0xBF,0xB3,\r
+0x3D,0x03,0x47,0xB7,0x4F,0xBC,0x05,0xB5,0xEB,0x70,0x07,0xB0,0xA4,0xFC,0x5C,0xD7,\r
+0x35,0x2A,0x54,0xA9,0x13,0x73,0xD3,0x5D,0x73,0x2C,0x86,0x16,0x37,0x41,0x13,0x42,\r
+0x21,0xC9,0x44,0xD7,0x8E,0x5E,0xB2,0x33,0xDB,0x45,0x8B,0xEB,0x58,0x4E,0xA3,0x79,\r
+0x69,0x8C,0xCC,0x28,0xBD,0xCF,0x5E,0x1A,0x58,0x99,0xA6,0xDB,0xF6,0xF1,0xE6,0xE3,\r
+0x51,0x08,0xCB,0xF5,0x11,0x7C,0xEE,0x57,0x80,0x95,0x80,0xA0,0xA1,0x35,0x52,0x8A,\r
+0x74,0xE2,0x20,0x3F,0x93,0x89,0x9E,0x9D,0x09,0xCB,0x22,0x20,0xD2,0x8D,0x2F,0x94,\r
+0xAD,0x24,0x87,0x5D,0x86,0xE1,0x00,0xBB,0xD1,0xC7,0x04,0x5B,0xF7,0x6F,0x94,0x04,\r
+0xF2,0x00,0xE1,0x88,0xE7,0x41,0x08,0xDC,0xA5,0x86,0x92,0x93,0x39,0xD3,0xCD,0x54,\r
+0x07,0xA1,0x51,0x49,0x3D,0x35,0x13,0xDA,0x3B,0xF4,0x93,0x74,0x52,0x8B,0x01,0xD5,\r
+0x7D,0x6F,0xDC,0x56,0x10,0xB9,0xB3,0x41,0x4A,0x87,0xE5,0x37,0x78,0x65,0x16,0xB4,\r
+0xFA,0x29,0xF2,0x96,0x62,0x30,0xA5,0x2E,0x61,0x32,0xC5,0xFA,0x5F,0x23,0x68,0x28,\r
+0x11,0x64,0x50,0x14,0x77,0x58,0x3B,0x08,0xF4,0xD4,0x16,0x68,0x54,0x78,0xB8,0x63,\r
+0x0D,0xAE,0x53,0x74,0xCA,0xCD,0xA8,0x47,0x21,0x62,0x62,0x27,0xBB,0x71,0x26,0x19,\r
+0x97,0x86,0x91,0xA3,0x69,0x45,0x77,0xBA,0xC5,0xF7,0xC7,0xF6,0x4A,0x6B,0xB0,0x4A,\r
+0x8A,0xE8,0x7D,0xB4,0x2B,0x97,0xED,0xE0,0x12,0x4B,0x8E,0xB6,0x6D,0x2D,0xCE,0xD6,\r
+0xE7,0x47,0x1E,0x81,0x9F,0x78,0x91,0x31,0x59,0x8F,0xFB,0x1E,0x3E,0xBE,0x06,0x05,\r
+0x54,0xFE,0xEF,0xBA,0xCD,0x49,0x75,0x7F,0x39,0xFE,0xAE,0x7B,0x46,0x5D,0xAB,0x50,\r
+0x56,0xD8,0xFE,0x99,0xEE,0x3B,0xE7,0x42,0x24,0x50,0x82,0xAC,0x7C,0x32,0x6A,0x0E,\r
+0x23,0xEF,0x55,0xF4,0x90,0x43,0xFE,0x81,0x1A,0xC3,0x3C,0x09,0x32,0x88,0x1D,0x1F,\r
+0x24,0x3F,0x60,0x98,0x0A,0xEA,0x42,0xD7,0xB5,0x92,0xEC,0x70,0x2E,0x3F,0xD0,0x3A,\r
+0x6F,0xF8,0x16,0x33,0x7B,0xA9,0x34,0xA4,0xF9,0x6E,0x44,0x5C,0xF0,0x02,0x5F,0x55,\r
+0x7E,0xED,0x22,0x02,0x29,0x98,0xD0,0xEA,0x7F,0x80,0x89,0xE7,0xC9,0x57,0x29,0xE0,\r
+0xA1,0xB1,0x1A,0xBE,0x4D,0x0B,0xBA,0xDD,0xE7,0xBE,0x8A,0xF9,0x55,0x44,0x43,0x71,\r
+0x8A,0x06,0x38,0x71,0x59,0xA6,0x79,0xED,0x56,0x5D,0x16,0x9D,0x67,0x4A,0xE5,0x8F,\r
+0x79,0xD3,0x52,0xAB,0xF2,0x91,0x14,0x98,0x29,0x88,0x52,0x20,0xE5,0xE8,0x0E,0xC2,\r
+0x0B,0x34,0xCC,0xAA,0x12,0x0E,0x0C,0x29,0x01,0x21,0x12,0x27,0x53,0xB7,0xFA,0xC7,\r
+0x02,0xB9,0x30,0xC3,0xCF,0xFE,0xCA,0x17,0x8F,0x47,0x6D,0x23,0x47,0x61,0x50,0x42,\r
+0xF3,0x4A,0x4B,0x3A,0x10,0x01,0x31,0x23,0xE2,0x8C,0x6A,0x72,0x3C,0xB8,0x4A,0xFC,\r
+0x2A,0x8C,0xEC,0x58,0x9B,0x8E,0xAE,0x77,0xC2,0xAD,0x98,0xCA,0x6F,0x2B,0x82,0x2F,\r
+0x10,0x2E,0xFA,0xA6,0x71,0xA1,0x39,0x44,0x9C,0x4F,0x73,0x0A,0x8F,0x2E,0xB0,0xA4,\r
+0x15,0xD8,0xDE,0xE9,0x93,0x31,0x1C,0xFF,0x66,0x68,0x9A,0xC6,0x09,0xDB,0x27,0x53,\r
+0x3B,0x99,0xD8,0x69,0x67,0x03,0xC7,0x7E,0x79,0xCC,0x8B,0x1E,0x35,0x47,0x5F,0xBB,\r
+0xBA,0xAB,0x2C,0xB2,0x98,0x44,0xCE,0x6B,0xA2,0xDC,0xCD,0xAF,0xD9,0x74,0x76,0x2A,\r
+0xFC,0xB3,0x6D,0x48,0xBC,0xB2,0x81,0x6E,0xE0,0x86,0x57,0x7D,0xB3,0xB2,0xC8,0x4C,\r
+0x64,0xBD,0xBE,0xBC,0x90,0xFB,0x7C,0xE3,0x45,0x55,0x08,0xB4,0x78,0xC7,0x9F,0x41,\r
+0x6F,0x16,0x53,0xF6,0x54,0x92,0x2B,0x57,0x62,0x4C,0x27,0x88,0x62,0x83,0xEB,0xD2,\r
+0xA4,0x47,0x3E,0xF1,0x89,0x62,0xED,0x69,0x28,0x9E,0x0F,0xE5,0xE6,0xD2,0xB9,0x29,\r
+0xF7,0x18,0x80,0x02,0xAC,0x51,0xFF,0x7A,0x68,0xCE,0xA8,0x38,0x92,0x07,0x0F,0x66,\r
+0x65,0x19,0x51,0xCB,0x77,0xE0,0xB9,0x6A,0x6C,0xEA,0x15,0x76,0x8E,0xB0,0xC2,0x43,\r
+0x96,0xCC,0x3B,0x11,0x0B,0x97,0x9D,0xA3,0x16,0x0D,0xB1,0x40,0x01,0xBA,0x40,0xF3,\r
+0x2E,0xDE,0x27,0x60,0xCD,0xF1,0xF7,0x1D,0xAE,0x70,0xC2,0x5E,0x6E,0xB5,0xF0,0xC8,\r
+0x2F,0x7A,0xC8,0x17,0x60,0x87,0x1A,0x46,0x91,0xF5,0x21,0x3E,0xE2,0x85,0xC5,0x93,\r
+0x30,0x32,0x35,0x23,0x36,0xF8,0x43,0x2C,0xDF,0x03,0xB4,0x1D,0x90,0xA3,0xCA,0x6A,\r
+0x91,0x1C,0x0E,0x7D,0x32,0xB6,0xFE,0x08,0x5E,0xD5,0xA4,0x22,0x0B,0x7F,0xE2,0x5F,\r
+0xC6,0x11,0x7B,0xB6,0x24,0x14,0x00,0x32,0x8A,0x75,0x8D,0xA8,0x63,0x1D,0x99,0x35,\r
+0x18,0x07,0xE9,0xB8,0x18,0xBE,0x83,0xAB,0xC6,0x89,0x25,0x84,0x5E,0x1F,0x93,0x3A,\r
+0x53,0xC0,0x9F,0x13,0x50,0xDC,0x96,0x73,0x40,0x67,0xE8,0x3F,0x33,0xB4,0xE6,0x0D,\r
+0x19,0xA3,0x06,0xCF,0x23,0x90,0xDD,0x0A,0x4C,0xCB,0xE7,0xCE,0x54,0xDA,0x31,0x96,\r
+0xAC,0x6E,0x2D,0xEF,0x1C,0xF0,0x3E,0x8F,0xA8,0x5E,0x42,0x1F,0x6C,0x11,0x35,0xC4,\r
+0x63,0x6D,0x8B,0xD0,0x7C,0x95,0x6B,0xFE,0x87,0xCF,0xDF,0x9C,0xBD,0x20,0x16,0x5A,\r
+0x42,0xD5,0xAB,0x22,0x5D,0xE8,0xC4,0xC9,0xEE,0x20,0x65,0x83,0x7F,0xAA,0x54,0x10,\r
+0x9A,0xB7,0xE3,0x37,0x25,0xD1,0x5D,0x24,0x82,0xFD,0x3F,0x17,0x1D,0x0D,0x8D,0xD6,\r
+0x1C,0x55,0x22,0x80,0xF8,0x21,0x9B,0x1A,0xA1,0xC0,0xAD,0x65,0x88,0x43,0x7B,0xF5,\r
+0x5B,0xE9,0x8C,0x0D,0x64,0xC9,0xA7,0x62,0x73,0x4E,0x04,0xAE,0x4F,0x00,0x37,0xE2,\r
+0x2D,0x5C,0xD9,0x34,0xBD,0x77,0xDC,0x78,0x49,0xF9,0x07,0x45,0xC8,0x6B,0xD2,0xF2,\r
+0xEC,0x02,0xB6,0x0E,0xA0,0xA0,0xF0,0xD6,0x6A,0xC4,0x95,0x37,0xEB,0x7A,0xD0,0xD4,\r
+0x48,0xDA,0xA9,0x1F,0x96,0xBA,0xFC,0xCD,0xAF,0x66,0x9F,0x9B,0xC6,0xF9,0x0C,0xE4,\r
+0x80,0x09,0x3A,0x4C,0xDD,0x12,0x89,0x09,0x1B,0xB7,0xE3,0x74,0xF3,0x9A,0x61,0x4B,\r
+0xD9,0x59,0x86,0x82,0x7D,0x50,0x36,0xE8,0xFF,0x22,0x46,0xA5,0x41,0x92,0xE9,0xF4,\r
+0xAF,0xEC,0xD3,0xBB,0xFB,0xEB,0xFB,0x06,0xAD,0x6C,0xA2,0x94,0x70,0xA6,0xF8,0xE1,\r
+0x9B,0x13,0x0C,0x40,0x9E,0x05,0x4E,0x45,0x14,0x07,0x8C,0x4F,0x86,0xD1,0xA5,0xE3,\r
+0x56,0x36,0xBB,0x5C,0x31,0x7C,0x9E,0x14,0x8E,0x51,0x30,0xE6,0xEA,0xE4,0xA2,0x33,\r
+0x87,0xD9,0x0F,0x20,0xBF,0x78,0xE1,0x72,0xB9,0x5C,0x61,0x39,0x3B,0xD5,0x81,0xAD,\r
+0x90,0xB8,0xE1,0x0A,0xCE,0x3B,0x97,0x01,0x94,0xC7,0xC1,0xB5,0x24,0x58,0xFB,0x63,\r
+0x12,0x08,0xEB,0x85,0x55,0x57,0x76,0x41,0x02,0x3D,0x72,0xED,0x2F,0x03,0x2B,0x28,\r
+0x4B,0x58,0x57,0x4B,0x21,0x9F,0xE0,0x00,0x63,0x5A,0x7A,0x4D,0xFA,0x65,0x74,0x0C,\r
+0xA0,0x15,0xF5,0xC9,0xA5,0x2B,0x10,0xE4,0x4E,0xC1,0xDA,0xC1,0x06,0xD7,0x8B,0xA2,\r
+0x36,0x46,0xEF,0x38,0x41,0xFA,0xB5,0x71,0xED,0x3C,0x05,0x49,0xD1,0x15,0x11,0x8A,\r
+0xEE,0x24,0xA7,0x2D,0xE5,0xF6,0xB7,0xB4,0xE6,0xA8,0xD7,0x3C,0xE4,0x76,0x7C,0x25,\r
+0x3E,0x6F,0xFC,0x26,0x70,0x64,0x64,0x52,0xF3,0x8E,0x49,0x54,0x66,0xD4,0x97,0x68,\r
+0xDA,0xDB,0x78,0xD6,0x6F,0xBC,0x75,0xF6,0xCB,0x33,0x77,0xB0,0xC5,0xC3,0xBB,0x0F,\r
+0x95,0x4E,0xC5,0x45,0xF7,0x1A,0xF4,0xAA,0x97,0xDB,0xA1,0x7F,0xDB,0xD0,0xB3,0x26,\r
+0xAE,0x48,0x3C,0xCC,0x5A,0x6C,0x19,0xF1,0x34,0x26,0x7E,0xF7,0x3D,0x26,0x38,0x1B,\r
+0x39,0xBF,0xC9,0x4A,0xF0,0x9E,0x29,0x92,0x33,0x1E,0xA3,0x73,0x74,0xF1,0x84,0x5B,\r
+0xD4,0x86,0xB1,0xD3,0x04,0xAC,0xF2,0x13,0x95,0xD1,0x9C,0x70,0x87,0x4F,0xD7,0x04,\r
+0xA9,0x98,0x09,0xA0,0x8D,0x2C,0x50,0x4D,0x17,0x1B,0xEC,0x85,0x4D,0xA4,0xF2,0xEE,\r
+0x25,0x75,0xCA,0x2A,0x5F,0xE7,0xF9,0xC3,0x0A,0xB5,0xC0,0x52,0xA5,0xC0,0xA7,0xC5,\r
+0x60,0xEF,0x75,0x84,0xDC,0xD7,0xD4,0x1F,0x39,0x9C,0x2C,0xC3,0x5A,0x48,0xEF,0x80,\r
+0x04,0xCD,0xEA,0xD8,0x37,0x3D,0x1E,0x3A,0x1E,0x85,0x03,0xFF,0x32,0x2A,0x94,0xEA,\r
+0xDF,0x2D,0x5C,0x99,0x3F,0x82,0xAC,0xB2,0x99,0x7D,0x93,0x81,0x1B,0xFE,0x34,0x60,\r
+0x28,0xAA,0xFD,0x7B,0x7E,0x9A,0x56,0xF4,0x72,0x58,0x59,0x6B,0xDE,0x19,0xBD,0x7B,\r
+0xD3,0x56,0x84,0xBF,0x2F,0x61,0xD2,0xA6,0x05,0x05,0xAF,0x69,0x2E,0x9D,0x59,0xCF,\r
+0x7F,0xA7,0x88,0xB0,0x08,0x5D,0xFD,0xBF,0x46,0x49,0x68,0x7E,0x44,0x5B,0xE7,0xA9,\r
+0xE0,0x79,0x6E,0x28,0xC1,0x00,0xF8,0xB1,0xF4,0xB6,0x94,0xD0,0x5F,0x81,0xE1,0xDD,\r
+0x3F,0xCB,0x13,0x51,0xC4,0x8B,0x18,0x83,0x42,0x6D,0xD5,0x30,0xF5,0x69,0xD8,0xFD,\r
+0xDE,0x89,0xB3,0xEE,0xF6,0xDF,0xA9,0xBC,0xD6,0x9D,0x5B,0x67,0x91,0x3D,0xB8,0x8D,\r
+0x5E,0xAB,0x40,0xF7,0xF7,0x2D,0x15,0x9F,0xB9,0x25,0x04,0x5A,0x46,0x06,0x85,0xBB,\r
+0x76,0x02,0x00,0xF0,0x41,0xD9,0x10,0xC0,0xB8,0xBB,0xE3,0x28,0xD9,0x1E,0x65,0x0A,\r
+0x90,0x9D,0x98,0x2E,0x47,0x60,0xA6,0x33,0xAC,0x6D,0x66,0x82,0xDC,0xA8,0x3A,0xFE,\r
+0x21,0x7E,0x04,0x4A,0x75,0xC6,0x58,0x3D,0x63,0x4F,0xD1,0xA9,0x71,0x6B,0x2E,0xCE,\r
+0xB5,0x8E,0x8A,0x1D,0x7D,0xA1,0xF8,0x5C,0x4A,0x9B,0x5B,0x09,0x59,0xBC,0xEC,0x54,\r
+0xEB,0x6C,0x61,0xDD,0x9D,0x93,0x73,0x59,0xB4,0x8D,0xF9,0x33,0x76,0x2B,0x06,0x67,\r
+0xF8,0x64,0x7F,0xF4,0x55,0x73,0x95,0x16,0xD1,0x47,0x6E,0x21,0x29,0xD8,0xB8,0x34,\r
+0x95,0xAF,0x78,0xA5,0x2E,0x69,0x2B,0xCF,0x28,0x3C,0x9D,0xD0,0xD6,0x23,0x67,0x00,\r
+0xD5,0xFF,0xDF,0x78,0xCB,0x55,0xFD,0x03,0xA0,0x5B,0x7C,0x99,0x93,0xDC,0xEF,0x48,\r
+0x97,0xA5,0x45,0xAA,0xA1,0xEB,0x9B,0xC5,0x5A,0x1A,0x64,0xDF,0x65,0x93,0xCB,0x4D,\r
+0x11,0x4B,0x88,0x11,0x1B,0x04,0x84,0xAC,0xFB,0xA9,0x0F,0x36,0xE6,0x0E,0xE4,0xDC,\r
+0x0E,0xEF,0x99,0xC9,0x27,0x7C,0x6C,0x30,0x7B,0xAF,0x4E,0x18,0xD4,0xD5,0x10,0x5D,\r
+0x5F,0xBD,0x1D,0x32,0xF4,0x9A,0xFE,0xA5,0xE3,0x49,0x90,0x87,0xB5,0xFF,0xFE,0x4A,\r
+0x1F,0xED,0xBA,0xEF,0x80,0x2C,0xB1,0x70,0x10,0xF7,0xCF,0xD4,0x86,0xED,0xDB,0x59,\r
+0x32,0x76,0x1A,0x63,0x6A,0xBC,0x96,0xB0,0xAE,0xC9,0x6A,0x47,0x2C,0x6E,0xE7,0xC0,\r
+0x15,0x6F,0x35,0x5F,0x70,0xC8,0x05,0xF4,0xE4,0x24,0xC1,0x4C,0x45,0x39,0x23,0x74,\r
+0xD9,0x53,0xD0,0x89,0x7C,0xD3,0x1F,0xC2,0x72,0x50,0x09,0x0D,0x26,0xE5,0xBA,0x3E,\r
+0xE6,0xD6,0x33,0xE9,0xF0,0xE6,0x44,0xF2,0x05,0xBF,0xAD,0x0C,0x50,0x08,0x17,0x65,\r
+0x1B,0xC9,0x07,0xA1,0x9C,0xE1,0x94,0xC7,0xD9,0x26,0xCE,0x46,0x37,0xAB,0x00,0x49,\r
+0x61,0x2E,0xA3,0x97,0x13,0x63,0x24,0xCD,0x03,0x4C,0x1B,0xB5,0x40,0x8F,0x7C,0x80,\r
+0xFD,0x56,0x9F,0x7F,0x71,0xBA,0xE2,0x6A,0xA4,0x0C,0xC6,0xE5,0xC3,0x12,0x53,0x11,\r
+0xB1,0xAA,0x37,0x53,0x4C,0xB0,0xED,0x68,0xAA,0x9E,0xD0,0x3B,0x69,0x91,0x6F,0x88,\r
+0xA8,0x20,0xA6,0xCA,0x82,0xE9,0xBD,0xD4,0x31,0x42,0xE5,0x13,0x2F,0x51,0x41,0x0F,\r
+0x29,0xF6,0xB6,0xF5,0x19,0xC1,0x88,0x08,0x6F,0x79,0xCB,0xB2,0x61,0xEC,0x45,0x2B,\r
+0xDF,0x7D,0x50,0xC8,0x7E,0x16,0x13,0x66,0xFD,0x5A,0xB9,0x8F,0x27,0x2C,0x6B,0xAC,\r
+0xF0,0xEC,0xCD,0x4B,0xAF,0x35,0x8D,0x57,0xC2,0xFC,0xBA,0x40,0x42,0x79,0x0B,0xDD,\r
+0x37,0x44,0xFA,0xE8,0x21,0xC5,0xDA,0xC3,0x01,0xE8,0x17,0x70,0x0B,0x84,0x27,0x50,\r
+0x3B,0xE8,0xF5,0x19,0x46,0x12,0x41,0xAD,0xDD,0x71,0x74,0x3A,0x47,0xCF,0x54,0x29,\r
+0xD6,0xE3,0xBF,0xB2,0x9A,0x58,0x22,0x34,0x92,0x55,0x82,0x3F,0xF6,0x89,0x8F,0x39,\r
+0x04,0x6D,0x16,0x79,0x5D,0x14,0x35,0x77,0x1F,0xFB,0x3E,0x78,0x1E,0xB5,0x13,0x41,\r
+0x99,0x03,0x77,0x54,0x6D,0x77,0xC7,0xDD,0x30,0xDC,0x02,0x61,0x3F,0xD6,0x2A,0xEA,\r
+0xF5,0xDE,0x2D,0xC0,0x0F,0xAE,0x01,0x7A,0x25,0x94,0x60,0xB9,0x06,0x4F,0x52,0x07,\r
+0xD8,0x45,0x8D,0x4C,0xD4,0x2F,0x33,0x8E,0x0D,0xDE,0x0D,0x6B,0x6D,0xEE,0xE1,0xEE,\r
+0x6C,0x94,0xF1,0xA3,0xE1,0x42,0x9C,0xED,0x5E,0x4D,0xDE,0xA3,0xC5,0x9B,0xAA,0x2A,\r
+0x3E,0xDA,0x15,0x92,0xDA,0xF1,0x25,0x1C,0x26,0xAE,0x8B,0x0E,0xA0,0xCE,0xCA,0x5B,\r
+0x1D,0xE7,0x87,0xE0,0xF9,0xF3,0x03,0x0D,0x1C,0xC1,0xD5,0xCF,0x77,0xE2,0xD7,0xF5,\r
+0x63,0x24,0x9E,0x98,0x94,0x86,0x34,0xA6,0x52,0x7B,0xC4,0xB8,0xD2,0x5C,0xE9,0x66,\r
+0xF9,0x72,0x22,0x31,0xF8,0x81,0xE4,0x93,0x4E,0xCC,0xE1,0x75,0xAB,0x8C,0x46,0x37,\r
+0x88,0x01,0x54,0x72,0x53,0xCA,0x23,0xE5,0x90,0xF1,0x8E,0xFA,0x87,0x24,0x0A,0xCB,\r
+0xDA,0x4F,0xB0,0x43,0x62,0xDB,0x36,0xD1,0xA9,0xA4,0x3B,0x8C,0x3C,0xE9,0x8C,0x25,\r
+0x75,0x1E,0x60,0x3A,0x3D,0x08,0xFF,0x74,0x97,0x9C,0xDF,0x31,0x80,0x64,0x22,0x62,\r
+0x14,0x79,0x68,0x9A,0xE8,0x57,0xDB,0x12,0x59,0x20,0x8F,0x68,0x48,0xF2,0x56,0x23,\r
+0xCE,0x7F,0x73,0xEE,0x29,0xA2,0x7A,0xA2,0x32,0x78,0x0E,0xA4,0xAF,0xF3,0xC8,0x51,\r
+0xE3,0xE4,0xD3,0x62,0x36,0xD8,0xB4,0x2F,0x18,0x96,0x6F,0xB3,0xEC,0x85,0xB9,0x22,\r
+0x91,0x8B,0xC5,0xEB,0xF6,0x5F,0xF2,0x01,0x3F,0xD0,0xF3,0xCD,0x21,0xA5,0x92,0x97,\r
+0x84,0xAD,0x5B,0x83,0x74,0xB4,0xBF,0xA3,0x34,0x8B,0xB8,0x1D,0xB3,0x76,0x07,0x71,\r
+0x39,0xE2,0xC8,0x16,0x14,0xA8,0x75,0xA0,0xDB,0x82,0xC2,0x83,0xFC,0x02,0xD2,0xC7,\r
+0x9A,0x1F,0x17,0x9E,0xC3,0x32,0x5D,0x62,0x2A,0x98,0x91,0x15,0x2D,0xA7,0x36,0x52,\r
+0x43,0x05,0x6C,0x20,0x2F,0x1B,0xCC,0x51,0xDE,0x4B,0x9F,0x8D,0xBB,0x0B,0x2D,0xD2,\r
+0x44,0x3D,0xB1,0xA4,0x66,0xA7,0x8C,0x86,0x58,0xBE,0x68,0x1A,0x49,0x3B,0x87,0xB1,\r
+0xBC,0x10,0x65,0x67,0xD7,0x98,0xD8,0xB4,0xC4,0x0F,0x0C,0xF9,0x6B,0x67,0x18,0xD5,\r
+0xE0,0xF8,0xB3,0xA8,0xC9,0x90,0xF1,0xA7,0x57,0xB2,0x99,0xB6,0xCD,0xE6,0x80,0x89,\r
+0x7D,0x96,0xD2,0x85,0xB7,0x84,0x12,0xB7,0x38,0xBD,0xA2,0x06,0x30,0xEB,0x28,0xE0,\r
+0x4E,0xBF,0x3E,0x14,0x48,0xCC,0x57,0x3F,0x96,0x02,0x38,0x43,0x00,0xC6,0xAB,0x3C,\r
+0xE2,0xF2,0x8E,0xA7,0x95,0xF4,0xD3,0x38,0xC1,0xC6,0x51,0xF7,0x7B,0xE0,0x73,0x30,\r
+0x60,0x38,0xFE,0x52,0x5F,0xD1,0x39,0xD3,0xB2,0x7E,0x4F,0x8A,0xFB,0x42,0xFA,0x6E,\r
+0x05,0x7B,0x4B,0xBC,0xCC,0x9E,0xAC,0x6E,0x69,0x8A,0x7D,0x0B,0x4D,0x44,0x09,0xD7,\r
+0x72,0x26,0xBD,0xBE,0x3C,0x7A,0x18,0xEA,0xAD,0xF3,0x81,0xF0,0xB6,0xC0,0x58,0x85,\r
+0x69,0xA6,0x11,0x28,0x20,0xB7,0x3D,0x5D,0xCA,0x9D,0x1A,0x27,0xEA,0x0C,0x40,0x19,\r
+0xEE,0x5E,0x81,0x56,0x09,0x17,0xB7,0x89,0x8B,0x2B,0xFA,0xFC,0x55,0xBE,0x48,0x91,\r
+0x35,0x4E,0xC7,0xE7,0xE7,0xFB,0x2A,0x1E,0x43,0x64,0x1C,0x1C,0x5C,0x0A,0xB3,0xA0,\r
+0xA1,0xBE,0x49,0xB0,0x83,0x9B,0x5A,0x4A,0xFC,0xC4,0x5E,0xFD,0x08,0xBB,0x81,0x9F,\r
+0x31,0x6A,0x7A,0xA9,0x56,0xC4,0x7E,0x2C,0xA2,0xFF,0x70,0x5C,0x8A,0xEF,0x7F,0x9C,\r
+0x83,0x95,0x86,0x07,0x4D,0xC2,0x0A,0xF6,0x3A,0x19,0xAE,0xC3,0xD7,0xEA,0xB6,0x92,\r
+0xAB,0x9B,0xBD,0xB4,0x87,0x45,0x96,0x0D,0x74,0xF4,0x67,0x3E,0xBC,0x94,0xB5,0x88,\r
+0xB3,0x7B,0x22,0x05,0x60,0xDB,0xE4,0x0C,0x71,0x42,0x93,0x61,0x15,0x93,0xF5,0xA0,\r
+0xDE,0xD0,0x15,0x70,0xB5,0xB1,0x17,0xD6,0x3C,0xC0,0x78,0xC3,0xC0,0x2E,0xB1,0xDF,\r
+0x1D,0xC4,0xB8,0x40,0x02,0x93,0x3C,0x19,0xC2,0xF2,0xDE,0xCD,0x23,0x4A,0x2D,0x6E,\r
+0x9E,0xF8,0x12,0xD9,0x9D,0x73,0x8D,0x01,0x17,0x28,0x2D,0xA7,0xD2,0xB9,0xD4,0x15,\r
+0x09,0x12,0x3D,0xEA,0x3F,0x65,0xB7,0xFF,0x9C,0xC8,0x1F,0xA2,0x30,0x79,0x3F,0x4B,\r
+0x96,0x99,0xB2,0xBE,0xF9,0xC2,0x6E,0x9D,0x4F,0x9B,0xD7,0x31,0x11,0xC1,0xCD,0x6B,\r
+0x6D,0x46,0x4D,0x8A,0x0A,0xB9,0x9F,0x64,0xF1,0xE0,0xCD,0xE8,0xDA,0x90,0xCA,0x06,\r
+0x26,0x35,0x01,0xF3,0x00,0xE4,0x61,0xEF,0xFF,0x14,0x55,0x3B,0x1B,0xCE,0xF0,0x69,\r
+0x69,0x11,0xF7,0xF6,0x18,0xA5,0x27,0x15,0x99,0x7E,0xEB,0xFD,0x41,0x1C,0x6A,0x2B,\r
+0x60,0xEE,0xB0,0xE3,0x2A,0x51,0xA6,0xCE,0x08,0x92,0xC2,0xCE,0x51,0xAD,0x2C,0xF0,\r
+0xBB,0x1A,0x82,0x62,0x6B,0x57,0x88,0x4E,0xE0,0xAE,0xBA,0x52,0xF5,0x75,0x3D,0xEF,\r
+0x58,0x25,0xE2,0xE7,0xAB,0x09,0x6A,0xA5,0xD5,0x35,0x92,0x8E,0x53,0x8B,0x0F,0xE1,\r
+0x4A,0x00,0xD1,0xF4,0xF4,0xB7,0x39,0x56,0x9A,0x41,0x24,0x5B,0x03,0x56,0xA8,0xA1,\r
+0x8C,0xDD,0x21,0xCA,0xA5,0xDA,0xF2,0x51,0x61,0xC5,0x76,0x0A,0xD1,0x3B,0x80,0xEB,\r
+0xDB,0x19,0x48,0x7E,0x0E,0x37,0xF9,0x1B,0xF2,0xDF,0x02,0x4E,0xC8,0x07,0xAF,0xCC,\r
+0xBD,0xE9,0x34,0xDB,0xC9,0x41,0xB2,0xB0,0x20,0x45,0x58,0x0C,0x68,0x8D,0x86,0x18,\r
+0x50,0x44,0x42,0x80,0x6D,0xAE,0xB3,0xC7,0x7B,0xC9,0x6D,0x3C,0xED,0xED,0x65,0x27,\r
+0x3A,0x82,0x24,0x3E,0x7F,0xB2,0x0B,0xB6,0x40,0xA6,0xDD,0x33,0x90,0xF3,0x16,0x9F,\r
+0x1E,0xFE,0x53,0xF7,0xAA,0xD8,0xF8,0x6C,0xF0,0x29,0x5F,0x39,0x77,0xC5,0xB2,0xE5,\r
+0x24,0x91,0x0D,0x36,0xB4,0x60,0x85,0x1F,0x89,0xF9,0x0E,0x96,0x14,0x37,0x82,0x4F,\r
+0xA7,0xAD,0xA7,0xAF,0xA2,0xF2,0x5B,0x11,0x86,0xC4,0x04,0x94,0xE8,0x1B,0x2A,0x03,\r
+0x59,0xBB,0x05,0x95,0xAF,0x87,0x0C,0xDA,0xEC,0xAC,0x7F,0xF6,0x48,0x91,0x03,0xD7,\r
+0xE4,0xBF,0x4B,0xB1,0x81,0xBC,0xAD,0x84,0xD9,0x37,0x57,0x2A,0x9E,0xAE,0x13,0x56,\r
+0xCC,0xF5,0x26,0x63,0xDE,0x02,0xFE,0x77,0xE9,0x1A,0x8B,0xA9,0x52,0x2F,0x78,0x0E,\r
+0x99,0x95,0x43,0x12,0xDD,0xA4,0x31,0x48,0x77,0xCB,0xA8,0x98,0xC3,0xAC,0xE5,0x21,\r
+0x7A,0xAA,0x23,0x97,0x10,0x8F,0x84,0x68,0x25,0xF3,0xAC,0x53,0x56,0x7D,0x40,0xC5,\r
+0x31,0xD9,0x6F,0xEE,0x73,0x16,0xCE,0xB4,0xBE,0x94,0x7B,0x3D,0xFA,0x8C,0x4F,0xC9,\r
+0x00,0xED,0x7A,0xFF,0x5A,0x05,0xC6,0xAA,0x51,0xE8,0xAA,0x89,0xD3,0x1D,0xA3,0xFA,\r
+0x3C,0x71,0x92,0x87,0xE6,0xAB,0x81,0x27,0x46,0x2F,0xE6,0xCA,0x5D,0xD6,0x0A,0x28,\r
+0xFA,0xAC,0x62,0xB9,0x04,0x6A,0x07,0x90,0x65,0xBA,0x10,0x84,0x60,0xA4,0x98,0x0B,\r
+0x63,0xD4,0x5B,0x54,0x66,0x22,0xDF,0x85,0xA3,0xD8,0xC9,0x23,0xBD,0x30,0xC2,0x67,\r
+0x2E,0x54,0xA1,0x94,0xBA,0xB3,0x1D,0xEB,0xF8,0x54,0xFC,0x13,0x2A,0xC7,0x44,0x92,\r
+0x5B,0x1F,0x09,0x50,0x69,0x20,0xD5,0xB8,0x57,0x61,0x91,0x70,0xFB,0x28,0x38,0x26,\r
+0x57,0x29,0x13,0x4B,0xB1,0x3F,0x71,0xA9,0x67,0x4C,0x4D,0xF3,0x59,0x84,0x32,0xE3,\r
+0x7B,0x34,0xC4,0xE5,0xEF,0x50,0xB0,0x93,0x41,0x6F,0x4F,0xE2,0x64,0xF6,0xA0,0xC0,\r
+0x39,0xB8,0xCF,0x89,0x85,0x32,0xCB,0xFB,0x80,0x4D,0x3F,0x6D,0xCC,0x55,0x97,0x07,\r
+0xE9,0x17,0xB6,0xD8,0xA0,0x85,0x06,0xE7,0x50,0x21,0x38,0x58,0x9A,0xFC,0x2B,0x9D,\r
+0x5C,0x72,0x58,0x9B,0x5F,0x5A,0x32,0x1C,0x52,0xD7,0x65,0x2F,0xF1,0x27,0x05,0x24,\r
+0x91,0xF4,0xE3,0x75,0xEA,0x0F,0x44,0x25,0x47,0xE6,0x74,0x1B,0xBF,0x16,0xE1,0x76,\r
+0x47,0xA8,0x2C,0x9D,0xEB,0xDE,0xD6,0xEC,0xBF,0x5D,0xE9,0xEC,0xC7,0xFE,0xDD,0xEA,\r
+0xD1,0xDC,0xE4,0xDC,0xBB,0x62,0x8F,0x22,0x9B,0x88,0xB6,0x8A,0xA0,0x5E,0xD5,0x8B,\r
+0x30,0x47,0x88,0x9C,0x0B,0x68,0x0D,0xAD,0xD0,0x83,0x66,0xD1,0x5A,0x06,0x66,0x1D,\r
+0x46,0x36,0xCB,0xEF,0x6A,0x86,0x1A,0x87,0x1E,0x9C,0x1C,0x5C,0xC1,0x8A,0xC6,0x30,\r
+0xC3,0xF9,0xD7,0xCF,0xDC,0x75,0xA3,0x81,0xDB,0xC1,0x0A,0x5D,0x13,0xE7,0xEE,0x7A,\r
+0x10,0x6C,0x45,0x29,0x97,0x2E,0x73,0x8A,0x96,0x43,0xE1,0xFF,0x35,0x8F,0x70,0x6F,\r
+0x12,0xC8,0x49,0xEC,0xF5,0x66,0xAB,0x9F,0x39,0x76,0x8C,0x9C,0xA1,0xFA,0xA2,0x64,\r
+0xB7,0x2C,0x98,0x79,0xA6,0x7C,0x3D,0x6E,0x11,0xA1,0x16,0x5E,0x5C,0x72,0x7D,0xC7,\r
+0x8E,0x79,0x2D,0x0F,0x0C,0x40,0xA4,0xED,0xE8,0xD3,0x19,0x78,0x83,0xC0,0x04,0xBA,\r
+0xBE,0xD3,0xDF,0x6C,0xFB,0xB5,0x33,0x6B,0xA8,0x9A,0xA5,0xAF,0xBB,0x44,0xD9,0xBD,\r
+0x53,0x7E,0xA9,0x37,0xFD,0x4C,0x08,0xE2,0x95,0x7C,0x2E,0x59,0x46,0xCC,0x06,0x1E,\r
+0xD2,0xE6,0x0F,0x6B,0x68,0xF1,0x47,0x71,0xBC,0x62,0x26,0x4A,0xAE,0x03,0xD0,0x42,\r
+0x73,0x55,0x64,0x82,0x5C,0xFC,0xFD,0x23,0x33,0xFD,0x72,0xC1,0x01,0x70,0x8B,0xB0,\r
+0x5E,0xD6,0x54,0x5E,0xC6,0x43,0xB8,0x8D,0x76,0x02,0x3A,0x49,0x28,0xE1,0x67,0x83,\r
+0xF7,0x04,0x9F,0xD0,0x2B,0x80,0x34,0x07,0x5D,0xEA,0x6F,0x2D,0x86,0x36,0x4B,0x9E,\r
+0x55,0x8D,0x1F,0x8E,0x35,0x38,0x49,0x74,0xB7,0x20,0x4A,0xC6,0x4C,0xC3,0x3B,0x1C,\r
+0x75,0xA6,0xD2,0x3B,0xE5,0x0D,0x4E,0x18,0x7C,0x89,0xC4,0x14,0x98,0xDA,0x08,0x8C,\r
+0xF1,0xF7,0x29,0x69,0x19,0x74,0xB5,0xDC,0xC8,0x79,0x20,0x90,0xC5,0xD8,0xFE,0xFB,\r
+0x0B,0xB6,0x31,0x2F,0x9E,0xD5,0x42,0x3E,0xD3,0xBC,0xA9,0x77,0xE0,0x32,0x34,0x10,\r
+0xB9,0xBE,0x8E,0xA7,0x7E,0x63,0x99,0x7F,0x59,0x95,0x09,0xA3,0x18,0x4C,0xA4,0x97,\r
+0x0E,0x7F,0x6C,0x21,0x3A,0x3A,0x43,0x49,0x3E,0x36,0x25,0xB4,0x00,0xD4,0xFC,0x5F,\r
+0xBF,0x4D,0x38,0x1E,0x78,0x9A,0xA2,0xF6,0x4E,0x52,0x45,0xE0,0xF0,0x83,0x72,0xCB,\r
+0x5F,0x48,0xB3,0x2C,0xCA,0xE7,0x7D,0x8F,0x6E,0xF8,0x7C,0x08,0x2B,0x63,0x33,0x7D,\r
+0x5A,0x81,0xEE,0x22,0x14,0x01,0xE2,0x17,0x1A,0xE3,0x7A,0xD2,0xD4,0xCD,0xCF,0xCF,\r
+0x1C,0x02,0x54,0x84,0x4F,0xE5,0x0D,0xD9,0x29,0xB3,0xB3,0x23,0x65,0x16,0xA3,0xA2,\r
+0x4F,0x91,0x87,0x4C,0xE7,0xAE,0xC9,0xAC,0xC6,0xCF,0x62,0x97,0x08,0xB9,0x96,0xC1,\r
+0x5E,0x8E,0x5F,0xE8,0xFD,0x98,0xD2,0xA0,0x6A,0xC5,0xC0,0x52,0xD4,0x89,0xBB,0x42,\r
+0x64,0xE1,0x01,0x29,0x2A,0x85,0x7C,0x8C,0x18,0x57,0xFD,0x71,0xD6,0xAF,0x98,0x53,\r
+0x0C,0x83,0x6B,0x52,0x21,0x09,0x10,0xCE,0xBB,0x60,0x55,0xB6,0xA6,0x6E,0xBA,0xDC,\r
+0x10,0x34,0x4E,0x9F,0x58,0xA6,0x41,0x1E,0x12,0xDC,0x03,0x2C,0xA1,0xBE,0xD6,0xE9,\r
+0xEB,0xEB,0xB1,0xAB,0xB6,0xC3,0x02,0xAB,0xC9,0xF2,0x68,0x95,0xFC,0xBC,0x20,0x9E,\r
+0xD2,0xBE,0x04,0xDD,0x0D,0x45,0xEC,0x66,0xF8,0x16,0x26,0xC7,0xED,0xA9,0x11,0xAA,\r
+0x1B,0x6F,0x05,0x4F,0xC2,0x19,0x04,0xB0,0x10,0x2A,0x5E,0x5B,0x70,0x51,0xAA,0x5D,\r
+0xD5,0xD3,0x55,0x16,0x0A,0x6D,0x45,0x26,0xB0,0x22,0x39,0x3A,0x2F,0x75,0x7F,0x3B,\r
+0x5A,0xD9,0xE5,0x94,0x66,0xF6,0x05,0xC7,0xE8,0x91,0xC3,0xAC,0xFF,0x3E,0x74,0x60,\r
+0x70,0x37,0x84,0x83,0x25,0x87,0x76,0xB1,0x64,0x31,0x58,0x81,0x85,0xF0,0x6B,0xED,\r
+0x76,0xC4,0x32,0x3A,0x39,0x48,0x56,0x34,0x09,0x19,0x8A,0xCB,0x93,0x35,0x36,0xEC,\r
+0x7D,0x9F,0x79,0xEA,0xAB,0xDD,0xB0,0xE7,0x61,0x87,0xAC,0xDE,0x78,0x78,0xB4,0x4E,\r
+0x68,0xD7,0x1B,0x32,0xA7,0x79,0x75,0xE5,0x14,0x55,0x38,0xD5,0x15,0xD7,0x81,0x2D,\r
+0x99,0xCD,0x48,0xA4,0x76,0x9D,0xE0,0x40,0x9C,0x8A,0xC5,0x76,0x8F,0xFF,0x56,0xEF,\r
+0x1A,0xF1,0xE2,0x3D,0xC3,0xC8,0x96,0x79,0x2E,0xF3,0x1A,0x0B,0x80,0x06,0x24,0xC9,\r
+0x9C,0x04,0x15,0xAA,0x31,0x62,0xF5,0x49,0xAA,0x2E,0x22,0x0C,0x3C,0x46,0x6D,0x1E,\r
+0x15,0xFD,0x13,0x91,0x47,0xCF,0xAE,0xA4,0x22,0xF1,0xDF,0xAF,0xB7,0x7B,0x8B,0xE8,\r
+0x86,0x40,0x86,0xDE,0xE1,0x57,0xF2,0x25,0xED,0x27,0x37,0xF3,0xBF,0x52,0x95,0xFB,\r
+0xD4,0x4D,0xB2,0x64,0x8A,0xE4,0x1B,0x84,0x9E,0x7C,0x98,0x01,0xEB,0xDD,0x0A,0x70,\r
+0x7A,0xF2,0x28,0x21,0xBA,0x67,0xC7,0xA9,0x0F,0x90,0xB1,0x32,0xA3,0x98,0xF5,0xF8,\r
+0xF0,0x31,0xC5,0xAD,0x71,0xB5,0x49,0x00,0xD8,0xBC,0x1F,0x2F,0xF6,0xB3,0x1D,0x9C,\r
+0x83,0x89,0xDB,0xD0,0xF1,0x3C,0x17,0xA2,0x2D,0xCC,0xD5,0xAD,0xD3,0x59,0xD7,0x77,\r
+0xEF,0xBC,0x0B,0xD7,0x3C,0x17,0xA2,0x82,0x34,0xFF,0x01,0x3D,0x5D,0x92,0x7E,0xA5,\r
+0x2B,0xC5,0xF7,0x2C,0xC7,0x46,0xF0,0x06,0x36,0x09,0x5C,0x4A,0xB9,0x26,0x8E,0x21,\r
+0xC9,0x64,0x70,0xDB,0xDF,0x07,0xB6,0xFC,0xDC,0xC3,0x79,0xA1,0x30,0x3D,0x4B,0xC6,\r
+0x88,0xD2,0x90,0x00,0x60,0x0F,0x3E,0x4E,0xA2,0x53,0x81,0x26,0x90,0xB7,0x62,0x12,\r
+0xBE,0x8B,0xD4,0xDA,0x82,0xCE,0xB8,0xF9,0x3A,0x0B,0x99,0xEE,0xBC,0xD0,0xC1,0x05,\r
+0x01,0x2B,0x96,0x3B,0xD6,0xFC,0x87,0x48,0x6D,0x85,0x69,0x7A,0xDC,0xA0,0xA5,0x51,\r
+0x78,0x56,0x24,0xE4,0x5D,0xF9,0xB5,0xA8,0x8D,0xC4,0xB2,0xCC,0xE5,0x80,0x0F,0xB9,\r
+0xE0,0xB0,0xFA,0x7B,0x00,0x30,0xBB,0xAD,0x23,0x38,0x4D,0x7E,0xE3,0xF4,0x14,0x63,\r
+0xFA,0xF4,0x69,0x0F,0x53,0x2A,0x2D,0x5C,0x7A,0x42,0x25,0x39,0xFE,0x9A,0x03,0x8F,\r
+0xFB,0x6A,0x8E,0x7D,0xCC,0xCA,0x9C,0x44,0x7D,0x02,0x8C,0x11,0x0A,0x9F,0xB5,0xD0,\r
+0x21,0x00,0x5B,0x8E,0xFB,0x61,0xE9,0x29,0xC0,0x46,0x59,0x6E,0xE1,0xD2,0x37,0x72,\r
+0xEE,0x22,0xEC,0xA5,0x56,0x75,0xD9,0xEA,0xA4,0xDA,0xBA,0xDF,0x47,0x2C,0x05,0x7C,\r
+0xF6,0xC2,0x73,0x14,0xFC,0x49,0x40,0x69,0x57,0x23,0x4B,0xA4,0xB4,0xF9,0xDF,0x16,\r
+0x08,0xD4,0xD1,0x2E,0xD3,0xA3,0x73,0xFE,0x97,0xC8,0xA9,0xFA,0x86,0x72,0x3F,0x13,\r
+0x6A,0x73,0x17,0xF7,0x5C,0x28,0x27,0x61,0x2F,0x3A,0x88,0xDA,0x4E,0xA1,0x6C,0x80,\r
+0x93,0x08,0xE4,0x06,0xA3,0xF7,0x13,0x9A,0x7E,0x3D,0x43,0xB7,0x54,0x1F,0x17,0x59,\r
+0x18,0x55,0xEE,0xF8,0xEF,0x84,0x6A,0xD1,0x20,0x07,0x82,0xD8,0xCC,0x11,0xE3,0x8A,\r
+0xE2,0x14,0xF6,0xBE,0x19,0xA0,0x6F,0x9E,0xF2,0x9D,0xD8,0x9A,0x72,0x77,0x89,0x4C,\r
+0x39,0xE0,0xC4,0x3F,0x5E,0x5F,0x7A,0x97,0x43,0xDB,0xC8,0x41,0x5B,0xE6,0x65,0x7F,\r
+0xB9,0xE6,0x85,0x11,0x6C,0xAB,0xFB,0x4C,0x9B,0xCA,0x6C,0x5E,0x23,0x0E,0x59,0xE3,\r
+0x52,0xB8,0x45,0xF3,0x0C,0x94,0x7E,0xAF,0x65,0xF8,0xCA,0x50,0x0B,0x3B,0xC2,0x3F,\r
+0xA1,0x06,0x1A,0xA0,0x3F,0xB1,0x6D,0xBD,0xB8,0x5F,0x9A,0x10,0xBD,0x74,0xB6,0xEA,\r
+0xA6,0x6B,0x4B,0x6B,0xCF,0x6C,0x53,0x7B,0xD5,0x77,0x48,0x5A,0xEF,0x8F,0x32,0xBB,\r
+0xEC,0x86,0xE0,0x60,0xA6,0xA8,0xE7,0x2C,0xE9,0x58,0x51,0x7D,0x9B,0x1C,0x28,0xFF,\r
+0x47,0xF0,0x27,0x2B,0xDA,0x58,0x42,0x4A,0x63,0x71,0xF1,0xA9,0xC1,0xCE,0xB2,0xBD,\r
+0x30,0x1F,0x83,0x2A,0xAC,0xF5,0x19,0xA7,0x03,0x92,0x74,0x96,0xF4,0x95,0x3E,0x8D,\r
+0x41,0x03,0x91,0x92,0xCA,0x33,0xA7,0xCD,0x1D,0xE1,0x09,0x2E,0x44,0xAE,0x51,0x82,\r
+0x9B,0x69,0x44,0x61,0xBD,0x4F,0x6E,0xE9,0x2B,0x45,0xEE,0x54,0xC6,0x1E,0xDE,0x88,\r
+0xE8,0xD1,0x5A,0x1C,0xE3,0x20,0xAF,0xD3,0xD9,0x75,0x8D,0xFE,0x97,0x67,0x0E,0x27,\r
+0xE6,0x43,0x4C,0xC2,0x49,0x1C,0x36,0x50,0xF5,0xDD,0x71,0xB2,0x9D,0x68,0x33,0x25,\r
+0x2D,0x36,0x41,0x95,0xEB,0x0A,0x0C,0xAE,0x7F,0xF4,0xD1,0x66,0xE6,0x02,0x5B,0x47,\r
+0x73,0x0D,0x6F,0x34,0xA5,0x0E,0x28,0x13,0x40,0xE4,0x07,0xE7,0xCE,0x37,0xC0,0x9B,\r
+0x80,0xB3,0x30,0x67,0xC8,0x44,0xFA,0x3B,0xC1,0x8F,0xCB,0xBF,0x12,0x07,0xED,0x18,\r
+0xBF,0x15,0x33,0xA8,0xAD,0x24,0x8B,0x6E,0x42,0x12,0x5A,0x90,0x31,0x99,0x3C,0x29,\r
+0x9F,0x3E,0xFE,0x1D,0xCD,0x1B,0x0E,0x8D,0x93,0xB7,0xCF,0x74,0x35,0xCB,0x04,0xE2,\r
+0x43,0xA7,0x9D,0x57,0x81,0x68,0x77,0xC6,0x62,0xB8,0x63,0x78,0xE2,0x50,0x63,0x8C,\r
+0x5D,0xB4,0xB4,0x5F,0x94,0x5C,0x66,0xF7,0xF3,0x54,0x4A,0x4B,0x33,0xBF,0x1F,0x38,\r
+0xD0,0x1A,0x08,0x18,0x7C,0xC0,0x1E,0xCB,0x38,0xFD,0xC4,0x99,0x7F,0xA8,0xD8,0x7B,\r
+0x67,0xDB,0xEA,0x9E,0x8C,0x1D,0x20,0x0D,0x4A,0x6F,0xF9,0xBA,0x89,0x8B,0x4D,0x35,\r
+0x72,0x93,0x88,0x46,0xB5,0x65,0xCD,0x94,0xDE,0x35,0x24,0xD6,0x50,0x4D,0x2F,0x92,\r
+0x2D,0x9D,0x23,0x95,0x74,0x56,0xE0,0x20,0x75,0x84,0x0F,0x21,0xA0,0x24,0xFD,0xF1,\r
+0x83,0x61,0xDC,0x27,0x72,0x4D,0x3A,0x54,0xEA,0x5A,0xE9,0xB9,0x69,0x2A,0xA0,0xF4,\r
+0x9A,0x52,0x08,0xB7,0x2D,0x98,0x5C,0x70,0x4B,0x74,0xD2,0xE7,0x97,0x29,0x22,0xA0,\r
+0xCD,0xDC,0xF8,0x23,0x4D,0xFC,0x08,0x00,0xAA,0x36,0x72,0x58,0xA5,0x16,0x76,0x11,\r
+0x7C,0x9A,0xE8,0xF8,0xA1,0x12,0x9F,0x9D,0x4A,0xD0,0x3D,0x90,0x5E,0x27,0x7F,0xA5,\r
+0x02,0x0A,0x10,0x7F,0x01,0x3B,0x4B,0x17,0x91,0x30,0x8B,0xD1,0x56,0xAF,0xC0,0x17,\r
+0x94,0xA6,0x90,0x64,0xCC,0x27,0xFC,0x32,0x46,0xAB,0xE5,0xB6,0x4E,0x33,0x9C,0xDB,\r
+0x96,0x50,0xCD,0x13,0x28,0xD7,0x78,0x86,0xBD,0x57,0x9C,0x72,0x1F,0x61,0x67,0x5F,\r
+0x78,0xE5,0x8E,0x76,0x67,0x44,0xC5,0x13,0x3C,0x65,0x68,0xA9,0xEC,0xD8,0xD1,0x59,\r
+0x8D,0x95,0x44,0xF4,0x42,0x8E,0x2E,0xF9,0x41,0x7B,0xD0,0xDA,0x65,0x86,0x51,0xFB,\r
+0x3E,0x25,0x09,0x58,0x7A,0x53,0x29,0x7D,0xF5,0x12,0x14,0x8D,0xBD,0x8A,0x2A,0xDD,\r
+0xAF,0xC9,0x20,0x6B,0x32,0xAC,0xA1,0x38,0xB0,0x88,0xAB,0x23,0x3E,0x56,0x1A,0xF0,\r
+0x82,0xA8,0x4E,0xF6,0x26,0xD2,0xB1,0xDB,0x00,0xB3,0xA4,0x4C,0x96,0x3F,0xE7,0xFD,\r
+0x4D,0x7E,0xA6,0xAA,0x2E,0xCC,0xA2,0xF2,0x4F,0x26,0x19,0xDF,0x0E,0x63,0x41,0x7C,\r
+0x8E,0xAA,0x8B,0x52,0x11,0x7D,0x90,0xA6,0xAC,0x42,0xA8,0x43,0x91,0x07,0x63,0x20,\r
+0x0A,0x77,0xB3,0x55,0xAD,0x34,0x47,0xE6,0x3B,0xB5,0x5D,0xC5,0x3B,0x64,0x91,0x10,\r
+0xB4,0x0C,0xA9,0x8C,0x84,0xD8,0x74,0x77,0xA3,0xBB,0x8E,0x31,0x20,0xE4,0x07,0xBC,\r
+0x3C,0xD3,0x54,0x2F,0x1E,0x0F,0xB6,0x5F,0x35,0xE8,0x94,0xC0,0xC4,0x71,0xD6,0x19,\r
+0xA9,0x40,0x1B,0x92,0x02,0x6F,0xB5,0x95,0xAB,0x92,0x9D,0x2F,0x11,0xC7,0x99,0x6D,\r
+0xC1,0xDE,0x3D,0x87,0xE9,0xED,0x17,0xD8,0x7B,0xD9,0xC6,0x24,0x84,0x21,0x0B,0xBE,\r
+0x48,0xC8,0x52,0xF5,0x6E,0x2D,0x39,0x9E,0x05,0x45,0x80,0x03,0xAF,0x94,0xC6,0x9E,\r
+0xC4,0x68,0xC9,0xD8,0x14,0x32,0xB4,0x50,0x12,0x24,0x6E,0x29,0xDE,0xE7,0x85,0xE8,\r
+0xB0,0x73,0xCF,0x02,0xE1,0xF3,0x04,0xF1,0xDE,0xA5,0x36,0x42,0x40,0x95,0x62,0xE9,\r
+0x10,0x7B,0xA8,0x63,0xBE,0x26,0x62,0xD5,0x87,0xF5,0x8A,0x8C,0x34,0xD4,0xAA,0x7F,\r
+0x69,0xAB,0xF9,0xCC,0x6D,0x79,0xC7,0x1C,0x3A,0x11,0xB2,0xB2,0x9A,0x93,0x16,0xF2,\r
+0x58,0x4F,0xB7,0x9E,0x7C,0x48,0xF3,0x09,0x4C,0xA4,0xE7,0x8B,0x1C,0x7D,0xAD,0x3F,\r
+0x1B,0x39,0xC4,0xEF,0x37,0xE3,0x85,0xCE,0xC3,0xCB,0xDA,0x55,0x50,0x81,0x81,0x97,\r
+0xB2,0x85,0x92,0x75,0x30,0x8F,0xB0,0x1E,0x0E,0xEE,0x6D,0x49,0xFF,0xD0,0xF8,0x47,\r
+0xCA,0x9C,0x51,0x0B,0x45,0xE2,0x1B,0x29,0x79,0xFF,0xD7,0x07,0xC1,0x43,0x5D,0xF9,\r
+0xB8,0x0E,0x6C,0x28,0x47,0xC1,0x0A,0x0F,0xB8,0xA1,0xB8,0x3D,0xDC,0xED,0x8A,0xD5,\r
+0x89,0xEA,0x22,0x7A,0xF4,0xFA,0xFB,0xB6,0x15,0xF4,0x5B,0x45,0xBC,0x9C,0xEF,0x80,\r
+0x66,0x96,0xF3,0xCE,0x99,0xCF,0x98,0x19,0xDD,0x27,0xC8,0x16,0xF7,0x58,0x47,0xF5,\r
+0xEA,0x36,0x68,0xE3,0x18,0x14,0x6C,0x2B,0x0F,0x4A,0x82,0x3E,0x44,0xB1,0x2C,0x54,\r
+0x7E,0x6C,0xB5,0x8F,0xC1,0x76,0xCB,0xED,0xD7,0x28,0xCA,0x2B,0x3C,0x5C,0x15,0xCD,\r
+0x53,0x0D,0xDB,0x12,0xA2,0x46,0x61,0x1F,0xCE,0x14,0xED,0x04,0x05,0xF7,0x34,0xAE,\r
+0x98,0xA4,0x55,0xC0,0xEE,0x81,0x22,0x08,0x89,0xA8,0x43,0x89,0x99,0x8F,0xDC,0x92,\r
+0x33,0xEE,0x5E,0x2D,0xA4,0x5D,0xBB,0x6B,0x8C,0x5E,0x67,0xC6,0x42,0x9F,0x6D,0xD4,\r
+0xC2,0xE1,0xF2,0x21,0x73,0x3A,0xD5,0xF0,0xC6,0x3D,0xFE,0x1A,0x31,0xE6,0x21,0x9F,\r
+0x61,0xD6,0x5A,0xE6,0x83,0xB4,0x41,0xA7,0xF6,0x90,0xEA,0xD9,0x1D,0x6B,0x68,0x62,\r
+0xE2,0x4B,0xCB,0xC9,0xA0,0x65,0x70,0x39,0x39,0x93,0x4C,0xE6,0x7D,0x1A,0x0D,0x37,\r
+0xDF,0xAD,0x40,0x3F,0x77,0x02,0x1E,0xA2,0x04,0xE1,0x6F,0x74,0x53,0x9D,0x4B,0xF7,\r
+0xE0,0xBD,0x96,0xBE,0x5F,0x99,0xC2,0x97,0xA5,0xCF,0x54,0x2A,0x57,0xB9,0x05,0x4A,\r
+0x79,0x2C,0x1C,0xA7,0x06,0x57,0x7E,0xC7,0x8D,0xFA,0x88,0xB1,0x79,0x3E,0x43,0x8A,\r
+0x55,0x84,0xE0,0xEB,0x0C,0x6A,0x7C,0xC8,0x53,0xEC,0x1A,0xBF,0x45,0xA7,0xE9,0x09,\r
+0xBD,0xB8,0x98,0x77,0xD5,0x08,0xDB,0x0E,0x03,0x31,0x5A,0x18,0x6A,0x36,0x6A,0x94,\r
+0x8B,0x1C,0x7F,0x0D,0x57,0x87,0xD1,0xBE,0xF0,0xE4,0x30,0xC2,0x16,0xFF,0x1D,0xB0,\r
+0xC3,0x28,0x60,0xF0,0x50,0xEB,0xE4,0x6E,0xBA,0x87,0xA9,0x1E,0x01,0xD3,0x7A,0x13,\r
+0xA3,0xCB,0xE5,0xCF,0x65,0x67,0xD4,0x35,0xBB,0x23,0x46,0x69,0xAC,0x88,0x0C,0xFE,\r
+0x75,0x2E,0xD9,0x03,0x7E,0x6B,0xE2,0x2F,0xFA,0xEB,0x32,0xFF,0x35,0xC2,0x6F,0x22,\r
+0x49,0x01,0xC0,0x24,0x0A,0x71,0xA6,0xBC,0xF1,0x40,0xDF,0xB5,0xF1,0x76,0x06,0x75,\r
+0xC5,0xA1,0x5B,0x09,0x9A,0x9B,0x66,0x9B,0x62,0xE5,0xE1,0x0B,0xCD,0xEF,0xAC,0xF6,\r
+0x18,0x06,0x0B,0x49,0x2C,0xEF,0xB3,0xD4,0x31,0xBA,0x5F,0xF8,0xE8,0xFC,0x9F,0xE4,\r
+0xE3,0x82,0x59,0x18,0xCA,0x3C,0x26,0x46,0xAE,0x64,0xB9,0x60,0x06,0xEB,0xFE,0xCE,\r
+0x3B,0x93,0xFD,0x07,0xB2,0x00,0xBA,0xAE,0x80,0x25,0xBF,0xE0,0xF2,0x6A,0xCC,0x15,\r
+0x80,0x5E,0x13,0x81,0x5D,0xBA,0xD3,0xB1,0x69,0x4E,0x0C,0x41,0xDD,0xFB,0x4F,0x88,\r
+0x52,0xC4,0x49,0xC3,0xE3,0xD0,0x15,0xD7,0x2F,0x56,0x4D,0xBB,0xF9,0xFE,0xB9,0xC7,\r
+0x8F,0x63,0x19,0x83,0xDF,0x35,0xD9,0x01,0x66,0xB7,0x2A,0x33,0x71,0xB6,0xFC,0x38,\r
+0xDE,0x64,0xD2,0xEE,0xC5,0x4E,0x00,0xBF,0x97,0x44,0x51,0xCA,0xAE,0x82,0x03,0xC3,\r
+0xF7,0x7A,0xDA,0xFD,0x25,0x86,0x4F,0x59,0x85,0xD3,0x9B,0xAF,0x10,0xD1,0x5C,0x30,\r
+0x37,0x91,0x38,0xA3,0x17,0x66,0x4A,0xD2,0xBF,0x71,0x8D,0x51,0xFA,0xE2,0x73,0xA7,\r
+0x60,0x1F,0xC8,0x37,0x70,0x6E,0x2B,0x72,0x1F,0xFB,0x59,0x78,0x38,0x78,0x5B,0x70,\r
+0x04,0x83,0x2B,0x86,0xD6,0x5C,0x25,0x8C,0x34,0x4C,0x7B,0xB7,0x2C,0x48,0xF6,0xB3,\r
+0xDA,0x1B,0xB4,0x60,0x6F,0x5A,0xD6,0x3A,0x9E,0xC9,0xAD,0xA3,0x73,0xBC,0xF3,0x05,\r
+0xDD,0x5B,0x1D,0x48,0x9B,0xEC,0x89,0x3F,0xEC,0x2E,0x33,0xA2,0x93,0x0D,0x6C,0x1D,\r
+0x1F,0x4A,0xD3,0x4A,0x3C,0xFE,0x9B,0x63,0xBD,0x08,0x57,0xA6,0xFD,0x38,0x1C,0x70,\r
+0x50,0x6E,0x25,0x4F,0x24,0xBF,0xDD,0x99,0xDB,0x62,0xE9,0x60,0xA7,0xEA,0x86,0x32,\r
+0xCD,0x41,0xA6,0xDE,0x4F,0x0C,0x34,0x38,0xC4,0xD8,0x06,0x09,0x49,0x51,0x4B,0xB4,\r
+0x16,0xB5,0x94,0x5F,0x0E,0x0A,0x1A,0xB8,0x2C,0xE4,0x7E,0x95,0xED,0x89,0x5A,0xAB,\r
+0x3C,0x5B,0xF5,0x48,0xD0,0xEC,0x85,0x20,0xBE,0x37,0x98,0x00,0xBF,0x72,0xDE,0xFA,\r
+0x2E,0x7E,0xC6,0x5B,0x8F,0x52,0xD6,0xD3,0xF1,0x43,0x2E,0xD5,0xEF,0xAF,0x79,0xBA,\r
+0xAD,0x42,0x6C,0xC2,0x2A,0x6C,0x45,0x6D,0xD6,0xA9,0xBE,0x15,0x74,0x23,0xD9,0x97,\r
+0xFA,0x86,0x05,0x76,0x81,0x81,0x4E,0x27,0x45,0xB3,0xCA,0x51,0x6D,0x1F,0xF6,0xB0,\r
+0xC5,0x20,0x06,0xB9,0x44,0x80,0x58,0x7A,0x55,0x34,0x2F,0x3A,0xA9,0xB7,0x83,0xFB,\r
+0xDD,0xC0,0x99,0x08,0xA3,0x1E,0x2A,0x7B,0x50,0x82,0xDB,0x65,0x00,0xB0,0xC3,0xD3,\r
+0x6B,0x9F,0x9C,0xFC,0x26,0xC8,0x80,0x6F,0xE6,0x84,0x62,0x96,0x9F,0x6E,0x5B,0x35,\r
+0xA8,0x8B,0x31,0xCC,0x91,0xEA,0xAB,0xA0,0x18,0xB6,0xC4,0x98,0x7C,0x0A,0xC7,0x84,\r
+0x7F,0x49,0x19,0x56,0x1B,0x3E,0x0B,0x89,0xB8,0xBE,0xA3,0xF9,0x8C,0x5D,0x49,0x10,\r
+0xE8,0xA3,0x36,0x65,0xB9,0x28,0x31,0x77,0x33,0x5E,0x91,0xFC,0x6E,0x9D,0xA2,0x4E,\r
+0x1B,0x1D,0x69,0x36,0x2E,0xE2,0x23,0x12,0xD5,0x96,0x71,0xB3,0x66,0xB4,0xBC,0x5D,\r
+0xE0,0xC2,0x96,0x02,0xDD,0x99,0xD2,0xEB,0x6B,0xED,0x6B,0x6A,0xAD,0xE5,0xBB,0x30,\r
+0xEF,0xCE,0x67,0xAE,0xF9,0xFF,0x8D,0x3E,0x53,0xBD,0x14,0xC3,0x7F,0x88,0x93,0x7A,\r
+0xBA,0xAE,0x02,0xDF,0xFA,0x59,0x42,0x01,0xCD,0x6C,0x37,0xF2,0xEE,0x0B,0x0E,0x55,\r
+0x47,0x82,0x4B,0x52,0x57,0x4D,0x72,0xC2,0x9A,0xE2,0xC7,0x66,0x46,0xA8,0x39,0x92,\r
+0x0C,0xF1,0x07,0x2B,0x34,0xD4,0x38,0x1E,0x01,0x85,0x10,0x08,0xEA,0x59,0x36,0x9E,\r
+0x4A,0x2A,0xB6,0x3B,0xC2,0xF0,0x3D,0x51,0x62,0x59,0x5A,0x91,0xE1,0xF2,0x7C,0x73,\r
+0x76,0xB6,0x5E,0x43,0x7E,0x5E,0x7A,0xDC,0x75,0x9E,0x16,0xD2,0x6F,0x39,0xD5,0xA1,\r
+0x15,0x8F,0x7F,0xE8,0x42,0x79,0x63,0xF3,0x87,0xAE,0x75,0x78,0x01,0x14,0xB4,0x3C,\r
+0x8C,0xF7,0x46,0x05,0x20,0x31,0xBB,0xE6,0x41,0xCC,0xAC,0xDF,0xDC,0x80,0xEE,0x50,\r
+0x26,0x1F,0x66,0x3C,0x49,0xF5,0x0F,0xB1,0x5F,0xBF,0xD1,0x67,0x51,0xC9,0x13,0x7C,\r
+0xCB,0xB2,0x10,0x67,0xED,0x1A,0x0E,0xC6,0x04,0x33,0xE4,0x57,0xD4,0xA9,0xF0,0x43,\r
+0x68,0xA5,0x77,0x4B,0x8E,0x83,0x44,0x1A,0xD4,0x5F,0xE3,0x62,0xCB,0xE1,0xC4,0xBE,\r
+0x4C,0xD9,0x00,0x82,0x5B,0xE9,0xB7,0xC0,0x64,0xD0,0x61,0x68,0x2C,0xD7,0x60,0xC4,\r
+0xD1,0xF6,0x83,0x13,0x86,0xA9,0xE7,0x67,0xA2,0xB2,0xB8,0xCF,0x54,0x3F,0x5C,0x58,\r
+0x52,0xCA,0x29,0x8A,0x90,0x3B,0x39,0x69,0xAD,0x8F,0xB2,0xCD,0xA8,0x13,0xF4,0x14,\r
+0x92,0xE4,0x6F,0x0D,0xA5,0xE7,0x11,0xF2,0xFD,0x41,0xEB,0x71,0x22,0x8A,0x65,0x0D,\r
+0x2F,0xE0,0x21,0x29,0x8B,0xDC,0xB0,0xAC,0xC8,0xDA,0xC3,0xAD,0xF4,0xB5,0x75,0x8C,\r
+0xA7,0x87,0xC0,0x60,0x9F,0x39,0x33,0x54,0xBF,0xFE,0x0A,0xD1,0x1C,0x7A,0xA3,0xD0,\r
+0x31,0xF3,0x08,0x21,0xCF,0x85,0x6A,0x9A,0x9B,0x2B,0x55,0xB7,0x7B,0xDA,0xAB,0xB1,\r
+0x30,0x6D,0xEF,0x53,0x4E,0xDD,0xA6,0xF1,0x3A,0xEA,0xA0,0x07,0x7D,0xAE,0xB0,0x6B,\r
+0x46,0x1C,0xAC,0x20,0x2F,0x33,0xB1,0xDB,0xF4,0xF5,0xDA,0x8A,0xE6,0x22,0x10,0x46,\r
+0x66,0x37,0x61,0x95,0xB3,0x75,0xCF,0xFC,0xB2,0x35,0x5D,0xA4,0x89,0xAB,0x06,0x34,\r
+0xB5,0xA2,0xF3,0x73,0xF8,0x2E,0x1F,0xF7,0xFF,0xB7,0xB6,0x06,0xAF,0xC3,0x98,0x21,\r
+0xC1,0x77,0xBC,0xC5,0x82,0x27,0x81,0x18,0x35,0xD7,0xAA,0x05,0xE0,0x56,0x0B,0x9C,\r
+0x64,0x93,0x6D,0x50,0xD1,0x3D,0x17,0xE9,0x1D,0x00,0x30,0xC7,0x1D,0xDE,0xD4,0x3F,\r
+0x2D,0x44,0x2D,0xEC,0x4D,0x7B,0x69,0xCE,0x73,0x17,0x2D,0x2B,0x47,0x0C,0x4E,0x7D,\r
+0x58,0x0F,0x85,0x28,0x9E,0xE8,0xA1,0x9D,0xDC,0x22,0x40,0x48,0x96,0xE3,0x32,0xC9,\r
+0x0D,0x6F,0xE0,0x59,0xCB,0x0B,0x0C,0xE5,0x65,0x19,0xF3,0xB9,0xD8,0xD2,0xD6,0x9B,\r
+0x21,0x72,0x37,0xF7,0x95,0x64,0xCD,0xDF,0x43,0x3A,0xF1,0xA8,0xE5,0xA0,0x44,0xB8,\r
+0x9F,0x4C,0x92,0x64,0x84,0xDE,0xBA,0x91,0x74,0x57,0x84,0x03,0x26,0xD8,0x5D,0xC6,\r
+0x4F,0xE3,0xEB,0x35,0xA1,0x69,0x77,0x8D,0xA4,0x3B,0x83,0x36,0x70,0x71,0xE1,0x5C,\r
+0xE7,0xAF,0xC7,0xC9,0xCE,0x54,0xF8,0x53,0x63,0x90,0xC8,0x40,0x03,0x32,0x97,0x2D,\r
+0x2A,0x29,0x7C,0x27,0x7B,0x01,0x8E,0x6A,0x76,0xA1,0xD9,0x74,0x4D,0x03,0x73,0x7F,\r
+0x87,0xAC,0x0D,0xD5,0x3D,0x2F,0x09,0xAA,0xEC,0x0F,0x9C,0xCB,0x79,0xFC,0x88,0xA0,\r
+0x03,0xFD,0xF6,0x87,0xC1,0x56,0xF2,0x6E,0x58,0xFF,0x78,0x4F,0x24,0xFE,0x7E,0xD7,\r
+0xCF,0xE5,0xAA,0x1B,0x5A,0x38,0x25,0x09,0x7D,0xE3,0xB5,0xF8,0xA4,0x68,0xD2,0xCC,\r
+0x7D,0xED,0x15,0x93,0xBA,0x8E,0xFE,0x48,0xF7,0xCA,0x15,0x2C,0x5C,0x16,0x42,0x4B,\r
+0xC9,0x16,0x1C,0xA2,0x5C,0xC1,0x1E,0x80,0x6A,0x24,0xF9,0xBB,0x4C,0xA7,0x04,0x90,\r
+0x78,0x24,0x48,0x9D,0x1E,0x61,0xFF,0x3F,0x1A,0x40,0x99,0xEF,0xBC,0xF0,0x8A,0x04,\r
+0x2C,0xDA,0xCA,0x9E,0x30,0x5A,0x5E,0x61,0x3E,0x95,0xC6,0x89,0x68,0xE9,0xB9,0x94,\r
+0x29,0x13,0x97,0x90,0xEE,0xBC,0xC1,0xF9,0x4A,0x8E,0xC0,0x53,0x97,0x47,0x45,0x26,\r
+0xC8,0x88,0xFB,0xD0,0xDF,0xEE,0x8F,0x1D,0x8C,0xEC,0x19,0xF4,0x07,0x60,0xAF,0xE6,\r
+0xF8,0x22,0x09,0xB3,0x28,0x1B,0x18,0x9B,0xCC,0xA5,0xA5,0x23,0x3F,0xE4,0x72,0xE1,\r
+0xA4,0xBD,0x2B,0xD7,0x4C,0xAA,0xFB,0x07,0x98,0x14,0x9A,0x11,0x12,0x27,0xA6,0x19,\r
+0x25,0x25,0x8D,0x8B,0xD9,0x17,0xB4,0x94,0xB1,0x0A,0x92,0x02,0xFA,0xE8,0x70,0x45,\r
+0x28,0x8D,0x70,0xE2,0xE2,0x18,0x04,0xFB,0x52,0x74,0x86,0x12,0x94,0xC5,0x11,0xD8,\r
+0x05,0x0E,0x40,0x3E,0x78,0xA7,0x41,0x55,0x17,0x8B,0xCE,0x9A,0xBD,0x54,0xFD,0xEB,\r
+0x23,0xD6,0x3B,0x32,0x11,0x63,0xF5,0x02,0x93,0x56,0xF6,0x9D,0xF0,0xE7,0x4D,0x47,\r
+0x81,0x5F,0xBB,0x6C,0x0F,0xDB,0x88,0x71,0x79,0x9C,0xD3,0x76,0x3A,0x12,0x3D,0xC5,\r
+0x2B,0x46,0x89,0x73,0xEE,0x4E,0x12,0x8B,0x81,0x02,0x60,0x58,0x7C,0x39,0x10,0x29,\r
+0x86,0x85,0xB9,0x67,0xC5,0x81,0x30,0x3C,0x27,0xFC,0x6E,0x6A,0xCD,0xDA,0x74,0xB5,\r
+0x83,0x33,0x4D,0x38,0x6F,0x95,0xE6,0xB9,0x9E,0x4A,0x9D,0x6C,0x2B,0x45,0xAA,0x2D,\r
+0x1C,0x2B,0xFC,0xD8,0x1D,0x94,0x78,0x5E,0x6A,0x4F,0xC2,0xDA,0x03,0xEC,0xAD,0x6D,\r
+0x8C,0x0E,0x47,0x3A,0x97,0x05,0x61,0xC7,0x2E,0x71,0x92,0x03,0xC8,0xE8,0xFF,0x55,\r
+0x73,0xF5,0x73,0xE5,0x66,0xFC,0x1A,0x34,0x34,0xCF,0x4B,0x78,0xA5,0x23,0xAE,0x52,\r
+0x2C,0x06,0x20,0x5B,0x74,0x99,0xD0,0xA3,0xD4,0x29,0x04,0xB0,0xB6,0x2B,0x87,0x4C,\r
+0x03,0x91,0x13,0xB1,0x4E,0x67,0xC6,0x01,0xE6,0xA2,0x01,0x50,0xE8,0xC9,0x47,0xA7,\r
+0x8E,0xF8,0x1A,0x4D,0x5F,0x56,0xF2,0x14,0x3B,0x36,0x6D,0x0A,0x53,0xA8,0x93,0xB4,\r
+0xBC,0x23,0x9B,0xB9,0x71,0xD6,0xF4,0x55,0x43,0xDE,0xF1,0x36,0x4C,0x0C,0x4B,0xA5,\r
+0x3F,0xBE,0x0A,0x96,0x98,0x77,0x47,0x3E,0xAC,0xC1,0x98,0x8C,0xCA,0xE2,0xF0,0x68,\r
+0xC9,0xF1,0x0F,0xB2,0xDE,0x8D,0x06,0x26,0x12,0xA7,0x5E,0xE6,0x88,0xB8,0x22,0xF2,\r
+0x1F,0x14,0x33,0x7E,0x0B,0xC9,0x79,0x9B,0x8F,0x5F,0xA9,0x5D,0x48,0x28,0x05,0x18,\r
+0x76,0x43,0x87,0xBA,0x00,0x83,0x94,0x30,0xFB,0xCC,0xED,0x47,0x6F,0x31,0x39,0x37,\r
+0xDC,0xC0,0x1E,0x86,0x93,0x3D,0xAA,0x95,0x6B,0xEB,0x2D,0xAD,0x42,0xAA,0xB5,0x97,\r
+0xEF,0xD2,0x0D,0xA3,0xC0,0xCE,0x14,0xCA,0xDD,0xA4,0xF8,0xD9,0x02,0xFA,0x68,0x30,\r
+0x1A,0xA2,0xC7,0x21,0xF2,0x2E,0x11,0x41,0x24,0x7E,0x90,0x3E,0x3C,0x69,0xCD,0x8E,\r
+0x6D,0x86,0x0E,0x5D,0x01,0xF4,0x7B,0x94,0xA6,0xCE,0x9A,0xB1,0x46,0x8E,0xFB,0x2A,\r
+0x0A,0x25,0x22,0x4A,0x4B,0x28,0xE2,0xF7,0xA1,0x1E,0xAF,0xDD,0xBB,0x91,0xB3,0x1E,\r
+0x7C,0xC8,0x79,0xE7,0x4A,0x5F,0x0D,0x53,0x94,0x45,0x9F,0x51,0x84,0x14,0xD3,0xFD,\r
+0x3B,0xC1,0x6C,0x18,0xF5,0x42,0x24,0x91,0x86,0xD2,0x55,0x34,0x74,0xB1,0xAF,0x9B,\r
+0x75,0x7C,0x48,0x1C,0x54,0x1C,0x1F,0xBF,0xAE,0xE7,0x89,0xAF,0xF5,0x67,0x90,0x8B,\r
+0x33,0xBC,0xCF,0x32,0x7C,0x87,0xC3,0x8A,0xF7,0xB7,0x35,0x61,0xEC,0xED,0x09,0x1A,\r
+0x99,0x3F,0x56,0x0E,0xA2,0x89,0x51,0x9C,0xFD,0xB8,0x37,0x5C,0xA0,0x11,0x25,0xB2,\r
+0x1D,0xE2,0x6E,0x09,0x7D,0xF0,0x2C,0x2E,0x55,0x1B,0xF0,0x6B,0x66,0xAF,0x43,0xD8,\r
+0x51,0xA9,0x17,0x7A,0x37,0x2C,0xB5,0x4D,0x82,0x80,0x9E,0x0C,0x6A,0x03,0xB2,0xD7,\r
+0x18,0x54,0x9A,0x56,0x07,0xEF,0xA1,0xE0,0x72,0xD7,0x0A,0x82,0xAD,0xAB,0x11,0xE0,\r
+0x7D,0x01,0xEB,0x36,0xC8,0xD0,0x07,0xE3,0x51,0x49,0x3B,0x53,0x82,0x3A,0x92,0x7D,\r
+0x5C,0x62,0x40,0x0F,0xFE,0x08,0xC9,0x3A,0xE9,0x5B,0x27,0x22,0xA8,0x99,0x9A,0x00,\r
+0x65,0xFB,0xAD,0x77,0x26,0x1D,0x81,0x58,0x30,0x9D,0x80,0x40,0xC4,0x44,0x0E,0x5A,\r
+0x44,0x98,0x06,0x4E,0x3F,0x32,0xA6,0x64,0x53,0x6F,0x2A,0x70,0x59,0x2A,0x23,0x3B,\r
+0xAC,0xA4,0x7E,0xD2,0x78,0xBF,0x08,0xD8,0x1F,0x78,0x69,0xB7,0x8B,0xA4,0xE8,0x92,\r
+0x2D,0xCF,0xB2,0x8A,0x88,0x31,0x9C,0x8F,0xB4,0x59,0x50,0xD4,0x40,0xA0,0xBA,0xAA,\r
+0xFA,0xE3,0x1C,0x97,0x49,0x0B,0xF3,0xD1,0xB6,0x7F,0x41,0xF7,0x63,0x9D,0xC8,0x38,\r
+0x9F,0xB6,0x6D,0xF7,0xE4,0x73,0x10,0x84,0x05,0xC6,0xB0,0xCC,0x31,0xD3,0xF9,0xDC,\r
+0x37,0xC3,0xA9,0xBC,0x2C,0x20,0x83,0x57,0x68,0x69,0xD3,0xF9,0x85,0x02,0x16,0xA0,\r
+0x66,0xC4,0x62,0xD1,0xCB,0x84,0xF9,0x61,0x9C,0x6C,0x8C,0x4F,0x87,0x08,0x19,0x9D,\r
+0xDD,0x09,0x8C,0x57,0xBD,0xBD,0xAC,0xD4,0x8D,0x79,0xB8,0x7E,0xD5,0x46,0x28,0x79,\r
+0xF1,0xA1,0x70,0x1B,0x32,0x63,0x91,0xBB,0xC6,0xBE,0xCE,0xD5,0xA4,0x35,0x6B,0x0F,\r
+0x88,0x71,0x21,0xB4,0xFF,0x7F,0x26,0x9E,0xC1,0x6E,0xFB,0xB9,0x3E,0x63,0xC2,0xB3,\r
+0xB6,0xA8,0x65,0xE4,0xF4,0x35,0xCB,0x35,0x9F,0xEE,0x72,0x1B,0xBE,0xA3,0x38,0xFE,\r
+0xF5,0xDE,0x16,0x95,0xE3,0x1F,0x25,0x54,0xE5,0x20,0xFF,0x04,0x93,0x38,0xB4,0x5E,\r
+0x12,0xDF,0x64,0x0B,0x2F,0x74,0x7D,0xD5,0x10,0x81,0x4F,0xC5,0x49,0x3E,0xC0,0x45,\r
+0xDA,0x49,0x25,0x7F,0x76,0xBA,0xC1,0x85,0x4F,0xA5,0x29,0x10,0x28,0x59,0x60,0x4D,\r
+0x77,0x8A,0x15,0x6B,0x52,0x07,0xC5,0xCB,0x75,0x07,0x3F,0xEE,0xC7,0x58,0xC4,0x3A,\r
+0xA6,0x2F,0x80,0x8F,0xC4,0xF6,0xDF,0x98,0xEF,0x2F,0xFD,0x39,0x64,0xA5,0x4C,0xE5,\r
+0xE9,0x5B,0x36,0x5A,0x5A,0x19,0xD6,0xE2,0xF3,0xE5,0xFE,0x59,0xD9,0xEA,0xD9,0x76,\r
+0x7B,0x88,0xD0,0xCF,0x8A,0x12,0x8D,0xA9,0x18,0xA8,0x5C,0xDB,0xCC,0xCC,0xB1,0xE8,\r
+0x97,0xCB,0xCE,0xDD,0xF1,0x7A,0xEF,0xC3,0xD7,0xAB,0xFA,0xE4,0xBD,0xBF,0xF2,0x9E,\r
+0x31,0x4A,0x92,0x45,0xBE,0xE9,0x52,0x56,0xDF,0x82,0xE9,0xFA,0xE1,0x57,0x3D,0x48,\r
+0x13,0x16,0xF6,0xDA,0x5D,0x75,0xE3,0x32,0xE0,0xD6,0xDB,0x4B,0x19,0x7A,0xFE,0x9C,\r
+0xE1,0x26,0x95,0x70,0xCA,0xF3,0x16,0xC5,0x5C,0x96,0x0C,0x02,0x1E,0x42,0x7A,0x41,\r
+0xA1,0x6F,0x29,0xA7,0xCD,0x9F,0x23,0x15,0x96,0x63,0x8E,0x72,0x3D,0x7F,0x08,0xD3,\r
+0x21,0xCD,0x77,0x2E,0xB0,0xEC,0x9B,0x0B,0xB3,0x89,0x65,0xB8,0xBF,0xB5,0xFD,0xA3,\r
+0x5A,0xEB,0x7B,0xF6,0x04,0xBB,0x5F,0x62,0x8B,0x0D,0x62,0x65,0x13,0xF8,0x4E,0x13,\r
+0x6A,0xC6,0xA7,0x75,0x41,0x15,0xE0,0xF8,0xC3,0x48,0xEA,0x9A,0x20,0xD1,0xDF,0xFF,\r
+0x0F,0x93,0xD6,0x15,0xBB,0xA6,0x76,0xA0,0x50,0xED,0xD4,0x24,0xB3,0x19,0x0C,0xAC,\r
+0xB0,0x21,0x5E,0x1D,0x60,0xE7,0xC0,0x40,0xF0,0x67,0x00,0x0D,0x34,0xE1,0x72,0x3C,\r
+0xEC,0xED,0xC2,0x05,0xB7,0x80,0xAE,0xDB,0x3D,0x42,0xB7,0x11,0x2F,0x61,0xE4,0x90,\r
+0x17,0x69,0x90,0x54,0x4C,0x44,0xD7,0x27,0xD9,0xF6,0x33,0xE1,0x58,0x3C,0xE6,0x66,\r
+0x8D,0xC7,0xD5,0xEB,0x84,0x17,0x44,0xF4,0x85,0x50,0xAB,0x60,0xDE,0xD2,0x5D,0xAB,\r
+0xD0,0xC2,0xDB,0x22,0x1B,0x8F,0xA2,0x2A,0x83,0x24,0x71,0x7B,0x6C,0x2D,0xF3,0x57,\r
+0x52,0x96,0xD8,0xDC,0xBA,0xD1,0x99,0x04,0xDC,0x00,0x17,0xAE,0xFC,0xF9,0xEA,0x64,\r
+0x06,0x27,0xE7,0xEE,0x5B,0x6E,0x39,0x46,0xBC,0x70,0x43,0xCA,0x68,0x09,0xBD,0xEA,\r
+0xA7,0x11,0x26,0x77,0xD0,0x2C,0x91,0x2C,0x63,0xC5,0x30,0x47,0x2A,0x27,0xB1,0xD4,\r
+0x7F,0x73,0x6E,0x62,0xA8,0x15,0x08,0xC1,0x0F,0x18,0x6A,0xD3,0x48,0x80,0x68,0x12,\r
+0xF9,0x91,0xAF,0xD5,0x75,0xE5,0xCE,0xFF,0x2C,0x25,0xF8,0xA1,0xDD,0xCE,0x9E,0x31,\r
+0xBE,0x2D,0x01,0x58,0xE9,0x0D,0xF2,0x87,0xFE,0xAB,0x51,0x6A,0x1A,0x8D,0xD2,0x26,\r
+0xB6,0x04,0x12,0x46,0xDD,0x18,0xC3,0x96,0xCD,0x82,0xBD,0xFB,0x66,0x39,0x03,0xC9,\r
+0xFC,0x67,0x8B,0x9A,0xAE,0x54,0x88,0xEF,0xC1,0x2E,0xB2,0x0A,0x01,0x57,0xD4,0x52,\r
+0x49,0xAA,0xA0,0xBA,0x91,0x34,0x6B,0x6A,0x25,0xBB,0x17,0xDB,0x39,0x9C,0xD0,0x00,\r
+0x86,0xA9,0x06,0x85,0xF1,0x51,0x3E,0x1B,0x0A,0x2A,0x8A,0x58,0xE8,0xAD,0xF3,0x9E,\r
+0xD5,0xF6,0xB8,0x76,0xBB,0x3C,0x16,0xC9,0x52,0xE6,0xE1,0xD9,0xC5,0x2E,0x2F,0xAE,\r
+0x74,0xD8,0x83,0x28,0xBF,0x72,0xAB,0xED,0xD3,0x30,0xF1,0xE6,0x5E,0xF2,0x07,0x9B,\r
+0x23,0xD5,0xF6,0xE3,0xA9,0xD0,0x55,0xD7,0x07,0x90,0xD8,0x6C,0x36,0x90,0x7C,0xF1,\r
+0xFD,0xC3,0x64,0xED,0x95,0x7A,0xD6,0x4E,0x4B,0x6C,0x70,0x40,0x0B,0x92,0x76,0xFE,\r
+0x80,0xDD,0xDC,0x9E,0xFA,0x24,0xEC,0x8F,0xE1,0x0F,0x40,0xB2,0xDB,0x3D,0x27,0x87,\r
+0x73,0x08,0xB6,0x44,0x86,0x53,0xC8,0x46,0x9B,0xE8,0xE4,0x84,0x54,0x37,0xA5,0x37,\r
+0xCB,0x1A,0xAA,0x35,0x40,0x35,0xA2,0xF8,0x23,0x95,0x97,0x9A,0x3B,0x38,0x15,0x0C,\r
+0xCA,0xBE,0x45,0x42,0xED,0x43,0x4F,0xA3,0x1C,0x10,0x74,0xFA,0xB7,0x08,0x20,0x57,\r
+0x81,0x79,0x33,0xE9,0x1D,0x3F,0x29,0x06,0xC8,0xB0,0x5D,0x70,0x2D,0x4A,0x7A,0x85,\r
+0x8A,0xD2,0xDE,0xA3,0xD9,0x56,0x7E,0xB2,0xEF,0xA9,0x72,0x4C,0x37,0x0E,0x0E,0x16,\r
+0x41,0x83,0xB3,0xA4,0x04,0xA6,0xB8,0x8C,0xA5,0x7B,0x5A,0x21,0xB3,0x5F,0x5C,0xED,\r
+0x12,0xDC,0x0D,0x57,0x21,0x95,0xAA,0x9F,0xE5,0x2B,0xFD,0xFC,0xC7,0x8A,0xEA,0xA2,\r
+0xF0,0x1C,0x53,0xBC,0x1E,0xF5,0x49,0x1A,0xEB,0x8D,0xCF,0x02,0x5C,0x56,0xC2,0x97,\r
+0xDE,0x5D,0x55,0x3C,0xEA,0xC7,0x92,0x9B,0xF4,0x29,0xDE,0xDA,0x60,0xCA,0xBA,0x7F,\r
+0x5F,0x6F,0xA1,0xE7,0x15,0x80,0x9B,0x8E,0x2F,0x39,0x98,0x6B,0x8C,0xF9,0x93,0xEE,\r
+0x19,0x77,0xE0,0x1D,0x31,0x76,0xD4,0x8B,0x6D,0x63,0x02,0xB9,0xE6,0x3F,0x2D,0x88,\r
+0xE7,0x7D,0xBD,0x96,0x42,0x3A,0x9F,0xF2,0x02,0xA2,0x38,0xE7,0x12,0xEC,0xB5,0x86,\r
+0x16,0x8E,0xC6,0x6F,0x9D,0xC5,0x64,0xC6,0x6F,0x69,0x3F,0xB6,0x69,0x35,0xAF,0x38,\r
+0xCF,0x48,0x61,0x0D,0x16,0x4A,0xFB,0x92,0x4F,0x48,0xCD,0x0E,0x3A,0xA6,0x67,0xEB,\r
+0xF5,0xEA,0x77,0xF3,0xFC,0x65,0x6C,0xA1,0x11,0xAA,0x26,0xCE,0xDA,0xA3,0x55,0x60,\r
+0x44,0x75,0x97,0xEB,0xC0,0xCF,0xEF,0x38,0x6A,0x5B,0xDF,0x3D,0x00,0xC9,0xA6,0xB5,\r
+0x6F,0xC2,0xB5,0x24,0xD4,0x62,0x2C,0x08,0xDB,0xB8,0x43,0x59,0x32,0xC7,0x00,0x4B,\r
+0x9C,0x17,0xDF,0xFE,0x7F,0x55,0x41,0x7D,0xA4,0x6D,0x07,0xE4,0xB0,0x65,0xEB,0x06,\r
+0xEE,0xF0,0x41,0xFF,0x9F,0xCA,0x59,0xCC,0x8C,0xC4,0x47,0xE3,0x06,0x3A,0x1F,0x03,\r
+0x9A,0x63,0x05,0xE5,0x85,0x99,0xA8,0x5A,0xCB,0xAC,0x3D,0xBA,0x11,0xD6,0x02,0x6D,\r
+0x05,0xBD,0xE3,0x7D,0x4C,0xC4,0xAD,0x54,0x79,0x53,0xC1,0x14,0x0A,0x0C,0x04,0x19,\r
+0xDA,0x0F,0x9E,0x04,0x49,0x4F,0x4D,0x66,0xCF,0x88,0x80,0xF4,0xA0,0xE4,0x3D,0x39,\r
+0x3B,0x4D,0x3E,0xBB,0x7B,0x1B,0xFC,0x59,0x5B,0x78,0x0E,0xA3,0xC4,0xB0,0x5D,0x49,\r
+0xE1,0x09,0x67,0x8D,0xBA,0xF9,0x4B,0xDF,0x93,0x60,0x56,0x3B,0x67,0xA7,0x71,0x2E,\r
+0x3A,0xE9,0xD1,0xCC,0xB2,0x46,0xF9,0x57,0x14,0x98,0xC6,0x45,0x4E,0x73,0xD1,0xA4,\r
+0xCD,0x6E,0x70,0x2E,0xF3,0x5E,0x03,0x11,0xFF,0xBD,0x0C,0xAF,0x8B,0x94,0x58,0xBF,\r
+0x36,0x92,0x09,0xEA,0xA2,0xA5,0x87,0x43,0x88,0xE0,0xFA,0xAD,0x7B,0x10,0xBC,0x0B,\r
+0x31,0x42,0x3C,0x86,0x89,0x68,0xA7,0xF6,0x18,0x34,0xC9,0xB4,0xD2,0xC2,0x32,0xC0,\r
+0x4C,0x5C,0x84,0xF5,0x00,0xE8,0x05,0xA8,0x9A,0xFE,0xB9,0x41,0x18,0x29,0x17,0x2A,\r
+0xC0,0xB1,0x47,0x7F,0xD2,0x23,0xAC,0x26,0x87,0x50,0x95,0x96,0xF0,0x4D,0x42,0x01,\r
+0x85,0x2B,0xF8,0xD1,0x51,0x13,0x81,0xFA,0xB4,0x79,0x79,0x07,0x0F,0xC5,0x0A,0x44,\r
+0x3F,0x1F,0xF5,0x83,0xE2,0x78,0x20,0x13,0x46,0xD6,0x22,0x74,0x90,0x4E,0x5E,0xCB,\r
+0x70,0x8A,0x48,0x10,0x7A,0xDE,0xA1,0x4F,0x1A,0x3E,0xF4,0xBB,0x8E,0x5D,0x56,0xE2,\r
+0x4B,0x8C,0xB1,0x99,0xD7,0xA8,0x4C,0x14,0xB9,0xC3,0x2B,0x33,0x68,0xAB,0xDD,0xDF,\r
+0xDC,0x7B,0x44,0x1F,0x7D,0x5A,0x7C,0x77,0xBE,0xFB,0xF6,0xB7,0x21,0x7C,0x61,0x9F,\r
+0x45,0xD1,0x78,0x9C,0x28,0xEF,0x45,0x01,0xC3,0x24,0x8F,0x05,0x53,0x5A,0x6E,0x66,\r
+0xD3,0x82,0x62,0x6D,0xCC,0x3E,0xE0,0x94,0x60,0xD9,0x50,0x8D,0x84,0x98,0xF4,0x4E,\r
+0x0B,0xE0,0x2A,0x78,0x68,0x32,0xE2,0x51,0x6B,0x4D,0x82,0xF8,0xB1,0xFB,0x99,0xE1,\r
+0xDB,0xAB,0x71,0x73,0xFD,0xA0,0x31,0xB7,0x7E,0x6B,0x1C,0x90,0x33,0x59,0x72,0xAC,\r
+0x62,0x1D,0x82,0x75,0x32,0xBC,0xB4,0x97,0x34,0xB9,0x34,0xFD,0x6E,0x58,0x64,0x69,\r
+0x75,0x7C,0x6C,0x5F,0x43,0xFF,0xC2,0xE4,0x19,0x22,0x94,0x71,0x71,0xD5,0x1E,0xA7,\r
+0xF7,0xCC,0x66,0xD0,0xD8,0x93,0x23,0xA4,0x8F,0xD8,0x27,0x29,0x7A,0x8E,0xCE,0xEC,\r
+0xAE,0x9C,0xDA,0x1E,0xAC,0x5B,0xB5,0xE5,0xEE,0xBF,0x2F,0x89,0xAF,0xE8,0x91,0xC8,\r
+0x3C,0x9D,0x0B,0xD7,0xF0,0x94,0x63,0x0D,0x72,0xC7,0x13,0x61,0x14,0x1F,0x0C,0x30,\r
+0x4A,0x28,0x5E,0xEE,0x76,0x2F,0xAE,0xE3,0x20,0x89,0xF7,0x50,0x25,0x2B,0x1D,0x25,\r
+0x7E,0xD7,0x81,0x15,0x13,0xC1,0x1B,0xA0,0x99,0xE2,0xD9,0x8B,0xD3,0x5C,0x40,0x27,\r
+0xB3,0xF2,0x36,0x09,0xBC,0xB8,0xCB,0xF1,0x03,0xB4,0x65,0x22,0xBF,0x69,0x47,0xF7,\r
+0xC8,0x98,0x54,0x61,0x30,0xB3,0x89,0x9D,0xC4,0x1C,0x52,0x81,0x9D,0xE6,0x37,0x36,\r
+0x09,0xC6,0x3B,0x5B,0x2D,0x64,0xA5,0x33,0xE7,0x21,0xC0,0xF3,0xBE,0xF7,0x35,0x10,\r
+0xAD,0x1E,0x24,0x4A,0x1B,0x7E,0xA9,0x28,0x22,0x83,0xCA,0x5F,0x93,0x74,0xE9,0x20,\r
+0x65,0xCD,0xB7,0x19,0x50,0xD6,0xDC,0xEC,0x96,0x52,0xB6,0xB0,0xA6,0x17,0x84,0x8F,\r
+0x21,0xB0,0xB2,0x13,0x09,0x95,0xF1,0xB1,0x6E,0x11,0x90,0x9D,0x4A,0x68,0x65,0x86,\r
+0xEA,0x19,0x3C,0xC1,0x45,0x52,0xB2,0xA6,0x29,0xAD,0x3E,0x10,0xD6,0x10,0x8D,0xBA,\r
+0xC7,0x78,0x52,0x5C,0x26,0x62,0x18,0x54,0x30,0x91,0x19,0x3F,0xEF,0xBB,0xAC,0xD9,\r
+0x53,0x22,0x8F,0x30,0xFF,0x00,0xBF,0x92,0xE8,0xF3,0x51,0x2A,0x97,0x56,0x95,0x40,\r
+0x5B,0x5F,0x2C,0x1A,0x47,0x71,0xA3,0x80,0xDE,0x2A,0x9F,0xF2,0xAE,0xFD,0xB4,0x23,\r
+0xD8,0xC2,0xBD,0x35,0x64,0xA0,0x92,0x1E,0x11,0x29,0x39,0xCD,0xCE,0x8C,0xD1,0x76,\r
+0x7B,0xF5,0x15,0xF2,0x94,0x2E,0x06,0x49,0x21,0x84,0x2D,0x0E,0xE2,0x01,0x98,0x8B,\r
+0x8A,0xFA,0xB9,0xFE,0x43,0x49,0x68,0xD2,0x6B,0xE7,0xB4,0xD2,0x91,0x78,0xD4,0xC0,\r
+0xEC,0x90,0x07,0x38,0xEB,0x7E,0xAF,0x71,0xB4,0x55,0xC9,0xAB,0x96,0x40,0x50,0x1D,\r
+0xC0,0x38,0xFB,0x74,0xE1,0x43,0xAD,0x7E,0x6A,0x43,0x5B,0xA5,0xAA,0xD9,0xFA,0x9E,\r
+0x59,0xA9,0x71,0x6D,0xB8,0x8D,0x11,0x2E,0x42,0x76,0x87,0x3E,0x84,0x5E,0xBC,0x5E,\r
+0x66,0xB9,0xA7,0xEC,0x90,0x16,0xCD,0x1B,0xE3,0x58,0xBC,0x60,0x80,0x7A,0xF2,0xE3,\r
+0x1A,0xDF,0x02,0x1C,0x82,0x73,0x07,0x8C,0x5C,0x9A,0x95,0x7D,0x7F,0x6F,0xB5,0xEA,\r
+0x7A,0x3C,0x87,0x23,0xB7,0xFF,0x37,0xD7,0x5D,0x3E,0x7A,0x0A,0xD2,0x34,0xC3,0x07,\r
+0x32,0x08,0x98,0xDE,0xB0,0x93,0x02,0x07,0x17,0x5D,0xE3,0xD6,0xC5,0x18,0xA4,0xA4,\r
+0x04,0xAC,0x7F,0xA4,0x32,0x1C,0x08,0xB7,0xE4,0x88,0x89,0x0C,0xB9,0xD1,0xD3,0x80,\r
+0xA1,0x12,0xEC,0x9A,0xCB,0xFB,0x60,0x6D,0xD6,0x03,0x8C,0xEC,0x3B,0x1B,0x26,0xF0,\r
+0x7C,0xB5,0xBC,0xDA,0x7D,0x8F,0xB5,0x22,0x85,0x5C,0x32,0x1F,0x1E,0x08,0x15,0xE2,\r
+0xF0,0x15,0x27,0xF7,0xED,0x65,0x75,0x05,0x16,0xF9,0x0C,0xA1,0x22,0x91,0xBF,0x61,\r
+0xCC,0x3A,0x3E,0xD0,0x99,0x7F,0x31,0x96,0x1D,0x52,0xE1,0xEB,0xE6,0x25,0xD6,0x36,\r
+0xEB,0xD0,0xAE,0x10,0x04,0xC4,0xC6,0x6E,0xC8,0xEF,0x9E,0xAF,0x2A,0x19,0x00,0xD3,\r
+0x39,0x4A,0xF4,0x52,0xBA,0xAE,0x00,0x08,0x8E,0xF7,0xDF,0x55,0x0E,0x1C,0xF6,0x9C,\r
+0x82,0x87,0x1A,0xD4,0x55,0x14,0x69,0x17,0x67,0x9C,0x6C,0xF4,0x21,0x8D,0x75,0x01,\r
+0x5A,0x96,0xBE,0xCB,0x2D,0x28,0xF5,0xFF,0x49,0xDD,0x6A,0x74,0xD5,0x0C,0x47,0xDA,\r
+0x8E,0x85,0xDF,0x70,0xF0,0x72,0x99,0x6B,0x58,0xC8,0x5E,0x45,0x29,0x05,0xCA,0xB3,\r
+0x4E,0x6E,0x3D,0x2E,0xC2,0x92,0x9C,0xE0,0x62,0x6A,0x48,0xBB,0xC3,0x36,0xE5,0x24,\r
+0x67,0x70,0x35,0x3D,0x22,0x5A,0xD3,0x06,0x70,0xFD,0x82,0xDE,0x7D,0x65,0xBA,0xD7,\r
+0x36,0x77,0xFE,0x50,0x38,0x21,0x0A,0xB8,0x81,0x0E,0xF9,0x27,0xA2,0x51,0x45,0x2C,\r
+0x64,0x4F,0xFA,0x9B,0x7C,0xF8,0x5A,0x86,0x0B,0x97,0xE0,0xB6,0x40,0xEA,0xD5,0x09,\r
+0x63,0x0F,0x53,0xB3,0x88,0x4E,0x05,0x83,0x79,0x70,0x7E,0xB7,0xA0,0x5B,0x4A,0x11,\r
+0xBD,0x97,0xCC,0x55,0x31,0x48,0xF6,0x35,0xD3,0xF5,0xA8,0xA3,0xFF,0xAF,0x4F,0xA7,\r
+0xD9,0x0B,0x2F,0xE4,0x97,0x7A,0xF8,0xCB,0xF8,0x42,0x8A,0x6C,0xEB,0x9F,0xE2,0x64,\r
+0x74,0xC8,0x1F,0xF0,0xAA,0xE8,0xDB,0xB9,0x4D,0x8F,0xA1,0x4C,0x76,0xF1,0xCF,0x05,\r
+0x23,0x46,0xEF,0x64,0xCA,0x8C,0x8F,0xC9,0xAC,0xCD,0x01,0xF3,0x44,0xCE,0x9B,0xB4,\r
+0x3A,0x75,0x3B,0xF4,0x95,0x59,0xE9,0xED,0x0D,0xE3,0x3A,0xAD,0xBA,0xCD,0x19,0xE0,\r
+0x94,0x89,0xC4,0x46,0x93,0x42,0x33,0x99,0x92,0x3D,0xDC,0x35,0x73,0xC3,0x44,0xE5,\r
+0x2F,0x44,0x2A,0xC0,0xCF,0xC3,0xAB,0x3F,0x5A,0xEE,0x4F,0x66,0xCC,0x86,0xDE,0x4B,\r
+0x2D,0xB2,0x77,0xB7,0x2B,0x33,0x2F,0x8B,0xA1,0x12,0x36,0xA2,0x9D,0xD4,0x25,0xCF,\r
+0xBB,0x1E,0xF7,0xAC,0xE6,0x2F,0x98,0xAE,0x76,0x89,0x58,0xC5,0x85,0x48,0x79,0x03,\r
+0xC5,0x8E,0x0F,0x2B,0x46,0x06,0x4C,0x24,0xAD,0x69,0xEE,0x84,0x8D,0xC0,0xC6,0xB1,\r
+0x16,0xDD,0xC7,0xB8,0xD5,0xB8,0x72,0x81,0x57,0x31,0x78,0x37,0xED,0xB1,0xA3,0xE4,\r
+0x87,0x31,0xEE,0x8B,0x9D,0x47,0xFA,0xC4,0x12,0xAB,0xC7,0x99,0x6E,0x6D,0x93,0xC9,\r
+0x34,0x81,0xA3,0x27,0xA5,0x9A,0xFD,0x40,0xA6,0xC2,0x03,0xCE,0xB6,0x61,0xE8,0xEF,\r
+0xC1,0xF1,0x69,0xA5,0x80,0x50,0x16,0xAA,0xDB,0xDC,0xBB,0xBD,0x3F,0x3F,0x68,0x4D,\r
+0xB3,0x63,0x54,0x86,0x4A,0x20,0x94,0x5F,0xDC,0x0C,0x8E,0xD1,0xE8,0x83,0x28,0x04,\r
+0x37,0xBE,0x6C,0x81,0xF6,0x69,0x43,0x1F,0x4B,0xFB,0x7B,0x57,0x42,0xE0,0xDA,0x34,\r
+0xF4,0x6A,0x41,0x79,0xC9,0xD8,0x71,0x4B,0xA8,0x9F,0xCA,0xCB,0xDD,0x84,0xF8,0x68,\r
+0x3B,0xBC,0xA9,0x25,0xC1,0xC6,0x62,0x62,0xE7,0x0A,0x77,0x58,0x45,0xD8,0x5E,0xE9,\r
+0x78,0xCA,0xDA,0x54,0x0E,0xF9,0xC4,0x61,0x9C,0x60,0x15,0x30,0x57,0xC6,0xB2,0xAA,\r
+0x10,0x54,0xFC,0x41,0xE5,0x7B,0x66,0x2C,0x4C,0x2B,0x4E,0x3B,0xC2,0x20,0x20,0x79,\r
+0x85,0xC7,0xB3,0xFC,0xF9,0x1B,0x65,0xE6,0xD2,0x51,0x47,0xD4,0x17,0x96,0x6F,0x0D,\r
+0x0D,0x18,0x4E,0x5F,0x63,0xCC,0xA7,0xCE,0x44,0x02,0x5D,0x25,0xF3,0x03,0xBE,0xA8,\r
+0xA9,0x6F,0x4F,0xB0,0x59,0x32,0xB1,0x6C,0x60,0x4C,0x59,0x98,0xE7,0x33,0x13,0x6B,\r
+0x09,0x67,0x28,0xD1,0x06,0xE7,0xD7,0x48,0x39,0x1C,0xE5,0x56,0x93,0x72,0xDB,0xFD,\r
+0x7D,0x7C,0x2E,0x0B,0xF3,0x26,0x67,0xE9,0xF5,0x9D,0xBD,0x3D,0x0D,0x00,0x3C,0xFC,\r
+0xF1,0xDC,0xB5,0x26,0x89,0x39,0xEA,0x27,0xE2,0xFC,0x53,0x17,0x7C,0x73,0x7F,0x8A,\r
+0x0B,0x91,0x75,0xA6,0xD7,0x9B,0x63,0xA7,0xE9,0x57,0xBE,0x5D,0x2C,0x37,0x41,0x53,\r
+0xA2,0x2D,0x23,0x3C,0xD0,0xF7,0x56,0x77,0x24,0x72,0x09,0x41,0x83,0x66,0x38,0x83,\r
+0xE1,0x5B,0x50,0x4D,0x9B,0x5C,0x20,0xB0,0xAB,0x1D,0x34,0x9F,0xCF,0x9A,0x14,0x2B,\r
+0xD0,0xBF,0x1E,0x1F,0x8A,0x6D,0x14,0xA5,0xDD,0xA8,0x61,0xA6,0x49,0x74,0xAF,0xE6,\r
+0xDF,0x82,0x14,0x1D,0x7E,0xDB,0x4B,0xA0,0x3A,0x9E,0x1B,0x02,0x24,0xBF,0xFE,0xE1,\r
+0x30,0xFE,0xC5,0xA9,0x13,0xEE,0x28,0x0F,0xF2,0x4D,0x88,0x51,0x6F,0x7B,0x56,0x94,\r
+0x01,0x1A,0x8B,0xFB,0xA0,0xD5,0xD9,0xB6,0x5F,0x18,0x6B,0x29,0x0F,0x0A,0x33,0xC1,\r
+0x73,0x88,0xB6,0xD8,0xA2,0xF6,0xC8,0x90,0x9E,0x46,0x04,0x13,0x12,0xA4,0xE4,0xED,\r
+0xF6,0xEF,0x45,0xDE,0x41,0x93,0x64,0xA1,0xAA,0xFF,0xA4,0x71,0x2C,0x75,0x5C,0x8C,\r
+0xE2,0xDF,0x86,0x73,0x8E,0xB8,0xD3,0x83,0x98,0xF1,0x5A,0xD7,0x48,0xE9,0xED,0x6F,\r
+0x49,0xAA,0xEB,0x44,0x54,0x4B,0x06,0xE9,0x1A,0x53,0x17,0x3C,0xF5,0xAD,0x92,0xBA,\r
+0xA9,0x1B,0xF3,0xDB,0x55,0x39,0xE1,0x77,0xAC,0x0C,0x12,0xC8,0xF2,0xED,0xBA,0x13,\r
+0x74,0x25,0x35,0x2B,0x3C,0x30,0x6C,0x8B,0xB8,0xDA,0x97,0x62,0xF6,0x92,0x34,0x75,\r
+0xAB,0x11,0xCE,0xD4,0xC5,0xC1,0x9F,0xF0,0xC3,0x03,0x29,0x78,0xA7,0x95,0x59,0xBE,\r
+0x20,0x45,0x51,0x5B,0xA7,0x18,0x59,0x57,0x90,0x90,0xFA,0xB0,0x1F,0x67,0x79,0x9F,\r
+0xCA,0x76,0xC6,0x74,0x59,0x22,0xFB,0x41,0x70,0x95,0x71,0x82,0xDF,0x8C,0x27,0x7D,\r
+0x28,0xCD,0xE3,0xE4,0x16,0x27,0x0D,0x65,0xF6,0x60,0x86,0x15,0x13,0x65,0xDD,0x5A,\r
+0xDC,0x4C,0x38,0xD6,0x96,0x09,0x4C,0x63,0xCA,0xFC,0x6E,0x6D,0xCB,0x74,0xC2,0xFE,\r
+0x23,0x59,0x31,0x91,0x4D,0x88,0x7E,0x97,0x26,0xCF,0xFF,0x44,0x7A,0x32,0x19,0xEE,\r
+0x07,0x5C,0x7E,0x67,0xB7,0xCE,0x66,0xD6,0x4C,0x09,0x99,0xFA,0xA8,0xA8,0x5B,0xB4,\r
+0x2B,0xD1,0x83,0x2E,0x43,0x56,0x68,0x05,0x87,0x7C,0x94,0xAD,0x61,0xF7,0xFE,0x67,\r
+0xEF,0x65,0xD4,0x47,0x09,0x5D,0xC3,0xE8,0x9D,0x38,0x07,0xD9,0x5D,0xD8,0xD9,0x7E,\r
+0x32,0x5B,0x12,0xB7,0x0E,0x96,0x92,0x85,0x19,0x69,0xFC,0x8B,0x30,0xF0,0x93,0xAC,\r
+0x17,0x48,0x00,0x84,0xFD,0xC5,0xCD,0x3B,0x6D,0xBC,0xB3,0x3D,0xED,0x57,0xD3,0xFC,\r
+0xCC,0x58,0x46,0x35,0x34,0x57,0xCC,0xEA,0x71,0x0B,0x96,0xF0,0xA3,0xEA,0xD7,0xD8,\r
+0xB0,0x91,0x62,0x42,0xEE,0xA4,0x19,0x80,0xFE,0x01,0x26,0x72,0x95,0x4E,0xAD,0x3F,\r
+0x76,0x2F,0x08,0x24,0x9F,0x1C,0x0B,0x9C,0x91,0x0E,0x1D,0xC2,0x8B,0x3D,0x15,0x42,\r
+0xDB,0x74,0xE5,0x52,0xE8,0x1D,0xAF,0x73,0x1D,0x3E,0x46,0xF7,0xEB,0xDE,0x2A,0xC7,\r
+0x8D,0x1E,0xBC,0x2D,0xDC,0x02,0xE7,0x8E,0x6F,0x18,0xBF,0xF8,0xC8,0x4B,0x64,0x31,\r
+0x89,0x3A,0x01,0x63,0x82,0xA3,0xC9,0xB5,0xF4,0xC4,0x8A,0xD0,0xF7,0x5B,0xE5,0xE7,\r
+0x9F,0x00,0xFF,0xC1,0x49,0xF4,0xC4,0xC0,0x9C,0xA6,0xE0,0xAB,0x7D,0x72,0x31,0x47,\r
+0xA3,0x99,0x7C,0x6B,0x47,0x2A,0xD2,0x52,0xA1,0xA4,0xEF,0xA1,0x51,0xDA,0x7D,0xBB,\r
+0xEB,0x41,0x69,0x09,0xEC,0x61,0x15,0x24,0xCC,0x0F,0xD8,0xD4,0xEA,0x17,0xFB,0x55,\r
+0x98,0x38,0x22,0x45,0x30,0x2B,0x76,0xBD,0xAB,0x61,0x43,0x03,0x1B,0x18,0xF7,0xF9,\r
+0xA7,0xBD,0xC1,0x25,0x10,0x9E,0xBB,0x96,0x93,0xAA,0x11,0x07,0xCA,0xBD,0x13,0x6C,\r
+0xC7,0xCC,0x94,0x40,0x2F,0x51,0xB8,0x30,0x42,0x9B,0x8F,0x24,0x49,0x20,0x3C,0xFD,\r
+0xE6,0xFB,0x3B,0x3D,0xDD,0x70,0x00,0x10,0x80,0x11,0xC5,0x66,0x56,0x9A,0x55,0x12,\r
+0x9E,0x16,0xA2,0x04,0xC8,0xA8,0x62,0x58,0xE2,0xB6,0x03,0xBF,0xC2,0xC0,0x39,0xCF,\r
+0x43,0x28,0x64,0xF4,0x7F,0x2E,0x80,0x99,0x77,0xF8,0x20,0x49,0xB0,0x52,0x1A,0xF2,\r
+0xDF,0x50,0x58,0x1C,0xF2,0x69,0x3C,0x37,0xB0,0xBB,0x37,0x05,0x7B,0xFB,0xC8,0x7C,\r
+0x06,0x4A,0x23,0xA2,0xCB,0x1F,0x89,0x62,0x37,0xD0,0x27,0xE0,0x90,0xF8,0xF2,0xCB,\r
+0x1B,0xE4,0x0F,0x75,0xF1,0xDE,0xD7,0x0D,0x14,0xC1,0x01,0xE2,0xE2,0x6A,0xD1,0xF6,\r
+0x2D,0xFF,0x03,0x6F,0xE0,0x7A,0x0F,0x12,0x39,0x42,0x31,0x3E,0x4E,0x60,0x14,0x54,\r
+0x66,0x3B,0x76,0xC7,0xB3,0xB2,0xDC,0x81,0x0C,0x21,0x9E,0x53,0xA1,0x1C,0xA0,0x85,\r
+0xC6,0xDA,0xC9,0x85,0x7D,0xEB,0x8C,0x3D,0xBE,0x29,0x21,0xDB,0x70,0xB9,0x44,0x10,\r
+0x40,0x34,0x04,0x3E,0x44,0x9D,0x39,0x68,0x8F,0x1D,0x34,0xCA,0x41,0x5D,0x16,0x5E,\r
+0x25,0x77,0xB1,0xD0,0xBF,0xA9,0xC6,0xB7,0x79,0x6A,0x36,0x97,0x9A,0x73,0xAF,0x35,\r
+0x8A,0x26,0x61,0xA9,0xA3,0x64,0xE3,0x00,0x15,0x5F,0xE6,0x90,0x33,0xCF,0x35,0x63,\r
+0x04,0x40,0x1E,0xAD,0xDF,0xB5,0x0C,0xB4,0xC4,0x6E,0x78,0xB3,0xEC,0x9E,0x02,0x6E,\r
+0x75,0x33,0x68,0xEE,0xF5,0xA2,0x6D,0x5A,0xDB,0xE3,0xB6,0xC9,0x60,0x3E,0x2F,0xF5,\r
+0xEE,0x73,0x89,0x82,0x7A,0x20,0xDD,0x50,0xD0,0xB8,0xFD,0x19,0x38,0x8D,0xB9,0x0F,\r
+0x9A,0x32,0x1F,0x4A,0xB4,0x79,0x8D,0xEC,0x05,0xDE,0xD9,0x46,0x98,0x85,0xD8,0x68,\r
+0x1E,0xD6,0xEF,0xFE,0x36,0x92,0xC0,0x4E,0xF9,0x6C,0x77,0xB9,0x14,0x25,0xF5,0xF3,\r
+0xFA,0x43,0x4A,0x2F,0xC7,0x04,0x93,0x54,0x2E,0xAE,0x5F,0x23,0x9C,0xFA,0x56,0x0E,\r
+0x5E,0x86,0x48,0x23,0xD2,0xDC,0xF1,0x1C,0x1B,0xCD,0xF0,0x4E,0xE9,0x28,0x5D,0x9A,\r
+0xCB,0x60,0x9B,0xB1,0xD9,0x0C,0xBA,0x47,0x99,0x6F,0xBD,0xA5,0x81,0xB6,0x48,0xBC,\r
+0xD4,0xC4,0x8A,0x69,0x29,0xE8,0x0E,0xC3,0x3A,0x78,0xDA,0x89,0x65,0x88,0x70,0x01,\r
+0x4C,0x98,0x0B,0xCF,0xBA,0xA7,0x9B,0x7E,0x24,0x6B,0xF3,0x81,0xAA,0x5E,0x2C,0xE9,\r
+0xE1,0xC3,0xE6,0xB9,0x33,0x9C,0x9D,0x87,0xC2,0x9D,0xCE,0x0A,0x22,0x81,0x8F,0x14,\r
+0x4B,0xA0,0xD6,0x4B,0xB5,0x0B,0x6A,0x72,0x8B,0x4A,0x8E,0xB6,0xA6,0x5C,0x88,0x2C,\r
+0xBF,0x21,0x0D,0x79,0x2C,0xE6,0x53,0x0A,0x78,0xF4,0xD1,0xE5,0xA5,0x63,0x2E,0xE3,\r
+0x36,0x7F,0xAF,0xF9,0x5F,0x9B,0x4D,0xB2,0xB2,0x1F,0x3B,0xC0,0x50,0x13,0xAC,0x29,\r
+0xE4,0xF1,0x06,0x32,0xD5,0x17,0xA0,0x71,0x5A,0x7B,0x10,0x95,0x87,0x3F,0xB1,0x87,\r
+0x67,0x2D,0x2B,0x02,0x7B,0x52,0x3A,0xCE,0xA5,0xF3,0x55,0xDD,0x16,0xD3,0x82,0xAE,\r
+0x8C,0x08,0xE1,0xE8,0x27,0x36,0x18,0x51,0xCD,0x91,0x3F,0xA6,0x2A,0xFC,0xA5,0xB7,\r
+0x84,0x80,0x53,0x57,0x66,0xED,0xF8,0xE7,0xE4,0x45,0xB5,0x06,0x54,0x6C,0x22,0x4F,\r
+0xC5,0xC6,0xA9,0x4F,0x84,0x1A,0x7F,0x46,0x21,0xA2,0xAE,0x8F,0xBE,0xA6,0xC9,0x6A,\r
+0x94,0x94,0x2D,0xB4,0x40,0xE1,0x83,0x3F,0xD1,0x26,0x1A,0x6B,0xBC,0x50,0xBE,0x37,\r
+0xB3,0x8D,0x02,0x88,0x4F,0x4D,0x72,0x33,0xBB,0xE0,0x7C,0xD5,0xAB,0x97,0xFD,0x7B,\r
+0x7A,0x83,0x07,0xD5,0xD7,0xD2,0xAC,0xD5,0xA0,0x3A,0x08,0xD3,0x05,0x6B,0x4F,0x84,\r
+0x7F,0xB1,0xE7,0x5E,0xAE,0x0D,0x1E,0xA8,0x0A,0xD2,0x28,0xEA,0xE5,0x2A,0xF9,0x5F,\r
+0x4D,0x8E,0x56,0x0A,0x11,0xEC,0x5C,0x08,0x6E,0x86,0x58,0x8A,0xB2,0xA4,0x6D,0xAF,\r
+0x12,0x50,0x4F,0x56,0x60,0xD3,0xCB,0x83,0xD9,0xE8,0xE5,0x08,0x00,0x15,0xD4,0xDE,\r
+0x61,0x13,0x3E,0x20,0x8E,0xB2,0xE1,0x94,0x54,0x92,0xFA,0xC6,0xA0,0x38,0x4F,0x52,\r
+0x13,0xF4,0xA0,0x21,0xD6,0x33,0x8A,0x58,0xE4,0x67,0x3B,0x67,0xBB,0xE2,0x49,0x26,\r
+0x52,0x3C,0xD4,0xB7,0x6A,0x63,0x44,0x01,0x82,0x38,0xEE,0x43,0xB3,0x83,0x2E,0x86,\r
+0x62,0x91,0xC0,0x74,0x6E,0x2D,0xF9,0x25,0x94,0x02,0x10,0xE1,0xC4,0x6C,0x2F,0x22,\r
+0xF7,0x40,0x24,0xD1,0x74,0x7E,0x08,0xB3,0x56,0x98,0xC7,0xC9,0x1B,0xCF,0xD2,0xAA,\r
+0x41,0x0F,0xF1,0xA5,0x7D,0x04,0xE7,0x2D,0x55,0x84,0xA7,0x03,0x88,0x72,0x9D,0x3F,\r
+0xA7,0x9D,0x64,0x76,0x26,0x4F,0xEC,0xFD,0xF7,0x6F,0x25,0x4E,0x16,0x67,0xBB,0x57,\r
+0xC5,0xCB,0x21,0x31,0x37,0x69,0xCF,0xFF,0xFB,0xC3,0x2A,0xBF,0x54,0xEB,0xD7,0x5C,\r
+0x6B,0x1C,0x3C,0x1D,0x58,0x37,0xF5,0x3E,0xEA,0xC1,0x09,0x99,0xC6,0xC8,0xEA,0x2E,\r
+0x1A,0x79,0x5C,0x48,0xBB,0x62,0x8D,0x93,0x1B,0x72,0x32,0x20,0x22,0x9A,0xA4,0x1F,\r
+0xDE,0xD1,0x17,0x3D,0x28,0xB1,0xDE,0x5B,0x78,0x1F,0x07,0x8F,0x5E,0x2E,0x75,0xF0,\r
+0x15,0x80,0x7A,0x3A,0x52,0x87,0x7A,0xBC,0x27,0xEB,0xB1,0x8A,0x63,0x2C,0x7F,0xFF,\r
+0xFB,0x3B,0xFC,0xF7,0x07,0x32,0x43,0xCA,0x13,0xFA,0x80,0x9F,0x87,0x7E,0x31,0xCE,\r
+0x07,0x17,0xB0,0x5F,0x3A,0x5D,0x9D,0x45,0x65,0xB1,0x2B,0x58,0xF1,0x0F,0x42,0x8D,\r
+0x56,0x6E,0x1F,0x8F,0x8D,0x78,0x81,0x88,0x50,0xB6,0x47,0x88,0x4D,0x95,0x14,0x24,\r
+0xA1,0xE9,0xBE,0x6D,0xDD,0x46,0x58,0xCC,0x7F,0x27,0xDA,0x0B,0x52,0x18,0x6E,0xEA,\r
+0x29,0x56,0xB6,0xDF,0x6B,0xA6,0x19,0x17,0xAB,0x87,0xF3,0x81,0xC2,0x9F,0x96,0x94,\r
+0xB5,0x0A,0xAE,0x13,0x05,0x3D,0x7E,0xC0,0x1C,0x4A,0xEF,0xA4,0x6E,0x84,0x16,0x02,\r
+0xE7,0xF1,0xFF,0x97,0x7C,0xC1,0xBA,0x3B,0x98,0xAE,0x1F,0x10,0x98,0xF3,0x4B,0x00,\r
+0xA2,0x6B,0x40,0x39,0xEF,0x12,0xE9,0xF3,0x00,0xF2,0x9E,0xB6,0x55,0x75,0xA5,0xBB,\r
+0xAC,0x36,0x89,0x3C,0x09,0xCC,0x71,0x6C,0xDA,0xF4,0x85,0xC2,0xA9,0xC7,0x5A,0x15,\r
+0xAF,0xB4,0x77,0x68,0x32,0xE2,0x2F,0xCD,0xBC,0xAB,0x50,0xE6,0x9A,0x57,0x8E,0x0C,\r
+0x90,0xE0,0x45,0xD9,0x92,0xA0,0x90,0x2C,0xE8,0xCB,0x34,0x96,0x14,0xC3,0x7E,0x5B,\r
+0xB9,0x71,0x76,0x35,0x44,0x25,0x84,0x86,0x51,0xA0,0x1A,0x4D,0x60,0x16,0xC8,0x14,\r
+0xE5,0xD7,0xEE,0xB4,0xF9,0xB0,0x17,0xC9,0x42,0xA8,0x04,0x64,0xB6,0x4A,0x20,0xDB,\r
+0x81,0xF5,0x71,0xE8,0x48,0xD4,0x8B,0x2A,0x70,0x97,0xB5,0x30,0x62,0xB2,0x0D,0x18,\r
+0xE2,0x07,0xDB,0xD8,0xBD,0x23,0x0D,0xBD,0xA7,0x2B,0xFC,0x70,0xBF,0xB5,0x35,0x9C,\r
+0x5E,0x47,0x0C,0x91,0x88,0xF3,0x61,0xBA,0x25,0xE1,0x8C,0x85,0x2D,0x96,0x08,0xEE,\r
+0x00,0xC7,0x85,0x33,0x30,0xED,0x12,0xC7,0xCE,0xC4,0x46,0x6F,0x5D,0x14,0xC2,0x1B,\r
+0x0C,0xBC,0x5D,0x15,0xF4,0x84,0x45,0x73,0xC9,0xFC,0x9B,0xEB,0xED,0xB8,0x8F,0xA8,\r
+0xD0,0x8C,0xDE,0x38,0x4B,0x1E,0xEB,0x36,0x41,0xB4,0x64,0xAE,0x01,0x8B,0xA6,0x39,\r
+0x6D,0x68,0xE6,0x06,0x59,0xF2,0xA8,0x28,0xC6,0x4C,0xF4,0xD0,0x4A,0xF8,0xDF,0x75,\r
+0xEC,0x5A,0x12,0xDD,0x5F,0xB3,0x28,0x06,0x5A,0x34,0xC8,0x38,0x5B,0xE7,0x7B,0xAD,\r
+0x7D,0xD9,0x3D,0x40,0xEC,0xD8,0x89,0xEF,0x33,0xDB,0x72,0x27,0x96,0x61,0x95,0x16,\r
+0x78,0x2F,0x19,0x0F,0xAD,0xC0,0x73,0xA9,0xF5,0x65,0x18,0x41,0x0C,0x23,0xCF,0xC4,\r
+0x44,0xF9,0xD5,0xEA,0xD2,0x7D,0x37,0x7C,0x02,0xF8,0xA3,0xB9,0xE6,0xE3,0x5F,0xE3,\r
+0xF0,0x90,0x11,0xBD,0x3F,0xD6,0x7D,0x77,0x46,0x8C,0xB9,0x2A,0xC9,0xC4,0x46,0xDF,\r
+0x69,0x3A,0x2D,0x3E,0x01,0x73,0xC3,0xE4,0x86,0x1C,0x53,0x0D,0x69,0xE9,0xDD,0x53,\r
+0x7A,0x09,0x08,0x2C,0xBF,0x2C,0x30,0xB7,0x53,0xAA,0x27,0x42,0xCE,0xA9,0x8D,0x8E,\r
+0xFE,0xCD,0xD8,0xB8,0xB9,0x6D,0xB0,0x99,0xCB,0xF6,0xA6,0xE4,0xD7,0xD7,0x4E,0xF6,\r
+0xCE,0x60,0xCC,0x7B,0x9B,0xDA,0x7F,0xB2,0xC5,0x50,0x94,0x1A,0x4B,0x66,0xAD,0x92,\r
+0x3A,0x65,0x93,0xCD,0x4D,0x5F,0x6B,0x18,0x36,0xE9,0x92,0xAC,0xD3,0x80,0x32,0x4C,\r
+0x8B,0xFA,0x73,0xD5,0xD3,0xB8,0x6A,0x6A,0x69,0x1D,0x24,0xA9,0x93,0xA8,0x9B,0x4B,\r
+0x30,0x6A,0x91,0xF0,0xCA,0x21,0xFB,0xE0,0x39,0x59,0xFD,0x97,0xAB,0x63,0x9F,0x19,\r
+0x04,0x95,0x4E,0x0B,0xB1,0xD2,0x02,0x11,0xE0,0x43,0x86,0x29,0xAC,0x0E,0x54,0x48,\r
+0x57,0xCA,0xF0,0xF8,0x7B,0x45,0x67,0x03,0xAF,0xA3,0x4E,0xCF,0xB2,0x1D,0x5C,0x61,\r
+0x64,0xE5,0x1A,0x6F,0x6D,0xE7,0x99,0x39,0xAA,0x91,0xAE,0x44,0x59,0x43,0xBE,0xA1,\r
+0x19,0xFB,0xA2,0x1C,0x87,0xC8,0x0E,0x0A,0x5B,0x22,0x95,0xFD,0x26,0xCD,0xD8,0xA5,\r
+0x60,0xB7,0xD1,0x57,0x1E,0xAB,0xD2,0x40,0x35,0xF5,0xF2,0x66,0x29,0xC1,0x74,0x54,\r
+0xED,0xFE,0xFD,0xAA,0x0A,0x06,0x11,0x70,0xA1,0x05,0x7C,0x31,0x1E,0x06,0xDC,0xF7,\r
+0x9C,0x9B,0x9D,0xFF,0xAC,0x05,0x2E,0xBF,0x90,0x26,0xAD,0xAF,0x83,0x29,0x4D,0x74,\r
+0x37,0xBA,0xA4,0x9C,0x62,0xDC,0xF6,0x89,0x8C,0x9E,0xDC,0xBD,0xFE,0x03,0xEE,0x7C,\r
+0xDA,0x83,0xDC,0x05,0x2A,0xBE,0xE3,0x51,0x2B,0x47,0xBE,0x7B,0xA4,0x6F,0x33,0xE8,\r
+0x71,0xA2,0xE5,0x66,0x0D,0x82,0xCC,0x48,0x81,0x24,0x8E,0x89,0xC5,0xF2,0x5D,0xC5,\r
+0x09,0x4A,0x79,0x5A,0xA3,0x3E,0x41,0x0F,0xC2,0x68,0x49,0x9E,0x6C,0x20,0xD3,0x0E,\r
+0xB0,0xFC,0x8A,0x5C,0xBA,0xA7,0xD0,0x85,0x3B,0x53,0xC0,0x98,0x70,0x97,0x1E,0x2B,\r
+0x79,0x8B,0xF6,0x78,0xD0,0x72,0x0A,0x76,0x31,0xD1,0x4F,0x28,0xD4,0xED,0xF9,0x1D,\r
+0x55,0xEC,0xE1,0xDB,0x49,0x11,0xD6,0x3C,0x04,0xD6,0x23,0xF8,0xE0,0x10,0xE6,0x55,\r
+0x0E,0x9A,0x4C,0x36,0xA6,0xB5,0xA1,0x3D,0x34,0xE3,0xAF,0xA3,0x03,0x2F,0x63,0x35,\r
+0x1B,0xDD,0xB3,0x3F,0x8F,0x77,0xBC,0x82,0xFE,0xF1,0xCA,0x34,0x65,0xDF,0xC6,0x49,\r
+0x3F,0x93,0xB7,0x82,0xB4,0x59,0xE2,0x23,0x22,0xD9,0x51,0x01,0x75,0x5E,0x10,0x76,\r
+0xB8,0xD5,0x99,0x42,0x68,0x6C,0x79,0x0B,0x9E,0x80,0x9F,0x51,0xE4,0x47,0x9A,0xEF,\r
+0x21,0x7F,0xA5,0xC1,0xFA,0x7A,0x77,0xD5,0x9C,0x8A,0xA2,0x5E,0x4C,0x0B,0x66,0xC3,\r
+0xB7,0xD9,0x51,0x7B,0xD4,0x3A,0x44,0xD7,0x90,0xE9,0x14,0xE3,0x42,0xFA,0x96,0xBA,\r
+0x1F,0xAC,0x95,0x30,0x1C,0x69,0xD7,0x04,0xFD,0x46,0x77,0xD6,0xF6,0x2B,0x79,0xC6,\r
+0x7A,0xF9,0xE4,0x50,0xB1,0x11,0x34,0x51,0x4E,0xFF,0x86,0xED,0xA4,0x65,0x48,0x22,\r
+0xAD,0xD5,0x4A,0x4D,0x70,0x2B,0x5B,0x0F,0x4C,0xD9,0x97,0xCE,0x87,0x58,0x3A,0xB0,\r
+0x08,0x6B,0xD9,0x73,0x07,0x65,0xE1,0x1E,0x39,0xEE,0x3C,0xA3,0xF9,0x9B,0x42,0xA9,\r
+0x71,0xBB,0x88,0xDC,0xCA,0x79,0x56,0x3B,0x3E,0x3E,0x09,0xCF,0x63,0xCD,0xEB,0x15,\r
+0x5D,0x13,0x74,0x90,0x45,0xA7,0x6B,0x54,0x75,0xF9,0x7F,0x64,0x12,0xBE,0xA8,0x63,\r
+0xE6,0xDE,0x9A,0x16,0x33,0x9E,0x3E,0xE1,0x64,0xEC,0x4B,0x55,0x40,0xF0,0x99,0x87,\r
+0x5A,0x53,0xDD,0xB8,0x8E,0xA0,0x06,0x05,0xB7,0x25,0xEE,0x0A,0xEF,0xA1,0xE0,0x57,\r
+0x92,0xC5,0x9C,0xCC,0xD7,0x6E,0xBA,0x55,0xE8,0x01,0x88,0xDF,0x8E,0xC6,0x40,0x5F,\r
+0x75,0xC4,0xEE,0x52,0x1B,0x05,0xE2,0xD4,0x1D,0xA0,0x38,0x1E,0x54,0xC0,0x34,0x44,\r
+0x36,0xB2,0x9D,0x23,0x0C,0x2F,0x0C,0xB5,0x67,0x6E,0xB5,0x01,0x79,0x5B,0xB8,0xE4,\r
+0xFB,0x92,0x28,0x08,0x72,0x08,0x4A,0x29,0xE0,0x28,0x9B,0xC1,0x0B,0x34,0x31,0xF2,\r
+0x69,0x41,0xCE,0x9D,0xA2,0x03,0x11,0x62,0x0B,0x65,0x39,0x43,0x1E,0x12,0x59,0x6C,\r
+0x26,0x35,0x78,0x48,0x3C,0xEC,0x18,0x18,0x17,0xAF,0x3A,0x23,0xA3,0x5D,0xCC,0xFF,\r
+0xF7,0x90,0xED,0xAC,0xAA,0x1D,0x02,0x4B,0x8D,0x87,0xF8,0xF4,0x00,0xA0,0x44,0x20,\r
+0x61,0x3C,0x6D,0xB7,0x32,0xE9,0xD1,0x45,0xA4,0x16,0xCB,0x18,0xD9,0xBA,0xFA,0x5B,\r
+0x93,0x0C,0x0E,0x1D,0xA5,0x6F,0x24,0xB2,0x18,0x56,0x1C,0x51,0xDE,0x82,0x7E,0x86,\r
+0xB1,0x50,0x6A,0x82,0x46,0xF3,0x95,0xD6,0x27,0x02,0x2E,0xE0,0x26,0xAF,0xBD,0x52,\r
+0x17,0xD1,0x36,0x1A,0x09,0x60,0x28,0x43,0x2F,0x2B,0x3D,0xFE,0x7A,0x47,0x72,0x84,\r
+0xEA,0xDC,0x5F,0xB2,0xB9,0x0F,0x27,0x78,0x3B,0xC8,0x2D,0x80,0xE7,0x29,0x5F,0xE5,\r
+0xDA,0xF1,0x83,0x31,0xFC,0xA1,0x98,0xE2,0x73,0x8D,0xA5,0x7F,0xD4,0x00,0xCE,0x09,\r
+0xA1,0xD7,0x8F,0xE9,0x48,0xF6,0x5C,0x8B,0x4B,0x09,0xA2,0xA2,0x78,0x4D,0x7D,0xB9,\r
+0x21,0x75,0xD1,0x60,0x35,0x85,0xE4,0x95,0x6E,0xE3,0x49,0x68,0xFA,0x87,0x88,0xC9,\r
+0x97,0x73,0x68,0x93,0xB4,0x5E,0x10,0xA7,0x21,0x76,0xF4,0xFB,0x9F,0xC4,0x66,0x7C,\r
+0x6C,0xF7,0x3A,0xC2,0x4F,0x9A,0x69,0x5B,0xC5,0xC2,0x70,0x0B,0xE8,0x99,0x64,0x8A,\r
+0x30,0x3B,0xA6,0xDA,0x98,0xFD,0x07,0xC0,0x08,0xE7,0xC7,0x17,0xF3,0x19,0xF2,0x26,\r
+0x8F,0x89,0x2E,0xD2,0x43,0xBC,0xB1,0x20,0xA8,0x6D,0x13,0x3E,0x74,0xE1,0x8C,0xB6,\r
+0x86,0x3D,0x1F,0x29,0xA3,0x74,0xFE,0xC6,0x44,0xF0,0x84,0xD0,0xAF,0xF1,0x3D,0xF0,\r
+0xD2,0x8C,0x20,0x1B,0x42,0xCB,0x5E,0x84,0x24,0x80,0xD0,0xB4,0x3B,0x01,0x6A,0x7E,\r
+0x50,0xD8,0x23,0xE5,0xE3,0x95,0x65,0xAA,0x7B,0xA4,0xB6,0x61,0xAB,0xD5,0x73,0x4D,\r
+0x0D,0xDD,0x2D,0x2C,0x7C,0x0D,0x83,0x74,0x7D,0xD0,0x6C,0x7A,0x19,0x2A,0xDD,0xB1,\r
+0x9C,0x31,0x04,0x1F,0xE5,0x8E,0xBF,0xDE,0x92,0xCF,0x05,0xC0,0xC4,0x14,0x2D,0x77,\r
+0x03,0x29,0xB5,0xFF,0x97,0x8F,0x21,0x39,0x66,0xCA,0x5A,0x76,0xEC,0xBD,0x2A,0x37,\r
+0x06,0x9F,0x41,0xA0,0x3D,0x9B,0xF7,0xBC,0xDF,0x7C,0xA9,0x70,0x0A,0x22,0xF4,0xAF,\r
+0xAB,0x5C,0x71,0xB4,0x16,0x54,0xD5,0x0B,0x79,0x82,0xA7,0x42,0xBB,0xC1,0x90,0x33,\r
+0x83,0x8B,0xEB,0x76,0xB6,0x7D,0x01,0x81,0x1E,0x22,0xC6,0x4A,0x2F,0x31,0xC7,0xBD,\r
+0xAC,0x1C,0xD8,0x9C,0x8C,0x83,0x17,0x23,0x2C,0xA9,0xC3,0xAA,0x71,0xD3,0x07,0x56,\r
+0xF3,0xEF,0x8B,0x22,0x9E,0xE6,0xDD,0xB4,0xCC,0x4F,0x8C,0x62,0x62,0xDB,0x2E,0x48,\r
+0x0C,0x14,0xBF,0xFD,0x6F,0x1F,0xA6,0x47,0xD6,0xF1,0x55,0x19,0x0F,0x10,0x7F,0x4F,\r
+0x49,0xEB,0xF7,0x75,0x26,0x97,0xC1,0xA6,0xEA,0x27,0x99,0xFC,0x4F,0x40,0xA2,0xE8,\r
+0xBF,0xA4,0xF2,0x51,0x60,0x6D,0x80,0xBE,0x54,0x41,0x5F,0x96,0x0D,0x1A,0x70,0x72,\r
+0x3C,0x39,0x63,0x7E,0x89,0xCC,0x33,0xD5,0xBB,0x5E,0x36,0x2C,0x8B,0xF4,0xCB,0xBF,\r
+0x0E,0xE2,0xE2,0x8A,0xA7,0x4C,0x35,0x94,0xC3,0xB6,0xAA,0x10,0x94,0x50,0x13,0xAE,\r
+0x6F,0xC8,0xF5,0x64,0x38,0xD4,0xD3,0x4A,0x25,0x24,0x3F,0xC3,0xC5,0x02,0xE8,0x2A,\r
+0x5C,0xDA,0xE6,0x41,0x6B,0x27,0x6D,0x15,0x93,0x6B,0xEA,0xB7,0x85,0x52,0x35,0x8D,\r
+0xF6,0x59,0x7F,0x7D,0xF8,0x99,0x53,0xB0,0x03,0x4C,0x2A,0x5D,0xA8,0xC9,0xB9,0x2D,\r
+0x9F,0x0E,0xCB,0xB9,0xF3,0xD3,0xBE,0x1B,0x77,0xDF,0x6E,0x47,0x8F,0xD0,0x85,0x02,\r
+0xFC,0xD2,0x81,0x20,0xB2,0x45,0xCA,0xD3,0x6C,0xC5,0x58,0x4B,0x43,0xEC,0x53,0xE7,\r
+0x8A,0x3F,0xDA,0x8D,0xB3,0x32,0x25,0x77,0x59,0x9E,0x68,0xC7,0x7C,0x69,0x33,0x04,\r
+0xED,0x9C,0xF6,0x9A,0xF9,0xEE,0xBC,0x14,0x5E,0x4E,0x5D,0xAB,0x81,0x76,0x7B,0x30,\r
+0x9A,0xB8,0x3F,0xE6,0x0A,0x34,0xD6,0xC1,0xDC,0xFE,0x57,0x24,0xFB,0x91,0x4D,0x94,\r
+0x19,0x25,0xAE,0xC9,0x5A,0x93,0x96,0x1C,0x05,0x38,0xF0,0x46,0x67,0xE9,0xA5,0xA8,\r
+0xB3,0xA6,0x37,0xF5,0x84,0x9D,0x04,0x0A,0x0F,0x37,0xF2,0x7B,0x2B,0x15,0x89,0x00,\r
+0xF5,0x66,0xB0,0xDB,0xAC,0x06,0xD8,0x3F,0x56,0x67,0x4E,0xB5,0x32,0x9F,0x10,0x91,\r
+0xBB,0xDB,0x94,0xDF,0x0D,0x58,0xE3,0x11,0x7E,0x52,0x92,0x2E,0xB3,0x49,0x2F,0x81,\r
+0xFD,0x1B,0x13,0xF1,0x30,0xCA,0xC0,0x63,0xA9,0xC9,0xFC,0x49,0x45,0xC2,0x12,0x67,\r
+0x98,0x4E,0x62,0x91,0xFF,0xF5,0x66,0x60,0x8A,0x57,0xCD,0x98,0x6A,0x53,0x91,0xFA,\r
+0xD1,0xB3,0xEF,0xBD,0xCF,0x36,0x72,0xCD,0x7A,0x00,0x59,0x16,0xAD,0xFB,0x32,0xCD,\r
+0x9D,0xF8,0x96,0xCE,0x85,0xEA,0xEB,0xAE,0xAD,0x9B,0x37,0x71,0xA1,0x57,0xC3,0xC2,\r
+0x2C,0xBE,0x86,0x15,0x80,0xA5,0xCF,0x58,0xE7,0xF8,0xAE,0xAD,0x4C,0x5C,0x68,0x88,\r
+0xC4,0x82,0xFE,0x89,0xC7,0x28,0x61,0xE4,0xAB,0xEF,0xED,0x6A,0x9E,0xD2,0xA3,0x21,\r
+0xE5,0xE1,0x55,0xB0,0xDE,0x07,0x46,0xD8,0xC8,0x1D,0x47,0x5A,0x03,0xBC,0x8E,0x40,\r
+0xDC,0x78,0xB8,0xC8,0x06,0x12,0x0E,0xBA,0x11,0xDB,0xE0,0x38,0x6F,0x61,0x1A,0x1A,\r
+0xAE,0xFE,0x96,0x12,0x9B,0x51,0x47,0x34,0x65,0xC3,0x86,0xA4,0x30,0xE3,0x82,0xDE,\r
+0x90,0x84,0xD9,0x25,0xD9,0xE2,0x51,0xCC,0xBD,0xFA,0xE1,0xB7,0x78,0xA5,0x4D,0xEC,\r
+0xC5,0xE9,0xC5,0xD9,0x76,0xB5,0xD9,0xD4,0x76,0x4D,0xA0,0xF3,0x0A,0x03,0x81,0x11,\r
+0x4C,0xC2,0x72,0xB8,0x0C,0x74,0xA4,0x71,0xF3,0xEE,0x36,0x68,0x8C,0x91,0x5D,0xFB,\r
+0x43,0xC1,0xA0,0x92,0x30,0x18,0x93,0x5E,0xF9,0xBD,0x2B,0xB1,0x74,0x80,0xB3,0x75,\r
+0x21,0x58,0x04,0x38,0xE6,0x27,0xCA,0x8F,0x60,0x57,0x5E,0x73,0x28,0x76,0xFD,0x07,\r
+0x63,0x1B,0xB4,0x97,0x5C,0xE9,0x46,0x28,0x79,0x66,0x0E,0x56,0xDF,0xCC,0xF3,0x02,\r
+0x97,0xEE,0x89,0x07,0xAE,0x79,0x9D,0x95,0x01,0x54,0x99,0x81,0x2C,0x16,0x92,0xA7,\r
+0xB2,0xEE,0x28,0xE8,0x3E,0x8F,0x15,0xD9,0x7C,0x9C,0xDE,0x82,0x97,0xDF,0xF9,0x55,\r
+0xC6,0x08,0x80,0x15,0x47,0xEA,0xE8,0x72,0x0E,0x85,0xF7,0x4B,0x85,0x62,0x37,0x70,\r
+0x4D,0x1E,0x62,0xD9,0x0F,0xDD,0x69,0x3B,0x93,0x27,0x01,0x49,0x60,0x48,0xBB,0xE6,\r
+0xA7,0x0A,0x24,0x52,0x75,0x83,0x1B,0x4F,0x0A,0x39,0xFD,0xB4,0xE5,0x4E,0x4E,0x94,\r
+0x7B,0x7A,0x6E,0x2A,0x00,0xC4,0xA0,0xDE,0x16,0xBE,0x00,0x01,0x08,0x50,0x39,0x23,\r
+0xB4,0xBF,0xEE,0xE3,0xA4,0x29,0xAF,0x5C,0x76,0x2D,0xCD,0x28,0x98,0xFB,0x00,0x55,\r
+0xE7,0xA9,0x08,0xDA,0x74,0x75,0xEB,0x79,0x9C,0x78,0xB9,0x18,0xB7,0x22,0x0D,0x9C,\r
+0x89,0xAD,0x4E,0xC1,0xAC,0x07,0xCD,0xCB,0xC3,0xFE,0xD6,0x3D,0xD3,0x20,0x60,0xBB,\r
+0x25,0x39,0x5A,0x34,0x5A,0x9F,0xC2,0xAD,0xF5,0xE2,0xF3,0x9C,0x28,0xE8,0x16,0x57,\r
+0xD5,0xEB,0x70,0xD1,0x29,0xCF,0x52,0x54,0x6E,0x8A,0x0D,0xBF,0x95,0x64,0xA1,0xEA,\r
+0x4F,0x3E,0xEB,0x9A,0x27,0x04,0x5B,0xB5,0x06,0xE5,0x3C,0x2D,0xEA,0xF4,0xE7,0x52,\r
+0xB6,0x65,0x0A,0xCF,0xE5,0x9C,0xFC,0x9C,0x6F,0x1B,0x82,0x52,0xDF,0xD8,0x1A,0xFD,\r
+0x6D,0x17,0x08,0xB5,0x84,0xF2,0x9D,0x5F,0x57,0x23,0x87,0xE9,0x58,0xBD,0x57,0x02,\r
+0x8A,0x58,0x94,0x49,0xD0,0x3E,0x86,0x11,0x82,0xED,0xF6,0x52,0x9C,0xBC,0xA6,0xCB,\r
+0x7D,0xA1,0xCC,0x40,0x60,0x61,0x04,0x58,0xBC,0x5B,0x71,0x1E,0x57,0x40,0x28,0x1E,\r
+0xEC,0xE1,0x89,0x09,0x00,0xFC,0x7D,0x1F,0x74,0x3D,0x08,0xAF,0xA4,0xA4,0x83,0xD5,\r
+0x52,0x9D,0x8D,0xCA,0x90,0x55,0xCA,0xBF,0x63,0x7E,0x26,0x57,0x76,0xF9,0x34,0x03,\r
+0xF8,0x90,0x49,0x47,0x05,0xDA,0x8C,0x3A,0x6C,0x95,0xCE,0x12,0x40,0x7F,0xDC,0x05,\r
+0x57,0xCF,0x87,0xE5,0x9E,0x46,0xBB,0xAD,0x05,0x6A,0x6B,0xBD,0xBA,0x8E,0x12,0x7F,\r
+0x8C,0x3E,0x74,0xC2,0x6E,0x95,0x53,0xA6,0x05,0x55,0x8D,0xE1,0x14,0xFE,0x0D,0x18,\r
+0x28,0x73,0xA8,0xE8,0x1E,0x93,0x4C,0x6A,0xC5,0x36,0x65,0xE6,0xD8,0x33,0x5B,0x22,\r
+0xEE,0x6F,0x17,0xEC,0x0F,0x96,0x3A,0xA4,0xD8,0xF2,0x24,0xCB,0x77,0x94,0xAD,0x57,\r
+0x59,0x4A,0x20,0xB9,0xDD,0x41,0xB1,0x66,0xCC,0xF7,0x6E,0xBB,0x82,0xB8,0x5A,0x5D,\r
+0xA8,0x50,0x3C,0x9E,0x80,0xCB,0x8A,0x17,0x58,0x15,0x5B,0x84,0xC3,0x1C,0x57,0x21,\r
+0xFF,0x42,0x33,0x69,0x7E,0x5D,0x73,0x83,0xB1,0xA6,0x7E,0x61,0x90,0xA6,0x87,0xC6,\r
+0x53,0xB0,0xEC,0x4C,0x2C,0xEB,0x47,0x50,0x86,0xD1,0xBB,0xE6,0x5E,0x09,0xA0,0x75,\r
+0xE6,0xCC,0x02,0x7A,0xFA,0xF5,0xB0,0xC0,0xCD,0x8F,0xD9,0x11,0xD5,0xFA,0xE7,0x56,\r
+0xA9,0x12,0xA3,0x00,0x6F,0xA2,0x22,0x48,0x9C,0xAA,0x92,0x75,0xBA,0x42,0x7E,0x97,\r
+0x45,0x51,0x29,0xB5,0xFD,0x6A,0x99,0x7F,0xAA,0x44,0x56,0x92,0x66,0xE0,0x9A,0x47,\r
+0xB7,0x75,0x76,0x5A,0x35,0xD3,0x38,0xB0,0x3B,0xF7,0x0C,0xBA,0xBF,0x38,0xC3,0xC5,\r
+0x81,0xF7,0xFA,0x51,0xC6,0xC9,0xD1,0xF2,0x80,0xF9,0xB1,0xB3,0x17,0xF1,0x37,0x3D,\r
+0x9D,0x1C,0x76,0xD6,0x49,0xAD,0xB0,0x54,0x49,0xC6,0xBF,0x02,0x26,0x3B,0x63,0xC4,\r
+0x84,0x28,0x84,0x16,0x9F,0x1A,0xC0,0x7F,0x0D,0x54,0x73,0xB5,0x0C,0x1F,0xE3,0x63,\r
+0xD2,0x26,0x3E,0xB0,0xE8,0x5F,0x17,0xA4,0xD8,0x4C,0xAF,0x7B,0xDA,0x0A,0xDC,0x95,\r
+0x49,0xE7,0xB9,0x88,0x45,0x14,0x89,0xE5,0x65,0x2D,0xAA,0x37,0x0A,0x2D,0x39,0xB7,\r
+0x54,0x4C,0xAB,0xD4,0x28,0x17,0xED,0xCB,0x7B,0xE5,0x88,0x6D,0x9D,0x70,0xC5,0xC3,\r
+0x85,0x81,0x0B,0xDD,0x4C,0x23,0x27,0xD5,0x04,0xDB,0x0B,0xED,0x51,0x60,0x45,0xD9,\r
+0x32,0xD0,0x8A,0x23,0xBA,0x2C,0xA4,0x3C,0x3E,0xFF,0xD4,0x2F,0x2C,0x98,0xD3,0x01,\r
+0xBA,0x0B,0x5D,0x7B,0x31,0x11,0x63,0xA0,0x38,0xAF,0x2A,0x7B,0xB1,0x5C,0x4A,0x42,\r
+0xC2,0xEF,0xB0,0x95,0xB0,0x1B,0x21,0x61,0xDE,0xC0,0xE4,0xC9,0x85,0xA1,0xE1,0xDC,\r
+0x67,0x13,0x7A,0x94,0x18,0x4A,0xE4,0x8A,0x7B,0x0B,0x8B,0x4C,0xEF,0xCA,0xE6,0xFE,\r
+0x7C,0x1E,0x35,0x48,0x03,0x9A,0x45,0x64,0xB6,0x19,0x69,0x11,0xE8,0xDC,0x69,0x2F,\r
+0xD0,0x90,0x63,0x5D,0xFE,0xBE,0x5F,0xC7,0xAE,0x46,0xF0,0xF6,0x53,0x78,0x91,0xED,\r
+0x10,0x16,0x25,0xFF,0xC7,0x02,0x2E,0x17,0x2F,0xE7,0x44,0xB9,0x32,0x30,0xAA,0x6D,\r
+0x19,0x09,0x7B,0x15,0xCB,0x3F,0x2F,0x31,0x74,0xBC,0xED,0x24,0x46,0x47,0xA9,0xB6,\r
+0x39,0x98,0xB0,0xBE,0x55,0xC8,0x18,0xB0,0xDF,0x61,0xD7,0xB2,0xC7,0xC3,0x92,0x38,\r
+0xC1,0xB7,0xB4,0x4E,0xBD,0x3D,0x54,0x6B,0x47,0xD8,0x06,0x8D,0xC4,0x3A,0x4F,0xD2,\r
+0xDB,0x8B,0x57,0xC2,0xC8,0x2E,0x6C,0x76,0xD6,0xDA,0xAB,0x81,0xEB,0x66,0x71,0xB8,\r
+0xB3,0x52,0xCB,0x37,0x22,0x58,0x65,0xF5,0xE4,0xE0,0xD1,0x5B,0xCB,0xEF,0xBE,0x50,\r
+0xC0,0x5E,0x2D,0x0B,0x35,0x34,0x07,0xDD,0x0E,0x3C,0x4B,0x57,0xD1,0xE5,0x80,0x4C,\r
+0xAC,0x2B,0xB8,0x2C,0xBC,0x12,0x43,0xBF,0x1F,0x33,0x05,0x75,0xBD,0x72,0xE8,0x68,\r
+0x9B,0xC8,0x99,0x45,0xE8,0x7A,0x69,0xEB,0x27,0x79,0x1D,0x28,0x00,0x6C,0xBB,0xC0,\r
+0xB0,0x07,0x76,0x15,0x61,0x77,0xC2,0x9C,0xDD,0x10,0x2F,0xF3,0x01,0x5A,0xCE,0xC4,\r
+0x35,0x13,0x38,0xE1,0x0C,0xA3,0x8A,0xF0,0x03,0x87,0x68,0x46,0x55,0x31,0xD7,0x1E,\r
+0x0F,0x51,0x9E,0x2B,0x48,0x9E,0x90,0xA0,0xEA,0x04,0x15,0x37,0xD4,0x6F,0xB5,0xC7,\r
+0x1E,0xBD,0x9A,0xFE,0xA3,0x13,0x31,0x72,0xAF,0x33,0xC7,0xFC,0xB8,0x37,0x66,0xB7,\r
+0x6E,0x57,0xC1,0x97,0x08,0x22,0x8C,0x85,0xEE,0x40,0x88,0xC2,0xA9,0x96,0x83,0x73,\r
+0xB1,0x35,0x66,0x08,0xBD,0xDA,0xCB,0x36,0x65,0x8F,0x3F,0xF8,0xE6,0x99,0x86,0x5A,\r
+0x5E,0xD4,0x69,0xE0,0x2D,0x1B,0xB8,0x47,0x81,0x5C,0x78,0x8B,0x1E,0xA1,0xCC,0xC8,\r
+0x90,0xE5,0xD9,0xFE,0x9B,0xE6,0x18,0xDD,0xFD,0xF5,0x00,0x83,0xF4,0xAB,0x40,0x6C,\r
+0x15,0xC8,0xE6,0x63,0x93,0xB0,0x78,0xCF,0x4E,0x68,0x68,0x6A,0x0C,0xE5,0x29,0xAA,\r
+0xC9,0xD3,0xF8,0xA4,0x6B,0xA5,0xEF,0x15,0x0F,0x37,0x3E,0x9C,0xC1,0xA0,0x57,0x11,\r
+0x32,0x74,0x34,0xAA,0xC9,0xCA,0x84,0x7C,0x10,0x63,0xEE,0x49,0xD1,0xAD,0x73,0x19,\r
+0x10,0x9B,0x18,0x95,0x9E,0x97,0x7C,0xDD,0xD3,0x65,0xF3,0x44,0x7F,0xAE,0x56,0x73,\r
+0xB6,0xE9,0x87,0x71,0x04,0x82,0xFC,0x5F,0x68,0x1B,0x0D,0xB5,0x92,0x69,0x33,0x7F,\r
+0xEC,0xF7,0xB8,0x80,0xB4,0x5A,0xAB,0x84,0x9D,0xB7,0xFF,0x18,0x1B,0xD0,0xD8,0xE6,\r
+0x05,0xDC,0x2B,0x93,0x8F,0x81,0xDA,0x93,0xB1,0x68,0x27,0xE6,0xE5,0x17,0xAF,0xE2,\r
+0x0B,0x9A,0x27,0xCF,0xFC,0x4B,0xC8,0x13,0xAA,0x0D,0x3B,0x4A,0x65,0x73,0x09,0xBC,\r
+0x01,0xA9,0x66,0xD5,0x2A,0xB3,0x04,0x3A,0xA4,0xF2,0xE9,0x4D,0x00,0x51,0x56,0xA3,\r
+0xC4,0x9D,0x2B,0x4B,0x40,0x1C,0x1B,0xE0,0x83,0xCF,0x45,0x7A,0x58,0xE7,0x50,0xBD,\r
+0x28,0x5B,0x2A,0x77,0x18,0xF8,0x99,0x67,0x1D,0x2E,0x13,0x8E,0xF9,0x18,0xA5,0xAE,\r
+0x63,0xEE,0x16,0xFC,0x22,0x40,0xE2,0xC1,0xA2,0x02,0x5C,0x19,0x3C,0x4F,0x8A,0x95,\r
+0xD2,0x66,0x93,0x09,0x49,0x8B,0x9D,0x76,0xCE,0x33,0x8F,0xC8,0x38,0x19,0x99,0x65,\r
+0x95,0x28,0x23,0xFE,0x68,0xE0,0xFA,0xAE,0x5E,0xAC,0x0A,0x27,0x32,0xCD,0x34,0x49,\r
+0x7D,0x7D,0x1D,0x71,0xE0,0x8D,0x51,0x21,0xE1,0x48,0xA4,0x54,0x14,0xA9,0x35,0x02,\r
+0xAF,0x94,0x17,0xDD,0x4F,0xD5,0x1E,0x79,0x41,0x2E,0xB5,0x13,0xF6,0x24,0xD7,0xDE,\r
+0xF1,0xE3,0x0C,0x47,0x99,0x5F,0xC8,0xB8,0x6C,0x93,0x7A,0x61,0x37,0x8E,0x80,0x20,\r
+0x6B,0x50,0x5F,0x6E,0xE0,0x55,0x8A,0xF8,0xEA,0x49,0x09,0x51,0x14,0xE2,0x8B,0x36,\r
+0xA7,0x3F,0x8A,0x93,0xFF,0xD6,0x09,0x14,0x93,0x9D,0x21,0x50,0x10,0xC0,0xDB,0x9E,\r
+0xBF,0x8B,0x6E,0xCF,0xFA,0xC8,0xBB,0x48,0x7E,0x4B,0x16,0xC8,0x55,0xA8,0x51,0x81,\r
+0x6D,0xB9,0x37,0x8F,0xF5,0x79,0x44,0x69,0x8C,0x1E,0x83,0xD4,0x03,0x72,0x0C,0x51,\r
+0x57,0x97,0x24,0x26,0x29,0xFD,0xB9,0x28,0x6F,0xE0,0xA3,0x81,0x41,0x85,0x33,0x57,\r
+0x11,0x2D,0x1A,0x5C,0x3D,0xDC,0x3E,0xA9,0xE0,0x4C,0x61,0x25,0x52,0x94,0x24,0x20,\r
+0xBC,0x67,0x99,0x33,0x2C,0x80,0xEA,0xC6,0x9A,0xC2,0x7B,0x9A,0x7F,0x87,0xFE,0x9C,\r
+0xD3,0x33,0x1B,0xBF,0x96,0x66,0x72,0xDA,0x80,0xFA,0xC6,0xAD,0x93,0x20,0xC7,0xB7,\r
+0x31,0xD6,0x27,0xBA,0x12,0x70,0x41,0xF4,0x49,0x1D,0xDD,0xEF,0xD1,0xF0,0x64,0x8B,\r
+0xFE,0x0C,0x3D,0x02,0x4E,0x8A,0xA2,0xE9,0xF9,0xBD,0xAA,0x2C,0x07,0xB8,0xBF,0x04,\r
+0x4A,0x99,0x56,0xBE,0xDD,0xC2,0xBA,0x5A,0x1C,0x22,0x6A,0xB2,0x47,0x04,0x67,0x48,\r
+0x77,0x24,0xDB,0x6F,0x50,0x41,0x46,0xA5,0xBB,0xAC,0x0E,0xFD,0x97,0x93,0xED,0x2C,\r
+0xBA,0x5A,0x26,0xA1,0x26,0xEA,0x7D,0x7B,0x9E,0x5F,0xC1,0xD4,0x89,0x7E,0xED,0xA4,\r
+0x6C,0x40,0x24,0x02,0x16,0x9A,0x1C,0x04,0x58,0x27,0x33,0x26,0x76,0xBD,0x97,0xDD,\r
+0x03,0x2F,0xB7,0xB7,0x13,0x98,0x53,0x75,0x17,0xAA,0x5D,0x3D,0xDF,0xCF,0x76,0xC8,\r
+0x4D,0xC1,0x4C,0xE7,0x24,0xD8,0x6A,0xA1,0x5F,0x59,0x7C,0x29,0xEB,0x50,0xD5,0x2D,\r
+0x64,0xC9,0x77,0x17,0x30,0x65,0x7B,0xD7,0x3C,0xB0,0x08,0xEF,0x75,0x35,0x92,0x71,\r
+0x47,0xB9,0x56,0xC5,0xF7,0xF4,0xFD,0xF7,0x77,0x5F,0x1D,0x84,0xF6,0x39,0x7D,0x05,\r
+0xBB,0xA3,0x11,0xB5,0xAE,0xF2,0xAC,0x3D,0x6C,0xB0,0xF7,0xD1,0x96,0x67,0x9C,0x31,\r
+0xE4,0x45,0xD8,0xF7,0x03,0xCC,0x2C,0x2E,0x52,0xF4,0x9B,0xDD,0x8C,0x9D,0xBA,0xB5,\r
+0x91,0x25,0x1B,0xE3,0x21,0x3A,0x0E,0x4F,0x30,0x8F,0xF9,0xED,0xA6,0xA2,0x4A,0xA4,\r
+0x23,0xC6,0x77,0x9B,0x62,0xAC,0x7F,0x66,0xDD,0x90,0x2D,0xC9,0x14,0xC3,0xCA,0xDC,\r
+0xB4,0xEE,0x53,0x1A,0x7B,0x76,0xCF,0x28,0xE5,0xCA,0xD9,0xA9,0x53,0x53,0x4C,0x84,\r
+0x5B,0xB1,0x58,0xC0,0x73,0x1F,0x70,0x3A,0xCB,0x0F,0x2A,0x8E,0x2E,0x58,0x5F,0x62,\r
+0x3C,0x9F,0xCD,0x34,0x83,0x59,0xA5,0x39,0xF3,0x93,0x14,0x86,0x80,0xEB,0x50,0xE2,\r
+0x8C,0xBE,0xD4,0x50,0xD1,0x2B,0xF6,0x97,0xF2,0x66,0xF6,0x46,0xD8,0xCE,0xDE,0x5D,\r
+0x1A,0x20,0x7D,0x78,0x53,0xB9,0xCB,0xD0,0x66,0xB6,0x7F,0xAA,0x84,0x0F,0x38,0x2F,\r
+0x9E,0x8A,0xF0,0xAA,0x2C,0x2E,0x0C,0xE4,0x95,0xA6,0x54,0xB6,0x4B,0x2C,0x8F,0x9C,\r
+0xDF,0x15,0x56,0xA5,0x17,0x89,0x6A,0x3F,0xD7,0xF3,0x92,0xE5,0x02,0x29,0xD2,0x0F,\r
+0xE1,0x18,0xD3,0x75,0xDC,0xA6,0xA2,0xC4,0xCA,0xF3,0x12,0x59,0xC9,0x71,0x03,0x2E,\r
+0xD4,0xFF,0x9F,0x3E,0x05,0x02,0xCE,0x74,0x32,0xB4,0xE3,0xE8,0xC6,0xFB,0x3C,0xCE,\r
+0x74,0xFE,0x1C,0xC7,0x65,0xC5,0x07,0xFC,0xAA,0x55,0x42,0x39,0xD2,0x60,0x56,0x45,\r
+0x9C,0x29,0x48,0xF3,0x9A,0x43,0xF9,0xF8,0x59,0x55,0xE8,0x7E,0x1C,0xEF,0xAB,0x04,\r
+0x37,0x7E,0x0F,0xC2,0xE0,0x44,0x06,0x98,0x3F,0x43,0x36,0x5C,0x2A,0x2F,0x87,0xC3,\r
+0xD1,0xCE,0x09,0x9A,0xF8,0x34,0x86,0x00,0xF1,0x81,0xED,0x67,0x79,0xFC,0x75,0xC6,\r
+0x4C,0x4F,0x2A,0x15,0xE4,0x06,0x24,0x88,0x26,0x61,0x30,0x8E,0x9D,0x84,0xF3,0x87,\r
+0x3D,0x35,0x6D,0x73,0xE6,0x07,0x29,0x25,0x9A,0x58,0xD7,0x2B,0xC7,0x48,0x64,0xF7,\r
+0xB2,0x6A,0x01,0xBC,0xB7,0x1E,0x0B,0xA4,0x13,0xF6,0x56,0x91,0x99,0x46,0x58,0xF2,\r
+0xCB,0xC2,0x23,0x3F,0x33,0xFA,0xF5,0x64,0x45,0xB7,0xC7,0x46,0x60,0xDB,0x3A,0x9D,\r
+0xB7,0x88,0xFE,0xE5,0x96,0xDE,0x8E,0xD6,0x91,0x95,0x6F,0xCF,0x61,0x75,0xF7,0x21,\r
+0x49,0x2C,0x0D,0x17,0xFC,0x52,0xE5,0x7A,0xDD,0x63,0x9F,0x2F,0x04,0x25,0x7A,0x8C,\r
+0x38,0xD4,0xCF,0x6D,0x77,0x62,0x26,0xEC,0x10,0x8B,0x0C,0xBC,0xFD,0x26,0xD8,0x36,\r
+0x86,0xB7,0x79,0x86,0xED,0x4E,0xB6,0xED,0xDC,0xF1,0xF5,0xF0,0x91,0xBE,0x64,0x16,\r
+0x7F,0xEA,0x0C,0xFF,0xF4,0x05,0x5B,0xD7,0x24,0x11,0x8E,0xA3,0xEE,0x1F,0xB5,0xF3,\r
+0x27,0xC7,0x9D,0xB8,0x6D,0xD7,0x04,0xFA,0x02,0x7F,0x03,0x64,0x35,0x0E,0x1C,0x6B,\r
+0x4A,0x06,0x7F,0xAF,0x3B,0x3F,0xC2,0x30,0x1E,0xCB,0x67,0x37,0x9E,0xA0,0x20,0xDE,\r
+0x21,0x25,0x2A,0xA4,0x3E,0x78,0xDC,0xC8,0x91,0x93,0xB3,0x0A,0xCE,0x25,0xC9,0xA4,\r
+0x62,0xB1,0x94,0x2A,0xFC,0x15,0xB8,0x25,0x23,0xCF,0x02,0xEF,0x03,0xBC,0x19,0x6E,\r
+0x7C,0xDC,0xDC,0x44,0x34,0x0D,0x04,0x10,0xDE,0xDE,0x6A,0xF5,0x2C,0x8B,0x45,0x9A,\r
+0xFF,0x1C,0x4D,0xF8,0xF5,0xC1,0x9F,0x89,0x6C,0x89,0x48,0x39,0xA3,0xA3,0x26,0x95,\r
+0xF5,0x74,0xB6,0x4C,0xFA,0x5B,0xBC,0x1E,0xB8,0xDC,0x24,0x58,0x14,0xD0,0xD7,0x43,\r
+0x2A,0x0D,0x97,0xB7,0x9C,0x16,0x9E,0x8A,0x4D,0xCD,0x2D,0xEB,0x3A,0xD1,0x21,0xA8,\r
+0x76,0x27,0x04,0x48,0xE5,0xBB,0x2F,0xA4,0x23,0x96,0x3E,0x29,0x46,0xCB,0xFF,0x24,\r
+0x57,0xC7,0x4E,0x29,0xD3,0xFD,0x7F,0xBE,0xE5,0xE1,0x2F,0x2F,0x8F,0x09,0x48,0x0A,\r
+0xD3,0x22,0x56,0xF6,0x28,0xC7,0x1F,0x42,0x8F,0x43,0xD8,0x3F,0x63,0x29,0x2B,0x08,\r
+0x68,0x58,0x72,0x47,0xA1,0xE0,0x80,0x47,0xF5,0x6F,0xAE,0xC0,0xC2,0xC0,0x64,0xEE,\r
+0x20,0x2B,0x2E,0x01,0xDA,0x54,0x53,0x44,0x37,0x4B,0x12,0x82,0x77,0x00,0x21,0x7F,\r
+0xDA,0xF1,0xEA,0x58,0xDA,0x9B,0xB8,0x93,0xDC,0x92,0x5A,0xB4,0x5E,0x77,0xFD,0x18,\r
+0xCC,0xF3,0x9B,0x30,0x57,0x79,0x8E,0x54,0xD5,0xF5,0x8A,0xA4,0xCE,0x6C,0xF6,0x86,\r
+0x4C,0xC9,0x98,0x33,0xC6,0x3A,0x83,0x16,0x46,0x54,0x01,0xE4,0x14,0xAA,0xDB,0xB2,\r
+0xB1,0x8D,0x68,0x53,0x9D,0xF4,0xDF,0xE4,0x21,0xEF,0x0B,0x22,0xAC,0xD2,0xCF,0x4C,\r
+0x70,0xBF,0x2E,0x42,0xBF,0x1B,0xB1,0x97,0x00,0x48,0x33,0x7A,0x6B,0x95,0xDA,0x26,\r
+0x88,0xE8,0xB7,0x69,0xB6,0xC4,0xCD,0x15,0x3B,0x60,0x3C,0x69,0x3B,0x22,0xA5,0x48,\r
+0x3D,0x63,0xDD,0x58,0x3B,0xBA,0x07,0x65,0x0B,0x11,0x04,0x88,0xAC,0x59,0x29,0xBA,\r
+0x60,0x75,0x39,0xBC,0x55,0x98,0xB1,0xEC,0xE6,0x8C,0x07,0x21,0x11,0x44,0xA6,0x38,\r
+0x0F,0xBF,0x07,0x6B,0xA5,0x63,0x63,0xB7,0xF9,0x1B,0x0A,0x22,0xA1,0x94,0x87,0x2F,\r
+0x1A,0xBF,0x43,0x74,0x42,0xBF,0x4D,0xC3,0xD1,0x9C,0x4F,0x93,0xBE,0xC2,0x3F,0x0B,\r
+0xE1,0x77,0x14,0x91,0xC0,0xA1,0xAE,0xFC,0xAD,0xE9,0xD9,0x57,0xF3,0x91,0xAD,0x62,\r
+0x2B,0xC5,0x71,0xEE,0x61,0xAF,0x7A,0x34,0x75,0x3D,0xBD,0x13,0x28,0x8D,0xE1,0x01,\r
+0xF0,0xF1,0x4A,0xED,0xF2,0x46,0xEC,0x7C,0x8F,0x1F,0x7A,0xFA,0x85,0x55,0xB0,0x70,\r
+0x28,0x2C,0x09,0x9A,0x9F,0x1C,0xBE,0x21,0x3F,0xB6,0xC3,0x50,0x79,0xA7,0xE7,0x95,\r
+0xEA,0x03,0x1C,0x35,0xA9,0xC9,0x5F,0x17,0x54,0x18,0xE5,0x94,0x46,0xF6,0xEF,0xB2,\r
+0x52,0x6A,0xD2,0x37,0x9B,0x82,0xDE,0x8C,0x45,0x1F,0xB2,0x20,0xD5,0xB9,0xA3,0x01,\r
+0xB6,0x03,0x31,0x27,0xEC,0x6E,0x71,0x85,0x7D,0x03,0x4D,0x06,0x9C,0xEF,0x73,0x5E,\r
+0x19,0xE4,0xC4,0xFA,0x41,0xAB,0x0A,0x61,0xD6,0xDB,0xFB,0xA6,0xFD,0x43,0x82,0x2C,\r
+0xA8,0xE6,0x6B,0x6A,0xAD,0x7E,0x12,0xA2,0x84,0xAC,0x51,0x23,0xD9,0x49,0x90,0x57,\r
+0x0C,0x22,0x4A,0xAC,0x30,0x4B,0xDC,0x32,0x97,0x85,0xDB,0x2E,0xFD,0xB8,0xDD,0xA9,\r
+0x23,0x21,0xFF,0xE5,0x16,0x75,0xA4,0x18,0x09,0x46,0x83,0x98,0x73,0x38,0xDD,0x20,\r
+0x84,0x26,0x76,0x39,0x8F,0x34,0xBD,0xD3,0x87,0x00,0x86,0x32,0x5E,0xFE,0xD9,0x74,\r
+0x9E,0x6A,0x10,0x52,0x50,0x7B,0x78,0xB3,0xD8,0x7F,0x56,0xC3,0xAF,0x47,0x86,0xAD,\r
+0xEE,0x9A,0x18,0x23,0xA2,0x9D,0x85,0xD5,0x76,0x1E,0x85,0x06,0xD5,0x9C,0x2A,0xFD,\r
+0xE9,0xA1,0x05,0x36,0x66,0x36,0x66,0x40,0xF7,0xC4,0x45,0x09,0x15,0x42,0x71,0xBC,\r
+0x6F,0xC2,0xED,0x58,0x33,0xDE,0x61,0x02,0x3D,0x6E,0xCA,0x23,0xA2,0xE8,0x47,0x84,\r
+0x50,0xAC,0xD2,0x46,0xD0,0x61,0xAF,0xB9,0x3F,0xEA,0x71,0xFC,0x15,0x6D,0xDE,0x3E,\r
+0xB4,0x62,0xB9,0x3B,0x30,0x18,0x5C,0xD7,0x45,0x7A,0xEC,0x50,0x99,0xFC,0x4F,0x4A,\r
+0xAD,0x74,0x04,0xB8,0x5B,0x97,0x85,0x70,0x98,0xCC,0xE2,0x7B,0x20,0x7D,0x19,0xE4,\r
+0xAC,0x01,0x53,0x50,0x05,0xE6,0x70,0x3F,0xD9,0x8B,0x2E,0x6F,0x99,0x9A,0xCC,0xB8,\r
+0xE4,0xB4,0x9E,0xCA,0xF0,0x2C,0x1E,0x37,0xB3,0xDF,0x14,0x3A,0x22,0x5F,0x72,0x9D,\r
+0xC8,0x49,0x71,0x0A,0xCB,0x92,0xF7,0x94,0xC7,0x2A,0x8C,0x30,0xB8,0xA6,0xCE,0x9B,\r
+0xF8,0x27,0x4D,0x49,0x19,0xE3,0xC7,0x33,0xC9,0x9D,0x8F,0x25,0xEF,0x35,0xBC,0x37,\r
+0x74,0xC1,0x23,0x4D,0xB6,0x1D,0x10,0xDA,0x38,0x44,0xDF,0x57,0xAF,0xC5,0xD1,0x97,\r
+0x32,0x3C,0xDB,0x88,0xBA,0xA9,0x90,0x4F,0xC1,0x16,0x65,0xB7,0xC5,0xF7,0xE2,0xB5,\r
+0x30,0xD1,0x28,0x76,0x46,0xC6,0x14,0x88,0x16,0x8E,0x17,0x6E,0x41,0x99,0x66,0x25,\r
+0x40,0x29,0x49,0x7A,0x4D,0x10,0x20,0x86,0x1D,0xC2,0xD4,0xE6,0x3E,0x6B,0x3A,0x9E,\r
+0xEB,0x2A,0x4D,0xC5,0xE7,0xDD,0xC2,0xA4,0x28,0xBD,0x39,0x4B,0x50,0xA4,0x83,0xCC,\r
+0x58,0x5E,0xA3,0x9C,0x69,0x11,0xB3,0x84,0x0D,0xB3,0xCD,0x16,0xB5,0x5D,0x60,0xBA,\r
+0x5E,0x35,0x80,0xCD,0x59,0xED,0xB6,0x10,0xE0,0x80,0x93,0xAC,0xAE,0xB7,0x10,0x2A,\r
+0xCF,0x5D,0xC0,0xDD,0x67,0xCE,0x4E,0x96,0xE9,0x20,0x9F,0x64,0xA8,0xA2,0x14,0xB0,\r
+0x72,0x69,0xBC,0x4A,0x09,0xE7,0x2E,0x1E,0x50,0x3A,0xFA,0x10,0xF7,0xD6,0x2D,0xF3,\r
+0xDC,0x70,0x90,0x3F,0x84,0x1E,0x10,0x9B,0x6E,0x90,0xF9,0x9A,0x0F,0x73,0x6A,0x18,\r
+0x06,0x90,0xAB,0xEA,0x9B,0x89,0x53,0xB8,0x50,0xE0,0x69,0xAF,0x18,0x87,0x90,0x28,\r
+0x90,0x12,0x3A,0xF5,0xC3,0x3B,0xBA,0x76,0x6A,0xAC,0x08,0x70,0xCE,0x53,0x39,0x41,\r
+0x66,0x33,0x04,0xD5,0xA3,0x4E,0xB2,0xC7,0x19,0x56,0x37,0x6D,0x43,0x31,0x20,0x9E,\r
+0x13,0xCD,0xD9,0x13,0x4E,0xB0,0x4C,0x22,0x1D,0x27,0xA5,0x8F,0xE5,0xD5,0xC5,0x2C,\r
+0x81,0xFB,0xF9,0xD4,0xD3,0x26,0x3C,0x29,0x19,0xA0,0x64,0xA2,0xC1,0x5C,0x07,0x19,\r
+0xF3,0xBF,0x1D,0xCA,0x39,0x96,0x47,0x17,0xCB,0xC4,0x41,0xF0,0xE5,0xBE,0xB1,0x20,\r
+0xB5,0xBD,0xA8,0x83,0x1F,0xF1,0x40,0x8B,0x56,0x65,0xF2,0xA5,0x81,0x80,0x4C,0x92,\r
+0xEE,0xE1,0x19,0xDB,0xB0,0xF5,0x37,0xC3,0xAF,0x38,0x38,0xA1,0xBA,0x82,0xE1,0x8E,\r
+0x10,0x33,0x2E,0xBD,0xC9,0x79,0x7C,0x07,0xB7,0x1B,0xC8,0xE5,0x9D,0xD2,0xE8,0x29,\r
+0x21,0x14,0x85,0xE2,0xAF,0xE9,0x17,0xF4,0x02,0x0A,0x52,0x2D,0xE2,0x19,0x04,0x52,\r
+0x9F,0x29,0x33,0x81,0xD1,0xC5,0x4C,0x2D,0x1E,0xC7,0xAB,0x03,0x2E,0x81,0xCD,0xB9,\r
+0x9A,0x3A,0x71,0xC1,0xFF,0xA0,0x13,0x3C,0x6A,0x88,0x70,0xBC,0x4E,0xEF,0x8C,0x35,\r
+0xEB,0xAC,0x4C,0x54,0x67,0xA1,0x0B,0x98,0x9E,0xDD,0x97,0x55,0x23,0x23,0xE8,0xD2,\r
+0x6C,0xBE,0x22,0xE7,0xB0,0x5D,0x73,0x78,0x0A,0x5A,0x60,0xFD,0x66,0x7C,0x51,0x34,\r
+0x15,0xDB,0x9F,0x34,0x64,0xB9,0xBB,0xFF,0x50,0x73,0xF1,0x31,0x03,0xE1,0xB2,0xD3,\r
+0x3B,0x31,0x95,0x42,0xCF,0xE4,0xA7,0x12,0x08,0xA2,0x4F,0x5A,0xB3,0x48,0x44,0x60,\r
+0xD3,0xE5,0x7A,0x01,0x4C,0x62,0x07,0x91,0x0C,0x04,0xE5,0x0F,0x8E,0xC7,0x56,0x41,\r
+0x76,0x43,0x85,0x4C,0xFD,0x93,0x40,0x5D,0x38,0x0E,0x4A,0xD6,0xC0,0x5B,0x63,0xDA,\r
+0x90,0xB8,0x84,0xC6,0x07,0xE3,0x30,0xC7,0x90,0x89,0x91,0xDD,0xE3,0x88,0xF9,0xBE,\r
+0x78,0x17,0xE8,0x55,0x03,0x2E,0x30,0x42,0x33,0xDE,0x35,0xA5,0xE2,0x8E,0xB5,0x19,\r
+0x39,0xD4,0xAB,0x0D,0x80,0x89,0x63,0x74,0x73,0xA4,0xF3,0x6F,0xF6,0x8B,0xB6,0xDF,\r
+0x73,0x08,0x97,0xFF,0x34,0xA5,0x20,0xA6,0xB3,0x59,0x44,0xD1,0x36,0x5C,0x47,0x5B,\r
+0x46,0x73,0xD0,0x54,0x75,0x01,0xD5,0x1C,0x28,0x26,0xB5,0x49,0x85,0xD6,0x03,0x7E,\r
+0x9B,0x86,0x64,0x24,0x30,0xFE,0x7D,0xF8,0xE8,0x40,0xB3,0xA0,0xFE,0x4C,0xB5,0x44,\r
+0xFC,0x5F,0xD8,0x0E,0xC6,0xB8,0x94,0x87,0x8C,0xF1,0x8D,0x81,0x51,0xFF,0x68,0x9F,\r
+0xBD,0x93,0xF2,0x8C,0xE1,0x1E,0x24,0x51,0xF9,0x4D,0xD8,0x2E,0xCD,0xA8,0x6C,0x90,\r
+0x2B,0x52,0x9E,0xFC,0x18,0x8C,0x7B,0x11,0x7E,0xFA,0x51,0x40,0xD8,0x69,0x76,0xF3,\r
+0x36,0xF3,0xB8,0x44,0x2C,0x9D,0xC0,0xB1,0xA8,0xD1,0x5E,0x53,0x55,0x05,0x8A,0xB7,\r
+0x43,0xEA,0xC8,0xC2,0x96,0x6B,0x36,0x4A,0x9C,0x31,0x3C,0x9F,0x86,0x3A,0x56,0x47,\r
+0x13,0x66,0xD9,0xAF,0x4E,0xD1,0x94,0xDC,0xED,0xF2,0x7E,0xE5,0xC2,0xF4,0xA0,0x04,\r
+0x84,0xCC,0x49,0x52,0xBB,0x0B,0xCA,0x7A,0x5F,0xDA,0x8A,0x89,0x2A,0x64,0x28,0x71,\r
+0xC3,0x71,0x20,0xC2,0x71,0xC2,0x25,0x0A,0x0E,0x94,0xAF,0xD4,0xDA,0x92,0x4E,0xA0,\r
+0xEA,0xF9,0x15,0xED,0x65,0x7F,0xE1,0x47,0xA3,0x20,0xDB,0x27,0xFF,0xF7,0xD5,0x44,\r
+0x1C,0x44,0x8F,0xB7,0x9B,0x55,0x1B,0xA1,0x88,0x21,0x50,0xAF,0x24,0xC0,0x49,0xC5,\r
+0xE0,0x38,0x65,0xB0,0x1B,0x53,0x5D,0xCC,0x85,0x72,0xBA,0x1C,0x87,0x9E,0x54,0x70,\r
+0x1D,0xD9,0xDF,0x29,0xC8,0x4D,0xBD,0xD8,0x78,0x9E,0x66,0xC8,0x14,0xD9,0xFF,0xA2,\r
+0xD0,0xC9,0xBD,0xC9,0x1E,0xE6,0xBC,0x22,0x06,0x2D,0xA9,0x7B,0x22,0x34,0x17,0xC7,\r
+0xA4,0x31,0x2C,0xB3,0x03,0x3F,0x87,0x5E,0x39,0xE0,0xFA,0x71,0x22,0x68,0x7A,0x66,\r
+0xCB,0x1B,0x67,0xA4,0x3C,0x3D,0x20,0x8F,0xB0,0xC2,0x94,0xB9,0x83,0x1A,0x6D,0x8A,\r
+0x96,0xE9,0x75,0xF2,0x45,0xD7,0xAB,0xFA,0xBC,0xDF,0x7A,0x1D,0x62,0x57,0x98,0x5F,\r
+0x74,0xDB,0x17,0x9D,0xA7,0xC1,0x50,0xEC,0x38,0x6E,0x61,0xEB,0x61,0x87,0xC4,0x12,\r
+0xED,0x3C,0x01,0xC4,0x66,0x65,0xB4,0x48,0x99,0x91,0xCD,0x89,0x73,0xA3,0x9D,0x00,\r
+0x59,0x77,0xBB,0x02,0x3F,0x2D,0x28,0xE4,0x00,0x80,0x0D,0x67,0xBA,0x1F,0xF8,0x36,\r
+0xF0,0x7F,0x69,0x14,0xAF,0x5A,0x10,0xB6,0x4A,0xC4,0x04,0x0C,0x37,0x22,0x55,0x60,\r
+0xCA,0x35,0x45,0x9F,0x71,0xDE,0x08,0x8A,0xA2,0xEA,0x24,0x22,0x48,0xD5,0x68,0x61,\r
+0x1B,0xCE,0x56,0x51,0x7D,0x27,0x75,0x1A,0xC1,0x22,0xDC,0x49,0x15,0x20,0xF8,0x47,\r
+0xB6,0xF5,0x91,0xAC,0x39,0x7B,0xDC,0x0F,0x41,0xD1,0xC6,0xB8,0x0C,0x33,0xBD,0x41,\r
+0xCC,0xFD,0x6C,0x9D,0x7F,0xF2,0x14,0xCD,0xC6,0xEA,0xAE,0x07,0xEA,0x45,0x7D,0x82,\r
+0x56,0x8C,0x0B,0x00,0x53,0xF8,0xD1,0x90,0x3A,0x53,0xDD,0x12,0x7E,0x29,0x61,0x33,\r
+0x18,0x1D,0xD6,0xA8,0x02,0x6F,0xA2,0x9C,0xB7,0x25,0xB1,0xBE,0xAD,0x0F,0xB0,0x40,\r
+0x00,0x03,0x5D,0x2D,0xA0,0x71,0x1C,0x90,0xE6,0x3D,0x86,0xE9,0xB6,0x67,0x56,0x39,\r
+0x32,0x1F,0x30,0x25,0x4E,0x47,0xAA,0x3E,0x3D,0xFB,0xAD,0x3B,0x1E,0x6A,0xC0,0xD4,\r
+0x75,0xDE,0x4A,0xA2,0xAD,0x2C,0x22,0x11,0x8F,0x6F,0x28,0x79,0x54,0xBE,0x9F,0x47,\r
+0x08,0xEA,0x16,0x3B,0x6F,0x72,0x0B,0x51,0xEB,0x11,0x12,0x5E,0xA3,0x83,0x02,0x86,\r
+0xDA,0x2E,0xB4,0xFC,0x10,0x2A,0x74,0xEE,0x18,0x61,0x03,0x58,0x82,0x0E,0x1B,0xDB,\r
+0x63,0x05,0xA3,0x25,0x00,0xBB,0x46,0x9D,0x0E,0x0E,0xE2,0x6F,0x6B,0x40,0x98,0xB3,\r
+0xA6,0xF0,0xD3,0x1D,0x8B,0x14,0xC6,0xD7,0x6D,0xDC,0x4E,0x09,0xE3,0xF6,0x1B,0x25,\r
+0xC4,0x0A,0x09,0x6F,0x4B,0xE7,0x4E,0xAB,0xC2,0xD2,0xFB,0x95,0x5C,0xE8,0xA8,0x74,\r
+0x8F,0xE0,0x70,0x44,0x64,0x5F,0x6C,0x4B,0x57,0xA3,0xB4,0x5E,0xEA,0xBF,0x71,0x23,\r
+0x4B,0x7A,0xFA,0xB4,0xB6,0xFD,0xA9,0xBC,0xD5,0xFF,0x58,0x5D,0x9A,0x77,0x1D,0xA3,\r
+0x11,0x77,0xCA,0x3F,0x36,0x25,0xB7,0x9A,0x02,0xF1,0xAA,0xE6,0x9F,0xCE,0x5C,0x64,\r
+0xAC,0x91,0x0F,0x4E,0x6C,0xEC,0xBB,0xA7,0x09,0x84,0x9C,0xA3,0x05,0xD4,0x89,0x71,\r
+0xA2,0x42,0x7E,0x94,0x1E,0x26,0x27,0x01,0x4A,0x43,0x80,0xC2,0xE0,0xB0,0xB1,0x85,\r
+0x6E,0x97,0x39,0x3C,0xB1,0x02,0xE3,0x35,0x9B,0x67,0x99,0xB3,0x52,0x07,0x87,0xE2,\r
+0xB2,0x30,0x2B,0xF5,0x5B,0x17,0x56,0x97,0x8A,0x30,0xCF,0x9F,0x8A,0x42,0x40,0x38,\r
+0xB7,0x90,0x1A,0x8A,0xE8,0x30,0x45,0x28,0x2F,0xDB,0x54,0xC1,0xC9,0x09,0x4E,0x23,\r
+0x95,0xAB,0x3C,0xF8,0xDC,0x6D,0xED,0x3E,0x6C,0x7E,0x49,0x15,0xEE,0x0A,0x49,0x45,\r
+0x16,0x4E,0xB8,0x53,0x6A,0x7D,0x86,0xEF,0x8D,0x58,0x98,0xDF,0x8F,0x3E,0xD1,0x29,\r
+0xC9,0x46,0x40,0xF2,0x92,0x85,0x36,0x0B,0x66,0x9B,0x2F,0x59,0x2B,0x31,0xB6,0x2B,\r
+0x37,0x99,0x34,0xA2,0x4D,0x41,0x39,0xFC,0xD3,0x4D,0xA7,0x77,0x47,0x0C,0xB4,0x34,\r
+0xF9,0xE0,0xA7,0xB8,0x56,0xBC,0x71,0x05,0xBB,0x38,0xDF,0x14,0x23,0x06,0x73,0x3C,\r
+0xAD,0xF5,0xFC,0x5E,0x3E,0xC3,0x92,0xB3,0xAC,0x96,0x6B,0x15,0x46,0xE3,0x91,0x19,\r
+0x11,0x23,0xDC,0x11,0x04,0x03,0x67,0x32,0xE5,0xB5,0x23,0x06,0x9A,0x57,0x25,0x4E,\r
+0x59,0x4E,0xB1,0xA2,0xCF,0x74,0x8A,0x32,0x3C,0x8E,0xD9,0xEB,0x87,0x98,0x46,0x2A,\r
+0x89,0xEE,0x9B,0x43,0x8D,0x6F,0xC0,0xD5,0xB9,0x37,0xCF,0xDD,0xB4,0x7A,0x8B,0x5B,\r
+0x2E,0x0A,0xEB,0x92,0xDE,0xD2,0x3F,0xBC,0x75,0x62,0x29,0x87,0x6C,0x15,0x4C,0x0F,\r
+0x3D,0x2C,0xA0,0x9C,0x70,0xC8,0x35,0xD9,0x80,0xC8,0x75,0xDB,0x1F,0xB8,0xB3,0xCD,\r
+0x2C,0x12,0xC5,0x54,0x00,0x0A,0x97,0xA5,0xB2,0xB8,0x54,0xF2,0x7C,0xFE,0x83,0xBB,\r
+0xDB,0x91,0x8B,0x49,0xCE,0x2A,0x4E,0x1C,0xFF,0x93,0xD0,0x4F,0x68,0xC4,0xDE,0xAB,\r
+0x01,0xC2,0xD9,0xB0,0x08,0xBF,0x3F,0xA3,0xE0,0xED,0x61,0x60,0xAD,0x16,0x4F,0x7B,\r
+0x69,0xEA,0x57,0xFB,0x6B,0x88,0x36,0xB0,0xD0,0x22,0x7F,0x8F,0xFF,0x0E,0x27,0x4A,\r
+0x4B,0x31,0xA9,0x6E,0x1F,0xA0,0x09,0x34,0xC4,0xB6,0xFC,0xBC,0xEB,0xC2,0x57,0x3A,\r
+0x27,0x49,0x32,0x26,0x7F,0xD3,0x7F,0xDC,0xB9,0x35,0xF6,0x2D,0x75,0x58,0x23,0xBC,\r
+0x8D,0x1A,0x86,0xCF,0x67,0x1C,0x4C,0xD2,0xD7,0x5B,0x7C,0xC5,0x20,0x06,0xAB,0xF3,\r
+0x00,0xB0,0xC0,0xCA,0x98,0x0D,0x53,0x28,0xBA,0x5A,0x24,0xE7,0xE9,0xD4,0x40,0x3D,\r
+0x64,0xC8,0xF6,0x8E,0x61,0xA3,0x4D,0xDB,0x6C,0x93,0x49,0xB2,0x85,0x3C,0x06,0xDA,\r
+0xB0,0x3C,0x96,0xD6,0xC6,0x26,0xC7,0x25,0x34,0xC9,0x22,0x71,0x79,0x7B,0xC6,0x31,\r
+0xE6,0x5B,0xB1,0x2F,0x7A,0xF5,0x76,0xB3,0xEC,0xE0,0xE9,0xFF,0xA9,0xCA,0xA2,0x1A,\r
+0xB1,0xFD,0x4C,0x75,0xF9,0xBA,0x3A,0xC9,0x4E,0xB8,0x51,0xE8,0x89,0x81,0x1D,0x5C,\r
+0x4E,0x4E,0x48,0x93,0x7D,0xEC,0xF5,0x1A,0xFB,0xD1,0xB5,0x96,0x50,0x6D,0xA9,0x73,\r
+0xF8,0x85,0x8C,0x91,0x8C,0x40,0x69,0x90,0x6C,0x57,0x1A,0x20,0x59,0xA8,0x6D,0xED,\r
+0xDA,0x9C,0x94,0xF4,0x7F,0x92,0x02,0xD5,0x12,0x03,0xE2,0x01,0x09,0xA2,0x3F,0xB5,\r
+0xBE,0xB0,0x5A,0xF5,0xCF,0x8E,0x12,0xFA,0xE9,0xE1,0x28,0xE3,0xB5,0xAC,0xD2,0x31,\r
+0x79,0x54,0x9E,0xBC,0xD2,0x56,0x8F,0x6C,0xB5,0x6A,0xF3,0x7C,0x2E,0x45,0x86,0x6E,\r
+0xC0,0x87,0x34,0x12,0x15,0xA4,0xCF,0xC7,0x39,0x7F,0x2B,0x26,0x82,0x1F,0xC4,0xF8,\r
+0x07,0x51,0xF4,0x55,0xBC,0x5A,0x61,0x65,0x8B,0xAE,0x3E,0xEA,0xF8,0xB9,0xEB,0x04,\r
+0x04,0x59,0x7E,0xB8,0x72,0x47,0x6F,0x9B,0xB9,0x1A,0x63,0xB3,0x50,0x9B,0x14,0x03,\r
+0x09,0x41,0x04,0xBE,0x8F,0x97,0x48,0x01,0x7A,0x58,0x0C,0x66,0x33,0x60,0x8F,0x2F,\r
+0x4C,0xE5,0x5F,0xA1,0x41,0xC1,0xCC,0xD5,0xC0,0xB9,0x19,0x38,0xB9,0xBC,0xAC,0xE3,\r
+0x02,0x83,0x46,0x60,0x37,0xA9,0x35,0x49,0x5A,0x42,0x4F,0x30,0x2E,0x39,0x7F,0xDE,\r
+0x08,0xD8,0x16,0x6F,0x9D,0xD1,0x44,0xA3,0xB7,0x97,0xB2,0xB6,0x2D,0xF7,0x87,0x72,\r
+0x30,0x57,0x14,0xBF,0xFB,0x96,0xD0,0x34,0xEF,0x01,0x73,0x5A,0x0E,0x18,0x84,0x07,\r
+0x3F,0xD7,0x31,0xCF,0xB4,0x21,0x69,0x25,0xE5,0xD8,0x8B,0x66,0x4F,0xC7,0xD6,0x4A,\r
+0x17,0xB0,0x1C,0x33,0xBC,0x5C,0x31,0x31,0x77,0xF0,0xE7,0x56,0x1A,0x2F,0x31,0x30,\r
+0x8F,0x55,0x42,0xC8,0x43,0xA5,0xA0,0xF5,0x3D,0x92,0xCB,0x88,0xC3,0x91,0x62,0x16,\r
+0x8C,0xA8,0x71,0xC3,0xEE,0x36,0xD4,0x4C,0x11,0x47,0xFB,0x8B,0xC5,0xE0,0x47,0x9E,\r
+0xDC,0x46,0x1F,0x1A,0xDB,0xC6,0x81,0xEB,0xF2,0xFA,0x77,0x3D,0x25,0x1E,0x97,0x36,\r
+0x72,0x31,0x97,0x53,0xE6,0x6E,0x57,0x2D,0xC4,0x80,0x53,0x8C,0x70,0x62,0x6E,0x31,\r
+0xEF,0x70,0x05,0x6E,0x4A,0xFF,0x86,0x59,0x0A,0x8F,0xB7,0x15,0x99,0x1B,0x04,0xEA,\r
+0xE1,0x85,0x2D,0xAD,0xA5,0x7E,0x36,0xBE,0x58,0xE2,0xAE,0x72,0xC7,0x94,0x02,0x45,\r
+0x2D,0xE6,0x6B,0xC7,0xF4,0x99,0x43,0x3B,0xF7,0x2B,0xAF,0xC3,0x46,0xE5,0x3A,0x27,\r
+0x55,0xDC,0x40,0x85,0xCC,0x44,0x64,0x21,0x18,0x84,0x9D,0x9D,0x9D,0x78,0x9C,0x60,\r
+0x86,0xF6,0x70,0xCC,0x3E,0x9F,0x30,0x4A,0xD1,0xD8,0xED,0x1A,0x1F,0x9E,0xFE,0xD7,\r
+0x46,0xD9,0x0C,0xC5,0xB8,0x41,0xA3,0xB5,0x3E,0x9B,0xEA,0xB5,0x10,0x35,0x38,0xE2,\r
+0xC9,0x7B,0x14,0xDF,0x64,0xEB,0x1C,0xBE,0x62,0xCF,0x6C,0x42,0xF8,0xDD,0xCD,0x52,\r
+0x52,0x20,0xCE,0x49,0xB6,0x4A,0xEE,0xC0,0x8C,0x76,0xAB,0x5C,0x84,0x7D,0xBB,0xA0,\r
+0xD8,0xD0,0x58,0x61,0x81,0xBB,0xB3,0x8F,0xD8,0x3B,0x0F,0xE9,0xE7,0x48,0xE6,0x70,\r
+0x80,0x29,0xF6,0xF5,0x20,0x3B,0xE0,0xF9,0xCE,0xC9,0x20,0xC0,0x9A,0x76,0x45,0x77,\r
+0x85,0x8D,0xF3,0x01,0x9D,0xFD,0x86,0x42,0xA6,0x9B,0x87,0xF8,0x96,0x37,0x1A,0xD9,\r
+0xA6,0xED,0x94,0x4E,0x13,0xD6,0x4B,0x00,0x31,0xC1,0x10,0x72,0x22,0xB3,0x4E,0x2F,\r
+0x67,0x78,0xA5,0xBB,0xFF,0x5F,0xB0,0x58,0x65,0x8E,0x82,0xCD,0x5F,0x25,0x11,0x1F,\r
+0x42,0x57,0x83,0x15,0x2F,0xBD,0xAC,0x9B,0x62,0xEA,0xF0,0x22,0x6C,0x95,0x2E,0x7D,\r
+0xF1,0x7D,0x3A,0x8F,0x99,0x83,0x1F,0x89,0xFC,0x6A,0xB6,0x1B,0x2F,0xF2,0x28,0xDB,\r
+0xFA,0x65,0x6A,0x33,0x41,0x70,0xE7,0x36,0x0D,0x73,0xDF,0x9F,0x4A,0x1D,0x0B,0xF7,\r
+0x6A,0x57,0xA8,0x59,0x20,0x84,0xC8,0x39,0x36,0xBC,0x05,0x76,0x02,0x8A,0x88,0x3C,\r
+0x0B,0x40,0xE8,0xA9,0xA9,0x50,0x32,0x0E,0x1F,0xBE,0x93,0x4E,0xEE,0x38,0x27,0xB2,\r
+0x34,0x98,0x35,0xBB,0xA9,0x32,0xE1,0xBC,0x8B,0x83,0x65,0x2C,0xEC,0x4D,0x7E,0x7A,\r
+0xCE,0x26,0x7D,0xA9,0xF1,0x5E,0xB7,0xB2,0xF2,0x30,0x5B,0x39,0x08,0x12,0x18,0x69,\r
+0x90,0x56,0xFC,0xF3,0x15,0xB4,0xF5,0xE6,0xD2,0xF0,0x5D,0x93,0xEB,0xEE,0x2C,0xF1,\r
+0x9C,0xBC,0x80,0xEC,0x50,0xA1,0x8B,0x2A,0x7B,0x41,0xCC,0x68,0xF0,0xCD,0x08,0x2F,\r
+0xF9,0x9E,0x1F,0x9B,0x2E,0xD5,0xED,0xC2,0x59,0x0B,0x71,0x1A,0xB0,0xE4,0xCD,0x33,\r
+0x66,0x56,0xFF,0x95,0xBD,0xF4,0x07,0xB3,0x79,0x5B,0x31,0x27,0xB1,0xAA,0x35,0xB6,\r
+0x14,0xCB,0x73,0xFA,0xAD,0x9A,0x3F,0xB6,0x79,0x7B,0x33,0x6D,0xB6,0xC5,0xC3,0x01,\r
+0xD7,0x9E,0x7C,0x39,0xA9,0x68,0x0B,0xA5,0x14,0x4D,0x43,0xC1,0xBA,0x13,0x22,0xA7,\r
+0x3A,0x93,0xCA,0xC6,0xEA,0xA7,0xBB,0x46,0xD3,0x45,0xE8,0x19,0xEF,0xDE,0xF9,0xA7,\r
+0xDE,0xB0,0x37,0x3E,0xCB,0xD3,0xBA,0xDA,0x0F,0xE3,0x07,0xCB,0x09,0xF7,0x68,0x61,\r
+0xCF,0x2A,0x69,0x41,0xEC,0x5E,0x4A,0x85,0x77,0x2E,0xD5,0x6C,0x77,0xAF,0xB7,0xA3,\r
+0xF5,0x51,0x29,0xC4,0x80,0x63,0x00,0xE9,0xDF,0x23,0xA8,0xDD,0x97,0xF1,0x41,0x03,\r
+0x70,0xAE,0x94,0xA3,0x4B,0xB7,0x20,0xA9,0x7C,0x68,0xEF,0xB0,0x0E,0x9A,0xF2,0x31,\r
+0x5B,0x5B,0x73,0xD8,0x25,0xBA,0xF7,0x33,0xFD,0x05,0xDD,0x4A,0x7E,0xAC,0x9D,0x68,\r
+0x6C,0xD8,0x20,0x50,0xE9,0xD2,0x2E,0xFA,0x56,0xA6,0xC5,0xF5,0xD2,0xB2,0x96,0xB0,\r
+0x00,0x8D,0xEB,0xBC,0xCC,0xF4,0xFC,0x8D,0x5B,0x85,0x8B,0x52,0x3C,0x25,0x59,0x84,\r
+0x73,0xD5,0xD8,0x0E,0x7C,0x98,0x23,0x9E,0xE6,0x09,0x11,0x36,0xF8,0x2F,0xF6,0xEF,\r
+0x1B,0x1E,0x3E,0x62,0x51,0xEE,0x48,0xB4,0xC4,0x0A,0x6B,0x2F,0x40,0xA6,0x52,0x5E,\r
+0x01,0x5F,0xCA,0xBE,0xA7,0xFD,0x4D,0x27,0xA5,0x3A,0xC6,0xCB,0x00,0xFA,0x7D,0x73,\r
+0xF9,0x6E,0xC4,0x39,0xC5,0x08,0x57,0x2E,0xC2,0xB4,0x17,0x41,0xC3,0x03,0xB7,0x06,\r
+0xD9,0x90,0x09,0x72,0x48,0xFF,0x8B,0xAC,0x17,0x1D,0x2D,0xCF,0x6B,0x87,0x06,0x3E,\r
+0xD0,0xD0,0xF8,0x53,0x22,0xC2,0x54,0x0E,0x4C,0x92,0x84,0x61,0x72,0xF0,0xE0,0xC1,\r
+0x10,0x5D,0xF5,0xCC,0xAC,0x7E,0xFF,0x98,0x8E,0x69,0x30,0xA5,0x3F,0xB8,0x2E,0x1F,\r
+0xBC,0x3F,0x7D,0x0A,0xD9,0x5A,0xFA,0xE0,0xDA,0x8C,0xA9,0x63,0x7C,0x1C,0xF8,0x71,\r
+0xA7,0x9B,0x90,0x41,0xC7,0x8A,0xC8,0xCE,0x72,0x89,0x4B,0xF5,0x24,0x0A,0xA1,0x4C,\r
+0x02,0x80,0x73,0x37,0xC8,0xDB,0x6A,0x96,0xF7,0x17,0x24,0xBB,0xB7,0x61,0xBA,0x9F,\r
+0x7A,0xCA,0xEC,0x49,0x8F,0xD1,0x34,0x15,0x04,0x77,0xEA,0xE2,0xFD,0x9C,0xDD,0x29,\r
+0xF2,0x7C,0x07,0x9C,0xB0,0xEC,0xF6,0x4E,0x06,0x11,0x14,0x4F,0x6B,0x58,0xA6,0x49,\r
+0x45,0xCB,0x59,0x56,0xB7,0xE3,0xA0,0x1C,0x13,0x8F,0xCB,0x47,0x0A,0xA0,0xC1,0xFB,\r
+0x94,0x4F,0xFC,0x9B,0x9F,0xD7,0x5D,0xC0,0x7A,0x89,0x48,0x23,0x3E,0xB0,0xE9,0x01,\r
+0x89,0x9A,0xC5,0x05,0x8D,0xD4,0x7A,0x4B,0x9B,0x7D,0x6A,0x69,0x56,0xED,0x7A,0xC4,\r
+0x12,0xF1,0x63,0x44,0x37,0x9F,0x58,0x88,0xFE,0xD9,0x6F,0xFB,0xD1,0xCA,0x75,0xEC,\r
+0x44,0xCA,0x2D,0xF4,0xC9,0xDA,0xD4,0x39,0xBC,0x74,0xB3,0x39,0xC1,0xDF,0x62,0xAC,\r
+0x5D,0x3D,0x7F,0xA6,0x54,0x6D,0x34,0x88,0x8D,0xDC,0x7F,0x5E,0xD5,0xFB,0xBD,0x7A,\r
+0x41,0x5A,0xC2,0x36,0x0A,0x09,0xBC,0x01,0xC8,0x3D,0x71,0x40,0x06,0x31,0x46,0x9A,\r
+0x77,0xCE,0x03,0xE8,0x45,0x13,0x1F,0xCD,0x56,0x27,0xCC,0x50,0x15,0xF8,0x7F,0x4D,\r
+0x85,0x77,0xC8,0x67,0x26,0xAA,0xCE,0x54,0x18,0x6D,0x96,0xEB,0x24,0x20,0x2A,0x93,\r
+0x69,0x01,0x75,0xFA,0x98,0x62,0x1F,0x8F,0x65,0xC2,0x52,0x09,0xE1,0x82,0xDB,0x36,\r
+0x26,0xCA,0x35,0x24,0xE4,0x35,0xBD,0x79,0xBD,0x6A,0x19,0xDE,0xD0,0x3A,0x28,0x3A,\r
+0x93,0x57,0x18,0x12,0xDA,0x2B,0x1F,0x03,0xB4,0x02,0x7B,0x09,0x26,0xC9,0x5D,0xE8,\r
+0x3F,0x39,0xD4,0xAD,0xA8,0x9D,0xF8,0xF4,0x15,0x1C,0xBE,0x13,0x07,0x66,0x25,0x0C,\r
+0x68,0x2F,0x16,0xD4,0xFB,0x0B,0xA0,0x40,0x9A,0x01,0x9B,0xCA,0x23,0xDC,0xBA,0x61,\r
+0x99,0xD9,0xA5,0xB0,0xB6,0x81,0x61,0xA9,0x87,0x88,0xAE,0xC5,0x7E,0x78,0x7F,0xCB,\r
+0x2E,0xF0,0x28,0x25,0xD2,0x56,0x10,0x6C,0xF5,0x21,0xE4,0xBC,0x9B,0x54,0x75,0xE0,\r
+0xE8,0x02,0x6F,0xB3,0xA3,0x53,0x40,0x9F,0xED,0x28,0xA5,0x67,0xDD,0xF3,0x09,0xED,\r
+0x4C,0x37,0x8E,0xCA,0x0F,0x55,0x06,0xFC,0x7D,0xD8,0x4D,0xBD,0x79,0x3E,0xA2,0xE2,\r
+0x97,0x88,0x0C,0x4A,0x7E,0x86,0x0D,0x4B,0x09,0xD9,0xAB,0xB5,0xDA,0x4E,0xA1,0x9E,\r
+0x38,0x34,0x41,0xC5,0xD4,0x1A,0x12,0x7E,0xB2,0xE4,0x0E,0xC1,0xFD,0xBF,0x3B,0xE7,\r
+0x92,0x17,0xBE,0x35,0xDC,0x95,0x27,0x0E,0x86,0x8E,0xE6,0xB0,0xE4,0x39,0x8C,0xBB,\r
+0x2C,0xC8,0x20,0x63,0x64,0x3C,0x30,0x46,0x28,0x32,0xC8,0xE7,0xF2,0x64,0xED,0x57,\r
+0xBD,0xF4,0xB5,0xF4,0xE1,0xA1,0xE1,0x8D,0x0A,0x78,0xB1,0x28,0xBB,0x80,0xBB,0xCC,\r
+0x4A,0x26,0x21,0x3C,0x2D,0xFE,0x34,0x43,0xE8,0xAA,0x36,0x34,0x2B,0x7C,0x67,0x43,\r
+0xAD,0xC9,0x3E,0x10,0x14,0x32,0x43,0xDB,0xA4,0xC0,0x47,0x36,0x09,0x7D,0x97,0x20,\r
+0x76,0xD7,0xEB,0xE9,0x6F,0x5C,0xE9,0x01,0x1E,0xAE,0x42,0xA2,0xC9,0x18,0xEE,0x73,\r
+0x8F,0x76,0x8F,0xB8,0xAC,0xC4,0x2A,0xBB,0x01,0x43,0xFC,0xAA,0x07,0x34,0xEA,0x0E,\r
+0x15,0x20,0xA7,0x0E,0x16,0x0F,0x00,0x82,0xD9,0x42,0xCD,0x9B,0x04,0xA4,0xB6,0x93,\r
+0xE5,0x64,0x6F,0x41,0x35,0x5F,0xD1,0x27,0xB8,0xD4,0x33,0xFF,0x8C,0x28,0x8C,0x30,\r
+0x49,0xB6,0x75,0xF7,0x74,0xC7,0xE5,0xAB,0xDC,0x9C,0x16,0x4D,0xD6,0xE0,0x78,0x7C,\r
+0x27,0xA1,0x7B,0x28,0x7F,0xB5,0xE8,0xE4,0xB4,0xAA,0x79,0xFD,0x12,0xE2,0xBB,0x2D,\r
+0x74,0xA9,0xE1,0x3F,0xF5,0xE9,0xD4,0x17,0x8E,0x4E,0x0D,0x7A,0xAD,0x3B,0xBD,0x9B,\r
+0xBB,0xA0,0xBE,0x6D,0x2E,0x04,0x15,0xD6,0xBC,0x7F,0xC0,0xF8,0x9F,0x90,0xE7,0xAA,\r
+0x67,0xAD,0xA1,0xEA,0xA4,0x43,0x99,0x5A,0x87,0x8E,0x3D,0x90,0xD6,0x8E,0xF8,0x7D,\r
+0x8D,0x8E,0xFA,0x71,0xF8,0x1D,0x1E,0x3B,0xF1,0xA4,0xC1,0xE2,0x93,0x88,0x4B,0x80,\r
+0x06,0xF2,0xFC,0xC2,0xD1,0x2A,0xD1,0xE3,0xF9,0x41,0x37,0x1C,0x67,0xA2,0xD9,0xE8,\r
+0x72,0xA7,0x94,0x24,0xF6,0x4F,0x54,0x5F,0x96,0x44,0x1E,0xA4,0x99,0x1F,0xB6,0x5F,\r
+0x57,0x82,0xE2,0x06,0x37,0xB9,0xAC,0xCA,0x01,0xCE,0x59,0x88,0x08,0xD6,0x99,0xD2,\r
+0xA3,0xC0,0x73,0xB5,0x73,0x29,0x3C,0xF8,0x26,0x7C,0xCE,0x53,0x9C,0x0C,0x24,0x34,\r
+0xE1,0x39,0xDA,0xA2,0x34,0xE7,0x05,0x6A,0xE3,0x00,0x9E,0xAD,0x75,0xB6,0x26,0xC2,\r
+0x83,0x19,0x3A,0x26,0x59,0xD8,0x69,0x6C,0x76,0xA8,0xEB,0x7F,0x96,0x40,0x92,0x0F,\r
+0x8C,0xB5,0x39,0x2B,0x7D,0xB4,0x42,0xDD,0x81,0xBB,0xF6,0x0B,0xB7,0x51,0xF0,0xF3,\r
+0x05,0x95,0xF3,0xE3,0x6A,0x75,0xE3,0x29,0xB4,0x27,0x60,0xF7,0x84,0xC3,0xDB,0x66,\r
+0x50,0xFD,0x0B,0x08,0x66,0x22,0x2C,0xD9,0x55,0xAE,0x21,0xFA,0xA5,0x65,0xDA,0xED,\r
+0x6E,0x4E,0x50,0x58,0xD4,0x91,0xF4,0x32,0xB7,0xE2,0x46,0xA9,0x51,0x23,0x3E,0x85,\r
+0xE1,0xE6,0x85,0x59,0xC7,0x4F,0xD7,0x06,0xDA,0x49,0x6A,0x08,0x15,0x9E,0xD4,0x3D,\r
+0x7B,0xD6,0x3A,0x86,0x88,0x45,0x02,0xD2,0x6C,0x0A,0x19,0x2E,0x1F,0xF2,0xC3,0xA0,\r
+0xB7,0xA0,0x6E,0x37,0x34,0xC6,0x94,0xED,0x02,0xA2,0x31,0x13,0x1B,0xD0,0x65,0xB7,\r
+0xAF,0xF2,0xDE,0xC0,0x1E,0xD8,0xD0,0x4F,0x49,0xDC,0x06,0xEA,0xAE,0xB8,0x35,0x87,\r
+0xC2,0x25,0x90,0xAE,0x68,0x9B,0x92,0x8A,0x83,0xFF,0x9F,0x57,0x09,0x09,0x51,0x6F,\r
+0x85,0xE7,0xD0,0xA0,0x5B,0xF0,0x74,0xC2,0x55,0xE5,0x1A,0x96,0x08,0xDD,0x79,0x28,\r
+0x6D,0x6E,0xFF,0xEA,0xC7,0x9D,0x10,0xBC,0x3A,0x97,0xB4,0x57,0x3F,0xB9,0xC4,0x63,\r
+0xBF,0x7C,0x01,0x36,0x27,0xC5,0x62,0xBF,0xBE,0xE1,0xA5,0x4F,0x27,0x34,0x11,0xBF,\r
+0xC3,0x83,0x7D,0x2D,0xC3,0x76,0x91,0x7C,0xBF,0x1F,0xD6,0xDE,0xF9,0x30,0xB5,0x56,\r
+0x21,0x5D,0x80,0xB7,0x4D,0x60,0x65,0x54,0xCE,0xE7,0xCD,0xF1,0x88,0xE0,0x13,0xD0,\r
+0xEE,0x2A,0x3A,0x9C,0x30,0x9A,0x58,0x0D,0x55,0x21,0xBA,0x27,0x34,0xA8,0x12,0x16,\r
+0x5A,0x66,0x77,0x83,0x66,0xD2,0xDC,0x71,0x58,0xA3,0x7A,0xAD,0x2B,0x14,0x15,0x33,\r
+0x7D,0xCF,0xAD,0xA1,0xC4,0x69,0x44,0x49,0xCB,0x42,0x93,0x86,0xD2,0x62,0x72,0x2B,\r
+0x47,0x46,0xB2,0x18,0x91,0xED,0x4F,0x08,0x0A,0x02,0xB3,0xD2,0xFE,0x95,0x03,0xBF,\r
+0x01,0x96,0x6B,0xF0,0x73,0xCC,0xA2,0x32,0xF0,0x93,0x71,0xC0,0x94,0x84,0x81,0xF4,\r
+0xAC,0x5C,0x05,0xA5,0x24,0x90,0x4F,0xD6,0x05,0xFA,0x6B,0xDA,0x1B,0x97,0xEF,0x84,\r
+0x05,0x7D,0x7F,0x69,0x72,0xA0,0xA4,0xB8,0xD8,0x43,0x78,0xB7,0xE1,0xF5,0xD4,0x70,\r
+0xD9,0xDC,0x9B,0x44,0xF9,0xB5,0x2A,0xF8,0xAF,0xB9,0x2E,0x81,0xE3,0xB0,0xB6,0xBC,\r
+0x22,0x90,0x0B,0x26,0x12,0xDA,0xA8,0x48,0x40,0x56,0xFE,0x43,0x0E,0xBD,0x78,0xF3,\r
+0x00,0x75,0x80,0x29,0x58,0x87,0x8E,0x58,0x96,0x69,0xE3,0x5E,0xE8,0xBE,0xD3,0xE6,\r
+0x7E,0x1F,0x17,0xC7,0xD1,0x32,0x56,0x4D,0x57,0x89,0x98,0x2E,0x27,0x86,0x8A,0x3E,\r
+0xA1,0x4F,0x93,0x4B,0x0E,0xCA,0x3F,0xEA,0x91,0x62,0x2F,0x27,0x0B,0x89,0x6A,0x12,\r
+0x4E,0xD8,0x76,0xC8,0x20,0x0B,0xC9,0xED,0x33,0xF0,0x68,0xFD,0x32,0xB1,0xCE,0x01,\r
+0x80,0x17,0x73,0x12,0x81,0xF6,0x91,0x2F,0x8A,0xF1,0x10,0x6F,0x6E,0xBB,0x8A,0x53,\r
+0x11,0x78,0xCB,0x17,0x45,0xA3,0xEB,0xD6,0x2E,0xC7,0xF9,0x1B,0xFC,0x41,0x9E,0xF7,\r
+0xD4,0xCE,0xA6,0x74,0x4E,0x0C,0x62,0x54,0x37,0x61,0x55,0x94,0x1D,0xF7,0x7A,0x1D,\r
+0x38,0x60,0x88,0xF1,0x2D,0xE8,0x8E,0x33,0x8F,0x6A,0x03,0x44,0xF4,0x08,0x57,0xE3,\r
+0x73,0xC3,0x64,0xBE,0xE2,0x50,0xAC,0x3F,0x9F,0x69,0x4C,0xF7,0x73,0x5F,0xD7,0xAF,\r
+0xA6,0x16,0x78,0x2E,0xF8,0x92,0xBD,0x90,0xC9,0x87,0x1D,0x7D,0xEF,0x79,0x2B,0x67,\r
+0xFC,0x69,0x60,0xF5,0xA7,0x4A,0xDB,0x4F,0xBF,0xB9,0xEF,0x79,0x5E,0xC0,0xDB,0x40,\r
+0x15,0xC4,0x53,0xDE,0x31,0x91,0x75,0x1C,0xB0,0x20,0x37,0xB4,0xEC,0x07,0xA4,0x31,\r
+0x1B,0xB0,0xB7,0x97,0xE3,0x5B,0x4D,0x62,0x2E,0x43,0x2B,0x66,0xCC,0x63,0x50,0xAA,\r
+0x64,0x71,0x60,0x9C,0xD3,0xD5,0x79,0xD8,0x12,0x74,0x52,0x03,0xEC,0x70,0x02,0xA9,\r
+0x8C,0xD1,0xB2,0xE1,0x6D,0x53,0x15,0xA2,0x68,0xB0,0xF8,0xC2,0x22,0xFF,0xA6,0x75,\r
+0x27,0x4B,0x69,0x44,0x62,0x54,0x60,0xDC,0xC5,0xAC,0x26,0xEE,0xDB,0x3F,0x75,0xFF,\r
+0xC1,0x93,0xF4,0xBC,0x93,0x24,0xEB,0xF1,0xA6,0xE8,0xFD,0xDC,0x79,0xEC,0x68,0xEE,\r
+0x8E,0x8D,0x27,0xCD,0xAE,0x3E,0xDD,0x3F,0x2F,0x5E,0x44,0x46,0x40,0x3C,0xB1,0xD5,\r
+0xCF,0x63,0x78,0x06,0x8C,0x99,0xD0,0x3F,0x75,0xE4,0x82,0x12,0x8D,0x39,0x20,0x42,\r
+0xF1,0xA2,0xD2,0x1F,0x2B,0xB6,0x61,0x99,0xBC,0x81,0x02,0x42,0x3C,0x61,0x02,0xB2,\r
+0xC4,0x8A,0xA3,0xC9,0x23,0x12,0xE2,0x5A,0xCA,0x32,0xF3,0x85,0x8F,0xEB,0x43,0xB8,\r
+0xA7,0x59,0xFB,0xFA,0x53,0xCE,0xD5,0x9A,0xF0,0x72,0x7F,0x32,0x07,0x65,0xCC,0xDB,\r
+0x59,0x5E,0x47,0xF9,0x43,0x42,0x96,0x86,0x3F,0x92,0x8F,0x2A,0xDF,0x35,0x0E,0xF5,\r
+0x28,0x0F,0x33,0x6B,0x13,0x72,0x91,0xAF,0x47,0x43,0x1C,0xB6,0xF8,0x36,0x3D,0xDE,\r
+0x96,0x0B,0x88,0x2C,0xEE,0x5E,0x2F,0x6C,0xF1,0xB2,0xE5,0xF0,0x65,0xAE,0x61,0xE1,\r
+0x5C,0x82,0xBC,0x83,0x0D,0x16,0xB5,0x48,0xE8,0x0A,0x20,0xE4,0x05,0x94,0x7C,0xEA,\r
+0x2D,0x4B,0xA8,0x90,0xCD,0x17,0x95,0x78,0x09,0xC8,0xC7,0x33,0xE3,0x58,0xFB,0xFA,\r
+0xA2,0x23,0xB1,0x40,0xAC,0x0E,0x84,0xE1,0x3B,0xF6,0x46,0x15,0xF8,0x56,0x3B,0x22,\r
+0xDB,0x11,0x40,0x30,0xCE,0xEA,0x75,0x7B,0xD8,0x31,0xD7,0x40,0x9F,0xCB,0x15,0xB5,\r
+0x5D,0xBF,0x7D,0xD5,0xFA,0xC8,0xDC,0x39,0x69,0xD5,0x6C,0x45,0xBD,0x40,0x6E,0xBA,\r
+0x74,0xFF,0x66,0x0F,0x05,0x75,0xDA,0x73,0x4B,0x38,0x18,0xD8,0xF3,0x25,0xB1,0x6D,\r
+0x57,0xCA,0xE1,0x74,0x33,0xE4,0x42,0x7D,0x74,0x9F,0x0D,0x69,0x0C,0x29,0x6B,0xB1,\r
+0xAB,0x96,0x21,0x2C,0xEC,0xE2,0xFF,0xBD,0x2B,0xA5,0xE7,0x4B,0x78,0x77,0x14,0x41,\r
+0x67,0x09,0x37,0x42,0x31,0x51,0xCE,0xD3,0x8F,0x19,0x1E,0x16,0xFB,0x83,0xF5,0xA6,\r
+0xAA,0x0F,0x85,0x23,0x15,0xFA,0x5F,0x05,0x53,0x55,0xD1,0x5C,0xC3,0x6E,0xD7,0xFB,\r
+0x7C,0x65,0x8B,0x72,0x16,0x8A,0x7F,0x34,0x59,0xE5,0x23,0x9A,0x04,0xAD,0x8E,0xE9,\r
+0x13,0xC0,0x96,0xAE,0x4B,0x88,0x8D,0x81,0xD0,0x8D,0x4D,0x97,0xC2,0xDF,0x7A,0x32,\r
+0x4B,0xE8,0xCB,0x43,0xA4,0x0F,0xBF,0xA3,0x6E,0xE4,0x3A,0xE1,0x8B,0x48,0xF6,0xDC,\r
+0x2C,0x9F,0x33,0xFF,0x74,0x49,0x7F,0x17,0xA1,0x0C,0x04,0x83,0x4F,0xFB,0x14,0x83,\r
+0x9C,0xF8,0xFB,0x77,0x99,0x3B,0xD0,0x5C,0xE8,0x6E,0xE6,0x3D,0xB0,0xDE,0x7B,0xE3,\r
+0x0A,0xD1,0xB2,0x88,0xD2,0xA9,0xE4,0x23,0x09,0x10,0x6F,0x67,0x81,0x1F,0xFB,0xF7,\r
+0xF4,0x76,0x58,0xAB,0xD9,0xDC,0xBC,0xEA,0x31,0x2D,0x8B,0x9B,0xA1,0x8D,0x3C,0x30,\r
+0x81,0x20,0x7A,0x41,0x6A,0x2A,0x1C,0x4B,0x42,0x62,0xE9,0xEE,0x2D,0xB2,0xCA,0xB8,\r
+0x33,0x17,0x62,0x20,0xBA,0xBC,0x5E,0xFD,0x9D,0x78,0x3D,0xC1,0x47,0xD3,0x1D,0x41,\r
+0xA4,0xB1,0x8F,0xCE,0x4C,0x66,0x66,0xEC,0x5D,0xF5,0xC9,0x58,0x33,0x43,0xA5,0x6F,\r
+0x0A,0x45,0x72,0xCD,0x32,0x12,0x29,0x2D,0x4A,0x84,0x3D,0x02,0x34,0xEB,0xAB,0x20,\r
+0xFB,0x5D,0x45,0x1A,0xFB,0x98,0xA0,0x60,0x3C,0xAD,0x08,0x85,0xC9,0x4F,0xE2,0x2A,\r
+0x7B,0x6D,0xE2,0x29,0x55,0xC0,0x4D,0xF2,0xF0,0x4B,0x36,0x92,0xA0,0x60,0xF2,0x78,\r
+0xBD,0x07,0x0F,0xF3,0xE7,0xC5,0x74,0xDB,0xB7,0x0D,0x77,0x67,0x5E,0xC7,0xAB,0x0F,\r
+0x04,0xD6,0x63,0xD6,0xDE,0x15,0x46,0x91,0x27,0x0C,0x38,0xB5,0x09,0xDD,0xB2,0xB2,\r
+0xDF,0xA4,0x74,0xAC,0x2D,0xC6,0x67,0x34,0x1E,0x3E,0xDE,0x05,0x87,0xAD,0x77,0x16,\r
+0x01,0xCD,0x98,0xCF,0x33,0x06,0x69,0xE1,0x9B,0x51,0x75,0x7B,0xE4,0xAA,0x1C,0xC4,\r
+0xAB,0x07,0x0A,0x20,0x8F,0x89,0x9B,0x6E,0x64,0x07,0x9D,0x24,0xEC,0x2C,0xA5,0xEB,\r
+0x2E,0x7F,0x76,0xDD,0x15,0x32,0x82,0xAE,0x0B,0x97,0x22,0x03,0xD6,0x13,0x93,0xE4,\r
+0xBF,0xE6,0x1F,0x04,0x79,0xAF,0xFB,0x7B,0xF7,0x2D,0x5B,0xFC,0x4A,0xF7,0x0B,0x92,\r
+0x3E,0x65,0xC9,0x1A,0xC8,0xA1,0xBF,0x6D,0x6E,0xD7,0xD4,0xE2,0x88,0xEE,0x36,0xD2,\r
+0xD9,0x4D,0x4D,0xBE,0x77,0x6D,0x87,0xE5,0x70,0x46,0xA5,0xEE,0x03,0xEF,0xF2,0x43,\r
+0x1C,0x98,0x0D,0x2E,0xB2,0x57,0xB8,0xA5,0x74,0x06,0x6F,0x92,0xB2,0xA7,0x6D,0x63,\r
+0xE5,0xE0,0x4C,0x67,0x8D,0xCF,0x3B,0xBC,0xB5,0xD8,0xD1,0x59,0x96,0x8B,0x4B,0x8F,\r
+0x76,0xDC,0xA1,0x8B,0xE7,0xCC,0xCC,0xFC,0xA8,0xD5,0xA0,0xA2,0x2A,0xBB,0x02,0x9A,\r
+0x86,0x93,0x15,0x22,0x46,0x9C,0x92,0x18,0xDF,0x6D,0x5E,0xD6,0x0A,0x37,0x5D,0xE2,\r
+0xB4,0x07,0x5E,0x8C,0x5B,0x26,0x60,0x67,0xF7,0xAA,0xEA,0xA2,0x69,0x71,0x28,0xDB,\r
+0xDA,0xD6,0x80,0x90,0x11,0x54,0x99,0x95,0x37,0xD0,0x85,0xB2,0x5F,0x73,0x7B,0x56,\r
+0x28,0x09,0xF0,0x47,0x30,0x97,0x4B,0x54,0x5D,0xAA,0x53,0x34,0x7C,0x03,0x03,0xBB,\r
+0xE7,0x7D,0x0B,0x93,0x47,0x7A,0x84,0x73,0x3C,0x8D,0x9E,0x35,0xEA,0xA8,0x6E,0xFE,\r
+0x1E,0x0B,0x2B,0x2E,0x94,0x8E,0xC3,0x6B,0x3A,0xD1,0x52,0xCD,0xE0,0x1B,0x39,0x99,\r
+0xF4,0x8F,0x61,0x9F,0x56,0xD0,0x53,0xFB,0xA1,0x3F,0xAE,0xC0,0xAC,0x1D,0xDE,0xA0,\r
+0xE1,0xF2,0xD0,0x6D,0x59,0xDC,0x5C,0xA9,0x53,0x66,0x8D,0xE3,0x11,0x8C,0xF3,0xF9,\r
+0x95,0xA5,0x26,0xC3,0xDF,0xB9,0x6B,0xFF,0xF8,0x1B,0xA4,0xEE,0xD4,0x31,0x14,0x9E,\r
+0x30,0x54,0x7A,0x8A,0xF8,0xBA,0x4A,0xE3,0x3D,0x1F,0x5D,0xF5,0x47,0x9F,0xDE,0x61,\r
+0xC4,0x3F,0xA3,0x4D,0xC3,0x2A,0x8E,0x9D,0xEC,0x8E,0xCA,0xFD,0x74,0x45,0xBB,0x03,\r
+0x10,0xFB,0x4D,0xB2,0xA7,0x4B,0xE3,0xEE,0xEC,0x80,0x78,0x35,0x35,0xD3,0x5D,0xFB,\r
+0x72,0x12,0x17,0x05,0xBD,0x74,0x6D,0x56,0xC2,0x74,0x0D,0x16,0x60,0x25,0x7E,0x62,\r
+0x96,0x4E,0x5E,0x8F,0x98,0xE6,0x6E,0xD8,0x46,0xBB,0xF3,0x0E,0x0D,0x50,0xD7,0x8A,\r
+0x1F,0x79,0x27,0xE0,0x3D,0x27,0x2D,0x37,0x06,0x06,0x65,0x2D,0x5B,0xC2,0xBD,0x44,\r
+0xFD,0xFA,0x8F,0xCD,0xD8,0x02,0x5C,0x51,0xBB,0x52,0xD5,0x9C,0x3F,0xB0,0x57,0x42,\r
+0xC3,0xDF,0x75,0x2F,0x1F,0xB1,0x75,0x58,0x23,0xAE,0xB2,0x0F,0xA0,0xF6,0xD7,0xBB,\r
+0x5C,0x47,0xD0,0x8E,0xD9,0xCD,0x3E,0x2E,0x00,0x26,0x46,0x80,0x7D,0x3C,0x74,0xBB,\r
+0x4D,0x5F,0x10,0x04,0xCC,0x40,0xF6,0x6F,0xC8,0x5A,0x94,0x6C,0x0F,0x64,0xB1,0x3E,\r
+0xE3,0x8F,0x60,0xB4,0x1E,0x24,0x8C,0x10,0x31,0xCC,0x7C,0xF0,0xD3,0x09,0x9D,0xF0,\r
+0x66,0xAE,0x78,0x7D,0x47,0xF0,0xD3,0xBC,0xA3,0x20,0x3B,0xAC,0x6C,0x62,0xC8,0xB5,\r
+0xFF,0xD4,0x1C,0x93,0x5F,0x41,0xA4,0x94,0x71,0x02,0x56,0xC7,0x53,0x21,0x4E,0x67,\r
+0xC8,0x47,0x0F,0xC1,0xE9,0x29,0xA6,0x10,0xEC,0x64,0x4E,0x74,0xEE,0x3F,0xA9,0x8F,\r
+0xE0,0x97,0x8E,0xA3,0xD1,0x0B,0xCD,0x0D,0xBC,0xD3,0x82,0x89,0xF5,0xBC,0x94,0x62,\r
+0x93,0x3C,0x9F,0x62,0x16,0x67,0xFE,0x69,0x1F,0x7F,0x18,0x4E,0x37,0xB6,0x62,0x42,\r
+0x92,0x34,0xFF,0x51,0x08,0x6E,0x42,0xA3,0xE2,0xCA,0x55,0x62,0x60,0x69,0x0D,0x40,\r
+0x88,0xD7,0x42,0x7D,0xA1,0x7D,0xF6,0x13,0x9F,0xC6,0xF8,0x91,0x6C,0x35,0x38,0x1E,\r
+0x4A,0x28,0xCD,0x90,0x0E,0x6C,0x73,0xE6,0x08,0xD8,0xBE,0x7D,0xC6,0x14,0xC4,0x72,\r
+0x6A,0xE2,0xB8,0x9F,0x32,0x9B,0xA6,0x47,0x3F,0x44,0x84,0x8C,0x08,0x90,0x71,0x59,\r
+0x83,0x49,0xC7,0xD7,0xFF,0xED,0x44,0x9B,0x58,0xCD,0xA3,0x9B,0x00,0x2B,0x79,0x19,\r
+0x43,0xF3,0x3D,0x36,0x9C,0x51,0xEC,0xB2,0x0B,0xAC,0x17,0xB4,0xE6,0x63,0x16,0x51,\r
+0x34,0x69,0x92,0xA2,0x24,0x19,0xC9,0xA2,0xBA,0x37,0xD8,0xA2,0xA9,0x99,0xBF,0xBF,\r
+0x2F,0x57,0x4C,0x05,0xC3,0xC9,0x22,0x44,0x08,0xB3,0x3A,0x37,0xF9,0x8F,0x56,0x99,\r
+0xE9,0x00,0x1F,0xB7,0xBD,0x42,0x4B,0x56,0x47,0xF2,0x79,0xF3,0xF8,0x0F,0x9D,0x94,\r
+0x91,0x40,0xDE,0x29,0x49,0x48,0xCD,0x90,0xA1,0x95,0xB7,0x9C,0xF2,0xF2,0xA1,0x85,\r
+0xD6,0xFA,0x89,0x54,0x2C,0x70,0x97,0xF8,0x50,0xAA,0x58,0x1E,0x2D,0x33,0xD1,0xE9,\r
+0x61,0xE5,0x3F,0x65,0x06,0x7F,0x77,0x58,0x9F,0x10,0x87,0xB5,0xFD,0xCB,0xDA,0xD8,\r
+0x1A,0xCC,0xAE,0x88,0x6F,0x47,0x8E,0x80,0x51,0x39,0xF9,0x19,0x07,0x7E,0x1F,0x8F,\r
+0x07,0xB6,0x85,0x66,0x27,0x44,0x96,0xB5,0x51,0x98,0xDB,0x29,0x87,0x23,0x16,0x27,\r
+0xD7,0x57,0x48,0xF6,0xCA,0x49,0x65,0x7F,0x59,0x32,0x20,0xE3,0x36,0x4C,0x2E,0x70,\r
+0x81,0xB6,0x7D,0x4F,0x74,0x0C,0x8A,0xEF,0x2D,0x1F,0xFC,0x49,0x4B,0x59,0xCF,0x1C,\r
+0xD2,0xE4,0xC4,0x9E,0xFA,0x9A,0xD9,0xC8,0x64,0x5C,0xE2,0x06,0x90,0xA2,0xD8,0x5D,\r
+0xCE,0x40,0xCB,0x4F,0x5B,0xFE,0xB5,0x07,0xCD,0x68,0xEC,0x87,0xB1,0x68,0xC8,0x10,\r
+0x16,0xB1,0x0A,0x1F,0xB5,0x39,0xE0,0x2F,0x2C,0xA4,0x05,0x79,0xAB,0xB3,0x23,0x12,\r
+0xE4,0x4F,0x00,0x46,0x1F,0x80,0xB0,0xE2,0xA3,0x4A,0x5F,0x21,0x79,0x6B,0x14,0x51,\r
+0xB5,0xED,0x28,0x13,0xBC,0xA6,0xC9,0x68,0xB5,0xA0,0x8A,0x17,0x1A,0xA9,0x2B,0x8A,\r
+0xFA,0x80,0x7D,0xC3,0x12,0xF1,0x19,0xFA,0x1F,0xFE,0xC1,0xDD,0xD6,0x11,0xBF,0x82,\r
+0xAC,0x8C,0x89,0x16,0xA3,0x0E,0xA0,0x6A,0xAF,0xE9,0x2D,0x94,0xF6,0xF5,0x12,0x8A,\r
+0x00,0x2E,0x88,0xFE,0x9A,0xB8,0x38,0xA8,0xE9,0xAF,0xE8,0x3C,0xB2,0x5A,0x3F,0x47,\r
+0xF7,0xE7,0xE8,0x17,0x3F,0x67,0xCB,0x28,0xBA,0x7C,0x62,0x06,0xC3,0x2B,0xB6,0x22,\r
+0xA9,0xF8,0xA8,0x00,0xDD,0x8D,0x39,0x9F,0xE8,0x3E,0x64,0x96,0x70,0xD7,0xE2,0x0E,\r
+0xA5,0xBA,0x1F,0x86,0x62,0x98,0xE5,0xF1,0x73,0xEE,0xF5,0x5D,0x26,0xF4,0xFD,0x7D,\r
+0xC0,0x9D,0xC9,0xBB,0xD8,0xEC,0x94,0xEC,0x46,0x9A,0x48,0xCF,0x8C,0xDD,0xBA,0xC6,\r
+0x5F,0x17,0x23,0xDC,0x8D,0xCD,0x98,0x27,0x93,0xE3,0x08,0x44,0x89,0x93,0xA0,0x8E,\r
+0x2D,0x69,0xF4,0x08,0x13,0xA3,0x23,0xE7,0x80,0x38,0x0A,0x73,0x91,0xFC,0xBA,0xAF,\r
+0xEE,0x5A,0x40,0x89,0x01,0x51,0xD2,0x1A,0xBA,0x74,0x7A,0xF1,0x7C,0x2A,0x28,0x43,\r
+0x03,0x67,0x01,0xFF,0xA4,0x9E,0xFE,0x94,0x49,0x9D,0xD1,0x09,0x9D,0xE7,0x17,0xF7,\r
+0x9F,0xA9,0x89,0x3D,0x6B,0xEF,0x6C,0x31,0xA1,0xA8,0x29,0x74,0x7E,0x8A,0x36,0x7D,\r
+0x5E,0x2A,0x6A,0x3D,0x41,0x66,0x70,0x65,0x06,0xF7,0xBB,0xC5,0x9D,0x1C,0x41,0x33,\r
+0x7B,0x82,0x8C,0x95,0x44,0x84,0x08,0x7C,0x20,0xDB,0xC9,0x03,0x8F,0xAC,0x00,0xF6,\r
+0xC8,0x54,0x56,0x61,0xF7,0xBA,0x6B,0xAA,0xE9,0xD3,0x8F,0x76,0xC4,0xCB,0xE0,0xBE,\r
+0xC3,0x9A,0x58,0xFC,0xFF,0x49,0x50,0xC3,0xB7,0x2F,0xE6,0x7B,0x48,0x24,0x47,0xD8,\r
+0x53,0xF6,0xD1,0xB7,0x5E,0xBD,0xFF,0x0C,0x1B,0xB4,0x3C,0x9B,0x79,0xB3,0xCB,0xD5,\r
+0x32,0x72,0xBB,0x14,0x7B,0x69,0xE3,0x46,0xA6,0x91,0xAA,0x5A,0x3F,0x01,0x24,0x39,\r
+0x0D,0x0C,0x79,0x7D,0xEE,0x0B,0xE5,0xE3,0x4F,0xAD,0x5C,0xF8,0x7B,0x74,0xB3,0xA3,\r
+0x6C,0x5C,0xEE,0x23,0x50,0x7D,0x27,0xAB,0x34,0xD5,0xA4,0x40,0x9E,0x41,0x9C,0xA5,\r
+0xBF,0xF8,0x61,0xF7,0x5F,0xA6,0xFC,0x91,0xE3,0x68,0xD4,0xC0,0x50,0xA7,0x67,0x77,\r
+0x7F,0x49,0x87,0x31,0x65,0x78,0x49,0xDC,0xED,0xC0,0xD3,0xD9,0xE8,0x0C,0xB5,0xC8,\r
+0xF0,0xDB,0x82,0x1C,0xE4,0xD2,0xAE,0x81,0x0C,0x60,0x55,0xDA,0xA1,0xE4,0xA8,0x32,\r
+0x6B,0x68,0x8D,0xA9,0xF3,0x73,0x43,0xF2,0x9B,0x43,0x92,0x7E,0x0E,0x44,0x56,0xE5,\r
+0xE1,0xC3,0x66,0x24,0xEF,0x82,0x61,0x92,0xAC,0x28,0x36,0x34,0x87,0x71,0x56,0x9D,\r
+0xB9,0xDA,0x59,0xDB,0x17,0x02,0x33,0x13,0xA7,0x64,0x19,0xBB,0x96,0x4F,0x6F,0x29,\r
+0xBC,0xB4,0xE3,0x0B,0xE7,0xC4,0x60,0x49,0xC6,0xE0,0xBE,0x19,0x97,0x0E,0xFA,0x4E,\r
+0x2E,0x83,0xE1,0x79,0x40,0x65,0xB3,0x91,0xE2,0xB4,0xDE,0x3B,0xEF,0x16,0xF3,0xA5,\r
+0xB6,0x3C,0x05,0x28,0x61,0x9C,0x86,0x07,0x1D,0x91,0xF2,0x5E,0xCA,0xA8,0x47,0xA2,\r
+0xB5,0x5D,0xA3,0xFC,0x55,0x0F,0xEC,0x68,0xEC,0x48,0xC2,0x69,0x7B,0xD9,0xD9,0x0A,\r
+0xE5,0x12,0x78,0x8B,0x52,0xFF,0x15,0xDB,0x9E,0x7A,0x4E,0x75,0x65,0x27,0x01,0x1C,\r
+0x4B,0x7D,0x45,0xD3,0x5F,0x57,0x4E,0x89,0x81,0x90,0x6A,0x13,0x6A,0x5B,0xAB,0x11,\r
+0xD6,0xF0,0x8C,0x3B,0xEC,0xC6,0xBD,0xED,0xF6,0xC3,0x8E,0xD0,0x8A,0x22,0x9A,0x70,\r
+0xD8,0xFC,0x85,0x0C,0x25,0x47,0xFB,0x6E,0xF0,0xFA,0x97,0xAF,0x5C,0xAD,0xB2,0x35,\r
+0x14,0xF9,0xF8,0xD5,0xE5,0xA0,0xD4,0xC9,0x5F,0x0E,0x96,0xD1,0x9D,0xDC,0xCC,0xA3,\r
+0x3E,0x1F,0x8A,0xC2,0x46,0x63,0x3B,0x0B,0x5A,0x53,0x07,0xC8,0x68,0x80,0xDF,0x9E,\r
+0x3D,0xD7,0x7F,0x3B,0x15,0x7E,0x33,0x77,0xC5,0xC8,0x5A,0x89,0x5A,0xA2,0x18,0xEC,\r
+0x30,0x91,0x61,0x7B,0x0A,0xAE,0x00,0x70,0x1D,0x24,0x35,0x7F,0x35,0x59,0x87,0x56,\r
+0x75,0xA2,0xBE,0x18,0x1F,0xF8,0x16,0x16,0x03,0x0A,0x20,0xA0,0xBE,0x85,0xBF,0xB6,\r
+0x3B,0x1B,0x30,0xD3,0xFE,0x90,0x62,0x5C,0x17,0xDF,0x76,0xA9,0x3F,0x00,0x2B,0x74,\r
+0x31,0xB9,0xAA,0xBF,0xC7,0xE8,0x16,0xDC,0xEF,0x0C,0x8B,0xFE,0xAC,0xCE,0xE4,0x41,\r
+0x09,0xA9,0x09,0x16,0x0F,0xAF,0x22,0xF7,0x95,0x7B,0x4A,0xD2,0x78,0x21,0x10,0x92,\r
+0x06,0xC9,0x32,0x62,0xA2,0x18,0x95,0x28,0x26,0x42,0xB2,0xCE,0x1C,0xFE,0x4C,0xE7,\r
+0xDF,0xB8,0x4A,0x9F,0x51,0xCC,0xBB,0x4C,0x66,0x33,0xD0,0x0A,0x97,0xF3,0xA4,0xFF,\r
+0x88,0xDC,0x4C,0xCB,0x25,0x83,0x02,0xCB,0xC3,0x52,0x68,0x19,0x56,0xB8,0x2A,0x8C,\r
+0x77,0x1F,0x47,0x79,0xFE,0xD5,0xCC,0x9A,0x26,0xB5,0x8C,0x54,0xDD,0x54,0x02,0x3B,\r
+0xC1,0x2A,0x01,0xD8,0xED,0x79,0xA1,0x5A,0x4E,0x13,0x23,0x53,0xE1,0x91,0x9A,0x22,\r
+0xE3,0xF5,0xDA,0x63,0x4F,0xAB,0xFB,0xAF,0x59,0x9F,0xDB,0x4B,0xB5,0x9B,0x57,0x83,\r
+0x87,0x1B,0x11,0x6B,0x39,0xB7,0xD8,0xA0,0x56,0x9A,0x11,0x46,0xF0,0x95,0x61,0x35,\r
+0x40,0x28,0xF3,0x68,0x3B,0x6F,0x7F,0x61,0xF6,0x1C,0xCA,0xA1,0x5D,0x7C,0x64,0xD4,\r
+0xF9,0x62,0x7F,0xC5,0xB7,0x9D,0x1D,0x2D,0xDE,0x84,0x12,0x28,0x11,0x26,0xF8,0x78,\r
+0x38,0x2B,0x12,0xD7,0x32,0x86,0x8D,0x1C,0x0E,0xF3,0x58,0xF4,0xA8,0x2F,0x90,0xE0,\r
+0x50,0xE0,0xEA,0x81,0x1E,0xB1,0xF3,0xF4,0x3F,0xAB,0x46,0xD6,0xA6,0x37,0x14,0x10,\r
+0x72,0x8F,0x03,0x48,0x60,0x99,0x91,0x81,0xE9,0x15,0xC5,0xA6,0x94,0xFB,0x82,0xF7,\r
+0x1E,0x40,0x62,0x60,0xAA,0xEA,0xE5,0x4F,0xE0,0xE1,0xCF,0x06,0xF9,0x61,0x1C,0xF5,\r
+0xB4,0xCE,0x84,0xDC,0xDE,0x25,0x9A,0xD8,0x8B,0x51,0x45,0x3D,0xC1,0x3F,0x4C,0xAD,\r
+0x39,0x37,0xC6,0x2C,0xD8,0x34,0x78,0x06,0x9D,0xCF,0x1D,0xD8,0x36,0xED,0xA5,0xDE,\r
+0x5D,0x64,0xC5,0xBD,0x18,0x9A,0x47,0x3A,0x07,0x55,0x70,0xAE,0xC7,0x05,0x3A,0xF1,\r
+0x89,0x92,0xF5,0x58,0x14,0x1F,0xD3,0x73,0xBC,0xB1,0x1B,0x2F,0x62,0x42,0x4D,0x06,\r
+0x94,0x0C,0x83,0x1A,0x55,0xFA,0xF2,0x3C,0x97,0xEA,0x52,0xA3,0xE8,0xDA,0x01,0x66,\r
+0x28,0x9E,0x0C,0xE0,0xD5,0x3A,0x65,0xDE,0xB4,0xCC,0x1A,0xC7,0xBF,0x6E,0x30,0x1D,\r
+0x60,0x8C,0x38,0x77,0xF7,0x4D,0x18,0xED,0x3A,0xE5,0xE0,0x84,0x22,0xA1,0x33,0x67,\r
+0xB0,0x30,0xC1,0x02,0x10,0x56,0x8F,0x54,0xB4,0x31,0xF6,0xE0,0xB5,0x43,0xF3,0xF9,\r
+0x17,0x66,0xF7,0xB4,0xA6,0xEB,0xE8,0xAF,0x4D,0xBE,0x10,0x03,0xB7,0x2C,0x22,0xA7,\r
+0x04,0xA9,0x51,0xA3,0xAD,0xF1,0xF1,0xEE,0x96,0x6C,0x4C,0xEF,0x4C,0x81,0x87,0xEC,\r
+0x15,0x58,0xE6,0x33,0x94,0x33,0xFE,0x9C,0xC2,0x5A,0x6D,0x0F,0xD2,0xC7,0x11,0x92,\r
+0xE2,0x7A,0xFB,0xA9,0xCC,0x13,0x5F,0xD7,0x2A,0x40,0xE9,0xED,0x76,0xFD,0x9F,0xEC,\r
+0xB0,0x4C,0xEA,0x99,0xDA,0xD3,0x4E,0xFF,0x98,0x1D,0x43,0xF3,0xF3,0x04,0x9D,0x15,\r
+0x41,0xEF,0x4E,0x76,0x40,0x59,0xBF,0x9F,0xFA,0xB1,0x76,0x67,0xE2,0xA0,0xD0,0x6B,\r
+0xF6,0xBD,0x96,0x36,0x23,0x8E,0xBE,0x55,0x7F,0x2C,0x3C,0xC0,0xAB,0x8C,0x0A,0xFE,\r
+0x30,0x53,0x84,0x7F,0x01,0x8B,0x10,0x9B,0xA6,0xCB,0x7D,0xB6,0xF4,0x2B,0x6E,0xD1,\r
+0x94,0xF3,0xA7,0x88,0xC1,0x8D,0x7A,0x33,0x1B,0x7B,0x95,0x34,0x97,0xE6,0x9F,0x36,\r
+0x4F,0x5C,0xF0,0x0C,0x82,0x5E,0x1C,0xC1,0xA0,0x27,0x73,0x1B,0xF6,0x96,0x36,0x65,\r
+0xE0,0x14,0x7A,0xA3,0x9B,0xC2,0x4A,0xF4,0xB0,0xEA,0xD6,0x97,0x20,0x67,0x8E,0xBA,\r
+0x4A,0x58,0x54,0x91,0x19,0x4D,0x2D,0x5D,0xF7,0x8A,0x3E,0x08,0x37,0xE1,0x99,0x9B,\r
+0xF4,0x47,0xB8,0x9B,0x1A,0xE4,0x28,0x8B,0xFB,0x21,0x10,0xAE,0x06,0xBC,0x52,0x93,\r
+0x65,0x08,0xAD,0x13,0xB1,0x79,0xEE,0xFE,0x18,0xF0,0x69,0x55,0x27,0x58,0x5D,0xC7,\r
+0x92,0x0D,0xC0,0xF1,0x2A,0x26,0xAA,0x33,0x78,0x42,0xEE,0x43,0xFC,0xA4,0x52,0x6A,\r
+0x75,0x3F,0x40,0x56,0x3D,0xEA,0x70,0xC1,0x1A,0xDA,0x9F,0xAB,0xD5,0xA5,0xD1,0xD1,\r
+0xAE,0x3A,0xDB,0x3E,0xA9,0x84,0xDC,0x2D,0x75,0x2A,0x9A,0x8A,0x20,0xC0,0xDD,0x7D,\r
+0x57,0xB9,0x1D,0x35,0x1D,0x1C,0x43,0xB8,0x55,0x13,0x24,0xB4,0x48,0xEC,0xB5,0xFD,\r
+0xCD,0x3F,0x84,0x94,0x9B,0xD7,0x95,0x4D,0xA2,0xBA,0x15,0xAF,0x3D,0x7C,0x30,0x7D,\r
+0x3D,0x1D,0xAB,0x5A,0xC3,0x87,0xEE,0x4D,0xE8,0x5A,0xEB,0xF6,0x10,0xF0,0xB4,0x89,\r
+0x91,0x78,0x5D,0x80,0xC4,0x1F,0x50,0xF5,0xEE,0x2D,0xCE,0x9B,0x73,0x38,0x5C,0x0C,\r
+0xFF,0x2F,0x9C,0x90,0x03,0x6D,0xD0,0xCD,0x19,0x1B,0xA1,0x27,0x0F,0x3A,0x97,0x0F,\r
+0xAC,0x83,0xEC,0x3C,0x7F,0x31,0x47,0x34,0x54,0x36,0xD5,0x2A,0x93,0xE3,0x1C,0x3D,\r
+0x63,0x4F,0x53,0x84,0xCE,0xDC,0xF7,0xEB,0x0F,0x51,0x18,0xD7,0xD7,0x48,0x1E,0xF8,\r
+0xBF,0x8B,0x4F,0x40,0x50,0x9B,0x9B,0x82,0x0E,0x23,0xE5,0xAB,0x92,0x56,0x80,0x12,\r
+0x55,0x85,0xC8,0x5B,0xF0,0xC5,0x77,0xB8,0xFF,0xE7,0x19,0x42,0x09,0x50,0x62,0x9F,\r
+0xDE,0x5B,0x51,0x61,0x5B,0xF2,0xA0,0xF1,0x09,0xA1,0xEF,0x1E,0x30,0x7A,0x7F,0xA3,\r
+0xAA,0xF4,0x1B,0x50,0x6E,0x97,0x2C,0xDD,0x27,0x1C,0xC6,0xFD,0xCF,0xC7,0x8D,0xBE,\r
+0x8F,0xAC,0xE0,0xE6,0x4D,0x61,0xB8,0xD2,0x4C,0xB9,0x81,0x46,0xBF,0x0E,0x6C,0xA2,\r
+0x7B,0xED,0x02,0x17,0x56,0xF1,0xB6,0x0F,0x47,0x5E,0x16,0xA7,0x06,0xD4,0xE9,0xA6,\r
+0x39,0xF4,0x28,0xE7,0x18,0x3F,0x57,0x87,0xD3,0xBB,0x46,0xFA,0xB2,0x6E,0x08,0xE5,\r
+0x5B,0x51,0x9B,0x17,0x9D,0x00,0x4B,0xE1,0x66,0xD4,0x33,0xE4,0xA8,0x98,0xF8,0x1E,\r
+0x54,0xB8,0xE9,0xB5,0x36,0x6C,0x73,0x6A,0xDE,0x27,0x2E,0x43,0xDC,0x89,0x6F,0x2E,\r
+0xDD,0x97,0xE2,0x61,0x00,0xAD,0x02,0x99,0xD8,0x06,0xB8,0xF1,0x5A,0x1B,0xDA,0x98,\r
+0x88,0xE5,0xEF,0xAC,0xF2,0xFA,0xC6,0x6C,0x0B,0x3F,0xF9,0xA6,0x74,0xBD,0x6B,0x6F,\r
+0xB6,0x6E,0xB4,0xD9,0x8F,0x49,0x5F,0xB3,0x1F,0x1F,0x9E,0x59,0xB4,0xFB,0xA2,0x09,\r
+0x06,0x12,0x06,0x1B,0x34,0x0B,0xAA,0xE9,0x0F,0x83,0xDF,0x30,0x83,0x2F,0x19,0x98,\r
+0x17,0x6E,0xEF,0x19,0x9A,0x86,0xF3,0x0E,0x3E,0xDB,0x0D,0x25,0x07,0x77,0x29,0xDF,\r
+0x2D,0x23,0x53,0x02,0x1E,0xBB,0xC4,0xDC,0x01,0xF2,0x70,0x5D,0xA5,0x29,0xE7,0xDE,\r
+0xA8,0xF6,0x44,0x43,0x6B,0x6F,0xCD,0x5C,0xCB,0xDA,0x37,0x52,0x61,0x42,0x96,0x58,\r
+0x83,0xA7,0xCF,0x76,0x25,0x62,0xCF,0x90,0x96,0x26,0x05,0xB4,0xD8,0x74,0x1D,0x44,\r
+0xB4,0x6B,0x11,0x49,0xF9,0x0A,0xE9,0x6D,0x96,0xBA,0x1D,0x11,0xEC,0x6A,0x22,0xAF,\r
+0xD8,0x12,0x5E,0x27,0x9C,0x2C,0x25,0xF9,0x82,0xA0,0x53,0x93,0xA7,0xFD,0x69,0x30,\r
+0xAB,0x79,0xEF,0x7B,0xDA,0x40,0x9E,0xA7,0x5A,0xEE,0xC9,0x37,0x91,0xF7,0x90,0x43,\r
+0xC3,0x8C,0xBB,0x3C,0x5B,0x36,0xA9,0x94,0xFF,0xE4,0xB3,0x88,0x52,0x7E,0x1B,0x04,\r
+0xD9,0x80,0xA2,0xF1,0x40,0x25,0x84,0x63,0x25,0x12,0x1E,0xBC,0xE3,0x22,0xF1,0x20,\r
+0x21,0xE2,0xBE,0x14,0x3F,0xD0,0xA0,0x40,0xBD,0x54,0xCF,0xD7,0x7D,0xDB,0xAF,0x9E,\r
+0x01,0xDD,0xFE,0x1B,0xDE,0x27,0xA9,0x70,0xCE,0xE1,0xF5,0x9C,0xF4,0x5F,0x37,0x33,\r
+0x08,0xEC,0x40,0x03,0xF4,0x1A,0x5A,0x27,0x76,0xF1,0x5C,0x3D,0x60,0x28,0xE8,0x37,\r
+0xC8,0xC5,0x11,0x59,0x43,0xA6,0xBF,0x6B,0x00,0xE0,0xE8,0x12,0x63,0x60,0x97,0x7C,\r
+0x64,0x4C,0x9F,0x47,0x56,0x82,0x04,0x77,0x50,0x9C,0x71,0xD9,0x2E,0xC4,0x6B,0x26,\r
+0x7F,0x5A,0x64,0x11,0xD7,0x52,0xCA,0xB6,0xE6,0x18,0x93,0xDA,0x4A,0xD2,0x44,0x7D,\r
+0xDA,0x15,0x3C,0x4C,0x39,0x03,0xE1,0xAD,0xDE,0x19,0xFC,0x0A,0xA8,0xB9,0xE4,0x8D,\r
+0xA2,0xF6,0x30,0xC2,0x25,0x09,0x41,0x07,0x1C,0x3C,0x32,0x48,0xE1,0x44,0xA7,0x7F,\r
+0x2A,0x98,0x23,0x6A,0x0D,0x34,0xBB,0x21,0x68,0x5A,0xCC,0xB2,0x6A,0x80,0x7C,0xB3,\r
+0x9D,0x93,0x3E,0x6E,0xF7,0x3B,0xA9,0x91,0x8B,0xB1,0x13,0x0E,0xA9,0x78,0xF5,0x93,\r
+0x4C,0xE0,0xA1,0xAB,0x6E,0x0F,0xBC,0xCF,0x36,0x1F,0x90,0xC6,0x0F,0x68,0xA8,0x40,\r
+0x51,0xF8,0xD3,0x2A,0xDC,0x0C,0xA9,0x23,0xB8,0x8D,0xB2,0x91,0xD3,0x35,0xB5,0xD7,\r
+0xCA,0xD4,0x17,0x7A,0x8E,0x47,0x80,0x7F,0x9F,0x81,0xB7,0x6D,0x2B,0x12,0x7C,0xD3,\r
+0x9C,0xD1,0xD8,0x65,0x9D,0x02,0xBA,0xFE,0xE4,0xEC,0x6B,0xBE,0xB5,0x07,0xE2,0x6D,\r
+0x85,0xAC,0x06,0x06,0xFD,0xB5,0x6A,0xAC,0x7F,0x66,0xA7,0x32,0x2B,0x23,0x15,0x92,\r
+0x99,0x56,0x5D,0x5D,0xB5,0xD1,0xD8,0x25,0x6D,0xA0,0xA9,0x63,0x3E,0xE9,0xBC,0x60,\r
+0xAF,0x9A,0x40,0xE1,0x55,0xCB,0xF6,0x3B,0xA0,0xCF,0x14,0x99,0xCC,0x20,0xFD,0x71,\r
+0x5D,0x76,0x37,0x1D,0x47,0x72,0x08,0x99,0x0C,0x93,0x4E,0xA2,0x3B,0xF8,0xD6,0x3A,\r
+0xB1,0x38,0xBE,0x35,0xB8,0xBA,0x21,0xDF,0x49,0xEC,0x8A,0x57,0x3B,0x5A,0x21,0x13,\r
+0xFE,0x76,0x9A,0x78,0x4C,0xED,0x19,0xF9,0x27,0xD6,0xC1,0x04,0x00,0xE2,0x52,0x73,\r
+0x4B,0xD7,0x73,0x71,0x9D,0xF3,0xDD,0xE9,0x7C,0x36,0xA3,0x28,0xFC,0x11,0x06,0x1C,\r
+0xE7,0x15,0xAA,0x5C,0x01,0x45,0xCD,0x20,0x99,0x78,0x66,0x68,0x70,0xBE,0x00,0xB1,\r
+0xD2,0xF4,0xF0,0x10,0xAD,0xC8,0x0C,0x24,0x89,0x0F,0x0A,0x8C,0xE3,0x63,0x92,0xD4,\r
+0x22,0x34,0xE0,0x7E,0x7F,0x98,0xCE,0xBE,0xDD,0x9F,0xF4,0x6C,0x03,0xEF,0x11,0x84,\r
+0xB1,0x8A,0xE6,0xEA,0x86,0x9B,0x95,0xC7,0xAD,0x44,0x85,0xA2,0xB5,0xDF,0x8F,0x09,\r
+0x48,0x6C,0xD0,0xF5,0xC1,0x03,0xA8,0x37,0xF6,0x8E,0x3B,0x74,0x9E,0xF3,0x30,0x67,\r
+0x8D,0xD6,0xC5,0xCD,0x64,0x39,0x89,0x67,0x9A,0x68,0xF1,0xA4,0x98,0xBB,0x24,0xC5,\r
+0x6A,0xB1,0xA8,0x88,0x0F,0xF5,0xEA,0x76,0xB6,0xE6,0x80,0x05,0x96,0xBA,0x85,0xD4,\r
+0xEB,0x7C,0xC0,0x85,0xAF,0xFB,0x53,0xD5,0xCC,0x5C,0x0F,0x2F,0x1A,0xA3,0x84,0xF5,\r
+0x7A,0xE2,0xA4,0xDA,0x07,0x66,0x64,0xEE,0xDA,0x7E,0x76,0x8A,0x41,0x47,0x49,0xE7,\r
+0xFF,0x4C,0x7F,0xDC,0xF7,0xDD,0x84,0x30,0xA6,0xE0,0xC9,0x38,0xC4,0x78,0x01,0xC2,\r
+0x55,0x40,0xCF,0xA2,0x34,0x52,0xA1,0xF1,0x71,0x43,0x21,0x18,0x1C,0xFE,0x92,0xA4,\r
+0x8B,0x6F,0x68,0xE8,0xF0,0x92,0x36,0x1E,0xD8,0x5E,0x8A,0xAD,0xEB,0xF9,0xEA,0xDE,\r
+0x50,0x05,0x32,0x4A,0x19,0x41,0x43,0xA9,0xD7,0xBA,0x6C,0x40,0xEA,0x89,0x5F,0xA3,\r
+0xE9,0x30,0x7D,0x0C,0x31,0x91,0x3C,0x51,0x6D,0x9B,0x23,0xAE,0xA2,0x93,0xF7,0xEB,\r
+0x2F,0x49,0xF6,0x06,0x19,0x94,0x37,0xC0,0xB0,0x7D,0x62,0xEF,0x3F,0x34,0x23,0xAF,\r
+0xAF,0xF3,0xE6,0x77,0xEC,0xCC,0x06,0x16,0xAF,0xE8,0x5C,0x94,0xD0,0x1B,0x13,0x90,\r
+0x5E,0x9A,0x35,0xF0,0xF8,0x46,0xE4,0xAA,0x08,0xB1,0x69,0xE3,0x08,0xBF,0x5B,0x90,\r
+0x97,0xE2,0xCE,0x7F,0x53,0xE5,0xAD,0xE5,0xE6,0x60,0xE6,0x1D,0x81,0xA2,0x8D,0x16,\r
+0xA9,0x21,0xF5,0xAC,0x3A,0x56,0x99,0x03,0x8F,0x36,0x81,0x72,0x6A,0xE4,0x50,0xBF,\r
+0x4B,0xD1,0x65,0x38,0x5F,0x73,0x7D,0x31,0x4A,0x4F,0x31,0xB6,0x7A,0x96,0x9D,0x54,\r
+0xC2,0xD6,0x25,0xCD,0x46,0xB2,0x0A,0x5E,0xB2,0x02,0xA7,0x9B,0x7B,0x04,0x19,0xE5,\r
+0x26,0x48,0xCF,0x64,0x67,0x20,0xC1,0x59,0xEC,0x69,0x59,0xFD,0x29,0x71,0xF8,0xC3,\r
+0x44,0x20,0xBE,0xC2,0xAD,0x1F,0xF8,0xDC,0x80,0x6B,0x2C,0xE9,0xDC,0x87,0x62,0xFD,\r
+0x90,0x5D,0xBA,0xE2,0xA3,0x7E,0x7F,0x36,0x44,0x2D,0x9E,0x59,0x80,0x11,0x28,0xC2,\r
+0x64,0x84,0x6A,0x45,0x4C,0xEE,0xD6,0x9E,0x35,0x95,0x09,0xFE,0xCB,0xCB,0xAD,0xB9,\r
+0xC1,0x00,0x38,0x4D,0x3C,0xED,0xB8,0x41,0x9C,0x47,0xF0,0xE0,0xA1,0x65,0xAD,0x1B,\r
+0xB5,0x80,0xB0,0x76,0xC8,0x88,0xC9,0x37,0xF1,0x8C,0xD9,0x76,0xDB,0xD8,0x8C,0x38,\r
+0xA0,0x65,0x21,0xC3,0xB0,0x84,0x48,0xFA,0x99,0x66,0xFA,0x35,0x85,0x49,0xF2,0x62,\r
+0x4A,0x31,0xDA,0x9C,0x28,0xDA,0x3F,0xBE,0x35,0x4F,0x06,0x45,0x5D,0x4F,0xB4,0x66,\r
+0xB3,0x56,0x53,0x40,0xC9,0x2E,0x30,0x6F,0x13,0xBF,0xCA,0xAF,0x3A,0xFC,0x13,0xFE,\r
+0x7C,0x5A,0xFF,0x1B,0x62,0xC3,0x8F,0x6E,0x9C,0x23,0x07,0xF1,0x69,0x57,0x2F,0x97,\r
+0x8E,0x00,0xDA,0x0C,0x0E,0x00,0x54,0xD7,0x16,0x53,0xD1,0x93,0xA3,0x27,0x99,0xA4,\r
+0xE0,0xDE,0x43,0x18,0xEA,0x72,0xAD,0x9D,0x68,0xE9,0xBE,0xC9,0x84,0x25,0xEF,0x1D,\r
+0x7B,0x6D,0xD1,0x50,0xEF,0x9D,0x94,0x54,0xBF,0x28,0x6E,0x8D,0x9F,0xDB,0xF6,0x9D,\r
+0x60,0x3C,0xFF,0xF8,0x3A,0x4D,0x67,0x0C,0xF7,0x53,0x8C,0xA6,0x8C,0xCD,0xCB,0xD7,\r
+0x17,0x23,0xE7,0xF5,0xEA,0x05,0x48,0x14,0x6D,0x3C,0x43,0x83,0x5B,0x37,0xD5,0xB0,\r
+0xD7,0x1A,0x8C,0x0F,0x0B,0xB9,0x4A,0x57,0x71,0xA8,0xF7,0x0C,0xEF,0x7F,0x39,0x4C,\r
+0x3E,0x6C,0xA2,0x29,0x20,0xCF,0xFA,0xBA,0x83,0xF5,0xD0,0xD9,0xF6,0xC4,0xFA,0xC9,\r
+0x1E,0x7B,0x35,0x4C,0x56,0x38,0x0C,0xB0,0x33,0x34,0xEA,0x67,0xE0,0x40,0x42,0xAC,\r
+0xDC,0xDD,0xD9,0xF8,0x88,0x29,0xCA,0x51,0x8C,0x75,0xAC,0x60,0x3D,0x61,0x37,0xE2,\r
+0xC6,0x3E,0x2C,0xCB,0x19,0x3A,0xAA,0x47,0x44,0x1D,0x01,0xA6,0x6F,0x3D,0x91,0x9D,\r
+0xC7,0xE0,0x13,0xF8,0x4D,0x33,0xBE,0xFC,0x25,0xF1,0x4C,0xA2,0xC8,0xE2,0xDE,0xF5,\r
+0xB4,0x1F,0x4C,0x52,0x90,0x5F,0x67,0xF0,0x50,0xCB,0xD6,0x07,0x08,0xE8,0xF2,0x97,\r
+0x9C,0x12,0x77,0x05,0x99,0x7D,0x66,0x6D,0x18,0x3E,0x1A,0x53,0xA4,0x6B,0xDB,0x55,\r
+0xAB,0x88,0xF9,0x61,0x07,0x15,0x2D,0x72,0xDE,0xA7,0x02,0x38,0xBA,0x75,0x12,0x20,\r
+0x32,0xE1,0xE2,0x7C,0x80,0xA4,0xE3,0x3E,0x19,0x61,0x6F,0x61,0x0B,0x36,0x07,0x98,\r
+0xB7,0x6C,0xE3,0x2C,0xFB,0x70,0x54,0x3D,0x5D,0x61,0x28,0x46,0xFA,0x5D,0xC1,0xF8,\r
+0x19,0x7E,0x83,0x55,0x2C,0x14,0x1E,0xB3,0x88,0x48,0xC0,0x3E,0x6A,0x30,0xD3,0xAC,\r
+0x08,0x6D,0x67,0x29,0x48,0x99,0xE0,0x5D,0x88,0x05,0x12,0x3E,0x62,0x68,0x27,0xCE,\r
+0x54,0x92,0x51,0x69,0x91,0xEC,0x4A,0x44,0xF5,0x60,0xBC,0x31,0xC3,0x0E,0xDD,0x3D,\r
+0xF8,0xD2,0xE5,0x14,0x9C,0x5A,0x4F,0x7C,0xC8,0x42,0x79,0xEF,0x81,0xA1,0xA1,0x6E,\r
+0xAE,0x79,0xC1,0x04,0x36,0xA5,0x7D,0x44,0xFB,0x06,0x95,0x62,0xDE,0x45,0x46,0xF0,\r
+0xE1,0x85,0xEC,0x6E,0x2F,0xF2,0x80,0xC2,0xE4,0xCC,0xDE,0xAE,0x12,0xFD,0xB0,0x3E,\r
+0xB0,0xDF,0xB5,0x9D,0xBD,0xD4,0xDE,0xFD,0xE2,0xA8,0x0B,0xAC,0xA3,0x3F,0x59,0x48,\r
+0x42,0xAD,0x15,0x78,0x4A,0x6D,0x5E,0x35,0x20,0x2C,0x51,0x85,0xDA,0xE7,0x65,0x23,\r
+0x9A,0x98,0x95,0x49,0x8E,0xAA,0xDB,0x9A,0x29,0xCF,0xB8,0xBC,0xF8,0x3C,0xDE,0xC8,\r
+0x86,0xFB,0xF3,0xBF,0xAC,0xCE,0x18,0x2E,0x59,0x00,0xB6,0x8B,0x65,0xF6,0x33,0xD6,\r
+0xD5,0xAF,0xCE,0x48,0xE1,0x58,0x03,0x3D,0xAA,0xA3,0xA8,0x3C,0xA6,0x0D,0x4B,0x2E,\r
+0x83,0xB0,0x72,0xEF,0xD3,0x1D,0xFB,0x48,0x49,0x94,0x74,0x9B,0x23,0x18,0x0C,0xED,\r
+0x53,0x3A,0x2A,0x17,0x62,0x10,0xFF,0x52,0xC1,0xA9,0x8F,0xC4,0xB7,0x77,0x5C,0x91,\r
+0x4E,0x9D,0x5E,0x54,0xFD,0x13,0x8C,0xF1,0x8D,0x54,0xAD,0xEB,0x81,0x2A,0xBE,0xFC,\r
+0x35,0x34,0x09,0xCA,0x2F,0x2B,0xE5,0x37,0x89,0xE3,0xD3,0xA3,0xA2,0x9F,0xAA,0x35,\r
+0x82,0xB0,0x90,0x95,0x4B,0x24,0x26,0xF8,0x4D,0x6A,0x0C,0xDC,0x8F,0x67,0x43,0x9D,\r
+0xC5,0xD1,0xBF,0x5C,0x1C,0x1C,0xF3,0x26,0x11,0x2A,0xE3,0x76,0xB4,0xA6,0x98,0x22,\r
+0xBD,0x7C,0x91,0x7D,0x79,0x16,0x1B,0xB5,0xC4,0x38,0x2D,0x31,0x41,0x5B,0x6A,0x70,\r
+0xF7,0xCF,0xE5,0x71,0xF6,0x0B,0xCD,0xC1,0x3E,0xDE,0x30,0x84,0xE8,0x0C,0xFF,0x05,\r
+0xED,0x71,0x34,0x95,0x20,0x18,0xA8,0xD3,0x07,0x90,0x9D,0x83,0xE1,0x50,0x96,0xED,\r
+0x2F,0xDE,0x5C,0x75,0x61,0x09,0x78,0xAE,0x8C,0x8C,0xDB,0x1D,0xDC,0x71,0x8E,0x84,\r
+0x0F,0x83,0x86,0x96,0xD4,0xFE,0x84,0xF5,0xAA,0x59,0xE1,0xED,0x7E,0xF5,0x27,0x79,\r
+0xE6,0xCC,0x06,0xBF,0x5B,0x88,0x6B,0xFA,0x60,0xD2,0xC6,0x69,0x3D,0x4E,0xBF,0x6B,\r
+0x26,0x55,0x84,0x1C,0x7B,0x34,0xE0,0x2C,0xDE,0xBE,0x72,0x25,0x11,0x06,0x54,0x5E,\r
+0x51,0xAB,0x43,0x61,0xF8,0x7C,0x16,0x72,0x7D,0x00,0xBD,0x36,0xA1,0xFC,0x71,0xA5,\r
+0x4A,0x20,0xA2,0xB8,0xA4,0xAC,0x1C,0x0E,0x4C,0xF0,0x5F,0xCC,0x7D,0xEA,0x4A,0xDB,\r
+0x39,0xDB,0xF8,0xD2,0x63,0xA8,0xF9,0xA6,0xCF,0x43,0x23,0x14,0xDD,0x59,0xF0,0xAC,\r
+0x28,0xA8,0x29,0xCC,0x92,0x25,0xA3,0x0D,0x8F,0x3F,0xF1,0x96,0x81,0x01,0x34,0xF5,\r
+0x86,0x68,0x13,0x77,0x1D,0x41,0x7E,0x4E,0x9B,0x2B,0x19,0xBC,0xD7,0x6C,0x9B,0x82,\r
+0x03,0x37,0x9F,0x6D,0x19,0x95,0xF7,0xE0,0xEF,0x80,0x5E,0xD0,0x02,0x07,0xA4,0x0E,\r
+0x9A,0x58,0x18,0xA0,0xD0,0x24,0x88,0x2A,0xB6,0x17,0x33,0x2D,0x12,0x44,0x9B,0xB9,\r
+0xAD,0xB7,0x4F,0xDB,0x68,0x4C,0xAB,0x0C,0xF9,0xFF,0x2B,0xEC,0x97,0x5A,0x36,0xAF,\r
+0x85,0x45,0x73,0x65,0x0D,0x6E,0xE4,0x6A,0x51,0x8E,0xE7,0x05,0xD2,0xD9,0x38,0xD7,\r
+0xF6,0x92,0x60,0x7F,0xA9,0x02,0xCA,0xD0,0x0B,0xBD,0x7D,0xB1,0xD2,0xD3,0xCF,0x6A,\r
+0xB7,0xCB,0x13,0x1A,0x71,0xFF,0xE6,0x05,0xD6,0x3D,0x87,0x66,0xFF,0xC7,0xCE,0xC9,\r
+0xAB,0x84,0x91,0x55,0x68,0x9B,0x64,0x72,0x4C,0x4E,0x89,0xD2,0x39,0x0D,0x62,0x82,\r
+0x73,0xB4,0xAC,0x7D,0x8E,0x5C,0x58,0x1A,0xE3,0x26,0x60,0x01,0x9A,0xD6,0xF1,0xD1,\r
+0x81,0x93,0xA3,0x80,0x66,0xE5,0x56,0xF8,0x79,0x73,0x3A,0xDD,0xCC,0x0E,0x1C,0xD2,\r
+0xD0,0xFC,0xD0,0xC1,0x23,0xC3,0x8A,0x9E,0x1D,0x91,0xEF,0x83,0xB7,0xCC,0x58,0x1C,\r
+0x9F,0x9A,0x52,0x19,0x95,0x94,0x4F,0x1D,0x6B,0x19,0xA4,0xC2,0xB7,0x74,0xAE,0x11,\r
+0xC9,0xCB,0x7D,0xA9,0x30,0x6B,0xAB,0x04,0xDF,0x0F,0x48,0xA0,0x70,0x90,0x5A,0xA5,\r
+0x65,0x18,0xA0,0x65,0xE6,0xDD,0x6F,0xC8,0xEA,0x5E,0x8D,0x78,0xE7,0x3F,0xAB,0xB7,\r
+0x8C,0xD9,0xED,0xD9,0xC7,0x27,0x53,0x56,0x5C,0xF4,0x1C,0xF9,0xE0,0x6A,0xBD,0xA3,\r
+0xF4,0x8B,0x7F,0xCF,0x3F,0x2D,0xA7,0x0A,0x3D,0x2B,0xD2,0x69,0x1D,0x97,0x47,0x40,\r
+0xB3,0x28,0x88,0x69,0x7E,0x15,0x34,0x49,0x73,0xFE,0x3D,0x00,0x16,0x56,0x44,0x25,\r
+0x04,0x86,0x3B,0x6E,0xC1,0x1A,0x4F,0x2B,0xFB,0x38,0xE2,0xCA,0xD2,0xAE,0x91,0x07,\r
+0x7F,0xF9,0x1A,0x1B,0xF9,0x22,0x90,0x97,0xA2,0xB6,0x9C,0x5A,0xBF,0x1B,0x47,0x19,\r
+0x62,0x9A,0xBC,0xCF,0x39,0x21,0xCF,0x21,0xC4,0x77,0xBE,0x52,0x8E,0x46,0xCA,0xFE,\r
+0xB2,0x4C,0x13,0xC1,0x40,0x2C,0xC6,0xF9,0x7F,0xF4,0x45,0xB0,0x39,0x29,0xCF,0xB9,\r
+0xE4,0x28,0x52,0x06,0xA3,0x69,0xDF,0xAA,0xCA,0x47,0x99,0x7C,0x9B,0x3C,0x6C,0xDD,\r
+0x4B,0xC5,0x46,0x87,0xC1,0x57,0x26,0x56,0x49,0x73,0x47,0x06,0x75,0x76,0xEC,0x33,\r
+0xDA,0x26,0xC3,0x93,0xD4,0xCA,0x02,0x35,0xA7,0xF1,0x3E,0x2F,0x2C,0x92,0x49,0x54,\r
+0x5B,0xF4,0xDE,0x55,0x4E,0xC4,0xFC,0x60,0x22,0x01,0xB1,0x7F,0x53,0x8B,0x5D,0x90,\r
+0xBC,0xDE,0xB3,0x34,0x17,0x08,0xE7,0x2A,0xAA,0x20,0xC0,0xF7,0x91,0x8A,0x29,0x74,\r
+0x79,0x3F,0x43,0x50,0x80,0x32,0x8D,0x12,0x7F,0x3C,0x0A,0xFE,0x4C,0xC2,0xFF,0x34,\r
+0x80,0x2C,0x62,0xC5,0x9B,0xAA,0xA3,0xDB,0x40,0x19,0xB4,0xD8,0xFC,0xEE,0xEA,0xAA,\r
+0x13,0xEA,0xBD,0x09,0x3A,0xA9,0x3E,0xB2,0x72,0xF5,0xC5,0xC8,0x76,0xDE,0x8D,0x57,\r
+0xE3,0x89,0x7B,0x8E,0x8F,0xF9,0x03,0xDC,0x9B,0x9C,0x3B,0x39,0x4C,0x52,0x6B,0x06,\r
+0x6F,0x64,0xE4,0x7A,0xD9,0x77,0x5C,0x0F,0xDB,0x49,0x58,0xD7,0x0B,0x8E,0xEE,0x7D,\r
+0x9E,0x2D,0x70,0x39,0xFF,0xFD,0x02,0xDA,0x2B,0x6D,0x6D,0x4F,0x07,0x2A,0xA6,0xB5,\r
+0x1E,0x00,0x7B,0x21,0xE7,0xA5,0xD6,0x3A,0x68,0x00,0x53,0xBA,0xB9,0x05,0xAE,0x96,\r
+0xD8,0x60,0x2E,0x42,0x18,0xA0,0x79,0x76,0xB3,0x12,0x12,0x92,0x6B,0xA2,0x67,0x57,\r
+0x61,0x5E,0xB6,0xFD,0x21,0x70,0x38,0x14,0x4E,0x32,0x5D,0x19,0x84,0xB8,0xAC,0x62,\r
+0xBA,0xDE,0xE4,0x1E,0x3B,0xA3,0x41,0xB6,0xC3,0xE7,0xBB,0xEB,0xCB,0xC8,0xC5,0x25,\r
+0x64,0x25,0x48,0x30,0x4E,0x63,0x05,0x03,0x17,0x44,0x10,0xE8,0x75,0xCF,0xF9,0xF0,\r
+0xCE,0x6A,0x3B,0xD5,0xEA,0xEC,0x3F,0xB0,0xA9,0x16,0xF8,0xB6,0xA5,0x49,0x8D,0xD5,\r
+0x55,0xB8,0xD7,0x99,0xF7,0xDF,0x15,0x88,0x7A,0x7A,0x38,0xBB,0xD2,0xFA,0x67,0x16,\r
+0xA1,0xA2,0xB2,0x02,0x83,0x4F,0x9B,0xC0,0xCB,0xC7,0xAF,0x80,0xD0,0x20,0x6B,0x06,\r
+0x75,0x99,0x49,0xDF,0xAE,0x2E,0xE9,0x53,0x2A,0x19,0x1D,0xEE,0x8F,0xB6,0xE3,0x93,\r
+0x17,0xAF,0x9B,0x66,0x08,0x11,0x4D,0x30,0xF0,0xAA,0x68,0x22,0xE3,0x40,0x6D,0x00,\r
+0xF3,0x30,0xD7,0xEF,0xA2,0x83,0x19,0xC7,0x08,0x6D,0x96,0x53,0xA2,0x35,0xE2,0x26,\r
+0x7A,0xF5,0xBB,0x74,0xCB,0x42,0x16,0xAB,0xAF,0xA7,0x00,0x6E,0x16,0xA7,0x4A,0x6D,\r
+0x98,0xA3,0x79,0x05,0x45,0x67,0x77,0xEE,0xB9,0x4E,0xB0,0x24,0x59,0xD5,0x39,0x2F,\r
+0xA6,0x5C,0x3A,0x85,0xDF,0xD4,0x12,0x8D,0xB3,0x95,0xD7,0x17,0xE3,0x93,0xCA,0x09,\r
+0xD1,0x3D,0x9C,0x20,0x4E,0x43,0x86,0xAE,0xB7,0x05,0x8F,0x6E,0xCD,0x14,0x3B,0x13,\r
+0xBF,0x20,0xCA,0xC5,0x1B,0x31,0x32,0xA8,0x12,0x98,0xE0,0x17,0xBF,0x16,0x98,0x81,\r
+0x4D,0xB3,0xAA,0x0A,0x10,0xF2,0xD5,0xFD,0xE7,0xF5,0x36,0xA8,0x30,0x66,0x8F,0xB1,\r
+0x82,0x57,0x48,0xA4,0x67,0x1F,0xF5,0xEB,0xD0,0xA2,0xFB,0xF9,0x4E,0xCD,0x6C,0x2A,\r
+0x7B,0xEC,0xC9,0x52,0x20,0xEB,0x0F,0x1C,0xC5,0xEE,0x37,0x47,0xF0,0x7E,0x9F,0x0E,\r
+0x91,0xB5,0xB6,0x25,0xD3,0xB5,0xA0,0x98,0x52,0x83,0xCB,0xA6,0xEC,0x78,0x8F,0xF0,\r
+0x84,0x32,0xF1,0xBE,0x0F,0xB9,0x2E,0x05,0x27,0xDF,0xE8,0x8C,0x14,0xE9,0x8F,0xF5,\r
+0xF0,0x8B,0x09,0x48,0xE3,0xDC,0x87,0xAE,0x03,0x5C,0xC1,0x4D,0x90,0x54,0x98,0x1D,\r
+0x50,0x69,0x4D,0x70,0xA9,0xE8,0x65,0x1A,0x1B,0x46,0xB8,0x53,0xC6,0x0A,0x48,0x9C,\r
+0xFC,0x2A,0xD2,0x17,0x36,0x5E,0x3D,0xC3,0x87,0x38,0x7D,0x27,0x5C,0xA5,0xE3,0x3A,\r
+0xAA,0x60,0x78,0xE3,0x60,0xA1,0xB3,0x26,0xD8,0xDC,0x91,0x9E,0x5C,0x41,0x23,0x3B,\r
+0xE5,0xB4,0xA7,0x97,0x86,0xF6,0x8C,0x14,0xA9,0x78,0xDA,0x15,0x6C,0xF9,0x0F,0xF6,\r
+0xB4,0xF6,0xBF,0xCE,0xE2,0xD0,0x71,0x59,0x8D,0x0A,0x0F,0xC7,0xCA,0x3B,0x1C,0x48,\r
+0x46,0x2F,0xEC,0x30,0xAF,0x69,0x7D,0x43,0x2F,0xC7,0x55,0xD3,0xD4,0xE3,0xFE,0x13,\r
+0x9E,0xDC,0x4F,0xFE,0x6A,0xAE,0x5F,0x10,0x38,0x3E,0xBC,0xE8,0x70,0x38,0xB9,0xC1,\r
+0x82,0x92,0x2E,0x6B,0x13,0xCA,0xCC,0x75,0x3D,0x90,0xB2,0x9E,0x53,0xF2,0x2F,0xDF,\r
+0xD1,0xF0,0xD7,0x1E,0x07,0x5C,0xCA,0x0D,0x4A,0xF6,0xAC,0x6A,0x04,0x09,0xBA,0xA1,\r
+0x87,0x57,0x6B,0xE2,0x2A,0x19,0x84,0x59,0xF3,0xAC,0x70,0xEE,0x59,0x1C,0x93,0xEF,\r
+0x57,0x4C,0xAD,0xDA,0x55,0x14,0x7A,0xFB,0x2C,0xAD,0x8B,0xCC,0x28,0x73,0xF8,0xBE,\r
+0x4A,0xC5,0xEB,0x2A,0x14,0x17,0x54,0x02,0xFA,0xCC,0xA9,0x33,0x55,0x2E,0x65,0xDE,\r
+0x31,0x49,0xD9,0x21,0x61,0x2F,0xA8,0x4B,0xA5,0xE6,0xD7,0xA4,0xC8,0x9B,0x92,0xA8,\r
+0x86,0x03,0xDC,0x58,0xA6,0x20,0x67,0xE4,0x04,0x49,0x08,0xCF,0x88,0x63,0x7B,0x75,\r
+0xC1,0x25,0x8F,0x1D,0xD1,0x18,0xCF,0xF2,0x77,0x4C,0xE7,0xD7,0x53,0xA2,0x62,0x2D,\r
+0xB9,0xDE,0x98,0xC3,0xEA,0x12,0xA0,0x9F,0xDD,0x06,0x29,0x40,0xDE,0x5F,0x17,0x27,\r
+0x7F,0x87,0x70,0x1D,0xBF,0x99,0xEF,0x8E,0x36,0x48,0x6A,0xA9,0xCE,0xDF,0x33,0x10,\r
+0x64,0x44,0xD8,0x9F,0x6D,0x49,0x5D,0x96,0x14,0x7B,0x88,0x9F,0x98,0xC9,0x1D,0x84,\r
+0x13,0x98,0xFC,0x2F,0x68,0x01,0x44,0x02,0xF3,0x57,0x47,0x37,0x4B,0x33,0xE0,0x77,\r
+0xD3,0x0A,0xAD,0x89,0x46,0xBD,0x02,0x8A,0x00,0x58,0xF3,0x6D,0xDE,0x7B,0xB3,0x43,\r
+0x3A,0xCF,0xA5,0x1C,0xAC,0xCB,0xA9,0xF5,0x15,0xF3,0xD4,0x7E,0xDC,0xC0,0x38,0x71,\r
+0x1A,0x83,0x0B,0xBC,0xA0,0x3C,0x78,0xB0,0xCD,0xB0,0xEE,0x41,0x87,0x44,0xAE,0xC3,\r
+0xD8,0xE5,0xE6,0xD2,0xE5,0x2D,0x4D,0xDA,0xA6,0xB7,0xA8,0x2F,0x18,0x65,0x65,0x79,\r
+0xC2,0xD8,0xBC,0xE8,0x6C,0x3E,0xEB,0xEB,0x2A,0xCB,0x05,0x5A,0x0A,0x39,0x27,0xF8,\r
+0xC3,0x0A,0xC4,0xD3,0x19,0x37,0x36,0xB6,0x04,0x43,0x48,0xC5,0x99,0xE6,0xB4,0x11,\r
+0xB0,0x9A,0x4B,0xB6,0xB8,0x5B,0x70,0xB3,0xF3,0x77,0xD2,0xCC,0x5C,0xEC,0x06,0x17,\r
+0x98,0x68,0x59,0xBA,0xA2,0x79,0x82,0x30,0x72,0x5C,0x1E,0xC8,0x3A,0x6F,0x0E,0x1A,\r
+0xAF,0xB4,0x52,0x3D,0xDD,0x11,0xD3,0xEB,0x98,0xA3,0x06,0x77,0xCB,0x71,0xF3,0xF5,\r
+0x36,0x4D,0xBA,0x52,0x5E,0xA0,0x2B,0x3A,0xC7,0x68,0x6B,0x30,0x6F,0x32,0x93,0x0A,\r
+0xB3,0x0F,0x3C,0xA5,0x01,0x74,0x59,0x5F,0xA9,0x69,0x2C,0xA8,0xCE,0x59,0x17,0xAA,\r
+0x1D,0xD0,0x4E,0x6F,0x18,0x10,0x6C,0x43,0x1A,0xD6,0xC4,0x21,0xF5,0x34,0x8D,0x52,\r
+0x0C,0xDB,0xBD,0xE3,0xAE,0x9D,0xC4,0x1F,0xB5,0x78,0x16,0xBD,0x36,0x6C,0xFD,0xC0,\r
+0x93,0xB3,0xE8,0x1D,0x7A,0xE1,0xF0,0x9F,0xBD,0x2F,0xE2,0x0E,0x85,0xA6,0x3B,0xBA,\r
+0xAD,0xFC,0x03,0x35,0x98,0x52,0xB0,0x1D,0x46,0xB5,0x85,0x74,0xC0,0xE0,0x43,0x9A,\r
+0x4F,0x49,0xB3,0xDA,0xD2,0x77,0xE8,0x48,0x85,0x24,0x35,0xBA,0x85,0x92,0x77,0xB6,\r
+0xC6,0xAB,0xF5,0xD5,0xF7,0xB6,0x88,0xC1,0x49,0xDA,0xA3,0x40,0x18,0x00,0x3E,0x68,\r
+0x22,0xCC,0x86,0x86,0xDD,0x24,0x14,0xF0,0xD3,0xD7,0x5D,0xE7,0x5A,0x75,0x31,0x91,\r
+0x40,0x32,0xBC,0x88,0x4C,0x1B,0xAA,0x7A,0x41,0x4D,0x28,0x78,0x28,0x83,0x12,0xE8,\r
+0x94,0xFE,0xD2,0x4E,0x02,0x7A,0x89,0x50,0xD5,0x18,0x9A,0x83,0x46,0x15,0x2B,0x73,\r
+0x60,0xA6,0x78,0x70,0xFC,0xEA,0x9D,0x4A,0xBB,0xE7,0x0D,0x7C,0x0C,0xCF,0x4E,0x12,\r
+0xC5,0x41,0x81,0x32,0x27,0xE9,0x23,0x79,0xC1,0xC4,0xF4,0xEA,0x27,0x61,0x62,0x74,\r
+0xB1,0x2B,0x97,0x02,0xA9,0x8C,0x81,0xF1,0x42,0x29,0xDD,0x8C,0x7C,0xDC,0x15,0x7A,\r
+0xA4,0x2C,0x53,0x6F,0x49,0x80,0x48,0x6B,0xE5,0xCA,0xFE,0x08,0x80,0x4D,0x35,0x55,\r
+0x4E,0xBD,0xE0,0x33,0xA5,0xDE,0xF4,0xE4,0xF1,0x2D,0x02,0x5A,0xDB,0x4B,0xBA,0x73,\r
+0xB7,0xA7,0x04,0xFA,0xAB,0x2A,0x1D,0x49,0xB9,0x58,0xCE,0x1D,0xFF,0xF8,0x9C,0x65,\r
+0x78,0x0A,0x27,0x5F,0xDB,0xC7,0x6A,0x6A,0x92,0x11,0x03,0x84,0x29,0x53,0x6B,0xC7,\r
+0x8A,0xDD,0x72,0xE4,0x8B,0x04,0x35,0x1F,0x39,0xD9,0xD5,0xC8,0x3B,0x23,0x9D,0xDA,\r
+0xE4,0x15,0xA8,0x5C,0x0D,0x76,0x02,0xDB,0xBE,0xBF,0xBA,0x7A,0x9F,0x21,0xB6,0xEE,\r
+0xD6,0xE8,0x0E,0x53,0xEB,0xCC,0xEF,0x21,0x92,0xF8,0x0E,0xD8,0x72,0x67,0x71,0x6D,\r
+0x26,0x9D,0x3B,0x8C,0xD6,0x9C,0x4E,0xFB,0xD2,0x30,0xF0,0x8F,0xE9,0xEB,0x74,0x1F,\r
+0xB5,0x70,0xF3,0xC8,0xAD,0x9F,0x26,0xCA,0x71,0x3E,0x81,0x7D,0x92,0xDB,0xF8,0xC8,\r
+0x4C,0xE1,0x67,0x2E,0xB6,0x07,0x33,0x5A,0x37,0x4A,0x3F,0x73,0x2F,0xF7,0xD1,0x08,\r
+0x89,0x87,0xD6,0x91,0xA1,0x3D,0x59,0xBE,0x48,0x52,0xF5,0x78,0xE9,0xBF,0x37,0x1A,\r
+0x6E,0x29,0x05,0xE7,0xF3,0xF1,0x49,0xE6,0xE0,0x89,0x84,0x7F,0xEF,0xBE,0x68,0xC5,\r
+0xEF,0xC1,0x8B,0xF6,0xEF,0xFF,0xBB,0xE3,0x47,0xFA,0x0B,0x5C,0xA3,0xA7,0x39,0x23,\r
+0x7E,0xE7,0x68,0x57,0x02,0x62,0x18,0xD7,0x43,0xCE,0x72,0x0A,0x8F,0x43,0xE4,0x71,\r
+0xFB,0x56,0xD0,0xA6,0xE8,0xD9,0xFF,0x32,0xEA,0x3C,0xCD,0x98,0x1C,0x7C,0x7C,0xA5,\r
+0x51,0x9D,0x1D,0x80,0x45,0x56,0x38,0x3D,0x9C,0x54,0x25,0xFF,0x3B,0xFA,0x08,0x43,\r
+0x8F,0x5A,0x59,0x66,0xFE,0x96,0x38,0x88,0xF2,0xBB,0x8E,0x4D,0x6A,0xFD,0x22,0x49,\r
+0x54,0x74,0x65,0xC6,0xB5,0x45,0x36,0x17,0xC0,0xFD,0x68,0xAC,0x05,0x8D,0x00,0x84,\r
+0xED,0xB8,0x96,0x25,0x1F,0x95,0x0F,0xF2,0x85,0x19,0x27,0x4B,0x06,0x97,0x84,0x32,\r
+0x2B,0x29,0x8B,0xDF,0x9C,0x90,0x37,0xD1,0x1A,0x75,0x66,0x51,0x3A,0x30,0xDE,0x98,\r
+0xAB,0xAE,0xD9,0x87,0x02,0xC8,0xB9,0x03,0xDE,0xB9,0x58,0xAA,0xB5,0x1F,0x67,0x41,\r
+0x5A,0xBE,0x49,0x89,0x6F,0x42,0xF9,0x9F,0x52,0x0C,0x6D,0x64,0xB9,0xBB,0xAA,0x7C,\r
+0xBC,0x80,0x53,0xDB,0xEC,0xC4,0x50,0xB9,0x82,0x39,0x76,0x64,0x7D,0xC6,0xF7,0xF7,\r
+0x7A,0xE9,0x75,0x24,0x02,0xC1,0xF3,0x49,0xD0,0x13,0x37,0x16,0x1E,0x61,0x5B,0xBC,\r
+0xFA,0xE5,0x03,0xCC,0x59,0x99,0x04,0xA3,0xBD,0x3D,0x09,0x36,0x79,0x4E,0x88,0x74,\r
+0x0B,0x01,0x70,0x41,0xA7,0x13,0x48,0x98,0x90,0xE1,0x3C,0x2A,0x34,0xEA,0xDC,0x76,\r
+0xAA,0x5E,0xA9,0xED,0x30,0x88,0xBC,0xD8,0x28,0xCE,0x9C,0x3E,0x61,0x2D,0x56,0x03,\r
+0x00,0x24,0x28,0xB4,0xD9,0x07,0x88,0xAD,0x70,0x58,0x74,0xDB,0x6A,0xAB,0x54,0xF9,\r
+0xDE,0xF3,0xFF,0xDC,0xAE,0xC7,0x51,0xAD,0x91,0xB1,0xDF,0x24,0xAE,0xAC,0xE8,0x9A,\r
+0x05,0x54,0xCF,0xCD,0xD4,0x14,0x1D,0x1C,0x5B,0xEE,0x39,0x0B,0x30,0xDC,0x1B,0x03,\r
+0xD8,0xE5,0x28,0x05,0x71,0x6C,0x93,0xF7,0xCD,0x67,0xA4,0xE7,0xB9,0xEE,0xB0,0xE7,\r
+0x3F,0x59,0xE2,0xE7,0xEE,0xA0,0x72,0xB7,0xD4,0x69,0xD5,0xD2,0x73,0xEF,0x22,0xE9,\r
+0xBE,0x7F,0x94,0x90,0x05,0xAE,0xB9,0x14,0x7E,0x5C,0x5A,0xE0,0x54,0xF6,0x34,0x32,\r
+0x2F,0x24,0x99,0x1E,0xBE,0x33,0x57,0xAE,0xC9,0xE7,0x23,0x4C,0x85,0x12,0xDA,0x26,\r
+0x87,0x0A,0x90,0xE7,0x68,0x9D,0xF4,0x5F,0x86,0xA2,0x5F,0x08,0x80,0x36,0xA4,0x98,\r
+0x77,0x15,0x4E,0x60,0x3A,0xCD,0xAB,0xD0,0x67,0x96,0xA1,0x2D,0x79,0xBA,0x5B,0x7D,\r
+0xE4,0x63,0x1D,0xF1,0x5E,0xCE,0xD1,0x74,0x67,0x86,0xD0,0x11,0xC1,0x8A,0xFB,0x8B,\r
+0x1D,0x8D,0x81,0xF8,0xA4,0x56,0x3B,0x19,0x6E,0xF1,0x6E,0x14,0x25,0xA6,0x1D,0xBD,\r
+0xE6,0xCA,0x67,0x38,0x7F,0x7B,0x43,0xB4,0x4D,0x66,0x9F,0xAD,0xEE,0xA9,0x5F,0xF3,\r
+0x29,0x76,0x54,0x63,0xDE,0x96,0xE5,0x2B,0x14,0xC9,0x52,0x68,0x2C,0x02,0x3A,0x15,\r
+0xDB,0xC8,0xFA,0x48,0x5E,0x55,0x7E,0x87,0x08,0x64,0x84,0x40,0x52,0x72,0x42,0xB8,\r
+0xB5,0x4A,0xD0,0x6B,0x8D,0x27,0x10,0x9E,0x1E,0xB4,0xEB,0xDC,0xF8,0x70,0xA5,0x52,\r
+0x94,0x73,0xD1,0x7A,0x48,0xB8,0xAE,0x8B,0xF0,0xF3,0xA5,0x36,0x2D,0x30,0xBF,0x43,\r
+0xE0,0xFB,0x71,0x88,0x40,0xDD,0xA5,0xB9,0x54,0xC4,0x8C,0x72,0x3F,0x8D,0x7A,0x48,\r
+0xF5,0xB7,0x58,0x6E,0xF6,0xD1,0x78,0x0F,0xBF,0xE6,0xAF,0x2D,0x8F,0x1C,0x62,0xE9,\r
+0x1F,0x9E,0x07,0x11,0x22,0x8F,0xDE,0xB2,0x10,0x2D,0x53,0x72,0x88,0x1A,0x09,0x3B,\r
+0x73,0xDF,0xCA,0x7E,0xE4,0x75,0x6D,0x7C,0x4B,0x93,0x0C,0xF8,0xBC,0x24,0x0C,0x33,\r
+0x11,0x83,0x20,0x47,0xC4,0x4A,0xF3,0x35,0x60,0x1C,0x79,0x0D,0x0B,0xD2,0xDF,0x34,\r
+0xC5,0xFA,0x76,0xB3,0x34,0x2B,0xAF,0xA4,0x07,0x6A,0xCB,0x10,0x53,0x44,0x2C,0xEA,\r
+0x31,0x7B,0xDD,0x3C,0x4F,0xBB,0xEC,0x3B,0x73,0x26,0x5C,0x6E,0x10,0x9E,0x32,0xE1,\r
+0xC2,0x7D,0xF7,0xEA,0x16,0xB0,0xB4,0x3A,0x7C,0x94,0xB3,0x1A,0x65,0xF7,0x57,0xE6,\r
+0xFC,0x98,0xDC,0x48,0x2E,0x03,0x03,0x7E,0xA7,0x2E,0xD4,0x34,0x24,0xB1,0x91,0xE5,\r
+0x1E,0xFE,0xE1,0x95,0xD7,0x26,0x2B,0x30,0x5D,0x00,0x64,0x60,0x21,0xC3,0x58,0x1B,\r
+0x97,0x82,0x53,0x34,0x81,0xE7,0x44,0x4C,0x62,0x5B,0xF2,0x3F,0x61,0x51,0x1C,0x0A,\r
+0x67,0x41,0x71,0x07,0x58,0xF1,0x4D,0x6D,0xA3,0x99,0x3A,0xA3,0xAE,0x63,0x85,0x44,\r
+0xE2,0xC2,0xF9,0xD0,0x4F,0x25,0xAA,0xE2,0x1E,0x97,0x7D,0xB6,0xC5,0x08,0xA6,0x5B,\r
+0x4C,0x45,0xC2,0x43,0x66,0x41,0xAC,0xF4,0xE9,0xFC,0x95,0xD4,0x15,0x65,0x77,0x1E,\r
+0x5D,0xFE,0x12,0x0E,0x03,0xCC,0x87,0x84,0xBE,0x4A,0x47,0xA8,0x23,0x3D,0xF7,0x27,\r
+0x92,0xCC,0x93,0x45,0x65,0x66,0x73,0xBE,0x0D,0x33,0x19,0x80,0x04,0xB7,0xA6,0x9A,\r
+0xE1,0x4E,0xEB,0xBB,0x01,0x0A,0x98,0x43,0x30,0x05,0x83,0x73,0xA2,0xBD,0xF3,0x2C,\r
+0xC9,0xAC,0xA5,0xCA,0x80,0x28,0x8D,0x3C,0xCD,0x21,0x4F,0xE3,0x97,0x3E,0x96,0x9A,\r
+0xFE,0x90,0x0D,0x81,0x47,0x40,0xD1,0x51,0x88,0x6D,0x57,0xDD,0xCC,0x20,0xC5,0x95,\r
+0x6B,0x14,0xDE,0xC0,0xF4,0x9A,0x67,0x3A,0xEB,0x14,0x85,0x72,0x57,0x91,0xBB,0x92,\r
+0x4B,0x1B,0x69,0x3F,0x9F,0x6D,0x3A,0xB6,0x5B,0xD5,0xBF,0xCB,0x61,0x15,0xD8,0xDB,\r
+0x89,0x3D,0x45,0xCC,0x5B,0x7C,0x02,0x5A,0xDE,0x57,0xF9,0x26,0x27,0x34,0xD3,0xA0,\r
+0x93,0x0C,0xE9,0x5D,0x81,0x6F,0xC2,0xF7,0xF8,0x38,0x54,0xCF,0xD6,0x68,0x62,0x22,\r
+0x2E,0x66,0x67,0x86,0xB5,0xC8,0x84,0x54,0x61,0x14,0x3B,0x2C,0xD2,0x8E,0xB2,0x4C,\r
+0x35,0x2B,0x94,0xBD,0x42,0x18,0x19,0xDD,0x4C,0x6E,0xD9,0xDD,0x85,0x98,0x1E,0x56,\r
+0x42,0x1A,0xAB,0x7E,0x1B,0x50,0x52,0x98,0xEF,0x13,0x16,0xAC,0xC4,0x62,0x38,0x2F,\r
+0x82,0xD4,0x8C,0xE9,0x9A,0xEC,0x08,0xDC,0xA6,0xB9,0xA2,0x49,0x50,0x2A,0x8F,0x0B,\r
+0x60,0xE1,0xC8,0x2D,0x86,0x7E,0xF6,0xB7,0x68,0xCD,0x86,0x9E,0x45,0xCA,0x79,0xBE,\r
+0xD7,0x17,0x4A,0x1E,0x72,0x71,0x58,0x10,0xA1,0xC5,0x59,0xEA,0x00,0x32,0xBC,0x2F,\r
+0x90,0x57,0xB3,0xA0,0x7E,0x49,0x14,0xBE,0x45,0x02,0xB6,0x4A,0x4B,0xF3,0x35,0x78,\r
+0xE8,0x68,0x1C,0xDF,0x28,0x43,0xC4,0xED,0x23,0xEE,0x78,0x74,0xCC,0x0E,0xEE,0x97,\r
+0x80,0x03,0x65,0xCF,0xB8,0x0D,0xB1,0xE3,0x02,0x29,0xFD,0x92,0x8D,0x58,0x39,0x7C,\r
+0xD6,0x08,0x9E,0xA2,0x5E,0x48,0x98,0x8E,0x57,0x04,0x21,0xE3,0xCB,0x4D,0xFE,0xEA,\r
+0x06,0x6A,0x60,0x72,0x7B,0x45,0x39,0xA7,0x3F,0x00,0xDA,0xBD,0x6D,0x22,0xB2,0x22,\r
+0x1B,0x14,0xE6,0x70,0x83,0x46,0x2D,0x3D,0x17,0x97,0xF8,0x55,0x30,0x7F,0x90,0x53,\r
+0xE5,0x49,0x21,0x38,0x57,0x81,0xF1,0x0F,0x19,0xAB,0x5E,0x15,0xFA,0x6A,0x77,0xDE,\r
+0x17,0xB6,0x8D,0x88,0xC5,0x38,0xC6,0x66,0x80,0x28,0x04,0xDB,0xF5,0xB2,0x54,0x08,\r
+0xCF,0x0B,0xC0,0x47,0x33,0xFF,0x20,0x13,0x6E,0xE8,0xED,0xE1,0x3E,0x69,0xE3,0x30,\r
+0xD3,0x6A,0x8B,0x3C,0x9A,0x9B,0x5A,0x0D,0x12,0xAF,0xE3,0x3E,0x55,0xA3,0xB1,0x16,\r
+0x01,0x27,0xBE,0xC5,0x1A,0xB9,0xF4,0x29,0x41,0x83,0xE9,0x1F,0x56,0x5B,0x8B,0x45,\r
+0xAD,0x01,0x66,0x19,0xDC,0x0F,0x8C,0xB8,0xB0,0x89,0x2C,0x18,0x3B,0xF4,0x6B,0x9A,\r
+0xFB,0x1B,0x58,0xB5,0x03,0xF0,0xD4,0x27,0x28,0x22,0xC0,0xD5,0x3B,0x10,0x74,0x41,\r
+0xB4,0xB4,0x1A,0x71,0x55,0xA7,0x24,0x93,0x96,0x3E,0x8B,0x21,0x90,0xA8,0xDC,0x8C,\r
+0x1F,0xD3,0x1F,0xF5,0xCD,0xD7,0x69,0x8E,0xEF,0x80,0xEF,0x35,0xD9,0xA4,0xFC,0x60,\r
+0x33,0x1E,0x21,0x72,0xBB,0x69,0xA5,0x15,0x32,0xFC,0x77,0x86,0xD4,0x5D,0xF8,0xDD,\r
+0x03,0xB2,0x52,0x0F,0xCC,0x18,0x3F,0xC2,0x55,0xFD,0x74,0x88,0xF8,0xCE,0x1F,0x27,\r
+0x8F,0x10,0x7D,0x1A,0xD2,0xE6,0xFC,0x0F,0x7C,0xA4,0x24,0xFB,0xEC,0x3E,0xEB,0x41,\r
+0xAB,0xCC,0xC2,0x97,0xBF,0x9A,0xF6,0xA2,0xA6,0xB0,0x8A,0xDB,0x5E,0x96,0x89,0xE1,\r
+0x4F,0xC0,0x5C,0x80,0x5C,0xE3,0x57,0x1B,0xD0,0x28,0x17,0x53,0xBD,0x07,0x3C,0x3B,\r
+0x56,0x9A,0x5A,0x70,0x8F,0x6C,0x6C,0x81,0xFA,0xCD,0x19,0x03,0x8D,0x86,0x6E,0x83,\r
+0x57,0x8A,0x25,0xE3,0x89,0x1D,0xAE,0xF4,0x05,0x58,0xD5,0xA5,0x44,0x61,0x35,0xAF,\r
+0x65,0x2C,0xB9,0xF3,0xB4,0x80,0xA1,0xE5,0xEE,0x82,0xAD,0xDB,0x6B,0xBC,0x78,0x49,\r
+0x15,0xF9,0xD5,0x89,0xA4,0x66,0x8C,0xCC,0x6A,0x9E,0x7E,0xE8,0xF1,0x67,0x1C,0x31,\r
+0x12,0x30,0x57,0x17,0x0A,0xCD,0x99,0xBC,0x39,0xE1,0xBE,0x06,0xD7,0xB9,0xBE,0x4E,\r
+0x94,0x8F,0x9D,0xBA,0x16,0x25,0x23,0xDD,0x59,0xE6,0x31,0x75,0xB5,0x13,0x77,0x89,\r
+0x53,0xEA,0x43,0x73,0xE0,0x85,0xD8,0xB1,0xC7,0xD7,0xAA,0x9E,0x88,0xB2,0x20,0xDD,\r
+0xF7,0xBA,0x3F,0xAD,0xE1,0xB0,0x37,0x14,0x28,0x50,0x20,0xC2,0xE9,0x43,0xC5,0x75,\r
+0xD8,0x6E,0xC2,0xD7,0x58,0x8E,0x47,0x3F,0x01,0xE5,0x78,0x99,0x5B,0xC3,0xF8,0x4B,\r
+0x7F,0xBD,0x43,0xFF,0xAD,0xCF,0x39,0x37,0xE9,0x35,0x7D,0x7B,0x07,0x05,0xEA,0x8F,\r
+0xE8,0x2B,0x84,0x8B,0x35,0x4B,0xD4,0x0C,0xF5,0xBB,0x5E,0xCE,0xC3,0x2E,0x39,0xDE,\r
+0x7A,0xD2,0x48,0x44,0x24,0xDD,0x87,0x52,0x09,0xD9,0x9F,0x20,0xD2,0xA7,0x64,0x90,\r
+0x08,0x23,0x19,0x45,0x26,0x6D,0xB2,0xA9,0x59,0xB2,0xBA,0x63,0xC9,0x45,0x2E,0x6D,\r
+0x4E,0x00,0xA6,0x56,0xC5,0x0A,0x35,0xEF,0x1D,0x1D,0x09,0x76,0x20,0x7B,0xC1,0xF8,\r
+0x27,0x9F,0xAB,0x8F,0x9B,0xE5,0xD0,0x08,0xD9,0x93,0x02,0x93,0x13,0x88,0xB7,0xD4,\r
+0xFD,0x6D,0x5D,0x17,0x3F,0x72,0xD4,0xB2,0x77,0x6B,0x92,0xA3,0xF2,0x7C,0xDE,0x14,\r
+0x6B,0x9E,0xF3,0xED,0x1C,0xC0,0xFB,0x15,0x12,0x40,0xF3,0x4C,0xD7,0xA8,0x2C,0x04,\r
+0x9D,0x2A,0x96,0x6A,0xD3,0xB5,0x4F,0x94,0xFD,0xEE,0xCC,0x44,0x7D,0xCA,0x1E,0xF1,\r
+0xA3,0x70,0x97,0x01,0x48,0xEA,0x9F,0x08,0x03,0xF9,0x36,0x29,0x92,0xA6,0xF3,0x34,\r
+0xA5,0xC6,0x87,0x18,0x93,0x16,0xE9,0x00,0x24,0xF3,0x68,0x98,0x65,0x4C,0xF1,0x33,\r
+0x34,0x76,0xF5,0x51,0xDA,0x35,0x33,0x6A,0xD8,0xB9,0x64,0xF3,0x7B,0x59,0x55,0x24,\r
+0x89,0x08,0xD6,0x86,0x40,0x1C,0x14,0xA0,0xB2,0x48,0x01,0x8B,0x9D,0x2D,0x67,0x7A,\r
+0xC9,0xD8,0xD6,0xBD,0x1E,0x52,0xAD,0xD9,0x03,0x43,0x9E,0xDD,0x81,0x0C,0x63,0x7A,\r
+0xCB,0x10,0x31,0x74,0x5D,0x3D,0x5C,0x28,0x47,0xBA,0xEC,0x2D,0x60,0x62,0x84,0x44,\r
+0xBB,0x03,0x32,0x42,0xE1,0xEB,0x36,0xCA,0xBE,0x59,0x2F,0x95,0x4F,0x90,0x66,0xA9,\r
+0x10,0x04,0xFA,0x9A,0x92,0x26,0x8F,0x50,0x3C,0xF2,0xC2,0x8A,0x90,0x5F,0xF1,0xC2,\r
+0x93,0x10,0xBF,0xF5,0xC2,0x1B,0x37,0xA7,0xE5,0x5D,0x55,0xF4,0xDC,0x3B,0x13,0x12,\r
+0xDB,0xA4,0x16,0xA4,0x01,0xAF,0x1D,0xC3,0x05,0x2C,0xE9,0x97,0x3C,0xFB,0x3C,0x90,\r
+0x21,0x8F,0x91,0x5B,0x62,0x60,0xB8,0x78,0x55,0x3A,0xA1,0xA8,0x65,0x8C,0x97,0x36,\r
+0x37,0xBA,0x90,0x6C,0x27,0x82,0xFC,0x0F,0x30,0xBA,0x71,0xEA,0x9C,0x97,0xFF,0x07,\r
+0xD1,0x16,0x0D,0x24,0x5E,0xED,0x5D,0x4D,0xC0,0xF1,0xD6,0x7E,0xB2,0x2A,0x42,0x3E,\r
+0x8D,0xF7,0x70,0x6C,0x5E,0x40,0x07,0x26,0x75,0xE2,0xC5,0x3C,0x95,0x30,0xB3,0xE3,\r
+0xAC,0x30,0x61,0x94,0xCB,0x06,0x5A,0xD5,0x6A,0x1A,0xD4,0x23,0x27,0xF2,0x84,0x48,\r
+0x28,0xD3,0xB4,0x7C,0xD5,0x3C,0x02,0x9E,0x18,0xE4,0x23,0xC8,0x81,0xD2,0xB8,0xB6,\r
+0x99,0x50,0xC7,0x3A,0x58,0xEE,0x9E,0xC6,0x99,0x24,0xF9,0xC0,0x32,0x47,0xA4,0x91,\r
+0x87,0x61,0x25,0x9D,0x67,0xF6,0xED,0x98,0xAE,0xAF,0x91,0xAA,0x78,0x70,0xE3,0xF1,\r
+0x04,0xE3,0x60,0xE0,0x82,0x3A,0x0B,0xA0,0x26,0xD1,0xB3,0xA6,0xD3,0x58,0x7E,0x59,\r
+0x0E,0x1B,0xB6,0xB6,0xEB,0xA0,0x27,0xF3,0x45,0xDC,0xDF,0xC0,0x9F,0x2B,0x0F,0x52,\r
+0x84,0x9B,0x53,0x00,0x2E,0xFE,0x71,0xA2,0x8F,0x9D,0x75,0xFC,0xE3,0xE4,0x2E,0x8E,\r
+0xDC,0xD5,0x2E,0x27,0xDA,0x2C,0x1E,0x4E,0x2A,0x2D,0xF8,0x1B,0x6E,0xF5,0x7A,0x7B,\r
+0xB1,0x79,0x88,0x51,0x16,0xC4,0xD1,0x60,0x77,0xC6,0x9C,0x6E,0x67,0x5B,0x37,0xEB,\r
+0xDA,0x08,0xF7,0x0D,0x94,0x83,0x7F,0x27,0x3E,0x02,0x48,0x59,0xAB,0xDE,0x4D,0x0A,\r
+0x11,0x7F,0x26,0x16,0x85,0x32,0x19,0x33,0xA4,0x5F,0x1E,0x00,0xAC,0x0D,0x9B,0xCF,\r
+0xA9,0xDF,0x70,0x45,0x70,0x79,0x7C,0x0C,0xDB,0x42,0x49,0xD3,0x27,0x42,0x9F,0x7F,\r
+0x4D,0xEF,0x13,0x32,0x8F,0x95,0xD8,0x04,0x2B,0x8E,0xB6,0xAE,0x54,0x14,0x69,0x52,\r
+0xE2,0x8B,0x23,0x0F,0x18,0x50,0x6A,0x13,0x68,0xC4,0x00,0x40,0x75,0xB8,0xC3,0x11,\r
+0x1A,0xCC,0x60,0xD9,0x34,0x5A,0x44,0xE5,0xE0,0x66,0x22,0x11,0xE3,0x6A,0x5A,0x92,\r
+0xD0,0x48,0x9B,0xD5,0xF7,0x54,0x28,0xBB,0x1E,0x78,0x46,0x25,0xDF,0x76,0xFB,0xEB,\r
+0x0B,0xED,0x1C,0xE5,0xCA,0xBD,0x2E,0x32,0x87,0xF7,0x81,0xFE,0x25,0xAE,0xA4,0xC2,\r
+0xD3,0x6E,0x86,0x6D,0xCE,0xE7,0xFF,0x55,0xA9,0x25,0x38,0x38,0x86,0x5C,0x3F,0x3F,\r
+0xC6,0x8F,0x07,0x09,0x9C,0x41,0x0C,0xF8,0x1D,0xC5,0xFF,0x5F,0xB9,0xA2,0x3F,0x3B,\r
+0x9B,0x5E,0x7D,0xD5,0x65,0x63,0x16,0xBE,0xC1,0x64,0xFC,0xEF,0xA8,0xBF,0x38,0x94,\r
+0xF4,0x3C,0x58,0x31,0xB9,0x98,0x8D,0x36,0x8C,0xEC,0xF1,0xDC,0x4F,0x6F,0xEE,0xC8,\r
+0xE1,0x5C,0x0D,0x03,0x5C,0x44,0xDC,0xFF,0xCE,0x35,0xB4,0xE4,0x3B,0x39,0xB7,0x3C,\r
+0xB7,0x97,0x97,0x45,0xE4,0xC1,0xB5,0x86,0x75,0x47,0xFA,0xDB,0x3C,0x51,0x58,0x95,\r
+0x4A,0x3E,0x24,0x22,0xBC,0x0F,0x1D,0x4F,0x2C,0xDA,0xF0,0x7A,0xB0,0x29,0x0F,0xE5,\r
+0x8B,0x34,0xA2,0x0F,0xCE,0xE0,0xA7,0x7E,0x36,0x8F,0xC8,0x03,0x33,0x6E,0x43,0x8C,\r
+0x73,0xFB,0x2A,0xB3,0x18,0x3F,0xA8,0x85,0x4D,0x9A,0xC7,0xD5,0xF7,0xD9,0x63,0x31,\r
+0x9D,0xAB,0xBE,0xAC,0x29,0x78,0xA8,0xD0,0xD4,0xF6,0xA1,0x4A,0x6F,0xB0,0x7E,0x2F,\r
+0x7B,0x60,0x32,0x43,0x9A,0x08,0x06,0x8C,0x52,0xFC,0x7A,0xAD,0x2B,0x63,0x9D,0x01,\r
+0xD0,0x59,0xAC,0xDD,0xBA,0x0F,0xAA,0x4B,0x51,0x42,0xA4,0x58,0xB9,0xA3,0x33,0x3D,\r
+0x38,0x30,0x99,0x92,0x14,0x89,0xD8,0x5C,0x43,0x82,0x0E,0x2D,0xBE,0x2C,0xF4,0x3C,\r
+0x98,0x20,0x62,0x23,0x27,0x4E,0xA5,0x3E,0xA0,0xE2,0xAF,0x30,0xA3,0xB7,0x57,0x4B,\r
+0xAD,0x40,0xD8,0x58,0x02,0xEA,0xB1,0xBE,0x36,0xA5,0x5E,0x25,0x4D,0x3D,0xE7,0xCC,\r
+0x93,0xDD,0x55,0x33,0x2A,0xC5,0xE6,0x84,0x2B,0xEE,0xDE,0xB4,0x9D,0x65,0x6F,0x54,\r
+0xD2,0x09,0x4C,0x82,0x31,0x62,0x23,0x8F,0x32,0xD5,0x18,0x22,0xEF,0x60,0xE3,0x37,\r
+0xCA,0x30,0x3E,0x28,0xEA,0x02,0x4D,0x78,0x21,0x75,0xB9,0x66,0xFD,0xF2,0xE3,0x3A,\r
+0x74,0xBE,0x05,0x1A,0x5A,0x2E,0x39,0x9E,0x19,0x71,0x40,0xBE,0x24,0x6A,0xA8,0x82,\r
+0x05,0xAC,0x5F,0xCB,0xDB,0x1E,0xB7,0x7D,0xEB,0x4B,0xD3,0x14,0xDC,0x69,0xC4,0x6E,\r
+0xFB,0x5B,0x20,0xDA,0xB7,0x92,0x14,0xEE,0x98,0xC0,0x23,0x9E,0x2B,0x39,0xEE,0x18,\r
+0x87,0xB0,0xB3,0xDA,0x53,0xB6,0xAC,0x0B,0x6B,0xCA,0x8B,0x54,0x82,0x97,0x09,0xD6,\r
+0xFE,0xB2,0x33,0xD2,0x7E,0x52,0x07,0xB0,0xAC,0x96,0x1A,0x9C,0x7E,0x0A,0x79,0xCF,\r
+0x71,0xCA,0x54,0xDD,0x06,0x4B,0x2E,0xE9,0x45,0x6F,0x9B,0x72,0x68,0x04,0x1D,0x92,\r
+0x00,0xDB,0x2A,0xD3,0xD5,0x4A,0xEB,0x32,0x1C,0xA2,0x7C,0x48,0x7F,0xC8,0x28,0x48,\r
+0xF7,0x5E,0x59,0x30,0x7D,0xBE,0x67,0x87,0x48,0x0D,0xBB,0x99,0x2C,0x2B,0x27,0x68,\r
+0x0B,0xB3,0x24,0x27,0x24,0xB8,0x0F,0x66,0xBA,0xF8,0x51,0x91,0xD0,0x75,0xAA,0xD3,\r
+0x28,0x66,0xE9,0x41,0x41,0x29,0xAF,0xAB,0x03,0x13,0x44,0x29,0x9C,0x79,0xEF,0x7E,\r
+0x01,0x00,0xCC,0x20,0x68,0x94,0x77,0x1A,0xB5,0x5C,0x30,0x32,0xD9,0x1C,0xAA,0x51,\r
+0x4F,0x97,0x69,0x11,0x18,0xD4,0x3A,0x66,0x49,0xE9,0x11,0x88,0x93,0x83,0x19,0x80,\r
+0x20,0x55,0x0C,0x88,0xAE,0xD6,0x3D,0xFB,0xF6,0xD0,0x7F,0x28,0x11,0xF1,0xD2,0xCB,\r
+0xF6,0xC4,0x4D,0xE6,0x0C,0xA6,0x70,0x1A,0xF8,0xC4,0x8D,0xDC,0x62,0x32,0x02,0x57,\r
+0x3B,0x51,0x30,0xE3,0x85,0x0D,0x13,0x14,0x83,0x92,0x42,0xB4,0xF7,0xDF,0x56,0xDF,\r
+0x56,0xBA,0x05,0x3E,0xAC,0xF5,0xEF,0x0F,0xBE,0xB1,0x33,0x1D,0x48,0x43,0x0E,0x18,\r
+0xC0,0x74,0x14,0x35,0x8C,0x67,0xEF,0x0A,0xE0,0x2F,0xBA,0x4A,0x71,0x82,0x40,0x3B,\r
+0x70,0x77,0x26,0x4C,0x19,0x15,0x37,0xE0,0x52,0x29,0x58,0xAA,0xE4,0xA7,0x4B,0x78,\r
+0x17,0xFD,0xF6,0x73,0x64,0x53,0x9D,0x29,0x3C,0xCB,0x66,0xD1,0x2C,0x14,0xE1,0x01,\r
+0xF8,0xEB,0xD7,0xF4,0xA8,0x3A,0x4E,0xF0,0xF7,0x04,0x95,0xA3,0xC8,0x1F,0xE3,0xAE,\r
+0x6F,0x79,0xAA,0x6D,0xA5,0xE0,0x2C,0xC4,0x1E,0xF2,0x61,0x0C,0x77,0x8F,0x62,0x1D,\r
+0xDD,0xED,0x96,0x58,0xE5,0x76,0x2A,0x6F,0x92,0xF1,0xB5,0xBE,0xE9,0xEE,0x61,0x6C,\r
+0xA8,0xD5,0xA6,0x82,0xA6,0x80,0x82,0x8B,0x02,0x90,0xD7,0x9C,0xC9,0xD1,0x9A,0x3B,\r
+0xF3,0x30,0x9B,0x98,0x47,0x84,0xED,0x6C,0xB6,0x1A,0x5A,0x47,0xE7,0xE4,0xBE,0x65,\r
+0xEB,0xB5,0x8C,0xA8,0x71,0x9A,0x9B,0x85,0x58,0xFC,0x6D,0x23,0xB0,0x8C,0x72,0x00,\r
+0x27,0xFD,0xA9,0x94,0xFA,0x19,0x18,0x04,0xBD,0x46,0x45,0x35,0x1B,0xAE,0x55,0x50,\r
+0xBD,0x2A,0x92,0x98,0x7B,0x13,0x75,0x28,0xA9,0xE8,0x36,0x02,0x0B,0xC2,0x18,0xCD,\r
+0xE3,0x42,0xBA,0xAB,0x3F,0x99,0x52,0x7D,0xB6,0xFB,0xF9,0xE1,0x3D,0x68,0x89,0x3C,\r
+0x31,0xD6,0x22,0x88,0xE5,0xC1,0x4F,0x25,0x1F,0xBF,0xE8,0x43,0x13,0xE5,0x40,0xD0,\r
+0xD9,0xCB,0xEA,0xD2,0x5F,0xAC,0x99,0xEC,0x17,0x92,0x46,0x61,0xFD,0x81,0x7E,0x2D,\r
+0x9E,0x31,0x90,0xDF,0xE0,0xC7,0xE5,0x14,0x08,0x40,0xC3,0xFB,0x9A,0x55,0xC8,0x19,\r
+0x06,0xF0,0x6E,0x0F,0xBB,0x8E,0xE3,0xD0,0x6C,0xB2,0x26,0x6C,0x5D,0x48,0x3D,0xF9,\r
+0xB2,0x09,0x5E,0xD6,0x72,0xC6,0x9C,0x6A,0x05,0x65,0xE6,0x89,0xAD,0xF4,0xC4,0x41,\r
+0x7D,0x7B,0x0A,0xB4,0x00,0x3C,0x43,0x59,0xF7,0x56,0x91,0x55,0xF1,0xBC,0x32,0x71,\r
+0x9F,0x4A,0xC3,0xFE,0x61,0x2A,0x99,0x83,0xAB,0x19,0x8A,0x73,0x97,0x6C,0x5C,0x61,\r
+0xF0,0x0C,0x34,0x96,0x9E,0xCC,0x2F,0x04,0x63,0x3C,0x37,0x23,0xC7,0xCB,0x15,0x8E,\r
+0x5D,0xC0,0x7C,0x84,0x9C,0x90,0x3F,0x79,0xE5,0x66,0x2D,0x4F,0x55,0xD8,0x53,0x64,\r
+0x1B,0x02,0x0C,0x07,0x41,0xB1,0x22,0x92,0x6A,0x7C,0xEF,0x38,0xDE,0xC9,0xD8,0xBA,\r
+0x21,0x9A,0xB8,0x99,0x61,0x35,0x03,0x31,0x28,0xE2,0xCF,0xFF,0xF5,0x3E,0x30,0xD2,\r
+0x5C,0x1A,0xD9,0xC6,0x97,0xDB,0xC0,0x52,0x03,0x18,0xBF,0xA9,0x2A,0xE2,0x53,0xFB,\r
+0x7E,0xB0,0x51,0x7B,0xA2,0x86,0xC1,0x8B,0xDF,0x51,0xA2,0x4A,0xE2,0xE1,0x16,0x2D,\r
+0x85,0x1A,0x41,0xBA,0xF4,0xE9,0x6B,0x2A,0x61,0xD6,0x72,0xD2,0xBC,0xEC,0x74,0x86,\r
+0x59,0xFB,0xCF,0xAC,0x6D,0xFC,0xEA,0x2A,0xD3,0x72,0x24,0x82,0x6C,0xA9,0x5E,0x56,\r
+0xDC,0xBB,0xCC,0x76,0xCB,0xAA,0x93,0xF6,0x6B,0xB4,0x4C,0xB3,0x49,0xE7,0xD6,0xF1,\r
+0x12,0xAE,0x1F,0xAA,0xE6,0x57,0x1F,0x80,0x02,0x5D,0x34,0x7F,0x8B,0xED,0x71,0x1E,\r
+0xFD,0x8C,0xA3,0x7A,0x53,0x96,0x08,0x6B,0x09,0xF3,0x73,0xBB,0x16,0xD5,0x13,0x49,\r
+0x22,0x94,0x75,0xC9,0x81,0x6E,0xD1,0xD0,0x13,0xC9,0xC4,0xFE,0x0E,0xDA,0x78,0x28,\r
+0x2F,0x95,0x36,0x05,0xCE,0x0C,0x96,0x96,0x97,0x39,0x10,0x14,0xA9,0x03,0x27,0xB7,\r
+0x64,0x10,0xB3,0xBA,0x53,0xB4,0xBD,0xE7,0x44,0xA4,0x5F,0x4B,0x56,0x54,0x7C,0xBC,\r
+0x88,0x79,0xCA,0x6D,0x46,0x50,0x4A,0xC3,0x46,0x97,0x09,0xD5,0x72,0xAB,0x31,0x33,\r
+0x4D,0xD5,0x56,0x37,0xF5,0xFF,0x86,0x28,0x9F,0x3C,0xA5,0x53,0xEB,0x1D,0xA6,0x63,\r
+0x47,0x76,0xA8,0xCB,0x0B,0x07,0xDF,0xC4,0xB9,0xD4,0x77,0xB3,0x0C,0x3F,0x76,0xF1,\r
+0x49,0xBB,0x97,0x72,0xCA,0xCD,0xDF,0x9A,0x5B,0x25,0x6B,0x53,0xB8,0x5B,0xB3,0x6F,\r
+0xA0,0x6A,0x96,0xF4,0xF0,0x16,0xA5,0xCB,0xD9,0x73,0xB3,0xBD,0xD6,0x9C,0x5B,0xF7,\r
+0xFA,0x5F,0x50,0x73,0x70,0xCE,0x0D,0xEF,0xEA,0xCB,0x41,0x60,0xA2,0x25,0x51,0xDA,\r
+0x0E,0x7D,0xF3,0xF4,0x97,0xAB,0xB1,0xD9,0x70,0xA8,0x7A,0x26,0xE2,0xE5,0x3C,0xAF,\r
+0x8A,0x99,0x3B,0x95,0x65,0x2F,0xE6,0xB0,0xA3,0xC6,0x86,0xA1,0xB0,0x91,0x12,0xB1,\r
+0x9D,0xDA,0xB0,0xD4,0x10,0x93,0x3B,0x2F,0x0C,0x03,0x3F,0x1B,0x31,0x92,0x84,0x68,\r
+0x57,0x15,0x68,0x86,0x15,0x59,0xAA,0xBE,0xB9,0x0E,0x22,0x71,0xC6,0x27,0xFC,0x8D,\r
+0xCE,0x2B,0xAD,0x79,0x50,0x61,0x53,0x97,0x67,0x0F,0x30,0x78,0x52,0xA6,0xAA,0xEC,\r
+0x95,0x6A,0x81,0x76,0x64,0xF5,0x49,0xAF,0xA3,0x42,0x64,0xEC,0x88,0x6B,0xAD,0x4E,\r
+0x37,0x03,0x16,0x59,0xD0,0x65,0x9B,0x9C,0x0E,0x1C,0xE8,0xA1,0xD1,0xA2,0x07,0x89,\r
+0x42,0x5A,0x7D,0xF4,0x33,0x18,0x4A,0x5D,0x2B,0xD0,0xA5,0x8F,0xE4,0xD6,0xDE,0x7F,\r
+0x4A,0xC3,0xA5,0x0C,0x10,0x44,0x77,0xA8,0x89,0xCE,0xCD,0x46,0x31,0x12,0x23,0xE5,\r
+0xDF,0x91,0xB4,0x6B,0x06,0x4A,0x3E,0x6F,0xA8,0x32,0x57,0xB0,0x69,0xEB,0x1C,0xAD,\r
+0x8D,0x01,0xCF,0xEA,0x90,0x65,0x8E,0x5F,0x4E,0x8B,0x68,0xB6,0xF1,0x78,0x9C,0x7D,\r
+0xE2,0x89,0xD0,0x5C,0x42,0xF4,0x86,0x4A,0xC4,0xF3,0xF5,0x17,0x83,0x17,0xC9,0x3B,\r
+0x70,0x4A,0xFC,0x89,0xC0,0x43,0x36,0x0D,0xD6,0xE4,0x35,0x98,0x91,0x25,0xCC,0xAE,\r
+0xD3,0xA7,0x41,0x5E,0x92,0xB7,0xBB,0x6F,0xED,0x9F,0x12,0x1B,0xB4,0xF8,0x99,0xBA,\r
+0x91,0xF6,0xC3,0x7D,0x30,0x71,0x18,0x4F,0xA8,0x5E,0xB4,0x55,0x82,0xD6,0x3A,0x1E,\r
+0x30,0x82,0x89,0xCA,0x53,0xF4,0x5B,0x6C,0x97,0x8B,0x2F,0x2C,0x85,0x07,0xD9,0xAD,\r
+0x54,0xAD,0xA1,0x1A,0x60,0x73,0x8C,0x9E,0x53,0x60,0x79,0x7C,0x51,0xE5,0x79,0x3B,\r
+0x8B,0xA2,0x27,0x4F,0x02,0x44,0xC7,0xBD,0x5E,0x55,0xA6,0xE8,0x76,0xB8,0x2A,0x9F,\r
+0x51,0xCF,0x1E,0x0B,0xD0,0xB7,0x2A,0x8E,0x44,0x96,0xD0,0x62,0x81,0xD2,0xF3,0x88,\r
+0x49,0x75,0x98,0x33,0x44,0x15,0xB9,0xDF,0xAD,0x7A,0x2C,0xC7,0x06,0x9B,0xFC,0xED,\r
+0xF6,0xE0,0xAB,0xB3,0xFC,0xC9,0x71,0x77,0x0E,0x54,0x8D,0xCF,0x92,0x38,0x3A,0x85,\r
+0xC1,0x0C,0x7A,0xC2,0x1F,0x4C,0x19,0x45,0x37,0xCA,0x57,0xFE,0x71,0x52,0x52,0xE6,\r
+0x05,0x02,0x09,0x0E,0x07,0x05,0x00,0x0D,0x0E,0x03,0x0A,0x04,0x08,0x04,0x06,0x0C,\r
+0x03,0x08,0x0D,0x0B,0x0E,0x0F,0x09,0x07,0x0D,0x0A,0x01,0x03,0x0E,0x0D,0x0B,0x0F,\r
+0x0C,0x04,0x01,0x09,0x05,0x07,0x0D,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\r
+0x00,0x05,0x02,0x04,0x06,0x07,0x03,0x01,0x06,0x04,0x05,0x01,0x00,0x03,0x02,0x07,\r
+0x05,0x06,0x02,0x04,0x01,0x00,0x03,0x07,0x01,0x04,0x07,0x00,0x02,0x06,0x05,0x03,\r
+0x06,0x07,0x03,0x00,0x01,0x05,0x04,0x02,0x07,0x04,0x01,0x00,0x06,0x02,0x05,0x03,\r
+0x04,0x05,0x03,0x07,0x00,0x06,0x01,0x02,0x02,0x05,0x06,0x00,0x07,0x01,0x04,0x03,\r
+0x02,0x04,0x07,0x06,0x00,0x03,0x01,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00\r
+};\r
+\r
diff --git a/SPC/Inc/Util.h b/SPC/Inc/Util.h
new file mode 100755 (executable)
index 0000000..0a270c8
--- /dev/null
@@ -0,0 +1,30 @@
+\r
+\r
+/*\r
+#ifdef _LINUX\r
+       unsigned long long timeGetTime();\r
+#endif\r
+*/\r
+/**\r
+4byte unsinged char * ¸¦ unsigned int ·Î º¯È¯.\r
+@param pData (Input) - º¯È¯ÇÒ unsigned char ÀÇ ½ÃÀÛ Æ÷ÀÎÅÍ \r
+@param uData (Output) - º¯È¯µÈ unsigned int Data \r
+*/\r
+void ConvertUint8ToUint32 (unsigned char* pData, unsigned int* uData);\r
+\r
+/**\r
+unsigned int ¸¦ 4byte unsigned char *·Î º¯È¯ \r
+@param uData (Input) - º¯È¯ÇÒ unsigned int Data \r
+@param pData (Output) - º¯È¯µÈ unsigned char ÀÇ ½ÃÀÛ Æ÷ÀÎÅÍ \r
+*/\r
+void ConvertUint32ToUint8 (unsigned int uData, unsigned char* pData);\r
+\r
+/**\r
+ * @fn         GetFileLength(FILE *pFp,int *nFileLen)\r
+ * @brief      Get File length\r
+ *\r
+ * @param      [in] pOutMsg            Input File pointer\r
+ * @param      [out] nOutLen           file total length\r
+ * @return     result of GetFileLength\r
+*/\r
+int GetFileLength(FILE *pFp,int *nFileLen);
\ No newline at end of file
diff --git a/SPC/Inc/WhiteBox/SDWAP.h b/SPC/Inc/WhiteBox/SDWAP.h
new file mode 100755 (executable)
index 0000000..26367c1
--- /dev/null
@@ -0,0 +1,76 @@
+/**\r
+ * @file       SDWAP.h\r
+ * @brief      Dynamic white box AES module for SSA(Samsung Security Architecture)\r
+ * @author     Samsung Dynamic WhiteBox AES \r
+ *                             - Chul Lee(chuls.lee@samsung.com)\r
+ *                             - Dept : Software R&D Center / Cloud Computing Lab.\r
+ *\r
+ * @see                SDWAP\r
+ * @date       2013-01-10\r
+ * @version    1.0\r
+ * @par                Copyright:\r
+ * Copyright 2013 by Samsung Electronics, Inc.,\r
+ * This software is the confiedential and properietary information \r
+ * of Samsung Elctronics, Inc. ("Confidential Information"). You \r
+ * shall not disclose such Confidential Information and shall use \r
+ * it only in accordance with the term of the lice agreement \r
+ * you entered into with Samsung.\r
+ * @par                Warning:\r
+ * This code sould not be exported out of Samsung Electronics.\r
+ * This code cannot be inserted in any customer device.\r
+ * The logic of dynamic whitebox table generation is confidential.\r
+ */\r
+\r
+\r
+/**\r
+ * @interface  SDWAP\r
+ * @brief              encryption/decryption processing module of SDWAP(Samsung Dynamic Whitebox AES Project Version 2)\r
+ *\r
+ * @par Features :\r
+ * # Functionality1 : encryption/decryption processing module of SDWAP\r
+ * @date 2012-01-10\r
+ * @version 1.0\r
+ */\r
+\r
+#ifndef _SAMSUNG_DYNIMIC_WHITE_BOX_AES_PROJECT_H_\r
+#define _SAMSUNG_DYNIMIC_WHITE_BOX_AES_PROJECT_H_\r
+\r
+#ifdef __cplusplus\r
+extern "C"\r
+{\r
+#endif //__cplusplus\r
+\r
+#ifndef _WIN\r
+\r
+       #define SPC_INTERNAL  __attribute__((visibility("hidden")))\r
+#else\r
+       #define SPC_INTERNAL  \r
+#endif\r
+\r
+/*! SDWAP return values */\r
+typedef enum\r
+{\r
+       SDWAP_RETURN_SUCCESS =                                  0x00000000,             /*!< success case */\r
+       SDWAP_RETURN_INVALID_PARAMETER =                        0x80000001,             /*!< null parameter */\r
+       SDWAP_RETURN_INVALID_TBLSIZE =                  0x80000002,             /*!< invalid table size */\r
+       SDWAP_TBLGEN_INVALID_OTMZ_LEVEL =               0x80000003              /*!< invalid optimization level */\r
+} SDWAP_RETURN_VAL;\r
+\r
+/**\r
+ * @fn         SDWAP_RETURN_VAL SDWAP_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int OptimizLev)\r
+ * @brief      processing encryption or decryption according to the table\r
+ *\r
+ * @param      [in] Table              look-up table for SDWAP\r
+ * @param      [in] TableLen   byte-length of look-up table\r
+ * @param      [in] in                 input bytes(16-byte length)\r
+ * @param      [out] out               output bytes(16-byte length)\r
+ * @return     SDWAP_RETURN_VAL\r
+ */\r
+SPC_INTERNAL SDWAP_RETURN_VAL SDWAP_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int isEncryption);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif //__cplusplus\r
+\r
+#endif //_SAMSUNG_WHITE_BOX_AES_PROJECT_H_\r
+\r
diff --git a/SPC/Inc/WhiteBox/SDWAP_TblGen.h b/SPC/Inc/WhiteBox/SDWAP_TblGen.h
new file mode 100755 (executable)
index 0000000..8cfc9b1
--- /dev/null
@@ -0,0 +1,92 @@
+/**\r
+ * @file       SDWAP_TblGen.h\r
+ * @brief      Dynamic white box AES table generation module for SSA(Samsung Security Architecture)\r
+ * @author     Samsung Dynamic WhiteBox AES \r
+ *                             - Chul Lee(chuls.lee@samsung.com)\r
+ *                             - Dept : Software R&D Center / Cloud Computing Lab.\r
+ *\r
+ * @see                SDWAP\r
+ * @date       2013-01-10\r
+ * @version    1.0\r
+ * @par                Copyright:\r
+ * Copyright 2013 by Samsung Electronics, Inc.,\r
+ * This software is the confiedential and properietary information \r
+ * of Samsung Elctronics, Inc. ("Confidential Information"). You \r
+ * shall not disclose such Confidential Information and shall use \r
+ * it only in accordance with the term of the lice agreement \r
+ * you entered into with Samsung.\r
+ * @par                Warning:\r
+ * This code sould not be exported out of Samsung Electronics.\r
+ * This code cannot be inserted in any customer device.\r
+ * The logic of dynamic whitebox table generation is confidential.\r
+ */\r
+\r
+\r
+/**\r
+ * @interface  SWPAv2_TblGen\r
+ * @brief              table generator of SDWAP(Samsung Dynamic Whitebox AES Project Version 2)\r
+ *\r
+ * @par Features :\r
+ * # Functionality1 : table generator of SDWAP\r
+ * @date 2012-11-15\r
+ * @version 1.0\r
+ */\r
+\r
+#ifndef _SDWAP_TABLE_GENERATOR_H_\r
+#define _SDWAP_TABLE_GENERATOR_H_\r
+\r
+#ifdef __cplusplus\r
+extern "C"\r
+{\r
+#endif //__cplusplus\r
+\r
+#ifndef _WIN\r
+\r
+       #define SPC_INTERNAL  __attribute__((visibility("hidden")))\r
+#else\r
+       #define SPC_INTERNAL  \r
+#endif\r
+\r
+\r
+/*! SDWAP table generator return values */\r
+typedef enum\r
+{\r
+       SDWAP_TBLGEN_RETURN_SUCCESS =                                   0x00000000,             /*!< success case */\r
+       SDWAP_TBLGEN_RETURN_INVALID_PARAMETER =                 0x80000011,             /*!< null parameter */\r
+       SDWAP_TBLGEN_RETURN_INVALID_KEYLEN =                            0x80000012,             /*!< invalid key length */\r
+       SDWAP_TBLGEN_RETURN_INVALID_OTMZ_LEVEL =                0x80000013,             /*!< invalid optimization level */\r
+       SDWAP_TBLGEN_RETURN_MEM_ALLOC_FAILED =                  0x80000014              /*!< memory allocation failed */\r
+} SDWAP_TBLGEN_RETURN_VAL;\r
+\r
+typedef enum\r
+{\r
+       SDWAP_TBL_TBOX          = 0x00,\r
+       SDWAP_TBL_KEYLOOKUP = 0x01\r
+}SDWAP_TBLGEN_TYPE;\r
+\r
+typedef enum\r
+{\r
+       SDWAP_DECRYPTION        = 0x00,\r
+       SDWAP_ENCRYPTION        = 0x01\r
+}SDWAP_CRYPTO_MODE;\r
+\r
+/**\r
+ * @fn         unsigned int SDWAP_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, unsigned int OptimizLev)\r
+ * @brief      derivate look-up table from given key\r
+ *\r
+ * @param      [in] Key                        user key (cipher key)\r
+ * @param      [in] KeyLen                     byte-length of cipher key\r
+ * @param      [in] seed                       random seed\r
+ * @param      [out] Table                     look-up table for SDWAP\r
+ * @param      [out] TableLen          byte-length of look-up table\r
+ * @param      [in] isEncryption       flag ordering encryption or decryption\r
+ * @return     SDWAP_TBLGEN_RETURN_VAL\r
+ */\r
+unsigned int SDWAP_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, int TableType);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif //__cplusplus\r
+\r
+#endif //_SDWAP_TABLE_GENERATOR_H_\r
+\r
diff --git a/SPC/Inc/WhiteBox/SDWAP_defines.h b/SPC/Inc/WhiteBox/SDWAP_defines.h
new file mode 100755 (executable)
index 0000000..e9a1677
--- /dev/null
@@ -0,0 +1,91 @@
+/**\r
+ * @file       SDWAP_defines.h\r
+ * @brief      defines the constants, types and macros used in SDWAP(Samsung Dynamic Whitebox AES Project version2)\r
+ * @author     Samsung Dynamic WhiteBox AES \r
+ *                             - Chul Lee(chuls.lee@samsung.com)\r
+ *                             - Dept : Software R&D Center / Cloud Computing Lab.\r
+ *\r
+ * @see                SDWAP\r
+ * @date       2013-01-10\r
+ * @version    1.0\r
+ * @par                Copyright:\r
+ * Copyright 2013 by Samsung Electronics, Inc.,\r
+ * This software is the confiedential and properietary information \r
+ * of Samsung Elctronics, Inc. ("Confidential Information"). You \r
+ * shall not disclose such Confidential Information and shall use \r
+ * it only in accordance with the term of the lice agreement \r
+ * you entered into with Samsung.\r
+ * @par                Warning:\r
+ * This code sould not be exported out of Samsung Electronics.\r
+ * This code cannot be inserted in any customer device.\r
+ * The logic of whitebox table generation is confidential.\r
+ */\r
+\r
+#ifndef _SDWAP_DEFINES_H_\r
+#define _SDWAP_DEFINES_H_\r
+\r
+#ifndef _WIN\r
+\r
+       #define SPC_INTERNAL  __attribute__((visibility("hidden")))\r
+#else\r
+       #define SPC_INTERNAL  \r
+#endif\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Constants\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDWAP_WORD_SIZE                        4                       /*!< Each word has 4-byte length, defined in FIPS-197  */\r
+#define SDWAP_COLUMNS                  4                       /*!< Number of columns comprising the State. Defined as Nb in FIPS-197  */\r
+\r
+#define SDWAP_128_ROUNDS               10                      /*!< Number of rounds, for AES-128  */\r
+#define SDWAP_192_ROUNDS               12                      /*!< Number of rounds, for AES-192  */\r
+#define SDWAP_256_ROUNDS               14                      /*!< Number of rounds, for AES-256  */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Types\r
+////////////////////////////////////////////////////////////////////////////\r
+typedef unsigned char          SDWAP_WORD[SDWAP_WORD_SIZE];                                    //!< SDWAP_WORD represents each word\r
+typedef unsigned char          SDWAP_RK_BOX[SDWAP_COLUMNS][SDWAP_WORD_SIZE];   //!< SDWAP_RK_BOX represents round keys for one round\r
+typedef SDWAP_WORD                     SDWAP_MIX_COLUMN_BOX[16][16];                                   //!< SDWAP_MIX_COLUMN_BOX represents each MC box\r
+typedef unsigned char          SDWAP_SBOX[16][16];                                                             //!< SDWAP_SBOX represents each S-box\r
+typedef SDWAP_WORD                     SDWAP_TBOX[16][16];                                                             //!< SDWAP_TBOX represents transform table for each byte of round key\r
+typedef unsigned char          SDWAP_PBOX[4][8];                                                               //!< SDWAP_PBOX represents permutation table for each round\r
+typedef unsigned char          SDWAP_PVECTOR[16];                                                              //!< SDWAP_PVECTOR represents permutation vector for each round\r
+typedef SDWAP_WORD                     SDWAP_WORD_PBOX[16];                                                    //!< SDWAP_WORD_PBOX represents permutation word of transform table for each round\r
+typedef unsigned char          SDWAP_BIT_PBOX[8];                                                              //!< SDWAP_BIT_PBOX represents permutation word of transform table for each round\r
+\r
+typedef unsigned char          SDWAP_KEY_LOOKUP[4][17];                                                //!< SDWAP_KEY_LOOKUP represents transform table for each column of round key\r
+typedef unsigned char          SDWAP_KEY_RANDOM_MASK[5][4];\r
+typedef unsigned char          SDWAP_KEY_BYTE_PBOX[17];                                                //!< SDWAP_KEY_BYTE_PBOX represents permutation word of transform table for each round\r
+typedef unsigned char          SDWAP_KEY_BIT_PBOX[8];                                                  //!< SDWAP_KEY_BIT_PBOX represents permutation word of transform table for each round\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Macros\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SBOX_SIZ                                               (16 * 16)                                                                                               /*! SBOX_SIZ represents the size of S-box(16x16 matrix), for 4bit-4bit lookup */\r
+#define SDWAP_T_TABLE_ROUND_SIZE               (sizeof(SDWAP_TBOX) * SDWAP_COLUMNS * SDWAP_WORD_SIZE)  /*! SDWAP_T_TABLE_ROUND_SIZE represents the size of transform table for one round */\r
+#define SDWAP_P_TABLE_ROUND_SIZE               (sizeof(SDWAP_PBOX))                                                                    /*! SDWAP_P_TABLE_ROUND_SIZE represents the size of permutation table for one round */\r
+#define SDWAP_WP_TABLE_ROUND_SIZE              SDWAP_WORD_SIZE * 4                                                                             /*! SDWAP_WP_TABLE_ROUND_SIZE represents the size of permutation word of transform table for one round */\r
+#define SDWAP_BP_TABLE_ROUND_SIZE              8                                                                                                               /*! SDWAP_BP_TABLE_ROUND_SIZE represents the size of permutation bit of transform table for one round */\r
+\r
+#define SDWAP_KEY_LOOKUP_COLUMN_SIZE   17 * 4                                                                                                  /*! SDWAP_KEY_LOOKUP_SIZE represents the size of key lookup table for one round */\r
+#define SDWAP_KEY_RANDOM_MASK_SIZE             sizeof(SDWAP_KEY_RANDOM_MASK)\r
+\r
+#define SETBIT_U8(val, idx, bit)       bit == 1 ?      (unsigned char) ( val | (1 << idx) ) :  (unsigned char) ( val & (~(1 << idx)) )         /*! set a bit */ \r
+#define GETBIT_U8(val, idx)                    (val & (1 << idx)) >> idx                                                                                                                                               /*! get a bit */\r
+\r
+\r
+/**\r
+ * @var static const unsigned char byte_pMatrix[24][4]\r
+ * @brief look-up matrix for CalcPWTBox, Calculate Word-Permutation T-Box\r
+ */\r
+static const unsigned char byte_pMatrix[24][4] = \r
+{\r
+       {0, 1, 2, 3}, {0, 1, 3, 2}, {0, 2, 1, 3}, {0, 2, 3, 1}, {0, 3, 1, 2}, {0, 3, 2, 1},\r
+       {1, 0, 2, 3}, {1, 0, 3, 2}, {1, 2, 0, 3}, {1, 2, 3, 0}, {1, 3, 0, 2}, {1, 3, 2, 0},\r
+       {2, 0, 1, 3}, {2, 0, 3, 1}, {2, 1, 0, 3}, {2, 1, 3, 0}, {2, 3, 0, 1}, {2, 3, 1, 0},\r
+       {3, 0, 1, 2}, {3, 0, 2, 1}, {3, 1, 0, 2}, {3, 1, 2, 0}, {3, 2, 0, 1}, {3, 2, 1, 0}\r
+};\r
+\r
+#endif //_SDWAP_DEFINES_H_\r
diff --git a/SPC/Inc/WhiteBox/SWAPv2.h b/SPC/Inc/WhiteBox/SWAPv2.h
new file mode 100755 (executable)
index 0000000..de0666b
--- /dev/null
@@ -0,0 +1,75 @@
+/**\r
+ * @file       SWAPv2.h\r
+ * @brief      white box AES module for SSA(Samsung Security Architecture)\r
+ * @author     Samsung WhiteBox AES Version 2 (SWAPv1 based)\r
+ *                             - Chul Lee(chuls.lee@samsung.com)\r
+ *                             - Dept : Software R&D Center / Cloud Computing Lab.\r
+ *\r
+ *                     Samsung WhiteBox AES Version 1\r
+ *                              - Jisoon Park(js00n.park@samsung.com)\r
+ *                              - Dept: DMC R&D Center/Convergence Software Lab.\r
+ *\r
+ * @see                SWAPv2\r
+ * @date       2012-10-05\r
+ * @version    2.0\r
+ * @par                Copyright:\r
+ * Copyright 2012 by Samsung Electronics, Inc.,\r
+ * This software is the confiedential and properietary information \r
+ * of Samsung Elctronics, Inc. ("Confidential Information"). You \r
+ * shall not disclose such Confidential Information and shall use \r
+ * it only in accordance with the term of the lice agreement \r
+ * you entered into with Samsung.\r
+ */\r
+\r
+/**\r
+ * @interface  SWAPv2\r
+ * @brief              encryption/decryption processing module of SWAPv2(Samsung Whitebox AES Project Version 2)\r
+ *\r
+ * @par Features :\r
+ * # Functionality1 : encryption/decryption processing module of SWAPv2\r
+ * @date 2012-10-05\r
+ * @version 2.0\r
+ */\r
+\r
+#ifndef _SAMSUNG_WHITE_BOX_AES_PROJECT_VERSION2_H_\r
+#define _SAMSUNG_WHITE_BOX_AES_PROJECT_VERSION2_H_\r
+\r
+#ifdef __cplusplus\r
+extern "C"\r
+{\r
+#endif //__cplusplus\r
+\r
+#ifndef _WIN\r
+\r
+       #define SPC_INTERNAL  __attribute__((visibility("hidden")))\r
+#else\r
+       #define SPC_INTERNAL  \r
+#endif\r
+\r
+/*! SWAPv2 return values */\r
+typedef enum\r
+{\r
+       SWAPv2_RETURN_SUCCESS                           =       0x00000000,             /*!< success case */\r
+       SWAPv2_RETURN_INVALID_PARAMETER         =       0x80000001,             /*!< null parameter */\r
+       SWAPv2_RETURN_INVALID_TBLSIZE           =       0x80000002,             /*!< invalid table size */\r
+} SWAPv2_RETURN_VAL;\r
+\r
+/**\r
+ * @fn         SWAPv2_RETURN_VAL SWAPv2_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int OptimizLev)\r
+ * @brief      processing encryption or decryption according to the table\r
+ *\r
+ * @param      [in] Table              look-up table for SWAPv2\r
+ * @param      [in] TableLen   byte-length of look-up table\r
+ * @param      [in] in                 input bytes(16-byte length)\r
+ * @param      [out] out               output bytes(16-byte length)\r
+ * @param      [in] OptimizLev Performance Optimization Level [0~2]\r
+ * @return     SWAPv2_RETURN_VAL\r
+ */\r
+SPC_INTERNAL SWAPv2_RETURN_VAL SWAPv2_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif //__cplusplus\r
+\r
+#endif //_SAMSUNG_WHITE_BOX_AES_PROJECT_H_\r
+\r
diff --git a/SPC/Inc/WhiteBox/SWAPv2_TblGen.h b/SPC/Inc/WhiteBox/SWAPv2_TblGen.h
new file mode 100755 (executable)
index 0000000..ceb88ae
--- /dev/null
@@ -0,0 +1,78 @@
+/**\r
+ * @file       SWAPv2_TblGen.h\r
+ * @brief      white box AES table generation module for SSA(Samsung Security Architecture)\r
+ * @author     Samsung WhiteBox AES Version 2 (SWAPv1 based)\r
+ *                             - Chul Lee(chuls.lee@samsung.com)\r
+ *                             - Dept : Software R&D Center / Cloud Computing Lab.\r
+ *\r
+ *                     Samsung WhiteBox AES Version 1\r
+ *                              - Jisoon Park(js00n.park@samsung.com)\r
+ *                              - Dept: DMC R&D Center/Convergence Software Lab.\r
+ *\r
+ * @see                SWAPv2\r
+ * @date       2012-10-05\r
+ * @version    2.0\r
+ * @par                Copyright:\r
+ * Copyright 2012 by Samsung Electronics, Inc.,\r
+ * This software is the confiedential and properietary information \r
+ * of Samsung Elctronics, Inc. ("Confidential Information"). You \r
+ * shall not disclose such Confidential Information and shall use \r
+ * it only in accordance with the term of the lice agreement \r
+ * you entered into with Samsung.\r
+ */\r
+\r
+/**\r
+ * @interface  SWPAv2_TblGen\r
+ * @brief              table generator of SWAPv2(Samsung Whitebox AES Project Version 2)\r
+ *\r
+ * @par Features :\r
+ * # Functionality1 : table generator of SWAPv2\r
+ * @date 2012-10-05\r
+ * @version 2.0\r
+ */\r
+\r
+#ifndef _SWAPv2_TABLE_GENERATOR_H_\r
+#define _SWAPv2_TABLE_GENERATOR_H_\r
+\r
+#ifdef __cplusplus\r
+extern "C"\r
+{\r
+#endif //__cplusplus\r
+\r
+#ifndef _WIN\r
+\r
+       #define SPC_INTERNAL  __attribute__((visibility("hidden")))\r
+#else\r
+       #define SPC_INTERNAL  \r
+#endif\r
+\r
+/*! SWAPv2 table generator return values */\r
+typedef enum\r
+{\r
+       SWAPv2_TBLGEN_RETURN_SUCCESS =                                  0x00000000,             /*!< success case */\r
+       SWAPv2_TBLGEN_RETURN_INVALID_PARAMETER =                        0x80000011,             /*!< null parameter */\r
+       SWAPv2_TBLGEN_RETURN_INVALID_KEYLEN =                           0x80000012,             /*!< invalid key length */\r
+       SWAPv2_TBLGEN_RETURN_INVALID_OTMZ_LEVEL =               0x80000013,             /*!< invalid optimization level */\r
+       SWAPv2_TBLGEN_RETURN_MEM_ALLOC_FAILED =                 0x80000014              /*!< memory allocation failed */\r
+} SWAPv2_TBLGEN_RETURN_VAL;\r
+\r
+/**\r
+ * @fn         unsigned int SWAPv2_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, unsigned int OptimizLev)\r
+ * @brief      derivate look-up table from given key\r
+ *\r
+ * @param      [in] Key                        user key (cipher key)\r
+ * @param      [in] KeyLen                     byte-length of cipher key\r
+ * @param      [in] seed                       random seed\r
+ * @param      [out] Table                     look-up table for SWAPv2\r
+ * @param      [out] TableLen          byte-length of look-up table\r
+ * @param      [in] isEncryption       flag ordering encryption or decryption\r
+ * @return     SWAPv2_TBLGEN_RETURN_VAL\r
+ */\r
+unsigned int SWAPv2_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif //__cplusplus\r
+\r
+#endif //_SWAPv2_TABLE_GENERATOR_H_\r
+\r
diff --git a/SPC/Inc/WhiteBox/SWAPv2_defines.h b/SPC/Inc/WhiteBox/SWAPv2_defines.h
new file mode 100755 (executable)
index 0000000..78fa022
--- /dev/null
@@ -0,0 +1,87 @@
+/**\r
+ * @file       SWAPv2_defines.h\r
+ * @brief      defines the constants, types and macros used in SWAPv2(Samsung Whitebox AES Project version2)\r
+ * @author     Samsung WhiteBox AES Version 2 (SWAPv1 based)\r
+ *                             - Chul Lee(chuls.lee@samsung.com)\r
+ *                             - Dept : Software R&D Center / Cloud Computing Lab.\r
+ *\r
+ *                     Samsung WhiteBox AES Version 1\r
+ *                              - Jisoon Park(js00n.park@samsung.com)\r
+ *                              - Dept: DMC R&D Center/Convergence Software Lab.\r
+ *\r
+ *                     \r
+ *                     \r
+ *\r
+ * @see                SWAPv2\r
+ * @date       2012-10-05\r
+ * @version    2.0\r
+ * @par                Copyright:\r
+ * Copyright 2012 by Samsung Electronics, Inc.,\r
+ * This software is the confiedential and properietary information \r
+ * of Samsung Elctronics, Inc. ("Confidential Information"). You \r
+ * shall not disclose such Confidential Information and shall use \r
+ * it only in accordance with the term of the lice agreement \r
+ * you entered into with Samsung.\r
+ * @par                Warning:\r
+ * This code sould not be exported out of Samsung Electronics.\r
+ * This code cannot be inserted in any customer device.\r
+ * The logic of whitebox table generation is confidential.\r
+ */\r
+\r
+#ifndef _SWAPv2_DEFINES_H_\r
+#define _SWAPv2_DEFINES_H_\r
+\r
+//#define SPC_INTERNAL \r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Constants\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SWAPv2_WORD_SIZE               4                       /*!< Each word has 4-byte length, defined in FIPS-197  */\r
+#define SWAPv2_COLUMNS                 4                       /*!< Number of columns comprising the State. Defined as Nb in FIPS-197  */\r
+\r
+#define SWAPv2_128_ROUNDS              10                      /*!< Number of rounds, for AES-128  */\r
+#define SWAPv2_192_ROUNDS              12                      /*!< Number of rounds, for AES-192  */\r
+#define SWAPv2_256_ROUNDS              14                      /*!< Number of rounds, for AES-256  */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Types\r
+////////////////////////////////////////////////////////////////////////////\r
+typedef unsigned char          SWAPv2_WORD[SWAPv2_WORD_SIZE];                                  //!< SWAPv2_WORD represents each word\r
+typedef unsigned char          SWAPv2_RK_BOX[SWAPv2_COLUMNS][SWAPv2_WORD_SIZE];//!< SWAPv2_RK_BOX represents round keys for one round\r
+typedef SWAPv2_WORD                    SWAPv2_MIX_COLUMN_BOX[16][16];                                  //!< SWAPv2_MIX_COLUMN_BOX represents each MC box\r
+typedef unsigned char          SWAPv2_SBOX[16][16];                                                    //!< SWAPv2_SBOX represents each S-box\r
+typedef SWAPv2_WORD                    SWAPv2_TBOX[16][16];                                                    //!< SWAPv2_TBOX represents transform table for each byte of round key\r
+typedef unsigned char          SWAPv2_PBOX[4][8];                                                              //!< SWAPv2_PBOX represents permutation table for each round\r
+typedef unsigned char          SWAPv2_PVECTOR[16];                                                             //!< SWAPv2_PVECTOR represents permutation vector for each round\r
+typedef SWAPv2_WORD                    SWAPv2_WORD_PBOX[16];                                                   //!< SWAPv2_WORD_PBOX represents permutation word of transform table for each round\r
+typedef unsigned char          SWAPv2_BIT_PBOX[8];\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Macros\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SBOX_SIZ                                       (16 * 16)                                                                                                               /*! SBOX_SIZ represents the size of S-box(16x16 matrix), for 4bit-4bit lookup */\r
+#define SWAPv2_T_TABLE_ROUND_SIZE              (sizeof(SWAPv2_TBOX) * SWAPv2_COLUMNS * SWAPv2_WORD_SIZE)       /*! SWAPv2_T_TABLE_ROUND_SIZE represents the size of transform table for one round */\r
+#define SWAPv2_P_TABLE_ROUND_SIZE              (sizeof(SWAPv2_PBOX))                                                                           /*! SWAPv2_P_TABLE_ROUND_SIZE represents the size of permutation table for one round */\r
+#define SWAPv2_WP_TABLE_ROUND_SIZE     SWAPv2_WORD_SIZE * 4                                                                                    /*! SWAPv2_WP_TABLE_ROUND_SIZE represents the size of permutation word of transform table for one round */\r
+#define SWAPv2_BP_TABLE_ROUND_SIZE     8                                                                                                                               /*! SWAPv2_BP_TABLE_ROUND_SIZE represents the size of permutation bit of transform table for one round */\r
+\r
+#define SETBIT_U8(val, idx, bit)       bit == 1 ?      (unsigned char) ( val | (1 << idx) ) :  (unsigned char) ( val & (~(1 << idx)) )         /*! set a bit */ \r
+#define GETBIT_U8(val, idx)                    (val & (1 << idx)) >> idx                                                                                                                                               /*! get a bit */\r
+\r
+\r
+/**\r
+ * @var static const unsigned char byte_pMatrix[24][4]\r
+ * @brief look-up matrix for CalcPWTBox, Calculate Word-Permutation T-Box\r
+ */\r
+static const unsigned char byte_pMatrix[24][4] = \r
+{\r
+       {0, 1, 2, 3}, {0, 1, 3, 2}, {0, 2, 1, 3}, {0, 2, 3, 1}, {0, 3, 1, 2}, {0, 3, 2, 1},\r
+       {1, 0, 2, 3}, {1, 0, 3, 2}, {1, 2, 0, 3}, {1, 2, 3, 0}, {1, 3, 0, 2}, {1, 3, 2, 0},\r
+       {2, 0, 1, 3}, {2, 0, 3, 1}, {2, 1, 0, 3}, {2, 1, 3, 0}, {2, 3, 0, 1}, {2, 3, 1, 0},\r
+       {3, 0, 1, 2}, {3, 0, 2, 1}, {3, 1, 0, 2}, {3, 1, 2, 0}, {3, 2, 0, 1}, {3, 2, 1, 0}\r
+};\r
+\r
+#endif //_SWAPv2_DEFINES_H_\r
diff --git a/SPC/Inc/Wrapper_common.h b/SPC/Inc/Wrapper_common.h
new file mode 100755 (executable)
index 0000000..30e6a24
--- /dev/null
@@ -0,0 +1,186 @@
+//SAKEP Message Format \r
+#define SAKEP_AKE_MSG_START_INDEX                                                                                                              0\r
+#define SAKEP_AKE_MSG_VERSION_LEN                                                                                                              1\r
+#define SAKEP_AKE_MSG_DATATYPE_LEN                                                                                                     1\r
+#define SAKEP_AKE_MSG_TIMESTAMP_LEN                                                                                                    4\r
+#define SAKEP_AKE_MSG_PAYLOAD_ALG_LEN                                                                                          1\r
+#define SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN                                                                               4\r
+#define SAKEP_AKE_MSG_USERID_LENGTH_LEN                                                                                        4\r
+#define SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN                                                                              128\r
+#define SAKEP_AKE_MSG_INITIAL_SETUP_DATA_LEN                                                           128     \r
+#define SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN                                                                    20\r
+#define SAKEP_AKE_MSG_ACK_SERVER_PAYLOAD_LEN                                                           20\r
+#define SAKEP_AKE_MSG_SK_PAYLOAD_HASH_DATA_LEN                                                 20\r
+#define SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN                                                                              1\r
+#define SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN                                                                    4\r
+#define SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN                                                        20\r
+#define SAKEP_AKE_MSG_TOT_HASH_DATA_LEN                                                                                        20\r
+#define SAKEP_AKE_MSG_CLIENTHELLO_FIXED_LEN                                                                    168\r
+#define SAKEP_AKE_MSG_SERVERHELLO_FIXED_LEN                                                                    148\r
+#define SAKEP_AKE_MSG_INITALSETUP_FIXED_LEN                                                                    148\r
+#define SAKEP_AKE_MSG_RECORD_FIXED_LEN                                                                                         36\r
+#define SAKEP_AKE_MSG_ACK_FIXED_LEN                                                                                                    20\r
+#define SAKEP_MAC_KEY_SIZE                                                                                                                                     20\r
+#define SAKEP_AKE_USERID_LEN                                                                                                                           32\r
+#define SAKEP_SHARED_KEY_SIZE                                                                                                                          16\r
+#define SAKEP_SK_PRIME_KEY_SIZE                                                                                                                        20\r
+#define SAKEP_PREVIOS_MESSAGE_HASH_SIZE                                                                                        20\r
+#define SAKEP_SHA1_HASH_SIZE                                                                                                                           20\r
+#define SAKEP_DLBP_PAK_PARMETER_SIZE                                                                                           128\r
+#define SAKEP_DLBP_PAK_ORDER_PARMETER_SIZE                                                                     20\r
+#define SAKEP_SHA1_DIGEST_LENGTH                                                                                                               20\r
+#define SPC_SERVERACK_SUCCESS                                                                                                                          0//ack payload message\r
+#define SAKEP_IV_SIZE                                                                                                                                                          16\r
+#define SAKEP_AES_ECB_ADDED_PADDING_SIZE                                                                               16\r
+#define SPC_WB_BLOCK_SIZE                                                                                                                                              16\r
+#define SAKEP_GXY_KEY_SIZE                                                                                                                                     16\r
+\r
+//PBKEF \r
+#define SAKEP_PBKDF_DK_SIZE                                                                                                                                    16\r
+#define SAKEP_MFEK_KEY_SIZE                                                                                                                                    16\r
+#define SAKEP_AUTH_KEY_SIZE                                                                                                                                    16\r
+#define SAKEP_PBKDF_COUNT                                                                                                                                              100\r
+\r
+//ERROR message\r
+#define SPC_SUCCESS                                                                                                            0\r
+\r
+#define SAKEP_FILE_ENDECRYPTION_FILE_OPEN_ERROR                                                -161\r
+#define SAKEP_FILE_ENDECRYPTION_FILE_SEEK_ERROR                                                -162\r
+#define SAKEP_FILE_ENDECRYPTION_FILE_READ_WRITE_ERROR                  -163\r
+#define SAKEP_FILE_ENDECRYPTION_FILE_ENDECRYPTED_ERROR         -164\r
+#define SAKEP_ENCRYPTION_DECRYPTION_ERROR                                                                      -165\r
+\r
+#define SAKEP_MEMROY_ALLOCATE_ERROR                                                                                            -180\r
+#define SAKEP_INPUT_INVALID_ERROR                                                                                                      -181\r
+#define SAKEP_MESSAGE_ERROR                                                                                                                            -182\r
+#define SAKEP_NULL_POINT_ERROR                                                                                                         -183\r
+#define SAKEP_UNEXPECTED_MESSAGE_ERROR                                                                         -184 \r
+#define SAKEP_CREATE_PIPRIME_ERROR                                                                                             -185\r
+#define SAKEP_GETGX_SETBSPARAM_ERROR                                                                                   -186\r
+#define SAKEP_GETGX_GENEARTORBSPRIVATE_ERROR                                                   -187\r
+#define SAKEP_GETGX_ERROR                                                                                                                                      -188\r
+#define SAKEP_GETGYWC_SETBSPARAM_ERROR                                                                         -189\r
+#define SAKEP_GETGYWC_GENEARTORBSPUBLIC_ERROR                                                  -190\r
+#define SAKEP_INVAILD_STATE_ERROR                                                                                                      -191\r
+#define SAKEP_MESSAGE_GENERATE_FAIL                                                                                            -200\r
+\r
+#define        SAKEP_VALIDATION_FAILED                                                                                                                 -201\r
+#define        SAKEP_INVALID_PARAMETER                                                                                                                 -202\r
+#define        SAKEP_MAC_VALIDATION_FAILED                                                                                                     -203 \r
+#define        SAKEP_INVALID_RECOVERY_DATA_LENGTH                                                                      -204\r
+#define SAKEP_IV_CREATE_FAIL                                                                                                                           -205\r
+#define SAKEP_SDWAP_FAILED                                                                                                                                     -206\r
+#define SAKEP_SWAP_FAILED                                                                                                                                              -207\r
+#define SAKEP_KEY_CREATE_FAIL                                                                                                                          -208\r
+#define SAKEP_GD_DECRYPITON_FAIL                                                                                                               -209\r
+#define SAKEP_PASSWORD_TRANSFORM_FAIL                                                                                          -210\r
+#define SAKEP_INVALID_TRANSFORMED_PADDING                                                                              -211\r
+#define SAKEP_ENCRYPT_GX_FAIL                                                                                                  -212\r
+#define SAKEP_DECRYPT_GX_FAIL                                                                                                  -213\r
+#define SAKEP_DECRYPT_GY_FAIL                                                                                                  -214\r
+#define SAKEP_ENCRYPT_GY_FAIL                                                                                                  -215\r
+#define SAKEP_USERID_INVAILD                                                                                                   -216    // USERID IS NOT SAME (Peer UserID and My UserID)\r
+#define SAKEP_ERROR                                                                                                                                                                    -1\r
+#define SAKEP_SUCCESS                                                                                                                                                          0\r
+#define        SAKEP_VALIDATION_SUCCESS                                                                                                                0\r
+\r
+\r
+//error Type \r
+typedef enum {\r
+       UNSPPORTED_VERSION_ERROR=0x81,\r
+       INVALID_RECORD_PROTOCOL_ERROR,\r
+       INTEGRITY_ERROR,\r
+       INTEGRITY_LENGTH_ERROR,\r
+       UNEXPECTED_MESSAGE_ERROR,\r
+       INVALID_CLIENT_HELLO_ERROR,\r
+       INVALID_SERVER_HELLO_ERROR,\r
+       INVALID_SERVER_ACK_ERROR,\r
+       INVALID_CLIENT_ACK_ERROR,\r
+       INVALID_INITIALSETUP_ERROR,\r
+       INVALID_TOKEN_REQ_ERROR,\r
+       INVALID_TOKEN_VALIDATION_REQ_ERROR,\r
+       INVALID_CLIENT_ACK_PAYLOAD_ERROR,\r
+       RECORD_ENCRYPTED_ERROR,\r
+       RECORD_DECRYPTED_ERROR,\r
+       RECORD_INVALID_INTEGRITY_ERROR,\r
+       FILE_ENCRYPTED_ERROR,\r
+       FILE_DECRYPTED_ERROR,\r
+       UNSPPORTED_ENDECRYPTION_MODE,\r
+       INVALIED_PARAMETER_ERROR,\r
+       INVALIED_PAYLOAD_LEN_ERROR,\r
+       LOGIN_COUNT_LIMITED_ERROR,\r
+       UNKNOWN_ERROR,\r
+       GD_DECRYPTION_ERROR,\r
+       PASSWORD_TRANSFORM_FAIL,\r
+       SUCCESS=0x00\r
+}ErrorType;\r
+\r
+typedef enum { \r
+       STATE_IDLE,\r
+       STATE_WAIT_INITALSETUP,                         \r
+       STATE_WAIT_CLIENTHELLO,\r
+       STATE_WAIT_SERVERHELLO,\r
+       STATE_WAIT_SERVERACKHELLO,\r
+       STATE_WAIT_CLIENTACKHELLO,\r
+       STATE_AKE_CANCEL,\r
+       STATE_ERROR,\r
+       STATE_COMPLETED\r
+       \r
+}AkeState;\r
+\r
+typedef struct\r
+{\r
+       unsigned char pSharedkey[SAKEP_SHARED_KEY_SIZE];\r
+       unsigned char   pSKPrime[SAKEP_SK_PRIME_KEY_SIZE];\r
+       unsigned char   pPreHashMsg[SAKEP_SHA1_HASH_SIZE];      \r
+       AkeState                eState;\r
+       ErrorType               eErrorType;\r
+//     unsigned int    nSeqNum;\r
+//     unsigned char  pCurrentID[SAKEP_AKE_USERID_LEN];//ÇöÀçÀÇ ID \r
+}Handle_CTX;\r
+\r
+typedef enum \r
+{\r
+       SERVER_MODE,\r
+       CLIENT_MODE\r
+}ModeType;\r
+\r
+\r
+\r
+#define ID_MAX_LEN                     256\r
+#define PWD_MAX_LEN                    32\r
+#define TOT_USERCOUNT_LEN              4\r
+#define ID_PWD_FIELD_LEN       4\r
+#define USERCOUNT_MAX          8\r
+#define SPC_LOGIN_LIMITED_COUNT 5\r
+\r
+\r
+\r
+#define SPC_ENCRYPT_FORMAT_MFEK1_LEN                                   4\r
+#define SPC_ENCRYPT_FORMAT_USERID_LEN                                  4\r
+#define SPC_ENCRYPT_FORMAT_FILE_LEN                                            4\r
+#define SPC_ENCRYPT_FORMAT_FEK1_LEN                                            4\r
+#define SPC_ENCRYPT_FORMAT_FEK1_LEN                                            4\r
+#define SPC_ENCRYPT_FORMAT_USERMAC_LENGTH_LEN                  4\r
+#define SPC_ENCRYPT_FORMAT_USERMAC_LEN                                 20\r
+\r
+\r
+\r
+//Error type\r
+#define SPC_SUCCESS                                                    0\r
+#define SPC_FAIL                                                       -1\r
+#define INPUT_ERROR                                    -200\r
+\r
+\r
+typedef struct\r
+{\r
+       //unsigned char pUserID[ID_MAX_LEN];\r
+       unsigned char   *pUserID;\r
+       unsigned int   nUserIDLen;\r
+       unsigned int    LoginTryCount;\r
+       Handle_CTX              ctx;\r
+}SPCHandle_CTX;\r
+\r
+\r
+\r
+\r
diff --git a/SPC/Inc/base/ANSI_x931.h b/SPC/Inc/base/ANSI_x931.h
new file mode 100755 (executable)
index 0000000..dd07c96
--- /dev/null
@@ -0,0 +1,48 @@
+/**\r
+ * \file       ANSI_x931.h\r
+ * @brief      Pseudorandom number generator based on a design described in ANSI X9.31\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Junbum Shin\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/08/23\r
+ */\r
+\r
+#ifndef _ANSI_X931_H\r
+#define _ANSI_X931_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <time.h>\r
+#include "CryptoCore.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_RNG_X931   \r
+ * @brief      generate random number with seed\r
+ *\r
+ * @param      Seed                            [in]seed for RNG System\r
+ * @param      bitLength                       [in]bit length of data to generate\r
+ * @param      data                            [out]generated data\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_RNG_X931(cc_u8 *Seed, cc_u32 bitLength, cc_u8 *data);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/aes.h b/SPC/Inc/base/aes.h
new file mode 100755 (executable)
index 0000000..6544614
--- /dev/null
@@ -0,0 +1,171 @@
+/**\r
+ * rijndael-alg-fst.h\r
+ *\r
+ * @version 3.0 (December 2000)\r
+ *\r
+ * Optimised ANSI C code for the Rijndael cipher (now AES)\r
+ *\r
+ * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>\r
+ * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>\r
+ * @author Paulo Barreto <paulo.barreto@terra.com.br>\r
+ *\r
+ * This code is hereby placed in the public domain.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS\r
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE\r
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\r
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\r
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+#ifndef _AES_H\r
+#define _AES_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CryptoCore.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_rijndaelKeySetupEnc\r
+ * @brief      Expand the cipher key into the encryption key schedule\r
+ *\r
+ * @param      rk                                      [out]expanded round key\r
+ * @param      cipherKey                       [in]user key\r
+ * @param      keyBits                         [in]bit-length of cipherKey\r
+ *\r
+ * @return     the number of rounds for the given cipher key size\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_rijndaelKeySetupEnc(cc_u32 rk[/*4*(Nr + 1)*/], const cc_u8 cipherKey[], int keyBits);\r
+\r
+/*\r
+ * @fn         SDRM_rijndaelKeySetupDec\r
+ * @brief      Expand the cipher key into the decryption key schedule\r
+ *\r
+ * @param      rk                                      [out]expanded round key\r
+ * @param      cipherKey                       [in]user key\r
+ * @param      keyBits                         [in]bit-length of cipherKey\r
+ *\r
+ * @return     the number of rounds for the given cipher key size\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_rijndaelKeySetupDec(cc_u32 rk[/*4*(Nr + 1)*/], const cc_u8 cipherKey[], int keyBits);\r
+\r
+/*\r
+ * @fn         SDRM_rijndaelEncrypt\r
+ * @brief      16 byte AES Encryption with round key\r
+ *\r
+ * @param      rk                                      [in]expanded round key\r
+ * @param      Nr                                      [in]numer of rounds\r
+ * @param      pt                                      [in]plain text\r
+ * @param      ct                                      [out]cipher text\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_rijndaelEncrypt(const cc_u32 rk[/*4*(Nr + 1)*/], int Nr, const cc_u8 pt[16], cc_u8 ct[16]);\r
+\r
+/*\r
+ * @fn         SDRM_rijndaelDecrypt\r
+ * @brief      16 byte AES Decryption with round key\r
+ *\r
+ * @param      rk                                      [in]expanded round key\r
+ * @param      Nr                                      [in]numer of rounds\r
+ * @param      ct                                      [in]cipher text\r
+ * @param      pt                                      [out]plain text\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_rijndaelDecrypt(const cc_u32 rk[/*4*(Nr + 1)*/], int Nr, const cc_u8 ct[16], cc_u8 pt[16]);\r
+\r
+/*\r
+ * @fn         SDRM_AES128_Encryption\r
+ * @brief      AES-128 Encryption\r
+ *\r
+ * @param      cipherText      [out]encrypted text\r
+ * @param      plainText       [in]plain text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES128_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey);\r
+\r
+/*\r
+ * @fn         SDRM_AES128_Decryption\r
+ * @brief      AES-128 Decryption\r
+ *\r
+ * @param      plainText       [out]decrypted text\r
+ * @param      cipherText      [in]cipher text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES128_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey);\r
+\r
+/*\r
+ * @fn         SDRM_AES192_Encryption\r
+ * @brief      AES-192 Encryption\r
+ *\r
+ * @param      cipherText      [out]encrypted text\r
+ * @param      plainText       [in]plain text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES192_Encryption(cc_u8 *cipherText, cc_u8 *plainText,    cc_u8 *UserKey);\r
+\r
+/*\r
+ * @fn         SDRM_AES192_Decryption\r
+ * @brief      AES-192 Decryption\r
+ *\r
+ * @param      plainText       [out]decrypted text\r
+ * @param      cipherText      [in]cipher text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES192_Decryption(cc_u8 *plainText, cc_u8 *cipherText,    cc_u8 *UserKey);\r
+\r
+/*\r
+ * @fn         SDRM_AES256_Encryption\r
+ * @brief      AES-256 Encryption\r
+ *\r
+ * @param      cipherText      [out]encrypted text\r
+ * @param      plainText       [in]plain text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES256_Encryption(cc_u8 *cipherText, cc_u8 *plainText,    cc_u8 *UserKey);\r
+\r
+/*\r
+ * @fn         SDRM_AES256_Decryption\r
+ * @brief      AES-256 Decryption\r
+ *\r
+ * @param      plainText       [out]decrypted text\r
+ * @param      cipherText      [in]cipher text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES256_Decryption(cc_u8 *plainText, cc_u8 *cipherText,    cc_u8 *UserKey);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/bignum.h b/SPC/Inc/base/bignum.h
new file mode 100755 (executable)
index 0000000..035fcdc
--- /dev/null
@@ -0,0 +1,611 @@
+/**\r
+ * \file       bignum.h\r
+ * @brief      big number library\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/08/03\r
+ */\r
+\r
+#ifndef _BIGNUM_H\r
+#define _BIGNUM_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CryptoCore.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Parameters and Bit-wise Macros\r
+////////////////////////////////////////////////////////////////////////////\r
+/*!    @brief  byte-length of single cc_u32    */\r
+#define SDRM_SIZE_OF_DWORD                     4\r
+/*!    @brief  bit-length of single cc_u32     */\r
+#define SDRM_BitsInDWORD                       (8 * SDRM_SIZE_OF_DWORD)\r
+\r
+/*!    @brief  get k-th bit form cc_u32 array A        */\r
+#define SDRM_CheckBitUINT32(A, k)      (0x01 & ((A)[(k) >> 5] >> ((k) & 31)))\r
+\r
+/*!    @brief  get k-th byte from cc_u32 array A       */\r
+#define SDRM_CheckByteUINT32(A, k)     (cc_u8)(0xff & (A[(k) >> 2] >> (((k) & 3 ) << 3)))\r
+#define SDRM_isEven0(X)                                (((X)[0] & 0x01) == 0)\r
+#define SDRM_isOdd0(X)                         (((X)[0] & 0x01) == 1)\r
+\r
+/*!    @brief  increase 1 from Byte Array A, byte-length of B  */\r
+#define SDRM_INC_BA(A, B)                      do {                                                                                    \\r
+                                                                               for (i = 0; i < (B); i++) {                                     \\r
+                                                                                       if (++A[i] != 0) break;                                 \\r
+                                                                               }                                                                                       \\r
+                                                                       } while(0)                                                                              \\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// MACROs for cc_u32 Evaluation\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_DIGIT_Mul(Dest, Src1, Src2)\r
+ * @brief      Double-width UINT32 Multiplication\r
+ * @param      Dest            [out]destination, 2-cc_u32-size array\r
+ * @param      Src1            [in]first element\r
+ * @param      Src2            [in]second element\r
+ *\r
+ * @return     void\r
+ */\r
+#ifndef _OP64_NOTSUPPORTED\r
+#define SDRM_DIGIT_Mul(Dest, Src1, Src2)       do {                                                                                                                                            \\r
+                                                                                               (Dest)[0] = (cc_u32) ((cc_u64)(Src1) * (Src2));                                                 \\r
+                                                                                               (Dest)[1] = (cc_u32)(((cc_u64)(Src1) * (Src2)) >> SDRM_BitsInDWORD);    \\r
+                                                                                       } while(0)\r
+#else\r
+CRYPTOCORE_INTERNAL void SDRM_DIGIT_Mul(cc_u32 *Dest, cc_u32 Src1, cc_u32 Src2);\r
+#endif\r
+       \r
+/*\r
+ * @fn         SDRM_DIGIT_Div(Src1, Src2, Div)\r
+ * @brief      Doublue-width DWROD Division\r
+ *\r
+ * @param      Src1            [in]upper-digit of dividend\r
+ * @param      Src2            [in]lower-digit of dividend\r
+ * @param      Div                     [in]divisor\r
+ */\r
+#ifndef _OP64_NOTSUPPORTED\r
+#define SDRM_DIGIT_Div(Src1, Src2, Div)        (cc_u32)((((cc_u64)(Src1) << SDRM_BitsInDWORD) ^ (Src2)) / (Div))\r
+#else\r
+CRYPTOCORE_INTERNAL cc_u32 SDRM_DIGIT_Div(cc_u32 Src1, cc_u32 Src2, cc_u32 Div);\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_DIGIT_Mod(Src1, Src2, Div)\r
+ * @brief      Doublue-width DWROD Modular\r
+ *\r
+ * @param      Src1            [in]upper-digit of dividend\r
+ * @param      Src2            [in]lower-digit of dividend\r
+ * @param      Div                     [in]divisor\r
+ */\r
+#ifndef _OP64_NOTSUPPORTED\r
+#define SDRM_DIGIT_Mod(Src1, Src2, Div)        (cc_u32)((((cc_u64)(Src1) << SDRM_BitsInDWORD) ^ (Src2)) % (Div))\r
+#else\r
+CRYPTOCORE_INTERNAL cc_u32 SDRM_DIGIT_Mod(cc_u32 Src1, cc_u32 Src2, cc_u32 Div);\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_DWD_Copy(Dest, Src, Size)\r
+ * @brief      Copy Digit Array\r
+ *\r
+ * @param      Dest            [in]destination, cc_u32 array\r
+ * @param      Src                     [in]source, cc_u32 array\r
+ * @param      Size            [in]length of dSrc\r
+ */\r
+#define SDRM_DWD_Copy(Dest, Src, Size) do {                                                                                            \\r
+                                                                                       memcpy(Dest, Src, SDRM_SIZE_OF_DWORD * Size);   \\r
+                                                                               } while(0)\r
+       \r
+////////////////////////////////////////////////////////////////////////////\r
+// MACROs for Big Number\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_BN_IS_ODD(a)\r
+ * @brief      check big number a is an odd number     \r
+ */\r
+#define SDRM_BN_IS_ODD(a)                      ((a)->pData[0] & 1)\r
+\r
+/*\r
+ * @fn         SDRM_BN_FREE(X)\r
+ * @brief      free allocated memory   \r
+ */\r
+#define SDRM_BN_FREE(X)                                do {if (X) free(X);} while(0)\r
+\r
+/*     \r
+ * @fn         SDRM_BN_OPTIMIZE_LENGTH(BN\r
+ * @brief      optimize SDRM_BIG_NUM's length member   \r
+ */\r
+#define SDRM_BN_OPTIMIZE_LENGTH(BN)    do {                                                                                                                    \\r
+                                                                               while((BN)->Length > 0)                                                                         \\r
+                                                                                       if((BN)->pData[(BN)->Length - 1])                                               \\r
+                                                                                               break;                                                                                          \\r
+                                                                                       else                                                                                                    \\r
+                                                                                               (BN)->Length--;                                                                         \\r
+                                                                       } while(0)\r
+/*\r
+ * @fn         SDRM_IS_BN_NEGATIVE(X)\r
+ * @brief      check big number's sign \r
+ */\r
+#define SDRM_IS_BN_NEGATIVE(X)         ((X)->sign)\r
+\r
+/*!    @brief  calc cc_u32-length when byte array is converted to cc_u32 array */\r
+#define SDRM_B2DLEN(X)                         ((X) > 0 ? (((X) - 1) >> 2) + 1 : 0)\r
+\r
+/*!    @brief  count byte-length of big number */\r
+#define        SDRM_BN_GETBYTELEN(X, A)        do {                                                                                                                                            \\r
+                                                                               if (!((X)->Length)) (A) = 0;                                                                                    \\r
+                                                                               else {                                                                                                                                  \\r
+                                                                                       (A) = (X)->Length * 4;                                                                                          \\r
+                                                                                       while(SDRM_CheckByteUINT32((X)->pData, (A) - 1) == 0) {(A) -= 1;}       \\r
+                                                                               }                                                                                                                                               \\r
+                                                                       } while(0)\r
+\r
+/*!    @brief  count bit-length of big number  */\r
+#define        SDRM_BN_GETBITLEN(X, A) do {                                                                                                                                                    \\r
+                                                                               if (!((X)->Length)) (A) = 0;                                                                                    \\r
+                                                                               else {                                                                                                                                  \\r
+                                                                                       (A) = (X)->Length * SDRM_BitsInDWORD;                                                           \\r
+                                                                                       while(SDRM_CheckBitUINT32((X)->pData, (A) - 1) == 0) {(A) -= 1;}        \\r
+                                                                               }                                                                                                                                               \\r
+                                                                       } while(0)\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Global Variables\r
+////////////////////////////////////////////////////////////////////////////\r
+/*!    @brief  some special big numbers        */\r
+extern CRYPTOCORE_INTERNAL SDRM_BIG_NUM *BN_Zero, *BN_One;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+CRYPTOCORE_INTERNAL int SDRM_DWD_Classical_REDC(cc_u32 *pdDest, cc_u32 DstLen, cc_u32 *pdModulus, cc_u32 ModLen);\r
+\r
+/*\r
+ * @fn         int     SDRM_BN2OS(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst)\r
+ * @brief      Convert Big Number to Octet String\r
+ *\r
+ * @param      BN_Src  [in]source integer\r
+ * @param      dDstLen [in]Byte-length of pbDst\r
+ * @param      pbDst   [out]output octet string\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if arrary is too small\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_BN2OS(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst);\r
+\r
+/*\r
+ * @fn         int     SDRM_OS2BN(cc_u8* pbSrc, cc_u32 dSrcLen, SDRM_BIG_NUM *BN_Dst)\r
+ * @brief      Convert Octet String to Big Number\r
+ *\r
+ * @param      pbSrc   [in]source octet string\r
+ * @param      dSrcLen [in]Byte-length of pbSrc\r
+ * @param      BN_Dst  [out]output big number\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if arrary is too small\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_OS2BN(cc_u8* pbSrc, cc_u32 dSrcLen, SDRM_BIG_NUM *BN_Dst);\r
+\r
+/*\r
+ * @fn         int     SDRM_I2OSP(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst)\r
+ * @brief      Converts a nonnonegative integer to an octet string of a specified length\r
+ *\r
+ * @param      BN_Src                                  [in]nonnegative integer to be converted\r
+ * @param      dDstLen                                 [in]intended length of the resulting octet string\r
+ * @param      pbDst                                   [out]corresponding octet string of length dDstLen\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_I2OSP(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_Clr(SDRM_BIG_NUM* BN_Src)\r
+ * @brief      Clear the SDRM_BIG_NUM structure\r
+ *\r
+ * @param      BN_Src          [in]source\r
+ *\r
+ * @return     CRYPTO_SUCCESS\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Clr(SDRM_BIG_NUM* BN_Src);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_Copy(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src)\r
+ * @brief      copy SDRM_BIG_NUM\r
+ *\r
+ * @param      BN_Dest         [out]destination\r
+ * @param      BN_Src          [in]source\r
+ *\r
+ * @return     CRYPTO_SUCCESS\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Copy(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src);\r
+\r
+/*\r
+ * @fn         SDRM_BIG_NUM *SDRM_BN_Alloc(cc_u8* pbSrc, cc_u32 dSize)\r
+ * @brief      allocate big number from buffer\r
+ *\r
+ * @param      pbSrc           [in]start pointer of buffer\r
+ * @param      dSize           [in]buffer size of big number\r
+ *\r
+ * @return     pointer of SDRM_BIG_NUM structure\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_BIG_NUM *SDRM_BN_Alloc(cc_u8* pbSrc, cc_u32 dSize);\r
+\r
+/*\r
+ * @fn         SDRM_BIG_NUM *SDRM_BN_Init(cc_u32 dSize)\r
+ * @brief      Allocate a new big number object\r
+ *\r
+ * @param      dSize           [in]buffer size of big number\r
+ *\r
+ * @return     pointer of SDRM_BIG_NUM structure\r
+ * \n          NULL if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_BIG_NUM *SDRM_BN_Init(cc_u32 dSize);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_Cmp(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+ * @brief      Compare two Big Number\r
+ *\r
+ * @param      BN_Src1         [in]first element\r
+ * @param      BN_Src2         [in]second element\r
+ *\r
+ * @return     1 if BN_Src1 is larger than pdSrc2\r
+ * \n          0 if same\r
+ * \n          -1 if BN_Src2 is larger than pdSrc1\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Cmp(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2);                     // sign ºñ±³¾ÈÇÔ\r
+\r
+/*\r
+ * @fn         int SDRM_BN_Cmp_sign(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+ * @brief      Compare two Big Number considering sign\r
+ *\r
+ * @param      BN_Src1         [in]first element\r
+ * @param      BN_Src2         [in]second element\r
+ *\r
+ * @return     1 if BN_Src1 is larger than pdSrc2\r
+ * \n          0 if same\r
+ * \n          -1 if BN_Src2 is larger than pdSrc1\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Cmp_sign(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2);                // sign ºñ±³\r
+\r
+/*\r
+ * @fn         int SDRM_BN_Rand(SDRM_BIG_NUM *BN_Dst, cc_u32 BitLen)\r
+ * @brief      Generate simple random number\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BitLen          [in]bit-length of generated random number\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Rand(SDRM_BIG_NUM *BN_Dst, cc_u32 BitLen);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_SHL(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift)\r
+ * @brief      Big Number Shift Left\r
+ *\r
+ * @param      BN_Dst                  [out]destination\r
+ * @param      BN_Src                  [in]source\r
+ * @param      NumOfShift              [in]shift amount\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_SHL(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_SHR(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift)\r
+ * @brief      Big Number Shift Right\r
+ *\r
+ * @param      BN_Dst                  [out]destination\r
+ * @param      BN_Src                  [in]source\r
+ * @param      NumOfShift              [in]shift amount\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_SHR(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_Add(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+ * @brief      Big Number Addition\r
+ *\r
+ * @param      BN_Dst                                          [out]destination\r
+ * @param      BN_Src1                                         [in]first element\r
+ * @param      BN_Src2                                         [in]second element\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Add(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_Sub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+ * @brief      Big Number Subtraction\r
+ *\r
+ * @param      BN_Dst                                          [out]destination\r
+ * @param      BN_Src1                                         [in]first element\r
+ * @param      BN_Src2                                         [in]second element\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Sub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+ * @brief      Big Number Multiplication\r
+ *\r
+ * @param      BN_Dst                                          [out]destination\r
+ * @param      BN_Src1                                         [in]first element\r
+ * @param      BN_Src2                                         [in]second element\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_Div(SDRM_BIG_NUM *BN_Quotient, SDRM_BIG_NUM *BN_Remainder, SDRM_BIG_NUM *BN_Dividend, SDRM_BIG_NUM *BN_Divisor)\r
+ * @brief      Big Number Division\r
+ *\r
+ * @param      BN_Quotient                                     [out]quotient\r
+ * @param      BN_Remainder                            [out]remainder\r
+ * @param      BN_Dividend                                     [in]dividend\r
+ * @param      BN_Divisor                                      [in]divisor\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Div(SDRM_BIG_NUM *BN_Quotient, SDRM_BIG_NUM *BN_Remainder, SDRM_BIG_NUM *BN_Dividend, SDRM_BIG_NUM *BN_Divisor);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_ModAdd(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus)\r
+ * @brief      Big Number Modular Addition\r
+ *\r
+ * @param      BN_Dst                                          [out]destination\r
+ * @param      BN_Src1                                         [in]first element of addition\r
+ * @param      BN_Src2                                         [in]second element of addition\r
+ * @param      BN_Modulus                                      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModAdd(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_ModSub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus)\r
+ * @brief      Big Number Modular Subtraction\r
+ *\r
+ * @param      BN_Dst                                          [out]destination\r
+ * @param      BN_Src1                                         [in]first element of subtraction\r
+ * @param      BN_Src2                                         [in]second element of subtraction\r
+ * @param      BN_Modulus                                      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModSub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_ModRed(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus)\r
+ * @brief      Big Number Modular Reduction\r
+ *\r
+ * @param      BN_Dst                                          [out]destination\r
+ * @param      BN_Src                                          [in]source\r
+ * @param      BN_Modulus                                      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModRed(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_ModMul(SDRM_BIG_NUM *BN_Res, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus)\r
+ * @brief      Big Number Modular Multiplication\r
+ *\r
+ * @param      BN_Res                                          [out]destination\r
+ * @param      BN_Src1                                         [in]first element of multiplication\r
+ * @param      BN_Src2                                         [in]second element of multipliation\r
+ * @param      BN_Modulus                                      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModMul(SDRM_BIG_NUM *BN_Res, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_ModInv(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus)\r
+ * @brief      Big Number Modular Inverse\r
+ *\r
+ * @param      BN_Dst                                          [out]destination\r
+ * @param      BN_Src                                          [in]soure\r
+ * @param      BN_Modulus                                      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_NEGATIVE_INPUT           if source is negative value\r
+ * \n          CRYPTO_INVERSE_NOT_EXIST        if inverse is not exists\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModInv(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_ModExp(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus)\r
+ * @brief      Big Number Modular Exponentiation\r
+ *\r
+ * @param      BN_Dst                                          [out]destination\r
+ * @param      BN_Base                                         [in]base\r
+ * @param      BN_Exponent                                     [in]exponent\r
+ * @param      BN_Modulus                                      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_ERROR                            if evaluation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModExp(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_ModExp2(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus)\r
+ * @brief      Big Number Modular Exponentiation2 - Karen's method\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Base         [in]base\r
+ * @param      BN_Exponent     [in]exponent\r
+ * @param      BN_Modulus      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_ERROR    if evaluation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModExp2(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus);\r
+\r
+/*\r
+ * @fn         void SDRM_PrintBN(const char* s, SDRM_BIG_NUM* bn)\r
+ * @brief      Show out a Big Number\r
+ *\r
+ * @param      level           [in]log level\r
+ * @param      s                       [in]title\r
+ * @param      bn                      [in]big number to show out\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_PrintBN(const char* s, SDRM_BIG_NUM* bn);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_num_bits(SDRM_BIG_NUM *BN_Src)\r
+ * @brief      Calc bit-length of Big Number\r
+ *\r
+ * @param      BN_Src  [in]source\r
+ *\r
+ * @return     bit-length\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_num_bits(SDRM_BIG_NUM *BN_Src);\r
+\r
+/*\r
+ * @fn         int     SDRM_UINT32_num_bits(cc_u32 *pdSrc)\r
+ * @brief      Calc bit-length of cc_u32\r
+ *\r
+ * @param      pdSrc   [in]source\r
+ *\r
+ * @return     bit-length\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_UINT32_num_bits(cc_u32 *pdSrc);\r
+\r
+/*\r
+ * @fn         int     SDRM_INT_num_bits(int Src)\r
+ * @brief      Calc bit-length of integer\r
+ *\r
+ * @param      Src     [in]source\r
+ *\r
+ * @return     bit-length\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_INT_num_bits(int Src);\r
+\r
+/*\r
+ * @fn         int SDRM_MONT_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_MONT *Mont)\r
+ * @brief      Montgomery Multiplication\r
+ *\r
+ * @param      BN_Dst          [out]destination, montgomery number\r
+ * @param      BN_Src1         [in]first element, montgomery number\r
+ * @param      BN_Src2         [in]second element, montgomery number\r
+ * @param      Mont            [in]montgomery parameters\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MONT_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_MONT *Mont);\r
+\r
+/*\r
+ * @fn         SDRM_MONT_Zn2rzn(DST, SRC1, MONT)\r
+ * @brief      Convert normal number to Montgomery number\r
+ * @param      Dst                     [out]destination, montgomery number\r
+ * @param      SRC1            [in]source, normal number\r
+ * @param      MONT            [in]montgomery parameters\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ */\r
+#define SDRM_MONT_Zn2rzn(DST, SRC1, MONT)      SDRM_MONT_Mul(DST, SRC1, (MONT)->R, MONT)\r
+\r
+/*\r
+ * @fn         int SDRM_MONT_Rzn2zn(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_MONT *Mont)\r
+ * @brief      Convert Montgomery number to normal number\r
+ *\r
+ * @param      BN_Dst          [out]destination, normal number\r
+ * @param      BN_Src1         [in]source, montgomery number\r
+ * @param      Mont            [in]montgomery parameters\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MONT_Rzn2zn(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_MONT *Mont);\r
+\r
+/*\r
+ * @fn         SDRM_BIG_MONT *SDRM_MONT_Init(cc_u32 dSize)\r
+ * @brief      Allocate new momory for Montgomery parameter\r
+ *\r
+ * @param      dSize   [in]size of buffer of big number\r
+ *\r
+ * @return     Pointer to created structure\r
+ * \n          NULL if malloc failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_BIG_MONT *SDRM_MONT_Init(cc_u32 dSize);\r
+\r
+/*\r
+ * @fn         int SDRM_MONT_Set(SDRM_BIG_MONT *Mont, SDRM_BIG_NUM *BN_Modulus)\r
+ * @brief      Set Montgomery parameters\r
+ *\r
+ * @param      Mont            [out]montgomery parameter\r
+ * @param      BN_Modulus      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          BN_NOT_ENOUGHT_BUFFER if malloc is failed\r
+ * \n          CRYPTO_INVERSE_NOT_EXIST if inverse is not exists\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MONT_Set(SDRM_BIG_MONT *Mont, SDRM_BIG_NUM *BN_Modulus);\r
+\r
+/*\r
+ * @fn         void SDRM_MONT_Free(SDRM_BIG_MONT *Mont)\r
+ * @brief      Free allocated memory for montgomery paramter\r
+ *\r
+ * @param      Mont    [in]montgomery parameters\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_MONT_Free(SDRM_BIG_MONT *Mont);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_CheckRelativelyPrime(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+ * @brief      get gcd of two big number\r
+ *\r
+ * @param      BN_Src1                                         [in]first element\r
+ * @param      BN_Src2                                         [in]second element\r
+ *\r
+ * @return     CRYPTO_ISPRIME                          if two elements are relatively prime\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_ERROR    otherwise\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_CheckRelativelyPrime(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2);\r
+\r
+/*\r
+ * @fn         int SDRM_BN_MILLER_RABIN(SDRM_BIG_NUM* n, cc_u32 t)\r
+ * @brief      MILLER_RABIN Test\r
+ *\r
+ * @param      n                                       [in]value to test\r
+ * @param      t                                       [in]security parameter\r
+ *\r
+ * @return     CRYPTO_ISPRIME                  if n is (probably) prime\r
+ * \n          CRYPTO_INVALID_ARGUMENT if n is composite\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_MILLER_RABIN(SDRM_BIG_NUM* n, cc_u32 t);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif //      _BIGNUM_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/des.h b/SPC/Inc/base/des.h
new file mode 100755 (executable)
index 0000000..ed0057b
--- /dev/null
@@ -0,0 +1,411 @@
+/**\r
+ * \file       des.h\r
+ * @brief      high-speed implementation of DES\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/12/06\r
+ */\r
+\r
+#ifndef _DES_H\r
+#define _DES_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CryptoCore.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Define Constants\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_DES_NUM_OF_ROUNDS 16\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Macros\r
+////////////////////////////////////////////////////////////////////////////\r
+/*!    @brief  circular left and right shifts for cc_u32       */\r
+#ifdef _MSC_VER\r
+       #define SDRM_rotl32(A, B)       _lrotl((A), (B))\r
+       #define SDRM_rotr32(A, B)       _lrotr((A), (B))\r
+#else\r
+       #define SDRM_rotl32(A, B) (((A) << (B)) + ((A) >> (32 - (B))))\r
+       #define SDRM_rotr32(A, B) (((A) >> (B)) + ((A) << (32 - (B))))\r
+#endif\r
+\r
+/*!    @brief  permutation operation                                           */\r
+#define SDRM_PERM_OP(a,b,t,n,m) {                              \\r
+       (t) = ((((a)>>(n))^(b))&(m));                           \\r
+       (b) ^= (t);                                                                     \\r
+       (a) ^= ((t)<<(n));                                                      \\r
+}\r
+\r
+/*!    @brief  initial permutation                                                     */\r
+#define SDRM_IP(l,r) {                                                 \\r
+       cc_u32 tt;                                                                      \\r
+       SDRM_PERM_OP(r,l,tt, 4,0x0f0f0f0f);                     \\r
+       SDRM_PERM_OP(l,r,tt,16,0x0000ffff);                     \\r
+       SDRM_PERM_OP(r,l,tt, 2,0x33333333);                     \\r
+       SDRM_PERM_OP(l,r,tt, 8,0x00ff00ff);                     \\r
+       SDRM_PERM_OP(r,l,tt, 1,0x55555555);                     \\r
+}\r
+\r
+/*!    @brief  inverse of initial permutation                          */\r
+#define SDRM_INV_IP(l,r) {                                             \\r
+       cc_u32 tt;                                                                      \\r
+       SDRM_PERM_OP(l,r,tt, 1,0x55555555);                     \\r
+       SDRM_PERM_OP(r,l,tt, 8,0x00ff00ff);                     \\r
+       SDRM_PERM_OP(l,r,tt, 2,0x33333333);                     \\r
+       SDRM_PERM_OP(r,l,tt,16,0x0000ffff);                     \\r
+       SDRM_PERM_OP(l,r,tt, 4,0x0f0f0f0f);                     \\r
+}\r
+\r
+/*!    @brief  encrypt one round                                                       */\r
+#define SDRM_D_ENCRYPT(L,R) {                                  \\r
+       u = R ^ RoundKey[i][0];                                         \\r
+       t = R ^ RoundKey[i][1];                                         \\r
+       t = SDRM_rotr32(t, 4);                                          \\r
+       L^=     SDRM_DES_SPtrans[0][(u >>  2U) & 0x3f]^ \\r
+               SDRM_DES_SPtrans[2][(u >> 10U) & 0x3f]^ \\r
+               SDRM_DES_SPtrans[4][(u >> 18U) & 0x3f]^ \\r
+               SDRM_DES_SPtrans[6][(u >> 26U) & 0x3f]^ \\r
+               SDRM_DES_SPtrans[1][(t >>  2U) & 0x3f]^ \\r
+               SDRM_DES_SPtrans[3][(t >> 10U) & 0x3f]^ \\r
+               SDRM_DES_SPtrans[5][(t >> 18U) & 0x3f]^ \\r
+               SDRM_DES_SPtrans[7][(t >> 26U) & 0x3f]; \\r
+}\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// static values - specified in FIPS 46\r
+////////////////////////////////////////////////////////////////////////////\r
+static const cc_u8 SDRM_DES_KS_SHIFT[16] = {1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1};\r
+\r
+static const cc_u32 SDRM_DES_BitMask[] = {\r
+          0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01\r
+};\r
+\r
+static const cc_u8 SDRM_DES_KS_PC1[] = {\r
+       56, 48, 40, 32, 24, 16,  8,\r
+        0, 57, 49, 41, 33, 25, 17,\r
+        9,  1, 58, 50, 42, 34, 26,\r
+       18, 10,  2, 59, 51, 43, 35,\r
+\r
+       62, 54, 46, 38, 30, 22, 14,\r
+        6, 61, 53, 45, 37, 29, 21,\r
+       13,  5, 60, 52, 44, 36, 28,\r
+       20, 12,  4, 27, 19, 11,  3\r
+};\r
+\r
+static const cc_u32 SDRM_des_skb[8][64]={\r
+       {\r
+               /* for C bits (numbered as per FIPS 46) 1 2 3 4 5 6 */\r
+               0x00000000L,0x00000010L,0x20000000L,0x20000010L,\r
+               0x00010000L,0x00010010L,0x20010000L,0x20010010L,\r
+               0x00000800L,0x00000810L,0x20000800L,0x20000810L,\r
+               0x00010800L,0x00010810L,0x20010800L,0x20010810L,\r
+               0x00000020L,0x00000030L,0x20000020L,0x20000030L,\r
+               0x00010020L,0x00010030L,0x20010020L,0x20010030L,\r
+               0x00000820L,0x00000830L,0x20000820L,0x20000830L,\r
+               0x00010820L,0x00010830L,0x20010820L,0x20010830L,\r
+               0x00080000L,0x00080010L,0x20080000L,0x20080010L,\r
+               0x00090000L,0x00090010L,0x20090000L,0x20090010L,\r
+               0x00080800L,0x00080810L,0x20080800L,0x20080810L,\r
+               0x00090800L,0x00090810L,0x20090800L,0x20090810L,\r
+               0x00080020L,0x00080030L,0x20080020L,0x20080030L,\r
+               0x00090020L,0x00090030L,0x20090020L,0x20090030L,\r
+               0x00080820L,0x00080830L,0x20080820L,0x20080830L,\r
+               0x00090820L,0x00090830L,0x20090820L,0x20090830L,\r
+       },\r
+       {\r
+               /* for C bits (numbered as per FIPS 46) 7 8 10 11 12 13 */\r
+               0x00000000L,0x02000000L,0x00002000L,0x02002000L,\r
+               0x00200000L,0x02200000L,0x00202000L,0x02202000L,\r
+               0x00000004L,0x02000004L,0x00002004L,0x02002004L,\r
+               0x00200004L,0x02200004L,0x00202004L,0x02202004L,\r
+               0x00000400L,0x02000400L,0x00002400L,0x02002400L,\r
+               0x00200400L,0x02200400L,0x00202400L,0x02202400L,\r
+               0x00000404L,0x02000404L,0x00002404L,0x02002404L,\r
+               0x00200404L,0x02200404L,0x00202404L,0x02202404L,\r
+               0x10000000L,0x12000000L,0x10002000L,0x12002000L,\r
+               0x10200000L,0x12200000L,0x10202000L,0x12202000L,\r
+               0x10000004L,0x12000004L,0x10002004L,0x12002004L,\r
+               0x10200004L,0x12200004L,0x10202004L,0x12202004L,\r
+               0x10000400L,0x12000400L,0x10002400L,0x12002400L,\r
+               0x10200400L,0x12200400L,0x10202400L,0x12202400L,\r
+               0x10000404L,0x12000404L,0x10002404L,0x12002404L,\r
+               0x10200404L,0x12200404L,0x10202404L,0x12202404L,\r
+       },\r
+       {\r
+               /* for C bits (numbered as per FIPS 46) 14 15 16 17 19 20 */\r
+               0x00000000L,0x00000001L,0x00040000L,0x00040001L,\r
+               0x01000000L,0x01000001L,0x01040000L,0x01040001L,\r
+               0x00000002L,0x00000003L,0x00040002L,0x00040003L,\r
+               0x01000002L,0x01000003L,0x01040002L,0x01040003L,\r
+               0x00000200L,0x00000201L,0x00040200L,0x00040201L,\r
+               0x01000200L,0x01000201L,0x01040200L,0x01040201L,\r
+               0x00000202L,0x00000203L,0x00040202L,0x00040203L,\r
+               0x01000202L,0x01000203L,0x01040202L,0x01040203L,\r
+               0x08000000L,0x08000001L,0x08040000L,0x08040001L,\r
+               0x09000000L,0x09000001L,0x09040000L,0x09040001L,\r
+               0x08000002L,0x08000003L,0x08040002L,0x08040003L,\r
+               0x09000002L,0x09000003L,0x09040002L,0x09040003L,\r
+               0x08000200L,0x08000201L,0x08040200L,0x08040201L,\r
+               0x09000200L,0x09000201L,0x09040200L,0x09040201L,\r
+               0x08000202L,0x08000203L,0x08040202L,0x08040203L,\r
+               0x09000202L,0x09000203L,0x09040202L,0x09040203L,\r
+       },\r
+       {\r
+               /* for C bits (numbered as per FIPS 46) 21 23 24 26 27 28 */\r
+               0x00000000L,0x00100000L,0x00000100L,0x00100100L,\r
+               0x00000008L,0x00100008L,0x00000108L,0x00100108L,\r
+               0x00001000L,0x00101000L,0x00001100L,0x00101100L,\r
+               0x00001008L,0x00101008L,0x00001108L,0x00101108L,\r
+               0x04000000L,0x04100000L,0x04000100L,0x04100100L,\r
+               0x04000008L,0x04100008L,0x04000108L,0x04100108L,\r
+               0x04001000L,0x04101000L,0x04001100L,0x04101100L,\r
+               0x04001008L,0x04101008L,0x04001108L,0x04101108L,\r
+               0x00020000L,0x00120000L,0x00020100L,0x00120100L,\r
+               0x00020008L,0x00120008L,0x00020108L,0x00120108L,\r
+               0x00021000L,0x00121000L,0x00021100L,0x00121100L,\r
+               0x00021008L,0x00121008L,0x00021108L,0x00121108L,\r
+               0x04020000L,0x04120000L,0x04020100L,0x04120100L,\r
+               0x04020008L,0x04120008L,0x04020108L,0x04120108L,\r
+               0x04021000L,0x04121000L,0x04021100L,0x04121100L,\r
+               0x04021008L,0x04121008L,0x04021108L,0x04121108L,\r
+       },\r
+       {\r
+               /* for D bits (numbered as per FIPS 46) 1 2 3 4 5 6 */\r
+               0x00000000L,0x10000000L,0x00010000L,0x10010000L,\r
+               0x00000004L,0x10000004L,0x00010004L,0x10010004L,\r
+               0x20000000L,0x30000000L,0x20010000L,0x30010000L,\r
+               0x20000004L,0x30000004L,0x20010004L,0x30010004L,\r
+               0x00100000L,0x10100000L,0x00110000L,0x10110000L,\r
+               0x00100004L,0x10100004L,0x00110004L,0x10110004L,\r
+               0x20100000L,0x30100000L,0x20110000L,0x30110000L,\r
+               0x20100004L,0x30100004L,0x20110004L,0x30110004L,\r
+               0x00001000L,0x10001000L,0x00011000L,0x10011000L,\r
+               0x00001004L,0x10001004L,0x00011004L,0x10011004L,\r
+               0x20001000L,0x30001000L,0x20011000L,0x30011000L,\r
+               0x20001004L,0x30001004L,0x20011004L,0x30011004L,\r
+               0x00101000L,0x10101000L,0x00111000L,0x10111000L,\r
+               0x00101004L,0x10101004L,0x00111004L,0x10111004L,\r
+               0x20101000L,0x30101000L,0x20111000L,0x30111000L,\r
+               0x20101004L,0x30101004L,0x20111004L,0x30111004L,\r
+       },\r
+       {\r
+               /* for D bits (numbered as per FIPS 46) 8 9 11 12 13 14 */\r
+               0x00000000L,0x08000000L,0x00000008L,0x08000008L,\r
+               0x00000400L,0x08000400L,0x00000408L,0x08000408L,\r
+               0x00020000L,0x08020000L,0x00020008L,0x08020008L,\r
+               0x00020400L,0x08020400L,0x00020408L,0x08020408L,\r
+               0x00000001L,0x08000001L,0x00000009L,0x08000009L,\r
+               0x00000401L,0x08000401L,0x00000409L,0x08000409L,\r
+               0x00020001L,0x08020001L,0x00020009L,0x08020009L,\r
+               0x00020401L,0x08020401L,0x00020409L,0x08020409L,\r
+               0x02000000L,0x0A000000L,0x02000008L,0x0A000008L,\r
+               0x02000400L,0x0A000400L,0x02000408L,0x0A000408L,\r
+               0x02020000L,0x0A020000L,0x02020008L,0x0A020008L,\r
+               0x02020400L,0x0A020400L,0x02020408L,0x0A020408L,\r
+               0x02000001L,0x0A000001L,0x02000009L,0x0A000009L,\r
+               0x02000401L,0x0A000401L,0x02000409L,0x0A000409L,\r
+               0x02020001L,0x0A020001L,0x02020009L,0x0A020009L,\r
+               0x02020401L,0x0A020401L,0x02020409L,0x0A020409L,\r
+       },\r
+       {\r
+               /* for D bits (numbered as per FIPS 46) 16 17 18 19 20 21 */\r
+               0x00000000L,0x00000100L,0x00080000L,0x00080100L,\r
+               0x01000000L,0x01000100L,0x01080000L,0x01080100L,\r
+               0x00000010L,0x00000110L,0x00080010L,0x00080110L,\r
+               0x01000010L,0x01000110L,0x01080010L,0x01080110L,\r
+               0x00200000L,0x00200100L,0x00280000L,0x00280100L,\r
+               0x01200000L,0x01200100L,0x01280000L,0x01280100L,\r
+               0x00200010L,0x00200110L,0x00280010L,0x00280110L,\r
+               0x01200010L,0x01200110L,0x01280010L,0x01280110L,\r
+               0x00000200L,0x00000300L,0x00080200L,0x00080300L,\r
+               0x01000200L,0x01000300L,0x01080200L,0x01080300L,\r
+               0x00000210L,0x00000310L,0x00080210L,0x00080310L,\r
+               0x01000210L,0x01000310L,0x01080210L,0x01080310L,\r
+               0x00200200L,0x00200300L,0x00280200L,0x00280300L,\r
+               0x01200200L,0x01200300L,0x01280200L,0x01280300L,\r
+               0x00200210L,0x00200310L,0x00280210L,0x00280310L,\r
+               0x01200210L,0x01200310L,0x01280210L,0x01280310L,\r
+       },\r
+       {\r
+               /* for D bits (numbered as per FIPS 46) 22 23 24 25 27 28 */\r
+               0x00000000L,0x04000000L,0x00040000L,0x04040000L,\r
+               0x00000002L,0x04000002L,0x00040002L,0x04040002L,\r
+               0x00002000L,0x04002000L,0x00042000L,0x04042000L,\r
+               0x00002002L,0x04002002L,0x00042002L,0x04042002L,\r
+               0x00000020L,0x04000020L,0x00040020L,0x04040020L,\r
+               0x00000022L,0x04000022L,0x00040022L,0x04040022L,\r
+               0x00002020L,0x04002020L,0x00042020L,0x04042020L,\r
+               0x00002022L,0x04002022L,0x00042022L,0x04042022L,\r
+               0x00000800L,0x04000800L,0x00040800L,0x04040800L,\r
+               0x00000802L,0x04000802L,0x00040802L,0x04040802L,\r
+               0x00002800L,0x04002800L,0x00042800L,0x04042800L,\r
+               0x00002802L,0x04002802L,0x00042802L,0x04042802L,\r
+               0x00000820L,0x04000820L,0x00040820L,0x04040820L,\r
+               0x00000822L,0x04000822L,0x00040822L,0x04040822L,\r
+               0x00002820L,0x04002820L,0x00042820L,0x04042820L,\r
+               0x00002822L,0x04002822L,0x00042822L,0x04042822L,\r
+       }\r
+};\r
+\r
+static const cc_u32 SDRM_DES_SPtrans[8][64]={\r
+       //  nibble 0\r
+       {\r
+               0x02080800, 0x00080000, 0x02000002, 0x02080802, 0x02000000, 0x00080802, 0x00080002, 0x02000002,\r
+               0x00080802, 0x02080800, 0x02080000, 0x00000802, 0x02000802, 0x02000000, 0x00000000, 0x00080002,\r
+               0x00080000, 0x00000002, 0x02000800, 0x00080800, 0x02080802, 0x02080000, 0x00000802, 0x02000800,\r
+               0x00000002, 0x00000800, 0x00080800, 0x02080002, 0x00000800, 0x02000802, 0x02080002, 0x00000000,\r
+               0x00000000, 0x02080802, 0x02000800, 0x00080002, 0x02080800, 0x00080000, 0x00000802, 0x02000800,\r
+               0x02080002, 0x00000800, 0x00080800, 0x02000002, 0x00080802, 0x00000002, 0x02000002, 0x02080000,\r
+               0x02080802, 0x00080800, 0x02080000, 0x02000802, 0x02000000, 0x00000802, 0x00080002, 0x00000000,\r
+               0x00080000, 0x02000000, 0x02000802, 0x02080800, 0x00000002, 0x02080002, 0x00000800, 0x00080802\r
+       },\r
+       //  nibble 1\r
+       {\r
+               0x40108010, 0x00000000, 0x00108000, 0x40100000, 0x40000010, 0x00008010, 0x40008000, 0x00108000,\r
+               0x00008000, 0x40100010, 0x00000010, 0x40008000, 0x00100010, 0x40108000, 0x40100000, 0x00000010,\r
+               0x00100000, 0x40008010, 0x40100010, 0x00008000, 0x00108010, 0x40000000, 0x00000000, 0x00100010,\r
+               0x40008010, 0x00108010, 0x40108000, 0x40000010, 0x40000000, 0x00100000, 0x00008010, 0x40108010,\r
+               0x00100010, 0x40108000, 0x40008000, 0x00108010, 0x40108010, 0x00100010, 0x40000010, 0x00000000,\r
+               0x40000000, 0x00008010, 0x00100000, 0x40100010, 0x00008000, 0x40000000, 0x00108010, 0x40008010,\r
+               0x40108000, 0x00008000, 0x00000000, 0x40000010, 0x00000010, 0x40108010, 0x00108000, 0x40100000,\r
+               0x40100010, 0x00100000, 0x00008010, 0x40008000, 0x40008010, 0x00000010, 0x40100000, 0x00108000\r
+       },\r
+       //  nibble 2\r
+       {\r
+               0x04000001, 0x04040100, 0x00000100, 0x04000101, 0x00040001, 0x04000000, 0x04000101, 0x00040100,\r
+               0x04000100, 0x00040000, 0x04040000, 0x00000001, 0x04040101, 0x00000101, 0x00000001, 0x04040001,\r
+               0x00000000, 0x00040001, 0x04040100, 0x00000100, 0x00000101, 0x04040101, 0x00040000, 0x04000001,\r
+               0x04040001, 0x04000100, 0x00040101, 0x04040000, 0x00040100, 0x00000000, 0x04000000, 0x00040101,\r
+               0x04040100, 0x00000100, 0x00000001, 0x00040000, 0x00000101, 0x00040001, 0x04040000, 0x04000101,\r
+               0x00000000, 0x04040100, 0x00040100, 0x04040001, 0x00040001, 0x04000000, 0x04040101, 0x00000001,\r
+               0x00040101, 0x04000001, 0x04000000, 0x04040101, 0x00040000, 0x04000100, 0x04000101, 0x00040100,\r
+               0x04000100, 0x00000000, 0x04040001, 0x00000101, 0x04000001, 0x00040101, 0x00000100, 0x04040000\r
+       },\r
+       //  nibble 3\r
+       {\r
+               0x00401008, 0x10001000, 0x00000008, 0x10401008, 0x00000000, 0x10400000, 0x10001008, 0x00400008,\r
+               0x10401000, 0x10000008, 0x10000000, 0x00001008, 0x10000008, 0x00401008, 0x00400000, 0x10000000,\r
+               0x10400008, 0x00401000, 0x00001000, 0x00000008, 0x00401000, 0x10001008, 0x10400000, 0x00001000,\r
+               0x00001008, 0x00000000, 0x00400008, 0x10401000, 0x10001000, 0x10400008, 0x10401008, 0x00400000,\r
+               0x10400008, 0x00001008, 0x00400000, 0x10000008, 0x00401000, 0x10001000, 0x00000008, 0x10400000,\r
+               0x10001008, 0x00000000, 0x00001000, 0x00400008, 0x00000000, 0x10400008, 0x10401000, 0x00001000,\r
+               0x10000000, 0x10401008, 0x00401008, 0x00400000, 0x10401008, 0x00000008, 0x10001000, 0x00401008,\r
+               0x00400008, 0x00401000, 0x10400000, 0x10001008, 0x00001008, 0x10000000, 0x10000008, 0x10401000\r
+       },\r
+       //  nibble 4\r
+       {\r
+               0x08000000, 0x00010000, 0x00000400, 0x08010420, 0x08010020, 0x08000400, 0x00010420, 0x08010000,\r
+               0x00010000, 0x00000020, 0x08000020, 0x00010400, 0x08000420, 0x08010020, 0x08010400, 0x00000000,\r
+               0x00010400, 0x08000000, 0x00010020, 0x00000420, 0x08000400, 0x00010420, 0x00000000, 0x08000020,\r
+               0x00000020, 0x08000420, 0x08010420, 0x00010020, 0x08010000, 0x00000400, 0x00000420, 0x08010400,\r
+               0x08010400, 0x08000420, 0x00010020, 0x08010000, 0x00010000, 0x00000020, 0x08000020, 0x08000400,\r
+               0x08000000, 0x00010400, 0x08010420, 0x00000000, 0x00010420, 0x08000000, 0x00000400, 0x00010020,\r
+               0x08000420, 0x00000400, 0x00000000, 0x08010420, 0x08010020, 0x08010400, 0x00000420, 0x00010000,\r
+               0x00010400, 0x08010020, 0x08000400, 0x00000420, 0x00000020, 0x00010420, 0x08010000, 0x08000020\r
+       },\r
+       //  nibble 5\r
+       {\r
+               0x80000040, 0x00200040, 0x00000000, 0x80202000, 0x00200040, 0x00002000, 0x80002040, 0x00200000,\r
+               0x00002040, 0x80202040, 0x00202000, 0x80000000, 0x80002000, 0x80000040, 0x80200000, 0x00202040,\r
+               0x00200000, 0x80002040, 0x80200040, 0x00000000, 0x00002000, 0x00000040, 0x80202000, 0x80200040,\r
+               0x80202040, 0x80200000, 0x80000000, 0x00002040, 0x00000040, 0x00202000, 0x00202040, 0x80002000,\r
+               0x00002040, 0x80000000, 0x80002000, 0x00202040, 0x80202000, 0x00200040, 0x00000000, 0x80002000,\r
+               0x80000000, 0x00002000, 0x80200040, 0x00200000, 0x00200040, 0x80202040, 0x00202000, 0x00000040,\r
+               0x80202040, 0x00202000, 0x00200000, 0x80002040, 0x80000040, 0x80200000, 0x00202040, 0x00000000,\r
+               0x00002000, 0x80000040, 0x80002040, 0x80202000, 0x80200000, 0x00002040, 0x00000040, 0x80200040\r
+       },\r
+\r
+       //  nibble 6\r
+       {\r
+               0x00004000, 0x00000200, 0x01000200, 0x01000004, 0x01004204, 0x00004004, 0x00004200, 0x00000000,\r
+               0x01000000, 0x01000204, 0x00000204, 0x01004000, 0x00000004, 0x01004200, 0x01004000, 0x00000204,\r
+               0x01000204, 0x00004000, 0x00004004, 0x01004204, 0x00000000, 0x01000200, 0x01000004, 0x00004200,\r
+               0x01004004, 0x00004204, 0x01004200, 0x00000004, 0x00004204, 0x01004004, 0x00000200, 0x01000000,\r
+               0x00004204, 0x01004000, 0x01004004, 0x00000204, 0x00004000, 0x00000200, 0x01000000, 0x01004004,\r
+               0x01000204, 0x00004204, 0x00004200, 0x00000000, 0x00000200, 0x01000004, 0x00000004, 0x01000200,\r
+               0x00000000, 0x01000204, 0x01000200, 0x00004200, 0x00000204, 0x00004000, 0x01004204, 0x01000000,\r
+               0x01004200, 0x00000004, 0x00004004, 0x01004204, 0x01000004, 0x01004200, 0x01004000, 0x00004004\r
+       },\r
+       //  nibble 7\r
+       {\r
+               0x20800080, 0x20820000, 0x00020080, 0x00000000, 0x20020000, 0x00800080, 0x20800000, 0x20820080,\r
+               0x00000080, 0x20000000, 0x00820000, 0x00020080, 0x00820080, 0x20020080, 0x20000080, 0x20800000,\r
+               0x00020000, 0x00820080, 0x00800080, 0x20020000, 0x20820080, 0x20000080, 0x00000000, 0x00820000,\r
+               0x20000000, 0x00800000, 0x20020080, 0x20800080, 0x00800000, 0x00020000, 0x20820000, 0x00000080,\r
+               0x00800000, 0x00020000, 0x20000080, 0x20820080, 0x00020080, 0x20000000, 0x00000000, 0x00820000,\r
+               0x20800080, 0x20020080, 0x20020000, 0x00800080, 0x20820000, 0x00000080, 0x00800080, 0x20020000,\r
+               0x20820080, 0x00800000, 0x20800000, 0x20000080, 0x00820000, 0x00020080, 0x20020080, 0x20800000,\r
+               0x00000080, 0x20820000, 0x00820080, 0x00000000, 0x20000000, 0x20800080, 0x00020000, 0x00820080\r
+       }\r
+};\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         int SDRM_DES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 RKPos, cc_u32 RKStep)\r
+ * @brief      Expand the cipher key into the encryption key schedule\r
+ *\r
+ * @param      RoundKey                        [out]generated round key\r
+ * @param      UserKey                         [in]user key, 8 byte\r
+ * @param      RKPos                           [in]index of round key starts\r
+ * @param      RKStep                          [in]step for index\r
+ *\r
+ * @return     the number of rounds for the given cipher key size\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 RKPos, cc_u32 RKStep);\r
+\r
+/*\r
+ * @fn         int SDRM_DES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out)\r
+ * @brief      DES processing for one block\r
+ *\r
+ * @param      RoundKey                        [in]expanded round key\r
+ * @param      msg                                     [in]8 byte plaintext\r
+ * @param      out                                     [out]8 byte ciphertext\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out);\r
+\r
+/*\r
+ * @fn         int SDRM_DES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey)\r
+ * @brief      one block DES Encryption\r
+ *\r
+ * @param      cipherText      [out]encrypted text\r
+ * @param      plainText       [in]plain text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey);\r
+\r
+/*\r
+ * @fn         int SDRM_DES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey)\r
+ * @brief      one block DES Decryption\r
+ *\r
+ * @param      plainText       [out]decrypted text\r
+ * @param      cipherText      [in]cipher text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/ecc.h b/SPC/Inc/base/ecc.h
new file mode 100755 (executable)
index 0000000..36eb611
--- /dev/null
@@ -0,0 +1,248 @@
+/**\r
+ * \file       ecc.h\r
+ * @brief      ecc library based on big number\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jiyoung Moon\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/05/03\r
+ * Note : optimized by Jiyoung Moon & Jisoon Park, August,2006.\r
+ */\r
+\r
+#ifndef _ECC_H\r
+#define _ECC_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CryptoCore.h"\r
+#include "bignum.h"\r
+#include "sha1.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Constants\r
+////////////////////////////////////////////////////////////////////////////\r
+#define        SDRM_MAX_DIMENSION_ECC  256\r
+#define SDRM_SIZE_OF_ECC_KEY   (SDRM_SIZE_OF_DWORD * SDRM_ECC_BN_BUFSIZE)\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Macros for ECC\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SDRM_EC_FREE(X)                        if (X) {free(X);}\r
+\r
+#define SDRM_EC_SET_ZERO(A)            do {                                                                                                                                                                            \\r
+                                                                       memset((A), 0, sizeof(SDRM_EC_POINT) + SDRM_ECC_ALLOC_SIZE * 5);                                                \\r
+                                                                       (A)->IsInfinity = 0;                                                                                                                                    \\r
+                                                                       A->x  = SDRM_BN_Alloc((cc_u8*)A     + sizeof(SDRM_EC_POINT), SDRM_ECC_BN_BUFSIZE);              \\r
+                                                                       A->y  = SDRM_BN_Alloc((cc_u8*)A->x  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);              \\r
+                                                                       A->z  = SDRM_BN_Alloc((cc_u8*)A->y  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);              \\r
+                                                                       A->z2 = SDRM_BN_Alloc((cc_u8*)A->z  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);              \\r
+                                                                       A->z3 = SDRM_BN_Alloc((cc_u8*)A->z2 + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);              \\r
+                                                               } while(0)\r
+\r
+#define SDRM_EC_CLR(A)                 SDRM_EC_SET_ZERO(A)\r
+\r
+#define SDRM_ECC_Clr(A)                do {                                                                                                    \\r
+                                                                       SDRM_BN_Clr((A)->ECC_p);                                                \\r
+                                                                       SDRM_BN_Clr((A)->ECC_A);                                                \\r
+                                                                       SDRM_BN_Clr((A)->ECC_b);                                                \\r
+                                                                       SDRM_BN_Clr((A)->ECC_n);                                                \\r
+                                                                       SDRM_BN_Clr((A)->PRIV_KEY);                                             \\r
+                                                                       EC_Clr((A)->ECC_G);                                                             \\r
+                                                                       EC_Clr((A)->PUBLIC_KEY);                                                \\r
+                                                               } while(0)\r
+\r
+#define SDRM_ECC_FREE(X)               do {                                                                                                                            \\r
+                                                                       if ((X)) {                                                                                                              \\r
+                                                                               SDRM_BN_FREE(X->ECC_a);                                                                         \\r
+                                                                               SDRM_EC_FREE(X->ECC_G);                                                                         \\r
+                                                                               SDRM_EC_FREE(X->PUBLIC_KEY);                                                            \\r
+                                                                               SDRM_EC_FREE(X);                                                                                        \\r
+                                                                       }                                                                                                                               \\r
+                                                               } while(0)\r
+\r
+#define SDRM_EC_COPY(A, B)             do {                                                                                                                            \\r
+                                                                       (A)->IsInfinity = (B)->IsInfinity;                                                              \\r
+                                                                       SDRM_BN_Copy((A)->x, (B)->x);                                                                   \\r
+                                                                       SDRM_BN_Copy((A)->y, (B)->y);                                                                   \\r
+                                                                       SDRM_BN_Copy((A)->z, (B)->z);                                                                   \\r
+                                                                       SDRM_BN_Copy((A)->z2, (B)->z2);                                                                 \\r
+                                                                       SDRM_BN_Copy((A)->z3, (B)->z3);                                                                 \\r
+                                                               } while(0)\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+///// ECC º¸Á¶ÇÔ¼ö\r
+/*\r
+ * @fn         SDRM_ECC_Init   \r
+ * @brief      return SDRM_EC_POINT structure\r
+ *\r
+ * @return     address of allocate structure\r
+ * \n          NULL    if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_EC_POINT *SDRM_ECC_Init(void);\r
+\r
+/*\r
+ * @fn         SDRM_CURVE_Init\r
+ * @brief      return SDRM_ECC_CTX structure\r
+ *\r
+ * @return     address of allocate structure\r
+ * \n          NULL    if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_ECC_CTX *SDRM_CURVE_Init(void);\r
+\r
+///// ECC Point ¿¬»êÇÔ¼ö\r
+/*\r
+ * @fn         SDRM_CTX_EC_Chain\r
+ * @brief      Chain ÇÔ¼ö\r
+ *\r
+ * signed window method        :       size of window = 4\r
+ * chain for addition/subtraction of k Using sliding window method\r
+ * @param      chain                                           [out]destination\r
+ * @param      L_Src                                           [in]byte-length of chain\r
+ * @param      Len_Src                                         [in]number of doubling in chain\r
+ * @param      k                                                       [in]source\r
+ * @param      window_size                                     [in]size of window\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT         if given value is incorrect\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Chain(signed char *chain, cc_u32 *L_Src, cc_u32 *Len_Src, SDRM_BIG_NUM *k, int window_size);\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_kP\r
+ * @brief      get EC_Dst = kP by Montgomery Method\r
+ *\r
+ * @param      ctx                                                     [in]ecc context\r
+ * @param      EC_Dst                                          [out]destination\r
+ * @param      EC_Src                                          [in]first element(P)\r
+ * @param      k                                                       [in]second element(k)\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT         if the arguemnt represents a minus value\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_INFINITY_INPUT           if the argument is a infinity value\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_kP(SDRM_ECC_CTX *ctx, SDRM_EC_POINT* EC_Dst, SDRM_EC_POINT *EC_Src, SDRM_BIG_NUM *k);\r
+\r
+/*     \r
+ * @fn         SDRM_CTX_EC_2kP\r
+ * @brief      get EC_Dst = k1*C1 + k2*C2\r
+ *\r
+ * @param      ctx                                                     [in]ecc context\r
+ * @param      EC_Dst                                          [out]destination\r
+ * @param      k1                                                      [in]first element(k1)\r
+ * @param      EC_Src1                                         [in]second element(C1)\r
+ * @param      k2                                                      [in]third element(k2)\r
+ * @param      EC_Src2                                         [in]fourth element(C2)\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT         if the arguemnt represents a minus value\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_INFINITY_INPUT           if the argument is a infinity value\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_2kP(SDRM_ECC_CTX *ctx, SDRM_EC_POINT *EC_Dst, SDRM_BIG_NUM *k1, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *k2, SDRM_EC_POINT *EC_Src2);\r
+\r
+///// Functions of Converting Coordingate\r
+/*\r
+ * @fn         SDRM_Mont_Jm2Jc\r
+ * @brief      ÁÂÇ¥º¯È¯ 1\r
+ *                     Modified Jacobian  =>  Chundnovsky Jacobian \r
+ *                     (A->y)  <= (A->y)/2\r
+ *                     (A->z2) <= (A->z)^2\r
+ *                     (A->z3) <= (A->z)^3\r
+ *\r
+ * @param      EC_Dst                  [out]destination\r
+ * @param      new_a                   [in]first element\r
+ * @param      new_b                   [in]second element\r
+ * @param      Mont                    [in]montgomery context\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ * \n          CRYPTO_ERROR    if evaluation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Mont_Jm2Jc(SDRM_EC_POINT *EC_Dst, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont);\r
+\r
+/*\r
+ * @fn         SDRM_Mont_Jc2Jm\r
+ * @brief      ÁÂÇ¥º¯È¯ 2\r
+ *                     Chundnovsky Jacobian  =>  Modified Jacobian\r
+ *                     (A->y)  <= 2*(A->y)\r
+ *                     (A->z2) <= new_a*(A->z)^4\r
+ * @param      A                               [out]destination\r
+ * @param      new_a                   [in]first element\r
+ * @param      new_b                   [in]second element\r
+ * @param      Mont                    [in]montgomery context\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ * \n          CRYPTO_ERROR    if evaluation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Mont_Jc2Jm(SDRM_EC_POINT *A, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont);\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_Add_Jc\r
+ * @brief      Chundnovsky Jacobian coordinate\r
+ *                     using montgomery (A = B + C)\r
+ *\r
+ * @param      EC_Dst                                          [out]destination(A)\r
+ * @param      EC_Src1                                         [in]first element(B)\r
+ * @param      EC_Src2                                         [in]second element(C)\r
+ * @param      new_a                                           [in]ECC_A's montgomery value\r
+ * @param      new_b                                           [in]ECC_B's montgomery value\r
+ * @param      Mont                                            [in]montgomery context\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_ERROR                            if evaluation is failed\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Add_Jc(SDRM_EC_POINT* EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_EC_POINT *EC_Src2, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont);\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_Double_Jc   \r
+ * @brief      Chundnovsky Jacobian coordinate\r
+ *                     montgomery (A = 2B)\r
+ *\r
+ * @param      EC_Dst                                          [out]destination(A)\r
+ * @param      EC_Src1                                         [in]first element(B)\r
+ * @param      new_a                                           [in]ECC_A's montgomery value\r
+ * @param      new_b                                           [in]ECC_B's montgomery value\r
+ * @param      Mont                                            [in]montgomery context\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_ERROR                            if evaluation is failed\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Double_Jc(SDRM_EC_POINT *EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont);\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_Double_Jm\r
+ * @brief      Modified Jacobian coordinate\r
+ *                     montgomery (A = 2B)\r
+ *\r
+ * @param      EC_Dst                                          [out]destination(A)\r
+ * @param      EC_Src1                                         [in]first element(B)\r
+ * @param      new_a                                           [in]ECC_A's montgomery value\r
+ * @param      new_b                                           [in]ECC_B's montgomery value\r
+ * @param      Mont                                            [in]montgomery context\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_ERROR                            if evaluation is failed\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Double_Jm(SDRM_EC_POINT *EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _ECC_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/fast_math.h b/SPC/Inc/base/fast_math.h
new file mode 100755 (executable)
index 0000000..c0f4cbb
--- /dev/null
@@ -0,0 +1,290 @@
+/** \r
+ * @file       fast_math.h\r
+ * @brief      Header file for fast_mathf.c\r
+ *\r
+ * [Optional] Detail description (major features, interface description, flow of control, and so on)\r
+ * @see        [Optional] Related information\r
+\r
+ * Copyright 2008 by Samsung Electronics, Inc.,\r
+ * \r
+ * This software is the confidential and proprietary information\r
+ * of Samsung Electronics, Inc. ("Confidential Information").  You\r
+ * shall not disclose such Confidential Information and shall use\r
+ * it only in accordance with the terms of the license agreement\r
+ * you entered into with Samsung.\r
+ * \r
+ * \internal\r
+ * Author : Karen Ispiryan\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2008/08/28\r
+*/\r
+\r
+#ifndef FAST_MATH_H\r
+#define FAST_MATH_H\r
+\r
+#include "CC_Type.h"\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+#      define ORD_32\r
+#else\r
+#      define ORD_16\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+/* when we have only 16 bit processor available */\r
+#ifdef ORD_16\r
+\r
+typedef cc_u16 BasicWord;\r
+typedef cc_u32 BasicDWord;\r
+\r
+#define DIV_BY_ORD_BYTES_COUNT(x)              (BasicWord)((x) >> 1)\r
+#define MUL_BY_ORD_BYTES_COUNT(x)              (BasicWord)((x) << 1)\r
+\r
+#define BASICWORD_BITS_COUNT   16\r
+#define BASICWORD_BYTES_COUNT  2\r
+#define MAXDIGIT       (BasicWord)(0xFFFF)\r
+\r
+#endif\r
+\r
+/* when we have 32 bit processor available and also have 64 bit data type */\r
+#ifdef ORD_32\r
+\r
+typedef cc_u32 BasicWord;\r
+typedef cc_u64 BasicDWord;\r
+\r
+#define DIV_BY_ORD_BYTES_COUNT(x)              (BasicWord)((x) >> 2)\r
+#define MUL_BY_ORD_BYTES_COUNT(x)              (BasicWord)((x) << 2)\r
+\r
+#define BASICWORD_BITS_COUNT   32\r
+#define BASICWORD_BYTES_COUNT  4\r
+#define MAXDIGIT       (BasicWord)(0xFFFFFFFF)\r
+\r
+#endif\r
+\r
+#define LOW_WORD(a)            (BasicWord) (a)\r
+#define HIGH_WORD(a)   (BasicWord)((a) >> BASICWORD_BITS_COUNT)\r
+\r
+/* In our implementation we are using assumption that DWord data type available for using. */\r
+/* If for some reasons it isn't so, then we just need to redefine rhe following two macros in appropriate way \r
+ * and functions will work properly.\r
+ */\r
+#define _add_add_(aw1,aw2,aw3,rwl,rwh) {                                                                                                       \\r
+                                                                                       BasicDWord dw = (BasicDWord)(aw1)+(aw2)+(aw3);  \\r
+                                                                                       rwl = LOW_WORD(dw);                                                             \\r
+                                                                                       rwh = HIGH_WORD(dw);                                                    \\r
+                                                                               }\r
+\r
+#define _mul_add_add(wm1,wm2,aw1,aw2,rwl,rwh) {                                                                                                                                \\r
+                                                                                                       BasicDWord dw = (BasicDWord)(wm1)*(wm2)+(aw1)+(aw2);    \\r
+                                                                                                       rwl = LOW_WORD(dw);                                                                             \\r
+                                                                                                       rwh = HIGH_WORD(dw);                                                                    \\r
+                                                                                               }\r
+\r
+#define IN\r
+#define OUT\r
+\r
+/*===========================================================================================================*/\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Cmp\r
+  * @brief             Compare two large unsigned integers\r
+  * \r
+  * @param             pFirstOperand [in] the first operand\r
+  * @param             pSecondOperand [in] the second operand\r
+  *\r
+  * @return            0 if they are equal\r
+  *                            1 if first bigger then second\r
+  *                            -1 if the seond one is bigger then first\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_Cmp(const BasicWord *pFirstOperand, const BasicWord *pSecondOperand, unsigned uOperandLength);\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Copy\r
+  * @brief             Just copy two large unsigned integers from one into another\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_Copy(BasicWord *pFirstOperand, const BasicWord *pSecondOperand, unsigned uOperandLength);\r
+\r
+/**\r
+  * @fn                        SDRM_ll_bit_RShift\r
+  * @brief             Shift large unsigned integer to the right by uBits\r
+  * \r
+  * @param             pOperand [inout] pointer to the operand to be shifted\r
+  *\r
+  * @return            Nothing\r
+  * @warning   We have to be careful when using this function because it modifies uOperandLength+1 words \r
+  *                            that is by 1 word bigger then operand original size.\r
+  *                            WWW....Operand...WWW|W <- it modifies the word immediately after the last one of passed operand.\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_bit_RShift(IN OUT BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord uBits);\r
+\r
+/**\r
+  * @fn                        SDRM_ll_bit_LShift\r
+  * @brief             Shift large unsigned integer to the left by uBits\r
+  * \r
+  * @param             pOperand [inout] pointer to the operand to be shifted\r
+  *\r
+  * @return            Nothing\r
+  * @warning   We have to be careful when using this function because it modifies uOperandLength+1 words \r
+  *                            that is by 1 word bigger then operand original size.\r
+  *                            It modifies the word immediately prior to the first one of passed operand -> W|WWW....Operand...WWW\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_bit_LShift(IN OUT BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord uBits);\r
+\r
+/**\r
+  * @fn                        SDRM_ll_getMSW\r
+  * @brief             Return index of most significant word.\r
+  * \r
+  * @param             pOperand [in] pointer to the large integer.\r
+  *\r
+  * @return            The index of most significant word.\r
+  *                            -1 if passed integer actually is equal to 0.\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_getMSW(IN const BasicWord *pOperand, IN BasicWord uOperandLength);\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Add\r
+  * @brief             Add two large unsigned integers that have the same size.\r
+  * \r
+  * @param             pFirstOperand  [in] pointer to first large integer\r
+  * @param             pSecondOperand [in] pointer to second large integer\r
+  * @param             uOperandsLength [in] length of the operands in words\r
+  * @param             pResult [out] pointer to result of subtraction\r
+  *\r
+  * @return            carry if so.\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_Add(IN const BasicWord *pFirstOperand, \r
+                               IN const BasicWord *pSecondOperand, \r
+                               IN BasicWord uOperandsLength, \r
+                               OUT BasicWord *pResult);\r
+\r
+/**\r
+  * @fn                        SDRM_ll_AddCarry\r
+  * @brief             Add carry to large unsigned integer\r
+  * \r
+  * @param             oneWord  [in] value of carry\r
+  * @param             pOperand [inout] pointer to large integer\r
+  * @param             uOperandLength [in] length of the second operand in words\r
+  *\r
+  * @return            carry if so.\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_AddCarry(IN BasicWord oneWord, IN BasicWord *pOperand, IN BasicWord uOperandLength);\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Sub\r
+  * @brief             Subtract two large unsigned integers that have the same size.\r
+  * \r
+  * @param             pFirstOperand   [in] pointer to first large integer\r
+  * @param             pSecondOperand  [in] pointer to second large integer\r
+  * @param             uOperandsLength [in] length of the operands in words\r
+  * @param             pResult                 [out] pointer to result of subtraction\r
+  *\r
+  * @return            borrow if so.\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_Sub(IN const BasicWord *pFirstOperand, \r
+                               IN const BasicWord *pSecondOperand, \r
+                               IN BasicWord uOperandsLength, \r
+                               OUT BasicWord *pResult);\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_MulAdd(IN BasicWord *pFirstOperand, IN BasicWord uFirstOperandsLength, \r
+                                       IN BasicWord *pSecondOperand, IN BasicWord uSecondOperandsLength, \r
+                                       OUT BasicWord *pResult);\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_Mul(IN BasicWord *pFirstOperand, IN BasicWord uFirstOperandsLength, \r
+                                IN BasicWord *pSecondOperand, IN BasicWord uSecondOperandsLength, \r
+                                OUT BasicWord *pResult);\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_Square(IN BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord *pResult);\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_mont_Rem(IN OUT BasicWord *pFirstOperand, \r
+                                         IN BasicWord *pModule, \r
+                                         IN BasicWord uModuleLength, \r
+                                         IN BasicWord inv);\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_mont_Square(IN BasicWord *pFirstOperand, \r
+                                               IN BasicWord *pModule, \r
+                                               IN BasicWord uModuleLength, \r
+                                               IN BasicWord Inv, \r
+                                               OUT BasicWord *pResult);\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_mont_Mul(IN BasicWord *pFirstOperand, \r
+                                        IN BasicWord *pSecondOperand, \r
+                                        IN BasicWord *pModule, \r
+                                        IN BasicWord uModuleLengthInBytes, \r
+                                        IN BasicWord Inv, \r
+                                        OUT BasicWord *pResult);\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_ExpMod( IN BasicWord *pBase, IN BasicWord uBaseLengthInBytes, \r
+                                       IN BasicWord *pExponent, IN BasicWord uExponentLengthInBytes,\r
+                                       IN BasicWord *pModule, IN BasicWord uModuleLengthInBytes, \r
+                                       OUT BasicWord *pResult);\r
+\r
+#endif /*FAST_MATH_H*/\r
diff --git a/SPC/Inc/base/hash.h b/SPC/Inc/base/hash.h
new file mode 100755 (executable)
index 0000000..8acfa84
--- /dev/null
@@ -0,0 +1,337 @@
+/**\r
+ * \file       hash.h\r
+ * @brief      hash API function\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/08\r
+ */\r
+\r
+#ifndef _HASH_H\r
+#define _HASH_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CC_API.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_SHA1_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA1_init(CryptoCoreContainer *crt);\r
+\r
+/*\r
+ * @fn         SDRM_SHA1_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA1_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen);\r
+\r
+/*\r
+ * @fn         SDRM_SHA1_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA1_final(CryptoCoreContainer *crt, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_SHA1_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA1_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_SHA224_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA224_init(CryptoCoreContainer *crt);\r
+\r
+\r
+/*\r
+ * @fn         SDRM_SHA224_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA224_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen);\r
+\r
+/*\r
+ * @fn         SDRM_SHA224_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA224_final(CryptoCoreContainer *crt, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_SHA224_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA224_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_SHA256_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA256_init(CryptoCoreContainer *crt);\r
+\r
+\r
+/*\r
+ * @fn         SDRM_SHA256_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA256_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen);\r
+\r
+/*\r
+ * @fn         SDRM_SHA256_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA256_final(CryptoCoreContainer *crt, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_SHA256_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA256_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_SHA384_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA384_init(CryptoCoreContainer *crt);\r
+\r
+/*\r
+ * @fn         SDRM_SHA384_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA384_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen);\r
+\r
+/*\r
+ * @fn         SDRM_SHA384_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA384_final(CryptoCoreContainer *crt, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_SHA384_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA384_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_SHA512_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA512_init(CryptoCoreContainer *crt);\r
+\r
+/*\r
+ * @fn         SDRM_SHA512_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA512_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen);\r
+\r
+/*\r
+ * @fn         SDRM_SHA512_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA512_final(CryptoCoreContainer *crt, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_SHA512_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA512_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_MD5_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MD5_init(CryptoCoreContainer *crt);\r
+\r
+/*\r
+ * @fn         SDRM_MD5_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MD5_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen);\r
+\r
+/*     \r
+ * @fn         SDRM_MD5_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MD5_final(CryptoCoreContainer *crt, cc_u8 *output);\r
+\r
+/*\r
+ * @fn         SDRM_MD5_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MD5_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/md5.h b/SPC/Inc/base/md5.h
new file mode 100755 (executable)
index 0000000..403e328
--- /dev/null
@@ -0,0 +1,30 @@
+/*\r
+ * Implementation of MD5\r
+ */\r
+\r
+#ifndef _MD5_H\r
+#define _MD5_H\r
+\r
+#include <stdio.h>\r
+#include <string.h>\r
+#include "CryptoCore.h"\r
+\r
+//prototypes\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_MD5_Init(SDRM_MD5Context *ctx);\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_MD5_Update(SDRM_MD5Context *ctx, cc_u8* buffer, cc_u32 cc_u8Count);\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_MD5_Final(SDRM_MD5Context *ctx, cc_u8* output );\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _MD5_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/moo.h b/SPC/Inc/base/moo.h
new file mode 100755 (executable)
index 0000000..53677a5
--- /dev/null
@@ -0,0 +1,206 @@
+/**\r
+ * \file       moo.h\r
+ * @brief      implementation of mode of operations\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/08/04\r
+ */\r
+\r
+\r
+#ifndef _MOO_H\r
+#define _MOO_H\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CryptoCore.h"\r
+#include "aes.h"\r
+#include "des.h"\r
+#include "tdes.h"\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Macros for Mode of operation\r
+////////////////////////////////////////////////////////////////////////////\r
+#ifndef SDRM_CheckByteUINT32\r
+/*!    @brief  get k-th byte from cc_u32 array A       */\r
+#define SDRM_CheckByteUINT32(A, k)             (cc_u8)(0xff & (A[(k) >> 2] >> (((k) & 3 ) << 3)))\r
+#endif\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         int SDRM_ECB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key)\r
+ * @brief      Encrypt a block with ECB mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]cipher text block\r
+ * @param      in                                              [in]plain text block\r
+ * @param      key                                             [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key);\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_ECB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key)\r
+ * @brief      Decrypt a block with ECB mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]plain text block\r
+ * @param      in                                              [in]cipher text block\r
+ * @param      key                                             [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key);\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_CBC_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV)\r
+ * @brief      Encrypt a block with CBC mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]cipher text block\r
+ * @param      in                                              [in]plain text block\r
+ * @param      key                                             [in]user key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CBC_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV);\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_CBC_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV)\r
+ * @brief      Decrypt a block with CBC mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                     [out]plain text block\r
+ * @param      in                                      [in]cipher text block\r
+ * @param      key                                     [in]user key\r
+ * @param      IV                                      [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CBC_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV);\r
+\r
+\r
+/*     \r
+ * @fn         int SDRM_CFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV)\r
+ * @brief      Encrypt a block with CFB mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                     [out]cipher text block\r
+ * @param      in                                      [in]plain text block\r
+ * @param      key                                     [in]user key\r
+ * @param      IV                                      [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV);\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_CFB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV)\r
+ * @brief      Decrypt a block with CBC mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]plain text block\r
+ * @param      in                                              [in]cipher text block\r
+ * @param      key                                             [in]user key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CFB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV);\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_OFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV)\r
+ * @brief      Encrypt a block with OFB mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]cipher text block\r
+ * @param      in                                              [in]plain text block\r
+ * @param      key                                             [in]user key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_OFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV);\r
+\r
+\r
+/*\r
+ * @fn         SDRM_OFB_Dec(ALG, OUT, IN, KEY, IV)\r
+ * @brief      Decrypt a block with OFB mode\r
+ *\r
+ * \n  ALG                                             [in]algorithm\r
+ * \n  OUT                                             [out]plain text block\r
+ * \n  IN                                              [in]cipher text block\r
+ * \n  KEY                                             [in]user key\r
+ * \n  IV                                              [in]initial vector\r
+ */\r
+#define SDRM_OFB_Dec(ALG, OUT, IN, KEY, IV)    SDRM_OFB_Enc(ALG, OUT, IN, KEY, IV)\r
+\r
+/*\r
+ * @fn         int SDRM_CTR_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV, cc_u32 counter)\r
+ * @brief      Encrypt a block with CTR mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]cipher text block\r
+ * @param      in                                              [in]plain text block\r
+ * @param      key                                             [in]user key\r
+ * @param      IV                                              [in]initial vector\r
+ * @param      counter                                 [in]counter\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTR_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV, cc_u32 counter);\r
+\r
+\r
+/*\r
+ * @fn         SDRM_CTR_Dec(ALG, OUT, IN, KEY, IV, CTR)\r
+ * @brief      Decrypt a block with CTR mode\r
+ *\r
+ * \n  ALG                                             [in]algorithm\r
+ * \n  OUT                                             [out]plain text block\r
+ * \n  IN                                              [in]cipher text block\r
+ * \n  KEY                                             [in]user key\r
+ * \n  IV                                              [in]initial vector\r
+ * \n  CTR                                             [in]counter\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+#define SDRM_CTR_Dec(ALG, OUT, IN, KEY, IV, CTR)       SDRM_CTR_Enc(ALG, OUT, IN, KEY, IV, CTR)\r
+\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _MOO_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/pkcs1_v21.h b/SPC/Inc/base/pkcs1_v21.h
new file mode 100755 (executable)
index 0000000..5d4e725
--- /dev/null
@@ -0,0 +1,142 @@
+/**\r
+ * \file       pkcs1_v21.h\r
+ * @brief      PKCS#1 V1.5, V2.0(RSAES-OAEP), V2.1(RSASSA-PSS) Implemetation\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/20\r
+ */\r
+\r
+#ifndef _PKCS1_V21_H\r
+#define _PKCS1_V21_H\r
+\r
+//////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+//////////////////////////////////////////////////////////////////////////\r
+#include <stdlib.h>\r
+#include "CryptoCore.h"\r
+#include "bignum.h"\r
+\r
+//////////////////////////////////////////////////////////////////////////\r
+// Define Constants\r
+//////////////////////////////////////////////////////////////////////////\r
+/*!    @brief  padding mode - enpadding        */\r
+#define SDRM_ENPADDING         11111\r
+/*!    @brief  padding mode - depadding        */\r
+#define SDRM_DEPADDING         11112\r
+\r
+/*!    @brief  DER message     */\r
+#define SDRM_DIGESTINFO_MD5_VALUE                      {0x30, 0x20, 0x30, 0x0c, 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x02, 0x05, 0x05, 0x00, 0x40, 0x10}\r
+#define SDRM_DIGESTINFO_SHA1_VALUE                     {0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14}\r
+#define SDRM_DIGESTINFO_SHA256_VALUE           {0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x04, 0x20}\r
+#define SDRM_DIGESTINFO_SHA384_VALUE           {0x30, 0x41, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00, 0x04, 0x30}\r
+#define SDRM_DIGESTINFO_SHA512_VALUE           {0x30, 0x51, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00, 0x04, 0x40}\r
+\r
+/*!    @brief  byte-length of DER message      */\r
+#define SDRM_DIGESTINFO_MD5_LEN                                18\r
+#define SDRM_DIGESTINFO_SHA1_LEN                       15\r
+#define SDRM_DIGESTINFO_SHA256_LEN                     19\r
+#define SDRM_DIGESTINFO_SHA384_LEN                     19\r
+#define SDRM_DIGESTINFO_SHA512_LEN                     19\r
+\r
+#define SDRM_EMSA_PSS_SALT_LEN                         4\r
+\r
+//////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+//////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         int SDRM_Padding_Rsaes_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, cc_u32 k)\r
+ * @brief      RSAES PKCS#1 v1.5\r
+ *\r
+ * @param      BN_Dest                                 [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING\r
+ * @param      BN_Src                                  [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING\r
+ * @param      MODE                                    [in]ENPADDING or DEPADDING\r
+ * @param      k                                               [in]byte-size of n\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_MSG_TOO_LONG             if message is longer then key\r
+ * \n          CRYPTO_NULL_POINTER             if argument is null\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Padding_Rsaes_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, cc_u32 k);\r
+\r
+/*\r
+ * @fn         int SDRM_Padding_Rsaes_oaep(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, int HASH_Algorithm, cc_u32 k)\r
+ * @brief      RSAES OAEP\r
+ *\r
+ * @param      BN_Dest                                 [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING\r
+ * @param      BN_Src                                  [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING\r
+ * @param      MODE                                    [in]ENPADDING or DEPADDING\r
+ * @param      k                                               [in]byte-size of n\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_MSG_TOO_LONG             if message is longer then key\r
+ * \n          CRYPTO_NULL_POINTER             if argument is null\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Padding_Rsaes_oaep(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, int HASH_Algorithm, cc_u32 k);\r
+\r
+/*\r
+ * @fn         int SDRM_Padding_Rsassa_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, int MODE, int HASH_Algorithm, cc_u32 k);\r
+ * @brief      RSASSA PKCS#1 v1.5\r
+ *\r
+ * @param      BN_Dest                                 [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING\r
+ * @param      BN_Src                                  [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING\r
+ * @param      pszHash                                 [in]hash of BN_Src\r
+ * @param      MODE                                    [in]ENPADDING or DEPADDING\r
+ * @param      k                                               [in]byte-size of n\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_MSG_TOO_LONG             if message is longer then key\r
+ * \n          CRYPTO_INVALID_ARGUMENT if source is not in the right form\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Padding_Rsassa_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, int MODE, int HASH_Algorithm, cc_u32 k);\r
+\r
+/*\r
+ * @fn         int SDRM_Padding_Rsassa_pss(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, cc_u32 emBits, int MODE, int HASH_Algorithm, cc_u32 MaxByte)\r
+ * @brief      RSASSA PSS\r
+ *\r
+ * @param      BN_Dest                                 [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING\r
+ * @param      BN_Src                                  [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING\r
+ * @param      pszHash                                 [in]hash of BN_Src\r
+ * @param      emBits                                  [in]bit-length of EM\r
+ * @param      MODE                                    [in]ENPADDING or DEPADDING\r
+ * @param      MaxByte                                 [in]max byte-length for MGF function\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_MSG_TOO_LONG             if message is longer then key\r
+ * \n          CRYPTO_INVALID_ARGUMENT if source is not in the right form\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Padding_Rsassa_pss(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, cc_u32 emBits, int MODE, int HASH_Algorithm, cc_u32 MaxByte);\r
+\r
+/*\r
+ * @fn         int SDRM_MGF1(int HASH_Algorithm, cc_u8* mask, cc_u8* pbSeed, cc_u32 SeedLen, cc_u32 dMaskLen)\r
+ * @brief      MGF1 Function (Mask Generation Function based on a hash function)\r
+ *\r
+ * @param      mask                                    [out]byte-length of generated mask\r
+ * @param      pbSeed                                  [in]seed for MGF\r
+ * @param      SeedLen                                 [in]byte-length of pbSeed\r
+ * @param      dMaskLen                                [in]byte-length of mask\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MGF1(int HASH_Algorithm, cc_u8* mask, cc_u8* pbSeed, cc_u32 SeedLen, cc_u32 dMaskLen);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/rc4.h b/SPC/Inc/base/rc4.h
new file mode 100755 (executable)
index 0000000..112676e
--- /dev/null
@@ -0,0 +1,60 @@
+/**\r
+ * \file       rc4.h\r
+ * @brief      implementation of RC4 encryption scheme\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/12/01\r
+ */\r
+\r
+#ifndef _RC4_H\r
+#define _RC4_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CryptoCore.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         int SDRM_RC4_Setup(SDRM_RC4Context *ctx, cc_u8 *UserKey, cc_u32 keyLen)\r
+ * @brief      intialize s\r
+ *\r
+ * @param      ctx                                     [in]crypto context\r
+ * @param      UserKey                         [in]user key\r
+ * @param      keyLen                          [out]byte-length of UserKey\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RC4_Setup(SDRM_RC4Context *ctx, cc_u8 *UserKey, cc_u32 keyLen);\r
+\r
+/*\r
+ * @fn         int SDRM_RC4_PRNG(SDRM_RC4Context *ctx, cc_u8 *in, cc_u32 inLen, cc_u8 *out)\r
+ * @brief      process stream data\r
+ *\r
+ * @param      ctx                                     [in]crypto context\r
+ * @param      in                                      [in]plaintext\r
+ * @param      inLen                           [in]byte-length of in\r
+ * @param      out                                     [out]cipher text\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RC4_PRNG(SDRM_RC4Context *ctx, cc_u8 *in, cc_u32 inLen, cc_u8 *out);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/sha1.h b/SPC/Inc/base/sha1.h
new file mode 100755 (executable)
index 0000000..1bc10e1
--- /dev/null
@@ -0,0 +1,30 @@
+/*\r
+ * Implementation of SHA-1\r
+ */\r
+\r
+#ifndef _SHA1_H\r
+#define _SHA1_H\r
+\r
+#include <stdio.h>\r
+#include <string.h>\r
+#include "CryptoCore.h"\r
+\r
+//prototypes\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA1_Init(SDRM_SHA1Context* ctx);\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA1_Update(SDRM_SHA1Context* ctx, const cc_u8* buffer, int ByteCount);\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA1_Final(SDRM_SHA1Context* ctx, cc_u8* output);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _SHA1_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/sha2.h b/SPC/Inc/base/sha2.h
new file mode 100755 (executable)
index 0000000..68062a1
--- /dev/null
@@ -0,0 +1,44 @@
+/*\r
+ * Implementation of SHA-2\r
+ */\r
+\r
+#ifndef _SHA2_H\r
+#define _SHA2_H\r
+\r
+#include <stdio.h>\r
+#include <string.h>\r
+#include "CryptoCore.h"\r
+\r
+//prototypes\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA224_Init(SDRM_SHA224Context* ctx);\r
+CRYPTOCORE_INTERNAL void SDRM_SHA224_Update(SDRM_SHA224Context* ctx, const cc_u8 *message, cc_u32 len);\r
+CRYPTOCORE_INTERNAL void SDRM_SHA224_Final(SDRM_SHA224Context* ctx, cc_u8 *digest);\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA256_Init(SDRM_SHA256Context* ctx);\r
+CRYPTOCORE_INTERNAL void SDRM_SHA256_Update(SDRM_SHA256Context* ctx, const cc_u8 *message, cc_u32 len);\r
+CRYPTOCORE_INTERNAL void SDRM_SHA256_Final(SDRM_SHA256Context* ctx, cc_u8 *digest);\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA384_Init(SDRM_SHA384Context* ctx);\r
+CRYPTOCORE_INTERNAL void SDRM_SHA384_Update(SDRM_SHA384Context* ctx, const cc_u8 *message, cc_u32 len);\r
+CRYPTOCORE_INTERNAL void SDRM_SHA384_Final(SDRM_SHA384Context* ctx, cc_u8 *digest);\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA512_Init(SDRM_SHA512Context* ctx);\r
+CRYPTOCORE_INTERNAL void SDRM_SHA512_Update(SDRM_SHA512Context* ctx, const cc_u8 *message, cc_u32 len);\r
+CRYPTOCORE_INTERNAL void SDRM_SHA512_Final(SDRM_SHA512Context* ctx, cc_u8 *digest);\r
+\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _SHA2_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/base/snow2.h b/SPC/Inc/base/snow2.h
new file mode 100755 (executable)
index 0000000..1061cca
--- /dev/null
@@ -0,0 +1,68 @@
+/**\r
+ * \file       snow2.h\r
+ * @brief      implementation of SNOW 2.0 encryption scheme\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/12/02\r
+ */\r
+\r
+\r
+#ifndef _SNOW2_H\r
+#define _SNOW2_H\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CryptoCore.h"\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         int SDRM_SNOW2_Setup(SDRM_SNOW2Context *ctx, cc_u8 *UserKey, cc_u32 keyLen, cc_u8 *IV)\r
+ * @brief      Setup FSM and s values\r
+ * @param      ctx                             [out]crypto context\r
+ * @param      UserKey                 [in]User Key, 128 or 256 bit\r
+ * @param      keyLen                  [in]byte-size of User Key, 16 or 32\r
+ * @param      IV                              [in]16 byte initial vector\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SNOW2_Setup(SDRM_SNOW2Context *ctx, cc_u8 *UserKey, cc_u32 keyLen, cc_u8 *IV);\r
+\r
+/*\r
+ * @fn         int SDRM_SNOW2_getKeyStream64(SDRM_SNOW2Context *ctx, cc_u32 *keyStream64)\r
+ * @brief      get 64 byte key stream\r
+ * @param      ctx                             [out]crypto context\r
+ * @param      keyStream64             [in]generated key stream\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SNOW2_getKeyStream64(SDRM_SNOW2Context *ctx, cc_u32 *keyStream64);\r
+\r
+/*\r
+ * @fn         int SDRM_SNOW2_getKeyStream(SDRM_SNOW2Context *ctx, cc_u32 *keyStream)\r
+ * @brief      get 4 byte key stream\r
+ * @param      ctx                             [out]crypto context\r
+ * @param      keyStream               [in]generated key stream\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SNOW2_getKeyStream(SDRM_SNOW2Context *ctx, cc_u32 *keyStream);\r
+\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif //      _SNOW2_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/drm_macro.h b/SPC/Inc/drm_macro.h
new file mode 100755 (executable)
index 0000000..94432b3
--- /dev/null
@@ -0,0 +1,201 @@
+/**\r
+ * \file       drm_macro.h\r
+ * @brief      Common Macro Difinitions\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Changsup Ahn\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/08/02\r
+ */\r
+\r
+#ifndef _DRM_MACRO_H\r
+#define _DRM_MACRO_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Header File Include\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <stdio.h>\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Macros\r
+////////////////////////////////////////////////////////////////////////////\r
+/*!    @brief  get larger of two       */\r
+#define MAX2(A, B) ((A) > (B) ? (A) : (B))\r
+\r
+/*!    @brief  get largest of three    */\r
+#define MAX3(C, D, E) ((C) > MAX2((D), (E)) ? (C) : MAX2((D), (E)))\r
+\r
+/*!    @brief  print out by byte unit  */\r
+#undef PrintBYTE\r
+#define PrintBYTE(msg, Data, DataLen) {                                        \\r
+       int idx;                                                                                        \\r
+       printf("%10s =", msg);                                                          \\r
+       for( idx=0; idx<(int)DataLen; idx++) {                          \\r
+               if( (idx!=0) && ((idx%16)==0) ) printf("\n");   \\r
+               if((idx % 4) == 0)      printf(" 0x");                          \\r
+               printf("%.2x", Data[idx]);                                              \\r
+       }                                                                                                       \\r
+       printf("\n");                                                                           \\r
+}\r
+\r
+/*!    @brief  print out in hexa representation        */\r
+#undef PrintBYTE_HEX\r
+#define PrintBYTE_HEX(msg, Data, DataLen) {                            \\r
+       int idx;                                                                                        \\r
+       printf("%10s =", msg);                                                          \\r
+       for( idx=0; idx<(int)DataLen; idx++) {                          \\r
+               if( (idx!=0) && ((idx%8)==0) ) printf("\n");    \\r
+               printf("0x%.2x, ", Data[idx]);                                  \\r
+       }                                                                                                       \\r
+       printf("\n");                                                                           \\r
+}\r
+\r
+/*!    @brief  print out in hexa representation without length information     */\r
+#undef PrintBYTE_FILE_RAW                                                                      // raw data ÇüÅ·Π»ç¿ëÇÒ ¼ö ÀÖµµ·Ï Hex ÇüÅ·ΠÃâ·Â \r
+#define PrintBYTE_FILE_RAW(pfile, Data, DataLen) {             \\r
+       int idx;                                                                                        \\r
+       for( idx=0; idx<(int)DataLen; idx++) {                          \\r
+               if( (idx==0) || ((idx%8)!=0) )                                  \\r
+                       fprintf(pfile, "0x%.2x, ", Data[idx]);          \\r
+               else                                                                                    \\r
+                       fprintf(pfile, " \n0x%.2x, ", Data[idx]);       \\r
+       }                                                                                                       \\r
+}\r
+\r
+/*!    @brief  print out message       */\r
+#undef PrintMSG\r
+#define PrintMSG(msg) {                                                                        \\r
+       fprintf(stdout, "\n************************************************\n");        \\r
+       fprintf(stdout, "*     %s\n", msg);                                     \\r
+       fprintf(stdout, "*\n");                                                         \\r
+}\r
+\r
+/*!    @brief  copy 16 byte block      */\r
+#undef BlockCopy\r
+#define BlockCopy(pbDst, pbSrc) {                                              \\r
+       memcpy(pbDst, pbSrc, 16);                                                       \\r
+}\r
+\r
+/*!    @brief  xor 16 byte block       */\r
+#undef BlockXor\r
+#define BlockXor(pbDst, phSrc1, phSrc2) {                              \\r
+       int idx;                                                                                        \\r
+       for(idx = 0; idx < 16; idx++)                                           \\r
+               (pbDst)[idx] = (phSrc1)[idx] ^ (phSrc2)[idx];   \\r
+}\r
+\r
+/*!    @brief  convert 32-bit unit to 4 byte   */\r
+#undef GET_UINT32\r
+#define GET_UINT32(n,b,i)                                                              \\r
+{                                                                                                              \\r
+    (n) = ((unsigned int)((b)[(i)    ]) << 24 )                        \\r
+        | ((unsigned int)((b)[(i) + 1]) << 16 )                        \\r
+        | ((unsigned int)((b)[(i) + 2]) <<  8 )                        \\r
+        | ((unsigned int)((b)[(i) + 3])       );               \\r
+}\r
+\r
+/*!    @brief  4 byte to 32-bit unit   */\r
+#undef PUT_UINT32\r
+#define PUT_UINT32(n,b,i)                                                              \\r
+{                                                                                                              \\r
+    (b)[(i)    ] = (unsigned char) ( (n) >> 24 );                              \\r
+    (b)[(i) + 1] = (unsigned char) ( (n) >> 16 );                              \\r
+    (b)[(i) + 2] = (unsigned char) ( (n) >>  8 );                              \\r
+    (b)[(i) + 3] = (unsigned char) ( (n)       );                              \\r
+}\r
+\r
+/*!    @brief  convert 24-bit unit to 3 byte   */\r
+#undef GET_UINT24\r
+#define GET_UINT24(n,b,i)                                                              \\r
+{                                                                                                              \\r
+    (n) = ( (b)[(i)    ] << 16 )                                               \\r
+        | ( (b)[(i) + 1] << 8  )                                               \\r
+        | ( (b)[(i) + 2]       );                                              \\r
+}\r
+\r
+/*!    @brief  convert 3 byte to 24-bit unit   */\r
+#undef PUT_UINT24\r
+#define PUT_UINT24(n,b,i)                                                              \\r
+{                                                                                                              \\r
+    (b)[(i)    ] = (unsigned char) ( (n) >> 16 );                              \\r
+    (b)[(i) + 1] = (unsigned char) ( (n) >>  8 );                              \\r
+    (b)[(i) + 2] = (unsigned char) ( (n) >>    );                              \\r
+}\r
+\r
+/*!    @brief  convert 16-bit unit to 2 byte   */\r
+#undef GET_UINT16\r
+#define GET_UINT16(n,b,i)                                                              \\r
+{                                                                                                              \\r
+    (n) = ( (b)[(i)    ] << 8 )                                                        \\r
+        | ( (b)[(i) + 1]       );                                                      \\r
+}\r
+\r
+/*!    @brief  convert 2 byte to 16-bit unit   */\r
+#undef PUT_UINT16\r
+#define PUT_UINT16(n,b,i)                                                              \\r
+{                                                                                                              \\r
+    (b)[(i)    ] = (unsigned char) ( (n) >> 8 );                               \\r
+    (b)[(i) + 1] = (unsigned char) ( (n)      );                               \\r
+}\r
+\r
+/*!    @brief  read 1 byte of s form o & increase o    */\r
+#undef READ_8\r
+#define READ_8(t,s,o) {                                                                        \\r
+       t = (unsigned char) s[o];                                                                       \\r
+       o+=1;                                                                                           \\r
+}\r
+\r
+/*!    @brief  read 2 byte of sfrom o & increase o     */\r
+#undef READ_16\r
+#define READ_16(t,s,o) {                                                               \\r
+       GET_UINT16(t,s,o);                                                                      \\r
+       o+=2;                                                                                           \\r
+}\r
+\r
+/*!    @brief  read 3 byte of s from o & increase o    */\r
+#undef READ_24\r
+#define READ_24(t,s,o) {                                                               \\r
+       GET_UINT24(t,s,o);                                                                      \\r
+       o+=3;                                                                                           \\r
+}\r
+\r
+/*!    @brief  read 4 byte of s from o & increase o    */\r
+#undef READ_32\r
+#define READ_32(t,s,o) {                                                               \\r
+       GET_UINT32(t,s,o);                                                                      \\r
+       o+=4;                                                                                           \\r
+}\r
+\r
+/*!    @brief  write 4 byte to s from o & increase o   */\r
+#undef WRITE_32\r
+#define WRITE_32(t,s,o) {                                                              \\r
+       PUT_UINT32(s,t,o);                                                                      \\r
+       o+=4;                                                                                           \\r
+}\r
+\r
+/*!    @brief  write 3 byte to s from o & increase o   */\r
+#undef WRITE_24\r
+#define WRITE_24(t,s,o) {                                                              \\r
+       PUT_UINT24(s,t,o);                                                                      \\r
+       o+=3;                                                                                           \\r
+}\r
+\r
+/*!    @brief  write 2 byte to s from o & increase o   */\r
+#undef WRITE_16\r
+#define WRITE_16(t,s,o) {                                                              \\r
+       PUT_UINT16(s,t,o);                                                                      \\r
+       o+=2;                                                                                           \\r
+}\r
+\r
+/*!    @brief  write 1 byte to s from o & increase o   */\r
+#undef WRITE_8\r
+#define WRITE_8(t,s,o) {                                                               \\r
+       t[o] = (unsigned char)s;                                                                        \\r
+       o+=1;                                                                                           \\r
+}\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/middle/cmac.h b/SPC/Inc/middle/cmac.h
new file mode 100755 (executable)
index 0000000..3b5b4a3
--- /dev/null
@@ -0,0 +1,95 @@
+/**\r
+ * \file       cmac.h\r
+ * @brief      funciton for c-mac code generation by AES-128\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/20\r
+ */\r
+\r
+#ifndef _CMAC_H\r
+#define _CMAC_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CC_API.h"\r
+#include "moo.h"\r
+#include "aes.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         int SDRM_CMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen)\r
+ * @brief      Parameter setting for mac code generation\r
+ *\r
+ * @param      crt                                                     [out]crypto parameter\r
+ * @param      Key                                                     [in]user key\r
+ * @param      KeyLen                                          [in]byte-length of Key\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen);\r
+\r
+/*\r
+ * @fn         int SDRM_CMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen)\r
+ * @brief      process data blocks\r
+ *\r
+ * @param      crt                                                     [out]crypto parameter\r
+ * @param      msg                                                     [in]data block\r
+ * @param      msgLen                                          [in]byte-length of Text\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen);\r
+\r
+/*\r
+ * @fn         int SDRM_CMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen)\r
+ * @brief      process last data block\r
+ *\r
+ * @param      crt                                                     [in]crypto parameter\r
+ * @param      output                                          [out]generated MAC\r
+ * @param      outputLen                                       [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+/*\r
+ * @fn         int SDRM_CMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen)\r
+ * @brief      generate c-mac code\r
+ *\r
+ * @param      crt                                                     [in]crypto parameter\r
+ * @param      Key                                                     [in]user key\r
+ * @param      KeyLen                                          [in]byte-length of Key\r
+ * @param      msg                                                     [in]data block\r
+ * @param      msgLen                                          [in]byte-length of Text\r
+ * @param      output                                          [out]generated MAC\r
+ * @param      outputLen                                       [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _CMAC_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/middle/dh.h b/SPC/Inc/middle/dh.h
new file mode 100755 (executable)
index 0000000..b18943c
--- /dev/null
@@ -0,0 +1,94 @@
+/**\r
+ * \file       dh.h\r
+ * @brief      implementation of Diffie-Hellman Key Exchange Protocol\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2012/04/12\r
+ */\r
+\r
+#ifndef _DIFFIE_HELLMAN_H\r
+#define _DIFFIE_HELLMAN_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <stdio.h>\r
+#include "CC_API.h"\r
+\r
+#define DH_DEFAULT_GENERATOR   5                                       /**<    fixed generator value   */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/**\r
+ * @fn         SDRM_GenerateDHParam(SDRM_DHContext* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned int* pGenerator)\r
+ * @brief      generate parameters for Diffie-Hellman protocol\r
+ *\r
+ * @param      [out] crt                               context\r
+ * @param      [out] pPrime                    prime number\r
+ * @param      [in]  nPrimeLen                 size of pPrime buffer\r
+ * @param      [out] pGenerator                generator value\r
+ * @return     int\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_GenerateDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned char* pGenerator);\r
+\r
+/**\r
+ * @fn         SDRM_SetDHParam(SDRM_DHContext* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned int nGenerator)\r
+ * @brief      set parameters for Diffie-Hellman protocol\r
+ *\r
+ * @param      [out] crt                               context\r
+ * @param      [in]  pPrime                    prime number\r
+ * @param      [in]  nPrimeLen                 size of pPrime buffer\r
+ * @param      [in]  pGenerator                generator value\r
+ * @param      [in]  nGeneratorLen             generator len\r
+ * @return     int\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SetDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned char* pGenerator, unsigned int nGeneratorLen);\r
+\r
+/**\r
+ * @fn         SDRM_GenerateDHPrivate(CryptoCoreContainer* crt, unsigned char* pPub)\r
+ * @brief      generate private value and calculate public value\r
+ *\r
+ * @param      [in]  crt                               context\r
+ * @param      [out] pPriv                             private value\r
+ * @param      [out] pPub                              public value\r
+ * @return     int\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_GenerateDHPrivate(CryptoCoreContainer* crt, unsigned char* pPriv, unsigned char* pPub);\r
+\r
+/**\r
+ * @fn         SDRM_GetDHSharedSecret(CryptoCoreContainer* crt, unsigned char* pPub, unsigned char* pSharedSecret)\r
+ * @brief      calculate shared secret\r
+ *\r
+ * @param      [in]  crt                               context\r
+ * @param      [in]  pPriv                             private value\r
+ * @param      [in]  pPub                              guest's public value\r
+ * @param      [out] pSharedSecret             public value\r
+ * @return     int\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_GetDHSharedSecret(CryptoCoreContainer* crt, unsigned char* pPriv, unsigned char* pPub, unsigned char* pSharedSecret);\r
+\r
+/**\r
+ * @fn         SDRM_FreeDHContext(CryptoCoreContainer* crt)\r
+ * @brief      free context buffer\r
+ *\r
+ * @param      [in]  crt                               context\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_FreeDHContext(SDRM_DHContext* ctx);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _DIFFIE_HELLMAN_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/middle/dsa.h b/SPC/Inc/middle/dsa.h
new file mode 100755 (executable)
index 0000000..7b76f09
--- /dev/null
@@ -0,0 +1,171 @@
+/**\r
+ * \file       dsa.h\r
+ * @brief      implementation of dsa signature/verifycation\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/23\r
+ */\r
+\r
+#ifndef _DSA_H\r
+#define _DSA_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <stdio.h>\r
+#include "CC_API.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_DSAContext *SDRM_DSA_InitCrt(void)\r
+ * @brief      generate DSA Context\r
+ *\r
+ * @return     pointer to the generated context\r
+ * \n          NULL    if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_DSAContext *SDRM_DSA_InitCrt(void);\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_SetParam(CryptoCoreContainer *crt, cc_u8 *DSA_P_Data,      cc_u32 DSA_P_Len, cc_u8 *DSA_Q_Data,    cc_u32 DSA_Q_Len, cc_u8 *DSA_G_Data,    cc_u32 DSA_G_Len)\r
+ * @brief      set DSA parameters\r
+ *\r
+ * @param      crt                                                     [out]dsa context\r
+ * @param      DSA_P_Data                                      [in]octet string of p value\r
+ * @param      DSA_P_Len                                       [in]legnth of p_val\r
+ * @param      DSA_Q_Data                                      [in]octet string of q value\r
+ * @param      DSA_Q_Len                                       [in]legnth of q_val\r
+ * @param      DSA_G_Data                                      [in]octet string of al value\r
+ * @param      DSA_G_Len                                       [in]legnth of al_val\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if input parameter pointer is null\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_ERROR                            if conversion is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_SetParam(\r
+       CryptoCoreContainer *crt, \r
+       cc_u8 *DSA_P_Data,      cc_u32 DSA_P_Len, \r
+       cc_u8 *DSA_Q_Data,      cc_u32 DSA_Q_Len, \r
+       cc_u8 *DSA_G_Data,      cc_u32 DSA_G_Len);\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_SetKeyPair(CryptoCoreContainer *crt, cc_u8 *DSA_Y_Data, cc_u32 DSA_Y_Len, cc_u8 *DSA_X_Data, cc_u32 DSA_X_Len)\r
+ * @brief      set DSA parameters\r
+ *\r
+ * @param      crt                                                     [out]dsa context\r
+ * @param      DSA_Y_Data                                      [in]octet string of y value\r
+ * @param      DSA_Y_Len                                       [in]legnth of y_val\r
+ * @param      DSA_X_Data                                      [in]octet string of a value\r
+ * @param      DSA_X_Len                                       [in]legnth of a_val\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if input parameter pointer is null\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_ERROR                            if conversion is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_SetKeyPair(\r
+       CryptoCoreContainer *crt, \r
+       cc_u8 *DSA_Y_Data, cc_u32 DSA_Y_Len, \r
+       cc_u8 *DSA_X_Data, cc_u32 DSA_X_Len);\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_GenParam(CryptoCoreContainer *crt, cc_u32 T_Siz, cc_u8 *DSA_P_Data, cc_u32 *DSA_P_Len, cc_u8 *DSA_Q_Data, cc_u32 *DSA_Q_Len, cc_u8 *DSA_G_Data, cc_u32 *DSA_G_Len)\r
+ * @brief      generate and set DSA parameters\r
+ *\r
+ * @param      crt                                                     [out]dsa context\r
+ * @param      T_Siz                                           [in]fix the length of p to 512 + 64t bit (0 <= T_Siz <= 8)\r
+ * @param      DSA_P_Data                                      [out]octet string of p value\r
+ * @param      DSA_P_Len                                       [out]legnth of p_val\r
+ * @param      DSA_Q_Data                                      [out]octet string of q value\r
+ * @param      DSA_Q_Len                                       [out]legnth of q_val\r
+ * @param      DSA_G_Data                                      [out]octet string of al value\r
+ * @param      DSA_G_Len                                       [out]legnth of al_val\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if input parameter pointer is null\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_ERROR                            if conversion is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_GenParam(\r
+       CryptoCoreContainer *crt, \r
+       cc_u32 T_Siz, cc_u8 *DSA_P_Data, cc_u32 *DSA_P_Len, \r
+       cc_u8 *DSA_Q_Data, cc_u32 *DSA_Q_Len, \r
+       cc_u8 *DSA_G_Data, cc_u32 *DSA_G_Len);\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_GenKeypair(CryptoCoreContainer *crt, cc_u8 *DSA_Y_Data, cc_u32 *DSA_Y_Len, cc_u8 *DSA_X_Data, cc_u32 *DSA_X_Len)\r
+ * @brief      generate and set DSA parameters\r
+ *\r
+ * @param      crt                                                     [out]dsa context\r
+ * @param      DSA_Y_Data                                      [out]octet string of y value\r
+ * @param      DSA_Y_Len                                       [out]legnth of y_val\r
+ * @param      DSA_X_Data                                      [out]octet string of a value\r
+ * @param      DSA_X_Len                                       [out]legnth of a_val\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if input parameter pointer is null\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_ERROR                            if conversion is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_GenKeypair(\r
+       CryptoCoreContainer *crt, \r
+       cc_u8 *DSA_Y_Data, cc_u32 *DSA_Y_Len, \r
+       cc_u8 *DSA_X_Data, cc_u32 *DSA_X_Len);\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen)\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                     [in]crypto env structure\r
+ * @param      hash                            [in]hash value\r
+ * @param      hashLen                         [in]byte-length of hash\r
+ * @param      signature                       [out]generated signature\r
+ * @param      signLen                         [out]byte-length of signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_sign(\r
+       CryptoCoreContainer *crt,\r
+       cc_u8 *hash, cc_u32 hashLen,\r
+       cc_u8 *signature, cc_u32 *signLen);\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_verify(CryptoCoreContainer *crt,cc_u8 *hash, cc_u32 hashLen,cc_u8 *signature, cc_u32 signLen,int *result)\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      hash                                    [in]hash value\r
+ * @param      hashLen                                 [in]byte-length of hash\r
+ * @param      signature                               [in]signature\r
+ * @param      signLen                                 [in]byte-length of signature\r
+ * @param      result                                  [in]result of veryfing signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if the length of signature is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_verify(\r
+       CryptoCoreContainer *crt,\r
+       cc_u8 *hash, cc_u32 hashLen,\r
+       cc_u8 *signature, cc_u32 signLen,\r
+       int *result);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _DSA_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/middle/ecdh.h b/SPC/Inc/middle/ecdh.h
new file mode 100755 (executable)
index 0000000..a58803d
--- /dev/null
@@ -0,0 +1,61 @@
+/**\r
+ * \file       ecdh.h\r
+ * @brief      implementation of EC Diffie-Hellman Key Exchange Protocol\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/27\r
+ */\r
+\r
+#ifndef _ECDH_H\r
+#define _ECDH_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <stdio.h>\r
+#include "CC_API.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         int SDRM_generateDH1stPhaseKey(CryptoCoreContainer *crt, cc_u8 *pchXk, cc_u8 *pchXv)\r
+ * @brief      generate Xk and its Xv\r
+ *\r
+ * @param      crt                                     [in]crypto context\r
+ * @param      pchXk                           [out]Generated Random Number\r
+ * @param      pchXv                           [out]DH 1st phase value\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL  int SDRM_generateDH1stPhaseKey(CryptoCoreContainer *crt, cc_u8 *pchXk, cc_u8 *pchXv);\r
+\r
+/*\r
+ * @fn         int SDRM_generateDHKey(CryptoCoreContainer *crt, cc_u8* pchXk, cc_u8* pchYv, cc_u8* pchKauth)\r
+ * @brief      genenrate auth key with Xk and Yv\r
+ *\r
+ * @param      crt                                     [in]crypto context\r
+ * @param      pchXk                           [in]Generated Random Number\r
+ * @param      pchYv                           [in]DH 1st phase value\r
+ * @param      pchKauth                        [out]authentication key\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_generateDHKey(CryptoCoreContainer *crt, cc_u8* pchXk, cc_u8* pchYv, cc_u8* pchKauth);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _ECDH_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/middle/ecdsa.h b/SPC/Inc/middle/ecdsa.h
new file mode 100755 (executable)
index 0000000..13d2098
--- /dev/null
@@ -0,0 +1,144 @@
+/**\r
+ * \file       ecdsa.h\r
+ * @brief      implementation of public key signature algorithm\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/13\r
+ */\r
+\r
+#ifndef _ECDSA_H\r
+#define _ECDSA_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CC_API.h"\r
+#include "ecc.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         int SDRM_ECDSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen)\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                     [in]crypto env structure\r
+ * @param      hash                            [in]hash value\r
+ * @param      hashLen                         [in]byte-length of hash\r
+ * @param      signature                       [out]generated signature\r
+ * @param      signLen                         [out]byte-length of signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECDSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen);\r
+\r
+/*\r
+ * @fn         int SDRM_ECDSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result)\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      hash                                    [in]hash value\r
+ * @param      hashLen                                 [in]byte-length of hash\r
+ * @param      signature                               [in]signature\r
+ * @param      signLen                                 [in]byte-length of signature\r
+ * @param      result                                  [in]result of veryfing signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if the length of signature is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECDSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result);\r
+\r
+/*\r
+ * @fn         SDRM_ECC_Set_CTX\r
+ * @brief      Set parameters for ECC\r
+ *\r
+ * @param      crt                                     [out]crypto env structure\r
+ * @param      Dimension                       [in]dimension\r
+ * @param      ECC_P_Data                      [in]represents p\r
+ * @param      ECC_P_Len                       [in]byte-length of p\r
+ * @param      ECC_A_Data                      [in]represents a\r
+ * @param      ECC_A_Len                       [in]byte-length of a\r
+ * @param      ECC_B_Data                      [in]represents b\r
+ * @param      ECC_B_Len                       [in]byte-length of b\r
+ * @param      ECC_G_X_Data            [in]represents x coordinate of g\r
+ * @param      ECC_G_X_Len                     [in]byte-length of x coordinate of g\r
+ * @param      ECC_G_Y_Data            [in]represents y coordinate of g\r
+ * @param      ECC_G_Y_Len                     [in]byte-length of y coordinate of g\r
+ * @param      ECC_R_Data                      [in]represents r\r
+ * @param      ECC_R_Len                       [in]byte-length of r\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if argument is null\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECC_Set_CTX(\r
+       struct _CryptoCoreContainer *crt, cc_u16 Dimension, \r
+       cc_u8* ECC_P_Data,   cc_u32 ECC_P_Len,\r
+       cc_u8* ECC_A_Data,   cc_u32 ECC_A_Len,\r
+       cc_u8* ECC_B_Data,   cc_u32 ECC_B_Len,\r
+       cc_u8* ECC_G_X_Data, cc_u32 ECC_G_X_Len,\r
+       cc_u8* ECC_G_Y_Data, cc_u32 ECC_G_Y_Len,\r
+       cc_u8* ECC_R_Data,   cc_u32 ECC_R_Len\r
+);\r
+\r
+/*\r
+ * @fn         SDRM_ECC_genKeypair\r
+ * @brief      Generate Private Key and Generate Key Pair for ECC Signature\r
+ *\r
+ * @param      crt                                     [out]crypto env structure\r
+ * @param      PrivateKey                      [in]represents x coordinate of public key\r
+ * @param      PrivateKeyLen           [in]byte-length of x coordinate of public key\r
+ * @param      PublicKey_X                     [in]represents x coordinate of public key\r
+ * @param      PublicKey_XLen          [in]byte-length of x coordinate of public key\r
+ * @param      PublicKey_Y                     [in]represents y coordinate of public key\r
+ * @param      PublicKey_YLen          [in]byte-length of y coordinate of public key\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if argument is null\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECC_genKeypair(\r
+       CryptoCoreContainer *crt,\r
+       cc_u8 *PrivateKey,  cc_u32 *PrivateKeyLen, \r
+       cc_u8 *PublicKey_X, cc_u32 *PublicKey_XLen,\r
+       cc_u8 *PublicKey_Y, cc_u32 *PublicKey_YLen\r
+);\r
+                                                                                               \r
+/*\r
+ * @fn         SDRM_ECC_setKeypair\r
+ * @brief      Set key data for ECC\r
+ *\r
+ * @param      crt                                     [out]crypto env structure\r
+ * @param      PRIV_Data                       [in]represents private key\r
+ * @param      PRIV_Len                        [in]byte-length of private key\r
+ * @param      PUB_X_Data                      [in]represents x coordinate of public key\r
+ * @param      PUB_X_Len                       [in]byte-length of x coordinate of public key\r
+ * @param      PUB_Y_Data                      [in]represents y coordinate of public key\r
+ * @param      PUB_Y_Len                       [in]byte-length of y coordinate of public key\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if argument is null\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECC_setKeypair(\r
+       CryptoCoreContainer *crt,\r
+       cc_u8* PRIV_Data,  cc_u32 PRIV_Len,\r
+       cc_u8* PUB_X_Data, cc_u32 PUB_X_Len,\r
+       cc_u8* PUB_Y_Data, cc_u32 PUB_Y_Len\r
+);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/middle/hmac.h b/SPC/Inc/middle/hmac.h
new file mode 100755 (executable)
index 0000000..45e0582
--- /dev/null
@@ -0,0 +1,93 @@
+/**\r
+ * \file       hmac.h\r
+ * @brief      funciton for c-mac code generation by SHA1 and MD5\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/12/19\r
+ */\r
+\r
+#ifndef _HMAC_H\r
+#define _HMAC_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CC_API.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_HMAC_init\r
+ * @brief      Parameter setting for mac code generation\r
+ *\r
+ * @param      crt                                                     [out]crypto parameter\r
+ * @param      Key                                                     [in]user key\r
+ * @param      KeyLen                                          [in]byte-length of Key\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_HMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen);\r
+\r
+/*\r
+ * @fn         SDRM_HMAC_update\r
+ * @brief      process data blocks\r
+ *\r
+ * @param      crt                                                     [out]crypto parameter\r
+ * @param      msg                                                     [in]data block\r
+ * @param      msgLen                                          [in]byte-length of Text\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_HMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen);\r
+\r
+/*\r
+ * @fn         SDRM_HMAC_final\r
+ * @brief      process last data block\r
+ *\r
+ * @param      crt                                                     [in]crypto parameter\r
+ * @param      output                                          [out]generated MAC\r
+ * @param      outputLen                                       [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_HMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+/*\r
+ * @fn         SDRM_HMAC_getMAC\r
+ * @brief      generate h-mac code\r
+ *\r
+ * @param      crt                                                     [in]crypto parameter\r
+ * @param      Key                                                     [in]user key\r
+ * @param      KeyLen                                          [in]byte-length of Key\r
+ * @param      msg                                                     [in]data block\r
+ * @param      msgLen                                          [in]byte-length of Text\r
+ * @param      output                                          [out]generated MAC\r
+ * @param      outputLen                                       [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_HMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _HMAC_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/middle/rng.h b/SPC/Inc/middle/rng.h
new file mode 100755 (executable)
index 0000000..bd00090
--- /dev/null
@@ -0,0 +1,59 @@
+/**\r
+ * \file       rng.h\r
+ * @brief      Random Number Generator Interface\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon, Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/07\r
+ */\r
+\r
+#ifndef _RNG_H\r
+#define _RNG_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <time.h>\r
+#include "CC_API.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_X931_seed\r
+ * @brief      Seed RNG System\r
+ *\r
+ * @param      crt                                     [in]crypto env structure\r
+ * @param      seed                            [in]seed for RNG System\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_X931_seed(CryptoCoreContainer *crt, cc_u8 *seed);\r
+\r
+/*\r
+ * @fn         SDRM_X931_get\r
+ * @brief      generate random number\r
+ *\r
+ * @param      crt                                     [in]crypto env structure\r
+ * @param      bitLength                       [in]bit length for generated number\r
+ * @param      data                            [out]generated data\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_X931_get(CryptoCoreContainer *crt, cc_u32 bitLength, cc_u8 *data);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif // _RNG_H\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/middle/rsa.h b/SPC/Inc/middle/rsa.h
new file mode 100755 (executable)
index 0000000..ceb5511
--- /dev/null
@@ -0,0 +1,273 @@
+/**\r
+ * \file       rsa.h\r
+ * @brief      implementation of rsa encryption/decryption and signature/verifycation\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/20\r
+ */\r
+\r
+#ifndef _RSA_H\r
+#define _RSA_H\r
+\r
+//////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+//////////////////////////////////////////////////////////////////////////\r
+#include <stdlib.h>\r
+#include <stdio.h>\r
+#include <time.h>\r
+#include "CC_API.h"\r
+\r
+//////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+//////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_RSA_InitCrt\r
+ * @brief      generate RSA Context\r
+ *\r
+ * @return     pointer to the generated context\r
+ * \n          NULL    if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_RSAContext *SDRM_RSA_InitCrt(cc_u32 RSAKeyByteLen);\r
+\r
+/*\r
+ * @fn         SDRM_RSA_setNED\r
+ * @brief      set RSA parameters\r
+ *\r
+ * @param      crt                                     [out]rsa context\r
+ * @param      PaddingMethod           [in]padding method\r
+ * @param      RSA_N_Data                      [in]n value\r
+ * @param      RSA_N_Len                       [in]byte-length of n\r
+ * @param      RSA_E_Data                      [in]e value\r
+ * @param      RSA_E_Len                       [in]byte-length of e\r
+ * @param      RSA_D_Data                      [in]d value\r
+ * @param      RSA_D_Len                       [in]byte-length of d\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if an argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_setNED\r
+(\r
+       CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+       cc_u8* RSA_N_Data,   cc_u32 RSA_N_Len,\r
+       cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+       cc_u8* RSA_D_Data,   cc_u32 RSA_D_Len\r
+);\r
+\r
+/*\r
+ * @fn         SDRM_RSA_setNEDPQ\r
+ * @brief      set RSA parameters\r
+ *\r
+ * @param      crt                                     [out]rsa context\r
+ * @param      PaddingMethod           [in]padding method\r
+ * @param      RSA_N_Data                      [in]n value\r
+ * @param      RSA_N_Len                       [in]byte-length of n\r
+ * @param      RSA_E_Data                      [in]e value\r
+ * @param      RSA_E_Len                       [in]byte-length of e\r
+ * @param      RSA_D_Data                      [in]d value\r
+ * @param      RSA_D_Len                       [in]byte-length of d\r
+ * @param      RSA_P_Data                      [in]p value\r
+ * @param      RSA_P_Len                       [in]byte-length of p\r
+ * @param      RSA_Q_Data                      [in]q value\r
+ * @param      RSA_Q_Len                       [in]byte-length of q\r
+ * @param      RSA_DmodP1_Data         [in]d mod (p-1) value\r
+ * @param      RSA_DmodP1_Len          [in]byte-length of d mod (p-1)\r
+ * @param      RSA_DmodQ1_Data         [in]d mod (q-1) value\r
+ * @param      RSA_DmodQ1_Len          [in]byte-length of d mod (q-1)\r
+ * @param      RSA_iQmodP_Data         [in]q^(-1) mod p value\r
+ * @param      RSA_iQmodP_Len          [in]byte-length of q^(-1) mod p\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if an argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_setNEDPQ\r
+(\r
+       CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+       cc_u8* RSA_N_Data,   cc_u32 RSA_N_Len,\r
+       cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+       cc_u8* RSA_D_Data,   cc_u32 RSA_D_Len,\r
+       cc_u8* RSA_P_Data,   cc_u32 RSA_P_Len,\r
+       cc_u8* RSA_Q_Data,   cc_u32 RSA_Q_Len,\r
+       cc_u8* RSA_DmodP1_Data,   cc_u32 RSA_DmodP1_Len,\r
+       cc_u8* RSA_DmodQ1_Data,   cc_u32 RSA_DmodQ1_Len,\r
+       cc_u8* RSA_iQmodP_Data,   cc_u32 RSA_iQmodP_Len\r
+);\r
+\r
+/*\r
+ * @fn         SDRM_RSA_GenerateKey\r
+ * @brief      generate and set RSA parameters\r
+ *\r
+ * @param      crt                                                     [out]rsa context\r
+ * @param      PaddingMethod                           [out]padding method\r
+ * @param      RSA_N_Data                                      [out]n value\r
+ * @param      RSA_N_Len                                       [out]byte-length of n\r
+ * @param      RSA_E_Data                                      [out]e value\r
+ * @param      RSA_E_Len                                       [out]byte-length of e\r
+ * @param      RSA_D_Data                                      [out]d value\r
+ * @param      RSA_D_Len                                       [out]byte-length of d\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateKey\r
+(\r
+       CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+       cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+       cc_u8* RSA_E_Data,   cc_u32 *RSA_E_Len,\r
+       cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len\r
+);\r
+\r
+/*\r
+ * @fn         SDRM_RSA_GenerateND\r
+ * @brief      generate and set RSA parameters with specfied e\r
+ *\r
+ * @param      crt                                                     [in/out]rsa context\r
+ * @param      PaddingMethod                           [in]padding method\r
+ * @param      RSA_E_Data                                      [in]e value\r
+ * @param      RSA_E_Len                                       [in]byte-length of e\r
+ * @param      RSA_N_Data                                      [out]n value\r
+ * @param      RSA_N_Len                                       [out]byte-length of n\r
+ * @param      RSA_D_Data                                      [out]d value\r
+ * @param      RSA_D_Len                                       [out]byte-length of d\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateND\r
+(\r
+       CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+       cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+       cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+       cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len\r
+);\r
+\r
+/*     \r
+ * @fn         SDRM_RSA_GenerateDwithPQE\r
+ * @brief      generate D with specfied p, q, d mod (p-1), d mod (q-1) and e\r
+ *\r
+ * @param      crt                                                     [in/out]rsa context\r
+ * @param      PaddingMethod                           [in]padding method\r
+ * @param      RSA_E_Data                                      [in]e value\r
+ * @param      RSA_E_Len                                       [in]byte-length of e\r
+ * @param      RSA_P_Data                                      [in]n value\r
+ * @param      RSA_P_Len                                       [in]byte-length of n\r
+ * @param      RSA_Q_Data                                      [in]d value\r
+ * @param      RSA_Q_Len                                       [in]byte-length of d\r
+ * @param      RSA_D_P_Data                            [in]d mod (p-1) value\r
+ * @param      RSA_D_P_Len                                     [in]byte-length of d mod (p-1) \r
+ * @param      RSA_D_Q_Data                            [in]d mod (q-1)  value\r
+ * @param      RSA_D_Q_Len                                     [in]byte-length of d mod (q-1) \r
+ * @param      RSA_D_Data                                      [out]d value\r
+ * @param      RSA_D_Len                                       [out]byte-length of d\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateDwithPQE\r
+(\r
+       CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+       cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+       cc_u8* RSA_P_Data,   cc_u32 RSA_P_Len,\r
+       cc_u8* RSA_Q_Data,   cc_u32 RSA_Q_Len,\r
+       cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+       cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len\r
+);\r
+\r
+/*\r
+ * @fn         SDRM_RSA_encrypt\r
+ * @brief      generate and set RSA parameters\r
+ *\r
+ * @param      crt                                                     [in]rsa context\r
+ * @param      in                                                      [in]message to encrypt\r
+ * @param      inLen                                           [in]byte-length of in\r
+ * @param      out                                                     [out]encrypted message\r
+ * @param      outLen                                          [out]byte-length of out\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_encrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen);\r
+\r
+/*\r
+ * @fn         SDRM_RSA_decrypt\r
+ * @brief      RSA Decryption\r
+ *\r
+ * @param      crt                                                     [in]rsa context\r
+ * @param      in                                                      [in]message to decrypt\r
+ * @param      inLen                                           [in]byte-length of in\r
+ * @param      out                                                     [out]decrypted message\r
+ * @param      outLen                                          [out]byte-length of out\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_decrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen);\r
+\r
+/*\r
+ * @fn         SDRM_RSA_decryptByCRT\r
+ * @brief      RSA Decryption using CRT\r
+ *\r
+ * @param      crt                                                     [in]rsa context\r
+ * @param      in                                                      [in]message to decrypt\r
+ * @param      inLen                                           [in]byte-length of in\r
+ * @param      out                                                     [out]decrypted message\r
+ * @param      outLen                                          [out]byte-length of out\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_decryptByCRT(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen);\r
+\r
+/*\r
+ * @fn         SDRM_RSA_sign\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                     [in]crypto env structure\r
+ * @param      hash                            [in]hash value\r
+ * @param      hashLen                         [in]byte-length of hash\r
+ * @param      signature                       [out]generated signature\r
+ * @param      signLen                         [out]byte-length of signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen);\r
+\r
+/*\r
+ * @fn         SDRM_RSA_verify\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      hash                                    [in]hash value\r
+ * @param      hashLen                                 [in]byte-length of hash\r
+ * @param      signature                               [in]signature\r
+ * @param      signLen                                 [in]byte-length of signature\r
+ * @param      result                                  [in]result of veryfing signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if the length of signature is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/middle/symmetric.h b/SPC/Inc/middle/symmetric.h
new file mode 100755 (executable)
index 0000000..8c1376a
--- /dev/null
@@ -0,0 +1,246 @@
+/**\r
+ * \file       symmetric.h\r
+ * @brief      API for symmetric encryption\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon, Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/07\r
+ */\r
+\r
+#ifndef _SYMMETRIC_H\r
+#define _SYMMETRIC_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CC_API.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_AES_init\r
+ * @brief      intialize crypt context for aes\r
+ *\r
+ * @param      crt                                             [out]crypto env structure\r
+ * @param      mode                                    [in]encryption|decryption and mode of operation\r
+ * @param      PADDING                                 [in]padding method\r
+ * @param      key                                             [in]user key\r
+ * @param      keysize                                 [in]byte-length of key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV);\r
+\r
+/*\r
+ * @fn         SDRM_AES_process\r
+ * @brief      process message block\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      Text                                    [in]message block\r
+ * @param      TextLen                                 [in]byte-length of Text\r
+ * @param      output                                  [out]proecessed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+/*\r
+ * @fn         SDRM_AES_final\r
+ * @brief      process final block and padding\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      input                                   [in]message block\r
+ * @param      inputLen                                [in]byte-length of Text\r
+ * @param      output                                  [out]processed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+/*\r
+ * @fn         SDRM_RC4_init\r
+ * @brief      intialize crypt context for RC4\r
+ *\r
+ * @param      crt                                             [out]crypto env structure\r
+ * @param      mode                                    [in]encryption|decryption and mode of operation\r
+ * @param      PADDING                                 [in]padding method, not needed\r
+ * @param      key                                             [in]user key\r
+ * @param      keysize                                 [in]byte-length of key\r
+ * @param      IV                                              [in]initial vector, not needed\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RC4_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV);\r
+\r
+/*\r
+ * @fn         SDRM_RC4_process\r
+ * @brief      process message block\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      Text                                    [in]message block\r
+ * @param      TextLen                                 [in]byte-length of Text\r
+ * @param      output                                  [out]proecessed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RC4_process(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen);\r
+\r
+/*     \r
+ * @fn         SDRM_SNOW2_init\r
+ * @brief      intialize crypt context for SNOW2\r
+ *\r
+ * @param      crt                                             [out]crypto env structure\r
+ * @param      mode                                    [in]encryption|decryption and mode of operation\r
+ * @param      PADDING                                 [in]padding method, not needed\r
+ * @param      key                                             [in]user key\r
+ * @param      keysize                                 [in]byte-length of key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SNOW2_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV);\r
+\r
+/*\r
+ * @fn\r
+ * @brief      process message block\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      in                                              [in]message block\r
+ * @param      inLen                                   [in]byte-length of Text\r
+ * @param      out                                             [out]processed message\r
+ * @param      outLen                                  [out]byte-length of output\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SNOW2_process(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen);\r
+\r
+/*\r
+ * @fn         SDRM_DES_init\r
+ * @brief      intialize crypt context for des\r
+ *\r
+ * @param      crt                                             [out]crypto env structure\r
+ * @param      mode                                    [in]encryption|decryption and mode of operation\r
+ * @param      PADDING                                 [in]padding method\r
+ * @param      key                                             [in]user key\r
+ * @param      keysize                                 [in]byte-length of key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV);\r
+\r
+/*\r
+ * @fn         SDRM_DES_process\r
+ * @brief      process message block\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      in                                              [in]message block       \r
+ * @param      inLen                                   [in]byte-length of Text\r
+ * @param      out                                             [out]processed message\r
+ * @param      outLen                                  [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+/*\r
+ * @fn         SDRM_DES_final\r
+ * @brief      process final block and padding\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      input                                   [in]message block\r
+ * @param      inputLen                                [in]byte-length of Text\r
+ * @param      output                                  [out]processed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+/*\r
+ * @fn         SDRM_TDES_init\r
+ * @brief      intialize crypt context for triple des\r
+ *\r
+ * @param      crt                                             [out]crypto env structure\r
+ * @param      mode                                    [in]encryption|decryption and mode of operation\r
+ * @param      PADDING                                 [in]padding method\r
+ * @param      key                                             [in]user key\r
+ * @param      keysize                                 [in]byte-length of key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV);\r
+\r
+/*\r
+ * @fn         SDRM_TDES_process\r
+ * @brief      process message block\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      Text                                    [in]message block\r
+ * @param      TextLen                                 [in]byte-length of Text\r
+ * @param      output                                  [out]proecessed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+/*\r
+ * @fn         SDRM_TDES_final\r
+ * @brief      process final block and padding\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      input                                   [in]message block\r
+ * @param      inputLen                                [in]byte-length of Text\r
+ * @param      output                                  [out]processed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Inc/middle/tdes.h b/SPC/Inc/middle/tdes.h
new file mode 100755 (executable)
index 0000000..9799672
--- /dev/null
@@ -0,0 +1,84 @@
+/**\r
+ * \file       tdes.h\r
+ * @brief      high-speed implementation of Triple DES-EDE\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/12/06\r
+ */\r
+\r
+#ifndef _TDES_H\r
+#define _TDES_H\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "CryptoCore.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Function Prototypes\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/*\r
+ * @fn         int SDRM_TDES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 KeyLen, cc_u32 RKStep)\r
+ * @brief      Expand the cipher key into the encryption key schedule\r
+ *\r
+ * @param      RoundKey                        [out]generated round key\r
+ * @param      UserKey                         [in]user key, 16 or 24 byte\r
+ * @param      KeyLen                          [in]byte-length of UserKey\r
+ * @param      RKStep                          [in]operation mode\r
+ *\r
+ * @return     the number of rounds for the given cipher key size\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 KeyLen, cc_u32 RKStep);\r
+\r
+/*\r
+ * @fn         int SDRM_TDES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out)\r
+ * @brief      Triple DES processing for one block\r
+ *\r
+ * @param      RoundKey                        [in]expanded round key\r
+ * @param      msg                                     [in]8 byte plaintext\r
+ * @param      out                                     [out]8 byte ciphertext\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out);\r
+\r
+/*\r
+ * @fn         int SDRM_TDES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey)\r
+ * @brief      one block Triple DES Encryption\r
+ *\r
+ * @param      cipherText      [out]encrypted text\r
+ * @param      plainText       [in]plain text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey);\r
+\r
+/*\r
+ * @fn         int SDRM_TDES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey)\r
+ * @brief      one block Triple DES Decryption\r
+ *\r
+ * @param      plainText       [out]decrypted text\r
+ * @param      cipherText      [in]cipher text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/CC_API.c b/SPC/Src/CC_API.c
new file mode 100755 (executable)
index 0000000..6fc2582
--- /dev/null
@@ -0,0 +1,440 @@
+/**\r
+ * \file       CC_API.c\r
+ * @brief      API of samsung Crypto Library\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jae Heung Lee\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/10/24\r
+ * Note : modified for implementation, by Jisoon, Park, 06/11/06\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <stdlib.h>\r
+#include "CryptoCore.h"\r
+#include "rng.h"\r
+#include "symmetric.h"\r
+#include "hash.h"\r
+#include "ecdsa.h"\r
+#include "cmac.h"\r
+#include "rsa.h"\r
+#include "dsa.h"\r
+#include "ecdh.h"\r
+#include "hmac.h"\r
+#include "dh.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// functions\r
+////////////////////////////////////////////////////////////////////////////\r
+CRYPTOCORE_INTERNAL void *CCMalloc(int siz)\r
+{\r
+       cc_u8 *pbBuf = (cc_u8*)malloc(siz);\r
+\r
+       if (pbBuf == NULL)\r
+       {\r
+               return NULL;\r
+       }\r
+       else\r
+       {\r
+               memset(pbBuf, 0, siz);\r
+               return (void*)pbBuf;\r
+       }\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void CCFree(void *ptr)\r
+{\r
+       if (ptr != NULL)\r
+       {\r
+               free(ptr);\r
+       }\r
+}\r
+\r
+/*\r
+ * @fn         CryptoCoreContainer *create_CryptoCoreContainer(cc_u32 algorithm)\r
+ * @brief      memory allocation and initialize the crypt sturcture\r
+ *\r
+ * @param      algorithm       [in]algorithm want to use\r
+ *\r
+ * @return     address of created sturcture\r
+ */\r
+CRYPTOCORE_INTERNAL CryptoCoreContainer *create_CryptoCoreContainer(cc_u32 algorithm)\r
+{\r
+       CryptoCoreContainer *crt;\r
+       srand((unsigned int)time(NULL));\r
+\r
+       // allocate memory for crypt data structure (by using CCMalloc)\r
+       crt = (CryptoCoreContainer *)CCMalloc(sizeof(CryptoCoreContainer));\r
+       if (crt == NULL)\r
+       {\r
+               return NULL;\r
+       }\r
+\r
+       crt->ctx = (CryptoCoreCTX *)CCMalloc(sizeof(CryptoCoreCTX));\r
+       if (crt->ctx == NULL)\r
+       {\r
+               free(crt);\r
+               return NULL;\r
+       }\r
+       \r
+       crt->PRNG_seed                  = NULL;\r
+       crt->PRNG_get                   = NULL;\r
+       crt->MD_init                            = NULL;\r
+       crt->MD_update                  = NULL;\r
+       crt->MD_final                   = NULL;\r
+       crt->MD_getHASH                 = NULL;\r
+       crt->MAC_init                   = NULL;\r
+       crt->MAC_update                 = NULL;\r
+       crt->MAC_final                  = NULL;\r
+       crt->MAC_getMAC                 = NULL;\r
+       crt->SE_init                            = NULL;\r
+       crt->SE_process                 = NULL;\r
+       crt->SE_final                   = NULL;\r
+       crt->AE_encrypt                 = NULL;\r
+       crt->AE_decrypt                 = NULL;\r
+       crt->DS_sign                            = NULL;\r
+       crt->DS_verify                  = NULL;\r
+       crt->DSA_genParam               = NULL;\r
+       crt->DSA_setParam               = NULL;\r
+       crt->DSA_genKeypair             = NULL;\r
+       crt->DSA_setKeyPair             = NULL;\r
+       crt->RSA_genKeypair             = NULL;\r
+       crt->RSA_genKeypairWithE= NULL;\r
+       crt->RSA_genKeyDWithPQE = NULL;\r
+       crt->RSA_setKeypair             = NULL;\r
+       crt->EC_setCurve                        = NULL;\r
+       crt->EC_genKeypair              = NULL;\r
+       crt->EC_setKeypair              = NULL;\r
+       crt->DH_GenerateParam   = NULL;\r
+       crt->DH_SetParam                        = NULL;\r
+       crt->DH_Gen1stPhaseKey  = NULL;\r
+       crt->DH_GenAuthKey              = NULL;\r
+       crt->ECDH_Gen1stPhaseKey= NULL;\r
+       crt->ECDH_GenAuthKey            = NULL;\r
+\r
+       // allocate memory for context data structure\r
+       // and set up the member functions according to the algorithm\r
+       crt->alg = algorithm;\r
+       switch(algorithm)\r
+       {\r
+               case ID_X931:\r
+                       crt->ctx->x931ctx                       = (SDRM_X931Context*)CCMalloc(sizeof(SDRM_X931Context));\r
+                       crt->PRNG_seed                          = SDRM_X931_seed;\r
+                       crt->PRNG_get                           = SDRM_X931_get;\r
+                       break;\r
+               case ID_MD5:\r
+                       crt->ctx->md5ctx                                = (SDRM_MD5Context*)CCMalloc(sizeof(SDRM_MD5Context));\r
+                       crt->MD_init                                    = SDRM_MD5_init;\r
+                       crt->MD_update                          = SDRM_MD5_update;\r
+                       crt->MD_final                           = SDRM_MD5_final;\r
+                       crt->MD_getHASH                         = SDRM_MD5_hash;\r
+                       break;  \r
+               case ID_SHA1:\r
+                       crt->ctx->sha1ctx                       = (SDRM_SHA1Context*)CCMalloc(sizeof(SDRM_SHA1Context));\r
+                       crt->MD_init                                    = SDRM_SHA1_init;\r
+                       crt->MD_update                          = SDRM_SHA1_update;\r
+                       crt->MD_final                           = SDRM_SHA1_final;\r
+                       crt->MD_getHASH                         = SDRM_SHA1_hash;\r
+                       break;\r
+               case ID_SHA224:\r
+                       crt->ctx->sha224ctx                     = (SDRM_SHA224Context*)CCMalloc(sizeof(SDRM_SHA224Context));\r
+                       crt->MD_init                                    = SDRM_SHA224_init;\r
+                       crt->MD_update                          = SDRM_SHA224_update;\r
+                       crt->MD_final                           = SDRM_SHA224_final;\r
+                       crt->MD_getHASH                         = SDRM_SHA224_hash;\r
+                       break;\r
+               case ID_SHA256:\r
+                       crt->ctx->sha256ctx                     = (SDRM_SHA256Context*)CCMalloc(sizeof(SDRM_SHA256Context));\r
+                       crt->MD_init                                    = SDRM_SHA256_init;\r
+                       crt->MD_update                          = SDRM_SHA256_update;\r
+                       crt->MD_final                           = SDRM_SHA256_final;\r
+                       crt->MD_getHASH                         = SDRM_SHA256_hash;\r
+                       break;\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_SHA384:\r
+                       crt->ctx->sha384ctx                     = (SDRM_SHA384Context*)CCMalloc(sizeof(SDRM_SHA384Context));\r
+                       crt->MD_init                                    = SDRM_SHA384_init;\r
+                       crt->MD_update                          = SDRM_SHA384_update;\r
+                       crt->MD_final                           = SDRM_SHA384_final;\r
+                       crt->MD_getHASH                         = SDRM_SHA384_hash;\r
+                       break;\r
+               case ID_SHA512:\r
+                       crt->ctx->sha512ctx                     = (SDRM_SHA512Context*)CCMalloc(sizeof(SDRM_SHA512Context));\r
+                       crt->MD_init                                    = SDRM_SHA512_init;\r
+                       crt->MD_update                          = SDRM_SHA512_update;\r
+                       crt->MD_final                           = SDRM_SHA512_final;\r
+                       crt->MD_getHASH                         = SDRM_SHA512_hash;\r
+                       break;\r
+#endif\r
+               case ID_CMAC:\r
+                       crt->ctx->cmacctx                       = (SDRM_CMACContext*)CCMalloc(sizeof(SDRM_CMACContext));\r
+                       crt->MAC_init                           = SDRM_CMAC_init;\r
+                       crt->MAC_update                         = SDRM_CMAC_update;\r
+                       crt->MAC_final                          = SDRM_CMAC_final;\r
+                       crt->MAC_getMAC                         = SDRM_CMAC_getMAC;\r
+                       break;\r
+               case ID_HMD5:\r
+               case ID_HSHA1:\r
+               case ID_HSHA224:\r
+               case ID_HSHA256:\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_HSHA384:\r
+               case ID_HSHA512:\r
+#endif //_OP64_NOTSUPPORTED\r
+                       crt->ctx->hmacctx                       = (SDRM_HMACContext*)CCMalloc(sizeof(SDRM_HMACContext));\r
+                       crt->MAC_init                           = SDRM_HMAC_init;\r
+                       crt->MAC_update                         = SDRM_HMAC_update;\r
+                       crt->MAC_final                          = SDRM_HMAC_final;\r
+                       crt->MAC_getMAC                         = SDRM_HMAC_getMAC;\r
+                       break;\r
+               case ID_DH :\r
+                       crt->ctx->dhctx                         = (SDRM_DHContext*)CCMalloc(sizeof(SDRM_DHContext));\r
+                       crt->DH_GenerateParam           = SDRM_GenerateDHParam;\r
+                       crt->DH_SetParam                                = SDRM_SetDHParam;\r
+                       crt->DH_Gen1stPhaseKey          = SDRM_GenerateDHPrivate;\r
+                       crt->DH_GenAuthKey                      = SDRM_GetDHSharedSecret;\r
+                       break;\r
+               case ID_ECDH : \r
+                       crt->ctx->ecdhctx                       = (SDRM_ECDHContext*)SDRM_CURVE_Init();\r
+                       crt->EC_setCurve                                = SDRM_ECC_Set_CTX;\r
+                       crt->EC_genKeypair                      = SDRM_ECC_genKeypair;\r
+                       crt->EC_setKeypair                      = SDRM_ECC_setKeypair;\r
+                       crt->ECDH_Gen1stPhaseKey                = SDRM_generateDH1stPhaseKey;\r
+                       crt->ECDH_GenAuthKey                    = SDRM_generateDHKey;\r
+                       break;\r
+               case ID_AES128:\r
+                       crt->ctx->aesctx                                = (SDRM_AESContext*)CCMalloc(sizeof(SDRM_AESContext));\r
+                       crt->SE_init                                    = SDRM_AES_init;\r
+                       crt->SE_process                         = SDRM_AES_process;\r
+                       crt->SE_final                           = SDRM_AES_final;\r
+                       crt->SE_EncryptOneBlock         = SDRM_AES128_Encryption;\r
+                       crt->SE_DecryptOneBlock         = SDRM_AES128_Decryption;\r
+                       break;\r
+               case ID_AES192:\r
+                       crt->ctx->aesctx                                = (SDRM_AESContext*)CCMalloc(sizeof(SDRM_AESContext));\r
+                       crt->SE_init                                    = SDRM_AES_init;\r
+                       crt->SE_process                         = SDRM_AES_process;\r
+                       crt->SE_final                           = SDRM_AES_final;\r
+                       crt->SE_EncryptOneBlock         = SDRM_AES192_Encryption;\r
+                       crt->SE_DecryptOneBlock         = SDRM_AES192_Decryption;\r
+                       break;\r
+               case ID_AES256:\r
+                       crt->ctx->aesctx                                = (SDRM_AESContext*)CCMalloc(sizeof(SDRM_AESContext));\r
+                       crt->SE_init                                    = SDRM_AES_init;\r
+                       crt->SE_process                         = SDRM_AES_process;\r
+                       crt->SE_final                           = SDRM_AES_final;\r
+                       crt->SE_EncryptOneBlock         = SDRM_AES256_Encryption;\r
+                       crt->SE_DecryptOneBlock         = SDRM_AES256_Decryption;\r
+                       break;\r
+               case ID_DES:\r
+                       crt->ctx->desctx                                = (SDRM_DESContext*)CCMalloc(sizeof(SDRM_DESContext));\r
+                       crt->SE_init                                    = SDRM_DES_init;\r
+                       crt->SE_process                         = SDRM_DES_process;\r
+                       crt->SE_final                           = SDRM_DES_final;\r
+                       crt->SE_EncryptOneBlock         = SDRM_DES64_Encryption;\r
+                       crt->SE_DecryptOneBlock         = SDRM_DES64_Decryption;\r
+                       break;\r
+               case ID_TDES:\r
+                       crt->ctx->tdesctx                       = (SDRM_TDESContext*)CCMalloc(sizeof(SDRM_TDESContext));\r
+                       crt->SE_init                                    = SDRM_TDES_init;\r
+                       crt->SE_process                         = SDRM_TDES_process;\r
+                       crt->SE_final                           = SDRM_TDES_final;\r
+                       crt->SE_EncryptOneBlock         = SDRM_TDES64_Encryption;\r
+                       crt->SE_DecryptOneBlock         = SDRM_TDES64_Decryption;\r
+                       break;\r
+               case ID_RC4:\r
+                       crt->ctx->rc4ctx                                = (SDRM_RC4Context*)CCMalloc(sizeof(SDRM_RC4Context));\r
+                       crt->SE_init                                    = SDRM_RC4_init;\r
+                       crt->SE_process                         = SDRM_RC4_process;\r
+                       break;\r
+               case ID_SNOW2:\r
+                       crt->ctx->snow2ctx                      = (SDRM_SNOW2Context*)CCMalloc(sizeof(SDRM_SNOW2Context));\r
+                       crt->SE_init                                    = SDRM_SNOW2_init;\r
+                       crt->SE_process                         = SDRM_SNOW2_process;\r
+                       break;\r
+               case ID_RSA512:\r
+                       crt->ctx->rsactx                                = SDRM_RSA_InitCrt(64);\r
+                       crt->RSA_genKeypair                     = SDRM_RSA_GenerateKey;\r
+                       crt->RSA_genKeypairWithE                = SDRM_RSA_GenerateND;\r
+                       crt->RSA_genKeyDWithPQE         = SDRM_RSA_GenerateDwithPQE;\r
+                       crt->RSA_setKeypair                     = SDRM_RSA_setNED;\r
+                       crt->RSA_setKeypairForCRT       = SDRM_RSA_setNEDPQ;\r
+                       crt->AE_encrypt                         = SDRM_RSA_encrypt;\r
+                       crt->AE_decrypt                         = SDRM_RSA_decrypt;\r
+                       crt->AE_decryptByCRT                    = SDRM_RSA_decryptByCRT;\r
+                       crt->DS_sign                                    = SDRM_RSA_sign;\r
+                       crt->DS_verify                          = SDRM_RSA_verify;\r
+                       break;\r
+               case ID_RSA:\r
+               case ID_RSA1024:\r
+                       crt->ctx->rsactx                                = SDRM_RSA_InitCrt(128);\r
+                       crt->RSA_genKeypair                     = SDRM_RSA_GenerateKey;\r
+                       crt->RSA_genKeypairWithE                = SDRM_RSA_GenerateND;\r
+                       crt->RSA_genKeyDWithPQE         = SDRM_RSA_GenerateDwithPQE;\r
+                       crt->RSA_setKeypair                     = SDRM_RSA_setNED;\r
+                       crt->RSA_setKeypairForCRT       = SDRM_RSA_setNEDPQ;\r
+                       crt->AE_encrypt                         = SDRM_RSA_encrypt;\r
+                       crt->AE_decrypt                         = SDRM_RSA_decrypt;\r
+                       crt->AE_decryptByCRT                    = SDRM_RSA_decryptByCRT;\r
+                       crt->DS_sign                                    = SDRM_RSA_sign;\r
+                       crt->DS_verify                          = SDRM_RSA_verify;\r
+                       break;\r
+               case ID_RSA2048:\r
+                       crt->ctx->rsactx                                = SDRM_RSA_InitCrt(256);\r
+                       crt->RSA_genKeypair                     = SDRM_RSA_GenerateKey;\r
+                       crt->RSA_genKeypairWithE                = SDRM_RSA_GenerateND;\r
+                       crt->RSA_genKeyDWithPQE         = SDRM_RSA_GenerateDwithPQE;\r
+                       crt->RSA_setKeypair                     = SDRM_RSA_setNED;\r
+                       crt->RSA_setKeypairForCRT       = SDRM_RSA_setNEDPQ;\r
+                       crt->AE_encrypt                         = SDRM_RSA_encrypt;\r
+                       crt->AE_decrypt                         = SDRM_RSA_decrypt;\r
+                       crt->AE_decryptByCRT                    = SDRM_RSA_decryptByCRT;\r
+                       crt->DS_sign                                    = SDRM_RSA_sign;\r
+                       crt->DS_verify                          = SDRM_RSA_verify;\r
+                       break;\r
+               case ID_RSA3072:\r
+                       crt->ctx->rsactx                                = SDRM_RSA_InitCrt(384);\r
+                       crt->RSA_genKeypair                     = SDRM_RSA_GenerateKey;\r
+                       crt->RSA_genKeypairWithE                = SDRM_RSA_GenerateND;\r
+                       crt->RSA_genKeyDWithPQE         = SDRM_RSA_GenerateDwithPQE;\r
+                       crt->RSA_setKeypair                     = SDRM_RSA_setNED;\r
+                       crt->RSA_setKeypairForCRT       = SDRM_RSA_setNEDPQ;\r
+                       crt->AE_encrypt                         = SDRM_RSA_encrypt;\r
+                       crt->AE_decrypt                         = SDRM_RSA_decrypt;\r
+                       crt->AE_decryptByCRT                    = SDRM_RSA_decryptByCRT;\r
+                       crt->DS_sign                                    = SDRM_RSA_sign;\r
+                       crt->DS_verify                          = SDRM_RSA_verify;\r
+                       break;\r
+               case ID_DSA:\r
+                       crt->ctx->dsactx                                = (SDRM_DSAContext*)SDRM_DSA_InitCrt();\r
+                       crt->DSA_genParam                       = SDRM_DSA_GenParam;\r
+                       crt->DSA_setParam                       = SDRM_DSA_SetParam;\r
+                       crt->DSA_genKeypair                     = SDRM_DSA_GenKeypair;\r
+                       crt->DSA_setKeyPair                     = SDRM_DSA_SetKeyPair;\r
+                       crt->DS_sign                                    = SDRM_DSA_sign;\r
+                       crt->DS_verify                          = SDRM_DSA_verify;\r
+                       break;\r
+               case ID_ECDSA:\r
+                       crt->ctx->ecdsactx                      = (SDRM_ECDSAContext*)SDRM_CURVE_Init();\r
+                       crt->EC_setCurve                                = SDRM_ECC_Set_CTX;\r
+                       crt->EC_genKeypair                      = SDRM_ECC_genKeypair;\r
+                       crt->EC_setKeypair                      = SDRM_ECC_setKeypair;\r
+                       crt->DS_sign                                    = SDRM_ECDSA_sign;\r
+                       crt->DS_verify                          = SDRM_ECDSA_verify;\r
+                       break;\r
+               default:\r
+                       // free CryptoCoreContainer data structure\r
+                       free(crt->ctx);\r
+                       free(crt);\r
+                       crt = NULL;\r
+                       break;\r
+       }\r
+       return crt;\r
+}\r
+\r
+/*\r
+ * @fn         void destroy_CryptoCoreContainer(CryptoCoreContainer* crt)\r
+ *\r
+ * @brief      free allocated memory\r
+ * @param      crt             [in]crypt context\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void destroy_CryptoCoreContainer(CryptoCoreContainer* crt)\r
+{\r
+       if (crt == NULL)\r
+       {\r
+               return;\r
+       }\r
+\r
+       if (crt->ctx == NULL)\r
+       {\r
+               free(crt);\r
+               return;\r
+       }\r
+\r
+       // free context data structure\r
+       switch(crt->alg)\r
+       {\r
+               case ID_X931:\r
+                       CCFree(crt->ctx->x931ctx);\r
+                       break;\r
+               case ID_MD5:\r
+                       CCFree(crt->ctx->md5ctx);\r
+                       break;  \r
+               case ID_SHA1:\r
+                       CCFree(crt->ctx->sha1ctx);\r
+                       break;\r
+               case ID_SHA224:\r
+                       CCFree(crt->ctx->sha224ctx);\r
+                       break;\r
+               case ID_SHA256:\r
+                       CCFree(crt->ctx->sha256ctx);\r
+                       break;\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_SHA384:\r
+                       CCFree(crt->ctx->sha384ctx);\r
+                       break;\r
+               case ID_SHA512:\r
+                       CCFree(crt->ctx->sha512ctx);\r
+                       break;\r
+#endif\r
+               case ID_CMAC:\r
+                       CCFree(crt->ctx->cmacctx);\r
+                       break;\r
+               case ID_HMD5:\r
+               case ID_HSHA1:\r
+               case ID_HSHA256:\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_HSHA384:\r
+               case ID_HSHA512:\r
+#endif //_OP64_NOTSUPPORTED\r
+                       CCFree(crt->ctx->hmacctx);\r
+                       break;\r
+               case ID_AES128:\r
+               case ID_AES192:\r
+               case ID_AES256:\r
+                       CCFree(crt->ctx->aesctx);\r
+                       break;\r
+               case ID_DES:\r
+                       CCFree(crt->ctx->desctx);\r
+                       break;\r
+               case ID_TDES:\r
+                       CCFree(crt->ctx->tdesctx);\r
+                       break;\r
+               case ID_RC4:\r
+                       CCFree(crt->ctx->rc4ctx);\r
+                       break;\r
+               case ID_SNOW2:\r
+                       CCFree(crt->ctx->snow2ctx);\r
+                       break;\r
+               case ID_RSA512:\r
+               case ID_RSA:\r
+               case ID_RSA1024:\r
+               case ID_RSA2048:\r
+                       CCFree(crt->ctx->rsactx);\r
+                       break;\r
+               case ID_DSA:\r
+                       CCFree(crt->ctx->dsactx);\r
+                       break;\r
+               case ID_ECDSA:\r
+                       CCFree(crt->ctx->ecdsactx);\r
+                       break;\r
+               case ID_ECDH:\r
+                       CCFree(crt->ctx->ecdhctx);\r
+                       break;\r
+               case ID_DH :\r
+                       SDRM_FreeDHContext(crt->ctx->dhctx);\r
+                       CCFree(crt->ctx->dhctx);\r
+                       break;\r
+       }\r
+\r
+       // free CryptoCoreContainer data structure\r
+       CCFree(crt->ctx);\r
+       CCFree(crt);\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/DRMLog.c b/SPC/Src/DRMLog.c
new file mode 100755 (executable)
index 0000000..5c1cdc9
--- /dev/null
@@ -0,0 +1,151 @@
+#include <time.h>\r
+#if defined(_WIN32_WCE)\r
+#include <winbase.h>\r
+#endif\r
+#include "DRMLog.h"\r
+\r
+void DRMLOG_API DRMLOG_SetFormat(DRMLOG_CTX* ctx, int format)\r
+{\r
+       if (ctx == NULL)\r
+       {\r
+               return;\r
+       }\r
+\r
+       ctx->format = format;\r
+}\r
+\r
+void DRMLOG_API DRMLOG_SetLevel(DRMLOG_CTX* ctx, int level)\r
+{\r
+       if ((ctx == NULL) || ((level < LOG_DEBUG) && (level > LOG_FATAL)))\r
+       {\r
+               return;\r
+       }\r
+\r
+       ctx->level = level;\r
+}\r
+\r
+void DRMLOG_API DRMLOG_SetOutput(DRMLOG_CTX* ctx, FILE *output_file)\r
+{\r
+       if (ctx == NULL)\r
+       {\r
+               return;\r
+       }\r
+\r
+       ctx->file = output_file;\r
+}\r
+\r
+static void PrintHeader(DRMLOG_CTX* ctx, int level, const char* filename, int line_number)\r
+{\r
+#ifdef _DRMLOG_DISABLE\r
+       return;\r
+#else\r
+\r
+#if defined(_WIN32_WCE)\r
+       SYSTEMTIME stm;\r
+#else\r
+       time_t long_time;\r
+       struct tm* tm;\r
+#endif\r
+\r
+       static const char* _level_str[] = {"DEBUG", "INFO", "WARN", "ERROR", "FATAL"};\r
+\r
+       if(ctx == NULL)\r
+       {\r
+               return;\r
+       }\r
+\r
+       // level\r
+       if (ctx->format & LOG_FORMAT_LEVEL)\r
+       {\r
+               fprintf(ctx->file, "[%s]", _level_str[level-1]);\r
+       }\r
+\r
+       // tick\r
+       if (ctx->format & LOG_FORMAT_TICK)\r
+       {\r
+               #if defined(_WIN32_WCE)\r
+                       fprintf(ctx->file, "[%ul]", GetTickCount());\r
+               #endif\r
+       }\r
+\r
+       // date / time\r
+       if (ctx->format & LOG_FORMAT_TIME)\r
+       {\r
+               #ifdef _WIN32_WCE\r
+                       GetSystemTime(&stm);\r
+                       fprintf(ctx->file, "[%04d/%02d/%02d,%02d:%02d:%02d.%03d]", \r
+                               stm.wYear, stm.wMonth, stm.wDay, stm.wHour, stm.wMinute, stm.wSecond, stm.wMilliseconds);\r
+               #else\r
+                       time(&long_time);\r
+                       tm = localtime(&long_time);\r
+                       fprintf(ctx->file, "[%04d/%02d/%02d,%02d:%02d:%02d]", \r
+                               tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec);\r
+               #endif\r
+       }\r
+\r
+       // file and line-number\r
+       if(ctx->format & LOG_FORMAT_FILE)\r
+       {\r
+               char* file_name;\r
+               #if defined(_WIN32) || defined(_WIN32_WCE)\r
+                       file_name = strrchr(filename, '\\');\r
+               #else\r
+                       file_name = strrchr(filename, '/');\r
+               #endif\r
+               fprintf(ctx->file, "[%s:%d]", (file_name ? (file_name + 1) : filename), line_number);\r
+       }\r
+#endif\r
+}\r
+\r
+void DRMLOG_API DRMLOG_Message(DRMLOG_CTX* ctx, int level, const char* file_name, int line_number, const char* format, ...)\r
+{\r
+#ifdef _DRMLOG_DISABLE\r
+       return;\r
+#else\r
+       if ((ctx != NULL) && (ctx->file != NULL) && (ctx->level <= level))\r
+       {\r
+               va_list lArg;\r
+               char log_buffer[LOG_BUFFER_LEN] = {0};\r
+\r
+               va_start(lArg, format);\r
+               vsprintf(log_buffer, format, lArg);\r
+               va_end(lArg);\r
+                               \r
+               PrintHeader(ctx, level, file_name, line_number);\r
+               fprintf(ctx->file, "%s", log_buffer);\r
+               fflush(ctx->file);\r
+       }\r
+#endif\r
+}\r
+\r
+void DRMLOG_API DRMLOG_HexaBytes(DRMLOG_CTX* ctx, int level, const char* file_name, int line_number, \r
+                                                                        const char* szMsg, const unsigned char* bytes, int len)\r
+{\r
+#ifdef _DRMLOG_DISABLE\r
+       return;\r
+#else\r
+       int idx;\r
+       if ((ctx != NULL) && (ctx->file != NULL) && (ctx->level <= level))\r
+       {\r
+               PrintHeader(ctx, level, file_name, line_number);\r
+               fprintf(ctx->file, "%s =>\n", szMsg);\r
+               for(idx = 0; idx < (int)len; idx++)\r
+               {\r
+                       if((idx != 0) && ((idx % 16) == 0))\r
+                       {\r
+                               fprintf(ctx->file, "\n");\r
+                       }\r
+\r
+                       if ((idx % 4) == 0)\r
+                       {\r
+                               fprintf(ctx->file, " 0x");\r
+                       }\r
+\r
+                       fprintf(ctx->file, "%.2x", bytes[idx]);\r
+               }\r
+\r
+               fprintf(ctx->file, "\n");\r
+               fflush(ctx->file);\r
+       }\r
+#endif\r
+}\r
diff --git a/SPC/Src/DtcpCTcpSocket.cpp b/SPC/Src/DtcpCTcpSocket.cpp
new file mode 100755 (executable)
index 0000000..151e1d6
--- /dev/null
@@ -0,0 +1,855 @@
+// DtcpCTcpSocket.cpp: implementation of the DtcpCTcpSocket class.\r
+//\r
+//////////////////////////////////////////////////////////////////////\r
+#include "DRMLog.h"\r
+#include "DtcpCTcpSocket.h"\r
+//#include "DtcpCUtil.h"\r
+\r
+#ifndef _LINUX\r
+#include <winsock2.h>\r
+//#define _WSPIAPI_COUNTOF\r
+#include <Ws2tcpip.h>\r
+#endif\r
+\r
+#define DEFAULT_TTL_VALUE 64\r
+//////////////////////////////////////////////////////////////////////\r
+// Construction/Destruction\r
+//////////////////////////////////////////////////////////////////////\r
+FILE*       logfile = NULL;\r
+FILE*       msgfile = NULL;\r
+DRMLOG_CTX  DtcpLogCTX;\r
\r
+\r
+/// tcpip \r
+#define        DTCP_TCPIP_SUCCESS                                      DTCP_SUCCESS\r
+#define DTCP_TCPIP_SOCKET_CLOSED                       DTCP_SUCCESS + 1\r
+#define        DTCP_ERR_TCPIP_BIND                                     -151\r
+#define        DTCP_ERR_TCPIP_CONNECT                          -152\r
+#define        DTCP_ERR_TCPIP_READ                                     -153\r
+#define        DTCP_ERR_TCPIP_SEND                                     -154\r
+#define        DTCP_ERR_TCPIP_CLOSE                            -155\r
+#define        DTCP_ERR_TCPIP_LISTEN                           -156\r
+#define        DTCP_ERR_TCPIP_ACCEPT                           -157\r
+#define DTCP_SOCKET_TIMEOUT                                    -158\r
+\r
+/// common\r
+#define DTCP_SUCCESS                                           0                                                               /// Function succeeded\r
+#define DTCP_FAILURE                                           -1                                                              /// General failure\r
+\r
+/*\r
+#ifdef _WIN32_\r
+int GetLocalIP (IN_ADDR* localHost)\r
+#elif _LINUX\r
+int GetLocalIP (struct in_addr* localHost)\r
+#endif\r
+\r
+{\r
+\r
+       #ifndef _LINUX //anyview , win32\r
+               WSADATA wsaData;\r
+               if (0 == WSAStartup(MAKEWORD(2, 2), &wsaData))\r
+               {\r
+                       if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)\r
+                       {\r
+                               WSACleanup();                           \r
+                               return DTCP_FAILURE;\r
+                       }\r
+               }\r
+               \r
+               int reValue;    \r
+               char aHostName [255];\r
+               HOSTENT *pHost;\r
+               \r
+               memset(aHostName, 0x00, 255);\r
+               gethostname(aHostName, 255);\r
+               pHost = gethostbyname(aHostName);\r
+               \r
+               \r
+               if(pHost==NULL)\r
+               {\r
+                       reValue = DTCP_FAILURE;\r
+               }\r
+               else \r
+               {\r
+                       memcpy(localHost, pHost->h_addr, pHost->h_length);\r
+                       reValue = DTCP_SUCCESS;\r
+               }\r
+        \r
+               WSACleanup ();\r
+#else //LINUX\r
+       \r
+               int reValue = DTCP_SUCCESS, s;  \r
+       \r
+               struct ifreq    ifr;\r
+               struct sockaddr_in *sin = (struct sockaddr_in*)&ifr.ifr_addr;\r
+               \r
+               memset(&ifr,0, sizeof ifr);\r
+               memset(localHost,0,sizeof(localHost));\r
+               \r
+               if(0 > (s = socket(AF_INET,SOCK_STREAM,0))){\r
+                       return DTCP_ERR_LOCALIP;\r
+               }\r
+       \r
+               strcpy(ifr.ifr_name,"eth0");\r
+               sin->sin_family = AF_INET;\r
+\r
+               \r
+               if(0 == ioctl(s,SIOCGIFADDR,&ifr)){\r
+                               if(!inet_aton(inet_ntoa(sin->sin_addr),localHost))\r
+                               return DTCP_ERR_LOCALIP;\r
+               }\r
+        \r
+               ::close(s);\r
+                 \r
+        \r
+ #endif\r
+       return reValue;\r
+}      \r
+\r
+*/\r
+\r
+/**\r
+*Constructor [DtcpCTcpSocket]\r
+*      Parameters:\r
+*      Return Value:\r
+*/\r
+#ifdef _DTCP_PLUS\r
+DtcpCTcpSocket::DtcpCTcpSocket (bool bSetTTL)\r
+#else\r
+DtcpCTcpSocket::DtcpCTcpSocket ()\r
+#endif \r
+{\r
+       int iReuseAddr = 1;\r
+       \r
+       init();         \r
+\r
+       if (0 == m_iFd)\r
+               m_iFd = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);\r
+\r
+       DRMLOG_Msg (&DtcpLogCTX, LOG_DEBUG, "[Network] Socket m_iFd: %d\n",m_iFd);      \r
+\r
+       if (0 != ::setsockopt(m_iFd, SOL_SOCKET, SO_REUSEADDR, \r
+                            (const char*)&iReuseAddr, sizeof(iReuseAddr)))\r
+               DRMLOG_Msg (&DtcpLogCTX, LOG_ERROR,\r
+                                    "[Network] %s \n","setsockopt Error");     \r
+       else \r
+       {\r
+#ifdef _DTCP_PLUS\r
+               SetTTL (bSetTTL);               \r
+#else\r
+               SetTTL ();\r
+#endif\r
+       }\r
+\r
+}\r
+\r
+void \r
+#ifdef _DTCP_PLUS\r
+DtcpCTcpSocket::SetTTL (bool bSetTTL)\r
+#else\r
+DtcpCTcpSocket::SetTTL ()\r
+#endif\r
+{\r
+#ifdef _DTCP_PLUS\r
+       if (bSetTTL == true)\r
+#endif\r
+       {\r
+               int aTtl = 3;\r
+               setsockopt (m_iFd, IPPROTO_IP, IP_TTL, (char*)&aTtl, sizeof (aTtl));            \r
+       }\r
+#ifdef _DTCP_PLUS\r
+       else\r
+       {\r
+               int aTtl = DEFAULT_TTL_VALUE;\r
+               setsockopt (m_iFd, IPPROTO_IP, IP_TTL, (char*)&aTtl, sizeof (aTtl));            \r
+       }\r
+#endif\r
+}\r
+\r
+/**\r
+* Constructor [DtcpCTcpSocket with parameter]\r
+*      Parameters:\r
+*                      uFd\r
+*                              [in] Socket handle (File descriptor)\r
+*      Return Value:\r
+*/\r
+#ifdef _DTCP_PLUS\r
+DtcpCTcpSocket::DtcpCTcpSocket(cc_u32 uFd, bool bSetTTL)\r
+#else\r
+DtcpCTcpSocket::DtcpCTcpSocket(cc_u32 uFd)\r
+#endif\r
+{\r
+       int iReuseAddr = 1;\r
+\r
+       init();         \r
+       \r
+       m_iFd = uFd;    \r
+       DRMLOG_Msg (&DtcpLogCTX, LOG_DEBUG,"[Network] Socket m_iFd: %d\n",m_iFd);\r
+\r
+       if (0 != ::setsockopt(m_iFd, \r
+                                               SOL_SOCKET, \r
+                                               SO_REUSEADDR, \r
+                                               (const char*)&iReuseAddr, \r
+                                               sizeof(iReuseAddr)))\r
+       {\r
+               printf("DtcpCTcpSocket==> setsockopt Error!\n");\r
+\r
+       }\r
+       else \r
+       {\r
+#ifdef _DTCP_PLUS\r
+               SetTTL (bSetTTL);               \r
+#else\r
+               SetTTL ();\r
+#endif\r
+       }\r
+\r
+}\r
+\r
+DtcpCTcpSocket::~DtcpCTcpSocket()\r
+{\r
+\r
+       //printf ("~DtcpCTcpSocket::DtcpCTcpSocket \n");\r
+       \r
+       closeSocket();\r
+#ifdef _WIN32_\r
+       ::WSACleanup();\r
+#elif _ANYVIEW\r
+       ::WSACleanup();\r
+#endif\r
+\r
+}\r
+\r
+#ifdef _WIN32_\r
+static int iWinSockInit = FALSE;\r
+#elif _ANYVIEW\r
+static int iWinSockInit = FALSE;\r
+#endif\r
+\r
+\r
+/**\r
+*      Initialize socket\r
+*      Parameters:\r
+*      Return Value:\r
+*/\r
+int DtcpCTcpSocket::init()\r
+{\r
+#ifdef _WIN32_\r
+       if (TRUE == iWinSockInit)\r
+               return (DTCP_TCPIP_SUCCESS);\r
+       \r
+       else\r
+       {\r
+               WSADATA wsaData;\r
+               \r
+               \r
+               if (0 == ::WSAStartup(MAKEWORD(2, 2), &wsaData))\r
+               {\r
+                       if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)\r
+                       {\r
+                               ::WSACleanup();                         \r
+                       }\r
+               }\r
+       }\r
+#elif _ANYVIEW\r
+       if (TRUE == iWinSockInit)\r
+               return (DTCP_TCPIP_SUCCESS);\r
+       \r
+       else\r
+       {\r
+               WSADATA wsaData;\r
+               \r
+               if (0 == ::WSAStartup(MAKEWORD(2, 2), &wsaData))\r
+               {\r
+                       if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)\r
+                       {\r
+                               ::WSACleanup();\r
+                       }\r
+               }\r
+       }       \r
+#endif\r
+       \r
+       ::memset(&m_AddrLocal, 0, sizeof(struct sockaddr_in));\r
+       ::memset(&m_AddrDest, 0, sizeof(struct sockaddr_in));\r
+       m_iFd = 0;\r
+       m_bNonBlocking = false;\r
+\r
+       \r
+       return DTCP_TCPIP_SUCCESS;\r
+}\r
+\r
+/**    \r
+*Bind a socket to a specified port and IP address\r
+*      Parameters:\r
+*              pAddr\r
+*                      [in] Pointer to a sockaddr structure\r
+*      Return Value:\r
+*/\r
+int \r
+DtcpCTcpSocket::bindSocket(sockaddr_in* pAddr)\r
+{\r
+       m_AddrLocal.sin_family          = AF_INET;\r
+       m_AddrLocal.sin_port            = pAddr->sin_port;\r
+       m_AddrLocal.sin_addr.s_addr = pAddr->sin_addr.s_addr;\r
+\r
+       int reValue = ::bind(m_iFd, (struct sockaddr *)&m_AddrLocal, sizeof(struct sockaddr_in));\r
+       if (0 != reValue )\r
+       {\r
+               DRMLOG_Msg (&DtcpLogCTX, LOG_ERROR,\r
+                "Bind Error [Address %s, Port %d ] \n", \r
+                               inet_ntoa(m_AddrLocal.sin_addr), ntohs (pAddr->sin_port)\r
+        );\r
+               return DTCP_ERR_TCPIP_BIND;\r
+       }\r
+\r
+       SetTTL ();\r
+       \r
+       return DTCP_TCPIP_SUCCESS;\r
+}\r
+\r
+/**\r
+*      Estabilish a connection to a specified socket (to a remote computer)\r
+*      Parameters:\r
+*              pDest\r
+*                      [in] Pointer to a sockaddr structure\r
+*      Return Value:\r
+*/\r
+long \r
+DtcpCTcpSocket::connectSocket(sockaddr_in* pDest)\r
+{\r
+       m_AddrDest.sin_family           = AF_INET;\r
+       m_AddrDest.sin_port                     = pDest->sin_port;\r
+       m_AddrDest.sin_addr.s_addr      = pDest->sin_addr.s_addr;\r
+       \r
+       //////////////////////////////////////////////////////////////////\r
+       // for TTL Setting \r
+       // ÀÓ½Ã..\r
+       \r
+#ifndef _LINUX\r
+       IN_ADDR         inLocalAddr;\r
+       GetLocalIP (&inLocalAddr);\r
+       \r
+       sockaddr_in     LocalAddr;\r
+       LocalAddr.sin_family            = AF_INET;\r
+       LocalAddr.sin_addr.s_addr       = inLocalAddr.s_addr;\r
+       LocalAddr.sin_port                      = htons(0);\r
+       \r
+       bindSocket (&LocalAddr);\r
+#endif\r
+\r
+       if (0 != ::connect(m_iFd, (struct sockaddr *)&m_AddrDest, sizeof(m_AddrDest)))\r
+       {\r
+               printf ("After connect \n");\r
+#ifdef _WIN32_\r
+               cc_u32 i = WSAGetLastError();\r
+#elif _ANYVIEW\r
+               cc_u32 i = WSAGetLastError();\r
+#endif\r
+       \r
+               DRMLOG_Msg (&DtcpLogCTX, LOG_ERROR,"[Network] %s\n", "Connect Error");\r
+               return DTCP_ERR_TCPIP_CONNECT;\r
+       }\r
+       \r
+       SetTTL ();      \r
+       return DTCP_TCPIP_SUCCESS;\r
+}\r
+/**\r
+*      Read char-typed data from a connected or bound socket\r
+*      Parameters:\r
+*              pchBuf\r
+*                      [out] char-typed Buffer for incoming data\r
+*              dwBufLen\r
+*                      [in] Length of buffer\r
+*              pdwRcvLen\r
+*                      [out] Received length\r
+*              dwMsec\r
+*                      [in] timeout\r
+*      Return Value:\r
+*/\r
+/*\r
+int \r
+DtcpCTcpSocket::read(cc_u8* pchBuf, \r
+                                               cc_u32 dwBufLen, \r
+                                               cc_u32* pdwRcvLen, \r
+                                               cc_u32 dwMsec)\r
+{\r
+       // Synchronization I/O\r
+\r
+       if (INFINITE_32 != dwMsec)\r
+       {\r
+               int iRes = 0;\r
+               \r
+               fd_set  readset;\r
+               timeval t;\r
+               \r
+               t.tv_sec        = dwMsec/1000;\r
+               t.tv_usec       = (dwMsec%1000) * 1000;\r
+               \r
+               FD_ZERO(&readset);\r
+               FD_SET(m_iFd, &readset);\r
+\r
+#ifdef _DTCP_DEBUG_VER         \r
+               LOG_DEBUG(&DtcpLogCTX), "[network] DtcpCTcpSocket::read ==> m_iFd: %d\n",m_iFd);\r
+       //      printf("DtcpCTcpSocket::read ==> m_iFd: %d\n", m_iFd);\r
+#endif\r
+\r
+               iRes = select(m_iFd+1, &readset, 0, 0, NULL);\r
+               if (-1 == iRes)\r
+               {\r
+#ifdef _DTCP_DEBUG_VER         \r
+                       LOG_INFO(&DtcpLogCTX), "[network] %s\n","DtcpCTcpSocket::read ==> select error!");\r
+                       printf("DtcpCTcpSocket::read ==> select error!\n");\r
+#endif \r
+                       return DTCP_ERR_TCPIP_READ;\r
+               }               \r
+               else if (0 == iRes)\r
+               {\r
+#ifdef _DTCP_DEBUG_VER         \r
+                       LOG_INFO(&DtcpLogCTX), "[network]%s\n","DtcpCTcpSocket::read ==> select error!, Time-out");\r
+                       //printf("DtcpCTcpSocket::read ==> select error!, Time-out\n");\r
+#endif\r
+                       //return DTCP_ERR_TCPIP_READ;\r
+               }\r
+                       \r
+               if (0 == FD_ISSET(m_iFd, &readset))\r
+               {\r
+#ifdef _DTCP_DEBUG_VER         \r
+                       LOG_INFO(&DtcpLogCTX), "[network] %s\n","DtcpCTcpSocket::read ==> FD_ISSET error!");\r
+                       //printf("DtcpCTcpSocket::read ==> FD_ISSET error!\n");\r
+#endif         \r
+                       return DTCP_ERR_TCPIP_READ;\r
+               }\r
+       }\r
+\r
+#ifdef _DTCP_DEBUG_VER\r
+       LOG_INFO(&DtcpLogCTX), "[network] %s\n","DtcpCTcpSocket::read ==> before ::recv!");\r
+       //printf("DtcpCTcpSocket::read ==> before ::recv\n");\r
+#endif\r
+\r
+       *pdwRcvLen = ::recv(m_iFd, (char *)pchBuf, dwBufLen, 0);\r
+\r
+\r
+#ifdef _DTCP_DEBUG_VER\r
+       LOG_INFO(&DtcpLogCTX), "[network] DtcpCTcpSocket::read ==> after ::recv, ReceivedLength: %d\n",*pdwRcvLen);\r
+//     printf("DtcpCTcpSocket::read ==> after ::recv, ReceivedLength: %d\n", dwBufLen);\r
+#endif \r
+\r
+       \r
+       if (*pdwRcvLen == (unsigned)-1)\r
+       {\r
+               *pdwRcvLen = 0;\r
+\r
+#ifdef _DTCP_DEBUG_VER\r
+               LOG_INFO(&DtcpLogCTX), "[network] %s\n","DtcpCTcpSocket::read ==> Recv Error !");\r
+               //printf("DtcpCTcpSocket::read ==> Recv Error !\n");\r
+#endif \r
+\r
+               return DTCP_ERR_TCPIP_READ;\r
+       }\r
+       else if (0 == *pdwRcvLen)\r
+               return DTCP_TCPIP_SOCKET_CLOSED;\r
+\r
+\r
+#ifdef _DTCP_DEBUG_VER\r
+       LOG_INFO(&DtcpLogCTX), "[network] %s\n","DtcpCTcpSocket::read ==> Recv Success !");\r
+       //printf("DtcpCTcpSocket::read ==> Recv Success \n");\r
+#endif \r
+\r
+       return DTCP_TCPIP_SUCCESS;\r
+}\r
+*/\r
+\r
+#if 0\r
+int \r
+DtcpCTcpSocket::read(cc_u8* pbyBuf, \r
+                                        cc_u32 dwBufLen, \r
+                                        cc_u32* pdwRcvLen, \r
+                                        cc_u32 dwMsec)\r
+{\r
+\r
+//     cc_u32 t0=GetTickCount();\r
+       //*pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);\r
+       *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);\r
+       /*\r
+#ifdef _WIN32_\r
+       *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);        \r
+\r
+#elif _ANYVIEW\r
+       *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);        \r
+#else\r
+       *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);\r
+#endif\r
+*/\r
+/*\r
+    cc_u32 t1=GetTickCount();\r
+       if( (t1 - t0 )>= dwMsec)\r
+       {\r
+               printf(" Time out!\n");\r
+               return DTCP_ERR_TCPIP_READ;\r
+       }\r
+       else\r
+               printf(" %ld \n",(t1-t0));\r
+*/\r
+       if (*pdwRcvLen == (unsigned)-1)\r
+       {\r
+               *pdwRcvLen = 0;\r
+               return DTCP_ERR_TCPIP_READ;\r
+       }\r
+       else if (0 == *pdwRcvLen)\r
+               return DTCP_TCPIP_SOCKET_CLOSED;\r
+\r
+       return DTCP_TCPIP_SUCCESS;\r
+}\r
+\r
+#endif \r
+int \r
+DtcpCTcpSocket::read(cc_u8* pbyBuf, \r
+                                        cc_u32 dwBufLen, \r
+                                        cc_u32* pdwRcvLen, \r
+                                        cc_u32 dwMsec)\r
+{\r
+\r
+       *pdwRcvLen = 0;\r
+       cc_u32 uRecvLen = 0 ;\r
+\r
+       fd_set fds ;\r
+    int n ;\r
+    struct timeval tv ;\r
+\r
+    // Set up the file descriptor set.\r
+    FD_ZERO(&fds) ;\r
+    FD_SET(m_iFd, &fds) ;\r
+\r
+    // Set up the struct timeval for the timeout.\r
+    tv.tv_sec = dwMsec/1000 ;\r
+    tv.tv_usec = 0 ;\r
+\r
+    // Wait until timeout or data received.\r
+    n = select ( m_iFd+1, &fds, NULL, NULL, &tv ) ;\r
+    if ( n == 0  ) \r
+    {\r
+               printf ("TimeOut \n");\r
+               return DTCP_SOCKET_TIMEOUT;\r
+               \r
+    }\r
+    else if (n == 1)\r
+    {\r
+               uRecvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);\r
+               *pdwRcvLen = uRecvLen;\r
+\r
+               if (uRecvLen != dwBufLen)\r
+               {\r
+                       DRMLOG_Msg (&DtcpLogCTX, LOG_INFO,\r
+                    "Requested length %d, Read length %d \n",dwBufLen,uRecvLen);\r
+               }\r
+               \r
+    }\r
+    else \r
+    {\r
+               printf ("Error \n");\r
+               return DTCP_FAILURE;            \r
+    }\r
+    \r
+       /*\r
+\r
+       do \r
+       {\r
+               uRecvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);\r
+\r
+               if (uRecvLen != -1)\r
+                       *pdwRcvLen += uRecvLen;\r
+               \r
+               uEndTime = timeGetTime ();\r
+               if (uEndTime - uStartTime > dwMsec)\r
+               {\r
+                       printf ("TimeOut !!! \n");\r
+                       break;\r
+               }\r
+       }while (dwBufLen < *pdwRcvLen);\r
+       */\r
+       //DRMLOG_Msg(&DtcpLogCTX,LOG_ERROR,"*pdwRcvLen %d , %d \n", *pdwRcvLen, (uEndTime - uStartTime));\r
+\r
+       \r
+//     cc_u32 t0=GetTickCount();\r
+       //*pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);\r
+       //*pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);\r
+       /*\r
+#ifdef _WIN32_\r
+       *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);        \r
+\r
+#elif _ANYVIEW\r
+       *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);        \r
+#else\r
+       *pdwRcvLen = ::recv(m_iFd, (char *)pbyBuf, dwBufLen, 0);\r
+#endif\r
+*/\r
+/*\r
+    cc_u32 t1=GetTickCount();\r
+       if( (t1 - t0 )>= dwMsec)\r
+       {\r
+               printf(" Time out!\n");\r
+               return DTCP_ERR_TCPIP_READ;\r
+       }\r
+       else\r
+               printf(" %ld \n",(t1-t0));\r
+*/\r
+       if (*pdwRcvLen == (unsigned)-1)\r
+       {\r
+               *pdwRcvLen = 0;\r
+               return DTCP_ERR_TCPIP_READ;\r
+       }\r
+       else if (0 == *pdwRcvLen)\r
+               return DTCP_TCPIP_SOCKET_CLOSED;\r
+\r
+       return DTCP_TCPIP_SUCCESS;\r
+}\r
+\r
+\r
+/**\r
+*      Query TCP socket to see how many bytes are in read buffer\r
+*      Parameters:\r
+*              iBufLen\r
+*                      [out] Length of buffer\r
+*      Return Value:\r
+*/\r
+long \r
+DtcpCTcpSocket::readBufLen(int* iBufLen)\r
+{\r
+    if (NULL != iBufLen)\r
+    {\r
+#ifdef _WIN32_\r
+        if (0 != ioctlsocket(\r
+#elif _ANYVIEW\r
+        if (0 != ioctlsocket(\r
+#else\r
+        if (ioctl(\r
+#endif\r
+                m_iFd, \r
+                FIONREAD, \r
+#ifdef _WIN32_\r
+                (u_long *)iBufLen))\r
+#elif _ANYVIEW\r
+                (cc_u32 *)iBufLen))\r
+#else\r
+                iBufLen))\r
+#endif\r
+            return DTCP_ERR_TCPIP_READ;\r
+       \r
+    }\r
+    else\r
+        return DTCP_ERR_TCPIP_READ;    \r
+\r
+    return DTCP_TCPIP_SUCCESS; \r
+}\r
+\r
+/*\r
+*      Send char-typed data on a connected socket\r
+*      Parameters:\r
+*              pchBuf\r
+*                      [in] char-typed Buffer containing the data to be transmitted\r
+*              dwBufLen\r
+*                      [in] Length of buffer\r
+*              pdwSndLen\r
+*                      [out] \r
+*      Return Value:\r
+*/\r
+int \r
+DtcpCTcpSocket::send(const char* pchBuf, cc_u32 dwBufLen, cc_u32* pdwSndLen)\r
+{\r
+\r
+#ifdef _DTCP_DEBUG_VER\r
+#ifdef _DTCP_FILE_LOG\r
+       if (pchBuf[0] == 0x01)\r
+       { \r
+               fprintf (msgfile, "\n\n*** Send Msg ***");\r
+               PrintAkeMessage ((cc_u8 *)pchBuf, dwBufLen);    \r
+       }\r
+#endif     \r
+#endif\r
+\r
+#ifdef _WIN32_ \r
+       cc_u32 iFlags = 0;\r
+       *pdwSndLen = ::send(m_iFd, pchBuf, dwBufLen, iFlags);\r
+       \r
+#elif _ANYVIEW\r
+       cc_u32 iFlags;\r
+       *pdwSndLen = ::send(m_iFd, pchBuf, dwBufLen, iFlags);\r
+#elif _LINUX\r
+       *pdwSndLen = write(m_iFd,pchBuf,dwBufLen);\r
+#endif\r
+\r
+\r
+\r
+       if ((unsigned)-1 == *pdwSndLen)\r
+       {\r
+               *pdwSndLen = 0;\r
+\r
+               return DTCP_ERR_TCPIP_SEND;\r
+       }\r
+\r
+       return DTCP_TCPIP_SUCCESS;\r
+}\r
+\r
+/**\r
+*      Send cc_u8-typed data on a connected socket\r
+*      Parameters:\r
+*              pbyBuf\r
+*                      [in] cc_u8-typed Buffer containing the data to be transmitted\r
+*              dwBufLen\r
+*                      [in] Length of buffer\r
+*              pdwSndLen\r
+*                      [out] \r
+*      Return Value:\r
+*/\r
+/*\r
+int \r
+DtcpCTcpSocket::send(const cc_u8* pbyBuf, cc_u32 dwBufLen, cc_u32* pdwSndLen)\r
+{\r
+\r
+       int iFlags = 0;\r
+\r
+#ifdef _WIN32\r
+       *pdwSndLen = ::send(m_iFd, (char *)pbyBuf, dwBufLen, iFlags);\r
+#else\r
+       *pdwSndLen = ::send(m_iFd, pbyBuf, dwBufLen, iFlags);\r
+#endif\r
+\r
+       if ((unsigned)-1 == *pdwSndLen)\r
+       {\r
+               *pdwSndLen = 0;\r
+\r
+               return DTCP_ERR_TCPIP_SEND;\r
+       }\r
+       else if (0 == *pdwSndLen)\r
+               return DTCP_TCPIP_SOCKET_CLOSED;\r
+\r
+       return DTCP_TCPIP_SUCCESS;\r
+}\r
+*/\r
+/**\r
+*      Set non-blocking mode\r
+*      Parameters:\r
+*      Return Value:\r
+*/\r
+bool \r
+DtcpCTcpSocket::setNonBlocking(bool bNonBlocking)\r
+{\r
+       m_bNonBlocking = bNonBlocking;\r
+       \r
+       return true;\r
+}\r
+\r
+/**\r
+*      Close an exiting socket\r
+*      Parameters:\r
+*      Return Value:\r
+*/\r
+int \r
+DtcpCTcpSocket::closeSocket(void)\r
+{\r
+       if (m_iFd == 0)\r
+       {\r
+               return DTCP_ERR_TCPIP_CLOSE;\r
+       }\r
+       \r
+       DRMLOG_Msg (&DtcpLogCTX, LOG_DEBUG,"[Network] closesocket %d\n",m_iFd);\r
+\r
+       int reValue = 0;\r
+#ifdef _WIN32_ \r
+       reValue = ::closesocket(m_iFd);\r
+#elif _ANYVIEW\r
+       reValue = ::closesocket(m_iFd); \r
+#else\r
+       reValue = ::shutdown (m_iFd,SHUT_RDWR);\r
+       if (reValue == 0)\r
+       {\r
+               reValue = ::close(m_iFd);\r
+       }\r
+#endif\r
+\r
+       m_iFd = 0;\r
+       if (reValue != 0)\r
+       {\r
+               return DTCP_ERR_TCPIP_CLOSE;\r
+       }\r
+       else \r
+       {\r
+               return DTCP_TCPIP_SUCCESS;\r
+       }\r
+}\r
+\r
+\r
+\r
+/**\r
+*      Listen\r
+*      Parameters:\r
+*      Return Value:\r
+*/\r
+int \r
+DtcpCTcpSocket::listen(void)\r
+{\r
+       int reValue = ::listen(m_iFd, SOMAXCONN); \r
+       if (reValue != 0)\r
+       {\r
+               DRMLOG_Msg (&DtcpLogCTX, LOG_ERROR,\r
+                " Listen Error [ErrorCode :%d] \n",reValue);\r
+       }\r
+       \r
+       return reValue;\r
+\r
+       //return (0 != ::listen(m_iFd, SOMAXCONN) ? DTCP_ERR_TCPIP_LISTEN : DTCP_TCPIP_SUCCESS);\r
+}\r
+\r
+/**\r
+*      Permit an incoming connection attempt on a socket\r
+*      (Block waiting for a remote connection on a bound socket)\r
+*      Parameters:\r
+*      Return Value:\r
+*/\r
+DtcpCTcpSocket* \r
+DtcpCTcpSocket::accept()\r
+{\r
+       struct sockaddr destAddr;\r
+#ifdef _WIN32_\r
+       int iDestSize           = sizeof(destAddr);\r
+#elif _ANYVIEW\r
+       int iDestSize           = sizeof(destAddr);\r
+#else\r
+       socklen_t iDestSize     = sizeof(destAddr);\r
+#endif\r
+\r
+       int iFd = -1;\r
+       while (1)\r
+       {\r
+               iFd = ::accept(m_iFd, &destAddr, &iDestSize);\r
+\r
+               if (-1 == iFd)\r
+               {\r
+                       DRMLOG_Msg (&DtcpLogCTX, LOG_ERROR,\r
+                                        "[Network] %s\n","Accept FAILURE\n");\r
+                       return NULL;\r
+               }\r
+               else\r
+               {\r
+                       DRMLOG_Msg (&DtcpLogCTX, LOG_INFO,\r
+                                "[Network] accept socketId m_iFd: %d\n",m_iFd);\r
+               }\r
+               break;\r
+       }\r
+       \r
+       DtcpCTcpSocket* ptSocket = new DtcpCTcpSocket((cc_u32)iFd);\r
+\r
+       memcpy(&ptSocket->m_AddrDest, &destAddr, sizeof(m_AddrLocal));\r
+       memcpy(&ptSocket->m_AddrLocal, &m_AddrLocal, sizeof(m_AddrLocal));\r
+       \r
+#ifdef _DTCP_PLUS\r
+               SetTTL (true);          \r
+#else\r
+               SetTTL ();\r
+#endif\r
+\r
+       return ptSocket;\r
+}\r
+\r
+\r
+\r
diff --git a/SPC/Src/SAKEP.cpp b/SPC/Src/SAKEP.cpp
new file mode 100755 (executable)
index 0000000..572059e
--- /dev/null
@@ -0,0 +1,8213 @@
+#include <string.h>\r
+#include <time.h>\r
+#include "SAKEP.h"\r
+\r
+#include "CC_Context.h"\r
+#include "bignum.h"\r
+#include "ANSI_x931.h"\r
+#include "SPC_Table.h"\r
+#include "DRMLog.h"\r
+\r
+\r
+\r
+#define MIN(a,b)               (((a) < (b)) ? (a) : (b))\r
+\r
+\r
+static  unsigned char generator[SAKEP_DLBP_PAK_PARMETER_SIZE] = \r
+{\r
+               0xab,0xf9,0xef,0x8e,0x95,0x7c,0x6e,0xe4,0xd4,0x90,0xf9,0xa0,0x3a,0x64,0x78,0x2e,\r
+               0x3e,0x59,0x97,0x6e,0x21,0x2d,0xd1,0xbc,0x7e,0xe4,0x99,0x32,0xd3,0xc4,0x0d,0x8a,\r
+               0x79,0x9e,0xeb,0x39,0x9a,0xa9,0xe0,0xfe,0x00,0x0c,0xa9,0xbb,0xb1,0x33,0xaf,0x9c,\r
+               0x78,0xa8,0x75,0xbc,0xde,0x1c,0x32,0x84,0x93,0xa2,0x70,0x29,0x03,0x5a,0x86,0x8a,\r
+               0x91,0x44,0x93,0x26,0xd9,0x1d,0x4d,0x71,0x2a,0xf3,0x52,0x91,0x0b,0xe8,0xc5,0xfb,\r
+               0x98,0x59,0x17,0x41,0x1e,0xdd,0x2a,0x42,0x8b,0xd6,0x15,0x1e,0xda,0x08,0xf0,0xc1,\r
+               0x85,0x47,0xc0,0x4d,0x19,0x3c,0x3d,0x30,0x58,0x82,0x50,0xe2,0xfe,0x60,0xb8,0x47,\r
+               0xf2,0x50,0x91,0x5e,0x56,0xe8,0xf2,0x55,0x57,0x19,0x46,0x18,0xe7,0x83,0x2f,0x73  \r
+};\r
+\r
+ static unsigned char prime[SAKEP_DLBP_PAK_PARMETER_SIZE] = \r
+{\r
+               0xb3,0x61,0xeb,0x0a,0xb0,0x1c,0x34,0x39,0xf2,0xc1,0x6f,0xfd,0xa7,0xb0,0x5e,0x3e,\r
+               0x32,0x07,0x01,0xeb,0xee,0x3e,0x24,0x91,0x23,0xc3,0x58,0x67,0x65,0xfd,0x5b,0xf6,\r
+               0xc1,0xdf,0xa8,0x8b,0xb6,0xbb,0x5d,0xa3,0xfd,0xe7,0x47,0x37,0xcd,0x88,0xb6,0xa2,\r
+               0x6c,0x5c,0xa3,0x1d,0x81,0xd1,0x8e,0x35,0x15,0x53,0x3d,0x08,0xdf,0x61,0x93,0x17,\r
+               0x06,0x32,0x24,0xcf,0x09,0x43,0xa2,0xf2,0x9a,0x5f,0xe6,0x0c,0x1c,0x31,0xdd,0xf2,\r
+               0x83,0x34,0xed,0x76,0xa6,0x47,0x8a,0x11,0x22,0xfb,0x24,0xc4,0xa9,0x4c,0x87,0x11,\r
+               0x61,0x7d,0xdf,0xe9,0x0c,0xf0,0x2e,0x64,0x3c,0xd8,0x2d,0x47,0x48,0xd6,0xd4,0xa7,\r
+               0xca,0x2f,0x47,0xd8,0x85,0x63,0xaa,0x2b,0xaf,0x64,0x82,0xe1,0x24,0xac,0xd7,0xdd \r
+\r
+};\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Global Variables\r
+////////////////////////////////////////////////////////////////////////////\r
+cc_u32                 DWD_ZERO[2]     = {0, 0};\r
+cc_u32                 DWD_ONE[2]      = {1, 0};\r
+\r
+SPC_INTERNAL SDRM_BIG_NUM      _BN_ZERO        = {0, 1, 2, DWD_ZERO};\r
+SPC_INTERNAL SDRM_BIG_NUM      _BN_ONE         = {0, 1, 2, DWD_ONE};\r
+\r
+SPC_INTERNAL SDRM_BIG_NUM      *BN_ZERO        = &_BN_ZERO;\r
+SPC_INTERNAL SDRM_BIG_NUM      *BN_ONE         = &_BN_ONE;\r
+\r
+\r
+\r
+SPC_INTERNAL SAkepApi::SAkepApi()\r
+{\r
+       memset(m_pPrivatekeyY,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+       memset(m_pPublickeyY,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+       memset(m_pWc,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+\r
+       m_pMac = NULL;\r
+\r
+       m_nMyMacLen = 0;\r
+}\r
+\r
+SPC_INTERNAL SAkepApi::SAkepApi(Handle_CTX* ctx,ModeType eMode)\r
+{\r
+       ctx->eErrorType = SUCCESS;\r
+       \r
+       memset(m_pPrivatekeyY,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+       memset(m_pPublickeyY,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+       m_pMac = NULL;\r
+       memset(m_pWc,0x00,SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+       m_nMyMacLen = 0;\r
+\r
+}\r
+\r
+SAkepApi::~SAkepApi()\r
+{\r
+       if(m_pMac != NULL)\r
+       {\r
+               free(m_pMac);\r
+       }\r
+\r
+}\r
+\r
+SPC_INTERNAL void* SAkepApi::SAKEPMalloc(int siz)\r
+{\r
+       cc_u8 *pbBuf = (cc_u8*)malloc(siz);\r
+\r
+       if (pbBuf == NULL)\r
+       {\r
+               return NULL;\r
+       }\r
+       else\r
+       {\r
+               memset(pbBuf, 0, siz);\r
+               return (void*)pbBuf;\r
+       }\r
+}\r
+\r
+SPC_INTERNAL void SAkepApi::SAKEPFree(void *ptr)\r
+{\r
+       if (ptr != NULL)\r
+       {\r
+               free(ptr);\r
+       }\r
+}\r
+\r
+\r
+SPC_INTERNAL SAKEPContainer* SAkepApi::create_SAKEPContainer()\r
+{\r
+       SAKEPContainer *crt;\r
+       srand((unsigned int)time(NULL));\r
+\r
+       // allocate memory for crypt data structure (by using CCMalloc)\r
+       crt = (SAKEPContainer *)SAKEPMalloc(sizeof(SAKEPContainer));\r
+       if (crt == NULL)\r
+       {\r
+               return NULL;\r
+       }\r
+\r
+       crt->ctx = (SAKEP_BSContext *)SAKEPMalloc(sizeof(SAKEP_BSContext));\r
+       if (crt->ctx == NULL)\r
+       {\r
+               free(crt);\r
+               return NULL;\r
+       }\r
+\r
+       return crt;\r
+}\r
+\r
+/*!    \brief  free allocated memory\r
+ * \param      crt             [in]crypt context\r
+ * \return     void\r
+ */\r
+SPC_INTERNAL void SAkepApi::destroy_SAKEPContainer(SAKEPContainer* crt)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return;\r
+       }\r
+       // free CryptoCoreContainer data structure\r
+       SAKEPFree(crt->ctx);\r
+       SAKEPFree(crt);\r
+}\r
+\r
+\r
+\r
+SPC_INTERNAL int SAkepApi::EncryptGy(unsigned char* pPwd,unsigned int nPwdLen , unsigned char* pInGy, unsigned int nInGyLen, unsigned char* pOut, unsigned int* pOutLen)\r
+{\r
+       int reVal = SAKEP_SUCCESS;\r
+       unsigned char pGyTempHash[      SAKEP_SHA1_DIGEST_LENGTH] = {0,};\r
+       unsigned char pGyKey[SAKEP_GXY_KEY_SIZE] = {0,};\r
+\r
+       CryptoCoreContainer *ctx;\r
+       ctx = create_CryptoCoreContainer(ID_SHA1);\r
+       if(ctx == NULL)\r
+       {       \r
+                       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer(ID_SHA1) [ ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }       \r
+       ctx->MD_init(ctx);      \r
+       ctx->MD_update(ctx, pPwd,nPwdLen);      \r
+       ctx->MD_final(ctx, pGyTempHash);\r
+       destroy_CryptoCoreContainer(ctx);\r
+\r
+       memcpy(pGyKey,pGyTempHash,SAKEP_GXY_KEY_SIZE);\r
+       memset (pGyTempHash,0x00,SAKEP_SHA1_DIGEST_LENGTH);\r
+\r
+       CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_AES128);\r
+       if(crt == NULL)\r
+       {                       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer Error [ ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }       \r
+\r
+\r
+       crt->SE_init(crt, ID_ENC_CBC, ID_NO_PADDING,pGyKey, 16,NULL);   \r
+       crt->SE_process(crt, pInGy, nInGyLen, pOut, pOutLen);   \r
+       destroy_CryptoCoreContainer(crt);\r
+\r
+       return reVal;\r
+       \r
+       \r
+}\r
+\r
+\r
+SPC_INTERNAL int SAkepApi::DecryptGx(unsigned char* pPwd,unsigned int nPwdLen , unsigned char* pInEncryptedGx, unsigned int nInEncryptedGxLen, unsigned char* pOut, unsigned int* pOutLen)\r
+{\r
+       int reVal = SAKEP_SUCCESS;\r
+       unsigned char pGxTempHash[      SAKEP_SHA1_DIGEST_LENGTH] = {0,};\r
+       unsigned char pGxKey[SAKEP_GXY_KEY_SIZE] = {0,};\r
+\r
+       CryptoCoreContainer *ctx;\r
+       ctx = create_CryptoCoreContainer(ID_SHA1);\r
+       if(ctx == NULL)\r
+       {       \r
+                       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer(ID_SHA1) [ ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }       \r
+       ctx->MD_init(ctx);      \r
+       ctx->MD_update(ctx, pPwd,nPwdLen);      \r
+       ctx->MD_final(ctx, pGxTempHash);\r
+       destroy_CryptoCoreContainer(ctx);\r
+\r
+       memcpy(pGxKey,pGxTempHash,SAKEP_GXY_KEY_SIZE);\r
+       memset (pGxTempHash,0x00,SAKEP_SHA1_DIGEST_LENGTH);\r
+\r
+       CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_AES128);\r
+       if(crt == NULL)\r
+       {                       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer Error [ ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }       \r
+\r
+\r
+       crt->SE_init(crt, ID_DEC_CBC, ID_NO_PADDING,pGxKey, 16,NULL);   \r
+       crt->SE_process(crt, pInEncryptedGx, nInEncryptedGxLen, pOut, pOutLen); \r
+       destroy_CryptoCoreContainer(crt);\r
+\r
+       return reVal;\r
+       \r
+       \r
+}\r
+\r
+\r
+/**\r
+ * @fn         int SAKEP_SetBSParam(SAKEPContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned char* pGenerator, unsigned int nGeneratorLen)\r
+ * @brief      set parameters for Diffie-Hellman protocol\r
+ *\r
+ * @param      [out] crt                               context\r
+ * @param      [in]  pPrime                    prime number\r
+ * @param      [in]  nPrimeLen                 size of pPrime buffer\r
+ * @param      [in]  pGenerator                generator value\r
+ * @param      [in]  nGeneratorLen             generator Length\r
+ *\r
+ * @return     int\r
+ */\r
\r
+SPC_INTERNAL int SAkepApi::SAKEP_SetBSParam(SAKEPContainer* crt, const unsigned char* pPrime, unsigned int nPrimeLen,const unsigned char* pGenerator, unsigned int nGeneratorLen)\r
+{\r
+       SAKEP_BSContext* ctx;\r
+       SDRM_BIG_NUM* p = NULL;\r
+       SDRM_BIG_NUM* g = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (pPrime == NULL) || (pGenerator == NULL))\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_SetBSParam Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR);\r
+\r
+               return SAKEP_NULL_POINT_ERROR;\r
+       }\r
+\r
+       ctx = crt->ctx;\r
+\r
+       p = SDRM_BN_Init(nPrimeLen / 2 + 1);\r
+       if (p == NULL)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_SetBSParam p parameter Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+\r
+       g = SDRM_BN_Init(nPrimeLen / 2 + 1);\r
+       if (g == NULL)\r
+       {\r
+               free(p);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_SetBSParam g parameter Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+\r
+       SDRM_OS2BN((unsigned char*)pPrime, nPrimeLen, p);\r
+       SDRM_OS2BN((unsigned char*)pGenerator, nGeneratorLen, g);\r
+\r
+       ctx->PrimeLen = nPrimeLen;\r
+       ctx->p = p;\r
+       ctx->g = g;\r
+\r
+       return SAKEP_SUCCESS;\r
+}\r
+\r
+\r
+/** g^y\r
+ * @fn         int SAKEP_SAKEP_GenerateBSPublic(SAKEPContainer* crt, unsigned char *pPin,unsigned int nPinLen,unsigned char* pPriv, unsigned char* pPub)\r
+ * @brief      generate private value and calculate public value and generate public Key\r
+ *\r
+ * @param      [in]  crt                               context\r
+ * @param      [in] pPin                               password\r
+ * @param      [in] nPinLen                    password length\r
+ * @param      [out] pPriv                             private value\r
+ * @param      [out] pPub                              public length\r
+ * @return     int\r
+ */\r
+SPC_INTERNAL int SAkepApi::SAKEP_GenerateBSPublic(SAKEPContainer* crt, unsigned char *pPin,unsigned int nPinLen,unsigned char* pPriv/* x */, unsigned char* pPub/* g^x */)\r
+{\r
+       SAKEP_BSContext* ctx;\r
+       cc_u32 Seed[4] = {0,};\r
+       int retVal;\r
+       //unsigned int WcLen;\r
+\r
+       unsigned int nPrivLen = 0;\r
+       unsigned int nPubLen = 0;\r
+\r
+       SDRM_BIG_NUM* priv = NULL;\r
+       SDRM_BIG_NUM* pub = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (pPriv == NULL) || (pPub == NULL))\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR);\r
+\r
+               return SAKEP_NULL_POINT_ERROR;\r
+       }\r
+\r
+       ctx = crt->ctx;\r
+\r
+       priv = SDRM_BN_Init(ctx->PrimeLen / 2 + 1);\r
+       if (priv == NULL)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic priv Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+\r
+       pub = SDRM_BN_Init(ctx->PrimeLen / 2 + 1);\r
+       if (pub == NULL)\r
+       {\r
+               free(priv);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic pub Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+\r
+\r
+\r
+       //generate priv\r
+       //priv->Length = (ctx->PrimeLen + 3) / 4;\r
+       priv->Length = (ctx->PrimeLen + 3) / 4;\r
+       SDRM_RNG_X931((cc_u8 *)Seed, ctx->PrimeLen * 8, (cc_u8*)priv->pData);\r
+       retVal = SDRM_BN_ModRed(priv, priv, ctx->p);\r
+       if (retVal != SAKEP_SUCCESS)\r
+       {\r
+               free(priv);\r
+               free(pub);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SDRM_BN_ModRed SDRM_BN_ModRed Error [ErrorCode : %d ]\n",retVal);\r
+\r
+               return retVal;\r
+       }\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+       retVal = SDRM_BN_ModExp2(pub, ctx->g, priv, ctx->p);\r
+#else\r
+       retVal = SDRM_BN_ModExp(pub, ctx->g, priv, ctx->p);\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       if (retVal != SAKEP_SUCCESS)\r
+       {\r
+               free(priv);\r
+               free(pub);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic SDRM_BN_ModExp2  Error [ErrorCode : %d ]\n",retVal);\r
+\r
+               return retVal;\r
+       }\r
+       \r
+       \r
+\r
+       SDRM_BN_GETBYTELEN(priv, nPrivLen);\r
+       SDRM_I2OSP(priv, ctx->PrimeLen, pPriv);\r
+       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic Priv length %d \n",nPrivLen);\r
+/*\r
+       if(nPrivLen <128)\r
+       {\r
+               memmove(pPriv + 128 - nPrivLen, pPriv, nPrivLen);\r
+               memset(pPriv, 0x00, 128 - nPrivLen);\r
+       }\r
+*/     \r
+       SDRM_BN_GETBYTELEN(pub, nPubLen);       \r
+       SDRM_I2OSP(pub, ctx->PrimeLen, pPub);\r
+       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GenerateBSPublic Pub length %d \n",nPubLen);\r
+/*\r
+       if(nPubLen <128)\r
+       {\r
+               memmove(pPub + 128 - nPubLen, pPub, nPubLen);\r
+               memset(pPub, 0x00, 128 - nPubLen);\r
+       }\r
+*/     \r
+\r
+       free(priv);\r
+       free(pub);\r
+\r
+       return SAKEP_SUCCESS;\r
+}\r
+\r
+\r
+/**\r
+ * @fn         int SAKEP_GetAuthClient(unsigned char* pPrivY,unsigned int nPrivYLen,unsigned char* pGX,unsigned int nGXLen,unsigned char* pSharedSecret,unsigned int *pSharedSecretlen)\r
+ * @brief      calculate shared secret(Z = g^xy mod p)\r
+ *\r
+ * @param      [in]  pPrivY                    priavate key Data of y\r
+ * @param      [in]  nPrivYLen                 private key data length of y\r
+ * @param      [in]  pGX                               public key Data\r
+ * @param      [in]  nGXLen                    public key data length\r
+ * @param      [out] pSharedSecret             SharedSecret Value(Z = g^xy mod p)\r
+ * @param      [out] pSharedSecretlen  SharedSecret Length \r
+ *\r
+ * @return     int\r
+ */\r
+SPC_INTERNAL int SAkepApi::SAKEP_GetAuthClient(unsigned char* pPrivY,unsigned int nPrivYLen,unsigned char* pGX,unsigned int nGXLen,unsigned char* pSharedSecret,unsigned int *pSharedSecretlen)\r
+{\r
+       int reVal = SAKEP_SUCCESS;\r
+\r
+       SDRM_BIG_NUM     *BN_GXY,*BN_GX,*BN_Y;\r
+\r
+\r
+       unsigned char pDecryptedGx[128] = {0,};\r
+       unsigned int nDecryptedGxLen = 0;\r
+       unsigned int nGXYLen = 0;\r
+\r
+\r
+       BN_GXY = SDRM_BN_Init(nPrivYLen / 2); \r
+       if (BN_GXY == NULL)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer BN_GXY memory allocate Error [ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+\r
+       \r
+       BN_Y = SDRM_BN_Init(nPrivYLen / 2); \r
+       if (BN_Y == NULL)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer BN_GXY memory allocate Error [ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       SDRM_OS2BN(pPrivY, nPrivYLen, BN_Y);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pPrivY " ,pPrivY,nPrivYLen);\r
+\r
+\r
+       BN_GX = SDRM_BN_Init(nPrivYLen / 2); \r
+       if (BN_GX == NULL)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer BN_GXY memory allocate Error [ErrorCode : %d \n]",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+\r
+       SDRM_OS2BN(pGX, nGXLen, BN_GX);\r
+\r
+       SAKEPContainer *crt = create_SAKEPContainer();\r
+       if (crt == NULL)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       \r
+       if( SAKEP_SetBSParam(crt,prime, SAKEP_DLBP_PAK_PARMETER_SIZE, generator,SAKEP_DLBP_PAK_PARMETER_SIZE) != 0)\r
+       {\r
+               destroy_SAKEPContainer(crt);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GetGyWc SAKEP_SetBSParam Error [ErrorCode : %d ]\n",SAKEP_GETGYWC_SETBSPARAM_ERROR);\r
+\r
+               return SAKEP_GETGYWC_SETBSPARAM_ERROR;\r
+       }\r
+\r
+       //[Dpwd(g^y)] ^ x \r
+       unsigned char* pModulus;\r
+       unsigned int nModuluslen = 0;\r
+       SAKEP_BSContext* ctx;\r
+       ctx = crt->ctx;\r
+       \r
+       reVal = SDRM_BN_ModExp2(BN_GXY,BN_GX,BN_Y,ctx->p);\r
+       if(CRYPTO_SUCCESS != reVal)\r
+       {\r
+               destroy_SAKEPContainer(crt);\r
+               return reVal;\r
+       }\r
+\r
+\r
+       SDRM_BN_GETBYTELEN(ctx->p, nModuluslen);\r
+       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer BN_GXY Length :%d ",nGXYLen);\r
+\r
+       pModulus = (unsigned char*) malloc (sizeof(unsigned char) * nModuluslen);\r
+       SDRM_I2OSP(ctx->p, nModuluslen, pModulus);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pModulus " ,pModulus,nModuluslen);\r
+\r
+       if(pModulus)\r
+               free(pModulus);\r
+\r
+\r
+       destroy_SAKEPContainer(crt);    \r
+\r
+       SDRM_BN_GETBYTELEN(BN_GXY, nGXYLen);\r
+       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SAKEP_GetAuthServer BN_GXY Length :%d ",nGXYLen);\r
+\r
+       SDRM_I2OSP(BN_GXY, nGXYLen, pSharedSecret);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "Client pSharedSecret " ,pSharedSecret,nGXYLen);\r
+\r
+\r
+       \r
+       if(nGXYLen <128)\r
+       {\r
+               memmove(pSharedSecret + 128 - nGXYLen, pSharedSecret, nGXYLen);\r
+               memset(pSharedSecret, 0x00, 128 - nGXYLen);\r
+       }\r
+\r
+       *pSharedSecretlen = 128;\r
+       \r
+return reVal;          \r
+}\r
+\r
+/**\r
+ * @fn         int SAkepApi::GetGy(unsigned char *pPin,unsigned int nPinLen,unsigned char* pGy,unsigned char *py) \r
+ * @brief      calculate public key\r
+ *\r
+ * @param      [in]  pPin                      password\r
+ * @param      [in]  nPinLen           password length\r
+ * @param      [out]  pGy                      public key \r
+ * @param      [out]  py                       private key data  *\r
+ * @return     int\r
+ */\r
+SPC_INTERNAL int SAkepApi::GetGy(unsigned char *pPin,unsigned int nPinLen,unsigned char* pGy,unsigned char *py)//,unsigned char* pWc,unsigned int* nWcLen) \r
+\r
+{\r
+\r
+       SAKEPContainer *bob = create_SAKEPContainer();\r
+       if (bob == NULL)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GetGyWc Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+\r
+       if( SAKEP_SetBSParam(bob,prime, SAKEP_DLBP_PAK_PARMETER_SIZE, generator,SAKEP_DLBP_PAK_PARMETER_SIZE) != 0)\r
+       {\r
+               printf("SAKEP_SetBSParam() failed\n");\r
+               destroy_SAKEPContainer(bob);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GetGyWc SAKEP_SetBSParam Error [ErrorCode : %d ]\n",SAKEP_GETGYWC_SETBSPARAM_ERROR);\r
+\r
+               return SAKEP_GETGYWC_SETBSPARAM_ERROR;\r
+       }\r
+\r
+       //if(SAKEP_GenerateBSPublic(bob, pPin,nPinLen, py, pGy,pWc,nWcLen) != 0)\r
+       if(SAKEP_GenerateBSPublic(bob, pPin,nPinLen, py, pGy) != 0)\r
+       {\r
+               printf("SAKEP_GenerateBSPrivate() failed\n");\r
+               destroy_SAKEPContainer(bob);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GetGyWc SAKEP_GenerateBSPublic Error [ErrorCode : %d ]\n",SAKEP_GETGYWC_GENEARTORBSPUBLIC_ERROR);\r
+\r
+               return SAKEP_GETGYWC_GENEARTORBSPUBLIC_ERROR;\r
+       }\r
+\r
+       destroy_SAKEPContainer(bob);\r
+\r
+       return SAKEP_SUCCESS;\r
+}\r
+\r
+\r
+\r
+\r
+SPC_INTERNAL int SAkepApi::GeneratorServerHello(Handle_CTX* ctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pUserID,unsigned int nUserIDLen,unsigned char* pOutMsg,unsigned int* nOutLen)\r
+{\r
+       \r
+       int reValue = 0;\r
+       unsigned int index = 0;\r
+       unsigned int nPayloadLen = 0;\r
+       //unsigned int nUserIDLen = 0;\r
+       \r
+       unsigned char pGy[SAKEP_DLBP_PAK_PARMETER_SIZE] = {0,};unsigned char pPrivateY[SAKEP_DLBP_PAK_PARMETER_SIZE] = {0,};\r
+       unsigned char pWc[SAKEP_DLBP_PAK_PARMETER_SIZE] = {0,};\r
+       unsigned int nWcLen = 0;\r
+\r
+       unsigned char pEncGy[SAKEP_DLBP_PAK_PARMETER_SIZE] ={0,};\r
+       unsigned int nEncGyLen = 0;\r
+\r
+       unsigned char pEncWBGy[SAKEP_DLBP_PAK_PARMETER_SIZE] ={0,};\r
+       \r
+       unsigned char *pTempHash=NULL;\r
+       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"+++++++++++ GeneratorServerHello  +++++++++++++\n");\r
+\r
+       if(ctx == NULL)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR);\r
+\r
+               return SAKEP_NULL_POINT_ERROR;\r
+       }\r
+       if(ctx->eErrorType >= 0x81)\r
+       {\r
+               pOutMsg[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version\r
+               pOutMsg[index] =   ctx->eErrorType;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type        \r
+               memset(pOutMsg+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp  \r
+               pOutMsg[index] =NO_ENCRYPTION;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm       \r
+               ConvertUint32ToUint8(0,pOutMsg+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length\r
+\r
+               *nOutLen = index;\r
+               ctx->eState = STATE_ERROR;\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       if( (pPwd == NULL) || (nPwdLen <=0 )|| (pUserID == NULL)||(pOutMsg == NULL))\r
+       {\r
+               ctx->eErrorType = INVALIED_PARAMETER_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR);\r
+\r
+               return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+       \r
+       if(ctx->eState != STATE_WAIT_SERVERHELLO  )\r
+       {\r
+               ctx->eErrorType = UNEXPECTED_MESSAGE_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello State Error [State : %d ,ErrorCode : %d ]\n",ctx->eState,SAKEP_NULL_POINT_ERROR);\r
+\r
+               return SAKEP_INVAILD_STATE_ERROR;\r
+       }\r
+       pOutMsg[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version\r
+       pOutMsg[index] =SERVER_HELLO;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type\r
+       memset(pOutMsg+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp  \r
+       pOutMsg[index] =0x00;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm\r
+\r
+       nPayloadLen = SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN + SAKEP_AKE_MSG_USERID_LENGTH_LEN + nUserIDLen;\r
+       ConvertUint32ToUint8(nPayloadLen,pOutMsg+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length\r
+       ConvertUint32ToUint8(nUserIDLen,pOutMsg+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length\r
+       memcpy(pOutMsg+index,pUserID,nUserIDLen);index+=nUserIDLen;//UserID Len\r
+\r
+       \r
+       reValue = GetGy(pPwd,nPwdLen,pGy,pPrivateY);//  modified 0404\r
+       if(reValue != 0)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello GetGyWc Error [ErrorCode : %d ]\n",reValue);\r
+               \r
+               DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "password" ,pPwd, nPwdLen);\r
+               DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "pGy" ,pGy, SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+               DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "pPrivateY" ,pPrivateY, SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+               return SAKEP_MESSAGE_GENERATE_FAIL;\r
+       }\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "Input password" ,pPwd, nPwdLen);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "My public Key pGy" ,pGy, SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pPrivateY" ,pPrivateY, SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+\r
+       SetPrivatekeyY(pPrivateY);\r
+       SetPublicKeyY(pGy);     \r
+       SetMac(pUserID,nUserIDLen);//MACa --> 수정 필요 UserIDLen 저장 필요\r
+\r
+\r
+       reValue = EncryptGy(pPwd,nPwdLen,pGy,128,pEncGy,&nEncGyLen);\r
+\r
+       if(reValue != 0)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello GetGy Error [ErrorCode : %d ]\n",reValue);\r
+               \r
+               DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "password" ,pPwd, nPwdLen);\r
+               DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "pGy" ,pGy, SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+               DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "pPrivateY" ,pPrivateY, SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+               return SAKEP_ENCRYPT_GY_FAIL;\r
+       }\r
+       \r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "password" ,pPwd, nPwdLen);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "pGy" ,pGy, SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "Encrypted pGy" ,pEncGy, nEncGyLen);\r
+\r
+       EncryptParameterDataWithWB(pEncGy,pEncWBGy);\r
+       \r
+       memcpy(pOutMsg+index,pEncWBGy,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);index+=SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN;//Epwd(g^y)\r
+       pOutMsg[index] =NO_INTEGRITY;index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN;//integrity type\r
+       memset(pOutMsg+index,0x00,SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN);index+=SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN;//integrity length\r
+\r
+       //previous message \r
+\r
+       pTempHash = (unsigned char*) malloc (sizeof (unsigned char) * nPayloadLen);\r
+       if (pTempHash == NULL)\r
+       {\r
+               ctx->eErrorType = INVALID_SERVER_HELLO_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello pTempHash malloc Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+\r
+       ConvertUint32ToUint8(nUserIDLen, pTempHash);    \r
+       memcpy(pTempHash+SAKEP_AKE_MSG_USERID_LENGTH_LEN,pUserID,nUserIDLen); //MACa(UserID)\r
+       memcpy(pTempHash+SAKEP_AKE_MSG_USERID_LENGTH_LEN+nUserIDLen,pEncWBGy,SAKEP_DLBP_PAK_PARMETER_SIZE);//modified 0404\r
+\r
+       //PRINT_BUFFER(" pPreMessage ",pTempHash,SAKEP_AKE_MSG_USERID_LENGTH_LEN+ nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "GeneratorServerHello previos Mesage " ,pTempHash, SAKEP_AKE_MSG_USERID_LENGTH_LEN+ nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);\r
+\r
+       CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_SHA1);\r
+       if(crt == NULL)\r
+       {       \r
+               if(pTempHash != NULL)\r
+                       free(pTempHash);        \r
+               ctx->eErrorType = INVALID_CLIENT_ACK_ERROR;             \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello create_CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }       \r
+       crt->MD_init(crt);      \r
+       crt->MD_update(crt, pTempHash,nPayloadLen);     \r
+       crt->MD_final(crt, ctx->pPreHashMsg);\r
+       destroy_CryptoCoreContainer(crt);\r
+       \r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "GeneratorServerHello previos Hash Mesage " ,ctx->pPreHashMsg, 20);\r
+\r
+//     PRINT_BUFFER(" geneartor ServerHello ctx->pPreHashMsg : ",ctx->pPreHashMsg, 20);\r
+\r
+       if(pTempHash != NULL)\r
+       {\r
+               free(pTempHash);\r
+       }\r
+       \r
+       ///////////////////////////////////////////////////////////////////////\r
+       //soket일때는 살리자.\r
+       ///////////////////////////////////////////////////////////////////////\r
+       \r
+       ctx->eState = STATE_WAIT_CLIENTHELLO;\r
+\r
+   *nOutLen = index;\r
+\r
+   return 0;\r
+}\r
+\r
+SPC_INTERNAL int SAkepApi::ParseClientHello(Handle_CTX* ctx,unsigned char* pPwd, unsigned int nPwdLen,unsigned char* pMessage,unsigned int nInLen)\r
+{\r
+       int reValue  = SAKEP_SUCCESS;\r
+       int index = 0;\r
+       unsigned int nPayloadLen = 0,nIntegrityLen=0,nUserIDLen=0;\r
+       unsigned char pPayloadHash[SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN] = {0,};\r
+       unsigned char *pPreMessage = NULL;\r
+\r
+\r
+       unsigned char pGx[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN]={0,};\r
+       unsigned char pMyPublicKey[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN]={0,};\r
+       unsigned char pMyPrivateY[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN]={0,};\r
+       \r
+\r
+       unsigned char *pMyMac =NULL;\r
+       unsigned char *pPeerMac=NULL ;\r
+\r
+       unsigned char *SKPrimeTemp= NULL;       \r
+       unsigned char pSkPrime[SAKEP_SHA1_HASH_SIZE]={0,};\r
+       unsigned char pSKHashTemp[SAKEP_SK_PRIME_KEY_SIZE+1] = {0,};\r
+       unsigned char pSKTemp[SAKEP_SK_PRIME_KEY_SIZE]={0,};\r
+\r
+\r
+       unsigned char pPriv[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN];\r
+       unsigned int nSharedSecretlen;\r
+       unsigned char pSharedSecret[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN] = {0};\r
+\r
+       unsigned char *pTempZMacHash= NULL;\r
+       unsigned char pZMacHash[SAKEP_SHA1_HASH_SIZE] = {0,};\r
+       \r
+       unsigned int nMyMacLen = 0;\r
+       unsigned char pDecryptedGx[128] = {0,};\r
+       unsigned int nDecryptedGxLen = 0;\r
+\r
+       DRMLOG_Message(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__,"++++++++++++++++++++++ParseClientHello++++++++++\n");             \r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "parser Client Hello TotalMessage " ,pMessage, nInLen);\r
+       DRMLOG_Message(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__,"++++++++++++++++++++++ParseClientHello++++++++++\n");             \r
+\r
+       if((ctx == NULL)|| (pMessage == NULL) || (nInLen <=0 ))\r
+       {\r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR);\r
+\r
+                       return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+\r
+\r
+       if(ctx->eState != STATE_WAIT_CLIENTHELLO)\r
+       {\r
+               ctx->eErrorType = UNEXPECTED_MESSAGE_ERROR;\r
+\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello State Error [State:%d , ErrorCode : %d ]\n",(AkeState)ctx->eState,SAKEP_UNEXPECTED_MESSAGE_ERROR);\r
+\r
+               return SAKEP_UNEXPECTED_MESSAGE_ERROR;\r
+       }\r
+\r
+       unsigned char* pCurrent = pMessage;\r
+       //version\r
+       if(pCurrent[index] != 0x01)\r
+       {\r
+               ctx->eErrorType = UNSPPORTED_VERSION_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello Version Error [Version:%d , ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR);\r
+\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+= SAKEP_AKE_MSG_VERSION_LEN;\r
+       \r
+       \r
+       //data type\r
+       if(pCurrent[index] != 0x01 )\r
+       {\r
+               ctx->eErrorType = (ErrorType) pCurrent[index] ;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello data type Error [data Type:%d , ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR);\r
+       \r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+= SAKEP_AKE_MSG_VERSION_LEN+SAKEP_AKE_MSG_TIMESTAMP_LEN;\r
+\r
+       //payload en/decryption algorithm\r
+       if(pCurrent[index] != 0x00 )\r
+       {\r
+               ctx->eErrorType = UNSPPORTED_ENDECRYPTION_MODE;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,  "ParseClientHello payload en/decryption algorithm Error [payload en/decryption algorithm:%d , ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR);\r
+\r
+               return  SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+= SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;\r
+\r
+       //Payload length\r
+       ConvertUint8ToUint32(pCurrent+index,&nPayloadLen);\r
+       \r
+\r
+       index+= SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;\r
+\r
+       //UserID length\r
+       ConvertUint8ToUint32(pCurrent+index,&nUserIDLen);\r
+       \r
+       //previous Message \r
+       pPreMessage = (unsigned char*) malloc (sizeof(unsigned char) * (SAKEP_AKE_MSG_USERID_LENGTH_LEN+nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN ));\r
+       if(pPreMessage ==NULL)\r
+       {\r
+               ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR;                   \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello pPreMessage malloc Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       \r
+       memcpy(pPreMessage,pCurrent+index,SAKEP_AKE_MSG_USERID_LENGTH_LEN+nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);        \r
+       memcpy(pPreMessage+SAKEP_AKE_MSG_USERID_LENGTH_LEN+nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN, ctx->pPreHashMsg,SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN); \r
+       index+= SAKEP_AKE_MSG_USERID_LENGTH_LEN;\r
+\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "parser Client Hello PreHashMessage " ,pPreMessage, SAKEP_AKE_MSG_USERID_LENGTH_LEN+ nUserIDLen+ SAKEP_DLBP_PAK_PARMETER_SIZE+SAKEP_SHA1_HASH_SIZE);\r
+       //Mac Value(UserID)\r
+       pPeerMac = (unsigned char*) malloc(sizeof (unsigned char) * (nUserIDLen+1));\r
+\r
+       if (pPeerMac == NULL)\r
+       {\r
+               free(pPreMessage);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello pPeerMac malloc Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       memset(pPeerMac,0x00,(nUserIDLen+1));\r
+\r
+       memcpy(pPeerMac,pCurrent+index,nUserIDLen);\r
+       index+= nUserIDLen;\r
+\r
+\r
+       memcpy(pGx,pCurrent+index,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);\r
+\r
+       unsigned char pDecGx[SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN] = {0,};\r
+       DecryptParameterDataWithWB(pGx,pDecGx);\r
+       \r
+\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "parser Client Hello pGx " ,pGx, SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "parser Client Hello WB pGx " ,pDecGx, SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);\r
+\r
+       \r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "[ParseClientHello  ] pEncryptedGx : ", pGx,128 );\r
+\r
+       printf(" pPWd : %s \n",pPwd);\r
+       reValue = DecryptGx(pPwd,nPwdLen,pDecGx,128,pDecryptedGx,&nDecryptedGxLen);     \r
+       if (reValue != SAKEP_SUCCESS)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello DecryptGx  Error [ErrorCode : %d \n]",reValue);\r
+\r
+               return SAKEP_DECRYPT_GX_FAIL;\r
+       }\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "[ParseClientHello  ] pDecryptedGx : ", pDecryptedGx,nDecryptedGxLen );\r
+\r
+       \r
+       GetPrivatekeyY(pPriv);\r
+\r
+       SAKEP_GetAuthClient(pPriv,128,pDecryptedGx,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN,pSharedSecret,&nSharedSecretlen);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "[ParseClientHello - pPreviousMsgTemp]Server pSharedSecret : ", pSharedSecret,nSharedSecretlen );\r
+\r
+       \r
+       \r
+       index+= SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN;\r
+       \r
+\r
+       memcpy(pPayloadHash,pCurrent+index,SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN);\r
+       index+= SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN;\r
+\r
+       GetMyMacLen(&nMyMacLen);\r
+       pMyMac = (unsigned char*)malloc(nMyMacLen);\r
+       if (pMyMac == NULL)\r
+       {\r
+               free(pPreMessage);\r
+               free(pPeerMac);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello pMyMac malloc Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       \r
+       GetMac(pMyMac,nMyMacLen);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "[ParseClientHello - pPreviousMsgTemp]Server MACa(GetMac) : ", pMyMac,nMyMacLen );\r
+\r
+       \r
+       \r
+       pTempZMacHash = (unsigned char*) malloc (sizeof(unsigned char) * (nMyMacLen + nSharedSecretlen));\r
+       if(NULL == pTempZMacHash)\r
+       {\r
+               if(pPreMessage != NULL)\r
+               {\r
+                       free(pPreMessage);\r
+               }\r
+               \r
+               ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR;                   \r
+               free(pPeerMac);\r
+               free(pMyMac);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello pTempZMacHash malloc Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       \r
+       memcpy(pTempZMacHash,pMyMac,nMyMacLen);\r
+       memcpy(pTempZMacHash+nMyMacLen,pSharedSecret,nSharedSecretlen);\r
+       \r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParseClinetHello pMyMac Messsage" ,pMyMac, nMyMacLen);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "GenerateClientHello pSharedSecret Message" ,pSharedSecret, nSharedSecretlen);\r
+\r
+       CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_SHA1);\r
+       if(crt == NULL)\r
+       {\r
+               if(pTempZMacHash != NULL)\r
+               {\r
+                       free (pTempZMacHash);\r
+               }\r
+               \r
+               if(pPreMessage != NULL)\r
+               {\r
+                       free(pPreMessage);\r
+               }\r
+\r
+               ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR;                   \r
+               free(pPeerMac);\r
+               free(pMyMac);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }\r
+       crt->MD_init(crt);      \r
+       crt->MD_update(crt, pTempZMacHash,(nMyMacLen + nSharedSecretlen));      \r
+       crt->MD_final(crt, pZMacHash);\r
+       destroy_CryptoCoreContainer(crt);\r
+\r
+       if(pTempZMacHash != NULL)\r
+       {\r
+               free(pTempZMacHash);\r
+       }\r
+\r
+       //check ClientHello's Mac Value\r
+       if(0!=memcmp(pZMacHash,pPayloadHash,SAKEP_SHA1_HASH_SIZE))\r
+       {\r
+               ctx->eErrorType = INTEGRITY_ERROR;\r
+               free(pPreMessage);\r
+               free(pPeerMac);\r
+               free(pMyMac);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello Previous Hash message Error [ErrorCode : %d ]\n",SAKEP_MESSAGE_ERROR);\r
+\r
+               DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParseClinetHello Previous Hash Messsage" ,pZMacHash, 20);\r
+               DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "GenerateClientHello Hash Message" ,pPayloadHash, 20);\r
+\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       else\r
+       {\r
+               printf(" CleintHello's Hash Value same\n");\r
+       }\r
+       \r
+       \r
+       //integrity type \r
+       if(pCurrent[index] != 0x00)\r
+       {\r
+               ctx->eErrorType = INTEGRITY_ERROR;\r
+               free(pPreMessage);\r
+               free(pPeerMac);\r
+               free(pMyMac);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello Integrity Type Error [integrity type :%d , ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR);\r
+\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN;\r
+\r
+       //integrity Length\r
+       ConvertUint8ToUint32(pCurrent+index,&nIntegrityLen);\r
+       if(nIntegrityLen !=0)\r
+       {\r
+               ctx->eErrorType = INTEGRITY_LENGTH_ERROR;\r
+               free(pPreMessage);\r
+               free(pPeerMac);\r
+               free(pMyMac);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello Integrity Length Error [integrity lehgth :%d , ErrorCode : %d ]\n",nIntegrityLen,SAKEP_MESSAGE_ERROR);\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+\r
+       \r
+       //hash of  previous message ( MACb || g^x mod p)\r
+       //ClientHello에서 받은 메시지 hash value\r
+       \r
+       crt = create_CryptoCoreContainer(ID_SHA1);\r
+       if(crt == NULL)\r
+       {\r
+               if(pPreMessage != NULL)\r
+               {\r
+                       free (pPreMessage);\r
+               }\r
+               ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR;                   \r
+               free(pPeerMac);\r
+               free(pMyMac);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }\r
+       crt->MD_init(crt);      \r
+       crt->MD_update(crt, pPreMessage,(SAKEP_AKE_MSG_USERID_LENGTH_LEN+nUserIDLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN ));   \r
+       crt->MD_final(crt, ctx->pPreHashMsg);\r
+       destroy_CryptoCoreContainer(crt);\r
+               \r
+       //PRINT_BUFFER(" parserClientHello ctx->pPreHashMsg : ",ctx->pPreHashMsg, 20);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "ParseClientHello Hash Message" ,ctx->pPreHashMsg, 20);\r
+\r
+       if(pPreMessage != NULL)\r
+       {\r
+               free(pPreMessage);\r
+       }\r
+\r
+       //generator Sk`\r
+       \r
+       GetMyMacLen(&nMyMacLen);\r
+       GetMac(pMyMac,nMyMacLen);\r
+       GetPublicKeyY(pMyPublicKey);\r
+       GetPrivatekeyY(pMyPrivateY);\r
+       \r
+       \r
+\r
+       //PRINT_BUFFER("[ParseClientHello - pMyMac]Client MACb(GetMac) : ", pPeerMac, 6);\r
+       \r
+       SKPrimeTemp = (unsigned char*) malloc (sizeof(unsigned char) * (nUserIDLen+nMyMacLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN));\r
+       if (SKPrimeTemp == NULL)\r
+       {\r
+               free(pPeerMac);\r
+               free(pMyMac);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello SKPrimeTemp malloc Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       \r
+       //Generator sk'\r
+       memcpy(SKPrimeTemp,pPeerMac,nUserIDLen);        //MACa\r
+       memcpy(SKPrimeTemp+nUserIDLen,pMyMac,nMyMacLen);//MACb\r
+       memcpy(SKPrimeTemp+nUserIDLen+nMyMacLen,pDecryptedGx,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);//g^x\r
+       memcpy(SKPrimeTemp+nUserIDLen+nMyMacLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN,pMyPublicKey,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);//G^y\r
+       memcpy(SKPrimeTemp+nUserIDLen+nMyMacLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN,pSharedSecret,SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);//z = G^xy \r
+\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pPeerMac :" ,pPeerMac, nUserIDLen);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pMyMac :" ,pMyMac, nMyMacLen);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pGx :" ,pDecryptedGx, SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pMyPublicKey :" ,pMyPublicKey, SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "pSharedSecret :" ,pSharedSecret, SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);\r
+\r
+\r
+\r
+       free(pPeerMac);\r
+       free(pMyMac);\r
+\r
+       //hash of  previous message ( MACb || g^x mod p)\r
+       crt = create_CryptoCoreContainer(ID_SHA1);\r
+       if(crt == NULL)\r
+       {\r
+               if(SKPrimeTemp != NULL)\r
+               {\r
+                       free (SKPrimeTemp);\r
+               }\r
+               ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR;           \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }\r
+       crt->MD_init(crt);      \r
+       crt->MD_update(crt, SKPrimeTemp,nUserIDLen+nMyMacLen+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN+SAKEP_AKE_MSG_PAYLOAD_EN_DATA_LEN);    \r
+       crt->MD_final(crt, pSkPrime);\r
+       destroy_CryptoCoreContainer(crt);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "SKPrimeTemp :" ,SKPrimeTemp, SAKEP_SK_PRIME_KEY_SIZE);\r
+\r
+       \r
+       if(SKPrimeTemp != NULL)\r
+       {\r
+               free(SKPrimeTemp);\r
+       }\r
+       \r
+       //----------------------------------------- 다음 부터 수정 \r
+\r
+       //SetSKPrime(pSkPrime);\r
+       memcpy(ctx->pSKPrime,pSkPrime,SAKEP_SK_PRIME_KEY_SIZE);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "before  ApplyKeyTransform of SK Value :" ,pSKTemp, SAKEP_SK_PRIME_KEY_SIZE);\r
+\r
+       //Create SK     \r
+       memcpy(pSKHashTemp,pSkPrime,SAKEP_SK_PRIME_KEY_SIZE);\r
+       pSKHashTemp[SAKEP_SK_PRIME_KEY_SIZE]=0;         \r
+       \r
+       crt = create_CryptoCoreContainer(ID_SHA1);\r
+       if(crt == NULL)\r
+       {               \r
+               ctx->eErrorType = INVALID_CLIENT_HELLO_ERROR;   \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }\r
+       crt->MD_init(crt);      \r
+       crt->MD_update(crt, pSKHashTemp,21);    \r
+       crt->MD_final(crt, pSKTemp);\r
+       destroy_CryptoCoreContainer(crt);\r
+       \r
+       //0215 pSKTemp permitation ¼öÇà \r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "before  ApplyKeyTransform of SK Value :" ,pSKTemp, SAKEP_SK_PRIME_KEY_SIZE);\r
+       ApplyKeyTransform(pSKTemp,pSKTemp);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "After  ApplyKeyTransform of SK Value :" ,pSKTemp, SAKEP_SK_PRIME_KEY_SIZE);\r
+       memcpy(ctx->pSharedkey,pSKTemp,SAKEP_SHARED_KEY_SIZE);\r
+       PRINT_BUFFER("[ParseClientHello]  sk Client : ",ctx->pSharedkey, SAKEP_SHARED_KEY_SIZE);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__, "Client SK Value " ,ctx->pSharedkey, SAKEP_SHARED_KEY_SIZE);\r
+\r
+       ctx->eState = STATE_WAIT_SERVERACKHELLO;\r
+       \r
+       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello State  [State:%d  ]\n",(AkeState)ctx->eState);\r
+\r
+   return reValue;\r
+}\r
+\r
+\r
+SPC_INTERNAL int SAkepApi::GeneratorServerAck(Handle_CTX* ctx,unsigned char* pOutMsg,unsigned int* nOutLen)\r
+{\r
+       int reValue  = SAKEP_SUCCESS;\r
+       unsigned int index = 0;\r
+\r
+\r
+       if((ctx == NULL)|| (pOutMsg == NULL))\r
+       {       \r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerAck Input parameter Error [ErrorCode : %d ]\n",SAKEP_NULL_POINT_ERROR);\r
+\r
+                       return SAKEP_NULL_POINT_ERROR;\r
+       }\r
+       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerAck State  [State:%d  ]\n",ctx->eState);\r
+\r
+       if(ctx->eErrorType >= 0x81)\r
+       {\r
+               pOutMsg[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version\r
+               pOutMsg[index] =   ctx->eErrorType;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type        \r
+               memset(pOutMsg+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp  \r
+               pOutMsg[index] =NO_ENCRYPTION;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm       \r
+               ConvertUint32ToUint8(0,pOutMsg+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length\r
+\r
+               *nOutLen = index;\r
+               ctx->eState = STATE_ERROR;\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+\r
+       if(ctx->eState != STATE_WAIT_SERVERACKHELLO)\r
+       {\r
+               ctx->eErrorType =       UNEXPECTED_MESSAGE_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerAck State Error [State:%d , ErrorCode : %d ]\n",ctx->eState,SAKEP_UNEXPECTED_MESSAGE_ERROR);\r
+\r
+               return SAKEP_UNEXPECTED_MESSAGE_ERROR;\r
+       }\r
+\r
+       pOutMsg[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version\r
+       pOutMsg[index] =SERVER_ACKNOWLEDGEMENT;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type    \r
+       memset(pOutMsg+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp  \r
+       pOutMsg[index] =NO_ENCRYPTION;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm       \r
+       ConvertUint32ToUint8(SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN,pOutMsg+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length\r
+\r
+       unsigned char pServerAckMsg [SAKEP_MAC_KEY_SIZE];\r
+       unsigned char pServerAckMakeTempMsg[SAKEP_MAC_KEY_SIZE +1];\r
+       memcpy(pServerAckMakeTempMsg,ctx->pSKPrime,SAKEP_SK_PRIME_KEY_SIZE);\r
+       memset(pServerAckMakeTempMsg+SAKEP_SK_PRIME_KEY_SIZE,0x01,1);\r
+\r
+       CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_SHA1);\r
+       if(crt == NULL)\r
+       {       \r
+               ctx->eErrorType = INVALID_CLIENT_ACK_ERROR;             \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerAck CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }       \r
+       crt->MD_init(crt);      \r
+       crt->MD_update(crt, pServerAckMakeTempMsg,SAKEP_MAC_KEY_SIZE+1);        \r
+       crt->MD_final(crt, pServerAckMsg);\r
+       destroy_CryptoCoreContainer(crt);\r
+       \r
+       PRINT_BUFFER("pServerAckMsg: ", pServerAckMsg, 20);\r
+\r
+\r
+       memcpy(pOutMsg+index,pServerAckMsg,SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN); index+= SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN;//H(SK' || 0x01)\r
+       pOutMsg[index] =NO_INTEGRITY;index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN;//integrity type\r
+       memset(pOutMsg+index,0x00,SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN);index+=SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN;//integrity length\r
+\r
+    *nOutLen = index;\r
+       ctx->eState = STATE_WAIT_CLIENTACKHELLO;\r
+   return reValue;\r
+}\r
+\r
+\r
+\r
+SPC_INTERNAL int SAkepApi::ParserClientAck(Handle_CTX* ctx,unsigned char* pMessage,unsigned int nInLen)\r
+{\r
+       int reValue  = SAKEP_SUCCESS;\r
+       int index = 0;\r
+       unsigned int nPayloadLen = 0,nIntegrityLen=0;\r
+\r
+       \r
+       if((ctx == NULL)|| (pMessage == NULL) || (nInLen <=0 ))\r
+       {\r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck input parameter Error [ErrorCode : %d ]\n",SAKEP_INPUT_INVALID_ERROR);\r
+\r
+                       return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+\r
+       if(ctx->eState != STATE_WAIT_CLIENTACKHELLO)\r
+       {\r
+               ctx->eErrorType = UNEXPECTED_MESSAGE_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck State Error [State: %d, ErrorCode : %d ]\n",ctx->eState,SAKEP_UNEXPECTED_MESSAGE_ERROR);\r
+               return SAKEP_UNEXPECTED_MESSAGE_ERROR;\r
+       }\r
+\r
+       unsigned char* pCurrent = pMessage;\r
+       //version\r
+       if(pCurrent[index] != 0x01)\r
+       {\r
+               ctx->eErrorType = UNSPPORTED_VERSION_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck Version Error [Version: %d, ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR);\r
+\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+= SAKEP_AKE_MSG_VERSION_LEN;\r
+       \r
+       //data type\r
+       if(pCurrent[index] != CLIENT_ACKNOWLEDGEMENT )\r
+       {\r
+               ctx->eErrorType = (ErrorType) pCurrent[index] ;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck data type Error [data type: %d, ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR);\r
+       \r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+= SAKEP_AKE_MSG_VERSION_LEN+SAKEP_AKE_MSG_TIMESTAMP_LEN;\r
+\r
+       //payload en/decryption algorithm\r
+       if(pCurrent[index] != 0x00 )\r
+       {\r
+               ctx->eErrorType = UNSPPORTED_ENDECRYPTION_MODE;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,  "ParserClientAck payload en/decryption algorithm Error [payload en/decryption algorithm type: %d, ErrorCode : %d ]\n",pCurrent[index],SAKEP_MESSAGE_ERROR);\r
+\r
+               return  SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+= SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;\r
+\r
+       //Payload length\r
+       ConvertUint8ToUint32(pCurrent+index,&nPayloadLen);\r
+       if(nPayloadLen != SAKEP_AKE_MSG_ACK_SERVER_PAYLOAD_LEN)\r
+       {\r
+               ctx->eErrorType = INVALID_CLIENT_ACK_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck payload length Error [payload length: %d, ErrorCode : %d ]\n",nPayloadLen,SAKEP_MESSAGE_ERROR);\r
+\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+= SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;\r
+\r
+       //Payload Value\r
+       PRINT_BUFFER("ctx->pSKPrime: ", ctx->pSKPrime, SAKEP_AKE_MSG_PAYLOAD_HASH_DATA_LEN);\r
+       unsigned char pClientAckMsg [SAKEP_MAC_KEY_SIZE];\r
+       unsigned char pClientAckMakeTempMsg[SAKEP_MAC_KEY_SIZE +1];\r
+       memcpy(pClientAckMakeTempMsg,ctx->pSKPrime,SAKEP_SK_PRIME_KEY_SIZE);\r
+       memset(pClientAckMakeTempMsg+SAKEP_SK_PRIME_KEY_SIZE,0x02,1);\r
+\r
+       CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_SHA1);\r
+       if(crt == NULL)\r
+       {       \r
+               ctx->eErrorType = INVALID_CLIENT_ACK_ERROR;                     \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck create_CryptoCoreContainer Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }       \r
+       crt->MD_init(crt);      \r
+       crt->MD_update(crt, pClientAckMakeTempMsg,SAKEP_MAC_KEY_SIZE+1);        \r
+       crt->MD_final(crt, pClientAckMsg);\r
+       destroy_CryptoCoreContainer(crt);\r
+\r
+       if( 0 != memcmp(pClientAckMsg,(const char*)pCurrent+ index ,  SAKEP_MAC_KEY_SIZE)       )\r
+       {\r
+               ctx->eErrorType = INVALID_CLIENT_ACK_PAYLOAD_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck Mac key Error [ErrorCode : %d ]\n",SAKEP_MESSAGE_ERROR);\r
+\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+\r
+       index+= nPayloadLen;\r
+\r
+       //integrity type \r
+       if(pCurrent[index] != 0x00)\r
+       {\r
+               ctx->eErrorType = INTEGRITY_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck integrity Error [integrity type: %d, ErrorCode : %d ]\n",pCurrent[index] ,SAKEP_MESSAGE_ERROR);\r
+\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN;\r
+\r
+       //integrity Length\r
+       ConvertUint8ToUint32(pCurrent+index,&nIntegrityLen);\r
+       if(nIntegrityLen !=0)\r
+       {\r
+               ctx->eErrorType = INTEGRITY_LENGTH_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParserClientAck integrity length Error [integrity length: %d, ErrorCode : %d ]\n",nIntegrityLen ,SAKEP_MESSAGE_ERROR);\r
+\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       \r
+       \r
+       ctx->eState =  STATE_COMPLETED;;\r
+\r
+\r
+   return reValue;\r
+}\r
+\r
+\r
+\r
+//add Header 16 byte \r
+SPC_INTERNAL int SAkepApi::GeneratorRecordMsg ( Handle_CTX* ctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen)\r
+{\r
+       int reValue = SAKEP_SUCCESS;\r
+       int index = 0;\r
+       unsigned int nPaddingLen = 0;\r
+       unsigned int nEnTempLen = 0;\r
+       unsigned char *pEnTemp;\r
+       \r
+       if((ctx == NULL)||  (pPlainData == NULL)||(uPlainDataLen <=0 )||(pEncryptedData == NULL) || (uEncryptedDataLen ==NULL))\r
+       {\r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorRecordMsg input parameter Error [ErrorCode : %d ]\n",SAKEP_INPUT_INVALID_ERROR);\r
+\r
+                       return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+       \r
+       if(ctx->eErrorType >= 0x81)\r
+       {\r
+               printf(" ctx->eErrorType %d \n",ctx->eErrorType);\r
+               pEncryptedData[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version\r
+               pEncryptedData[index] =   ctx->eErrorType;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type \r
+               memset(pEncryptedData+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp   \r
+               pEncryptedData[index] =NO_ENCRYPTION;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm        \r
+               ConvertUint32ToUint8(0,pEncryptedData+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length\r
+\r
+               *uEncryptedDataLen = index;\r
+               ctx->eState = STATE_ERROR;\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       \r
+       pEncryptedData[index] = 0x01;index+=SAKEP_AKE_MSG_VERSION_LEN;//Version\r
+       //pEncryptedData[index] = ENCRYPTED_DATA ;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type \r
+       pEncryptedData[index] = ENCRYPTED_CREDENTAIL_DATA ;index+=SAKEP_AKE_MSG_DATATYPE_LEN;//Data Type        \r
+       memset(pEncryptedData+index, 0x00,SAKEP_AKE_MSG_TIMESTAMP_LEN);index+=SAKEP_AKE_MSG_TIMESTAMP_LEN;//TimeStamp   \r
+       pEncryptedData[index] = AES_E_CRT;index+=SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;//Payload encryption algorithm\r
+\r
+\r
+       \r
+       \r
+       ///////////////////////////////////////////////////////////////////////////////////////////\r
+       //encryption 수행 start\r
+       ///////////////////////////////////////////////////////////////////////////////////////////\r
+       pEnTemp = (unsigned char*) malloc (uPlainDataLen+SAKEP_AES_ECB_ADDED_PADDING_SIZE);\r
+       if(pEnTemp == NULL)\r
+       {               \r
+               ctx->eErrorType = RECORD_ENCRYPTED_ERROR;       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorRecordMsg pEnTemp memory allocate Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       //memcpy(pEnTemp,pEncryptedData+index,uPlainDataLen);////\r
+\r
+       CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_AES128);\r
+       if(crt == NULL)\r
+       {\r
+               if(pEnTemp!=NULL)\r
+                       free(pEnTemp);\r
+               ctx->eErrorType = RECORD_ENCRYPTED_ERROR;       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorRecordMsg create_CryptoCoreContainer memory allocate Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       //AES-ECB\r
+       //2015 ctx->pSharedkey ReverseKeyTransform      \r
+       PRINT_BUFFER("[0215] before ReverseKeyTransform  ctx->pSharedkey : ",ctx->pSharedkey, SAKEP_SHARED_KEY_SIZE);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "before ReverseKeyTransform SK:" ,ctx->pSharedkey, SAKEP_SHARED_KEY_SIZE);\r
+       unsigned char pTempSK[16] = {0,};\r
+       ReverseKeyTransform(ctx->pSharedkey,pTempSK);\r
+       PRINT_BUFFER("[0215]atter ReverseKeyTransform  ctx->pSharedkey : ",pTempSK, SAKEP_SHARED_KEY_SIZE);\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "after ReverseKeyTransform SK:" ,pTempSK, SAKEP_SHARED_KEY_SIZE);\r
+       crt->SE_init(crt, ID_ENC_ECB, ID_PKCS5, pTempSK, SAKEP_SHARED_KEY_SIZE, NULL);  \r
+       crt->SE_process(crt, pPlainData, uPlainDataLen, pEnTemp, &nEnTempLen);\r
+       crt->SE_final(crt, NULL, 0, pEnTemp + nEnTempLen, &nPaddingLen);\r
+       memset(pTempSK,0x00,16);\r
+       \r
+       nEnTempLen += nPaddingLen;\r
+\r
+       destroy_CryptoCoreContainer(crt);\r
+       ConvertUint32ToUint8(nEnTempLen,pEncryptedData+index);index+=SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;//Payload length\r
+       memcpy(pEncryptedData+index,pEnTemp,nEnTempLen);\r
+       \r
+\r
+       //index+= uPlainDataLen;\r
+       index+= nEnTempLen;\r
+       ///////////////////////////////////////////////////////////////////////////////////////////\r
+       //encryption 수행 End\r
+       ///////////////////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+       unsigned char pTempPayloadMac[SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN] = {0,};\r
+       unsigned int nMacOutMsgLen= 0;\r
+\r
+       //Mac key 생성 // by added sangsu . 130111 \r
+       unsigned char pMacKey[SAKEP_MAC_KEY_SIZE+1];\r
+       unsigned char pMacMakeTempMsg[SAKEP_MAC_KEY_SIZE +1];\r
+       memcpy(pMacMakeTempMsg,ctx->pSKPrime,SAKEP_SK_PRIME_KEY_SIZE);\r
+       memset(pMacMakeTempMsg+SAKEP_SK_PRIME_KEY_SIZE,0xFF,1);\r
+\r
+       crt = create_CryptoCoreContainer(ID_SHA1);\r
+       if(crt == NULL)\r
+       {\r
+               free(pEnTemp);\r
+               ctx->eErrorType = RECORD_ENCRYPTED_ERROR;       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorRecordMsg create_CryptoCoreContainer memory allocate Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       crt->MD_init(crt);      \r
+       crt->MD_update(crt, pMacMakeTempMsg,SAKEP_MAC_KEY_SIZE+1);      \r
+       crt->MD_final(crt, pMacKey);\r
+       destroy_CryptoCoreContainer(crt);\r
+\r
+\r
+       pEncryptedData[index] =0x01;index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN;//integrity type\r
+\r
+       ConvertUint32ToUint8(SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN,pEncryptedData+index);index+=SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN;//Payload length\r
+\r
+       crt = create_CryptoCoreContainer(ID_HSHA1);\r
+       if(crt == NULL)\r
+       {\r
+\r
+               if(NULL!=pEnTemp)\r
+                       free(pEnTemp);\r
+                       \r
+               ctx->eErrorType = RECORD_ENCRYPTED_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorRecordMsg create_CryptoCoreContainer memory allocate Error [ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       crt->MAC_getMAC(crt, pMacKey, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN, pEnTemp,nEnTempLen, pTempPayloadMac,&nMacOutMsgLen);\r
+       destroy_CryptoCoreContainer(crt);\r
+\r
+\r
+       memcpy(pEncryptedData+index,pTempPayloadMac,nMacOutMsgLen);\r
+\r
+//     PRINT_BUFFER("pTempPayloadMac : ",pTempPayloadMac, nMacOutMsgLen);\r
+       index+=nMacOutMsgLen;\r
+       *uEncryptedDataLen = index;\r
+\r
+\r
+       if(NULL!=pEnTemp)\r
+               free(pEnTemp);\r
+       \r
+       return reValue;\r
+       \r
+}\r
+SPC_INTERNAL int SAkepApi::ParseRecordMsg ( Handle_CTX* ctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen)\r
+{\r
+       int reValue = SAKEP_SUCCESS;\r
+       int index = 0;\r
+       unsigned int nIntegrityLen = 0;\r
+       unsigned int nPayloadLen = 0;\r
+\r
+       unsigned int nPaddingLen = 0;\r
+       unsigned char *pEnData;\r
+\r
+       if((ctx == NULL)|| (pEncryptedData == NULL) || (uEncryptedDataLen <= 0) ||(pPlainData == NULL)||(uPlainDataLen == NULL ))\r
+       {\r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg Input parameter  Error [ErrorCode : %d ]\n",SAKEP_INPUT_INVALID_ERROR);\r
+\r
+                       if(ctx == NULL)\r
+                               printf("ctx null\n");\r
+                       else if(pEncryptedData == NULL)\r
+                               printf("(pEncryptedData == NULL)");\r
+                       else if (uEncryptedDataLen <= 0) \r
+                               printf("(uEncryptedDataLen <= 0) ");\r
+                       else if (pPlainData == NULL)\r
+                               printf("(pPlainData == NULL)");\r
+                       else if(uPlainDataLen == NULL )\r
+                               printf("uPlainDataLen == NULL )");\r
+                       return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+       \r
+       if(pEncryptedData[index] != 0x01)\r
+       {               \r
+                       ctx->eErrorType = UNSPPORTED_VERSION_ERROR;\r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg Version  Error [Vesrion:%d , ErrorCode : %d ]\n",pEncryptedData[index],SAKEP_MESSAGE_ERROR);\r
+\r
+                       return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+= SAKEP_AKE_MSG_VERSION_LEN;\r
+       \r
+       //data type\r
+       if(pEncryptedData[index] != 0x11 )\r
+       {\r
+               if(pEncryptedData[index] > 0x81)\r
+               {\r
+                       ctx->eErrorType = (ErrorType)pEncryptedData[index];\r
+               }\r
+               else\r
+               {\r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg data type  Error [Vesrion:%d , ErrorCode : %d ]\n",pEncryptedData[index],UNEXPECTED_MESSAGE_ERROR);\r
+               \r
+                       ctx->eErrorType = UNEXPECTED_MESSAGE_ERROR;\r
+               }\r
+               return SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+= SAKEP_AKE_MSG_VERSION_LEN+SAKEP_AKE_MSG_TIMESTAMP_LEN;\r
+\r
+       //payload en/decryption algorithm\r
+       if(pEncryptedData[index] != 0x01 )\r
+       {\r
+               ctx->eErrorType = UNSPPORTED_ENDECRYPTION_MODE;\r
+\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,  "ParseRecordMsg payload en/decryption algorithm  Error [payload en/decryption algorithm:%d , ErrorCode : %d ]\n",pEncryptedData[index],SAKEP_MESSAGE_ERROR);\r
+\r
+               return  SAKEP_MESSAGE_ERROR;\r
+       }\r
+       index+= SAKEP_AKE_MSG_PAYLOAD_ALG_LEN;\r
+\r
+       //Payload length\r
+       ConvertUint8ToUint32(pEncryptedData+index,&nPayloadLen);\r
+\r
+       index+= SAKEP_AKE_MSG_PAYLOAD_LENGTH_LEN;\r
+\r
+       ///////////////////////////////////////////////////////////////////////////////////////////\r
+       //decryption 수행 start\r
+       ///////////////////////////////////////////////////////////////////////////////////////////\r
+\r
+       pEnData = (unsigned char*) malloc (nPayloadLen);\r
+       if(pEnData == NULL)\r
+       {\r
+               ctx->eErrorType = RECORD_DECRYPTED_ERROR;\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg pEnData memory allocate Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       memcpy(pEnData,pEncryptedData+index,nPayloadLen);\r
+       index+=nPayloadLen;\r
+       //integrity type \r
+       if(pEncryptedData[index] == 0x00)\r
+       {\r
+                       if(pEnData != NULL)\r
+                       {\r
+                               free(pEnData);\r
+                       }\r
+                       ctx->eErrorType = INTEGRITY_ERROR;\r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg integrity type Error [integrity type%d, ErrorCode : %d ]\n",pEncryptedData[index] ,SAKEP_MESSAGE_ERROR);\r
+\r
+                       return SAKEP_MESSAGE_ERROR;     \r
+               \r
+       }\r
+       else if(pEncryptedData[index] == 0x01 )\r
+       {\r
+               unsigned char pTmpPayloadMac[SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN] ={0,}; \r
+               unsigned int nMacOutMsgLen= 0;\r
+               unsigned char pInMsgPayloadMac[SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN] ={0,};\r
+               index+=SAKEP_AKE_MSG_INTEGRYITY_TYPE_LEN;\r
+\r
+               //integrity Length\r
+               ConvertUint8ToUint32(pEncryptedData+index,&nIntegrityLen);\r
+               index+=SAKEP_AKE_MSG_INTEGRYITY_LENGTH_LEN;\r
+               memcpy(pInMsgPayloadMac,pEncryptedData+index,nIntegrityLen); \r
+\r
+               //Mac key 생성 // by added sangsu . 130111 \r
+               unsigned char pMacKey[SAKEP_MAC_KEY_SIZE];\r
+               unsigned char pMacMakeTempMsg[SAKEP_MAC_KEY_SIZE +1];\r
+               memcpy(pMacMakeTempMsg,ctx->pSKPrime,SAKEP_SK_PRIME_KEY_SIZE);\r
+               memset(pMacMakeTempMsg+SAKEP_SK_PRIME_KEY_SIZE,0xFF,1);\r
+\r
+               //MAC key 생성\r
+               CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_SHA1);\r
+               if(crt == NULL)\r
+               {       \r
+                       if(pEnData != NULL)\r
+                               {\r
+                                       free(pEnData);\r
+                               }\r
+                       ctx->eErrorType = RECORD_DECRYPTED_ERROR;                       \r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainerError [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+                       return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+               }       \r
+               crt->MD_init(crt);      \r
+               crt->MD_update(crt, pMacMakeTempMsg,SAKEP_MAC_KEY_SIZE+1);      \r
+               crt->MD_final(crt, pMacKey);\r
+               destroy_CryptoCoreContainer(crt);\r
+\r
+               crt = create_CryptoCoreContainer(ID_HSHA1);\r
+               if(crt == NULL)\r
+               {       \r
+                       if(pEnData != NULL)\r
+                       {\r
+                               free(pEnData);\r
+                       }\r
+                       ctx->eErrorType = RECORD_DECRYPTED_ERROR;               \r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+                       return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+               }\r
+               crt->MAC_getMAC(crt, pMacKey, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN, pEnData,nPayloadLen, pTmpPayloadMac,&nMacOutMsgLen);\r
+               destroy_CryptoCoreContainer(crt);\r
+\r
+               if(0!=memcmp(pTmpPayloadMac,pInMsgPayloadMac,SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN))\r
+               {\r
+                       printf(" Integrity Fiail\n");\r
+                       if(pEnData != NULL)\r
+                       {\r
+                               free(pEnData);\r
+                       }\r
+                       ctx->eErrorType = RECORD_INVALID_INTEGRITY_ERROR;       \r
+                       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg Inegrity Invalid Error [ ErrorCode : %d ]\n",SAKEP_MESSAGE_ERROR);\r
+                       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParseRecordMsg Calcurated Mac Value " ,pTmpPayloadMac, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN);\r
+                       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "ParseRecordMsg Input Message Mac Value " ,pInMsgPayloadMac, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN);\r
+\r
+\r
+                       return SAKEP_MESSAGE_ERROR;\r
+               }\r
+\r
+\r
+       //      PRINT_BUFFER("pTmpPayloadMac : ",pTmpPayloadMac, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN);\r
+       //      PRINT_BUFFER("pInMsgPayloadMac : ",pInMsgPayloadMac, SAKEP_AKE_MSG_INTEGRYITY_MAC_LENGTH_LEN);\r
+\r
+\r
+\r
+       }\r
+\r
+       ///////////////////////////////////////////////////////////////////////////////////////////\r
+       //decryption 수행 start\r
+       ///////////////////////////////////////////////////////////////////////////////////////////\r
+       \r
+\r
+       //PRINT_BUFFER("ctx->pSharedkey : ",ctx->pSharedkey, 16);\r
+\r
+       CryptoCoreContainer *crt = create_CryptoCoreContainer(ID_AES128);\r
+       if(crt == NULL)\r
+       {\r
+               if(pEnData != NULL)\r
+                       free(pEnData);\r
+               ctx->eErrorType = RECORD_DECRYPTED_ERROR;                       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseRecordMsg create_CryptoCoreContainer Error [ ErrorCode : %d ]\n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;     \r
+       }       \r
+ //0215 repermition ¼öÇà       \r
+       unsigned char pTempSK[16] = {0,};\r
+       ReverseKeyTransform(ctx->pSharedkey,pTempSK);\r
+       crt->SE_init(crt, ID_DEC_ECB, ID_PKCS5, pTempSK, 16,NULL);      \r
+       crt->SE_process(crt, pEnData, nPayloadLen-1, pPlainData, uPlainDataLen);\r
+       crt->SE_final(crt, pEnData+nPayloadLen-1,1, pPlainData + (*uPlainDataLen), &nPaddingLen);\r
+       \r
+       memset(pTempSK,0x00,16);\r
+\r
+       (*uPlainDataLen) +=nPaddingLen;\r
+       destroy_CryptoCoreContainer(crt);\r
+\r
+       free(pEnData);\r
+       \r
+       ///////////////////////////////////////////////////////////////////////////////////////////\r
+       //decryption 수행 End\r
+       ///////////////////////////////////////////////////////////////////////////////////////////\r
+       ctx->eErrorType = SUCCESS;\r
+\r
+       return reValue;\r
+}\r
+\r
+\r
+SPC_INTERNAL int SAkepApi::SetPrivatekeyY(unsigned char* pPrivateKey)\r
+{\r
+       int reValue = 0;\r
+       memcpy(m_pPrivatekeyY,pPrivateKey,SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+       return reValue;\r
+}\r
+\r
+SPC_INTERNAL int SAkepApi::GetPrivatekeyY(unsigned char* pPrivatekey)\r
+{\r
+       int reValue = 0;\r
+       memcpy(pPrivatekey,m_pPrivatekeyY,SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+       return reValue;\r
+}\r
+\r
+SPC_INTERNAL int SAkepApi::SetMac(unsigned char* pMac,unsigned int nMacLen)\r
+{\r
+       int reValue = 0;\r
+       m_pMac = (unsigned char*) malloc (sizeof(unsigned char) * (nMacLen+1));\r
+       memset(m_pMac,0x00,(nMacLen+1));\r
+       if(m_pMac == NULL)\r
+       {       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"SetMac m_pMac memory allocate Error [ ErrorCode : %d ] \n",SAKEP_MEMROY_ALLOCATE_ERROR);\r
+\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+       }\r
+       memcpy(m_pMac,pMac,nMacLen);\r
+       m_nMyMacLen =nMacLen; //Ãß°¡ 0314\r
+       PRINT_BUFFER("[0217] Set Mac ",m_pMac,nMacLen);\r
+\r
+       return reValue;\r
+}\r
+SPC_INTERNAL int SAkepApi::GetMac(unsigned char* pMac,unsigned int nMacLen)\r
+{\r
+       int reValue = 0;\r
+       memcpy(pMac,m_pMac,nMacLen);\r
+       PRINT_BUFFER("[0217] GetMac Mac ",pMac,nMacLen);\r
+       return reValue;\r
+}\r
+\r
+SPC_INTERNAL int SAkepApi::GetMyMacLen(unsigned int* pMacLen)\r
+{\r
+       int reValue = 0;\r
+       *pMacLen = m_nMyMacLen;\r
+       return reValue;\r
+}\r
+\r
+SPC_INTERNAL int SAkepApi::SetPublicKeyY(unsigned char* pPublicKey)\r
+{\r
+       int reValue = 0;\r
+       memcpy(m_pPublickeyY,pPublicKey,SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+       return reValue ;\r
+}\r
+\r
+SPC_INTERNAL int SAkepApi::GetPublicKeyY(unsigned char* pPublicKey)\r
+{\r
+       int reValue = 0;\r
+\r
+       memcpy(pPublicKey,m_pPublickeyY,SAKEP_DLBP_PAK_PARMETER_SIZE);\r
+\r
+       return reValue;\r
+}\r
+\r
+SPC_INTERNAL  int SAkepApi::EncryptParameterDataWithWB(unsigned char* pIn,  unsigned char* pOut)\r
+{\r
+       unsigned int i;\r
+       \r
+       for (i = 0; i < 128; i += 16)\r
+       {\r
+               SWAPv2_Process(pParameterDataEncTbl, sizeof(pParameterDataEncTbl), pIn + i, pOut + i);\r
+       }\r
+\r
+       return SPC_SUCCESS;\r
+}\r
+\r
+SPC_INTERNAL  int SAkepApi::DecryptParameterDataWithWB(unsigned char* pIn,  unsigned char* pOut)\r
+{\r
+\r
+       unsigned int i = 0;\r
+\r
+       for (i = 0; i < 128; i += 16)\r
+       {\r
+               SWAPv2_Process(pParameterDataDecTbl, sizeof(pParameterDataDecTbl), pIn + i, pOut + i);\r
+       }\r
+       \r
+       return SPC_SUCCESS;\r
+}\r
+\r
+static void X931_Prng(unsigned char* Key, unsigned char *Si, unsigned int nByteLen, unsigned char* pData)\r
+{\r
+       int             i, offset; \r
+       int             numBlock, residueBlock;\r
+       unsigned char   *DT;\r
+       unsigned char   I[16] = {0};\r
+       unsigned char   Ri[16];\r
+       unsigned int    Date[4];\r
+       unsigned int    RoundKey[4 * (10 + 1)];                 //AES Round Key\r
+\r
+       time_t nowTime;\r
+\r
+       time(&nowTime);\r
+       Date[0] = (cc_u32)nowTime;\r
+       Date[1] = clock();\r
+       Date[2] = rand();\r
+       Date[3] = rand();\r
+\r
+       DT = (cc_u8*)Date;                                              //DT : Time | Clock | RND | RND\r
+\r
+       SDRM_rijndaelKeySetupDec(RoundKey, Key, 128);\r
+\r
+       memset(pData, 0x00, nByteLen); \r
+\r
+       numBlock = nByteLen / 16; \r
+       residueBlock = nByteLen - numBlock * 16; \r
+       offset = 0; \r
+\r
+       for(i = 0; i < numBlock; i++)\r
+       {\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, DT, I);\r
+               BlockXor(I, I, Si); \r
+\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, I, Ri);\r
+               BlockXor(I, I, Ri); \r
+\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, I, Si);\r
+               memcpy(pData + offset, Ri, 16); \r
+               offset += 16;           \r
+       }\r
+\r
+       if (residueBlock != 0)\r
+       {\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, DT, I);\r
+               BlockXor(I, I, Si); \r
+\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, I, Ri);\r
+               BlockXor(I, I, Ri); \r
+\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, I, Si);\r
+               memcpy(pData + offset, Ri, residueBlock); \r
+\r
+       }\r
+\r
+       BlockXor(Si, I, Si);\r
+\r
+       return;\r
+}\r
+\r
+int (*pAesEncrypt)(cc_u8 *cipherText, cc_u8 *plainText,        cc_u8 *UserKey);\r
+int (*pAesDecrypt)(cc_u8 *plainText, cc_u8 *cipherText,        cc_u8 *UserKey);\r
+\r
+\r
+#define PRNG_TRANSFORM_NR              2\r
+#define KEY_TRANSFORM_NR               3\r
+\r
+static void SimpleTransform_ProcNormal(SWAPv2_TBOX *pTBox, SWAPv2_PBOX *pPBox, SWAPv2_WORD_PBOX* pWPBox, SWAPv2_BIT_PBOX* pBPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian)\r
+{\r
+       unsigned int i, j;\r
+       unsigned int idx = 0;\r
+       unsigned int idx16;\r
+       unsigned char idx_wps[16];\r
+       unsigned char state[16];        //state\r
+       SWAPv2_WORD* itmdt[16];         //intermediate value\r
+\r
+\r
+       //3. Process initial permutation\r
+       for (i = 0; i < 2; i++)\r
+       {\r
+               for (j = 0; j < 8; j++)\r
+               {\r
+                       idx_wps[(pPBox[0][i][j]) & 0x0f] = state[(pPBox[0][i][j]) & 0x0f] = in[i * 8 + j];\r
+               }\r
+       }\r
+\r
+       //4. Process each rounds\r
+       do\r
+       {\r
+               idx16 = (idx << 4);\r
+\r
+               for (i = 0; i < 16; i++)\r
+               {\r
+                       itmdt[i] = (SWAPv2_WORD*)pTBox[idx16 + i][state[i] >> 4][state[i] &  0xf];\r
+               }\r
+               idx++;\r
+\r
+\r
+               for (i = 0; i < 4; i++)\r
+               {\r
+                       for (j = 0; j < 4; j++)\r
+                       {\r
+                               state[ pPBox[idx][i][j] & 0x0f ] = (*itmdt[ pPBox[idx][i][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][i][4] & 0x0f ] &  0xf) % 4 ]][j] ]\r
+                                                                                                ^ (*itmdt[ pPBox[idx][i][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][i][5] & 0x0f ] &  0xf) % 4 ]][j] ]\r
+                                                                                                ^ (*itmdt[ pPBox[idx][i][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][i][6] & 0x0f ] &  0xf) % 4 ]][j] ]\r
+                                                                                                ^ (*itmdt[ pPBox[idx][i][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][i][7] & 0x0f ] &  0xf) % 4 ]][j] ];\r
+                       }\r
+               }\r
+               \r
+               for (i = 0; i < 16; i++)\r
+               {\r
+                       idx_wps[i] = state[i];\r
+               }\r
+       } while(idx < (Nr - 1));\r
+\r
+       idx16 = (idx << 4);\r
+\r
+\r
+       //5. Process final round\r
+       for (i = 0; i < 16; i++)\r
+       {\r
+               out[pPBox[Nr][i / 8][i % 8] & 0x0f] = pTBox[idx16 + i][state[i] >> 4 ][ state[i] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[i] & 0x0f) % 4]][0]];\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+#define SIMPLE_AES_NR  2\r
+static void SimpleTransform(unsigned char* table, unsigned int nr, unsigned char* in, unsigned char* out)\r
+{\r
+       unsigned int TBoxSize;\r
+       unsigned int PBoxSize;\r
+       unsigned int WPBoxSize;\r
+\r
+       SWAPv2_TBOX *pTBox = NULL;\r
+       SWAPv2_PBOX *pPBox = NULL;\r
+       SWAPv2_WORD_PBOX* pWPBox = NULL;\r
+       SWAPv2_BIT_PBOX* pBPBox = NULL;\r
+\r
+       unsigned char isLittleEndian;\r
+\r
+       {\r
+               //get little endian flag\r
+               unsigned int EndianTestVector = 1;\r
+               isLittleEndian = *(unsigned char*)(&EndianTestVector);\r
+       }\r
+\r
+       //Get pointer of P-Box\r
+       pTBox = (SWAPv2_TBOX*)table;\r
+       TBoxSize = SWAPv2_T_TABLE_ROUND_SIZE * nr;\r
+\r
+       pPBox = (SWAPv2_PBOX*)((unsigned char*)pTBox + TBoxSize);\r
+       PBoxSize = SWAPv2_P_TABLE_ROUND_SIZE * (nr + 1);\r
+       WPBoxSize = SWAPv2_WP_TABLE_ROUND_SIZE * (nr);\r
+\r
+       pWPBox = (SWAPv2_WORD_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize);\r
+       pBPBox = (SWAPv2_BIT_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize + WPBoxSize);\r
+\r
+       SimpleTransform_ProcNormal(pTBox, pPBox, pWPBox, pBPBox, nr, in, out, isLittleEndian);\r
+       \r
+       return;\r
+}\r
+\r
+\r
+\r
+\r
+SPC_INTERNAL int SAkepApi::ApplyPasswordTransform(unsigned char* pPwd, unsigned int nPwdLen, unsigned char* pTransPwd, unsigned int* pTransPwdLen)\r
+{\r
+       unsigned int nOutLen = (nPwdLen / 16) * 16 + 16;\r
+       unsigned int i;\r
+       \r
+       if(pPwd == NULL || nPwdLen == 0 || pTransPwd == NULL)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ApplyPasswordTransform  input parameter Error [ ErrorCode : %d ] \n",SAKEP_INPUT_INVALID_ERROR);\r
+       \r
+               return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "before ApplyPasswordTransform Password:" ,pPwd, nPwdLen);\r
+\r
+       memcpy(pTransPwd, pPwd, nPwdLen);\r
+       memset(pTransPwd + nPwdLen, nOutLen - nPwdLen, nOutLen - nPwdLen);\r
+\r
+       for (i = 0; i < nOutLen; i += 16)\r
+       {\r
+               ApplyKeyTransform(pTransPwd + i, pTransPwd + i);\r
+       }\r
+\r
+       if (pTransPwdLen != NULL)\r
+       {\r
+               *pTransPwdLen = nOutLen;\r
+       }\r
+\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "before ApplyPasswordTransform Password:" ,pTransPwd, *pTransPwdLen);\r
+       DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ApplyPasswordTransform  OutLen:%d ",nOutLen);\r
+       return SPC_SUCCESS;\r
+}\r
+\r
+SPC_INTERNAL int SAkepApi::ReversePasswordTransform(unsigned char* pTransPwd, unsigned int nTransPwdLen, unsigned char* pPwd, unsigned int* pPwdLen)\r
+{\r
+       unsigned char tmp[16];\r
+       unsigned char pad[16];\r
+       unsigned int padLen;\r
+       unsigned int i = 0;\r
+\r
+       if ((nTransPwdLen % 16) != 0)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ReversePasswordTransform  input parameter Error [ ErrorCode : %d ] \n",SAKEP_INPUT_INVALID_ERROR);\r
+\r
+               return SAKEP_INVALID_PARAMETER;\r
+       }\r
+\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "before ReversePasswordTransform Password:" ,pTransPwd, nTransPwdLen);\r
+\r
+       for (i = 0; i < (nTransPwdLen - 16); i += 16)\r
+       {\r
+               ReverseKeyTransform(pTransPwd + i, pPwd + i);\r
+       }\r
+       \r
+       ReverseKeyTransform(pTransPwd + i, tmp);\r
+       \r
+       padLen = tmp[15];\r
+       \r
+       if (padLen > 16)\r
+       {\r
+               memset(pPwd, 0xAA, i);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ReversePasswordTransform  Padding Length is greater than 16 Error [padLen:%d, ErrorCode : %d ] \n",padLen,SAKEP_INVALID_TRANSFORMED_PADDING);\r
+\r
+               return SAKEP_INVALID_TRANSFORMED_PADDING;\r
+       }\r
+\r
+       memset(pad, padLen, padLen);\r
+       if (memcmp(tmp + 16 - padLen, pad, padLen) != 0)\r
+       {\r
+               memset(pPwd, 0xAA, i);\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ReversePasswordTransform  Padding  Error [ ErrorCode : %d ] \n",SAKEP_INVALID_TRANSFORMED_PADDING);\r
+               return SAKEP_INVALID_TRANSFORMED_PADDING;\r
+       }\r
+\r
+       memcpy(pPwd + i, tmp, 16 - padLen);\r
+       \r
+       if (pPwdLen != NULL)\r
+       {\r
+               *pPwdLen = nTransPwdLen - padLen;\r
+       }\r
+\r
+       DRMLOG_HexaBytes(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__, "before ReversePasswordTransform Password:" ,pPwd, *pPwdLen);\r
+\r
+       memset(tmp, 0xAA, 16);\r
+\r
+       return SPC_SUCCESS;\r
+}\r
+\r
+SPC_INTERNAL void SAkepApi::ApplyKeyTransform(unsigned char* in, unsigned char* out)\r
+{\r
+       const unsigned char KeyTransformArray[] = \r
+       {\r
+               0xAC, 0xE3, 0xE9, 0xC6, 0xC3, 0xBA, 0x8C, 0xB5, 0xEA, 0xC5, 0x8A, 0xE3, 0x64, 0x2B, 0x91, 0x39,\r
+               0x85, 0xCA, 0x32, 0x34, 0xF2, 0xE0, 0xBD, 0xDE, 0xCC, 0x33, 0x7C, 0x33, 0x0F, 0x40, 0x0E, 0xCD,\r
+               0x21, 0x6E, 0x51, 0xF3, 0x7E, 0x50, 0x31, 0xE2, 0x86, 0x06, 0x49, 0x4C, 0x17, 0x58, 0x8F, 0x54,\r
+               0x5B, 0x14, 0xC7, 0x1F, 0xBE, 0x74, 0xF1, 0x06, 0xBE, 0x83, 0xCC, 0xF1, 0xE0, 0xAF, 0xA1, 0x8D,\r
+               0xEE, 0xA1, 0xAD, 0xC0, 0xBA, 0x64, 0xF5, 0x12, 0x38, 0xFD, 0xB2, 0x09, 0x25, 0x6A, 0x9D, 0x74,\r
+               0x17, 0x58, 0x53, 0xC7, 0x92, 0xB7, 0xDD, 0xE9, 0x0D, 0x29, 0x66, 0xE8, 0xEB, 0xA4, 0x69, 0x4E,\r
+               0x1E, 0x51, 0xDB, 0x46, 0xE1, 0xA9, 0xAE, 0x84, 0x88, 0x71, 0x3E, 0x35, 0xB2, 0xFD, 0xE4, 0x9A,\r
+               0x6D, 0x22, 0xC5, 0x2B, 0x80, 0xF6, 0xCF, 0xBA, 0x36, 0x8A, 0xC5, 0x70, 0x75, 0x3A, 0x98, 0x21,\r
+               0xA0, 0xEF, 0x79, 0x5A, 0xB8, 0x24, 0xF7, 0x50, 0xD5, 0x26, 0x69, 0x3F, 0x4A, 0x05, 0x12, 0x94,\r
+               0xBC, 0xF3, 0xE8, 0xD7, 0xAA, 0x65, 0xE5, 0x03, 0x22, 0xCE, 0x81, 0x20, 0x9B, 0xD4, 0x3F, 0x68,\r
+               0xDE, 0x91, 0xFF, 0xA2, 0x00, 0xD6, 0x4F, 0x1A, 0x46, 0x0C, 0x43, 0x86, 0xE2, 0xAD, 0xE1, 0xCF,\r
+               0xC9, 0x86, 0xA6, 0xEC, 0xD8, 0x73, 0x97, 0x67, 0x25, 0xA8, 0xE7, 0x41, 0x79, 0x36, 0x08, 0xBD,\r
+               0x5E, 0x11, 0xDF, 0x02, 0x15, 0xCF, 0x5A, 0x16, 0x3D, 0xAD, 0xE2, 0x5C, 0x9A, 0xD5, 0x37, 0x61,\r
+               0x9A, 0xD5, 0xEB, 0xF2, 0xD6, 0xA3, 0x99, 0xB9, 0x70, 0xFE, 0xB1, 0x42, 0x0A, 0x45, 0x16, 0xD0,\r
+               0x3D, 0x72, 0xC0, 0x7E, 0xA4, 0xB5, 0xEB, 0xDD, 0xED, 0xA3, 0xEC, 0x82, 0x3A, 0x75, 0x44, 0xB2,\r
+               0x30, 0x7F, 0x58, 0xEB, 0x9E, 0x27, 0xD1, 0x75, 0xD1, 0x66, 0x29, 0x7B, 0x6F, 0x20, 0x59, 0xFA,\r
+               0xDB, 0x94, 0xE7, 0xBF, 0x52, 0x93, 0x1D, 0x0D, 0x9A, 0x43, 0x0C, 0x15, 0x21, 0x6E, 0x8D, 0x60,\r
+               0x76, 0x39, 0x0C, 0xF9, 0xBC, 0x34, 0xF3, 0x44, 0x4E, 0x0D, 0x42, 0x8F, 0xF1, 0xBE, 0xA8, 0x95,\r
+               0x3B, 0x74, 0x90, 0x28, 0xA6, 0xF5, 0xE9, 0x9F, 0xC1, 0x62, 0x2D, 0x6F, 0xDB, 0x94, 0x3B, 0x2C,\r
+               0x24, 0x6B, 0x49, 0xEE, 0xBF, 0x7C, 0xF0, 0x0F, 0x60, 0xFA, 0xB5, 0x56, 0x19, 0x56, 0x5F, 0x8A,\r
+               0x46, 0x09, 0x5E, 0x9B, 0xE4, 0xB1, 0xAB, 0x99, 0x82, 0x46, 0x09, 0x08, 0x44, 0x0B, 0xC2, 0x4A,\r
+               0xCE, 0x81, 0xFE, 0xB3, 0x8E, 0x26, 0xC1, 0x64, 0x89, 0x61, 0x2E, 0x24, 0xBB, 0xF4, 0x6C, 0x1B,\r
+               0x15, 0x5A, 0x13, 0x85, 0x23, 0xCD, 0x6C, 0x22, 0xB3, 0xD2, 0x9D, 0xAD, 0x1B, 0x54, 0x1F, 0xC8,\r
+               0xE0, 0xAF, 0x7D, 0x1E, 0x4F, 0x0A, 0x00, 0x89, 0x41, 0x6A, 0x25, 0xE7, 0x38, 0x77, 0x04, 0xF0,\r
+               0xFC, 0xB3, 0xEC, 0x93, 0x1F, 0x0F, 0x50, 0xDC, 0xC8, 0x73, 0x3C, 0x77, 0x4D, 0x02, 0x4A, 0xCB,\r
+               0x4A, 0x05, 0xCE, 0x07, 0xB4, 0xB4, 0xFB, 0xCC, 0x81, 0x60, 0x2F, 0x2D, 0x28, 0x67, 0x05, 0xE1,\r
+               0x95, 0xDA, 0x33, 0x25, 0x49, 0x5A, 0x06, 0xDF, 0x75, 0xAE, 0xE1, 0x17, 0xF6, 0xB9, 0xF0, 0xCA,\r
+               0x53, 0x1C, 0x47, 0x97, 0x02, 0x96, 0x4D, 0x58, 0x85, 0x20, 0x6F, 0x69, 0x04, 0x4B, 0xC6, 0x0E,\r
+               0xFE, 0xB1, 0xAC, 0xD1, 0xC2, 0xB2, 0x8D, 0xBC, 0xFA, 0xC1, 0x8E, 0xF7, 0x2E, 0x61, 0x55, 0xB7,\r
+               0x2C, 0x63, 0xC9, 0x66, 0x45, 0xCA, 0x0A, 0x43, 0x66, 0x8C, 0xC3, 0x26, 0x50, 0x1F, 0xD3, 0x4F,\r
+               0xCA, 0x85, 0xEE, 0xA7, 0xAC, 0x35, 0xE3, 0x55, 0x9F, 0x13, 0x5C, 0x40, 0x42, 0x0D, 0x92, 0x1C,\r
+               0xC0, 0x8F, 0x2E, 0x6D, 0x9C, 0x67, 0xD3, 0x37, 0x9C, 0x35, 0x7A, 0x65, 0x07, 0x48, 0x8E, 0x45,\r
+               0x55, 0x1A, 0x17, 0xC1, 0x03, 0x9E, 0x4C, 0x51, 0xA7, 0x96, 0xD9, 0xFD, 0xFF, 0xB0, 0x78, 0x4B,\r
+               0xDC, 0x93, 0xBF, 0xE0, 0x08, 0x56, 0x47, 0x92, 0x52, 0x48, 0x07, 0xD6, 0x5E, 0x11, 0x03, 0x91,\r
+               0xEA, 0xA5, 0xBD, 0xD4, 0xCF, 0x2A, 0x80, 0x29, 0x2F, 0x9F, 0xD0, 0x7C, 0xF0, 0xBF, 0xA0, 0x9C,\r
+               0x19, 0x56, 0x83, 0x19, 0xC6, 0xA2, 0x89, 0xA8, 0x2D, 0xA9, 0xE6, 0x48, 0x84, 0xCB, 0xE6, 0xAE,\r
+               0x9E, 0xD1, 0xFB, 0xE6, 0xCB, 0x3A, 0x84, 0x3D, 0x68, 0xFB, 0xB4, 0x5F, 0x4C, 0x03, 0x42, 0xC2,\r
+               0x7B, 0x34, 0x94, 0x6C, 0x3F, 0x5C, 0x70, 0xAF, 0x11, 0x6C, 0x23, 0xB1, 0xF8, 0xB7, 0x20, 0x14,\r
+               0xA3, 0xEC, 0x31, 0x11, 0xDF, 0x2B, 0x90, 0x38, 0xF7, 0x90, 0xDF, 0xAB, 0xE8, 0xA7, 0x21, 0x05,\r
+               0xE4, 0xAB, 0x6D, 0x0A, 0xFC, 0x30, 0xB3, 0x00, 0x39, 0xED, 0xA2, 0x18, 0xF9, 0xB6, 0x28, 0x1D,\r
+               0x37, 0x78, 0x00, 0xB4, 0xCC, 0x62, 0x83, 0x62, 0x2C, 0xB9, 0xF6, 0x59, 0x5F, 0x10, 0x0B, 0x98,\r
+               0x38, 0x77, 0xD8, 0x63, 0x70, 0x80, 0x3F, 0x3C, 0x23, 0xDE, 0x91, 0x31, 0x16, 0x59, 0x87, 0x5D,\r
+               0x1C, 0x53, 0x9B, 0x04, 0x27, 0xDD, 0x68, 0x36, 0x8A, 0x47, 0x08, 0x01, 0x30, 0x7F, 0x84, 0x78,\r
+               0x9F, 0xD0, 0xF3, 0xEF, 0x32, 0xC4, 0x7D, 0x3A, 0xE3, 0xD4, 0x9B, 0xFB, 0x7C, 0x33, 0x10, 0xA0,\r
+               0xC8, 0x87, 0xAE, 0xE5, 0xBD, 0x3C, 0xF2, 0x4D, 0x8C, 0x31, 0x7E, 0x71, 0x3D, 0x72, 0x1C, 0xED,\r
+               0x57, 0x18, 0x57, 0x83, 0x3B, 0x4C, 0x74, 0xBB, 0x6F, 0x9D, 0xD2, 0x3E, 0x98, 0xD7, 0x77, 0x23,\r
+               0x26, 0x69, 0x09, 0xAC, 0x7B, 0x48, 0x34, 0xFF, 0xB6, 0x82, 0xCD, 0xF8, 0xD9, 0x96, 0x7B, 0x6E,\r
+               0xC6, 0x89, 0x7E, 0x3B, 0x59, 0x5B, 0x16, 0xCE, 0x40, 0x7A, 0x35, 0xF6, 0x55, 0x1A, 0xCB, 0x52,\r
+               0xED, 0xA2, 0xE5, 0x8B, 0xE6, 0xF1, 0xA9, 0xDB, 0xF2, 0xC0, 0x8F, 0xFE, 0xA7, 0xE8, 0xFD, 0x96,\r
+               0x8B, 0xC4, 0xE2, 0xEA, 0xEE, 0x71, 0xA1, 0x53, 0x1D, 0x2D, 0x62, 0xFC, 0x4B, 0x04, 0x1A, 0x9D,\r
+               0xC4, 0x8B, 0x3E, 0x79, 0x3E, 0x54, 0x71, 0xA6, 0xB9, 0xE5, 0xAA, 0x90, 0x1D, 0x52, 0x4F, 0x9E,\r
+               0xDA, 0x95, 0xEF, 0xB6, 0xF5, 0xB8, 0xBA, 0x81, 0x76, 0x88, 0xC7, 0x32, 0x36, 0x79, 0xD4, 0x2E,\r
+               0x93, 0xDC, 0x63, 0x73, 0x2C, 0x15, 0x63, 0xF5, 0x97, 0x12, 0x5D, 0x49, 0x68, 0x27, 0x01, 0xA5,\r
+               0x22, 0x6D, 0x19, 0xB8, 0xF7, 0xF8, 0xB8, 0xC3, 0x4B, 0x5D, 0x12, 0xDA, 0xD3, 0x9C, 0xBB, 0xA4,\r
+               0xA5, 0xEA, 0x61, 0x47, 0x65, 0x99, 0x2A, 0x30, 0x07, 0x1E, 0x51, 0xD5, 0xE7, 0xA8, 0xF9, 0xD2,\r
+               0x1B, 0x54, 0xC3, 0x5B, 0x24, 0x95, 0x6B, 0x7D, 0xD9, 0x67, 0x28, 0x72, 0x2A, 0x65, 0x45, 0xA3,\r
+               0x86, 0xC9, 0x7A, 0x7F, 0x37, 0xDC, 0x78, 0x27, 0xAB, 0xD7, 0x98, 0xB0, 0xDD, 0x92, 0x6B, 0x7A,\r
+               0x14, 0x5B, 0x1B, 0x8C, 0x0B, 0x1E, 0x44, 0xD9, 0x14, 0x3C, 0x73, 0xE4, 0xC7, 0x88, 0xAA, 0xA1,\r
+               0x4E, 0x01, 0xDE, 0x13, 0x57, 0x8B, 0x18, 0x10, 0x7F, 0x99, 0xD6, 0x2A, 0x2F, 0x60, 0x5D, 0xBE,\r
+               0x13, 0x5C, 0x43, 0xD3, 0xB5, 0xBC, 0xFA, 0xC5, 0xD2, 0x40, 0x0F, 0x5E, 0xB6, 0xF9, 0xF4, 0x8E,\r
+               0x64, 0x2B, 0x4D, 0xAA, 0xB7, 0xFC, 0xF8, 0x87, 0x06, 0x0E, 0x41, 0xC4, 0x41, 0x0E, 0xDA, 0x57,\r
+               0xC2, 0x8D, 0x6E, 0x2F, 0xB0, 0xA4, 0xFF, 0xD8, 0x29, 0xE9, 0xA6, 0x0C, 0x76, 0x39, 0xD0, 0x6A,\r
+               0xEF, 0xA0, 0xA5, 0xC9, 0xF4, 0xB0, 0xBB, 0x88, 0xD7, 0x10, 0x5F, 0x0B, 0x7D, 0x32, 0x18, 0xA9,\r
+               0x87, 0xC8, 0x72, 0x76, 0x97, 0xAF, 0xD8, 0xF4, 0x6A, 0xCD, 0x82, 0x6B, 0x4E, 0x01, 0x02, 0x80,\r
+               0x85, 0xF3, 0x9D, 0xBF, 0x03, 0xEB, 0x75, 0x39, 0x89, 0xB7, 0xC1, 0xEF, 0xCD, 0xBB, 0x1F, 0x03,\r
+               0x5E, 0x28, 0x70, 0x89, 0xB2, 0x91, 0xC4, 0xF2, 0x33, 0x0C, 0x7A, 0xEE, 0x82, 0xF4, 0xC3, 0x90,\r
+               0xCC, 0xBA, 0x11, 0x7A, 0x35, 0xE9, 0x43, 0x0D, 0x71, 0x38, 0x4E, 0x98, 0xC1, 0xB7, 0x8F, 0x9F,\r
+               0x8D, 0xFB, 0x1D, 0x37, 0x8B, 0x4B, 0xFD, 0x11, 0xCD, 0xF5, 0x83, 0xE9, 0xB8, 0xCE, 0x51, 0x38,\r
+               0x4F, 0x39, 0x79, 0x91, 0x7D, 0x6D, 0x0B, 0xC1, 0x75, 0x78, 0x0E, 0xDC, 0x1F, 0x69, 0x7A, 0xB4,\r
+               0x47, 0x31, 0xF9, 0x19, 0x1B, 0x6A, 0x6D, 0xA0, 0x92, 0x94, 0xE2, 0xD7, 0xF2, 0x84, 0x95, 0xB6,\r
+               0x97, 0xE1, 0xDC, 0xEC, 0x54, 0xB6, 0x22, 0x33, 0xC7, 0xC2, 0xB4, 0xD4, 0x3A, 0x4C, 0x31, 0xDA,\r
+               0x5C, 0x2A, 0x30, 0xCB, 0x4A, 0x67, 0x3C, 0xFC, 0x5C, 0xE9, 0x9F, 0x64, 0x57, 0x21, 0xFE, 0x78,\r
+               0x1E, 0x68, 0x74, 0xCD, 0xF4, 0xC5, 0x82, 0xE0, 0x52, 0x9E, 0xE8, 0x1D, 0xD1, 0xA7, 0x8E, 0x8E,\r
+               0x19, 0x6F, 0x2C, 0x92, 0x52, 0xE6, 0x24, 0x65, 0x58, 0xA9, 0xDF, 0x20, 0x36, 0x40, 0xA1, 0x46,\r
+               0x5D, 0x2B, 0x38, 0xC2, 0x7F, 0x2D, 0x09, 0x83, 0x90, 0xA2, 0xD4, 0xE3, 0xCF, 0xB9, 0x5F, 0x41,\r
+               0x3E, 0x48, 0x27, 0xBE, 0x17, 0xFA, 0x61, 0x3C, 0x8A, 0x91, 0xE7, 0xCA, 0x12, 0x64, 0xE2, 0x21,\r
+               0x9E, 0xE8, 0x54, 0x6D, 0x16, 0xF2, 0x60, 0x35, 0xE3, 0x02, 0x74, 0x30, 0x08, 0x7E, 0x23, 0xFA,\r
+               0xA2, 0xD4, 0x96, 0x93, 0x84, 0x93, 0xF2, 0xC6, 0x22, 0x18, 0x6E, 0xEB, 0xE3, 0x95, 0x9C, 0xAE,\r
+               0xFE, 0x88, 0x03, 0x5A, 0xDE, 0x56, 0xA8, 0x59, 0xD5, 0xF0, 0x86, 0xF4, 0x46, 0x30, 0xF7, 0x60,\r
+               0x1C, 0x6A, 0x34, 0x8F, 0x83, 0xCB, 0xF5, 0x99, 0x7C, 0x69, 0x1F, 0xC4, 0x9F, 0xE9, 0x5A, 0x14,\r
+               0x62, 0x14, 0xB2, 0x77, 0x0E, 0x73, 0x78, 0xAC, 0xCA, 0x93, 0xE5, 0x88, 0x24, 0x52, 0xE0, 0x15,\r
+               0x96, 0xE0, 0xD4, 0xE5, 0xEB, 0x1C, 0x9D, 0x26, 0xA8, 0x27, 0x51, 0x5E, 0xB3, 0xC5, 0x99, 0xFB,\r
+               0x76, 0x00, 0xA3, 0x72, 0x33, 0xB9, 0x45, 0x5B, 0xA9, 0x37, 0x41, 0x4F, 0x4F, 0x39, 0x7F, 0xE1,\r
+               0x55, 0x23, 0xB8, 0x4A, 0x74, 0xE5, 0x02, 0x40, 0xA0, 0x26, 0x50, 0x57, 0x32, 0x44, 0xB1, 0x52,\r
+               0xAA, 0xDC, 0x16, 0x1B, 0xC5, 0x9F, 0xB3, 0x8B, 0xF0, 0x20, 0x56, 0x01, 0x49, 0x3F, 0x2F, 0xB7,\r
+               0xA1, 0xD7, 0xDE, 0xD8, 0x4C, 0x37, 0x3A, 0xAA, 0x8B, 0x81, 0xF7, 0xDB, 0x97, 0xE1, 0xDA, 0x9C,\r
+               0x66, 0x10, 0xA2, 0x63, 0x7A, 0x35, 0x0C, 0x9E, 0x28, 0x2F, 0x59, 0xD6, 0x40, 0x36, 0xA7, 0x36,\r
+               0x6F, 0x19, 0x2A, 0xE2, 0x89, 0x0B, 0xFF, 0x53, 0x6E, 0x5B, 0x2D, 0xE4, 0x76, 0x00, 0xA5, 0x02,\r
+               0x14, 0x62, 0xB4, 0x07, 0x58, 0x26, 0x2E, 0xAF, 0x94, 0xE2, 0x94, 0xA7, 0xEE, 0x98, 0x04, 0x3B,\r
+               0x92, 0xE4, 0xC4, 0xF1, 0xC7, 0xDF, 0xB1, 0xC9, 0xFF, 0x47, 0x31, 0x69, 0x42, 0x34, 0xE7, 0x74,\r
+               0xD2, 0xA4, 0xC0, 0xB5, 0xB6, 0x81, 0xC0, 0xE6, 0xF3, 0x06, 0x70, 0x24, 0x5D, 0x2B, 0x3E, 0xB2,\r
+               0xF0, 0x86, 0xD3, 0x84, 0x56, 0xF6, 0x20, 0x71, 0x43, 0x8A, 0xFC, 0x18, 0xA5, 0xD3, 0xC8, 0xBC,\r
+               0x65, 0x13, 0xEA, 0x28, 0xA7, 0x88, 0xD1, 0xFE, 0x83, 0x80, 0xF6, 0xD2, 0x66, 0x10, 0xA4, 0x13,\r
+               0xD9, 0xAF, 0x08, 0x76, 0xA8, 0x50, 0xDE, 0x29, 0x0F, 0xC9, 0xBF, 0x17, 0x01, 0x77, 0xAB, 0x7B,\r
+               0x8E, 0xF8, 0x55, 0x7C, 0x8C, 0x13, 0xFA, 0x4E, 0x0C, 0xEF, 0x99, 0x32, 0x98, 0xEE, 0x02, 0x4B,\r
+               0x9B, 0xED, 0x4C, 0x70, 0x0F, 0x7B, 0x79, 0xA5, 0x98, 0xA3, 0xD5, 0xEA, 0x0B, 0x7D, 0x6B, 0xB1,\r
+               0x4D, 0x3B, 0x39, 0xD3, 0xD6, 0xD6, 0xA0, 0xD1, 0x4A, 0x9B, 0xED, 0x00, 0x99, 0xEF, 0x0A, 0x42,\r
+               0x27, 0x51, 0xAE, 0x2E, 0x5E, 0x76, 0x28, 0xF9, 0xE4, 0x64, 0x12, 0x51, 0xBE, 0xC8, 0x01, 0x6E,\r
+               0x8A, 0xFC, 0x45, 0x68, 0x85, 0x9B, 0xF3, 0xCF, 0x97, 0xC4, 0xB2, 0x82, 0x0D, 0x7B, 0x3B, 0xE7,\r
+               0xE6, 0x90, 0x82, 0xC3, 0x70, 0xF5, 0x06, 0x54, 0x8C, 0xE7, 0x91, 0xBA, 0xB5, 0xC3, 0xC9, 0xAD,\r
+               0xFB, 0x8D, 0x1B, 0x47, 0x4B, 0x6F, 0x3D, 0xF5, 0x05, 0xFE, 0x88, 0x2A, 0x9C, 0xEA, 0x12, 0x5F,\r
+               0x15, 0x63, 0xBC, 0x0E, 0xE6, 0x84, 0x90, 0xB3, 0x20, 0x2E, 0x58, 0xDF, 0xD2, 0xA4, 0xC6, 0xC5,\r
+               0x0F, 0x79, 0x7D, 0xD5, 0xAB, 0x18, 0xDD, 0x62, 0xB3, 0x04, 0x72, 0x66, 0xBD, 0xCB, 0x49, 0x25,\r
+               0x16, 0x60, 0xF4, 0x45, 0xB4, 0xC1, 0xC2, 0xA4, 0xD7, 0xC6, 0xB0, 0xC0, 0x25, 0x53, 0xE8, 0x1C,\r
+               0x6B, 0x1D, 0x3A, 0xF6, 0x6E, 0x24, 0x18, 0x9B, 0xDD, 0xF1, 0x87, 0xFD, 0x1E, 0x68, 0x72, 0xBD,\r
+               0xEC, 0x9A, 0x42, 0x09, 0xBC, 0x41, 0xCA, 0x2C, 0x5B, 0x8F, 0xF9, 0x05, 0x53, 0x25, 0xEE, 0x6C,\r
+               0x05, 0x73, 0xBD, 0x1F, 0x5A, 0x66, 0x2C, 0xED, 0x1A, 0x9D, 0xEB, 0x56, 0xCC, 0xBA, 0x17, 0x0A,\r
+               0x35, 0x43, 0xEF, 0x7D, 0x50, 0xA6, 0x26, 0x27, 0x06, 0xD8, 0xAE, 0x0F, 0xEA, 0x9C, 0x14, 0x2F,\r
+               0xB6, 0xC0, 0x87, 0x96, 0x6C, 0x64, 0x1A, 0xD9, 0xC2, 0x92, 0xE4, 0x81, 0xAC, 0xDA, 0x40, 0x3D,\r
+               0x1D, 0x6B, 0x3C, 0x86, 0xDA, 0x46, 0xAC, 0x4D, 0x8D, 0xF7, 0x81, 0xAB, 0xBF, 0xC9, 0x09, 0x67,\r
+               0xE0, 0x96, 0xD2, 0x95, 0x05, 0xBB, 0x73, 0x6F, 0x78, 0x29, 0x5F, 0x80, 0x71, 0x07, 0xFD, 0x5D,\r
+               0xAB, 0xDD, 0x1E, 0x12, 0xC3, 0xCF, 0xB5, 0xDD, 0x4E, 0xDB, 0xAD, 0x44, 0xFF, 0x89, 0x0D, 0x23,\r
+               0x13, 0x65, 0xEC, 0x58, 0x7E, 0x25, 0x08, 0x8A, 0x15, 0xFA, 0x8C, 0x3E, 0x22, 0x54, 0xB0, 0x43,\r
+               0x3B, 0x4D, 0x3F, 0xA3, 0x87, 0xDB, 0xF1, 0x8D, 0xE1, 0x34, 0x42, 0x04, 0xF6, 0x80, 0x85, 0xA2,\r
+               0x48, 0x3E, 0x21, 0xCE, 0x8E, 0x53, 0xF8, 0x0C, 0x6C, 0x6D, 0x1B, 0xD0, 0xAE, 0xD8, 0x00, 0x7F,\r
+               0x29, 0x5F, 0x7E, 0xF0, 0xFD, 0x4D, 0x8B, 0x61, 0x10, 0xAA, 0xDC, 0x6B, 0x55, 0x23, 0xBE, 0x3A,\r
+               0x6A, 0x1C, 0x32, 0xFF, 0x3C, 0x61, 0x4A, 0x8C, 0x19, 0xBB, 0xCD, 0x73, 0x1A, 0x6C, 0x62, 0xA9,\r
+               0x5B, 0x2D, 0x68, 0x94, 0x15, 0xBA, 0x63, 0x7E, 0x86, 0xD0, 0xA6, 0x87, 0xEC, 0x9A, 0x44, 0x79,\r
+               0xD7, 0xA1, 0xD8, 0xA8, 0xB1, 0xD9, 0xC7, 0xB9, 0x07, 0xC8, 0xBE, 0x1E, 0xD9, 0xAF, 0x0E, 0x06,\r
+               0x17, 0x61, 0xFC, 0x4C, 0xCB, 0x4F, 0xBD, 0x55, 0x29, 0x3F, 0x49, 0xC7, 0x5C, 0x2A, 0x36, 0xBB,\r
+               0xBC, 0xCA, 0x47, 0x5C, 0xCE, 0x57, 0xB8, 0x48, 0xBF, 0x45, 0x33, 0x2B, 0x72, 0x04, 0xB5, 0x16,\r
+               0x7F, 0x09, 0x2B, 0xF3, 0x0A, 0x63, 0x7C, 0xB8, 0x9E, 0xD5, 0xA3, 0x9A, 0x21, 0x57, 0xF8, 0x08,\r
+               0x0D, 0x7B, 0x3D, 0x97, 0xAD, 0x48, 0xDB, 0x34, 0xCC, 0xE5, 0x93, 0xF8, 0x7C, 0x0A, 0x65, 0xC8,\r
+               0x37, 0x41, 0xAF, 0x3F, 0xA0, 0xD0, 0xD6, 0xA1, 0xD1, 0xB0, 0xC6, 0xB0, 0xB9, 0xCF, 0x59, 0x31,\r
+               0x11, 0x67, 0xAC, 0x1A, 0x30, 0xF1, 0x46, 0x10, 0x9A, 0x95, 0xE3, 0xDE, 0xF9, 0x8F, 0x5D, 0x75,\r
+               0x03, 0x75, 0xED, 0x49, 0x2C, 0x60, 0x5A, 0x9D, 0xB7, 0x44, 0x32, 0x22, 0x11, 0x67, 0xAA, 0x6A,\r
+               0xA9, 0xDF, 0x5E, 0x50, 0x4E, 0x77, 0x38, 0xE8, 0x69, 0x3D, 0x4B, 0x85, 0xD3, 0xA5, 0xCE, 0xCC,\r
+               0x71, 0x07, 0xFB, 0x2D, 0x59, 0x2E, 0x2F, 0xA6, 0x80, 0xA6, 0xD0, 0xF7, 0x77, 0x01, 0xAD, 0x0B,\r
+               0xE6, 0x87, 0xAC, 0x0F, 0xA3, 0xEF, 0xC2, 0x68, 0x6E, 0xBB, 0xDA, 0xF1, 0xA5, 0xC4, 0xBF, 0x3E,\r
+               0x68, 0x09, 0x5C, 0x71, 0x51, 0xD9, 0x30, 0xAC, 0x1A, 0x7D, 0x1C, 0x43, 0xEE, 0x8F, 0x73, 0xB9,\r
+               0xA6, 0xC7, 0xA8, 0x4B, 0x8F, 0x2C, 0xEE, 0x87, 0xE7, 0xA2, 0xC3, 0x61, 0x13, 0x72, 0x9D, 0xAA,\r
+               0xB5, 0xD4, 0xE1, 0x11, 0xEA, 0x63, 0x8B, 0xAD, 0xC5, 0x14, 0x75, 0xF5, 0xB8, 0xD9, 0x26, 0xBA,\r
+               0xF3, 0x92, 0xB5, 0x03, 0xA0, 0xA7, 0xC1, 0x23, 0x07, 0x28, 0x49, 0x0B, 0x3B, 0x5A, 0x4E, 0x51,\r
+               0xD5, 0xB4, 0xB6, 0x26, 0xE5, 0xBB, 0x84, 0x7A, 0xC7, 0x22, 0x43, 0xC1, 0x0B, 0x6A, 0x1C, 0x33,\r
+               0x4A, 0x2B, 0x4F, 0x40, 0xF7, 0xFA, 0x96, 0x29, 0xE0, 0xC4, 0xA5, 0x00, 0xE2, 0x83, 0xE3, 0x25,\r
+               0x07, 0x66, 0xD3, 0x91, 0x89, 0x7C, 0xE8, 0xD1, 0x85, 0x16, 0x77, 0xB7, 0x65, 0x04, 0x9B, 0xDA,\r
+               0x3C, 0x5D, 0x49, 0x30, 0xBE, 0x76, 0xDF, 0xEC, 0x60, 0xCC, 0xAD, 0x88, 0x18, 0x79, 0x55, 0x69,\r
+               0xA4, 0xC5, 0xE8, 0x09, 0x7C, 0x12, 0x1D, 0x4A, 0xB9, 0xD3, 0xB2, 0x4E, 0x01, 0x60, 0xDC, 0xF9,\r
+               0xCB, 0xAA, 0x67, 0xE9, 0x56, 0x81, 0x37, 0xF3, 0x25, 0x9E, 0xFF, 0x9F, 0x1B, 0x7A, 0x1D, 0x22,\r
+               0x85, 0xE4, 0xB3, 0x73, 0x86, 0xA4, 0xE7, 0x06, 0xCE, 0x33, 0x52, 0xD9, 0xF5, 0x94, 0xBA, 0x6B,\r
+               0xAC, 0xCD, 0x68, 0x81, 0x9F, 0x2D, 0xFE, 0x96, 0x54, 0x08, 0x69, 0x78, 0xE8, 0x89, 0x23, 0xEF,\r
+               0x14, 0x75, 0x9A, 0xCB, 0xBC, 0x36, 0xDD, 0xAE, 0x3A, 0xFD, 0x9C, 0xE3, 0x84, 0xE5, 0xE4, 0x44,\r
+               0xA7, 0xC6, 0xA0, 0x42, 0x1C, 0x45, 0x7D, 0x7D, 0xD7, 0x26, 0x47, 0xD5, 0x29, 0x48, 0x0F, 0x02,\r
+               0x80, 0xE1, 0xAB, 0x6E, 0xE3, 0xEB, 0x82, 0x2C, 0x77, 0xAE, 0xCF, 0xFD, 0x43, 0x22, 0x98, 0xFF,\r
+               0x6E, 0x0F, 0x0C, 0x27, 0xDE, 0x21, 0xBF, 0xDB, 0x8F, 0x21, 0x40, 0x8A, 0x7F, 0x1E, 0x5A, 0x01,\r
+               0xCA, 0xAB, 0x6F, 0xE0, 0x45, 0xC8, 0x24, 0xA9, 0xD6, 0x36, 0x57, 0xC4, 0xA7, 0xC6, 0xFF, 0x7C,\r
+               0x08, 0x69, 0x0B, 0x46, 0x3C, 0x16, 0x5D, 0x0E, 0xC1, 0x54, 0x35, 0xB1, 0x0D, 0x6C, 0x4C, 0x65,\r
+               0xE0, 0x81, 0xFC, 0x59, 0xED, 0x3B, 0x8C, 0xF2, 0x50, 0x48, 0x29, 0x3C, 0x1F, 0x7E, 0x0D, 0x36,\r
+               0xA0, 0xC1, 0xF8, 0x1D, 0xC8, 0x70, 0xA9, 0x9C, 0x71, 0xD8, 0xB9, 0x8D, 0x39, 0x58, 0x0E, 0x13,\r
+               0x65, 0x04, 0xC4, 0xE4, 0x9D, 0x6D, 0xFC, 0xD4, 0xE9, 0xD5, 0xB4, 0x18, 0x03, 0x62, 0x9C, 0xBB,\r
+               0x38, 0x59, 0x59, 0x24, 0xAD, 0x3F, 0xCC, 0xB6, 0xC2, 0x72, 0x13, 0x94, 0x71, 0x10, 0x8A, 0xDF,\r
+               0x6B, 0x0A, 0x14, 0x3A, 0x3D, 0x1E, 0x5C, 0x07, 0xF6, 0xB6, 0xD7, 0x64, 0xB2, 0xD3, 0xE6, 0x70,\r
+               0x45, 0x24, 0x97, 0x97, 0x47, 0x88, 0x26, 0xEB, 0xEE, 0xB3, 0xD2, 0x79, 0x19, 0x78, 0x5D, 0x60,\r
+               0xC0, 0xA1, 0xAF, 0x2A, 0xB0, 0xA6, 0xD1, 0x32, 0x78, 0xC9, 0xA8, 0x95, 0xD9, 0xB8, 0x79, 0x84,\r
+               0xF5, 0x94, 0xE5, 0x55, 0xA8, 0x27, 0xC9, 0xAB, 0x1B, 0x6D, 0x0C, 0x52, 0x55, 0x34, 0xC9, 0xB8,\r
+               0x03, 0x62, 0xC3, 0x85, 0xC3, 0xB8, 0xA2, 0x5F, 0xC0, 0x44, 0x25, 0xA0, 0x64, 0x05, 0x93, 0xD3,\r
+               0x4C, 0x2D, 0x1F, 0x16, 0xD2, 0xB1, 0xB3, 0x47, 0xEC, 0x85, 0xE4, 0x4D, 0x27, 0x46, 0xDF, 0xDC,\r
+               0xB7, 0xD6, 0xA1, 0x53, 0x15, 0xCD, 0x74, 0xFC, 0xF2, 0xF6, 0x97, 0x20, 0x46, 0x27, 0x80, 0xE2,\r
+               0xEF, 0x8E, 0x24, 0x8E, 0x4C, 0x40, 0x2D, 0x28, 0x7A, 0xFF, 0x9E, 0xA1, 0x35, 0x54, 0x9E, 0x8F,\r
+               0x3B, 0x5A, 0x11, 0x6F, 0x82, 0xB4, 0xE3, 0x12, 0x84, 0x06, 0x67, 0xA6, 0x1D, 0x7C, 0x4D, 0x74,\r
+               0x86, 0xE7, 0xFB, 0x38, 0x11, 0xDD, 0x70, 0xE8, 0x6A, 0xFB, 0x9A, 0xB5, 0x12, 0x73, 0x95, 0xA3,\r
+               0x5F, 0x3E, 0x56, 0x4C, 0x88, 0x74, 0xE9, 0xD8, 0xF7, 0xA6, 0xC7, 0x75, 0xF0, 0x91, 0xA2, 0x76,\r
+               0xFA, 0x9B, 0x3D, 0x82, 0x60, 0x83, 0x01, 0xC7, 0x32, 0xFC, 0x9D, 0xEA, 0xAC, 0xCD, 0x37, 0xBF,\r
+               0x11, 0x70, 0x82, 0xD6, 0x7A, 0x42, 0x1B, 0x1C, 0x53, 0x6E, 0x0F, 0x19, 0x90, 0xF1, 0xF5, 0x41,\r
+               0x0B, 0x6A, 0x43, 0x0D, 0xE9, 0x2B, 0x88, 0xE6, 0x5B, 0x6F, 0x0E, 0x10, 0x30, 0x51, 0x86, 0x92,\r
+               0xD6, 0xB7, 0xFE, 0x6D, 0xDA, 0x31, 0xBB, 0xCF, 0x8C, 0x07, 0x66, 0xAF, 0x53, 0x32, 0x99, 0xEE,\r
+               0x2F, 0x4E, 0x00, 0x6A, 0xD1, 0xF9, 0xB0, 0x0C, 0x47, 0x2A, 0x4B, 0x49, 0x17, 0x76, 0x8D, 0xBE,\r
+               0xC8, 0xA9, 0x2F, 0xA2, 0xE6, 0xF3, 0x87, 0x31, 0x64, 0x8C, 0xED, 0xCC, 0x10, 0x71, 0xD5, 0xE1,\r
+               0x4E, 0x2F, 0x5F, 0x54, 0x91, 0xFD, 0xF0, 0x48, 0xC6, 0x32, 0x53, 0xD0, 0x52, 0x33, 0x91, 0xE7,\r
+               0x23, 0x42, 0x90, 0xF6, 0xBA, 0x66, 0xDB, 0xF8, 0x17, 0x2C, 0x4D, 0x1F, 0x99, 0xF8, 0x7D, 0xC0,\r
+               0xEB, 0x8A, 0x34, 0x9A, 0xEC, 0x33, 0x8D, 0xFB, 0xCB, 0x63, 0x02, 0x8C, 0x49, 0x28, 0x58, 0x35,\r
+               0x06, 0x67, 0xDB, 0x98, 0x00, 0xD4, 0x61, 0xF0, 0xCC, 0x05, 0x64, 0xED, 0x41, 0x20, 0xD8, 0xBD,\r
+               0xA1, 0xC0, 0xF0, 0x14, 0x8D, 0x6C, 0xEC, 0xC5, 0xEA, 0xF3, 0x92, 0x3D, 0x83, 0xE2, 0xBC, 0x1B,\r
+               0xD8, 0xB9, 0x2E, 0xB3, 0x40, 0xD0, 0x21, 0xB4, 0x48, 0x4D, 0x2C, 0x21, 0xC2, 0xA3, 0xB0, 0x56,\r
+               0x9B, 0xFA, 0x62, 0xBC, 0x74, 0x92, 0x15, 0xC2, 0x30, 0xCA, 0xAB, 0xDE, 0x50, 0x31, 0xD1, 0xA5,\r
+               0xD4, 0xB5, 0xBE, 0x2F, 0xCF, 0x28, 0xAE, 0xC3, 0x4A, 0x7B, 0x1A, 0x15, 0x8B, 0xEA, 0x3C, 0x93,\r
+               0x12, 0x73, 0xCA, 0x9D, 0xDB, 0x39, 0xBA, 0xC6, 0xDA, 0x77, 0x16, 0x89, 0x95, 0xF4, 0xED, 0x5C,\r
+               0x81, 0xE0, 0xA3, 0x67, 0x97, 0xAD, 0xF6, 0x1E, 0xB2, 0xF4, 0x95, 0x62, 0x80, 0xE1, 0xF4, 0x50,\r
+               0x18, 0x79, 0x0A, 0x57, 0xB1, 0xAE, 0xD0, 0x3B, 0xF1, 0xD0, 0xB1, 0x05, 0xD7, 0xB6, 0xA9, 0x5A,\r
+               0x7F, 0x1E, 0x05, 0x3F, 0xF8, 0x22, 0x99, 0xFE, 0x29, 0xDF, 0xBE, 0xD2, 0x6B, 0x0A, 0x4B, 0x04,\r
+               0xBC, 0xDD, 0x69, 0x90, 0xF2, 0xE2, 0x93, 0x34, 0x57, 0x2E, 0x4F, 0x5D, 0xFE, 0x9F, 0x72, 0xA8,\r
+               0x44, 0x25, 0x9F, 0x9E, 0x7E, 0x52, 0x1F, 0x08, 0x20, 0xCE, 0xAF, 0xCA, 0xDC, 0xBD, 0x61, 0x99,\r
+               0x5B, 0x3A, 0x46, 0x58, 0x3F, 0x5E, 0x5E, 0x45, 0x7E, 0xBF, 0xDE, 0xE5, 0x9C, 0xFD, 0x65, 0xDD,\r
+               0xF7, 0x96, 0xA5, 0x17, 0x9A, 0x35, 0xFB, 0x8B, 0x87, 0x20, 0x41, 0x83, 0x1A, 0x7B, 0x15, 0x2B,\r
+               0x6F, 0x0E, 0x04, 0x2E, 0x23, 0xCF, 0x42, 0xC8, 0xAA, 0xF1, 0x90, 0x7F, 0x61, 0x00, 0x8B, 0xCE,\r
+               0x59, 0x38, 0x06, 0x1A, 0x57, 0x89, 0x36, 0xFA, 0x94, 0x02, 0x63, 0xB2, 0x68, 0x09, 0x03, 0x4F,\r
+               0x8E, 0xEF, 0x7B, 0xB0, 0xF9, 0x2A, 0x98, 0xF7, 0x96, 0x34, 0x55, 0x86, 0xAF, 0xCE, 0x7F, 0xF4,\r
+               0x50, 0x31, 0x8E, 0x9B, 0x58, 0x51, 0x39, 0x2D, 0x3E, 0xBD, 0xDC, 0xA7, 0xA4, 0xC5, 0xB7, 0x37,\r
+               0x2B, 0x4A, 0x10, 0x7E, 0x5E, 0x01, 0x3F, 0x7B, 0x44, 0x0C, 0x6D, 0x6C, 0x5B, 0x3A, 0x19, 0x66,\r
+               0x56, 0x37, 0xDE, 0xCD, 0x4F, 0x08, 0x2E, 0x63, 0x18, 0x4B, 0x2A, 0x77, 0x78, 0x19, 0x02, 0x5E,\r
+               0xAA, 0xCB, 0x38, 0xD7, 0x5F, 0x09, 0x3E, 0x72, 0xBD, 0x93, 0xF2, 0x0A, 0x98, 0xF9, 0x75, 0xC9,\r
+               0x3D, 0x5C, 0x41, 0x39, 0xEB, 0x6B, 0x8A, 0xA4, 0xD2, 0x76, 0x17, 0x80, 0x6C, 0x0D, 0x13, 0x5B,\r
+               0x2C, 0xDB, 0xAD, 0x0D, 0x00, 0x5F, 0x05, 0x24, 0x4A, 0xAA, 0xBA, 0x9B, 0xA7, 0xEB, 0x16, 0xCA,\r
+               0x26, 0x1B, 0x67, 0x07, 0x52, 0x3D, 0x35, 0x14, 0x6F, 0xA9, 0x9C, 0xBD, 0xBB, 0xAE, 0x4F, 0x8F,\r
+               0x18, 0x99, 0xDB, 0x39, 0x87, 0xB6, 0x6B, 0x4A, 0xFD, 0xCF, 0x68, 0x49, 0x60, 0x87, 0xBD, 0xA6,\r
+               0xCA, 0xFC, 0x6C, 0xEB, 0xFF, 0x49, 0xEC, 0xCD, 0x2C, 0x53, 0x25, 0x04, 0xE6, 0xF9, 0x45, 0xD8,\r
+               0x73, 0x06, 0x2F, 0x52, 0x6F, 0xD5, 0xE0, 0xC1, 0x1D, 0x40, 0x07, 0x26, 0xC5, 0x5F, 0xC0, 0x7E,\r
+               0xB5, 0x72, 0x9D, 0x94, 0xA3, 0x52, 0xAB, 0x8A, 0x63, 0xB0, 0x89, 0xA8, 0xF3, 0xAD, 0x04, 0x8C,\r
+               0x1A, 0xD9, 0x99, 0x3B, 0x3A, 0xD6, 0xB6, 0x97, 0x7D, 0xFD, 0xDA, 0xFB, 0x7F, 0xE4, 0xC1, 0xC5,\r
+               0xAC, 0xFB, 0x0D, 0x8D, 0x81, 0xC6, 0x1D, 0x3C, 0x27, 0xB4, 0xC9, 0xE8, 0x30, 0x81, 0xEB, 0xA0,\r
+               0xF3, 0x26, 0x8F, 0xD2, 0xF8, 0x28, 0x8A, 0xAB, 0xA7, 0x86, 0x7B, 0x5A, 0x2A, 0xB2, 0xC2, 0x93,\r
+               0x06, 0x48, 0x14, 0x27, 0x3F, 0x83, 0xE6, 0xC7, 0xED, 0x74, 0xC3, 0xE2, 0x31, 0x91, 0xFA, 0xB0,\r
+               0xA0, 0x6B, 0x91, 0x81, 0x84, 0x93, 0x4D, 0x6C, 0x02, 0xB7, 0xEF, 0xCE, 0xF7, 0xED, 0x40, 0xCC,\r
+               0x28, 0xCB, 0xB9, 0x09, 0x13, 0x6E, 0x27, 0x06, 0x2E, 0xBC, 0xC8, 0xE9, 0x59, 0x12, 0x11, 0x33,\r
+               0xDD, 0xA5, 0x22, 0xFC, 0xC0, 0x95, 0x0F, 0x2E, 0x65, 0xF4, 0xCB, 0xEA, 0x0E, 0x72, 0x26, 0x53,\r
+               0xC2, 0x7C, 0xE4, 0xE3, 0x49, 0x05, 0x16, 0x37, 0x5C, 0x55, 0x53, 0x72, 0x6A, 0xB0, 0x80, 0x91,\r
+               0x3D, 0xD2, 0xB5, 0x1C, 0xA6, 0x07, 0xFB, 0xDA, 0x1F, 0xAF, 0xEA, 0xCB, 0xB8, 0x88, 0x6A, 0xA9,\r
+               0x90, 0x39, 0xF3, 0xB1, 0x01, 0x4E, 0x15, 0x34, 0x85, 0x7B, 0xA4, 0x85, 0x9D, 0x58, 0x9F, 0x79,\r
+               0xDB, 0xF5, 0x74, 0xFA, 0x80, 0xD7, 0x0D, 0x2C, 0x88, 0xD8, 0x0A, 0x2B, 0x71, 0x93, 0xB8, 0xB2,\r
+               0xD6, 0x6D, 0xE1, 0xF7, 0x12, 0x7F, 0x37, 0x16, 0x71, 0xE4, 0xCF, 0xEE, 0x6C, 0xC6, 0xF0, 0xE7,\r
+               0xB8, 0xEA, 0x08, 0x99, 0xFA, 0x1C, 0xBC, 0x9D, 0x56, 0x08, 0x04, 0x25, 0x02, 0x33, 0x6B, 0x12,\r
+               0x7C, 0xDE, 0xF8, 0x5D, 0x96, 0xB3, 0x7F, 0x5E, 0x48, 0x45, 0x57, 0x76, 0x23, 0xA3, 0xDA, 0x82,\r
+               0x38, 0xCA, 0xA8, 0x19, 0xE3, 0x10, 0xA9, 0x88, 0x8C, 0x73, 0xA5, 0x84, 0xD4, 0x4B, 0xC5, 0x6A,\r
+               0x2F, 0x93, 0xE6, 0x0E, 0x46, 0x6D, 0x71, 0x50, 0x4B, 0x10, 0x01, 0x20, 0x3D, 0xD0, 0xB7, 0xF1,\r
+               0x46, 0x4C, 0x50, 0x67, 0x11, 0x5A, 0x11, 0x30, 0x35, 0xE0, 0x8F, 0xAE, 0x27, 0xE3, 0x9E, 0xC2,\r
+               0x5A, 0xDD, 0xDD, 0x7B, 0x50, 0x09, 0x03, 0x22, 0x2A, 0x17, 0x67, 0x46, 0x0A, 0x32, 0x62, 0x13,\r
+               0xF8, 0xEE, 0x4C, 0xD9, 0x9C, 0x8E, 0x48, 0x69, 0x3F, 0xBD, 0xD8, 0xF9, 0xD1, 0x1B, 0x90, 0x3A,\r
+               0x8B, 0xF0, 0x21, 0xAA, 0xC3, 0xB0, 0x29, 0x08, 0x7A, 0x03, 0x23, 0x02, 0xAD, 0xDC, 0x2B, 0xFD,\r
+               0x08, 0x98, 0xCA, 0x29, 0x51, 0x18, 0x13, 0x32, 0x03, 0x0D, 0x54, 0x75, 0xA8, 0x8C, 0x7E, 0xAD,\r
+               0xF1, 0x66, 0xCD, 0xD0, 0x82, 0xE3, 0x3B, 0x1A, 0xE2, 0x38, 0x80, 0xA1, 0x5C, 0x42, 0x44, 0x63,\r
+               0xC7, 0x64, 0xF9, 0xE6, 0x65, 0xE8, 0xD7, 0xF6, 0x46, 0xB3, 0xAF, 0x8E, 0xBA, 0xBE, 0x5E, 0x9F,\r
+               0xBD, 0xF2, 0x15, 0x9C, 0x41, 0x0C, 0x17, 0x36, 0xFB, 0x8B, 0x2A, 0x0B, 0x94, 0x49, 0x87, 0x68,\r
+               0x4A, 0xDC, 0xCC, 0x6B, 0x8F, 0xBF, 0x6A, 0x4B, 0xE9, 0xDF, 0x6C, 0x4D, 0xA4, 0xCD, 0x33, 0xEC,\r
+               0x63, 0x07, 0x3E, 0x42, 0xD5, 0xD4, 0x5B, 0x7A, 0x39, 0xF9, 0x9A, 0xBB, 0x3B, 0xA6, 0xC7, 0x87,\r
+               0x09, 0x90, 0xC3, 0x28, 0x85, 0x82, 0x5D, 0x7C, 0x01, 0xE2, 0xB9, 0x98, 0x2D, 0xD4, 0xA3, 0xF5,\r
+               0x61, 0x47, 0x7C, 0x40, 0x9A, 0xFE, 0x3E, 0x1F, 0x61, 0x5F, 0x64, 0x45, 0x37, 0xE7, 0x8A, 0xC6,\r
+               0x82, 0x78, 0xA0, 0xA3, 0xC9, 0x8D, 0x1E, 0x3F, 0xCE, 0x33, 0xA7, 0x86, 0xEF, 0xE8, 0x5D, 0xC9,\r
+               0x24, 0x5B, 0x25, 0x05, 0x91, 0xD2, 0x19, 0x38, 0x06, 0x1C, 0x40, 0x61, 0xE5, 0xDF, 0x60, 0xFE,\r
+               0xA8, 0xEB, 0x19, 0x89, 0xBE, 0x1A, 0xFE, 0xDF, 0x20, 0x4A, 0x30, 0x11, 0x68, 0x86, 0xB4, 0xA7,\r
+               0xF5, 0x76, 0xD9, 0xD4, 0x89, 0xCF, 0x1C, 0x3D, 0x54, 0xE7, 0xE9, 0xC8, 0xC1, 0x1F, 0x84, 0x3E,\r
+               0x60, 0x4F, 0x75, 0x41, 0xE9, 0x2D, 0x9E, 0xBF, 0xBA, 0x9E, 0x7E, 0x5F, 0x5E, 0x74, 0x70, 0x55,\r
+               0xF2, 0x2E, 0x86, 0xD3, 0x2B, 0xD3, 0xA2, 0x83, 0xEE, 0x21, 0x95, 0xB4, 0x9F, 0x6E, 0xAB, 0x4F,\r
+               0x43, 0x54, 0x4D, 0x62, 0xAC, 0x3A, 0xCC, 0xED, 0xDF, 0x32, 0xB7, 0x96, 0xCC, 0x4E, 0xD8, 0x6F,\r
+               0xFD, 0xF6, 0x51, 0xDC, 0xA0, 0x77, 0x8D, 0xAC, 0x78, 0xEC, 0xCE, 0xEF, 0x70, 0x83, 0xA9, 0xA2,\r
+               0x75, 0x56, 0x79, 0x54, 0x20, 0xFF, 0x85, 0xA4, 0x43, 0xA2, 0xBB, 0x9A, 0x34, 0xC1, 0xAF, 0xE0,\r
+               0xC4, 0x2C, 0xB2, 0xE5, 0xCD, 0xC9, 0x5E, 0x7F, 0xD0, 0x7E, 0xF4, 0xD5, 0x8E, 0x7A, 0xAE, 0x5B,\r
+               0x22, 0x0B, 0x73, 0x03, 0x61, 0xAC, 0x97, 0xB6, 0x9A, 0x8C, 0x4C, 0x6D, 0x7A, 0xB4, 0x94, 0x95,\r
+               0x3C, 0xDA, 0xBC, 0x1D, 0x8D, 0x8B, 0x5C, 0x7D, 0x38, 0x43, 0x21, 0x00, 0xE1, 0x9F, 0x24, 0xBE,\r
+               0x0B, 0xD0, 0x81, 0x2A, 0xC4, 0xD1, 0x4F, 0x6E, 0xF4, 0xC7, 0x69, 0x48, 0xC8, 0x0E, 0x9C, 0x2F,\r
+               0x6D, 0xD7, 0xE0, 0x4C, 0x44, 0x59, 0x47, 0x66, 0xF6, 0x28, 0x84, 0xA5, 0x2F, 0xE2, 0x97, 0xC3,\r
+               0xC0, 0x3C, 0xA6, 0xE1, 0x7D, 0xF5, 0xD2, 0xF3, 0xF2, 0x83, 0x2B, 0x0A, 0x4E, 0x70, 0x64, 0x51,\r
+               0x20, 0x4B, 0x31, 0x01, 0x6E, 0xC4, 0xF0, 0xD1, 0xFC, 0x75, 0xD3, 0xF2, 0xFE, 0xFC, 0x58, 0xDD,\r
+               0x2E, 0x9B, 0xEF, 0x0F, 0x09, 0x47, 0x14, 0x35, 0x7B, 0xB9, 0x98, 0xB9, 0x29, 0x94, 0xE7, 0xB5,\r
+               0xB1, 0x62, 0x89, 0x90, 0x79, 0xB1, 0x92, 0xB3, 0x34, 0x5A, 0x34, 0x15, 0x42, 0x31, 0x29, 0x10,\r
+               0xFA, 0xAE, 0x0E, 0xDB, 0xE8, 0x3C, 0x8E, 0xAF, 0x0B, 0xBF, 0xEE, 0xCF, 0xB1, 0x99, 0x72, 0xB8,\r
+               0x79, 0xC6, 0xE5, 0x58, 0xF1, 0x30, 0x9B, 0xBA, 0xF1, 0xD6, 0x7D, 0x5C, 0x25, 0xD5, 0xAA, 0xF4,\r
+               0xD1, 0x35, 0xBE, 0xF0, 0x57, 0x68, 0x65, 0x44, 0x53, 0x19, 0x10, 0x31, 0x3E, 0xF6, 0x92, 0xD7,\r
+               0xDE, 0xED, 0x69, 0xFF, 0xB5, 0x36, 0xD9, 0xF8, 0x3B, 0x16, 0x77, 0x56, 0xB2, 0xBF, 0x57, 0x9E,\r
+               0x45, 0x04, 0x1B, 0x64, 0x1E, 0x32, 0x76, 0x57, 0xA1, 0xC2, 0x39, 0x18, 0x14, 0x41, 0x0F, 0x60,\r
+               0x02, 0x58, 0x00, 0x23, 0x05, 0x0A, 0x55, 0x74, 0x12, 0x0C, 0x44, 0x65, 0x1D, 0x50, 0x17, 0x71,\r
+               0x78, 0xCE, 0xEC, 0x59, 0x0F, 0x37, 0x62, 0x43, 0x55, 0x5D, 0x52, 0x73, 0x77, 0xE5, 0xC8, 0xC4,\r
+               0x9D, 0xA1, 0x66, 0xBC, 0x69, 0xA5, 0x96, 0xB7, 0xBB, 0x24, 0xC5, 0xE4, 0x15, 0x51, 0x1E, 0x70,\r
+               0x0C, 0x88, 0xDE, 0x2D, 0x1F, 0x23, 0x66, 0x47, 0x76, 0x1A, 0x36, 0x17, 0x95, 0x59, 0x96, 0x78,\r
+               0xFF, 0xB6, 0x13, 0xDE, 0x97, 0xA2, 0x6F, 0x4E, 0x42, 0x18, 0x00, 0x21, 0xD3, 0x2D, 0xA4, 0x0C,\r
+               0xB3, 0x22, 0xCB, 0x92, 0xAB, 0x5B, 0xAA, 0x8B, 0xF7, 0x92, 0x3F, 0x1E, 0x4D, 0x56, 0x41, 0x77,\r
+               0x3A, 0x8A, 0xEA, 0x1B, 0x63, 0x98, 0xA1, 0x80, 0xDC, 0x67, 0xE1, 0xC0, 0x36, 0xF7, 0x9B, 0xD6,\r
+               0x41, 0x49, 0x82, 0xD5, 0x71, 0xBA, 0xAB, 0x07, 0x7B, 0xB0, 0x46, 0x2B, 0x8C, 0xB8, 0x47, 0xE9,\r
+               0xB3, 0x60, 0xAB, 0x0E, 0x40, 0x8B, 0xC0, 0x5D, 0x8D, 0x46, 0x96, 0x0D, 0xE7, 0x4C, 0x2C, 0x76,\r
+               0x6A, 0x97, 0x5C, 0x20, 0x3D, 0xF6, 0x73, 0x93, 0xCB, 0x00, 0x84, 0x59, 0x63, 0xF8, 0xA8, 0x46,\r
+               0x86, 0xED, 0x26, 0xB6, 0xFD, 0x36, 0x97, 0xB7, 0x4E, 0x85, 0x39, 0x61, 0x94, 0x21, 0x5F, 0x68,\r
+               0xB2, 0xDB, 0x10, 0xB4, 0x11, 0xDA, 0x9C, 0x50, 0x61, 0xAA, 0x9D, 0xEA, 0x68, 0x3B, 0xA3, 0x8E,\r
+               0xB5, 0x22, 0xE9, 0x4A, 0x39, 0xF2, 0x67, 0x83, 0xB5, 0x7E, 0x7C, 0xDF, 0xA6, 0x01, 0x6D, 0x7A,\r
+               0x5E, 0xA1, 0x6A, 0x22, 0x03, 0xC8, 0xCF, 0x11, 0xC2, 0x09, 0x05, 0xD1, 0xF6, 0x54, 0x3D, 0x7F,\r
+               0x33, 0xD2, 0x19, 0x3C, 0x62, 0xA9, 0xF1, 0x4E, 0x39, 0xF2, 0x40, 0x6F, 0x31, 0xEF, 0xFA, 0x03,\r
+               0xA2, 0x70, 0xBB, 0x0F, 0x29, 0xE2, 0x76, 0x82, 0x86, 0x4D, 0x55, 0xC5, 0x18, 0x1D, 0xD3, 0xD8,\r
+               0x2F, 0x6C, 0xA7, 0x9E, 0x3B, 0xF0, 0x25, 0xC3, 0x6E, 0xA5, 0x4A, 0x32, 0xC9, 0xE1, 0x02, 0xF5,\r
+               0x99, 0x05, 0xCE, 0x41, 0x5B, 0x90, 0x12, 0x94, 0xE0, 0x2B, 0x34, 0xC2, 0xFA, 0xC8, 0x31, 0xEF,\r
+               0xD7, 0x12, 0xD9, 0x18, 0x83, 0x48, 0x6F, 0x31, 0x44, 0x8F, 0xF3, 0xA1, 0x61, 0xBA, 0xAA, 0x06,\r
+               0x87, 0x56, 0x9D, 0x0C, 0x55, 0x9E, 0xCC, 0x44, 0xB6, 0x7D, 0x37, 0x97, 0x89, 0xA5, 0x42, 0xF1,\r
+               0x77, 0x92, 0x59, 0x38, 0x96, 0x5D, 0x63, 0x28, 0xE5, 0x2E, 0x29, 0xDA, 0x19, 0x14, 0xD2, 0xD0,\r
+               0x9E, 0xFC, 0x37, 0xBF, 0x1D, 0xD6, 0x00, 0xC0, 0x2E, 0xE5, 0x0E, 0x36, 0xEC, 0x8F, 0x27, 0xBE,\r
+               0x0B, 0xF1, 0x3A, 0x27, 0x27, 0xEC, 0xA8, 0x52, 0xEB, 0x20, 0xF7, 0x0A, 0xB9, 0xC7, 0x72, 0xA3,\r
+               0x8C, 0xBA, 0x71, 0xEB, 0x3F, 0xF4, 0x31, 0xD3, 0x45, 0x8E, 0xFA, 0xA9, 0x72, 0xE0, 0xB9, 0x4F,\r
+               0xCA, 0x17, 0xDC, 0x00, 0xD1, 0x1A, 0x78, 0x74, 0x0B, 0xC0, 0x60, 0x7D, 0xA2, 0x15, 0x69, 0x6A,\r
+               0x9B, 0xE8, 0x23, 0xAE, 0x3C, 0xF7, 0x7A, 0x9B, 0xB2, 0x79, 0x23, 0x87, 0x9A, 0xFF, 0x51, 0xB8,\r
+               0x5D, 0xF7, 0x3C, 0x77, 0x25, 0xEE, 0xEA, 0x12, 0x2A, 0xE1, 0x1A, 0x26, 0x58, 0x59, 0x93, 0xDC,\r
+               0xC6, 0x02, 0xC9, 0x19, 0x0D, 0xC6, 0x11, 0xC1, 0x29, 0xE2, 0x51, 0x6E, 0x38, 0x6E, 0xF3, 0x8B,\r
+               0xEE, 0x8A, 0x41, 0xB9, 0x67, 0xAC, 0xEC, 0x56, 0x0E, 0xC5, 0x7D, 0x65, 0xC7, 0x3F, 0x0C, 0x25,\r
+               0x6B, 0x2C, 0xE7, 0x9A, 0xCC, 0x07, 0xFC, 0xED, 0x22, 0xE9, 0x92, 0xA6, 0xBB, 0x85, 0x70, 0xE3,\r
+               0xF0, 0xD9, 0x12, 0xF4, 0xA0, 0x6B, 0x57, 0x2A, 0x9A, 0x51, 0xD8, 0x54, 0x98, 0xBD, 0x53, 0xF8,\r
+               0x72, 0x86, 0x4D, 0x29, 0x37, 0xFC, 0xB9, 0x53, 0x28, 0xE3, 0x58, 0x66, 0xAB, 0x94, 0x60, 0xE2,\r
+               0xE6, 0x30, 0xFB, 0x0B, 0x9C, 0x57, 0xA9, 0xE8, 0x3B, 0xF0, 0x02, 0x2F, 0xCE, 0xBE, 0x05, 0xAD,\r
+               0xE2, 0x9F, 0x54, 0xA0, 0x81, 0x4A, 0x2D, 0x71, 0x68, 0xA3, 0x1C, 0x62, 0x87, 0x7B, 0x4C, 0x21,\r
+               0x50, 0x59, 0x92, 0xD4, 0xCA, 0x01, 0xAA, 0xBD, 0xE6, 0x2D, 0x62, 0x92, 0x75, 0xBF, 0xBE, 0x17,\r
+               0x13, 0xE0, 0x2B, 0x2E, 0xC6, 0x0D, 0x36, 0x2D, 0xC4, 0x0F, 0x53, 0x81, 0xD3, 0x3A, 0x18, 0x34,\r
+               0xA4, 0x32, 0xF9, 0x4B, 0x41, 0x8A, 0xC9, 0x55, 0x89, 0x42, 0x82, 0x1D, 0xAD, 0xC2, 0x66, 0xB2,\r
+               0x18, 0x0C, 0xC7, 0xC9, 0x1F, 0xD4, 0x42, 0x80, 0x7D, 0xB6, 0x10, 0x7B, 0x84, 0x30, 0x4F, 0x69,\r
+               0xD2, 0x06, 0xCD, 0x09, 0x2F, 0xE4, 0x20, 0xD2, 0x5B, 0x90, 0x35, 0x78, 0xC1, 0x69, 0x0A, 0x75,\r
+               0x95, 0x10, 0xDB, 0x58, 0x8B, 0x40, 0xE7, 0xB1, 0x00, 0xCB, 0xA3, 0xB5, 0xDD, 0xE4, 0x16, 0xE4,\r
+               0xB4, 0x99, 0x52, 0xF0, 0x80, 0x4B, 0x24, 0x79, 0xDE, 0x15, 0x88, 0x40, 0x7C, 0x3E, 0xB7, 0x9F,\r
+               0x6C, 0xD5, 0x1E, 0x64, 0x45, 0x8E, 0xDD, 0x45, 0xE1, 0x2A, 0x3D, 0xCA, 0x07, 0xDB, 0xCC, 0x01,\r
+               0xA1, 0x26, 0xED, 0x5A, 0x4C, 0x87, 0x5C, 0xCD, 0xD7, 0x1C, 0x09, 0xC8, 0x73, 0xE9, 0xB8, 0x47,\r
+               0x19, 0xB7, 0x7C, 0x73, 0xBC, 0x77, 0xDA, 0xBB, 0x24, 0xEF, 0xC4, 0xF6, 0x7B, 0x61, 0xB0, 0xC7,\r
+               0x93, 0x52, 0x99, 0x1C, 0x48, 0x83, 0x48, 0xDD, 0xB3, 0x78, 0x2A, 0x8F, 0xCF, 0xB7, 0x04, 0xA5,\r
+               0x7F, 0x28, 0xE3, 0x8A, 0x7F, 0xB4, 0x75, 0xD7, 0xA5, 0x6E, 0x6D, 0xDE, 0x7A, 0x68, 0xB1, 0xCF,\r
+               0x64, 0x6F, 0xA4, 0xD6, 0x5C, 0x97, 0x4D, 0xCC, 0xD8, 0x13, 0xDE, 0x10, 0x6B, 0x70, 0xA0, 0xC6,\r
+               0x16, 0xF4, 0x3F, 0x3F, 0xF3, 0x38, 0x49, 0x67, 0x96, 0x5D, 0x44, 0xC4, 0x95, 0x28, 0x5E, 0x60,\r
+               0xC1, 0xFB, 0x30, 0xE7, 0x4F, 0x84, 0x17, 0x85, 0xF1, 0x3A, 0x2C, 0xCB, 0xDC, 0xED, 0x17, 0xEC,\r
+               0x9A, 0x53, 0x98, 0x14, 0xB1, 0x7A, 0x4F, 0x23, 0x9C, 0x57, 0x8E, 0x04, 0xFF, 0xD5, 0x34, 0xF7,\r
+               0x71, 0xD0, 0x1B, 0x7C, 0xA4, 0x6F, 0x43, 0x3A, 0x0F, 0xC4, 0x74, 0x6D, 0xB3, 0x0D, 0x78, 0x63,\r
+               0xF6, 0x9B, 0x50, 0xB0, 0xB8, 0x73, 0xCE, 0xAB, 0xD5, 0x1E, 0x4B, 0x88, 0x1B, 0x56, 0xD0, 0x90,\r
+               0x90, 0x04, 0xCF, 0x49, 0x3E, 0xF5, 0x38, 0xDB, 0x79, 0xB2, 0x04, 0x6B, 0xBE, 0x98, 0x75, 0xFB,\r
+               0x4E, 0x0A, 0xC1, 0x99, 0xDA, 0x11, 0xBB, 0xBC, 0x32, 0xF9, 0x83, 0xA7, 0xD6, 0x27, 0x1D, 0x2C,\r
+               0xD9, 0xEA, 0x21, 0xEE, 0xF8, 0x33, 0x8A, 0xAF, 0xCA, 0x01, 0x8D, 0x51, 0x5A, 0x1B, 0x91, 0x9C,\r
+               0x9F, 0x47, 0x8C, 0x05, 0x6D, 0xA6, 0x26, 0x96, 0x65, 0xAE, 0x89, 0xFA, 0xC8, 0xE8, 0x03, 0xFD,\r
+               0xFE, 0x21, 0xEA, 0x02, 0x65, 0xAE, 0xAE, 0x16, 0x88, 0x43, 0x8B, 0x15, 0x24, 0xE3, 0xEF, 0x1A,\r
+               0xC3, 0x16, 0xDD, 0x08, 0x76, 0xBD, 0xF4, 0x5F, 0xC0, 0x0B, 0x47, 0x91, 0xB5, 0x5B, 0x7E, 0x33,\r
+               0x0C, 0x08, 0xC3, 0xD9, 0xBD, 0x76, 0xD3, 0xB3, 0xAD, 0x66, 0xE5, 0x5E, 0x9E, 0xEB, 0x55, 0xA8,\r
+               0xCD, 0xEE, 0x25, 0xFE, 0x74, 0xBF, 0xB6, 0x1F, 0x15, 0xDE, 0xAF, 0xAC, 0x50, 0xD1, 0x9B, 0x5C,\r
+               0x06, 0x5F, 0x94, 0x84, 0xAF, 0x64, 0x80, 0xF2, 0x5A, 0x91, 0x3C, 0x70, 0xEB, 0xD0, 0x20, 0xE6,\r
+               0x2E, 0xD7, 0x1C, 0x24, 0xA7, 0x6C, 0x08, 0x72, 0x2F, 0xE4, 0x07, 0x3E, 0xA9, 0xD6, 0x62, 0xA2,\r
+               0x32, 0x69, 0xA2, 0x86, 0xE6, 0x2D, 0x45, 0x7E, 0x56, 0x9D, 0xA0, 0xE0, 0x64, 0xA7, 0xAF, 0x1E,\r
+               0xF9, 0xD8, 0x13, 0xFC, 0x88, 0x43, 0xAC, 0xF9, 0x74, 0xBF, 0x91, 0xF3, 0x44, 0xD4, 0x8F, 0x4D,\r
+               0x0A, 0x4A, 0x81, 0x9D, 0xB4, 0x7F, 0x52, 0x3B, 0x9F, 0x54, 0xC5, 0x4C, 0x5E, 0x0F, 0x95, 0x8C,\r
+               0xA6, 0xDF, 0x14, 0xA4, 0x36, 0xFD, 0xB0, 0x5B, 0x08, 0xC3, 0x2B, 0x35, 0x35, 0xFB, 0xFE, 0x13,\r
+               0x66, 0x82, 0x49, 0x39, 0xD4, 0x1F, 0x65, 0x6C, 0xD1, 0x1A, 0x5F, 0x98, 0xAC, 0xCB, 0x67, 0xBA,\r
+               0x5A, 0x0E, 0xC5, 0x89, 0x33, 0xF8, 0xAD, 0x43, 0xA1, 0x6A, 0x79, 0xCE, 0xF5, 0x1F, 0x3E, 0x37,\r
+               0xDF, 0xA8, 0x63, 0xAA, 0x34, 0xFF, 0xF2, 0x1B, 0x46, 0x8D, 0xB1, 0xE1, 0xC2, 0x22, 0x09, 0x3D,\r
+               0x03, 0x4B, 0x80, 0x95, 0x14, 0xDF, 0x81, 0x48, 0x85, 0x4E, 0x1E, 0x8D, 0xCD, 0xF5, 0x06, 0xE5,\r
+               0xBC, 0x23, 0xE8, 0x42, 0x77, 0xBC, 0xFD, 0x57, 0x58, 0x93, 0x7E, 0x30, 0xFE, 0xDC, 0x35, 0xFF,\r
+               0x2D, 0xAC, 0x55, 0x79, 0x30, 0xE4, 0xB1, 0x54, 0x73, 0x5A, 0xDB, 0xA9, 0x15, 0x94, 0xAF, 0x3A,\r
+               0x2A, 0xAB, 0x0D, 0x26, 0x96, 0xC7, 0x17, 0xD1, 0x79, 0x6D, 0xEC, 0x94, 0xF2, 0x73, 0x80, 0xF2,\r
+               0x6E, 0xEF, 0x19, 0x76, 0xBB, 0x0C, 0x3A, 0x37, 0xB1, 0x66, 0xE7, 0x57, 0x0B, 0x8A, 0x7E, 0xF5,\r
+               0x0D, 0x8C, 0x06, 0x0A, 0xD3, 0xDB, 0x52, 0x88, 0xAB, 0x55, 0xD4, 0x7E, 0xD6, 0x57, 0xC3, 0x95,\r
+               0xAD, 0x2C, 0x75, 0xD9, 0xD2, 0xD3, 0x53, 0x81, 0xC2, 0xC6, 0x47, 0x84, 0xCC, 0x4D, 0x02, 0x4E,\r
+               0x91, 0x10, 0xB7, 0x27, 0x40, 0xB2, 0xC1, 0x72, 0x03, 0xDC, 0x5D, 0x5F, 0x27, 0xA6, 0xBD, 0x1A,\r
+               0xCD, 0x4C, 0x22, 0xEE, 0x1A, 0x77, 0x9B, 0xED, 0xF4, 0x34, 0xB5, 0x40, 0x82, 0x03, 0xD6, 0xD4,\r
+               0x2F, 0xAE, 0x15, 0x3B, 0x47, 0xEA, 0xC6, 0x2D, 0x5D, 0xAD, 0x2C, 0x70, 0x5B, 0xDA, 0x7B, 0xA0,\r
+               0xB6, 0x37, 0xBC, 0x0B, 0xC7, 0xCA, 0x46, 0x8D, 0xA8, 0x73, 0xF2, 0x5B, 0x09, 0x88, 0x3E, 0xB7,\r
+               0x6D, 0xEC, 0x51, 0x3D, 0x76, 0xB0, 0xF7, 0x46, 0x12, 0xC8, 0x49, 0x5A, 0x46, 0xC7, 0xE2, 0x24,\r
+               0xFF, 0x7E, 0x30, 0xCE, 0xF1, 0xC8, 0x70, 0xB9, 0x50, 0xFC, 0x7D, 0x2C, 0x05, 0x84, 0xAE, 0x2B,\r
+               0xBE, 0x3F, 0x3C, 0x83, 0x4F, 0x6A, 0xCE, 0xA5, 0xEC, 0x31, 0xB0, 0x5D, 0x7C, 0xFD, 0x70, 0x8C,\r
+               0x7C, 0xFD, 0x58, 0x25, 0xB9, 0x4C, 0x38, 0x75, 0x54, 0xBC, 0x3D, 0x68, 0xDB, 0x5A, 0x5B, 0x00,\r
+               0x74, 0xF5, 0xD8, 0xAD, 0xDF, 0x4B, 0x5E, 0x14, 0xB3, 0x50, 0xD1, 0x63, 0x36, 0xB7, 0xB4, 0x02,\r
+               0xA4, 0x25, 0xFD, 0x58, 0x90, 0x97, 0x11, 0x87, 0xE6, 0x06, 0x87, 0x60, 0xFE, 0x7F, 0x10, 0x6E,\r
+               0x6F, 0xEE, 0x11, 0x7F, 0x8E, 0x46, 0x0F, 0x48, 0x7D, 0x2D, 0xAC, 0xD0, 0x93, 0x12, 0xDF, 0xCC,\r
+               0x27, 0xA6, 0x95, 0xB3, 0x9C, 0x07, 0x1D, 0x1B, 0xB5, 0x26, 0xA7, 0x13, 0x2A, 0xAB, 0x25, 0x8F,\r
+               0xA1, 0x20, 0xE5, 0x45, 0x03, 0xFE, 0x82, 0x7D, 0xDE, 0x83, 0x02, 0xDD, 0x86, 0x07, 0xC6, 0xC0,\r
+               0xE1, 0x60, 0xE1, 0x01, 0x72, 0xA0, 0xF3, 0x52, 0xD2, 0xC2, 0x43, 0x90, 0x99, 0x18, 0x1F, 0x06,\r
+               0xC3, 0x42, 0xF2, 0x30, 0x92, 0xD7, 0x13, 0xC5, 0x62, 0x4E, 0xCF, 0xAC, 0x61, 0xE0, 0xE9, 0x08,\r
+               0x56, 0xD7, 0xCB, 0x9C, 0x63, 0xA9, 0xE2, 0x4A, 0xA2, 0x44, 0xC5, 0x66, 0xA2, 0x23, 0x85, 0xA7,\r
+               0xEA, 0x6B, 0x29, 0xC2, 0x6C, 0x71, 0xED, 0x9D, 0x2E, 0x0D, 0x8C, 0xA3, 0xC5, 0x44, 0x8A, 0xCF,\r
+               0xBD, 0x3C, 0x74, 0xC8, 0x48, 0x32, 0xC9, 0xFA, 0x2D, 0x2B, 0xAA, 0x86, 0x5C, 0xDD, 0x23, 0xFF,\r
+               0xA8, 0x29, 0x6D, 0xC4, 0xCB, 0x5A, 0x4A, 0x11, 0xB9, 0x67, 0xE6, 0x5E, 0xCF, 0x4E, 0x4A, 0x05,\r
+               0x51, 0xD0, 0x93, 0xC3, 0xCA, 0x52, 0x4B, 0x18, 0xEB, 0x57, 0xD6, 0x3C, 0xE0, 0x61, 0xC1, 0xA1,\r
+               0xA5, 0x24, 0xF5, 0x51, 0x2F, 0x3D, 0xAE, 0x92, 0x89, 0xE3, 0x62, 0xEA, 0x77, 0xF6, 0xB8, 0x4F,\r
+               0x45, 0xC4, 0x82, 0xC6, 0xF7, 0x98, 0x76, 0xEF, 0x88, 0xF3, 0x72, 0xFB, 0x8B, 0x0A, 0x5E, 0x55,\r
+               0x66, 0xE7, 0x99, 0xFE, 0xB0, 0xC4, 0x31, 0xF4, 0x81, 0xE2, 0x63, 0xE3, 0xF6, 0x77, 0x90, 0xE6,\r
+               0x99, 0x18, 0x37, 0xAF, 0x01, 0xBE, 0x80, 0x3F, 0xD1, 0xE4, 0x65, 0xB5, 0x8D, 0x0C, 0x0E, 0x03,\r
+               0x92, 0x13, 0xFF, 0x6C, 0x88, 0x16, 0x09, 0x1E, 0xAA, 0x45, 0xC4, 0x6F, 0x53, 0xD2, 0xFB, 0x28,\r
+               0x55, 0xD4, 0x83, 0xD7, 0xBE, 0x14, 0x3F, 0x2A, 0x09, 0xEB, 0x6A, 0x62, 0x84, 0x05, 0x86, 0x82,\r
+               0x5C, 0xDD, 0x0B, 0x56, 0x4D, 0x2A, 0xCC, 0xE7, 0x4F, 0x9F, 0x1E, 0x50, 0xB2, 0x33, 0x84, 0xB6,\r
+               0x58, 0xD9, 0x1B, 0x42, 0xAA, 0x05, 0x2B, 0x2F, 0xFC, 0x35, 0xB4, 0x49, 0xDA, 0x5B, 0x53, 0x09,\r
+               0xDF, 0x5E, 0x63, 0xBD, 0x78, 0x60, 0xF9, 0x98, 0x7A, 0x4B, 0xCA, 0xB1, 0x97, 0x16, 0xCF, 0xD8,\r
+               0x36, 0xB7, 0x9C, 0xAB, 0x9E, 0x47, 0x1F, 0x59, 0x3B, 0x59, 0xD8, 0xE2, 0x08, 0x89, 0x36, 0xBE,\r
+               0x06, 0x87, 0xCE, 0xC9, 0x94, 0x87, 0x15, 0x93, 0x27, 0x1C, 0x9D, 0xBB, 0x2E, 0xAF, 0x35, 0x9B,\r
+               0x85, 0x04, 0xA6, 0x22, 0xA8, 0x45, 0x29, 0x6D, 0xE3, 0x56, 0xD7, 0x35, 0x68, 0xE9, 0x61, 0x89,\r
+               0x2E, 0xAF, 0x1D, 0x32, 0x1E, 0x67, 0x9F, 0xF9, 0xAC, 0x33, 0xB2, 0x1F, 0x7B, 0xFA, 0x28, 0xD3,\r
+               0xD3, 0x52, 0xF3, 0x21, 0xC1, 0x9A, 0x40, 0xDB, 0x59, 0xED, 0x6C, 0x34, 0xB5, 0x34, 0xDC, 0xE9,\r
+               0x98, 0x19, 0x3F, 0xA6, 0x07, 0xEE, 0x86, 0x69, 0x6F, 0x1F, 0x9E, 0xF0, 0x3B, 0xBA, 0x2C, 0x97,\r
+               0x7E, 0xFF, 0x18, 0x67, 0x12, 0xF7, 0x93, 0x65, 0x6B, 0x5F, 0xDE, 0xB4, 0x5D, 0xDC, 0x2B, 0xF6,\r
+               0x14, 0x95, 0x8F, 0x9A, 0x9A, 0x57, 0x1B, 0x4D, 0xC5, 0xA0, 0x21, 0xE5, 0x7A, 0xFB, 0x20, 0xDA,\r
+               0xB9, 0x38, 0x64, 0xDC, 0x41, 0xBA, 0xC0, 0x7B, 0xB6, 0x00, 0x81, 0x36, 0xC9, 0x48, 0x1A, 0x53,\r
+               0xD5, 0x54, 0xA3, 0x77, 0xB4, 0xD4, 0x35, 0xE0, 0xAD, 0x23, 0xA2, 0x0E, 0x71, 0xF0, 0xE8, 0x19,\r
+               0xC8, 0x49, 0x3A, 0xF3, 0x8F, 0x4E, 0x0E, 0x41, 0x24, 0x3A, 0xBB, 0x9E, 0x58, 0xD9, 0x33, 0xEB,\r
+               0x26, 0xA7, 0x9D, 0xBA, 0x22, 0xA5, 0xA3, 0x07, 0x01, 0xEA, 0x6B, 0x6B, 0x16, 0x97, 0xE7, 0x71,\r
+               0x3C, 0xBD, 0x5C, 0x61, 0x6F, 0x39, 0xEE, 0xD6, 0x92, 0xC0, 0x41, 0xD2, 0x79, 0xF8, 0x68, 0x91,\r
+               0x25, 0xA4, 0xD5, 0xF1, 0x70, 0xE0, 0xF1, 0x10, 0xF6, 0x02, 0x83, 0x74, 0xE1, 0x60, 0xC9, 0xA8,\r
+               0x8F, 0x0E, 0x66, 0xE8, 0x0A, 0x76, 0x8B, 0xFC, 0x9E, 0x81, 0x00, 0x9F, 0xB6, 0x37, 0x94, 0xA2,\r
+               0x4C, 0xCD, 0x0A, 0x47, 0xCE, 0x42, 0x4F, 0x0C, 0xBF, 0x11, 0x90, 0x2E, 0xE5, 0x64, 0xD9, 0xBC,\r
+               0x3E, 0xBF, 0x1C, 0x23, 0x69, 0x69, 0xE8, 0x80, 0xED, 0x21, 0xA0, 0x4C, 0xB8, 0x39, 0x44, 0x7C,\r
+               0x04, 0x85, 0x8E, 0x8B, 0x64, 0xF1, 0xE5, 0x15, 0xF0, 0x74, 0xF5, 0x04, 0x7D, 0xFC, 0x78, 0x85,\r
+               0x22, 0xA3, 0x8D, 0xAE, 0xF4, 0xD0, 0x75, 0xA4, 0xBB, 0x51, 0xD0, 0x6A, 0x3D, 0xBC, 0x7C, 0xC1,\r
+               0x30, 0xB1, 0xCC, 0xFD, 0xE8, 0x41, 0x69, 0x29, 0x96, 0x80, 0x01, 0x96, 0xD5, 0x54, 0x8B, 0xDE,\r
+               0x9A, 0x1B, 0x7F, 0xE4, 0x8A, 0x56, 0x0B, 0x5C, 0x48, 0xF9, 0x78, 0x31, 0x17, 0x96, 0xEF, 0x78,\r
+               0x42, 0xC3, 0xDA, 0x99, 0x9D, 0x0F, 0x1C, 0x12, 0xA1, 0x62, 0xE3, 0x43, 0xB3, 0x32, 0x8C, 0xBF,\r
+               0x20, 0xA1, 0xCD, 0xEC, 0xBA, 0x04, 0x3B, 0x3E, 0x34, 0x3E, 0xBF, 0x8A, 0xE6, 0x67, 0x91, 0xF7,\r
+               0x08, 0x89, 0x1E, 0x17, 0x43, 0xFA, 0xC2, 0x39, 0xC0, 0xF0, 0x71, 0xB0, 0x32, 0xB3, 0xA4, 0x16,\r
+               0x7B, 0xFA, 0x00, 0x7A, 0x4A, 0x72, 0xCB, 0xB8, 0x4D, 0xA9, 0x28, 0x64, 0x6A, 0xEB, 0x21, 0xCB,\r
+               0x1A, 0x9B, 0x5F, 0x44, 0x39, 0x6C, 0xB8, 0xD5, 0x31, 0x6E, 0xEF, 0xDF, 0x91, 0x10, 0x9F, 0x8E,\r
+               0x59, 0xD8, 0x13, 0x4B, 0xF8, 0x40, 0x79, 0x38, 0x38, 0x7F, 0xFE, 0xC7, 0xDE, 0x5F, 0x43, 0x1D,\r
+               0x68, 0xE9, 0x49, 0x20, 0xD1, 0x9B, 0x50, 0xCA, 0xA7, 0x14, 0x95, 0x33, 0x28, 0xA9, 0x65, 0xCD,\r
+               0xE4, 0x65, 0xF9, 0x1C, 0x75, 0xF8, 0xF4, 0x0D, 0x26, 0x0C, 0x8D, 0xAA, 0x1D, 0x9C, 0x2F, 0xB2,\r
+               0x24, 0xA5, 0xDD, 0xF8, 0x0F, 0x6E, 0x8E, 0xE1, 0x08, 0xFB, 0x7A, 0x73, 0x98, 0x19, 0x17, 0x0F,\r
+               0x83, 0xAE, 0xE2, 0xBB, 0xAF, 0xF3, 0x93, 0xAB, 0x54, 0x71, 0xEA, 0xD2, 0x78, 0xFB, 0x4C, 0xC3,\r
+               0x43, 0x8A, 0x06, 0x7B, 0x39, 0x1F, 0xE9, 0xD1, 0x8D, 0x5F, 0x1D, 0x25, 0x40, 0x7E, 0xF1, 0x46,\r
+               0x3E, 0x44, 0xB5, 0x06, 0x17, 0xC6, 0x1E, 0x26, 0x39, 0x6F, 0x99, 0xA1, 0x14, 0x38, 0xE3, 0x00,\r
+               0x0F, 0x1E, 0xDE, 0x37, 0xCC, 0x34, 0x37, 0x0F, 0xCD, 0xF0, 0xF2, 0xCA, 0x32, 0xCE, 0x33, 0xF6,\r
+               0x1C, 0x57, 0x84, 0x24, 0x25, 0x46, 0xAC, 0x94, 0x9A, 0x1A, 0x4F, 0x77, 0x76, 0x8C, 0x35, 0xB4,\r
+               0x7D, 0x08, 0xBA, 0x45, 0x3B, 0x2B, 0xDF, 0xE7, 0x21, 0x66, 0x88, 0xB0, 0xC8, 0x77, 0x70, 0x4F,\r
+               0x47, 0x9A, 0x12, 0x7F, 0x53, 0xC0, 0x5C, 0x64, 0x74, 0x63, 0xD8, 0xE0, 0xC6, 0x00, 0x09, 0x38,\r
+               0x6F, 0x49, 0xE9, 0x57, 0xAD, 0xC7, 0xA5, 0x9D, 0x4E, 0x97, 0x16, 0x2E, 0xF3, 0xD4, 0xE8, 0xEC,\r
+               0xFD, 0x28, 0x1A, 0xC5, 0x01, 0xA2, 0x6C, 0x54, 0xCF, 0x1F, 0x1F, 0x27, 0xB8, 0xF1, 0x86, 0xC9,\r
+               0x25, 0x8D, 0x67, 0x1D, 0x58, 0xEC, 0x7B, 0x43, 0xBD, 0xF6, 0x84, 0xBC, 0xDB, 0x55, 0x41, 0x6D,\r
+               0x45, 0xDA, 0x50, 0x7D, 0x87, 0x5A, 0x12, 0x2A, 0x94, 0xEC, 0xB7, 0x8F, 0x2B, 0xDB, 0x3F, 0xE3,\r
+               0x57, 0x9B, 0x03, 0x6F, 0x16, 0xD7, 0x0E, 0x36, 0x68, 0xC1, 0x66, 0x5E, 0xDC, 0x33, 0x20, 0x0B,\r
+               0x59, 0x4B, 0xDD, 0x61, 0x3E, 0x7E, 0x8F, 0xB7, 0xB2, 0xBA, 0xC7, 0xFF, 0x13, 0x5E, 0x82, 0x66,\r
+               0x63, 0xD9, 0x75, 0x5B, 0xA6, 0xEB, 0x82, 0xBA, 0xFA, 0xA7, 0x92, 0xAA, 0x2F, 0x9B, 0x7B, 0xA3,\r
+               0xE8, 0x31, 0x16, 0xD0, 0x21, 0x02, 0xEC, 0xD4, 0x61, 0xC9, 0x67, 0x5F, 0xC3, 0x50, 0x5C, 0x68,\r
+               0x2B, 0x5D, 0xB9, 0x13, 0x15, 0xF2, 0x28, 0x10, 0xD0, 0xE8, 0xF7, 0xCF, 0x8E, 0x03, 0x42, 0x3B,\r
+               0x5B, 0x0B, 0x9F, 0x63, 0x6E, 0x28, 0x89, 0xB1, 0x2C, 0xC5, 0x26, 0x1E, 0x3F, 0x9F, 0x6F, 0xA7,\r
+               0x42, 0x82, 0x0F, 0x7A, 0xB7, 0xEE, 0x96, 0xAE, 0x8A, 0xA1, 0xE4, 0xDC, 0x9E, 0x07, 0x56, 0x3F,\r
+               0xAF, 0x6D, 0x0D, 0x97, 0x19, 0xBF, 0x69, 0x51, 0x60, 0x73, 0xDC, 0xE4, 0x64, 0xBE, 0x15, 0x86,\r
+               0x41, 0xCA, 0x44, 0x79, 0xF2, 0xF9, 0xC4, 0xFC, 0x95, 0x56, 0x0C, 0x34, 0xB0, 0xF0, 0x8F, 0xC8,\r
+               0xDE, 0x33, 0x22, 0xE6, 0xED, 0x85, 0xA7, 0x9F, 0xC8, 0xE1, 0xE6, 0xDE, 0x4D, 0x2F, 0xAD, 0x17,\r
+               0xB2, 0xF4, 0x89, 0x8A, 0x83, 0x1E, 0x52, 0x6A, 0xF0, 0xFA, 0xC5, 0xFD, 0xBF, 0x97, 0xE7, 0xAF,\r
+               0x19, 0x4F, 0x99, 0x21, 0xA0, 0x9B, 0xF4, 0xCC, 0x4A, 0x3C, 0xB9, 0x81, 0x7C, 0xBB, 0x08, 0x83,\r
+               0x73, 0xD8, 0x64, 0x4B, 0x00, 0xB3, 0x7C, 0x44, 0x1B, 0x92, 0x46, 0x7E, 0x77, 0x9C, 0x24, 0xA4,\r
+               0xB4, 0xA4, 0xDF, 0x8C, 0xCD, 0x25, 0x27, 0x1F, 0xCA, 0x0E, 0x0B, 0x33, 0x8B, 0x53, 0x17, 0x6B,\r
+               0xFF, 0x68, 0x58, 0xC7, 0xB9, 0x97, 0xE1, 0xD9, 0x0E, 0x38, 0xF9, 0xC1, 0x7B, 0xDD, 0x69, 0xE5,\r
+               0xE2, 0xF1, 0xDC, 0xDA, 0x12, 0x93, 0x4E, 0x76, 0xCB, 0xB4, 0xB0, 0x88, 0x36, 0x8E, 0x77, 0xB6,\r
+               0x49, 0x4A, 0xCC, 0x71, 0x30, 0x07, 0xF8, 0xC0, 0xE1, 0xFB, 0xD5, 0xED, 0x7F, 0x9D, 0x2D, 0xA5,\r
+               0x51, 0xCB, 0x55, 0x69, 0x10, 0xA7, 0x78, 0x40, 0x1C, 0x6C, 0xBF, 0x87, 0x61, 0xEE, 0x40, 0xD6,\r
+               0x61, 0x99, 0x37, 0x59, 0xD0, 0x6D, 0x72, 0x4A, 0x45, 0x70, 0xFA, 0xC2, 0x62, 0xC8, 0x65, 0xF0,\r
+               0x3F, 0x4C, 0xBC, 0x07, 0x52, 0xD1, 0x4C, 0x74, 0xB7, 0xAB, 0xD3, 0xEB, 0x04, 0x3C, 0xF7, 0x04,\r
+               0xB8, 0x34, 0x43, 0x80, 0x37, 0x66, 0x9E, 0xA6, 0x4F, 0x2D, 0xAD, 0x95, 0x98, 0x71, 0x26, 0x49,\r
+               0x32, 0xD4, 0x29, 0x0A, 0x43, 0xD4, 0x58, 0x60, 0x9C, 0x5E, 0x0D, 0x35, 0xD1, 0x62, 0x7C, 0x5A,\r
+               0x3B, 0x5C, 0xA8, 0x03, 0x7D, 0x19, 0xAB, 0x93, 0xAE, 0x18, 0x79, 0x41, 0xD3, 0x54, 0x48, 0x6C,\r
+               0xFE, 0x60, 0x51, 0xC6, 0xE9, 0xC1, 0xE7, 0xDF, 0x4B, 0x86, 0x02, 0x3A, 0x59, 0x6B, 0xFD, 0x53,\r
+               0xF5, 0xA8, 0x92, 0xCD, 0x41, 0xE0, 0x6E, 0x56, 0x91, 0xFD, 0xA3, 0x9B, 0xAC, 0xB5, 0xD6, 0x8D,\r
+               0x22, 0xD5, 0x38, 0x1A, 0xCF, 0x11, 0x11, 0x29, 0x05, 0xDF, 0x15, 0x2D, 0x09, 0x6D, 0xAB, 0x55,\r
+               0x01, 0xCE, 0x00, 0x39, 0x93, 0x0A, 0x56, 0x6E, 0x1D, 0xD6, 0x04, 0x3C, 0xC7, 0x10, 0x18, 0x28,\r
+               0x36, 0xC4, 0x3D, 0x0E, 0x05, 0xE6, 0x2C, 0x14, 0xC2, 0xBC, 0xB1, 0x89, 0x96, 0x06, 0x5F, 0x3E,\r
+               0xC2, 0xA2, 0xAF, 0xFA, 0x6A, 0x6C, 0xC9, 0xF1, 0x14, 0xDE, 0x05, 0x3D, 0xEF, 0x91, 0xB1, 0xA9,\r
+               0xDA, 0x23, 0x36, 0xE2, 0x65, 0x04, 0xAE, 0x96, 0x78, 0x7A, 0xCD, 0xF5, 0x74, 0xBA, 0x01, 0x82,\r
+               0xCF, 0x3A, 0x3A, 0xF7, 0x0D, 0xEF, 0x2D, 0x15, 0xA0, 0xEE, 0x81, 0xB9, 0x1D, 0x29, 0xFB, 0x11,\r
+               0x31, 0x9C, 0x62, 0x09, 0xFE, 0xB4, 0x85, 0xBD, 0x98, 0xF5, 0xA2, 0x9A, 0xD2, 0x44, 0x59, 0x7C,\r
+               0x8D, 0x7E, 0x3C, 0xB5, 0x26, 0x63, 0x8A, 0xB2, 0x5D, 0x79, 0xEB, 0xD3, 0xDD, 0x23, 0x31, 0x1B,\r
+               0x86, 0xB6, 0xFF, 0xBE, 0xF7, 0xAC, 0x94, 0xAC, 0x6E, 0x85, 0x24, 0x1C, 0x48, 0x7F, 0xF8, 0x47,\r
+               0xA4, 0xA5, 0xCE, 0x9C, 0x80, 0x3B, 0x74, 0x4C, 0x52, 0x35, 0xA8, 0x90, 0xBE, 0x87, 0xF6, 0xBF,\r
+               0x40, 0xC2, 0x4D, 0x78, 0x50, 0xE5, 0x7A, 0x42, 0xED, 0xE2, 0xC0, 0xF8, 0x72, 0xCC, 0x71, 0xF4,\r
+               0xC6, 0xB2, 0xBB, 0xFE, 0xA9, 0x83, 0xE5, 0xDD, 0x23, 0x89, 0x65, 0x5D, 0x91, 0x60, 0x3E, 0x58,\r
+               0xC3, 0xAA, 0xA6, 0xFB, 0xC0, 0x79, 0x76, 0x4E, 0x9E, 0xB1, 0xE0, 0xD8, 0x47, 0x18, 0x90, 0x20,\r
+               0x08, 0x46, 0x81, 0x30, 0x11, 0xB6, 0x68, 0x50, 0x2E, 0x2A, 0xCB, 0xF3, 0x88, 0x75, 0x32, 0x4D,\r
+               0x1B, 0x0F, 0xDB, 0x23, 0x1B, 0x8B, 0x5F, 0x67, 0x96, 0x03, 0x5A, 0x62, 0x0C, 0x3D, 0xFE, 0x05,\r
+               0x13, 0x8F, 0x53, 0x2B, 0x1C, 0xEA, 0x39, 0x01, 0x9D, 0xE4, 0xB6, 0x8E, 0xE3, 0xD0, 0xFC, 0xE8,\r
+               0x98, 0x67, 0x30, 0xA0, 0x9F, 0x47, 0x17, 0x2F, 0xD2, 0x07, 0x1A, 0x22, 0xF9, 0xE3, 0xD5, 0xDB,\r
+               0xD9, 0x6B, 0x7D, 0xE1, 0x3D, 0x5B, 0xA9, 0x91, 0xA3, 0xBB, 0xD7, 0xEF, 0x27, 0x9A, 0x72, 0xA2,\r
+               0xD1, 0xEB, 0xF5, 0xE9, 0x9D, 0x73, 0x21, 0x19, 0xA5, 0xFF, 0x95, 0xAD, 0x69, 0xEF, 0x49, 0xD7,\r
+               0x0A, 0x06, 0xC3, 0x32, 0xE7, 0xB8, 0x90, 0xA8, 0xA4, 0x45, 0x2E, 0x16, 0xB5, 0xA0, 0xDA, 0x98,\r
+               0xAA, 0x75, 0x10, 0x92, 0x20, 0x13, 0xFC, 0xC4, 0xBE, 0xA3, 0xD2, 0xEA, 0x81, 0x64, 0x2A, 0x5C,\r
+               0x48, 0x42, 0xC5, 0x70, 0xBD, 0xD3, 0xA1, 0x99, 0x8E, 0x0A, 0x4B, 0x73, 0x2C, 0xBD, 0x5E, 0x85,\r
+               0xCA, 0x22, 0x27, 0xF2, 0x84, 0x7F, 0x34, 0x0C, 0x7A, 0x95, 0x20, 0x18, 0x55, 0x2A, 0xB0, 0x12,\r
+               0xF6, 0xE0, 0xD9, 0xCE, 0xE5, 0x8C, 0xA6, 0x9E, 0xA1, 0x54, 0x3A, 0x02, 0xEA, 0xC1, 0xE4, 0xF9,\r
+               0x09, 0x4E, 0x88, 0x31, 0x5B, 0xC9, 0x5D, 0x65, 0xA9, 0xE6, 0x80, 0xB8, 0x29, 0xED, 0x0B, 0xD5,\r
+               0x6A, 0x51, 0xF4, 0x52, 0x8C, 0x76, 0x35, 0x0D, 0x80, 0xFC, 0xB3, 0x8B, 0x94, 0x30, 0x6B, 0x08,\r
+               0x4A, 0x02, 0x87, 0x72, 0xB3, 0xAA, 0xD6, 0xEE, 0x57, 0x24, 0xBC, 0x84, 0xF8, 0xF3, 0xC4, 0xCB,\r
+               0x4D, 0x5A, 0xD8, 0x75, 0x90, 0x2F, 0x70, 0x48, 0x6A, 0x2E, 0x8B, 0xB3, 0xD7, 0x14, 0x0C, 0x2C,\r
+               0xE0, 0x8F, 0xC1, 0x3B, 0x76, 0x38, 0xE7, 0xC5, 0x43, 0x0D, 0x02, 0x5B, 0x82, 0x75, 0xCC, 0xA3,\r
+               0x91, 0x42, 0x0C, 0x87, 0x0F, 0x41, 0x40, 0x1B, 0x02, 0x4C, 0x4F, 0x57, 0x3C, 0x69, 0x72, 0x01,\r
+               0x97, 0x00, 0x4E, 0xC3, 0x7A, 0x34, 0x7B, 0x55, 0x0A, 0x44, 0xC7, 0xD7, 0xB4, 0x41, 0xFA, 0xA1,\r
+               0x96, 0xBB, 0xF5, 0x79, 0x35, 0x7B, 0xE8, 0x89, 0xD1, 0x9F, 0xF1, 0x3A, 0x05, 0x8A, 0x4B, 0xDB,\r
+               0xAC, 0x75, 0x3B, 0x8D, 0x8D, 0xC3, 0xA2, 0x7B, 0x18, 0x56, 0x94, 0x96, 0xE3, 0x4B, 0xAD, 0xFC,\r
+               0x1C, 0x5E, 0x10, 0x16, 0xE0, 0xAE, 0x00, 0xB4, 0xD3, 0x9D, 0xB3, 0x7A, 0xFD, 0x84, 0xB3, 0x2D,\r
+               0xA4, 0xCF, 0x81, 0x3F, 0xA8, 0xE6, 0xCC, 0x30, 0xC0, 0x8E, 0xE9, 0x33, 0xCA, 0xB9, 0x84, 0x27,\r
+               0xAF, 0x23, 0x6D, 0xD8, 0x45, 0x0B, 0xCE, 0xDF, 0xC8, 0x86, 0x61, 0xB3, 0xAC, 0xD8, 0xE2, 0x20,\r
+               0x9B, 0x15, 0x5B, 0xDA, 0x78, 0x36, 0x39, 0x15, 0xD2, 0x9C, 0xBA, 0x72, 0xC8, 0xFB, 0x86, 0x67,\r
+               0xB2, 0x26, 0x68, 0xC0, 0xA5, 0xEB, 0x59, 0xA8, 0xB1, 0xFF, 0xC6, 0x6D, 0xA0, 0x44, 0xEE, 0xB0,\r
+               0x65, 0x29, 0x67, 0x18, 0x66, 0x28, 0xF6, 0xC4, 0x91, 0xDF, 0xB5, 0x3E, 0x43, 0x98, 0x0D, 0x8F,\r
+               0x58, 0x1E, 0x50, 0x12, 0x81, 0xCF, 0x3E, 0xEB, 0x96, 0xD8, 0xEA, 0x66, 0xE5, 0x1D, 0xAB, 0xAC,\r
+               0x8C, 0x47, 0x09, 0x9F, 0xF1, 0xBF, 0x18, 0xBD, 0x71, 0x3F, 0x22, 0x49, 0x69, 0x21, 0x27, 0x1C,\r
+               0xBC, 0xDE, 0x90, 0x36, 0x28, 0x66, 0x6C, 0x10, 0x93, 0xDD, 0xF7, 0x7E, 0x34, 0xE1, 0x7A, 0x81,\r
+               0x48, 0xB5, 0xFB, 0xA9, 0xBF, 0xF1, 0x82, 0x69, 0x11, 0x5F, 0x15, 0x1E, 0xA1, 0x4D, 0xEF, 0xB8,\r
+               0x93, 0xAF, 0xE1, 0x68, 0x54, 0x1A, 0xD6, 0xD6, 0x2D, 0x63, 0xEB, 0xDC, 0x33, 0xBE, 0x7D, 0xD9,\r
+               0x37, 0x80, 0xCE, 0xE3, 0xF8, 0xB6, 0x99, 0x35, 0xF9, 0xB7, 0x0A, 0xE9, 0x84, 0x23, 0xCA, 0xF3,\r
+               0x2F, 0x91, 0xDF, 0xEA, 0x85, 0xCB, 0x2A, 0xFB, 0xDA, 0x94, 0x32, 0xF2, 0xC3, 0x38, 0x8D, 0xAF,\r
+               0xF0, 0x24, 0x6A, 0x80, 0x93, 0xDD, 0x6D, 0xAA, 0xED, 0xA3, 0x0F, 0xF8, 0xB9, 0xD4, 0xF7, 0x39,\r
+               0x26, 0x90, 0xDE, 0xE2, 0x04, 0x4A, 0x83, 0xD3, 0x19, 0x57, 0x9D, 0x9E, 0x5C, 0x5E, 0x12, 0x56,\r
+               0xAE, 0x98, 0xD6, 0x62, 0xF7, 0xB9, 0x4E, 0xED, 0xE9, 0xA7, 0x1B, 0xE8, 0xCD, 0xE6, 0x83, 0x7F,\r
+               0x9C, 0xEC, 0xA2, 0x24, 0xC1, 0x8F, 0x7A, 0xEF, 0xE0, 0xAE, 0x9A, 0x60, 0x3E, 0x2B, 0x70, 0x41,\r
+               0x79, 0x97, 0xD9, 0xBA, 0xFE, 0xB0, 0xCF, 0x65, 0x25, 0x6B, 0x63, 0x5C, 0x72, 0xF3, 0x3C, 0xD5,\r
+               0xA3, 0x36, 0x78, 0xC1, 0x20, 0x6E, 0xE4, 0x90, 0x2E, 0x60, 0xA0, 0x94, 0xFB, 0xD2, 0xB5, 0x7D,\r
+               0x5C, 0xB1, 0xFF, 0xB9, 0xEA, 0xA4, 0xCA, 0x74, 0x5D, 0x13, 0xCD, 0x8A, 0x01, 0x9E, 0x4F, 0xCB,\r
+               0x60, 0x3D, 0x73, 0x09, 0x12, 0x5C, 0xC4, 0x82, 0x7F, 0x31, 0xFC, 0x99, 0xE1, 0x09, 0xAF, 0xBC,\r
+               0xDF, 0x55, 0x1B, 0xDE, 0x59, 0x17, 0x43, 0x4E, 0x9B, 0xD5, 0x7F, 0xFE, 0xEF, 0xD7, 0xA1, 0x6C,\r
+               0x11, 0xF0, 0xBE, 0xB5, 0xF5, 0xBB, 0x0C, 0xAD, 0x1D, 0x53, 0x89, 0x8E, 0x70, 0xB1, 0x3E, 0x95,\r
+               0x4A, 0x58, 0x16, 0x46, 0x2F, 0x61, 0x33, 0x48, 0x01, 0x4F, 0x04, 0x1F, 0x3B, 0x36, 0x75, 0x59,\r
+               0x92, 0x14, 0x5A, 0xD2, 0xBC, 0xF2, 0xC9, 0x21, 0x14, 0x5A, 0x08, 0x06, 0xB8, 0xDD, 0xF6, 0x31,\r
+               0xAA, 0x37, 0x79, 0xC9, 0xD1, 0x9F, 0x6B, 0xEE, 0xEA, 0xA4, 0x50, 0xA0, 0x10, 0x86, 0x5E, 0xC2,\r
+               0x6F, 0x7E, 0x30, 0x45, 0xB6, 0xF8, 0x03, 0xE1, 0x56, 0x18, 0x0E, 0x42, 0x1F, 0x51, 0x51, 0x1A,\r
+               0xFA, 0x73, 0x3D, 0xDD, 0xBA, 0xF4, 0x9F, 0x71, 0x05, 0x4B, 0x10, 0x0F, 0x32, 0xB7, 0x7C, 0xD1,\r
+               0xC2, 0x50, 0x1E, 0xC6, 0x02, 0x4C, 0xD5, 0x83, 0x69, 0x27, 0xBB, 0xC8, 0xC7, 0x2C, 0x89, 0xBF,\r
+               0x78, 0x2C, 0x62, 0x00, 0x2E, 0x60, 0x3A, 0x40, 0xC2, 0x8C, 0xAB, 0x73, 0x61, 0xA9, 0x2F, 0x9C,\r
+               0x29, 0xD3, 0x9D, 0xAE, 0x09, 0x47, 0x16, 0x4B, 0xA8, 0xE6, 0x56, 0xE4, 0xE9, 0x81, 0xA7, 0x3C,\r
+               0x1E, 0xB3, 0xFD, 0xF9, 0x0A, 0x44, 0x5D, 0x03, 0x80, 0xCE, 0xAD, 0x37, 0x1C, 0x1A, 0x52, 0x52,\r
+               0xB8, 0x71, 0x3F, 0x9D, 0x92, 0xDC, 0x64, 0xA2, 0x99, 0xD7, 0x3D, 0xBE, 0x03, 0xDC, 0x4D, 0x8B,\r
+               0x52, 0x49, 0x07, 0x4F, 0x2B, 0x65, 0x27, 0x58, 0x74, 0x3A, 0x3F, 0x51, 0xFC, 0x8D, 0xB2, 0x25,\r
+               0xA7, 0x99, 0xD7, 0x6A, 0x65, 0x2B, 0xBD, 0x8C, 0x9A, 0xD4, 0x76, 0xF6, 0x51, 0xCB, 0x1F, 0xCE,\r
+               0x2E, 0x2A, 0x64, 0x50, 0x7B, 0x35, 0x72, 0x5D, 0x8A, 0xC4, 0x67, 0xF7, 0xED, 0x95, 0xA3, 0x2C,\r
+               0x77, 0x6F, 0x21, 0x4C, 0x5D, 0x13, 0x57, 0x5E, 0xBA, 0xF4, 0x05, 0xA5, 0xE7, 0x5F, 0xA9, 0xEC,\r
+               0x85, 0x46, 0x08, 0x97, 0xA9, 0xE7, 0xC5, 0x38, 0xE4, 0xAA, 0x8E, 0x70, 0xD9, 0xE3, 0x97, 0x6E,\r
+               0x7D, 0x38, 0x76, 0x11, 0xE4, 0xAA, 0x14, 0xA4, 0x63, 0x2D, 0x71, 0x08, 0x0B, 0x54, 0x45, 0x0B,\r
+               0xF8, 0x9E, 0xD0, 0x32, 0xC6, 0x88, 0x25, 0xB7, 0x6F, 0x21, 0xED, 0x98, 0xB2, 0x17, 0xFC, 0xF1,\r
+               0x3C, 0x6C, 0x22, 0x04, 0x48, 0x06, 0x5B, 0x47, 0x24, 0x6A, 0x6A, 0x54, 0x74, 0xA5, 0x3A, 0x85,\r
+               0xF9, 0x25, 0x6B, 0x88, 0x1B, 0x55, 0x45, 0x0A, 0x39, 0x77, 0xEE, 0xCD, 0xDB, 0xA1, 0x95, 0x2E,\r
+               0xD3, 0x40, 0x0E, 0xC7, 0x08, 0x46, 0x1F, 0x43, 0x92, 0xDC, 0xFE, 0x76, 0x6D, 0x35, 0x23, 0x0C,\r
+               0xA8, 0xDA, 0x94, 0x26, 0x19, 0x57, 0x07, 0x4A, 0xC7, 0x89, 0xB6, 0x6B, 0x39, 0x74, 0x77, 0x19,\r
+               0x13, 0x1D, 0x53, 0x5A, 0xE2, 0xAC, 0x42, 0xF4, 0xA6, 0xE8, 0x88, 0x34, 0x4A, 0x19, 0x04, 0x07,\r
+               0x46, 0x4D, 0x03, 0x5F, 0x95, 0xDB, 0x3B, 0xFA, 0x9C, 0xD2, 0x20, 0xA6, 0xC9, 0xF2, 0x87, 0x6F,\r
+               0x7C, 0x83, 0xCD, 0xAB, 0x41, 0x0F, 0xDA, 0xCF, 0xB4, 0xFA, 0xDB, 0x75, 0x30, 0xF5, 0x7E, 0x91,\r
+               0x66, 0x7F, 0x31, 0x4D, 0x6E, 0x20, 0x7E, 0x44, 0x58, 0x16, 0xD0, 0x92, 0x06, 0xC1, 0x48, 0x93,\r
+               0xBF, 0x88, 0xC6, 0x63, 0xEB, 0xA5, 0xC3, 0x7C, 0x98, 0xD6, 0x34, 0xB6, 0x7C, 0x2D, 0x32, 0x05,\r
+               0x0B, 0x0C, 0x42, 0x53, 0xAD, 0xE3, 0xD1, 0x28, 0xE5, 0xAB, 0x87, 0x78, 0x8B, 0xF4, 0xC5, 0x2B,\r
+               0xFF, 0x67, 0x29, 0xCC, 0x5B, 0x15, 0x01, 0x0E, 0xD4, 0x9A, 0xEC, 0x22, 0xA2, 0x06, 0xEC, 0xF0,\r
+               0x80, 0x52, 0x1C, 0x86, 0xCB, 0x85, 0xB0, 0x2F, 0x82, 0xCC, 0xEF, 0x77, 0x1A, 0x4C, 0x54, 0x02,\r
+               0xC8, 0x07, 0x49, 0x9B, 0x0E, 0x40, 0x49, 0x13, 0xB8, 0xF6, 0x47, 0xE5, 0x17, 0xD9, 0x59, 0x9A,\r
+               0x53, 0xF2, 0xBC, 0xF5, 0xC5, 0x8B, 0x6E, 0xFF, 0x33, 0x7D, 0x24, 0x0D, 0x79, 0x30, 0x37, 0x1D,\r
+               0xE2, 0x62, 0x2C, 0xD4, 0x96, 0xD8, 0x70, 0xB2, 0xF0, 0xBE, 0x8B, 0x61, 0xBD, 0xC0, 0xF3, 0x29,\r
+               0xFD, 0x8A, 0xC4, 0x23, 0x64, 0x2A, 0xB4, 0x84, 0x26, 0x68, 0x28, 0x14, 0xF9, 0x90, 0xB7, 0x3D,\r
+               0x8F, 0x11, 0x5F, 0xCA, 0xC0, 0x8E, 0x73, 0xE7, 0xFE, 0xB0, 0x55, 0xB1, 0xEE, 0xDE, 0xA0, 0x64,\r
+               0xA6, 0x22, 0x6C, 0xD0, 0x4E, 0x00, 0x0D, 0x17, 0x9E, 0xD0, 0x62, 0xE6, 0x87, 0x68, 0xC9, 0xBB,\r
+               0x5A, 0xF3, 0xBD, 0xFD, 0xA6, 0xE8, 0x12, 0xE0, 0x8C, 0xC2, 0x31, 0xA7, 0x9B, 0xE5, 0xD5, 0x2A,\r
+               0xB6, 0x6D, 0x03, 0x74, 0x92, 0x15, 0x5F, 0x9D, 0x48, 0x25, 0xB5, 0x77, 0x03, 0x43, 0x98, 0x81,\r
+               0x54, 0x5A, 0xD6, 0x96, 0x0F, 0xD5, 0x02, 0xC0, 0x78, 0x8C, 0x2C, 0xEE, 0xAE, 0x9A, 0xEC, 0x58,\r
+               0x08, 0xCF, 0x1F, 0xCA, 0xCA, 0x4A, 0x58, 0x9A, 0x67, 0x7B, 0xC4, 0x06, 0xC5, 0x3F, 0x22, 0xFD,\r
+               0x34, 0x0D, 0xE1, 0xF6, 0xAB, 0xB9, 0xCA, 0x08, 0xBC, 0xBA, 0xDE, 0x1C, 0x7A, 0xD4, 0x76, 0x16,\r
+               0x94, 0x7E, 0x32, 0x56, 0xA3, 0xB0, 0xCB, 0x09, 0x46, 0xD3, 0x4D, 0x8F, 0xBB, 0xCE, 0xAD, 0x0C,\r
+               0xF7, 0x61, 0x4E, 0x35, 0x74, 0x0F, 0xA3, 0x61, 0x6F, 0xC9, 0x7E, 0xBC, 0x06, 0x13, 0xCD, 0xD1,\r
+               0xB3, 0x75, 0x1E, 0x71, 0xBF, 0xE9, 0x8E, 0x4C, 0xAC, 0x01, 0x75, 0xB7, 0xF8, 0xEA, 0xCA, 0x28,\r
+               0xB4, 0x2D, 0x41, 0x76, 0x9C, 0x6C, 0x28, 0xEA, 0x91, 0x0B, 0x42, 0x80, 0xD7, 0x0D, 0x02, 0xCF,\r
+               0xF6, 0x69, 0x47, 0x34, 0x3E, 0x70, 0x96, 0x54, 0xE8, 0x05, 0x35, 0xF7, 0xA7, 0x8B, 0xF4, 0x49,\r
+               0x3D, 0x85, 0x60, 0xFF, 0xEF, 0xBF, 0x88, 0x4A, 0x58, 0x9E, 0x1E, 0xDC, 0x68, 0xE6, 0x56, 0x24,\r
+               0xED, 0xA0, 0x95, 0x2F, 0x33, 0x2C, 0xC7, 0x05, 0x5B, 0xCB, 0x48, 0x8A, 0xCC, 0x2E, 0x3A, 0xEC,\r
+               0xE5, 0x20, 0x1D, 0x27, 0x34, 0x4D, 0xA1, 0x63, 0x50, 0x2C, 0xA4, 0x66, 0x23, 0xC3, 0x38, 0x01,\r
+               0x27, 0x44, 0xBB, 0xE5, 0x12, 0x9D, 0x57, 0x95, 0x65, 0x94, 0x29, 0xEB, 0x08, 0x64, 0xB4, 0xA6,\r
+               0x66, 0x48, 0xF6, 0xA4, 0xB0, 0x81, 0xE9, 0x2B, 0x14, 0x28, 0xE4, 0x26, 0xD6, 0x1D, 0x13, 0xDF,\r
+               0xF4, 0x29, 0x05, 0x36, 0xC8, 0x7E, 0x6E, 0xAC, 0x62, 0x6A, 0xD0, 0x12, 0x9A, 0x5E, 0x1C, 0x9C,\r
+               0x2F, 0xC4, 0x33, 0xED, 0xB2, 0xB5, 0xDF, 0x1D, 0x63, 0xD0, 0x6B, 0xA9, 0x46, 0x11, 0x8F, 0xD3,\r
+               0x31, 0x15, 0xFC, 0xF3, 0x22, 0x29, 0xD3, 0x11, 0x66, 0xC1, 0x7F, 0xBD, 0x32, 0xD7, 0x3D, 0x15,\r
+               0x24, 0x0C, 0xF0, 0xE6, 0x4A, 0xC2, 0x50, 0x92, 0xBE, 0x55, 0x33, 0xF1, 0x5B, 0x44, 0xC7, 0x86,\r
+               0x73, 0x51, 0xFA, 0xB1, 0x09, 0xA5, 0x74, 0xB6, 0x9B, 0x56, 0x15, 0xD7, 0xF2, 0xDD, 0xF7, 0x1F,\r
+               0xCF, 0xB3, 0xA4, 0x0D, 0xD1, 0x72, 0x7B, 0xB9, 0x5E, 0xDA, 0x5C, 0x9E, 0xFD, 0xBA, 0x9F, 0x78,\r
+               0x5A, 0x8A, 0x08, 0x98, 0xAF, 0xFD, 0x8A, 0x48, 0x94, 0x1A, 0x56, 0x94, 0x91, 0x79, 0x30, 0xBB,\r
+               0x78, 0x99, 0x39, 0xBA, 0xD8, 0x6A, 0x6A, 0xA8, 0xA8, 0xAA, 0xDA, 0x18, 0x67, 0x81, 0x3E, 0x43,\r
+               0x38, 0x9D, 0x7D, 0xFA, 0x86, 0x45, 0x1B, 0xD9, 0xE5, 0xA6, 0x9B, 0x59, 0xBE, 0x9E, 0xF8, 0x5C,\r
+               0xBE, 0xED, 0x8B, 0x7C, 0x7F, 0x23, 0x84, 0x46, 0x2B, 0xCD, 0x3E, 0xFC, 0x5D, 0x32, 0xB7, 0xF0,\r
+               0xC5, 0x73, 0x6E, 0x07, 0x52, 0xDF, 0x55, 0x97, 0x68, 0x37, 0x87, 0x45, 0xFC, 0xAA, 0x8E, 0x68,\r
+               0xCC, 0xFB, 0xEF, 0x0E, 0x6C, 0x12, 0xA6, 0x64, 0x5A, 0x71, 0xF3, 0x31, 0xFE, 0x9C, 0xBA, 0x5E,\r
+               0x0B, 0x87, 0x54, 0xC9, 0x6E, 0x26, 0x90, 0x52, 0x57, 0xD2, 0x5D, 0x9F, 0x83, 0x4B, 0x10, 0x89,\r
+               0x00, 0x4F, 0x97, 0xC2, 0xC6, 0x07, 0x19, 0xDB, 0x8D, 0xA9, 0xFC, 0x3E, 0x76, 0x95, 0x3B, 0x57,\r
+               0xFF, 0xE1, 0xC6, 0x3D, 0xBC, 0xCC, 0xA8, 0x6A, 0xDB, 0xF9, 0xFA, 0x38, 0xE8, 0xEE, 0xDE, 0x2C,\r
+               0xDC, 0xFA, 0xFE, 0x1E, 0xE0, 0xD7, 0xEF, 0x2D, 0xC3, 0xF0, 0xEB, 0x29, 0x26, 0x93, 0x6D, 0x51,\r
+               0x3C, 0x8D, 0x69, 0xFE, 0x45, 0xAA, 0x37, 0xF5, 0xD2, 0xF1, 0xFB, 0x39, 0xC0, 0x6F, 0x77, 0xAD,\r
+               0xC8, 0xEB, 0xFB, 0x0A, 0x2A, 0x20, 0xD2, 0x10, 0x04, 0x93, 0x4F, 0x8D, 0xB9, 0xF8, 0x99, 0x3A,\r
+               0x01, 0x47, 0x9E, 0xC3, 0x96, 0x51, 0x1F, 0xDD, 0xC8, 0x17, 0x07, 0xC5, 0x54, 0x23, 0xAF, 0xE1,\r
+               0x4A, 0x8B, 0x19, 0x88, 0xE2, 0xE3, 0xD9, 0x1B, 0x0C, 0x21, 0xF5, 0x37, 0xA4, 0xAD, 0xD1, 0x6F,\r
+               0xB7, 0x65, 0x0A, 0x75, 0x1F, 0xC1, 0x06, 0xC4, 0x27, 0xD4, 0x2B, 0xE9, 0x50, 0x63, 0xEB, 0xA1,\r
+               0x1C, 0xDE, 0x1A, 0xDE, 0x3D, 0x55, 0xB0, 0x72, 0x0D, 0x9B, 0x4E, 0x8C, 0x19, 0x70, 0xB1, 0xB2,\r
+               0x9F, 0xB6, 0xF1, 0x5D, 0xFF, 0xAB, 0x8C, 0x4E, 0x83, 0x5F, 0x04, 0xC6, 0x4D, 0x36, 0xA3, 0xF4,\r
+               0xAF, 0xE4, 0x93, 0x6D, 0x3F, 0x61, 0x86, 0x44, 0xDA, 0x43, 0x41, 0x83, 0x4E, 0x10, 0x86, 0xD2,\r
+               0x46, 0x1B, 0x85, 0x84, 0x18, 0xA0, 0x60, 0xA2, 0x89, 0x02, 0x53, 0x91, 0xB7, 0x8F, 0xE0, 0x4D,\r
+               0xC1, 0x63, 0x7A, 0x03, 0x7D, 0x17, 0xB2, 0x70, 0x71, 0x84, 0x2D, 0xEF, 0x2B, 0xC2, 0x31, 0x00,\r
+               0xBC, 0xAD, 0xC9, 0x7E, 0x98, 0x28, 0x68, 0xAA, 0x4C, 0x8E, 0x1A, 0xD8, 0xB1, 0xF9, 0x90, 0x3B,\r
+               0xA5, 0x24, 0x59, 0x67, 0x41, 0xEE, 0x77, 0xB5, 0xEA, 0xEA, 0xD8, 0x1A, 0x10, 0x61, 0xA9, 0xA3,\r
+               0xBF, 0xE5, 0x82, 0x7D, 0xDD, 0x3F, 0x3A, 0xF8, 0x53, 0x79, 0xF2, 0x30, 0x9F, 0x0E, 0x49, 0xCC,\r
+               0x51, 0x42, 0xCB, 0x93, 0x36, 0x79, 0x97, 0x55, 0xA6, 0x5C, 0x22, 0xE0, 0x4B, 0x40, 0xD3, 0x82,\r
+               0x4C, 0xDB, 0x4F, 0x8E, 0xAC, 0xD8, 0xAC, 0x6E, 0x36, 0xD5, 0x3B, 0xF9, 0x90, 0x69, 0x21, 0xAB,\r
+               0x20, 0x1C, 0xE4, 0xE2, 0xC2, 0x43, 0x59, 0x9B, 0x0E, 0xCE, 0x18, 0xDA, 0x62, 0xD1, 0x6B, 0x13,\r
+               0x8D, 0xF7, 0xA2, 0x4F, 0x2F, 0x75, 0x82, 0x40, 0xDD, 0xBD, 0xB8, 0x7A, 0x58, 0x62, 0xE2, 0xA0,\r
+               0xE7, 0x60, 0x5F, 0x25, 0x8F, 0x5D, 0x0A, 0xC8, 0x8C, 0x13, 0x47, 0x85, 0x53, 0x45, 0xCE, 0x87,\r
+               0xDB, 0xA2, 0xA1, 0x19, 0x77, 0x2A, 0x85, 0x47, 0x7B, 0xD9, 0x7A, 0xB8, 0xF4, 0xAB, 0x87, 0x69,\r
+               0x03, 0x07, 0xDC, 0xC1, 0x2E, 0x64, 0x92, 0x50, 0x09, 0x30, 0xE1, 0x23, 0x97, 0x0F, 0x40, 0xCD,\r
+               0xA9, 0xB4, 0xC5, 0x6B, 0x39, 0x11, 0xF0, 0x32, 0xAE, 0xEE, 0x98, 0x5A, 0xF3, 0xCD, 0xE6, 0x0F,\r
+               0xBB, 0xF5, 0x96, 0x79, 0xA8, 0x9C, 0xEC, 0x2E, 0x52, 0xC3, 0x49, 0x8B, 0x04, 0x25, 0xF9, 0xE7,\r
+               0x9D, 0xF6, 0xB3, 0x5F, 0x89, 0x2D, 0x7C, 0xBE, 0x3C, 0x88, 0x6C, 0xAE, 0x00, 0x65, 0xBD, 0xA7,\r
+               0xA7, 0x64, 0x1B, 0x65, 0x11, 0xB8, 0x71, 0xB3, 0x74, 0x95, 0x39, 0xFB, 0x3C, 0xA0, 0x44, 0x62,\r
+               0xD5, 0x72, 0x7F, 0x17, 0x3A, 0x34, 0xD6, 0x14, 0x16, 0xC7, 0x09, 0xCB, 0xA1, 0xFD, 0x84, 0x3F,\r
+               0x16, 0x1E, 0xD0, 0xD4, 0x0E, 0xC4, 0x12, 0xD0, 0xA7, 0xE6, 0x99, 0x5B, 0xEC, 0xAE, 0x9A, 0x6C,\r
+               0xBD, 0xA5, 0xC0, 0x7F, 0x16, 0xD9, 0x17, 0xD5, 0x4B, 0x70, 0xE3, 0x21, 0x6F, 0x80, 0x37, 0x42,\r
+               0x7D, 0x81, 0x24, 0xBF, 0x80, 0x35, 0x6D, 0xAF, 0x92, 0x5E, 0x14, 0xD6, 0x57, 0x05, 0x8A, 0xC7,\r
+               0xF1, 0x31, 0x18, 0x33, 0xE3, 0xF2, 0xC9, 0x0B, 0x0B, 0xDF, 0x0C, 0xCE, 0x1D, 0x30, 0xF5, 0xF2,\r
+               0xC0, 0x6B, 0x73, 0x02, 0x38, 0x00, 0xE0, 0x22, 0xFF, 0x40, 0x67, 0xA5, 0x3B, 0xC6, 0x25, 0x04,\r
+               0x83, 0x27, 0x7C, 0x41, 0x14, 0xED, 0x21, 0xE3, 0xE7, 0x49, 0x76, 0xB4, 0xE7, 0x89, 0xB6, 0x4B,\r
+               0xE2, 0x78, 0x42, 0x20, 0x0A, 0x80, 0x52, 0x90, 0x5C, 0x35, 0xB1, 0x73, 0x59, 0x72, 0xF3, 0xB0,\r
+               0x91, 0x66, 0x2F, 0x53, 0x82, 0x01, 0x5B, 0x99, 0x88, 0xB8, 0xE8, 0x2A, 0xDC, 0x2A, 0x2E, 0xE8,\r
+               0xB9, 0xB5, 0xD4, 0x7B, 0x7C, 0x06, 0xA2, 0x60, 0xB2, 0x4C, 0x26, 0xE4, 0xE9, 0xFE, 0xCF, 0x3C,\r
+               0x11, 0x63, 0x40, 0x5D, 0xA1, 0x82, 0xB7, 0x39, 0x39, 0x1A, 0xB6, 0x83, 0xD0, 0x98, 0xF3, 0x67,\r
+               0x2B, 0xAD, 0x8E, 0xA9, 0x75, 0x56, 0x56, 0x0C, 0x11, 0x32, 0x4D, 0x50, 0x29, 0x9F, 0x0A, 0x99,\r
+               0x7E, 0xFD, 0xDE, 0xAC, 0x02, 0x21, 0x2F, 0x02, 0x2B, 0x08, 0xE5, 0xC2, 0xAA, 0x74, 0x89, 0xF1,\r
+               0xC5, 0x3A, 0x19, 0xD0, 0xF9, 0xDA, 0x6A, 0xBC, 0x4A, 0x69, 0xDB, 0x9D, 0xD9, 0x19, 0xFA, 0xEF,\r
+               0x92, 0x87, 0xA4, 0x3A, 0xBB, 0x98, 0x6C, 0xF8, 0x59, 0x7A, 0x81, 0xD4, 0x42, 0x6B, 0x61, 0x06,\r
+               0x66, 0xEC, 0xCF, 0xA5, 0x4D, 0x6E, 0xBC, 0xDE, 0x68, 0x4B, 0xEA, 0x8E, 0x6B, 0x99, 0x48, 0xDD,\r
+               0xD2, 0x68, 0x4B, 0x95, 0x0B, 0x28, 0xAE, 0x8A, 0x15, 0x36, 0x59, 0x40, 0x9C, 0x40, 0xBF, 0xF3,\r
+               0x0B, 0x9F, 0xBC, 0xBB, 0x8E, 0xAD, 0x13, 0xB2, 0xD5, 0xF6, 0xBD, 0x64, 0xE6, 0xAC, 0xC5, 0x65,\r
+               0x8F, 0x82, 0xA1, 0x22, 0x76, 0x55, 0x1D, 0x44, 0x7D, 0x5E, 0xE6, 0x97, 0x5D, 0xAD, 0x7E, 0xDF,\r
+               0x3E, 0x12, 0x31, 0x03, 0x25, 0x06, 0x03, 0x09, 0xBE, 0x9D, 0x49, 0xFB, 0x99, 0x5D, 0xBA, 0xEB,\r
+               0xA5, 0xE7, 0xC4, 0x6D, 0xEE, 0xCD, 0x24, 0xE5, 0x35, 0x16, 0x2A, 0x13, 0xF7, 0xB4, 0xD4, 0x6C,\r
+               0xED, 0xB2, 0x91, 0x70, 0x2B, 0x08, 0xDD, 0xD9, 0x0F, 0x2C, 0x82, 0x81, 0xFA, 0x21, 0xD9, 0xF4,\r
+               0x37, 0x13, 0x30, 0x0B, 0x46, 0x65, 0x7F, 0x16, 0x01, 0x22, 0x5C, 0x51, 0x7B, 0x88, 0x58, 0xDC,\r
+               0xCB, 0xC2, 0xE1, 0x26, 0xAE, 0x8D, 0x60, 0xE1, 0x13, 0x30, 0x0F, 0x10, 0x67, 0x05, 0x44, 0x4D,\r
+               0xE2, 0xF1, 0xD2, 0x3C, 0x20, 0x03, 0x1E, 0x11, 0x73, 0x50, 0x38, 0x47, 0x0E, 0xB3, 0x2D, 0x92,\r
+               0x90, 0x6A, 0x49, 0xD5, 0x84, 0xA7, 0xD9, 0x72, 0xAB, 0x88, 0x45, 0xE2, 0x19, 0xFD, 0x3A, 0xCB,\r
+               0x44, 0x33, 0x10, 0x58, 0xE9, 0xCA, 0x7B, 0xBD, 0x25, 0x06, 0x3B, 0x12, 0x09, 0xEC, 0x2A, 0xCA,\r
+               0x15, 0xCC, 0xEF, 0xF6, 0xCE, 0xED, 0x57, 0xB6, 0x4F, 0x6C, 0xC6, 0x85, 0x81, 0xC4, 0xA2, 0x6A,\r
+               0xAF, 0xB0, 0x93, 0x30, 0xE2, 0xC1, 0xB8, 0x75, 0xE4, 0xC7, 0xD6, 0x3E, 0x27, 0x41, 0x04, 0x49,\r
+               0x97, 0x93, 0xB0, 0x2B, 0x5A, 0x79, 0xF2, 0x87, 0x88, 0xAB, 0x7D, 0xF9, 0xD2, 0xDA, 0xF1, 0x27,\r
+               0xCA, 0x79, 0x5A, 0x9C, 0x85, 0xA6, 0xD0, 0x7A, 0x17, 0x34, 0x1B, 0x00, 0xB1, 0xA6, 0x92, 0x38,\r
+               0x3F, 0xA9, 0x8A, 0xB9, 0xCB, 0xE8, 0x4A, 0xAE, 0xF9, 0xDA, 0x52, 0xA7, 0x1C, 0xE0, 0x3F, 0xD3,\r
+               0xD5, 0x91, 0xB2, 0x6B, 0x72, 0x51, 0x09, 0x54, 0x14, 0x37, 0x50, 0x48, 0xE3, 0xB1, 0xC0, 0x7D,\r
+               0x73, 0x53, 0x70, 0x0F, 0xEA, 0xC9, 0x30, 0xF5, 0x0D, 0x2E, 0xC0, 0xC1, 0xFC, 0x77, 0xDF, 0xA4,\r
+               0x10, 0xD8, 0xFB, 0xE7, 0x04, 0x27, 0x79, 0x52, 0xEE, 0xCD, 0x1C, 0xFE, 0xEB, 0x39, 0xC8, 0xFD,\r
+               0xE8, 0xA6, 0x85, 0x61, 0x49, 0x6A, 0xA8, 0xCE, 0x69, 0x4A, 0xE3, 0x86, 0x39, 0x8E, 0x1A, 0x98,\r
+               0x1A, 0x8F, 0xAC, 0xBA, 0xBD, 0x9E, 0x3A, 0xA8, 0x37, 0x14, 0x68, 0x53, 0x07, 0x32, 0x24, 0x1A,\r
+               0x43, 0xCA, 0xE9, 0xA6, 0x9B, 0xB8, 0x1F, 0xAB, 0x07, 0x24, 0x0A, 0x01, 0x0D, 0xF8, 0x2E, 0xDA,\r
+               0xBE, 0xA0, 0x83, 0x31, 0xE8, 0xCB, 0x72, 0xB5, 0x1F, 0x3C, 0x93, 0x80, 0x8D, 0x58, 0xAE, 0xFA,\r
+               0x94, 0xC5, 0xE6, 0x7E, 0xFB, 0xD8, 0x28, 0xFC, 0xB4, 0x97, 0x83, 0x3B, 0x3B, 0xCC, 0x18, 0xD8,\r
+               0x51, 0x8C, 0xAF, 0xF2, 0xA8, 0x8B, 0x36, 0xB1, 0xA9, 0x8A, 0x07, 0xA2, 0x94, 0xC8, 0xB7, 0x73,\r
+               0x95, 0x7E, 0x5D, 0xC4, 0x26, 0x05, 0x48, 0x41, 0xE2, 0xC1, 0x80, 0x6E, 0x52, 0x7A, 0x71, 0x07,\r
+               0x4B, 0x70, 0x53, 0x14, 0xE4, 0xC7, 0xEE, 0x25, 0x94, 0xB7, 0xF0, 0x68, 0xBC, 0x33, 0x9F, 0xA0,\r
+               0x9D, 0xC4, 0xE7, 0x76, 0x73, 0x50, 0x00, 0x5C, 0x60, 0x43, 0x62, 0x0E, 0x59, 0xB9, 0x7A, 0xCF,\r
+               0x42, 0x71, 0x52, 0x1C, 0x65, 0x46, 0x47, 0x0D, 0x57, 0x74, 0x5F, 0x04, 0x23, 0x55, 0x00, 0x59,\r
+               0x5A, 0x60, 0x43, 0x15, 0x18, 0x3B, 0xF4, 0xC3, 0x74, 0x57, 0x67, 0x1F, 0x64, 0x4E, 0x47, 0x05,\r
+               0xCE, 0xD6, 0xF5, 0x37, 0xC0, 0xE3, 0x89, 0x66, 0xA3, 0x80, 0xCD, 0x62, 0x1B, 0xBF, 0x38, 0x8B,\r
+               0x14, 0x77, 0x54, 0x4C, 0x1E, 0x3D, 0xA2, 0x93, 0xA8, 0x8B, 0x0E, 0xAA, 0x92, 0x9E, 0xB1, 0x23,\r
+               0xF1, 0x0C, 0x2F, 0xD2, 0x21, 0x02, 0x17, 0x19, 0x6D, 0x4E, 0xF7, 0x96, 0xDE, 0x46, 0xFD, 0xB7,\r
+               0xC3, 0x78, 0x5B, 0x94, 0x17, 0x34, 0x23, 0x1B, 0x64, 0x47, 0x76, 0x1E, 0x2D, 0x8B, 0x0E, 0x89,\r
+               0x7C, 0x10, 0x33, 0x43, 0x15, 0x36, 0x61, 0x5B, 0x90, 0xB3, 0xE4, 0x78, 0x90, 0xDC, 0xB3, 0x63,\r
+               0xB2, 0xB5, 0x96, 0x28, 0xB9, 0x9A, 0x2E, 0xB8, 0x16, 0x35, 0x12, 0x08, 0x0F, 0xBA, 0x2C, 0x9A,\r
+               0x0D, 0xDD, 0xFE, 0xFF, 0xF2, 0xD1, 0xA9, 0x74, 0xF2, 0xD1, 0x91, 0x6F, 0x01, 0x64, 0x22, 0x4A,\r
+               0x31, 0x51, 0x72, 0x4F, 0x0A, 0x29, 0xA7, 0x82, 0xD0, 0xF3, 0xA0, 0x7C, 0xE1, 0xF3, 0xC2, 0x3D,\r
+               0x02, 0x9E, 0xBD, 0xB3, 0x56, 0x75, 0x6E, 0x17, 0xDB, 0xF8, 0x63, 0xB4, 0xFF, 0x3C, 0xDC, 0xEC,\r
+               0xC7, 0xD7, 0xF4, 0x3F, 0x31, 0x12, 0x06, 0x18, 0x67, 0x44, 0x3D, 0x56, 0xF0, 0xEB, 0xD3, 0x34,\r
+               0xFF, 0xF4, 0xD7, 0x24, 0x5C, 0x7F, 0xA4, 0xD7, 0x99, 0xBA, 0x65, 0xF0, 0x58, 0xB0, 0x7B, 0xC7,\r
+               0x27, 0xB8, 0x9B, 0xB0, 0xCF, 0xEC, 0x5E, 0xBE, 0x8C, 0xAF, 0x69, 0xE9, 0xDB, 0x5B, 0xF8, 0xAF,\r
+               0xFB, 0x5B, 0x78, 0x8F, 0xD5, 0xF6, 0x85, 0x7F, 0x5C, 0x7F, 0x9C, 0xCC, 0xE5, 0xE7, 0xC6, 0x2D,\r
+               0xFA, 0xE0, 0xC3, 0x35, 0x9A, 0xB9, 0x16, 0xA3, 0x87, 0xA4, 0xAA, 0x21, 0x54, 0x2C, 0x77, 0x57,\r
+               0xFC, 0xA2, 0x81, 0x71, 0xEF, 0xCC, 0x2D, 0xED, 0x8F, 0xAC, 0x22, 0xA1, 0xDC, 0x04, 0xFF, 0xF7,\r
+               0x8D, 0x6F, 0x4C, 0xCD, 0x96, 0xB5, 0x8A, 0x33, 0xCE, 0xED, 0x6F, 0xAD, 0x62, 0x18, 0x41, 0x55,\r
+               0xC2, 0xC3, 0xE0, 0x2E, 0xA5, 0x86, 0xA3, 0x29, 0x45, 0x66, 0x0C, 0x45, 0x4C, 0xB5, 0x6F, 0xD6,\r
+               0xC9, 0x2F, 0x0C, 0xC9, 0x48, 0x6B, 0xA1, 0xC6, 0x4D, 0x6E, 0x84, 0xC5, 0x2A, 0xD4, 0x09, 0xD1,\r
+               0x71, 0xBE, 0x9D, 0xE0, 0x00, 0x23, 0x6D, 0x42, 0x5E, 0x7D, 0xDE, 0x8C, 0x1D, 0xE9, 0x3E, 0xDB,\r
+               0xC1, 0x95, 0xB6, 0x7B, 0x6D, 0x4E, 0xCF, 0x8D, 0x95, 0xB6, 0xF9, 0x60, 0x03, 0x26, 0x20, 0x0A,\r
+               0x35, 0xFE, 0xDD, 0xE4, 0x61, 0x42, 0x53, 0x1D, 0x1B, 0x38, 0x87, 0x90, 0x05, 0x70, 0x26, 0x5A,\r
+               0x08, 0xC9, 0xEA, 0xEE, 0x86, 0xA5, 0x9B, 0x32, 0x1C, 0x3F, 0xD8, 0xC8, 0xA3, 0xF5, 0x80, 0x79,\r
+               0xDF, 0xC6, 0xE5, 0x36, 0x45, 0x66, 0x34, 0x5E, 0x3C, 0x1F, 0xAB, 0x9B, 0x40, 0x29, 0x63, 0x46,\r
+               0xF6, 0xF5, 0xD6, 0x2C, 0x98, 0xBB, 0x54, 0xE3, 0x5F, 0x7C, 0xD7, 0x84, 0x28, 0x96, 0x0B, 0x91,\r
+               0xFE, 0x4F, 0x6C, 0x9E, 0xB4, 0x97, 0xBB, 0x20, 0xA0, 0x83, 0x86, 0x2A, 0xD3, 0xD3, 0xF0, 0x2F,\r
+               0x25, 0x55, 0x76, 0x5F, 0x5F, 0x7C, 0xEF, 0x9F, 0x9C, 0xBF, 0x78, 0xE8, 0x41, 0x20, 0x62, 0x4E,\r
+               0xD1, 0x3E, 0x1D, 0xC0, 0xC8, 0xEB, 0x01, 0xE6, 0x1E, 0x3D, 0x9A, 0x88, 0xD4, 0x8C, 0xF7, 0x77,\r
+               0xE1, 0xA7, 0x84, 0x69, 0x11, 0x32, 0x75, 0x4B, 0xFC, 0xDF, 0x4F, 0xBF, 0x89, 0x4C, 0xAA, 0xEA,\r
+               0xBE, 0x46, 0x41, 0x46, 0x45, 0x17, 0xEB, 0x10, 0x39, 0xE8, 0x68, 0x3E, 0x7C, 0x4A, 0x8F, 0x88,\r
+               0x89, 0x93, 0xA3, 0xA4, 0x85, 0x4A, 0x76, 0x4D, 0xA0, 0xD8, 0xC1, 0xA7, 0x08, 0xE7, 0x56, 0x51,\r
+               0xE9, 0x71, 0x21, 0x26, 0x29, 0xDF, 0x4F, 0xD8, 0xCB, 0x2C, 0x5E, 0xCC, 0xE6, 0x9E, 0xC1, 0xC6,\r
+               0x2B, 0x8F, 0x1D, 0x1A, 0xDA, 0x4D, 0x2E, 0x4A, 0xD1, 0xF7, 0x9F, 0xD6, 0xB2, 0x21, 0x2A, 0x2D,\r
+               0x85, 0xDE, 0xE2, 0xE5, 0x9F, 0xB6, 0x90, 0xB1, 0x6B, 0xFF, 0x2D, 0x6C, 0x5D, 0xE2, 0x06, 0x01,\r
+               0x9A, 0xA2, 0x81, 0x86, 0x20, 0xDE, 0x47, 0xD9, 0x58, 0xD6, 0x37, 0x5F, 0x3D, 0x5F, 0xDB, 0xDC,\r
+               0xC9, 0xD1, 0xA1, 0xA6, 0xFC, 0x3D, 0x78, 0x3A, 0x57, 0x01, 0xEF, 0x50, 0x92, 0x33, 0x18, 0x1F,\r
+               0x91, 0x8E, 0xA6, 0xA1, 0x79, 0x9B, 0x5B, 0x9C, 0x60, 0x3C, 0xE5, 0x67, 0x5A, 0x1C, 0xFF, 0xF8,\r
+               0x61, 0xF0, 0x28, 0x2F, 0x2F, 0x9D, 0x0B, 0x9A, 0x0B, 0xC8, 0x7A, 0x0C, 0xC6, 0x8C, 0xF3, 0xF4,\r
+               0x8D, 0xD7, 0xE3, 0xE4, 0xE0, 0x83, 0xDA, 0x84, 0x20, 0x78, 0xE1, 0x27, 0x64, 0x43, 0x9E, 0x99,\r
+               0xC4, 0x8D, 0xF0, 0xF7, 0xDD, 0xB4, 0xD0, 0xB3, 0xB1, 0xC0, 0xC8, 0xB6, 0xA8, 0xC7, 0xD6, 0xD1,\r
+               0x44, 0x05, 0xF8, 0xFF, 0xBC, 0xD2, 0xD7, 0xD5, 0x5D, 0xCB, 0x2F, 0x5A, 0xAA, 0x28, 0x3B, 0x3C,\r
+               0xAC, 0x66, 0x73, 0x74, 0x11, 0xFC, 0x54, 0xFB, 0xF1, 0x84, 0xCC, 0xF6, 0x83, 0x32, 0x08, 0x0F,\r
+               0xA0, 0x2B, 0x32, 0x35, 0x0D, 0x42, 0xF6, 0x45, 0x3C, 0xF5, 0x70, 0x3B, 0x24, 0xEC, 0x71, 0x76,\r
+               0x20, 0xA3, 0x3A, 0x3D, 0x25, 0xCA, 0x56, 0xCD, 0x7E, 0xF3, 0x34, 0x79, 0x1F, 0xA2, 0x04, 0x03,\r
+               0xCD, 0x95, 0xE1, 0xE6, 0xEE, 0x7B, 0x2C, 0x7C, 0xC5, 0xF2, 0x8E, 0xC2, 0x8C, 0x7E, 0x4B, 0x4C,\r
+               0xE8, 0x60, 0x31, 0x36, 0x52, 0x45, 0xAE, 0x42, 0x26, 0x2E, 0xB1, 0x21, 0x57, 0xBF, 0x51, 0x56,\r
+               0xF1, 0x6C, 0x24, 0x23, 0xB9, 0xC6, 0xC6, 0xC1, 0x6A, 0xF6, 0x25, 0x6D, 0xAD, 0xD6, 0xC2, 0xC5,\r
+               0x57, 0x34, 0xDA, 0xDD, 0xE2, 0x6E, 0x35, 0x69, 0x49, 0xCE, 0x3E, 0x4E, 0x0F, 0x19, 0xAF, 0xA8,\r
+               0xB5, 0x6A, 0x66, 0x61, 0x35, 0x61, 0xED, 0x66, 0x00, 0x0B, 0xB2, 0x07, 0x67, 0x16, 0xC8, 0xCF,\r
+               0x7D, 0xA9, 0x6D, 0x6A, 0xFA, 0x7F, 0x3C, 0x78, 0xCF, 0x38, 0x4E, 0xC8, 0xAE, 0x83, 0x94, 0x93,\r
+               0x6E, 0x98, 0x4F, 0x48, 0x6D, 0x9F, 0x4B, 0x98, 0x43, 0x04, 0xFE, 0x44, 0xA0, 0x75, 0x6C, 0x6B,\r
+               0x09, 0x1B, 0xAB, 0xAC, 0xB3, 0x91, 0x9B, 0x96, 0x2B, 0xBB, 0x29, 0x2C, 0x27, 0xB9, 0x27, 0x20,\r
+               0x79, 0xED, 0x2D, 0x2A, 0xD5, 0x0E, 0x62, 0x09, 0x8E, 0x75, 0x42, 0x89, 0x68, 0x5A, 0x8B, 0x8C,\r
+               0x1F, 0x7F, 0xD9, 0xDE, 0x82, 0xB3, 0x88, 0xB4, 0xE6, 0xCA, 0x95, 0xE1, 0x2A, 0x1A, 0x89, 0x8E,\r
+               0x97, 0xFE, 0xD0, 0xD7, 0x4F, 0x40, 0xB6, 0x47, 0x92, 0xF8, 0xD3, 0x95, 0x1E, 0x18, 0xBF, 0xB8,\r
+               0xAB, 0x07, 0x15, 0x12, 0x97, 0x0C, 0x22, 0x0B, 0xE9, 0x1D, 0x4D, 0xEE, 0xAB, 0x92, 0x80, 0x87,\r
+               0x63, 0xC4, 0x1E, 0x19, 0xB6, 0x85, 0x8A, 0x82, 0x48, 0xC7, 0x36, 0x4F, 0x80, 0x67, 0x5E, 0x59,\r
+               0x1E, 0x6E, 0xC9, 0xCE, 0x47, 0xFA, 0x04, 0xFD, 0xFE, 0x53, 0x14, 0xF9, 0xFD, 0xC2, 0x86, 0x81,\r
+               0x05, 0x56, 0xEA, 0xED, 0x5C, 0xBD, 0x58, 0xBA, 0xEF, 0x4B, 0x1D, 0xE8, 0x4E, 0x0C, 0xFB, 0xFC,\r
+               0x0F, 0x6B, 0xDD, 0xDA, 0xB0, 0xC7, 0xCE, 0xC0, 0x5A, 0x94, 0x77, 0x5D, 0x09, 0x5D, 0xED, 0xEA,\r
+               0x69, 0xF9, 0x29, 0x2E, 0x3A, 0x22, 0xA1, 0x25, 0xEE, 0x42, 0x15, 0xE9, 0xE7, 0x24, 0x7A, 0x7D,\r
+               0x6F, 0x89, 0x5F, 0x58, 0x73, 0xCC, 0x06, 0xCB, 0xE0, 0x9C, 0xC5, 0xE7, 0x41, 0x40, 0xB8, 0xBF,\r
+               0xA3, 0x0E, 0x14, 0x13, 0xC1, 0x0A, 0x72, 0x0D, 0x12, 0x58, 0xF3, 0x15, 0x3F, 0xB0, 0x36, 0x31,\r
+               0x3A, 0x8A, 0x09, 0x0E, 0xC5, 0xA5, 0xD9, 0xA2, 0x5B, 0x9D, 0x7F, 0x5C, 0x21, 0xFD, 0x65, 0x62,\r
+               0x81, 0x9A, 0xA2, 0xA5, 0x51, 0x13, 0xFB, 0x14, 0x3E, 0xB7, 0x30, 0x39, 0x7B, 0xB4, 0x76, 0x71,\r
+               0x00, 0x03, 0xBA, 0xBD, 0xF1, 0x93, 0xDB, 0x94, 0x54, 0x4A, 0xA7, 0x53, 0x16, 0xAA, 0x05, 0x02,\r
+               0x52, 0x61, 0x8A, 0x8D, 0x3B, 0x99, 0x1B, 0x9E, 0x11, 0x13, 0xBB, 0x16, 0x33, 0xA9, 0x23, 0x24,\r
+               0x87, 0xEA, 0xD4, 0xD3, 0x87, 0xA7, 0x99, 0xA0, 0x38, 0xE1, 0x60, 0x3F, 0xA1, 0xCF, 0xD7, 0xD0,\r
+               0xFF, 0x15, 0x53, 0x54, 0x30, 0x75, 0xFC, 0x72, 0x46, 0x19, 0xE6, 0x41, 0x70, 0x53, 0x9A, 0x9D,\r
+               0xC0, 0xC9, 0xB0, 0xB7, 0x7E, 0x62, 0xA5, 0x65, 0xCD, 0x7A, 0x0E, 0xCA, 0x39, 0xF4, 0x74, 0x73,\r
+               0x49, 0x59, 0xA9, 0xAE, 0xB8, 0x7D, 0x7C, 0x7A, 0x0F, 0xDC, 0x6A, 0x08, 0x00, 0x55, 0xEC, 0xEB,\r
+               0xA6, 0x5B, 0x44, 0x43, 0xE9, 0x82, 0xD2, 0x85, 0x37, 0x36, 0xB8, 0x30, 0x43, 0xAF, 0x55, 0x52,\r
+               0x01, 0x12, 0xAA, 0xAD, 0xAF, 0x2F, 0x39, 0x28, 0xE7, 0xC3, 0x9D, 0xE0, 0xD9, 0x7B, 0x1B, 0x1C,\r
+               0xF8, 0x74, 0x35, 0x32, 0xD3, 0x4C, 0x26, 0x4B, 0x0D, 0x9E, 0x2A, 0x0A, 0xFB, 0x86, 0xC4, 0xC3,\r
+               0x3F, 0xDF, 0x59, 0x5E, 0x48, 0xB9, 0x48, 0xBE, 0x2E, 0xA6, 0x31, 0x29, 0xB1, 0x74, 0x7C, 0x7B,\r
+               0x84, 0xCF, 0xF2, 0xF5, 0xCD, 0x1F, 0x6B, 0x18, 0x52, 0x1C, 0xF7, 0x55, 0x5E, 0xB7, 0x50, 0x57,\r
+               0x13, 0x32, 0x98, 0x9F, 0xE5, 0x97, 0xCB, 0x90, 0xAD, 0x4D, 0x59, 0xAA, 0x72, 0xBC, 0x77, 0x70,\r
+               0xE3, 0x4C, 0x16, 0x11, 0xF4, 0x87, 0xCA, 0x80, 0xF4, 0x99, 0xD4, 0xF3, 0xD0, 0x73, 0x1A, 0x1D,\r
+               0x46, 0x31, 0xCE, 0xC9, 0xBA, 0x90, 0x93, 0x97, 0x6F, 0xEB, 0x3D, 0x68, 0x17, 0x10, 0xBE, 0xB9,\r
+               0x11, 0x06, 0xAE, 0xA9, 0x0C, 0xF9, 0x4C, 0xFE, 0x5C, 0xC2, 0x27, 0x5B, 0x69, 0xE0, 0x30, 0x37,\r
+               0x50, 0x55, 0xBC, 0xBB, 0x81, 0xE5, 0xDD, 0xE2, 0x8D, 0x3E, 0x0A, 0x8A, 0x76, 0x17, 0xD8, 0xDF,\r
+               0x80, 0x8B, 0xB2, 0xB5, 0x28, 0x64, 0xF5, 0x63, 0x2C, 0xE4, 0x71, 0x2B, 0xD4, 0xD8, 0xB5, 0xB2,\r
+               0x12, 0x23, 0x88, 0x8F, 0xBD, 0x69, 0x6D, 0x6E, 0x79, 0xAC, 0x6C, 0x7E, 0x2D, 0xE4, 0x70, 0x77,\r
+               0xFA, 0x40, 0x03, 0x04, 0x54, 0x07, 0xEA, 0x00, 0x8C, 0x37, 0x02, 0x8B, 0x0A, 0x08, 0xBB, 0xBC,\r
+               0x96, 0xEF, 0xC0, 0xC7, 0xA4, 0xC3, 0xDE, 0xC4, 0x1C, 0x86, 0x23, 0x1B, 0x14, 0x45, 0xE8, 0xEF,\r
+               0x65, 0xB4, 0x68, 0x6F, 0xA5, 0x78, 0x64, 0x7F, 0x01, 0x02, 0xBA, 0x06, 0x1A, 0xB3, 0x10, 0x17,\r
+               0x41, 0x50, 0xA8, 0xAF, 0x49, 0x02, 0xF2, 0x05, 0xF6, 0xDB, 0x94, 0xF1, 0xA7, 0x8B, 0x95, 0x92,\r
+               0x8F, 0xE3, 0xD5, 0xD2, 0x90, 0xF5, 0xDC, 0xF2, 0x72, 0x6F, 0xA4, 0x75, 0xB5, 0xDF, 0xD3, 0xD4,\r
+               0xD5, 0x88, 0xE4, 0xE3, 0x62, 0xDC, 0x07, 0xDB, 0x19, 0x9B, 0x3B, 0x1E, 0x65, 0xF9, 0x25, 0x22,\r
+               0x9C, 0xD2, 0xF7, 0xF0, 0x10, 0x47, 0xEE, 0x40, 0xA4, 0xCC, 0xD1, 0xA3, 0x63, 0xBD, 0x67, 0x60,\r
+               0xC3, 0xEC, 0x96, 0x91, 0x7D, 0x34, 0xF0, 0x33, 0x63, 0x77, 0xAD, 0x64, 0x26, 0x03, 0x9C, 0x9B,\r
+               0x51, 0x44, 0xAC, 0xAB, 0x96, 0xB7, 0x98, 0xB0, 0x33, 0x22, 0xA8, 0x34, 0x5F, 0x0D, 0xEB, 0xEC,\r
+               0x82, 0xBF, 0x84, 0x83, 0x91, 0x4E, 0x66, 0x49, 0xFD, 0x18, 0x5C, 0xFA, 0xBE, 0x38, 0x3F, 0x38,\r
+               0xA7, 0x32, 0xE7, 0xA3, 0xE4, 0x53, 0xC5, 0x17, 0x26, 0xDF, 0x8B, 0x62, 0x1E, 0xAC, 0xC0, 0x84,\r
+               0x7F, 0xE5, 0xE8, 0xAC, 0xBA, 0xEF, 0x27, 0xAB, 0x41, 0xB7, 0x84, 0x05, 0xDB, 0x20, 0x89, 0xCD,\r
+               0x3C, 0x82, 0xCC, 0x88, 0xB0, 0xB8, 0x7A, 0xFC, 0xD8, 0x87, 0x2D, 0x9C, 0xFE, 0x23, 0xAF, 0xEB,\r
+               0x54, 0x69, 0x4F, 0x0B, 0xBC, 0xAD, 0x63, 0xE9, 0x4B, 0x7D, 0x44, 0x0F, 0x26, 0xB7, 0xE3, 0xA7,\r
+               0x09, 0x63, 0x18, 0x5C, 0xCB, 0x22, 0x9B, 0x66, 0xAE, 0xF7, 0x2B, 0xEA, 0x6B, 0xBB, 0xA2, 0xE6,\r
+               0xF0, 0x05, 0x87, 0xC3, 0x3D, 0xA4, 0xEB, 0xE0, 0x02, 0xB8, 0xC8, 0x46, 0xA5, 0xD0, 0x07, 0x43,\r
+               0xAE, 0x2A, 0xF6, 0xB2, 0x79, 0xE4, 0xEF, 0xA0, 0x1D, 0x7E, 0x11, 0x59, 0xE8, 0xDC, 0x46, 0x02,\r
+               0xD9, 0xBD, 0x16, 0x52, 0x48, 0xC6, 0xFC, 0x82, 0xE5, 0x70, 0xE7, 0xA1, 0xD4, 0x6C, 0xCA, 0x8E,\r
+               0xB0, 0x47, 0x85, 0xC1, 0xD7, 0x9C, 0x39, 0xD8, 0x09, 0x7B, 0x00, 0x4D, 0xCD, 0xDF, 0x60, 0x24,\r
+               0x18, 0x66, 0x0C, 0x48, 0x14, 0x97, 0xF1, 0xD3, 0xD7, 0x50, 0xF5, 0x93, 0x17, 0xA4, 0xC1, 0x85,\r
+               0x1A, 0x52, 0x3A, 0x7E, 0xAF, 0x50, 0x8D, 0x14, 0x00, 0xFA, 0x88, 0x44, 0x1A, 0x07, 0x6F, 0x2B,\r
+               0x24, 0x9F, 0xC9, 0x8D, 0x2E, 0x59, 0x05, 0x1D, 0x36, 0xCE, 0x8A, 0x72, 0x28, 0x41, 0x1B, 0x5F,\r
+               0x5C, 0x60, 0x4E, 0x0A, 0xBB, 0x54, 0x9D, 0x10, 0x64, 0xD9, 0xCF, 0x20, 0x44, 0xE5, 0xD3, 0x97,\r
+               0x33, 0xEA, 0xAB, 0xEF, 0x29, 0xA0, 0xFB, 0xE4, 0xF3, 0x37, 0xB6, 0xB7, 0x92, 0x87, 0x67, 0x23,\r
+               0x96, 0x97, 0x73, 0x37, 0xBE, 0x40, 0x8C, 0x04, 0x0F, 0x2D, 0x50, 0x4B, 0x83, 0x86, 0x77, 0x33,\r
+               0xCA, 0x8C, 0x34, 0x70, 0x86, 0x63, 0x97, 0x27, 0x72, 0x9E, 0x9E, 0x36, 0x9B, 0x8F, 0x66, 0x22,\r
+               0xDD, 0xF9, 0x56, 0x12, 0xA1, 0xA8, 0x7B, 0xEC, 0x48, 0x36, 0x0C, 0x0C, 0xFC, 0xCC, 0x42, 0x06,\r
+               0xBC, 0x0A, 0xC4, 0x80, 0x5F, 0x94, 0xB9, 0xD0, 0xA3, 0x62, 0xB3, 0xE7, 0x27, 0x0D, 0x58, 0x1C,\r
+               0x79, 0x95, 0x9E, 0xDA, 0x96, 0xC8, 0x2C, 0x8C, 0x06, 0xAC, 0xD8, 0x42, 0x38, 0xFA, 0xB0, 0xF4,\r
+               0xE4, 0x55, 0xC3, 0x87, 0x43, 0x2A, 0x1B, 0x6E, 0xDF, 0xD8, 0x75, 0x9B, 0x08, 0x53, 0x29, 0x6D,\r
+               0xEA, 0x2C, 0xB4, 0xF0, 0x01, 0x28, 0x5B, 0x6C, 0x91, 0x42, 0xA1, 0xD5, 0xD1, 0x7D, 0xDE, 0x9A,\r
+               0xC9, 0xA9, 0x12, 0x56, 0x5E, 0x2F, 0x03, 0x6B, 0x76, 0x8A, 0x8E, 0x32, 0xEC, 0x77, 0xE9, 0xAD,\r
+               0x02, 0x4F, 0x3F, 0x7B, 0x0E, 0x6B, 0x17, 0x2F, 0x8F, 0x8D, 0x70, 0xCB, 0x2F, 0xBF, 0xE2, 0xA6,\r
+               0xD5, 0xF0, 0x57, 0x13, 0x72, 0x08, 0x08, 0x4C, 0x52, 0xED, 0xCD, 0x16, 0x06, 0xA5, 0xD1, 0x95,\r
+               0x42, 0x0D, 0x3D, 0x79, 0x5D, 0x79, 0x56, 0x3D, 0x5F, 0x78, 0x55, 0x1B, 0x10, 0x5A, 0x38, 0x7C,\r
+               0x45, 0x6C, 0x5B, 0x1F, 0xD5, 0x71, 0xD6, 0x35, 0xB2, 0x7A, 0xBA, 0xF6, 0x1B, 0xBD, 0xD4, 0x90,\r
+               0x99, 0xFF, 0x14, 0x50, 0x20, 0xA1, 0xF3, 0xE5, 0x7A, 0x16, 0x1E, 0x3E, 0x18, 0xE8, 0x82, 0xC6,\r
+               0x48, 0x30, 0x0A, 0x4E, 0x07, 0x6A, 0x1F, 0x2E, 0x17, 0xB4, 0xD1, 0x53, 0xA8, 0x73, 0xA9, 0xED,\r
+               0xC4, 0xF5, 0x43, 0x07, 0x73, 0xB3, 0xB2, 0xF7, 0x8D, 0xCF, 0x30, 0xC9, 0x23, 0xA6, 0xF7, 0xB3,\r
+               0xBE, 0x3E, 0xF2, 0xB6, 0x45, 0x68, 0x5F, 0x2C, 0xC2, 0x5C, 0xEC, 0x86, 0x22, 0x1C, 0x4C, 0x08,\r
+               0xC6, 0xC1, 0x75, 0x31, 0xB6, 0xFA, 0x3E, 0xBE, 0x81, 0x53, 0xA0, 0xC5, 0x54, 0x5E, 0x78, 0x3C,\r
+               0x64, 0xDD, 0xCB, 0x8F, 0xFB, 0xBB, 0x32, 0xFF, 0xF8, 0xF4, 0x7E, 0xBC, 0x25, 0xE2, 0xB5, 0xF1,\r
+               0xDE, 0xDC, 0x70, 0x34, 0xD6, 0x27, 0x83, 0x63, 0xB9, 0xB9, 0x72, 0xFD, 0x12, 0xB5, 0xD5, 0x91,\r
+               0x4F, 0x51, 0x6C, 0x28, 0x85, 0x35, 0xC2, 0x71, 0x51, 0xA6, 0x85, 0x15, 0xEE, 0x98, 0x04, 0x40,\r
+               0x58, 0x24, 0x0E, 0x4A, 0x9C, 0x9F, 0x71, 0xDB, 0x93, 0x00, 0xE1, 0xD7, 0x49, 0x46, 0x7D, 0x39,\r
+               0x01, 0x6A, 0x19, 0x5D, 0xE1, 0x47, 0xD4, 0x03, 0x37, 0xC7, 0x82, 0x73, 0x3B, 0xAF, 0xE6, 0xA2,\r
+               0x78, 0x84, 0x8E, 0xCA, 0x90, 0x8A, 0x68, 0xCE, 0x32, 0xDA, 0x9A, 0x76, 0xE7, 0x90, 0x05, 0x41,\r
+               0x4C, 0x74, 0x4A, 0x0E, 0x3F, 0x49, 0x04, 0x0D, 0x61, 0xC4, 0xD7, 0x25, 0x56, 0xB1, 0x95, 0xD1,\r
+               0x67, 0xF8, 0xED, 0xA9, 0x5B, 0x3B, 0x12, 0x7F, 0x3C, 0x04, 0x4A, 0x78, 0x34, 0xE3, 0xA5, 0xE1,\r
+               0xFF, 0x6D, 0xE0, 0xA4, 0xF3, 0x01, 0x80, 0x45, 0xF9, 0xFD, 0x76, 0xBD, 0x7C, 0xFE, 0xF0, 0xB4,\r
+               0x4E, 0x40, 0x7C, 0x38, 0x33, 0x5C, 0x1D, 0x18, 0x5A, 0x65, 0x4D, 0x1E, 0xBF, 0x36, 0xFB, 0xBF,\r
+               0x95, 0xB2, 0x55, 0x11, 0x58, 0x6D, 0x47, 0x29, 0xAC, 0xB5, 0x6B, 0xE8, 0x4B, 0xA9, 0x90, 0xD4,\r
+               0xF6, 0x75, 0xF1, 0xB5, 0x64, 0xE1, 0xF7, 0xA5, 0x99, 0xCA, 0x21, 0xDD, 0xD2, 0x28, 0x88, 0xCC,\r
+               0x60, 0x99, 0x8B, 0xCF, 0x80, 0x21, 0xD3, 0x65, 0x1C, 0x77, 0x19, 0x58, 0x0B, 0x06, 0x7F, 0x3B,\r
+               0x0A, 0x46, 0x3E, 0x7A, 0x94, 0x25, 0xC3, 0x61, 0x62, 0x8F, 0x9F, 0x26, 0xF2, 0x3A, 0xBA, 0xFE,\r
+               0xF4, 0x41, 0xC7, 0x83, 0x6F, 0x0D, 0x10, 0x49, 0xB6, 0x6E, 0xAA, 0xF2, 0xC8, 0xCE, 0x74, 0x30,\r
+               0x7C, 0xC0, 0xCE, 0x8A, 0x02, 0x7E, 0x0E, 0x3A, 0xEE, 0xB3, 0x2F, 0xAA, 0x1C, 0x43, 0x2D, 0x69,\r
+               0x62, 0xAD, 0xBD, 0xF9, 0x3C, 0x1F, 0x51, 0x5B, 0x15, 0xF6, 0x91, 0x51, 0xA7, 0x3F, 0xEA, 0xAE,\r
+               0x4B, 0x15, 0x2C, 0x68, 0x5A, 0x80, 0xA8, 0xC4, 0xEC, 0xF1, 0x6F, 0xA8, 0x4D, 0xED, 0xD2, 0x96,\r
+               0x69, 0x81, 0x9A, 0xDE, 0x4A, 0x2B, 0x13, 0x6F, 0xFF, 0xAB, 0x26, 0xBB, 0x67, 0xA2, 0xB7, 0xF3,\r
+               0x94, 0xA3, 0x45, 0x01, 0x59, 0xD6, 0xFD, 0x92, 0x31, 0x91, 0xD2, 0x75, 0x4C, 0x57, 0x69, 0x2D,\r
+               0xE0, 0x11, 0x83, 0xC7, 0xDE, 0x9D, 0x31, 0xD9, 0xBF, 0xEF, 0x22, 0xFB, 0x88, 0x61, 0x9B, 0xDF,\r
+               0x0B, 0x57, 0x2E, 0x6A, 0x3A, 0x5D, 0x15, 0x19, 0x5E, 0x71, 0x5D, 0x1A, 0x31, 0xF2, 0xB1, 0xF5,\r
+               0x6E, 0xE0, 0xFC, 0xB8, 0xC5, 0xDA, 0x6D, 0x9E, 0x13, 0xA0, 0xC1, 0x57, 0xC9, 0x74, 0xCF, 0x8B,\r
+               0x49, 0x21, 0x1A, 0x5E, 0xD3, 0x33, 0x92, 0x77, 0x8C, 0xC6, 0x38, 0xC8, 0x9A, 0x35, 0xDD, 0x99,\r
+               0x89, 0xEB, 0x10, 0x54, 0xB1, 0x03, 0xC0, 0x47, 0xAA, 0xE3, 0x3B, 0xEE, 0xC3, 0x29, 0x98, 0xDC,\r
+               0x40, 0x39, 0x0B, 0x4F, 0x8B, 0xCD, 0x34, 0x89, 0xDC, 0x93, 0x3D, 0x98, 0xE6, 0x2A, 0xBE, 0xFA,\r
+               0xAB, 0x7F, 0xA6, 0xE2, 0xC2, 0x23, 0x93, 0x67, 0x92, 0x09, 0xE9, 0xD6, 0x13, 0x0F, 0x6E, 0x2A,\r
+               0x37, 0xAE, 0xEB, 0xAF, 0x19, 0x39, 0x52, 0x7D, 0xFD, 0xE9, 0x66, 0xB9, 0xAA, 0x9C, 0x44, 0x00,\r
+               0xEE, 0x68, 0xF4, 0xB0, 0x89, 0x20, 0xDB, 0x64, 0x65, 0xD0, 0xC7, 0x21, 0x0C, 0xF8, 0x86, 0xC2,\r
+               0xF9, 0x1D, 0x96, 0xD2, 0x1F, 0x7B, 0x16, 0x3F, 0xD9, 0x8E, 0x25, 0x9D, 0xCC, 0x65, 0xDB, 0x9F,\r
+               0x59, 0x35, 0x1E, 0x5A, 0xE2, 0x11, 0x81, 0x55, 0xFE, 0xA2, 0x2E, 0xBA, 0x9D, 0xCB, 0x24, 0x60,\r
+               0xB4, 0x03, 0xC5, 0x81, 0xA4, 0xBC, 0x6A, 0xF8, 0x4D, 0x2B, 0x14, 0x09, 0x4E, 0xB8, 0x84, 0xC0,\r
+               0xDA, 0x98, 0x30, 0x74, 0x0F, 0xD0, 0xAD, 0x94, 0xF5, 0x61, 0xE6, 0xB1, 0x76, 0xA3, 0xA7, 0xE3,\r
+               0x9E, 0x11, 0xD9, 0x8B, 0x12, 0x8F, 0xCB, 0xDD, 0x41, 0x28, 0x3F, 0x13, 0xBC, 0x1D, 0xF7, 0xA5,\r
+               0x03, 0xD1, 0x84, 0xD6, 0xC7, 0x6D, 0xFC, 0x3F, 0x98, 0x5C, 0x92, 0xCA, 0x8C, 0xB4, 0x6E, 0x3C,\r
+               0x3A, 0x7D, 0x11, 0x43, 0x25, 0xEF, 0x9C, 0xBD, 0x0F, 0xB2, 0xEB, 0x5D, 0x78, 0x2B, 0x05, 0x57,\r
+               0x5B, 0x8E, 0x83, 0xD1, 0xDB, 0xD3, 0x5E, 0x81, 0xE4, 0xE6, 0x54, 0xB6, 0xA3, 0xEA, 0x1F, 0x4D,\r
+               0xE5, 0xCB, 0x78, 0x2A, 0x8A, 0x2C, 0xF0, 0x7E, 0xC8, 0x09, 0x97, 0x9A, 0xAB, 0x58, 0xA5, 0xF7,\r
+               0x32, 0x74, 0x10, 0x42, 0xF6, 0x4F, 0xEF, 0x1D, 0x15, 0x69, 0x2A, 0x47, 0x82, 0x42, 0x96, 0xC4,\r
+               0x0D, 0xA8, 0xF3, 0xA1, 0x85, 0x6F, 0xBC, 0x3D, 0xD6, 0xC6, 0x46, 0x84, 0x55, 0x9A, 0x99, 0xCB,\r
+               0x2E, 0x2D, 0x55, 0x07, 0xDA, 0x68, 0xE4, 0x3A, 0x31, 0x0E, 0x69, 0x63, 0x68, 0x90, 0xAE, 0xFC,\r
+               0x7E, 0x7B, 0x53, 0x01, 0xA4, 0xE6, 0x14, 0xB4, 0x3D, 0x92, 0xF9, 0x6F, 0x9C, 0x0F, 0xC5, 0x97,\r
+               0xAF, 0xB4, 0x4D, 0x1F, 0x83, 0x2D, 0xF8, 0x7F, 0x50, 0x30, 0x36, 0x02, 0x2C, 0x94, 0xEE, 0xBC,\r
+               0xA5, 0x89, 0x7A, 0x28, 0xD9, 0x3E, 0xB1, 0x6C, 0x18, 0xFC, 0xB2, 0x4A, 0x94, 0xBD, 0x7F, 0x2D,\r
+               0xA2, 0xE8, 0x1C, 0x4E, 0x51, 0x36, 0x31, 0x64, 0xF5, 0xFE, 0x5D, 0xA7, 0x9F, 0x5A, 0x93, 0xC1,\r
+               0x21, 0x45, 0x32, 0x60, 0x32, 0xBD, 0xD9, 0xEF, 0xC6, 0xD7, 0x47, 0x94, 0xD0, 0xB9, 0x3F, 0x6D,\r
+               0x83, 0x59, 0x8C, 0xDE, 0x7F, 0xFC, 0xD5, 0xAE, 0xBF, 0x70, 0x99, 0xED, 0xA1, 0x05, 0xF2, 0xA0,\r
+               0x23, 0x71, 0x04, 0x56, 0xF7, 0xF4, 0x55, 0xA6, 0xCA, 0x4B, 0xD7, 0x98, 0xA7, 0x41, 0xB0, 0xE2,\r
+               0x59, 0xBA, 0xB5, 0xE7, 0xC1, 0x2F, 0xB8, 0x7D, 0x85, 0xD8, 0x0B, 0xD7, 0xA6, 0xFB, 0x0B, 0x59,\r
+               0xDB, 0x06, 0x8B, 0xD9, 0x34, 0xFF, 0x9D, 0xAD, 0x9F, 0x03, 0xCA, 0xCD, 0x7A, 0xC4, 0xE8, 0xBA,\r
+               0xB3, 0xED, 0x08, 0x5A, 0x38, 0xEA, 0x84, 0xB8, 0x0C, 0xF9, 0xA3, 0x5E, 0xA2, 0x50, 0xA4, 0xF6,\r
+               0x40, 0xB6, 0xA0, 0xF2, 0x60, 0x14, 0x22, 0x46, 0x61, 0x5B, 0x6C, 0x33, 0x9A, 0x4B, 0x87, 0xD5,\r
+               0x98, 0x61, 0xAF, 0xFD, 0x3E, 0xA8, 0xC0, 0xFA, 0x06, 0x33, 0x63, 0x54, 0x5F, 0xC7, 0xCE, 0x9C,\r
+               0x49, 0xAE, 0xB1, 0xE3, 0xFD, 0xA3, 0x08, 0xF1, 0x5A, 0xFA, 0xF6, 0x08, 0x6C, 0x3B, 0x01, 0x53,\r
+               0x3E, 0x39, 0x51, 0x03, 0xCC, 0x81, 0x1B, 0xD3, 0xA2, 0xF4, 0x00, 0xF0, 0x50, 0x8B, 0x8D, 0xDF,\r
+               0xEE, 0xE7, 0x5F, 0x0D, 0x4F, 0x65, 0x7C, 0x37, 0xE9, 0x73, 0xCC, 0xBB, 0xEF, 0x5C, 0xE5, 0xB7,\r
+               0x17, 0x81, 0xC0, 0x92, 0xB9, 0xE3, 0x0C, 0xB1, 0x45, 0x3C, 0x2F, 0x17, 0x21, 0x37, 0x40, 0x12,\r
+               0xFD, 0xD6, 0x7D, 0x2F, 0x2B, 0x17, 0x6A, 0x45, 0x47, 0x7E, 0x6F, 0x15, 0x9E, 0xE0, 0x28, 0x7A,\r
+               0xC3, 0x1B, 0x8E, 0xDC, 0xAA, 0x1E, 0xE2, 0x4C, 0x71, 0x4A, 0x6D, 0x23, 0xAC, 0xA6, 0x5C, 0x0E,\r
+               0x57, 0xC3, 0xC2, 0x90, 0x53, 0xDB, 0xDE, 0x89, 0x4E, 0xFF, 0xE7, 0x1C, 0x49, 0x38, 0x27, 0x75,\r
+               0xFF, 0xE2, 0x4B, 0x19, 0x90, 0xD0, 0x16, 0x82, 0x90, 0xD4, 0x12, 0xC2, 0x93, 0x43, 0x86, 0xD4,\r
+               0x71, 0x13, 0x34, 0x66, 0x3A, 0x07, 0x6B, 0x55, 0x48, 0xA9, 0xB7, 0x1A, 0x07, 0x61, 0x30, 0x62,\r
+               0x2D, 0x08, 0x73, 0x21, 0x02, 0x24, 0x70, 0x76, 0x35, 0x1A, 0x79, 0x67, 0x1F, 0x68, 0x21, 0x73,\r
+               0xBB, 0xE4, 0x09, 0x5B, 0x3F, 0x13, 0x7A, 0x41, 0x23, 0x5D, 0x28, 0x71, 0xC0, 0x02, 0x94, 0xC6,\r
+               0xD4, 0x6E, 0xEC, 0xBE, 0xAD, 0xE7, 0x1C, 0xB5, 0xB4, 0xB3, 0x51, 0xE6, 0x16, 0x60, 0x20, 0x72,\r
+               0x73, 0x27, 0x02, 0x50, 0xDD, 0x91, 0x1A, 0xC3, 0x76, 0x15, 0x35, 0x24, 0xC8, 0xB0, 0x2E, 0x7C,\r
+               0x07, 0x95, 0xC4, 0x96, 0x5A, 0xDA, 0xD6, 0x88, 0xF8, 0x6B, 0xC5, 0xAA, 0x0C, 0x86, 0xDC, 0x8E,\r
+               0xAC, 0x91, 0x6B, 0x39, 0xDE, 0xC7, 0x4F, 0x95, 0xAB, 0x75, 0x88, 0xF9, 0xC9, 0x0A, 0x95, 0xC7,\r
+               0x8E, 0x05, 0xDD, 0x8F, 0xCE, 0x6C, 0xF4, 0x3E, 0xB8, 0x2F, 0xC1, 0xEA, 0xE3, 0x45, 0xF0, 0xA2,\r
+               0xAE, 0xA5, 0x5D, 0x0F, 0x57, 0x74, 0x75, 0x26, 0xCB, 0x42, 0xDF, 0x99, 0x1E, 0xD2, 0x9A, 0xC8,\r
+               0x6E, 0x6F, 0x57, 0x05, 0x35, 0x44, 0x27, 0x16, 0xED, 0x67, 0xDC, 0xBF, 0x47, 0xCE, 0xDF, 0x8D,\r
+               0xEC, 0xD3, 0x69, 0x3B, 0xBE, 0x1A, 0xF2, 0x48, 0x19, 0xF5, 0xBA, 0x4B, 0xB5, 0x15, 0xF6, 0xA4,\r
+               0x89, 0x64, 0xBB, 0xE9, 0x41, 0x9D, 0x8A, 0xCF, 0x54, 0x24, 0x26, 0x06, 0x4D, 0x93, 0x88, 0xDA,\r
+               0xD0, 0x2A, 0xAC, 0xFE, 0x9D, 0x7E, 0xB5, 0x2C, 0xBA, 0x6D, 0x81, 0xE8, 0x2E, 0x7B, 0x03, 0x51,\r
+               0x09, 0xEC, 0xB3, 0xE1, 0x0D, 0x67, 0x3C, 0x35, 0x22, 0x54, 0x20, 0x70, 0x88, 0x1F, 0xC1, 0x93,\r
+               0xA7, 0xBD, 0x4C, 0x1E, 0x0F, 0x8A, 0xD3, 0xD8, 0x9B, 0x17, 0xDA, 0xC9, 0x62, 0xCD, 0xF9, 0xAB,\r
+               0x4C, 0xFB, 0xE1, 0xB3, 0x46, 0x64, 0x74, 0x36, 0xD5, 0x8D, 0x0E, 0x87, 0x97, 0xE8, 0x29, 0x7B,\r
+               0x53, 0x87, 0x82, 0xD0, 0x20, 0xFB, 0x8D, 0xA9, 0x0A, 0xAF, 0xF3, 0x58, 0xCA, 0x5F, 0xC3, 0x91,\r
+               0x3D, 0x1C, 0x77, 0x25, 0x8B, 0x97, 0x4A, 0xC5, 0xB2, 0xE5, 0x01, 0xE0, 0xF2, 0x44, 0xE0, 0xB2,\r
+               0x1E, 0x99, 0xD1, 0x83, 0x9B, 0x3C, 0xF1, 0x6E, 0x9E, 0x0A, 0xC2, 0xCC, 0x48, 0x82, 0x9C, 0xCE,\r
+               0xBE, 0xB1, 0x59, 0x0B, 0x66, 0x56, 0x66, 0x04, 0xB9, 0x26, 0xC9, 0xEB, 0x19, 0x2C, 0x63, 0x31,\r
+               0xBF, 0xA0, 0x49, 0x1B, 0x18, 0xD8, 0x96, 0x8A, 0xD4, 0x84, 0x06, 0x86, 0xCD, 0xA1, 0x3A, 0x68,\r
+               0xE6, 0xEE, 0x5E, 0x0C, 0x65, 0x00, 0x33, 0x52, 0x70, 0x43, 0x65, 0x22, 0xBF, 0x48, 0xA1, 0xF3,\r
+               0x39, 0x58, 0x37, 0x65, 0x52, 0x60, 0x64, 0x32, 0xFE, 0x3D, 0x95, 0xAC, 0x96, 0x52, 0x92, 0xC0,\r
+               0xA8, 0xD5, 0x2B, 0x79, 0x01, 0x72, 0x25, 0x20, 0x16, 0x22, 0x62, 0x44, 0x6A, 0x7F, 0x43, 0x11,\r
+               0x80, 0x7C, 0xAA, 0xF8, 0xDF, 0x7C, 0xF5, 0x2E, 0x7B, 0x80, 0xAD, 0x29, 0xB0, 0x04, 0xE2, 0xB0,\r
+               0x18, 0xE9, 0xA7, 0xF5, 0x77, 0x46, 0x67, 0x14, 0xBE, 0x79, 0x91, 0xEC, 0xF8, 0x19, 0xB7, 0xE5,\r
+               0x9F, 0x00, 0xC9, 0x9B, 0x14, 0xCD, 0x8F, 0x9F, 0x75, 0x5E, 0x7D, 0x27, 0x63, 0x77, 0x42, 0x10,\r
+               0xAB, 0xF0, 0x0D, 0x5F, 0xBB, 0x0E, 0xE3, 0x5C, 0x26, 0x40, 0x30, 0x74, 0xD2, 0x56, 0xD2, 0x80,\r
+               0x11, 0xF1, 0xB6, 0xE4, 0xE0, 0xA6, 0x10, 0xF4, 0xDE, 0x4E, 0xC6, 0x8C, 0x56, 0xCF, 0xCF, 0x9D,\r
+               0x87, 0x1D, 0xCC, 0x9E, 0x04, 0x66, 0x34, 0x34, 0x5B, 0xF3, 0xFE, 0x09, 0x8F, 0xE1, 0x38, 0x6A,\r
+               0xA9, 0xC4, 0x3B, 0x69, 0xB7, 0x1B, 0xFA, 0x49, 0x1D, 0xE1, 0xAA, 0x4F, 0x3B, 0xD1, 0xBC, 0xEE,\r
+               0x72, 0x36, 0x12, 0x40, 0xDC, 0x2A, 0xA0, 0x78, 0xEB, 0x31, 0x8C, 0xB9, 0xCF, 0x4E, 0xD7, 0x85,\r
+               0x9B, 0x44, 0x89, 0xDB, 0x86, 0x39, 0xE9, 0x6B, 0xA9, 0x37, 0xC8, 0xFB, 0x98, 0xA4, 0x6A, 0x38,\r
+               0x85, 0x29, 0xFA, 0xA8, 0xB8, 0x58, 0xB6, 0x0A, 0x52, 0x72, 0x76, 0x00, 0x23, 0xD8, 0xAD, 0xFF,\r
+               0xED, 0xC2, 0x79, 0x2B, 0x10, 0x62, 0x24, 0x30, 0x25, 0x0B, 0x78, 0x77, 0x76, 0xDD, 0xFD, 0xAF,\r
+               0x13, 0xC5, 0x80, 0xD2, 0xEB, 0x4A, 0xF7, 0x18, 0xF1, 0xEA, 0x4D, 0xA3, 0x4C, 0x29, 0x33, 0x61,\r
+               0x3F, 0x43, 0x48, 0x87, 0x57, 0x4C, 0x2F, 0x83, 0xF4, 0x1D, 0xDD, 0x3B, 0x20, 0xD7, 0xC3, 0x0C,\r
+               0x0B, 0xB3, 0x8C, 0x43, 0xF8, 0x8F, 0x43, 0x40, 0xA7, 0x03, 0x90, 0x68, 0x91, 0xF6, 0x53, 0x9C,\r
+               0x20, 0x3F, 0x2B, 0xE4, 0x9C, 0xFD, 0x55, 0x32, 0xFA, 0xC3, 0x0D, 0x35, 0xF3, 0xA4, 0x63, 0xAC,\r
+               0xB8, 0xAA, 0x26, 0xE9, 0x34, 0xC7, 0xC7, 0x08, 0x3F, 0x3A, 0x31, 0xF0, 0xBB, 0xB9, 0x36, 0xF9,\r
+               0x99, 0x1B, 0xB6, 0x79, 0x11, 0xE1, 0xC4, 0x2E, 0x7F, 0x7E, 0x35, 0xB0, 0xD5, 0xF2, 0x13, 0xDC,\r
+               0x08, 0x96, 0xAA, 0x65, 0x42, 0xF3, 0x85, 0x3C, 0x97, 0x61, 0xC2, 0x58, 0x29, 0xDF, 0xC2, 0x0D,\r
+               0x1F, 0xE3, 0xC8, 0x07, 0x5B, 0x59, 0x36, 0x96, 0x55, 0xC7, 0xA6, 0x9A, 0x8E, 0x01, 0xBB, 0x74,\r
+               0x46, 0xAD, 0xDF, 0x10, 0x26, 0x81, 0x93, 0x4E, 0xF1, 0x00, 0xC5, 0x3E, 0xFC, 0xE8, 0x20, 0xEF,\r
+               0x4D, 0x81, 0xF8, 0x37, 0x53, 0xE3, 0x84, 0x2C, 0xA4, 0x48, 0xD8, 0x6B, 0x35, 0x7D, 0x7C, 0xB3,\r
+               0xB3, 0x86, 0x01, 0xCE, 0xA8, 0xCB, 0x57, 0x04, 0x70, 0xA9, 0xED, 0xBF, 0x0F, 0x89, 0xB2, 0x7D,\r
+               0x3B, 0x07, 0x08, 0xC7, 0xC5, 0xB8, 0x49, 0x77, 0x28, 0x74, 0x68, 0xE7, 0xDB, 0x04, 0xEB, 0x24,\r
+               0x25, 0x6A, 0x7B, 0xB4, 0xFB, 0xD9, 0x16, 0x16, 0xD3, 0x31, 0xD6, 0x1C, 0x60, 0x78, 0x2C, 0xE3,\r
+               0x09, 0x87, 0xBA, 0x75, 0xF4, 0x9A, 0x5A, 0x55, 0x9C, 0xA2, 0x0A, 0x53, 0x78, 0x71, 0x3D, 0xF2,\r
+               0xD2, 0x75, 0x93, 0x5C, 0x9F, 0xAB, 0x00, 0x64, 0x6A, 0x72, 0x2C, 0xA5, 0x8C, 0xEE, 0x56, 0x99,\r
+               0xB1, 0xB2, 0x37, 0xF8, 0xA3, 0x27, 0xB0, 0xE8, 0x5F, 0x0D, 0x66, 0x90, 0x15, 0x6F, 0x4E, 0x81,\r
+               0x27, 0x5E, 0x4D, 0x82, 0x47, 0xE7, 0x94, 0x28, 0xDA, 0xB0, 0x5E, 0x15, 0xCC, 0x41, 0xB9, 0x76,\r
+               0x4C, 0x90, 0xE8, 0x27, 0xFD, 0x9B, 0x52, 0x54, 0x98, 0xB6, 0x1A, 0x57, 0xF6, 0xB5, 0x77, 0xB8,\r
+               0x29, 0x27, 0x3A, 0xF5, 0x02, 0x1C, 0x2A, 0xD3, 0xD5, 0x67, 0x86, 0x1A, 0x0E, 0x33, 0x09, 0xC6,\r
+               0x0E, 0xE6, 0xDC, 0x13, 0x14, 0xF5, 0xD5, 0x3A, 0x4A, 0x01, 0x7F, 0x85, 0x5D, 0x72, 0x1B, 0xD4,\r
+               0xCE, 0x2C, 0xD6, 0x19, 0x76, 0xC5, 0x87, 0x0A, 0x6C, 0x24, 0x7C, 0xA3, 0x04, 0x6E, 0x5E, 0x91,\r
+               0x0C, 0xD2, 0xEA, 0x25, 0x9D, 0x46, 0xEF, 0x89, 0x2A, 0x36, 0x28, 0xE5, 0x8A, 0xAA, 0x14, 0xDB,\r
+               0x2E, 0x46, 0x5C, 0x93, 0x8D, 0xED, 0x54, 0x22, 0x39, 0x6C, 0x61, 0xF6, 0xA0, 0xE5, 0x71, 0xBE,\r
+               0xD3, 0x64, 0x83, 0x4C, 0x9E, 0x10, 0xBA, 0xDF, 0xF7, 0x56, 0x95, 0x38, 0x8B, 0x10, 0xAF, 0x60,\r
+               0xA7, 0xD6, 0x45, 0x8A, 0x19, 0x5B, 0x76, 0x94, 0x79, 0x28, 0x65, 0xB6, 0x4F, 0x26, 0x5D, 0x92,\r
+               0xBE, 0xDA, 0x50, 0x9F, 0xD8, 0xBD, 0x51, 0x72, 0x1F, 0x49, 0x62, 0xD0, 0x0B, 0x22, 0x1D, 0xD2,\r
+               0x1E, 0xF2, 0xD8, 0x17, 0x25, 0xD7, 0xC6, 0x18, 0x38, 0x65, 0x69, 0xF7, 0x5A, 0x8C, 0xE2, 0x2D,\r
+               0xF3, 0xC4, 0x03, 0xCC, 0x63, 0x7A, 0x2D, 0xB5, 0x8B, 0xEC, 0x53, 0x44, 0x89, 0xFF, 0x42, 0x8D,\r
+               0x9D, 0x5F, 0xF6, 0x39, 0xC8, 0x16, 0xEA, 0xD9, 0x33, 0xA6, 0xA1, 0xFC, 0xB1, 0xE4, 0x61, 0xAE,\r
+               0x07, 0xFE, 0xCD, 0x02, 0x4C, 0x0B, 0x73, 0xC4, 0x1A, 0x54, 0x7A, 0xD5, 0x21, 0x6D, 0x78, 0xB7,\r
+               0xEC, 0xB8, 0x60, 0xAF, 0x05, 0xE5, 0xD4, 0x2A, 0x54, 0xCE, 0xAE, 0x9B, 0xD4, 0x48, 0xA8, 0x67,\r
+               0x70, 0x69, 0x2D, 0xE2, 0xDE, 0xFF, 0x15, 0x30, 0x3B, 0x2E, 0x21, 0xF4, 0x6D, 0xDB, 0x82, 0x4D,\r
+               0xA9, 0xAF, 0x32, 0xFD, 0x4E, 0xE6, 0x9C, 0x29, 0xA3, 0x17, 0x80, 0x6C, 0xCB, 0xBF, 0x40, 0x8F,\r
+               0x4E, 0xA4, 0xDE, 0x11, 0x0C, 0xE4, 0xDC, 0x2B, 0x68, 0x30, 0x6C, 0xA7, 0xAC, 0xFC, 0x64, 0xAB,\r
+               0xB7, 0xC2, 0x41, 0x8E, 0xFA, 0x62, 0xAC, 0xAD, 0xC4, 0x7F, 0x8F, 0x0B, 0x62, 0x97, 0xC1, 0x0E,\r
+               0xE9, 0xED, 0x30, 0xFF, 0xBE, 0x22, 0xA8, 0xED, 0xDB, 0xB9, 0x56, 0x14, 0x2F, 0x9B, 0x80, 0x4F,\r
+               0x9E, 0x7A, 0xD0, 0x1F, 0x8F, 0x00, 0xBB, 0xCF, 0x23, 0xB7, 0xA0, 0xEC, 0x13, 0x2B, 0x0C, 0xC3,\r
+               0xE0, 0xF5, 0x21, 0xEE, 0x23, 0x95, 0x82, 0x5A, 0xE0, 0x18, 0xCC, 0x2F, 0xD9, 0xEB, 0x06, 0xC9,\r
+               0x38, 0x22, 0x2E, 0xE1, 0x7D, 0x29, 0x60, 0xE6, 0x87, 0x70, 0xC3, 0x48, 0x1C, 0x67, 0x4F, 0x80,\r
+               0x7B, 0x45, 0x0A, 0xC5, 0x77, 0x7E, 0x3D, 0xB1, 0x1E, 0x40, 0x6A, 0xD1, 0x39, 0x64, 0x69, 0xA6,\r
+               0x13, 0xAE, 0x89, 0x46, 0x7B, 0x6B, 0x24, 0xA4, 0x8D, 0xBA, 0x03, 0x42, 0xE1, 0xF0, 0x25, 0xEA,\r
+               0x1B, 0xA7, 0x88, 0x47, 0x7C, 0x92, 0xDA, 0x5D, 0xA2, 0x1E, 0x88, 0x6D, 0x83, 0xA2, 0x15, 0xDA,\r
+               0x74, 0x2D, 0x6D, 0xA2, 0xEE, 0x66, 0xBC, 0xA9, 0x35, 0xF0, 0xF1, 0xFA, 0x55, 0xC0, 0xA1, 0x6E,\r
+               0xD1, 0x50, 0xB5, 0x7A, 0x79, 0x86, 0xCB, 0x49, 0xC9, 0xEA, 0x17, 0x06, 0x44, 0xC1, 0xB1, 0x7E,\r
+               0x8D, 0x4B, 0xF2, 0x3D, 0x41, 0xA5, 0xD0, 0x6A, 0xB4, 0x59, 0xD9, 0x7B, 0x5C, 0xC8, 0xA0, 0x6F,\r
+               0xF7, 0x80, 0x43, 0x8C, 0x10, 0x5A, 0x7E, 0x95, 0xCF, 0xBC, 0x47, 0x00, 0x0A, 0x98, 0xA6, 0x69,\r
+               0x5F, 0xA1, 0xCA, 0x05, 0xD3, 0x51, 0xB6, 0x9E, 0x11, 0x97, 0xB2, 0xDE, 0xD0, 0xE3, 0x07, 0xC8,\r
+               0x5D, 0x95, 0xFC, 0x33, 0x68, 0x96, 0xCA, 0x59, 0xC6, 0x3D, 0xCF, 0x09, 0xDD, 0x40, 0xA9, 0x66,\r
+               0x63, 0x58, 0x0F, 0xC0, 0xE9, 0x9F, 0x42, 0x50, 0xF0, 0x09, 0xCD, 0x3F, 0xEF, 0x06, 0xDD, 0x12,\r
+               0xAD, 0xEB, 0x72, 0xBD, 0xC6, 0xEE, 0x1C, 0x21, 0x57, 0x85, 0xE6, 0x98, 0x16, 0x3A, 0x18, 0xD7,\r
+               0x8E, 0x6E, 0xD4, 0x1B, 0x99, 0xE9, 0x44, 0x26, 0xB0, 0x4D, 0xC9, 0x7F, 0x2B, 0x30, 0x2F, 0xE0,\r
+               0x45, 0x88, 0xF9, 0x36, 0xC9, 0xAD, 0x50, 0x62, 0x49, 0x4A, 0x37, 0x86, 0xE8, 0xF8, 0x24, 0xEB,\r
+               0x92, 0x37, 0x91, 0x5E, 0xB5, 0xCE, 0x4F, 0x01, 0x94, 0x2A, 0x8A, 0x5B, 0xC1, 0xE2, 0x17, 0xD8,\r
+               0x9A, 0x3E, 0x90, 0x5F, 0x66, 0x6E, 0x3C, 0xA1, 0x8E, 0xF1, 0x4B, 0x41, 0x3B, 0x8B, 0x84, 0x4B,\r
+               0xFB, 0xCD, 0x02, 0xCD, 0x98, 0x52, 0xFE, 0x9D, 0x65, 0xA5, 0xF4, 0xAA, 0xE0, 0x4A, 0x9E, 0x51,\r
+               0x3E, 0x52, 0x58, 0x97, 0x51, 0x0E, 0x6B, 0xC1, 0xC0, 0x6B, 0x9F, 0x0F, 0xFF, 0xBD, 0x76, 0xB9,\r
+               0xA3, 0x92, 0x05, 0xCA, 0x84, 0xEC, 0x5C, 0x23, 0x19, 0x1F, 0x32, 0xD6, 0xCF, 0x14, 0xEF, 0x20,\r
+               0x83, 0x32, 0x85, 0x4A, 0xB4, 0x75, 0xF5, 0xBA, 0x4B, 0x08, 0x77, 0x84, 0xE4, 0xE1, 0x31, 0xFE,\r
+               0xF9, 0xF9, 0x34, 0xFB, 0x82, 0xAE, 0x18, 0x61, 0x04, 0x9B, 0xAB, 0xCB, 0xE5, 0x5B, 0x8A, 0x45,\r
+               0x81, 0x06, 0xB3, 0x7C, 0x71, 0x3C, 0x79, 0xF3, 0x47, 0x94, 0xE7, 0x88, 0x93, 0x19, 0xBE, 0x71,\r
+               0x23, 0x1A, 0x0D, 0xC2, 0x3C, 0x7D, 0x75, 0xB2, 0x3E, 0x33, 0x39, 0xF1, 0xE2, 0xA5, 0x73, 0xBC,\r
+               0x05, 0xCA, 0xFB, 0x34, 0x9A, 0xBF, 0x11, 0x70, 0x99, 0xBF, 0x12, 0x56, 0xD7, 0x1D, 0xFE, 0x31,\r
+               0x02, 0xAB, 0x9D, 0x52, 0x12, 0xB7, 0x91, 0x78, 0x74, 0xBD, 0xFD, 0xBB, 0xDC, 0xFA, 0x12, 0xDD,\r
+               0xDE, 0x38, 0xD2, 0x1D, 0xE7, 0x67, 0xB4, 0xA8, 0xBC, 0xD1, 0x59, 0x73, 0xDF, 0xAF, 0x44, 0x8B,\r
+               0x0F, 0xF7, 0xCC, 0x03, 0xC0, 0xAC, 0x58, 0x63, 0xD1, 0x73, 0x96, 0x1E, 0x6F, 0x34, 0x6F, 0xA0,\r
+               0x02, 0x2B, 0x12, 0xCB, 0x7B, 0x42, 0x57, 0xCE, 0xDE, 0xE7, 0x7A, 0x7F, 0x1C, 0x3F, 0x25, 0xC1,\r
+               0xFC, 0x17, 0x2E, 0x09, 0xE9, 0xD0, 0xA4, 0xAF, 0xC4, 0xFD, 0xA1, 0xBE, 0xF7, 0x6B, 0xCE, 0x7E,\r
+               0x1E, 0x95, 0xAC, 0x69, 0x7C, 0x45, 0x08, 0x96, 0xAF, 0x96, 0x55, 0x21, 0x60, 0x85, 0x59, 0x07,\r
+               0xCB, 0x77, 0x4E, 0x5E, 0x21, 0x18, 0xC8, 0x0B, 0x36, 0x0F, 0x65, 0x88, 0xB9, 0xF1, 0x80, 0xAA,\r
+               0x03, 0x90, 0xA9, 0x71, 0xAD, 0x94, 0xF4, 0xBB, 0x6F, 0x56, 0xB1, 0x05, 0xC9, 0xD7, 0xF0, 0xFC,\r
+               0x5C, 0x97, 0xAE, 0x29, 0x0B, 0x32, 0x71, 0x98, 0x58, 0x61, 0x8C, 0x0F, 0x2E, 0x1F, 0x17, 0xD3,\r
+               0x2F, 0xB7, 0x8E, 0x7A, 0xE8, 0xD1, 0xAD, 0xA7, 0x57, 0x6E, 0x5B, 0xD7, 0xED, 0xB0, 0xD4, 0xBF,\r
+               0x53, 0xD4, 0xED, 0x65, 0x80, 0xB9, 0x12, 0x70, 0x64, 0x5D, 0x72, 0xCD, 0x30, 0xD0, 0x09, 0x02,\r
+               0x88, 0xCE, 0xF7, 0xA4, 0xE4, 0xDD, 0x31, 0x37, 0x52, 0x6B, 0x46, 0xCF, 0x0D, 0x27, 0x34, 0xC8,\r
+               0x00, 0xC6, 0xFF, 0x24, 0x82, 0xBB, 0x50, 0x30, 0xBE, 0x87, 0x4D, 0x28, 0xE0, 0x25, 0xD9, 0x27,\r
+               0x5A, 0xD5, 0xEC, 0x6D, 0xB5, 0x8C, 0x6D, 0x3A, 0x2F, 0x16, 0xF5, 0x01, 0xA8, 0xE9, 0x91, 0xA3,\r
+               0x7D, 0x1E, 0x27, 0x81, 0xAB, 0x92, 0xA2, 0xEB, 0x04, 0x3D, 0x45, 0x9A, 0xC5, 0x4B, 0xFC, 0x6C,\r
+               0x18, 0xD7, 0xEE, 0x2D, 0x4D, 0x74, 0x63, 0xCC, 0xCA, 0xF3, 0x7F, 0x6E, 0x7D, 0x01, 0x44, 0x9E,\r
+               0x2E, 0x0C, 0x35, 0xC0, 0xFC, 0xC5, 0xA8, 0xB6, 0x71, 0x48, 0x7E, 0xD4, 0x32, 0x92, 0x0B, 0x42,\r
+               0xA6, 0x04, 0x3D, 0x40, 0x74, 0x4D, 0x80, 0x16, 0x33, 0x0A, 0x78, 0x90, 0x47, 0xA9, 0x7E, 0x0C,\r
+               0xEB, 0x45, 0x7C, 0x4C, 0xCA, 0xF3, 0x9C, 0xB4, 0xFE, 0xC7, 0x09, 0x2C, 0x3E, 0x0E, 0x07, 0xD2,\r
+               0xE7, 0x50, 0x69, 0x55, 0x57, 0x6E, 0xB8, 0x0D, 0x0F, 0x36, 0x86, 0x52, 0xFE, 0xEA, 0xC7, 0xF6,\r
+               0xB9, 0xEC, 0xD5, 0xB7, 0x58, 0x61, 0x6F, 0xD5, 0x46, 0x7F, 0x43, 0xDE, 0x99, 0x82, 0xA0, 0xF9,\r
+               0xE1, 0x12, 0x2B, 0x11, 0xF0, 0xC9, 0x34, 0x26, 0x65, 0x5C, 0x7B, 0xC5, 0xF4, 0x20, 0xCD, 0x36,\r
+               0xED, 0x07, 0x3E, 0x08, 0x73, 0x4A, 0xDF, 0x4E, 0x29, 0x10, 0xA3, 0x51, 0x67, 0xDA, 0x5E, 0x5F,\r
+               0x60, 0x1B, 0x22, 0x99, 0x38, 0x01, 0x58, 0x82, 0x81, 0xB8, 0xF8, 0xA2, 0xBD, 0xE5, 0x84, 0xBA,\r
+               0x96, 0x9D, 0xA4, 0xE9, 0xA7, 0x9E, 0x3E, 0x7B, 0x24, 0x1D, 0x36, 0xC9, 0x11, 0xAA, 0x28, 0x59,\r
+               0x15, 0x79, 0x40, 0x8E, 0xA9, 0x90, 0xE0, 0xAB, 0x4C, 0x75, 0x89, 0x1E, 0x5A, 0x2D, 0x63, 0x95,\r
+               0x24, 0x5B, 0x62, 0x9D, 0x49, 0x70, 0x77, 0xDC, 0xC0, 0xF9, 0xB5, 0xAE, 0xA2, 0x23, 0x9B, 0x63,\r
+               0x49, 0x28, 0x11, 0x83, 0xB3, 0x8A, 0x3B, 0x6A, 0x47, 0x7E, 0x4A, 0xD6, 0x68, 0x0D, 0x51, 0x87,\r
+               0x8A, 0x23, 0x1A, 0x4B, 0x3A, 0x03, 0x1A, 0xC2, 0xE6, 0xDF, 0x90, 0xAD, 0xB6, 0x26, 0x8F, 0x72,\r
+               0x73, 0xE6, 0xDF, 0x77, 0x76, 0x4F, 0xC2, 0x56, 0x9D, 0xA4, 0x75, 0x33, 0x89, 0x93, 0xB0, 0xF8,\r
+               0xF2, 0xEF, 0xD6, 0xFF, 0x85, 0xBC, 0x0F, 0x68, 0xE9, 0xD0, 0x47, 0x75, 0xBF, 0xA7, 0x86, 0xFA,\r
+               0x74, 0x1F, 0x26, 0x89, 0x14, 0x2D, 0xB7, 0x41, 0xE1, 0xD8, 0xCF, 0xF5, 0x4C, 0x6A, 0x75, 0xC4,\r
+               0xE6, 0xEB, 0xD2, 0xEF, 0xF1, 0xC8, 0x3D, 0x2E, 0x55, 0x6C, 0x19, 0x97, 0xDB, 0x84, 0xE2, 0xBD,\r
+               0xDB, 0xDC, 0xE5, 0xE5, 0x8B, 0xB2, 0xD1, 0xB8, 0xE0, 0xD9, 0xC6, 0xFD, 0xCD, 0xC3, 0xF4, 0xEC,\r
+               0xE3, 0xFF, 0xC6, 0xFE, 0xCC, 0xF5, 0xCA, 0xE4, 0xF1, 0xC8, 0xDE, 0xF4, 0xB0, 0x70, 0x89, 0x22,\r
+               0x17, 0x94, 0xAD, 0x61, 0x25, 0x1C, 0xDC, 0x1B, 0x31, 0x08, 0x3A, 0xD0, 0x40, 0xF6, 0x79, 0x54,\r
+               0x07, 0x3F, 0x06, 0xDA, 0x93, 0xAA, 0x48, 0x39, 0x54, 0x6D, 0x10, 0x9F, 0x53, 0xAC, 0x6A, 0x1D,\r
+               0x83, 0x22, 0x1B, 0x43, 0x3C, 0x05, 0x4C, 0x92, 0x1D, 0x24, 0xD5, 0x13, 0x00, 0xB2, 0x39, 0x50,\r
+               0x04, 0x69, 0x50, 0x8F, 0xFA, 0xC3, 0xFE, 0xE6, 0xEF, 0xD6, 0x11, 0x25, 0x8E, 0xCC, 0xB7, 0xA0,\r
+               0x98, 0x65, 0x5C, 0x1F, 0x43, 0x7A, 0xBD, 0x1C, 0x49, 0x70, 0x94, 0x06, 0xAC, 0xFD, 0x95, 0xB3,\r
+               0x67, 0xE2, 0xDB, 0x67, 0x91, 0xA8, 0x0A, 0x79, 0x37, 0x0E, 0x6C, 0x80, 0xE1, 0x2C, 0xD8, 0x2F,\r
+               0xEC, 0xBC, 0x85, 0xB2, 0xAF, 0x96, 0xB6, 0xFB, 0x1E, 0x27, 0x9E, 0x5B, 0x15, 0xBE, 0x2C, 0x49,\r
+               0x8E, 0x8C, 0xB5, 0xE0, 0xA5, 0x9C, 0x7C, 0x3B, 0x5B, 0x62, 0xC7, 0x47, 0x33, 0x9B, 0x0A, 0x4A,\r
+               0x9F, 0x9C, 0xA5, 0xE1, 0x19, 0x20, 0x22, 0xD9, 0xE8, 0xD1, 0x4E, 0x7D, 0x2D, 0x54, 0x14, 0x9B,\r
+               0xD6, 0x72, 0x4B, 0x46, 0xB4, 0x8D, 0x64, 0x32, 0x38, 0x01, 0xBB, 0x58, 0x63, 0xCE, 0x5A, 0x4F,\r
+               0xD4, 0x9F, 0xA6, 0xA9, 0x4B, 0x72, 0x35, 0x9C, 0x00, 0x39, 0x51, 0x8A, 0xDA, 0x8D, 0xE3, 0xB5,\r
+               0x44, 0x86, 0xBF, 0x20, 0x54, 0x6D, 0xF3, 0x45, 0xC2, 0xFB, 0xF7, 0xEE, 0x42, 0xB4, 0x7B, 0x14,\r
+               0xBF, 0xAE, 0x97, 0xF3, 0xA1, 0x98, 0x68, 0x2B, 0xA2, 0x9B, 0xC0, 0xB9, 0x41, 0xFF, 0x78, 0x5C,\r
+               0x42, 0xC4, 0xFD, 0x64, 0x29, 0x10, 0x40, 0x8B, 0x5D, 0x64, 0x91, 0x17, 0x66, 0xD3, 0x5F, 0x57,\r
+               0x52, 0x6F, 0x56, 0xDF, 0x8F, 0xB6, 0xC5, 0xA8, 0x21, 0x18, 0x2B, 0xD1, 0x4A, 0x3C, 0x73, 0x94,\r
+               0xF9, 0x03, 0x3A, 0x18, 0x7A, 0x43, 0x5E, 0xC6, 0x02, 0x3B, 0x13, 0xCA, 0xF2, 0x76, 0xCB, 0x66,\r
+               0xD8, 0x8A, 0xB3, 0xB0, 0xD3, 0xEA, 0x0C, 0x3D, 0x82, 0xBB, 0xB3, 0xEA, 0xEE, 0xFB, 0xD7, 0xF7,\r
+               0x8B, 0x98, 0xA1, 0xF1, 0xCF, 0xF6, 0x81, 0xAC, 0x53, 0x6A, 0x4F, 0xC7, 0x06, 0xE4, 0x3F, 0x00,\r
+               0xBC, 0xF8, 0xC1, 0xA6, 0xA6, 0x9F, 0x37, 0x73, 0x60, 0x59, 0x66, 0xDD, 0x88, 0x9A, 0xB1, 0xF0,\r
+               0xC1, 0x20, 0x19, 0x03, 0xB1, 0x88, 0x79, 0x2A, 0xFB, 0xC2, 0x14, 0x34, 0x2C, 0x5D, 0x15, 0x93,\r
+               0x62, 0xF6, 0xCF, 0x76, 0xF5, 0xCC, 0x29, 0x3E, 0x13, 0x2A, 0x0B, 0xC3, 0xDE, 0x99, 0xE7, 0xA5,\r
+               0xCD, 0x35, 0x0C, 0x1A, 0x31, 0x08, 0xD9, 0x0A, 0x83, 0xBA, 0xBA, 0xE2, 0x8D, 0x87, 0xB4, 0xE8,\r
+               0xAE, 0xBE, 0x87, 0xF2, 0x5F, 0x66, 0x30, 0x8D, 0x76, 0x4F, 0x21, 0x8C, 0x46, 0xA0, 0x7F, 0x04,\r
+               0x06, 0x84, 0xBD, 0x60, 0x52, 0x6B, 0xA5, 0x15, 0x23, 0x1A, 0x69, 0x91, 0x83, 0x59, 0xBA, 0x38,\r
+               0x05, 0xD2, 0xEB, 0x35, 0xEA, 0xD3, 0xEF, 0xE7, 0x16, 0x2F, 0x16, 0xDB, 0x13, 0xE8, 0x2A, 0x19,\r
+               0x6E, 0xE3, 0xDA, 0x6F, 0xC3, 0xFA, 0x1D, 0x3C, 0x7D, 0x44, 0xE2, 0x44, 0xE5, 0x38, 0xDC, 0x3F,\r
+               0xDD, 0x9E, 0xA7, 0xA1, 0x34, 0x0D, 0xC4, 0x12, 0xF9, 0xC0, 0x56, 0x74, 0xA3, 0x2A, 0x9A, 0x6B,\r
+               0x39, 0x5E, 0x67, 0x85, 0x4E, 0x77, 0x28, 0x84, 0x0E, 0x37, 0x8F, 0x5A, 0x26, 0x97, 0x1F, 0x53,\r
+               0x32, 0xB2, 0x8B, 0x62, 0x78, 0x41, 0x1C, 0x86, 0xF2, 0xCB, 0x95, 0xBC, 0x09, 0x33, 0x30, 0xD8,\r
+               0xC9, 0x9A, 0xA3, 0xB1, 0x81, 0xB8, 0x1B, 0x78, 0x3C, 0x05, 0xAF, 0x48, 0xDD, 0xD2, 0xE4, 0xED,\r
+               0x61, 0xA0, 0x99, 0x23, 0x02, 0x3B, 0xF0, 0x10, 0x6C, 0x55, 0xFA, 0x4D, 0xAA, 0xAB, 0x93, 0xE3,\r
+               0x5F, 0xC1, 0xF8, 0x7C, 0x71, 0x48, 0x9D, 0x0E, 0xAB, 0x92, 0x41, 0x31, 0x51, 0xEE, 0x68, 0x5D,\r
+               0x6B, 0xCF, 0xC4, 0xE2, 0xD8, 0xB1, 0x09, 0x80, 0x6E, 0xB2, 0xBC, 0x35, 0xC6, 0x7A, 0xDC, 0xF3,\r
+               0x25, 0x1B, 0x5E, 0xAC, 0xFD, 0x44, 0xD9, 0x50, 0x28, 0x59, 0x11, 0x98, 0x61, 0x94, 0x95, 0x1D,\r
+               0x4A, 0x94, 0xBE, 0xC3, 0x6E, 0xFD, 0xF3, 0x7A, 0xF9, 0xC5, 0x5C, 0xD5, 0xA0, 0x8E, 0x4E, 0x07,\r
+               0xD2, 0x35, 0x87, 0x5B, 0x0A, 0x5B, 0x31, 0xB8, 0x3F, 0x1C, 0x43, 0xCA, 0x29, 0x97, 0xDE, 0x1E,\r
+               0x6E, 0xD7, 0xD9, 0xE7, 0x97, 0x9B, 0x6C, 0xE5, 0x4A, 0x0B, 0x21, 0xA8, 0xE4, 0xCC, 0x48, 0x45,\r
+               0x49, 0xDC, 0xF5, 0xC0, 0x39, 0xCA, 0x93, 0x1A, 0x62, 0xAB, 0xA9, 0x20, 0x73, 0xA6, 0xB5, 0x2F,\r
+               0xFA, 0xE6, 0x7C, 0x73, 0x4A, 0x19, 0x33, 0xBA, 0x54, 0x46, 0x72, 0xFB, 0x98, 0x0B, 0xF3, 0x82,\r
+               0x42, 0x14, 0x36, 0xCB, 0x51, 0x21, 0x10, 0x99, 0xCF, 0x28, 0x87, 0x0E, 0x5F, 0x67, 0x58, 0xEE,\r
+               0x5B, 0x9D, 0xA6, 0xD2, 0x1F, 0x1A, 0x65, 0xEC, 0x42, 0xB9, 0x9B, 0x12, 0x5A, 0x37, 0x0D, 0xBE,\r
+               0x48, 0xD4, 0xFC, 0xC1, 0x50, 0x30, 0x00, 0x89, 0xD6, 0x9B, 0x2D, 0xA4, 0xE1, 0x9C, 0x1D, 0x15,\r
+               0x86, 0x20, 0xC6, 0x0F, 0xA5, 0x1B, 0xDE, 0x57, 0xF4, 0x66, 0xF2, 0x7B, 0x0F, 0x61, 0x0E, 0xE8,\r
+               0x08, 0xD0, 0xB8, 0x81, 0x93, 0xDF, 0x2C, 0xA5, 0x46, 0x12, 0x34, 0xBD, 0xC3, 0x2A, 0x89, 0xA3,\r
+               0xE9, 0xAF, 0x26, 0x60, 0x00, 0x66, 0x06, 0x8F, 0x00, 0xF9, 0x99, 0x10, 0xE7, 0xEA, 0x6D, 0x63,\r
+               0xA4, 0x33, 0xF7, 0x2D, 0x86, 0x9E, 0x78, 0xF1, 0xB7, 0x9C, 0x4B, 0xC2, 0x9F, 0x6D, 0x92, 0xE4,\r
+               0x3B, 0xCA, 0x91, 0xB2, 0xC7, 0xCD, 0x6A, 0xE3, 0x76, 0xBB, 0xAD, 0x24, 0x60, 0x84, 0x84, 0x0D,\r
+               0x1D, 0xC9, 0xB4, 0x94, 0xDB, 0x94, 0x2F, 0xA6, 0xBC, 0x7B, 0xA7, 0x2E, 0x32, 0xB4, 0xE6, 0x3D,\r
+               0xED, 0xBF, 0x32, 0x64, 0xC4, 0xE8, 0x4C, 0xC5, 0x17, 0xBC, 0xCB, 0x42, 0xEF, 0xEB, 0x64, 0x62,\r
+               0x1B, 0x99, 0xE2, 0x92, 0x5B, 0x1C, 0x27, 0xAE, 0xE5, 0x67, 0xE2, 0x6B, 0xB5, 0xDA, 0x0F, 0x53,\r
+               0x2E, 0xD3, 0x9D, 0xA7, 0xDA, 0x85, 0x3F, 0xB6, 0x22, 0x04, 0x46, 0xCF, 0x05, 0x56, 0x33, 0xDF,\r
+               0xAB, 0xEB, 0x20, 0x22, 0xF4, 0x5C, 0xC8, 0x41, 0xCE, 0x92, 0x3C, 0xB5, 0x21, 0x96, 0xD7, 0x1F,\r
+               0xD5, 0x6D, 0xD8, 0x5C, 0xC8, 0xA5, 0x0D, 0x84, 0x11, 0xF8, 0x89, 0x00, 0x31, 0x92, 0xC3, 0x1B,\r
+               0x01, 0x58, 0x39, 0x88, 0x3C, 0x9F, 0xC3, 0x4A, 0x16, 0x06, 0x70, 0xF9, 0xE2, 0xBA, 0x38, 0x33,\r
+               0x59, 0xDD, 0xE4, 0xD0, 0xB1, 0x4B, 0x9A, 0x13, 0x97, 0x8E, 0x79, 0xF0, 0xFC, 0xC9, 0x55, 0x40,\r
+               0xA2, 0x63, 0xA1, 0x2B, 0xCD, 0xF0, 0x5D, 0xD4, 0xFA, 0x90, 0x0A, 0x83, 0xA3, 0xA8, 0x6B, 0x21,\r
+               0x0E, 0x80, 0xEE, 0x87, 0x47, 0x45, 0x62, 0xEB, 0x8B, 0x2C, 0xC7, 0x4E, 0x71, 0x90, 0x81, 0x19,\r
+               0xE6, 0x77, 0xF1, 0x6F, 0x6A, 0xB9, 0xB3, 0x3A, 0x06, 0xBD, 0xDB, 0x52, 0x30, 0x82, 0xD2, 0x0B,\r
+               0x24, 0x13, 0x57, 0xAD, 0xB4, 0x1E, 0xCA, 0x43, 0x73, 0xAA, 0xB9, 0x30, 0x83, 0x28, 0xCB, 0xA1,\r
+               0x80, 0x70, 0x90, 0x09, 0x5D, 0x6C, 0x51, 0xD8, 0x3D, 0xF3, 0xAE, 0x27, 0x26, 0xF0, 0xB6, 0x79,\r
+               0x85, 0x68, 0x8D, 0x0C, 0x62, 0xB0, 0xB2, 0x3B, 0xD3, 0x8A, 0x39, 0xB0, 0x9A, 0x3D, 0xC7, 0xB4,\r
+               0xD6, 0x25, 0x93, 0x5F, 0x43, 0x01, 0x22, 0xAB, 0x23, 0xBE, 0xFD, 0x74, 0xF6, 0xFE, 0x68, 0x77,\r
+               0x8B, 0xB8, 0x53, 0x02, 0x11, 0x63, 0x12, 0x9B, 0xAF, 0x95, 0x5A, 0xD3, 0xE0, 0x8C, 0x0C, 0x05,\r
+               0x4E, 0x84, 0xAA, 0xC7, 0x0C, 0x2B, 0x47, 0xCE, 0x3A, 0x0D, 0x57, 0xDE, 0x72, 0xB6, 0xA4, 0x3F,\r
+               0xE8, 0xA7, 0x2F, 0x61, 0xA8, 0x47, 0x8F, 0x06, 0x5A, 0xB0, 0x8A, 0x03, 0xA4, 0xCE, 0x0A, 0x47,\r
+               0x05, 0x48, 0x2D, 0x8C, 0x4F, 0x4C, 0x63, 0xEA, 0x3B, 0xB7, 0xEC, 0x65, 0x24, 0xC6, 0x82, 0x4F,\r
+               0xCD, 0xEC, 0x41, 0x44, 0x1A, 0x4F, 0x35, 0xBC, 0xA8, 0x6B, 0xA3, 0x2A, 0x01, 0x16, 0x77, 0x9F,\r
+               0xA0, 0x23, 0xE3, 0x29, 0x81, 0xFF, 0x1E, 0x97, 0x67, 0xBA, 0xBD, 0x34, 0xED, 0xDD, 0x50, 0x54,\r
+               0x3A, 0xC2, 0x98, 0xB3, 0x54, 0x74, 0x40, 0xC9, 0xA2, 0x36, 0xF4, 0x7D, 0x40, 0x04, 0x24, 0x8D,\r
+               0x75, 0x1E, 0x0B, 0xFC, 0xEE, 0x75, 0xFB, 0x72, 0x69, 0x4C, 0x45, 0xCC, 0xAD, 0xDF, 0x12, 0x56,\r
+               0x36, 0x52, 0x04, 0xBF, 0xAC, 0x03, 0xCF, 0x46, 0x96, 0x34, 0xC2, 0x4B, 0xCC, 0x4D, 0xE1, 0xC4,\r
+               0x4F, 0x8C, 0xA3, 0xC6, 0x10, 0x72, 0x02, 0x8B, 0x8A, 0x96, 0x7C, 0xF5, 0xC0, 0x0C, 0xAC, 0x85,\r
+               0xFF, 0xFE, 0x61, 0x76, 0x3E, 0xAB, 0xF5, 0x7C, 0xAE, 0x2F, 0xE1, 0x68, 0x89, 0x1F, 0xF6, 0x96,\r
+               0x14, 0x41, 0x35, 0x9D, 0xFF, 0x70, 0xEF, 0x66, 0x5D, 0x4E, 0x73, 0xFA, 0x4B, 0x23, 0x08, 0xAA,\r
+               0xB1, 0x2A, 0xFB, 0x38, 0x08, 0x6F, 0x07, 0x8E, 0xC2, 0x8B, 0x29, 0xA0, 0xDE, 0x7F, 0xC1, 0xF6,\r
+               0x68, 0x87, 0x8F, 0xE1, 0xA1, 0x5F, 0x9E, 0x17, 0x02, 0x16, 0x74, 0xFD, 0xE9, 0x9D, 0x14, 0x14,\r
+               0x26, 0x53, 0x15, 0xAF, 0x8F, 0x86, 0x69, 0xE0, 0x7B, 0x18, 0x03, 0x8A, 0xA9, 0x9F, 0x56, 0x16,\r
+               0xC1, 0x7C, 0xDD, 0x48, 0x85, 0xBB, 0x5E, 0xD7, 0xFE, 0x3B, 0xA5, 0x2C, 0xF1, 0x98, 0x09, 0x11,\r
+               0x38, 0x82, 0xDA, 0xB1, 0x4D, 0x78, 0x55, 0xDC, 0x18, 0xF0, 0x88, 0x01, 0xE5, 0xDC, 0x59, 0x55,\r
+               0xE5, 0x3F, 0xBA, 0x6C, 0x57, 0x51, 0x66, 0xEF, 0xA7, 0x27, 0xE0, 0x69, 0xFA, 0xBF, 0x25, 0x36,\r
+               0xBE, 0xF2, 0x2C, 0x37, 0x2D, 0x9A, 0xD7, 0x5E, 0x10, 0x42, 0x32, 0xBB, 0xCB, 0x2B, 0x80, 0xA2,\r
+               0x60, 0x07, 0x07, 0xE9, 0x56, 0x40, 0x76, 0xFF, 0x31, 0xEA, 0xBB, 0x32, 0x03, 0x20, 0x43, 0xA9,\r
+               0xB7, 0x7A, 0xAD, 0x3E, 0xF5, 0x4D, 0xD8, 0x51, 0x05, 0xE8, 0x8D, 0x04, 0x7F, 0xE7, 0xF8, 0x6E,\r
+               0x81, 0x78, 0x99, 0x08, 0xB3, 0x7F, 0xAC, 0x25, 0xC8, 0xD6, 0x7E, 0xF7, 0xF7, 0xEE, 0x79, 0x67,\r
+               0xD3, 0x3D, 0x8E, 0x5A, 0x17, 0x13, 0x64, 0xED, 0x37, 0xAE, 0xF9, 0x70, 0x6F, 0xE3, 0xEC, 0x6A,\r
+               0x44, 0x44, 0x60, 0xCD, 0x75, 0xC5, 0xD0, 0x59, 0xBD, 0xC1, 0x1C, 0x95, 0x09, 0x17, 0x7E, 0x9E,\r
+               0xB8, 0xA2, 0x7A, 0x31, 0x74, 0xD4, 0xC0, 0x49, 0xC0, 0x64, 0xC4, 0x4D, 0x7E, 0xF7, 0xE9, 0x7E,\r
+               0xC5, 0x6C, 0xC9, 0x4C, 0x7D, 0xCC, 0xD1, 0x58, 0xDB, 0x38, 0x83, 0x0A, 0x65, 0xD4, 0xD1, 0x5D,\r
+               0x91, 0x79, 0x88, 0x18, 0x5E, 0x49, 0x77, 0xFE, 0x65, 0x55, 0x50, 0xD9, 0x37, 0xE4, 0xB3, 0x6D,\r
+               0xF6, 0x76, 0xE0, 0x7F, 0xD2, 0x8C, 0x3E, 0xB7, 0xB2, 0x8D, 0x5F, 0xD6, 0xD5, 0x58, 0xED, 0xD1,\r
+               0x6F, 0xDF, 0xD0, 0xE6, 0xD1, 0xA9, 0x18, 0x91, 0xD5, 0xCE, 0x7B, 0xF2, 0x88, 0x0F, 0xE7, 0x86,\r
+               0xFC, 0xB6, 0x2A, 0x75, 0x45, 0x71, 0x54, 0xDD, 0x3E, 0xA6, 0xF8, 0x71, 0x91, 0x1A, 0xEB, 0x93,\r
+               0x19, 0xD9, 0xA0, 0x90, 0x49, 0x3C, 0x15, 0x9C, 0x34, 0xFB, 0xAF, 0x26, 0x69, 0x95, 0x9C, 0x1C,\r
+               0xB5, 0x3A, 0xEF, 0x3C, 0x22, 0xF2, 0xB0, 0x39, 0x52, 0x02, 0x30, 0xB9, 0x19, 0x13, 0x6A, 0x9A,\r
+               0xAA, 0xE3, 0x29, 0x23, 0x2E, 0xBF, 0xF1, 0x78, 0x7D, 0x5C, 0x41, 0xC8, 0x1D, 0x53, 0x2E, 0xDA,\r
+               0x52, 0x15, 0x27, 0xDB, 0x9E, 0x83, 0x7D, 0xF4, 0xEA, 0x2B, 0xA1, 0x28, 0x0E, 0x71, 0x1F, 0xF8,\r
+               0xDA, 0x37, 0xB5, 0xEC, 0x37, 0x85, 0x68, 0x31, 0xF3, 0x37, 0x1E, 0x47, 0xFB, 0xCD, 0x16, 0x58,\r
+               0xD0, 0x3D, 0x7F, 0x2C, 0x85, 0x43, 0xAE, 0x45, 0xC3, 0x65, 0x2E, 0x25, 0xB0, 0x4A, 0x5D, 0x94,\r
+               0x05, 0xE8, 0x97, 0x11, 0x3A, 0x2B, 0xC6, 0x92, 0x7C, 0xCF, 0x91, 0x30, 0x14, 0x8D, 0xF9, 0xF7,\r
+               0xF0, 0x1D, 0x0C, 0x7F, 0xFC, 0x34, 0xD9, 0x4B, 0x10, 0x08, 0xFD, 0x9B, 0x0D, 0x1D, 0xE0, 0x7E,\r
+               0xEE, 0x03, 0xC3, 0xAE, 0x81, 0xEC, 0x01, 0xEE, 0x9D, 0xB0, 0x70, 0xAE, 0xAD, 0xCE, 0x40, 0x0D,\r
+               0x3C, 0xD1, 0x74, 0xCB, 0x15, 0x5A, 0xB7, 0xCC, 0x1A, 0xC8, 0xF7, 0x51, 0x06, 0xDE, 0xEB, 0xB6,\r
+               0x56, 0xBB, 0x89, 0x5C, 0xAD, 0xCB, 0x26, 0xE5, 0xBB, 0xB3, 0x56, 0x8B, 0xE0, 0x1F, 0x0D, 0x91,\r
+               0xDE, 0x33, 0xA1, 0xFC, 0xEB, 0x66, 0x8B, 0x0E, 0xD1, 0x24, 0x3C, 0x76, 0x0E, 0x56, 0xE3, 0x36,\r
+               0xFF, 0x12, 0xDB, 0xA7, 0x01, 0x5E, 0xB3, 0xDC, 0xAB, 0xB2, 0x46, 0x9A, 0xE5, 0x02, 0x08, 0x89,\r
+               0x97, 0x7A, 0x64, 0x70, 0xC1, 0x03, 0xEE, 0x41, 0xC8, 0xAD, 0x25, 0xE6, 0x07, 0xD7, 0xEA, 0xBE,\r
+               0xB5, 0x58, 0x55, 0x63, 0x6B, 0xD4, 0x39, 0x3C, 0x3A, 0x9B, 0xD7, 0x22, 0x8C, 0xB4, 0x61, 0x56,\r
+               0x0B, 0xE6, 0x49, 0xC1, 0xA4, 0xCA, 0x27, 0xED, 0x7B, 0x97, 0x96, 0x6F, 0x47, 0x93, 0xAA, 0xBA,\r
+               0x74, 0x99, 0xB8, 0x4F, 0x6D, 0x96, 0x7B, 0x78, 0xE8, 0xFE, 0x05, 0x95, 0x85, 0x35, 0x68, 0xDE,\r
+               0xD2, 0x3F, 0x3D, 0x6C, 0x9E, 0x04, 0xE9, 0x19, 0xEF, 0xA6, 0x02, 0xCA, 0xB9, 0xCB, 0x54, 0x1C,\r
+               0x83, 0x6E, 0x61, 0x61, 0x99, 0xFD, 0x10, 0xE7, 0x73, 0x17, 0x9E, 0xE7, 0x54, 0xC9, 0xB9, 0xF3,\r
+               0x32, 0xDF, 0xAA, 0x1B, 0xF8, 0x9B, 0x76, 0xE0, 0xA8, 0xFA, 0x45, 0xD1, 0x5C, 0x41, 0xB1, 0x73,\r
+               0x4C, 0xA1, 0x52, 0x9D, 0x05, 0xF1, 0x1C, 0x77, 0x1D, 0x90, 0xF0, 0x0E, 0x44, 0xD8, 0xA9, 0xF2,\r
+               0x6A, 0x87, 0x77, 0x9E, 0x7B, 0x7F, 0x92, 0x87, 0x58, 0x8C, 0xB5, 0x57, 0xB6, 0x1C, 0x5B, 0xC4,\r
+               0x8D, 0x60, 0xBF, 0xB1, 0x7D, 0x3D, 0xD0, 0xC3, 0x44, 0x1D, 0xA9, 0xDA, 0x69, 0x3E, 0x84, 0x39,\r
+               0x35, 0xD8, 0xF5, 0x43, 0x44, 0xA5, 0x48, 0x62, 0x67, 0x06, 0x8A, 0xE2, 0xAB, 0x98, 0x46, 0x5D,\r
+               0x9E, 0x73, 0xE5, 0xF8, 0x65, 0x2C, 0xC1, 0xCA, 0x71, 0x57, 0x9C, 0xA5, 0xFF, 0xD9, 0x12, 0x48,\r
+               0xD3, 0x3E, 0x34, 0x64, 0x3F, 0x3F, 0xD2, 0x83, 0x0F, 0xD1, 0xE2, 0x5D, 0x9A, 0xF3, 0x77, 0x07,\r
+               0x19, 0xF4, 0x1A, 0x80, 0x07, 0x1C, 0xF1, 0x98, 0x1B, 0xC0, 0xF6, 0x58, 0x93, 0x72, 0x7E, 0x8F,\r
+               0x3E, 0xD3, 0x36, 0x8B, 0x9D, 0x52, 0xBF, 0x4C, 0xE4, 0x6E, 0x09, 0x09, 0x43, 0x87, 0xAE, 0xAA,\r
+               0x4F, 0xA2, 0x19, 0xD5, 0x38, 0xC6, 0x2B, 0x7D, 0x22, 0x1A, 0xCF, 0xBB, 0x9D, 0xAC, 0x70, 0x5F,\r
+               0x92, 0x7F, 0x79, 0x68, 0x4C, 0x1F, 0xF2, 0xD0, 0x11, 0x00, 0xFC, 0x92, 0x04, 0x9C, 0xE9, 0xF6,\r
+               0x41, 0xAC, 0xC7, 0x05, 0x82, 0xBA, 0x57, 0xBB, 0xB8, 0xFB, 0x55, 0xC0, 0xAF, 0x8C, 0x42, 0x4D,\r
+               0x38, 0xD5, 0x60, 0xDB, 0x20, 0xD7, 0x3A, 0x74, 0x75, 0x47, 0x98, 0xB1, 0x84, 0x3C, 0x69, 0xD6,\r
+               0x51, 0xBC, 0xD6, 0x04, 0xA2, 0x88, 0x65, 0xA9, 0x1E, 0xD8, 0xF3, 0x45, 0x6F, 0x68, 0x82, 0x69,\r
+               0xB6, 0x5B, 0x1E, 0x2B, 0xF6, 0x63, 0x8E, 0x16, 0x29, 0xD2, 0xC4, 0x78, 0x75, 0xB3, 0x98, 0xA8,\r
+               0x4D, 0xA0, 0x5B, 0x95, 0xEC, 0x9F, 0x72, 0xF0, 0x37, 0x03, 0xDA, 0xB7, 0x15, 0x84, 0xF8, 0xFF,\r
+               0x02, 0xEF, 0xC8, 0x49, 0xEE, 0x72, 0x9F, 0x1F, 0x8C, 0xB9, 0x61, 0xB6, 0xF9, 0x8F, 0x14, 0x18,\r
+               0x2D, 0xC0, 0x6C, 0xC2, 0xB0, 0xCE, 0x23, 0xFD, 0xFB, 0xB7, 0x16, 0xCF, 0xB2, 0x08, 0x5F, 0xD4,\r
+               0x20, 0xCD, 0xF9, 0x5A, 0xFE, 0xD9, 0x34, 0xA4, 0xC1, 0x25, 0x2C, 0x67, 0x6A, 0x75, 0x87, 0x71,\r
+               0x0E, 0xE3, 0x54, 0xD9, 0xE1, 0x31, 0xDC, 0x53, 0xBE, 0xAB, 0x53, 0x96, 0xCC, 0xF0, 0x21, 0x52,\r
+               0x7D, 0x90, 0x39, 0xC7, 0x0D, 0x4B, 0xA6, 0xC5, 0xDF, 0xF4, 0x32, 0xA8, 0x0C, 0x14, 0xE1, 0x76,\r
+               0x4E, 0xA3, 0x10, 0xDD, 0x48, 0xB0, 0x5D, 0x7B, 0x4A, 0xCD, 0xA7, 0x04, 0x0A, 0x42, 0xE7, 0x26,\r
+               0x8A, 0x67, 0xE0, 0xE9, 0xC5, 0xAC, 0x41, 0xEA, 0x89, 0xA1, 0x64, 0xAB, 0x18, 0x11, 0xF5, 0x67,\r
+               0xFE, 0x13, 0xD2, 0xAF, 0xD4, 0xBC, 0x51, 0xEB, 0xE5, 0x66, 0x08, 0x00, 0x71, 0xA7, 0x9C, 0xB8,\r
+               0x07, 0xEA, 0xD5, 0x51, 0x26, 0x95, 0x78, 0x30, 0xCD, 0xB5, 0x20, 0xFB, 0x40, 0xCC, 0xAD, 0xE2,\r
+               0x36, 0xDB, 0xBE, 0x0B, 0x16, 0x0C, 0xE1, 0x99, 0x24, 0x4A, 0xC9, 0xED, 0x95, 0x24, 0x78, 0xDF,\r
+               0xD6, 0x3B, 0x29, 0x7C, 0xFD, 0x8F, 0x62, 0xF1, 0x06, 0x59, 0xEB, 0xDC, 0x80, 0x28, 0x6D, 0xC6,\r
+               0xB3, 0x5E, 0x03, 0x33, 0xC6, 0xFA, 0x17, 0xBF, 0x80, 0x29, 0x6D, 0x2A, 0x7D, 0x3B, 0x90, 0x28,\r
+               0xF4, 0x19, 0x18, 0x6F, 0x0B, 0x09, 0xE4, 0x81, 0xA3, 0x32, 0x4E, 0x12, 0x74, 0xBA, 0x99, 0xA0,\r
+               0xD8, 0x35, 0xF7, 0xAC, 0xA6, 0x27, 0xCA, 0x02, 0xE2, 0x3E, 0x0F, 0x5F, 0x7E, 0x70, 0x93, 0x60,\r
+               0x47, 0xAA, 0x91, 0x55, 0x71, 0x28, 0xC5, 0xDA, 0x64, 0x4E, 0x89, 0xA9, 0xC2, 0x2E, 0x2F, 0x82,\r
+               0x8E, 0x63, 0xF4, 0xF9, 0xD3, 0x45, 0xA8, 0x15, 0x94, 0x38, 0x79, 0x2F, 0xB1, 0x43, 0x5C, 0x9C,\r
+               0x6B, 0x86, 0x7E, 0x96, 0xF2, 0xCC, 0x21, 0xBD, 0x60, 0x5E, 0x8D, 0xBD, 0xBA, 0x80, 0x57, 0x54,\r
+               0xFC, 0x11, 0x90, 0xEF, 0x94, 0x53, 0xBE, 0x44, 0x65, 0x46, 0x88, 0xA0, 0x50, 0xDD, 0xBD, 0xE3,\r
+               0x39, 0xD4, 0x69, 0xD3, 0x53, 0xF7, 0x1A, 0x27, 0x30, 0x5B, 0xDD, 0xE8, 0xCB, 0xAF, 0x26, 0x0A,\r
+               0x2E, 0xC3, 0x27, 0x8A, 0x5E, 0x59, 0xB4, 0x84, 0xED, 0xE6, 0x00, 0x88, 0xA5, 0x46, 0x48, 0x8D,\r
+               0xD5, 0x38, 0x62, 0x34, 0xE3, 0xDC, 0x31, 0xBC, 0x2A, 0x9A, 0xC7, 0x33, 0x52, 0x9F, 0xBF, 0xA3,\r
+               0xF2, 0x1F, 0x4E, 0x3F, 0x2D, 0x79, 0x94, 0xD7, 0xC5, 0x35, 0x28, 0x73, 0xF8, 0x86, 0x15, 0x10,\r
+               0xA1, 0x4C, 0x50, 0x72, 0x32, 0x91, 0x7C, 0x20, 0x55, 0x14, 0xB8, 0xC2, 0x29, 0x7A, 0xC4, 0x3D,\r
+               0xA2, 0x4F, 0x1B, 0x3A, 0xF1, 0x9A, 0x77, 0xE8, 0x7A, 0x9F, 0x97, 0x66, 0xD6, 0x2B, 0x3B, 0x93,\r
+               0x76, 0x9B, 0xFA, 0x0F, 0x21, 0x6C, 0x81, 0xCE, 0xB4, 0x6B, 0x59, 0x5C, 0xBD, 0xDF, 0x50, 0x0C,\r
+               0xDD, 0x30, 0xEA, 0xB4, 0x13, 0x18, 0xF5, 0x88, 0x86, 0x79, 0x6B, 0x7C, 0x82, 0x6A, 0x6F, 0x86,\r
+               0x25, 0xC8, 0xE4, 0x42, 0xE9, 0x8B, 0x66, 0xE1, 0x0A, 0xC9, 0xE7, 0x40, 0xCE, 0xB2, 0x23, 0x12,\r
+               0xCF, 0x22, 0xB9, 0xF5, 0x6E, 0xC0, 0x2D, 0x2D, 0xB7, 0x23, 0x5A, 0x17, 0x42, 0x8E, 0xAF, 0xA2,\r
+               0xB2, 0x5F, 0x0A, 0x3B, 0x5A, 0xF6, 0x1B, 0x2F, 0xA6, 0x2A, 0x4B, 0x0F, 0x36, 0xBC, 0xDB, 0xE4,\r
+               0x6E, 0x83, 0x63, 0x8E, 0x4B, 0xE6, 0x0B, 0x2E, 0x62, 0x1E, 0x8F, 0xFF, 0xED, 0x8A, 0x00, 0x09,\r
+               0xC2, 0x2F, 0x2C, 0x6D, 0x23, 0x81, 0x6C, 0x21, 0xC7, 0x75, 0x2A, 0x31, 0xA4, 0x4F, 0x49, 0x85,\r
+               0xA4, 0x49, 0x4D, 0x6A, 0xEF, 0xC9, 0x24, 0xA5, 0x13, 0x40, 0xFE, 0xD0, 0x4D, 0x59, 0xA0, 0x7A,\r
+               0x33, 0xDE, 0xA3, 0x13, 0xC4, 0x17, 0xFA, 0x50, 0xA7, 0x22, 0x4A, 0x06, 0xEC, 0x83, 0x01, 0x01,\r
+               0x7B, 0xA8, 0x03, 0xF3, 0x6C, 0x9E, 0x22, 0x16, 0x52, 0xDA, 0x5A, 0xD8, 0xD8, 0x05, 0x0D, 0x85,\r
+               0x4B, 0xCA, 0x51, 0xC3, 0xA0, 0xD5, 0xA5, 0x5D, 0x58, 0xD0, 0x90, 0x18, 0x6A, 0x71, 0xCB, 0x43,\r
+               0xF4, 0xDF, 0xFB, 0x7C, 0xC3, 0x71, 0x62, 0xF9, 0x8D, 0x05, 0x78, 0x25, 0xD5, 0xA6, 0xA3, 0x2B,\r
+               0x98, 0x74, 0x3C, 0x10, 0x4A, 0x68, 0xF2, 0xE0, 0x78, 0xF0, 0xE3, 0x4B, 0x13, 0x7F, 0xBC, 0x34,\r
+               0x15, 0x41, 0x84, 0x9D, 0x39, 0xC8, 0x21, 0x40, 0x66, 0xEE, 0x2C, 0x9A, 0x6E, 0xDA, 0x64, 0xEC,\r
+               0x92, 0xBE, 0xFC, 0x1A, 0x82, 0x63, 0x31, 0xEB, 0xB4, 0x3C, 0x9B, 0xFF, 0xFA, 0xF8, 0xD2, 0x5A,\r
+               0x33, 0x64, 0x87, 0xBB, 0xA5, 0x85, 0xF0, 0x0D, 0xDE, 0x56, 0x66, 0x68, 0x42, 0xD1, 0x43, 0xCB,\r
+               0x59, 0x99, 0x10, 0xD1, 0x02, 0x6B, 0xB9, 0xE3, 0x56, 0xDE, 0x4E, 0xC8, 0x04, 0x3A, 0xEE, 0x66,\r
+               0x23, 0x75, 0x86, 0xAB, 0xBD, 0x80, 0xED, 0x08, 0x77, 0xFF, 0x34, 0x93, 0xEE, 0xE8, 0xD6, 0x5E,\r
+               0x40, 0x09, 0x99, 0xC8, 0x8A, 0x62, 0x38, 0xEA, 0x1F, 0x97, 0x8B, 0x44, 0x2E, 0x75, 0x8B, 0x03,\r
+               0xB2, 0xCD, 0xAF, 0x3A, 0x62, 0xE9, 0x5B, 0x61, 0x3D, 0xB5, 0xBA, 0x57, 0x84, 0x08, 0x5C, 0xD4,\r
+               0xF3, 0x80, 0xA3, 0x7B, 0x8E, 0x22, 0x7C, 0xAA, 0x83, 0x0B, 0xA6, 0xF5, 0x4B, 0xD9, 0x42, 0xCA,\r
+               0x60, 0x7A, 0xCA, 0xE8, 0xEA, 0xE0, 0xDA, 0x68, 0xFC, 0x74, 0x57, 0x7B, 0x82, 0x4C, 0x1E, 0x96,\r
+               0x67, 0x25, 0x92, 0xEF, 0x28, 0xDC, 0x24, 0x54, 0x5A, 0xD2, 0xD2, 0x58, 0x71, 0x2D, 0x8C, 0x04,\r
+               0xFB, 0x08, 0x23, 0x73, 0xC7, 0x31, 0x26, 0xB9, 0x0B, 0x83, 0x8E, 0x55, 0x76, 0xD3, 0x75, 0xFD,\r
+               0x20, 0x3E, 0xCE, 0xA8, 0x47, 0x39, 0xAE, 0xB1, 0xBA, 0x32, 0x45, 0x2F, 0x17, 0xD4, 0x13, 0x9B,\r
+               0x95, 0xE1, 0xA4, 0x1D, 0xC6, 0x21, 0x37, 0xA9, 0xC4, 0x4C, 0xBD, 0xA9, 0xEA, 0x43, 0x79, 0xF1,\r
+               0xD0, 0xB8, 0xB8, 0x58, 0xF0, 0xD3, 0xF3, 0x5B, 0xE2, 0x6A, 0x98, 0xAA, 0x94, 0xB3, 0xF7, 0x7F,\r
+               0xCC, 0x35, 0x29, 0x44, 0x0D, 0x0C, 0xD1, 0x84, 0x05, 0x8D, 0x50, 0x85, 0x92, 0xF7, 0xB5, 0x3D,\r
+               0xEF, 0x0D, 0x32, 0x67, 0x69, 0xCE, 0x77, 0x46, 0xBD, 0x35, 0x1A, 0x77, 0xAB, 0x56, 0x2D, 0xA5,\r
+               0xF9, 0x4A, 0x63, 0x71, 0x7C, 0x9A, 0x36, 0x12, 0x16, 0x9E, 0x0A, 0xCC, 0x8A, 0xFE, 0xA4, 0x2C,\r
+               0x87, 0xB2, 0xE5, 0x0F, 0x33, 0xFF, 0x1C, 0x77, 0x5B, 0xD3, 0xDB, 0x50, 0xD0, 0xB7, 0xB7, 0x3F,\r
+               0x93, 0xB7, 0xF4, 0x1B, 0xBB, 0xF6, 0x9D, 0x7E, 0x91, 0x19, 0xF5, 0xB4, 0xE8, 0xAC, 0x94, 0x1C,\r
+               0x6C, 0xE6, 0x5A, 0xE4, 0x9E, 0x26, 0x68, 0xAE, 0xB6, 0x3E, 0xD9, 0xBF, 0x72, 0x78, 0xDA, 0x52,\r
+               0xAA, 0x54, 0x2E, 0x22, 0x6B, 0xF8, 0x43, 0x70, 0xC7, 0x4F, 0xF6, 0xE1, 0xD7, 0x49, 0x4E, 0xC6,\r
+               0x99, 0x7D, 0x34, 0x11, 0xC2, 0x61, 0x73, 0xE9, 0x1A, 0x92, 0x96, 0x5C, 0xA3, 0xE4, 0x97, 0x1F,\r
+               0x30, 0x2F, 0xCF, 0xB8, 0x79, 0xCA, 0x63, 0x42, 0xC9, 0x41, 0x28, 0x31, 0x6D, 0x8F, 0x32, 0xBA,\r
+               0xFD, 0x5E, 0x73, 0x75, 0xE2, 0xE1, 0xD3, 0x69, 0xB0, 0x38, 0x8F, 0xEF, 0xCF, 0x40, 0x5F, 0xD7,\r
+               0x96, 0xAA, 0xEC, 0x1E, 0x5D, 0x0A, 0x87, 0x82, 0xD9, 0x51, 0x39, 0x30, 0x4D, 0x9D, 0x00, 0x88,\r
+               0xA1, 0x97, 0xE6, 0x29, 0x9C, 0x10, 0x5C, 0x98, 0x3E, 0xB6, 0xF1, 0x1F, 0x19, 0x22, 0xEB, 0x63,\r
+               0xBF, 0x58, 0x37, 0x37, 0xCB, 0x70, 0x6B, 0xF8, 0xC5, 0x4D, 0xB4, 0xA1, 0x03, 0xC4, 0x17, 0x9F,\r
+               0x04, 0x59, 0x8D, 0x8C, 0x2C, 0x9C, 0x60, 0x14, 0x8A, 0x02, 0x27, 0x7D, 0x01, 0x2B, 0xFA, 0x72,\r
+               0x73, 0x20, 0x83, 0xFB, 0xE0, 0xD7, 0xE7, 0x5F, 0xA5, 0x2D, 0x83, 0xF6, 0x5F, 0xC9, 0x46, 0xCE,\r
+               0x49, 0x88, 0x11, 0xC1, 0x45, 0x0F, 0x9A, 0x87, 0xA8, 0x20, 0x16, 0x6E, 0x11, 0x90, 0x51, 0xD9,\r
+               0x36, 0x79, 0x9F, 0xBE, 0x66, 0xA9, 0x1F, 0x21, 0x86, 0x0E, 0xBB, 0xED, 0x0E, 0x67, 0xB9, 0x31,\r
+               0x57, 0x47, 0xC0, 0xDF, 0x42, 0x69, 0xFB, 0xE1, 0xF5, 0x7D, 0xD6, 0xF3, 0xE2, 0xF1, 0xC3, 0x4B,\r
+               0xC2, 0xEB, 0xF9, 0x4A, 0x12, 0x6F, 0xAD, 0xE7, 0xC6, 0x4E, 0xFF, 0xE9, 0xA7, 0x4F, 0x38, 0xB0,\r
+               0x01, 0x44, 0x95, 0x89, 0x53, 0x7D, 0xFE, 0xF5, 0x02, 0x8A, 0x0F, 0xDD, 0x2A, 0xDE, 0x24, 0xAC,\r
+               0x6D, 0xEF, 0x52, 0xE5, 0x8C, 0x14, 0x48, 0x9C, 0x76, 0xFE, 0x3D, 0x9B, 0x3B, 0xDF, 0x34, 0xBC,\r
+               0x45, 0x14, 0x81, 0xCD, 0xD6, 0x25, 0x23, 0xAD, 0x8F, 0x07, 0x3A, 0x65, 0xC9, 0x04, 0x1D, 0x95,\r
+               0xAC, 0x02, 0x7E, 0x24, 0xEB, 0xF0, 0xCB, 0x78, 0xBE, 0x36, 0x51, 0x3F, 0xF9, 0xAD, 0x84, 0x0C,\r
+               0x8E, 0x33, 0x6D, 0x06, 0xF2, 0xE5, 0xC7, 0x6D, 0x5E, 0xD6, 0xC6, 0x48, 0x12, 0xC5, 0x07, 0x8F,\r
+               0x08, 0xC5, 0x1D, 0x80, 0x1C, 0x18, 0xD4, 0x90, 0x3B, 0xB3, 0xEC, 0x07, 0x29, 0x8B, 0x72, 0xFA,\r
+               0x2B, 0xFD, 0x06, 0xA3, 0x94, 0x11, 0x55, 0x99, 0x7C, 0xF4, 0xF7, 0x5B, 0xE4, 0xB5, 0x81, 0x09,\r
+               0x6A, 0xB0, 0x0A, 0xE2, 0x54, 0x1B, 0x9F, 0x93, 0x50, 0xD8, 0x18, 0x98, 0x49, 0x36, 0xAF, 0x27,\r
+               0xEC, 0x46, 0x7A, 0x64, 0xB6, 0xA7, 0xC1, 0x2F, 0xCF, 0x47, 0x7E, 0x61, 0x9E, 0xEE, 0xA0, 0x28,\r
+               0x1C, 0xC0, 0x0C, 0x94, 0xA8, 0xD4, 0xAC, 0x5C, 0x06, 0x8E, 0x1B, 0xCD, 0x3C, 0x21, 0xCD, 0x45,\r
+               0xE8, 0x52, 0x6A, 0x60, 0x60, 0xDF, 0x6F, 0x57, 0xE3, 0x6B, 0x91, 0xA2, 0x1D, 0x89, 0x44, 0xCC,\r
+               0xED, 0x4F, 0x72, 0x65, 0xD7, 0x35, 0x32, 0xBD, 0x74, 0xFC, 0x7F, 0xDB, 0x7B, 0x70, 0xDB, 0x53,\r
+               0xB8, 0x07, 0x6F, 0x30, 0x3E, 0xAE, 0x40, 0x26, 0xB1, 0x39, 0x86, 0xE7, 0xBC, 0x13, 0x7F, 0xF7,\r
+               0x65, 0x67, 0xD2, 0xED, 0xB9, 0xC0, 0xA9, 0x48, 0xA6, 0x2E, 0xC8, 0xBE, 0xB1, 0xB0, 0xD1, 0x59,\r
+               0xA2, 0xDC, 0xAE, 0x2A, 0x97, 0x37, 0x70, 0xBF, 0x5D, 0xD5, 0x8D, 0x00, 0x0C, 0x88, 0x54, 0xDC,\r
+               0x4D, 0x9C, 0x01, 0xC5, 0x24, 0x9D, 0x69, 0x15, 0x7A, 0xF2, 0xA1, 0x0B, 0xC2, 0xE3, 0xF1, 0x79,\r
+               0xDD, 0x2D, 0x20, 0x55, 0x09, 0x4C, 0x95, 0xC4, 0x29, 0xA1, 0xBF, 0x46, 0xDD, 0x14, 0x19, 0x91,\r
+               0xF2, 0x89, 0xAB, 0x7A, 0xA7, 0xB3, 0xC4, 0x3B, 0x2A, 0xA2, 0xF4, 0x0E, 0x1E, 0xDC, 0x12, 0x9A,\r
+               0x3C, 0xB3, 0x5F, 0xB4, 0x38, 0xD8, 0x30, 0x50, 0xFE, 0x76, 0x15, 0x3B, 0xCE, 0xFA, 0xE4, 0x6C,\r
+               0x0E, 0x93, 0x4D, 0x86, 0xB2, 0xE7, 0x85, 0x6F, 0x55, 0xDD, 0x05, 0x80, 0xFC, 0xBC, 0x90, 0x18,\r
+               0x82, 0xAF, 0xFD, 0x0A, 0x26, 0xAB, 0x5D, 0x23, 0xAD, 0x25, 0x0B, 0x76, 0x06, 0xD5, 0x03, 0x8B,\r
+               0x3F, 0xF8, 0x17, 0xB7, 0x96, 0x27, 0x61, 0xAF, 0x47, 0xCF, 0x56, 0xC1, 0x81, 0x19, 0x48, 0xC0,\r
+               0x2E, 0xE0, 0x1E, 0xA6, 0xD0, 0x53, 0x53, 0xDB, 0x3A, 0xB2, 0xE5, 0x0F, 0xB5, 0x1B, 0x7E, 0xF6,\r
+               0xEA, 0x10, 0x2A, 0x62, 0x3D, 0x88, 0x65, 0x00, 0xE6, 0x6E, 0x8C, 0xBA, 0xA4, 0x1A, 0x6E, 0xE6,\r
+               0x4F, 0xDE, 0x41, 0xC7, 0xB1, 0xC1, 0xA0, 0x49, 0x4A, 0xC2, 0xC3, 0x59, 0xCC, 0x15, 0x09, 0x81,\r
+               0x9B, 0x3F, 0x74, 0x13, 0x4E, 0x28, 0xB6, 0xA0, 0x2C, 0xA4, 0xA2, 0x5E, 0x00, 0x91, 0x41, 0xC9,\r
+               0x2F, 0xE9, 0x16, 0xA7, 0x35, 0x89, 0x6C, 0x01, 0xBB, 0x33, 0x4C, 0x27, 0x2B, 0x64, 0x9F, 0x17,\r
+               0x10, 0xF5, 0x49, 0x2C, 0xFA, 0x2A, 0x46, 0xA5, 0x3A, 0xB1, 0x42, 0xFE, 0x2F, 0x93, 0xF5, 0x13,\r
+               0x72, 0x41, 0xFD, 0xFA, 0x5B, 0x51, 0xE7, 0x7F, 0x43, 0x5F, 0xD5, 0x69, 0xF1, 0x4D, 0x00, 0x38,\r
+               0x4E, 0x84, 0x38, 0x03, 0x5A, 0x59, 0xE6, 0x76, 0xDE, 0x9F, 0x88, 0x34, 0x00, 0xBC, 0x7E, 0xB7,\r
+               0x25, 0x21, 0x9D, 0xCD, 0x13, 0xD5, 0xAF, 0xB3, 0x3D, 0xD0, 0x24, 0x98, 0x67, 0xDB, 0x71, 0xDF,\r
+               0x73, 0x51, 0xED, 0xEB, 0xF5, 0xF2, 0x49, 0x72, 0xA5, 0x45, 0x29, 0x95, 0x26, 0x9A, 0x7D, 0x92,\r
+               0x7A, 0x40, 0xFC, 0xF3, 0x81, 0xB4, 0x3D, 0x40, 0x6B, 0xF6, 0x54, 0xE8, 0x10, 0xAC, 0x7F, 0xA6,\r
+               0x29, 0x60, 0xDC, 0x80, 0x35, 0xD6, 0x89, 0x96, 0xE4, 0x16, 0x3B, 0x87, 0xFE, 0x42, 0xD8, 0xEF,\r
+               0x99, 0xEC, 0x50, 0xBC, 0x79, 0x42, 0xC5, 0x4E, 0x12, 0x18, 0xC3, 0x7F, 0x6D, 0xD1, 0xB1, 0x15,\r
+               0xCF, 0x9C, 0x20, 0x9A, 0x61, 0xC3, 0xDD, 0xD7, 0x6A, 0xE7, 0x44, 0xF8, 0x7C, 0xC0, 0xB8, 0x0D,\r
+               0x3B, 0x52, 0xEE, 0xA0, 0x0A, 0x5C, 0xB6, 0x23, 0x5F, 0x06, 0x90, 0x2C, 0x8A, 0x36, 0x9E, 0xDD,\r
+               0x65, 0x23, 0x9F, 0x8F, 0x4F, 0x40, 0xF3, 0x7A, 0x6F, 0xB2, 0x14, 0xA8, 0x9F, 0x23, 0x87, 0xD1,\r
+               0x44, 0xB3, 0x0F, 0x3E, 0x9E, 0x6D, 0x22, 0x86, 0x22, 0xAC, 0x47, 0xFB, 0x77, 0xCB, 0x70, 0xCE,\r
+               0xB6, 0x0B, 0xB7, 0x74, 0x12, 0xDD, 0xAE, 0xBA, 0xDA, 0xDB, 0xC8, 0x74, 0xBF, 0x03, 0xD4, 0xA2,\r
+               0xCA, 0xCC, 0x70, 0xCF, 0xE5, 0xF3, 0x59, 0x63, 0x64, 0x9E, 0x33, 0x8F, 0x3A, 0x86, 0xEC, 0x1F,\r
+               0x16, 0x83, 0x3F, 0x5C, 0xE7, 0xB3, 0x5B, 0x21, 0xBF, 0x6C, 0x1A, 0xA6, 0xB5, 0x09, 0x14, 0x68,\r
+               0x0B, 0xD6, 0x6A, 0x14, 0x7C, 0x5A, 0xC0, 0x53, 0x83, 0x95, 0xDF, 0x63, 0x11, 0xAD, 0x77, 0xAF,\r
+               0x68, 0x72, 0xCE, 0xD3, 0x06, 0xCC, 0xBA, 0xBF, 0xA9, 0x08, 0x68, 0xD4, 0xA3, 0x1F, 0x45, 0x2F,\r
+               0x0E, 0x86, 0x3A, 0x41, 0x0D, 0x04, 0xB1, 0x7C, 0xC6, 0x82, 0x8D, 0x31, 0x2A, 0x96, 0xED, 0x0E,\r
+               0x6E, 0x04, 0xB8, 0xA3, 0xC9, 0x30, 0x75, 0x8C, 0xFC, 0x0B, 0x3E, 0x82, 0xC1, 0x7D, 0x52, 0x5A,\r
+               0x1E, 0x82, 0x3E, 0x55, 0x75, 0xD2, 0xC9, 0xD2, 0x05, 0x6D, 0xA1, 0x1D, 0xCE, 0x72, 0x8A, 0x8D,\r
+               0x79, 0x66, 0xDA, 0xD6, 0xCA, 0x78, 0x76, 0xC7, 0x63, 0xFF, 0x55, 0xE9, 0x1C, 0xA0, 0xEF, 0x3A,\r
+               0x62, 0x45, 0xF9, 0xEE, 0xC3, 0xF0, 0x7F, 0x46, 0x3F, 0xE4, 0x12, 0xAE, 0xEF, 0x53, 0xD1, 0xF7,\r
+               0x1A, 0xC2, 0x7E, 0x11, 0x22, 0x8F, 0x9E, 0xD8, 0x5B, 0x42, 0xD0, 0x6C, 0xEA, 0x56, 0xC9, 0xEA,\r
+               0x09, 0xE0, 0x5C, 0x20, 0x37, 0x96, 0x8B, 0xD4, 0x2C, 0xD5, 0x30, 0x8C, 0x69, 0xD5, 0xA1, 0x01,\r
+               0x36, 0x03, 0xBF, 0xFC, 0xC6, 0xE8, 0x7A, 0x5B, 0xFF, 0x2E, 0x18, 0xA4, 0x5A, 0xE6, 0xBB, 0x28,\r
+               0xE5, 0x2B, 0x97, 0x07, 0xF7, 0xB2, 0x4B, 0x30, 0x01, 0x29, 0xE1, 0x5D, 0x73, 0xCF, 0x60, 0xDA,\r
+               0x9D, 0xAC, 0x10, 0xF8, 0xBD, 0x76, 0x01, 0xBE, 0x8D, 0xEC, 0xA8, 0x14, 0x56, 0xEA, 0x2B, 0xB4,\r
+               0xF1, 0x6F, 0xD3, 0x57, 0xAF, 0x37, 0x13, 0xED, 0xB9, 0x1C, 0x6C, 0xD0, 0x4A, 0xF6, 0xBA, 0x39,\r
+               0xFB, 0x58, 0xE4, 0x6A, 0x7B, 0x02, 0xC7, 0x0C, 0x89, 0xA8, 0xE8, 0x54, 0xD7, 0x6B, 0x03, 0x1D,\r
+               0xA4, 0x39, 0x85, 0x54, 0xBB, 0x26, 0x07, 0xE8, 0x97, 0xC5, 0x9B, 0x27, 0xAD, 0x11, 0x95, 0xF1,\r
+               0xE7, 0x1D, 0xA1, 0x33, 0x05, 0x84, 0xB9, 0xF4, 0x92, 0x90, 0xCB, 0x77, 0x28, 0x94, 0xAD, 0x4C,\r
+               0x75, 0x27, 0x9B, 0x9B, 0xDD, 0x21, 0x61, 0x89, 0x0A, 0x05, 0xC6, 0x7A, 0x3F, 0x83, 0xF4, 0x02,\r
+               0x53, 0xD1, 0x6D, 0x4B, 0xA2, 0xAF, 0x1E, 0x78, 0xC5, 0xA7, 0xAB, 0x17, 0x79, 0xC5, 0xA0, 0x10,\r
+               0xE9, 0x6A, 0xD6, 0x4A, 0x4E, 0x48, 0xF2, 0x73, 0x19, 0x34, 0xE4, 0x58, 0x94, 0x28, 0x4F, 0x12,\r
+               0x88, 0xF8, 0x44, 0xB9, 0xD8, 0x39, 0x64, 0x94, 0x54, 0x2A, 0xB7, 0x0B, 0x6E, 0xD2, 0xF9, 0x5E,\r
+               0x82, 0xCF, 0x73, 0x84, 0xC2, 0xF8, 0x7E, 0x4F, 0x7B, 0xE2, 0x50, 0xEC, 0x85, 0x39, 0x46, 0x0A,\r
+               0xAB, 0x5E, 0xE2, 0x3C, 0x18, 0x1D, 0xA4, 0x70, 0x55, 0x3B, 0xA7, 0x1B, 0x5C, 0xE0, 0xEB, 0x7E,\r
+               0x17, 0x93, 0x2F, 0x4D, 0x33, 0x86, 0x8F, 0xC0, 0x8B, 0x9C, 0xDE, 0x62, 0x31, 0x8D, 0x24, 0xDC,\r
+               0x4A, 0xC4, 0x78, 0x47, 0x2A, 0x0F, 0x96, 0x50, 0x85, 0xE5, 0xA9, 0x15, 0x20, 0x9C, 0x2D, 0xC4,\r
+               0x50, 0xF7, 0x4B, 0x6E, 0xB3, 0xA6, 0x0F, 0x60, 0x38, 0x85, 0x74, 0xC8, 0xF9, 0x45, 0x80, 0xB0,\r
+               0x90, 0xFD, 0x41, 0xA4, 0x24, 0xDF, 0x98, 0x8E, 0xD0, 0xE6, 0xFF, 0x43, 0xFA, 0x46, 0xC8, 0xFB,\r
+               0x3E, 0x02, 0xBE, 0xF5, 0xF4, 0xFA, 0x48, 0x7B, 0xDB, 0xCA, 0xD8, 0x64, 0xB4, 0x08, 0x1C, 0x61,\r
+               0x07, 0x97, 0x2B, 0x59, 0x48, 0x18, 0xF4, 0x25, 0xA8, 0x19, 0x78, 0xC4, 0xCA, 0x76, 0x9A, 0x99,\r
+               0x81, 0xE9, 0x55, 0xA1, 0x2D, 0x57, 0x91, 0x0F, 0x34, 0xC8, 0x35, 0x89, 0xD9, 0x65, 0xD3, 0xC3,\r
+               0x4D, 0xA2, 0x1E, 0x26, 0xDE, 0x69, 0x62, 0xC2, 0xE1, 0x43, 0x6B, 0xD7, 0xDB, 0x67, 0x93, 0x81,\r
+               0x56, 0x81, 0x3D, 0x1E, 0x1C, 0x0D, 0xA0, 0x64, 0x13, 0x09, 0xD3, 0x6F, 0x43, 0xFF, 0x32, 0xB8,\r
+               0xC0, 0xFB, 0x47, 0xF2, 0xF3, 0xA2, 0x4F, 0x24, 0xCD, 0xAE, 0xAA, 0x16, 0x17, 0xAB, 0x27, 0xF9,\r
+               0xDC, 0xBE, 0x02, 0xAB, 0x01, 0x94, 0xBD, 0xE0, 0xCE, 0x8B, 0x8C, 0x30, 0x99, 0x25, 0xD7, 0x87,\r
+               0x47, 0x95, 0x29, 0x1B, 0xE3, 0xA3, 0x5F, 0x35, 0x31, 0x9D, 0x65, 0xD9, 0x1B, 0xA7, 0xB7, 0x65,\r
+               0xAA, 0x4E, 0xF2, 0x2D, 0xEB, 0x23, 0x57, 0xBD, 0x4B, 0x56, 0xD4, 0x68, 0x7D, 0xC1, 0xB0, 0x04,\r
+               0xAE, 0x0E, 0xB2, 0x69, 0x32, 0x8E, 0x8E, 0xC9, 0x1F, 0x44, 0x92, 0x2E, 0x70, 0xCC, 0x28, 0x91,\r
+               0xF6, 0x09, 0xB5, 0x36, 0x0E, 0x4C, 0xB2, 0x37, 0x3C, 0xC1, 0x34, 0x88, 0xE2, 0x5E, 0x49, 0x62,\r
+               0xCB, 0xDC, 0x60, 0xDE, 0x3B, 0x06, 0x87, 0x48, 0x33, 0xA9, 0x53, 0xEF, 0x32, 0x8E, 0x6C, 0x97,\r
+               0xC7, 0x9D, 0x21, 0x93, 0xF0, 0xEA, 0x4C, 0x6F, 0x91, 0xB5, 0xED, 0x51, 0x2C, 0x90, 0xBD, 0x58,\r
+               0xE2, 0x4D, 0xF1, 0x66, 0x52, 0xD9, 0xEE, 0xFE, 0xF7, 0x27, 0x19, 0xA5, 0xB8, 0x04, 0x8C, 0xFD,\r
+               0xFD, 0x2E, 0x92, 0x1A, 0xB0, 0xEE, 0x0C, 0x2B, 0x20, 0x98, 0x71, 0xCD, 0xE5, 0x59, 0x11, 0x3D,\r
+               0xE3, 0x5D, 0xE1, 0x77, 0x57, 0xC1, 0xEB, 0xE3, 0x0C, 0x75, 0xB0, 0x0C, 0x2D, 0x91, 0xB5, 0x51,\r
+               0x74, 0x37, 0x8B, 0x8A, 0xB9, 0x66, 0x05, 0xAA, 0xAC, 0x5D, 0x38, 0x84, 0x80, 0x3C, 0x5E, 0x17,\r
+               0xE0, 0x7B, 0xC7, 0x52, 0x1A, 0x5D, 0xA6, 0x32, 0xFE, 0x3F, 0x08, 0xB4, 0x0A, 0xB6, 0xBE, 0x7D,\r
+               0x98, 0xFC, 0x40, 0xAD, 0xB1, 0xE6, 0x0D, 0x22, 0x9B, 0x88, 0xDA, 0x66, 0xBC, 0x00, 0x9C, 0xE9,\r
+               0x9F, 0x9A, 0x26, 0xCC, 0xA3, 0xA7, 0x1F, 0x71, 0x41, 0x6B, 0xE3, 0x5F, 0xCD, 0x71, 0xC2, 0xC6,\r
+               0x58, 0xF6, 0x4A, 0x67, 0xBA, 0x2E, 0x06, 0xE1, 0x2F, 0xF0, 0x16, 0xAA, 0xD2, 0x6E, 0x1B, 0x00,\r
+               0x67, 0x15, 0xA9, 0xBB, 0x4C, 0x08, 0xF0, 0x31, 0xBC, 0x49, 0x3C, 0x80, 0x63, 0xDF, 0x61, 0xCB,\r
+               0x35, 0x25, 0x99, 0xD9, 0x07, 0xC4, 0xBB, 0xB6, 0x7C, 0x83, 0x36, 0x8A, 0xA5, 0x19, 0x15, 0x79,\r
+               0xD4, 0x06, 0x83, 0x79, 0xA2, 0x5D, 0x8F, 0xD1, 0x62, 0x5B, 0xB0, 0x17, 0xE2, 0x00, 0x30, 0x1E,\r
+               0x0D, 0xDF, 0xF7, 0xD4, 0xC2, 0x80, 0x52, 0x6C, 0xFB, 0xF2, 0x29, 0x27, 0xD1, 0x29, 0x03, 0x04,\r
+               0xA8, 0x7A, 0x39, 0xBF, 0x7C, 0x53, 0x81, 0x01, 0x50, 0x49, 0x82, 0x37, 0x78, 0x7B, 0xAA, 0xFF,\r
+               0xC5, 0x17, 0x9B, 0x70, 0xDB, 0x2A, 0xF8, 0xDF, 0x7B, 0xD2, 0xA9, 0x87, 0xB5, 0x0A, 0x67, 0x43,\r
+               0x9A, 0x48, 0x19, 0xAD, 0x6D, 0x43, 0x91, 0x00, 0x90, 0x6D, 0x42, 0xD3, 0xDE, 0xFE, 0x0C, 0xDC,\r
+               0x71, 0xA3, 0x4D, 0x12, 0xA5, 0xA4, 0x76, 0x2F, 0x8A, 0xAC, 0x58, 0x08, 0xE9, 0xC3, 0x3B, 0xD6,\r
+               0x8D, 0x5F, 0x57, 0xF4, 0xE0, 0x5F, 0x8D, 0x91, 0xEA, 0xFB, 0x38, 0x3F, 0xF7, 0x0C, 0x25, 0x07,\r
+               0x60, 0xB2, 0x55, 0x1B, 0x73, 0x10, 0xC2, 0x4D, 0x06, 0x1C, 0xD4, 0x34, 0x4C, 0x0D, 0x9E, 0xBD,\r
+               0xE3, 0x31, 0xBE, 0x73, 0xE9, 0x5E, 0x8C, 0x99, 0xBB, 0xF6, 0x69, 0x63, 0xDD, 0xB5, 0x0F, 0x94,\r
+               0x6D, 0xBF, 0xC0, 0x83, 0xCC, 0x78, 0xAA, 0x9A, 0x49, 0xC0, 0x9B, 0xA7, 0x98, 0xEC, 0x4A, 0x88,\r
+               0x2F, 0xFD, 0xC6, 0xC7, 0x04, 0x9F, 0x4D, 0xB5, 0x96, 0x3D, 0x44, 0x85, 0x84, 0x61, 0x56, 0x19,\r
+               0xB7, 0x65, 0xFF, 0x66, 0x4E, 0x27, 0xF5, 0x47, 0x54, 0x59, 0x86, 0x23, 0xA7, 0x59, 0x75, 0x02,\r
+               0x3E, 0xEC, 0xDE, 0xCE, 0x5E, 0x8C, 0x5E, 0xFC, 0x00, 0x4C, 0xD2, 0x62, 0xB1, 0x1E, 0x63, 0x53,\r
+               0x2D, 0xFF, 0x84, 0x87, 0x8F, 0xC1, 0x13, 0x60, 0x65, 0x03, 0xB7, 0x48, 0xCF, 0xE6, 0x1D, 0xD5,\r
+               0x0E, 0xDC, 0xBC, 0x9C, 0xA1, 0x0B, 0xD9, 0x84, 0x6C, 0x8B, 0xBE, 0xC9, 0xDB, 0xE3, 0x09, 0xC4,\r
+               0x40, 0x92, 0x26, 0x48, 0x8D, 0x2C, 0xFE, 0x8F, 0xBC, 0xAE, 0x6E, 0x3C, 0x24, 0xB2, 0xF6, 0x6A,\r
+               0x4C, 0x9E, 0xBA, 0xD8, 0x60, 0xED, 0x3F, 0xA3, 0x1A, 0x8D, 0xC8, 0xB9, 0x6B, 0x21, 0xB9, 0xB6,\r
+               0x11, 0xC3, 0x7A, 0x45, 0xDF, 0x85, 0x57, 0x74, 0xF8, 0xBA, 0x2A, 0x6C, 0x08, 0x5D, 0xDA, 0xA9,\r
+               0xC6, 0x14, 0xD0, 0x38, 0xEE, 0xA7, 0x75, 0x67, 0x73, 0x52, 0xA1, 0x0F, 0xFA, 0x99, 0x28, 0x9F,\r
+               0xD8, 0x0A, 0x1F, 0xE9, 0xF2, 0x19, 0xCB, 0xC5, 0xB8, 0xBE, 0x6A, 0x28, 0xBB, 0xD4, 0x69, 0x93,\r
+               0x84, 0x56, 0xD6, 0x7C, 0x03, 0x66, 0xB4, 0x4B, 0x7A, 0xDA, 0xA8, 0x8E, 0x28, 0x2E, 0xFA, 0xFA,\r
+               0x16, 0xC4, 0x25, 0x1D, 0x86, 0xC0, 0x12, 0x68, 0x46, 0x18, 0x94, 0x70, 0x2F, 0x71, 0xFD, 0xA2,\r
+               0xEF, 0x3D, 0x22, 0xE3, 0xDA, 0x91, 0x43, 0x65, 0xAB, 0xF7, 0x79, 0x72, 0xB3, 0x5C, 0x61, 0x13,\r
+               0x89, 0x5B, 0x43, 0xE4, 0x11, 0x20, 0xF2, 0x1F, 0xA3, 0x77, 0x71, 0xFA, 0x68, 0x6A, 0xBA, 0xFE,\r
+               0x97, 0x45, 0x8C, 0x35, 0x0E, 0xC8, 0x1A, 0xE8, 0x04, 0x5C, 0xD6, 0x76, 0x33, 0xFC, 0xE1, 0x33,\r
+               0x51, 0x83, 0x3E, 0x41, 0xC4, 0xC2, 0x10, 0x28, 0x4F, 0x90, 0x9D, 0xF1, 0x03, 0x9E, 0xD1, 0x61,\r
+               0x39, 0xEB, 0x81, 0x96, 0x2C, 0x17, 0xC5, 0x15, 0xEB, 0xF3, 0x39, 0x36, 0xBC, 0x8B, 0x6E, 0xCB,\r
+               0x26, 0xF4, 0x47, 0x4F, 0xB7, 0xE2, 0x30, 0x7B, 0xF2, 0x7A, 0x20, 0xA6, 0xD0, 0x20, 0x02, 0x0C,\r
+               0xFE, 0x2C, 0x3A, 0xEA, 0x78, 0xFC, 0x2E, 0xAA, 0x52, 0x09, 0x80, 0x75, 0x5D, 0x15, 0x8F, 0xB4,\r
+               0x48, 0x9A, 0xAE, 0xC8, 0xCF, 0x2E, 0xFC, 0xCF, 0xF9, 0xB2, 0x2B, 0x65, 0xDA, 0xEA, 0x08, 0xCC,\r
+               0xD9, 0x0B, 0x16, 0xE1, 0x32, 0x44, 0x96, 0x58, 0x1F, 0x95, 0xCD, 0xA4, 0x7B, 0x30, 0xA9, 0xB7,\r
+               0x74, 0xA6, 0x50, 0x0A, 0x1A, 0xCC, 0x1E, 0xF8, 0xF1, 0x32, 0x23, 0xED, 0x11, 0xCD, 0xC3, 0x20,\r
+               0x0A, 0xD8, 0xA8, 0x8C, 0x51, 0xCF, 0x1D, 0xB0, 0x7D, 0x82, 0xAF, 0xD1, 0x46, 0xC7, 0x94, 0x7D,\r
+               0x99, 0x4B, 0x52, 0xE5, 0x5F, 0x37, 0xE5, 0x46, 0x31, 0x16, 0xE3, 0x09, 0xCA, 0xFB, 0x18, 0xCD,\r
+               0xD2, 0x00, 0xD5, 0x29, 0x02, 0xDD, 0x0F, 0xF1, 0xBD, 0xA6, 0x6F, 0x35, 0x77, 0xAC, 0xA5, 0x27,\r
+               0xE4, 0x36, 0xE1, 0x2B, 0xB1, 0xA0, 0x72, 0x3F, 0xC9, 0xE0, 0x1B, 0x07, 0x66, 0xB4, 0xB4, 0x2E,\r
+               0xF4, 0x26, 0xF0, 0x2A, 0xD8, 0x7C, 0xAE, 0x8A, 0x12, 0x0D, 0xC0, 0x31, 0xA2, 0x44, 0x70, 0x1A,\r
+               0x93, 0x41, 0x98, 0x25, 0x97, 0xD0, 0x02, 0x69, 0x5B, 0x81, 0x89, 0xF4, 0x07, 0x8A, 0xD5, 0x71,\r
+               0xDB, 0x09, 0x54, 0xA1, 0xF6, 0xB6, 0x64, 0x6E, 0xB2, 0x7E, 0x60, 0xE2, 0xD3, 0x6B, 0x01, 0x44,\r
+               0x05, 0xD7, 0x7F, 0x54, 0x18, 0x21, 0xF3, 0x17, 0x13, 0x05, 0xC1, 0x38, 0x67, 0xBD, 0xB5, 0x26,\r
+               0x41, 0x93, 0x2F, 0x40, 0x2B, 0xEE, 0x3C, 0xEB, 0xAF, 0xE7, 0x7D, 0x66, 0xA5, 0x1B, 0x77, 0x42,\r
+               0xE5, 0x37, 0xE8, 0x23, 0xD2, 0x2B, 0xF9, 0xD7, 0x34, 0x0E, 0xE6, 0x14, 0xF0, 0x53, 0x22, 0x5F,\r
+               0x4B, 0x99, 0xE5, 0x80, 0x9C, 0x3C, 0xEE, 0x8E, 0x5A, 0x89, 0x88, 0xFD, 0x2D, 0x33, 0xFF, 0xE2,\r
+               0xCE, 0x1C, 0x58, 0xB8, 0xD9, 0xC7, 0x15, 0x30, 0xAD, 0xA7, 0x7F, 0x24, 0xEA, 0x88, 0x38, 0x9E,\r
+               0x6B, 0xB9, 0x96, 0xD3, 0xF5, 0xE0, 0x32, 0x3B, 0x07, 0x14, 0xD5, 0x3D, 0x05, 0xC8, 0xD7, 0x31,\r
+               0x83, 0x51, 0x89, 0x24, 0xEB, 0xB3, 0x61, 0x76, 0xD6, 0x39, 0x04, 0xC1, 0x95, 0x79, 0x47, 0x10,\r
+               0x88, 0x5A, 0x4A, 0xEC, 0xA0, 0xB0, 0x62, 0x3E, 0x29, 0x97, 0xFB, 0x90, 0xBA, 0xDD, 0x68, 0x9B,\r
+               0x7E, 0xAC, 0x9A, 0xCA, 0x41, 0x64, 0xB6, 0x0B, 0x42, 0x08, 0x90, 0x64, 0x74, 0xE7, 0xA6, 0x6F,\r
+               0x1E, 0xCC, 0xAD, 0x9D, 0x05, 0x24, 0xF6, 0x0F, 0x6A, 0xDB, 0xB8, 0x9F, 0xE4, 0x56, 0x36, 0x4E,\r
+               0x9D, 0x4F, 0x46, 0xF5, 0x92, 0xC4, 0x16, 0x78, 0x7F, 0xC2, 0xAD, 0x93, 0xC6, 0x67, 0x14, 0x5D,\r
+               0xE8, 0x3A, 0x7D, 0xBB, 0xB8, 0xA1, 0x73, 0x37, 0x82, 0x2C, 0x50, 0x80, 0x40, 0x91, 0x92, 0x2D,\r
+               0x1B, 0xC9, 0xB0, 0x85, 0xA3, 0xE6, 0x34, 0x6B, 0x8B, 0xA4, 0x59, 0x01, 0x63, 0xA9, 0xB1, 0x36,\r
+               0x35, 0xE7, 0x1D, 0x06, 0x4C, 0xCA, 0x18, 0xA8, 0x81, 0x64, 0x53, 0xCB, 0x22, 0xE4, 0xF0, 0x3A,\r
+               0x3A, 0xE8, 0xCA, 0xDE, 0x2A, 0x55, 0x87, 0x51, 0x3D, 0x86, 0xEF, 0x95, 0xA4, 0x12, 0x76, 0x4A,\r
+               0x57, 0x85, 0x68, 0x11, 0x4F, 0x9C, 0x4E, 0xFD, 0x4E, 0x98, 0x9C, 0xF8, 0x54, 0x94, 0x86, 0x3C,\r
+               0xDE, 0x0C, 0x49, 0xB9, 0xC5, 0x79, 0xAB, 0x92, 0x45, 0x50, 0x97, 0x3B, 0xA0, 0x06, 0x72, 0x5A,\r
+               0xDC, 0x0E, 0x0B, 0xF9, 0xD7, 0x3F, 0xED, 0xC6, 0x4D, 0xD0, 0x9F, 0xB3, 0x3B, 0x74, 0xE9, 0xB3,\r
+               0xCB, 0x19, 0x45, 0xA0, 0x42, 0x32, 0xE0, 0x5E, 0x95, 0x75, 0x47, 0xCE, 0x01, 0xDC, 0xD3, 0x21,\r
+               0x23, 0xF1, 0x5A, 0x57, 0xEF, 0x1C, 0xCE, 0xDD, 0x33, 0x56, 0xE1, 0x4B, 0x7E, 0x2D, 0xAC, 0xAF,\r
+               0x59, 0x8B, 0xB6, 0xC1, 0x82, 0x6F, 0xBD, 0xC3, 0xF3, 0x72, 0x21, 0xAF, 0x1F, 0x13, 0xCD, 0xF0,\r
+               0xA2, 0x70, 0xF3, 0x7F, 0xAB, 0x5C, 0x8E, 0xD9, 0xF5, 0x22, 0x27, 0xF9, 0x8A, 0xBF, 0x58, 0xC9,\r
+               0xBE, 0x6C, 0x7E, 0xEE, 0x5B, 0x98, 0x4A, 0xED, 0xE7, 0x63, 0x35, 0xAA, 0x49, 0x10, 0x9B, 0xA5,\r
+               0xAE, 0x7C, 0x6F, 0xEF, 0x69, 0xEC, 0x3E, 0xAB, 0x8E, 0xBC, 0x5C, 0x1C, 0x25, 0xBB, 0xF7, 0x62,\r
+               0x87, 0x55, 0x9D, 0x34, 0x6E, 0x15, 0xC7, 0x55, 0xBF, 0xE6, 0x6D, 0x77, 0x0D, 0x40, 0xDF, 0xB1,\r
+               0x8F, 0x21, 0x20, 0x5F, 0x2A, 0xB8, 0x1C, 0x68, 0x14, 0xC4, 0x53, 0xC9, 0xDF, 0xE2, 0xB3, 0x63,\r
+               0x84, 0xE2, 0xE8, 0x54, 0x4C, 0x4C, 0x8E, 0x9C, 0x9D, 0x4D, 0x72, 0x61, 0x55, 0x8D, 0x56, 0x86,\r
+               0xF7, 0x8F, 0xF6, 0x27, 0x3A, 0xBC, 0x08, 0x6C, 0xF0, 0x20, 0xD0, 0xAE, 0x30, 0x21, 0x9F, 0x4F,\r
+               0x4B, 0xD1, 0x14, 0x9B, 0x4A, 0x3A, 0xFE, 0xEA, 0xFF, 0x2F, 0x07, 0x76, 0x56, 0xD8, 0x00, 0xD0,\r
+               0x41, 0x1B, 0xD4, 0x91, 0x46, 0x7B, 0xB3, 0xAB, 0xD1, 0x01, 0xAA, 0xF5, 0xB9, 0x1B, 0x2C, 0xFC,\r
+               0x48, 0x9A, 0x5C, 0x98, 0x5D, 0x58, 0x8B, 0x88, 0x22, 0xF2, 0x67, 0xCB, 0xA2, 0x47, 0x6B, 0xBB,\r
+               0xB5, 0x89, 0xB2, 0x65, 0x2D, 0xDE, 0x7D, 0x0E, 0x57, 0x87, 0x5C, 0x85, 0x88, 0x08, 0x0E, 0xDE,\r
+               0xA0, 0x85, 0xAB, 0x70, 0x3E, 0xFC, 0x4C, 0x2C, 0xD4, 0x04, 0xB7, 0xED, 0x1F, 0x7F, 0xEE, 0x3E,\r
+               0x75, 0x6D, 0x96, 0xA5, 0xC1, 0x15, 0x5A, 0xC5, 0x4D, 0x9D, 0x87, 0x44, 0x74, 0x25, 0xDF, 0x0F,\r
+               0x44, 0x06, 0xCC, 0x94, 0x12, 0x3D, 0xA1, 0xED, 0x64, 0xB4, 0x75, 0x9F, 0x73, 0xDB, 0x26, 0xF6,\r
+               0x2D, 0xB0, 0x13, 0xFD, 0xD5, 0x51, 0x0A, 0x81, 0x74, 0xA4, 0x64, 0x9E, 0x41, 0x9D, 0x52, 0x82,\r
+               0x3F, 0xE3, 0x52, 0xEF, 0xB9, 0x92, 0xA5, 0x42, 0x68, 0xB8, 0xE9, 0x0F, 0xB1, 0xA9, 0x96, 0x46,\r
+               0x39, 0xB5, 0x02, 0xE9, 0x80, 0x07, 0x09, 0xD7, 0x93, 0x43, 0xAC, 0xB1, 0x98, 0xB3, 0xA5, 0x75,\r
+               0xF9, 0x51, 0x26, 0x29, 0xDF, 0x66, 0x37, 0xB6, 0xE9, 0x39, 0x40, 0x27, 0xF5, 0xAD, 0xD6, 0x06,\r
+               0x5F, 0xD4, 0x05, 0x8F, 0x51, 0x19, 0xC6, 0xC9, 0x01, 0xD1, 0x5F, 0xD0, 0x58, 0x2E, 0xF8, 0x28,\r
+               0x87, 0xA9, 0xA0, 0x57, 0xC3, 0x23, 0x6E, 0xF3, 0x16, 0xC6, 0x11, 0x89, 0xCD, 0xB6, 0xF5, 0x25,\r
+               0xD9, 0x22, 0x75, 0x09, 0x56, 0x7F, 0xA7, 0xAF, 0xCF, 0x1F, 0x65, 0x24, 0x02, 0x67, 0xEB, 0x3B,\r
+               0x78, 0xF8, 0x0E, 0xA8, 0x34, 0xCB, 0x71, 0x1B, 0x11, 0xC1, 0x4E, 0xD1, 0xEC, 0x1E, 0x7C, 0xAC,\r
+               0x91, 0xEE, 0xF1, 0x41, 0x01, 0x1F, 0x90, 0xCF, 0x59, 0x89, 0x82, 0x55, 0x8D, 0x19, 0x1A, 0xCA,\r
+               0xD8, 0x2B, 0x7D, 0x08, 0x6A, 0xBA, 0x5E, 0x6A, 0x3E, 0xEE, 0xEA, 0x5A, 0xC2, 0xFA, 0xB6, 0x66,\r
+               0x03, 0x1D, 0x90, 0xD3, 0x5E, 0x7E, 0xAE, 0xAE, 0x2E, 0xFE, 0xFB, 0x5B, 0xAB, 0x4F, 0x6A, 0xBA,\r
+               0x77, 0x2F, 0xD6, 0xA7, 0x57, 0x6F, 0xB6, 0xBF, 0x18, 0xC8, 0xCF, 0x59, 0x18, 0x81, 0x17, 0xC7,\r
+               0xFB, 0x13, 0x66, 0x2B, 0xBD, 0xD2, 0xE1, 0x02, 0x53, 0x83, 0x48, 0x95, 0x45, 0x36, 0xFD, 0x2D,\r
+               0xB7, 0xCB, 0xF2, 0x67, 0x0D, 0x5E, 0xDD, 0x8E, 0xC0, 0x10, 0xB2, 0xFC, 0x4B, 0xC0, 0x05, 0xD5,\r
+               0x88, 0x7E, 0x78, 0x58, 0x1F, 0x6C, 0xFD, 0xBC, 0xB4, 0x64, 0x80, 0xBA, 0x5B, 0x7B, 0xAE, 0x7E,\r
+               0xE3, 0x8A, 0xE7, 0x33, 0xEB, 0xA2, 0xC7, 0x72, 0x42, 0x92, 0x50, 0x9C, 0xBA, 0x4E, 0x7A, 0xAA,\r
+               0x1C, 0xDB, 0x49, 0xCC, 0x60, 0x8D, 0x63, 0x5D, 0x49, 0x99, 0x93, 0x54, 0xF1, 0x06, 0x79, 0xA9,\r
+               0xCD, 0x27, 0x64, 0x1D, 0x41, 0x1D, 0xD2, 0xCD, 0xA1, 0x71, 0x8C, 0xA3, 0xEF, 0x4B, 0x2A, 0xFA,\r
+               0x67, 0x3E, 0xD7, 0xB7, 0xEE, 0xF2, 0x92, 0x22, 0x04, 0xD4, 0x42, 0xC8, 0xC3, 0x40, 0x0D, 0xDD,\r
+               0x90, 0xE7, 0xF9, 0x40, 0x92, 0x35, 0x29, 0xE5, 0x81, 0x51, 0xFF, 0xF0, 0x86, 0xFE, 0xF6, 0x26,\r
+               0xFE, 0x0E, 0x7E, 0x2E, 0x2F, 0xE8, 0x49, 0x38, 0x2F, 0xFF, 0xF2, 0x53, 0xC8, 0xA7, 0xE1, 0x31,\r
+               0x65, 0x7C, 0x97, 0xB5, 0x32, 0xBD, 0x01, 0x6D, 0x8B, 0x5B, 0x35, 0x30, 0x31, 0x9B, 0x24, 0xF4,\r
+               0x69, 0xE0, 0x07, 0xB9, 0x8E, 0x70, 0x70, 0xA0, 0x43, 0x93, 0x59, 0x94, 0x0B, 0x6F, 0xEA, 0x3A,\r
+               0x61, 0x68, 0x87, 0xB1, 0x63, 0xAB, 0x46, 0x7B, 0x25, 0xF5, 0x38, 0x93, 0xC0, 0x15, 0x5B, 0x8B,\r
+               0x8C, 0x6A, 0x68, 0x5C, 0xD2, 0x37, 0x6B, 0xE7, 0xDC, 0x0C, 0x3F, 0x6D, 0x9C, 0x18, 0x0A, 0xDA,\r
+               0xB0, 0x94, 0xAA, 0x60, 0x8A, 0x30, 0x34, 0xE0, 0x4E, 0x9E, 0xCC, 0x0C, 0x19, 0x3B, 0xAC, 0x7C,\r
+               0x72, 0x32, 0xCE, 0xA2, 0xE3, 0xA3, 0xCE, 0x73, 0x12, 0xC2, 0x05, 0x99, 0xE8, 0xB5, 0xD3, 0x03,\r
+               0xB9, 0x15, 0x22, 0x69, 0xEF, 0xE2, 0x83, 0x32, 0x0C, 0xDC, 0xCA, 0x48, 0xF4, 0x17, 0x6D, 0xBD,\r
+               0x32, 0x76, 0xCA, 0xE2, 0xD9, 0x10, 0x47, 0xC0, 0xDB, 0x0B, 0x60, 0x35, 0xC5, 0x04, 0x4F, 0x9F,\r
+               0xD0, 0xA3, 0xFD, 0x00, 0xC6, 0x73, 0x3B, 0xA3, 0x86, 0x56, 0xA0, 0xA8, 0x7A, 0xD3, 0x27, 0xF7,\r
+               0x3B, 0xF7, 0x42, 0xEB, 0x50, 0x09, 0xD7, 0xD9, 0xBE, 0x6E, 0x4A, 0x7A, 0x00, 0x88, 0x06, 0xD6,\r
+               0xD5, 0xBE, 0xE5, 0x05, 0xC7, 0x63, 0x2A, 0xB3, 0x13, 0xC3, 0x0C, 0x91, 0x28, 0x28, 0x8E, 0x5E,\r
+               0x33, 0x7F, 0xC2, 0xE3, 0xBC, 0xC2, 0xF0, 0x12, 0x82, 0x52, 0xB4, 0xB8, 0xD5, 0xBF, 0xE4, 0x34,\r
+               0x98, 0x6F, 0x79, 0x48, 0xC4, 0x45, 0x0F, 0x95, 0x34, 0xE4, 0x20, 0x9A, 0x62, 0xDA, 0x36, 0xE6,\r
+               0x38, 0xBC, 0x0A, 0xE8, 0x7C, 0xC8, 0x3A, 0x18, 0xEC, 0x3C, 0x5D, 0x3F, 0xAD, 0x0B, 0x28, 0xF8,\r
+               0x21, 0x2C, 0x83, 0xF1, 0xBB, 0xA4, 0x91, 0x74, 0xF3, 0x23, 0x9B, 0xE6, 0x36, 0x65, 0xDD, 0x0D,\r
+               0x85, 0xEB, 0xE0, 0x55, 0x11, 0x1B, 0x84, 0xCB, 0x9B, 0x4B, 0x24, 0x31, 0xDE, 0x58, 0x08, 0xD8,\r
+               0xCE, 0x6C, 0x2C, 0x1E, 0x43, 0x2B, 0xE6, 0xFB, 0x5D, 0x8D, 0x96, 0x45, 0x14, 0x98, 0x02, 0xD2,\r
+               0xCC, 0x2E, 0x6C, 0x1C, 0xCD, 0x54, 0x17, 0x84, 0xAA, 0x7A, 0x4F, 0x6B, 0x69, 0x3D, 0xDA, 0x0A,\r
+               0x20, 0x25, 0x8B, 0xF0, 0x77, 0xEF, 0x16, 0x3F, 0x47, 0x97, 0x4D, 0x84, 0xFA, 0xE1, 0x95, 0x45,\r
+               0x40, 0x12, 0xDC, 0x90, 0xA6, 0xF1, 0xD9, 0x21, 0xBB, 0x6B, 0x57, 0x62, 0xBF, 0x5F, 0x6E, 0xBE,\r
+               0x5A, 0xC9, 0x1D, 0x8A, 0xAC, 0xC6, 0xE4, 0x16, 0x50, 0x80, 0x03, 0xDD, 0x77, 0x70, 0x89, 0x59,\r
+               0xB1, 0x9D, 0xA2, 0x61, 0x33, 0xAD, 0x10, 0x7D, 0x0F, 0xDF, 0x81, 0x00, 0xC1, 0xAF, 0xE0, 0x30,\r
+               0x9A, 0x2D, 0x39, 0x4A, 0x8F, 0x60, 0x61, 0xB0, 0x62, 0xB2, 0x23, 0xCF, 0x66, 0x71, 0x99, 0x49,\r
+               0x31, 0x3D, 0x82, 0xE1, 0x74, 0xC9, 0x33, 0x19, 0xC7, 0x17, 0xED, 0xA4, 0xD8, 0x1C, 0x4A, 0x9A,\r
+               0xA8, 0x0D, 0x2B, 0x78, 0x6E, 0xFA, 0x1A, 0x2A, 0x1E, 0xCE, 0x99, 0x09, 0xB8, 0xA1, 0x97, 0x47,\r
+               0x76, 0x26, 0xDE, 0xA6, 0x1A, 0x3C, 0xA8, 0xEC, 0x8A, 0x5A, 0x3C, 0x38, 0x97, 0xFF, 0xE6, 0x36,\r
+               0xA6, 0xD3, 0xFB, 0x76, 0xB4, 0xC3, 0xF9, 0x13, 0xC4, 0x14, 0xA6, 0xEC, 0xBB, 0xF4, 0xC1, 0x11,\r
+               0xAF, 0x52, 0x73, 0x7F, 0xA5, 0xD7, 0xFC, 0x07, 0xE7, 0x37, 0x9E, 0xF7, 0x95, 0x10, 0x0B, 0xDB,\r
+               0xCA, 0x78, 0x3C, 0x1A, 0x23, 0xA9, 0x04, 0x79, 0xF4, 0x24, 0xC4, 0xBE, 0x44, 0x8C, 0x46, 0x96,\r
+               0x9E, 0x39, 0x29, 0x4E, 0x72, 0xBF, 0x43, 0x6F, 0x7D, 0xAD, 0xE5, 0x16, 0x54, 0x37, 0xED, 0x3D,\r
+               0x5C, 0x9F, 0x4D, 0x8C, 0x69, 0x9C, 0x7B, 0x4C, 0xE5, 0x35, 0xDC, 0xB7, 0x1E, 0xC5, 0x55, 0x85,\r
+               0x83, 0xBD, 0xB0, 0x53, 0xF8, 0x80, 0xF6, 0x50, 0xA7, 0x77, 0xDA, 0xF3, 0xD6, 0xEA, 0xB2, 0x62,\r
+               0x71, 0x79, 0x86, 0xA1, 0xE4, 0xC5, 0xAF, 0x15, 0x29, 0xF9, 0xA4, 0x03, 0xF3, 0xE9, 0x94, 0x44,\r
+               0xE8, 0x1B, 0xA1, 0x17, 0x0A, 0x47, 0x1F, 0xB8, 0x71, 0x8E, 0x2B, 0x08, 0x56, 0xAD, 0xA9, 0x56,\r
+               0x2D, 0xE2, 0x9D, 0xD2, 0x69, 0xE3, 0xD8, 0x1C, 0x24, 0xDB, 0x63, 0x15, 0x24, 0x44, 0x32, 0xCD,\r
+               0x3A, 0xAC, 0xC4, 0xC5, 0xCA, 0x4D, 0xD5, 0xB2, 0xF9, 0x06, 0x03, 0xA8, 0xCD, 0xC3, 0x5C, 0xA3,\r
+               0xC1, 0xE9, 0x7A, 0x3E, 0xF2, 0xC8, 0x68, 0x37, 0x3E, 0xC1, 0xB8, 0xD4, 0x14, 0xED, 0xAB, 0x54,\r
+               0xE6, 0xC5, 0x71, 0x19, 0x99, 0x6D, 0xA6, 0x92, 0xD1, 0x2E, 0xF8, 0x7B, 0x0D, 0x5E, 0x01, 0xFE,\r
+               0xB5, 0xDB, 0x3C, 0x4A, 0x6E, 0x85, 0xB9, 0x7A, 0x41, 0xBE, 0x49, 0x5A, 0xF1, 0x73, 0xD0, 0x2F,\r
+               0xB6, 0x90, 0x74, 0x49, 0xA6, 0x8E, 0x7A, 0x71, 0x6E, 0x91, 0xED, 0xD1, 0xA0, 0xDD, 0x2F, 0xD0,\r
+               0x62, 0x71, 0x41, 0x9D, 0x80, 0x78, 0xAA, 0x87, 0xA0, 0x5F, 0xD7, 0x25, 0x54, 0x42, 0x44, 0xBB,\r
+               0xC9, 0x61, 0xFA, 0x36, 0xC6, 0x0C, 0x98, 0xF3, 0x92, 0x6D, 0xF7, 0x37, 0xE1, 0xC8, 0x7B, 0x84,\r
+               0x31, 0x6F, 0x0C, 0xCE, 0xAF, 0x9F, 0x62, 0x60, 0x1E, 0xE1, 0xCB, 0x87, 0x39, 0x5C, 0x37, 0xC8,\r
+               0xDB, 0x32, 0xBB, 0x24, 0x63, 0xD4, 0xE5, 0x2B, 0xA3, 0x5C, 0x9C, 0x6D, 0x05, 0xEC, 0xBB, 0x44,\r
+               0xA6, 0x81, 0x75, 0x59, 0x61, 0xE2, 0xD1, 0x1D, 0xB2, 0x4D, 0x84, 0x64, 0x37, 0xAA, 0xCF, 0x30,\r
+               0x7A, 0xE8, 0xC0, 0x85, 0x60, 0xF2, 0xC0, 0x0D, 0x76, 0x89, 0x74, 0x50, 0x01, 0x47, 0x14, 0xEB,\r
+               0xD6, 0xA7, 0x23, 0x29, 0x6F, 0x95, 0xA8, 0x6A, 0xD3, 0x2C, 0xBA, 0x3B, 0xC4, 0xCB, 0x5D, 0xA2,\r
+               0xB0, 0xC6, 0x24, 0x4F, 0xEB, 0xDD, 0x64, 0x22, 0x07, 0xF8, 0x5B, 0x0E, 0xD2, 0x34, 0xB4, 0x4B,\r
+               0x27, 0x28, 0x5D, 0xD8, 0x1E, 0x03, 0x4F, 0xFC, 0xB3, 0x4C, 0x8D, 0x6C, 0x08, 0x4F, 0x15, 0xEA,\r
+               0x39, 0xE7, 0x8C, 0xC6, 0xB3, 0xDA, 0x3B, 0x25, 0xEF, 0x10, 0x44, 0xF9, 0x83, 0x9A, 0x4B, 0xB4,\r
+               0x34, 0x72, 0x14, 0xCB, 0xEA, 0xCD, 0x75, 0x32, 0xD5, 0x2A, 0xEC, 0x6B, 0xFE, 0x3F, 0x93, 0x6C,\r
+               0x1A, 0xDF, 0x97, 0xE5, 0x1D, 0x25, 0x6A, 0xDA, 0xAA, 0x55, 0x1D, 0xE5, 0x7B, 0x1C, 0x35, 0xCA,\r
+               0x69, 0xB2, 0x89, 0x96, 0x8B, 0x5F, 0x86, 0xA0, 0xCB, 0x34, 0x23, 0xBA, 0x9F, 0x38, 0xF5, 0x0A,\r
+               0x5A, 0x9B, 0x93, 0xA5, 0x35, 0xA4, 0xC3, 0x5B, 0x5E, 0xA1, 0x8F, 0x83, 0xC9, 0x68, 0xF3, 0x0C,\r
+               0x9E, 0x6B, 0xA7, 0x61, 0xA4, 0xB8, 0x4E, 0x47, 0x9D, 0x62, 0x20, 0xEF, 0x9A, 0x29, 0xE1, 0x1E,\r
+               0xEA, 0x59, 0xE1, 0x15, 0xA5, 0xA8, 0x5F, 0x57, 0xF1, 0x0E, 0x8B, 0x28, 0x2C, 0xF6, 0x88, 0x77,\r
+               0x13, 0x5E, 0x1F, 0xEC, 0x7E, 0x81, 0xAD, 0x7E, 0xD9, 0x26, 0x70, 0xFB, 0x47, 0xAC, 0xB9, 0x46,\r
+               0x22, 0x35, 0x45, 0xDD, 0xD7, 0x18, 0x9D, 0xE7, 0x30, 0xCF, 0x66, 0x04, 0xAF, 0x91, 0x6C, 0x93,\r
+               0xC2, 0xA2, 0x32, 0x3D, 0xBF, 0x9B, 0x76, 0x64, 0x12, 0xED, 0x57, 0x17, 0xA3, 0x88, 0x79, 0x86,\r
+               0xA7, 0x88, 0x7D, 0x58, 0xF1, 0xEE, 0x4D, 0x11, 0x94, 0x6B, 0xA1, 0x67, 0xB0, 0x66, 0x84, 0x7B,\r
+               0xE0, 0x93, 0x21, 0x1F, 0xCF, 0x1D, 0x80, 0xE2, 0xB7, 0x48, 0x99, 0x7C, 0x31, 0xEE, 0x8D, 0x72,\r
+               0xCC, 0x7C, 0xE2, 0x33, 0x4C, 0x33, 0x2D, 0xCC, 0xF6, 0x09, 0xD4, 0x70, 0xFB, 0x2E, 0x87, 0x78,\r
+               0x53, 0x1A, 0x1B, 0xAC, 0x94, 0x3C, 0xFA, 0xC3, 0x70, 0x8F, 0x22, 0x00, 0xA5, 0xCC, 0x3B, 0xC4,\r
+               0x9A, 0x7F, 0xB7, 0x65, 0x5B, 0x51, 0x58, 0xAE, 0x80, 0x7F, 0xA4, 0x76, 0xC8, 0xD2, 0x48, 0xB7,\r
+               0x7F, 0xF5, 0xD8, 0x80, 0xF3, 0xD8, 0x79, 0x27, 0x74, 0x8B, 0x36, 0x10, 0x0B, 0x1A, 0x43, 0xBC,\r
+               0x58, 0xD9, 0xD3, 0xA7, 0x39, 0xE5, 0x8E, 0x1A, 0x09, 0xF6, 0x85, 0xDE, 0x53, 0xBC, 0xBD, 0x42,\r
+               0x7E, 0xFC, 0xD0, 0x81, 0xC9, 0x6B, 0xF0, 0x94, 0x4C, 0xB3, 0xDC, 0xC2, 0x97, 0x8A, 0x4F, 0xB0,\r
+               0x99, 0x34, 0xFF, 0x66, 0x8D, 0x29, 0xF6, 0xD6, 0x50, 0xAF, 0x51, 0x53, 0xB5, 0x77, 0x90, 0x6F,\r
+               0x21, 0x7E, 0x0D, 0xDE, 0x2C, 0xB1, 0xCF, 0x4E, 0x73, 0x8C, 0x69, 0x48, 0x13, 0x13, 0x52, 0xAD,\r
+               0x8A, 0x6E, 0xB6, 0x75, 0x84, 0x38, 0xEE, 0xC7, 0x65, 0x9A, 0x2E, 0x19, 0x52, 0x06, 0x06, 0xF9,\r
+               0xC7, 0xBF, 0x2A, 0x38, 0xCD, 0x2B, 0xB4, 0xD4, 0x1B, 0xE4, 0xD6, 0x9F, 0x78, 0x49, 0x63, 0x9C,\r
+               0x0D, 0x91, 0xCE, 0xF2, 0xD6, 0x08, 0x8C, 0xF7, 0x0F, 0xF0, 0xD3, 0x8E, 0xF9, 0xC1, 0x6A, 0x95,\r
+               0x2A, 0xBD, 0xC5, 0xD5, 0x02, 0x46, 0x16, 0xB9, 0xF0, 0x0F, 0x82, 0x20, 0x0C, 0xE4, 0xBA, 0x45,\r
+               0x5B, 0x92, 0x9B, 0xA4, 0x33, 0xD2, 0xB3, 0x2D, 0x36, 0xC9, 0x30, 0x54, 0x27, 0x11, 0x64, 0x9B,\r
+               0x86, 0xF2, 0x26, 0x79, 0x9E, 0x0B, 0xC7, 0xF4, 0x05, 0xFA, 0x19, 0x4E, 0x17, 0xB8, 0xFD, 0x02,\r
+               0x55, 0x4C, 0x4B, 0xAA, 0xF5, 0xAE, 0x09, 0x51, 0xAC, 0x53, 0x4B, 0xB5, 0x07, 0x03, 0x56, 0xA9,\r
+               0x2C, 0xEB, 0x95, 0xD3, 0x3A, 0xC3, 0xAB, 0x3C, 0x61, 0x9E, 0x3A, 0x09, 0xB7, 0x98, 0x7D, 0x82,\r
+               0x45, 0x5D, 0x4A, 0xBA, 0xE7, 0x9C, 0x29, 0x63, 0x0A, 0xF5, 0xCE, 0x96, 0xE3, 0x27, 0x96, 0x69,\r
+               0xA2, 0x95, 0x65, 0x5D, 0x58, 0x77, 0x7D, 0x88, 0x3D, 0xC2, 0xF3, 0x9C, 0x38, 0xE6, 0x8C, 0x73,\r
+               0x59, 0xD0, 0xDB, 0xA6, 0xBE, 0x8B, 0x67, 0x74, 0x23, 0xDC, 0x3C, 0x4D, 0x0F, 0xB1, 0xEC, 0x13,\r
+               0x16, 0x43, 0x07, 0xE9, 0x51, 0x66, 0x65, 0x99, 0x98, 0x67, 0x3D, 0xF7, 0x04, 0x56, 0x00, 0xFF,\r
+               0xCE, 0x3E, 0xA2, 0x31, 0x7F, 0x91, 0xBC, 0x6E, 0xE7, 0x18, 0xCC, 0x79, 0x46, 0x16, 0x02, 0xFD,\r
+               0xC4, 0xF4, 0x62, 0x3B, 0x0B, 0x57, 0x0E, 0xA8, 0xD7, 0x28, 0xAE, 0x2B, 0xC1, 0xDA, 0x49, 0xB6,\r
+               0x11, 0x1C, 0x5F, 0xEE, 0xDC, 0x3F, 0xB1, 0xC0, 0x68, 0x97, 0xBB, 0x81, 0x06, 0xB9, 0xED, 0x12,\r
+               0xE4, 0x87, 0x31, 0x1B, 0x05, 0x20, 0x77, 0xDF, 0x04, 0xFB, 0x10, 0x46, 0x96, 0x30, 0xF4, 0x0B,\r
+               0xFA, 0x48, 0xE0, 0x05, 0xA0, 0xF8, 0x0A, 0x07, 0x89, 0x76, 0x25, 0xFE, 0x45, 0x43, 0x54, 0xAB,\r
+               0x28, 0xFF, 0x85, 0xD7, 0x82, 0x4E, 0x9E, 0xB1, 0x0E, 0xF1, 0xDA, 0x86, 0x55, 0xF8, 0xFF, 0x00,\r
+               0x42, 0x02, 0x12, 0xBD, 0xAB, 0xDF, 0x26, 0x20, 0xAF, 0x50, 0x00, 0xFD, 0x94, 0xDF, 0x19, 0xE6,\r
+               0xCA, 0x2A, 0xB2, 0x35, 0x40, 0x72, 0x60, 0x8D, 0xC5, 0x3A, 0xFD, 0x6A, 0xDD, 0x78, 0xF7, 0x08,\r
+               0xEB, 0x50, 0xE9, 0x14, 0x92, 0x4A, 0x8A, 0xB5, 0xBF, 0x40, 0x11, 0xFC, 0x89, 0xC7, 0x1C, 0xE3,\r
+               0x83, 0xEF, 0x3E, 0x7C, 0x0F, 0x17, 0x4A, 0xE8, 0xDC, 0x23, 0x6D, 0xE3, 0x5C, 0xF0, 0xFE, 0x01,\r
+               0xA1, 0xDE, 0x2D, 0x5E, 0x72, 0xC0, 0xE0, 0x3F, 0x2E, 0xD1, 0xA9, 0xD5, 0x3F, 0x18, 0x75, 0x8A,\r
+               0x1F, 0xC2, 0x8F, 0xE0, 0xA3, 0xDE, 0x2F, 0x21, 0x6F, 0x90, 0xE4, 0xD9, 0x18, 0xF4, 0xBE, 0x41,\r
+               0x60, 0x33, 0x01, 0x9F, 0x36, 0x82, 0xE6, 0x7D, 0xFC, 0x03, 0x1E, 0xB0, 0xBE, 0x90, 0x7C, 0x83,\r
+               0xC6, 0xB6, 0x22, 0x39, 0x57, 0x10, 0x15, 0xEF, 0xFB, 0x04, 0x41, 0xE8, 0x40, 0x52, 0x40, 0xBF,\r
+               0x97, 0xEA, 0x2F, 0x68, 0xA9, 0xE9, 0x12, 0x16, 0x67, 0x98, 0x6C, 0x59, 0x42, 0xBD, 0xAD, 0x52,\r
+               0x26, 0x21, 0x55, 0xD9, 0xAE, 0x8F, 0x73, 0x70, 0xBC, 0x43, 0x5A, 0xB4, 0xCA, 0x3D, 0xA5, 0x5A,\r
+               0x1E, 0x41, 0x8E, 0x3D, 0x76, 0x10, 0xB7, 0xC5, 0xF5, 0xBE, 0x29, 0x0D, 0x91, 0x80, 0xC0, 0x33,\r
+               0x37, 0x5B, 0xBD, 0x0E, 0xEF, 0x20, 0x1E, 0x5C, 0x95, 0x63, 0x94, 0xD0, 0x3C, 0x59, 0xB4, 0xEA,\r
+               0x3D, 0x06, 0xEA, 0x59, 0xF6, 0xB0, 0x97, 0x45, 0xEC, 0x14, 0x9A, 0xA7, 0x35, 0x48, 0xAC, 0xFB,\r
+               0x4C, 0xBA, 0x27, 0x94, 0xDD, 0x00, 0x0C, 0x6E, 0x4B, 0x6D, 0x44, 0xDE, 0xFA, 0x25, 0x0E, 0x96,\r
+               0xF4, 0x93, 0xB6, 0x05, 0x07, 0x3F, 0xE9, 0xB4, 0x92, 0x9A, 0x6A, 0x29, 0x57, 0xFC, 0x7A, 0x4F,\r
+               0xC9, 0x99, 0x81, 0x32, 0x1D, 0xE4, 0x28, 0xAE, 0x5A, 0x7D, 0x45, 0xCE, 0xE8, 0x17, 0x2E, 0xA4,\r
+               0x3A, 0xF8, 0x13, 0xA0, 0x8B, 0x03, 0x59, 0x38, 0x44, 0x2E, 0x08, 0x9D, 0x5E, 0xED, 0x62, 0x5E,\r
+               0x3B, 0x42, 0xA8, 0x1B, 0x67, 0x08, 0xBE, 0xD4, 0xD7, 0x61, 0xD4, 0xD2, 0xB1, 0x00, 0x60, 0xB3,\r
+               0xDB, 0xCD, 0xC7, 0x74, 0xC4, 0x90, 0x85, 0x77, 0xFB, 0x46, 0xDF, 0xF5, 0xC6, 0xE0, 0xF7, 0x53,\r
+               0x82, 0xD1, 0x82, 0x31, 0x36, 0x54, 0xB3, 0x85, 0xDE, 0x60, 0xDC, 0xD3, 0x36, 0x6E, 0x89, 0xDD,\r
+               0x6E, 0x47, 0xF8, 0x4B, 0xD9, 0x14, 0x1C, 0x6A, 0x79, 0x19, 0x02, 0xAA, 0x23, 0x3A, 0xC8, 0x89,\r
+               0x56, 0x5C, 0xDB, 0x68, 0x1B, 0xB2, 0x78, 0xA8, 0x33, 0xA1, 0xF0, 0x12, 0x82, 0xA2, 0xF1, 0x11,\r
+               0xD1, 0x90, 0x90, 0x23, 0xE8, 0x7F, 0x46, 0x5B, 0xB8, 0xFF, 0x25, 0x4C, 0xC2, 0xA0, 0xB3, 0x13,\r
+               0x29, 0x16, 0xEE, 0x5D, 0x8D, 0x55, 0x09, 0x3E, 0x69, 0xB2, 0xB9, 0x01, 0x8B, 0xB3, 0xE9, 0x00,\r
+               0x85, 0x2F, 0x7B, 0xC8, 0x31, 0x0B, 0xEB, 0x82, 0xBA, 0x12, 0xCA, 0xA1, 0x0D, 0xCD, 0x11, 0x7E,\r
+               0xD4, 0x81, 0x84, 0x37, 0xE1, 0xFE, 0xCE, 0x52, 0x96, 0x35, 0xC1, 0x86, 0xD9, 0x83, 0x8B, 0x30,\r
+               0x6A, 0xEC, 0x57, 0xE4, 0x75, 0x5B, 0xFF, 0xC6, 0xE8, 0xBB, 0x31, 0x08, 0x00, 0x9C, 0x4D, 0x2F,\r
+               0x16, 0xF3, 0x34, 0x87, 0x97, 0x8E, 0xC8, 0x24, 0x57, 0xD3, 0xE6, 0x60, 0x9D, 0xC1, 0x8D, 0x72,\r
+               0xE3, 0xD6, 0xE4, 0x57, 0x35, 0x1F, 0xFB, 0x86, 0xC5, 0x27, 0x80, 0x94, 0xAC, 0x55, 0x28, 0xE6,\r
+               0xAE, 0xDA, 0xA5, 0x16, 0xFE, 0x38, 0x17, 0x4D, 0xD9, 0x99, 0x22, 0x2A, 0x7D, 0x4B, 0xE7, 0xF8,\r
+               0x46, 0xE7, 0x70, 0xC3, 0xCB, 0x47, 0x5D, 0x78, 0xB1, 0xFE, 0x2D, 0x4D, 0x58, 0x9B, 0x12, 0x28,\r
+               0x19, 0xBF, 0x77, 0xC4, 0xF7, 0xB9, 0x9F, 0x44, 0x34, 0x58, 0x0E, 0xEB, 0x39, 0x09, 0xE1, 0xBA,\r
+               0x5D, 0xBB, 0x37, 0x84, 0x2E, 0xCD, 0x32, 0x9D, 0x26, 0x1E, 0x5A, 0xAD, 0xA1, 0x04, 0x74, 0xB7,\r
+               0x6B, 0x56, 0xEC, 0x5F, 0x26, 0x45, 0xB2, 0x95, 0xED, 0xAF, 0x20, 0x1C, 0xA6, 0x62, 0x15, 0xD1,\r
+               0xA9, 0x24, 0x5C, 0xEF, 0xC2, 0xC6, 0xD5, 0x71, 0xF3, 0xFC, 0x6D, 0x4F, 0x04, 0xDC, 0x09, 0x6F,\r
+               0xCB, 0x76, 0x6C, 0xDF, 0x89, 0x41, 0x19, 0x3A, 0x39, 0xF6, 0xAD, 0x45, 0x70, 0x1A, 0xBB, 0xA9,\r
+               0x17, 0x49, 0x8F, 0x3C, 0x7F, 0x91, 0x3F, 0xCC, 0x80, 0xDC, 0x3E, 0x6F, 0x0A, 0xAB, 0x70, 0x18,\r
+               0xBC, 0x8E, 0xE3, 0x50, 0x66, 0x01, 0xB6, 0xD5, 0x1B, 0x29, 0x50, 0x9A, 0xD3, 0xB4, 0xB6, 0x07,\r
+               0xDD, 0x89, 0x85, 0x36, 0x74, 0x52, 0xF7, 0xC7, 0xF8, 0x10, 0x8A, 0xA3, 0x8D, 0xC5, 0x99, 0x76,\r
+               0x22, 0xF1, 0x02, 0xB1, 0xDF, 0x42, 0x4C, 0x6C, 0x4F, 0xC2, 0xEF, 0x71, 0xAF, 0x73, 0x0D, 0xC0,\r
+               0xFA, 0x65, 0x4E, 0xFD, 0x7C, 0xDA, 0x77, 0xCF, 0x2D, 0xF2, 0xBD, 0x41, 0x4F, 0xF9, 0x67, 0x4A,\r
+               0x07, 0xF2, 0x24, 0x97, 0x92, 0x93, 0xD0, 0x21, 0x05, 0x7A, 0x1D, 0xC9, 0xA4, 0x54, 0x21, 0xE7,\r
+               0xCC, 0x88, 0x95, 0x26, 0xBC, 0x3E, 0x53, 0x0F, 0x68, 0x09, 0x03, 0xBA, 0xA0, 0x14, 0x65, 0xA7,\r
+               0xF0, 0x38, 0x19, 0xAA, 0xF0, 0xE6, 0xC7, 0x43, 0x66, 0xF1, 0xF5, 0x42, 0xC9, 0x87, 0x9F, 0x34,\r
+               0x83, 0x6B, 0x39, 0x8A, 0x44, 0x30, 0xA5, 0xF7, 0x86, 0x9E, 0x7A, 0x2D, 0x6E, 0x69, 0xD6, 0xDA,\r
+               0x9B, 0x62, 0x28, 0x9B, 0x30, 0x02, 0xE3, 0x83, 0x35, 0xE3, 0xB4, 0x50, 0x6C, 0x5F, 0xE2, 0xEC,\r
+               0xBD, 0x34, 0x58, 0xEB, 0xD6, 0xC3, 0xC4, 0x65, 0xA0, 0xEE, 0x2C, 0x5D, 0x60, 0x1E, 0xAF, 0xAD,\r
+               0x73, 0x5F, 0xFD, 0x4E, 0x9F, 0x06, 0x48, 0x2C, 0xEF, 0x42, 0xCF, 0xF1, 0x6F, 0x79, 0xC7, 0xCA,\r
+               0x8A, 0x63, 0x38, 0x8B, 0x9E, 0x0F, 0x40, 0x2D, 0x2F, 0x1F, 0x52, 0xAC, 0x11, 0x88, 0x48, 0x3B,\r
+               0x5C, 0x01, 0x8C, 0x3F, 0x3F, 0xD5, 0x3B, 0x8C, 0xC1, 0x88, 0x2B, 0x3B, 0xE4, 0x56, 0x63, 0xE5,\r
+               0x64, 0x1A, 0xAF, 0x1C, 0xB9, 0x23, 0x4B, 0x0A, 0xE5, 0x15, 0x92, 0xA6, 0x66, 0x68, 0xDF, 0xDB,\r
+               0x2C, 0x07, 0xFA, 0x49, 0x22, 0x51, 0xA2, 0x91, 0x1C, 0xD0, 0xAE, 0x63, 0x05, 0xCC, 0x18, 0x7F,\r
+               0xBF, 0xDB, 0xB5, 0x06, 0x20, 0x13, 0xE2, 0x93, 0xEE, 0xF9, 0x75, 0x4A, 0xFD, 0x43, 0x6F, 0xF0,\r
+               0x04, 0xA7, 0x72, 0xC1, 0xD7, 0xCA, 0xCC, 0x64, 0xAB, 0x02, 0xCB, 0xB1, 0xC5, 0xC6, 0xD2, 0x75,\r
+               0x4E, 0x55, 0xCA, 0x79, 0x5B, 0xF6, 0x7C, 0xE8, 0xDC, 0x8D, 0x33, 0x3E, 0x61, 0x0E, 0xBE, 0xBD,\r
+               0xFF, 0x74, 0x5A, 0xE9, 0x8A, 0x0A, 0x51, 0x39, 0xC2, 0xDE, 0x7E, 0x6D, 0x96, 0xE6, 0xA1, 0x55,\r
+               0xD0, 0x2A, 0x2B, 0x98, 0xCF, 0x53, 0x4D, 0x7C, 0x76, 0x5A, 0x4E, 0xE9, 0x8F, 0xF3, 0xAD, 0x40,\r
+               0xEA, 0xDE, 0xE5, 0x56, 0xA4, 0xA7, 0xD2, 0x17, 0x97, 0x8E, 0x7B, 0x3D, 0xA9, 0x05, 0x7D, 0xB6,\r
+               0x50, 0x18, 0x99, 0x2A, 0xF2, 0xA4, 0x87, 0x41, 0xA5, 0xFA, 0x3D, 0x49, 0xB0, 0x10, 0x71, 0xA3,\r
+               0x61, 0x0B, 0xBB, 0x08, 0xE7, 0xA8, 0x9E, 0x54, 0x32, 0x1A, 0x4A, 0xA9, 0xD8, 0x93, 0x9A, 0x20,\r
+               0x9E, 0x73, 0x3C, 0x8F, 0x06, 0x36, 0xE1, 0xB5, 0x94, 0xD8, 0x2E, 0x6B, 0xC0, 0x96, 0x87, 0x25,\r
+               0xA6, 0x68, 0x1F, 0xAC, 0x0F, 0xB7, 0x69, 0xBC, 0x8F, 0x9F, 0x72, 0x2C, 0xFE, 0x65, 0x4A, 0xD6,\r
+               0x25, 0x0F, 0xFB, 0x48, 0xB0, 0xA2, 0xC3, 0x03, 0x1D, 0x6B, 0x14, 0xD8, 0x9B, 0xB7, 0xFD, 0x04,\r
+               0xD3, 0x7F, 0x7D, 0xCE, 0x0C, 0xFC, 0x21, 0xBF, 0x7B, 0xF4, 0xED, 0x47, 0x43, 0xB8, 0x2A, 0x0B,\r
+               0x31, 0x1F, 0xFF, 0x4C, 0xC8, 0x0C, 0x15, 0x7B, 0xF2, 0x47, 0xD7, 0xF4, 0xFC, 0x53, 0x7E, 0xE0,\r
+               0xA3, 0x79, 0x0B, 0xB8, 0xC3, 0xCF, 0xDD, 0x70, 0x78, 0xA2, 0xB8, 0x11, 0x54, 0xDA, 0x5F, 0x69,\r
+               0xEB, 0x64, 0x5E, 0xED, 0x18, 0xF9, 0x30, 0xAB, 0x75, 0x0C, 0x1B, 0xBF, 0xE5, 0x46, 0x72, 0xF5,\r
+               0x43, 0xF6, 0x64, 0xD7, 0xC0, 0x84, 0x95, 0x73, 0xE0, 0x01, 0x83, 0xB2, 0xBC, 0x51, 0x3C, 0xE2,\r
+               0x24, 0xB5, 0x40, 0xF3, 0x7E, 0x98, 0x37, 0xCD, 0xB5, 0x51, 0x86, 0xE2, 0x84, 0xD4, 0x81, 0x67,\r
+               0x1A, 0xEA, 0x21, 0x92, 0xBE, 0x7C, 0x13, 0x0D, 0xD8, 0x22, 0x98, 0x91, 0x12, 0xAE, 0x6D, 0x1D,\r
+               0x27, 0xE0, 0x16, 0xA5, 0x6A, 0x9D, 0x26, 0xD9, 0x6C, 0xA6, 0xA8, 0x15, 0xAB, 0x33, 0x49, 0x80,\r
+               0x88, 0x8C, 0xD5, 0x66, 0x78, 0xCE, 0x67, 0xCB, 0x9C, 0x62, 0x9C, 0xD1, 0x3A, 0x2F, 0xC4, 0x9C,\r
+               0x77, 0xF4, 0x52, 0xE1, 0x32, 0x40, 0xA3, 0x81, 0x59, 0x2B, 0x10, 0x98, 0x71, 0x0A, 0xAA, 0xB9,\r
+               0x8C, 0x27, 0x7A, 0xC9, 0x03, 0x2B, 0xF9, 0xB0, 0x5E, 0xD2, 0xEE, 0x61, 0xAA, 0x23, 0x58, 0x90,\r
+               0x04, 0xE3, 0x08, 0x22, 0xDA, 0x3C, 0x09, 0x1A, 0xA5, 0x83, 0x39, 0x73, 0x74, 0x7F, 0xE4, 0xC2,\r
+               0xF2, 0x33, 0x2E, 0xD4, 0xEF, 0xE8, 0xE8, 0xCE, 0xCE, 0xE8, 0xCD, 0xEC, 0x4E, 0x8B, 0x2A, 0x0C,\r
+               0xE7, 0x3F, 0x37, 0xC1, 0xDF, 0x6C, 0x5C, 0x4A, 0x8B, 0xAD, 0x94, 0xF0, 0x61, 0xD5, 0x5B, 0x7D,\r
+               0x0F, 0x20, 0xC0, 0x29, 0x92, 0x3F, 0x42, 0x19, 0x5A, 0x7C, 0x68, 0xDD, 0xD0, 0xF4, 0xCB, 0xED,\r
+               0xC7, 0x4C, 0x64, 0xE1, 0x6A, 0xB0, 0x35, 0x96, 0xD6, 0xF0, 0x54, 0x6D, 0x9A, 0x06, 0x73, 0x55,\r
+               0x42, 0xF1, 0x5C, 0x64, 0xD4, 0x4B, 0x70, 0x6D, 0x21, 0x07, 0x8D, 0x43, 0x21, 0x7A, 0xB4, 0x92,\r
+               0xCD, 0x86, 0xA4, 0xEB, 0x0F, 0x62, 0x82, 0x44, 0x23, 0x05, 0xCF, 0x03, 0xB2, 0xA6, 0xFB, 0xDD,\r
+               0x69, 0x41, 0xC7, 0x4F, 0x33, 0xA7, 0x7B, 0x81, 0xB8, 0x9E, 0xBD, 0xEA, 0xFA, 0xBB, 0xAE, 0x88,\r
+               0x57, 0xFD, 0x45, 0x71, 0x8A, 0x3A, 0x5F, 0x1C, 0x3E, 0x18, 0x4B, 0x9A, 0xC2, 0xA0, 0x8D, 0xAB,\r
+               0x89, 0xD6, 0xB0, 0xAF, 0xF3, 0xAD, 0xB1, 0x8B, 0x9F, 0xB9, 0x91, 0xE1, 0x14, 0xC2, 0x39, 0x1F,\r
+               0x78, 0x59, 0xCE, 0x5E, 0x6E, 0xF0, 0x71, 0xD6, 0x9E, 0xB8, 0x98, 0xE9, 0xED, 0xFE, 0xFC, 0xDA,\r
+               0x1F, 0x31, 0xC1, 0x39, 0x8D, 0x5C, 0x3E, 0x7A, 0xD7, 0xF1, 0x5D, 0x65, 0x23, 0x95, 0x59, 0x7F,\r
+               0x5E, 0x7C, 0xCD, 0x78, 0x15, 0x51, 0xAB, 0x77, 0x31, 0x17, 0x9C, 0x42, 0x05, 0xC3, 0x29, 0x0F,\r
+               0x68, 0x48, 0xCF, 0x4E, 0xDB, 0x2C, 0x18, 0x0A, 0x45, 0x63, 0xAE, 0x04, 0x1D, 0xCA, 0x38, 0x1E,\r
+               0x86, 0x01, 0x68, 0xA0, 0x54, 0x43, 0xF8, 0x65, 0xF1, 0xD7, 0x78, 0x66, 0x6E, 0x99, 0x18, 0x3E,\r
+               0x15, 0xFB, 0x01, 0x33, 0xA2, 0xBB, 0xF6, 0x9D, 0xBD, 0x9B, 0xA0, 0xF2, 0x52, 0x29, 0x94, 0xB2,\r
+               0x22, 0xC6, 0x0B, 0x04, 0x4F, 0x60, 0xC0, 0x46, 0x02, 0x24, 0xB5, 0x58, 0x12, 0x86, 0x7B, 0x5D,\r
+               0x0B, 0x34, 0xD0, 0x2D, 0xB1, 0x99, 0xC7, 0xBF, 0x33, 0x15, 0xDE, 0x02, 0xE9, 0x55, 0x53, 0x75,\r
+               0x2E, 0x5A, 0x9B, 0x08, 0x3D, 0xD0, 0x02, 0xF6, 0x79, 0x5F, 0x50, 0xC6, 0x16, 0x2D, 0xD4, 0xF2,\r
+               0x32, 0xD7, 0x0A, 0x14, 0x09, 0x14, 0xF2, 0x32, 0x6B, 0x4D, 0x03, 0x87, 0xB9, 0x41, 0x17, 0x31,\r
+               0xAF, 0xF3, 0xB3, 0x89, 0x39, 0x90, 0x46, 0xB6, 0xBF, 0x99, 0xE2, 0xB2, 0x84, 0x4B, 0x20, 0x06,\r
+               0xD5, 0x1F, 0x25, 0xF3, 0x27, 0xE3, 0x2B, 0xC5, 0x7F, 0x59, 0x06, 0x96, 0xBA, 0x14, 0x41, 0x67,\r
+               0x50, 0xA2, 0x1D, 0x76, 0x22, 0xB3, 0x7E, 0x95, 0xC1, 0xE7, 0x1A, 0x34, 0xDD, 0x57, 0x65, 0x43,\r
+               0x47, 0xEC, 0x44, 0x61, 0xBA, 0xBE, 0xEB, 0x98, 0x19, 0x3F, 0x67, 0x91, 0x75, 0xC5, 0x5F, 0x79,\r
+               0xDB, 0xC1, 0xF5, 0xFD, 0x19, 0x10, 0xE6, 0x36, 0xC2, 0xE4, 0x51, 0x7C, 0x3D, 0xD8, 0x0A, 0x2C,\r
+               0x52, 0xE0, 0x5D, 0x74, 0x76, 0xF5, 0x6C, 0xD3, 0xC9, 0xEF, 0x92, 0xB4, 0xAF, 0xBE, 0xFE, 0xD8,\r
+               0xB9, 0xB4, 0xE2, 0x9F, 0x4C, 0x46, 0xE5, 0x60, 0x0D, 0x2B, 0x62, 0x80, 0x4D, 0xDE, 0x7C, 0x5A,\r
+               0xB6, 0x63, 0x3A, 0x90, 0xB5, 0xD9, 0x83, 0xFF, 0xB1, 0x97, 0x3C, 0x62, 0xBB, 0xAE, 0xFA, 0xDC,\r
+               0x64, 0xD4, 0x5F, 0x42, 0xD3, 0x2D, 0x11, 0x0B, 0x0E, 0x28, 0x29, 0xC8, 0x38, 0xC9, 0x1E, 0x38,\r
+               0x97, 0x19, 0x61, 0xB1, 0x8F, 0x6A, 0x0A, 0x4C, 0x07, 0x21, 0xA8, 0x40, 0x00, 0xD2, 0x3D, 0x1B,\r
+               0x92, 0x04, 0x79, 0xB4, 0xEB, 0xA8, 0xAC, 0x8E, 0xE6, 0xC0, 0x36, 0x3F, 0xFF, 0xAA, 0xBA, 0x9C,\r
+               0x11, 0xEF, 0x11, 0x37, 0x9C, 0x48, 0x3B, 0x6E, 0xF3, 0xD5, 0x3A, 0x26, 0xCE, 0xB9, 0x98, 0xBE,\r
+               0x82, 0x15, 0x78, 0xA4, 0x60, 0x87, 0x08, 0xA1, 0xE0, 0xC6, 0x60, 0x6F, 0x4A, 0x20, 0x85, 0xA3,\r
+               0xCC, 0x8F, 0xAC, 0xEA, 0x6B, 0xA0, 0x24, 0x86, 0x30, 0x16, 0x95, 0x4A, 0x1B, 0x8E, 0x7A, 0x5C,\r
+               0xB2, 0x77, 0x2A, 0x94, 0x18, 0x00, 0xF7, 0x26, 0x8C, 0xAA, 0xCB, 0xA8, 0xB7, 0xB7, 0xEF, 0xC9,\r
+               0xA1, 0x2D, 0x63, 0x87, 0x84, 0x4D, 0x26, 0x6B, 0xE9, 0xCF, 0xE1, 0xE7, 0x4F, 0x31, 0x91, 0xB7,\r
+               0xA3, 0x6F, 0x23, 0x85, 0x51, 0x13, 0xAD, 0x35, 0x1A, 0x3C, 0x2C, 0xD9, 0xC8, 0xFD, 0xDA, 0xFC,\r
+               0x3B, 0x56, 0x82, 0x1D, 0xA3, 0xAB, 0xE7, 0x8D, 0xD8, 0xFE, 0x8A, 0xBD, 0xF0, 0xE6, 0xF9, 0xDF,\r
+               0x6F, 0x17, 0x97, 0x49, 0x7D, 0xD2, 0x40, 0xF4, 0x37, 0x11, 0xCA, 0x12, 0x1C, 0x70, 0x83, 0xA5,\r
+               0xE1, 0x69, 0x67, 0xC7, 0x7E, 0xF4, 0x65, 0xD2, 0xC5, 0xE3, 0x0E, 0x24, 0x45, 0x6C, 0xC6, 0xE0,\r
+               0x01, 0xFE, 0x10, 0x27, 0x75, 0xD3, 0x49, 0xF5, 0x66, 0x40, 0x96, 0x1F, 0xA5, 0xE3, 0xA9, 0x8F,\r
+               0xEC, 0xFC, 0xFF, 0xCA, 0xA9, 0x9C, 0xDA, 0xBA, 0x8A, 0xAC, 0x9D, 0xF8, 0xA4, 0x59, 0x12, 0x34,\r
+               0x16, 0xB0, 0x49, 0x30, 0xE4, 0xCF, 0xC4, 0xE9, 0x1C, 0x3A, 0x7A, 0x89, 0x57, 0x38, 0x80, 0xA6,\r
+               0xFD, 0xE4, 0xF6, 0xDB, 0xCB, 0x28, 0x0C, 0x0E, 0x06, 0x20, 0xA1, 0x48, 0x6A, 0x32, 0xB7, 0x91,\r
+               0x24, 0x90, 0x5B, 0x02, 0xE5, 0xDF, 0xD5, 0xF9, 0xDC, 0xFA, 0x9E, 0xAD, 0xD2, 0x1B, 0x26, 0x00,\r
+               0x49, 0x32, 0x94, 0x6F, 0x3B, 0xA6, 0x72, 0x80, 0xF7, 0xD1, 0x2E, 0x36, 0xA3, 0xA7, 0xEB, 0xCD,\r
+               0x58, 0x2A, 0x9D, 0x7E, 0x35, 0xD1, 0x0B, 0xF7, 0xEE, 0xC8, 0xBE, 0xBF, 0xA9, 0xFA, 0xBC, 0x9A,\r
+               0x81, 0x5E, 0x30, 0xA7, 0x88, 0x0C, 0x6B, 0x2A, 0x77, 0x51, 0x8E, 0x16, 0x80, 0xE0, 0x8F, 0xA9,\r
+               0x55, 0xBF, 0x05, 0x73, 0xBC, 0xC8, 0x9B, 0xEE, 0x93, 0xB5, 0x0D, 0x71, 0x99, 0x53, 0x25, 0x03,\r
+               0xF8, 0xF9, 0xEE, 0xDE, 0x1C, 0x40, 0xB3, 0x66, 0x7D, 0x5B, 0x44, 0xD6, 0x64, 0xC4, 0x4F, 0x69,\r
+               0x72, 0x93, 0x0E, 0x54, 0x4E, 0x70, 0xD1, 0x56, 0xDE, 0xF8, 0xDC, 0xED, 0xBC, 0x50, 0x03, 0x25,\r
+               0xC4, 0x07, 0x2C, 0xE2, 0x2B, 0xA2, 0x66, 0x84, 0x75, 0x53, 0xCC, 0x56, 0x43, 0x28, 0x84, 0xA2,\r
+               0xB5, 0x28, 0x72, 0x93, 0xF1, 0x9B, 0x85, 0xBD, 0x67, 0x41, 0x9F, 0x17, 0x22, 0x2F, 0xE2, 0xC4,\r
+               0xAA, 0xEE, 0xAB, 0x8C, 0x9F, 0x6E, 0x1E, 0x48, 0x7E, 0x58, 0x0F, 0x9E, 0x89, 0xE8, 0x8E, 0xA8,\r
+               0x1B, 0x25, 0xD1, 0x3D, 0x0C, 0x44, 0xA7, 0x62, 0x88, 0xAE, 0xDF, 0xB8, 0x55, 0xD7, 0x6D, 0x4B,\r
+               0xDD, 0x97, 0xA5, 0xFB, 0xCC, 0x4E, 0x6D, 0x68, 0xC3, 0xE5, 0x58, 0x74, 0x37, 0x85, 0x5D, 0x7B,\r
+               0x63, 0x8B, 0x07, 0x45, 0x81, 0x1D, 0x73, 0x3B, 0x27, 0x01, 0xDB, 0x13, 0xF5, 0xF7, 0xED, 0xCB,\r
+               0x05, 0xEA, 0x00, 0x23, 0xFB, 0xAC, 0xB8, 0x8A, 0x2F, 0x09, 0x53, 0x93, 0xC3, 0x1A, 0x36, 0x10,\r
+               0x08, 0x7F, 0x98, 0x2E, 0xAF, 0xEA, 0xAA, 0xCC, 0xF6, 0xD0, 0x27, 0x3E, 0x87, 0x1E, 0x76, 0x50,\r
+               0x9A, 0x8C, 0xF9, 0xBC, 0x8C, 0x4C, 0x2F, 0x6A, 0xCA, 0xEC, 0xD9, 0xFC, 0xD8, 0x46, 0x71, 0x57,\r
+               0x4A, 0x79, 0xDC, 0x6C, 0x83, 0x2B, 0x47, 0x0D, 0xFF, 0xD9, 0xA6, 0xB6, 0x30, 0x7B, 0xA4, 0x82,\r
+               0x54, 0xB6, 0x0D, 0x72, 0x21, 0x95, 0x5B, 0xB3, 0x34, 0x12, 0x81, 0x5A, 0x7D, 0x77, 0xE5, 0xC3,\r
+               0xC0, 0x13, 0x3C, 0xE6, 0x47, 0x61, 0xC9, 0x47, 0x96, 0xB0, 0x10, 0x69, 0x88, 0x52, 0x35, 0x13,\r
+               0x9D, 0xD3, 0xA1, 0xBB, 0x90, 0x09, 0x76, 0x2F, 0x74, 0x52, 0xC5, 0x5E, 0xF4, 0x4D, 0x56, 0x70,\r
+               0x5A, 0x74, 0xFE, 0x48, 0x8F, 0x75, 0x2A, 0x39, 0x8C, 0xFC, 0x16, 0x4A, 0xB8, 0xB5, 0xDD, 0x03,\r
+               0x04, 0x96, 0x42, 0xF4, 0x09, 0x83, 0x5A, 0xBF, 0x5B, 0xF3, 0xCE, 0x45, 0x41, 0x2A, 0xBB, 0x9C,\r
+               0x69, 0x88, 0x31, 0x87, 0xF9, 0x05, 0x2C, 0x4F, 0xF9, 0x9E, 0x01, 0x28, 0xED, 0xE3, 0xDE, 0x55,\r
+               0xAA, 0x40, 0x3A, 0x8C, 0x0D, 0x97, 0x4A, 0xBB, 0xD8, 0x17, 0xA9, 0xA1, 0x82, 0x06, 0x54, 0xB0,\r
+               0x0E, 0xCB, 0x15, 0xA3, 0x49, 0xC7, 0x5E, 0xFF, 0x3C, 0xD7, 0x8D, 0x61, 0x1F, 0x5B, 0x94, 0xED,\r
+               0x02, 0xD2, 0x00, 0xB6, 0x6B, 0xF6, 0x4D, 0xDD, 0xD7, 0x54, 0xE5, 0xE2, 0x68, 0xBB, 0x03, 0x0D,\r
+               0x11, 0x3C, 0xFD, 0x4B, 0xED, 0x00, 0x3D, 0x5B, 0xEC, 0x21, 0xAB, 0x97, 0x27, 0xDE, 0x29, 0x68,\r
+               0x90, 0xB4, 0xF4, 0x42, 0xCE, 0x38, 0x26, 0x78, 0x21, 0xD2, 0x95, 0x64, 0x7B, 0x99, 0x32, 0x2F,\r
+               0x68, 0x32, 0x8A, 0x3C, 0x27, 0x2E, 0xD9, 0x91, 0x62, 0x6B, 0x6F, 0xDD, 0xC9, 0x23, 0x3A, 0x95,\r
+               0x3B, 0x73, 0x98, 0x2E, 0xE4, 0x81, 0xB5, 0x52, 0xEF, 0x77, 0xFE, 0xC1, 0xFD, 0xE7, 0xCA, 0x51,\r
+               0x8D, 0xAC, 0xF1, 0x47, 0x88, 0x2A, 0x72, 0x3E, 0xFE, 0x67, 0xFF, 0xD1, 0xBB, 0x93, 0xF8, 0x25,\r
+               0xE6, 0xF6, 0xC0, 0x76, 0xA0, 0xD1, 0xA1, 0x16, 0x0C, 0x4E, 0x24, 0xF8, 0x45, 0x6A, 0xFF, 0xDC,\r
+               0x22, 0xC0, 0x32, 0x84, 0x96, 0xE5, 0xA3, 0x20, 0x9A, 0x15, 0xE9, 0xA3, 0xD6, 0x40, 0x46, 0xF6,\r
+               0x5F, 0x65, 0xEA, 0x5C, 0xAC, 0x4D, 0x31, 0x1A, 0xD4, 0x02, 0xB0, 0xB4, 0x4E, 0x4D, 0xD3, 0xFB,\r
+               0xDA, 0x46, 0x4C, 0xFA, 0xD3, 0xBC, 0xBF, 0x65, 0xCB, 0xEA, 0x47, 0x5C, 0xCD, 0x63, 0x7E, 0xD5,\r
+               0x3E, 0x62, 0x8C, 0x3A, 0xB2, 0x82, 0xE0, 0x04, 0x27, 0x90, 0xD1, 0x26, 0xD3, 0x10, 0x13, 0xA6,\r
+               0xA0, 0x1D, 0x6D, 0xDB, 0x0F, 0xD5, 0x0A, 0xB9, 0x61, 0x3D, 0x3A, 0x8B, 0x9A, 0x03, 0x49, 0xB5,\r
+               0x65, 0x91, 0x24, 0x92, 0xAA, 0x1B, 0x61, 0x1C, 0x09, 0x5A, 0x35, 0xEC, 0x79, 0xAF, 0x06, 0x19,\r
+               0x73, 0x6E, 0xCD, 0x7B, 0x7E, 0xFA, 0x54, 0xC8, 0xC5, 0x12, 0xB1, 0xA4, 0x7E, 0xC9, 0x67, 0x7F,\r
+               0xA9, 0x15, 0x6C, 0xDA, 0xCA, 0x2C, 0x36, 0x7C, 0xEE, 0xCC, 0x44, 0x7A, 0x07, 0x5E, 0x89, 0xE8,\r
+               0x40, 0x92, 0x02, 0xB4, 0xEB, 0x56, 0x6D, 0x5D, 0x39, 0xC3, 0x9C, 0x75, 0xA0, 0xB0, 0xC0, 0x06,\r
+               0x98, 0x06, 0x4E, 0xF8, 0x67, 0x6A, 0xDD, 0xD1, 0xC3, 0x50, 0xF5, 0xE6, 0x56, 0x48, 0xCE, 0xFE,\r
+               0xA4, 0xB6, 0xC2, 0x74, 0xDA, 0x3D, 0x37, 0x6C, 0x44, 0x1B, 0x39, 0xAD, 0xE1, 0xA2, 0x93, 0x14,\r
+               0x96, 0xF0, 0xB6, 0x00, 0xCB, 0x25, 0x3E, 0x7D, 0x70, 0x2D, 0x3B, 0x9B, 0x2F, 0xDF, 0x20, 0x69,\r
+               0xAC, 0x04, 0x78, 0xCE, 0xA8, 0x59, 0x21, 0x1E, 0x07, 0xA2, 0xC3, 0x14, 0x2B, 0x9F, 0x64, 0x29,\r
+               0x50, 0x29, 0xA9, 0x1F, 0x38, 0xE8, 0x00, 0x8E, 0x18, 0x4A, 0x34, 0xFC, 0x66, 0xCC, 0x7A, 0x7A,\r
+               0x01, 0x87, 0x56, 0xE0, 0x17, 0x4C, 0x8B, 0xA1, 0xDB, 0x41, 0xFC, 0xF7, 0x2E, 0xCF, 0x31, 0x79,\r
+               0xF5, 0x18, 0x3D, 0x8B, 0xD9, 0x76, 0x7F, 0x6F, 0x0B, 0xB7, 0xDA, 0x01, 0x1B, 0x1B, 0xD0, 0xAD,\r
+               0xF7, 0xF7, 0xD0, 0x66, 0x08, 0x8A, 0x52, 0xBE, 0xBE, 0x88, 0x50, 0x3E, 0xFB, 0x91, 0xBA, 0x27,\r
+               0x85, 0x1E, 0x4B, 0xFD, 0x5D, 0xC2, 0x4F, 0xEB, 0x79, 0x2C, 0x33, 0x9A, 0xC7, 0x54, 0x43, 0xE2,\r
+               0x6C, 0x99, 0x25, 0x93, 0x80, 0xA2, 0xF2, 0x36, 0x74, 0x82, 0x90, 0x34, 0x9E, 0x43, 0x0D, 0xF5,\r
+               0xB5, 0xB7, 0xD2, 0x64, 0x47, 0x19, 0x8E, 0xF1, 0xC9, 0x07, 0xA8, 0xB1, 0x20, 0xB8, 0x48, 0x0E,\r
+               0x1F, 0xCA, 0x05, 0xB3, 0x85, 0xBF, 0xEA, 0x33, 0x47, 0x4D, 0x6C, 0xFB, 0x5B, 0x19, 0x92, 0xAF,\r
+               0xE1, 0x08, 0x39, 0x8F, 0x82, 0xE0, 0xB2, 0x34, 0xB4, 0xDF, 0x0D, 0x69, 0x78, 0xBF, 0x17, 0x09,\r
+               0xE3, 0xE7, 0xD4, 0x62, 0x1E, 0xCD, 0x03, 0xA8, 0xB3, 0x26, 0xF3, 0x90, 0x75, 0xEE, 0x4B, 0x58,\r
+               0x6B, 0x67, 0xDC, 0x6A, 0xC5, 0xFB, 0xEE, 0x73, 0xD2, 0x40, 0xF4, 0xF6, 0x0F, 0x5F, 0x80, 0xE9,\r
+               0x28, 0x9D, 0x65, 0xD3, 0xC6, 0xB0, 0xA6, 0x70, 0x2B, 0x85, 0xC8, 0x33, 0xB3, 0x92, 0xF1, 0x24,\r
+               0xFD, 0xAA, 0x87, 0x31, 0xA5, 0xCC, 0xB9, 0x13, 0xEB, 0xD8, 0x55, 0x6E, 0x64, 0xFA, 0x4E, 0x4C,\r
+               0x9E, 0x42, 0x0C, 0xBA, 0x57, 0x08, 0x8F, 0xE1, 0x41, 0x0F, 0x28, 0xB9, 0x77, 0xD8, 0x7F, 0x6E,\r
+               0xB9, 0xAE, 0xC7, 0x71, 0x16, 0x45, 0x83, 0xA0, 0x8E, 0x11, 0xF9, 0xA7, 0xD5, 0x66, 0x63, 0xD0,\r
+               0xE4, 0x19, 0x2D, 0x9B, 0xF0, 0x84, 0xA4, 0x46, 0xAB, 0x37, 0xFA, 0x81, 0xBA, 0x83, 0xE9, 0x35,\r
+               0xF4, 0xA2, 0x86, 0x30, 0x77, 0x7B, 0xDC, 0xC1, 0x3F, 0x81, 0xD8, 0x37, 0xDF, 0x51, 0x5E, 0xE7,\r
+               0x35, 0x85, 0x60, 0xD6, 0xD6, 0xA1, 0xA7, 0x60, 0x87, 0x10, 0xF1, 0xA6, 0x48, 0x3B, 0xA3, 0x8D,\r
+               0x7C, 0x22, 0x8E, 0x38, 0xBC, 0x5C, 0x30, 0x0A, 0xC1, 0xBD, 0x1A, 0x0B, 0xE8, 0xB3, 0x8B, 0x05,\r
+               0xE7, 0x4C, 0x7B, 0xCD, 0x9E, 0x6D, 0x23, 0x28, 0x1D, 0x5E, 0x25, 0xE8, 0xF8, 0xB7, 0x9F, 0x01,\r
+               0x60, 0x80, 0x30, 0x86, 0xAE, 0x0F, 0x71, 0x18, 0xAF, 0x98, 0x51, 0x2E, 0x38, 0xBD, 0x55, 0x0B,\r
+               0xA7, 0xE3, 0x94, 0x22, 0x11, 0x1A, 0xDB, 0xA7, 0x10, 0xF0, 0x86, 0x46, 0x05, 0x68, 0xBD, 0xDE,\r
+               0x37, 0x6A, 0x8D, 0x3B, 0x7D, 0xB1, 0x1C, 0xCB, 0xD6, 0xEF, 0x5F, 0x59, 0x6B, 0x9D, 0x26, 0x2B,\r
+               0x42, 0x7D, 0xEF, 0x59, 0x73, 0x6F, 0xCC, 0xC5, 0x88, 0x53, 0xBD, 0xE5, 0x10, 0x3C, 0xFC, 0x8A,\r
+               0x99, 0xBC, 0xF5, 0x43, 0x44, 0x52, 0xC6, 0xF2, 0xDC, 0xB8, 0x02, 0x0E, 0x3F, 0xDB, 0x34, 0x6D,\r
+               0xAE, 0xEB, 0x95, 0x23, 0x5A, 0x9D, 0x17, 0xEC, 0xC6, 0x44, 0xE4, 0xF2, 0x81, 0x20, 0x71, 0x96,\r
+               0xA5, 0x0C, 0x79, 0xCF, 0xE1, 0x9C, 0xAD, 0x57, 0xC4, 0xA9, 0x0B, 0x1F, 0x5D, 0x6F, 0xE2, 0xD9,\r
+               0x86, 0x4B, 0x1D, 0xAB, 0x4F, 0x91, 0x0E, 0xF9, 0x12, 0x1D, 0x69, 0xAB, 0xC1, 0x22, 0x33, 0x94,\r
+               0xB6, 0xE2, 0x84, 0x32, 0x7C, 0xB8, 0x14, 0xCA, 0x66, 0xC4, 0xC4, 0x72, 0x7C, 0xFF, 0x53, 0x49,\r
+               0xA6, 0x59, 0x2F, 0x99, 0xD5, 0xEA, 0xEF, 0x63, 0xA8, 0x61, 0xAF, 0xD7, 0x11, 0x2C, 0xED, 0x9A,\r
+               0x16, 0xC2, 0x04, 0xB2, 0x18, 0x9B, 0x53, 0xAE, 0x0A, 0x0C, 0x60, 0xBA, 0xCF, 0x55, 0x4A, 0xE3,\r
+               0xF3, 0x5C, 0x7F, 0xC9, 0x1C, 0x8F, 0x43, 0xAA, 0x4F, 0xF7, 0xDE, 0x41, 0xEC, 0xF3, 0xCF, 0x45,\r
+               0xD9, 0x13, 0x1A, 0xAC, 0x62, 0x77, 0xC5, 0xD4, 0x15, 0xE4, 0x97, 0x52, 0x70, 0xBE, 0x1E, 0x08,\r
+               0x58, 0x9B, 0x13, 0xA5, 0x76, 0x72, 0xD4, 0xC0, 0x2D, 0xC7, 0x8C, 0x71, 0x94, 0x74, 0x30, 0xC2,\r
+               0xAD, 0xBE, 0xC3, 0x75, 0x89, 0x23, 0x7A, 0x3F, 0xB7, 0x89, 0x58, 0x3F, 0x9F, 0x53, 0x1C, 0xE5,\r
+               0xF2, 0xE6, 0xC4, 0x72, 0x70, 0x24, 0x84, 0xC6, 0x2F, 0x2A, 0x63, 0x9C, 0x89, 0x21, 0x78, 0x97,\r
+               0x36, 0xD0, 0x36, 0x80, 0x35, 0x7D, 0x98, 0x83, 0x51, 0xA4, 0x93, 0x12, 0x8A, 0x07, 0x5D, 0xB1,\r
+               0x14, 0x2D, 0xE9, 0x5F, 0x29, 0xF0, 0x09, 0x9F, 0x57, 0xE6, 0xD7, 0x50, 0xA5, 0xE0, 0x95, 0x56,\r
+               0xB2, 0x49, 0x2B, 0x9D, 0x0A, 0xC8, 0x12, 0xBC, 0x6E, 0x7E, 0x76, 0xC8, 0x57, 0x58, 0xDF, 0xEE,\r
+               0xAE, 0x0D, 0x4D, 0x02, 0xEC, 0xD5, 0xAC, 0xD8, 0xBB, 0x43, 0x59, 0x19, 0xFA, 0xBA, 0x80, 0xDB,\r
+               0x79, 0x65, 0x25, 0xBD, 0xB1, 0x48, 0xF1, 0x18, 0xA4, 0x3F, 0x3A, 0x7A, 0x18, 0x58, 0xB7, 0x0E,\r
+               0x6A, 0x47, 0x07, 0x8C, 0x66, 0x35, 0x26, 0xB2, 0x92, 0xFB, 0xC8, 0x88, 0x93, 0xD3, 0x5F, 0x6D,\r
+               0xC8, 0xF9, 0xB9, 0x90, 0x78, 0xE4, 0x38, 0x7D, 0x9E, 0xB6, 0x89, 0xC9, 0x58, 0x18, 0xB3, 0x4A,\r
+               0x46, 0x86, 0xC6, 0x61, 0x24, 0x71, 0x64, 0xB4, 0xF7, 0x4C, 0x1A, 0x5A, 0x9A, 0xDA, 0xD7, 0xEC,\r
+               0x65, 0x20, 0x60, 0xE4, 0xB6, 0x10, 0xF6, 0x47, 0xAF, 0x13, 0x1D, 0x5D, 0xA6, 0xE6, 0x15, 0x12,\r
+               0x68, 0x71, 0x31, 0xB8, 0x4F, 0xEE, 0x0F, 0x40, 0x1E, 0x3E, 0x81, 0xC1, 0x4B, 0x0B, 0xFA, 0x10,\r
+               0x12, 0xC0, 0x80, 0x73, 0x29, 0xE9, 0x69, 0x21, 0xF3, 0x08, 0x5A, 0x1A, 0x43, 0x03, 0x7A, 0x98,\r
+               0xE5, 0x28, 0x68, 0x6C, 0x37, 0x38, 0x77, 0xEE, 0x3E, 0x9E, 0x01, 0x41, 0xE4, 0xA4, 0x51, 0x14,\r
+               0x25, 0x22, 0x62, 0xA6, 0xF1, 0x4C, 0xB1, 0x5C, 0x6C, 0xFC, 0x31, 0x71, 0xAF, 0xEF, 0x9D, 0x93,\r
+               0x18, 0xF7, 0xB7, 0x4E, 0x99, 0x9B, 0xD9, 0xE3, 0xC6, 0xE9, 0x8E, 0xCE, 0x0B, 0x4B, 0xFE, 0x54,\r
+               0x76, 0x02, 0x42, 0xD5, 0x86, 0x42, 0xC6, 0x25, 0x01, 0x42, 0xE2, 0xA2, 0x12, 0x52, 0x77, 0xC4,\r
+               0xA7, 0x1C, 0x5C, 0x1A, 0x5E, 0xE7, 0x1E, 0x58, 0xB9, 0x77, 0x6F, 0x2F, 0xB2, 0xF2, 0x04, 0x17,\r
+               0xC2, 0xCE, 0x8E, 0xAD, 0xE8, 0xC5, 0xA8, 0xCC, 0xC1, 0x88, 0xE8, 0xA8, 0x19, 0x59, 0xBF, 0x07,\r
+               0x55, 0xA4, 0xE4, 0x50, 0x79, 0xEC, 0x39, 0x74, 0xBA, 0x52, 0x49, 0x09, 0xFF, 0xBF, 0x98, 0xC6,\r
+               0xF5, 0x2C, 0x6C, 0x78, 0xD4, 0x07, 0x94, 0x32, 0x2D, 0xAF, 0x23, 0x63, 0x11, 0x51, 0x3F, 0x8F,\r
+               0xDC, 0xBD, 0xFD, 0xC0, 0x74, 0x74, 0x34, 0xE1, 0x13, 0x62, 0xD0, 0x90, 0x82, 0xC2, 0x56, 0x75,\r
+               0x61, 0x60, 0x20, 0xA0, 0xAD, 0xD9, 0xED, 0x95, 0x09, 0x4B, 0xE3, 0xA3, 0x1B, 0x5B, 0xFF, 0x45,\r
+               0x0C, 0xB3, 0xF3, 0x1E, 0x08, 0xB2, 0x48, 0x5B, 0xF2, 0x19, 0x4A, 0x0A, 0xB0, 0xF0, 0x44, 0x55,\r
+               0xD2, 0xCA, 0x8A, 0xB9, 0x65, 0x7D, 0x25, 0xF9, 0x4E, 0x68, 0x87, 0xC7, 0x9B, 0xDB, 0xDF, 0xE5,\r
+               0x0D, 0xA3, 0xE3, 0x0F, 0x3A, 0xA0, 0x7A, 0x7B, 0xD1, 0x9C, 0xEC, 0xAC, 0x70, 0x30, 0x60, 0xB1,\r
+               0x22, 0x44, 0x04, 0xC7, 0xD1, 0x1F, 0x91, 0x2F, 0xDB, 0xA1, 0xDB, 0x9B, 0x6A, 0x2A, 0xA1, 0x6A,\r
+               0x9C, 0xBF, 0xFF, 0x82, 0x2D, 0xF9, 0x6D, 0x35, 0x0A, 0x6E, 0xC5, 0x85, 0x0A, 0x4A, 0xF6, 0x5D,\r
+               0x40, 0xF0, 0xB0, 0x11, 0xC0, 0x16, 0x80, 0x37, 0xB0, 0x6F, 0x7E, 0x3E, 0xE6, 0xA6, 0x11, 0x56,\r
+               0x94, 0xBE, 0xFE, 0x8B, 0x43, 0x7E, 0x03, 0xDC, 0x99, 0xD7, 0xEF, 0xAF, 0x5B, 0x1B, 0xFB, 0x01,\r
+               0x97, 0x98, 0xD8, 0xAE, 0xCD, 0x8E, 0x8D, 0xA2, 0x85, 0x8E, 0xAA, 0xEA, 0xA9, 0xE9, 0xCD, 0xC5,\r
+               0xB8, 0x7F, 0x3F, 0x66, 0x8F, 0xCA, 0xCF, 0xA4, 0x14, 0x03, 0xB6, 0xF6, 0x76, 0x36, 0x30, 0xE7,\r
+               0x4A, 0xC7, 0x87, 0x2C, 0x17, 0x6B, 0x57, 0x9D, 0x0F, 0x3B, 0x95, 0xD5, 0xB4, 0xF4, 0x54, 0x41,\r
+               0xF1, 0x6C, 0x2C, 0x3C, 0x9E, 0xC3, 0xDE, 0xBC, 0x5E, 0x7C, 0x83, 0xC3, 0xE0, 0xA0, 0x41, 0x00,\r
+               0x6D, 0x21, 0x61, 0xED, 0x8D, 0x8A, 0xCD, 0xE6, 0xD8, 0x84, 0xFD, 0xBD, 0x85, 0xC5, 0x0E, 0x2A,\r
+               0x89, 0xEB, 0xAB, 0xC3, 0xAE, 0x91, 0xEE, 0xDE, 0xC9, 0x81, 0xE9, 0xA9, 0x8C, 0xCC, 0x86, 0xAB,\r
+               0x82, 0xCC, 0x8C, 0xEF, 0xE0, 0x45, 0xA0, 0x44, 0x67, 0xD0, 0x16, 0x56, 0x5C, 0x1C, 0xA3, 0x5E,\r
+               0x02, 0xC4, 0x84, 0x67, 0xBE, 0x90, 0xFE, 0xCF, 0x43, 0x34, 0xD6, 0x96, 0x8A, 0xCA, 0xD6, 0xFD,\r
+               0x75, 0x24, 0x64, 0xF0, 0x3D, 0xF8, 0x7D, 0x24, 0x50, 0x05, 0xF4, 0xB4, 0x9F, 0xDF, 0xCF, 0xF1,\r
+               0x3A, 0x41, 0x01, 0xDA, 0x48, 0xB6, 0x08, 0x1F, 0x20, 0xF3, 0x72, 0x32, 0x62, 0x22, 0x21, 0xE2,\r
+               0x66, 0x06, 0x46, 0xC1, 0xBB, 0x88, 0xFB, 0xD2, 0x3B, 0xCB, 0x51, 0x11, 0x6B, 0x2B, 0xA9, 0x63,\r
+               0xA5, 0x2A, 0x6A, 0x2E, 0x95, 0x0B, 0xD5, 0x7F, 0x37, 0x86, 0x10, 0x50, 0x61, 0x21, 0x69, 0xA9,\r
+               0x5C, 0xB5, 0xF5, 0x48, 0x9A, 0xD3, 0xDA, 0xA8, 0x47, 0x70, 0x96, 0xD6, 0xDD, 0x9D, 0x8B, 0xF7,\r
+               0xF0, 0x7C, 0x3C, 0x2D, 0xF7, 0x1C, 0xB7, 0x0A, 0x31, 0xF6, 0x66, 0x26, 0xAE, 0xEE, 0x95, 0x9A,\r
+               0x9F, 0x99, 0xD9, 0xA7, 0x7E, 0xB4, 0x3E, 0x2B, 0x57, 0x64, 0x92, 0xD2, 0xA5, 0xE5, 0x5D, 0x59,\r
+               0xCB, 0xDF, 0x9F, 0xB5, 0x7C, 0xF4, 0x3C, 0x69, 0xBE, 0x16, 0x09, 0x49, 0xAD, 0xED, 0xDD, 0xD1,\r
+               0x53, 0xD2, 0x92, 0x20, 0x6B, 0xAD, 0x2B, 0x27, 0x2C, 0xBE, 0x33, 0x73, 0x75, 0x35, 0x78, 0xAC,\r
+               0xD0, 0xFC, 0xBC, 0x8D, 0x83, 0x5A, 0xC3, 0x38, 0xA2, 0x4F, 0x4C, 0x0C, 0xD3, 0x93, 0x5B, 0x29,\r
+               0xCE, 0x8F, 0xCF, 0xE0, 0xF9, 0xCC, 0xB9, 0xD4, 0xFD, 0x71, 0x2D, 0x6D, 0x13, 0x53, 0x7F, 0xCD,\r
+               0xD4, 0xBC, 0xFC, 0xC9, 0x02, 0x72, 0x42, 0x91, 0xC4, 0xDD, 0xB8, 0xF8, 0x15, 0x55, 0x2F, 0x9B,\r
+               0xE0, 0x78, 0x38, 0x39, 0x1E, 0xE3, 0x5E, 0x1C, 0xA8, 0x72, 0x7B, 0x3B, 0x07, 0x47, 0x6E, 0xC8,\r
+               0xA6, 0x0C, 0x4C, 0x0B, 0x0E, 0xE2, 0x4E, 0x0D, 0x6F, 0xD9, 0x17, 0x57, 0x6E, 0x2E, 0xB1, 0x7E,\r
+               0x58, 0xF5, 0xB5, 0x0C, 0x27, 0x39, 0x67, 0xFF, 0xBC, 0x22, 0x3F, 0x7F, 0x5F, 0x1F, 0xEB, 0x15,\r
+               0xBD, 0x2F, 0x6F, 0x33, 0xAA, 0x81, 0xEA, 0xCA, 0x70, 0xA5, 0x74, 0x34, 0x9D, 0xDD, 0x8F, 0xB3,\r
+               0x4B, 0xD7, 0x97, 0x3D, 0x39, 0xE8, 0x79, 0x30, 0xC0, 0x99, 0xF8, 0xB8, 0xD1, 0x91, 0x1B, 0x6B,\r
+               0xFC, 0x3D, 0x7D, 0x60, 0x72, 0x24, 0x32, 0xB7, 0x2A, 0xCE, 0x45, 0x05, 0x5D, 0x1D, 0xAB, 0x57,\r
+               0x32, 0x40, 0x00, 0xD3, 0x44, 0x26, 0x04, 0x83, 0x23, 0xD6, 0x54, 0x14, 0x29, 0x69, 0xED, 0x65,\r
+               0x87, 0x9C, 0xDC, 0xBA, 0x54, 0x27, 0x14, 0x92, 0x17, 0x26, 0x90, 0xD0, 0xF2, 0xB2, 0x00, 0x53,\r
+               0x64, 0x30, 0x70, 0xF5, 0x33, 0x28, 0x73, 0xFA, 0x7C, 0xE8, 0x35, 0x75, 0xBB, 0xFB, 0x8C, 0x96,\r
+               0x63, 0x56, 0x16, 0x94, 0x7B, 0xAC, 0x3B, 0x36, 0x49, 0x09, 0xE1, 0xA1, 0x52, 0x12, 0x73, 0x80,\r
+               0x1A, 0xC1, 0x81, 0x7A, 0xA5, 0x59, 0xE5, 0x1D, 0x2B, 0xDF, 0x55, 0x15, 0xF3, 0xB3, 0x08, 0x5A,\r
+               0xE6, 0x0E, 0x4E, 0x49, 0xE1, 0x4D, 0xA1, 0x4D, 0x4F, 0x79, 0x97, 0xD7, 0x4F, 0x0F, 0xEA, 0x04,\r
+               0xDA, 0xCB, 0x8B, 0xB0, 0x45, 0x2E, 0x05, 0x8A, 0x52, 0x31, 0xC2, 0x82, 0xD4, 0x94, 0x03, 0x76,\r
+               0x83, 0xDC, 0x9C, 0xFE, 0xEB, 0x8D, 0xAB, 0x87, 0xEF, 0x51, 0x1F, 0x5F, 0xBA, 0xFA, 0x84, 0x9F,\r
+               0x3D, 0x27, 0x67, 0xBB, 0x6E, 0xB5, 0x2E, 0x3A, 0x93, 0xEA, 0xD8, 0x98, 0x4D, 0x0D, 0xAA, 0x46,\r
+               0x36, 0x00, 0x40, 0x97, 0xCB, 0xDE, 0x8B, 0xF4, 0x3C, 0xAA, 0x37, 0x77, 0xE7, 0xA7, 0x19, 0x5F,\r
+               0x7B, 0x53, 0x13, 0x89, 0x23, 0x29, 0x63, 0xEB, 0x1D, 0x1B, 0xA7, 0xE7, 0x36, 0x76, 0x34, 0xA3,\r
+               0x33, 0x50, 0x10, 0xC2, 0x28, 0xE1, 0x68, 0x28, 0x96, 0xBF, 0x88, 0xC8, 0xC9, 0x89, 0x9A, 0xF2,\r
+               0x06, 0x84, 0xC4, 0x23, 0xDE, 0xC7, 0x9E, 0xF8, 0x62, 0x85, 0x46, 0x06, 0xA2, 0xE2, 0x05, 0x06,\r
+               0x21, 0x43, 0x03, 0x93, 0xC4, 0x85, 0xE7, 0xF0, 0xF7, 0xE6, 0x95, 0xA0, 0x76, 0x7C, 0x14, 0xD9,\r
+               0x1B, 0x79, 0xAB, 0x01, 0xB9, 0x5D, 0x3F, 0x55, 0xFA, 0x7E, 0x98, 0x35, 0x61, 0x32, 0x03, 0x80,\r
+               0x64, 0x06, 0x5A, 0x8F, 0x3C, 0xFB, 0x99, 0x76, 0xD4, 0xFD, 0xB6, 0x98, 0x89, 0x2D, 0xEB, 0x77,\r
+               0x05, 0x67, 0x64, 0xD0, 0xD8, 0x3B, 0x59, 0x52, 0xA7, 0xE3, 0xC5, 0xF5, 0xF3, 0xC1, 0x91, 0xE1,\r
+               0x90, 0xF2, 0xC8, 0xE9, 0x8E, 0x3D, 0x5F, 0x02, 0x94, 0xF9, 0xF6, 0xDC, 0x08, 0x84, 0x6A, 0x5F,\r
+               0x53, 0x31, 0x67, 0x85, 0xDD, 0x2F, 0x4D, 0x43, 0x50, 0xCD, 0x32, 0x2C, 0x14, 0x09, 0x76, 0xCE,\r
+               0x3F, 0x5D, 0xCC, 0x42, 0x6B, 0x46, 0x24, 0x9C, 0x24, 0x8B, 0x46, 0x1E, 0x04, 0x18, 0x66, 0xCF,\r
+               0x17, 0x75, 0x37, 0x91, 0x00, 0x77, 0x15, 0xC6, 0xDD, 0x75, 0xBF, 0x19, 0x2D, 0xEA, 0x4F, 0x14,\r
+               0xFE, 0x9C, 0x21, 0x6E, 0xE8, 0xA2, 0xC0, 0xFB, 0xEC, 0x2F, 0x8E, 0x72, 0xB4, 0xDA, 0xD6, 0xBD,\r
+               0xDC, 0xBE, 0x10, 0x7D, 0xE4, 0xB7, 0xD5, 0xE2, 0x0C, 0x58, 0x6E, 0xE5, 0x37, 0x31, 0x55, 0xD5,\r
+               0x5A, 0x38, 0xE6, 0x0D, 0xF7, 0x4A, 0x28, 0x0C, 0x69, 0x17, 0x0B, 0xCF, 0x42, 0x0A, 0x20, 0x9B,\r
+               0x79, 0x1B, 0xDE, 0x16, 0x76, 0x43, 0x21, 0x84, 0x2E, 0x4B, 0x4C, 0xD4, 0xB1, 0xC7, 0xD3, 0xA5,\r
+               0x38, 0x5A, 0x93, 0x1A, 0xBC, 0x49, 0x2B, 0x44, 0x02, 0x88, 0x60, 0x3B, 0x9F, 0x6A, 0xFD, 0x26,\r
+               0xBE, 0xDC, 0x65, 0x6A, 0xE2, 0xF5, 0x97, 0xA6, 0x9D, 0x71, 0xFF, 0x5D, 0x90, 0xBD, 0xF2, 0xFE,\r
+               0x4E, 0x2C, 0xE3, 0x1C, 0x8F, 0x86, 0xE4, 0xB8, 0x54, 0xDD, 0x36, 0x38, 0xFD, 0x1F, 0x9F, 0x31,\r
+               0xBA, 0xD8, 0x71, 0x7A, 0x4C, 0x8D, 0xEF, 0x70, 0xB1, 0xB2, 0xD3, 0xB2, 0x74, 0x3E, 0x16, 0x99,\r
+               0xBF, 0xDD, 0x6C, 0x62, 0x11, 0x67, 0x05, 0xC7, 0x26, 0xCB, 0x44, 0x5C, 0xEB, 0x58, 0x89, 0x60,\r
+               0xEA, 0x88, 0x24, 0x7F, 0x63, 0xFC, 0x9E, 0x2E, 0xE3, 0xF7, 0x81, 0xA5, 0x4F, 0x9F, 0x2D, 0x03,\r
+               0x37, 0x55, 0x44, 0xC2, 0x8A, 0x92, 0xF0, 0xA9, 0xF4, 0xAE, 0x96, 0xEB, 0xE1, 0x92, 0x83, 0xA0,\r
+               0xF0, 0x92, 0xFF, 0xBE, 0x53, 0x65, 0x07, 0x87, 0x0F, 0x10, 0x6D, 0xAE, 0x64, 0x2F, 0x06, 0x98,\r
+               0x1F, 0x7D, 0xBF, 0x11, 0x4A, 0xCF, 0xAD, 0x34, 0x28, 0x1B, 0x4A, 0x82, 0xC1, 0xE1, 0xA3, 0xF3,\r
+               0x8F, 0xED, 0x0E, 0x30, 0xB6, 0x1E, 0x7C, 0x19, 0x7B, 0x56, 0x19, 0x9C, 0x29, 0xFE, 0x4B, 0x04,\r
+               0xA0, 0xC2, 0xAA, 0xBB, 0xE7, 0xE1, 0x83, 0xB7, 0x78, 0x1E, 0x1A, 0xD7, 0x22, 0x3D, 0x40, 0xCC,\r
+               0x6E, 0x0C, 0x90, 0x4F, 0x13, 0x8A, 0xE8, 0x28, 0xAC, 0x2B, 0xCE, 0x36, 0xD4, 0xED, 0xB6, 0xEA,\r
+               0x5C, 0x3E, 0xB0, 0x5D, 0xA6, 0xB5, 0xD7, 0xA2, 0x07, 0x90, 0x65, 0x26, 0xA0, 0xDF, 0xC2, 0xAC,\r
+               0xD0, 0xB2, 0x8C, 0xED, 0x7E, 0xF9, 0x9B, 0x36, 0xFF, 0x66, 0x9D, 0x28, 0x33, 0x25, 0x51, 0xC5,\r
+               0x6D, 0x0F, 0xDB, 0x07, 0x42, 0x75, 0x17, 0x86, 0x15, 0xD1, 0x77, 0x75, 0x78, 0xA2, 0x1A, 0x09,\r
+               0x7C, 0x1E, 0xC3, 0x0E, 0x70, 0x01, 0x63, 0xC0, 0x68, 0x1F, 0x0A, 0xC6, 0x4E, 0x96, 0x2C, 0x0B,\r
+               0xB8, 0xDA, 0x33, 0x3A, 0x46, 0xDA, 0xB8, 0x2D, 0xB4, 0xAA, 0xD6, 0xAF, 0x5E, 0x87, 0x3C, 0x0A,\r
+               0x1D, 0x7F, 0xFD, 0x51, 0x83, 0x93, 0xF1, 0xA1, 0x18, 0x49, 0x7A, 0xE0, 0x39, 0xEF, 0x5B, 0x05,\r
+               0xC9, 0xAB, 0x1C, 0x64, 0x95, 0x7A, 0x18, 0x5E, 0x7E, 0x4E, 0x1C, 0x81, 0x71, 0x23, 0x13, 0x81,\r
+               0x7D, 0x1F, 0xCA, 0x06, 0x4F, 0xDB, 0xB9, 0x25, 0xE9, 0x37, 0x8B, 0x6F, 0xAF, 0x08, 0xCD, 0x74,\r
+               0x29, 0x4B, 0x8B, 0x13, 0x01, 0xCC, 0xAE, 0x7C, 0x00, 0xC8, 0x62, 0x79, 0x3D, 0xFB, 0x5F, 0x15,\r
+               0x19, 0x7B, 0xE9, 0x41, 0x86, 0x87, 0xE5, 0xB0, 0x0A, 0x08, 0x68, 0xB3, 0xFB, 0x49, 0x99, 0x61,\r
+               0xA6, 0xC4, 0xFC, 0xEB, 0x41, 0x23, 0x41, 0xD3, 0xDF, 0x35, 0xBD, 0x5B, 0x93, 0xF6, 0xF1, 0xB6,\r
+               0xCA, 0xA8, 0x57, 0x2C, 0xD1, 0x3A, 0x58, 0x5A, 0x2A, 0x5B, 0x48, 0xC0, 0x8C, 0x30, 0xEE, 0x6F,\r
+               0x47, 0x25, 0x62, 0x94, 0x02, 0x9A, 0xF8, 0x29, 0x34, 0x8A, 0x56, 0x0F, 0x54, 0x4D, 0x36, 0xCA,\r
+               0xC0, 0xA2, 0x9D, 0xEC, 0x12, 0x31, 0x53, 0x92, 0xE6, 0xEF, 0x84, 0xB8, 0xE2, 0xD9, 0x80, 0xE8,\r
+               0x61, 0x03, 0x47, 0x97, 0xD3, 0xD7, 0xB5, 0xB5, 0x8C, 0x78, 0xEE, 0x45, 0x73, 0x61, 0x11, 0xC1,\r
+               0x0B, 0x69, 0xBA, 0x00, 0x9A, 0x39, 0x5B, 0x12, 0x04, 0xD8, 0x66, 0x6D, 0xDE, 0x27, 0xBC, 0x2A,\r
+               0x71, 0x13, 0x56, 0x96, 0xCE, 0xD2, 0xB0, 0xAD, 0x25, 0x83, 0x47, 0x17, 0xE6, 0xCD, 0x84, 0xF8,\r
+               0x12, 0x70, 0x2A, 0x89, 0x1B, 0x30, 0x52, 0x9A, 0x4D, 0x54, 0x2F, 0xA8, 0xBB, 0x0D, 0xD9, 0x65,\r
+               0xE0, 0x82, 0xEE, 0xBF, 0x78, 0xBB, 0xD9, 0x72, 0x6F, 0x47, 0x0D, 0x99, 0x6C, 0xA7, 0x0E, 0x18,\r
+               0xA1, 0xC3, 0xA3, 0xB3, 0x5F, 0x70, 0x12, 0x9E, 0xD1, 0xE5, 0xB3, 0x85, 0x72, 0x68, 0x10, 0xC9,\r
+               0x32, 0x50, 0x59, 0xDA, 0xF9, 0xB2, 0xD0, 0xFA, 0xAE, 0x6B, 0xCC, 0x74, 0x2E, 0xA1, 0x4C, 0x5C,\r
+               0x35, 0x57, 0x06, 0x82, 0x07, 0x8E, 0xEC, 0x38, 0x08, 0x48, 0x6A, 0xF1, 0xBC, 0x52, 0xDE, 0x3D,\r
+               0xA9, 0xCB, 0x2B, 0x33, 0x05, 0x63, 0x01, 0xD7, 0x59, 0x45, 0x3B, 0xAD, 0x45, 0x55, 0x27, 0xC3,\r
+               0x72, 0x10, 0x1D, 0xDE, 0x8D, 0x6B, 0x09, 0x57, 0xE8, 0x3F, 0x8A, 0x66, 0x23, 0x34, 0x41, 0xC4,\r
+               0xC7, 0xA5, 0xC2, 0xB4, 0x14, 0x73, 0x11, 0xD6, 0x96, 0xB9, 0xF4, 0x9E, 0x49, 0xC9, 0x2B, 0x53,\r
+               0x82, 0xE0, 0x9B, 0xA8, 0xD0, 0x81, 0xE3, 0xE0, 0xB0, 0xBA, 0xD2, 0xBB, 0xC7, 0xB7, 0xA5, 0xA3,\r
+               0x9E, 0xFC, 0x16, 0x39, 0xF2, 0x5E, 0x3C, 0x1D, 0x57, 0x95, 0x35, 0x73, 0x85, 0xB1, 0xE7, 0xE7,\r
+               0xBD, 0xDF, 0x2E, 0x22, 0x54, 0x9C, 0xFE, 0x79, 0xEF, 0x67, 0x8D, 0x39, 0x1D, 0x88, 0x7F, 0x46,\r
+               0xAB, 0xC9, 0x69, 0x73, 0x15, 0xC8, 0xAA, 0x6C, 0x44, 0xDC, 0x26, 0x29, 0x94, 0xA9, 0xF6, 0xEE,\r
+               0xD5, 0xB7, 0x91, 0xF5, 0x3F, 0xAD, 0xCF, 0x23, 0x09, 0x40, 0x6B, 0xF8, 0x87, 0xF3, 0xE5, 0xA7,\r
+               0xC1, 0xA3, 0x94, 0xE4, 0xBE, 0xA4, 0xC6, 0xAB, 0xC3, 0xA4, 0xA1, 0xD6, 0xA4, 0xCB, 0xC6, 0xBC,\r
+               0x3E, 0x5C, 0xC5, 0x4A, 0x4B, 0x74, 0x16, 0x8E, 0xE4, 0xAF, 0x86, 0xFA, 0xEA, 0x51, 0x88, 0x68,\r
+               0xF8, 0x9A, 0x77, 0x3E, 0x60, 0xAA, 0xC8, 0x7B, 0x95, 0xF1, 0xF7, 0xD5, 0x7E, 0xF4, 0x1C, 0x59,\r
+               0xCB, 0xA9, 0x5E, 0x24, 0x50, 0x33, 0x51, 0xD2, 0x48, 0x4C, 0x2A, 0xB5, 0xA7, 0x80, 0xC5, 0xF4,\r
+               0x62, 0x00, 0x0C, 0xDF, 0x40, 0x98, 0xFA, 0x69, 0x9B, 0x21, 0xF9, 0x0B, 0x02, 0x4E, 0x60, 0x9F,\r
+               0xAF, 0xCD, 0x7D, 0x63, 0xF0, 0xB3, 0xD1, 0xF2, 0xE2, 0xFF, 0x80, 0xAC, 0x6F, 0xEC, 0x0D, 0x50,\r
+               0xC4, 0xA6, 0x89, 0xFC, 0xA4, 0x58, 0x3A, 0x4D, 0x8B, 0x20, 0xE9, 0x1A, 0x30, 0x6E, 0x52, 0x8D,\r
+               0xF3, 0x91, 0xB4, 0xF6, 0x7F, 0x42, 0x20, 0x8C, 0x6C, 0x0F, 0x0E, 0xD2, 0xDB, 0x3A, 0xB9, 0x32,\r
+               0xED, 0x8F, 0x7B, 0x27, 0x48, 0x22, 0x40, 0xDB, 0x97, 0xB1, 0xF5, 0x97, 0x27, 0x20, 0x45, 0xD4,\r
+               0x56, 0x34, 0x7A, 0x9D, 0x43, 0xCE, 0xAC, 0x3C, 0xD8, 0x6D, 0xBA, 0x04, 0xCA, 0x22, 0xA8, 0x3B,\r
+               0x90, 0xA0, 0x8D, 0xAF, 0x98, 0x9C, 0xB9, 0xBA, 0xB0, 0x9D, 0xB2, 0xBF, 0xFA, 0xBC, 0xFB, 0x9E,\r
+               0xB5, 0xA3, 0xAB, 0x89, 0x16, 0xE2, 0x49, 0x34, 0xE9, 0xD8, 0xAE, 0xFA, 0xCC, 0x4E, 0x3F, 0x6C,\r
+               0x12, 0x7D, 0xD2, 0xF0, 0x42, 0xA3, 0x5C, 0x60, 0x05, 0xA2, 0x38, 0x80, 0x63, 0xA1, 0x7F, 0x83,\r
+               0x58, 0x8F, 0x6A, 0x48, 0xDA, 0x9A, 0xFD, 0xF8, 0x3D, 0x81, 0x23, 0xA3, 0x07, 0x63, 0xD9, 0x41,\r
+               0xD3, 0x5A, 0x34, 0x16, 0xD8, 0xD8, 0xBD, 0xFA, 0xBA, 0xCA, 0xEF, 0xE8, 0x39, 0x90, 0x14, 0xB2,\r
+               0x02, 0xC6, 0x79, 0x5B, 0xCB, 0x82, 0xF4, 0xE9, 0x42, 0xB4, 0x69, 0x96, 0x76, 0xF5, 0x3E, 0xD7,\r
+               0xD1, 0xB5, 0xD9, 0xFB, 0xB5, 0x7A, 0x72, 0x97, 0xEE, 0x21, 0x50, 0x03, 0x94, 0x49, 0x60, 0x6B,\r
+               0xFD, 0xBE, 0xFE, 0xDC, 0xFB, 0xE0, 0xA6, 0xD9, 0xBF, 0xDE, 0xFE, 0xFC, 0xB1, 0x99, 0x95, 0xBB,\r
+               0x9E, 0x56, 0x75, 0x57, 0xF8, 0xAB, 0xEE, 0xDA, 0x75, 0xD4, 0x3E, 0xF6, 0xC8, 0x0E, 0x7B, 0x2C,\r
+               0xFE, 0xEB, 0xA8, 0x8A, 0x21, 0xDF, 0x43, 0x03, 0x5C, 0xE7, 0x24, 0xC5, 0x61, 0x97, 0x4B, 0xB5,\r
+               0x87, 0xE5, 0xDF, 0xFD, 0x30, 0xC7, 0x4A, 0x12, 0x56, 0xB0, 0x79, 0x92, 0xE8, 0x8E, 0xDB, 0xAC,\r
+               0x20, 0x3B, 0xA6, 0x84, 0x5D, 0x65, 0x85, 0x7F, 0x27, 0x7D, 0xC5, 0x5F, 0x73, 0xA5, 0x6B, 0x87,\r
+               0xF9, 0x15, 0x51, 0x73, 0x84, 0x11, 0x28, 0xA6, 0x9F, 0xEC, 0xEC, 0xCE, 0x96, 0x7F, 0x54, 0x5D,\r
+               0x31, 0x3A, 0xB6, 0x94, 0x6F, 0x45, 0x97, 0x4D, 0xA2, 0xDB, 0xE6, 0xF9, 0x57, 0x65, 0x8F, 0x47,\r
+               0x2F, 0x77, 0xE5, 0xC7, 0x95, 0x09, 0x21, 0xB7, 0x51, 0x49, 0x87, 0x6B, 0x26, 0xF3, 0x68, 0xD1,\r
+               0xBC, 0xAB, 0xAA, 0x88, 0x78, 0x0B, 0xCE, 0x5A, 0x50, 0xF2, 0x3D, 0xD0, 0xC1, 0x1F, 0x63, 0x3D,\r
+               0x98, 0x12, 0x37, 0x15, 0xA4, 0x62, 0x7B, 0x86, 0xC2, 0x06, 0x5B, 0x24, 0xAA, 0xBA, 0xAD, 0x98,\r
+               0x52, 0xD2, 0x3D, 0x1F, 0x62, 0xD0, 0x0F, 0x40, 0xA0, 0x36, 0x09, 0x14, 0x66, 0xF1, 0x2A, 0xD3,\r
+               0xEB, 0x41, 0x17, 0x35, 0xD3, 0x1B, 0x75, 0xF1, 0x7C, 0xD5, 0x36, 0xF7, 0x40, 0x07, 0xFA, 0x25,\r
+               0x70, 0x2F, 0xE2, 0xC0, 0xCC, 0xDD, 0xAC, 0xEE, 0xD7, 0xB9, 0xF1, 0x9B, 0xC9, 0x1E, 0x6A, 0x3C,\r
+               0x93, 0xF5, 0xDB, 0xF9, 0xBD, 0xF2, 0xF2, 0x9F, 0xB6, 0xDF, 0xF6, 0xFD, 0x88, 0x0C, 0x39, 0x2E,\r
+               0x24, 0x90, 0x09, 0x2B, 0x0B, 0x66, 0xD0, 0x29, 0x49, 0x58, 0x8E, 0x7A, 0x33, 0xA7, 0x29, 0x85,\r
+               0x46, 0xC2, 0x39, 0x1B, 0x81, 0x0C, 0x30, 0xA3, 0x91, 0x14, 0x1A, 0x36, 0x08, 0x04, 0xB1, 0x26,\r
+               0x6E, 0x62, 0xB1, 0x93, 0x2C, 0x4A, 0xDB, 0x0E, 0x6C, 0x7E, 0x8D, 0x5C, 0xAF, 0xEA, 0xF8, 0xC8,\r
+               0x83, 0x4E, 0x70, 0x52, 0xE4, 0x26, 0x7F, 0xC6, 0x01, 0x0D, 0x93, 0x2F, 0x80, 0x0D, 0x30, 0x2F,\r
+               0x3C, 0x99, 0x18, 0x3A, 0xB9, 0xE6, 0xE2, 0x9B, 0x7D, 0x6E, 0x8C, 0x4C, 0xB7, 0xEF, 0xE5, 0xCD,\r
+               0xAE, 0xFF, 0xEC, 0xCE, 0x2D, 0x43, 0xD3, 0x0F, 0x88, 0xBE, 0xA9, 0x9C, 0x84, 0x4D, 0x74, 0x6F,\r
+               0xB2, 0x5D, 0x52, 0x70, 0x33, 0x8C, 0x02, 0x11, 0xC5, 0xFF, 0xA5, 0xDD, 0x68, 0x86, 0x53, 0xA4,\r
+               0xDA, 0x52, 0x35, 0x17, 0xE3, 0x79, 0x27, 0xC1, 0x2D, 0x2A, 0x98, 0x08, 0x22, 0xB3, 0x2C, 0x91,\r
+               0x5F, 0x71, 0x93, 0xB1, 0x71, 0x8A, 0x46, 0x53, 0x72, 0x2D, 0xC0, 0x0F, 0xE0, 0x8F, 0xD2, 0xAD,\r
+               0x4D, 0x25, 0xD5, 0xF7, 0x7C, 0x1F, 0xDE, 0x5E, 0x36, 0x6D, 0xC4, 0x4F, 0x4D, 0x56, 0xA6, 0x74,\r
+               0x86, 0x5F, 0x64, 0x46, 0x1A, 0x7E, 0xD9, 0x38, 0x00, 0xB6, 0x29, 0x94, 0xCD, 0x5E, 0x2E, 0x7C,\r
+               0x8E, 0xED, 0xDE, 0xFC, 0x10, 0xB4, 0x19, 0x32, 0x0F, 0xF5, 0x65, 0xD7, 0x34, 0xC1, 0x48, 0xE3,\r
+               0x77, 0xD1, 0x1B, 0x39, 0xB4, 0x73, 0x7A, 0x96, 0x47, 0xA0, 0x78, 0x82, 0xDD, 0x5A, 0x3A, 0x78,\r
+               0x85, 0x0A, 0x32, 0x10, 0x3B, 0x04, 0x82, 0x19, 0xD4, 0xEF, 0xA4, 0xCD, 0x9D, 0x58, 0x78, 0x7A,\r
+               0xC0, 0xB4, 0xC9, 0xEB, 0xBE, 0xB9, 0xBA, 0x9C, 0x6F, 0x28, 0xD8, 0x0A, 0xB3, 0xAF, 0xA1, 0x8D,\r
+               0xB7, 0x4C, 0x46, 0x64, 0x76, 0xD5, 0x1E, 0x54, 0x25, 0x90, 0x2A, 0xB2, 0x03, 0x23, 0x9D, 0x01,\r
+               0xA9, 0x01, 0x15, 0x37, 0x9E, 0xCA, 0xE9, 0xBC, 0x94, 0x00, 0x0B, 0x22, 0x2E, 0xF2, 0x61, 0xD0,\r
+               0x1D, 0x31, 0x91, 0xB3, 0x8B, 0xC6, 0xF0, 0xA9, 0xBB, 0x71, 0x55, 0x53, 0x32, 0xB7, 0x38, 0x95,\r
+               0xFC, 0x04, 0x45, 0x67, 0x7D, 0x16, 0xD6, 0x5F, 0x81, 0xBF, 0xA1, 0x9D, 0xAD, 0xDC, 0xCC, 0xFE,\r
+               0x03, 0x7C, 0xC2, 0xE0, 0x6C, 0x0E, 0xDF, 0x4E, 0xA7, 0xCF, 0xF7, 0xED, 0x2C, 0xC4, 0x55, 0xE6,\r
+               0x0D, 0x8A, 0x3A, 0x18, 0xFF, 0xF4, 0xB6, 0xDD, 0x9B, 0x43, 0x47, 0x61, 0xB8, 0x88, 0x8D, 0xAA,\r
+               0xED, 0x05, 0x55, 0x77, 0x11, 0xBD, 0x11, 0x33, 0xE8, 0x63, 0x14, 0x41, 0xDA, 0x3C, 0x5B, 0x1E,\r
+               0x5E, 0xCB, 0x28, 0x0A, 0x27, 0x89, 0x13, 0x05, 0xF0, 0x72, 0x1D, 0x50, 0x9C, 0x48, 0x69, 0x6A,\r
+               0xCB, 0x53, 0x25, 0x07, 0x66, 0xC4, 0x1F, 0x44, 0xD6, 0x02, 0x4B, 0x20, 0xBB, 0xAE, 0xA8, 0x8C,\r
+               0x84, 0xB0, 0x89, 0xAB, 0x01, 0xAC, 0x10, 0x23, 0x18, 0xA7, 0x20, 0x85, 0x37, 0xE7, 0x6D, 0xC5,\r
+               0x44, 0x2D, 0xD4, 0xF6, 0xF0, 0x23, 0x6E, 0xD2, 0xE1, 0x62, 0x1C, 0x40, 0x3F, 0xE6, 0x64, 0xC4,\r
+               0xAA, 0x54, 0x43, 0x61, 0x2E, 0x08, 0x9B, 0x0C, 0x37, 0xD6, 0x7E, 0xF4, 0x44, 0x47, 0xBE, 0x65,\r
+               0x1E, 0x64, 0xC7, 0xE5, 0x3E, 0x19, 0x9A, 0x1C, 0x80, 0x04, 0x1B, 0x26, 0x4F, 0x60, 0x92, 0x42,\r
+               0x8B, 0xFC, 0xCA, 0xE8, 0x29, 0x57, 0xC3, 0x0B, 0x28, 0x3E, 0x89, 0x1C, 0xEA, 0xB8, 0xEF, 0x9A,\r
+               0xDE, 0xF9, 0x9A, 0xB8, 0xAC, 0xEA, 0xFB, 0x8E, 0x4F, 0x1A, 0xCA, 0x38, 0x48, 0x06, 0xF3, 0x24,\r
+               0xB3, 0xE7, 0xE9, 0xCB, 0xD6, 0x06, 0x6D, 0xF4, 0x71, 0x7B, 0x95, 0x59, 0x6C, 0xC6, 0x17, 0xE4,\r
+               0x07, 0xD7, 0x6D, 0x4F, 0x4B, 0x22, 0xD4, 0x69, 0x4C, 0x4C, 0x9F, 0x6E, 0x59, 0x12, 0xF6, 0x30,\r
+               0xF7, 0xE3, 0xA9, 0x8B, 0x57, 0xAF, 0x45, 0x75, 0xE3, 0x8F, 0xF3, 0xAD, 0x18, 0x00, 0xA5, 0x22,\r
+               0x32, 0x6F, 0xE0, 0xC2, 0x72, 0xC1, 0x0E, 0x50, 0x1C, 0x08, 0x8B, 0x2A, 0xDC, 0x4A, 0x2B, 0x68,\r
+               0x35, 0x91, 0x19, 0x3B, 0x5B, 0x33, 0xD5, 0x79, 0xE7, 0x20, 0x58, 0x02, 0x86, 0x7B, 0x40, 0x59,\r
+               0xCE, 0x42, 0x31, 0x13, 0x68, 0x1A, 0xCF, 0x4A, 0x3B, 0xC3, 0x67, 0xE1, 0xF8, 0x8A, 0xCF, 0xA8,\r
+               0x59, 0x35, 0xD1, 0xF3, 0xEB, 0xF1, 0xA7, 0xC9, 0x0A, 0xE1, 0x74, 0xC3, 0xE1, 0x9F, 0xC3, 0xBD,\r
+               0xFF, 0x51, 0x13, 0x31, 0xEE, 0xEC, 0xBF, 0xCC, 0xF5, 0x66, 0x0C, 0x44, 0x9E, 0x7E, 0x5D, 0x5C,\r
+               0xE4, 0x0D, 0x54, 0x76, 0x1D, 0x21, 0x81, 0x3F, 0xCD, 0x45, 0x17, 0x67, 0x16, 0x77, 0xDC, 0x55,\r
+               0x76, 0x6B, 0xA0, 0x82, 0xCF, 0x96, 0xE4, 0xED, 0x4E, 0xA1, 0x70, 0x83, 0xBC, 0xC8, 0xC9, 0xEA,\r
+               0x10, 0x92, 0x3F, 0x1D, 0xC0, 0x41, 0x3C, 0xE2, 0xB8, 0x27, 0x00, 0x05, 0x5E, 0x74, 0x97, 0x56,\r
+               0x99, 0xA8, 0x8C, 0xAE, 0x2B, 0x15, 0x83, 0x09, 0x5A, 0xA5, 0x60, 0x87, 0x6A, 0xB0, 0x67, 0x92,\r
+               0x13, 0xC7, 0x69, 0x4B, 0xA2, 0x34, 0x2B, 0x80, 0xC8, 0x51, 0x06, 0x73, 0xA2, 0xBB, 0xA4, 0x99,\r
+               0xFF, 0x6F, 0xB5, 0xF6, 0x68, 0x9F, 0xD2, 0x2B, 0xB0, 0x5A, 0x8C, 0x19, 0xCC, 0x1B, 0xF2, 0x58,\r
+               0xEF, 0xD4, 0x1E, 0x5D, 0xEF, 0x60, 0xAA, 0xAC, 0x24, 0xEC, 0xAE, 0xAF, 0xA9, 0xC9, 0x45, 0x8A,\r
+               0x2E, 0xF3, 0xF8, 0xBB, 0x4E, 0xBA, 0xD1, 0x0D, 0x9C, 0x7D, 0x87, 0x3E, 0x3E, 0xA3, 0xB8, 0xE0,\r
+               0x67, 0x54, 0x16, 0x55, 0x24, 0x47, 0x46, 0x67, 0xDA, 0xD0, 0x6C, 0x93, 0x9E, 0x2B, 0x90, 0x68,\r
+               0xFC, 0x3A, 0xE3, 0xA0, 0x06, 0x76, 0x55, 0x45, 0x06, 0x33, 0x53, 0x70, 0x8E, 0x2F, 0x84, 0x6C,\r
+               0x7B, 0xF6, 0xA8, 0xEB, 0x36, 0x14, 0x07, 0x75, 0xB4, 0xF5, 0x27, 0xB6, 0x4E, 0x25, 0x4E, 0x66,\r
+               0xBC, 0x95, 0x0C, 0x4F, 0x89, 0x01, 0xAD, 0xCA, 0x0B, 0x9D, 0xF0, 0xDE, 0x73, 0xF0, 0xA6, 0xB3,\r
+               0x2C, 0x1C, 0x15, 0x56, 0xE5, 0xAA, 0x6A, 0xA6, 0xCD, 0x82, 0x29, 0xC1, 0x1D, 0x05, 0x3D, 0x46,\r
+               0x04, 0xBC, 0x9D, 0xDE, 0x1D, 0xA4, 0x9C, 0x5E, 0x5C, 0x20, 0x1A, 0x63, 0x2D, 0x81, 0x89, 0xC2,\r
+               0xFA, 0x7E, 0xA1, 0xE2, 0x1A, 0xFB, 0xC4, 0x59, 0xAF, 0xB2, 0x7B, 0xF1, 0x0E, 0x27, 0x0C, 0x64,\r
+               0xF8, 0x91, 0x4C, 0x0F, 0x86, 0xD6, 0x75, 0xC5, 0xA8, 0x4B, 0x85, 0x08, 0x03, 0x76, 0x50, 0x35,\r
+               0x70, 0x11, 0x44, 0x07, 0x5D, 0xE0, 0x98, 0x1E, 0xC9, 0x2D, 0x82, 0x6E, 0x79, 0xC7, 0x9B, 0x84,\r
+               0x33, 0xEB, 0xFD, 0xBE, 0x5E, 0xAB, 0xD0, 0x1D, 0x30, 0xE8, 0xBE, 0xAB, 0xC5, 0x0A, 0xEA, 0x49,\r
+               0xE6, 0xDC, 0x1F, 0x5C, 0x3D, 0xD7, 0xCF, 0x7E, 0xF0, 0xB5, 0x23, 0xF6, 0x12, 0x62, 0x55, 0x21,\r
+               0x85, 0x34, 0x94, 0xD7, 0xCF, 0x13, 0xF9, 0x8C, 0x5A, 0x62, 0x5E, 0x21, 0x01, 0x40, 0x64, 0x03,\r
+               0xA2, 0xD8, 0x5F, 0x1C, 0x8E, 0x5E, 0xF5, 0xCD, 0x95, 0x7C, 0x8F, 0x3F, 0xA3, 0xFE, 0x78, 0xBD,\r
+               0xE8, 0x2A, 0xE7, 0xA4, 0x84, 0x94, 0x35, 0xC7, 0x54, 0x9A, 0xA8, 0xD9, 0x9A, 0x6B, 0xD4, 0x28,\r
+               0xC2, 0x65, 0x82, 0xC1, 0xFA, 0x6C, 0xB3, 0xB9, 0x0E, 0x89, 0xE1, 0xCA, 0x06, 0x26, 0x05, 0x65,\r
+               0x43, 0xED, 0x8B, 0xC8, 0xEE, 0x69, 0xA2, 0xAD, 0x36, 0xAA, 0xFA, 0xE9, 0xE2, 0xEC, 0x2B, 0xAF,\r
+               0xB6, 0xC8, 0x5B, 0x18, 0x11, 0x38, 0x0C, 0x52, 0xAC, 0xE4, 0x2E, 0xA7, 0xE9, 0xCB, 0x07, 0x88,\r
+               0xE9, 0x90, 0x5C, 0x1F, 0xE8, 0x3F, 0xF2, 0xAB, 0x34, 0x47, 0x15, 0x04, 0xFF, 0xB9, 0x63, 0xFA,\r
+               0x2D, 0xA6, 0xAE, 0xED, 0xAD, 0x66, 0xEE, 0xEE, 0x4A, 0xC9, 0xE5, 0x8A, 0xFC, 0x9F, 0x46, 0xDC,\r
+               0x0F, 0x5B, 0x71, 0x32, 0xB1, 0xEB, 0x7F, 0xF2, 0x4C, 0x8B, 0xA1, 0xC8, 0xD3, 0x78, 0x8E, 0x3B,\r
+               0xA9, 0x3F, 0xB3, 0xF0, 0x92, 0xD3, 0x64, 0xD1, 0x75, 0x13, 0x00, 0x50, 0x21, 0xC0, 0xC4, 0x83,\r
+               0x59, 0x0B, 0x77, 0x34, 0xEB, 0x74, 0xBA, 0xA8, 0x93, 0x3E, 0xCB, 0x7D, 0x66, 0xA4, 0xE7, 0xE7,\r
+               0x82, 0xCA, 0x6D, 0x2E, 0xDC, 0x49, 0xB0, 0x9F, 0xC7, 0xD5, 0x74, 0x96, 0x49, 0x43, 0x2F, 0x00,\r
+               0xB5, 0x9D, 0x0D, 0x4E, 0xC2, 0x86, 0x61, 0x81, 0xDD, 0x29, 0x92, 0x6A, 0xF7, 0xB8, 0x6A, 0xFB,\r
+               0xBE, 0x7A, 0xE1, 0xA2, 0x79, 0x87, 0xDB, 0x3A, 0xDF, 0xC4, 0x7D, 0x87, 0x2B, 0xF7, 0xF9, 0xB4,\r
+               0x9D, 0x3D, 0x85, 0xC6, 0xD7, 0x8A, 0x78, 0x94, 0x09, 0x70, 0x1F, 0x33, 0xB7, 0xBA, 0x28, 0xF9,\r
+               0xAD, 0x94, 0x1C, 0x5F, 0xE4, 0xA3, 0x62, 0xA7, 0x7D, 0xA9, 0xB2, 0xEA, 0x0A, 0x67, 0x48, 0x24,\r
+               0xBD, 0x2F, 0xB7, 0xF4, 0x4D, 0xF1, 0x99, 0x0E, 0xB3, 0x0C, 0xD9, 0x4F, 0x67, 0xB4, 0xF6, 0xF7,\r
+               0x0D, 0xB4, 0x9C, 0xDF, 0x80, 0x80, 0x25, 0xC3, 0x11, 0x61, 0x16, 0x22, 0xB9, 0xCD, 0x51, 0x8E,\r
+               0x73, 0x44, 0x12, 0x51, 0xBF, 0x35, 0xAF, 0xFC, 0x79, 0x06, 0x19, 0x45, 0xBF, 0xBB, 0x21, 0xF8,\r
+               0x20, 0x05, 0x00, 0x43, 0x7C, 0x9A, 0xC3, 0x3F, 0xF4, 0x1A, 0x88, 0x59, 0x8B, 0x7F, 0xD1, 0x3C,\r
+               0x96, 0xDA, 0x69, 0x2A, 0x10, 0x31, 0x04, 0x53, 0xE5, 0x0A, 0x89, 0x49, 0xCD, 0x0B, 0xE3, 0x48,\r
+               0xFD, 0x80, 0x58, 0x1B, 0x38, 0xCA, 0xD7, 0x7B, 0x17, 0x23, 0x52, 0x60, 0x33, 0xF2, 0xE4, 0xB1,\r
+               0x39, 0xB6, 0xAA, 0xE9, 0x0E, 0xFE, 0xD5, 0x4D, 0x81, 0x78, 0x9F, 0x3B, 0xA0, 0xD8, 0x5D, 0x9B,\r
+               0x44, 0x13, 0x72, 0x31, 0x34, 0x56, 0x47, 0x77, 0xCF, 0x6F, 0xC6, 0x2C, 0x38, 0xD5, 0xC8, 0x96,\r
+               0xC1, 0x30, 0xD4, 0x97, 0x4B, 0xA7, 0xC9, 0x08, 0xD0, 0x87, 0x31, 0xC4, 0xBB, 0xFB, 0x65, 0xB8,\r
+               0x25, 0x14, 0x14, 0x57, 0x2A, 0x99, 0x96, 0x69, 0x3C, 0xFD, 0xA7, 0xBE, 0xA5, 0x88, 0x08, 0xCB,\r
+               0x41, 0x02, 0x66, 0x25, 0x17, 0x6E, 0x5C, 0x54, 0x97, 0x91, 0x60, 0xD2, 0xCE, 0x2D, 0xC6, 0x6E,\r
+               0x1F, 0xE0, 0xDA, 0x99, 0x91, 0x98, 0x2C, 0xD2, 0x40, 0x9E, 0xB8, 0xDD, 0x37, 0xB2, 0xA0, 0xF1,\r
+               0x72, 0xFE, 0xA9, 0xEA, 0x61, 0x1E, 0x5A, 0x22, 0xE2, 0xF3, 0x77, 0xB0, 0x9B, 0x7B, 0xC5, 0x38,\r
+               0xB1, 0x36, 0xA2, 0xE1, 0x95, 0x8C, 0x3C, 0xD6, 0xC3, 0x7A, 0xDF, 0x39, 0xF4, 0x9E, 0x4F, 0xDD,\r
+               0x15, 0xBD, 0x8D, 0xCE, 0xD1, 0xDC, 0x28, 0x92, 0x27, 0xBA, 0xFB, 0xF9, 0x69, 0xC3, 0x8F, 0x80,\r
+               0x19, 0xA4, 0x98, 0xDB, 0xF3, 0xED, 0x3B, 0xB0, 0xCC, 0x39, 0x93, 0x7A, 0x1E, 0x23, 0x18, 0x60,\r
+               0x0A, 0x4A, 0x65, 0x26, 0x75, 0x1B, 0x4B, 0x36, 0xF7, 0x4C, 0xDD, 0x0F, 0x51, 0x46, 0x32, 0x05,\r
+               0x8B, 0xC2, 0x6C, 0x2F, 0x56, 0x23, 0x50, 0x15, 0x3A, 0xBF, 0xE3, 0xFC, 0x0D, 0x01, 0x29, 0x42,\r
+               0xB7, 0x72, 0xE0, 0xA3, 0x30, 0x42, 0x57, 0x73, 0x1C, 0xCF, 0xB5, 0x8C, 0x5D, 0x07, 0x7F, 0x44,\r
+               0x4B, 0x5F, 0x31, 0x72, 0xA0, 0xF3, 0x76, 0xE3, 0x03, 0x27, 0x42, 0x64, 0x10, 0x54, 0x61, 0x17,\r
+               0x1A, 0xF1, 0xCE, 0x8D, 0x8F, 0x57, 0xFD, 0xCC, 0xC0, 0x2C, 0x8A, 0x6F, 0x58, 0x57, 0x2A, 0x14,\r
+               0xEE, 0x6E, 0xA5, 0xE6, 0x41, 0x6D, 0x09, 0x02, 0x10, 0xDA, 0xAC, 0x99, 0x6D, 0x83, 0xCB, 0xC0,\r
+               0xEC, 0x81, 0x48, 0x0B, 0x90, 0x91, 0x24, 0xD3, 0xA5, 0xE5, 0x26, 0xA6, 0x8D, 0x09, 0xA1, 0x4A,\r
+               0x9E, 0x68, 0xD3, 0x90, 0xC5, 0xD9, 0x39, 0x86, 0x62, 0x41, 0x45, 0x02, 0xB1, 0xCC, 0x58, 0x8F,\r
+               0x77, 0xEF, 0xBD, 0xFE, 0x18, 0xB9, 0x84, 0x5B, 0x6F, 0xEF, 0xE6, 0xAC, 0xE8, 0xDB, 0x16, 0x98,\r
+               0xAE, 0xC1, 0x4A, 0x09, 0xDF, 0x02, 0xF8, 0x9C, 0xD2, 0x6A, 0xDE, 0x29, 0x56, 0x20, 0x53, 0x63,\r
+               0xBB, 0x6B, 0xF5, 0xB6, 0x97, 0xCE, 0x7C, 0xD4, 0x7A, 0x50, 0x4C, 0x13, 0xEC, 0x9B, 0x52, 0xD8,\r
+               0x7E, 0xE7, 0xBC, 0xFF, 0x32, 0x00, 0x17, 0x71, 0x12, 0x37, 0x43, 0x74, 0x0F, 0x37, 0x1D, 0x74,\r
+               0x68, 0x18, 0x55, 0x16, 0xE6, 0xE1, 0x22, 0xA5, 0xDE, 0x7F, 0xC7, 0x3C, 0x08, 0x51, 0x7C, 0x12,\r
+               0xB2, 0x63, 0xF4, 0xB7, 0x52, 0x37, 0x40, 0x11, 0xF5, 0xA1, 0x32, 0xE2, 0x71, 0xC6, 0x92, 0x85,\r
+               0x5B, 0xE4, 0x9A, 0xD9, 0x73, 0x4D, 0x1B, 0x30, 0x22, 0xAE, 0xEA, 0xED, 0xD6, 0x28, 0xDB, 0x6B,\r
+               0x83, 0x70, 0xD6, 0x95, 0xFF, 0x71, 0xAB, 0xBC, 0xD8, 0x3D, 0x83, 0x7E, 0x20, 0xD0, 0xD5, 0x93,\r
+               0xBF, 0xC0, 0x5A, 0x19, 0x42, 0x26, 0x41, 0x01, 0x5F, 0x76, 0x4F, 0x35, 0x97, 0x3A, 0x88, 0x79,\r
+               0x8D, 0x86, 0x2E, 0x6D, 0x53, 0x3E, 0x48, 0x10, 0x6B, 0x40, 0x4D, 0x03, 0x59, 0x47, 0x3B, 0x04,\r
+               0x89, 0x25, 0xCB, 0x4E, 0xC2, 0x01, 0x2C, 0xCF, 0x96, 0x32, 0x46, 0xA8, 0xD3, 0x3D, 0xAF, 0x9E,\r
+               0xB1, 0xA0, 0x4E, 0xF3, 0x39, 0xBF, 0xD7, 0x8A, 0xB8, 0xEB, 0xB1, 0x5F, 0x14, 0xFA, 0xD3, 0x25,\r
+               0x12, 0x0E, 0xE0, 0xFE, 0x2E, 0xE6, 0xC0, 0xC4, 0x3F, 0x02, 0xDF, 0x31, 0xC9, 0x27, 0x6E, 0x45,\r
+               0x71, 0xAA, 0x44, 0x39, 0xEB, 0xDA, 0x05, 0x3D, 0xD6, 0x70, 0x44, 0xAA, 0x9C, 0x72, 0x73, 0x0D,\r
+               0xFB, 0x95, 0x7B, 0x8C, 0x61, 0x3A, 0x8F, 0x57, 0x39, 0x72, 0xA9, 0x47, 0x4D, 0xA3, 0x5E, 0xF1,\r
+               0xDD, 0x63, 0x8D, 0x5C, 0xB5, 0x0F, 0x5B, 0xB6, 0xA6, 0x86, 0xC2, 0x2C, 0x83, 0x6D, 0xAA, 0xCB,\r
+               0x15, 0x68, 0x86, 0x9F, 0xB6, 0x47, 0x58, 0xFD, 0x08, 0xD7, 0x3D, 0xD3, 0xAC, 0x42, 0x21, 0x6F,\r
+               0xE2, 0x80, 0x6E, 0x80, 0xE5, 0x0A, 0x0B, 0xE3, 0x25, 0x2B, 0xEC, 0x02, 0x3C, 0xD2, 0x00, 0xDE,\r
+               0x1A, 0x0F, 0xE1, 0xF7, 0xA5, 0x0E, 0x4B, 0xA7, 0xD1, 0x11, 0x22, 0xCC, 0x5F, 0xB1, 0x1F, 0xA2,\r
+               0x18, 0x39, 0xD7, 0xC3, 0xD8, 0xC0, 0x36, 0x14, 0x97, 0x23, 0x56, 0xB8, 0x4E, 0xA0, 0x16, 0xBA,\r
+               0xD4, 0x72, 0x9C, 0x44, 0x32, 0x77, 0xDC, 0x49, 0x27, 0x1F, 0xDA, 0x34, 0xF3, 0x1D, 0xFC, 0xED,\r
+               0xBD, 0xE1, 0x0F, 0xBE, 0xCA, 0x81, 0x24, 0x47, 0xB3, 0xC7, 0x96, 0x78, 0x7F, 0x91, 0x4C, 0xD1,\r
+               0x65, 0xEE, 0x00, 0x69, 0x24, 0x26, 0xCA, 0x0E, 0x34, 0x2E, 0xF8, 0x16, 0x5E, 0xB0, 0x17, 0xAB,\r
+               0x90, 0x30, 0xDE, 0x42, 0xB3, 0x5F, 0x5D, 0xE0, 0x4F, 0xF4, 0x59, 0xB7, 0xEA, 0x04, 0x75, 0x7D,\r
+               0x14, 0x78, 0x96, 0x8E, 0xD5, 0x58, 0x3B, 0x81, 0xB0, 0xE2, 0xB0, 0x5E, 0x3E, 0xD0, 0x40, 0x9C,\r
+               0x1B, 0x1F, 0xF1, 0xE6, 0x79, 0xBB, 0x97, 0xCE, 0x3C, 0x27, 0xF9, 0x17, 0x9B, 0x75, 0x2B, 0x52,\r
+               0xF0, 0xB2, 0x5C, 0xA0, 0x6A, 0xF2, 0x84, 0x94, 0x43, 0xB9, 0x18, 0xF6, 0x26, 0xC8, 0xC1, 0x05,\r
+               0x66, 0xC8, 0x26, 0x4C, 0x19, 0xEC, 0xF7, 0xF9, 0x67, 0x5D, 0xD8, 0x36, 0x47, 0xA9, 0x9E, 0x3B,\r
+               0x91, 0x20, 0xCE, 0x53, 0x37, 0x6F, 0xD9, 0x54, 0x44, 0xD8, 0x7E, 0x90, 0x38, 0xD6, 0x10, 0xCA,\r
+               0xC8, 0x37, 0xD9, 0x1D, 0x3A, 0xF7, 0xD4, 0xC1, 0xE1, 0xA5, 0xA6, 0x48, 0x02, 0xEC, 0x82, 0x62,\r
+               0x05, 0x6C, 0x82, 0x8B, 0x10, 0x64, 0xFE, 0x78, 0xD7, 0x61, 0x54, 0xBA, 0x34, 0xDA, 0x80, 0x56,\r
+               0xDE, 0x45, 0xAB, 0x79, 0xE9, 0x9A, 0x07, 0x7F, 0x8D, 0x0A, 0x65, 0x8B, 0x1C, 0xF2, 0x53, 0xAD,\r
+               0xDF, 0x55, 0xBB, 0x68, 0x9D, 0xDC, 0x73, 0x4D, 0x52, 0xBC, 0x0C, 0xE2, 0x70, 0x9E, 0x94, 0x06,\r
+               0x4E, 0x49, 0xA7, 0xE5, 0x59, 0xE8, 0xB7, 0xBD, 0x13, 0xEF, 0x1E, 0xF0, 0xB3, 0x5D, 0xF8, 0xA9,\r
+               0xB4, 0xF0, 0x1E, 0xA6, 0xE3, 0x5A, 0x0D, 0xB5, 0x95, 0x17, 0x60, 0x8E, 0x5A, 0xB4, 0x07, 0xBF,\r
+               0x8A, 0x03, 0xED, 0x6B, 0xA4, 0x06, 0x4A, 0xAE, 0x1D, 0x96, 0x69, 0x87, 0x79, 0x97, 0x1C, 0x87,\r
+               0xC4, 0x76, 0x98, 0x50, 0xC1, 0x49, 0x2F, 0x84, 0xF3, 0x85, 0x94, 0x7A, 0xFF, 0x11, 0x6C, 0x71,\r
+               0xAC, 0xF5, 0x1B, 0xBB, 0x21, 0x3E, 0xCF, 0x13, 0xEA, 0x89, 0x81, 0x6F, 0xDD, 0x33, 0x7F, 0x40,\r
+               0x88, 0x35, 0xDB, 0x5F, 0x7C, 0xA3, 0x92, 0xD3, 0x61, 0x2D, 0xAE, 0x40, 0x99, 0x77, 0x6B, 0x10,\r
+               0x20, 0xBC, 0x52, 0x7E, 0x99, 0xCC, 0x77, 0x59, 0xA9, 0xEE, 0xA5, 0x4B, 0x6D, 0x83, 0x0D, 0x82,\r
+               0xEF, 0xD1, 0x3F, 0xDC, 0x50, 0x60, 0xBE, 0x3C, 0xB7, 0x83, 0xD6, 0x38, 0x9D, 0x73, 0x7B, 0x04,\r
+               0x37, 0xDE, 0x30, 0x0B, 0xCF, 0x99, 0x21, 0x5A, 0x55, 0xDD, 0x6A, 0x84, 0x1B, 0xF5, 0x0B, 0xF2,\r
+               0x57, 0x5C, 0xB2, 0xE9, 0x22, 0x76, 0xCC, 0x58, 0x68, 0x35, 0xBF, 0x51, 0x9E, 0x70, 0x33, 0x4F,\r
+               0xF6, 0xC4, 0x2A, 0xD0, 0x9A, 0x84, 0x74, 0x12, 0x0C, 0x93, 0x7D, 0x93, 0xBD, 0x53, 0x28, 0x77,\r
+               0xB2, 0x86, 0x68, 0xD6, 0x7D, 0xAB, 0x93, 0xDA, 0xF1, 0xB1, 0xA2, 0x4C, 0xA1, 0x4F, 0xB9, 0xFA,\r
+               0x42, 0x08, 0xE6, 0xA8, 0x5B, 0xA8, 0xB5, 0xFF, 0xC7, 0x75, 0x50, 0xBE, 0xE4, 0x0A, 0xA5, 0xA3,\r
+               0x79, 0xAB, 0x45, 0x30, 0x29, 0xBE, 0xC7, 0x9B, 0x9F, 0x2A, 0x57, 0xB9, 0x1D, 0xF3, 0x5B, 0xA4,\r
+               0xAD, 0xE5, 0x0B, 0xAA, 0x0E, 0xB5, 0xE0, 0xB7, 0xBA, 0xDF, 0x87, 0x69, 0xE2, 0x0C, 0xF5, 0xF5,\r
+               0xB6, 0xC6, 0x28, 0x92, 0xC4, 0x51, 0x2A, 0x99, 0x32, 0x5E, 0x8E, 0x60, 0xF6, 0x18, 0xE4, 0xF0,\r
+               0xFF, 0xD5, 0x3B, 0xC8, 0x89, 0xCD, 0x67, 0x48, 0x7D, 0x74, 0xEB, 0x05, 0x88, 0x66, 0x62, 0x08,\r
+               0x41, 0x2E, 0xC0, 0x8D, 0x2F, 0xEE, 0xC1, 0xCD, 0xE3, 0x91, 0x90, 0x7E, 0x8C, 0x62, 0x72, 0x1C,\r
+               0x8E, 0x43, 0xAD, 0x2F, 0x56, 0x30, 0xB8, 0x6A, 0x78, 0x21, 0xBB, 0x55, 0x41, 0xAF, 0xCE, 0x6D,\r
+               0xE5, 0xE6, 0x08, 0xE1, 0x85, 0x5D, 0x6B, 0xD4, 0xC3, 0x31, 0x10, 0xFE, 0xE8, 0x06, 0x35, 0x3F,\r
+               0x48, 0x3F, 0xD1, 0x95, 0x58, 0xE0, 0xB6, 0xB4, 0x6A, 0x01, 0x89, 0x67, 0xDB, 0x35, 0x2F, 0x16,\r
+               0x2A, 0x8B, 0x65, 0x43, 0x15, 0x7C, 0xFB, 0x65, 0x2D, 0x22, 0xED, 0x03, 0x75, 0x9B, 0x8C, 0x1B,\r
+               0xC5, 0x66, 0x88, 0x41, 0x5A, 0xA0, 0xB4, 0xF6, 0xCA, 0x29, 0x01, 0xEF, 0xCE, 0x20, 0x36, 0x1A,\r
+               0x23, 0x9A, 0x74, 0x5B, 0xA1, 0x1E, 0x4F, 0xB3, 0x9D, 0x1E, 0x61, 0x8F, 0xD0, 0x3E, 0xE7, 0xD5,\r
+               0x9C, 0x71, 0x9F, 0x0F, 0x46, 0x31, 0xA8, 0x7B, 0x5C, 0xC5, 0x7B, 0x95, 0xE7, 0x09, 0xED, 0xE8,\r
+               0x7E, 0xCD, 0x23, 0x51, 0xE7, 0x4A, 0x09, 0xA1, 0x4B, 0xB0, 0x19, 0xF7, 0xE9, 0x07, 0x3D, 0x36,\r
+               0xA7, 0xD2, 0x3C, 0x97, 0x12, 0x24, 0xFC, 0x3A, 0xC2, 0x20, 0x00, 0xEE, 0x85, 0x6B, 0xFA, 0x9D,\r
+               0x70, 0xBA, 0x54, 0x28, 0xC7, 0x19, 0x29, 0xD2, 0xA1, 0xE7, 0xA4, 0x4A, 0x3A, 0xD4, 0x50, 0x88,\r
+               0x04, 0x7C, 0x92, 0x9A, 0xCD, 0xD9, 0x23, 0x18, 0x6D, 0x60, 0xEF, 0x01, 0x0A, 0xE4, 0x02, 0xEA,\r
+               0x3B, 0x9F, 0x71, 0x46, 0xC9, 0xC9, 0x27, 0x0C, 0x03, 0xFB, 0x1A, 0xF4, 0x28, 0xC6, 0x11, 0xDB,\r
+               0xD0, 0x32, 0xDC, 0x00, 0x41, 0x69, 0xAF, 0x24, 0xA4, 0xB2, 0xF4, 0x1A, 0x42, 0xAC, 0x86, 0x26,\r
+               0xF9, 0xA3, 0x4D, 0xB8, 0x2B, 0xFE, 0xC5, 0xD9, 0x83, 0x73, 0x12, 0xFC, 0xE3, 0x0D, 0xFD, 0xFC,\r
+               0xDB, 0x15, 0xFB, 0x2C, 0xF9, 0x9B, 0x17, 0x6E, 0x38, 0x63, 0xB9, 0x57, 0x64, 0x8A, 0x85, 0x03,\r
+               0xD8, 0x33, 0xDD, 0x09, 0x1C, 0xF4, 0xF2, 0xE4, 0x8F, 0x3E, 0x53, 0xBD, 0x82, 0x6C, 0xA2, 0xC2,\r
+               0x09, 0x2D, 0xC3, 0xC6, 0xA2, 0x56, 0x4C, 0xF8, 0x63, 0x19, 0x98, 0x76, 0xC3, 0x2D, 0xAE, 0x8F,\r
+               0x74, 0xFA, 0x14, 0x6C, 0x80, 0x45, 0x6E, 0xC9, 0x8B, 0x7A, 0x13, 0xFD, 0x31, 0xDF, 0x98, 0x4B,\r
+               0xE9, 0xA7, 0x49, 0xAC, 0xE8, 0x92, 0x06, 0x76, 0xBC, 0xAF, 0xF1, 0x1F, 0x52, 0xBC, 0x87, 0x37,\r
+               0xD5, 0x62, 0x8C, 0x55, 0x25, 0x2E, 0xCB, 0x07, 0x46, 0xEC, 0x48, 0xA6, 0x51, 0xBF, 0xCF, 0x7C,\r
+               0xD2, 0x04, 0xEA, 0x34, 0x94, 0x54, 0x7A, 0xCC, 0xC6, 0x64, 0x40, 0xAE, 0x8A, 0x64, 0x22, 0x4A,\r
+               0x2C, 0xFD, 0x13, 0x33, 0xC5, 0x59, 0x2B, 0x90, 0x29, 0x66, 0xAD, 0x43, 0x16, 0xF8, 0x93, 0x67,\r
+               0x4D, 0x6F, 0x81, 0xC0, 0x63, 0x7A, 0x8D, 0x15, 0xEB, 0x98, 0x91, 0x7F, 0x11, 0xFF, 0xCB, 0x38,\r
+               0x08, 0xF1, 0xA4, 0x7A, 0x70, 0x51, 0xA8, 0xF7, 0xD8, 0x5F, 0x21, 0x51, 0x4A, 0xA5, 0xB3, 0xC0,\r
+               0xE8, 0x11, 0x33, 0x0D, 0x9B, 0xD2, 0x2B, 0x9F, 0xFA, 0x4C, 0x03, 0x60, 0x5F, 0xA9, 0xA6, 0xD9,\r
+               0x2A, 0xD3, 0x95, 0x69, 0x86, 0xD7, 0x2E, 0x87, 0x7D, 0x34, 0x84, 0x9F, 0xBE, 0x37, 0x47, 0xA6,\r
+               0x6D, 0x94, 0x8E, 0x35, 0x4B, 0x24, 0xDD, 0xB9, 0x5E, 0x2F, 0xA7, 0xA7, 0xB7, 0xB6, 0x4E, 0x2E,\r
+               0x99, 0x60, 0x1C, 0x53, 0xFC, 0xF6, 0x0F, 0xDC, 0xBA, 0x48, 0x43, 0x24, 0x08, 0xA3, 0xF1, 0x84,\r
+               0x06, 0xFF, 0x7A, 0xAA, 0x2B, 0xF9, 0x00, 0x04, 0x3C, 0x38, 0xC5, 0xD2, 0xB4, 0xFD, 0x4D, 0x66,\r
+               0xB5, 0x4C, 0xF3, 0x90, 0x7F, 0x12, 0xEB, 0xBB, 0xBE, 0x58, 0x47, 0x30, 0x70, 0x0D, 0x89, 0x52,\r
+               0x50, 0xA9, 0x79, 0xFF, 0x5E, 0x9B, 0x62, 0x13, 0x4A, 0x3E, 0xB3, 0xA2, 0x7B, 0xCE, 0x82, 0x9A,\r
+               0xFE, 0x07, 0x74, 0x5C, 0x73, 0x07, 0xFE, 0xA2, 0x1F, 0x23, 0xE6, 0xEA, 0xA0, 0xF8, 0x59, 0x77,\r
+               0xF3, 0x0A, 0xE1, 0xC4, 0x3D, 0x10, 0xE9, 0xFB, 0x25, 0xB1, 0xDC, 0x42, 0x78, 0x85, 0x81, 0xD2,\r
+               0xA3, 0x5A, 0xB4, 0xC1, 0x80, 0x95, 0x6C, 0xC3, 0x01, 0xF2, 0xF8, 0x25, 0xC6, 0x99, 0x3F, 0x70,\r
+               0xD0, 0x29, 0xD9, 0xDF, 0x6C, 0xEF, 0x16, 0x55, 0x60, 0xAD, 0x99, 0x1B, 0x06, 0x7D, 0xFF, 0x54,\r
+               0x54, 0xAD, 0x6D, 0xEF, 0x48, 0x72, 0x8B, 0xEC, 0x57, 0xA7, 0xAE, 0x26, 0xD2, 0x9C, 0x2B, 0x61,\r
+               0x90, 0x69, 0x9D, 0xDB, 0xC5, 0x6E, 0x97, 0x7D, 0x94, 0xCB, 0x6D, 0x89, 0xC0, 0xCF, 0x39, 0x20,\r
+               0xD9, 0x20, 0x58, 0x57, 0xAB, 0x4B, 0xB2, 0x36, 0x13, 0xB3, 0xEA, 0x76, 0x8A, 0x41, 0x73, 0xE4,\r
+               0x20, 0xD9, 0x5F, 0xA9, 0x59, 0x62, 0x9B, 0xED, 0x3B, 0x60, 0xC2, 0x8D, 0xBB, 0x2A, 0x42, 0xBE,\r
+               0xFB, 0x02, 0x69, 0x44, 0x64, 0x55, 0xAC, 0xE7, 0xD4, 0xCF, 0x2D, 0xCD, 0x04, 0x3F, 0xFD, 0x14,\r
+               0x03, 0xFA, 0x67, 0xB2, 0x9E, 0xC6, 0x3F, 0x8E, 0x58, 0x7F, 0xA1, 0xF1, 0x48, 0xE7, 0xB1, 0x80,\r
+               0x6C, 0x95, 0x87, 0x3D, 0xD7, 0x28, 0xD1, 0x29, 0x78, 0x2C, 0x81, 0x82, 0xFC, 0x31, 0x05, 0xE2,\r
+               0x11, 0xE8, 0x34, 0xF3, 0xE3, 0x1E, 0xE7, 0x2B, 0x69, 0x25, 0x90, 0x9A, 0x88, 0x03, 0x71, 0xA4,\r
+               0x1C, 0xE5, 0xA1, 0x6B, 0xAE, 0x5F, 0xA6, 0x27, 0x19, 0x73, 0xE0, 0xBC, 0x6E, 0xC2, 0x97, 0x83,\r
+               0xB0, 0x49, 0xEE, 0x88, 0xC6, 0x38, 0xC1, 0x28, 0xBC, 0x18, 0x45, 0x72, 0x27, 0x07, 0xDE, 0x0F,\r
+               0xED, 0x14, 0x2E, 0x15, 0x49, 0xC9, 0x30, 0x56, 0x79, 0x24, 0x80, 0x8B, 0x26, 0x0E, 0xDF, 0x07,\r
+               0x7A, 0x83, 0xC0, 0x6C, 0x62, 0x17, 0xEE, 0xA3, 0xCD, 0x46, 0x34, 0x5D, 0x87, 0xD4, 0x7E, 0x7C,\r
+               0xE7, 0x1E, 0xE4, 0xD5, 0xDE, 0x29, 0xD0, 0x21, 0xEE, 0x5D, 0x17, 0x65, 0x01, 0x22, 0xF8, 0x0C,\r
+               0x22, 0xDB, 0x1D, 0xE9, 0x19, 0x8D, 0x74, 0x42, 0xBB, 0x40, 0x42, 0x2D, 0x9A, 0x50, 0x63, 0xE5,\r
+               0x0B, 0xF2, 0xEF, 0x32, 0x6E, 0x02, 0xFB, 0xBA, 0xF4, 0x9C, 0x0D, 0xBE, 0x98, 0x12, 0x61, 0xA5,\r
+               0xF0, 0x09, 0xAA, 0x8C, 0xD3, 0x87, 0x7E, 0x82, 0x33, 0xE0, 0xCA, 0x05, 0x6F, 0xCB, 0x96, 0x8B,\r
+               0x7F, 0x86, 0xDD, 0x74, 0xBF, 0x4F, 0xB6, 0x26, 0x8B, 0x12, 0x72, 0x4F, 0xE3, 0xF7, 0x1A, 0x3B,\r
+               0x2C, 0xD5, 0xC3, 0x39, 0xA0, 0xA7, 0x5E, 0xD1, 0x1B, 0x33, 0xE2, 0xFE, 0x32, 0x0B, 0xCB, 0x16,\r
+               0xA8, 0x51, 0x77, 0x09, 0xAC, 0xB2, 0x4B, 0xC8, 0x6A, 0x6D, 0x93, 0xD1, 0x77, 0x52, 0x8E, 0x0A,\r
+               0x7C, 0x85, 0x96, 0x3C, 0x7C, 0x44, 0xBD, 0xEE, 0xA4, 0x99, 0x5D, 0xEB, 0x1C, 0xA6, 0xE5, 0x95,\r
+               0x49, 0xB0, 0xE9, 0x76, 0x4C, 0xDD, 0x24, 0x47, 0x16, 0xAB, 0xEF, 0x6B, 0xCD, 0x5A, 0x34, 0xB8,\r
+               0x21, 0xD8, 0x56, 0xA1, 0x8C, 0x80, 0x79, 0xDA, 0x75, 0xB4, 0x8C, 0x17, 0x2F, 0x8F, 0xD6, 0x8F,\r
+               0xD5, 0x2C, 0xC4, 0xC7, 0x29, 0x14, 0xED, 0xEB, 0xA5, 0x91, 0x5C, 0xE2, 0x8D, 0x1E, 0x74, 0xBC,\r
+               0x6B, 0x92, 0xD8, 0x65, 0xE6, 0x0A, 0xF3, 0x3A, 0xE4, 0x9D, 0x1D, 0xAF, 0x46, 0x39, 0xBF, 0x50,\r
+               0x0C, 0xF5, 0xB0, 0x6A, 0x13, 0xDA, 0x23, 0x1F, 0x31, 0xA0, 0xC8, 0x47, 0x73, 0x46, 0x8A, 0x1A,\r
+               0xAA, 0x53, 0x35, 0x49, 0xE0, 0x48, 0xB1, 0x7E, 0x36, 0xF8, 0xCF, 0x18, 0x4F, 0xB8, 0xB6, 0xD8,\r
+               0xEC, 0x15, 0x27, 0x1D, 0x75, 0x45, 0xBC, 0xE6, 0x76, 0xFC, 0x8F, 0x5C, 0x96, 0xCC, 0x6F, 0x75,\r
+               0x5D, 0xA4, 0xEC, 0x67, 0x14, 0x23, 0xDA, 0xE1, 0xAD, 0x11, 0x54, 0x6A, 0x9E, 0x44, 0x67, 0xF5,\r
+               0x0E, 0xF7, 0xF2, 0x2A, 0x08, 0x9D, 0x64, 0x43, 0x1D, 0x63, 0xE4, 0xA8, 0x7A, 0xC7, 0x83, 0x92,\r
+               0x04, 0xFD, 0x38, 0xEA, 0xBA, 0x5B, 0xA2, 0x37, 0x2D, 0x31, 0xD4, 0xCA, 0x31, 0x40, 0xC8, 0x5E,\r
+               0x2E, 0xD7, 0x81, 0x79, 0x71, 0xEA, 0x13, 0x4D, 0xCE, 0x0E, 0x37, 0x16, 0xC7, 0x90, 0x3E, 0x78,\r
+               0xDB, 0x22, 0x1A, 0x17, 0xB7, 0xF5, 0x0C, 0x94, 0xA2, 0xC9, 0x5B, 0xBD, 0xDE, 0x00, 0x27, 0xF1,\r
+               0xE2, 0x1B, 0xF9, 0xCD, 0x98, 0x84, 0x7D, 0xCA, 0xC4, 0xCE, 0x3D, 0xDC, 0xCC, 0x53, 0x35, 0xB0,\r
+               0x30, 0xC9, 0x4E, 0xA8, 0x0C, 0x32, 0xCB, 0xE8, 0x43, 0xB6, 0xBA, 0x23, 0x67, 0x43, 0x9E, 0x0B,\r
+               0x00, 0xF9, 0x2C, 0xFA, 0x66, 0xB8, 0x41, 0x08, 0x0F, 0x22, 0xF6, 0xFB, 0xC4, 0xDB, 0x3D, 0x30,\r
+               0x88, 0x71, 0x04, 0x5A, 0x20, 0x15, 0xEC, 0xE3, 0x65, 0xB5, 0x9C, 0x06, 0x2A, 0x92, 0xD3, 0x97,\r
+               0x4C, 0xB5, 0xF4, 0x6E, 0xC1, 0xC1, 0x38, 0xD6, 0xCF, 0x06, 0x36, 0x1F, 0xCE, 0x11, 0x37, 0xF0,\r
+               0x91, 0x68, 0x94, 0xD3, 0xB5, 0x18, 0xE1, 0x7B, 0xFC, 0x1C, 0x05, 0x36, 0x57, 0x21, 0xAE, 0x59,\r
+               0xE6, 0x1F, 0xED, 0xDD, 0xAD, 0x09, 0xF0, 0x72, 0xAB, 0x41, 0x52, 0x3C, 0x4E, 0xB1, 0xB7, 0xD0,\r
+               0x9F, 0x66, 0x4A, 0x03, 0x0F, 0x64, 0x9D, 0xBD, 0x66, 0xFD, 0x9F, 0x4D, 0x65, 0x01, 0x9C, 0x4B,\r
+               0x68, 0x91, 0x93, 0x2D, 0x7B, 0xBD, 0x44, 0x10, 0xF7, 0xD4, 0x0E, 0xF5, 0xBF, 0x3E, 0x46, 0xAE,\r
+               0x8F, 0x76, 0x5B, 0x02, 0x2F, 0x56, 0xAF, 0xAF, 0xC0, 0xDE, 0x39, 0xC8, 0xA5, 0xE5, 0x5C, 0x6F,\r
+               0xDC, 0x25, 0x45, 0x4F, 0x63, 0xAC, 0x55, 0x19, 0x52, 0xBF, 0xAB, 0x3B, 0x33, 0x02, 0xCA, 0x1E,\r
+               0x93, 0x6A, 0xD6, 0x93, 0x61, 0x41, 0xB8, 0xF6, 0xE9, 0x05, 0x10, 0x3A, 0xDF, 0x09, 0x26, 0xF9,\r
+               0xB4, 0x4D, 0xFA, 0x98, 0xF6, 0xA1, 0x58, 0x81, 0x86, 0x8A, 0x7F, 0xDA, 0x7C, 0x91, 0x85, 0xC2,\r
+               0x92, 0x6B, 0xDF, 0x9B, 0x88, 0x2F, 0xD6, 0x71, 0xC3, 0x96, 0x3A, 0x83, 0x8E, 0x55, 0x77, 0xF4,\r
+               0xEB, 0x12, 0x78, 0x45, 0xC9, 0x7B, 0x82, 0x64, 0xB9, 0x00, 0x40, 0x6F, 0x61, 0x15, 0x98, 0x5B,\r
+               0x53, 0xAA, 0x32, 0xB7, 0xF0, 0xE3, 0x1A, 0xC5, 0x9A, 0x1B, 0x63, 0x57, 0xA3, 0xB3, 0x5A, 0x3F,\r
+               0x0D, 0xF4, 0xB9, 0x62, 0xB2, 0xE1, 0x18, 0x85, 0xD1, 0xD7, 0x28, 0xD0, 0x50, 0x7E, 0xA9, 0x01,\r
+               0x40, 0xB9, 0x68, 0xFE, 0xE8, 0xF2, 0x0B, 0xCC, 0xAF, 0x51, 0x56, 0x28, 0x35, 0x54, 0xCC, 0x4E,\r
+               0xE0, 0x19, 0xBB, 0x8D, 0x10, 0x8C, 0x75, 0x4A, 0x3A, 0x68, 0xC3, 0x84, 0x89, 0x0A, 0x70, 0xAC,\r
+               0xC7, 0x3E, 0x97, 0x86, 0x8A, 0xC2, 0x3B, 0x9E, 0xC5, 0xC6, 0x3C, 0xD5, 0x59, 0xFF, 0xA0, 0x89,\r
+               0x10, 0xB5, 0x8A, 0xBC, 0x5F, 0x2D, 0x60, 0x54, 0xAE, 0xF9, 0x4E, 0x71, 0xFF, 0xC0, 0xD4, 0x32,\r
+               0xAF, 0x5E, 0x61, 0xE8, 0xB8, 0x02, 0x87, 0x9C, 0x6F, 0x22, 0x54, 0x6B, 0xC8, 0xF7, 0xDE, 0x0F,\r
+               0x19, 0xA4, 0x9B, 0xA4, 0xEB, 0x4F, 0xD4, 0x82, 0x1E, 0xC5, 0xC2, 0xFD, 0x5A, 0x65, 0xBF, 0xFC,\r
+               0xF6, 0x49, 0x76, 0xA6, 0xA4, 0x93, 0x9B, 0x11, 0xF9, 0xCE, 0x2E, 0x11, 0xE1, 0xDE, 0x05, 0xFD,\r
+               0xD6, 0xC9, 0xF6, 0x06, 0x7B, 0x6E, 0x44, 0x33, 0xF0, 0xD6, 0x3F, 0x00, 0xC7, 0xF8, 0x06, 0xD8,\r
+               0x7B, 0x10, 0x2F, 0x72, 0xA6, 0xD3, 0x99, 0x53, 0x59, 0xE6, 0xA6, 0x99, 0xF4, 0xCB, 0x1C, 0xF1,\r
+               0x72, 0x01, 0x3E, 0x6A, 0xD1, 0xDD, 0xEE, 0x2A, 0xD0, 0x76, 0xBF, 0x80, 0xA3, 0x9C, 0x41, 0xFB,\r
+               0xBD, 0x6C, 0x53, 0xC8, 0xA8, 0x03, 0x97, 0x8D, 0x4B, 0xC6, 0x94, 0xAB, 0x6E, 0x51, 0xFD, 0x8A,\r
+               0x85, 0xE9, 0xD6, 0x75, 0x3A, 0x62, 0x05, 0x7E, 0x01, 0xB9, 0xA1, 0x9E, 0xD9, 0xE6, 0xD7, 0x17,\r
+               0xCC, 0xFA, 0xC5, 0x2F, 0x77, 0xFE, 0x48, 0xAF, 0x4E, 0x93, 0xC4, 0xFB, 0xA7, 0x98, 0x51, 0xEF,\r
+               0x4A, 0x84, 0xBB, 0xD7, 0xD7, 0x8D, 0xE8, 0x7C, 0xAC, 0xCD, 0x78, 0x47, 0x32, 0x0D, 0x68, 0x43,\r
+               0x9E, 0xCA, 0xF5, 0x4D, 0xF0, 0x86, 0xCF, 0x50, 0x89, 0x38, 0xA8, 0x97, 0xCD, 0xF2, 0xC6, 0x12,\r
+               0x81, 0xA9, 0x96, 0x31, 0x83, 0x98, 0xBC, 0x3D, 0xC2, 0x56, 0x8D, 0xB2, 0x8E, 0xB1, 0x8A, 0x1D,\r
+               0x71, 0x27, 0x18, 0x4F, 0xA5, 0x9B, 0x9A, 0x18, 0xF4, 0x92, 0x7F, 0x40, 0xCB, 0xF4, 0x96, 0x44,\r
+               0x64, 0x73, 0x4C, 0x0E, 0xDC, 0x45, 0xE3, 0xBF, 0x5B, 0xD2, 0x90, 0xAF, 0xB1, 0x8E, 0x00, 0xA8,\r
+               0xC5, 0xEB, 0xD4, 0x37, 0x64, 0xB7, 0x5B, 0xF5, 0x3F, 0x74, 0x52, 0x6D, 0x92, 0xAD, 0x1B, 0x90,\r
+               0x1F, 0xD2, 0xED, 0xD4, 0x3B, 0x6A, 0x04, 0x77, 0x1A, 0x81, 0x82, 0xBD, 0x39, 0x06, 0xA0, 0x80,\r
+               0x7E, 0x40, 0x7F, 0x27, 0x9D, 0x49, 0xA2, 0xF2, 0xD8, 0x7F, 0xBE, 0x81, 0x3E, 0x01, 0xF8, 0xDF,\r
+               0xE6, 0x4D, 0x72, 0xB2, 0xDB, 0x1D, 0xE4, 0xE0, 0x75, 0x0B, 0x67, 0x58, 0x7E, 0x41, 0xFC, 0x9B,\r
+               0xE1, 0x2B, 0x14, 0xD3, 0x6A, 0x67, 0x55, 0x2B, 0xF5, 0x83, 0x6F, 0x50, 0xA5, 0x9A, 0x11, 0xAD,\r
+               0x47, 0xD5, 0xEA, 0x8B, 0x7E, 0x76, 0x41, 0x2E, 0xB8, 0x9D, 0x3C, 0x03, 0x1E, 0x21, 0xAB, 0xAC,\r
+               0xDA, 0x88, 0xB7, 0x4B, 0x16, 0xA1, 0x29, 0x91, 0x8F, 0x48, 0xDE, 0xE1, 0x7D, 0x42, 0xB4, 0xD0,\r
+               0xEB, 0x1C, 0x23, 0xEE, 0xE2, 0xC7, 0xDD, 0x03, 0xBC, 0xD9, 0x7C, 0x43, 0xAD, 0x92, 0x91, 0x25,\r
+               0x3A, 0x02, 0x3D, 0x21, 0x5C, 0x65, 0x63, 0x1F, 0x50, 0xFE, 0xB7, 0x88, 0xEC, 0xD3, 0x9D, 0x68,\r
+               0xCA, 0x8C, 0xB3, 0x5F, 0xD5, 0xCD, 0xEA, 0x3E, 0xB0, 0x94, 0x3D, 0x02, 0xCC, 0xF3, 0xCE, 0x1B,\r
+               0xE8, 0x3A, 0x05, 0xCB, 0x07, 0xA8, 0x38, 0x89, 0x0B, 0x84, 0x96, 0xA9, 0x4B, 0x74, 0xB6, 0xE4,\r
+               0x08, 0xB0, 0x8F, 0xA1, 0x37, 0xFA, 0x08, 0xEB, 0x30, 0x1C, 0x35, 0x0A, 0x07, 0x38, 0x22, 0x3C,\r
+               0xE3, 0x1D, 0x22, 0xE7, 0xBF, 0x5A, 0x80, 0xC3, 0x97, 0x55, 0xDB, 0xE4, 0x6D, 0x52, 0xB5, 0xC1,\r
+               0x43, 0x95, 0xAA, 0xCF, 0x39, 0x2A, 0x06, 0x35, 0x92, 0x00, 0x8B, 0xB4, 0x15, 0x2A, 0x63, 0x6F,\r
+               0x37, 0x53, 0x6C, 0x7D, 0x33, 0xEA, 0x0C, 0xFF, 0x5E, 0x87, 0xC0, 0xFF, 0x25, 0x1A, 0x31, 0x0D,\r
+               0x4D, 0xE2, 0xDD, 0xB6, 0x19, 0x79, 0x26, 0x46, 0x78, 0x57, 0x36, 0x09, 0xC6, 0xF9, 0x0E, 0xD1,\r
+               0x94, 0xFD, 0xC2, 0x70, 0xEC, 0x17, 0xD3, 0xDD, 0xF1, 0xC7, 0x2F, 0x10, 0xAA, 0x95, 0xC9, 0x7A,\r
+               0x27, 0x57, 0x68, 0x69, 0x2B, 0x6B, 0x14, 0x66, 0x83, 0x05, 0x9F, 0xA0, 0x11, 0x2E, 0x73, 0x7B,\r
+               0x28, 0x30, 0x0F, 0x01, 0x87, 0x88, 0xB8, 0x29, 0x0F, 0xC0, 0xD6, 0xE9, 0xB4, 0x8B, 0x18, 0xB5,\r
+               0x56, 0xC1, 0xFE, 0x8E, 0xDA, 0x15, 0xE5, 0xE9, 0x07, 0xC9, 0xD7, 0xE8, 0x71, 0x4E, 0x24, 0x4C,\r
+               0xA3, 0x1F, 0x20, 0xA5, 0x4D, 0x6C, 0x72, 0x07, 0x7C, 0x13, 0x76, 0x49, 0xC5, 0xFA, 0x46, 0x9A,\r
+               0xE7, 0x5D, 0x62, 0xA3, 0xCC, 0x44, 0xF3, 0xAE, 0x14, 0xF8, 0xF5, 0xCA, 0xDC, 0xE3, 0xCF, 0x0A,\r
+               0x8E, 0xCE, 0xF1, 0x59, 0x34, 0xB2, 0x0B, 0xA0, 0x80, 0x20, 0xB9, 0x86, 0x50, 0x6F, 0x7F, 0x36,\r
+               0x29, 0x20, 0x1F, 0x10, 0x5B, 0x3D, 0x64, 0x40, 0xE2, 0xF6, 0x0D, 0x32, 0x70, 0x4F, 0x2C, 0x45,\r
+               0x2B, 0x16, 0x29, 0x24, 0x26, 0xF3, 0x19, 0xF3, 0xA4, 0xC4, 0x79, 0x46, 0x61, 0x5E, 0x25, 0x5D,\r
+               0x26, 0x47, 0x78, 0x78, 0x48, 0x74, 0x77, 0x1A, 0x3B, 0x30, 0x12, 0x2D, 0x83, 0xBC, 0x12, 0x88,\r
+               0xD1, 0xAF, 0x90, 0x67, 0x1B, 0x39, 0x24, 0x04, 0x16, 0xCC, 0xC3, 0xFC, 0x13, 0x2C, 0x33, 0x39,\r
+               0xC8, 0xBA, 0x85, 0x6B, 0x9F, 0x09, 0xA0, 0xB0, 0x0A, 0x95, 0x86, 0xB9, 0x62, 0x5D, 0x6D, 0x16,\r
+               0xEE, 0x4C, 0x73, 0xBB, 0x4B, 0x3C, 0x74, 0x51, 0x95, 0x61, 0xED, 0xD2, 0xAC, 0x93, 0x99, 0x2C,\r
+               0x21, 0x21, 0x1E, 0x19, 0xD0, 0xD5, 0xEF, 0x23, 0x0C, 0xE5, 0xF0, 0xCF, 0xE6, 0xD9, 0x5D, 0xA2,\r
+               0x42, 0x85, 0xBA, 0xDE, 0x15, 0xE9, 0x2A, 0xDA, 0xE5, 0x97, 0x6B, 0x54, 0xB3, 0x8C, 0x40, 0xEA,\r
+               0xBA, 0x0A, 0x35, 0xA9, 0x3C, 0x32, 0x03, 0x28, 0xA5, 0xD5, 0x69, 0x56, 0xFC, 0xC3, 0x9C, 0x79,\r
+               0x82, 0x8F, 0xB0, 0x14, 0xC7, 0x8C, 0xF8, 0x6D, 0x8B, 0x0C, 0x9E, 0xA1, 0x3B, 0x04, 0xE0, 0xC2,\r
+               0xDC, 0xFE, 0xC1, 0x3B, 0xAE, 0x53, 0x91, 0xDB, 0x84, 0x64, 0xF9, 0xC6, 0xB2, 0x8D, 0x48, 0xE3,\r
+               0x04, 0xF1, 0xCE, 0xEC, 0x31, 0xAA, 0x0E, 0xBD, 0x66, 0x3A, 0x45, 0x7A, 0x34, 0x0B, 0x38, 0x15,\r
+               0xBB, 0x1A, 0x25, 0xB8, 0x82, 0x90, 0xBD, 0x34, 0x52, 0xCA, 0x81, 0xBE, 0xB6, 0x89, 0x58, 0xF7,\r
+               0x13, 0x93, 0xAC, 0x99, 0x67, 0xFF, 0x58, 0xBE, 0x9A, 0x09, 0x8A, 0xB5, 0x42, 0x7D, 0x3E, 0x65,\r
+               0xF7, 0x59, 0x66, 0xB7, 0x3F, 0x7A, 0x00, 0x63, 0xC0, 0x62, 0xBB, 0x84, 0xD0, 0xEF, 0x5F, 0x96,\r
+               0x9F, 0xDA, 0xE5, 0x5C, 0xDF, 0x0D, 0xE0, 0xF4, 0xD9, 0x6E, 0xAE, 0x91, 0xF2, 0xCD, 0x4C, 0xA7,\r
+               0x87, 0xDF, 0xE0, 0x41, 0x1D, 0x69, 0x22, 0x52, 0xA6, 0xF0, 0x4F, 0x70, 0x75, 0x4A, 0x34, 0x58,\r
+               0xB9, 0x2C, 0x13, 0x8C, 0x5A, 0x35, 0x65, 0x49, 0x2E, 0x71, 0x46, 0x79, 0x56, 0x69, 0x2F, 0x60,\r
+               0xEC, 0x7A, 0x45, 0x8F, 0x63, 0xEF, 0x5C, 0xAA, 0x61, 0x5B, 0x23, 0x1C, 0x5F, 0x60, 0xA7, 0xE1,\r
+               0x7D, 0x66, 0x59, 0x02, 0xA7, 0xDB, 0x98, 0x5A, 0x20, 0x08, 0x31, 0x0E, 0x9C, 0xA3, 0xCB, 0x4E,\r
+               0x36, 0x43, 0x7C, 0x6C, 0xEE, 0x57, 0xD1, 0x9F, 0xE4, 0x86, 0x7B, 0x44, 0x1B, 0x24, 0xB3, 0xB1,\r
+               0xED, 0x6A, 0x55, 0x9E, 0x17, 0xA9, 0x28, 0x98, 0xBE, 0xED, 0x4A, 0x75, 0x33, 0x0C, 0x60, 0x4A,\r
+               0xA2, 0x0F, 0x30, 0xB4, 0xC9, 0x5C, 0xF6, 0xB3, 0x77, 0x3F, 0x51, 0x6E, 0x17, 0x28, 0x23, 0x2D,\r
+               0xFB, 0x18, 0x27, 0xFA, 0xC4, 0xC4, 0xFB, 0x26, 0xD2, 0x42, 0x89, 0xB6, 0x2D, 0x12, 0xB1, 0x85,\r
+               0xC3, 0x9D, 0xA2, 0x47, 0x94, 0xC1, 0xAB, 0x73, 0x70, 0x5E, 0x37, 0x08, 0x09, 0x36, 0xF2, 0xE2,\r
+               0x55, 0xE7, 0xD8, 0xAB, 0xE7, 0xDF, 0xD8, 0x1E, 0x54, 0xBA, 0xF7, 0xC8, 0x68, 0x57, 0xAD, 0xDC,\r
+               0x0D, 0xBE, 0xD4, 0xE1, 0xCE, 0x8E, 0x1C, 0x7F, 0x61, 0x18, 0x84, 0xFA, 0x09, 0x98, 0xAE, 0xB0,\r
+               0x1B, 0x6B, 0xD5, 0x53, 0xB3, 0xF0, 0xD7, 0xE6, 0xCC, 0xD0, 0x01, 0xC2, 0x45, 0xFD, 0x55, 0x6F,\r
+               0xB0, 0xC3, 0x6B, 0xC1, 0xFE, 0xD6, 0x20, 0x36, 0x91, 0xAE, 0xBB, 0x91, 0xE4, 0xF3, 0xE2, 0x19,\r
+               0x21, 0x0A, 0xEB, 0x8B, 0xA1, 0x83, 0x63, 0xE1, 0x0B, 0x4F, 0x53, 0xD1, 0x59, 0x9B, 0x86, 0x06,\r
+               0x12, 0xE1, 0x7D, 0x26, 0x52, 0x48, 0xB8, 0xE8, 0x3F, 0x35, 0x7C, 0x3B, 0xAE, 0x9A, 0x03, 0x64,\r
+               0xBD, 0x0F, 0x0E, 0xBE, 0x09, 0xF9, 0x2E, 0x8A, 0xE2, 0x36, 0x4A, 0x24, 0x6E, 0x83, 0x66, 0x27,\r
+               0xE1, 0x68, 0xCC, 0x4E, 0xDE, 0x5D, 0xC2, 0x06, 0x0A, 0xF3, 0x8A, 0xD1, 0xDF, 0x2C, 0x06, 0x0A,\r
+               0x1E, 0x75, 0x48, 0x70, 0x8D, 0xEF, 0x88, 0x2E, 0x7D, 0x9C, 0x1F, 0xF1, 0xE9, 0x0B, 0x33, 0x4C,\r
+               0x3F, 0x97, 0x2B, 0x8E, 0x55, 0xFA, 0xD5, 0xF1, 0x0C, 0xF9, 0x6E, 0x0F, 0x6A, 0x1A, 0x22, 0x7F,\r
+               0xA6, 0xC0, 0xCE, 0x2A, 0x52, 0x1F, 0xAD, 0xB0, 0x68, 0x6B, 0x10, 0xA3, 0xBD, 0x60, 0x23, 0x96,\r
+               0xB9, 0x9A, 0xBB, 0x70, 0xAF, 0xF1, 0x95, 0x9B, 0xFF, 0xA4, 0x8F, 0x5C, 0xB8, 0x78, 0xFC, 0x6C,\r
+               0xCF, 0x6A, 0x49, 0x41, 0xD6, 0x6D, 0x24, 0x7A, 0x37, 0xBA, 0x35, 0x05, 0x10, 0xCE, 0x96, 0x6E,\r
+               0x97, 0xC8, 0xDA, 0xE6, 0x6B, 0xEF, 0x4F, 0xEA, 0x9A, 0x46, 0xEA, 0x81, 0xAA, 0xB4, 0xE3, 0xBF,\r
+               0x0A, 0x46, 0x78, 0x2F, 0xE5, 0x76, 0x66, 0xAB, 0xF1, 0xC0, 0x3D, 0xED, 0x85, 0x47, 0x98, 0xD9,\r
+               0x43, 0xA6, 0x3A, 0x09, 0x38, 0x0B, 0x2B, 0xF2, 0x00, 0xD0, 0x26, 0x45, 0x26, 0xAC, 0x04, 0xA1,\r
+               0xBA, 0x90, 0xAE, 0x38, 0x96, 0xFF, 0xCD, 0x95, 0x73, 0x2E, 0x11, 0x04, 0x97, 0x5A, 0x9F, 0x77,\r
+               0x74, 0xC0, 0x40, 0xF2, 0x44, 0xA4, 0x19, 0x45, 0xFF, 0x57, 0x6D, 0x6B, 0xFE, 0x34, 0xAD, 0x51,\r
+               0xFC, 0x13, 0x67, 0xB9, 0x47, 0x5D, 0x2A, 0xD0, 0x80, 0x26, 0x4C, 0xE1, 0xBA, 0x73, 0xA4, 0x23,\r
+               0x2F, 0x8A, 0x79, 0xE3, 0x39, 0xB6, 0xE5, 0x02, 0xD0, 0x89, 0xED, 0xC2, 0xAA, 0xAB, 0x12, 0xEF,\r
+               0x89, 0x7C, 0xBF, 0xB8, 0x7C, 0x82, 0xDD, 0x3A, 0x77, 0x24, 0x33, 0x2D, 0xBA, 0x96, 0x76, 0x28,\r
+               0x0E, 0xE9, 0xF1, 0x2B, 0xF6, 0x5A, 0xD4, 0x81, 0x43, 0xAD, 0x8B, 0x55, 0xD9, 0x0C, 0xF8, 0x8C,\r
+               0x5B, 0x7A, 0xA6, 0x54, 0xB1, 0x00, 0x25, 0xDE, 0x40, 0xBD, 0xC0, 0x8E, 0x8F, 0xC1, 0xBA, 0xA0,\r
+               0x7D, 0x47, 0x71, 0xB4, 0x5D, 0x91, 0xF4, 0x1D, 0xB4, 0xD9, 0x48, 0x1A, 0xA9, 0xA0, 0x42, 0xA4,\r
+               0xDE, 0x3C, 0x42, 0x97, 0xA5, 0xE1, 0x13, 0x64, 0xBB, 0xBF, 0x28, 0xA0, 0x66, 0x54, 0x58, 0x39,\r
+               0x45, 0x3F, 0x17, 0x3A, 0x93, 0x86, 0xC4, 0xE5, 0xCD, 0xC7, 0x7A, 0xA9, 0x00, 0x36, 0xCC, 0xDA,\r
+               0xD6, 0x4C, 0x0C, 0x72, 0x69, 0x4F, 0x07, 0xDE, 0xC8, 0xCD, 0xD8, 0x4E, 0x6D, 0x08, 0x51, 0xD1,\r
+               0x9C, 0xE7, 0x17, 0x93, 0xFF, 0xA5, 0xC6, 0x7A, 0x9F, 0xA4, 0x16, 0xFC, 0xDD, 0x44, 0x9E, 0x13,\r
+               0x8E, 0xBF, 0xB8, 0x55, 0xA2, 0xAE, 0xB5, 0x9C, 0xAD, 0xD1, 0xFB, 0xD3, 0x8A, 0x69, 0xCB, 0xCC,\r
+               0xD0, 0x17, 0x69, 0xA8, 0x92, 0x37, 0x29, 0x71, 0x37, 0x7A, 0x6C, 0x5D, 0x0E, 0x23, 0xBE, 0x6F,\r
+               0xC5, 0x3D, 0x9F, 0xB1, 0x13, 0x08, 0x85, 0xED, 0xFB, 0xA9, 0xA9, 0xE4, 0x01, 0x6A, 0x6C, 0xCF,\r
+               0xC7, 0xEA, 0x09, 0xD1, 0xC8, 0x13, 0xFF, 0x1E, 0xC2, 0x49, 0xAE, 0xD6, 0x27, 0x5E, 0x2C, 0x19,\r
+               0xBC, 0x21, 0x66, 0x8F, 0xE3, 0x3B, 0xDF, 0x7E, 0xFB, 0x29, 0x76, 0x66, 0x8C, 0xD9, 0xEB, 0xD6,\r
+               0xAF, 0x83, 0x1B, 0xAE, 0x95, 0xC5, 0xA2, 0x37, 0x2D, 0x36, 0x9F, 0x21, 0xD8, 0xF8, 0x0C, 0x8E,\r
+               0xB1, 0x68, 0x37, 0xC7, 0x50, 0x02, 0xDB, 0x5C, 0xAA, 0x6D, 0xC9, 0x01, 0xB9, 0x3C, 0x13, 0x9A,\r
+               0x86, 0xD7, 0x7E, 0x1F, 0x2A, 0x34, 0xDA, 0xF7, 0x8F, 0xE7, 0x79, 0xA3, 0x3C, 0x49, 0x24, 0x48,\r
+               0xD1, 0xDC, 0xD0, 0xFF, 0xD9, 0xC3, 0x05, 0x4E, 0x81, 0xE4, 0x82, 0xCA, 0x3D, 0x1D, 0x75, 0xE2,\r
+               0x39, 0x81, 0xBB, 0x01, 0xD6, 0x70, 0x61, 0x6C, 0xF7, 0x10, 0xF7, 0x3F, 0x5E, 0x7F, 0x5C, 0xAB,\r
+               0x71, 0x11, 0xDC, 0xC3, 0x78, 0xC6, 0x3B, 0x6F, 0xCE, 0x2F, 0xEC, 0xDC, 0x86, 0x9D, 0xDA, 0x7C,\r
+               0xEB, 0x04, 0xE2, 0xB6, 0xD2, 0x58, 0x2D, 0x8F, 0x5F, 0xC3, 0xA8, 0x7C, 0x85, 0x81, 0xFE, 0x80,\r
+               0x8C, 0x39, 0xE4, 0xB1, 0xE3, 0xD5, 0x9E, 0x46, 0xAD, 0xA9, 0xE6, 0x5D, 0x1D, 0x4E, 0xD4, 0x6D,\r
+               0x06, 0xBA, 0xC5, 0x3F, 0xCF, 0xEF, 0xB6, 0x6D, 0xBF, 0x1F, 0xB3, 0x82, 0x7F, 0x56, 0xAD, 0x45,\r
+               0x62, 0x33, 0x5A, 0x3B, 0x7A, 0x07, 0x90, 0xA3, 0xC5, 0x89, 0x59, 0x67, 0x10, 0x0F, 0x46, 0x22,\r
+               0xE2, 0xCD, 0xE1, 0x73, 0x4D, 0xCD, 0x5C, 0xE0, 0xA3, 0xA5, 0xEE, 0x7B, 0x17, 0xE8, 0x2B, 0x44,\r
+               0xFA, 0x73, 0x18, 0x11, 0x58, 0x43, 0xD2, 0x23, 0xEB, 0x90, 0x50, 0x42, 0x93, 0x65, 0xAA, 0x6A,\r
+               0x70, 0x77, 0x9A, 0x96, 0xD1, 0x85, 0x15, 0x22, 0xE9, 0x99, 0x64, 0xC1, 0x51, 0x77, 0x59, 0x5F,\r
+               0xA4, 0x6E, 0xA0, 0xC1, 0x0F, 0xC9, 0x27, 0xFC, 0x0B, 0xAA, 0x80, 0x19, 0x2B, 0xE0, 0x61, 0xFF,\r
+               0xF2, 0x11, 0x92, 0x05, 0xCF, 0x35, 0x37, 0xF0, 0xAC, 0xD9, 0xBE, 0xEC, 0x83, 0x3A, 0xD9, 0x2F,\r
+               0x3E, 0x39, 0x65, 0xC5, 0x67, 0x2B, 0xE7, 0xDA, 0x91, 0xEC, 0xE3, 0xA5, 0x19, 0x55, 0x55, 0x28,\r
+               0x75, 0xA9, 0x20, 0x1A, 0x08, 0x26, 0x72, 0xE1, 0xFD, 0xB2, 0xA7, 0x44, 0x7E, 0x5D, 0x3E, 0x40,\r
+               0xDC, 0xC3, 0x68, 0x5B, 0xAE, 0xD1, 0x18, 0x65, 0xC5, 0x6F, 0x93, 0xB4, 0x1D, 0x40, 0x5E, 0x77,\r
+               0x58, 0x32, 0x0C, 0x4F, 0x88, 0x0F, 0xF5, 0x9A, 0x1F, 0x49, 0x99, 0x29, 0x13, 0x14, 0x6A, 0xBC,\r
+               0xCA, 0x81, 0xBA, 0xDC, 0x36, 0xE3, 0xB7, 0x89, 0x83, 0xFF, 0x02, 0x2C, 0xFB, 0xBF, 0x14, 0x07,\r
+               0x57, 0x5E, 0xF5, 0x51, 0xB4, 0x0E, 0xF9, 0x29, 0xC8, 0x3A, 0x46, 0x37, 0x67, 0xC3, 0x01, 0x2C,\r
+               0x04, 0xE3, 0x65, 0x6C, 0x4C, 0x73, 0xF0, 0x18, 0x73, 0x6C, 0x00, 0x39, 0x05, 0xEF, 0xDB, 0xF8,\r
+               0x51, 0x46, 0x55, 0xBB, 0xD3, 0xE8, 0xD3, 0x5D, 0x17, 0x48, 0x32, 0xE6, 0xAB, 0x7B, 0x6D, 0x9D,\r
+               0xF1, 0x06, 0x66, 0x0D, 0xFE, 0x4D, 0x4B, 0x33, 0x80, 0xBD, 0xC8, 0x13, 0x86, 0xCB, 0xF9, 0xD8,\r
+               0x22, 0x43, 0xE5, 0x12, 0xA5, 0x83, 0x91, 0x11, 0x2D, 0x57, 0x68, 0x5A, 0x43, 0x52, 0x17, 0xDE,\r
+               0xA3, 0x6F, 0x14, 0xBC, 0x38, 0x96, 0x8D, 0xFC, 0x48, 0x02, 0xAA, 0x71, 0x6A, 0x03, 0x3C, 0xF2,\r
+               0xF6, 0x69, 0x59, 0x6F, 0x5D, 0x38, 0x5F, 0x62, 0x10, 0x58, 0xE9, 0xFB, 0xC9, 0x17, 0x6E, 0xB4,\r
+               0x67, 0xF6, 0x79, 0xE1, 0x82, 0xA1, 0x6F, 0x34, 0xB3, 0x59, 0xFE, 0xE2, 0x26, 0xCC, 0x5A, 0x38,\r
+               0xA1, 0xD6, 0x0C, 0xEF, 0x4F, 0x95, 0x92, 0x1A, 0x50, 0x2D, 0x30, 0x87, 0x8F, 0x87, 0xEF, 0x14,\r
+               0xE4, 0x48, 0x14, 0xE1, 0xC5, 0x7E, 0x7E, 0x1F, 0x98, 0x34, 0x4D, 0x50, 0x41, 0xB2, 0x2D, 0xE4,\r
+               0xA5, 0xF3, 0x4B, 0xB8, 0xFD, 0xD4, 0x38, 0x1F, 0x77, 0x9D, 0x94, 0xAA, 0xDC, 0x41, 0x3F, 0xD7,\r
+               0x6B, 0x4D, 0x01, 0xDE, 0x12, 0x69, 0x09, 0x06, 0xEB, 0xC3, 0x42, 0x5A, 0x37, 0x31, 0xEC, 0xF2,\r
+               0xFD, 0xBF, 0xEA, 0x07, 0xA1, 0xC1, 0x3E, 0x10, 0xB7, 0x3E, 0x91, 0xA0, 0x08, 0xD1, 0x58, 0x9E,\r
+               0x38, 0x59, 0x43, 0x31, 0x07, 0xF7, 0x77, 0x78, 0x3D, 0x6D, 0x84, 0x96, 0xC8, 0x7D, 0xF5, 0x5B,\r
+               0x22, 0xC6, 0x9C, 0xDE, 0x2D, 0x4B, 0x8D, 0xFF, 0xDA, 0x83, 0xE8, 0x5E, 0x16, 0x8B, 0xF3, 0xF5,\r
+               0xFA, 0xCB, 0xC5, 0xF0, 0xA0, 0x9E, 0x0A, 0x3A, 0x3F, 0xAA, 0x93, 0x5D, 0xDF, 0xAB, 0x1D, 0xF2,\r
+               0x8C, 0x66, 0x3E, 0xBD, 0xA0, 0x4F, 0x5C, 0xFB, 0x96, 0x5B, 0x82, 0xE0, 0xFE, 0x53, 0xBB, 0xE1,\r
+               0x2E, 0x36, 0x7B, 0xF1, 0x2C, 0x89, 0x62, 0x81, 0x48, 0xD7, 0x11, 0x1B, 0x36, 0x90, 0x38, 0xA7,\r
+               0xAF, 0x90, 0x48, 0xFD, 0x27, 0x47, 0x3D, 0x71, 0xF3, 0xE8, 0xDA, 0xBD, 0x02, 0xE1, 0x44, 0x96,\r
+               0x42, 0x0F, 0xC0, 0x4A, 0xFB, 0x32, 0x10, 0x0C, 0x46, 0x1B, 0xC8, 0xBE, 0x54, 0x92, 0x1C, 0xEB,\r
+               0x94, 0xA3, 0xAD, 0x90, 0x95, 0x38, 0x95, 0x5E, 0x2E, 0xDB, 0x0F, 0x51, 0x35, 0x71, 0x68, 0x29,\r
+               0xDF, 0xFA, 0xE8, 0x24, 0x52, 0x72, 0x58, 0x5E, 0xE5, 0x04, 0x5A, 0x53, 0x4C, 0x80, 0x9F, 0x7E,\r
+               0x7C, 0xAA, 0x58, 0x69, 0x4A, 0x72, 0x00, 0x3F, 0x14, 0x35, 0x8A, 0xC5, 0xB6, 0x47, 0xAA, 0x04,\r
+               0x1C, 0x77, 0xCF, 0xC1, 0x80, 0xD4, 0xF4, 0xEE, 0x77, 0x12, 0x29, 0x6C, 0xA2, 0xA0, 0x09, 0x55,\r
+               0x18, 0xDA, 0x86, 0xDA, 0xA5, 0x81, 0x27, 0x59, 0x3D, 0xA8, 0xA8, 0x41, 0x46, 0x7E, 0xB7, 0x78,\r
+               0x39, 0x39, 0x11, 0xFF, 0x34, 0xD2, 0x60, 0x3E, 0xE3, 0xDD, 0x20, 0x40, 0xD8, 0x4D, 0xC6, 0xD5,\r
+               0x67, 0x5B, 0xA1, 0x13, 0x6D, 0x81, 0xC2, 0xB9, 0x36, 0x01, 0xDD, 0x4C, 0x96, 0x89, 0x5F, 0x6A,\r
+               0xB9, 0xF5, 0x52, 0xAE, 0x30, 0x0E, 0xFF, 0x0F, 0xC8, 0x2A, 0x7B, 0x2D, 0x8E, 0xB1, 0xE4, 0x92,\r
+               0x69, 0xD4, 0x85, 0x9E, 0x2A, 0xAE, 0x13, 0x10, 0x7C, 0xB0, 0x5E, 0x5E, 0x27, 0x32, 0x97, 0xC6,\r
+               0xBE, 0x1D, 0x56, 0x02, 0xBF, 0x05, 0xE0, 0x40, 0xF0, 0x03, 0xC3, 0x78, 0x00, 0x1B, 0xB9, 0x63,\r
+               0x45, 0x2A, 0xA1, 0xEE, 0x42, 0x8A, 0x0E, 0x6C, 0x47, 0x3A, 0xEE, 0xC4, 0x0F, 0x99, 0x4C, 0xFB,\r
+               0x72, 0x61, 0x61, 0x6F, 0xE7, 0x45, 0xF8, 0x59, 0x33, 0xE8, 0x17, 0xE3, 0x8B, 0x7F, 0xEB, 0x90,\r
+               0x44, 0x04, 0x73, 0xC3, 0x69, 0x3B, 0x34, 0xC8, 0xE2, 0x50, 0xF2, 0xE0, 0xF5, 0xF9, 0x0A, 0x5A,\r
+               0x3A, 0x1F, 0x05, 0xCC, 0xE9, 0x13, 0x4E, 0x0E, 0xA8, 0x48, 0x6B, 0x40, 0x9C, 0x81, 0x7B, 0x9F,\r
+               0x61, 0x8D, 0x76, 0xCB, 0x94, 0xDD, 0x9A, 0x23, 0xEE, 0xF3, 0x9B, 0xD4, 0xA0, 0x70, 0xC3, 0x29,\r
+               0xDB, 0x5C, 0xF4, 0x9E, 0x71, 0xAF, 0x2C, 0x62, 0x0D, 0x51, 0xED, 0x91, 0x9E, 0xC1, 0x99, 0x7E,\r
+               0x1E, 0x7F, 0xE8, 0x61, 0x05, 0xBC, 0xD7, 0x2C, 0x35, 0x7D, 0xE9, 0xD8, 0x16, 0x7A, 0xF3, 0xAB,\r
+               0x28, 0xC3, 0xC7, 0x76, 0xAD, 0x63, 0xCE, 0x0A, 0x65, 0x46, 0x46, 0x60, 0xDF, 0xEC, 0xE2, 0xAE,\r
+               0x4B, 0xB2, 0xCB, 0x19, 0x95, 0xA6, 0x5F, 0x60, 0x02, 0xB0, 0x4A, 0x3A, 0x2E, 0xDC, 0x14, 0x7B,\r
+               0xDE, 0x10, 0x25, 0xC8, 0xD9, 0xDD, 0x78, 0x77, 0x94, 0x31, 0xB5, 0x04, 0x87, 0x96, 0xBC, 0xD0,\r
+               0x55, 0xDE, 0xF7, 0x3B, 0x11, 0xC3, 0xA9, 0xB4, 0x42, 0xF9, 0x4F, 0xA4, 0x97, 0x83, 0x8C, 0x19,\r
+               0xD0, 0xCE, 0x4A, 0x65, 0x98, 0x06, 0xCC, 0x59, 0x0E, 0x50, 0x59, 0x92, 0xBA, 0x48, 0x29, 0xE9,\r
+               0x07, 0xDC, 0x19, 0xE4, 0x0A, 0x0A, 0xCF, 0x20, 0x68, 0x3F, 0x75, 0x4C, 0x8B, 0x37, 0x69, 0x7A,\r
+               0xEF, 0x2D, 0x64, 0xD3, 0xFA, 0xF4, 0xA7, 0xB9, 0xF9, 0xD7, 0xE4, 0x53, 0x70, 0x74, 0x27, 0x37,\r
+               0x19, 0x09, 0xE7, 0x42, 0x9E, 0xFD, 0xE6, 0xB6, 0xE9, 0x3A, 0xB0, 0x96, 0xBD, 0x2A, 0x05, 0xD9,\r
+               0x64, 0x7C, 0xFB, 0x33, 0x7A, 0xAF, 0xD3, 0xFB, 0x22, 0x08, 0xF5, 0xC4, 0xC2, 0xC6, 0x21, 0x05,\r
+               0x16, 0x60, 0x65, 0xAA, 0x8F, 0xAF, 0x65, 0xAE, 0x3D, 0x9A, 0x3F, 0x3F, 0x55, 0x5D, 0x83, 0x83,\r
+               0xC0, 0xC3, 0xFF, 0xF2, 0xAD, 0x83, 0x15, 0xB5, 0xBC, 0x3E, 0xF1, 0x43, 0x49, 0x6C, 0x7A, 0x4C,\r
+               0xFE, 0xCC, 0x72, 0x46, 0x9A, 0xBC, 0x57, 0xAD, 0xF4, 0x53, 0xF7, 0xF1, 0xD4, 0xD9, 0xA2, 0xC7,\r
+               0x3C, 0x9E, 0xDF, 0xC5, 0xB1, 0x3C, 0x06, 0xB4, 0x7A, 0x0E, 0x76, 0x00, 0x13, 0xC5, 0x5A, 0xBA,\r
+               0xAA, 0xF2, 0x54, 0x13, 0x92, 0x88, 0x98, 0x28, 0xEF, 0xD6, 0x33, 0x75, 0xCE, 0x3B, 0xCB, 0xAA,\r
+               0xBD, 0x39, 0xF2, 0x59, 0x67, 0xFF, 0x43, 0x72, 0xBC, 0x66, 0xA2, 0x59, 0x4D, 0x0B, 0x6B, 0xCA,\r
+               0x54, 0x4C, 0xFD, 0xAF, 0x45, 0x33, 0xBB, 0xC9, 0x47, 0xE0, 0x50, 0x93, 0x30, 0xA4, 0x41, 0x4D,\r
+               0x12, 0x93, 0xCB, 0xC3, 0x50, 0x00, 0x97, 0x5E, 0x48, 0x20, 0x03, 0x06, 0x24, 0xAD, 0x30, 0x89,\r
+               0x9C, 0x62, 0x34, 0xDA, 0x1E, 0x54, 0x9F, 0x73, 0x1E, 0x14, 0xA5, 0xB2, 0xFB, 0x1F, 0x26, 0x3B,\r
+               0x66, 0xA6, 0xF4, 0x1F, 0xD9, 0x50, 0x2F, 0xA6, 0x31, 0xE6, 0x05, 0x97, 0xAB, 0x87, 0x8B, 0xD0,\r
+               0xC7, 0x4E, 0x3C, 0x38, 0x82, 0x5E, 0x14, 0xBF, 0x31, 0x19, 0x88, 0x8F, 0x13, 0x4C, 0xBB, 0xB6,\r
+               0xF3, 0xC7, 0xCF, 0x5F, 0x73, 0x0B, 0x09, 0xDE, 0x43, 0x05, 0x21, 0x9A, 0x45, 0x26, 0x3D, 0xB9,\r
+               0x56, 0x8B, 0xF0, 0xBE, 0x7A, 0xF1, 0xEB, 0xE4, 0x88, 0x28, 0x9E, 0x01, 0x18, 0xE3, 0xC2, 0x96,\r
+               0xCD, 0x05, 0x9F, 0x0A, 0x16, 0x21, 0x40, 0xA2, 0x2C, 0x25, 0x0C, 0xFC, 0xD5, 0xA1, 0x48, 0x02,\r
+               0xD4, 0x53, 0xAB, 0x03, 0xB4, 0x46, 0xB4, 0x6A, 0xF0, 0x39, 0xF0, 0xD5, 0x9E, 0x73, 0x47, 0x63,\r
+               0x30, 0x03, 0x3D, 0x02, 0x8C, 0x2F, 0x23, 0xB3, 0x4C, 0x9A, 0x24, 0x08, 0xF9, 0x41, 0xB2, 0x85,\r
+               0xB7, 0x67, 0x7A, 0x97, 0x58, 0xF9, 0x01, 0xC2, 0x0C, 0x28, 0x6A, 0xC9, 0x6E, 0xB3, 0xC2, 0x76,\r
+               0xEA, 0x9C, 0x41, 0xF2, 0x06, 0x5C, 0x6E, 0x86, 0x55, 0x11, 0xA6, 0x9F, 0x62, 0x63, 0xC7, 0x3D,\r
+               0x0D, 0x4E, 0xFD, 0x67, 0x2E, 0x44, 0x5B, 0x6E, 0x1D, 0x4B, 0x36, 0xA0, 0xB9, 0xC4, 0x71, 0xE9,\r
+               0xE7, 0xFE, 0xEA, 0x83, 0x2B, 0x7C, 0x02, 0x65, 0x30, 0x85, 0x52, 0xE9, 0xE8, 0xE2, 0x1A, 0x05,\r
+               0x04, 0x61, 0xE0, 0x4F, 0x0F, 0x89, 0x31, 0x61, 0x07, 0xD0, 0xAE, 0x7E, 0xD9, 0x86, 0x4C, 0x11,\r
+               0xBA, 0x9C, 0x3F, 0xB2, 0x70, 0x11, 0xBC, 0x50, 0x29, 0xDD, 0xB6, 0x02, 0x94, 0x08, 0xB8, 0x2B,\r
+               0xB8, 0x19, 0xFC, 0x77, 0xDE, 0xCF, 0xC9, 0x16, 0x0C, 0x3A, 0x25, 0x27, 0x4E, 0x6F, 0x5B, 0x5D,\r
+               0xA3, 0x1C, 0xB4, 0x1F, 0xE1, 0x60, 0x2B, 0x06, 0xFB, 0xC9, 0x6D, 0x41, 0x72, 0x35, 0x0B, 0x9C,\r
+               0xB2, 0xCA, 0x53, 0x34, 0xB9, 0x4F, 0x1A, 0x06, 0xE9, 0x93, 0xD8, 0xD7, 0x0F, 0xCA, 0x02, 0xCA,\r
+               0xFC, 0x7E, 0xCC, 0xB3, 0x1F, 0x86, 0xD5, 0xED, 0xB1, 0x07, 0xBF, 0xD1, 0xB9, 0x79, 0x89, 0x0A,\r
+               0x9D, 0x73, 0x20, 0x00, 0xD4, 0x77, 0x68, 0x5B, 0x11, 0x1A, 0xE5, 0xAC, 0x4D, 0x8F, 0x1C, 0xAC,\r
+               0xCB, 0x50, 0xE5, 0x33, 0xF0, 0x72, 0xAC, 0xA9, 0x01, 0x69, 0xFB, 0xFC, 0xD0, 0xF6, 0x69, 0x0C,\r
+               0xD6, 0xBB, 0xE2, 0x48, 0x45, 0x21, 0x49, 0x1F, 0xD3, 0x01, 0x85, 0xFE, 0x76, 0x51, 0xDB, 0x26,\r
+               0x2D, 0xCF, 0x25, 0xBF, 0xD0, 0x19, 0x1D, 0x5F, 0x3F, 0xFF, 0xD2, 0x45, 0xF1, 0x8E, 0xA7, 0x61,\r
+               0x1F, 0xAD, 0xD3, 0xD0, 0x69, 0xC8, 0xF9, 0x8F, 0xB0, 0xB7, 0x71, 0x8A, 0xD6, 0xDB, 0xC3, 0x7B,\r
+               0x29, 0x5E, 0x78, 0x76, 0x2F, 0x89, 0xE0, 0x16, 0x64, 0xC1, 0xDE, 0xB6, 0x77, 0x4D, 0x7B, 0xD7,\r
+               0xE9, 0x36, 0x12, 0x22, 0x22, 0x73, 0x4F, 0x19, 0xCC, 0x54, 0x82, 0x5B, 0x7D, 0xA1, 0x92, 0x49,\r
+               0x7C, 0x39, 0xAF, 0xF9, 0x1D, 0x39, 0x68, 0xBC, 0xC7, 0xDE, 0x7D, 0x58, 0x90, 0xEB, 0x9E, 0x6E,\r
+               0xE7, 0x57, 0x3C, 0xFF, 0x65, 0x00, 0xFB, 0xFB, 0x4F, 0x14, 0x6E, 0x08, 0xB4, 0x7F, 0xED, 0x46,\r
+               0x62, 0x97, 0xF0, 0xA1, 0xFB, 0xA0, 0x9E, 0x13, 0xA9, 0xED, 0x78, 0x0C, 0xC7, 0xB4, 0x97, 0xAD,\r
+               0xD8, 0x53, 0xA4, 0xCA, 0xEA, 0x6A, 0x90, 0x1C, 0xF6, 0x88, 0xD3, 0x08, 0xA1, 0x43, 0xBA, 0x02,\r
+               0x30, 0x2A, 0xBA, 0xCE, 0xEF, 0xA2, 0xF8, 0x91, 0x58, 0xA1, 0x42, 0x9B, 0x37, 0x00, 0x86, 0x81,\r
+               0x89, 0x17, 0x4C, 0xC7, 0x93, 0x46, 0xD7, 0xCB, 0x8D, 0x32, 0xF4, 0x09, 0xE9, 0x2C, 0x21, 0x64,\r
+               0x5E, 0x25, 0x73, 0xF7, 0x50, 0xAA, 0x24, 0x0A, 0x12, 0x56, 0x69, 0x62, 0x81, 0x05, 0x93, 0x79,\r
+               0x45, 0xA0, 0x84, 0x1C, 0x75, 0xA1, 0xCF, 0x48, 0x6C, 0xE3, 0x20, 0x90, 0x03, 0x48, 0x96, 0xB7,\r
+               0x72, 0x0C, 0x0F, 0x58, 0xD4, 0x15, 0x39, 0x7E, 0x05, 0x44, 0xD9, 0x56, 0xD9, 0xAE, 0xF9, 0x4F,\r
+               0x0D, 0x90, 0x7B, 0xCA, 0xE0, 0x79, 0x79, 0x86, 0x9C, 0x7F, 0x5C, 0x77, 0x22, 0xB6, 0x77, 0x7B,\r
+               0x73, 0x00, 0x1B, 0x7D, 0x19, 0xCE, 0x03, 0x1D, 0x8A, 0x31, 0xC5, 0x5F, 0x30, 0xCE, 0xD3, 0x99,\r
+               0xEC, 0xE3, 0xF3, 0x8F, 0xA6, 0xEA, 0x1B, 0x92, 0xDE, 0xBF, 0xDA, 0xA6, 0x5B, 0xF6, 0x63, 0x74,\r
+               0x56, 0x76, 0xE2, 0x00, 0x3B, 0x64, 0xAD, 0xE2, 0x21, 0xEE, 0xAC, 0x38, 0x37, 0x47, 0xFC, 0xE6,\r
+               0xE8, 0x9C, 0xD5, 0xBA, 0xCC, 0xF0, 0x6F, 0xBC, 0xD8, 0xD3, 0x6D, 0xFE, 0x5A, 0xB7, 0xB3, 0xF6,\r
+               0xA3, 0x00, 0x1B, 0x8C, 0xC9, 0xB7, 0xA2, 0x5E, 0xE7, 0x88, 0x38, 0x09, 0x61, 0x46, 0x0A, 0x1A,\r
+               0x2B, 0xB7, 0xE3, 0xB9, 0x75, 0x33, 0xC3, 0xE7, 0x21, 0x88, 0x1E, 0xEB, 0x5F, 0x97, 0x0F, 0x77,\r
+               0x4B, 0xB2, 0xFF, 0xB1, 0x6A, 0x04, 0x37, 0x4E, 0xCE, 0xE0, 0xBD, 0x83, 0x31, 0x70, 0x6B, 0xD9,\r
+               0x0E, 0x90, 0xA1, 0x14, 0x91, 0xA9, 0x57, 0x71, 0x0F, 0x57, 0x17, 0x8C, 0xE2, 0x7A, 0x7A, 0x78,\r
+               0x2F, 0x10, 0x43, 0xAF, 0x94, 0xBA, 0x10, 0xCC, 0xD9, 0xE4, 0x9F, 0x9F, 0xA1, 0x49, 0x62, 0xF4,\r
+               0x8E, 0xAD, 0xE6, 0x5C, 0x9D, 0x80, 0xC8, 0x2C, 0x69, 0x36, 0x4C, 0x97, 0x7A, 0x86, 0x6A, 0xA2,\r
+               0x50, 0x8A, 0x5B, 0xC8, 0xE4, 0x34, 0xF5, 0x88, 0xB4, 0x70, 0xEA, 0x8F, 0xB8, 0xBE, 0x3F, 0x77,\r
+               0x0F, 0xDD, 0x7E, 0xBB, 0x6D, 0x15, 0x40, 0x96, 0x07, 0xCD, 0xB3, 0x16, 0x3E, 0x4A, 0x2D, 0x89,\r
+               0xCA, 0xDC, 0x72, 0x5F, 0x1D, 0xCB, 0x09, 0x06, 0x71, 0x19, 0xA6, 0xB0, 0xD6, 0xE6, 0x71, 0x32,\r
+               0xCD, 0xD6, 0x53, 0x23, 0x8D, 0x64, 0x3D, 0x99, 0x52, 0x2C, 0xA4, 0xFF, 0x74, 0x9C, 0xF5, 0xA5,\r
+               0x15, 0x97, 0xAA, 0x68, 0xC2, 0x52, 0xBA, 0x4B, 0x46, 0x77, 0xDF, 0x62, 0xC4, 0xBC, 0x7A, 0xE8,\r
+               0x19, 0x3F, 0xAC, 0x0B, 0x3F, 0x87, 0x55, 0x5C, 0x26, 0x6F, 0x26, 0x2E, 0xB9, 0xA7, 0x5A, 0x24,\r
+               0xBB, 0x35, 0xAD, 0xE5, 0xE8, 0xA4, 0x6B, 0x35, 0x96, 0x79, 0xB5, 0xEF, 0x94, 0x64, 0x8E, 0x4D,\r
+               0x75, 0xD3, 0x10, 0xF3, 0x1A, 0x04, 0x27, 0x27, 0x99, 0xF0, 0xFF, 0xED, 0x9B, 0xA5, 0x6E, 0xE1,\r
+               0x98, 0xD1, 0xF1, 0x9A, 0x14, 0x6F, 0x0A, 0xFD, 0xF6, 0x84, 0xED, 0x50, 0x60, 0xD6, 0x4B, 0x3E,\r
+               0x94, 0x3B, 0x2B, 0x42, 0x01, 0x87, 0x1C, 0xAC, 0x15, 0xA2, 0x5A, 0xE6, 0xFE, 0x02, 0x17, 0xE5,\r
+               0x8F, 0x94, 0xDB, 0x3F, 0x8D, 0x94, 0xFE, 0xA1, 0x4B, 0x5C, 0x12, 0xDB, 0xB4, 0x58, 0xDE, 0xC0,\r
+               0xCB, 0x93, 0xB7, 0xA6, 0x9F, 0xDA, 0xE2, 0xBF, 0xE3, 0xD9, 0x88, 0x23, 0xAF, 0x4E, 0x49, 0x86,\r
+               0x85, 0xC5, 0x15, 0x41, 0x96, 0xF2, 0x2D, 0xBE, 0xC7, 0xF1, 0xEF, 0xB6, 0xBD, 0xFD, 0xB2, 0x86,\r
+               0xFC, 0xA0, 0x6B, 0xDF, 0x9A, 0x91, 0x9B, 0x43, 0x80, 0x1B, 0xCC, 0xA0, 0x9E, 0xC1, 0x9B, 0x7A,\r
+               0xAA, 0xB2, 0x9F, 0x5C, 0x0B, 0x45, 0x5F, 0x6D, 0x7E, 0x43, 0xD2, 0x08, 0x88, 0xB8, 0x10, 0x1F,\r
+               0x1A, 0x17, 0x2B, 0xB7, 0x0F, 0x4E, 0x2A, 0xEA, 0x45, 0x06, 0xE5, 0xC8, 0x01, 0xB9, 0x87, 0xE5,\r
+               0xE1, 0x87, 0xB7, 0x43, 0x66, 0xE1, 0x7E, 0x9E, 0xF1, 0x8B, 0xB2, 0xCC, 0x93, 0x66, 0xAC, 0x3F,\r
+               0x07, 0x04, 0xF7, 0x1D, 0xDD, 0xC3, 0x14, 0xAD, 0xD9, 0x26, 0x13, 0xB1, 0x57, 0x76, 0xA1, 0xB7,\r
+               0xE3, 0xD1, 0x01, 0x5D, 0x39, 0x8B, 0x83, 0x12, 0x78, 0x71, 0xC7, 0x0B, 0x9D, 0x44, 0x5B, 0xC2,\r
+               0xDD, 0x1B, 0x3B, 0x44, 0x64, 0x86, 0x59, 0x72, 0x29, 0x31, 0x91, 0x64, 0x3B, 0x54, 0x3A, 0x9C,\r
+               0x80, 0xCE, 0x5F, 0xFD, 0x97, 0x64, 0x36, 0xBD, 0x43, 0x97, 0x5D, 0xF8, 0xA4, 0x84, 0x32, 0x88,\r
+               0xD0, 0xE8, 0x2C, 0x7E, 0xF8, 0x78, 0x35, 0x84, 0x63, 0xFF, 0x65, 0x4C, 0x03, 0xD5, 0x42, 0x08,\r
+               0x3A, 0x41, 0x25, 0xC4, 0xE4, 0xFA, 0x6C, 0xE4, 0x8D, 0x78, 0x01, 0xD0, 0x7F, 0xF3, 0xA0, 0xDC,\r
+               0x8D, 0x76, 0xBD, 0x11, 0x6E, 0xFD, 0x8B, 0xD4, 0x83, 0x75, 0x81, 0x62, 0x71, 0x3F, 0x0C, 0x6F,\r
+               0x33, 0xB9, 0xFA, 0xC2, 0x2C, 0xE9, 0x06, 0x1C, 0xA8, 0x88, 0x99, 0x9E, 0xE2, 0xB1, 0x37, 0x34,\r
+               0x25, 0xE6, 0x1E, 0xBE, 0xB8, 0x94, 0xA0, 0xF5, 0x87, 0xF3, 0x34, 0xC4, 0x4C, 0x9A, 0xF2, 0x6B,\r
+               0x63, 0x02, 0xF5, 0x3B, 0xC9, 0x3C, 0x8C, 0xC0, 0xCD, 0x45, 0x67, 0xF8, 0x25, 0x93, 0xA2, 0xA3,\r
+               0x51, 0x40, 0x5F, 0x82, 0x6E, 0x2D, 0x18, 0x9C, 0xA1, 0x8D, 0x32, 0xBF, 0xB9, 0xB0, 0x94, 0x49,\r
+               0xAB, 0x88, 0x53, 0x62, 0x3D, 0xF7, 0xA8, 0xEA, 0xFC, 0xB0, 0x92, 0x1F, 0x54, 0x28, 0x66, 0x6E,\r
+               0xC4, 0x45, 0xEF, 0x78, 0x58, 0x5D, 0x3E, 0x16, 0x26, 0x0A, 0x16, 0xBB, 0xC1, 0x11, 0x8F, 0xFD,\r
+               0xF0, 0xAA, 0xBA, 0x34, 0xA8, 0x1E, 0x23, 0x32, 0x8D, 0x67, 0xBF, 0xC7, 0x58, 0x7B, 0xC0, 0xE1,\r
+               0xFA, 0x6D, 0x93, 0x1F, 0x9B, 0x58, 0x77, 0xE9, 0xDD, 0x4A, 0x3B, 0x30, 0x4E, 0x96, 0x22, 0x00,\r
+               0x61, 0x05, 0xB9, 0x2B, 0x37, 0x11, 0xDC, 0x04, 0x7B, 0xC3, 0xA9, 0xFF, 0x99, 0xD4, 0x9D, 0x2B,\r
+               0x53, 0x42, 0xB6, 0x70, 0xA8, 0x32, 0xE4, 0x5F, 0x19, 0x22, 0xC2, 0xB4, 0xF2, 0xF1, 0x24, 0x12,\r
+               0x2E, 0x50, 0x52, 0xB6, 0x84, 0x23, 0xD1, 0xF1, 0x92, 0xC3, 0x87, 0xEF, 0x34, 0x1D, 0x39, 0x87,\r
+               0xF7, 0x39, 0x7E, 0x5C, 0x94, 0x98, 0x22, 0x9F, 0xF4, 0x26, 0xC6, 0x6C, 0x51, 0x5B, 0xF2, 0x4B,\r
+               0x21, 0x9F, 0xC4, 0x82, 0xBB, 0xD7, 0x52, 0x30, 0x6E, 0xF4, 0x08, 0x0E, 0x41, 0x6A, 0x66, 0x09,\r
+               0x0B, 0x3F, 0x97, 0x8F, 0x04, 0xE6, 0x31, 0x02, 0xCF, 0x46, 0x41, 0xA5, 0x8A, 0xF2, 0x98, 0xAE,\r
+               0xC9, 0x71, 0xDC, 0x83, 0x13, 0x0B, 0x60, 0x93, 0xB4, 0xDA, 0xC0, 0xD8, 0x15, 0xEE, 0x8C, 0xF6,\r
+               0x8A, 0x9D, 0x1B, 0x97, 0xD7, 0x46, 0x74, 0xA5, 0x5F, 0xE9, 0x95, 0x8E, 0x21, 0x3C, 0x0F, 0x04,\r
+               0x9D, 0xAE, 0xC5, 0xD6, 0x3D, 0x0F, 0xAF, 0x31, 0xE7, 0x73, 0x04, 0x40, 0xCC, 0x0C, 0x0A, 0x6F,\r
+               0xB0, 0xDC, 0x9D, 0xE9, 0xA0, 0xE6, 0xE8, 0xD9, 0x2A, 0x1F, 0x7E, 0xFF, 0x2C, 0xF6, 0xA5, 0x9A,\r
+               0xF8, 0xD3, 0x3C, 0x7B, 0x84, 0xF2, 0xB2, 0x41, 0x27, 0xFC, 0x65, 0x10, 0x5A, 0x14, 0x75, 0x5D,\r
+               0x62, 0xD4, 0xC7, 0xED, 0x64, 0x21, 0xA4, 0xB4, 0x8E, 0xFA, 0x21, 0xFA, 0x3B, 0x08, 0x3E, 0x46,\r
+               0x05, 0x26, 0xA6, 0x98, 0xC5, 0x39, 0x17, 0x20, 0x5B, 0x7F, 0x6F, 0x43, 0x63, 0xC7, 0xCA, 0xF9,\r
+               0x26, 0xEB, 0x9A, 0x67, 0x39, 0x4C, 0x2B, 0x3B, 0x05, 0x3E, 0x16, 0x4A, 0x8E, 0x71, 0xC3, 0x0E,\r
+               0x38, 0x94, 0x7A, 0x8F, 0x9F, 0xD8, 0x52, 0x4D, 0x6A, 0x53, 0x40, 0xEB, 0x71, 0xB5, 0xBF, 0xC6,\r
+               0x0F, 0xE6, 0xFD, 0x33, 0xD9, 0xD5, 0x53, 0xFD, 0x84, 0xC0, 0xF0, 0xC4, 0x73, 0xC0, 0xAA, 0x79,\r
+               0x58, 0x2E, 0x87, 0xA5, 0xF7, 0x02, 0x8C, 0x55, 0x79, 0x3D, 0x0B, 0x5C, 0x60, 0x94, 0x30, 0x6F,\r
+               0xF9, 0x84, 0x44, 0x26, 0x78, 0x22, 0x9C, 0xDB, 0xA5, 0x10, 0xED, 0xA4, 0x5D, 0xFE, 0xA9, 0x79,\r
+               0x2D, 0xF8, 0x84, 0xE2, 0x73, 0xF0, 0xAE, 0x9B, 0x93, 0xA7, 0x09, 0x81, 0xA2, 0x69, 0xD3, 0x94,\r
+               0x7B, 0x7B, 0x67, 0x2C, 0x65, 0x0C, 0xBE, 0xA9, 0xCC, 0xFF, 0x37, 0x55, 0xDF, 0xB3, 0xE8, 0xAA,\r
+               0xB7, 0x56, 0x54, 0xDD, 0x4A, 0xF3, 0x6E, 0x48, 0x56, 0xFA, 0x6A, 0x07, 0xEA, 0xDC, 0x6A, 0x70,\r
+               0x8F, 0xA2, 0x47, 0xB7, 0xA2, 0xC3, 0x3F, 0xCD, 0x30, 0x5F, 0x3A, 0x1F, 0x5A, 0xDF, 0x34, 0x7A,\r
+               0xEB, 0x9B, 0x33, 0x91, 0xCB, 0x24, 0x19, 0xFE, 0x49, 0xEE, 0xD0, 0x44, 0x57, 0x86, 0x81, 0x88,\r
+               0x6B, 0xF5, 0xBB, 0x7E, 0x83, 0x53, 0xD5, 0x79, 0x4A, 0xAD, 0x67, 0xC7, 0x8A, 0x61, 0x39, 0x20,\r
+               0x73, 0x18, 0x3E, 0xFD, 0x50, 0xE2, 0x5B, 0x4C, 0x40, 0xDF, 0xD9, 0xFF, 0xDE, 0xEC, 0x2C, 0xAA,\r
+               0xDE, 0x8F, 0x4C, 0xE3, 0xCA, 0x9E, 0x70, 0xB8, 0x2E, 0x92, 0xCF, 0x3E, 0x77, 0x4A, 0xA1, 0x1E,\r
+               0x8D, 0x09, 0xCE, 0x37, 0x88, 0xDD, 0x79, 0xAF, 0xDD, 0x52, 0x89, 0x29, 0xC2, 0x66, 0xED, 0xC0,\r
+               0xD8, 0x2E, 0xF9, 0x58, 0x33, 0x83, 0x5A, 0xF9, 0x13, 0x68, 0xBB, 0x59, 0x37, 0xF2, 0xCB, 0x60,\r
+               0x78, 0x06, 0x5A, 0x7A, 0xF1, 0x96, 0xC2, 0x5D, 0xA9, 0xB3, 0x41, 0xF9, 0x95, 0x42, 0x43, 0x29,\r
+               0xFC, 0x9E, 0x0A, 0x6D, 0x49, 0xF9, 0xFB, 0x05, 0xE7, 0xC1, 0x2E, 0xC9, 0x87, 0xD4, 0x4E, 0xF2,\r
+               0x55, 0x05, 0x4A, 0x13, 0xEF, 0xD5, 0x91, 0xBF, 0xC3, 0x32, 0x1A, 0x67, 0x7C, 0xC9, 0x54, 0x47,\r
+               0xD1, 0x4F, 0x7F, 0xFA, 0xA5, 0x84, 0x7C, 0xA5, 0xED, 0x11, 0x10, 0xD1, 0xEB, 0x9D, 0xDB, 0x2E,\r
+               0x43, 0xDB, 0x9A, 0x19, 0x97, 0xCB, 0x3E, 0x08, 0x92, 0x17, 0x8B, 0x7C, 0xA6, 0x36, 0xF6, 0xC3,\r
+               0x28, 0x5F, 0xF3, 0x3B, 0xE9, 0xD0, 0x1B, 0x68, 0x4C, 0x92, 0xB9, 0x8B, 0xC9, 0x0E, 0xD1, 0x37,\r
+               0x6D, 0x93, 0x43, 0xFF, 0x7A, 0x1F, 0xF7, 0xCE, 0x76, 0x89, 0xC4, 0xA5, 0xC5, 0x3B, 0xAA, 0xFE,\r
+               0x2C, 0xDB, 0x68, 0x18, 0xCA, 0xC3, 0xB1, 0x81, 0x32, 0x13, 0x1D, 0xA3, 0xBA, 0xC8, 0x67, 0x14,\r
+               0xE2, 0x99, 0x22, 0x26, 0xE7, 0x12, 0x80, 0xD0, 0x2E, 0xF1, 0xCB, 0xAE, 0xB6, 0xB8, 0xA8, 0x5E,\r
+               0xAB, 0x1C, 0x52, 0xFA, 0xB5, 0x25, 0x18, 0x06, 0x2C, 0x1E, 0xE1, 0xE1, 0x0C, 0xDB, 0x23, 0x65,\r
+               0x2A, 0x18, 0x13, 0x7F, 0x21, 0x2D, 0x04, 0xDE, 0xCD, 0xAE, 0x23, 0xCD, 0x3D, 0x8A, 0x16, 0x06,\r
+               0x7F, 0x42, 0xE6, 0x27, 0xE0, 0x56, 0xD6, 0xB6, 0x4B, 0x11, 0x60, 0x9D, 0xB9, 0x9E, 0xD6, 0x33,\r
+               0xEE, 0x10, 0x8E, 0x22, 0xA5, 0x74, 0xE6, 0x33, 0x21, 0x11, 0x77, 0x52, 0x1D, 0x45, 0x99, 0xF0,\r
+               0x9B, 0x88, 0x0B, 0xFE, 0x8F, 0x04, 0x31, 0xD9, 0x5E, 0xC6, 0xF5, 0xEF, 0x63, 0x13, 0xCC, 0xFF,\r
+               0x34, 0x38, 0x45, 0xB8, 0xC9, 0x6B, 0xA7, 0x7F, 0xEE, 0xA2, 0xC3, 0x97, 0xB7, 0x0A, 0x7B, 0x90,\r
+               0x68, 0xD0, 0x02, 0x93, 0xB8, 0x67, 0x4B, 0xBD, 0xF3, 0xBB, 0x03, 0xD5, 0xFB, 0xA5, 0x48, 0xFE,\r
+               0x97, 0x60, 0x32, 0xD3, 0xA5, 0xE1, 0x01, 0x55, 0xB9, 0x1C, 0x96, 0x84, 0x2F, 0x82, 0x01, 0xDC,\r
+               0x84, 0x73, 0x00, 0x8A, 0xE5, 0x5C, 0x95, 0x07, 0x25, 0xA0, 0x0D, 0x15, 0xA6, 0x11, 0xE4, 0xDE,\r
+               0x92, 0xFE, 0xF0, 0x5D, 0xB6, 0x0D, 0x5E, 0xFB, 0x3E, 0x54, 0x88, 0xEB, 0x70, 0x74, 0x7B, 0x23,\r
+               0x39, 0x6A, 0x3B, 0xE3, 0xF5, 0xB8, 0xA9, 0xCE, 0x41, 0x18, 0x32, 0x36, 0x81, 0x7A, 0x6A, 0x76,\r
+               0xA8, 0x5A, 0xCC, 0xAE, 0xF5, 0x50, 0xEA, 0x36, 0x91, 0x52, 0xDA, 0x10, 0x7B, 0x12, 0x19, 0x98,\r
+               0x1E, 0x8F, 0x05, 0x1F, 0x19, 0xFF, 0xC6, 0x9F, 0xC0, 0xBF, 0x63, 0xE0, 0xDA, 0x3D, 0xFC, 0xC7,\r
+               0x83, 0xD3, 0xB9, 0xBB, 0x43, 0x41, 0xEF, 0x55, 0xD8, 0xCD, 0xB4, 0x8D, 0xDD, 0xCE, 0x3E, 0x28,\r
+               0xCA, 0x96, 0xB5, 0x77, 0x2C, 0xD1, 0xA2, 0x36, 0xD8, 0x88, 0xAF, 0x3C, 0xA6, 0x25, 0xDE, 0x0A,\r
+               0x33, 0xC7, 0xCB, 0x75, 0x74, 0x31, 0x44, 0xBA, 0xF3, 0xD8, 0x98, 0x8C, 0x54, 0xD3, 0xC6, 0x74,\r
+               0xB6, 0x39, 0x2F, 0xAF, 0x31, 0x41, 0x5C, 0x4D, 0xE6, 0x3A, 0xE7, 0x27, 0x69, 0x93, 0x71, 0xA2,\r
+               0x2F, 0x2B, 0x04, 0xEB, 0x9C, 0xDF, 0x24, 0x18, 0x4C, 0xDF, 0x99, 0xB8, 0xE6, 0xE9, 0x92, 0xB6,\r
+               0x30, 0x47, 0x3B, 0xC2, 0x42, 0x65, 0x1C, 0xBF, 0x5E, 0x3E, 0x06, 0x37, 0x4F, 0xF1, 0xD6, 0x36,\r
+               0x46, 0x2A, 0x9D, 0x52, 0xC8, 0x76, 0xAD, 0x59, 0x46, 0xA5, 0xBC, 0xE8, 0x47, 0x47, 0x2A, 0x64,\r
+               0x87, 0x20, 0x14, 0x13, 0x76, 0xC8, 0x5D, 0x5C, 0x55, 0x35, 0x02, 0x9F, 0x1F, 0x85, 0xBB, 0x55,\r
+               0xD2, 0xE1, 0x37, 0x61, 0x57, 0x7A, 0xAC, 0xCC, 0xCB, 0x62, 0x49, 0x03, 0xCC, 0x48, 0xAF, 0xDC,\r
+               0xF4, 0x7E, 0x75, 0xCC, 0x6B, 0x84, 0x7D, 0x99, 0x8A, 0x70, 0xC1, 0x47, 0xC8, 0x29, 0xAB, 0x75,\r
+               0x57, 0x33, 0xBD, 0x26, 0x12, 0x1F, 0x9A, 0x35, 0x5D, 0x57, 0xA1, 0xFF, 0x7F, 0xDD, 0xEA, 0xD1,\r
+               0xFD, 0xBA, 0xF7, 0x9C, 0xF0, 0x54, 0x90, 0xB5, 0x95, 0x96, 0xE4, 0x33, 0x3D, 0xBD, 0xDE, 0xDA,\r
+               0x75, 0x96, 0x71, 0xB3, 0xF2, 0x70, 0xA3, 0x80, 0x9E, 0xA9, 0xC5, 0x1A, 0x9A, 0xFA, 0x7D, 0x67,\r
+               0xA6, 0xF6, 0x4B, 0x09, 0x03, 0x82, 0x6C, 0xED, 0x77, 0xC8, 0x64, 0x25, 0x15, 0x22, 0x8E, 0x6F,\r
+               0x00, 0xCD, 0x26, 0x18, 0x58, 0x5E, 0x54, 0x60, 0xFF, 0xDD, 0xBA, 0xF7, 0x6F, 0x1F, 0x9F, 0x2A,\r
+               0x59, 0x0A, 0xAA, 0x1B, 0xE4, 0x75, 0xA0, 0x9C, 0xD4, 0x6A, 0xE5, 0xC5, 0x34, 0xAA, 0xA3, 0x83,\r
+               0x4C, 0xDD, 0xB3, 0xD2, 0xB0, 0x8F, 0x0C, 0x73, 0x9E, 0x86, 0x20, 0xD0, 0x6A, 0xE3, 0x9D, 0xE7,\r
+               0x4E, 0x05, 0x92, 0xFC, 0x0F, 0xFE, 0x76, 0x71, 0xCB, 0x0F, 0x27, 0x2A, 0xCE, 0xD7, 0xBF, 0xFD,\r
+               0x35, 0xF8, 0x4B, 0x3B, 0x2F, 0x2E, 0x56, 0xF0, 0xDD, 0x41, 0xFF, 0xC5, 0xFA, 0x50, 0x3F, 0x92,\r
+               0xCC, 0x82, 0xDD, 0x49, 0x5A, 0x2B, 0x4D, 0xB6, 0x6C, 0x19, 0xF3, 0x93, 0xB5, 0xBF, 0xDD, 0x52,\r
+               0x5F, 0x4C, 0xF0, 0x38, 0x3B, 0xCB, 0x8E, 0x97, 0x13, 0x01, 0x51, 0x40, 0x26, 0x81, 0xDF, 0xE2,\r
+               0x15, 0xF4, 0x10, 0x16, 0xFC, 0xBE, 0x4F, 0xBF, 0x27, 0xAD, 0x9F, 0xFA, 0x97, 0xCD, 0x71, 0x39,\r
+               0x07, 0x64, 0x91, 0xF9, 0x3C, 0xCA, 0x3C, 0x43, 0xB9, 0x74, 0x72, 0x4E, 0x70, 0xE0, 0xA2, 0xD4,\r
+               0x52, 0x9C, 0x73, 0xCF, 0x33, 0xD8, 0xEF, 0x2A, 0x40, 0x05, 0x9A, 0x66, 0xEB, 0xE7, 0x0F, 0x48,\r
+               0xC9, 0x81, 0x6A, 0x19, 0x97, 0xB9, 0x44, 0x92, 0x58, 0x59, 0x08, 0xA4, 0x9D, 0xA5, 0xD5, 0x09,\r
+               0xC3, 0x98, 0xB8, 0xCA, 0x53, 0x56, 0x10, 0x3D, 0x97, 0x8F, 0x8C, 0x88, 0x2D, 0x48, 0x0F, 0xE3,\r
+               0xF7, 0xA7, 0x3F, 0xBD, 0x84, 0x14, 0x0D, 0x38, 0x4F, 0x9B, 0x25, 0x8F, 0xA8, 0x22, 0x21, 0xA4,\r
+               0x98, 0x31, 0x1B, 0xBE, 0x47, 0x13, 0x9B, 0x0E, 0x1C, 0x24, 0xA1, 0xAE, 0x9E, 0x1B, 0x3B, 0x4C,\r
+               0x62, 0x7B, 0xA7, 0x83, 0x81, 0x28, 0x2B, 0x05, 0x90, 0xB4, 0x01, 0xA2, 0xF8, 0x83, 0x51, 0x06,\r
+               0x50, 0xCF, 0x39, 0xA2, 0xE2, 0x7F, 0xBF, 0x28, 0x2D, 0x74, 0x54, 0x6F, 0x56, 0xA0, 0xA9, 0xC5,\r
+               0x16, 0x88, 0xBF, 0x40, 0x24, 0x05, 0x93, 0xF3, 0x02, 0x7C, 0x07, 0xE9, 0x8A, 0xA9, 0xD9, 0xCE,\r
+               0xAE, 0x51, 0x86, 0xE8, 0x77, 0x20, 0x9C, 0x08, 0x87, 0xB2, 0x37, 0xA7, 0xE8, 0x3F, 0xAF, 0xE3,\r
+               0xB9, 0xF2, 0x5F, 0x9C, 0x33, 0x04, 0x47, 0x08, 0xD1, 0x00, 0xA6, 0xF1, 0xF1, 0x0F, 0x0F, 0x3D,\r
+               0xFA, 0x4B, 0xC4, 0xE5, 0xC0, 0x4D, 0x53, 0x0D, 0xA1, 0x50, 0xF3, 0x7F, 0x9D, 0xDD, 0x55, 0x02,\r
+               0x38, 0x23, 0x99, 0x1E, 0xB5, 0x1A, 0x02, 0x7D, 0x56, 0x12, 0x72, 0x2E, 0x3B, 0xC1, 0x9D, 0x18,\r
+               0x12, 0x74, 0xB3, 0x6B, 0x9C, 0x16, 0x61, 0xFC, 0x93, 0x81, 0x3B, 0x9F, 0xB6, 0x59, 0xC8, 0xF3,\r
+               0xC4, 0x4D, 0x8C, 0x20, 0xD9, 0x41, 0x11, 0x51, 0xFB, 0xCA, 0xF5, 0x57, 0x6B, 0x68, 0x6F, 0x44,\r
+               0x1D, 0x69, 0xE2, 0x48, 0x78, 0x89, 0xE2, 0x00, 0x3F, 0x9E, 0xB4, 0x8F, 0xB9, 0x2E, 0x54, 0xA8,\r
+               0x60, 0x3E, 0xA2, 0x34, 0xA9, 0xB1, 0xD7, 0x86, 0x55, 0x9B, 0xF1, 0xE8, 0x94, 0xC2, 0x31, 0x85,\r
+               0xD2, 0x63, 0x51, 0x4F, 0x71, 0x67, 0x4D, 0x44, 0x6B, 0xAB, 0x81, 0xF1, 0x61, 0x55, 0x4C, 0x53,\r
+               0x29, 0xD3, 0x7D, 0x40, 0xBF, 0x45, 0x19, 0xDF, 0x0E, 0xEF, 0xD6, 0x7F, 0xC8, 0x8A, 0xC3, 0xC1,\r
+               0x99, 0x8D, 0xE1, 0x23, 0xFD, 0x18, 0x6C, 0x23, 0x4B, 0xD9, 0xE1, 0x1B, 0x5C, 0x8B, 0xC4, 0x2C,\r
+               0xCF, 0xAB, 0xBC, 0xF1, 0x1C, 0x19, 0xA8, 0x3C, 0x24, 0x37, 0xFF, 0x6E, 0x26, 0xF2, 0x78, 0x51,\r
+               0xB6, 0x79, 0x4C, 0xC5, 0x7D, 0x99, 0x1E, 0x0C, 0x46, 0x24, 0xDC, 0x14, 0x63, 0xCE, 0x20, 0x80,\r
+               0xF8, 0x6A, 0x69, 0x4B, 0xE7, 0xA8, 0xD1, 0xAF, 0xEA, 0x7D, 0xBB, 0xD9, 0x49, 0x7D, 0xD5, 0x05,\r
+               0xBC, 0x55, 0x43, 0xD1, 0x9B, 0x8F, 0xCD, 0x6B, 0xE7, 0xEB, 0x21, 0x4B, 0xA2, 0x6B, 0x1D, 0x73,\r
+               0xA7, 0xBB, 0x0C, 0xE1, 0x23, 0x58, 0x2F, 0xC7, 0xA4, 0x69, 0x69, 0x2D, 0x9E, 0x31, 0xF7, 0xC8,\r
+               0x00, 0x5F, 0x84, 0x22, 0x1C, 0xC5, 0x35, 0x6F, 0x74, 0x08, 0xAA, 0x7B, 0x9F, 0x82, 0xB8, 0xC8,\r
+               0xBE, 0xC9, 0xBD, 0xC4, 0x7E, 0xF3, 0xB8, 0xBA, 0xD2, 0xC2, 0xB2, 0x78, 0xF7, 0x0C, 0xFC, 0x9B,\r
+               0x09, 0x66, 0xDC, 0x5F, 0x1F, 0x83, 0x5F, 0x27, 0x55, 0xDF, 0x32, 0xA1, 0xCB, 0xC0, 0x9D, 0x3C,\r
+               0xE3, 0xAA, 0x50, 0x5A, 0xDE, 0x01, 0x06, 0x6B, 0xD6, 0x11, 0x56, 0x9F, 0x73, 0xE6, 0x59, 0x22,\r
+               0xB3, 0xA2, 0xA0, 0x4E, 0xF4, 0x72, 0x05, 0x09, 0xF7, 0x5D, 0x6E, 0xE8, 0x55, 0xB7, 0xB2, 0xCF,\r
+               0xEE, 0x69, 0x7E, 0xF4, 0x66, 0xEC, 0x6A, 0x0A, 0xA1, 0x14, 0xA2, 0x3B, 0xB6, 0x67, 0x93, 0xE0,\r
+               0xD0, 0xF4, 0xB7, 0xFA, 0xE2, 0x0D, 0xB0, 0x78, 0xB1, 0xC7, 0xF4, 0xD3, 0xDD, 0x77, 0xD3, 0x54,\r
+               0x34, 0xDC, 0x4C, 0x25, 0x7C, 0xED, 0x27, 0x2E, 0xE0, 0x7F, 0x20, 0xFF, 0xC1, 0x45, 0x95, 0x12,\r
+               0x63, 0xCF, 0x97, 0x52, 0x59, 0xFC, 0xC6, 0x18, 0xDA, 0x8A, 0xD9, 0x23, 0x08, 0x8D, 0x84, 0x0B,\r
+               0xBD, 0x0C, 0xCA, 0xE4, 0xB3, 0xD9, 0xFB, 0xDE, 0x25, 0xFC, 0x7F, 0x1A, 0x7F, 0xB5, 0x49, 0xBB,\r
+               0x1C, 0x1A, 0xA9, 0xDE, 0xDD, 0xA2, 0x23, 0x34, 0x62, 0x2E, 0xAC, 0x30, 0xD4, 0x7A, 0x67, 0xF8,\r
+               0x3D, 0x07, 0x22, 0x86, 0x3A, 0x61, 0x64, 0x7B, 0xB3, 0x36, 0x24, 0xBD, 0xFA, 0x49, 0xC6, 0x06,\r
+               0x78, 0x7F, 0x77, 0x8F, 0x69, 0x69, 0x04, 0x08, 0xE2, 0xA4, 0x8E, 0x88, 0xDC, 0x43, 0xEA, 0xB9,\r
+               0x18, 0x4A, 0xB3, 0x1E, 0xAF, 0x43, 0xF0, 0x00, 0xAA, 0xF3, 0x2D, 0xCF, 0xBE, 0xA4, 0xBB, 0x21,\r
+               0x90, 0x18, 0x6D, 0x00, 0x75, 0xA8, 0x91, 0x27, 0x91, 0xEB, 0x0B, 0xF0, 0x8A, 0x75, 0xF7, 0x61,\r
+               0xDB, 0x19, 0x9A, 0x17, 0x38, 0x39, 0x5C, 0x22, 0x60, 0xD0, 0x5E, 0xCC, 0x6B, 0x84, 0x70, 0xB6,\r
+               0xAB, 0xE2, 0xFD, 0x4F, 0x4F, 0x03, 0x39, 0xBB, 0x08, 0x3F, 0xDE, 0xB1, 0x4B, 0xE5, 0x50, 0x8F,\r
+               0x46, 0xF3, 0xE9, 0x03, 0xD9, 0xFA, 0x14, 0xD1, 0x1C, 0x24, 0xCC, 0xEB, 0xB2, 0x96, 0xE8, 0x4F,\r
+               0x88, 0xEC, 0xC8, 0x9E, 0xBC, 0x18, 0x58, 0x89, 0x13, 0xB7, 0x86, 0x34, 0x4A, 0x57, 0x99, 0xC0,\r
+               0x2A, 0xBA, 0x66, 0x44, 0xB5, 0xFD, 0x66, 0xFC, 0xF9, 0xEE, 0x15, 0xA1, 0x2C, 0x94, 0x67, 0x9A,\r
+               0x26, 0xD0, 0x92, 0x10, 0xA1, 0xDA, 0x89, 0xAA, 0xEF, 0x7A, 0xEC, 0xB6, 0xEB, 0x8F, 0x93, 0xB9,\r
+               0xFE, 0x44, 0xF3, 0x49, 0xC1, 0xE2, 0x0E, 0xB9, 0x44, 0xFA, 0x97, 0xF8, 0xBF, 0xAF, 0x2E, 0x30,\r
+               0xF9, 0x81, 0x59, 0x3B, 0xAD, 0xE1, 0x3A, 0x73, 0xF9, 0x4D, 0x95, 0x0C, 0xA4, 0xD5, 0x7E, 0x5C,\r
+               0x3C, 0xB6, 0x97, 0x57, 0x38, 0x2C, 0x73, 0xE1, 0xA1, 0x9F, 0x80, 0xFF, 0xC4, 0x79, 0xDD, 0xFD,\r
+               0x03, 0x8A, 0x5F, 0xBD, 0xE3, 0xA8, 0xCB, 0xA5, 0x07, 0x7C, 0x71, 0xF0, 0xFF, 0x33, 0x84, 0x38,\r
+               0xEB, 0xE1, 0xCB, 0xC8, 0xF5, 0x98, 0xA3, 0xDA, 0x12, 0x4D, 0xE0, 0x17, 0x69, 0x70, 0xC3, 0xAB,\r
+               0x51, 0x73, 0xA3, 0xD5, 0xFA, 0x2F, 0xAD, 0x81, 0x37, 0x0F, 0x4B, 0xA8, 0xE3, 0x87, 0xC2, 0xEF,\r
+               0xD4, 0x0E, 0x04, 0xFB, 0xA3, 0x58, 0xC8, 0xF2, 0xEE, 0x29, 0x5D, 0x32, 0xA6, 0x4C, 0x5C, 0xC6,\r
+               0x4F, 0x6B, 0xBE, 0x71, 0x29, 0x4B, 0x5B, 0xBA, 0xAA, 0x67, 0x4E, 0x5C, 0x4F, 0xD8, 0x0F, 0x57,\r
+               0xDA, 0x71, 0xB6, 0x89, 0x91, 0x39, 0x7C, 0x8E, 0x1B, 0x81, 0xB1, 0x8A, 0x3D, 0x92, 0x7C, 0x33,\r
+               0x1A, 0xD2, 0x95, 0x5D, 0xFF, 0xE4, 0xD3, 0xB1, 0x27, 0x10, 0xED, 0x7D, 0x03, 0x7E, 0x2E, 0xA3,\r
+               0x2C, 0x23, 0xBE, 0x7D, 0x8A, 0xE2, 0xCA, 0x3C, 0x67, 0xBD, 0x42, 0xA6, 0x3D, 0xE8, 0x1E, 0x3E,\r
+               0x65, 0xA0, 0x81, 0x41, 0xDC, 0x80, 0x9E, 0x61, 0x73, 0x0D, 0x9F, 0x52, 0x00, 0x74, 0xA8, 0xC2,\r
+               0xDF, 0x4A, 0x13, 0xF5, 0x1A, 0x19, 0x28, 0x3D, 0x10, 0x0D, 0xE9, 0x61, 0x32, 0xC5, 0x2D, 0x52,\r
+               0x40, 0x26, 0x4C, 0x81, 0x2B, 0xD5, 0x30, 0xD6, 0x64, 0x0A, 0xF6, 0xC6, 0xD4, 0xFD, 0x13, 0xD3,\r
+               0x3E, 0x40, 0x5F, 0xCC, 0x8B, 0xD3, 0x4A, 0x69, 0x9A, 0xAF, 0x6F, 0x74, 0x4D, 0x85, 0x2E, 0x23,\r
+               0x41, 0xDF, 0xB1, 0x1A, 0x9F, 0xCE, 0x0A, 0xB7, 0xED, 0xC6, 0xEA, 0x78, 0x33, 0x9D, 0xC9, 0xAA,\r
+               0x76, 0x13, 0x81, 0x4A, 0x26, 0x7F, 0xFC, 0xE1, 0x3C, 0xF6, 0x13, 0xAC, 0x75, 0x7B, 0xDB, 0xCB,\r
+               0x6D, 0x7C, 0x67, 0x67, 0x04, 0xCC, 0x17, 0x7F, 0x43, 0xD1, 0x5A, 0x0E, 0xF0, 0x36, 0xCD, 0x48,\r
+               0xBA, 0xA6, 0x75, 0x9A, 0xBA, 0x3A, 0xE4, 0x5C, 0xCE, 0x70, 0xC7, 0xF9, 0xEA, 0x1F, 0x1D, 0x03,\r
+               0x5C, 0x69, 0x10, 0xAC, 0x34, 0x5B, 0x74, 0xE6, 0x6D, 0x92, 0xF6, 0x62, 0x9A, 0xC3, 0x86, 0xA9,\r
+               0x44, 0x8A, 0xA2, 0x02, 0xF8, 0x1C, 0xFA, 0x6E, 0x7D, 0xD4, 0x48, 0x7B, 0x27, 0x4E, 0x7B, 0x0D,\r
+               0xC4, 0xE0, 0xAC, 0x34, 0xCB, 0x74, 0x36, 0x26, 0xD7, 0x15, 0xFF, 0x49, 0x10, 0xA9, 0xEB, 0xDE,\r
+               0xA0, 0x73, 0x57, 0x5B, 0xE4, 0x5A, 0x10, 0x6A, 0x4F, 0x77, 0x15, 0xD3, 0x2E, 0xF0, 0xD4, 0xA9,\r
+               0x98, 0xF7, 0x78, 0x31, 0x50, 0x97, 0x41, 0x47, 0x08, 0xF1, 0x45, 0xED, 0x94, 0xF3, 0x5D, 0x16,\r
+               0x54, 0x6E, 0x21, 0x2B, 0xEB, 0xFE, 0x91, 0x08, 0x05, 0xE9, 0x18, 0x06, 0xDB, 0x9C, 0x6C, 0x6C,\r
+               0x02, 0x20, 0x7D, 0x71, 0xF2, 0xAE, 0x81, 0x5E, 0x3D, 0x8B, 0x26, 0x44, 0x8F, 0x46, 0x01, 0x78,\r
+               0xD6, 0x4F, 0xA9, 0x6E, 0x1E, 0xCE, 0xB3, 0x1C, 0x63, 0x63, 0xC2, 0x8B, 0x78, 0xD1, 0xD2, 0x86,\r
+               0x77, 0x8C, 0x01, 0x7B, 0xD6, 0x91, 0xA3, 0xFA, 0x82, 0xA5, 0x24, 0x39, 0xE5, 0xBB, 0x3C, 0x2A,\r
+               0x20, 0x89, 0x95, 0xDB, 0x11, 0x75, 0x7C, 0xBA, 0xE3, 0x81, 0xDF, 0xFF, 0xE9, 0xEF, 0x6B, 0xC6,\r
+               0x17, 0x02, 0x97, 0x06, 0x96, 0x5A, 0x7D, 0x2C, 0xB0, 0x3D, 0x6F, 0xD6, 0xCE, 0x9A, 0x47, 0xE3,\r
+               0x09, 0x7D, 0xAF, 0x13, 0x93, 0x6E, 0x04, 0x84, 0x44, 0xF4, 0x39, 0xA9, 0x2F, 0x5E, 0x07, 0xA3,\r
+               0x2A, 0xE8, 0x2E, 0xD3, 0x43, 0xC7, 0x38, 0xAB, 0x8D, 0xF4, 0x40, 0xB5, 0x3A, 0xE8, 0x40, 0xE3,\r
+               0x4D, 0x0F, 0x45, 0x5F, 0x01, 0x64, 0x8B, 0x6B, 0x9E, 0x45, 0x0E, 0x31, 0xFC, 0x27, 0x80, 0x70,\r
+               0xD7, 0x69, 0x45, 0x0E, 0x27, 0xE6, 0x9D, 0xAC, 0x5D, 0x5B, 0x4A, 0x3A, 0x81, 0x3B, 0x01, 0x82,\r
+               0x9F, 0xD3, 0xCA, 0xF8, 0x61, 0xC8, 0xC7, 0xC5, 0xE3, 0xC7, 0x51, 0x00, 0x30, 0xD9, 0x20, 0x02,\r
+               0xC1, 0xE3, 0xF8, 0x73, 0x25, 0x77, 0xC9, 0xB9, 0xAE, 0x7B, 0x58, 0x0A, 0x20, 0x6A, 0xF2, 0xFA,\r
+               0x50, 0x81, 0x45, 0x99, 0xBA, 0x87, 0xF9, 0x7D, 0x03, 0x19, 0x4F, 0x43, 0x7D, 0xB1, 0x48, 0x56,\r
+               0x05, 0xBC, 0xB3, 0x39, 0xFD, 0xF7, 0x2B, 0x2A, 0x16, 0x26, 0x0C, 0x9D, 0xC3, 0xA5, 0x74, 0xF0,\r
+               0x84, 0x11, 0xF8, 0x24, 0xAA, 0x33, 0x37, 0x54, 0x29, 0x07, 0xCE, 0x04, 0x0B, 0xF4, 0x6F, 0x2C,\r
+               0xCD, 0xAE, 0x57, 0x48, 0x9E, 0x27, 0xAF, 0x87, 0x15, 0x45, 0xE4, 0x09, 0xF7, 0x97, 0xCA, 0x61,\r
+               0x03, 0xF0, 0xC8, 0x9D, 0x00, 0x0A, 0x9E, 0x6D, 0x2D, 0x62, 0x32, 0x34, 0x14, 0xE7, 0x99, 0xBD,\r
+               0x42, 0xCA, 0x8A, 0x95, 0x18, 0x7C, 0xD8, 0xC8, 0xCE, 0x5A, 0xEB, 0xFA, 0x6D, 0x14, 0x21, 0x41,\r
+               0x07, 0x89, 0xEF, 0x5C, 0xDF, 0x22, 0x34, 0x4F, 0x86, 0xC4, 0x96, 0xAA, 0x28, 0x21, 0x7C, 0x96,\r
+               0x6C, 0x1D, 0x59, 0x8D, 0x7E, 0x93, 0x11, 0xAA, 0x56, 0x4E, 0xA4, 0xBA, 0x7C, 0x19, 0x04, 0x65,\r
+               0xFE, 0xD5, 0xD4, 0x03, 0x46, 0x13, 0x53, 0xBE, 0x85, 0x02, 0x3F, 0x02, 0xE9, 0xB2, 0xC7, 0xC6,\r
+               0x7A, 0xD3, 0xDC, 0xBB, 0xCD, 0x20, 0xBE, 0xF4, 0xBE, 0xA3, 0x35, 0x49, 0x50, 0xE6, 0xF2, 0xF6,\r
+               0xD3, 0x6E, 0xDA, 0x72, 0x39, 0xF8, 0xD4, 0xE8, 0x98, 0xF6, 0x01, 0xFB, 0x95, 0xFB, 0x96, 0x92,\r
+               0x57, 0x56, 0x1A, 0x56, 0x04, 0xFD, 0xED, 0x8A, 0xA4, 0x35, 0x6E, 0x43, 0x46, 0x6D, 0x42, 0xE5,\r
+               0xF7, 0x8D, 0x6B, 0x6B, 0x8D, 0x6B, 0x75, 0x6E, 0xE2, 0x50, 0x94, 0x9C, 0xFF, 0xDD, 0xDD, 0x6E,\r
+               0xA2, 0xE7, 0x6C, 0x44, 0x4D, 0xF8, 0x56, 0xDB, 0x76, 0xEC, 0xA6, 0xE8, 0x06, 0x49, 0xBD, 0x58,\r
+               0xF1, 0x48, 0xBD, 0xC6, 0x47, 0xD5, 0x5F, 0x5C, 0xC0, 0x30, 0xE0, 0x82, 0xC9, 0x65, 0xA1, 0xB5,\r
+               0x69, 0xD3, 0x23, 0x8A, 0x88, 0xF6, 0x82, 0x6F, 0x6E, 0x4A, 0x93, 0xEA, 0x5E, 0x68, 0x06, 0xE0,\r
+               0x1F, 0xDB, 0x01, 0x78, 0x52, 0x43, 0x33, 0xA5, 0x40, 0x7A, 0x29, 0x0C, 0x40, 0xDE, 0x4A, 0x01,\r
+               0x00, 0x19, 0x0D, 0x24, 0x04, 0xB7, 0x0B, 0x38, 0x8A, 0x67, 0xB6, 0x3D, 0xDD, 0xC6, 0xCE, 0xE7,\r
+               0x99, 0x1B, 0xB9, 0x50, 0x59, 0x2E, 0x73, 0x18, 0x2A, 0x95, 0xC8, 0x9D, 0x37, 0xBC, 0x54, 0xCE,\r
+               0x1C, 0x9C, 0xE3, 0xFD, 0xC1, 0x83, 0x6B, 0x7C, 0x55, 0x44, 0xB7, 0x32, 0x99, 0xFC, 0xB7, 0x96,\r
+               0xE5, 0x25, 0x4C, 0x12, 0x78, 0x3F, 0x8D, 0x8E, 0x36, 0xCB, 0x80, 0xEF, 0xF8, 0x0A, 0xD1, 0x6A,\r
+               0xAC, 0x41, 0x40, 0x4B, 0x54, 0xEF, 0xC0, 0x18, 0xA7, 0x55, 0x9B, 0xB0, 0x0A, 0xE1, 0x7A, 0xA7,\r
+               0x31, 0x48, 0x23, 0x10, 0x11, 0xA9, 0xE9, 0x56, 0x58, 0xD9, 0x4C, 0xA9, 0x31, 0x12, 0xE4, 0xD0,\r
+               0x87, 0x54, 0x67, 0x3D, 0xDC, 0xEA, 0xC5, 0x47, 0x6A, 0x65, 0xF5, 0x0E, 0xEF, 0x3D, 0xE8, 0x49,\r
+               0x16, 0x51, 0x1F, 0xED, 0xF6, 0x72, 0x86, 0x6E, 0x25, 0xA8, 0x1D, 0x14, 0xE1, 0x55, 0x9F, 0x1B,\r
+               0xBD, 0x59, 0x0A, 0x9A, 0x41, 0x1B, 0x71, 0xC3, 0x09, 0x57, 0xA7, 0xD6, 0xA2, 0x5B, 0x17, 0x94,\r
+               0xAB, 0x5B, 0xFB, 0x64, 0x52, 0xD9, 0xBA, 0x6F, 0x5E, 0x53, 0x22, 0xB7, 0xD6, 0x3E, 0xAC, 0xE8,\r
+               0xB8, 0x9B, 0x1B, 0x74, 0x96, 0x23, 0x2E, 0x94, 0x70, 0xC0, 0xB9, 0x36, 0x36, 0xAD, 0xB6, 0xBC,\r
+               0x47, 0xED, 0xCA, 0xD2, 0x48, 0x2C, 0x64, 0x5D, 0xFE, 0x18, 0x2C, 0x8E, 0xA7, 0x8A, 0x3A, 0x3F,\r
+               0x1B, 0x58, 0x4A, 0x7C, 0x2B, 0x55, 0x88, 0xDB, 0x1E, 0x5D, 0xEC, 0xA2, 0xB3, 0x25, 0x57, 0xC9,\r
+               0xB4, 0xB2, 0x5E, 0xE6, 0xCE, 0xEA, 0x1E, 0x2B, 0xC6, 0xEE, 0xDA, 0x52, 0x37, 0x3C, 0x46, 0xDD,\r
+               0x28, 0xA9, 0x9D, 0x04, 0x6E, 0x96, 0x13, 0x7D, 0x99, 0x87, 0x5D, 0x1C, 0x4D, 0xCF, 0x7D, 0x5A,\r
+               0x3A, 0x3F, 0xBB, 0x14, 0x56, 0xC9, 0x60, 0xAB, 0x66, 0x03, 0xB0, 0xBF, 0xBC, 0xE2, 0x6B, 0x0B,\r
+               0x70, 0xC1, 0x8C, 0x8D, 0x51, 0x6D, 0xA1, 0x6B, 0xD1, 0x17, 0x7E, 0xBD, 0x59, 0xAE, 0x45, 0xAE,\r
+               0xE3, 0xA3, 0xE7, 0xA1, 0x18, 0xE1, 0x62, 0xBC, 0xD2, 0x04, 0xDC, 0x2C, 0xA9, 0x90, 0xF6, 0xEC,\r
+               0x1A, 0x60, 0x81, 0xB7, 0x41, 0xD7, 0x79, 0x39, 0xE8, 0x64, 0xD0, 0x04, 0x92, 0x7F, 0xAC, 0x52,\r
+               0x61, 0xC6, 0x5C, 0x6E, 0x31, 0xAA, 0x59, 0x1F, 0xDD, 0x92, 0x08, 0x68, 0xC7, 0xF8, 0x03, 0x57,\r
+               0x63, 0x86, 0x13, 0x65, 0xF2, 0x50, 0x23, 0x91, 0xFD, 0xDA, 0x0F, 0x5F, 0xFD, 0xCC, 0xA5, 0x0B,\r
+               0x76, 0x40, 0x68, 0x0B, 0x4D, 0x3B, 0x8F, 0x17, 0x49, 0xC3, 0xCA, 0x26, 0x06, 0x85, 0xE6, 0xF7,\r
+               0x2F, 0xFD, 0xEC, 0xCE, 0x15, 0x2D, 0x7B, 0x00, 0xA3, 0x8E, 0x95, 0xA4, 0x6C, 0x30, 0x47, 0xDA,\r
+               0x89, 0x05, 0x50, 0x27, 0x49, 0x28, 0x43, 0x74, 0x23, 0xD8, 0x4B, 0xCE, 0xC4, 0x0D, 0x1B, 0x48,\r
+               0x5A, 0xB2, 0x63, 0x80, 0x30, 0xD1, 0x8C, 0x85, 0x9D, 0x88, 0xEA, 0x02, 0x68, 0xD5, 0x3B, 0x88,\r
+               0xD2, 0x33, 0x90, 0x58, 0xCE, 0x39, 0xBF, 0x99, 0x3C, 0xA0, 0xCB, 0x33, 0x8E, 0x92, 0x0E, 0xDF,\r
+               0x78, 0x52, 0xE1, 0xE6, 0xA5, 0x58, 0xB5, 0x3C, 0x09, 0x78, 0x8E, 0x86, 0xD4, 0xF2, 0x4C, 0xDB,\r
+               0xDB, 0x06, 0xB5, 0x55, 0xD4, 0x0E, 0x52, 0x18, 0xFC, 0x5C, 0xEE, 0x90, 0x7C, 0x06, 0xE8, 0xC4,\r
+               0xFD, 0xAE, 0x53, 0xF4, 0xE6, 0x36, 0x83, 0x65, 0xF7, 0x51, 0x66, 0x56, 0x48, 0x67, 0x29, 0xE7,\r
+               0xA8, 0x61, 0xAD, 0x4E, 0x8C, 0xB0, 0x72, 0xDC, 0xAD, 0xCC, 0x2D, 0x7E, 0x31, 0xAA, 0x6B, 0x92,\r
+               0xA9, 0xC4, 0x95, 0x62, 0x6E, 0xAD, 0xC5, 0xB5, 0xF2, 0x09, 0x88, 0x1B, 0x6F, 0xF2, 0x51, 0x05,\r
+               0x80, 0x08, 0x62, 0xD0, 0x33, 0x1A, 0x58, 0xBD, 0x0A, 0x1C, 0x7B, 0x9A, 0x0C, 0x25, 0x93, 0xE3,\r
+               0x02, 0x4A, 0xB9, 0xBD, 0xCB, 0x16, 0x75, 0x09, 0x1B, 0xF7, 0x95, 0xC5, 0xE3, 0xDE, 0xB9, 0xE5,\r
+               0xE4, 0x10, 0x2E, 0xCC, 0x76, 0xB7, 0x8C, 0x9C, 0xAB, 0x7A, 0x63, 0x85, 0x22, 0xE9, 0xBF, 0x7A,\r
+               0x62, 0xEA, 0x54, 0x1F, 0xEF, 0x11, 0x69, 0x9F, 0x91, 0x66, 0xAF, 0x9B, 0xFC, 0xDF, 0x6D, 0x40,\r
+               0x1A, 0x08, 0xDB, 0xA6, 0x30, 0xA7, 0xF0, 0x54, 0x5B, 0x44, 0xD5, 0xCE, 0x18, 0xA1, 0x7D, 0x25,\r
+               0xEB, 0x42, 0x00, 0xD3, 0x79, 0x98, 0x00, 0x6A, 0xA5, 0x0B, 0x01, 0x55, 0x16, 0xFA, 0xB3, 0xEE,\r
+               0x5A, 0x28, 0x9A, 0x2B, 0xDA, 0xF7, 0x76, 0xEB, 0xA8, 0x19, 0xB7, 0x85, 0xE5, 0x40, 0x55, 0xDA,\r
+               0xE1, 0x23, 0xA2, 0x7D, 0x2B, 0x1F, 0x72, 0x16, 0x03, 0xC8, 0x4C, 0xFE, 0xB5, 0x85, 0x13, 0x32,\r
+               0x77, 0x83, 0xB1, 0x35, 0xA8, 0xEE, 0xDD, 0x95, 0xAD, 0xB6, 0x55, 0x69, 0x0A, 0xB3, 0xCF, 0x88,\r
+               0x47, 0xA8, 0xBF, 0xDB, 0xB2, 0x37, 0xD1, 0x5B, 0xF0, 0xCA, 0xC4, 0x5F, 0x9D, 0xD0, 0x21, 0x96,\r
+               0x0D, 0x97, 0xE2, 0x0F, 0x81, 0x47, 0x2E, 0x42, 0xDD, 0xE4, 0xE3, 0xA6, 0x5F, 0x45, 0x3E, 0x60,\r
+               0x18, 0x97, 0xA6, 0x8E, 0x7E, 0xFE, 0xD4, 0xCF, 0x92, 0x95, 0x32, 0xEF, 0x1E, 0xCE, 0xDB, 0x3A,\r
+               0xD3, 0xA5, 0xDA, 0xE5, 0x22, 0x0A, 0xC2, 0xC2, 0xB0, 0x0D, 0x57, 0xC5, 0xF5, 0x4B, 0x5D, 0x95,\r
+               0xAC, 0x47, 0x63, 0x3C, 0x49, 0x8C, 0xEE, 0x84, 0x41, 0x07, 0x54, 0xD7, 0x84, 0x9C, 0x40, 0x24,\r
+               0xEF, 0xA8, 0x96, 0xC1, 0xF9, 0xEC, 0x7F, 0xA0, 0xE4, 0xEA, 0x3C, 0xC7, 0x58, 0x74, 0x70, 0xC2,\r
+               0x4A, 0xE0, 0xA8, 0x06, 0xFD, 0x3F, 0x0A, 0xE9, 0x33, 0x32, 0xA5, 0x83, 0x09, 0x66, 0x40, 0x39,\r
+               0xE6, 0xCE, 0xC5, 0xBC, 0xE9, 0xE7, 0x1F, 0x66, 0xCE, 0xE3, 0xEC, 0x6A, 0x73, 0xA3, 0xEC, 0x11,\r
+               0x10, 0x70, 0xD3, 0xA6, 0x84, 0xB6, 0x73, 0x75, 0x82, 0x8F, 0x16, 0x61, 0xD2, 0xB9, 0x4D, 0x23,\r
+               0x30, 0xA4, 0xF6, 0x72, 0x98, 0x19, 0x08, 0xA7, 0x6B, 0x54, 0x91, 0xC6, 0xB8, 0x61, 0xEE, 0xAA,\r
+               0xC8, 0xCD, 0x38, 0x75, 0x36, 0x20, 0x19, 0x22, 0x48, 0x6C, 0xC7, 0x79, 0x9D, 0x17, 0xDF, 0x61,\r
+               0x0B, 0x42, 0x7C, 0xAE, 0xF3, 0x7F, 0x8A, 0x14, 0xCA, 0x91, 0xF9, 0xE5, 0xEC, 0xB5, 0x98, 0x2D,\r
+               0x7A, 0xC0, 0xFA, 0x3D, 0x7E, 0x8D, 0x41, 0x1E, 0x07, 0xD4, 0xA6, 0x55, 0x5A, 0x34, 0x60, 0xD4,\r
+               0x09, 0x42, 0x41, 0x38, 0xB1, 0x3E, 0x53, 0x01, 0xBA, 0x16, 0x8B, 0x96, 0xD8, 0xD9, 0xF6, 0x69,\r
+               0xEA, 0xF5, 0xC5, 0x8B, 0x12, 0x37, 0x94, 0x46, 0x77, 0xD0, 0x0E, 0x5E, 0x01, 0x0F, 0x7E, 0x71,\r
+               0x1B, 0x3E, 0x4F, 0xD2, 0x71, 0x8F, 0xC1, 0x52, 0x2C, 0xD8, 0xC3, 0x95, 0xBC, 0x44, 0xD8, 0x8D,\r
+               0xDC, 0x63, 0xB7, 0x94, 0x10, 0xBB, 0x11, 0xAB, 0xC7, 0xD8, 0x9B, 0x39, 0xFB, 0xE7, 0xF7, 0xF5,\r
+               0x3B, 0x1D, 0xD4, 0x6C, 0x23, 0xFB, 0xB2, 0xE8, 0xB6, 0x4F, 0x6F, 0x29, 0x1F, 0x87, 0x81, 0x1C,\r
+               0xE5, 0xD0, 0x36, 0x70, 0xD7, 0x53, 0x33, 0x11, 0xF3, 0xA8, 0xBC, 0x5F, 0x08, 0x83, 0x03, 0x32,\r
+               0xD6, 0x7C, 0x9A, 0xA9, 0xFB, 0x7D, 0xBB, 0x41, 0xDB, 0x0A, 0xFB, 0x39, 0x33, 0xA2, 0xC9, 0x6A,\r
+               0x12, 0x39, 0x17, 0xD8, 0xEF, 0x65, 0x46, 0x1D, 0xCB, 0xB2, 0x59, 0xEF, 0x0F, 0xFC, 0xA9, 0x38,\r
+               0x2A, 0x9D, 0x8B, 0xCF, 0x95, 0x8D, 0xE0, 0x3A, 0x50, 0x0E, 0x64, 0x5B, 0xD4, 0x22, 0x07, 0x14,\r
+               0xE8, 0xCC, 0x37, 0x66, 0xD0, 0x67, 0x6B, 0xE4, 0xF1, 0x16, 0x2F, 0xA9, 0xB0, 0x4F, 0x56, 0x12,\r
+               0xDA, 0x18, 0x6F, 0x0B, 0xBB, 0x7E, 0xBF, 0x3A, 0xEC, 0xB9, 0xB8, 0xD0, 0xC4, 0xAB, 0x88, 0x4D,\r
+               0x28, 0x22, 0xA8, 0xD3, 0x12, 0x77, 0xF1, 0xC1, 0xCC, 0x9E, 0x9A, 0xBF, 0x2F, 0x2C, 0x22, 0xC3,\r
+               0xF8, 0x76, 0x3D, 0x86, 0x19, 0xC9, 0x3D, 0x90, 0xA4, 0x8F, 0xF5, 0xF5, 0xC9, 0x71, 0x65, 0x15,\r
+               0x5F, 0x6D, 0x8C, 0x52, 0xAE, 0x5C, 0xAD, 0xBA, 0x1C, 0x50, 0xC0, 0x26, 0xBF, 0x96, 0x8D, 0xD7,\r
+               0x79, 0xBD, 0xF4, 0x92, 0x2B, 0x67, 0xC9, 0x60, 0xEA, 0x5C, 0x99, 0x9C, 0x13, 0x7C, 0x48, 0xD9,\r
+               0x1D, 0x41, 0x91, 0x12, 0x28, 0x36, 0x35, 0x09, 0x4D, 0x6B, 0xAA, 0x07, 0x50, 0x9F, 0xF2, 0x33,\r
+               0x93, 0x1F, 0x01, 0xD3, 0x3B, 0x50, 0x2D, 0xAA, 0xFA, 0xC6, 0x27, 0x89, 0x7B, 0x21, 0xCD, 0xDA,\r
+               0xF4, 0x89, 0x97, 0x65, 0x40, 0x97, 0xBE, 0x09, 0xE9, 0xDE, 0x52, 0xD9, 0x3E, 0x23, 0x45, 0x27,\r
+               0xAE, 0x09, 0xE8, 0x0D, 0xBB, 0x2A, 0xF6, 0x8E, 0x0D, 0xD3, 0xB0, 0x24, 0xA0, 0x38, 0x29, 0x53,\r
+               0x51, 0x9E, 0xC0, 0x95, 0x6C, 0x17, 0x43, 0x98, 0x47, 0x3A, 0x81, 0x64, 0xEF, 0x29, 0x76, 0x1D,\r
+               0xE2, 0x33, 0xDC, 0x26, 0x6E, 0xEF, 0x24, 0x72, 0x14, 0x39, 0x4E, 0x5B, 0xA5, 0x67, 0x09, 0x1B,\r
+               0x14, 0x28, 0x61, 0x95, 0x20, 0xB7, 0x7E, 0x9E, 0xB3, 0xF7, 0xF3, 0xB6, 0xD8, 0x06, 0x18, 0x29,\r
+               0x6D, 0x80, 0x4E, 0x5E, 0xD7, 0x50, 0x60, 0x3B, 0x6D, 0x15, 0x37, 0x07, 0x7E, 0x50, 0x7D, 0x1A,\r
+               0xCA, 0x14, 0x37, 0x10, 0x9B, 0x59, 0x1E, 0x98, 0x40, 0x9F, 0xD2, 0x85, 0x74, 0x4D, 0x5C, 0x81,\r
+               0x15, 0x85, 0x18, 0xB5, 0xD4, 0x8C, 0x49, 0x8C, 0x25, 0x47, 0x86, 0xFF, 0x3D, 0xB6, 0xFC, 0x53,\r
+               0xB1, 0x94, 0xAB, 0xCD, 0x24, 0xCC, 0x2B, 0x63, 0x6D, 0x24, 0x7D, 0xAA, 0x04, 0x82, 0x61, 0x00,\r
+               0x5D, 0x99, 0xB8, 0x0D, 0x83, 0xB6, 0x6E, 0xEA, 0x9F, 0x52, 0x48, 0x9C, 0xA1, 0xFF, 0x46, 0xCC,\r
+               0xC6, 0x63, 0x09, 0x31, 0xB6, 0x9A, 0xA4, 0x6C, 0x8C, 0x67, 0xFE, 0x97, 0x36, 0x8D, 0xB4, 0x47,\r
+               0xF7, 0x44, 0x64, 0xC5, 0x04, 0x56, 0x6A, 0x65, 0x82, 0xD6, 0x8E, 0xA4, 0x45, 0x5B, 0xAC, 0x70,\r
+               0x42, 0xAC, 0xFF, 0x5A, 0xF7, 0x7F, 0x6C, 0xC9, 0xA9, 0xB1, 0xCC, 0xCA, 0x46, 0x65, 0x97, 0xF8,\r
+               0x5E, 0x66, 0xCD, 0x95, 0x62, 0xEE, 0xED, 0x5D, 0x28, 0x86, 0x9D, 0x0F, 0xCD, 0xA7, 0x78, 0x0D,\r
+               0xA0, 0xAA, 0x21, 0x83, 0x77, 0x0E, 0xA8, 0xDD, 0xC5, 0x7A, 0x03, 0x10, 0xF8, 0x31, 0xBA, 0x45,\r
+               0x90, 0x47, 0x79, 0xFD, 0x5D, 0x25, 0x39, 0x5F, 0x2A, 0xDB, 0xD8, 0x08, 0xE3, 0x26, 0xD6, 0x10,\r
+               0x3F, 0xC4, 0xB7, 0x03, 0x87, 0x3F, 0xCB, 0x52, 0x12, 0xF6, 0x20, 0x5F, 0xBF, 0xCF, 0x57, 0x4C,\r
+               0x36, 0x7C, 0x4A, 0xCC, 0x72, 0x31, 0x98, 0x5F, 0x38, 0x34, 0x0C, 0x17, 0x84, 0x89, 0x61, 0x15,\r
+               0x84, 0x30, 0x9C, 0x8F, 0x51, 0xDA, 0x3E, 0xF2, 0xF3, 0xA3, 0x04, 0x07, 0xE2, 0x07, 0xD6, 0xED,\r
+               0x1C, 0xF0, 0x08, 0x28, 0xB6, 0xCA, 0x9E, 0xEF, 0xC8, 0x7E, 0xB4, 0x17, 0x05, 0xFD, 0x30, 0x6F,\r
+               0xD7, 0xFA, 0x9C, 0x75, 0x97, 0x5C, 0x13, 0xB9, 0xE6, 0x11, 0x8F, 0xF8, 0xA4, 0x5C, 0xE3, 0xCE,\r
+               0xBD, 0x42, 0xA3, 0xA8, 0x80, 0xEE, 0xBA, 0x82, 0xA3, 0xDD, 0x92, 0x24, 0xDF, 0x68, 0x49, 0x06,\r
+               0x78, 0x2D, 0x9C, 0xFE, 0xA7, 0x50, 0x05, 0x9D, 0xDB, 0x3D, 0x70, 0xB2, 0x5F, 0xCD, 0xEB, 0x6D,\r
+               0x3A, 0x04, 0x39, 0x6D, 0x17, 0x37, 0x97, 0x51, 0xEB, 0x6F, 0xDB, 0x4D, 0x6A, 0x56, 0x47, 0x37,\r
+               0x91, 0x63, 0x09, 0x36, 0x67, 0xE9, 0xFD, 0xB2, 0xE7, 0xDD, 0xA6, 0xEE, 0x10, 0xDC, 0x1C, 0x4A,\r
+               0x0C, 0xCC, 0x25, 0x34, 0x2B, 0xAB, 0xD4, 0xBA, 0xC8, 0x02, 0x71, 0x11, 0xA7, 0x2F, 0x73, 0x2A,\r
+               0x21, 0xE3, 0xF7, 0xA3, 0x0F, 0xCC, 0x56, 0x98, 0x2A, 0x6D, 0x8A, 0x4A, 0x1F, 0xC1, 0xB6, 0x4C,\r
+               0xD8, 0x2E, 0x1B, 0x22, 0x19, 0x22, 0xB0, 0x0B, 0xE3, 0xE3, 0xBD, 0x8E, 0xB7, 0x37, 0xB1, 0xC3,\r
+               0x3D, 0x7F, 0x72, 0x10, 0xF3, 0xA3, 0x36, 0x99, 0x84, 0x3B, 0x8B, 0x73, 0xFC, 0xFB, 0x1D, 0x66,\r
+               0xA4, 0x5B, 0xA1, 0x5E, 0x8B, 0x27, 0x4E, 0x85, 0x2F, 0x23, 0xF5, 0x01, 0x29, 0x81, 0xFA, 0x44,\r
+               0x54, 0x91, 0xA8, 0x96, 0x86, 0x64, 0xBF, 0xB5, 0x72, 0x42, 0xAE, 0x9E, 0x70, 0x55, 0x55, 0xF5,\r
+               0x22, 0x95, 0x4A, 0x96, 0x9F, 0x10, 0x0E, 0x4F, 0xB6, 0x3A, 0x14, 0x0B, 0xB0, 0xE3, 0xA4, 0xBB,\r
+               0x26, 0xAA, 0x3E, 0x99, 0x4C, 0x43, 0xB5, 0x5B, 0x60, 0x24, 0xD1, 0x99, 0xBF, 0x18, 0xA6, 0xFF,\r
+               0x89, 0xAF, 0x1C, 0x61, 0x49, 0xE7, 0x23, 0x5A, 0x52, 0xA4, 0xE7, 0x28, 0x8D, 0x01, 0xF7, 0xD7,\r
+               0x85, 0x29, 0x26, 0x09, 0x1D, 0xD5, 0x13, 0x32, 0x66, 0xC8, 0x84, 0xAB, 0x41, 0x90, 0xE7, 0x85,\r
+               0x7A, 0x1D, 0x77, 0x2D, 0xCB, 0x19, 0x59, 0x79, 0xFC, 0x54, 0x11, 0xF7, 0xDC, 0xB7, 0x78, 0xB1,\r
+               0x80, 0x14, 0xED, 0xC6, 0xAA, 0x78, 0x4C, 0x11, 0xEC, 0xF2, 0x9A, 0x8E, 0x86, 0x66, 0x53, 0xE7,\r
+               0x96, 0x60, 0x48, 0x66, 0x25, 0xF1, 0x87, 0xBC, 0x6C, 0xF3, 0x1F, 0x40, 0xEE, 0x03, 0x22, 0xBD,\r
+               0xBA, 0x7E, 0x34, 0x47, 0x7E, 0x40, 0xF8, 0x17, 0x76, 0xC5, 0xC8, 0xE8, 0x46, 0x00, 0xAA, 0xB3,\r
+               0x2B, 0x7D, 0xEE, 0xF4, 0x66, 0x6E, 0xBB, 0xCC, 0xDA, 0x13, 0x20, 0x94, 0x0C, 0x68, 0x06, 0xAC,\r
+               0x5E, 0x57, 0xBE, 0xCE, 0xD0, 0xCC, 0x1E, 0x72, 0xDB, 0x9F, 0x32, 0xBC, 0x55, 0xF1, 0x8A, 0x70,\r
+               0x4B, 0x59, 0x88, 0x4B, 0x99, 0x37, 0xB2, 0xA5, 0x8D, 0x48, 0xF7, 0x5E, 0x87, 0xB8, 0xE1, 0xB0,\r
+               0x27, 0xD2, 0x23, 0xB1, 0x11, 0xAD, 0x44, 0xC1, 0x33, 0x4F, 0xED, 0x7C, 0xA9, 0x42, 0xF9, 0x2C,\r
+               0x5C, 0x79, 0x53, 0x23, 0x62, 0x34, 0x64, 0x89, 0x94, 0xEB, 0x35, 0x7C, 0xB6, 0xC5, 0x25, 0xFA,\r
+               0x4D, 0x37, 0xD4, 0x66, 0xEF, 0x00, 0x9C, 0xB4, 0xAA, 0x46, 0x43, 0x83, 0x04, 0x93, 0xDA, 0xE4,\r
+               0xDE, 0x98, 0x5E, 0xDE, 0x22, 0xFA, 0x5F, 0xD5, 0x9B, 0x9B, 0xE1, 0xA2, 0x72, 0xAD, 0x36, 0x51,\r
+               0x15, 0xD4, 0x90, 0x31, 0xB2, 0x96, 0x2E, 0x32, 0x33, 0xC0, 0x60, 0x01, 0x0B, 0xF2, 0x7D, 0xE9,\r
+               0x07, 0xA2, 0x7D, 0x4A, 0xBA, 0x43, 0x5D, 0x23, 0xB5, 0x12, 0x8D, 0xD4, 0x08, 0xDF, 0x95, 0xFE,\r
+               0xC0, 0x15, 0xC4, 0x5C, 0xCD, 0x6C, 0xBE, 0xD8, 0x46, 0x85, 0x5B, 0x20, 0x75, 0x5A, 0x50, 0xEF,\r
+               0x95, 0xF1, 0x7B, 0xE9, 0x8A, 0x07, 0x4F, 0x1A, 0x93, 0x06, 0x10, 0x91, 0x78, 0x97, 0xD4, 0xF4,\r
+               0x45, 0x6C, 0xEF, 0xA7, 0x85, 0x5A, 0x88, 0xFF, 0xA0, 0xDF, 0xB3, 0xDC, 0xFA, 0xCF, 0x2B, 0x45,\r
+               0xE6, 0x1B, 0x9A, 0xA5, 0x56, 0x3D, 0x6F, 0x52, 0x87, 0xAF, 0xD3, 0xE7, 0xC4, 0x3B, 0xC0, 0x35,\r
+               0x67, 0xE3, 0xBB, 0x69, 0x79, 0xDA, 0xB1, 0xAB, 0x7D, 0xCA, 0xD7, 0xF0, 0x97, 0xE8, 0x86, 0xFD,\r
+               0xEF, 0xF9, 0xE4, 0x60, 0x92, 0x20, 0x82, 0x89, 0x54, 0xDD, 0xF6, 0xFE, 0x61, 0xAF, 0x6E, 0x55,\r
+               0x12, 0xF5, 0x96, 0xD3, 0x0B, 0x16, 0x46, 0x39, 0x1F, 0xE6, 0xA8, 0x23, 0xE8, 0x0D, 0x4D, 0x95,\r
+               0xB4, 0x24, 0x2F, 0x68, 0x05, 0xBA, 0x7E, 0xE4, 0xF3, 0xD2, 0x76, 0xA1, 0xAD, 0x30, 0xAE, 0x72,\r
+               0x3F, 0x5F, 0x3F, 0x5E, 0x5D, 0x96, 0xBC, 0x05, 0x1A, 0x2E, 0x1B, 0xE0, 0x86, 0x7B, 0x86, 0x9A,\r
+               0xEB, 0x90, 0x86, 0x53, 0x07, 0xC3, 0x8E, 0x1B, 0x9E, 0xA3, 0xFF, 0x6B, 0x52, 0xEC, 0x8C, 0x99,\r
+               0xA5, 0xAE, 0x7A, 0xDD, 0xE9, 0x21, 0x7C, 0x74, 0x0E, 0x58, 0x78, 0xA8, 0x9E, 0xCE, 0x83, 0x6E,\r
+               0x69, 0x48, 0x7F, 0xC0, 0x0F, 0xE8, 0xAC, 0xE3, 0xD0, 0xFB, 0x25, 0x22, 0x52, 0xA1, 0x7B, 0x62,\r
+               0xF9, 0x76, 0xBF, 0xE6, 0xC6, 0x62, 0x0B, 0x58, 0xC2, 0xE8, 0xC2, 0xE1, 0x73, 0x94, 0x21, 0xC0,\r
+               0x9D, 0x44, 0x8E, 0xAF, 0x59, 0x1A, 0x2D, 0xF6, 0x32, 0xBF, 0x28, 0x73, 0x98, 0xCD, 0x69, 0x7C,\r
+               0x61, 0x04, 0x4E, 0x79, 0x4A, 0x76, 0x49, 0xF9, 0xCE, 0x65, 0xCB, 0x34, 0x5D, 0xFE, 0x78, 0xFE,\r
+               0x79, 0xBF, 0x85, 0xA2, 0xD4, 0x9D, 0xC7, 0x72, 0x7C, 0x6A, 0x75, 0xB2, 0xBA, 0x73, 0xC0, 0x3F,\r
+               0xEA, 0x04, 0xC7, 0xA5, 0xF5, 0xAF, 0xA0, 0x72, 0x79, 0x7D, 0x77, 0xD7, 0x7B, 0x06, 0x3D, 0x38,\r
+               0xA2, 0xE9, 0xA8, 0x1D, 0xAF, 0xD6, 0xFA, 0x38, 0xA6, 0xC5, 0x6C, 0x07, 0x17, 0xE4, 0x75, 0xA6,\r
+               0x17, 0x12, 0xBB, 0xE7, 0x6B, 0xA9, 0x05, 0x93, 0xF1, 0x7C, 0x7D, 0x15, 0xC6, 0xD5, 0xA0, 0x50,\r
+               0x70, 0x6C, 0xC5, 0x28, 0x0D, 0x76, 0xB6, 0x8E, 0x28, 0xAD, 0x33, 0xD0, 0x15, 0x1A, 0x67, 0x70,\r
+               0x2A, 0x19, 0xBC, 0x71, 0x5F, 0xA5, 0x40, 0x84, 0xC2, 0x17, 0x52, 0x39, 0xF4, 0xA7, 0x74, 0x9A,\r
+               0x34, 0x6F, 0x8F, 0x43, 0xAE, 0x6B, 0x39, 0x99, 0x9E, 0x80, 0x04, 0x27, 0xEB, 0x63, 0xE5, 0xC5,\r
+               0x4A, 0xBF, 0x1C, 0xBE, 0xE4, 0x81, 0x9E, 0xCF, 0x29, 0x21, 0x19, 0x7A, 0xEA, 0x86, 0xAA, 0xD4,\r
+               0x1D, 0x8E, 0x44, 0x4C, 0x15, 0x41, 0x41, 0x1B, 0x8F, 0xF3, 0xE2, 0x70, 0x64, 0xD2, 0x37, 0xC1,\r
+               0x7F, 0xDF, 0x35, 0x19, 0x6B, 0x2D, 0xE5, 0x71, 0x28, 0x35, 0xD6, 0xA8, 0x65, 0x29, 0x6F, 0xDA,\r
+               0x3A, 0xB8, 0xB0, 0xE0, 0x68, 0x9A, 0x09, 0x6E, 0x31, 0x1C, 0xAB, 0x13, 0x89, 0x1C, 0xBF, 0xCF,\r
+               0xF0, 0x98, 0xCE, 0xC0, 0xB7, 0x65, 0x92, 0x3C, 0x51, 0xCA, 0xD9, 0x76, 0x21, 0xAA, 0x24, 0xF3,\r
+               0x3E, 0xAD, 0xF5, 0xBA, 0x02, 0x04, 0xA3, 0x8B, 0x7F, 0xD2, 0x0F, 0xDD, 0x17, 0xDA, 0x66, 0x25,\r
+               0x38, 0x6A, 0x90, 0x4F, 0xA5, 0xB2, 0x16, 0x60, 0x9F, 0xAF, 0x31, 0x17, 0x41, 0x98, 0xD6, 0x9F,\r
+               0xB9, 0xD0, 0x63, 0x89, 0x45, 0x7C, 0x0A, 0xE1, 0x4D, 0x75, 0xF3, 0xCF, 0xA7, 0xC9, 0x19, 0x14,\r
+               0xFC, 0x12, 0xAB, 0x7A, 0x9F, 0x6C, 0xF4, 0xF5, 0x85, 0x8A, 0x65, 0xFF, 0x3D, 0x57, 0x1B, 0x7E,\r
+               0x6D, 0xBA, 0x68, 0xD3, 0x1A, 0x3E, 0xC4, 0x46, 0x7A, 0xBB, 0x72, 0x4A, 0x68, 0x8C, 0x7A, 0x89,\r
+               0x9F, 0xB7, 0x29, 0x57, 0xB7, 0x48, 0x6B, 0x67, 0xF6, 0x50, 0x9B, 0xE4, 0x47, 0x74, 0xED, 0x6E,\r
+               0xCC, 0xC3, 0xA9, 0x26, 0xBF, 0x3D, 0x62, 0x6B, 0x72, 0xC6, 0xDD, 0x97, 0x14, 0x58, 0xE2, 0xE0,\r
+               0x6A, 0x0E, 0x49, 0x26, 0x3A, 0x4D, 0xD0, 0xCA, 0xE0, 0x4F, 0x53, 0x6F, 0xF5, 0x50, 0xCF, 0xE1,\r
+               0xCA, 0x81, 0x02, 0xA5, 0x1D, 0xA0, 0x48, 0x9C, 0x6D, 0x42, 0xA9, 0x59, 0x7F, 0xE0, 0xF2, 0xEC,\r
+               0x47, 0x61, 0x14, 0x72, 0x2D, 0x37, 0x83, 0x57, 0x04, 0x57, 0x08, 0xCE, 0xC7, 0xDB, 0xAA, 0xBD,\r
+               0xEE, 0xD4, 0xA1, 0x24, 0xCB, 0xA4, 0xE9, 0x8E, 0x70, 0x93, 0x3C, 0xEC, 0x61, 0xC6, 0xF2, 0xD5,\r
+               0x51, 0x3D, 0x0F, 0xFD, 0xB6, 0x56, 0x2C, 0xBD, 0xC3, 0x95, 0x99, 0x2A, 0xCC, 0x24, 0xD4, 0xEE,\r
+               0xC3, 0x9F, 0x91, 0xCA, 0x3C, 0x77, 0x6E, 0xBF, 0xE2, 0x17, 0x02, 0x97, 0x97, 0x8F, 0xF2, 0x79,\r
+               0xEC, 0x42, 0xBE, 0x4A, 0xA0, 0x65, 0x96, 0xEF, 0x1B, 0xF0, 0xDB, 0x01, 0xF2, 0xB7, 0x28, 0xCF,\r
+               0x3B, 0xD0, 0x29, 0xD8, 0x63, 0x7C, 0x65, 0xF7, 0xC6, 0x28, 0x46, 0xC8, 0x82, 0x9E, 0x93, 0xB1,\r
+               0xC0, 0xBC, 0x75, 0xC9, 0x92, 0xC2, 0x8B, 0x67, 0x78, 0x23, 0x6B, 0x0F, 0x9A, 0x1C, 0xF4, 0xF3,\r
+               0xF7, 0x8C, 0x48, 0xB8, 0xFB, 0xCD, 0x7D, 0xBA, 0x5B, 0x8B, 0x92, 0xD7, 0x8C, 0xFA, 0xE3, 0x4C,\r
+               0xC1, 0x54, 0xD1, 0x40, 0x36, 0x76, 0xB1, 0xD2, 0xB7, 0x4F, 0x77, 0x8A, 0x3C, 0x7C, 0x0D, 0xCB,\r
+               0xBF, 0xED, 0xA6, 0x57, 0x26, 0xE6, 0xCB, 0xF7, 0x43, 0x42, 0xEE, 0x75, 0x7A, 0x04, 0xB6, 0xA4,\r
+               0xE4, 0x21, 0x91, 0x98, 0xD4, 0x70, 0x1F, 0x41, 0x7F, 0xB8, 0x1E, 0x27, 0x0A, 0xF5, 0x37, 0x3D,\r
+               0x5E, 0x41, 0x39, 0x41, 0xA3, 0x69, 0xA9, 0xF2, 0x04, 0x9B, 0x68, 0xD0, 0xBB, 0x44, 0x32, 0xDD,\r
+               0x9B, 0x70, 0x1B, 0xF5, 0xAD, 0xA7, 0x52, 0xE0, 0xFC, 0xBF, 0x6C, 0x73, 0x08, 0xFF, 0x7A, 0x0C,\r
+               0xAD, 0x1B, 0xC8, 0xCD, 0x29, 0x20, 0x4B, 0x5F, 0x38, 0xD2, 0xC3, 0x27, 0x50, 0x69, 0x5F, 0x66,\r
+               0xCE, 0xE9, 0xCC, 0x77, 0xC8, 0xB3, 0xDA, 0x49, 0x1D, 0x06, 0xCF, 0x38, 0x24, 0x59, 0xEC, 0xB4,\r
+               0x5B, 0xE2, 0x4D, 0x8B, 0x56, 0x2C, 0xFD, 0xF0, 0x5C, 0x04, 0x30, 0x88, 0x99, 0x13, 0xF2, 0x42,\r
+               0xD0, 0xD1, 0x73, 0x3F, 0x15, 0x32, 0x2C, 0x92, 0x87, 0x8E, 0xCA, 0x6D, 0x2E, 0x06, 0x0C, 0xD4,\r
+               0x55, 0x5A, 0xF6, 0x27, 0x68, 0x19, 0x49, 0xF6, 0x68, 0x1A, 0xDC, 0xFC, 0x27, 0xCD, 0x26, 0x24,\r
+               0x82, 0xF5, 0x44, 0x91, 0xF4, 0x34, 0x4A, 0xEA, 0xEB, 0xC3, 0xF0, 0x39, 0x48, 0xB2, 0x54, 0x82,\r
+               0x6A, 0x91, 0x86, 0x66, 0x13, 0x2F, 0x22, 0x37, 0x10, 0x7B, 0x61, 0xA2, 0xFF, 0xF1, 0xDD, 0xD6,\r
+               0x78, 0x0F, 0x14, 0xD7, 0xE4, 0x98, 0xBB, 0x3C, 0xC3, 0x4D, 0x14, 0x35, 0xE2, 0x54, 0x15, 0xE6,\r
+               0xBD, 0x24, 0x8B, 0x19, 0x8A, 0xC7, 0xF2, 0x25, 0x8C, 0xEE, 0x01, 0x92, 0xDB, 0xF8, 0x16, 0x8E,\r
+               0xA7, 0x74, 0xB3, 0xFB, 0xDE, 0xE3, 0x08, 0x4C, 0x25, 0x4E, 0x6D, 0xD8, 0xBF, 0x0E, 0xE6, 0x74,\r
+               0x7F, 0x8E, 0xF1, 0x13, 0x6C, 0x8E, 0x8F, 0xAB, 0xFC, 0xC3, 0x16, 0x71, 0xF4, 0x2E, 0x9B, 0x8B,\r
+               0x09, 0xE1, 0xB1, 0x97, 0xE9, 0x1F, 0xD9, 0x86, 0x4C, 0x60, 0x07, 0xCD, 0xAB, 0xD6, 0x15, 0xA7,\r
+               0xAB, 0x2E, 0x80, 0x4D, 0x91, 0xB4, 0xE7, 0xD5, 0xAC, 0xE5, 0x94, 0x9E, 0x38, 0x15, 0x13, 0xB4,\r
+               0x2A, 0x28, 0x67, 0x64, 0x26, 0xE0, 0xB8, 0x86, 0xA0, 0xEC, 0x5F, 0xEC, 0xFC, 0x64, 0xDA, 0x3E,\r
+               0xC7, 0x41, 0xF9, 0x9B, 0x03, 0x87, 0x95, 0x86, 0xF1, 0x4E, 0x4D, 0x53, 0x78, 0x17, 0x75, 0xD4,\r
+               0x11, 0x75, 0x02, 0x6D, 0xC8, 0xE1, 0x10, 0xAA, 0x56, 0x7B, 0x8A, 0x21, 0x2A, 0xF4, 0x63, 0xAE,\r
+               0x5A, 0xE4, 0xE6, 0x40, 0xE2, 0xBF, 0xDD, 0x22, 0x3A, 0x73, 0xDF, 0xCD, 0x74, 0x05, 0x11, 0x9B,\r
+               0xF9, 0xB6, 0x68, 0xF9, 0x3A, 0x39, 0x85, 0x92, 0xBA, 0x27, 0x0F, 0xC0, 0x39, 0xC2, 0xA0, 0xD6,\r
+               0x99, 0x58, 0x9F, 0x1E, 0xC8, 0xBF, 0x71, 0xFC, 0x98, 0x4F, 0xAC, 0xE4, 0xAA, 0x25, 0x3F, 0x8E,\r
+               0x9D, 0x35, 0x7F, 0xA2, 0x5B, 0xA1, 0xA2, 0x85, 0x47, 0x2C, 0x2D, 0xC2, 0x67, 0xFB, 0x49, 0x08,\r
+               0xBC, 0xB7, 0x6E, 0x57, 0x69, 0x02, 0xE5, 0x12, 0x0D, 0xEF, 0xA5, 0x02, 0xD0, 0xC8, 0x53, 0x81,\r
+               0xE2, 0xF1, 0x54, 0x0F, 0x67, 0x07, 0x47, 0x95, 0xB4, 0x5A, 0x58, 0x96, 0x01, 0x0C, 0x32, 0x32,\r
+               0x3C, 0xEC, 0x13, 0x42, 0xB6, 0x26, 0x7A, 0xCE, 0xD7, 0xD6, 0xFE, 0x27, 0xC5, 0x34, 0x95, 0x0F,\r
+               0x51, 0x31, 0x87, 0x96, 0x2A, 0x06, 0x31, 0x66, 0x82, 0x86, 0x75, 0x57, 0x9B, 0xF6, 0xF6, 0x63,\r
+               0xB5, 0x48, 0xDE, 0xDC, 0x94, 0x48, 0xA6, 0x3C, 0x8F, 0xCD, 0xA1, 0x46, 0x21, 0xC4, 0xD0, 0x24,\r
+               0x32, 0x7B, 0x8C, 0x27, 0x00, 0x0B, 0x84, 0x67, 0x91, 0x52, 0xEF, 0xD0, 0x4D, 0x36, 0x25, 0x59,\r
+               0x6F, 0x5A, 0x00, 0x3B, 0x46, 0x47, 0xEB, 0x76, 0x3C, 0xA7, 0x23, 0x8E, 0x1A, 0xE6, 0xD1, 0xEF,\r
+               0x88, 0xBF, 0x31, 0xBB, 0x1D, 0xA8, 0xDE, 0x35, 0xA9, 0xC0, 0xB3, 0xDC, 0x67, 0x41, 0xF5, 0xEA,\r
+               0x62, 0x0A, 0x67, 0x0C, 0xC8, 0x0E, 0x87, 0xCB, 0xBA, 0x62, 0xD7, 0x8B, 0x5D, 0x67, 0xC9, 0x60,\r
+               0x81, 0x07, 0x4A, 0x1F, 0xAB, 0xF6, 0xB4, 0x28, 0x8F, 0xA0, 0x2B, 0xA1, 0xAB, 0x03, 0x3F, 0x09,\r
+               0x3F, 0xA0, 0x49, 0xB0, 0xAC, 0x2B, 0x39, 0x7A, 0x3E, 0x4F, 0x33, 0x1C, 0x39, 0x8D, 0xF2, 0xE5,\r
+               0x3D, 0xBE, 0x37, 0x25, 0xEA, 0x07, 0x4C, 0x1B, 0x4A, 0x5D, 0xA0, 0x16, 0xF8, 0xEA, 0x74, 0x89,\r
+               0x26, 0x09, 0xA7, 0x6D, 0xE4, 0xC3, 0xAE, 0x21, 0x80, 0xF7, 0xE8, 0x2A, 0xCD, 0xB0, 0x01, 0x3A,\r
+               0x37, 0xC7, 0xF5, 0x79, 0xAA, 0x7A, 0x9F, 0xCE, 0xDC, 0xFE, 0x5D, 0x06, 0xDE, 0x4F, 0x0A, 0xC3,\r
+               0x79, 0xE6, 0xEF, 0x6A, 0xEB, 0x3D, 0x50, 0xE9, 0x7C, 0x61, 0x3A, 0x85, 0xC6, 0xFC, 0x05, 0x05,\r
+               0x18, 0x4B, 0x56, 0x8E, 0xDF, 0xD4, 0xED, 0xA9, 0x11, 0x78, 0x60, 0xFC, 0x50, 0x0A, 0x10, 0x4B,\r
+               0x4E, 0x9D, 0x11, 0x68, 0xC5, 0xC7, 0x29, 0x37, 0x0E, 0x2A, 0x7E, 0x86, 0x98, 0x73, 0x8E, 0xB1,\r
+               0x53, 0xAA, 0x40, 0xAD, 0x6E, 0xE9, 0xCC, 0x47, 0x52, 0xE3, 0x00, 0xAF, 0xA0, 0xD4, 0x38, 0x67,\r
+               0xA8, 0xD6, 0xB0, 0x23, 0x96, 0x37, 0x98, 0xEB, 0x39, 0xE0, 0x57, 0x22, 0xCC, 0x0B, 0xB1, 0x6E,\r
+               0x9C, 0x6B, 0xFF, 0xA6, 0xF2, 0xCE, 0x63, 0xBF, 0x24, 0x87, 0x35, 0xE5, 0x05, 0xAF, 0xBE, 0xF5,\r
+               0xE1, 0x17, 0xE7, 0xF2, 0x8C, 0xBF, 0x56, 0x31, 0x04, 0x26, 0x70, 0xCB, 0xB0, 0x43, 0x77, 0x11,\r
+               0x93, 0x0E, 0xD2, 0x8E, 0xF9, 0x70, 0xE0, 0x4B, 0x57, 0x6E, 0xBA, 0x96, 0x4B, 0xD8, 0xD4, 0xE0,\r
+               0x45, 0x56, 0xC6, 0xEF, 0x41, 0xF2, 0x90, 0xF1, 0xBC, 0x0E, 0x74, 0x57, 0x28, 0xE9, 0x61, 0x19,\r
+               0x7B, 0x69, 0x61, 0x84, 0x92, 0x26, 0xD2, 0x36, 0xD5, 0xED, 0x72, 0xA5, 0x7C, 0x5C, 0x55, 0x86,\r
+               0xB9, 0x7A, 0x39, 0xBC, 0x67, 0x4B, 0x83, 0xA5, 0xB2, 0xA3, 0xF3, 0xD0, 0xC1, 0x40, 0xFB, 0x5B,\r
+               0x2F, 0xBA, 0x76, 0xB1, 0x07, 0x09, 0x1D, 0x4D, 0x85, 0xDA, 0xB6, 0x2F, 0xC2, 0xBE, 0xBC, 0xF7,\r
+               0x38, 0x6E, 0x98, 0xE8, 0x17, 0x96, 0xC6, 0x6C, 0x09, 0xDB, 0x27, 0xCD, 0x2C, 0x8E, 0x5D, 0x42,\r
+               0xD1, 0xEB, 0xDB, 0xEC, 0x26, 0x90, 0x3E, 0xBD, 0x1A, 0xE9, 0xD5, 0xA9, 0x10, 0x21, 0xC4, 0xD1,\r
+               0x97, 0x4A, 0x49, 0xC1, 0x4B, 0x8A, 0x12, 0xB6, 0xED, 0x97, 0x86, 0x56, 0xE4, 0x28, 0xA3, 0xEA,\r
+               0x19, 0x2C, 0x35, 0xFC, 0x63, 0xFF, 0x1A, 0xE2, 0x0E, 0x3A, 0x20, 0x16, 0x47, 0x9A, 0x07, 0x16,\r
+               0xE3, 0x52, 0x3B, 0x62, 0xC3, 0xB6, 0xAA, 0x8A, 0x52, 0x46, 0x80, 0xDA, 0x39, 0x02, 0xF5, 0xA8,\r
+               0x42, 0x07, 0xCD, 0xAF, 0x03, 0x53, 0x91, 0x35, 0x62, 0xDD, 0x0D, 0xE4, 0x2A, 0xC9, 0xB1, 0xEC,\r
+               0x76, 0xA5, 0xDF, 0xDF, 0x56, 0x9B, 0x8C, 0xDA, 0x7D, 0x89, 0xA4, 0xF4, 0x23, 0xA3, 0xDB, 0xE5,\r
+               0xD3, 0x8E, 0xC2, 0x3C, 0x06, 0x9B, 0x6E, 0x1D, 0xEB, 0x2D, 0x1B, 0xE2, 0x79, 0x66, 0xFD, 0xAF,\r
+               0x48, 0x7B, 0x29, 0x67, 0xA1, 0xF8, 0xC5, 0x6D, 0x19, 0x00, 0x89, 0x21, 0x03, 0x24, 0xDE, 0xFA,\r
+               0x17, 0xAC, 0xA7, 0x84, 0xC2, 0x63, 0xEC, 0x6C, 0x05, 0x6B, 0xFD, 0x3C, 0xD7, 0x16, 0x6E, 0xA0,\r
+               0xA1, 0x82, 0x9C, 0xBA, 0x87, 0x7A, 0x56, 0xF3, 0x81, 0x87, 0x4C, 0x0D, 0x72, 0x60, 0x3B, 0xFE,\r
+               0xB9, 0x2F, 0xB0, 0xE8, 0xC5, 0x89, 0xC9, 0x88, 0x3B, 0xAA, 0x74, 0xC0, 0x19, 0x7F, 0x70, 0x90,\r
+               0xC3, 0xB7, 0xFD, 0x2F, 0x1F, 0x04, 0xB7, 0x0B, 0x5F, 0x27, 0x0C, 0x41, 0x85, 0xE6, 0x70, 0x97,\r
+               0x83, 0x4C, 0xBB, 0xD0, 0xC9, 0xF2, 0xC8, 0xD4, 0xA2, 0xC8, 0x14, 0xBF, 0x14, 0x63, 0x7D, 0x4B,\r
+               0x75, 0x4A, 0x16, 0x3A, 0xB6, 0x7F, 0xFF, 0x24, 0xDD, 0xAC, 0xF2, 0x1F, 0x39, 0x9A, 0xF3, 0xAC,\r
+               0x9E, 0x02, 0xAC, 0x6C, 0x57, 0x96, 0xE4, 0x47, 0x23, 0x9F, 0xBF, 0x32, 0x5B, 0xD3, 0x3C, 0xEA,\r
+               0x6D, 0xF7, 0xCA, 0x18, 0x14, 0x1B, 0x33, 0xD5, 0xC7, 0xA2, 0x96, 0x00, 0x62, 0x4E, 0xB5, 0x42,\r
+               0x42, 0xFE, 0x48, 0xC3, 0x14, 0xC9, 0x8A, 0xF0, 0x4A, 0x6E, 0xBA, 0x83, 0x52, 0xF8, 0x94, 0x11,\r
+               0x2A, 0xB1, 0x3F, 0x03, 0x51, 0x03, 0x62, 0xB0, 0x18, 0x25, 0xF9, 0x01, 0x64, 0x69, 0x9B, 0xA8,\r
+               0x24, 0x80, 0x4A, 0x2A, 0x40, 0x9E, 0xD8, 0xFE, 0x43, 0xC1, 0x0E, 0xBD, 0x07, 0xC2, 0x3C, 0x86,\r
+               0x41, 0xF2, 0x05, 0x56, 0x7E, 0x48, 0x5D, 0x96, 0x85, 0x94, 0xC5, 0x87, 0xB6, 0xD4, 0x13, 0x80,\r
+               0xD2, 0x6D, 0x21, 0xE2, 0x6C, 0x53, 0xC6, 0xA8, 0x57, 0xBB, 0x51, 0xF6, 0xEA, 0xC7, 0xCF, 0x08,\r
+               0xF5, 0x1A, 0xE9, 0xDD, 0x7C, 0x15, 0x53, 0xF7, 0xA6, 0xF8, 0x1B, 0xBA, 0x89, 0x38, 0x78, 0xA1,\r
+               0x5A, 0x7A, 0x24, 0x79, 0x3B, 0xFE, 0x93, 0x05, 0x73, 0x5E, 0xF7, 0x97, 0x7D, 0x64, 0xAD, 0xE3,\r
+               0x43, 0xAB, 0x9A, 0x12, 0x07, 0x45, 0xA5, 0xEE, 0x77, 0xF6, 0x61, 0xE5, 0x4A, 0xCB, 0x73, 0xAF,\r
+               0xB0, 0x73, 0x4B, 0x62, 0xFF, 0xDD, 0x22, 0x26, 0xDF, 0x21, 0x6C, 0x17, 0x07, 0x57, 0xDD, 0x0D,\r
+               0x9D, 0xEB, 0x3E, 0xFB, 0xD9, 0x67, 0xCF, 0x7D, 0x06, 0xCE, 0x1F, 0xDC, 0xD5, 0x45, 0xDF, 0x98,\r
+               0xD1, 0x79, 0x93, 0xA3, 0x62, 0x89, 0x01, 0x13, 0x33, 0x27, 0xDE, 0xE7, 0x95, 0x0F, 0x9B, 0x60,\r
+               0xEF, 0xE7, 0xBD, 0x42, 0x95, 0x7E, 0xA3, 0x10, 0x57, 0x58, 0x1D, 0x19, 0x8F, 0x9C, 0x81, 0x0A,\r
+               0x00, 0x5A, 0x9E, 0xE5, 0xAB, 0xE8, 0xAF, 0xE3, 0xD1, 0x11, 0x06, 0x76, 0xA9, 0x65, 0x55, 0xDB,\r
+               0x87, 0xC5, 0x85, 0xBE, 0x23, 0x95, 0x77, 0x6D, 0x0B, 0xCE, 0x26, 0x3C, 0x87, 0x1E, 0xDF, 0xF7,\r
+               0xB3, 0x22, 0xDD, 0x2F, 0x30, 0xEA, 0x70, 0x20, 0xF5, 0x02, 0x5C, 0x23, 0x8B, 0x1C, 0x67, 0x97,\r
+               0xFA, 0x4A, 0xF7, 0xB9, 0x4D, 0x99, 0xB5, 0x8A, 0x10, 0x4C, 0xF0, 0xAD, 0x48, 0x09, 0xBE, 0xEC,\r
+               0x4F, 0x5D, 0xDC, 0x6C, 0x88, 0xA9, 0xEA, 0x07, 0x37, 0x63, 0x04, 0xB7, 0x13, 0x50, 0xDF, 0xE8,\r
+               0x72, 0xEF, 0xFD, 0x55, 0x95, 0xA3, 0x34, 0xAE, 0x38, 0x27, 0x3C, 0x8B, 0xF2, 0xF6, 0x4E, 0x79,\r
+               0xAA, 0x40, 0xEB, 0x15, 0x62, 0x63, 0x95, 0xCD, 0x8B, 0x14, 0xF3, 0x83, 0xD3, 0x25, 0x09, 0xD5,\r
+               0xED, 0xF4, 0xCF, 0x81, 0x55, 0xF4, 0xB4, 0x95, 0x77, 0xB7, 0xC0, 0x00, 0xC9, 0xAD, 0x99, 0xE1,\r
+               0x8D, 0xB2, 0x90, 0xE4, 0x40, 0x6F, 0xF1, 0xD6, 0x10, 0x71, 0xCA, 0xA0, 0xA8, 0x07, 0xBC, 0xCF,\r
+               0x79, 0x12, 0x57, 0x7C, 0xDF, 0xA6, 0x91, 0x5D, 0x6F, 0x2C, 0x2D, 0x94, 0x22, 0xA4, 0x13, 0x18,\r
+               0x18, 0xEF, 0xEE, 0xCE, 0x95, 0x15, 0x19, 0x23, 0x4D, 0x04, 0xFC, 0x01, 0xD4, 0x82, 0xF3, 0x1E,\r
+               0xD5, 0xB8, 0xF5, 0x14, 0xE5, 0xFC, 0x52, 0x87, 0xFA, 0x28, 0x0D, 0x76, 0x98, 0xD7, 0xD2, 0x7B,\r
+               0xBC, 0x2D, 0x93, 0x1A, 0xEE, 0x17, 0x89, 0xAD, 0x9D, 0x9A, 0x0B, 0xFD, 0x33, 0x23, 0x26, 0x4E,\r
+               0x31, 0x6C, 0x53, 0x67, 0x39, 0x39, 0x37, 0x62, 0x5D, 0x26, 0x85, 0x56, 0xA3, 0x3B, 0xC2, 0xEB,\r
+               0xD6, 0x80, 0xE9, 0x90, 0xD6, 0xE4, 0x80, 0x52, 0x85, 0x73, 0x49, 0xEB, 0x7E, 0xBB, 0x8B, 0x11,\r
+               0x8F, 0xF7, 0xB6, 0x5B, 0xEC, 0x70, 0x6A, 0xF1, 0x52, 0x3D, 0x6F, 0xC3, 0xA5, 0xDF, 0xA8, 0xB3,\r
+               0x8C, 0x09, 0xFE, 0x54, 0x12, 0xF7, 0x3A, 0xC1, 0x87, 0x94, 0x3E, 0x3C, 0xB1, 0xE7, 0x0F, 0x44,\r
+               0xE3, 0x98, 0x99, 0x59, 0x9A, 0x59, 0x67, 0xE3, 0x26, 0x86, 0xEE, 0xC0, 0x6D, 0x2B, 0x10, 0xA3,\r
+               0x39, 0x3A, 0x47, 0xFE, 0x91, 0xEE, 0x59, 0xB9, 0x26, 0xE0, 0xFE, 0xD5, 0x6E, 0x7D, 0xED, 0x90,\r
+               0xAE, 0x87, 0x9B, 0xF2, 0x5F, 0x8F, 0xBD, 0x46, 0xD3, 0x10, 0xCC, 0xD6, 0x32, 0xA9, 0x7F, 0x85,\r
+               0xC4, 0xDE, 0x87, 0x3D, 0xF2, 0x3B, 0x5B, 0xF5, 0xC9, 0xA5, 0xDC, 0x90, 0xF4, 0x08, 0x79, 0xA8,\r
+               0x90, 0x11, 0x20, 0x4D, 0x8D, 0x98, 0xA0, 0x9B, 0x72, 0x44, 0x03, 0xCE, 0x73, 0x5F, 0x87, 0xF5,\r
+               0xE5, 0xF0, 0x95, 0x76, 0xC3, 0x78, 0x10, 0x4D, 0x34, 0x53, 0x02, 0xF5, 0x73, 0x68, 0x43, 0xAF,\r
+               0x21, 0x68, 0xA9, 0xDF, 0x95, 0x4B, 0x46, 0xB8, 0xB6, 0xEB, 0x7B, 0x4D, 0x75, 0x76, 0x70, 0xBE,\r
+               0x97, 0x39, 0xE6, 0x3B, 0x97, 0xC6, 0x3F, 0x49, 0xD2, 0xFF, 0x47, 0xAF, 0x7E, 0x55, 0x7E, 0x59,\r
+               0x58, 0x90, 0xC6, 0x89, 0x1A, 0x75, 0x71, 0x22, 0x1E, 0xC3, 0xF4, 0xCF, 0x4D, 0x32, 0xE9, 0x67,\r
+               0x44, 0x81, 0x01, 0x9F, 0x17, 0x85, 0x35, 0xEC, 0xCC, 0xD8, 0xE2, 0x37, 0x47, 0xA8, 0x3B, 0xA2,\r
+               0xA6, 0x22, 0x86, 0x39, 0xCD, 0xFF, 0x2E, 0x8C, 0x72, 0x15, 0xB8, 0xEF, 0x69, 0xE0, 0x51, 0x82,\r
+               0x15, 0x92, 0x08, 0xEB, 0x60, 0x55, 0x27, 0xE2, 0xA2, 0xE4, 0xB6, 0xA1, 0x0C, 0xBE, 0xE0, 0x25,\r
+               0xCE, 0x81, 0x4C, 0xEE, 0x0E, 0x80, 0x30, 0x24, 0xC0, 0xEF, 0x86, 0x50, 0x6D, 0x2F, 0xFA, 0x85,\r
+               0xDA, 0xD6, 0x83, 0xF0, 0xCF, 0x57, 0x73, 0x4C, 0xC6, 0xD0, 0x54, 0x7F, 0x03, 0x7A, 0xE4, 0xD5,\r
+               0x8B, 0x51, 0x44, 0x37, 0x9B, 0x05, 0xB1, 0xF0, 0x58, 0x8C, 0x48, 0x38, 0x86, 0xFB, 0x01, 0x02,\r
+               0xE8, 0x63, 0xE0, 0x4D, 0x66, 0xF1, 0x9B, 0x8D, 0x7C, 0xE8, 0xD0, 0xE9, 0x1C, 0xB2, 0xAE, 0x84,\r
+               0x98, 0x73, 0xB0, 0x07, 0xEB, 0x0D, 0x4D, 0x97, 0x12, 0x36, 0xE1, 0x67, 0x92, 0x7C, 0x41, 0xC8,\r
+               0x6B, 0x36, 0x7E, 0xF6, 0x23, 0x15, 0x94, 0xE1, 0xFD, 0x3A, 0xA7, 0xFF, 0xF3, 0x3D, 0x63, 0x19,\r
+               0x5E, 0xD9, 0x08, 0xE0, 0x54, 0x89, 0xE9, 0xCA, 0x2A, 0x83, 0x4B, 0x21, 0x7D, 0x78, 0x20, 0x84,\r
+               0x66, 0x96, 0x88, 0xA5, 0x37, 0x9B, 0xDB, 0x54, 0x5C, 0x5B, 0x6E, 0x19, 0xDB, 0x13, 0x9A, 0x15,\r
+               0xCD, 0xF7, 0x12, 0xF1, 0x31, 0x8F, 0x40, 0xDD, 0x2D, 0x35, 0x2C, 0x4F, 0x24, 0x81, 0x9A, 0x32,\r
+               0x99, 0x77, 0x8A, 0xD3, 0xDD, 0x6B, 0x4A, 0x56, 0x42, 0xB1, 0xC1, 0xB3, 0xC3, 0x05, 0xCA, 0x1F,\r
+               0x84, 0x90, 0x1D, 0xDE, 0x81, 0x0D, 0x7E, 0xBD, 0x72, 0x98, 0xAB, 0x30, 0x1A, 0xAC, 0x09, 0x65,\r
+               0x12, 0x05, 0x70, 0x6C, 0xFA, 0x22, 0x11, 0x80, 0x4D, 0x6C, 0x92, 0x5B, 0x0D, 0x28, 0x3F, 0x7D,\r
+               0xA2, 0x63, 0x3A, 0xDE, 0xBE, 0x21, 0xEB, 0x80, 0xE1, 0x70, 0x0A, 0x80, 0xF8, 0x88, 0x16, 0xA6,\r
+               0x36, 0x0D, 0xEE, 0x76, 0x47, 0xAB, 0xD9, 0xA5, 0xA7, 0x21, 0x29, 0xE6, 0xEE, 0xDD, 0xD7, 0x65,\r
+               0x1A, 0xAA, 0x7D, 0x13, 0xC2, 0xAF, 0x9F, 0x80, 0x3E, 0xFB, 0x20, 0x6A, 0x59, 0x8E, 0x95, 0x90,\r
+               0x1C, 0xEB, 0x17, 0x93, 0x5C, 0xC4, 0x6F, 0x17, 0xE4, 0x49, 0x35, 0x29, 0x3D, 0x57, 0xCB, 0xFC,\r
+               0xCA, 0xF5, 0x5D, 0x6D, 0xC0, 0xFA, 0x1F, 0x7F, 0xC6, 0xAF, 0xFB, 0x0B, 0xE8, 0x66, 0xA5, 0xC0,\r
+               0x13, 0xE0, 0x26, 0xA0, 0xC6, 0xBC, 0xEC, 0xBC, 0x55, 0x75, 0xBA, 0xFD, 0x19, 0x20, 0xFD, 0xBA,\r
+               0x6E, 0x75, 0x5C, 0x03, 0x57, 0x2F, 0xD9, 0x97, 0x36, 0x73, 0xFF, 0x88, 0xED, 0xCC, 0x03, 0x5D,\r
+               0xA0, 0x76, 0x6A, 0x9F, 0x7B, 0x55, 0x92, 0xF8, 0xBF, 0x68, 0x39, 0x75, 0x4E, 0x31, 0xDB, 0xE1,\r
+               0xB7, 0x7D, 0x9D, 0x2C, 0x0C, 0x58, 0x49, 0x26, 0x15, 0x03, 0xA8, 0xC5, 0xB9, 0x01, 0xBE, 0x96,\r
+               0xF4, 0xCE, 0x11, 0x54, 0x20, 0xFB, 0x5D, 0x63, 0xAA, 0x1B, 0xFD, 0xA8, 0x60, 0xD3, 0x3B, 0x3C,\r
+               0x36, 0xA5, 0x9F, 0x9B, 0x19, 0xCF, 0x0C, 0x47, 0xC1, 0x0D, 0x7C, 0x5F, 0x05, 0xCF, 0x17, 0x20,\r
+               0x96, 0x87, 0x52, 0xF4, 0xC8, 0xF4, 0x95, 0x3D, 0x94, 0x7E, 0xAF, 0x31, 0xA1, 0x15, 0x33, 0x20,\r
+               0x6C, 0xCE, 0xFA, 0xB8, 0x03, 0xAD, 0x25, 0xBD, 0x26, 0x5E, 0x0F, 0xA0, 0x24, 0x8D, 0x27, 0xFC,\r
+               0x5E, 0x7C, 0x5A, 0x03, 0x5B, 0x9B, 0xB1, 0xD4, 0xC7, 0xBE, 0x5A, 0xBC, 0xF1, 0xAE, 0x0B, 0x61,\r
+               0x18, 0x59, 0x5F, 0x2C, 0x2F, 0x9D, 0x9D, 0xA4, 0x26, 0xF2, 0x09, 0x6F, 0x68, 0xA7, 0xC7, 0xD9,\r
+               0x5C, 0xA1, 0x2A, 0x93, 0xF8, 0x40, 0xE1, 0x2D, 0x9E, 0x4D, 0x94, 0x2F, 0xCE, 0xE9, 0x30, 0x10,\r
+               0xC7, 0xB8, 0x2A, 0x91, 0x0C, 0xD8, 0x4A, 0x3B, 0x68, 0x21, 0x06, 0xC2, 0x14, 0xAB, 0x24, 0xDC,\r
+               0xCD, 0x50, 0xE3, 0x43, 0xDE, 0xED, 0x1E, 0x83, 0x24, 0xCC, 0x82, 0x90, 0x2B, 0x46, 0xAE, 0xA8,\r
+               0xF9, 0xC3, 0x2A, 0x56, 0x46, 0xE2, 0x03, 0xA2, 0xFB, 0x34, 0x2B, 0xA6, 0xF7, 0x2C, 0xB8, 0xDF,\r
+               0xBD, 0x0B, 0x17, 0x88, 0xF4, 0x24, 0x0B, 0x3D, 0x42, 0x09, 0x60, 0x9A, 0xDD, 0xB9, 0x06, 0x79,\r
+               0xE0, 0x8E, 0xF0, 0x3F, 0x20, 0xC5, 0x64, 0x8F, 0xFD, 0x44, 0xAC, 0xE2, 0x0B, 0x69, 0x27, 0x4F,\r
+               0xDE, 0x1F, 0xE1, 0x9D, 0x3A, 0x3F, 0xBE, 0xDF, 0x2C, 0x88, 0xFA, 0xA6, 0x62, 0x79, 0xE1, 0x25,\r
+               0x3A, 0xB0, 0xC9, 0x12, 0x96, 0x63, 0x29, 0x8E, 0x7D, 0xBF, 0x2E, 0x93, 0x54, 0x4B, 0x1E, 0x92,\r
+               0x0E, 0x13, 0x99, 0x26, 0xE6, 0xA9, 0x3B, 0x0E, 0xD8, 0xEE, 0xA4, 0x8E, 0xFA, 0x8C, 0x8B, 0xF3,\r
+               0xB0, 0xF0, 0xFB, 0xEB, 0xC6, 0x52, 0xB6, 0xDF, 0xEB, 0x77, 0xBC, 0x05, 0xFF, 0x02, 0xE2, 0x18,\r
+               0x07, 0x99, 0x8A, 0x34, 0x7F, 0xC9, 0x51, 0xEF, 0x43, 0xC7, 0x3C, 0x67, 0x83, 0xCE, 0xAA, 0x78,\r
+               0xED, 0x4B, 0xF8, 0x62, 0xDB, 0x8D, 0x08, 0x59, 0xCF, 0x55, 0x58, 0xDB, 0xFF, 0xE8, 0x06, 0x4E,\r
+               0xB8, 0xAE, 0x32, 0x63, 0x87, 0x2A, 0x10, 0x71, 0x74, 0xAD, 0xD2, 0xAC, 0x43, 0xC0, 0xFA, 0x36,\r
+               0xF6, 0xAC, 0x99, 0x4B, 0x46, 0x9B, 0xDF, 0xF2, 0x69, 0xE0, 0xB5, 0xE3, 0xE2, 0x73, 0x68, 0xF2,\r
+               0xB2, 0xA0, 0xC4, 0xE1, 0x44, 0x52, 0xC3, 0xEB, 0x5F, 0xD6, 0x2F, 0xB4, 0xF9, 0x65, 0x41, 0x7C,\r
+               0xA9, 0xD7, 0xC5, 0x03, 0xC0, 0x73, 0x21, 0x45, 0xD7, 0x60, 0x67, 0xCD, 0x48, 0x3F, 0x08, 0x2A,\r
+               0xDC, 0xE5, 0xD5, 0xB7, 0x46, 0x29, 0x43, 0x13, 0xB1, 0x6F, 0x8F, 0xEA, 0x14, 0x5B, 0xA5, 0x8A,\r
+               0x27, 0x17, 0x78, 0x1B, 0xAC, 0xBE, 0x17, 0xC2, 0x4A, 0xD7, 0xD8, 0x6F, 0x14, 0x84, 0xA9, 0xBB,\r
+               0x97, 0xE0, 0xE5, 0x65, 0xAD, 0xEE, 0x62, 0x04, 0x35, 0xEB, 0xEF, 0x77, 0xE6, 0x85, 0xE8, 0xA1,\r
+               0xC1, 0x93, 0xA0, 0x2F, 0x9D, 0x4A, 0xA6, 0x48, 0xB3, 0x33, 0xF1, 0xB5, 0xC9, 0xFC, 0xAC, 0x5F,\r
+               0x28, 0x11, 0xCF, 0x3A, 0x16, 0xDC, 0x87, 0x29, 0xB2, 0x12, 0xE2, 0x4A, 0x8D, 0x81, 0xA4, 0x04,\r
+               0xF0, 0x33, 0x11, 0x1C, 0x2F, 0xCE, 0x00, 0xAF, 0x87, 0x57, 0x99, 0xA5, 0xBE, 0xA1, 0x3D, 0x76,\r
+               0xF7, 0x56, 0xAB, 0xD8, 0xE4, 0xFC, 0x34, 0xD7, 0x55, 0x57, 0x9B, 0x09, 0xF3, 0xDB, 0xB9, 0x13,\r
+               0x32, 0x89, 0x93, 0xB0, 0x60, 0x30, 0x7D, 0xBE, 0x8F, 0x12, 0x8E, 0xDA, 0x33, 0x77, 0xCC, 0xC3,\r
+               0xA5, 0x38, 0xD9, 0x14, 0xB1, 0x1F, 0x37, 0x95, 0x39, 0xAD, 0xD0, 0x33, 0x40, 0xEB, 0x6E, 0x13,\r
+               0x48, 0x81, 0x7D, 0x2B, 0x0D, 0xA6, 0x1A, 0x86, 0xA2, 0xC6, 0xC2, 0x97, 0xF3, 0x98, 0xCB, 0x35,\r
+               0x86, 0x8C, 0x59, 0x56, 0xC6, 0x99, 0x56, 0x06, 0xC2, 0x55, 0x88, 0x0D, 0x48, 0x59, 0x6D, 0x9C,\r
+               0x24, 0x6A, 0x4E, 0xD5, 0x01, 0x37, 0x68, 0xDA, 0x92, 0xE4, 0x1B, 0xE5, 0x5B, 0x9A, 0x52, 0x8B,\r
+               0x76, 0x0C, 0x5D, 0x7F, 0x34, 0xCA, 0x0A, 0x14, 0x48, 0x4F, 0x80, 0x9F, 0x39, 0x4D, 0x38, 0x10,\r
+               0x16, 0x83, 0xD8, 0x03, 0xFD, 0x57, 0xFE, 0x6A, 0x65, 0x86, 0x23, 0xBE, 0xD8, 0xAA, 0x24, 0x12,\r
+               0x9E, 0x10, 0xF2, 0xE0, 0xEB, 0x5A, 0x9F, 0x74, 0x6D, 0x69, 0x05, 0xD5, 0xD1, 0x7B, 0xB3, 0x63,\r
+               0xD5, 0xA4, 0x80, 0x36, 0x84, 0x34, 0x52, 0x07, 0xBC, 0xD2, 0x50, 0x06, 0x4D, 0x8A, 0xB5, 0x5F,\r
+               0x6D, 0x71, 0x1C, 0xDD, 0x10, 0x78, 0xC8, 0x7F, 0xAE, 0x0A, 0xD7, 0x29, 0xB7, 0x83, 0xDF, 0x9A,\r
+               0xB3, 0xE2, 0x65, 0x1D, 0xC8, 0xAD, 0xF5, 0x07, 0x24, 0xD4, 0x71, 0x08, 0xDC, 0xBB, 0x86, 0x4C,\r
+               0x12, 0xDC, 0x6E, 0xDA, 0x27, 0xB9, 0x2D, 0x9A, 0x92, 0x3F, 0xA2, 0xF1, 0xCA, 0x74, 0xBD, 0x20,\r
+               0x33, 0x6E, 0xF3, 0xDE, 0xA9, 0x91, 0x6A, 0x61, 0xBB, 0xBB, 0x2A, 0x61, 0x9B, 0x47, 0x07, 0xDA,\r
+               0x4F, 0x06, 0x99, 0x79, 0xDA, 0x38, 0x04, 0x23, 0xF2, 0x7E, 0xE4, 0x5D, 0x90, 0x93, 0x02, 0x03,\r
+               0x78, 0x31, 0x73, 0x0B, 0x8A, 0xAC, 0xF2, 0xCE, 0xD4, 0x07, 0x1D, 0xFF, 0x80, 0x75, 0xAC, 0x9E,\r
+               0x63, 0xD9, 0x17, 0xD3, 0xAB, 0x2A, 0x19, 0xC1, 0x2D, 0x62, 0x54, 0xF7, 0xFD, 0x38, 0xA3, 0x8B,\r
+               0xB4, 0xA7, 0x45, 0x60, 0x52, 0x36, 0xEA, 0x87, 0x1B, 0x15, 0xC9, 0xDC, 0xA8, 0x11, 0x87, 0x6B,\r
+               0x6B, 0x59, 0xFF, 0xD6, 0x87, 0xAE, 0x90, 0xC0, 0xD0, 0x55, 0x91, 0x1A, 0x7A, 0x7A, 0xBE, 0xEE,\r
+               0xD1, 0x0B, 0xFC, 0xED, 0x24, 0xF8, 0x26, 0x83, 0x70, 0x60, 0xE7, 0xBA, 0x47, 0xCB, 0x8D, 0x2B,\r
+               0x4E, 0x6A, 0xD0, 0xC4, 0xD6, 0x71, 0x3E, 0x39, 0x17, 0x10, 0xF8, 0xDD, 0x78, 0xF3, 0xFF, 0xCC,\r
+               0x30, 0xC7, 0x5E, 0xC2, 0xF7, 0x2B, 0x44, 0x93, 0xE6, 0x8D, 0x61, 0x58, 0xF1, 0x8B, 0x31, 0xA7,\r
+               0x41, 0xC4, 0xA3, 0x05, 0xBB, 0xB9, 0x55, 0xE7, 0x86, 0x56, 0x40, 0x47, 0xB8, 0xD6, 0xAF, 0xD4,\r
+               0xD4, 0xC1, 0x22, 0xBF, 0x17, 0x55, 0x72, 0xB9, 0x7B, 0x8F, 0xBF, 0x50, 0xF2, 0x9C, 0x1D, 0x0C,\r
+               0x14, 0x34, 0xA8, 0x87, 0xC4, 0x77, 0xDD, 0x1D, 0x82, 0xA5, 0xE3, 0x9E, 0x17, 0x70, 0x7B, 0xB7,\r
+               0x22, 0x01, 0x08, 0xB9, 0xA2, 0xD9, 0xC4, 0x87, 0x6F, 0x62, 0x4C, 0x26, 0xF6, 0xE6, 0x61, 0x90,\r
+               0x0D, 0x76, 0xDA, 0x87, 0xE5, 0xD9, 0xC5, 0xC6, 0x3B, 0xFC, 0x7F, 0xBE, 0x86, 0x3D, 0x00, 0x89,\r
+               0xE5, 0xD4, 0x2F, 0x36, 0x21, 0x66, 0xAD, 0x5E, 0x39, 0x9C, 0xEE, 0xE4, 0x27, 0x7E, 0xF4, 0x8A,\r
+               0x5F, 0xBC, 0x8A, 0xD6, 0xC4, 0x01, 0xA3, 0x0F, 0x5B, 0x19, 0x45, 0xF6, 0x8D, 0x89, 0x25, 0xB9,\r
+               0xDA, 0x72, 0x7D, 0x67, 0x8F, 0xAA, 0xC6, 0x3A, 0xF5, 0x08, 0x53, 0xB3, 0x46, 0x42, 0x38, 0x35,\r
+               0x0B, 0x8F, 0x50, 0xBD, 0xC5, 0xC3, 0x33, 0x32, 0xDD, 0x74, 0xAA, 0xD7, 0xD8, 0x5A, 0x92, 0x9B,\r
+               0x2B, 0x17, 0x02, 0x9F, 0xAB, 0xCF, 0x48, 0x99, 0x7E, 0x1A, 0x2D, 0xFB, 0x1A, 0x82, 0x25, 0x58,\r
+               0xDD, 0x9A, 0x1D, 0x8B, 0xAB, 0x90, 0x24, 0x57, 0xF3, 0x68, 0xD7, 0xBC, 0x19, 0x98, 0x94, 0xE2,\r
+               0x71, 0x5C, 0xEE, 0xE5, 0xEF, 0x88, 0x31, 0x22, 0x44, 0x16, 0x9E, 0x78, 0x35, 0x5D, 0x44, 0xED,\r
+               0x32, 0xBC, 0x4F, 0xE5, 0x3F, 0x26, 0x68, 0x9E, 0xBD, 0x91, 0xB0, 0x14, 0x1E, 0xE2, 0x03, 0x6E,\r
+               0x41, 0x2D, 0x39, 0xB5, 0x9E, 0xEA, 0x7A, 0x08, 0x7E, 0x87, 0x9D, 0xA1, 0xCD, 0x0F, 0x9A, 0x37,\r
+               0x30, 0x89, 0x13, 0x3B, 0xC0, 0x01, 0xB1, 0x6B, 0xAD, 0xED, 0xC2, 0x38, 0xF5, 0x8E, 0x13, 0x33,\r
+               0xF3, 0x79, 0x88, 0xB5, 0xB8, 0x46, 0x22, 0x7A, 0xDF, 0xAB, 0xFC, 0x1B, 0x8E, 0x2C, 0x95, 0x9A,\r
+               0x00, 0x80, 0x7F, 0x22, 0x24, 0x47, 0x89, 0x5C, 0x20, 0xCD, 0x54, 0x24, 0xD0, 0xBC, 0x3E, 0xE3,\r
+               0xE7, 0x04, 0x53, 0xAE, 0xA2, 0x96, 0x2A, 0x9B, 0x32, 0xAD, 0xA0, 0x94, 0xAA, 0xDC, 0xAB, 0x77,\r
+               0x20, 0x89, 0x45, 0xF2, 0x34, 0xC3, 0xFA, 0x74, 0xF9, 0xD6, 0xF8, 0xBF, 0x85, 0x7F, 0xE7, 0xAD,\r
+               0xD1, 0x54, 0xA4, 0xD2, 0x7B, 0x0A, 0xAF, 0xF2, 0x87, 0x7A, 0x35, 0x64, 0x04, 0x34, 0x0C, 0x4D,\r
+               0x11, 0xBB, 0x83, 0x5E, 0x30, 0xE4, 0xDB, 0x58, 0xAF, 0x1A, 0x5F, 0x91, 0xB2, 0x19, 0x1B, 0x42,\r
+               0x29, 0xFB, 0xFA, 0x5F, 0xD2, 0xFE, 0x7D, 0x61, 0xA5, 0x0A, 0x62, 0x22, 0xFC, 0xC7, 0x84, 0xE1,\r
+               0xED, 0xDF, 0x59, 0xAE, 0xF3, 0xC7, 0x80, 0x0F, 0x3B, 0x42, 0xC0, 0xE4, 0xD5, 0x99, 0x4A, 0x42,\r
+               0xDE, 0x2B, 0x46, 0xB5, 0x19, 0xED, 0x08, 0x19, 0xED, 0x35, 0x87, 0xE7, 0x54, 0xB8, 0xB9, 0xBD,\r
+               0xDF, 0x38, 0x9A, 0x59, 0xE1, 0x07, 0xB7, 0xEC, 0x48, 0x9A, 0x58, 0x62, 0xA1, 0xD2, 0x92, 0xCA,\r
+               0x39, 0x78, 0x14, 0x5B, 0x06, 0xFD, 0x4E, 0xC0, 0xB1, 0x70, 0xAE, 0x1E, 0x96, 0xE5, 0xDF, 0x34,\r
+               0xBB, 0x19, 0x99, 0x08, 0x1C, 0xAF, 0x63, 0xE6, 0x0F, 0x7A, 0x40, 0xD7, 0xC3, 0x1E, 0x96, 0x97,\r
+               0x92, 0x97, 0xD2, 0x37, 0x22, 0x58, 0xFE, 0x88, 0x3E, 0x3C, 0xB3, 0xA8, 0xAC, 0xC9, 0x6F, 0x87,\r
+               0x61, 0x6F, 0xC4, 0x6A, 0xAC, 0x6B, 0x4D, 0x1F, 0xD1, 0x83, 0x8C, 0x7B, 0x62, 0x7B, 0x2D, 0xB9,\r
+               0xD0, 0x14, 0x34, 0x55, 0xF2, 0x75, 0x3B, 0x4E, 0x5F, 0x63, 0x3A, 0x02, 0xF9, 0xC1, 0x4D, 0x2D,\r
+               0x21, 0x22, 0x4B, 0xF1, 0x9A, 0x78, 0xCB, 0x39, 0x78, 0x9D, 0xEE, 0x9E, 0xE8, 0x9A, 0x55, 0x3F,\r
+               0x59, 0xCD, 0x76, 0xB5, 0x0C, 0xCD, 0x52, 0x71, 0xB0, 0x73, 0x94, 0x92, 0x25, 0xE4, 0xE9, 0x53,\r
+               0x36, 0x0F, 0x89, 0x99, 0x48, 0x41, 0x15, 0x83, 0xED, 0xC2, 0xD8, 0x17, 0x7B, 0x7E, 0x2A, 0x0C,\r
+               0x7C, 0x89, 0x51, 0x8B, 0xC1, 0xC7, 0xEA, 0x46, 0x51, 0x50, 0xFF, 0x83, 0xA1, 0xEB, 0x84, 0x1A,\r
+               0x4C, 0xCD, 0x4F, 0xB0, 0xFA, 0xF6, 0xE6, 0x56, 0xB5, 0x4C, 0x6E, 0x88, 0xCF, 0x88, 0x9A, 0x72,\r
+               0xDA, 0xB2, 0x62, 0x4C, 0xE0, 0x5C, 0x49, 0x62, 0xCC, 0x21, 0x77, 0x45, 0xD4, 0xBE, 0xBD, 0x64,\r
+               0xD4, 0xF5, 0x54, 0xDF, 0x60, 0x9F, 0x44, 0x07, 0x9D, 0x08, 0x07, 0xFB, 0x6F, 0x4F, 0x6B, 0x54,\r
+               0x97, 0xAF, 0xC5, 0x29, 0xEC, 0x55, 0xD5, 0xD5, 0x72, 0x87, 0x6F, 0x50, 0xC2, 0xA7, 0xF7, 0x94,\r
+               0xE8, 0x1D, 0xFA, 0x06, 0x1D, 0x52, 0xF9, 0x32, 0x5E, 0xC5, 0x6C, 0xD2, 0x3E, 0x70, 0xB7, 0x6C,\r
+               0x23, 0x89, 0x32, 0x26, 0xE2, 0xFE, 0xEF, 0x04, 0x48, 0x15, 0x09, 0x50, 0xA4, 0xF5, 0x73, 0x28,\r
+               0xCC, 0x60, 0x03, 0x66, 0xF8, 0x05, 0x51, 0xC6, 0x75, 0x4E, 0xB5, 0x9A, 0x72, 0x60, 0x8D, 0x35,\r
+               0xFD, 0x60, 0x0F, 0x2F, 0xF4, 0x2D, 0x9F, 0x2B, 0x69, 0xB3, 0xC5, 0x16, 0x9B, 0xB6, 0xBF, 0x7F,\r
+               0x66, 0xBA, 0x9C, 0xC5, 0x43, 0xFA, 0x55, 0xF4, 0xBC, 0x5D, 0x73, 0x6A, 0x3D, 0xC4, 0x72, 0xCD,\r
+               0x8A, 0x7A, 0x7E, 0x75, 0xD2, 0x14, 0x10, 0xAB, 0xC6, 0xA8, 0x46, 0x4D, 0x25, 0xB9, 0x0F, 0xC5,\r
+               0xAB, 0xE8, 0x78, 0x1C, 0xAE, 0xD9, 0x02, 0x7E, 0xC0, 0xA7, 0xE3, 0x34, 0x1B, 0x1D, 0x78, 0xF2,\r
+               0x9B, 0xFA, 0x33, 0x57, 0x3A, 0x82, 0x93, 0x8A, 0xF6, 0xFC, 0x38, 0xB4, 0x71, 0x0A, 0x6A, 0x08,\r
+               0x65, 0xB0, 0x16, 0x00, 0xA1, 0x88, 0xD6, 0x50, 0x4E, 0xF9, 0xA6, 0xFF, 0xE7, 0x9C, 0x28, 0xE4,\r
+               0x79, 0x08, 0x50, 0x92, 0x3A, 0xF8, 0x57, 0x2E, 0x9A, 0x34, 0xF7, 0xE4, 0x4D, 0x5E, 0x92, 0x38,\r
+               0x27, 0xAF, 0x85, 0xAF, 0x0A, 0x48, 0xA5, 0xB4, 0x9E, 0xB0, 0x8F, 0x34, 0xB2, 0xC6, 0x65, 0x65,\r
+               0xBF, 0xC3, 0x8B, 0xDB, 0x76, 0xCA, 0x05, 0xA9, 0x9B, 0xC7, 0x3F, 0x34, 0x09, 0x3C, 0xAA, 0xFF,\r
+               0x0D, 0xC8, 0xD7, 0xD1, 0x3E, 0xAC, 0xA3, 0x95, 0x69, 0x93, 0x37, 0x7A, 0xAF, 0xB2, 0xB1, 0x41,\r
+               0x04, 0xA9, 0x1F, 0xBE, 0xAA, 0x2C, 0xF0, 0xB8, 0x48, 0x4C, 0x1B, 0x7D, 0x92, 0xF4, 0xFC, 0x45,\r
+               0x01, 0xF5, 0x2F, 0x69, 0x82, 0x07, 0xAC, 0xEC, 0x4A, 0xA9, 0xE0, 0xED, 0xA6, 0x6D, 0xAD, 0x1D,\r
+               0x43, 0xF0, 0x4E, 0x8D, 0x28, 0x1D, 0x3E, 0x4F, 0x4B, 0x6F, 0x4B, 0xAA, 0x2E, 0xF6, 0xA8, 0x83,\r
+               0x86, 0xD5, 0x9E, 0x07, 0x76, 0x7C, 0x81, 0x68, 0x33, 0x87, 0xA9, 0xA7, 0x7D, 0x53, 0x3B, 0x0C,\r
+               0xEC, 0xA1, 0x29, 0xDE, 0x16, 0xE6, 0x28, 0xFA, 0x97, 0x6F, 0xB4, 0xE4, 0x62, 0x67, 0xCA, 0xEB,\r
+               0xC3, 0x4D, 0x06, 0xFD, 0x31, 0xB6, 0x06, 0x03, 0x32, 0x51, 0xCE, 0x76, 0x0E, 0x4A, 0x60, 0x16,\r
+               0x13, 0x94, 0xE1, 0xB9, 0x3A, 0xDD, 0xCA, 0x11, 0x23, 0x55, 0xA1, 0x6C, 0x25, 0x17, 0x15, 0x24,\r
+               0xE1, 0xEC, 0xB8, 0xF0, 0xF7, 0x34, 0x84, 0xFA, 0x49, 0x96, 0x83, 0x79, 0x18, 0x90, 0x29, 0xC0,\r
+               0xD3, 0x07, 0x98, 0x17, 0xA7, 0x25, 0x50, 0x93, 0x76, 0xB3, 0x14, 0x22, 0x19, 0x74, 0x8A, 0x02,\r
+               0xA8, 0x8F, 0xD5, 0x8C, 0x77, 0xCB, 0x16, 0xC3, 0xC2, 0xEC, 0x1C, 0x19, 0x5C, 0x1A, 0xF2, 0x35,\r
+               0x26, 0x69, 0x3F, 0xA9, 0xD9, 0xD5, 0x0E, 0xC3, 0x3E, 0x2E, 0x91, 0xA9, 0x1B, 0xA4, 0x6A, 0xA1,\r
+               0x42, 0xCD, 0x3B, 0xF3, 0x1C, 0x7A, 0xF2, 0x75, 0x47, 0xE8, 0xA2, 0x26, 0x56, 0x47, 0x3C, 0x14,\r
+               0x64, 0x82, 0xE7, 0x67, 0xB1, 0x25, 0x96, 0x7C, 0x21, 0x8D, 0xFB, 0x01, 0xF2, 0xAD, 0x86, 0x0F,\r
+               0xD9, 0x3F, 0xE3, 0xED, 0xE6, 0x6A, 0x1F, 0x2B, 0x3A, 0xAD, 0x75, 0x05, 0xAA, 0x5C, 0xB0, 0x6C,\r
+               0x6A, 0x18, 0x24, 0x91, 0x5B, 0x7A, 0x78, 0x20, 0xFD, 0x21, 0xBA, 0x22, 0xCB, 0x12, 0xEB, 0xD7,\r
+               0x95, 0x7C, 0x1D, 0x08, 0xE4, 0xB6, 0xCD, 0xBB, 0x13, 0x5D, 0x8B, 0xC4, 0xA6, 0x03, 0xA6, 0x70,\r
+               0xCF, 0x55, 0xEF, 0x94, 0x8B, 0xBB, 0x85, 0xB6, 0xFE, 0x45, 0x69, 0xD0, 0x9C, 0x18, 0xC8, 0x6B,\r
+               0x2E, 0x5F, 0x03, 0x21, 0x29, 0xAA, 0x72, 0xAC, 0x22, 0x97, 0xBD, 0xE1, 0x5C, 0x8D, 0x58, 0xD5,\r
+               0xF1, 0xA7, 0x86, 0x96, 0xEA, 0xB7, 0x25, 0x42, 0xBB, 0x2E, 0xE9, 0xB8, 0xAF, 0x76, 0xB4, 0xC5,\r
+               0x56, 0xD3, 0x48, 0xE9, 0x5D, 0xBF, 0x5B, 0x2F, 0x7F, 0xF5, 0x0C, 0x62, 0x5F, 0x6B, 0x86, 0x06,\r
+               0x2F, 0xA1, 0x19, 0xB1, 0x5E, 0x18, 0x45, 0xC8, 0xE3, 0xCB, 0xC8, 0x40, 0xFB, 0x3D, 0x71, 0x60,\r
+               0xD2, 0x8E, 0x0E, 0x4B, 0x4A, 0x2C, 0x99, 0x7D, 0xDC, 0x02, 0x79, 0xE3, 0xDA, 0x0E, 0x93, 0xD3,\r
+               0xE5, 0x4D, 0xB7, 0x05, 0xAF, 0xB8, 0x6F, 0xE5, 0x2B, 0x43, 0x80, 0x7D, 0x92, 0xE8, 0x45, 0x92,\r
+               0xFE, 0x8F, 0x8A, 0x34, 0x20, 0x30, 0x84, 0xFE, 0x18, 0xE9, 0xC9, 0x53, 0x82, 0xA5, 0x61, 0x4C,\r
+               0x29, 0x19, 0x62, 0xB6, 0xF2, 0x39, 0x77, 0x19, 0xA7, 0x03, 0x54, 0xD6, 0xA4, 0x8C, 0x7F, 0x2B,\r
+               0xF6, 0x2C, 0x0D, 0x1E, 0x54, 0x11, 0x0D, 0x65, 0xB9, 0x1F, 0x0C, 0x27, 0x2E, 0xE7, 0xDB, 0xF6,\r
+               0x4C, 0xB8, 0xF1, 0x1A, 0x36, 0x39, 0xBB, 0x23, 0x4C, 0xA5, 0x7A, 0xBE, 0x77, 0x56, 0x25, 0xB6,\r
+               0xD3, 0x10, 0xA0, 0x2F, 0xE5, 0x43, 0xA3, 0x2C, 0xF0, 0x0E, 0x65, 0x76, 0x8C, 0x6E, 0x57, 0x8E,\r
+               0xAD, 0xAC, 0x20, 0x25, 0x6F, 0x7C, 0xD9, 0xE0, 0x84, 0x2C, 0xFC, 0xB4, 0x4F, 0x16, 0xDA, 0xBD,\r
+               0xDC, 0x5A, 0xF9, 0x1C, 0x66, 0x8C, 0xC8, 0x13, 0xBB, 0x27, 0xDD, 0x5C, 0x6E, 0x4B, 0x6B, 0xE6,\r
+               0x49, 0x56, 0x04, 0xC0, 0xA3, 0x9B, 0xEF, 0x93, 0xBB, 0xE2, 0x22, 0x82, 0xFE, 0x01, 0x37, 0xBE,\r
+               0x89, 0x5A, 0x6E, 0x07, 0x65, 0x40, 0x40, 0x86, 0xBA, 0x22, 0x7E, 0x82, 0x8A, 0xED, 0xDF, 0xE3,\r
+               0xBF, 0x2D, 0x14, 0x50, 0x7B, 0xD7, 0x59, 0x95, 0xC7, 0x72, 0xD1, 0x2D, 0x4F, 0x7B, 0xB3, 0x97,\r
+               0x90, 0x87, 0x7D, 0x82, 0x81, 0x2C, 0x58, 0x0A, 0xC8, 0xF4, 0xE2, 0x50, 0xDE, 0xA0, 0x9F, 0x16,\r
+               0x78, 0x23, 0x2E, 0xF0, 0xE6, 0xE9, 0x30, 0xA8, 0xCF, 0xB4, 0x73, 0x2B, 0x02, 0xE3, 0xFB, 0xED,\r
+               0xC2, 0xC2, 0x22, 0x8E, 0x53, 0x65, 0x3E, 0xBC, 0x9B, 0xAF, 0xD8, 0xCD, 0x87, 0x14, 0x39, 0xE9,\r
+               0x47, 0xFA, 0x5A, 0x51, 0x4D, 0xBF, 0x5B, 0xAB, 0xEE, 0x42, 0xCE, 0x6B, 0x71, 0xDF, 0xEB, 0x6C,\r
+               0xB5, 0xFB, 0xCB, 0x56, 0x2E, 0xEA, 0x1A, 0x8A, 0xD3, 0x8E, 0x7F, 0x88, 0x24, 0x1C, 0xD2, 0x6C,\r
+               0x6D, 0x58, 0x49, 0x81, 0x9F, 0x05, 0x9D, 0x6F, 0x5F, 0xD9, 0x04, 0x5B, 0xC4, 0x3C, 0x9E, 0x72,\r
+               0x6A, 0x3B, 0x21, 0xE8, 0x00, 0x31, 0xA9, 0xA8, 0xA9, 0x69, 0x06, 0xD0, 0x95, 0x46, 0xE8, 0x74,\r
+               0xAF, 0xE6, 0xEE, 0x10, 0xE1, 0x0F, 0xE0, 0x2A, 0x0B, 0xEF, 0x13, 0x88, 0x39, 0xEA, 0x11, 0x50,\r
+               0x38, 0x1E, 0x3F, 0xA4, 0x53, 0xCA, 0xAA, 0x4A, 0xF4, 0x9A, 0x4D, 0xDA, 0x0C, 0x76, 0xF5, 0x4D,\r
+               0xD5, 0x25, 0x17, 0xEC, 0x48, 0x3D, 0x87, 0xBF, 0x29, 0xC2, 0x5F, 0xED, 0xD3, 0x05, 0x08, 0x32,\r
+               0x1B, 0x51, 0x3D, 0xAE, 0xF7, 0x96, 0xCB, 0x27, 0xCA, 0x4F, 0x15, 0x70, 0x01, 0xC4, 0xD0, 0xAE,\r
+               0xB9, 0x6C, 0x60, 0x9F, 0xAA, 0x64, 0xF5, 0x75, 0xB9, 0xBD, 0x86, 0xBF, 0x7E, 0x07, 0x28, 0x83,\r
+               0xEB, 0x4F, 0x16, 0x22, 0xF0, 0xA1, 0x97, 0xAE, 0xB5, 0xA2, 0x1D, 0x89, 0x3A, 0xD0, 0xB6, 0x99,\r
+               0x8B, 0x26, 0x22, 0x7D, 0xF6, 0x8B, 0x63, 0xC2, 0x7C, 0xE4, 0xBE, 0x4C, 0x4B, 0x37, 0xCF, 0x84,\r
+               0x03, 0x6C, 0x33, 0x1C, 0x3A, 0xF4, 0x02, 0xA4, 0x8C, 0x28, 0x98, 0xCD, 0xDC, 0xE6, 0x38, 0x3B,\r
+               0x48, 0xBD, 0x1A, 0xF1, 0x3B, 0xCF, 0xCF, 0xD1, 0x15, 0x01, 0xCD, 0xB1, 0xDD, 0x17, 0xEA, 0x59,\r
+               0xF0, 0xA0, 0xAB, 0x24, 0xE3, 0xFA, 0x55, 0x3F, 0x7C, 0x8B, 0x4A, 0x26, 0xD6, 0x1E, 0xFF, 0x54,\r
+               0x2E, 0xFC, 0xC4, 0x0C, 0x5F, 0x59, 0x68, 0x91, 0x38, 0x92, 0xEC, 0x47, 0x98, 0x26, 0xBE, 0x45,\r
+               0x8F, 0x48, 0xC8, 0xCF, 0x56, 0x6C, 0xB0, 0x2C, 0x6C, 0xE3, 0x3F, 0x70, 0x14, 0xE9, 0xFE, 0x47,\r
+               0xAE, 0x64, 0x38, 0x5C, 0x9B, 0xD1, 0xF7, 0x54, 0x4C, 0x0B, 0xB7, 0x89, 0xF8, 0xDA, 0xBE, 0x04,\r
+               0x20, 0xCC, 0x9F, 0xAA, 0xDC, 0x5D, 0x96, 0x47, 0x42, 0x42, 0xFD, 0x3C, 0xC3, 0x24, 0xA4, 0x52,\r
+               0x7D, 0x24, 0xC2, 0xEB, 0x76, 0x24, 0xF9, 0x4D, 0x03, 0xE2, 0x31, 0xCF, 0x81, 0xF4, 0x95, 0x40,\r
+               0x43, 0x1D, 0xE7, 0x24, 0x16, 0x88, 0x23, 0xD1, 0xB0, 0x44, 0x67, 0x97, 0xF4, 0xE4, 0x55, 0x1E,\r
+               0xA7, 0xC5, 0xF0, 0x9C, 0x54, 0xD2, 0xB4, 0x78, 0x17, 0x9A, 0xB3, 0xE0, 0x02, 0xD6, 0x00, 0x89,\r
+               0x93, 0x05, 0x54, 0x4B, 0x62, 0xF3, 0xA6, 0xBA, 0xCB, 0xDC, 0x39, 0x1C, 0xB8, 0x11, 0xA6, 0xA0,\r
+               0x2D, 0x54, 0x29, 0x52, 0x90, 0x1F, 0x2B, 0xBA, 0xF2, 0x60, 0x21, 0x48, 0xC9, 0x9F, 0xEA, 0x4D,\r
+               0x9A, 0xE5, 0xC0, 0xE9, 0x63, 0xF8, 0xCC, 0x87, 0xA0, 0xC1, 0xA1, 0x13, 0x0C, 0x53, 0xC1, 0x65,\r
+               0x70, 0x09, 0x26, 0x98, 0xAF, 0x7C, 0x95, 0xAA, 0x6E, 0xFB, 0xC5, 0xF2, 0xBC, 0x75, 0xCD, 0x20,\r
+               0x25, 0xF7, 0xDD, 0x5F, 0xAA, 0x7B, 0x8D, 0xA2, 0x07, 0x6F, 0x4F, 0x02, 0x9E, 0x5D, 0xA9, 0x4E,\r
+               0x6B, 0xA3, 0x3A, 0x43, 0xF4, 0xDD, 0x42, 0x77, 0x12, 0x02, 0x28, 0x59, 0xCB, 0xEE, 0xEC, 0xCC,\r
+               0x2F, 0x07, 0xDE, 0x9C, 0xCD, 0x16, 0x5E, 0xDE, 0xF9, 0x45, 0xB2, 0xD3, 0x03, 0xF8, 0xC0, 0x5D,\r
+               0x34, 0x10, 0x8D, 0x92, 0x27, 0x07, 0xBC, 0x31, 0x75, 0x4A, 0xFA, 0x7C, 0x4B, 0xA2, 0x59, 0x15,\r
+               0x41, 0x6F, 0x47, 0x84, 0x71, 0x7C, 0xDE, 0x15, 0x70, 0x29, 0x12, 0x82, 0x5F, 0xC6, 0x87, 0x18,\r
+               0xBA, 0xE5, 0xC1, 0xB4, 0xFA, 0x56, 0x8A, 0xAB, 0xA4, 0x5F, 0x45, 0x29, 0xE2, 0x19, 0x15, 0x54,\r
+               0x0A, 0x66, 0x84, 0xDD, 0x74, 0x49, 0xFF, 0x8B, 0xA0, 0x9A, 0x72, 0x67, 0xBE, 0x18, 0x80, 0xD9,\r
+               0x5C, 0x3E, 0x7B, 0x10, 0x07, 0x06, 0x3B, 0xA2, 0xC6, 0xC2, 0x6C, 0xDE, 0x2D, 0x61, 0xF2, 0x5F,\r
+               0x81, 0x4F, 0x65, 0x40, 0x2B, 0x57, 0xF2, 0x68, 0x5B, 0xBB, 0xA8, 0xC2, 0xAE, 0xCA, 0x46, 0xAE,\r
+               0x57, 0xD2, 0x64, 0xC5, 0xA1, 0xC3, 0x82, 0x27, 0x8F, 0xD3, 0x66, 0x6F, 0x91, 0xFB, 0x1A, 0xF8,\r
+               0x8E, 0x4D, 0x6F, 0x16, 0x89, 0x74, 0x71, 0x82, 0x82, 0xFB, 0x27, 0x98, 0x08, 0xBD, 0x22, 0x92,\r
+               0xF3, 0xB5, 0x03, 0xD7, 0x35, 0xBA, 0x44, 0x9C, 0x02, 0x7D, 0x62, 0xC9, 0xE4, 0x51, 0x72, 0x61,\r
+               0x3D, 0xBD, 0xBE, 0x4C, 0x0B, 0x28, 0x0F, 0xF4, 0xC3, 0xB9, 0xA4, 0xDE, 0x64, 0xAC, 0xA0, 0x00,\r
+               0x2A, 0x18, 0xB0, 0x66, 0x3E, 0xBB, 0xD4, 0xDA, 0x06, 0xE3, 0x35, 0x99, 0x73, 0x9C, 0xAB, 0x7C,\r
+               0x69, 0x7A, 0x9B, 0x36, 0x67, 0x96, 0xC0, 0x69, 0x77, 0x50, 0x60, 0x5D, 0xCE, 0x4E, 0x9D, 0xBA,\r
+               0xAB, 0xC0, 0x5E, 0x78, 0x5D, 0xDA, 0x91, 0x26, 0x28, 0x2D, 0xE1, 0x34, 0xC9, 0x52, 0x4B, 0x15,\r
+               0x0B, 0xBC, 0x9F, 0xBC, 0x3D, 0x87, 0x08, 0x1C, 0x9F, 0x04, 0x32, 0x9D, 0x87, 0x88, 0xE2, 0xEF,\r
+               0xF1, 0x13, 0x43, 0x6A, 0x5E, 0x1C, 0xB8, 0x02, 0xE6, 0xCB, 0x92, 0xB1, 0xB2, 0x10, 0x7C, 0xD7,\r
+               0xC3, 0x58, 0x30, 0xBA, 0xD2, 0x72, 0x2C, 0xCE, 0x87, 0xAE, 0xC7, 0x2F, 0xD2, 0x33, 0xEB, 0x2E,\r
+               0x85, 0xBF, 0xF5, 0x20, 0xB5, 0x0D, 0x00, 0x8B, 0x06, 0x3B, 0x94, 0x02, 0xE3, 0x3A, 0x3B, 0xF7,\r
+               0xC1, 0x89, 0xC8, 0xED, 0x99, 0x02, 0x7C, 0xE9, 0xDF, 0xD0, 0x09, 0x72, 0x20, 0x74, 0xD2, 0x0B,\r
+               0x5A, 0x91, 0x13, 0x9F, 0x6B, 0xD9, 0xD7, 0xA5, 0x7F, 0x8F, 0x9B, 0xB4, 0x02, 0x36, 0x02, 0x4B,\r
+               0x50, 0x7B, 0x84, 0x38, 0x85, 0xD6, 0x83, 0x2F, 0x6B, 0xC9, 0x1F, 0x66, 0x93, 0xDB, 0xB4, 0x17,\r
+               0x64, 0x1A, 0xAD, 0x0D, 0x25, 0x09, 0x9E, 0xBD, 0xE6, 0x17, 0xB6, 0x7F, 0xCE, 0xB1, 0x42, 0x12,\r
+               0x20, 0x2D, 0x98, 0x45, 0x17, 0x9A, 0xE6, 0x0C, 0x26, 0xFC, 0x8C, 0x5D, 0x7B, 0xA5, 0x09, 0x05,\r
+               0x93, 0xFF, 0xE8, 0x47, 0xFB, 0x51, 0x81, 0x73, 0x5A, 0xC6, 0x43, 0xC9, 0xB0, 0xEB, 0xC5, 0xC6,\r
+               0x6C, 0x2B, 0xF9, 0x37, 0x91, 0x5B, 0x34, 0x55, 0x6F, 0x34, 0x72, 0xA5, 0xEF, 0xFA, 0x70, 0x8F,\r
+               0x36, 0xF8, 0x29, 0x72, 0x93, 0xBE, 0x7C, 0xE1, 0x13, 0xC7, 0x90, 0x6A, 0xBE, 0xE1, 0x08, 0x60,\r
+               0xD7, 0x46, 0xEC, 0xA6, 0xA6, 0xAA, 0x8B, 0x71, 0x02, 0x1A, 0x44, 0xA2, 0x7E, 0x74, 0x43, 0x99,\r
+               0x08, 0x31, 0x24, 0x06, 0xB4, 0x49, 0xDC, 0x4C, 0x86, 0x25, 0x10, 0xE8, 0x50, 0x8F, 0x73, 0x56,\r
+               0xAF, 0x87, 0xC5, 0xA0, 0x3B, 0xF9, 0xA2, 0xE2, 0xA7, 0x39, 0xF5, 0xAA, 0x09, 0x92, 0x38, 0x21,\r
+               0xD6, 0xB2, 0x47, 0x6A, 0xA2, 0xD8, 0xBC, 0x22, 0x5B, 0xCC, 0x31, 0x06, 0x84, 0xC4, 0x11, 0x3E,\r
+               0x3A, 0xED, 0x17, 0x3A, 0xC6, 0xEE, 0xFF, 0xC6, 0x39, 0x64, 0x37, 0x39, 0x43, 0xB3, 0x45, 0x5C,\r
+               0xEA, 0xBC, 0x89, 0xE6, 0x43, 0xE7, 0x33, 0x06, 0xDE, 0x69, 0x58, 0xF2, 0x10, 0xEE, 0xDB, 0xF5,\r
+               0x18, 0xEB, 0x71, 0x2E, 0x6A, 0x5F, 0x7D, 0x02, 0x46, 0xB1, 0x7A, 0x38, 0x2B, 0x69, 0x52, 0x6B,\r
+               0x2A, 0xC0, 0x2F, 0xEF, 0x70, 0x10, 0xA9, 0x41, 0x26, 0x3A, 0xED, 0xE6, 0x5D, 0x8D, 0x60, 0xCF,\r
+               0x51, 0x15, 0x70, 0xAF, 0xE7, 0x39, 0xEF, 0xBB, 0xC5, 0xB3, 0xE5, 0xB0, 0xE2, 0xE3, 0xEC, 0x7C,\r
+               0xDF, 0xD0, 0x35, 0x40, 0x38, 0x2D, 0xF7, 0x34, 0x7D, 0xB7, 0x68, 0xF9, 0x4E, 0x5D, 0xED, 0x11,\r
+               0xBB, 0xAE, 0x5A, 0xA3, 0xBE, 0x8F, 0x0B, 0x16, 0x05, 0x9F, 0x5B, 0xE6, 0xB8, 0xBE, 0xFF, 0x41,\r
+               0x9D, 0x34, 0x56, 0xFA, 0x53, 0x50, 0x6F, 0x51, 0x3A, 0x67, 0x02, 0x62, 0x1A, 0x54, 0xC6, 0x70,\r
+               0xDE, 0x87, 0x26, 0xCB, 0xE7, 0x81, 0x5C, 0xDF, 0xF7, 0x55, 0x76, 0xB4, 0x9A, 0x3F, 0x07, 0x17,\r
+               0x46, 0xEE, 0xFB, 0x58, 0xC7, 0xFD, 0xFC, 0x1F, 0x8F, 0x1C, 0xC6, 0xE5, 0x1E, 0xC5, 0xA8, 0x51,\r
+               0xF4, 0x3C, 0x99, 0xFD, 0x96, 0xFC, 0x5A, 0x5E, 0xD2, 0xD9, 0xCE, 0xED, 0xD0, 0x4B, 0xCE, 0x88,\r
+               0xFD, 0xA1, 0xED, 0x79, 0x17, 0xEC, 0x09, 0x2B, 0xF0, 0x4B, 0xE2, 0xF3, 0x08, 0x0D, 0xBC, 0x09,\r
+               0xF8, 0xA4, 0x5E, 0x2C, 0x80, 0x8A, 0x55, 0x23, 0xF5, 0x17, 0x19, 0x6F, 0x90, 0x94, 0x03, 0x9F,\r
+               0xBA, 0x1F, 0x58, 0x93, 0xB0, 0xCA, 0xC7, 0xAF, 0x62, 0x58, 0xB2, 0x5B, 0x66, 0x0F, 0x67, 0x53,\r
+               0x7F, 0xAB, 0xD8, 0xB7, 0x61, 0xEB, 0x78, 0x41, 0x30, 0x55, 0x50, 0xD6, 0xAA, 0xAA, 0x6F, 0x49,\r
+               0x15, 0xEC, 0x4E, 0xB8, 0x7E, 0x36, 0xD1, 0x96, 0x06, 0x4B, 0x4D, 0xEE, 0xE6, 0x9E, 0x07, 0x5E,\r
+               0x35, 0xAF, 0xE5, 0x1A, 0x1E, 0x0B, 0xA8, 0x86, 0xEC, 0x0D, 0x4C, 0x7A, 0xC4, 0x99, 0xAF, 0xE9,\r
+               0x04, 0x50, 0x08, 0x99, 0x52, 0x17, 0x66, 0xB6, 0x7F, 0x8B, 0x3C, 0x5A, 0x79, 0x4F, 0x5D, 0xC8,\r
+               0x9F, 0x41, 0x1F, 0xB5, 0x44, 0x94, 0xAC, 0xDE, 0xC8, 0x3B, 0x8A, 0xAF, 0x2C, 0x3D, 0xE2, 0xF3,\r
+               0x73, 0x0C, 0x4D, 0x9D, 0xA4, 0x40, 0xE9, 0x16, 0xCD, 0xC1, 0xBF, 0xA0, 0x80, 0x40, 0x1A, 0x75,\r
+               0x52, 0x79, 0xBE, 0xB1, 0x04, 0x0E, 0xFB, 0x1C, 0x12, 0x2C, 0x1A, 0xFF, 0xED, 0xE4, 0x51, 0xCA,\r
+               0x62, 0x0B, 0xB9, 0x78, 0x7A, 0xFA, 0x6A, 0x45, 0xC4, 0x0B, 0xC1, 0xB9, 0x7F, 0xF3, 0x21, 0x4A,\r
+               0x9C, 0xF6, 0x57, 0xDC, 0xB4, 0x14, 0x2F, 0x4A, 0x66, 0x0D, 0x5F, 0x19, 0x50, 0x65, 0xE1, 0x06,\r
+               0x80, 0xF8, 0xDA, 0x39, 0x24, 0xB7, 0xAE, 0x39, 0xEE, 0x7D, 0x0E, 0xBC, 0xB5, 0xA7, 0xA2, 0xC3,\r
+               0xCF, 0xE5, 0x73, 0x36, 0x72, 0xC4, 0xEC, 0xE8, 0x26, 0x5E, 0x21, 0xE8, 0x7D, 0x87, 0xCC, 0x27,\r
+               0x85, 0xB0, 0x9E, 0x9F, 0xEC, 0x17, 0x13, 0xCD, 0x2C, 0x67, 0x06, 0x2C, 0x18, 0x12, 0xA7, 0xF5,\r
+               0xB5, 0x33, 0xA0, 0xB9, 0x51, 0xAD, 0x1F, 0x3A, 0xA1, 0xB1, 0x97, 0x1C, 0x7C, 0x71, 0x16, 0x03,\r
+               0x23, 0x7E, 0x61, 0xC9, 0x1F, 0xB2, 0xB0, 0x32, 0x7D, 0x60, 0x8E, 0x87, 0x96, 0x47, 0x1B, 0x3F,\r
+               0x2D, 0x5A, 0x3D, 0x25, 0x3E, 0x46, 0xBD, 0x99, 0x6E, 0xB8, 0xFE, 0x8A, 0xE2, 0xB6, 0x80, 0xA5,\r
+               0x6E, 0x67, 0xC6, 0x70, 0xF7, 0x49, 0x2C, 0x95, 0xE6, 0xA2, 0x96, 0x43, 0xDB, 0x5E, 0x8B, 0x2F,\r
+               0x11, 0x97, 0xEF, 0xAD, 0x44, 0x68, 0x00, 0x0F, 0xB0, 0xCE, 0x95, 0x39, 0x63, 0x89, 0x14, 0x5B,\r
+               0xDA, 0xA9, 0xB8, 0x0F, 0xCC, 0xF3, 0x16, 0x9E, 0xFF, 0x5D, 0xF0, 0x17, 0x2C, 0x0C, 0x57, 0xE3,\r
+               0x26, 0x04, 0x45, 0x0F, 0xD4, 0xD7, 0x4E, 0x66, 0x1F, 0xCF, 0xA1, 0x11, 0x8C, 0x2B, 0x35, 0x66,\r
+               0xC0, 0xE3, 0x69, 0xDB, 0xBE, 0x84, 0xB7, 0xDC, 0x2F, 0x8B, 0x57, 0xDA, 0x56, 0x1C, 0x22, 0x85,\r
+               0x42, 0x11, 0x2B, 0x55, 0x9C, 0x2F, 0x9A, 0x6B, 0x1E, 0xF6, 0xB9, 0xBB, 0xBE, 0xE7, 0xE5, 0x87,\r
+               0x6B, 0x7D, 0x52, 0xA3, 0x46, 0x9A, 0x07, 0xCF, 0xCF, 0x14, 0x4A, 0x47, 0xD4, 0x30, 0x98, 0xCF,\r
+               0x98, 0x38, 0x44, 0x02, 0x61, 0x43, 0xB4, 0x97, 0xC8, 0xCA, 0x75, 0xD4, 0x3D, 0x82, 0x45, 0xE0,\r
+               0x29, 0x2C, 0x32, 0x36, 0x36, 0xB4, 0xC2, 0xEA, 0x0C, 0x25, 0xC3, 0xC9, 0x68, 0x38, 0x59, 0xBA,\r
+               0xD8, 0x8C, 0xC7, 0x44, 0x69, 0x2D, 0x32, 0xB7, 0x65, 0x6C, 0x17, 0x71, 0xC9, 0x63, 0xB7, 0x93,\r
+               0xA0, 0x12, 0xE1, 0xEC, 0xF7, 0xB1, 0xAB, 0xF9, 0xCC, 0xA8, 0x6D, 0xA6, 0x10, 0x1D, 0x1F, 0xA6,\r
+               0xF9, 0x44, 0x7A, 0x76, 0x1F, 0xD7, 0x70, 0xFE, 0x09, 0x54, 0xAD, 0x51, 0x2F, 0x45, 0x5D, 0xAB,\r
+               0x1E, 0x32, 0x30, 0x3E, 0x63, 0x05, 0xD3, 0xF8, 0xA8, 0xC8, 0x59, 0x3B, 0x55, 0x25, 0xE7, 0x09,\r
+               0xD9, 0xB8, 0xA1, 0xED, 0x5A, 0x29, 0x03, 0x79, 0x34, 0x3D, 0x01, 0x18, 0x4D, 0x86, 0xEA, 0xF9,\r
+               0x28, 0x3A, 0x1B, 0xE1, 0x04, 0xE1, 0x56, 0xBF, 0xD0, 0x8B, 0xCC, 0x76, 0x1D, 0xCD, 0xDF, 0x4C,\r
+               0xE8, 0x6C, 0x56, 0x57, 0x32, 0x91, 0x22, 0xCF, 0x0F, 0xC8, 0xA6, 0x95, 0xB2, 0xE0, 0x50, 0x63,\r
+               0xD0, 0x9C, 0xCB, 0x70, 0xFF, 0x52, 0x84, 0xAC, 0xE8, 0xEA, 0x9B, 0x09, 0x30, 0x3E, 0x8C, 0x90,\r
+               0x14, 0xFE, 0xB0, 0xC2, 0xCB, 0x95, 0x79, 0x85, 0x27, 0xE8, 0x39, 0xE5, 0x40, 0x60, 0xDD, 0x66,\r
+               0x27, 0xC9, 0x26, 0xF2, 0x8B, 0xB6, 0xF1, 0x29, 0x20, 0x2D, 0x7E, 0x65, 0x5B, 0x41, 0xAC, 0xE1,\r
+               0xF2, 0x86, 0x28, 0x76, 0xA4, 0xDC, 0xCA, 0x37, 0x61, 0x40, 0x53, 0xEF, 0x1B, 0xA3, 0xBD, 0x91,\r
+               0xD2, 0x06, 0x43, 0x27, 0x54, 0xF2, 0xB1, 0x17, 0xD3, 0x24, 0xD4, 0x01, 0x4A, 0x7B, 0xCC, 0x4C,\r
+               0x24, 0x97, 0xD6, 0x16, 0x16, 0xFB, 0xDD, 0x4A, 0x4E, 0x94, 0x2E, 0x73, 0x2B, 0x61, 0x77, 0x39,\r
+               0x88, 0xD7, 0x42, 0x6E, 0xB8, 0xC8, 0xC8, 0xF2, 0xA8, 0xAD, 0x67, 0x33, 0xF0, 0xA4, 0x2D, 0x45,\r
+               0xCB, 0x8C, 0x55, 0xFC, 0xB4, 0xC0, 0x91, 0xC8, 0xBE, 0x03, 0x49, 0x6D, 0x02, 0x1B, 0xC6, 0x93,\r
+               0xB8, 0x2A, 0xE2, 0x6C, 0xE0, 0x84, 0x83, 0x3B, 0xB5, 0x7B, 0x64, 0x28, 0x14, 0xF6, 0xE6, 0x43,\r
+               0xC9, 0x53, 0x8E, 0xC7, 0xDC, 0x29, 0x48, 0x4F, 0xAF, 0x85, 0x3B, 0x32, 0x9A, 0x77, 0x38, 0xE8,\r
+               0x0A, 0x38, 0x29, 0x4B, 0x07, 0xF9, 0xDB, 0x84, 0x32, 0xFC, 0x05, 0xB4, 0xB4, 0xD5, 0xA7, 0xC3,\r
+               0xAA, 0xEB, 0xBB, 0x78, 0x5B, 0x3F, 0x2D, 0x89, 0x99, 0x5E, 0x2F, 0x2F, 0x19, 0xF5, 0x5A, 0x04,\r
+               0xE1, 0xE6, 0xFF, 0x3E, 0x1F, 0xAB, 0xE0, 0x11, 0xDF, 0x8D, 0x7A, 0xA4, 0xAC, 0x04, 0x3B, 0x66,\r
+               0x69, 0x67, 0x8E, 0xEE, 0xA8, 0xDF, 0x81, 0x37, 0xE9, 0x40, 0x5C, 0x65, 0xF4, 0xD5, 0x8D, 0x17,\r
+               0x09, 0x75, 0x8A, 0xA5, 0x62, 0x0F, 0x75, 0x9A, 0x37, 0xAF, 0xFF, 0x6A, 0xB9, 0x32, 0x82, 0x00,\r
+               0x4C, 0x81, 0x7A, 0xE0, 0x6D, 0x24, 0x15, 0xEE, 0x35, 0xBD, 0x55, 0xB6, 0xB4, 0x38, 0x4D, 0x90,\r
+               0x6D, 0x3C, 0x7C, 0x13, 0xB1, 0x9E, 0x52, 0x76, 0x51, 0xAA, 0xDD, 0x73, 0xEA, 0x0B, 0x90, 0xEC,\r
+               0xCC, 0xF1, 0xF5, 0x4F, 0x05, 0x02, 0x8A, 0xB3, 0x90, 0xF5, 0x0E, 0x9B, 0x55, 0xC4, 0xFE, 0x11,\r
+               0x12, 0x03, 0x19, 0xA3, 0x79, 0xD5, 0xB7, 0x59, 0x75, 0xE2, 0xA8, 0xA6, 0xCD, 0xFC, 0x23, 0x44,\r
+               0x4D, 0x25, 0x85, 0xFF, 0xD5, 0x8D, 0x02, 0x55, 0x46, 0xE9, 0xF1, 0x3E, 0xFC, 0x08, 0x48, 0xFE,\r
+               0x88, 0x7D, 0x4A, 0x4F, 0x91, 0x9C, 0x4B, 0x95, 0x5D, 0x33, 0xE4, 0xE0, 0x86, 0xA4, 0xE3, 0x17,\r
+               0x8F, 0xA1, 0x51, 0x78, 0x4B, 0xDC, 0x7F, 0xF5, 0x59, 0xDF, 0xE6, 0x2A, 0x4A, 0xDE, 0x22, 0x94,\r
+               0x57, 0x17, 0x3A, 0x94, 0x68, 0xBB, 0xF8, 0xED, 0x44, 0x24, 0x9D, 0xF8, 0xD2, 0xFE, 0x6D, 0xF1,\r
+               0x5B, 0x8B, 0x08, 0x3B, 0x37, 0x6D, 0x17, 0x09, 0x52, 0x38, 0x64, 0xB6, 0xF2, 0xE5, 0x68, 0xD6,\r
+               0xF9, 0x75, 0xF7, 0x7E, 0x1E, 0x9D, 0x29, 0x11, 0x02, 0xFF, 0xF7, 0x56, 0x22, 0x26, 0x5C, 0xE8,\r
+               0x37, 0x51, 0x94, 0xA4, 0x11, 0x52, 0x65, 0xB9, 0x48, 0x3C, 0xBD, 0xC8, 0xDF, 0xE7, 0x37, 0x93,\r
+               0xDA, 0x1F, 0x92, 0x65, 0x14, 0x66, 0x48, 0x39, 0x0D, 0x3F, 0xAF, 0xD3, 0x9D, 0x94, 0x29, 0xB9,\r
+               0x5D, 0x8B, 0x01, 0x4B, 0x72, 0x0A, 0xBB, 0xCF, 0x27, 0xAE, 0x33, 0x71, 0xF3, 0x99, 0x48, 0x63,\r
+               0x6B, 0x16, 0xA2, 0xAA, 0x29, 0x57, 0xA2, 0xDD, 0x64, 0x53, 0x9C, 0xF0, 0x89, 0x0F, 0xF3, 0x57,\r
+               0xAB, 0x7B, 0x83, 0xCE, 0x8F, 0x20, 0x0D, 0x7E, 0x84, 0x07, 0xC0, 0x22, 0x0C, 0xE3, 0x67, 0x88,\r
+               0x3E, 0x5C, 0xBA, 0x13, 0xFF, 0x39, 0x2A, 0x12, 0x20, 0x0F, 0x3F, 0xEE, 0x2D, 0xA9, 0xD8, 0x7B,\r
+               0xA5, 0x64, 0xDB, 0xF7, 0x04, 0x67, 0xB9, 0x95, 0xD3, 0x0B, 0x2C, 0xA0, 0xB0, 0x3D, 0x6F, 0x7E,\r
+               0x20, 0xBB, 0x07, 0x0D, 0xF1, 0xAF, 0xDC, 0x4D, 0x7C, 0xF8, 0x3A, 0x18, 0xAD, 0xF6, 0x9C, 0x3A,\r
+               0x9A, 0xD6, 0x14, 0x42, 0x04, 0x93, 0xD2, 0x54, 0xC1, 0x0E, 0x91, 0xEE, 0xDC, 0x01, 0xA4, 0xCC,\r
+               0x72, 0x4A, 0xD3, 0xEA, 0xF6, 0x3D, 0xBA, 0xCC, 0xAB, 0x68, 0x00, 0x0C, 0x18, 0x42, 0x7D, 0xA1,\r
+               0xCB, 0x1D, 0x7B, 0x5C, 0xE3, 0x7E, 0x95, 0xB9, 0xA6, 0x38, 0xB6, 0x98, 0x27, 0x6E, 0xD1, 0x86,\r
+               0x1C, 0x42, 0xC9, 0x8C, 0x4E, 0xBB, 0x66, 0x96, 0x3F, 0x75, 0x2B, 0xA7, 0x4E, 0x47, 0x6A, 0xFF,\r
+               0x07, 0xE9, 0xC4, 0x48, 0x78, 0xA1, 0x8D, 0x40, 0x05, 0x3B, 0x62, 0x46, 0x71, 0x0A, 0x5D, 0x46,\r
+               0x30, 0x91, 0x34, 0xDA, 0x27, 0xD6, 0x7B, 0x1F, 0xE8, 0x37, 0x9B, 0xDE, 0x0F, 0xEC, 0xF7, 0x19,\r
+               0x4F, 0x64, 0xB5, 0xFD, 0x82, 0x96, 0x3B, 0x90, 0x3A, 0xB3, 0x1E, 0x51, 0xD7, 0xF4, 0x5F, 0xBA,\r
+               0x31, 0x30, 0x41, 0x54, 0x16, 0xE9, 0x41, 0xC5, 0x89, 0x1E, 0x87, 0x78, 0xF1, 0x8C, 0xD8, 0x23,\r
+               0xAE, 0x4B, 0x0D, 0xE9, 0x51, 0x67, 0x59, 0x5F, 0x42, 0x58, 0x98, 0x54, 0x4D, 0xB4, 0xB8, 0x9B,\r
+               0x14, 0xE0, 0x39, 0xCD, 0xF6, 0xC8, 0xEF, 0x51, 0x3D, 0x0C, 0xEE, 0xDC, 0x11, 0x05, 0x99, 0xF8,\r
+               0x67, 0x60, 0x3B, 0x32, 0x1B, 0xE6, 0xE2, 0xEE, 0x66, 0xD2, 0x76, 0x54, 0xA9, 0xD8, 0x76, 0xF7,\r
+               0x21, 0x84, 0x0A, 0xD0, 0x25, 0x1E, 0xCE, 0x64, 0xAE, 0x30, 0x25, 0x11, 0xD2, 0xD1, 0xE6, 0x56,\r
+               0x13, 0xAD, 0x5B, 0xBA, 0x4D, 0x2E, 0x5A, 0x25, 0x68, 0x4D, 0x70, 0xF4, 0x8E, 0xF2, 0x0C, 0xDC,\r
+               0xE9, 0x69, 0x97, 0xB6, 0x82, 0x2F, 0xEA, 0x64, 0x1E, 0xC9, 0xD0, 0x10, 0xCE, 0x6A, 0xDE, 0x20,\r
+               0x86, 0xB2, 0xD0, 0x08, 0xC9, 0x9D, 0x7C, 0x7E, 0xCE, 0x4C, 0x54, 0x17, 0x05, 0x53, 0xC3, 0x4D,\r
+               0xB2, 0xBF, 0xD3, 0x95, 0x69, 0xAC, 0x61, 0x98, 0x0E, 0x08, 0xFD, 0xB7, 0x93, 0x39, 0x51, 0x66,\r
+               0xB8, 0x9E, 0xA4, 0x84, 0x52, 0xCE, 0x35, 0xC9, 0x47, 0xFA, 0x79, 0x22, 0x1C, 0xD4, 0x94, 0x7C,\r
+               0x23, 0xC7, 0xBF, 0xE1, 0x98, 0x7C, 0x9E, 0x2E, 0xF5, 0xD4, 0xEB, 0x1F, 0x12, 0x96, 0x91, 0x0A,\r
+               0x11, 0xF9, 0x57, 0x9D, 0x47, 0xF3, 0xA6, 0x7E, 0xF9, 0x65, 0x80, 0xAF, 0xD2, 0xB3, 0x91, 0xD8,\r
+               0x6C, 0x91, 0x7F, 0x7D, 0x21, 0xE5, 0x93, 0x64, 0xAB, 0x56, 0xC5, 0xD1, 0x8A, 0x5F, 0xF3, 0x68,\r
+               0xB5, 0x05, 0x30, 0xE8, 0x62, 0xA9, 0x60, 0x68, 0x7E, 0xB5, 0x84, 0xC6, 0xEA, 0x19, 0x8D, 0x02,\r
+               0x63, 0x41, 0x32, 0x01, 0xD4, 0x72, 0x10, 0xF3, 0x6A, 0x7F, 0x4A, 0xE2, 0x86, 0x28, 0xEE, 0x33,\r
+               0x49, 0xCA, 0xE1, 0x37, 0x77, 0x55, 0x73, 0x4F, 0x81, 0x40, 0x03, 0x53, 0x3A, 0xB0, 0xFA, 0xEB,\r
+               0x8B, 0x1E, 0xA8, 0x8D, 0x91, 0x31, 0x22, 0xA0, 0xEE, 0x4D, 0x82, 0x0F, 0x5A, 0xAC, 0x71, 0x33,\r
+               0xC8, 0xCC, 0x86, 0x6E, 0x01, 0x4D, 0x36, 0x43, 0x55, 0x7A, 0xD7, 0x4D, 0x5D, 0x7E, 0xA9, 0x16,\r
+               0xDF, 0xCA, 0x52, 0xEF, 0xAE, 0x54, 0xED, 0x3B, 0x7C, 0xE2, 0x46, 0x81, 0x30, 0x4E, 0xAC, 0x0F,\r
+               0xD6, 0x7D, 0x32, 0x57, 0x47, 0x55, 0x5E, 0x10, 0xFE, 0x16, 0x18, 0xBE, 0x0D, 0x40, 0x0E, 0x20,\r
+               0xCD, 0x40, 0xE4, 0xE1, 0x92, 0x05, 0xBC, 0xC7, 0xF3, 0xD9, 0x50, 0xE7, 0xF5, 0x1A, 0x93, 0xA8,\r
+               0x89, 0xAB, 0xE8, 0x9F, 0x70, 0xC2, 0xA0, 0x3B, 0x2C, 0x54, 0xCA, 0x7E, 0x8E, 0x0C, 0x74, 0xA2,\r
+               0xC7, 0x5A, 0x76, 0x4C, 0x3A, 0x53, 0x6F, 0x36, 0xF5, 0xA8, 0xAD, 0x92, 0xF7, 0xBF, 0xDC, 0xD7,\r
+               0xBE, 0xC1, 0x10, 0x62, 0xB3, 0xC4, 0xD9, 0x43, 0x12, 0x06, 0x8E, 0x56, 0xB7, 0x83, 0x0D, 0x4B,\r
+               0xE8, 0x7D, 0xE6, 0x1A, 0x6E, 0x3B, 0x1D, 0x3B, 0xD8, 0x44, 0x90, 0x48, 0x0C, 0xFA, 0x02, 0xEF,\r
+               0x58, 0x3E, 0xA9, 0x0D, 0xEB, 0x12, 0x68, 0x19, 0x5D, 0x6A, 0xA7, 0x0F, 0xD8, 0xFB, 0xE4, 0x72,\r
+               0xA3, 0xEC, 0x98, 0xD6, 0xB0, 0x42, 0x3C, 0xD1, 0x19, 0x83, 0xF0, 0x84, 0xA2, 0x24, 0xE3, 0x1E,\r
+               0x45, 0x29, 0x9A, 0x1A, 0x06, 0x44, 0x56, 0x8A, 0xE0, 0xD5, 0x51, 0xBF, 0x03, 0x34, 0x51, 0x57,\r
+               0xA1, 0xDE, 0x11, 0x6C, 0x1D, 0x3C, 0xC1, 0x08, 0x08, 0xE6, 0x85, 0xEF, 0x54, 0x06, 0x3A, 0x1D,\r
+               0x9F, 0xF5, 0xD7, 0x89, 0x67, 0x7E, 0x1B, 0x4E, 0xCF, 0x7D, 0xD3, 0x3A, 0x76, 0x16, 0xE3, 0x34,\r
+               0xC2, 0xC1, 0xB6, 0x7B, 0x88, 0x83, 0x74, 0x8B, 0xB7, 0x7C, 0x1F, 0x92, 0x34, 0xC6, 0xEB, 0x02,\r
+               0x92, 0x0C, 0x89, 0x89, 0x30, 0x9D, 0x77, 0x3E, 0x0B, 0xD2, 0x27, 0x51, 0xD1, 0x97, 0x26, 0x8C,\r
+               0x78, 0x94, 0xD8, 0x79, 0xA9, 0x78, 0x2E, 0xAC, 0x4F, 0x46, 0x43, 0x68, 0x1A, 0xB1, 0xDF, 0x95,\r
+               0xCF, 0xBE, 0x00, 0x95, 0xF6, 0x50, 0xC9, 0xE5, 0x2F, 0x99, 0xC3, 0x7E, 0xFB, 0x7D, 0xE0, 0x06,\r
+               0x71, 0xE5, 0x75, 0x91, 0x87, 0x90, 0x44, 0x0E, 0xD6, 0xC4, 0xDB, 0xD4, 0x25, 0xF3, 0x60, 0xF1,\r
+               0x2F, 0x66, 0x61, 0xCE, 0xB4, 0xB2, 0x87, 0xF8, 0x3E, 0x75, 0x45, 0x88, 0x0D, 0x57, 0xC5, 0x00,\r
+               0x61, 0x84, 0xDF, 0xAC, 0x7B, 0xC9, 0x48, 0x00, 0x8D, 0x76, 0x22, 0x63, 0xB2, 0xE4, 0xF3, 0xDC,\r
+               0x25, 0xF2, 0xBB, 0x17, 0xC8, 0xA1, 0x54, 0xBA, 0x4D, 0xC1, 0xB8, 0x81, 0xE8, 0xF2, 0xFB, 0xBE,\r
+               0x3E, 0x32, 0x81, 0xB5, 0x14, 0x8C, 0xB6, 0x6C, 0xB4, 0x52, 0xF0, 0xBC, 0xCD, 0xA8, 0x0D, 0x71,\r
+               0x4B, 0x94, 0x75, 0x6F, 0x2C, 0xBF, 0xD4, 0xE6, 0xDE, 0xD2, 0x18, 0x04, 0x3C, 0xCC, 0xFC, 0x5B,\r
+               0xB0, 0xF6, 0x55, 0x2D, 0x16, 0x68, 0x80, 0x62, 0xC7, 0xA6, 0x4F, 0xDA, 0x47, 0x13, 0x41, 0x45,\r
+               0x00, 0x33, 0x97, 0x51, 0xAB, 0x0C, 0xF5, 0x5E, 0x18, 0x15, 0x78, 0x4C, 0xFC, 0x12, 0x51, 0x27,\r
+               0x56, 0xFC, 0x2A, 0x00, 0x55, 0x1D, 0x31, 0xC7, 0xD9, 0x39, 0x66, 0x40, 0x59, 0x6B, 0x47, 0x38,\r
+               0x2A, 0xDC, 0x46, 0xA1, 0x4A, 0x3C, 0x9C, 0x11, 0xE7, 0xAC, 0xF7, 0xA3, 0xEC, 0x2E, 0xBF, 0xA5,\r
+               0x77, 0x97, 0x86, 0x49, 0x48, 0x35, 0xF3, 0x10, 0x47, 0x07, 0x3B, 0xEA, 0xC8, 0xFE, 0xE7, 0x79,\r
+               0x49, 0x67, 0x99, 0xED, 0x87, 0xDA, 0x29, 0xC4, 0xB9, 0x0C, 0x6D, 0x52, 0x3A, 0xEE, 0x9B, 0xE7,\r
+               0xAD, 0x51, 0x8D, 0x31, 0x77, 0xB4, 0xBE, 0x4B, 0xFD, 0xB4, 0xB9, 0x95, 0x23, 0xDC, 0x44, 0x4F,\r
+               0x99, 0x5A, 0x9F, 0x95, 0x93, 0xC4, 0xAC, 0xCE, 0x77, 0x79, 0x33, 0x90, 0xF6, 0x1B, 0xA3, 0xCC,\r
+               0x27, 0x2B, 0xAC, 0xA4, 0x5F, 0x62, 0x21, 0x09, 0x34, 0x66, 0x2B, 0x89, 0x3C, 0x95, 0xD9, 0xAD,\r
+               0x90, 0x4F, 0xD3, 0x72, 0x53, 0x18, 0xC6, 0x30, 0x4C, 0x88, 0xAB, 0x05, 0x02, 0x59, 0x16, 0xD4,\r
+               0x7A, 0x14, 0x7E, 0xCE, 0xCC, 0xAB, 0x9F, 0xB4, 0x2E, 0x01, 0xCF, 0x39, 0xE5, 0x7F, 0x19, 0x19,\r
+               0x01, 0xA8, 0xD2, 0x7D, 0x6A, 0xF2, 0x02, 0x9F, 0xCC, 0x04, 0x38, 0x89, 0xFC, 0x82, 0x36, 0x43,\r
+               0xFB, 0x83, 0x41, 0x6D, 0x78, 0xD7, 0xB2, 0x66, 0x4F, 0xBD, 0x98, 0xB7, 0x9F, 0x1A, 0x38, 0xB2,\r
+               0xC9, 0x4E, 0xC3, 0xDC, 0x37, 0xFF, 0x26, 0x69, 0x10, 0x10, 0xCD, 0x86, 0x3C, 0x39, 0xE1, 0x5B,\r
+               0x8F, 0x0F, 0xD9, 0x01, 0x0D, 0x3F, 0x0A, 0x05, 0x82, 0xFC, 0x9E, 0x50, 0xFA, 0x30, 0xF8, 0x99,\r
+               0xCB, 0xA2, 0xDB, 0xC4, 0xBC, 0x81, 0x76, 0xD0, 0x26, 0xD2, 0x03, 0xAF, 0x76, 0x7E, 0x24, 0x1E,\r
+               0x50, 0x2D, 0xDA, 0xBF, 0x04, 0x45, 0xDD, 0x94, 0x39, 0xC6, 0x91, 0x69, 0xA6, 0x3C, 0x3B, 0x4A,\r
+               0x5A, 0xEB, 0xA3, 0x8A, 0x8B, 0xC4, 0x89, 0x4A, 0x1B, 0x28, 0x15, 0xE9, 0xE9, 0xD1, 0x84, 0xFF,\r
+               0x6E, 0x23, 0x45, 0x67, 0xE8, 0x7A, 0x94, 0x1F, 0xFF, 0x5A, 0xBC, 0x98, 0xE7, 0xBB, 0x97, 0x14,\r
+               0x8B, 0x15, 0x07, 0xFB, 0x97, 0x42, 0xF8, 0xF5, 0xE7, 0x5A, 0xA2, 0xDD, 0xCC, 0xC0, 0xEB, 0x32,\r
+               0x5D, 0xCB, 0x64, 0xFB, 0x99, 0x57, 0x88, 0xCA, 0x06, 0xEA, 0x6C, 0xDA, 0x40, 0xF1, 0x1B, 0x67,\r
+               0x84, 0x99, 0xBF, 0xC1, 0xDB, 0x5C, 0x7B, 0x97, 0x2D, 0x10, 0x2D, 0xD6, 0x3D, 0xB7, 0x03, 0xE4,\r
+               0xF9, 0x60, 0x4F, 0x73, 0x31, 0xF9, 0x4E, 0xBE, 0x26, 0x2F, 0x68, 0xAC, 0xB9, 0x5B, 0x83, 0x44,\r
+               0x37, 0xFE, 0xF1, 0xB6, 0x76, 0x0C, 0x05, 0xB7, 0xA9, 0xC6, 0xAE, 0x0D, 0xB9, 0xA6, 0xC0, 0xA7,\r
+               0x20, 0x3E, 0x90, 0x31, 0xA5, 0x1B, 0xDE, 0x39, 0xA1, 0x78, 0x3F, 0xB5, 0x45, 0x96, 0x63, 0xBF,\r
+               0x63, 0xBC, 0xD8, 0x1D, 0x14, 0xF3, 0xCA, 0x41, 0xB7, 0xBE, 0x6A, 0xFB, 0x76, 0x44, 0x44, 0x1B,\r
+               0xA1, 0x55, 0x27, 0x76, 0x64, 0xA1, 0x9B, 0xCF, 0xED, 0x8A, 0xEB, 0x55, 0x3C, 0x58, 0xA0, 0xF7,\r
+               0xD6, 0x79, 0x6F, 0xAE, 0x83, 0x77, 0xC2, 0x03, 0x09, 0x3E, 0xD7, 0xB3, 0x1B, 0x41, 0x67, 0xC9,\r
+               0x43, 0xE0, 0x98, 0x03, 0xAF, 0x79, 0xE5, 0x99, 0x7A, 0x0F, 0x28, 0x75, 0x75, 0x0B, 0xC4, 0x42,\r
+               0x83, 0xD5, 0x16, 0x09, 0x7B, 0x0E, 0x4A, 0x4E, 0xC9, 0x24, 0x74, 0x16, 0xFF, 0xE7, 0x00, 0x59,\r
+               0xB5, 0xE4, 0x3C, 0x8C, 0x63, 0xEA, 0x53, 0x7C, 0xB9, 0x63, 0xDB, 0x08, 0x80, 0x71, 0x8F, 0x08,\r
+               0x9A, 0xA3, 0x9A, 0xFD, 0xD7, 0x96, 0x52, 0x5D, 0xB5, 0xF7, 0xE8, 0xAB, 0x4C, 0xAA, 0x39, 0x2D,\r
+               0x72, 0x77, 0x9A, 0xB5, 0x3C, 0xF3, 0x3A, 0x0A, 0xE2, 0x3A, 0x79, 0x04, 0xCE, 0xE9, 0x68, 0x75,\r
+               0xC8, 0xBE, 0x14, 0xEC, 0x46, 0x36, 0x34, 0x5A, 0x0C, 0xB1, 0xD2, 0x19, 0x82, 0x1E, 0xAC, 0xA7,\r
+               0x4D, 0xBE, 0xBE, 0x44, 0xE2, 0x42, 0x51, 0x23, 0xB8, 0x61, 0xC4, 0x9F, 0x7C, 0xD5, 0x1B, 0xB4,\r
+               0xD8, 0x4E, 0xA7, 0x65, 0xCB, 0xC0, 0x93, 0xE0, 0x98, 0x7E, 0x73, 0x1A, 0x40, 0x04, 0x8D, 0x56,\r
+               0xEF, 0x69, 0x69, 0x3C, 0x07, 0xBD, 0x65, 0x25, 0xB3, 0x20, 0x8A, 0x81, 0x69, 0xE2, 0x1D, 0x40,\r
+               0xF4, 0x69, 0x06, 0x83, 0xAD, 0xC5, 0x8E, 0xDD, 0xDC, 0x38, 0xC3, 0xF4, 0x58, 0xAF, 0x8D, 0x2A,\r
+               0x23, 0x39, 0x33, 0x64, 0x10, 0xA8, 0x7D, 0x97, 0x41, 0x05, 0x5E, 0x26, 0x74, 0x86, 0xEB, 0x06,\r
+               0xFC, 0x77, 0x47, 0xF8, 0x20, 0x09, 0x07, 0xF9, 0xE4, 0x17, 0x06, 0x73, 0xFD, 0xED, 0xFC, 0xF7,\r
+               0x46, 0xD2, 0x4C, 0xBA, 0x40, 0x74, 0xB1, 0x1D, 0x7D, 0xEB, 0x70, 0x28, 0x51, 0x5C, 0x54, 0xAE,\r
+               0xD9, 0xA9, 0x93, 0xA1, 0x91, 0x70, 0xA9, 0xA0, 0x97, 0x5C, 0x6F, 0xD0, 0x3E, 0x64, 0x4D, 0x6D,\r
+               0xA7, 0xBD, 0x2D, 0x5E, 0xD4, 0x17, 0xD3, 0x3C, 0xFB, 0xDA, 0xF6, 0xCD, 0x56, 0x1C, 0x02, 0x25,\r
+               0xE1, 0x88, 0x61, 0xC0, 0x1D, 0xAB, 0x9D, 0x96, 0xF1, 0x52, 0x17, 0xED, 0xE3, 0xDA, 0x92, 0x65,\r
+               0x81, 0xBA, 0x01, 0x7A, 0xDF, 0x12, 0x69, 0xA6, 0x4C, 0xC8, 0xB4, 0x64, 0xF9, 0x3D, 0x0D, 0x09,\r
+               0x09, 0x6D, 0x85, 0xE2, 0xF5, 0x0F, 0x08, 0xDC, 0x06, 0x43, 0x92, 0xF8, 0x8C, 0xEC, 0x83, 0xDA,\r
+               0x42, 0x1B, 0x12, 0x10, 0x45, 0xE8, 0xC5, 0x7F, 0xC5, 0x1B, 0xC7, 0xAA, 0xB3, 0x1D, 0x31, 0xFB,\r
+               0xFA, 0x2E, 0xAF, 0xA5, 0x89, 0x8C, 0x5F, 0x73, 0xF3, 0xF3, 0x40, 0xBC, 0x8B, 0x14, 0x98, 0x91,\r
+               0x24, 0x3D, 0x78, 0xE2, 0xBF, 0x9F, 0x62, 0x18, 0x42, 0xD8, 0xE6, 0x8F, 0x33, 0x2C, 0x17, 0x45,\r
+               0x85, 0x81, 0xD6, 0xCC, 0x90, 0xF1, 0xBA, 0x05, 0x45, 0xAA, 0x35, 0x60, 0xF3, 0xE3, 0x9A, 0x4C,\r
+               0xA4, 0x13, 0xC9, 0x68, 0xE0, 0x4D, 0xFD, 0xB9, 0x1B, 0x3A, 0xBD, 0x06, 0x9F, 0xD0, 0x73, 0xD6,\r
+               0xBF, 0x10, 0x85, 0xEE, 0x98, 0x76, 0x10, 0x7C, 0x6F, 0xDD, 0x75, 0x19, 0x76, 0x16, 0x01, 0x69,\r
+               0x67, 0x74, 0x2A, 0xB1, 0x66, 0x65, 0x97, 0x93, 0x3D, 0xE2, 0x0E, 0xD8, 0x35, 0x36, 0x21, 0x8A,\r
+               0x60, 0x92, 0x30, 0x39, 0xA8, 0xA7, 0xA3, 0x5B, 0x45, 0x38, 0x0C, 0xE0, 0x0F, 0x4C, 0x1E, 0x39,\r
+               0xA5, 0x9F, 0x4F, 0xEB, 0x90, 0x34, 0xEA, 0x81, 0x63, 0xFA, 0x19, 0x16, 0xCC, 0xE0, 0xAD, 0x32,\r
+               0x32, 0xD4, 0x63, 0xB8, 0x41, 0xC1, 0xA0, 0x5B, 0x08, 0x0B, 0x47, 0x62, 0xC1, 0x7C, 0x5C, 0x1F,\r
+               0xDF, 0xF1, 0xE5, 0x6D, 0x76, 0x77, 0x8D, 0xB5, 0x15, 0x67, 0x55, 0x9C, 0x9C, 0x0F, 0xE0, 0x77,\r
+               0x11, 0x5D, 0x6A, 0x3F, 0xD7, 0x8B, 0xC1, 0xBD, 0x33, 0x25, 0x1F, 0x7A, 0x32, 0xCE, 0x42, 0x2C,\r
+               0xB3, 0xA8, 0x21, 0x4F, 0x32, 0x36, 0xFF, 0x22, 0x34, 0x07, 0x8C, 0x43, 0x7E, 0x0D, 0xDC, 0x36,\r
+               0xB5, 0xB6, 0x4A, 0x87, 0x10, 0xBF, 0xAC, 0x1E, 0x22, 0x03, 0x5D, 0x99, 0x01, 0x38, 0x6B, 0xD4,\r
+               0x79, 0x8B, 0x72, 0xE7, 0x9E, 0x09, 0x48, 0x87, 0x53, 0xD9, 0x49, 0x17, 0x11, 0x03, 0xA9, 0xB2,\r
+               0x5D, 0xFC, 0xB7, 0xDA, 0x60, 0x73, 0x17, 0xDB, 0xD2, 0x5B, 0x85, 0xA3, 0x41, 0x56, 0x99, 0x4C,\r
+               0xFF, 0xD6, 0x24, 0x50, 0xD2, 0x38, 0x3A, 0x8E, 0xA9, 0xE8, 0x81, 0xFE, 0x94, 0xA5, 0x8D, 0x0F,\r
+               0x28, 0xF3, 0xD5, 0x0A, 0x60, 0x42, 0x57, 0x38, 0xA7, 0x1D, 0x8E, 0x24, 0x31, 0x2A, 0xBB, 0xEF,\r
+               0xFF, 0x3B, 0x52, 0x41, 0x53, 0x84, 0x09, 0x2C, 0xD6, 0xB0, 0x29, 0x9C, 0x25, 0xC6, 0xCD, 0x3E,\r
+               0x71, 0x47, 0x3A, 0x69, 0x8F, 0xA6, 0xD4, 0xA8, 0x3C, 0xAE, 0xE3, 0x8D, 0x7B, 0x35, 0x42, 0x40,\r
+               0xA7, 0xEB, 0xA3, 0x1F, 0x5F, 0x31, 0x33, 0x86, 0xD4, 0x69, 0x01, 0xC3, 0x21, 0x5B, 0x6F, 0x68,\r
+               0x0E, 0x06, 0x00, 0x0C, 0x00, 0x08, 0x03, 0x0C, 0x01, 0x0F, 0x0E, 0x0A, 0xCD, 0xCD, 0xCD, 0xCD,\r
+               0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD,\r
+               0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD,\r
+               0x01, 0x06, 0x02, 0x04, 0x00, 0x03, 0x07, 0x05, 0x04, 0x07, 0x00, 0x03, 0x05, 0x01, 0x06, 0x02,\r
+               0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD\r
+       };\r
+\r
+       SimpleTransform((unsigned char*)KeyTransformArray, KEY_TRANSFORM_NR, in, out);\r
+\r
+       return;\r
+}\r
+\r
+SPC_INTERNAL void SAkepApi::ReverseKeyTransform(unsigned char* in, unsigned char* out)\r
+{\r
+       const unsigned char ReverseKeyTransformArray[] = \r
+       {\r
+               0xE7, 0xFB, 0xEA, 0xC3, 0xC8, 0x16, 0x50, 0xB8, 0xCB, 0x4A, 0xDE, 0x7B, 0x44, 0x9F, 0x3D, 0x10,\r
+               0xF6, 0x68, 0x36, 0x6E, 0xCB, 0x43, 0xD9, 0x84, 0xF1, 0xC3, 0xE5, 0x48, 0x49, 0x57, 0x9E, 0x47,\r
+               0x23, 0x26, 0x6F, 0x0B, 0x97, 0x4E, 0x1A, 0xB3, 0x85, 0x71, 0x55, 0xCC, 0xCC, 0x61, 0xBD, 0x68,\r
+               0x80, 0x3F, 0xDC, 0xA9, 0xFA, 0x50, 0x22, 0x88, 0xFB, 0xFE, 0x13, 0x58, 0xDF, 0xB2, 0x53, 0x71,\r
+               0x8F, 0x0B, 0xDE, 0x3E, 0x96, 0xF4, 0xDF, 0xF8, 0xD5, 0x27, 0xE6, 0x40, 0x90, 0xA2, 0xB0, 0x5F,\r
+               0x52, 0xF0, 0x0D, 0x33, 0xA7, 0xE7, 0x24, 0xF4, 0x8A, 0x19, 0x99, 0x6C, 0xF3, 0xDB, 0x58, 0x0F,\r
+               0xCC, 0x3D, 0x33, 0xDE, 0xE1, 0x0C, 0xCD, 0x5D, 0xA8, 0x8D, 0x30, 0x2D, 0xE0, 0x08, 0xB6, 0x16,\r
+               0xED, 0x76, 0x7B, 0x20, 0x17, 0x7C, 0xD8, 0x07, 0x56, 0x8A, 0x88, 0xC1, 0x7D, 0x58, 0x9C, 0xD0,\r
+               0x8D, 0x33, 0xC5, 0xB5, 0x28, 0x99, 0x62, 0x60, 0x30, 0x18, 0x5C, 0x27, 0x53, 0x7D, 0x78, 0xD9,\r
+               0x1D, 0x16, 0xC6, 0x4C, 0x2E, 0xDD, 0x1F, 0xC7, 0x8C, 0x69, 0x33, 0x25, 0x09, 0xC3, 0x31, 0x49,\r
+               0x40, 0x87, 0xF5, 0x96, 0x08, 0x8B, 0x06, 0x02, 0xCC, 0x2B, 0xEB, 0x5C, 0xBC, 0xCB, 0xBB, 0x21,\r
+               0xF7, 0xB4, 0x09, 0xED, 0x3A, 0xCD, 0x74, 0x32, 0xF8, 0xDB, 0x83, 0xA1, 0xCE, 0x2D, 0x52, 0x1F,\r
+               0x82, 0x07, 0xC7, 0x22, 0x65, 0x95, 0x3E, 0x39, 0x67, 0x2F, 0xDA, 0x8C, 0x5D, 0x3C, 0x8E, 0xB2,\r
+               0xA0, 0xA8, 0xAB, 0xD4, 0x36, 0xD4, 0x79, 0x2E, 0x88, 0x2D, 0x96, 0xFB, 0xEE, 0x49, 0x40, 0x7D,\r
+               0x70, 0x5F, 0x61, 0xC5, 0x7B, 0xD8, 0x25, 0x77, 0xF2, 0xE6, 0x75, 0xB1, 0xBB, 0x73, 0x45, 0xCD,\r
+               0xAC, 0x78, 0x8D, 0x4B, 0xAA, 0x44, 0xEC, 0xA3, 0xCA, 0x5B, 0x41, 0x15, 0x21, 0x9B, 0x91, 0xE7,\r
+               0xFC, 0xE5, 0xA7, 0x8D, 0xBA, 0xFF, 0xB6, 0x86, 0x9A, 0x0D, 0xF2, 0x99, 0x1A, 0x10, 0xDF, 0x50,\r
+               0xBF, 0xD3, 0x4A, 0x6D, 0xC9, 0xAC, 0x95, 0xF3, 0x7D, 0x06, 0x47, 0x69, 0xF6, 0x2F, 0x49, 0x94,\r
+               0x71, 0x83, 0x5E, 0x46, 0x86, 0x4F, 0x85, 0xDD, 0x2D, 0x50, 0xF4, 0xE5, 0x02, 0x76, 0xD6, 0xB9,\r
+               0x42, 0xBF, 0xEE, 0x1D, 0x98, 0x02, 0x9E, 0x93, 0x3A, 0x25, 0xAA, 0x37, 0xEF, 0x8C, 0xFA, 0x36,\r
+               0xE8, 0xCF, 0xE8, 0x54, 0x3B, 0x77, 0xB1, 0x79, 0xD0, 0x72, 0xDC, 0xF0, 0xB6, 0xBB, 0xE6, 0x9A,\r
+               0xA1, 0x74, 0x94, 0x57, 0xB3, 0xF7, 0x4F, 0x01, 0x0E, 0xD5, 0xC2, 0xCA, 0x23, 0xD7, 0x7E, 0x90,\r
+               0x09, 0x3C, 0x89, 0x95, 0x35, 0x81, 0xF0, 0x12, 0x5B, 0xD6, 0x4B, 0xF6, 0xF9, 0xAB, 0x05, 0xB4,\r
+               0xB4, 0x82, 0xE4, 0x0D, 0x91, 0x0A, 0x67, 0x14, 0x83, 0x01, 0xFF, 0x85, 0x4C, 0xA3, 0x8F, 0xDC,\r
+               0xFE, 0xDD, 0xBC, 0x06, 0x34, 0x3B, 0x35, 0x59, 0xB1, 0x81, 0x3D, 0x31, 0x54, 0xC5, 0x86, 0x35,\r
+               0xFD, 0x39, 0x98, 0x0E, 0x3E, 0x66, 0x45, 0xE2, 0xD1, 0x63, 0x43, 0x9E, 0x04, 0x0B, 0x92, 0x1E,\r
+               0xB9, 0x8E, 0xFD, 0x11, 0xA0, 0x19, 0x9C, 0x18, 0x51, 0xEB, 0xBD, 0xE6, 0xFD, 0x9A, 0xAE, 0x64,\r
+               0x53, 0x2C, 0x32, 0xB0, 0xFC, 0x14, 0x5F, 0x2F, 0xA2, 0xB0, 0xC6, 0x3D, 0xA9, 0x65, 0x11, 0x9F,\r
+               0x6E, 0xF8, 0xBF, 0xFF, 0xB8, 0x10, 0xFA, 0xF1, 0x12, 0x8C, 0xF5, 0x66, 0x2A, 0x2E, 0x76, 0x17,\r
+               0x0D, 0x59, 0x25, 0x62, 0x6B, 0x63, 0x7F, 0x52, 0xF3, 0xF7, 0xEA, 0xDF, 0xA1, 0x59, 0xA3, 0x53,\r
+               0x78, 0xEA, 0xEB, 0xAD, 0x40, 0x96, 0xAE, 0xC0, 0x57, 0x9B, 0x17, 0xAF, 0x0F, 0xBE, 0x75, 0xEE,\r
+               0x19, 0x73, 0x6A, 0xBB, 0x8F, 0x47, 0x7C, 0x5A, 0xA5, 0xD1, 0xF3, 0x1A, 0x4B, 0x1B, 0x71, 0x30,\r
+               0xA8, 0x1D, 0x21, 0xBC, 0x29, 0x23, 0xA7, 0x2B, 0xEF, 0xAE, 0xDD, 0x73, 0x4F, 0x2A, 0xDA, 0xE0,\r
+               0xE0, 0x7A, 0x62, 0x3C, 0x9E, 0x46, 0xE3, 0x34, 0xB3, 0xB5, 0x32, 0xA6, 0x88, 0xC4, 0xB9, 0xB6,\r
+               0xB3, 0x03, 0x6C, 0xF2, 0x1E, 0x74, 0x21, 0x80, 0x15, 0xED, 0xC0, 0x41, 0x85, 0x0C, 0x1A, 0xE1,\r
+               0x72, 0x67, 0x7A, 0x4E, 0xF5, 0x1C, 0xA6, 0xA8, 0xAD, 0xD8, 0x0A, 0x9D, 0xA3, 0x15, 0x4C, 0x24,\r
+               0x84, 0x5A, 0x70, 0x5E, 0x15, 0x93, 0x94, 0x70, 0x55, 0xAF, 0x18, 0x38, 0x1B, 0xD5, 0x65, 0x1B,\r
+               0xA4, 0xCD, 0x07, 0x23, 0x58, 0x9F, 0xC8, 0x29, 0x73, 0x7F, 0x14, 0xA7, 0xC7, 0xD4, 0x5A, 0x98,\r
+               0x37, 0x0C, 0x20, 0xD2, 0x52, 0xC2, 0xB8, 0x92, 0xA1, 0x95, 0x56, 0xC4, 0xA5, 0x68, 0x08, 0x83,\r
+               0x00, 0x55, 0x3C, 0x7E, 0x13, 0xD7, 0xE9, 0xD7, 0xD3, 0x57, 0x4C, 0x09, 0x24, 0x6F, 0x80, 0x7C,\r
+               0x89, 0x56, 0x69, 0x42, 0xBE, 0x54, 0x87, 0x56, 0xC3, 0x43, 0x27, 0xFC, 0x6F, 0x4E, 0xC8, 0x82,\r
+               0xB0, 0xE7, 0x48, 0xFA, 0x42, 0x79, 0xE2, 0xB7, 0x03, 0x89, 0x01, 0xFD, 0x32, 0x48, 0x7F, 0xFE,\r
+               0x28, 0x77, 0xC1, 0x6B, 0x11, 0x38, 0xA5, 0xA0, 0x28, 0x05, 0xCE, 0x55, 0xE3, 0x81, 0xE3, 0x2A,\r
+               0xB7, 0x66, 0xC0, 0x05, 0x6D, 0x27, 0x02, 0xF5, 0x9D, 0x6C, 0xC7, 0xBE, 0x93, 0x2B, 0xE5, 0x63,\r
+               0xD1, 0x7E, 0xC9, 0xEC, 0x9D, 0x13, 0x6A, 0x08, 0xED, 0x9A, 0xD2, 0xE4, 0x92, 0xEE, 0x5F, 0x28,\r
+               0xFB, 0x64, 0x2F, 0x72, 0xFF, 0x41, 0xD6, 0x13, 0x1B, 0x94, 0x93, 0x8F, 0xC4, 0x5D, 0x0F, 0xA4,\r
+               0x20, 0xC2, 0x4B, 0x03, 0x38, 0x22, 0x38, 0x45, 0xA9, 0x9C, 0xAF, 0x43, 0x51, 0x31, 0x97, 0xAE,\r
+               0x8B, 0x6E, 0x72, 0xC9, 0xBD, 0x01, 0x0E, 0x6A, 0x2C, 0x41, 0x6B, 0x8B, 0xF1, 0x97, 0xB7, 0x78,\r
+               0xB5, 0x5E, 0xDB, 0x8E, 0xC1, 0x1E, 0xA9, 0x3F, 0x82, 0x10, 0x60, 0xEB, 0xF2, 0x1E, 0xE2, 0x44,\r
+               0x39, 0xE4, 0x1D, 0xC6, 0x30, 0x90, 0x04, 0x89, 0xE0, 0xC6, 0x11, 0xD3, 0xD2, 0x7A, 0xF0, 0x26,\r
+               0x6C, 0xC0, 0xA4, 0x74, 0x61, 0x3E, 0x0F, 0xE9, 0xFE, 0xAB, 0x29, 0xE8, 0x00, 0x3A, 0x39, 0xCE,\r
+               0xE4, 0x1F, 0xCE, 0xCB, 0xD9, 0x17, 0xCF, 0xD6, 0xCF, 0x0E, 0x7B, 0xA5, 0x12, 0x2C, 0x6D, 0x9C,\r
+               0x98, 0xC5, 0xB5, 0xEF, 0xD7, 0xE1, 0x8E, 0xBD, 0xAA, 0xB9, 0x3F, 0xBA, 0x31, 0xC1, 0x2A, 0xC2,\r
+               0x6D, 0x1C, 0x9B, 0xF7, 0x9F, 0xFC, 0x26, 0x7F, 0x3F, 0x70, 0x90, 0x87, 0xB1, 0x03, 0x18, 0x76,\r
+               0x92, 0x48, 0x24, 0x0C, 0xA4, 0xB2, 0xAD, 0xC8, 0x1F, 0xD0, 0x36, 0x51, 0xF4, 0x63, 0xA6, 0xE3,\r
+               0x7E, 0xB7, 0x5C, 0xD1, 0x80, 0x0B, 0xF8, 0x7A, 0x37, 0x79, 0x69, 0x00, 0xB2, 0x8A, 0x4D, 0x4A,\r
+               0x4A, 0x0A, 0x64, 0x75, 0xAD, 0xBA, 0x54, 0x4F, 0x6E, 0x37, 0xBC, 0x65, 0xE8, 0x34, 0x04, 0xDA,\r
+               0xD3, 0x46, 0xD2, 0x67, 0x7C, 0x26, 0x9D, 0x9B, 0x34, 0x5C, 0xF9, 0xF9, 0x84, 0xC9, 0xA0, 0xAA,\r
+               0x3B, 0xDC, 0x06, 0x4D, 0x75, 0x2E, 0x64, 0x1C, 0xAF, 0xEC, 0x05, 0x0A, 0xDA, 0x46, 0x42, 0xEA,\r
+               0xEF, 0x4E, 0x60, 0xAB, 0x20, 0x2B, 0x5E, 0xAC, 0x68, 0x47, 0x16, 0x2C, 0x6A, 0xBA, 0xD9, 0x19,\r
+               0x91, 0xAC, 0x00, 0x04, 0xA6, 0x5D, 0xE1, 0xBF, 0xC4, 0x22, 0x12, 0xDB, 0xE2, 0x44, 0x59, 0x61,\r
+               0xCA, 0x60, 0x84, 0xA2, 0x99, 0xB8, 0x5B, 0xD8, 0x35, 0x4D, 0x66, 0x97, 0xCA, 0x1C, 0xF9, 0xCF,\r
+               0x4D, 0x8B, 0xEC, 0x8A, 0xDE, 0xE9, 0x77, 0x3A, 0xBE, 0xE9, 0xF1, 0x91, 0x62, 0x86, 0x6B, 0xD5,\r
+               0x51, 0x14, 0x29, 0x3B, 0x45, 0x87, 0x5A, 0x5B, 0xB4, 0xD4, 0x07, 0x81, 0xA2, 0xD0, 0xF6, 0x6F,\r
+               0x65, 0x04, 0x70, 0xEB, 0xF3, 0xBA, 0xB5, 0xFA, 0x5D, 0xF8, 0x00, 0x0A, 0x99, 0x35, 0x5A, 0x2D,\r
+               0xDD, 0x03, 0x8E, 0x07, 0x6E, 0x90, 0xE5, 0x3C, 0x15, 0xB3, 0x21, 0xF4, 0x6F, 0x20, 0x2A, 0x77,\r
+               0x74, 0x97, 0xAC, 0x46, 0x7D, 0x7E, 0x36, 0x25, 0x2B, 0x7E, 0xBF, 0x19, 0x29, 0xC9, 0xC1, 0xDE,\r
+               0x0B, 0xA9, 0xF3, 0x6A, 0x1E, 0x96, 0x4F, 0x75, 0xF8, 0x85, 0x62, 0x14, 0x18, 0x32, 0xD2, 0xD2,\r
+               0xFE, 0x70, 0xDD, 0x72, 0x51, 0x75, 0x5F, 0x5B, 0xFA, 0xB1, 0x6D, 0x83, 0x74, 0xCF, 0x76, 0xA2,\r
+               0xB8, 0xFF, 0xA3, 0xE6, 0x42, 0x9B, 0x8C, 0x42, 0x49, 0xA8, 0xCE, 0x21, 0x19, 0xF7, 0x68, 0x99,\r
+               0x08, 0x4D, 0xD7, 0x62, 0xC7, 0xB8, 0xBA, 0x6D, 0x10, 0xE6, 0x1B, 0x44, 0x45, 0x34, 0x65, 0xAE,\r
+               0x33, 0xC4, 0xED, 0x51, 0xCA, 0x1B, 0x72, 0x3A, 0xCC, 0x75, 0x0A, 0xE9, 0x46, 0xBD, 0x30, 0x92,\r
+               0xAC, 0xD5, 0xEC, 0x3F, 0xAF, 0xB7, 0x76, 0xCD, 0xAB, 0xF6, 0x41, 0x61, 0x24, 0x01, 0x62, 0x89,\r
+               0x98, 0x68, 0xD4, 0x9B, 0x35, 0x63, 0x9E, 0xE7, 0x47, 0xD1, 0x9D, 0xEF, 0xF5, 0xC8, 0xFE, 0x5D,\r
+               0x7B, 0xA3, 0xAE, 0xD1, 0x60, 0x66, 0xA4, 0x57, 0x8D, 0x26, 0x4D, 0xFE, 0xB8, 0x94, 0xF2, 0x04,\r
+               0x37, 0xA1, 0x41, 0xA6, 0xD3, 0xA8, 0xD1, 0x98, 0xE1, 0x89, 0x6F, 0x08, 0xEB, 0xD3, 0xB3, 0x13,\r
+               0x6E, 0x55, 0xDE, 0x8B, 0x40, 0x74, 0xC0, 0x35, 0x2F, 0x3A, 0x1A, 0xC7, 0xB4, 0x99, 0xEB, 0x18,\r
+               0x06, 0xA5, 0xEA, 0x76, 0x32, 0x9D, 0x26, 0x0B, 0xD3, 0x09, 0xAD, 0xBC, 0x86, 0xEB, 0xAD, 0x28,\r
+               0xDE, 0xE7, 0xAA, 0x0F, 0x87, 0x17, 0x2E, 0x63, 0xE0, 0x98, 0xF0, 0x66, 0xA0, 0xF2, 0xFB, 0xED,\r
+               0xB1, 0x96, 0x16, 0x0D, 0xDD, 0x5E, 0x90, 0xF3, 0xE3, 0xBD, 0x60, 0x9F, 0xA6, 0x8F, 0xBF, 0x4A,\r
+               0x12, 0x8F, 0xA5, 0xAF, 0xC2, 0xA9, 0x4E, 0xF6, 0xC2, 0x0C, 0x59, 0x27, 0x1F, 0x8A, 0x2C, 0x3E,\r
+               0xA6, 0x58, 0x7D, 0xDC, 0x77, 0x23, 0x46, 0x9E, 0xAF, 0xB2, 0xE4, 0xBF, 0xBB, 0x1D, 0xA7, 0x38,\r
+               0x2F, 0x5B, 0x28, 0xE0, 0xAD, 0x58, 0x3A, 0xBA, 0xB2, 0xFA, 0x4C, 0x7D, 0x3D, 0xA2, 0xD1, 0x2B,\r
+               0x31, 0xFC, 0xF6, 0xDA, 0x38, 0xC0, 0x56, 0xB0, 0xCE, 0x41, 0x05, 0x7E, 0xB5, 0x5C, 0x51, 0x53,\r
+               0x47, 0xAB, 0x1C, 0x1D, 0x61, 0xDC, 0x61, 0x1C, 0xC8, 0x31, 0xAF, 0x37, 0x16, 0x73, 0x24, 0xB9,\r
+               0x19, 0xDE, 0x0B, 0xCF, 0x8C, 0xF0, 0x9B, 0x93, 0x78, 0x0D, 0x9C, 0x6C, 0x08, 0x68, 0x69, 0xF7,\r
+               0xAA, 0x88, 0x5B, 0x43, 0x78, 0x6F, 0xC2, 0xBE, 0x6C, 0x5D, 0x52, 0x47, 0x47, 0x78, 0x8A, 0xD9,\r
+               0x1F, 0x83, 0xBC, 0xB3, 0x94, 0xF9, 0xFD, 0x7A, 0x81, 0x6B, 0x11, 0xA7, 0x34, 0x5B, 0xD9, 0xAC,\r
+               0x1E, 0x5F, 0x83, 0x30, 0xC5, 0x57, 0xF6, 0x1A, 0x4C, 0xFD, 0xF4, 0x91, 0x01, 0x91, 0x61, 0x70,\r
+               0xFA, 0x15, 0x71, 0x85, 0x81, 0x53, 0x53, 0xC4, 0xCD, 0x64, 0x95, 0x87, 0xCE, 0x43, 0xB0, 0xEA,\r
+               0x07, 0x79, 0xD5, 0xF5, 0x2F, 0x85, 0xB4, 0x79, 0x03, 0xD7, 0xE0, 0x48, 0xE5, 0x92, 0x45, 0x78,\r
+               0x18, 0x02, 0x34, 0x4C, 0xA4, 0x50, 0xC3, 0x3D, 0x99, 0x76, 0x83, 0xD5, 0x36, 0x17, 0x36, 0xDB,\r
+               0x2B, 0x3E, 0x84, 0x17, 0x27, 0x37, 0x88, 0xB5, 0x14, 0xA2, 0xBE, 0x9A, 0x72, 0xB2, 0x32, 0x05,\r
+               0x50, 0x65, 0x77, 0xCC, 0x73, 0x88, 0x77, 0x4E, 0xDB, 0x00, 0x54, 0x3B, 0x2E, 0x71, 0x3F, 0x32,\r
+               0xAE, 0xED, 0xF7, 0xB4, 0x8A, 0xB4, 0xE6, 0x34, 0xBE, 0xB7, 0x10, 0x24, 0xB0, 0xA8, 0x40, 0xC8,\r
+               0xD0, 0x0F, 0x97, 0x1B, 0xDA, 0xA0, 0x28, 0x1F, 0x9A, 0x53, 0x13, 0x2C, 0xBA, 0xD8, 0x1D, 0x73,\r
+               0xA1, 0xD9, 0xF5, 0x23, 0xAA, 0xA6, 0x82, 0x56, 0x1A, 0xDB, 0xED, 0x54, 0x9D, 0x04, 0xF1, 0xFD,\r
+               0xBB, 0x1B, 0x87, 0xEE, 0x2B, 0x2E, 0x85, 0xA9, 0x06, 0x82, 0xDA, 0xF8, 0xDC, 0x55, 0xE4, 0xB8,\r
+               0xF9, 0xF1, 0x55, 0x8D, 0x49, 0x7C, 0x39, 0xB2, 0x21, 0x43, 0x49, 0x09, 0xD6, 0x25, 0xB9, 0x03,\r
+               0xF5, 0x21, 0x73, 0x12, 0x95, 0x43, 0x38, 0x31, 0x56, 0xD4, 0x69, 0x74, 0x9B, 0x79, 0xB5, 0x5A,\r
+               0xE7, 0x56, 0x8B, 0xB7, 0x2D, 0x6A, 0xF8, 0x0E, 0x5C, 0xE9, 0x9F, 0x64, 0x7B, 0x4B, 0x3A, 0x82,\r
+               0x2D, 0x63, 0x33, 0x6B, 0x0B, 0x3C, 0xE1, 0xCB, 0x4A, 0x8D, 0x5E, 0xD8, 0x90, 0xCC, 0x52, 0xAA,\r
+               0xDF, 0x3B, 0x95, 0x8C, 0x06, 0x9F, 0x29, 0x9C, 0x44, 0xF4, 0x0D, 0x16, 0x10, 0x0E, 0x60, 0x1E,\r
+               0x30, 0x20, 0xC9, 0x59, 0xC1, 0xFC, 0xC7, 0xCA, 0x07, 0x93, 0x45, 0x96, 0xA7, 0x4A, 0x05, 0x01,\r
+               0x86, 0xCF, 0x0A, 0xA1, 0x7F, 0x91, 0x7A, 0x52, 0x54, 0xE0, 0x66, 0xE3, 0x33, 0xE3, 0x27, 0x40,\r
+               0x42, 0x12, 0x8F, 0x69, 0xDF, 0xB1, 0xDC, 0x84, 0x6D, 0x4C, 0xCD, 0x29, 0xB6, 0xD5, 0x04, 0x6F,\r
+               0x7E, 0x1A, 0x3D, 0xA5, 0x4A, 0x29, 0xB0, 0x8E, 0x09, 0xEA, 0x16, 0x58, 0x71, 0x3B, 0x67, 0x39,\r
+               0x3F, 0x14, 0xCB, 0xCE, 0x1C, 0x79, 0x03, 0x02, 0xEF, 0xF0, 0x3C, 0xC6, 0x13, 0x87, 0x35, 0x22,\r
+               0x2A, 0xE2, 0xBB, 0x94, 0x1D, 0xC3, 0xC6, 0x49, 0xE6, 0xE8, 0x5A, 0x2F, 0xE3, 0xEF, 0x01, 0xDF,\r
+               0x23, 0x8B, 0x0E, 0x7F, 0x6D, 0xC5, 0x6C, 0x00, 0xE7, 0xF9, 0xC5, 0x41, 0x9F, 0x48, 0x1E, 0x8A,\r
+               0xEC, 0x07, 0x25, 0xD7, 0xBC, 0x59, 0xA5, 0xD4, 0x6E, 0x69, 0x5D, 0xD0, 0xCC, 0x0F, 0x5F, 0x9D,\r
+               0xCA, 0xCD, 0xE5, 0xD6, 0xE1, 0xEE, 0xA3, 0xA8, 0x4F, 0xD8, 0x64, 0x68, 0x30, 0x6A, 0x72, 0x7C,\r
+               0x84, 0xF7, 0x11, 0x2A, 0x3C, 0x6B, 0x67, 0x60, 0x7A, 0x39, 0x93, 0xFB, 0x0E, 0x15, 0x2D, 0x50,\r
+               0xDB, 0x5E, 0x39, 0x7B, 0x7A, 0x80, 0x8E, 0xC9, 0x02, 0xC6, 0x7F, 0x26, 0x2A, 0x40, 0x94, 0xE2,\r
+               0x7D, 0xFE, 0x19, 0xAD, 0x3F, 0x3E, 0xEE, 0x5C, 0xBD, 0x92, 0x80, 0xDD, 0x11, 0xCB, 0xDA, 0x55,\r
+               0xD2, 0x37, 0x8C, 0x90, 0xBF, 0x0C, 0x2C, 0xE8, 0x93, 0x4B, 0x75, 0xC5, 0x59, 0x63, 0xC7, 0x97,\r
+               0x96, 0x80, 0xE9, 0x8F, 0x9C, 0x4B, 0xC1, 0xB6, 0xE8, 0x91, 0x09, 0xE1, 0x57, 0x22, 0x31, 0xFC,\r
+               0xC4, 0x25, 0xD8, 0xC2, 0x8E, 0x1F, 0xD7, 0xE4, 0x82, 0x4E, 0x81, 0x5E, 0xEF, 0xE2, 0x18, 0xC3,\r
+               0xFC, 0x48, 0xC6, 0xF9, 0x5C, 0xD6, 0x97, 0x0C, 0x3B, 0x6A, 0xD4, 0xEC, 0xBE, 0xE9, 0xB6, 0xA3,\r
+               0x8D, 0x9E, 0xA4, 0xC1, 0x7C, 0xC4, 0xF3, 0x6E, 0xFD, 0xD0, 0x58, 0xA4, 0x4F, 0x44, 0x38, 0x15,\r
+               0xEA, 0x5A, 0x92, 0xAB, 0x2C, 0xD0, 0x3D, 0x45, 0x0F, 0x9A, 0xBC, 0x11, 0xCB, 0xB7, 0xA1, 0x71,\r
+               0x1C, 0x67, 0x98, 0xBB, 0xEC, 0x4D, 0x6B, 0xFF, 0xCA, 0x05, 0xA0, 0xA0, 0x50, 0x9A, 0xCF, 0x10,\r
+               0x8B, 0xC3, 0x13, 0xBD, 0x44, 0xDF, 0xF1, 0xE5, 0xA2, 0xEE, 0x27, 0x88, 0x17, 0xB6, 0x9E, 0xF2,\r
+               0xFF, 0xAC, 0xE2, 0xF1, 0x6C, 0x7F, 0xA9, 0x4B, 0x26, 0x22, 0x7C, 0x2E, 0x28, 0x0C, 0x7B, 0x95,\r
+               0xFB, 0xC9, 0x4E, 0x06, 0xE4, 0xFF, 0x57, 0x33, 0x46, 0xC0, 0x02, 0x81, 0xAE, 0xB3, 0x0D, 0x86,\r
+               0xE8, 0x62, 0x89, 0x20, 0x54, 0x64, 0xAB, 0xC0, 0x20, 0x52, 0xD6, 0x67, 0xFB, 0x89, 0x08, 0x36,\r
+               0x14, 0xD2, 0x12, 0xD3, 0x0A, 0x86, 0x24, 0x80, 0xF4, 0xC8, 0x3E, 0x4D, 0xF2, 0x70, 0x00, 0xB1,\r
+               0x51, 0xB9, 0x48, 0x4F, 0x66, 0x22, 0xD9, 0xF0, 0x42, 0x84, 0xA7, 0x5F, 0x23, 0xB9, 0x9C, 0x65,\r
+               0x46, 0x7E, 0x3E, 0xB0, 0xB9, 0x5D, 0xA8, 0xE6, 0xA4, 0xDF, 0x25, 0x2D, 0x29, 0x30, 0xD4, 0x77,\r
+               0x0F, 0xC5, 0x42, 0xB3, 0x31, 0xDD, 0x56, 0x9E, 0x7A, 0x78, 0x3B, 0x17, 0xBC, 0x5C, 0x4C, 0x7D,\r
+               0x53, 0x88, 0x4E, 0xEA, 0x9B, 0xA0, 0x80, 0xF3, 0x29, 0x0B, 0x18, 0x62, 0x46, 0x44, 0x25, 0x3B,\r
+               0xEE, 0x36, 0x23, 0x72, 0x3F, 0x2B, 0x17, 0xF5, 0xF1, 0xDC, 0xAC, 0x11, 0xF3, 0x4C, 0xAF, 0x53,\r
+               0x58, 0xD9, 0xE0, 0x8A, 0xC3, 0x06, 0x72, 0x14, 0xD7, 0x0C, 0xA0, 0x8E, 0xFC, 0xC8, 0xE3, 0x73,\r
+               0x1B, 0xEF, 0x0D, 0x6A, 0xB0, 0x55, 0x51, 0x61, 0x30, 0x07, 0x15, 0x7E, 0x10, 0xF7, 0x75, 0xB7,\r
+               0xA5, 0xB5, 0x44, 0xFA, 0x92, 0xA8, 0x79, 0x74, 0x90, 0x2F, 0x4D, 0xD0, 0xE5, 0x6B, 0x50, 0xD1,\r
+               0x96, 0x89, 0xF4, 0xA1, 0x8C, 0xE5, 0x62, 0x3A, 0x87, 0x5A, 0x13, 0x02, 0x08, 0x91, 0x7C, 0x5E,\r
+               0xEA, 0x53, 0x8F, 0x85, 0x61, 0xC9, 0x98, 0xB5, 0x59, 0xFD, 0x0D, 0x38, 0xAB, 0xBE, 0x09, 0xB4,\r
+               0x89, 0xF2, 0x15, 0x18, 0xB2, 0xBA, 0x1D, 0x16, 0xB8, 0x86, 0x12, 0x81, 0x20, 0xC9, 0xDC, 0xF0,\r
+               0xFE, 0x79, 0xC0, 0x5C, 0x85, 0xED, 0x9B, 0xBD, 0x0F, 0xDB, 0x14, 0xFD, 0x41, 0xFC, 0xDB, 0xD7,\r
+               0x9F, 0xE0, 0x41, 0x4A, 0x4A, 0x3C, 0x49, 0x27, 0xFD, 0x91, 0xF0, 0x48, 0x05, 0x59, 0xDF, 0x09,\r
+               0x1A, 0x33, 0x32, 0xE9, 0x34, 0xCC, 0xA2, 0x05, 0x7B, 0x69, 0xA4, 0x79, 0x0E, 0xEC, 0x38, 0xF9,\r
+               0x19, 0xD7, 0x16, 0xE1, 0x3E, 0x91, 0xD2, 0xBE, 0x1B, 0x8B, 0xDA, 0xD6, 0x5E, 0x22, 0x2C, 0xD2,\r
+               0xB4, 0x26, 0x98, 0x57, 0xF6, 0xBE, 0xB8, 0xC8, 0x08, 0xBA, 0x21, 0xDA, 0xA3, 0x82, 0xBB, 0x78,\r
+               0x5E, 0x84, 0x57, 0xF6, 0xAA, 0xB3, 0x7B, 0xFF, 0xFB, 0xE1, 0x5A, 0x01, 0xF7, 0x7D, 0x04, 0x83,\r
+               0xB5, 0xFA, 0xA7, 0xD4, 0xAD, 0x4D, 0xC3, 0x13, 0x20, 0x13, 0x7E, 0x8B, 0xF9, 0x3C, 0xF2, 0xE8,\r
+               0x68, 0x01, 0x74, 0xD9, 0x9C, 0x5E, 0x38, 0x1F, 0x7F, 0x2D, 0x01, 0xA7, 0x9A, 0x45, 0x1A, 0xB8,\r
+               0x0A, 0x7C, 0xD1, 0xC7, 0x1D, 0xD6, 0x3F, 0xE0, 0xFC, 0x80, 0x6F, 0x26, 0x77, 0xBF, 0x36, 0x37,\r
+               0x2B, 0x37, 0x99, 0x39, 0xEB, 0xA6, 0x2A, 0xBA, 0x02, 0x87, 0xD7, 0xCA, 0xEA, 0xEF, 0x1C, 0xF1,\r
+               0x11, 0x62, 0x9C, 0x89, 0xC1, 0xE9, 0x3E, 0x63, 0x5B, 0xC9, 0x02, 0xAF, 0x43, 0xB0, 0x34, 0xA0,\r
+               0x00, 0xF1, 0x40, 0x24, 0xC2, 0xBC, 0xB7, 0x5F, 0x61, 0x40, 0x39, 0x9C, 0x4E, 0x78, 0x97, 0xF7,\r
+               0x67, 0x35, 0x76, 0x4E, 0xF0, 0xFA, 0xC5, 0x6F, 0x51, 0xF4, 0xF4, 0xBF, 0xD5, 0x55, 0xF9, 0x96,\r
+               0xC4, 0x2C, 0xC5, 0xEC, 0x9D, 0xE4, 0xFD, 0x54, 0x2F, 0x7B, 0xB2, 0x2B, 0xC6, 0x86, 0x17, 0x8F,\r
+               0x47, 0xA2, 0x01, 0x33, 0x3C, 0x7E, 0x9E, 0xC9, 0x22, 0x27, 0x71, 0x1C, 0xE4, 0xAE, 0xEA, 0x9A,\r
+               0x65, 0x0D, 0x6D, 0xC5, 0x6F, 0x3F, 0xD9, 0xDE, 0xCD, 0x25, 0x3D, 0x6B, 0x57, 0xDB, 0x24, 0x55,\r
+               0x4B, 0x72, 0x27, 0xAC, 0xA0, 0xEE, 0x0B, 0x44, 0x60, 0x51, 0xA6, 0xF2, 0x2B, 0x7C, 0x3B, 0x00,\r
+               0x97, 0x55, 0xCB, 0x22, 0x71, 0x72, 0xC2, 0x90, 0x58, 0xEC, 0x92, 0x56, 0xB1, 0x94, 0xEF, 0x2A,\r
+               0xFA, 0x1C, 0x6C, 0xAB, 0x24, 0x77, 0xF8, 0x20, 0x26, 0x63, 0xD4, 0xC2, 0x03, 0x24, 0x9B, 0xAE,\r
+               0x6A, 0x39, 0x6F, 0x52, 0x22, 0x33, 0x85, 0x87, 0x9A, 0x12, 0xBB, 0xC0, 0x59, 0x9A, 0xD2, 0x3E,\r
+               0x10, 0xBE, 0xA3, 0x0A, 0x30, 0x67, 0x93, 0xD5, 0x52, 0xD1, 0x64, 0x46, 0xC4, 0xCA, 0xF8, 0xF8,\r
+               0xA7, 0x8D, 0x5F, 0x71, 0x02, 0x21, 0xE1, 0xE5, 0x66, 0x21, 0x0C, 0xBB, 0xB6, 0x2C, 0x11, 0xC6,\r
+               0x8A, 0x16, 0x31, 0x10, 0x95, 0x56, 0xC1, 0x98, 0x95, 0x7A, 0x77, 0x60, 0xBB, 0xE4, 0xB2, 0x91,\r
+               0x7F, 0xCF, 0x1F, 0x08, 0xDD, 0x4B, 0x69, 0x5A, 0x00, 0xB3, 0xD8, 0x5D, 0x3B, 0x26, 0x80, 0x25,\r
+               0x99, 0xBD, 0xF6, 0x36, 0x8A, 0xA1, 0x1F, 0x9D, 0x9D, 0x73, 0x8E, 0xE7, 0xB8, 0x6D, 0xE7, 0xAD,\r
+               0x75, 0x42, 0x8E, 0xEB, 0xAE, 0x18, 0x4A, 0x2F, 0xB5, 0xDA, 0xD1, 0xB6, 0xFE, 0x84, 0x0C, 0x04,\r
+               0xDE, 0xEE, 0xB7, 0x21, 0x3A, 0x3A, 0xE3, 0x6E, 0x4A, 0xCC, 0xF6, 0x34, 0xD8, 0x9D, 0x5A, 0xC1,\r
+               0x52, 0x54, 0x71, 0x69, 0xCB, 0xB4, 0x4E, 0xD8, 0x28, 0x1A, 0x87, 0x0C, 0xF8, 0xF9, 0x48, 0xA3,\r
+               0x03, 0x15, 0x64, 0x2C, 0xD3, 0xBD, 0x28, 0x31, 0x65, 0x04, 0x9C, 0x42, 0x18, 0xCB, 0xC7, 0x7B,\r
+               0x8B, 0xCA, 0x0E, 0x93, 0x6B, 0x94, 0xE8, 0x0E, 0x54, 0xA1, 0xCE, 0x0F, 0x0A, 0xDD, 0x93, 0x29,\r
+               0x2D, 0x6A, 0x2E, 0x45, 0x93, 0x12, 0xBC, 0x3F, 0x9F, 0x47, 0x81, 0x70, 0xC0, 0xFB, 0x53, 0x28,\r
+               0x76, 0xA6, 0xAA, 0xE3, 0xAC, 0xF7, 0x06, 0x58, 0x6E, 0x28, 0xF5, 0x3C, 0xE8, 0xA3, 0xF3, 0x86,\r
+               0xB6, 0x1E, 0x83, 0xDC, 0x4F, 0x2D, 0xBD, 0xBC, 0x1E, 0xDE, 0xE0, 0x66, 0xA8, 0x37, 0x5C, 0x88,\r
+               0xAA, 0x81, 0x46, 0x6D, 0xD4, 0x43, 0x90, 0xDD, 0x14, 0xE3, 0x16, 0x76, 0x68, 0x61, 0xC1, 0x32,\r
+               0x34, 0x4C, 0x78, 0x80, 0x76, 0x8C, 0x7A, 0x7C, 0x9E, 0x56, 0x1E, 0x1E, 0x8E, 0x2E, 0x0A, 0x4D,\r
+               0xAD, 0x00, 0xCE, 0x92, 0xA7, 0x10, 0xB3, 0xA8, 0xC4, 0x3D, 0x5B, 0x82, 0xE2, 0xD3, 0xAE, 0x3D,\r
+               0x08, 0x44, 0xCA, 0x4C, 0x2A, 0x81, 0xB9, 0x4B, 0xC2, 0x4D, 0xF1, 0xCB, 0x60, 0x5D, 0x73, 0xFE,\r
+               0xDC, 0xD6, 0xAC, 0xAA, 0x7F, 0x84, 0x83, 0xFB, 0x05, 0xE6, 0xE2, 0xED, 0xD0, 0xA1, 0xE8, 0x0D,\r
+               0x43, 0xC7, 0xAD, 0xC4, 0x52, 0x35, 0x2F, 0xCE, 0xD9, 0x75, 0xF3, 0x40, 0xCD, 0x33, 0xF0, 0x7F,\r
+               0x63, 0x50, 0xDA, 0xB9, 0x1F, 0x39, 0x73, 0x97, 0xFF, 0xA5, 0xFF, 0xDF, 0x11, 0x32, 0xCF, 0xFC,\r
+               0xE7, 0x5F, 0x96, 0x99, 0x19, 0x7D, 0x0E, 0x30, 0x79, 0x5D, 0xAB, 0xEE, 0x2E, 0x88, 0x2A, 0x9B,\r
+               0xD0, 0x06, 0x8A, 0x35, 0x58, 0x68, 0x5F, 0x75, 0x0B, 0x9F, 0xB1, 0x23, 0xAF, 0x8F, 0xA2, 0x64,\r
+               0x07, 0x70, 0xC8, 0xDB, 0x94, 0xEC, 0x04, 0xD3, 0x19, 0xBF, 0xD5, 0x41, 0x82, 0x23, 0x13, 0x51,\r
+               0x4F, 0x17, 0x8B, 0x5B, 0x23, 0x89, 0x40, 0xCC, 0x45, 0xA4, 0x3A, 0x94, 0x45, 0xCD, 0x70, 0x07,\r
+               0x95, 0x6D, 0xD0, 0xA9, 0xFF, 0xB6, 0x41, 0x4F, 0x07, 0xD2, 0xED, 0x7A, 0xA9, 0xF2, 0xE6, 0xC3,\r
+               0x54, 0x09, 0xC6, 0x15, 0x14, 0xDE, 0xC6, 0x67, 0xBF, 0xE7, 0x27, 0xA6, 0x8F, 0xEB, 0xB0, 0x06,\r
+               0x1C, 0x6E, 0x85, 0x95, 0xF5, 0xEB, 0x31, 0xF4, 0xB1, 0x9E, 0x74, 0x68, 0xCE, 0xBA, 0xA5, 0x43,\r
+               0x36, 0x74, 0x63, 0x0B, 0x97, 0xB9, 0x8D, 0xEF, 0x47, 0x90, 0x35, 0x03, 0x98, 0x09, 0xF5, 0xCF,\r
+               0x6C, 0x64, 0xD8, 0x2E, 0xB7, 0xAB, 0xE9, 0x8D, 0x86, 0x4B, 0x8C, 0x6C, 0xFB, 0x70, 0x1D, 0x9F,\r
+               0xC7, 0xC8, 0xE1, 0xE4, 0x32, 0x88, 0xDF, 0xA2, 0x03, 0x96, 0x48, 0xA4, 0x5B, 0xD6, 0x3D, 0x49,\r
+               0x57, 0xED, 0xE2, 0x1D, 0x48, 0xD3, 0x05, 0x50, 0xA9, 0x83, 0xE6, 0x1A, 0x38, 0xAF, 0xD5, 0x19,\r
+               0x6E, 0x5C, 0xC3, 0xA5, 0xB4, 0xFE, 0x60, 0xB1, 0x69, 0x49, 0xC0, 0x1B, 0x65, 0xA9, 0x62, 0x65,\r
+               0x50, 0x6C, 0x6A, 0xE2, 0x67, 0x8D, 0xE5, 0x12, 0x37, 0x66, 0x20, 0x59, 0x99, 0xCC, 0x4F, 0x84,\r
+               0xCF, 0x7D, 0x6B, 0x8C, 0x1B, 0x92, 0x42, 0x47, 0x82, 0x0F, 0x29, 0xB2, 0xE9, 0x66, 0x49, 0xCD,\r
+               0xDB, 0xE5, 0xFA, 0x1B, 0xD1, 0x07, 0x2B, 0x73, 0xFE, 0xD2, 0x0E, 0xE3, 0x34, 0x14, 0x60, 0xC9,\r
+               0xD0, 0x02, 0x0A, 0xAE, 0x47, 0xC3, 0xC7, 0x4C, 0x1E, 0x3F, 0x38, 0xA0, 0x67, 0x67, 0x15, 0xEA,\r
+               0xF8, 0xA2, 0xA4, 0xF6, 0x62, 0xA5, 0x32, 0xD0, 0x8E, 0x76, 0x62, 0x1E, 0x9A, 0x45, 0x00, 0xC2,\r
+               0x8D, 0xB5, 0x76, 0xA8, 0x4E, 0x2A, 0xDF, 0x2A, 0xD5, 0xC6, 0x5E, 0x2D, 0xD7, 0x5B, 0x4E, 0xD9,\r
+               0x08, 0x96, 0x59, 0x9E, 0xE6, 0x03, 0xFE, 0x8B, 0xC4, 0x0C, 0xA9, 0xFD, 0x6F, 0x6E, 0x92, 0x13,\r
+               0xAF, 0x48, 0x63, 0x80, 0x7E, 0x09, 0x6B, 0xE7, 0xC7, 0x70, 0x12, 0xB4, 0xEF, 0xE6, 0xEA, 0xED,\r
+               0xDC, 0x1B, 0x16, 0xA3, 0x17, 0x4F, 0x91, 0xFF, 0x9E, 0x7C, 0x5F, 0xE8, 0x92, 0x4C, 0x87, 0x3B,\r
+               0x0B, 0xC3, 0x65, 0x17, 0x9D, 0x27, 0x24, 0xF7, 0x06, 0x11, 0xE1, 0x55, 0x19, 0xE8, 0x81, 0xAC,\r
+               0xBE, 0x49, 0x0D, 0x1F, 0x0A, 0x8D, 0xD9, 0x57, 0x9D, 0x00, 0xE4, 0xA1, 0xFE, 0xE3, 0x71, 0x19,\r
+               0x5C, 0x29, 0xA2, 0x61, 0x1E, 0xA6, 0x89, 0x99, 0x95, 0x24, 0x00, 0xA2, 0xA3, 0xE9, 0xCA, 0x69,\r
+               0x6D, 0x3A, 0xAE, 0x9A, 0x89, 0x0C, 0x74, 0x39, 0x23, 0xAA, 0xF1, 0x0F, 0x8C, 0x21, 0xBC, 0x03,\r
+               0x36, 0xC9, 0x75, 0xE1, 0x36, 0xF7, 0x20, 0xC6, 0x82, 0x65, 0x53, 0xE5, 0x81, 0x7D, 0x8B, 0xC0,\r
+               0x2A, 0x6B, 0x4C, 0xB6, 0x3B, 0xC0, 0x7C, 0x05, 0xF1, 0xBD, 0x84, 0x51, 0xFB, 0xB6, 0xC1, 0x23,\r
+               0x51, 0x8A, 0xF5, 0xA9, 0xEE, 0x84, 0xF7, 0x72, 0x6C, 0x27, 0x25, 0x32, 0x88, 0x65, 0x62, 0xA6,\r
+               0x0C, 0x3D, 0x89, 0xAF, 0xE9, 0xA3, 0x96, 0x47, 0x28, 0xF2, 0xAE, 0x45, 0xDF, 0x52, 0xC9, 0x20,\r
+               0x46, 0xCF, 0x3C, 0x4B, 0xED, 0x7D, 0xD2, 0xE2, 0x3E, 0x73, 0x37, 0x24, 0x0E, 0x9D, 0x53, 0xF2,\r
+               0x1E, 0x69, 0xDB, 0xB9, 0x06, 0xD4, 0x94, 0x0B, 0xFD, 0xAE, 0xB5, 0xAA, 0xDB, 0x16, 0x17, 0x85,\r
+               0x97, 0x53, 0xE8, 0x82, 0xA5, 0x83, 0x99, 0xC3, 0x50, 0x72, 0x26, 0xBB, 0x8E, 0x15, 0x2B, 0x0C,\r
+               0x23, 0x63, 0xCB, 0x4F, 0xCB, 0xE2, 0x02, 0xEE, 0x3A, 0x44, 0xE2, 0xDC, 0xC8, 0x27, 0x1B, 0x7E,\r
+               0xAC, 0x1D, 0x5F, 0x09, 0x25, 0xFB, 0x11, 0x3D, 0x98, 0xF7, 0xFB, 0x7F, 0xD6, 0x4A, 0x20, 0x46,\r
+               0xC4, 0x12, 0xFF, 0xC5, 0xC0, 0x9C, 0x2E, 0x87, 0xA0, 0x95, 0x2D, 0x0E, 0x7F, 0x7A, 0x67, 0x78,\r
+               0xFA, 0x4D, 0xD3, 0xBA, 0x28, 0xCC, 0x4D, 0xFE, 0xAD, 0x46, 0xD6, 0xD3, 0x6C, 0x4B, 0x6B, 0x83,\r
+               0x57, 0xCE, 0x52, 0xD4, 0x04, 0x43, 0xA0, 0x04, 0xB3, 0xE3, 0xAB, 0xB1, 0xE4, 0xCA, 0x94, 0x84,\r
+               0x50, 0x30, 0xBE, 0x6C, 0x2E, 0x85, 0x3D, 0x54, 0x4D, 0xAB, 0xE0, 0x90, 0x94, 0x3C, 0xCE, 0x91,\r
+               0xB4, 0x14, 0xB6, 0x6F, 0xA9, 0xDA, 0xD4, 0x9F, 0xDF, 0x5E, 0xCB, 0x41, 0x45, 0xF3, 0x54, 0x43,\r
+               0xC5, 0xA8, 0xB4, 0x00, 0xE0, 0x4A, 0x8E, 0x21, 0x26, 0x5D, 0xEE, 0xD1, 0x01, 0xF5, 0xF3, 0x3E,\r
+               0x06, 0x60, 0x32, 0xDF, 0xCA, 0x8C, 0x13, 0x71, 0x7E, 0x91, 0x69, 0xAB, 0x55, 0xE7, 0xA1, 0x28,\r
+               0xF6, 0x54, 0xCF, 0xB7, 0x23, 0xB2, 0x61, 0x97, 0x05, 0x6D, 0x5A, 0x1C, 0x13, 0xD5, 0x91, 0x5A,\r
+               0xF0, 0x10, 0x68, 0xCA, 0xD8, 0xEE, 0x33, 0x15, 0x47, 0x33, 0x75, 0xFC, 0x4C, 0xEB, 0xBD, 0x25,\r
+               0xF2, 0xFF, 0x1F, 0x86, 0x16, 0x21, 0x80, 0x60, 0xB1, 0x5F, 0xDA, 0xDE, 0x0D, 0xB8, 0xAA, 0x62,\r
+               0x86, 0x52, 0x86, 0x1D, 0x09, 0x74, 0xFC, 0xC7, 0xD8, 0x15, 0xA5, 0xF0, 0xDC, 0x77, 0x30, 0xB0,\r
+               0x3B, 0x6A, 0x22, 0x29, 0xDD, 0x5E, 0x66, 0x2F, 0x56, 0xF9, 0x82, 0x2C, 0x40, 0xA6, 0xE4, 0x79,\r
+               0x1B, 0x78, 0x40, 0x4D, 0x68, 0xB5, 0x0F, 0x26, 0x55, 0x85, 0x39, 0x65, 0x08, 0xED, 0x1A, 0x58,\r
+               0xCD, 0x1A, 0x78, 0x3C, 0x7A, 0xD7, 0x2F, 0x42, 0x1D, 0x43, 0x83, 0xE9, 0x86, 0x1C, 0xAC, 0xF5,\r
+               0xD3, 0x57, 0x36, 0x27, 0xF5, 0x0F, 0xCF, 0x70, 0x58, 0x56, 0xC2, 0xB8, 0x8F, 0x04, 0x45, 0x93,\r
+               0x76, 0x66, 0x7B, 0x75, 0xA1, 0x5D, 0xDD, 0x66, 0xE7, 0x3C, 0x1D, 0x30, 0xA6, 0xBC, 0x7A, 0x53,\r
+               0xAD, 0xA7, 0x14, 0xCC, 0x80, 0xE5, 0x6C, 0x5F, 0x64, 0x03, 0xC1, 0x31, 0x64, 0x42, 0xEC, 0x7A,\r
+               0x64, 0x32, 0x29, 0x63, 0xB2, 0x51, 0xEC, 0x9D, 0x7C, 0x2D, 0x18, 0xC4, 0x79, 0x0A, 0x2E, 0xD2,\r
+               0xA4, 0xAF, 0x93, 0x35, 0xD5, 0xD9, 0x6F, 0xD6, 0x42, 0xC4, 0x6A, 0x22, 0x93, 0x5D, 0xE9, 0xA4,\r
+               0x0D, 0x87, 0xC2, 0x6A, 0x3E, 0x70, 0x29, 0x3F, 0x9F, 0xBC, 0x95, 0xCE, 0x2A, 0x79, 0x5B, 0xF1,\r
+               0x81, 0xAC, 0x6A, 0xA5, 0x38, 0x39, 0x59, 0x95, 0xF4, 0x4A, 0x9B, 0x8F, 0xBE, 0xA1, 0x08, 0xC1,\r
+               0xEA, 0xF6, 0xF6, 0xE0, 0x9C, 0x49, 0x35, 0x68, 0xE6, 0xFC, 0xD7, 0x16, 0x22, 0x70, 0xDC, 0x08,\r
+               0x9A, 0xF0, 0xBF, 0x4A, 0x41, 0x8A, 0xB7, 0xE6, 0x38, 0xF8, 0x93, 0xB3, 0xB3, 0xFD, 0x3F, 0x02,\r
+               0x31, 0x37, 0x99, 0x59, 0xDA, 0x79, 0x07, 0x1A, 0xDE, 0x9E, 0x01, 0x67, 0xB6, 0xA8, 0x8F, 0x38,\r
+               0x90, 0xAD, 0x04, 0x3A, 0x61, 0x5C, 0x17, 0x40, 0x31, 0x1C, 0xBD, 0x96, 0x20, 0x44, 0x4B, 0x07,\r
+               0xFF, 0x5C, 0x48, 0x4E, 0xC1, 0xF2, 0x3F, 0x18, 0x97, 0x98, 0x71, 0xCD, 0xC5, 0x7B, 0x2C, 0xBD,\r
+               0x09, 0x2C, 0x12, 0x5B, 0x6E, 0xFC, 0x7F, 0x8C, 0xA8, 0xB1, 0xC9, 0x0D, 0x1F, 0x98, 0xC8, 0x06,\r
+               0x34, 0x26, 0x02, 0xAD, 0xF3, 0x46, 0xBF, 0xDA, 0x19, 0x74, 0x56, 0x11, 0x71, 0x03, 0xA9, 0x2B,\r
+               0x68, 0x2B, 0x35, 0x6E, 0x21, 0x25, 0x55, 0x98, 0xAF, 0xFA, 0xA7, 0xBC, 0xDE, 0x43, 0xA7, 0xBF,\r
+               0x73, 0x77, 0xE0, 0x81, 0x42, 0x73, 0x92, 0x76, 0x2F, 0xB9, 0xC0, 0xF4, 0xBB, 0xF4, 0xB8, 0xFB,\r
+               0x05, 0x35, 0x0E, 0x56, 0xD4, 0xB7, 0x7E, 0x49, 0xDD, 0xE2, 0xBA, 0x2E, 0x84, 0x28, 0x3B, 0xFA,\r
+               0x30, 0x8D, 0xD2, 0x9C, 0x82, 0x72, 0x58, 0x50, 0x61, 0xF4, 0xDE, 0xEF, 0xEC, 0xC3, 0x13, 0x7D,\r
+               0xA2, 0xEB, 0x34, 0x48, 0xC2, 0x0B, 0x1A, 0x88, 0xB0, 0x9F, 0x10, 0xF8, 0x07, 0x85, 0xBA, 0x94,\r
+               0x72, 0xCD, 0xAB, 0x44, 0xFD, 0x88, 0xC6, 0x89, 0xCD, 0xE8, 0x87, 0xD8, 0x0B, 0xC8, 0xE3, 0xC8,\r
+               0x8A, 0x4B, 0x9A, 0x10, 0x18, 0xEF, 0xF9, 0x33, 0xED, 0xA4, 0x88, 0x5C, 0x4F, 0xCE, 0x44, 0xB5,\r
+               0x48, 0x39, 0x57, 0x0A, 0x90, 0x10, 0x78, 0x34, 0x41, 0xB8, 0xD1, 0x6B, 0x5A, 0x8F, 0x01, 0xE4,\r
+               0x54, 0x9B, 0x6E, 0x5D, 0xE7, 0x6D, 0xEF, 0x14, 0x69, 0xD0, 0x3A, 0xEC, 0xE1, 0x9F, 0x24, 0xBE,\r
+               0x9E, 0x5B, 0x6F, 0x7B, 0x50, 0x11, 0xB2, 0x12, 0xD1, 0xF1, 0x8B, 0xD5, 0xCC, 0x63, 0xC5, 0xDB,\r
+               0xB1, 0x05, 0x2D, 0x9B, 0x7D, 0xF0, 0x4E, 0x77, 0x96, 0x58, 0xBB, 0xEB, 0xBF, 0xB0, 0x66, 0x5E,\r
+               0xD8, 0xB0, 0xC6, 0x92, 0x7B, 0xB9, 0x3E, 0xDD, 0xF8, 0x59, 0xAA, 0x74, 0xA0, 0xCC, 0x33, 0xF9,\r
+               0x49, 0x83, 0x1C, 0xCF, 0x97, 0x37, 0x19, 0x01, 0xE1, 0xB7, 0xB9, 0xA7, 0xD9, 0x22, 0x80, 0x8A,\r
+               0x47, 0x75, 0x77, 0x8E, 0xC7, 0xBB, 0x4F, 0xB2, 0x7F, 0x51, 0xA3, 0x8D, 0x8B, 0x40, 0x9B, 0x36,\r
+               0x9C, 0xB4, 0x18, 0x37, 0x2F, 0xEB, 0x2C, 0xCB, 0x5A, 0xEA, 0xB3, 0xD7, 0x99, 0x60, 0xF9, 0x52,\r
+               0x41, 0x31, 0xD0, 0xF3, 0x0F, 0x3D, 0x8C, 0x6D, 0x90, 0xD3, 0x1F, 0x7C, 0xBA, 0xE5, 0xD6, 0x64,\r
+               0x9D, 0xE5, 0xE3, 0x19, 0xC6, 0x90, 0xE8, 0x4A, 0xD4, 0x63, 0x36, 0x4E, 0x8A, 0x9F, 0x92, 0xA5,\r
+               0x62, 0xE2, 0x62, 0x91, 0xDC, 0x52, 0x25, 0x38, 0x95, 0x32, 0x73, 0x5B, 0xBD, 0x33, 0xCB, 0xB9,\r
+               0x79, 0x5E, 0x00, 0xC3, 0x9E, 0xB8, 0x46, 0xEA, 0x9F, 0x42, 0xC8, 0x06, 0x2E, 0xC2, 0x0A, 0x9E,\r
+               0xFA, 0x5F, 0xDC, 0xFC, 0x92, 0x68, 0xD9, 0xCC, 0xD2, 0x1E, 0x91, 0x0A, 0x0E, 0xBF, 0x9D, 0xE9,\r
+               0xC5, 0x9F, 0x64, 0xD5, 0x80, 0x1F, 0x7C, 0x34, 0x32, 0x2C, 0x49, 0x85, 0xF8, 0xAF, 0xA0, 0xE3,\r
+               0x00, 0x86, 0x42, 0x83, 0x4A, 0x2A, 0xA0, 0x8C, 0xD9, 0xAB, 0x61, 0xED, 0x39, 0x13, 0xC4, 0xF5,\r
+               0x57, 0x4E, 0x4F, 0x20, 0xB8, 0x72, 0x47, 0x2A, 0x59, 0x69, 0xD5, 0xDF, 0x6A, 0xDD, 0xBD, 0xFB,\r
+               0x01, 0xA0, 0x88, 0x43, 0x57, 0x69, 0x92, 0x76, 0xEE, 0x2D, 0xCA, 0xBA, 0x22, 0x5D, 0xDA, 0xB8,\r
+               0x99, 0x1D, 0x36, 0x2E, 0xE1, 0x86, 0x6A, 0xB5, 0x7A, 0x84, 0x8B, 0x98, 0x01, 0x28, 0xA9, 0xEB,\r
+               0x4F, 0xBB, 0x96, 0x0E, 0x25, 0x5B, 0xA2, 0x30, 0xFF, 0xB2, 0xA4, 0xBB, 0xAA, 0xE2, 0x05, 0xD2,\r
+               0x45, 0xD7, 0x03, 0x96, 0x19, 0x53, 0x6E, 0x82, 0x38, 0x5C, 0xF2, 0xD8, 0x71, 0x93, 0xA3, 0xB6,\r
+               0xC9, 0x64, 0x55, 0xC6, 0x58, 0x5D, 0x05, 0x74, 0x5A, 0xE0, 0xE9, 0x8A, 0x5B, 0x0D, 0xB9, 0x50,\r
+               0x82, 0xA1, 0x54, 0x7C, 0x4D, 0xAB, 0x5F, 0x04, 0xAA, 0x88, 0x14, 0xBE, 0x3D, 0xE4, 0xA1, 0x59,\r
+               0xCB, 0x0B, 0x24, 0x7A, 0x44, 0xC2, 0xB4, 0xB1, 0xD6, 0x2F, 0x41, 0xA1, 0xA2, 0x8A, 0xB0, 0x58,\r
+               0x1F, 0xC2, 0xF5, 0xE6, 0x8B, 0x4E, 0x1C, 0x9A, 0x85, 0x68, 0x56, 0xE0, 0x3A, 0x1B, 0x20, 0xD1,\r
+               0x63, 0xC4, 0xA8, 0x51, 0xAD, 0x84, 0x1D, 0x5A, 0x79, 0x0D, 0xB7, 0xCD, 0x03, 0xA3, 0x91, 0xF0,\r
+               0xAB, 0x00, 0x75, 0xD4, 0xE3, 0xBE, 0xE1, 0xAE, 0x47, 0x72, 0x9B, 0x92, 0xF4, 0x30, 0x70, 0xC5,\r
+               0x02, 0xE9, 0x33, 0x3F, 0xBC, 0x17, 0xB0, 0x86, 0x63, 0x27, 0x29, 0x2B, 0x18, 0xED, 0x8F, 0xBD,\r
+               0x97, 0x89, 0x76, 0x81, 0x1A, 0xB7, 0x66, 0xA6, 0x58, 0xAC, 0x9E, 0x65, 0xE7, 0x16, 0xDB, 0x02,\r
+               0x23, 0x4B, 0xF6, 0xB3, 0xB5, 0x7E, 0x5B, 0x33, 0x10, 0x04, 0x5C, 0x78, 0x12, 0x0E, 0x02, 0x2C,\r
+               0x7D, 0xA6, 0xD5, 0xF4, 0xF1, 0xC9, 0x44, 0x56, 0x1E, 0x45, 0x37, 0x8E, 0x6E, 0x2A, 0xD8, 0x57,\r
+               0x2F, 0xB0, 0xC7, 0xA0, 0xA3, 0x6C, 0x09, 0x67, 0xA6, 0x85, 0x08, 0xA7, 0xE6, 0x95, 0x07, 0x3D,\r
+               0xC7, 0xF0, 0x15, 0x69, 0x9B, 0x01, 0x32, 0x79, 0xF7, 0x8E, 0x68, 0x09, 0xB3, 0x27, 0x23, 0x84,\r
+               0xA5, 0x94, 0x35, 0x7B, 0xEA, 0xD7, 0x0A, 0x1B, 0x06, 0x23, 0xDE, 0x87, 0x3F, 0x6F, 0x99, 0x42,\r
+               0x8E, 0x5A, 0x65, 0x6F, 0x8D, 0x13, 0x60, 0x2D, 0x82, 0xD0, 0xBA, 0x1E, 0xDB, 0xDA, 0xD3, 0xB0,\r
+               0x34, 0x0C, 0xA5, 0xF2, 0x7B, 0x2E, 0x70, 0x27, 0x19, 0xFD, 0xDB, 0x70, 0xC7, 0x6B, 0x4C, 0x75,\r
+               0x2E, 0x96, 0x0D, 0x60, 0xEC, 0x8A, 0x76, 0xAC, 0x5E, 0xD1, 0x39, 0x21, 0x40, 0x43, 0xA7, 0x1D,\r
+               0x80, 0xCE, 0x25, 0xC0, 0x98, 0xE5, 0x3A, 0x5D, 0x61, 0x6B, 0x5E, 0xC4, 0x1B, 0xE5, 0x6B, 0x99,\r
+               0xF8, 0x30, 0xAD, 0x40, 0x9C, 0x80, 0xCD, 0xF1, 0xE7, 0xD4, 0x4D, 0xB2, 0x65, 0x4A, 0x89, 0xF9,\r
+               0x0B, 0xCC, 0x1D, 0xDB, 0x8F, 0x2B, 0xEB, 0x36, 0xB2, 0xEE, 0xFD, 0xB7, 0xB1, 0xAC, 0x1B, 0x9F,\r
+               0x4B, 0x43, 0x43, 0x39, 0x73, 0x9B, 0x18, 0xAD, 0xBB, 0x17, 0x7A, 0xBF, 0x59, 0x86, 0x81, 0x4B,\r
+               0x3B, 0xBE, 0x2F, 0x9D, 0x36, 0xF0, 0x84, 0xF7, 0x6A, 0xDE, 0xAE, 0x23, 0xC0, 0x94, 0xCD, 0xFD,\r
+               0x31, 0xD2, 0xBA, 0x05, 0x02, 0x4D, 0x20, 0xCF, 0xD0, 0x52, 0xE6, 0xE5, 0x67, 0xC1, 0xB1, 0xE2,\r
+               0xF7, 0x82, 0x27, 0x2F, 0xBA, 0x4A, 0xCC, 0x31, 0x26, 0x47, 0xBC, 0x95, 0x46, 0x3F, 0xFA, 0xAA,\r
+               0xEE, 0x51, 0x34, 0xC1, 0x13, 0xDE, 0x8D, 0x13, 0x60, 0xAE, 0x15, 0x7E, 0xD8, 0xD2, 0x37, 0x94,\r
+               0xBE, 0x28, 0x57, 0x29, 0x6C, 0xE0, 0xA1, 0x4C, 0x51, 0x55, 0x19, 0x6D, 0x05, 0xDF, 0xCC, 0x47,\r
+               0x90, 0x38, 0x18, 0xCA, 0x99, 0x39, 0xB9, 0x62, 0x3D, 0xA8, 0x69, 0xC9, 0x0A, 0x48, 0xF8, 0x45,\r
+               0x89, 0xEB, 0x0B, 0x24, 0xDF, 0xB6, 0x2D, 0x1C, 0x50, 0x90, 0x52, 0xD7, 0xA9, 0xEA, 0xE1, 0xF6,\r
+               0xA6, 0xDD, 0x8E, 0x07, 0x6F, 0x04, 0xA9, 0x68, 0x0C, 0x53, 0x65, 0xDA, 0x7C, 0x8F, 0xAF, 0xAF,\r
+               0xF1, 0x15, 0x83, 0xA4, 0x54, 0x8D, 0x9A, 0x52, 0x0F, 0xDA, 0x59, 0x8F, 0x6D, 0x22, 0x3C, 0x73,\r
+               0x06, 0x11, 0xE6, 0x08, 0xCB, 0x9C, 0xF4, 0x53, 0x6D, 0x66, 0x42, 0xDD, 0x26, 0xAA, 0xBF, 0x14,\r
+               0x2C, 0xF9, 0x7C, 0xDC, 0xFF, 0x21, 0x50, 0x6B, 0xBC, 0xAF, 0x96, 0x41, 0xFA, 0x24, 0x98, 0xF8,\r
+               0x9C, 0xC3, 0x29, 0xD9, 0x1C, 0xEA, 0x1A, 0x11, 0xF1, 0xF3, 0xCF, 0x4D, 0x2A, 0x35, 0x6F, 0x32,\r
+               0x53, 0xB6, 0x9A, 0x17, 0x50, 0xE8, 0x6D, 0xFE, 0xA2, 0xB4, 0xD8, 0x0C, 0x08, 0xC3, 0xC0, 0x5E,\r
+               0xFE, 0xA7, 0x09, 0xCB, 0x09, 0x1C, 0x40, 0x61, 0xFD, 0xFE, 0xD3, 0x54, 0x7D, 0x0C, 0x73, 0x90,\r
+               0xC0, 0x41, 0x7B, 0x22, 0x61, 0xEC, 0xBD, 0x55, 0xCF, 0x8C, 0xE3, 0x12, 0xCA, 0x77, 0x40, 0x6C,\r
+               0xA8, 0x49, 0xCE, 0xA8, 0xB9, 0xAE, 0xC4, 0x15, 0xE9, 0x95, 0x26, 0x44, 0x97, 0xAD, 0xD1, 0x5F,\r
+               0x38, 0xF7, 0x94, 0xE1, 0xD6, 0xDF, 0xC6, 0xA9, 0xEF, 0xE8, 0x81, 0x00, 0x07, 0x54, 0xF4, 0x5C,\r
+               0x3D, 0x29, 0x8B, 0x16, 0x75, 0xC6, 0x64, 0x1A, 0x56, 0xED, 0xF5, 0x93, 0x3E, 0xEC, 0x45, 0x7D,\r
+               0x55, 0x21, 0x3E, 0x9C, 0xC1, 0x11, 0x17, 0xC2, 0xF2, 0x7A, 0xF3, 0x18, 0x83, 0x74, 0xFB, 0x10,\r
+               0x71, 0x5D, 0xE4, 0xE7, 0x48, 0x12, 0x2B, 0x97, 0x74, 0xC5, 0xE0, 0x6E, 0x2B, 0xB6, 0xB3, 0x0D,\r
+               0x7B, 0x31, 0x71, 0x7F, 0x56, 0xB5, 0x11, 0x49, 0xFC, 0x3B, 0x98, 0xEE, 0x62, 0xB5, 0x08, 0x71,\r
+               0xD7, 0x06, 0x28, 0x63, 0x20, 0xE2, 0xD6, 0xA3, 0x5F, 0x14, 0x72, 0x9B, 0xC8, 0xFC, 0x78, 0x77,\r
+               0x58, 0xFC, 0xC5, 0x4F, 0x7E, 0x97, 0x04, 0xB4, 0x41, 0x0F, 0x3C, 0xD6, 0xFB, 0xA7, 0x44, 0xC7,\r
+               0x75, 0xA5, 0x31, 0xD0, 0xCD, 0xC1, 0x88, 0xE4, 0x0E, 0x1F, 0x12, 0x35, 0x35, 0x8C, 0x14, 0xD3,\r
+               0xB1, 0x9A, 0xDD, 0x46, 0x78, 0xCA, 0x78, 0x03, 0x7D, 0x3C, 0x67, 0x66, 0x76, 0x6C, 0x22, 0x3E,\r
+               0xD1, 0x91, 0x8C, 0xE8, 0x79, 0x16, 0xFB, 0x3C, 0x48, 0xF6, 0xBB, 0xDE, 0x93, 0x5A, 0xB4, 0xF3,\r
+               0x0F, 0x34, 0xC8, 0xEC, 0x9D, 0x5C, 0x4E, 0xCE, 0x87, 0x24, 0x21, 0x0F, 0xF2, 0x4C, 0x2D, 0x72,\r
+               0xB2, 0xD3, 0x66, 0x3A, 0x60, 0x30, 0x3E, 0x6A, 0xAC, 0xF5, 0xB3, 0xFA, 0x87, 0x83, 0x9E, 0xBC,\r
+               0xF6, 0xA4, 0xED, 0xEF, 0x7F, 0x4B, 0x87, 0x8B, 0x7F, 0x70, 0x10, 0x89, 0xE4, 0x1E, 0x3F, 0x26,\r
+               0x7E, 0xEF, 0x6E, 0x88, 0x4C, 0x77, 0xDC, 0x3B, 0x3B, 0xD5, 0xCE, 0x8D, 0xD9, 0x51, 0xEB, 0xAB,\r
+               0x85, 0x10, 0x3A, 0x37, 0x37, 0x2C, 0x07, 0xC8, 0x67, 0x16, 0xF9, 0x80, 0x33, 0xF0, 0x49, 0x64,\r
+               0xFF, 0x81, 0xC3, 0x0B, 0xC9, 0xA4, 0x7F, 0x48, 0xF9, 0xCF, 0x03, 0xFF, 0x77, 0xEF, 0xFE, 0x01,\r
+               0xD4, 0x4F, 0x93, 0x1F, 0xB7, 0x46, 0xD0, 0x28, 0xF3, 0xBF, 0xB8, 0xA2, 0x74, 0xE7, 0x1A, 0x25,\r
+               0xAC, 0x2D, 0x7D, 0xD0, 0xA7, 0x12, 0x1E, 0xDF, 0xBA, 0x86, 0xBF, 0xF6, 0x25, 0x90, 0xCF, 0x1C,\r
+               0x97, 0xA4, 0x47, 0xE3, 0xAA, 0xB1, 0xD6, 0x88, 0x66, 0x15, 0xAE, 0x5B, 0x26, 0x19, 0x9A, 0x20,\r
+               0x5A, 0x10, 0x77, 0xC0, 0x31, 0xDF, 0xFB, 0xE9, 0x50, 0xD1, 0xC9, 0x31, 0x14, 0x6B, 0xDC, 0x10,\r
+               0x1C, 0x9F, 0x09, 0x54, 0x22, 0x31, 0x28, 0xF0, 0xE3, 0xC8, 0x6A, 0x93, 0x79, 0x53, 0xC2, 0x2B,\r
+               0xD0, 0xF7, 0x06, 0xF4, 0x1D, 0xD4, 0x92, 0x97, 0x81, 0x1E, 0x1B, 0xAB, 0x49, 0x6D, 0x6B, 0x6C,\r
+               0xAF, 0xC9, 0x59, 0xD8, 0x7E, 0x3C, 0xEB, 0xC7, 0x52, 0xE5, 0xC6, 0xA6, 0x78, 0x96, 0x78, 0x60,\r
+               0xC1, 0x64, 0xDA, 0x59, 0x93, 0x10, 0x11, 0x48, 0xF7, 0x98, 0xA4, 0xB8, 0xF9, 0x91, 0xF0, 0x9F,\r
+               0x79, 0x63, 0x24, 0xB5, 0x0E, 0x3A, 0x41, 0x8E, 0xBF, 0xD3, 0x85, 0x46, 0x0F, 0x84, 0x80, 0xC5,\r
+               0x7A, 0x87, 0x00, 0xBD, 0xE7, 0xBD, 0x8A, 0xD1, 0x4A, 0xF8, 0x54, 0xD4, 0xC0, 0x56, 0x51, 0x5F,\r
+               0x15, 0xF6, 0xBC, 0xBF, 0xBD, 0xF4, 0x34, 0x41, 0x49, 0xDD, 0xC4, 0x2D, 0xC6, 0x2B, 0x15, 0xF8,\r
+               0xCA, 0x35, 0x74, 0x39, 0x20, 0xDE, 0x64, 0x87, 0x85, 0x5A, 0xBE, 0x75, 0xD4, 0x3D, 0x41, 0xAA,\r
+               0xA2, 0xC5, 0x40, 0xC4, 0x52, 0x37, 0x82, 0xB9, 0x79, 0x69, 0x09, 0x0E, 0xE6, 0x4F, 0x07, 0x9A,\r
+               0xDF, 0xC3, 0x04, 0x63, 0x00, 0xCC, 0x00, 0xE5, 0x27, 0x46, 0xE9, 0x4C, 0xD8, 0x30, 0x58, 0xB6,\r
+               0x93, 0xC1, 0xEB, 0x14, 0xB3, 0x02, 0x75, 0x2A, 0x4B, 0xE9, 0xCB, 0xBA, 0x8B, 0x77, 0x19, 0xA1,\r
+               0x08, 0xB5, 0x46, 0x8D, 0xCF, 0x1D, 0xD2, 0x7F, 0x01, 0x96, 0xE5, 0xD3, 0x44, 0xA5, 0xC8, 0x3B,\r
+               0x3C, 0x08, 0x7E, 0x29, 0x55, 0xC9, 0x3A, 0x55, 0xED, 0xB1, 0x39, 0x5D, 0x95, 0x6C, 0x54, 0xEF,\r
+               0x0E, 0xE8, 0xF1, 0xF1, 0x18, 0xC5, 0x66, 0x0C, 0xC6, 0x3D, 0xF6, 0xF5, 0x27, 0xDC, 0x20, 0x6B,\r
+               0xBB, 0xE3, 0x16, 0x01, 0xF4, 0x53, 0x59, 0xC8, 0x2B, 0x0B, 0xB5, 0x15, 0x54, 0xFF, 0x73, 0x1E,\r
+               0xE3, 0xCB, 0xB6, 0xAF, 0x01, 0x76, 0xC5, 0xAE, 0x62, 0x51, 0x0B, 0x85, 0x76, 0xD7, 0x8E, 0x0B,\r
+               0xBD, 0xBE, 0xA1, 0x7D, 0xEC, 0x5A, 0x3F, 0x21, 0xD2, 0x6D, 0x38, 0xDE, 0x68, 0xCC, 0xC3, 0x45,\r
+               0x8B, 0x3B, 0x82, 0x52, 0xCD, 0xF2, 0x9E, 0x08, 0x18, 0x9A, 0xE8, 0xCF, 0x5D, 0x06, 0x7B, 0x99,\r
+               0x95, 0x9C, 0x5C, 0x68, 0x58, 0x6A, 0xF2, 0x02, 0x64, 0x21, 0xA1, 0xCC, 0xD5, 0xF8, 0xFB, 0xE1,\r
+               0xB6, 0xEF, 0x0F, 0x1D, 0xA2, 0x03, 0xEA, 0x44, 0x68, 0x6C, 0xFD, 0x95, 0x7F, 0x2E, 0x86, 0x8C,\r
+               0x02, 0x38, 0xD7, 0x6E, 0x17, 0x89, 0xE2, 0x2C, 0x05, 0xD2, 0x40, 0x0D, 0xDB, 0xB9, 0x0D, 0x8A,\r
+               0x0A, 0x8D, 0x5D, 0x06, 0xEA, 0x1E, 0x42, 0x86, 0x14, 0xD7, 0xB4, 0x96, 0xD0, 0x0C, 0xEA, 0x7A,\r
+               0x74, 0x6F, 0x3D, 0xA9, 0xBA, 0x0A, 0x8C, 0xAD, 0x30, 0x33, 0xB7, 0x9E, 0xDA, 0x7C, 0xB7, 0xC1,\r
+               0x8F, 0x5E, 0x2E, 0xA5, 0x47, 0x9D, 0x2C, 0x07, 0xBE, 0xC2, 0x1A, 0x28, 0x12, 0x16, 0x98, 0xB7,\r
+               0xF4, 0x05, 0xDD, 0x7E, 0x13, 0x22, 0xD3, 0xFC, 0x71, 0x60, 0xF0, 0x89, 0x4E, 0xD5, 0x95, 0x80,\r
+               0xA3, 0x19, 0x7F, 0x47, 0x4F, 0x2F, 0x10, 0xCB, 0xA9, 0xB7, 0x44, 0xFA, 0x85, 0x36, 0xEF, 0xCA,\r
+               0xBC, 0x62, 0x9E, 0xFE, 0xC4, 0xFA, 0x67, 0x8F, 0x33, 0x16, 0x27, 0x67, 0x56, 0xB3, 0x9C, 0x69,\r
+               0xBA, 0x3F, 0x29, 0x82, 0xA5, 0xFD, 0x52, 0xA8, 0xE6, 0x9D, 0x50, 0x23, 0x61, 0x35, 0xCB, 0xC2,\r
+               0x5E, 0x75, 0xDB, 0x37, 0xE1, 0xF9, 0xF7, 0x76, 0x67, 0x04, 0x31, 0x35, 0xAE, 0xE7, 0x1A, 0x58,\r
+               0x7B, 0x5B, 0x3F, 0x3E, 0x66, 0x35, 0x8D, 0x2E, 0xEE, 0x94, 0xA9, 0xA4, 0x70, 0xAA, 0xCA, 0xAC,\r
+               0x94, 0x40, 0x63, 0xEB, 0xA1, 0x56, 0x63, 0x78, 0xAD, 0xF3, 0xE1, 0x24, 0xC7, 0xEE, 0xAF, 0xB3,\r
+               0x43, 0x36, 0x21, 0x05, 0x4D, 0xC0, 0x5C, 0xBC, 0xF6, 0x89, 0x3B, 0xD6, 0x1B, 0xEF, 0x90, 0x30,\r
+               0x89, 0x03, 0x99, 0xD9, 0x6B, 0x96, 0x45, 0x79, 0xE0, 0xED, 0xFA, 0x6A, 0xF0, 0x68, 0xF8, 0x18,\r
+               0x5D, 0x91, 0xFF, 0x3F, 0x29, 0xD6, 0x9D, 0x00, 0x8B, 0x23, 0xED, 0xBB, 0xB6, 0x81, 0x13, 0xB1,\r
+               0x51, 0x41, 0xD9, 0xA0, 0xF5, 0xE9, 0x9C, 0x83, 0xFC, 0xB4, 0xCD, 0xC6, 0xFB, 0xDD, 0x1F, 0xE8,\r
+               0x05, 0xB9, 0x5F, 0x91, 0xCA, 0x0C, 0x26, 0xE4, 0xB0, 0xBB, 0x49, 0xE6, 0xFD, 0xA0, 0x5B, 0x4F,\r
+               0x1F, 0x7B, 0x2D, 0x5C, 0x4B, 0x84, 0x21, 0x1B, 0xAC, 0xE2, 0x7E, 0x4A, 0xBC, 0xF1, 0x4E, 0x0A,\r
+               0x48, 0x67, 0x8F, 0x65, 0xDC, 0xF3, 0x01, 0x66, 0xC4, 0x09, 0xF9, 0x62, 0xAC, 0xAB, 0xF5, 0x2F,\r
+               0x6E, 0xAD, 0x4F, 0x64, 0x81, 0x44, 0x07, 0x1A, 0xE5, 0xB8, 0xC0, 0xDA, 0x50, 0xCE, 0xD8, 0xCE,\r
+               0x8E, 0x82, 0x11, 0x26, 0x7D, 0x69, 0x62, 0xFB, 0x4C, 0x88, 0xFE, 0x9D, 0x83, 0x4B, 0xAB, 0x6D,\r
+               0x87, 0xEB, 0xA4, 0xCD, 0x0D, 0x6F, 0xC8, 0xB2, 0x4D, 0x99, 0x61, 0xF3, 0xFF, 0xEC, 0xB4, 0x38,\r
+               0xDA, 0x7A, 0x97, 0x17, 0x2A, 0x83, 0x14, 0x3C, 0xA3, 0x8A, 0xB2, 0xEA, 0x11, 0x9F, 0xCD, 0x8B,\r
+               0x9B, 0x74, 0x61, 0x7C, 0x7C, 0xD3, 0xA7, 0xB0, 0x45, 0x90, 0x98, 0x74, 0x73, 0x23, 0x9F, 0x90,\r
+               0x22, 0xAF, 0xA0, 0x13, 0x1F, 0x3B, 0xDE, 0xE0, 0xFE, 0x80, 0xC2, 0x51, 0x53, 0x47, 0x8D, 0xF2,\r
+               0xE6, 0x72, 0x25, 0xDB, 0xBF, 0x1B, 0x78, 0x36, 0xC7, 0x2C, 0x69, 0x9B, 0xD6, 0x71, 0xAE, 0xDD,\r
+               0x58, 0x28, 0x6C, 0x4B, 0x3C, 0x7C, 0x33, 0xBE, 0x91, 0x0A, 0x70, 0x5E, 0xDE, 0x4D, 0x1C, 0x11,\r
+               0x29, 0xFE, 0x0E, 0x73, 0x1C, 0x6E, 0x57, 0xDC, 0x57, 0xB0, 0xFC, 0x16, 0x2F, 0xE0, 0x92, 0xA7,\r
+               0x32, 0xE0, 0x43, 0x3D, 0xFC, 0xE1, 0x65, 0x04, 0x42, 0xF1, 0xAD, 0x53, 0x37, 0x86, 0x9B, 0x4E,\r
+               0x60, 0x45, 0x72, 0x70, 0xEE, 0xB5, 0x73, 0x56, 0x28, 0x2E, 0x25, 0xEC, 0x8F, 0x46, 0xB2, 0x71,\r
+               0xD9, 0x9E, 0xB3, 0x1F, 0x5F, 0x94, 0x4A, 0xEE, 0x17, 0xF2, 0x24, 0x6F, 0x71, 0x6F, 0x70, 0xE7,\r
+               0x76, 0x57, 0x26, 0x22, 0xDF, 0xA6, 0x88, 0x5A, 0x39, 0x2B, 0xD1, 0x77, 0x39, 0xC7, 0x6D, 0x25,\r
+               0x20, 0x97, 0xBB, 0x98, 0x5C, 0xC1, 0xC3, 0xD2, 0xD0, 0x59, 0x37, 0x49, 0x6E, 0xB1, 0x87, 0xE2,\r
+               0x7F, 0x3E, 0x93, 0xC9, 0x1A, 0x2A, 0x2A, 0x7B, 0xA8, 0xA6, 0xDB, 0x94, 0x4A, 0xE4, 0x3E, 0x50,\r
+               0xB0, 0xB2, 0xB8, 0x61, 0x6A, 0x2C, 0x80, 0x32, 0x5E, 0xA8, 0x9A, 0xFF, 0x92, 0xD4, 0xAA, 0x03,\r
+               0xF5, 0xD9, 0xE2, 0xFD, 0x06, 0x88, 0x7D, 0x42, 0xE8, 0xE4, 0x03, 0xED, 0x43, 0x1D, 0x36, 0xD7,\r
+               0x5F, 0xA9, 0xE4, 0xB4, 0x84, 0x55, 0xF3, 0x81, 0xEC, 0xA0, 0xA6, 0x33, 0xCE, 0x17, 0xA7, 0x34,\r
+               0x4C, 0x02, 0x23, 0x92, 0x34, 0xCE, 0x0F, 0x72, 0x8A, 0x32, 0x72, 0xD5, 0x9B, 0x2D, 0xA2, 0x84,\r
+               0x2F, 0xA3, 0xB9, 0x0F, 0x24, 0x75, 0x55, 0x57, 0x08, 0x8E, 0x83, 0x3A, 0x77, 0x12, 0x34, 0x40,\r
+               0x5B, 0xCC, 0x48, 0x43, 0x0C, 0xD5, 0x0D, 0xF9, 0x8C, 0x42, 0xD8, 0x9C, 0x48, 0xA8, 0xD1, 0x27,\r
+               0x4E, 0x3A, 0x38, 0x19, 0x4C, 0x7A, 0x99, 0xF7, 0xA5, 0xFA, 0x18, 0xA3, 0xAB, 0x13, 0x0B, 0xC3,\r
+               0xB8, 0x07, 0x32, 0x09, 0x8C, 0xE7, 0xCF, 0x4D, 0x60, 0x65, 0x04, 0x12, 0x30, 0x3E, 0x65, 0xA2,\r
+               0x2C, 0x5B, 0x1A, 0x79, 0xF9, 0x23, 0x30, 0x2E, 0x50, 0x21, 0xE7, 0x9A, 0xF8, 0x21, 0x4D, 0xB1,\r
+               0x3E, 0x0F, 0x48, 0x6F, 0xC8, 0x6E, 0x95, 0x7C, 0x6F, 0x08, 0x5F, 0x5A, 0x92, 0xFE, 0xF2, 0x39,\r
+               0xEC, 0xC6, 0xA0, 0x2F, 0xD6, 0x55, 0xF8, 0x44, 0x0F, 0xA6, 0x0E, 0x51, 0x2B, 0xDA, 0x40, 0x6C,\r
+               0xCC, 0xD4, 0xC2, 0x4B, 0xB4, 0x6D, 0x2E, 0x35, 0xB9, 0x28, 0xFF, 0xFC, 0xED, 0x60, 0x08, 0xE0,\r
+               0x8C, 0x7B, 0xCC, 0xDF, 0x01, 0x86, 0x47, 0x3C, 0xFC, 0x3D, 0xBE, 0xAD, 0x6A, 0x89, 0x57, 0x2B,\r
+               0xCA, 0x90, 0x65, 0x36, 0x29, 0xD7, 0xEE, 0x63, 0x4E, 0x84, 0x9A, 0xF8, 0x12, 0x76, 0x8A, 0xC7,\r
+               0x8F, 0x2E, 0xF0, 0x56, 0x09, 0x01, 0x4E, 0xC5, 0xF9, 0xCA, 0xA1, 0x73, 0xAD, 0x22, 0x71, 0x38,\r
+               0x0F, 0x1C, 0x44, 0x94, 0x9C, 0x3C, 0x87, 0x6A, 0x3B, 0xD7, 0xE9, 0xDB, 0x83, 0xFB, 0x69, 0xCD,\r
+               0x54, 0xEF, 0x9F, 0xEF, 0x5E, 0xAA, 0x79, 0x43, 0x2A, 0x1D, 0x1E, 0x0B, 0x56, 0x70, 0x2D, 0xBA,\r
+               0xE4, 0x74, 0x6C, 0x13, 0x99, 0x8C, 0xD2, 0x50, 0x9A, 0x18, 0x4B, 0x31, 0x30, 0xE2, 0xCB, 0x6E,\r
+               0xBA, 0x96, 0x2C, 0x9C, 0x02, 0x7F, 0x62, 0xAC, 0x1D, 0x10, 0x42, 0xC8, 0xE4, 0x78, 0xE1, 0x86,\r
+               0xD6, 0x32, 0x5C, 0x61, 0x58, 0xE3, 0x09, 0xE9, 0xC9, 0x8C, 0x93, 0x01, 0x52, 0x34, 0xF3, 0x1F,\r
+               0x9C, 0xC0, 0xE9, 0x85, 0x82, 0x07, 0xEA, 0x52, 0xDD, 0xB1, 0x7B, 0x0F, 0x1F, 0x2A, 0xBD, 0x04,\r
+               0x5C, 0x5D, 0x53, 0xD3, 0x88, 0x17, 0xD7, 0xA4, 0xBC, 0xDF, 0xE0, 0x22, 0xDA, 0xB5, 0x0C, 0x18,\r
+               0xF4, 0xCF, 0x49, 0x49, 0x03, 0x11, 0x73, 0x33, 0x5E, 0x8E, 0xA7, 0x0E, 0xB2, 0x5E, 0x24, 0x9F,\r
+               0xDC, 0x6F, 0xE7, 0x11, 0xF2, 0x5D, 0x1C, 0x47, 0x39, 0x6B, 0x98, 0xB4, 0x36, 0x92, 0x82, 0xC4,\r
+               0x9D, 0x7A, 0xA2, 0x40, 0x9B, 0x1B, 0xE6, 0x5F, 0x2E, 0x2A, 0xCB, 0xF3, 0x4C, 0x59, 0xC8, 0x27,\r
+               0xBB, 0x2C, 0x67, 0x59, 0x23, 0xC7, 0xD3, 0x95, 0x06, 0x42, 0x20, 0x74, 0x5A, 0x3D, 0x74, 0xE6,\r
+               0xB6, 0x8F, 0x30, 0x91, 0x85, 0x20, 0x8B, 0x67, 0xB2, 0x70, 0xA0, 0xB6, 0x54, 0x44, 0xBA, 0xB5,\r
+               0x71, 0xEC, 0x66, 0x7F, 0xD9, 0xF5, 0x90, 0x88, 0xAD, 0x15, 0x17, 0xF2, 0x17, 0x23, 0x3A, 0xFD,\r
+               0x1A, 0xB6, 0xFA, 0x3A, 0xE5, 0x8F, 0x69, 0x19, 0x51, 0xE1, 0x2D, 0xBC, 0x0A, 0x6B, 0xF8, 0x55,\r
+               0x9B, 0x3E, 0x05, 0x3D, 0x97, 0x42, 0xAB, 0x03, 0x14, 0xF4, 0x6C, 0xED, 0x16, 0x32, 0x54, 0x62,\r
+               0xF9, 0x6C, 0x1E, 0x81, 0x45, 0x21, 0x41, 0x41, 0xAF, 0xA9, 0x66, 0x9D, 0x31, 0xF3, 0xA5, 0xF1,\r
+               0x25, 0x53, 0x9D, 0x80, 0x63, 0xBE, 0x91, 0x4D, 0xF6, 0xA5, 0x2B, 0xC1, 0x46, 0x64, 0xD8, 0xD1,\r
+               0xAD, 0xD3, 0xE5, 0x7E, 0xAB, 0x38, 0x52, 0x92, 0x73, 0x11, 0x53, 0x57, 0xF6, 0x58, 0x83, 0xE2,\r
+               0xDD, 0xD5, 0xAC, 0xD4, 0x1E, 0xD3, 0x3B, 0x9B, 0x26, 0x0E, 0x2F, 0xF0, 0xF7, 0x49, 0xED, 0x7D,\r
+               0x0C, 0x49, 0x78, 0x1D, 0x35, 0x7B, 0xB7, 0x54, 0x31, 0x4F, 0x7C, 0xB7, 0x7E, 0xD9, 0x7C, 0xE5,\r
+               0x51, 0xFE, 0x04, 0x1B, 0xF5, 0x7A, 0x7D, 0x72, 0xD0, 0x62, 0x80, 0xD2, 0x5F, 0x68, 0xC4, 0xDC,\r
+               0xCF, 0x81, 0xFE, 0xC2, 0x1A, 0x0D, 0x7F, 0x3E, 0xEC, 0x37, 0x83, 0x5B, 0x44, 0x50, 0x4F, 0xDE,\r
+               0x6F, 0xA1, 0x28, 0x64, 0x9F, 0xC5, 0xA2, 0xFA, 0xC3, 0x14, 0x06, 0x6D, 0x7D, 0xFC, 0x85, 0x75,\r
+               0xFA, 0x39, 0x22, 0x08, 0x2D, 0x09, 0xAA, 0xC6, 0x95, 0x77, 0xC1, 0x83, 0x19, 0x5A, 0xF4, 0xAE,\r
+               0xAC, 0x69, 0xAE, 0xBB, 0xDB, 0x62, 0xA4, 0x87, 0x8E, 0x25, 0xA3, 0x3F, 0xFF, 0x40, 0x6A, 0x84,\r
+               0xD1, 0xCC, 0xB0, 0xD9, 0x0C, 0xB1, 0x1B, 0xFF, 0x15, 0x34, 0xA6, 0xCB, 0xD8, 0x81, 0x9B, 0x17,\r
+               0x3C, 0xE0, 0x3F, 0x23, 0x1B, 0x63, 0x6E, 0xA1, 0x5B, 0x79, 0xB8, 0xD0, 0x68, 0xBD, 0xC0, 0x24,\r
+               0xC8, 0x7F, 0x12, 0x7A, 0x4B, 0xEF, 0x38, 0x12, 0x75, 0x9A, 0xF7, 0xC0, 0x7C, 0xED, 0xEB, 0xEA,\r
+               0x24, 0xE9, 0xD6, 0x45, 0xAC, 0x1F, 0x33, 0xA7, 0x00, 0xC9, 0x84, 0xE3, 0x91, 0xDB, 0x0B, 0xA9,\r
+               0x72, 0xB9, 0x5A, 0xF6, 0xB5, 0x03, 0x3F, 0xAA, 0x92, 0x3C, 0xAF, 0x32, 0xD2, 0xBC, 0x8B, 0xE1,\r
+               0xC7, 0x33, 0x32, 0xFE, 0x6D, 0x70, 0xE8, 0x1E, 0x94, 0xB7, 0x0B, 0xA5, 0xBF, 0x02, 0x13, 0x5C,\r
+               0x1D, 0x48, 0x16, 0x82, 0x38, 0x4C, 0xEB, 0x97, 0x87, 0xC1, 0x8D, 0x1A, 0xA2, 0x4A, 0xD1, 0xF4,\r
+               0x88, 0xD0, 0x1C, 0xEE, 0xE6, 0x76, 0x4C, 0x89, 0xFF, 0x41, 0x05, 0xE4, 0xDE, 0xF1, 0xD2, 0xBD,\r
+               0x97, 0x27, 0x19, 0x30, 0x94, 0xBB, 0x8E, 0x93, 0xA9, 0x22, 0xC2, 0x0A, 0x04, 0x12, 0x36, 0x06,\r
+               0xC3, 0x98, 0xE2, 0xCF, 0x67, 0x60, 0xD5, 0xE8, 0x9E, 0x2F, 0x9E, 0xC9, 0xCB, 0xB0, 0x97, 0xEC,\r
+               0x3A, 0xA4, 0x98, 0x5E, 0xE7, 0x18, 0x5D, 0x16, 0x64, 0x50, 0x00, 0x10, 0xAE, 0x07, 0x88, 0xA8,\r
+               0x6A, 0xB0, 0xB3, 0x90, 0x87, 0xB7, 0xBF, 0x68, 0xDF, 0x0D, 0x0A, 0x60, 0x8A, 0xE3, 0x80, 0xAB,\r
+               0x75, 0x47, 0xB6, 0x4E, 0x93, 0x9C, 0xEF, 0xA6, 0xDC, 0x71, 0xB1, 0x29, 0x5C, 0x4D, 0x3D, 0x4C,\r
+               0x31, 0x43, 0x68, 0xEB, 0x61, 0x29, 0xA5, 0x42, 0x46, 0xA0, 0x7E, 0xFB, 0xDD, 0xD4, 0x2B, 0x2D,\r
+               0x9F, 0x95, 0xD5, 0x0C, 0xC5, 0x59, 0xC9, 0xBF, 0xD4, 0x55, 0x55, 0x2A, 0x13, 0x67, 0xE4, 0x58,\r
+               0x14, 0x40, 0x91, 0x7B, 0x24, 0xE0, 0xB2, 0xA0, 0x77, 0x26, 0x86, 0xAF, 0x89, 0xC6, 0x79, 0x3B,\r
+               0xE1, 0x65, 0xF7, 0xE7, 0xCD, 0xDE, 0xC0, 0x46, 0x0E, 0x66, 0xC4, 0x77, 0xEA, 0x01, 0x2F, 0xD5,\r
+               0xF2, 0x8B, 0xEE, 0x34, 0xB3, 0x4A, 0x4F, 0x00, 0x35, 0x78, 0xA9, 0x4F, 0x59, 0x18, 0x8D, 0x76,\r
+               0x77, 0xA8, 0xC1, 0x02, 0xC7, 0xCE, 0xFD, 0xB0, 0x02, 0x75, 0xF5, 0x8C, 0x00, 0x56, 0xE8, 0xA3,\r
+               0x7A, 0x0B, 0x96, 0xCA, 0xFD, 0xFD, 0x74, 0x8B, 0x3E, 0x20, 0xF6, 0x05, 0xDC, 0xC5, 0x45, 0xB2,\r
+               0x43, 0xAA, 0x56, 0x0D, 0x60, 0x47, 0xB4, 0xDD, 0x81, 0x4A, 0x29, 0x8D, 0x4D, 0x48, 0xA6, 0xB8,\r
+               0xDE, 0x80, 0x90, 0x5D, 0x9E, 0xAB, 0xB3, 0x65, 0xDB, 0x3A, 0xDF, 0x98, 0x05, 0x03, 0x58, 0x99,\r
+               0xCD, 0x6E, 0x89, 0x8E, 0xBC, 0xEA, 0x27, 0xCC, 0x72, 0xD1, 0x99, 0x71, 0x3B, 0xCE, 0xB5, 0x07,\r
+               0xAE, 0x86, 0xD9, 0xF7, 0xE3, 0xC6, 0x19, 0xB3, 0x7E, 0xC2, 0xA8, 0x8A, 0xE8, 0x35, 0xB8, 0xDA,\r
+               0xF0, 0x64, 0x99, 0x78, 0xCE, 0x27, 0xE5, 0xD6, 0xB4, 0xFB, 0x04, 0x21, 0x3F, 0x8A, 0x6B, 0xA2,\r
+               0x82, 0x8D, 0xA7, 0x9E, 0xFA, 0xDA, 0x15, 0xBE, 0x84, 0xBD, 0x36, 0x53, 0xC3, 0xB9, 0x10, 0x15,\r
+               0x37, 0x07, 0xCF, 0x96, 0xBA, 0xA3, 0x57, 0x66, 0x41, 0xEB, 0x10, 0x4A, 0xF0, 0x28, 0xCA, 0x48,\r
+               0x6D, 0x4E, 0x5F, 0x28, 0x06, 0xA1, 0x26, 0x09, 0xE6, 0xAF, 0x16, 0x37, 0xF3, 0x0D, 0x33, 0xD8,\r
+               0x1F, 0xA7, 0x61, 0xCE, 0xFC, 0x93, 0x65, 0x14, 0x25, 0x72, 0x94, 0xB9, 0xBB, 0x46, 0xCD, 0xF9,\r
+               0x85, 0x73, 0x4B, 0x26, 0xC4, 0x37, 0xD8, 0x20, 0xF1, 0xEE, 0x45, 0x70, 0x57, 0x61, 0x43, 0x25,\r
+               0xD0, 0x76, 0xFB, 0x1C, 0xBE, 0x7D, 0x13, 0xC3, 0xA8, 0xE2, 0x08, 0x2C, 0x9D, 0x96, 0x52, 0xF5,\r
+               0x63, 0xB8, 0x34, 0x69, 0x51, 0x0A, 0x11, 0x8F, 0xBF, 0xA3, 0x5B, 0x6B, 0xF1, 0x39, 0xA4, 0xD7,\r
+               0xCA, 0xF8, 0xB0, 0x36, 0xE8, 0xFF, 0xE4, 0xD5, 0xBE, 0xB9, 0xA1, 0xC0, 0x74, 0x82, 0x0A, 0xF0,\r
+               0x93, 0xA4, 0xFD, 0x3A, 0xC8, 0x68, 0x99, 0xA2, 0x62, 0xB8, 0x22, 0xFF, 0x78, 0x1D, 0xDA, 0xD6,\r
+               0x28, 0xD4, 0xF7, 0x67, 0x5B, 0xA9, 0x68, 0x85, 0x00, 0x04, 0x39, 0xAD, 0x3A, 0x7E, 0x30, 0x04,\r
+               0x6D, 0x85, 0xB6, 0x72, 0x6C, 0xF0, 0xC4, 0x99, 0x81, 0x03, 0xC6, 0x25, 0x20, 0xB3, 0xF2, 0x76,\r
+               0x91, 0xCB, 0x8C, 0x86, 0xC4, 0xB8, 0x06, 0x84, 0xEA, 0x46, 0x5A, 0x7F, 0xB1, 0xC9, 0x0B, 0x4A,\r
+               0x8E, 0x8F, 0x3B, 0xE3, 0x8C, 0xDF, 0x86, 0xC7, 0x2D, 0xA8, 0x0C, 0x1C, 0x5E, 0x1C, 0x10, 0x16,\r
+               0x3A, 0x4D, 0xBB, 0xD1, 0xDF, 0xA6, 0x48, 0xC9, 0x20, 0x60, 0x5B, 0xBF, 0xAC, 0xFB, 0x48, 0xB0,\r
+               0x12, 0xCA, 0x50, 0xB9, 0x1E, 0xC2, 0xF4, 0xDF, 0x06, 0x79, 0x9E, 0xE9, 0x66, 0x27, 0x7D, 0x08,\r
+               0xB2, 0x06, 0x38, 0xB6, 0xBD, 0xDB, 0x56, 0x6C, 0x37, 0x82, 0x92, 0xFA, 0xBE, 0x5E, 0x3F, 0x48,\r
+               0xA9, 0xBA, 0x5A, 0xE4, 0x97, 0xC1, 0xC8, 0x8A, 0x61, 0x31, 0x1E, 0xAA, 0xFF, 0x35, 0x31, 0xBE,\r
+               0xFF, 0x54, 0x9D, 0x87, 0x4C, 0x67, 0xB9, 0xEE, 0xF4, 0x5D, 0x14, 0x32, 0xC3, 0xF9, 0x39, 0x0C,\r
+               0xD0, 0x62, 0x18, 0xA4, 0xE7, 0xCB, 0x73, 0xD7, 0x54, 0xFB, 0xC2, 0x12, 0x07, 0x31, 0xE4, 0x89,\r
+               0xEC, 0xEB, 0x1B, 0xF1, 0xE5, 0xF3, 0xF8, 0xCC, 0xCA, 0x22, 0x38, 0x6D, 0x4B, 0x46, 0xE6, 0x66,\r
+               0x0D, 0x8E, 0xE7, 0xDC, 0xDC, 0x42, 0x40, 0xED, 0x97, 0x24, 0x44, 0xDA, 0x6D, 0x47, 0x2C, 0xA6,\r
+               0x1A, 0xC9, 0xB4, 0x9D, 0x44, 0xD2, 0xD1, 0x64, 0x46, 0xED, 0x90, 0x46, 0xA2, 0xEF, 0xA0, 0x8D,\r
+               0x4F, 0x6E, 0xC8, 0x82, 0xDB, 0xC3, 0xBF, 0x65, 0x36, 0x47, 0xD9, 0x40, 0xAB, 0x04, 0xC9, 0x38,\r
+               0x07, 0xE2, 0x72, 0x44, 0xF4, 0x60, 0x55, 0x10, 0x94, 0xAD, 0x78, 0x8F, 0x53, 0x00, 0x1C, 0x0F,\r
+               0xC5, 0x4A, 0x3A, 0x59, 0x01, 0xB9, 0x4D, 0x3E, 0x14, 0x6F, 0xCC, 0xBD, 0xFC, 0x3D, 0xD5, 0x9A,\r
+               0x72, 0xC1, 0x01, 0x17, 0xFE, 0xED, 0xB6, 0x81, 0x51, 0x0F, 0x59, 0x03, 0x5A, 0xEB, 0x75, 0xBA,\r
+               0xC0, 0x94, 0x25, 0xAE, 0x12, 0x12, 0x6B, 0xF9, 0x17, 0xE6, 0xF0, 0xE8, 0x05, 0xBA, 0xDC, 0x92,\r
+               0x85, 0xC5, 0x64, 0xBB, 0xD9, 0xFB, 0x34, 0x7E, 0x57, 0x72, 0xFE, 0x47, 0x0C, 0x51, 0xB5, 0x27,\r
+               0x33, 0x68, 0x95, 0x35, 0x55, 0x41, 0x7C, 0xB8, 0x77, 0x16, 0x9C, 0x55, 0x7D, 0x69, 0x63, 0x45,\r
+               0x53, 0x63, 0xC4, 0x9B, 0x00, 0x65, 0xCE, 0x01, 0xA5, 0x56, 0x74, 0x9C, 0x45, 0x52, 0x0E, 0x5B,\r
+               0x6C, 0xA3, 0x7C, 0xB2, 0x88, 0xBA, 0x71, 0x6B, 0xB7, 0x40, 0x26, 0xC8, 0x17, 0x1F, 0xAB, 0x6A,\r
+               0x05, 0x8D, 0x03, 0xF8, 0xFD, 0x09, 0xBE, 0xA5, 0x47, 0x28, 0xDB, 0xFC, 0x7E, 0x61, 0x87, 0x61,\r
+               0x62, 0x37, 0x3C, 0x1D, 0xA6, 0xC5, 0x18, 0x21, 0x6F, 0x70, 0x75, 0x5C, 0x0A, 0x2D, 0xE8, 0x90,\r
+               0x80, 0x1B, 0x7B, 0x4C, 0x21, 0x2E, 0x30, 0x49, 0xC7, 0xEA, 0x6F, 0xCE, 0x9D, 0x2B, 0x4C, 0x1B,\r
+               0xE1, 0x36, 0xE0, 0x22, 0x3D, 0xB1, 0x81, 0x8C, 0x07, 0xBC, 0xD5, 0x53, 0x6B, 0x3B, 0x71, 0x11,\r
+               0xF5, 0x38, 0x08, 0x1F, 0x26, 0xAF, 0xCF, 0xC1, 0x4D, 0x58, 0x60, 0xA1, 0xD0, 0xDF, 0x92, 0xCB,\r
+               0x21, 0xF1, 0xD9, 0x83, 0xBF, 0xE3, 0xDD, 0x77, 0x21, 0xA5, 0x10, 0x05, 0x95, 0x43, 0xF9, 0x91,\r
+               0xA6, 0x08, 0xD0, 0x8B, 0x57, 0x79, 0xF7, 0xA3, 0x7F, 0x2A, 0x50, 0xE7, 0x69, 0xB0, 0x49, 0x0A,\r
+               0x16, 0x32, 0x85, 0x8E, 0x83, 0xEB, 0x11, 0xC5, 0xCF, 0xD6, 0xA3, 0x7C, 0x7A, 0x96, 0xE2, 0xCD,\r
+               0x42, 0xB3, 0x33, 0x51, 0xE3, 0xAE, 0x84, 0x7B, 0x35, 0xCE, 0xE5, 0x15, 0x8A, 0xFA, 0x82, 0x70,\r
+               0x4E, 0x48, 0x02, 0x42, 0x3E, 0x55, 0x89, 0xA8, 0x56, 0xB7, 0xB5, 0xFD, 0xF5, 0xD6, 0xBC, 0x2F,\r
+               0xE7, 0xA1, 0x44, 0xA9, 0xA0, 0x98, 0x64, 0x96, 0x45, 0x64, 0xAC, 0x13, 0x5C, 0x97, 0x28, 0x0D,\r
+               0xBD, 0xB4, 0xB2, 0xD9, 0x81, 0xD3, 0x9A, 0xDE, 0xD8, 0x34, 0x6A, 0x39, 0xE4, 0x7B, 0x2F, 0xF3,\r
+               0x02, 0x3C, 0x6D, 0xB3, 0x8B, 0x5E, 0x79, 0x4F, 0xE1, 0xF3, 0xAA, 0x98, 0xB2, 0xC1, 0xEF, 0x6E,\r
+               0x3E, 0xB5, 0x6E, 0xE6, 0x9A, 0xCD, 0xD4, 0x93, 0xEC, 0x3B, 0xFD, 0x3B, 0x89, 0xF2, 0x66, 0x54,\r
+               0x09, 0x76, 0x32, 0xEB, 0x4F, 0x83, 0xB1, 0xCA, 0x69, 0x0D, 0xD2, 0x18, 0x39, 0x76, 0xD4, 0x20,\r
+               0x32, 0x4E, 0x5F, 0xF5, 0xEC, 0x9A, 0x13, 0x79, 0x7A, 0xDE, 0xCB, 0xF6, 0x7F, 0xE2, 0x5B, 0x5E,\r
+               0x83, 0x52, 0xC0, 0x30, 0xEE, 0xA2, 0x98, 0x62, 0xF8, 0x50, 0x08, 0x2B, 0xB6, 0x36, 0x8A, 0xC2,\r
+               0x94, 0x15, 0x93, 0x71, 0xCC, 0x0D, 0x6E, 0x0E, 0x4B, 0x25, 0xC7, 0xE5, 0xFA, 0x41, 0x88, 0x2D,\r
+               0xCD, 0x49, 0xDE, 0x7D, 0x1C, 0xFA, 0x7F, 0xC4, 0x1E, 0x1F, 0x77, 0xE0, 0x19, 0x0B, 0x43, 0x57,\r
+               0x19, 0x80, 0x0F, 0xE1, 0xC0, 0xDD, 0xF1, 0x28, 0x84, 0xF7, 0x5D, 0x34, 0x2D, 0xAF, 0xFE, 0x6F,\r
+               0xDA, 0x0E, 0x8D, 0x3C, 0xE1, 0x96, 0x0F, 0x60, 0xF6, 0x11, 0x63, 0xDD, 0x30, 0x9D, 0xBD, 0x95,\r
+               0x7D, 0x73, 0x8B, 0x78, 0x71, 0xB3, 0xF6, 0x63, 0xAC, 0xAF, 0xF3, 0x94, 0x5F, 0x9F, 0xCC, 0x29,\r
+               0xB8, 0x6A, 0xAD, 0x2E, 0x2C, 0x22, 0x2C, 0x50, 0x19, 0xA7, 0x9B, 0x1E, 0x87, 0xE6, 0x8E, 0x69,\r
+               0x88, 0x18, 0x9F, 0x68, 0x9B, 0x11, 0x57, 0xAC, 0x6B, 0x41, 0xA5, 0xF7, 0xEF, 0x1B, 0x7E, 0x5D,\r
+               0xC3, 0xDD, 0x9E, 0xD2, 0x84, 0x6A, 0xEE, 0x4D, 0x13, 0xD7, 0x20, 0x43, 0xB0, 0x4A, 0xD7, 0x75,\r
+               0xBB, 0x23, 0x16, 0x52, 0xCD, 0xD1, 0xED, 0x31, 0x86, 0xBB, 0x2A, 0xDB, 0xAE, 0x70, 0x70, 0xAB,\r
+               0xA8, 0x9C, 0x90, 0x24, 0x65, 0x99, 0x2F, 0x2C, 0x5C, 0xC7, 0x0E, 0xA0, 0x27, 0x4C, 0x73, 0xFE,\r
+               0xAE, 0x0B, 0x34, 0xAF, 0xD8, 0x27, 0xB7, 0x41, 0xE9, 0xCF, 0x66, 0x2A, 0x93, 0x3F, 0xA4, 0x26,\r
+               0x3C, 0xDA, 0x1F, 0x5A, 0x90, 0x40, 0x37, 0x02, 0xBF, 0x7C, 0xEA, 0x7A, 0x9E, 0x23, 0xA8, 0x3F,\r
+               0x49, 0xF9, 0x6C, 0x09, 0xD3, 0x76, 0xD7, 0xEF, 0x53, 0x43, 0x2E, 0xEC, 0x2B, 0xD3, 0xA3, 0xD8,\r
+               0x67, 0xE9, 0x23, 0xEA, 0x1D, 0x26, 0xFC, 0xFB, 0xA7, 0x1A, 0x03, 0x73, 0x98, 0x5F, 0xF5, 0x88,\r
+               0x29, 0xF2, 0x3D, 0xA7, 0x2E, 0x1A, 0xA7, 0x4B, 0x4A, 0xE0, 0x8C, 0x5F, 0xC6, 0x8D, 0x80, 0x9F,\r
+               0x4B, 0x96, 0x1D, 0xB5, 0x02, 0x5D, 0x45, 0x1A, 0x8F, 0x42, 0xAD, 0xD3, 0x99, 0xDC, 0x29, 0xB7,\r
+               0xE8, 0x13, 0xCE, 0xC6, 0x61, 0xFC, 0xD8, 0x80, 0x04, 0x35, 0xE9, 0x06, 0x86, 0x65, 0x52, 0x56,\r
+               0x7A, 0xC2, 0xE5, 0x33, 0x14, 0x4F, 0x17, 0x4E, 0xAA, 0xD2, 0x54, 0xD0, 0x7B, 0x15, 0x3E, 0xF2,\r
+               0xE0, 0x10, 0x2A, 0xE2, 0x75, 0xD6, 0x01, 0xCF, 0xEE, 0x77, 0x8A, 0xD4, 0x9F, 0xA0, 0x74, 0x00,\r
+               0xE3, 0x59, 0x91, 0x9E, 0x92, 0x78, 0xBC, 0x19, 0xF1, 0xA9, 0x8F, 0x23, 0x51, 0x8B, 0x24, 0x14,\r
+               0x58, 0x29, 0x9B, 0xC3, 0x91, 0x9C, 0xB4, 0x3D, 0xA1, 0x67, 0xA4, 0x37, 0x2F, 0x24, 0xC6, 0x74,\r
+               0xA2, 0xF0, 0x05, 0xBC, 0xD5, 0x2B, 0xAB, 0x58, 0x58, 0xF6, 0xDE, 0x0B, 0xD1, 0x5C, 0x4E, 0xF4,\r
+               0x95, 0x33, 0x59, 0xB1, 0x3F, 0x89, 0x0A, 0x97, 0x0C, 0x09, 0x25, 0xB4, 0xAA, 0x87, 0x15, 0x07,\r
+               0x71, 0x01, 0x36, 0x52, 0xB6, 0x4A, 0x2C, 0x54, 0x8C, 0x9C, 0xB1, 0x04, 0x25, 0x95, 0x3E, 0x51,\r
+               0xEB, 0xD5, 0x1C, 0xBA, 0x8E, 0xEE, 0x91, 0x60, 0x58, 0x00, 0x60, 0xCD, 0xC9, 0xB2, 0xB0, 0x8D,\r
+               0x97, 0xCA, 0x49, 0x1D, 0x23, 0x77, 0xE5, 0xFB, 0xC2, 0xD1, 0xAF, 0x1F, 0x83, 0xCD, 0xD9, 0xA3,\r
+               0x24, 0x04, 0x86, 0x68, 0xCC, 0x00, 0xE7, 0xB7, 0xD5, 0x90, 0xFC, 0x58, 0xEF, 0x62, 0x2F, 0x81,\r
+               0x76, 0xFF, 0xDA, 0xEA, 0x88, 0xA7, 0xE1, 0xCA, 0xF9, 0xCF, 0xC2, 0x27, 0xB1, 0x4D, 0x6D, 0x61,\r
+               0x04, 0x16, 0xE4, 0x0C, 0xBC, 0x5A, 0x11, 0xA2, 0xC9, 0x89, 0xF0, 0x55, 0x4D, 0x7E, 0x16, 0xD6,\r
+               0x99, 0x3C, 0x22, 0x5C, 0x74, 0xDC, 0xD2, 0x7D, 0x9B, 0xDD, 0xE2, 0x43, 0x81, 0xF9, 0x4E, 0xAC,\r
+               0xC3, 0x75, 0xB2, 0xE2, 0xC8, 0xDE, 0xA3, 0x12, 0x3C, 0x99, 0xE4, 0x3E, 0x82, 0xDC, 0xB7, 0x3C,\r
+               0x2A, 0xF2, 0xED, 0x29, 0xEC, 0xD6, 0x47, 0x11, 0xA6, 0x48, 0x2B, 0xEC, 0x77, 0xF7, 0x25, 0xED,\r
+               0xB7, 0xD8, 0x2B, 0x79, 0x12, 0x3A, 0x40, 0xA9, 0xFC, 0x38, 0xDD, 0xF9, 0x3F, 0xBC, 0xDB, 0xCC,\r
+               0x5A, 0xF4, 0xA4, 0x83, 0x91, 0xBB, 0xED, 0xC7, 0x03, 0xB0, 0x5C, 0xFE, 0x9A, 0xC1, 0xC5, 0xAE,\r
+               0x39, 0x1C, 0xF4, 0xFA, 0xCE, 0x97, 0xD3, 0xB8, 0x0F, 0xA3, 0x6D, 0x05, 0x49, 0x3A, 0xC8, 0x73,\r
+               0x06, 0xF9, 0x93, 0x40, 0xC1, 0x37, 0xBB, 0x74, 0x48, 0x0A, 0x5D, 0x3B, 0x2B, 0xEC, 0xF0, 0x02,\r
+               0x15, 0x17, 0x8A, 0x93, 0xBF, 0xA3, 0x34, 0x32, 0x73, 0x14, 0x30, 0x03, 0x98, 0xF5, 0x52, 0xA1,\r
+               0x8E, 0x79, 0xEB, 0xBE, 0x8F, 0x80, 0x80, 0xFF, 0x43, 0x52, 0x02, 0x71, 0xAE, 0x31, 0x38, 0xC6,\r
+               0x83, 0xDA, 0xBC, 0x76, 0xB5, 0xB3, 0x09, 0xC4, 0x7F, 0x07, 0x01, 0xF8, 0x72, 0xA2, 0x95, 0xD7,\r
+               0xC5, 0x31, 0x15, 0x9F, 0x13, 0x54, 0x51, 0x36, 0x3B, 0xD2, 0x8A, 0x8F, 0xAF, 0x20, 0x56, 0x59,\r
+               0x81, 0x35, 0xCB, 0x3A, 0xE1, 0xE1, 0x1B, 0xD2, 0xA1, 0x03, 0x45, 0x5D, 0x2E, 0xB9, 0x40, 0x38,\r
+               0xE0, 0x32, 0xEC, 0x0F, 0x56, 0x9D, 0x46, 0xD4, 0x0A, 0x54, 0x72, 0xDB, 0xFB, 0x32, 0x04, 0x4F,\r
+               0x6B, 0xE7, 0xA8, 0x78, 0xB7, 0x24, 0x3D, 0xCB, 0xA9, 0x27, 0xA1, 0x5E, 0x61, 0x93, 0x99, 0x2C,\r
+               0x37, 0xEA, 0x9F, 0xBB, 0x15, 0x1D, 0x21, 0x9C, 0xE3, 0x5D, 0x6A, 0xBD, 0xB9, 0x44, 0xEA, 0x98,\r
+               0x63, 0x55, 0x64, 0x44, 0xE6, 0xC6, 0x7A, 0xE7, 0xD4, 0x50, 0x36, 0x7E, 0x76, 0xE6, 0x4B, 0x72,\r
+               0x9E, 0xC2, 0xCE, 0xE4, 0xF5, 0xCA, 0x4B, 0x1C, 0xA2, 0x7F, 0xFE, 0x14, 0xF8, 0x17, 0xFD, 0xDF,\r
+               0xCE, 0xD6, 0xE5, 0x2A, 0x95, 0x65, 0xA9, 0x62, 0x19, 0x22, 0xF4, 0x64, 0xDC, 0xF3, 0xF5, 0xDC,\r
+               0x33, 0x41, 0x4F, 0x8A, 0x1F, 0x0D, 0x1C, 0x6A, 0xE9, 0xC5, 0xFF, 0xD1, 0xCD, 0xF6, 0x6E, 0x28,\r
+               0x86, 0xCB, 0x27, 0x82, 0xC7, 0x7E, 0xCB, 0xDE, 0xEF, 0x4E, 0x5B, 0x46, 0xA0, 0x48, 0xF6, 0x95,\r
+               0x7C, 0xA2, 0x61, 0x9A, 0x94, 0x0B, 0xB8, 0xFD, 0x82, 0x33, 0xF1, 0x90, 0xAC, 0x05, 0xAF, 0xC9,\r
+               0xE9, 0x3A, 0x6B, 0xF6, 0x4A, 0x31, 0x1F, 0xE3, 0xFA, 0xB3, 0x79, 0x6E, 0xD0, 0xBE, 0xAC, 0x80,\r
+               0xC8, 0x92, 0x42, 0x57, 0x69, 0x1E, 0x9A, 0xD5, 0x26, 0x0B, 0x4C, 0xA4, 0x1A, 0x49, 0xBD, 0x50,\r
+               0x25, 0xBE, 0xCD, 0xAD, 0x7E, 0xCC, 0xEF, 0x8B, 0x68, 0x46, 0x52, 0xBF, 0xAA, 0x75, 0xE6, 0x63,\r
+               0xD0, 0x9B, 0xAB, 0x31, 0xDE, 0x62, 0xC7, 0xD3, 0x7D, 0xBB, 0x70, 0x97, 0xE3, 0x2F, 0x76, 0xDD,\r
+               0x3C, 0x0D, 0x6F, 0x0E, 0x39, 0x92, 0xCC, 0x66, 0x08, 0xE8, 0x03, 0xB4, 0x0E, 0x19, 0x96, 0x9E,\r
+               0x9B, 0xD3, 0x55, 0x10, 0xED, 0xB8, 0x56, 0x8E, 0xBE, 0x66, 0xF2, 0x19, 0x0F, 0x08, 0xF8, 0x01,\r
+               0x3B, 0xF3, 0x83, 0xB6, 0x68, 0x70, 0x8B, 0x4A, 0x91, 0x45, 0x77, 0x2F, 0x36, 0xA4, 0x32, 0xAA,\r
+               0x58, 0x1B, 0xD3, 0xCF, 0xA9, 0x1F, 0x50, 0xF3, 0xF3, 0x57, 0x57, 0x4B, 0x8D, 0xB4, 0x17, 0xF0,\r
+               0x0E, 0x4B, 0x5F, 0x7C, 0x5F, 0x74, 0x5E, 0xB2, 0xE8, 0x05, 0x35, 0xF7, 0x6B, 0xAE, 0x89, 0xDA,\r
+               0x29, 0xA7, 0xD1, 0xA0, 0x6C, 0xAE, 0xCF, 0xEF, 0x5B, 0x7C, 0xDB, 0x84, 0x85, 0xBD, 0x90, 0x09,\r
+               0x59, 0xA1, 0x98, 0x0A, 0xD9, 0x45, 0xA6, 0xE6, 0x0E, 0x63, 0xA7, 0x23, 0x84, 0xAC, 0xFE, 0x96,\r
+               0xA5, 0x8C, 0x79, 0x6F, 0x87, 0x07, 0x89, 0x06, 0xAD, 0x10, 0x74, 0xA6, 0x2D, 0x9C, 0xB9, 0xA8,\r
+               0xF8, 0x3B, 0x05, 0x69, 0x47, 0x06, 0x43, 0x20, 0x4C, 0x3D, 0x88, 0xC3, 0x0C, 0x2D, 0x01, 0x91,\r
+               0x6F, 0x4C, 0x78, 0x49, 0xE5, 0x3F, 0x5F, 0x77, 0x69, 0x86, 0x98, 0x99, 0x64, 0xC6, 0x29, 0x16,\r
+               0xEE, 0xC4, 0x87, 0x4E, 0x97, 0xF2, 0x9D, 0x6D, 0x2C, 0x93, 0xD9, 0xC8, 0x78, 0x9F, 0x85, 0x21,\r
+               0xD1, 0x21, 0xE0, 0xF4, 0x11, 0xC3, 0x65, 0x39, 0x8B, 0xD7, 0xDF, 0xB5, 0x34, 0x90, 0xA5, 0xA5,\r
+               0x0D, 0x1E, 0x63, 0xF5, 0x37, 0x5C, 0xB5, 0x35, 0xD2, 0xDB, 0x92, 0xE9, 0x43, 0x07, 0xD8, 0x85,\r
+               0x4F, 0x5E, 0x1A, 0x2D, 0x51, 0xBA, 0x27, 0xE1, 0x7B, 0x30, 0xD4, 0x00, 0x28, 0xC9, 0x09, 0x92,\r
+               0x69, 0x08, 0xDF, 0x34, 0xE9, 0x66, 0x12, 0x2B, 0x53, 0x58, 0x3F, 0x87, 0x3E, 0xAD, 0xB5, 0x53,\r
+               0x85, 0x9E, 0x1B, 0x0B, 0xAB, 0x88, 0x64, 0xFC, 0xD0, 0x67, 0xE3, 0x86, 0x65, 0xD7, 0x47, 0x89,\r
+               0x42, 0xFD, 0x4D, 0xE5, 0xF7, 0x5D, 0x7F, 0x13, 0xCF, 0x02, 0x54, 0xC2, 0x26, 0xB0, 0xC7, 0xC1,\r
+               0xA8, 0x2F, 0x2E, 0xA7, 0xFA, 0x6A, 0x23, 0xD0, 0xC1, 0xAD, 0x14, 0x56, 0xA8, 0x41, 0x71, 0x6C,\r
+               0x68, 0xB2, 0x94, 0xF1, 0xF0, 0x7A, 0x1E, 0x26, 0xA0, 0xC3, 0x8F, 0x7B, 0x6D, 0xDE, 0xC0, 0x70,\r
+               0x28, 0x1D, 0x9A, 0x65, 0x80, 0x20, 0xE8, 0x33, 0x44, 0x19, 0x6C, 0xC0, 0x44, 0x66, 0xFF, 0xB0,\r
+               0x00, 0xBD, 0x34, 0x3D, 0x71, 0x6C, 0x87, 0x47, 0x23, 0xFC, 0x53, 0x7A, 0xC0, 0xAA, 0x59, 0xEB,\r
+               0x10, 0x06, 0x11, 0x67, 0xEB, 0xF1, 0x26, 0x24, 0xE7, 0x6A, 0xBF, 0x45, 0x42, 0x16, 0xB6, 0x1A,\r
+               0xA0, 0x9D, 0xE2, 0x9B, 0x2C, 0xD7, 0x8D, 0x37, 0x57, 0x6F, 0xEA, 0x7F, 0x24, 0x84, 0x50, 0xCE,\r
+               0x22, 0x40, 0x21, 0x15, 0x2A, 0x9E, 0xFD, 0x9D, 0xB4, 0xFE, 0x67, 0x75, 0x20, 0xC0, 0x8E, 0x6B,\r
+               0x4E, 0xE4, 0x51, 0xE8, 0x70, 0x02, 0x96, 0xD8, 0x60, 0x62, 0xB6, 0xBC, 0x96, 0x8C, 0x9C, 0xF2,\r
+               0x3E, 0xE2, 0x18, 0x42, 0x5B, 0xAA, 0x1A, 0x17, 0x33, 0xF6, 0x6E, 0x8C, 0x60, 0x82, 0xF7, 0xB3,\r
+               0x78, 0x09, 0xB1, 0xAB, 0x73, 0xFB, 0xB3, 0x48, 0x81, 0x4F, 0x4A, 0xD9, 0x18, 0x7D, 0x2A, 0x5F,\r
+               0xFB, 0x6E, 0x39, 0xE0, 0xEE, 0x41, 0x73, 0x1E, 0x46, 0xA5, 0x1D, 0xAF, 0xF1, 0x0F, 0x14, 0xB9,\r
+               0x7B, 0x5C, 0x8D, 0x22, 0x7B, 0x7C, 0xBA, 0xB1, 0x84, 0xB8, 0x55, 0x07, 0xDF, 0xD6, 0x0C, 0x4C,\r
+               0xCA, 0x7D, 0x35, 0x1B, 0xBA, 0x13, 0x61, 0x08, 0x12, 0x7A, 0xAB, 0x2E, 0xE0, 0x0A, 0x8F, 0x4D,\r
+               0xD8, 0x29, 0x67, 0x0D, 0x8B, 0x5E, 0xC4, 0x5A, 0x2D, 0x53, 0x13, 0xEE, 0x8A, 0xD5, 0x30, 0xC5,\r
+               0x38, 0xA6, 0xBF, 0x3F, 0xC6, 0x10, 0xDA, 0x41, 0xC4, 0x5A, 0x0B, 0x88, 0x9F, 0x94, 0x75, 0x94,\r
+               0x18, 0xB4, 0xDD, 0x5B, 0xA4, 0x28, 0x0C, 0x30, 0x72, 0xD4, 0xFA, 0x25, 0x59, 0x2E, 0x3D, 0x18,\r
+               0x7B, 0xD2, 0x08, 0x78, 0x70, 0xCD, 0x5A, 0xF4, 0xC9, 0x41, 0x8A, 0x5F, 0xE0, 0xA3, 0xE8, 0xF7,\r
+               0xD9, 0x71, 0x11, 0xCB, 0x48, 0xA0, 0x61, 0xEA, 0x46, 0x07, 0x1E, 0x21, 0x33, 0xBA, 0xFB, 0x19,\r
+               0xBC, 0xA4, 0x5F, 0x92, 0x8B, 0xFC, 0x56, 0xE7, 0xF4, 0xB7, 0x9A, 0x55, 0x05, 0x95, 0x7E, 0x3A,\r
+               0x11, 0xB5, 0xCC, 0x4E, 0x02, 0xFF, 0x6A, 0xB2, 0x7D, 0x8C, 0xA9, 0x6F, 0xCD, 0xC2, 0x73, 0x99,\r
+               0xF2, 0xBF, 0x41, 0xDF, 0x8A, 0x20, 0xD5, 0xD8, 0xBD, 0xDA, 0x13, 0xF2, 0x0A, 0x02, 0x4A, 0x38,\r
+               0x0C, 0x9E, 0x0A, 0x97, 0x9F, 0xD6, 0x8F, 0xA8, 0xBA, 0x62, 0xFF, 0x0C, 0x5A, 0xC4, 0xD7, 0x12,\r
+               0xE1, 0x00, 0xC7, 0xA9, 0x76, 0x90, 0x26, 0x43, 0x2E, 0xCB, 0xBE, 0x2E, 0x89, 0xDD, 0xC4, 0xFC,\r
+               0xEC, 0xDD, 0x3C, 0x7A, 0x8D, 0xA1, 0x2A, 0x50, 0x10, 0xB4, 0x92, 0x71, 0xF0, 0x8D, 0xA7, 0x14,\r
+               0x3F, 0xA5, 0x83, 0xAD, 0x26, 0x0D, 0xE0, 0x69, 0xEC, 0xD1, 0x73, 0x5C, 0x7F, 0xCD, 0xF9, 0xF6,\r
+               0x44, 0x12, 0xB0, 0x51, 0x54, 0x3F, 0xD0, 0x2F, 0x1C, 0xB9, 0x8E, 0x68, 0x99, 0xF3, 0x8B, 0x1F,\r
+               0x9E, 0x4F, 0x21, 0x62, 0x4D, 0x19, 0x15, 0x79, 0x5E, 0x61, 0xF7, 0x28, 0x91, 0x9B, 0x3E, 0x95,\r
+               0x67, 0xDF, 0x04, 0x61, 0x30, 0x1F, 0xB2, 0x3D, 0x2F, 0x0E, 0xF5, 0x94, 0x2F, 0x0B, 0x64, 0xDC,\r
+               0x99, 0xFE, 0x4F, 0x29, 0xBE, 0x9D, 0x71, 0xE0, 0x6C, 0x13, 0xC7, 0x6E, 0xC9, 0x35, 0x16, 0x35,\r
+               0x17, 0x22, 0x68, 0xC5, 0x77, 0x4C, 0xA5, 0x7C, 0xD1, 0x27, 0x63, 0x56, 0x21, 0x1F, 0x8C, 0xE1,\r
+               0x06, 0xF2, 0x9F, 0x0F, 0x2B, 0x01, 0xFC, 0x70, 0x1A, 0xC4, 0x29, 0x2C, 0x1B, 0xAF, 0xD9, 0xE4,\r
+               0xF0, 0xD0, 0x30, 0x63, 0x6C, 0x52, 0xEB, 0x31, 0x18, 0x88, 0x5E, 0xC3, 0x6E, 0x60, 0x6A, 0x2A,\r
+               0xCF, 0x10, 0x88, 0x4A, 0xCC, 0xAF, 0x41, 0xA6, 0x12, 0xF8, 0xE5, 0x9E, 0xDE, 0xE4, 0xD8, 0x5E,\r
+               0x94, 0x23, 0xB4, 0xFA, 0xD7, 0xB1, 0x0F, 0xEB, 0x67, 0xA6, 0x37, 0x89, 0x24, 0x6B, 0x35, 0x72,\r
+               0xBF, 0xED, 0xE4, 0xEE, 0xC7, 0xFE, 0x21, 0x08, 0x31, 0x15, 0xBB, 0xD9, 0x7D, 0x46, 0xC1, 0xED,\r
+               0x5F, 0xAE, 0xD2, 0x03, 0xE4, 0x8D, 0x54, 0x5B, 0x3A, 0xA0, 0x4B, 0x3E, 0x42, 0x82, 0x2D, 0x7B,\r
+               0xDF, 0xE6, 0xB5, 0x40, 0x35, 0xA6, 0xC6, 0xAE, 0x36, 0xAD, 0x57, 0x27, 0xF1, 0x0E, 0x7B, 0x2B,\r
+               0x47, 0x5B, 0x0B, 0x2D, 0xA2, 0x02, 0xC0, 0x25, 0xE1, 0x19, 0x24, 0xFF, 0xF9, 0x66, 0xCE, 0xA1,\r
+               0x85, 0xF3, 0x43, 0x30, 0x1D, 0x84, 0xD3, 0x53, 0xE2, 0x90, 0x18, 0xAA, 0x85, 0x42, 0x14, 0xDA,\r
+               0x86, 0xBA, 0xF8, 0x4C, 0xE3, 0x0C, 0xAB, 0xD3, 0x45, 0x8E, 0x22, 0x74, 0xE9, 0x48, 0x81, 0x42,\r
+               0x62, 0x01, 0x1B, 0x96, 0x0D, 0xCB, 0xFD, 0xB0, 0x87, 0x94, 0xEF, 0x06, 0x37, 0x4D, 0x9E, 0xB5,\r
+               0xC3, 0xEB, 0xB9, 0x59, 0xCE, 0x97, 0xCA, 0xBD, 0xDC, 0xEF, 0x34, 0xF5, 0xC8, 0xB6, 0xCA, 0x0A,\r
+               0xDC, 0xAF, 0x0E, 0x3C, 0x17, 0x09, 0x30, 0xC2, 0x54, 0x11, 0x4C, 0x75, 0x59, 0xCC, 0x33, 0x36,\r
+               0xD4, 0xAC, 0xEA, 0x18, 0x67, 0x03, 0x8B, 0x9F, 0xB6, 0x6F, 0xE3, 0x15, 0x97, 0xE7, 0x63, 0x22,\r
+               0x69, 0x4B, 0x44, 0xCE, 0x2E, 0xB8, 0x88, 0xE3, 0xE6, 0xA1, 0xC8, 0x01, 0x49, 0xE2, 0x7C, 0xD5,\r
+               0x7F, 0x2A, 0xDD, 0x4F, 0xFC, 0x77, 0x12, 0x32, 0xAC, 0x45, 0x7D, 0xF3, 0xEC, 0x3C, 0x38, 0xD1,\r
+               0xB0, 0x5F, 0x6E, 0x81, 0x2D, 0x5C, 0x80, 0xC7, 0xC0, 0xB8, 0x0D, 0x57, 0x0B, 0x81, 0x96, 0x07,\r
+               0x2D, 0x3C, 0xCF, 0x1B, 0xA8, 0x8F, 0x23, 0xB4, 0xBB, 0xA7, 0xB4, 0xB6, 0x7C, 0xC5, 0x1D, 0xD2,\r
+               0x9C, 0x20, 0x50, 0xDE, 0xF4, 0xC2, 0x7A, 0xB8, 0xEF, 0x58, 0x4F, 0x09, 0x47, 0xF6, 0x94, 0xE8,\r
+               0x20, 0xE1, 0x34, 0xC8, 0x73, 0x29, 0x52, 0xD0, 0xDA, 0x92, 0x93, 0xB1, 0x5E, 0x33, 0xB2, 0xBE,\r
+               0xEE, 0xB2, 0x4D, 0xC6, 0xB1, 0xA9, 0xE6, 0xE2, 0x82, 0x60, 0x74, 0x17, 0x96, 0x64, 0xBF, 0x1D,\r
+               0x6E, 0xFA, 0x2A, 0x85, 0xF5, 0x1E, 0xF9, 0x87, 0x99, 0x8F, 0xA1, 0x4B, 0x78, 0x32, 0x78, 0x7E,\r
+               0xAC, 0x52, 0x62, 0x98, 0xBB, 0x24, 0x05, 0x73, 0x60, 0x1E, 0xDB, 0x77, 0x3D, 0xAE, 0x13, 0x24,\r
+               0x00, 0x65, 0x3B, 0x84, 0xEA, 0x65, 0x40, 0x66, 0xA2, 0x04, 0x16, 0x05, 0x3A, 0x51, 0x92, 0xAC,\r
+               0xF1, 0xF6, 0xFA, 0xA3, 0x9A, 0x6F, 0xFB, 0x3B, 0x48, 0x46, 0x75, 0xD7, 0x86, 0x4A, 0xF0, 0xFE,\r
+               0x8C, 0xD6, 0x6D, 0xD4, 0xC6, 0x22, 0xA2, 0x37, 0x98, 0x4A, 0xEA, 0xF1, 0x87, 0xC9, 0x2C, 0xC1,\r
+               0xD7, 0xE5, 0x51, 0x64, 0x50, 0x5A, 0x27, 0x83, 0x5B, 0x95, 0x6C, 0x39, 0x79, 0xB1, 0xA4, 0x41,\r
+               0xB9, 0x7A, 0x40, 0x65, 0xF7, 0x26, 0x72, 0x9C, 0x32, 0x9C, 0x87, 0x8C, 0xD3, 0xF8, 0xD4, 0x47,\r
+               0x28, 0xE2, 0xD0, 0xEC, 0xB0, 0x75, 0x65, 0xDD, 0xBE, 0x53, 0x2F, 0xA7, 0x1A, 0x2C, 0x05, 0xDB,\r
+               0x90, 0xDB, 0x61, 0xCD, 0xD5, 0x89, 0x84, 0xF0, 0x74, 0x75, 0x2E, 0x67, 0x1C, 0x50, 0x58, 0x6C,\r
+               0x1B, 0xD9, 0x59, 0xD6, 0x5C, 0x8A, 0xB8, 0xA5, 0x76, 0x39, 0x59, 0x88, 0xC5, 0xAA, 0xC6, 0x13,\r
+               0xD1, 0x72, 0xF5, 0xEF, 0x6A, 0x0F, 0x97, 0x86, 0xAB, 0xFD, 0x91, 0x0D, 0x63, 0x7C, 0x66, 0x33,\r
+               0xA0, 0xA9, 0x53, 0x8B, 0x84, 0xC8, 0xC1, 0xE5, 0xA3, 0xC1, 0x5D, 0xBF, 0x0F, 0x76, 0xF3, 0xAB,\r
+               0x3E, 0x83, 0x49, 0x6D, 0x38, 0xAA, 0xDA, 0xB7, 0xAD, 0x80, 0x36, 0x49, 0xBC, 0xFA, 0xA5, 0xFB,\r
+               0x19, 0xB6, 0x28, 0x6A, 0x9D, 0xEE, 0x04, 0xB3, 0x39, 0x29, 0x77, 0x6B, 0x7E, 0x4E, 0x25, 0xC9,\r
+               0xA6, 0x3E, 0xF7, 0x00, 0x5D, 0x56, 0x3B, 0x9A, 0x9C, 0x7B, 0x3A, 0x5A, 0x68, 0x1C, 0x37, 0x9D,\r
+               0x14, 0x6B, 0xD3, 0xB9, 0x56, 0x07, 0x5B, 0x34, 0xF1, 0x43, 0x01, 0x44, 0x28, 0xF4, 0xE5, 0x54,\r
+               0x5C, 0xE7, 0x69, 0x7F, 0xFB, 0xF6, 0xED, 0xBA, 0x27, 0x32, 0x39, 0x26, 0x4C, 0x96, 0xC5, 0x46,\r
+               0x03, 0x2C, 0x80, 0xF8, 0xAA, 0xB7, 0xA8, 0xAF, 0x4E, 0x3B, 0xD2, 0x93, 0xD8, 0x98, 0x85, 0xE9,\r
+               0xDE, 0xC0, 0x7F, 0x80, 0xFF, 0x93, 0x1A, 0x16, 0xE7, 0x64, 0x83, 0xBB, 0x31, 0x31, 0xC3, 0x02,\r
+               0x25, 0x3F, 0x2B, 0x3F, 0x74, 0xA8, 0xAD, 0x58, 0x47, 0xC2, 0x55, 0x9B, 0x51, 0xA4, 0x86, 0xBC,\r
+               0x3D, 0xCA, 0xF2, 0x11, 0xDC, 0xE0, 0x6F, 0x45, 0x8E, 0x6D, 0x68, 0x0E, 0x93, 0x10, 0x06, 0x8E,\r
+               0x79, 0xBD, 0x79, 0xC4, 0x0C, 0x17, 0x7E, 0x8F, 0x70, 0x44, 0xFE, 0xCC, 0xE8, 0xCB, 0x5D, 0x7D,\r
+               0x9F, 0x69, 0xEB, 0xA2, 0x36, 0x42, 0xCE, 0x8A, 0xDB, 0x57, 0xD8, 0x0B, 0x14, 0x38, 0xED, 0xE6,\r
+               0xB5, 0x81, 0x71, 0x76, 0xCF, 0x4B, 0x49, 0x82, 0x6B, 0xAB, 0x2B, 0x90, 0x9B, 0x78, 0xB3, 0x04,\r
+               0xA7, 0x18, 0x3D, 0xC0, 0x06, 0x9A, 0x9D, 0x1E, 0x00, 0xEE, 0xB7, 0xCA, 0x66, 0x08, 0xDF, 0xA0,\r
+               0xE9, 0x03, 0x23, 0x8D, 0x08, 0x72, 0x89, 0x23, 0xE3, 0x55, 0x53, 0x10, 0x82, 0xBD, 0x95, 0x52,\r
+               0x58, 0x1F, 0xBC, 0x48, 0x25, 0xE9, 0xE8, 0x4D, 0xDE, 0xA3, 0x43, 0x1A, 0xD4, 0x07, 0x55, 0xCF,\r
+               0x70, 0x98, 0x57, 0x20, 0x09, 0xAE, 0x0A, 0x1C, 0x7A, 0x34, 0x45, 0x91, 0x4E, 0x1D, 0xFD, 0x5D,\r
+               0xD6, 0xC3, 0x9B, 0xA4, 0xB3, 0x91, 0x6D, 0xF9, 0x15, 0x40, 0x09, 0x60, 0x16, 0xB3, 0xD5, 0xFD,\r
+               0xA0, 0x6F, 0x67, 0x74, 0x5A, 0xCB, 0x11, 0x59, 0x9E, 0xE8, 0xA8, 0x7D, 0xEF, 0xE3, 0x2F, 0x13,\r
+               0x67, 0x49, 0x74, 0xDF, 0xA9, 0x37, 0x8A, 0xE9, 0x4A, 0x0E, 0xCE, 0xEF, 0x5F, 0xE6, 0x15, 0x46,\r
+               0xFC, 0xBA, 0x88, 0x6F, 0xE9, 0xB8, 0x68, 0xB7, 0xA2, 0x24, 0x1A, 0x75, 0xD8, 0xEE, 0xEC, 0x4F,\r
+               0xA6, 0x26, 0xCD, 0x04, 0x99, 0x45, 0xCC, 0xDB, 0x3B, 0x36, 0xAC, 0x39, 0x0C, 0x72, 0x25, 0x9E,\r
+               0x7C, 0xC2, 0x76, 0xE7, 0x2C, 0xA1, 0x3E, 0x91, 0x20, 0x78, 0xE1, 0x27, 0x18, 0x4F, 0x2B, 0x76,\r
+               0x76, 0xD2, 0x80, 0xDA, 0x96, 0xF7, 0xA3, 0x51, 0x3C, 0xC9, 0x24, 0xB8, 0x79, 0x21, 0x06, 0xED,\r
+               0xFD, 0xD4, 0x17, 0x7E, 0x8C, 0x6D, 0x31, 0xF9, 0xBB, 0xE1, 0x4C, 0x53, 0x9B, 0x70, 0x2A, 0xAA,\r
+               0x0C, 0x98, 0x63, 0x11, 0x22, 0x35, 0x91, 0xD1, 0xE0, 0x47, 0xC8, 0x9F, 0xFC, 0x95, 0x90, 0x95,\r
+               0x07, 0xE6, 0x0A, 0x3D, 0xDF, 0x5D, 0xA5, 0x21, 0x95, 0x88, 0x06, 0x2C, 0x95, 0xDF, 0xBE, 0xEA,\r
+               0x36, 0xAB, 0x58, 0x98, 0x8D, 0x4B, 0xF1, 0x33, 0x1D, 0x37, 0x6C, 0xF3, 0xAA, 0xF6, 0x7E, 0x52,\r
+               0x28, 0x90, 0x60, 0xF5, 0x65, 0x0B, 0x38, 0xE1, 0x48, 0x85, 0xD5, 0xD7, 0xCA, 0x58, 0x75, 0x03,\r
+               0x4A, 0xA8, 0x11, 0x23, 0x07, 0x6F, 0x2A, 0xC1, 0xC4, 0xCD, 0x13, 0x6D, 0x7C, 0xD6, 0xD8, 0xF2,\r
+               0xFF, 0x43, 0x18, 0x4A, 0x09, 0xFB, 0x85, 0x81, 0x0F, 0x92, 0x94, 0x84, 0x39, 0xC3, 0x89, 0xB3,\r
+               0xD7, 0x12, 0x47, 0xE3, 0xA0, 0x12, 0x6E, 0xC7, 0xE3, 0x4F, 0xEC, 0x7B, 0x8B, 0x7A, 0xDC, 0x97,\r
+               0xF7, 0xC4, 0xE1, 0x43, 0x35, 0x72, 0xD0, 0x82, 0x1C, 0xB4, 0x53, 0x2F, 0x3C, 0x34, 0x57, 0xAC,\r
+               0x62, 0xF9, 0x4E, 0x8A, 0x81, 0xB0, 0xE2, 0x02, 0xE9, 0xAC, 0x7D, 0xF6, 0xFE, 0x29, 0xFF, 0xE4,\r
+               0x55, 0xFD, 0xB6, 0x5F, 0x20, 0x5A, 0x2D, 0xA0, 0xC6, 0x46, 0x08, 0x55, 0xB6, 0xEF, 0x73, 0x5E,\r
+               0xE0, 0x16, 0xBF, 0x36, 0x69, 0xF0, 0x2B, 0xD0, 0x59, 0x28, 0x09, 0x44, 0xE3, 0xF0, 0xD4, 0x22,\r
+               0xCB, 0xBE, 0x70, 0xBA, 0xBD, 0x39, 0xB7, 0x01, 0xC1, 0xB9, 0x80, 0xD4, 0xF4, 0xB1, 0x93, 0x71,\r
+               0x0B, 0xBF, 0x56, 0x70, 0xC1, 0x3F, 0x00, 0x5C, 0xF8, 0x01, 0xA1, 0x65, 0x15, 0x9C, 0xF6, 0x8D,\r
+               0xE4, 0xC8, 0x1A, 0x72, 0x3B, 0xE6, 0x7F, 0xC2, 0xFA, 0x8A, 0xBA, 0x5D, 0x29, 0xC9, 0x7F, 0x8E,\r
+               0x61, 0x00, 0xDE, 0xAF, 0xED, 0x40, 0x5F, 0x62, 0x51, 0x40, 0x83, 0xF1, 0x06, 0xEA, 0x49, 0x0B,\r
+               0xD3, 0xCC, 0xE2, 0xA7, 0xE7, 0x2C, 0xC7, 0xF7, 0x8A, 0x31, 0xE7, 0x57, 0x50, 0x89, 0xA7, 0xCC,\r
+               0x25, 0xA7, 0xA3, 0xA9, 0x6B, 0x9F, 0x97, 0xA1, 0xA0, 0xAF, 0x01, 0x4D, 0x4B, 0xDB, 0x1B, 0xAE,\r
+               0x65, 0xDE, 0x7B, 0xEB, 0x67, 0x64, 0x84, 0x90, 0x03, 0x0D, 0xB2, 0x54, 0xEB, 0xD4, 0xD7, 0xC6,\r
+               0xDD, 0x02, 0xB1, 0xDE, 0xA2, 0x7D, 0xD2, 0xB6, 0xC2, 0xB1, 0xA4, 0x30, 0xC3, 0xBC, 0x50, 0x2D,\r
+               0x7B, 0xE5, 0x43, 0x86, 0xF5, 0xB5, 0x71, 0xBB, 0x91, 0x7F, 0xAA, 0x49, 0x77, 0x8E, 0x92, 0xAD,\r
+               0x27, 0x30, 0xAC, 0x9D, 0xA3, 0x5B, 0x12, 0x7C, 0xD9, 0xFF, 0xE9, 0x2E, 0x68, 0xEB, 0xD6, 0x1A,\r
+               0x1B, 0x4A, 0x3D, 0x64, 0x3F, 0x1E, 0x48, 0x17, 0x71, 0x3D, 0xF4, 0x66, 0x94, 0x1F, 0x98, 0x20,\r
+               0x69, 0x87, 0x27, 0xA6, 0xC0, 0x19, 0xC0, 0x96, 0x46, 0x91, 0xE8, 0x3F, 0xD1, 0x0A, 0xC9, 0x61,\r
+               0xBB, 0xE4, 0x65, 0x4C, 0xDB, 0xA5, 0x92, 0xF4, 0xD5, 0x60, 0xCF, 0xFE, 0x6A, 0x57, 0xB9, 0x6B,\r
+               0x9D, 0x7B, 0x69, 0x9C, 0x58, 0xA4, 0xAD, 0x28, 0xF5, 0x1D, 0xB8, 0x69, 0x33, 0x5B, 0xE5, 0x26,\r
+               0x6A, 0x7E, 0xB7, 0x83, 0xDC, 0x14, 0xD9, 0x9A, 0x22, 0xF3, 0xFA, 0x1F, 0x6C, 0xDC, 0x2E, 0xCF,\r
+               0x99, 0xA5, 0xCC, 0xD8, 0x27, 0xEB, 0x66, 0xCE, 0xC8, 0x52, 0x35, 0xBD, 0x5B, 0xD1, 0xED, 0x93,\r
+               0x19, 0xDD, 0x32, 0x50, 0x5D, 0x7A, 0x5A, 0x37, 0x8C, 0x4D, 0x50, 0x0A, 0xA1, 0xAE, 0x34, 0x0D,\r
+               0x79, 0x72, 0x4C, 0xB2, 0x76, 0xB4, 0x4E, 0x67, 0x8F, 0x45, 0x74, 0xEE, 0x1A, 0xF3, 0x44, 0x07,\r
+               0x6D, 0x59, 0x82, 0xE2, 0x73, 0x6A, 0xB9, 0x78, 0x68, 0xF8, 0xA2, 0x40, 0x19, 0x8F, 0x0D, 0xBC,\r
+               0x9F, 0xEC, 0x66, 0xA8, 0xAD, 0xCF, 0xBD, 0x3C, 0x09, 0xEE, 0x23, 0xD9, 0x83, 0x5E, 0xDF, 0x73,\r
+               0x3B, 0x9C, 0x9B, 0xC4, 0x10, 0x28, 0x6B, 0x92, 0x7C, 0x21, 0xED, 0x6A, 0x11, 0xAB, 0x0E, 0x58,\r
+               0xDA, 0x25, 0x84, 0xBF, 0x54, 0x5F, 0xBE, 0x19, 0x1F, 0xBC, 0x77, 0xCB, 0xB2, 0xD8, 0x8B, 0x8B,\r
+               0xF2, 0x74, 0xDB, 0x16, 0x75, 0xFD, 0x32, 0xDC, 0x33, 0x5E, 0x26, 0x8C, 0xD0, 0xCA, 0xEF, 0xAB,\r
+               0xE5, 0xA6, 0x85, 0x63, 0xFA, 0x07, 0x1E, 0x31, 0x00, 0x05, 0x96, 0xB0, 0x9E, 0x87, 0xF4, 0xB5,\r
+               0xB5, 0x2A, 0x36, 0x35, 0xD7, 0x5E, 0x81, 0xC5, 0xCE, 0x2E, 0x82, 0xE0, 0xB0, 0x64, 0xE4, 0xFA,\r
+               0x52, 0xDA, 0x83, 0x3E, 0x13, 0x61, 0x17, 0x29, 0x8D, 0xCE, 0x6F, 0xD6, 0xC5, 0x37, 0xC7, 0x89,\r
+               0x4B, 0xC6, 0x8E, 0x32, 0x9F, 0xD2, 0x47, 0x7F, 0xC5, 0x4E, 0x2C, 0xB1, 0x57, 0xC2, 0x16, 0xA2,\r
+               0x93, 0xB5, 0x3A, 0xE5, 0xF7, 0xDA, 0xCD, 0xCA, 0x78, 0xD6, 0x41, 0x0F, 0x51, 0x49, 0x81, 0x06,\r
+               0xC6, 0x89, 0xB3, 0xE6, 0xD3, 0xA6, 0xB6, 0x10, 0xD0, 0x14, 0x5C, 0x47, 0x42, 0x3F, 0x3E, 0x80,\r
+               0x18, 0xB3, 0xAD, 0x41, 0xD9, 0xCA, 0x2E, 0x85, 0x99, 0x17, 0x20, 0xFC, 0x3A, 0xBF, 0xC0, 0x08,\r
+               0x30, 0xE2, 0xF2, 0xE8, 0x5C, 0x5C, 0x9A, 0xFD, 0x86, 0xAE, 0xC1, 0x87, 0x71, 0x05, 0x05, 0x09,\r
+               0x04, 0x1F, 0x9A, 0x18, 0x62, 0xBA, 0x73, 0x8F, 0x31, 0xD5, 0x3D, 0xB4, 0x41, 0x43, 0x77, 0x3B,\r
+               0x44, 0x66, 0x42, 0x5A, 0x0A, 0xB2, 0xF9, 0x3A, 0x6C, 0x0F, 0x0E, 0x25, 0x84, 0x15, 0x6E, 0x1D,\r
+               0xF8, 0x64, 0x2D, 0x2B, 0x9A, 0x0C, 0xB0, 0x60, 0xFC, 0xF6, 0x0D, 0x00, 0x23, 0x51, 0x13, 0x1B,\r
+               0x02, 0x56, 0x30, 0x68, 0xA4, 0xEA, 0x59, 0x12, 0xDD, 0x08, 0x45, 0x4B, 0xE0, 0x8C, 0x9D, 0x99,\r
+               0x3A, 0xF2, 0x04, 0xD5, 0x8E, 0x02, 0x8D, 0x88, 0x01, 0x86, 0xA9, 0x6C, 0x34, 0x10, 0x54, 0x48,\r
+               0x40, 0xB8, 0xE7, 0x1E, 0x3E, 0x38, 0x88, 0xDD, 0xD1, 0x97, 0x63, 0x9B, 0x6D, 0x1C, 0x08, 0x05,\r
+               0xAF, 0xCF, 0xAB, 0x1C, 0xF1, 0x4D, 0x46, 0x6E, 0xF3, 0x61, 0x0F, 0x34, 0x7A, 0x5D, 0x4F, 0x56,\r
+               0x33, 0x1B, 0x62, 0xCD, 0x32, 0xC3, 0x9B, 0xEC, 0xF1, 0xEA, 0x14, 0x0C, 0xCB, 0x98, 0x53, 0xC9,\r
+               0x4D, 0x8F, 0x24, 0x42, 0x2B, 0x10, 0x75, 0xFF, 0x52, 0x48, 0xA7, 0x15, 0xF0, 0x86, 0x6B, 0xA4,\r
+               0x39, 0x0B, 0x94, 0xF0, 0x04, 0x26, 0x56, 0x7A, 0x87, 0x2D, 0xFE, 0x5B, 0xC7, 0x8B, 0xA8, 0xF8,\r
+               0x03, 0x38, 0xAF, 0x79, 0x53, 0xEE, 0xF5, 0x77, 0x96, 0x80, 0x22, 0xC8, 0xFB, 0xDE, 0x21, 0xFB,\r
+               0x9E, 0x82, 0xF9, 0xB9, 0x93, 0x29, 0x54, 0x4E, 0x9C, 0x63, 0xB3, 0x45, 0x44, 0xB4, 0xA9, 0x24,\r
+               0x60, 0x6E, 0x41, 0xBE, 0x55, 0x79, 0x7E, 0xD3, 0xBD, 0x9D, 0xFB, 0x0E, 0x1E, 0xC4, 0xBC, 0xD2,\r
+               0x42, 0x2F, 0xE8, 0x2A, 0x4C, 0xAA, 0x90, 0xC0, 0x23, 0x70, 0xC5, 0xC3, 0xB7, 0x2F, 0x55, 0x94,\r
+               0x1D, 0x03, 0x97, 0x14, 0x1C, 0xD3, 0x78, 0xA3, 0xFE, 0x7D, 0x16, 0x38, 0xBB, 0x3C, 0xAE, 0xA5,\r
+               0xFB, 0x57, 0xAE, 0x6C, 0x34, 0xEC, 0x29, 0x86, 0x65, 0x08, 0x7C, 0x85, 0xCF, 0x96, 0x13, 0xD2,\r
+               0xA4, 0x7B, 0xD1, 0x52, 0x64, 0x95, 0xC1, 0xE5, 0xB8, 0x05, 0xAF, 0x7E, 0xC3, 0x85, 0xE8, 0xE3,\r
+               0x27, 0xFA, 0xBF, 0xFF, 0xEB, 0x6F, 0xED, 0x08, 0xDA, 0x1B, 0x0A, 0x03, 0x3C, 0x0D, 0xEF, 0x62,\r
+               0xD9, 0x16, 0x07, 0xF8, 0x2D, 0x3F, 0xC7, 0x95, 0xFB, 0xE5, 0x42, 0x48, 0x66, 0x7D, 0xFA, 0x94,\r
+               0x80, 0x73, 0xD2, 0xB6, 0x7C, 0x60, 0xEF, 0x3C, 0xC1, 0x55, 0x47, 0x1D, 0xBF, 0x32, 0xEE, 0xBE,\r
+               0xBA, 0x40, 0xE9, 0x3F, 0x2B, 0xA8, 0x4C, 0x31, 0xD0, 0xF8, 0x9B, 0x8E, 0x83, 0x67, 0x67, 0xBD,\r
+               0x8A, 0x63, 0x24, 0x8B, 0x4A, 0x85, 0x22, 0xAA, 0xB7, 0x92, 0xAD, 0x4A, 0xB3, 0x21, 0x15, 0x8F,\r
+               0xF4, 0xF7, 0x62, 0x04, 0x53, 0x56, 0xCC, 0xB9, 0x14, 0x30, 0x1E, 0x53, 0x88, 0x3F, 0x2D, 0xE2,\r
+               0xF9, 0xC0, 0xA1, 0x58, 0x46, 0x7E, 0x31, 0x9B, 0x97, 0xEF, 0xDA, 0xDD, 0x15, 0xA5, 0x4E, 0x43,\r
+               0x16, 0xB7, 0xED, 0x5A, 0x89, 0x0B, 0xFF, 0x28, 0xB5, 0x19, 0xB6, 0x72, 0x02, 0xE4, 0x09, 0x10,\r
+               0xBB, 0x2E, 0x76, 0x2E, 0xDC, 0xAC, 0xE0, 0x54, 0x9B, 0x70, 0xFC, 0x0D, 0x98, 0x35, 0xDB, 0xDF,\r
+               0x83, 0x8A, 0x42, 0x93, 0xF6, 0x44, 0x34, 0xCE, 0x47, 0xFE, 0x10, 0x2A, 0x4C, 0xA9, 0x12, 0x0E,\r
+               0xFD, 0x1E, 0x04, 0x1C, 0x72, 0xF4, 0x40, 0x7C, 0x2A, 0x77, 0xB7, 0x63, 0xFC, 0xAC, 0x28, 0x5B,\r
+               0x41, 0x1C, 0x6B, 0x6D, 0xE2, 0x4A, 0x09, 0x26, 0xBA, 0x8E, 0xB4, 0x46, 0x5B, 0xE8, 0x55, 0x5D,\r
+               0x89, 0x9A, 0xB4, 0xAE, 0x24, 0x1A, 0x23, 0xBB, 0xC0, 0xD6, 0x78, 0xC1, 0x09, 0xBC, 0x43, 0x4F,\r
+               0xBD, 0x67, 0xDC, 0x5E, 0x1A, 0xFC, 0xCA, 0xC9, 0x77, 0xAD, 0x84, 0xF2, 0x39, 0xFA, 0x31, 0x7D,\r
+               0x7F, 0xF1, 0xF5, 0xA0, 0xAB, 0xE0, 0x0F, 0x56, 0x96, 0x6C, 0xE5, 0x01, 0x3A, 0x86, 0x78, 0xC6,\r
+               0xA1, 0xCB, 0xEB, 0x07, 0xA1, 0x8C, 0x97, 0xC3, 0xDF, 0x6F, 0x99, 0xBA, 0x42, 0x06, 0x86, 0x4E,\r
+               0xF2, 0xBE, 0xC8, 0x74, 0xE7, 0x94, 0xFE, 0x39, 0x83, 0x36, 0x95, 0xF7, 0x2F, 0x7B, 0x50, 0xE4,\r
+               0x2A, 0xCD, 0x7C, 0xA3, 0x8F, 0x9C, 0x74, 0x8C, 0x3E, 0xAE, 0xF8, 0x49, 0x29, 0xF0, 0xC7, 0x40,\r
+               0x0C, 0x52, 0x70, 0x73, 0xAF, 0x18, 0x38, 0x83, 0x88, 0x56, 0x3B, 0xA6, 0xC8, 0xDD, 0xA2, 0xBC,\r
+               0xEB, 0xA2, 0xC5, 0x78, 0x6B, 0x27, 0xAE, 0x6F, 0xCB, 0xB6, 0xD6, 0x90, 0xBD, 0x8E, 0x81, 0xCF,\r
+               0x4B, 0x0C, 0x9D, 0x50, 0x0D, 0xBB, 0x8B, 0x9A, 0x75, 0x26, 0x9F, 0xCA, 0xA8, 0x73, 0xA9, 0xED,\r
+               0x5C, 0xDE, 0xC3, 0x25, 0x82, 0x41, 0xA7, 0x77, 0x46, 0x7D, 0x2F, 0xF6, 0xE6, 0x3E, 0xB2, 0xF3,\r
+               0x82, 0xE4, 0xDD, 0x82, 0x68, 0x6E, 0xD2, 0xD4, 0x3A, 0x59, 0x54, 0x2C, 0x69, 0x12, 0x48, 0x1E,\r
+               0x63, 0x5D, 0xC2, 0xF9, 0x2C, 0x19, 0x07, 0x5F, 0x59, 0xC4, 0xCE, 0x8D, 0xCA, 0x61, 0xCD, 0xCD,\r
+               0xD4, 0x21, 0xC4, 0xA4, 0x0B, 0x2C, 0x00, 0x3E, 0x2E, 0x80, 0x1B, 0x06, 0x61, 0x36, 0x4B, 0xFA,\r
+               0x26, 0x94, 0x20, 0xEE, 0xD5, 0x89, 0x04, 0x7A, 0x4F, 0x96, 0x9A, 0x9F, 0xFB, 0xE7, 0x99, 0x35,\r
+               0xA0, 0xA5, 0x74, 0x16, 0x25, 0x3C, 0xE3, 0x71, 0xCA, 0x35, 0xE9, 0x4C, 0xD9, 0x17, 0x72, 0x4B,\r
+               0xC0, 0x0A, 0x0A, 0xF4, 0x0E, 0xF2, 0xF7, 0x21, 0xC9, 0x3D, 0xCD, 0xA8, 0x62, 0x4A, 0x02, 0x41,\r
+               0xD3, 0x06, 0xF1, 0xC5, 0xA4, 0x52, 0x60, 0xDC, 0x64, 0x8B, 0x43, 0x59, 0x14, 0x65, 0x68, 0x89,\r
+               0x20, 0xDD, 0x8A, 0x9E, 0x5F, 0xAD, 0xDF, 0x88, 0x8E, 0x2A, 0x8C, 0xFB, 0x23, 0x68, 0xAB, 0xD5,\r
+               0x02, 0x9C, 0x23, 0x0A, 0xA3, 0xE3, 0x2B, 0xB2, 0x93, 0x18, 0x76, 0xB8, 0x12, 0xEE, 0xFF, 0x2D,\r
+               0x24, 0x03, 0x2F, 0xDA, 0x20, 0xE2, 0x14, 0x6E, 0xB3, 0x65, 0x01, 0x2F, 0x4B, 0xE2, 0xA3, 0x60,\r
+               0xA2, 0x32, 0x7B, 0x22, 0x47, 0x58, 0xF1, 0x51, 0x37, 0x45, 0x4D, 0x20, 0xEC, 0xA6, 0xDE, 0x66,\r
+               0xD0, 0xFF, 0x61, 0xE0, 0xB8, 0x5F, 0x79, 0xD0, 0x00, 0xE9, 0x51, 0x79, 0xA9, 0xB3, 0x8F, 0x27,\r
+               0xC2, 0x9D, 0x05, 0xC0, 0x8D, 0xF3, 0xC8, 0xFD, 0xD7, 0x07, 0x13, 0x0F, 0x0F, 0x37, 0xD4, 0xEB,\r
+               0x9E, 0x48, 0xEA, 0xDB, 0xDB, 0x1D, 0xAB, 0x3A, 0x9F, 0x87, 0x50, 0x68, 0x10, 0x52, 0x90, 0x5C,\r
+               0xDC, 0xA6, 0x3D, 0xAD, 0x1F, 0x22, 0x3D, 0xD6, 0x45, 0x75, 0x0B, 0x12, 0x93, 0x6D, 0x91, 0x80,\r
+               0x64, 0x7A, 0xF7, 0x98, 0xDA, 0x3B, 0x6B, 0xF0, 0x84, 0xC9, 0x1D, 0x76, 0xBB, 0x05, 0x16, 0x6B,\r
+               0x6A, 0xB4, 0xA4, 0xE1, 0x9F, 0x6A, 0x7E, 0xB1, 0xCC, 0x49, 0x5E, 0x11, 0x28, 0x30, 0xE1, 0x8A,\r
+               0x9C, 0xDF, 0xE5, 0xEF, 0x13, 0xD9, 0x2E, 0xE7, 0xE6, 0xD7, 0xB8, 0x0B, 0x33, 0x62, 0x5D, 0xE8,\r
+               0x5D, 0xB0, 0x5C, 0x34, 0x43, 0xA0, 0xC6, 0x84, 0xBC, 0xF2, 0x03, 0x1B, 0x51, 0x70, 0x39, 0xC8,\r
+               0xD8, 0x78, 0x98, 0xE9, 0x95, 0x06, 0xE6, 0x24, 0x17, 0x38, 0x3A, 0xB7, 0x7E, 0x53, 0x0F, 0x4D,\r
+               0x72, 0xC6, 0x36, 0xFC, 0xC5, 0x7F, 0x0E, 0x47, 0x87, 0xC1, 0x39, 0x92, 0x8C, 0x08, 0xD5, 0x37,\r
+               0xB2, 0xC7, 0x10, 0x36, 0xB9, 0x79, 0xB9, 0x1A, 0xBE, 0x79, 0x18, 0x23, 0x6D, 0x25, 0xB0, 0xCB,\r
+               0xEC, 0x85, 0xF0, 0x19, 0x58, 0x1C, 0x94, 0xE6, 0x80, 0x3E, 0xB1, 0x13, 0xCE, 0x56, 0x35, 0x18,\r
+               0x59, 0x6E, 0xF9, 0x70, 0x11, 0xB6, 0x92, 0x96, 0x1F, 0x50, 0xB0, 0x02, 0x9B, 0x49, 0x92, 0x64,\r
+               0x4E, 0xBC, 0xA7, 0x05, 0x4D, 0x34, 0x69, 0xC4, 0x5A, 0xCC, 0xEA, 0x69, 0x44, 0x8D, 0x11, 0xEA,\r
+               0xDB, 0x81, 0x08, 0xCC, 0xF9, 0xF6, 0x5B, 0x44, 0xAF, 0xD4, 0xC4, 0xB0, 0x86, 0x90, 0xB9, 0xA2,\r
+               0x46, 0x3B, 0x5E, 0x0C, 0x71, 0xBD, 0x3C, 0xC7, 0x49, 0xEA, 0x2D, 0xC2, 0x41, 0x7A, 0xCF, 0xF5,\r
+               0x6E, 0x6A, 0x01, 0xA5, 0xD8, 0x54, 0xD7, 0x81, 0xA5, 0x37, 0x55, 0x3D, 0xF3, 0xC3, 0x9A, 0xD1,\r
+               0x91, 0xE8, 0x26, 0xB3, 0x1D, 0x4D, 0x81, 0xA7, 0x0E, 0xFD, 0x6C, 0x91, 0xB2, 0xE1, 0x33, 0x45,\r
+               0xF3, 0xD0, 0x57, 0x65, 0x7F, 0x29, 0x93, 0x87, 0x82, 0xB5, 0xAA, 0x2B, 0x04, 0x6F, 0x9E, 0xB4,\r
+               0xBE, 0x9E, 0x4C, 0x7B, 0xA7, 0x1B, 0x1C, 0x67, 0xD3, 0xF0, 0xBF, 0x6A, 0xED, 0x66, 0xF8, 0xAC,\r
+               0x8F, 0xD3, 0x1E, 0xDE, 0xF5, 0x0D, 0x48, 0x75, 0x5B, 0x4F, 0xD5, 0xB5, 0xD2, 0x4F, 0x38, 0x14,\r
+               0x44, 0xAC, 0x51, 0x38, 0xF4, 0x2B, 0x88, 0xBF, 0xFD, 0x99, 0xF5, 0x15, 0xE3, 0xC9, 0x6C, 0xEC,\r
+               0xB5, 0xE0, 0x25, 0x57, 0x5A, 0x73, 0x28, 0x97, 0xA6, 0x3F, 0x71, 0xD9, 0x84, 0x2C, 0xD6, 0xD3,\r
+               0xC5, 0xBA, 0x30, 0xA1, 0x54, 0xE7, 0x87, 0xD7, 0x66, 0x00, 0x58, 0x61, 0x60, 0xF6, 0x6D, 0x30,\r
+               0xCF, 0xAA, 0xC6, 0x9C, 0xEE, 0xB1, 0x1A, 0x17, 0x7A, 0xB1, 0x9D, 0xFE, 0x01, 0x98, 0x40, 0xAB,\r
+               0x45, 0xC2, 0xCE, 0x29, 0x91, 0xFE, 0xD1, 0xF1, 0xE4, 0x5C, 0xA3, 0x33, 0xA0, 0x57, 0xAA, 0x09,\r
+               0x1F, 0x5E, 0x8B, 0x42, 0xE1, 0x03, 0x75, 0x9D, 0x7D, 0x4E, 0x15, 0x7F, 0x74, 0xCB, 0x63, 0xD8,\r
+               0x19, 0x17, 0x21, 0x32, 0x22, 0x8D, 0xA8, 0x1F, 0xD8, 0x90, 0x11, 0x3B, 0x97, 0x5A, 0x69, 0x55,\r
+               0xDE, 0x31, 0x32, 0x99, 0xD1, 0x71, 0x33, 0xAF, 0x0C, 0x76, 0x77, 0xA9, 0x27, 0x5F, 0x53, 0x00,\r
+               0x10, 0x8A, 0xB5, 0x70, 0x83, 0x90, 0xF4, 0x5E, 0xB3, 0xF6, 0xA7, 0x2D, 0x74, 0x58, 0x94, 0x3B,\r
+               0x1D, 0xBD, 0x76, 0x2C, 0x22, 0x7A, 0x3B, 0xFC, 0x4C, 0x0D, 0x18, 0x79, 0xAF, 0xAB, 0xEF, 0x60,\r
+               0x32, 0xCB, 0x1C, 0xE4, 0x94, 0xD7, 0xB5, 0x0D, 0xEC, 0xA7, 0x8F, 0x84, 0xA3, 0xB8, 0x14, 0x51,\r
+               0x6F, 0x70, 0x6C, 0xEE, 0x9C, 0xD4, 0x91, 0xE9, 0x22, 0x8C, 0x9B, 0xD4, 0x0C, 0xD8, 0x6A, 0xB3,\r
+               0x9F, 0x52, 0x87, 0x90, 0x3F, 0x51, 0xE2, 0x3A, 0x97, 0x7C, 0x7C, 0xDF, 0x3D, 0x5E, 0x3E, 0x4B,\r
+               0x4E, 0xC8, 0x55, 0x5F, 0x29, 0x30, 0x63, 0xA3, 0x32, 0xA2, 0x78, 0x9B, 0x88, 0xAC, 0xDA, 0x01,\r
+               0x19, 0x63, 0xD3, 0x68, 0x6D, 0x47, 0xB6, 0x28, 0x07, 0x85, 0x7F, 0xFA, 0xF4, 0x1B, 0xDC, 0x5C,\r
+               0x6A, 0xC0, 0x56, 0xBB, 0xF0, 0x24, 0x2C, 0x89, 0x70, 0xC1, 0xAA, 0x71, 0x4D, 0xFA, 0xC3, 0x27,\r
+               0x46, 0x4F, 0xAC, 0x56, 0xD4, 0x58, 0x57, 0x53, 0x5F, 0x2B, 0xDF, 0xD2, 0x77, 0x24, 0xDD, 0x80,\r
+               0x0B, 0x01, 0xB7, 0x48, 0x8F, 0x6B, 0xE7, 0x6F, 0xA5, 0xA4, 0xF3, 0x3F, 0xA5, 0x33, 0x83, 0xF5,\r
+               0xF6, 0x14, 0x9F, 0x6A, 0x1F, 0xD5, 0xAE, 0x35, 0x39, 0xC2, 0xD6, 0xCA, 0x0B, 0x93, 0xDB, 0xDD,\r
+               0xA5, 0x61, 0xBC, 0x19, 0xFF, 0x96, 0x43, 0x03, 0x06, 0x06, 0x40, 0x26, 0xFB, 0x74, 0x6E, 0xD6,\r
+               0x88, 0x80, 0xD9, 0xE5, 0x07, 0x20, 0x80, 0xEC, 0x82, 0x26, 0x0C, 0x29, 0x64, 0x52, 0x62, 0x06,\r
+               0x03, 0x86, 0x4E, 0x41, 0x9F, 0x9D, 0xED, 0x52, 0x8A, 0x4E, 0x86, 0x9C, 0x17, 0x8A, 0xD6, 0xD1,\r
+               0x7E, 0xEB, 0x98, 0xEB, 0xC6, 0xC1, 0xE1, 0x1F, 0x92, 0x08, 0xEF, 0x66, 0x62, 0xD9, 0xF5, 0xA2,\r
+               0xFE, 0x93, 0x66, 0x63, 0xC5, 0x88, 0x9D, 0xA4, 0xFE, 0x02, 0x77, 0xF3, 0x58, 0x07, 0xEB, 0x05,\r
+               0x82, 0x90, 0x2F, 0xD8, 0x04, 0x69, 0xFC, 0x57, 0xE2, 0xB3, 0xB2, 0x6C, 0xCE, 0xC5, 0xC2, 0xFB,\r
+               0xC4, 0xA0, 0x5D, 0xEA, 0x7F, 0xDE, 0x00, 0x64, 0x04, 0x8D, 0x5B, 0x1E, 0x33, 0xF1, 0xAA, 0x0B,\r
+               0x90, 0xF2, 0x4B, 0xF8, 0x27, 0xA4, 0xCC, 0xE3, 0x54, 0x4B, 0x71, 0x83, 0xB5, 0x39, 0x75, 0xC8,\r
+               0xD4, 0x55, 0x36, 0xFE, 0xDE, 0x34, 0xCF, 0xC6, 0xEA, 0xDB, 0x38, 0xD9, 0xB7, 0x85, 0x1A, 0xB9,\r
+               0xD1, 0xE5, 0x0C, 0xAB, 0x57, 0x59, 0x68, 0x8F, 0x5A, 0x5F, 0x4C, 0x6B, 0x23, 0xFB, 0x5C, 0x36,\r
+               0x4D, 0x31, 0xC5, 0x7A, 0xD9, 0x85, 0x84, 0xA8, 0xB2, 0x75, 0x98, 0xF1, 0x87, 0xC3, 0x68, 0x8B,\r
+               0x9C, 0xAB, 0x17, 0xB5, 0xB0, 0xAB, 0xCE, 0xD7, 0x15, 0x20, 0x87, 0x8D, 0x1E, 0x6E, 0xF3, 0xFF,\r
+               0xDD, 0xBC, 0x50, 0xE6, 0x46, 0x89, 0xA2, 0x78, 0x60, 0xEF, 0x49, 0x3E, 0x69, 0x81, 0xBF, 0xFD,\r
+               0x47, 0x21, 0x33, 0x47, 0x99, 0x0A, 0x66, 0xF6, 0x48, 0xFA, 0xB4, 0x1C, 0x5E, 0x8C, 0x7C, 0xA1,\r
+               0x59, 0x1A, 0x0B, 0x2A, 0x3B, 0xA9, 0xD5, 0xEF, 0x9B, 0xE3, 0x5A, 0x0F, 0xCA, 0xF2, 0x3A, 0x2E,\r
+               0x1F, 0x2A, 0x79, 0x18, 0x51, 0xCE, 0xE3, 0x2B, 0xB6, 0x82, 0x34, 0x94, 0xE9, 0xC2, 0xF7, 0x9A,\r
+               0x4A, 0x16, 0xF0, 0x1B, 0xFC, 0xDF, 0x3F, 0xB8, 0x7E, 0xD5, 0x97, 0x99, 0xDA, 0xF8, 0xCC, 0x13,\r
+               0x05, 0xCF, 0xE4, 0x31, 0x4C, 0xE5, 0x3A, 0xED, 0x21, 0x84, 0xBF, 0x30, 0xBF, 0xA1, 0x19, 0x5D,\r
+               0x75, 0x95, 0xF1, 0xC7, 0xB2, 0xC4, 0x72, 0xA6, 0x71, 0x42, 0x95, 0xAD, 0x53, 0x5F, 0xA1, 0x5A,\r
+               0xFD, 0x6A, 0xF6, 0x46, 0xAC, 0xA6, 0xD7, 0xDB, 0x8B, 0xCD, 0xB9, 0x40, 0xD2, 0xDC, 0xCF, 0xF7,\r
+               0xEE, 0x66, 0x0D, 0x77, 0xA1, 0x7B, 0x04, 0x20, 0xF2, 0x9D, 0x51, 0x23, 0xFE, 0x83, 0xB0, 0xC9,\r
+               0x27, 0x8E, 0x4D, 0xA5, 0xDF, 0x12, 0x0F, 0x0C, 0x6F, 0x78, 0x4B, 0x0A, 0x98, 0xA6, 0x2C, 0x3C,\r
+               0x22, 0x3E, 0x77, 0xF0, 0x39, 0xC6, 0x69, 0x9E, 0x93, 0x8B, 0xD0, 0xBA, 0xBE, 0x61, 0x3F, 0x97,\r
+               0xB3, 0xDD, 0x7D, 0x7D, 0xE7, 0x63, 0x6D, 0xDA, 0x1D, 0x48, 0x0D, 0x38, 0xF7, 0x67, 0x95, 0xE7,\r
+               0x2F, 0x09, 0xB4, 0xAC, 0xF5, 0xFA, 0xDB, 0x96, 0xE0, 0x38, 0xA9, 0x54, 0x6B, 0x3D, 0xD0, 0x8C,\r
+               0xE0, 0xA8, 0x5E, 0x0E, 0x18, 0x64, 0xE5, 0x5B, 0xAF, 0x47, 0x62, 0xB2, 0x03, 0xB7, 0xD8, 0x39,\r
+               0x8E, 0xC9, 0x73, 0x95, 0xA9, 0x78, 0x20, 0xC4, 0xF9, 0xFD, 0xFF, 0x72, 0x13, 0xBD, 0x2E, 0x04,\r
+               0x54, 0x2D, 0xC8, 0x76, 0x96, 0xB8, 0x09, 0x7C, 0x6D, 0xF3, 0x50, 0x32, 0x49, 0xCD, 0x3B, 0xF2,\r
+               0xB1, 0x4A, 0x72, 0x49, 0x30, 0xE3, 0x8D, 0xB0, 0x35, 0x5D, 0xF0, 0x1A, 0x05, 0x3C, 0x4F, 0x9D,\r
+               0x37, 0x7B, 0x26, 0xB1, 0xE6, 0x45, 0xAD, 0x10, 0x13, 0x5C, 0x30, 0xD0, 0x7A, 0xF7, 0x00, 0x7B,\r
+               0x1E, 0x44, 0xE6, 0x09, 0x59, 0xCD, 0xC7, 0xCF, 0x05, 0x0E, 0x64, 0xC2, 0x37, 0xC6, 0x52, 0xDE,\r
+               0x17, 0xAD, 0x80, 0x11, 0x1C, 0x9C, 0xD2, 0x8E, 0x37, 0xD6, 0xEB, 0x22, 0x79, 0x8B, 0x49, 0xC0,\r
+               0x99, 0x1B, 0x2D, 0xE0, 0x54, 0x10, 0x14, 0x34, 0x53, 0xB4, 0xF9, 0x02, 0x41, 0xE9, 0x38, 0x16,\r
+               0xBB, 0x5A, 0x84, 0x74, 0x9E, 0xBB, 0x2D, 0x98, 0x4A, 0x71, 0xAF, 0x24, 0xC3, 0x16, 0x1F, 0x00,\r
+               0x02, 0xE8, 0xD1, 0x50, 0x43, 0x57, 0x55, 0x67, 0xA3, 0xD8, 0x44, 0x62, 0x92, 0x3E, 0x40, 0xA9,\r
+               0xE8, 0x2F, 0xA7, 0x07, 0x7D, 0xB1, 0xBC, 0x15, 0xE8, 0x50, 0x23, 0xE1, 0x28, 0xA3, 0x16, 0x69,\r
+               0xF5, 0xED, 0x0F, 0x4F, 0x65, 0x44, 0x92, 0xCC, 0x2A, 0xE4, 0x11, 0x61, 0x15, 0x36, 0xB9, 0xA0,\r
+               0x31, 0x32, 0x8C, 0xC1, 0xF9, 0x01, 0xC8, 0xA7, 0xA8, 0xB8, 0xEA, 0x33, 0xC7, 0x21, 0xE7, 0xD5,\r
+               0x2E, 0x67, 0x2B, 0xBD, 0x97, 0x9E, 0xC9, 0xB6, 0x02, 0xF1, 0xEC, 0x43, 0x2C, 0x94, 0xEE, 0xBC,\r
+               0x5D, 0xC4, 0xAE, 0x6E, 0xD0, 0xA0, 0x60, 0x86, 0x67, 0x10, 0xC1, 0xBF, 0x6E, 0xCA, 0x0E, 0x93,\r
+               0x70, 0x25, 0xCB, 0x92, 0x68, 0x99, 0x41, 0x37, 0x61, 0x6C, 0x76, 0xE2, 0x6F, 0x0A, 0x28, 0x59,\r
+               0x2B, 0xD7, 0x11, 0xE8, 0x91, 0x09, 0x42, 0x12, 0x18, 0x3C, 0x9E, 0x81, 0xD1, 0xA0, 0x86, 0x4C,\r
+               0x08, 0xF8, 0x27, 0x6D, 0x5B, 0xA2, 0x7B, 0xBE, 0xBE, 0xEA, 0xBE, 0x21, 0x19, 0x25, 0x42, 0x91,\r
+               0x1A, 0x9A, 0x43, 0x4D, 0x7E, 0xF8, 0xC0, 0xAE, 0xC7, 0xBA, 0x56, 0x42, 0x76, 0xE4, 0xFB, 0x4A,\r
+               0x48, 0x81, 0xFF, 0x2F, 0xE0, 0xD2, 0x26, 0xB4, 0x74, 0x36, 0x06, 0x14, 0x1D, 0x12, 0xBA, 0x44,\r
+               0x7D, 0x12, 0x08, 0xCE, 0x60, 0x9A, 0x65, 0xD3, 0x25, 0x73, 0x13, 0x55, 0xD3, 0x1C, 0xE9, 0x3D,\r
+               0x15, 0x3A, 0x8F, 0x25, 0xDC, 0x5B, 0x73, 0xB7, 0x3C, 0xB6, 0x45, 0x73, 0x0F, 0xA4, 0x23, 0x08,\r
+               0x2A, 0xB9, 0x8E, 0xF9, 0x2E, 0x81, 0x28, 0xCD, 0x03, 0x72, 0xD3, 0x9F, 0xE1, 0xE6, 0xF4, 0x7E,\r
+               0x4F, 0xA6, 0xCA, 0x4E, 0xAE, 0xC9, 0x6B, 0xAA, 0xED, 0x24, 0xB0, 0x58, 0x34, 0xBA, 0x1B, 0x65,\r
+               0xCB, 0x00, 0x91, 0x82, 0x40, 0x1E, 0x29, 0xDC, 0x41, 0x11, 0x01, 0x75, 0x56, 0xA8, 0x7F, 0x45,\r
+               0xDE, 0x45, 0xC0, 0xC3, 0xEC, 0x29, 0x35, 0x85, 0x46, 0xEE, 0x89, 0xF4, 0x9B, 0xDA, 0x65, 0x87,\r
+               0x9A, 0xE2, 0xBD, 0xC5, 0xCC, 0xAD, 0x79, 0x8A, 0xFC, 0x89, 0x6C, 0xCB, 0xAA, 0x5C, 0x31, 0x7F,\r
+               0x96, 0xBB, 0xE1, 0x88, 0xB1, 0x8D, 0x0E, 0x1D, 0xFD, 0x0A, 0x53, 0x17, 0x35, 0x7A, 0x3D, 0xAF,\r
+               0x68, 0xBA, 0x80, 0xBB, 0x4A, 0x35, 0x8F, 0xB0, 0xF0, 0x01, 0x35, 0xB1, 0xDC, 0x4D, 0x1C, 0x4E,\r
+               0x69, 0xD4, 0x1F, 0xAA, 0x1F, 0x92, 0x90, 0xCC, 0xF9, 0xEA, 0x80, 0xD8, 0x95, 0x4B, 0xB6, 0x3E,\r
+               0xE0, 0x45, 0x87, 0x3A, 0x08, 0xD5, 0xD1, 0x9F, 0x36, 0x42, 0xAB, 0x54, 0x41, 0xD7, 0x7F, 0xEF,\r
+               0xC1, 0xFD, 0xBE, 0x8B, 0xE9, 0xB0, 0xFC, 0x63, 0x10, 0x43, 0x6B, 0x9E, 0x3D, 0x60, 0x79, 0xB2,\r
+               0xDA, 0x76, 0xBC, 0xB3, 0xD5, 0x39, 0xA9, 0x60, 0x5C, 0x34, 0x84, 0x9C, 0xC7, 0x1F, 0xA0, 0x2C,\r
+               0xE3, 0xBC, 0x17, 0x1F, 0xFA, 0x0F, 0x8A, 0xE5, 0x98, 0xFC, 0x01, 0x41, 0x11, 0x3F, 0x06, 0x8C,\r
+               0x87, 0xCD, 0xCC, 0xB9, 0xAC, 0xE1, 0xE9, 0x22, 0xA4, 0x30, 0xB3, 0x49, 0x1B, 0xA7, 0x6A, 0x19,\r
+               0x61, 0x53, 0xE6, 0xA3, 0xB7, 0x5D, 0xBB, 0x40, 0xE5, 0x5B, 0x45, 0x47, 0x97, 0xF7, 0xD9, 0x4F,\r
+               0xD2, 0xF1, 0x45, 0xBA, 0x17, 0x91, 0xB4, 0x28, 0x3D, 0x22, 0x05, 0x05, 0x9B, 0xE4, 0x22, 0x7E,\r
+               0xC4, 0x4D, 0x84, 0xDE, 0x3F, 0x16, 0xDC, 0xC3, 0xF7, 0xFE, 0xBD, 0x30, 0x5E, 0xB2, 0x3B, 0x58,\r
+               0xCA, 0x83, 0xD7, 0xA7, 0x8B, 0xD4, 0xEE, 0x43, 0x05, 0x19, 0x1B, 0x68, 0x09, 0x11, 0xF3, 0x55,\r
+               0x89, 0x03, 0x9F, 0xC0, 0x94, 0x90, 0x8B, 0xF4, 0xEA, 0xCC, 0x47, 0x73, 0x5F, 0x72, 0x1D, 0x92,\r
+               0x94, 0xC1, 0x37, 0x88, 0x68, 0xDE, 0x7F, 0xCE, 0x7B, 0xB6, 0x7B, 0x8A, 0xC3, 0x28, 0x58, 0xF9,\r
+               0x88, 0x6D, 0x00, 0xD1, 0x2D, 0x8F, 0x6A, 0x8F, 0x61, 0x7B, 0x09, 0x48, 0x3C, 0xA0, 0x5F, 0x78,\r
+               0xAF, 0x9C, 0x93, 0x10, 0x96, 0xFF, 0x37, 0x85, 0x23, 0x18, 0xDB, 0xA2, 0x27, 0xF2, 0xE3, 0x1A,\r
+               0xD8, 0xE1, 0xB3, 0x87, 0xCF, 0xA3, 0x3B, 0xC8, 0x2F, 0x87, 0xFD, 0x72, 0xA4, 0xCD, 0xE2, 0xC6,\r
+               0xC8, 0x14, 0xD8, 0x93, 0x13, 0x69, 0x83, 0xFD, 0x21, 0x93, 0xC0, 0x9A, 0xA6, 0x71, 0x8D, 0xB7,\r
+               0xAE, 0xF2, 0x0C, 0x01, 0xA3, 0x53, 0x86, 0xA8, 0x32, 0xB5, 0x07, 0x31, 0x55, 0xEA, 0x71, 0x07,\r
+               0x7A, 0xD8, 0xE4, 0x9B, 0x24, 0xAA, 0x8E, 0xA1, 0xCE, 0x46, 0x9C, 0x81, 0x15, 0x08, 0xFE, 0x59,\r
+               0xCC, 0xCA, 0x7D, 0xD7, 0xF0, 0x63, 0x12, 0x70, 0x8B, 0xDA, 0xC6, 0xEA, 0x65, 0xAC, 0x03, 0x35,\r
+               0x81, 0x84, 0x66, 0xC9, 0xE4, 0x6D, 0x2F, 0x98, 0x30, 0x3E, 0x1C, 0x09, 0xD0, 0x5E, 0xE7, 0x7F,\r
+               0x44, 0x35, 0x7A, 0x56, 0x85, 0x40, 0x41, 0x03, 0xC6, 0x2E, 0x16, 0x34, 0x6A, 0xC3, 0xB1, 0xBF,\r
+               0x2C, 0x1D, 0xFD, 0xBD, 0x67, 0x6C, 0x10, 0x44, 0x51, 0x28, 0x9D, 0x90, 0x70, 0x51, 0x2B, 0x17,\r
+               0xA8, 0xBB, 0xA6, 0x71, 0x00, 0xD6, 0xF5, 0x7B, 0x25, 0x64, 0x6C, 0xFF, 0xDE, 0xF1, 0x73, 0x3F,\r
+               0x66, 0x74, 0xD3, 0xC2, 0x69, 0xF8, 0xBF, 0x04, 0x4C, 0x1A, 0x67, 0xD3, 0x23, 0xC5, 0x1B, 0xCF,\r
+               0x0C, 0xCB, 0x5B, 0x1D, 0x56, 0x38, 0x96, 0xBC, 0x1E, 0x57, 0x56, 0x76, 0x71, 0x91, 0x0D, 0xDD,\r
+               0xB5, 0x79, 0x0E, 0x39, 0x36, 0x33, 0x38, 0xED, 0x26, 0x6C, 0x48, 0x1B, 0x99, 0x58, 0x4D, 0x0F,\r
+               0x73, 0x31, 0x82, 0x83, 0x80, 0x9E, 0xB6, 0x1C, 0x57, 0x54, 0x2A, 0xCD, 0xFB, 0x4A, 0x29, 0x2F,\r
+               0xF4, 0x6E, 0x49, 0x6A, 0xC5, 0xCF, 0xA3, 0x5D, 0x5E, 0xBF, 0x9F, 0xA4, 0xF5, 0xE5, 0xBD, 0x6F,\r
+               0x8C, 0xB3, 0xA5, 0x95, 0x77, 0x9A, 0x1A, 0x79, 0x01, 0xEE, 0xB7, 0x0D, 0x5C, 0x0E, 0x54, 0x29,\r
+               0x33, 0x48, 0x5A, 0xC1, 0xC0, 0x11, 0x54, 0x42, 0xA7, 0x38, 0x97, 0xAD, 0xC9, 0xB0, 0x34, 0x6C,\r
+               0x1D, 0x50, 0xAF, 0x18, 0x02, 0xB9, 0x49, 0x0A, 0x08, 0x05, 0x02, 0x64, 0x7D, 0x82, 0xF6, 0xEC,\r
+               0xA1, 0x52, 0xC0, 0x69, 0x8D, 0x43, 0x65, 0xE7, 0xB4, 0x1E, 0x50, 0x06, 0xA0, 0xFA, 0x1A, 0x13,\r
+               0x5D, 0x29, 0x77, 0x5A, 0xBD, 0x31, 0x23, 0xD5, 0xDC, 0xE3, 0x64, 0xF6, 0x9E, 0x13, 0xFC, 0x61,\r
+               0x6E, 0xF3, 0x2A, 0xCB, 0x78, 0x28, 0x75, 0xF3, 0x04, 0x9A, 0x24, 0xB4, 0xF6, 0x99, 0xF4, 0xD4,\r
+               0x6D, 0x0A, 0xBA, 0xEE, 0xDF, 0x55, 0x31, 0xF5, 0x6B, 0x98, 0x98, 0xC5, 0x66, 0xD0, 0x4A, 0x8E,\r
+               0x25, 0xF4, 0x9B, 0xA5, 0x1C, 0xDB, 0xEC, 0x77, 0x76, 0xAA, 0x62, 0x86, 0x58, 0x39, 0xAC, 0xFC,\r
+               0xC9, 0x7A, 0x47, 0x82, 0xC8, 0x12, 0x70, 0xA6, 0x42, 0x0E, 0x5A, 0x3B, 0x72, 0xED, 0x44, 0x66,\r
+               0x03, 0x6B, 0x97, 0x75, 0x91, 0x4E, 0x7C, 0xEB, 0xA1, 0x44, 0x20, 0xF0, 0xC2, 0xE8, 0x7E, 0x33,\r
+               0x6F, 0x9D, 0xB5, 0xDA, 0x86, 0x09, 0x3D, 0xB8, 0xED, 0x33, 0xCF, 0xF2, 0x0D, 0x26, 0x0B, 0x80,\r
+               0x74, 0x16, 0xB7, 0xE2, 0x37, 0x15, 0xF8, 0x27, 0x24, 0xE7, 0x53, 0x23, 0xCE, 0xFB, 0x85, 0x02,\r
+               0xC7, 0xB4, 0x14, 0xFB, 0x0C, 0x2D, 0xE6, 0x4A, 0x62, 0x73, 0x2D, 0xAC, 0xD7, 0x15, 0x56, 0x11,\r
+               0x9E, 0xD1, 0xC1, 0xB5, 0x3B, 0xEE, 0xEB, 0x16, 0xD2, 0xF7, 0x59, 0x1E, 0xF8, 0x36, 0x60, 0x94,\r
+               0x42, 0x7C, 0xD0, 0x26, 0x07, 0x67, 0xBE, 0x15, 0xE9, 0xC4, 0x63, 0x97, 0xAF, 0x95, 0xA8, 0x99,\r
+               0xD3, 0x9F, 0xDA, 0xAB, 0xB8, 0xEF, 0xD4, 0xCA, 0xBF, 0x7E, 0xFE, 0x57, 0x6F, 0x34, 0x6F, 0xA0,\r
+               0x9B, 0x61, 0xFB, 0xE0, 0xE2, 0xFA, 0xA4, 0x3C, 0x07, 0x92, 0x00, 0x50, 0xA9, 0x1E, 0x3F, 0x3D,\r
+               0xA5, 0x8C, 0x65, 0x2D, 0x4B, 0x13, 0x4F, 0x7A, 0xAE, 0xD3, 0x22, 0xC4, 0xB0, 0xF0, 0xEC, 0x2E,\r
+               0x76, 0x81, 0xB8, 0xD6, 0x47, 0xE8, 0x5C, 0x4B, 0xD1, 0xFF, 0x7D, 0xFA, 0xE0, 0x18, 0x95, 0x4D,\r
+               0x9A, 0x0F, 0x64, 0xF1, 0x90, 0x68, 0xBC, 0x21, 0xF1, 0x82, 0x0A, 0x6D, 0x20, 0xB9, 0x52, 0x74,\r
+               0x55, 0xAE, 0x8E, 0x53, 0xA7, 0xAB, 0xB1, 0x7D, 0x8A, 0x59, 0xF9, 0x36, 0xDB, 0x06, 0xAD, 0x20,\r
+               0x30, 0xB1, 0xCA, 0xE4, 0x5D, 0x72, 0xCE, 0xE3, 0x74, 0x21, 0x79, 0xBE, 0xA1, 0x3A, 0x3C, 0xD9,\r
+               0x14, 0xB9, 0xC9, 0x00, 0xE6, 0x02, 0x93, 0xE9, 0x0A, 0x8E, 0x19, 0x5C, 0x8A, 0x2E, 0xF2, 0x89,\r
+               0xC2, 0x04, 0x2E, 0xAE, 0xE5, 0x4B, 0xEF, 0x52, 0xC4, 0xA5, 0x0D, 0x0C, 0x8F, 0xD9, 0x2C, 0x96,\r
+               0x43, 0x12, 0x4F, 0x37, 0x7F, 0x99, 0x3E, 0x9D, 0x20, 0x10, 0xFF, 0x46, 0x51, 0xDD, 0x89, 0xD2,\r
+               0x8D, 0xDD, 0x3A, 0x84, 0xED, 0x48, 0xCB, 0xB6, 0xDD, 0x60, 0x5B, 0x2A, 0xEC, 0x0B, 0x6E, 0x7C,\r
+               0x17, 0x40, 0x59, 0x25, 0x4E, 0xCD, 0xB8, 0x65, 0xC2, 0xD9, 0xBA, 0x51, 0xA8, 0xDE, 0x19, 0xF7,\r
+               0x46, 0xA2, 0x75, 0x62, 0x2C, 0xA9, 0xAA, 0x45, 0x9D, 0x88, 0x92, 0xF8, 0x89, 0x52, 0xBB, 0x32,\r
+               0xF6, 0xF9, 0x46, 0x5E, 0x62, 0xB2, 0xE7, 0x5B, 0xC3, 0x5A, 0x85, 0x8D, 0x06, 0x7E, 0x41, 0xDF,\r
+               0xE2, 0xD2, 0x88, 0x0E, 0x4C, 0xA2, 0x04, 0x14, 0x70, 0xD6, 0xD5, 0xDB, 0x2B, 0xE1, 0x18, 0x2B,\r
+               0x0F, 0x32, 0xCB, 0x38, 0x39, 0x81, 0x57, 0x67, 0xC5, 0x26, 0x32, 0xD0, 0xEF, 0x77, 0x27, 0xC7,\r
+               0x4C, 0xB2, 0x83, 0x5F, 0xAB, 0x50, 0xA2, 0x4C, 0xC8, 0x3A, 0x2B, 0xDC, 0x63, 0x27, 0x94, 0x91,\r
+               0x21, 0x2A, 0x3E, 0xE1, 0xAD, 0xC7, 0x29, 0xE8, 0x7C, 0x49, 0xF3, 0x0B, 0x0B, 0xAD, 0x9C, 0x24,\r
+               0x3C, 0xE8, 0x96, 0xA9, 0xBE, 0x78, 0x5F, 0x6E, 0xF5, 0x75, 0xA6, 0x08, 0x2F, 0xD6, 0xE0, 0xFE,\r
+               0x40, 0xEB, 0xDF, 0x12, 0xC6, 0x86, 0xDF, 0xE6, 0xEB, 0x4F, 0x78, 0xAF, 0x25, 0x4E, 0x8C, 0x6B,\r
+               0xF7, 0x79, 0x5E, 0xBD, 0x47, 0x6E, 0xB0, 0x14, 0xA9, 0xA9, 0xE6, 0x77, 0x26, 0xA6, 0xF7, 0x95,\r
+               0x08, 0x7E, 0xDF, 0x35, 0x5D, 0xAC, 0x7D, 0x66, 0xE8, 0xF8, 0xA3, 0x62, 0x11, 0x0A, 0xAE, 0x89,\r
+               0x6F, 0xC4, 0xE0, 0xD0, 0x09, 0x54, 0x4C, 0xE0, 0xEE, 0x85, 0x04, 0x26, 0x95, 0x2A, 0xA1, 0xC5,\r
+               0xEC, 0xC5, 0x3C, 0xEF, 0x05, 0x84, 0xD3, 0xC6, 0xA3, 0xD9, 0x5D, 0x2A, 0xB5, 0x57, 0x36, 0xB2,\r
+               0x95, 0x1D, 0x7E, 0xAF, 0xD1, 0x16, 0x35, 0xA0, 0xE5, 0x30, 0xF4, 0xC1, 0xA2, 0x86, 0xF8, 0xD9,\r
+               0x50, 0x04, 0x58, 0xF9, 0x1B, 0x23, 0xE9, 0x18, 0x0E, 0xB7, 0xDC, 0xA9, 0x63, 0x3A, 0x9C, 0xCF,\r
+               0x94, 0x3B, 0xB4, 0x6F, 0xCC, 0x55, 0x07, 0x5A, 0xD2, 0xB6, 0x5F, 0x96, 0xB9, 0xC8, 0xE6, 0x94,\r
+               0xC2, 0xD5, 0x73, 0x0C, 0x23, 0x4E, 0xD2, 0x06, 0x65, 0xF2, 0x40, 0xF3, 0xF1, 0x48, 0x81, 0xD7,\r
+               0xDA, 0x20, 0xAA, 0x22, 0xBE, 0x67, 0x37, 0x1C, 0xC3, 0x29, 0x31, 0x97, 0x31, 0x77, 0x39, 0xFE,\r
+               0x0C, 0x86, 0x0A, 0x02, 0x7A, 0xBA, 0xFF, 0x99, 0x46, 0x1F, 0x1E, 0xB4, 0x9A, 0xBD, 0x95, 0xC7,\r
+               0x5C, 0xFF, 0x69, 0xEA, 0xC3, 0x61, 0x90, 0x58, 0x66, 0x7B, 0x7C, 0xA6, 0xC0, 0x98, 0x85, 0x7C,\r
+               0xD0, 0x4C, 0x3F, 0xBA, 0x82, 0x6F, 0xFB, 0xAE, 0x04, 0xC7, 0x67, 0xF4, 0xEA, 0x06, 0x9F, 0x9A,\r
+               0x5E, 0x90, 0x18, 0x56, 0xDF, 0xFE, 0x21, 0x9D, 0xEA, 0xB4, 0xD4, 0x8D, 0x39, 0x1F, 0x8C, 0x74,\r
+               0x17, 0x3A, 0x68, 0x50, 0xD6, 0x97, 0xCA, 0x28, 0x96, 0x13, 0x81, 0x92, 0xA6, 0x71, 0x9D, 0x75,\r
+               0xF6, 0x5F, 0x94, 0x7D, 0x36, 0xB8, 0x88, 0x76, 0x45, 0x96, 0x22, 0xE1, 0x98, 0x36, 0xAD, 0xDC,\r
+               0x8A, 0x59, 0xC9, 0xCA, 0x10, 0x72, 0x89, 0xB6, 0xB9, 0xF3, 0xC3, 0xCC, 0xA1, 0x8E, 0x1C, 0xFD,\r
+               0x97, 0x72, 0x0F, 0x13, 0x27, 0x2B, 0x25, 0xAA, 0x5F, 0xBC, 0xBC, 0x07, 0x83, 0x78, 0xB3, 0x91,\r
+               0x3E, 0x9B, 0x49, 0xF8, 0x78, 0x82, 0x74, 0x82, 0x7B, 0xE9, 0x0E, 0xBE, 0x6F, 0xA5, 0x4C, 0xE9,\r
+               0xB6, 0xD0, 0xCA, 0x9F, 0x2E, 0x42, 0xCE, 0x1F, 0x2C, 0x9F, 0xC9, 0x54, 0x89, 0x9B, 0x3E, 0x00,\r
+               0x02, 0x12, 0x4A, 0xAD, 0x81, 0x8B, 0xF3, 0x8A, 0x64, 0x37, 0x0B, 0x49, 0x7C, 0x83, 0xE7, 0x2E,\r
+               0xBA, 0x2B, 0xFB, 0x8C, 0x38, 0x50, 0x9C, 0x4B, 0x9A, 0x1E, 0x9D, 0x8B, 0x7D, 0x00, 0x3B, 0x11,\r
+               0xE8, 0x3D, 0xE9, 0xD8, 0x6A, 0xF5, 0xD1, 0x7A, 0x22, 0xDE, 0xA2, 0xA2, 0xF5, 0xBF, 0xE4, 0x7B,\r
+               0x30, 0x0F, 0x09, 0x57, 0x71, 0xEB, 0x9F, 0x37, 0x3A, 0xB8, 0x4B, 0xAB, 0xA4, 0xFA, 0xA5, 0x6E,\r
+               0x52, 0x6B, 0x29, 0x45, 0x00, 0x3D, 0xA7, 0x55, 0xCB, 0x15, 0xFD, 0x25, 0x28, 0xB2, 0x1F, 0xA8,\r
+               0xA1, 0x97, 0x99, 0xDE, 0xE0, 0x12, 0xE5, 0x0B, 0x25, 0x66, 0x4E, 0x5C, 0x5C, 0xFE, 0x70, 0x59,\r
+               0x1B, 0xC1, 0x59, 0x43, 0x16, 0x2F, 0xF5, 0x01, 0xBE, 0x4B, 0x2F, 0x32, 0x40, 0x4F, 0xEF, 0x9C,\r
+               0x15, 0x55, 0x19, 0xEC, 0x03, 0xD9, 0xAF, 0x71, 0x5D, 0xF0, 0xCB, 0xE8, 0x80, 0x70, 0x57, 0xB5,\r
+               0xBB, 0x0D, 0x31, 0x4C, 0x77, 0xB6, 0xE3, 0x80, 0x62, 0x4A, 0xAC, 0x0D, 0xDB, 0xD6, 0x9B, 0x31,\r
+               0x9E, 0x57, 0x21, 0xF7, 0x14, 0x17, 0x7E, 0x1A, 0x8E, 0x75, 0x68, 0x9B, 0x2A, 0x39, 0x27, 0xB3,\r
+               0x6D, 0xAB, 0x91, 0x6C, 0x07, 0xBC, 0x58, 0xDD, 0xDB, 0x4F, 0xD8, 0x9E, 0xFE, 0xDF, 0xB5, 0xD5,\r
+               0xAE, 0x25, 0x13, 0xB1, 0xAD, 0xCC, 0x11, 0xDB, 0x56, 0x45, 0x3B, 0x0F, 0x5B, 0x01, 0xF1, 0xD1,\r
+               0xDE, 0xD8, 0x7F, 0x15, 0xE8, 0xA7, 0x8D, 0x81, 0x87, 0x8C, 0xEF, 0x93, 0xC2, 0x13, 0xBD, 0x67,\r
+               0x62, 0x19, 0x1B, 0x03, 0x21, 0x76, 0x59, 0x1D, 0x1A, 0xDC, 0x29, 0xB9, 0xDD, 0xAA, 0xC6, 0x86,\r
+               0xA4, 0x49, 0x86, 0x29, 0x99, 0x71, 0xB5, 0xE3, 0xEC, 0xC9, 0x73, 0xC9, 0xFC, 0x54, 0x8D, 0xCE,\r
+               0x2B, 0xB3, 0x6B, 0x05, 0xF7, 0xDC, 0x34, 0x60, 0x6D, 0xCE, 0x8C, 0x41, 0x9E, 0x4A, 0xF0, 0x6B,\r
+               0x7B, 0xCA, 0x08, 0xED, 0x88, 0xE2, 0x18, 0x3F, 0x5C, 0x35, 0x80, 0x52, 0x43, 0x47, 0x0B, 0xB8,\r
+               0x1C, 0x70, 0x37, 0x08, 0x44, 0x8A, 0xB8, 0x30, 0x6C, 0x0B, 0xC7, 0xFB, 0x32, 0x7F, 0xDD, 0xDA,\r
+               0x05, 0xA3, 0x24, 0xE6, 0x02, 0x05, 0x2C, 0x4E, 0x01, 0x33, 0xFC, 0xE5, 0x91, 0xDD, 0xC4, 0x69,\r
+               0x64, 0x8E, 0xBF, 0x88, 0xCF, 0xB1, 0x0F, 0x7E, 0x33, 0x41, 0xCC, 0xA3, 0xF6, 0xB7, 0x00, 0x5F,\r
+               0x33, 0x46, 0xB2, 0x2B, 0xF4, 0x38, 0x3C, 0x44, 0x30, 0xC8, 0xF0, 0xF6, 0xE7, 0x1A, 0x93, 0x83,\r
+               0xB9, 0x62, 0x40, 0xF0, 0x64, 0x1D, 0xC5, 0x47, 0x80, 0x34, 0x03, 0x6D, 0x61, 0xB1, 0xA4, 0xD4,\r
+               0x93, 0x8A, 0xDA, 0x24, 0x50, 0xA0, 0x61, 0x7F, 0x51, 0xFD, 0xD7, 0xF1, 0xBD, 0x3F, 0x83, 0x38,\r
+               0xC6, 0x2D, 0xA6, 0x3B, 0xCB, 0xD4, 0xF8, 0xD2, 0x9E, 0x2F, 0x4D, 0x20, 0x93, 0x56, 0xFC, 0x72,\r
+               0x09, 0x58, 0x15, 0xF5, 0x87, 0xD6, 0x8F, 0x3D, 0xCD, 0x68, 0x5A, 0x61, 0xB1, 0xA0, 0x53, 0x1E,\r
+               0x55, 0xDA, 0x47, 0x0E, 0xFA, 0xD0, 0x28, 0x79, 0xF3, 0x17, 0x76, 0x3E, 0x51, 0xE2, 0x7C, 0x40,\r
+               0x6B, 0x3C, 0x35, 0xE7, 0x92, 0x20, 0xD5, 0x4D, 0xC1, 0x65, 0x46, 0x78, 0xE6, 0x99, 0x4F, 0xBC,\r
+               0xAD, 0x6C, 0xA8, 0xCD, 0x4D, 0xE3, 0x53, 0x85, 0xD3, 0x73, 0x14, 0x2C, 0x9C, 0xC1, 0xC8, 0x70,\r
+               0x3D, 0xD2, 0xF2, 0x84, 0x22, 0x92, 0x51, 0x39, 0xD5, 0x0E, 0xB3, 0x68, 0x0C, 0x38, 0xED, 0x73,\r
+               0xC0, 0xBA, 0x02, 0xB0, 0x5A, 0x2D, 0x82, 0xEE, 0xCE, 0xE1, 0x66, 0x34, 0x18, 0xE1, 0xC7, 0x3C,\r
+               0xA8, 0xB2, 0xB7, 0x3A, 0xEE, 0xFA, 0xF1, 0x36, 0x6A, 0x76, 0x60, 0xBF, 0xA5, 0x79, 0x79, 0x51,\r
+               0xEE, 0xAA, 0x4D, 0x53, 0xCD, 0x89, 0x84, 0x65, 0xC0, 0xA0, 0x0D, 0xC2, 0xF9, 0x20, 0x34, 0x5D,\r
+               0xE4, 0xC6, 0xD8, 0xCB, 0xD3, 0x2E, 0xBE, 0xBB, 0x48, 0x5E, 0x75, 0x42, 0xB0, 0x23, 0x8F, 0x21,\r
+               0xCD, 0x67, 0xF9, 0x63, 0xE5, 0xAB, 0x91, 0x98, 0x7D, 0x94, 0xA9, 0xFA, 0x60, 0x32, 0x78, 0xEB,\r
+               0x42, 0x9D, 0x14, 0x4F, 0xBB, 0xDE, 0x43, 0x8F, 0x63, 0x8F, 0xE7, 0xB7, 0x53, 0x69, 0x44, 0x5B,\r
+               0x24, 0x01, 0xE1, 0x6A, 0xE3, 0xF6, 0xED, 0x2F, 0x41, 0xA7, 0xF2, 0x4A, 0xED, 0xF9, 0x1E, 0x12,\r
+               0xE0, 0x3E, 0x0D, 0xFC, 0x56, 0xFD, 0x1D, 0xC8, 0x32, 0x84, 0x87, 0x19, 0xAE, 0x19, 0x28, 0xFF,\r
+               0x9A, 0xAF, 0xF4, 0xC0, 0x06, 0x60, 0xDB, 0xE2, 0xBB, 0xBF, 0xB4, 0x23, 0x69, 0xD9, 0x11, 0x5E,\r
+               0x44, 0x0A, 0xB0, 0xC4, 0xE2, 0x2A, 0x6E, 0x10, 0x74, 0x6D, 0x2E, 0xF2, 0x08, 0xCF, 0x88, 0xDF,\r
+               0x63, 0x3F, 0xD1, 0xC3, 0xE4, 0x77, 0x12, 0xA7, 0x43, 0xEB, 0x85, 0xA5, 0x7F, 0x8B, 0x03, 0x0A,\r
+               0x27, 0x48, 0x5A, 0x16, 0xFB, 0x0C, 0xAB, 0x46, 0x90, 0x6E, 0x26, 0xD6, 0x1C, 0x16, 0xA2, 0x90,\r
+               0x10, 0x8B, 0x06, 0x1B, 0xAC, 0x10, 0x92, 0xE4, 0x5B, 0x8D, 0x6C, 0xAC, 0xA8, 0x65, 0x75, 0x48,\r
+               0xEB, 0x74, 0x52, 0xA4, 0xD7, 0x4B, 0x49, 0x17, 0x07, 0x4E, 0x5B, 0xA1, 0x42, 0xC4, 0xD7, 0x87,\r
+               0x41, 0xD4, 0xAF, 0x33, 0x2C, 0x7A, 0x45, 0x04, 0xCF, 0x24, 0x2D, 0x8E, 0xEF, 0x72, 0x26, 0x09,\r
+               0x6A, 0x1A, 0xFF, 0x27, 0x52, 0x98, 0xEA, 0x64, 0xC5, 0x54, 0x96, 0xD3, 0xEC, 0x7A, 0xC2, 0x2D,\r
+               0xC5, 0x40, 0x90, 0x2E, 0x20, 0x3F, 0x27, 0x50, 0xF5, 0x19, 0x8B, 0xFB, 0xDC, 0x14, 0x44, 0xE7,\r
+               0x13, 0x22, 0xA8, 0x5F, 0x32, 0x5D, 0x07, 0x34, 0xBD, 0xDF, 0x31, 0x77, 0x52, 0xE5, 0xF2, 0x4A,\r
+               0x7E, 0x3C, 0x93, 0x67, 0xFB, 0xB5, 0xD5, 0x74, 0x0F, 0x66, 0x15, 0x22, 0xFC, 0xB4, 0x92, 0x41,\r
+               0xDB, 0x0D, 0xDE, 0x35, 0xAF, 0xE7, 0xC7, 0x62, 0xB0, 0x0C, 0xCA, 0xAA, 0xD5, 0x0C, 0xAD, 0x81,\r
+               0x6C, 0x68, 0xC1, 0x71, 0xE8, 0xB9, 0xE4, 0x8F, 0x94, 0x77, 0x10, 0xD6, 0x23, 0x02, 0xC6, 0xC0,\r
+               0xA5, 0xFD, 0xFC, 0xDE, 0xDA, 0x0D, 0x64, 0x4D, 0x8C, 0x59, 0xC9, 0x23, 0x3E, 0x4A, 0x04, 0x68,\r
+               0x05, 0xDD, 0x2A, 0x78, 0x64, 0x98, 0x21, 0x2D, 0x77, 0xE6, 0x9D, 0xDC, 0x70, 0x71, 0xB3, 0xE3,\r
+               0xAC, 0xF5, 0x7B, 0x27, 0x8F, 0x31, 0x67, 0xC4, 0xAA, 0x9E, 0x62, 0x30, 0xC9, 0x55, 0x01, 0xB6,\r
+               0xE2, 0xAC, 0x1E, 0xF2, 0xC6, 0xA1, 0x3D, 0x7A, 0x0E, 0xA6, 0xDF, 0x04, 0x78, 0x78, 0x34, 0x1A,\r
+               0x89, 0xF6, 0x82, 0xB7, 0x62, 0xD1, 0x51, 0x87, 0x1C, 0x10, 0x93, 0x9D, 0xE4, 0xA9, 0xE0, 0xD3,\r
+               0x39, 0x6D, 0x71, 0x4B, 0x80, 0x91, 0x0F, 0x08, 0x36, 0xC4, 0x09, 0x75, 0xEC, 0xA0, 0x67, 0x2A,\r
+               0x92, 0xAA, 0x57, 0x58, 0x1B, 0x62, 0xBF, 0xF4, 0xD0, 0xA2, 0x9B, 0xA1, 0xE9, 0xF5, 0xD7, 0x10,\r
+               0xF7, 0x06, 0xA0, 0x5C, 0x9B, 0x1A, 0x37, 0x0A, 0x7F, 0xC2, 0x79, 0xDF, 0x9F, 0x73, 0xC4, 0xAF,\r
+               0x98, 0xF7, 0xEC, 0x28, 0x3B, 0xB4, 0x1F, 0x52, 0xD9, 0x46, 0xB5, 0x84, 0x7A, 0x4C, 0xA3, 0x15,\r
+               0x3C, 0x7C, 0xEA, 0xBF, 0xA9, 0xAE, 0xB7, 0xC8, 0xF1, 0x2E, 0x5E, 0x03, 0x2B, 0x0B, 0x41, 0x39,\r
+               0x01, 0x76, 0xFA, 0x49, 0x34, 0x14, 0x77, 0x9E, 0x40, 0xEB, 0xC1, 0x1F, 0x45, 0x90, 0x20, 0x14,\r
+               0x7B, 0x2D, 0x08, 0x93, 0x18, 0x9B, 0x9A, 0x64, 0xC7, 0xE3, 0xC8, 0xE6, 0xE1, 0xFC, 0x50, 0xE9,\r
+               0x60, 0x71, 0xDD, 0x7C, 0x7B, 0xCD, 0x5D, 0x8A, 0x47, 0xA0, 0xAF, 0xAE, 0x84, 0x4B, 0x4F, 0xAD,\r
+               0x38, 0xD7, 0x3A, 0x8E, 0xD8, 0x9A, 0x50, 0x42, 0x89, 0xAE, 0xD6, 0xFD, 0xB6, 0xCB, 0xFB, 0x6F,\r
+               0x0D, 0x6F, 0xE6, 0x44, 0x8E, 0x5F, 0x76, 0x5B, 0x35, 0xB8, 0xB2, 0x3C, 0xDE, 0x20, 0xD3, 0xE8,\r
+               0x7A, 0x97, 0x43, 0x56, 0xA7, 0x60, 0xCE, 0x9B, 0x25, 0xB2, 0x8F, 0xCA, 0x51, 0xC0, 0x0B, 0xDA,\r
+               0xAA, 0xB1, 0xDC, 0x5A, 0x98, 0xE3, 0x12, 0x9A, 0x58, 0xC5, 0x18, 0xEA, 0x5D, 0x8D, 0x52, 0x86,\r
+               0x40, 0x63, 0xBF, 0x18, 0xCA, 0xF8, 0x70, 0x26, 0xA9, 0xE2, 0xD9, 0x79, 0x00, 0x87, 0xE9, 0xF6,\r
+               0x82, 0x11, 0x72, 0x02, 0x42, 0x07, 0xF1, 0x21, 0x05, 0xFE, 0x80, 0x4E, 0x15, 0xC6, 0xAC, 0xA7,\r
+               0x96, 0x01, 0x87, 0x69, 0x0A, 0xF9, 0xBA, 0x00, 0x39, 0xAB, 0x83, 0xC7, 0x96, 0x6B, 0x2D, 0xC9,\r
+               0x5C, 0xC1, 0x86, 0x4F, 0xBD, 0x85, 0xE7, 0x06, 0x81, 0x8A, 0x32, 0xFE, 0xBB, 0x97, 0xCC, 0xAC,\r
+               0xD0, 0xEA, 0x2E, 0x80, 0x21, 0x51, 0x36, 0xCF, 0x10, 0x03, 0xA2, 0x66, 0xFA, 0xC4, 0xDB, 0xEB,\r
+               0xB9, 0x5F, 0xC5, 0x89, 0x27, 0x18, 0x46, 0x65, 0x7E, 0x02, 0xB3, 0xF9, 0xE5, 0xB8, 0x8E, 0x4C,\r
+               0x4F, 0x2F, 0x9F, 0x9C, 0x9D, 0x53, 0x47, 0xA0, 0x97, 0x0B, 0xAB, 0x9F, 0xD1, 0x48, 0x73, 0x24,\r
+               0x41, 0xD9, 0xF4, 0xDD, 0xCD, 0xDF, 0x11, 0x13, 0x09, 0xED, 0xB1, 0xB5, 0x83, 0x2A, 0x68, 0x98,\r
+               0x49, 0x6B, 0x38, 0xE1, 0x55, 0xD5, 0x84, 0x7F, 0x78, 0x89, 0x17, 0x6E, 0xE0, 0xED, 0x3E, 0x76,\r
+               0x94, 0xEE, 0xF0, 0x25, 0x75, 0x03, 0x24, 0xD9, 0xB2, 0xB0, 0xBB, 0xC5, 0xC3, 0x68, 0x11, 0x40,\r
+               0xD8, 0x58, 0xE2, 0xBC, 0x1D, 0x2B, 0xCF, 0x5E, 0xF6, 0x65, 0x30, 0xB2, 0x3D, 0x6F, 0xFD, 0xF8,\r
+               0xD3, 0xBF, 0x12, 0x09, 0x8B, 0xEF, 0x23, 0x61, 0x16, 0x88, 0x06, 0xF1, 0x6E, 0x1C, 0x88, 0xDB,\r
+               0x85, 0xEF, 0x9E, 0xBA, 0x14, 0xC2, 0xD7, 0x38, 0x3D, 0x9C, 0x56, 0x3F, 0x8D, 0x53, 0xA6, 0xCB,\r
+               0xF0, 0xF8, 0x4C, 0xE4, 0x38, 0x4D, 0x3A, 0xC2, 0x66, 0x2C, 0x6A, 0x0C, 0xC0, 0x4D, 0xE8, 0xD0,\r
+               0xA7, 0x12, 0x8B, 0x92, 0x24, 0xE1, 0x63, 0xF5, 0x2F, 0x2A, 0x1A, 0xA6, 0xB5, 0xEE, 0x02, 0xFF,\r
+               0x00, 0xCC, 0xB1, 0x8C, 0xBC, 0xEB, 0xF6, 0x99, 0x2C, 0x56, 0xA1, 0xEF, 0x35, 0x66, 0x7A, 0x01,\r
+               0x03, 0x99, 0x8D, 0x05, 0xC7, 0xCF, 0x2C, 0xE5, 0xEE, 0x4B, 0xE9, 0x47, 0x43, 0xE0, 0x69, 0xBE,\r
+               0xD4, 0x41, 0xFE, 0xB1, 0x4D, 0xA7, 0x99, 0xED, 0x76, 0x26, 0x57, 0xFA, 0xC8, 0x44, 0x6F, 0x29,\r
+               0x54, 0x73, 0x4A, 0x73, 0x44, 0x4E, 0x81, 0x8B, 0x7D, 0x7E, 0x08, 0xB0, 0xF9, 0xE1, 0x22, 0x7B,\r
+               0xB6, 0x13, 0xE5, 0x0D, 0x50, 0x65, 0xD1, 0x45, 0x75, 0x5A, 0xEC, 0xB3, 0xA4, 0xEB, 0x99, 0x0B,\r
+               0x3E, 0x93, 0x9D, 0xF3, 0x6C, 0x1F, 0x28, 0xD4, 0x6A, 0x3F, 0x5B, 0xF7, 0xDB, 0x75, 0x63, 0xD2,\r
+               0x65, 0x60, 0x46, 0x88, 0xD3, 0xE4, 0x7C, 0x2B, 0xCB, 0xF0, 0xF9, 0x1D, 0xD6, 0x29, 0x54, 0x11,\r
+               0x59, 0xD0, 0x1D, 0xBB, 0xB4, 0x6C, 0xFF, 0x60, 0x84, 0x7D, 0x2D, 0x20, 0xD2, 0x6D, 0x8A, 0xB4,\r
+               0x22, 0x31, 0xA4, 0xA4, 0x61, 0x28, 0x74, 0x17, 0x19, 0xE7, 0x8C, 0x43, 0xA1, 0xBE, 0x29, 0x31,\r
+               0x4E, 0x95, 0xD4, 0x59, 0xB7, 0x95, 0xDA, 0xF0, 0xD6, 0x29, 0x3F, 0x36, 0x54, 0x95, 0xBB, 0xE0,\r
+               0x04, 0x67, 0x61, 0xBD, 0xB3, 0x4B, 0x9E, 0x55, 0xC0, 0xA8, 0xA6, 0x57, 0x85, 0x5A, 0x21, 0x32,\r
+               0x9F, 0x09, 0x00, 0x90, 0xFF, 0x6B, 0x91, 0xD1, 0xB8, 0x28, 0x2E, 0xA9, 0xD4, 0x1D, 0xC3, 0x1E,\r
+               0x16, 0x33, 0x33, 0xAB, 0x5C, 0x3C, 0x9C, 0x19, 0x15, 0xF4, 0xBD, 0xB8, 0x81, 0x1E, 0xFF, 0x97,\r
+               0xA4, 0x47, 0xB7, 0x1B, 0x7F, 0x13, 0x19, 0x2F, 0x70, 0xAD, 0xF3, 0x6D, 0x8C, 0x42, 0xC8, 0x54,\r
+               0x2B, 0x39, 0x23, 0x5D, 0x91, 0x0A, 0x0A, 0xFC, 0xD2, 0x1E, 0xEA, 0xCE, 0x92, 0x2F, 0xF3, 0x6C,\r
+               0xF2, 0x17, 0x3B, 0xA8, 0x72, 0x24, 0x45, 0xEC, 0x45, 0x1C, 0xDE, 0xC1, 0x36, 0x43, 0x83, 0x91,\r
+               0xCC, 0x48, 0x17, 0xD7, 0x9A, 0x74, 0x26, 0x95, 0x48, 0xCF, 0x25, 0x1C, 0x25, 0x72, 0x8F, 0x6A,\r
+               0x58, 0x6A, 0x56, 0x7E, 0x74, 0x6D, 0x35, 0x46, 0xA5, 0xF1, 0xE8, 0x82, 0xCE, 0x34, 0x26, 0x83,\r
+               0x5F, 0x94, 0xBA, 0xC6, 0x5E, 0xAB, 0xA8, 0x16, 0x5B, 0xB9, 0xA3, 0xA3, 0xBE, 0xC2, 0x7C, 0x96,\r
+               0xCD, 0xF2, 0x5C, 0x12, 0xBA, 0xA2, 0x86, 0x33, 0xCE, 0x07, 0xE6, 0xC3, 0x5B, 0xFD, 0x1B, 0x2C,\r
+               0xBC, 0x4E, 0x5E, 0x7D, 0xF3, 0x32, 0xDC, 0x8D, 0x37, 0x04, 0xC3, 0x53, 0x1F, 0xFB, 0xBC, 0x51,\r
+               0xFE, 0x0E, 0x27, 0xA5, 0x79, 0x5A, 0x69, 0x85, 0xED, 0x37, 0x52, 0x0E, 0x49, 0xDD, 0x79, 0x48,\r
+               0x0E, 0x3A, 0xDA, 0xCD, 0x90, 0x64, 0x1B, 0x63, 0x96, 0xCB, 0x61, 0xB9, 0x0F, 0xEF, 0x49, 0x3A,\r
+               0xFA, 0xA5, 0xF7, 0x94, 0x4C, 0xC9, 0x88, 0x72, 0x59, 0x05, 0xD2, 0xCC, 0x57, 0xB0, 0x42, 0x70,\r
+               0xF8, 0x4A, 0x80, 0xD8, 0x82, 0x06, 0x3B, 0x07, 0xAF, 0x69, 0x7D, 0xEE, 0x16, 0xE3, 0x55, 0x37,\r
+               0x33, 0x30, 0xCA, 0x3B, 0x87, 0xB6, 0x6E, 0x3D, 0xBE, 0xA3, 0x8A, 0x3E, 0x1A, 0xAE, 0x0C, 0x6B,\r
+               0x8E, 0x08, 0x6E, 0x0F, 0x53, 0x9C, 0xF4, 0xD5, 0x30, 0x4F, 0xAD, 0xE2, 0x86, 0x7F, 0xD8, 0xA2,\r
+               0xC4, 0xEA, 0xBD, 0x55, 0xDC, 0x5F, 0xC7, 0x3B, 0xD6, 0x01, 0xFC, 0xEF, 0xDB, 0x6D, 0xC0, 0xFE,\r
+               0x1D, 0x1F, 0xA5, 0x7B, 0x94, 0xE5, 0x4B, 0xFD, 0x9E, 0x1C, 0x54, 0x2D, 0x76, 0xDB, 0x31, 0x70,\r
+               0xAD, 0xE3, 0x56, 0xE0, 0x27, 0x0B, 0x38, 0x84, 0xA7, 0xBD, 0x93, 0xED, 0x26, 0x1D, 0xAC, 0x5A,\r
+               0x61, 0xB8, 0xF0, 0x64, 0x35, 0x47, 0xA1, 0x32, 0x98, 0x58, 0x29, 0x8A, 0xEF, 0xC9, 0x7D, 0xC6,\r
+               0x49, 0xE0, 0x5E, 0xC4, 0x26, 0xC1, 0x1E, 0x44, 0xA5, 0x52, 0xDF, 0x9A, 0x7D, 0xBB, 0x60, 0xDE,\r
+               0xB6, 0x0C, 0x83, 0xBC, 0x99, 0x1E, 0x96, 0x2E, 0x81, 0xEB, 0x8A, 0x28, 0xBD, 0x84, 0xD8, 0xF7,\r
+               0x8A, 0x3F, 0xD8, 0x0C, 0x1F, 0xDD, 0x49, 0xE6, 0xDF, 0x09, 0x05, 0x68, 0x16, 0x4E, 0x74, 0xCE,\r
+               0x15, 0x23, 0x69, 0xC9, 0xF9, 0x4F, 0x9D, 0x80, 0x44, 0x67, 0x28, 0x09, 0x2C, 0xFE, 0x21, 0xCB,\r
+               0xCE, 0x9A, 0x06, 0x08, 0xDF, 0xE4, 0x8E, 0x47, 0x3A, 0x97, 0xC3, 0x2B, 0xC4, 0xD4, 0xBB, 0x1F,\r
+               0x75, 0xD3, 0x05, 0x74, 0x3F, 0xD2, 0xCD, 0xAA, 0xB2, 0x17, 0x3D, 0x53, 0xE7, 0xA1, 0xC8, 0x4C,\r
+               0xF9, 0x1C, 0xAD, 0x5F, 0x54, 0xDC, 0x8C, 0x5C, 0xB9, 0xF0, 0x88, 0xA3, 0x47, 0x0B, 0x35, 0xDB,\r
+               0x58, 0x7F, 0x30, 0xC5, 0x5C, 0x38, 0x8F, 0x78, 0x6A, 0x83, 0x0D, 0x00, 0x37, 0xB0, 0x3F, 0x86,\r
+               0x3D, 0x7B, 0xC7, 0x69, 0x14, 0x82, 0x03, 0xBE, 0x34, 0x61, 0x82, 0x40, 0xF7, 0x8F, 0x87, 0xAF,\r
+               0x83, 0xC6, 0x5F, 0x04, 0x4F, 0xBE, 0x30, 0x0E, 0x90, 0xEA, 0x15, 0x46, 0xEC, 0xC1, 0x99, 0xE2,\r
+               0xEB, 0x0A, 0xFF, 0x0B, 0x43, 0x8F, 0xCB, 0x1D, 0x41, 0x76, 0xDC, 0x92, 0xEE, 0x4A, 0xA1, 0xF9,\r
+               0x72, 0x6B, 0xE9, 0x8A, 0xE2, 0x2D, 0x21, 0xD2, 0x8E, 0xA7, 0x0E, 0x08, 0x2D, 0x7D, 0xFD, 0xF4,\r
+               0xB8, 0x4D, 0xE8, 0x4A, 0xB9, 0x11, 0x12, 0x62, 0x30, 0xCA, 0xB3, 0x90, 0x6C, 0x16, 0xF3, 0x02,\r
+               0x71, 0xE2, 0xD5, 0xDF, 0x81, 0xC7, 0x63, 0x00, 0xB0, 0xF8, 0x71, 0x24, 0x08, 0x74, 0xD3, 0x10,\r
+               0x23, 0x60, 0x89, 0x24, 0x37, 0x36, 0xCE, 0x8E, 0xE3, 0xB9, 0x36, 0x33, 0x46, 0x88, 0xE9, 0xE4,\r
+               0x4C, 0x14, 0xC5, 0xD5, 0xAB, 0x5D, 0x8B, 0xD4, 0xCB, 0x19, 0x6E, 0x9D, 0xBB, 0xF8, 0x85, 0x40,\r
+               0xD1, 0x44, 0x03, 0xFF, 0xBA, 0xAA, 0x5B, 0x1E, 0xF5, 0x46, 0x11, 0xB1, 0x48, 0x9C, 0x01, 0xD9,\r
+               0x78, 0x1B, 0x52, 0xD7, 0xF7, 0x0F, 0x09, 0x2F, 0xB3, 0xAD, 0xF8, 0x18, 0x5E, 0xCE, 0x13, 0x8D,\r
+               0xE8, 0x83, 0xC3, 0x5E, 0x58, 0xED, 0x77, 0x4F, 0x63, 0x8B, 0xF4, 0x87, 0x34, 0xB8, 0xDB, 0xA2,\r
+               0xD5, 0x75, 0xD3, 0x54, 0x7E, 0x46, 0x64, 0x88, 0xA3, 0x16, 0xA2, 0x3D, 0xC8, 0x4B, 0x6B, 0x39,\r
+               0x73, 0xAE, 0xA2, 0x30, 0xCB, 0x0C, 0x80, 0x7A, 0xB7, 0x06, 0xC9, 0xC8, 0x62, 0x02, 0x1B, 0x3F,\r
+               0xD4, 0xB0, 0x98, 0xEE, 0x3B, 0x07, 0x35, 0x9D, 0x22, 0x9E, 0xA5, 0xC2, 0x5D, 0xC6, 0xF7, 0xA9,\r
+               0x8D, 0x87, 0x34, 0xF2, 0x63, 0x80, 0x4F, 0x51, 0x2B, 0x96, 0x5C, 0x45, 0xB7, 0x67, 0x55, 0x66,\r
+               0xF6, 0x98, 0x8D, 0x13, 0xCC, 0x62, 0x31, 0x31, 0xA0, 0x43, 0x2B, 0x01, 0x79, 0x4C, 0x05, 0x72,\r
+               0xD7, 0x39, 0xA4, 0xBB, 0xB7, 0x51, 0x86, 0xCD, 0xF8, 0xE5, 0xD9, 0xE6, 0x04, 0xEB, 0x03, 0x36,\r
+               0x00, 0x8D, 0xD7, 0x63, 0x65, 0x24, 0xD8, 0xDA, 0x4D, 0x6F, 0xD1, 0x8E, 0xFE, 0x64, 0xEE, 0x1A,\r
+               0x9A, 0x65, 0xFD, 0xB7, 0xB4, 0xEA, 0xCF, 0xB1, 0x0E, 0x95, 0xCC, 0xBC, 0xE8, 0x36, 0xFC, 0x4E,\r
+               0xD0, 0x81, 0x48, 0x45, 0x6F, 0xB1, 0xB4, 0x42, 0x4A, 0x91, 0x69, 0x62, 0x17, 0xCD, 0xA8, 0xF1,\r
+               0x5B, 0xF6, 0x0C, 0x90, 0xEE, 0x1C, 0xDA, 0xC1, 0x14, 0x73, 0xE6, 0x22, 0xD5, 0x79, 0x28, 0xC3,\r
+               0xCC, 0xD6, 0x71, 0xE7, 0x6E, 0x7B, 0x92, 0x82, 0x59, 0x7F, 0xBA, 0x7B, 0x91, 0x66, 0x9F, 0xA6,\r
+               0x7F, 0xA3, 0xBE, 0x29, 0x10, 0x57, 0xFB, 0x89, 0x9C, 0xF3, 0x18, 0x5A, 0xF5, 0x04, 0xBF, 0xB4,\r
+               0x65, 0x89, 0x20, 0xCF, 0xA8, 0xE6, 0xC2, 0xA8, 0xFE, 0xA1, 0xA4, 0x41, 0x90, 0xE5, 0x43, 0x99,\r
+               0x0D, 0x45, 0x80, 0xC0, 0xA0, 0x02, 0xC1, 0x8C, 0x53, 0x22, 0xCA, 0xC0, 0x53, 0xD2, 0x1F, 0x94,\r
+               0x54, 0x72, 0x2C, 0xDC, 0x1C, 0x66, 0x00, 0x9A, 0x12, 0x37, 0x9B, 0x85, 0xD4, 0xFA, 0xF4, 0xFC,\r
+               0xC3, 0x52, 0x51, 0xAB, 0x39, 0x76, 0x5A, 0x21, 0x39, 0xC2, 0x4A, 0x17, 0xD7, 0xF2, 0x10, 0xD8,\r
+               0x6F, 0xF9, 0x9B, 0x92, 0x57, 0x67, 0xC5, 0x20, 0xBC, 0xE1, 0x7C, 0x38, 0x70, 0xA7, 0x6C, 0xC7,\r
+               0x0A, 0xFD, 0x6C, 0x3E, 0x91, 0xFA, 0x95, 0x0A, 0x97, 0x14, 0xAD, 0xAA, 0x22, 0xEA, 0xC9, 0xF6,\r
+               0xF1, 0x20, 0x61, 0xED, 0x3C, 0x69, 0x84, 0xD6, 0xA6, 0x07, 0x56, 0xA6, 0xAB, 0xD6, 0xCA, 0xA3,\r
+               0x06, 0xF0, 0x70, 0x27, 0xE7, 0x32, 0xFF, 0x25, 0x64, 0x75, 0x4C, 0x6B, 0x10, 0x32, 0x29, 0x79,\r
+               0xA9, 0xD2, 0x86, 0x4B, 0x1E, 0x17, 0x6F, 0x26, 0x37, 0x34, 0x0B, 0x7C, 0x6D, 0x95, 0x2F, 0x3D,\r
+               0x3C, 0xBE, 0x8C, 0xD3, 0x59, 0x27, 0x51, 0x8F, 0xE0, 0xEC, 0xBF, 0x0F, 0x68, 0xE1, 0x96, 0xAE,\r
+               0x77, 0x9F, 0x72, 0x9B, 0xFB, 0x3E, 0xF2, 0x3C, 0x16, 0x9C, 0xAA, 0x55, 0x50, 0xDA, 0xFB, 0xB0,\r
+               0x5E, 0x02, 0x97, 0x81, 0xC4, 0x86, 0x32, 0x15, 0x7A, 0x38, 0x57, 0x25, 0x74, 0x50, 0x09, 0x6B,\r
+               0x79, 0xDE, 0x19, 0x6D, 0xBF, 0xB5, 0x85, 0xE9, 0xAB, 0xA4, 0x9E, 0xF1, 0x06, 0x60, 0x3B, 0x2D,\r
+               0xAE, 0x6A, 0x6A, 0xB5, 0x21, 0xAF, 0xAF, 0x0F, 0x1A, 0x85, 0xA7, 0x49, 0x58, 0xB2, 0x4E, 0x3A,\r
+               0x7E, 0x66, 0xF5, 0x93, 0xF4, 0xB4, 0x40, 0x53, 0xC6, 0xBA, 0xA6, 0xCA, 0xB6, 0xE4, 0x89, 0x59,\r
+               0x9B, 0xA0, 0xB6, 0x0D, 0xAE, 0x42, 0x55, 0x23, 0x93, 0xBF, 0x9C, 0x7A, 0x3C, 0xD0, 0x6E, 0x28,\r
+               0x95, 0xE1, 0xDD, 0xFB, 0xAF, 0x88, 0x73, 0xE3, 0xC5, 0xEF, 0x2F, 0xF6, 0x3A, 0xAC, 0x33, 0x9F,\r
+               0x94, 0x24, 0x96, 0x41, 0x13, 0xEC, 0xB2, 0xF5, 0xA4, 0xE8, 0x1A, 0xD1, 0x7E, 0xB3, 0x84, 0xFA,\r
+               0x56, 0x3E, 0x5B, 0x33, 0xCF, 0xD9, 0x78, 0x4D, 0x25, 0x60, 0x1D, 0x2E, 0x67, 0x76, 0xA2, 0xAC,\r
+               0x9D, 0xDD, 0x11, 0x49, 0x07, 0x04, 0xBC, 0xC8, 0x50, 0x77, 0x43, 0xFC, 0xF3, 0x78, 0xE2, 0x03,\r
+               0x40, 0x19, 0xD9, 0xCC, 0xEC, 0x6D, 0xB5, 0x7D, 0xF0, 0x57, 0xE5, 0x2A, 0x59, 0x31, 0x92, 0x05,\r
+               0x26, 0x94, 0x12, 0x35, 0x29, 0x4B, 0xAC, 0x2B, 0x91, 0x50, 0xD0, 0x0D, 0xED, 0x42, 0x45, 0xDD,\r
+               0x18, 0xEB, 0x3E, 0x6A, 0x1A, 0xC2, 0x97, 0x11, 0xF2, 0xB8, 0xA9, 0x5D, 0x25, 0x15, 0x48, 0x7E,\r
+               0x2E, 0xA8, 0xDE, 0x87, 0x75, 0x19, 0x2E, 0xD0, 0x5C, 0x6E, 0x4E, 0xE0, 0x0F, 0x8B, 0x52, 0x98,\r
+               0x2C, 0xE4, 0xA9, 0x68, 0x77, 0x68, 0x41, 0x6C, 0xEF, 0xA0, 0x3B, 0x2F, 0xB1, 0x1B, 0x08, 0xD1,\r
+               0x8C, 0x42, 0x7F, 0x48, 0x9E, 0x70, 0x27, 0x65, 0xE1, 0x56, 0x7A, 0x44, 0x13, 0x3A, 0xCD, 0x5D,\r
+               0x8B, 0xFA, 0x93, 0xB6, 0x0A, 0xFF, 0x61, 0x1B, 0x7C, 0x7C, 0x2A, 0x82, 0xC0, 0x23, 0xDE, 0xB3,\r
+               0xE7, 0x07, 0xE3, 0x12, 0x0E, 0x2A, 0x99, 0x2C, 0xBA, 0xA5, 0x01, 0x9F, 0xB9, 0x73, 0xBD, 0x5B,\r
+               0x5A, 0x33, 0x47, 0x2A, 0xF3, 0xDA, 0xF1, 0x18, 0x20, 0x71, 0xE9, 0xB5, 0x5F, 0x4D, 0xCF, 0xB2,\r
+               0xFC, 0xE1, 0x18, 0x2A, 0xC6, 0xE2, 0xDB, 0x8D, 0x12, 0xED, 0xB7, 0x7B, 0x45, 0x20, 0xC8, 0x97,\r
+               0xB5, 0xE2, 0x64, 0x91, 0x2B, 0xA1, 0x3B, 0xBB, 0xEC, 0x65, 0xCF, 0xFB, 0x30, 0x73, 0xEB, 0xE4,\r
+               0x50, 0xD4, 0xA9, 0x07, 0x14, 0xA0, 0xB8, 0x67, 0x22, 0x35, 0xE4, 0xEF, 0x54, 0xEA, 0x18, 0x60,\r
+               0x33, 0x49, 0x33, 0xA6, 0x30, 0xA3, 0xB0, 0x83, 0xA7, 0xE6, 0x47, 0x9C, 0xEF, 0xB7, 0x68, 0x6A,\r
+               0xE9, 0xBB, 0x68, 0xDC, 0x62, 0x1F, 0xAB, 0xE1, 0x3A, 0xCF, 0xA2, 0x86, 0x25, 0x8E, 0xC3, 0xC6,\r
+               0x54, 0x23, 0x05, 0x62, 0xD2, 0x2C, 0xF0, 0xDD, 0xAD, 0x6B, 0xA4, 0x0D, 0x6B, 0xC3, 0xD8, 0xD8,\r
+               0x44, 0x0D, 0xE6, 0x2D, 0xBE, 0x0E, 0x06, 0x72, 0x21, 0xD1, 0xEC, 0xCB, 0x99, 0x98, 0x02, 0xA2,\r
+               0x25, 0x1B, 0x67, 0xB4, 0x71, 0xE4, 0xA7, 0xD0, 0xF3, 0x1E, 0x76, 0x1A, 0xAE, 0x95, 0xC1, 0xFE,\r
+               0x30, 0x41, 0x17, 0x42, 0x91, 0x64, 0x70, 0xBA, 0x7B, 0xC1, 0xC9, 0x70, 0x3F, 0x1C, 0x59, 0x6E,\r
+               0xC5, 0x59, 0x39, 0x9B, 0x57, 0xE8, 0x38, 0x00, 0xD3, 0x89, 0x0B, 0x6D, 0x89, 0x92, 0xF4, 0x9F,\r
+               0x97, 0x14, 0x08, 0x3E, 0x5E, 0x8E, 0xD1, 0x18, 0x06, 0xC7, 0x6E, 0x34, 0x2D, 0xAA, 0xC0, 0x22,\r
+               0xCC, 0xB2, 0x8C, 0xF2, 0xE8, 0x17, 0xC3, 0x54, 0xBC, 0xF8, 0x09, 0xD1, 0xF9, 0x36, 0x09, 0xF3,\r
+               0x23, 0x67, 0xD0, 0xE9, 0x42, 0xB9, 0x7D, 0x41, 0xA5, 0xDE, 0xCC, 0x87, 0x60, 0x9B, 0x92, 0x87,\r
+               0xCF, 0xBA, 0xA8, 0x16, 0x28, 0x31, 0xC2, 0x9E, 0xF0, 0xFA, 0x7E, 0x3E, 0x5F, 0xB2, 0x52, 0x3F,\r
+               0x0C, 0x8D, 0xA5, 0x4A, 0xEC, 0xB2, 0x1D, 0x10, 0x07, 0x1B, 0xED, 0x0B, 0x1A, 0xA7, 0x03, 0x7E,\r
+               0x10, 0x3C, 0x60, 0xD5, 0x8A, 0x66, 0xFB, 0x82, 0x2A, 0x80, 0x8C, 0x65, 0xAA, 0xA2, 0x39, 0x2B,\r
+               0x9F, 0x7C, 0x82, 0x8B, 0xF1, 0x1A, 0xDF, 0x58, 0x8A, 0x7D, 0x26, 0xF2, 0x22, 0xC5, 0x72, 0xA8,\r
+               0x81, 0x46, 0x5C, 0x2C, 0x16, 0xAF, 0x2F, 0x53, 0xE6, 0xE8, 0x2C, 0x6A, 0xE6, 0x53, 0x4D, 0x44,\r
+               0xB7, 0x69, 0x7F, 0xA9, 0x5D, 0x1E, 0x28, 0x3D, 0x04, 0xFF, 0xE5, 0x2F, 0xA8, 0x1E, 0x56, 0x5A,\r
+               0xA8, 0xD0, 0x9E, 0xD2, 0x3D, 0x60, 0x87, 0xDF, 0x73, 0x74, 0xA1, 0xFA, 0x83, 0x0A, 0x98, 0x0A,\r
+               0xA2, 0x33, 0x0F, 0x5F, 0xB6, 0xF7, 0x81, 0x7B, 0xFE, 0x12, 0x6A, 0x03, 0x80, 0x76, 0xD1, 0xB1,\r
+               0x16, 0x40, 0xD7, 0x88, 0xA1, 0xA9, 0x53, 0x0E, 0xF6, 0xA7, 0x02, 0x89, 0x0F, 0x5A, 0x2B, 0x5C,\r
+               0xAE, 0xAC, 0x29, 0x8F, 0x2E, 0x9B, 0x8B, 0xEE, 0x46, 0x15, 0x86, 0xFD, 0x29, 0x9D, 0x38, 0xF7,\r
+               0x4A, 0x19, 0xDB, 0xC5, 0xDD, 0xE0, 0x50, 0xB5, 0xE3, 0x51, 0x58, 0xF9, 0xD2, 0x22, 0xC7, 0xA3,\r
+               0xCD, 0x31, 0xB3, 0x2E, 0x6C, 0x4C, 0x65, 0x98, 0x5E, 0xEF, 0xC0, 0x94, 0x90, 0x7C, 0x27, 0x8C,\r
+               0x62, 0x0C, 0x26, 0xE7, 0x0E, 0x3D, 0x5D, 0x4E, 0x9C, 0x6F, 0x74, 0xA6, 0xF2, 0x6E, 0x43, 0xAC,\r
+               0x3B, 0x21, 0xB9, 0x13, 0xB8, 0xA4, 0x4F, 0x02, 0x41, 0x94, 0x79, 0x75, 0x1C, 0x2C, 0x94, 0xDA,\r
+               0x4F, 0x6D, 0x48, 0x7C, 0xE2, 0xE1, 0xD3, 0x69, 0x19, 0xBC, 0xD7, 0xD5, 0x6C, 0x88, 0x69, 0xB6,\r
+               0x34, 0xB6, 0xBB, 0x27, 0x43, 0x26, 0x13, 0x50, 0xD7, 0xEC, 0xFC, 0xC1, 0x2A, 0xE1, 0x71, 0x4C,\r
+               0x6B, 0xE7, 0x93, 0x8E, 0x72, 0x74, 0x5E, 0xF5, 0x3E, 0xAA, 0x55, 0x2A, 0x78, 0xB5, 0x67, 0x5E,\r
+               0x5A, 0x37, 0x38, 0x8A, 0xE4, 0x4B, 0x9A, 0x19, 0x8D, 0xFC, 0xD9, 0x7A, 0xAF, 0x55, 0xE7, 0x34,\r
+               0xAC, 0x27, 0x32, 0xB7, 0x23, 0x58, 0xBC, 0xB2, 0xDB, 0x3C, 0x63, 0xE7, 0x5C, 0xCE, 0x1B, 0x84,\r
+               0x0F, 0x85, 0x81, 0xAE, 0xBA, 0xAB, 0xD8, 0x36, 0x79, 0xF9, 0x42, 0x6B, 0x32, 0xCF, 0x84, 0x95,\r
+               0xD2, 0x88, 0x52, 0x55, 0x66, 0xBA, 0x75, 0xA5, 0x82, 0xC8, 0x4E, 0x78, 0x0E, 0x9A, 0x0D, 0x96,\r
+               0xFD, 0x62, 0x27, 0xF6, 0x4A, 0x40, 0xFA, 0x48, 0x24, 0x68, 0x98, 0x58, 0x71, 0x51, 0x42, 0x70,\r
+               0xDF, 0x94, 0x4B, 0x59, 0x49, 0xD0, 0x03, 0x6D, 0x63, 0x3B, 0x8F, 0x19, 0xD6, 0x15, 0x3F, 0x76,\r
+               0xB0, 0x96, 0xF7, 0x28, 0x50, 0xDD, 0x1F, 0x61, 0x85, 0x49, 0xB1, 0xF0, 0x3E, 0xDC, 0x7F, 0xA4,\r
+               0x91, 0x68, 0xBF, 0x63, 0xE3, 0x7E, 0xBD, 0x78, 0x90, 0xBF, 0xEB, 0x80, 0x05, 0xC2, 0x47, 0xC9,\r
+               0xF1, 0xFD, 0x01, 0x26, 0x85, 0xAA, 0x5B, 0xEA, 0xB1, 0xF4, 0x15, 0xC8, 0x84, 0x41, 0x29, 0x64,\r
+               0x2D, 0x73, 0xED, 0x01, 0x79, 0x1D, 0x20, 0xD9, 0x78, 0x25, 0xC1, 0x54, 0xB4, 0x07, 0x5B, 0x56,\r
+               0xF9, 0x95, 0x8B, 0x93, 0xEE, 0xBD, 0x8A, 0x24, 0x95, 0x06, 0x9F, 0x13, 0x82, 0xCA, 0xBE, 0xC0,\r
+               0xD9, 0xE8, 0xFC, 0x04, 0xAD, 0xF5, 0x0A, 0x43, 0xC9, 0x4B, 0xC6, 0x1F, 0x9D, 0xAF, 0xFA, 0x77,\r
+               0xA6, 0xC4, 0xA3, 0x3A, 0xC4, 0xED, 0x4C, 0xB9, 0x8B, 0xA1, 0xA5, 0xCD, 0x01, 0xF5, 0xBF, 0x1C,\r
+               0x8C, 0x5A, 0x45, 0x20, 0xE5, 0xD4, 0xF4, 0x08, 0x37, 0xC3, 0xBE, 0x9F, 0xE0, 0xD8, 0xDA, 0xE0,\r
+               0x5D, 0xC8, 0xB0, 0x0B, 0xF6, 0x2F, 0xF8, 0x39, 0xB4, 0x4D, 0x61, 0x5B, 0x1E, 0x90, 0xFB, 0xAB,\r
+               0x6A, 0x64, 0xAC, 0x52, 0xE0, 0xEE, 0x44, 0x5D, 0xE5, 0x0C, 0x24, 0x4E, 0x36, 0xF8, 0x7C, 0x40,\r
+               0xD6, 0x7F, 0xFE, 0x30, 0x4C, 0xEA, 0xB3, 0x38, 0x53, 0xE3, 0xDC, 0x8D, 0x43, 0xAB, 0x5F, 0x33,\r
+               0x7D, 0xB5, 0xC7, 0x9C, 0x4D, 0x75, 0xDD, 0x29, 0x65, 0x66, 0xF3, 0xAE, 0x16, 0xB4, 0xF8, 0x4F,\r
+               0xC4, 0xDA, 0x06, 0x47, 0x7D, 0xB8, 0xFE, 0x9D, 0x86, 0xAD, 0xB9, 0xD4, 0xF1, 0x12, 0x0A, 0x17,\r
+               0xBB, 0xF6, 0x59, 0x79, 0x47, 0x83, 0xCD, 0x14, 0xFF, 0xCE, 0xE9, 0x3C, 0xA6, 0xB1, 0xC2, 0x1A,\r
+               0xCB, 0x4D, 0x04, 0x73, 0x00, 0x6E, 0x93, 0x37, 0x14, 0xB0, 0xCB, 0xCC, 0xFF, 0xBD, 0x9E, 0x57,\r
+               0x87, 0x3A, 0xEB, 0x71, 0xBC, 0x01, 0x91, 0x46, 0x61, 0x03, 0x04, 0x02, 0x6F, 0xF4, 0x20, 0x0D,\r
+               0xD5, 0x77, 0xDA, 0xD4, 0x77, 0x4E, 0xEE, 0xA0, 0x05, 0x23, 0x66, 0x10, 0xC7, 0xDF, 0xEF, 0x81,\r
+               0x6D, 0x9B, 0x24, 0xD3, 0x09, 0x08, 0x7A, 0x2F, 0x55, 0xBE, 0xA0, 0x3A, 0xDE, 0x31, 0x3C, 0x92,\r
+               0x1C, 0xA3, 0x46, 0x05, 0x74, 0xDE, 0x17, 0x85, 0xC6, 0x7F, 0x51, 0x1D, 0xA9, 0xDE, 0x70, 0x90,\r
+               0x28, 0x07, 0x7E, 0xB8, 0x40, 0xB6, 0xEA, 0x75, 0x2E, 0xE5, 0x7B, 0xC9, 0x97, 0x37, 0x96, 0xE2,\r
+               0x49, 0x11, 0xFF, 0x21, 0x3F, 0x6F, 0x10, 0xEB, 0x89, 0x99, 0x2E, 0xD6, 0x00, 0x35, 0x99, 0xD6,\r
+               0x45, 0x8E, 0xD9, 0xF1, 0x63, 0x80, 0xC5, 0xF0, 0x88, 0x45, 0xAD, 0xE9, 0x56, 0x56, 0x77, 0x11,\r
+               0xCE, 0x39, 0x97, 0xCA, 0x8F, 0x5C, 0x4B, 0xD7, 0x00, 0x9A, 0x12, 0x83, 0x48, 0xF3, 0x15, 0x6C,\r
+               0x8F, 0x52, 0x61, 0xC4, 0x4F, 0x7A, 0x4A, 0x1D, 0xB3, 0xCC, 0x9E, 0xD3, 0x34, 0x44, 0x13, 0x31,\r
+               0x11, 0xBF, 0x5F, 0x09, 0x21, 0x57, 0x2B, 0x86, 0x32, 0x7A, 0xCA, 0x0C, 0x92, 0xC0, 0x48, 0xFD,\r
+               0x0B, 0x72, 0x2D, 0xCB, 0x99, 0x9D, 0xF7, 0xB3, 0x35, 0xFB, 0x35, 0x84, 0x57, 0x96, 0x51, 0xDB,\r
+               0x36, 0x3D, 0xA0, 0x1F, 0x11, 0x9A, 0x08, 0x32, 0xCA, 0xAF, 0xCE, 0x3B, 0xD5, 0x69, 0x76, 0xCD,\r
+               0xF2, 0xF5, 0x25, 0xC2, 0xA4, 0x93, 0xE3, 0x5B, 0x6C, 0x0F, 0x18, 0x1B, 0x9C, 0x6F, 0xDC, 0xBD,\r
+               0xEF, 0x75, 0x2B, 0x86, 0xC1, 0x20, 0xD7, 0x27, 0x25, 0x97, 0x82, 0xFB, 0xF6, 0x60, 0x88, 0x0E,\r
+               0xC5, 0xE8, 0x7B, 0x40, 0x12, 0xCE, 0xC4, 0x3E, 0xDB, 0x7B, 0x85, 0x43, 0x79, 0x26, 0xF6, 0x9A,\r
+               0xE2, 0x29, 0xE8, 0xB1, 0x5E, 0x21, 0xC6, 0x49, 0xB9, 0x43, 0x53, 0x32, 0xD3, 0xF0, 0x8B, 0xF7,\r
+               0x36, 0xB3, 0x00, 0x9B, 0xB8, 0xC8, 0xB4, 0x77, 0x81, 0xE7, 0xEE, 0x06, 0x23, 0x98, 0xBF, 0x0A,\r
+               0x2B, 0xFB, 0xA8, 0x59, 0x24, 0xED, 0x41, 0x11, 0xF9, 0x3A, 0x11, 0xEA, 0xCB, 0x96, 0x82, 0x1E,\r
+               0xC3, 0x98, 0xD1, 0x09, 0xEC, 0x4E, 0x4C, 0x46, 0xA6, 0x16, 0x2F, 0x95, 0x42, 0xAD, 0xB8, 0x2D,\r
+               0x33, 0xE6, 0x3A, 0x2B, 0xB0, 0x42, 0x01, 0x1F, 0xFB, 0xAD, 0x25, 0xE5, 0x61, 0x40, 0xFF, 0x73,\r
+               0xFD, 0x55, 0x4F, 0xE4, 0x0E, 0x0B, 0x5B, 0x8F, 0x14, 0xDA, 0x27, 0xA9, 0x10, 0x2F, 0x43, 0x71,\r
+               0xF3, 0x2C, 0x1C, 0x2A, 0x66, 0x3F, 0xAB, 0x72, 0xA0, 0x5F, 0x5F, 0x3F, 0xD0, 0x79, 0xDE, 0xCB,\r
+               0x7B, 0xAD, 0x1B, 0xD5, 0x7F, 0x69, 0x8D, 0xB7, 0xD2, 0x92, 0x9D, 0x25, 0xE5, 0xB3, 0x66, 0x17,\r
+               0xC4, 0xF9, 0xE4, 0x2E, 0x58, 0x96, 0x9B, 0x35, 0x5F, 0xDD, 0x49, 0x18, 0x64, 0xB4, 0xEE, 0xE8,\r
+               0xE4, 0x59, 0x42, 0xF8, 0xF2, 0x90, 0xEB, 0x7C, 0xDA, 0x15, 0x94, 0xDC, 0x0D, 0xBD, 0x5B, 0x03,\r
+               0x29, 0xCF, 0xA7, 0xCE, 0xB7, 0xCA, 0x80, 0xE0, 0x00, 0xF1, 0x77, 0x67, 0xBD, 0x41, 0xC0, 0xF0,\r
+               0x16, 0x13, 0xA6, 0x4D, 0x59, 0xA9, 0x47, 0xB6, 0x26, 0x6E, 0xA7, 0x6B, 0xA6, 0xAE, 0x9C, 0x25,\r
+               0x7C, 0xCC, 0x2E, 0xF2, 0x3B, 0x0C, 0x3A, 0xA8, 0x68, 0xD9, 0x9C, 0xE0, 0x81, 0x72, 0x70, 0xAB,\r
+               0x2C, 0x9A, 0x9D, 0x7E, 0x3D, 0xBB, 0x67, 0xD4, 0x9E, 0xB2, 0x92, 0xA1, 0x4B, 0x54, 0xB0, 0xAA,\r
+               0x0F, 0x1F, 0xAB, 0x51, 0x51, 0x23, 0xF2, 0xDE, 0x08, 0x76, 0x7E, 0x9E, 0x37, 0xF3, 0xAF, 0xFF,\r
+               0x7F, 0xE9, 0xBE, 0x0B, 0x69, 0x3D, 0x9F, 0xE5, 0x40, 0x88, 0x35, 0xBF, 0x2E, 0x50, 0x1C, 0x5D,\r
+               0x37, 0xA2, 0x9F, 0xF5, 0x07, 0xBE, 0x32, 0x64, 0xFE, 0x1D, 0x70, 0xDF, 0xBC, 0x84, 0x7A, 0xBB,\r
+               0xAB, 0x73, 0x56, 0x21, 0x75, 0xF8, 0x00, 0x54, 0x12, 0x93, 0x57, 0x03, 0x8F, 0x33, 0x86, 0xC0,\r
+               0x94, 0xAF, 0x57, 0xA2, 0xAA, 0x30, 0xC3, 0xD2, 0x7E, 0x65, 0xF8, 0x21, 0x60, 0x85, 0x45, 0x38,\r
+               0x87, 0x9E, 0xAC, 0xAE, 0x23, 0x65, 0xC0, 0xEE, 0xAD, 0x68, 0x03, 0xFC, 0xF3, 0x94, 0x99, 0x95,\r
+               0xA7, 0x3E, 0x0A, 0x78, 0x6C, 0xAE, 0x26, 0x91, 0xD8, 0x82, 0xA0, 0xD3, 0x1E, 0x6E, 0xB5, 0x1A,\r
+               0xE6, 0x6D, 0x4D, 0x6F, 0x11, 0xEA, 0x20, 0x36, 0xB4, 0x74, 0x0F, 0xF1, 0x3B, 0xFE, 0xB6, 0xE3,\r
+               0xA4, 0x1B, 0x9A, 0x81, 0xD5, 0x6F, 0xFD, 0xFE, 0x4F, 0x28, 0x5D, 0x73, 0x6F, 0x01, 0x09, 0x18,\r
+               0xB1, 0x5A, 0xCB, 0xC4, 0x52, 0x07, 0x16, 0xD6, 0x53, 0x84, 0x04, 0x44, 0x0B, 0xC0, 0x1F, 0xA4,\r
+               0x72, 0xB5, 0x7D, 0x3C, 0x71, 0x54, 0x65, 0xA3, 0x01, 0x9F, 0x66, 0xF8, 0x6E, 0xC4, 0xB3, 0x53,\r
+               0x51, 0x30, 0x4B, 0x13, 0xD6, 0x4B, 0x19, 0xF6, 0x38, 0x55, 0xCA, 0x53, 0x7F, 0x5B, 0xB2, 0x3D,\r
+               0xEC, 0x50, 0xBB, 0x7F, 0x90, 0x35, 0x96, 0x62, 0x74, 0x75, 0xC5, 0xD7, 0x72, 0x93, 0x11, 0x6A,\r
+               0xE0, 0x1D, 0xE7, 0x26, 0xD4, 0x50, 0x21, 0x7D, 0x03, 0x08, 0x52, 0xF7, 0x15, 0xDB, 0x52, 0xEA,\r
+               0x32, 0xF7, 0xA5, 0x45, 0x91, 0x0A, 0x4A, 0xE1, 0x5C, 0x24, 0x6C, 0x88, 0xEF, 0xC3, 0x3B, 0xAC,\r
+               0x60, 0x95, 0x19, 0x5E, 0xF4, 0x27, 0xB6, 0x00, 0xBA, 0xBA, 0x76, 0xA2, 0x5E, 0xFA, 0x1A, 0x14,\r
+               0xFC, 0x44, 0xD0, 0x8A, 0xFF, 0x89, 0xE7, 0x60, 0xF0, 0xD3, 0x09, 0x8C, 0x2D, 0xD9, 0x49, 0x61,\r
+               0x76, 0xF1, 0xD8, 0xE2, 0x05, 0xA5, 0x0A, 0xEF, 0x28, 0xA0, 0xDE, 0x38, 0x58, 0x87, 0x5E, 0xB3,\r
+               0x02, 0x43, 0x68, 0x66, 0x16, 0x62, 0xA1, 0xC9, 0xD6, 0x4C, 0xD9, 0x80, 0xB8, 0xB5, 0xD1, 0x6B,\r
+               0x06, 0x07, 0xCD, 0xB8, 0xE9, 0xDD, 0xF5, 0x32, 0x24, 0xF9, 0x93, 0x64, 0xE3, 0xCE, 0x22, 0xB0,\r
+               0x0D, 0x2B, 0xA4, 0xC6, 0x5C, 0x3A, 0xFE, 0xC2, 0x7D, 0x9C, 0xDD, 0xB1, 0x0E, 0x34, 0x0E, 0x3F,\r
+               0x95, 0xBE, 0xC8, 0xCC, 0x63, 0xAC, 0x12, 0x06, 0xA3, 0xA6, 0x7A, 0xAF, 0x05, 0x81, 0xE9, 0xCF,\r
+               0xD0, 0xA9, 0x2A, 0x05, 0x78, 0xE1, 0x0C, 0x48, 0x80, 0x89, 0xFF, 0x99, 0x6B, 0x30, 0xA2, 0xC8,\r
+               0x05, 0x22, 0x5D, 0x41, 0xB6, 0xF5, 0x5C, 0x63, 0x61, 0x30, 0x84, 0x86, 0x89, 0x4E, 0xC2, 0x67,\r
+               0x3E, 0xBA, 0xF9, 0x1C, 0x5F, 0x1E, 0x1A, 0xCA, 0x44, 0x56, 0x71, 0x1A, 0x06, 0x08, 0xBC, 0xF3,\r
+               0xD5, 0xFC, 0x10, 0xB5, 0x49, 0x4A, 0x08, 0x98, 0x6C, 0x07, 0xD8, 0x45, 0xA3, 0x5A, 0x8D, 0xBE,\r
+               0x85, 0xAA, 0xA3, 0x39, 0xC9, 0xAA, 0x62, 0x4F, 0xC7, 0xD7, 0xDC, 0x74, 0x4F, 0x65, 0x1B, 0x7A,\r
+               0x18, 0x6A, 0xF5, 0x83, 0x35, 0x31, 0xD2, 0xBC, 0xCD, 0xC7, 0xE1, 0x82, 0xE4, 0x76, 0xDC, 0x5C,\r
+               0x6B, 0xB9, 0x70, 0x20, 0x09, 0x83, 0xDA, 0x70, 0x4C, 0xD1, 0x78, 0xE3, 0xCE, 0x62, 0x93, 0x85,\r
+               0x59, 0x39, 0xB2, 0x94, 0x6D, 0x91, 0xFA, 0x12, 0xD9, 0xEC, 0xB1, 0x4C, 0x18, 0x13, 0xF1, 0xBD,\r
+               0x8A, 0xC2, 0x6F, 0x99, 0xBA, 0xD3, 0x8C, 0xFC, 0x46, 0xC1, 0x45, 0x15, 0x54, 0x8A, 0x47, 0xAF,\r
+               0x2A, 0xEA, 0x37, 0x37, 0x47, 0x77, 0xE0, 0x8C, 0xB7, 0x8D, 0x2A, 0x61, 0x3F, 0xCF, 0x1D, 0x33,\r
+               0x79, 0x99, 0x14, 0x42, 0xED, 0x71, 0x90, 0xC5, 0x97, 0x5B, 0x8A, 0xC7, 0xB7, 0x31, 0x9D, 0x4B,\r
+               0xF2, 0x3D, 0x83, 0x44, 0xF6, 0x3C, 0x8E, 0x8B, 0xFA, 0xC3, 0x34, 0x7A, 0x8B, 0x02, 0x2D, 0x10,\r
+               0x34, 0x87, 0x0F, 0x0C, 0x2C, 0x67, 0xF4, 0x79, 0x19, 0xED, 0x7B, 0x6A, 0x24, 0x20, 0x41, 0xE6,\r
+               0xE5, 0x48, 0xDD, 0x96, 0xEF, 0x6A, 0xA8, 0x4E, 0x98, 0xFB, 0xE2, 0x0B, 0x86, 0xCA, 0x8E, 0x47,\r
+               0x84, 0xBB, 0x3C, 0x57, 0xE6, 0xDF, 0xC1, 0xA5, 0xE7, 0x01, 0x7C, 0xD2, 0xDB, 0xCC, 0x39, 0x3B,\r
+               0x04, 0x33, 0xC2, 0x2F, 0xC5, 0x8C, 0xB2, 0xD0, 0x9B, 0x02, 0xC7, 0x9B, 0xED, 0x8F, 0xD4, 0xDB,\r
+               0x10, 0x63, 0x0C, 0x04, 0x36, 0x15, 0x36, 0xB4, 0x56, 0x34, 0x51, 0x7E, 0x31, 0x8E, 0xEB, 0x58,\r
+               0x63, 0xB0, 0x89, 0xA7, 0x46, 0x48, 0x3C, 0x0F, 0xCC, 0xA9, 0xF0, 0x1D, 0xD5, 0x8D, 0xCF, 0x50,\r
+               0x78, 0x88, 0x8B, 0x2C, 0xBC, 0x64, 0xD1, 0x80, 0x2F, 0x87, 0xBF, 0x0D, 0x17, 0x97, 0xBD, 0x9D,\r
+               0xC1, 0xAC, 0xDE, 0x9E, 0x7C, 0x4D, 0x69, 0xBF, 0x57, 0x5A, 0x40, 0xE1, 0xC8, 0x1F, 0xD7, 0x22,\r
+               0xF4, 0x4D, 0x29, 0x0D, 0x2D, 0x58, 0x28, 0xFA, 0x5A, 0x6D, 0x1C, 0x22, 0x46, 0x9C, 0x13, 0xFD,\r
+               0x9A, 0xD6, 0x04, 0x6C, 0x17, 0x5D, 0x7D, 0x4A, 0x9F, 0xDC, 0x83, 0x3E, 0xD4, 0x48, 0x75, 0x1B,\r
+               0x8F, 0x97, 0x55, 0x29, 0x77, 0xE3, 0x38, 0xDF, 0xE8, 0xA1, 0x14, 0x1E, 0xEC, 0x4A, 0x6E, 0x90,\r
+               0x92, 0xDF, 0xFD, 0xEB, 0xDA, 0x6D, 0xC9, 0x69, 0xC6, 0xB9, 0xCD, 0xEB, 0x56, 0xC6, 0xA8, 0xD8,\r
+               0xCB, 0x91, 0x28, 0x8E, 0xEE, 0x55, 0x74, 0xCD, 0xF7, 0xF4, 0x68, 0xB9, 0x4E, 0xA0, 0xA1, 0x31,\r
+               0x2E, 0xAE, 0x92, 0xE9, 0x27, 0xC9, 0xA5, 0x19, 0x73, 0x52, 0xA4, 0xE2, 0x02, 0x39, 0x17, 0x23,\r
+               0x71, 0xD9, 0x3C, 0x8F, 0x9D, 0xD3, 0x33, 0x40, 0x86, 0x45, 0x09, 0x2D, 0x92, 0xB4, 0xF2, 0xE8,\r
+               0xEC, 0x89, 0xFA, 0xA5, 0x84, 0xC0, 0xE0, 0xAE, 0x81, 0xBB, 0xB1, 0xC1, 0xD4, 0x20, 0x7D, 0x96,\r
+               0x2D, 0x1A, 0x0B, 0x82, 0xF3, 0xC2, 0xAC, 0x41, 0x57, 0xD9, 0xC0, 0xF9, 0x02, 0x4D, 0xD7, 0xEB,\r
+               0xB7, 0xF2, 0x21, 0x56, 0xCD, 0xB0, 0x4A, 0xA8, 0xEA, 0xE1, 0xF4, 0x5D, 0x6A, 0xB0, 0x27, 0xDF,\r
+               0xFF, 0x5A, 0xE3, 0x4B, 0xAB, 0x45, 0xD6, 0x8D, 0x15, 0x99, 0x18, 0x80, 0x64, 0xA4, 0xCF, 0xE2,\r
+               0x9C, 0x23, 0xB3, 0xA3, 0xFC, 0x48, 0x1E, 0x2E, 0x2B, 0xC6, 0x67, 0xAC, 0x5F, 0x97, 0x46, 0xD8,\r
+               0xE2, 0xC8, 0x91, 0x53, 0xA5, 0x05, 0x42, 0x22, 0x21, 0x9B, 0x17, 0x17, 0xB2, 0xC9, 0x65, 0x9F,\r
+               0x51, 0xBD, 0x5E, 0x9D, 0x35, 0x5F, 0xFC, 0x6B, 0x23, 0x74, 0x5B, 0x60, 0xDD, 0xCB, 0x14, 0x23,\r
+               0x28, 0xEE, 0x90, 0x93, 0xC8, 0xAF, 0x94, 0x5F, 0x5B, 0xC0, 0xCD, 0xE5, 0x8B, 0x71, 0xD4, 0xBE,\r
+               0xA9, 0xE9, 0x6F, 0x1B, 0x0D, 0x89, 0x8D, 0x09, 0x99, 0xB2, 0xD7, 0x28, 0x41, 0xAD, 0xE1, 0x06,\r
+               0xFD, 0x16, 0x94, 0xA4, 0x8F, 0x9F, 0xAA, 0xF6, 0x4D, 0x3F, 0xEA, 0x67, 0x46, 0x52, 0x60, 0x8E,\r
+               0x5D, 0xB0, 0x42, 0x84, 0xC6, 0xEF, 0x00, 0xF0, 0x90, 0xBA, 0x2E, 0xAF, 0x4F, 0xB9, 0x09, 0x3B,\r
+               0xCB, 0x55, 0x74, 0x49, 0x5A, 0x84, 0x45, 0xAA, 0x73, 0x60, 0x95, 0x4B, 0xB3, 0x4A, 0xB9, 0xA0,\r
+               0x17, 0x54, 0xF7, 0x76, 0x0C, 0x43, 0xAB, 0xC9, 0xA3, 0x46, 0x99, 0xD4, 0x5C, 0x9F, 0xA2, 0xFC,\r
+               0xC8, 0xDC, 0x48, 0x1C, 0x12, 0x3E, 0xC9, 0x6C, 0x98, 0x08, 0x12, 0x63, 0x80, 0x11, 0x85, 0x10,\r
+               0x9E, 0x6F, 0xC4, 0x4C, 0x6E, 0x63, 0xCF, 0xDB, 0x96, 0xFE, 0x53, 0x08, 0xA6, 0x10, 0x4F, 0xD0,\r
+               0x1B, 0x59, 0xEB, 0x6F, 0x64, 0xF6, 0xA3, 0x43, 0x7A, 0x68, 0x6C, 0xCC, 0x01, 0x45, 0x33, 0xCF,\r
+               0xED, 0x4C, 0xB1, 0x1F, 0x5F, 0x9B, 0x9B, 0x5D, 0x31, 0x20, 0x4D, 0x32, 0xA2, 0xE7, 0x2A, 0x7C,\r
+               0xA6, 0x6D, 0x4F, 0x57, 0xDE, 0x36, 0xF5, 0xDE, 0x74, 0x9E, 0x2D, 0xA7, 0x76, 0x01, 0xB8, 0x1A,\r
+               0x77, 0xA4, 0x9B, 0xCB, 0xEE, 0x04, 0x87, 0x98, 0x53, 0x72, 0xF1, 0x29, 0xC1, 0x7A, 0x8B, 0xE6,\r
+               0xAB, 0xA5, 0x18, 0xF4, 0x68, 0xC7, 0x58, 0x50, 0xFC, 0x1E, 0xD3, 0xDF, 0x77, 0x82, 0x64, 0x25,\r
+               0x9A, 0x5E, 0x14, 0xE7, 0x54, 0xC4, 0xD1, 0x05, 0x07, 0xCD, 0x0E, 0xD2, 0x66, 0x2F, 0xF7, 0xF9,\r
+               0x3A, 0xF8, 0xC2, 0xC7, 0x2B, 0x22, 0x9E, 0xCE, 0xA4, 0xB8, 0x21, 0x38, 0x9C, 0xA0, 0x1A, 0xD5,\r
+               0x69, 0xBF, 0xD5, 0x86, 0x8C, 0x24, 0xE3, 0x8A, 0x0B, 0xD4, 0x03, 0xCE, 0x0C, 0x59, 0x3F, 0xD6,\r
+               0x1F, 0x68, 0x3B, 0xC4, 0x44, 0xF9, 0x27, 0x0F, 0x59, 0x2F, 0x81, 0x92, 0xF3, 0xA2, 0x6B, 0x69,\r
+               0x5E, 0x39, 0x7E, 0xD1, 0x6C, 0x12, 0xA0, 0x67, 0x00, 0x33, 0xB6, 0x3E, 0x32, 0x1E, 0x0F, 0x7F,\r
+               0xB1, 0x8F, 0x86, 0x12, 0x19, 0x61, 0x83, 0x34, 0x62, 0x61, 0x0A, 0x25, 0x36, 0xE9, 0x6A, 0xD3,\r
+               0x34, 0xB9, 0xA9, 0x31, 0x4C, 0x1D, 0x24, 0x2B, 0xCE, 0x58, 0xA1, 0xEF, 0xA9, 0x87, 0x7B, 0xD2,\r
+               0x54, 0x49, 0xC5, 0x8C, 0xD8, 0x92, 0x62, 0x55, 0xC1, 0x14, 0x25, 0xCF, 0x61, 0xD0, 0x76, 0x71,\r
+               0x19, 0x15, 0x9C, 0x80, 0xC7, 0x25, 0x26, 0x30, 0x56, 0x63, 0x05, 0xB2, 0x29, 0x50, 0x11, 0x32,\r
+               0xF3, 0x57, 0xFF, 0x52, 0x5B, 0x4E, 0x63, 0x6A, 0x68, 0x3C, 0x7A, 0x9E, 0x31, 0x16, 0xEB, 0x5B,\r
+               0x91, 0xEB, 0xE4, 0x00, 0xBA, 0xB2, 0x06, 0x47, 0x72, 0xDA, 0x50, 0x00, 0x08, 0xAE, 0x5A, 0x7A,\r
+               0x40, 0x22, 0x30, 0x9C, 0xDA, 0xE3, 0x0D, 0xE9, 0x0D, 0x90, 0x7E, 0x69, 0x2B, 0xDB, 0x29, 0x29,\r
+               0xF5, 0x2A, 0x58, 0x16, 0x55, 0x0E, 0xF7, 0xC5, 0xDA, 0x48, 0xCA, 0x1A, 0x75, 0x09, 0x5C, 0x3E,\r
+               0x47, 0x9A, 0xDC, 0x62, 0x73, 0xA5, 0xE4, 0x02, 0xDD, 0xB6, 0x72, 0xF6, 0x47, 0xD1, 0xBC, 0xB1,\r
+               0x03, 0x3F, 0x02, 0x66, 0x88, 0xF1, 0x1B, 0xBD, 0x97, 0x44, 0x96, 0x43, 0x3C, 0x0A, 0xE7, 0x42,\r
+               0x2F, 0x56, 0x7C, 0x6D, 0x78, 0xFA, 0xAE, 0x5A, 0xD9, 0x1D, 0x43, 0x26, 0xC6, 0x85, 0x0A, 0x6E,\r
+               0xBA, 0x3A, 0x76, 0xF5, 0xBC, 0x16, 0x91, 0xCC, 0x7E, 0xC3, 0x5D, 0x1C, 0x73, 0x75, 0x01, 0x89,\r
+               0xAD, 0xD8, 0xBF, 0xB0, 0xF2, 0x08, 0x8A, 0x81, 0xFB, 0xE0, 0x6B, 0x33, 0xC2, 0x72, 0x6F, 0xC2,\r
+               0x26, 0xAF, 0xFB, 0x65, 0xD9, 0x58, 0x44, 0x95, 0x80, 0x01, 0x74, 0x8A, 0xBC, 0xDD, 0x8D, 0xA2,\r
+               0xBE, 0x0B, 0xA6, 0x5E, 0x70, 0x1E, 0xAD, 0x7E, 0x75, 0x24, 0xE8, 0xEC, 0xFA, 0x49, 0x02, 0xDC,\r
+               0xF8, 0xE2, 0x0F, 0xB5, 0x22, 0x0C, 0xBB, 0x2A, 0xDC, 0x0C, 0xB7, 0xBD, 0xA8, 0x04, 0xA7, 0xED,\r
+               0xAE, 0x51, 0x83, 0xE5, 0xF5, 0x66, 0x3B, 0xCA, 0xD8, 0xA7, 0x86, 0x6D, 0x97, 0xC0, 0x4B, 0x7B,\r
+               0x6E, 0x07, 0x39, 0x78, 0x06, 0xD6, 0xC7, 0x51, 0xE5, 0xAD, 0x70, 0x7D, 0x84, 0xE6, 0xE0, 0xBC,\r
+               0xBD, 0x82, 0x9A, 0x0B, 0xCA, 0xDE, 0xFB, 0xE3, 0x7C, 0x2C, 0x11, 0x6B, 0x90, 0x3F, 0xCA, 0xF3,\r
+               0x3D, 0x40, 0x2E, 0x39, 0xA8, 0xFE, 0x9F, 0xF1, 0xB5, 0xB9, 0xBE, 0x56, 0xE1, 0x07, 0x1C, 0x91,\r
+               0xC6, 0x9D, 0x23, 0xEA, 0x46, 0x88, 0x48, 0xB3, 0x41, 0x26, 0xE7, 0x7B, 0x78, 0x15, 0x50, 0x27,\r
+               0xEE, 0xC5, 0x8D, 0x4A, 0x36, 0xE4, 0xB5, 0x17, 0x2E, 0xD7, 0x93, 0x37, 0x3D, 0x89, 0x3B, 0x7D,\r
+               0x9D, 0xE6, 0xF8, 0x19, 0x7F, 0x94, 0x1F, 0x11, 0x8E, 0xF7, 0x35, 0xE1, 0xC3, 0xF1, 0xB3, 0xFD,\r
+               0x39, 0x71, 0xFE, 0x92, 0x31, 0x8A, 0x04, 0x5C, 0x30, 0x9A, 0x88, 0x79, 0xF0, 0xAA, 0x8F, 0x4D,\r
+               0x83, 0xFD, 0xB6, 0x54, 0xC3, 0xF0, 0xDE, 0x07, 0x7F, 0x79, 0x98, 0x57, 0xD2, 0x5C, 0x20, 0x21,\r
+               0x4C, 0x2F, 0x2C, 0x85, 0xF4, 0xAC, 0x1D, 0x0A, 0xE6, 0xF8, 0xF9, 0x41, 0x38, 0xFD, 0x82, 0xEE,\r
+               0xBF, 0xCE, 0xED, 0xE4, 0x1F, 0xC5, 0x14, 0xBF, 0x78, 0x87, 0x20, 0xBB, 0x3E, 0x81, 0xDF, 0x59,\r
+               0x37, 0x30, 0x95, 0x64, 0x6A, 0xB6, 0x37, 0xEC, 0xC3, 0xFB, 0x69, 0xB8, 0x7D, 0x61, 0xE9, 0xB4,\r
+               0x67, 0xFE, 0xBE, 0x70, 0x0E, 0x32, 0xC4, 0x75, 0x55, 0x36, 0x8C, 0x8E, 0x7C, 0xE2, 0x35, 0x8B,\r
+               0xB4, 0x7B, 0x1D, 0x03, 0xB5, 0x38, 0xB4, 0x28, 0xF4, 0xAC, 0xEF, 0x13, 0x7F, 0xEA, 0xD1, 0xAF,\r
+               0x8C, 0x79, 0x96, 0x18, 0x3A, 0xD5, 0x4E, 0x04, 0xBB, 0x4F, 0xFF, 0x3D, 0x65, 0x27, 0x13, 0xDD,\r
+               0xA8, 0x2C, 0x24, 0xA1, 0x05, 0x6D, 0x8E, 0x2D, 0x44, 0x37, 0x13, 0xE0, 0xED, 0x98, 0xCC, 0xB7,\r
+               0x49, 0xDB, 0xB7, 0x94, 0x40, 0x2C, 0xDF, 0x38, 0x18, 0x3A, 0xD0, 0xD7, 0x6E, 0x47, 0x42, 0x73,\r
+               0xD2, 0xF6, 0xD6, 0xFA, 0xF0, 0x79, 0xE5, 0x3D, 0x87, 0xFF, 0xCC, 0x66, 0xBA, 0xA1, 0xD0, 0x15,\r
+               0x93, 0xA7, 0x93, 0xEF, 0x65, 0x3C, 0x85, 0x83, 0x10, 0x88, 0xEC, 0x1B, 0xB8, 0x2A, 0xE8, 0x0E,\r
+               0xDB, 0x0F, 0x51, 0xF2, 0xD3, 0xCD, 0x28, 0x0D, 0xC9, 0xA6, 0x19, 0x03, 0x34, 0x62, 0x52, 0xC8,\r
+               0x95, 0xDA, 0x34, 0xAB, 0x77, 0x70, 0x1C, 0x35, 0x6C, 0x97, 0x4B, 0x4E, 0x52, 0x8B, 0x4A, 0xC1,\r
+               0xAA, 0x60, 0x53, 0x4E, 0xA3, 0xA1, 0xD5, 0xA9, 0xA0, 0x13, 0x10, 0xE8, 0xCB, 0x99, 0x06, 0x77,\r
+               0x35, 0xBD, 0xEE, 0x6E, 0xED, 0xA5, 0x44, 0x4B, 0xA1, 0x2E, 0xB3, 0x41, 0x1B, 0x6A, 0x6E, 0xA2,\r
+               0x56, 0x20, 0x74, 0xCF, 0xC9, 0xA6, 0x4C, 0xAF, 0x24, 0xFD, 0x10, 0x32, 0xA0, 0x37, 0x1E, 0xA8,\r
+               0xB3, 0x16, 0xB9, 0x59, 0xF6, 0xA7, 0xCF, 0x73, 0xEA, 0xAD, 0x3B, 0x26, 0xC4, 0xAE, 0xED, 0x2C,\r
+               0xFA, 0x15, 0xC5, 0xE2, 0x1B, 0xE4, 0x2F, 0x45, 0x14, 0x25, 0x43, 0xA6, 0xB1, 0xFD, 0xCE, 0x5F,\r
+               0x23, 0xEF, 0xBA, 0x7C, 0xAC, 0xE2, 0x53, 0x18, 0xF5, 0xD6, 0x82, 0xC7, 0x5A, 0x48, 0xC7, 0x36,\r
+               0x42, 0xF9, 0x3B, 0xE5, 0x63, 0x08, 0xF2, 0xBA, 0x27, 0x19, 0x18, 0x16, 0x6D, 0x45, 0x04, 0x6A,\r
+               0x52, 0xD7, 0xD8, 0xAA, 0x0F, 0x2A, 0x04, 0x15, 0xAB, 0xA3, 0x50, 0xD0, 0x9F, 0x1E, 0xDE, 0x10,\r
+               0xEF, 0x4F, 0xB5, 0x14, 0xBF, 0x19, 0x5F, 0x29, 0x3C, 0x07, 0x56, 0x5B, 0xD1, 0x53, 0xC5, 0x0E,\r
+               0xCA, 0x46, 0x51, 0x3A, 0x35, 0x11, 0x37, 0x9C, 0xBA, 0x30, 0xFD, 0x0C, 0x0D, 0xEB, 0x0F, 0x3B,\r
+               0x91, 0xE0, 0xD5, 0xF6, 0x83, 0x88, 0x25, 0xD0, 0x00, 0x0F, 0x9A, 0xE9, 0xD9, 0x77, 0xC6, 0xEA,\r
+               0xC3, 0xAD, 0xE4, 0x53, 0x8A, 0xEE, 0xCC, 0xC8, 0xD5, 0x41, 0xFF, 0xB0, 0x7D, 0x4F, 0xF2, 0x57,\r
+               0x36, 0xB5, 0xCA, 0x8A, 0x4C, 0x62, 0x84, 0x72, 0x7D, 0x09, 0x3D, 0xAD, 0xCB, 0xC1, 0x5F, 0xA6,\r
+               0x16, 0xC8, 0xBD, 0x1D, 0x57, 0x60, 0x0F, 0x4A, 0x2C, 0x48, 0x78, 0xB8, 0x5E, 0x7F, 0x3F, 0xE3,\r
+               0x0A, 0x79, 0x78, 0x82, 0x31, 0xB4, 0xE9, 0xD8, 0x01, 0xD3, 0x19, 0xD6, 0xEE, 0x7A, 0x05, 0xB6,\r
+               0xC9, 0x4E, 0x75, 0xDE, 0xF5, 0x37, 0x36, 0x56, 0xF6, 0x32, 0x8A, 0xE3, 0xAB, 0x6F, 0x54, 0xF7,\r
+               0x25, 0x93, 0x0D, 0x21, 0x9F, 0xBF, 0x89, 0x89, 0xA3, 0x16, 0x38, 0x5A, 0x94, 0x46, 0x94, 0x4F,\r
+               0xAE, 0x24, 0x43, 0x1A, 0xE0, 0x66, 0x73, 0x17, 0x75, 0xBC, 0x55, 0x27, 0x77, 0xD7, 0x9E, 0xC2,\r
+               0xB1, 0x9D, 0xA2, 0x61, 0x80, 0x18, 0xDC, 0xF5, 0x02, 0x37, 0x11, 0xF2, 0x5C, 0xC3, 0x50, 0x92,\r
+               0x87, 0xB2, 0x81, 0xE4, 0xCB, 0xA9, 0xDB, 0x9B, 0xE0, 0x20, 0xD8, 0xB7, 0x12, 0x8E, 0x4B, 0x8C,\r
+               0x99, 0x88, 0x5F, 0x43, 0x2C, 0x1C, 0x2B, 0x90, 0x8C, 0xB5, 0xD2, 0x2F, 0xD6, 0x18, 0x74, 0x60,\r
+               0x4C, 0xED, 0x06, 0x0D, 0x00, 0xE6, 0xA4, 0x7D, 0xE5, 0x99, 0xAC, 0x24, 0x26, 0xFF, 0xC1, 0x6B,\r
+               0xA8, 0x58, 0xF4, 0x47, 0xF3, 0x9D, 0x7F, 0x26, 0x40, 0xDD, 0x72, 0x20, 0xDD, 0x40, 0x3E, 0x3F,\r
+               0x10, 0xB4, 0x0A, 0x40, 0x7C, 0xAF, 0xA7, 0xC6, 0xF0, 0x6F, 0xF6, 0x54, 0xFB, 0x87, 0x2D, 0x94,\r
+               0xA4, 0xC7, 0xD2, 0x97, 0x6B, 0xF1, 0x75, 0xB3, 0xF8, 0xDA, 0x9E, 0xDE, 0x74, 0xAB, 0xD7, 0x79,\r
+               0x49, 0x99, 0x95, 0xB4, 0x3F, 0xE7, 0x27, 0xA1, 0x1F, 0x74, 0x23, 0x08, 0x98, 0x55, 0x6F, 0x7E,\r
+               0x3D, 0xD5, 0x64, 0xDB, 0x65, 0xA2, 0xBB, 0xCA, 0x47, 0x5C, 0x8D, 0xA8, 0xE8, 0xF1, 0x92, 0x12,\r
+               0x64, 0xF8, 0xFB, 0x2F, 0xD3, 0x3B, 0xA9, 0x86, 0x9A, 0xA7, 0x80, 0x7B, 0x06, 0xB3, 0x45, 0x64,\r
+               0xCB, 0xC5, 0x6E, 0xE6, 0xB1, 0x4A, 0x91, 0x50, 0x58, 0x27, 0x34, 0x49, 0x64, 0xA1, 0x21, 0x44,\r
+               0xAA, 0xD3, 0xEF, 0x7F, 0xFE, 0x5E, 0x48, 0x7A, 0xDD, 0xF4, 0x97, 0x3A, 0xA8, 0x13, 0x1D, 0x4C,\r
+               0x5C, 0xC3, 0xE5, 0x42, 0x39, 0x4D, 0x6E, 0xD1, 0x8B, 0x34, 0x2D, 0xA7, 0x5B, 0x88, 0xE1, 0xFC,\r
+               0x6D, 0x13, 0x4E, 0x46, 0xAF, 0x72, 0xAA, 0x3D, 0x38, 0x62, 0xA1, 0xF7, 0x8C, 0x68, 0x61, 0x96,\r
+               0x32, 0x42, 0x66, 0xEF, 0x9E, 0x20, 0xE7, 0x98, 0xD1, 0x24, 0x08, 0x1C, 0xDE, 0x3C, 0x77, 0x84,\r
+               0xD9, 0x60, 0x96, 0x91, 0x94, 0xD6, 0xF7, 0xA5, 0x65, 0xF3, 0x7B, 0xC4, 0x22, 0xC8, 0x39, 0xBE,\r
+               0xFB, 0x96, 0xFA, 0x3E, 0x97, 0x46, 0x0E, 0x80, 0x22, 0xA0, 0x6C, 0x85, 0x85, 0x8C, 0x44, 0xB8,\r
+               0xD4, 0x7C, 0x8F, 0x9D, 0xBB, 0xBC, 0x81, 0x6D, 0x84, 0x00, 0xBA, 0xA5, 0xFA, 0x47, 0x0B, 0x5E,\r
+               0x09, 0x71, 0x5C, 0x66, 0x67, 0xAD, 0x2C, 0xFE, 0x7F, 0x31, 0xB6, 0xB6, 0xC6, 0x12, 0x82, 0x5D,\r
+               0x2B, 0x87, 0x30, 0xC9, 0xA4, 0x1B, 0xD4, 0x11, 0x7E, 0xED, 0x35, 0x89, 0x40, 0xDA, 0x5D, 0x9E,\r
+               0xF7, 0x09, 0xDC, 0xEE, 0x58, 0xAC, 0xAF, 0x22, 0xB7, 0x3C, 0xE1, 0x15, 0x70, 0x9C, 0x2F, 0xAC,\r
+               0x97, 0x9C, 0x62, 0xAB, 0x3E, 0x78, 0x49, 0xB0, 0x96, 0x77, 0x1F, 0x5D, 0xF1, 0x1F, 0x41, 0x01,\r
+               0xB6, 0x62, 0x2A, 0xE0, 0x8D, 0xDB, 0xEB, 0xA9, 0x83, 0x81, 0x45, 0x2D, 0xCA, 0x01, 0x79, 0x6C,\r
+               0x8A, 0xAE, 0x98, 0xE8, 0x38, 0xD2, 0x00, 0xC0, 0x31, 0x0B, 0x4A, 0x42, 0x14, 0x05, 0xDC, 0x28,\r
+               0xA0, 0x30, 0x7E, 0xF2, 0x19, 0xEB, 0xB8, 0x71, 0x8D, 0x69, 0x51, 0x10, 0xF5, 0x28, 0xB9, 0xD4,\r
+               0xDF, 0x1C, 0x21, 0xCC, 0x70, 0xF3, 0xFE, 0x8B, 0xCF, 0x83, 0x32, 0xC2, 0x69, 0x72, 0xFC, 0xBF,\r
+               0xFF, 0x61, 0x56, 0x5B, 0x33, 0xBB, 0x7E, 0xEC, 0x93, 0xCE, 0x6B, 0xCE, 0x76, 0x17, 0xB8, 0x08,\r
+               0x7B, 0x41, 0x1A, 0x54, 0x90, 0x73, 0x29, 0xE1, 0x63, 0xAE, 0x07, 0x73, 0xE2, 0x69, 0xFE, 0x87,\r
+               0xD0, 0x8B, 0x23, 0xF8, 0x91, 0xEC, 0x47, 0xF0, 0x55, 0x2B, 0x28, 0x50, 0xB7, 0x76, 0x59, 0xFB,\r
+               0x6C, 0x90, 0x71, 0x9A, 0x3D, 0xE8, 0xB0, 0x95, 0xE3, 0xC4, 0xD0, 0x93, 0xC2, 0x25, 0x7A, 0x88,\r
+               0x5B, 0x3C, 0x6D, 0xC3, 0x2B, 0x29, 0x0C, 0xF1, 0xB2, 0x85, 0x95, 0x86, 0xEA, 0x4D, 0xFD, 0x63,\r
+               0x81, 0xCE, 0x36, 0xB9, 0x61, 0x07, 0x65, 0x8E, 0x67, 0xCB, 0xF0, 0xDF, 0x9B, 0x29, 0x26, 0xC5,\r
+               0xCD, 0xB9, 0xD9, 0xBB, 0xDD, 0x68, 0x67, 0xFF, 0x12, 0x78, 0x3F, 0x11, 0x0B, 0x60, 0x98, 0x9F,\r
+               0xBD, 0x02, 0x84, 0xB1, 0x9A, 0x85, 0x39, 0xDC, 0xF9, 0x06, 0x1D, 0xE1, 0x52, 0x6C, 0xC4, 0xD2,\r
+               0xC2, 0x2E, 0xDB, 0x8F, 0xA0, 0xBE, 0x0A, 0x55, 0x80, 0x65, 0x4D, 0x09, 0x05, 0xCF, 0x0C, 0xDF,\r
+               0x2E, 0xF3, 0xA3, 0x70, 0x9D, 0xB0, 0x1E, 0xBD, 0x28, 0x2D, 0x8F, 0x14, 0x63, 0xEA, 0x90, 0x2A,\r
+               0x1A, 0x57, 0x9B, 0xCD, 0xA9, 0xD8, 0xE3, 0x4D, 0xC0, 0xB7, 0xA5, 0xC0, 0x5D, 0x03, 0x76, 0x58,\r
+               0x6B, 0x6F, 0xF9, 0x1B, 0xD4, 0x0E, 0x8E, 0xE7, 0x53, 0x76, 0x54, 0xE7, 0x2A, 0xEC, 0x3A, 0x5A,\r
+               0xD3, 0x83, 0x07, 0x1C, 0xAA, 0x48, 0x1A, 0x68, 0x03, 0xEB, 0x92, 0xCD, 0x33, 0x02, 0xE9, 0x49,\r
+               0x89, 0xA6, 0xBC, 0x0C, 0x92, 0x7C, 0xBE, 0xD5, 0xB5, 0x04, 0x6A, 0x0E, 0xC0, 0x99, 0x15, 0xF9,\r
+               0xC8, 0xCD, 0x4A, 0x02, 0x52, 0x5A, 0xBF, 0x1F, 0x06, 0x52, 0xE6, 0x5E, 0xBC, 0x2E, 0x13, 0xA4,\r
+               0x43, 0x7A, 0x04, 0x39, 0xBE, 0x86, 0x31, 0x38, 0x8E, 0x8D, 0x59, 0x34, 0xA2, 0x8B, 0x71, 0xD9,\r
+               0x4F, 0xE5, 0x22, 0xE9, 0xE2, 0x69, 0xE4, 0x23, 0x8F, 0x51, 0xDA, 0x0B, 0xF4, 0xE8, 0x9F, 0x1E,\r
+               0xF4, 0x01, 0xF8, 0x0A, 0x79, 0x95, 0x17, 0x93, 0x6A, 0xC7, 0xEC, 0xC6, 0x68, 0xB2, 0xDA, 0x75,\r
+               0x30, 0xC9, 0x7D, 0xD7, 0xCC, 0x9C, 0xFC, 0xFA, 0xCC, 0x67, 0x3A, 0xE6, 0x21, 0xB4, 0x70, 0x05,\r
+               0x0D, 0x86, 0xF0, 0x03, 0x44, 0x9B, 0x03, 0x7B, 0x33, 0x33, 0xC1, 0x59, 0xA3, 0x4B, 0x57, 0x13,\r
+               0x17, 0x4B, 0x82, 0xC1, 0xFC, 0x51, 0xDF, 0x4E, 0x34, 0xB2, 0x3E, 0xD1, 0x66, 0x1D, 0x4E, 0x35,\r
+               0xD6, 0x7D, 0xA1, 0x2E, 0x1B, 0x13, 0x36, 0x2F, 0x1B, 0x9A, 0x5E, 0x91, 0xA5, 0x2E, 0xE4, 0xCE,\r
+               0xDA, 0xE2, 0x87, 0xFE, 0x47, 0xFC, 0xE3, 0x34, 0x1A, 0x46, 0xDD, 0xAE, 0xF3, 0x4D, 0x0A, 0x09,\r
+               0x1C, 0xA1, 0x19, 0x1B, 0x37, 0xE9, 0xB9, 0xC2, 0x20, 0x13, 0x6D, 0xAB, 0xC7, 0x3C, 0x80, 0xEE,\r
+               0x5D, 0xCA, 0xEF, 0x15, 0xF7, 0xCF, 0xB8, 0x08, 0x93, 0x45, 0xE1, 0xFB, 0xBB, 0x8B, 0x86, 0xB3,\r
+               0x98, 0x81, 0x55, 0x14, 0xE1, 0x0E, 0x04, 0x6C, 0xA6, 0x24, 0xC6, 0xFC, 0xA4, 0xEE, 0xC2, 0x04,\r
+               0x82, 0x4C, 0x27, 0xD6, 0x59, 0xC4, 0xD8, 0x59, 0xA1, 0xA5, 0x39, 0x74, 0x61, 0xB8, 0xDB, 0x22,\r
+               0x61, 0x06, 0x5D, 0x1D, 0xDC, 0x00, 0x10, 0x84, 0xFF, 0xD0, 0xEB, 0x63, 0x6F, 0x17, 0x4F, 0x62,\r
+               0xA5, 0xCE, 0xD8, 0xC0, 0x69, 0x09, 0xFB, 0xED, 0x59, 0x70, 0x3D, 0x43, 0x26, 0x11, 0xE5, 0x12,\r
+               0x28, 0x05, 0x21, 0xA6, 0x3F, 0x10, 0x3E, 0xCB, 0x6C, 0x11, 0x1A, 0x44, 0x55, 0xC9, 0x51, 0xC5,\r
+               0x57, 0x29, 0x7E, 0x98, 0x05, 0x2B, 0x0D, 0x42, 0x15, 0x72, 0x4A, 0xAC, 0x02, 0x6A, 0x99, 0xC8,\r
+               0x14, 0xC9, 0x93, 0xAE, 0xC4, 0x92, 0x62, 0x99, 0xF2, 0xDC, 0xF7, 0x7A, 0x9C, 0x8C, 0xB3, 0xD2,\r
+               0x58, 0xBE, 0x7C, 0xAC, 0x78, 0xFD, 0x60, 0xE8, 0x87, 0x6F, 0x38, 0xB4, 0x0C, 0xC5, 0x0D, 0x88,\r
+               0xFE, 0x68, 0x5C, 0x0C, 0x71, 0x9B, 0x89, 0xF0, 0xC6, 0x61, 0x53, 0x42, 0x2D, 0x49, 0xAF, 0x4D,\r
+               0x46, 0x84, 0xA2, 0x0B, 0x0F, 0xDD, 0x1D, 0x7F, 0x96, 0xFC, 0x95, 0x68, 0x34, 0xA7, 0x7C, 0x5E,\r
+               0xBB, 0xF4, 0x06, 0x67, 0x38, 0x25, 0x19, 0xAA, 0xBD, 0x3A, 0x88, 0xB1, 0x64, 0x4F, 0x05, 0x3D,\r
+               0x8F, 0x50, 0x3E, 0xDA, 0x0C, 0x4D, 0xE4, 0x5A, 0x55, 0xA0, 0xA2, 0x65, 0x5A, 0xA6, 0xE3, 0x4F,\r
+               0x4A, 0x1B, 0x84, 0xDB, 0xD5, 0x66, 0xF9, 0x9C, 0x5A, 0x94, 0x35, 0x67, 0x6E, 0xD7, 0x69, 0xA8,\r
+               0x6A, 0x66, 0xF3, 0x4C, 0x96, 0x2E, 0x79, 0xFB, 0x06, 0xD9, 0x6C, 0x6B, 0x71, 0xB2, 0x2D, 0x1F,\r
+               0x1F, 0xA9, 0x3D, 0xFF, 0x9D, 0x47, 0x07, 0xD7, 0xA4, 0x1C, 0x4D, 0xE7, 0x13, 0xA0, 0x49, 0x3F,\r
+               0x35, 0x37, 0xDB, 0xE5, 0xBC, 0x7E, 0xBF, 0x66, 0x18, 0x7E, 0x56, 0xB5, 0xF2, 0x8D, 0x2C, 0xC3,\r
+               0xF9, 0x97, 0xD4, 0x8D, 0x98, 0x7D, 0xB7, 0x82, 0x76, 0xD3, 0xD7, 0x36, 0xC5, 0x80, 0xEF, 0x9F,\r
+               0xCE, 0x3B, 0xC8, 0xD4, 0x8E, 0xBC, 0x0B, 0xE6, 0x27, 0x92, 0x92, 0x23, 0xED, 0xE8, 0x68, 0x74,\r
+               0xEE, 0x46, 0xBF, 0x43, 0x35, 0xE6, 0x2E, 0xF6, 0xF6, 0xB9, 0x00, 0xD6, 0xE5, 0xCC, 0x6B, 0x90,\r
+               0x45, 0x8C, 0x86, 0xEF, 0x34, 0x79, 0x40, 0xE7, 0xC0, 0x3C, 0x2F, 0xF5, 0xB0, 0xD3, 0xCC, 0xEC,\r
+               0x41, 0x7B, 0x2A, 0x8A, 0x1E, 0x29, 0x86, 0x7A, 0x11, 0x17, 0xBD, 0x00, 0xFD, 0xE2, 0x9E, 0x49,\r
+               0x9C, 0x76, 0xF9, 0x71, 0xC2, 0x38, 0x2B, 0xE9, 0xEA, 0x26, 0xB1, 0x13, 0xC1, 0xB7, 0x17, 0x4A,\r
+               0x4C, 0x67, 0x33, 0x86, 0x31, 0x43, 0xF0, 0xB2, 0xF0, 0xE4, 0x7C, 0x61, 0x25, 0x6D, 0xAC, 0xA9,\r
+               0x6E, 0x91, 0x5F, 0x29, 0x32, 0xD3, 0x09, 0x97, 0xB7, 0xB7, 0x6B, 0x20, 0x82, 0x29, 0xD1, 0xAF,\r
+               0x02, 0x9B, 0xC7, 0xBC, 0x9B, 0xED, 0x4E, 0xA7, 0x03, 0x60, 0x18, 0xF8, 0xF6, 0xBA, 0xD4, 0x16,\r
+               0x23, 0x65, 0x8F, 0xF7, 0x28, 0x4E, 0xEC, 0xBE, 0x16, 0x96, 0x42, 0x88, 0xCD, 0xA4, 0xEC, 0x7B,\r
+               0xBE, 0x80, 0x95, 0xDE, 0x01, 0x8E, 0xD3, 0x06, 0xEB, 0xFA, 0x32, 0x2C, 0x47, 0x7F, 0xC8, 0x89,\r
+               0x62, 0x0E, 0x79, 0xF9, 0xFD, 0x39, 0xA8, 0x35, 0x22, 0x2B, 0xE6, 0xB0, 0x77, 0x39, 0xBA, 0xBB,\r
+               0xF1, 0xFF, 0x5E, 0x38, 0x76, 0xAE, 0xAE, 0x91, 0x0F, 0xB0, 0x87, 0xDE, 0x01, 0x16, 0xD0, 0x73,\r
+               0x5E, 0xC2, 0xCB, 0xF1, 0x14, 0xDF, 0x96, 0x47, 0xCD, 0x30, 0x33, 0xEC, 0x63, 0x04, 0xB4, 0x53,\r
+               0xDC, 0x9E, 0x30, 0xA3, 0x9A, 0x72, 0x20, 0xB6, 0x8A, 0x63, 0x24, 0xAD, 0x9F, 0xF0, 0xFA, 0x69,\r
+               0xA8, 0xD2, 0xC1, 0xCC, 0xC0, 0x37, 0xBC, 0xDD, 0xD2, 0x4B, 0x8A, 0x0D, 0xEF, 0x54, 0x07, 0x05,\r
+               0xF8, 0x14, 0xEB, 0x51, 0x0A, 0xE7, 0xAD, 0x2A, 0xAD, 0x75, 0xA6, 0x52, 0x8B, 0xCD, 0xF4, 0x81,\r
+               0xA7, 0x45, 0xC3, 0xF8, 0x3B, 0xB5, 0xE0, 0x8F, 0x44, 0x33, 0x0F, 0xB9, 0xD9, 0x99, 0xE2, 0x93,\r
+               0x3F, 0xD4, 0x4A, 0x68, 0x5B, 0xCB, 0x4F, 0x6D, 0x48, 0xE3, 0x90, 0x9F, 0xAF, 0xB6, 0x88, 0x5B,\r
+               0xC9, 0xC4, 0x40, 0x55, 0x9C, 0xD8, 0x69, 0xC6, 0x1E, 0x23, 0x2A, 0x02, 0x5C, 0x2D, 0x74, 0xEB,\r
+               0x12, 0xB5, 0x24, 0xF3, 0x6E, 0x3C, 0xDC, 0x8C, 0x75, 0x37, 0xDF, 0x12, 0x15, 0x2B, 0xDE, 0x9B,\r
+               0x0C, 0x8F, 0xFA, 0x54, 0x89, 0x89, 0x2C, 0x87, 0x19, 0xA2, 0xD5, 0x8A, 0xD1, 0xBD, 0xE1, 0x77,\r
+               0x3B, 0x23, 0xE6, 0x0D, 0x45, 0xF3, 0x74, 0x00, 0xE0, 0xAB, 0x52, 0x82, 0x70, 0x72, 0x0B, 0xD5,\r
+               0x24, 0x9A, 0x07, 0x76, 0x25, 0x8D, 0xDB, 0xE2, 0x97, 0x20, 0x16, 0x57, 0x5B, 0x66, 0xC5, 0x85,\r
+               0x85, 0xB3, 0xAF, 0x57, 0xD9, 0x3A, 0xA0, 0xD1, 0x65, 0x78, 0xF1, 0xF1, 0xFC, 0x22, 0xB8, 0x83,\r
+               0x31, 0xC0, 0x77, 0x80, 0xCE, 0x64, 0x72, 0xA4, 0x6D, 0xCD, 0x99, 0x7B, 0x73, 0x0E, 0x42, 0x6E,\r
+               0xD9, 0xEA, 0xA3, 0x1A, 0xA5, 0x73, 0xA3, 0x6A, 0x70, 0x8E, 0xAB, 0x81, 0x21, 0x5A, 0x54, 0x7C,\r
+               0x3D, 0x5F, 0x51, 0x50, 0x56, 0x08, 0x78, 0x31, 0xD5, 0xCA, 0x75, 0x85, 0xDA, 0xE5, 0xAB, 0x28,\r
+               0x56, 0xAA, 0x41, 0x44, 0x2F, 0x7B, 0xCB, 0xDF, 0x40, 0x56, 0xF8, 0x15, 0x7A, 0xEA, 0x67, 0x40,\r
+               0xA3, 0xB2, 0x6F, 0x9D, 0xE9, 0xF7, 0x83, 0x65, 0xE8, 0x1E, 0x3A, 0x08, 0xCC, 0x64, 0xCA, 0xB1,\r
+               0x5F, 0x41, 0xF4, 0x2D, 0x90, 0x84, 0x30, 0x8B, 0x2F, 0x27, 0xFA, 0xA9, 0x0A, 0x4E, 0x9A, 0x2C,\r
+               0x04, 0xE7, 0x70, 0xE1, 0x26, 0x1D, 0x22, 0xC7, 0x95, 0x18, 0x9D, 0x4C, 0xDE, 0xD2, 0x53, 0xFD,\r
+               0x5C, 0x49, 0xD0, 0xC9, 0x50, 0xA2, 0x31, 0x41, 0x63, 0x25, 0x8D, 0x46, 0xAC, 0xCA, 0xC1, 0xE0,\r
+               0xB0, 0x94, 0xA8, 0x36, 0x3A, 0x2A, 0x8E, 0x9E, 0x36, 0x01, 0x3F, 0xFF, 0x93, 0xE3, 0x01, 0x58,\r
+               0x83, 0xCF, 0x18, 0x0A, 0xF2, 0xF5, 0x08, 0x5D, 0xB9, 0x5F, 0x7F, 0x1D, 0x59, 0xDA, 0xAA, 0xF4,\r
+               0x9F, 0x7E, 0xDD, 0x95, 0x94, 0x21, 0xEE, 0xCF, 0x94, 0xC4, 0x1E, 0x73, 0xE9, 0xDF, 0x90, 0xA1,\r
+               0x26, 0x11, 0x1C, 0x4E, 0x53, 0x32, 0xC8, 0x64, 0x7F, 0xBA, 0x3C, 0x83, 0xC3, 0x0B, 0x78, 0x3B,\r
+               0x6F, 0x12, 0x60, 0xF5, 0xBE, 0x71, 0x28, 0x52, 0x81, 0x32, 0x44, 0x03, 0xB6, 0x58, 0x5B, 0x48,\r
+               0xA0, 0xBA, 0x4B, 0x79, 0x48, 0x30, 0x43, 0x5C, 0x34, 0x39, 0xB4, 0xE4, 0x1C, 0xCF, 0xFB, 0xB5,\r
+               0xC3, 0x27, 0xD1, 0xD8, 0x6C, 0x33, 0x4B, 0xB8, 0xB1, 0xEA, 0x17, 0x97, 0xA7, 0x92, 0x8B, 0xBF,\r
+               0xC7, 0xD0, 0x7D, 0xBD, 0xAA, 0xBF, 0x03, 0x02, 0x3E, 0xB4, 0x57, 0x75, 0x98, 0xBB, 0x4B, 0x07,\r
+               0x7A, 0x48, 0x10, 0x03, 0x1A, 0x8C, 0x58, 0x3E, 0xA9, 0x10, 0x51, 0xFE, 0xD6, 0xF6, 0x50, 0x19,\r
+               0xB6, 0xE8, 0x1F, 0x6B, 0x09, 0x77, 0x54, 0x0F, 0x60, 0xC1, 0x85, 0x62, 0x5D, 0xED, 0x52, 0x21,\r
+               0xD7, 0xFE, 0x9E, 0xF2, 0xC6, 0x9D, 0xF5, 0xAD, 0xB2, 0x0E, 0x1F, 0xB3, 0x6A, 0xE0, 0x91, 0x7D,\r
+               0x05, 0x65, 0xBC, 0xA1, 0x4E, 0x8F, 0xBE, 0x85, 0x44, 0x08, 0x47, 0x28, 0x41, 0x58, 0x0D, 0xA2,\r
+               0xDB, 0x61, 0xF8, 0x04, 0x1A, 0x74, 0x01, 0x7A, 0xF1, 0xEC, 0xB5, 0x62, 0xB2, 0x03, 0xD6, 0xD9,\r
+               0x5F, 0x15, 0x4A, 0xB4, 0xB1, 0x52, 0xC6, 0x69, 0x1D, 0x54, 0x4B, 0x65, 0x3D, 0xE3, 0x0E, 0xEB,\r
+               0x37, 0x9F, 0xFF, 0xBC, 0x5C, 0xDD, 0xEA, 0x93, 0x6E, 0xE0, 0x93, 0xB2, 0x2A, 0x96, 0xDC, 0xB5,\r
+               0xFC, 0x66, 0x99, 0x31, 0xE7, 0xDE, 0x96, 0xDA, 0x8D, 0xEA, 0x02, 0x3F, 0xA1, 0x32, 0xDA, 0x22,\r
+               0xB8, 0xB3, 0x12, 0x46, 0xB7, 0xF5, 0x82, 0x14, 0x34, 0xF5, 0xE3, 0x44, 0xC1, 0xD0, 0x75, 0x5C,\r
+               0x71, 0xF6, 0x05, 0xA4, 0xA9, 0xBB, 0xCF, 0x0F, 0x1B, 0xC3, 0xC0, 0xC1, 0x8A, 0xBE, 0x72, 0xED,\r
+               0x7B, 0x6E, 0x90, 0xC8, 0x45, 0x7F, 0x59, 0x30, 0x21, 0xDD, 0x1E, 0x66, 0x6D, 0xB5, 0x82, 0x58,\r
+               0x3E, 0x7B, 0xD1, 0x99, 0x69, 0x01, 0x52, 0x59, 0x7A, 0xEE, 0xAE, 0x5A, 0xBF, 0x5F, 0xE1, 0x1A,\r
+               0x84, 0xE6, 0x11, 0xCF, 0xD9, 0xF2, 0xC9, 0xA5, 0x6A, 0x18, 0xA4, 0x67, 0x78, 0xF4, 0xC7, 0x09,\r
+               0x08, 0xB6, 0x47, 0x7C, 0xB3, 0x25, 0x29, 0x25, 0xBA, 0x29, 0x0F, 0x63, 0xEE, 0x18, 0x03, 0x36,\r
+               0xA1, 0x5D, 0x01, 0x95, 0xA1, 0x77, 0x7D, 0x33, 0xEB, 0x76, 0x27, 0xCA, 0xDF, 0xBD, 0x4E, 0x64,\r
+               0x8A, 0x49, 0x51, 0x5B, 0x5B, 0x31, 0x14, 0x2B, 0x30, 0x0D, 0xD4, 0x91, 0x7E, 0x84, 0x8E, 0xA3,\r
+               0x24, 0xE9, 0x79, 0x03, 0x37, 0x41, 0xB0, 0xD6, 0x7C, 0x79, 0x25, 0xFE, 0x24, 0xEF, 0x12, 0xE6,\r
+               0x29, 0x3A, 0x82, 0xDE, 0x41, 0xAF, 0xF2, 0x01, 0x51, 0x20, 0xBA, 0x0A, 0x92, 0xA3, 0x00, 0x7F,\r
+               0x9D, 0x08, 0x02, 0x1C, 0x61, 0xCD, 0xE0, 0x65, 0x6C, 0x8F, 0x2F, 0xC3, 0xF0, 0x75, 0x38, 0x0E,\r
+               0x2B, 0x86, 0xF3, 0xB1, 0x13, 0xF3, 0x09, 0x83, 0x46, 0x67, 0xFB, 0x59, 0xED, 0x3D, 0xFA, 0xA6,\r
+               0xB1, 0x57, 0x3C, 0x63, 0x4F, 0xC4, 0x04, 0x40, 0x50, 0x06, 0x7A, 0xC0, 0x22, 0x9F, 0x5B, 0x4C,\r
+               0xF9, 0x91, 0x86, 0xEF, 0x35, 0x36, 0x5F, 0x9A, 0x7E, 0x16, 0x99, 0x8F, 0x4E, 0x30, 0xAD, 0x6E,\r
+               0xFF, 0x1A, 0x22, 0x78, 0x2B, 0x78, 0x12, 0x81, 0xE6, 0xAB, 0xF4, 0x31, 0xFE, 0x0C, 0xF6, 0x5D,\r
+               0x1A, 0x00, 0x0B, 0xE5, 0x87, 0xB2, 0x2B, 0x2A, 0x14, 0x71, 0xAF, 0x4B, 0xAC, 0x6E, 0xED, 0xE1,\r
+               0xB9, 0x73, 0xD8, 0x60, 0x8D, 0x09, 0x76, 0x5A, 0x89, 0x12, 0x35, 0xEA, 0x88, 0x8A, 0xE5, 0xE2,\r
+               0x92, 0x67, 0x88, 0xAE, 0x09, 0x6D, 0xEF, 0xA9, 0xBF, 0xF7, 0xF8, 0x7C, 0xB7, 0x56, 0x66, 0xE3,\r
+               0xEA, 0xE7, 0x00, 0x50, 0x7A, 0x18, 0xBC, 0x8A, 0xBC, 0xBE, 0x84, 0xC7, 0x5A, 0x60, 0x86, 0xA0,\r
+               0xD1, 0xF9, 0x6D, 0x68, 0xC6, 0xF7, 0x3E, 0x7B, 0x61, 0x52, 0xFC, 0x38, 0x16, 0x6F, 0xA6, 0x24,\r
+               0xB0, 0x97, 0xF6, 0x45, 0x93, 0x47, 0x3B, 0x41, 0xD0, 0x4E, 0x39, 0xA7, 0x70, 0xFD, 0x40, 0xF0,\r
+               0x23, 0xA2, 0x17, 0xB2, 0xD2, 0x02, 0x2E, 0x10, 0xE7, 0x8D, 0x34, 0xFB, 0xB4, 0x73, 0x9F, 0x73,\r
+               0x91, 0x1B, 0x33, 0xE7, 0x6A, 0x3D, 0x07, 0xD0, 0x3A, 0x61, 0x4C, 0x04, 0xDE, 0xAC, 0x20, 0xFB,\r
+               0x54, 0x4D, 0x15, 0xFE, 0x1E, 0xA4, 0xAA, 0x4B, 0xEF, 0x8E, 0x10, 0x1F, 0x74, 0xB9, 0x9E, 0x55,\r
+               0x33, 0xA8, 0x2A, 0x44, 0xCF, 0x70, 0x36, 0x82, 0x49, 0xD5, 0x94, 0xD3, 0xC2, 0xF5, 0x8C, 0xCC,\r
+               0x56, 0xF1, 0x64, 0x91, 0x72, 0xD4, 0x0E, 0xB6, 0x04, 0x87, 0xA5, 0x76, 0xCB, 0xED, 0x65, 0xAA,\r
+               0x94, 0xEC, 0x2C, 0x39, 0x83, 0x62, 0x80, 0x1B, 0x1C, 0x72, 0x8B, 0xAF, 0x0D, 0x57, 0x2D, 0x26,\r
+               0x26, 0x55, 0x08, 0x6C, 0x0F, 0xCA, 0xAB, 0xD4, 0x5A, 0x6A, 0xE2, 0x55, 0xDC, 0x98, 0xB7, 0xF4,\r
+               0x0C, 0x81, 0x92, 0x84, 0x7D, 0xF4, 0x42, 0x32, 0xFE, 0x5E, 0xDA, 0xE8, 0xE8, 0x68, 0x4A, 0x9C,\r
+               0xFD, 0xA6, 0x53, 0x17, 0x7F, 0x83, 0xAD, 0x7E, 0xC6, 0x2F, 0xB8, 0x3E, 0x95, 0xC2, 0x27, 0x4A,\r
+               0x3B, 0x8C, 0xCE, 0x47, 0x6C, 0x9A, 0x43, 0xAD, 0x2A, 0x97, 0x46, 0x39, 0xEB, 0x4D, 0xB3, 0x0C,\r
+               0x59, 0x9E, 0xEE, 0x23, 0xE0, 0x32, 0x68, 0x62, 0x67, 0xC5, 0x77, 0x9C, 0x20, 0xAB, 0xCC, 0x43,\r
+               0x96, 0x50, 0x5D, 0x56, 0xBA, 0xA2, 0x21, 0xDC, 0x10, 0x89, 0x98, 0x9E, 0x9C, 0xDA, 0xCE, 0x2C,\r
+               0xB4, 0xA0, 0x23, 0xBD, 0xF7, 0xFB, 0x2D, 0x80, 0xAB, 0xF9, 0xC5, 0x94, 0xDB, 0xF9, 0x90, 0xC1,\r
+               0xE4, 0x48, 0x40, 0xC4, 0xFA, 0xAC, 0x8E, 0x48, 0x87, 0x86, 0x9A, 0xAA, 0xE1, 0x70, 0xA3, 0xFA,\r
+               0x45, 0x87, 0xE2, 0x2E, 0x50, 0xC1, 0xF3, 0x9E, 0xA8, 0xB0, 0xB9, 0x2F, 0x38, 0xB6, 0xBE, 0xD1,\r
+               0x93, 0xA7, 0x42, 0x88, 0x20, 0x88, 0xF5, 0x34, 0x60, 0x74, 0x3C, 0xF2, 0x8D, 0xDF, 0x55, 0xD8,\r
+               0x68, 0x18, 0x16, 0x77, 0x36, 0x0A, 0x0A, 0x13, 0x2F, 0x49, 0xB1, 0x26, 0x05, 0x5E, 0xAA, 0xDF,\r
+               0x97, 0x90, 0x97, 0x70, 0x10, 0xCF, 0x5C, 0x0A, 0xE2, 0x53, 0xC3, 0xE4, 0xBD, 0x6B, 0x76, 0x15,\r
+               0xC3, 0x4F, 0x21, 0xF1, 0xDC, 0x69, 0xD8, 0x51, 0x0F, 0xCD, 0xFD, 0x29, 0xD3, 0xF0, 0x17, 0x38,\r
+               0x4F, 0x1F, 0x77, 0x42, 0x81, 0x15, 0x6F, 0x57, 0x64, 0x8C, 0x0B, 0x27, 0x13, 0x3A, 0x16, 0x1E,\r
+               0xF0, 0x75, 0xA8, 0xCA, 0xFC, 0x0B, 0xCA, 0x35, 0xD3, 0x07, 0x45, 0x1C, 0xFF, 0x1D, 0x98, 0xC2,\r
+               0x73, 0x4A, 0x74, 0xCB, 0x3B, 0x5D, 0xA9, 0xDB, 0x4C, 0x0B, 0x63, 0xCC, 0xA3, 0x06, 0x4D, 0x2D,\r
+               0x9C, 0xC8, 0xC8, 0x3A, 0xBB, 0xE9, 0x9B, 0x19, 0x2E, 0x6F, 0x71, 0xEC, 0xE5, 0x34, 0x7D, 0x5F,\r
+               0x48, 0x54, 0x19, 0xF3, 0x89, 0xD9, 0xDD, 0x6B, 0xA0, 0xB3, 0x9D, 0xCB, 0x19, 0x07, 0x06, 0xE8,\r
+               0xB6, 0x1C, 0x52, 0xD2, 0x24, 0x58, 0x5E, 0x05, 0x35, 0xD3, 0x23, 0x8E, 0x7F, 0x95, 0xE0, 0x3C,\r
+               0xEC, 0x6C, 0xA4, 0xC7, 0x49, 0x63, 0x40, 0x3D, 0xCB, 0xF2, 0x6B, 0xC5, 0xCC, 0x8C, 0x42, 0x9F,\r
+               0xD2, 0x85, 0xD6, 0x21, 0x9B, 0x8B, 0x89, 0x7D, 0xC9, 0x9D, 0xD7, 0xB4, 0xD5, 0x80, 0x5E, 0x92,\r
+               0xC5, 0xC4, 0x85, 0x66, 0x9D, 0x2C, 0xCD, 0x00, 0x3F, 0xBF, 0xBB, 0x1B, 0xD6, 0xA5, 0xA7, 0x02,\r
+               0x13, 0xE4, 0x25, 0xC0, 0x7B, 0x53, 0x06, 0x4F, 0xD5, 0x90, 0xCE, 0xB8, 0xFA, 0x48, 0x28, 0xF8,\r
+               0x1F, 0xF7, 0x14, 0x3B, 0x78, 0x6F, 0x53, 0xC6, 0xD8, 0x4D, 0x1D, 0x43, 0x26, 0xDB, 0x85, 0xE9,\r
+               0xAE, 0x32, 0x8B, 0x27, 0xA2, 0x4B, 0x28, 0xBA, 0xE8, 0x3F, 0x5B, 0x71, 0xD1, 0xC4, 0x80, 0x37,\r
+               0x81, 0x11, 0x0E, 0x11, 0xDE, 0x1E, 0x37, 0x1D, 0x22, 0x94, 0x62, 0xDD, 0xD0, 0xD5, 0xEE, 0xA8,\r
+               0x79, 0xD2, 0xE1, 0xA7, 0xAD, 0x6B, 0x64, 0x3E, 0x39, 0x28, 0x30, 0xBF, 0x7C, 0xB0, 0x19, 0xAC,\r
+               0x3C, 0xC7, 0xA0, 0xF6, 0x46, 0x43, 0x0C, 0xB9, 0x95, 0x1F, 0x2C, 0xE6, 0x6A, 0xD4, 0xA5, 0x6D,\r
+               0xE3, 0x03, 0x2E, 0x75, 0x0D, 0xBD, 0x44, 0x98, 0x07, 0xCE, 0xD9, 0xCD, 0x79, 0xE5, 0xA9, 0x96,\r
+               0xF8, 0x51, 0x4C, 0xC9, 0xF1, 0x5C, 0x69, 0xFD, 0x99, 0xE4, 0x3F, 0xD7, 0x58, 0x54, 0x11, 0xAF,\r
+               0x9B, 0x83, 0xA6, 0x8B, 0x9A, 0xC0, 0x33, 0xB8, 0xB5, 0x9B, 0x60, 0xE9, 0x31, 0xAE, 0x57, 0xB7,\r
+               0xC2, 0x8F, 0xEB, 0xD7, 0x2D, 0xDF, 0x56, 0xFC, 0xC8, 0xBB, 0x17, 0x7E, 0x72, 0xC9, 0xD7, 0xFF,\r
+               0x61, 0xAB, 0x82, 0xA9, 0xBC, 0xFF, 0x46, 0x64, 0x67, 0xF4, 0xD7, 0x35, 0x3B, 0xCB, 0xDF, 0xF3,\r
+               0x55, 0x0F, 0xBA, 0x14, 0x88, 0x97, 0xBB, 0x94, 0x8F, 0x6E, 0xFD, 0xE1, 0x05, 0x22, 0x39, 0x81,\r
+               0x24, 0x37, 0xD8, 0xC2, 0xF5, 0x41, 0xD6, 0x3E, 0x1C, 0xAF, 0x0C, 0xC6, 0x72, 0xCD, 0x75, 0x83,\r
+               0x9C, 0xDB, 0x26, 0xC5, 0x8B, 0x07, 0x42, 0xB1, 0x4C, 0x32, 0xCA, 0xEC, 0x6B, 0x23, 0xA6, 0x90,\r
+               0xCE, 0x96, 0x17, 0x60, 0x40, 0x48, 0x3D, 0x57, 0x28, 0x12, 0xA8, 0xFE, 0xC3, 0x08, 0x69, 0x1C,\r
+               0x82, 0xE1, 0xF8, 0x62, 0xFC, 0x27, 0x3F, 0x26, 0x5D, 0xA1, 0x67, 0x30, 0x53, 0x41, 0xD7, 0x46,\r
+               0xF2, 0x5A, 0xA5, 0x68, 0xBB, 0xCA, 0x61, 0x05, 0xB6, 0xDF, 0x45, 0xC0, 0x0A, 0x4D, 0x8B, 0x0B,\r
+               0x8D, 0x76, 0xFA, 0x56, 0x81, 0xF1, 0x52, 0x8C, 0xCF, 0xBC, 0x15, 0x28, 0x5D, 0xEE, 0x43, 0x06,\r
+               0xBB, 0x59, 0xD9, 0xD3, 0x58, 0xDA, 0x4F, 0x4A, 0x25, 0x1E, 0xB4, 0xE7, 0x30, 0x93, 0x95, 0xAC,\r
+               0x7F, 0x91, 0x5C, 0x0E, 0xED, 0xD3, 0xA4, 0x23, 0x83, 0xBE, 0x62, 0xC7, 0x79, 0x95, 0x3F, 0xDC,\r
+               0x42, 0xDE, 0xD1, 0xDA, 0x65, 0xD4, 0x5B, 0xA2, 0x7C, 0xEA, 0x99, 0x78, 0xFB, 0x6A, 0x18, 0xCA,\r
+               0x58, 0x13, 0xA3, 0x18, 0xDD, 0x1E, 0x87, 0x97, 0x7B, 0x6B, 0x66, 0xF0, 0x3E, 0x3C, 0x01, 0xEC,\r
+               0xC6, 0xFE, 0x9D, 0xD5, 0xB3, 0x33, 0xE6, 0x0C, 0xFA, 0xDD, 0x32, 0x2F, 0x98, 0xB8, 0x5A, 0x20,\r
+               0x87, 0x95, 0x6B, 0xDB, 0x73, 0x15, 0xE7, 0xC6, 0x49, 0x8B, 0xBE, 0x7F, 0xE4, 0x0F, 0x5C, 0x7D,\r
+               0x0C, 0x22, 0x25, 0xE0, 0x9F, 0xC9, 0x69, 0xE1, 0xC1, 0x54, 0x01, 0x15, 0xFA, 0xAA, 0x3E, 0x00,\r
+               0x00, 0xBD, 0x03, 0x30, 0xC3, 0x26, 0xBC, 0xFA, 0xC0, 0x88, 0x82, 0x2A, 0xAC, 0xC9, 0xD0, 0xC7,\r
+               0x64, 0xDF, 0x11, 0x10, 0x85, 0x54, 0x8C, 0xC8, 0x31, 0x34, 0x6D, 0xA8, 0x18, 0xFB, 0x12, 0x47,\r
+               0xB8, 0x51, 0xFD, 0x37, 0x79, 0xE3, 0xF7, 0xFB, 0xF8, 0xE5, 0xB9, 0x34, 0x28, 0xBD, 0x60, 0x75,\r
+               0xD8, 0xC4, 0x43, 0x72, 0x1F, 0x37, 0x11, 0x69, 0xD9, 0xAE, 0x47, 0x7C, 0xA9, 0x3E, 0x0E, 0xD8,\r
+               0xF9, 0x3A, 0x0B, 0x39, 0xAC, 0x94, 0xB3, 0x70, 0xCC, 0x58, 0x1D, 0x0C, 0x92, 0x20, 0x36, 0xB5,\r
+               0x96, 0x38, 0xB7, 0x48, 0xB5, 0x99, 0xAF, 0x7C, 0x2A, 0x2A, 0x23, 0xE5, 0x7A, 0xE9, 0x76, 0x67,\r
+               0xB4, 0xCE, 0xDB, 0xE7, 0xB6, 0x09, 0x56, 0x59, 0x6D, 0x79, 0x34, 0xA4, 0xDD, 0xAD, 0x0B, 0x61,\r
+               0x9B, 0x24, 0xAE, 0x44, 0x9A, 0xF3, 0xD9, 0xB4, 0xCB, 0xD9, 0xE2, 0x84, 0xA2, 0x66, 0x44, 0x87,\r
+               0x46, 0x29, 0x7D, 0xBF, 0x46, 0xE2, 0x74, 0x27, 0x30, 0xE8, 0xEE, 0x97, 0x9E, 0x33, 0xCD, 0x84,\r
+               0x34, 0x19, 0x3B, 0x8D, 0xB1, 0x3C, 0x71, 0x38, 0x2C, 0x77, 0x5F, 0x52, 0xBA, 0x48, 0xB1, 0x5E,\r
+               0x9F, 0xD3, 0x02, 0x21, 0xB0, 0xA3, 0x1F, 0x29, 0x1A, 0xF2, 0x70, 0x71, 0xEF, 0x57, 0x16, 0x22,\r
+               0x23, 0xC8, 0x50, 0x43, 0x1C, 0xA7, 0xE8, 0x4C, 0xAC, 0x1D, 0x88, 0xB2, 0x9A, 0x04, 0x35, 0x51,\r
+               0x14, 0x64, 0x4C, 0x1A, 0x0A, 0x66, 0x54, 0x28, 0xFD, 0x5C, 0xCD, 0xA7, 0xB2, 0x6C, 0xB2, 0xBA,\r
+               0xC5, 0xF6, 0xB9, 0x31, 0x19, 0x9D, 0x58, 0x19, 0x7E, 0xD2, 0x12, 0x63, 0x4C, 0x24, 0x93, 0xF1,\r
+               0xEF, 0x68, 0x5F, 0x2B, 0x38, 0xA4, 0xE0, 0xA8, 0xC2, 0xB0, 0x09, 0x31, 0xAD, 0x09, 0xF6, 0x0D,\r
+               0x90, 0x44, 0x00, 0x15, 0x51, 0xBC, 0xA6, 0x52, 0x80, 0x5A, 0x6A, 0xE3, 0x31, 0x53, 0xB3, 0x66,\r
+               0xB0, 0x39, 0x77, 0x82, 0x12, 0xF4, 0x26, 0x35, 0xDC, 0x17, 0x33, 0xEF, 0x2E, 0x36, 0xF7, 0xD1,\r
+               0x03, 0xB5, 0x27, 0xD4, 0x21, 0xA9, 0xFC, 0xA4, 0xAA, 0x40, 0xF4, 0x05, 0x7E, 0xDE, 0x8E, 0xB2,\r
+               0xE7, 0x00, 0xD5, 0x9E, 0xD2, 0xD2, 0x27, 0xFF, 0x0F, 0x04, 0x2A, 0x01, 0x85, 0x61, 0x71, 0xE6,\r
+               0x5F, 0xEC, 0x2B, 0x99, 0x5D, 0xE0, 0xFF, 0x1F, 0xBF, 0xB6, 0xAE, 0x75, 0xA3, 0xA6, 0x62, 0x4D,\r
+               0xEB, 0x9F, 0xF3, 0x4E, 0x4A, 0xBE, 0x2D, 0x6A, 0xB7, 0x03, 0xC6, 0xFF, 0x2C, 0x8A, 0x98, 0xA0,\r
+               0xE1, 0x7C, 0x62, 0xC3, 0xC1, 0x29, 0x2B, 0xCE, 0x3A, 0x65, 0x0D, 0x06, 0x2F, 0xF6, 0xD1, 0x1B,\r
+               0xFE, 0xC5, 0x83, 0xB8, 0xA1, 0x57, 0x84, 0x2C, 0x4D, 0xEE, 0x49, 0xD3, 0x04, 0xE2, 0x1F, 0x4B,\r
+               0xC8, 0xEA, 0xA0, 0x3D, 0xEA, 0xE6, 0x83, 0x42, 0xAF, 0xF9, 0x80, 0x96, 0x4A, 0xAF, 0x04, 0x55,\r
+               0xD6, 0xD0, 0x7E, 0x9A, 0x0D, 0x53, 0x73, 0x49, 0xC3, 0x6C, 0x8A, 0x0E, 0x8E, 0x39, 0x3B, 0xB9,\r
+               0xE5, 0x8B, 0xCE, 0xA6, 0xDF, 0x11, 0x10, 0xA3, 0x92, 0x2D, 0xCF, 0x1B, 0xF0, 0x32, 0x52, 0x95,\r
+               0x13, 0x9B, 0xC4, 0x9B, 0x18, 0x02, 0x36, 0x08, 0xC4, 0xED, 0x75, 0x86, 0x03, 0xA9, 0xAE, 0x25,\r
+               0x22, 0x4B, 0x6F, 0x9F, 0x8E, 0x3D, 0xF2, 0xE4, 0x77, 0xBB, 0xF9, 0xD6, 0xD4, 0x49, 0x2E, 0x4F,\r
+               0x7D, 0x1A, 0x47, 0x36, 0xBF, 0x6F, 0xBF, 0x41, 0x9E, 0xFD, 0x50, 0x3D, 0x86, 0x1D, 0x38, 0x5D,\r
+               0x06, 0xC1, 0xB4, 0x6D, 0x1E, 0xA8, 0x7F, 0x78, 0x50, 0xAD, 0x7B, 0x29, 0xC0, 0x74, 0x20, 0xA7,\r
+               0x72, 0x8D, 0x45, 0x02, 0x44, 0xED, 0xE3, 0x13, 0x08, 0x85, 0xD5, 0x89, 0xB0, 0xD0, 0xDD, 0xCB,\r
+               0x2B, 0xA0, 0xDA, 0xF6, 0xF2, 0x74, 0xF1, 0x5F, 0xD5, 0x7E, 0xD8, 0x5A, 0x5E, 0x92, 0x0A, 0xBD,\r
+               0x84, 0x9D, 0x4F, 0x3F, 0x90, 0x05, 0xC9, 0x89, 0x17, 0xFE, 0x6C, 0x68, 0x3C, 0x80, 0x6E, 0x9D,\r
+               0x6C, 0xB7, 0x9B, 0xA5, 0x8D, 0xAD, 0x0B, 0xC1, 0xBA, 0x0F, 0xDA, 0xE6, 0x02, 0x69, 0x88, 0xEF,\r
+               0x0D, 0xA1, 0x1A, 0x3C, 0x42, 0x47, 0xAA, 0x63, 0x68, 0xC0, 0x40, 0x37, 0x35, 0x64, 0x4B, 0xB3,\r
+               0x1D, 0x8F, 0xF9, 0x73, 0x2E, 0x65, 0x5C, 0xCC, 0xE4, 0x7A, 0x08, 0xF1, 0xC7, 0x3F, 0x91, 0xC9,\r
+               0xA0, 0x17, 0x94, 0xCD, 0x9E, 0x56, 0x07, 0xF0, 0x73, 0xDE, 0x0E, 0x7A, 0x89, 0x72, 0x8A, 0xD7,\r
+               0x7A, 0xE5, 0xCF, 0xB7, 0xCC, 0xEA, 0x1C, 0x92, 0xEE, 0xF7, 0xEB, 0x60, 0x43, 0x4B, 0x21, 0x7B,\r
+               0x19, 0x78, 0x55, 0x16, 0xE8, 0xE9, 0x14, 0x76, 0x6B, 0x24, 0x48, 0x13, 0xF8, 0x16, 0x51, 0x71,\r
+               0xFC, 0x4E, 0x98, 0x80, 0xD7, 0xE8, 0x97, 0xAA, 0xA5, 0x74, 0x63, 0x07, 0x9C, 0x8F, 0xA2, 0xF5,\r
+               0xB5, 0x4D, 0xE4, 0x3B, 0x3A, 0xAB, 0x77, 0x9C, 0x5B, 0xFC, 0x1B, 0x87, 0xE9, 0xDC, 0x81, 0x86,\r
+               0x59, 0x90, 0x9C, 0xC4, 0x76, 0x2F, 0x57, 0x93, 0x63, 0x91, 0x20, 0x99, 0x06, 0x5E, 0x70, 0x3A,\r
+               0x45, 0x21, 0x59, 0x5B, 0x10, 0xFB, 0xB1, 0x01, 0x4E, 0x0A, 0x41, 0xF7, 0xB6, 0x5B, 0x4A, 0x6F,\r
+               0x86, 0x16, 0x54, 0x07, 0xD4, 0x78, 0x6E, 0x8F, 0xB9, 0xEB, 0xD2, 0xC2, 0xF3, 0x4E, 0x1B, 0x2E,\r
+               0x6A, 0xCB, 0x2C, 0xF8, 0xBE, 0xF0, 0xD1, 0x50, 0xEC, 0xCF, 0x60, 0x7B, 0xCC, 0x67, 0xDB, 0x96,\r
+               0x85, 0x1E, 0x70, 0xE3, 0x14, 0x5E, 0x6F, 0x45, 0xF5, 0xE9, 0xA5, 0x2D, 0x55, 0xCA, 0x40, 0xE2,\r
+               0xDE, 0xB8, 0xF4, 0x2F, 0xA2, 0xC7, 0x7D, 0x09, 0x4F, 0xD6, 0xC2, 0xC8, 0x81, 0x56, 0x89, 0x33,\r
+               0x8C, 0xF5, 0xC5, 0x8A, 0xAB, 0xA1, 0x94, 0x11, 0x9A, 0x98, 0xA7, 0x91, 0x25, 0x6E, 0xBD, 0x8E,\r
+               0x79, 0xED, 0xEB, 0x53, 0x6D, 0x2D, 0xDC, 0xAB, 0x32, 0xD0, 0x65, 0x8C, 0x93, 0xE0, 0x10, 0x7F,\r
+               0xD4, 0xDF, 0x4C, 0x1A, 0x47, 0x24, 0x38, 0xAF, 0x6F, 0x6A, 0x82, 0x46, 0xE6, 0xE0, 0x1E, 0xB1,\r
+               0xB3, 0x3A, 0x73, 0xA0, 0x96, 0xF0, 0xA4, 0x66, 0xC9, 0x31, 0x06, 0x8A, 0x50, 0xAC, 0x0C, 0x28,\r
+               0xD6, 0x63, 0x3D, 0x75, 0x2B, 0x54, 0x9C, 0x52, 0x84, 0x63, 0x37, 0x2F, 0x59, 0xB4, 0xE5, 0x4E,\r
+               0x14, 0x7E, 0x75, 0xDD, 0xDA, 0xE2, 0x12, 0xFF, 0x9C, 0x96, 0x19, 0xF6, 0x9F, 0x0E, 0xAD, 0xC2,\r
+               0x51, 0x6B, 0x34, 0x8C, 0x9F, 0x77, 0xAC, 0x9F, 0xE1, 0xB6, 0x6E, 0x61, 0x84, 0x36, 0x26, 0xC0,\r
+               0x30, 0x05, 0xAF, 0xA1, 0xCA, 0xC7, 0xA9, 0xA5, 0x50, 0xAA, 0xAB, 0xFE, 0xE2, 0xA4, 0xC0, 0x14,\r
+               0xA3, 0x30, 0x4E, 0x56, 0x8B, 0x82, 0xBC, 0xF4, 0x67, 0x69, 0xA6, 0xA2, 0x26, 0x2A, 0x1F, 0x97,\r
+               0x11, 0x89, 0x6A, 0x03, 0x33, 0xBD, 0x95, 0x34, 0xBA, 0x85, 0xDE, 0x5D, 0x4C, 0xF5, 0xA0, 0x1F,\r
+               0x9A, 0x92, 0x52, 0x01, 0xDE, 0x32, 0xB9, 0xCE, 0x94, 0x95, 0x3D, 0x12, 0x3E, 0x37, 0x6D, 0x05,\r
+               0x39, 0xE1, 0x81, 0x84, 0xD4, 0x89, 0xE4, 0xBE, 0x09, 0xF6, 0xA7, 0xB3, 0x1A, 0xD3, 0x65, 0x06,\r
+               0x12, 0xF5, 0xD1, 0x4A, 0x50, 0xED, 0x7D, 0x4D, 0x3F, 0x13, 0x6A, 0x25, 0x25, 0x0F, 0xE6, 0x07,\r
+               0x6A, 0x75, 0x59, 0xB4, 0x23, 0x98, 0x2E, 0x6E, 0x3C, 0x5A, 0x16, 0x9E, 0xC8, 0x39, 0x06, 0x44,\r
+               0xAB, 0x14, 0xAA, 0x55, 0x4A, 0x73, 0x9B, 0x67, 0xC6, 0x83, 0x69, 0x00, 0x7F, 0x64, 0x7A, 0x42,\r
+               0x31, 0xC5, 0x65, 0x87, 0x16, 0x44, 0x96, 0xA4, 0xD0, 0xE2, 0xE8, 0x99, 0xB0, 0xC6, 0xDB, 0xA8,\r
+               0x79, 0x03, 0xDF, 0x0B, 0x6C, 0xB6, 0xCD, 0x7E, 0xFE, 0xF2, 0x0B, 0xD6, 0xDC, 0x69, 0x2D, 0x8A,\r
+               0x7F, 0x88, 0x7B, 0x9C, 0x72, 0xF8, 0x80, 0x65, 0x66, 0x4F, 0x66, 0x68, 0x6C, 0x55, 0x76, 0xB9,\r
+               0x0A, 0xDB, 0x08, 0xBF, 0x02, 0xB1, 0x86, 0xCF, 0xB0, 0xE9, 0x46, 0xC8, 0xEC, 0xDD, 0x0E, 0x47,\r
+               0xA4, 0x7B, 0x20, 0xE7, 0x6E, 0xC1, 0x22, 0x32, 0xFC, 0x9D, 0xB7, 0xA7, 0xB6, 0xB6, 0x92, 0x02,\r
+               0xA9, 0xA8, 0xDB, 0x3A, 0x18, 0x2F, 0x60, 0xE5, 0xD1, 0xC4, 0x28, 0x53, 0x00, 0xFA, 0x80, 0x9B,\r
+               0x1D, 0x9A, 0x5B, 0xF8, 0x38, 0x4D, 0x72, 0x81, 0xEC, 0x6B, 0xBD, 0x9A, 0x62, 0x2C, 0xB8, 0xEA,\r
+               0xBE, 0xE9, 0x88, 0x7D, 0x30, 0x81, 0xC0, 0xBD, 0xFA, 0x0A, 0x3C, 0x03, 0x2D, 0x06, 0x61, 0xFE,\r
+               0x04, 0x74, 0x48, 0x2B, 0x80, 0x72, 0x5B, 0x41, 0xEA, 0xFC, 0x36, 0x3E, 0xEA, 0xAD, 0x47, 0xED,\r
+               0x88, 0x24, 0x1E, 0x98, 0xEA, 0xA5, 0xBB, 0xC1, 0x3A, 0xCD, 0x9D, 0x3A, 0x7C, 0x41, 0x83, 0xD2,\r
+               0x21, 0xCF, 0x58, 0x71, 0xF8, 0xF7, 0xEF, 0xD7, 0x6B, 0x92, 0xB5, 0x93, 0x4D, 0xE4, 0xCE, 0x80,\r
+               0x7C, 0xF4, 0xC0, 0xD5, 0xBE, 0x5E, 0x04, 0x3E, 0x0D, 0x0E, 0x90, 0x66, 0x33, 0x6B, 0x5A, 0xC6,\r
+               0x38, 0x21, 0x4B, 0xA2, 0xEE, 0x75, 0x10, 0xF0, 0xB4, 0x11, 0x71, 0x1D, 0x53, 0x89, 0xF5, 0xB8,\r
+               0xF1, 0x64, 0x5C, 0x40, 0xF0, 0x3B, 0x5D, 0xEB, 0x9B, 0x27, 0x52, 0x98, 0x18, 0xE7, 0xF2, 0x09,\r
+               0xFB, 0xFC, 0xC9, 0x2C, 0x1C, 0xFF, 0xCB, 0xD4, 0xA1, 0x39, 0x8C, 0x3F, 0xFF, 0xEC, 0x02, 0xBC,\r
+               0x85, 0xF7, 0xE5, 0x45, 0x17, 0x0F, 0x2C, 0x61, 0xC4, 0xEC, 0xD5, 0x71, 0xD3, 0x01, 0x8D, 0x46,\r
+               0x5B, 0xF3, 0xA1, 0xE0, 0x43, 0xF4, 0x93, 0x9E, 0x71, 0x08, 0x27, 0x3B, 0x20, 0x5A, 0x56, 0x3D,\r
+               0xDF, 0x87, 0x13, 0x50, 0xE8, 0xD2, 0x54, 0x8D, 0x9D, 0xB0, 0xD9, 0x3C, 0xAF, 0xBA, 0x8E, 0x0F,\r
+               0xB7, 0x0D, 0xA6, 0x58, 0x05, 0x5D, 0x78, 0x77, 0xEE, 0x04, 0x01, 0xEB, 0xB8, 0xCF, 0x5C, 0x51,\r
+               0x63, 0x91, 0x77, 0x91, 0x54, 0x3D, 0xD6, 0x7C, 0x87, 0x2A, 0x4B, 0x94, 0xEB, 0xBC, 0x29, 0x72,\r
+               0x78, 0xC3, 0x15, 0x2D, 0xA8, 0xDC, 0xFB, 0x19, 0x19, 0x00, 0xAD, 0x8E, 0xCA, 0x0D, 0x91, 0x4B,\r
+               0x1B, 0x11, 0xFF, 0x6F, 0xC3, 0x40, 0xA1, 0x5C, 0x35, 0x7F, 0xF2, 0xB0, 0xA3, 0xF7, 0xD7, 0x53,\r
+               0x42, 0x1D, 0xB2, 0x33, 0x74, 0x5F, 0xC4, 0x18, 0x48, 0x5F, 0x85, 0x27, 0xE0, 0x90, 0x57, 0x1B,\r
+               0x2E, 0xA0, 0xD2, 0xC3, 0xFB, 0xCB, 0xBA, 0x5E, 0x68, 0xDB, 0xC9, 0x28, 0x43, 0x9D, 0x00, 0xD3,\r
+               0x01, 0x83, 0x57, 0xF5, 0x87, 0x9E, 0xA5, 0xF9, 0xA2, 0x70, 0xF0, 0x84, 0x42, 0x8C, 0x6E, 0x4C,\r
+               0xF9, 0x40, 0xB8, 0x43, 0xF4, 0xEB, 0xF6, 0xDA, 0xB9, 0xCC, 0xA2, 0xE6, 0xEE, 0xE9, 0x99, 0x48,\r
+               0xBC, 0x55, 0xF9, 0x12, 0x1F, 0xC3, 0x9E, 0x5D, 0x15, 0xFB, 0xBE, 0xBF, 0xF8, 0x8D, 0x25, 0x89,\r
+               0x52, 0x17, 0x8F, 0xC5, 0xC2, 0x0B, 0x1B, 0x99, 0x49, 0x79, 0x45, 0xED, 0x47, 0xD9, 0xDE, 0x76,\r
+               0x45, 0x56, 0xDC, 0x82, 0xC4, 0xAC, 0x5F, 0xE4, 0xBF, 0x5B, 0x29, 0x42, 0x44, 0xFC, 0x27, 0xE6,\r
+               0x93, 0x76, 0x7C, 0x24, 0x22, 0xD3, 0x94, 0xAB, 0x55, 0x74, 0x5C, 0xE1, 0x68, 0x11, 0xA8, 0x1C,\r
+               0x9F, 0x65, 0x4D, 0xDF, 0x21, 0xEF, 0xC1, 0x22, 0x58, 0xA9, 0x8F, 0x1A, 0xB4, 0x82, 0x05, 0x0D,\r
+               0x1C, 0x5A, 0x91, 0xDE, 0xE2, 0x69, 0x09, 0xFD, 0xAE, 0x8B, 0xE3, 0xB5, 0x77, 0x6D, 0xFD, 0xBB,\r
+               0xC8, 0xC6, 0x40, 0x17, 0xD0, 0x59, 0x4F, 0x8F, 0x20, 0x57, 0x0F, 0x92, 0x8B, 0x5E, 0x86, 0x0C,\r
+               0x36, 0x8E, 0x0B, 0x36, 0x7D, 0xD8, 0xCC, 0xE1, 0xB5, 0x37, 0xB1, 0xD7, 0xED, 0xCC, 0x60, 0xD8,\r
+               0x6C, 0xFE, 0xFD, 0x23, 0x10, 0xE3, 0xD2, 0xD9, 0x4B, 0x16, 0xF9, 0x9C, 0x5E, 0xD5, 0xC2, 0x7B,\r
+               0x43, 0xDD, 0x78, 0x15, 0x85, 0xE9, 0x4A, 0xB5, 0x8F, 0x29, 0x6F, 0x70, 0x41, 0xA9, 0x97, 0xDC,\r
+               0xCF, 0x8D, 0x2E, 0xA6, 0xD8, 0x95, 0xFD, 0xB3, 0xE4, 0x68, 0x99, 0x7E, 0x81, 0x63, 0x96, 0xFA,\r
+               0x70, 0xE7, 0xF1, 0x2E, 0xA5, 0x8B, 0x58, 0xD1, 0x53, 0xE3, 0xD7, 0x45, 0x6D, 0x44, 0x18, 0x26,\r
+               0xF3, 0xD8, 0x2D, 0x2F, 0x62, 0xDD, 0x3B, 0x3F, 0xCC, 0xEF, 0xF1, 0x95, 0x31, 0x5F, 0xCD, 0xC9,\r
+               0xC5, 0x15, 0xBB, 0xCA, 0x09, 0x41, 0x61, 0x7A, 0x28, 0x54, 0x2B, 0x76, 0xAA, 0xEF, 0x3E, 0x35,\r
+               0x13, 0x35, 0x1B, 0x6C, 0x79, 0x08, 0x67, 0xD0, 0xE0, 0x90, 0xAE, 0xAB, 0x1F, 0x86, 0xD5, 0x3C,\r
+               0xE8, 0x8A, 0x4F, 0x93, 0x6F, 0x8A, 0x98, 0xF7, 0xAF, 0xAD, 0x23, 0x7F, 0x97, 0x07, 0x2A, 0x3B,\r
+               0x17, 0x02, 0xCE, 0x94, 0x49, 0x4F, 0xCE, 0xEE, 0x62, 0xB7, 0x51, 0xBD, 0x2F, 0x32, 0xF6, 0xF1,\r
+               0xD9, 0x0C, 0xB7, 0xC7, 0xB9, 0xB2, 0xFA, 0x86, 0xE7, 0x21, 0xE5, 0xC5, 0xB2, 0xF2, 0x4C, 0xA7,\r
+               0x16, 0xC2, 0x04, 0xB2, 0xE3, 0x22, 0xB3, 0x38, 0x90, 0x6D, 0x0A, 0xC7, 0x0E, 0x83, 0x4E, 0xC8,\r
+               0x34, 0x32, 0x7A, 0x59, 0xAE, 0x7B, 0xBF, 0x64, 0x2B, 0x1D, 0x57, 0xCD, 0x49, 0xA0, 0x10, 0x25,\r
+               0x64, 0xDA, 0x19, 0x20, 0xA3, 0x2C, 0x1C, 0xAC, 0x07, 0x62, 0x08, 0xF3, 0x73, 0x29, 0x23, 0x1E,\r
+               0xA6, 0xC7, 0x51, 0x88, 0x56, 0x4A, 0x39, 0x30, 0xDA, 0x8E, 0x70, 0x0C, 0x4E, 0xC1, 0x37, 0x10,\r
+               0x8C, 0x13, 0xCB, 0x60, 0x24, 0x74, 0xD0, 0xD6, 0x7E, 0xBA, 0x48, 0xB1, 0x7A, 0x31, 0xCA, 0x78,\r
+               0x7D, 0x34, 0x0A, 0xF3, 0x26, 0x03, 0x3F, 0x9A, 0x46, 0xCB, 0x2A, 0x67, 0x07, 0x9B, 0xA7, 0xAE,\r
+               0xBB, 0x1E, 0x97, 0xA3, 0x35, 0x1A, 0xD1, 0x49, 0xAA, 0x73, 0xD4, 0x60, 0x79, 0x14, 0x33, 0xE8,\r
+               0xFA, 0x6E, 0x47, 0x83, 0xE3, 0xC1, 0xF6, 0xDE, 0x8F, 0x69, 0xCD, 0x68, 0xA1, 0x95, 0x2B, 0x19,\r
+               0x26, 0xFD, 0x56, 0x2E, 0x3E, 0x12, 0x0D, 0xD3, 0xDA, 0x55, 0xCE, 0xE1, 0x90, 0x6E, 0x38, 0x15,\r
+               0x0A, 0x10, 0xAC, 0xA1, 0x11, 0x67, 0xAE, 0x39, 0x11, 0x2A, 0x28, 0xAE, 0x30, 0xC8, 0x18, 0xC3,\r
+               0x09, 0x35, 0x3C, 0x58, 0x33, 0x0B, 0x01, 0xCF, 0x55, 0x8D, 0x2E, 0xD3, 0x63, 0x8F, 0x59, 0xD4,\r
+               0x10, 0x39, 0x31, 0x44, 0x5C, 0xB7, 0x70, 0xCD, 0x9C, 0x65, 0xFC, 0x93, 0x11, 0x69, 0xB0, 0xEA,\r
+               0xA3, 0x20, 0x92, 0xE6, 0x7D, 0xFF, 0x3B, 0x33, 0x82, 0x5E, 0x91, 0xAB, 0xE7, 0x7C, 0xC0, 0xB0,\r
+               0xC5, 0xB2, 0x46, 0x00, 0x1D, 0x41, 0x7E, 0xA6, 0x01, 0xDF, 0x3C, 0xC5, 0xAC, 0x5D, 0x88, 0x4E,\r
+               0x39, 0x81, 0xF1, 0x7B, 0xC1, 0xAD, 0x59, 0x28, 0x47, 0xEF, 0x0E, 0xB7, 0x7D, 0x94, 0x14, 0x9A,\r
+               0xAE, 0x7C, 0x51, 0xD1, 0x15, 0xCB, 0xCB, 0xCE, 0x8A, 0xD9, 0x98, 0x52, 0x5E, 0x79, 0x53, 0xC4,\r
+               0xED, 0x1B, 0x19, 0x51, 0x35, 0xBC, 0x5C, 0xB3, 0xEF, 0xC6, 0x2F, 0x16, 0x13, 0x25, 0x5F, 0x9D,\r
+               0x84, 0xE1, 0x01, 0x17, 0x4A, 0xE3, 0x62, 0x9F, 0xB5, 0x5A, 0x44, 0x53, 0xF9, 0x67, 0x8D, 0xFE,\r
+               0xA5, 0x50, 0x38, 0xAF, 0x60, 0x05, 0x78, 0x01, 0x98, 0xBB, 0xB8, 0x36, 0x9B, 0xDB, 0xDF, 0xE5,\r
+               0xB6, 0x61, 0xC3, 0xA3, 0xB1, 0xF0, 0x53, 0x93, 0xD0, 0x45, 0xF3, 0x17, 0x15, 0x58, 0x1B, 0x3A,\r
+               0xA0, 0x05, 0x02, 0x1F, 0x86, 0xEC, 0x0A, 0x3F, 0xB8, 0x6D, 0x18, 0x90, 0x54, 0x09, 0x0E, 0x7F,\r
+               0x0C, 0x60, 0x06, 0xE8, 0x3A, 0xBE, 0x68, 0x24, 0xEB, 0x18, 0x6B, 0xB3, 0xBB, 0xBF, 0xCD, 0x87,\r
+               0x0D, 0x71, 0x99, 0x86, 0x91, 0x87, 0xC4, 0xEE, 0xF4, 0x4D, 0x17, 0x14, 0x3E, 0x89, 0xEE, 0xA8,\r
+               0x3D, 0xC5, 0x54, 0xA5, 0x28, 0x46, 0x1F, 0x81, 0x52, 0xAA, 0x4F, 0xE6, 0xF5, 0x6A, 0x94, 0xE2,\r
+               0x07, 0x4C, 0x6F, 0x96, 0x57, 0x19, 0x21, 0xAD, 0xF1, 0xFD, 0x42, 0x2E, 0x96, 0x13, 0x7C, 0xB2,\r
+               0x40, 0x6F, 0x82, 0xC8, 0x27, 0x44, 0x2B, 0x16, 0xFD, 0xA4, 0x0F, 0x72, 0xE8, 0xF8, 0x8C, 0x90,\r
+               0xFC, 0x1E, 0xED, 0xCA, 0x6B, 0xAB, 0x29, 0x61, 0xB4, 0x34, 0x55, 0xCC, 0x5B, 0x8D, 0x42, 0x5F,\r
+               0x37, 0xF8, 0xA2, 0xB5, 0x39, 0x9A, 0x8C, 0x2C, 0x9F, 0x9C, 0xD9, 0x03, 0x7B, 0xE9, 0x50, 0x3D,\r
+               0x49, 0x77, 0xE4, 0x21, 0x81, 0x64, 0x8B, 0xC0, 0x71, 0x85, 0xCA, 0xD0, 0xE6, 0xB9, 0x7A, 0xFB,\r
+               0x34, 0xDD, 0x32, 0x4C, 0xF0, 0x06, 0x5D, 0xF8, 0x9E, 0xF2, 0xC8, 0x9C, 0x27, 0x2A, 0x5D, 0x0A,\r
+               0x00, 0x2D, 0x5A, 0xB1, 0xC4, 0x3E, 0xE0, 0x5C, 0x77, 0xCC, 0xBA, 0x7A, 0xBD, 0xC2, 0x89, 0x20,\r
+               0x7F, 0xB3, 0x83, 0x4B, 0xA5, 0xBF, 0x79, 0x4A, 0x75, 0x5B, 0x8E, 0x75, 0xC1, 0x65, 0x96, 0x75,\r
+               0x23, 0xA8, 0x6C, 0x9E, 0xA9, 0x99, 0xA9, 0xD5, 0x16, 0x0D, 0x49, 0x9B, 0x1D, 0x64, 0xA9, 0xF6,\r
+               0xCF, 0x8F, 0xB0, 0x10, 0x22, 0xD7, 0x92, 0x62, 0xB3, 0x13, 0x34, 0xF9, 0xC2, 0xEC, 0xC3, 0x49,\r
+               0x0F, 0x45, 0x96, 0x11, 0x63, 0x21, 0x9C, 0x09, 0x04, 0x6F, 0x69, 0xFF, 0x94, 0x5F, 0x93, 0xC5,\r
+               0x61, 0xDE, 0xBB, 0x70, 0xFD, 0x1F, 0x51, 0xE4, 0x80, 0xC9, 0xA5, 0xA4, 0x22, 0xDE, 0x4C, 0x91,\r
+               0xD9, 0xEB, 0x71, 0xAC, 0xE7, 0x6D, 0x93, 0x29, 0xD6, 0x0C, 0x83, 0xBD, 0xA3, 0xD9, 0xC4, 0x6E,\r
+               0x51, 0x6A, 0x76, 0x53, 0xDA, 0xE0, 0x47, 0x66, 0x29, 0x8E, 0x95, 0x9A, 0xF7, 0x26, 0x7B, 0x95,\r
+               0xE4, 0x03, 0x7F, 0xB8, 0x1E, 0x65, 0x9A, 0xAE, 0x2F, 0xC7, 0xE5, 0x30, 0x57, 0x80, 0x5B, 0x43,\r
+               0x86, 0xD5, 0x0E, 0x80, 0x10, 0x58, 0x72, 0xBA, 0x60, 0x1E, 0xCF, 0x24, 0xB5, 0xFE, 0x3B, 0xEC,\r
+               0x6B, 0xE3, 0x4D, 0x60, 0x59, 0x24, 0xC9, 0xB9, 0x33, 0x6B, 0xBC, 0x07, 0x3D, 0x00, 0xBB, 0x94,\r
+               0x54, 0x3F, 0x4C, 0xE3, 0xBC, 0xE9, 0x5F, 0x8F, 0xAA, 0x0F, 0x38, 0xF4, 0x6D, 0xCE, 0xAF, 0xBF,\r
+               0x70, 0xDB, 0x4F, 0xEB, 0xDF, 0x73, 0xFE, 0x12, 0xF7, 0xB4, 0x32, 0x84, 0xBE, 0x4B, 0xDC, 0x1C,\r
+               0x22, 0xB9, 0xF3, 0xF0, 0x05, 0x28, 0x84, 0xE0, 0xCE, 0x7E, 0x9E, 0x2F, 0x97, 0xD6, 0xC6, 0xF9,\r
+               0x92, 0x85, 0xC0, 0xAB, 0xB8, 0x45, 0x3A, 0x78, 0x83, 0x30, 0x80, 0x34, 0x33, 0x41, 0x4D, 0xFF,\r
+               0xFE, 0x2A, 0xE2, 0x5D, 0xA8, 0xA6, 0x75, 0x56, 0xD8, 0xC2, 0xFA, 0xEE, 0x89, 0xCD, 0x8B, 0xB7,\r
+               0x31, 0x88, 0x08, 0xFC, 0xC9, 0x27, 0xEC, 0x40, 0xD5, 0xF5, 0xA6, 0x2D, 0x46, 0x1F, 0x5A, 0x2D,\r
+               0xD1, 0xE2, 0x88, 0x2B, 0xDC, 0x57, 0x1A, 0x1A, 0x5C, 0x64, 0x36, 0xB5, 0x99, 0x97, 0x30, 0x92,\r
+               0x17, 0x58, 0x04, 0x63, 0x29, 0x79, 0xC3, 0x02, 0xD2, 0xD2, 0xC7, 0x18, 0xD1, 0x3F, 0x2D, 0x50,\r
+               0x1E, 0x40, 0x62, 0x8A, 0x7B, 0x48, 0x66, 0x4F, 0xEA, 0x76, 0x7A, 0x2C, 0x9F, 0xEA, 0x74, 0x35,\r
+               0xA8, 0x0C, 0xFB, 0x98, 0x20, 0xCC, 0xAA, 0xE9, 0x76, 0xA2, 0xAB, 0xE5, 0xA0, 0x50, 0x91, 0x52,\r
+               0x02, 0x19, 0x55, 0x26, 0xCF, 0x90, 0xB1, 0x3C, 0xDB, 0x3B, 0xDF, 0x7E, 0x86, 0x49, 0xC7, 0x97,\r
+               0x68, 0xC6, 0xDD, 0x99, 0x23, 0xE8, 0x4E, 0xE1, 0xF2, 0x04, 0x67, 0xBE, 0xA2, 0x1C, 0x7E, 0x25,\r
+               0xAC, 0x48, 0x5E, 0x46, 0xE0, 0xE5, 0x12, 0xD6, 0xE7, 0x41, 0x26, 0xEF, 0x43, 0xEB, 0x4B, 0xB6,\r
+               0xCA, 0xDA, 0x8A, 0xA0, 0xFC, 0x20, 0x8D, 0x67, 0xE2, 0xF1, 0x73, 0xD5, 0xD8, 0xC6, 0x25, 0xD7,\r
+               0xB1, 0x00, 0xF6, 0x84, 0x73, 0xC2, 0xD3, 0x27, 0x85, 0x79, 0xF0, 0x9E, 0x25, 0x66, 0xB2, 0x7D,\r
+               0x56, 0x0B, 0x43, 0x74, 0x6D, 0x1C, 0x74, 0x1D, 0x13, 0xBD, 0x1C, 0xA1, 0xB0, 0x0A, 0x2A, 0x77,\r
+               0x1D, 0x65, 0xF2, 0x73, 0x5B, 0x3F, 0xF1, 0x32, 0x5E, 0xF3, 0x02, 0xBA, 0xA7, 0xE8, 0x6F, 0xBE,\r
+               0x7D, 0x87, 0x8C, 0xDC, 0x44, 0xDE, 0x8A, 0x8B, 0x4A, 0xD8, 0x52, 0x74, 0x2C, 0x9F, 0xBA, 0xFA,\r
+               0xF6, 0x23, 0x1B, 0xDA, 0x4E, 0x4F, 0x07, 0x68, 0x36, 0xDB, 0xE9, 0x3D, 0x4A, 0x12, 0x43, 0x31,\r
+               0xE1, 0x56, 0x45, 0x08, 0xFA, 0x97, 0xD0, 0x1B, 0x1A, 0x54, 0x04, 0xC7, 0xFF, 0x1A, 0xC9, 0x59,\r
+               0x6E, 0xB6, 0x77, 0xD0, 0x42, 0x69, 0xD7, 0xF7, 0xDD, 0x72, 0xAF, 0xD4, 0x4D, 0xAA, 0xBD, 0xDD,\r
+               0x9D, 0xED, 0x0C, 0x0B, 0xA6, 0x9B, 0x9D, 0x42, 0x62, 0x89, 0xFB, 0x2B, 0x09, 0x0F, 0xB9, 0x03,\r
+               0x2C, 0xC0, 0xA0, 0x3E, 0x21, 0xF3, 0x76, 0x6A, 0x3C, 0xCB, 0xD4, 0xCB, 0xB7, 0xB2, 0xD4, 0x9B,\r
+               0x4E, 0x16, 0xD1, 0x06, 0x8E, 0x66, 0xBF, 0x57, 0x2E, 0xA9, 0xF4, 0xAF, 0x37, 0x70, 0xE6, 0x2F,\r
+               0xF8, 0x5A, 0x48, 0x14, 0xD7, 0xF9, 0x4B, 0x7A, 0x6C, 0x47, 0x82, 0x78, 0xCC, 0xAD, 0x35, 0x22,\r
+               0xA2, 0x31, 0x0D, 0x88, 0xA3, 0x08, 0x24, 0x36, 0xC8, 0x37, 0xEE, 0x85, 0xE4, 0xF5, 0x95, 0x8C,\r
+               0x03, 0x08, 0xCA, 0x48, 0xD8, 0xFB, 0x7F, 0xED, 0xA1, 0x71, 0x14, 0x9D, 0xB4, 0x3B, 0x81, 0xA7,\r
+               0x32, 0xAD, 0x98, 0x05, 0x87, 0xD3, 0xD6, 0xBC, 0xF5, 0x23, 0x06, 0x8B, 0xF2, 0xD2, 0x6A, 0x0E,\r
+               0xA4, 0x41, 0xA7, 0xC1, 0xB6, 0x78, 0xD2, 0x6C, 0x15, 0xF4, 0x6C, 0x0B, 0xA4, 0x61, 0x3A, 0x82,\r
+               0x63, 0xEA, 0xB4, 0xE7, 0x40, 0x72, 0xEF, 0x7C, 0x8E, 0x07, 0xDC, 0xF7, 0x64, 0x37, 0xA7, 0x38,\r
+               0xBE, 0x19, 0xA7, 0x51, 0xD2, 0xCD, 0x3A, 0x02, 0x31, 0x2F, 0x5F, 0x33, 0x6F, 0x60, 0xE9, 0xBB,\r
+               0x8C, 0x6B, 0x97, 0x17, 0x06, 0x1C, 0xF3, 0x9E, 0x02, 0xD3, 0xE8, 0x48, 0xB3, 0xEE, 0xCE, 0x57,\r
+               0x21, 0x05, 0x16, 0x94, 0xF8, 0x57, 0xD2, 0xD6, 0x90, 0xB5, 0x3C, 0xAE, 0xD3, 0x7B, 0x8B, 0xE9,\r
+               0x4C, 0x3D, 0x2D, 0x8A, 0xA2, 0xA1, 0xC7, 0xA6, 0x89, 0x06, 0x9F, 0x0C, 0xF2, 0x85, 0xC0, 0xA1,\r
+               0x9E, 0x7D, 0xC5, 0x43, 0x9C, 0xD3, 0x21, 0x4F, 0x85, 0x1F, 0x92, 0x10, 0x9D, 0x87, 0xB1, 0x1D,\r
+               0x98, 0x00, 0x62, 0x07, 0x8B, 0x80, 0x66, 0x0E, 0xA0, 0x1C, 0x02, 0xE9, 0xBF, 0x71, 0x1E, 0x71,\r
+               0x7E, 0x4F, 0x1D, 0xCC, 0x5D, 0x20, 0xC0, 0x2E, 0x4D, 0x30, 0xF8, 0x66, 0x90, 0x9B, 0xBD, 0x04,\r
+               0x7D, 0xC6, 0x21, 0x99, 0x51, 0x11, 0x3B, 0x3D, 0xDE, 0xEC, 0xE9, 0xCB, 0x4D, 0x96, 0x46, 0xD7,\r
+               0xA7, 0xBA, 0x05, 0xE2, 0xE0, 0x8E, 0x27, 0xF8, 0xC1, 0x1B, 0x37, 0xCE, 0x3F, 0xA6, 0x74, 0x91,\r
+               0xDB, 0x1D, 0x50, 0xFD, 0xCF, 0x0B, 0x11, 0xDB, 0xD0, 0x1A, 0xA8, 0xA0, 0x94, 0x6C, 0xD8, 0xA8,\r
+               0xA8, 0x3E, 0x25, 0xAE, 0x37, 0xE4, 0xA7, 0x18, 0xB5, 0xB6, 0xAC, 0x57, 0x28, 0x77, 0xBA, 0xFA,\r
+               0x43, 0xB9, 0x0D, 0xC6, 0x72, 0xA5, 0xF6, 0x0D, 0xD1, 0xA0, 0x6D, 0xEB, 0x1F, 0xDB, 0xE3, 0xE6,\r
+               0x08, 0x98, 0xF3, 0x8E, 0xAD, 0x2B, 0x75, 0xC9, 0xE0, 0xB3, 0x96, 0xE7, 0xCE, 0x49, 0xC8, 0x13,\r
+               0xF4, 0xFD, 0x12, 0xA3, 0xB6, 0x49, 0xC9, 0x9B, 0x51, 0x92, 0xAF, 0x5F, 0xE4, 0xD7, 0xD2, 0xF5,\r
+               0x9F, 0xB8, 0x8E, 0xF9, 0xD5, 0xA3, 0x8B, 0x49, 0xAB, 0xFB, 0xB7, 0x19, 0x9B, 0xFB, 0xEC, 0xAA,\r
+               0x28, 0xFC, 0x91, 0x9C, 0x8C, 0xEE, 0xD7, 0x45, 0xCC, 0xB8, 0xFF, 0x99, 0xBB, 0x86, 0x7B, 0xDD,\r
+               0x0A, 0xD4, 0x84, 0x61, 0x68, 0x0D, 0x6C, 0x9F, 0x9D, 0x16, 0xF4, 0xF9, 0x6A, 0x14, 0x50, 0x28,\r
+               0x78, 0x32, 0xBA, 0x88, 0x42, 0x97, 0x84, 0x4B, 0x6D, 0x22, 0x9C, 0x04, 0x5E, 0xB0, 0xED, 0x10,\r
+               0x7A, 0x7E, 0xCD, 0x67, 0xB3, 0x56, 0x17, 0x6C, 0xC7, 0x5F, 0x4A, 0x69, 0x2F, 0x88, 0x3B, 0x72,\r
+               0x69, 0xAD, 0xD4, 0x89, 0x75, 0xCB, 0x47, 0x46, 0x48, 0x21, 0x0C, 0xFD, 0x97, 0x64, 0x3C, 0x8C,\r
+               0xE5, 0x62, 0x7C, 0xA2, 0x17, 0xEB, 0x23, 0x54, 0xAE, 0xEA, 0x43, 0x82, 0xC5, 0x29, 0x99, 0xBD,\r
+               0xBF, 0xDC, 0xEC, 0xEB, 0xD8, 0x58, 0x56, 0x9A, 0xDF, 0x56, 0x2C, 0x80, 0x89, 0x5E, 0x9B, 0x52,\r
+               0xF2, 0x80, 0xB5, 0xE7, 0xFA, 0x26, 0xBD, 0x6A, 0xFC, 0x11, 0xC1, 0xDE, 0xF9, 0xE5, 0x91, 0x0F,\r
+               0xFF, 0x48, 0xE2, 0x44, 0xAA, 0x45, 0xC4, 0x82, 0x75, 0x2B, 0xFA, 0xED, 0x86, 0xC9, 0xAF, 0x50,\r
+               0x55, 0x9E, 0x8F, 0x39, 0x0B, 0xE7, 0x2E, 0x4D, 0xB3, 0xF2, 0xD1, 0xF0, 0xB0, 0xE6, 0x2A, 0x73,\r
+               0x25, 0x34, 0xC6, 0x3F, 0xDD, 0x47, 0x88, 0x6D, 0xDA, 0x47, 0xD8, 0x1B, 0x74, 0x2E, 0xF7, 0xF6,\r
+               0x33, 0x13, 0x44, 0xC0, 0x26, 0x13, 0x77, 0xD2, 0x5B, 0xCF, 0xDF, 0xE4, 0x49, 0x61, 0x23, 0x7B,\r
+               0x15, 0x0A, 0x81, 0x96, 0xD9, 0x92, 0x70, 0x5A, 0x6E, 0x77, 0x15, 0x38, 0x53, 0xAC, 0xE1, 0x09,\r
+               0xD9, 0x51, 0x27, 0x12, 0x8D, 0x24, 0xF1, 0x85, 0xF5, 0x19, 0x38, 0x59, 0xCD, 0x41, 0x2C, 0x37,\r
+               0x84, 0x57, 0x5B, 0xA5, 0x01, 0x72, 0x42, 0xD5, 0x3F, 0xD9, 0x1E, 0x58, 0x8C, 0x2A, 0x22, 0xC1,\r
+               0xF9, 0x35, 0x45, 0x00, 0xBE, 0xAD, 0xCA, 0xBF, 0x18, 0x35, 0xC2, 0xD6, 0x07, 0x9D, 0x19, 0x8F,\r
+               0x3E, 0xDB, 0x13, 0x63, 0x3D, 0x71, 0xCB, 0x80, 0x03, 0x69, 0x2D, 0x03, 0x0B, 0x02, 0xC9, 0xA9,\r
+               0x16, 0x83, 0xBD, 0xC3, 0x65, 0xF6, 0xB1, 0x4C, 0x38, 0x27, 0xA6, 0xB4, 0x67, 0x08, 0x5C, 0x31,\r
+               0x4A, 0x40, 0x8A, 0xCE, 0xFF, 0x39, 0x63, 0x9D, 0x9A, 0xE8, 0x4C, 0x15, 0x06, 0x1E, 0xC5, 0xB0,\r
+               0x30, 0x9A, 0x78, 0x95, 0xB7, 0x83, 0xEF, 0x5B, 0x35, 0x84, 0x6E, 0xE3, 0x16, 0x30, 0x8A, 0x53,\r
+               0x2E, 0x81, 0x36, 0xD8, 0xB1, 0x27, 0x78, 0xD0, 0x09, 0x34, 0x5D, 0xB8, 0xAB, 0xA8, 0x34, 0x3E,\r
+               0x82, 0x2A, 0xFC, 0xE1, 0x54, 0x0E, 0xE5, 0xCA, 0x6B, 0x66, 0xE1, 0xA3, 0x71, 0x5A, 0x4E, 0x65,\r
+               0x88, 0x5A, 0x47, 0xBC, 0xF7, 0xDD, 0x60, 0xB9, 0x8F, 0x42, 0xE2, 0xAB, 0x12, 0xC7, 0xEF, 0xFF,\r
+               0x0C, 0xA9, 0x23, 0x25, 0xDC, 0x8D, 0xAE, 0xAD, 0x53, 0x7D, 0xE3, 0x28, 0xF7, 0xF1, 0x79, 0x32,\r
+               0x7F, 0x8A, 0x56, 0x76, 0xA4, 0x05, 0x50, 0x2D, 0x65, 0x90, 0xA0, 0xC8, 0xBE, 0xF2, 0xC2, 0x4E,\r
+               0xC3, 0x7B, 0xB9, 0xF4, 0x9F, 0x68, 0x68, 0x33, 0x6A, 0xDC, 0x24, 0xE8, 0x52, 0x2F, 0x3D, 0x36,\r
+               0x96, 0x41, 0x09, 0xF1, 0xFE, 0xF3, 0x45, 0x5D, 0xF8, 0xBA, 0xF0, 0x0E, 0x4E, 0x9E, 0xA2, 0xF3,\r
+               0xD7, 0x10, 0x4C, 0xE4, 0x6D, 0x12, 0xB2, 0x68, 0x76, 0x7E, 0x73, 0xD1, 0x8D, 0xA9, 0xFE, 0xFE,\r
+               0x6F, 0xD0, 0x73, 0xCD, 0xDF, 0x36, 0xE7, 0xD1, 0xA9, 0x14, 0xFB, 0x6E, 0x61, 0x74, 0x01, 0x86,\r
+               0x1B, 0x4B, 0xEA, 0x60, 0x1A, 0x10, 0xFE, 0x87, 0xBC, 0xBE, 0x55, 0xD0, 0x8E, 0xA1, 0x1A, 0xDA,\r
+               0xCA, 0x82, 0x3E, 0xFC, 0x7D, 0x2F, 0x44, 0x62, 0xF0, 0x08, 0xCC, 0xC2, 0xD5, 0x07, 0xD6, 0x5E,\r
+               0x77, 0xB6, 0x9A, 0xC4, 0x18, 0x61, 0x91, 0x3B, 0xE8, 0x01, 0xAA, 0x2B, 0x87, 0x4A, 0x73, 0x6F,\r
+               0x86, 0x1B, 0x2C, 0x4A, 0xDA, 0x29, 0x39, 0x26, 0x52, 0xC7, 0x26, 0x63, 0x72, 0x52, 0xAA, 0x41,\r
+               0x4B, 0x85, 0xC1, 0x74, 0x4B, 0xB9, 0xA1, 0xAF, 0x5D, 0x8B, 0xA2, 0x43, 0x08, 0x0A, 0x2D, 0x8D,\r
+               0x1F, 0x7A, 0x3A, 0xCB, 0x95, 0xFD, 0x04, 0xAB, 0x06, 0x78, 0xD9, 0x98, 0xEC, 0xBF, 0x67, 0x7F,\r
+               0xB4, 0x69, 0x1C, 0x0C, 0x11, 0x4F, 0xB4, 0xDF, 0xE6, 0xF7, 0xEB, 0x40, 0x54, 0x53, 0x60, 0x81,\r
+               0x59, 0x93, 0x93, 0x20, 0x79, 0xFA, 0xBC, 0x55, 0x93, 0xE0, 0xB5, 0x92, 0xE0, 0x20, 0xB7, 0x59,\r
+               0xE2, 0xDA, 0x90, 0x5C, 0xB2, 0x9C, 0x31, 0xAC, 0x37, 0x6B, 0x22, 0x94, 0xEA, 0xC3, 0x3A, 0xC8,\r
+               0xB2, 0x14, 0xBB, 0x48, 0xF6, 0x17, 0x46, 0x79, 0xD5, 0x0B, 0x5C, 0x3B, 0xF5, 0x7A, 0x41, 0x29,\r
+               0xAC, 0x0F, 0xF5, 0x05, 0x3F, 0x00, 0xA4, 0x3C, 0xBB, 0x40, 0xED, 0x3C, 0xC3, 0x55, 0xC4, 0x0A,\r
+               0x40, 0x30, 0x31, 0x93, 0x35, 0x95, 0xC8, 0xA4, 0xB0, 0xA7, 0x58, 0xCC, 0xDD, 0x6F, 0x63, 0xD4,\r
+               0x6C, 0x59, 0x4F, 0x98, 0x70, 0xD4, 0x99, 0xB1, 0x5A, 0x75, 0x1A, 0xAF, 0xEE, 0x34, 0x5F, 0x64,\r
+               0xDC, 0xA5, 0xBC, 0x03, 0xCA, 0x14, 0xCF, 0x2C, 0xF1, 0xB2, 0x09, 0x89, 0x18, 0x24, 0x62, 0x6E,\r
+               0xB6, 0x25, 0x6B, 0xE3, 0x46, 0x42, 0x7C, 0x7C, 0x1D, 0x24, 0x36, 0x4D, 0x29, 0xF4, 0x66, 0xC5,\r
+               0xA4, 0x33, 0x39, 0xB7, 0xEF, 0x04, 0x95, 0x97, 0xB8, 0x15, 0x64, 0x00, 0x76, 0xA5, 0xCF, 0xED,\r
+               0x5E, 0x2B, 0x7F, 0xDE, 0xC4, 0x54, 0x5B, 0x83, 0x81, 0xB4, 0xA3, 0xC0, 0x0D, 0x7E, 0x94, 0x1E,\r
+               0x32, 0xD6, 0x0F, 0x7A, 0x6A, 0x7C, 0x03, 0x23, 0xEA, 0xEE, 0xE6, 0x5C, 0x79, 0x32, 0xFB, 0xEF,\r
+               0x44, 0x01, 0xE1, 0x38, 0x67, 0x87, 0xDE, 0xF0, 0xA6, 0x58, 0x7F, 0x4E, 0x20, 0x1F, 0x0F, 0x70,\r
+               0x64, 0x65, 0x83, 0x2A, 0xD3, 0x07, 0x1C, 0xC2, 0x70, 0x3A, 0x0E, 0x76, 0x8F, 0x22, 0xC6, 0xE5,\r
+               0xD3, 0xCC, 0x6A, 0xAF, 0xD4, 0x4B, 0xA1, 0x12, 0x58, 0xAD, 0xD7, 0x52, 0xDE, 0x4A, 0xB1, 0xCB,\r
+               0x2A, 0xCF, 0x4F, 0x3F, 0x7B, 0xBD, 0xCD, 0x30, 0xFF, 0xD0, 0x93, 0x54, 0x9F, 0x19, 0xA6, 0x8C,\r
+               0xF1, 0x3C, 0x14, 0x44, 0x8C, 0xAC, 0x07, 0xE0, 0x1B, 0x6B, 0x49, 0xB7, 0xED, 0xDB, 0x6B, 0x96,\r
+               0x5C, 0xE0, 0x87, 0x55, 0x77, 0xA1, 0xD4, 0x3D, 0x27, 0xE2, 0x1C, 0xB4, 0xFE, 0xEA, 0x67, 0x6D,\r
+               0x72, 0x03, 0xC8, 0x45, 0x04, 0xD4, 0x87, 0x1E, 0xAD, 0xC6, 0xC7, 0x46, 0x4E, 0xD6, 0x3C, 0x5E,\r
+               0x09, 0xFF, 0xFB, 0xF2, 0x23, 0x5A, 0x6B, 0xC2, 0x9D, 0xB4, 0x81, 0x74, 0xD2, 0x07, 0xE8, 0x97,\r
+               0x36, 0xD6, 0x43, 0x32, 0x0A, 0xBF, 0x71, 0x5F, 0x17, 0x90, 0x5A, 0x86, 0x76, 0x6B, 0x98, 0x6A,\r
+               0x94, 0x65, 0x5A, 0x91, 0x41, 0x41, 0x39, 0x7E, 0x2C, 0xA8, 0x44, 0xEB, 0x06, 0x9D, 0xC2, 0x7F,\r
+               0x65, 0x42, 0x9B, 0x02, 0x18, 0xED, 0x25, 0x49, 0x28, 0x50, 0x73, 0x3E, 0x4B, 0x83, 0x8C, 0x64,\r
+               0xDD, 0x63, 0x2A, 0x3B, 0x02, 0x73, 0xC3, 0x63, 0xC9, 0x35, 0x5E, 0xC2, 0x19, 0xE1, 0x97, 0xD8,\r
+               0xA3, 0x68, 0x06, 0x52, 0xB1, 0xBC, 0x0D, 0x16, 0xAB, 0x51, 0x4C, 0xE2, 0x95, 0x24, 0xB6, 0x7A,\r
+               0x23, 0x2B, 0x61, 0x1A, 0x26, 0xC1, 0x7A, 0x36, 0xB4, 0x15, 0x29, 0x55, 0x99, 0x69, 0xEF, 0x26,\r
+               0x9A, 0xCA, 0x1A, 0x05, 0x12, 0x56, 0x78, 0x39, 0x6A, 0xB0, 0x2D, 0x11, 0x0B, 0xC1, 0xF5, 0xBC,\r
+               0xF4, 0xCB, 0x0B, 0x9A, 0xBE, 0x9C, 0x41, 0x92, 0x3F, 0x17, 0x32, 0x6D, 0x28, 0x44, 0xDA, 0x8A,\r
+               0xD1, 0x70, 0x1B, 0xC0, 0x29, 0xE1, 0x36, 0xB2, 0x37, 0x14, 0x16, 0x89, 0xDD, 0x6F, 0x48, 0x5B,\r
+               0x6D, 0x66, 0x7F, 0x01, 0x70, 0x4D, 0x2A, 0x85, 0x1F, 0x93, 0x7E, 0x62, 0xC8, 0x2E, 0x0D, 0x0A,\r
+               0xBA, 0x86, 0x15, 0x81, 0x51, 0x64, 0x82, 0x24, 0xD6, 0x71, 0x3B, 0x75, 0x4A, 0x92, 0xE2, 0xFB,\r
+               0xB8, 0x3A, 0x64, 0xEE, 0x53, 0x13, 0x6D, 0x68, 0x46, 0xCF, 0x72, 0x2F, 0x84, 0x21, 0x2D, 0x8E,\r
+               0xD7, 0xFB, 0xBF, 0x57, 0x65, 0xF3, 0x80, 0x2B, 0xD8, 0xE5, 0x94, 0x35, 0x52, 0x8F, 0x90, 0x69,\r
+               0xE4, 0xC1, 0x36, 0x6C, 0x5B, 0xDF, 0xDF, 0x54, 0x8F, 0x2D, 0x37, 0x38, 0xBA, 0xEC, 0xC0, 0x10,\r
+               0x3E, 0xF2, 0xA7, 0x31, 0x27, 0x8A, 0xC0, 0xF3, 0x80, 0x9F, 0x58, 0xB2, 0x9B, 0x5D, 0x78, 0x29,\r
+               0xC3, 0xC6, 0x57, 0x59, 0x9A, 0x2E, 0xF8, 0xC7, 0xBE, 0x79, 0xB1, 0xC0, 0x4F, 0xC7, 0x52, 0xC1,\r
+               0xC7, 0xF1, 0x82, 0xA1, 0xF6, 0x5E, 0x5C, 0x3A, 0xEE, 0x00, 0x59, 0xA3, 0x96, 0x01, 0x4F, 0xEA,\r
+               0x53, 0x8F, 0x0D, 0xE7, 0xF1, 0xB2, 0xA2, 0x82, 0xF7, 0xD3, 0xB7, 0xB0, 0xBC, 0x9C, 0x89, 0xBA,\r
+               0x62, 0x09, 0xF5, 0xB3, 0xE8, 0x10, 0x11, 0x21, 0x61, 0xFA, 0x75, 0x4E, 0x05, 0xB8, 0x3B, 0xEF,\r
+               0x63, 0xC9, 0x3F, 0x95, 0xE6, 0x7B, 0xE7, 0x60, 0x1D, 0xFC, 0xC2, 0x13, 0x55, 0xEE, 0xB7, 0x5C,\r
+               0x39, 0xB9, 0xC9, 0x80, 0x03, 0x38, 0x79, 0xA6, 0x29, 0x76, 0xB3, 0xF4, 0x50, 0xBB, 0x07, 0x66,\r
+               0xEC, 0xE5, 0xD2, 0x6F, 0xD3, 0xA7, 0x5F, 0xAA, 0x7F, 0x98, 0xD0, 0x33, 0x6F, 0x67, 0x84, 0x67,\r
+               0x21, 0x97, 0x10, 0x75, 0x3D, 0x14, 0x26, 0xD9, 0xFC, 0x99, 0xEF, 0xEF, 0xBD, 0x8D, 0xE7, 0x25,\r
+               0xCA, 0x22, 0x79, 0x7C, 0xE0, 0xDC, 0xA3, 0x1D, 0xB5, 0x33, 0xE9, 0x9F, 0x9D, 0x2D, 0x31, 0x83,\r
+               0x02, 0xA7, 0xA4, 0xB8, 0x2B, 0x96, 0xD9, 0xFE, 0xBB, 0xA7, 0x46, 0xDF, 0x8A, 0x58, 0xE3, 0xDD,\r
+               0xDE, 0x1F, 0x91, 0x72, 0xE9, 0x5B, 0xAB, 0xE4, 0x7E, 0xBE, 0x10, 0xF9, 0x02, 0xD9, 0x1C, 0xDA,\r
+               0x91, 0x92, 0x45, 0x4F, 0x25, 0xFD, 0x2F, 0xBF, 0x7D, 0xF7, 0x6C, 0x42, 0x69, 0x17, 0xCD, 0xCD,\r
+               0x99, 0xB6, 0xA1, 0x4C, 0x84, 0x60, 0xB5, 0xDC, 0xC6, 0x87, 0x31, 0x48, 0x1A, 0xC4, 0x6E, 0x48,\r
+               0xF2, 0x40, 0xAF, 0x0D, 0x08, 0xC8, 0x9E, 0x13, 0x6C, 0x27, 0xA6, 0xB5, 0xFD, 0xCF, 0x9E, 0xFD,\r
+               0x12, 0xAD, 0x99, 0x4E, 0xB3, 0xCB, 0xE2, 0x5A, 0x19, 0x04, 0xF5, 0xC6, 0x7D, 0x47, 0xE6, 0x03,\r
+               0x2F, 0x38, 0x50, 0xE1, 0x0F, 0x24, 0x60, 0xAB, 0xB0, 0xED, 0x1E, 0x80, 0x4D, 0xF3, 0xC5, 0xCE,\r
+               0x8E, 0xF7, 0xF2, 0x0B, 0x96, 0x32, 0xE1, 0xCA, 0x87, 0x2E, 0x13, 0xDC, 0x9C, 0x3C, 0x5F, 0x1C,\r
+               0x82, 0xE4, 0xC3, 0xF0, 0xFE, 0x92, 0xEE, 0x06, 0x0C, 0x2C, 0x08, 0xE4, 0x00, 0xED, 0x8B, 0xD5,\r
+               0xD9, 0x54, 0xFF, 0xC3, 0x40, 0x0A, 0x83, 0xBB, 0x42, 0x37, 0x45, 0xFA, 0x8B, 0x49, 0x8D, 0x42,\r
+               0xF8, 0xD8, 0x3A, 0x61, 0x1C, 0x3D, 0x8E, 0x78, 0x04, 0x2F, 0x2C, 0x00, 0xB2, 0xE5, 0x47, 0xE9,\r
+               0xEA, 0x6E, 0x76, 0xF8, 0xD0, 0x9B, 0x0A, 0x23, 0xD0, 0xE6, 0xB0, 0xD1, 0x57, 0xDA, 0x20, 0x53,\r
+               0x59, 0x17, 0x98, 0x8B, 0x60, 0x68, 0x91, 0xDF, 0x16, 0xB6, 0x9A, 0x4C, 0xF6, 0xE3, 0xE0, 0x94,\r
+               0x11, 0xD1, 0x22, 0x07, 0xB9, 0x70, 0xBF, 0x2A, 0xA0, 0x1B, 0x14, 0xBD, 0xEB, 0xAB, 0x22, 0x3C,\r
+               0x34, 0x6A, 0x32, 0x5D, 0x68, 0xA4, 0x23, 0xE3, 0x33, 0xEC, 0x21, 0x5C, 0x8D, 0x39, 0xC4, 0xE8,\r
+               0xD2, 0x0C, 0xA0, 0x89, 0xF7, 0x15, 0xE6, 0xFF, 0x83, 0xD6, 0x24, 0x09, 0xE3, 0xA2, 0xA5, 0xC5,\r
+               0x54, 0xC4, 0x63, 0x56, 0xCB, 0x4E, 0x56, 0xCC, 0x49, 0x7D, 0x1D, 0xA5, 0x01, 0xFC, 0xE5, 0x4A,\r
+               0xEB, 0xAE, 0xBC, 0xDE, 0x34, 0x93, 0x2E, 0x20, 0x76, 0xBD, 0x34, 0x1D, 0xB8, 0xD8, 0x57, 0x1F,\r
+               0x01, 0xDB, 0x1F, 0xF1, 0x8B, 0x40, 0xF9, 0x58, 0x81, 0xB9, 0x98, 0x78, 0xA9, 0xDD, 0xCC, 0xEB,\r
+               0xAE, 0xBB, 0xFD, 0x8F, 0xF0, 0xF9, 0x18, 0x47, 0xAA, 0x77, 0x8C, 0x28, 0x7C, 0x56, 0x88, 0x9C,\r
+               0xF6, 0x77, 0x7A, 0xF5, 0xA9, 0x55, 0x04, 0x70, 0x0B, 0x9D, 0x43, 0x8A, 0x74, 0x5F, 0x0F, 0x65,\r
+               0x06, 0x90, 0x71, 0x40, 0x0E, 0x6F, 0xDA, 0x6E, 0xCF, 0xA2, 0xD5, 0x66, 0xEC, 0xCA, 0x05, 0x09,\r
+               0xA2, 0xA8, 0xCC, 0x74, 0xAD, 0x85, 0xAF, 0x41, 0x00, 0xD7, 0x1B, 0xD5, 0x7B, 0x37, 0xAF, 0xA9,\r
+               0x79, 0x5B, 0x97, 0x0F, 0xE7, 0x30, 0x5D, 0xA5, 0xFB, 0x28, 0xA4, 0x81, 0x7F, 0x73, 0x71, 0x0C,\r
+               0xA8, 0x30, 0x59, 0x18, 0x7D, 0x1A, 0x89, 0x4D, 0xA9, 0x3E, 0xF0, 0x93, 0x85, 0x30, 0x43, 0x11,\r
+               0x7A, 0x27, 0x2C, 0x46, 0xAA, 0x69, 0x51, 0xF9, 0x26, 0xC4, 0xDC, 0x7E, 0x0F, 0x85, 0x2B, 0x19,\r
+               0x66, 0x3E, 0x20, 0x4B, 0x31, 0x08, 0x3F, 0xD4, 0x35, 0x7B, 0xAA, 0xF8, 0xF3, 0xB6, 0x50, 0xAE,\r
+               0xFA, 0x64, 0x4B, 0x0E, 0x5E, 0x44, 0xCE, 0xA0, 0x45, 0x86, 0x0E, 0x94, 0x53, 0x9E, 0xFE, 0xF6,\r
+               0x4C, 0xEA, 0xBA, 0xA3, 0x0C, 0x18, 0x35, 0x22, 0xB9, 0xC8, 0xFA, 0xAE, 0x12, 0xCD, 0xE9, 0xB1,\r
+               0x74, 0x88, 0x6C, 0xD2, 0xC5, 0x25, 0xA0, 0x8D, 0xDB, 0xAC, 0xE8, 0x8E, 0x20, 0x4D, 0x5D, 0x73,\r
+               0xB3, 0x62, 0x3B, 0xA4, 0xA8, 0x1E, 0xBE, 0xB5, 0x86, 0x08, 0xD3, 0x16, 0xFC, 0xDE, 0xF0, 0x62,\r
+               0x95, 0xA5, 0x90, 0xB7, 0x95, 0x0E, 0xB4, 0x43, 0x75, 0xF4, 0x48, 0xA6, 0x61, 0x1E, 0x4A, 0x34,\r
+               0x3A, 0xC5, 0x72, 0xC9, 0x05, 0x9F, 0x3D, 0xDB, 0x03, 0x9E, 0x67, 0x6E, 0x47, 0xCE, 0xD5, 0x38,\r
+               0x77, 0xF4, 0xD7, 0x9B, 0xAC, 0xCE, 0x15, 0x84, 0x51, 0x88, 0x33, 0x7C, 0xAC, 0x88, 0x7C, 0xD1,\r
+               0x4C, 0x96, 0x08, 0x76, 0x22, 0x95, 0xD9, 0x62, 0x47, 0x3C, 0xCE, 0x57, 0x46, 0xD6, 0xB8, 0x3B,\r
+               0xAC, 0x7B, 0x3E, 0x35, 0x99, 0x96, 0xA5, 0x2B, 0x32, 0x1F, 0x9D, 0x24, 0xC6, 0x5E, 0xC0, 0xC5,\r
+               0xC7, 0x8D, 0x30, 0x74, 0x15, 0x3E, 0x8E, 0xE4, 0x98, 0xBF, 0x0A, 0xD9, 0x21, 0x55, 0x30, 0x70,\r
+               0xCF, 0xA9, 0xD4, 0x77, 0xB4, 0xA3, 0x14, 0x87, 0x23, 0xCF, 0x57, 0xD3, 0x52, 0x86, 0x93, 0xF5,\r
+               0x87, 0x6F, 0x6E, 0xFB, 0xD1, 0x54, 0xB8, 0x83, 0x1C, 0x0F, 0x7E, 0x6B, 0xB0, 0xD8, 0xD3, 0x7A,\r
+               0xDC, 0xDF, 0x52, 0xC8, 0x6F, 0xCC, 0xD5, 0x3E, 0x52, 0x14, 0x33, 0x75, 0x3B, 0x7C, 0xD5, 0xED,\r
+               0xD0, 0xCC, 0x63, 0x33, 0x07, 0x6C, 0xDA, 0xF2, 0xD9, 0x16, 0x28, 0x4D, 0xA7, 0xAD, 0x01, 0x24,\r
+               0x71, 0x03, 0xC1, 0xD9, 0x9E, 0x7A, 0x5B, 0x93, 0xEE, 0xD5, 0x25, 0x11, 0x76, 0x62, 0x9B, 0xF6,\r
+               0x4F, 0xEA, 0xB3, 0x3F, 0x28, 0x2E, 0x84, 0x12, 0xFE, 0x23, 0x2F, 0x2C, 0xD0, 0x3A, 0x7C, 0x04,\r
+               0x07, 0x2C, 0x09, 0xB3, 0xF1, 0x36, 0xAA, 0xE7, 0x48, 0x8E, 0xA1, 0xDD, 0xCD, 0x72, 0xBE, 0xAC,\r
+               0xB4, 0x55, 0xE7, 0xC0, 0x41, 0xC5, 0x31, 0x1B, 0x8E, 0xDE, 0x8B, 0x40, 0x6C, 0x4B, 0x7E, 0x6B,\r
+               0xA6, 0xE3, 0xAB, 0x59, 0x8D, 0x63, 0xB5, 0x40, 0x5A, 0x17, 0x17, 0x91, 0x89, 0x74, 0x19, 0xD1,\r
+               0xB5, 0x95, 0x2D, 0xE6, 0xA5, 0xCD, 0x15, 0x18, 0x28, 0x85, 0x0F, 0x8C, 0x83, 0x49, 0x09, 0x27,\r
+               0x0A, 0xFF, 0xF2, 0x6E, 0x5A, 0x10, 0x6D, 0xF4, 0x17, 0x45, 0x26, 0x34, 0x3A, 0x6D, 0xBB, 0x72,\r
+               0x8C, 0x37, 0x31, 0xB1, 0x66, 0x4B, 0xDD, 0xC7, 0xDD, 0xEE, 0x1F, 0x98, 0xD8, 0x33, 0xFB, 0xFD,\r
+               0x6A, 0x51, 0xA3, 0x65, 0xF9, 0xFA, 0x18, 0xDB, 0x6D, 0xD4, 0x1A, 0xCD, 0xB6, 0xA8, 0x9A, 0xD0,\r
+               0x58, 0xAB, 0xE0, 0x78, 0x9F, 0x31, 0xE1, 0x56, 0x91, 0x9A, 0xEE, 0xF7, 0xD7, 0x5B, 0x5B, 0x31,\r
+               0xA8, 0x4C, 0xEB, 0xCD, 0x38, 0x0B, 0x3F, 0x48, 0x55, 0xA5, 0x78, 0x1B, 0x4F, 0xCE, 0x51, 0x5D,\r
+               0xF0, 0x80, 0x6C, 0xB7, 0x61, 0xA7, 0x23, 0x7F, 0xF4, 0x4F, 0xB7, 0xB9, 0x47, 0xC7, 0xD6, 0xA4,\r
+               0x5F, 0xE0, 0x8E, 0xC9, 0x1A, 0x1E, 0xC2, 0x60, 0xDF, 0x81, 0xA3, 0xE9, 0x92, 0x4C, 0x92, 0xD3,\r
+               0x24, 0x1C, 0xBD, 0x7E, 0x3B, 0x37, 0x6A, 0xC1, 0x78, 0xFC, 0xE7, 0xEF, 0x34, 0x14, 0x75, 0x21,\r
+               0xF6, 0x0B, 0xC8, 0x20, 0xEC, 0x44, 0xB2, 0x75, 0xF7, 0x06, 0xCB, 0x02, 0xBE, 0xA1, 0x1D, 0x29,\r
+               0x27, 0x60, 0x06, 0x37, 0x76, 0x6E, 0x66, 0x9D, 0xA5, 0x10, 0x9F, 0x10, 0x44, 0xE2, 0x2F, 0x34,\r
+               0xFC, 0x93, 0x5D, 0x4C, 0x3C, 0xDB, 0x94, 0x79, 0x5E, 0xEF, 0x20, 0x44, 0x40, 0xA6, 0xF1, 0x91,\r
+               0x2A, 0xB3, 0xFD, 0xEA, 0x54, 0x7B, 0x9B, 0xB5, 0x85, 0x94, 0xD3, 0x1F, 0x1B, 0xDC, 0x03, 0x4B,\r
+               0x12, 0xD1, 0x2B, 0x9B, 0x9D, 0x46, 0x0E, 0x1A, 0xE7, 0xF0, 0xC1, 0x3F, 0x29, 0x5C, 0xB7, 0x89,\r
+               0xA4, 0x5F, 0xDA, 0x36, 0xCF, 0x1A, 0xF5, 0x98, 0x1B, 0xBE, 0x35, 0x05, 0x68, 0x0F, 0xA0, 0xCE,\r
+               0x38, 0x05, 0xB1, 0x73, 0xA0, 0x56, 0x04, 0xEC, 0x6B, 0x43, 0x91, 0x69, 0xC8, 0x27, 0x0E, 0x96,\r
+               0x29, 0xCF, 0x46, 0xA3, 0x3D, 0x90, 0x2E, 0xBC, 0x0F, 0xB0, 0x08, 0xED, 0x97, 0x19, 0x22, 0xE9,\r
+               0x64, 0xFE, 0xE3, 0xF1, 0x94, 0xC1, 0x06, 0xE3, 0x5D, 0xA6, 0x5C, 0xFF, 0x7C, 0x5F, 0x8B, 0x00,\r
+               0xCB, 0x9E, 0x01, 0x8F, 0x04, 0x50, 0x8F, 0x7B, 0x2B, 0xCC, 0x73, 0x37, 0x5A, 0x8F, 0x14, 0x0C,\r
+               0xED, 0x59, 0xAA, 0x9C, 0x39, 0x40, 0x85, 0x8D, 0xD8, 0x30, 0xE8, 0x87, 0xC7, 0x4F, 0xAE, 0x5A,\r
+               0x02, 0xDB, 0x16, 0x6D, 0xE6, 0xFF, 0xEF, 0x05, 0x79, 0xDA, 0x27, 0x25, 0xC5, 0x7B, 0x39, 0x55,\r
+               0xAF, 0x07, 0x85, 0x7C, 0x1D, 0xF2, 0x3C, 0xD8, 0x45, 0x53, 0x72, 0x26, 0xD6, 0x4A, 0x35, 0xAE,\r
+               0x74, 0xF4, 0xDE, 0x07, 0xEA, 0xE3, 0xF6, 0x08, 0xA1, 0xE8, 0xA8, 0xC5, 0xA4, 0x88, 0xF8, 0xB4,\r
+               0x8D, 0xF7, 0xFB, 0x97, 0x45, 0x15, 0x9A, 0x2A, 0x06, 0x95, 0xEC, 0xC3, 0xE5, 0xDB, 0xEF, 0xF3,\r
+               0xCA, 0x5E, 0xCB, 0xA9, 0xD0, 0x1F, 0x02, 0x46, 0x72, 0x90, 0x7F, 0x7A, 0x3D, 0x0C, 0x9C, 0x47,\r
+               0x68, 0xED, 0xD2, 0x0A, 0x9B, 0xE1, 0x4A, 0x67, 0x49, 0xA8, 0x61, 0x17, 0x4D, 0xFA, 0xC6, 0x52,\r
+               0x57, 0xC4, 0x6A, 0xCA, 0xB2, 0x04, 0x50, 0xFA, 0xC3, 0x8C, 0xBA, 0xE5, 0xE9, 0x96, 0xB6, 0xAF,\r
+               0x2C, 0x38, 0x59, 0x7D, 0x95, 0x8A, 0xBC, 0x26, 0xF3, 0xFE, 0xFC, 0xD7, 0x75, 0x47, 0x62, 0x66,\r
+               0x7D, 0x10, 0xF0, 0x22, 0xB7, 0x9F, 0x41, 0x0E, 0xEA, 0x2D, 0x12, 0xC4, 0xA2, 0xF8, 0xB1, 0x1E,\r
+               0xFD, 0x53, 0x97, 0x6A, 0x20, 0xE2, 0x36, 0x2E, 0xF5, 0x69, 0x77, 0x73, 0xAE, 0xB5, 0xE8, 0x42,\r
+               0x83, 0x58, 0xBB, 0x03, 0x93, 0x2D, 0xF8, 0x5B, 0x97, 0x0D, 0x65, 0x53, 0x22, 0x70, 0xC9, 0xE0,\r
+               0x3B, 0x79, 0x0A, 0x3A, 0x89, 0xB3, 0x1E, 0x71, 0x76, 0x68, 0x48, 0xAF, 0x70, 0x12, 0xD2, 0x5C,\r
+               0x33, 0x5D, 0xEE, 0x39, 0xE1, 0x13, 0x11, 0xBD, 0x41, 0xAB, 0x45, 0xF3, 0xF3, 0xBF, 0x53, 0x32,\r
+               0x8F, 0x4B, 0x8A, 0xF8, 0xB8, 0xBF, 0x0D, 0x8A, 0x69, 0x2C, 0x2D, 0x18, 0xE6, 0xFE, 0x16, 0x63,\r
+               0xAA, 0xF0, 0x9A, 0xA2, 0x2F, 0xC2, 0x7A, 0xAA, 0x61, 0x2F, 0x09, 0xFC, 0x13, 0xD5, 0x84, 0xB2,\r
+               0xC4, 0xF1, 0x8B, 0x3D, 0x83, 0x08, 0x43, 0x01, 0x34, 0x88, 0x16, 0x80, 0x30, 0x50, 0xAB, 0x84,\r
+               0xBA, 0xFA, 0xA7, 0x54, 0xCA, 0x81, 0xE4, 0x6C, 0xD1, 0x15, 0x0C, 0xA9, 0x81, 0x7D, 0x9E, 0x28,\r
+               0x89, 0xC0, 0x2E, 0x6F, 0xF4, 0xAD, 0xBB, 0x13, 0x86, 0xDD, 0xAF, 0xA4, 0x69, 0x1E, 0xCE, 0x51,\r
+               0xE6, 0x01, 0xF5, 0xD6, 0xC2, 0x4D, 0x56, 0x50, 0x18, 0xF7, 0x49, 0xBE, 0xBF, 0xB0, 0x73, 0xB6,\r
+               0xE4, 0xBD, 0x84, 0xB9, 0xC0, 0x3A, 0xB9, 0x1C, 0x88, 0x49, 0x00, 0xE4, 0x71, 0x03, 0xBC, 0xC3,\r
+               0x0D, 0xB4, 0x9C, 0xDF, 0x60, 0xEC, 0x99, 0xBA, 0xA9, 0xEB, 0x8C, 0x21, 0x87, 0x0D, 0xD7, 0x82,\r
+               0x99, 0xCA, 0x13, 0x99, 0x67, 0x00, 0x67, 0x02, 0xB0, 0x38, 0x62, 0x32, 0xAD, 0x90, 0x11, 0xD2,\r
+               0x9D, 0xFD, 0xC6, 0x61, 0x0B, 0x70, 0xC3, 0xFF, 0xE0, 0x41, 0x8A, 0x51, 0x74, 0x56, 0x0C, 0xF9,\r
+               0x60, 0xC9, 0x36, 0x09, 0xB6, 0xD4, 0xFB, 0xCB, 0xDE, 0xA7, 0x63, 0x23, 0xA0, 0xCC, 0x26, 0x11,\r
+               0xB2, 0xDE, 0x43, 0x57, 0x42, 0xF9, 0x64, 0x92, 0x21, 0xA0, 0xEB, 0xA2, 0x54, 0xF6, 0xDA, 0x5F,\r
+               0x67, 0x82, 0x58, 0xB8, 0x92, 0x66, 0x42, 0x9E, 0x77, 0x4E, 0x88, 0x65, 0x6B, 0x2A, 0x59, 0x5E,\r
+               0x3D, 0xF2, 0xAE, 0xAD, 0x77, 0x25, 0xDC, 0x58, 0x43, 0xC4, 0xF9, 0x82, 0x6E, 0x7F, 0xE9, 0x64,\r
+               0x3C, 0x32, 0x64, 0x8B, 0x79, 0x4E, 0x2A, 0x19, 0x3F, 0xC2, 0x4E, 0xDF, 0x3E, 0x29, 0x65, 0xD7,\r
+               0x80, 0x24, 0x00, 0x4A, 0x78, 0x05, 0x90, 0xDC, 0x20, 0x86, 0x2B, 0x68, 0x39, 0x48, 0x42, 0xE2,\r
+               0x5C, 0x9C, 0x35, 0x80, 0xBA, 0xC8, 0xE2, 0xC6, 0xE5, 0x9F, 0x7D, 0x4E, 0xB1, 0xC9, 0xBD, 0xE5,\r
+               0x94, 0x19, 0xE8, 0x44, 0x71, 0x82, 0x98, 0x25, 0xEB, 0x0B, 0xD2, 0x0E, 0xA6, 0xBC, 0x6F, 0xBB,\r
+               0x7F, 0xAC, 0x81, 0x4D, 0xAC, 0x4A, 0x1D, 0xE1, 0xA2, 0xA1, 0xD4, 0x7E, 0x86, 0x1C, 0xB9, 0x1D,\r
+               0x5A, 0xB4, 0x2B, 0x23, 0xB3, 0xD3, 0x24, 0xB2, 0x93, 0xCB, 0x66, 0x6B, 0xAA, 0x30, 0x17, 0x6D,\r
+               0xC6, 0x65, 0xE2, 0xF7, 0xC1, 0x95, 0x16, 0x82, 0x7F, 0x45, 0x41, 0xB7, 0x99, 0x87, 0xEB, 0x16,\r
+               0x62, 0x09, 0x1F, 0x87, 0xE5, 0x4E, 0xE4, 0x08, 0x65, 0xA0, 0x68, 0x2A, 0x21, 0x47, 0xC2, 0x29,\r
+               0x12, 0xFF, 0x0A, 0xDD, 0xDD, 0x50, 0x89, 0x33, 0x2D, 0x5E, 0x23, 0x0B, 0x38, 0xE4, 0x71, 0x8B,\r
+               0xCA, 0x28, 0xBE, 0xAE, 0xD8, 0xC3, 0x30, 0x47, 0xB5, 0x54, 0xB6, 0x67, 0x08, 0xDA, 0xD8, 0xCC,\r
+               0x8B, 0x7B, 0xF9, 0xB9, 0xA5, 0x87, 0x36, 0xE0, 0xD9, 0xA2, 0x19, 0x45, 0x2D, 0x4A, 0xDB, 0x35,\r
+               0xF9, 0xB9, 0xE3, 0x74, 0x1E, 0x5D, 0xD5, 0x04, 0x13, 0xB3, 0xEE, 0x95, 0x76, 0x31, 0x28, 0xEE,\r
+               0xEA, 0x88, 0x18, 0x78, 0x97, 0x08, 0xD6, 0x38, 0xC0, 0xBE, 0x15, 0x48, 0xE5, 0x20, 0xF4, 0x43,\r
+               0x1F, 0xA3, 0xC9, 0xEA, 0xC5, 0x39, 0x73, 0x75, 0x6C, 0x49, 0x70, 0x4C, 0x78, 0x70, 0xDE, 0x85,\r
+               0x3C, 0x26, 0xFF, 0xC5, 0x62, 0x26, 0x0F, 0x20, 0x55, 0x83, 0xDC, 0xE7, 0x69, 0xEF, 0xDF, 0xEB,\r
+               0xC9, 0x0D, 0x2E, 0x57, 0x61, 0x02, 0xEB, 0x28, 0x22, 0xFE, 0x4B, 0xC7, 0x79, 0xB5, 0x64, 0xCE,\r
+               0xDC, 0x4C, 0x7F, 0x12, 0xE6, 0x6A, 0x00, 0x00, 0x3E, 0x52, 0x12, 0xF0, 0x1D, 0x74, 0x72, 0x72,\r
+               0x5F, 0xE1, 0x11, 0x93, 0x25, 0x67, 0x5C, 0x37, 0x31, 0xF2, 0x7A, 0x3C, 0xF9, 0x77, 0x56, 0x7A,\r
+               0x0D, 0x83, 0xAD, 0x88, 0x40, 0x4A, 0xA0, 0xD6, 0xD7, 0x6C, 0x60, 0x16, 0x48, 0x4E, 0x77, 0xC2,\r
+               0x81, 0x46, 0x0F, 0xA9, 0x24, 0x58, 0x80, 0xB4, 0x19, 0xA3, 0xD3, 0x63, 0x64, 0x27, 0x7C, 0xBC,\r
+               0x8D, 0x0B, 0x53, 0xF0, 0x60, 0x3D, 0x37, 0xAB, 0x6E, 0xDE, 0x44, 0x43, 0x03, 0x6F, 0x3F, 0x3C,\r
+               0x8F, 0x3F, 0x5C, 0x67, 0xEA, 0x4C, 0xD0, 0x9F, 0xD4, 0x95, 0x45, 0x86, 0xC5, 0x44, 0xE6, 0x21,\r
+               0x5B, 0xA5, 0xB4, 0x4D, 0x0C, 0xA5, 0xA2, 0xA1, 0xEC, 0x31, 0xF8, 0xB2, 0x35, 0x2C, 0xD2, 0xDC,\r
+               0x82, 0x63, 0x9F, 0x50, 0x75, 0x4D, 0xC1, 0xF1, 0x48, 0x41, 0x94, 0x4F, 0xE0, 0xD4, 0xE5, 0xD8,\r
+               0xA8, 0xFE, 0xCF, 0x96, 0xA6, 0xA3, 0xD2, 0xE8, 0xB6, 0xAD, 0x93, 0xF7, 0x6F, 0x92, 0x9B, 0x4C,\r
+               0x5E, 0xF0, 0x8E, 0xFD, 0x04, 0x2F, 0x17, 0xC9, 0x96, 0x7B, 0x33, 0x51, 0x77, 0xF4, 0x92, 0xA5,\r
+               0x90, 0x43, 0xFB, 0x32, 0xBA, 0x66, 0x4D, 0x59, 0x79, 0x0C, 0x31, 0x1D, 0x06, 0x9B, 0x2E, 0xA7,\r
+               0x46, 0xED, 0x1C, 0x8F, 0x90, 0x80, 0x57, 0xC7, 0x94, 0xEC, 0x07, 0x5E, 0xDD, 0x22, 0xEF, 0xC8,\r
+               0xAE, 0x8E, 0x65, 0xDF, 0x58, 0x23, 0x5A, 0x90, 0xCB, 0xC0, 0x39, 0x21, 0x54, 0x19, 0xD5, 0xFB,\r
+               0xA9, 0xEF, 0x50, 0xF8, 0xEC, 0xFB, 0x8D, 0xE3, 0x32, 0x0B, 0x5F, 0xAC, 0x72, 0x00, 0x83, 0x3E,\r
+               0x89, 0x4F, 0xF6, 0x2E, 0x46, 0xFD, 0xFD, 0xAA, 0xB7, 0xC3, 0x82, 0x68, 0x1B, 0x09, 0x36, 0xD5,\r
+               0x9E, 0x3A, 0xA8, 0xFC, 0xD2, 0x52, 0xBD, 0xA4, 0xCD, 0x89, 0x49, 0x8B, 0xC6, 0xCD, 0xB3, 0x1D,\r
+               0x16, 0xBB, 0xAF, 0x03, 0xCB, 0x04, 0x9B, 0x61, 0xBF, 0x44, 0x8B, 0x91, 0xF3, 0x07, 0x0B, 0xC1,\r
+               0x11, 0xDA, 0x9A, 0x24, 0x8F, 0x61, 0x2C, 0x7E, 0x05, 0x0F, 0x8A, 0x54, 0x97, 0xC6, 0x1D, 0x7D,\r
+               0x41, 0x8C, 0x29, 0xA8, 0x89, 0xD6, 0x71, 0x02, 0xF3, 0x64, 0x84, 0x15, 0x5D, 0xE0, 0xDD, 0x7C,\r
+               0x44, 0xD9, 0x13, 0x18, 0x03, 0xA7, 0x96, 0x36, 0x6D, 0x27, 0x61, 0xD3, 0xAB, 0xF5, 0xAD, 0x26,\r
+               0x7B, 0x05, 0x12, 0x9B, 0xED, 0xC4, 0x51, 0x60, 0x4B, 0xB8, 0xB1, 0xDF, 0xB0, 0x1A, 0xF1, 0xF3,\r
+               0x59, 0x91, 0xBB, 0xDA, 0x98, 0x0A, 0xE2, 0xAF, 0x74, 0x3B, 0x6D, 0xDE, 0x32, 0x94, 0x2C, 0x30,\r
+               0x88, 0x5E, 0x69, 0x40, 0x5B, 0x07, 0xBE, 0x98, 0xF5, 0x2D, 0xF4, 0xBF, 0x90, 0x7E, 0xE3, 0x91,\r
+               0x14, 0x8F, 0xA0, 0x94, 0x59, 0x1C, 0x86, 0x13, 0xFA, 0x8D, 0x9C, 0x73, 0xA1, 0x85, 0xF0, 0x9D,\r
+               0x9F, 0x2B, 0x37, 0x92, 0x42, 0x51, 0x98, 0x5D, 0x97, 0x15, 0x22, 0xCE, 0x9D, 0xB6, 0x40, 0xC6,\r
+               0x7D, 0x75, 0xB8, 0xD2, 0x82, 0x78, 0x20, 0x62, 0x3B, 0xE2, 0x47, 0xCA, 0x27, 0x3A, 0x86, 0x8E,\r
+               0x0E, 0xA6, 0x3D, 0x71, 0xF2, 0x25, 0x2A, 0xD9, 0xA1, 0x7F, 0xE6, 0xA9, 0xC3, 0x39, 0xA2, 0x86,\r
+               0xE9, 0xAD, 0x88, 0x81, 0x52, 0xB2, 0xD7, 0x73, 0x8A, 0xD7, 0x6A, 0x66, 0xCD, 0x78, 0x54, 0xED,\r
+               0x69, 0x25, 0x76, 0xF9, 0x71, 0xE1, 0xA4, 0x06, 0xF6, 0xD4, 0xD1, 0x2F, 0xFB, 0x3B, 0xB9, 0x0D,\r
+               0x99, 0x5B, 0x9D, 0xDB, 0x99, 0x35, 0x3E, 0x2C, 0x37, 0xBB, 0x0A, 0x96, 0x50, 0x28, 0x7E, 0x2B,\r
+               0xF7, 0xC0, 0xB0, 0xBA, 0xA3, 0x30, 0x6B, 0x9C, 0xF2, 0x0A, 0x95, 0x8A, 0xC2, 0xFC, 0x18, 0xCD,\r
+               0x15, 0x9E, 0x3F, 0xFA, 0x08, 0x09, 0xC7, 0x56, 0x42, 0x51, 0xA9, 0xB9, 0x01, 0x23, 0xD0, 0x4B,\r
+               0xAC, 0xBA, 0x6A, 0x48, 0xC8, 0x20, 0x7F, 0x69, 0x3A, 0x8C, 0x56, 0x55, 0xDE, 0xAB, 0xBA, 0xF4,\r
+               0xA6, 0x87, 0x9C, 0x58, 0x5A, 0x38, 0x62, 0x1B, 0x9A, 0x22, 0x7E, 0x0D, 0x58, 0x14, 0xCC, 0xE7,\r
+               0x43, 0xB8, 0x26, 0x3F, 0x93, 0xA4, 0xB3, 0xCF, 0x1E, 0x84, 0xB2, 0x56, 0x14, 0x8D, 0x7A, 0xF5,\r
+               0xE2, 0x81, 0xE1, 0xFF, 0xC3, 0x8E, 0x2E, 0x09, 0x85, 0x77, 0x02, 0xAA, 0xFA, 0xFE, 0x03, 0x46,\r
+               0xFF, 0xC9, 0x49, 0x3D, 0x6E, 0x00, 0xDF, 0xBF, 0xAB, 0x6F, 0xDB, 0x5F, 0x40, 0x72, 0xC5, 0x0E,\r
+               0x6F, 0x55, 0xDC, 0xB0, 0xA2, 0x0F, 0xB7, 0x1F, 0xBB, 0x9A, 0xCF, 0x34, 0xAE, 0x01, 0xBC, 0xBD,\r
+               0x6B, 0x11, 0x79, 0x6E, 0x5D, 0xB0, 0xE3, 0xE4, 0x49, 0x2F, 0x85, 0xD0, 0xF5, 0x7A, 0x4F, 0x66,\r
+               0x91, 0x52, 0x64, 0x5C, 0x4B, 0xE4, 0xF1, 0xB6, 0x9D, 0x05, 0x1F, 0x38, 0x3B, 0x6D, 0x24, 0xB7,\r
+               0x1B, 0xE7, 0x6C, 0x34, 0xB1, 0xC8, 0x1C, 0x39, 0x45, 0x76, 0xC8, 0x8C, 0x4E, 0x33, 0x33, 0x65,\r
+               0xBD, 0xBF, 0x9E, 0xD3, 0xCC, 0x8C, 0x1A, 0x9E, 0xED, 0x5F, 0xE9, 0x2D, 0x7D, 0x84, 0xCF, 0x1E,\r
+               0x68, 0x34, 0xE9, 0x97, 0x02, 0x98, 0x4A, 0xB5, 0x0C, 0xE6, 0x92, 0x32, 0x9F, 0xFA, 0xAF, 0xB1,\r
+               0x60, 0x3D, 0x10, 0x10, 0xE8, 0x57, 0xE8, 0x14, 0x10, 0x4A, 0xCB, 0x05, 0x18, 0x80, 0x63, 0xE9,\r
+               0xF8, 0xA8, 0x7C, 0x1A, 0xD7, 0xC1, 0x04, 0xD0, 0xCE, 0x70, 0x6C, 0x1B, 0x13, 0x35, 0x84, 0x19,\r
+               0xE8, 0xBC, 0x17, 0xEF, 0x7D, 0xC7, 0x74, 0x99, 0xAA, 0x01, 0xCA, 0xC0, 0x59, 0xD1, 0x76, 0xAC,\r
+               0x75, 0x7C, 0x41, 0x55, 0x81, 0x5C, 0xC4, 0x6A, 0xA0, 0x11, 0xF7, 0x36, 0xF2, 0xC2, 0xB1, 0x8A,\r
+               0x53, 0xAC, 0x4D, 0xCA, 0xEB, 0x73, 0x0C, 0x1C, 0x29, 0x80, 0x67, 0xAE, 0x10, 0xBC, 0xD1, 0x25,\r
+               0xB8, 0xEA, 0xA4, 0x63, 0xFD, 0x27, 0x1E, 0x4E, 0x01, 0xD1, 0xCE, 0xF1, 0xB5, 0xEE, 0xE0, 0x68,\r
+               0xE7, 0xD4, 0xDB, 0x4F, 0x0E, 0xBE, 0x9A, 0x2A, 0x2B, 0x17, 0x53, 0xA1, 0x42, 0x3E, 0x2A, 0x79,\r
+               0x47, 0xFC, 0x83, 0xE1, 0xF3, 0x1A, 0xF6, 0x5A, 0xDA, 0x5B, 0x3C, 0xD5, 0x29, 0x7B, 0x70, 0xE5,\r
+               0x06, 0xAF, 0xC4, 0xF6, 0xBD, 0xEE, 0xCC, 0xA6, 0x21, 0x07, 0x6E, 0x57, 0xD8, 0xD6, 0xFE, 0x53,\r
+               0x34, 0x2F, 0x06, 0x42, 0xD9, 0xFC, 0xEC, 0xC4, 0xB4, 0x3A, 0xA7, 0xF8, 0x0E, 0xA7, 0x9C, 0x6B,\r
+               0x9E, 0xD3, 0x54, 0xCA, 0xA9, 0x6E, 0xBB, 0xFE, 0x03, 0xE0, 0x83, 0x92, 0x0C, 0xD2, 0x5D, 0x02,\r
+               0x65, 0x0E, 0x59, 0x19, 0x04, 0xFD, 0xAA, 0x22, 0x32, 0xF3, 0x78, 0x9E, 0x85, 0xEE, 0x5E, 0x57,\r
+               0x92, 0xDE, 0x48, 0xD3, 0xDF, 0xA6, 0xD1, 0xD1, 0xF0, 0x81, 0x62, 0x53, 0x3E, 0x0A, 0xBD, 0x8D,\r
+               0x3D, 0xFC, 0xBE, 0xBF, 0x26, 0x83, 0x41, 0xD2, 0xA3, 0xC0, 0x25, 0x44, 0x43, 0xAD, 0xBB, 0xC9,\r
+               0xA8, 0x90, 0xB4, 0x27, 0x61, 0xB3, 0x7F, 0x7B, 0x74, 0x18, 0x91, 0x37, 0x46, 0xD9, 0x02, 0x5A,\r
+               0xE3, 0xB1, 0x4A, 0x6F, 0xC3, 0xAA, 0xDC, 0xC8, 0x82, 0x68, 0x84, 0x6D, 0x7E, 0xE2, 0x6F, 0x44,\r
+               0xCA, 0x2C, 0xAF, 0x75, 0xFC, 0x12, 0x1C, 0xE1, 0xEE, 0xCC, 0x79, 0x1D, 0x5A, 0x68, 0x9D, 0x9F,\r
+               0xED, 0xF0, 0x21, 0x99, 0x87, 0x21, 0xAB, 0x1D, 0x3F, 0x50, 0xB0, 0xC9, 0x28, 0x58, 0xAF, 0xD9,\r
+               0xCF, 0xD8, 0x34, 0x64, 0xD6, 0x88, 0xF4, 0x35, 0x80, 0x87, 0xC8, 0x1A, 0xFB, 0x41, 0xBC, 0x37,\r
+               0x58, 0xF8, 0x49, 0x13, 0x56, 0xEF, 0xBC, 0x76, 0xCD, 0x8B, 0x94, 0x43, 0xBF, 0x5E, 0x0B, 0x52,\r
+               0xEB, 0x8D, 0x86, 0xDD, 0x28, 0xC3, 0xD5, 0x7D, 0x08, 0x07, 0x36, 0x62, 0xDB, 0x3C, 0x2B, 0x40,\r
+               0xF1, 0xA7, 0x18, 0x3B, 0x90, 0x72, 0xEC, 0x5C, 0x6A, 0x55, 0x8A, 0x79, 0xBE, 0xDD, 0xD7, 0x6D,\r
+               0x99, 0x6B, 0xB8, 0x34, 0x98, 0x96, 0xEF, 0x78, 0xC7, 0xD6, 0xE4, 0xF8, 0x7D, 0xEA, 0x8B, 0x60,\r
+               0xC0, 0x5C, 0x14, 0x28, 0x24, 0xF2, 0x2E, 0x6E, 0x86, 0xC3, 0xB5, 0xBD, 0xFA, 0xC2, 0x60, 0x08,\r
+               0x57, 0x7C, 0x69, 0x5F, 0x01, 0xE2, 0x74, 0xD5, 0xAD, 0x36, 0x64, 0x2F, 0xF9, 0xCA, 0x84, 0x2C,\r
+               0xFB, 0xD7, 0xA3, 0x66, 0x6F, 0xF3, 0xEB, 0xD4, 0x28, 0x15, 0x52, 0x00, 0x5E, 0x9F, 0xF8, 0x33,\r
+               0xB2, 0xBA, 0x2A, 0xC1, 0x11, 0xDF, 0x82, 0xDF, 0x05, 0xA4, 0xFE, 0x35, 0xC3, 0x7A, 0xD1, 0x29,\r
+               0x8C, 0xC5, 0x06, 0x9E, 0x22, 0x56, 0xB9, 0xE5, 0x66, 0x4C, 0x87, 0x65, 0x0B, 0x2D, 0xDC, 0x8A,\r
+               0xBA, 0x86, 0xE6, 0x73, 0x4D, 0x8D, 0x00, 0x24, 0xC8, 0x9A, 0x60, 0xD8, 0x21, 0xB3, 0xC6, 0x6C,\r
+               0xB8, 0xCA, 0x91, 0x9C, 0x4F, 0xFC, 0x6F, 0x98, 0x7B, 0x54, 0x15, 0x17, 0x9F, 0x23, 0x9C, 0x25,\r
+               0x18, 0x6C, 0x47, 0xBC, 0xA6, 0xE4, 0x09, 0x91, 0x75, 0xA2, 0x54, 0x7C, 0x3D, 0x02, 0x59, 0xA9,\r
+               0x1F, 0xD4, 0xAB, 0x42, 0x32, 0x6B, 0x4F, 0xEF, 0xE8, 0x88, 0x04, 0xBA, 0xEE, 0x1B, 0x4A, 0x47,\r
+               0x73, 0x29, 0xDB, 0xE6, 0x36, 0xBE, 0xB7, 0xD8, 0x2E, 0x51, 0x2F, 0xA7, 0x97, 0x4B, 0x29, 0xAF,\r
+               0xCE, 0x1D, 0x7F, 0xDE, 0xCB, 0x4E, 0xDF, 0xEC, 0xB4, 0x85, 0xC7, 0x8D, 0x71, 0x75, 0x5B, 0x46,\r
+               0x3A, 0x44, 0x52, 0x41, 0x19, 0x3B, 0x81, 0xFB, 0x8E, 0x71, 0x89, 0x71, 0x76, 0x8A, 0xDA, 0xCE,\r
+               0xEA, 0x48, 0xCD, 0x67, 0xCC, 0x20, 0x6E, 0xA7, 0x52, 0x4E, 0x88, 0xF2, 0x98, 0xDC, 0x1D, 0xAD,\r
+               0x0F, 0x8E, 0x8E, 0xF9, 0x96, 0xD6, 0x7B, 0xD7, 0x07, 0x4B, 0xB2, 0x42, 0x12, 0xE8, 0xFA, 0xDC,\r
+               0x01, 0xCF, 0xE5, 0x0F, 0x97, 0x1C, 0x5D, 0x17, 0x51, 0x1B, 0x01, 0xCE, 0x14, 0x94, 0xA7, 0x6B,\r
+               0x00, 0x0A, 0xAE, 0xB5, 0x2B, 0x78, 0x9C, 0x01, 0x30, 0x1C, 0x34, 0xE9, 0x50, 0x8B, 0x10, 0x0E,\r
+               0xC2, 0x10, 0x63, 0xC7, 0xF7, 0x4D, 0x56, 0xB9, 0xB1, 0x94, 0x33, 0x16, 0x49, 0x4E, 0x36, 0x58,\r
+               0x09, 0xF3, 0x29, 0xBD, 0x3F, 0x90, 0x92, 0x3C, 0xC4, 0x83, 0x6D, 0xC4, 0xDD, 0x40, 0x76, 0xF7,\r
+               0xD4, 0x37, 0xE1, 0x38, 0xD4, 0xF9, 0x9B, 0x89, 0x64, 0xA3, 0xCB, 0x12, 0x77, 0x09, 0x06, 0xF1,\r
+               0x5A, 0xB4, 0x3E, 0xFC, 0xE7, 0x70, 0xA0, 0xB3, 0xAE, 0x63, 0xED, 0x13, 0xEA, 0xEC, 0x2F, 0xEB,\r
+               0xE1, 0xFD, 0x3D, 0x80, 0x07, 0x46, 0xE3, 0x5E, 0x26, 0xE3, 0x13, 0x6B, 0xC9, 0x99, 0x5C, 0xB8,\r
+               0x6D, 0x32, 0x95, 0xAB, 0x6C, 0x48, 0xA2, 0xA8, 0x2D, 0x04, 0xA6, 0x9B, 0x69, 0x33, 0xA1, 0x2F,\r
+               0xCC, 0x51, 0x08, 0x31, 0x64, 0xAC, 0xA1, 0x8C, 0xFE, 0x77, 0x23, 0x38, 0x19, 0x88, 0xAB, 0x72,\r
+               0xA9, 0x55, 0xFF, 0x9D, 0x2C, 0x16, 0x2D, 0x4A, 0xA0, 0x95, 0xAC, 0x78, 0xD9, 0xB7, 0x13, 0x5B,\r
+               0x17, 0xE8, 0x67, 0xF0, 0x77, 0x2A, 0x1E, 0xFA, 0x04, 0x1E, 0x3B, 0x7E, 0xC2, 0xF9, 0x0D, 0x16,\r
+               0x7F, 0x24, 0xC7, 0xFF, 0x7B, 0x1B, 0xE5, 0xE9, 0xD5, 0x82, 0xF2, 0xAA, 0xC0, 0x72, 0x35, 0x0D,\r
+               0xE6, 0x45, 0xD1, 0x7E, 0xDA, 0xB9, 0x0F, 0x26, 0x1A, 0x53, 0x20, 0x30, 0x03, 0x45, 0x69, 0x00,\r
+               0x50, 0xC4, 0x85, 0xA1, 0xE4, 0xCB, 0xE9, 0xCF, 0x42, 0xF5, 0xD2, 0xD7, 0xF5, 0x55, 0x54, 0x0A,\r
+               0x89, 0x31, 0x9D, 0x8F, 0xAC, 0x71, 0x65, 0x09, 0x0A, 0xE8, 0x7A, 0x15, 0x58, 0xE3, 0xA5, 0x84,\r
+               0x39, 0xCD, 0x6E, 0x14, 0x1F, 0x9F, 0x16, 0x70, 0x33, 0x49, 0xBD, 0xD5, 0x08, 0x25, 0x38, 0xAE,\r
+               0xF5, 0x96, 0xC8, 0x90, 0x0D, 0xD3, 0x8F, 0xC6, 0x0C, 0xAC, 0x07, 0xB2, 0xC1, 0xF1, 0xE9, 0x32,\r
+               0xDD, 0xCE, 0x66, 0x30, 0x1E, 0x55, 0x30, 0xB0, 0x31, 0xA6, 0xF1, 0xA2, 0x53, 0x83, 0xF4, 0x2A,\r
+               0x22, 0x22, 0xBB, 0x48, 0xA1, 0x8A, 0xB8, 0xDA, 0x15, 0x1F, 0xA4, 0x10, 0x93, 0xBC, 0x4C, 0x03,\r
+               0x1E, 0x11, 0xE0, 0xF8, 0x27, 0x49, 0x67, 0x12, 0x4B, 0xFD, 0x2B, 0x50, 0x38, 0x76, 0xE0, 0x3A,\r
+               0x81, 0x0D, 0x51, 0x3D, 0xC1, 0xDB, 0xB3, 0x74, 0xD0, 0x93, 0x06, 0x31, 0x02, 0xC6, 0xB5, 0x3F,\r
+               0xE7, 0x80, 0x9A, 0xC4, 0xF3, 0x98, 0xAE, 0x8E, 0x23, 0xF2, 0xE7, 0xF0, 0x4C, 0x3A, 0x8F, 0xCB,\r
+               0x40, 0x9E, 0xA0, 0x1A, 0x03, 0x93, 0x1B, 0x69, 0xB6, 0x6A, 0x8B, 0xFA, 0x73, 0xFE, 0x63, 0x5D,\r
+               0x19, 0xA9, 0x0C, 0x06, 0x5B, 0x14, 0x61, 0xA5, 0xBF, 0x62, 0x72, 0x7D, 0x99, 0x5F, 0xC1, 0x92,\r
+               0x62, 0xB6, 0xB5, 0xE7, 0xF4, 0xF6, 0x1F, 0xC5, 0x34, 0xB7, 0x05, 0x39, 0x57, 0x74, 0x91, 0x86,\r
+               0x43, 0x17, 0x9C, 0x4F, 0x8F, 0xC5, 0xA8, 0x39, 0x6C, 0x11, 0xF7, 0xDE, 0x2A, 0xD3, 0x97, 0xC2,\r
+               0x94, 0xA3, 0xEF, 0x97, 0x5D, 0xB0, 0xF6, 0x2E, 0xD9, 0x9B, 0xFF, 0xB6, 0xD0, 0x5C, 0x7A, 0xEE,\r
+               0x0E, 0x4B, 0xC5, 0x43, 0x8C, 0x7E, 0xE1, 0x45, 0x9A, 0x61, 0xE2, 0x84, 0xC6, 0x0E, 0x68, 0xBA,\r
+               0x44, 0xAF, 0x70, 0xB1, 0x57, 0x25, 0x9A, 0xB6, 0xDE, 0x65, 0x47, 0x5A, 0x39, 0xF5, 0x3C, 0x05,\r
+               0x2C, 0x63, 0xD0, 0xBE, 0x81, 0x85, 0x3C, 0x96, 0xA4, 0x3E, 0x9D, 0xA8, 0x42, 0x2E, 0x67, 0xF6,\r
+               0xE5, 0xCC, 0xED, 0x2B, 0xB9, 0x53, 0x4D, 0xF4, 0x24, 0x0C, 0x5F, 0x1C, 0x26, 0x4C, 0x47, 0xE4,\r
+               0xB7, 0x4E, 0xB1, 0xD0, 0x0F, 0xA2, 0xE0, 0x7A, 0x77, 0x4D, 0x18, 0x0B, 0x68, 0xB0, 0x7D, 0x10,\r
+               0xD8, 0x3A, 0xFD, 0x21, 0x93, 0xC9, 0xA5, 0x20, 0x5F, 0xED, 0x40, 0xA5, 0x95, 0xC0, 0x11, 0xB4,\r
+               0x45, 0x6A, 0x3B, 0x0B, 0x82, 0x3E, 0x75, 0xEA, 0x61, 0xB2, 0x3F, 0x89, 0x66, 0xA4, 0x95, 0x2D,\r
+               0xEC, 0x35, 0x6A, 0x23, 0xCF, 0x9B, 0x27, 0xDB, 0x27, 0x59, 0xD6, 0x20, 0x70, 0xF6, 0x87, 0x79,\r
+               0x7C, 0xAD, 0xFB, 0xAA, 0x60, 0x79, 0x59, 0xBB, 0xF7, 0x7F, 0xDA, 0xBF, 0x1A, 0x80, 0x4F, 0x56,\r
+               0x41, 0x5B, 0xEB, 0xA0, 0x46, 0xD2, 0x4A, 0x7C, 0x37, 0xE2, 0x8C, 0x05, 0xE6, 0x73, 0xFF, 0xCD,\r
+               0xAE, 0x30, 0xC6, 0xE2, 0x36, 0x13, 0x50, 0x8E, 0xE8, 0xD2, 0x02, 0xB4, 0x57, 0x8E, 0xED, 0x62,\r
+               0x34, 0x91, 0xA5, 0x7F, 0x35, 0x37, 0xB4, 0x86, 0x9B, 0x71, 0xD1, 0x31, 0x5D, 0xFE, 0xB0, 0xD9,\r
+               0x1F, 0x1D, 0x6A, 0xD7, 0x74, 0xC1, 0xBA, 0xED, 0x7C, 0x81, 0xDA, 0x84, 0xA0, 0x5E, 0x27, 0x73,\r
+               0x63, 0xA6, 0x23, 0xD4, 0x37, 0x2C, 0x8C, 0x0D, 0xFC, 0xF9, 0x52, 0x7A, 0xD3, 0x7D, 0x74, 0x06,\r
+               0xE1, 0x1A, 0xD2, 0x3B, 0x98, 0xB9, 0x45, 0x30, 0xCC, 0xDA, 0xE6, 0xB7, 0x95, 0x94, 0x9F, 0xAF,\r
+               0x60, 0x83, 0xB3, 0x2D, 0x72, 0x76, 0xE7, 0x91, 0x1D, 0x40, 0x29, 0x65, 0xC9, 0x57, 0x92, 0x98,\r
+               0x6F, 0xEB, 0x7F, 0x8D, 0x89, 0x65, 0xD6, 0x9D, 0x81, 0x94, 0xF8, 0xAC, 0xF1, 0x55, 0x89, 0x13,\r
+               0x02, 0x55, 0xC2, 0x15, 0xBA, 0xD5, 0xEA, 0xC6, 0x0A, 0x92, 0x5C, 0x3B, 0xEF, 0x4E, 0xC4, 0x5D,\r
+               0x0F, 0x09, 0x01, 0x22, 0x18, 0x59, 0x2F, 0xE7, 0x33, 0x58, 0xF0, 0x90, 0x15, 0x56, 0xAD, 0x1B,\r
+               0x8B, 0xC5, 0x5A, 0x84, 0x81, 0xEF, 0x63, 0xF5, 0xD6, 0x3F, 0xCF, 0x2A, 0xC4, 0x9F, 0x31, 0xCF,\r
+               0x10, 0x75, 0xA6, 0x77, 0xF2, 0x96, 0x8D, 0x46, 0x77, 0xFF, 0xF6, 0xED, 0x59, 0xCF, 0x1B, 0x09,\r
+               0x3E, 0xAC, 0x53, 0x6F, 0x7E, 0x50, 0x37, 0x0E, 0x6A, 0x3D, 0xBE, 0x45, 0xA8, 0x62, 0x95, 0xBF,\r
+               0xA2, 0x7D, 0x9A, 0xBB, 0x24, 0xEB, 0x27, 0x2B, 0x0C, 0xDB, 0x2C, 0x91, 0x49, 0x95, 0xA0, 0x2C,\r
+               0x67, 0xE2, 0x86, 0x0A, 0xF0, 0x8D, 0xB5, 0xCD, 0x62, 0xBA, 0xB7, 0xBC, 0x1C, 0xAF, 0xA5, 0x9C,\r
+               0xD7, 0xDE, 0xB5, 0x51, 0x2F, 0x45, 0x76, 0x4B, 0x80, 0xFA, 0xE9, 0x33, 0xB0, 0x04, 0x9C, 0x56,\r
+               0xAF, 0x21, 0x59, 0x8C, 0xA7, 0x2F, 0xA9, 0xF4, 0x39, 0x48, 0xCD, 0x66, 0x08, 0xC4, 0xB5, 0x69,\r
+               0x78, 0x9E, 0x21, 0x5F, 0x88, 0x5A, 0x0A, 0x1E, 0x28, 0xD3, 0xC8, 0x92, 0x6D, 0xC0, 0x19, 0x9E,\r
+               0x99, 0xE5, 0x3E, 0xE6, 0xF6, 0x3A, 0xE8, 0xB1, 0xFD, 0x97, 0x43, 0xE5, 0x3D, 0x0E, 0x0D, 0xB5,\r
+               0x85, 0xBC, 0x09, 0x4A, 0x8C, 0xF6, 0x6F, 0xE9, 0xF5, 0x10, 0x4A, 0x1C, 0x9F, 0xE4, 0xC2, 0x14,\r
+               0x5B, 0x1B, 0x17, 0x70, 0x39, 0x11, 0x64, 0x19, 0x6D, 0x1A, 0xDF, 0x70, 0x73, 0xDB, 0x54, 0xD0,\r
+               0x2E, 0xB8, 0x38, 0x9A, 0x0D, 0x29, 0xD9, 0xBD, 0xFA, 0xB0, 0x22, 0xD0, 0xC0, 0xAE, 0x9A, 0x1F,\r
+               0xDC, 0xF2, 0xDC, 0x2F, 0x76, 0xDA, 0x82, 0x66, 0xFE, 0x6E, 0x66, 0x75, 0x94, 0x51, 0x25, 0xE4,\r
+               0x08, 0x68, 0x34, 0x05, 0x61, 0xB1, 0x4C, 0xB7, 0x04, 0x5C, 0x25, 0x68, 0x86, 0x47, 0x71, 0xB6,\r
+               0xD0, 0xBF, 0x80, 0x76, 0x3F, 0xA6, 0x39, 0x65, 0x8E, 0x34, 0x90, 0x60, 0x6B, 0xBD, 0x5D, 0x39,\r
+               0xBE, 0x24, 0xAD, 0x17, 0x32, 0xBF, 0x35, 0x79, 0x72, 0x4F, 0xA3, 0xD7, 0xED, 0x02, 0x2B, 0x2A,\r
+               0x4F, 0x4B, 0xD9, 0x5B, 0x77, 0xE5, 0x5E, 0xE5, 0xD2, 0xE1, 0x8B, 0x8F, 0x81, 0xFF, 0x8F, 0x5A,\r
+               0xB4, 0x19, 0x5B, 0x07, 0xDA, 0x6B, 0xAF, 0x53, 0x93, 0xF6, 0xD8, 0xC8, 0xBB, 0xB1, 0x7B, 0xA6,\r
+               0x21, 0xD0, 0xF4, 0x3A, 0xAB, 0x09, 0x79, 0x6B, 0xA1, 0x42, 0x58, 0x0A, 0x9B, 0xD5, 0x69, 0xC4,\r
+               0x3F, 0xBD, 0xCC, 0x01, 0xDD, 0xE3, 0x2E, 0xAC, 0x7D, 0xEF, 0xCB, 0x1B, 0x03, 0x71, 0x52, 0x99,\r
+               0x35, 0x80, 0x3A, 0x11, 0xCE, 0x24, 0x85, 0x8A, 0xE0, 0x55, 0x0B, 0x4D, 0xB3, 0x8D, 0xC9, 0x6A,\r
+               0xBC, 0x10, 0xA2, 0x80, 0xB0, 0x44, 0x67, 0x25, 0xC6, 0xCA, 0xDB, 0x41, 0x7B, 0xE7, 0xE6, 0x1C,\r
+               0x94, 0xB9, 0xFD, 0xD1, 0xE2, 0x75, 0xC2, 0x68, 0x2D, 0x63, 0x9D, 0xA8, 0x69, 0xF1, 0xB2, 0x4E,\r
+               0x20, 0xC1, 0x6B, 0x54, 0xD6, 0x4D, 0x7F, 0xCC, 0x5F, 0xAE, 0x5F, 0xB2, 0x47, 0xD4, 0x56, 0x47,\r
+               0x4C, 0x6E, 0x49, 0xA2, 0x46, 0x4E, 0x5A, 0x35, 0x1E, 0xB9, 0x0C, 0xF5, 0x41, 0xA9, 0x12, 0xE0,\r
+               0x86, 0x99, 0x99, 0xB3, 0x3D, 0xBD, 0x01, 0xEE, 0x6C, 0x74, 0xCE, 0xEF, 0xA2, 0x12, 0xC8, 0x04,\r
+               0x55, 0x62, 0x44, 0xBE, 0x2C, 0x61, 0x92, 0x43, 0x7F, 0x78, 0xFF, 0x14, 0xA1, 0x9B, 0x9D, 0x38,\r
+               0x06, 0x11, 0x67, 0xCB, 0x3C, 0x82, 0xDD, 0x6D, 0xCF, 0x23, 0xC3, 0x27, 0x53, 0xBF, 0x46, 0xB2,\r
+               0xEA, 0x36, 0xBB, 0x45, 0x8B, 0x7E, 0xEE, 0x16, 0x53, 0xF7, 0x12, 0xEE, 0x61, 0xCD, 0x00, 0x82,\r
+               0xF0, 0x1F, 0x26, 0xA0, 0x4B, 0x57, 0x56, 0x29, 0xF7, 0x87, 0x7E, 0x13, 0x93, 0xE9, 0xDB, 0x08,\r
+               0xB8, 0x54, 0x07, 0x5E, 0xE8, 0xE4, 0x4F, 0x8B, 0x87, 0xDD, 0x88, 0x06, 0xFE, 0xD1, 0xC5, 0x33,\r
+               0xA4, 0x0D, 0x30, 0xF2, 0x7B, 0xC3, 0x8E, 0x7A, 0xCA, 0x93, 0x96, 0x1D, 0x2B, 0x29, 0xF2, 0x37,\r
+               0x42, 0x17, 0x1A, 0x6C, 0x42, 0xE2, 0x3F, 0xC2, 0x98, 0x88, 0xF4, 0xA1, 0xD7, 0x4C, 0xDF, 0xD6,\r
+               0x8C, 0xA4, 0x6F, 0xA3, 0x2B, 0xE9, 0x13, 0xBC, 0x14, 0xA9, 0x31, 0x03, 0xF7, 0x28, 0xCD, 0xB4,\r
+               0xFB, 0x33, 0x4F, 0xDE, 0x63, 0xAA, 0x74, 0x3C, 0x18, 0xF0, 0x7C, 0x5F, 0x40, 0x6C, 0xA8, 0xAB,\r
+               0xF9, 0x07, 0x40, 0x49, 0x7C, 0x4B, 0x0F, 0x85, 0x8A, 0xEA, 0xD4, 0xC5, 0x04, 0xC9, 0xAC, 0x75,\r
+               0xC0, 0xAB, 0xEB, 0x83, 0xE3, 0x4A, 0x1E, 0xEB, 0xA9, 0xC5, 0x51, 0xF3, 0x78, 0x6E, 0xB3, 0x20,\r
+               0xB7, 0x3C, 0xCB, 0xFE, 0xB9, 0xF1, 0x0E, 0xCE, 0x5C, 0x57, 0x7A, 0x22, 0x9C, 0x6D, 0x97, 0x28,\r
+               0xAB, 0x65, 0xFC, 0x52, 0x78, 0xE7, 0x6A, 0x72, 0x49, 0x12, 0x3B, 0x73, 0x77, 0xEA, 0xFF, 0x00,\r
+               0x03, 0x44, 0x5D, 0x7B, 0xF8, 0x07, 0x00, 0xA5, 0xCB, 0xFD, 0x87, 0x82, 0x60, 0x08, 0xBA, 0xC9,\r
+               0xEC, 0x46, 0x11, 0x0C, 0x97, 0xBB, 0x71, 0xA7, 0x05, 0x32, 0x34, 0xF7, 0x3A, 0xB6, 0xF3, 0x59,\r
+               0x01, 0x70, 0x52, 0xEC, 0x2E, 0x7A, 0xAA, 0xC8, 0xD3, 0x8F, 0x9A, 0x10, 0x20, 0x9C, 0x15, 0xC7,\r
+               0x5E, 0x4E, 0x2D, 0xC0, 0x15, 0x40, 0x23, 0xFB, 0x3B, 0xDF, 0xF9, 0x69, 0x2D, 0x54, 0xB6, 0x90,\r
+               0x41, 0x32, 0x8A, 0x95, 0x48, 0x73, 0xB2, 0x21, 0x1A, 0x67, 0x48, 0x50, 0xA7, 0xE6, 0xD9, 0x9F,\r
+               0x79, 0x8F, 0xBE, 0x31, 0x20, 0x47, 0x42, 0xDC, 0xCE, 0x4D, 0xD2, 0xB8, 0xD5, 0x00, 0x30, 0xA1,\r
+               0xDD, 0xE3, 0x43, 0x41, 0xD8, 0x70, 0x97, 0xD8, 0x17, 0x50, 0x14, 0x93, 0xB6, 0x79, 0xD8, 0xF1,\r
+               0x23, 0xE4, 0xFB, 0xAD, 0x9E, 0x0E, 0x18, 0x4C, 0x3D, 0x96, 0x89, 0xC3, 0xA5, 0xAA, 0x36, 0xE8,\r
+               0x90, 0xFD, 0x58, 0x0F, 0xCA, 0x88, 0xE0, 0x7D, 0x84, 0x24, 0xAD, 0x96, 0x5B, 0x83, 0xF4, 0x7E,\r
+               0x66, 0xF3, 0x19, 0x64, 0xEC, 0x48, 0x2A, 0x7C, 0xD4, 0xA8, 0xFB, 0x25, 0x06, 0x85, 0x43, 0x02,\r
+               0xF8, 0x16, 0xDF, 0x27, 0xF9, 0x38, 0xDC, 0x26, 0xD1, 0x18, 0xAE, 0x1F, 0xE1, 0x0F, 0x32, 0x36,\r
+               0xDE, 0xC6, 0xD3, 0xB8, 0x16, 0x64, 0xC7, 0xF3, 0xEE, 0x9B, 0x72, 0x1E, 0x26, 0xE1, 0x51, 0x60,\r
+               0xA7, 0x28, 0xA0, 0x0B, 0x0C, 0x16, 0x05, 0x3E, 0x3C, 0xF8, 0x98, 0x5C, 0xFA, 0xE0, 0x6E, 0xE3,\r
+               0x22, 0xF5, 0x64, 0xC3, 0x05, 0xA3, 0x6C, 0xD5, 0x1C, 0x2E, 0x38, 0xFA, 0x8A, 0x4A, 0x68, 0xAA,\r
+               0x58, 0x3E, 0x87, 0x89, 0xC1, 0x26, 0xB1, 0x1D, 0x0B, 0xFC, 0x4D, 0xA4, 0xCA, 0xDE, 0xC7, 0xA4,\r
+               0x2A, 0xFC, 0x9D, 0x44, 0x0B, 0x9E, 0x84, 0xC1, 0x83, 0x03, 0xCC, 0xA3, 0xEC, 0xC7, 0x91, 0x61,\r
+               0x47, 0xBE, 0xD4, 0xE1, 0xCE, 0x8E, 0x66, 0x7F, 0x61, 0x18, 0xC9, 0xFA, 0x09, 0x05, 0xAE, 0xB0,\r
+               0x29, 0x6B, 0xD5, 0x53, 0xB3, 0xF0, 0x97, 0xE6, 0xCC, 0xD0, 0xBB, 0xC2, 0x45, 0x8F, 0x55, 0x6F,\r
+               0x0C, 0xC3, 0x6B, 0xC1, 0xFE, 0xD6, 0xD0, 0x36, 0x91, 0xAE, 0xD5, 0x91, 0xE4, 0xDD, 0xE2, 0x19,\r
+               0x74, 0x0A, 0xEB, 0x8B, 0xA1, 0x83, 0xC1, 0xE1, 0x0B, 0x4F, 0xDF, 0xD1, 0x59, 0x50, 0x86, 0x06,\r
+               0x69, 0xE1, 0x7D, 0x26, 0x52, 0x48, 0x42, 0xE8, 0x3F, 0x35, 0x4D, 0x3B, 0xAE, 0x5B, 0x03, 0x64,\r
+               0x83, 0x0F, 0x0E, 0xBE, 0x09, 0xF9, 0x99, 0x8A, 0xE2, 0x36, 0x13, 0x24, 0x6E, 0x88, 0x66, 0x27,\r
+               0x9A, 0x68, 0xCC, 0x4E, 0xDE, 0x5D, 0x55, 0x06, 0x0A, 0xF3, 0xD9, 0xD1, 0xDF, 0xB4, 0x06, 0x0A,\r
+               0x87, 0x75, 0x48, 0x70, 0x8D, 0xEF, 0x62, 0x2E, 0x7D, 0x9C, 0xDA, 0xF1, 0xE9, 0xDC, 0x33, 0x4C,\r
+               0x18, 0x97, 0x2B, 0x8E, 0x55, 0xFA, 0x95, 0xF1, 0x0C, 0xF9, 0xEE, 0x0F, 0x6A, 0xD2, 0x22, 0x7F,\r
+               0x77, 0xC0, 0xCE, 0x2A, 0x52, 0x1F, 0xA0, 0xB0, 0x68, 0x6B, 0xEC, 0xA3, 0xBD, 0x76, 0x23, 0x96,\r
+               0x2A, 0x9A, 0xBB, 0x70, 0xAF, 0xF1, 0x09, 0x9B, 0xFF, 0xA4, 0x6F, 0x5C, 0xB8, 0xF9, 0xFC, 0x6C,\r
+               0xE4, 0x6A, 0x49, 0x41, 0xD6, 0x6D, 0xDB, 0x7A, 0x37, 0xBA, 0x92, 0x05, 0x10, 0xA1, 0x96, 0x6E,\r
+               0x33, 0xC8, 0xDA, 0xE6, 0x6B, 0xEF, 0x43, 0xEA, 0x9A, 0x46, 0x80, 0x81, 0xAA, 0x30, 0xE3, 0xBF,\r
+               0xCF, 0x46, 0x78, 0x2F, 0xE5, 0x76, 0xA5, 0xAB, 0xF1, 0xC0, 0x86, 0xED, 0x85, 0x40, 0x98, 0xD9,\r
+               0x46, 0xA6, 0x3A, 0x09, 0x38, 0x0B, 0xD3, 0xF2, 0x00, 0xD0, 0xBE, 0x45, 0x26, 0xA2, 0x04, 0xA1,\r
+               0x64, 0x90, 0xAE, 0x38, 0x96, 0xFF, 0xCB, 0x95, 0x73, 0x2E, 0xE3, 0x04, 0x97, 0xBC, 0x9F, 0x77,\r
+               0x59, 0xC0, 0x40, 0xF2, 0x44, 0xA4, 0x22, 0x45, 0xFF, 0x57, 0xB7, 0x6B, 0xFE, 0x32, 0xAD, 0x51,\r
+               0xAD, 0x13, 0x67, 0xB9, 0x47, 0x5D, 0xB3, 0xD0, 0x80, 0x26, 0x27, 0xE1, 0xBA, 0xAF, 0xA4, 0x23,\r
+               0x53, 0x8A, 0x79, 0xE3, 0x39, 0xB6, 0x15, 0x02, 0xD0, 0x89, 0x63, 0xC2, 0xAA, 0xE0, 0x12, 0xEF,\r
+               0x4F, 0x7C, 0xBF, 0xB8, 0x7C, 0x82, 0x0F, 0x3A, 0x77, 0x24, 0x07, 0x2D, 0xBA, 0xF3, 0x76, 0x28,\r
+               0x82, 0xE9, 0xF1, 0x2B, 0xF6, 0x5A, 0x78, 0x81, 0x43, 0xAD, 0xBA, 0x55, 0xD9, 0x52, 0xF8, 0x8C,\r
+               0x0B, 0x7A, 0xA6, 0x54, 0xB1, 0x00, 0x81, 0xDE, 0x40, 0xBD, 0x7B, 0x8E, 0x8F, 0xCA, 0xBA, 0xA0,\r
+               0x67, 0x47, 0x71, 0xB4, 0x5D, 0x91, 0xDE, 0x1D, 0xB4, 0xD9, 0x6C, 0x1A, 0xA9, 0xCC, 0x42, 0xA4,\r
+               0x28, 0x3C, 0x42, 0x97, 0xA5, 0xE1, 0x1E, 0x64, 0xBB, 0xBF, 0x3B, 0xA0, 0x66, 0x70, 0x58, 0x39,\r
+               0x57, 0x3F, 0x17, 0x3A, 0x93, 0x86, 0xC6, 0xE5, 0xCD, 0xC7, 0xD8, 0xA9, 0x00, 0x6A, 0xCC, 0xDA,\r
+               0xC0, 0x4C, 0x0C, 0x72, 0x69, 0x4F, 0xBF, 0xDE, 0xC8, 0xCD, 0x02, 0x4E, 0x6D, 0x8E, 0x51, 0xD1,\r
+               0x71, 0xE7, 0x17, 0x93, 0xFF, 0xA5, 0x65, 0x7A, 0x9F, 0xA4, 0xF5, 0xFC, 0xDD, 0xA8, 0x9E, 0x13,\r
+               0x7F, 0xBF, 0xB8, 0x55, 0xA2, 0xAE, 0xC8, 0x9C, 0xAD, 0xD1, 0x3F, 0xD3, 0x8A, 0xF4, 0xCB, 0xCC,\r
+               0xF8, 0x17, 0x69, 0xA8, 0x92, 0x37, 0x4C, 0x71, 0x37, 0x7A, 0x5F, 0x5D, 0x0E, 0x16, 0xBE, 0x6F,\r
+               0x6E, 0x3D, 0x9F, 0xB1, 0x13, 0x08, 0xF2, 0xED, 0xFB, 0xA9, 0xCD, 0xE4, 0x01, 0x3A, 0x6C, 0xCF,\r
+               0x5C, 0xEA, 0x09, 0xD1, 0xC8, 0x13, 0x8A, 0x1E, 0xC2, 0x49, 0x8C, 0xD6, 0x27, 0xFE, 0x2C, 0x19,\r
+               0x17, 0x21, 0x66, 0x8F, 0xE3, 0x3B, 0x3E, 0x7E, 0xFB, 0x29, 0x34, 0x66, 0x8C, 0xB6, 0xEB, 0xD6,\r
+               0x7A, 0x83, 0x1B, 0xAE, 0x95, 0xC5, 0x20, 0x37, 0x2D, 0x36, 0xE7, 0x21, 0xD8, 0x58, 0x0C, 0x8E,\r
+               0xB5, 0x68, 0x37, 0xC7, 0x50, 0x02, 0xE6, 0x5C, 0xAA, 0x6D, 0x0A, 0x01, 0xB9, 0x5D, 0x13, 0x9A,\r
+               0xFC, 0xD7, 0x7E, 0x1F, 0x2A, 0x34, 0xFB, 0xF7, 0x8F, 0xE7, 0xE2, 0xA3, 0x3C, 0x6D, 0x24, 0x48,\r
+               0x4B, 0xDC, 0xD0, 0xFF, 0xD9, 0xC3, 0x7E, 0x4E, 0x81, 0xE4, 0xED, 0xCA, 0x3D, 0xB9, 0x75, 0xE2,\r
+               0x08, 0x81, 0xBB, 0x01, 0xD6, 0x70, 0x36, 0x6C, 0xF7, 0x10, 0x24, 0x3F, 0x5E, 0x14, 0x5C, 0xAB,\r
+               0x7C, 0x11, 0xDC, 0xC3, 0x78, 0xC6, 0x9C, 0x6F, 0xCE, 0x2F, 0x41, 0xDC, 0x86, 0x9B, 0xDA, 0x7C,\r
+               0x1C, 0x04, 0xE2, 0xB6, 0xD2, 0x58, 0x0E, 0x8F, 0x5F, 0xC3, 0x91, 0x7C, 0x85, 0xFA, 0xFE, 0x80,\r
+               0x4A, 0x39, 0xE4, 0xB1, 0xE3, 0xD5, 0x7D, 0x46, 0xAD, 0xA9, 0xD4, 0x5D, 0x1D, 0x96, 0xD4, 0x6D,\r
+               0x03, 0xBA, 0xC5, 0x3F, 0xCF, 0xEF, 0xEA, 0x6D, 0xBF, 0x1F, 0x35, 0x82, 0x7F, 0x5A, 0xAD, 0x45,\r
+               0xCE, 0x33, 0x5A, 0x3B, 0x7A, 0x07, 0xAB, 0xA3, 0xC5, 0x89, 0x9E, 0x67, 0x10, 0xFD, 0x46, 0x22,\r
+               0x1A, 0xCD, 0xE1, 0x73, 0x4D, 0xCD, 0xA6, 0xE0, 0xA3, 0xA5, 0x56, 0x7B, 0x17, 0xFF, 0x2B, 0x44,\r
+               0xC5, 0x73, 0x18, 0x11, 0x58, 0x43, 0xE1, 0x23, 0xEB, 0x90, 0xAE, 0x42, 0x93, 0x94, 0xAA, 0x6A,\r
+               0x39, 0x77, 0x9A, 0x96, 0xD1, 0x85, 0x00, 0x22, 0xE9, 0x99, 0xAC, 0xC1, 0x51, 0xB1, 0x59, 0x5F,\r
+               0x10, 0x6E, 0xA0, 0xC1, 0x0F, 0xC9, 0xE8, 0xFC, 0x0B, 0xAA, 0x11, 0x19, 0x2B, 0x37, 0x61, 0xFF,\r
+               0x61, 0x11, 0x92, 0x05, 0xCF, 0x35, 0x85, 0xF0, 0xAC, 0xD9, 0xC4, 0xEC, 0x83, 0x2B, 0xD9, 0x2F,\r
+               0xBD, 0x39, 0x65, 0xC5, 0x67, 0x2B, 0x1F, 0xDA, 0x91, 0xEC, 0xD1, 0xA5, 0x19, 0x21, 0x55, 0x28,\r
+               0xEF, 0xA9, 0x20, 0x1A, 0x08, 0x26, 0x44, 0xE1, 0xFD, 0xB2, 0xE9, 0x44, 0x7E, 0xF0, 0x3E, 0x40,\r
+               0x8D, 0xC3, 0x68, 0x5B, 0xAE, 0xD1, 0xA3, 0x65, 0xC5, 0x6F, 0xD6, 0xB4, 0x1D, 0x3C, 0x5E, 0x77,\r
+               0x79, 0x32, 0x0C, 0x4F, 0x88, 0x0F, 0xF7, 0x9A, 0x1F, 0x49, 0x1D, 0x29, 0x13, 0x06, 0x6A, 0xBC,\r
+               0x8B, 0x81, 0xBA, 0xDC, 0x36, 0xE3, 0xD7, 0x89, 0x83, 0xFF, 0xA4, 0x2C, 0xFB, 0xF1, 0x14, 0x07,\r
+               0x5E, 0x5E, 0xF5, 0x51, 0xB4, 0x0E, 0x1B, 0x29, 0xC8, 0x3A, 0x2C, 0x37, 0x67, 0x01, 0x01, 0x2C,\r
+               0x60, 0xE3, 0x65, 0x6C, 0x4C, 0x73, 0xEB, 0x18, 0x73, 0x6C, 0x9F, 0x39, 0x05, 0x51, 0xDB, 0xF8,\r
+               0x9D, 0x46, 0x55, 0xBB, 0xD3, 0xE8, 0xB2, 0x5D, 0x17, 0x48, 0x25, 0xE6, 0xAB, 0x54, 0x6D, 0x9D,\r
+               0x31, 0x06, 0x66, 0x0D, 0xFE, 0x4D, 0xA9, 0x33, 0x80, 0xBD, 0x93, 0x13, 0x86, 0x84, 0xF9, 0xD8,\r
+               0x90, 0x43, 0xE5, 0x12, 0xA5, 0x83, 0x38, 0x11, 0x2D, 0x57, 0xB8, 0x5A, 0x43, 0x72, 0x17, 0xDE,\r
+               0xE5, 0x6F, 0x14, 0xBC, 0x38, 0x96, 0x49, 0xFC, 0x48, 0x02, 0x4E, 0x71, 0x6A, 0x73, 0x3C, 0xF2,\r
+               0xC2, 0x69, 0x59, 0x6F, 0x5D, 0x38, 0x19, 0x62, 0x10, 0x58, 0xF6, 0xFB, 0xC9, 0x0D, 0x6E, 0xB4,\r
+               0x98, 0xF6, 0x79, 0xE1, 0x82, 0xA1, 0x23, 0x34, 0xB3, 0x59, 0x2E, 0xE2, 0x26, 0x89, 0x5A, 0x38,\r
+               0x2F, 0xD6, 0x0C, 0xEF, 0x4F, 0x95, 0xC3, 0x1A, 0x50, 0x2D, 0x6B, 0x87, 0x8F, 0xAA, 0xEF, 0x14,\r
+               0x48, 0x48, 0x14, 0xE1, 0xC5, 0x7E, 0x3D, 0x1F, 0x98, 0x34, 0x2D, 0x50, 0x41, 0x26, 0x2D, 0xE4,\r
+               0x75, 0xF3, 0x4B, 0xB8, 0xFD, 0xD4, 0xA7, 0x1F, 0x77, 0x9D, 0xC7, 0xAA, 0xDC, 0x12, 0x3F, 0xD7,\r
+               0xB0, 0x4D, 0x01, 0xDE, 0x12, 0x69, 0x45, 0x06, 0xEB, 0xC3, 0x68, 0x5A, 0x37, 0x04, 0xEC, 0xF2,\r
+               0x3F, 0xBF, 0xEA, 0x07, 0xA1, 0xC1, 0x83, 0x10, 0xB7, 0x3E, 0x66, 0xA0, 0x08, 0xCF, 0x58, 0x9E,\r
+               0x78, 0x59, 0x43, 0x31, 0x07, 0xF7, 0x5C, 0x78, 0x3D, 0x6D, 0x0D, 0x96, 0xC8, 0x37, 0xF5, 0x5B,\r
+               0x73, 0xC6, 0x9C, 0xDE, 0x2D, 0x4B, 0x9A, 0xFF, 0xDA, 0x83, 0xC3, 0x5E, 0x16, 0xAC, 0xF3, 0xF5,\r
+               0x32, 0xCB, 0xC5, 0xF0, 0xA0, 0x9E, 0x57, 0x3A, 0x3F, 0xAA, 0x64, 0x5D, 0xDF, 0x07, 0x1D, 0xF2,\r
+               0x1C, 0x66, 0x3E, 0xBD, 0xA0, 0x4F, 0xF8, 0xFB, 0x96, 0x5B, 0xB2, 0xE0, 0xFE, 0x5D, 0xBB, 0xE1,\r
+               0x86, 0x36, 0x7B, 0xF1, 0x2C, 0x89, 0x24, 0x81, 0x48, 0xD7, 0xB8, 0x1B, 0x36, 0x48, 0x38, 0xA7,\r
+               0x99, 0x90, 0x48, 0xFD, 0x27, 0x47, 0xA0, 0x71, 0xF3, 0xE8, 0x28, 0xBD, 0x02, 0x35, 0x44, 0x96,\r
+               0x71, 0x0F, 0xC0, 0x4A, 0xFB, 0x32, 0x89, 0x0C, 0x46, 0x1B, 0xAE, 0xBE, 0x54, 0x88, 0x1C, 0xEB,\r
+               0x62, 0xA3, 0xAD, 0x90, 0x95, 0x38, 0x65, 0x5E, 0x2E, 0xDB, 0xF4, 0x51, 0x35, 0x7B, 0x68, 0x29,\r
+               0xE7, 0xFA, 0xE8, 0x24, 0x52, 0x72, 0xD2, 0x5E, 0xE5, 0x04, 0x20, 0x53, 0x4C, 0x74, 0x9F, 0x7E,\r
+               0xB9, 0xAA, 0x58, 0x69, 0x4A, 0x72, 0xE3, 0x3F, 0x14, 0x35, 0xC1, 0xC5, 0xB6, 0x7E, 0xAA, 0x04,\r
+               0x7F, 0x77, 0xCF, 0xC1, 0x80, 0xD4, 0x2C, 0xEE, 0x77, 0x12, 0xC4, 0x6C, 0xA2, 0x93, 0x09, 0x55,\r
+               0x97, 0xDA, 0x86, 0xDA, 0xA5, 0x81, 0x85, 0x59, 0x3D, 0xA8, 0x63, 0x41, 0x46, 0x08, 0xB7, 0x78,\r
+               0xE4, 0x39, 0x11, 0xFF, 0x34, 0xD2, 0xD3, 0x3E, 0xE3, 0xDD, 0x0F, 0x40, 0xD8, 0x4D, 0xC6, 0xD5,\r
+               0xAF, 0x5B, 0xA1, 0x13, 0x6D, 0x81, 0x91, 0xB9, 0x36, 0x01, 0x8D, 0x4C, 0x96, 0xBD, 0x5F, 0x6A,\r
+               0x05, 0xF5, 0x52, 0xAE, 0x30, 0x0E, 0xE5, 0x0F, 0xC8, 0x2A, 0x02, 0x2D, 0x8E, 0xD8, 0xE4, 0x92,\r
+               0x80, 0xD4, 0x85, 0x9E, 0x2A, 0xAE, 0x5B, 0x10, 0x7C, 0xB0, 0x94, 0x5E, 0x27, 0x6F, 0x97, 0xC6,\r
+               0xBA, 0x1D, 0x56, 0x02, 0xBF, 0x05, 0x01, 0x40, 0xF0, 0x03, 0x10, 0x78, 0x00, 0xB7, 0xB9, 0x63,\r
+               0xA1, 0x2A, 0xA1, 0xEE, 0x42, 0x8A, 0x09, 0x6C, 0x47, 0x3A, 0xEB, 0xC4, 0x0F, 0x21, 0x4C, 0xFB,\r
+               0xD0, 0x61, 0x61, 0x6F, 0xE7, 0x45, 0x7C, 0x59, 0x33, 0xE8, 0xEA, 0xE3, 0x8B, 0xD7, 0xEB, 0x90,\r
+               0x3E, 0x04, 0x73, 0xC3, 0x69, 0x3B, 0xEC, 0xC8, 0xE2, 0x50, 0x8B, 0xE0, 0xF5, 0x5E, 0x0A, 0x5A,\r
+               0xDC, 0x1F, 0x05, 0xCC, 0xE9, 0x13, 0x29, 0x0E, 0xA8, 0x48, 0x9D, 0x40, 0x9C, 0xF1, 0x7B, 0x9F,\r
+               0x5A, 0x8D, 0x76, 0xCB, 0x94, 0xDD, 0xB6, 0x23, 0xEE, 0xF3, 0x33, 0xD4, 0xA0, 0xF2, 0xC3, 0x29,\r
+               0xA4, 0x5C, 0xF4, 0x9E, 0x71, 0xAF, 0xD1, 0x62, 0x0D, 0x51, 0xBF, 0x91, 0x9E, 0xB4, 0x99, 0x7E,\r
+               0x6E, 0x7F, 0xE8, 0x61, 0x05, 0xBC, 0xE0, 0x2C, 0x35, 0x7D, 0x9F, 0xD8, 0x16, 0x84, 0xF3, 0xAB,\r
+               0x4E, 0xC3, 0xC7, 0x76, 0xAD, 0x63, 0x12, 0x0A, 0x65, 0x46, 0x68, 0x60, 0xDF, 0x3D, 0xE2, 0xAE,\r
+               0xDD, 0xB2, 0xCB, 0x19, 0x95, 0xA6, 0x76, 0x60, 0x02, 0xB0, 0x69, 0x3A, 0x2E, 0x70, 0x14, 0x7B,\r
+               0x3A, 0x10, 0x25, 0xC8, 0xD9, 0xDD, 0x14, 0x77, 0x94, 0x31, 0xA5, 0x04, 0x87, 0x4F, 0xBC, 0xD0,\r
+               0x2B, 0xDE, 0xF7, 0x3B, 0x11, 0xC3, 0x04, 0xB4, 0x42, 0xF9, 0xCD, 0xA4, 0x97, 0xBC, 0x8C, 0x19,\r
+               0x30, 0xCE, 0x4A, 0x65, 0x98, 0x06, 0xA8, 0x59, 0x0E, 0x50, 0x1D, 0x92, 0xBA, 0x0A, 0x29, 0xE9,\r
+               0x82, 0xDC, 0x19, 0xE4, 0x0A, 0x0A, 0xC7, 0x20, 0x68, 0x3F, 0x98, 0x4C, 0x8B, 0xB5, 0x69, 0x7A,\r
+               0x72, 0x2D, 0x64, 0xD3, 0xFA, 0xF4, 0xF9, 0xB9, 0xF9, 0xD7, 0xC8, 0x53, 0x70, 0x06, 0x27, 0x37,\r
+               0x90, 0x09, 0xE7, 0x42, 0x9E, 0xFD, 0xB3, 0xB6, 0xE9, 0x3A, 0x60, 0x96, 0xBD, 0xF6, 0x05, 0xD9,\r
+               0x42, 0x7C, 0xFB, 0x33, 0x7A, 0xAF, 0x7D, 0xFB, 0x22, 0x08, 0x38, 0xC4, 0xC2, 0x0B, 0x21, 0x05,\r
+               0x0C, 0x60, 0x65, 0xAA, 0x8F, 0xAF, 0x81, 0xAE, 0x3D, 0x9A, 0x4B, 0x3F, 0x55, 0x77, 0x83, 0x83,\r
+               0x39, 0xC3, 0xFF, 0xF2, 0xAD, 0x83, 0xEE, 0xB5, 0xBC, 0x3E, 0xEF, 0x43, 0x49, 0x75, 0x7A, 0x4C,\r
+               0x4A, 0xCC, 0x72, 0x46, 0x9A, 0xBC, 0xDF, 0xAD, 0xF4, 0x53, 0x3B, 0xF1, 0xD4, 0x27, 0xA2, 0xC7,\r
+               0x52, 0x9E, 0xDF, 0xC5, 0xB1, 0x3C, 0xFD, 0xB4, 0x7A, 0x0E, 0x25, 0x00, 0x13, 0x7A, 0x5A, 0xBA,\r
+               0xDA, 0xF2, 0x54, 0x13, 0x92, 0x88, 0xAA, 0x28, 0xEF, 0xD6, 0xA9, 0x75, 0xCE, 0x19, 0xCB, 0xAA,\r
+               0x3C, 0x39, 0xF2, 0x59, 0x67, 0xFF, 0x56, 0x72, 0xBC, 0x66, 0xD9, 0x59, 0x4D, 0x1F, 0x6B, 0xCA,\r
+               0x49, 0x4C, 0xFD, 0xAF, 0x45, 0x33, 0x95, 0xC9, 0x47, 0xE0, 0x44, 0x93, 0x30, 0x4C, 0x41, 0x4D,\r
+               0x58, 0x93, 0xCB, 0xC3, 0x50, 0x00, 0xED, 0x5E, 0x48, 0x20, 0xC9, 0x06, 0x24, 0x46, 0x30, 0x89,\r
+               0xFF, 0x62, 0x34, 0xDA, 0x1E, 0x54, 0xDE, 0x73, 0x1E, 0x14, 0x9C, 0xB2, 0xFB, 0x50, 0x26, 0x3B,\r
+               0x0E, 0xA6, 0xF4, 0x1F, 0xD9, 0x50, 0xB0, 0xA6, 0x31, 0xE6, 0x16, 0x97, 0xAB, 0x22, 0x8B, 0xD0,\r
+               0xCC, 0x4E, 0x3C, 0x38, 0x82, 0x5E, 0x03, 0xBF, 0x31, 0x19, 0x2D, 0x8F, 0x13, 0x40, 0xBB, 0xB6,\r
+               0xFB, 0xC7, 0xCF, 0x5F, 0x73, 0x0B, 0x1E, 0xDE, 0x43, 0x05, 0x45, 0x9A, 0x45, 0x43, 0x3D, 0xB9,\r
+               0xDB, 0x8B, 0xF0, 0xBE, 0x7A, 0xF1, 0xF0, 0xE4, 0x88, 0x28, 0xC2, 0x01, 0x18, 0xD4, 0xC2, 0x96,\r
+               0x00, 0x05, 0x9F, 0x0A, 0x16, 0x21, 0x1A, 0xA2, 0x2C, 0x25, 0x11, 0xFC, 0xD5, 0x8A, 0x48, 0x02,\r
+               0xFC, 0x53, 0xAB, 0x03, 0xB4, 0x46, 0xE8, 0x6A, 0xF0, 0x39, 0x31, 0xD5, 0x9E, 0x6C, 0x47, 0x63,\r
+               0x51, 0x03, 0x3D, 0x02, 0x8C, 0x2F, 0xE6, 0xB3, 0x4C, 0x9A, 0x6D, 0x08, 0xF9, 0xA6, 0xB2, 0x85,\r
+               0x5F, 0x67, 0x7A, 0x97, 0x58, 0xF9, 0xCE, 0xC2, 0x0C, 0x28, 0xF3, 0xC9, 0x6E, 0x41, 0xC2, 0x76,\r
+               0x26, 0x9C, 0x41, 0xF2, 0x06, 0x5C, 0x59, 0x86, 0x55, 0x11, 0x17, 0x9F, 0x62, 0x9B, 0xC7, 0x3D,\r
+               0x13, 0x4E, 0xFD, 0x67, 0x2E, 0x44, 0xC5, 0x6E, 0x1D, 0x4B, 0x67, 0xA0, 0xB9, 0x15, 0x71, 0xE9,\r
+               0xA7, 0xFE, 0xEA, 0x83, 0x2B, 0x7C, 0x8E, 0x65, 0x30, 0x85, 0x2F, 0xE9, 0xE8, 0xAD, 0x1A, 0x05,\r
+               0xD5, 0x61, 0xE0, 0x4F, 0x0F, 0x89, 0x61, 0x61, 0x07, 0xD0, 0x8F, 0x7E, 0xD9, 0xC6, 0x4C, 0x11,\r
+               0x6B, 0x9C, 0x3F, 0xB2, 0x70, 0x11, 0xF7, 0x50, 0x29, 0xDD, 0xA3, 0x02, 0x94, 0x54, 0xB8, 0x2B,\r
+               0x8C, 0x19, 0xFC, 0x77, 0xDE, 0xCF, 0xCA, 0x16, 0x0C, 0x3A, 0x79, 0x27, 0x4E, 0xFA, 0x5B, 0x5D,\r
+               0x96, 0x1C, 0xB4, 0x1F, 0xE1, 0x60, 0xD6, 0x06, 0xFB, 0xC9, 0x6A, 0x41, 0x72, 0x9E, 0x0B, 0x9C,\r
+               0xBB, 0xCA, 0x53, 0x34, 0xB9, 0x4F, 0xC0, 0x06, 0xE9, 0x93, 0xAB, 0xD7, 0x0F, 0x2E, 0x02, 0xCA,\r
+               0x2A, 0x7E, 0xCC, 0xB3, 0x1F, 0x86, 0x34, 0xED, 0xB1, 0x07, 0x36, 0xD1, 0xB9, 0xBE, 0x89, 0x0A,\r
+               0x47, 0x73, 0x20, 0x00, 0xD4, 0x77, 0xFE, 0x5B, 0x11, 0x1A, 0x55, 0xAC, 0x4D, 0xF5, 0x1C, 0xAC,\r
+               0x87, 0x50, 0xE5, 0x33, 0xF0, 0x72, 0xB1, 0xA9, 0x01, 0x69, 0xE9, 0xFC, 0xD0, 0xA2, 0x69, 0x0C,\r
+               0xE1, 0xBB, 0xE2, 0x48, 0x45, 0x21, 0x1B, 0x1F, 0xD3, 0x01, 0xCB, 0xFE, 0x76, 0x23, 0xDB, 0x26,\r
+               0x18, 0xCF, 0x25, 0xBF, 0xD0, 0x19, 0x92, 0x5F, 0x3F, 0xFF, 0x53, 0x45, 0xF1, 0xE2, 0xA7, 0x61,\r
+               0x4F, 0xAD, 0xD3, 0xD0, 0x69, 0xC8, 0x70, 0x8F, 0xB0, 0xB7, 0x39, 0x8A, 0xD6, 0x0A, 0xC3, 0x7B,\r
+               0x81, 0x5E, 0x78, 0x76, 0x2F, 0x89, 0xA2, 0x16, 0x64, 0xC1, 0xC4, 0xB6, 0x77, 0x52, 0x7B, 0xD7,\r
+               0xDC, 0x36, 0x12, 0x22, 0x22, 0x73, 0x0B, 0x19, 0xCC, 0x54, 0x47, 0x5B, 0x7D, 0xDD, 0x92, 0x49,\r
+               0xB3, 0x39, 0xAF, 0xF9, 0x1D, 0x39, 0x3E, 0xBC, 0xC7, 0xDE, 0x45, 0x58, 0x90, 0x79, 0x9E, 0x6E,\r
+               0xCF, 0x57, 0x3C, 0xFF, 0x65, 0x00, 0x60, 0xFB, 0x4F, 0x14, 0x48, 0x08, 0xB4, 0x17, 0xED, 0x46,\r
+               0xED, 0x97, 0xF0, 0xA1, 0xFB, 0xA0, 0x78, 0x13, 0xA9, 0xED, 0x15, 0x0C, 0xC7, 0x09, 0x97, 0xAD,\r
+               0x64, 0x53, 0xA4, 0xCA, 0xEA, 0x6A, 0x0E, 0x1C, 0xF6, 0x88, 0x2D, 0x08, 0xA1, 0xEB, 0xBA, 0x02,\r
+               0x98, 0x2A, 0xBA, 0xCE, 0xEF, 0xA2, 0xE8, 0x91, 0x58, 0xA1, 0x2B, 0x9B, 0x37, 0x9B, 0x86, 0x81,\r
+               0xDF, 0x17, 0x4C, 0xC7, 0x93, 0x46, 0x6A, 0xCB, 0x8D, 0x32, 0x74, 0x09, 0xE9, 0xFB, 0x21, 0x64,\r
+               0xA7, 0x25, 0x73, 0xF7, 0x50, 0xAA, 0x7B, 0x0A, 0x12, 0x56, 0x7E, 0x62, 0x81, 0x76, 0x93, 0x79,\r
+               0x82, 0xA0, 0x84, 0x1C, 0x75, 0xA1, 0x3C, 0x48, 0x6C, 0xE3, 0x10, 0x90, 0x03, 0x24, 0x96, 0xB7,\r
+               0xEC, 0x0C, 0x0F, 0x58, 0xD4, 0x15, 0xCD, 0x7E, 0x05, 0x44, 0x62, 0x56, 0xD9, 0xAE, 0xF9, 0x4F,\r
+               0x2C, 0x90, 0x7B, 0xCA, 0xE0, 0x79, 0xC9, 0x86, 0x9C, 0x7F, 0x71, 0x77, 0x22, 0x77, 0x77, 0x7B,\r
+               0x31, 0x00, 0x1B, 0x7D, 0x19, 0xCE, 0xFE, 0x1D, 0x8A, 0x31, 0x72, 0x5F, 0x30, 0x1F, 0xD3, 0x99,\r
+               0x28, 0xE3, 0xF3, 0x8F, 0xA6, 0xEA, 0x32, 0x92, 0xDE, 0xBF, 0xB8, 0xA6, 0x5B, 0x23, 0x63, 0x74,\r
+               0xC2, 0x76, 0xE2, 0x00, 0x3B, 0x64, 0xE9, 0xE2, 0x21, 0xEE, 0xE6, 0x38, 0x37, 0xF0, 0xFC, 0xE6,\r
+               0xD4, 0x9C, 0xD5, 0xBA, 0xCC, 0xF0, 0x63, 0xBC, 0xD8, 0xD3, 0x94, 0xFE, 0x5A, 0x5F, 0xB3, 0xF6,\r
+               0xDA, 0x00, 0x1B, 0x8C, 0xC9, 0xB7, 0xCE, 0x5E, 0xE7, 0x88, 0x5E, 0x09, 0x61, 0x03, 0x0A, 0x1A,\r
+               0x6B, 0xB7, 0xE3, 0xB9, 0x75, 0x33, 0x14, 0xE7, 0x21, 0x88, 0xA9, 0xEB, 0x5F, 0x25, 0x0F, 0x77,\r
+               0xFC, 0xB2, 0xFF, 0xB1, 0x6A, 0x04, 0x6D, 0x4E, 0xCE, 0xE0, 0x73, 0x83, 0x31, 0xC1, 0x6B, 0xD9,\r
+               0xBC, 0x90, 0xA1, 0x14, 0x91, 0xA9, 0x95, 0x71, 0x0F, 0x57, 0x9F, 0x8C, 0xE2, 0x1D, 0x7A, 0x78,\r
+               0xF7, 0x10, 0x43, 0xAF, 0x94, 0xBA, 0x21, 0xCC, 0xD9, 0xE4, 0x27, 0x9F, 0xA1, 0x55, 0x62, 0xF4,\r
+               0xC5, 0xAD, 0xE6, 0x5C, 0x9D, 0x80, 0x59, 0x2C, 0x69, 0x36, 0x66, 0x97, 0x7A, 0x91, 0x6A, 0xA2,\r
+               0x53, 0x8A, 0x5B, 0xC8, 0xE4, 0x34, 0xE7, 0x88, 0xB4, 0x70, 0xF4, 0x8F, 0xB8, 0xBD, 0x3F, 0x77,\r
+               0xE4, 0xDD, 0x7E, 0xBB, 0x6D, 0x15, 0xA4, 0x96, 0x07, 0xCD, 0xAC, 0x16, 0x3E, 0x58, 0x2D, 0x89,\r
+               0xF8, 0xDC, 0x72, 0x5F, 0x1D, 0xCB, 0xBE, 0x06, 0x71, 0x19, 0xC8, 0xB0, 0xD6, 0x4B, 0x71, 0x32,\r
+               0x06, 0xD6, 0x53, 0x23, 0x8D, 0x64, 0x18, 0x99, 0x52, 0x2C, 0x8C, 0xFF, 0x74, 0x04, 0xF5, 0xA5,\r
+               0xF2, 0x97, 0xAA, 0x68, 0xC2, 0x52, 0x89, 0x4B, 0x46, 0x77, 0x1C, 0x62, 0xC4, 0x99, 0x7A, 0xE8,\r
+               0x83, 0x3F, 0xAC, 0x0B, 0x3F, 0x87, 0xB5, 0x5C, 0x26, 0x6F, 0x90, 0x2E, 0xB9, 0xDB, 0x5A, 0x24,\r
+               0xCC, 0x35, 0xAD, 0xE5, 0xE8, 0xA4, 0x75, 0x35, 0x96, 0x79, 0xC7, 0xEF, 0x94, 0x67, 0x8E, 0x4D,\r
+               0xA0, 0xD3, 0x10, 0xF3, 0x1A, 0x04, 0x2A, 0x27, 0x99, 0xF0, 0xD0, 0xED, 0x9B, 0x61, 0x6E, 0xE1,\r
+               0x29, 0xD1, 0xF1, 0x9A, 0x14, 0x6F, 0xD3, 0xFD, 0xF6, 0x84, 0x11, 0x50, 0x60, 0xF9, 0x4B, 0x3E,\r
+               0x6E, 0x3B, 0x2B, 0x42, 0x01, 0x87, 0x4A, 0xAC, 0x15, 0xA2, 0x05, 0xE6, 0xFE, 0x3F, 0x17, 0xE5,\r
+               0xB1, 0x94, 0xDB, 0x3F, 0x8D, 0x94, 0x0D, 0xA1, 0x4B, 0x5C, 0xFD, 0xDB, 0xB4, 0x54, 0xDE, 0xC0,\r
+               0x65, 0x93, 0xB7, 0xA6, 0x9F, 0xDA, 0x00, 0xBF, 0xE3, 0xD9, 0x35, 0x23, 0xAF, 0x56, 0x49, 0x86,\r
+               0xA8, 0xC5, 0x15, 0x41, 0x96, 0xF2, 0x41, 0xBE, 0xC7, 0xF1, 0x9E, 0xB6, 0xBD, 0xF1, 0xB2, 0x86,\r
+               0x16, 0xA0, 0x6B, 0xDF, 0x9A, 0x91, 0xB4, 0x43, 0x80, 0x1B, 0x7A, 0xA0, 0x9E, 0x8A, 0x9B, 0x7A,\r
+               0xCA, 0xB2, 0x9F, 0x5C, 0x0B, 0x45, 0x2E, 0x6D, 0x7E, 0x43, 0x6F, 0x08, 0x88, 0x80, 0x10, 0x1F,\r
+               0xBB, 0x17, 0x2B, 0xB7, 0x0F, 0x4E, 0x43, 0xEA, 0x45, 0x06, 0xBA, 0xC8, 0x01, 0x9C, 0x87, 0xE5,\r
+               0x92, 0x87, 0xB7, 0x43, 0x66, 0xE1, 0xAB, 0x9E, 0xF1, 0x8B, 0x07, 0xCC, 0x93, 0x1A, 0xAC, 0x3F,\r
+               0xE0, 0x04, 0xF7, 0x1D, 0xDD, 0xC3, 0xD5, 0xAD, 0xD9, 0x26, 0x46, 0xB1, 0x57, 0x12, 0xA1, 0xB7,\r
+               0x57, 0xD1, 0x01, 0x5D, 0x39, 0x8B, 0x50, 0x12, 0x78, 0x71, 0x49, 0x0B, 0x9D, 0xC6, 0x5B, 0xC2,\r
+               0x1E, 0x1B, 0x3B, 0x44, 0x64, 0x86, 0x4D, 0x72, 0x29, 0x31, 0xA1, 0x64, 0x3B, 0xF6, 0x3A, 0x9C,\r
+               0xD1, 0xCE, 0x5F, 0xFD, 0x97, 0x64, 0x8B, 0xBD, 0x43, 0x97, 0x4C, 0xF8, 0xA4, 0xF3, 0x32, 0x88,\r
+               0xE1, 0xE8, 0x2C, 0x7E, 0xF8, 0x78, 0xD6, 0x84, 0x63, 0xFF, 0x7F, 0x4C, 0x03, 0x3D, 0x42, 0x08,\r
+               0xB7, 0x41, 0x25, 0xC4, 0xE4, 0xFA, 0xA5, 0xE4, 0x8D, 0x78, 0x3A, 0xD0, 0x7F, 0x51, 0xA0, 0xDC,\r
+               0xD7, 0x76, 0xBD, 0x11, 0x6E, 0xFD, 0x37, 0xD4, 0x83, 0x75, 0xEA, 0x62, 0x71, 0x30, 0x0C, 0x6F,\r
+               0xA3, 0xB9, 0xFA, 0xC2, 0x2C, 0xE9, 0x9D, 0x1C, 0xA8, 0x88, 0x8F, 0x9E, 0xE2, 0xBF, 0x37, 0x34,\r
+               0x33, 0xE6, 0x1E, 0xBE, 0xB8, 0x94, 0x88, 0xF5, 0x87, 0xF3, 0x85, 0xC4, 0x4C, 0x22, 0xF2, 0x6B,\r
+               0x69, 0x02, 0xF5, 0x3B, 0xC9, 0x3C, 0xB2, 0xC0, 0xCD, 0x45, 0x5D, 0xF8, 0x25, 0xA6, 0xA2, 0xA3,\r
+               0x4E, 0x40, 0x5F, 0x82, 0x6E, 0x2D, 0xE2, 0x9C, 0xA1, 0x8D, 0xE5, 0xBF, 0xB9, 0xD8, 0x94, 0x49,\r
+               0x3B, 0x88, 0x53, 0x62, 0x3D, 0xF7, 0x93, 0xEA, 0xFC, 0xB0, 0x13, 0x1F, 0x54, 0xD9, 0x66, 0x6E,\r
+               0x1B, 0x45, 0xEF, 0x78, 0x58, 0x5D, 0xEE, 0x16, 0x26, 0x0A, 0xC3, 0xBB, 0xC1, 0xAF, 0x8F, 0xFD,\r
+               0xDE, 0xAA, 0xBA, 0x34, 0xA8, 0x1E, 0x0C, 0x32, 0x8D, 0x67, 0x6C, 0xC7, 0x58, 0xB9, 0xC0, 0xE1,\r
+               0xE3, 0x6D, 0x93, 0x1F, 0x9B, 0x58, 0x96, 0xE9, 0xDD, 0x4A, 0x86, 0x30, 0x4E, 0x8D, 0x22, 0x00,\r
+               0x84, 0x05, 0xB9, 0x2B, 0x37, 0x11, 0x68, 0x04, 0x7B, 0xC3, 0xC0, 0xFF, 0x99, 0x01, 0x9D, 0x2B,\r
+               0x20, 0x42, 0xB6, 0x70, 0xA8, 0x32, 0x7C, 0x5F, 0x19, 0x22, 0x0F, 0xB4, 0xF2, 0x5A, 0x24, 0x12,\r
+               0xD2, 0x50, 0x52, 0xB6, 0x84, 0x23, 0x5C, 0xF1, 0x92, 0xC3, 0xB6, 0xEF, 0x34, 0xAD, 0x39, 0x87,\r
+               0x26, 0x39, 0x7E, 0x5C, 0x94, 0x98, 0x08, 0x9F, 0xF4, 0x26, 0x7D, 0x6C, 0x51, 0x97, 0xF2, 0x4B,\r
+               0x44, 0x9F, 0xC4, 0x82, 0xBB, 0xD7, 0xEF, 0x30, 0x6E, 0xF4, 0x42, 0x0E, 0x41, 0x5B, 0x66, 0x09,\r
+               0x9A, 0x3F, 0x97, 0x8F, 0x04, 0xE6, 0x02, 0x02, 0xCF, 0x46, 0x38, 0xA5, 0x8A, 0x2F, 0x98, 0xAE,\r
+               0x36, 0x71, 0xDC, 0x83, 0x13, 0x0B, 0x19, 0x93, 0xB4, 0xDA, 0x8E, 0xD8, 0x15, 0xFF, 0x8C, 0xF6,\r
+               0xCB, 0x9D, 0x1B, 0x97, 0xD7, 0x46, 0x40, 0xA5, 0x5F, 0xE9, 0x34, 0x8E, 0x21, 0xFA, 0x0F, 0x04,\r
+               0xF5, 0xAE, 0xC5, 0xD6, 0x3D, 0x0F, 0xB0, 0x31, 0xE7, 0x73, 0x87, 0x40, 0xCC, 0xAA, 0x0A, 0x6F,\r
+               0x92, 0xDC, 0x9D, 0xE9, 0xA0, 0xE6, 0xE7, 0xD9, 0x2A, 0x1F, 0x89, 0xFF, 0x2C, 0x82, 0xA5, 0x9A,\r
+               0x6C, 0xD3, 0x3C, 0x7B, 0x84, 0xF2, 0x80, 0x41, 0x27, 0xFC, 0x05, 0x10, 0x5A, 0xC4, 0x75, 0x5D,\r
+               0xEA, 0xD4, 0xC7, 0xED, 0x64, 0x21, 0x1F, 0xB4, 0x8E, 0xFA, 0xAB, 0xFA, 0x3B, 0xC7, 0x3E, 0x46,\r
+               0x08, 0x26, 0xA6, 0x98, 0xC5, 0x39, 0xDA, 0x20, 0x5B, 0x7F, 0xBD, 0x43, 0x63, 0x68, 0xCA, 0xF9,\r
+               0xE6, 0xEB, 0x9A, 0x67, 0x39, 0x4C, 0x4A, 0x3B, 0x05, 0x3E, 0xDC, 0x4A, 0x8E, 0xE1, 0xC3, 0x0E,\r
+               0x97, 0x94, 0x7A, 0x8F, 0x9F, 0xD8, 0x3F, 0x4D, 0x6A, 0x53, 0xDD, 0xEB, 0x71, 0x17, 0xBF, 0xC6,\r
+               0x8C, 0xE6, 0xFD, 0x33, 0xD9, 0xD5, 0x37, 0xFD, 0x84, 0xC0, 0x26, 0xC4, 0x73, 0x81, 0xAA, 0x79,\r
+               0xB6, 0x2E, 0x87, 0xA5, 0xF7, 0x02, 0x6D, 0x55, 0x79, 0x3D, 0xA2, 0x5C, 0x60, 0x59, 0x30, 0x6F,\r
+               0x44, 0x84, 0x44, 0x26, 0x78, 0x22, 0xCF, 0xDB, 0xA5, 0x10, 0xFE, 0xA4, 0x5D, 0x30, 0xA9, 0x79,\r
+               0xB4, 0xF8, 0x84, 0xE2, 0x73, 0xF0, 0xF1, 0x9B, 0x93, 0xA7, 0xAE, 0x81, 0xA2, 0x83, 0xD3, 0x94,\r
+               0x06, 0x7B, 0x67, 0x2C, 0x65, 0x0C, 0x9E, 0xA9, 0xCC, 0xFF, 0x2B, 0x55, 0xDF, 0x3C, 0xE8, 0xAA,\r
+               0x1D, 0x56, 0x54, 0xDD, 0x4A, 0xF3, 0x32, 0x48, 0x56, 0xFA, 0xFB, 0x07, 0xEA, 0x8A, 0x6A, 0x70,\r
+               0x0C, 0xA2, 0x47, 0xB7, 0xA2, 0xC3, 0x22, 0xCD, 0x30, 0x5F, 0x93, 0x1F, 0x5A, 0x79, 0x34, 0x7A,\r
+               0xEB, 0x9B, 0x33, 0x91, 0xCB, 0x24, 0x40, 0xFE, 0x49, 0xEE, 0x5F, 0x44, 0x57, 0x46, 0x81, 0x88,\r
+               0x78, 0xF5, 0xBB, 0x7E, 0x83, 0x53, 0x24, 0x79, 0x4A, 0xAD, 0x5E, 0xC7, 0x8A, 0x0B, 0x39, 0x20,\r
+               0x58, 0x18, 0x3E, 0xFD, 0x50, 0xE2, 0xD6, 0x4C, 0x40, 0xDF, 0xA9, 0xFF, 0xDE, 0xB2, 0x2C, 0xAA,\r
+               0x47, 0x8F, 0x4C, 0xE3, 0xCA, 0x9E, 0xBF, 0xB8, 0x2E, 0x92, 0x98, 0x3E, 0x77, 0xBE, 0xA1, 0x1E,\r
+               0xAF, 0x09, 0xCE, 0x37, 0x88, 0xDD, 0x96, 0xAF, 0xDD, 0x52, 0x1E, 0x29, 0xC2, 0x03, 0xED, 0xC0,\r
+               0xB0, 0x2E, 0xF9, 0x58, 0x33, 0x83, 0x12, 0xF9, 0x13, 0x68, 0x8E, 0x59, 0x37, 0x7E, 0xCB, 0x60,\r
+               0x2A, 0x06, 0x5A, 0x7A, 0xF1, 0x96, 0xCE, 0x5D, 0xA9, 0xB3, 0x84, 0xF9, 0x95, 0x6B, 0x43, 0x29,\r
+               0x04, 0x9E, 0x0A, 0x6D, 0x49, 0xF9, 0x61, 0x05, 0xE7, 0xC1, 0x52, 0xC9, 0x87, 0x31, 0x4E, 0xF2,\r
+               0x45, 0x05, 0x4A, 0x13, 0xEF, 0xD5, 0xAC, 0xBF, 0xC3, 0x32, 0xF5, 0x67, 0x7C, 0x9A, 0x54, 0x47,\r
+               0x4E, 0x4F, 0x7F, 0xFA, 0xA5, 0x84, 0x6A, 0xA5, 0xED, 0x11, 0x3B, 0xD1, 0xEB, 0x01, 0xDB, 0x2E,\r
+               0x09, 0xDB, 0x9A, 0x19, 0x97, 0xCB, 0xB5, 0x08, 0x92, 0x17, 0x50, 0x7C, 0xA6, 0xF9, 0xF6, 0xC3,\r
+               0x33, 0x5F, 0xF3, 0x3B, 0xE9, 0xD0, 0xD3, 0x68, 0x4C, 0x92, 0x34, 0x8B, 0xC9, 0xEE, 0xD1, 0x37,\r
+               0x99, 0x93, 0x43, 0xFF, 0x7A, 0x1F, 0xA7, 0xCE, 0x76, 0x89, 0xBB, 0xA5, 0xC5, 0x8B, 0xAA, 0xFE,\r
+               0xD2, 0xDB, 0x68, 0x18, 0xCA, 0xC3, 0xE5, 0x81, 0x32, 0x13, 0x39, 0xA3, 0xBA, 0x7B, 0x67, 0x14,\r
+               0xA1, 0x99, 0x22, 0x26, 0xE7, 0x12, 0xB3, 0xD0, 0x2E, 0xF1, 0x55, 0xAE, 0xB6, 0x3E, 0xA8, 0x5E,\r
+               0x49, 0x1C, 0x52, 0xFA, 0xB5, 0x25, 0x1A, 0x06, 0x2C, 0x1E, 0xF2, 0xE1, 0x0C, 0xA5, 0x23, 0x65,\r
+               0x8F, 0x18, 0x13, 0x7F, 0x21, 0x2D, 0xD5, 0xDE, 0xCD, 0xAE, 0xF7, 0xCD, 0x3D, 0x48, 0x16, 0x06,\r
+               0xD1, 0x42, 0xE6, 0x27, 0xE0, 0x56, 0xE4, 0xB6, 0x4B, 0x11, 0x16, 0x9D, 0xB9, 0x42, 0xD6, 0x33,\r
+               0x54, 0x10, 0x8E, 0x22, 0xA5, 0x74, 0x53, 0x33, 0x21, 0x11, 0xC2, 0x52, 0x1D, 0x4D, 0x99, 0xF0,\r
+               0x5D, 0x88, 0x0B, 0xFE, 0x8F, 0x04, 0xC1, 0xD9, 0x5E, 0xC6, 0x95, 0xEF, 0x63, 0x62, 0xCC, 0xFF,\r
+               0xE3, 0x38, 0x45, 0xB8, 0xC9, 0x6B, 0x57, 0x7F, 0xEE, 0xA2, 0xB9, 0x97, 0xB7, 0xF0, 0x7B, 0x90,\r
+               0x91, 0xD0, 0x02, 0x93, 0xB8, 0x67, 0xB8, 0xBD, 0xF3, 0xBB, 0x19, 0xD5, 0xFB, 0x9B, 0x48, 0xFE,\r
+               0x25, 0x60, 0x32, 0xD3, 0xA5, 0xE1, 0xF3, 0x55, 0xB9, 0x1C, 0x51, 0x84, 0x2F, 0x23, 0x01, 0xDC,\r
+               0x10, 0x73, 0x00, 0x8A, 0xE5, 0x5C, 0x6F, 0x07, 0x25, 0xA0, 0x21, 0x15, 0xA6, 0xAD, 0xE4, 0xDE,\r
+               0x69, 0xFE, 0xF0, 0x5D, 0xB6, 0x0D, 0xF8, 0xFB, 0x3E, 0x54, 0xC5, 0xEB, 0x70, 0x77, 0x7B, 0x23,\r
+               0x67, 0x6A, 0x3B, 0xE3, 0xF5, 0xB8, 0xD0, 0xCE, 0x41, 0x18, 0x5B, 0x36, 0x81, 0x90, 0x6A, 0x76,\r
+               0xCA, 0x5A, 0xCC, 0xAE, 0xF5, 0x50, 0xDE, 0x36, 0x91, 0x52, 0x07, 0x10, 0x7B, 0x5A, 0x19, 0x98,\r
+               0x2E, 0x8F, 0x05, 0x1F, 0x19, 0xFF, 0xA4, 0x9F, 0xC0, 0xBF, 0x65, 0xE0, 0xDA, 0xD4, 0xFC, 0xC7,\r
+               0xD7, 0xD3, 0xB9, 0xBB, 0x43, 0x41, 0x2D, 0x55, 0xD8, 0xCD, 0xFD, 0x8D, 0xDD, 0x15, 0x3E, 0x28,\r
+               0xB1, 0x96, 0xB5, 0x77, 0x2C, 0xD1, 0x87, 0x36, 0xD8, 0x88, 0xDF, 0x3C, 0xA6, 0x94, 0xDE, 0x0A,\r
+               0x71, 0xC7, 0xCB, 0x75, 0x74, 0x31, 0xC8, 0xBA, 0xF3, 0xD8, 0x63, 0x8C, 0x54, 0xC3, 0xC6, 0x74,\r
+               0x1C, 0x39, 0x2F, 0xAF, 0x31, 0x41, 0x02, 0x4D, 0xE6, 0x3A, 0x00, 0x27, 0x69, 0x88, 0x71, 0xA2,\r
+               0x8D, 0x2B, 0x04, 0xEB, 0x9C, 0xDF, 0xF6, 0x18, 0x4C, 0xDF, 0x9D, 0xB8, 0xE6, 0x18, 0x92, 0xB6,\r
+               0xA0, 0x47, 0x3B, 0xC2, 0x42, 0x65, 0xE0, 0xBF, 0x5E, 0x3E, 0x5C, 0x37, 0x4F, 0xA8, 0xD6, 0x36,\r
+               0xBA, 0x2A, 0x9D, 0x52, 0xC8, 0x76, 0xFC, 0x59, 0x46, 0xA5, 0x4F, 0xE8, 0x47, 0xCC, 0x2A, 0x64,\r
+               0x0A, 0x20, 0x14, 0x13, 0x76, 0xC8, 0x60, 0x5C, 0x55, 0x35, 0xEF, 0x9F, 0x1F, 0x29, 0xBB, 0x55,\r
+               0xEC, 0xE1, 0x37, 0x61, 0x57, 0x7A, 0x9C, 0xCC, 0xCB, 0x62, 0x9F, 0x03, 0xCC, 0x2F, 0xAF, 0xDC,\r
+               0x64, 0x7E, 0x75, 0xCC, 0x6B, 0x84, 0xCB, 0x99, 0x8A, 0x70, 0x13, 0x47, 0xC8, 0x4C, 0xAB, 0x75,\r
+               0x7C, 0x33, 0xBD, 0x26, 0x12, 0x1F, 0xE9, 0x35, 0x5D, 0x57, 0x0D, 0xFF, 0x7F, 0x11, 0xEA, 0xD1,\r
+               0x0F, 0xBA, 0xF7, 0x9C, 0xF0, 0x54, 0xD8, 0xB5, 0x95, 0x96, 0xD9, 0x33, 0x3D, 0x43, 0xDE, 0xDA,\r
+               0x3A, 0x96, 0x71, 0xB3, 0xF2, 0x70, 0xB7, 0x80, 0x9E, 0xA9, 0x7D, 0x1A, 0x9A, 0x41, 0x7D, 0x67,\r
+               0x74, 0xF6, 0x4B, 0x09, 0x03, 0x82, 0x4B, 0xED, 0x77, 0xC8, 0x0E, 0x25, 0x15, 0x3D, 0x8E, 0x6F,\r
+               0xA6, 0xCD, 0x26, 0x18, 0x58, 0x5E, 0x85, 0x60, 0xFF, 0xDD, 0x56, 0xF7, 0x6F, 0xC0, 0x9F, 0x2A,\r
+               0x36, 0x0A, 0xAA, 0x1B, 0xE4, 0x75, 0x2C, 0x9C, 0xD4, 0x6A, 0x27, 0xC5, 0x34, 0xBC, 0xA3, 0x83,\r
+               0xED, 0xDD, 0xB3, 0xD2, 0xB0, 0x8F, 0xC6, 0x73, 0x9E, 0x86, 0xF4, 0xD0, 0x6A, 0xE2, 0x9D, 0xE7,\r
+               0xCD, 0x05, 0x92, 0xFC, 0x0F, 0xFE, 0x28, 0x71, 0xCB, 0x0F, 0x73, 0x2A, 0xCE, 0x75, 0xBF, 0xFD,\r
+               0xFA, 0xF8, 0x4B, 0x3B, 0x2F, 0x2E, 0x35, 0xF0, 0xDD, 0x41, 0x1B, 0xC5, 0xFA, 0x76, 0x3F, 0x92,\r
+               0x38, 0x82, 0xDD, 0x49, 0x5A, 0x2B, 0x86, 0xB6, 0x6C, 0x19, 0x20, 0x93, 0xB5, 0x14, 0xDD, 0x52,\r
+               0xC9, 0x4C, 0xF0, 0x38, 0x3B, 0xCB, 0xE8, 0x97, 0x13, 0x01, 0xAA, 0x40, 0x26, 0x66, 0xDF, 0xE2,\r
+               0x6E, 0xF4, 0x10, 0x16, 0xFC, 0xBE, 0xDB, 0xBF, 0x27, 0xAD, 0xFF, 0xFA, 0x97, 0x70, 0x71, 0x39,\r
+               0x7F, 0x64, 0x91, 0xF9, 0x3C, 0xCA, 0xA3, 0x43, 0xB9, 0x74, 0x72, 0x4E, 0x70, 0x7A, 0xA2, 0xD4,\r
+               0x20, 0x9C, 0x73, 0xCF, 0x33, 0xD8, 0xF2, 0x2A, 0x40, 0x05, 0x92, 0x66, 0xEB, 0x47, 0x0F, 0x48,\r
+               0xE5, 0x81, 0x6A, 0x19, 0x97, 0xB9, 0x10, 0x92, 0x58, 0x59, 0x3D, 0xA4, 0x9D, 0x51, 0xD5, 0x09,\r
+               0x7A, 0x98, 0xB8, 0xCA, 0x53, 0x56, 0x96, 0x3D, 0x97, 0x8F, 0x3E, 0x88, 0x2D, 0xFF, 0x0F, 0xE3,\r
+               0x1D, 0xA7, 0x3F, 0xBD, 0x84, 0x14, 0x68, 0x38, 0x4F, 0x9B, 0x78, 0x8F, 0xA8, 0x73, 0x21, 0xA4,\r
+               0x97, 0x31, 0x1B, 0xBE, 0x47, 0x13, 0x4C, 0x0E, 0x1C, 0x24, 0xA3, 0xAE, 0x9E, 0x58, 0x3B, 0x4C,\r
+               0xCD, 0x7B, 0xA7, 0x83, 0x81, 0x28, 0x76, 0x05, 0x90, 0xB4, 0x7B, 0xA2, 0xF8, 0xDC, 0x51, 0x06,\r
+               0xC5, 0xCF, 0x39, 0xA2, 0xE2, 0x7F, 0x6D, 0x28, 0x2D, 0x74, 0xED, 0x6F, 0x56, 0x27, 0xA9, 0xC5,\r
+               0xB0, 0x88, 0xBF, 0x40, 0x24, 0x05, 0x1C, 0xF3, 0x02, 0x7C, 0x1B, 0xE9, 0x8A, 0x26, 0xD9, 0xCE,\r
+               0xC8, 0x51, 0x86, 0xE8, 0x77, 0x20, 0xE7, 0x08, 0x87, 0xB2, 0x70, 0xA7, 0xE8, 0x01, 0xAF, 0xE3,\r
+               0x64, 0xF2, 0x5F, 0x9C, 0x33, 0x04, 0xFC, 0x08, 0xD1, 0x00, 0xC6, 0xF1, 0xF1, 0xD1, 0x0F, 0x3D,\r
+               0x0B, 0x4B, 0xC4, 0xE5, 0xC0, 0x4D, 0x4E, 0x0D, 0xA1, 0x50, 0x79, 0x7F, 0x9D, 0x54, 0x55, 0x02,\r
+               0x35, 0x23, 0x99, 0x1E, 0xB5, 0x1A, 0xBE, 0x7D, 0x56, 0x12, 0xCA, 0x2E, 0x3B, 0x04, 0x9D, 0x18,\r
+               0x2C, 0x74, 0xB3, 0x6B, 0x9C, 0x16, 0xA2, 0xFC, 0x93, 0x81, 0x48, 0x9F, 0xB6, 0x53, 0xC8, 0xF3,\r
+               0xDE, 0x4D, 0x8C, 0x20, 0xD9, 0x41, 0x82, 0x51, 0xFB, 0xCA, 0xF1, 0x57, 0x6B, 0xA4, 0x6F, 0x44,\r
+               0xBA, 0x69, 0xE2, 0x48, 0x78, 0x89, 0x11, 0x00, 0x3F, 0x9E, 0xBC, 0x8F, 0xB9, 0xA5, 0x54, 0xA8,\r
+               0xD8, 0x3E, 0xA2, 0x34, 0xA9, 0xB1, 0xF6, 0x86, 0x55, 0x9B, 0x83, 0xE8, 0x94, 0x69, 0x31, 0x85,\r
+               0x34, 0x63, 0x51, 0x4F, 0x71, 0x67, 0xD0, 0x44, 0x6B, 0xAB, 0x91, 0xF1, 0x61, 0x7E, 0x4C, 0x53,\r
+               0xE8, 0xD3, 0x7D, 0x40, 0xBF, 0x45, 0x4A, 0xDF, 0x0E, 0xEF, 0x84, 0x7F, 0xC8, 0x74, 0xC3, 0xC1,\r
+               0x6C, 0x8D, 0xE1, 0x23, 0xFD, 0x18, 0x55, 0x23, 0x4B, 0xD9, 0xF9, 0x1B, 0x5C, 0xE4, 0xC4, 0x2C,\r
+               0x45, 0xAB, 0xBC, 0xF1, 0x1C, 0x19, 0xBD, 0x3C, 0x24, 0x37, 0x44, 0x6E, 0x26, 0x62, 0x78, 0x51,\r
+               0x4F, 0x79, 0x4C, 0xC5, 0x7D, 0x99, 0xF3, 0x0C, 0x46, 0x24, 0x03, 0x14, 0x63, 0xAA, 0x20, 0x80,\r
+               0x90, 0x6A, 0x69, 0x4B, 0xE7, 0xA8, 0xB4, 0xAF, 0xEA, 0x7D, 0xFB, 0xD9, 0x49, 0xC1, 0xD5, 0x05,\r
+               0x56, 0x55, 0x43, 0xD1, 0x9B, 0x8F, 0xBF, 0x6B, 0xE7, 0xEB, 0x60, 0x4B, 0xA2, 0x0F, 0x1D, 0x73,\r
+               0x9B, 0xBB, 0x0C, 0xE1, 0x23, 0x58, 0xFE, 0xC7, 0xA4, 0x69, 0xCB, 0x2D, 0x9E, 0xA8, 0xF7, 0xC8,\r
+               0x49, 0x5F, 0x84, 0x22, 0x1C, 0xC5, 0x5B, 0x6F, 0x74, 0x08, 0xC4, 0x7B, 0x9F, 0xAF, 0xB8, 0xC8,\r
+               0x1F, 0xC9, 0xBD, 0xC4, 0x7E, 0xF3, 0x28, 0xBA, 0xD2, 0xC2, 0x81, 0x78, 0xF7, 0xC3, 0xFC, 0x9B,\r
+               0x5D, 0x66, 0xDC, 0x5F, 0x1F, 0x83, 0x63, 0x27, 0x55, 0xDF, 0x71, 0xA1, 0xCB, 0x41, 0x9D, 0x3C,\r
+               0x29, 0xAA, 0x50, 0x5A, 0xDE, 0x01, 0xC9, 0x6B, 0xD6, 0x11, 0x14, 0x9F, 0x73, 0xCE, 0x59, 0x22,\r
+               0xA9, 0xA2, 0xA0, 0x4E, 0xF4, 0x72, 0xAE, 0x09, 0xF7, 0x5D, 0xB7, 0xE8, 0x55, 0x38, 0xB2, 0xCF,\r
+               0x1E, 0x69, 0x7E, 0xF4, 0x66, 0xEC, 0x2B, 0x0A, 0xA1, 0x14, 0xB8, 0x3B, 0xB6, 0xEC, 0x93, 0xE0,\r
+               0x2F, 0xF4, 0xB7, 0xFA, 0xE2, 0x0D, 0x75, 0x78, 0xB1, 0xC7, 0xB2, 0xD3, 0xDD, 0x0D, 0xD3, 0x54,\r
+               0xE0, 0xDC, 0x4C, 0x25, 0x7C, 0xED, 0xB3, 0x2E, 0xE0, 0x7F, 0x5F, 0xFF, 0xC1, 0x08, 0x95, 0x12,\r
+               0x09, 0xCF, 0x97, 0x52, 0x59, 0xFC, 0xDF, 0x18, 0xDA, 0x8A, 0xD9, 0x23, 0x08, 0xAB, 0x84, 0x0B,\r
+               0x42, 0x0C, 0xCA, 0xE4, 0xB3, 0xD9, 0x6B, 0xDE, 0x25, 0xFC, 0x61, 0x1A, 0x7F, 0xE3, 0x49, 0xBB,\r
+               0xAD, 0x1A, 0xA9, 0xDE, 0xDD, 0xA2, 0x19, 0x34, 0x62, 0x2E, 0x0A, 0x30, 0xD4, 0x43, 0x67, 0xF8,\r
+               0x3B, 0x07, 0x22, 0x86, 0x3A, 0x61, 0xA7, 0x7B, 0xB3, 0x36, 0x98, 0xBD, 0xFA, 0x6F, 0xC6, 0x06,\r
+               0x24, 0x7F, 0x77, 0x8F, 0x69, 0x69, 0x30, 0x08, 0xE2, 0xA4, 0xA0, 0x88, 0xDC, 0xFD, 0xEA, 0xB9,\r
+               0x2A, 0x4A, 0xB3, 0x1E, 0xAF, 0x43, 0x9D, 0x00, 0xAA, 0xF3, 0x6A, 0xCF, 0xBE, 0xA1, 0xBB, 0x21,\r
+               0x02, 0x18, 0x6D, 0x00, 0x75, 0xA8, 0x93, 0x27, 0x91, 0xEB, 0x8D, 0xF0, 0x8A, 0x3F, 0xF7, 0x61,\r
+               0x95, 0x19, 0x9A, 0x17, 0x38, 0x39, 0xEA, 0x22, 0x60, 0xD0, 0x57, 0xCC, 0x6B, 0xDB, 0x70, 0xB6,\r
+               0x32, 0xE2, 0xFD, 0x4F, 0x4F, 0x03, 0x8B, 0xBB, 0x08, 0x3F, 0x39, 0xB1, 0x4B, 0x99, 0x50, 0x8F,\r
+               0x7D, 0xF3, 0xE9, 0x03, 0xD9, 0xFA, 0x4B, 0xD1, 0x1C, 0x24, 0x6E, 0xEB, 0xB2, 0x25, 0xE8, 0x4F,\r
+               0xD7, 0xEC, 0xC8, 0x9E, 0xBC, 0x18, 0x2D, 0x89, 0x13, 0xB7, 0xEF, 0x34, 0x4A, 0x07, 0x99, 0xC0,\r
+               0x5E, 0xBA, 0x66, 0x44, 0xB5, 0xFD, 0xD4, 0xFC, 0xF9, 0xEE, 0x2E, 0xA1, 0x2C, 0x9F, 0x67, 0x9A,\r
+               0x06, 0xD0, 0x92, 0x10, 0xA1, 0xDA, 0x40, 0xAA, 0xEF, 0x7A, 0x36, 0xB6, 0xEB, 0xB5, 0x93, 0xB9,\r
+               0x1A, 0x44, 0xF3, 0x49, 0xC1, 0xE2, 0x5A, 0xB9, 0x44, 0xFA, 0x52, 0xF8, 0xBF, 0xA6, 0x2E, 0x30,\r
+               0x0C, 0x81, 0x59, 0x3B, 0xAD, 0xE1, 0x77, 0x73, 0xF9, 0x4D, 0xE2, 0x0C, 0xA4, 0x67, 0x7E, 0x5C,\r
+               0xF8, 0xB6, 0x97, 0x57, 0x38, 0x2C, 0xE6, 0xE1, 0xA1, 0x9F, 0x72, 0xFF, 0xC4, 0xFA, 0xDD, 0xFD,\r
+               0x13, 0x8A, 0x5F, 0xBD, 0xE3, 0xA8, 0x86, 0xA5, 0x07, 0x7C, 0xEB, 0xF0, 0xFF, 0xF7, 0x84, 0x38,\r
+               0x31, 0xE1, 0xCB, 0xC8, 0xF5, 0x98, 0x9E, 0xDA, 0x12, 0x4D, 0xB6, 0x17, 0x69, 0xE9, 0xC3, 0xAB,\r
+               0x66, 0x73, 0xA3, 0xD5, 0xFA, 0x2F, 0x16, 0x81, 0x37, 0x0F, 0xD5, 0xA8, 0xE3, 0x65, 0xC2, 0xEF,\r
+               0x9A, 0x0E, 0x04, 0xFB, 0xA3, 0x58, 0xF0, 0xF2, 0xEE, 0x29, 0xD3, 0x32, 0xA6, 0x15, 0x5C, 0xC6,\r
+               0x7F, 0x6B, 0xBE, 0x71, 0x29, 0x4B, 0x5C, 0xBA, 0xAA, 0x67, 0x3A, 0x5C, 0x4F, 0xAC, 0x0F, 0x57,\r
+               0xB1, 0x71, 0xB6, 0x89, 0x91, 0x39, 0x8E, 0x8E, 0x1B, 0x81, 0xC7, 0x8A, 0x3D, 0xF4, 0x7C, 0x33,\r
+               0x4D, 0xD2, 0x95, 0x5D, 0xFF, 0xE4, 0xC0, 0xB1, 0x27, 0x10, 0xBB, 0x7D, 0x03, 0x87, 0x2E, 0xA3,\r
+               0x22, 0x23, 0xBE, 0x7D, 0x8A, 0xE2, 0xF5, 0x3C, 0x67, 0xBD, 0xB9, 0xA6, 0x3D, 0x23, 0x1E, 0x3E,\r
+               0xCF, 0xA0, 0x81, 0x41, 0xDC, 0x80, 0x00, 0x61, 0x73, 0x0D, 0x8C, 0x52, 0x00, 0xE1, 0xA8, 0xC2,\r
+               0xD2, 0x4A, 0x13, 0xF5, 0x1A, 0x19, 0x37, 0x3D, 0x10, 0x0D, 0x8F, 0x61, 0x32, 0x89, 0x2D, 0x52,\r
+               0x3C, 0x26, 0x4C, 0x81, 0x2B, 0xD5, 0x17, 0xD6, 0x64, 0x0A, 0x18, 0xC6, 0xD4, 0x0E, 0x13, 0xD3,\r
+               0xD6, 0x40, 0x5F, 0xCC, 0x8B, 0xD3, 0xCC, 0x69, 0x9A, 0xAF, 0x46, 0x74, 0x4D, 0xDD, 0x2E, 0x23,\r
+               0x59, 0xDF, 0xB1, 0x1A, 0x9F, 0xCE, 0x85, 0xB7, 0xED, 0xC6, 0x80, 0x78, 0x33, 0x88, 0xC9, 0xAA,\r
+               0x21, 0x13, 0x81, 0x4A, 0x26, 0x7F, 0x94, 0xE1, 0x3C, 0xF6, 0x8A, 0xAC, 0x75, 0x05, 0xDB, 0xCB,\r
+               0x12, 0x7C, 0x67, 0x67, 0x04, 0xCC, 0x33, 0x7F, 0x43, 0xD1, 0x9C, 0x0E, 0xF0, 0x50, 0xCD, 0x48,\r
+               0x7C, 0xA6, 0x75, 0x9A, 0xBA, 0x3A, 0xC2, 0x5C, 0xCE, 0x70, 0xEE, 0xF9, 0xEA, 0xDA, 0x1D, 0x03,\r
+               0x72, 0x69, 0x10, 0xAC, 0x34, 0x5B, 0xDA, 0xE6, 0x6D, 0x92, 0x5A, 0x62, 0x9A, 0x90, 0x86, 0xA9,\r
+               0x07, 0x8A, 0xA2, 0x02, 0xF8, 0x1C, 0xAB, 0x6E, 0x7D, 0xD4, 0xAC, 0x7B, 0x27, 0x91, 0x7B, 0x0D,\r
+               0x20, 0xE0, 0xAC, 0x34, 0xCB, 0x74, 0xFB, 0x26, 0xD7, 0x15, 0x14, 0x49, 0x10, 0xEF, 0xEB, 0xDE,\r
+               0x7A, 0x73, 0x57, 0x5B, 0xE4, 0x5A, 0xC1, 0x6A, 0x4F, 0x77, 0xCC, 0xD3, 0x2E, 0x6B, 0xD4, 0xA9,\r
+               0xCD, 0xF7, 0x78, 0x31, 0x50, 0x97, 0x21, 0x47, 0x08, 0xF1, 0x89, 0xED, 0x94, 0x48, 0x5D, 0x16,\r
+               0xAA, 0x6E, 0x21, 0x2B, 0xEB, 0xFE, 0xDF, 0x08, 0x05, 0xE9, 0xCF, 0x06, 0xDB, 0xC4, 0x6C, 0x6C,\r
+               0x97, 0x20, 0x7D, 0x71, 0xF2, 0xAE, 0x45, 0x5E, 0x3D, 0x8B, 0x25, 0x44, 0x8F, 0xF0, 0x01, 0x78,\r
+               0x52, 0x4F, 0xA9, 0x6E, 0x1E, 0xCE, 0xA7, 0x1C, 0x63, 0x63, 0x8A, 0x8B, 0x78, 0xE6, 0xD2, 0x86,\r
+               0x0D, 0x8C, 0x01, 0x7B, 0xD6, 0x91, 0xA6, 0xFA, 0x82, 0xA5, 0x0B, 0x39, 0xE5, 0x12, 0x3C, 0x2A,\r
+               0x6F, 0x89, 0x95, 0xDB, 0x11, 0x75, 0x41, 0xBA, 0xE3, 0x81, 0x34, 0xFF, 0xE9, 0xDE, 0x6B, 0xC6,\r
+               0x9B, 0x02, 0x97, 0x06, 0x96, 0x5A, 0x15, 0x2C, 0xB0, 0x3D, 0xFF, 0xD6, 0xCE, 0xE4, 0x47, 0xE3,\r
+               0x69, 0x7D, 0xAF, 0x13, 0x93, 0x6E, 0x35, 0x84, 0x44, 0xF4, 0x46, 0xA9, 0x2F, 0x13, 0x07, 0xA3,\r
+               0xBC, 0xE8, 0x2E, 0xD3, 0x43, 0xC7, 0xF9, 0xAB, 0x8D, 0xF4, 0xCE, 0xB5, 0x3A, 0xE3, 0x40, 0xE3,\r
+               0x82, 0x0F, 0x45, 0x5F, 0x01, 0x64, 0x09, 0x6B, 0x9E, 0x45, 0x7D, 0x31, 0xFC, 0xB3, 0x80, 0x70,\r
+               0x7F, 0x69, 0x45, 0x0E, 0x27, 0xE6, 0x50, 0xAC, 0x5D, 0x5B, 0xC7, 0x3A, 0x81, 0xB6, 0x01, 0x82,\r
+               0xD3, 0xD3, 0xCA, 0xF8, 0x61, 0xC8, 0x4B, 0xC5, 0xE3, 0xC7, 0x71, 0x00, 0x30, 0x66, 0x20, 0x02,\r
+               0xE1, 0xE3, 0xF8, 0x73, 0x25, 0x77, 0x08, 0xB9, 0xAE, 0x7B, 0xD7, 0x0A, 0x20, 0xB8, 0xF2, 0xFA,\r
+               0x2C, 0x81, 0x45, 0x99, 0xBA, 0x87, 0x49, 0x7D, 0x03, 0x19, 0x7C, 0x43, 0x7D, 0x1F, 0x48, 0x56,\r
+               0xF8, 0xBC, 0xB3, 0x39, 0xFD, 0xF7, 0x44, 0x2A, 0x16, 0x26, 0xB4, 0x9D, 0xC3, 0x1D, 0x74, 0xF0,\r
+               0x27, 0x11, 0xF8, 0x24, 0xAA, 0x33, 0x03, 0x54, 0x29, 0x07, 0x4C, 0x04, 0x0B, 0x76, 0x6F, 0x2C,\r
+               0xDB, 0xAE, 0x57, 0x48, 0x9E, 0x27, 0xE2, 0x87, 0x15, 0x45, 0x4E, 0x09, 0xF7, 0x53, 0xCA, 0x61,\r
+               0xF2, 0xF0, 0xC8, 0x9D, 0x00, 0x0A, 0x0A, 0x6D, 0x2D, 0x62, 0xF3, 0x34, 0x14, 0xD5, 0x99, 0xBD,\r
+               0x83, 0xCA, 0x8A, 0x95, 0x18, 0x7C, 0x67, 0xC8, 0xCE, 0x5A, 0x26, 0xFA, 0x6D, 0xC9, 0x21, 0x41,\r
+               0x5F, 0x89, 0xEF, 0x5C, 0xDF, 0x22, 0xFD, 0x4F, 0x86, 0xC4, 0x33, 0xAA, 0x28, 0xC3, 0x7C, 0x96,\r
+               0x98, 0x1D, 0x59, 0x8D, 0x7E, 0x93, 0xC2, 0xAA, 0x56, 0x4E, 0x05, 0xBA, 0x7C, 0xBA, 0x04, 0x65,\r
+               0x57, 0xD5, 0xD4, 0x03, 0x46, 0x13, 0x04, 0xBE, 0x85, 0x02, 0xE8, 0x02, 0xE9, 0xBF, 0xC7, 0xC6,\r
+               0x1E, 0xD3, 0xDC, 0xBB, 0xCD, 0x20, 0x19, 0xF4, 0xBE, 0xA3, 0x00, 0x49, 0x50, 0x8F, 0xF2, 0xF6,\r
+               0xA9, 0x6E, 0xDA, 0x72, 0x39, 0xF8, 0x9C, 0xE8, 0x98, 0xF6, 0x0F, 0xFB, 0x95, 0x5B, 0x96, 0x92,\r
+               0xEA, 0x56, 0x1A, 0x56, 0x04, 0xFD, 0xD4, 0x8A, 0xA4, 0x35, 0xC6, 0x43, 0x46, 0xF6, 0x42, 0xE5,\r
+               0x9E, 0x8D, 0x6B, 0x6B, 0x8D, 0x6B, 0x7E, 0x6E, 0xE2, 0x50, 0xA3, 0x9C, 0xFF, 0x79, 0xDD, 0x6E,\r
+               0xFE, 0xE7, 0x6C, 0x44, 0x4D, 0xF8, 0xEC, 0xDB, 0x76, 0xEC, 0x73, 0xE8, 0x06, 0x18, 0xBD, 0x58,\r
+               0xA8, 0x48, 0xBD, 0xC6, 0x47, 0xD5, 0x9F, 0x5C, 0xC0, 0x30, 0x36, 0x82, 0xC9, 0x74, 0xA1, 0xB5,\r
+               0xB5, 0xD3, 0x23, 0x8A, 0x88, 0xF6, 0x24, 0x6F, 0x6E, 0x4A, 0x3A, 0xEA, 0x5E, 0x88, 0x06, 0xE0,\r
+               0x22, 0xDB, 0x01, 0x78, 0x52, 0x43, 0x5D, 0xA5, 0x40, 0x7A, 0xE0, 0x0C, 0x40, 0x6C, 0x4A, 0x01,\r
+               0x93, 0x19, 0x0D, 0x24, 0x04, 0xB7, 0x87, 0x38, 0x8A, 0x67, 0x17, 0x3D, 0xDD, 0x4A, 0xCE, 0xE7,\r
+               0x9D, 0x1B, 0xB9, 0x50, 0x59, 0x2E, 0x2A, 0x18, 0x2A, 0x95, 0xDD, 0x9D, 0x37, 0x16, 0x54, 0xCE,\r
+               0x1A, 0x9C, 0xE3, 0xFD, 0xC1, 0x83, 0xAE, 0x7C, 0x55, 0x44, 0xBD, 0x32, 0x99, 0xF4, 0xB7, 0x96,\r
+               0x8C, 0x25, 0x4C, 0x12, 0x78, 0x3F, 0x10, 0x8E, 0x36, 0xCB, 0x2F, 0xEF, 0xF8, 0xD8, 0xD1, 0x6A,\r
+               0xBE, 0x41, 0x40, 0x4B, 0x54, 0xEF, 0x68, 0x18, 0xA7, 0x55, 0x6E, 0xB0, 0x0A, 0x1C, 0x7A, 0xA7,\r
+               0xF5, 0x48, 0x23, 0x10, 0x11, 0xA9, 0xDC, 0x56, 0x58, 0xD9, 0xD6, 0xA9, 0x31, 0x54, 0xE4, 0xD0,\r
+               0xBB, 0x54, 0x67, 0x3D, 0xDC, 0xEA, 0xC0, 0x47, 0x6A, 0x65, 0x55, 0x0E, 0xEF, 0xD0, 0xE8, 0x49,\r
+               0x4F, 0x51, 0x1F, 0xED, 0xF6, 0x72, 0x51, 0x6E, 0x25, 0xA8, 0xC5, 0x14, 0xE1, 0x4D, 0x9F, 0x1B,\r
+               0xB1, 0x59, 0x0A, 0x9A, 0x41, 0x1B, 0xF7, 0xC3, 0x09, 0x57, 0x81, 0xD6, 0xA2, 0x02, 0x17, 0x94,\r
+               0xAD, 0x5B, 0xFB, 0x64, 0x52, 0xD9, 0xED, 0x6F, 0x5E, 0x53, 0xE5, 0xB7, 0xD6, 0x11, 0xAC, 0xE8,\r
+               0x60, 0x9B, 0x1B, 0x74, 0x96, 0x23, 0x9A, 0x94, 0x70, 0xC0, 0x58, 0x36, 0x36, 0xB0, 0xB6, 0xBC,\r
+               0xE9, 0xED, 0xCA, 0xD2, 0x48, 0x2C, 0x63, 0x5D, 0xFE, 0x18, 0x99, 0x8E, 0xA7, 0x28, 0x3A, 0x3F,\r
+               0x85, 0x58, 0x4A, 0x7C, 0x2B, 0x55, 0x3C, 0xDB, 0x1E, 0x5D, 0x8E, 0xA2, 0xB3, 0x2E, 0x57, 0xC9,\r
+               0xCA, 0xB2, 0x5E, 0xE6, 0xCE, 0xEA, 0xFC, 0x2B, 0xC6, 0xEE, 0xD9, 0x52, 0x37, 0x92, 0x46, 0xDD,\r
+               0xFA, 0xA9, 0x9D, 0x04, 0x6E, 0x96, 0x77, 0x7D, 0x99, 0x87, 0x0C, 0x1C, 0x4D, 0x30, 0x7D, 0x5A,\r
+               0x95, 0x3F, 0xBB, 0x14, 0x56, 0xC9, 0x42, 0xAB, 0x66, 0x03, 0x0E, 0xBF, 0xBC, 0x94, 0x6B, 0x0B,\r
+               0xC8, 0xC1, 0x8C, 0x8D, 0x51, 0x6D, 0xEB, 0x6B, 0xD1, 0x17, 0x8D, 0xBD, 0x59, 0x1B, 0x45, 0xAE,\r
+               0x06, 0xA3, 0xE7, 0xA1, 0x18, 0xE1, 0x39, 0xBC, 0xD2, 0x04, 0x70, 0x2C, 0xA9, 0x43, 0xF6, 0xEC,\r
+               0xD1, 0x60, 0x81, 0xB7, 0x41, 0xD7, 0xA1, 0x39, 0xE8, 0x64, 0x62, 0x04, 0x92, 0xD2, 0xAC, 0x52,\r
+               0x2D, 0xC6, 0x5C, 0x6E, 0x31, 0xAA, 0x47, 0x1F, 0xDD, 0x92, 0x64, 0x68, 0xC7, 0xA2, 0x03, 0x57,\r
+               0xA4, 0x86, 0x13, 0x65, 0xF2, 0x50, 0x31, 0x91, 0xFD, 0xDA, 0x5C, 0x5F, 0xFD, 0x40, 0xA5, 0x0B,\r
+               0x86, 0x40, 0x68, 0x0B, 0x4D, 0x3B, 0x29, 0x17, 0x49, 0xC3, 0x01, 0x26, 0x06, 0x5E, 0xE6, 0xF7,\r
+               0xA5, 0xFD, 0xEC, 0xCE, 0x15, 0x2D, 0x84, 0x00, 0xA3, 0x8E, 0x2B, 0xA4, 0x6C, 0xE7, 0x47, 0xDA,\r
+               0xCB, 0x05, 0x50, 0x27, 0x49, 0x28, 0x75, 0x74, 0x23, 0xD8, 0x59, 0xCE, 0xC4, 0x6D, 0x1B, 0x48,\r
+               0xEE, 0xB2, 0x63, 0x80, 0x30, 0xD1, 0x32, 0x85, 0x9D, 0x88, 0x37, 0x02, 0x68, 0x3F, 0x3B, 0x88,\r
+               0x96, 0x33, 0x90, 0x58, 0xCE, 0x39, 0x23, 0x99, 0x3C, 0xA0, 0x3D, 0x33, 0x8E, 0xB2, 0x0E, 0xDF,\r
+               0x8B, 0x52, 0xE1, 0xE6, 0xA5, 0x58, 0xA0, 0x3C, 0x09, 0x78, 0xAF, 0x86, 0xD4, 0xB9, 0x4C, 0xDB,\r
+               0x61, 0x06, 0xB5, 0x55, 0xD4, 0x0E, 0x7B, 0x18, 0xFC, 0x5C, 0xF1, 0x90, 0x7C, 0x6A, 0xE8, 0xC4,\r
+               0x78, 0xAE, 0x53, 0xF4, 0xE6, 0x36, 0xB7, 0x65, 0xF7, 0x51, 0x3B, 0x56, 0x48, 0x56, 0x29, 0xE7,\r
+               0x65, 0x61, 0xAD, 0x4E, 0x8C, 0xB0, 0x80, 0xDC, 0xAD, 0xCC, 0x38, 0x7E, 0x31, 0x3E, 0x6B, 0x92,\r
+               0x7D, 0xC4, 0x95, 0x62, 0x6E, 0xAD, 0xB6, 0xB5, 0xF2, 0x09, 0x3D, 0x1B, 0x6F, 0x8A, 0x51, 0x05,\r
+               0xB7, 0x08, 0x62, 0xD0, 0x33, 0x1A, 0xEA, 0xBD, 0x0A, 0x1C, 0x33, 0x9A, 0x0C, 0x27, 0x93, 0xE3,\r
+               0x40, 0x4A, 0xB9, 0xBD, 0xCB, 0x16, 0xCC, 0x09, 0x1B, 0xF7, 0x82, 0xC5, 0xE3, 0xFD, 0xB9, 0xE5,\r
+               0x9A, 0x10, 0x2E, 0xCC, 0x76, 0xB7, 0x28, 0x9C, 0xAB, 0x7A, 0x15, 0x85, 0x22, 0x84, 0xBF, 0x7A,\r
+               0x76, 0xEA, 0x54, 0x1F, 0xEF, 0x11, 0xF4, 0x9F, 0x91, 0x66, 0x55, 0x9B, 0xFC, 0x7C, 0x6D, 0x40,\r
+               0xCE, 0x08, 0xDB, 0xA6, 0x30, 0xA7, 0xBC, 0x54, 0x5B, 0x44, 0x1E, 0xCE, 0x18, 0xC8, 0x7D, 0x25,\r
+               0x8F, 0x42, 0x00, 0xD3, 0x79, 0x98, 0x78, 0x6A, 0xA5, 0x0B, 0x2C, 0x55, 0x16, 0xB0, 0xB3, 0xEE,\r
+               0x1D, 0x28, 0x9A, 0x2B, 0xDA, 0xF7, 0x54, 0xEB, 0xA8, 0x19, 0xBA, 0x85, 0xE5, 0x0E, 0x55, 0xDA,\r
+               0x45, 0x23, 0xA2, 0x7D, 0x2B, 0x1F, 0xB1, 0x16, 0x03, 0xC8, 0x0D, 0xFE, 0xB5, 0x4D, 0x13, 0x32,\r
+               0x21, 0x83, 0xB1, 0x35, 0xA8, 0xEE, 0xA2, 0x95, 0xAD, 0xB6, 0x11, 0x69, 0x0A, 0x57, 0xCF, 0x88,\r
+               0x65, 0xA8, 0xBF, 0xDB, 0xB2, 0x37, 0xED, 0x5B, 0xF0, 0xCA, 0xEF, 0x5F, 0x9D, 0xF1, 0x21, 0x96,\r
+               0xF5, 0x97, 0xE2, 0x0F, 0x81, 0x47, 0x70, 0x42, 0xDD, 0xE4, 0x1B, 0xA6, 0x5F, 0x60, 0x3E, 0x60,\r
+               0x79, 0x97, 0xA6, 0x8E, 0x7E, 0xFE, 0x32, 0xCF, 0x92, 0x95, 0x6A, 0xEF, 0x1E, 0x5C, 0xDB, 0x3A,\r
+               0x2E, 0xA5, 0xDA, 0xE5, 0x22, 0x0A, 0x8E, 0xC2, 0xB0, 0x0D, 0x25, 0xC5, 0xF5, 0x9C, 0x5D, 0x95,\r
+               0x39, 0x47, 0x63, 0x3C, 0x49, 0x8C, 0x88, 0x84, 0x41, 0x07, 0x49, 0xD7, 0x84, 0xC3, 0x40, 0x24,\r
+               0xF8, 0xA8, 0x96, 0xC1, 0xF9, 0xEC, 0x10, 0xA0, 0xE4, 0xEA, 0xC0, 0xC7, 0x58, 0x3A, 0x70, 0xC2,\r
+               0xD0, 0xE0, 0xA8, 0x06, 0xFD, 0x3F, 0xE3, 0xE9, 0x33, 0x32, 0xA6, 0x83, 0x09, 0x99, 0x40, 0x39,\r
+               0x2D, 0xCE, 0xC5, 0xBC, 0xE9, 0xE7, 0xBB, 0x66, 0xCE, 0xE3, 0x68, 0x6A, 0x73, 0x4B, 0xEC, 0x11,\r
+               0xAE, 0x70, 0xD3, 0xA6, 0x84, 0xB6, 0x34, 0x75, 0x82, 0x8F, 0x35, 0x61, 0xD2, 0xE2, 0x4D, 0x23,\r
+               0xAC, 0xA4, 0xF6, 0x72, 0x98, 0x19, 0x90, 0xA7, 0x6B, 0x54, 0x5A, 0xC6, 0xB8, 0xD7, 0xEE, 0xAA,\r
+               0xA1, 0xCD, 0x38, 0x75, 0x36, 0x20, 0xFE, 0x22, 0x48, 0x6C, 0x26, 0x79, 0x9D, 0x89, 0xDF, 0x61,\r
+               0xFC, 0x42, 0x7C, 0xAE, 0xF3, 0x7F, 0xE0, 0x14, 0xCA, 0x91, 0x04, 0xE5, 0xEC, 0x91, 0x98, 0x2D,\r
+               0xC4, 0xC0, 0xFA, 0x3D, 0x7E, 0x8D, 0x02, 0x1E, 0x07, 0xD4, 0x8D, 0x55, 0x5A, 0xE7, 0x60, 0xD4,\r
+               0xC2, 0x42, 0x41, 0x38, 0xB1, 0x3E, 0x72, 0x01, 0xBA, 0x16, 0x71, 0x96, 0xD8, 0x01, 0xF6, 0x69,\r
+               0x9D, 0xF5, 0xC5, 0x8B, 0x12, 0x37, 0x12, 0x46, 0x77, 0xD0, 0x36, 0x5E, 0x01, 0x83, 0x7E, 0x71,\r
+               0x97, 0x3E, 0x4F, 0xD2, 0x71, 0x8F, 0x9F, 0x52, 0x2C, 0xD8, 0x4E, 0x95, 0xBC, 0x92, 0xD8, 0x8D,\r
+               0xF9, 0x63, 0xB7, 0x94, 0x10, 0xBB, 0xCD, 0xAB, 0xC7, 0xD8, 0x6B, 0x39, 0xFB, 0xD5, 0xF7, 0xF5,\r
+               0x8B, 0x1D, 0xD4, 0x6C, 0x23, 0xFB, 0x47, 0xE8, 0xB6, 0x4F, 0x05, 0x29, 0x1F, 0x24, 0x81, 0x1C,\r
+               0x98, 0xD0, 0x36, 0x70, 0xD7, 0x53, 0x9E, 0x11, 0xF3, 0xA8, 0xC5, 0x5F, 0x08, 0x20, 0x03, 0x32,\r
+               0x9B, 0x7C, 0x9A, 0xA9, 0xFB, 0x7D, 0xF6, 0x41, 0xDB, 0x0A, 0xD8, 0x39, 0x33, 0x17, 0xC9, 0x6A,\r
+               0x51, 0x39, 0x17, 0xD8, 0xEF, 0x65, 0xCA, 0x1D, 0xCB, 0xB2, 0xC1, 0xEF, 0x0F, 0xDB, 0xA9, 0x38,\r
+               0x0F, 0x9D, 0x8B, 0xCF, 0x95, 0x8D, 0x19, 0x3A, 0x50, 0x0E, 0x2B, 0x5B, 0xD4, 0x00, 0x07, 0x14,\r
+               0x6C, 0xCC, 0x37, 0x66, 0xD0, 0x67, 0xCB, 0xE4, 0xF1, 0x16, 0xDA, 0xA9, 0xB0, 0x61, 0x56, 0x12,\r
+               0xB4, 0x18, 0x6F, 0x0B, 0xBB, 0x7E, 0x4F, 0x3A, 0xEC, 0xB9, 0x80, 0xD0, 0xC4, 0x5B, 0x88, 0x4D,\r
+               0x0C, 0x22, 0xA8, 0xD3, 0x12, 0x77, 0x31, 0xC1, 0xCC, 0x9E, 0xA7, 0xBF, 0x2F, 0x0B, 0x22, 0xC3,\r
+               0xFA, 0x76, 0x3D, 0x86, 0x19, 0xC9, 0x30, 0x90, 0xA4, 0x8F, 0xD2, 0xF5, 0xC9, 0x7A, 0x65, 0x15,\r
+               0x2A, 0x6D, 0x8C, 0x52, 0xAE, 0x5C, 0x46, 0xBA, 0x1C, 0x50, 0xF2, 0x26, 0xBF, 0x07, 0x8D, 0xD7,\r
+               0x85, 0xBD, 0xF4, 0x92, 0x2B, 0x67, 0x50, 0x60, 0xEA, 0x5C, 0x37, 0x9C, 0x13, 0xE5, 0x48, 0xD9,\r
+               0x6F, 0x41, 0x91, 0x12, 0x28, 0x36, 0x64, 0x09, 0x4D, 0x6B, 0x0A, 0x07, 0x50, 0x7F, 0xF2, 0x33,\r
+               0x29, 0x1F, 0x01, 0xD3, 0x3B, 0x50, 0xE8, 0xAA, 0xFA, 0xC6, 0x6D, 0x89, 0x7B, 0x81, 0xCD, 0xDA,\r
+               0xE6, 0x89, 0x97, 0x65, 0x40, 0x97, 0xB3, 0x09, 0xE9, 0xDE, 0xC9, 0xD9, 0x3E, 0x95, 0x45, 0x27,\r
+               0x5F, 0x09, 0xE8, 0x0D, 0xBB, 0x2A, 0x44, 0x8E, 0x0D, 0xD3, 0x3B, 0x24, 0xA0, 0xB5, 0x29, 0x53,\r
+               0x94, 0x9E, 0xC0, 0x95, 0x6C, 0x17, 0x7E, 0x98, 0x47, 0x3A, 0xCF, 0x64, 0xEF, 0xE1, 0x76, 0x1D,\r
+               0xAB, 0x33, 0xDC, 0x26, 0x6E, 0xEF, 0xB2, 0x72, 0x14, 0x39, 0xAD, 0x5B, 0xA5, 0x06, 0x09, 0x1B,\r
+               0xD1, 0x28, 0x61, 0x95, 0x20, 0xB7, 0xC6, 0x9E, 0xB3, 0xF7, 0x73, 0xB6, 0xD8, 0xEB, 0x18, 0x29,\r
+               0x67, 0x80, 0x4E, 0x5E, 0xD7, 0x50, 0x16, 0x3B, 0x6D, 0x15, 0xDF, 0x07, 0x7E, 0xF0, 0x7D, 0x1A,\r
+               0xDD, 0x14, 0x37, 0x10, 0x9B, 0x59, 0x13, 0x98, 0x40, 0x9F, 0x22, 0x85, 0x74, 0xA9, 0x5C, 0x81,\r
+               0x6E, 0x85, 0x18, 0xB5, 0xD4, 0x8C, 0x43, 0x8C, 0x25, 0x47, 0x1C, 0xFF, 0x3D, 0x59, 0xFC, 0x53,\r
+               0xEC, 0x94, 0xAB, 0xCD, 0x24, 0xCC, 0xD6, 0x63, 0x6D, 0x24, 0x87, 0xAA, 0x04, 0xA3, 0x61, 0x00,\r
+               0x14, 0x99, 0xB8, 0x0D, 0x83, 0xB6, 0xBD, 0xEA, 0x9F, 0x52, 0x58, 0x9C, 0xA1, 0xE4, 0x46, 0xCC,\r
+               0xDC, 0x63, 0x09, 0x31, 0xB6, 0x9A, 0xBF, 0x6C, 0x8C, 0x67, 0x8C, 0x97, 0x36, 0xE9, 0xB4, 0x47,\r
+               0x77, 0x44, 0x64, 0xC5, 0x04, 0x56, 0x18, 0x65, 0x82, 0xD6, 0x41, 0xA4, 0x45, 0xA8, 0xAC, 0x70,\r
+               0x93, 0xAC, 0xFF, 0x5A, 0xF7, 0x7F, 0x63, 0xC9, 0xA9, 0xB1, 0xFF, 0xCA, 0x46, 0x5D, 0x97, 0xF8,\r
+               0x86, 0x66, 0xCD, 0x95, 0x62, 0xEE, 0x69, 0x5D, 0x28, 0x86, 0x23, 0x0F, 0xCD, 0xC7, 0x78, 0x0D,\r
+               0x53, 0xAA, 0x21, 0x83, 0x77, 0x0E, 0x75, 0xDD, 0xC5, 0x7A, 0x52, 0x10, 0xF8, 0xAA, 0xBA, 0x45,\r
+               0xEE, 0x47, 0x79, 0xFD, 0x5D, 0x25, 0xF3, 0x5F, 0x2A, 0xDB, 0x7B, 0x08, 0xE3, 0x42, 0xD6, 0x10,\r
+               0xAF, 0xC4, 0xB7, 0x03, 0x87, 0x3F, 0xFB, 0x52, 0x12, 0xF6, 0x09, 0x5F, 0xBF, 0x3C, 0x57, 0x4C,\r
+               0xA0, 0x7C, 0x4A, 0xCC, 0x72, 0x31, 0x2F, 0x5F, 0x38, 0x34, 0xBE, 0x17, 0x84, 0xB9, 0x61, 0x15,\r
+               0x48, 0x30, 0x9C, 0x8F, 0x51, 0xDA, 0x1F, 0xF2, 0xF3, 0xA3, 0xF7, 0x07, 0xE2, 0xA4, 0xD6, 0xED,\r
+               0xA5, 0xF0, 0x08, 0x28, 0xB6, 0xCA, 0x1A, 0xEF, 0xC8, 0x7E, 0x38, 0x17, 0x05, 0x62, 0x30, 0x6F,\r
+               0x96, 0xFA, 0x9C, 0x75, 0x97, 0x5C, 0xD4, 0xB9, 0xE6, 0x11, 0x08, 0xF8, 0xA4, 0x3F, 0xE3, 0xCE,\r
+               0xD3, 0x42, 0xA3, 0xA8, 0x80, 0xEE, 0xB8, 0x82, 0xA3, 0xDD, 0x5E, 0x24, 0xDF, 0x4C, 0x49, 0x06,\r
+               0x03, 0x2D, 0x9C, 0xFE, 0xA7, 0x50, 0xD9, 0x9D, 0xDB, 0x3D, 0x3E, 0xB2, 0x5F, 0xDE, 0xEB, 0x6D,\r
+               0x66, 0x04, 0x39, 0x6D, 0x17, 0x37, 0x56, 0x51, 0xEB, 0x6F, 0x4A, 0x4D, 0x6A, 0x74, 0x47, 0x37,\r
+               0x3B, 0x63, 0x09, 0x36, 0x67, 0xE9, 0x12, 0xB2, 0xE7, 0xDD, 0x18, 0xEE, 0x10, 0x9A, 0x1C, 0x4A,\r
+               0x70, 0xCC, 0x25, 0x34, 0x2B, 0xAB, 0xA6, 0xBA, 0xC8, 0x02, 0xA0, 0x11, 0xA7, 0xD2, 0x73, 0x2A,\r
+               0x42, 0xE3, 0xF7, 0xA3, 0x0F, 0xCC, 0xDE, 0x98, 0x2A, 0x6D, 0xE1, 0x4A, 0x1F, 0x16, 0xB6, 0x4C,\r
+               0xD4, 0x2E, 0x1B, 0x22, 0x19, 0x22, 0x60, 0x0B, 0xE3, 0xE3, 0x73, 0x8E, 0xB7, 0x3A, 0xB1, 0xC3,\r
+               0x53, 0x7F, 0x72, 0x10, 0xF3, 0xA3, 0xE4, 0x99, 0x84, 0x3B, 0x13, 0x73, 0xFC, 0xD8, 0x1D, 0x66,\r
+               0x5D, 0x5B, 0xA1, 0x5E, 0x8B, 0x27, 0x49, 0x85, 0x2F, 0x23, 0xD9, 0x01, 0x29, 0x84, 0xFA, 0x44,\r
+               0xEC, 0x91, 0xA8, 0x96, 0x86, 0x64, 0x93, 0xB5, 0x72, 0x42, 0x2E, 0x9E, 0x70, 0xA2, 0x55, 0xF5,\r
+               0x7B, 0x95, 0x4A, 0x96, 0x9F, 0x10, 0xEA, 0x4F, 0xB6, 0x3A, 0xF4, 0x0B, 0xB0, 0x46, 0xA4, 0xBB,\r
+               0x04, 0xAA, 0x3E, 0x99, 0x4C, 0x43, 0x32, 0x5B, 0x60, 0x24, 0x17, 0x99, 0xBF, 0x5C, 0xA6, 0xFF,\r
+               0x4B, 0xAF, 0x1C, 0x61, 0x49, 0xE7, 0xF2, 0x5A, 0x52, 0xA4, 0x40, 0x28, 0x8D, 0xE0, 0xF7, 0xD7,\r
+               0x27, 0x29, 0x26, 0x09, 0x1D, 0xD5, 0xAD, 0x32, 0x66, 0xC8, 0x57, 0xAB, 0x41, 0xE6, 0xE7, 0x85,\r
+               0xAE, 0x1D, 0x77, 0x2D, 0xCB, 0x19, 0x54, 0x79, 0xFC, 0x54, 0x96, 0xF7, 0xDC, 0x7E, 0x78, 0xB1,\r
+               0x63, 0x14, 0xED, 0xC6, 0xAA, 0x78, 0x23, 0x11, 0xEC, 0xF2, 0x2B, 0x8E, 0x86, 0xDF, 0x53, 0xE7,\r
+               0x7F, 0x60, 0x48, 0x66, 0x25, 0xF1, 0x39, 0xBC, 0x6C, 0xF3, 0x4F, 0x40, 0xEE, 0xCC, 0x22, 0xBD,\r
+               0x81, 0x7E, 0x34, 0x47, 0x7E, 0x40, 0x9F, 0x17, 0x76, 0xC5, 0x0B, 0xE8, 0x46, 0x83, 0xAA, 0xB3,\r
+               0x75, 0x7D, 0xEE, 0xF4, 0x66, 0x6E, 0x0E, 0xCC, 0xDA, 0x13, 0x9B, 0x94, 0x0C, 0x1E, 0x06, 0xAC,\r
+               0x48, 0x57, 0xBE, 0xCE, 0xD0, 0xCC, 0xE7, 0x72, 0xDB, 0x9F, 0xCF, 0xBC, 0x55, 0x90, 0x8A, 0x70,\r
+               0x6A, 0x59, 0x88, 0x4B, 0x99, 0x37, 0xFF, 0xA5, 0x8D, 0x48, 0x92, 0x5E, 0x87, 0x8E, 0xE1, 0xB0,\r
+               0xE3, 0xD2, 0x23, 0xB1, 0x11, 0xAD, 0x89, 0xC1, 0x33, 0x4F, 0xAA, 0x7C, 0xA9, 0x6C, 0xF9, 0x2C,\r
+               0x1F, 0x79, 0x53, 0x23, 0x62, 0x34, 0x6F, 0x89, 0x94, 0xEB, 0xAC, 0x7C, 0xB6, 0x1C, 0x25, 0xFA,\r
+               0xC8, 0x37, 0xD4, 0x66, 0xEF, 0x00, 0xF7, 0xB4, 0xAA, 0x46, 0xBE, 0x83, 0x04, 0x8D, 0xDA, 0xE4,\r
+               0x06, 0x98, 0x5E, 0xDE, 0x22, 0xFA, 0x25, 0xD5, 0x9B, 0x9B, 0x43, 0xA2, 0x72, 0xD5, 0x36, 0x51,\r
+               0x5B, 0xD4, 0x90, 0x31, 0xB2, 0x96, 0x8C, 0x32, 0x33, 0xC0, 0xC0, 0x01, 0x0B, 0x5A, 0x7D, 0xE9,\r
+               0x34, 0xA2, 0x7D, 0x4A, 0xBA, 0x43, 0xB9, 0x23, 0xB5, 0x12, 0xC2, 0xD4, 0x08, 0xFE, 0x95, 0xFE,\r
+               0xAB, 0x15, 0xC4, 0x5C, 0xCD, 0x6C, 0x4E, 0xD8, 0x46, 0x85, 0xF6, 0x20, 0x75, 0xF0, 0x50, 0xEF,\r
+               0xB6, 0xF1, 0x7B, 0xE9, 0x8A, 0x07, 0x79, 0x1A, 0x93, 0x06, 0xF5, 0x91, 0x78, 0x98, 0xD4, 0xF4,\r
+               0xAF, 0x6C, 0xEF, 0xA7, 0x85, 0x5A, 0xB5, 0xFF, 0xA0, 0xDF, 0x3F, 0xDC, 0xFA, 0xA4, 0x2B, 0x45,\r
+               0x45, 0x1B, 0x9A, 0xA5, 0x56, 0x3D, 0x6E, 0x52, 0x87, 0xAF, 0x61, 0xE7, 0xC4, 0x77, 0xC0, 0x35,\r
+               0x58, 0xE3, 0xBB, 0x69, 0x79, 0xDA, 0xED, 0xAB, 0x7D, 0xCA, 0xF3, 0xF0, 0x97, 0x7C, 0x86, 0xFD,\r
+               0x20, 0xF9, 0xE4, 0x60, 0x92, 0x20, 0xFC, 0x89, 0x54, 0xDD, 0xF9, 0xFE, 0x61, 0xF1, 0x6E, 0x55,\r
+               0x05, 0xF5, 0x96, 0xD3, 0x0B, 0x16, 0xBB, 0x39, 0x1F, 0xE6, 0x97, 0x23, 0xE8, 0xA3, 0x4D, 0x95,\r
+               0x6B, 0x24, 0x2F, 0x68, 0x05, 0xBA, 0x4A, 0xE4, 0xF3, 0xD2, 0xE5, 0xA1, 0xAD, 0x29, 0xAE, 0x72,\r
+               0x9C, 0x5F, 0x3F, 0x5E, 0x5D, 0x96, 0x69, 0x05, 0x1A, 0x2E, 0x44, 0xE0, 0x86, 0x28, 0x86, 0x9A,\r
+               0x59, 0x90, 0x86, 0x53, 0x07, 0xC3, 0x8B, 0x1B, 0x9E, 0xA3, 0xEB, 0x6B, 0x52, 0x3E, 0x8C, 0x99,\r
+               0x64, 0xAE, 0x7A, 0xDD, 0xE9, 0x21, 0x11, 0x74, 0x0E, 0x58, 0x01, 0xA8, 0x9E, 0x0A, 0x83, 0x6E,\r
+               0x03, 0x48, 0x7F, 0xC0, 0x0F, 0xE8, 0xEF, 0xE3, 0xD0, 0xFB, 0x47, 0x22, 0x52, 0x86, 0x7B, 0x62,\r
+               0xB4, 0x76, 0xBF, 0xE6, 0xC6, 0x62, 0x0F, 0x58, 0xC2, 0xE8, 0x02, 0xE1, 0x73, 0xA5, 0x21, 0xC0,\r
+               0xEE, 0x44, 0x8E, 0xAF, 0x59, 0x1A, 0x35, 0xF6, 0x32, 0xBF, 0xDA, 0x73, 0x98, 0x21, 0x69, 0x7C,\r
+               0xC9, 0x04, 0x4E, 0x79, 0x4A, 0x76, 0x65, 0xF9, 0xCE, 0x65, 0x62, 0x34, 0x5D, 0x5F, 0x78, 0xFE,\r
+               0xBC, 0xBF, 0x85, 0xA2, 0xD4, 0x9D, 0x14, 0x72, 0x7C, 0x6A, 0x94, 0xB2, 0xBA, 0x5E, 0xC0, 0x3F,\r
+               0x1D, 0x04, 0xC7, 0xA5, 0xF5, 0xAF, 0x85, 0x72, 0x79, 0x7D, 0xBF, 0xD7, 0x7B, 0xA8, 0x3D, 0x38,\r
+               0xB1, 0xE9, 0xA8, 0x1D, 0xAF, 0xD6, 0x9E, 0x38, 0xA6, 0xC5, 0x09, 0x07, 0x17, 0x78, 0x75, 0xA6,\r
+               0x4C, 0x12, 0xBB, 0xE7, 0x6B, 0xA9, 0xC7, 0x93, 0xF1, 0x7C, 0xB3, 0x15, 0xC6, 0x7D, 0xA0, 0x50,\r
+               0x72, 0x6C, 0xC5, 0x28, 0x0D, 0x76, 0x37, 0x8E, 0x28, 0xAD, 0x00, 0xD0, 0x15, 0x2D, 0x67, 0x70,\r
+               0xA7, 0x19, 0xBC, 0x71, 0x5F, 0xA5, 0xFB, 0x84, 0xC2, 0x17, 0x88, 0x39, 0xF4, 0xDD, 0x74, 0x9A,\r
+               0x55, 0x6F, 0x8F, 0x43, 0xAE, 0x6B, 0xDB, 0x99, 0x9E, 0x80, 0x31, 0x27, 0xEB, 0x2A, 0xE5, 0xC5,\r
+               0xA1, 0xBF, 0x1C, 0xBE, 0xE4, 0x81, 0x8F, 0xCF, 0x29, 0x21, 0xFA, 0x7A, 0xEA, 0x10, 0xAA, 0xD4,\r
+               0xC3, 0x8E, 0x44, 0x4C, 0x15, 0x41, 0x68, 0x1B, 0x8F, 0xF3, 0xC5, 0x70, 0x64, 0xDC, 0x37, 0xC1,\r
+               0x91, 0xDF, 0x35, 0x19, 0x6B, 0x2D, 0x33, 0x71, 0x28, 0x35, 0xFD, 0xA8, 0x65, 0x0D, 0x6F, 0xDA,\r
+               0x4D, 0xB8, 0xB0, 0xE0, 0x68, 0x9A, 0xA9, 0x6E, 0x31, 0x1C, 0xE8, 0x13, 0x89, 0x07, 0xBF, 0xCF,\r
+               0x3C, 0x98, 0xCE, 0xC0, 0xB7, 0x65, 0xC4, 0x3C, 0x51, 0xCA, 0x3D, 0x76, 0x21, 0x1B, 0x24, 0xF3,\r
+               0x15, 0xAD, 0xF5, 0xBA, 0x02, 0x04, 0x2C, 0x8B, 0x7F, 0xD2, 0x80, 0xDD, 0x17, 0x9D, 0x66, 0x25,\r
+               0xE9, 0x6A, 0x90, 0x4F, 0xA5, 0xB2, 0xCD, 0x60, 0x9F, 0xAF, 0x82, 0x17, 0x41, 0xB8, 0xD6, 0x9F,\r
+               0x36, 0xD0, 0x63, 0x89, 0x45, 0x7C, 0x8A, 0xE1, 0x4D, 0x75, 0x7A, 0xCF, 0xA7, 0xD3, 0x19, 0x14,\r
+               0xE2, 0x12, 0xAB, 0x7A, 0x9F, 0x6C, 0x87, 0xF5, 0x85, 0x8A, 0xB2, 0xFF, 0x3D, 0xD1, 0x1B, 0x7E,\r
+               0x2F, 0xBA, 0x68, 0xD3, 0x1A, 0x3E, 0xC6, 0x46, 0x7A, 0xBB, 0x19, 0x4A, 0x68, 0x76, 0x7A, 0x89,\r
+               0x66, 0xB7, 0x29, 0x57, 0xB7, 0x48, 0x51, 0x67, 0xF6, 0x50, 0xF8, 0xE4, 0x47, 0xBA, 0xED, 0x6E,\r
+               0x30, 0xC3, 0xA9, 0x26, 0xBF, 0x3D, 0x22, 0x6B, 0x72, 0xC6, 0xBD, 0x97, 0x14, 0xD6, 0xE2, 0xE0,\r
+               0x50, 0x0E, 0x49, 0x26, 0x3A, 0x4D, 0xB0, 0xCA, 0xE0, 0x4F, 0x6D, 0x6F, 0xF5, 0xB7, 0xCF, 0xE1,\r
+               0x24, 0x81, 0x02, 0xA5, 0x1D, 0xA0, 0x1A, 0x9C, 0x6D, 0x42, 0x08, 0x59, 0x7F, 0x38, 0xF2, 0xEC,\r
+               0x67, 0x61, 0x14, 0x72, 0x2D, 0x37, 0x52, 0x57, 0x04, 0x57, 0xC1, 0xCE, 0xC7, 0x95, 0xAA, 0xBD,\r
+               0xD0, 0xD4, 0xA1, 0x24, 0xCB, 0xA4, 0xD7, 0x8E, 0x70, 0x93, 0xCE, 0xEC, 0x61, 0x41, 0xF2, 0xD5,\r
+               0x99, 0x3D, 0x0F, 0xFD, 0xB6, 0x56, 0xCA, 0xBD, 0xC3, 0x95, 0x26, 0x2A, 0xCC, 0x71, 0xD4, 0xEE,\r
+               0x56, 0x9F, 0x91, 0xCA, 0x3C, 0x77, 0x0C, 0xBF, 0xE2, 0x17, 0xCB, 0x97, 0x97, 0x74, 0xF2, 0x79,\r
+               0x05, 0x42, 0xBE, 0x4A, 0xA0, 0x65, 0x47, 0xEF, 0x1B, 0xF0, 0xEE, 0x01, 0xF2, 0xD9, 0x28, 0xCF,\r
+               0x69, 0xD0, 0x29, 0xD8, 0x63, 0x7C, 0x02, 0xF7, 0xC6, 0x28, 0x9D, 0xC8, 0x82, 0x8F, 0x93, 0xB1,\r
+               0x08, 0xBC, 0x75, 0xC9, 0x92, 0xC2, 0xD2, 0x67, 0x78, 0x23, 0x0F, 0x0F, 0x9A, 0xEF, 0xF4, 0xF3,\r
+               0x87, 0x8C, 0x48, 0xB8, 0xFB, 0xCD, 0xB7, 0xBA, 0x5B, 0x8B, 0xA5, 0xD7, 0x8C, 0x9B, 0xE3, 0x4C,\r
+               0x2A, 0x54, 0xD1, 0x40, 0x36, 0x76, 0x7E, 0xD2, 0xB7, 0x4F, 0xED, 0x8A, 0x3C, 0xD8, 0x0D, 0xCB,\r
+               0xFE, 0xED, 0xA6, 0x57, 0x26, 0xE6, 0x71, 0xF7, 0x43, 0x42, 0x68, 0x75, 0x7A, 0x6F, 0xB6, 0xA4,\r
+               0xCE, 0x21, 0x91, 0x98, 0xD4, 0x70, 0x99, 0x41, 0x7F, 0xB8, 0x75, 0x27, 0x0A, 0x26, 0x37, 0x3D,\r
+               0xCB, 0x41, 0x39, 0x41, 0xA3, 0x69, 0x74, 0xF2, 0x04, 0x9B, 0xB3, 0xD0, 0xBB, 0xE9, 0x32, 0xDD,\r
+               0xB2, 0x70, 0x1B, 0xF5, 0xAD, 0xA7, 0x42, 0xE0, 0xFC, 0xBF, 0x8C, 0x73, 0x08, 0x2E, 0x7A, 0x0C,\r
+               0xB8, 0x1B, 0xC8, 0xCD, 0x29, 0x20, 0x57, 0x5F, 0x38, 0xD2, 0x16, 0x27, 0x50, 0xF2, 0x5F, 0x66,\r
+               0xA4, 0xE9, 0xCC, 0x77, 0xC8, 0xB3, 0x82, 0x49, 0x1D, 0x06, 0x7B, 0x38, 0x24, 0x83, 0xEC, 0xB4,\r
+               0x22, 0xE2, 0x4D, 0x8B, 0x56, 0x2C, 0x3F, 0xF0, 0x5C, 0x04, 0x93, 0x88, 0x99, 0xAA, 0xF2, 0x42,\r
+               0x07, 0xD1, 0x73, 0x3F, 0x15, 0x32, 0x3D, 0x92, 0x87, 0x8E, 0x72, 0x6D, 0x2E, 0x56, 0x0C, 0xD4,\r
+               0x6C, 0x5A, 0xF6, 0x27, 0x68, 0x19, 0xC5, 0xF6, 0x68, 0x1A, 0x35, 0xFC, 0x27, 0x89, 0x26, 0x24,\r
+               0x6E, 0xF5, 0x44, 0x91, 0xF4, 0x34, 0x0D, 0xEA, 0xEB, 0xC3, 0x38, 0x39, 0x48, 0x5D, 0x54, 0x82,\r
+               0xC9, 0x91, 0x86, 0x66, 0x13, 0x2F, 0xA6, 0x37, 0x10, 0x7B, 0x79, 0xA2, 0xFF, 0x90, 0xDD, 0xD6,\r
+               0x17, 0x0F, 0x14, 0xD7, 0xE4, 0x98, 0x00, 0x3C, 0xC3, 0x4D, 0x3A, 0x35, 0xE2, 0xA2, 0x15, 0xE6,\r
+               0xC7, 0x24, 0x8B, 0x19, 0x8A, 0xC7, 0xB6, 0x25, 0x8C, 0xEE, 0x21, 0x92, 0xDB, 0x0E, 0x16, 0x8E,\r
+               0xC2, 0x74, 0xB3, 0xFB, 0xDE, 0xE3, 0x0C, 0x4C, 0x25, 0x4E, 0x78, 0xD8, 0xBF, 0xF3, 0xE6, 0x74,\r
+               0x92, 0x8E, 0xF1, 0x13, 0x6C, 0x8E, 0xBF, 0xAB, 0xFC, 0xC3, 0x88, 0x71, 0xF4, 0xCD, 0x9B, 0x8B,\r
+               0x62, 0xE1, 0xB1, 0x97, 0xE9, 0x1F, 0x37, 0x86, 0x4C, 0x60, 0x44, 0xCD, 0xAB, 0x18, 0x15, 0xA7,\r
+               0x95, 0x2E, 0x80, 0x4D, 0x91, 0xB4, 0x8E, 0xD5, 0xAC, 0xE5, 0x64, 0x9E, 0x38, 0xEA, 0x13, 0xB4,\r
+               0xAF, 0x28, 0x67, 0x64, 0x26, 0xE0, 0x45, 0x86, 0xA0, 0xEC, 0x30, 0xEC, 0xFC, 0x1E, 0xDA, 0x3E,\r
+               0x63, 0x41, 0xF9, 0x9B, 0x03, 0x87, 0x7A, 0x86, 0xF1, 0x4E, 0xD7, 0x53, 0x78, 0x7C, 0x75, 0xD4,\r
+               0x97, 0x75, 0x02, 0x6D, 0xC8, 0xE1, 0xFB, 0xAA, 0x56, 0x7B, 0xD6, 0x21, 0x2A, 0x23, 0x63, 0xAE,\r
+               0x81, 0xE4, 0xE6, 0x40, 0xE2, 0xBF, 0x54, 0x22, 0x3A, 0x73, 0x34, 0xCD, 0x74, 0xE6, 0x11, 0x9B,\r
+               0xB5, 0xB6, 0x68, 0xF9, 0x3A, 0x39, 0xBE, 0x92, 0xBA, 0x27, 0xAE, 0xC0, 0x39, 0xDB, 0xA0, 0xD6,\r
+               0x39, 0x58, 0x9F, 0x1E, 0xC8, 0xBF, 0xF8, 0xFC, 0x98, 0x4F, 0x50, 0xE4, 0xAA, 0xBC, 0x3F, 0x8E,\r
+               0x1A, 0x35, 0x7F, 0xA2, 0x5B, 0xA1, 0xBD, 0x85, 0x47, 0x2C, 0xB0, 0xC2, 0x67, 0x0B, 0x49, 0x08,\r
+               0x9E, 0xB7, 0x6E, 0x57, 0x69, 0x02, 0x65, 0x12, 0x0D, 0xEF, 0x8A, 0x02, 0xD0, 0x51, 0x53, 0x81,\r
+               0xE0, 0xF1, 0x54, 0x0F, 0x67, 0x07, 0xDD, 0x95, 0xB4, 0x5A, 0xDA, 0x96, 0x01, 0x76, 0x32, 0x32,\r
+               0xE1, 0xEC, 0x13, 0x42, 0xB6, 0x26, 0x2B, 0xCE, 0xD7, 0xD6, 0xAB, 0x27, 0xC5, 0x03, 0x95, 0x0F,\r
+               0x4F, 0x31, 0x87, 0x96, 0x2A, 0x06, 0x49, 0x66, 0x82, 0x86, 0xF1, 0x57, 0x9B, 0x14, 0xF6, 0x63,\r
+               0x27, 0x48, 0xDE, 0xDC, 0x94, 0x48, 0x4A, 0x3C, 0x8F, 0xCD, 0xC6, 0x46, 0x21, 0x09, 0xD0, 0x24,\r
+               0x1B, 0x7B, 0x8C, 0x27, 0x00, 0x0B, 0x80, 0x67, 0x91, 0x52, 0x0A, 0xD0, 0x4D, 0x10, 0x25, 0x59,\r
+               0xC8, 0x5A, 0x00, 0x3B, 0x46, 0x47, 0xDE, 0x76, 0x3C, 0xA7, 0xD1, 0x8E, 0x1A, 0xFA, 0xD1, 0xEF,\r
+               0xC3, 0xBF, 0x31, 0xBB, 0x1D, 0xA8, 0x4C, 0x35, 0xA9, 0xC0, 0x52, 0xDC, 0x67, 0xE7, 0xF5, 0xEA,\r
+               0x4E, 0x0A, 0x67, 0x0C, 0xC8, 0x0E, 0x46, 0xCB, 0xBA, 0x62, 0x43, 0x8B, 0x5D, 0x9F, 0xC9, 0x60,\r
+               0x1C, 0x07, 0x4A, 0x1F, 0xAB, 0xF6, 0x28, 0x28, 0x8F, 0xA0, 0x04, 0xA1, 0xAB, 0xBA, 0x3F, 0x09,\r
+               0x96, 0xA0, 0x49, 0xB0, 0xAC, 0x2B, 0x5A, 0x7A, 0x3E, 0x4F, 0xF5, 0x1C, 0x39, 0xD4, 0xF2, 0xE5,\r
+               0x2F, 0xBE, 0x37, 0x25, 0xEA, 0x07, 0x70, 0x1B, 0x4A, 0x5D, 0x58, 0x16, 0xF8, 0xF7, 0x74, 0x89,\r
+               0x31, 0x09, 0xA7, 0x6D, 0xE4, 0xC3, 0x2D, 0x21, 0x80, 0xF7, 0x40, 0x2A, 0xCD, 0xD5, 0x01, 0x3A,\r
+               0xD3, 0xC7, 0xF5, 0x79, 0xAA, 0x7A, 0x15, 0xCE, 0xDC, 0xFE, 0x36, 0x06, 0xDE, 0x5C, 0x0A, 0xC3,\r
+               0xA3, 0xE6, 0xEF, 0x6A, 0xEB, 0x3D, 0x13, 0xE9, 0x7C, 0x61, 0xD0, 0x85, 0xC6, 0xA0, 0x05, 0x05,\r
+               0x32, 0x4B, 0x56, 0x8E, 0xDF, 0xD4, 0x01, 0xA9, 0x11, 0x78, 0x48, 0xFC, 0x50, 0x77, 0x10, 0x4B,\r
+               0x6A, 0x9D, 0x11, 0x68, 0xC5, 0xC7, 0xFC, 0x37, 0x0E, 0x2A, 0x9A, 0x86, 0x98, 0xB9, 0x8E, 0xB1,\r
+               0xE5, 0xAA, 0x40, 0xAD, 0x6E, 0xE9, 0x7F, 0x47, 0x52, 0xE3, 0x33, 0xAF, 0xA0, 0xE4, 0x38, 0x67,\r
+               0x41, 0xD6, 0xB0, 0x23, 0x96, 0x37, 0x7D, 0xEB, 0x39, 0xE0, 0x06, 0x22, 0xCC, 0x8B, 0xB1, 0x6E,\r
+               0xE3, 0x6B, 0xFF, 0xA6, 0xF2, 0xCE, 0xA8, 0xBF, 0x24, 0x87, 0x8D, 0xE5, 0x05, 0xBB, 0xBE, 0xF5,\r
+               0x5F, 0x17, 0xE7, 0xF2, 0x8C, 0xBF, 0xFF, 0x31, 0x04, 0x26, 0x4D, 0xCB, 0xB0, 0xF4, 0x77, 0x11,\r
+               0x59, 0x0E, 0xD2, 0x8E, 0xF9, 0x70, 0xE8, 0x4B, 0x57, 0x6E, 0x12, 0x96, 0x4B, 0x98, 0xD4, 0xE0,\r
+               0xC1, 0x56, 0xC6, 0xEF, 0x41, 0xF2, 0x29, 0xF1, 0xBC, 0x0E, 0xEB, 0x57, 0x28, 0x11, 0x61, 0x19,\r
+               0x60, 0x69, 0x61, 0x84, 0x92, 0x26, 0x94, 0x36, 0xD5, 0xED, 0x9C, 0xA5, 0x7C, 0xDC, 0x55, 0x86,\r
+               0x73, 0x7A, 0x39, 0xBC, 0x67, 0x4B, 0xF0, 0xA5, 0xB2, 0xA3, 0x86, 0xD0, 0xC1, 0xC0, 0xFB, 0x5B,\r
+               0x3C, 0xBA, 0x76, 0xB1, 0x07, 0x09, 0xB4, 0x4D, 0x85, 0xDA, 0x20, 0x2F, 0xC2, 0x3E, 0xBC, 0xF7,\r
+               0xA1, 0x6E, 0x98, 0xE8, 0x17, 0x96, 0x24, 0x6C, 0x09, 0xDB, 0xB1, 0xCD, 0x2C, 0xCA, 0x5D, 0x42,\r
+               0x25, 0xEB, 0xDB, 0xEC, 0x26, 0x90, 0xA7, 0xBD, 0x1A, 0xE9, 0xAD, 0xA9, 0x10, 0x84, 0xC4, 0xD1,\r
+               0x6D, 0x4A, 0x49, 0xC1, 0x4B, 0x8A, 0x1F, 0xB6, 0xED, 0x97, 0x19, 0x56, 0xE4, 0xCF, 0xA3, 0xEA,\r
+               0xA9, 0x2C, 0x35, 0xFC, 0x63, 0xFF, 0x5E, 0xE2, 0x0E, 0x3A, 0x61, 0x16, 0x47, 0xFD, 0x07, 0x16,\r
+               0x85, 0x52, 0x3B, 0x62, 0xC3, 0xB6, 0xCC, 0x8A, 0x52, 0x46, 0xDF, 0xDA, 0x39, 0x6B, 0xF5, 0xA8,\r
+               0x67, 0x07, 0xCD, 0xAF, 0x03, 0x53, 0xAC, 0x35, 0x62, 0xDD, 0x5B, 0xE4, 0x2A, 0xEC, 0xB1, 0xEC,\r
+               0x3B, 0xA5, 0xDF, 0xDF, 0x56, 0x9B, 0x66, 0xDA, 0x7D, 0x89, 0xF6, 0xF4, 0x23, 0xE2, 0xDB, 0xE5,\r
+               0x1D, 0x8E, 0xC2, 0x3C, 0x06, 0x9B, 0x91, 0x1D, 0xEB, 0x2D, 0x2C, 0xE2, 0x79, 0x53, 0xFD, 0xAF,\r
+               0xF9, 0x7B, 0x29, 0x67, 0xA1, 0xF8, 0x4B, 0x6D, 0x19, 0x00, 0x55, 0x21, 0x03, 0xC4, 0xDE, 0xFA,\r
+               0xA8, 0xAC, 0xA7, 0x84, 0xC2, 0x63, 0x24, 0x6C, 0x05, 0x6B, 0x6A, 0x3C, 0xD7, 0x15, 0x6E, 0xA0,\r
+               0x72, 0x82, 0x9C, 0xBA, 0x87, 0x7A, 0xC0, 0xF3, 0x81, 0x87, 0xFD, 0x0D, 0x72, 0x6C, 0x3B, 0xFE,\r
+               0x95, 0x2F, 0xB0, 0xE8, 0xC5, 0x89, 0x5E, 0x88, 0x3B, 0xAA, 0xD5, 0xC0, 0x19, 0x62, 0x70, 0x90,\r
+               0x5F, 0xB7, 0xFD, 0x2F, 0x1F, 0x04, 0x02, 0x0B, 0x5F, 0x27, 0xDB, 0x41, 0x85, 0xCF, 0x70, 0x97,\r
+               0x67, 0x4C, 0xBB, 0xD0, 0xC9, 0xF2, 0x90, 0xD4, 0xA2, 0xC8, 0xC4, 0xBF, 0x14, 0x58, 0x7D, 0x4B,\r
+               0xF5, 0x4A, 0x16, 0x3A, 0xB6, 0x7F, 0xBC, 0x24, 0xDD, 0xAC, 0x52, 0x1F, 0x39, 0xE6, 0xF3, 0xAC,\r
+               0x9E, 0x02, 0xAC, 0x6C, 0x57, 0x96, 0x1C, 0x47, 0x23, 0x9F, 0xBD, 0x32, 0x5B, 0x94, 0x3C, 0xEA,\r
+               0x26, 0xF7, 0xCA, 0x18, 0x14, 0x1B, 0x54, 0xD5, 0xC7, 0xA2, 0xF6, 0x00, 0x62, 0x20, 0xB5, 0x42,\r
+               0x8D, 0xFE, 0x48, 0xC3, 0x14, 0xC9, 0x05, 0xF0, 0x4A, 0x6E, 0x07, 0x83, 0x52, 0x19, 0x94, 0x11,\r
+               0x1D, 0xB1, 0x3F, 0x03, 0x51, 0x03, 0x98, 0xB0, 0x18, 0x25, 0xF3, 0x01, 0x64, 0x88, 0x9B, 0xA8,\r
+               0xAD, 0x80, 0x4A, 0x2A, 0x40, 0x9E, 0x59, 0xFE, 0x43, 0xC1, 0xE5, 0xBD, 0x07, 0xA5, 0x3C, 0x86,\r
+               0xC9, 0xF2, 0x05, 0x56, 0x7E, 0x48, 0x4A, 0x96, 0x85, 0x94, 0xF9, 0x87, 0xB6, 0xBF, 0x13, 0x80,\r
+               0xD1, 0x6D, 0x21, 0xE2, 0x6C, 0x53, 0x60, 0xA8, 0x57, 0xBB, 0xA1, 0xF6, 0xEA, 0x2B, 0xCF, 0x08,\r
+               0x10, 0x1A, 0xE9, 0xDD, 0x7C, 0x15, 0xF8, 0xF7, 0xA6, 0xF8, 0x28, 0xBA, 0x89, 0xD2, 0x78, 0xA1,\r
+               0x91, 0x7A, 0x24, 0x79, 0x3B, 0xFE, 0xDA, 0x05, 0x73, 0x5E, 0x82, 0x97, 0x7D, 0xB4, 0xAD, 0xE3,\r
+               0xC6, 0xAB, 0x9A, 0x12, 0x07, 0x45, 0x66, 0xEE, 0x77, 0xF6, 0xCD, 0xE5, 0x4A, 0x74, 0x73, 0xAF,\r
+               0x46, 0x73, 0x4B, 0x62, 0xFF, 0xDD, 0xDC, 0x26, 0xDF, 0x21, 0xDD, 0x17, 0x07, 0x0A, 0xDD, 0x0D,\r
+               0x44, 0xEB, 0x3E, 0xFB, 0xD9, 0x67, 0x78, 0x7D, 0x06, 0xCE, 0xB2, 0xDC, 0xD5, 0x3F, 0xDF, 0x98,\r
+               0x38, 0x79, 0x93, 0xA3, 0x62, 0x89, 0x0B, 0x13, 0x33, 0x27, 0x4E, 0xE7, 0x95, 0x71, 0x9B, 0x60,\r
+               0xC5, 0xE7, 0xBD, 0x42, 0x95, 0x7E, 0x53, 0x10, 0x57, 0x58, 0x80, 0x19, 0x8F, 0xA3, 0x81, 0x0A,\r
+               0x2C, 0x5A, 0x9E, 0xE5, 0xAB, 0xE8, 0xEA, 0xE3, 0xD1, 0x11, 0x65, 0x76, 0xA9, 0x0F, 0x55, 0xDB,\r
+               0x2A, 0xC5, 0x85, 0xBE, 0x23, 0x95, 0x9A, 0x6D, 0x0B, 0xCE, 0x99, 0x3C, 0x87, 0xE9, 0xDF, 0xF7,\r
+               0x49, 0x22, 0xDD, 0x2F, 0x30, 0xEA, 0x16, 0x20, 0xF5, 0x02, 0xCE, 0x23, 0x8B, 0x61, 0x67, 0x97,\r
+               0x14, 0x4A, 0xF7, 0xB9, 0x4D, 0x99, 0x08, 0x8A, 0x10, 0x4C, 0xEC, 0xAD, 0x48, 0x79, 0xBE, 0xEC,\r
+               0x11, 0x5D, 0xDC, 0x6C, 0x88, 0xA9, 0x25, 0x07, 0x37, 0x63, 0x83, 0xB7, 0x13, 0x3D, 0xDF, 0xE8,\r
+               0x63, 0xEF, 0xFD, 0x55, 0x95, 0xA3, 0xAF, 0xAE, 0x38, 0x27, 0xED, 0x8B, 0xF2, 0xCC, 0x4E, 0x79,\r
+               0x75, 0x40, 0xEB, 0x15, 0x62, 0x63, 0xFA, 0xCD, 0x8B, 0x14, 0xDE, 0x83, 0xD3, 0x6B, 0x09, 0xD5,\r
+               0x7F, 0xF4, 0xCF, 0x81, 0x55, 0xF4, 0x77, 0x95, 0x77, 0xB7, 0xA6, 0x00, 0xC9, 0x7A, 0x99, 0xE1,\r
+               0xB9, 0xB2, 0x90, 0xE4, 0x40, 0x6F, 0x22, 0xD6, 0x10, 0x71, 0x29, 0xA0, 0xA8, 0x33, 0xBC, 0xCF,\r
+               0xE7, 0x12, 0x57, 0x7C, 0xDF, 0xA6, 0xF1, 0x5D, 0x6F, 0x2C, 0xC3, 0x94, 0x22, 0xE8, 0x13, 0x18,\r
+               0x70, 0xEF, 0xEE, 0xCE, 0x95, 0x15, 0x76, 0x23, 0x4D, 0x04, 0x2D, 0x01, 0xD4, 0xC8, 0xF3, 0x1E,\r
+               0x73, 0xB8, 0xF5, 0x14, 0xE5, 0xFC, 0x1E, 0x87, 0xFA, 0x28, 0x30, 0x76, 0x98, 0xFF, 0xD2, 0x7B,\r
+               0xE4, 0x2D, 0x93, 0x1A, 0xEE, 0x17, 0xD9, 0xAD, 0x9D, 0x9A, 0x4F, 0xFD, 0x33, 0xE3, 0x26, 0x4E,\r
+               0x12, 0x6C, 0x53, 0x67, 0x39, 0x39, 0xD8, 0x62, 0x5D, 0x26, 0x3A, 0x56, 0xA3, 0x92, 0xC2, 0xEB,\r
+               0x84, 0x80, 0xE9, 0x90, 0xD6, 0xE4, 0x23, 0x52, 0x85, 0x73, 0x32, 0xEB, 0x7E, 0x89, 0x8B, 0x11,\r
+               0x5C, 0xF7, 0xB6, 0x5B, 0xEC, 0x70, 0xA7, 0xF1, 0x52, 0x3D, 0x68, 0xC3, 0xA5, 0xB3, 0xA8, 0xB3,\r
+               0x87, 0x09, 0xFE, 0x54, 0x12, 0xF7, 0x8C, 0xC1, 0x87, 0x94, 0xE2, 0x3C, 0xB1, 0x97, 0x0F, 0x44,\r
+               0xC1, 0x98, 0x99, 0x59, 0x9A, 0x59, 0x00, 0xE3, 0x26, 0x86, 0x85, 0xC0, 0x6D, 0x69, 0x10, 0xA3,\r
+               0xC2, 0x3A, 0x47, 0xFE, 0x91, 0xEE, 0xAE, 0xB9, 0x26, 0xE0, 0x1A, 0xD5, 0x6E, 0xEF, 0xED, 0x90,\r
+               0x6D, 0x87, 0x9B, 0xF2, 0x5F, 0x8F, 0xB8, 0x46, 0xD3, 0x10, 0xDF, 0xD6, 0x32, 0x0D, 0x7F, 0x85,\r
+               0x7C, 0xDE, 0x87, 0x3D, 0xF2, 0x3B, 0x96, 0xF5, 0xC9, 0xA5, 0x27, 0x90, 0xF4, 0x09, 0x79, 0xA8,\r
+               0x43, 0x11, 0x20, 0x4D, 0x8D, 0x98, 0x5A, 0x9B, 0x72, 0x44, 0x45, 0xCE, 0x73, 0xEE, 0x87, 0xF5,\r
+               0x0E, 0xF0, 0x95, 0x76, 0xC3, 0x78, 0x5B, 0x4D, 0x34, 0x53, 0x21, 0xF5, 0x73, 0x7D, 0x43, 0xAF,\r
+               0xB7, 0x68, 0xA9, 0xDF, 0x95, 0x4B, 0xAC, 0xB8, 0xB6, 0xEB, 0xD3, 0x4D, 0x75, 0x5D, 0x70, 0xBE,\r
+               0x35, 0x39, 0xE6, 0x3B, 0x97, 0xC6, 0xFB, 0x49, 0xD2, 0xFF, 0xCA, 0xAF, 0x7E, 0x41, 0x7E, 0x59,\r
+               0x86, 0x90, 0xC6, 0x89, 0x1A, 0x75, 0xAB, 0x22, 0x1E, 0xC3, 0xF4, 0xCF, 0x4D, 0xB1, 0xE9, 0x67,\r
+               0x39, 0x81, 0x01, 0x9F, 0x17, 0x85, 0x2E, 0xEC, 0xCC, 0xD8, 0x9B, 0x37, 0x47, 0x03, 0x3B, 0xA2,\r
+               0x8F, 0x22, 0x86, 0x39, 0xCD, 0xFF, 0xFE, 0x8C, 0x72, 0x15, 0x37, 0xEF, 0x69, 0x18, 0x51, 0x82,\r
+               0x34, 0x92, 0x08, 0xEB, 0x60, 0x55, 0x57, 0xE2, 0xA2, 0xE4, 0x64, 0xA1, 0x0C, 0x01, 0xE0, 0x25,\r
+               0x9F, 0x81, 0x4C, 0xEE, 0x0E, 0x80, 0xF0, 0x24, 0xC0, 0xEF, 0xA9, 0x50, 0x6D, 0x40, 0xFA, 0x85,\r
+               0x04, 0xD6, 0x83, 0xF0, 0xCF, 0x57, 0x3E, 0x4C, 0xC6, 0xD0, 0x6F, 0x7F, 0x03, 0x4B, 0xE4, 0xD5,\r
+               0xFC, 0x51, 0x44, 0x37, 0x9B, 0x05, 0x55, 0xF0, 0x58, 0x8C, 0xB0, 0x38, 0x86, 0x0C, 0x01, 0x02,\r
+               0xBB, 0x63, 0xE0, 0x4D, 0x66, 0xF1, 0x9D, 0x8D, 0x7C, 0xE8, 0xBA, 0xE9, 0x1C, 0x42, 0xAE, 0x84,\r
+               0x06, 0x73, 0xB0, 0x07, 0xEB, 0x0D, 0x1B, 0x97, 0x12, 0x36, 0x93, 0x67, 0x92, 0xAA, 0x41, 0xC8,\r
+               0x7B, 0x36, 0x7E, 0xF6, 0x23, 0x15, 0x8B, 0xE1, 0xFD, 0x3A, 0x17, 0xFF, 0xF3, 0xB5, 0x63, 0x19,\r
+               0x6E, 0xD9, 0x08, 0xE0, 0x54, 0x89, 0x81, 0xCA, 0x2A, 0x83, 0xCB, 0x21, 0x7D, 0x2F, 0x20, 0x84,\r
+               0xA0, 0x96, 0x88, 0xA5, 0x37, 0x9B, 0xF7, 0x54, 0x5C, 0x5B, 0x1F, 0x19, 0xDB, 0x4C, 0x9A, 0x15,\r
+               0x4D, 0xF7, 0x12, 0xF1, 0x31, 0x8F, 0xF2, 0xDD, 0x2D, 0x35, 0xD0, 0x4F, 0x24, 0x8A, 0x9A, 0x32,\r
+               0x47, 0x77, 0x8A, 0xD3, 0xDD, 0x6B, 0x13, 0x56, 0x42, 0xB1, 0xE1, 0xB3, 0xC3, 0xD4, 0xCA, 0x1F,\r
+               0x48, 0x90, 0x1D, 0xDE, 0x81, 0x0D, 0xC7, 0xBD, 0x72, 0x98, 0x56, 0x30, 0x1A, 0x51, 0x09, 0x65,\r
+               0xEB, 0x05, 0x70, 0x6C, 0xFA, 0x22, 0x31, 0x80, 0x4D, 0x6C, 0xD6, 0x5B, 0x0D, 0x36, 0x3F, 0x7D,\r
+               0x8E, 0x63, 0x3A, 0xDE, 0xBE, 0x21, 0xBE, 0x80, 0xE1, 0x70, 0xA2, 0x80, 0xF8, 0x9C, 0x16, 0xA6,\r
+               0x7E, 0x0D, 0xEE, 0x76, 0x47, 0xAB, 0x3C, 0xA5, 0xA7, 0x21, 0xE0, 0xE6, 0xEE, 0xD7, 0xD7, 0x65,\r
+               0x3B, 0xAA, 0x7D, 0x13, 0xC2, 0xAF, 0x50, 0x80, 0x3E, 0xFB, 0xB6, 0x6A, 0x59, 0xA4, 0x95, 0x90,\r
+               0x29, 0xEB, 0x17, 0x93, 0x5C, 0xC4, 0xBF, 0x17, 0xE4, 0x49, 0x6C, 0x29, 0x3D, 0x4F, 0xCB, 0xFC,\r
+               0xD4, 0xF5, 0x5D, 0x6D, 0xC0, 0xFA, 0xE7, 0x7F, 0xC6, 0xAF, 0xA2, 0x0B, 0xE8, 0x9D, 0xA5, 0xC0,\r
+               0xA8, 0xE0, 0x26, 0xA0, 0xC6, 0xBC, 0x94, 0xBC, 0x55, 0x75, 0x5E, 0xFD, 0x19, 0xD3, 0xFD, 0xBA,\r
+               0xAA, 0x75, 0x5C, 0x03, 0x57, 0x2F, 0x30, 0x97, 0x36, 0x73, 0x31, 0x88, 0xED, 0xE6, 0x03, 0x5D,\r
+               0xF8, 0x76, 0x6A, 0x9F, 0x7B, 0x55, 0xE4, 0xF8, 0xBF, 0x68, 0x00, 0x75, 0x4E, 0x95, 0xDB, 0xE1,\r
+               0xA5, 0x7D, 0x9D, 0x2C, 0x0C, 0x58, 0xFA, 0x26, 0x15, 0x03, 0x22, 0xC5, 0xB9, 0x8D, 0xBE, 0x96,\r
+               0xC6, 0xCE, 0x11, 0x54, 0x20, 0xFB, 0x76, 0x63, 0xAA, 0x1B, 0x75, 0xA8, 0x60, 0x05, 0x3B, 0x3C,\r
+               0xC0, 0xA5, 0x9F, 0x9B, 0x19, 0xCF, 0x06, 0x47, 0xC1, 0x0D, 0x89, 0x5F, 0x05, 0xE3, 0x17, 0x20,\r
+               0x93, 0x87, 0x52, 0xF4, 0xC8, 0xF4, 0x9B, 0x3D, 0x94, 0x7E, 0x4A, 0x31, 0xA1, 0x96, 0x33, 0x20,\r
+               0x99, 0xCE, 0xFA, 0xB8, 0x03, 0xAD, 0x16, 0xBD, 0x26, 0x5E, 0x32, 0xA0, 0x24, 0x87, 0x27, 0xFC,\r
+               0x8F, 0x7C, 0x5A, 0x03, 0x5B, 0x9B, 0x43, 0xD4, 0xC7, 0xBE, 0x01, 0xBC, 0xF1, 0x20, 0x0B, 0x61,\r
+               0xFD, 0x59, 0x5F, 0x2C, 0x2F, 0x9D, 0xC9, 0xA4, 0x26, 0xF2, 0x6F, 0x6F, 0x68, 0xD1, 0xC7, 0xD9,\r
+               0x9F, 0xA1, 0x2A, 0x93, 0xF8, 0x40, 0xF2, 0x2D, 0x9E, 0x4D, 0xDC, 0x2F, 0xCE, 0x13, 0x30, 0x10,\r
+               0x9C, 0xB8, 0x2A, 0x91, 0x0C, 0xD8, 0x9A, 0x3B, 0x68, 0x21, 0xC1, 0xC2, 0x14, 0x24, 0x24, 0xDC,\r
+               0x0B, 0x50, 0xE3, 0x43, 0xDE, 0xED, 0x1D, 0x83, 0x24, 0xCC, 0x2F, 0x90, 0x2B, 0x04, 0xAE, 0xA8,\r
+               0x55, 0xC3, 0x2A, 0x56, 0x46, 0xE2, 0xCE, 0xA2, 0xFB, 0x34, 0xC5, 0xA6, 0xF7, 0xDF, 0xB8, 0xDF,\r
+               0xB3, 0x0B, 0x17, 0x88, 0xF4, 0x24, 0xEE, 0x3D, 0x42, 0x09, 0x37, 0x9A, 0xDD, 0x23, 0x06, 0x79,\r
+               0x79, 0x8E, 0xF0, 0x3F, 0x20, 0xC5, 0xB2, 0x8F, 0xFD, 0x44, 0x39, 0xE2, 0x0B, 0x8E, 0x27, 0x4F,\r
+               0x9E, 0x1F, 0xE1, 0x9D, 0x3A, 0x3F, 0x2C, 0xDF, 0x2C, 0x88, 0x11, 0xA6, 0x62, 0x80, 0xE1, 0x25,\r
+               0x44, 0xB0, 0xC9, 0x12, 0x96, 0x63, 0xC8, 0x8E, 0x7D, 0xBF, 0x86, 0x93, 0x54, 0xF9, 0x1E, 0x92,\r
+               0xCA, 0x13, 0x99, 0x26, 0xE6, 0xA9, 0xB8, 0x0E, 0xD8, 0xEE, 0x1A, 0x8E, 0xFA, 0xCC, 0x8B, 0xF3,\r
+               0x72, 0xF0, 0xFB, 0xEB, 0xC6, 0x52, 0xF0, 0xDF, 0xEB, 0x77, 0x51, 0x05, 0xFF, 0x78, 0xE2, 0x18,\r
+               0x19, 0x99, 0x8A, 0x34, 0x7F, 0xC9, 0x50, 0xEF, 0x43, 0xC7, 0xBE, 0x67, 0x83, 0x0A, 0xAA, 0x78,\r
+               0x8B, 0x4B, 0xF8, 0x62, 0xDB, 0x8D, 0x7C, 0x59, 0xCF, 0x55, 0x28, 0xDB, 0xFF, 0xB4, 0x06, 0x4E,\r
+               0x25, 0xAE, 0x32, 0x63, 0x87, 0x2A, 0xA6, 0x71, 0x74, 0xAD, 0x15, 0xAC, 0x43, 0x53, 0xFA, 0x36,\r
+               0x41, 0xAC, 0x99, 0x4B, 0x46, 0x9B, 0xB5, 0xF2, 0x69, 0xE0, 0x09, 0xE3, 0xE2, 0x49, 0x68, 0xF2,\r
+               0xF1, 0xA0, 0xC4, 0xE1, 0x44, 0x52, 0x74, 0xEB, 0x5F, 0xD6, 0x1F, 0xB4, 0xF9, 0x64, 0x41, 0x7C,\r
+               0x61, 0xD7, 0xC5, 0x03, 0xC0, 0x73, 0xE9, 0x45, 0xD7, 0x60, 0xEB, 0xCD, 0x48, 0xF5, 0x08, 0x2A,\r
+               0x2A, 0xE5, 0xD5, 0xB7, 0x46, 0x29, 0x8A, 0x13, 0xB1, 0x6F, 0x21, 0xEA, 0x14, 0x98, 0xA5, 0x8A,\r
+               0x7D, 0x17, 0x78, 0x1B, 0xAC, 0xBE, 0x36, 0xC2, 0x4A, 0xD7, 0x6E, 0x6F, 0x14, 0x58, 0xA9, 0xBB,\r
+               0xFC, 0xE0, 0xE5, 0x65, 0xAD, 0xEE, 0x14, 0x04, 0x35, 0xEB, 0xC4, 0x77, 0xE6, 0x3E, 0xE8, 0xA1,\r
+               0x3D, 0x93, 0xA0, 0x2F, 0x9D, 0x4A, 0x8C, 0x48, 0xB3, 0x33, 0x4D, 0xB5, 0xC9, 0xC7, 0xAC, 0x5F,\r
+               0x10, 0x11, 0xCF, 0x3A, 0x16, 0xDC, 0xB9, 0x29, 0xB2, 0x12, 0x5C, 0x4A, 0x8D, 0xE0, 0xA4, 0x04,\r
+               0xE8, 0x33, 0x11, 0x1C, 0x2F, 0xCE, 0xD2, 0xAF, 0x87, 0x57, 0x83, 0xA5, 0xBE, 0xA7, 0x3D, 0x76,\r
+               0x73, 0x56, 0xAB, 0xD8, 0xE4, 0xFC, 0x1C, 0xD7, 0x55, 0x57, 0x45, 0x09, 0xF3, 0xAC, 0xB9, 0x13,\r
+               0xD8, 0x89, 0x93, 0xB0, 0x60, 0x30, 0xBB, 0xBE, 0x8F, 0x12, 0x88, 0xDA, 0x33, 0xED, 0xCC, 0xC3,\r
+               0x82, 0x38, 0xD9, 0x14, 0xB1, 0x1F, 0x6D, 0x95, 0x39, 0xAD, 0x27, 0x33, 0x40, 0xC3, 0x6E, 0x13,\r
+               0x97, 0x81, 0x7D, 0x2B, 0x0D, 0xA6, 0x67, 0x86, 0xA2, 0xC6, 0xFB, 0x97, 0xF3, 0x59, 0xCB, 0x35,\r
+               0xEA, 0x8C, 0x59, 0x56, 0xC6, 0x99, 0xF7, 0x06, 0xC2, 0x55, 0x7F, 0x0D, 0x48, 0x46, 0x6D, 0x9C,\r
+               0x57, 0x6A, 0x4E, 0xD5, 0x01, 0x37, 0x71, 0xDA, 0x92, 0xE4, 0x56, 0xE5, 0x5B, 0xAE, 0x52, 0x8B,\r
+               0xA4, 0x0C, 0x5D, 0x7F, 0x34, 0xCA, 0x2B, 0x14, 0x48, 0x4F, 0xBA, 0x9F, 0x39, 0xBD, 0x38, 0x10,\r
+               0xAB, 0x83, 0xD8, 0x03, 0xFD, 0x57, 0xFF, 0x6A, 0x65, 0x86, 0x0D, 0xBE, 0xD8, 0x38, 0x24, 0x12,\r
+               0xA1, 0x10, 0xF2, 0xE0, 0xEB, 0x5A, 0x1E, 0x74, 0x6D, 0x69, 0x3C, 0xD5, 0xD1, 0x66, 0xB3, 0x63,\r
+               0x4C, 0xA4, 0x80, 0x36, 0x84, 0x34, 0x1B, 0x07, 0xBC, 0xD2, 0xF3, 0x06, 0x4D, 0xA0, 0xB5, 0x5F,\r
+               0xD7, 0x71, 0x1C, 0xDD, 0x10, 0x78, 0xBC, 0x7F, 0xAE, 0x0A, 0x5A, 0x29, 0xB7, 0x48, 0xDF, 0x9A,\r
+               0x92, 0xE2, 0x65, 0x1D, 0xC8, 0xAD, 0xD0, 0x07, 0x24, 0xD4, 0x0C, 0x08, 0xDC, 0x3B, 0x86, 0x4C,\r
+               0x62, 0xDC, 0x6E, 0xDA, 0x27, 0xB9, 0x52, 0x9A, 0x92, 0x3F, 0x4E, 0xF1, 0xCA, 0x70, 0xBD, 0x20,\r
+               0x07, 0x6E, 0xF3, 0xDE, 0xA9, 0x91, 0xDD, 0x61, 0xBB, 0xBB, 0x3A, 0x61, 0x9B, 0xDA, 0x07, 0xDA,\r
+               0xB0, 0x06, 0x99, 0x79, 0xDA, 0x38, 0x4B, 0x23, 0xF2, 0x7E, 0x84, 0x5D, 0x90, 0x5F, 0x02, 0x03,\r
+               0x68, 0x31, 0x73, 0x0B, 0x8A, 0xAC, 0xCF, 0xCE, 0xD4, 0x07, 0xDE, 0xFF, 0x80, 0x65, 0xAC, 0x9E,\r
+               0xFE, 0xD9, 0x17, 0xD3, 0xAB, 0x2A, 0x34, 0xC1, 0x2D, 0x62, 0xD6, 0xF7, 0xFD, 0x7E, 0xA3, 0x8B,\r
+               0x08, 0xA7, 0x45, 0x60, 0x52, 0x36, 0x35, 0x87, 0x1B, 0x15, 0xA3, 0xDC, 0xA8, 0x0F, 0x87, 0x6B,\r
+               0x81, 0x59, 0xFF, 0xD6, 0x87, 0xAE, 0x54, 0xC0, 0xD0, 0x55, 0x33, 0x1A, 0x7A, 0xE1, 0xBE, 0xEE,\r
+               0x2E, 0x0B, 0xFC, 0xED, 0x24, 0xF8, 0x42, 0x83, 0x70, 0x60, 0xF6, 0xBA, 0x47, 0x03, 0x8D, 0x2B,\r
+               0x2D, 0x6A, 0xD0, 0xC4, 0xD6, 0x71, 0xEC, 0x39, 0x17, 0x10, 0x69, 0xDD, 0x78, 0x85, 0xFF, 0xCC,\r
+               0x6B, 0xC7, 0x5E, 0xC2, 0xF7, 0x2B, 0x60, 0x93, 0xE6, 0x8D, 0x0E, 0x58, 0xF1, 0x7B, 0x31, 0xA7,\r
+               0x5B, 0xC4, 0xA3, 0x05, 0xBB, 0xB9, 0x40, 0xE7, 0x86, 0x56, 0x3F, 0x47, 0xB8, 0xB1, 0xAF, 0xD4,\r
+               0xE2, 0xC1, 0x22, 0xBF, 0x17, 0x55, 0xB7, 0xB9, 0x7B, 0x8F, 0xCD, 0x50, 0xF2, 0x91, 0x1D, 0x0C,\r
+               0xAF, 0x34, 0xA8, 0x87, 0xC4, 0x77, 0xB6, 0x1D, 0x82, 0xA5, 0xA9, 0x9E, 0x17, 0x02, 0x7B, 0xB7,\r
+               0x90, 0x01, 0x08, 0xB9, 0xA2, 0xD9, 0x7A, 0x87, 0x6F, 0x62, 0xCB, 0x26, 0xF6, 0xE5, 0x61, 0x90,\r
+               0x63, 0x76, 0xDA, 0x87, 0xE5, 0xD9, 0x12, 0xC6, 0x3B, 0xFC, 0xDB, 0xBE, 0x86, 0xF4, 0x00, 0x89,\r
+               0xD5, 0xD4, 0x2F, 0x36, 0x21, 0x66, 0xC2, 0x5E, 0x39, 0x9C, 0x77, 0xE4, 0x27, 0xEF, 0xF4, 0x8A,\r
+               0x6A, 0xBC, 0x8A, 0xD6, 0xC4, 0x01, 0x47, 0x0F, 0x5B, 0x19, 0x18, 0xF6, 0x8D, 0x5D, 0x25, 0xB9,\r
+               0xD9, 0x72, 0x7D, 0x67, 0x8F, 0xAA, 0x17, 0x3A, 0xF5, 0x08, 0x26, 0xB3, 0x46, 0xAD, 0x38, 0x35,\r
+               0x54, 0x8F, 0x50, 0xBD, 0xC5, 0xC3, 0xF6, 0x32, 0xDD, 0x74, 0x6A, 0xD7, 0xD8, 0x9A, 0x92, 0x9B,\r
+               0xCE, 0x17, 0x02, 0x9F, 0xAB, 0xCF, 0x2A, 0x99, 0x7E, 0x1A, 0x60, 0xFB, 0x1A, 0x8F, 0x25, 0x58,\r
+               0xA3, 0x9A, 0x1D, 0x8B, 0xAB, 0x90, 0x5B, 0x57, 0xF3, 0x68, 0x7C, 0xBC, 0x19, 0x5A, 0x94, 0xE2,\r
+               0x4B, 0x5C, 0xEE, 0xE5, 0xEF, 0x88, 0x72, 0x22, 0x44, 0x16, 0xFA, 0x78, 0x35, 0xE7, 0x44, 0xED,\r
+               0xAA, 0xBC, 0x4F, 0xE5, 0x3F, 0x26, 0x8E, 0x9E, 0xBD, 0x91, 0xDF, 0x14, 0x1E, 0xE5, 0x03, 0x6E,\r
+               0xED, 0x2D, 0x39, 0xB5, 0x9E, 0xEA, 0x51, 0x08, 0x7E, 0x87, 0xB4, 0xA1, 0xCD, 0x1D, 0x9A, 0x37,\r
+               0xE0, 0x89, 0x13, 0x3B, 0xC0, 0x01, 0x85, 0x6B, 0xAD, 0xED, 0xB6, 0x38, 0xF5, 0xD5, 0x13, 0x33,\r
+               0xA1, 0x79, 0x88, 0xB5, 0xB8, 0x46, 0x48, 0x7A, 0xDF, 0xAB, 0x11, 0x1B, 0x8E, 0x7E, 0x95, 0x9A,\r
+               0x36, 0x80, 0x7F, 0x22, 0x24, 0x47, 0x01, 0x5C, 0x20, 0xCD, 0xDD, 0x24, 0xD0, 0x9F, 0x3E, 0xE3,\r
+               0x45, 0x04, 0x53, 0xAE, 0xA2, 0x96, 0x57, 0x9B, 0x32, 0xAD, 0xB1, 0x94, 0xAA, 0xDA, 0xAB, 0x77,\r
+               0xD7, 0x89, 0x45, 0xF2, 0x34, 0xC3, 0x37, 0x74, 0xF9, 0xD6, 0xD0, 0xBF, 0x85, 0x0A, 0xE7, 0xAD,\r
+               0x7D, 0x54, 0xA4, 0xD2, 0x7B, 0x0A, 0x43, 0xF2, 0x87, 0x7A, 0x5F, 0x64, 0x04, 0x6F, 0x0C, 0x4D,\r
+               0x35, 0xBB, 0x83, 0x5E, 0x30, 0xE4, 0x00, 0x58, 0xAF, 0x1A, 0xF2, 0x91, 0xB2, 0xA6, 0x1B, 0x42,\r
+               0xB0, 0xFB, 0xFA, 0x5F, 0xD2, 0xFE, 0xB7, 0x61, 0xA5, 0x0A, 0x26, 0x22, 0xFC, 0xA9, 0x84, 0xE1,\r
+               0xAD, 0xDF, 0x59, 0xAE, 0xF3, 0xC7, 0xFE, 0x0F, 0x3B, 0x42, 0x16, 0xE4, 0xD5, 0x41, 0x4A, 0x42,\r
+               0x6B, 0x2B, 0x46, 0xB5, 0x19, 0xED, 0x31, 0x19, 0xED, 0x35, 0x13, 0xE7, 0x54, 0xAC, 0xB9, 0xBD,\r
+               0x0E, 0x38, 0x9A, 0x59, 0xE1, 0x07, 0xFB, 0xEC, 0x48, 0x9A, 0x4F, 0x62, 0xA1, 0x23, 0x92, 0xCA,\r
+               0xEC, 0x78, 0x14, 0x5B, 0x06, 0xFD, 0x3E, 0xC0, 0xB1, 0x70, 0x59, 0x1E, 0x96, 0x8C, 0xDF, 0x34,\r
+               0x76, 0x19, 0x99, 0x08, 0x1C, 0xAF, 0x03, 0xE6, 0x0F, 0x7A, 0x6D, 0xD7, 0xC3, 0x66, 0x96, 0x97,\r
+               0x88, 0x97, 0xD2, 0x37, 0x22, 0x58, 0x64, 0x88, 0x3E, 0x3C, 0xE1, 0xA8, 0xAC, 0x20, 0x6F, 0x87,\r
+               0x68, 0x6F, 0xC4, 0x6A, 0xAC, 0x6B, 0xD3, 0x1F, 0xD1, 0x83, 0xC2, 0x7B, 0x62, 0x65, 0x2D, 0xB9,\r
+               0x52, 0x14, 0x34, 0x55, 0xF2, 0x75, 0x89, 0x4E, 0x5F, 0x63, 0x46, 0x02, 0xF9, 0xBD, 0x4D, 0x2D,\r
+               0x02, 0x22, 0x4B, 0xF1, 0x9A, 0x78, 0xAE, 0x39, 0x78, 0x9D, 0x38, 0x9E, 0xE8, 0x05, 0x55, 0x3F,\r
+               0x73, 0xCD, 0x76, 0xB5, 0x0C, 0xCD, 0xDB, 0x71, 0xB0, 0x73, 0x39, 0x92, 0x25, 0xF3, 0xE9, 0x53,\r
+               0xE2, 0x0F, 0x89, 0x99, 0x48, 0x41, 0x7A, 0x83, 0xED, 0xC2, 0xCF, 0x17, 0x7B, 0xD8, 0x2A, 0x0C,\r
+               0xF9, 0x89, 0x51, 0x8B, 0xC1, 0xC7, 0xD6, 0x46, 0x51, 0x50, 0x1F, 0x83, 0xA1, 0x6E, 0x84, 0x1A,\r
+               0xA0, 0xCD, 0x4F, 0xB0, 0xFA, 0xF6, 0x2B, 0x56, 0xB5, 0x4C, 0x1A, 0x88, 0xCF, 0xD4, 0x9A, 0x72,\r
+               0x50, 0xB2, 0x62, 0x4C, 0xE0, 0x5C, 0x15, 0x62, 0xCC, 0x21, 0x4A, 0x45, 0xD4, 0x67, 0xBD, 0x64,\r
+               0x9C, 0xF5, 0x54, 0xDF, 0x60, 0x9F, 0xC0, 0x07, 0x9D, 0x08, 0xBA, 0xFB, 0x6F, 0xEF, 0x6B, 0x54,\r
+               0xBC, 0xAF, 0xC5, 0x29, 0xEC, 0x55, 0x32, 0xD5, 0x72, 0x87, 0x4D, 0x50, 0xC2, 0x56, 0xF7, 0x94,\r
+               0xE8, 0x1D, 0xFA, 0x06, 0x1D, 0x52, 0xC6, 0x32, 0x5E, 0xC5, 0x77, 0xD2, 0x3E, 0x9D, 0xB7, 0x6C,\r
+               0x0F, 0x89, 0x32, 0x26, 0xE2, 0xFE, 0xA4, 0x04, 0x48, 0x15, 0xBB, 0x50, 0xA4, 0xA2, 0x73, 0x28,\r
+               0x80, 0x60, 0x03, 0x66, 0xF8, 0x05, 0x2F, 0xC6, 0x75, 0x4E, 0xF7, 0x9A, 0x72, 0xA8, 0x8D, 0x35,\r
+               0x98, 0x60, 0x0F, 0x2F, 0xF4, 0x2D, 0x0D, 0x2B, 0x69, 0xB3, 0xE9, 0x16, 0x9B, 0xF5, 0xBF, 0x7F,\r
+               0xEE, 0xBA, 0x9C, 0xC5, 0x43, 0xFA, 0x84, 0xF4, 0xBC, 0x5D, 0x0B, 0x6A, 0x3D, 0xCD, 0x72, 0xCD,\r
+               0x08, 0x7A, 0x7E, 0x75, 0xD2, 0x14, 0x78, 0xAB, 0xC6, 0xA8, 0x7B, 0x4D, 0x25, 0xCB, 0x0F, 0xC5,\r
+               0x90, 0xE8, 0x78, 0x1C, 0xAE, 0xD9, 0xAF, 0x7E, 0xC0, 0xA7, 0xEA, 0x34, 0x1B, 0xD9, 0x78, 0xF2,\r
+               0x42, 0xFA, 0x33, 0x57, 0x3A, 0x82, 0x61, 0x8A, 0xF6, 0xFC, 0xB2, 0xB4, 0x71, 0x24, 0x6A, 0x08,\r
+               0xEB, 0xB0, 0x16, 0x00, 0xA1, 0x88, 0x3C, 0x50, 0x4E, 0xF9, 0x3D, 0xFF, 0xE7, 0xA7, 0x28, 0xE4,\r
+               0xDE, 0x08, 0x50, 0x92, 0x3A, 0xF8, 0x53, 0x2E, 0x9A, 0x34, 0x99, 0xE4, 0x4D, 0xA5, 0x92, 0x38,\r
+               0x29, 0xAF, 0x85, 0xAF, 0x0A, 0x48, 0xCC, 0xB4, 0x9E, 0xB0, 0x97, 0x34, 0xB2, 0x91, 0x65, 0x65,\r
+               0x1E, 0xC3, 0x8B, 0xDB, 0x76, 0xCA, 0xD1, 0xA9, 0x9B, 0xC7, 0xFF, 0x34, 0x09, 0x92, 0xAA, 0xFF,\r
+               0xD2, 0xC8, 0xD7, 0xD1, 0x3E, 0xAC, 0xC8, 0x95, 0x69, 0x93, 0xC3, 0x7A, 0xAF, 0x58, 0xB1, 0x41,\r
+               0x09, 0xA9, 0x1F, 0xBE, 0xAA, 0x2C, 0x22, 0xB8, 0x48, 0x4C, 0x10, 0x7D, 0x92, 0x06, 0xFC, 0x45,\r
+               0x8A, 0xF5, 0x2F, 0x69, 0x82, 0x07, 0x3F, 0xEC, 0x4A, 0xA9, 0x1B, 0xED, 0xA6, 0x94, 0xAD, 0x1D,\r
+               0x9B, 0xF0, 0x4E, 0x8D, 0x28, 0x1D, 0x47, 0x4F, 0x4B, 0x6F, 0x96, 0xAA, 0x2E, 0x9E, 0xA8, 0x83,\r
+               0xDC, 0xD5, 0x9E, 0x07, 0x76, 0x7C, 0x62, 0x68, 0x33, 0x87, 0xC4, 0xA7, 0x7D, 0xF0, 0x3B, 0x0C,\r
+               0x2D, 0xA1, 0x29, 0xDE, 0x16, 0xE6, 0x0C, 0xFA, 0x97, 0x6F, 0x4E, 0xE4, 0x62, 0x82, 0xCA, 0xEB,\r
+               0x75, 0x4D, 0x06, 0xFD, 0x31, 0xB6, 0x5C, 0x03, 0x32, 0x51, 0xFD, 0x76, 0x0E, 0x7F, 0x60, 0x16,\r
+               0xC1, 0x94, 0xE1, 0xB9, 0x3A, 0xDD, 0x17, 0x11, 0x23, 0x55, 0xB5, 0x6C, 0x25, 0xC7, 0x15, 0x24,\r
+               0xB9, 0xEC, 0xB8, 0xF0, 0xF7, 0x34, 0x25, 0xFA, 0x49, 0x96, 0x71, 0x79, 0x18, 0x86, 0x29, 0xC0,\r
+               0x07, 0x07, 0x98, 0x17, 0xA7, 0x25, 0xB3, 0x93, 0x76, 0xB3, 0x5D, 0x22, 0x19, 0x14, 0x8A, 0x02,\r
+               0x83, 0x8F, 0xD5, 0x8C, 0x77, 0xCB, 0x34, 0xC3, 0xC2, 0xEC, 0xBF, 0x19, 0x5C, 0x74, 0xF2, 0x35,\r
+               0x2E, 0x69, 0x3F, 0xA9, 0xD9, 0xD5, 0x3A, 0xC3, 0x3E, 0x2E, 0xE3, 0xA9, 0x1B, 0xBE, 0x6A, 0xA1,\r
+               0xF4, 0xCD, 0x3B, 0xF3, 0x1C, 0x7A, 0x8B, 0x75, 0x47, 0xE8, 0xC5, 0x26, 0x56, 0x49, 0x3C, 0x14,\r
+               0x8D, 0x82, 0xE7, 0x67, 0xB1, 0x25, 0x1C, 0x7C, 0x21, 0x8D, 0x21, 0x01, 0xF2, 0x93, 0x86, 0x0F,\r
+               0x55, 0x3F, 0xE3, 0xED, 0xE6, 0x6A, 0x63, 0x2B, 0x3A, 0xAD, 0x3B, 0x05, 0xAA, 0x70, 0xB0, 0x6C,\r
+               0x95, 0x18, 0x24, 0x91, 0x5B, 0x7A, 0x2C, 0x20, 0xFD, 0x21, 0x87, 0x22, 0xCB, 0x27, 0xEB, 0xD7,\r
+               0xCA, 0x7C, 0x1D, 0x08, 0xE4, 0xB6, 0x40, 0xBB, 0x13, 0x5D, 0x81, 0xC4, 0xA6, 0x30, 0xA6, 0x70,\r
+               0x33, 0x55, 0xEF, 0x94, 0x8B, 0xBB, 0xC9, 0xB6, 0xFE, 0x45, 0x19, 0xD0, 0x9C, 0xF1, 0xC8, 0x6B,\r
+               0x44, 0x5F, 0x03, 0x21, 0x29, 0xAA, 0x04, 0xAC, 0x22, 0x97, 0xB8, 0xE1, 0x5C, 0x4C, 0x58, 0xD5,\r
+               0x5E, 0xA7, 0x86, 0x96, 0xEA, 0xB7, 0x18, 0x42, 0xBB, 0x2E, 0xAB, 0xB8, 0xAF, 0x28, 0xB4, 0xC5,\r
+               0xF8, 0xD3, 0x48, 0xE9, 0x5D, 0xBF, 0xE6, 0x2F, 0x7F, 0xF5, 0xE4, 0x62, 0x5F, 0x6C, 0x86, 0x06,\r
+               0x69, 0xA1, 0x19, 0xB1, 0x5E, 0x18, 0x12, 0xC8, 0xE3, 0xCB, 0x79, 0x40, 0xFB, 0xFC, 0x71, 0x60,\r
+               0xFE, 0x8E, 0x0E, 0x4B, 0x4A, 0x2C, 0x85, 0x7D, 0xDC, 0x02, 0x10, 0xE3, 0xDA, 0x95, 0x93, 0xD3,\r
+               0x0A, 0x4D, 0xB7, 0x05, 0xAF, 0xB8, 0x14, 0xE5, 0x2B, 0x43, 0x80, 0x7D, 0x92, 0x08, 0x45, 0x92,\r
+               0xF4, 0x8F, 0x8A, 0x34, 0x20, 0x30, 0xB2, 0xFE, 0x18, 0xE9, 0xC4, 0x53, 0x82, 0x47, 0x61, 0x4C,\r
+               0xE8, 0x19, 0x62, 0xB6, 0xF2, 0x39, 0xA8, 0x19, 0xA7, 0x03, 0xA0, 0xD6, 0xA4, 0x54, 0x7F, 0x2B,\r
+               0x25, 0x2C, 0x0D, 0x1E, 0x54, 0x11, 0xDF, 0x65, 0xB9, 0x1F, 0x1D, 0x27, 0x2E, 0xF5, 0xDB, 0xF6,\r
+               0xAC, 0xB8, 0xF1, 0x1A, 0x36, 0x39, 0x26, 0x23, 0x4C, 0xA5, 0xDC, 0xBE, 0x77, 0x6D, 0x25, 0xB6,\r
+               0xC0, 0x10, 0xA0, 0x2F, 0xE5, 0x43, 0x79, 0x2C, 0xF0, 0x0E, 0xCB, 0x76, 0x8C, 0x6B, 0x57, 0x8E,\r
+               0x8F, 0xAC, 0x20, 0x25, 0x6F, 0x7C, 0xB9, 0xE0, 0x84, 0x2C, 0x9C, 0xB4, 0x4F, 0xD7, 0xDA, 0xBD,\r
+               0xF0, 0x5A, 0xF9, 0x1C, 0x66, 0x8C, 0x61, 0x13, 0xBB, 0x27, 0x7F, 0x5C, 0x6E, 0xCD, 0x6B, 0xE6,\r
+               0x67, 0x56, 0x04, 0xC0, 0xA3, 0x9B, 0x18, 0x93, 0xBB, 0xE2, 0xA5, 0x82, 0xFE, 0x29, 0x37, 0xBE,\r
+               0xD6, 0x5A, 0x6E, 0x07, 0x65, 0x40, 0xC2, 0x86, 0xBA, 0x22, 0x52, 0x82, 0x8A, 0x0F, 0xDF, 0xE3,\r
+               0xD8, 0x2D, 0x14, 0x50, 0x7B, 0xD7, 0x6F, 0x95, 0xC7, 0x72, 0x98, 0x2D, 0x4F, 0x53, 0xB3, 0x97,\r
+               0x5F, 0x87, 0x7D, 0x82, 0x81, 0x2C, 0xEB, 0x0A, 0xC8, 0xF4, 0xF8, 0x50, 0xDE, 0xB1, 0x9F, 0x16,\r
+               0xC9, 0x23, 0x2E, 0xF0, 0xE6, 0xE9, 0x55, 0xA8, 0xCF, 0xB4, 0x6A, 0x2B, 0x02, 0x9D, 0xFB, 0xED,\r
+               0xFB, 0xC2, 0x22, 0x8E, 0x53, 0x65, 0x2D, 0xBC, 0x9B, 0xAF, 0x2B, 0xCD, 0x87, 0x59, 0x39, 0xE9,\r
+               0xB0, 0xFA, 0x5A, 0x51, 0x4D, 0xBF, 0x99, 0xAB, 0xEE, 0x42, 0x93, 0x6B, 0x71, 0x11, 0xEB, 0x6C,\r
+               0xE0, 0xFB, 0xCB, 0x56, 0x2E, 0xEA, 0xC1, 0x8A, 0xD3, 0x8E, 0x6E, 0x88, 0x24, 0xA2, 0xD2, 0x6C,\r
+               0x8E, 0x58, 0x49, 0x81, 0x9F, 0x05, 0x30, 0x6F, 0x5F, 0xD9, 0x1C, 0x5B, 0xC4, 0x28, 0x9E, 0x72,\r
+               0xAB, 0x3B, 0x21, 0xE8, 0x00, 0x31, 0x77, 0xA8, 0xA9, 0x69, 0x72, 0xD0, 0x95, 0x7A, 0xE8, 0x74,\r
+               0xD3, 0xE6, 0xEE, 0x10, 0xE1, 0x0F, 0x66, 0x2A, 0x0B, 0xEF, 0x78, 0x88, 0x39, 0xF7, 0x11, 0x50,\r
+               0xCE, 0x1E, 0x3F, 0xA4, 0x53, 0xCA, 0xE5, 0x4A, 0xF4, 0x9A, 0xEA, 0xDA, 0x0C, 0xFC, 0xF5, 0x4D,\r
+               0x24, 0x25, 0x17, 0xEC, 0x48, 0x3D, 0x3E, 0xBF, 0x29, 0xC2, 0xB4, 0xED, 0xD3, 0x2F, 0x08, 0x32,\r
+               0x3D, 0x51, 0x3D, 0xAE, 0xF7, 0x96, 0xF2, 0x27, 0xCA, 0x4F, 0x7E, 0x70, 0x01, 0x13, 0xD0, 0xAE,\r
+               0x20, 0x6C, 0x60, 0x9F, 0xAA, 0x64, 0xC5, 0x75, 0xB9, 0xBD, 0x7D, 0xBF, 0x7E, 0x7B, 0x28, 0x83,\r
+               0xBF, 0x4F, 0x16, 0x22, 0xF0, 0xA1, 0x32, 0xAE, 0xB5, 0xA2, 0x49, 0x89, 0x3A, 0x75, 0xB6, 0x99,\r
+               0xD0, 0x26, 0x22, 0x7D, 0xF6, 0x8B, 0x07, 0xC2, 0x7C, 0xE4, 0x4B, 0x4C, 0x4B, 0xD1, 0xCF, 0x84,\r
+               0x8D, 0x6C, 0x33, 0x1C, 0x3A, 0xF4, 0xAE, 0xA4, 0x8C, 0x28, 0xC8, 0xCD, 0xDC, 0x5E, 0x38, 0x3B,\r
+               0x43, 0xBD, 0x1A, 0xF1, 0x3B, 0xCF, 0x7C, 0xD1, 0x15, 0x01, 0x35, 0xB1, 0xDD, 0x06, 0xEA, 0x59,\r
+               0x94, 0xA0, 0xAB, 0x24, 0xE3, 0xFA, 0xE4, 0x3F, 0x7C, 0x8B, 0x27, 0x26, 0xD6, 0x97, 0xFF, 0x54,\r
+               0x68, 0xFC, 0xC4, 0x0C, 0x5F, 0x59, 0x02, 0x91, 0x38, 0x92, 0x21, 0x47, 0x98, 0xE7, 0xBE, 0x45,\r
+               0xE1, 0x48, 0xC8, 0xCF, 0x56, 0x6C, 0x74, 0x2C, 0x6C, 0xE3, 0x19, 0x70, 0x14, 0x05, 0xFE, 0x47,\r
+               0xC3, 0x64, 0x38, 0x5C, 0x9B, 0xD1, 0x6C, 0x54, 0x4C, 0x0B, 0x44, 0x89, 0xF8, 0x1B, 0xBE, 0x04,\r
+               0x48, 0xCC, 0x9F, 0xAA, 0xDC, 0x5D, 0xE3, 0x47, 0x42, 0x42, 0x4E, 0x3C, 0xC3, 0x57, 0xA4, 0x52,\r
+               0x2A, 0x24, 0xC2, 0xEB, 0x76, 0x24, 0x04, 0x4D, 0x03, 0xE2, 0x71, 0xCF, 0x81, 0x9B, 0x95, 0x40,\r
+               0xDE, 0x1D, 0xE7, 0x24, 0x16, 0x88, 0x50, 0xD1, 0xB0, 0x44, 0xBA, 0x97, 0xF4, 0xA1, 0x55, 0x1E,\r
+               0x2C, 0xC5, 0xF0, 0x9C, 0x54, 0xD2, 0x70, 0x78, 0x17, 0x9A, 0x03, 0xE0, 0x02, 0x56, 0x00, 0x89,\r
+               0xF9, 0x05, 0x54, 0x4B, 0x62, 0xF3, 0xBC, 0xBA, 0xCB, 0xDC, 0x8B, 0x1C, 0xB8, 0xA6, 0xA6, 0xA0,\r
+               0xC7, 0x54, 0x29, 0x52, 0x90, 0x1F, 0x4C, 0xBA, 0xF2, 0x60, 0x38, 0x48, 0xC9, 0xF6, 0xEA, 0x4D,\r
+               0x3A, 0xE5, 0xC0, 0xE9, 0x63, 0xF8, 0x15, 0x87, 0xA0, 0xC1, 0x82, 0x13, 0x0C, 0xF3, 0xC1, 0x65,\r
+               0x96, 0x09, 0x26, 0x98, 0xAF, 0x7C, 0x0E, 0xAA, 0x6E, 0xFB, 0x34, 0xF2, 0xBC, 0x23, 0xCD, 0x20,\r
+               0x37, 0xF7, 0xDD, 0x5F, 0xAA, 0x7B, 0x9F, 0xA2, 0x07, 0x6F, 0x1F, 0x02, 0x9E, 0xD5, 0xA9, 0x4E,\r
+               0x42, 0xA3, 0x3A, 0x43, 0xF4, 0xDD, 0xEE, 0x77, 0x12, 0x02, 0xE9, 0x59, 0xCB, 0xD4, 0xEC, 0xCC,\r
+               0x65, 0x07, 0xDE, 0x9C, 0xCD, 0x16, 0xBE, 0xDE, 0xF9, 0x45, 0x51, 0xD3, 0x03, 0xAA, 0xC0, 0x5D,\r
+               0x3F, 0x10, 0x8D, 0x92, 0x27, 0x07, 0x84, 0x31, 0x75, 0x4A, 0x89, 0x7C, 0x4B, 0x2E, 0x59, 0x15,\r
+               0x88, 0x6F, 0x47, 0x84, 0x71, 0x7C, 0x64, 0x15, 0x70, 0x29, 0xCC, 0x82, 0x5F, 0x0D, 0x87, 0x18,\r
+               0xEF, 0xE5, 0xC1, 0xB4, 0xFA, 0x56, 0x9A, 0xAB, 0xA4, 0x5F, 0x8A, 0x29, 0xE2, 0x81, 0x15, 0x54,\r
+               0xD2, 0x66, 0x84, 0xDD, 0x74, 0x49, 0x00, 0x8B, 0xA0, 0x9A, 0x60, 0x67, 0xBE, 0xB5, 0x80, 0xD9,\r
+               0x17, 0x3E, 0x7B, 0x10, 0x07, 0x06, 0xE2, 0xA2, 0xC6, 0xC2, 0xCF, 0xDE, 0x2D, 0xA3, 0xF2, 0x5F,\r
+               0xDD, 0x4F, 0x65, 0x40, 0x2B, 0x57, 0x87, 0x68, 0x5B, 0xBB, 0x40, 0xC2, 0xAE, 0xFF, 0x46, 0xAE,\r
+               0x12, 0xD2, 0x64, 0xC5, 0xA1, 0xC3, 0x41, 0x27, 0x8F, 0xD3, 0xAD, 0x6F, 0x91, 0xFA, 0x1A, 0xF8,\r
+               0x5B, 0x4D, 0x6F, 0x16, 0x89, 0x74, 0x5C, 0x82, 0x82, 0xFB, 0x45, 0x98, 0x08, 0xCA, 0x22, 0x92,\r
+               0xEC, 0xB5, 0x03, 0xD7, 0x35, 0xBA, 0xD9, 0x9C, 0x02, 0x7D, 0x4A, 0xC9, 0xE4, 0x1E, 0x72, 0x61,\r
+               0xAF, 0xBD, 0xBE, 0x4C, 0x0B, 0x28, 0x91, 0xF4, 0xC3, 0xB9, 0x83, 0xDE, 0x64, 0xB3, 0xA0, 0x00,\r
+               0xDB, 0x18, 0xB0, 0x66, 0x3E, 0xBB, 0x3B, 0xDA, 0x06, 0xE3, 0xE6, 0x99, 0x73, 0x3C, 0xAB, 0x7C,\r
+               0xBB, 0x7A, 0x9B, 0x36, 0x67, 0x96, 0xA9, 0x69, 0x77, 0x50, 0x36, 0x5D, 0xCE, 0x5D, 0x9D, 0xBA,\r
+               0xED, 0xC0, 0x5E, 0x78, 0x5D, 0xDA, 0xDA, 0x26, 0x28, 0x2D, 0x73, 0x34, 0xC9, 0x31, 0x4B, 0x15,\r
+               0xA4, 0xBC, 0x9F, 0xBC, 0x3D, 0x87, 0x4D, 0x1C, 0x9F, 0x04, 0x92, 0x9D, 0x87, 0xFD, 0xE2, 0xEF,\r
+               0x69, 0x13, 0x43, 0x6A, 0x5E, 0x1C, 0x0C, 0x02, 0xE6, 0xCB, 0x39, 0xB1, 0xB2, 0x5A, 0x7C, 0xD7,\r
+               0xBD, 0x58, 0x30, 0xBA, 0xD2, 0x72, 0x01, 0xCE, 0x87, 0xAE, 0xF1, 0x2F, 0xD2, 0x58, 0xEB, 0x2E,\r
+               0x62, 0xBF, 0xF5, 0x20, 0xB5, 0x0D, 0x46, 0x8B, 0x06, 0x3B, 0x09, 0x02, 0xE3, 0x33, 0x3B, 0xF7,\r
+               0x9E, 0x89, 0xC8, 0xED, 0x99, 0x02, 0xA7, 0xE9, 0xDF, 0xD0, 0x0B, 0x72, 0x20, 0x16, 0xD2, 0x0B,\r
+               0xB7, 0x91, 0x13, 0x9F, 0x6B, 0xD9, 0x4F, 0xA5, 0x7F, 0x8F, 0xB6, 0xB4, 0x02, 0x90, 0x02, 0x4B,\r
+               0xC6, 0x7B, 0x84, 0x38, 0x85, 0xD6, 0x22, 0x2F, 0x6B, 0xC9, 0x63, 0x66, 0x93, 0x8C, 0xB4, 0x17,\r
+               0x1A, 0x1A, 0xAD, 0x0D, 0x25, 0x09, 0xB8, 0xBD, 0xE6, 0x17, 0x76, 0x7F, 0xCE, 0x86, 0x42, 0x12,\r
+               0xE6, 0x2D, 0x98, 0x45, 0x17, 0x9A, 0xE0, 0x0C, 0x26, 0xFC, 0x58, 0x5D, 0x7B, 0xBD, 0x09, 0x05,\r
+               0x8E, 0xFF, 0xE8, 0x47, 0xFB, 0x51, 0xE3, 0x73, 0x5A, 0xC6, 0x6F, 0xC9, 0xB0, 0xA0, 0xC5, 0xC6,\r
+               0xB2, 0x2B, 0xF9, 0x37, 0x91, 0x5B, 0x29, 0x55, 0x6F, 0x34, 0xA3, 0xA5, 0xEF, 0xB9, 0x70, 0x8F,\r
+               0x61, 0xF8, 0x29, 0x72, 0x93, 0xBE, 0x77, 0xE1, 0x13, 0xC7, 0x78, 0x6A, 0xBE, 0x53, 0x08, 0x60,\r
+               0x6A, 0x46, 0xEC, 0xA6, 0xA6, 0xAA, 0xE5, 0x71, 0x02, 0x1A, 0xFB, 0xA2, 0x7E, 0x4E, 0x43, 0x99,\r
+               0xE7, 0x31, 0x24, 0x06, 0xB4, 0x49, 0xEF, 0x4C, 0x86, 0x25, 0xEA, 0xE8, 0x50, 0x36, 0x73, 0x56,\r
+               0xB5, 0x87, 0xC5, 0xA0, 0x3B, 0xF9, 0x81, 0xE2, 0xA7, 0x39, 0xAD, 0xAA, 0x09, 0x13, 0x38, 0x21,\r
+               0x3F, 0xB2, 0x47, 0x6A, 0xA2, 0xD8, 0xF3, 0x22, 0x5B, 0xCC, 0x5C, 0x06, 0x84, 0x7D, 0x11, 0x3E,\r
+               0x86, 0xED, 0x17, 0x3A, 0xC6, 0xEE, 0xD9, 0xC6, 0x39, 0x64, 0xF1, 0x39, 0x43, 0x5E, 0x45, 0x5C,\r
+               0x98, 0xBC, 0x89, 0xE6, 0x43, 0xE7, 0x84, 0x06, 0xDE, 0x69, 0xE9, 0xF2, 0x10, 0x7C, 0xDB, 0xF5,\r
+               0x7A, 0xEB, 0x71, 0x2E, 0x6A, 0x5F, 0xBC, 0x02, 0x46, 0xB1, 0x9F, 0x38, 0x2B, 0xF5, 0x52, 0x6B,\r
+               0x0A, 0xC0, 0x2F, 0xEF, 0x70, 0x10, 0xBA, 0x41, 0x26, 0x3A, 0x79, 0xE6, 0x5D, 0x09, 0x60, 0xCF,\r
+               0x9B, 0x15, 0x70, 0xAF, 0xE7, 0x39, 0xA8, 0xBB, 0xC5, 0xB3, 0xE1, 0xB0, 0xE2, 0xDE, 0xEC, 0x7C,\r
+               0xC3, 0xD0, 0x35, 0x40, 0x38, 0x2D, 0x55, 0x34, 0x7D, 0xB7, 0x33, 0xF9, 0x4E, 0x10, 0xED, 0x11,\r
+               0x4C, 0xAE, 0x5A, 0xA3, 0xBE, 0x8F, 0xD6, 0x16, 0x05, 0x9F, 0x9A, 0xE6, 0xB8, 0x4D, 0xFF, 0x41,\r
+               0xE8, 0x34, 0x56, 0xFA, 0x53, 0x50, 0xD4, 0x51, 0x3A, 0x67, 0xAF, 0x62, 0x1A, 0x22, 0xC6, 0x70,\r
+               0x4A, 0x87, 0x26, 0xCB, 0xE7, 0x81, 0x01, 0xDF, 0xF7, 0x55, 0x24, 0xB4, 0x9A, 0x12, 0x07, 0x17,\r
+               0xF6, 0xEE, 0xFB, 0x58, 0xC7, 0xFD, 0x56, 0x1F, 0x8F, 0x1C, 0xE4, 0xE5, 0x1E, 0x5D, 0xA8, 0x51,\r
+               0xF0, 0x3C, 0x99, 0xFD, 0x96, 0xFC, 0x41, 0x5E, 0xD2, 0xD9, 0xBB, 0xED, 0xD0, 0x31, 0xCE, 0x88,\r
+               0x68, 0xA1, 0xED, 0x79, 0x17, 0xEC, 0x80, 0x2B, 0xF0, 0x4B, 0x42, 0xF3, 0x08, 0xB8, 0xBC, 0x09,\r
+               0xC9, 0xA4, 0x5E, 0x2C, 0x80, 0x8A, 0x3D, 0x23, 0xF5, 0x17, 0x35, 0x6F, 0x90, 0x75, 0x03, 0x9F,\r
+               0xDA, 0x1F, 0x58, 0x93, 0xB0, 0xCA, 0x59, 0xAF, 0x62, 0x58, 0x2F, 0x5B, 0x66, 0x69, 0x67, 0x53,\r
+               0x95, 0xAB, 0xD8, 0xB7, 0x61, 0xEB, 0x1D, 0x41, 0x30, 0x55, 0x89, 0xD6, 0xAA, 0x97, 0x6F, 0x49,\r
+               0x08, 0xEC, 0x4E, 0xB8, 0x7E, 0x36, 0x8D, 0x96, 0x06, 0x4B, 0x18, 0xEE, 0xE6, 0x63, 0x07, 0x5E,\r
+               0x8C, 0xAF, 0xE5, 0x1A, 0x1E, 0x0B, 0x0E, 0x86, 0xEC, 0x0D, 0x04, 0x7A, 0xC4, 0x2D, 0xAF, 0xE9,\r
+               0xC4, 0x50, 0x08, 0x99, 0x52, 0x17, 0xB6, 0xB6, 0x7F, 0x8B, 0xB0, 0x5A, 0x79, 0x66, 0x5D, 0xC8,\r
+               0x00, 0x41, 0x1F, 0xB5, 0x44, 0x94, 0xF7, 0xDE, 0xC8, 0x3B, 0xC8, 0xAF, 0x2C, 0x54, 0xE2, 0xF3,\r
+               0x2C, 0x0C, 0x4D, 0x9D, 0xA4, 0x40, 0x65, 0x16, 0xCD, 0xC1, 0x76, 0xA0, 0x80, 0xC2, 0x1A, 0x75,\r
+               0xCE, 0x79, 0xBE, 0xB1, 0x04, 0x0E, 0x05, 0x1C, 0x12, 0x2C, 0xF2, 0xFF, 0xED, 0x45, 0x51, 0xCA,\r
+               0x92, 0x0B, 0xB9, 0x78, 0x7A, 0xFA, 0xCF, 0x45, 0xC4, 0x0B, 0x5F, 0xB9, 0x7F, 0x4B, 0x21, 0x4A,\r
+               0xB4, 0xF6, 0x57, 0xDC, 0xB4, 0x14, 0x38, 0x4A, 0x66, 0x0D, 0x85, 0x19, 0x50, 0xFA, 0xE1, 0x06,\r
+               0x50, 0xF8, 0xDA, 0x39, 0x24, 0xB7, 0xE2, 0x39, 0xEE, 0x7D, 0xFC, 0xBC, 0xB5, 0x6D, 0xA2, 0xC3,\r
+               0xAC, 0xE5, 0x73, 0x36, 0x72, 0xC4, 0xEE, 0xE8, 0x26, 0x5E, 0x47, 0xE8, 0x7D, 0x70, 0xCC, 0x27,\r
+               0xC0, 0xB0, 0x9E, 0x9F, 0xEC, 0x17, 0xAB, 0xCD, 0x2C, 0x67, 0x34, 0x2C, 0x18, 0x26, 0xA7, 0xF5,\r
+               0xA1, 0x33, 0xA0, 0xB9, 0x51, 0xAD, 0x7B, 0x3A, 0xA1, 0xB1, 0xA6, 0x1C, 0x7C, 0x46, 0x16, 0x03,\r
+               0x2E, 0x7E, 0x61, 0xC9, 0x1F, 0xB2, 0x1E, 0x32, 0x7D, 0x60, 0x0C, 0x87, 0x96, 0x32, 0x1B, 0x3F,\r
+               0x83, 0x5A, 0x3D, 0x25, 0x3E, 0x46, 0xD7, 0x99, 0x6E, 0xB8, 0x44, 0x8A, 0xE2, 0x71, 0x80, 0xA5,\r
+               0x57, 0x67, 0xC6, 0x70, 0xF7, 0x49, 0xD8, 0x95, 0xE6, 0xA2, 0xC1, 0x43, 0xDB, 0xC6, 0x8B, 0x2F,\r
+               0x67, 0x97, 0xEF, 0xAD, 0x44, 0x68, 0x30, 0x0F, 0xB0, 0xCE, 0xDC, 0x39, 0x63, 0x8F, 0x14, 0x5B,\r
+               0x62, 0xA9, 0xB8, 0x0F, 0xCC, 0xF3, 0xDD, 0x9E, 0xFF, 0x5D, 0x1A, 0x17, 0x2C, 0x40, 0x57, 0xE3,\r
+               0x1B, 0x04, 0x45, 0x0F, 0xD4, 0xD7, 0xEB, 0x66, 0x1F, 0xCF, 0x25, 0x11, 0x8C, 0x87, 0x35, 0x66,\r
+               0x11, 0xE3, 0x69, 0xDB, 0xBE, 0x84, 0xFE, 0xDC, 0x2F, 0x8B, 0xBF, 0xDA, 0x56, 0x5B, 0x22, 0x85,\r
+               0x0D, 0x11, 0x2B, 0x55, 0x9C, 0x2F, 0x2B, 0x6B, 0x1E, 0xF6, 0xD2, 0xBB, 0xBE, 0x2A, 0xE5, 0x87,\r
+               0x8B, 0x7D, 0x52, 0xA3, 0x46, 0x9A, 0x96, 0xCF, 0xCF, 0x14, 0x3A, 0x47, 0xD4, 0x03, 0x98, 0xCF,\r
+               0xAE, 0x38, 0x44, 0x02, 0x61, 0x43, 0x94, 0x97, 0xC8, 0xCA, 0xDB, 0xD4, 0x3D, 0xFF, 0x45, 0xE0,\r
+               0xC5, 0x2C, 0x32, 0x36, 0x36, 0xB4, 0x6C, 0xEA, 0x0C, 0x25, 0x9C, 0xC9, 0x68, 0x20, 0x59, 0xBA,\r
+               0xC7, 0x8C, 0xC7, 0x44, 0x69, 0x2D, 0xA4, 0xB7, 0x65, 0x6C, 0x91, 0x71, 0xC9, 0xF4, 0xB7, 0x93,\r
+               0x60, 0x12, 0xE1, 0xEC, 0xF7, 0xB1, 0x0F, 0xF9, 0xCC, 0xA8, 0xD0, 0xA6, 0x10, 0x39, 0x1F, 0xA6,\r
+               0xBE, 0x44, 0x7A, 0x76, 0x1F, 0xD7, 0xA9, 0xFE, 0x09, 0x54, 0x93, 0x51, 0x2F, 0x0B, 0x5D, 0xAB,\r
+               0x6E, 0x32, 0x30, 0x3E, 0x63, 0x05, 0x1F, 0xF8, 0xA8, 0xC8, 0x88, 0x3B, 0x55, 0xA7, 0xE7, 0x09,\r
+               0x6B, 0xB8, 0xA1, 0xED, 0x5A, 0x29, 0xA5, 0x79, 0x34, 0x3D, 0xD1, 0x18, 0x4D, 0x5A, 0xEA, 0xF9,\r
+               0x3B, 0x3A, 0x1B, 0xE1, 0x04, 0xE1, 0x16, 0xBF, 0xD0, 0x8B, 0x21, 0x76, 0x1D, 0x64, 0xDF, 0x4C,\r
+               0xCB, 0x6C, 0x56, 0x57, 0x32, 0x91, 0x9E, 0xCF, 0x0F, 0xC8, 0xED, 0x95, 0xB2, 0xB1, 0x50, 0x63,\r
+               0x3C, 0x9C, 0xCB, 0x70, 0xFF, 0x52, 0x27, 0xAC, 0xE8, 0xEA, 0xCD, 0x09, 0x30, 0x43, 0x8C, 0x90,\r
+               0x06, 0xFE, 0xB0, 0xC2, 0xCB, 0x95, 0xEC, 0x85, 0x27, 0xE8, 0x99, 0xE5, 0x40, 0xB7, 0xDD, 0x66,\r
+               0xCA, 0xC9, 0x26, 0xF2, 0x8B, 0xB6, 0xD3, 0x29, 0x20, 0x2D, 0x7E, 0x65, 0x5B, 0xD5, 0xAC, 0xE1,\r
+               0x3E, 0x86, 0x28, 0x76, 0xA4, 0xDC, 0x52, 0x37, 0x61, 0x40, 0x7F, 0xEF, 0x1B, 0x8A, 0xBD, 0x91,\r
+               0x28, 0x06, 0x43, 0x27, 0x54, 0xF2, 0xFD, 0x17, 0xD3, 0x24, 0x9D, 0x01, 0x4A, 0x4F, 0xCC, 0x4C,\r
+               0x1C, 0x97, 0xD6, 0x16, 0x16, 0xFB, 0x17, 0x4A, 0x4E, 0x94, 0x07, 0x73, 0x2B, 0x72, 0x77, 0x39,\r
+               0x90, 0xD7, 0x42, 0x6E, 0xB8, 0xC8, 0x51, 0xF2, 0xA8, 0xAD, 0xF9, 0x33, 0xF0, 0x15, 0x2D, 0x45,\r
+               0xB3, 0x8C, 0x55, 0xFC, 0xB4, 0xC0, 0x14, 0xC8, 0xBE, 0x03, 0x19, 0x6D, 0x02, 0xA2, 0xC6, 0x93,\r
+               0x37, 0x2A, 0xE2, 0x6C, 0xE0, 0x84, 0xCC, 0x3B, 0xB5, 0x7B, 0x23, 0x28, 0x14, 0xF8, 0xE6, 0x43,\r
+               0x49, 0x53, 0x8E, 0xC7, 0xDC, 0x29, 0x74, 0x4F, 0xAF, 0x85, 0x73, 0x32, 0x9A, 0xDF, 0x38, 0xE8,\r
+               0x48, 0x38, 0x29, 0x4B, 0x07, 0xF9, 0x82, 0x84, 0x32, 0xFC, 0x02, 0xB4, 0xB4, 0xAA, 0xA7, 0xC3,\r
+               0x21, 0xEB, 0xBB, 0x78, 0x5B, 0x3F, 0x67, 0x89, 0x99, 0x5E, 0x11, 0x2F, 0x19, 0x92, 0x5A, 0x04,\r
+               0x3D, 0xE6, 0xFF, 0x3E, 0x1F, 0xAB, 0x7D, 0x11, 0xDF, 0x8D, 0x75, 0xA4, 0xAC, 0x81, 0x3B, 0x66,\r
+               0x2B, 0x67, 0x8E, 0xEE, 0xA8, 0xDF, 0x50, 0x37, 0xE9, 0x40, 0xC5, 0x65, 0xF4, 0x40, 0x8D, 0x17,\r
+               0xDF, 0x75, 0x8A, 0xA5, 0x62, 0x0F, 0xC1, 0x9A, 0x37, 0xAF, 0x55, 0x6A, 0xB9, 0xDD, 0x82, 0x00,\r
+               0x15, 0x81, 0x7A, 0xE0, 0x6D, 0x24, 0xAC, 0xEE, 0x35, 0xBD, 0x1E, 0xB6, 0xB4, 0xBE, 0x4D, 0x90,\r
+               0x5A, 0x3C, 0x7C, 0x13, 0xB1, 0x9E, 0x6C, 0x76, 0x51, 0xAA, 0x49, 0x73, 0xEA, 0x02, 0x90, 0xEC,\r
+               0xF0, 0xF1, 0xF5, 0x4F, 0x05, 0x02, 0x0A, 0xB3, 0x90, 0xF5, 0xC8, 0x9B, 0x55, 0x20, 0xFE, 0x11,\r
+               0x79, 0x03, 0x19, 0xA3, 0x79, 0xD5, 0xF3, 0x59, 0x75, 0xE2, 0x09, 0xA6, 0xCD, 0xB8, 0x23, 0x44,\r
+               0x03, 0x25, 0x85, 0xFF, 0xD5, 0x8D, 0x17, 0x55, 0x46, 0xE9, 0x87, 0x3E, 0xFC, 0xDA, 0x48, 0xFE,\r
+               0x0D, 0x7D, 0x4A, 0x4F, 0x91, 0x9C, 0xBA, 0x95, 0x5D, 0x33, 0x4D, 0xE0, 0x86, 0x86, 0xE3, 0x17,\r
+               0x25, 0xA1, 0x51, 0x78, 0x4B, 0xDC, 0xB4, 0xF5, 0x59, 0xDF, 0xAA, 0x2A, 0x4A, 0x18, 0x22, 0x94,\r
+               0xB2, 0x17, 0x3A, 0x94, 0x68, 0xBB, 0xCD, 0xED, 0x44, 0x24, 0x70, 0xF8, 0xD2, 0xFC, 0x6D, 0xF1,\r
+               0x2E, 0x8B, 0x08, 0x3B, 0x37, 0x6D, 0xF8, 0x09, 0x52, 0x38, 0xFE, 0xB6, 0xF2, 0x8C, 0x68, 0xD6,\r
+               0x65, 0x75, 0xF7, 0x7E, 0x1E, 0x9D, 0x4C, 0x11, 0x02, 0xFF, 0x46, 0x56, 0x22, 0xC4, 0x5C, 0xE8,\r
+               0x8A, 0x51, 0x94, 0xA4, 0x11, 0x52, 0x3E, 0xB9, 0x48, 0x3C, 0x2D, 0xC8, 0xDF, 0x64, 0x37, 0x93,\r
+               0x1C, 0x1F, 0x92, 0x65, 0x14, 0x66, 0x80, 0x39, 0x0D, 0x3F, 0xBF, 0xD3, 0x9D, 0x48, 0x29, 0xB9,\r
+               0x7E, 0x8B, 0x01, 0x4B, 0x72, 0x0A, 0xA2, 0xCF, 0x27, 0xAE, 0xA7, 0x71, 0xF3, 0xAF, 0x48, 0x63,\r
+               0x06, 0x16, 0xA2, 0xAA, 0x29, 0x57, 0xB3, 0xDD, 0x64, 0x53, 0xAD, 0xF0, 0x89, 0x22, 0xF3, 0x57,\r
+               0x35, 0x7B, 0x83, 0xCE, 0x8F, 0x20, 0x14, 0x7E, 0x84, 0x07, 0xBB, 0x22, 0x0C, 0x77, 0x67, 0x88,\r
+               0x5B, 0x5C, 0xBA, 0x13, 0xFF, 0x39, 0xE5, 0x12, 0x20, 0x0F, 0xC9, 0xEE, 0x2D, 0xFD, 0xD8, 0x7B,\r
+               0xE8, 0x64, 0xDB, 0xF7, 0x04, 0x67, 0x27, 0x95, 0xD3, 0x0B, 0xAB, 0xA0, 0xB0, 0xC6, 0x6F, 0x7E,\r
+               0xF5, 0xBB, 0x07, 0x0D, 0xF1, 0xAF, 0x10, 0x4D, 0x7C, 0xF8, 0xA8, 0x18, 0xAD, 0xAE, 0x9C, 0x3A,\r
+               0x1B, 0xD6, 0x14, 0x42, 0x04, 0x93, 0x30, 0x54, 0xC1, 0x0E, 0x3F, 0xEE, 0xDC, 0x29, 0xA4, 0xCC,\r
+               0xF1, 0x4A, 0xD3, 0xEA, 0xF6, 0x3D, 0xEB, 0xCC, 0xAB, 0x68, 0x61, 0x0C, 0x18, 0xFA, 0x7D, 0xA1,\r
+               0x58, 0x1D, 0x7B, 0x5C, 0xE3, 0x7E, 0x7B, 0xB9, 0xA6, 0x38, 0x1D, 0x98, 0x27, 0x8B, 0xD1, 0x86,\r
+               0x96, 0x42, 0xC9, 0x8C, 0x4E, 0xBB, 0xA9, 0x96, 0x3F, 0x75, 0xE0, 0xA7, 0x4E, 0xD3, 0x6A, 0xFF,\r
+               0x6A, 0xE9, 0xC4, 0x48, 0x78, 0xA1, 0xE7, 0x40, 0x05, 0x3B, 0x9C, 0x46, 0x71, 0xA0, 0x5D, 0x46,\r
+               0x05, 0x91, 0x34, 0xDA, 0x27, 0xD6, 0xD2, 0x1F, 0xE8, 0x37, 0x9E, 0xDE, 0x0F, 0x04, 0xF7, 0x19,\r
+               0x34, 0x64, 0xB5, 0xFD, 0x82, 0x96, 0xA1, 0x90, 0x3A, 0xB3, 0xCC, 0x51, 0xD7, 0xD0, 0x5F, 0xBA,\r
+               0x16, 0x30, 0x41, 0x54, 0x16, 0xE9, 0xB9, 0xC5, 0x89, 0x1E, 0x91, 0x78, 0xF1, 0xCE, 0xD8, 0x23,\r
+               0x41, 0x4B, 0x0D, 0xE9, 0x51, 0x67, 0x31, 0x5F, 0x42, 0x58, 0xF2, 0x54, 0x4D, 0x42, 0xB8, 0x9B,\r
+               0xBD, 0xE0, 0x39, 0xCD, 0xF6, 0xC8, 0xD7, 0x51, 0x3D, 0x0C, 0xF4, 0xDC, 0x11, 0x32, 0x99, 0xF8,\r
+               0x0B, 0x60, 0x3B, 0x32, 0x1B, 0xE6, 0x85, 0xEE, 0x66, 0xD2, 0x6F, 0x54, 0xA9, 0x74, 0x76, 0xF7,\r
+               0xF9, 0x84, 0x0A, 0xD0, 0x25, 0x1E, 0xA5, 0x64, 0xAE, 0x30, 0xD6, 0x11, 0xD2, 0x83, 0xE6, 0x56,\r
+               0x9D, 0xAD, 0x5B, 0xBA, 0x4D, 0x2E, 0x36, 0x25, 0x68, 0x4D, 0x9B, 0xF4, 0x8E, 0x82, 0x0C, 0xDC,\r
+               0xFF, 0x69, 0x97, 0xB6, 0x82, 0x2F, 0xD1, 0x64, 0x1E, 0xC9, 0xA4, 0x10, 0xCE, 0x4E, 0xDE, 0x20,\r
+               0xEF, 0xB2, 0xD0, 0x08, 0xC9, 0x9D, 0xC0, 0x7E, 0xCE, 0x4C, 0x57, 0x17, 0x05, 0x26, 0xC3, 0x4D,\r
+               0x43, 0xBF, 0xD3, 0x95, 0x69, 0xAC, 0xDB, 0x98, 0x0E, 0x08, 0xE1, 0xB7, 0x93, 0xF6, 0x51, 0x66,\r
+               0x2C, 0x9E, 0xA4, 0x84, 0x52, 0xCE, 0x69, 0xC9, 0x47, 0xFA, 0x5E, 0x22, 0x1C, 0x73, 0x94, 0x7C,\r
+               0x12, 0xC7, 0xBF, 0xE1, 0x98, 0x7C, 0x99, 0x2E, 0xF5, 0xD4, 0xED, 0x1F, 0x12, 0x23, 0x91, 0x0A,\r
+               0xB0, 0xF9, 0x57, 0x9D, 0x47, 0xF3, 0x6B, 0x7E, 0xF9, 0x65, 0x84, 0xAF, 0xD2, 0x7F, 0x91, 0xD8,\r
+               0xEA, 0x91, 0x7F, 0x7D, 0x21, 0xE5, 0x51, 0x64, 0xAB, 0x56, 0x5C, 0xD1, 0x8A, 0xFB, 0xF3, 0x68,\r
+               0xE2, 0x05, 0x30, 0xE8, 0x62, 0xA9, 0x4A, 0x68, 0x7E, 0xB5, 0xCA, 0xC6, 0xEA, 0x00, 0x8D, 0x02,\r
+               0x97, 0x41, 0x32, 0x01, 0xD4, 0x72, 0x3B, 0xF3, 0x6A, 0x7F, 0x3C, 0xE2, 0x86, 0x01, 0xEE, 0x33,\r
+               0x07, 0xCA, 0xE1, 0x37, 0x77, 0x55, 0xD5, 0x4F, 0x81, 0x40, 0xB5, 0x53, 0x3A, 0x60, 0xFA, 0xEB,\r
+               0xC2, 0x1E, 0xA8, 0x8D, 0x91, 0x31, 0x37, 0xA0, 0xEE, 0x4D, 0x1A, 0x0F, 0x5A, 0x76, 0x71, 0x33,\r
+               0x5D, 0xCC, 0x86, 0x6E, 0x01, 0x4D, 0xB1, 0x43, 0x55, 0x7A, 0x19, 0x4D, 0x5D, 0xD8, 0xA9, 0x16,\r
+               0x3A, 0xCA, 0x52, 0xEF, 0xAE, 0x54, 0x4F, 0x3B, 0x7C, 0xE2, 0x5F, 0x81, 0x30, 0x54, 0xAC, 0x0F,\r
+               0x8E, 0x7D, 0x32, 0x57, 0x47, 0x55, 0x89, 0x10, 0xFE, 0x16, 0x90, 0xBE, 0x0D, 0x1F, 0x0E, 0x20,\r
+               0x39, 0x40, 0xE4, 0xE1, 0x92, 0x05, 0x0C, 0xC7, 0xF3, 0xD9, 0x9F, 0xE7, 0xF5, 0xCB, 0x93, 0xA8,\r
+               0x08, 0xAB, 0xE8, 0x9F, 0x70, 0xC2, 0x52, 0x3B, 0x2C, 0x54, 0x95, 0x7E, 0x8E, 0x2A, 0x74, 0xA2,\r
+               0xC7, 0x5A, 0x76, 0x4C, 0x3A, 0x53, 0x94, 0x36, 0xF5, 0xA8, 0x78, 0x92, 0xF7, 0x2F, 0xDC, 0xD7,\r
+               0x6E, 0xC1, 0x10, 0x62, 0xB3, 0xC4, 0x7C, 0x43, 0x12, 0x06, 0xE3, 0x56, 0xB7, 0x88, 0x0D, 0x4B,\r
+               0x38, 0x7D, 0xE6, 0x1A, 0x6E, 0x3B, 0x0F, 0x3B, 0xD8, 0x44, 0xA6, 0x48, 0x0C, 0xE4, 0x02, 0xEF,\r
+               0x7A, 0x3E, 0xA9, 0x0D, 0xEB, 0x12, 0x44, 0x19, 0x5D, 0x6A, 0x56, 0x0F, 0xD8, 0x66, 0xE4, 0x72,\r
+               0x0E, 0xEC, 0x98, 0xD6, 0xB0, 0x42, 0xEE, 0xD1, 0x19, 0x83, 0x33, 0x84, 0xA2, 0xE9, 0xE3, 0x1E,\r
+               0x68, 0x29, 0x9A, 0x1A, 0x06, 0x44, 0xD4, 0x8A, 0xE0, 0xD5, 0x24, 0xBF, 0x03, 0x8D, 0x51, 0x57,\r
+               0xB7, 0xDE, 0x11, 0x6C, 0x1D, 0x3C, 0x93, 0x08, 0x08, 0xE6, 0xDC, 0xEF, 0x54, 0xE6, 0x3A, 0x1D,\r
+               0x71, 0xF5, 0xD7, 0x89, 0x67, 0x7E, 0x98, 0x4E, 0xCF, 0x7D, 0x47, 0x3A, 0x76, 0x28, 0xE3, 0x34,\r
+               0xBC, 0xC1, 0xB6, 0x7B, 0x88, 0x83, 0xD9, 0x8B, 0xB7, 0x7C, 0xEC, 0x92, 0x34, 0x8F, 0xEB, 0x02,\r
+               0x13, 0x0C, 0x89, 0x89, 0x30, 0x9D, 0xF7, 0x3E, 0x0B, 0xD2, 0xB6, 0x51, 0xD1, 0x59, 0x26, 0x8C,\r
+               0xCF, 0x94, 0xD8, 0x79, 0xA9, 0x78, 0x6D, 0xAC, 0x4F, 0x46, 0xA3, 0x68, 0x1A, 0x53, 0xDF, 0x95,\r
+               0x4B, 0xBE, 0x00, 0x95, 0xF6, 0x50, 0x72, 0xE5, 0x2F, 0x99, 0xDE, 0x7E, 0xFB, 0xC3, 0xE0, 0x06,\r
+               0x62, 0xE5, 0x75, 0x91, 0x87, 0x90, 0x9A, 0x0E, 0xD6, 0xC4, 0x63, 0xD4, 0x25, 0x45, 0x60, 0xF1,\r
+               0x7F, 0x66, 0x61, 0xCE, 0xB4, 0xB2, 0xDF, 0xF8, 0x3E, 0x75, 0x6D, 0x88, 0x0D, 0xD4, 0xC5, 0x00,\r
+               0xC3, 0x84, 0xDF, 0xAC, 0x7B, 0xC9, 0x88, 0x00, 0x8D, 0x76, 0xAD, 0x63, 0xB2, 0x9B, 0xF3, 0xDC,\r
+               0xE1, 0xF2, 0xBB, 0x17, 0xC8, 0xA1, 0x09, 0xBA, 0x4D, 0xC1, 0xCB, 0x81, 0xE8, 0x31, 0xFB, 0xBE,\r
+               0x79, 0x32, 0x81, 0xB5, 0x14, 0x8C, 0xC8, 0x6C, 0xB4, 0x52, 0x32, 0xBC, 0xCD, 0xB8, 0x0D, 0x71,\r
+               0x53, 0x94, 0x75, 0x6F, 0x2C, 0xBF, 0xD0, 0xE6, 0xDE, 0xD2, 0xA6, 0x04, 0x3C, 0xE0, 0xFC, 0x5B,\r
+               0x40, 0xF6, 0x55, 0x2D, 0x16, 0x68, 0xB4, 0x62, 0xC7, 0xA6, 0xBC, 0xDA, 0x47, 0xFC, 0x41, 0x45,\r
+               0x81, 0x33, 0x97, 0x51, 0xAB, 0x0C, 0x04, 0x5E, 0x18, 0x15, 0x91, 0x4C, 0xFC, 0xEA, 0x51, 0x27,\r
+               0x1C, 0xFC, 0x2A, 0x00, 0x55, 0x1D, 0x94, 0xC7, 0xD9, 0x39, 0x00, 0x40, 0x59, 0x1E, 0x47, 0x38,\r
+               0x4D, 0xDC, 0x46, 0xA1, 0x4A, 0x3C, 0x3F, 0x11, 0xE7, 0xAC, 0x39, 0xA3, 0xEC, 0xEF, 0xBF, 0xA5,\r
+               0x05, 0x97, 0x86, 0x49, 0x48, 0x35, 0x87, 0x10, 0x47, 0x07, 0x8D, 0xEA, 0xC8, 0xA4, 0xE7, 0x79,\r
+               0xA5, 0x67, 0x99, 0xED, 0x87, 0xDA, 0xEC, 0xC4, 0xB9, 0x0C, 0xFF, 0x52, 0x3A, 0x4B, 0x9B, 0xE7,\r
+               0x89, 0x51, 0x8D, 0x31, 0x77, 0xB4, 0x7E, 0x4B, 0xFD, 0xB4, 0x41, 0x95, 0x23, 0xDD, 0x44, 0x4F,\r
+               0x1B, 0x5A, 0x9F, 0x95, 0x93, 0xC4, 0x46, 0xCE, 0x77, 0x79, 0xD6, 0x90, 0xF6, 0xC2, 0xA3, 0xCC,\r
+               0x47, 0x2B, 0xAC, 0xA4, 0x5F, 0x62, 0x8C, 0x09, 0x34, 0x66, 0x7B, 0x89, 0x3C, 0xCC, 0xD9, 0xAD,\r
+               0xD9, 0x4F, 0xD3, 0x72, 0x53, 0x18, 0x6B, 0x30, 0x4C, 0x88, 0x75, 0x05, 0x02, 0xE4, 0x16, 0xD4,\r
+               0x3D, 0x14, 0x7E, 0xCE, 0xCC, 0xAB, 0xB1, 0xB4, 0x2E, 0x01, 0x0C, 0x39, 0xE5, 0x73, 0x19, 0x19,\r
+               0x07, 0xA8, 0xD2, 0x7D, 0x6A, 0xF2, 0x6A, 0x9F, 0xCC, 0x04, 0xE6, 0x89, 0xFC, 0x29, 0x36, 0x43,\r
+               0x6F, 0x83, 0x41, 0x6D, 0x78, 0xD7, 0x69, 0x66, 0x4F, 0xBD, 0xD1, 0xB7, 0x9F, 0x34, 0x38, 0xB2,\r
+               0xE8, 0x4E, 0xC3, 0xDC, 0x37, 0xFF, 0xFE, 0x69, 0x10, 0x10, 0xF1, 0x86, 0x3C, 0xDA, 0xE1, 0x5B,\r
+               0x3B, 0x0F, 0xD9, 0x01, 0x0D, 0x3F, 0xA0, 0x05, 0x82, 0xFC, 0x2A, 0x50, 0xFA, 0x30, 0xF8, 0x99,\r
+               0x6E, 0xA2, 0xDB, 0xC4, 0xBC, 0x81, 0x66, 0xD0, 0x26, 0xD2, 0x63, 0xAF, 0x76, 0xBF, 0x24, 0x1E,\r
+               0xE3, 0x2D, 0xDA, 0xBF, 0x04, 0x45, 0x6C, 0x94, 0x39, 0xC6, 0x72, 0x69, 0xA6, 0xC7, 0x3B, 0x4A,\r
+               0xB6, 0xEB, 0xA3, 0x8A, 0x8B, 0xC4, 0x7A, 0x4A, 0x1B, 0x28, 0xD5, 0xE9, 0xE9, 0xF4, 0x84, 0xFF,\r
+               0x3C, 0x23, 0x45, 0x67, 0xE8, 0x7A, 0x08, 0x1F, 0xFF, 0x5A, 0x24, 0x98, 0xE7, 0x9A, 0x97, 0x14,\r
+               0x11, 0x15, 0x07, 0xFB, 0x97, 0x42, 0x0D, 0xF5, 0xE7, 0x5A, 0x60, 0xDD, 0xCC, 0xF5, 0xEB, 0x32,\r
+               0x0F, 0xCB, 0x64, 0xFB, 0x99, 0x57, 0x50, 0xCA, 0x06, 0xEA, 0x78, 0xDA, 0x40, 0xD7, 0x1B, 0x67,\r
+               0x83, 0x99, 0xBF, 0xC1, 0xDB, 0x5C, 0x33, 0x97, 0x2D, 0x10, 0xF0, 0xD6, 0x3D, 0x80, 0x03, 0xE4,\r
+               0xF3, 0x60, 0x4F, 0x73, 0x31, 0xF9, 0x35, 0xBE, 0x26, 0x2F, 0x16, 0xAC, 0xB9, 0x7C, 0x83, 0x44,\r
+               0x4A, 0xFE, 0xF1, 0xB6, 0x76, 0x0C, 0xDC, 0xB7, 0xA9, 0xC6, 0xBA, 0x0D, 0xB9, 0x99, 0xC0, 0xA7,\r
+               0x12, 0x3E, 0x90, 0x31, 0xA5, 0x1B, 0x21, 0x39, 0xA1, 0x78, 0x68, 0xB5, 0x45, 0x57, 0x63, 0xBF,\r
+               0x61, 0xBC, 0xD8, 0x1D, 0x14, 0xF3, 0x5D, 0x41, 0xB7, 0xBE, 0x26, 0xFB, 0x76, 0xAB, 0x44, 0x1B,\r
+               0xC5, 0x55, 0x27, 0x76, 0x64, 0xA1, 0x5F, 0xCF, 0xED, 0x8A, 0x13, 0x55, 0x3C, 0xC4, 0xA0, 0xF7,\r
+               0xE7, 0x79, 0x6F, 0xAE, 0x83, 0x77, 0x96, 0x03, 0x09, 0x3E, 0x01, 0xB3, 0x1B, 0x2E, 0x67, 0xC9,\r
+               0x37, 0xE0, 0x98, 0x03, 0xAF, 0x79, 0x20, 0x99, 0x7A, 0x0F, 0x1A, 0x75, 0x75, 0x82, 0xC4, 0x42,\r
+               0xB2, 0xD5, 0x16, 0x09, 0x7B, 0x0E, 0x9F, 0x4E, 0xC9, 0x24, 0xA8, 0x16, 0xFF, 0xED, 0x00, 0x59,\r
+               0xE2, 0xE4, 0x3C, 0x8C, 0x63, 0xEA, 0x2C, 0x7C, 0xB9, 0x63, 0x58, 0x08, 0x80, 0xD3, 0x8F, 0x08,\r
+               0xB5, 0xA3, 0x9A, 0xFD, 0xD7, 0x96, 0xAE, 0x5D, 0xB5, 0xF7, 0x44, 0xAB, 0x4C, 0xCA, 0x39, 0x2D,\r
+               0x42, 0x77, 0x9A, 0xB5, 0x3C, 0xF3, 0x17, 0x0A, 0xE2, 0x3A, 0x64, 0x04, 0xCE, 0x38, 0x68, 0x75,\r
+               0x43, 0xBE, 0x14, 0xEC, 0x46, 0x36, 0x5A, 0x5A, 0x0C, 0xB1, 0xF7, 0x19, 0x82, 0x5C, 0xAC, 0xA7,\r
+               0x8F, 0xBE, 0xBE, 0x44, 0xE2, 0x42, 0x65, 0x23, 0xB8, 0x61, 0x10, 0x9F, 0x7C, 0x3E, 0x1B, 0xB4,\r
+               0xA1, 0x4E, 0xA7, 0x65, 0xCB, 0xC0, 0x74, 0xE0, 0x98, 0x7E, 0x14, 0x1A, 0x40, 0xC6, 0x8D, 0x56,\r
+               0xB7, 0x69, 0x69, 0x3C, 0x07, 0xBD, 0xDB, 0x25, 0xB3, 0x20, 0xF6, 0x81, 0x69, 0x03, 0x1D, 0x40,\r
+               0x19, 0x69, 0x06, 0x83, 0xAD, 0xC5, 0xD8, 0xDD, 0xDC, 0x38, 0x70, 0xF4, 0x58, 0x9C, 0x8D, 0x2A,\r
+               0x95, 0x39, 0x33, 0x64, 0x10, 0xA8, 0x9E, 0x97, 0x41, 0x05, 0x8E, 0x26, 0x74, 0xFB, 0xEB, 0x06,\r
+               0xBE, 0x77, 0x47, 0xF8, 0x20, 0x09, 0x45, 0xF9, 0xE4, 0x17, 0xAA, 0x73, 0xFD, 0x71, 0xFC, 0xF7,\r
+               0x3A, 0xD2, 0x4C, 0xBA, 0x40, 0x74, 0x9D, 0x1D, 0x7D, 0xEB, 0x90, 0x28, 0x51, 0x2B, 0x54, 0xAE,\r
+               0xC1, 0xA9, 0x93, 0xA1, 0x91, 0x70, 0x0B, 0xA0, 0x97, 0x5C, 0x8B, 0xD0, 0x3E, 0x23, 0x4D, 0x6D,\r
+               0xC0, 0xBD, 0x2D, 0x5E, 0xD4, 0x17, 0xFD, 0x3C, 0xFB, 0xDA, 0xFA, 0xCD, 0x56, 0x56, 0x02, 0x25,\r
+               0x49, 0x88, 0x61, 0xC0, 0x1D, 0xAB, 0x22, 0x96, 0xF1, 0x52, 0xBD, 0xED, 0xE3, 0xAF, 0x92, 0x65,\r
+               0x25, 0xBA, 0x01, 0x7A, 0xDF, 0x12, 0x67, 0xA6, 0x4C, 0xC8, 0xCE, 0x64, 0xF9, 0xF9, 0x0D, 0x09,\r
+               0xA7, 0x6D, 0x85, 0xE2, 0xF5, 0x0F, 0x97, 0xDC, 0x06, 0x43, 0x85, 0xF8, 0x8C, 0xBB, 0x83, 0xDA,\r
+               0x28, 0x1B, 0x12, 0x10, 0x45, 0xE8, 0xF2, 0x7F, 0xC5, 0x1B, 0x2F, 0xAA, 0xB3, 0xCF, 0x31, 0xFB,\r
+               0xDE, 0x2E, 0xAF, 0xA5, 0x89, 0x8C, 0x51, 0x73, 0xF3, 0xF3, 0x48, 0xBC, 0x8B, 0x4F, 0x98, 0x91,\r
+               0x0A, 0x3D, 0x78, 0xE2, 0xBF, 0x9F, 0x5E, 0x18, 0x42, 0xD8, 0xCD, 0x8F, 0x33, 0xF8, 0x17, 0x45,\r
+               0xEB, 0x81, 0xD6, 0xCC, 0x90, 0xF1, 0x54, 0x05, 0x45, 0xAA, 0x93, 0x60, 0xF3, 0xC9, 0x9A, 0x4C,\r
+               0xEE, 0x13, 0xC9, 0x68, 0xE0, 0x4D, 0xB9, 0xB9, 0x1B, 0x3A, 0x55, 0x06, 0x9F, 0x06, 0x73, 0xD6,\r
+               0x98, 0x10, 0x85, 0xEE, 0x98, 0x76, 0x77, 0x7C, 0x6F, 0xDD, 0x36, 0x19, 0x76, 0xD2, 0x01, 0x69,\r
+               0x92, 0x74, 0x2A, 0xB1, 0x66, 0x65, 0x62, 0x93, 0x3D, 0xE2, 0xAC, 0xD8, 0x35, 0x0E, 0x21, 0x8A,\r
+               0x02, 0x92, 0x30, 0x39, 0xA8, 0xA7, 0x1F, 0x5B, 0x45, 0x38, 0xB3, 0xE0, 0x0F, 0x8A, 0x1E, 0x39,\r
+               0x84, 0x9F, 0x4F, 0xEB, 0x90, 0x34, 0xA2, 0x81, 0x63, 0xFA, 0x5B, 0x16, 0xCC, 0xA3, 0xAD, 0x32,\r
+               0x4C, 0xD4, 0x63, 0xB8, 0x41, 0xC1, 0xE5, 0x5B, 0x08, 0x0B, 0x15, 0x62, 0xC1, 0xA9, 0x5C, 0x1F,\r
+               0x27, 0xF1, 0xE5, 0x6D, 0x76, 0x77, 0x1D, 0xB5, 0x15, 0x67, 0x52, 0x9C, 0x9C, 0x76, 0xE0, 0x77,\r
+               0xE9, 0x5D, 0x6A, 0x3F, 0xD7, 0x8B, 0x86, 0xBD, 0x33, 0x25, 0x59, 0x7A, 0x32, 0xB0, 0x42, 0x2C,\r
+               0x4E, 0xA8, 0x21, 0x4F, 0x32, 0x36, 0x2D, 0x22, 0x34, 0x07, 0x18, 0x43, 0x7E, 0x7D, 0xDC, 0x36,\r
+               0xB5, 0xB6, 0x4A, 0x87, 0x10, 0xBF, 0xAC, 0x1E, 0x22, 0x03, 0x5D, 0x99, 0x01, 0x38, 0x6B, 0xD4,\r
+               0x79, 0x8B, 0x72, 0xE7, 0x9E, 0x09, 0x48, 0x87, 0x53, 0xD9, 0x49, 0x17, 0x11, 0x03, 0xA9, 0xB2,\r
+               0x5D, 0xF6, 0xB5, 0xDE, 0x60, 0x76, 0x19, 0xDB, 0xD2, 0x58, 0x87, 0xA0, 0x41, 0x53, 0x97, 0x4C,\r
+               0xFF, 0xDB, 0x21, 0x5A, 0xD2, 0x34, 0x3A, 0x8F, 0xA9, 0xEC, 0x84, 0xF3, 0x95, 0xA8, 0x8D, 0x0E,\r
+               0x27, 0xF3, 0xD2, 0x0C, 0x60, 0x44, 0x56, 0x3F, 0xAF, 0x10, 0x8E, 0x2A, 0x31, 0x28, 0xB9, 0xEE,\r
+               0xF8, 0x3B, 0x59, 0x44, 0x52, 0x83, 0x05, 0x2B, 0xD6, 0xBD, 0x25, 0x91, 0x27, 0xCA, 0xCC, 0x3D,\r
+               0x75, 0x43, 0x32, 0x6D, 0x8B, 0xAE, 0xD4, 0xA8, 0x3C, 0xA6, 0xEF, 0x81, 0x77, 0x39, 0x4A, 0x40,\r
+               0xA7, 0xEB, 0xA3, 0x1F, 0x5F, 0x31, 0x33, 0x86, 0xD4, 0x69, 0x01, 0xC3, 0x21, 0x5B, 0x6F, 0x68,\r
+               0x0E, 0x06, 0x00, 0x0C, 0x00, 0x08, 0x03, 0x0C, 0x01, 0x0F, 0x0E, 0x0A, 0xCD, 0xCD, 0xCD, 0xCD,\r
+               0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD,\r
+               0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD,\r
+               0x01, 0x06, 0x02, 0x04, 0x00, 0x03, 0x07, 0x05, 0x04, 0x07, 0x00, 0x03, 0x05, 0x01, 0x06, 0x02,\r
+               0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD\r
+       };\r
+\r
+       SimpleTransform((unsigned char*)ReverseKeyTransformArray, KEY_TRANSFORM_NR, in, out);\r
+\r
+       return;\r
+}\r
diff --git a/SPC/Src/SPCApi.cpp b/SPC/Src/SPCApi.cpp
new file mode 100755 (executable)
index 0000000..60380e9
--- /dev/null
@@ -0,0 +1,329 @@
+#include "SPCApi.h"\r
+\r
+\r
+#ifndef PRINT_LOG\r
+#define PRINT_BUFFER(A, B, C)\r
+#else\r
+#define PRINT_BUFFER   PrintBYTE\r
+#endif\r
+\r
+\r
+#define _SPC_DEBUG_VER \r
+//#define _SPC_FILE_LOG                \r
+\r
+#ifdef _SPC_DEBUG_VER\r
+FILE*       SPClogfile = NULL;\r
+FILE*       SPCmsgfile = NULL;\r
+DRMLOG_CTX  SPCLogCTX;\r
+#endif \r
+\r
+\r
+\r
+SPC_INTERNAL SPCApi::SPCApi()\r
+{\r
+\r
+}\r
+\r
+\r
+SPC_INTERNAL int SPCApi::InitSPCContext(SPCHandle_CTX* pSPCctx,ModeType eMode,unsigned char* pUserID,unsigned int nUserIDLen)\r
+{\r
+       #ifdef _SPC_DEBUG_VER\r
+       #ifdef _SPC_FILE_LOG\r
+               // Output log infomation to file        \r
+       #ifdef _LINUX\r
+           SPClogfile = fopen ("/sdcard/logClient.txt", "wt");\r
+           SPCmsgfile = fopen ("/sdcard/msgClient.txt", "wt");\r
+       #else\r
+               SPClogfile = fopen ("./log.txt", "a+");\r
+           SPCmsgfile = fopen ("./msg.txt", "a+");\r
+       #endif\r
+           // Print logs into the specifed file\r
+           DRMLOG_SetOutput (&SPCLogCTX, SPClogfile);\r
+       #else \r
+               // output to stdout\r
+               printf(" InitSPCContext stdout \n");\r
+           DRMLOG_SetOutput (&SPCLogCTX, stdout);\r
+       #endif \r
+           // Log level\r
+       #ifdef  _SPC_LOG_LEVEL_DEBUG\r
+           DRMLOG_SetLevel (&SPCLogCTX, LOG_DEBUG);\r
+       #elif   _SPC_LOG_LEVEL_INFO \r
+           DRMLOG_SetLevel (&SPCLogCTX, LOG_INFO);\r
+       #elif   _SPC_LOG_LEVEL_WARN \r
+           DRMLOG_SetLevel (&SPCLogCTX, LOG_WARN);\r
+       #elif   _SPC_LOG_LEVEL_ERROR \r
+           DRMLOG_SetLevel (&SPCLogCTX, LOG_ERROR);\r
+       #elif   _SPC_LOG_LEVEL_FATAL \r
+           DRMLOG_SetLevel (&SPCLogCTX, LOG_FATAL);\r
+       #else\r
+           DRMLOG_SetLevel (&SPCLogCTX, LOG_INFO);\r
+       #endif\r
+           // Print: Level + Filename\r
+           DRMLOG_SetFormat (&SPCLogCTX, LOG_FORMAT_LEVEL | LOG_FORMAT_FILE);\r
+       #endif\r
+       \r
+               if(pSPCctx==NULL)\r
+               {\r
+                       return SAKEP_INPUT_INVALID_ERROR;\r
+               }\r
+\r
+\r
+               DRMLOG_Message(&SPCLogCTX,LOG_INFO,__FILE__,__LINE__,"InitSPCContext UserID: %s UserIDLen:%d\n",pUserID,nUserIDLen);\r
+               \r
+               pSPCctx->pUserID = (unsigned char*)malloc( nUserIDLen+1);\r
+               if(pSPCctx->pUserID == NULL)\r
+               return SAKEP_MEMROY_ALLOCATE_ERROR;\r
+               pSPCctx->nUserIDLen = nUserIDLen;\r
+               pSPCctx->LoginTryCount = SPC_LOGIN_LIMITED_COUNT;\r
+//             pSPCctx->LoginTryCount = nLoginCount;\r
+               memset(pSPCctx->pUserID,0x00,nUserIDLen+1);\r
+               memcpy(pSPCctx->pUserID,pUserID,nUserIDLen);            \r
+               //added by sangsu 0308\r
+               memset(pSPCctx->ctx.pPreHashMsg,0x00,SAKEP_SHA1_HASH_SIZE);\r
+               memset(pSPCctx->ctx.pSharedkey,0x00,SAKEP_SHARED_KEY_SIZE);\r
+               memset(pSPCctx->ctx.pSKPrime,0x00,SAKEP_SK_PRIME_KEY_SIZE);\r
+               pSPCctx->ctx.eErrorType = (ErrorType) 0x00;\r
+               if(eMode == SERVER_MODE)\r
+               {\r
+                       pSPCctx->ctx.eState = STATE_WAIT_INITALSETUP;\r
+               }\r
+               if(eMode == CLIENT_MODE)\r
+               {\r
+               \r
+                       pSPCctx->ctx.eState = STATE_IDLE;\r
+               }\r
+\r
+               return SPC_SUCCESS;\r
+       \r
+}\r
+\r
+SPCApi::~SPCApi()\r
+{\r
+       #ifdef _SPC_DEBUG_VER\r
+       #ifdef _SPC_FILE_LOG\r
+           if (SPClogfile != NULL)\r
+           {\r
+               fclose (SPClogfile);\r
+               SPClogfile = NULL;\r
+           }\r
+       \r
+           if (SPCmsgfile != NULL)\r
+           {\r
+                   fclose (SPCmsgfile);\r
+                   SPCmsgfile = NULL;\r
+           }\r
+       #endif\r
+       #endif\r
+}\r
+\r
+SPC_INTERNAL void SPCApi::DestroySPCContext(SPCHandle_CTX* pSPCctx)\r
+{\r
+       if(pSPCctx->pUserID !=NULL)\r
+       {\r
+               free(pSPCctx->pUserID);\r
+       }\r
+       pSPCctx->ctx.eErrorType = (ErrorType)SUCCESS;\r
+       pSPCctx->ctx.eState = (AkeState)STATE_IDLE;\r
+       memset(pSPCctx->ctx.pPreHashMsg,0x00,SAKEP_SHA1_HASH_SIZE);\r
+       memset(pSPCctx->ctx.pSharedkey,0x00,SAKEP_SHARED_KEY_SIZE);\r
+       memset(pSPCctx->ctx.pSKPrime,0x00,SAKEP_SK_PRIME_KEY_SIZE);\r
+}\r
+\r
+SPC_INTERNAL void SPCApi::ClearSPCSessionContext(SPCHandle_CTX* pSPCctx)\r
+{\r
+       pSPCctx->ctx.eErrorType = (ErrorType)SUCCESS;\r
+       pSPCctx->ctx.eState = (AkeState)STATE_IDLE;\r
+       memset(pSPCctx->ctx.pPreHashMsg,0x00,SAKEP_SHA1_HASH_SIZE);\r
+       //memset(pSPCctx->ctx.pSharedkey,0x00,SAKEP_SHARED_KEY_SIZE);\r
+       //memset(pSPCctx->ctx.pSKPrime,0x00,SAKEP_SK_PRIME_KEY_SIZE);\r
+}\r
+\r
+\r
+/**\r
+       * @fn           int ParseClientHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pMessage,unsigned int nInLen)\r
+       * @brief        Parse Client Hello Message\r
+       *\r
+       * @param        [in/out] pSPCctx                        Context Container\r
+       * @param        [in] pPin                       common Pin Data\r
+       * @param        [in] nPinLen            common Pin Data Length\r
+       * @param        [in] pMessage           input Message\r
+       * @param        [in] nInLen             input Message Length             \r
+       * @return       result of ParseClientHello\r
+       */\r
+SPC_INTERNAL int SPCApi::ParseClientHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd, unsigned int nPwdLen,unsigned char* pMessage,unsigned int nInLen)\r
+{\r
+       int reVal = SPC_SUCCESS;\r
+\r
+       if((NULL==pSPCctx) || (pMessage == NULL) || (nInLen == 0))\r
+       {\r
+               return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+       \r
+       reVal = m_SAkep.ParseClientHello(&(pSPCctx->ctx),pPwd,nPwdLen,pMessage,nInLen);\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"ParseClientHello login count  [ : %d ]\n",pSPCctx->LoginTryCount);\r
+\r
+               return reVal;\r
+       }       \r
+       \r
+       return reVal;\r
+}\r
+\r
+/**\r
+       * @fn           int GeneratorServerHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pID,unsigned char* pOutMsg,unsigned int* nOutLen)\r
+       * @brief        Generate Server Hello Message\r
+       *\r
+       * @param        [in] pSPCctx                    Context Container               \r
+       * @param        [in] pPwd                       common password Data\r
+       * @param        [in] pPwdLen            password Data length\r
+       * @param        [in] pID                        Client's ID Value\r
+       * @param        [out] pOutMsg           ClientHelloMessage result\r
+       * @param        [out] nOutLen           ClientHelloMessage Length\r
+       * @return       result of GeneratorServerHello\r
+       */\r
+SPC_INTERNAL int SPCApi::GeneratorServerHello(SPCHandle_CTX* pSPCctx,unsigned char* pPwd,unsigned int nPwdLen,unsigned char* pID,unsigned char* pOutMsg,unsigned int* nOutLen)\r
+{\r
+       int reVal = SPC_SUCCESS;\r
+       \r
+\r
+       if((NULL==pSPCctx) || (pPwd == NULL) || (nPwdLen == 0) || (pID == NULL) || (pOutMsg==NULL))\r
+       {\r
+               return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+\r
+       reVal = m_SAkep.GeneratorServerHello(&(pSPCctx->ctx),pPwd,nPwdLen,pSPCctx->pUserID,pSPCctx->nUserIDLen,pOutMsg,nOutLen);\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerHello login count  [ : %d ]\n",pSPCctx->LoginTryCount);\r
+               return reVal;\r
+       }\r
+       \r
+       return reVal;\r
+}\r
+\r
+/**\r
+ * @fn         int GeneratorAck(SPCHandle_CTX* pSPCctx,unsigned char* pOutMsg,unsigned int* nOutLen)\r
+ * @brief      Generate ACK Message\r
+ *\r
+ * @param      [in] pSPCctx                    Context Container       \r
+ * @param      [out] pOutMsg           ClientHelloMessage result\r
+ * @param      [out] nOutLen           ClientHelloMessage Length\r
+ * @return     result of GeneratorAck\r
+ */\r
+SPC_INTERNAL int SPCApi::GeneratorServerAck(SPCHandle_CTX* pSPCctx,unsigned char* pOutMsg,unsigned int* nOutLen)\r
+{\r
+       int reVal = SPC_SUCCESS;\r
+       \r
+       if((NULL==pSPCctx)||(pOutMsg==NULL) )\r
+       {\r
+               return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+\r
+       reVal = m_SAkep.GeneratorServerAck(&(pSPCctx->ctx),pOutMsg,nOutLen);\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+                       \r
+               DRMLOG_Message(&SPCLogCTX,LOG_ERROR,__FILE__,__LINE__,"GeneratorServerAck login count  [ : %d ]\n",pSPCctx->LoginTryCount);\r
+               return reVal;\r
+       }       \r
+       \r
+       \r
+\r
+       return reVal;\r
+}\r
+\r
+\r
+\r
+/**\r
+ * @fn         int ParseAck(SPCHandle_CTX* pSPCctx,unsigned char* pMessage,unsigned int nInLen)\r
+ * @brief      Parse Ack Message\r
+ *\r
+ * @param      [in] pSPCctx                    Context Container\r
+ * @param      [in] pMessage                   input Message\r
+ * @param      [in] nInLen                             input Message len\r
+ * @return     result of ParseAck\r
+ */\r
+SPC_INTERNAL int SPCApi::ParseClientAck(SPCHandle_CTX* pSPCctx,unsigned char* pMessage,unsigned int nInLen)\r
+{\r
+       int reVal = SPC_SUCCESS;\r
+\r
+       if((NULL == pSPCctx) || (pMessage == NULL)|| (nInLen == 0))\r
+       {\r
+               return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+\r
+       reVal = m_SAkep.ParserClientAck(&(pSPCctx->ctx),pMessage,nInLen);\r
+       if(reVal !=SPC_SUCCESS)\r
+       {\r
+               return reVal;\r
+       }\r
+       \r
+\r
+       return reVal;\r
+}\r
+\r
+\r
+/**\r
+ * @fn         int GeneratorRecordMsg ( Handle_CTX* ctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen)\r
+ * @brief      Content Encrytion\r
+ *\r
+ * @param      [in] ctx                                        Context Container\r
+ * @param      [in] pPlainData                         Plain Data(original data)\r
+ * @param      [in] uPlainDataLen                      Plain Data Length\r
+ * @param      [out] pEncryptedData            Encrypted Message(including Header)\r
+ * @param      [out] uEncryptedDataLen                         Encrypted Message length( Encrypted Data Length + Header length)\r
+ * @return     result of EncryptContents\r
+ */\r
\r
+SPC_INTERNAL int SPCApi::GeneratorRecordMsg ( SPCHandle_CTX* pSPCctx,unsigned char* pPlainData , unsigned int uPlainDataLen , unsigned char* pEncryptedData , unsigned int* uEncryptedDataLen)\r
+{\r
+       int reVal = SPC_SUCCESS;\r
+       \r
+       if((NULL==pSPCctx) || (pPlainData == NULL) || (uPlainDataLen == 0))\r
+       {\r
+               return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+       \r
+       \r
+       reVal = m_SAkep.GeneratorRecordMsg ( &(pSPCctx->ctx),pPlainData , uPlainDataLen , pEncryptedData ,  uEncryptedDataLen);\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+               return reVal;\r
+       }\r
+       \r
+       return reVal;\r
+}\r
+\r
+/**\r
+ * @fn         int ParseRecordMsg ( Handle_CTX* ctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen)\r
+ * @brief      Content Encrytion\r
+ *\r
+ * @param      [in] pSPCctx                                    Context Container\r
+ * @param      [in] pEncryptedData                             Encrypted Message(including Header)\r
+ * @param      [in] uEncryptedDataLen                  Encrypted Message length( Encrypted Data Length + Header length)\r
+ * @param      [out] pPlainData                                Decrypted Message(only payload Message) - (delete Header)\r
+ * @param      [out] uPlainDataLen                             Decrypted Message length(only payload Message length)-- (delete Header)\r
+ * @return     result of ParseRecordMsg\r
+ */\r
+SPC_INTERNAL int SPCApi::ParseRecordMsg ( SPCHandle_CTX* pSPCctx,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen ,unsigned char* pPlainData , unsigned int* uPlainDataLen)\r
+{\r
+       int reVal = SPC_SUCCESS;\r
+       \r
+       if((NULL==pSPCctx) || (pEncryptedData == NULL) || (uEncryptedDataLen == 0))\r
+       {\r
+               return SAKEP_INPUT_INVALID_ERROR;\r
+       }\r
+       \r
+       \r
+       reVal = m_SAkep.ParseRecordMsg ( &(pSPCctx->ctx),pEncryptedData ,  uEncryptedDataLen ,pPlainData ,uPlainDataLen);\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+               pSPCctx->LoginTryCount = 0;             \r
+               return reVal;\r
+       }\r
+\r
+       return reVal;\r
+}\r
+\r
diff --git a/SPC/Src/Util.cpp b/SPC/Src/Util.cpp
new file mode 100755 (executable)
index 0000000..18b31f1
--- /dev/null
@@ -0,0 +1,46 @@
+#include <stdio.h>\r
+\r
+/**\r
+4byte unsinged char * ¸¦ unsigned int ·Î º¯È¯.\r
+@param pData (Input) - º¯È¯ÇÒ unsigned char ÀÇ ½ÃÀÛ Æ÷ÀÎÅÍ \r
+@param uData (Output) - º¯È¯µÈ unsigned int Data \r
+*/\r
+void ConvertUint8ToUint32 (unsigned char* pData, unsigned int* uData)\r
+{      \r
+       *uData = pData[0] << 24 | pData [1] << 16 | \r
+                                       pData [2] << 8 | pData [3];\r
+}\r
+\r
+/**\r
+unsigned int ¸¦ 4byte unsigned char *·Î º¯È¯ \r
+@param uData (Input) - unsigned int Data to convert\r
+@param pData (Output) - º¯È¯µÈ unsigned char ÀÇ ½ÃÀÛ Æ÷ÀÎÅÍ \r
+*/\r
+void ConvertUint32ToUint8 (unsigned int uData, unsigned char* pData)\r
+{\r
+       pData [0] = (unsigned char) (uData >> 24);\r
+       pData [1] = (unsigned char) (uData >> 16);\r
+       pData [2] = (unsigned char) (uData >> 8);\r
+       pData [3] = (unsigned char) (uData);\r
+}\r
+\r
+/**\r
+ * @fn         GetFileLength(FILE *pFp,int *nFileLen)\r
+ * @brief      Get File length\r
+ *\r
+ * @param      [in] pOutMsg            Input File pointer\r
+ * @param      [out] nOutLen           file total length\r
+ * @return     result of GetFileLength\r
+*/\r
+int GetFileLength(FILE *pFp,int *nFileLen)\r
+{\r
+       int reVal = 0;\r
+\r
+       fseek(pFp,0,SEEK_END);\r
+\r
+       *nFileLen = ftell(pFp);\r
+\r
+    fseek(pFp,0,SEEK_SET);\r
+\r
+       return reVal;\r
+}
\ No newline at end of file
diff --git a/SPC/Src/WhiteBox/SDWAP.c b/SPC/Src/WhiteBox/SDWAP.c
new file mode 100755 (executable)
index 0000000..6a3a2a3
--- /dev/null
@@ -0,0 +1,571 @@
+/**\r
+ * @file       SDWAP.c\r
+ * @brief      Dynamic white box AES module for SSA(Samsung Security Architecture)\r
+ * @author     Samsung Dynamic WhiteBox AES \r
+ *                             - Chul Lee(chuls.lee@samsung.com)\r
+ *                             - Dept : Software R&D Center / Cloud Computing Lab.\r
+ *\r
+ * @see                SDWAP\r
+ * @date       2013-01-10\r
+ * @version    1.0\r
+ * @par                Copyright:\r
+ * Copyright 2013 by Samsung Electronics, Inc.,\r
+ * This software is the confiedential and properietary information \r
+ * of Samsung Elctronics, Inc. ("Confidential Information"). You \r
+ * shall not disclose such Confidential Information and shall use \r
+ * it only in accordance with the term of the lice agreement \r
+ * you entered into with Samsung.\r
+ * @par                Warning:\r
+ * This code sould not be exported out of Samsung Electronics.\r
+ * This code cannot be inserted in any customer device.\r
+ * The logic of dynamic whitebox table generation is confidential.\r
+ */\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// including header files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <memory.h>\r
+#include <stdio.h>\r
+#include "SDWAP_defines.h"\r
+#include "SDWAP.h"\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// function implementations\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         static void SDWAP_Encryption(SDWAP_TBOX *pTBox, SDWAP_PBOX *pPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian)\r
+ * @brief      SDWAP Encryption function.\r
+ *\r
+ * @param      [in] pTBox                      T-Box\r
+ * @param      [in] pPBox                      P-Box\r
+ * @param      [in] pWPBox                     word(4byte) permutation box\r
+ * @param      [in] pBPBox                     bit permutation box\r
+ * @param      [in] Nr                         number of rounds\r
+ * @param      [in] in                         input bytes(16-byte length)\r
+ * @param      [out] out                       output bytes(16-byte length)\r
+ * @param      [in] isLittleEndian     flag for little endian\r
+ * @return     void\r
+ */\r
+static void SDWAP_Encryption(SDWAP_TBOX *pTBox, SDWAP_KEY_LOOKUP *pKeyLookup, SDWAP_PBOX *pPBox, SDWAP_WORD_PBOX* pWPBox, SDWAP_BIT_PBOX* pBPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian)\r
+{\r
+       unsigned int i;\r
+       unsigned int idx = 0;\r
+       unsigned int idx16;\r
+       unsigned char idx_wps[16];\r
+       unsigned char state[16];        //state\r
+       unsigned char rk_xor[16] = {0x00,};\r
+       SDWAP_WORD* itmdt[16];          //intermediate value\r
+\r
+       //3. Process initial permutation\r
+       idx_wps[(pPBox[0][0][0]) & 0x0f] = state[(pPBox[0][0][0]) & 0x0f] = in[ 0] ^ (*pKeyLookup)[0][0] ^ (*pKeyLookup)[0][4] ^ (*pKeyLookup)[0][8];\r
+       idx_wps[(pPBox[0][0][1]) & 0x0f] = state[(pPBox[0][0][1]) & 0x0f] = in[ 1] ^ (*pKeyLookup)[1][0] ^ (*pKeyLookup)[1][4] ^ (*pKeyLookup)[1][8];\r
+       idx_wps[(pPBox[0][0][2]) & 0x0f] = state[(pPBox[0][0][2]) & 0x0f] = in[ 2] ^ (*pKeyLookup)[2][0] ^ (*pKeyLookup)[2][4] ^ (*pKeyLookup)[2][8];\r
+       idx_wps[(pPBox[0][0][3]) & 0x0f] = state[(pPBox[0][0][3]) & 0x0f] = in[ 3] ^ (*pKeyLookup)[3][0] ^ (*pKeyLookup)[3][4] ^ (*pKeyLookup)[3][8];\r
+       idx_wps[(pPBox[0][0][4]) & 0x0f] = state[(pPBox[0][0][4]) & 0x0f] = in[ 4] ^ (*pKeyLookup)[0][1] ^ (*pKeyLookup)[0][5] ^ (*pKeyLookup)[0][9];\r
+       idx_wps[(pPBox[0][0][5]) & 0x0f] = state[(pPBox[0][0][5]) & 0x0f] = in[ 5] ^ (*pKeyLookup)[1][1] ^ (*pKeyLookup)[1][5] ^ (*pKeyLookup)[1][9];\r
+       idx_wps[(pPBox[0][0][6]) & 0x0f] = state[(pPBox[0][0][6]) & 0x0f] = in[ 6] ^ (*pKeyLookup)[2][1] ^ (*pKeyLookup)[2][5] ^ (*pKeyLookup)[2][9];\r
+       idx_wps[(pPBox[0][0][7]) & 0x0f] = state[(pPBox[0][0][7]) & 0x0f] = in[ 7] ^ (*pKeyLookup)[3][1] ^ (*pKeyLookup)[3][5] ^ (*pKeyLookup)[3][9];\r
+       idx_wps[(pPBox[0][1][0]) & 0x0f] = state[(pPBox[0][1][0]) & 0x0f] = in[ 8] ^ (*pKeyLookup)[0][2] ^ (*pKeyLookup)[0][6] ^ (*pKeyLookup)[0][10];\r
+       idx_wps[(pPBox[0][1][1]) & 0x0f] = state[(pPBox[0][1][1]) & 0x0f] = in[ 9] ^ (*pKeyLookup)[1][2] ^ (*pKeyLookup)[1][6] ^ (*pKeyLookup)[1][10];\r
+       idx_wps[(pPBox[0][1][2]) & 0x0f] = state[(pPBox[0][1][2]) & 0x0f] = in[10] ^ (*pKeyLookup)[2][2] ^ (*pKeyLookup)[2][6] ^ (*pKeyLookup)[2][10];\r
+       idx_wps[(pPBox[0][1][3]) & 0x0f] = state[(pPBox[0][1][3]) & 0x0f] = in[11] ^ (*pKeyLookup)[3][2] ^ (*pKeyLookup)[3][6] ^ (*pKeyLookup)[3][10];\r
+       idx_wps[(pPBox[0][1][4]) & 0x0f] = state[(pPBox[0][1][4]) & 0x0f] = in[12] ^ (*pKeyLookup)[0][3] ^ (*pKeyLookup)[0][7] ^ (*pKeyLookup)[0][11];\r
+       idx_wps[(pPBox[0][1][5]) & 0x0f] = state[(pPBox[0][1][5]) & 0x0f] = in[13] ^ (*pKeyLookup)[1][3] ^ (*pKeyLookup)[1][7] ^ (*pKeyLookup)[1][11];\r
+       idx_wps[(pPBox[0][1][6]) & 0x0f] = state[(pPBox[0][1][6]) & 0x0f] = in[14] ^ (*pKeyLookup)[2][3] ^ (*pKeyLookup)[2][7] ^ (*pKeyLookup)[2][11];\r
+       idx_wps[(pPBox[0][1][7]) & 0x0f] = state[(pPBox[0][1][7]) & 0x0f] = in[15] ^ (*pKeyLookup)[3][3] ^ (*pKeyLookup)[3][7] ^ (*pKeyLookup)[3][11];\r
+\r
+       //4. Process each rounds\r
+       do\r
+       {\r
+               idx16 = (idx << 4);\r
+\r
+               itmdt[ 0] = (SDWAP_WORD*)pTBox[idx16 +  0][state[ 0] >> 4][state[ 0] &  0xf];\r
+               itmdt[ 1] = (SDWAP_WORD*)pTBox[idx16 +  1][state[ 1] >> 4][state[ 1] &  0xf];\r
+               itmdt[ 2] = (SDWAP_WORD*)pTBox[idx16 +  2][state[ 2] >> 4][state[ 2] &  0xf];\r
+               itmdt[ 3] = (SDWAP_WORD*)pTBox[idx16 +  3][state[ 3] >> 4][state[ 3] &  0xf];\r
+               itmdt[ 4] = (SDWAP_WORD*)pTBox[idx16 +  4][state[ 4] >> 4][state[ 4] &  0xf];\r
+               itmdt[ 5] = (SDWAP_WORD*)pTBox[idx16 +  5][state[ 5] >> 4][state[ 5] &  0xf];\r
+               itmdt[ 6] = (SDWAP_WORD*)pTBox[idx16 +  6][state[ 6] >> 4][state[ 6] &  0xf];\r
+               itmdt[ 7] = (SDWAP_WORD*)pTBox[idx16 +  7][state[ 7] >> 4][state[ 7] &  0xf];\r
+               itmdt[ 8] = (SDWAP_WORD*)pTBox[idx16 +  8][state[ 8] >> 4][state[ 8] &  0xf];\r
+               itmdt[ 9] = (SDWAP_WORD*)pTBox[idx16 +  9][state[ 9] >> 4][state[ 9] &  0xf];\r
+               itmdt[10] = (SDWAP_WORD*)pTBox[idx16 + 10][state[10] >> 4][state[10] &  0xf];\r
+               itmdt[11] = (SDWAP_WORD*)pTBox[idx16 + 11][state[11] >> 4][state[11] &  0xf];\r
+               itmdt[12] = (SDWAP_WORD*)pTBox[idx16 + 12][state[12] >> 4][state[12] &  0xf];\r
+               itmdt[13] = (SDWAP_WORD*)pTBox[idx16 + 13][state[13] >> 4][state[13] &  0xf];\r
+               itmdt[14] = (SDWAP_WORD*)pTBox[idx16 + 14][state[14] >> 4][state[14] &  0xf];\r
+               itmdt[15] = (SDWAP_WORD*)pTBox[idx16 + 15][state[15] >> 4][state[15] &  0xf];\r
+\r
+               idx++;\r
+\r
+               //Key-Lookup XOR\r
+               state[ pPBox[idx][0][0] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][0][1] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][0][2] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][0][3] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               state[ pPBox[idx][1][0] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][1][1] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][1][2] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][1][3] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               state[ pPBox[idx][2][0] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][2][1] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][2][2] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][2][3] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               state[ pPBox[idx][3][0] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][3][1] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][3][2] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][3][3] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               rk_xor[ 0] = ((*(pKeyLookup + idx))[0][0] ^ (*(pKeyLookup + idx))[0][4] ^ (*(pKeyLookup + idx))[0][ 8] ^ (*(pKeyLookup + idx))[0][12]) ^ (*(pKeyLookup + (idx - 1)))[0][15];\r
+               rk_xor[ 1] = ((*(pKeyLookup + idx))[1][0] ^ (*(pKeyLookup + idx))[1][4] ^ (*(pKeyLookup + idx))[1][ 8] ^ (*(pKeyLookup + idx))[1][12]) ^ (*(pKeyLookup + (idx - 1)))[1][15];\r
+               rk_xor[ 2] = ((*(pKeyLookup + idx))[2][0] ^ (*(pKeyLookup + idx))[2][4] ^ (*(pKeyLookup + idx))[2][ 8] ^ (*(pKeyLookup + idx))[2][12]) ^ (*(pKeyLookup + (idx - 1)))[2][15];\r
+               rk_xor[ 3] = ((*(pKeyLookup + idx))[3][0] ^ (*(pKeyLookup + idx))[3][4] ^ (*(pKeyLookup + idx))[3][ 8] ^ (*(pKeyLookup + idx))[3][12]) ^ (*(pKeyLookup + (idx - 1)))[3][15];\r
+\r
+               rk_xor[ 4] = ((*(pKeyLookup + idx))[0][1] ^ (*(pKeyLookup + idx))[0][5] ^ (*(pKeyLookup + idx))[0][ 9] ^ (*(pKeyLookup + idx))[0][13]) ^ (*(pKeyLookup + (idx - 1)))[0][15];\r
+               rk_xor[ 5] = ((*(pKeyLookup + idx))[1][1] ^ (*(pKeyLookup + idx))[1][5] ^ (*(pKeyLookup + idx))[1][ 9] ^ (*(pKeyLookup + idx))[1][13]) ^ (*(pKeyLookup + (idx - 1)))[1][15];\r
+               rk_xor[ 6] = ((*(pKeyLookup + idx))[2][1] ^ (*(pKeyLookup + idx))[2][5] ^ (*(pKeyLookup + idx))[2][ 9] ^ (*(pKeyLookup + idx))[2][13]) ^ (*(pKeyLookup + (idx - 1)))[2][15];\r
+               rk_xor[ 7] = ((*(pKeyLookup + idx))[3][1] ^ (*(pKeyLookup + idx))[3][5] ^ (*(pKeyLookup + idx))[3][ 9] ^ (*(pKeyLookup + idx))[3][13]) ^ (*(pKeyLookup + (idx - 1)))[3][15];\r
+\r
+               rk_xor[ 8] = ((*(pKeyLookup + idx))[0][2] ^ (*(pKeyLookup + idx))[0][6] ^ (*(pKeyLookup + idx))[0][10] ^ (*(pKeyLookup + idx))[0][14]) ^ (*(pKeyLookup + (idx - 1)))[0][15];\r
+               rk_xor[ 9] = ((*(pKeyLookup + idx))[1][2] ^ (*(pKeyLookup + idx))[1][6] ^ (*(pKeyLookup + idx))[1][10] ^ (*(pKeyLookup + idx))[1][14]) ^ (*(pKeyLookup + (idx - 1)))[1][15];\r
+               rk_xor[10] = ((*(pKeyLookup + idx))[2][2] ^ (*(pKeyLookup + idx))[2][6] ^ (*(pKeyLookup + idx))[2][10] ^ (*(pKeyLookup + idx))[2][14]) ^ (*(pKeyLookup + (idx - 1)))[2][15];\r
+               rk_xor[11] = ((*(pKeyLookup + idx))[3][2] ^ (*(pKeyLookup + idx))[3][6] ^ (*(pKeyLookup + idx))[3][10] ^ (*(pKeyLookup + idx))[3][14]) ^ (*(pKeyLookup + (idx - 1)))[3][15];\r
+\r
+               rk_xor[12] = ((*(pKeyLookup + idx))[0][3] ^ (*(pKeyLookup + idx))[0][7] ^ (*(pKeyLookup + idx))[0][11] ^ (*(pKeyLookup + idx))[0][16] ^ (*(pKeyLookup + (idx - 1)))[0][15]);\r
+               rk_xor[13] = ((*(pKeyLookup + idx))[1][3] ^ (*(pKeyLookup + idx))[1][7] ^ (*(pKeyLookup + idx))[1][11] ^ (*(pKeyLookup + idx))[1][16] ^ (*(pKeyLookup + (idx - 1)))[1][15]);\r
+               rk_xor[14] = ((*(pKeyLookup + idx))[2][3] ^ (*(pKeyLookup + idx))[2][7] ^ (*(pKeyLookup + idx))[2][11] ^ (*(pKeyLookup + idx))[2][16] ^ (*(pKeyLookup + (idx - 1)))[2][15]);\r
+               rk_xor[15] = ((*(pKeyLookup + idx))[3][3] ^ (*(pKeyLookup + idx))[3][7] ^ (*(pKeyLookup + idx))[3][11] ^ (*(pKeyLookup + idx))[3][16] ^ (*(pKeyLookup + (idx - 1)))[3][15]);\r
+\r
+               for(i = 0; i < 4; i++)\r
+               {\r
+                       state[ pPBox[idx][i][0] & 0x0f ] ^= rk_xor[ pPBox[idx][i][0] & 0x0f ];\r
+                       state[ pPBox[idx][i][1] & 0x0f ] ^= rk_xor[ pPBox[idx][i][1] & 0x0f ];\r
+                       state[ pPBox[idx][i][2] & 0x0f ] ^= rk_xor[ pPBox[idx][i][2] & 0x0f ];\r
+                       state[ pPBox[idx][i][3] & 0x0f ] ^= rk_xor[ pPBox[idx][i][3] & 0x0f ];\r
+               }\r
+\r
+               for(i = 0; i < 16; i++)\r
+               {\r
+                       idx_wps[i] = state[i];\r
+               }\r
+       } while(idx < (Nr - 1));\r
+\r
+       idx16 = (idx << 4);\r
+\r
+\r
+       //5. Process final round\r
+       rk_xor[ 0] = ((*(pKeyLookup + Nr))[0][0] ^ (*(pKeyLookup + Nr))[0][4] ^ (*(pKeyLookup + Nr))[0][ 8] ^ (*(pKeyLookup + Nr))[0][12]) ^ (*(pKeyLookup + (Nr - 1)))[0][15];\r
+       rk_xor[ 1] = ((*(pKeyLookup + Nr))[1][0] ^ (*(pKeyLookup + Nr))[1][4] ^ (*(pKeyLookup + Nr))[1][ 8] ^ (*(pKeyLookup + Nr))[1][12]) ^ (*(pKeyLookup + (Nr - 1)))[1][15];\r
+       rk_xor[ 2] = ((*(pKeyLookup + Nr))[2][0] ^ (*(pKeyLookup + Nr))[2][4] ^ (*(pKeyLookup + Nr))[2][ 8] ^ (*(pKeyLookup + Nr))[2][12]) ^ (*(pKeyLookup + (Nr - 1)))[2][15];\r
+       rk_xor[ 3] = ((*(pKeyLookup + Nr))[3][0] ^ (*(pKeyLookup + Nr))[3][4] ^ (*(pKeyLookup + Nr))[3][ 8] ^ (*(pKeyLookup + Nr))[3][12]) ^ (*(pKeyLookup + (Nr - 1)))[3][15];\r
+\r
+       rk_xor[ 4] = ((*(pKeyLookup + Nr))[0][1] ^ (*(pKeyLookup + Nr))[0][5] ^ (*(pKeyLookup + Nr))[0][ 9] ^ (*(pKeyLookup + Nr))[0][13]) ^ (*(pKeyLookup + (Nr - 1)))[0][15];\r
+       rk_xor[ 5] = ((*(pKeyLookup + Nr))[1][1] ^ (*(pKeyLookup + Nr))[1][5] ^ (*(pKeyLookup + Nr))[1][ 9] ^ (*(pKeyLookup + Nr))[1][13]) ^ (*(pKeyLookup + (Nr - 1)))[1][15];\r
+       rk_xor[ 6] = ((*(pKeyLookup + Nr))[2][1] ^ (*(pKeyLookup + Nr))[2][5] ^ (*(pKeyLookup + Nr))[2][ 9] ^ (*(pKeyLookup + Nr))[2][13]) ^ (*(pKeyLookup + (Nr - 1)))[2][15];\r
+       rk_xor[ 7] = ((*(pKeyLookup + Nr))[3][1] ^ (*(pKeyLookup + Nr))[3][5] ^ (*(pKeyLookup + Nr))[3][ 9] ^ (*(pKeyLookup + Nr))[3][13]) ^ (*(pKeyLookup + (Nr - 1)))[3][15];\r
+\r
+       rk_xor[ 8] = ((*(pKeyLookup + Nr))[0][2] ^ (*(pKeyLookup + Nr))[0][6] ^ (*(pKeyLookup + Nr))[0][10] ^ (*(pKeyLookup + Nr))[0][14]) ^ (*(pKeyLookup + (Nr - 1)))[0][15];\r
+       rk_xor[ 9] = ((*(pKeyLookup + Nr))[1][2] ^ (*(pKeyLookup + Nr))[1][6] ^ (*(pKeyLookup + Nr))[1][10] ^ (*(pKeyLookup + Nr))[1][14]) ^ (*(pKeyLookup + (Nr - 1)))[1][15];\r
+       rk_xor[10] = ((*(pKeyLookup + Nr))[2][2] ^ (*(pKeyLookup + Nr))[2][6] ^ (*(pKeyLookup + Nr))[2][10] ^ (*(pKeyLookup + Nr))[2][14]) ^ (*(pKeyLookup + (Nr - 1)))[2][15];\r
+       rk_xor[11] = ((*(pKeyLookup + Nr))[3][2] ^ (*(pKeyLookup + Nr))[3][6] ^ (*(pKeyLookup + Nr))[3][10] ^ (*(pKeyLookup + Nr))[3][14]) ^ (*(pKeyLookup + (Nr - 1)))[3][15];\r
+\r
+       rk_xor[12] = ((*(pKeyLookup + Nr))[0][3] ^ (*(pKeyLookup + Nr))[0][7] ^ (*(pKeyLookup + Nr))[0][11] ^ (*(pKeyLookup + Nr))[0][16] ^ (*(pKeyLookup + (Nr - 1)))[0][15]);\r
+       rk_xor[13] = ((*(pKeyLookup + Nr))[1][3] ^ (*(pKeyLookup + Nr))[1][7] ^ (*(pKeyLookup + Nr))[1][11] ^ (*(pKeyLookup + Nr))[1][16] ^ (*(pKeyLookup + (Nr - 1)))[1][15]);\r
+       rk_xor[14] = ((*(pKeyLookup + Nr))[2][3] ^ (*(pKeyLookup + Nr))[2][7] ^ (*(pKeyLookup + Nr))[2][11] ^ (*(pKeyLookup + Nr))[2][16] ^ (*(pKeyLookup + (Nr - 1)))[2][15]);\r
+       rk_xor[15] = ((*(pKeyLookup + Nr))[3][3] ^ (*(pKeyLookup + Nr))[3][7] ^ (*(pKeyLookup + Nr))[3][11] ^ (*(pKeyLookup + Nr))[3][16] ^ (*(pKeyLookup + (Nr - 1)))[3][15]);\r
+\r
+       //make output\r
+       out[pPBox[Nr][0][0] & 0x0f] = pTBox[ idx16 +  0 ][ state[ 0] >> 4 ][ state[ 0] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 0] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][0] & 0x0f ];\r
+       out[pPBox[Nr][0][1] & 0x0f] = pTBox[ idx16 +  1 ][ state[ 1] >> 4 ][ state[ 1] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 1] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][1] & 0x0f ];\r
+       out[pPBox[Nr][0][2] & 0x0f] = pTBox[ idx16 +  2 ][ state[ 2] >> 4 ][ state[ 2] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 2] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][2] & 0x0f ];\r
+       out[pPBox[Nr][0][3] & 0x0f] = pTBox[ idx16 +  3 ][ state[ 3] >> 4 ][ state[ 3] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 3] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][3] & 0x0f ];\r
+       out[pPBox[Nr][0][4] & 0x0f] = pTBox[ idx16 +  4 ][ state[ 4] >> 4 ][ state[ 4] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 4] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][4] & 0x0f ];\r
+       out[pPBox[Nr][0][5] & 0x0f] = pTBox[ idx16 +  5 ][ state[ 5] >> 4 ][ state[ 5] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 5] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][5] & 0x0f ];\r
+       out[pPBox[Nr][0][6] & 0x0f] = pTBox[ idx16 +  6 ][ state[ 6] >> 4 ][ state[ 6] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 6] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][6] & 0x0f ];\r
+       out[pPBox[Nr][0][7] & 0x0f] = pTBox[ idx16 +  7 ][ state[ 7] >> 4 ][ state[ 7] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 7] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][7] & 0x0f ];\r
+       out[pPBox[Nr][1][0] & 0x0f] = pTBox[ idx16 +  8 ][ state[ 8] >> 4 ][ state[ 8] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 8] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][0] & 0x0f ];\r
+       out[pPBox[Nr][1][1] & 0x0f] = pTBox[ idx16 +  9 ][ state[ 9] >> 4 ][ state[ 9] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 9] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][1] & 0x0f ];\r
+       out[pPBox[Nr][1][2] & 0x0f] = pTBox[ idx16 + 10 ][ state[10] >> 4 ][ state[10] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[10] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][2] & 0x0f ];\r
+       out[pPBox[Nr][1][3] & 0x0f] = pTBox[ idx16 + 11 ][ state[11] >> 4 ][ state[11] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[11] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][3] & 0x0f ];\r
+       out[pPBox[Nr][1][4] & 0x0f] = pTBox[ idx16 + 12 ][ state[12] >> 4 ][ state[12] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[12] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][4] & 0x0f ];\r
+       out[pPBox[Nr][1][5] & 0x0f] = pTBox[ idx16 + 13 ][ state[13] >> 4 ][ state[13] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[13] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][5] & 0x0f ];\r
+       out[pPBox[Nr][1][6] & 0x0f] = pTBox[ idx16 + 14 ][ state[14] >> 4 ][ state[14] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[14] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][6] & 0x0f ];\r
+       out[pPBox[Nr][1][7] & 0x0f] = pTBox[ idx16 + 15 ][ state[15] >> 4 ][ state[15] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[15] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][7] & 0x0f ];\r
+}\r
+\r
+\r
+/**\r
+ * @var static const SDWAP_SBOX inv_s_box\r
+ * @brief inverse of S-box defined int FIPS-197\r
+ */\r
+SPC_INTERNAL SDWAP_SBOX sdwap_inv_s_box_ = \r
+{\r
+       {0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb},\r
+       {0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb},\r
+       {0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e},\r
+       {0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25},\r
+       {0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92},\r
+       {0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84},\r
+       {0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06},\r
+       {0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b},\r
+       {0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73},\r
+       {0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e},\r
+       {0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b},\r
+       {0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4},\r
+       {0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f},\r
+       {0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef},\r
+       {0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61},\r
+       {0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d}\r
+};\r
+\r
+static const unsigned char sdwap_inv_sr_matrix_[16] =\r
+       {0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11};\r
+\r
+\r
+/*\r
+ * @fn         static void SDWAP_Decryption(SDWAP_TBOX *pTBox, SDWAP_KEY_LOOKUP *pKeyLookup, SDWAP_PBOX *pPBox, SDWAP_WORD_PBOX* pWPBox, SDWAP_BIT_PBOX* pBPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian)\r
+ * @brief      SDWAP Decryption function.\r
+ *\r
+ * @param      [in] pTBox                      T-Box\r
+ * @param      [in] pkeyLookup         Round-key lookup table\r
+ * @param      [in] pPBox                      P-Box\r
+ * @param      [in] pWPBox                     word(4byte) permutation box\r
+ * @param      [in] pBPBox                     bit permutation box\r
+ * @param      [in] Nr                         number of rounds\r
+ * @param      [in] in                         input bytes(16-byte length)\r
+ * @param      [out] out                       output bytes(16-byte length)\r
+ * @param      [in] isLittleEndian     flag for little endian\r
+ * @return     void\r
+ */\r
+static void SDWAP_Decryption(SDWAP_TBOX *pTBox, SDWAP_KEY_LOOKUP *pKeyLookup, SDWAP_PBOX *pPBox, SDWAP_WORD_PBOX* pWPBox, SDWAP_BIT_PBOX* pBPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian)\r
+{\r
+       unsigned int i;\r
+       unsigned int idx = 0;\r
+       unsigned int idx16;\r
+       unsigned char temp;\r
+       unsigned char idx_wps[16];\r
+       unsigned char state[16];        //state\r
+       unsigned char rk_xor[16];\r
+       SDWAP_WORD* itmdt[16];          //intermediate value\r
+\r
+\r
+       //3. Process initial permutation\r
+       idx_wps[(pPBox[0][0][0]) & 0x0f] = state[(pPBox[0][0][0]) & 0x0f] = in[ 0] ^ ((*(pKeyLookup + Nr))[0][0] ^ (*(pKeyLookup + Nr))[0][4] ^ (*(pKeyLookup + Nr))[0][ 8] ^ (*(pKeyLookup + Nr))[0][12]) ^ (*(pKeyLookup + (Nr - 1)))[0][15];\r
+       idx_wps[(pPBox[0][0][1]) & 0x0f] = state[(pPBox[0][0][1]) & 0x0f] = in[ 1] ^ ((*(pKeyLookup + Nr))[1][0] ^ (*(pKeyLookup + Nr))[1][4] ^ (*(pKeyLookup + Nr))[1][ 8] ^ (*(pKeyLookup + Nr))[1][12]) ^ (*(pKeyLookup + (Nr - 1)))[1][15];\r
+       idx_wps[(pPBox[0][0][2]) & 0x0f] = state[(pPBox[0][0][2]) & 0x0f] = in[ 2] ^ ((*(pKeyLookup + Nr))[2][0] ^ (*(pKeyLookup + Nr))[2][4] ^ (*(pKeyLookup + Nr))[2][ 8] ^ (*(pKeyLookup + Nr))[2][12]) ^ (*(pKeyLookup + (Nr - 1)))[2][15];\r
+       idx_wps[(pPBox[0][0][3]) & 0x0f] = state[(pPBox[0][0][3]) & 0x0f] = in[ 3] ^ ((*(pKeyLookup + Nr))[3][0] ^ (*(pKeyLookup + Nr))[3][4] ^ (*(pKeyLookup + Nr))[3][ 8] ^ (*(pKeyLookup + Nr))[3][12]) ^ (*(pKeyLookup + (Nr - 1)))[3][15];\r
+       idx_wps[(pPBox[0][0][4]) & 0x0f] = state[(pPBox[0][0][4]) & 0x0f] = in[ 4] ^ ((*(pKeyLookup + Nr))[0][1] ^ (*(pKeyLookup + Nr))[0][5] ^ (*(pKeyLookup + Nr))[0][ 9] ^ (*(pKeyLookup + Nr))[0][13]) ^ (*(pKeyLookup + (Nr - 1)))[0][15];\r
+       idx_wps[(pPBox[0][0][5]) & 0x0f] = state[(pPBox[0][0][5]) & 0x0f] = in[ 5] ^ ((*(pKeyLookup + Nr))[1][1] ^ (*(pKeyLookup + Nr))[1][5] ^ (*(pKeyLookup + Nr))[1][ 9] ^ (*(pKeyLookup + Nr))[1][13]) ^ (*(pKeyLookup + (Nr - 1)))[1][15];\r
+       idx_wps[(pPBox[0][0][6]) & 0x0f] = state[(pPBox[0][0][6]) & 0x0f] = in[ 6] ^ ((*(pKeyLookup + Nr))[2][1] ^ (*(pKeyLookup + Nr))[2][5] ^ (*(pKeyLookup + Nr))[2][ 9] ^ (*(pKeyLookup + Nr))[2][13]) ^ (*(pKeyLookup + (Nr - 1)))[2][15];\r
+       idx_wps[(pPBox[0][0][7]) & 0x0f] = state[(pPBox[0][0][7]) & 0x0f] = in[ 7] ^ ((*(pKeyLookup + Nr))[3][1] ^ (*(pKeyLookup + Nr))[3][5] ^ (*(pKeyLookup + Nr))[3][ 9] ^ (*(pKeyLookup + Nr))[3][13]) ^ (*(pKeyLookup + (Nr - 1)))[3][15];\r
+       idx_wps[(pPBox[0][1][0]) & 0x0f] = state[(pPBox[0][1][0]) & 0x0f] = in[ 8] ^ ((*(pKeyLookup + Nr))[0][2] ^ (*(pKeyLookup + Nr))[0][6] ^ (*(pKeyLookup + Nr))[0][10] ^ (*(pKeyLookup + Nr))[0][14]) ^ (*(pKeyLookup + (Nr - 1)))[0][15];\r
+       idx_wps[(pPBox[0][1][1]) & 0x0f] = state[(pPBox[0][1][1]) & 0x0f] = in[ 9] ^ ((*(pKeyLookup + Nr))[1][2] ^ (*(pKeyLookup + Nr))[1][6] ^ (*(pKeyLookup + Nr))[1][10] ^ (*(pKeyLookup + Nr))[1][14]) ^ (*(pKeyLookup + (Nr - 1)))[1][15];\r
+       idx_wps[(pPBox[0][1][2]) & 0x0f] = state[(pPBox[0][1][2]) & 0x0f] = in[10] ^ ((*(pKeyLookup + Nr))[2][2] ^ (*(pKeyLookup + Nr))[2][6] ^ (*(pKeyLookup + Nr))[2][10] ^ (*(pKeyLookup + Nr))[2][14]) ^ (*(pKeyLookup + (Nr - 1)))[2][15];\r
+       idx_wps[(pPBox[0][1][3]) & 0x0f] = state[(pPBox[0][1][3]) & 0x0f] = in[11] ^ ((*(pKeyLookup + Nr))[3][2] ^ (*(pKeyLookup + Nr))[3][6] ^ (*(pKeyLookup + Nr))[3][10] ^ (*(pKeyLookup + Nr))[3][14]) ^ (*(pKeyLookup + (Nr - 1)))[3][15];\r
+       idx_wps[(pPBox[0][1][4]) & 0x0f] = state[(pPBox[0][1][4]) & 0x0f] = in[12] ^ ((*(pKeyLookup + Nr))[0][3] ^ (*(pKeyLookup + Nr))[0][7] ^ (*(pKeyLookup + Nr))[0][11] ^ (*(pKeyLookup + Nr))[0][16] ^ (*(pKeyLookup + (Nr - 1)))[0][15]);\r
+       idx_wps[(pPBox[0][1][5]) & 0x0f] = state[(pPBox[0][1][5]) & 0x0f] = in[13] ^ ((*(pKeyLookup + Nr))[1][3] ^ (*(pKeyLookup + Nr))[1][7] ^ (*(pKeyLookup + Nr))[1][11] ^ (*(pKeyLookup + Nr))[1][16] ^ (*(pKeyLookup + (Nr - 1)))[1][15]);\r
+       idx_wps[(pPBox[0][1][6]) & 0x0f] = state[(pPBox[0][1][6]) & 0x0f] = in[14] ^ ((*(pKeyLookup + Nr))[2][3] ^ (*(pKeyLookup + Nr))[2][7] ^ (*(pKeyLookup + Nr))[2][11] ^ (*(pKeyLookup + Nr))[2][16] ^ (*(pKeyLookup + (Nr - 1)))[2][15]);\r
+       idx_wps[(pPBox[0][1][7]) & 0x0f] = state[(pPBox[0][1][7]) & 0x0f] = in[15] ^ ((*(pKeyLookup + Nr))[3][3] ^ (*(pKeyLookup + Nr))[3][7] ^ (*(pKeyLookup + Nr))[3][11] ^ (*(pKeyLookup + Nr))[3][16] ^ (*(pKeyLookup + (Nr - 1)))[3][15]);\r
+\r
+       //4. Process each rounds\r
+       do\r
+       {\r
+               idx16 = (idx << 4);\r
+\r
+               idx++;\r
+\r
+               //calc round key\r
+               rk_xor[ 0] = ((*(pKeyLookup + (Nr - idx)))[0][0] ^ (*(pKeyLookup + (Nr - idx)))[0][4] ^ (*(pKeyLookup + (Nr - idx)))[0][ 8] ^ (*(pKeyLookup + (Nr - idx)))[0][12]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[0][15];\r
+               rk_xor[ 1] = ((*(pKeyLookup + (Nr - idx)))[1][0] ^ (*(pKeyLookup + (Nr - idx)))[1][4] ^ (*(pKeyLookup + (Nr - idx)))[1][ 8] ^ (*(pKeyLookup + (Nr - idx)))[1][12]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[1][15];\r
+               rk_xor[ 2] = ((*(pKeyLookup + (Nr - idx)))[2][0] ^ (*(pKeyLookup + (Nr - idx)))[2][4] ^ (*(pKeyLookup + (Nr - idx)))[2][ 8] ^ (*(pKeyLookup + (Nr - idx)))[2][12]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[2][15];\r
+               rk_xor[ 3] = ((*(pKeyLookup + (Nr - idx)))[3][0] ^ (*(pKeyLookup + (Nr - idx)))[3][4] ^ (*(pKeyLookup + (Nr - idx)))[3][ 8] ^ (*(pKeyLookup + (Nr - idx)))[3][12]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[3][15];\r
+               rk_xor[ 4] = ((*(pKeyLookup + (Nr - idx)))[0][1] ^ (*(pKeyLookup + (Nr - idx)))[0][5] ^ (*(pKeyLookup + (Nr - idx)))[0][ 9] ^ (*(pKeyLookup + (Nr - idx)))[0][13]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[0][15];\r
+               rk_xor[ 5] = ((*(pKeyLookup + (Nr - idx)))[1][1] ^ (*(pKeyLookup + (Nr - idx)))[1][5] ^ (*(pKeyLookup + (Nr - idx)))[1][ 9] ^ (*(pKeyLookup + (Nr - idx)))[1][13]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[1][15];\r
+               rk_xor[ 6] = ((*(pKeyLookup + (Nr - idx)))[2][1] ^ (*(pKeyLookup + (Nr - idx)))[2][5] ^ (*(pKeyLookup + (Nr - idx)))[2][ 9] ^ (*(pKeyLookup + (Nr - idx)))[2][13]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[2][15];\r
+               rk_xor[ 7] = ((*(pKeyLookup + (Nr - idx)))[3][1] ^ (*(pKeyLookup + (Nr - idx)))[3][5] ^ (*(pKeyLookup + (Nr - idx)))[3][ 9] ^ (*(pKeyLookup + (Nr - idx)))[3][13]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[3][15];\r
+               rk_xor[ 8] = ((*(pKeyLookup + (Nr - idx)))[0][2] ^ (*(pKeyLookup + (Nr - idx)))[0][6] ^ (*(pKeyLookup + (Nr - idx)))[0][10] ^ (*(pKeyLookup + (Nr - idx)))[0][14]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[0][15];\r
+               rk_xor[ 9] = ((*(pKeyLookup + (Nr - idx)))[1][2] ^ (*(pKeyLookup + (Nr - idx)))[1][6] ^ (*(pKeyLookup + (Nr - idx)))[1][10] ^ (*(pKeyLookup + (Nr - idx)))[1][14]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[1][15];\r
+               rk_xor[10] = ((*(pKeyLookup + (Nr - idx)))[2][2] ^ (*(pKeyLookup + (Nr - idx)))[2][6] ^ (*(pKeyLookup + (Nr - idx)))[2][10] ^ (*(pKeyLookup + (Nr - idx)))[2][14]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[2][15];\r
+               rk_xor[11] = ((*(pKeyLookup + (Nr - idx)))[3][2] ^ (*(pKeyLookup + (Nr - idx)))[3][6] ^ (*(pKeyLookup + (Nr - idx)))[3][10] ^ (*(pKeyLookup + (Nr - idx)))[3][14]) ^ (*(pKeyLookup + ((Nr - idx) - 1)))[3][15];\r
+               rk_xor[12] = ((*(pKeyLookup + (Nr - idx)))[0][3] ^ (*(pKeyLookup + (Nr - idx)))[0][7] ^ (*(pKeyLookup + (Nr - idx)))[0][11] ^ (*(pKeyLookup + (Nr - idx)))[0][16] ^ (*(pKeyLookup + ((Nr - idx) - 1)))[0][15]);\r
+               rk_xor[13] = ((*(pKeyLookup + (Nr - idx)))[1][3] ^ (*(pKeyLookup + (Nr - idx)))[1][7] ^ (*(pKeyLookup + (Nr - idx)))[1][11] ^ (*(pKeyLookup + (Nr - idx)))[1][16] ^ (*(pKeyLookup + ((Nr - idx) - 1)))[1][15]);\r
+               rk_xor[14] = ((*(pKeyLookup + (Nr - idx)))[2][3] ^ (*(pKeyLookup + (Nr - idx)))[2][7] ^ (*(pKeyLookup + (Nr - idx)))[2][11] ^ (*(pKeyLookup + (Nr - idx)))[2][16] ^ (*(pKeyLookup + ((Nr - idx) - 1)))[2][15]);\r
+               rk_xor[15] = ((*(pKeyLookup + (Nr - idx)))[3][3] ^ (*(pKeyLookup + (Nr - idx)))[3][7] ^ (*(pKeyLookup + (Nr - idx)))[3][11] ^ (*(pKeyLookup + (Nr - idx)))[3][16] ^ (*(pKeyLookup + ((Nr - idx) - 1)))[3][15]);\r
+\r
+               if(idx <= 1)\r
+               {\r
+                       for (i = 0; i < 16; i++)\r
+                       {\r
+                               temp = sdwap_inv_s_box_[state[i] >> 4][state[i] & 0xf] ^ rk_xor[sdwap_inv_sr_matrix_[i]];\r
+                               itmdt[i] = (SDWAP_WORD*)pTBox[idx16 + i][temp >> 4][temp &  0xf];\r
+                       }\r
+               }\r
+               else\r
+               {\r
+                       for (i = 0; i < 16; i++)\r
+                       {\r
+                               temp = sdwap_inv_s_box_[state[i] >> 4][state[i] & 0xf] ^ rk_xor[i];\r
+                               itmdt[i] = (SDWAP_WORD*)pTBox[idx16 + i][temp >> 4][temp &  0xf];\r
+                       }\r
+               }\r
+\r
+               state[ pPBox[idx][0][0] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][0][1] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][0][2] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][0][3] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               state[ pPBox[idx][1][0] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][1][1] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][1][2] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][1][3] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               state[ pPBox[idx][2][0] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][2][1] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][2][2] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][2][3] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               state[ pPBox[idx][3][0] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][3][1] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][3][2] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][3][3] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               for(i = 0; i < 16; i++)\r
+               {\r
+                       idx_wps[i] = state[i];\r
+               }\r
+\r
+       } while(idx < (Nr - 1));\r
+\r
+       idx16 = (idx << 4);\r
+\r
+       //5. Process final round\r
+       rk_xor[ 0] = (*pKeyLookup)[0][0] ^ (*pKeyLookup)[0][4] ^ (*pKeyLookup)[0][ 8];\r
+       rk_xor[ 1] = (*pKeyLookup)[1][0] ^ (*pKeyLookup)[1][4] ^ (*pKeyLookup)[1][ 8];\r
+       rk_xor[ 2] = (*pKeyLookup)[2][0] ^ (*pKeyLookup)[2][4] ^ (*pKeyLookup)[2][ 8];\r
+       rk_xor[ 3] = (*pKeyLookup)[3][0] ^ (*pKeyLookup)[3][4] ^ (*pKeyLookup)[3][ 8];\r
+       rk_xor[ 4] = (*pKeyLookup)[0][1] ^ (*pKeyLookup)[0][5] ^ (*pKeyLookup)[0][ 9];\r
+       rk_xor[ 5] = (*pKeyLookup)[1][1] ^ (*pKeyLookup)[1][5] ^ (*pKeyLookup)[1][ 9];\r
+       rk_xor[ 6] = (*pKeyLookup)[2][1] ^ (*pKeyLookup)[2][5] ^ (*pKeyLookup)[2][ 9];\r
+       rk_xor[ 7] = (*pKeyLookup)[3][1] ^ (*pKeyLookup)[3][5] ^ (*pKeyLookup)[3][ 9];\r
+       rk_xor[ 8] = (*pKeyLookup)[0][2] ^ (*pKeyLookup)[0][6] ^ (*pKeyLookup)[0][10];\r
+       rk_xor[ 9] = (*pKeyLookup)[1][2] ^ (*pKeyLookup)[1][6] ^ (*pKeyLookup)[1][10];\r
+       rk_xor[10] = (*pKeyLookup)[2][2] ^ (*pKeyLookup)[2][6] ^ (*pKeyLookup)[2][10];\r
+       rk_xor[11] = (*pKeyLookup)[3][2] ^ (*pKeyLookup)[3][6] ^ (*pKeyLookup)[3][10];\r
+       rk_xor[12] = (*pKeyLookup)[0][3] ^ (*pKeyLookup)[0][7] ^ (*pKeyLookup)[0][11];\r
+       rk_xor[13] = (*pKeyLookup)[1][3] ^ (*pKeyLookup)[1][7] ^ (*pKeyLookup)[1][11];\r
+       rk_xor[14] = (*pKeyLookup)[2][3] ^ (*pKeyLookup)[2][7] ^ (*pKeyLookup)[2][11];\r
+       rk_xor[15] = (*pKeyLookup)[3][3] ^ (*pKeyLookup)[3][7] ^ (*pKeyLookup)[3][11];\r
+\r
+\r
+       //make output\r
+       out[pPBox[Nr][0][0] & 0x0f] = pTBox[ idx16 +  0 ][ state[ 0] >> 4 ][ state[ 0] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 0] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][0] & 0x0f ];\r
+       out[pPBox[Nr][0][1] & 0x0f] = pTBox[ idx16 +  1 ][ state[ 1] >> 4 ][ state[ 1] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 1] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][1] & 0x0f ];\r
+       out[pPBox[Nr][0][2] & 0x0f] = pTBox[ idx16 +  2 ][ state[ 2] >> 4 ][ state[ 2] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 2] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][2] & 0x0f ];\r
+       out[pPBox[Nr][0][3] & 0x0f] = pTBox[ idx16 +  3 ][ state[ 3] >> 4 ][ state[ 3] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 3] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][3] & 0x0f ];\r
+       out[pPBox[Nr][0][4] & 0x0f] = pTBox[ idx16 +  4 ][ state[ 4] >> 4 ][ state[ 4] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 4] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][4] & 0x0f ];\r
+       out[pPBox[Nr][0][5] & 0x0f] = pTBox[ idx16 +  5 ][ state[ 5] >> 4 ][ state[ 5] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 5] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][5] & 0x0f ];\r
+       out[pPBox[Nr][0][6] & 0x0f] = pTBox[ idx16 +  6 ][ state[ 6] >> 4 ][ state[ 6] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 6] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][6] & 0x0f ];\r
+       out[pPBox[Nr][0][7] & 0x0f] = pTBox[ idx16 +  7 ][ state[ 7] >> 4 ][ state[ 7] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 7] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][0][7] & 0x0f ];\r
+       out[pPBox[Nr][1][0] & 0x0f] = pTBox[ idx16 +  8 ][ state[ 8] >> 4 ][ state[ 8] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 8] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][0] & 0x0f ];\r
+       out[pPBox[Nr][1][1] & 0x0f] = pTBox[ idx16 +  9 ][ state[ 9] >> 4 ][ state[ 9] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 9] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][1] & 0x0f ];\r
+       out[pPBox[Nr][1][2] & 0x0f] = pTBox[ idx16 + 10 ][ state[10] >> 4 ][ state[10] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[10] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][2] & 0x0f ];\r
+       out[pPBox[Nr][1][3] & 0x0f] = pTBox[ idx16 + 11 ][ state[11] >> 4 ][ state[11] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[11] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][3] & 0x0f ];\r
+       out[pPBox[Nr][1][4] & 0x0f] = pTBox[ idx16 + 12 ][ state[12] >> 4 ][ state[12] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[12] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][4] & 0x0f ];\r
+       out[pPBox[Nr][1][5] & 0x0f] = pTBox[ idx16 + 13 ][ state[13] >> 4 ][ state[13] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[13] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][5] & 0x0f ];\r
+       out[pPBox[Nr][1][6] & 0x0f] = pTBox[ idx16 + 14 ][ state[14] >> 4 ][ state[14] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[14] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][6] & 0x0f ];\r
+       out[pPBox[Nr][1][7] & 0x0f] = pTBox[ idx16 + 15 ][ state[15] >> 4 ][ state[15] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[15] & 0x0f) % 4]][0] ] ^ rk_xor[ pPBox[Nr][1][7] & 0x0f ];\r
+\r
+       return;\r
+}\r
+\r
+\r
+\r
+/**\r
+ * @fn         SDWAP_RETURN_VAL SDWAP_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int OptimizLev)\r
+ * @brief      processing encryption or decryption according to the table\r
+ *\r
+ * @param      [in] Table              look-up table for SDWAP\r
+ * @param      [in] TableLen   byte-length of look-up table\r
+ * @param      [in] in                 input bytes(16-byte length)\r
+ * @param      [out] out               output bytes(16-byte length)\r
+ * @return     SDWAP_RETURN_VAL\r
+ */\r
+SPC_INTERNAL SDWAP_RETURN_VAL SDWAP_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int isEncryption)\r
+{\r
+       unsigned int Nr;\r
+       unsigned int Nk;\r
+       unsigned int TBoxSize;\r
+       unsigned int PBoxSize;\r
+       unsigned int WPBoxSize;\r
+       unsigned int BPBoxSize;\r
+\r
+       SDWAP_TBOX *pTBox = NULL;\r
+       SDWAP_PBOX *pPBox = NULL;\r
+       SDWAP_WORD_PBOX *pWPBox = NULL;\r
+       SDWAP_BIT_PBOX *pBPBox = NULL;\r
+       SDWAP_KEY_LOOKUP *pKeyLookup = NULL;\r
+\r
+       unsigned char isLittleEndian;\r
+\r
+       {\r
+               //get little endian flag\r
+               unsigned int EndianTestVector = 1;\r
+               isLittleEndian = *(unsigned char*)(&EndianTestVector);\r
+       }\r
+\r
+       //1. Parameter checking\r
+       if ((Table == NULL) || (in == NULL) || (out == NULL))\r
+       {\r
+               return SDWAP_RETURN_INVALID_PARAMETER;                          //invalid parameter\r
+       }\r
+\r
+       //2. Get Nr(Number of Rounds)\r
+       switch(TableLen)\r
+       {\r
+               case (SDWAP_T_TABLE_ROUND_SIZE * SDWAP_128_ROUNDS) + (SDWAP_P_TABLE_ROUND_SIZE * (SDWAP_128_ROUNDS + 1)):\r
+                       //AES128\r
+                       Nr = SDWAP_128_ROUNDS;\r
+                       Nk = 16 / SDWAP_WORD_SIZE;\r
+                       break;\r
+               case (SDWAP_T_TABLE_ROUND_SIZE * SDWAP_192_ROUNDS) + (SDWAP_P_TABLE_ROUND_SIZE * (SDWAP_192_ROUNDS + 1)):\r
+                       //AES192\r
+                       Nr = SDWAP_192_ROUNDS;\r
+                       Nk = 24 / SDWAP_WORD_SIZE;\r
+                       break;\r
+               case (SDWAP_T_TABLE_ROUND_SIZE * SDWAP_256_ROUNDS) + (SDWAP_P_TABLE_ROUND_SIZE * (SDWAP_256_ROUNDS + 1)):\r
+                       //AES256\r
+                       Nr = SDWAP_256_ROUNDS;\r
+                       Nk = 32 / SDWAP_WORD_SIZE;\r
+                       break;\r
+               default :\r
+                       return SDWAP_RETURN_INVALID_TBLSIZE;                            //invalid parameter\r
+       }\r
+\r
+       //Get pointer of P-Box\r
+       pTBox = (SDWAP_TBOX*)Table;\r
+       TBoxSize = SDWAP_T_TABLE_ROUND_SIZE * Nr;\r
+\r
+       pPBox = (SDWAP_PBOX*)((unsigned char*)pTBox + TBoxSize);\r
+       PBoxSize = SDWAP_P_TABLE_ROUND_SIZE * (Nr + 1);\r
+       WPBoxSize = SDWAP_WP_TABLE_ROUND_SIZE * (Nr);\r
+       BPBoxSize = SDWAP_BP_TABLE_ROUND_SIZE * Nr;\r
+\r
+       pWPBox = (SDWAP_WORD_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize);\r
+       pBPBox = (SDWAP_BIT_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize + WPBoxSize);\r
+       pKeyLookup = (SDWAP_KEY_LOOKUP*)((unsigned char*)pTBox + TBoxSize + PBoxSize + WPBoxSize + BPBoxSize);\r
+\r
+       if(isEncryption)\r
+       {\r
+               SDWAP_Encryption(pTBox, pKeyLookup, pPBox, pWPBox, pBPBox, Nr, in, out, isLittleEndian);\r
+       }\r
+       else\r
+       {\r
+               SDWAP_Decryption(pTBox, pKeyLookup, pPBox, pWPBox, pBPBox, Nr, in, out, isLittleEndian);\r
+       }\r
+\r
+       return SDWAP_RETURN_SUCCESS;\r
+}\r
+\r
+////////////////////////// End of File //////////////////////////\r
diff --git a/SPC/Src/WhiteBox/SDWAP_TblGen.c b/SPC/Src/WhiteBox/SDWAP_TblGen.c
new file mode 100755 (executable)
index 0000000..89affe1
--- /dev/null
@@ -0,0 +1,1724 @@
+/**\r
+ * @file       SDWAP_TblGen.c\r
+ * @brief      Dynamic white box AES table generation module for SSA(Samsung Security Architecture)\r
+ * @author     Samsung Dynamic WhiteBox AES\r
+ *                             - Chul Lee(chuls.lee@samsung.com)\r
+ *                             - Dept : Software R&D Center / Cloud Computing Lab\r
+ *\r
+ * @see                SDWAP\r
+ * @date       2013-01-10\r
+ * @version    1.0\r
+ * @par                Copyright:\r
+ * Copyright 2013 by Samsung Electronics, Inc.,\r
+ * This software is the confiedential and properietary information \r
+ * of Samsung Elctronics, Inc. ("Confidential Information"). You \r
+ * shall not disclose such Confidential Information and shall use \r
+ * it only in accordance with the term of the lice agreement \r
+ * you entered into with Samsung.\r
+ * @par                Warning:\r
+ * This code sould not be exported out of Samsung Electronics.\r
+ * This code cannot be inserted in any customer device.\r
+ * The logic of whitebox table generation is confidential.\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// including header files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <stdlib.h>\r
+#include <stdio.h>\r
+#include <memory.h>\r
+#include "SDWAP_defines.h"\r
+#include "SDWAP_TblGen.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// static type definitions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*! Table generation types */\r
+typedef enum _SDWAP_TABLE_TYPE\r
+{\r
+       SDWAP_TABLE_TYPE_ENCRYPTION = 0,                /*!< Table for encryption */\r
+       SDWAP_TABLE_TYPE_DECRYPTION = 1         /*!< Table for decryption */\r
+} SDWAP_TABLE_TYPE;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// static global variables\r
+////////////////////////////////////////////////////////////////////////////\r
+/**\r
+ * @var static const SDWAP_SBOX sdwap_s_box\r
+ * @brief S-box value defined int FIPS-197\r
+ */\r
+SPC_INTERNAL SDWAP_SBOX sdwap_s_box = \r
+{\r
+       {0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76},\r
+       {0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0},\r
+       {0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15},\r
+       {0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75},\r
+       {0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84},\r
+       {0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf},\r
+       {0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8},\r
+       {0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2},\r
+       {0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73},\r
+       {0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb},\r
+       {0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79},\r
+       {0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08},\r
+       {0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a},\r
+       {0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e},\r
+       {0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf},\r
+       {0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16}\r
+};\r
+\r
+/**\r
+ * @var static const SDWAP_SBOX sdwap_inv_s_box\r
+ * @brief inverse of S-box defined int FIPS-197\r
+ */\r
+SPC_INTERNAL SDWAP_SBOX sdwap_inv_s_box = \r
+{\r
+       {0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb},\r
+       {0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb},\r
+       {0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e},\r
+       {0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25},\r
+       {0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92},\r
+       {0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84},\r
+       {0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06},\r
+       {0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b},\r
+       {0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73},\r
+       {0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e},\r
+       {0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b},\r
+       {0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4},\r
+       {0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f},\r
+       {0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef},\r
+       {0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61},\r
+       {0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d}\r
+};\r
+\r
+SPC_INTERNAL SDWAP_SBOX* pSDWAP_SBox;\r
+SPC_INTERNAL SDWAP_SBOX* pSDWAP_InvSBox;\r
+\r
+/**\r
+ * @var static const unsigned char sdwap_sr_matrix[16]\r
+ * @brief look-up matrix for ShiftRows\r
+ */\r
+static const unsigned char sdwap_sr_matrix[16] =\r
+       {0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3};\r
+\r
+/**\r
+ * @var static const unsigned char sdwap_inv_sr_matrix[16]\r
+ * @brief look-up matrix for InvShiftRows, inverse of sdwap_sr_matrix\r
+ */\r
+static const unsigned char sdwap_inv_sr_matrix[16] =\r
+       {0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11};\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// function implementations\r
+////////////////////////////////////////////////////////////////////////////\r
+/**\r
+ * @fn         static unsigned char SDWAP_XTIMEs(unsigned char x, unsigned char b)\r
+ * @brief      calc byte to byte multiplication defined in FIPS-197\r
+ *\r
+ * @param      [in] x  polynomial x\r
+ * @param      [in] b  byte\r
+ * @return     result of multiplication\r
+ */\r
+static unsigned char SDWAP_XTIMEs(unsigned char x, unsigned char b)\r
+{\r
+       int i;\r
+       unsigned char mul = 0;\r
+\r
+       for (i = 0; i < 8; i++)\r
+       {\r
+               if (x & 1)\r
+               {\r
+                       //when x is odd\r
+                       mul ^= b;\r
+               }\r
+\r
+               //calculate next xtime func\r
+               if (b & 0x80)\r
+               {\r
+                       //shift left\r
+                       b <<= 1;\r
+\r
+                       //xor 0x1b\r
+                       b ^= 0x1b;\r
+               }\r
+               else\r
+               {\r
+                       //shift left\r
+                       b <<= 1;\r
+               }\r
+\r
+               //shift right\r
+               x >>= 1;\r
+       }\r
+\r
+       //return result\r
+       return mul;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_SubWord(SDWAP_WORD buf)\r
+ * @brief      SDWAP_SubWord function for Round Key calculation\r
+ *\r
+ * @param      [in,out] buf    4-byte word for SDWAP_SubWord\r
+ * @return     void\r
+ */\r
+static void SDWAP_SubWord(SDWAP_WORD buf)\r
+{\r
+       int i;\r
+       for (i = 0; i < SDWAP_WORD_SIZE; i++)\r
+       {\r
+               //calc SDWAP_SubWord\r
+               buf[i] = sdwap_s_box[buf[i] >> 4][buf[i] & 0x0F];\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_RotWord(SDWAP_WORD buf)\r
+ * @brief      SDWAP_RotWord function for Round Key calculation\r
+ *\r
+ * @param      [in,out] buf    4-byte word for SDWAP_RotWord\r
+ * @return     void\r
+ */\r
+static void SDWAP_RotWord(SDWAP_WORD buf)\r
+{\r
+       unsigned char temp = buf[0];\r
+\r
+       //calc SDWAP_RotWord\r
+       buf[0] = buf[1];\r
+       buf[1] = buf[2];\r
+       buf[2] = buf[3];\r
+       buf[3] = temp;\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         void SDWAP_BitPermutation(unsigned char* pVal, unsigned char* bTable)\r
+ * @brief      Calculate permutation bits in byte\r
+ *\r
+ * @param      [out]   pVal                    byte value\r
+ * @param      [in]    bTable                  bit permutation indx\r
+ * @return     void\r
+ */\r
+SPC_INTERNAL void SDWAP_BitPermutation(unsigned char* pVal, unsigned char* pTable)\r
+{\r
+       int i = 0;\r
+       unsigned char oriVal = NULL;\r
+       unsigned char tmp[8];\r
+\r
+       if(pVal == NULL || pTable == NULL)\r
+       {\r
+               return;\r
+       }\r
+       \r
+       oriVal = *pVal;\r
+\r
+       for(i = 0; i < 8; i++)\r
+       {\r
+               tmp[i] = GETBIT_U8(oriVal, i);\r
+       }\r
+\r
+       for(i = 0; i < 8; i++)\r
+       {\r
+               *pVal = SETBIT_U8(*pVal, pTable[i], tmp[i]);\r
+       }\r
+}\r
+\r
+SPC_INTERNAL unsigned char SDWAP_BitPermutation_LK(unsigned char val, SDWAP_KEY_BIT_PBOX* pBitPTbl)\r
+{\r
+       SDWAP_BitPermutation( &val, pBitPTbl[0]);\r
+       return val;\r
+}\r
+\r
+/**\r
+ * @fn         static void MakeEachKeyLookup(SDWAP_KEY_LOOKUP *pKeyLookup, SDWAP_WORD *roundKey, unsigned char *subWord)\r
+ * @brief      generate key lookup table from given word of round key\r
+ *\r
+ * @param      [out] pKeyLookup        round key lookup table\r
+ * @param      [in] pRandMask          random mask for current round.\r
+ * @param      [in] RoundKey           before round key\r
+ * @param      [in] nRounds            number of round\r
+ * @param      [in] nCurRound          current round\r
+ * @return     void\r
+ */\r
+static void MakeEachKeyLookup(SDWAP_KEY_LOOKUP *pKeyLookup, unsigned char* nD1, unsigned char* nD2, SDWAP_RK_BOX *RoundKey, SDWAP_WORD *pSDWAP_SubWords, SDWAP_KEY_RANDOM_MASK* pRandMask, SDWAP_KEY_BIT_PBOX* pBitPTbl, unsigned char nIsFirstSet)\r
+{\r
+       unsigned int i;\r
+       unsigned char* pLookupCol = NULL;\r
+       unsigned char* pBeforeLKCol = NULL;\r
+       \r
+       //generate foreach column\r
+       for(i = 0; i < SDWAP_COLUMNS; i++)\r
+       {\r
+               pLookupCol = ((unsigned char*)(*pKeyLookup)) + (i * 17);\r
+       \r
+               if(nIsFirstSet)\r
+               {\r
+                       pLookupCol[ 0] = SDWAP_BitPermutation_LK( (*pRandMask)[0][0] ^ (*pRandMask)[1][0] ^ (*RoundKey)[0][i], pBitPTbl ) ^ nD1[0] ;                            //bit permutation #0\r
+                       pLookupCol[ 1] = SDWAP_BitPermutation_LK( (*pRandMask)[0][1] ^ (*pRandMask)[1][1] ^ (*pRandMask)[2][1], pBitPTbl  );                                            //bit permutation #1\r
+                       pLookupCol[ 2] = SDWAP_BitPermutation_LK( (*pRandMask)[0][2] ^ (*pRandMask)[2][2] ^ (*pRandMask)[3][2], pBitPTbl  );                                            //bit permutation #2\r
+                       pLookupCol[ 3] = SDWAP_BitPermutation_LK( (*pRandMask)[0][3] ^ (*pRandMask)[3][3] ^ (*pRandMask)[4][3], pBitPTbl  );                                            //bit permutation #3\r
+       \r
+                       pLookupCol[ 4] = SDWAP_BitPermutation_LK( (*pRandMask)[0][0], pBitPTbl  ) ^ nD1[1];                                                                                                             //bit permutation #0\r
+                       pLookupCol[ 5] = SDWAP_BitPermutation_LK( (*pRandMask)[1][1] ^ (*pRandMask)[2][1] ^ (*RoundKey)[1][i], pBitPTbl  ) ^ nD2[0];                            //bit permutation #1\r
+                       pLookupCol[ 6] = SDWAP_BitPermutation_LK( (*pRandMask)[1][2] ^ (*pRandMask)[2][2] ^ (*pRandMask)[0][2], pBitPTbl  );                                            //bit permutation #2\r
+                       pLookupCol[ 7] = SDWAP_BitPermutation_LK( (*pRandMask)[2][3] ^ (*pRandMask)[3][3] ^ (*pRandMask)[1][3] ^ (*pRandMask)[0][3], pBitPTbl  );       //bit permutation #3\r
+       \r
+                       pLookupCol[ 8] = SDWAP_BitPermutation_LK( (*pRandMask)[1][0], pBitPTbl  ) ^ nD1[2];                                                                                                             //bit permutation #0\r
+                       pLookupCol[ 9] = SDWAP_BitPermutation_LK( (*pRandMask)[0][1], pBitPTbl  ) ^ nD2[1];                                                                                                             //bit permutation #1\r
+                       pLookupCol[10] = SDWAP_BitPermutation_LK( (*pRandMask)[1][2] ^ (*pRandMask)[3][2] ^ (*RoundKey)[2][i], pBitPTbl  );                                             //bit permutation #2\r
+                       pLookupCol[11] = SDWAP_BitPermutation_LK( (*pRandMask)[1][3] ^ (*pRandMask)[2][3] ^ (*RoundKey)[3][i] ^ (*pRandMask)[4][3], pBitPTbl  );        //bit permutation #3\r
+\r
+                       pLookupCol[12] = SDWAP_BitPermutation_LK( (*pRandMask)[1][0] ^ (*pRandMask)[0][0], pBitPTbl  );                                                                                         //bit permutation #0\r
+                       pLookupCol[13] = SDWAP_BitPermutation_LK( (*pRandMask)[2][1] ^ (*pRandMask)[0][1], pBitPTbl  );                                                                                         //bit permutation #1\r
+                       pLookupCol[14] = SDWAP_BitPermutation_LK( (*pRandMask)[3][2] ^ (*pRandMask)[0][2], pBitPTbl  );                                                                                         //bit permutation #2\r
+                       pLookupCol[15] = SDWAP_BitPermutation_LK( (*pSDWAP_SubWords)[i] ^ (*pRandMask)[i][i], pBitPTbl  );\r
+\r
+                       //generate final value\r
+                       pLookupCol[16] = ( (*RoundKey)[3][i] );                                                                                                                                 //bit permutation #3\r
+               }\r
+               else\r
+               {\r
+                       pLookupCol[ 0] = ( (*RoundKey)[0][i] ^ (*pRandMask)[i][i] ^ (*pRandMask)[1][0] ) ^ nD1[0];                                                                                                                      //bit permutation #0\r
+                       pLookupCol[ 1] = ( (*RoundKey)[0][i] ^ (*pRandMask)[i][i] ^ (*pRandMask)[0][1] ^ (*pRandMask)[1][1] ^ (*pRandMask)[2][1] );                                                     //bit permutation #1\r
+                       pLookupCol[ 2] = ( (*RoundKey)[0][i] ^ (*pRandMask)[i][i] ^ (*pRandMask)[0][2] ^ (*pRandMask)[2][2] ^ (*pRandMask)[3][2] );                                                     //bit permutation #2\r
+                       pLookupCol[ 3] = ( (*RoundKey)[0][i] ^ (*pRandMask)[i][i] ^ (*pRandMask)[0][3] ^ (*pRandMask)[1][3] ^ (*pRandMask)[3][3] ^ (*pRandMask)[4][3] );        //bit permutation #3\r
+       \r
+                       pLookupCol[ 4] = nD1[1];                                                                                                                                                                //none\r
+                       pLookupCol[ 5] = ( (*RoundKey)[1][i] ^ (*pRandMask)[0][1] ^ (*pRandMask)[1][1] ) ^ nD2[0];                              //bit permutation #1\r
+                       pLookupCol[ 6] = (*RoundKey)[1][i] ^ (*pRandMask)[1][2] ^ (*pRandMask)[2][2];                                                   //bit permutation #2\r
+                       pLookupCol[ 7] = (*RoundKey)[1][i] ^ (*pRandMask)[0][3] ^ (*pRandMask)[2][3] ^ (*pRandMask)[3][3];              //bit permutation #3\r
+       \r
+                       pLookupCol[ 8] = nD1[2];                                                                                                                                                                //none\r
+                       pLookupCol[ 9] = nD2[1];                                                                                                                                                                //none\r
+                       pLookupCol[10] = (*RoundKey)[2][i] ^ (*pRandMask)[1][2] ^ (*pRandMask)[0][2];                                                   //bit permutation #2\r
+                       pLookupCol[11] = (*RoundKey)[2][i] ^ (*pRandMask)[2][3] ^ (*pRandMask)[1][3];                                                   //bit permutation #3\r
+       \r
+                       pLookupCol[12] = (*pRandMask)[1][0];                                                                                                                                    //bit permutation #0\r
+                       pLookupCol[13] = (*pRandMask)[2][1];                                                                                                                                    //bit permutation #1\r
+                       pLookupCol[14] = (*pRandMask)[3][2];                                                                                                                                    //bit permutation #2\r
+                       pLookupCol[15] = (*pSDWAP_SubWords)[i] ^ (*pRandMask)[i][i];\r
+\r
+                       //generate final value\r
+                       pLookupCol[16] = (*RoundKey)[3][i] ^ (*pRandMask)[4][3];                                                                                                //bit permutation #3\r
+               }\r
+       }\r
+}\r
+\r
+\r
+/**\r
+ * @fn         static void GenerateKeyLookupTable(SDWAP_WORD key[], unsigned int lines, SDWAP_WORD rk[], unsigned int rounds)\r
+ * @brief      calculate round keys from given key bytes\r
+ *\r
+ * @param      [in] key                        user key (cipher key)\r
+ * @param      [in] lines                      number of 32-bit words comprising the cipher key\r
+ * @param      [out] rk                        round key\r
+ * @param      [out] pKeyLookup        round key lookup table\r
+ * @param      [in] KeyLookupSize      size of key-lookup table\r
+ * @param      [in] rounds                     number of rounds\r
+ * @return     void\r
+ */\r
+static void GenerateKeyLookupTable(SDWAP_WORD key[], unsigned int lines, SDWAP_KEY_LOOKUP *pKeyLookup, unsigned int KeyLookupSize, SDWAP_KEY_BIT_PBOX* pBitPTbl, unsigned int rounds, int isEncryption)\r
+{\r
+       unsigned char Rcon = 1;\r
+       unsigned char temp[SDWAP_WORD_SIZE];\r
+       unsigned int i, j, k, l, idx, swap;\r
+       unsigned int SubIdx = 0;\r
+       unsigned int nRoundKeySize = 0;\r
+       unsigned char* RoundKey = NULL;\r
+       unsigned int nRandCnt[16];\r
+       unsigned char nD1[16][3];\r
+       unsigned char nD2[16][2];\r
+       SDWAP_WORD *rk;\r
+       SDWAP_WORD *pSDWAP_SubWords;\r
+       SDWAP_KEY_RANDOM_MASK pRandMask;\r
+\r
+       //calculate size of round key\r
+       nRoundKeySize = SDWAP_COLUMNS * SDWAP_WORD_SIZE * (rounds + 1); //Nb * word size * (number of rounds + 1)\r
+\r
+       //allocate memory for round key\r
+       RoundKey = (unsigned char*)malloc(nRoundKeySize);\r
+       if (RoundKey == NULL)\r
+       {\r
+               return;\r
+       }\r
+\r
+       rk = (SDWAP_WORD*)RoundKey;\r
+\r
+       //generate random mask for round-key\r
+       for(i = 0; i < 5; i++)\r
+       {\r
+               for(j = 0; j < 4; j++)\r
+               {\r
+                       pRandMask[i][j] = rand() & 0xff;\r
+               }\r
+       }\r
+\r
+       nRoundKeySize = SDWAP_COLUMNS * SDWAP_WORD_SIZE * (rounds + 1);\r
+\r
+       pSDWAP_SubWords = (SDWAP_WORD*)malloc(SDWAP_WORD_SIZE * rounds + 1);\r
+\r
+       for (i = 0; i < lines; i++)\r
+       {\r
+               //set first 1 set\r
+               for (j = 0; j < SDWAP_WORD_SIZE; j++)\r
+               {\r
+                       rk[i][j] = key[i][j];\r
+               }\r
+       }\r
+\r
+       //calc round key\r
+       for (i = lines; i < (SDWAP_COLUMNS * (rounds + 1)); i++)\r
+       {\r
+               for (j = 0; j < SDWAP_WORD_SIZE; j++)\r
+               {\r
+                       temp[j] = rk[i - 1][j];\r
+               }\r
+\r
+               if ((i % lines) == 0)\r
+               {\r
+                       //calc first row of next set\r
+                       SDWAP_RotWord(temp);\r
+                       SDWAP_SubWord(temp);\r
+                       temp[0] ^= Rcon;\r
+\r
+                       Rcon = SDWAP_XTIMEs(2, Rcon);\r
+\r
+                       memcpy(pSDWAP_SubWords + SubIdx, temp, SDWAP_WORD_SIZE);\r
+                       SubIdx++;\r
+               }\r
+               else if ((lines > 6) && ((i % lines) == 4)) \r
+               {\r
+                       SDWAP_SubWord(temp);\r
+\r
+                       memcpy(pSDWAP_SubWords + SubIdx, temp, SDWAP_WORD_SIZE);\r
+                       SubIdx++;\r
+               }\r
+\r
+               //clac next row\r
+               for (j = 0; j < SDWAP_WORD_SIZE; j++)\r
+               {\r
+                       rk[i][j] = rk[i - lines][j] ^ temp[j];\r
+               }\r
+       }\r
+\r
+       //Generate random mask for column of round-key\r
+       for(i = 0; i < 16; i++)\r
+       {\r
+               nRandCnt[i] = ((unsigned int)rand() % 64770) + 1;\r
+       }\r
+\r
+       for(i = 0; i < 16; i++)\r
+       {\r
+               for(j = i; j < 16; j++)\r
+               {\r
+                       if(nRandCnt[i] > nRandCnt[j])\r
+                       {\r
+                               swap = nRandCnt[i];\r
+                               nRandCnt[i] = nRandCnt[j];\r
+                               nRandCnt[j] = swap;\r
+                       }\r
+               }\r
+       }\r
+\r
+       idx = 0;        \r
+       swap = 0;\r
+\r
+       for(j = 0; j <=0xFF; j++)\r
+       {\r
+               for(k = 0; k <= 0xFF; k++)\r
+               {\r
+                       for(l = 0; l <= 0xFF; l++)\r
+                       {\r
+                               if(((j ^ k ^ l) == 0x00) && ( j != k ) && ( k != l ) && ( j != l ))\r
+                               {\r
+                                       if(idx == 16)\r
+                                       {\r
+                                               break;\r
+                                       }\r
+\r
+                                       if(nRandCnt[idx] == swap++)\r
+                                       {\r
+                                               nD1[idx][0] = (unsigned char)j;\r
+                                               nD1[idx][1] = (unsigned char)k;\r
+                                               nD1[idx][2] = (unsigned char)l;\r
+                                               idx++;\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+       \r
+       for(i = 0; i < 16; i++)\r
+       {\r
+               nD2[i][0] = nD2[i][1] = (unsigned char)rand() & 0xff;\r
+       }\r
+\r
+\r
+       //set first 1 set\r
+       MakeEachKeyLookup(pKeyLookup, (unsigned char*)nD1, (unsigned char*)nD2, (SDWAP_RK_BOX*)rk, pSDWAP_SubWords, &pRandMask, pBitPTbl, 1);\r
+\r
+       //calc next row for lookup table\r
+       for(i = 0; i < rounds; i++)\r
+       {\r
+               MakeEachKeyLookup(pKeyLookup + (i + 1), (unsigned char*)(nD1 + (i + 1)), (unsigned char*)(nD2 + (i + 1)), (SDWAP_RK_BOX*)rk + i, pSDWAP_SubWords + (i + 1), &pRandMask, pBitPTbl, 0);\r
+       }\r
+\r
+       //clear memory\r
+       memset(temp, 0x00, SDWAP_WORD_SIZE);\r
+\r
+       if(RoundKey)\r
+       {\r
+               memset(RoundKey, 0x00, nRoundKeySize);\r
+               free(RoundKey);\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+\r
+/**\r
+ * @fn         void SDWAP_ProcessBitPBox(SDWAP_BIT_PBOX* bpTable, unsigned int Nr)\r
+ * @brief      Generate table for bit-permutation\r
+ *\r
+ * @param      [out] bpTable   bit-permutation table\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+SPC_INTERNAL void SDWAP_GenerateBitPBox(SDWAP_BIT_PBOX* bpTable, unsigned int Nr)\r
+{\r
+       unsigned char i, j;\r
+       unsigned int idxtmp;\r
+\r
+       if(bpTable == NULL)\r
+       {\r
+               return;\r
+       }\r
+\r
+       //[Nr][8]\r
+       //make random bit-permutaion order for each round\r
+       for(i = 0; i < (Nr - 1); i++)\r
+       {\r
+               for(j = 0; j < 8; j++)\r
+               {\r
+                       //bpTable[i][j] = rand() % 8;\r
+                       bpTable[i][j] = j;\r
+\r
+                       for(idxtmp = 0; idxtmp < j; idxtmp++)\r
+                       {\r
+                               if(bpTable[i][idxtmp] == bpTable[i][j])\r
+                               {\r
+                                       j--;\r
+                                       break;\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+}\r
+\r
+\r
+/**\r
+ * @fn         void SDWAP_ProcessBitPBox(SDWAP_TBOX* pTBox, SDWAP_BIT_PBOX* bpTable, unsigned int Nr)\r
+ * @brief      Apply bit permutation.\r
+ *\r
+ * @param      [in] pTBox              T-Box \r
+ * @param      [in] bpTable    bit-permutation table\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+SPC_INTERNAL void SDWAP_ProcessBitPBox(SDWAP_TBOX* pTBox, SDWAP_BIT_PBOX* bpTable, unsigned int Nr)\r
+{\r
+       unsigned char i, j, k, l;\r
+       unsigned char idx, row, col;\r
+       unsigned int idxtmp;\r
+       SDWAP_TBOX* pCurTBox = NULL;\r
+       SDWAP_TBOX* pNxtTBox = NULL;\r
+       SDWAP_TBOX* pTmpTBox;\r
+\r
+       if(pTBox == NULL || bpTable == NULL)\r
+       {\r
+               return;\r
+       }\r
+\r
+       //[Nr][8]\r
+       //make random bit-permutaion order for each round\r
+       for(i = 0; i < (Nr - 1); i++)\r
+       {\r
+               pCurTBox = (SDWAP_TBOX*)((unsigned char*)pTBox + (i * SDWAP_T_TABLE_ROUND_SIZE));\r
+\r
+               for(idxtmp = 0; idxtmp < SDWAP_T_TABLE_ROUND_SIZE; idxtmp += SDWAP_WORD_SIZE)\r
+               {\r
+                       SDWAP_BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp    ]), bpTable[0]);\r
+                       SDWAP_BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 1]), bpTable[0]);\r
+                       SDWAP_BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 2]), bpTable[0]);\r
+                       SDWAP_BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 3]), bpTable[0]);\r
+               }\r
+       }\r
+\r
+       pTmpTBox = (SDWAP_TBOX*)malloc(SDWAP_T_TABLE_ROUND_SIZE);\r
+\r
+       //replace T-Box order for each round\r
+       for(i = 0; i < (Nr - 1); i++)\r
+       {\r
+               pNxtTBox = (SDWAP_TBOX*)((unsigned char*)pTBox + ((i + 1) * SDWAP_T_TABLE_ROUND_SIZE));\r
+\r
+               for(j = 0; j < 16; j++)\r
+               {\r
+                       for(k = 0; k < 16; k++)\r
+                       {\r
+                               for(l = 0; l < 16; l++)\r
+                               {\r
+                                               idx = (k * 16) + l;\r
+                                               SDWAP_BitPermutation(&idx, bpTable[0]);\r
+\r
+                                               row = idx >> 4;\r
+                                               col = idx & 0x0f;\r
+\r
+                                               memcpy(pTmpTBox[j][row][col], pNxtTBox[j][k][l], SDWAP_WORD_SIZE);\r
+                               }\r
+                       }\r
+               }\r
+\r
+               memcpy(pNxtTBox, pTmpTBox, SDWAP_T_TABLE_ROUND_SIZE);\r
+       }\r
+\r
+       free(pTmpTBox);\r
+}\r
+\r
+\r
+/**\r
+ * @fn         static void SDWAP_GenerateBytePBox(SDWAP_WORD_PBOX *pwTable, unsigned int Nr)\r
+ * @brief      Generate table for 4-byte permutation\r
+ *\r
+ * @param      [out] pwTable   Table for permutation word of T-box table\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void SDWAP_GenerateBytePBox(SDWAP_WORD_PBOX *pwTable, unsigned int Nr)\r
+{\r
+       unsigned int i, j;\r
+\r
+       //make random permutaion order for each round\r
+       for(i = 0; i < Nr; i++)\r
+       {\r
+               for(j = 0; j < 4; j++)\r
+               {\r
+                       //(*pwTable)[i][j] = (rand() & 0x0f) % 24;\r
+                       (*pwTable)[i][j] = 0;\r
+\r
+                       //for(k = 0; k < j; k++)\r
+                       //{\r
+                       //      if((*pwTable)[i][j] == (*pwTable)[i][k])\r
+                       //      {\r
+                       //              j--;\r
+                       //              break;\r
+                       //      }\r
+                       //}\r
+               }\r
+       }\r
+}\r
+\r
+\r
+/**\r
+ * @fn         static void SDWAP_ProcessBytePBox(SDWAP_WORD_PBOX *pwTable, SDWAP_TBOX *pTBox, unsigned int Nr)\r
+ * @brief      Apply byte permutation.\r
+ *\r
+ * @param      [in] pwTable    Table for permutation word of T-box table\r
+ * @param      [in] pTBox              transform table for each round\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void SDWAP_ProcessBytePBox(SDWAP_TBOX *pTBox, SDWAP_WORD_PBOX *pwTable, unsigned int Nr)\r
+{\r
+       unsigned int i, j;\r
+       SDWAP_WORD tmp;\r
+       SDWAP_WORD* pwbox;\r
+       SDWAP_TBOX* tbox;\r
+\r
+       //make random permutaion order for each round\r
+       for(i = 0; i < Nr; i++)\r
+       {\r
+               tbox = (SDWAP_TBOX*)((unsigned char*)pTBox + (i * SDWAP_T_TABLE_ROUND_SIZE));\r
+               pwbox = &(*pwTable)[i];\r
+\r
+               for(j = 0; j < SDWAP_T_TABLE_ROUND_SIZE; j += (SDWAP_WORD_SIZE * 4)) //word * 4\r
+               {\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][0] ] = ((unsigned char*)tbox)[j + 0];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][1] ] = ((unsigned char*)tbox)[j + 1];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][2] ] = ((unsigned char*)tbox)[j + 2];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][3] ] = ((unsigned char*)tbox)[j + 3];\r
+                       memcpy(((unsigned char*)tbox) + (j +  0), tmp, SDWAP_WORD_SIZE);\r
+\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][0] ] = ((unsigned char*)tbox)[j + 4];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][1] ] = ((unsigned char*)tbox)[j + 5];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][2] ] = ((unsigned char*)tbox)[j + 6];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][3] ] = ((unsigned char*)tbox)[j + 7];\r
+                       memcpy(((unsigned char*)tbox) + (j +  4), tmp, SDWAP_WORD_SIZE);\r
+\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][0] ] = ((unsigned char*)tbox)[j + 8];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][1] ] = ((unsigned char*)tbox)[j + 9];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][2] ] = ((unsigned char*)tbox)[j + 10];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][3] ] = ((unsigned char*)tbox)[j + 11];\r
+                       memcpy(((unsigned char*)tbox) + (j +  8), tmp, SDWAP_WORD_SIZE);\r
+\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][0] ] = ((unsigned char*)tbox)[j + 12];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][1] ] = ((unsigned char*)tbox)[j + 13];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][2] ] = ((unsigned char*)tbox)[j + 14];\r
+                       tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][3] ] = ((unsigned char*)tbox)[j + 15];\r
+                       memcpy(((unsigned char*)tbox) + (j + 12), tmp, SDWAP_WORD_SIZE);\r
+               }\r
+       }\r
+}\r
+\r
+\r
+/**\r
+ * @fn         static void SDWAP_InitalizeMicBox(SDWAP_MIX_COLUMN_BOX MicBox[4], SDWAP_TABLE_TYPE mode)\r
+ * @brief      Calculate MixColumns Matrix MC0, MC1, MC2, MC3\r
+ *\r
+ * @param      [out] MicBox    Matrix for MixColumns\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void SDWAP_InitalizeMicBox(SDWAP_MIX_COLUMN_BOX MicBox[4], SDWAP_TABLE_TYPE mode)\r
+{\r
+       //MicMatrix\r
+       static const unsigned char MicMatrix[4][4] = \r
+       {\r
+               {0x02, 0x01, 0x01, 0x03},\r
+               {0x03, 0x02, 0x01, 0x01},\r
+               {0x01, 0x03, 0x02, 0x01},\r
+               {0x01, 0x01, 0x03, 0x02}\r
+       };\r
+\r
+       //Inverse MicMatrix\r
+       static const unsigned char InvMicMatrix[4][4] = \r
+       {\r
+               {0x0e, 0x09, 0x0d, 0x0b},\r
+               {0x0b, 0x0e, 0x09, 0x0d},\r
+               {0x0d, 0x0b, 0x0e, 0x09},\r
+               {0x09, 0x0d, 0x0b, 0x0e}\r
+       };\r
+\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned int l;\r
+\r
+       //for each bytre of the word\r
+       for (i = 0; i <  SDWAP_WORD_SIZE; i++)\r
+       {\r
+               //sbox row\r
+               for (j = 0; j <  16; j++)\r
+               {\r
+                       //sbox col\r
+                       for (k = 0; k < 16; k++)\r
+                       {\r
+                               //xor MicMatrix\r
+                               for (l = 0; l < 4; l++)\r
+                               {\r
+                                       if (mode == SDWAP_TABLE_TYPE_ENCRYPTION)\r
+                                       {\r
+                                               //for encryption\r
+                                               MicBox[i][j][k][l] = SDWAP_XTIMEs((j * 16 + k), MicMatrix[i][l]);\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               //for decryption\r
+                                               MicBox[i][j][k][l] = SDWAP_XTIMEs((j * 16 + k), InvMicMatrix[i][l]);\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_AddMicBox(unsigned char val, SDWAP_WORD* word, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode)\r
+ * @brief      Applying MC box to the each element of T-box\r
+ *\r
+ * @param      [in] val                polynomial, each value of S-box\r
+ * @param      [out] word              MixColumn-applied word\r
+ * @param      [in] idx                index\r
+ * @param      [in] rnd                random number for MixColumn randomizing\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void SDWAP_AddMicBox(unsigned char val, SDWAP_WORD* word, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode)\r
+{\r
+       static SDWAP_MIX_COLUMN_BOX MicBox[4];                          //MicBox\r
+       static SDWAP_MIX_COLUMN_BOX InvMicBox[4];                       //Inverse MicBox\r
+       static unsigned char MicBoxInitialFlag = 0;                     //MicBox Initialize flag\r
+\r
+       unsigned int i;\r
+\r
+       //if flag is not set\r
+       if (MicBoxInitialFlag == 0)\r
+       {\r
+               //calc MicBox\r
+               SDWAP_InitalizeMicBox(MicBox, SDWAP_TABLE_TYPE_ENCRYPTION);\r
+\r
+               //calc Inverse MicBox\r
+               SDWAP_InitalizeMicBox(InvMicBox, SDWAP_TABLE_TYPE_DECRYPTION);\r
+\r
+               //set flag\r
+               MicBoxInitialFlag = 1;\r
+       }\r
+\r
+       for (i = 0; i < SDWAP_WORD_SIZE; i++)\r
+       {\r
+               //add MicBox for encryption\r
+               if (mode == SDWAP_TABLE_TYPE_ENCRYPTION)\r
+               {\r
+                       (*word)[i] = MicBox[idx][val >> 4][val & 0x0f][i] ^ rnd[i];\r
+               }\r
+               else\r
+               {\r
+                       //add MicBox for decryption\r
+                       (*word)[i] = InvMicBox[idx][val >> 4][val & 0x0f][i] ^ rnd[i];\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_MakeEachTBox(unsigned char mul, unsigned char xor, SDWAP_TBOX* tbox, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode)\r
+ * @brief      Claculating masked and expanded s-box\r
+ *\r
+ * @param      [in] mul                value to be multiplicated\r
+ * @param      [in] xor                value to be added\r
+ * @param      [out] tbox              T-box for each round key byte\r
+ * @param      [in] idx                column index\r
+ * @param      [in] rnd                random number for MixColumn randomizing\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void SDWAP_MakeEachTBox(unsigned char mul, unsigned char xor, SDWAP_TBOX* tbox, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned char mul_row = (mul >> 4);\r
+       unsigned char mul_col = (mul & 0x0f);\r
+\r
+       //S-Box row\r
+       for (i = 0; i < 16; i++)\r
+       {\r
+               //S-Box col\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       if (mode == SDWAP_TABLE_TYPE_ENCRYPTION)\r
+                       {\r
+                               //add MicBox for encryption\r
+                               SDWAP_AddMicBox(sdwap_s_box[i ^ mul_row][j ^ mul_col] ^ xor, &(*tbox)[i][j], idx, rnd, mode);\r
+                       }\r
+                       else\r
+                       {\r
+                               //add MicBox for decryption\r
+                               SDWAP_AddMicBox(sdwap_inv_s_box[i ^ mul_row][j ^ mul_col] ^ xor, &(*tbox)[i][j], idx, rnd, mode);\r
+                       }\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_MakeEachTBox_WithoutSubBytes(unsigned char xor, SDWAP_TBOX* tbox, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode)\r
+ * @brief      Claculating masked and expanded s-box with sub-bytes phase\r
+ *\r
+ * @param      [in] xor                value to be added\r
+ * @param      [out] tbox              T-box for each round key byte\r
+ * @param      [in] idx                column index\r
+ * @param      [in] rnd                random number for MixColumn randomizing\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void SDWAP_MakeEachTBox_WithoutSubBytes(unsigned char xor, SDWAP_TBOX* tbox, unsigned int idx, SDWAP_WORD rnd, SDWAP_TABLE_TYPE mode)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+\r
+       //S-Box row\r
+       for (i = 0; i < 16; i++)\r
+       {\r
+               //S-Box col\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       if (mode == SDWAP_TABLE_TYPE_ENCRYPTION)\r
+                       {\r
+                               //add MicBox for encryption\r
+                               SDWAP_AddMicBox(i * 16 + j, &(*tbox)[i][j], idx, rnd, mode);\r
+                       }\r
+                       else\r
+                       {\r
+                               //add MicBox for decryption\r
+                               SDWAP_AddMicBox(i * 16 + j, &(*tbox)[i][j], idx, rnd, mode);\r
+                       }\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_SBOX_Xor(unsigned char mul, unsigned char xor, SDWAP_TBOX* tbox, SDWAP_TABLE_TYPE mode)\r
+ * @brief      Claculating masked s-box\r
+ *\r
+ * @param      [in] mul                value to be multiplicated\r
+ * @param      [in] xor                value to be added\r
+ * @param      [in] tbox               T-box for each round key byte\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void SDWAP_SBOX_Xor(unsigned char mul, unsigned char xor, SDWAP_TBOX* tbox, SDWAP_TABLE_TYPE mode)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned char mul_row = mul >> 4;\r
+       unsigned char mul_col = mul & 0x0f;\r
+\r
+       //S-Box row\r
+       for (i = 0; i < 16; i++)\r
+       {\r
+               //S-Box col\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       if (mode == SDWAP_TABLE_TYPE_ENCRYPTION)\r
+                       {\r
+                               //clac T-box for encryption\r
+                               (*tbox)[i][j][0] = sdwap_s_box[i ^ mul_row][j ^ mul_col] ^ xor;\r
+                       }\r
+                       else\r
+                       {\r
+                               //calc T-box for decryption\r
+                               (*tbox)[i][j][0] = sdwap_inv_s_box[i ^ mul_row][j ^ mul_col] ^ xor;\r
+                       }\r
+\r
+                       //fill empty bytes with random numbers\r
+                       (*tbox)[i][j][1] = rand() & 0xff;\r
+                       (*tbox)[i][j][2] = rand() & 0xff;\r
+                       (*tbox)[i][j][3] = rand() & 0xff;\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_CalcTBox(SDWAP_RK_BOX* RK, SDWAP_TBOX* pTable, unsigned int Nr)\r
+ * @brief      Calculate T-box table for encryption\r
+ *\r
+ * @param      [out] pTable    T-box, transform table\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void SDWAP_CalcTBox(SDWAP_TBOX* pTable, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned char mask[16] = {0};\r
+\r
+       SDWAP_WORD rnd[16];\r
+\r
+       //1. make T-box for each rounds\r
+       for (i = 0; i < (Nr - 1); i++)\r
+       {\r
+               //make random masking\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               rnd[j][k] = rand() & 0xff;\r
+                       }\r
+               }\r
+\r
+               //for each col\r
+               for (j = 0; j < SDWAP_COLUMNS; j++)\r
+               {\r
+                       for (k = 0; k < SDWAP_WORD_SIZE; k++)\r
+                       {\r
+                               //make each TBox\r
+                               SDWAP_MakeEachTBox(mask[j * 4 + k], 0x00, &pTable[i * 16 + j * 4 + k], k, rnd[j * 4 + k], SDWAP_TABLE_TYPE_ENCRYPTION);\r
+                       }\r
+               }\r
+\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               //apply random masking\r
+                               mask[j * 4 + k] = rnd[sdwap_inv_sr_matrix[j * 4    ]][k] ^\r
+                                                                 rnd[sdwap_inv_sr_matrix[j * 4 + 1]][k] ^ \r
+                                                                 rnd[sdwap_inv_sr_matrix[j * 4 + 2]][k] ^ \r
+                                                                 rnd[sdwap_inv_sr_matrix[j * 4 + 3]][k];\r
+\r
+                       }\r
+               }\r
+       }\r
+\r
+       //2. make T-box for last round\r
+       for (j = 0; j < SDWAP_COLUMNS; j++)\r
+       {\r
+               for (k = 0; k < SDWAP_WORD_SIZE; k++)\r
+               {\r
+                       SDWAP_SBOX_Xor(mask[j * 4 + k], 0x00, &pTable[i * 16 + j * 4 + k], SDWAP_TABLE_TYPE_ENCRYPTION);\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+\r
+/**\r
+ * @fn         static void SDWAP_CalcInvTBox(SDWAP_RK_BOX* RK, SDWAP_TBOX* pTable, unsigned int Nr)\r
+ * @brief      Calculate T-box table for decryption\r
+ *\r
+ * @param      [in] pTable     T-box, transform table\r
+ * @param      [in] Nr         number of rounds\r
+ * @return     void\r
+ */\r
+static void SDWAP_CalcInvTBox(SDWAP_TBOX* pTable, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned char mask[16] = {0};\r
+\r
+       SDWAP_WORD rnd[16];\r
+\r
+       //1. make T-box for each rounds\r
+       for (i = 0; i < (Nr - 1); i++)\r
+       {\r
+               //make random masking\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               rnd[j][k] = 0x00;//rand() & 0xff;\r
+                       }\r
+               }\r
+\r
+               //for each col\r
+               for (j = 0; j < SDWAP_COLUMNS; j++)\r
+               {\r
+                       for (k = 0; k < SDWAP_WORD_SIZE; k++)\r
+                       {\r
+                               SDWAP_MakeEachTBox_WithoutSubBytes(0x00, &pTable[i * 16 + j * 4 + k], k, rnd[j * 4 + k], SDWAP_TABLE_TYPE_DECRYPTION);\r
+                       }\r
+               }\r
+\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               if (i == 0)\r
+                               {\r
+                                       //apply random mask for 1st T-Box\r
+                                       const unsigned char conv_matrix[16] =\r
+                                               {0, 7, 10, 13, 1, 4, 11, 14, 2, 5, 8, 15, 3, 6, 9, 12};\r
+                                       mask[sdwap_inv_sr_matrix[j * 4 + k]] = rnd[conv_matrix[j * 4    ]][k] ^\r
+                                                                                                        rnd[conv_matrix[j * 4 + 1]][k] ^ \r
+                                                                                                        rnd[conv_matrix[j * 4 + 2]][k] ^ \r
+                                                                                                        rnd[conv_matrix[j * 4 + 3]][k];\r
+                               }\r
+                               else\r
+                               {\r
+                                       //apply random mask\r
+                                       mask[sdwap_inv_sr_matrix[j * 4 + k]] = rnd[j * 4    ][k] ^\r
+                                                                                                        rnd[j * 4 + 1][k] ^ \r
+                                                                                                        rnd[j * 4 + 2][k] ^ \r
+                                                                                                        rnd[j * 4 + 3][k];\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       //2. make T-box for last round\r
+       for (j = 0; j < SDWAP_COLUMNS; j++)\r
+       {\r
+               for (k = 0; k < SDWAP_WORD_SIZE; k++)\r
+               {\r
+                       SDWAP_SBOX_Xor(mask[j * 4 + k], 0x00, &pTable[i * 16 + j * 4 + k], SDWAP_TABLE_TYPE_DECRYPTION);\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+\r
+/**\r
+ * @fn         static void SDWAP_ProcessInitalPermutation(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector)\r
+ * @brief      process initial permutation\r
+ *\r
+ * @param      [in,out] Table          P-box, permutation table\r
+ * @param      [in] PVector            permutation vector\r
+ * @return     void\r
+ */\r
+static void SDWAP_ProcessInitalPermutation(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector)\r
+{\r
+       unsigned int j;\r
+       unsigned int k;\r
+\r
+       for (j = 0; j < 2; j++)\r
+       {\r
+               for (k = 0; k < 8; k++)\r
+               {\r
+                       //make initial permutation table\r
+                       Table[0][j][k] = PVector[0][j * 8 + k];\r
+               }\r
+       }\r
+\r
+       for (; j < 4; j++)\r
+       {\r
+               for (k = 0; k < 8; k++)\r
+               {\r
+                       //fill empty bytes with random numbers\r
+                       Table[0][j][k] = rand() & 0xff;\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_ProcessFinalPermutation(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr, SDWAP_TABLE_TYPE mode)\r
+ * @brief      process final permutation\r
+ *\r
+ * @param      [in,out] Table  P-box, permutation table\r
+ * @param      [in] PVector    permutation vector\r
+ * @param      [in] Nr                 number of rounds\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void SDWAP_ProcessFinalPermutation(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr, SDWAP_TABLE_TYPE mode)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+\r
+       for (j = 0; j < 2; j++)\r
+       {\r
+               for (k = 0; k < 8; k++)\r
+               {\r
+                       if (mode == SDWAP_TABLE_TYPE_ENCRYPTION)\r
+                       {\r
+                               Table[Nr][PVector[Nr - 1][j * 8 + k] / 8][PVector[Nr - 1][j * 8 + k] % 8] = sdwap_sr_matrix[j * 8 + k];\r
+                       }\r
+                       else\r
+                       {\r
+                               Table[Nr][PVector[Nr - 1][j * 8 + k] / 8][PVector[Nr - 1][j * 8 + k] % 8] = j * 8 + k;\r
+                       }\r
+               }\r
+       }\r
+\r
+       //fill empty bytes with random numbers\r
+       for (; j < 4; j++)\r
+       {\r
+               for (k = 0; k < 8; k++)\r
+               {\r
+                       Table[Nr][j][k] = rand() & 0xff;\r
+               }\r
+       }\r
+\r
+       //add random to permutation table (ex. 0x0d 0x0c ==> 0x4d 0x7c)\r
+       for (i = 0; i <= Nr; i++)\r
+       {\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       for (k = 0; k < 8; k++)\r
+                       {\r
+                               unsigned char rnd = rand() % 16;\r
+                               Table[i][j][k] ^= (rnd << 4);\r
+                       }\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn          static void SDWAP_MakePTable(SDWAP_PBOX *Table, unsigned int round, unsigned char itmdt[16][4])\r
+ * @brief      Calculate P-box for each round\r
+ *\r
+ * @param      [in,out] Table  P-box, permutation table\r
+ * @param      [in] round              current round\r
+ * @param      [in] itmdt              intermediate value\r
+ * @return     void\r
+ */\r
+static void SDWAP_MakePTable(SDWAP_PBOX *Table, unsigned int round, unsigned char itmdt[16][4])\r
+{\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned int idx[4] = {0};\r
+\r
+       //fill P-Table with 0xff\r
+       memset(&Table[round], 0xff, sizeof(SDWAP_PBOX));\r
+\r
+       for (j = 0; j < 16; j++)\r
+       {\r
+               for (k = 0; k < 4; k++)\r
+               {\r
+                       if (Table[round][k][0] == 0xff)\r
+                       {\r
+                               //if the key value is not added yet, add key value and 1st index\r
+                               memcpy(&Table[round][k], &itmdt[j], sizeof(SDWAP_WORD));\r
+                               idx[k] = 0;\r
+                               Table[round][k][4 + idx[k]] = j;\r
+\r
+                               break;\r
+                       }\r
+                       else if (memcmp(&itmdt[j], &Table[round][k], SDWAP_WORD_SIZE) == 0)\r
+                       {\r
+                               //if the index already exists, just add index\r
+                               idx[k]++;\r
+                               Table[round][k][4 + idx[k]] = j;\r
+\r
+                               break;\r
+                       }\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_CalcPBox(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr)\r
+ * @brief      Calculate P-box table for encryption\r
+ *\r
+ * @param      [out] Table             P-box, permutation table\r
+ * @param      [in] PVector    permutation vector\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void SDWAP_CalcPBox(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned int temp;\r
+       \r
+       unsigned char InvMix[16];\r
+       unsigned char itmdt[16][4];\r
+\r
+       //1. make initial permutation\r
+       SDWAP_ProcessInitalPermutation(Table, PVector);\r
+\r
+       //2. make permutation table\r
+       for (i = 1; i < Nr; i++)\r
+       {\r
+               //calc Intermideate table\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       InvMix[PVector[i - 1][j]] = j;\r
+               }\r
+\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               temp = (sdwap_sr_matrix[InvMix[j]] / 4) * 4 + k;\r
+                               itmdt[j][k] = PVector[i][temp];\r
+                       }\r
+               }\r
+\r
+               SDWAP_MakePTable(Table, i, itmdt);\r
+       }\r
+\r
+       //3. make final permutation\r
+       SDWAP_ProcessFinalPermutation(Table, PVector, Nr, SDWAP_TABLE_TYPE_ENCRYPTION);\r
+\r
+       return;\r
+}\r
+\r
+\r
+/**\r
+ * @fn         static void SDWAP_CalcInvPBox(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr)\r
+ * @brief      Calculate P-box table for decryption\r
+ *\r
+ * @param      [out] Table             P-box, permutation table\r
+ * @param      [in] PVector    permutation vector\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void SDWAP_CalcInvPBox(SDWAP_PBOX *Table, SDWAP_PVECTOR* PVector, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned int temp;\r
+       \r
+       unsigned char InvMix[16];\r
+       unsigned char itmdt[16][4];\r
+\r
+       //1. make initial permutation\r
+       SDWAP_ProcessInitalPermutation(Table, PVector);\r
+\r
+       //2. make permutation table\r
+       for (i = 1; i < Nr; i++)\r
+       {\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       InvMix[PVector[i - 1][j]] = j;\r
+               }\r
+\r
+               //calc Intermideate table\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               if (i == 1)\r
+                               {\r
+                                       temp = sdwap_inv_sr_matrix[(sdwap_inv_sr_matrix[InvMix[j]] / 4) * 4 + k];\r
+                                       itmdt[j][k] = PVector[i][temp];\r
+                               }\r
+                               else\r
+                               {\r
+                                       temp = sdwap_inv_sr_matrix[(InvMix[j] / 4) * 4 + k];\r
+                                       itmdt[j][k] = PVector[i][temp];\r
+                               }\r
+                       }\r
+               }\r
+\r
+               SDWAP_MakePTable(Table, i, itmdt);\r
+       }\r
+\r
+       //3. make final permutation\r
+       SDWAP_ProcessFinalPermutation(Table, PVector, Nr, SDWAP_TABLE_TYPE_DECRYPTION);\r
+\r
+       return;\r
+}\r
+\r
+\r
+/**\r
+ * @fn         static void SDWAP_GeneratePVector(unsigned int Nr, SDWAP_PVECTOR* PVector)\r
+ * @brief      generate permutation vector\r
+ *\r
+ * @param      [in] Nr                 number of rounds\r
+ * @param      [out] PVector   permutation vector\r
+ * @return     void\r
+ */\r
+static void SDWAP_GeneratePVector(unsigned int Nr, SDWAP_PVECTOR* PVector)\r
+{\r
+       unsigned int rnd;\r
+       unsigned char flag[16];\r
+       unsigned char sequence[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};\r
+       unsigned int i;\r
+       unsigned int j;\r
+\r
+       for (i = 0; i < Nr; i++)\r
+       {\r
+               //make 16 byte random sequence for each round\r
+               memcpy(flag, sequence, sizeof(flag));\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       rnd = rand() % (16 - j);\r
+                       PVector[i][j] = j;\r
+                       flag[j] = flag[16 - j - 1];\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_ShuffleTBox(SDWAP_TBOX* pTBox, SDWAP_PVECTOR* PVector, unsigned int Nr)\r
+ * @brief      shuffle T-box according to the permutation vector\r
+ *\r
+ * @param      [in,out] pTBox  T-box, transform table\r
+ * @param      [in] PVector    permutation vector\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void SDWAP_ShuffleTBox(SDWAP_TBOX* pTBox, SDWAP_PVECTOR* PVector, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       SDWAP_TBOX* pCurrentTBox = pTBox;\r
+       SDWAP_TBOX temp[16];\r
+\r
+       for (i = 0; i < Nr; i++)\r
+       {\r
+               //temp = current TBox\r
+               memcpy(&temp, pCurrentTBox, sizeof(SDWAP_TBOX) * 16);\r
+\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       //Shuffle each item of T-Box\r
+                       memcpy(&pCurrentTBox[PVector[i][j]], temp[j], sizeof(SDWAP_TBOX));\r
+               }\r
+\r
+               //current TBox = temp\r
+               pCurrentTBox = &pCurrentTBox[16];\r
+       }\r
+\r
+       return ;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_GeneratePVector_fst(unsigned int Nr, SDWAP_PVECTOR* PVector)\r
+ * @brief      generate permutation vector for fast implementation\r
+ *\r
+ * @param      [in] Nr                 number of rounds\r
+ * @param      [out] PVector   permutation vector\r
+ * @return     void\r
+ */\r
+static void SDWAP_GeneratePVector_fst(unsigned int Nr, SDWAP_PVECTOR* PVector)\r
+{\r
+       unsigned int rnd;\r
+       unsigned int sfl;\r
+       unsigned char flag[4];\r
+       unsigned char sequence[4] = {0, 1, 2, 3};\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+\r
+       //shuffle table\r
+       unsigned char sflTable[4][4] = \r
+       {\r
+               {0x00, 0x01, 0x02, 0x03},\r
+               {0x01, 0x02, 0x03, 0x00},\r
+               {0x02, 0x03, 0x00, 0x01},\r
+               {0x03, 0x00, 0x01, 0x02}\r
+       };\r
+\r
+       //calculate PVector\r
+       for (i = 0; i < Nr; i++)\r
+       {\r
+               memcpy(flag, sequence, sizeof(flag));\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       rnd = rand() % (4 - j);\r
+                       sfl = rand() % 4;\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               PVector[i][j * 4 + k] = flag[rnd] * 4 + sflTable[sfl][k];\r
+                       }\r
+                       flag[rnd] = flag[4 - j - 1];\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_GenerateInvPVector_fst(unsigned int Nr, SDWAP_PVECTOR* PVector)\r
+ * @brief      generate permutation vector for fast decryption\r
+ *\r
+ * @param      [in] Nr                 number of rounds\r
+ * @param      [out] PVector   permutation vector\r
+ * @return     void\r
+ */\r
+static void SDWAP_GenerateInvPVector_fst(unsigned int Nr, SDWAP_PVECTOR* PVector)\r
+{\r
+       unsigned int rnd;\r
+       unsigned int sfl;\r
+       unsigned char flag[4];\r
+       unsigned char sequence[4] = {0, 1, 2, 3};\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+\r
+       //shuffle table\r
+       unsigned char sflTable[4][4] = \r
+       {\r
+               {0x00, 0x01, 0x02, 0x03},\r
+               {0x01, 0x02, 0x03, 0x00},\r
+               {0x02, 0x03, 0x00, 0x01},\r
+               {0x03, 0x00, 0x01, 0x02}\r
+       };\r
+\r
+       //calculate inverse PVector\r
+       for (i = 0; i < Nr; i++)\r
+       {\r
+               memcpy(flag, sequence, sizeof(flag));\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       rnd = rand() % (4 - j);\r
+                       sfl = rand() % 4;\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               PVector[i][sdwap_inv_sr_matrix[j * 4 + k]] = flag[rnd] * 4 + sflTable[sfl][k];\r
+                       }\r
+                       flag[rnd] = flag[4 - j - 1];\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_GenerateInvPVector_fstest(unsigned int Nr, SDWAP_PVECTOR* PVector)\r
+ * @brief      generate permutation vector for fastest decryption\r
+ *\r
+ * @param      [in] Nr                 number of rounds\r
+ * @param      [out] PVector   permutation vector\r
+ * @return     void\r
+ */\r
+static void SDWAP_GenerateInvPVector_fstest(unsigned int Nr, SDWAP_PVECTOR* PVector)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+\r
+       //Actually, no permutation is applied\r
+       for (i = 0; i < 16; i++)\r
+       {\r
+               PVector[0][i] = i;\r
+       }\r
+\r
+       for (i = 1; i < Nr; i++)\r
+       {\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       PVector[i][sdwap_inv_sr_matrix[j]] = j;\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_ConvertPBox(SDWAP_PBOX *Table, unsigned int Nr)\r
+ * @brief      convert PBox for simple permutation\r
+ *\r
+ * @param      [in,out] Table  PBox\r
+ * @param      [out] Nr                number of rounds\r
+ * @return     void\r
+ */\r
+static void SDWAP_ConvertPBox(SDWAP_PBOX *Table, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned char t;\r
+\r
+       for (i = 1; i < Nr; i++)\r
+       {\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       //calculate each table and fill empty bits with random mask\r
+                       t = Table[i][j][0] & 0x0f;\r
+                       Table[i][j][0] = (t / 4) + (0x00 & 0xfc); //(t / 4) + (rand() & 0xfc);\r
+                       Table[i][j][1] = ((t % 4) * 8) + (0x00 & 0xe0); //((t % 4) * 8) + (rand() & 0xe0)\r
+                       Table[i][j][2] = rand() & 0xff;\r
+                       Table[i][j][3] = rand() & 0xff;\r
+               }\r
+       }\r
+}\r
+\r
+/**\r
+ * @fn         static void SDWAP_RandomizePBox(SDWAP_PBOX *Table, unsigned int Nr)\r
+ * @brief      fill the PBox with random numbers\r
+ *\r
+ * @param      [in,out] Table  PBox\r
+ * @param      [out] Nr                number of rounds\r
+ * @return     void\r
+ */\r
+static void SDWAP_RandomizePBox(SDWAP_PBOX *Table, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+\r
+       for (i = 0; i <= Nr; i++)\r
+       {\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       for (k = 0; k < 8; k++)\r
+                       {\r
+                               //fill the table with random numbers\r
+                               Table[i][j][k] = rand() & 0xff;\r
+                       }\r
+               }\r
+       }\r
+}\r
+\r
+/**\r
+ * @fn         unsigned int SDWAP_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, unsigned int OptimizLev)\r
+ * @brief      derivate look-up table from given key\r
+ *\r
+ * @param      [in] Key                        user key (cipher key)\r
+ * @param      [in] KeyLen                     byte-length of cipher key\r
+ * @param      [in] seed                       random seed\r
+ * @param      [out] Table                     look-up table for SDWAP\r
+ * @param      [out] TableLen          byte-length of look-up table\r
+ * @param      [in] isEncryption       flag ordering encryption or decryption\r
+ * @param      [in] OptimizLev         Performance Optimization Level [0~2]\r
+ * @return     SDWAP_TBLGEN_RETURN_VAL\r
+ */\r
+SPC_INTERNAL unsigned int SDWAP_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, int TableType)\r
+{\r
+       SDWAP_TBLGEN_RETURN_VAL retVal = SDWAP_TBLGEN_RETURN_SUCCESS;\r
+       unsigned int Nr = 0;\r
+       unsigned int Nk = 0;\r
+\r
+       SDWAP_TBOX *pTBox = NULL;\r
+       SDWAP_PBOX *pPBox = NULL;\r
+       SDWAP_WORD_PBOX *pBytePBox = NULL;\r
+       SDWAP_BIT_PBOX *pBitPBox = NULL;\r
+       SDWAP_KEY_LOOKUP *pKeyLookup = NULL;\r
+       SDWAP_KEY_BYTE_PBOX *pKeyBytePBox = NULL;\r
+       SDWAP_KEY_BIT_PBOX *pKeyBitPBox = NULL;\r
+       unsigned int TBoxSize = 0;\r
+       unsigned int PBoxSize = 0;\r
+       unsigned int WPBoxSize = 0;\r
+       unsigned int BPBoxSize = 0;\r
+       unsigned int KeyLookupSize = 0;\r
+\r
+       SDWAP_PVECTOR PVector[SDWAP_256_ROUNDS + 1];\r
+\r
+\r
+       //1. Argument Check\r
+       if ((Key == NULL) || (Table == NULL))\r
+       {\r
+               retVal = SDWAP_TBLGEN_RETURN_INVALID_PARAMETER;                 //invalid input\r
+               goto ERROR_PROC;\r
+       }\r
+\r
+       //2. Set Number of rounds\r
+       switch(KeyLen)                                          //find Nr\r
+       {\r
+               case 16:\r
+                       //AES128\r
+                       Nr = SDWAP_128_ROUNDS;\r
+                       break;\r
+               case 24:\r
+                       //AES192\r
+                       Nr = SDWAP_192_ROUNDS;\r
+                       break;\r
+               case 32:\r
+                       //AES256\r
+                       Nr = SDWAP_256_ROUNDS;\r
+                       break;\r
+               default:\r
+                       retVal = SDWAP_TBLGEN_RETURN_INVALID_KEYLEN;                    //invalid key length\r
+                       goto ERROR_PROC;\r
+       }\r
+\r
+       //calculate Nk\r
+       Nk = KeyLen / SDWAP_WORD_SIZE;                                                          //Nk is the word size of given key\r
+\r
+       //calculate TBox and PBox size\r
+       TBoxSize = SDWAP_T_TABLE_ROUND_SIZE * Nr;                       //each byte of round key has its own s-box table\r
+       PBoxSize = SDWAP_P_TABLE_ROUND_SIZE * (Nr + 1);         //Permutation table for each round, and initial permutation\r
+       WPBoxSize = SDWAP_WP_TABLE_ROUND_SIZE * Nr;                     //Permutation word of transform table for each round\r
+       BPBoxSize = SDWAP_BP_TABLE_ROUND_SIZE * Nr;                     //Permutation bit of transform table for each round\r
+       KeyLookupSize = 17 * 4 * (Nr + 1);                                      //each column of round-key has its own lookup table\r
+\r
+       //allocate memory for TBox and PBox\r
+       if(TableType == SDWAP_TBL_TBOX)\r
+       {\r
+               pTBox = (SDWAP_TBOX*)malloc(TBoxSize + PBoxSize + WPBoxSize + BPBoxSize + KeyLookupSize);\r
+\r
+               if (pTBox == NULL)\r
+               {\r
+                       retVal = SDWAP_TBLGEN_RETURN_MEM_ALLOC_FAILED;                  //memory allocation failed\r
+                       goto ERROR_PROC;\r
+               }\r
+\r
+               pPBox = (SDWAP_PBOX*)((unsigned char*)pTBox + TBoxSize);\r
+               pBytePBox = (SDWAP_WORD_PBOX*)((unsigned char*)pTBox + TBoxSize + PBoxSize);\r
+               pBitPBox = (SDWAP_BIT_PBOX*)((unsigned char*)pTBox + TBoxSize + PBoxSize + WPBoxSize);\r
+       }\r
+       if(TableType == SDWAP_TBL_KEYLOOKUP)\r
+       {\r
+               pTBox = (SDWAP_TBOX*)(*Table);\r
+               pBitPBox = (SDWAP_BIT_PBOX*)((unsigned char*)pTBox + TBoxSize + PBoxSize + WPBoxSize);\r
+               pKeyLookup = (SDWAP_KEY_LOOKUP*)((unsigned char*)pTBox + TBoxSize + PBoxSize + WPBoxSize + BPBoxSize);\r
+       }\r
+\r
+       if(TableType == SDWAP_TBL_TBOX)\r
+       {\r
+               //seed random seed\r
+               srand(seed);\r
+\r
+               //3. Generate byte & bit permutation table\r
+               SDWAP_GenerateBitPBox(pBitPBox, Nr);\r
+               SDWAP_GenerateBytePBox(pBytePBox, Nr);\r
+       }\r
+\r
+       //4. Calc Round Key & Generate Key Lookup Table\r
+       if(TableType == SDWAP_TBL_KEYLOOKUP)\r
+       {\r
+               GenerateKeyLookupTable((SDWAP_WORD*)Key, Nk, pKeyLookup, KeyLookupSize, pBitPBox, Nr, isEncryption);\r
+       }\r
+\r
+       if(TableType == SDWAP_TBL_TBOX)\r
+       {\r
+               if (isEncryption)\r
+               {\r
+                       //5. Generate permutation vector and PBox\r
+                       SDWAP_GeneratePVector(Nr, PVector);\r
+                       SDWAP_CalcPBox(pPBox, PVector, Nr);\r
+\r
+                       //6. Generate table for calc AddRoundKey, SubBytes and MixColumn\r
+                       SDWAP_CalcTBox(pTBox, Nr);\r
+               }\r
+               else\r
+               {\r
+                       //5. Generate permutation vector and PBox\r
+                       SDWAP_GeneratePVector(Nr, PVector);\r
+                       SDWAP_CalcInvPBox(pPBox, PVector, Nr);\r
+\r
+                       //6. Generate table for calc AddRoundKey, SubBytes and MixColumn\r
+                       SDWAP_CalcInvTBox(pTBox, Nr);\r
+               }\r
+\r
+               //7. Apply bit & byte permutation\r
+               SDWAP_ProcessBitPBox(pTBox, pBitPBox, Nr);\r
+               SDWAP_ProcessBytePBox(pTBox, pBytePBox, Nr);\r
+\r
+               //8. Shuffle TBox according to the permutation vector\r
+               SDWAP_ShuffleTBox(pTBox, PVector, Nr);\r
+       \r
+               //9. Set output\r
+               *Table = (unsigned char*)pTBox;\r
+       \r
+               //set pTbox to preventing free\r
+               pTBox = NULL;\r
+\r
+               //set table length\r
+               if (TableLen != NULL)\r
+               {\r
+                       *TableLen = TBoxSize + PBoxSize;\r
+               }\r
+       }\r
+       \r
+\r
+ERROR_PROC:\r
+\r
+       if(TableType == SDWAP_TBL_TBOX)\r
+       {\r
+               //clear memory\r
+               memset(PVector, 0x00, sizeof(PVector));\r
+\r
+               //free TBox if not null\r
+               if (pTBox != NULL)\r
+               {\r
+                       //clear before free\r
+                       memset(pTBox, 0x00, TBoxSize + PBoxSize + WPBoxSize + BPBoxSize + KeyLookupSize);\r
+                       free(pTBox);\r
+               }\r
+\r
+               if(pSDWAP_SBox != NULL)\r
+               {\r
+                       memset(pSDWAP_SBox, 0x00, sizeof(SDWAP_SBOX) * Nr);\r
+                       free(pSDWAP_SBox);\r
+               }\r
+\r
+               if(pSDWAP_InvSBox != NULL)\r
+               {\r
+                       memset(pSDWAP_InvSBox, 0x00, sizeof(SDWAP_SBOX) * Nr);\r
+                       free(pSDWAP_InvSBox);\r
+               }\r
+       }\r
+\r
+       return retVal;\r
+}\r
+\r
+////////////////////////// End of File //////////////////////////\r
diff --git a/SPC/Src/WhiteBox/SWAPv2.c b/SPC/Src/WhiteBox/SWAPv2.c
new file mode 100755 (executable)
index 0000000..6239f34
--- /dev/null
@@ -0,0 +1,308 @@
+/**\r
+ * @file       SWAPv2.c\r
+ * @brief      white box AES module for SSA(Samsung Security Architecture)\r
+ * @author     Samsung WhiteBox AES Version 2 (SWAPv1 based)\r
+ *                             - Chul Lee(chuls.lee@samsung.com)\r
+ *                             - Dept : Software R&D Center / Cloud Computing Lab.\r
+ *\r
+ *                     Samsung WhiteBox AES Version 1\r
+ *                              - Jisoon Park(js00n.park@samsung.com)\r
+ *                              - Dept: DMC R&D Center/Convergence Software Lab.\r
+ *\r
+ * @see                SWAPv2\r
+ * @date       2012-10-05\r
+ * @version    2.0\r
+ * @par                Copyright:\r
+ * Copyright 2012 by Samsung Electronics, Inc.,\r
+ * This software is the confiedential and properietary information \r
+ * of Samsung Elctronics, Inc. ("Confidential Information"). You \r
+ * shall not disclose such Confidential Information and shall use \r
+ * it only in accordance with the term of the lice agreement \r
+ * you entered into with Samsung.\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// including header files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <memory.h>\r
+#include <stdio.h>\r
+#include "SWAPv2_defines.h"\r
+#include "SWAPv2.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// function implementations\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         static void SWAPv2_ProcNormal(SWAPv2_TBOX *pTBox, SWAPv2_PBOX *pPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian)\r
+ * @brief      normal mode processing\r
+ *\r
+ * @param      [in] pTBox                      T-Box\r
+ * @param      [in] pPBox                      P-Box\r
+ * @param      [in] pWPBox                     word(4byte) permutation box\r
+ * @param      [in] pBPBox                     bit permutation box\r
+ * @param      [in] Nr                         number of rounds\r
+ * @param      [in] in                         input bytes(16-byte length)\r
+ * @param      [out] out                       output bytes(16-byte length)\r
+ * @param      [in] isLittleEndian     flag for little endian\r
+ * @return     void\r
+ */\r
+static void SWAPv2_ProcNormal(SWAPv2_TBOX *pTBox, SWAPv2_PBOX *pPBox, SWAPv2_WORD_PBOX* pWPBox, SWAPv2_BIT_PBOX* pBPBox, unsigned int Nr, unsigned char* in, unsigned char* out, unsigned int isLittleEndian)\r
+{\r
+#ifdef _USE_ITERATION\r
+       unsigned int i, j;\r
+#endif\r
+       unsigned int idx = 0;\r
+       unsigned int idx16;\r
+       unsigned char idx_wps[16];\r
+       unsigned char state[16];        //state\r
+       SWAPv2_WORD* itmdt[16];         //intermediate value\r
+\r
+\r
+       //3. Process initial permutation\r
+#ifdef _USE_ITERATION\r
+       \r
+#else\r
+\r
+       idx_wps[(pPBox[0][0][0]) & 0x0f] = state[(pPBox[0][0][0]) & 0x0f] = in[ 0];\r
+       idx_wps[(pPBox[0][0][1]) & 0x0f] = state[(pPBox[0][0][1]) & 0x0f] = in[ 1];\r
+       idx_wps[(pPBox[0][0][2]) & 0x0f] = state[(pPBox[0][0][2]) & 0x0f] = in[ 2];\r
+       idx_wps[(pPBox[0][0][3]) & 0x0f] = state[(pPBox[0][0][3]) & 0x0f] = in[ 3];\r
+       idx_wps[(pPBox[0][0][4]) & 0x0f] = state[(pPBox[0][0][4]) & 0x0f] = in[ 4];\r
+       idx_wps[(pPBox[0][0][5]) & 0x0f] = state[(pPBox[0][0][5]) & 0x0f] = in[ 5];\r
+       idx_wps[(pPBox[0][0][6]) & 0x0f] = state[(pPBox[0][0][6]) & 0x0f] = in[ 6];\r
+       idx_wps[(pPBox[0][0][7]) & 0x0f] = state[(pPBox[0][0][7]) & 0x0f] = in[ 7];\r
+       idx_wps[(pPBox[0][1][0]) & 0x0f] = state[(pPBox[0][1][0]) & 0x0f] = in[ 8];\r
+       idx_wps[(pPBox[0][1][1]) & 0x0f] = state[(pPBox[0][1][1]) & 0x0f] = in[ 9];\r
+       idx_wps[(pPBox[0][1][2]) & 0x0f] = state[(pPBox[0][1][2]) & 0x0f] = in[10];\r
+       idx_wps[(pPBox[0][1][3]) & 0x0f] = state[(pPBox[0][1][3]) & 0x0f] = in[11];\r
+       idx_wps[(pPBox[0][1][4]) & 0x0f] = state[(pPBox[0][1][4]) & 0x0f] = in[12];\r
+       idx_wps[(pPBox[0][1][5]) & 0x0f] = state[(pPBox[0][1][5]) & 0x0f] = in[13];\r
+       idx_wps[(pPBox[0][1][6]) & 0x0f] = state[(pPBox[0][1][6]) & 0x0f] = in[14];\r
+       idx_wps[(pPBox[0][1][7]) & 0x0f] = state[(pPBox[0][1][7]) & 0x0f] = in[15];\r
+\r
+#endif\r
+\r
+       //4. Process each rounds\r
+       do\r
+       {\r
+               idx16 = (idx << 4);\r
+\r
+#ifdef _USE_ITERATION\r
+               \r
+#else\r
+               itmdt[ 0] = (SWAPv2_WORD*)pTBox[idx16 +  0][state[ 0] >> 4][state[ 0] &  0xf];\r
+               itmdt[ 1] = (SWAPv2_WORD*)pTBox[idx16 +  1][state[ 1] >> 4][state[ 1] &  0xf];\r
+               itmdt[ 2] = (SWAPv2_WORD*)pTBox[idx16 +  2][state[ 2] >> 4][state[ 2] &  0xf];\r
+               itmdt[ 3] = (SWAPv2_WORD*)pTBox[idx16 +  3][state[ 3] >> 4][state[ 3] &  0xf];\r
+               itmdt[ 4] = (SWAPv2_WORD*)pTBox[idx16 +  4][state[ 4] >> 4][state[ 4] &  0xf];\r
+               itmdt[ 5] = (SWAPv2_WORD*)pTBox[idx16 +  5][state[ 5] >> 4][state[ 5] &  0xf];\r
+               itmdt[ 6] = (SWAPv2_WORD*)pTBox[idx16 +  6][state[ 6] >> 4][state[ 6] &  0xf];\r
+               itmdt[ 7] = (SWAPv2_WORD*)pTBox[idx16 +  7][state[ 7] >> 4][state[ 7] &  0xf];\r
+               itmdt[ 8] = (SWAPv2_WORD*)pTBox[idx16 +  8][state[ 8] >> 4][state[ 8] &  0xf];\r
+               itmdt[ 9] = (SWAPv2_WORD*)pTBox[idx16 +  9][state[ 9] >> 4][state[ 9] &  0xf];\r
+               itmdt[10] = (SWAPv2_WORD*)pTBox[idx16 + 10][state[10] >> 4][state[10] &  0xf];\r
+               itmdt[11] = (SWAPv2_WORD*)pTBox[idx16 + 11][state[11] >> 4][state[11] &  0xf];\r
+               itmdt[12] = (SWAPv2_WORD*)pTBox[idx16 + 12][state[12] >> 4][state[12] &  0xf];\r
+               itmdt[13] = (SWAPv2_WORD*)pTBox[idx16 + 13][state[13] >> 4][state[13] &  0xf];\r
+               itmdt[14] = (SWAPv2_WORD*)pTBox[idx16 + 14][state[14] >> 4][state[14] &  0xf];\r
+               itmdt[15] = (SWAPv2_WORD*)pTBox[idx16 + 15][state[15] >> 4][state[15] &  0xf];\r
+#endif\r
+               idx++;\r
+\r
+\r
+#ifdef _USE_ITERATION\r
+               \r
+#else\r
+               state[ pPBox[idx][0][0] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][0][1] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][0][2] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][0][3] & 0x0f ] = (*itmdt[ pPBox[idx][0][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][0][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][0][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               state[ pPBox[idx][1][0] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][1][1] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][1][2] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][1][3] & 0x0f ] = (*itmdt[ pPBox[idx][1][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][1][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][1][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               state[ pPBox[idx][2][0] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][2][1] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][2][2] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][2][3] & 0x0f ] = (*itmdt[ pPBox[idx][2][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][2][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][2][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               state[ pPBox[idx][3][0] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][0] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][0] ];\r
+               state[ pPBox[idx][3][1] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][1] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][1] ];\r
+               state[ pPBox[idx][3][2] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][2] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][2] ];\r
+               state[ pPBox[idx][3][3] & 0x0f ] = (*itmdt[ pPBox[idx][3][4] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][4] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][5] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][5] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][6] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][6] & 0x0f ] &  0xf) % 4 ]][3] ]\r
+                                                                                ^ (*itmdt[ pPBox[idx][3][7] & 0x0f ])[ byte_pMatrix[(*pWPBox)[idx - 1][ (idx_wps[ pPBox[idx][3][7] & 0x0f ] &  0xf) % 4 ]][3] ];\r
+\r
+               idx_wps[ 0] = state[ 0];\r
+               idx_wps[ 1] = state[ 1];\r
+               idx_wps[ 2] = state[ 2];\r
+               idx_wps[ 3] = state[ 3];\r
+               idx_wps[ 4] = state[ 4];\r
+               idx_wps[ 5] = state[ 5];\r
+               idx_wps[ 6] = state[ 6];\r
+               idx_wps[ 7] = state[ 7];\r
+               idx_wps[ 8] = state[ 8];\r
+               idx_wps[ 9] = state[ 9];\r
+               idx_wps[10] = state[10];\r
+               idx_wps[11] = state[11];\r
+               idx_wps[12] = state[12];\r
+               idx_wps[13] = state[13];\r
+               idx_wps[14] = state[14];\r
+               idx_wps[15] = state[15];\r
+\r
+#endif\r
+       } while(idx < (Nr - 1));\r
+\r
+       idx16 = (idx << 4);\r
+\r
+\r
+       //5. Process final round\r
+#ifdef _USE_ITERATION\r
+       \r
+#else\r
+\r
+       //make output\r
+       out[pPBox[Nr][0][0] & 0x0f] = pTBox[ idx16 +  0 ][ state[ 0] >> 4 ][ state[ 0] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 0] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][0][1] & 0x0f] = pTBox[ idx16 +  1 ][ state[ 1] >> 4 ][ state[ 1] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 1] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][0][2] & 0x0f] = pTBox[ idx16 +  2 ][ state[ 2] >> 4 ][ state[ 2] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 2] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][0][3] & 0x0f] = pTBox[ idx16 +  3 ][ state[ 3] >> 4 ][ state[ 3] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 3] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][0][4] & 0x0f] = pTBox[ idx16 +  4 ][ state[ 4] >> 4 ][ state[ 4] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 4] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][0][5] & 0x0f] = pTBox[ idx16 +  5 ][ state[ 5] >> 4 ][ state[ 5] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 5] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][0][6] & 0x0f] = pTBox[ idx16 +  6 ][ state[ 6] >> 4 ][ state[ 6] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 6] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][0][7] & 0x0f] = pTBox[ idx16 +  7 ][ state[ 7] >> 4 ][ state[ 7] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 7] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][1][0] & 0x0f] = pTBox[ idx16 +  8 ][ state[ 8] >> 4 ][ state[ 8] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 8] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][1][1] & 0x0f] = pTBox[ idx16 +  9 ][ state[ 9] >> 4 ][ state[ 9] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[ 9] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][1][2] & 0x0f] = pTBox[ idx16 + 10 ][ state[10] >> 4 ][ state[10] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[10] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][1][3] & 0x0f] = pTBox[ idx16 + 11 ][ state[11] >> 4 ][ state[11] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[11] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][1][4] & 0x0f] = pTBox[ idx16 + 12 ][ state[12] >> 4 ][ state[12] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[12] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][1][5] & 0x0f] = pTBox[ idx16 + 13 ][ state[13] >> 4 ][ state[13] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[13] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][1][6] & 0x0f] = pTBox[ idx16 + 14 ][ state[14] >> 4 ][ state[14] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[14] & 0x0f) % 4]][0] ];\r
+       out[pPBox[Nr][1][7] & 0x0f] = pTBox[ idx16 + 15 ][ state[15] >> 4 ][ state[15] & 0x0f ][ byte_pMatrix[(*pWPBox)[idx][(state[15] & 0x0f) % 4]][0] ];\r
+\r
+#endif\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         SWAPv2_RETURN_VAL SWAPv2_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out, unsigned int OptimizLev)\r
+ * @brief      processing encryption or decryption according to the table\r
+ *\r
+ * @param      [in] Table              look-up table for SWAPv2\r
+ * @param      [in] TableLen   byte-length of look-up table\r
+ * @param      [in] in                 input bytes(16-byte length)\r
+ * @param      [out] out               output bytes(16-byte length)\r
+ * @param      [in] OptimizLev Performance Optimization Level [0~2]\r
+ * @return     SWAPv2_RETURN_VAL\r
+ */\r
+SPC_INTERNAL SWAPv2_RETURN_VAL SWAPv2_Process(unsigned char *Table, unsigned int TableLen, unsigned char* in, unsigned char* out)\r
+{\r
+       unsigned int Nr;\r
+       unsigned int TBoxSize;\r
+       unsigned int PBoxSize;\r
+       unsigned int WPBoxSize;\r
+\r
+       SWAPv2_TBOX *pTBox = NULL;\r
+       SWAPv2_PBOX *pPBox = NULL;\r
+       SWAPv2_WORD_PBOX* pWPBox = NULL;\r
+       SWAPv2_BIT_PBOX* pBPBox = NULL;\r
+\r
+       unsigned char isLittleEndian;\r
+\r
+       {\r
+               //get little endian flag\r
+               unsigned int EndianTestVector = 1;\r
+               isLittleEndian = *(unsigned char*)(&EndianTestVector);\r
+       }\r
+\r
+       //1. Parameter checking\r
+       if ((Table == NULL) || (in == NULL) || (out == NULL))\r
+       {\r
+               return SWAPv2_RETURN_INVALID_PARAMETER;                         //invalid parameter\r
+       }\r
+\r
+       //2. Get Nr(Number of Rounds)\r
+       switch(TableLen)\r
+       {\r
+               case (SWAPv2_T_TABLE_ROUND_SIZE * SWAPv2_128_ROUNDS) + (SWAPv2_P_TABLE_ROUND_SIZE * (SWAPv2_128_ROUNDS + 1)) + (SWAPv2_WP_TABLE_ROUND_SIZE * SWAPv2_128_ROUNDS) + (SWAPv2_BP_TABLE_ROUND_SIZE * SWAPv2_128_ROUNDS):\r
+                       //AES128\r
+                       Nr = SWAPv2_128_ROUNDS;\r
+                       break;\r
+               case (SWAPv2_T_TABLE_ROUND_SIZE * SWAPv2_192_ROUNDS) + (SWAPv2_P_TABLE_ROUND_SIZE * (SWAPv2_192_ROUNDS + 1)) + (SWAPv2_WP_TABLE_ROUND_SIZE * SWAPv2_192_ROUNDS) + (SWAPv2_BP_TABLE_ROUND_SIZE * SWAPv2_192_ROUNDS):\r
+                       //AES192\r
+                       Nr = SWAPv2_192_ROUNDS;\r
+                       break;\r
+               case (SWAPv2_T_TABLE_ROUND_SIZE * SWAPv2_256_ROUNDS) + (SWAPv2_P_TABLE_ROUND_SIZE * (SWAPv2_256_ROUNDS + 1)) + (SWAPv2_WP_TABLE_ROUND_SIZE * SWAPv2_256_ROUNDS) + (SWAPv2_BP_TABLE_ROUND_SIZE * SWAPv2_256_ROUNDS):\r
+                       //AES256\r
+                       Nr = SWAPv2_256_ROUNDS;\r
+                       break;\r
+               default :\r
+                       return SWAPv2_RETURN_INVALID_TBLSIZE;                           //invalid parameter\r
+       }\r
+\r
+       //Get pointer of P-Box\r
+       pTBox = (SWAPv2_TBOX*)Table;\r
+       TBoxSize = SWAPv2_T_TABLE_ROUND_SIZE * Nr;\r
+\r
+       pPBox = (SWAPv2_PBOX*)((unsigned char*)pTBox + TBoxSize);\r
+       PBoxSize = SWAPv2_P_TABLE_ROUND_SIZE * (Nr + 1);\r
+       WPBoxSize = SWAPv2_WP_TABLE_ROUND_SIZE * (Nr);\r
+\r
+\r
+       pWPBox = (SWAPv2_WORD_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize);\r
+       pBPBox = (SWAPv2_BIT_PBOX*)(((unsigned char*)pTBox) + TBoxSize + PBoxSize + WPBoxSize);\r
+\r
+       SWAPv2_ProcNormal(pTBox, pPBox, pWPBox, pBPBox, Nr, in, out, isLittleEndian);\r
+       \r
+       return SWAPv2_RETURN_SUCCESS;\r
+}\r
+\r
+////////////////////////// End of File //////////////////////////\r
diff --git a/SPC/Src/WhiteBox/SWAPv2_TblGen.c b/SPC/Src/WhiteBox/SWAPv2_TblGen.c
new file mode 100755 (executable)
index 0000000..9fa26fb
--- /dev/null
@@ -0,0 +1,1457 @@
+/**\r
+ * @file       SWAPv2_TblGen.c\r
+ * @brief      white box AES table generation module for SSA(Samsung Security Architecture)\r
+ * @author     Samsung WhiteBox AES Version 2 (SWAPv1 based)\r
+ *                             - Chul Lee(chuls.lee@samsung.com)\r
+ *                             - Dept : Software R&D Center / Cloud Computing Lab.\r
+ *\r
+ *                     Samsung WhiteBox AES Version 1\r
+ *                              - Jisoon Park(js00n.park@samsung.com)\r
+ *                              - Dept: DMC R&D Center/Convergence Software Lab.\r
+ *                     \r
+ *\r
+ * @see                SWAPv2\r
+ * @date       2012-10-05\r
+ * @version    2.0\r
+ * @par                Copyright:\r
+ * Copyright 2012 by Samsung Electronics, Inc.,\r
+ * This software is the confiedential and properietary information \r
+ * of Samsung Elctronics, Inc. ("Confidential Information"). You \r
+ * shall not disclose such Confidential Information and shall use \r
+ * it only in accordance with the term of the lice agreement \r
+ * you entered into with Samsung.\r
+ * @par                Warning:\r
+ * This code sould not be exported out of Samsung Electronics.\r
+ * This code cannot be inserted in any customer device.\r
+ * The logic of whitebox table generation is confidential.\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// including header files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <stdlib.h>\r
+#include <stdio.h>\r
+#include <memory.h>\r
+#include "SWAPv2_defines.h"\r
+#include "SWAPv2_TblGen.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// static type definitions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*! Table generation types */\r
+typedef enum _SWAPv2_TABLE_TYPE\r
+{\r
+       SWAPv2_TABLE_TYPE_ENCRYPTION = 0,               /*!< Table for encryption */\r
+       SWAPv2_TABLE_TYPE_DECRYPTION = 1                /*!< Table for decryption */\r
+} SWAPv2_TABLE_TYPE;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// static global variables\r
+////////////////////////////////////////////////////////////////////////////\r
+/**\r
+ * @var static const SWAPv2_SBOX s_box\r
+ * @brief S-box value defined int FIPS-197\r
+ */\r
+SWAPv2_SBOX s_box = \r
+{\r
+       {0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76},\r
+       {0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0},\r
+       {0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15},\r
+       {0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75},\r
+       {0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84},\r
+       {0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf},\r
+       {0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8},\r
+       {0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2},\r
+       {0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73},\r
+       {0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb},\r
+       {0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79},\r
+       {0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08},\r
+       {0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a},\r
+       {0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e},\r
+       {0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf},\r
+       {0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16}\r
+};\r
+\r
+/**\r
+ * @var static const SWAPv2_SBOX inv_s_box\r
+ * @brief inverse of S-box defined int FIPS-197\r
+ */\r
+SWAPv2_SBOX inv_s_box = \r
+{\r
+       {0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb},\r
+       {0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb},\r
+       {0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e},\r
+       {0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25},\r
+       {0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92},\r
+       {0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84},\r
+       {0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06},\r
+       {0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b},\r
+       {0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73},\r
+       {0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e},\r
+       {0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b},\r
+       {0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4},\r
+       {0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f},\r
+       {0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef},\r
+       {0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61},\r
+       {0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d}\r
+};\r
+\r
+SWAPv2_SBOX* pSBox;\r
+SWAPv2_SBOX* pInvSBox;\r
+\r
+/**\r
+ * @var static const unsigned char sr_matrix[16]\r
+ * @brief look-up matrix for ShiftRows\r
+ */\r
+static const unsigned char sr_matrix[16] =\r
+       {0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3};\r
+\r
+/**\r
+ * @var static const unsigned char inv_sr_matrix[16]\r
+ * @brief look-up matrix for InvShiftRows, inverse of sr_matrix\r
+ */\r
+static const unsigned char inv_sr_matrix[16] =\r
+       {0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11};\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// function implementations\r
+////////////////////////////////////////////////////////////////////////////\r
+/**\r
+ * @fn         static unsigned char XTIMEs(unsigned char x, unsigned char b)\r
+ * @brief      calc byte to byte multiplication defined in FIPS-197\r
+ *\r
+ * @param      [in] x  polynomial x\r
+ * @param      [in] b  byte\r
+ * @return     result of multiplication\r
+ */\r
+static unsigned char XTIMEs(unsigned char x, unsigned char b)\r
+{\r
+       int i;\r
+       unsigned char mul = 0;\r
+\r
+       for (i = 0; i < 8; i++)\r
+       {\r
+               if (x & 1)\r
+               {\r
+                       //when x is odd\r
+                       mul ^= b;\r
+               }\r
+\r
+               //calculate next xtime func\r
+               if (b & 0x80)\r
+               {\r
+                       //shift left\r
+                       b <<= 1;\r
+\r
+                       //xor 0x1b\r
+                       b ^= 0x1b;\r
+               }\r
+               else\r
+               {\r
+                       //shift left\r
+                       b <<= 1;\r
+               }\r
+\r
+               //shift right\r
+               x >>= 1;\r
+       }\r
+\r
+       //return result\r
+       return mul;\r
+}\r
+\r
+/**\r
+ * @fn         static void SubWord(SWAPv2_WORD buf)\r
+ * @brief      SubWord function for Round Key calculation\r
+ *\r
+ * @param      [in,out] buf    4-byte word for SubWord\r
+ * @return     void\r
+ */\r
+static void SubWord(SWAPv2_WORD buf)\r
+{\r
+       int i;\r
+       for (i = 0; i < SWAPv2_WORD_SIZE; i++)\r
+       {\r
+               //calc SubWord\r
+               buf[i] = s_box[buf[i] >> 4][buf[i] & 0x0F];\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void RotWord(SWAPv2_WORD buf)\r
+ * @brief      RotWord function for Round Key calculation\r
+ *\r
+ * @param      [in,out] buf    4-byte word for RotWord\r
+ * @return     void\r
+ */\r
+static void RotWord(SWAPv2_WORD buf)\r
+{\r
+       unsigned char temp = buf[0];\r
+\r
+       //calc RotWord\r
+       buf[0] = buf[1];\r
+       buf[1] = buf[2];\r
+       buf[2] = buf[3];\r
+       buf[3] = temp;\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void KeySched(SWAPv2_WORD key[], unsigned int lines, SWAPv2_WORD rk[], unsigned int rounds)\r
+ * @brief      calculate round keys from given key bytes\r
+ *\r
+ * @param      [in] key                user key (cipher key)\r
+ * @param      [in] lines              number of 32-bit words comprising the cipher key\r
+ * @param      [out] rk                round key\r
+ * @param      [in] rounds             number of rounds\r
+ * @return     void\r
+ */\r
+static void KeySched(SWAPv2_WORD key[], unsigned int lines, SWAPv2_WORD rk[], unsigned int rounds)\r
+{\r
+       unsigned char Rcon = 1;\r
+       unsigned char temp[SWAPv2_WORD_SIZE];\r
+       unsigned int i;\r
+       unsigned int j;\r
+\r
+       for (i = 0; i < lines; i++)\r
+       {\r
+               //set first 1 set\r
+               for (j = 0; j < SWAPv2_WORD_SIZE; j++)\r
+               {\r
+                       rk[i][j] = key[i][j];\r
+               }\r
+       }\r
+\r
+       for (i = lines; i < (SWAPv2_COLUMNS * (rounds + 1)); i++)\r
+       {\r
+               for (j = 0; j < SWAPv2_WORD_SIZE; j++)\r
+               {\r
+                       temp[j] = rk[i - 1][j];\r
+               }\r
+\r
+               if ((i % lines) == 0)\r
+               {\r
+                       //calc first row of next set\r
+                       RotWord(temp);\r
+                       SubWord(temp);\r
+                       temp[0] ^= Rcon;\r
+\r
+                       Rcon = XTIMEs(2, Rcon);\r
+               }\r
+               else if ((lines > 6) && ((i % lines) == 4))\r
+               {\r
+                       SubWord(temp);\r
+               }\r
+\r
+               //clac next row\r
+               for (j = 0; j < SWAPv2_WORD_SIZE; j++)\r
+               {\r
+                       rk[i][j] = rk[i - lines][j] ^ temp[j];\r
+               }\r
+       }\r
+\r
+       //clear temporary memory\r
+       memset(temp, 0, sizeof(temp));\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         void BitPermutation(unsigned char* pVal, unsigned char* bTable)\r
+ * @brief      Calculate permutation bits in byte\r
+ *\r
+ * @param      [out]   pVal                    byte value\r
+ * @param      [in]    bTable                  bit permutation indx\r
+ * @return     void\r
+ */\r
+SPC_INTERNAL void BitPermutation(unsigned char* pVal, unsigned char* pTable)\r
+{\r
+       int i = 0;\r
+       unsigned char oriVal = NULL;\r
+       unsigned char tmp[8];\r
+\r
+       if(pVal == NULL || pTable == NULL)\r
+       {\r
+               return;\r
+       }\r
+       \r
+       oriVal = *pVal;\r
+\r
+       for(i = 0; i < 8; i++)\r
+       {\r
+               tmp[i] = GETBIT_U8(oriVal, i);\r
+       }\r
+\r
+       for(i = 0; i < 8; i++)\r
+       {\r
+               *pVal = SETBIT_U8(*pVal, pTable[i], tmp[i]);\r
+       }\r
+}\r
+\r
+\r
+/**\r
+ * @fn         static void ProcessBitPBox(SWAPv2_BIT_PBOX* bpTable, unsigned int Nr)\r
+ * @brief      Generate table for bit-permutation & apply bit permutation.\r
+ *\r
+ * @param      [out] bpTable   bit-permutation table\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+SPC_INTERNAL void ProcessBitPBox(SWAPv2_TBOX* pTBox, SWAPv2_BIT_PBOX* bpTable, unsigned int Nr)\r
+{\r
+       unsigned char i, j, k, l;\r
+       unsigned char idx, row, col;\r
+       unsigned int idxtmp;\r
+       SWAPv2_TBOX* pCurTBox = NULL;\r
+       SWAPv2_TBOX* pNxtTBox = NULL;\r
+       SWAPv2_TBOX* pTmpTBox;\r
+\r
+       if(pTBox == NULL || bpTable == NULL)\r
+       {\r
+               return;\r
+       }\r
+\r
+       //[Nr][8]\r
+       //make random bit-permutaion order for each round\r
+       for(i = 0; i < (Nr - 1); i++)\r
+       {\r
+               for(j = 0; j < 8; j++)\r
+               {\r
+                       bpTable[i][j] = rand() % 8;\r
+\r
+                       for(idxtmp = 0; idxtmp < j; idxtmp++)\r
+                       {\r
+                               if(bpTable[i][idxtmp] == bpTable[i][j])\r
+                               {\r
+                                       j--;\r
+                                       break;\r
+                               }\r
+                       }\r
+               }\r
+\r
+               pCurTBox = (SWAPv2_TBOX*)((unsigned char*)pTBox + (i * SWAPv2_T_TABLE_ROUND_SIZE));\r
+\r
+               for(idxtmp = 0; idxtmp < SWAPv2_T_TABLE_ROUND_SIZE; idxtmp += SWAPv2_WORD_SIZE)\r
+               {\r
+                       BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp    ]), bpTable[0]);\r
+                       BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 1]), bpTable[0]);\r
+                       BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 2]), bpTable[0]);\r
+                       BitPermutation(&(((unsigned char*)pCurTBox)[idxtmp + 3]), bpTable[0]);\r
+               }\r
+       }\r
+\r
+       pTmpTBox = (SWAPv2_TBOX*)malloc(SWAPv2_T_TABLE_ROUND_SIZE);\r
+\r
+       //replace T-Box order for each round\r
+       for(i = 0; i < (Nr - 1); i++)\r
+       {\r
+               pNxtTBox = (SWAPv2_TBOX*)((unsigned char*)pTBox + ((i + 1) * SWAPv2_T_TABLE_ROUND_SIZE));\r
+\r
+               for(j = 0; j < 16; j++)\r
+               {\r
+                       for(k = 0; k < 16; k++)\r
+                       {\r
+                               for(l = 0; l < 16; l++)\r
+                               {\r
+                                       idx = (k * 16) + l;\r
+                                       BitPermutation(&idx, bpTable[0]);\r
+\r
+                                       row = idx >> 4;\r
+                                       col = idx & 0x0f;\r
+\r
+                                       memcpy(pTmpTBox[j][row][col], pNxtTBox[j][k][l], SWAPv2_WORD_SIZE);\r
+                               }\r
+                       }\r
+               }\r
+\r
+               memcpy(pNxtTBox, pTmpTBox, SWAPv2_T_TABLE_ROUND_SIZE);\r
+       }\r
+\r
+       free(pTmpTBox);\r
+}\r
+\r
+\r
+/**\r
+ * @fn         static void BytePermutation(SWAPv2_TBOX* tbox, SWAPv2_WORD* pwbox)\r
+ * @brief      Calculate permutation word\r
+ *\r
+ * @param      [out] tbox              \r
+ * @param      [in] pwbox              order of permutation\r
+ * @return     void\r
+ */\r
+static void BytePermutation(SWAPv2_TBOX* tbox, SWAPv2_WORD* pwbox)\r
+{\r
+       unsigned int i;\r
+       SWAPv2_WORD tmp;\r
+\r
+       for(i = 0; i < SWAPv2_T_TABLE_ROUND_SIZE; i += (SWAPv2_WORD_SIZE * 4)) //word * 4\r
+       {\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][0] ] = ((unsigned char*)tbox)[i + 0];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][1] ] = ((unsigned char*)tbox)[i + 1];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][2] ] = ((unsigned char*)tbox)[i + 2];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[0] ][3] ] = ((unsigned char*)tbox)[i + 3];\r
+               memcpy(((unsigned char*)tbox) + i, tmp, SWAPv2_WORD_SIZE);\r
+\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][0] ] = ((unsigned char*)tbox)[i + 4];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][1] ] = ((unsigned char*)tbox)[i + 5];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][2] ] = ((unsigned char*)tbox)[i + 6];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[1] ][3] ] = ((unsigned char*)tbox)[i + 7];\r
+               memcpy(((unsigned char*)tbox) + (i + 4), tmp, SWAPv2_WORD_SIZE);\r
+\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][0] ] = ((unsigned char*)tbox)[i + 8];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][1] ] = ((unsigned char*)tbox)[i + 9];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][2] ] = ((unsigned char*)tbox)[i + 10];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[2] ][3] ] = ((unsigned char*)tbox)[i + 11];\r
+               memcpy(((unsigned char*)tbox) + (i + 8), tmp, SWAPv2_WORD_SIZE);\r
+\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][0] ] = ((unsigned char*)tbox)[i + 12];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][1] ] = ((unsigned char*)tbox)[i + 13];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][2] ] = ((unsigned char*)tbox)[i + 14];\r
+               tmp[ byte_pMatrix[ ((unsigned char*)pwbox)[3] ][3] ] = ((unsigned char*)tbox)[i + 15];\r
+               memcpy(((unsigned char*)tbox) + (i + 12), tmp, SWAPv2_WORD_SIZE);\r
+       }\r
+}\r
+\r
+/**\r
+ * @fn         static void ProcessBytePBox(SWAPv2_WORD_PBOX *pwTable, SWAPv2_TBOX *pTBox, unsigned int Nr)\r
+ * @brief      Generate table for 4-byte permutation & apply byte permutation.\r
+ *\r
+ * @param      [out] pwTable   Table for permutation word of T-box table\r
+ * @param      [in] pTBox              transform table for each round\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void ProcessBytePBox(SWAPv2_TBOX *pTBox, SWAPv2_WORD_PBOX *pwTable, unsigned int Nr)\r
+{\r
+       int i, j, k;\r
+\r
+       //make random permutaion order for each round\r
+       for(i = 0; i < Nr; i++)\r
+       {\r
+               for(j = 0; j < 4; j++)\r
+               {\r
+                       (*pwTable)[i][j] = (rand() & 0x0f) % 24;\r
+\r
+                       for(k = 0; k < j; k++)\r
+                       {\r
+                               if((*pwTable)[i][j] == (*pwTable)[i][k])\r
+                               {\r
+                                       j--;\r
+                                       break;\r
+                               }\r
+                       }\r
+               }\r
+\r
+               BytePermutation((SWAPv2_TBOX*)((unsigned char*)pTBox + (i * SWAPv2_T_TABLE_ROUND_SIZE)), &(*pwTable)[i]);\r
+       }\r
+}\r
+\r
+/**\r
+ * @fn         static void InitalizeMicBox(SWAPv2_MIX_COLUMN_BOX MicBox[4], SWAPv2_TABLE_TYPE mode)\r
+ * @brief      Calculate MixColumns Matrix MC0, MC1, MC2, MC3\r
+ *\r
+ * @param      [out] MicBox    Matrix for MixColumns\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void InitalizeMicBox(SWAPv2_MIX_COLUMN_BOX MicBox[4], SWAPv2_TABLE_TYPE mode)\r
+{\r
+       //MicMatrix\r
+       static const unsigned char MicMatrix[4][4] = \r
+       {\r
+               {0x02, 0x01, 0x01, 0x03},\r
+               {0x03, 0x02, 0x01, 0x01},\r
+               {0x01, 0x03, 0x02, 0x01},\r
+               {0x01, 0x01, 0x03, 0x02}\r
+       };\r
+\r
+       //Inverse MicMatrix\r
+       static const unsigned char InvMicMatrix[4][4] = \r
+       {\r
+               {0x0e, 0x09, 0x0d, 0x0b},\r
+               {0x0b, 0x0e, 0x09, 0x0d},\r
+               {0x0d, 0x0b, 0x0e, 0x09},\r
+               {0x09, 0x0d, 0x0b, 0x0e}\r
+       };\r
+\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned int l;\r
+\r
+       //for each bytre of the word\r
+       for (i = 0; i <  SWAPv2_WORD_SIZE; i++)\r
+       {\r
+               //sbox row\r
+               for (j = 0; j <  16; j++)\r
+               {\r
+                       //sbox col\r
+                       for (k = 0; k < 16; k++)\r
+                       {\r
+                               //xor MicMatrix\r
+                               for (l = 0; l < 4; l++)\r
+                               {\r
+                                       if (mode == SWAPv2_TABLE_TYPE_ENCRYPTION)\r
+                                       {\r
+                                               //for encryption\r
+                                               MicBox[i][j][k][l] = XTIMEs((j * 16 + k), MicMatrix[i][l]);\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               //for decryption\r
+                                               MicBox[i][j][k][l] = XTIMEs((j * 16 + k), InvMicMatrix[i][l]);\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void AddMicBox(unsigned char val, SWAPv2_WORD* word, unsigned int idx, SWAPv2_WORD rnd, SWAPv2_TABLE_TYPE mode)\r
+ * @brief      Applying MC box to the each element of T-box\r
+ *\r
+ * @param      [in] val                polynomial, each value of S-box\r
+ * @param      [out] word              MixColumn-applied word\r
+ * @param      [in] idx                index\r
+ * @param      [in] rnd                random number for MixColumn randomizing\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void AddMicBox(unsigned char val, SWAPv2_WORD* word, unsigned int idx, SWAPv2_WORD rnd, SWAPv2_TABLE_TYPE mode)\r
+{\r
+       static SWAPv2_MIX_COLUMN_BOX MicBox[4];                         //MicBox\r
+       static SWAPv2_MIX_COLUMN_BOX InvMicBox[4];                      //Inverse MicBox\r
+       static unsigned char MicBoxInitialFlag = 0;                     //MicBox Initialize flag\r
+\r
+       unsigned int i;\r
+\r
+       //if flag is not set\r
+       if (MicBoxInitialFlag == 0)\r
+       {\r
+               //calc MicBox\r
+               InitalizeMicBox(MicBox, SWAPv2_TABLE_TYPE_ENCRYPTION);\r
+\r
+               //calc Inverse MicBox\r
+               InitalizeMicBox(InvMicBox, SWAPv2_TABLE_TYPE_DECRYPTION);\r
+\r
+               //set flag\r
+               MicBoxInitialFlag = 1;\r
+       }\r
+\r
+       for (i = 0; i < SWAPv2_WORD_SIZE; i++)\r
+       {\r
+               //add MicBox for encryption\r
+               if (mode == SWAPv2_TABLE_TYPE_ENCRYPTION)\r
+               {\r
+                       (*word)[i] = MicBox[idx][val >> 4][val & 0x0f][i] ^ rnd[i];\r
+               }\r
+               else\r
+               {\r
+                       //add MicBox for decryption\r
+                       (*word)[i] = InvMicBox[idx][val >> 4][val & 0x0f][i] ^ rnd[i];\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void MakeEachTBox(unsigned char mul, unsigned char xor, SWAPv2_TBOX* tbox, unsigned int idx, SWAPv2_WORD rnd, SWAPv2_TABLE_TYPE mode)\r
+ * @brief      Claculating masked and expanded s-box\r
+ *\r
+ * @param      [in] mul                value to be multiplicated\r
+ * @param      [in] xor                value to be added\r
+ * @param      [out] tbox              T-box for each round key byte\r
+ * @param      [in] idx                column index\r
+ * @param      [in] rnd                random number for MixColumn randomizing\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void MakeEachTBox(unsigned char mul, unsigned char xor, SWAPv2_TBOX* tbox, unsigned int idx, SWAPv2_WORD rnd, SWAPv2_TABLE_TYPE mode)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned char mul_row = (mul >> 4);\r
+       unsigned char mul_col = (mul & 0x0f);\r
+\r
+       //S-Box row\r
+       for (i = 0; i < 16; i++)\r
+       {\r
+               //S-Box col\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       if (mode == SWAPv2_TABLE_TYPE_ENCRYPTION)\r
+                       {\r
+                               //add MicBox for encryption\r
+                               AddMicBox(s_box[i ^ mul_row][j ^ mul_col] ^ xor, &(*tbox)[i][j], idx, rnd, mode);\r
+                       }\r
+                       else\r
+                       {\r
+                               //add MicBox for decryption\r
+                               AddMicBox(inv_s_box[i ^ mul_row][j ^ mul_col] ^ xor, &(*tbox)[i][j], idx, rnd, mode);\r
+                       }\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void SBOX_Xor(unsigned char mul, unsigned char xor, SWAPv2_TBOX* tbox, SWAPv2_TABLE_TYPE mode)\r
+ * @brief      Claculating masked s-box\r
+ *\r
+ * @param      [in] mul                value to be multiplicated\r
+ * @param      [in] xor                value to be added\r
+ * @param      [in] tbox               T-box for each round key byte\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void SBOX_Xor(unsigned char mul, unsigned char xor, SWAPv2_TBOX* tbox, SWAPv2_TABLE_TYPE mode)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned char mul_row = mul >> 4;\r
+       unsigned char mul_col = mul & 0x0f;\r
+\r
+       //S-Box row\r
+       for (i = 0; i < 16; i++)\r
+       {\r
+               //S-Box col\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       if (mode == SWAPv2_TABLE_TYPE_ENCRYPTION)\r
+                       {\r
+                               //clac T-box for encryption\r
+                               (*tbox)[i][j][0] = s_box[i ^ mul_row][j ^ mul_col] ^ xor;\r
+                       }\r
+                       else\r
+                       {\r
+                               //calc T-box for decryption\r
+                               (*tbox)[i][j][0] = inv_s_box[i ^ mul_row][j ^ mul_col] ^ xor;\r
+                       }\r
+\r
+                       //fill empty bytes with random numbers\r
+                       (*tbox)[i][j][1] = rand() & 0xff;\r
+                       (*tbox)[i][j][2] = rand() & 0xff;\r
+                       (*tbox)[i][j][3] = rand() & 0xff;\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void CalcTBox(SWAPv2_RK_BOX* RK, SWAPv2_TBOX* pTable, unsigned int Nr)\r
+ * @brief      Calculate T-box table for encryption\r
+ *\r
+ * @param      [in] RK                 round key\r
+ * @param      [out] pTable    T-box, transform table\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void CalcTBox(SWAPv2_RK_BOX* RK, SWAPv2_TBOX* pTable, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned char mask[16] = {0};\r
+\r
+       SWAPv2_WORD rnd[16];\r
+\r
+       //1. make T-box for each rounds\r
+       for (i = 0; i < (Nr - 1); i++)\r
+       {\r
+               //make random masking\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               rnd[j][k] = rand() & 0xff;\r
+                       }\r
+               }\r
+\r
+               //for each col\r
+               for (j = 0; j < SWAPv2_COLUMNS; j++)\r
+               {\r
+                       for (k = 0; k < SWAPv2_WORD_SIZE; k++)\r
+                       {\r
+                               //make each TBox\r
+                               MakeEachTBox(RK[i][j][k] ^ mask[j * 4 + k], 0, &pTable[i * 16 + j * 4 + k], k, rnd[j * 4 + k], SWAPv2_TABLE_TYPE_ENCRYPTION);\r
+                       }\r
+               }\r
+\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               //apply random masking\r
+                               mask[j * 4 + k] = rnd[inv_sr_matrix[j * 4    ]][k] ^\r
+                                                                 rnd[inv_sr_matrix[j * 4 + 1]][k] ^ \r
+                                                                 rnd[inv_sr_matrix[j * 4 + 2]][k] ^ \r
+                                                                 rnd[inv_sr_matrix[j * 4 + 3]][k];\r
+\r
+                       }\r
+               }\r
+       }\r
+\r
+       //2. make T-box for last round\r
+       for (j = 0; j < SWAPv2_COLUMNS; j++)\r
+       {\r
+               for (k = 0; k < SWAPv2_WORD_SIZE; k++)\r
+               {\r
+                       unsigned char temp = sr_matrix[j * SWAPv2_WORD_SIZE + k];\r
+                       SBOX_Xor(RK[i][j][k] ^ mask[j * 4 + k], RK[i + 1][temp >> 4][temp & 0x0f], &pTable[i * 16 + j * 4 + k], SWAPv2_TABLE_TYPE_ENCRYPTION);\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void CalcInvTBox(SWAPv2_RK_BOX* RK, SWAPv2_TBOX* pTable, unsigned int Nr)\r
+ * @brief      Calculate T-box table for decryption\r
+ *\r
+ * @param      [in] RK         round key\r
+ * @param      [in] pTable     T-box, transform table\r
+ * @param      [in] Nr         number of rounds\r
+ * @return     void\r
+ */\r
+static void CalcInvTBox(SWAPv2_RK_BOX* RK, SWAPv2_TBOX* pTable, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned char mask[16] = {0};\r
+\r
+       SWAPv2_WORD rnd[16];\r
+\r
+       //1. make T-box for each rounds\r
+       for (i = 0; i < (Nr - 1); i++)\r
+       {\r
+               //make random masking\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               rnd[j][k] = rand() & 0xff;\r
+                       }\r
+               }\r
+\r
+               //for each col\r
+               for (j = 0; j < SWAPv2_COLUMNS; j++)\r
+               {\r
+                       for (k = 0; k < SWAPv2_WORD_SIZE; k++)\r
+                       {\r
+                               if (i == 0)\r
+                               {\r
+                                       //make first T-Box\r
+                                       unsigned char temp = inv_sr_matrix[j * SWAPv2_WORD_SIZE + k];\r
+                                       MakeEachTBox(RK[Nr][j][k], RK[Nr - 1][temp >> 4][temp & 0x0f], &pTable[j * 4 + k], k, rnd[j * 4 + k], SWAPv2_TABLE_TYPE_DECRYPTION);\r
+                               }\r
+                               else\r
+                               {\r
+                                       //make each T-Box\r
+                                       MakeEachTBox(mask[j * 4 + k], RK[Nr - i - 1][j][k], &pTable[i * 16 + j * 4 + k], k, rnd[j * 4 + k], SWAPv2_TABLE_TYPE_DECRYPTION);\r
+                               }\r
+                       }\r
+               }\r
+\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               if (i == 0)\r
+                               {\r
+                                       //apply random mask for 1st T-Box\r
+                                       const unsigned char conv_matrix[16] =\r
+                                               {0, 7, 10, 13, 1, 4, 11, 14, 2, 5, 8, 15, 3, 6, 9, 12};\r
+                                       mask[inv_sr_matrix[j * 4 + k]] = rnd[conv_matrix[j * 4    ]][k] ^\r
+                                                                                                        rnd[conv_matrix[j * 4 + 1]][k] ^ \r
+                                                                                                        rnd[conv_matrix[j * 4 + 2]][k] ^ \r
+                                                                                                        rnd[conv_matrix[j * 4 + 3]][k];\r
+                               }\r
+                               else\r
+                               {\r
+                                       //apply random mask\r
+                                       mask[inv_sr_matrix[j * 4 + k]] = rnd[j * 4    ][k] ^\r
+                                                                                                        rnd[j * 4 + 1][k] ^ \r
+                                                                                                        rnd[j * 4 + 2][k] ^ \r
+                                                                                                        rnd[j * 4 + 3][k];\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       //2. make T-box for last round\r
+       for (j = 0; j < SWAPv2_COLUMNS; j++)\r
+       {\r
+               for (k = 0; k < SWAPv2_WORD_SIZE; k++)\r
+               {\r
+                       SBOX_Xor(mask[j * 4 + k], RK[0][j][k], &pTable[i * 16 + j * 4 + k], SWAPv2_TABLE_TYPE_DECRYPTION);\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void ProcessInitalPermutation(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector)\r
+ * @brief      process initial permutation\r
+ *\r
+ * @param      [in,out] Table          P-box, permutation table\r
+ * @param      [in] PVector            permutation vector\r
+ * @return     void\r
+ */\r
+static void ProcessInitalPermutation(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector)\r
+{\r
+       unsigned int j;\r
+       unsigned int k;\r
+\r
+       for (j = 0; j < 2; j++)\r
+       {\r
+               for (k = 0; k < 8; k++)\r
+               {\r
+                       //make initial permutation table\r
+                       Table[0][j][k] = PVector[0][j * 8 + k];\r
+               }\r
+       }\r
+\r
+       for (; j < 4; j++)\r
+       {\r
+               for (k = 0; k < 8; k++)\r
+               {\r
+                       //fill empty bytes with random numbers\r
+                       Table[0][j][k] = rand() & 0xff;\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void ProcessFinalPermutation(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr, SWAPv2_TABLE_TYPE mode)\r
+ * @brief      process final permutation\r
+ *\r
+ * @param      [in,out] Table  P-box, permutation table\r
+ * @param      [in] PVector    permutation vector\r
+ * @param      [in] Nr                 number of rounds\r
+ * @param      [in] mode               flag which means encryption or decryption\r
+ * @return     void\r
+ */\r
+static void ProcessFinalPermutation(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr, SWAPv2_TABLE_TYPE mode)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+\r
+       for (j = 0; j < 2; j++)\r
+       {\r
+               for (k = 0; k < 8; k++)\r
+               {\r
+                       if (mode == SWAPv2_TABLE_TYPE_ENCRYPTION)\r
+                       {\r
+                               Table[Nr][PVector[Nr - 1][j * 8 + k] / 8][PVector[Nr - 1][j * 8 + k] % 8] = sr_matrix[j * 8 + k];\r
+                       }\r
+                       else\r
+                       {\r
+                               Table[Nr][PVector[Nr - 1][j * 8 + k] / 8][PVector[Nr - 1][j * 8 + k] % 8] = j * 8 + k;\r
+                       }\r
+               }\r
+       }\r
+\r
+       //fill empty bytes with random numbers\r
+       for (; j < 4; j++)\r
+       {\r
+               for (k = 0; k < 8; k++)\r
+               {\r
+                       Table[Nr][j][k] = rand() & 0xff;\r
+               }\r
+       }\r
+\r
+       //add random to permutation table (ex. 0x0d 0x0c ==> 0x4d 0x7c)\r
+       for (i = 0; i <= Nr; i++)\r
+       {\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       for (k = 0; k < 8; k++)\r
+                       {\r
+                               unsigned char rnd = rand() % 16;\r
+                               Table[i][j][k] ^= (rnd << 4);\r
+                       }\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn          static void MakePTable(SWAPv2_PBOX *Table, unsigned int round, unsigned char itmdt[16][4])\r
+ * @brief      Calculate P-box for each round\r
+ *\r
+ * @param      [in,out] Table  P-box, permutation table\r
+ * @param      [in] round              current round\r
+ * @param      [in] itmdt              intermediate value\r
+ * @return     void\r
+ */\r
+static void MakePTable(SWAPv2_PBOX *Table, unsigned int round, unsigned char itmdt[16][4])\r
+{\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned int idx[4] = {0};\r
+\r
+       //fill P-Table with 0xff\r
+       memset(&Table[round], 0xff, sizeof(SWAPv2_PBOX));\r
+\r
+       for (j = 0; j < 16; j++)\r
+       {\r
+               for (k = 0; k < 4; k++)\r
+               {\r
+                       if (Table[round][k][0] == 0xff)\r
+                       {\r
+                               //if the key value is not added yet, add key value and 1st index\r
+                               memcpy(&Table[round][k], &itmdt[j], sizeof(SWAPv2_WORD));\r
+                               idx[k] = 0;\r
+                               Table[round][k][4 + idx[k]] = j;\r
+\r
+                               break;\r
+                       }\r
+                       else if (memcmp(&itmdt[j], &Table[round][k], SWAPv2_WORD_SIZE) == 0)\r
+                       {\r
+                               //if the index already exists, just add index\r
+                               idx[k]++;\r
+                               Table[round][k][4 + idx[k]] = j;\r
+\r
+                               break;\r
+                       }\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void CalcPBox(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr)\r
+ * @brief      Calculate P-box table for encryption\r
+ *\r
+ * @param      [out] Table             P-box, permutation table\r
+ * @param      [in] PVector    permutation vector\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void CalcPBox(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned int temp;\r
+       \r
+       unsigned char InvMix[16];\r
+       unsigned char itmdt[16][4];\r
+\r
+       //1. make initial permutation\r
+       ProcessInitalPermutation(Table, PVector);\r
+\r
+       //2. make permutation table\r
+       for (i = 1; i < Nr; i++)\r
+       {\r
+               //calc Intermideate table\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       InvMix[PVector[i - 1][j]] = j;\r
+               }\r
+\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               temp = (sr_matrix[InvMix[j]] / 4) * 4 + k;\r
+                               itmdt[j][k] = PVector[i][temp];\r
+                       }\r
+               }\r
+\r
+               MakePTable(Table, i, itmdt);\r
+       }\r
+\r
+       //3. make final permutation\r
+       ProcessFinalPermutation(Table, PVector, Nr, SWAPv2_TABLE_TYPE_ENCRYPTION);\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void CalcInvPBox(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr)\r
+ * @brief      Calculate P-box table for decryption\r
+ *\r
+ * @param      [out] Table             P-box, permutation table\r
+ * @param      [in] PVector    permutation vector\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void CalcInvPBox(SWAPv2_PBOX *Table, SWAPv2_PVECTOR* PVector, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+       unsigned int temp;\r
+       \r
+       unsigned char InvMix[16];\r
+       unsigned char itmdt[16][4];\r
+\r
+       //1. make initial permutation\r
+       ProcessInitalPermutation(Table, PVector);\r
+\r
+       //2. make permutation table\r
+       for (i = 1; i < Nr; i++)\r
+       {\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       InvMix[PVector[i - 1][j]] = j;\r
+               }\r
+\r
+               //calc Intermideate table\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               if (i == 1)\r
+                               {\r
+                                       temp = inv_sr_matrix[(inv_sr_matrix[InvMix[j]] / 4) * 4 + k];\r
+                                       itmdt[j][k] = PVector[i][temp];\r
+                               }\r
+                               else\r
+                               {\r
+                                       temp = inv_sr_matrix[(InvMix[j] / 4) * 4 + k];\r
+                                       itmdt[j][k] = PVector[i][temp];\r
+                               }\r
+                       }\r
+               }\r
+\r
+               MakePTable(Table, i, itmdt);\r
+       }\r
+\r
+       //3. make final permutation\r
+       ProcessFinalPermutation(Table, PVector, Nr, SWAPv2_TABLE_TYPE_DECRYPTION);\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void GeneratePVector(unsigned int Nr, SWAPv2_PVECTOR* PVector)\r
+ * @brief      generate permutation vector\r
+ *\r
+ * @param      [in] Nr                 number of rounds\r
+ * @param      [out] PVector   permutation vector\r
+ * @return     void\r
+ */\r
+static void GeneratePVector(unsigned int Nr, SWAPv2_PVECTOR* PVector)\r
+{\r
+       unsigned int rnd;\r
+       unsigned char flag[16];\r
+       unsigned char sequence[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};\r
+       unsigned int i;\r
+       unsigned int j;\r
+\r
+       for (i = 0; i < Nr; i++)\r
+       {\r
+               //make 16 byte random sequence for each round\r
+               memcpy(flag, sequence, sizeof(flag));\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       rnd = rand() % (16 - j);\r
+                       PVector[i][j] = flag[rnd];\r
+                       flag[rnd] = flag[16 - j - 1];\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void ShuffleTBox(SWAPv2_TBOX* pTBox, SWAPv2_PVECTOR* PVector, unsigned int Nr)\r
+ * @brief      shuffle T-box according to the permutation vector\r
+ *\r
+ * @param      [in,out] pTBox  T-box, transform table\r
+ * @param      [in] PVector    permutation vector\r
+ * @param      [in] Nr                 number of rounds\r
+ * @return     void\r
+ */\r
+static void ShuffleTBox(SWAPv2_TBOX* pTBox, SWAPv2_PVECTOR* PVector, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       SWAPv2_TBOX* pCurrentTBox = pTBox;\r
+       SWAPv2_TBOX temp[16];\r
+\r
+       for (i = 0; i < Nr; i++)\r
+       {\r
+               //temp = current TBox\r
+               memcpy(&temp, pCurrentTBox, sizeof(SWAPv2_TBOX) * 16);\r
+\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       //Shuffle each item of T-Box\r
+                       memcpy(&pCurrentTBox[PVector[i][j]], temp[j], sizeof(SWAPv2_TBOX));\r
+               }\r
+\r
+               //current TBox = temp\r
+               pCurrentTBox = &pCurrentTBox[16];\r
+       }\r
+\r
+       return ;\r
+}\r
+\r
+/**\r
+ * @fn         static void GeneratePVector_fst(unsigned int Nr, SWAPv2_PVECTOR* PVector)\r
+ * @brief      generate permutation vector for fast implementation\r
+ *\r
+ * @param      [in] Nr                 number of rounds\r
+ * @param      [out] PVector   permutation vector\r
+ * @return     void\r
+ */\r
+static void GeneratePVector_fst(unsigned int Nr, SWAPv2_PVECTOR* PVector)\r
+{\r
+       unsigned int rnd;\r
+       unsigned int sfl;\r
+       unsigned char flag[4];\r
+       unsigned char sequence[4] = {0, 1, 2, 3};\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+\r
+       //shuffle table\r
+       unsigned char sflTable[4][4] = \r
+       {\r
+               {0x00, 0x01, 0x02, 0x03},\r
+               {0x01, 0x02, 0x03, 0x00},\r
+               {0x02, 0x03, 0x00, 0x01},\r
+               {0x03, 0x00, 0x01, 0x02}\r
+       };\r
+\r
+       //calculate PVector\r
+       for (i = 0; i < Nr; i++)\r
+       {\r
+               memcpy(flag, sequence, sizeof(flag));\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       rnd = rand() % (4 - j);\r
+                       sfl = rand() % 4;\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               PVector[i][j * 4 + k] = flag[rnd] * 4 + sflTable[sfl][k];\r
+                       }\r
+                       flag[rnd] = flag[4 - j - 1];\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void GenerateInvPVector_fst(unsigned int Nr, SWAPv2_PVECTOR* PVector)\r
+ * @brief      generate permutation vector for fast decryption\r
+ *\r
+ * @param      [in] Nr                 number of rounds\r
+ * @param      [out] PVector   permutation vector\r
+ * @return     void\r
+ */\r
+static void GenerateInvPVector_fst(unsigned int Nr, SWAPv2_PVECTOR* PVector)\r
+{\r
+       unsigned int rnd;\r
+       unsigned int sfl;\r
+       unsigned char flag[4];\r
+       unsigned char sequence[4] = {0, 1, 2, 3};\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+\r
+       //shuffle table\r
+       unsigned char sflTable[4][4] = \r
+       {\r
+               {0x00, 0x01, 0x02, 0x03},\r
+               {0x01, 0x02, 0x03, 0x00},\r
+               {0x02, 0x03, 0x00, 0x01},\r
+               {0x03, 0x00, 0x01, 0x02}\r
+       };\r
+\r
+       //calculate inverse PVector\r
+       for (i = 0; i < Nr; i++)\r
+       {\r
+               memcpy(flag, sequence, sizeof(flag));\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       rnd = rand() % (4 - j);\r
+                       sfl = rand() % 4;\r
+                       for (k = 0; k < 4; k++)\r
+                       {\r
+                               PVector[i][inv_sr_matrix[j * 4 + k]] = flag[rnd] * 4 + sflTable[sfl][k];\r
+                       }\r
+                       flag[rnd] = flag[4 - j - 1];\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void GenerateInvPVector_fstest(unsigned int Nr, SWAPv2_PVECTOR* PVector)\r
+ * @brief      generate permutation vector for fastest decryption\r
+ *\r
+ * @param      [in] Nr                 number of rounds\r
+ * @param      [out] PVector   permutation vector\r
+ * @return     void\r
+ */\r
+static void GenerateInvPVector_fstest(unsigned int Nr, SWAPv2_PVECTOR* PVector)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+\r
+       //Actually, no permutation is applied\r
+       for (i = 0; i < 16; i++)\r
+       {\r
+               PVector[0][i] = i;\r
+       }\r
+\r
+       for (i = 1; i < Nr; i++)\r
+       {\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       PVector[i][inv_sr_matrix[j]] = j;\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/**\r
+ * @fn         static void ConvertPBox(SWAPv2_PBOX *Table, unsigned int Nr)\r
+ * @brief      convert PBox for simple permutation\r
+ *\r
+ * @param      [in,out] Table  PBox\r
+ * @param      [out] Nr                number of rounds\r
+ * @return     void\r
+ */\r
+static void ConvertPBox(SWAPv2_PBOX *Table, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned char t;\r
+\r
+       for (i = 1; i < Nr; i++)\r
+       {\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       //calculate each table and fill empty bits with random mask\r
+                       t = Table[i][j][0] & 0x0f;\r
+                       Table[i][j][0] = (t / 4) + (0x00 & 0xfc); //(t / 4) + (rand() & 0xfc);\r
+                       Table[i][j][1] = ((t % 4) * 8) + (0x00 & 0xe0); //((t % 4) * 8) + (rand() & 0xe0)\r
+                       Table[i][j][2] = rand() & 0xff;\r
+                       Table[i][j][3] = rand() & 0xff;\r
+               }\r
+       }\r
+}\r
+\r
+/**\r
+ * @fn         static void RandomizePBox(SWAPv2_PBOX *Table, unsigned int Nr)\r
+ * @brief      fill the PBox with random numbers\r
+ *\r
+ * @param      [in,out] Table  PBox\r
+ * @param      [out] Nr                number of rounds\r
+ * @return     void\r
+ */\r
+static void RandomizePBox(SWAPv2_PBOX *Table, unsigned int Nr)\r
+{\r
+       unsigned int i;\r
+       unsigned int j;\r
+       unsigned int k;\r
+\r
+       for (i = 0; i <= Nr; i++)\r
+       {\r
+               for (j = 0; j < 4; j++)\r
+               {\r
+                       for (k = 0; k < 8; k++)\r
+                       {\r
+                               //fill the table with random numbers\r
+                               Table[i][j][k] = rand() & 0xff;\r
+                       }\r
+               }\r
+       }\r
+}\r
+\r
+/**\r
+ * @fn         unsigned int SWAPv2_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption, unsigned int OptimizLev)\r
+ * @brief      derivate look-up table from given key\r
+ *\r
+ * @param      [in] Key                        user key (cipher key)\r
+ * @param      [in] KeyLen                     byte-length of cipher key\r
+ * @param      [in] seed                       random seed\r
+ * @param      [out] Table                     look-up table for SWAPv2\r
+ * @param      [out] TableLen          byte-length of look-up table\r
+ * @param      [in] isEncryption       flag ordering encryption or decryption\r
+ * @return     SWAPv2_TBLGEN_RETURN_VAL\r
+ */\r
+SPC_INTERNAL unsigned int SWAPv2_GenerateTable(unsigned char* Key, unsigned char KeyLen, unsigned int seed, unsigned char **Table, unsigned int *TableLen, int isEncryption)\r
+{\r
+       SWAPv2_TBLGEN_RETURN_VAL retVal = SWAPv2_TBLGEN_RETURN_SUCCESS;\r
+       unsigned int Nr = 0;\r
+       unsigned int Nk = 0;\r
+       unsigned char *RoundKey = NULL;\r
+       unsigned int RoundKeySize = 0;\r
+       unsigned int TBoxSize = 0;\r
+       unsigned int PBoxSize = 0;\r
+       unsigned int WPBoxSize = 0;\r
+       unsigned int BPBoxSize = 0;\r
+       SWAPv2_TBOX *pTBox = NULL;\r
+       SWAPv2_PBOX *pPBox = NULL;\r
+       SWAPv2_WORD_PBOX *pBytePBox = NULL;\r
+       SWAPv2_BIT_PBOX *pBitPBox = NULL;\r
+       SWAPv2_PVECTOR PVector[SWAPv2_256_ROUNDS + 1];\r
+\r
+       //1. Argument Check\r
+       if ((Key == NULL) || (Table == NULL))\r
+       {\r
+               retVal = SWAPv2_TBLGEN_RETURN_INVALID_PARAMETER;                        //invalid input\r
+               goto ERROR_PROC;\r
+       }\r
+\r
+       //2. Set Number of rounds\r
+       switch(KeyLen)                                          //find Nr\r
+       {\r
+               case 16:\r
+                       //AES128\r
+                       Nr = 10;\r
+                       break;\r
+               case 24:\r
+                       //AES192\r
+                       Nr = 12;\r
+                       break;\r
+               case 32:\r
+                       //AES256\r
+                       Nr = 14;\r
+                       break;\r
+               default:\r
+                       retVal = SWAPv2_TBLGEN_RETURN_INVALID_KEYLEN;                   //invalid key length\r
+                       goto ERROR_PROC;\r
+       }\r
+\r
+       //calculate round key size\r
+       RoundKeySize = SWAPv2_COLUMNS * SWAPv2_WORD_SIZE * (Nr + 1);    //Nb * word size * (number of rounds + 1)\r
+\r
+       //allocate memory for round key\r
+       RoundKey = (unsigned char*)malloc(RoundKeySize);\r
+       if (RoundKey == NULL)\r
+       {\r
+               retVal = SWAPv2_TBLGEN_RETURN_MEM_ALLOC_FAILED;                 //memory allocation failed\r
+               goto ERROR_PROC;\r
+       }\r
+\r
+       //calculate TBox and PBox size\r
+       TBoxSize = SWAPv2_T_TABLE_ROUND_SIZE * Nr;                              //each byte of round key has its own s-box table\r
+       PBoxSize = SWAPv2_P_TABLE_ROUND_SIZE * (Nr + 1);                //Permutation table for each round, and initial permutation\r
+       WPBoxSize = SWAPv2_WP_TABLE_ROUND_SIZE * Nr;                    //Permutation word of transform table for each round\r
+       BPBoxSize = SWAPv2_BP_TABLE_ROUND_SIZE * Nr;                    //Permutation bit of transform table for each round\r
+\r
+       //allocate memory for TBox and PBox\r
+       pTBox = (SWAPv2_TBOX*)malloc(TBoxSize + PBoxSize + WPBoxSize + BPBoxSize);\r
+\r
+       if (pTBox == NULL)\r
+       {\r
+               retVal = SWAPv2_TBLGEN_RETURN_MEM_ALLOC_FAILED;                 //memory allocation failed\r
+               goto ERROR_PROC;\r
+       }\r
+\r
+       pPBox = (SWAPv2_PBOX*)((unsigned char*)pTBox + TBoxSize);\r
+       pBytePBox = (SWAPv2_WORD_PBOX*)((unsigned char*)pTBox + TBoxSize + PBoxSize);\r
+       pBitPBox = (SWAPv2_BIT_PBOX*)((unsigned char*)pTBox + TBoxSize + PBoxSize + WPBoxSize);\r
+       \r
+       //calculate Nk\r
+       Nk = KeyLen / SWAPv2_WORD_SIZE;                                                         //Nk is the word size of given key\r
+\r
+       //seed random seed\r
+       srand(seed);\r
+\r
+       //3. Calc Round Key\r
+       KeySched((SWAPv2_WORD*)Key, Nk, (SWAPv2_WORD*)RoundKey, Nr);\r
+\r
+       if (isEncryption)\r
+       {\r
+               //4. Generate permutation vector and PBox\r
+               GeneratePVector(Nr, PVector);\r
+               CalcPBox(pPBox, PVector, Nr);\r
+\r
+               //5. Generate table for calc AddRoundKey, SubBytes and MixColumn\r
+               CalcTBox((SWAPv2_RK_BOX*)RoundKey, pTBox, Nr);\r
+       }\r
+       else\r
+       {\r
+               //4. Generate permutation vector and PBox\r
+\r
+               GeneratePVector(Nr, PVector);\r
+               CalcInvPBox(pPBox, PVector, Nr);\r
+\r
+               //5. Generate table for calc AddRoundKey, SubBytes and MixColumn\r
+               CalcInvTBox((SWAPv2_RK_BOX*)RoundKey, pTBox, Nr);\r
+       }\r
+\r
+       //6. Create bit-permutation table & apply bit-permutation\r
+       ProcessBitPBox(pTBox, pBitPBox, Nr);\r
+\r
+       //7. Generate byte-permutation table & apply byte-permutation\r
+       ProcessBytePBox(pTBox, pBytePBox, Nr);\r
+\r
+       //8. Shuffle TBox according to the permutation vector\r
+       ShuffleTBox(pTBox, PVector, Nr);\r
+\r
+       //9. Set output\r
+       *Table = (unsigned char*)pTBox;\r
+       //set pTbox to preventing free\r
+       pTBox = NULL;\r
+\r
+       //set table length\r
+       if (TableLen != NULL)\r
+       {\r
+               *TableLen = TBoxSize + PBoxSize + WPBoxSize + BPBoxSize;\r
+       }\r
+       \r
+ERROR_PROC:\r
+       //clear memory\r
+       memset(PVector, 0x00, sizeof(PVector));\r
+\r
+       //free roundkey\r
+       if (RoundKey != NULL)\r
+       {\r
+               //clear before free\r
+               memset(RoundKey, 0x00, RoundKeySize);\r
+               free(RoundKey);\r
+       }\r
+\r
+       //free TBox if not null\r
+       if (pTBox != NULL)\r
+       {\r
+               //clear before free\r
+               memset(pTBox, 0x00, TBoxSize + PBoxSize + WPBoxSize + BPBoxSize);\r
+               free(pTBox);\r
+       }\r
+\r
+       if(pSBox != NULL)\r
+       {\r
+               memset(pSBox, 0x00, sizeof(SWAPv2_SBOX) * Nr);\r
+               free(pSBox);\r
+       }\r
+\r
+       if(pInvSBox != NULL)\r
+       {\r
+               memset(pInvSBox, 0x00, sizeof(SWAPv2_SBOX) * Nr);\r
+               free(pInvSBox);\r
+       }\r
+\r
+       return retVal;\r
+}\r
+////////////////////////// End of File //////////////////////////\r
diff --git a/SPC/Src/base/ANSI_x931.c b/SPC/Src/base/ANSI_x931.c
new file mode 100755 (executable)
index 0000000..21564f1
--- /dev/null
@@ -0,0 +1,110 @@
+/**\r
+ * \file       ANSI_x931.c\r
+ * @brief      Pseudorandom number generator based on a design described in ANSI X9.31\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Junbum Shin\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/08/23\r
+ * Edited : Use date data, and update seed, by Jisoon Park, 06/11/08\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include <time.h>\r
+#include "aes.h"\r
+#include "ANSI_x931.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Constants\r
+////////////////////////////////////////////////////////////////////////////\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_RNG_X931\r
+ * @brief      generate random number with seed\r
+ *\r
+ * @param      Seed                            [in]seed for RNG System\r
+ * @param      bitLength                       [in]bit length of data to generate\r
+ * @param      data                            [out]generated data\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_RNG_X931(cc_u8 *Si_ANSI_X9_31, cc_u32 bitLength, cc_u8 *data)\r
+{\r
+       static cc_u8 K_ANSI_X9_31[SDRM_X931_SEED_SIZ] = {0xfd, 0x74, 0x3d, 0xe1, 0xdc, 0x08, 0xdc, 0x3d, 0x0f, 0xea, 0xf5, 0xa3, 0x6e, 0xb1, 0xc0, 0x7f};\r
+       int             res = CRYPTO_SUCCESS;\r
+       int             i, offset; \r
+       int             byteLength, residue; \r
+       int             numBlock, residueBlock;\r
+       cc_u8   *DT;\r
+       cc_u8   I[SDRM_X931_SEED_SIZ] = {0};\r
+       cc_u8   Ri_ANSI_X9_31[SDRM_X931_SEED_SIZ];\r
+       cc_u32  Date[SDRM_X931_SEED_SIZ / 4];\r
+       cc_u32  RoundKey[4*(10 + 1)];                   //AES Round Key\r
+\r
+       time_t nowTime;\r
+\r
+       time(&nowTime);\r
+       Date[0] = (cc_u32)nowTime;\r
+       Date[1] = clock();\r
+       Date[2] = rand();\r
+       Date[3] = rand();\r
+\r
+       DT = (cc_u8*)Date;                                              //DT : Time | Clock | RND | RND\r
+\r
+       SDRM_rijndaelKeySetupDec(RoundKey, K_ANSI_X9_31, 128);\r
+\r
+       byteLength = bitLength / 8 ; \r
+       residue = bitLength - byteLength * 8; \r
+\r
+       if (residue == 0)\r
+       {\r
+               memset(data, 0x0, byteLength); \r
+       }\r
+       else\r
+       {\r
+               byteLength += 1; \r
+               memset(data, 0x0, byteLength); \r
+       }\r
+\r
+       numBlock = byteLength / SDRM_X931_SEED_SIZ; \r
+       residueBlock = byteLength - numBlock * SDRM_X931_SEED_SIZ; \r
+       offset = 0; \r
+\r
+       for(i = 0; i < numBlock; i++)\r
+       {\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, DT, I);\r
+               BlockXor(I, I, Si_ANSI_X9_31); \r
+\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, I, Ri_ANSI_X9_31);\r
+               BlockXor(I, I, Ri_ANSI_X9_31); \r
+\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, I, Si_ANSI_X9_31);\r
+               memcpy(data + offset, Ri_ANSI_X9_31, SDRM_X931_SEED_SIZ); \r
+               offset += SDRM_X931_SEED_SIZ;           \r
+       }\r
+\r
+       if (residueBlock != 0)\r
+       {\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, DT, I);\r
+               BlockXor(I, I, Si_ANSI_X9_31); \r
+\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, I, Ri_ANSI_X9_31);\r
+               BlockXor(I, I, Ri_ANSI_X9_31); \r
+\r
+               SDRM_rijndaelDecrypt(RoundKey, 10, I, Si_ANSI_X9_31);\r
+               memcpy(data + offset, Ri_ANSI_X9_31, residueBlock); \r
+       }\r
+\r
+       BlockXor(Si_ANSI_X9_31, I, Si_ANSI_X9_31);\r
+\r
+       return res;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/base/aes.c b/SPC/Src/base/aes.c
new file mode 100755 (executable)
index 0000000..22101ad
--- /dev/null
@@ -0,0 +1,1389 @@
+/**\r
+ * rijndael-alg-fst.c\r
+ *\r
+ * @version 3.0 (December 2000)\r
+ *\r
+ * Optimised ANSI C code for the Rijndael cipher (now AES)\r
+ *\r
+ * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>\r
+ * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>\r
+ * @author Paulo Barreto <paulo.barreto@terra.com.br>\r
+ *\r
+ * This code is hereby placed in the public domain.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS\r
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE\r
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\r
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\r
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "aes.h"\r
+\r
+#define FULL_UNROLL\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// AES conversion matrix\r
+////////////////////////////////////////////////////////////////////////////\r
+static const cc_u32 SDRM_Te0[256] = {\r
+    0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU,\r
+    0xfff2f20dU, 0xd66b6bbdU, 0xde6f6fb1U, 0x91c5c554U,\r
+    0x60303050U, 0x02010103U, 0xce6767a9U, 0x562b2b7dU,\r
+    0xe7fefe19U, 0xb5d7d762U, 0x4dababe6U, 0xec76769aU,\r
+    0x8fcaca45U, 0x1f82829dU, 0x89c9c940U, 0xfa7d7d87U,\r
+    0xeffafa15U, 0xb25959ebU, 0x8e4747c9U, 0xfbf0f00bU,\r
+    0x41adadecU, 0xb3d4d467U, 0x5fa2a2fdU, 0x45afafeaU,\r
+    0x239c9cbfU, 0x53a4a4f7U, 0xe4727296U, 0x9bc0c05bU,\r
+    0x75b7b7c2U, 0xe1fdfd1cU, 0x3d9393aeU, 0x4c26266aU,\r
+    0x6c36365aU, 0x7e3f3f41U, 0xf5f7f702U, 0x83cccc4fU,\r
+    0x6834345cU, 0x51a5a5f4U, 0xd1e5e534U, 0xf9f1f108U,\r
+    0xe2717193U, 0xabd8d873U, 0x62313153U, 0x2a15153fU,\r
+    0x0804040cU, 0x95c7c752U, 0x46232365U, 0x9dc3c35eU,\r
+    0x30181828U, 0x379696a1U, 0x0a05050fU, 0x2f9a9ab5U,\r
+    0x0e070709U, 0x24121236U, 0x1b80809bU, 0xdfe2e23dU,\r
+    0xcdebeb26U, 0x4e272769U, 0x7fb2b2cdU, 0xea75759fU,\r
+    0x1209091bU, 0x1d83839eU, 0x582c2c74U, 0x341a1a2eU,\r
+    0x361b1b2dU, 0xdc6e6eb2U, 0xb45a5aeeU, 0x5ba0a0fbU,\r
+    0xa45252f6U, 0x763b3b4dU, 0xb7d6d661U, 0x7db3b3ceU,\r
+    0x5229297bU, 0xdde3e33eU, 0x5e2f2f71U, 0x13848497U,\r
+    0xa65353f5U, 0xb9d1d168U, 0x00000000U, 0xc1eded2cU,\r
+    0x40202060U, 0xe3fcfc1fU, 0x79b1b1c8U, 0xb65b5bedU,\r
+    0xd46a6abeU, 0x8dcbcb46U, 0x67bebed9U, 0x7239394bU,\r
+    0x944a4adeU, 0x984c4cd4U, 0xb05858e8U, 0x85cfcf4aU,\r
+    0xbbd0d06bU, 0xc5efef2aU, 0x4faaaae5U, 0xedfbfb16U,\r
+    0x864343c5U, 0x9a4d4dd7U, 0x66333355U, 0x11858594U,\r
+    0x8a4545cfU, 0xe9f9f910U, 0x04020206U, 0xfe7f7f81U,\r
+    0xa05050f0U, 0x783c3c44U, 0x259f9fbaU, 0x4ba8a8e3U,\r
+    0xa25151f3U, 0x5da3a3feU, 0x804040c0U, 0x058f8f8aU,\r
+    0x3f9292adU, 0x219d9dbcU, 0x70383848U, 0xf1f5f504U,\r
+    0x63bcbcdfU, 0x77b6b6c1U, 0xafdada75U, 0x42212163U,\r
+    0x20101030U, 0xe5ffff1aU, 0xfdf3f30eU, 0xbfd2d26dU,\r
+    0x81cdcd4cU, 0x180c0c14U, 0x26131335U, 0xc3ecec2fU,\r
+    0xbe5f5fe1U, 0x359797a2U, 0x884444ccU, 0x2e171739U,\r
+    0x93c4c457U, 0x55a7a7f2U, 0xfc7e7e82U, 0x7a3d3d47U,\r
+    0xc86464acU, 0xba5d5de7U, 0x3219192bU, 0xe6737395U,\r
+    0xc06060a0U, 0x19818198U, 0x9e4f4fd1U, 0xa3dcdc7fU,\r
+    0x44222266U, 0x542a2a7eU, 0x3b9090abU, 0x0b888883U,\r
+    0x8c4646caU, 0xc7eeee29U, 0x6bb8b8d3U, 0x2814143cU,\r
+    0xa7dede79U, 0xbc5e5ee2U, 0x160b0b1dU, 0xaddbdb76U,\r
+    0xdbe0e03bU, 0x64323256U, 0x743a3a4eU, 0x140a0a1eU,\r
+    0x924949dbU, 0x0c06060aU, 0x4824246cU, 0xb85c5ce4U,\r
+    0x9fc2c25dU, 0xbdd3d36eU, 0x43acacefU, 0xc46262a6U,\r
+    0x399191a8U, 0x319595a4U, 0xd3e4e437U, 0xf279798bU,\r
+    0xd5e7e732U, 0x8bc8c843U, 0x6e373759U, 0xda6d6db7U,\r
+    0x018d8d8cU, 0xb1d5d564U, 0x9c4e4ed2U, 0x49a9a9e0U,\r
+    0xd86c6cb4U, 0xac5656faU, 0xf3f4f407U, 0xcfeaea25U,\r
+    0xca6565afU, 0xf47a7a8eU, 0x47aeaee9U, 0x10080818U,\r
+    0x6fbabad5U, 0xf0787888U, 0x4a25256fU, 0x5c2e2e72U,\r
+    0x381c1c24U, 0x57a6a6f1U, 0x73b4b4c7U, 0x97c6c651U,\r
+    0xcbe8e823U, 0xa1dddd7cU, 0xe874749cU, 0x3e1f1f21U,\r
+    0x964b4bddU, 0x61bdbddcU, 0x0d8b8b86U, 0x0f8a8a85U,\r
+    0xe0707090U, 0x7c3e3e42U, 0x71b5b5c4U, 0xcc6666aaU,\r
+    0x904848d8U, 0x06030305U, 0xf7f6f601U, 0x1c0e0e12U,\r
+    0xc26161a3U, 0x6a35355fU, 0xae5757f9U, 0x69b9b9d0U,\r
+    0x17868691U, 0x99c1c158U, 0x3a1d1d27U, 0x279e9eb9U,\r
+    0xd9e1e138U, 0xebf8f813U, 0x2b9898b3U, 0x22111133U,\r
+    0xd26969bbU, 0xa9d9d970U, 0x078e8e89U, 0x339494a7U,\r
+    0x2d9b9bb6U, 0x3c1e1e22U, 0x15878792U, 0xc9e9e920U,\r
+    0x87cece49U, 0xaa5555ffU, 0x50282878U, 0xa5dfdf7aU,\r
+    0x038c8c8fU, 0x59a1a1f8U, 0x09898980U, 0x1a0d0d17U,\r
+    0x65bfbfdaU, 0xd7e6e631U, 0x844242c6U, 0xd06868b8U,\r
+    0x824141c3U, 0x299999b0U, 0x5a2d2d77U, 0x1e0f0f11U,\r
+    0x7bb0b0cbU, 0xa85454fcU, 0x6dbbbbd6U, 0x2c16163aU,\r
+};\r
+static const cc_u32 SDRM_Te1[256] = {\r
+    0xa5c66363U, 0x84f87c7cU, 0x99ee7777U, 0x8df67b7bU,\r
+    0x0dfff2f2U, 0xbdd66b6bU, 0xb1de6f6fU, 0x5491c5c5U,\r
+    0x50603030U, 0x03020101U, 0xa9ce6767U, 0x7d562b2bU,\r
+    0x19e7fefeU, 0x62b5d7d7U, 0xe64dababU, 0x9aec7676U,\r
+    0x458fcacaU, 0x9d1f8282U, 0x4089c9c9U, 0x87fa7d7dU,\r
+    0x15effafaU, 0xebb25959U, 0xc98e4747U, 0x0bfbf0f0U,\r
+    0xec41adadU, 0x67b3d4d4U, 0xfd5fa2a2U, 0xea45afafU,\r
+    0xbf239c9cU, 0xf753a4a4U, 0x96e47272U, 0x5b9bc0c0U,\r
+    0xc275b7b7U, 0x1ce1fdfdU, 0xae3d9393U, 0x6a4c2626U,\r
+    0x5a6c3636U, 0x417e3f3fU, 0x02f5f7f7U, 0x4f83ccccU,\r
+    0x5c683434U, 0xf451a5a5U, 0x34d1e5e5U, 0x08f9f1f1U,\r
+    0x93e27171U, 0x73abd8d8U, 0x53623131U, 0x3f2a1515U,\r
+    0x0c080404U, 0x5295c7c7U, 0x65462323U, 0x5e9dc3c3U,\r
+    0x28301818U, 0xa1379696U, 0x0f0a0505U, 0xb52f9a9aU,\r
+    0x090e0707U, 0x36241212U, 0x9b1b8080U, 0x3ddfe2e2U,\r
+    0x26cdebebU, 0x694e2727U, 0xcd7fb2b2U, 0x9fea7575U,\r
+    0x1b120909U, 0x9e1d8383U, 0x74582c2cU, 0x2e341a1aU,\r
+    0x2d361b1bU, 0xb2dc6e6eU, 0xeeb45a5aU, 0xfb5ba0a0U,\r
+    0xf6a45252U, 0x4d763b3bU, 0x61b7d6d6U, 0xce7db3b3U,\r
+    0x7b522929U, 0x3edde3e3U, 0x715e2f2fU, 0x97138484U,\r
+    0xf5a65353U, 0x68b9d1d1U, 0x00000000U, 0x2cc1ededU,\r
+    0x60402020U, 0x1fe3fcfcU, 0xc879b1b1U, 0xedb65b5bU,\r
+    0xbed46a6aU, 0x468dcbcbU, 0xd967bebeU, 0x4b723939U,\r
+    0xde944a4aU, 0xd4984c4cU, 0xe8b05858U, 0x4a85cfcfU,\r
+    0x6bbbd0d0U, 0x2ac5efefU, 0xe54faaaaU, 0x16edfbfbU,\r
+    0xc5864343U, 0xd79a4d4dU, 0x55663333U, 0x94118585U,\r
+    0xcf8a4545U, 0x10e9f9f9U, 0x06040202U, 0x81fe7f7fU,\r
+    0xf0a05050U, 0x44783c3cU, 0xba259f9fU, 0xe34ba8a8U,\r
+    0xf3a25151U, 0xfe5da3a3U, 0xc0804040U, 0x8a058f8fU,\r
+    0xad3f9292U, 0xbc219d9dU, 0x48703838U, 0x04f1f5f5U,\r
+    0xdf63bcbcU, 0xc177b6b6U, 0x75afdadaU, 0x63422121U,\r
+    0x30201010U, 0x1ae5ffffU, 0x0efdf3f3U, 0x6dbfd2d2U,\r
+    0x4c81cdcdU, 0x14180c0cU, 0x35261313U, 0x2fc3ececU,\r
+    0xe1be5f5fU, 0xa2359797U, 0xcc884444U, 0x392e1717U,\r
+    0x5793c4c4U, 0xf255a7a7U, 0x82fc7e7eU, 0x477a3d3dU,\r
+    0xacc86464U, 0xe7ba5d5dU, 0x2b321919U, 0x95e67373U,\r
+    0xa0c06060U, 0x98198181U, 0xd19e4f4fU, 0x7fa3dcdcU,\r
+    0x66442222U, 0x7e542a2aU, 0xab3b9090U, 0x830b8888U,\r
+    0xca8c4646U, 0x29c7eeeeU, 0xd36bb8b8U, 0x3c281414U,\r
+    0x79a7dedeU, 0xe2bc5e5eU, 0x1d160b0bU, 0x76addbdbU,\r
+    0x3bdbe0e0U, 0x56643232U, 0x4e743a3aU, 0x1e140a0aU,\r
+    0xdb924949U, 0x0a0c0606U, 0x6c482424U, 0xe4b85c5cU,\r
+    0x5d9fc2c2U, 0x6ebdd3d3U, 0xef43acacU, 0xa6c46262U,\r
+    0xa8399191U, 0xa4319595U, 0x37d3e4e4U, 0x8bf27979U,\r
+    0x32d5e7e7U, 0x438bc8c8U, 0x596e3737U, 0xb7da6d6dU,\r
+    0x8c018d8dU, 0x64b1d5d5U, 0xd29c4e4eU, 0xe049a9a9U,\r
+    0xb4d86c6cU, 0xfaac5656U, 0x07f3f4f4U, 0x25cfeaeaU,\r
+    0xafca6565U, 0x8ef47a7aU, 0xe947aeaeU, 0x18100808U,\r
+    0xd56fbabaU, 0x88f07878U, 0x6f4a2525U, 0x725c2e2eU,\r
+    0x24381c1cU, 0xf157a6a6U, 0xc773b4b4U, 0x5197c6c6U,\r
+    0x23cbe8e8U, 0x7ca1ddddU, 0x9ce87474U, 0x213e1f1fU,\r
+    0xdd964b4bU, 0xdc61bdbdU, 0x860d8b8bU, 0x850f8a8aU,\r
+    0x90e07070U, 0x427c3e3eU, 0xc471b5b5U, 0xaacc6666U,\r
+    0xd8904848U, 0x05060303U, 0x01f7f6f6U, 0x121c0e0eU,\r
+    0xa3c26161U, 0x5f6a3535U, 0xf9ae5757U, 0xd069b9b9U,\r
+    0x91178686U, 0x5899c1c1U, 0x273a1d1dU, 0xb9279e9eU,\r
+    0x38d9e1e1U, 0x13ebf8f8U, 0xb32b9898U, 0x33221111U,\r
+    0xbbd26969U, 0x70a9d9d9U, 0x89078e8eU, 0xa7339494U,\r
+    0xb62d9b9bU, 0x223c1e1eU, 0x92158787U, 0x20c9e9e9U,\r
+    0x4987ceceU, 0xffaa5555U, 0x78502828U, 0x7aa5dfdfU,\r
+    0x8f038c8cU, 0xf859a1a1U, 0x80098989U, 0x171a0d0dU,\r
+    0xda65bfbfU, 0x31d7e6e6U, 0xc6844242U, 0xb8d06868U,\r
+    0xc3824141U, 0xb0299999U, 0x775a2d2dU, 0x111e0f0fU,\r
+    0xcb7bb0b0U, 0xfca85454U, 0xd66dbbbbU, 0x3a2c1616U,\r
+};\r
+static const cc_u32 SDRM_Te2[256] = {\r
+    0x63a5c663U, 0x7c84f87cU, 0x7799ee77U, 0x7b8df67bU,\r
+    0xf20dfff2U, 0x6bbdd66bU, 0x6fb1de6fU, 0xc55491c5U,\r
+    0x30506030U, 0x01030201U, 0x67a9ce67U, 0x2b7d562bU,\r
+    0xfe19e7feU, 0xd762b5d7U, 0xabe64dabU, 0x769aec76U,\r
+    0xca458fcaU, 0x829d1f82U, 0xc94089c9U, 0x7d87fa7dU,\r
+    0xfa15effaU, 0x59ebb259U, 0x47c98e47U, 0xf00bfbf0U,\r
+    0xadec41adU, 0xd467b3d4U, 0xa2fd5fa2U, 0xafea45afU,\r
+    0x9cbf239cU, 0xa4f753a4U, 0x7296e472U, 0xc05b9bc0U,\r
+    0xb7c275b7U, 0xfd1ce1fdU, 0x93ae3d93U, 0x266a4c26U,\r
+    0x365a6c36U, 0x3f417e3fU, 0xf702f5f7U, 0xcc4f83ccU,\r
+    0x345c6834U, 0xa5f451a5U, 0xe534d1e5U, 0xf108f9f1U,\r
+    0x7193e271U, 0xd873abd8U, 0x31536231U, 0x153f2a15U,\r
+    0x040c0804U, 0xc75295c7U, 0x23654623U, 0xc35e9dc3U,\r
+    0x18283018U, 0x96a13796U, 0x050f0a05U, 0x9ab52f9aU,\r
+    0x07090e07U, 0x12362412U, 0x809b1b80U, 0xe23ddfe2U,\r
+    0xeb26cdebU, 0x27694e27U, 0xb2cd7fb2U, 0x759fea75U,\r
+    0x091b1209U, 0x839e1d83U, 0x2c74582cU, 0x1a2e341aU,\r
+    0x1b2d361bU, 0x6eb2dc6eU, 0x5aeeb45aU, 0xa0fb5ba0U,\r
+    0x52f6a452U, 0x3b4d763bU, 0xd661b7d6U, 0xb3ce7db3U,\r
+    0x297b5229U, 0xe33edde3U, 0x2f715e2fU, 0x84971384U,\r
+    0x53f5a653U, 0xd168b9d1U, 0x00000000U, 0xed2cc1edU,\r
+    0x20604020U, 0xfc1fe3fcU, 0xb1c879b1U, 0x5bedb65bU,\r
+    0x6abed46aU, 0xcb468dcbU, 0xbed967beU, 0x394b7239U,\r
+    0x4ade944aU, 0x4cd4984cU, 0x58e8b058U, 0xcf4a85cfU,\r
+    0xd06bbbd0U, 0xef2ac5efU, 0xaae54faaU, 0xfb16edfbU,\r
+    0x43c58643U, 0x4dd79a4dU, 0x33556633U, 0x85941185U,\r
+    0x45cf8a45U, 0xf910e9f9U, 0x02060402U, 0x7f81fe7fU,\r
+    0x50f0a050U, 0x3c44783cU, 0x9fba259fU, 0xa8e34ba8U,\r
+    0x51f3a251U, 0xa3fe5da3U, 0x40c08040U, 0x8f8a058fU,\r
+    0x92ad3f92U, 0x9dbc219dU, 0x38487038U, 0xf504f1f5U,\r
+    0xbcdf63bcU, 0xb6c177b6U, 0xda75afdaU, 0x21634221U,\r
+    0x10302010U, 0xff1ae5ffU, 0xf30efdf3U, 0xd26dbfd2U,\r
+    0xcd4c81cdU, 0x0c14180cU, 0x13352613U, 0xec2fc3ecU,\r
+    0x5fe1be5fU, 0x97a23597U, 0x44cc8844U, 0x17392e17U,\r
+    0xc45793c4U, 0xa7f255a7U, 0x7e82fc7eU, 0x3d477a3dU,\r
+    0x64acc864U, 0x5de7ba5dU, 0x192b3219U, 0x7395e673U,\r
+    0x60a0c060U, 0x81981981U, 0x4fd19e4fU, 0xdc7fa3dcU,\r
+    0x22664422U, 0x2a7e542aU, 0x90ab3b90U, 0x88830b88U,\r
+    0x46ca8c46U, 0xee29c7eeU, 0xb8d36bb8U, 0x143c2814U,\r
+    0xde79a7deU, 0x5ee2bc5eU, 0x0b1d160bU, 0xdb76addbU,\r
+    0xe03bdbe0U, 0x32566432U, 0x3a4e743aU, 0x0a1e140aU,\r
+    0x49db9249U, 0x060a0c06U, 0x246c4824U, 0x5ce4b85cU,\r
+    0xc25d9fc2U, 0xd36ebdd3U, 0xacef43acU, 0x62a6c462U,\r
+    0x91a83991U, 0x95a43195U, 0xe437d3e4U, 0x798bf279U,\r
+    0xe732d5e7U, 0xc8438bc8U, 0x37596e37U, 0x6db7da6dU,\r
+    0x8d8c018dU, 0xd564b1d5U, 0x4ed29c4eU, 0xa9e049a9U,\r
+    0x6cb4d86cU, 0x56faac56U, 0xf407f3f4U, 0xea25cfeaU,\r
+    0x65afca65U, 0x7a8ef47aU, 0xaee947aeU, 0x08181008U,\r
+    0xbad56fbaU, 0x7888f078U, 0x256f4a25U, 0x2e725c2eU,\r
+    0x1c24381cU, 0xa6f157a6U, 0xb4c773b4U, 0xc65197c6U,\r
+    0xe823cbe8U, 0xdd7ca1ddU, 0x749ce874U, 0x1f213e1fU,\r
+    0x4bdd964bU, 0xbddc61bdU, 0x8b860d8bU, 0x8a850f8aU,\r
+    0x7090e070U, 0x3e427c3eU, 0xb5c471b5U, 0x66aacc66U,\r
+    0x48d89048U, 0x03050603U, 0xf601f7f6U, 0x0e121c0eU,\r
+    0x61a3c261U, 0x355f6a35U, 0x57f9ae57U, 0xb9d069b9U,\r
+    0x86911786U, 0xc15899c1U, 0x1d273a1dU, 0x9eb9279eU,\r
+    0xe138d9e1U, 0xf813ebf8U, 0x98b32b98U, 0x11332211U,\r
+    0x69bbd269U, 0xd970a9d9U, 0x8e89078eU, 0x94a73394U,\r
+    0x9bb62d9bU, 0x1e223c1eU, 0x87921587U, 0xe920c9e9U,\r
+    0xce4987ceU, 0x55ffaa55U, 0x28785028U, 0xdf7aa5dfU,\r
+    0x8c8f038cU, 0xa1f859a1U, 0x89800989U, 0x0d171a0dU,\r
+    0xbfda65bfU, 0xe631d7e6U, 0x42c68442U, 0x68b8d068U,\r
+    0x41c38241U, 0x99b02999U, 0x2d775a2dU, 0x0f111e0fU,\r
+    0xb0cb7bb0U, 0x54fca854U, 0xbbd66dbbU, 0x163a2c16U,\r
+};\r
+static const cc_u32 SDRM_Te3[256] = {\r
+    0x6363a5c6U, 0x7c7c84f8U, 0x777799eeU, 0x7b7b8df6U,\r
+    0xf2f20dffU, 0x6b6bbdd6U, 0x6f6fb1deU, 0xc5c55491U,\r
+    0x30305060U, 0x01010302U, 0x6767a9ceU, 0x2b2b7d56U,\r
+    0xfefe19e7U, 0xd7d762b5U, 0xababe64dU, 0x76769aecU,\r
+    0xcaca458fU, 0x82829d1fU, 0xc9c94089U, 0x7d7d87faU,\r
+    0xfafa15efU, 0x5959ebb2U, 0x4747c98eU, 0xf0f00bfbU,\r
+    0xadadec41U, 0xd4d467b3U, 0xa2a2fd5fU, 0xafafea45U,\r
+    0x9c9cbf23U, 0xa4a4f753U, 0x727296e4U, 0xc0c05b9bU,\r
+    0xb7b7c275U, 0xfdfd1ce1U, 0x9393ae3dU, 0x26266a4cU,\r
+    0x36365a6cU, 0x3f3f417eU, 0xf7f702f5U, 0xcccc4f83U,\r
+    0x34345c68U, 0xa5a5f451U, 0xe5e534d1U, 0xf1f108f9U,\r
+    0x717193e2U, 0xd8d873abU, 0x31315362U, 0x15153f2aU,\r
+    0x04040c08U, 0xc7c75295U, 0x23236546U, 0xc3c35e9dU,\r
+    0x18182830U, 0x9696a137U, 0x05050f0aU, 0x9a9ab52fU,\r
+    0x0707090eU, 0x12123624U, 0x80809b1bU, 0xe2e23ddfU,\r
+    0xebeb26cdU, 0x2727694eU, 0xb2b2cd7fU, 0x75759feaU,\r
+    0x09091b12U, 0x83839e1dU, 0x2c2c7458U, 0x1a1a2e34U,\r
+    0x1b1b2d36U, 0x6e6eb2dcU, 0x5a5aeeb4U, 0xa0a0fb5bU,\r
+    0x5252f6a4U, 0x3b3b4d76U, 0xd6d661b7U, 0xb3b3ce7dU,\r
+    0x29297b52U, 0xe3e33eddU, 0x2f2f715eU, 0x84849713U,\r
+    0x5353f5a6U, 0xd1d168b9U, 0x00000000U, 0xeded2cc1U,\r
+    0x20206040U, 0xfcfc1fe3U, 0xb1b1c879U, 0x5b5bedb6U,\r
+    0x6a6abed4U, 0xcbcb468dU, 0xbebed967U, 0x39394b72U,\r
+    0x4a4ade94U, 0x4c4cd498U, 0x5858e8b0U, 0xcfcf4a85U,\r
+    0xd0d06bbbU, 0xefef2ac5U, 0xaaaae54fU, 0xfbfb16edU,\r
+    0x4343c586U, 0x4d4dd79aU, 0x33335566U, 0x85859411U,\r
+    0x4545cf8aU, 0xf9f910e9U, 0x02020604U, 0x7f7f81feU,\r
+    0x5050f0a0U, 0x3c3c4478U, 0x9f9fba25U, 0xa8a8e34bU,\r
+    0x5151f3a2U, 0xa3a3fe5dU, 0x4040c080U, 0x8f8f8a05U,\r
+    0x9292ad3fU, 0x9d9dbc21U, 0x38384870U, 0xf5f504f1U,\r
+    0xbcbcdf63U, 0xb6b6c177U, 0xdada75afU, 0x21216342U,\r
+    0x10103020U, 0xffff1ae5U, 0xf3f30efdU, 0xd2d26dbfU,\r
+    0xcdcd4c81U, 0x0c0c1418U, 0x13133526U, 0xecec2fc3U,\r
+    0x5f5fe1beU, 0x9797a235U, 0x4444cc88U, 0x1717392eU,\r
+    0xc4c45793U, 0xa7a7f255U, 0x7e7e82fcU, 0x3d3d477aU,\r
+    0x6464acc8U, 0x5d5de7baU, 0x19192b32U, 0x737395e6U,\r
+    0x6060a0c0U, 0x81819819U, 0x4f4fd19eU, 0xdcdc7fa3U,\r
+    0x22226644U, 0x2a2a7e54U, 0x9090ab3bU, 0x8888830bU,\r
+    0x4646ca8cU, 0xeeee29c7U, 0xb8b8d36bU, 0x14143c28U,\r
+    0xdede79a7U, 0x5e5ee2bcU, 0x0b0b1d16U, 0xdbdb76adU,\r
+    0xe0e03bdbU, 0x32325664U, 0x3a3a4e74U, 0x0a0a1e14U,\r
+    0x4949db92U, 0x06060a0cU, 0x24246c48U, 0x5c5ce4b8U,\r
+    0xc2c25d9fU, 0xd3d36ebdU, 0xacacef43U, 0x6262a6c4U,\r
+    0x9191a839U, 0x9595a431U, 0xe4e437d3U, 0x79798bf2U,\r
+    0xe7e732d5U, 0xc8c8438bU, 0x3737596eU, 0x6d6db7daU,\r
+    0x8d8d8c01U, 0xd5d564b1U, 0x4e4ed29cU, 0xa9a9e049U,\r
+    0x6c6cb4d8U, 0x5656faacU, 0xf4f407f3U, 0xeaea25cfU,\r
+    0x6565afcaU, 0x7a7a8ef4U, 0xaeaee947U, 0x08081810U,\r
+    0xbabad56fU, 0x787888f0U, 0x25256f4aU, 0x2e2e725cU,\r
+    0x1c1c2438U, 0xa6a6f157U, 0xb4b4c773U, 0xc6c65197U,\r
+    0xe8e823cbU, 0xdddd7ca1U, 0x74749ce8U, 0x1f1f213eU,\r
+    0x4b4bdd96U, 0xbdbddc61U, 0x8b8b860dU, 0x8a8a850fU,\r
+    0x707090e0U, 0x3e3e427cU, 0xb5b5c471U, 0x6666aaccU,\r
+    0x4848d890U, 0x03030506U, 0xf6f601f7U, 0x0e0e121cU,\r
+    0x6161a3c2U, 0x35355f6aU, 0x5757f9aeU, 0xb9b9d069U,\r
+    0x86869117U, 0xc1c15899U, 0x1d1d273aU, 0x9e9eb927U,\r
+    0xe1e138d9U, 0xf8f813ebU, 0x9898b32bU, 0x11113322U,\r
+    0x6969bbd2U, 0xd9d970a9U, 0x8e8e8907U, 0x9494a733U,\r
+    0x9b9bb62dU, 0x1e1e223cU, 0x87879215U, 0xe9e920c9U,\r
+    0xcece4987U, 0x5555ffaaU, 0x28287850U, 0xdfdf7aa5U,\r
+    0x8c8c8f03U, 0xa1a1f859U, 0x89898009U, 0x0d0d171aU,\r
+    0xbfbfda65U, 0xe6e631d7U, 0x4242c684U, 0x6868b8d0U,\r
+    0x4141c382U, 0x9999b029U, 0x2d2d775aU, 0x0f0f111eU,\r
+    0xb0b0cb7bU, 0x5454fca8U, 0xbbbbd66dU, 0x16163a2cU,\r
+};\r
+static const cc_u32 SDRM_Te4[256] = {\r
+    0x63636363U, 0x7c7c7c7cU, 0x77777777U, 0x7b7b7b7bU,\r
+    0xf2f2f2f2U, 0x6b6b6b6bU, 0x6f6f6f6fU, 0xc5c5c5c5U,\r
+    0x30303030U, 0x01010101U, 0x67676767U, 0x2b2b2b2bU,\r
+    0xfefefefeU, 0xd7d7d7d7U, 0xababababU, 0x76767676U,\r
+    0xcacacacaU, 0x82828282U, 0xc9c9c9c9U, 0x7d7d7d7dU,\r
+    0xfafafafaU, 0x59595959U, 0x47474747U, 0xf0f0f0f0U,\r
+    0xadadadadU, 0xd4d4d4d4U, 0xa2a2a2a2U, 0xafafafafU,\r
+    0x9c9c9c9cU, 0xa4a4a4a4U, 0x72727272U, 0xc0c0c0c0U,\r
+    0xb7b7b7b7U, 0xfdfdfdfdU, 0x93939393U, 0x26262626U,\r
+    0x36363636U, 0x3f3f3f3fU, 0xf7f7f7f7U, 0xccccccccU,\r
+    0x34343434U, 0xa5a5a5a5U, 0xe5e5e5e5U, 0xf1f1f1f1U,\r
+    0x71717171U, 0xd8d8d8d8U, 0x31313131U, 0x15151515U,\r
+    0x04040404U, 0xc7c7c7c7U, 0x23232323U, 0xc3c3c3c3U,\r
+    0x18181818U, 0x96969696U, 0x05050505U, 0x9a9a9a9aU,\r
+    0x07070707U, 0x12121212U, 0x80808080U, 0xe2e2e2e2U,\r
+    0xebebebebU, 0x27272727U, 0xb2b2b2b2U, 0x75757575U,\r
+    0x09090909U, 0x83838383U, 0x2c2c2c2cU, 0x1a1a1a1aU,\r
+    0x1b1b1b1bU, 0x6e6e6e6eU, 0x5a5a5a5aU, 0xa0a0a0a0U,\r
+    0x52525252U, 0x3b3b3b3bU, 0xd6d6d6d6U, 0xb3b3b3b3U,\r
+    0x29292929U, 0xe3e3e3e3U, 0x2f2f2f2fU, 0x84848484U,\r
+    0x53535353U, 0xd1d1d1d1U, 0x00000000U, 0xededededU,\r
+    0x20202020U, 0xfcfcfcfcU, 0xb1b1b1b1U, 0x5b5b5b5bU,\r
+    0x6a6a6a6aU, 0xcbcbcbcbU, 0xbebebebeU, 0x39393939U,\r
+    0x4a4a4a4aU, 0x4c4c4c4cU, 0x58585858U, 0xcfcfcfcfU,\r
+    0xd0d0d0d0U, 0xefefefefU, 0xaaaaaaaaU, 0xfbfbfbfbU,\r
+    0x43434343U, 0x4d4d4d4dU, 0x33333333U, 0x85858585U,\r
+    0x45454545U, 0xf9f9f9f9U, 0x02020202U, 0x7f7f7f7fU,\r
+    0x50505050U, 0x3c3c3c3cU, 0x9f9f9f9fU, 0xa8a8a8a8U,\r
+    0x51515151U, 0xa3a3a3a3U, 0x40404040U, 0x8f8f8f8fU,\r
+    0x92929292U, 0x9d9d9d9dU, 0x38383838U, 0xf5f5f5f5U,\r
+    0xbcbcbcbcU, 0xb6b6b6b6U, 0xdadadadaU, 0x21212121U,\r
+    0x10101010U, 0xffffffffU, 0xf3f3f3f3U, 0xd2d2d2d2U,\r
+    0xcdcdcdcdU, 0x0c0c0c0cU, 0x13131313U, 0xececececU,\r
+    0x5f5f5f5fU, 0x97979797U, 0x44444444U, 0x17171717U,\r
+    0xc4c4c4c4U, 0xa7a7a7a7U, 0x7e7e7e7eU, 0x3d3d3d3dU,\r
+    0x64646464U, 0x5d5d5d5dU, 0x19191919U, 0x73737373U,\r
+    0x60606060U, 0x81818181U, 0x4f4f4f4fU, 0xdcdcdcdcU,\r
+    0x22222222U, 0x2a2a2a2aU, 0x90909090U, 0x88888888U,\r
+    0x46464646U, 0xeeeeeeeeU, 0xb8b8b8b8U, 0x14141414U,\r
+    0xdedededeU, 0x5e5e5e5eU, 0x0b0b0b0bU, 0xdbdbdbdbU,\r
+    0xe0e0e0e0U, 0x32323232U, 0x3a3a3a3aU, 0x0a0a0a0aU,\r
+    0x49494949U, 0x06060606U, 0x24242424U, 0x5c5c5c5cU,\r
+    0xc2c2c2c2U, 0xd3d3d3d3U, 0xacacacacU, 0x62626262U,\r
+    0x91919191U, 0x95959595U, 0xe4e4e4e4U, 0x79797979U,\r
+    0xe7e7e7e7U, 0xc8c8c8c8U, 0x37373737U, 0x6d6d6d6dU,\r
+    0x8d8d8d8dU, 0xd5d5d5d5U, 0x4e4e4e4eU, 0xa9a9a9a9U,\r
+    0x6c6c6c6cU, 0x56565656U, 0xf4f4f4f4U, 0xeaeaeaeaU,\r
+    0x65656565U, 0x7a7a7a7aU, 0xaeaeaeaeU, 0x08080808U,\r
+    0xbabababaU, 0x78787878U, 0x25252525U, 0x2e2e2e2eU,\r
+    0x1c1c1c1cU, 0xa6a6a6a6U, 0xb4b4b4b4U, 0xc6c6c6c6U,\r
+    0xe8e8e8e8U, 0xddddddddU, 0x74747474U, 0x1f1f1f1fU,\r
+    0x4b4b4b4bU, 0xbdbdbdbdU, 0x8b8b8b8bU, 0x8a8a8a8aU,\r
+    0x70707070U, 0x3e3e3e3eU, 0xb5b5b5b5U, 0x66666666U,\r
+    0x48484848U, 0x03030303U, 0xf6f6f6f6U, 0x0e0e0e0eU,\r
+    0x61616161U, 0x35353535U, 0x57575757U, 0xb9b9b9b9U,\r
+    0x86868686U, 0xc1c1c1c1U, 0x1d1d1d1dU, 0x9e9e9e9eU,\r
+    0xe1e1e1e1U, 0xf8f8f8f8U, 0x98989898U, 0x11111111U,\r
+    0x69696969U, 0xd9d9d9d9U, 0x8e8e8e8eU, 0x94949494U,\r
+    0x9b9b9b9bU, 0x1e1e1e1eU, 0x87878787U, 0xe9e9e9e9U,\r
+    0xcecececeU, 0x55555555U, 0x28282828U, 0xdfdfdfdfU,\r
+    0x8c8c8c8cU, 0xa1a1a1a1U, 0x89898989U, 0x0d0d0d0dU,\r
+    0xbfbfbfbfU, 0xe6e6e6e6U, 0x42424242U, 0x68686868U,\r
+    0x41414141U, 0x99999999U, 0x2d2d2d2dU, 0x0f0f0f0fU,\r
+    0xb0b0b0b0U, 0x54545454U, 0xbbbbbbbbU, 0x16161616U,\r
+};\r
+static const cc_u32 SDRM_Td0[256] = {\r
+    0x51f4a750U, 0x7e416553U, 0x1a17a4c3U, 0x3a275e96U,\r
+    0x3bab6bcbU, 0x1f9d45f1U, 0xacfa58abU, 0x4be30393U,\r
+    0x2030fa55U, 0xad766df6U, 0x88cc7691U, 0xf5024c25U,\r
+    0x4fe5d7fcU, 0xc52acbd7U, 0x26354480U, 0xb562a38fU,\r
+    0xdeb15a49U, 0x25ba1b67U, 0x45ea0e98U, 0x5dfec0e1U,\r
+    0xc32f7502U, 0x814cf012U, 0x8d4697a3U, 0x6bd3f9c6U,\r
+    0x038f5fe7U, 0x15929c95U, 0xbf6d7aebU, 0x955259daU,\r
+    0xd4be832dU, 0x587421d3U, 0x49e06929U, 0x8ec9c844U,\r
+    0x75c2896aU, 0xf48e7978U, 0x99583e6bU, 0x27b971ddU,\r
+    0xbee14fb6U, 0xf088ad17U, 0xc920ac66U, 0x7dce3ab4U,\r
+    0x63df4a18U, 0xe51a3182U, 0x97513360U, 0x62537f45U,\r
+    0xb16477e0U, 0xbb6bae84U, 0xfe81a01cU, 0xf9082b94U,\r
+    0x70486858U, 0x8f45fd19U, 0x94de6c87U, 0x527bf8b7U,\r
+    0xab73d323U, 0x724b02e2U, 0xe31f8f57U, 0x6655ab2aU,\r
+    0xb2eb2807U, 0x2fb5c203U, 0x86c57b9aU, 0xd33708a5U,\r
+    0x302887f2U, 0x23bfa5b2U, 0x02036abaU, 0xed16825cU,\r
+    0x8acf1c2bU, 0xa779b492U, 0xf307f2f0U, 0x4e69e2a1U,\r
+    0x65daf4cdU, 0x0605bed5U, 0xd134621fU, 0xc4a6fe8aU,\r
+    0x342e539dU, 0xa2f355a0U, 0x058ae132U, 0xa4f6eb75U,\r
+    0x0b83ec39U, 0x4060efaaU, 0x5e719f06U, 0xbd6e1051U,\r
+    0x3e218af9U, 0x96dd063dU, 0xdd3e05aeU, 0x4de6bd46U,\r
+    0x91548db5U, 0x71c45d05U, 0x0406d46fU, 0x605015ffU,\r
+    0x1998fb24U, 0xd6bde997U, 0x894043ccU, 0x67d99e77U,\r
+    0xb0e842bdU, 0x07898b88U, 0xe7195b38U, 0x79c8eedbU,\r
+    0xa17c0a47U, 0x7c420fe9U, 0xf8841ec9U, 0x00000000U,\r
+    0x09808683U, 0x322bed48U, 0x1e1170acU, 0x6c5a724eU,\r
+    0xfd0efffbU, 0x0f853856U, 0x3daed51eU, 0x362d3927U,\r
+    0x0a0fd964U, 0x685ca621U, 0x9b5b54d1U, 0x24362e3aU,\r
+    0x0c0a67b1U, 0x9357e70fU, 0xb4ee96d2U, 0x1b9b919eU,\r
+    0x80c0c54fU, 0x61dc20a2U, 0x5a774b69U, 0x1c121a16U,\r
+    0xe293ba0aU, 0xc0a02ae5U, 0x3c22e043U, 0x121b171dU,\r
+    0x0e090d0bU, 0xf28bc7adU, 0x2db6a8b9U, 0x141ea9c8U,\r
+    0x57f11985U, 0xaf75074cU, 0xee99ddbbU, 0xa37f60fdU,\r
+    0xf701269fU, 0x5c72f5bcU, 0x44663bc5U, 0x5bfb7e34U,\r
+    0x8b432976U, 0xcb23c6dcU, 0xb6edfc68U, 0xb8e4f163U,\r
+    0xd731dccaU, 0x42638510U, 0x13972240U, 0x84c61120U,\r
+    0x854a247dU, 0xd2bb3df8U, 0xaef93211U, 0xc729a16dU,\r
+    0x1d9e2f4bU, 0xdcb230f3U, 0x0d8652ecU, 0x77c1e3d0U,\r
+    0x2bb3166cU, 0xa970b999U, 0x119448faU, 0x47e96422U,\r
+    0xa8fc8cc4U, 0xa0f03f1aU, 0x567d2cd8U, 0x223390efU,\r
+    0x87494ec7U, 0xd938d1c1U, 0x8ccaa2feU, 0x98d40b36U,\r
+    0xa6f581cfU, 0xa57ade28U, 0xdab78e26U, 0x3fadbfa4U,\r
+    0x2c3a9de4U, 0x5078920dU, 0x6a5fcc9bU, 0x547e4662U,\r
+    0xf68d13c2U, 0x90d8b8e8U, 0x2e39f75eU, 0x82c3aff5U,\r
+    0x9f5d80beU, 0x69d0937cU, 0x6fd52da9U, 0xcf2512b3U,\r
+    0xc8ac993bU, 0x10187da7U, 0xe89c636eU, 0xdb3bbb7bU,\r
+    0xcd267809U, 0x6e5918f4U, 0xec9ab701U, 0x834f9aa8U,\r
+    0xe6956e65U, 0xaaffe67eU, 0x21bccf08U, 0xef15e8e6U,\r
+    0xbae79bd9U, 0x4a6f36ceU, 0xea9f09d4U, 0x29b07cd6U,\r
+    0x31a4b2afU, 0x2a3f2331U, 0xc6a59430U, 0x35a266c0U,\r
+    0x744ebc37U, 0xfc82caa6U, 0xe090d0b0U, 0x33a7d815U,\r
+    0xf104984aU, 0x41ecdaf7U, 0x7fcd500eU, 0x1791f62fU,\r
+    0x764dd68dU, 0x43efb04dU, 0xccaa4d54U, 0xe49604dfU,\r
+    0x9ed1b5e3U, 0x4c6a881bU, 0xc12c1fb8U, 0x4665517fU,\r
+    0x9d5eea04U, 0x018c355dU, 0xfa877473U, 0xfb0b412eU,\r
+    0xb3671d5aU, 0x92dbd252U, 0xe9105633U, 0x6dd64713U,\r
+    0x9ad7618cU, 0x37a10c7aU, 0x59f8148eU, 0xeb133c89U,\r
+    0xcea927eeU, 0xb761c935U, 0xe11ce5edU, 0x7a47b13cU,\r
+    0x9cd2df59U, 0x55f2733fU, 0x1814ce79U, 0x73c737bfU,\r
+    0x53f7cdeaU, 0x5ffdaa5bU, 0xdf3d6f14U, 0x7844db86U,\r
+    0xcaaff381U, 0xb968c43eU, 0x3824342cU, 0xc2a3405fU,\r
+    0x161dc372U, 0xbce2250cU, 0x283c498bU, 0xff0d9541U,\r
+    0x39a80171U, 0x080cb3deU, 0xd8b4e49cU, 0x6456c190U,\r
+    0x7bcb8461U, 0xd532b670U, 0x486c5c74U, 0xd0b85742U,\r
+};\r
+static const cc_u32 SDRM_Td1[256] = {\r
+    0x5051f4a7U, 0x537e4165U, 0xc31a17a4U, 0x963a275eU,\r
+    0xcb3bab6bU, 0xf11f9d45U, 0xabacfa58U, 0x934be303U,\r
+    0x552030faU, 0xf6ad766dU, 0x9188cc76U, 0x25f5024cU,\r
+    0xfc4fe5d7U, 0xd7c52acbU, 0x80263544U, 0x8fb562a3U,\r
+    0x49deb15aU, 0x6725ba1bU, 0x9845ea0eU, 0xe15dfec0U,\r
+    0x02c32f75U, 0x12814cf0U, 0xa38d4697U, 0xc66bd3f9U,\r
+    0xe7038f5fU, 0x9515929cU, 0xebbf6d7aU, 0xda955259U,\r
+    0x2dd4be83U, 0xd3587421U, 0x2949e069U, 0x448ec9c8U,\r
+    0x6a75c289U, 0x78f48e79U, 0x6b99583eU, 0xdd27b971U,\r
+    0xb6bee14fU, 0x17f088adU, 0x66c920acU, 0xb47dce3aU,\r
+    0x1863df4aU, 0x82e51a31U, 0x60975133U, 0x4562537fU,\r
+    0xe0b16477U, 0x84bb6baeU, 0x1cfe81a0U, 0x94f9082bU,\r
+    0x58704868U, 0x198f45fdU, 0x8794de6cU, 0xb7527bf8U,\r
+    0x23ab73d3U, 0xe2724b02U, 0x57e31f8fU, 0x2a6655abU,\r
+    0x07b2eb28U, 0x032fb5c2U, 0x9a86c57bU, 0xa5d33708U,\r
+    0xf2302887U, 0xb223bfa5U, 0xba02036aU, 0x5ced1682U,\r
+    0x2b8acf1cU, 0x92a779b4U, 0xf0f307f2U, 0xa14e69e2U,\r
+    0xcd65daf4U, 0xd50605beU, 0x1fd13462U, 0x8ac4a6feU,\r
+    0x9d342e53U, 0xa0a2f355U, 0x32058ae1U, 0x75a4f6ebU,\r
+    0x390b83ecU, 0xaa4060efU, 0x065e719fU, 0x51bd6e10U,\r
+    0xf93e218aU, 0x3d96dd06U, 0xaedd3e05U, 0x464de6bdU,\r
+    0xb591548dU, 0x0571c45dU, 0x6f0406d4U, 0xff605015U,\r
+    0x241998fbU, 0x97d6bde9U, 0xcc894043U, 0x7767d99eU,\r
+    0xbdb0e842U, 0x8807898bU, 0x38e7195bU, 0xdb79c8eeU,\r
+    0x47a17c0aU, 0xe97c420fU, 0xc9f8841eU, 0x00000000U,\r
+    0x83098086U, 0x48322bedU, 0xac1e1170U, 0x4e6c5a72U,\r
+    0xfbfd0effU, 0x560f8538U, 0x1e3daed5U, 0x27362d39U,\r
+    0x640a0fd9U, 0x21685ca6U, 0xd19b5b54U, 0x3a24362eU,\r
+    0xb10c0a67U, 0x0f9357e7U, 0xd2b4ee96U, 0x9e1b9b91U,\r
+    0x4f80c0c5U, 0xa261dc20U, 0x695a774bU, 0x161c121aU,\r
+    0x0ae293baU, 0xe5c0a02aU, 0x433c22e0U, 0x1d121b17U,\r
+    0x0b0e090dU, 0xadf28bc7U, 0xb92db6a8U, 0xc8141ea9U,\r
+    0x8557f119U, 0x4caf7507U, 0xbbee99ddU, 0xfda37f60U,\r
+    0x9ff70126U, 0xbc5c72f5U, 0xc544663bU, 0x345bfb7eU,\r
+    0x768b4329U, 0xdccb23c6U, 0x68b6edfcU, 0x63b8e4f1U,\r
+    0xcad731dcU, 0x10426385U, 0x40139722U, 0x2084c611U,\r
+    0x7d854a24U, 0xf8d2bb3dU, 0x11aef932U, 0x6dc729a1U,\r
+    0x4b1d9e2fU, 0xf3dcb230U, 0xec0d8652U, 0xd077c1e3U,\r
+    0x6c2bb316U, 0x99a970b9U, 0xfa119448U, 0x2247e964U,\r
+    0xc4a8fc8cU, 0x1aa0f03fU, 0xd8567d2cU, 0xef223390U,\r
+    0xc787494eU, 0xc1d938d1U, 0xfe8ccaa2U, 0x3698d40bU,\r
+    0xcfa6f581U, 0x28a57adeU, 0x26dab78eU, 0xa43fadbfU,\r
+    0xe42c3a9dU, 0x0d507892U, 0x9b6a5fccU, 0x62547e46U,\r
+    0xc2f68d13U, 0xe890d8b8U, 0x5e2e39f7U, 0xf582c3afU,\r
+    0xbe9f5d80U, 0x7c69d093U, 0xa96fd52dU, 0xb3cf2512U,\r
+    0x3bc8ac99U, 0xa710187dU, 0x6ee89c63U, 0x7bdb3bbbU,\r
+    0x09cd2678U, 0xf46e5918U, 0x01ec9ab7U, 0xa8834f9aU,\r
+    0x65e6956eU, 0x7eaaffe6U, 0x0821bccfU, 0xe6ef15e8U,\r
+    0xd9bae79bU, 0xce4a6f36U, 0xd4ea9f09U, 0xd629b07cU,\r
+    0xaf31a4b2U, 0x312a3f23U, 0x30c6a594U, 0xc035a266U,\r
+    0x37744ebcU, 0xa6fc82caU, 0xb0e090d0U, 0x1533a7d8U,\r
+    0x4af10498U, 0xf741ecdaU, 0x0e7fcd50U, 0x2f1791f6U,\r
+    0x8d764dd6U, 0x4d43efb0U, 0x54ccaa4dU, 0xdfe49604U,\r
+    0xe39ed1b5U, 0x1b4c6a88U, 0xb8c12c1fU, 0x7f466551U,\r
+    0x049d5eeaU, 0x5d018c35U, 0x73fa8774U, 0x2efb0b41U,\r
+    0x5ab3671dU, 0x5292dbd2U, 0x33e91056U, 0x136dd647U,\r
+    0x8c9ad761U, 0x7a37a10cU, 0x8e59f814U, 0x89eb133cU,\r
+    0xeecea927U, 0x35b761c9U, 0xede11ce5U, 0x3c7a47b1U,\r
+    0x599cd2dfU, 0x3f55f273U, 0x791814ceU, 0xbf73c737U,\r
+    0xea53f7cdU, 0x5b5ffdaaU, 0x14df3d6fU, 0x867844dbU,\r
+    0x81caaff3U, 0x3eb968c4U, 0x2c382434U, 0x5fc2a340U,\r
+    0x72161dc3U, 0x0cbce225U, 0x8b283c49U, 0x41ff0d95U,\r
+    0x7139a801U, 0xde080cb3U, 0x9cd8b4e4U, 0x906456c1U,\r
+    0x617bcb84U, 0x70d532b6U, 0x74486c5cU, 0x42d0b857U,\r
+};\r
+static const cc_u32 SDRM_Td2[256] = {\r
+    0xa75051f4U, 0x65537e41U, 0xa4c31a17U, 0x5e963a27U,\r
+    0x6bcb3babU, 0x45f11f9dU, 0x58abacfaU, 0x03934be3U,\r
+    0xfa552030U, 0x6df6ad76U, 0x769188ccU, 0x4c25f502U,\r
+    0xd7fc4fe5U, 0xcbd7c52aU, 0x44802635U, 0xa38fb562U,\r
+    0x5a49deb1U, 0x1b6725baU, 0x0e9845eaU, 0xc0e15dfeU,\r
+    0x7502c32fU, 0xf012814cU, 0x97a38d46U, 0xf9c66bd3U,\r
+    0x5fe7038fU, 0x9c951592U, 0x7aebbf6dU, 0x59da9552U,\r
+    0x832dd4beU, 0x21d35874U, 0x692949e0U, 0xc8448ec9U,\r
+    0x896a75c2U, 0x7978f48eU, 0x3e6b9958U, 0x71dd27b9U,\r
+    0x4fb6bee1U, 0xad17f088U, 0xac66c920U, 0x3ab47dceU,\r
+    0x4a1863dfU, 0x3182e51aU, 0x33609751U, 0x7f456253U,\r
+    0x77e0b164U, 0xae84bb6bU, 0xa01cfe81U, 0x2b94f908U,\r
+    0x68587048U, 0xfd198f45U, 0x6c8794deU, 0xf8b7527bU,\r
+    0xd323ab73U, 0x02e2724bU, 0x8f57e31fU, 0xab2a6655U,\r
+    0x2807b2ebU, 0xc2032fb5U, 0x7b9a86c5U, 0x08a5d337U,\r
+    0x87f23028U, 0xa5b223bfU, 0x6aba0203U, 0x825ced16U,\r
+    0x1c2b8acfU, 0xb492a779U, 0xf2f0f307U, 0xe2a14e69U,\r
+    0xf4cd65daU, 0xbed50605U, 0x621fd134U, 0xfe8ac4a6U,\r
+    0x539d342eU, 0x55a0a2f3U, 0xe132058aU, 0xeb75a4f6U,\r
+    0xec390b83U, 0xefaa4060U, 0x9f065e71U, 0x1051bd6eU,\r
+    0x8af93e21U, 0x063d96ddU, 0x05aedd3eU, 0xbd464de6U,\r
+    0x8db59154U, 0x5d0571c4U, 0xd46f0406U, 0x15ff6050U,\r
+    0xfb241998U, 0xe997d6bdU, 0x43cc8940U, 0x9e7767d9U,\r
+    0x42bdb0e8U, 0x8b880789U, 0x5b38e719U, 0xeedb79c8U,\r
+    0x0a47a17cU, 0x0fe97c42U, 0x1ec9f884U, 0x00000000U,\r
+    0x86830980U, 0xed48322bU, 0x70ac1e11U, 0x724e6c5aU,\r
+    0xfffbfd0eU, 0x38560f85U, 0xd51e3daeU, 0x3927362dU,\r
+    0xd9640a0fU, 0xa621685cU, 0x54d19b5bU, 0x2e3a2436U,\r
+    0x67b10c0aU, 0xe70f9357U, 0x96d2b4eeU, 0x919e1b9bU,\r
+    0xc54f80c0U, 0x20a261dcU, 0x4b695a77U, 0x1a161c12U,\r
+    0xba0ae293U, 0x2ae5c0a0U, 0xe0433c22U, 0x171d121bU,\r
+    0x0d0b0e09U, 0xc7adf28bU, 0xa8b92db6U, 0xa9c8141eU,\r
+    0x198557f1U, 0x074caf75U, 0xddbbee99U, 0x60fda37fU,\r
+    0x269ff701U, 0xf5bc5c72U, 0x3bc54466U, 0x7e345bfbU,\r
+    0x29768b43U, 0xc6dccb23U, 0xfc68b6edU, 0xf163b8e4U,\r
+    0xdccad731U, 0x85104263U, 0x22401397U, 0x112084c6U,\r
+    0x247d854aU, 0x3df8d2bbU, 0x3211aef9U, 0xa16dc729U,\r
+    0x2f4b1d9eU, 0x30f3dcb2U, 0x52ec0d86U, 0xe3d077c1U,\r
+    0x166c2bb3U, 0xb999a970U, 0x48fa1194U, 0x642247e9U,\r
+    0x8cc4a8fcU, 0x3f1aa0f0U, 0x2cd8567dU, 0x90ef2233U,\r
+    0x4ec78749U, 0xd1c1d938U, 0xa2fe8ccaU, 0x0b3698d4U,\r
+    0x81cfa6f5U, 0xde28a57aU, 0x8e26dab7U, 0xbfa43fadU,\r
+    0x9de42c3aU, 0x920d5078U, 0xcc9b6a5fU, 0x4662547eU,\r
+    0x13c2f68dU, 0xb8e890d8U, 0xf75e2e39U, 0xaff582c3U,\r
+    0x80be9f5dU, 0x937c69d0U, 0x2da96fd5U, 0x12b3cf25U,\r
+    0x993bc8acU, 0x7da71018U, 0x636ee89cU, 0xbb7bdb3bU,\r
+    0x7809cd26U, 0x18f46e59U, 0xb701ec9aU, 0x9aa8834fU,\r
+    0x6e65e695U, 0xe67eaaffU, 0xcf0821bcU, 0xe8e6ef15U,\r
+    0x9bd9bae7U, 0x36ce4a6fU, 0x09d4ea9fU, 0x7cd629b0U,\r
+    0xb2af31a4U, 0x23312a3fU, 0x9430c6a5U, 0x66c035a2U,\r
+    0xbc37744eU, 0xcaa6fc82U, 0xd0b0e090U, 0xd81533a7U,\r
+    0x984af104U, 0xdaf741ecU, 0x500e7fcdU, 0xf62f1791U,\r
+    0xd68d764dU, 0xb04d43efU, 0x4d54ccaaU, 0x04dfe496U,\r
+    0xb5e39ed1U, 0x881b4c6aU, 0x1fb8c12cU, 0x517f4665U,\r
+    0xea049d5eU, 0x355d018cU, 0x7473fa87U, 0x412efb0bU,\r
+    0x1d5ab367U, 0xd25292dbU, 0x5633e910U, 0x47136dd6U,\r
+    0x618c9ad7U, 0x0c7a37a1U, 0x148e59f8U, 0x3c89eb13U,\r
+    0x27eecea9U, 0xc935b761U, 0xe5ede11cU, 0xb13c7a47U,\r
+    0xdf599cd2U, 0x733f55f2U, 0xce791814U, 0x37bf73c7U,\r
+    0xcdea53f7U, 0xaa5b5ffdU, 0x6f14df3dU, 0xdb867844U,\r
+    0xf381caafU, 0xc43eb968U, 0x342c3824U, 0x405fc2a3U,\r
+    0xc372161dU, 0x250cbce2U, 0x498b283cU, 0x9541ff0dU,\r
+    0x017139a8U, 0xb3de080cU, 0xe49cd8b4U, 0xc1906456U,\r
+    0x84617bcbU, 0xb670d532U, 0x5c74486cU, 0x5742d0b8U,\r
+};\r
+static const cc_u32 SDRM_Td3[256] = {\r
+    0xf4a75051U, 0x4165537eU, 0x17a4c31aU, 0x275e963aU,\r
+    0xab6bcb3bU, 0x9d45f11fU, 0xfa58abacU, 0xe303934bU,\r
+    0x30fa5520U, 0x766df6adU, 0xcc769188U, 0x024c25f5U,\r
+    0xe5d7fc4fU, 0x2acbd7c5U, 0x35448026U, 0x62a38fb5U,\r
+    0xb15a49deU, 0xba1b6725U, 0xea0e9845U, 0xfec0e15dU,\r
+    0x2f7502c3U, 0x4cf01281U, 0x4697a38dU, 0xd3f9c66bU,\r
+    0x8f5fe703U, 0x929c9515U, 0x6d7aebbfU, 0x5259da95U,\r
+    0xbe832dd4U, 0x7421d358U, 0xe0692949U, 0xc9c8448eU,\r
+    0xc2896a75U, 0x8e7978f4U, 0x583e6b99U, 0xb971dd27U,\r
+    0xe14fb6beU, 0x88ad17f0U, 0x20ac66c9U, 0xce3ab47dU,\r
+    0xdf4a1863U, 0x1a3182e5U, 0x51336097U, 0x537f4562U,\r
+    0x6477e0b1U, 0x6bae84bbU, 0x81a01cfeU, 0x082b94f9U,\r
+    0x48685870U, 0x45fd198fU, 0xde6c8794U, 0x7bf8b752U,\r
+    0x73d323abU, 0x4b02e272U, 0x1f8f57e3U, 0x55ab2a66U,\r
+    0xeb2807b2U, 0xb5c2032fU, 0xc57b9a86U, 0x3708a5d3U,\r
+    0x2887f230U, 0xbfa5b223U, 0x036aba02U, 0x16825cedU,\r
+    0xcf1c2b8aU, 0x79b492a7U, 0x07f2f0f3U, 0x69e2a14eU,\r
+    0xdaf4cd65U, 0x05bed506U, 0x34621fd1U, 0xa6fe8ac4U,\r
+    0x2e539d34U, 0xf355a0a2U, 0x8ae13205U, 0xf6eb75a4U,\r
+    0x83ec390bU, 0x60efaa40U, 0x719f065eU, 0x6e1051bdU,\r
+    0x218af93eU, 0xdd063d96U, 0x3e05aeddU, 0xe6bd464dU,\r
+    0x548db591U, 0xc45d0571U, 0x06d46f04U, 0x5015ff60U,\r
+    0x98fb2419U, 0xbde997d6U, 0x4043cc89U, 0xd99e7767U,\r
+    0xe842bdb0U, 0x898b8807U, 0x195b38e7U, 0xc8eedb79U,\r
+    0x7c0a47a1U, 0x420fe97cU, 0x841ec9f8U, 0x00000000U,\r
+    0x80868309U, 0x2bed4832U, 0x1170ac1eU, 0x5a724e6cU,\r
+    0x0efffbfdU, 0x8538560fU, 0xaed51e3dU, 0x2d392736U,\r
+    0x0fd9640aU, 0x5ca62168U, 0x5b54d19bU, 0x362e3a24U,\r
+    0x0a67b10cU, 0x57e70f93U, 0xee96d2b4U, 0x9b919e1bU,\r
+    0xc0c54f80U, 0xdc20a261U, 0x774b695aU, 0x121a161cU,\r
+    0x93ba0ae2U, 0xa02ae5c0U, 0x22e0433cU, 0x1b171d12U,\r
+    0x090d0b0eU, 0x8bc7adf2U, 0xb6a8b92dU, 0x1ea9c814U,\r
+    0xf1198557U, 0x75074cafU, 0x99ddbbeeU, 0x7f60fda3U,\r
+    0x01269ff7U, 0x72f5bc5cU, 0x663bc544U, 0xfb7e345bU,\r
+    0x4329768bU, 0x23c6dccbU, 0xedfc68b6U, 0xe4f163b8U,\r
+    0x31dccad7U, 0x63851042U, 0x97224013U, 0xc6112084U,\r
+    0x4a247d85U, 0xbb3df8d2U, 0xf93211aeU, 0x29a16dc7U,\r
+    0x9e2f4b1dU, 0xb230f3dcU, 0x8652ec0dU, 0xc1e3d077U,\r
+    0xb3166c2bU, 0x70b999a9U, 0x9448fa11U, 0xe9642247U,\r
+    0xfc8cc4a8U, 0xf03f1aa0U, 0x7d2cd856U, 0x3390ef22U,\r
+    0x494ec787U, 0x38d1c1d9U, 0xcaa2fe8cU, 0xd40b3698U,\r
+    0xf581cfa6U, 0x7ade28a5U, 0xb78e26daU, 0xadbfa43fU,\r
+    0x3a9de42cU, 0x78920d50U, 0x5fcc9b6aU, 0x7e466254U,\r
+    0x8d13c2f6U, 0xd8b8e890U, 0x39f75e2eU, 0xc3aff582U,\r
+    0x5d80be9fU, 0xd0937c69U, 0xd52da96fU, 0x2512b3cfU,\r
+    0xac993bc8U, 0x187da710U, 0x9c636ee8U, 0x3bbb7bdbU,\r
+    0x267809cdU, 0x5918f46eU, 0x9ab701ecU, 0x4f9aa883U,\r
+    0x956e65e6U, 0xffe67eaaU, 0xbccf0821U, 0x15e8e6efU,\r
+    0xe79bd9baU, 0x6f36ce4aU, 0x9f09d4eaU, 0xb07cd629U,\r
+    0xa4b2af31U, 0x3f23312aU, 0xa59430c6U, 0xa266c035U,\r
+    0x4ebc3774U, 0x82caa6fcU, 0x90d0b0e0U, 0xa7d81533U,\r
+    0x04984af1U, 0xecdaf741U, 0xcd500e7fU, 0x91f62f17U,\r
+    0x4dd68d76U, 0xefb04d43U, 0xaa4d54ccU, 0x9604dfe4U,\r
+    0xd1b5e39eU, 0x6a881b4cU, 0x2c1fb8c1U, 0x65517f46U,\r
+    0x5eea049dU, 0x8c355d01U, 0x877473faU, 0x0b412efbU,\r
+    0x671d5ab3U, 0xdbd25292U, 0x105633e9U, 0xd647136dU,\r
+    0xd7618c9aU, 0xa10c7a37U, 0xf8148e59U, 0x133c89ebU,\r
+    0xa927eeceU, 0x61c935b7U, 0x1ce5ede1U, 0x47b13c7aU,\r
+    0xd2df599cU, 0xf2733f55U, 0x14ce7918U, 0xc737bf73U,\r
+    0xf7cdea53U, 0xfdaa5b5fU, 0x3d6f14dfU, 0x44db8678U,\r
+    0xaff381caU, 0x68c43eb9U, 0x24342c38U, 0xa3405fc2U,\r
+    0x1dc37216U, 0xe2250cbcU, 0x3c498b28U, 0x0d9541ffU,\r
+    0xa8017139U, 0x0cb3de08U, 0xb4e49cd8U, 0x56c19064U,\r
+    0xcb84617bU, 0x32b670d5U, 0x6c5c7448U, 0xb85742d0U,\r
+};\r
+static const cc_u32 SDRM_Td4[256] = {\r
+    0x52525252U, 0x09090909U, 0x6a6a6a6aU, 0xd5d5d5d5U,\r
+    0x30303030U, 0x36363636U, 0xa5a5a5a5U, 0x38383838U,\r
+    0xbfbfbfbfU, 0x40404040U, 0xa3a3a3a3U, 0x9e9e9e9eU,\r
+    0x81818181U, 0xf3f3f3f3U, 0xd7d7d7d7U, 0xfbfbfbfbU,\r
+    0x7c7c7c7cU, 0xe3e3e3e3U, 0x39393939U, 0x82828282U,\r
+    0x9b9b9b9bU, 0x2f2f2f2fU, 0xffffffffU, 0x87878787U,\r
+    0x34343434U, 0x8e8e8e8eU, 0x43434343U, 0x44444444U,\r
+    0xc4c4c4c4U, 0xdedededeU, 0xe9e9e9e9U, 0xcbcbcbcbU,\r
+    0x54545454U, 0x7b7b7b7bU, 0x94949494U, 0x32323232U,\r
+    0xa6a6a6a6U, 0xc2c2c2c2U, 0x23232323U, 0x3d3d3d3dU,\r
+    0xeeeeeeeeU, 0x4c4c4c4cU, 0x95959595U, 0x0b0b0b0bU,\r
+    0x42424242U, 0xfafafafaU, 0xc3c3c3c3U, 0x4e4e4e4eU,\r
+    0x08080808U, 0x2e2e2e2eU, 0xa1a1a1a1U, 0x66666666U,\r
+    0x28282828U, 0xd9d9d9d9U, 0x24242424U, 0xb2b2b2b2U,\r
+    0x76767676U, 0x5b5b5b5bU, 0xa2a2a2a2U, 0x49494949U,\r
+    0x6d6d6d6dU, 0x8b8b8b8bU, 0xd1d1d1d1U, 0x25252525U,\r
+    0x72727272U, 0xf8f8f8f8U, 0xf6f6f6f6U, 0x64646464U,\r
+    0x86868686U, 0x68686868U, 0x98989898U, 0x16161616U,\r
+    0xd4d4d4d4U, 0xa4a4a4a4U, 0x5c5c5c5cU, 0xccccccccU,\r
+    0x5d5d5d5dU, 0x65656565U, 0xb6b6b6b6U, 0x92929292U,\r
+    0x6c6c6c6cU, 0x70707070U, 0x48484848U, 0x50505050U,\r
+    0xfdfdfdfdU, 0xededededU, 0xb9b9b9b9U, 0xdadadadaU,\r
+    0x5e5e5e5eU, 0x15151515U, 0x46464646U, 0x57575757U,\r
+    0xa7a7a7a7U, 0x8d8d8d8dU, 0x9d9d9d9dU, 0x84848484U,\r
+    0x90909090U, 0xd8d8d8d8U, 0xababababU, 0x00000000U,\r
+    0x8c8c8c8cU, 0xbcbcbcbcU, 0xd3d3d3d3U, 0x0a0a0a0aU,\r
+    0xf7f7f7f7U, 0xe4e4e4e4U, 0x58585858U, 0x05050505U,\r
+    0xb8b8b8b8U, 0xb3b3b3b3U, 0x45454545U, 0x06060606U,\r
+    0xd0d0d0d0U, 0x2c2c2c2cU, 0x1e1e1e1eU, 0x8f8f8f8fU,\r
+    0xcacacacaU, 0x3f3f3f3fU, 0x0f0f0f0fU, 0x02020202U,\r
+    0xc1c1c1c1U, 0xafafafafU, 0xbdbdbdbdU, 0x03030303U,\r
+    0x01010101U, 0x13131313U, 0x8a8a8a8aU, 0x6b6b6b6bU,\r
+    0x3a3a3a3aU, 0x91919191U, 0x11111111U, 0x41414141U,\r
+    0x4f4f4f4fU, 0x67676767U, 0xdcdcdcdcU, 0xeaeaeaeaU,\r
+    0x97979797U, 0xf2f2f2f2U, 0xcfcfcfcfU, 0xcecececeU,\r
+    0xf0f0f0f0U, 0xb4b4b4b4U, 0xe6e6e6e6U, 0x73737373U,\r
+    0x96969696U, 0xacacacacU, 0x74747474U, 0x22222222U,\r
+    0xe7e7e7e7U, 0xadadadadU, 0x35353535U, 0x85858585U,\r
+    0xe2e2e2e2U, 0xf9f9f9f9U, 0x37373737U, 0xe8e8e8e8U,\r
+    0x1c1c1c1cU, 0x75757575U, 0xdfdfdfdfU, 0x6e6e6e6eU,\r
+    0x47474747U, 0xf1f1f1f1U, 0x1a1a1a1aU, 0x71717171U,\r
+    0x1d1d1d1dU, 0x29292929U, 0xc5c5c5c5U, 0x89898989U,\r
+    0x6f6f6f6fU, 0xb7b7b7b7U, 0x62626262U, 0x0e0e0e0eU,\r
+    0xaaaaaaaaU, 0x18181818U, 0xbebebebeU, 0x1b1b1b1bU,\r
+    0xfcfcfcfcU, 0x56565656U, 0x3e3e3e3eU, 0x4b4b4b4bU,\r
+    0xc6c6c6c6U, 0xd2d2d2d2U, 0x79797979U, 0x20202020U,\r
+    0x9a9a9a9aU, 0xdbdbdbdbU, 0xc0c0c0c0U, 0xfefefefeU,\r
+    0x78787878U, 0xcdcdcdcdU, 0x5a5a5a5aU, 0xf4f4f4f4U,\r
+    0x1f1f1f1fU, 0xddddddddU, 0xa8a8a8a8U, 0x33333333U,\r
+    0x88888888U, 0x07070707U, 0xc7c7c7c7U, 0x31313131U,\r
+    0xb1b1b1b1U, 0x12121212U, 0x10101010U, 0x59595959U,\r
+    0x27272727U, 0x80808080U, 0xececececU, 0x5f5f5f5fU,\r
+    0x60606060U, 0x51515151U, 0x7f7f7f7fU, 0xa9a9a9a9U,\r
+    0x19191919U, 0xb5b5b5b5U, 0x4a4a4a4aU, 0x0d0d0d0dU,\r
+    0x2d2d2d2dU, 0xe5e5e5e5U, 0x7a7a7a7aU, 0x9f9f9f9fU,\r
+    0x93939393U, 0xc9c9c9c9U, 0x9c9c9c9cU, 0xefefefefU,\r
+    0xa0a0a0a0U, 0xe0e0e0e0U, 0x3b3b3b3bU, 0x4d4d4d4dU,\r
+    0xaeaeaeaeU, 0x2a2a2a2aU, 0xf5f5f5f5U, 0xb0b0b0b0U,\r
+    0xc8c8c8c8U, 0xebebebebU, 0xbbbbbbbbU, 0x3c3c3c3cU,\r
+    0x83838383U, 0x53535353U, 0x99999999U, 0x61616161U,\r
+    0x17171717U, 0x2b2b2b2bU, 0x04040404U, 0x7e7e7e7eU,\r
+    0xbabababaU, 0x77777777U, 0xd6d6d6d6U, 0x26262626U,\r
+    0xe1e1e1e1U, 0x69696969U, 0x14141414U, 0x63636363U,\r
+    0x55555555U, 0x21212121U, 0x0c0c0c0cU, 0x7d7d7d7dU,\r
+};\r
+static const cc_u32 SDRM_rcon[] = {\r
+       0x01000000, 0x02000000, 0x04000000, 0x08000000,\r
+       0x10000000, 0x20000000, 0x40000000, 0x80000000,\r
+       0x1B000000, 0x36000000, \r
+       /* for 128-bit blocks, Rijndael never uses more than 10 _rcon values */\r
+};\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Macros for AES\r
+////////////////////////////////////////////////////////////////////////////\r
+#define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00)\r
+\r
+#ifdef _MSC_VER\r
+       #define GETUINT32(p) SWAP(*((cc_u32 *)(p)))\r
+       #define PUTUINT32(ct, st) { *((cc_u32 *)(ct)) = SWAP((st)); }\r
+#else\r
+       #define GETUINT32(pt) (((cc_u32)(pt)[0] << 24) ^ ((cc_u32)(pt)[1] << 16) ^ ((cc_u32)(pt)[2] <<  8) ^ ((cc_u32)(pt)[3]))\r
+       #define PUTUINT32(ct, st) { (ct)[0] = (cc_u8)((st) >> 24); (ct)[1] = (cc_u8)((st) >> 16); (ct)[2] = (cc_u8)((st) >>  8); (ct)[3] = (cc_u8)(st); }\r
+#endif\r
+\r
+/*\r
+ * @fn         SDRM_rijndaelKeySetupEnc\r
+ * @brief      Expand the cipher key into the encryption key schedule\r
+ *\r
+ * @param      rk                                      [out]expanded round key\r
+ * @param      cipherKey                       [in]user key\r
+ * @param      keyBits                         [in]bit-length of cipherKey\r
+ *\r
+ * @return     the number of rounds for the given cipher key size\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_rijndaelKeySetupEnc(cc_u32 rk[/*4*(Nr + 1)*/], const cc_u8 cipherKey[], int keyBits)\r
+{\r
+       int             i = 0;\r
+       cc_u32  temp;\r
+\r
+       rk[0] = GETUINT32(cipherKey     );\r
+       rk[1] = GETUINT32(cipherKey +  4);\r
+       rk[2] = GETUINT32(cipherKey +  8);\r
+       rk[3] = GETUINT32(cipherKey + 12);\r
+       if (keyBits == 128)\r
+       {\r
+               for (;;)\r
+               {\r
+                       temp  = rk[3];\r
+                       rk[4] = rk[0] ^\r
+                               (SDRM_Te4[(temp >> 16) & 0xff] & 0xff000000) ^\r
+                               (SDRM_Te4[(temp >>  8) & 0xff] & 0x00ff0000) ^\r
+                               (SDRM_Te4[(temp      ) & 0xff] & 0x0000ff00) ^\r
+                               (SDRM_Te4[(temp >> 24)       ] & 0x000000ff) ^\r
+                               SDRM_rcon[i];\r
+                       rk[5] = rk[1] ^ rk[4];\r
+                       rk[6] = rk[2] ^ rk[5];\r
+                       rk[7] = rk[3] ^ rk[6];\r
+                       if (++i == 10)\r
+                       {\r
+                               return 10;\r
+                       }\r
+                       rk += 4;\r
+               }\r
+       }\r
+\r
+       rk[4] = GETUINT32(cipherKey + 16);\r
+       rk[5] = GETUINT32(cipherKey + 20);\r
+       if (keyBits == 192)\r
+       {\r
+               for (;;) {\r
+                       temp = rk[ 5];\r
+                       rk[ 6] = rk[ 0] ^\r
+                               (SDRM_Te4[(temp >> 16) & 0xff] & 0xff000000) ^\r
+                               (SDRM_Te4[(temp >>  8) & 0xff] & 0x00ff0000) ^\r
+                               (SDRM_Te4[(temp      ) & 0xff] & 0x0000ff00) ^\r
+                               (SDRM_Te4[(temp >> 24)       ] & 0x000000ff) ^\r
+                               SDRM_rcon[i];\r
+                       rk[ 7] = rk[ 1] ^ rk[ 6];\r
+                       rk[ 8] = rk[ 2] ^ rk[ 7];\r
+                       rk[ 9] = rk[ 3] ^ rk[ 8];\r
+                       if (++i == 8)\r
+                       {\r
+                               return 12;\r
+                       }\r
+                       rk[10] = rk[ 4] ^ rk[ 9];\r
+                       rk[11] = rk[ 5] ^ rk[10];\r
+                       rk += 6;\r
+               }\r
+       }\r
+       rk[6] = GETUINT32(cipherKey + 24);\r
+       rk[7] = GETUINT32(cipherKey + 28);\r
+       if (keyBits == 256)\r
+       {\r
+        for (;;)\r
+               {\r
+               temp = rk[ 7];\r
+               rk[ 8] = rk[ 0] ^\r
+                       (SDRM_Te4[(temp >> 16) & 0xff] & 0xff000000) ^\r
+                       (SDRM_Te4[(temp >>  8) & 0xff] & 0x00ff0000) ^\r
+                       (SDRM_Te4[(temp      ) & 0xff] & 0x0000ff00) ^\r
+                       (SDRM_Te4[(temp >> 24)       ] & 0x000000ff) ^\r
+                       SDRM_rcon[i];\r
+               rk[ 9] = rk[ 1] ^ rk[ 8];\r
+               rk[10] = rk[ 2] ^ rk[ 9];\r
+               rk[11] = rk[ 3] ^ rk[10];\r
+                       if (++i == 7) {\r
+                               return 14;\r
+                       }\r
+               temp = rk[11];\r
+               rk[12] = rk[ 4] ^\r
+                       (SDRM_Te4[(temp >> 24)       ] & 0xff000000) ^\r
+                       (SDRM_Te4[(temp >> 16) & 0xff] & 0x00ff0000) ^\r
+                       (SDRM_Te4[(temp >>  8) & 0xff] & 0x0000ff00) ^\r
+                       (SDRM_Te4[(temp      ) & 0xff] & 0x000000ff);\r
+               rk[13] = rk[ 5] ^ rk[12];\r
+               rk[14] = rk[ 6] ^ rk[13];\r
+               rk[15] = rk[ 7] ^ rk[14];\r
+\r
+                       rk += 8;\r
+        }\r
+       }\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_rijndaelKeySetupDec\r
+ * @brief      Expand the cipher key into the decryption key schedule\r
+ *\r
+ * @param      rk                                      [out]expanded round key\r
+ * @param      cipherKey                       [in]user key\r
+ * @param      keyBits                         [in]bit-length of cipherKey\r
+ *\r
+ * @return     the number of rounds for the given cipher key size\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_rijndaelKeySetupDec(cc_u32 rk[/*4*(Nr + 1)*/], const cc_u8 cipherKey[], int keyBits)\r
+{\r
+       int             Nr, i, j;\r
+       cc_u32  temp;\r
+\r
+       /* expand the cipher key: */\r
+       Nr = SDRM_rijndaelKeySetupEnc(rk, cipherKey, keyBits);\r
+       /* invert the order of the round keys: */\r
+       for (i = 0, j = 4*Nr; i < j; i += 4, j -= 4)\r
+       {\r
+               temp = rk[i    ]; rk[i    ] = rk[j    ]; rk[j    ] = temp;\r
+               temp = rk[i + 1]; rk[i + 1] = rk[j + 1]; rk[j + 1] = temp;\r
+               temp = rk[i + 2]; rk[i + 2] = rk[j + 2]; rk[j + 2] = temp;\r
+               temp = rk[i + 3]; rk[i + 3] = rk[j + 3]; rk[j + 3] = temp;\r
+       }\r
+\r
+       /* apply the inverse MixColumn transform to all round keys but the first and the last: */\r
+       for (i = 1; i < Nr; i++)\r
+       {\r
+               rk += 4;\r
+               rk[0] =\r
+                       SDRM_Td0[SDRM_Te4[(rk[0] >> 24)       ] & 0xff] ^\r
+                       SDRM_Td1[SDRM_Te4[(rk[0] >> 16) & 0xff] & 0xff] ^\r
+                       SDRM_Td2[SDRM_Te4[(rk[0] >>  8) & 0xff] & 0xff] ^\r
+                       SDRM_Td3[SDRM_Te4[(rk[0]      ) & 0xff] & 0xff];\r
+               rk[1] =\r
+                       SDRM_Td0[SDRM_Te4[(rk[1] >> 24)       ] & 0xff] ^\r
+                       SDRM_Td1[SDRM_Te4[(rk[1] >> 16) & 0xff] & 0xff] ^\r
+                       SDRM_Td2[SDRM_Te4[(rk[1] >>  8) & 0xff] & 0xff] ^\r
+                       SDRM_Td3[SDRM_Te4[(rk[1]      ) & 0xff] & 0xff];\r
+               rk[2] =\r
+                       SDRM_Td0[SDRM_Te4[(rk[2] >> 24)       ] & 0xff] ^\r
+                       SDRM_Td1[SDRM_Te4[(rk[2] >> 16) & 0xff] & 0xff] ^\r
+                       SDRM_Td2[SDRM_Te4[(rk[2] >>  8) & 0xff] & 0xff] ^\r
+                       SDRM_Td3[SDRM_Te4[(rk[2]      ) & 0xff] & 0xff];\r
+               rk[3] =\r
+                       SDRM_Td0[SDRM_Te4[(rk[3] >> 24)       ] & 0xff] ^\r
+                       SDRM_Td1[SDRM_Te4[(rk[3] >> 16) & 0xff] & 0xff] ^\r
+                       SDRM_Td2[SDRM_Te4[(rk[3] >>  8) & 0xff] & 0xff] ^\r
+                       SDRM_Td3[SDRM_Te4[(rk[3]      ) & 0xff] & 0xff];\r
+       }\r
+       return Nr;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_rijndaelEncrypt\r
+ * @brief      16 byte AES Encryption with round key\r
+ *\r
+ * @param      rk                                      [in]expanded round key\r
+ * @param      Nr                                      [in]numer of rounds\r
+ * @param      pt                                      [in]plain text\r
+ * @param      ct                                      [out]cipher text\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_rijndaelEncrypt(const cc_u32 rk[/*4*(Nr + 1)*/], int Nr, const cc_u8 pt[16], cc_u8 ct[16])\r
+{\r
+       cc_u32 s0, s1, s2, s3, t0, t1, t2, t3;\r
+#ifndef FULL_UNROLL\r
+    int r;\r
+#endif /* ?FULL_UNROLL */\r
+\r
+    /*\r
+        * map byte array block to cipher state\r
+        * and add initial round key:\r
+        */\r
+       s0 = GETUINT32(pt     ) ^ rk[0];\r
+       s1 = GETUINT32(pt +  4) ^ rk[1];\r
+       s2 = GETUINT32(pt +  8) ^ rk[2];\r
+       s3 = GETUINT32(pt + 12) ^ rk[3];\r
+#ifdef FULL_UNROLL\r
+    /* round 1: */\r
+       t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >>  8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[ 4];\r
+       t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >>  8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[ 5];\r
+       t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >>  8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[ 6];\r
+       t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >>  8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[ 7];\r
+       /* round 2: */\r
+       s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >>  8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[ 8];\r
+       s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >>  8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[ 9];\r
+       s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >>  8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[10];\r
+       s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >>  8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[11];\r
+    /* round 3: */\r
+       t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >>  8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[12];\r
+       t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >>  8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[13];\r
+       t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >>  8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[14];\r
+       t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >>  8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[15];\r
+       /* round 4: */\r
+       s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >>  8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[16];\r
+       s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >>  8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[17];\r
+       s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >>  8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[18];\r
+       s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >>  8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[19];\r
+    /* round 5: */\r
+       t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >>  8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[20];\r
+       t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >>  8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[21];\r
+       t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >>  8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[22];\r
+       t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >>  8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[23];\r
+       /* round 6: */\r
+       s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >>  8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[24];\r
+       s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >>  8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[25];\r
+       s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >>  8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[26];\r
+       s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >>  8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[27];\r
+    /* round 7: */\r
+       t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >>  8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[28];\r
+       t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >>  8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[29];\r
+       t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >>  8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[30];\r
+       t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >>  8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[31];\r
+       /* round 8: */\r
+       s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >>  8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[32];\r
+       s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >>  8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[33];\r
+       s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >>  8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[34];\r
+       s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >>  8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[35];\r
+    /* round 9: */\r
+       t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >>  8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[36];\r
+       t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >>  8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[37];\r
+       t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >>  8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[38];\r
+       t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >>  8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[39];\r
+    if (Nr > 10)\r
+       {\r
+        /* round 10: */\r
+        s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >>  8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[40];\r
+        s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >>  8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[41];\r
+        s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >>  8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[42];\r
+        s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >>  8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[43];\r
+        /* round 11: */\r
+        t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >>  8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[44];\r
+        t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >>  8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[45];\r
+        t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >>  8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[46];\r
+        t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >>  8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[47];\r
+        if (Nr > 12) {\r
+            /* round 12: */\r
+            s0 = SDRM_Te0[t0 >> 24] ^ SDRM_Te1[(t1 >> 16) & 0xff] ^ SDRM_Te2[(t2 >>  8) & 0xff] ^ SDRM_Te3[t3 & 0xff] ^ rk[48];\r
+            s1 = SDRM_Te0[t1 >> 24] ^ SDRM_Te1[(t2 >> 16) & 0xff] ^ SDRM_Te2[(t3 >>  8) & 0xff] ^ SDRM_Te3[t0 & 0xff] ^ rk[49];\r
+            s2 = SDRM_Te0[t2 >> 24] ^ SDRM_Te1[(t3 >> 16) & 0xff] ^ SDRM_Te2[(t0 >>  8) & 0xff] ^ SDRM_Te3[t1 & 0xff] ^ rk[50];\r
+            s3 = SDRM_Te0[t3 >> 24] ^ SDRM_Te1[(t0 >> 16) & 0xff] ^ SDRM_Te2[(t1 >>  8) & 0xff] ^ SDRM_Te3[t2 & 0xff] ^ rk[51];\r
+            /* round 13: */\r
+            t0 = SDRM_Te0[s0 >> 24] ^ SDRM_Te1[(s1 >> 16) & 0xff] ^ SDRM_Te2[(s2 >>  8) & 0xff] ^ SDRM_Te3[s3 & 0xff] ^ rk[52];\r
+            t1 = SDRM_Te0[s1 >> 24] ^ SDRM_Te1[(s2 >> 16) & 0xff] ^ SDRM_Te2[(s3 >>  8) & 0xff] ^ SDRM_Te3[s0 & 0xff] ^ rk[53];\r
+            t2 = SDRM_Te0[s2 >> 24] ^ SDRM_Te1[(s3 >> 16) & 0xff] ^ SDRM_Te2[(s0 >>  8) & 0xff] ^ SDRM_Te3[s1 & 0xff] ^ rk[54];\r
+            t3 = SDRM_Te0[s3 >> 24] ^ SDRM_Te1[(s0 >> 16) & 0xff] ^ SDRM_Te2[(s1 >>  8) & 0xff] ^ SDRM_Te3[s2 & 0xff] ^ rk[55];\r
+        }\r
+    }\r
+    rk += Nr << 2;\r
+#else  /* !FULL_UNROLL */\r
+    /*\r
+        * Nr - 1 full rounds:\r
+        */\r
+    r = Nr >> 1;\r
+    for (;;)\r
+       {\r
+        t0 =\r
+            SDRM_Te0[(s0 >> 24)       ] ^\r
+            SDRM_Te1[(s1 >> 16) & 0xff] ^\r
+            SDRM_Te2[(s2 >>  8) & 0xff] ^\r
+            SDRM_Te3[(s3      ) & 0xff] ^\r
+            rk[4];\r
+        t1 =\r
+            SDRM_Te0[(s1 >> 24)       ] ^\r
+            SDRM_Te1[(s2 >> 16) & 0xff] ^\r
+            SDRM_Te2[(s3 >>  8) & 0xff] ^\r
+            SDRM_Te3[(s0      ) & 0xff] ^\r
+            rk[5];\r
+        t2 =\r
+            SDRM_Te0[(s2 >> 24)       ] ^\r
+            SDRM_Te1[(s3 >> 16) & 0xff] ^\r
+            SDRM_Te2[(s0 >>  8) & 0xff] ^\r
+            SDRM_Te3[(s1      ) & 0xff] ^\r
+            rk[6];\r
+        t3 =\r
+            SDRM_Te0[(s3 >> 24)       ] ^\r
+            SDRM_Te1[(s0 >> 16) & 0xff] ^\r
+            SDRM_Te2[(s1 >>  8) & 0xff] ^\r
+            SDRM_Te3[(s2      ) & 0xff] ^\r
+            rk[7];\r
+\r
+        rk += 8;\r
+        if (--r == 0)\r
+               {\r
+            break;\r
+        }\r
+\r
+        s0 =\r
+            SDRM_Te0[(t0 >> 24)       ] ^\r
+            SDRM_Te1[(t1 >> 16) & 0xff] ^\r
+            SDRM_Te2[(t2 >>  8) & 0xff] ^\r
+            SDRM_Te3[(t3      ) & 0xff] ^\r
+            rk[0];\r
+        s1 =\r
+            SDRM_Te0[(t1 >> 24)       ] ^\r
+            SDRM_Te1[(t2 >> 16) & 0xff] ^\r
+            SDRM_Te2[(t3 >>  8) & 0xff] ^\r
+            SDRM_Te3[(t0      ) & 0xff] ^\r
+            rk[1];\r
+        s2 =\r
+            SDRM_Te0[(t2 >> 24)       ] ^\r
+            SDRM_Te1[(t3 >> 16) & 0xff] ^\r
+            SDRM_Te2[(t0 >>  8) & 0xff] ^\r
+            SDRM_Te3[(t1      ) & 0xff] ^\r
+            rk[2];\r
+        s3 =\r
+            SDRM_Te0[(t3 >> 24)       ] ^\r
+            SDRM_Te1[(t0 >> 16) & 0xff] ^\r
+            SDRM_Te2[(t1 >>  8) & 0xff] ^\r
+            SDRM_Te3[(t2      ) & 0xff] ^\r
+            rk[3];\r
+    }\r
+#endif /* ?FULL_UNROLL */\r
+    /*\r
+        * apply last round and\r
+        * map cipher state to byte array block:\r
+        */\r
+       s0 =\r
+               (SDRM_Te4[(t0 >> 24)       ] & 0xff000000) ^\r
+               (SDRM_Te4[(t1 >> 16) & 0xff] & 0x00ff0000) ^\r
+               (SDRM_Te4[(t2 >>  8) & 0xff] & 0x0000ff00) ^\r
+               (SDRM_Te4[(t3      ) & 0xff] & 0x000000ff) ^\r
+               rk[0];\r
+       PUTUINT32(ct     , s0);\r
+       s1 =\r
+               (SDRM_Te4[(t1 >> 24)       ] & 0xff000000) ^\r
+               (SDRM_Te4[(t2 >> 16) & 0xff] & 0x00ff0000) ^\r
+               (SDRM_Te4[(t3 >>  8) & 0xff] & 0x0000ff00) ^\r
+               (SDRM_Te4[(t0      ) & 0xff] & 0x000000ff) ^\r
+               rk[1];\r
+       PUTUINT32(ct +  4, s1);\r
+       s2 =\r
+               (SDRM_Te4[(t2 >> 24)       ] & 0xff000000) ^\r
+               (SDRM_Te4[(t3 >> 16) & 0xff] & 0x00ff0000) ^\r
+               (SDRM_Te4[(t0 >>  8) & 0xff] & 0x0000ff00) ^\r
+               (SDRM_Te4[(t1      ) & 0xff] & 0x000000ff) ^\r
+               rk[2];\r
+       PUTUINT32(ct +  8, s2);\r
+       s3 =\r
+               (SDRM_Te4[(t3 >> 24)       ] & 0xff000000) ^\r
+               (SDRM_Te4[(t0 >> 16) & 0xff] & 0x00ff0000) ^\r
+               (SDRM_Te4[(t1 >>  8) & 0xff] & 0x0000ff00) ^\r
+               (SDRM_Te4[(t2      ) & 0xff] & 0x000000ff) ^\r
+               rk[3];\r
+       PUTUINT32(ct + 12, s3);\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_rijndaelDecrypt\r
+ * @brief      16 byte AES Decryption with round key\r
+ *\r
+ * @param      rk                                      [in]expanded round key\r
+ * @param      Nr                                      [in]numer of rounds\r
+ * @param      ct                                      [in]cipher text\r
+ * @param      pt                                      [out]plain text\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_rijndaelDecrypt(const cc_u32 rk[/*4*(Nr + 1)*/], int Nr, const cc_u8 ct[16], cc_u8 pt[16])\r
+{\r
+       cc_u32 s0, s1, s2, s3, t0, t1, t2, t3;\r
+#ifndef FULL_UNROLL\r
+    int r;\r
+#endif /* ?FULL_UNROLL */\r
+\r
+    /*\r
+        * map byte array block to cipher state\r
+        * and add initial round key:\r
+        */\r
+    s0 = GETUINT32(ct     ) ^ rk[0];\r
+    s1 = GETUINT32(ct +  4) ^ rk[1];\r
+    s2 = GETUINT32(ct +  8) ^ rk[2];\r
+    s3 = GETUINT32(ct + 12) ^ rk[3];\r
+#ifdef FULL_UNROLL\r
+    /* round 1: */\r
+    t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >>  8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[ 4];\r
+    t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >>  8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[ 5];\r
+    t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >>  8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[ 6];\r
+    t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >>  8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[ 7];\r
+    /* round 2: */\r
+    s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >>  8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[ 8];\r
+    s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >>  8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[ 9];\r
+    s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >>  8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[10];\r
+    s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >>  8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[11];\r
+    /* round 3: */\r
+    t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >>  8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[12];\r
+    t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >>  8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[13];\r
+    t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >>  8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[14];\r
+    t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >>  8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[15];\r
+    /* round 4: */\r
+    s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >>  8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[16];\r
+    s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >>  8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[17];\r
+    s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >>  8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[18];\r
+    s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >>  8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[19];\r
+    /* round 5: */\r
+    t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >>  8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[20];\r
+    t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >>  8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[21];\r
+    t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >>  8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[22];\r
+    t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >>  8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[23];\r
+    /* round 6: */\r
+    s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >>  8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[24];\r
+    s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >>  8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[25];\r
+    s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >>  8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[26];\r
+    s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >>  8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[27];\r
+    /* round 7: */\r
+    t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >>  8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[28];\r
+    t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >>  8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[29];\r
+    t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >>  8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[30];\r
+    t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >>  8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[31];\r
+    /* round 8: */\r
+    s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >>  8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[32];\r
+    s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >>  8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[33];\r
+    s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >>  8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[34];\r
+    s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >>  8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[35];\r
+    /* round 9: */\r
+    t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >>  8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[36];\r
+    t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >>  8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[37];\r
+    t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >>  8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[38];\r
+    t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >>  8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[39];\r
+    if (Nr > 10)\r
+       {\r
+        /* round 10: */\r
+        s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >>  8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[40];\r
+        s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >>  8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[41];\r
+        s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >>  8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[42];\r
+        s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >>  8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[43];\r
+        /* round 11: */\r
+        t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >>  8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[44];\r
+        t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >>  8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[45];\r
+        t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >>  8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[46];\r
+        t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >>  8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[47];\r
+        if (Nr > 12) {\r
+            /* round 12: */\r
+            s0 = SDRM_Td0[t0 >> 24] ^ SDRM_Td1[(t3 >> 16) & 0xff] ^ SDRM_Td2[(t2 >>  8) & 0xff] ^ SDRM_Td3[t1 & 0xff] ^ rk[48];\r
+            s1 = SDRM_Td0[t1 >> 24] ^ SDRM_Td1[(t0 >> 16) & 0xff] ^ SDRM_Td2[(t3 >>  8) & 0xff] ^ SDRM_Td3[t2 & 0xff] ^ rk[49];\r
+            s2 = SDRM_Td0[t2 >> 24] ^ SDRM_Td1[(t1 >> 16) & 0xff] ^ SDRM_Td2[(t0 >>  8) & 0xff] ^ SDRM_Td3[t3 & 0xff] ^ rk[50];\r
+            s3 = SDRM_Td0[t3 >> 24] ^ SDRM_Td1[(t2 >> 16) & 0xff] ^ SDRM_Td2[(t1 >>  8) & 0xff] ^ SDRM_Td3[t0 & 0xff] ^ rk[51];\r
+            /* round 13: */\r
+            t0 = SDRM_Td0[s0 >> 24] ^ SDRM_Td1[(s3 >> 16) & 0xff] ^ SDRM_Td2[(s2 >>  8) & 0xff] ^ SDRM_Td3[s1 & 0xff] ^ rk[52];\r
+            t1 = SDRM_Td0[s1 >> 24] ^ SDRM_Td1[(s0 >> 16) & 0xff] ^ SDRM_Td2[(s3 >>  8) & 0xff] ^ SDRM_Td3[s2 & 0xff] ^ rk[53];\r
+            t2 = SDRM_Td0[s2 >> 24] ^ SDRM_Td1[(s1 >> 16) & 0xff] ^ SDRM_Td2[(s0 >>  8) & 0xff] ^ SDRM_Td3[s3 & 0xff] ^ rk[54];\r
+            t3 = SDRM_Td0[s3 >> 24] ^ SDRM_Td1[(s2 >> 16) & 0xff] ^ SDRM_Td2[(s1 >>  8) & 0xff] ^ SDRM_Td3[s0 & 0xff] ^ rk[55];\r
+        }\r
+    }\r
+       rk += Nr << 2;\r
+#else  /* !FULL_UNROLL */\r
+    /*\r
+     * Nr - 1 full rounds:\r
+     */\r
+    r = Nr >> 1;\r
+    for (;;)\r
+       {\r
+        t0 =\r
+            SDRM_Td0[(s0 >> 24)       ] ^\r
+            SDRM_Td1[(s3 >> 16) & 0xff] ^\r
+            SDRM_Td2[(s2 >>  8) & 0xff] ^\r
+            SDRM_Td3[(s1      ) & 0xff] ^\r
+            rk[4];\r
+        t1 =\r
+            SDRM_Td0[(s1 >> 24)       ] ^\r
+            SDRM_Td1[(s0 >> 16) & 0xff] ^\r
+            SDRM_Td2[(s3 >>  8) & 0xff] ^\r
+            SDRM_Td3[(s2      ) & 0xff] ^\r
+            rk[5];\r
+        t2 =\r
+            SDRM_Td0[(s2 >> 24)       ] ^\r
+            SDRM_Td1[(s1 >> 16) & 0xff] ^\r
+            SDRM_Td2[(s0 >>  8) & 0xff] ^\r
+            SDRM_Td3[(s3      ) & 0xff] ^\r
+            rk[6];\r
+        t3 =\r
+            SDRM_Td0[(s3 >> 24)       ] ^\r
+            SDRM_Td1[(s2 >> 16) & 0xff] ^\r
+            SDRM_Td2[(s1 >>  8) & 0xff] ^\r
+            SDRM_Td3[(s0      ) & 0xff] ^\r
+            rk[7];\r
+\r
+        rk += 8;\r
+        if (--r == 0)\r
+               {\r
+            break;\r
+        }\r
+\r
+        s0 =\r
+            SDRM_Td0[(t0 >> 24)       ] ^\r
+            SDRM_Td1[(t3 >> 16) & 0xff] ^\r
+            SDRM_Td2[(t2 >>  8) & 0xff] ^\r
+            SDRM_Td3[(t1      ) & 0xff] ^\r
+            rk[0];\r
+        s1 =\r
+            SDRM_Td0[(t1 >> 24)       ] ^\r
+            SDRM_Td1[(t0 >> 16) & 0xff] ^\r
+            SDRM_Td2[(t3 >>  8) & 0xff] ^\r
+            SDRM_Td3[(t2      ) & 0xff] ^\r
+            rk[1];\r
+        s2 =\r
+            SDRM_Td0[(t2 >> 24)       ] ^\r
+            SDRM_Td1[(t1 >> 16) & 0xff] ^\r
+            SDRM_Td2[(t0 >>  8) & 0xff] ^\r
+            SDRM_Td3[(t3      ) & 0xff] ^\r
+            rk[2];\r
+        s3 =\r
+            SDRM_Td0[(t3 >> 24)       ] ^\r
+            SDRM_Td1[(t2 >> 16) & 0xff] ^\r
+            SDRM_Td2[(t1 >>  8) & 0xff] ^\r
+            SDRM_Td3[(t0      ) & 0xff] ^\r
+            rk[3];\r
+    }\r
+#endif /* ?FULL_UNROLL */\r
+    /*\r
+        * apply last round and\r
+        * map cipher state to byte array block:\r
+        */\r
+       s0 =\r
+               (SDRM_Td4[(t0 >> 24)       ] & 0xff000000) ^\r
+               (SDRM_Td4[(t3 >> 16) & 0xff] & 0x00ff0000) ^\r
+               (SDRM_Td4[(t2 >>  8) & 0xff] & 0x0000ff00) ^\r
+               (SDRM_Td4[(t1      ) & 0xff] & 0x000000ff) ^\r
+               rk[0];\r
+       PUTUINT32(pt     , s0);\r
+       s1 =\r
+               (SDRM_Td4[(t1 >> 24)       ] & 0xff000000) ^\r
+               (SDRM_Td4[(t0 >> 16) & 0xff] & 0x00ff0000) ^\r
+               (SDRM_Td4[(t3 >>  8) & 0xff] & 0x0000ff00) ^\r
+               (SDRM_Td4[(t2      ) & 0xff] & 0x000000ff) ^\r
+               rk[1];\r
+       PUTUINT32(pt +  4, s1);\r
+       s2 =\r
+               (SDRM_Td4[(t2 >> 24)       ] & 0xff000000) ^\r
+               (SDRM_Td4[(t1 >> 16) & 0xff] & 0x00ff0000) ^\r
+               (SDRM_Td4[(t0 >>  8) & 0xff] & 0x0000ff00) ^\r
+               (SDRM_Td4[(t3      ) & 0xff] & 0x000000ff) ^\r
+               rk[2];\r
+       PUTUINT32(pt +  8, s2);\r
+       s3 =\r
+               (SDRM_Td4[(t3 >> 24)       ] & 0xff000000) ^\r
+               (SDRM_Td4[(t2 >> 16) & 0xff] & 0x00ff0000) ^\r
+               (SDRM_Td4[(t1 >>  8) & 0xff] & 0x0000ff00) ^\r
+               (SDRM_Td4[(t0      ) & 0xff] & 0x000000ff) ^\r
+               rk[3];\r
+       PUTUINT32(pt + 12, s3);\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_AES128_Encryption\r
+ * @brief      AES-128 Encryption\r
+ *\r
+ * @param      cipherText      [out]encrypted text\r
+ * @param      plainText       [in]plain text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES128_Encryption(cc_u8 *cipherText, cc_u8 *plainText,    cc_u8 *UserKey)\r
+{\r
+       cc_u32 RoundKey[4*(10 + 1)];\r
+\r
+       SDRM_rijndaelKeySetupEnc(RoundKey, UserKey, 128);\r
+\r
+       SDRM_rijndaelEncrypt(RoundKey, 10, plainText, cipherText);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_AES128_Decryption\r
+ * @brief      AES-128 Decryption\r
+ *\r
+ * @param      plainText       [out]decrypted text\r
+ * @param      cipherText      [in]cipher text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES128_Decryption(cc_u8 *plainText, cc_u8 *cipherText,    cc_u8 *UserKey)\r
+{      \r
+       cc_u32 RoundKey[4*(10 + 1)];\r
+\r
+       SDRM_rijndaelKeySetupDec(RoundKey, UserKey, 128);\r
+\r
+       SDRM_rijndaelDecrypt(RoundKey, 10, cipherText, plainText);\r
+\r
+       return CRYPTO_SUCCESS; \r
+}\r
+\r
+/*\r
+ * @fn         SDRM_AES192_Encryption\r
+ * @brief      AES-192 Encryption\r
+ *\r
+ * @param      cipherText      [out]encrypted text\r
+ * @param      plainText       [in]plain text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES192_Encryption(cc_u8 *cipherText, cc_u8 *plainText,    cc_u8 *UserKey)\r
+{\r
+       cc_u32 RoundKey[4*(12 + 1)];\r
+\r
+       SDRM_rijndaelKeySetupEnc(RoundKey, UserKey, 192);\r
+\r
+       SDRM_rijndaelEncrypt(RoundKey, 12, plainText, cipherText);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_AES192_Decryption\r
+ * @brief      AES-192 Decryption\r
+ *\r
+ * @param      plainText       [out]decrypted text\r
+ * @param      cipherText      [in]cipher text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES192_Decryption(cc_u8 *plainText, cc_u8 *cipherText,    cc_u8 *UserKey)\r
+{      \r
+       cc_u32 RoundKey[4*(12 + 1)];\r
+\r
+       SDRM_rijndaelKeySetupDec(RoundKey, UserKey, 192);\r
+\r
+       SDRM_rijndaelDecrypt(RoundKey, 12, cipherText, plainText);\r
+\r
+       return CRYPTO_SUCCESS; \r
+}\r
+\r
+/*\r
+ * @fn         SDRM_AES256_Encryption\r
+ * @brief      AES-256 Encryption\r
+ *\r
+ * @param      cipherText      [out]encrypted text\r
+ * @param      plainText       [in]plain text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES256_Encryption(cc_u8 *cipherText, cc_u8 *plainText,    cc_u8 *UserKey)\r
+{\r
+       cc_u32 RoundKey[4*(14 + 1)];\r
+\r
+       SDRM_rijndaelKeySetupEnc(RoundKey, UserKey, 256);\r
+\r
+       SDRM_rijndaelEncrypt(RoundKey, 14, plainText, cipherText);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_AES256_Decryption\r
+ * @brief      AES-256 Decryption\r
+ *\r
+ * @param      plainText       [out]decrypted text\r
+ * @param      cipherText      [in]cipher text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES256_Decryption(cc_u8 *plainText, cc_u8 *cipherText,    cc_u8 *UserKey)\r
+{      \r
+       cc_u32 RoundKey[4*(14 + 1)];\r
+\r
+       SDRM_rijndaelKeySetupDec(RoundKey, UserKey, 256);\r
+\r
+       SDRM_rijndaelDecrypt(RoundKey, 14, cipherText, plainText);\r
+\r
+       return CRYPTO_SUCCESS; \r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/base/bignum.c b/SPC/Src/base/bignum.c
new file mode 100755 (executable)
index 0000000..09e959b
--- /dev/null
@@ -0,0 +1,2750 @@
+/**\r
+ * \file       bignum.c\r
+ * @brief      big number library\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/08/03\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "bignum.h"\r
+#include "fast_math.h"\r
+#include "DRMLog.h"\r
+\r
+\r
+#define _SPC_FILE_LOG          \r
+//FILE*       SPClogfile = NULL;\r
+extern DRMLOG_CTX  SPCLogCTX;\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Global Variables\r
+////////////////////////////////////////////////////////////////////////////\r
+CRYPTOCORE_INTERNAL cc_u32                     DWD_Zero[2]     = {0, 0};\r
+CRYPTOCORE_INTERNAL cc_u32                     DWD_One[2]      = {1, 0};\r
+\r
+CRYPTOCORE_INTERNAL SDRM_BIG_NUM       _BN_Zero        = {0, 1, 2, DWD_Zero};\r
+CRYPTOCORE_INTERNAL SDRM_BIG_NUM       _BN_One         = {0, 1, 2, DWD_One};\r
+\r
+CRYPTOCORE_INTERNAL SDRM_BIG_NUM       *BN_Zero        = &_BN_Zero;\r
+CRYPTOCORE_INTERNAL SDRM_BIG_NUM       *BN_One         = &_BN_One;\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Local Functon Protypes\r
+////////////////////////////////////////////////////////////////////////////\r
+CRYPTOCORE_INTERNAL int SDRM_DWD_Classical_REDC(cc_u32 *pdDest, cc_u32 DstLen, cc_u32 *pdModulus, cc_u32 ModLen);\r
+\r
+#ifdef _OP64_NOTSUPPORTED\r
+\r
+#define SDRM_HL(A)     (cc_u32)(((A) >> 16) & 0xffffu)\r
+#define SDRM_LL(A)     (cc_u32)((A) & 0xffffu)\r
+#define SDRM_LH(A)     (cc_u32)(((A) & 0xffffu) << 16)\r
+#define NOT(A)         (~(A))\r
+\r
+/*\r
+ * @fn         SDRM_DIGIT_Mul\r
+ * @brief      Double-width UINT32 Multiplication\r
+ *\r
+ * \n  Dest            [out]destination, 2-cc_u32-size array\r
+ * \n  Src1            [in]first element\r
+ * \n  Src2            [in]second element\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_DIGIT_Mul(cc_u32 *Dest, cc_u32 Src1, cc_u32 Src2)\r
+{\r
+       cc_u32  Da, Db, R1, R0;\r
+\r
+       R1 = SDRM_HL(Src1) * SDRM_HL(Src2);\r
+       R0 = SDRM_LL(Src1) * SDRM_LL(Src2);\r
+\r
+       Da = SDRM_HL(Src1) * SDRM_LL(Src2);\r
+       Db = SDRM_LL(Src1) * SDRM_HL(Src2);\r
+\r
+       if ((Db += Da) < Da)\r
+               R1 += ((cc_u32)1) << 16;\r
+       if ((R0 += SDRM_LH(Db)) < SDRM_LH(Db))\r
+               R1++;\r
+\r
+       Dest[0] = R0;\r
+       Dest[1] = R1 + SDRM_HL(Db);\r
+       \r
+       return;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DIGIT_Div\r
+ * @brief      Doublue-width DWROD Division\r
+ *\r
+ * \n  Src1            [in]upper-digit of dividend\r
+ * \n  Src2            [in]lower-digit of dividend\r
+ * \n  Div                     [in]divisor\r
+ */\r
+CRYPTOCORE_INTERNAL cc_u32 SDRM_DIGIT_Div(cc_u32 Src1, cc_u32 Src2, cc_u32 Div)\r
+{\r
+       cc_u32  Dq, Dr, Dx, Dy, Dt;\r
+\r
+       //      Estimate high half of quotient\r
+       Dq = Src1 / (SDRM_HL(Div) + 1);\r
+\r
+       //      Subtract the product of estimate and divisor from the dividend\r
+       Dr = Src1 - (SDRM_HL(Div) * Dq);\r
+       Dx = SDRM_HL(Dr);\r
+       Dy = SDRM_LH(Dr) + SDRM_HL(Src2);\r
+       if ((Dr = Dy - (SDRM_LL(Div) * Dq)) > Dy)\r
+       {\r
+               Dx--;\r
+       }\r
+\r
+       //      Correct estimate\r
+       while ((Dx > 0) || ((Dx == 0) && (Dr >= Div)))\r
+       {\r
+               if((Dr -= Div) > NOT(Div))\r
+               {\r
+                       Dx--;\r
+               }\r
+               Dq++;\r
+       }\r
+       Dt = SDRM_LH(Dq);\r
+\r
+       //      Estimate low half of quotient\r
+       Dq = Dr / (SDRM_HL(Div) + 1);\r
+\r
+       //      Subtract the product of estimate and divisor from the dividend\r
+       Dr -= SDRM_HL(Div) * Dq;\r
+       Dx = SDRM_HL(Dr);\r
+       Dy = SDRM_LH(Dr) + SDRM_LL(Src2);\r
+       if ((Dr = Dy - (SDRM_LL(Div) * Dq)) > Dy)\r
+               Dx--;\r
+\r
+       //      Correct estimate\r
+       while ((Dx > 0) || ((Dx == 0) && (Dr >= Div)))\r
+       {\r
+               if ((Dr -= Div) > NOT(Div))\r
+               {\r
+                       Dx--;\r
+               }\r
+               Dq++;\r
+       }\r
+\r
+       return (Dt + Dq);\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DIGIT_Mod\r
+ * @brief      Doublue-width DWROD Modular\r
+ *\r
+ * \n  Src1            [in]upper-digit of dividend\r
+ * \n  Src2            [in]lower-digit of dividend\r
+ * \n  Div                     [in]divisor\r
+ */\r
+CRYPTOCORE_INTERNAL cc_u32 SDRM_DIGIT_Mod(cc_u32 Src1, cc_u32 Src2, cc_u32 Div)\r
+{\r
+       cc_u32  Dq, Dr, Dx, Dy;\r
+\r
+       //      Estimate high half of quotient\r
+       Dq = Src1 / (SDRM_HL(Div) + 1);\r
+\r
+       //      Subtract the from dividend the product of estimate and divisor\r
+       Dr = Src1 - (SDRM_HL(Div) * Dq);\r
+       Dx = SDRM_HL(Dr);\r
+       Dy = SDRM_LH(Dr) + SDRM_HL(Src2);\r
+       if ((Dr = Dy - (SDRM_LL(Div) * Dq)) > Dy)\r
+       {\r
+               Dx--;\r
+       }\r
+\r
+       //      Correct estimate\r
+       while ((Dx > 0) || ((Dx == 0) && (Dr >= Div)))\r
+       {\r
+               if ((Dr -= Div) > NOT(Div))\r
+               {\r
+                       Dx--;\r
+               }\r
+       }\r
+\r
+       //      Estimate low half of quotient\r
+       Dq = Dr / (SDRM_HL(Div) + 1);\r
+\r
+       //      Subtract the from dividend the product of estimate and divisor\r
+       Dr -= SDRM_HL(Div) * Dq;\r
+       Dx = SDRM_HL(Dr);\r
+       Dy = SDRM_LH(Dr) + SDRM_LL(Src2);\r
+       if ((Dr = Dy - (SDRM_LL(Div) * Dq)) > Dy)\r
+       {\r
+               Dx--;\r
+       }\r
+\r
+       //      Correct estimate\r
+       while ((Dx > 0) || ((Dx == 0) && (Dr >= Div)))\r
+       {\r
+               if ((Dr -= Div) > NOT(Div) )\r
+               {\r
+                       Dx--;\r
+               }\r
+       }\r
+\r
+       return Dr;\r
+}\r
+\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+/*\r
+ * @fn         SDRM_DWD_Cmp\r
+ * @brief      cc_u32 Array Comparison\r
+ *\r
+ * @param      pdSrc1          [in]first element\r
+ * @param      dSrcLen1        [in]legnth of pdSrc1\r
+ * @param      pdSrc2          [in]second element\r
+ * @param      dSrcLen2        [in]legnth of pdSrc2\r
+ *\r
+ * @return     1 if pdSrc1 is larger than pdSrc2\r
+ * \n          0 if same\r
+ * \n          -1 if pdSrc2 is larger than pdSrc1\r
+ */\r
+static int SDRM_DWD_Cmp(cc_u32 *pdSrc1, cc_u32 dSrcLen1, cc_u32 *pdSrc2, cc_u32 dSrcLen2)\r
+{\r
+       cc_u32  i;\r
+\r
+       //When the length is different\r
+       if (dSrcLen1 >= dSrcLen2)\r
+       {\r
+               for (i = dSrcLen1 - 1; i != dSrcLen2 - 1; i--)\r
+               {\r
+                       if (pdSrc1[i])\r
+                       {\r
+                               return +1;\r
+                       }\r
+               }\r
+       }\r
+       else\r
+       {\r
+               for (i = dSrcLen2 - 1; i != dSrcLen1 - 1; i--)\r
+               {\r
+                       if (pdSrc2[i])\r
+                       {\r
+                               return -1;\r
+                       }\r
+               }\r
+       }\r
+\r
+       //Compare common digits\r
+       for (; i != (cc_u32)-1; i--)\r
+       {\r
+               if (pdSrc1[i] == pdSrc2[i])\r
+               {\r
+                       continue;\r
+               }\r
+               else\r
+               {\r
+                       if (pdSrc1[i] > pdSrc2[i])\r
+                       {\r
+                               return +1;\r
+                       }\r
+                       else\r
+                       {\r
+                               return -1;\r
+                       }\r
+               }\r
+       }\r
+\r
+       return 0;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DWD_SHL\r
+ * @brief      Shift left the digit array\r
+ *\r
+ * @param      pdDest          [out]destination\r
+ * @param      pdSrc           [in]source\r
+ * @param      dSrcLen         [in]legnth of pdSrc\r
+ * @param      dNumOfShift     [in]shift amount\r
+ *\r
+ * @return     carry\r
+ */\r
+static cc_u32 SDRM_DWD_SHL(cc_u32 *pdDest, cc_u32 *pdSrc, cc_u32 dSrcLen, cc_u32 dNumOfShift)\r
+{\r
+       cc_u32  i = dSrcLen - 1;\r
+       cc_u32  dRet;\r
+\r
+       if (dSrcLen == 0)\r
+       {\r
+               *pdDest = 0;\r
+               return 0;\r
+       }\r
+\r
+       dRet = pdSrc[i] >> (SDRM_BitsInDWORD - dNumOfShift);\r
+\r
+       for (; i != 0; i--)\r
+       {\r
+               pdDest[i] = (pdSrc[i] << dNumOfShift) ^ (pdSrc[i - 1] >> (SDRM_BitsInDWORD - dNumOfShift));\r
+       }\r
+\r
+       pdDest[i] = pdSrc[i] << dNumOfShift;\r
+\r
+       return dRet;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DWD_SHR\r
+ * @brief      Shift right the digit array\r
+ *\r
+ * @param      pdDest          [out]destination\r
+ * @param      pdSrc           [in]source\r
+ * @param      dSrcLen         [in]legnth of pdSrc\r
+ * @param      dNumOfShift     [in]shift amount\r
+ *\r
+ * @return     carry\r
+ */\r
+static cc_u32 SDRM_DWD_SHR(cc_u32 *pdDest, cc_u32 *pdSrc, cc_u32 dSrcLen, cc_u32 dNumOfShift)\r
+{\r
+       cc_u32 i = 0;\r
+       cc_u32 dRet;\r
+\r
+       dRet = pdSrc[i] << (SDRM_BitsInDWORD - dNumOfShift);\r
+\r
+       for (; i < dSrcLen - 1; i++)\r
+       {\r
+               pdDest[i] = (pdSrc[i] >> dNumOfShift) ^ (pdSrc[i + 1] << (SDRM_BitsInDWORD - dNumOfShift));\r
+       }\r
+\r
+       pdDest[i] = pdSrc[i] >> dNumOfShift;\r
+\r
+       return dRet;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DWD_Add\r
+ * @brief      Add two digit array\r
+ *\r
+ * @param      pdDest          [out]destination\r
+ * @param      pdSrc1          [in]first element\r
+ * @param      dSrcLen1        [in]legnth of pdSrc1\r
+ * @param      pdSrc2          [in]second element\r
+ * @param      dSrcLen2        [in]legnth of pdSrc2\r
+ *\r
+ * @return     carry\r
+ */\r
+static cc_u32 SDRM_DWD_Add(cc_u32 *pdDest, cc_u32 *pdSrc1, cc_u32 dSrcLen1, cc_u32 *pdSrc2, cc_u32 dSrcLen2)\r
+{\r
+       cc_u32  i;\r
+       cc_u32  dCarry = 0, dTemp;\r
+\r
+       //add low digits\r
+       for (i = 0; i < dSrcLen2; i++)\r
+       {\r
+               if ((pdSrc2[i] == ((cc_u32)-1)) && (dCarry))\r
+               {\r
+                       pdDest[i] = pdSrc1[i];\r
+               }\r
+               else\r
+               {\r
+                       dTemp = pdSrc2[i] + dCarry;\r
+                       pdDest[i] = pdSrc1[i] + dTemp;\r
+                       dCarry = (pdDest[i] < dTemp ) ? 1 : 0;\r
+               }\r
+       }\r
+\r
+       //copy high digits\r
+       if (dSrcLen1 > i)\r
+       {\r
+               memcpy(pdDest + i, pdSrc1 + i, (dSrcLen1 - i) * SDRM_SIZE_OF_DWORD);\r
+       }\r
+\r
+       //process carry\r
+       if (!dCarry)\r
+       {\r
+               return 0;\r
+       }\r
+       else\r
+       {\r
+               for (i = dSrcLen2; i < dSrcLen1; i++)\r
+               {\r
+                       if (++pdDest[i])\r
+                       {\r
+                               return 0;\r
+                       }\r
+               }\r
+       }\r
+\r
+       return 1;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DWD_Sub\r
+ * @brief      subtract digit array\r
+ *\r
+ * @param      pdDest          [out]destination\r
+ * @param      pdSrc1          [in]first element\r
+ * @param      dSrcLen1        [in]legnth of pdSrc1\r
+ * @param      pdSrc2          [in]second element\r
+ * @param      dSrcLen2        [in]legnth of pdSrc2\r
+ *\r
+ * @return     carry\r
+ */\r
+static cc_u32 SDRM_DWD_Sub(cc_u32 *pdDest, cc_u32 *pdSrc1, cc_u32 dSrcLen1, cc_u32 *pdSrc2, cc_u32 dSrcLen2)\r
+{\r
+       cc_u32  i;\r
+       cc_u32  dCarry = 0, dTemp;\r
+\r
+       //subtract low digits\r
+       for (i = 0; i < dSrcLen2; i++)\r
+       {\r
+               if (pdSrc2[i] + dCarry == 0)\r
+               {\r
+                       pdDest[i] = pdSrc1[i];\r
+               } else\r
+               {\r
+                       dTemp = pdSrc2[i] + dCarry;\r
+                       pdDest[i] = pdSrc1[i] - dTemp;\r
+                       dCarry = ((pdDest[i]) > ~(dTemp)) ? 1 : 0;\r
+               }\r
+       }\r
+\r
+       //copy high digits\r
+       if (dSrcLen1 > i)\r
+       {\r
+               memcpy(pdDest + i, pdSrc1 + i, (dSrcLen1 - i) * SDRM_SIZE_OF_DWORD);\r
+       }\r
\r
+       //process carry\r
+       if (!dCarry)\r
+       {\r
+               return 0;\r
+       }\r
+       else\r
+       {\r
+               for (i = dSrcLen2  ; i < dSrcLen1; i++)\r
+               {\r
+                       if (pdDest[i]--)\r
+                       {\r
+                               return 0;\r
+                       }\r
+               }\r
+       }\r
+\r
+       return (~0);\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DWD_MulAdd\r
+ * @brief      Add multiple\r
+ *\r
+ * @param      pdDest          [out]destination\r
+ * @param      dDstLen         [in]legnth of pbDest\r
+ * @param      pdSrc           [in]source\r
+ * @param      dSrcLen         [in]legnth of pdSrc\r
+ * @param      dMultiplier     [in]multiplier\r
+ *\r
+ * @return     carry\r
+ */\r
+static cc_u32 SDRM_DWD_MulAdd(cc_u32 *pdDest, cc_u32 dDstLen, cc_u32 *pdSrc, cc_u32 dSrcLen, cc_u32 dMultiplier)\r
+{\r
+       cc_u32 i;\r
+       cc_u32 pdDigit[2], dTemp = 0;\r
+\r
+       //Multiplication part\r
+       for (i = 0; i < dSrcLen; i++)\r
+       {\r
+               SDRM_DIGIT_Mul(pdDigit, dMultiplier, pdSrc[i]);\r
+               if ((dTemp += pdDigit[0]) < pdDigit[0])\r
+               {\r
+                       pdDigit[1]++;\r
+               }\r
+\r
+               if ((pdDest[i] += dTemp) < dTemp)\r
+               {\r
+                       pdDigit[1]++;\r
+               }\r
+\r
+               dTemp = pdDigit[1];\r
+       }\r
+\r
+       if (i == dDstLen)\r
+       {\r
+               return dTemp;\r
+       }\r
+\r
+       //process top digit\r
+       if ((pdDest[i] += dTemp) >= dTemp)\r
+       {\r
+               return 0;\r
+       }\r
+\r
+       for (i++; i < dDstLen; i++)\r
+       {\r
+               if ((++pdDest[i]) != 0)\r
+               {\r
+                       return 0;\r
+               }\r
+       }\r
+\r
+       return 1;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DWD_MulSub\r
+ * @brief      Multiply and Subtract Digit Array\r
+ *\r
+ * @param      pdDest          [out]destination\r
+ * @param      dDstLen         [in]legnth of pbDest\r
+ * @param      pdSrc           [in]source\r
+ * @param      dSrcLen         [in]legnth of pdSrc\r
+ * @param      dMultiplier     [in]multiplier\r
+ *\r
+ * @return     carry\r
+ */\r
+static cc_u32 SDRM_DWD_MulSub(cc_u32 *pdDest, cc_u32 dDstLen, cc_u32 *pdSrc, cc_u32 dSrcLen, cc_u32 dMultiplier)\r
+{\r
+       cc_u32  i;\r
+       cc_u32  pdDigit[2], dTemp = 0;\r
+\r
+       //Multiplication part\r
+       for (i = 0; i < dSrcLen; i++)\r
+       {\r
+               SDRM_DIGIT_Mul(pdDigit, dMultiplier, pdSrc[i]);\r
+               dTemp += pdDigit[0];\r
+\r
+               if (dTemp < pdDigit[0])\r
+               {\r
+                       pdDigit[1]++;\r
+               }\r
+\r
+               if (pdDest[i] < dTemp)\r
+               {\r
+                       pdDigit[1]++;\r
+               }\r
+\r
+               pdDest[i] -= dTemp;\r
+               dTemp = pdDigit[1];\r
+       }\r
+\r
+       if (i == dDstLen)\r
+       {\r
+               return dTemp;\r
+       }\r
+\r
+       //process top digit\r
+       if (pdDest[i] >= dTemp)\r
+       {\r
+               pdDest[i] -= dTemp;\r
+\r
+               return 0;\r
+       }\r
+       else\r
+       {\r
+               pdDest[i] -= dTemp;\r
+       }\r
+\r
+       for (i++; i < dDstLen; i++)\r
+       {\r
+               if ((pdDest[i]--) != 0)\r
+               {\r
+                       return 0;\r
+               }\r
+       }\r
+\r
+       return 1;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DWD_Mul\r
+ * @brief      Multiply tow Digit array\r
+ *\r
+ * @param      pdDest          [out]destination\r
+ * @param      pdSrc1          [in]first element\r
+ * @param      dSrcLen1        [in]legnth of pdSrc1\r
+ * @param      pdSrc2          [in]second element\r
+ * @param      dSrcLen2        [in]legnth of pdSrc2\r
+ *\r
+ * @return     void\r
+ */\r
+static void SDRM_DWD_Mul(cc_u32 *pdDest, cc_u32 *pdSrc1, cc_u32 dSrcLen1, cc_u32 *pdSrc2, cc_u32 dSrcLen2)\r
+{\r
+       cc_u32  i, j;\r
+       cc_u32  pdDigit[2], dTemp;\r
+\r
+       memset(pdDest, 0, (dSrcLen1 + dSrcLen2) * SDRM_SIZE_OF_DWORD);\r
+\r
+       for (j = 0; j < dSrcLen2; j++)\r
+       {\r
+               dTemp = 0;\r
+               for (i = 0; i < dSrcLen1; i++)\r
+               {\r
+                       SDRM_DIGIT_Mul(pdDigit, pdSrc1[i], pdSrc2[j]);\r
+                       if ((dTemp += pdDigit[0]) < pdDigit[0])\r
+                       {\r
+                               pdDigit[1]++;\r
+                       }\r
+\r
+                       if ((pdDest[i + j] += dTemp) < dTemp)\r
+                       {\r
+                               pdDigit[1]++;\r
+                       }\r
+\r
+                       dTemp = pdDigit[1];\r
+               }\r
+               pdDest[i + j] = dTemp;\r
+       }\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DWD_Div\r
+ * @brief      Multiply tow Digit array\r
+ *\r
+ * @param      pdDest          [out]quotient\r
+ * @param      pdRem           [out]remainder\r
+ * @param      pdSrc1          [in]divisor\r
+ * @param      dSrcLen1        [in]legnth of pdSrc1\r
+ * @param      pdSrc2          [in]dividend\r
+ * @param      dSrcLen2        [in]legnth of pdSrc2\r
+ *\r
+ * @return     0 if reaminder is zero\r
+ * \n          1 otherwise\r
+ */\r
+static cc_u32 SDRM_DWD_Div(cc_u32 *pdDest, cc_u32 *pdRem,\r
+                                                  cc_u32 *pdSrc1, cc_u32 dSrcLen1,\r
+                                                  cc_u32 *pdSrc2, cc_u32 dSrcLen2)\r
+{\r
+       cc_u32  i, q, c, dNum_of_Shift = 0;\r
+       cc_u32  *C = (cc_u32*)malloc(SDRM_SIZE_OF_DWORD * 2 * (MAX2(dSrcLen1, dSrcLen2) + 2));\r
+\r
+       if (!C)\r
+       {\r
+               return (cc_u32)CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       SDRM_DWD_Copy(C, pdSrc1, dSrcLen1);\r
+       C[dSrcLen1] = 0;\r
+       c = dSrcLen1 + 1;\r
+\r
+       //Remove lowest '0's\r
+       for (i = dSrcLen2 * SDRM_BitsInDWORD-1; !SDRM_CheckBitUINT32(pdSrc2, i); i--, dNum_of_Shift++);\r
+                \r
+       if (dNum_of_Shift)\r
+       {\r
+               SDRM_DWD_SHL(C, C, c, dNum_of_Shift);\r
+               SDRM_DWD_SHL(pdSrc2, pdSrc2, dSrcLen2, dNum_of_Shift);\r
+       }\r
+\r
+       for (i = c-dSrcLen2 - 1; i != (cc_u32)-1; i--)\r
+       {\r
+               if (C[dSrcLen2 + i]==pdSrc2[dSrcLen2 - 1] )\r
+               {\r
+                       q = (cc_u32)-1;\r
+               }\r
+               else\r
+               {\r
+                       q = SDRM_DIGIT_Div(C[dSrcLen2 + i], C[dSrcLen2 + i - 1], pdSrc2[dSrcLen2 - 1]);\r
+               }\r
+\r
+               if (SDRM_DWD_MulSub(C + i, dSrcLen2 + 1, pdSrc2, dSrcLen2, q) )\r
+               {\r
+                       q--;\r
+                       if (!SDRM_DWD_Add(C + i, C + i, dSrcLen2 + 1, pdSrc2, dSrcLen2))\r
+                       {\r
+                               q--;\r
+                               SDRM_DWD_Add(C + i, C + i, dSrcLen2 + 1, pdSrc2, dSrcLen2);\r
+                       }\r
+               }\r
+               pdDest[i] = q;\r
+       }\r
+\r
+       //Recover lowest '0's\r
+       if (dNum_of_Shift)\r
+       {\r
+               SDRM_DWD_SHR(pdSrc2, pdSrc2, dSrcLen2, dNum_of_Shift);\r
+               SDRM_DWD_SHR(C, C, dSrcLen2, dNum_of_Shift);\r
+       }\r
+\r
+       if (pdRem)\r
+       {\r
+               SDRM_DWD_Copy(pdRem, C, dSrcLen2);\r
+       }\r
+\r
+       for (i = 0; i < c; i++)\r
+       {\r
+               if (C[i])\r
+               {\r
+                       free(C);\r
+\r
+                       return 1;\r
+               }\r
+       }\r
+       free(C);\r
+\r
+       return 0;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DWD_Classical_REDC\r
+ * @brief      Classical Modular Reduction Algorithm\r
+ *\r
+ * @param      pdDest          [out]destination\r
+ * @param      DstLen          [in]length of pdDest\r
+ * @param      pdModulus       [in]modulus\r
+ * @param      ModLen          [in]legnth of pdModulus\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DWD_Classical_REDC(cc_u32 *pdDest, cc_u32 DstLen, cc_u32 *pdModulus, cc_u32 ModLen)\r
+{\r
+       cc_u32  i;\r
+       cc_u32  MSB=0, TTTT=0, FLAG=0, D_Quotient, MSD_Modulus;\r
+\r
+       if (DstLen < ModLen)\r
+       {\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if (pdDest[DstLen - 1] >= pdModulus[ModLen - 1])\r
+       {\r
+               FLAG++;\r
+               TTTT = pdDest[DstLen];\r
+               pdDest[DstLen++] = 0;\r
+       }\r
+\r
+       for (i = SDRM_BitsInDWORD - 1; i != (cc_u32)-1; i--)\r
+       {\r
+               if (pdModulus[ModLen - 1] & ((cc_u32)1 << i))\r
+               {\r
+                       break;\r
+               }\r
+\r
+               MSB++;\r
+       }\r
+\r
+       if (MSB)\r
+       {\r
+               SDRM_DWD_SHL(pdModulus, pdModulus, ModLen, MSB);\r
+               SDRM_DWD_SHL(pdDest, pdDest, DstLen, MSB);\r
+       }\r
+\r
+       //      Step 2 : main part\r
+       MSD_Modulus = pdModulus[ModLen - 1];\r
+       for (i = DstLen - ModLen - 1; i != (cc_u32)-1; i--)\r
+       {\r
+               //      Step 2-1 : Estimate D_Quotient\r
+               if (pdDest[ModLen + i] == MSD_Modulus)\r
+               {\r
+                       D_Quotient = (cc_u32)-1;\r
+               }\r
+               else\r
+               {\r
+                       D_Quotient = SDRM_DIGIT_Div(pdDest[ModLen + i], pdDest[ModLen + i - 1], MSD_Modulus);\r
+               }\r
+\r
+               //      Step 2-2 : Make pdDest <- pdDest-D_Quotient*pdModulus\r
+               if (SDRM_DWD_MulSub(pdDest + i, ModLen + 1, pdModulus, ModLen, D_Quotient) )\r
+               {\r
+                       if (SDRM_DWD_Add(pdDest + i, pdDest + i, ModLen + 1, pdModulus, ModLen) == 0)\r
+                       {\r
+                               SDRM_DWD_Add(pdDest + i, pdDest + i, ModLen + 1, pdModulus, ModLen);\r
+                       }\r
+               }\r
+       }\r
+\r
+       //      Step 4 : inverse part of Step 2\r
+       if (MSB)\r
+       {\r
+               SDRM_DWD_SHR(pdModulus, pdModulus, ModLen, MSB);\r
+               SDRM_DWD_SHR(pdDest, pdDest, ModLen, MSB);\r
+       }\r
+\r
+       //      Step 4.5 : inverse part of Step 1.5\r
+       if (FLAG)\r
+       {\r
+               DstLen--;\r
+               pdDest[DstLen] = TTTT;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DIGIT_Gcd\r
+ * @brief      get gcd of two digits\r
+ *\r
+ * @param      s1                                      [in]first element\r
+ * @param      s2                                      [in]second element\r
+ *\r
+ * @return     gcd\r
+ */\r
+CRYPTOCORE_INTERNAL cc_u32 SDRM_DIGIT_Gcd(cc_u32 s1, cc_u32 s2)\r
+ {\r
+       cc_u32 dTemp;\r
+\r
+       if (s1 < s2)\r
+       {\r
+               dTemp = s1;\r
+               s1 = s2;\r
+               s2 = dTemp;\r
+       }\r
+\r
+       while(s2)\r
+       {\r
+               dTemp = s1 % s2;\r
+               s1 = s2;\r
+               s2 = dTemp;\r
+       }\r
+\r
+       return s1;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_PrintBN\r
+ * @brief      Show out a Big Number\r
+ *\r
+ * @param      level           [in]log level\r
+ * @param      s                       [in]title\r
+ * @param      bn                      [in]big number to show out\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_PrintBN(const char* s, SDRM_BIG_NUM* bn)\r
+{\r
+       cc_u32 i;\r
+\r
+#ifdef _SPC_FILE_LOG\r
+       fprintf(SPCLogCTX.file,"\n");\r
+       fprintf(SPCLogCTX.file,"%15s %d :", s, (int)(bn->Length));\r
+#else\r
+       printf("%15s %d :", s, (int)(bn->Length));\r
+#endif \r
+       for (i = 0; i < bn->Length ; i++)\r
+       {\r
+#ifdef _SPC_FILE_LOG   \r
+               fprintf(SPCLogCTX.file,"%08x ", (int)(bn->pData[bn->Length - i -1])); \r
+#else\r
+               printf("%08x ", (int)(bn->pData[bn->Length - i -1])); \r
+#endif\r
+       }\r
+\r
+#ifdef _SPC_FILE_LOG   \r
+       fprintf(SPCLogCTX.file, "\n");\r
+       fflush(SPCLogCTX.file);\r
+\r
+#else\r
+       printf("\n"); \r
+#endif \r
+\r
+       return; \r
+}\r
+\r
+/*     \r
+ * @fn         SDRM_BN2OS\r
+ * @brief      Convert Big Number to Octet String\r
+ *\r
+ * @param      BN_Src  [in]source integer\r
+ * @param      dDstLen [in]Byte-length of pbDst\r
+ * @param      pbDst   [out]output octet string\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if arrary is too small\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_BN2OS(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst)\r
+{\r
+       cc_u32  i;\r
+\r
+       if ((BN_Src == NULL) || (pbDst == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_Src);\r
+\r
+       if (BN_Src->sign)\r
+       {\r
+               pbDst[0] = '-';\r
+               dDstLen += 1;\r
+       }\r
+\r
+       if ((SDRM_SIZE_OF_DWORD * BN_Src->Length) <= dDstLen)\r
+       {\r
+               memset(pbDst, 0, dDstLen);\r
+\r
+               for (i = 0; (dDstLen != 0) && (i < BN_Src->Length); i++)\r
+               {\r
+                       pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]    ) & 0xff);\r
+                       pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>> 8) & 0xff);\r
+                       pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>>16) & 0xff);\r
+                       pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>>24) & 0xff);\r
+               }\r
+       }\r
+       else\r
+       {\r
+               i = (SDRM_SIZE_OF_DWORD * BN_Src->Length) - dDstLen;\r
+               if (i >= SDRM_SIZE_OF_DWORD)\r
+               {\r
+                       return CRYPTO_BUFFER_TOO_SMALL;\r
+               }\r
+               else if ( BN_Src->pData[BN_Src->Length - 1] >> (8 * (SDRM_SIZE_OF_DWORD - i)))\r
+               {\r
+                       return CRYPTO_BUFFER_TOO_SMALL;\r
+               }\r
+\r
+               for (i = 0;; i++)\r
+               {\r
+                       pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]    ) & 0xff);\r
+                       if (dDstLen == 0)\r
+                       {\r
+                               break;\r
+                       }\r
+\r
+                       pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>> 8) & 0xFF);\r
+                       if (dDstLen == 0)\r
+                       {\r
+                               break;\r
+                       }\r
+\r
+                       pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>>16) & 0xFF);\r
+                       if (dDstLen == 0)\r
+                       {\r
+                               break;\r
+                       }\r
+\r
+                       pbDst[--dDstLen] = (cc_u8)((BN_Src->pData[i]>>24) & 0xFF);\r
+                       if (dDstLen == 0)\r
+                       {\r
+                               break;\r
+                       }\r
+               }\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_OS2BN\r
+ * @brief      Convert Octet String to Big Number\r
+ *\r
+ * @param      pbSrc   [in]source octet string\r
+ * @param      dSrcLen [in]Byte-length of pbSrc\r
+ * @param      BN_Dst  [out]output big number\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if arrary is too small\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_OS2BN(cc_u8 *pbSrc, cc_u32 dSrcLen, SDRM_BIG_NUM *BN_Dst)\r
+{\r
+       cc_u32  i;\r
+       int             ret;\r
+\r
+       if ((pbSrc == NULL) || (BN_Dst == NULL))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       SDRM_BN_Clr(BN_Dst);\r
+\r
+       for (i = 0; i < dSrcLen; i++)\r
+       {\r
+               ret = SDRM_BN_SHL(BN_Dst, BN_Dst, 8);\r
+\r
+               if (ret != CRYPTO_SUCCESS)\r
+               {\r
+                       return ret;\r
+               }\r
+\r
+               BN_Dst->pData[0] ^= pbSrc[i];\r
+               if (BN_Dst->Length == 0)\r
+                       BN_Dst->Length = 1;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_I2OSP\r
+ * @brief      Converts a nonnonegative integer to an octet string of a specified length\r
+ *\r
+ * @param      BN_Src                                  [in]nonnegative integer to be converted\r
+ * @param      dDstLen                                 [in]intended length of the resulting octet string\r
+ * @param      pbDst                                   [out]corresponding octet string of length dDstLen\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_I2OSP(SDRM_BIG_NUM *BN_Src, cc_u32 dDstLen, cc_u8 *pbDst)\r
+{\r
+       int count;\r
+\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_Src);\r
+\r
+       count = 0;\r
+       for (dDstLen--; (int)dDstLen >= 0; dDstLen--)\r
+       {\r
+               pbDst[count++] = SDRM_CheckByteUINT32(BN_Src->pData, dDstLen);\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Clr\r
+ * @brief      Clear the SDRM_BIG_NUM structure\r
+ *\r
+ * @param      BN_Src          [in]source\r
+ *\r
+ * @return     CRYPTO_SUCCESS\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Clr(SDRM_BIG_NUM* BN_Src)\r
+{\r
+       BN_Src->sign = 0;\r
+       BN_Src->Length = 0;\r
+\r
+       memset(BN_Src->pData, 0, BN_Src->Size * SDRM_SIZE_OF_DWORD);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Copy\r
+ * @brief      copy SDRM_BIG_NUM\r
+ *\r
+ * @param      BN_Dest         [out]destination\r
+ * @param      BN_Src          [in]source\r
+ *\r
+ * @return     CRYPTO_SUCCESS\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Copy(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src)\r
+{\r
+       if (BN_Src->Length > BN_Dest->Size)\r
+       {\r
+               return CRYPTO_BUFFER_TOO_SMALL;\r
+       }\r
+\r
+       BN_Dest->sign = BN_Src->sign;\r
+       BN_Dest->Length = BN_Src->Length;\r
+\r
+       memcpy(BN_Dest->pData, BN_Src->pData, BN_Src->Length * SDRM_SIZE_OF_DWORD);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Alloc\r
+ * @brief      allocate big number from buffer\r
+ *\r
+ * @param      pbSrc           [in]start pointer of buffer\r
+ * @param      dSize           [in]buffer size of big number\r
+ *\r
+ * @return     pointer of SDRM_BIG_NUM structure\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_BIG_NUM *SDRM_BN_Alloc(cc_u8* pbSrc, cc_u32 dSize)\r
+{\r
+       SDRM_BIG_NUM    *BN_Dest = (SDRM_BIG_NUM*)(void*)pbSrc;\r
+\r
+       if (pbSrc == NULL)\r
+       {\r
+               return NULL;\r
+       }\r
+\r
+       memset(BN_Dest, 0, sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD);\r
+       BN_Dest->pData = (cc_u32*)(void*)(pbSrc + sizeof(SDRM_BIG_NUM));\r
+       BN_Dest->Size = dSize;\r
+\r
+       return BN_Dest;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Init\r
+ * @brief      Allocate a new big number object\r
+ *\r
+ * @param      dSize           [in]buffer size of big number\r
+ *\r
+ * @return     pointer of SDRM_BIG_NUM structure\r
+ * \n          NULL if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_BIG_NUM *SDRM_BN_Init(cc_u32 dSize)\r
+{\r
+       cc_u32                  AllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+       cc_u8                   *pbBuf = (cc_u8*)malloc(AllocSize);\r
+       SDRM_BIG_NUM    *BN_Src = (SDRM_BIG_NUM*)(void*)pbBuf;\r
+       if (BN_Src == NULL)\r
+       {\r
+               return NULL;\r
+       }\r
+\r
+       memset(BN_Src, 0, AllocSize);\r
+       BN_Src->pData = (cc_u32*)(void*)(pbBuf + sizeof(SDRM_BIG_NUM));\r
+       BN_Src->Size = dSize;\r
+\r
+       return BN_Src;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Cmp\r
+ * @brief      Compare two Big Number\r
+ *\r
+ * @param      BN_Src1         [in]first element\r
+ * @param      BN_Src2         [in]second element\r
+ *\r
+ * @return     1 if BN_Src1 is larger than pdSrc2\r
+ * \n          0 if same\r
+ * \n          -1 if BN_Src2 is larger than pdSrc1\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Cmp(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+{\r
+       if (BN_Src1->Length >= BN_Src2->Length)\r
+       {\r
+               return  SDRM_DWD_Cmp(BN_Src1->pData, BN_Src1->Length, BN_Src2->pData, BN_Src2->Length);\r
+       }\r
+       else\r
+       {\r
+               return -SDRM_DWD_Cmp(BN_Src2->pData, BN_Src2->Length, BN_Src1->pData, BN_Src1->Length);\r
+       }\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Cmp_sign\r
+ * @brief      Compare two Big Number considering sign\r
+ *\r
+ * @param      BN_Src1         [in]first element\r
+ * @param      BN_Src2         [in]second element\r
+ *\r
+ * @return     1 if BN_Src1 is larger than pdSrc2\r
+ * \n          0 if same\r
+ * \n          -1 if BN_Src2 is larger than pdSrc1\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Cmp_sign(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+{\r
+       if (BN_Src1->sign > BN_Src2->sign)\r
+       {\r
+               return -1;\r
+       }\r
+       else if (BN_Src1->sign < BN_Src2->sign)\r
+       {\r
+               return 1;\r
+       }\r
+\r
+       if ( BN_Src1->Length >= BN_Src2->Length )\r
+       {\r
+               return  SDRM_DWD_Cmp(BN_Src1->pData, BN_Src1->Length, BN_Src2->pData, BN_Src2->Length);\r
+       }\r
+       else\r
+       {\r
+               return -SDRM_DWD_Cmp(BN_Src2->pData, BN_Src2->Length, BN_Src1->pData, BN_Src1->Length);\r
+       }\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Rand\r
+ * @brief      Generate simple random number\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BitLen          [in]bit-length of generated random number\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Rand(SDRM_BIG_NUM *BN_Dst, cc_u32 BitLen)\r
+{\r
+       cc_u32  i, j;\r
+\r
+       SDRM_BN_Clr(BN_Dst);\r
+\r
+       for (i = 0; i < (BitLen / SDRM_BitsInDWORD); i++)\r
+       {\r
+               BN_Dst->pData[i] = rand() ^ (rand() << 11);\r
+       }\r
+\r
+       j = BitLen % SDRM_BitsInDWORD;\r
+       if (j)\r
+       {\r
+               BN_Dst->pData[i] = rand() ^ (rand() << 11);\r
+               BN_Dst->pData[i] &= (((cc_u32)1) << j) - 1;\r
+               i++;\r
+       }\r
+\r
+       BN_Dst->Length = ((BitLen - 1) / SDRM_BitsInDWORD) + 1;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_SHL\r
+ * @brief      Big Number Shift Left\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Src          [in]source\r
+ * @param      NumOfShift      [in]shift amount\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_SHL(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift)\r
+{\r
+       cc_u32  t;\r
+\r
+       if (!BN_Src->Length)\r
+       {\r
+               SDRM_BN_Copy(BN_Dst, BN_Zero);\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       BN_Dst->sign = BN_Src->sign;\r
+\r
+       t = NumOfShift % SDRM_BitsInDWORD;\r
+       if (t)\r
+       {\r
+               BN_Dst->Length = BN_Src->Length;\r
+               t = SDRM_DWD_SHL(BN_Dst->pData, BN_Src->pData, BN_Src->Length, t);\r
+               if (t)\r
+               {\r
+                       BN_Dst->pData[BN_Dst->Length++] = t;\r
+               }\r
+       }\r
+\r
+       t = NumOfShift / SDRM_BitsInDWORD;\r
+       if (t)\r
+       {\r
+               BN_Dst->Length = BN_Src->Length + t;\r
+\r
+               memcpy((BN_Dst->pData) + t, (BN_Src->pData), (BN_Dst->Length - t) * SDRM_SIZE_OF_DWORD);\r
+\r
+               memset(BN_Dst->pData, 0, t * SDRM_SIZE_OF_DWORD);\r
+       }\r
+\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_Dst);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_SHR\r
+ * @brief      Big Number Shift Right\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Src          [in]source\r
+ * @param      NumOfShift      [in]shift amount\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_SHR(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, cc_u32 NumOfShift)\r
+{\r
+       cc_u32  t;\r
+\r
+       if (!BN_Src->Length)\r
+       {\r
+               SDRM_BN_Copy(BN_Dst, BN_Src);\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+       \r
+       t = NumOfShift / SDRM_BitsInDWORD;\r
+       if (t)\r
+       {\r
+               if (t >= BN_Src->Length)\r
+               {\r
+                       SDRM_BN_Copy(BN_Dst, BN_Zero);\r
+                       return CRYPTO_SUCCESS;\r
+               }\r
+\r
+               memcpy(BN_Dst->pData, (BN_Src->pData) + t, (BN_Src->Length - t) * SDRM_SIZE_OF_DWORD);\r
+\r
+               BN_Dst->Length = BN_Src->Length - t;\r
+               BN_Dst->sign = BN_Src->sign;\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_Dst);\r
+       }\r
+       else\r
+       {\r
+               SDRM_BN_Copy(BN_Dst, BN_Src);\r
+       }\r
+\r
+       t = NumOfShift % SDRM_BitsInDWORD;\r
+       if (t)\r
+       {\r
+               SDRM_DWD_SHR(BN_Dst->pData, BN_Dst->pData, BN_Dst->Length, t);\r
+       }\r
+\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_Dst);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Add\r
+ * @brief      Big Number Addition\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Src1         [in]first element\r
+ * @param      BN_Src2         [in]second element\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Add(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+{\r
+       cc_u32                  carry, dSize, dAllocSize;\r
+       SDRM_BIG_NUM    *temp, *temp_Src1, *temp_Src2;\r
+       cc_u8                   *pbBuf;\r
+       \r
+       dSize = MAX2(BN_Src1->Size, BN_Src2->Size);\r
+       dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+\r
+       pbBuf = (cc_u8*)malloc(dAllocSize * 2);\r
+       \r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       temp_Src1 = SDRM_BN_Alloc(pbBuf, dSize);\r
+       temp_Src2 = SDRM_BN_Alloc(pbBuf + dAllocSize, dSize);\r
+\r
+       if (!BN_Src1->Length)\r
+       {\r
+               SDRM_BN_Copy(BN_Dst, BN_Src2);\r
+               free(pbBuf);\r
+               \r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if (!BN_Src2->Length) {\r
+               SDRM_BN_Copy(BN_Dst, BN_Src1);\r
+               free(pbBuf);\r
+\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       SDRM_BN_Copy(temp_Src1, BN_Src1);\r
+       SDRM_BN_Copy(temp_Src2, BN_Src2);\r
+\r
+       if (temp_Src1->sign ^ temp_Src2->sign)\r
+       {\r
+               if (temp_Src1->sign)\r
+               {\r
+                       temp = temp_Src1;\r
+                       temp_Src1 = temp_Src2;\r
+                       temp_Src2 = temp;\r
+               }\r
+\r
+               if (SDRM_BN_Cmp(temp_Src1, temp_Src2) < 0)\r
+               {\r
+                       SDRM_DWD_Sub(BN_Dst->pData, temp_Src2->pData, temp_Src2->Length, temp_Src1->pData, temp_Src1->Length);\r
+                       BN_Dst->sign = 1;\r
+                       BN_Dst->Length = temp_Src2->Length;\r
+               }\r
+               else\r
+               {\r
+                       SDRM_DWD_Sub(BN_Dst->pData, temp_Src1->pData, temp_Src1->Length, temp_Src2->pData, temp_Src2->Length);\r
+                       BN_Dst->sign = 0;\r
+                       BN_Dst->Length = temp_Src1->Length;\r
+               }\r
+\r
+               free(pbBuf);\r
+\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if (temp_Src1->sign)\r
+       {\r
+               BN_Dst->sign = 1;\r
+       }\r
+       else\r
+       {\r
+               BN_Dst->sign = 0;\r
+       }\r
+\r
+       if (temp_Src1->Length > temp_Src2->Length)\r
+       {\r
+               BN_Dst->Length = temp_Src1->Length;\r
+               carry = SDRM_DWD_Add(BN_Dst->pData, temp_Src1->pData, temp_Src1->Length, temp_Src2->pData, temp_Src2->Length);\r
+               if (carry)\r
+               {\r
+                       BN_Dst->pData[BN_Dst->Length++] = carry;\r
+               }\r
+       }\r
+       else\r
+       {\r
+               BN_Dst->Length = temp_Src2->Length;\r
+               carry = SDRM_DWD_Add(BN_Dst->pData, temp_Src2->pData, temp_Src2->Length, temp_Src1->pData, temp_Src1->Length);\r
+               if ( carry )\r
+               {\r
+                       BN_Dst->pData[BN_Dst->Length++] = carry;\r
+               }\r
+       }\r
+\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_Dst);\r
+\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Sub\r
+ * @brief      Big Number Subtraction\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Src1         [in]first element\r
+ * @param      BN_Src2         [in]second element\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Sub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+{\r
+       int                             i, add = 0, neg = 0, dSize, dAllocSize; \r
+       SDRM_BIG_NUM    *temp, *temp_Src1, *temp_Src2;\r
+       cc_u8                   *pbBuf;\r
+               \r
+       dSize = MAX2(BN_Src1->Size, BN_Src2->Size);\r
+       dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+       pbBuf = (cc_u8*)malloc(dAllocSize * 2);\r
+       \r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       temp_Src1 = SDRM_BN_Alloc(pbBuf, dSize);\r
+       temp_Src2 = SDRM_BN_Alloc(pbBuf + dAllocSize, dSize);\r
+\r
+       SDRM_BN_Copy(temp_Src1, BN_Src1);\r
+       SDRM_BN_Copy(temp_Src2, BN_Src2);\r
+\r
+       if (BN_Src1 == BN_Src2)\r
+       {\r
+               SDRM_BN_Clr(BN_Dst);\r
+               free(pbBuf);\r
+\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       //to process sign\r
+       if (temp_Src1->sign)\r
+       {\r
+               if (temp_Src2->sign)\r
+               {\r
+                       temp = temp_Src1;\r
+                       temp_Src1 = temp_Src2;\r
+                       temp_Src2 = temp;\r
+               }\r
+               else\r
+               {\r
+                       add = 1;\r
+                       neg = 1;\r
+               }\r
+       }\r
+       else\r
+       {\r
+               if (temp_Src2->sign)\r
+               {\r
+                       add = 1;\r
+                       neg = 0;\r
+               }\r
+       }\r
+\r
+       if (add)\r
+       {\r
+               i = (temp_Src1->Length | temp_Src2->Length) +1;\r
+               if (i)\r
+               {\r
+                       SDRM_BN_Add(BN_Dst, temp_Src1, temp_Src2);\r
+               }\r
+               else\r
+               {\r
+                       SDRM_BN_Add(BN_Dst, temp_Src2, temp_Src1);\r
+               }\r
+\r
+               BN_Dst->sign = neg;\r
+               free(pbBuf);\r
+\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if (SDRM_BN_Cmp(temp_Src1, temp_Src2) < 0)\r
+       {\r
+               SDRM_DWD_Sub(BN_Dst->pData, temp_Src2->pData, temp_Src2->Length, temp_Src1->pData, temp_Src1->Length);\r
+               BN_Dst->sign = 1;\r
+               BN_Dst->Length = temp_Src2->Length;\r
+       }\r
+       else\r
+       {\r
+               SDRM_DWD_Sub(BN_Dst->pData, temp_Src1->pData, temp_Src1->Length, temp_Src2->pData, temp_Src2->Length);\r
+               BN_Dst->sign = 0;\r
+               BN_Dst->Length = temp_Src1->Length;\r
+       }\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_Dst);\r
+\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Mul\r
+ * @brief      Big Number Multiplication\r
+ *\r
+ * @param      BN_Dst                  [out]destination\r
+ * @param      BN_Multiplicand [in]first element\r
+ * @param      BN_Multiplier   [in]second element\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Multiplicand, SDRM_BIG_NUM *BN_Multiplier)\r
+{\r
+       SDRM_BIG_NUM    *Dst;\r
+\r
+       if ((BN_Multiplicand->Length == 0) || (BN_Multiplier->Length == 0))\r
+       {\r
+               SDRM_BN_Clr(BN_Dst);\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       Dst = SDRM_BN_Init(BN_Dst->Size * 2);\r
+       if (Dst == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       Dst->Length = BN_Multiplicand->Length + BN_Multiplier->Length;\r
+\r
+       if (BN_Multiplicand->sign != BN_Multiplier->sign)\r
+       {\r
+               Dst->sign = 1;\r
+       }\r
+       else\r
+       {\r
+               Dst->sign = 0;\r
+       }\r
+\r
+       if (BN_Multiplicand->Length > BN_Multiplier->Length)\r
+       {\r
+               SDRM_DWD_Mul(Dst->pData, BN_Multiplicand->pData, BN_Multiplicand->Length, BN_Multiplier->pData, BN_Multiplier->Length);\r
+       }\r
+       else\r
+       {\r
+               SDRM_DWD_Mul(Dst->pData, BN_Multiplier->pData, BN_Multiplier->Length, BN_Multiplicand->pData, BN_Multiplicand->Length);\r
+       }\r
+\r
+       SDRM_BN_OPTIMIZE_LENGTH(Dst);\r
+\r
+       SDRM_BN_Copy(BN_Dst, Dst);\r
+       SDRM_BN_FREE(Dst);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_Div\r
+ * @brief      Big Number Division\r
+ *\r
+ * @param      BN_Quotient             [out]quotient\r
+ * @param      BN_Remainder    [out]remainder\r
+ * @param      BN_Dividend             [in]dividend\r
+ * @param      BN_Divisor              [in]divisor\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_Div(SDRM_BIG_NUM *BN_Quotient, SDRM_BIG_NUM *BN_Remainder, SDRM_BIG_NUM *BN_Dividend, SDRM_BIG_NUM *BN_Divisor)\r
+{\r
+       cc_u32                  tmp, dSize, dAllocSize;\r
+       SDRM_BIG_NUM    *temp_Dividend, *temp_Divisor;\r
+       cc_u32                  *bnTmp;\r
+       cc_u8                   *pbBuf;\r
+\r
+       if (BN_Quotient != NULL)\r
+       {\r
+               dSize = MAX2(BN_Quotient->Size, BN_Dividend->Size);\r
+       }\r
+       else\r
+       {\r
+               dSize = BN_Dividend->Size;\r
+       }\r
+\r
+       dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+\r
+       pbBuf = (cc_u8*)malloc(dAllocSize * 3 + 2 * SDRM_SIZE_OF_DWORD);\r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+       \r
+       temp_Dividend   = SDRM_BN_Alloc(pbBuf, dSize);\r
+       temp_Divisor    = SDRM_BN_Alloc(pbBuf + dAllocSize, dSize);\r
+       bnTmp = (cc_u32*)(void*)(pbBuf + dSize + dAllocSize);\r
+\r
+       SDRM_BN_Copy(temp_Dividend, BN_Dividend);\r
+       SDRM_BN_Copy(temp_Divisor, BN_Divisor);\r
+\r
+       if (SDRM_BN_Cmp(temp_Dividend, temp_Divisor) < 0)\r
+       {\r
+               if (BN_Remainder != NULL)\r
+               {\r
+                       SDRM_BN_Copy(BN_Remainder, temp_Dividend);\r
+                       free(pbBuf);\r
+\r
+                       return CRYPTO_SUCCESS;\r
+               }\r
+\r
+               if (BN_Quotient != NULL)\r
+               {\r
+                       SDRM_BN_Clr(BN_Quotient);\r
+               }\r
+               free(pbBuf);\r
+\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if (BN_Quotient == NULL)\r
+       {\r
+               BN_Remainder->Length = temp_Divisor->Length;\r
+\r
+               tmp = SDRM_DWD_Div(bnTmp, BN_Remainder->pData, temp_Dividend->pData, temp_Dividend->Length, temp_Divisor->pData, temp_Divisor->Length);\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_Remainder);\r
+               BN_Remainder->sign = BN_Dividend->sign;\r
+       }\r
+       else if (BN_Remainder == NULL)\r
+       {\r
+               BN_Quotient->Length = temp_Dividend->Length - temp_Divisor->Length + 1;\r
+\r
+               tmp = SDRM_DWD_Div(BN_Quotient->pData, bnTmp, temp_Dividend->pData, temp_Dividend->Length, temp_Divisor->pData, temp_Divisor->Length);\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_Quotient);\r
+               BN_Quotient->sign= (BN_Dividend->sign^BN_Divisor->sign);\r
+       }\r
+       else\r
+       {\r
+               BN_Quotient->Length = temp_Dividend->Length - temp_Divisor->Length + 1;\r
+               BN_Remainder->Length = temp_Divisor->Length;\r
+               BN_Quotient->sign= (BN_Dividend->sign^BN_Divisor->sign);\r
+               BN_Remainder->sign = BN_Dividend->sign;\r
+\r
+               tmp = SDRM_DWD_Div(BN_Quotient->pData, BN_Remainder->pData, BN_Dividend->pData, BN_Dividend->Length, BN_Divisor->pData, BN_Divisor->Length);\r
+\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_Quotient);\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_Remainder);\r
+       }\r
+\r
+       free(pbBuf);\r
+\r
+       if (tmp != 0)\r
+       {\r
+               return CRYPTO_ERROR;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_ModAdd\r
+ * @brief      Big Number Modular Addition\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Src1         [in]first element of addition\r
+ * @param      BN_Src2         [in]second element of addition\r
+ * @param      BN_Modulus      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModAdd(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus)\r
+{\r
+       SDRM_BIG_NUM    *BN_Src1_temp, *BN_Src2_temp;\r
+       cc_u8                   *pbBuf;\r
+       cc_u32                  tmp = 0, dSize, AllocSize;\r
+\r
+       dSize = MAX3(BN_Src1->Size, BN_Src2->Size, BN_Modulus->Size);\r
+       AllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+\r
+       pbBuf = (cc_u8*)malloc(AllocSize * 2);\r
+       \r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_Src1_temp = SDRM_BN_Alloc(pbBuf, dSize);\r
+       BN_Src2_temp = SDRM_BN_Alloc(pbBuf + AllocSize, dSize);\r
+\r
+       SDRM_BN_Copy(BN_Src1_temp, BN_Src1);\r
+       SDRM_BN_Copy(BN_Src2_temp, BN_Src2);\r
+\r
+       if ((SDRM_BN_Cmp(BN_Src1, BN_Modulus)>=0))\r
+       {\r
+               SDRM_BN_ModRed(BN_Src1_temp, BN_Src1, BN_Modulus);\r
+       }\r
+\r
+       if ((SDRM_BN_Cmp(BN_Src2, BN_Modulus)>=0))\r
+       {\r
+               SDRM_BN_ModRed(BN_Src2_temp, BN_Src2, BN_Modulus);\r
+       }\r
+\r
+       if ( BN_Src1_temp->Length>=BN_Src2_temp->Length )\r
+       {\r
+               BN_Dst->Length = BN_Src1_temp->Length;\r
+               BN_Dst->sign = BN_Src1_temp->sign;\r
+               tmp = SDRM_DWD_Add(BN_Dst->pData, BN_Src1_temp->pData, BN_Src1_temp->Length, BN_Src2_temp->pData, BN_Src2_temp->Length);\r
+       }\r
+       else\r
+       {\r
+               BN_Dst->Length = BN_Src2_temp->Length;\r
+               BN_Dst->sign = BN_Src2_temp->sign;\r
+               tmp = SDRM_DWD_Add(BN_Dst->pData, BN_Src2_temp->pData, BN_Src2_temp->Length,\r
+                                                                        BN_Src1_temp->pData, BN_Src1_temp->Length);\r
+       }\r
+\r
+       if (tmp)\r
+       {\r
+               BN_Dst->pData[BN_Dst->Length++] = tmp;\r
+       }\r
+\r
+       SDRM_BN_ModRed(BN_Dst, BN_Dst, BN_Modulus);\r
+\r
+       if (SDRM_DWD_Cmp(BN_Dst->pData, BN_Dst->Length, BN_Modulus->pData, BN_Modulus->Length) >= 0)\r
+       {\r
+               SDRM_DWD_Sub(BN_Dst->pData, BN_Dst->pData, BN_Dst->Length, BN_Modulus->pData, BN_Modulus->Length);\r
+       }\r
+\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_Dst);\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_ModSub\r
+ * @brief      Big Number Modular Subtraction\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Src1         [in]first element of subtraction\r
+ * @param      BN_Src2         [in]second element of subtraction\r
+ * @param      BN_Modulus      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModSub(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus)\r
+{\r
+       cc_u32                  tmp = 0, dSize, AllocSize;\r
+       SDRM_BIG_NUM    *BN_Src1_temp, *BN_Src2_temp;\r
+       cc_u8                   *pbBuf;\r
+\r
+       dSize = MAX3(BN_Src1->Size, BN_Src2->Size, BN_Modulus->Size);\r
+       AllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+\r
+       pbBuf = (cc_u8*)malloc(AllocSize * 2);\r
+       \r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_Src1_temp = SDRM_BN_Alloc(pbBuf, dSize);\r
+       BN_Src2_temp = SDRM_BN_Alloc(pbBuf + AllocSize, dSize);\r
+\r
+       SDRM_BN_Copy(BN_Src1_temp, BN_Src1);\r
+       SDRM_BN_Copy(BN_Src2_temp, BN_Src2);\r
+\r
+       if ((SDRM_BN_Cmp(BN_Src1, BN_Modulus) >= 0))\r
+       {\r
+               SDRM_BN_ModRed(BN_Src1_temp, BN_Src1, BN_Modulus);\r
+       }\r
+\r
+       if ((SDRM_BN_Cmp(BN_Src2, BN_Modulus) >= 0))\r
+       {\r
+               SDRM_BN_ModRed(BN_Src2_temp, BN_Src2, BN_Modulus);\r
+       }\r
+\r
+       if (SDRM_DWD_Cmp(BN_Src1_temp->pData, BN_Src1_temp->Length, BN_Src2_temp->pData, BN_Src2_temp->Length) >= 0)\r
+       {\r
+               BN_Dst->Length = BN_Src1_temp->Length;\r
+               BN_Dst->sign = BN_Src1_temp->sign;\r
+\r
+               tmp = SDRM_DWD_Sub(BN_Dst->pData, BN_Src1_temp->pData, BN_Src1_temp->Length, BN_Src2_temp->pData, BN_Src2_temp->Length);\r
+       }\r
+       else\r
+       {\r
+               BN_Dst->Length = BN_Modulus->Length;\r
+               BN_Dst->sign = BN_Modulus->sign;\r
+               SDRM_DWD_Add(BN_Dst->pData, BN_Modulus->pData, BN_Modulus->Length, BN_Src1_temp->pData, BN_Src1_temp->Length);\r
+               SDRM_DWD_Sub(BN_Dst->pData, BN_Dst->pData, BN_Dst->Length, BN_Src2_temp->pData, BN_Src2_temp->Length);\r
+       }\r
+\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_Dst);\r
+       free(pbBuf);\r
+\r
+       if (tmp != 0)\r
+       {\r
+               return CRYPTO_ERROR;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_ModRed\r
+ * @brief      Big Number Modular Reduction\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Src          [in]source\r
+ * @param      BN_Modulus      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModRed(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus)\r
+{\r
+       int                     ret;\r
+       cc_u32          *Value = (cc_u32*)malloc(SDRM_SIZE_OF_DWORD * 2 * (sizeof(SDRM_BIG_NUM) + MAX2(BN_Src->Size, BN_Modulus->Size) + 2));\r
+\r
+       if (!Value)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       if (SDRM_BN_Cmp(BN_Src, BN_Modulus) < 0)\r
+       {\r
+               SDRM_BN_Copy(BN_Dst, BN_Src);\r
+               free(Value);\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       memcpy(Value, BN_Src->pData, BN_Src->Length * SDRM_SIZE_OF_DWORD);\r
+\r
+       ret = SDRM_DWD_Classical_REDC(Value, BN_Src->Length,    BN_Modulus->pData, BN_Modulus->Length);\r
+\r
+       if (ret != CRYPTO_SUCCESS)\r
+       {\r
+               free(Value);\r
+               return ret;\r
+       }\r
+\r
+       memcpy(BN_Dst->pData, Value, BN_Modulus->Length * SDRM_SIZE_OF_DWORD);\r
+\r
+       BN_Dst->Length = BN_Modulus->Length;\r
+       BN_Dst->sign = BN_Modulus->sign;\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_Dst);\r
+\r
+       free(Value);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*     \r
+ * @fn         SDRM_BN_ModMul\r
+ * @brief      Big Number Modular Multiplication\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Src1         [in]first element of multiplication\r
+ * @param      BN_Src2         [in]second element of multipliation\r
+ * @param      BN_Modulus      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModMul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_NUM *BN_Modulus)\r
+{\r
+       int             ret;\r
+       cc_u32  *Value = (cc_u32*)malloc(SDRM_SIZE_OF_DWORD * (MAX3(BN_Src1->Size, BN_Src2->Size, BN_Modulus->Size) + 2));\r
+\r
+       if (!Value)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_Dst->sign = (BN_Src1->sign == BN_Src2->sign)? 0 : 1;\r
+\r
+       SDRM_DWD_Mul(Value, BN_Src1->pData, BN_Src1->Length, BN_Src2->pData, BN_Src2->Length);\r
+\r
+       ret = SDRM_DWD_Classical_REDC(Value, BN_Src1->Length+BN_Src2->Length, BN_Modulus->pData, BN_Modulus->Length);\r
+       if (ret != CRYPTO_SUCCESS)\r
+       {\r
+               free(Value);\r
+\r
+               return ret;\r
+       }\r
+\r
+       BN_Dst->Length = BN_Modulus->Length;\r
+\r
+       if (BN_Src1->Length + BN_Src2->Length <= BN_Dst->Length)\r
+       {\r
+               memset(BN_Dst->pData + BN_Src1->Length + BN_Src2->Length, 0, (BN_Dst->Length - BN_Src1->Length - BN_Src2->Length) * SDRM_SIZE_OF_DWORD);\r
+       }\r
+\r
+       memcpy(BN_Dst->pData, Value, (BN_Src1->Length + BN_Src2->Length) * SDRM_SIZE_OF_DWORD);\r
+\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_Dst);\r
+\r
+       free(Value);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
\r
+/*\r
+ * @fn         SDRM_BN_ModInv\r
+ * @brief      Big Number Modular Inverse\r
+ *\r
+ * @param      BN_Dest         [out]destination\r
+ * @param      BN_Src          [in]soure\r
+ * @param      BN_Modulus      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_NEGATIVE_INPUT           if source is negative value\r
+ * \n          CRYPTO_INVERSE_NOT_EXIST        if inverse is not exists\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModInv(SDRM_BIG_NUM *BN_Dest, SDRM_BIG_NUM *BN_Src, SDRM_BIG_NUM *BN_Modulus)\r
+{\r
+       SDRM_BIG_NUM    *BN_G0, *BN_G1, *BN_V0, *BN_V1, *BN_Y, *BN_Temp1, *BN_Temp2;\r
+       cc_u8                   *pbBuf = NULL;\r
+       cc_u32                  dSize, dAllocSize;\r
+\r
+       dSize = MAX2(BN_Src->Size, BN_Modulus->Size);\r
+       dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+\r
+       pbBuf = (cc_u8*)malloc(dAllocSize * 7);\r
+\r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_G0 =    SDRM_BN_Alloc(pbBuf, dSize);\r
+       BN_G1 =    SDRM_BN_Alloc((cc_u8*)BN_G0    + dAllocSize, dSize);\r
+       BN_V0 =    SDRM_BN_Alloc((cc_u8*)BN_G1    + dAllocSize, dSize);\r
+       BN_V1 =    SDRM_BN_Alloc((cc_u8*)BN_V0    + dAllocSize, dSize);\r
+       BN_Y =     SDRM_BN_Alloc((cc_u8*)BN_V1    + dAllocSize, dSize);\r
+       BN_Temp1 = SDRM_BN_Alloc((cc_u8*)BN_Y     + dAllocSize, dSize);\r
+       BN_Temp2 = SDRM_BN_Alloc((cc_u8*)BN_Temp1 + dAllocSize, dSize);\r
+\r
+       if (BN_Src->sign)\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_NEGATIVE_INPUT;\r
+       }\r
+\r
+       //Extended Euclid Algorithm\r
+       SDRM_BN_Copy(BN_G0, BN_Modulus);\r
+       SDRM_BN_ModRed(BN_G1, BN_Src, BN_Modulus);\r
+\r
+       SDRM_BN_Copy(BN_V0, BN_Zero);\r
+       SDRM_BN_Copy(BN_V1, BN_One);\r
+\r
+       SDRM_BN_Clr(BN_Y);\r
+       SDRM_BN_Clr(BN_Dest);\r
+\r
+       while(SDRM_BN_Cmp(BN_G1, BN_Zero))\r
+       {\r
+               if (!SDRM_BN_Cmp(BN_G1, BN_One))\r
+               {\r
+                       SDRM_BN_Copy(BN_Dest, BN_V1);\r
+                       SDRM_BN_OPTIMIZE_LENGTH(BN_Dest);\r
+                       free(pbBuf);\r
+\r
+                       return CRYPTO_SUCCESS;\r
+               }\r
+\r
+               SDRM_BN_Clr(BN_Y);\r
+               SDRM_BN_Clr(BN_Temp1);\r
+               SDRM_DWD_Div(BN_Y->pData, BN_Temp1->pData, BN_G0->pData, BN_G0->Length, BN_G1->pData, BN_G1->Length);\r
+\r
+               BN_Y->Length = BN_G0->Length;\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_Y);\r
+\r
+               BN_Temp1->Length = BN_G1->Length;\r
+               SDRM_BN_Copy(BN_G0, BN_Temp1);\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_G0);\r
+\r
+               SDRM_BN_Clr(BN_Temp1);\r
+               SDRM_DWD_Mul(BN_Temp1->pData, BN_Y->pData, BN_Y->Length, BN_V1->pData, BN_V1->Length);\r
+               BN_Temp1->Length = BN_Y->Length + BN_V1->Length;\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_Temp1);\r
+\r
+               SDRM_BN_Clr(BN_Temp2);\r
+               if (SDRM_BN_Cmp(BN_V0, BN_Temp1) >= 0)\r
+               {\r
+                       SDRM_BN_Add(BN_Temp2, BN_V0, BN_Temp1);\r
+               }\r
+               else\r
+               {\r
+                       SDRM_BN_Add(BN_Temp2, BN_Temp1, BN_V0);\r
+               }\r
+\r
+               SDRM_BN_Copy(BN_V0, BN_Temp2);\r
+\r
+               if (!SDRM_BN_Cmp(BN_G0, BN_Zero))\r
+               {\r
+                       break;\r
+               }\r
+\r
+               if (!SDRM_BN_Cmp(BN_G0, BN_One))\r
+               {\r
+                       SDRM_BN_Sub(BN_Dest, BN_Modulus, BN_V0);\r
+                       SDRM_BN_OPTIMIZE_LENGTH(BN_Dest);\r
+                       free(pbBuf);\r
+\r
+                       return CRYPTO_SUCCESS;\r
+               }\r
+\r
+               SDRM_BN_Clr(BN_Y);\r
+               SDRM_BN_Clr(BN_Temp1);\r
+               SDRM_DWD_Div(BN_Y->pData, BN_Temp1->pData, BN_G1->pData, BN_G1->Length, BN_G0->pData, BN_G0->Length);\r
+\r
+               BN_Y->Length = BN_G1->Length;\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_Y);\r
+\r
+               BN_Temp1->Length = BN_G0->Length;\r
+               SDRM_BN_Copy(BN_G1, BN_Temp1);\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_G1);\r
+\r
+               SDRM_BN_Clr(BN_Temp1);\r
+               SDRM_DWD_Mul(BN_Temp1->pData, BN_Y->pData, BN_Y->Length, BN_V0->pData, BN_V0->Length);\r
+               BN_Temp1->Length = BN_Y->Length + BN_V0->Length;\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_Temp1);\r
+\r
+               SDRM_BN_Clr(BN_Temp2);\r
+               if (SDRM_BN_Cmp(BN_V1, BN_Temp1) >= 0)\r
+               {\r
+                       SDRM_BN_Add(BN_Temp2, BN_V1, BN_Temp1);\r
+               }\r
+               else\r
+               {\r
+                       SDRM_BN_Add(BN_Temp2, BN_Temp1, BN_V1);\r
+               }\r
+\r
+               SDRM_BN_Copy(BN_V1, BN_Temp2);\r
+       }\r
+\r
+       SDRM_BN_Copy(BN_Dest, BN_Zero);\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_INVERSE_NOT_EXIST;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_MONT_Rzn2zn\r
+ * @brief      Convert Montgomery number to noraml number\r
+ *\r
+ * @param      BN_Dst          [out]destination, normal number\r
+ * @param      BN_Src1         [in]source, montgomery number\r
+ * @param      Mont            [in]montgomery parameters\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MONT_Rzn2zn(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_MONT *Mont)\r
+{\r
+       cc_u32                  Src1_Len, Mod_Len, ri, i;\r
+       cc_u32                  carry;\r
+       SDRM_BIG_NUM    *Src1 = NULL;\r
+       \r
+       if (!BN_Src1->Length)\r
+       {\r
+               BN_Dst->Length = 0;\r
+\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       Src1_Len = ri = Mont->ri / SDRM_BitsInDWORD;\r
+       Mod_Len = Mont->Mod->Length + 1;\r
+\r
+       Src1 = SDRM_BN_Init(BN_Src1->Size + Mod_Len);\r
+       if(Src1 == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;                                \r
+       }\r
+       \r
+       SDRM_BN_Copy(Src1, BN_Src1);\r
+       \r
+       if (!Src1_Len || !Mod_Len)\r
+       {\r
+               BN_Dst->Length = 0;\r
+               BN_Dst->pData[0] = 0;\r
+               SDRM_BN_FREE(Src1);\r
+\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       Src1->sign = BN_Src1->sign ^ Mont->Mod->sign;\r
+\r
+       memset(Src1->pData + Src1->Length, 0, (Mod_Len + BN_Src1->Length - Src1->Length) * SDRM_SIZE_OF_DWORD);\r
+       \r
+       Src1->Length = Mod_Len + BN_Src1->Length;\r
+\r
+       for (i = 0; i < Mod_Len; i++)\r
+       {       \r
+               if ((carry = SDRM_DWD_MulAdd(Src1->pData + i, Src1->Length - i, Mont->Mod->pData, Mod_Len, (cc_u32)Src1->pData[i] * Mont->N0)))\r
+               {\r
+                       Src1->pData[Src1->Length++] = carry;                                                            //Added by Park Ji soon, 05-03-2006\r
+               }                                                                                                                                               // (cc_u32)A.pData[i]*modulus_p   <== u=a[i]*m' mod b\r
+                                                                                                                                                               //  A=A+ (A.pData[i]*modulus_p* modulus[i])*b^i;\r
+       }\r
+       SDRM_BN_OPTIMIZE_LENGTH(Src1);\r
+\r
+       SDRM_BN_SHR(BN_Dst, Src1, (Mod_Len) * 32);\r
+       //BN_Dst->Length = Src1->Length - ri;\r
+       BN_Dst->Length = Src1->Length - ri- 1;//Added by yhhwang\r
+\r
+       //if (SDRM_BN_Cmp(BN_Dst, Mont->Mod) >= 0)\r
+       while (SDRM_BN_Cmp(BN_Dst, Mont->Mod) >= 0)\r
+       {\r
+               SDRM_BN_Sub(BN_Dst, BN_Dst, Mont->Mod);\r
+       }\r
+\r
+       SDRM_BN_FREE(Src1);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_MONT_Mul\r
+ * @brief      Montgomery Multiplication\r
+ *\r
+ * @param      BN_Dst          [out]destination, montgomery number\r
+ * @param      BN_Src1         [in]first element, montgomery number\r
+ * @param      BN_Src2         [in]second element, montgomery number\r
+ * @param      Mont            [in]montgomery parameters\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MONT_Mul(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2, SDRM_BIG_MONT *Mont)\r
+{\r
+       int ret;\r
+\r
+       /* Begin - Add to test input range by Yong Ho Hwang (20120809) */\r
+       /*\r
+       if (SDRM_BN_Cmp(BN_Src1, Mont->Mod) >= 0)\r
+       {\r
+               ret = SDRM_BN_ModRed(BN_Src1, BN_Src1, Mont->Mod);\r
+               if (ret != CRYPTO_SUCCESS)\r
+               {\r
+                       return ret;\r
+               }\r
+       } else if ( BN_Src1->sign == 1)\r
+       {\r
+               printf("Minus Value\n");\r
+               ret = SDRM_BN_Add(BN_Src1, BN_Src1, Mont->Mod);\r
+               if (BN_Src1->sign == 1)\r
+               {\r
+                       printf("Value Fail.\n");\r
+                       return CRYPTO_ERROR;\r
+               }\r
+       }\r
+       \r
+       if (SDRM_BN_Cmp(BN_Src2, Mont->Mod) >= 0)\r
+       {\r
+               ret = SDRM_BN_ModRed(BN_Src2, BN_Src2, Mont->Mod);\r
+               if (ret != CRYPTO_SUCCESS)\r
+               {\r
+                       return ret;\r
+               }\r
+       } else if ( BN_Src2->sign == 1)\r
+       {\r
+               printf("Minus Value\n");\r
+               ret = SDRM_BN_Add(BN_Src2, BN_Src2, Mont->Mod);\r
+               if (BN_Src2->sign == 1)\r
+               {\r
+                       printf("Value Fail.\n");\r
+                       return CRYPTO_ERROR;\r
+               }\r
+       }\r
+       */\r
+       /* End - Add to test input range by Yong Ho Hwang (20120809) */\r
+\r
+       ret = SDRM_BN_Mul(BN_Dst, BN_Src1, BN_Src2);\r
+       if (ret != CRYPTO_SUCCESS)\r
+       {\r
+               return ret;\r
+       }\r
+\r
+       ret = SDRM_MONT_Rzn2zn(BN_Dst, BN_Dst, Mont);\r
+\r
+       /* Begin - Add to test input range by Yong Ho Hwang (20120809) */\r
+       /*\r
+       if (SDRM_BN_Cmp(BN_Dst, Mont->Mod) >= 0)\r
+       {\r
+               printf("Output is bigger than Mod\n");\r
+       } else if ( BN_Dst->sign == 1)\r
+       {\r
+               printf("Minus Value\n");\r
+       }\r
+       */\r
+       /* End - Add to test input range by Yong Ho Hwang (20120809) */\r
+\r
+       return ret;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_MONT_Set\r
+ * @brief      Set Montgomery parameters\r
+ *\r
+ * @param      Mont            [out]montgomery parameter\r
+ * @param      BN_Modulus      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          BN_NOT_ENOUGHT_BUFFER if malloc is failed\r
+ * \n          CRYPTO_INVERSE_NOT_EXIST if inverse is not exists\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MONT_Set(SDRM_BIG_MONT *Mont, SDRM_BIG_NUM *BN_Modulus)\r
+{\r
+       SDRM_BIG_NUM    *Ri, *R;\r
+       SDRM_BIG_NUM    *temp, *Rsquare;\r
+       cc_u8                   *pbBuf;\r
+       cc_u32                  buf[2], dSize, dAllocSize, r2Size;\r
+\r
+       if ((Mont == NULL) || (BN_Modulus == NULL))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (Mont->R == NULL)\r
+       {\r
+               Mont->R = SDRM_BN_Init(BN_Modulus->Size);\r
+               if(Mont->R == NULL)\r
+               {                       \r
+                       return CRYPTO_MEMORY_ALLOC_FAIL;\r
+               }\r
+       }\r
+\r
+       if (Mont->Mod == NULL)\r
+       {\r
+               Mont->Mod = SDRM_BN_Init(BN_Modulus->Size);\r
+               if(Mont->Mod == NULL)\r
+               {\r
+                       free(Mont->R);\r
+                       return CRYPTO_MEMORY_ALLOC_FAIL;\r
+               }\r
+       }\r
+\r
+       if (SDRM_BN_Cmp(Mont->Mod, BN_Modulus) == 0)\r
+       {\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       dSize = BN_Modulus->Size + 1;\r
+       dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+       if (!(pbBuf = (cc_u8*)malloc(dAllocSize * 3)))\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       Ri =   SDRM_BN_Alloc( pbBuf,                             dSize);\r
+       R =    SDRM_BN_Alloc((cc_u8*)Ri + dAllocSize, dSize);\r
+       temp = SDRM_BN_Alloc((cc_u8*)R  + dAllocSize, dSize);\r
+\r
+//++ 2012.08.20 - modified by yhhwang to apply R=2^(160+32)\r
+/* == DELETED ==\r
+       SDRM_BN_Copy(Mont->Mod, BN_Modulus);\r
+\r
+       Mont->ri = (SDRM_BN_num_bits(BN_Modulus) + (SDRM_BitsInDWORD - 1)) / SDRM_BitsInDWORD * SDRM_BitsInDWORD;\r
+\r
+       SDRM_BN_SHL(R, BN_One, SDRM_BitsInDWORD);\r
+\r
+       buf[0] = BN_Modulus->pData[0];\r
+       buf[1] = 0;\r
+       temp->pData[0] = buf[0];\r
+       temp->Length = 1;\r
+       temp->sign = BN_Modulus->sign;\r
+\r
+       SDRM_BN_ModInv(Ri, R, temp);\r
+       if (Ri == NULL)\r
+       {\r
+               free(pbBuf);\r
+\r
+               return CRYPTO_INVERSE_NOT_EXIST;\r
+       }\r
+\r
+       SDRM_BN_SHL(Ri, Ri, SDRM_BitsInDWORD);\r
+       SDRM_BN_Sub(Ri, Ri, BN_One);\r
+       SDRM_BN_Div(Ri, NULL, Ri, temp);\r
+       SDRM_BN_Copy(Mont->Inv_Mod, Ri);\r
+       Mont->N0 = Ri->pData[0];\r
+\r
+       SDRM_BN_SHL(Mont->R, BN_One, 2 * (32 + Mont->ri));\r
+       SDRM_BN_ModRed(Mont->R, Mont->R, Mont->Mod);\r
+*/\r
+\r
+// == NEW CODE ==\r
+       SDRM_BN_Copy(Mont->Mod, BN_Modulus);\r
+       Mont->Mod->pData[Mont->Mod->Length] = 0;        \r
+       \r
+       Mont->ri = (SDRM_BN_num_bits(BN_Modulus) + (SDRM_BitsInDWORD - 1)) / SDRM_BitsInDWORD * SDRM_BitsInDWORD;\r
+\r
+       SDRM_BN_SHL(R, BN_One, SDRM_BitsInDWORD);\r
+       \r
+       // Compute -m^-1 mod b\r
+       buf[0] = BN_Modulus->pData[0];\r
+       buf[1] = 0;\r
+       temp->pData[0] = buf[0];\r
+       temp->Length = 1;\r
+       temp->sign = BN_Modulus->sign;\r
+       \r
+       SDRM_BN_ModInv(Ri, temp, R);\r
+       Ri->sign = 1;\r
+       SDRM_BN_Add(Ri, Ri, R);\r
+       Mont->N0 = Ri->pData[0];\r
+       \r
+       r2Size = 2 * (SDRM_BitsInDWORD + Mont->ri);\r
+       Rsquare = SDRM_BN_Init(r2Size / SDRM_BitsInDWORD + 1);\r
+       if (Rsquare == NULL)\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       // Compute R and R^2 mod M\r
+       SDRM_BN_SHL(Rsquare, BN_One, r2Size);\r
+       SDRM_BN_ModRed(Mont->R, Rsquare, BN_Modulus);\r
+//-- 2012.08.20 - modified by yhhwang\r
+\r
+       free(pbBuf);\r
+       free(Rsquare);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_MONT_Init\r
+ * @brief      Allocate new momory for Montgomery parameter\r
+ *\r
+ * @param      dSize   [in]size of buffer of big number\r
+ *\r
+ * @return     Pointer to created structure\r
+ * \n          NULL if malloc failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_BIG_MONT *SDRM_MONT_Init(cc_u32 dSize)\r
+{\r
+       SDRM_BIG_MONT   *Mont;\r
+       cc_u32                  AllocSiz = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+\r
+       Mont = (SDRM_BIG_MONT *)malloc(sizeof(SDRM_BIG_MONT) + AllocSiz * 3);\r
+       if (Mont == NULL)\r
+       {\r
+               return NULL;\r
+       }\r
+\r
+       Mont->ri          = 0;\r
+       Mont->R           = SDRM_BN_Alloc((cc_u8*)Mont + sizeof(SDRM_BIG_MONT), dSize);\r
+       Mont->Mod         = SDRM_BN_Alloc((cc_u8*)Mont->R + AllocSiz,              dSize);\r
+       Mont->Inv_Mod = SDRM_BN_Alloc((cc_u8*)Mont->Mod + AllocSiz,                dSize);\r
+\r
+       return Mont;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_MONT_Free\r
+ * @brief      Free allocated memory for montgomery paramter\r
+ *\r
+ * @param      Mont    [in]montgomery parameters\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_MONT_Free(SDRM_BIG_MONT *Mont)\r
+{\r
+       if (Mont != NULL) {\r
+               free(Mont);\r
+       }\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_num_bits\r
+ * @brief      Calc bit-length of Big Number\r
+ *\r
+ * @param      BN_Src  [in]source\r
+ *\r
+ * @return     bit-length\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_num_bits(SDRM_BIG_NUM *BN_Src)\r
+{\r
+       cc_u32  l;\r
+       int             i, j;\r
+\r
+       if (BN_Src->Length == 0)\r
+       {\r
+               return 0;\r
+       }\r
+\r
+       l = BN_Src->pData[BN_Src->Length - 1];\r
+       i = (BN_Src->Length-1) * SDRM_BitsInDWORD;\r
+\r
+       j = SDRM_UINT32_num_bits(&l);\r
+               \r
+       return(i + j);\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_UINT32_num_bits\r
+ * @brief      Calc bit-length of cc_u32\r
+ *\r
+ * @param      pdSrc   [in]source\r
+ *\r
+ * @return     bit-length\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_UINT32_num_bits(cc_u32 *pdSrc)\r
+{\r
+       int             i = 0;\r
+       cc_u32  temp;\r
+\r
+       temp = *pdSrc;\r
+\r
+       if (!temp)\r
+       {\r
+               return 0;\r
+       }\r
+\r
+       while(temp)\r
+       {\r
+               temp >>= 1;\r
+               i++;\r
+       }               \r
+       \r
+       return i;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_INT_num_bits\r
+ * @brief      Calc bit-length of integer\r
+ *\r
+ * @param      Src     [in]source\r
+ *\r
+ * @return     bit-length\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_INT_num_bits(int Src)\r
+{\r
+       int i = 0;\r
+\r
+       if (!Src)\r
+       {\r
+               return 0;\r
+       }\r
+\r
+       while(Src)\r
+       {\r
+               Src >>= 1;\r
+               i++;\r
+       }               \r
+       \r
+       return i;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_ModExp\r
+ * @brief      Big Number Modular Exponentiation\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Base         [in]base\r
+ * @param      BN_Exponent     [in]exponent\r
+ * @param      BN_Modulus      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_ERROR    if evaluation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModExp(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus)\r
+{\r
+       SDRM_BIG_NUM    *c_, *a_, *BN_Temp;\r
+       SDRM_BIG_MONT   *Mont;\r
+       int                             i, m;\r
+       cc_u8                   *pbBuf;\r
+       cc_u32                  dSize, dAllocSize;\r
+\r
+       dSize = MAX3(BN_Base->Size, BN_Exponent->Size, BN_Modulus->Size);\r
+       dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+\r
+       pbBuf = (cc_u8*)malloc(dAllocSize * 3);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       c_ = SDRM_BN_Alloc(pbBuf, dSize);\r
+       a_ = SDRM_BN_Alloc((cc_u8*)c_ + dAllocSize, dSize);\r
+       BN_Temp = SDRM_BN_Alloc((cc_u8*)a_ + dAllocSize, dSize);\r
+\r
+       if (SDRM_BN_Cmp(BN_Base, BN_Modulus) >= 0)\r
+       {\r
+               SDRM_BN_ModRed(BN_Temp, BN_Base, BN_Modulus);\r
+       }\r
+       else\r
+       {\r
+               BN_Temp = BN_Base;\r
+       }\r
+\r
+       if (SDRM_BN_Cmp(BN_Temp, BN_Zero) == 0)\r
+       {\r
+               SDRM_BN_Copy(BN_Dst, BN_Zero);\r
+\r
+               free(pbBuf);\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       Mont = SDRM_MONT_Init(dSize);\r
+       SDRM_MONT_Set(Mont, BN_Modulus);\r
+\r
+       SDRM_MONT_Zn2rzn(a_, BN_Temp, Mont);\r
+       SDRM_MONT_Zn2rzn(c_, BN_One, Mont);\r
+\r
+       m = SDRM_BN_num_bits(BN_Exponent);\r
+\r
+       for (i = m - 1; i >= 0; i--)\r
+       {\r
+               SDRM_MONT_Mul(c_, c_, c_, Mont);\r
+               \r
+               if (SDRM_CheckBitUINT32(BN_Exponent->pData, i) == 1)\r
+               {\r
+                       SDRM_MONT_Mul(c_, c_, a_, Mont);\r
+               }\r
+       }\r
+\r
+       SDRM_MONT_Rzn2zn(BN_Dst, c_, Mont);\r
+\r
+       SDRM_MONT_Free(Mont);\r
+\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_ModExp2\r
+ * @brief      Big Number Modular Exponentiation2 - Karen's method\r
+ *\r
+ * @param      BN_Dst          [out]destination\r
+ * @param      BN_Base         [in]base\r
+ * @param      BN_Exponent     [in]exponent\r
+ * @param      BN_Modulus      [in]modular m\r
+ *\r
+ * @return     CRYPTO_SUCCESS if no error occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_ERROR    if evaluation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_ModExp2(SDRM_BIG_NUM *BN_Dst, SDRM_BIG_NUM *BN_Base, SDRM_BIG_NUM *BN_Exponent, SDRM_BIG_NUM *BN_Modulus)\r
+{\r
+       int retVal;\r
+       SDRM_BIG_NUM *BN_Temp;\r
+\r
+       if ((BN_Dst != BN_Base) && (BN_Dst != BN_Exponent) && (BN_Dst != BN_Modulus))\r
+       {\r
+               SDRM_BN_Clr(BN_Dst);\r
+       }\r
+\r
+       if (SDRM_BN_Cmp(BN_Base, BN_Modulus) >= 0)\r
+       {\r
+               BN_Temp = SDRM_BN_Init(MAX3(BN_Base->Size, BN_Exponent->Size, BN_Modulus->Size));\r
+               if (BN_Temp == NULL)\r
+               {\r
+                       return CRYPTO_MEMORY_ALLOC_FAIL;\r
+               }\r
+\r
+               if (BN_Temp == BN_Base)\r
+               {\r
+                       free(BN_Temp);\r
+                       return CRYPTO_ERROR;\r
+               }\r
+\r
+               SDRM_BN_ModRed(BN_Temp, BN_Base, BN_Modulus);\r
+       }\r
+       else\r
+       {\r
+               BN_Temp = BN_Base;\r
+       }\r
+\r
+       if (SDRM_BN_Cmp(BN_Temp, BN_Zero) == 0)\r
+       {\r
+               SDRM_BN_Clr(BN_Dst);\r
+\r
+               if (BN_Temp != BN_Base)\r
+               {\r
+                       free(BN_Temp);\r
+               }\r
+\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       retVal = SDRM_ll_ExpMod(BN_Temp->pData, BN_Temp->Length * 4, BN_Exponent->pData, BN_Exponent->Length * 4, BN_Modulus->pData, BN_Modulus->Length * 4, BN_Dst->pData);\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               if (BN_Temp != BN_Base)\r
+               {\r
+                       free(BN_Temp);\r
+               }\r
+\r
+               return retVal;\r
+       }\r
+\r
+       BN_Dst->Length = BN_Dst->Size;\r
+\r
+       while(BN_Dst->pData[BN_Dst->Length - 1] == 0)\r
+       {\r
+               BN_Dst->Length--;\r
+       }\r
+\r
+       if (BN_Temp != BN_Base)\r
+       {\r
+               free(BN_Temp);\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_BN_CheckRelativelyPrime\r
+ * @brief      get gcd of two big number\r
+ *\r
+ * @param      BN_Src1                                         [in]first element\r
+ * @param      BN_Src2                                         [in]second element\r
+ *\r
+ * @return     CRYPTO_ISPRIME                          if two elements are relatively prime\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_ERROR    otherwise\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_CheckRelativelyPrime(SDRM_BIG_NUM *BN_Src1, SDRM_BIG_NUM *BN_Src2)\r
+{\r
+       SDRM_BIG_NUM    *Temp, *S1, *S2;\r
+       cc_u8                   *pbBuf;\r
+       cc_u32                  dSize, dAllocSize;\r
+\r
+       dSize = MAX2(BN_Src1->Size, BN_Src2->Size);\r
+       dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+\r
+       if (!(pbBuf = (cc_u8*)malloc(dAllocSize * 3)))\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       S1       = SDRM_BN_Alloc(pbBuf,                                 dSize);\r
+       S2       = SDRM_BN_Alloc((cc_u8*)S1 + dAllocSize, dSize);\r
+       Temp = SDRM_BN_Alloc((cc_u8*)S2 + dAllocSize, dSize);\r
+\r
+       if (SDRM_BN_Cmp(BN_Src1, BN_Src2) >= 0)\r
+       {\r
+               SDRM_BN_Copy(S1, BN_Src1);\r
+               SDRM_BN_Copy(S2, BN_Src2);\r
+       }\r
+       else\r
+       {\r
+               SDRM_BN_Copy(S1, BN_Src2);\r
+               SDRM_BN_Copy(S2, BN_Src1);\r
+       }\r
+\r
+       while(S2->Length)\r
+       {\r
+               SDRM_BN_ModRed(Temp, S1, S2);\r
+               SDRM_BN_Copy(S1, S2);\r
+               SDRM_BN_Copy(S2, Temp);\r
+       }\r
+\r
+       if (SDRM_BN_Cmp(S1, BN_One) == 0)\r
+       {\r
+               free(pbBuf);\r
+\r
+               return CRYPTO_ISPRIME;\r
+       }\r
+       \r
+       free(pbBuf);\r
+\r
+       return CRYPTO_ERROR;\r
+}\r
+\r
+//small primes for pre-testing\r
+static cc_u32 miniPrimes[] = {\r
+       0xC8E15F2A, 0x16FA4227, 0x87B81DA9, 0xDA38C071, 0xFDB17C23, 0xFE5E796B,\r
+       0xC7E4CBF5, 0x7EB0F0B1, 0xB72EFC93, 0xF46CEE57, 0x80B2C2BB, 0x34A77199,\r
+       0x447D1BD5, 0xEA4C7C31, 0xF046D45B, 0xFF55A7BF, 0x9B287041, 0x85663BEF,\r
+       0x7856625B, 0\r
+};\r
+\r
+/*\r
+ * @fn         SDRM_BN_MILLER_RABIN\r
+ * @brief      MILLER_RABIN Test\r
+ *\r
+ * @param      n                                       [in]value to test\r
+ * @param      t                                       [in]security parameter\r
+ *\r
+ * @return     CRYPTO_ISPRIME                  if n is (probably) prime\r
+ * \n          CRYPTO_INVALID_ARGUMENT if n is composite\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_BN_MILLER_RABIN(SDRM_BIG_NUM* n, cc_u32 t)\r
+{\r
+       SDRM_BIG_NUM    *r, *a, *y, *n1;\r
+       cc_u32                  i, j, tmp, srcLen, s = 1;\r
+       cc_u8                   *pbBuf;\r
+       cc_u32                  dSize, dAllocSize;\r
+       \r
+       dSize = n->Size;\r
+       dAllocSize = sizeof(SDRM_BIG_NUM) + dSize * SDRM_SIZE_OF_DWORD;\r
+\r
+       if (n->Length == 0)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if ((n->pData[0] & 0x01) == 0)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       for (i = 0; miniPrimes[i] != 0; i++)\r
+       {\r
+               tmp = 0;\r
+               for (j = n->Length - 1; j != (cc_u32)-1; j--)\r
+               {\r
+                       tmp = SDRM_DIGIT_Mod(tmp, n->pData[j], miniPrimes[i]);\r
+               }\r
+\r
+               if(SDRM_DIGIT_Gcd(miniPrimes[i], tmp) != 1)\r
+               {\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+       }\r
+       \r
+       while(SDRM_CheckBitUINT32(n->pData, s) == 0) s++;\r
+\r
+       pbBuf = (cc_u8*)malloc(dAllocSize * 4);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       r  = SDRM_BN_Alloc( pbBuf,                               dSize);\r
+       a  = SDRM_BN_Alloc((cc_u8*)r + dAllocSize, dSize);\r
+       y  = SDRM_BN_Alloc((cc_u8*)a + dAllocSize, dSize);\r
+       n1 = SDRM_BN_Alloc((cc_u8*)y + dAllocSize, dSize);\r
+\r
+       SDRM_BN_Sub(n1, n, BN_One);\r
+       SDRM_BN_SHR(r, n1, s);\r
+\r
+       srcLen = SDRM_BN_num_bits(n);\r
+\r
+       for (i = 1; i <= t; i++)\r
+       {\r
+               SDRM_BN_Rand(a, srcLen);\r
+               a->pData[n->Length - 1] %= n->pData[n->Length - 1];\r
+\r
+               SDRM_BN_ModExp(y, a, r, n);\r
+               if ((SDRM_BN_Cmp(y, BN_One) == 0) || (SDRM_BN_Cmp(y, n1) == 0))\r
+               {\r
+                       continue;\r
+               }\r
+\r
+               for (j = 1; (j < s) && SDRM_BN_Cmp(y, n1) != 0; j++)\r
+               {\r
+                       SDRM_BN_ModMul(y, y, y, n);\r
+\r
+                       if (SDRM_BN_Cmp(y, BN_One) == 0) \r
+                       {\r
+                               free(pbBuf);\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+                       }\r
+               }\r
+\r
+               if (SDRM_BN_Cmp(y, n1) != 0)\r
+               {\r
+                       free(pbBuf);\r
+\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+       }\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_ISPRIME;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/base/des.c b/SPC/Src/base/des.c
new file mode 100755 (executable)
index 0000000..ea9b741
--- /dev/null
@@ -0,0 +1,168 @@
+/**\r
+ * \file       des.c\r
+ * @brief      high-speed implementation of DES\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/12/06\r
+ */\r
+\r
+//////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+//////////////////////////////////////////////////////////////////////////\r
+#include "des.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_DES_KeySched\r
+ * @brief      Expand the cipher key into the encryption key schedule\r
+ *\r
+ * @param      RoundKey                        [out]generated round key\r
+ * @param      UserKey                         [in]user key, 8 byte\r
+ * @param      RKPos                           [in]index of round key starts\r
+ * @param      RKStep                          [in]step for index\r
+ *\r
+ * @return     the number of rounds for the given cipher key size\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 RKPos, cc_u32 RKStep)\r
+{\r
+       cc_u32  round, i, s, t, t2;\r
+       cc_u32  roundkey[16][2];\r
+       cc_u32  c = 0, d = 0;\r
+\r
+       //process Permuted Choice 1\r
+       for (i = 0; i < 28; i++)\r
+       {\r
+               t = SDRM_DES_KS_PC1[i];\r
+               c |= (UserKey[t >> 3] & SDRM_DES_BitMask[t & 0x07]) ? (1 << i) : 0;\r
+       }\r
+\r
+       for (i = 28; i < 56; i++)\r
+       {\r
+               t = SDRM_DES_KS_PC1[i];\r
+               d |= (UserKey[t >> 3] & SDRM_DES_BitMask[t & 0x07]) ? (1 << (i - 28)) : 0;\r
+       }\r
+\r
+       //get round key\r
+       for (round = 0; round < SDRM_DES_NUM_OF_ROUNDS; round++)\r
+       {\r
+               //shift left operation\r
+               c = (c >> SDRM_DES_KS_SHIFT[round]) | (c << (28 - SDRM_DES_KS_SHIFT[round]));\r
+               d = (d >> SDRM_DES_KS_SHIFT[round]) | (d << (28 - SDRM_DES_KS_SHIFT[round]));\r
+\r
+               s =     SDRM_des_skb[0][((c)      ) & 0x3f] | \r
+                       SDRM_des_skb[1][((c >>  6L) & 0x03) | ((c >>  7L) & 0x3c)] |\r
+                       SDRM_des_skb[2][((c >> 13L) & 0x0f) | ((c >> 14L) & 0x30)] |\r
+                       SDRM_des_skb[3][((c >> 20L) & 0x01) | ((c >> 21L) & 0x06)  | ((c>>22L)&0x38)];\r
+               t =     SDRM_des_skb[4][((d)      ) & 0x3f] |\r
+                       SDRM_des_skb[5][((d >>  7L) & 0x03) | ((d >>  8L) & 0x3c)] |\r
+                       SDRM_des_skb[6][ (d >> 15L) & 0x3f] |\r
+                       SDRM_des_skb[7][((d >> 21L) & 0x0f) | ((d >> 22L) & 0x30)];\r
+\r
+               t2 = (t << 16L) | (s & 0x0000ffffL);\r
+               roundkey[RKPos][0] = SDRM_rotr32(t2, 30);\r
+\r
+               t2 = ((s >> 16L) | (t & 0xffff0000L));\r
+               roundkey[RKPos][1] = SDRM_rotr32(t2, 26);\r
+\r
+               RKPos += RKStep;\r
+       }\r
+\r
+       memcpy(RoundKey, roundkey, 128);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DES_Encryption\r
+ * @brief      DES processing for one block\r
+ *\r
+ * @param      RoundKey                        [in]expanded round key\r
+ * @param      msg                                     [in]8 byte plaintext\r
+ * @param      out                                     [out]8 byte ciphertext\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out)\r
+{\r
+       cc_u32  l, r, i, t, u;\r
+\r
+       r = *(cc_u32*)(void*)(msg);\r
+       l = *(cc_u32*)(void*)(msg + 4);\r
+\r
+       SDRM_IP(r,l);\r
+\r
+       r = SDRM_rotr32(r, 29);\r
+       l = SDRM_rotr32(l, 29);\r
+\r
+       for (i = 0; i < SDRM_DES_NUM_OF_ROUNDS; i++)\r
+       {\r
+               if (i & 0x01)\r
+               {\r
+                       SDRM_D_ENCRYPT(r, l);\r
+               }\r
+               else\r
+               {\r
+                       SDRM_D_ENCRYPT(l, r);\r
+               }\r
+       }\r
+\r
+       r = SDRM_rotr32(r, 3);\r
+       l = SDRM_rotr32(l, 3);\r
+\r
+       SDRM_INV_IP(r, l);\r
+\r
+       memcpy(out        , &l, 4);\r
+       memcpy(out + 4, &r, 4);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DES64_Encryption\r
+ * @brief      one block DES Encryption\r
+ *\r
+ * @param      cipherText      [out]encrypted text\r
+ * @param      plainText       [in]plain text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey)\r
+{\r
+       cc_u32 RoundKey[16][2];\r
+\r
+       SDRM_DES_KeySched((cc_u8*)RoundKey, UserKey, 0, 1);\r
+\r
+       SDRM_DES_Encryption(RoundKey, plainText, cipherText);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DES64_Decryption\r
+ * @brief      one block DES Decryption\r
+ *\r
+ * @param      plainText       [out]decrypted text\r
+ * @param      cipherText      [in]cipher text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey)\r
+{\r
+       cc_u32 RoundKey[16][2];\r
+\r
+       SDRM_DES_KeySched((cc_u8*)RoundKey, UserKey, 15, (cc_u32)-1);\r
+\r
+       SDRM_DES_Encryption(RoundKey, cipherText, plainText);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/base/ecc.c b/SPC/Src/base/ecc.c
new file mode 100755 (executable)
index 0000000..b60b638
--- /dev/null
@@ -0,0 +1,1276 @@
+/**\r
+ * \file       ecc.c\r
+ * @brief      ecc library based on big number\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jiyoung Moon\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/05/03\r
+ * Note : optimized by Jiyoung Moon & Jisoon Park, August,2006.\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "ecc.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_ECC_Init\r
+ * @brief      return SDRM_EC_POINT structure\r
+ *\r
+ * @return     address of allocate structure\r
+ * \n          NULL    if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_EC_POINT *SDRM_ECC_Init()\r
+{\r
+       SDRM_EC_POINT   *temp;\r
+\r
+       temp = (SDRM_EC_POINT *)malloc(sizeof(SDRM_EC_POINT) + SDRM_ECC_ALLOC_SIZE * 5);\r
+       if (!temp)\r
+       {\r
+               return NULL;\r
+       }\r
+\r
+       temp->IsInfinity = 0;\r
+       temp->x  = SDRM_BN_Alloc((cc_u8*)temp     + sizeof(SDRM_EC_POINT), SDRM_ECC_BN_BUFSIZE);\r
+       temp->y  = SDRM_BN_Alloc((cc_u8*)temp->x  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       temp->z  = SDRM_BN_Alloc((cc_u8*)temp->y  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       temp->z2 = SDRM_BN_Alloc((cc_u8*)temp->z  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       temp->z3 = SDRM_BN_Alloc((cc_u8*)temp->z2 + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+\r
+       return temp;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CURVE_Init\r
+ * @brief      return SDRM_ECC_CTX structure\r
+ *\r
+ * @return     address of allocate structure\r
+ * \n          NULL    if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_ECC_CTX *SDRM_CURVE_Init()\r
+{\r
+       SDRM_ECC_CTX    *temp;\r
+       SDRM_EC_POINT   *ptr;\r
+       cc_u8                   *pbBlk;\r
+\r
+       temp = (SDRM_ECC_CTX *)malloc(sizeof(SDRM_ECC_CTX) + SDRM_ECC_ALLOC_SIZE * 15 + 2 * sizeof(SDRM_EC_POINT));\r
+       if (!temp) return NULL;\r
+\r
+       pbBlk = (cc_u8*)temp + sizeof(SDRM_ECC_CTX);\r
+\r
+       temp->ECC_a             = SDRM_BN_Alloc(pbBlk,                                                                    SDRM_ECC_BN_BUFSIZE);\r
+       temp->ECC_b             = SDRM_BN_Alloc((cc_u8*)temp->ECC_a + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       temp->ECC_p             = SDRM_BN_Alloc((cc_u8*)temp->ECC_b + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       temp->ECC_n             = SDRM_BN_Alloc((cc_u8*)temp->ECC_p + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       temp->PRIV_KEY  = SDRM_BN_Alloc((cc_u8*)temp->ECC_n + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+\r
+       temp->uDimension = 0;\r
+\r
+       ptr = (SDRM_EC_POINT*)(void*)((cc_u8*)temp + sizeof(SDRM_ECC_CTX) + SDRM_ECC_ALLOC_SIZE * 5);\r
+       ptr->IsInfinity = 0;\r
+       ptr->x  = SDRM_BN_Alloc((cc_u8*)ptr     + sizeof(SDRM_EC_POINT), SDRM_ECC_BN_BUFSIZE);\r
+       ptr->y  = SDRM_BN_Alloc((cc_u8*)ptr->x  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       ptr->z  = SDRM_BN_Alloc((cc_u8*)ptr->y  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       ptr->z2 = SDRM_BN_Alloc((cc_u8*)ptr->z  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       ptr->z3 = SDRM_BN_Alloc((cc_u8*)ptr->z2 + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+\r
+       temp->ECC_G = ptr;\r
+\r
+       ptr = (SDRM_EC_POINT*)(void*)((cc_u8*)ptr + sizeof(SDRM_EC_POINT) + SDRM_ECC_ALLOC_SIZE * 5);\r
+       ptr->IsInfinity = 0;\r
+       ptr->x  = SDRM_BN_Alloc((cc_u8*)ptr     + sizeof(SDRM_EC_POINT), SDRM_ECC_BN_BUFSIZE);\r
+       ptr->y  = SDRM_BN_Alloc((cc_u8*)ptr->x  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       ptr->z  = SDRM_BN_Alloc((cc_u8*)ptr->y  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       ptr->z2 = SDRM_BN_Alloc((cc_u8*)ptr->z  + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       ptr->z3 = SDRM_BN_Alloc((cc_u8*)ptr->z2 + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+\r
+       temp->PUBLIC_KEY = ptr;\r
+\r
+       return temp;\r
+}\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// ECC º¸Á¶ ¿¬»ê ÇÔ¼ö\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_CHECK_EC_POINT_ZERO\r
+ * @brief      check if the point points zero\r
+ *\r
+ * @param      r                       [in]point\r
+ *\r
+ * @return     1                       if the point is pointing zero\r
+ * \n          0                       otherwise\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CHECK_EC_POINT_ZERO(SDRM_EC_POINT* r)\r
+{\r
+       if ((r->x->Length == 0) | (r->y->Length == 0))\r
+       {\r
+               //      return = 1              if input is zero\r
+               return 1; \r
+       }\r
+       else\r
+       {\r
+               return 0; \r
+       }\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_Mont_Jm2Jc\r
+ * @brief      ÁÂÇ¥º¯È¯ 1 : Modified Jacobian  =>  Chundnovsky Jacobian \r
+ *                     (A->y)  <= (A->y)/2\r
+ *                     (A->z2) <= (A->z)^2\r
+ *                     (A->z3) <= (A->z)^3\r
+ *\r
+ * @param      EC_Dst                  [out]destination\r
+ * @param      new_a                   [in]first element\r
+ * @param      new_b                   [in]second element\r
+ * @param      Mont                    [in]montgomery context\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ * \n          CRYPTO_ERROR    if evaluation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Mont_Jm2Jc(SDRM_EC_POINT *EC_Dst, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont)\r
+{\r
+       if (SDRM_BN_IS_ODD(EC_Dst->y))\r
+       {\r
+               if (SDRM_BN_Add(EC_Dst->y, EC_Dst->y, Mont->Mod) != CRYPTO_SUCCESS)\r
+               {\r
+                       return CRYPTO_ERROR;\r
+               }\r
+       }\r
+       \r
+       if (SDRM_BN_SHR(EC_Dst->y, EC_Dst->y, 1) != CRYPTO_SUCCESS)\r
+       {\r
+               return CRYPTO_ERROR;\r
+       }\r
+       \r
+       SDRM_MONT_Mul(EC_Dst->z2, EC_Dst->z, EC_Dst->z, Mont);\r
+       SDRM_MONT_Mul(EC_Dst->z3, EC_Dst->z, EC_Dst->z2, Mont);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_Mont_Jc2Jm\r
+ * @brief      ÁÂÇ¥º¯È¯ 2 : Chundnovsky Jacobian  =>  Modified Jacobian\r
+ *                     (A->y)  <= 2*(A->y)\r
+ *                     (A->z2) <= new_a*(A->z)^4\r
+ *\r
+ * @param      A                               [out]destination\r
+ * @param      new_a                   [in]first element\r
+ * @param      new_b                   [in]second element\r
+ * @param      Mont                    [in]montgomery context\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ * \n          CRYPTO_ERROR    if evaluation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Mont_Jc2Jm(SDRM_EC_POINT *A, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont)\r
+{\r
+       if (SDRM_BN_SHL(A->y, A->y, 1) != CRYPTO_SUCCESS)\r
+       {\r
+               return CRYPTO_ERROR;\r
+       }\r
+       \r
+       if (SDRM_BN_Cmp(A->y, Mont->Mod)>=0)\r
+       {\r
+               SDRM_BN_Sub(A->y, A->y, Mont->Mod);\r
+       }\r
+       \r
+       SDRM_MONT_Mul(A->z2, A->z, A->z, Mont);\r
+       SDRM_MONT_Mul(A->z2, A->z2, A->z2, Mont);\r
+       SDRM_MONT_Mul(A->z2, new_a, A->z2, Mont);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_Add\r
+ * @brief      Affine Coordinate (A = B + C)\r
+ *\r
+ * @param      ctx                                                     [in]ECC context\r
+ * @param      EC_Dst                                          [out]destination(A)\r
+ * @param      EC_Src1                                         [in]first element(B)\r
+ * @param      EC_Src2                                         [in]second element(C)\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_ERROR                            if evaluation is failed\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Add(SDRM_ECC_CTX *ctx, SDRM_EC_POINT* EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_EC_POINT *EC_Src2)\r
+{\r
+       SDRM_BIG_NUM    *t1, *t2, *t3, *lambda, *lambda_sqr; \r
+       SDRM_BIG_NUM    *x3, *y3;\r
+       cc_u8                   *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 7);\r
+       \r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       if (SDRM_CHECK_EC_POINT_ZERO(EC_Src1))\r
+       {\r
+               SDRM_EC_COPY(EC_Dst, EC_Src2); \r
+               free(pbBuf);\r
+               return CRYPTO_SUCCESS; \r
+       }\r
+       else if (SDRM_CHECK_EC_POINT_ZERO(EC_Src2))\r
+       {\r
+               SDRM_EC_COPY(EC_Dst, EC_Src1); \r
+               free(pbBuf);\r
+               return CRYPTO_SUCCESS; \r
+       }\r
+\r
+       t1         = SDRM_BN_Alloc(pbBuf,                                                                       SDRM_ECC_BN_BUFSIZE);\r
+       t2         = SDRM_BN_Alloc((cc_u8*)t1            + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       t3         = SDRM_BN_Alloc((cc_u8*)t2            + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       lambda     = SDRM_BN_Alloc((cc_u8*)t3            + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       lambda_sqr = SDRM_BN_Alloc((cc_u8*)lambda        + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       x3         = SDRM_BN_Alloc((cc_u8*)lambda_sqr + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       y3         = SDRM_BN_Alloc((cc_u8*)x3            + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+\r
+       if (SDRM_BN_Cmp(EC_Src1->x, EC_Src2->x) == 0)                                   /* xÁÂÇ¥°¡ °°´Ù¸é */\r
+       {\r
+               if (SDRM_BN_Cmp(EC_Src1->y, EC_Src2->y) != 0)                           /* y ÁÂÇ¥¸¸ ´Ù¸£´Ù¸é */\r
+               {       // (B = -C)\r
+                       SDRM_EC_SET_ZERO(EC_Dst);\r
+                       free(pbBuf);\r
+\r
+                       return CRYPTO_SUCCESS;\r
+               }\r
+               else                                                                                                            /* y ÁÂÇ¥µµ °°´Ù¸é */\r
+               {       // (B = C)\r
+                       SDRM_BN_ModAdd(t1, EC_Src1->y, EC_Src1->y, ctx->ECC_p); /* t1 = 2 * y1 */\r
+                       SDRM_BN_ModInv(t1, t1, ctx->ECC_p);                                             /* t1 = 1/(2 * y1) */\r
+\r
+                       SDRM_BN_ModMul(t2, EC_Src1->x, EC_Src1->x, ctx->ECC_p);         /* t2 = x1^2 */\r
+                       SDRM_BN_ModAdd(t3, t2, t2, ctx->ECC_p);                                 /* t3 = t2 + t2 */                      \r
+                       SDRM_BN_ModAdd(t3, t3, t2, ctx->ECC_p);                                 /* t2 = t3 + t2 = 3 * x1^2*/                    \r
+                       SDRM_BN_ModAdd(t3, t3, ctx->ECC_a, ctx->ECC_p);                 /* t3 = 3 * x1^2 + a */\r
+\r
+                       SDRM_BN_ModMul(lambda, t3, t1, ctx->ECC_p);                             /* lambda = (3 * x1^2 + a) / (2 * y1) */\r
+               }\r
+       }\r
+       else /* x ÁÂÇ¥°¡ ´Ù¸£´Ù¸é */\r
+       {\r
+               SDRM_BN_ModSub(t1, EC_Src2->x, EC_Src1->x, ctx->ECC_p);         /* t1 = x2 - x1 */\r
+               SDRM_BN_ModSub(t2, EC_Src2->y, EC_Src1->y, ctx->ECC_p);         /* t2 = y2 - y1 */\r
+\r
+               SDRM_BN_ModInv(t1, t1, ctx->ECC_p);                                                     /* t1 = t1^(-1) = 1/(x2-x1) */\r
+               SDRM_BN_ModMul(lambda, t1, t2, ctx->ECC_p);                                     /* lambda = (y2-y1)/(x2-x1) */\r
+       }\r
+\r
+       SDRM_BN_ModMul(lambda_sqr, lambda, lambda, ctx->ECC_p);                 /* lambda^2 */\r
+       SDRM_BN_ModSub(t1, lambda_sqr, EC_Src1->x, ctx->ECC_p);                 /* x3 = lambda^2 - x1 */\r
+       SDRM_BN_ModSub(x3, t1, EC_Src2->x, ctx->ECC_p);                                 /* x3 = lambda^2 - x1 - x2 */\r
+\r
+       SDRM_BN_ModSub(t1, EC_Src1->x, x3, ctx->ECC_p);                                 /* t1 = x1 - x3 */\r
+       SDRM_BN_ModMul(t2, t1, lambda, ctx->ECC_p);                                             /* t2 = (x1 - x3) * lambda */\r
+       SDRM_BN_ModSub(y3, t2, EC_Src1->y, ctx->ECC_p);                                 /* y3 = (x1 - x3) * lambda - y1 */\r
+\r
+       SDRM_BN_Copy(EC_Dst->x, x3); \r
+       SDRM_BN_Copy(EC_Dst->y, y3); \r
+\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS; \r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_Add_Jc\r
+ * @brief      Chundnovsky Jacobian coordinate\r
+ *                     using montgomery (A = B + C)\r
+ *\r
+ * @param      EC_Dst                                          [out]destination(A)\r
+ * @param      EC_Src1                                         [in]first element(B)\r
+ * @param      EC_Src2                                         [in]second element(C)\r
+ * @param      new_a                                           [in]ECC_A's montgomery value\r
+ * @param      new_b                                           [in]ECC_B's montgomery value\r
+ * @param      Mont                                            [in]montgomery context\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_ERROR                            if evaluation is failed\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Add_Jc(SDRM_EC_POINT *EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_EC_POINT *EC_Src2, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont)\r
+{\r
+       SDRM_BIG_NUM    *u1, *u2, *s1, *s2, *h, *r, *tmp1, *tmp2;\r
+       cc_u8                   *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 8);\r
+       \r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+       \r
+       if (EC_Src1->IsInfinity || SDRM_CHECK_EC_POINT_ZERO(EC_Src1))\r
+       {\r
+               SDRM_EC_COPY(EC_Dst, EC_Src2); \r
+               free(pbBuf);\r
+\r
+               return CRYPTO_SUCCESS; \r
+       }\r
+       else if (EC_Src2->IsInfinity || SDRM_CHECK_EC_POINT_ZERO(EC_Src2))\r
+       {\r
+               SDRM_EC_COPY(EC_Dst, EC_Src1); \r
+               free(pbBuf);\r
+\r
+               return CRYPTO_SUCCESS; \r
+       }\r
+\r
+       u1   = SDRM_BN_Alloc(pbBuf                                                        , SDRM_ECC_BN_BUFSIZE);\r
+       u2   = SDRM_BN_Alloc((cc_u8*)u1 + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       s1   = SDRM_BN_Alloc((cc_u8*)u2 + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       s2   = SDRM_BN_Alloc((cc_u8*)s1 + SDRM_ECC_ALLOC_SIZE,   SDRM_ECC_BN_BUFSIZE);\r
+       h    = SDRM_BN_Alloc((cc_u8*)s2  + SDRM_ECC_ALLOC_SIZE,  SDRM_ECC_BN_BUFSIZE);\r
+       r    = SDRM_BN_Alloc((cc_u8*)h + SDRM_ECC_ALLOC_SIZE,    SDRM_ECC_BN_BUFSIZE);\r
+       tmp1 = SDRM_BN_Alloc((cc_u8*)r + SDRM_ECC_ALLOC_SIZE,    SDRM_ECC_BN_BUFSIZE);\r
+       tmp2 = SDRM_BN_Alloc((cc_u8*)tmp1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+\r
+       // u1\r
+       SDRM_MONT_Mul(u1, EC_Src1->x, EC_Src2->z2, Mont);\r
+       // u2\r
+       SDRM_MONT_Mul(u2, EC_Src2->x, EC_Src1->z2, Mont);\r
+       // s1\r
+       SDRM_MONT_Mul(s1, EC_Src1->y, EC_Src2->z3, Mont);\r
+       // s2\r
+       SDRM_MONT_Mul(s2, EC_Src2->y, EC_Src1->z3, Mont);\r
+\r
+       SDRM_BN_Sub(h, u2, u1);\r
+       if (h->sign)\r
+       {\r
+               SDRM_BN_Add(h, h, Mont->Mod);\r
+       }\r
+\r
+       // r\r
+       SDRM_BN_Sub(r, s2, s1);\r
+       if (r->sign)\r
+       {\r
+               SDRM_BN_Add(r, r, Mont->Mod);\r
+       }\r
+\r
+       // exception cases check\r
+       if (h->Length == 0)\r
+       {\r
+               if (r->Length == 0)\r
+               {\r
+                       // If (h == 0) & (r == 0), CTX_EC_Double_Jc·Î °è»ê\r
+                       // because B, C are same point.\r
+                       free(pbBuf);\r
+\r
+                       return SDRM_CTX_EC_Double_Jc(EC_Dst, EC_Src1, new_a, new_b, Mont);\r
+               }\r
+               else\r
+               {\r
+                       // If (h == 0) & (r != 0), A = Infinity point\r
+                       EC_Dst->IsInfinity = 1;\r
+                       free(pbBuf);\r
+\r
+                       return CRYPTO_INFINITY_INPUT;\r
+               }\r
+       }\r
+\r
+       // EC_Dst->x\r
+       SDRM_MONT_Mul(EC_Dst->x, r, r, Mont);\r
+       SDRM_MONT_Mul(EC_Dst->y, h, h, Mont);                           // A->y : h^2, temp\r
+       SDRM_MONT_Mul(tmp1, EC_Dst->y, h, Mont);                        // tmp1 : h^3, temp\r
+       SDRM_MONT_Mul(EC_Dst->y, u1, EC_Dst->y, Mont);          // A->y : u1*h^2\r
+\r
+       SDRM_BN_SHL(tmp2, EC_Dst->y, 1);\r
+       if (SDRM_BN_Cmp(tmp2, Mont->Mod) >= 0)\r
+       {\r
+               SDRM_BN_Sub(tmp2, tmp2, Mont->Mod);\r
+       }\r
+\r
+       SDRM_BN_ModSub(EC_Dst->x, EC_Dst->x, tmp2, Mont->Mod);\r
+       SDRM_BN_ModSub(EC_Dst->x, EC_Dst->x, tmp1, Mont->Mod);\r
+\r
+       // EC_Dst->y\r
+       SDRM_BN_ModSub(EC_Dst->y, EC_Dst->y, EC_Dst->x, Mont->Mod);\r
+       SDRM_MONT_Mul(EC_Dst->y, r, EC_Dst->y, Mont);\r
+       SDRM_MONT_Mul(tmp1, s1, tmp1, Mont);\r
+       SDRM_BN_ModSub(EC_Dst->y, EC_Dst->y, tmp1, Mont->Mod);\r
+\r
+       // EC_Dst->z\r
+       SDRM_MONT_Mul(EC_Dst->z, EC_Src1->z, EC_Src2->z, Mont);\r
+       SDRM_MONT_Mul(EC_Dst->z, EC_Dst->z, h, Mont);\r
+\r
+       // È¿À²¼ºÀ» °í·ÁÇØ ¾Æ·¡´Â »ý·«-> ÇÊ¿äÇÑ °æ¿ì ¿ÜºÎ¿¡¼­ °è»ê\r
+#if 0\r
+       // EC_Dst->z2\r
+       SDRM_MONT_Mul(EC_Dst->z2, EC_Dst->z, EC_Dst->z, Mont);\r
+       // EC_Dst->z3\r
+       SDRM_MONT_Mul(EC_Dst->z3, EC_Dst->z, EC_Dst->z2, Mont);\r
+#endif\r
+\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_Double_Jc\r
+ * @brief      Chundnovsky Jacobian coordinate\r
+ *                     montgomery (A = 2B)\r
+ *\r
+ * @param      EC_Dst                                          [out]destination(A)\r
+ * @param      EC_Src1                                         [in]first element(B)\r
+ * @param      new_a                                           [in]ECC_A's montgomery value\r
+ * @param      new_b                                           [in]ECC_B's montgomery value\r
+ * @param      Mont                                            [in]montgomery context\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_ERROR                            if evaluation is failed\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Double_Jc(SDRM_EC_POINT *EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont)\r
+{\r
+       SDRM_BIG_NUM    *s, *k, *tmp1, *tmp2;\r
+       cc_u8                   *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 4);\r
+       \r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       // If B = infinite point || (B->y) = 0, A = infinite point.\r
+       if (EC_Src1->IsInfinity || SDRM_CHECK_EC_POINT_ZERO(EC_Src1))\r
+       {\r
+               EC_Dst->IsInfinity = 1; \r
+               free(pbBuf);\r
+               return CRYPTO_SUCCESS; \r
+       }\r
+\r
+       s    = SDRM_BN_Alloc(pbBuf                                                        , SDRM_ECC_BN_BUFSIZE);\r
+       k    = SDRM_BN_Alloc((cc_u8*)s + SDRM_ECC_ALLOC_SIZE,    SDRM_ECC_BN_BUFSIZE);\r
+       tmp1 = SDRM_BN_Alloc((cc_u8*)k + SDRM_ECC_ALLOC_SIZE,    SDRM_ECC_BN_BUFSIZE);\r
+       tmp2 = SDRM_BN_Alloc((cc_u8*)tmp1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       \r
+       // s\r
+       SDRM_MONT_Mul(s, EC_Src1->y, EC_Src1->y, Mont);                 // s = (B->y)^2\r
+       SDRM_MONT_Mul(tmp1, s, s, Mont);                                                        // tmp1 = (B->y)^4\r
+       SDRM_MONT_Mul(s, EC_Src1->x, s, Mont);\r
+       SDRM_BN_SHL(s, s, 2);\r
+       SDRM_BN_ModRed(s, s, Mont->Mod);\r
+\r
+       // k\r
+       SDRM_MONT_Mul(k, EC_Src1->x, EC_Src1->x, Mont);\r
+       SDRM_BN_SHL(tmp2, k, 1);\r
+       SDRM_BN_ModAdd(tmp2, tmp2, k, Mont->Mod);\r
+       SDRM_MONT_Mul(k, EC_Src1->z, EC_Src1->z3, Mont);\r
+       SDRM_MONT_Mul(k, new_a, k, Mont);\r
+       SDRM_BN_ModAdd(k, tmp2, k, Mont->Mod);\r
+\r
+       // t & EC_Dst->x\r
+       SDRM_BN_SHL(tmp2, s, 1);\r
+\r
+       if (SDRM_BN_Cmp(tmp2, Mont->Mod)>=0)\r
+       {\r
+               SDRM_BN_Sub(tmp2, tmp2, Mont->Mod);\r
+       }\r
+\r
+       SDRM_MONT_Mul(EC_Dst->x, k, k, Mont);\r
+       SDRM_BN_ModSub(EC_Dst->x, EC_Dst->x, tmp2, Mont->Mod);\r
+\r
+       // EC_Dst->z\r
+       SDRM_MONT_Mul(EC_Dst->z, EC_Src1->y, EC_Src1->z, Mont);\r
+       SDRM_BN_SHL(EC_Dst->z, EC_Dst->z, 1);\r
+\r
+       if (SDRM_BN_Cmp(EC_Dst->z, Mont->Mod)>=0)\r
+       {\r
+               SDRM_BN_Sub(EC_Dst->z, EC_Dst->z, Mont->Mod);\r
+       }\r
+\r
+       // EC_Dst->y\r
+       SDRM_BN_SHL(EC_Dst->y, tmp1, 3);\r
+       while(SDRM_BN_Cmp(EC_Dst->y, Mont->Mod) >= 0)\r
+       {\r
+               SDRM_BN_Sub(EC_Dst->y, EC_Dst->y, Mont->Mod);\r
+       }\r
+\r
+       SDRM_BN_ModSub(tmp1, s, EC_Dst->x, Mont->Mod);                  // tmp1 = s-t (s°ª ¹Ù²ñ)\r
+       SDRM_MONT_Mul(tmp1, k, tmp1, Mont);                                             // k(s-t)\r
+       SDRM_BN_ModSub(EC_Dst->y, tmp1, EC_Dst->y, Mont->Mod);\r
+       if (EC_Dst->y->sign)\r
+       {\r
+               SDRM_BN_Add(EC_Dst->y, EC_Dst->y, Mont->Mod);\r
+       }\r
+\r
+       // EC_Dst->z2\r
+       SDRM_MONT_Mul(EC_Dst->z2, EC_Dst->z, EC_Dst->z, Mont);\r
+       \r
+       // EC_Dst->z3\r
+       SDRM_MONT_Mul(EC_Dst->z3, EC_Dst->z, EC_Dst->z2, Mont);\r
+\r
+       // Memory Free\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_Double_Jm\r
+ * @brief      Modified Jacobian coordinate\r
+ *                     montgomery (A = 2B)\r
+ *\r
+ * @param      EC_Dst                                          [out]destination(A)\r
+ * @param      EC_Src1                                         [in]first element(B)\r
+ * @param      new_a                                           [in]ECC_A's montgomery value\r
+ * @param      new_b                                           [in]ECC_B's montgomery value\r
+ * @param      Mont                                            [in]montgomery context\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_ERROR                            if evaluation is failed\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Double_Jm(SDRM_EC_POINT *EC_Dst, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *new_a, SDRM_BIG_NUM *new_b, SDRM_BIG_MONT *Mont)\r
+{\r
+       SDRM_BIG_NUM    *a, *b, *c, *tmp1;\r
+       cc_u8                   *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 4);\r
+       \r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       // If B is the infinite point or (B->y) is zero, A is the infinite point.\r
+       if (EC_Src1->IsInfinity || SDRM_CHECK_EC_POINT_ZERO(EC_Src1))\r
+       {\r
+               EC_Dst->IsInfinity = 1; \r
+               free(pbBuf);\r
+\r
+               return CRYPTO_SUCCESS; \r
+       }\r
+\r
+       a    = SDRM_BN_Alloc(pbBuf, SDRM_ECC_BN_BUFSIZE);\r
+       b    = SDRM_BN_Alloc((cc_u8*)a + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       c    = SDRM_BN_Alloc((cc_u8*)b + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       tmp1 = SDRM_BN_Alloc((cc_u8*)c + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+\r
+       // a\r
+       SDRM_MONT_Mul(a, EC_Src1->x, EC_Src1->x, Mont);\r
+       SDRM_BN_SHL(tmp1, a, 1);\r
+       SDRM_BN_Add(a, tmp1, a);\r
+       SDRM_BN_Add(a, a, EC_Src1->z2);\r
+       while(SDRM_BN_Cmp(a, Mont->Mod) >= 0)\r
+       {\r
+               SDRM_BN_Sub(a, a, Mont->Mod);\r
+       }\r
+\r
+       // b & c\r
+       SDRM_MONT_Mul(b, EC_Src1->y, EC_Src1->y, Mont);         // b = (y1)^2\r
+       SDRM_MONT_Mul(c, b, b, Mont);                                                   // c = (y1)^4\r
+       SDRM_MONT_Mul(b, EC_Src1->x, b, Mont);\r
+       SDRM_BN_SHL(b, b, 1);\r
+       if (SDRM_BN_Cmp(b, Mont->Mod)>=0)\r
+       {\r
+               SDRM_BN_Sub(b, b, Mont->Mod);\r
+       }\r
+\r
+       // EC_Dst->x\r
+       SDRM_MONT_Mul(EC_Dst->x, a, a, Mont);\r
+       SDRM_BN_ModSub(EC_Dst->x, EC_Dst->x, b, Mont->Mod);\r
+\r
+       // EC_Dst->z\r
+       SDRM_MONT_Mul(EC_Dst->z, EC_Src1->y, EC_Src1->z, Mont);\r
+\r
+       // EC_Dst->y\r
+       SDRM_BN_SHL(EC_Dst->y, EC_Dst->x, 1);\r
+\r
+       if (SDRM_BN_Cmp(EC_Dst->y, Mont->Mod)>=0)\r
+       {\r
+               SDRM_BN_Sub(EC_Dst->y, EC_Dst->y, Mont->Mod);\r
+       }\r
+\r
+       SDRM_BN_Sub(EC_Dst->y, b, EC_Dst->y);\r
+       \r
+       if (EC_Dst->y->sign)\r
+       {\r
+               SDRM_BN_Add(EC_Dst->y, EC_Dst->y, Mont->Mod);\r
+       }\r
+\r
+       SDRM_MONT_Mul(EC_Dst->y, a, EC_Dst->y, Mont);\r
+       SDRM_BN_ModSub(EC_Dst->y, EC_Dst->y, c, Mont->Mod);\r
+\r
+       // EC_Dst->z2\r
+       SDRM_MONT_Mul(EC_Dst->z2, c, EC_Dst->z2, Mont);\r
+\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_Chain\r
+ * @brief      Chain ÇÔ¼ö\r
+ *                     signed wondow method    :       size of window = 4\r
+ *                     chain for addition/subtraction of k Using sliding window method\r
+ *\r
+ * @param      chain                                           [out]destination\r
+ * @param      L_Src                                           [in]byte-length of chain\r
+ * @param      Len_Src                                         [in]number of doubling in chain\r
+ * @param      k                                                       [in]source\r
+ * @param      window_size                                     [in]size of window\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT         if given value is incorrect\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_Chain(signed char *chain, cc_u32 *L_Src, cc_u32 *Len_Src, SDRM_BIG_NUM *k, int window_size)\r
+{\r
+       int             i, j = 0, AddorSub, last = 0, doublings = 0;\r
+       int             bits_k = 0, subtract=0, pos = 0, temp_1 = 0;    \r
+       cc_u32  temp = 0;\r
+       cc_u32  numDoubling = 0;                                        // number of doubling(= lshift)\r
+\r
+       // kÀÇ À¯È¿¼º check\r
+       if (k->sign)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       bits_k=(SDRM_BN_num_bits(k)-1);\r
+\r
+       // sliding window method ('06)\r
+       while(bits_k>=0)\r
+       {\r
+               if ((bits_k + 1) < window_size)\r
+                       window_size = bits_k + 1;\r
+\r
+               if ((subtract == 0) || (subtract == 10))\r
+               {\r
+                       AddorSub = 0;\r
+               }\r
+               else\r
+               {\r
+                       AddorSub = 1;\r
+               }\r
+\r
+               for(i = bits_k; i >= bits_k - window_size + 1; i--)\r
+               {\r
+                       temp <<= 1;\r
+                       temp += AddorSub ^ SDRM_CheckBitUINT32(k->pData, i);\r
+               }\r
+\r
+               bits_k -= window_size;\r
+               \r
+               if ((SDRM_CheckBitUINT32(k->pData, bits_k) == (cc_u32)1 - AddorSub) && (bits_k >= 0))\r
+               {\r
+                       temp++;\r
+                       AddorSub = 1 - AddorSub;\r
+               }\r
+\r
+               if ((bits_k == -1) && (AddorSub == 1))\r
+                       temp++;\r
+               \r
+               if (bits_k>=0)\r
+               {\r
+                       if (SDRM_CheckBitUINT32(k->pData, bits_k)==1)\r
+                       {\r
+                               if ((subtract == 0) || (subtract == 10))\r
+                               {\r
+                                       subtract = 1;\r
+                               }\r
+                               else\r
+                               {\r
+                                       subtract = 11;\r
+                               }\r
+\r
+                               for(temp_1 = 0 ; SDRM_CheckBitUINT32(k->pData, bits_k)==1; bits_k--)\r
+                               {\r
+                                       if (bits_k >=0)\r
+                                       {\r
+                                               temp_1++;\r
+                                       }\r
+                               }\r
+                       }\r
+                       else\r
+                       {\r
+                               if ((subtract == 0) || (subtract == 10))\r
+                               {\r
+                                       subtract = 0;\r
+                               }\r
+                               else\r
+                               {\r
+                                       subtract = 10;\r
+                               }\r
+\r
+                               for(temp_1 = 0 ; SDRM_CheckBitUINT32(k->pData, bits_k)==0; bits_k--)\r
+                               {\r
+                                       if (bits_k >=0)\r
+                                       {\r
+                                               temp_1++;\r
+                                       }\r
+                               }\r
+                       }\r
+\r
+                       if (bits_k < 0)\r
+                       {\r
+                               last = 1;\r
+                       }\r
+               }\r
+               else\r
+               {\r
+                       if ((subtract == 0) || (subtract == 10))\r
+                       {\r
+                               subtract = 0;\r
+                       }\r
+                       else\r
+                       {\r
+                               subtract = 10;\r
+                       }\r
+               }\r
+               \r
+               j = temp >> window_size;\r
+\r
+               if (temp != 0)\r
+               {\r
+                       for(doublings = 0; !(temp&0x1); doublings++)\r
+                       {\r
+                               temp >>= 1;\r
+                       }\r
+                       doublings += temp_1;\r
+               }\r
+               else\r
+               {\r
+                       doublings = temp_1;\r
+               }\r
+\r
+               if (pos > 0)\r
+               {\r
+                       for(i = temp ; i > j ; i>>=1)\r
+                       {\r
+                               chain[++pos] = 0;                               \r
+                               numDoubling++;                  \r
+                       }\r
+               }\r
+\r
+               if ((subtract==10) || (subtract == 11))\r
+               {\r
+                       chain[++pos] = (char)((~temp + 1) & 0xff);\r
+               }\r
+               else\r
+               {\r
+                       chain[++pos] = (char)((temp) & 0xff);\r
+               }\r
+\r
+               for( ; doublings > 0; doublings--)\r
+               {\r
+                       chain[++pos] = 0;                               \r
+                       numDoubling++;\r
+               }\r
+\r
+               if (last == 1)\r
+               {\r
+                       if (AddorSub == 1) \r
+                       {\r
+                               chain[++pos] = -1;\r
+                       }\r
+               }\r
+                               \r
+               temp = 0;\r
+               temp_1 = 0;\r
+       }\r
+\r
+       *L_Src = pos;\r
+       *Len_Src = numDoubling;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_kP\r
+ * @brief      get EC_Dst = kP by Montgomery Method\r
+ *\r
+ * @param      ctx                                                     [in]ecc context\r
+ * @param      EC_Dst                                          [out]destination\r
+ * @param      EC_Src                                          [in]first element(P)\r
+ * @param      k                                                       [in]second element(k)\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT         if the arguemnt represents a minus value\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_INFINITY_INPUT           if the argument is a infinity value\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_kP(SDRM_ECC_CTX *ctx, SDRM_EC_POINT* EC_Dst, SDRM_EC_POINT *EC_Src, SDRM_BIG_NUM *k)\r
+{\r
+       int                             res, i;\r
+       int                             window_size = 4;                                        // window size\r
+       int                             w_p = (1 << (window_size-1)) + 1;       // pre-computation number\r
+//     int                             add = 0, subtract = 0;                          // add : num_(addition + subtract)\r
+                                                                                                               // subtract :  0 - before = 0 & after = 0\r
+                                                                                                               //                        10 - before = 1 & after = 0   \r
+                                                                                                               //                         1 - before = 0 & after = 1   \r
+                                                                                                               //                        11 - before = 1 & after = 1   \r
+                                                                                                               //      => 0 : no subtract / 1 : subtract\r
+       SDRM_EC_POINT   *Pw[9] = {0};                                           // number of precomputation data : 9 = w_p = 2^(window_size-1) + 1\r
+       SDRM_BIG_MONT   *Mont;\r
+       SDRM_BIG_NUM    *new_a, *new_b;\r
+       SDRM_BIG_NUM    *t1, *t2;               \r
+       signed char             chain[2 * SDRM_MAX_DIMENSION_ECC];              // DIMENSION_ECC :  ecdsa.h¿¡¼­ define\r
+       cc_u32                  length;                                                         // addition & subtrction chain length of k1 & k2\r
+       cc_u32                  lenD;                                                           // number of doubling of addition & subtrction chain of k1 & k2 \r
+\r
+       cc_u8                   *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 4);\r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+       \r
+       // k¿Í PÀÇ À¯È¿¼º check\r
+       if (k->sign)\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (EC_Src->x->sign|EC_Src->y->sign)\r
+       {\r
+               free(pbBuf);    \r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       Mont = SDRM_MONT_Init(ctx->ECC_p->Size);\r
+       if (Mont == NULL) \r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       SDRM_MONT_Set(Mont, ctx->ECC_p);\r
+\r
+       new_a = SDRM_BN_Alloc(pbBuf,                                                      SDRM_ECC_BN_BUFSIZE);\r
+       new_b = SDRM_BN_Alloc((cc_u8*)new_a + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       t1    = SDRM_BN_Alloc((cc_u8*)new_b + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       t2    = SDRM_BN_Alloc((cc_u8*)t1           + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+\r
+       if (SDRM_MONT_Zn2rzn(new_a, ctx->ECC_a, Mont) != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               SDRM_MONT_Free(Mont);\r
+               return CRYPTO_ERROR;\r
+       }\r
+\r
+       if (SDRM_MONT_Zn2rzn(new_b, ctx->ECC_b, Mont) != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               SDRM_MONT_Free(Mont);\r
+               return CRYPTO_ERROR;\r
+       }\r
+\r
+\r
+       //chain °è»ê\r
+       res = SDRM_CTX_EC_Chain(chain, &length, &lenD, k, window_size);\r
+       if (res != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               SDRM_MONT_Free(Mont);\r
+\r
+               return CRYPTO_ERROR;\r
+       }\r
+       \r
+       // pre-computation Data °è»ê    :               Chunvosky algorithm\r
+               // Pw[1] = EC_Src\r
+               // Pw[2] = 3 * EC_Src\r
+               // Pw[3] = 5 * EC_Src\r
+               // Pw[4] = 7 * EC_Src\r
+               // ..................\r
+       for(i = 0; i < 9; i++)\r
+       {\r
+               Pw[i] = SDRM_ECC_Init();\r
+               if (Pw[i] == NULL)\r
+               {\r
+                       free(pbBuf);\r
+                       SDRM_MONT_Free(Mont);\r
+                       while (i > 0)\r
+                       {\r
+                               free(Pw[--i]);\r
+                       }\r
+                       return CRYPTO_MEMORY_ALLOC_FAIL;\r
+               }\r
+       }\r
+\r
+       SDRM_EC_COPY(Pw[1], EC_Src);\r
+\r
+       SDRM_MONT_Zn2rzn(Pw[1]->x, Pw[1]->x, Mont);\r
+       SDRM_MONT_Zn2rzn(Pw[1]->y, Pw[1]->y, Mont);\r
+       SDRM_MONT_Zn2rzn(Pw[1]->z, BN_One, Mont);\r
+\r
+       SDRM_BN_Copy(Pw[1]->z2, Pw[1]->z);\r
+       SDRM_BN_Copy(Pw[1]->z3, Pw[1]->z);\r
+\r
+       SDRM_EC_SET_ZERO(Pw[0]);\r
+       SDRM_CTX_EC_Double_Jc(Pw[0], Pw[1], new_a, new_b, Mont);\r
+\r
+       for (i = 2; i < w_p; i++)\r
+       {\r
+               SDRM_EC_SET_ZERO(Pw[i]);\r
+               SDRM_CTX_EC_Add_Jc(Pw[i], Pw[i-1], Pw[0], new_a, new_b, Mont);\r
+\r
+               SDRM_MONT_Mul(Pw[i]->z2, Pw[i]->z, Pw[i]->z, Mont);\r
+               SDRM_MONT_Mul(Pw[i]->z3, Pw[i]->z2, Pw[i]->z, Mont);\r
+       }\r
+\r
+       EC_Dst->IsInfinity = 1;\r
+\r
+       for(i = 0; i != (int)length; i++)\r
+       {\r
+               if (chain[i + 1]==0)\r
+               {\r
+                       // EC_Dst = 2 * EC_Dst\r
+                       SDRM_CTX_EC_Double_Jm(EC_Dst, EC_Dst, new_a, new_b, Mont);\r
+                       lenD--;\r
+               }\r
+               else\r
+               {\r
+                       SDRM_Mont_Jm2Jc(EC_Dst, new_a, new_b, Mont);\r
+                       if (chain[i + 1]>0)\r
+                       {\r
+                               // EC_Dst = EC_Dst + Pw[(chain[i + 1]+1)/2]\r
+                               SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[(chain[i + 1]+1)/2], new_a, new_b, Mont);\r
+                       }\r
+                       else\r
+                       {\r
+                               // EC_Dst = EC_Dst - Pw[(chain[i + 1]]+1)/2]\r
+                               SDRM_EC_COPY(Pw[0], Pw[(-chain[i + 1]+1)/2]);\r
+                               SDRM_BN_Sub(Pw[0]->y, ctx->ECC_p, Pw[0]->y);\r
+                               SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[0], new_a, new_b, Mont);  \r
+                       }\r
+                       SDRM_Mont_Jc2Jm(EC_Dst, new_a, new_b, Mont);\r
+               }\r
+       }\r
+       \r
+       // montgomery reduction of EC_Dst\r
+       SDRM_MONT_Rzn2zn(EC_Dst->x, EC_Dst->x, Mont);\r
+       SDRM_MONT_Rzn2zn(EC_Dst->y, EC_Dst->y, Mont);\r
+       SDRM_MONT_Rzn2zn(EC_Dst->z, EC_Dst->z, Mont);\r
+       \r
+       if (EC_Dst->z->Length == 0)\r
+       {\r
+               for(i = 0; i < 9; i++)\r
+               {\r
+                       free(Pw[i]);\r
+               }\r
+               free(pbBuf);\r
+               SDRM_MONT_Free(Mont);\r
+\r
+               EC_Dst->IsInfinity = 1;\r
+\r
+               return CRYPTO_INFINITY_INPUT;\r
+       }\r
+       // Convert coordinate :  "Modified Jacobian" => "Affine"\r
+       //  (EC_Dst->x) <= (EC_Dst->x) * { ((EC_Dst->z)^2)^-1 }\r
+       //  (EC_Dst->y) <= (EC_Dst->y) * { (2*((EC_Dst->z)^3))^-1 }\r
+\r
+       SDRM_BN_ModMul(t1, EC_Dst->z, EC_Dst->z, ctx->ECC_p);\r
+       SDRM_BN_ModInv(t2, t1, ctx->ECC_p);\r
+       SDRM_BN_ModMul(EC_Dst->x, EC_Dst->x, t2, ctx->ECC_p);\r
+\r
+       SDRM_BN_ModMul(t1, t1, EC_Dst->z, ctx->ECC_p);\r
+       SDRM_BN_SHL(t1, t1, 1);\r
+       SDRM_BN_ModInv(t2, t1, ctx->ECC_p);\r
+       SDRM_BN_ModMul(EC_Dst->y, EC_Dst->y, t2, ctx->ECC_p);\r
+       \r
+       // Memory Free\r
+       for(i = 0; i < 9; i++)\r
+       {\r
+               free(Pw[i]);\r
+       }\r
+\r
+       free(pbBuf);\r
+       SDRM_MONT_Free(Mont);\r
+\r
+       return CRYPTO_SUCCESS; \r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CTX_EC_2kP\r
+ * @brief      get EC_Dst = k1*C1 + k2*C2\r
+ *\r
+ * @param      ctx                                                     [in]ecc context\r
+ * @param      EC_Dst                                          [out]destination\r
+ * @param      k1                                                      [in]first element(k1)\r
+ * @param      EC_Src1                                         [in]second element(C1)\r
+ * @param      k2                                                      [in]third element(k2)\r
+ * @param      EC_Src2                                         [in]fourth element(C2)\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT         if the arguemnt represents a minus value\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_INFINITY_INPUT           if the argument is a infinity value\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_EC_2kP(SDRM_ECC_CTX *ctx, SDRM_EC_POINT *EC_Dst, SDRM_BIG_NUM *k1, SDRM_EC_POINT *EC_Src1, SDRM_BIG_NUM *k2, SDRM_EC_POINT *EC_Src2)\r
+{\r
+       signed char             chain[2][2 * SDRM_MAX_DIMENSION_ECC];           // addition/subtrction chain of k1  k2\r
+       cc_u32                  length[2];                                                              // addition/subtrction chain length of k1  k2\r
+       cc_u32                  lenD[2];                                                                // # of doubling of addition/subtrction chain of k1  k2 \r
+       cc_u32                  idx[2];\r
+       int                             window_size = 4;                                                // window size\r
+       int                             w2 = (1 << (window_size - 1)) + 1;              // 2^(window_size-1)+1 : the precomputation point number\r
+       int                             i, j, res;\r
+       SDRM_EC_POINT   *Pw[2][9];                                                              // precomputation data\r
+       SDRM_BIG_MONT   *Mont=NULL;\r
+       SDRM_BIG_NUM    *new_a, *new_b;\r
+       SDRM_BIG_NUM    *t1, *t2;                                                               // Used in coordinate change from "Modified Jacobian" to "Affine"\r
+\r
+       cc_u8 *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 4);\r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       // k1 & k2 & C1 & C2 À¯È¿¼º check\r
+       if (k1->sign | k2->sign)\r
+       {\r
+               free(pbBuf);\r
+\r
+               return CRYPTO_ERROR;\r
+       }\r
+\r
+       if (EC_Src1->x->sign | EC_Src1->y->sign | EC_Src2->x->sign | EC_Src2->y->sign)\r
+       {\r
+               free(pbBuf);\r
+\r
+               return CRYPTO_ERROR;\r
+       }\r
+\r
+       Mont = SDRM_MONT_Init(ctx->ECC_p->Size);\r
+       SDRM_MONT_Set(Mont, ctx->ECC_p);\r
+\r
+       new_a = SDRM_BN_Alloc(pbBuf,                                                      SDRM_ECC_BN_BUFSIZE);\r
+       new_b = SDRM_BN_Alloc((cc_u8*)new_a + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       t1    = SDRM_BN_Alloc((cc_u8*)new_b + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       t2    = SDRM_BN_Alloc((cc_u8*)t1           + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       \r
+       if (SDRM_MONT_Zn2rzn(new_a, ctx->ECC_a, Mont) != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               SDRM_MONT_Free(Mont);\r
+               return CRYPTO_ERROR;\r
+       }\r
+\r
+       if (SDRM_MONT_Zn2rzn(new_b, ctx->ECC_b, Mont) != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               SDRM_MONT_Free(Mont);\r
+               return CRYPTO_ERROR;\r
+       }\r
+\r
+       // chain °è»ê\r
+       res = SDRM_CTX_EC_Chain(chain[0], &length[0], &lenD[0], k1, window_size);\r
+       if (res != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf); \r
+               SDRM_MONT_Free(Mont);\r
+               return res;\r
+       }\r
+\r
+       res = SDRM_CTX_EC_Chain(chain[1], &length[1], &lenD[1], k2, window_size);\r
+       if (res != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               SDRM_MONT_Free(Mont);\r
+               return res;\r
+       }\r
+\r
+       // Precomputation data\r
+       for(i = 0; i < 2; i++)\r
+       {\r
+//             Pw[i] = (SDRM_EC_POINT **)malloc(sizeof(SDRM_EC_POINT *) * w2);\r
+//             if (!Pw[i]) return CRYPTO_MEMORY_ALLOC_FAIL;\r
+               for(j = 0; j < 9; j++)\r
+               {\r
+                       Pw[i][j] =  SDRM_ECC_Init();\r
+               }\r
+       }\r
+       \r
+       SDRM_EC_COPY(Pw[0][1], EC_Src1);\r
+       SDRM_EC_COPY(Pw[1][1], EC_Src2);\r
+\r
+       for (i=0;i<2;i++)\r
+       {\r
+               SDRM_MONT_Zn2rzn(Pw[i][1]->x, Pw[i][1]->x, Mont);\r
+               SDRM_MONT_Zn2rzn(Pw[i][1]->y, Pw[i][1]->y, Mont);\r
+               SDRM_MONT_Zn2rzn(Pw[i][1]->z, BN_One, Mont);\r
+               SDRM_BN_Copy(Pw[i][1]->z2, Pw[i][1]->z);\r
+               SDRM_BN_Copy(Pw[i][1]->z3, Pw[i][1]->z);\r
+               SDRM_CTX_EC_Double_Jc(Pw[i][0], Pw[i][1], new_a, new_b, Mont);\r
+               \r
+               for (j=2;j<w2;j++)\r
+               {\r
+                       SDRM_CTX_EC_Add_Jc(Pw[i][j], Pw[i][j-1], Pw[i][0], new_a, new_b, Mont);\r
+                       SDRM_MONT_Mul(Pw[i][j]->z2, Pw[i][j]->z, Pw[i][j]->z, Mont);\r
+                       SDRM_MONT_Mul(Pw[i][j]->z3, Pw[i][j]->z2, Pw[i][j]->z, Mont);\r
+               }\r
+       }\r
+       \r
+       EC_Dst->IsInfinity = 1;\r
+       idx[0] = idx[1] = 1;\r
+\r
+       // ¿ì¼± doubling °³¼ö°¡ °°¾ÆÁú¶§±îÁö Å« ÂÊ °è»ê\r
+       if (lenD[0] != lenD[1])\r
+       {\r
+               i = ((lenD[0] > lenD[1]) ? 0 : 1);\r
+               for (;lenD[0] != lenD[1]; idx[i]++)\r
+               {\r
+                       if (chain[i][idx[i]] == 0)\r
+                       {\r
+                               // EC_Dst = 2EC_Dst\r
+                               SDRM_CTX_EC_Double_Jm(EC_Dst, EC_Dst, new_a, new_b, Mont);\r
+                               lenD[i]--;\r
+                       }\r
+                       else\r
+                       {\r
+                               SDRM_Mont_Jm2Jc(EC_Dst, new_a, new_b, Mont);\r
+\r
+                               if (chain[i][idx[i]]>0)\r
+                               {\r
+                                       // EC_Dst = EC_Dst + Pw[i][(chain[i][idx[i]]+1)/2]\r
+                                       SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[i][(chain[i][idx[i]]+1)/2], new_a, new_b, Mont);\r
+                               }\r
+                               else\r
+                               {\r
+                                       // EC_Dst = EC_Dst - Pw[i][(chain[i][idx[i]]+1)/2]\r
+                                       SDRM_EC_COPY(Pw[i][0], Pw[i][(-chain[i][idx[i]]+1)/2]);\r
+                                       SDRM_BN_Sub(Pw[i][0]->y, ctx->ECC_p, Pw[i][0]->y);\r
+                                       SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[i][0], new_a, new_b, Mont);       \r
+                               }\r
+                               SDRM_Mont_Jc2Jm(EC_Dst, new_a, new_b, Mont);\r
+                       }\r
+               }\r
+       }\r
+\r
+       while ((idx[0] <= length[0]) && (idx[1] <= length[1]))\r
+       {\r
+               if ((chain[0][idx[0]] == 0) && (chain[1][idx[1]] == 0))\r
+               {\r
+                       // EC_Dst = 2EC_Dst\r
+                       SDRM_CTX_EC_Double_Jm(EC_Dst, EC_Dst, new_a, new_b, Mont);\r
+                       idx[0]++;\r
+                       idx[1]++;\r
+                       continue;\r
+               }\r
+\r
+               SDRM_Mont_Jm2Jc(EC_Dst, new_a, new_b, Mont);\r
+\r
+               if (chain[0][idx[0]]!=0)\r
+               {\r
+                       if (chain[0][idx[0]]>0)\r
+                       {\r
+                               // EC_Dst = EC_Dst + Pw[0][(chain[0][idx[0]]+1)/2]\r
+                               SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[0][(chain[0][idx[0]] + 1) / 2], new_a, new_b, Mont);\r
+                       }\r
+                       else\r
+                       {\r
+                               // EC_Dst = EC_Dst - Pw[0][(chain[0][idx[0]]+1)/2]\r
+                               SDRM_EC_COPY(Pw[0][0], Pw[0][(-chain[0][idx[0]] + 1) / 2]);\r
+                               SDRM_BN_Sub(Pw[0][0]->y, ctx->ECC_p, Pw[0][0]->y);\r
+                               SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[0][0], new_a, new_b, Mont);\r
+                       }\r
+\r
+                       idx[0]++;\r
+\r
+                       if (chain[1][idx[1]] != 0)\r
+                       {\r
+                               // make z^2, z^3 for next computation\r
+                               SDRM_MONT_Mul(EC_Dst->z2, EC_Dst->z, EC_Dst->z, Mont);\r
+                               SDRM_MONT_Mul(EC_Dst->z3, EC_Dst->z2, EC_Dst->z, Mont);\r
+                       }\r
+               }\r
+\r
+               if (chain[1][idx[1]]!=0)\r
+               {\r
+                       if (chain[1][idx[1]]>0)\r
+                       {\r
+                               // EC_Dst = EC_Dst + Pw[1][(chain[1][idx[1]]+1)/2]\r
+                               SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[1][(chain[1][idx[1]]+1)/2], new_a, new_b, Mont);\r
+                       }\r
+                       else\r
+                       {\r
+                               // EC_Dst = EC_Dst - Pw[1][(chain[1][idx[1]]+1)/2]\r
+                               SDRM_EC_COPY(Pw[1][0], Pw[1][(-chain[1][idx[1]]+1)/2]);\r
+                               SDRM_BN_Sub(Pw[1][0]->y, ctx->ECC_p, Pw[1][0]->y);\r
+                               SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[1][0], new_a, new_b, Mont);\r
+                       }\r
+                       idx[1]++;\r
+               }\r
+               SDRM_Mont_Jc2Jm(EC_Dst, new_a, new_b, Mont);\r
+       }\r
+\r
+       if ((idx[0]==length[0]) || (idx[1]==length[1]))\r
+       {\r
+               i = ((idx[0]==length[0]) ? 0 : 1);\r
+\r
+               SDRM_Mont_Jm2Jc(EC_Dst, new_a, new_b, Mont);\r
+\r
+               if (chain[i][idx[i]]>0)\r
+               {\r
+                       // EC_Dst = EC_Dst + Pw[i][(chain[i][idx[i]]+1)/2]\r
+                       SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[i][(chain[i][idx[i]] + 1) / 2], new_a, new_b, Mont);\r
+               }\r
+               else\r
+               {\r
+                       // EC_Dst = EC_Dst - Pw[i][(chain[i][idx[i]]+1)/2]\r
+                       SDRM_EC_COPY(Pw[i][0], Pw[i][(-chain[i][idx[i]] + 1) / 2]);\r
+                       SDRM_BN_Sub(Pw[i][0]->y, ctx->ECC_p, Pw[i][0]->y);\r
+                       SDRM_CTX_EC_Add_Jc(EC_Dst, EC_Dst, Pw[i][0], new_a, new_b, Mont);\r
+               }\r
+               SDRM_Mont_Jc2Jm(EC_Dst, new_a, new_b, Mont);\r
+       }\r
+\r
+\r
+       // montgomery reduction of EC_Dst\r
+       SDRM_MONT_Rzn2zn(EC_Dst->x, EC_Dst->x, Mont);\r
+       SDRM_MONT_Rzn2zn(EC_Dst->y, EC_Dst->y, Mont);\r
+       SDRM_MONT_Rzn2zn(EC_Dst->z, EC_Dst->z, Mont);\r
+       \r
+       if (EC_Dst->z->Length == 0)\r
+       {\r
+               for(i = 0; i < 2; i++)\r
+               {\r
+                       for(j = 0; j < 9; j++)\r
+                       {\r
+                               free(Pw[i][j]);\r
+                       }\r
+               }\r
+\r
+               free(pbBuf);\r
+               SDRM_MONT_Free(Mont);\r
+\r
+               EC_Dst->IsInfinity = 1;\r
+\r
+               return CRYPTO_INFINITY_INPUT;\r
+       }\r
+\r
+       // ÁÂÇ¥º¯È¯ : Modified Jacobian =>      Affine\r
+       //  (EC_Dst->x) <= (EC_Dst->x) * { ((EC_Dst->z)^2)^-1 }\r
+       //  (EC_Dst->y) <= (EC_Dst->y) * { (2*((EC_Dst->z)^3))^-1 }\r
+       SDRM_BN_ModMul(t1, EC_Dst->z, EC_Dst->z, ctx->ECC_p);\r
+       SDRM_BN_ModInv(t2, t1, ctx->ECC_p);\r
+       SDRM_BN_ModMul(EC_Dst->x, EC_Dst->x, t2, ctx->ECC_p);\r
+\r
+       SDRM_BN_ModMul(t2, t1, EC_Dst->z, ctx->ECC_p);\r
+       SDRM_BN_SHL(t2, t2, 1);\r
+       SDRM_BN_ModInv(t1, t2, ctx->ECC_p);\r
+       SDRM_BN_ModMul(EC_Dst->y, EC_Dst->y, t1, ctx->ECC_p);\r
+\r
+       for(i = 0; i < 2; i++)\r
+       {\r
+               for(j = 0; j < 9; j++)\r
+               {\r
+                       free(Pw[i][j]);\r
+               }\r
+       }\r
+\r
+       free(pbBuf);\r
+       SDRM_MONT_Free(Mont);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/base/fast_math.c b/SPC/Src/base/fast_math.c
new file mode 100755 (executable)
index 0000000..1905b70
--- /dev/null
@@ -0,0 +1,906 @@
+/** \r
+ * @file       fast_mathf.c\r
+ * @brief      This file contains optimized implementations for severall basic arithmetical functions.\r
+ *\r
+ * [Optional] Detail description (major features, interface description, flow of control, and so on)\r
+ * @see        [Optional] Related information\r
+\r
+ * Copyright 2008 by Samsung Electronics, Inc.,\r
+ * \r
+ * This software is the confidential and proprietary information\r
+ * of Samsung Electronics, Inc. ("Confidential Information").  You\r
+ * shall not disclose such Confidential Information and shall use\r
+ * it only in accordance with the terms of the license agreement\r
+ * you entered into with Samsung.\r
+ * \r
+ * \internal\r
+ * Author : Karen Ispiryan\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2008/08/28\r
+*/\r
+\r
+#include <stdlib.h>\r
+#include <string.h>\r
+\r
+#include "CryptoCore.h"\r
+#include "CC_Constants.h"\r
+#include "bignum.h"\r
+\r
+#include "fast_math.h"\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Cmp\r
+  * @brief             Compare two large unsigned integers\r
+  * \r
+  * @param             pFirstOperand [in] the first operand\r
+  * @param             pSecondOperand [in] the second operand\r
+  *\r
+  * @return            0 if they are equal\r
+  *                            1 if first bigger then second\r
+  *                            -1 if the seond one is bigger then first\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_Cmp(const BasicWord *pFirstOperand, const BasicWord *pSecondOperand, unsigned uOperandLength)\r
+{\r
+       pFirstOperand += uOperandLength;\r
+       pSecondOperand += uOperandLength;\r
+\r
+       while (uOperandLength--) {\r
+               if (*--pFirstOperand != *--pSecondOperand)\r
+               {\r
+                       if (*pFirstOperand < *pSecondOperand)\r
+                       {\r
+                               return -1;\r
+                       }\r
+                       else\r
+                       {\r
+                               return 1;\r
+                       }\r
+               }\r
+       }\r
+       return 0;\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Copy\r
+  * @brief             Just copy two large unsigned integers from one into another\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_Copy(BasicWord *pFirstOperand, const BasicWord *pSecondOperand, unsigned uOperandLength)\r
+{\r
+       while (uOperandLength--)\r
+       {\r
+               *pFirstOperand++ = *pSecondOperand++;\r
+       }\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_bit_RShift\r
+  * @brief             Shift large unsigned integer to the right by uBits\r
+  * \r
+  * @param             pOperand [inout] pointer to the operand to be shifted\r
+  *\r
+  * @return            Nothing\r
+  * @warning   We have to be careful when using this function because it modifies uOperandLength+1 words \r
+  *                            that is by 1 word bigger then operand original size.\r
+  *                            WWW....Operand...WWW|W <- it modifies the word immediately after the last one of passed operand.\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_bit_RShift(IN OUT BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord uBits)\r
+{\r
+       BasicWord uLastIndex = (BasicWord)(uOperandLength - 1);\r
+       register BasicWord t;\r
+\r
+       while (uLastIndex--)\r
+       {\r
+               t = *pOperand >> uBits;\r
+               *pOperand = t | (*(pOperand + 1) << (BASICWORD_BITS_COUNT - uBits));\r
+               pOperand++;\r
+       }\r
+       *pOperand >>= uBits;\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_bit_LShift\r
+  * @brief             Shift large unsigned integer to the left by uBits\r
+  * \r
+  * @param             pOperand [inout] pointer to the operand to be shifted\r
+  *\r
+  * @return            Nothing\r
+  * @warning   We have to be careful when using this function because it modifies uOperandLength+1 words \r
+  *                            that is by 1 word bigger then operand original size.\r
+  *                            It modifies the word immediately prior to the first one of passed operand -> W|WWW....Operand...WWW\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_bit_LShift(IN OUT BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord uBits)\r
+{\r
+       BasicWord uLastIndex = (BasicWord)(uOperandLength - 1);\r
+       BasicWord t;\r
+\r
+       pOperand += uOperandLength-1;\r
+       while (uLastIndex--)\r
+       {\r
+               t = *pOperand << uBits;\r
+               *pOperand = t | (*(pOperand - 1) >> (BASICWORD_BITS_COUNT - uBits));\r
+               pOperand--;             \r
+       }\r
+       *pOperand <<= uBits;\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_getMSW\r
+  * @brief             Return index of most significant word.\r
+  * \r
+  * @param             pOperand [in] pointer to the large integer.\r
+  *\r
+  * @return            The index of most significant word.\r
+  *                            -1 if passed integer actually is equal to 0.\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_getMSW(IN const BasicWord *pOperand, IN BasicWord uOperandLength)\r
+{\r
+       int nEl;\r
+       for(nEl = uOperandLength - 1; nEl >= 0; nEl--)\r
+       {\r
+               if (0 != pOperand[nEl])\r
+               {\r
+                       break;\r
+               }\r
+       }\r
+       return nEl;\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_getMSB\r
+  * @brief             Find the leftmost non-zero bit in passed unsigned integer.\r
+  * \r
+  * @param             oneWord [in] value of unsigned integer\r
+  *\r
+  * @return            Position of leftmost non-zero bit.\r
+  * @warning   Actually this function returns the position of leftmost non-zero bit started from the end of the integer.\r
+  *                            For example if we considering the unsigned integer with value 0x80000000 then SDRM_ll_getMSB will return 0 as a result.\r
+  *                            Or in the case if integer has value equal t 1, then SDRM_ll_getMSB will return BASICWORD_BITS_COUNT as a result.\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_getMSB(IN BasicWord oneWord)\r
+{\r
+       register BasicWord mask = (1 << (BASICWORD_BITS_COUNT-1));\r
+       int nPos = 0;\r
+\r
+       if ( !oneWord )\r
+               return BASICWORD_BITS_COUNT;\r
+\r
+       while (!(oneWord & mask))\r
+       {\r
+               nPos++;\r
+               mask >>= 1;\r
+       }\r
+\r
+       return nPos;\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_bit_getBitValue\r
+  * @brief             Return one bit value in the large integer number.\r
+  * \r
+  * @param             pOperand [in] pointer to large integer\r
+  * @param             nBit     [in] bit position in the large integer.\r
+  *\r
+  * @return            0 or 1 depends on actual bit value.\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_bit_getBitValue(IN BasicWord *pOperand, IN BasicWord nBit)\r
+{\r
+       BasicWord uOrdNum = nBit / BASICWORD_BITS_COUNT;\r
+       BasicWord uBitNum = nBit % BASICWORD_BITS_COUNT;\r
+\r
+       return (pOperand[uOrdNum] >> uBitNum) & 0x1;\r
+}\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_bit_getBitsValue(IN const BasicWord *pOperand, IN BasicWord uStartBit, IN BasicWord uBitsCount)\r
+{\r
+       int nValueLen, i;\r
+       BasicWord uValue = 0;\r
+       BasicWord uStartOrdNum = uStartBit / BASICWORD_BITS_COUNT;      /* number of ords */\r
+       BasicWord uStartBitNum = uStartBit % BASICWORD_BITS_COUNT;      /* number of bits in remainder BasicWord */\r
+\r
+       if((nValueLen = (int)(uStartBitNum + 1 - uBitsCount)) >= 0)\r
+       {\r
+               for(i = uStartBitNum; i >= nValueLen; i--)\r
+               {\r
+                       uValue = (BasicWord)(((pOperand[uStartOrdNum] >> i) & 1) | (uValue << 1));\r
+               }\r
+       }\r
+       else\r
+       {\r
+               nValueLen = uBitsCount - uStartBitNum - 1;\r
+               for(i = uStartBitNum; i >= 0; i--)\r
+               {\r
+                       uValue = (BasicWord)(((pOperand[uStartOrdNum] >> i) & 1) | (uValue << 1));\r
+               }\r
+\r
+               uStartOrdNum--;\r
+               nValueLen = BASICWORD_BITS_COUNT - nValueLen;\r
+               for(i = BASICWORD_BITS_COUNT - 1; i >= nValueLen; i--)\r
+               {\r
+                       uValue = (BasicWord)(((pOperand[uStartOrdNum] >> i) & 1) | (uValue << 1));\r
+               }\r
+       }\r
+\r
+       do\r
+       {\r
+               if(0 != (uValue & 1))\r
+               {\r
+                       break;\r
+               }\r
+               uValue >>= 1;\r
+       } while(1);\r
+\r
+       uValue = uValue >> 1;   /* get rid of least significant bit */\r
+\r
+       return uValue;\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Add\r
+  * @brief             Add two large unsigned integers that have the same size.\r
+  * \r
+  * @param             pFirstOperand  [in] pointer to first large integer\r
+  * @param             pSecondOperand [in] pointer to second large integer\r
+  * @param             uOperandsLength [in] length of the operands in words\r
+  * @param             pResult [out] pointer to result of subtraction\r
+  *\r
+  * @return            carry if so.\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_Add(IN const BasicWord *pFirstOperand, \r
+                               IN const BasicWord *pSecondOperand, \r
+                               IN BasicWord uOperandsLength, \r
+                               OUT BasicWord *pResult)\r
+{\r
+       unsigned i = 1;\r
+       register BasicWord rh;\r
+       register BasicWord fo, so, rl;\r
+\r
+       fo = *pFirstOperand++;\r
+       so = *pSecondOperand++;\r
+       _add_add_(fo,so,0,rl,rh)\r
+       *pResult++ = rl;\r
+       for (; i < uOperandsLength; i++)\r
+       {\r
+               fo = *pFirstOperand++;\r
+               so = *pSecondOperand++;\r
+               _add_add_(fo,so,rh,rl,rh)\r
+               *pResult++ = rl;\r
+       }\r
+\r
+       return rh;\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_AddCarry\r
+  * @brief             Add carry to large unsigned integer\r
+  * \r
+  * @param             oneWord  [in] value of carry\r
+  * @param             pOperand [inout] pointer to large integer\r
+  * @param             uOperandLength [in] length of the second operand in words\r
+  *\r
+  * @return            carry if so.\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_AddCarry(IN BasicWord oneWord, IN BasicWord *pOperand, IN BasicWord uOperandLength)\r
+{\r
+       BasicWord       i = 1;\r
+       register BasicWord ow = oneWord;\r
+\r
+       if ((pOperand[0] += ow) >= ow)\r
+       {\r
+               return 0;\r
+       }\r
+\r
+       while(i < uOperandLength)\r
+       {\r
+               if(++pOperand[i++] != 0)\r
+               {\r
+                       return 0;\r
+               }\r
+       }\r
+\r
+       return 1;\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Sub\r
+  * @brief             Subtract two large unsigned integers that have the same size.\r
+  * \r
+  * @param             pFirstOperand   [in] pointer to first large integer\r
+  * @param             pSecondOperand  [in] pointer to second large integer\r
+  * @param             uOperandsLength [in] length of the operands in words\r
+  * @param             pResult                 [out] pointer to result of subtraction\r
+  *\r
+  * @return            borrow if so.\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_Sub(IN const BasicWord *pFirstOperand, \r
+                               IN const BasicWord *pSecondOperand, \r
+                               IN BasicWord uOperandsLength, \r
+                               OUT BasicWord *pResult)\r
+{\r
+       register BasicWord temp, borrow = 0;\r
+\r
+       while (uOperandsLength--)\r
+       {\r
+               temp = *pFirstOperand - *pSecondOperand - borrow;\r
+               borrow = (borrow && (*pFirstOperand == *pSecondOperand)) || (*pFirstOperand < *pSecondOperand);\r
+               *pResult++ = temp;\r
+               pFirstOperand++;\r
+               pSecondOperand++;\r
+       }\r
+       return (borrow);\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Mul1\r
+  * @brief             Multiply large integer by one word.\r
+  *                            Result = oneWord*SecondOperand.\r
+  * \r
+  * @param             oneWord                                 [in] value of first multiplayer.\r
+  * @param             pSecondOperand                  [in] pointer to large integer\r
+  * @param             uSecondOperandsLength   [in] length of the second operand in words\r
+  * @param             pResult                                 [out] pointer to result of multiplication\r
+  *\r
+  * @warning   Routine doesn't store the last word of multiplication result, \r
+  *                            so we have to be carefull and take care about it after calling this function.\r
+  */\r
+CRYPTOCORE_INTERNAL BasicWord SDRM_ll_Mul1(IN BasicWord oneWord, \r
+                                          IN BasicWord *pSecondOperand, BasicWord uSecondOperandsLength, \r
+                                          IN OUT BasicWord *pResult)\r
+{\r
+       register BasicWord ow = oneWord;\r
+       register BasicWord rh, op2, r;\r
+\r
+       op2 = *pSecondOperand++;\r
+       r = *pResult;\r
+       _mul_add_add(op2, ow, 0, 0, r, rh)\r
+       *pResult++ = r;\r
+       while ( --uSecondOperandsLength )\r
+       {\r
+               op2 = *pSecondOperand++;\r
+               r = *pResult;\r
+               _mul_add_add(op2, ow, 0, rh, r, rh)\r
+               *pResult++ = r;\r
+       }\r
+\r
+       return rh;\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Mul1\r
+  * @brief             Multiply large integer by one word and add result to the another large integer.\r
+  *                            Result += oneWord*SecondOperand.\r
+  * \r
+  * @param             oneWord  [in] value of first multiplayer.\r
+  * @param             pSecondOperand [in] pointer to large integer\r
+  * @param             uSecondOperandsLength [in] length of the second operand in words\r
+  * @param             pResult [inout] pointer to result of multiplication\r
+  *\r
+  * @warning   Routine doesn't store the last word of multiplication result, \r
+  *                            so we have to be carefull and take care about it after calling this function.\r
+  */\r
+CRYPTOCORE_INTERNAL BasicWord SDRM_ll_MulAdd1(IN BasicWord oneWord, \r
+                                                 IN BasicWord *pSecondOperand, BasicWord uSecondOperandsLength, \r
+                                                 IN OUT BasicWord *pResult)\r
+{\r
+       register BasicWord ow = oneWord;\r
+       register BasicWord rh, op2, r;\r
+\r
+       op2 = *pSecondOperand++;\r
+       r = *pResult;\r
+       _mul_add_add(op2, ow, r, 0, r, rh)\r
+       *pResult++ = r;\r
+       while (--uSecondOperandsLength)\r
+       {\r
+               op2 = *pSecondOperand++;\r
+               r = *pResult;\r
+               _mul_add_add(op2, ow, r, rh, r, rh)\r
+               *pResult++ = r;\r
+       }\r
+\r
+       return rh;\r
+}\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_MulAdd(IN BasicWord *pFirstOperand, IN BasicWord uFirstOperandsLength, \r
+                                       IN BasicWord *pSecondOperand, IN BasicWord uSecondOperandsLength, \r
+                                       OUT BasicWord *pResult)\r
+{\r
+       while (uFirstOperandsLength--)\r
+       {\r
+               *(pResult+uSecondOperandsLength) = SDRM_ll_MulAdd1(*pFirstOperand++, pSecondOperand, uSecondOperandsLength, pResult);\r
+               pResult++;\r
+       }\r
+}\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_Mul(IN BasicWord *pFirstOperand, IN BasicWord uFirstOperandsLength, \r
+                                IN BasicWord *pSecondOperand, IN BasicWord uSecondOperandsLength, \r
+                                OUT BasicWord *pResult)\r
+{\r
+       *(pResult+uSecondOperandsLength) = SDRM_ll_Mul1(*pFirstOperand++, pSecondOperand, uSecondOperandsLength, pResult);\r
+       while (--uFirstOperandsLength)\r
+       {\r
+               *(pResult+uSecondOperandsLength) = SDRM_ll_MulAdd1(*pFirstOperand++, pSecondOperand, uSecondOperandsLength, pResult);\r
+               pResult++;\r
+       }\r
+}\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_Square(IN BasicWord *pOperand, IN BasicWord uOperandLength, OUT BasicWord *pResult)\r
+{\r
+       BasicWord i;\r
+       BasicWord j;\r
+       BasicWord t;\r
+       BasicWord len;\r
+\r
+       /* Compute the product of diagonal elements */\r
+       for(i = 0; i < uOperandLength; i++)\r
+       {\r
+               BasicWord rl, rh, op;\r
+               op = pOperand[i];\r
+               _mul_add_add(op,op,0,0,rl,rh)\r
+               pResult[i * 2] = rl;\r
+               pResult[i * 2 + 1] = rh;\r
+       }\r
+\r
+       /* Divide the result by 2 */\r
+       SDRM_ll_bit_RShift(pResult, (BasicWord)(uOperandLength << 1), 1);\r
+\r
+       /* Add the half of the rest part of squaring to the half of diagonal */\r
+       i = 0;\r
+       j = 0;\r
+       len = uOperandLength;\r
+       while (--len)\r
+       {\r
+               t = SDRM_ll_MulAdd1(pOperand[i], pOperand+i+1, (BasicWord)len, pResult + j + 1);\r
+               SDRM_ll_AddCarry(t, pResult+len+j+1, len+1);\r
+               j+=2;\r
+               i++;\r
+       }\r
+\r
+       /* Multiply the result by 2 */\r
+       SDRM_ll_bit_LShift(pResult, (BasicWord)(uOperandLength << 1), 1);\r
+\r
+       /* Restore the least significant bit */\r
+       if((pOperand[0] & 0x1L) != 0)\r
+       {\r
+               pResult[0] |= 0x1L;\r
+       }\r
+}\r
+\r
+/**\r
+  * @fn                        SDRM_ll_Rem\r
+  * @brief             Compute reminder of division.\r
+  * \r
+  * @warning   This is a temporary solution. It has been created mostly for testing purposes. \r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_Rem(IN BasicWord *pOperand, IN BasicWord uOperandLengthInBytes, \r
+                               IN BasicWord *pModule, IN BasicWord uModuleLengthInBytes, \r
+                               OUT BasicWord *pResult)\r
+{\r
+       BasicWord nWordX = DIV_BY_ORD_BYTES_COUNT(uOperandLengthInBytes);\r
+       BasicWord nWordP;\r
+       BasicWord *pTempResult;\r
+\r
+       nWordX = SDRM_ll_getMSW(pOperand, nWordX) + 1;\r
+       nWordP = SDRM_ll_getMSW(pModule, nWordX) + 1;\r
+       \r
+       pTempResult = calloc(nWordX+1,BASICWORD_BYTES_COUNT);\r
+       if (!pTempResult)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       SDRM_ll_Copy(pTempResult, pOperand, nWordX);\r
+\r
+       SDRM_DWD_Classical_REDC(pTempResult, nWordX, pModule, nWordP);\r
+       \r
+       SDRM_ll_Copy(pResult, pTempResult, nWordP);\r
+\r
+       free(pTempResult);\r
+\r
+       return 0;\r
+}\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_mont_Inverse(OUT BasicWord *out, IN BasicWord oneWord)\r
+{\r
+       /*\r
+               t = m^(-1) mod b\r
+               m^(-1) = t*(2-m*t) mod (b^2)\r
+\r
+               So we are just using some simple iteration t <- t*(2-m*t) and check the condition that t*m == 1 mod b.\r
+       */\r
+       BasicWord t = oneWord;\r
+       BasicWord r = t*t;\r
+\r
+       while (r != 1)\r
+       {\r
+               t = t*(2 - r);\r
+               r = oneWord*t;\r
+\r
+               if (!(r) && !(t))\r
+               {\r
+                       return -1;\r
+               }\r
+       }\r
+\r
+       *out = (BasicWord)(-t);\r
+\r
+       return 0;\r
+}\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL void SDRM_ll_mont_Rem(IN OUT BasicWord *pFirstOperand, \r
+                                         IN BasicWord *pModule, \r
+                                         IN BasicWord uModuleLength, \r
+                                         IN BasicWord inv)\r
+{\r
+       BasicWord lp;              /* leftmost non-zero element */\r
+       BasicWord temp, temp_longs;\r
+       BasicWord carry = 0;\r
+\r
+       temp_longs = uModuleLength;\r
+       lp = SDRM_ll_getMSW(pModule, uModuleLength) + 1;\r
+       do\r
+       {\r
+               temp = inv * pFirstOperand[0];\r
+               temp = SDRM_ll_MulAdd1(temp, pModule, lp, pFirstOperand);\r
+               carry += SDRM_ll_AddCarry(temp, pFirstOperand+uModuleLength, temp_longs);\r
+               pFirstOperand++;\r
+       } while(--temp_longs);\r
+\r
+       while(carry)\r
+       {\r
+               if(SDRM_ll_Sub(pFirstOperand, pModule, uModuleLength, pFirstOperand))\r
+                       carry--;\r
+       }\r
+\r
+       while(SDRM_ll_Cmp(pFirstOperand, pModule, uModuleLength) >= 0)\r
+       {\r
+               SDRM_ll_Sub(pFirstOperand, pModule, uModuleLength, pFirstOperand);\r
+       }\r
+}\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_mont_Square(IN BasicWord *pFirstOperand, \r
+                                               IN BasicWord *pModule, \r
+                                               IN BasicWord uModuleLength, \r
+                                               IN BasicWord Inv, \r
+                                               OUT BasicWord *pResult)\r
+{\r
+       pResult[uModuleLength * 2] = 0;\r
+\r
+       /* Compute square */\r
+       SDRM_ll_Square(pFirstOperand, uModuleLength, pResult);\r
+       /* Compute the modulo by the Montgomery */\r
+       SDRM_ll_mont_Rem(pResult, pModule, uModuleLength, Inv);\r
+\r
+       /* Note: The next step for making toolkit faster is to redesign Montgomery functions and remove all memory allocation \r
+          and copying from there. That means that exponentiation routine should be redesigne as well. */\r
+       memcpy(pFirstOperand, pResult + uModuleLength, MUL_BY_ORD_BYTES_COUNT(uModuleLength));\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+CRYPTOCORE_INTERNAL int SDRM_ll_mont_Mul(IN BasicWord *pFirstOperand, \r
+                                        IN BasicWord *pSecondOperand, \r
+                                        IN BasicWord *pModule, \r
+                                        IN BasicWord uModuleLengthInBytes, \r
+                                        IN BasicWord Inv, \r
+                                        OUT BasicWord *pResult)\r
+{\r
+       BasicWord P_longs;             /* number of longs in P, X and Y */\r
+       BasicWord lx, ly;              /* leftmost non-zero elements */\r
+       BasicWord *XY;                 /* pointer to product result */\r
+\r
+       P_longs = DIV_BY_ORD_BYTES_COUNT(uModuleLengthInBytes);\r
+       XY = (BasicWord*)calloc(2 * P_longs + 1, BASICWORD_BYTES_COUNT);\r
+       if(!XY)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       /* Find leftmost non-zero elements */\r
+       lx = SDRM_ll_getMSW(pFirstOperand, P_longs) + 1;\r
+       ly = SDRM_ll_getMSW(pSecondOperand, P_longs) + 1;\r
+       /* Compute the product of FirstOperand and SecondOperand */\r
+       SDRM_ll_MulAdd(pFirstOperand, lx, pSecondOperand, ly, XY);\r
+       /* Compute the modulo by the Montgomery */\r
+       SDRM_ll_mont_Rem(XY, pModule, P_longs, Inv);\r
+\r
+       /* Note: The next step for making toolkit faster is to redesign Montgomery functions and remove all memory allocation \r
+          and copying from there. That means that exponentiation routine should be redesigne as well. */\r
+       memcpy(pResult, XY + P_longs, uModuleLengthInBytes);\r
+       free(XY);\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/**\r
+  * @fn                        [Mandatory] Function name\r
+  * @brief             [Mandatory] Description of major features and algorithms\r
+  * \r
+  * @param             [Optional] description of parameters ([one among in, out, inout])\r
+  *\r
+  * @return            [Optional] description of return value\r
+  * @warning   [Optional] constraints or notices\r
+  * @see               [Optional] related information\r
+  */\r
+\r
+#define _win_pval(i) (BasicWord*)(temp_1 + (i) * uOrdsP)\r
+CRYPTOCORE_INTERNAL int SDRM_ll_ExpMod( IN BasicWord *pBase, IN BasicWord uBaseLengthInBytes, \r
+                                       IN BasicWord *pExponent, IN BasicWord uExponentLengthInBytes,\r
+                                       IN BasicWord *pModule, IN BasicWord uModuleLengthInBytes, \r
+                                       OUT BasicWord *pResult)\r
+{\r
+       int nStatus = CRYPTO_SUCCESS;\r
+       BasicWord *temp_1, inv;\r
+       BasicWord *m_temp, *m_sq;\r
+       int n_mem, win_len;\r
+       BasicWord uOrdsY, uOrdsP;\r
+       int i, j, k, eb = 0;\r
+       BasicWord nIndex;\r
+       int ly;\r
+       /* The values of num_squar array given below represents the lengths of particular window values in bits */\r
+       /* We have to take into account that we store only odd values. */\r
+       /* window values  -> 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, etc... */\r
+       /* num_squar      -> 1, 2, 3, 3, 4,  4,  4,  4,  5,  5, etc... */\r
+       int num_squar[32] = {1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5,\r
+                                                6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,};\r
+\r
+       uOrdsY = DIV_BY_ORD_BYTES_COUNT(uExponentLengthInBytes);\r
+       uOrdsP = DIV_BY_ORD_BYTES_COUNT(uModuleLengthInBytes);\r
+       /* Find the leftmost non-zero element of modulo */\r
+       if(-1 == SDRM_ll_getMSW(pModule, uOrdsP))\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       /* Find the leftmost non-zero element of exponent */\r
+       ly = SDRM_ll_getMSW(pExponent, uOrdsY);\r
+\r
+       /* if exponent equal to 0 result is 1 */\r
+       if(-1 == ly)\r
+       {\r
+               memset(pResult, 0, uModuleLengthInBytes);\r
+               pResult[0] = 1;\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       /* Find the leftmost non-zero bit in this element */\r
+       eb = SDRM_ll_getMSB(pExponent[ly]);\r
+\r
+       /* Choose window length */\r
+       k = BASICWORD_BITS_COUNT * (ly + 1) - eb - 1;\r
+       if(k < 512)\r
+       {\r
+               win_len = 4;\r
+       }\r
+       else if((k >= 512) && (k < 1024))\r
+       {\r
+               win_len = 5;\r
+       }\r
+       else\r
+       { /* for any k >= 1024 */\r
+               win_len = 6;\r
+       }\r
+\r
+       /* Obtain number of precomputed elements */\r
+       n_mem = (1 << (win_len - 1)) + 1;\r
+       /* Allocate storage for precomputetd values */\r
+       temp_1 = (BasicWord*)calloc((n_mem + 1) * uOrdsP, BASICWORD_BYTES_COUNT);\r
+       if (!temp_1)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       /* Allocate temporary storages */\r
+       m_temp = (BasicWord*)calloc(2 * uOrdsP + 1, BASICWORD_BYTES_COUNT);\r
+       if (!m_temp)\r
+       {\r
+               free(temp_1);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+       m_sq = (BasicWord*)malloc(2 * uModuleLengthInBytes + BASICWORD_BYTES_COUNT);\r
+       if (!m_sq)\r
+       {\r
+               free(temp_1);\r
+               free(m_temp);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       do\r
+       {\r
+               /* Convert Base to Montgomery form */\r
+               inv = *pModule;\r
+               if (SDRM_ll_mont_Inverse(&inv, inv) != 0)\r
+               {\r
+                       nStatus = CRYPTO_INVERSE_NOT_EXIST;\r
+                       break;\r
+               }\r
+               /* Move n up "mlen" words into a */\r
+               /* Actually we obtain X*R where R is Montgomery reduction coefficient */\r
+               memcpy(m_temp + uOrdsP, pBase, uBaseLengthInBytes);\r
+\r
+               /* Do the division - dump the quotient in the high-order words */\r
+               if((nStatus = SDRM_ll_Rem(m_temp, (BasicWord)(uBaseLengthInBytes + uModuleLengthInBytes), pModule, uModuleLengthInBytes, temp_1)) != CRYPTO_SUCCESS)\r
+               {\r
+                       break;\r
+               }\r
+\r
+               /* After this operation we will obtain X*R mod P */\r
+               memcpy(m_temp, temp_1, uModuleLengthInBytes);\r
+\r
+               /* Initialization */\r
+               /* Compute X^2*R mod P */\r
+               SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq);\r
+               memcpy(_win_pval(n_mem), m_temp, uModuleLengthInBytes);\r
+\r
+               /* We have to calculate X^3, X^5 and so on ... */\r
+               /* For making that we just use previously calculated value of X^2 and use it as multiplayer consecutively. */\r
+               /* element (0) <- X*R mod P */\r
+               /* element (1) <- X^3*R = element (0) * X^2*R mod P */\r
+               /* element (2) <- X^5*R = element (1) * X^2*R mod P */\r
+               /* element (3) <- X^7*R = element (2) * X^2*R mod P */\r
+               /* element (4) <- ... */\r
+               for(i = 1; i < n_mem; i++)\r
+               {\r
+                       SDRM_ll_mont_Mul(_win_pval(i - 1), _win_pval(n_mem), pModule, uModuleLengthInBytes, inv, _win_pval(i));\r
+               }\r
+               \r
+               /* OK, now let compute R mod P */\r
+               memset(m_temp, 0, 2 * uModuleLengthInBytes + 1);\r
+               m_temp[uOrdsP] = 1;\r
+               if((nStatus = SDRM_ll_Rem(m_temp, (BasicWord)(uModuleLengthInBytes + BASICWORD_BYTES_COUNT), pModule, uModuleLengthInBytes, m_temp)) != CRYPTO_SUCCESS)\r
+                       break;\r
+\r
+               /* Compute the exponent */\r
+               for(i = k; i >= win_len-1; )\r
+               {\r
+                       /* Note: I don't like this solution, but it was easy and from that point of view was suitable for short development cycle. \r
+                          During further refactoring exponent bits processing should be changed in a way that makes possible to perform\r
+                          all computations inside of the one cycle. See some additional related comments right after the body of this cycle.*/\r
+\r
+                       /* Find next suitable bits for computations */\r
+                       nIndex = (BasicWord)SDRM_ll_bit_getBitsValue(pExponent, (BasicWord)i, (BasicWord)win_len);\r
+\r
+                       /* Square the intermediate result */\r
+                       for(j = 0; j < num_squar[nIndex]; j++)\r
+                       {\r
+                               SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq);\r
+                       }\r
+\r
+                       /* Multiply with the precomputed data */\r
+                       SDRM_ll_mont_Mul(m_temp, _win_pval(nIndex), pModule, uModuleLengthInBytes, inv, m_temp);\r
+\r
+                       /* Square (win_len - num_squar) times */\r
+                       for(j = 0 ; j < win_len - num_squar[nIndex]; j++)\r
+                       {\r
+                               SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq);\r
+                       }\r
+\r
+                       i -= win_len;\r
+\r
+                       /* perform squering till first nonzero bit */\r
+                       while((i >= win_len - 1) && !SDRM_ll_bit_getBitValue(pExponent, (BasicWord)i))\r
+                       {\r
+                               SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq);\r
+                               i--;\r
+                       }\r
+               }\r
+\r
+               /* Note: Actually it would be batter to perform remeined last bits processing inside of the exponent computation main cycle.\r
+                  So the next refactoring step is to modify this routine and make things in that way. */\r
+\r
+               /* if we still have some bit(s) ... */\r
+               /* perform squering till first nonzero bit */\r
+               while((i >= 0) && !SDRM_ll_bit_getBitValue(pExponent, (BasicWord)i))\r
+               {\r
+                       SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq);\r
+                       i--;\r
+               }\r
+\r
+               /* if we still have some nonzero bit(s) ... */\r
+               if(i >= 0)\r
+               {\r
+                       nIndex = (BasicWord)SDRM_ll_bit_getBitsValue(pExponent, (BasicWord)i, (BasicWord)(i + 1));\r
+                       for(j = 0; j < num_squar[nIndex]; j++)\r
+                       {\r
+                               SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq);\r
+                       }\r
+\r
+                       /* Multiply with precomputed data*/\r
+                       SDRM_ll_mont_Mul(m_temp, _win_pval(nIndex), pModule, uModuleLengthInBytes, inv, m_temp);\r
+\r
+                       /* Square (win_len - num_squar) times */\r
+                       for(j = 0 ; j <= i - num_squar[nIndex]; j++)\r
+                       {\r
+                               SDRM_ll_mont_Square(m_temp, pModule, uOrdsP, inv, m_sq);\r
+                       }\r
+               }\r
+\r
+               /* Convert the result out of Montgomery form */\r
+               SDRM_ll_mont_Rem(m_temp,  pModule, uOrdsP, inv);\r
+               memcpy(pResult, m_temp + uOrdsP, uModuleLengthInBytes);\r
+               /* This is the tricky place :) Actually we have (X*R+R) mod P. */\r
+               /* So we just need to remove that additional R */\r
+               pResult[0]--;\r
+\r
+               break;  /* always break this loop */\r
+       } while(0);\r
+\r
+       free(temp_1);\r
+       free(m_temp);\r
+       free(m_sq);\r
+\r
+       return nStatus;\r
+}\r
diff --git a/SPC/Src/base/hash.c b/SPC/Src/base/hash.c
new file mode 100755 (executable)
index 0000000..3081353
--- /dev/null
@@ -0,0 +1,578 @@
+/**\r
+ * \file       hash.c\r
+ * @brief      hash API function\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/08\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "hash.h"\r
+#include "sha1.h"\r
+#include "sha2.h"\r
+#include "md5.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_SHA1_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA1_init(CryptoCoreContainer *crt)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA1_Init(crt->ctx->sha1ctx);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA1_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]cc_u8-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA1_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA1_Update(crt->ctx->sha1ctx, msg, msglen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA1_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA1_final(CryptoCoreContainer *crt, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA1_Final(crt->ctx->sha1ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA1_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA1_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA1_Init(crt->ctx->sha1ctx);\r
+       SDRM_SHA1_Update(crt->ctx->sha1ctx, msg, msglen);\r
+       SDRM_SHA1_Final(crt->ctx->sha1ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA224_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA224_init(CryptoCoreContainer *crt)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA224_Init(crt->ctx->sha224ctx);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA224_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA224_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA224_Update(crt->ctx->sha224ctx, msg, msglen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA224_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA224_final(CryptoCoreContainer *crt, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL)) {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA224_Final(crt->ctx->sha224ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA224_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA224_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA224_Init(crt->ctx->sha224ctx);\r
+       SDRM_SHA224_Update(crt->ctx->sha224ctx, msg, msglen);\r
+       SDRM_SHA224_Final(crt->ctx->sha224ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA256_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA256_init(CryptoCoreContainer *crt)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA256_Init(crt->ctx->sha256ctx);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA256_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA256_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA256_Update(crt->ctx->sha256ctx, msg, msglen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA256_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA256_final(CryptoCoreContainer *crt, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL)) {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA256_Final(crt->ctx->sha256ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA256_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA256_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA256_Init(crt->ctx->sha256ctx);\r
+       SDRM_SHA256_Update(crt->ctx->sha256ctx, msg, msglen);\r
+       SDRM_SHA256_Final(crt->ctx->sha256ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+\r
+/*\r
+ * @fn         SDRM_SHA384_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA384_init(CryptoCoreContainer *crt)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA384_Init(crt->ctx->sha384ctx);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*             \r
+ * @fn         SDRM_SHA384_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA384_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA384_Update(crt->ctx->sha384ctx, msg, msglen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA384_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA384_final(CryptoCoreContainer *crt, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA384_Final(crt->ctx->sha384ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA384_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA384_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA384_Init(crt->ctx->sha384ctx);\r
+       SDRM_SHA384_Update(crt->ctx->sha384ctx, msg, msglen);\r
+       SDRM_SHA384_Final(crt->ctx->sha384ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA512_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA512_init(CryptoCoreContainer *crt)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA512_Init(crt->ctx->sha512ctx);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA512_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA512_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA512_Update(crt->ctx->sha512ctx, msg, msglen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA512_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA512_final(CryptoCoreContainer *crt, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA512_Final(crt->ctx->sha512ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SHA512_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SHA512_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_SHA512_Init(crt->ctx->sha512ctx);\r
+       SDRM_SHA512_Update(crt->ctx->sha512ctx, msg, msglen);\r
+       SDRM_SHA512_Final(crt->ctx->sha512ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+/*\r
+ * @fn         SDRM_MD5_init\r
+ * @brief      initialize CryptoCoreContainer context\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MD5_init(CryptoCoreContainer *crt)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_MD5_Init(crt->ctx->md5ctx);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_MD5_update\r
+ * @brief      process a message block\r
+ *\r
+ * @param      crt                                     [out]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MD5_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_MD5_Update(crt->ctx->md5ctx, msg, msglen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_MD5_final\r
+ * @brief      get hashed message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MD5_final(CryptoCoreContainer *crt, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (output == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_MD5_Final(crt->ctx->md5ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_MD5_hash\r
+ * @brief      get hashed message from message\r
+ *\r
+ * @param      crt                                     [in]CryptoCoreContainer context\r
+ * @param      msg                                     [in]message\r
+ * @param      msglen                          [in]byte-length of msg\r
+ * @param      output                          [out]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MD5_hash(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msglen, cc_u8 *output)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_MD5_Init(crt->ctx->md5ctx);\r
+       SDRM_MD5_Update(crt->ctx->md5ctx, msg, msglen);\r
+       SDRM_MD5_Final(crt->ctx->md5ctx, output);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/base/md5.c b/SPC/Src/base/md5.c
new file mode 100755 (executable)
index 0000000..3574d7a
--- /dev/null
@@ -0,0 +1,289 @@
+/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All\r
+rights reserved.\r
+\r
+License to copy and use this software is granted provided that it\r
+is identified as the "RSA Data Security, Inc. MD5 Message-Digest\r
+Algorithm" in all material mentioning or referencing this software\r
+or this function.\r
+\r
+License is also granted to make and use derivative works provided\r
+that such works are identified as "derived from the RSA Data\r
+Security, Inc. MD5 Message-Digest Algorithm" in all material\r
+mentioning or referencing the derived work.\r
+\r
+RSA Data Security, Inc. makes no representations concerning either\r
+the merchantability of this software or the suitability of this\r
+software for any particular purpose. It is provided "as is"\r
+without express or implied warranty of any kind.\r
+\r
+These notices must be retained in any copies of any part of this\r
+documentation and/or software.\r
+ */\r
+\r
+/*\r
+ * MD5 implementation\r
+ */\r
+\r
+#include "md5.h"\r
+\r
+//Constants for MD5Transform routine.\r
+static cc_u8 S[4][4] = {\r
+       {7, 12, 17, 22},\r
+       {5,  9, 14, 20},\r
+       {4, 11, 16, 23},\r
+       {6, 10, 15, 21}\r
+};\r
+\r
+static void SDRM_MD5Transform(cc_u32 [4], const unsigned char*);\r
+static void SDRM_Encode (unsigned char *, cc_u32 *, cc_u32);\r
+static void SDRM_Decode (cc_u32 *, const unsigned char *, cc_u32);\r
+\r
+static unsigned char PADDING[64] = {0x80, 0,};\r
+\r
+/* F, G, H and I are basic MD5 functions.\r
+ */\r
+//#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))\r
+//#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))\r
+//#define H(x, y, z) ((x) ^ (y) ^ (z))\r
+//#define I(x, y, z) ((y) ^ ((x) | (~z)))\r
+\r
+#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z))))\r
+#define G(x, y, z) F(z, x, y)\r
+#define H(x, y, z) ((x) ^ (y) ^ (z))\r
+#define I(x, y, z) ((y) ^ ((x) | ~(z)))\r
+\r
+\r
+/* ROTATE_LEFT rotates x left n bits.\r
+ */\r
+#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))\r
+\r
+/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.\r
+Rotation is separate from addition to prevent recomputation.\r
+ */\r
+#define FF(a, b, c, d, x, s, ac) {                                     \\r
+ (a) += F ((b), (c), (d)) + (x) + (cc_u32)(ac);                \\r
+ (a) = ROTATE_LEFT ((a), (s));                                         \\r
+ (a) += (b);                                                                           \\r
+}\r
+#define GG(a, b, c, d, x, s, ac) {                                     \\r
+ (a) += G ((b), (c), (d)) + (x) + (cc_u32)(ac);                \\r
+ (a) = ROTATE_LEFT ((a), (s));                                         \\r
+ (a) += (b);                                                                           \\r
+}\r
+#define HH(a, b, c, d, x, s, ac) {                                     \\r
+ (a) += H ((b), (c), (d)) + (x) + (cc_u32)(ac);                \\r
+ (a) = ROTATE_LEFT ((a), (s));                                         \\r
+ (a) += (b);                                                                           \\r
+}\r
+#define II(a, b, c, d, x, s, ac) {                                     \\r
+ (a) += I ((b), (c), (d)) + (x) + (cc_u32)(ac);                \\r
+ (a) = ROTATE_LEFT ((a), (s));                                         \\r
+ (a) += (b);                                                                           \\r
+}\r
+\r
+/* MD5 initialization. Begins an MD5 operation, writing a new context.\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_MD5_Init(SDRM_MD5Context *ctx)\r
+{\r
+       ctx->count[0] = 0;\r
+       ctx->count[1] = 0;\r
+\r
+       // Load magic initialization constants.\r
+       ctx->state[0] = 0x67452301;\r
+       ctx->state[1] = 0xefcdab89;\r
+       ctx->state[2] = 0x98badcfe;\r
+       ctx->state[3] = 0x10325476;\r
+}\r
+\r
+/* MD5 block update operation. Continues an MD5 message-digest\r
+  operation, processing another message block, and updating the\r
+  context.\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_MD5_Update(SDRM_MD5Context *ctx, cc_u8* input, cc_u32 inputLen)\r
+{\r
+       cc_u32 i, idx, partLen;\r
+\r
+       /* Compute number of bytes mod 64 */\r
+       idx = (cc_u32)((ctx->count[0] >> 3) & 0x3F);\r
+\r
+       /* Update number of bits */\r
+       if ((ctx->count[0] += ((cc_u32)inputLen << 3)) < ((cc_u32)inputLen << 3))\r
+       {\r
+               ctx->count[1]++;\r
+       }\r
+       \r
+       ctx->count[1] += ((cc_u32)inputLen >> 29);\r
+\r
+       partLen = 64 - idx;\r
+\r
+       // Transform as many times as possible.\r
+       if (inputLen >= partLen)\r
+       {\r
+               memcpy(&ctx->buffer[idx], input, partLen);\r
+               SDRM_MD5Transform(ctx->state, ctx->buffer);\r
+\r
+               for (i = partLen; i + 63 < inputLen; i += 64) \r
+               {\r
+                       SDRM_MD5Transform(ctx->state, &input[i]);\r
+               }\r
+\r
+               idx = 0;\r
+       }\r
+       else\r
+       {\r
+               i = 0;\r
+       }\r
+\r
+       /* Buffer remaining input */\r
+       memcpy(&ctx->buffer[idx], &input[i], inputLen-i);\r
+}\r
+\r
+/* MD5 finalization. Ends an MD5 message-digest operation, writing the\r
+  the message digest and zeroizing the context.\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_MD5_Final(SDRM_MD5Context *ctx, cc_u8* digest)\r
+{\r
+       unsigned char bits[8];\r
+       cc_u32 idx, padLen;\r
+\r
+       /* Save number of bits */\r
+       SDRM_Encode(bits, ctx->count, 8);\r
+\r
+       // Pad out to 56 mod 64.\r
+       idx = (cc_u32)((ctx->count[0] >> 3) & 0x3f);\r
+       padLen = (idx < 56) ? (56 - idx) : (120 - idx);\r
+       SDRM_MD5_Update (ctx, PADDING, padLen);\r
+\r
+       /* Append length (before padding) */\r
+       SDRM_MD5_Update (ctx, bits, 8);\r
+\r
+       /* Store state in digest */\r
+       SDRM_Encode (digest, ctx->state, 16);\r
+\r
+       // Zeroize sensitive information.\r
+       memset(ctx, 0, sizeof(*ctx));\r
+}\r
+\r
+/* MD5 basic transformation. Transforms state based on block.\r
+ */\r
+static void SDRM_MD5Transform (cc_u32 state[4], const unsigned char* block)\r
+{\r
+       cc_u32 a = state[0], b = state[1], c = state[2], d = state[3], x[16];\r
+\r
+       SDRM_Decode (x, block, 64);\r
+\r
+       /* Round 1 */\r
+       FF (a, b, c, d, x[ 0], S[0][0], 0xd76aa478); /* 1 */\r
+       FF (d, a, b, c, x[ 1], S[0][1], 0xe8c7b756); /* 2 */\r
+       FF (c, d, a, b, x[ 2], S[0][2], 0x242070db); /* 3 */\r
+       FF (b, c, d, a, x[ 3], S[0][3], 0xc1bdceee); /* 4 */\r
+       FF (a, b, c, d, x[ 4], S[0][0], 0xf57c0faf); /* 5 */\r
+       FF (d, a, b, c, x[ 5], S[0][1], 0x4787c62a); /* 6 */\r
+       FF (c, d, a, b, x[ 6], S[0][2], 0xa8304613); /* 7 */\r
+       FF (b, c, d, a, x[ 7], S[0][3], 0xfd469501); /* 8 */\r
+       FF (a, b, c, d, x[ 8], S[0][0], 0x698098d8); /* 9 */\r
+       FF (d, a, b, c, x[ 9], S[0][1], 0x8b44f7af); /* 10 */\r
+       FF (c, d, a, b, x[10], S[0][2], 0xffff5bb1); /* 11 */\r
+       FF (b, c, d, a, x[11], S[0][3], 0x895cd7be); /* 12 */\r
+       FF (a, b, c, d, x[12], S[0][0], 0x6b901122); /* 13 */\r
+       FF (d, a, b, c, x[13], S[0][1], 0xfd987193); /* 14 */\r
+       FF (c, d, a, b, x[14], S[0][2], 0xa679438e); /* 15 */\r
+       FF (b, c, d, a, x[15], S[0][3], 0x49b40821); /* 16 */\r
+\r
+       /* Round 2 */\r
+       GG (a, b, c, d, x[ 1], S[1][0], 0xf61e2562); /* 17 */\r
+       GG (d, a, b, c, x[ 6], S[1][1], 0xc040b340); /* 18 */\r
+       GG (c, d, a, b, x[11], S[1][2], 0x265e5a51); /* 19 */\r
+       GG (b, c, d, a, x[ 0], S[1][3], 0xe9b6c7aa); /* 20 */\r
+       GG (a, b, c, d, x[ 5], S[1][0], 0xd62f105d); /* 21 */\r
+       GG (d, a, b, c, x[10], S[1][1], 0x02441453); /* 22 */\r
+       GG (c, d, a, b, x[15], S[1][2], 0xd8a1e681); /* 23 */\r
+       GG (b, c, d, a, x[ 4], S[1][3], 0xe7d3fbc8); /* 24 */\r
+       GG (a, b, c, d, x[ 9], S[1][0], 0x21e1cde6); /* 25 */\r
+       GG (d, a, b, c, x[14], S[1][1], 0xc33707d6); /* 26 */\r
+       GG (c, d, a, b, x[ 3], S[1][2], 0xf4d50d87); /* 27 */\r
+       GG (b, c, d, a, x[ 8], S[1][3], 0x455a14ed); /* 28 */\r
+       GG (a, b, c, d, x[13], S[1][0], 0xa9e3e905); /* 29 */\r
+       GG (d, a, b, c, x[ 2], S[1][1], 0xfcefa3f8); /* 30 */\r
+       GG (c, d, a, b, x[ 7], S[1][2], 0x676f02d9); /* 31 */\r
+       GG (b, c, d, a, x[12], S[1][3], 0x8d2a4c8a); /* 32 */\r
+\r
+       /* Round 3 */\r
+       HH (a, b, c, d, x[ 5], S[2][0], 0xfffa3942); /* 33 */\r
+       HH (d, a, b, c, x[ 8], S[2][1], 0x8771f681); /* 34 */\r
+       HH (c, d, a, b, x[11], S[2][2], 0x6d9d6122); /* 35 */\r
+       HH (b, c, d, a, x[14], S[2][3], 0xfde5380c); /* 36 */\r
+       HH (a, b, c, d, x[ 1], S[2][0], 0xa4beea44); /* 37 */\r
+       HH (d, a, b, c, x[ 4], S[2][1], 0x4bdecfa9); /* 38 */\r
+       HH (c, d, a, b, x[ 7], S[2][2], 0xf6bb4b60); /* 39 */\r
+       HH (b, c, d, a, x[10], S[2][3], 0xbebfbc70); /* 40 */\r
+       HH (a, b, c, d, x[13], S[2][0], 0x289b7ec6); /* 41 */\r
+       HH (d, a, b, c, x[ 0], S[2][1], 0xeaa127fa); /* 42 */\r
+       HH (c, d, a, b, x[ 3], S[2][2], 0xd4ef3085); /* 43 */\r
+       HH (b, c, d, a, x[ 6], S[2][3], 0x04881d05); /* 44 */\r
+       HH (a, b, c, d, x[ 9], S[2][0], 0xd9d4d039); /* 45 */\r
+       HH (d, a, b, c, x[12], S[2][1], 0xe6db99e5); /* 46 */\r
+       HH (c, d, a, b, x[15], S[2][2], 0x1fa27cf8); /* 47 */\r
+       HH (b, c, d, a, x[ 2], S[2][3], 0xc4ac5665); /* 48 */\r
+\r
+       /* Round 4 */\r
+       II (a, b, c, d, x[ 0], S[3][0], 0xf4292244); /* 49 */\r
+       II (d, a, b, c, x[ 7], S[3][1], 0x432aff97); /* 50 */\r
+       II (c, d, a, b, x[14], S[3][2], 0xab9423a7); /* 51 */\r
+       II (b, c, d, a, x[ 5], S[3][3], 0xfc93a039); /* 52 */\r
+       II (a, b, c, d, x[12], S[3][0], 0x655b59c3); /* 53 */\r
+       II (d, a, b, c, x[ 3], S[3][1], 0x8f0ccc92); /* 54 */\r
+       II (c, d, a, b, x[10], S[3][2], 0xffeff47d); /* 55 */\r
+       II (b, c, d, a, x[ 1], S[3][3], 0x85845dd1); /* 56 */\r
+       II (a, b, c, d, x[ 8], S[3][0], 0x6fa87e4f); /* 57 */\r
+       II (d, a, b, c, x[15], S[3][1], 0xfe2ce6e0); /* 58 */\r
+       II (c, d, a, b, x[ 6], S[3][2], 0xa3014314); /* 59 */\r
+       II (b, c, d, a, x[13], S[3][3], 0x4e0811a1); /* 60 */\r
+       II (a, b, c, d, x[ 4], S[3][0], 0xf7537e82); /* 61 */\r
+       II (d, a, b, c, x[11], S[3][1], 0xbd3af235); /* 62 */\r
+       II (c, d, a, b, x[ 2], S[3][2], 0x2ad7d2bb); /* 63 */\r
+       II (b, c, d, a, x[ 9], S[3][3], 0xeb86d391); /* 64 */\r
+\r
+       state[0] += a;\r
+       state[1] += b;\r
+       state[2] += c;\r
+       state[3] += d;\r
+\r
+       //Zeroize sensitive information.\r
+       memset (x, 0, sizeof (x));\r
+}\r
+\r
+/* Encodes input (cc_u4) into output (unsigned char). Assumes len is\r
+  a multiple of 4.\r
+ */\r
+static void SDRM_Encode (unsigned char *output, cc_u32 *input, cc_u32 len)\r
+{\r
+       cc_u32 i, j;\r
+\r
+       for (i = 0, j = 0; j < len; i++, j += 4)\r
+       {\r
+               output[j  ] = (unsigned char)((input[i]      ) & 0xff);\r
+               output[j+1] = (unsigned char)((input[i] >>  8) & 0xff);\r
+               output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);\r
+               output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);\r
+       }\r
+}\r
+\r
+/* Decodes input (unsigned char) into output (UINT4). Assumes len is\r
+  a multiple of 4.\r
+ */\r
+static void SDRM_Decode (cc_u32 *output, const unsigned char *input, cc_u32 len)\r
+{\r
+       cc_u32 i, j;\r
+\r
+       for (i = 0, j = 0; j < len; i++, j += 4)\r
+       {\r
+               output[i] = (\r
+               (((cc_u32)input[j]    )      ) | \r
+               (((cc_u32)input[j + 1]) <<  8) |\r
+               (((cc_u32)input[j + 2]) << 16) |\r
+               (((cc_u32)input[j + 3]) << 24));\r
+       }\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/base/moo.c b/SPC/Src/base/moo.c
new file mode 100755 (executable)
index 0000000..8197be1
--- /dev/null
@@ -0,0 +1,487 @@
+/**\r
+ * \file       moo.c\r
+ * @brief      implementation of mode of operations\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/08/04\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "moo.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_ECB_Enc\r
+ * @brief      Encrypt a block with ECB mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]cipher text block\r
+ * @param      in                                              [in]plain text block\r
+ * @param      key                                             [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key)\r
+{\r
+       switch(Algorithm)\r
+       {\r
+               case ID_AES128 :\r
+                       SDRM_rijndaelEncrypt((cc_u32*)(void*)key, 10, in, out);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_AES192 :\r
+                       SDRM_rijndaelEncrypt((cc_u32*)(void*)key, 12, in, out);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_AES256 :\r
+                       SDRM_rijndaelEncrypt((cc_u32*)(void*)key, 14, in, out);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_DES :\r
+                       return SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, in, out);\r
+               case ID_TDES :\r
+                       return SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, in, out);\r
+               default :\r
+                       break;\r
+       }\r
+\r
+       return CRYPTO_INVALID_ARGUMENT;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_ECB_Dec\r
+ * @brief      Decrypt a block with ECB mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]plain text block\r
+ * @param      in                                              [in]cipher text block\r
+ * @param      key                                             [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key)\r
+{\r
+       switch(Algorithm)\r
+       {\r
+               case ID_AES128 :\r
+                       SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 10, in, out);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_AES192 :\r
+                       SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 12, in, out);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_AES256 :\r
+                       SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 14, in, out);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_DES :\r
+                       return SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, in, out);\r
+               case ID_TDES :\r
+                       return SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, in, out);\r
+               default :\r
+                       break;\r
+       }\r
+\r
+       return CRYPTO_INVALID_ARGUMENT;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CBC_Enc\r
+ * @brief      Encrypt a block with CBC mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]cipher text block\r
+ * @param      in                                              [in]plain text block\r
+ * @param      key                                             [in]user key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CBC_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV)\r
+{\r
+       int i;\r
+\r
+       switch(Algorithm) \r
+       {\r
+               case ID_AES128 : \r
+                       for (i = 0; i < 16; i++)\r
+                       {\r
+                               IV[i] ^= in[i];\r
+                       }\r
+\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 10, IV, out);\r
+\r
+                       memcpy(IV, out, 16);\r
+\r
+                       break;\r
+               case ID_AES192 : \r
+                       for (i = 0; i < 16; i++)\r
+                       {\r
+                               IV[i] ^= in[i];\r
+                       }\r
+\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 12, IV, out);\r
+\r
+                       memcpy(IV, out, 16);\r
+\r
+                       break;\r
+               case ID_AES256 : \r
+                       for (i = 0; i < 16; i++)\r
+                       {\r
+                               IV[i] ^= in[i];\r
+                       }\r
+\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 14, IV, out);\r
+\r
+                       memcpy(IV, out, 16);\r
+\r
+                       break;\r
+               case ID_DES :\r
+                       for (i = 0; i < 8; i++)\r
+                       {\r
+                               IV[i] ^= in[i];\r
+                       }\r
+\r
+                       SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, IV, out);\r
+\r
+                       memcpy(IV, out, 8);\r
+\r
+                       break;\r
+               case ID_TDES :\r
+                       for (i = 0; i < 8; i++)\r
+                       {\r
+                               IV[i] ^= in[i];\r
+                       }\r
+\r
+                       SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, IV, out);\r
+\r
+                       memcpy(IV, out, 8);\r
+\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CBC_Dec\r
+ * @brief      Decrypt a block with CBC mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]plain text block\r
+ * @param      in                                              [in]cipher text block\r
+ * @param      key                                             [in]user key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CBC_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV){\r
+       int i, BlockLen;\r
+       cc_u8 buf[16];\r
+\r
+       switch(Algorithm)\r
+       {\r
+               case ID_AES128 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 10, in, out);\r
+                       break;\r
+               case ID_AES192 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 12, in, out);\r
+                       break;\r
+               case ID_AES256 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelDecrypt((const cc_u32*)(void*)key, 14, in, out);\r
+                       break;\r
+               case ID_DES :\r
+                       BlockLen = 8;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, in, out);\r
+                       break;\r
+               case ID_TDES :\r
+                       BlockLen = 8;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, in, out);\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       for (i = 0; i < BlockLen; i++)\r
+       {\r
+               out[i] ^= IV[i];\r
+       }\r
+\r
+       memcpy(IV, buf, BlockLen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CFB_Enc\r
+ * @brief      Encrypt a block with CFB mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]cipher text block\r
+ * @param      in                                              [in]plain text block\r
+ * @param      key                                             [in]user key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV)\r
+{\r
+       int i, BlockLen;\r
+       cc_u8 buf[16];\r
+\r
+       switch(Algorithm)\r
+       {\r
+               case ID_AES128 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 10, IV, out);\r
+                       break;\r
+               case ID_AES192 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 12, IV, out);\r
+                       break;\r
+               case ID_AES256 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 14, IV, out);\r
+                       break;\r
+               case ID_DES :\r
+                       BlockLen = 8;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, IV, out);\r
+                       break;\r
+               case ID_TDES :\r
+                       BlockLen = 8;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, IV, out);\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+       \r
+       for (i = 0; i < BlockLen; i++)\r
+       {\r
+               out[i] ^= buf[i];\r
+       }\r
+\r
+       memcpy(IV, out, BlockLen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CFB_Dec\r
+ * @brief      Decrypt a block with CFB mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]plain text block\r
+ * @param      in                                              [in]cipher text block\r
+ * @param      key                                             [in]user key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CFB_Dec(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV)\r
+{\r
+       int i, BlockLen;\r
+       cc_u8 buf[16];\r
+\r
+       switch(Algorithm)\r
+       {\r
+               case ID_AES128 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 10, IV, out);\r
+                       break;\r
+               case ID_AES192 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 12, IV, out);\r
+                       break;\r
+               case ID_AES256 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 14, IV, out);\r
+                       break;\r
+               case ID_DES :\r
+                       BlockLen = 8;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, IV, out);\r
+                       break;\r
+               case ID_TDES :\r
+                       BlockLen = 8;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, IV, out);\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+       \r
+       for (i = 0; i < BlockLen; i++)\r
+       {\r
+               out[i] ^= buf[i];\r
+       }\r
+\r
+       memcpy(IV, buf, BlockLen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_OFB_Enc\r
+ * @brief      Encrypt a block with OFB mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]cipher text block\r
+ * @param      in                                              [in]plain text block\r
+ * @param      key                                             [in]user key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_OFB_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV)\r
+{\r
+       int i, BlockLen;\r
+       cc_u8 buf[16];\r
+\r
+       switch(Algorithm)\r
+       {\r
+               case ID_AES128 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 10, IV, out);\r
+                       break;\r
+               case ID_AES192 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 12, IV, out);\r
+                       break;\r
+               case ID_AES256 : \r
+                       BlockLen = 16;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 14, IV, out);\r
+                       break;\r
+               case ID_DES :\r
+                       BlockLen = 8;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, IV, out);\r
+                       break;\r
+               case ID_TDES :\r
+                       BlockLen = 8;\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, IV, out);\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       memcpy(IV, out, BlockLen);\r
+\r
+       for (i = 0; i < BlockLen; i++)\r
+       {\r
+               out[i] ^= buf[i];\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*     \r
+ * @fn         SDRM_CTR_Enc\r
+ * @brief      Encrypt a block with CTR mode\r
+ *\r
+ * @param      Algorithm                               [in]algorithm\r
+ * @param      out                                             [out]cipher text block\r
+ * @param      in                                              [in]plain text block\r
+ * @param      key                                             [in]user key\r
+ * @param      IV                                              [in]initial vector\r
+ * @param      counter                                 [in]\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_INVALID_ARGUMENT if parameter is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTR_Enc(int Algorithm, cc_u8 *out, cc_u8 *in, cc_u8 *key, cc_u8 *IV, cc_u32 counter)\r
+{\r
+       int i, BlockLen;\r
+       cc_u8 buf[16];\r
+\r
+       switch(Algorithm)\r
+       {\r
+               case ID_AES128 : \r
+                       BlockLen = 16;\r
+                       IV[12] = (cc_u8)(0xff & (counter >> 24));\r
+                       IV[13] = (cc_u8)(0xff & (counter >> 16));\r
+                       IV[14] = (cc_u8)(0xff & (counter >> 8 ));\r
+                       IV[15] = (cc_u8)(0xff & (counter      ));\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 10, IV, out);\r
+                       break;\r
+               case ID_AES192 : \r
+                       BlockLen = 16;\r
+                       IV[12] = (cc_u8)(0xff & (counter >> 24));\r
+                       IV[13] = (cc_u8)(0xff & (counter >> 16));\r
+                       IV[14] = (cc_u8)(0xff & (counter >> 8 ));\r
+                       IV[15] = (cc_u8)(0xff & (counter      ));\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 12, IV, out);\r
+                       break;\r
+               case ID_AES256 : \r
+                       BlockLen = 16;\r
+                       IV[12] = (cc_u8)(0xff & (counter >> 24));\r
+                       IV[13] = (cc_u8)(0xff & (counter >> 16));\r
+                       IV[14] = (cc_u8)(0xff & (counter >> 8 ));\r
+                       IV[15] = (cc_u8)(0xff & (counter      ));\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_rijndaelEncrypt((const cc_u32*)(void*)key, 14, IV, out);\r
+                       break;\r
+               case ID_DES :\r
+                       BlockLen = 8;\r
+                       IV[4] = (cc_u8)(0xff & (counter >> 24));\r
+                       IV[5] = (cc_u8)(0xff & (counter >> 16));\r
+                       IV[6] = (cc_u8)(0xff & (counter >> 8 ));\r
+                       IV[7] = (cc_u8)(0xff & (counter      ));\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_DES_Encryption((cc_u32(*)[2])(void*)key, IV, out);\r
+                       break;\r
+               case ID_TDES :\r
+                       BlockLen = 8;\r
+                       IV[4] = (cc_u8)(0xff & (counter >> 24));\r
+                       IV[5] = (cc_u8)(0xff & (counter >> 16));\r
+                       IV[6] = (cc_u8)(0xff & (counter >> 8 ));\r
+                       IV[7] = (cc_u8)(0xff & (counter      ));\r
+                       memcpy(buf, in, BlockLen);\r
+                       SDRM_TDES_Encryption((cc_u32(*)[2])(void*)key, IV, out);\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       for (i = 0; i < BlockLen; i++)\r
+       {\r
+               out[i] ^= buf[i];\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/base/pkcs1_v21.c b/SPC/Src/base/pkcs1_v21.c
new file mode 100755 (executable)
index 0000000..c4d759f
--- /dev/null
@@ -0,0 +1,940 @@
+/**\r
+ * \file       pkcs1_v21.c\r
+ * @brief      PKCS#1 V1.5, V2.0(RSAES-OAEP), V2.1(RSASSA-PSS) Implemetation\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/20\r
+ * Note : Edited for Big-Endian Machine support, 2008/12/16\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "pkcs1_v21.h"\r
+#include "md5.h"\r
+#include "sha1.h"\r
+#include "sha2.h"\r
+#include "ANSI_x931.h"\r
+\r
+//////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+//////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_Padding_Rsaes_pkcs15\r
+ * @brief      RSAES PKCS#1 v1.5\r
+ *\r
+ * @param      BN_Dest                                 [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING\r
+ * @param      BN_Src                                  [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING\r
+ * @param      MODE                                    [in]ENPADDING or DEPADDING\r
+ * @param      k                                               [in]byte-size of n\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_MSG_TOO_LONG             if message is longer then key\r
+ * \n          CRYPTO_NULL_POINTER             if argument is null\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Padding_Rsaes_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, cc_u32 k)\r
+{\r
+       cc_u8 ECRYPTO_API Si_ANSI_X9_31[SDRM_X931_SEED_SIZ];\r
+       cc_u32                  mLen;\r
+       cc_u32                  i;\r
+       cc_u32                  RSA_KeyByteLen = k;\r
+       cc_u8                   *EM = (cc_u8*)malloc(RSA_KeyByteLen);\r
+\r
+       if (EM == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       srand((unsigned int)time(NULL));\r
+\r
+       SDRM_BN_Clr(BN_Dest);\r
+\r
+       if (MODE == SDRM_ENPADDING)\r
+       {\r
+               //Get message length\r
+               mLen = BN_Src->Length << 2;\r
+\r
+               while(SDRM_CheckByteUINT32(BN_Src->pData, mLen - 1) == 0)\r
+               {\r
+                       --mLen;\r
+               }\r
+\r
+               //Check message length\r
+               if (mLen >= k - 11)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_MSG_TOO_LONG;\r
+               }\r
+\r
+               EM[0] = 0x00;\r
+               EM[1] = 0x02;\r
+               \r
+               for (i = 0; i < 16; i++)\r
+               {\r
+                       Si_ANSI_X9_31[i] = ((rand() << 16) + rand()) & 0xff;\r
+               }\r
+\r
+               SDRM_RNG_X931(Si_ANSI_X9_31, (k - mLen - 3) * 8, &EM[2]);\r
+               EM[k - mLen - 1] = 0x00;\r
+               EM[k - mLen - 2] = 0x00;\r
+\r
+               for (i = 0; i < k - mLen - 3; i++)\r
+               {\r
+                       if (EM[2 + i] == 0)\r
+                       {\r
+                               EM[2 + i] = (cc_u8)((i + 2) * (i + 1)) & 0xff;\r
+                       }\r
+               }\r
+\r
+               EM[k - mLen - 1] = 0x00;\r
+               \r
+               SDRM_I2OSP(BN_Src, mLen, &EM[k - mLen]);\r
+\r
+               SDRM_OS2BN(EM, RSA_KeyByteLen, BN_Dest);\r
+       } \r
+       else if (MODE == SDRM_DEPADDING)\r
+       {\r
+               mLen = BN_Src->Length * SDRM_SIZE_OF_DWORD - 1;\r
+               while(((int)mLen >= 0) && (SDRM_CheckByteUINT32(BN_Src->pData, mLen) == 0))\r
+               {\r
+                       --mLen;\r
+               }\r
+\r
+               //if there's no message\r
+               if ((int)mLen < 0)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //Check EM[0]\r
+               if (((cc_u32)mLen != BN_Src->Length * SDRM_SIZE_OF_DWORD - 1) && (SDRM_CheckByteUINT32(BN_Src->pData, mLen + 1) != 0x00))\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               mLen++;\r
+\r
+               SDRM_I2OSP(BN_Src, mLen, EM);\r
+\r
+               //Check EM[1]\r
+               if (EM[0] != 0x02)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //Check PS\r
+               for (i = 1; i < (RSA_KeyByteLen - 1); i++)\r
+               {\r
+                       if (EM[i] == 0)\r
+                       {\r
+                               break;\r
+                       }\r
+               }\r
+\r
+               if (i == (RSA_KeyByteLen - 1))\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //Copy Message\r
+               SDRM_OS2BN(&EM[i + 1], RSA_KeyByteLen - i - 2, BN_Dest);\r
+       }\r
+\r
+       free(EM);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_Padding_Rsaes_oaep\r
+ * @brief      RSAES OAEP\r
+ *\r
+ * @param      BN_Dest                                         [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING\r
+ * @param      BN_Src                                          [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING\r
+ * @param      MODE                                            [in]ENPADDING or DEPADDING\r
+ * @param      k                                                       [in]byte-size of n\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_MSG_TOO_LONG                     if message is longer then key\r
+ * \n          CRYPTO_NULL_POINTER                     if argument is null\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Padding_Rsaes_oaep(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, int MODE, int HASH_Algorithm, cc_u32 k)\r
+{\r
+       cc_u8                           *DB, *EM, *Seed, *dbMask, *maskedDB, *seedMask, *maskedSeed, *Msg;\r
+       cc_u8                           hash[SDRM_SHA512_DATA_SIZE];\r
+       cc_u32                          i, mLen, dbLen;\r
+       SDRM_BIG_NUM            *BN_Rnd;\r
+       cc_u32                          RSA_KeyByteLen = k;\r
+       cc_u32                          DigestLen = 0;\r
+       SDRM_MD5Context         md5_ctx;                                        //Hash env var\r
+       SDRM_SHA1Context        sha1_ctx;                                       //Hash env var\r
+       SDRM_SHA256Context      sha256_ctx;                                     //Hash env var\r
+#ifndef _OP64_NOTSUPPORTED\r
+       SDRM_SHA384Context      sha384_ctx;                                     //Hash env var\r
+       SDRM_SHA512Context      sha512_ctx;                                     //Hash env var\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       switch(HASH_Algorithm)\r
+       {\r
+               case ID_MD5 :\r
+                       DigestLen = SDRM_MD5_BLOCK_SIZ;\r
+                       break;\r
+               case 0 :\r
+               case ID_SHA1 :\r
+                       DigestLen = SDRM_SHA1_BLOCK_SIZ;\r
+                       break;\r
+               case ID_SHA256 :\r
+                       DigestLen = SDRM_SHA256_BLOCK_SIZ;\r
+                       break;\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_SHA384 :\r
+                       DigestLen = SDRM_SHA384_BLOCK_SIZ;\r
+                       break;\r
+               case ID_SHA512 :\r
+                       DigestLen = SDRM_SHA512_BLOCK_SIZ;\r
+                       break;\r
+#endif //_OP64_NOTSUPPORTED\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       dbLen = k - DigestLen - 1;\r
+\r
+       //Memory allocation\r
+       EM = (cc_u8*)malloc(k * 4);\r
+       if (EM == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       DB                 = EM           + k;\r
+       dbMask     = DB           + dbLen;\r
+       maskedDB   = dbMask       + dbLen;\r
+       Seed       = maskedDB + dbLen;\r
+       seedMask   = Seed         + DigestLen;\r
+       maskedSeed = seedMask + DigestLen;\r
+\r
+       SDRM_BN_Clr(BN_Dest);\r
+\r
+       if (MODE == SDRM_ENPADDING)\r
+       {\r
+               //Get message length\r
+               mLen = BN_Src->Length << 2;\r
+               while(SDRM_CheckByteUINT32(BN_Src->pData, mLen - 1) == 0)\r
+               {\r
+                       --mLen;\r
+               }\r
+\r
+               //Check message length\r
+               if (mLen >= k - 2 * DigestLen - 2)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_MSG_TOO_LONG;\r
+               }\r
+\r
+               Msg = (cc_u8*)malloc(mLen);\r
+               if (Msg == NULL)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_MEMORY_ALLOC_FAIL;\r
+               }\r
+\r
+               //Change Big Number to Byte array\r
+               SDRM_I2OSP(BN_Src, mLen, Msg);\r
+\r
+               //Generate random number and change to Byte array\r
+               BN_Rnd = SDRM_BN_Init(SDRM_RSA_BN_BUFSIZE);\r
+               if(BN_Rnd == NULL)\r
+               {\r
+                       free(EM);\r
+                       free(Msg);\r
+                       return CRYPTO_MEMORY_ALLOC_FAIL;\r
+               }\r
+\r
+               SDRM_BN_Rand(BN_Rnd, DigestLen << 3);\r
+\r
+               SDRM_I2OSP(BN_Rnd, DigestLen, Seed);\r
+\r
+               SDRM_BN_FREE(BN_Rnd);\r
+\r
+               //Get hash of 'L'\r
+               switch(HASH_Algorithm)\r
+               {\r
+                       case ID_MD5 :\r
+                               SDRM_MD5_Init(&md5_ctx);                                                                        //Init hash function\r
+                               SDRM_MD5_Final(&md5_ctx, DB);                                                           //'L' is an empty string, so get output immediately\r
+                               break;\r
+                       case 0 :\r
+                       case ID_SHA1 :\r
+                               SDRM_SHA1_Init(&sha1_ctx);                                                                      //Init hash function\r
+                               SDRM_SHA1_Final(&sha1_ctx, DB);                                                         //'L' is an empty string, so get output immediately\r
+                               break;\r
+                       case ID_SHA256 :\r
+                               SDRM_SHA256_Init(&sha256_ctx);                                                          //Init hash function\r
+                               SDRM_SHA256_Final(&sha256_ctx, DB);                                                     //'L' is an empty string, so get output immediately\r
+                               break;\r
+#ifndef _OP64_NOTSUPPORTED\r
+                       case ID_SHA384 :\r
+                               SDRM_SHA384_Init(&sha384_ctx);                                                          //Init hash function\r
+                               SDRM_SHA384_Final(&sha384_ctx, DB);                                                     //'L' is an empty string, so get output immediately\r
+                               break;\r
+                       case ID_SHA512 :\r
+                               SDRM_SHA512_Init(&sha512_ctx);                                                          //Init hash function\r
+                               SDRM_SHA512_Final(&sha512_ctx, DB);                                                     //'L' is an empty string, so get output immediately\r
+                               break;\r
+#endif //_OP64_NOTSUPPORTED\r
+                       default :\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //DB = lHash||PS||M\r
+               memset(DB + DigestLen, 0, k - mLen - 2 * DigestLen - 2);\r
+               DB[k - mLen - DigestLen - 2] = 0x01;\r
+               memcpy(DB + k - mLen - DigestLen - 1, Msg, mLen);\r
+\r
+               //dbMask = MGF(Seed, dbLen), maskedDB = DB ^ dbMask\r
+               SDRM_MGF1(HASH_Algorithm, dbMask, Seed, DigestLen, dbLen);\r
+\r
+               for (i = 0; i < dbLen; i++)\r
+               {\r
+                       maskedDB[i] = DB[i] ^ dbMask[i];\r
+               }\r
+\r
+               //seedMask = MGF(maskedDB, SDRM_SHA1_BLOCK_SIZ), maskedSeed = Seed ^ seedMask\r
+               SDRM_MGF1(HASH_Algorithm, seedMask, maskedDB, dbLen, DigestLen);\r
+               for (i = 0; i < DigestLen; i++)\r
+               {\r
+                       maskedSeed[i] = Seed[i] ^ seedMask[i];\r
+               }\r
+\r
+               //EM = 0x00||maskedSeed||maskedDB\r
+               EM[0] = 0x00;\r
+               memcpy(EM + 1, maskedSeed, DigestLen);\r
+               memcpy(EM + 1 + DigestLen, maskedDB, dbLen);\r
+\r
+               //Change Byte array to Big Number\r
+               SDRM_OS2BN(EM, k, BN_Dest);\r
+               free(Msg);\r
+       }\r
+       else if (MODE == SDRM_DEPADDING)\r
+       {\r
+               SDRM_I2OSP(BN_Src, k, EM);\r
+\r
+               //Seperate EM : 0x00||maskedSeed||maskedDB\r
+               if (EM[0] != 0x00)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               memcpy(maskedSeed, EM + 1, DigestLen);\r
+               memcpy(maskedDB, EM + 1 + DigestLen, dbLen);\r
+\r
+               //seedMask = MGF(maskedDB, SDRM_SHA1_BLOCK_SIZ), Seed = maskedSeed ^ seedMask\r
+               SDRM_MGF1(HASH_Algorithm, seedMask, maskedDB, dbLen, DigestLen);\r
+               for (i = 0; i < DigestLen; i++)\r
+               {\r
+                       Seed[i] = maskedSeed[i] ^ seedMask[i];\r
+               }\r
+\r
+               //dbMask = MGF(Seed, dbLen), DB = maskedDB ^ dbMask\r
+               SDRM_MGF1(HASH_Algorithm, dbMask, Seed, DigestLen, dbLen);\r
+               for (i = 0; i < dbLen; i++)\r
+               {\r
+                       DB[i] = maskedDB[i] ^ dbMask[i];\r
+               }\r
+\r
+               //Get hash of 'L'\r
+               switch(HASH_Algorithm)\r
+               {\r
+                       case ID_MD5 :\r
+                               SDRM_MD5_Init(&md5_ctx);                                                                        //Init hash function\r
+                               SDRM_MD5_Final(&md5_ctx, hash);                                                         //'L' is an empty string, so get output immediately\r
+                               break;\r
+                       case 0 :\r
+                       case ID_SHA1 :\r
+                               SDRM_SHA1_Init(&sha1_ctx);                                                                      //Init hash function\r
+                               SDRM_SHA1_Final(&sha1_ctx, hash);                                                       //'L' is an empty string, so get output immediately\r
+                               break;\r
+                       case ID_SHA256 :\r
+                               SDRM_SHA256_Init(&sha256_ctx);                                                          //Init hash function\r
+                               SDRM_SHA256_Final(&sha256_ctx, hash);                                           //'L' is an empty string, so get output immediately\r
+                               break;\r
+#ifndef _OP64_NOTSUPPORTED\r
+                       case ID_SHA384 :\r
+                               SDRM_SHA384_Init(&sha384_ctx);                                                          //Init hash function\r
+                               SDRM_SHA384_Final(&sha384_ctx, hash);                                           //'L' is an empty string, so get output immediately\r
+                               break;\r
+                       case ID_SHA512 :\r
+                               SDRM_SHA512_Init(&sha512_ctx);                                                          //Init hash function\r
+                               SDRM_SHA512_Final(&sha512_ctx, hash);                                           //'L' is an empty string, so get output immediately\r
+                               break;\r
+#endif //_OP64_NOTSUPPORTED\r
+                       default :\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //Compare hash value\r
+               for (i = 0; i < DigestLen; i++)\r
+               {\r
+                       if (hash[i] != DB[i])\r
+                       {\r
+                               free(EM);\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+                       }\r
+               }\r
+\r
+               //ignore 0x00s after hash(PS)\r
+               while(DB[i] == 0x00)\r
+               {\r
+                       i++;\r
+               }\r
+\r
+               //0x01 must be right after PS\r
+               if (DB[i] != 0x01)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //Abstract message and change to Big Number\r
+               SDRM_OS2BN(DB + i + 1, dbLen - i - 1, BN_Dest);\r
+       }\r
+\r
+       free(EM);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+CRYPTOCORE_INTERNAL cc_u8 SDRM_DER_MD5[SDRM_DIGESTINFO_MD5_LEN] = SDRM_DIGESTINFO_MD5_VALUE;\r
+CRYPTOCORE_INTERNAL cc_u8 SDRM_DER_SHA1[SDRM_DIGESTINFO_SHA1_LEN] = SDRM_DIGESTINFO_SHA1_VALUE;\r
+CRYPTOCORE_INTERNAL cc_u8 SDRM_DER_SHA256[SDRM_DIGESTINFO_SHA256_LEN] = SDRM_DIGESTINFO_SHA256_VALUE;\r
+CRYPTOCORE_INTERNAL cc_u8 SDRM_DER_SHA384[SDRM_DIGESTINFO_SHA384_LEN] = SDRM_DIGESTINFO_SHA384_VALUE;\r
+CRYPTOCORE_INTERNAL cc_u8 SDRM_DER_SHA512[SDRM_DIGESTINFO_SHA512_LEN] = SDRM_DIGESTINFO_SHA512_VALUE;\r
+/*\r
+ * @fn         int SDRM_Padding_Rsassa_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, int MODE, int HASH_Algorithm, cc_u32 k)\r
+ * @brief      RSASSA PKCS#1 v1.5\r
+ *\r
+ * @param      BN_Dest                                 [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING\r
+ * @param      BN_Src                                  [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING\r
+ * @param      pszHash                                 [in]hash of BN_Src\r
+ * @param      MODE                                    [in]ENPADDING or DEPADDING\r
+ * @param      k                                               [in]byte-size of n\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_MSG_TOO_LONG             if message is longer then key\r
+ * \n          CRYPTO_INVALID_ARGUMENT         if source is not in the right form\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Padding_Rsassa_pkcs15(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, int MODE, int HASH_Algorithm, cc_u32 k) {\r
+       cc_u32                  tLen;\r
+       cc_u32                  i;\r
+       cc_u32                  RSA_KeyByteLen = k;\r
+       cc_u32                  mLen = 0;\r
+       cc_u8                   *EM = (cc_u8*)malloc(RSA_KeyByteLen);\r
+       cc_u32                  DigestInfoLen = 0;\r
+       cc_u8                   DER[32];\r
+\r
+       if (EM == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       switch(HASH_Algorithm)\r
+       {\r
+               case ID_MD5 :\r
+                       DigestInfoLen = SDRM_DIGESTINFO_MD5_LEN;\r
+                       memcpy(DER, SDRM_DER_MD5, SDRM_DIGESTINFO_MD5_LEN);\r
+                       tLen = DigestInfoLen + SDRM_MD5_BLOCK_SIZ;\r
+                       break;\r
+               case 0 : \r
+               case ID_SHA1 :\r
+                       DigestInfoLen = SDRM_DIGESTINFO_SHA1_LEN;\r
+                       memcpy(DER, SDRM_DER_SHA1, SDRM_DIGESTINFO_SHA1_LEN);\r
+                       tLen = DigestInfoLen + SDRM_SHA1_BLOCK_SIZ;\r
+                       break;\r
+               case ID_SHA256 :\r
+                       DigestInfoLen = SDRM_DIGESTINFO_SHA256_LEN;\r
+                       memcpy(DER, SDRM_DER_SHA256, SDRM_DIGESTINFO_SHA256_LEN);\r
+                       tLen = DigestInfoLen + SDRM_SHA256_BLOCK_SIZ;\r
+                       break;\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_SHA384 :\r
+                       DigestInfoLen = SDRM_DIGESTINFO_SHA384_LEN;\r
+                       memcpy(DER, SDRM_DER_SHA384, SDRM_DIGESTINFO_SHA384_LEN);\r
+                       tLen = DigestInfoLen + SDRM_SHA384_BLOCK_SIZ;\r
+                       break;\r
+               case ID_SHA512 :\r
+                       DigestInfoLen = SDRM_DIGESTINFO_SHA512_LEN;\r
+                       memcpy(DER, SDRM_DER_SHA512, SDRM_DIGESTINFO_SHA512_LEN);\r
+                       tLen = DigestInfoLen + SDRM_SHA512_BLOCK_SIZ;\r
+                       break;\r
+#endif //_OP64_NOTSUPPORTED\r
+               default :\r
+                       //++ 2010.02.04 added by jspark - prevent resource leak\r
+                       free(EM);\r
+                       //-- 2010.02.04 added by jspark - prevent resource leak\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (MODE == SDRM_ENPADDING)\r
+       {\r
+               SDRM_BN_Clr(BN_Dest);\r
+               EM[0] = 0x00;\r
+               EM[1] = 0x01;\r
+               memset(EM + 2, 0xff, k - tLen - 3);\r
+               EM[k - tLen - 1] = 0x00;\r
+               memcpy(EM + k - tLen, DER, DigestInfoLen);\r
+               memcpy(EM + k - tLen + DigestInfoLen, pszHash, tLen - DigestInfoLen);\r
+\r
+               SDRM_OS2BN(EM, k, BN_Dest);\r
+\r
+               free(EM);\r
+\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+       else if (MODE == SDRM_DEPADDING)\r
+       {\r
+               //Get message length\r
+               mLen = BN_Src->Length * SDRM_SIZE_OF_DWORD - 1;\r
+               while(SDRM_CheckByteUINT32(BN_Src->pData, mLen) == 0)\r
+               {\r
+                       --mLen;\r
+               }\r
+               \r
+               //Check EM[0] = 0x00\r
+               if (((cc_u32)mLen != BN_Src->Length * SDRM_SIZE_OF_DWORD - 1) && (SDRM_CheckByteUINT32(BN_Src->pData,mLen + 1) != 0x00))\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_SIGN;\r
+               }\r
+\r
+               mLen++;\r
+               SDRM_I2OSP(BN_Src, mLen, EM);\r
+\r
+               //Check EM[1]\r
+               if (EM[0] != 0x01)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //Pass PS\r
+               for (i = 1; i < (RSA_KeyByteLen - 1); i++)\r
+               {\r
+                       if (EM[i] != 0xff)\r
+                       {\r
+                               break;\r
+                       }\r
+               }\r
+\r
+               if ((i == (RSA_KeyByteLen - 1)) || (EM[i] != 0x00))\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //Check DER encoding\r
+               if (memcmp(&EM[i + 1], DER, DigestInfoLen) != 0x00)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_SIGN;\r
+               }\r
+\r
+               if (memcmp(&EM[i + DigestInfoLen + 1], pszHash, tLen - DigestInfoLen) != 0)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_SIGN;\r
+               }\r
+       }\r
+\r
+       free(EM);\r
+\r
+       return CRYPTO_VALID_SIGN;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_Padding_Rsassa_pss(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, cc_u32 emBits, int MODE, int HASH_Algorithm, cc_u32 MaxByte)\r
+ * @brief      RSASSA PSS\r
+ *\r
+ * @param      BN_Dest                                 [out]Padded msg if MODE is ENPADDING, Depadded msg if MODE is DEPADDING\r
+ * @param      BN_Src                                  [in]Message to pad if MODE is ENPADDING, Message to depad if MODE is DEPADDING\r
+ * @param      pszHash                                 [in]hash of BN_Src\r
+ * @param      emBits                                  [in]bit-length of EM\r
+ * @param      MODE                                    [in]ENPADDING or DEPADDING\r
+ * @param      MaxByte                                 [in]max byte-length for MGF function\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_VALID_SIGN               if sign is valid\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ * \n          CRYPTO_MSG_TOO_LONG             if message is longer then key\r
+ * \n          CRYPTO_INVALID_ARGUMENT         if source is not in the right form\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_Padding_Rsassa_pss(SDRM_BIG_NUM* BN_Dest, SDRM_BIG_NUM* BN_Src, cc_u8 *pszHash, cc_u32 emBits, int MODE, int HASH_Algorithm, cc_u32 MaxByte)\r
+{\r
+       cc_u8                           hash[SDRM_SHA512_DATA_SIZE];\r
+       cc_u8                           *M_Prime, *DB, *EM, *dbMask;\r
+       cc_u8                           *H_Prime;\r
+       cc_u32                          sLen, i, dbLen, emLen;\r
+       SDRM_BIG_NUM            *BN_Rnd;\r
+       cc_u32                          RSA_KeyByteLen = emBits / 8;\r
+       cc_u32                          DigestLen = 0;\r
+       SDRM_MD5Context         md5_ctx;                                        //Hash env var\r
+       SDRM_SHA1Context        sha1_ctx;                                       //Hash env var\r
+       SDRM_SHA256Context      sha256_ctx;                                     //Hash env var\r
+#ifndef _OP64_NOTSUPPORTED\r
+       SDRM_SHA384Context      sha384_ctx;                                     //Hash env var\r
+       SDRM_SHA512Context      sha512_ctx;                                     //Hash env var\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       switch(HASH_Algorithm)\r
+       {\r
+               case ID_MD5 :\r
+                       DigestLen = SDRM_MD5_BLOCK_SIZ;\r
+                       break;\r
+               case 0 :\r
+               case ID_SHA1 :\r
+                       DigestLen = SDRM_SHA1_BLOCK_SIZ;\r
+                       break;\r
+               case ID_SHA256 :\r
+                       DigestLen = SDRM_SHA256_BLOCK_SIZ;\r
+                       break;\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_SHA384 :\r
+                       DigestLen = SDRM_SHA384_BLOCK_SIZ;\r
+                       break;\r
+               case ID_SHA512 :\r
+                       DigestLen = SDRM_SHA512_BLOCK_SIZ;\r
+                       break;\r
+#endif //_OP64_NOTSUPPORTED\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+       \r
+       emLen = (emBits - 1) / 8;\r
+       dbLen = emLen - DigestLen - 1;\r
+\r
+       if (MODE == SDRM_ENPADDING)\r
+       {\r
+               //sLen = (emLen - SDRM_SHA1_BLOCK_SIZ - 2) / 2;\r
+               sLen = 20;\r
+\r
+               M_Prime = (cc_u8*)malloc(emLen * 3 + sLen - SDRM_SHA1_BLOCK_SIZ + 6);\r
+               if (M_Prime == NULL)\r
+               {\r
+                       return CRYPTO_MEMORY_ALLOC_FAIL;\r
+               }\r
+\r
+               DB = M_Prime + 8 + DigestLen + sLen;\r
+               EM = DB + dbLen;\r
+               dbMask = EM + emLen;\r
+\r
+               //Generate random number(salt)\r
+               BN_Rnd = SDRM_BN_Init(SDRM_RSA_BN_BUFSIZE);\r
+               if(BN_Rnd ==NULL)\r
+               {\r
+                               free(M_Prime);\r
+                               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+               }\r
+               SDRM_BN_Rand(BN_Rnd, sLen << 3);\r
+\r
+               //M' = padding1||mHash||salt\r
+               memset(M_Prime, 0, 8);\r
+               memcpy(M_Prime + 8, pszHash, DigestLen);\r
+               memcpy(M_Prime + 8 + DigestLen, BN_Rnd->pData, sLen);\r
+\r
+               //Get Hash of M'\r
+               switch(HASH_Algorithm)\r
+               {\r
+                       case ID_MD5 :\r
+                               SDRM_MD5_Init(&md5_ctx);                                                                        //Init hash function\r
+                               SDRM_MD5_Update(&md5_ctx, M_Prime, 8 + DigestLen + sLen);       //Input data\r
+                               SDRM_MD5_Final(&md5_ctx, hash);                                                         //Get Output\r
+                               break;\r
+                       case 0 :\r
+                       case ID_SHA1 :\r
+                               SDRM_SHA1_Init(&sha1_ctx);                                                                      //Init hash function\r
+                               SDRM_SHA1_Update(&sha1_ctx, M_Prime, 8 + DigestLen + sLen);     //Input data\r
+                               SDRM_SHA1_Final(&sha1_ctx, hash);                                                       //Get Output\r
+                               break;\r
+                       case ID_SHA256 :\r
+                               SDRM_SHA256_Init(&sha256_ctx);                                                                  //Init hash function\r
+                               SDRM_SHA256_Update(&sha256_ctx, M_Prime, 8 + DigestLen + sLen); //Input data\r
+                               SDRM_SHA256_Final(&sha256_ctx, hash);                                                   //Get Output\r
+                               break;\r
+#ifndef _OP64_NOTSUPPORTED\r
+                       case ID_SHA384 :\r
+                               SDRM_SHA384_Init(&sha384_ctx);                                                                  //Init hash function\r
+                               SDRM_SHA384_Update(&sha384_ctx, M_Prime, 8 + DigestLen + sLen); //Input data\r
+                               SDRM_SHA384_Final(&sha384_ctx, hash);                                                   //Get Output\r
+                               break;\r
+                       case ID_SHA512 :\r
+                               SDRM_SHA512_Init(&sha512_ctx);                                                                  //Init hash function\r
+                               SDRM_SHA512_Update(&sha512_ctx, M_Prime, 8 + DigestLen + sLen); //Input data\r
+                               SDRM_SHA512_Final(&sha512_ctx, hash);                                                   //Get Output\r
+                               break;\r
+#endif //_OP64_NOTSUPPORTED\r
+                       default :\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //DB = padding2||salt\r
+               memset(DB, 0, emLen - sLen - DigestLen - 2);\r
+               DB[emLen - sLen - DigestLen - 2] = 0x01;\r
+               memcpy(DB + emLen - sLen - DigestLen - 1, BN_Rnd->pData, sLen);\r
+\r
+               //dbMask = MGF(H, dbLen)\r
+               SDRM_MGF1(HASH_Algorithm, dbMask, hash, DigestLen, dbLen);\r
+               dbMask[0] &= 0x7f;\r
+\r
+               //maskedDB = dbMask ^ DB\r
+               for (i = 1; i < dbLen; i++)\r
+               {\r
+                       dbMask[i] ^= DB[i];\r
+               }\r
+\r
+               //clear 8emLen - emBits bits of the leftmost octet in maskedDB\r
+               EM[0] &= 0xFF >> (8 * emLen - emBits + 1);\r
+\r
+               //EM = maskedDB||H||0xbc\r
+               memcpy(EM, dbMask, dbLen);\r
+               memcpy(EM + dbLen, hash, DigestLen);\r
+               EM[emLen - 1] = 0xbc;\r
+\r
+               SDRM_BN_Clr(BN_Dest);\r
+\r
+               SDRM_OS2BN(EM, emLen, BN_Dest);\r
+\r
+               free(M_Prime);\r
+               free(BN_Rnd);\r
+\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+       else if (MODE == SDRM_DEPADDING)\r
+       {\r
+               EM = (cc_u8*)malloc(emLen * 4 - DigestLen + 4);\r
+               if (EM == NULL)\r
+               {\r
+                       return CRYPTO_MEMORY_ALLOC_FAIL;\r
+               }\r
+\r
+               DB = EM + emLen;\r
+               H_Prime = DB + dbLen;\r
+               dbMask = H_Prime + DigestLen;\r
+               M_Prime = dbMask + dbLen;\r
+\r
+               SDRM_I2OSP(BN_Src, emLen, EM);\r
+\r
+               //Check EM[last] = 0xbc\r
+               if (EM[emLen - 1] != 0xbc)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_SIGN;\r
+               }\r
+\r
+               //Seperate EM to maskedDB and H'\r
+               memcpy(DB, EM, dbLen);\r
+               memcpy(H_Prime, EM + dbLen, DigestLen);\r
+\r
+               //dbMask = MGF(H', dbLen)\r
+               SDRM_MGF1(HASH_Algorithm, dbMask, H_Prime, DigestLen, dbLen);\r
+               dbMask[0] &= 0x7f;\r
+\r
+               //DB = maskedDB ^ dbMask\r
+               for (i = 1; i < dbLen; i++)\r
+               {\r
+                       DB[i] ^= dbMask[i];\r
+               }\r
+\r
+               DB[0] = 0x00;\r
+               //Check padding2\r
+               for (i = 0 ; DB[i] == 0x00; i++);\r
+               if (DB[i] != 0x01)\r
+               {\r
+                       free(EM);\r
+                       return CRYPTO_INVALID_SIGN;\r
+               }\r
+       \r
+               sLen = dbLen - i - 1;\r
+\r
+               //Abstract salt and make M'\r
+               memset(M_Prime, 0, 8);\r
+               memcpy(M_Prime + 8, pszHash, DigestLen);\r
+               memcpy(M_Prime + 8 + DigestLen, DB + i + 1, sLen);\r
+\r
+               //Get hash of M'\r
+               switch(HASH_Algorithm)\r
+               {\r
+                       case ID_MD5 :\r
+                               SDRM_MD5_Init(&md5_ctx);                                                                        //Init hash function\r
+                               SDRM_MD5_Update(&md5_ctx, M_Prime, 8 + DigestLen + sLen);       //Input data\r
+                               SDRM_MD5_Final(&md5_ctx, hash);                                                         //Get Output\r
+                               break;\r
+                       case 0 :\r
+                       case ID_SHA1 :\r
+                               SDRM_SHA1_Init(&sha1_ctx);                                                                      //Init hash function\r
+                               SDRM_SHA1_Update(&sha1_ctx, M_Prime, 8 + DigestLen + sLen);     //Input data\r
+                               SDRM_SHA1_Final(&sha1_ctx, hash);                                                       //Get Output\r
+                               break;\r
+                       case ID_SHA256 :\r
+                               SDRM_SHA256_Init(&sha256_ctx);                                                                  //Init hash function\r
+                               SDRM_SHA256_Update(&sha256_ctx, M_Prime, 8 + DigestLen + sLen); //Input data\r
+                               SDRM_SHA256_Final(&sha256_ctx, hash);                                                   //Get Output\r
+                               break;\r
+#ifndef _OP64_NOTSUPPORTED\r
+                       case ID_SHA384 :\r
+                               SDRM_SHA384_Init(&sha384_ctx);                                                                  //Init hash function\r
+                               SDRM_SHA384_Update(&sha384_ctx, M_Prime, 8 + DigestLen + sLen); //Input data\r
+                               SDRM_SHA384_Final(&sha384_ctx, hash);                                                   //Get Output\r
+                               break;\r
+                       case ID_SHA512 :\r
+                               SDRM_SHA512_Init(&sha512_ctx);                                                                  //Init hash function\r
+                               SDRM_SHA512_Update(&sha512_ctx, M_Prime, 8 + DigestLen + sLen); //Input data\r
+                               SDRM_SHA512_Final(&sha512_ctx, hash);                                                   //Get Output\r
+                               break;\r
+#endif //_OP64_NOTSUPPORTED\r
+                       default :\r
+                               free(EM);\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //Compare H' and H\r
+               for (i = 0; i < DigestLen; i++)\r
+               {\r
+                       if (H_Prime[i] != hash[i])\r
+                       {\r
+                               free(EM);\r
+                               return CRYPTO_INVALID_SIGN;\r
+                       }\r
+               }\r
+\r
+               free(EM);\r
+       }\r
+\r
+       return CRYPTO_VALID_SIGN;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_MGF1(int HASH_Algorithm, cc_u8* mask, cc_u8* pbSeed, cc_u32 SeedLen, cc_u32 dMaskLen)\r
+ * @brief      SDRM_MGF1 Function (Mask Generation Function based on a hash function)\r
+ *\r
+ * @param      mask                                    [out]byte-length of generated mask\r
+ * @param      pbSeed                                  [in]seed for MGF\r
+ * @param      SeedLen                                 [in]byte-length of pbSeed\r
+ * @param      dMaskLen                                [in]byte-length of mask\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if malloc is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_MGF1(int HASH_Algorithm, cc_u8* mask, cc_u8* pbSeed, cc_u32 SeedLen, cc_u32 dMaskLen) {\r
+       cc_u8                    *T, *Seed, *pbBuf;\r
+       cc_u32                   counter;\r
+       cc_u8                    hash[64];                                              //SHA-1 output size is 160 bit\r
+       cc_u8                    hashlen;\r
+       SDRM_MD5Context md5_ctx;                                                //Hash env var\r
+       SDRM_SHA1Context sha1_ctx;                                              //Hash env var\r
+       SDRM_SHA256Context sha256_ctx;                                  //Hash env var\r
+#ifndef _OP64_NOTSUPPORTED\r
+       SDRM_SHA384Context sha384_ctx;                                  //Hash env var\r
+       SDRM_SHA512Context sha512_ctx;                                  //Hash env var\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       switch(HASH_Algorithm)\r
+       {\r
+               case ID_MD5 :\r
+                       hashlen = SDRM_MD5_BLOCK_SIZ;\r
+                       break;\r
+               case 0 :\r
+               case ID_SHA1 :\r
+                       hashlen = SDRM_SHA1_BLOCK_SIZ;\r
+                       break;\r
+               case ID_SHA256 :\r
+                       hashlen = SDRM_SHA256_BLOCK_SIZ;\r
+                       break;\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_SHA384 :\r
+                       hashlen = SDRM_SHA384_BLOCK_SIZ;\r
+                       break;\r
+               case ID_SHA512 :\r
+                       hashlen = SDRM_SHA512_BLOCK_SIZ;\r
+                       break;\r
+#endif //_OP64_NOTSUPPORTED\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       pbBuf = (cc_u8*)malloc(dMaskLen + hashlen + SeedLen + 4);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       T = pbBuf;\r
+       Seed = T + dMaskLen + hashlen;\r
+\r
+       memset(mask, 0, dMaskLen);\r
+       memcpy(Seed, pbSeed, SeedLen);\r
+\r
+       for (counter = 0; counter < (dMaskLen - 1) / hashlen + 1; counter++)\r
+       {\r
+               Seed[SeedLen    ] = (cc_u8)(counter >> 24);\r
+               Seed[SeedLen + 1] = (cc_u8)(counter >> 16);\r
+               Seed[SeedLen + 2] = (cc_u8)(counter >> 8 );\r
+               Seed[SeedLen + 3] = (cc_u8)(counter      );\r
+\r
+               //Hash(Seed||counter)\r
+               switch(HASH_Algorithm)\r
+               {\r
+                       case ID_MD5 :\r
+                               SDRM_MD5_Init(&md5_ctx);                                                //Init hash function\r
+                               SDRM_MD5_Update(&md5_ctx, Seed, SeedLen + 4);   //Input data\r
+                               SDRM_MD5_Final(&md5_ctx, hash);                                 //Get Output\r
+                               break;\r
+                       case 0 :\r
+                       case ID_SHA1 :\r
+                               SDRM_SHA1_Init(&sha1_ctx);                                              //Init hash function\r
+                               SDRM_SHA1_Update(&sha1_ctx, Seed, SeedLen + 4); //Input data\r
+                               SDRM_SHA1_Final(&sha1_ctx, hash);                               //Get Output\r
+                               break;\r
+                       case ID_SHA256 :\r
+                               SDRM_SHA256_Init(&sha256_ctx);                                          //Init hash function\r
+                               SDRM_SHA256_Update(&sha256_ctx, Seed, SeedLen + 4);     //Input data\r
+                               SDRM_SHA256_Final(&sha256_ctx, hash);                           //Get Output\r
+                               break;\r
+#ifndef _OP64_NOTSUPPORTED     \r
+                       case ID_SHA384 :\r
+                               SDRM_SHA384_Init(&sha384_ctx);                                          //Init hash function\r
+                               SDRM_SHA384_Update(&sha384_ctx, Seed, SeedLen + 4);     //Input data\r
+                               SDRM_SHA384_Final(&sha384_ctx, hash);                           //Get Output\r
+                               break;\r
+                       case ID_SHA512 :\r
+                               SDRM_SHA512_Init(&sha512_ctx);                                          //Init hash function\r
+                               SDRM_SHA512_Update(&sha512_ctx, Seed, SeedLen + 4);     //Input data\r
+                               SDRM_SHA512_Final(&sha512_ctx, hash);                           //Get Output\r
+                               break;\r
+#endif //_OP64_NOTSUPPORTED\r
+                       default :\r
+                               free(pbBuf);\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               memcpy(T + counter * hashlen, hash, hashlen);\r
+       }\r
+\r
+       memcpy(mask, T, dMaskLen);\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/base/rc4.c b/SPC/Src/base/rc4.c
new file mode 100755 (executable)
index 0000000..0590f1b
--- /dev/null
@@ -0,0 +1,160 @@
+/**\r
+ * \file       rc4.c\r
+ * @brief      implementation of RC4 encryption scheme\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/12/01\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "rc4.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// initial vector of s\r
+////////////////////////////////////////////////////////////////////////////\r
+static cc_u32 RC4_S_VALUE_LITTLE[] = {\r
+       0x03020100, 0x07060504, 0x0b0a0908, 0x0f0e0d0c,\r
+       0x13121110, 0x17161514, 0x1b1a1918, 0x1f1e1d1c,\r
+       0x23222120, 0x27262524, 0x2b2a2928, 0x2f2e2d2c,\r
+       0x33323130, 0x37363534, 0x3b3a3938, 0x3f3e3d3c,\r
+       0x43424140, 0x47464544, 0x4b4a4948, 0x4f4e4d4c,\r
+       0x53525150, 0x57565554, 0x5b5a5958, 0x5f5e5d5c,\r
+       0x63626160, 0x67666564, 0x6b6a6968, 0x6f6e6d6c,\r
+       0x73727170, 0x77767574, 0x7b7a7978, 0x7f7e7d7c,\r
+       0x83828180, 0x87868584, 0x8b8a8988, 0x8f8e8d8c,\r
+       0x93929190, 0x97969594, 0x9b9a9998, 0x9f9e9d9c,\r
+       0xa3a2a1a0, 0xa7a6a5a4, 0xabaaa9a8, 0xafaeadac,\r
+       0xb3b2b1b0, 0xb7b6b5b4, 0xbbbab9b8, 0xbfbebdbc,\r
+       0xc3c2c1c0, 0xc7c6c5c4, 0xcbcac9c8, 0xcfcecdcc,\r
+       0xd3d2d1d0, 0xd7d6d5d4, 0xdbdad9d8, 0xdfdedddc,\r
+       0xe3e2e1e0, 0xe7e6e5e4, 0xebeae9e8, 0xefeeedec,\r
+       0xf3f2f1f0, 0xf7f6f5f4, 0xfbfaf9f8, 0xfffefdfc,\r
+};\r
+\r
+static cc_u32 RC4_S_VALUE_BIG[] = {\r
+       0x00010203, 0x04050607, 0x08090a0b, 0x0c0d0e0f,\r
+       0x10111213, 0x14151617, 0x18191a1b, 0x1c1d1e1f,\r
+       0x20212223, 0x24252627, 0x28292a2b, 0x2c2d2e2f,\r
+       0x30313233, 0x34353637, 0x38393a3b, 0x3c3d3e3f,\r
+       0x40414243, 0x44454647, 0x48494a4b, 0x4c4d4e4f,\r
+       0x50515253, 0x54555657, 0x58595a5b, 0x5c5d5e5f,\r
+       0x60616263, 0x64656667, 0x68696a6b, 0x6c6d6e6f,\r
+       0x70717273, 0x74757677, 0x78797a7b, 0x7c7d7e7f,\r
+       0x80818283, 0x84858687, 0x88898a8b, 0x8c8d8e8f,\r
+       0x90919293, 0x94959697, 0x98999a9b, 0x9c9d9e9f,\r
+       0xa0a1a2a3, 0xa4a5a6a7, 0xa8a9aaab, 0xacadaeaf,\r
+       0xb0b1b2b3, 0xb4b5b6b7, 0xb8b9babb, 0xbcbdbebf,\r
+       0xc0c1c2c3, 0xc4c5c6c7, 0xc8c9cacb, 0xcccdcecf,\r
+       0xd0d1d2d3, 0xd4d5d6d7, 0xd8d9dadb, 0xdcdddedf,\r
+       0xe0e1e2e3, 0xe4e5e6e7, 0xe8e9eaeb, 0xecedeeef,\r
+       0xf0f1f2f3, 0xf4f5f6f7, 0xf8f9fafb, 0xfcfdfeff\r
+};\r
+\r
+/*\r
+ * @fn         SDRM_RC4_Setup\r
+ * @brief      intialize s\r
+ *\r
+ * @param      ctx                                     [in]crypto context\r
+ * @param      UserKey                         [in]user key\r
+ * @param      keyLen                          [out]byte-length of UserKey\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RC4_Setup(SDRM_RC4Context *ctx, cc_u8 *UserKey, cc_u32 keyLen)\r
+{\r
+       cc_u32  i, j, loc = keyLen;\r
+       cc_u8   temp;\r
+\r
+       //initialization\r
+       i = 0xff;\r
+       if (((cc_u8*)&i)[0] == 0xff)\r
+       {\r
+//             LOG4DRM_INFO(&CryptoLogCTX), "is Little Endian machine\n");\r
+               memcpy(ctx->s, RC4_S_VALUE_LITTLE, 256);\r
+       }\r
+       else\r
+       {\r
+//             LOG4DRM_INFO(&CryptoLogCTX), "is Big Endian machine\n");\r
+               memcpy(ctx->s, RC4_S_VALUE_BIG, 256);\r
+       }\r
+       \r
+       memcpy(ctx->key, UserKey, keyLen);\r
+\r
+       ctx->keyLen = keyLen;\r
+       ctx->i = 0;\r
+       ctx->j = 0;\r
+\r
+       //scrambling\r
+       if ((keyLen == 16) || (keyLen == 32))\r
+       {\r
+               loc--;\r
+               for (i = 0, j = 0; i < 256; ++i)\r
+               {\r
+                       j= (j + ctx->key[i & loc] + ctx->s[i]) & 0xff;\r
+                       temp = ctx->s[i];\r
+                       ctx->s[i] = ctx->s[j];\r
+                       ctx->s[j] = temp;\r
+               }\r
+       }\r
+       else\r
+       {\r
+               for (i = 0, j = 0; i < 256; ++i)\r
+               {\r
+                       j = (j + ctx->key[i % ctx->keyLen] + ctx->s[i]) & 0xff;\r
+                       temp = ctx->s[i];\r
+                       ctx->s[i] = ctx->s[j];\r
+                       ctx->s[j] = temp;\r
+               }\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_RC4_PRNG\r
+ * @brief      process stream data\r
+ *\r
+ * @param      ctx                                     [in]crypto context\r
+ * @param      in                                      [in]plaintext\r
+ * @param      inLen                           [in]byte-length of in\r
+ * @param      out                                     [out]cipher text\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RC4_PRNG(SDRM_RC4Context *ctx, cc_u8 *in, cc_u32 inLen, cc_u8 *out)\r
+{\r
+       cc_u32  i, j, k;\r
+       cc_u8   temp;\r
+       \r
+       i = ctx->i;\r
+       j = ctx->j;\r
+\r
+       for (k = 0; k < inLen; k++)\r
+       {\r
+               i++;\r
+               i &= 0xff;\r
+               j += ctx->s[i];\r
+               j &= 0xff;\r
+\r
+               temp = ctx->s[i];\r
+               ctx->s[i] = ctx->s[j];\r
+               ctx->s[j] = temp;\r
+\r
+               temp = ctx->s[i] + ctx->s[j];\r
+\r
+               out[k] = in[k]^(ctx->s[temp]);\r
+       }\r
+\r
+       ctx->i = i;\r
+       ctx->j = j;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/base/sha1.c b/SPC/Src/base/sha1.c
new file mode 100755 (executable)
index 0000000..990b362
--- /dev/null
@@ -0,0 +1,472 @@
+/* For torrentcheck.c, main() commented out */\r
+/* sha1.c : Implementation of the Secure Hash Algorithm */\r
+\r
+/* SHA: NIST's Secure Hash Algorithm */\r
+\r
+/*     This version written November 2000 by David Ireland of \r
+       DI Management Services Pty Limited <code@di-mgt.com.au>\r
+\r
+       Adapted from code in the Python Cryptography Toolkit, \r
+       version 1.0.0 by A.M. Kuchling 1995.\r
+*/\r
+\r
+/* AM Kuchling's posting:- \r
+   Based on SHA code originally posted to sci.crypt by Peter Gutmann\r
+   in message <30ajo5$oe8@ccu2.auckland.ac.nz>.\r
+   Modified to test for endianness on creation of SHA objects by AMK.\r
+   Also, the original specification of SHA was found to have a weakness\r
+   by NSA/NIST.  This code implements the fixed version of SHA.\r
+*/\r
+\r
+/* Here's the first paragraph of Peter Gutmann's posting:\r
+   \r
+The following is my SHA (FIPS 180) code updated to allow use of the "fixed"\r
+SHA, thanks to Jim Gillogly and an anonymous contributor for the information on\r
+what's changed in the new version.  The fix is a simple change which involves\r
+adding a single rotate in the initial expansion function.  It is unknown\r
+whether this is an optimal solution to the problem which was discovered in the\r
+SHA or whether it's simply a bandaid which fixes the problem with a minimum of\r
+effort (for example the reengineering of a great many Capstone chips).\r
+*/\r
+\r
+/* JS Park's posting:\r
+       Modification for naming confilct.\r
+        - Attach prefix 'SDRM_SHA1_' for all function and constants.\r
+        - Change name of data context to 'SDRM_SHA1Context'\r
+       endianTest code is modified to avoid gcc warning.\r
+       Primitive data types are used, instead of user-defined data types.\r
+       Prototypes are moved to header file.\r
+       Not using functions are commented out.\r
+ */\r
+\r
+\r
+void SDRM_endianTest(int *endianness);\r
+\r
+/* sha.c */\r
+\r
+#include "sha1.h"\r
+\r
+static void SDRM_SHAtoByte(unsigned char *output, unsigned int *input, unsigned int len);\r
+\r
+/* The SHS block size and message digest sizes, in bytes */\r
+\r
+#define SDRM_SHA1_DATASIZE    64\r
+#define SDRM_SHA1_DIGESTSIZE  20\r
+\r
+\r
+/* The SHS f()-functions.  The f1 and f3 functions can be optimized to\r
+   save one boolean operation each - thanks to Rich Schroeppel,\r
+   rcs@cs.arizona.edu for discovering this */\r
+\r
+/*#define SDRM_SHA1_f1(x,y,z) ((x & y) | (~x & z))                          // Rounds  0-19 */\r
+#define SDRM_SHA1_f1(x,y,z)   (z ^ (x & (y ^ z)))                               /* Rounds  0-19 */\r
+#define SDRM_SHA1_f2(x,y,z)   (x ^ y ^ z)                                               /* Rounds 20-39 */\r
+/*#define SDRM_SHA1_f3(x,y,z) ((x & y) | (x & z) | (y & z))             // Rounds 40-59 */\r
+#define SDRM_SHA1_f3(x,y,z)   ((x & y) | (z & (x | y)))                         /* Rounds 40-59 */\r
+#define SDRM_SHA1_f4(x,y,z)   (x ^ y ^ z)                                               /* Rounds 60-79 */\r
+\r
+/* The SHS Mysterious Constants */\r
+\r
+#define SDRM_SHA1_K1  0x5A827999L                                 /* Rounds  0-19 */\r
+#define SDRM_SHA1_K2  0x6ED9EBA1L                                 /* Rounds 20-39 */\r
+#define SDRM_SHA1_K3  0x8F1BBCDCL                                 /* Rounds 40-59 */\r
+#define SDRM_SHA1_K4  0xCA62C1D6L                                 /* Rounds 60-79 */\r
+\r
+/* SHS initial values */\r
+\r
+#define SDRM_SHA1_h0init  0x67452301L\r
+#define SDRM_SHA1_h1init  0xEFCDAB89L\r
+#define SDRM_SHA1_h2init  0x98BADCFEL\r
+#define SDRM_SHA1_h3init  0x10325476L\r
+#define SDRM_SHA1_h4init  0xC3D2E1F0L\r
+\r
+/* Note that it may be necessary to add parentheses to these macros if they\r
+   are to be called with expressions as arguments */\r
+/* 32-bit rotate left - kludged with shifts */\r
+\r
+#define SDRM_SHA1_ROTL(n, X)  (((X) << n) | ((X) >> (32 - n)))\r
+\r
+/* The initial expanding function.  The hash function is defined over an\r
+   80-UINT2 expanded input array W, where the first 16 are copies of the input\r
+   data, and the remaining 64 are defined by\r
+\r
+        W[ i ] = W[ i - 16 ] ^ W[ i - 14 ] ^ W[ i - 8 ] ^ W[ i - 3 ]\r
+\r
+   This implementation generates these values on the fly in a circular\r
+   buffer - thanks to Colin Plumb, colin@nyx10.cs.du.edu for this\r
+   optimization.\r
+\r
+   The updated SHS changes the expanding function by adding a rotate of 1\r
+   bit.  Thanks to Jim Gillogly, jim@rand.org, and an anonymous contributor\r
+   for this information */\r
+\r
+#define SDRM_SHA1_expand(W, i) (W[i & 15] = SDRM_SHA1_ROTL(1, (W[i & 15] ^ W[(i - 14) & 15] ^ \\r
+                                                 W[(i - 8) & 15] ^ W[(i - 3) & 15])))\r
+\r
+\r
+/* The prototype SHS sub-round.  The fundamental sub-round is:\r
+\r
+        a' = e + ROTL( 5, a ) + f( b, c, d ) + k + data;\r
+        b' = a;\r
+        c' = ROTL( 30, b );\r
+        d' = c;\r
+        e' = d;\r
+\r
+   but this is implemented by unrolling the loop 5 times and renaming the\r
+   variables ( e, a, b, c, d ) = ( a', b', c', d', e' ) each iteration.\r
+   This code is then replicated 20 times for each of the 4 functions, using\r
+   the next 20 values from the W[] array each time */\r
+\r
+#define SDRM_SHA1_subRound(a, b, c, d, e, f, k, data) \\r
+    (e += SDRM_SHA1_ROTL(5, a) + f(b, c, d) + k + data, b = SDRM_SHA1_ROTL(30, b))\r
+\r
+/* Initialize the SHS values */\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA1_Init(SDRM_SHA1Context  *shsInfo)\r
+{\r
+    SDRM_endianTest(&shsInfo->Endianness);\r
+    /* Set the h-vars to their initial values */\r
+    shsInfo->digest[ 0 ] = SDRM_SHA1_h0init;\r
+    shsInfo->digest[ 1 ] = SDRM_SHA1_h1init;\r
+    shsInfo->digest[ 2 ] = SDRM_SHA1_h2init;\r
+    shsInfo->digest[ 3 ] = SDRM_SHA1_h3init;\r
+    shsInfo->digest[ 4 ] = SDRM_SHA1_h4init;\r
+\r
+    /* Initialise bit count */\r
+    shsInfo->countLo = shsInfo->countHi = 0;\r
+}\r
+\r
+\r
+/* Perform the SHS transformation.  Note that this code, like MD5, seems to\r
+   break some optimizing compilers due to the complexity of the expressions\r
+   and the size of the basic block.  It may be necessary to split it into\r
+   sections, e.g. based on the four subrounds\r
+\r
+   Note that this corrupts the shsInfo->data area */\r
+\r
+static void SDRM_SHSTransform(unsigned int *digest, unsigned int *data )\r
+    {\r
+    unsigned int A, B, C, D, E;     /* Local vars */\r
+    unsigned int eData[ 16 ];       /* Expanded data */\r
+\r
+    /* Set up first buffer and local data buffer */\r
+    A = digest[ 0 ];\r
+    B = digest[ 1 ];\r
+    C = digest[ 2 ];\r
+    D = digest[ 3 ];\r
+    E = digest[ 4 ];\r
+    memcpy( (unsigned char*)eData, (unsigned char*)data, SDRM_SHA1_DATASIZE );\r
+\r
+    /* Heavy mangling, in 4 sub-rounds of 20 interations each. */\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[  0 ] );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[  1 ] );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[  2 ] );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[  3 ] );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[  4 ] );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[  5 ] );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[  6 ] );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[  7 ] );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[  8 ] );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[  9 ] );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 10 ] );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 11 ] );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 12 ] );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 13 ] );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 14 ] );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f1, SDRM_SHA1_K1, eData[ 15 ] );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f1, SDRM_SHA1_K1, SDRM_SHA1_expand( eData, 16 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f1, SDRM_SHA1_K1, SDRM_SHA1_expand( eData, 17 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f1, SDRM_SHA1_K1, SDRM_SHA1_expand( eData, 18 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f1, SDRM_SHA1_K1, SDRM_SHA1_expand( eData, 19 ) );\r
+\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 20 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 21 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 22 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 23 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 24 ) );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 25 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 26 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 27 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 28 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 29 ) );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 30 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 31 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 32 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 33 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 34 ) );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 35 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 36 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 37 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 38 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f2, SDRM_SHA1_K2, SDRM_SHA1_expand( eData, 39 ) );\r
+\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 40 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 41 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 42 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 43 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 44 ) );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 45 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 46 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 47 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 48 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 49 ) );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 50 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 51 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 52 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 53 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 54 ) );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 55 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 56 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 57 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 58 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f3, SDRM_SHA1_K3, SDRM_SHA1_expand( eData, 59 ) );\r
+\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 60 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 61 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 62 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 63 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 64 ) );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 65 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 66 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 67 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 68 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 69 ) );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 70 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 71 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 72 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 73 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 74 ) );\r
+    SDRM_SHA1_subRound( A, B, C, D, E, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 75 ) );\r
+    SDRM_SHA1_subRound( E, A, B, C, D, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 76 ) );\r
+    SDRM_SHA1_subRound( D, E, A, B, C, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 77 ) );\r
+    SDRM_SHA1_subRound( C, D, E, A, B, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 78 ) );\r
+    SDRM_SHA1_subRound( B, C, D, E, A, SDRM_SHA1_f4, SDRM_SHA1_K4, SDRM_SHA1_expand( eData, 79 ) );\r
+\r
+    /* Build message digest */\r
+    digest[ 0 ] += A;\r
+    digest[ 1 ] += B;\r
+    digest[ 2 ] += C;\r
+    digest[ 3 ] += D;\r
+    digest[ 4 ] += E;\r
+    }\r
+\r
+/* When run on a little-endian CPU we need to perform byte reversal on an\r
+   array of long words. */\r
+\r
+static void SDRM_longReverse(unsigned int *buffer, int byteCount, int Endianness)\r
+{\r
+    unsigned int value;\r
+\r
+    if (Endianness == !(0)) return;\r
+    byteCount /= sizeof( unsigned int );\r
+    while(byteCount--)\r
+    {\r
+        value = *buffer;\r
+        value = ((value & 0xFF00FF00L) >> 8) | \\r
+                ((value & 0x00FF00FFL ) << 8);\r
+         *buffer++ = (value << 16) | (value >> 16);\r
+       }\r
+}\r
+\r
+/* Update SHS for a block of data */\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA1_Update(SDRM_SHA1Context  *shsInfo, const unsigned char *buffer, int count)\r
+{\r
+    unsigned int       tmp;\r
+    int                dataCount;\r
+\r
+    /* Update bitcount */\r
+    tmp = shsInfo->countLo;\r
+    if ((shsInfo->countLo = tmp + ((unsigned int)count << 3)) < tmp)\r
+        shsInfo->countHi++;             /* Carry from low to high */\r
+\r
+    shsInfo->countHi += count >> 29;\r
+\r
+    /* Get count of bytes already in data */\r
+    dataCount = (int)(tmp >> 3) & 0x3F;\r
+\r
+    /* Handle any leading odd-sized chunks */\r
+    if (dataCount)\r
+    {\r
+        unsigned char *p = (unsigned char*) shsInfo->data + dataCount;\r
+\r
+        dataCount = SDRM_SHA1_DATASIZE - dataCount;\r
+        if(count < dataCount)\r
+        {\r
+            memcpy(p, buffer, count);\r
+            return;\r
+        }\r
+        memcpy(p, buffer, dataCount);\r
+        SDRM_longReverse(shsInfo->data, SDRM_SHA1_DATASIZE, shsInfo->Endianness);\r
+        SDRM_SHSTransform(shsInfo->digest, shsInfo->data);\r
+        buffer += dataCount;\r
+        count -= dataCount;\r
+    }\r
+\r
+    /* Process data in SHS_DATASIZE chunks */\r
+    while(count >= SDRM_SHA1_DATASIZE)\r
+    {\r
+        memcpy((unsigned char*)shsInfo->data, buffer, SDRM_SHA1_DATASIZE);\r
+        SDRM_longReverse(shsInfo->data, SDRM_SHA1_DATASIZE, shsInfo->Endianness);\r
+        SDRM_SHSTransform(shsInfo->digest, shsInfo->data);\r
+        buffer += SDRM_SHA1_DATASIZE;\r
+        count -= SDRM_SHA1_DATASIZE;\r
+    }\r
+\r
+    /* Handle any remaining bytes of data. */\r
+    memcpy( (unsigned char*)shsInfo->data, buffer, count);\r
+    }\r
+\r
+/* Final wrapup - pad to SHS_DATASIZE-byte boundary with the bit pattern\r
+   1 0* (64-bit count of bits processed, MSB-first) */\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA1_Final(SDRM_SHA1Context  *shsInfo, unsigned char *output)\r
+{\r
+    int count;\r
+    unsigned char *dataPtr;\r
+\r
+    /* Compute number of bytes mod 64 */\r
+    count = (int) shsInfo->countLo;\r
+    count = (count >> 3) & 0x3F;\r
+\r
+    /* Set the first char of padding to 0x80.  This is safe since there is\r
+       always at least one byte free */\r
+    dataPtr = (unsigned char*) shsInfo->data + count;\r
+    *dataPtr++ = 0x80;\r
+\r
+    /* Bytes of padding needed to make 64 bytes */\r
+    count = SDRM_SHA1_DATASIZE - 1 - count;\r
+\r
+    /* Pad out to 56 mod 64 */\r
+    if( count < 8 )\r
+    {\r
+        /* Two lots of padding:  Pad the first block to 64 bytes */\r
+        memset(dataPtr, 0, count);\r
+        SDRM_longReverse(shsInfo->data, SDRM_SHA1_DATASIZE, shsInfo->Endianness);\r
+        SDRM_SHSTransform(shsInfo->digest, shsInfo->data);\r
+\r
+        /* Now fill the next block with 56 bytes */\r
+        memset((unsigned char*)shsInfo->data, 0, SDRM_SHA1_DATASIZE - 8);\r
+    }\r
+    else\r
+        /* Pad block to 56 bytes */\r
+        memset(dataPtr, 0, count - 8);\r
+\r
+    /* Append length in bits and transform */\r
+    shsInfo->data[14] = shsInfo->countHi;\r
+    shsInfo->data[15] = shsInfo->countLo;\r
+\r
+    SDRM_longReverse(shsInfo->data, SDRM_SHA1_DATASIZE - 8, shsInfo->Endianness);\r
+    SDRM_SHSTransform(shsInfo->digest, shsInfo->data);\r
+\r
+       /* Output to an array of bytes */\r
+       SDRM_SHAtoByte(output, shsInfo->digest, SDRM_SHA1_DIGESTSIZE);\r
+\r
+       /* Zeroise sensitive stuff */\r
+       memset((unsigned char*)shsInfo, 0, sizeof(SDRM_SHA1Context));\r
+}\r
+\r
+static void SDRM_SHAtoByte(unsigned char *output, unsigned int *input, unsigned int len)\r
+{      /* Output SHA digest in byte array */\r
+       unsigned int i, j;\r
+\r
+       for(i = 0, j = 0; j < len; i++, j += 4) \r
+       {\r
+        output[j+3] = (unsigned char)( input[i]        & 0xff);\r
+        output[j+2] = (unsigned char)((input[i] >> 8 ) & 0xff);\r
+        output[j+1] = (unsigned char)((input[i] >> 16) & 0xff);\r
+        output[j  ] = (unsigned char)((input[i] >> 24) & 0xff);\r
+       }\r
+}\r
+\r
+\r
+//unsigned char digest[20];\r
+//unsigned char message[3] = {'a', 'b', 'c' };\r
+//unsigned char *mess56 = \r
+//     "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";\r
+\r
+/* Correct solutions from FIPS PUB 180-1 */\r
+//char *dig1 = "A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D";\r
+//char *dig2 = "84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1";\r
+//char *dig3 = "34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F";\r
+\r
+/* Output should look like:-\r
+ a9993e36 4706816a ba3e2571 7850c26c 9cd0d89d\r
+ A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D <= correct\r
+ 84983e44 1c3bd26e baae4aa1 f95129e5 e54670f1\r
+ 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 <= correct\r
+ 34aa973c d4c4daa4 f61eeb2b dbad2731 6534016f\r
+ 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F <= correct\r
+*/\r
+\r
+//main()\r
+//{\r
+//     SHA_CTX sha;\r
+//     int i;\r
+//     BYTE big[1000];\r
+//\r
+//     SHAInit(&sha);\r
+//     SHAUpdate(&sha, message, 3);\r
+//     SHAFinal(digest, &sha);\r
+//\r
+//     for (i = 0; i < 20; i++)\r
+//     {\r
+//             if ((i % 4) == 0) printf(" ");\r
+//             printf("%02x", digest[i]);\r
+//     }\r
+//     printf("\n");\r
+//     printf(" %s <= correct\n", dig1);\r
+//\r
+//     SHAInit(&sha);\r
+//     SHAUpdate(&sha, mess56, 56);\r
+//     SHAFinal(digest, &sha);\r
+//\r
+//     for (i = 0; i < 20; i++)\r
+//     {\r
+//             if ((i % 4) == 0) printf(" ");\r
+//             printf("%02x", digest[i]);\r
+//     }\r
+//     printf("\n");\r
+//     printf(" %s <= correct\n", dig2);\r
+//\r
+//     /* Fill up big array */\r
+//     for (i = 0; i < 1000; i++)\r
+//             big[i] = 'a';\r
+//\r
+//     SHAInit(&sha);\r
+//     /* Digest 1 million x 'a' */\r
+//     for (i = 0; i < 1000; i++)\r
+//             SHAUpdate(&sha, big, 1000);\r
+//     SHAFinal(digest, &sha);\r
+//\r
+//     for (i = 0; i < 20; i++)\r
+//     {\r
+//             if ((i % 4) == 0) printf(" ");\r
+//             printf("%02x", digest[i]);\r
+//     }\r
+//     printf("\n");\r
+//     printf(" %s <= correct\n", dig3);\r
+//\r
+//     return 0;\r
+//}\r
+\r
+/* endian.c */\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_endianTest(int *endian_ness)\r
+{\r
+    static short test = 1;\r
+\r
+    if ( *((char *) &test) != 1)\r
+    {\r
+               /* printf("Big endian = no change\n"); */\r
+               *endian_ness = !(0);\r
+    }\r
+    else\r
+    {\r
+               /* printf("Little endian = swap\n"); */\r
+               *endian_ness = 0;\r
+    }\r
+}\r
+\r
+/***************************** End of File *****************************/\r
+\r
diff --git a/SPC/Src/base/sha2.c b/SPC/Src/base/sha2.c
new file mode 100755 (executable)
index 0000000..65dcdaf
--- /dev/null
@@ -0,0 +1,660 @@
+/*\r
+ * FIPS 180-2 SHA-224/256/384/512 implementation\r
+ * Last update: 02/02/2007\r
+ * Issue date:  04/30/2005\r
+ *\r
+ * Copyright (C) 2005, 2007 Olivier Gay <olivier.gay@a3.epfl.ch>\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the distribution.\r
+ * 3. Neither the name of the project nor the names of its contributors\r
+ *    may be used to endorse or promote products derived from this software\r
+ *    without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE\r
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ */\r
+\r
+/* JS Park's posting:\r
+       Modification for naming confilct.\r
+       Attach prefix 'SDRM_' for all function and constants.\r
+       Change name of data context to 'SDRM_SHAxxxContext' (xxx is bit length of digest)\r
+*/\r
+\r
+#include <string.h>\r
+\r
+#include "sha2.h"\r
+\r
+#define SDRM_SHA2_SHFR(x, n)   (x >> n)\r
+#define SDRM_SHA2_ROTR(x, n)   ((x >> n) | (x << ((sizeof(x) << 3) - n)))\r
+#define SDRM_SHA2_ROTL(x, n)   ((x << n) | (x >> ((sizeof(x) << 3) - n)))\r
+#define SDRM_SHA2_CH(x, y, z)  ((x & y) ^ (~x & z))\r
+#define SDRM_SHA2_MAJ(x, y, z) ((x & y) ^ (x & z) ^ (y & z))\r
+\r
+#define SDRM_SHA2_SHA256_F1(x) (SDRM_SHA2_ROTR(x,  2) ^ SDRM_SHA2_ROTR(x, 13) ^ SDRM_SHA2_ROTR(x, 22))\r
+#define SDRM_SHA2_SHA256_F2(x) (SDRM_SHA2_ROTR(x,  6) ^ SDRM_SHA2_ROTR(x, 11) ^ SDRM_SHA2_ROTR(x, 25))\r
+#define SDRM_SHA2_SHA256_F3(x) (SDRM_SHA2_ROTR(x,  7) ^ SDRM_SHA2_ROTR(x, 18) ^ SDRM_SHA2_SHFR(x,  3))\r
+#define SDRM_SHA2_SHA256_F4(x) (SDRM_SHA2_ROTR(x, 17) ^ SDRM_SHA2_ROTR(x, 19) ^ SDRM_SHA2_SHFR(x, 10))\r
+\r
+#define SDRM_SHA2_SHA512_F1(x) (SDRM_SHA2_ROTR(x, 28) ^ SDRM_SHA2_ROTR(x, 34) ^ SDRM_SHA2_ROTR(x, 39))\r
+#define SDRM_SHA2_SHA512_F2(x) (SDRM_SHA2_ROTR(x, 14) ^ SDRM_SHA2_ROTR(x, 18) ^ SDRM_SHA2_ROTR(x, 41))\r
+#define SDRM_SHA2_SHA512_F3(x) (SDRM_SHA2_ROTR(x,  1) ^ SDRM_SHA2_ROTR(x,  8) ^ SDRM_SHA2_SHFR(x,  7))\r
+#define SDRM_SHA2_SHA512_F4(x) (SDRM_SHA2_ROTR(x, 19) ^ SDRM_SHA2_ROTR(x, 61) ^ SDRM_SHA2_SHFR(x,  6))\r
+\r
+#define SDRM_SHA2_UNPACK32(x, str)                             \\r
+do {                                                                                   \\r
+       *((str) + 3) = (cc_u8) ((x)       );                    \\r
+       *((str) + 2) = (cc_u8) ((x) >>  8);                     \\r
+       *((str) + 1) = (cc_u8) ((x) >> 16);                     \\r
+       *((str) + 0) = (cc_u8) ((x) >> 24);                     \\r
+} while(0)\r
+\r
+#define SDRM_SHA2_PACK32(str, x)                               \\r
+do {                                                                                   \\r
+       *(x) =    ((cc_u32) *((str) + 3)          )             \\r
+                       | ((cc_u32) *((str) + 2) <<  8)         \\r
+                       | ((cc_u32) *((str) + 1) << 16)         \\r
+                       | ((cc_u32) *((str) + 0) << 24);        \\r
+} while(0)\r
+\r
+#define SDRM_SHA2_UNPACK64(x, str)                             \\r
+do {                                                                                   \\r
+       *((str) + 7) = (cc_u8) ((x)       );                    \\r
+       *((str) + 6) = (cc_u8) ((x) >>  8);                     \\r
+       *((str) + 5) = (cc_u8) ((x) >> 16);                     \\r
+       *((str) + 4) = (cc_u8) ((x) >> 24);                     \\r
+       *((str) + 3) = (cc_u8) ((x) >> 32);                     \\r
+       *((str) + 2) = (cc_u8) ((x) >> 40);                     \\r
+       *((str) + 1) = (cc_u8) ((x) >> 48);                     \\r
+       *((str) + 0) = (cc_u8) ((x) >> 56);                     \\r
+} while(0)\r
+\r
+#define SDRM_SHA2_PACK64(str, x)                               \\r
+do {                                                                                   \\r
+       *(x) =  ((cc_u64) *((str) + 7)    )                     \\r
+                       | ((cc_u64) *((str) + 6) <<  8)         \\r
+                       | ((cc_u64) *((str) + 5) << 16)         \\r
+                       | ((cc_u64) *((str) + 4) << 24)         \\r
+                       | ((cc_u64) *((str) + 3) << 32)         \\r
+                       | ((cc_u64) *((str) + 2) << 40)         \\r
+                       | ((cc_u64) *((str) + 1) << 48)         \\r
+                       | ((cc_u64) *((str) + 0) << 56);        \\r
+} while(0)\r
+\r
+/* Macros used for loops unrolling */\r
+\r
+#define SDRM_SHA2_SHA256_SCR(i)                                                                \\r
+{                                                                                                                      \\r
+       w[i] =  SDRM_SHA2_SHA256_F4(w[i -  2]) + w[i -  7]              \\r
+                       + SDRM_SHA2_SHA256_F3(w[i - 15]) + w[i - 16];   \\r
+}\r
+\r
+#define SDRM_SHA2_SHA512_SCR(i)                                                                \\r
+{                                                                                                                      \\r
+       w[i] =  SDRM_SHA2_SHA512_F4(w[i -  2]) + w[i -  7]              \\r
+                       + SDRM_SHA2_SHA512_F3(w[i - 15]) + w[i - 16];   \\r
+}\r
+\r
+#define SDRM_SHA2_SHA256_EXP(a, b, c, d, e, f, g, h, j)                                                        \\r
+{                                                                                                                                                              \\r
+       t1 = wv[h] + SDRM_SHA2_SHA256_F2(wv[e]) + SDRM_SHA2_CH(wv[e], wv[f], wv[g])     \\r
+               + sha256_k[j] + w[j];                                                                                                   \\r
+       t2 = SDRM_SHA2_SHA256_F1(wv[a]) + SDRM_SHA2_MAJ(wv[a], wv[b], wv[c]);           \\r
+       wv[d] += t1;                                                                                                                            \\r
+       wv[h] = t1 + t2;                                                                                                                        \\r
+}\r
+\r
+#define SDRM_SHA2_SHA512_EXP(a, b, c, d, e, f, g ,h, j)                                                        \\r
+{                                                                                                                                                              \\r
+       t1 = wv[h] + SDRM_SHA2_SHA512_F2(wv[e]) + SDRM_SHA2_CH(wv[e], wv[f], wv[g]) \\r
+               + sha512_k[j] + w[j];                                                                                                   \\r
+       t2 = SDRM_SHA2_SHA512_F1(wv[a]) + SDRM_SHA2_MAJ(wv[a], wv[b], wv[c]);           \\r
+       wv[d] += t1;                                                                                                                            \\r
+       wv[h] = t1 + t2;                                                                                                                        \\r
+}\r
+\r
+CRYPTOCORE_INTERNAL cc_u32 sha224_h0[8] =\r
+            {0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\r
+             0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4};\r
+\r
+CRYPTOCORE_INTERNAL cc_u32 sha256_h0[8] =\r
+                       {0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\r
+                        0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19};\r
+\r
+CRYPTOCORE_INTERNAL cc_u32 sha256_k[64] =\r
+                       {0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\r
+                        0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\r
+                        0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\r
+                        0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\r
+                        0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\r
+                        0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\r
+                        0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\r
+                        0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\r
+                        0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\r
+                        0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\r
+                        0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\r
+                        0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\r
+                        0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\r
+                        0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\r
+                        0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\r
+                        0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2};\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+\r
+#ifdef _WIN32\r
+CRYPTOCORE_INTERNAL cc_u64 sha384_h0[8] =\r
+                       {0xcbbb9d5dc1059ed8, 0x629a292a367cd507,\r
+                        0x9159015a3070dd17, 0x152fecd8f70e5939,\r
+                        0x67332667ffc00b31, 0x8eb44a8768581511,\r
+                        0xdb0c2e0d64f98fa7, 0x47b5481dbefa4fa4};\r
+\r
+CRYPTOCORE_INTERNAL cc_u64 sha512_h0[8] =\r
+                       {0x6a09e667f3bcc908, 0xbb67ae8584caa73b,\r
+                        0x3c6ef372fe94f82b, 0xa54ff53a5f1d36f1,\r
+                        0x510e527fade682d1, 0x9b05688c2b3e6c1f,\r
+                        0x1f83d9abfb41bd6b, 0x5be0cd19137e2179};\r
+\r
+CRYPTOCORE_INTERNAL cc_u64 sha512_k[80] =\r
+                       {0x428a2f98d728ae22, 0x7137449123ef65cd,\r
+                        0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc,\r
+                        0x3956c25bf348b538, 0x59f111f1b605d019,\r
+                        0x923f82a4af194f9b, 0xab1c5ed5da6d8118,\r
+                        0xd807aa98a3030242, 0x12835b0145706fbe,\r
+                        0x243185be4ee4b28c, 0x550c7dc3d5ffb4e2,\r
+                        0x72be5d74f27b896f, 0x80deb1fe3b1696b1,\r
+                        0x9bdc06a725c71235, 0xc19bf174cf692694,\r
+                        0xe49b69c19ef14ad2, 0xefbe4786384f25e3,\r
+                        0x0fc19dc68b8cd5b5, 0x240ca1cc77ac9c65,\r
+                        0x2de92c6f592b0275, 0x4a7484aa6ea6e483,\r
+                        0x5cb0a9dcbd41fbd4, 0x76f988da831153b5,\r
+                        0x983e5152ee66dfab, 0xa831c66d2db43210,\r
+                        0xb00327c898fb213f, 0xbf597fc7beef0ee4,\r
+                        0xc6e00bf33da88fc2, 0xd5a79147930aa725,\r
+                        0x06ca6351e003826f, 0x142929670a0e6e70,\r
+                        0x27b70a8546d22ffc, 0x2e1b21385c26c926,\r
+                        0x4d2c6dfc5ac42aed, 0x53380d139d95b3df,\r
+                        0x650a73548baf63de, 0x766a0abb3c77b2a8,\r
+                        0x81c2c92e47edaee6, 0x92722c851482353b,\r
+                        0xa2bfe8a14cf10364, 0xa81a664bbc423001,\r
+                        0xc24b8b70d0f89791, 0xc76c51a30654be30,\r
+                        0xd192e819d6ef5218, 0xd69906245565a910,\r
+                        0xf40e35855771202a, 0x106aa07032bbd1b8,\r
+                        0x19a4c116b8d2d0c8, 0x1e376c085141ab53,\r
+                        0x2748774cdf8eeb99, 0x34b0bcb5e19b48a8,\r
+                        0x391c0cb3c5c95a63, 0x4ed8aa4ae3418acb,\r
+                        0x5b9cca4f7763e373, 0x682e6ff3d6b2b8a3,\r
+                        0x748f82ee5defb2fc, 0x78a5636f43172f60,\r
+                        0x84c87814a1f0ab72, 0x8cc702081a6439ec,\r
+                        0x90befffa23631e28, 0xa4506cebde82bde9,\r
+                        0xbef9a3f7b2c67915, 0xc67178f2e372532b,\r
+                        0xca273eceea26619c, 0xd186b8c721c0c207,\r
+                        0xeada7dd6cde0eb1e, 0xf57d4f7fee6ed178,\r
+                        0x06f067aa72176fba, 0x0a637dc5a2c898a6,\r
+                        0x113f9804bef90dae, 0x1b710b35131c471b,\r
+                        0x28db77f523047d84, 0x32caab7b40c72493,\r
+                        0x3c9ebe0a15c9bebc, 0x431d67c49c100d4c,\r
+                        0x4cc5d4becb3e42b6, 0x597f299cfc657e2a,\r
+                        0x5fcb6fab3ad6faec, 0x6c44198c4a475817};\r
+#else\r
+CRYPTOCORE_INTERNAL cc_u64 sha384_h0[8] =\r
+                       {0xcbbb9d5dc1059ed8ULL, 0x629a292a367cd507ULL,\r
+                        0x9159015a3070dd17ULL, 0x152fecd8f70e5939ULL,\r
+                        0x67332667ffc00b31ULL, 0x8eb44a8768581511ULL,\r
+                        0xdb0c2e0d64f98fa7ULL, 0x47b5481dbefa4fa4ULL};\r
+\r
+CRYPTOCORE_INTERNAL cc_u64 sha512_h0[8] =\r
+                       {0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL,\r
+                        0x3c6ef372fe94f82bULL, 0xa54ff53a5f1d36f1ULL,\r
+                        0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL,\r
+                        0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL};\r
+\r
+CRYPTOCORE_INTERNAL cc_u64 sha512_k[80] =\r
+                       {0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL,\r
+                        0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL,\r
+                        0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL,\r
+                        0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL,\r
+                        0xd807aa98a3030242ULL, 0x12835b0145706fbeULL,\r
+                        0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL,\r
+                        0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL,\r
+                        0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL,\r
+                        0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL,\r
+                        0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL,\r
+                        0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL,\r
+                        0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL,\r
+                        0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL,\r
+                        0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL,\r
+                        0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL,\r
+                        0x06ca6351e003826fULL, 0x142929670a0e6e70ULL,\r
+                        0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL,\r
+                        0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL,\r
+                        0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL,\r
+                        0x81c2c92e47edaee6ULL, 0x92722c851482353bULL,\r
+                        0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL,\r
+                        0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL,\r
+                        0xd192e819d6ef5218ULL, 0xd69906245565a910ULL,\r
+                        0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL,\r
+                        0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL,\r
+                        0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL,\r
+                        0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL,\r
+                        0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL,\r
+                        0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL,\r
+                        0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL,\r
+                        0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL,\r
+                        0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL,\r
+                        0xca273eceea26619cULL, 0xd186b8c721c0c207ULL,\r
+                        0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL,\r
+                        0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL,\r
+                        0x113f9804bef90daeULL, 0x1b710b35131c471bULL,\r
+                        0x28db77f523047d84ULL, 0x32caab7b40c72493ULL,\r
+                        0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL,\r
+                        0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL,\r
+                        0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL};\r
+#endif //_WIN32\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+/* SHA-256 functions */\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA256_Transf(SDRM_SHA256Context* ctx, const cc_u8 *message, cc_u32 block_nb)\r
+{\r
+       cc_u32 w[64];\r
+       cc_u32 wv[8];\r
+       cc_u32 t1, t2;\r
+       const cc_u8 *sub_block;\r
+       int i;\r
+\r
+       int j;\r
+\r
+       for (i = 0; i < (int) block_nb; i++)\r
+       {\r
+               sub_block = message + (i << 6);\r
+\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       SDRM_SHA2_PACK32(&sub_block[j << 2], &w[j]);\r
+               }\r
+\r
+               for (j = 16; j < 64; j++)\r
+               {\r
+                       SDRM_SHA2_SHA256_SCR(j);\r
+               }\r
+\r
+               for (j = 0; j < 8; j++)\r
+               {\r
+                       wv[j] = ctx->h[j];\r
+               }\r
+\r
+               for (j = 0; j < 64; j++)\r
+               {\r
+                       t1 = wv[7] + SDRM_SHA2_SHA256_F2(wv[4]) + SDRM_SHA2_CH(wv[4], wv[5], wv[6]) + sha256_k[j] + w[j];\r
+                       t2 = SDRM_SHA2_SHA256_F1(wv[0]) + SDRM_SHA2_MAJ(wv[0], wv[1], wv[2]);\r
+                       wv[7] = wv[6];\r
+                       wv[6] = wv[5];\r
+                       wv[5] = wv[4];\r
+                       wv[4] = wv[3] + t1;\r
+                       wv[3] = wv[2];\r
+                       wv[2] = wv[1];\r
+                       wv[1] = wv[0];\r
+                       wv[0] = t1 + t2;\r
+               }\r
+\r
+               for (j = 0; j < 8; j++)\r
+               {\r
+                       ctx->h[j] += wv[j];\r
+               }\r
+       }\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA256_Init(SDRM_SHA256Context* ctx)\r
+{\r
+       int i;\r
+       for (i = 0; i < 8; i++)\r
+       {\r
+               ctx->h[i] = sha256_h0[i];\r
+       }\r
+\r
+       ctx->len = 0;\r
+       ctx->tot_len = 0;\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA256_Update(SDRM_SHA256Context* ctx, const cc_u8 *message, cc_u32 len)\r
+{\r
+       cc_u32 block_nb;\r
+       cc_u32 new_len, rem_len, tmp_len;\r
+       const cc_u8 *shifted_message;\r
+\r
+       tmp_len = SDRM_SHA256_DATA_SIZE - ctx->len;\r
+       rem_len = len < tmp_len ? len : tmp_len;\r
+\r
+       memcpy(&ctx->block[ctx->len], message, rem_len);\r
+\r
+       if (ctx->len + len < SDRM_SHA256_DATA_SIZE)\r
+       {\r
+               ctx->len += len;\r
+               return;\r
+       }\r
+\r
+       new_len = len - rem_len;\r
+       block_nb = new_len / SDRM_SHA256_DATA_SIZE;\r
+\r
+       shifted_message = message + rem_len;\r
+\r
+       SDRM_SHA256_Transf(ctx, ctx->block, 1);\r
+       SDRM_SHA256_Transf(ctx, shifted_message, block_nb);\r
+\r
+       rem_len = new_len % SDRM_SHA256_DATA_SIZE;\r
+\r
+       memcpy(ctx->block, &shifted_message[block_nb << 6], rem_len);\r
+\r
+       ctx->len = rem_len;\r
+       ctx->tot_len += (block_nb + 1) << 6;\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA256_Final(SDRM_SHA256Context* ctx, cc_u8 *digest)\r
+{\r
+       cc_u32 block_nb;\r
+       cc_u32 pm_len;\r
+       cc_u32 len_b;\r
+\r
+       int i;\r
+\r
+       block_nb = (1 + ((SDRM_SHA256_DATA_SIZE - 9) < (ctx->len % SDRM_SHA256_DATA_SIZE)));\r
+\r
+       len_b = (ctx->tot_len + ctx->len) << 3;\r
+       pm_len = block_nb << 6;\r
+\r
+       memset(ctx->block + ctx->len, 0, pm_len - ctx->len);\r
+       ctx->block[ctx->len] = 0x80;\r
+       SDRM_SHA2_UNPACK32(len_b, ctx->block + pm_len - 4);\r
+\r
+       SDRM_SHA256_Transf(ctx, ctx->block, block_nb);\r
+\r
+       for (i = 0 ; i < 8; i++)\r
+       {\r
+               SDRM_SHA2_UNPACK32(ctx->h[i], &digest[i << 2]);\r
+       }\r
+}\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+\r
+/* SHA-512 functions */\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA512_Transf(SDRM_SHA512Context* ctx, const cc_u8 *message, cc_u32 block_nb)\r
+{\r
+       cc_u64 w[80];\r
+       cc_u64 wv[8];\r
+       cc_u64 t1, t2;\r
+       const cc_u8 *sub_block;\r
+       int i, j;\r
+\r
+       for (i = 0; i < (int) block_nb; i++)\r
+       {\r
+               sub_block = message + (i << 7);\r
+\r
+               for (j = 0; j < 16; j++)\r
+               {\r
+                       SDRM_SHA2_PACK64(&sub_block[j << 3], &w[j]);\r
+               }\r
+\r
+               for (j = 16; j < 80; j++)\r
+               {\r
+                       SDRM_SHA2_SHA512_SCR(j);\r
+               }\r
+\r
+               for (j = 0; j < 8; j++)\r
+               {\r
+                       wv[j] = ctx->h[j];\r
+               }\r
+\r
+               for (j = 0; j < 80; j++)\r
+               {\r
+                       t1 = wv[7] + SDRM_SHA2_SHA512_F2(wv[4]) + SDRM_SHA2_CH(wv[4], wv[5], wv[6])\r
+                               + sha512_k[j] + w[j];\r
+                       t2 = SDRM_SHA2_SHA512_F1(wv[0]) + SDRM_SHA2_MAJ(wv[0], wv[1], wv[2]);\r
+                       wv[7] = wv[6];\r
+                       wv[6] = wv[5];\r
+                       wv[5] = wv[4];\r
+                       wv[4] = wv[3] + t1;\r
+                       wv[3] = wv[2];\r
+                       wv[2] = wv[1];\r
+                       wv[1] = wv[0];\r
+                       wv[0] = t1 + t2;\r
+               }\r
+\r
+               for (j = 0; j < 8; j++)\r
+               {\r
+                       ctx->h[j] += wv[j];\r
+               }\r
+       }\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA512_Init(SDRM_SHA512Context* ctx)\r
+{\r
+       int i;\r
+       for (i = 0; i < 8; i++)\r
+       {\r
+               ctx->h[i] = sha512_h0[i];\r
+       }\r
+\r
+       ctx->len = 0;\r
+       ctx->tot_len = 0;\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA512_Update(SDRM_SHA512Context* ctx, const cc_u8 *message, cc_u32 len)\r
+{\r
+       cc_u32 block_nb;\r
+       cc_u32 new_len, rem_len, tmp_len;\r
+       const cc_u8 *shifted_message;\r
+\r
+       tmp_len = SDRM_SHA512_DATA_SIZE - ctx->len;\r
+       rem_len = len < tmp_len ? len : tmp_len;\r
+\r
+       memcpy(&ctx->block[ctx->len], message, rem_len);\r
+\r
+       if (ctx->len + len < SDRM_SHA512_DATA_SIZE)\r
+       {\r
+               ctx->len += len;\r
+               return;\r
+       }\r
+\r
+       new_len = len - rem_len;\r
+       block_nb = new_len / SDRM_SHA512_DATA_SIZE;\r
+\r
+       shifted_message = message + rem_len;\r
+\r
+       SDRM_SHA512_Transf(ctx, ctx->block, 1);\r
+       SDRM_SHA512_Transf(ctx, shifted_message, block_nb);\r
+\r
+       rem_len = new_len % SDRM_SHA512_DATA_SIZE;\r
+\r
+       memcpy(ctx->block, &shifted_message[block_nb << 7], rem_len);\r
+\r
+       ctx->len = rem_len;\r
+       ctx->tot_len += (block_nb + 1) << 7;\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA512_Final(SDRM_SHA512Context* ctx, cc_u8 *digest)\r
+{\r
+       cc_u32 block_nb;\r
+       cc_u32 pm_len;\r
+       cc_u32 len_b;\r
+\r
+       int i;\r
+\r
+       block_nb = 1 + ((SDRM_SHA512_DATA_SIZE - 17) < (ctx->len % SDRM_SHA512_DATA_SIZE));\r
+\r
+       len_b = (ctx->tot_len + ctx->len) << 3;\r
+       pm_len = block_nb << 7;\r
+\r
+       memset(ctx->block + ctx->len, 0, pm_len - ctx->len);\r
+       ctx->block[ctx->len] = 0x80;\r
+       SDRM_SHA2_UNPACK32(len_b, ctx->block + pm_len - 4);\r
+\r
+       SDRM_SHA512_Transf(ctx, ctx->block, block_nb);\r
+\r
+       for (i = 0 ; i < 8; i++)\r
+       {\r
+               SDRM_SHA2_UNPACK64(ctx->h[i], &digest[i << 3]);\r
+       }\r
+}\r
+\r
+/* SHA-384 functions */\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA384_Init(SDRM_SHA384Context* ctx)\r
+{\r
+       int i;\r
+       for (i = 0; i < 8; i++)\r
+       {\r
+               ctx->h[i] = sha384_h0[i];\r
+       }\r
+\r
+       ctx->len = 0;\r
+       ctx->tot_len = 0;\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA384_Update(SDRM_SHA384Context* ctx, const cc_u8 *message, cc_u32 len)\r
+{\r
+       cc_u32 block_nb;\r
+       cc_u32 new_len, rem_len, tmp_len;\r
+       const cc_u8 *shifted_message;\r
+\r
+       tmp_len = SDRM_SHA384_DATA_SIZE - ctx->len;\r
+       rem_len = len < tmp_len ? len : tmp_len;\r
+\r
+       memcpy(&ctx->block[ctx->len], message, rem_len);\r
+\r
+       if (ctx->len + len < SDRM_SHA384_DATA_SIZE)\r
+       {\r
+               ctx->len += len;\r
+               return;\r
+       }\r
+\r
+       new_len = len - rem_len;\r
+       block_nb = new_len / SDRM_SHA384_DATA_SIZE;\r
+\r
+       shifted_message = message + rem_len;\r
+\r
+       SDRM_SHA512_Transf(ctx, ctx->block, 1);\r
+       SDRM_SHA512_Transf(ctx, shifted_message, block_nb);\r
+\r
+       rem_len = new_len % SDRM_SHA384_DATA_SIZE;\r
+\r
+       memcpy(ctx->block, &shifted_message[block_nb << 7], rem_len);\r
+\r
+       ctx->len = rem_len;\r
+       ctx->tot_len += (block_nb + 1) << 7;\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA384_Final(SDRM_SHA384Context* ctx, cc_u8 *digest)\r
+{\r
+       cc_u32 block_nb;\r
+       cc_u32 pm_len;\r
+       cc_u32 len_b;\r
+\r
+       int i;\r
+\r
+       block_nb = (1 + ((SDRM_SHA384_DATA_SIZE - 17) < (ctx->len % SDRM_SHA384_DATA_SIZE)));\r
+\r
+       len_b = (ctx->tot_len + ctx->len) << 3;\r
+       pm_len = block_nb << 7;\r
+\r
+       memset(ctx->block + ctx->len, 0, pm_len - ctx->len);\r
+       ctx->block[ctx->len] = 0x80;\r
+       SDRM_SHA2_UNPACK32(len_b, ctx->block + pm_len - 4);\r
+\r
+       SDRM_SHA512_Transf(ctx, ctx->block, block_nb);\r
+\r
+       for (i = 0 ; i < 6; i++)\r
+       {\r
+               SDRM_SHA2_UNPACK64(ctx->h[i], &digest[i << 3]);\r
+       }\r
+}\r
+\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+/* SHA-224 functions */\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA224_Init(SDRM_SHA224Context *ctx)\r
+{\r
+    int i;\r
+    for (i = 0; i < 8; i++) {\r
+        ctx->h[i] = sha224_h0[i];\r
+    }\r
+\r
+    ctx->len = 0;\r
+    ctx->tot_len = 0;\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA224_Update(SDRM_SHA224Context *ctx, const unsigned char *message,\r
+                   unsigned int len)\r
+{\r
+    unsigned int block_nb;\r
+    unsigned int new_len, rem_len, tmp_len;\r
+    const unsigned char *shifted_message;\r
+\r
+    tmp_len = SDRM_SHA224_DATA_SIZE - ctx->len;\r
+    rem_len = len < tmp_len ? len : tmp_len;\r
+\r
+    memcpy(&ctx->block[ctx->len], message, rem_len);\r
+\r
+    if (ctx->len + len < SDRM_SHA224_DATA_SIZE) {\r
+        ctx->len += len;\r
+        return;\r
+    }\r
+\r
+    new_len = len - rem_len;\r
+    block_nb = new_len / SDRM_SHA224_DATA_SIZE;\r
+\r
+    shifted_message = message + rem_len;\r
+\r
+    SDRM_SHA256_Transf(ctx, ctx->block, 1);\r
+    SDRM_SHA256_Transf(ctx, shifted_message, block_nb);\r
+\r
+    rem_len = new_len % SDRM_SHA224_DATA_SIZE;\r
+\r
+    memcpy(ctx->block, &shifted_message[block_nb << 6],\r
+           rem_len);\r
+\r
+    ctx->len = rem_len;\r
+    ctx->tot_len += (block_nb + 1) << 6;\r
+}\r
+\r
+CRYPTOCORE_INTERNAL void SDRM_SHA224_Final(SDRM_SHA224Context *ctx, unsigned char *digest)\r
+{\r
+    unsigned int block_nb;\r
+    unsigned int pm_len;\r
+    unsigned int len_b;\r
+\r
+    int i;\r
+\r
+    block_nb = (1 + ((SDRM_SHA224_DATA_SIZE - 9)\r
+                     < (ctx->len % SDRM_SHA224_DATA_SIZE)));\r
+\r
+    len_b = (ctx->tot_len + ctx->len) << 3;\r
+    pm_len = block_nb << 6;\r
+\r
+    memset(ctx->block + ctx->len, 0, pm_len - ctx->len);\r
+    ctx->block[ctx->len] = 0x80;\r
+    SDRM_SHA2_UNPACK32(len_b, ctx->block + pm_len - 4);\r
+\r
+    SDRM_SHA256_Transf(ctx, ctx->block, block_nb);\r
+\r
+    for (i = 0 ; i < 7; i++) {\r
+        SDRM_SHA2_UNPACK32(ctx->h[i], &digest[i << 2]);\r
+    }\r
+}\r
diff --git a/SPC/Src/base/snow2.c b/SPC/Src/base/snow2.c
new file mode 100755 (executable)
index 0000000..e115097
--- /dev/null
@@ -0,0 +1,404 @@
+/**\r
+ * \file       snow2.c\r
+ * @brief      implementation of SNOW 2.0 encryption scheme\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/12/02\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "snow2.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// pre-computated values\r
+////////////////////////////////////////////////////////////////////////////\r
+static cc_u32 SNOW2_MUL_a[256]= {\r
+       0x00000000, 0xE19FCF13, 0x6B973726, 0x8A08F835, 0xD6876E4C, 0x3718A15F, 0xBD10596A, 0x5C8F9679, \r
+       0x05A7DC98, 0xE438138B, 0x6E30EBBE, 0x8FAF24AD, 0xD320B2D4, 0x32BF7DC7, 0xB8B785F2, 0x59284AE1, \r
+       0x0AE71199, 0xEB78DE8A, 0x617026BF, 0x80EFE9AC, 0xDC607FD5, 0x3DFFB0C6, 0xB7F748F3, 0x566887E0, \r
+       0x0F40CD01, 0xEEDF0212, 0x64D7FA27, 0x85483534, 0xD9C7A34D, 0x38586C5E, 0xB250946B, 0x53CF5B78, \r
+       0x1467229B, 0xF5F8ED88, 0x7FF015BD, 0x9E6FDAAE, 0xC2E04CD7, 0x237F83C4, 0xA9777BF1, 0x48E8B4E2, \r
+       0x11C0FE03, 0xF05F3110, 0x7A57C925, 0x9BC80636, 0xC747904F, 0x26D85F5C, 0xACD0A769, 0x4D4F687A, \r
+       0x1E803302, 0xFF1FFC11, 0x75170424, 0x9488CB37, 0xC8075D4E, 0x2998925D, 0xA3906A68, 0x420FA57B, \r
+       0x1B27EF9A, 0xFAB82089, 0x70B0D8BC, 0x912F17AF, 0xCDA081D6, 0x2C3F4EC5, 0xA637B6F0, 0x47A879E3, \r
+       0x28CE449F, 0xC9518B8C, 0x435973B9, 0xA2C6BCAA, 0xFE492AD3, 0x1FD6E5C0, 0x95DE1DF5, 0x7441D2E6, \r
+       0x2D699807, 0xCCF65714, 0x46FEAF21, 0xA7616032, 0xFBEEF64B, 0x1A713958, 0x9079C16D, 0x71E60E7E, \r
+       0x22295506, 0xC3B69A15, 0x49BE6220, 0xA821AD33, 0xF4AE3B4A, 0x1531F459, 0x9F390C6C, 0x7EA6C37F, \r
+       0x278E899E, 0xC611468D, 0x4C19BEB8, 0xAD8671AB, 0xF109E7D2, 0x109628C1, 0x9A9ED0F4, 0x7B011FE7, \r
+       0x3CA96604, 0xDD36A917, 0x573E5122, 0xB6A19E31, 0xEA2E0848, 0x0BB1C75B, 0x81B93F6E, 0x6026F07D, \r
+       0x390EBA9C, 0xD891758F, 0x52998DBA, 0xB30642A9, 0xEF89D4D0, 0x0E161BC3, 0x841EE3F6, 0x65812CE5, \r
+       0x364E779D, 0xD7D1B88E, 0x5DD940BB, 0xBC468FA8, 0xE0C919D1, 0x0156D6C2, 0x8B5E2EF7, 0x6AC1E1E4, \r
+       0x33E9AB05, 0xD2766416, 0x587E9C23, 0xB9E15330, 0xE56EC549, 0x04F10A5A, 0x8EF9F26F, 0x6F663D7C, \r
+       0x50358897, 0xB1AA4784, 0x3BA2BFB1, 0xDA3D70A2, 0x86B2E6DB, 0x672D29C8, 0xED25D1FD, 0x0CBA1EEE, \r
+       0x5592540F, 0xB40D9B1C, 0x3E056329, 0xDF9AAC3A, 0x83153A43, 0x628AF550, 0xE8820D65, 0x091DC276, \r
+       0x5AD2990E, 0xBB4D561D, 0x3145AE28, 0xD0DA613B, 0x8C55F742, 0x6DCA3851, 0xE7C2C064, 0x065D0F77, \r
+       0x5F754596, 0xBEEA8A85, 0x34E272B0, 0xD57DBDA3, 0x89F22BDA, 0x686DE4C9, 0xE2651CFC, 0x03FAD3EF, \r
+       0x4452AA0C, 0xA5CD651F, 0x2FC59D2A, 0xCE5A5239, 0x92D5C440, 0x734A0B53, 0xF942F366, 0x18DD3C75, \r
+       0x41F57694, 0xA06AB987, 0x2A6241B2, 0xCBFD8EA1, 0x977218D8, 0x76EDD7CB, 0xFCE52FFE, 0x1D7AE0ED, \r
+       0x4EB5BB95, 0xAF2A7486, 0x25228CB3, 0xC4BD43A0, 0x9832D5D9, 0x79AD1ACA, 0xF3A5E2FF, 0x123A2DEC, \r
+       0x4B12670D, 0xAA8DA81E, 0x2085502B, 0xC11A9F38, 0x9D950941, 0x7C0AC652, 0xF6023E67, 0x179DF174, \r
+       0x78FBCC08, 0x9964031B, 0x136CFB2E, 0xF2F3343D, 0xAE7CA244, 0x4FE36D57, 0xC5EB9562, 0x24745A71, \r
+       0x7D5C1090, 0x9CC3DF83, 0x16CB27B6, 0xF754E8A5, 0xABDB7EDC, 0x4A44B1CF, 0xC04C49FA, 0x21D386E9, \r
+       0x721CDD91, 0x93831282, 0x198BEAB7, 0xF81425A4, 0xA49BB3DD, 0x45047CCE, 0xCF0C84FB, 0x2E934BE8, \r
+       0x77BB0109, 0x9624CE1A, 0x1C2C362F, 0xFDB3F93C, 0xA13C6F45, 0x40A3A056, 0xCAAB5863, 0x2B349770, \r
+       0x6C9CEE93, 0x8D032180, 0x070BD9B5, 0xE69416A6, 0xBA1B80DF, 0x5B844FCC, 0xD18CB7F9, 0x301378EA, \r
+       0x693B320B, 0x88A4FD18, 0x02AC052D, 0xE333CA3E, 0xBFBC5C47, 0x5E239354, 0xD42B6B61, 0x35B4A472, \r
+       0x667BFF0A, 0x87E43019, 0x0DECC82C, 0xEC73073F, 0xB0FC9146, 0x51635E55, 0xDB6BA660, 0x3AF46973, \r
+       0x63DC2392, 0x8243EC81, 0x084B14B4, 0xE9D4DBA7, 0xB55B4DDE, 0x54C482CD, 0xDECC7AF8, 0x3F53B5EB\r
+};\r
+\r
+static cc_u32 SNOW2_MUL_ainverse[256]= {\r
+    0x00000000, 0x180F40CD, 0x301E8033, 0x2811C0FE, 0x603CA966, 0x7833E9AB, 0x50222955, 0x482D6998, \r
+       0xC078FBCC, 0xD877BB01, 0xF0667BFF, 0xE8693B32, 0xA04452AA, 0xB84B1267, 0x905AD299, 0x88559254, \r
+       0x29F05F31, 0x31FF1FFC, 0x19EEDF02, 0x01E19FCF, 0x49CCF657, 0x51C3B69A, 0x79D27664, 0x61DD36A9, \r
+       0xE988A4FD, 0xF187E430, 0xD99624CE, 0xC1996403, 0x89B40D9B, 0x91BB4D56, 0xB9AA8DA8, 0xA1A5CD65, \r
+       0x5249BE62, 0x4A46FEAF, 0x62573E51, 0x7A587E9C, 0x32751704, 0x2A7A57C9, 0x026B9737, 0x1A64D7FA, \r
+       0x923145AE, 0x8A3E0563, 0xA22FC59D, 0xBA208550, 0xF20DECC8, 0xEA02AC05, 0xC2136CFB, 0xDA1C2C36, \r
+       0x7BB9E153, 0x63B6A19E, 0x4BA76160, 0x53A821AD, 0x1B854835, 0x038A08F8, 0x2B9BC806, 0x339488CB, \r
+       0xBBC11A9F, 0xA3CE5A52, 0x8BDF9AAC, 0x93D0DA61, 0xDBFDB3F9, 0xC3F2F334, 0xEBE333CA, 0xF3EC7307, \r
+       0xA492D5C4, 0xBC9D9509, 0x948C55F7, 0x8C83153A, 0xC4AE7CA2, 0xDCA13C6F, 0xF4B0FC91, 0xECBFBC5C, \r
+       0x64EA2E08, 0x7CE56EC5, 0x54F4AE3B, 0x4CFBEEF6, 0x04D6876E, 0x1CD9C7A3, 0x34C8075D, 0x2CC74790, \r
+       0x8D628AF5, 0x956DCA38, 0xBD7C0AC6, 0xA5734A0B, 0xED5E2393, 0xF551635E, 0xDD40A3A0, 0xC54FE36D, \r
+       0x4D1A7139, 0x551531F4, 0x7D04F10A, 0x650BB1C7, 0x2D26D85F, 0x35299892, 0x1D38586C, 0x053718A1, \r
+       0xF6DB6BA6, 0xEED42B6B, 0xC6C5EB95, 0xDECAAB58, 0x96E7C2C0, 0x8EE8820D, 0xA6F942F3, 0xBEF6023E, \r
+       0x36A3906A, 0x2EACD0A7, 0x06BD1059, 0x1EB25094, 0x569F390C, 0x4E9079C1, 0x6681B93F, 0x7E8EF9F2, \r
+       0xDF2B3497, 0xC724745A, 0xEF35B4A4, 0xF73AF469, 0xBF179DF1, 0xA718DD3C, 0x8F091DC2, 0x97065D0F, \r
+       0x1F53CF5B, 0x075C8F96, 0x2F4D4F68, 0x37420FA5, 0x7F6F663D, 0x676026F0, 0x4F71E60E, 0x577EA6C3, \r
+       0xE18D0321, 0xF98243EC, 0xD1938312, 0xC99CC3DF, 0x81B1AA47, 0x99BEEA8A, 0xB1AF2A74, 0xA9A06AB9, \r
+       0x21F5F8ED, 0x39FAB820, 0x11EB78DE, 0x09E43813, 0x41C9518B, 0x59C61146, 0x71D7D1B8, 0x69D89175, \r
+       0xC87D5C10, 0xD0721CDD, 0xF863DC23, 0xE06C9CEE, 0xA841F576, 0xB04EB5BB, 0x985F7545, 0x80503588, \r
+       0x0805A7DC, 0x100AE711, 0x381B27EF, 0x20146722, 0x68390EBA, 0x70364E77, 0x58278E89, 0x4028CE44, \r
+       0xB3C4BD43, 0xABCBFD8E, 0x83DA3D70, 0x9BD57DBD, 0xD3F81425, 0xCBF754E8, 0xE3E69416, 0xFBE9D4DB, \r
+       0x73BC468F, 0x6BB30642, 0x43A2C6BC, 0x5BAD8671, 0x1380EFE9, 0x0B8FAF24, 0x239E6FDA, 0x3B912F17, \r
+       0x9A34E272, 0x823BA2BF, 0xAA2A6241, 0xB225228C, 0xFA084B14, 0xE2070BD9, 0xCA16CB27, 0xD2198BEA, \r
+       0x5A4C19BE, 0x42435973, 0x6A52998D, 0x725DD940, 0x3A70B0D8, 0x227FF015, 0x0A6E30EB, 0x12617026, \r
+       0x451FD6E5, 0x5D109628, 0x750156D6, 0x6D0E161B, 0x25237F83, 0x3D2C3F4E, 0x153DFFB0, 0x0D32BF7D, \r
+       0x85672D29, 0x9D686DE4, 0xB579AD1A, 0xAD76EDD7, 0xE55B844F, 0xFD54C482, 0xD545047C, 0xCD4A44B1, \r
+       0x6CEF89D4, 0x74E0C919, 0x5CF109E7, 0x44FE492A, 0x0CD320B2, 0x14DC607F, 0x3CCDA081, 0x24C2E04C, \r
+       0xAC977218, 0xB49832D5, 0x9C89F22B, 0x8486B2E6, 0xCCABDB7E, 0xD4A49BB3, 0xFCB55B4D, 0xE4BA1B80, \r
+       0x17566887, 0x0F59284A, 0x2748E8B4, 0x3F47A879, 0x776AC1E1, 0x6F65812C, 0x477441D2, 0x5F7B011F, \r
+       0xD72E934B, 0xCF21D386, 0xE7301378, 0xFF3F53B5, 0xB7123A2D, 0xAF1D7AE0, 0x870CBA1E, 0x9F03FAD3, \r
+       0x3EA637B6, 0x26A9777B, 0x0EB8B785, 0x16B7F748, 0x5E9A9ED0, 0x4695DE1D, 0x6E841EE3, 0x768B5E2E, \r
+       0xFEDECC7A, 0xE6D18CB7, 0xCEC04C49, 0xD6CF0C84, 0x9EE2651C, 0x86ED25D1, 0xAEFCE52F, 0xB6F3A5E2\r
+};\r
+\r
+static cc_u32 SNOW2_T0[256]= {\r
+       0xa56363c6, 0x847c7cf8, 0x997777ee, 0x8d7b7bf6, 0x0df2f2ff, 0xbd6b6bd6, 0xb16f6fde, 0x54c5c591, \r
+       0x50303060, 0x03010102, 0xa96767ce, 0x7d2b2b56, 0x19fefee7, 0x62d7d7b5, 0xe6abab4d, 0x9a7676ec, \r
+       0x45caca8f, 0x9d82821f, 0x40c9c989, 0x877d7dfa, 0x15fafaef, 0xeb5959b2, 0xc947478e, 0x0bf0f0fb, \r
+       0xecadad41, 0x67d4d4b3, 0xfda2a25f, 0xeaafaf45, 0xbf9c9c23, 0xf7a4a453, 0x967272e4, 0x5bc0c09b, \r
+       0xc2b7b775, 0x1cfdfde1, 0xae93933d, 0x6a26264c, 0x5a36366c, 0x413f3f7e, 0x02f7f7f5, 0x4fcccc83, \r
+       0x5c343468, 0xf4a5a551, 0x34e5e5d1, 0x08f1f1f9, 0x937171e2, 0x73d8d8ab, 0x53313162, 0x3f15152a, \r
+       0x0c040408, 0x52c7c795, 0x65232346, 0x5ec3c39d, 0x28181830, 0xa1969637, 0x0f05050a, 0xb59a9a2f, \r
+       0x0907070e, 0x36121224, 0x9b80801b, 0x3de2e2df, 0x26ebebcd, 0x6927274e, 0xcdb2b27f, 0x9f7575ea, \r
+       0x1b090912, 0x9e83831d, 0x742c2c58, 0x2e1a1a34, 0x2d1b1b36, 0xb26e6edc, 0xee5a5ab4, 0xfba0a05b, \r
+       0xf65252a4, 0x4d3b3b76, 0x61d6d6b7, 0xceb3b37d, 0x7b292952, 0x3ee3e3dd, 0x712f2f5e, 0x97848413, \r
+       0xf55353a6, 0x68d1d1b9, 0x00000000, 0x2cededc1, 0x60202040, 0x1ffcfce3, 0xc8b1b179, 0xed5b5bb6, \r
+       0xbe6a6ad4, 0x46cbcb8d, 0xd9bebe67, 0x4b393972, 0xde4a4a94, 0xd44c4c98, 0xe85858b0, 0x4acfcf85, \r
+       0x6bd0d0bb, 0x2aefefc5, 0xe5aaaa4f, 0x16fbfbed, 0xc5434386, 0xd74d4d9a, 0x55333366, 0x94858511, \r
+       0xcf45458a, 0x10f9f9e9, 0x06020204, 0x817f7ffe, 0xf05050a0, 0x443c3c78, 0xba9f9f25, 0xe3a8a84b, \r
+       0xf35151a2, 0xfea3a35d, 0xc0404080, 0x8a8f8f05, 0xad92923f, 0xbc9d9d21, 0x48383870, 0x04f5f5f1, \r
+       0xdfbcbc63, 0xc1b6b677, 0x75dadaaf, 0x63212142, 0x30101020, 0x1affffe5, 0x0ef3f3fd, 0x6dd2d2bf, \r
+       0x4ccdcd81, 0x140c0c18, 0x35131326, 0x2fececc3, 0xe15f5fbe, 0xa2979735, 0xcc444488, 0x3917172e, \r
+       0x57c4c493, 0xf2a7a755, 0x827e7efc, 0x473d3d7a, 0xac6464c8, 0xe75d5dba, 0x2b191932, 0x957373e6, \r
+       0xa06060c0, 0x98818119, 0xd14f4f9e, 0x7fdcdca3, 0x66222244, 0x7e2a2a54, 0xab90903b, 0x8388880b, \r
+       0xca46468c, 0x29eeeec7, 0xd3b8b86b, 0x3c141428, 0x79dedea7, 0xe25e5ebc, 0x1d0b0b16, 0x76dbdbad, \r
+       0x3be0e0db, 0x56323264, 0x4e3a3a74, 0x1e0a0a14, 0xdb494992, 0x0a06060c, 0x6c242448, 0xe45c5cb8, \r
+       0x5dc2c29f, 0x6ed3d3bd, 0xefacac43, 0xa66262c4, 0xa8919139, 0xa4959531, 0x37e4e4d3, 0x8b7979f2, \r
+       0x32e7e7d5, 0x43c8c88b, 0x5937376e, 0xb76d6dda, 0x8c8d8d01, 0x64d5d5b1, 0xd24e4e9c, 0xe0a9a949, \r
+       0xb46c6cd8, 0xfa5656ac, 0x07f4f4f3, 0x25eaeacf, 0xaf6565ca, 0x8e7a7af4, 0xe9aeae47, 0x18080810, \r
+       0xd5baba6f, 0x887878f0, 0x6f25254a, 0x722e2e5c, 0x241c1c38, 0xf1a6a657, 0xc7b4b473, 0x51c6c697, \r
+       0x23e8e8cb, 0x7cdddda1, 0x9c7474e8, 0x211f1f3e, 0xdd4b4b96, 0xdcbdbd61, 0x868b8b0d, 0x858a8a0f, \r
+       0x907070e0, 0x423e3e7c, 0xc4b5b571, 0xaa6666cc, 0xd8484890, 0x05030306, 0x01f6f6f7, 0x120e0e1c, \r
+       0xa36161c2, 0x5f35356a, 0xf95757ae, 0xd0b9b969, 0x91868617, 0x58c1c199, 0x271d1d3a, 0xb99e9e27, \r
+       0x38e1e1d9, 0x13f8f8eb, 0xb398982b, 0x33111122, 0xbb6969d2, 0x70d9d9a9, 0x898e8e07, 0xa7949433, \r
+       0xb69b9b2d, 0x221e1e3c, 0x92878715, 0x20e9e9c9, 0x49cece87, 0xff5555aa, 0x78282850, 0x7adfdfa5, \r
+       0x8f8c8c03, 0xf8a1a159, 0x80898909, 0x170d0d1a, 0xdabfbf65, 0x31e6e6d7, 0xc6424284, 0xb86868d0, \r
+       0xc3414182, 0xb0999929, 0x772d2d5a, 0x110f0f1e, 0xcbb0b07b, 0xfc5454a8, 0xd6bbbb6d, 0x3a16162c\r
+};\r
+\r
+static cc_u32 SNOW2_T1[256]= {\r
+       0x6363c6a5, 0x7c7cf884, 0x7777ee99, 0x7b7bf68d, 0xf2f2ff0d, 0x6b6bd6bd, 0x6f6fdeb1, 0xc5c59154, \r
+       0x30306050, 0x01010203, 0x6767cea9, 0x2b2b567d, 0xfefee719, 0xd7d7b562, 0xabab4de6, 0x7676ec9a, \r
+       0xcaca8f45, 0x82821f9d, 0xc9c98940, 0x7d7dfa87, 0xfafaef15, 0x5959b2eb, 0x47478ec9, 0xf0f0fb0b, \r
+       0xadad41ec, 0xd4d4b367, 0xa2a25ffd, 0xafaf45ea, 0x9c9c23bf, 0xa4a453f7, 0x7272e496, 0xc0c09b5b, \r
+       0xb7b775c2, 0xfdfde11c, 0x93933dae, 0x26264c6a, 0x36366c5a, 0x3f3f7e41, 0xf7f7f502, 0xcccc834f, \r
+       0x3434685c, 0xa5a551f4, 0xe5e5d134, 0xf1f1f908, 0x7171e293, 0xd8d8ab73, 0x31316253, 0x15152a3f, \r
+       0x0404080c, 0xc7c79552, 0x23234665, 0xc3c39d5e, 0x18183028, 0x969637a1, 0x05050a0f, 0x9a9a2fb5, \r
+       0x07070e09, 0x12122436, 0x80801b9b, 0xe2e2df3d, 0xebebcd26, 0x27274e69, 0xb2b27fcd, 0x7575ea9f, \r
+       0x0909121b, 0x83831d9e, 0x2c2c5874, 0x1a1a342e, 0x1b1b362d, 0x6e6edcb2, 0x5a5ab4ee, 0xa0a05bfb, \r
+       0x5252a4f6, 0x3b3b764d, 0xd6d6b761, 0xb3b37dce, 0x2929527b, 0xe3e3dd3e, 0x2f2f5e71, 0x84841397, \r
+       0x5353a6f5, 0xd1d1b968, 0x00000000, 0xededc12c, 0x20204060, 0xfcfce31f, 0xb1b179c8, 0x5b5bb6ed, \r
+       0x6a6ad4be, 0xcbcb8d46, 0xbebe67d9, 0x3939724b, 0x4a4a94de, 0x4c4c98d4, 0x5858b0e8, 0xcfcf854a, \r
+       0xd0d0bb6b, 0xefefc52a, 0xaaaa4fe5, 0xfbfbed16, 0x434386c5, 0x4d4d9ad7, 0x33336655, 0x85851194, \r
+       0x45458acf, 0xf9f9e910, 0x02020406, 0x7f7ffe81, 0x5050a0f0, 0x3c3c7844, 0x9f9f25ba, 0xa8a84be3, \r
+       0x5151a2f3, 0xa3a35dfe, 0x404080c0, 0x8f8f058a, 0x92923fad, 0x9d9d21bc, 0x38387048, 0xf5f5f104, \r
+       0xbcbc63df, 0xb6b677c1, 0xdadaaf75, 0x21214263, 0x10102030, 0xffffe51a, 0xf3f3fd0e, 0xd2d2bf6d, \r
+       0xcdcd814c, 0x0c0c1814, 0x13132635, 0xececc32f, 0x5f5fbee1, 0x979735a2, 0x444488cc, 0x17172e39, \r
+       0xc4c49357, 0xa7a755f2, 0x7e7efc82, 0x3d3d7a47, 0x6464c8ac, 0x5d5dbae7, 0x1919322b, 0x7373e695, \r
+       0x6060c0a0, 0x81811998, 0x4f4f9ed1, 0xdcdca37f, 0x22224466, 0x2a2a547e, 0x90903bab, 0x88880b83, \r
+       0x46468cca, 0xeeeec729, 0xb8b86bd3, 0x1414283c, 0xdedea779, 0x5e5ebce2, 0x0b0b161d, 0xdbdbad76, \r
+       0xe0e0db3b, 0x32326456, 0x3a3a744e, 0x0a0a141e, 0x494992db, 0x06060c0a, 0x2424486c, 0x5c5cb8e4, \r
+       0xc2c29f5d, 0xd3d3bd6e, 0xacac43ef, 0x6262c4a6, 0x919139a8, 0x959531a4, 0xe4e4d337, 0x7979f28b, \r
+       0xe7e7d532, 0xc8c88b43, 0x37376e59, 0x6d6ddab7, 0x8d8d018c, 0xd5d5b164, 0x4e4e9cd2, 0xa9a949e0, \r
+       0x6c6cd8b4, 0x5656acfa, 0xf4f4f307, 0xeaeacf25, 0x6565caaf, 0x7a7af48e, 0xaeae47e9, 0x08081018, \r
+       0xbaba6fd5, 0x7878f088, 0x25254a6f, 0x2e2e5c72, 0x1c1c3824, 0xa6a657f1, 0xb4b473c7, 0xc6c69751, \r
+       0xe8e8cb23, 0xdddda17c, 0x7474e89c, 0x1f1f3e21, 0x4b4b96dd, 0xbdbd61dc, 0x8b8b0d86, 0x8a8a0f85, \r
+       0x7070e090, 0x3e3e7c42, 0xb5b571c4, 0x6666ccaa, 0x484890d8, 0x03030605, 0xf6f6f701, 0x0e0e1c12, \r
+       0x6161c2a3, 0x35356a5f, 0x5757aef9, 0xb9b969d0, 0x86861791, 0xc1c19958, 0x1d1d3a27, 0x9e9e27b9, \r
+       0xe1e1d938, 0xf8f8eb13, 0x98982bb3, 0x11112233, 0x6969d2bb, 0xd9d9a970, 0x8e8e0789, 0x949433a7, \r
+       0x9b9b2db6, 0x1e1e3c22, 0x87871592, 0xe9e9c920, 0xcece8749, 0x5555aaff, 0x28285078, 0xdfdfa57a, \r
+       0x8c8c038f, 0xa1a159f8, 0x89890980, 0x0d0d1a17, 0xbfbf65da, 0xe6e6d731, 0x424284c6, 0x6868d0b8, \r
+       0x414182c3, 0x999929b0, 0x2d2d5a77, 0x0f0f1e11, 0xb0b07bcb, 0x5454a8fc, 0xbbbb6dd6, 0x16162c3a\r
+};\r
+\r
+static cc_u32 SNOW2_T2[256]= {\r
+       0x63c6a563, 0x7cf8847c, 0x77ee9977, 0x7bf68d7b, 0xf2ff0df2, 0x6bd6bd6b, 0x6fdeb16f, 0xc59154c5, \r
+       0x30605030, 0x01020301, 0x67cea967, 0x2b567d2b, 0xfee719fe, 0xd7b562d7, 0xab4de6ab, 0x76ec9a76, \r
+       0xca8f45ca, 0x821f9d82, 0xc98940c9, 0x7dfa877d, 0xfaef15fa, 0x59b2eb59, 0x478ec947, 0xf0fb0bf0, \r
+       0xad41ecad, 0xd4b367d4, 0xa25ffda2, 0xaf45eaaf, 0x9c23bf9c, 0xa453f7a4, 0x72e49672, 0xc09b5bc0, \r
+       0xb775c2b7, 0xfde11cfd, 0x933dae93, 0x264c6a26, 0x366c5a36, 0x3f7e413f, 0xf7f502f7, 0xcc834fcc, \r
+       0x34685c34, 0xa551f4a5, 0xe5d134e5, 0xf1f908f1, 0x71e29371, 0xd8ab73d8, 0x31625331, 0x152a3f15, \r
+       0x04080c04, 0xc79552c7, 0x23466523, 0xc39d5ec3, 0x18302818, 0x9637a196, 0x050a0f05, 0x9a2fb59a, \r
+       0x070e0907, 0x12243612, 0x801b9b80, 0xe2df3de2, 0xebcd26eb, 0x274e6927, 0xb27fcdb2, 0x75ea9f75, \r
+       0x09121b09, 0x831d9e83, 0x2c58742c, 0x1a342e1a, 0x1b362d1b, 0x6edcb26e, 0x5ab4ee5a, 0xa05bfba0, \r
+       0x52a4f652, 0x3b764d3b, 0xd6b761d6, 0xb37dceb3, 0x29527b29, 0xe3dd3ee3, 0x2f5e712f, 0x84139784, \r
+       0x53a6f553, 0xd1b968d1, 0x00000000, 0xedc12ced, 0x20406020, 0xfce31ffc, 0xb179c8b1, 0x5bb6ed5b, \r
+       0x6ad4be6a, 0xcb8d46cb, 0xbe67d9be, 0x39724b39, 0x4a94de4a, 0x4c98d44c, 0x58b0e858, 0xcf854acf, \r
+       0xd0bb6bd0, 0xefc52aef, 0xaa4fe5aa, 0xfbed16fb, 0x4386c543, 0x4d9ad74d, 0x33665533, 0x85119485, \r
+       0x458acf45, 0xf9e910f9, 0x02040602, 0x7ffe817f, 0x50a0f050, 0x3c78443c, 0x9f25ba9f, 0xa84be3a8, \r
+       0x51a2f351, 0xa35dfea3, 0x4080c040, 0x8f058a8f, 0x923fad92, 0x9d21bc9d, 0x38704838, 0xf5f104f5, \r
+       0xbc63dfbc, 0xb677c1b6, 0xdaaf75da, 0x21426321, 0x10203010, 0xffe51aff, 0xf3fd0ef3, 0xd2bf6dd2, \r
+       0xcd814ccd, 0x0c18140c, 0x13263513, 0xecc32fec, 0x5fbee15f, 0x9735a297, 0x4488cc44, 0x172e3917, \r
+       0xc49357c4, 0xa755f2a7, 0x7efc827e, 0x3d7a473d, 0x64c8ac64, 0x5dbae75d, 0x19322b19, 0x73e69573, \r
+       0x60c0a060, 0x81199881, 0x4f9ed14f, 0xdca37fdc, 0x22446622, 0x2a547e2a, 0x903bab90, 0x880b8388, \r
+       0x468cca46, 0xeec729ee, 0xb86bd3b8, 0x14283c14, 0xdea779de, 0x5ebce25e, 0x0b161d0b, 0xdbad76db, \r
+       0xe0db3be0, 0x32645632, 0x3a744e3a, 0x0a141e0a, 0x4992db49, 0x060c0a06, 0x24486c24, 0x5cb8e45c, \r
+       0xc29f5dc2, 0xd3bd6ed3, 0xac43efac, 0x62c4a662, 0x9139a891, 0x9531a495, 0xe4d337e4, 0x79f28b79, \r
+       0xe7d532e7, 0xc88b43c8, 0x376e5937, 0x6ddab76d, 0x8d018c8d, 0xd5b164d5, 0x4e9cd24e, 0xa949e0a9, \r
+       0x6cd8b46c, 0x56acfa56, 0xf4f307f4, 0xeacf25ea, 0x65caaf65, 0x7af48e7a, 0xae47e9ae, 0x08101808, \r
+       0xba6fd5ba, 0x78f08878, 0x254a6f25, 0x2e5c722e, 0x1c38241c, 0xa657f1a6, 0xb473c7b4, 0xc69751c6, \r
+       0xe8cb23e8, 0xdda17cdd, 0x74e89c74, 0x1f3e211f, 0x4b96dd4b, 0xbd61dcbd, 0x8b0d868b, 0x8a0f858a, \r
+       0x70e09070, 0x3e7c423e, 0xb571c4b5, 0x66ccaa66, 0x4890d848, 0x03060503, 0xf6f701f6, 0x0e1c120e, \r
+       0x61c2a361, 0x356a5f35, 0x57aef957, 0xb969d0b9, 0x86179186, 0xc19958c1, 0x1d3a271d, 0x9e27b99e, \r
+       0xe1d938e1, 0xf8eb13f8, 0x982bb398, 0x11223311, 0x69d2bb69, 0xd9a970d9, 0x8e07898e, 0x9433a794, \r
+       0x9b2db69b, 0x1e3c221e, 0x87159287, 0xe9c920e9, 0xce8749ce, 0x55aaff55, 0x28507828, 0xdfa57adf, \r
+       0x8c038f8c, 0xa159f8a1, 0x89098089, 0x0d1a170d, 0xbf65dabf, 0xe6d731e6, 0x4284c642, 0x68d0b868, \r
+       0x4182c341, 0x9929b099, 0x2d5a772d, 0x0f1e110f, 0xb07bcbb0, 0x54a8fc54, 0xbb6dd6bb, 0x162c3a16\r
+};\r
+\r
+static cc_u32 SNOW2_T3[256]= {\r
+       0xc6a56363, 0xf8847c7c, 0xee997777, 0xf68d7b7b, 0xff0df2f2, 0xd6bd6b6b, 0xdeb16f6f, 0x9154c5c5, \r
+       0x60503030, 0x02030101, 0xcea96767, 0x567d2b2b, 0xe719fefe, 0xb562d7d7, 0x4de6abab, 0xec9a7676, \r
+       0x8f45caca, 0x1f9d8282, 0x8940c9c9, 0xfa877d7d, 0xef15fafa, 0xb2eb5959, 0x8ec94747, 0xfb0bf0f0, \r
+       0x41ecadad, 0xb367d4d4, 0x5ffda2a2, 0x45eaafaf, 0x23bf9c9c, 0x53f7a4a4, 0xe4967272, 0x9b5bc0c0, \r
+       0x75c2b7b7, 0xe11cfdfd, 0x3dae9393, 0x4c6a2626, 0x6c5a3636, 0x7e413f3f, 0xf502f7f7, 0x834fcccc, \r
+       0x685c3434, 0x51f4a5a5, 0xd134e5e5, 0xf908f1f1, 0xe2937171, 0xab73d8d8, 0x62533131, 0x2a3f1515, \r
+       0x080c0404, 0x9552c7c7, 0x46652323, 0x9d5ec3c3, 0x30281818, 0x37a19696, 0xa0f0505, 0x2fb59a9a, \r
+       0x0e090707, 0x24361212, 0x1b9b8080, 0xdf3de2e2, 0xcd26ebeb, 0x4e692727, 0x7fcdb2b2, 0xea9f7575, \r
+       0x121b0909, 0x1d9e8383, 0x58742c2c, 0x342e1a1a, 0x362d1b1b, 0xdcb26e6e, 0xb4ee5a5a, 0x5bfba0a0, \r
+       0xa4f65252, 0x764d3b3b, 0xb761d6d6, 0x7dceb3b3, 0x527b2929, 0xdd3ee3e3, 0x5e712f2f, 0x13978484, \r
+       0xa6f55353, 0xb968d1d1, 0x00000000, 0xc12ceded, 0x40602020, 0xe31ffcfc, 0x79c8b1b1, 0xb6ed5b5b, \r
+       0xd4be6a6a, 0x8d46cbcb, 0x67d9bebe, 0x724b3939, 0x94de4a4a, 0x98d44c4c, 0xb0e85858, 0x854acfcf, \r
+       0xbb6bd0d0, 0xc52aefef, 0x4fe5aaaa, 0xed16fbfb, 0x86c54343, 0x9ad74d4d, 0x66553333, 0x11948585, \r
+       0x8acf4545, 0xe910f9f9, 0x04060202, 0xfe817f7f, 0xa0f05050, 0x78443c3c, 0x25ba9f9f, 0x4be3a8a8, \r
+       0xa2f35151, 0x5dfea3a3, 0x80c04040, 0x058a8f8f, 0x3fad9292, 0x21bc9d9d, 0x70483838, 0xf104f5f5, \r
+       0x63dfbcbc, 0x77c1b6b6, 0xaf75dada, 0x42632121, 0x20301010, 0xe51affff, 0xfd0ef3f3, 0xbf6dd2d2, \r
+       0x814ccdcd, 0x18140c0c, 0x26351313, 0xc32fecec, 0xbee15f5f, 0x35a29797, 0x88cc4444, 0x2e391717, \r
+       0x9357c4c4, 0x55f2a7a7, 0xfc827e7e, 0x7a473d3d, 0xc8ac6464, 0xbae75d5d, 0x322b1919, 0xe6957373, \r
+       0xc0a06060, 0x19988181, 0x9ed14f4f, 0xa37fdcdc, 0x44662222, 0x547e2a2a, 0x3bab9090, 0x0b838888, \r
+       0x8cca4646, 0xc729eeee, 0x6bd3b8b8, 0x283c1414, 0xa779dede, 0xbce25e5e, 0x161d0b0b, 0xad76dbdb, \r
+       0xdb3be0e0, 0x64563232, 0x744e3a3a, 0x141e0a0a, 0x92db4949, 0x0c0a0606, 0x486c2424, 0xb8e45c5c, \r
+       0x9f5dc2c2, 0xbd6ed3d3, 0x43efacac, 0xc4a66262, 0x39a89191, 0x31a49595, 0xd337e4e4, 0xf28b7979, \r
+       0xd532e7e7, 0x8b43c8c8, 0x6e593737, 0xdab76d6d, 0x018c8d8d, 0xb164d5d5, 0x9cd24e4e, 0x49e0a9a9, \r
+       0xd8b46c6c, 0xacfa5656, 0xf307f4f4, 0xcf25eaea, 0xcaaf6565, 0xf48e7a7a, 0x47e9aeae, 0x10180808, \r
+       0x6fd5baba, 0xf0887878, 0x4a6f2525, 0x5c722e2e, 0x38241c1c, 0x57f1a6a6, 0x73c7b4b4, 0x9751c6c6, \r
+       0xcb23e8e8, 0xa17cdddd, 0xe89c7474, 0x3e211f1f, 0x96dd4b4b, 0x61dcbdbd, 0x0d868b8b, 0x0f858a8a, \r
+       0xe0907070, 0x7c423e3e, 0x71c4b5b5, 0xccaa6666, 0x90d84848, 0x06050303, 0xf701f6f6, 0x1c120e0e, \r
+       0xc2a36161, 0x6a5f3535, 0xaef95757, 0x69d0b9b9, 0x17918686, 0x9958c1c1, 0x3a271d1d, 0x27b99e9e, \r
+       0xd938e1e1, 0xeb13f8f8, 0x2bb39898, 0x22331111, 0xd2bb6969, 0xa970d9d9, 0x07898e8e, 0x33a79494, \r
+       0x2db69b9b, 0x3c221e1e, 0x15928787, 0xc920e9e9, 0x8749cece, 0xaaff5555, 0x50782828, 0xa57adfdf, \r
+       0x038f8c8c, 0x59f8a1a1, 0x09808989, 0x1a170d0d, 0x65dabfbf, 0xd731e6e6, 0x84c64242, 0xd0b86868, \r
+       0x82c34141, 0x29b09999, 0x5a772d2d, 0x1e110f0f, 0x7bcbb0b0, 0xa8fc5454, 0x6dd6bbbb, 0x2c3a1616\r
+};\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Macros\r
+////////////////////////////////////////////////////////////////////////////\r
+#define a_MUL(w)       (((w) << 8) ^ SNOW2_MUL_a[(w) >> 24])\r
+#define ainv_MUL(w)    (((w) >> 8) ^ SNOW2_MUL_ainverse[w & 0xff])\r
+\r
+#define BYTE0(w)       ( (w)            & 0xff)\r
+#define BYTE1(w)       (((w) >>  8) & 0xff)\r
+#define BYTE2(w)       (((w) >> 16) & 0xff)\r
+#define BYTE3(w)       (((w) >> 24) & 0xff)\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_SNOW2_Setup\r
+ * @brief      Setup FSM and s values\r
+ *\r
+ * @param      ctx                             [out]crypto context\r
+ * @param      UserKey                 [in]User Key, 128 or 256 bit\r
+ * @param      keyLen                  [in]byte-size of User Key, 16 or 32\r
+ * @param      IV                              [in]16 byte initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SNOW2_Setup(SDRM_SNOW2Context *ctx, cc_u8 *UserKey, cc_u32 keyLen, cc_u8 *IV)\r
+{\r
+       cc_u32 IV0, IV1, IV2, IV3;\r
+       cc_u32 *s = ctx->s;\r
+       cc_u32 r1, r2, i;\r
+       cc_u32 Ft, R1_next;\r
+\r
+       //test endian\r
+       i = 0xff;\r
+       ctx->endian = (*((cc_u8*)&i) == 0xff) ? CRYPTO_LITTLE_ENDIAN : CRYPTO_BIG_ENDIAN;\r
+\r
+       //Initialize IV\r
+       GET_UINT32(IV3, IV,  0)\r
+       GET_UINT32(IV2, IV,  4)\r
+       GET_UINT32(IV1, IV,  8)\r
+       GET_UINT32(IV0, IV, 12)\r
+\r
+       //Load Key\r
+       if (keyLen == 16) {\r
+               GET_UINT32(s[15], UserKey,  0)\r
+               GET_UINT32(s[14], UserKey,  4)\r
+               GET_UINT32(s[13], UserKey,  8)\r
+               GET_UINT32(s[12], UserKey, 12)\r
+               s[11] = ~s[15];\r
+               s[10] = ~s[14];\r
+               s[ 9] = ~s[13];\r
+               s[ 8] = ~s[12];\r
+               s[ 7] =  s[15];\r
+               s[ 6] =  s[14];\r
+               s[ 5] =  s[13];\r
+               s[ 4] =  s[12];\r
+               s[ 3] = ~s[15];\r
+               s[ 2] = ~s[14];\r
+               s[ 1] = ~s[13];\r
+               s[ 0] = ~s[12];\r
+       }\r
+       else {\r
+               GET_UINT32(s[15], UserKey,  0)\r
+               GET_UINT32(s[14], UserKey,  4)\r
+               GET_UINT32(s[13], UserKey,  8)\r
+               GET_UINT32(s[12], UserKey, 12)\r
+               GET_UINT32(s[11], UserKey, 16)\r
+               GET_UINT32(s[10], UserKey, 20)\r
+               GET_UINT32(s[ 9], UserKey, 24)\r
+               GET_UINT32(s[ 8], UserKey, 28)\r
+               s[ 7] = ~s[15];\r
+               s[ 6] = ~s[14];\r
+               s[ 5] = ~s[13];\r
+               s[ 4] = ~s[12];\r
+               s[ 3] = ~s[11];\r
+               s[ 2] = ~s[10];\r
+               s[ 1] = ~s[ 9];\r
+               s[ 0] = ~s[ 8];\r
+       }\r
+\r
+       s[15] ^= IV0;\r
+       s[12] ^= IV1;\r
+       s[10] ^= IV2;\r
+       s[ 9] ^= IV3;\r
+\r
+       r1 = 0;\r
+       r2 = 0;\r
+\r
+       // clock 32 times without producing any output\r
+       for (i = 0; i < 16; i++)\r
+       {\r
+               Ft = (r1 + s[(i - 1) & 0x0f]) ^ r2;\r
+               s[i] = a_MUL(s[i]) ^ s[(i + 2) & 0x0f] ^ ainv_MUL(s[(i + 11) & 0x0f]) ^ Ft;\r
+               R1_next = r2 + s[(i + 5) & 0x0f];\r
+               r2 = SNOW2_T0[BYTE0(r1)] ^ SNOW2_T1[BYTE1(r1)] ^ SNOW2_T2[BYTE2(r1)] ^ SNOW2_T3[BYTE3(r1)];\r
+               r1 = R1_next;\r
+       }\r
+\r
+       for (i = 0; i < 16; i++)\r
+       {\r
+               Ft = (r1 + s[(i - 1) & 0x0f]) ^ r2;\r
+               s[i] = a_MUL(s[i]) ^ s[(i + 2) & 0x0f] ^ ainv_MUL(s[(i + 11) & 0x0f]) ^ Ft;\r
+               R1_next = r2 + s[(i + 5) & 0x0f];\r
+               r2 = SNOW2_T0[BYTE0(r1)] ^ SNOW2_T1[BYTE1(r1)] ^ SNOW2_T2[BYTE2(r1)] ^ SNOW2_T3[BYTE3(r1)];\r
+               r1 = R1_next;\r
+       }\r
+\r
+       ctx->r1 = r1;\r
+       ctx->r2 = r2;\r
+\r
+       ctx->t = 0;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SNOW2_getKeyStream64\r
+ * @brief      get 64 byte key stream\r
+ *\r
+ * @param      ctx                             [out]crypto context\r
+ * @param      keyStream64             [in]generated key stream\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SNOW2_getKeyStream64(SDRM_SNOW2Context *ctx, cc_u32 *keyStream64)\r
+{\r
+       cc_u32 R1_next, i;\r
+       cc_u32 *s = ctx->s;\r
+       cc_u32 t = ctx->t;\r
+\r
+       for (i = t; i < t + 16; i++)\r
+       {\r
+               s[i & 0x0f] = a_MUL(s[i & 0x0f]) ^ s[(i + 2) & 0x0f] ^ ainv_MUL(s[(i + 11) & 0x0f]);\r
+               R1_next = ctx->r2 + s[(i + 5) & 0x0f];\r
+               ctx->r2 = SNOW2_T0[BYTE0(ctx->r1)] ^ SNOW2_T1[BYTE1(ctx->r1)] ^ SNOW2_T2[BYTE2(ctx->r1)] ^ SNOW2_T3[BYTE3(ctx->r1)];\r
+               ctx->r1 = R1_next;\r
+               \r
+               keyStream64[i] = (ctx->r1 + s[i & 0x0f]) ^ ctx->r2 ^ s[(i + 1) & 0x0f];\r
+       }\r
+\r
+       ctx->t = t & 0x0f;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         SDRM_SNOW2_getKeyStream\r
+ * @brief      get 4 byte key stream\r
+ *\r
+ * @param      ctx                             [out]crypto context\r
+ * @param      keyStream               [in]generated key stream\r
+ *\r
+ * @return     CRYPTO_SUCCESS  if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SNOW2_getKeyStream(SDRM_SNOW2Context *ctx, cc_u32 *keyStream)\r
+{\r
+       cc_u32 R1_next;\r
+       cc_u32 *s = ctx->s;\r
+       cc_u32 t = ctx->t;\r
+\r
+       s[t & 0x0f] = a_MUL(s[t & 0x0f]) ^ s[(t + 2) & 0x0f] ^ ainv_MUL(s[(t + 11) & 0x0f]);\r
+       R1_next = ctx->r2 + s[(t + 5) & 0x0f];\r
+       ctx->r2 = SNOW2_T0[BYTE0(ctx->r1)] ^ SNOW2_T1[BYTE1(ctx->r1)] ^ SNOW2_T2[BYTE2(ctx->r1)] ^ SNOW2_T3[BYTE3(ctx->r1)];\r
+       ctx->r1 = R1_next;\r
+       \r
+       *keyStream = (ctx->r1 + s[t & 0x0f]) ^ ctx->r2 ^ s[(t + 1) & 0x0f];\r
+\r
+       ctx->t = (t + 1) & 0x0f;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/middle/cmac.c b/SPC/Src/middle/cmac.c
new file mode 100755 (executable)
index 0000000..9f941c2
--- /dev/null
@@ -0,0 +1,260 @@
+/**\r
+ * \file       cmac.c\r
+ * @brief      funciton for c-mac code generation by AES-128\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/20\r
+ */\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "cmac.h"\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Constants\r
+////////////////////////////////////////////////////////////////////////////\r
+/*!    @brief  max block columns       */\r
+#define CMAC_MAXBC                             (256/32)\r
+\r
+/*!    @brief  max key columns         */\r
+#define CMAC_MAXKC                             (256/32)\r
+\r
+/*!    @brief  max rounds                      */\r
+#define CMAC_MAXROUNDS                 14\r
+\r
+/*!    @brief  constant - defined in OMAC1a(One-Key CBC MAC1, submitted by Iwata and Kurosawa) */\r
+static cc_u8 R_b[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87};\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_CMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen)\r
+ *\r
+ * @brief      Parameter setting for mac code generation\r
+ * @param      crt                                                     [out]crypto parameter\r
+ * @param      Key                                                     [in]user key\r
+ * @param      KeyLen                                          [in]byte-length of Key\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen)\r
+{\r
+       cc_u8   *K1, *K2, temp[16] = {0};\r
+       cc_u8   ZERO[16] = {0};\r
+       int             i;\r
+       cc_u32  *RoundKey;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->cmacctx == NULL) || (Key == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (KeyLen != 16)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       memset(crt->ctx->cmacctx->IV, 0, SDRM_AES_BLOCK_SIZ);\r
+\r
+       crt->ctx->cmacctx->BlockLen = 0;\r
+\r
+       RoundKey = (cc_u32*)(void*)(crt->ctx->cmacctx->RoundKey);\r
+       K1 = crt->ctx->cmacctx->K1;\r
+       K2 = crt->ctx->cmacctx->K2;\r
+\r
+       SDRM_rijndaelKeySetupEnc(RoundKey, Key, 128);\r
+\r
+       SDRM_rijndaelEncrypt(RoundKey, 10, ZERO, temp);\r
+\r
+       if((temp[0] >> 7) == 0x00)                                                      // L << 1\r
+       {\r
+               for (i = 0; i < 15; i++)\r
+               {\r
+                       K1[i] = (temp[i] << 1) | (temp[i+1] >> 7); \r
+               }\r
+               K1[15] = temp[i] << 1; \r
+       }\r
+       else if ((temp[0] >> 7) == 0x01)\r
+       {\r
+               for (i = 0; i < 15; i++)\r
+               {\r
+                       K1[i] = (temp[i] << 1) | (temp[i+1] >> 7); \r
+               }\r
+               K1[15] = temp[i] << 1; \r
+               BlockXor(K1, K1, R_b);\r
+       }\r
+\r
+       if((K1[0] >> 7) == 0x00)                                                        // K1 << 1\r
+       {\r
+               for (i = 0; i < 15; i++)\r
+               {\r
+                       K2[i] = (K1[i] << 1) | (K1[i+1] >> 7); \r
+               }\r
+               K2[15] = K1[i] << 1; \r
+       }\r
+       else if ((K1[0] >> 7) == 0x01)\r
+       {\r
+               for (i = 0; i < 15; i++)\r
+               {\r
+                       K2[i] = (K1[i] << 1) | (K1[i+1] >> 7); \r
+               }\r
+               K2[15] = K1[i] << 1; \r
+               BlockXor(K2, K2, R_b);\r
+       }\r
+\r
+//     LOG4DRM_BUFFER(&CryptoLogCTX), LOG_DEBUG, "K1", K1, 16); \r
+//     LOG4DRM_BUFFER(&CryptoLogCTX), LOG_DEBUG, "K2", K2, 16); \r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_CMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen)\r
+ * @brief      process data blocks\r
+ *\r
+ * @param      crt                                                     [out]crypto parameter\r
+ * @param      msg                                                     [in]data block\r
+ * @param      msgLen                                          [in]byte-length of Text\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen)\r
+{\r
+       int             Loop;\r
+       cc_u8   *ptr;\r
+\r
+       if (msgLen == 0)\r
+       {\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->cmacctx == NULL) || (msg == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (msgLen + crt->ctx->cmacctx->BlockLen <= SDRM_AES_BLOCK_SIZ)\r
+       {\r
+               memcpy(crt->ctx->cmacctx->Block + crt->ctx->cmacctx->BlockLen, msg, msgLen);\r
+               crt->ctx->cmacctx->BlockLen += msgLen;\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       memcpy(crt->ctx->cmacctx->Block + crt->ctx->cmacctx->BlockLen, msg, SDRM_AES_BLOCK_SIZ - crt->ctx->cmacctx->BlockLen);\r
+       SDRM_CBC_Enc(ID_AES128, crt->ctx->cmacctx->IV, crt->ctx->cmacctx->Block, crt->ctx->cmacctx->RoundKey, crt->ctx->cmacctx->IV);\r
+\r
+       Loop = (msgLen + crt->ctx->cmacctx->BlockLen - 1) / SDRM_AES_BLOCK_SIZ - 1;\r
+       ptr = msg + SDRM_AES_BLOCK_SIZ - crt->ctx->cmacctx->BlockLen;\r
+       crt->ctx->cmacctx->BlockLen = (cc_u32)(msg + msgLen - ptr) - Loop * SDRM_AES_BLOCK_SIZ;\r
+\r
+       while (Loop > 0)\r
+       {\r
+               SDRM_CBC_Enc(ID_AES128, crt->ctx->cmacctx->IV, ptr, crt->ctx->cmacctx->RoundKey, crt->ctx->cmacctx->IV);\r
+               Loop--;\r
+               ptr += SDRM_AES_BLOCK_SIZ;\r
+       }\r
+\r
+//     LOG4DRM_BUFFER(&CryptoLogCTX), LOG_DEBUG, "Block", crt->ctx->cmacctx->IV, 16); \r
+\r
+       memcpy(crt->ctx->cmacctx->Block, ptr, crt->ctx->cmacctx->BlockLen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_CMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen)\r
+ * @brief      process last data block\r
+ *\r
+ * @param      crt                                                     [in]crypto parameter\r
+ * @param      output                                          [out]generated MAC\r
+ * @param      outputLen                                       [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen)\r
+{\r
+       cc_u8 *K1, *K2;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->cmacctx == NULL) || (output == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       K1 = crt->ctx->cmacctx->K1;\r
+       K2 = crt->ctx->cmacctx->K2;\r
+\r
+       if (crt->ctx->cmacctx->BlockLen == SDRM_AES_BLOCK_SIZ)\r
+       {\r
+               BlockXor(crt->ctx->cmacctx->Block, crt->ctx->cmacctx->Block, K1);\r
+       }\r
+       else\r
+       {\r
+               crt->ctx->cmacctx->IV[crt->ctx->cmacctx->BlockLen] ^= 0x80;\r
+               BlockXor(crt->ctx->cmacctx->IV, crt->ctx->cmacctx->IV, K2);                                                     // input = input XOR K2\r
+               memset(crt->ctx->cmacctx->Block + crt->ctx->cmacctx->BlockLen, 0, SDRM_AES_BLOCK_SIZ - crt->ctx->cmacctx->BlockLen);\r
+       }\r
+\r
+       SDRM_CBC_Enc(ID_AES128, output, crt->ctx->cmacctx->Block, crt->ctx->cmacctx->RoundKey, crt->ctx->cmacctx->IV);\r
+\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = 16;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_CMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen)\r
+ * @brief      generate c-mac code\r
+ *\r
+ * @param      crt                                                     [in]crypto parameter\r
+ * @param      Key                                                     [in]user key\r
+ * @param      KeyLen                                          [in]byte-length of Key\r
+ * @param      msg                                                     [in]data block\r
+ * @param      msgLen                                          [in]byte-length of Text\r
+ * @param      output                                          [out]generated MAC\r
+ * @param      outputLen                                       [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen)\r
+{\r
+       int result;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->cmacctx == NULL) || (Key == NULL) || (output == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       result = SDRM_CMAC_init(crt, Key, KeyLen);\r
+       if (result != CRYPTO_SUCCESS)\r
+       {\r
+               return result;\r
+       }\r
+\r
+       result = SDRM_CMAC_update(crt, msg, msgLen);\r
+       if (result != CRYPTO_SUCCESS)\r
+       {\r
+                       return result;\r
+       }\r
+\r
+       return SDRM_CMAC_final(crt, output, outputLen);\r
+}\r
+\r
+/***************************** End of File *****************************/      \r
diff --git a/SPC/Src/middle/dh.c b/SPC/Src/middle/dh.c
new file mode 100755 (executable)
index 0000000..4317fbe
--- /dev/null
@@ -0,0 +1,332 @@
+/**\r
+ * \file       ecdh.c\r
+ * @brief      implementation of EC Diffie-Hellman Key Exchange Protocol\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/27\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "ANSI_x931.h"\r
+#include "bignum.h"\r
+#include "fast_math.h"\r
+#include "dh.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/**\r
+ * @fn         SDRM_GenerateDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned int* pGenerator)\r
+ * @brief      generate parameters for Diffie-Hellman protocol\r
+ *\r
+ * @param      [out] crt                               context\r
+ * @param      [out] pPrime                    prime number\r
+ * @param      [in]  nPrimeLen                 size of pPrime buffer\r
+ * @param      [out] pGenerator                generator value\r
+ *\r
+ * @return     int\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_GenerateDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned char* pGenerator)\r
+{\r
+       SDRM_DHContext* ctx;\r
+       cc_u32 Seed[4];\r
+       int i, sp, t1;\r
+       SDRM_BIG_NUM *p = NULL;\r
+       SDRM_BIG_NUM *g = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dhctx == NULL) || (pPrime == NULL) || (pGenerator == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       ctx = crt->ctx->dhctx;\r
+\r
+       p = SDRM_BN_Init(nPrimeLen / 2 + 1);\r
+       if (p == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       g = SDRM_BN_Init(nPrimeLen / 2 + 1);\r
+       if (g == NULL)\r
+       {\r
+               free(p);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       for (i = 0; i < 4; i++)\r
+       {\r
+               Seed[i] = (rand() << 16) ^ rand();\r
+       }\r
+\r
+       t1 = (nPrimeLen * 8 - 1) % 32;\r
+\r
+       //set security parameter for miller-rabin probabilistic primality test\r
+       if (nPrimeLen >= 128)\r
+       {\r
+               sp = 3;\r
+       }\r
+       else if (nPrimeLen >= 64)\r
+       {\r
+               sp = 5;\r
+       }\r
+       else if (nPrimeLen >= 15)\r
+       {\r
+               sp = 15;\r
+       }\r
+       else\r
+       {\r
+               sp = 30;\r
+       }\r
+\r
+       //generate p\r
+       p->Length = (nPrimeLen + 3) / 4;\r
+       do {\r
+               SDRM_RNG_X931((cc_u8 *)Seed, nPrimeLen * 8, (cc_u8*)p->pData);\r
+               p->pData[0] |= 1L;\r
+               p->pData[p->Length - 1] &= ~((-1L) << t1);\r
+               p->pData[p->Length - 1] |= (1L << t1);\r
+       } while(SDRM_BN_MILLER_RABIN(p, sp) != CRYPTO_ISPRIME);\r
+\r
+       SDRM_I2OSP(p, nPrimeLen, pPrime);\r
+\r
+       memset(pGenerator, 0x00, nPrimeLen - 1);\r
+       pGenerator[nPrimeLen - 1] = DH_DEFAULT_GENERATOR;\r
+\r
+       SDRM_OS2BN(pGenerator, nPrimeLen, g);\r
+\r
+       if (ctx->p != NULL)\r
+       {\r
+               free(ctx->p);\r
+       }\r
+       ctx->p = p;\r
+\r
+       if (ctx->g != NULL)\r
+       {\r
+               free(ctx->g);\r
+       }\r
+       ctx->g = g;\r
+\r
+       ctx->PrimeLen = nPrimeLen;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/**\r
+ * @fn         SDRM_SetDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned int pGenerator)\r
+ * @brief      set parameters for Diffie-Hellman protocol\r
+ *\r
+ * @param      [out] crt                               context\r
+ * @param      [in]  pPrime                    prime number\r
+ * @param      [in]  nPrimeLen                 size of pPrime buffer\r
+ * @param      [in]  pGenerator                generator value\r
+ *\r
+ * @return     int\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SetDHParam(CryptoCoreContainer* crt, unsigned char* pPrime, unsigned int nPrimeLen, unsigned char* pGenerator, unsigned int nGeneratorLen)\r
+{\r
+       SDRM_DHContext* ctx;\r
+       SDRM_BIG_NUM* p = NULL;\r
+       SDRM_BIG_NUM* g = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dhctx == NULL) || (pPrime == NULL) || (pGenerator == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       ctx = crt->ctx->dhctx;\r
+\r
+       p = SDRM_BN_Init(nPrimeLen / 2 + 1);\r
+       if (p == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       g = SDRM_BN_Init(nPrimeLen / 2 + 1);\r
+       if (g == NULL)\r
+       {\r
+               free(p);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       SDRM_OS2BN(pPrime, nPrimeLen, p);\r
+       SDRM_OS2BN(pGenerator, nGeneratorLen, g);\r
+\r
+       ctx->PrimeLen = nPrimeLen;\r
+       ctx->p = p;\r
+       ctx->g = g;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/**\r
+ * @fn         SDRM_GenerateDHPrivate(CryptoCoreContainer* crt, unsigned char* pPub)\r
+ * @brief      generate private value and calculate public value\r
+ *\r
+ * @param      [in]  crt                               context\r
+ * @param      [out] pPriv                             private value\r
+ * @param      [out] pPub                              public value\r
+ *\r
+ * @return     int\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_GenerateDHPrivate(CryptoCoreContainer* crt, unsigned char* pPriv, unsigned char* pPub)\r
+{\r
+       SDRM_DHContext* ctx;\r
+       cc_u32 Seed[4] = {0,};\r
+       int retVal;\r
+       SDRM_BIG_NUM* priv = NULL;\r
+       SDRM_BIG_NUM* pub = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dhctx == NULL) || (pPriv == NULL) || (pPub == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       ctx = crt->ctx->dhctx;\r
+\r
+       priv = SDRM_BN_Init(ctx->PrimeLen / 2 + 1);\r
+       if (priv == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       pub = SDRM_BN_Init(ctx->PrimeLen / 2 + 1);\r
+       if (pub == NULL)\r
+       {\r
+               free(priv);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       //generate priv\r
+       priv->Length = (ctx->PrimeLen + 3) / 4;\r
+       SDRM_RNG_X931((cc_u8 *)Seed, ctx->PrimeLen * 8, (cc_u8*)priv->pData);\r
+       SDRM_BN_ModRed(priv, priv, ctx->p);\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+       retVal = SDRM_BN_ModExp2(pub, ctx->g, priv, ctx->p);\r
+#else\r
+       retVal = SDRM_BN_ModExp(pub, ctx->g, priv, ctx->p);\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(priv);\r
+               free(pub);\r
+\r
+               return retVal;\r
+       }\r
+\r
+       SDRM_I2OSP(priv, ctx->PrimeLen, pPriv);\r
+       SDRM_I2OSP(pub, ctx->PrimeLen, pPub);\r
+\r
+       free(priv);\r
+       free(pub);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/**\r
+ * @fn         SDRM_GetDHSharedSecret(CryptoCoreContainer* crt, unsigned char* pPriv, unsigned char* pPub, unsigned char* pSharedSecret)\r
+ * @brief      calculate shared secret\r
+ *\r
+ * @param      [in]  crt                               context\r
+ * @param      [in]  Priv                              private value\r
+ * @param      [in]  pPub                              guest's public value\r
+ * @param      [out] pSharedSecret             public value\r
+ *\r
+ * @return     int\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_GetDHSharedSecret(CryptoCoreContainer* crt, unsigned char* pPriv, unsigned char* pPub, unsigned char* pSharedSecret)\r
+{\r
+       SDRM_DHContext* ctx;\r
+       SDRM_BIG_NUM* priv = NULL;\r
+       SDRM_BIG_NUM* pub = NULL;\r
+       SDRM_BIG_NUM* SharedSecret = NULL;\r
+       int retVal;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dhctx == NULL) || (pPriv == NULL) || (pPub == NULL) || (pSharedSecret == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       ctx = crt->ctx->dhctx;\r
+\r
+       priv = SDRM_BN_Init(ctx->PrimeLen / 2 + 1);\r
+       if (priv == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       pub = SDRM_BN_Init(ctx->PrimeLen / 2 + 1);\r
+       if (pub == NULL)\r
+       {\r
+               free(priv);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       SharedSecret = SDRM_BN_Init(ctx->PrimeLen / 2 + 1);\r
+       if (SharedSecret == NULL)\r
+       {\r
+               free(priv);\r
+               free(pub);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       SDRM_OS2BN(pPriv, ctx->PrimeLen, priv);\r
+       SDRM_OS2BN(pPub, ctx->PrimeLen, pub);\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+       retVal = SDRM_BN_ModExp2(SharedSecret, pub, priv, ctx->p);\r
+#else\r
+       retVal = SDRM_BN_ModExp(SharedSecret, pub, priv, ctx->p);\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(priv);\r
+               free(pub);\r
+               free(SharedSecret);\r
+\r
+               return retVal;\r
+       }\r
+\r
+       SDRM_I2OSP(SharedSecret, ctx->PrimeLen, pSharedSecret);\r
+\r
+       free(priv);\r
+       free(pub);\r
+       free(SharedSecret);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/**\r
+ * @fn         SDRM_FreeDHContext(CryptoCoreContainer* crt)\r
+ * @brief      free context buffer\r
+ *\r
+ * @param      [in]  crt                               context\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_FreeDHContext(SDRM_DHContext* ctx)\r
+{\r
+       if (ctx != NULL)\r
+       {\r
+               if (ctx->p != NULL)\r
+               {\r
+                       free(ctx->p);\r
+               }\r
+\r
+               if (ctx->g != NULL)\r
+               {\r
+                       free(ctx->g);\r
+               }\r
+\r
+               memset(ctx, 0x00, sizeof(SDRM_DHContext));\r
+       }\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/middle/dsa.c b/SPC/Src/middle/dsa.c
new file mode 100755 (executable)
index 0000000..d489c3f
--- /dev/null
@@ -0,0 +1,602 @@
+/**\r
+ * \file       dsa.c\r
+ * @brief      implementation of dsa signature/verifycation\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/23\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "dsa.h"\r
+#include "bignum.h"\r
+#include "sha1.h"\r
+#include "ANSI_x931.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_Add_DW2BA\r
+ * @brief      Add a UINT32 value to a Byte Array\r
+ *                     function works correctly only when dLen >= 4\r
+ *\r
+ * @param      BA                                              [i/o]byte array\r
+ * @param      dLen                                    [in]byte-length of BA\r
+ * @param      val                                             [in]value to add\r
+ *\r
+ * @return     void\r
+ */\r
+CRYPTOCORE_INTERNAL void SDRM_Add_DW2BA(cc_u8* BA, cc_u32 dLen, cc_u32 val)\r
+{\r
+       cc_u32 i, DIGIT = 0;\r
+\r
+       if (dLen >= 4)\r
+       {\r
+               DIGIT = BA[dLen - 4] ^ (BA[dLen - 3] << 8) ^ (BA[dLen - 2] << 16) ^ (BA[dLen - 1] << 24);\r
+               DIGIT += val;\r
+               BA[dLen - 4] = (cc_u8)(DIGIT      ) & 0xff;\r
+               BA[dLen - 3] = (cc_u8)(DIGIT >> 8 ) & 0xff;\r
+               BA[dLen - 2] = (cc_u8)(DIGIT >> 16) & 0xff;\r
+               BA[dLen - 1] = (cc_u8)(DIGIT >> 24) & 0xff;\r
+\r
+               if (DIGIT < val)\r
+               {\r
+                       for (i = dLen - 5; i != (cc_u32)-1; i--)\r
+                       {\r
+                               if (++BA[i] != 0) \r
+                               {\r
+                                       return;\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       return;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DSA_InitCrt\r
+ * @brief      generate DSA Context\r
+ *\r
+ * @return     pointer to the generated context\r
+ * \n          NULL    if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_DSAContext *SDRM_DSA_InitCrt()\r
+{\r
+       SDRM_DSAContext *ctx;\r
+       cc_u8                   *pbBuf = (cc_u8*)malloc(sizeof(SDRM_DSAContext) + SDRM_DSA_ALLOC_SIZE * 5);\r
+\r
+       if (pbBuf == NULL)\r
+       {\r
+               return NULL;\r
+       }\r
+\r
+       ctx             = (SDRM_DSAContext*)(void*)pbBuf;\r
+       ctx->p  = SDRM_BN_Alloc((cc_u8*)ctx        + sizeof(SDRM_DSAContext),   SDRM_DSA_BN_BUFSIZE);\r
+       ctx->q  = SDRM_BN_Alloc((cc_u8*)ctx->p  + SDRM_DSA_ALLOC_SIZE,          SDRM_DSA_BN_BUFSIZE);\r
+       ctx->al = SDRM_BN_Alloc((cc_u8*)ctx->q  + SDRM_DSA_ALLOC_SIZE,          SDRM_DSA_BN_BUFSIZE);\r
+       ctx->y  = SDRM_BN_Alloc((cc_u8*)ctx->al + SDRM_DSA_ALLOC_SIZE,          SDRM_DSA_BN_BUFSIZE);\r
+       ctx->a  = SDRM_BN_Alloc((cc_u8*)ctx->y  + SDRM_DSA_ALLOC_SIZE,          SDRM_DSA_BN_BUFSIZE);\r
+\r
+       return ctx;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_SetParam(CryptoCoreContainer *crt,\r
+                                cc_u8 *DSA_P_Data,     cc_u32 DSA_P_Len,\r
+                                cc_u8 *DSA_Q_Data,     cc_u32 DSA_Q_Len,\r
+                                cc_u8 *DSA_G_Data,     cc_u32 DSA_G_Len)\r
+ * @brief      set DSA parameters\r
+ *\r
+ * @param      crt                                                     [out]dsa context\r
+ * @param      DSA_P_Data                                      [in]octet string of p value\r
+ * @param      DSA_P_Len                                       [in]legnth of p_val\r
+ * @param      DSA_Q_Data                                      [in]octet string of q value\r
+ * @param      DSA_Q_Len                                       [in]legnth of q_val\r
+ * @param      DSA_G_Data                                      [in]octet string of al value\r
+ * @param      DSA_G_Len                                       [in]legnth of al_val\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if input parameter pointer is null\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_ERROR                            if conversion is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_SetParam(CryptoCoreContainer *crt,\r
+                                cc_u8 *DSA_P_Data,     cc_u32 DSA_P_Len,\r
+                                cc_u8 *DSA_Q_Data,     cc_u32 DSA_Q_Len,\r
+                                cc_u8 *DSA_G_Data,     cc_u32 DSA_G_Len)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL) || (DSA_P_Data == NULL) || (DSA_Q_Data == NULL) || (DSA_G_Data == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_OS2BN(DSA_P_Data, DSA_P_Len, crt->ctx->dsactx->p);\r
+       SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->dsactx->p);\r
+\r
+       SDRM_OS2BN(DSA_Q_Data, DSA_Q_Len, crt->ctx->dsactx->q);\r
+       SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->dsactx->q);\r
+\r
+       SDRM_OS2BN(DSA_G_Data, DSA_G_Len, crt->ctx->dsactx->al);\r
+       SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->dsactx->al);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_SetKeyPair(CryptoCoreContainer *crt,\r
+                                  cc_u8 *DSA_Y_Data,   cc_u32 DSA_Y_Len,\r
+                                  cc_u8 *DSA_X_Data,   cc_u32 DSA_X_Len)\r
+ * @brief      set DSA parameters\r
+ *\r
+ * @param      crt                                                     [out]dsa context\r
+ * @param      DSA_Y_Data                                      [in]octet string of y value\r
+ * @param      DSA_Y_Len                                       [in]legnth of y_val\r
+ * @param      DSA_X_Data                                      [in]octet string of a value\r
+ * @param      DSA_X_Len                                       [in]legnth of a_val\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if input parameter pointer is null\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_ERROR                            if conversion is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_SetKeyPair(CryptoCoreContainer *crt,\r
+                                  cc_u8 *DSA_Y_Data,   cc_u32 DSA_Y_Len,\r
+                                  cc_u8 *DSA_X_Data,   cc_u32 DSA_X_Len)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (DSA_Y_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(DSA_Y_Data, DSA_Y_Len, crt->ctx->dsactx->y);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->dsactx->y);\r
+       }\r
+\r
+       if (DSA_X_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(DSA_X_Data, DSA_X_Len, crt->ctx->dsactx->a);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->dsactx->a);\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_GenParam(CryptoCoreContainer *crt, cc_u32 T_Siz,\r
+                                cc_u8 *DSA_P_Data, cc_u32 *DSA_P_Len,\r
+                                cc_u8 *DSA_Q_Data, cc_u32 *DSA_Q_Len,\r
+                                cc_u8 *DSA_G_Data, cc_u32 *DSA_G_Len)\r
+ * @brief      generate and set DSA parameters\r
+ *\r
+ * @param      crt                                                     [out]dsa context\r
+ * @param      T_Siz                                           [in]fix the length of p to 512 + 64t bit (0 <= T_Siz <= 8)\r
+ * @param      DSA_P_Data                                      [out]octet string of p value\r
+ * @param      DSA_P_Len                                       [out]legnth of p_val\r
+ * @param      DSA_Q_Data                                      [out]octet string of q value\r
+ * @param      DSA_Q_Len                                       [out]legnth of q_val\r
+ * @param      DSA_G_Data                                      [out]octet string of al value\r
+ * @param      DSA_G_Len                                       [out]legnth of al_val\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if input parameter pointer is null\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_ERROR                            if conversion is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_GenParam(CryptoCoreContainer *crt, cc_u32 T_Siz,\r
+                                cc_u8 *DSA_P_Data, cc_u32 *DSA_P_Len,\r
+                                cc_u8 *DSA_Q_Data, cc_u32 *DSA_Q_Len,\r
+                                cc_u8 *DSA_G_Data, cc_u32 *DSA_G_Len)\r
+{\r
+       cc_u32                   i, k, L, n/*, g*/;\r
+       cc_u8                    pbTemp[260], pbSeed[64];\r
+       SDRM_SHA1Context ctx;\r
+       SDRM_BIG_NUM     /**BN_A, */*BN_G, *BN_P, *BN_Q, *BN_AL, *BN_Temp;\r
+       cc_u8                    *pbBuf = NULL;\r
+       \r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (T_Siz > 8)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       L = 512 + 64 * T_Siz;\r
+       n = (L - 1) / 160;\r
+//     g = (L - 1) % 160;\r
+\r
+\r
+       pbBuf = (cc_u8*)malloc(SDRM_DSA_ALLOC_SIZE * 2);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+       \r
+       BN_G    = SDRM_BN_Alloc((cc_u8*)pbBuf,                           SDRM_DSA_BN_BUFSIZE);\r
+       BN_Temp = SDRM_BN_Alloc((cc_u8*)BN_G + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+\r
+       BN_P  = crt->ctx->dsactx->p;\r
+       BN_Q  = crt->ctx->dsactx->q;\r
+       BN_AL = crt->ctx->dsactx->al;\r
+//     BN_A  = crt->ctx->dsactx->a;\r
+\r
+       //generate p and q\r
+       while(1)\r
+       {\r
+               do\r
+               {\r
+                       //choose a random seed s of bitlength g >= 160\r
+                       for (i = 0; i < SDRM_SHA1_BLOCK_SIZ; i++)\r
+                       {\r
+                               pbSeed[i] = (rand() << 16) ^ rand();\r
+                       }\r
+                       pbSeed[0] |= 0x80;\r
+                       pbSeed[SDRM_SHA1_BLOCK_SIZ - 1] |= 0x01;\r
+\r
+                       //U = H(s) xor H((s + 1) mod g)\r
+                       SDRM_SHA1_Init(&ctx);\r
+                       SDRM_SHA1_Update(&ctx, pbSeed, SDRM_SHA1_BLOCK_SIZ);\r
+                       SDRM_SHA1_Final(&ctx, pbTemp);\r
+\r
+                       SDRM_INC_BA(pbSeed, SDRM_SHA1_BLOCK_SIZ);\r
+\r
+                       SDRM_SHA1_Init(&ctx);\r
+                       SDRM_SHA1_Update(&ctx, pbSeed, SDRM_SHA1_BLOCK_SIZ);\r
+                       SDRM_SHA1_Final(&ctx, pbTemp + SDRM_SHA1_BLOCK_SIZ);\r
+\r
+                       for (i = 0; i < SDRM_SHA1_BLOCK_SIZ / sizeof(cc_u32); i++)\r
+                       {\r
+                               ((cc_u32*)(void*)pbTemp)[i] ^= ((cc_u32*)(void*)pbTemp)[i + SDRM_SHA1_BLOCK_SIZ / sizeof(cc_u32)];\r
+                       }\r
+\r
+                       pbTemp[0] |= 0x80;\r
+                       pbTemp[SDRM_SHA1_BLOCK_SIZ - 1] |= 0x01;\r
+\r
+                       SDRM_OS2BN(pbTemp, SDRM_SHA1_BLOCK_SIZ, BN_Q);\r
+               } while(SDRM_BN_MILLER_RABIN(BN_Q, 18) != CRYPTO_SUCCESS);\r
+\r
+               SDRM_INC_BA(pbSeed, SDRM_SHA1_BLOCK_SIZ);\r
+\r
+               for (i = 0; i < 4096; i++)\r
+               {\r
+                       for (k = 0; k <= n; k++)\r
+                       {\r
+                               SDRM_SHA1_Init(&ctx);\r
+                               SDRM_SHA1_Update(&ctx, pbSeed, SDRM_SHA1_BLOCK_SIZ);\r
+                               SDRM_SHA1_Final(&ctx, pbTemp + (n - k) * SDRM_SHA1_BLOCK_SIZ);\r
+                               SDRM_Add_DW2BA(pbSeed, SDRM_SHA1_BLOCK_SIZ, n + 2);\r
+                       }\r
+\r
+                       pbTemp[(n + 1) * SDRM_SHA1_BLOCK_SIZ - L / 8] |= 0x80;\r
+                       SDRM_OS2BN(pbTemp + (n + 1) * SDRM_SHA1_BLOCK_SIZ - L / 8, L / 8, BN_P);\r
+\r
+                       SDRM_BN_SHL(BN_Q, BN_Q, 1);\r
+                       SDRM_BN_ModRed(BN_Temp, BN_P, BN_Q);\r
+                       SDRM_BN_SHR(BN_Q, BN_Q, 1);\r
+                       SDRM_BN_Sub(BN_P, BN_P, BN_Temp);\r
+                       SDRM_BN_Add(BN_P, BN_P, BN_One);\r
+\r
+                       if (SDRM_CheckBitUINT32(BN_P->pData, L - 1))\r
+                       {\r
+                               if (SDRM_BN_MILLER_RABIN(BN_P, 5) == CRYPTO_ISPRIME)\r
+                               {\r
+                                       goto SUCCESS;\r
+                               }\r
+                               else\r
+                               {\r
+                                       break;\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+SUCCESS :\r
+       //select a generator al(alpha) of the unique cyclic group of order q in Zp\r
+       SDRM_BN_Clr(BN_Temp);\r
+       //temp = (p-1)/q\r
+       SDRM_BN_Sub(BN_Temp, BN_P, BN_One);\r
+       SDRM_BN_Div(BN_Temp, NULL, BN_Temp, BN_Q);\r
+\r
+       do {\r
+               //select an element g excluded in Zp*\r
+               do {\r
+                       SDRM_RNG_X931(pbSeed, L, (cc_u8*)BN_G->pData);\r
+                       BN_G->Length = L / 32 + 1;\r
+                       SDRM_BN_OPTIMIZE_LENGTH(BN_G);\r
+               } while(SDRM_BN_Cmp(BN_G, BN_P) >= 0);\r
+\r
+               //al(alpha) = g^temp mod p\r
+               SDRM_BN_ModExp(BN_AL, BN_G, BN_Temp, BN_P);\r
+       } while (SDRM_BN_Cmp(BN_AL, BN_One) == 0);\r
+\r
+       //write output\r
+       if (DSA_P_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(BN_P, L / 8, DSA_P_Data);\r
+       }\r
+\r
+       if (DSA_P_Len != NULL)\r
+       {\r
+               *DSA_P_Len = L / 8;\r
+       }\r
+\r
+       if (DSA_Q_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(BN_Q, 20, DSA_Q_Data);\r
+       }\r
+\r
+       if (DSA_Q_Len != NULL)\r
+       {\r
+               *DSA_Q_Len = 20;\r
+       }\r
+\r
+       if (DSA_G_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(BN_AL, BN_AL->Length * 4, DSA_G_Data);\r
+       }\r
+\r
+       if (DSA_G_Len != NULL)\r
+       {\r
+               *DSA_G_Len = BN_AL->Length * 4;\r
+       }\r
+       \r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_GenKeypair(CryptoCoreContainer *crt,\r
+                                           cc_u8 *DSA_Y_Data, cc_u32 *DSA_Y_Len,\r
+                                           cc_u8 *DSA_X_Data, cc_u32 *DSA_X_Len)\r
+ * @brief      generate and set DSA parameters\r
+ *\r
+ * @param      crt                                                     [out]dsa context\r
+ * @param      DSA_Y_Data                                      [out]octet string of y value\r
+ * @param      DSA_Y_Len                                       [out]legnth of y_val\r
+ * @param      DSA_X_Data                                      [out]octet string of a value\r
+ * @param      DSA_X_Len                                       [out]legnth of a_val\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if input parameter pointer is null\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_ERROR                            if conversion is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_GenKeypair(CryptoCoreContainer *crt,\r
+                                           cc_u8 *DSA_Y_Data, cc_u32 *DSA_Y_Len,\r
+                                           cc_u8 *DSA_X_Data, cc_u32 *DSA_X_Len)\r
+{\r
+       SDRM_BIG_NUM *BN_A;\r
+       cc_u32           Seed[4], i;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       BN_A = crt->ctx->dsactx->a;\r
+\r
+       for (i = 0; i < 4; i++)\r
+       {\r
+               Seed[i] = (rand() << 16) ^ rand();\r
+       }\r
+\r
+       //Select a random integer a such that 1 <= a <= q-1\r
+       do {\r
+               SDRM_RNG_X931((cc_u8*)Seed, 160, (cc_u8*)BN_A->pData);\r
+               BN_A->Length = 6;                                       //6 = 160 / 32 + 1\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_A);\r
+       } while(SDRM_BN_Cmp(BN_A, crt->ctx->dsactx->q) >= 0);\r
+\r
+       //y = al ^ a mod p\r
+       SDRM_BN_ModExp(crt->ctx->dsactx->y, crt->ctx->dsactx->al, BN_A, crt->ctx->dsactx->p);\r
+\r
+\r
+       //write output\r
+       if (DSA_Y_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->dsactx->y, crt->ctx->dsactx->y->Length * 4, DSA_Y_Data);\r
+       }\r
+\r
+       if (DSA_Y_Len != NULL)\r
+       {\r
+               *DSA_Y_Len = crt->ctx->dsactx->y->Length * 4;\r
+       }\r
+\r
+       if (DSA_X_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(BN_A, BN_A->Length * 4, DSA_X_Data);\r
+       }\r
+\r
+       if (DSA_X_Len != NULL)\r
+       {\r
+               *DSA_X_Len = BN_A->Length * 4;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen)\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                     [in]crypto env structure\r
+ * @param      hash                            [in]hash value\r
+ * @param      hashLen                         [in]byte-length of hash\r
+ * @param      signature                       [out]generated signature\r
+ * @param      signLen                         [out]byte-length of signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen)\r
+{\r
+       cc_u8            pbSeed[16] = {0};\r
+       SDRM_BIG_NUM *BN_P, *BN_Q, *BN_AL, *BN_A;\r
+       SDRM_BIG_NUM *BN_r, *BN_s, *BN_k, *BN_hash, *BN_ar, *temp1, *temp2;\r
+\r
+       cc_u8*  pbBuf = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL) || (crt->ctx->dsactx->a == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       pbBuf = (cc_u8*)malloc(SDRM_DSA_ALLOC_SIZE * 7);\r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_r    = SDRM_BN_Alloc( pbBuf,                          SDRM_DSA_BN_BUFSIZE);\r
+       BN_s    = SDRM_BN_Alloc((cc_u8*)BN_r    + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       BN_k    = SDRM_BN_Alloc((cc_u8*)BN_s    + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       BN_hash = SDRM_BN_Alloc((cc_u8*)BN_k    + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       BN_ar   = SDRM_BN_Alloc((cc_u8*)BN_hash + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       temp1   = SDRM_BN_Alloc((cc_u8*)BN_ar   + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       temp2   = SDRM_BN_Alloc((cc_u8*)temp1   + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+\r
+       BN_P  = crt->ctx->dsactx->p;\r
+       BN_Q  = crt->ctx->dsactx->q;\r
+       BN_AL = crt->ctx->dsactx->al;\r
+       BN_A  = crt->ctx->dsactx->a;\r
+\r
+       //select a random secret integer k, 0 < k < q\r
+       do {\r
+               SDRM_RNG_X931(pbSeed, 160, (cc_u8*)BN_k->pData);\r
+               BN_k->Length = 6;                                       //6 = 160 / 32 + 1\r
+               SDRM_BN_OPTIMIZE_LENGTH(BN_k);\r
+       } while(SDRM_BN_Cmp(BN_k, BN_Q) > 0);\r
+\r
+       SDRM_BN_ModExp(temp1, BN_AL, BN_k, BN_P);\r
+       //r = (al ^ k mod p) mod q\r
+       SDRM_BN_ModRed(BN_r, temp1, BN_Q);\r
+\r
+       SDRM_BN_ModInv(temp1, BN_k, BN_Q);\r
+\r
+       SDRM_OS2BN((cc_u8*)hash, hashLen, BN_hash);\r
+\r
+       SDRM_BN_Mul(BN_ar, BN_A, BN_r);\r
+       SDRM_BN_Add(temp2, BN_hash, BN_ar);\r
+\r
+       SDRM_BN_ModRed(temp2, temp2, BN_Q);\r
+\r
+       SDRM_BN_ModMul(BN_s, temp1, temp2, BN_Q);\r
+\r
+       SDRM_I2OSP(BN_r, 20, signature);\r
+       SDRM_I2OSP(BN_s, 20, signature + 20);\r
+\r
+       if (signLen != NULL)\r
+       {\r
+               *signLen = 40;\r
+       }\r
+\r
+       free(pbBuf);\r
+       \r
+       return CRYPTO_SUCCESS;\r
+ }\r
+\r
+/*\r
+ * @fn         int SDRM_DSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result)\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      hash                                    [in]hash value\r
+ * @param      hashLen                                 [in]byte-length of hash\r
+ * @param      signature                               [in]signature\r
+ * @param      signLen                                 [in]byte-length of signature\r
+ * @param      result                                  [in]result of veryfing signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if the length of signature is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result)\r
+{\r
+       SDRM_BIG_NUM *w, *u1, *u2, *v, *BNH_m, *BN_r, *BN_s;\r
+       SDRM_BIG_NUM *temp1, *temp2, *temp3;\r
+\r
+       cc_u8            *pbBuf = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->dsactx == NULL) || (crt->ctx->dsactx->y == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       pbBuf = (cc_u8*)malloc(SDRM_DSA_ALLOC_SIZE * 10);\r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       w         =     SDRM_BN_Alloc( pbBuf,                                 SDRM_DSA_BN_BUFSIZE);\r
+       u1        = SDRM_BN_Alloc((cc_u8*)w     + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       u2        = SDRM_BN_Alloc((cc_u8*)u1    + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       v         =     SDRM_BN_Alloc((cc_u8*)u2    + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       BNH_m = SDRM_BN_Alloc((cc_u8*)v     + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       BN_r  = SDRM_BN_Alloc((cc_u8*)BNH_m + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       BN_s  = SDRM_BN_Alloc((cc_u8*)BN_r  + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       temp1 = SDRM_BN_Alloc((cc_u8*)BN_s  + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       temp2 = SDRM_BN_Alloc((cc_u8*)temp1 + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+       temp3 = SDRM_BN_Alloc((cc_u8*)temp2 + SDRM_DSA_ALLOC_SIZE, SDRM_DSA_BN_BUFSIZE);\r
+\r
+\r
+       if ((SDRM_BN_Cmp(BN_r, crt->ctx->dsactx->q) >= 0) || (SDRM_BN_Cmp(BN_s, crt->ctx->dsactx->q) >= 0))                     //r < q and s < q\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_ERROR;\r
+       }\r
+\r
+       if (signLen != 40)\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+\r
+       SDRM_OS2BN((cc_u8*)signature,     20, BN_r);\r
+       SDRM_OS2BN((cc_u8*)signature + 20, 20, BN_s);\r
+\r
+\r
+       SDRM_BN_ModInv(w, BN_s, crt->ctx->dsactx->q);                                                   //w = s^-1 mod q\r
+       SDRM_OS2BN((cc_u8*)hash, 20, BNH_m);\r
+\r
+       SDRM_BN_ModMul(u1, w, BNH_m, crt->ctx->dsactx->q);                                              //u1 = w x h(m) mod q\r
+       SDRM_BN_ModMul(u2, BN_r, w, crt->ctx->dsactx->q);                                               //u2 = rw mod q\r
+\r
+       SDRM_BN_ModExp(temp1, crt->ctx->dsactx->al, u1, crt->ctx->dsactx->p);   //temp1 = alpha^u1 mod p\r
+       SDRM_BN_ModExp(temp2, crt->ctx->dsactx->y,  u2, crt->ctx->dsactx->p);   //temp2 = y^u2 mod p\r
+\r
+       SDRM_BN_ModMul(temp3, temp1, temp2, crt->ctx->dsactx->p);                               //temp3 = (alpha^u1 x y^u2 mod p) mod p\r
+\r
+       SDRM_BN_ModRed(v, temp3, crt->ctx->dsactx->q);                                                  //v = (alpha^u1 x y^u2 mod p) mod q\r
+\r
+//     SDRM_PrintBN("v    : ", v);\r
+//     SDRM_PrintBN("Hash : ", BNH_m);\r
+\r
+       if (SDRM_BN_Cmp(v, BN_r) == 0)\r
+       {\r
+               *result = CRYPTO_VALID_SIGN;\r
+       } else\r
+       {\r
+               *result = CRYPTO_INVALID_SIGN;\r
+       }\r
+\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/middle/ecdh.c b/SPC/Src/middle/ecdh.c
new file mode 100755 (executable)
index 0000000..0d9f410
--- /dev/null
@@ -0,0 +1,204 @@
+/**\r
+ * \file       ecdh.c\r
+ * @brief      implementation of EC Diffie-Hellman Key Exchange Protocol\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/27\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "ecdh.h"\r
+#include "ANSI_x931.h"\r
+#include "ecc.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_generateDH1stPhaseKey\r
+ * @brief      generate Xk and its Xv\r
+ *\r
+ * @param      crt                                     [in]crypto context\r
+ * @param      pchXk                           [out]Generated Random Number\r
+ * @param      pchXv                           [out]DH 1st phase value\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_generateDH1stPhaseKey(CryptoCoreContainer *crt, cc_u8 *pchXk, cc_u8 *pchXv)\r
+{\r
+       cc_u8 Si_ANSI_X9_31[SDRM_X931_SEED_SIZ];\r
+\r
+       SDRM_BIG_NUM    *BN_Xk, *BN_Temp;\r
+       SDRM_EC_POINT   *kP;\r
+       SDRM_ECC_CTX    *ctx;\r
+\r
+       int i;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdhctx == NULL) || (pchXk == NULL) || (pchXv == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       ctx = crt->ctx->ecdhctx;\r
+\r
+       for (i = 0; i < SDRM_X931_SEED_SIZ; i++)\r
+       {\r
+               Si_ANSI_X9_31[i] = ((rand() << 16) + rand()) & 0xff;\r
+       }\r
+\r
+\r
+       BN_Temp = SDRM_BN_Init(crt->ctx->ecdsactx->uDimension >> 3);\r
+       if (BN_Temp == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_Xk = SDRM_BN_Init(crt->ctx->ecdsactx->uDimension >> 3);\r
+       if (BN_Xk == NULL)\r
+       {\r
+               free(BN_Temp);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       SDRM_BN_Sub(BN_Temp, ctx->ECC_n, BN_One);\r
+       do {\r
+               SDRM_RNG_X931(Si_ANSI_X9_31, crt->ctx->ecdsactx->uDimension, pchXk);\r
+               SDRM_OS2BN(pchXk, crt->ctx->ecdsactx->uDimension >> 3,  BN_Xk);\r
+       } while ((SDRM_BN_Cmp(BN_Xk, BN_One) < 0) || (SDRM_BN_Cmp(BN_Xk, BN_Temp) > 0));\r
+\r
+       kP = SDRM_ECC_Init();\r
+       if (kP == NULL)\r
+       {\r
+               free(BN_Temp);\r
+               free(BN_Xk);\r
+\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       if (SDRM_CTX_EC_kP(ctx, kP, ctx->ECC_G, BN_Xk) == CRYPTO_MEMORY_ALLOC_FAIL)\r
+       {\r
+               free(BN_Temp);\r
+               free(BN_Xk);\r
+               free(kP);\r
+\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       SDRM_BN2OS(kP->x, crt->ctx->ecdsactx->uDimension >> 3, pchXv); \r
+       SDRM_BN2OS(kP->y, crt->ctx->ecdsactx->uDimension >> 3, pchXv + (crt->ctx->ecdsactx->uDimension >> 3));\r
+\r
+       free(BN_Temp);\r
+       free(BN_Xk);\r
+       free(kP);\r
+       \r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_generateDHKey\r
+ * @brief      genenrate auth key with Xk and Yv\r
+ *\r
+ * @param      crt                                     [in]crypto context\r
+ * @param      pchXk                           [in]Generated Random Number\r
+ * @param      pchYv                           [in]DH 1st phase value\r
+ * @param      pchKauth                        [out]authentication key\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_generateDHKey(CryptoCoreContainer *crt, cc_u8* pchXk, cc_u8* pchYv, cc_u8* pchKauth)\r
+{\r
+       SDRM_BIG_NUM    *BN_Xk;\r
+       SDRM_EC_POINT   *kP, *EC_Yv;\r
+       SDRM_ECC_CTX    *ctx;\r
+       int retVal;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdhctx == NULL) || (pchXk == NULL) || (pchYv == NULL) || (pchKauth == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       ctx = crt->ctx->ecdhctx;\r
+\r
+       BN_Xk = SDRM_BN_Init(crt->ctx->ecdsactx->uDimension >> 3);\r
+       if (BN_Xk == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       retVal = SDRM_OS2BN(pchXk, crt->ctx->ecdsactx->uDimension >> 3, BN_Xk);\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(BN_Xk);\r
+               return retVal;\r
+       }\r
+\r
+       kP = SDRM_ECC_Init();\r
+       if (kP == NULL)\r
+       {\r
+               free(BN_Xk);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       EC_Yv = SDRM_ECC_Init();\r
+       if (EC_Yv == NULL)\r
+       {\r
+               free(BN_Xk);\r
+               free(kP);\r
+\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       SDRM_EC_CLR(EC_Yv);\r
+       retVal = SDRM_OS2BN(pchYv, crt->ctx->ecdsactx->uDimension >> 3, EC_Yv->x);\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(BN_Xk);\r
+               free(kP);\r
+               free(EC_Yv);\r
+\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       retVal = SDRM_OS2BN(pchYv + (crt->ctx->ecdsactx->uDimension >> 3), crt->ctx->ecdsactx->uDimension >> 3, EC_Yv->y);\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(BN_Xk);\r
+               free(kP);\r
+               free(EC_Yv);\r
+\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+               \r
+       if (SDRM_CTX_EC_kP(ctx, kP, EC_Yv, BN_Xk) == CRYPTO_MEMORY_ALLOC_FAIL)\r
+       {\r
+               free(BN_Xk);\r
+               free(kP);\r
+               free(EC_Yv);\r
+\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       retVal = SDRM_BN2OS(kP->x, crt->ctx->ecdsactx->uDimension >> 3, pchKauth); \r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(BN_Xk);\r
+               free(kP);\r
+               free(EC_Yv);\r
+\r
+               return retVal;\r
+       }\r
+\r
+       free(BN_Xk);\r
+       free(kP);\r
+       free(EC_Yv);\r
+               \r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/middle/ecdsa.c b/SPC/Src/middle/ecdsa.c
new file mode 100755 (executable)
index 0000000..9c58f35
--- /dev/null
@@ -0,0 +1,664 @@
+/**\r
+ * \file       ecdsa.c\r
+ * @brief      implementation of public key signature algorithm\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/13\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#ifdef _WIN32_WCE\r
+#include <winbase.h>\r
+#endif\r
+#include <time.h>\r
+#include "ecdsa.h"\r
+#include "ANSI_x931.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_CTX_ECDSA_KEY_GEN\r
+ * @brief      generate signature\r
+ *\r
+ * @param      ctx                                                     [out]ecc context\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_NULL_POINTER                     if any argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_ECDSA_KEY_GEN(SDRM_ECC_CTX *ctx)\r
+{\r
+       int                             i, retVal;\r
+       cc_u32                  Seed[4];\r
+       SDRM_BIG_NUM    *BN_d, *BN_temp;\r
+       SDRM_EC_POINT   *kP;\r
+       \r
+       cc_u8                   *pbBuf = NULL;\r
+\r
+       if (ctx == NULL)\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+       \r
+       pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 2);\r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_d    = SDRM_BN_Alloc( pbBuf                                                  , SDRM_ECC_BN_BUFSIZE);\r
+       BN_temp = SDRM_BN_Alloc((cc_u8*)BN_d + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+\r
+       kP = SDRM_ECC_Init();\r
+       if (kP == NULL)\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       for (i = 0; i < 4; i++)\r
+       {\r
+               Seed[i] = (rand() << 16) ^ rand();\r
+       }\r
+\r
+       SDRM_BN_Sub(BN_temp, ctx->ECC_n, BN_One);\r
+       do {\r
+               SDRM_RNG_X931((cc_u8 *)Seed, ctx->uDimension, (cc_u8*)BN_d->pData);\r
+               BN_d->Length =  ctx->uDimension / 32;\r
+       } while ((SDRM_BN_Cmp(BN_d, BN_One) < 0) || (SDRM_BN_Cmp(BN_d, BN_temp) > 0));\r
+\r
+       SDRM_BN_OPTIMIZE_LENGTH(BN_d);\r
+\r
+       SDRM_EC_SET_ZERO(kP);\r
+       retVal = SDRM_CTX_EC_kP(ctx, kP, ctx->ECC_G, BN_d);\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               free(kP);\r
+\r
+               return retVal;\r
+       }\r
+\r
+       SDRM_BN_Copy(ctx->PRIV_KEY, BN_d);\r
+       SDRM_EC_COPY(ctx->PUBLIC_KEY, kP);\r
+\r
+       free(pbBuf);\r
+       free(kP);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CTX_ECDSA_SIG_GEN\r
+ * @brief      generate signature\r
+ *\r
+ * @param      ctx                                                     [in]ecc context\r
+ * @param      sig                                                     [out]generated signature\r
+ * @param      hash                                            [in]hashed message\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_NULL_POINTER                     if any argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_ECDSA_SIG_GEN(SDRM_ECC_CTX *ctx, cc_u8 *sig, cc_u8 *hash, unsigned int hashLen)\r
+{\r
+       int                             i, res = -1; \r
+       cc_u32                  Seed[20];\r
+       SDRM_BIG_NUM    *BN_Tmp1, *BN_Tmp2, *BN_Tmp3;\r
+       SDRM_BIG_NUM    *BN_k, *BN_r, *BN_s, *BN_hash; \r
+       SDRM_EC_POINT   *kP;\r
+\r
+       cc_u8                   *pbBuf = NULL;\r
+\r
+       if ((ctx== NULL) || (sig == NULL) || (hash == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 7);\r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_Tmp1 = SDRM_BN_Alloc( pbBuf,                                                           SDRM_ECC_BN_BUFSIZE);\r
+       BN_Tmp2 = SDRM_BN_Alloc((cc_u8*)BN_Tmp1 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       BN_Tmp3 = SDRM_BN_Alloc((cc_u8*)BN_Tmp2 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       BN_k    = SDRM_BN_Alloc((cc_u8*)BN_Tmp3 + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       BN_r    = SDRM_BN_Alloc((cc_u8*)BN_k    + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       BN_s    = SDRM_BN_Alloc((cc_u8*)BN_r    + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       BN_hash = SDRM_BN_Alloc((cc_u8*)BN_s    + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+\r
+       kP = SDRM_ECC_Init();\r
+       if (kP == NULL)\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       for (i = 0; i < 4; i++)\r
+       {\r
+               Seed[i] = (rand() << 16) ^ rand();\r
+       }\r
+\r
+       while(1)\r
+       {\r
+               while(1)\r
+               {\r
+                       //      1. [1, r-1] »çÀÌÀÇ ³­¼ö k ¼±ÅÃ\r
+                       SDRM_BN_Sub(BN_Tmp1, ctx->ECC_n, BN_One);\r
+                       do {\r
+                               SDRM_RNG_X931((cc_u8 *)Seed, ctx->uDimension, (cc_u8*)BN_k->pData);\r
+                               BN_k->Length = ctx->uDimension / 32;\r
+                       } while((SDRM_BN_Cmp(BN_k, BN_One) < 0) || (SDRM_BN_Cmp(BN_k, BN_Tmp1) > 0));\r
+\r
+                       //      2. kP = (x1, y1), r = x1 mod n(&ctx.ECC_n) °è»ê. r = 0 À̸é k ´Ù½Ã ¼±Åà\r
+                       SDRM_EC_SET_ZERO(kP);\r
+                       res = SDRM_CTX_EC_kP(ctx, kP, ctx->ECC_G, BN_k);\r
+                       if (res != CRYPTO_SUCCESS)\r
+                       {\r
+                               free(pbBuf);\r
+                               free(kP);\r
+\r
+                               return res;\r
+                       }\r
+\r
+                       //SDRM_PrintBN("kP->x", kP->x); \r
+                       SDRM_BN_ModRed(BN_r, kP->x, ctx->ECC_n);        \r
+                       if (BN_r->Length > 0)           // r = 0 À̸é k ´Ù½Ã ¼±ÅÃ\r
+                       {\r
+                               break;\r
+                       }\r
+               }\r
+\r
+       //      3. k^{-1} mod n °è»ê.\r
+               SDRM_BN_ModInv(BN_Tmp1, BN_k, ctx->ECC_n);\r
+\r
+               //SDRM_PrintBN("BN_k", BN_k); \r
+               //SDRM_PrintBN("ctx->ECC_n", ctx->ECC_n); \r
+               //SDRM_PrintBN("BN_Tmp1 = k^{-1} mod n", BN_Tmp1); \r
+\r
+       //      4. s = k^{-1}(hash + dr) mod n °è»ê (d = private key). s = 0 À̸é 1¹øÀ¸·Î. \r
+               // BN_Tmp2 = dr\r
+               SDRM_OS2BN(hash, hashLen, BN_hash); \r
+\r
+               SDRM_BN_ModMul(BN_Tmp2, ctx->PRIV_KEY, BN_r, ctx->ECC_n);\r
+               SDRM_BN_ModAdd(BN_Tmp3, BN_hash, BN_Tmp2, ctx->ECC_n);\r
+               SDRM_BN_ModMul(BN_s, BN_Tmp1, BN_Tmp3, ctx->ECC_n);\r
+               if (BN_s->Length > 0)\r
+               {\r
+                       break;\r
+               }\r
+       }\r
+\r
+//     (r, s) ¼­¸íÀ¸·Î Ãâ·Â.\r
+       //SDRM_PrintBN("BN_r", BN_r);\r
+       //SDRM_PrintBN("BN_s", BN_s);\r
+\r
+       SDRM_BN2OS(BN_r, ctx->uDimension / 8, sig);\r
+       SDRM_BN2OS(BN_s, ctx->uDimension / 8, sig + ctx->uDimension / 8);\r
+\r
+       free(kP);\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS; \r
+}\r
+\r
+/*\r
+ * @fn         SDRM_CTX_ECDSA_SIG_VERIFY\r
+ * @brief      verify ecdsa signature\r
+ *\r
+ * @param      ctx                                                     [in]ecc context\r
+ * @param      sig                                                     [out]generated signature\r
+ * @param      signLen                                         [out]byte-length of signature\r
+ * @param      hash                                            [in]hash value\r
+ * @param      hashLen                                         [in]byte-length of hash\r
+ *\r
+ * @return     CRYPTO_VALID_SIGN                       if given signature is valid\r
+ * \n          CRYPTO_INVALID_SIGN                     if given signature is invalid\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ * \n          CRYPTO_INVALID_ARGUMENT         if any argument is out of range\r
+ * \n          CRYPTO_INFINITY_INPUT           if given argument represents an infinity value\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_CTX_ECDSA_SIG_VERIFY(SDRM_ECC_CTX *ctx, cc_u8 *sig, int signLen, cc_u8 *hash, int hashLen)\r
+{\r
+       int                             res;\r
+       SDRM_BIG_NUM    *BN_tmp, *BN_u1, *BN_u2, *BN_w, *BN_hash, *pBN_r, *pBN_s;\r
+       SDRM_EC_POINT   *EC_temp1, *EC_temp2; \r
+\r
+       cc_u8 *pbBuf = (cc_u8*)malloc(SDRM_ECC_ALLOC_SIZE * 7);\r
+       \r
+       if (!pbBuf)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+       \r
+       BN_tmp  = SDRM_BN_Alloc( pbBuf,                                                          SDRM_ECC_BN_BUFSIZE);\r
+       BN_u1   = SDRM_BN_Alloc((cc_u8*)BN_tmp + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       BN_u2   = SDRM_BN_Alloc((cc_u8*)BN_u1  + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       BN_w    = SDRM_BN_Alloc((cc_u8*)BN_u2  + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       BN_hash = SDRM_BN_Alloc((cc_u8*)BN_w   + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       pBN_r   = SDRM_BN_Alloc((cc_u8*)BN_hash+ SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       pBN_s   = SDRM_BN_Alloc((cc_u8*)pBN_r  + SDRM_ECC_ALLOC_SIZE, SDRM_ECC_BN_BUFSIZE);\r
+       \r
+       EC_temp1 = SDRM_ECC_Init();\r
+       if (EC_temp1 == NULL)\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       EC_temp2 = SDRM_ECC_Init();\r
+       if (EC_temp2 == NULL)\r
+       {\r
+               free(pbBuf);\r
+               free(EC_temp1);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       if ((cc_u32)signLen != (ctx->uDimension / 4))\r
+       {\r
+               free(pbBuf);\r
+               free(EC_temp1);\r
+               free(EC_temp2);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       SDRM_OS2BN(sig, ctx->uDimension / 8, pBN_r);    \r
+       SDRM_OS2BN(sig + ctx->uDimension / 8, ctx->uDimension / 8, pBN_s);      \r
+       //SDRM_PrintBN("BN_r", pBN_r);\r
+       //SDRM_PrintBN("BN_s", pBN_s);\r
+\r
+       //      1. r°ú sÀÇ ¹üÀ§ Á¶»ç \r
+       SDRM_BN_Sub(BN_tmp, ctx->ECC_n, BN_One);\r
+       if ((SDRM_BN_Cmp(pBN_r, BN_One) < 0) || (SDRM_BN_Cmp(pBN_r, BN_tmp) > 0))\r
+       {\r
+               free(pbBuf);\r
+               free(EC_temp1);\r
+               free(EC_temp2);\r
+\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if ((SDRM_BN_Cmp(pBN_s, BN_One) < 0) || (SDRM_BN_Cmp(pBN_s, BN_tmp) > 0))\r
+       {\r
+               free(pbBuf);\r
+               free(EC_temp1);\r
+               free(EC_temp2);\r
+\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+       \r
+       //      2. w = s^(-1) mod n, BN_hash °è»ê \r
+       SDRM_OS2BN(hash, hashLen, BN_hash); \r
+       res = SDRM_BN_ModInv(BN_w, pBN_s, ctx->ECC_n);\r
+//SDRM_PrintBN("BN_w", BN_w);\r
+\r
+       if (res != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               free(EC_temp1);\r
+               free(EC_temp2);\r
+\r
+               return res;\r
+       }\r
+\r
+       //      3. u1 = BN_hash *w mod n, u2 = rw mod n\r
+       SDRM_BN_ModMul(BN_u1, BN_hash, BN_w, ctx->ECC_n);                       \r
+       SDRM_BN_ModMul(BN_u2, pBN_r,   BN_w, ctx->ECC_n);\r
+//SDRM_PrintBN("BN_u1", BN_u1);\r
+//SDRM_PrintBN("BN_u2", BN_u2);\r
+\r
+       //      4. (x0, y0) = u1P + u2Q, V = x0 mod n\r
+       res = SDRM_CTX_EC_2kP(ctx, EC_temp1, BN_u1, ctx->ECC_G, BN_u2, ctx->PUBLIC_KEY);\r
+       if (res != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               free(EC_temp1);\r
+               free(EC_temp2);\r
+\r
+               return res;\r
+       }\r
+       else if(EC_temp1->IsInfinity == 1)\r
+       {\r
+               res = CRYPTO_INFINITY_INPUT;\r
+               free(pbBuf);\r
+               free(EC_temp1);\r
+               free(EC_temp2);\r
+\r
+               return res;\r
+       }\r
+       \r
+//     SDRM_PrintBN("EC_temp1->x", EC_temp1->x);\r
+//     SDRM_PrintBN("ctx->ECC_n", ctx->ECC_n);\r
+       SDRM_BN_ModRed(BN_tmp, EC_temp1->x, ctx->ECC_n);        \r
+\r
+//     SDRM_PrintBN("BN_tmp", BN_tmp);\r
+//     SDRM_PrintBN("pBN_r", pBN_r);\r
+       // 5. V = rÀΠ°æ¿ì ¼­¸í ok\r
+       res = SDRM_BN_Cmp_sign(BN_tmp, pBN_r);\r
+       if (res != 0)\r
+       {\r
+               res = CRYPTO_INVALID_SIGN;\r
+               free(pbBuf);\r
+               free(EC_temp1);\r
+               free(EC_temp2);\r
+\r
+               return res; \r
+       }\r
+\r
+       //Success\r
+       free(pbBuf);\r
+       free(EC_temp1);\r
+       free(EC_temp2);\r
+\r
+       return CRYPTO_VALID_SIGN; \r
+}\r
+\r
+/*\r
+ * @fn         SDRM_ECDSA_sign\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                     [in]crypto env structure\r
+ * @param      hash                            [in]hash value\r
+ * @param      hashLen                         [in]byte-length of hash\r
+ * @param      signature                       [out]generated signature\r
+ * @param      signLen                         [out]byte-length of signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECDSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdsactx == NULL) || (hash == NULL) || (signature == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (signLen)\r
+       {\r
+               *signLen = crt->ctx->ecdsactx->uDimension / 4;\r
+       }\r
+\r
+       return SDRM_CTX_ECDSA_SIG_GEN(crt->ctx->ecdsactx, signature, hash, hashLen);\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_ECDSA_verify\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      hash                                    [in]hash value\r
+ * @param      hashLen                                 [in]byte-length of hash\r
+ * @param      signature                               [in]signature\r
+ * @param      signLen                                 [in]byte-length of signature\r
+ * @param      result                                  [in]result of veryfing signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if the length of signature is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECDSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result)\r
+{\r
+       int retVal;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdsactx == NULL) || (hash == NULL) || (signature == NULL) || (result == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (signLen != (crt->ctx->ecdsactx->uDimension / 4))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       retVal = SDRM_CTX_ECDSA_SIG_VERIFY(crt->ctx->ecdsactx, signature, signLen, hash, hashLen);\r
+\r
+       if (retVal == CRYPTO_VALID_SIGN)\r
+       {\r
+               *result = CRYPTO_VALID_SIGN;\r
+       }\r
+       else\r
+       {\r
+               *result = CRYPTO_INVALID_SIGN;\r
+       }\r
+\r
+       return retVal;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_ECC_Set_CTX\r
+ * @brief      Set parameters for ECC\r
+ *\r
+ * @param      crt                                     [out]crypto env structure\r
+ * @param      Dimension                       [in]dimension\r
+ * @param      ECC_P_Data                      [in]represents p\r
+ * @param      ECC_P_Len                       [in]byte-length of p\r
+ * @param      ECC_A_Data                      [in]represents a\r
+ * @param      ECC_A_Len                       [in]byte-length of a\r
+ * @param      ECC_B_Data                      [in]represents b\r
+ * @param      ECC_B_Len                       [in]byte-length of b\r
+ * @param      ECC_G_X_Data            [in]represents x coordinate of g\r
+ * @param      ECC_G_X_Len                     [in]byte-length of x coordinate of g\r
+ * @param      ECC_G_Y_Data            [in]represents y coordinate of g\r
+ * @param      ECC_G_Y_Len                     [in]byte-length of y coordinate of g\r
+ * @param      ECC_R_Data                      [in]represents r\r
+ * @param      ECC_R_Len                       [in]byte-length of r\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if argument is null\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECC_Set_CTX(CryptoCoreContainer *crt, cc_u16 Dimension, \r
+                                        cc_u8* ECC_P_Data,   cc_u32 ECC_P_Len,\r
+                                        cc_u8* ECC_A_Data,   cc_u32 ECC_A_Len,\r
+                                        cc_u8* ECC_B_Data,   cc_u32 ECC_B_Len,\r
+                                        cc_u8* ECC_G_X_Data, cc_u32 ECC_G_X_Len,\r
+                                        cc_u8* ECC_G_Y_Data, cc_u32 ECC_G_Y_Len,\r
+                                        cc_u8* ECC_R_Data,   cc_u32 ECC_R_Len)\r
+{\r
+       int                             retVal;\r
+       cc_u8                   zero[] = {0x00};\r
+       SDRM_ECC_CTX    *ECC_ctx;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdsactx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if ((ECC_P_Data == NULL) || (ECC_A_Data == NULL) || (ECC_B_Data == NULL) || (ECC_G_X_Data == NULL) || (ECC_G_Y_Data == NULL) || (ECC_R_Data == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       ECC_ctx = crt->ctx->ecdhctx;\r
+\r
+       ECC_ctx->uDimension = Dimension;\r
+\r
+       retVal = SDRM_OS2BN(ECC_P_Data, ECC_P_Len, ECC_ctx->ECC_p); \r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(ECC_ctx);\r
+               return retVal;\r
+       }\r
+\r
+       retVal = SDRM_OS2BN(ECC_A_Data, ECC_A_Len, ECC_ctx->ECC_a); \r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(ECC_ctx);\r
+               return retVal;\r
+       }\r
+\r
+       retVal = SDRM_OS2BN(ECC_B_Data, ECC_B_Len, ECC_ctx->ECC_b); \r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(ECC_ctx);\r
+               return retVal;\r
+       }\r
+\r
+       retVal = SDRM_OS2BN(ECC_R_Data, ECC_R_Len, ECC_ctx->ECC_n); \r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(ECC_ctx);\r
+               return retVal;\r
+       }\r
+       \r
+       ECC_ctx->ECC_G->IsInfinity = 0;\r
+       retVal = SDRM_OS2BN(ECC_G_X_Data, ECC_G_X_Len, ECC_ctx->ECC_G->x); \r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(ECC_ctx);\r
+               return retVal;\r
+       }\r
+       retVal = SDRM_OS2BN(ECC_G_Y_Data, ECC_G_Y_Len, ECC_ctx->ECC_G->y);      \r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(ECC_ctx);\r
+               return retVal;\r
+       }\r
+\r
+       SDRM_OS2BN(zero, 0, ECC_ctx->ECC_G->z);\r
+       SDRM_OS2BN(zero, 0, ECC_ctx->ECC_G->z2);\r
+       SDRM_OS2BN(zero, 0, ECC_ctx->ECC_G->z3);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_ECC_genKeypair\r
+ * @brief      Generate Private Key and Generate Key Pair for ECC Signature\r
+ *\r
+ * @param      crt                                     [out]crypto env structure\r
+ * @param      PrivateKey                      [in]represents x coordinate of public key\r
+ * @param      PrivateKeyLen           [in]byte-length of x coordinate of public key\r
+ * @param      PublicKey_X                     [in]represents x coordinate of public key\r
+ * @param      PublicKey_XLen          [in]byte-length of x coordinate of public key\r
+ * @param      PublicKey_Y                     [in]represents y coordinate of public key\r
+ * @param      PublicKey_YLen          [in]byte-length of y coordinate of public key\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if argument is null\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECC_genKeypair (CryptoCoreContainer *crt,\r
+                                                cc_u8 *PrivateKey,  cc_u32 *PrivateKeyLen, \r
+                                                cc_u8 *PublicKey_X, cc_u32 *PublicKey_XLen,\r
+                                                cc_u8 *PublicKey_Y, cc_u32 *PublicKey_YLen)\r
+{\r
+       int retVal;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdsactx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       retVal = SDRM_CTX_ECDSA_KEY_GEN(crt->ctx->ecdsactx);\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               return retVal;\r
+       }\r
+\r
+       if (PrivateKey != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->ecdsactx->PRIV_KEY, crt->ctx->ecdsactx->uDimension / 8, PrivateKey);\r
+       }\r
+\r
+       if (PrivateKeyLen != NULL)\r
+       {\r
+               *PrivateKeyLen = crt->ctx->ecdsactx->uDimension / 8;\r
+       }\r
+\r
+       if (PublicKey_X != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->ecdsactx->PUBLIC_KEY->x, crt->ctx->ecdsactx->uDimension / 8, PublicKey_X);\r
+       }\r
+\r
+       if (PublicKey_XLen != NULL)\r
+       {\r
+               *PublicKey_XLen = crt->ctx->ecdsactx->uDimension / 8;\r
+       }\r
+\r
+       if (PublicKey_Y != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->ecdsactx->PUBLIC_KEY->y, crt->ctx->ecdsactx->uDimension / 8, PublicKey_Y);\r
+       }\r
+\r
+       if (PublicKey_YLen != NULL)\r
+       {\r
+               *PublicKey_YLen = crt->ctx->ecdsactx->uDimension / 8;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_ECC_setKeypair\r
+ * @brief      Set key data for ECC\r
+ *\r
+ * @param      crt                                     [out]crypto env structure\r
+ * @param      PRIV_Data                       [in]represents private key\r
+ * @param      PRIV_Len                        [in]byte-length of private key\r
+ * @param      PUB_X_Data                      [in]represents x coordinate of public key\r
+ * @param      PUB_X_Len                       [in]byte-length of x coordinate of public key\r
+ * @param      PUB_Y_Data                      [in]represents y coordinate of public key\r
+ * @param      PUB_Y_Len                       [in]byte-length of y coordinate of public key\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if argument is null\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_ECC_setKeypair(CryptoCoreContainer *crt,\r
+                                           cc_u8* PRIV_Data,  cc_u32 PRIV_Len,\r
+                                           cc_u8* PUB_X_Data, cc_u32 PUB_X_Len,\r
+                                           cc_u8* PUB_Y_Data, cc_u32 PUB_Y_Len)\r
+{\r
+       int                             retVal;\r
+       cc_u8                   zero[] = {0x00};\r
+       SDRM_ECC_CTX    *ECC_ctx;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->ecdsactx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       ECC_ctx = crt->ctx->ecdsactx;\r
+\r
+       ECC_ctx->PUBLIC_KEY->IsInfinity = 0;\r
+\r
+       if (PRIV_Data != NULL)\r
+       {\r
+               retVal = SDRM_OS2BN(PRIV_Data, PRIV_Len, ECC_ctx->PRIV_KEY);\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+       }\r
+\r
+       if (PUB_X_Data != NULL && PUB_Y_Data != NULL)\r
+       {\r
+               retVal = SDRM_OS2BN(PUB_X_Data, PUB_X_Len, ECC_ctx->PUBLIC_KEY->x); \r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+\r
+               retVal = SDRM_OS2BN(PUB_Y_Data, PUB_Y_Len, ECC_ctx->PUBLIC_KEY->y);\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+       }\r
+\r
+       SDRM_OS2BN(zero, 0, ECC_ctx->PUBLIC_KEY->z);\r
+       SDRM_OS2BN(zero, 0, ECC_ctx->PUBLIC_KEY->z2);\r
+       SDRM_OS2BN(zero, 0, ECC_ctx->PUBLIC_KEY->z3);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/middle/hmac.c b/SPC/Src/middle/hmac.c
new file mode 100755 (executable)
index 0000000..86d23d4
--- /dev/null
@@ -0,0 +1,572 @@
+/**\r
+ * \file       hmac.c\r
+ * @brief      funciton for c-mac code generation by SHA1 and MD5\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/12/19\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "hmac.h"\r
+#include "sha1.h"\r
+#include "sha2.h"\r
+#include "md5.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+CRYPTOCORE_INTERNAL int SDRM_getK0(cc_u8* k0, cc_u8* Key, cc_u32 KeyLen, cc_u32 Algorithm, cc_u32 B);\r
+\r
+/*\r
+ * @fn         SDRM_HMAC_init\r
+ * @brief      Parameter setting for mac code generation\r
+ *\r
+ * @param      crt                                                     [out]crypto parameter\r
+ * @param      Key                                                     [in]user key\r
+ * @param      KeyLen                                          [in]byte-length of Key\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_HMAC_init(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen)\r
+{\r
+       SDRM_HMACContext *ctx;\r
+       cc_u8                    *ipad;\r
+       cc_u32                   i;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->hmacctx == NULL) || (Key == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       ctx = crt->ctx->hmacctx;\r
+       ctx->algorithm = crt->alg;\r
+\r
+       switch(ctx->algorithm)\r
+       {\r
+               case ID_HMD5 :\r
+                       ctx->B = SDRM_MD5_DATA_SIZE;\r
+                       break;\r
+\r
+               case ID_HSHA1 :\r
+                       ctx->B = SDRM_SHA1_DATA_SIZE;\r
+                       break;\r
+\r
+               case ID_HSHA224 :\r
+                       ctx->B = SDRM_SHA224_DATA_SIZE;\r
+                       break;\r
+\r
+               case ID_HSHA256 :\r
+                       ctx->B = SDRM_SHA256_DATA_SIZE;\r
+                       break;\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_HSHA384 :\r
+                       ctx->B = SDRM_SHA384_DATA_SIZE;\r
+                       break;\r
+\r
+               case ID_HSHA512 :\r
+                       ctx->B = SDRM_SHA512_DATA_SIZE;\r
+                       break;\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       ipad = (cc_u8*)malloc(ctx->B);\r
+       if (ipad == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       ctx->k0 = (cc_u8*)malloc(ctx->B);\r
+       if (ctx->k0 == NULL)\r
+       {\r
+               free(ipad);\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       //make k0\r
+       SDRM_getK0(ctx->k0, Key, KeyLen, ctx->algorithm, ctx->B);\r
+\r
+       //ipad = k0 xor ipad\r
+       for (i = 0; i < ctx->B; i++)\r
+       {\r
+               ipad[i] = ctx->k0[i] ^ 0x36;\r
+       }\r
+\r
+       if (i != ctx->B)\r
+       {\r
+               for (; i < ctx->B; i++)\r
+               {\r
+                       ipad[i] = ctx->k0[i] ^ 0x36;\r
+               }\r
+       }\r
+\r
+       ctx->md5_ctx = NULL;\r
+       ctx->sha1_ctx = NULL;\r
+       ctx->sha224_ctx = NULL;\r
+       ctx->sha256_ctx = NULL;\r
+#ifndef _OP64_NOTSUPPORTED\r
+       ctx->sha384_ctx = NULL;\r
+       ctx->sha512_ctx = NULL;\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       switch(ctx->algorithm)\r
+       {\r
+               case ID_HMD5 :\r
+                       ctx->md5_ctx = (SDRM_MD5Context*)malloc(sizeof(SDRM_MD5Context));\r
+\r
+                       if (ctx->md5_ctx == NULL)\r
+                       {\r
+                               if (ipad != NULL)\r
+                               {\r
+                                       free(ipad);\r
+                               }\r
+                               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+                       }\r
+\r
+                       SDRM_MD5_Init(ctx->md5_ctx);\r
+                       SDRM_MD5_Update(ctx->md5_ctx, ipad, ctx->B);\r
+                       break;\r
+\r
+               case ID_HSHA1 :\r
+                       ctx->sha1_ctx = (SDRM_SHA1Context*)malloc(sizeof(SDRM_SHA1Context));\r
+\r
+                       if (ctx->sha1_ctx == NULL)\r
+                       {\r
+                               if (ipad != NULL)\r
+                               {\r
+                                       free(ipad);\r
+                               }\r
+                               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+                       }\r
+\r
+                       SDRM_SHA1_Init(ctx->sha1_ctx);\r
+                       SDRM_SHA1_Update(ctx->sha1_ctx, ipad, ctx->B);\r
+                       break;\r
+\r
+               case ID_HSHA224 :\r
+                       ctx->sha224_ctx = (SDRM_SHA224Context*)malloc(sizeof(SDRM_SHA224Context));\r
+\r
+                       if (ctx->sha224_ctx == NULL)\r
+                       {\r
+                               if (ipad != NULL)\r
+                               {\r
+                                       free(ipad);\r
+                               }\r
+                               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+                       }\r
+\r
+                       SDRM_SHA224_Init(ctx->sha224_ctx);\r
+                       SDRM_SHA224_Update(ctx->sha224_ctx, ipad, ctx->B);\r
+                       break;\r
+\r
+               case ID_HSHA256 :\r
+                       ctx->sha256_ctx = (SDRM_SHA256Context*)malloc(sizeof(SDRM_SHA256Context));\r
+\r
+                       if (ctx->sha256_ctx == NULL)\r
+                       {\r
+                               if (ipad != NULL)\r
+                               {\r
+                                       free(ipad);\r
+                               }\r
+                               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+                       }\r
+\r
+                       SDRM_SHA256_Init(ctx->sha256_ctx);\r
+                       SDRM_SHA256_Update(ctx->sha256_ctx, ipad, ctx->B);\r
+                       break;\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_HSHA384 :\r
+                       ctx->sha384_ctx = (SDRM_SHA384Context*)malloc(sizeof(SDRM_SHA384Context));\r
+\r
+                       if (ctx->sha384_ctx == NULL)\r
+                       {\r
+                               if (ipad != NULL)\r
+                               {\r
+                                       free(ipad);\r
+                               }\r
+                               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+                       }\r
+\r
+                       SDRM_SHA384_Init(ctx->sha384_ctx);\r
+                       SDRM_SHA384_Update(ctx->sha384_ctx, ipad, ctx->B);\r
+                       break;\r
+\r
+               case ID_HSHA512 :\r
+                       ctx->sha512_ctx = (SDRM_SHA512Context*)malloc(sizeof(SDRM_SHA512Context));\r
+\r
+                       if (ctx->sha512_ctx == NULL)\r
+                       {\r
+                               if (ipad != NULL)\r
+                               {\r
+                                       free(ipad);\r
+                               }\r
+                               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+                       }\r
+\r
+                       SDRM_SHA512_Init(ctx->sha512_ctx);\r
+                       SDRM_SHA512_Update(ctx->sha512_ctx, ipad, ctx->B);\r
+                       break;\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+               default :\r
+                       free(ipad);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       free(ipad);\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_HMAC_update\r
+ * @brief      process data blocks\r
+ *\r
+ * @param      crt                                                     [out]crypto parameter\r
+ * @param      msg                                                     [in]data block\r
+ * @param      msgLen                                          [in]byte-length of Text\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_HMAC_update(CryptoCoreContainer *crt, cc_u8 *msg, cc_u32 msgLen)\r
+{\r
+       if (msgLen == 0)\r
+       {\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->hmacctx == NULL) || (msg == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       switch(crt->ctx->hmacctx->algorithm)\r
+       {\r
+               case ID_HMD5 :\r
+                       SDRM_MD5_Update(crt->ctx->hmacctx->md5_ctx, msg, msgLen);\r
+                       break;\r
+               case ID_HSHA1 :\r
+                       SDRM_SHA1_Update(crt->ctx->hmacctx->sha1_ctx, msg, msgLen);\r
+                       break;\r
+               case ID_HSHA224 :\r
+                       SDRM_SHA224_Update(crt->ctx->hmacctx->sha224_ctx, msg, msgLen);\r
+                       break;\r
+               case ID_HSHA256 :\r
+                       SDRM_SHA256_Update(crt->ctx->hmacctx->sha256_ctx, msg, msgLen);\r
+                       break;\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_HSHA384 :\r
+                       SDRM_SHA384_Update(crt->ctx->hmacctx->sha384_ctx, msg, msgLen);\r
+                       break;\r
+               case ID_HSHA512 :\r
+                       SDRM_SHA512_Update(crt->ctx->hmacctx->sha512_ctx, msg, msgLen);\r
+                       break;\r
+#endif //OP64_NOTSUPPORTED\r
+\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_HMAC_final\r
+ * @brief      process last data block\r
+ *\r
+ * @param      crt                                                     [in]crypto parameter\r
+ * @param      output                                          [out]generated MAC\r
+ * @param      outputLen                                       [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if Parameter is NULL\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_HMAC_final(CryptoCoreContainer *crt, cc_u8 *output, cc_u32 *outputLen)\r
+{\r
+       SDRM_HMACContext        *ctx;\r
+       SDRM_MD5Context         MD5ctx;\r
+       SDRM_SHA1Context        SHA1ctx;\r
+       SDRM_SHA224Context      SHA224ctx;\r
+       SDRM_SHA256Context      SHA256ctx;\r
+#ifndef _OP64_NOTSUPPORTED\r
+       SDRM_SHA384Context      SHA384ctx;\r
+       SDRM_SHA512Context      SHA512ctx;\r
+#endif //_OP64_NOTSUPPORTED\r
+       cc_u8                           Step6_Result[64];\r
+       cc_u32                          HashLen, i;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->hmacctx == NULL) || (output == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       ctx = crt->ctx->hmacctx;\r
+\r
+       //k0 = k0 xor opad\r
+       for (i = 0; i < ctx->B; i++)\r
+       {\r
+               ctx->k0[i] ^= 0x5c;\r
+       }\r
+\r
+       if (i != ctx->B)\r
+       {\r
+               for (; i < ctx->B; i++)\r
+               {\r
+                       ctx->k0[i] ^= 0x5c;\r
+               }\r
+       }\r
+\r
+       //Step6 : get H((k0 xor ipad) | text) & Step 9 : make hash\r
+       switch(ctx->algorithm)\r
+       {\r
+               case ID_HMD5 :\r
+                       SDRM_MD5_Final(ctx->md5_ctx, Step6_Result);\r
+                       free(ctx->md5_ctx);\r
+\r
+                       HashLen = SDRM_MD5_BLOCK_SIZ;\r
+\r
+                       SDRM_MD5_Init(&MD5ctx);\r
+                       SDRM_MD5_Update(&MD5ctx, ctx->k0, ctx->B);\r
+                       SDRM_MD5_Update(&MD5ctx, Step6_Result, HashLen);\r
+                       SDRM_MD5_Final(&MD5ctx, output);\r
+\r
+                       break;\r
+\r
+               case ID_HSHA1 :\r
+                       SDRM_SHA1_Final(ctx->sha1_ctx, Step6_Result);\r
+                       free(ctx->sha1_ctx);\r
+\r
+                       HashLen = SDRM_SHA1_BLOCK_SIZ;\r
+\r
+                       SDRM_SHA1_Init(&SHA1ctx);\r
+                       SDRM_SHA1_Update(&SHA1ctx, ctx->k0, ctx->B);\r
+                       SDRM_SHA1_Update(&SHA1ctx, Step6_Result, HashLen);\r
+                       SDRM_SHA1_Final(&SHA1ctx, output);\r
+\r
+                       break;\r
+\r
+               case ID_HSHA224 :\r
+                       SDRM_SHA224_Final(ctx->sha224_ctx, Step6_Result);\r
+                       free(ctx->sha224_ctx);\r
+\r
+                       HashLen = SDRM_SHA224_BLOCK_SIZ;\r
+\r
+                       SDRM_SHA224_Init(&SHA224ctx);\r
+                       SDRM_SHA224_Update(&SHA224ctx, ctx->k0, ctx->B);\r
+                       SDRM_SHA224_Update(&SHA224ctx, Step6_Result, HashLen);\r
+                       SDRM_SHA224_Final(&SHA224ctx, output);\r
+\r
+                       break;\r
+\r
+               case ID_HSHA256 :\r
+                       SDRM_SHA256_Final(ctx->sha256_ctx, Step6_Result);\r
+                       free(ctx->sha256_ctx);\r
+\r
+                       HashLen = SDRM_SHA256_BLOCK_SIZ;\r
+\r
+                       SDRM_SHA256_Init(&SHA256ctx);\r
+                       SDRM_SHA256_Update(&SHA256ctx, ctx->k0, ctx->B);\r
+                       SDRM_SHA256_Update(&SHA256ctx, Step6_Result, HashLen);\r
+                       SDRM_SHA256_Final(&SHA256ctx, output);\r
+\r
+                       break;\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+               case ID_HSHA384 :\r
+                       SDRM_SHA384_Final(ctx->sha384_ctx, Step6_Result);\r
+                       free(ctx->sha384_ctx);\r
+\r
+                       HashLen = SDRM_SHA384_BLOCK_SIZ;\r
+\r
+                       SDRM_SHA384_Init(&SHA384ctx);\r
+                       SDRM_SHA384_Update(&SHA384ctx, ctx->k0, ctx->B);\r
+                       SDRM_SHA384_Update(&SHA384ctx, Step6_Result, HashLen);\r
+                       SDRM_SHA384_Final(&SHA384ctx, output);\r
+\r
+                       break;\r
+\r
+               case ID_HSHA512 :\r
+                       SDRM_SHA512_Final(ctx->sha512_ctx, Step6_Result);\r
+                       free(ctx->sha512_ctx);\r
+\r
+                       HashLen = SDRM_SHA512_BLOCK_SIZ;\r
+\r
+                       SDRM_SHA512_Init(&SHA512ctx);\r
+                       SDRM_SHA512_Update(&SHA512ctx, ctx->k0, ctx->B);\r
+                       SDRM_SHA512_Update(&SHA512ctx, Step6_Result, HashLen);\r
+                       SDRM_SHA512_Final(&SHA512ctx, output);\r
+\r
+                       break;\r
+#endif\r
+\r
+               default :\r
+                       if (ctx->k0) free(ctx->k0);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = HashLen;\r
+       }\r
+\r
+       if (ctx->k0)\r
+       {\r
+               free(ctx->k0);\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         SDRM_HMAC_getMAC\r
+ * @brief      generate h-mac code\r
+ *\r
+ * @param      crt                                                     [in]crypto parameter\r
+ * @param      Key                                                     [in]user key\r
+ * @param      KeyLen                                          [in]byte-length of Key\r
+ * @param      msg                                                     [in]data block\r
+ * @param      msgLen                                          [in]byte-length of Text\r
+ * @param      output                                          [out]generated MAC\r
+ * @param      outputLen                                       [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_HMAC_getMAC(CryptoCoreContainer *crt, cc_u8 *Key, cc_u32 KeyLen, cc_u8 *msg, cc_u32 msgLen, cc_u8 *output, cc_u32 *outputLen)\r
+{\r
+       int result;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->hmacctx == NULL) || (Key == NULL) || (output == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       result = SDRM_HMAC_init(crt, Key, KeyLen);\r
+       if (result != CRYPTO_SUCCESS)\r
+       {\r
+               return result;\r
+       }\r
+\r
+       result = SDRM_HMAC_update(crt, msg, msgLen);\r
+       if (result != CRYPTO_SUCCESS)\r
+       {\r
+               return result;\r
+       }\r
+\r
+       return SDRM_HMAC_final(crt, output, outputLen);\r
+}\r
+\r
+CRYPTOCORE_INTERNAL int SDRM_getK0(cc_u8* k0, cc_u8* Key, cc_u32 KeyLen, cc_u32 Algorithm, cc_u32 B)\r
+{\r
+       SDRM_MD5Context  MD5ctx;\r
+       SDRM_SHA1Context SHA1ctx;\r
+       SDRM_SHA224Context SHA224ctx;\r
+       SDRM_SHA256Context SHA256ctx;\r
+#ifndef _OP64_NOTSUPPORTED\r
+       SDRM_SHA384Context SHA384ctx;\r
+       SDRM_SHA512Context SHA512ctx;\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       int L;\r
+\r
+       if (KeyLen == B)\r
+       {\r
+               //if the length of K = B : set K0 = K\r
+               memcpy(k0, Key, B);\r
+       }\r
+       else if (KeyLen > B)\r
+       {\r
+               //if the length of K > B : get hask(K) and append (B - L) zeros\r
+\r
+               //get hash(K)\r
+\r
+               switch(Algorithm)\r
+               {\r
+                       case ID_HMD5 :\r
+                               SDRM_MD5_Init(&MD5ctx);\r
+                               SDRM_MD5_Update(&MD5ctx, Key, KeyLen);\r
+                               SDRM_MD5_Final(&MD5ctx, k0);\r
+\r
+                               L = SDRM_MD5_BLOCK_SIZ;\r
+\r
+                               break;\r
+\r
+                       case ID_HSHA1 :\r
+                               SDRM_SHA1_Init(&SHA1ctx);\r
+                               SDRM_SHA1_Update(&SHA1ctx, Key, KeyLen);\r
+                               SDRM_SHA1_Final(&SHA1ctx, k0);\r
+                               \r
+                               L = SDRM_SHA1_BLOCK_SIZ;\r
+\r
+                               break;\r
+\r
+                       case ID_HSHA224 :\r
+                               SDRM_SHA224_Init(&SHA224ctx);\r
+                               SDRM_SHA224_Update(&SHA224ctx, Key, KeyLen);\r
+                               SDRM_SHA224_Final(&SHA224ctx, k0);\r
+                               \r
+                               L = SDRM_SHA224_BLOCK_SIZ;\r
+\r
+                               break;\r
+\r
+                       case ID_HSHA256 :\r
+                               SDRM_SHA256_Init(&SHA256ctx);\r
+                               SDRM_SHA256_Update(&SHA256ctx, Key, KeyLen);\r
+                               SDRM_SHA256_Final(&SHA256ctx, k0);\r
+                               \r
+                               L = SDRM_SHA256_BLOCK_SIZ;\r
+\r
+                               break;\r
+\r
+#ifndef _OP64_NOTSUPPORTED\r
+                       case ID_HSHA384 :\r
+                               SDRM_SHA384_Init(&SHA384ctx);\r
+                               SDRM_SHA384_Update(&SHA384ctx, Key, KeyLen);\r
+                               SDRM_SHA384_Final(&SHA384ctx, k0);\r
+                               \r
+                               L = SDRM_SHA384_BLOCK_SIZ;\r
+\r
+                               break;\r
+\r
+                       case ID_HSHA512 :\r
+                               SDRM_SHA512_Init(&SHA512ctx);\r
+                               SDRM_SHA512_Update(&SHA512ctx, Key, KeyLen);\r
+                               SDRM_SHA512_Final(&SHA512ctx, k0);\r
+                               \r
+                               L = SDRM_SHA512_BLOCK_SIZ;\r
+\r
+                               break;\r
+#endif\r
+\r
+                       default :\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               //append zeros\r
+               memset(k0 + L, 0x00, B - L);\r
+       }\r
+       else {\r
+               //if the length of K < B : append zerots to the end of K\r
+               memcpy(k0, Key, KeyLen);\r
+               memset(k0 + KeyLen, 0x00, B - KeyLen);\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/middle/rng.c b/SPC/Src/middle/rng.c
new file mode 100755 (executable)
index 0000000..7bd2388
--- /dev/null
@@ -0,0 +1,69 @@
+/**\r
+ * \file       rng.c\r
+ * @brief      Random Number Generator Interface\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon, Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/07\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "ANSI_x931.h"\r
+#include "rng.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_X931_seed\r
+ * @brief      Seed RNG System\r
+ *\r
+ * @param      crt                                     [in]crypto env structure\r
+ * @param      seed                            [in]seed for RNG System\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_X931_seed(CryptoCoreContainer *crt, cc_u8 *seed)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->x931ctx == NULL) || (seed == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       memcpy(crt->ctx->x931ctx->Seed, seed, SDRM_X931_SEED_SIZ);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_X931_get\r
+ * @brief      generate random number\r
+ *\r
+ * @param      crt                                     [in]crypto env structure\r
+ * @param      bitLength                       [in]bit length for generated number\r
+ * @param      data                            [out]generated data\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ */\r
+CRYPTOCORE_INTERNAL int        SDRM_X931_get(CryptoCoreContainer *crt, cc_u32 bitLength, cc_u8 *data)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->x931ctx == NULL) || (data == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+#ifdef _WIN32_WCE\r
+       srand(GetTickCount());\r
+#else\r
+       srand((unsigned int)time(NULL));\r
+#endif\r
+\r
+       return SDRM_RNG_X931(crt->ctx->x931ctx->Seed, bitLength, data);\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/middle/rsa.c b/SPC/Src/middle/rsa.c
new file mode 100755 (executable)
index 0000000..83a89b0
--- /dev/null
@@ -0,0 +1,1209 @@
+/**\r
+ * \file       rsa.c\r
+ * @brief      implementation of rsa encryption/decryption and signature/verifycation\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/20\r
+ * Note : Modified for support RSA-2048(Jisoon Park, 2007/03/14)\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "rsa.h"\r
+#include "pkcs1_v21.h"\r
+#include "ANSI_x931.h"\r
+#include "bignum.h"\r
+\r
+//////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+//////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_RSAContext *SDRM_RSA_InitCrt(cc_u32 KeyByteLen)\r
+ *\r
+ * @brief      generate RSA Context\r
+ *\r
+ * @return     pointer to the generated context\r
+ * \n          NULL    if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL SDRM_RSAContext *SDRM_RSA_InitCrt(cc_u32 KeyByteLen)\r
+{\r
+       SDRM_RSAContext *ctx;\r
+       cc_u32                  RSA_KeyByteLen = KeyByteLen;\r
+       cc_u8                   *pbBuf = (cc_u8*)malloc(sizeof(SDRM_RSAContext) + SDRM_RSA_ALLOC_SIZE * 8);\r
+\r
+       if (pbBuf == NULL)\r
+       {\r
+               return NULL;\r
+       }\r
+\r
+       ctx                     = (SDRM_RSAContext*)(void*)pbBuf;\r
+       ctx->n          = SDRM_BN_Alloc((cc_u8*)ctx                             + sizeof(SDRM_RSAContext),      SDRM_RSA_BN_BUFSIZE);\r
+       ctx->e          = SDRM_BN_Alloc((cc_u8*)ctx->n                  + SDRM_RSA_ALLOC_SIZE,          SDRM_RSA_BN_BUFSIZE);\r
+       ctx->d          = SDRM_BN_Alloc((cc_u8*)ctx->e                  + SDRM_RSA_ALLOC_SIZE,          SDRM_RSA_BN_BUFSIZE);\r
+       ctx->p          = SDRM_BN_Alloc((cc_u8*)ctx->d                  + SDRM_RSA_ALLOC_SIZE,          SDRM_RSA_BN_BUFSIZE);\r
+       ctx->q          = SDRM_BN_Alloc((cc_u8*)ctx->p                  + SDRM_RSA_ALLOC_SIZE,          SDRM_RSA_BN_BUFSIZE);\r
+       ctx->dmodp1     = SDRM_BN_Alloc((cc_u8*)ctx->q                  + SDRM_RSA_ALLOC_SIZE,          SDRM_RSA_BN_BUFSIZE);\r
+       ctx->dmodq1     = SDRM_BN_Alloc((cc_u8*)ctx->dmodp1             + SDRM_RSA_ALLOC_SIZE,          SDRM_RSA_BN_BUFSIZE);\r
+       ctx->iqmodp     = SDRM_BN_Alloc((cc_u8*)ctx->dmodq1             + SDRM_RSA_ALLOC_SIZE,          SDRM_RSA_BN_BUFSIZE);\r
+\r
+       ctx->crt_operation = (unsigned int)-1;\r
+       ctx->k  = RSA_KeyByteLen;\r
+\r
+       return ctx;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_RSA_setNED(CryptoCoreContainer *crt, cc_u32 PaddingMethod, cc_u8* RSA_N_Data,   cc_u32 RSA_N_Len, cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len, cc_u8* RSA_D_Data,   cc_u32 RSA_D_Len)\r
+ * @brief      set RSA parameters\r
+ *\r
+ * @param      crt                                     [out]rsa context\r
+ * @param      PaddingMethod           [in]padding method\r
+ * @param      RSA_N_Data                      [in]n value\r
+ * @param      RSA_N_Len                       [in]byte-length of n\r
+ * @param      RSA_E_Data                      [in]e value\r
+ * @param      RSA_E_Len                       [in]byte-length of e\r
+ * @param      RSA_D_Data                      [in]d value\r
+ * @param      RSA_D_Len                       [in]byte-length of d\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if an argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_setNED(CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+                                   cc_u8* RSA_N_Data,   cc_u32 RSA_N_Len,\r
+                                   cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+                                   cc_u8* RSA_D_Data,   cc_u32 RSA_D_Len)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (RSA_N_Data == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       SDRM_OS2BN(RSA_N_Data, RSA_N_Len, crt->ctx->rsactx->n);\r
+       SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->n);\r
+\r
+       if (RSA_E_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(RSA_E_Data, RSA_E_Len, crt->ctx->rsactx->e);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->e);\r
+       }\r
+\r
+       if (RSA_D_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(RSA_D_Data, RSA_D_Len, crt->ctx->rsactx->d);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->d);\r
+       }\r
+\r
+       crt->ctx->rsactx->pm = PaddingMethod;\r
+       crt->ctx->rsactx->crt_operation = 0;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_RSA_setNEDPQ(CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+ *                                 cc_u8* RSA_N_Data,   cc_u32 RSA_N_Len,\r
+ *                                 cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+ *                                 cc_u8* RSA_D_Data,   cc_u32 RSA_D_Len,\r
+ *                                 cc_u8* RSA_P_Data,   cc_u32 RSA_P_Len,\r
+ *                                 cc_u8* RSA_Q_Data,   cc_u32 RSA_Q_Len,\r
+ *                                 cc_u8* RSA_DmodP1_Data,   cc_u32 RSA_DmodP1_Len,\r
+ *                                 cc_u8* RSA_DmodQ1_Data,   cc_u32 RSA_DmodQ1_Len,\r
+ *                                 cc_u8* RSA_iQmodP_Data,   cc_u32 RSA_iQmodP_Len)\r
+ *\r
+ * @brief      set RSA parameters\r
+ *\r
+ * @param      crt                                     [out]rsa context\r
+ * @param      PaddingMethod           [in]padding method\r
+ * @param      RSA_N_Data                      [in]n value\r
+ * @param      RSA_N_Len                       [in]byte-length of n\r
+ * @param      RSA_E_Data                      [in]e value\r
+ * @param      RSA_E_Len                       [in]byte-length of e\r
+ * @param      RSA_D_Data                      [in]d value\r
+ * @param      RSA_D_Len                       [in]byte-length of d\r
+ * @param      RSA_P_Data                      [in]p value\r
+ * @param      RSA_P_Len                       [in]byte-length of p\r
+ * @param      RSA_Q_Data                      [in]q value\r
+ * @param      RSA_Q_Len                       [in]byte-length of q\r
+ * @param      RSA_DmodP1_Data         [in]d mod (p-1) value\r
+ * @param      RSA_DmodP1_Len          [in]byte-length of d mod (p-1)\r
+ * @param      RSA_DmodQ1_Data         [in]d mod (q-1) value\r
+ * @param      RSA_DmodQ1_Len          [in]byte-length of d mod (q-1)\r
+ * @param      RSA_iQmodP_Data         [in]q^(-1) mod p value\r
+ * @param      RSA_iQmodP_Len          [in]byte-length of q^(-1) mod p\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER     if an argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_setNEDPQ(CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+                                   cc_u8* RSA_N_Data,   cc_u32 RSA_N_Len,\r
+                                   cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+                                   cc_u8* RSA_D_Data,   cc_u32 RSA_D_Len,\r
+                                   cc_u8* RSA_P_Data,   cc_u32 RSA_P_Len,\r
+                                   cc_u8* RSA_Q_Data,   cc_u32 RSA_Q_Len,\r
+                                   cc_u8* RSA_DmodP1_Data,   cc_u32 RSA_DmodP1_Len,\r
+                                   cc_u8* RSA_DmodQ1_Data,   cc_u32 RSA_DmodQ1_Len,\r
+                                   cc_u8* RSA_iQmodP_Data,   cc_u32 RSA_iQmodP_Len)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       crt->ctx->rsactx->crt_operation = 0;\r
+       if ((RSA_P_Data != NULL) && (RSA_Q_Data != NULL) && (RSA_DmodP1_Data != NULL) && (RSA_DmodQ1_Data != NULL) && (RSA_iQmodP_Data != NULL))\r
+       {\r
+               crt->ctx->rsactx->crt_operation = 1;\r
+       }\r
+       else if (RSA_N_Data == NULL)\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (RSA_N_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(RSA_N_Data, RSA_N_Len, crt->ctx->rsactx->n);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->n);\r
+       }\r
+\r
+       if (RSA_E_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(RSA_E_Data, RSA_E_Len, crt->ctx->rsactx->e);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->e);\r
+       }\r
+\r
+       if (RSA_D_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(RSA_D_Data, RSA_D_Len, crt->ctx->rsactx->d);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->d);\r
+       }\r
+\r
+       if (RSA_P_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(RSA_P_Data, RSA_P_Len, crt->ctx->rsactx->p);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->p);\r
+       }\r
+\r
+       if (RSA_Q_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(RSA_Q_Data, RSA_Q_Len, crt->ctx->rsactx->q);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->q);\r
+       }\r
+\r
+       if (RSA_DmodP1_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(RSA_DmodP1_Data, RSA_DmodP1_Len, crt->ctx->rsactx->dmodp1);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->dmodp1);\r
+       }\r
+\r
+       if (RSA_DmodQ1_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(RSA_DmodQ1_Data, RSA_DmodQ1_Len, crt->ctx->rsactx->dmodq1);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->dmodq1);\r
+       }\r
+\r
+       if (RSA_iQmodP_Data != NULL)\r
+       {\r
+               SDRM_OS2BN(RSA_iQmodP_Data, RSA_iQmodP_Len, crt->ctx->rsactx->iqmodp);\r
+               SDRM_BN_OPTIMIZE_LENGTH(crt->ctx->rsactx->iqmodp);\r
+       }\r
+\r
+       crt->ctx->rsactx->pm = PaddingMethod;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_RSA_GenerateKey(CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+ *                                              cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+ *                                              cc_u8* RSA_E_Data,   cc_u32 *RSA_E_Len,\r
+ *                                              cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len)\r
+ * @brief      generate and set RSA parameters\r
+ *\r
+ * @param      crt                                                     [in/out]rsa context\r
+ * @param      PaddingMethod                           [in]padding method\r
+ * @param      RSA_N_Data                                      [out]n value\r
+ * @param      RSA_N_Len                                       [out]byte-length of n\r
+ * @param      RSA_E_Data                                      [out]e value\r
+ * @param      RSA_E_Len                                       [out]byte-length of e\r
+ * @param      RSA_D_Data                                      [out]d value\r
+ * @param      RSA_D_Len                                       [out]byte-length of d\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateKey(CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+                                                cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+                                                cc_u8* RSA_E_Data,   cc_u32 *RSA_E_Len,\r
+                                                cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len)\r
+{\r
+       cc_u32           Seed[4];\r
+       SDRM_BIG_NUM *p, *q, *pi, *e, *temp1, *temp2;\r
+       cc_u32           RSA_KeyByteLen = 0;\r
+       int                      i, sp, t1;\r
+       cc_u8 *pbBuf = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       RSA_KeyByteLen = crt->ctx->rsactx->k;\r
+       t1 = (RSA_KeyByteLen * 4 - 1) % 32;\r
+\r
+       pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 5);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       p         = SDRM_BN_Alloc((cc_u8*)pbBuf,                                                  SDRM_RSA_BN_BUFSIZE);\r
+       q         = SDRM_BN_Alloc((cc_u8*)p        + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       pi        = SDRM_BN_Alloc((cc_u8*)q        + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       temp1 = SDRM_BN_Alloc((cc_u8*)pi           + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       temp2 = SDRM_BN_Alloc((cc_u8*)temp1 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+\r
+       e = crt->ctx->rsactx->e;\r
+\r
+       for (i = 0; i < 4; i++)\r
+       {\r
+               Seed[i] = (rand() << 16) ^ rand();\r
+       }\r
+\r
+       //set security parameter for miller-rabin probabilistic primality test\r
+       if (RSA_KeyByteLen >= 256)\r
+       {\r
+               sp = 3;\r
+       }\r
+       else if (RSA_KeyByteLen >= 128)\r
+       {\r
+               sp = 5;\r
+       }\r
+       else if (RSA_KeyByteLen >= 30)\r
+       {\r
+               sp = 15;\r
+       }\r
+       else\r
+       {\r
+               sp = 30;\r
+       }\r
+\r
+GEN_RND:\r
+       //Generate p\r
+       p->Length = (RSA_KeyByteLen + 7) / 8;\r
+       do {\r
+               SDRM_RNG_X931((cc_u8 *)Seed, RSA_KeyByteLen * 4, (cc_u8*)p->pData);\r
+               p->pData[0] |= 1L;\r
+               p->pData[p->Length - 1] &= ~((-1L) << t1);\r
+               p->pData[p->Length - 1] |= (1L << t1);\r
+       } while(SDRM_BN_MILLER_RABIN(p, sp) != CRYPTO_ISPRIME);\r
+\r
+       //Generate q\r
+       q->Length = (RSA_KeyByteLen + 7) / 8;\r
+       do {\r
+               SDRM_RNG_X931((cc_u8 *)Seed, RSA_KeyByteLen * 4, (cc_u8*)q->pData);\r
+               q->pData[0] |= 1L;\r
+               q->pData[q->Length - 1] &= ~((-1L) << t1);\r
+               q->pData[q->Length - 1] |= (1L << t1);\r
+       } while(SDRM_BN_MILLER_RABIN(q, sp) != CRYPTO_ISPRIME);\r
+\r
+       //temp1 = (p - 1), temp2 = (q - 1)\r
+       SDRM_BN_Sub(temp1, p, BN_One);\r
+       SDRM_BN_Sub(temp2, q, BN_One);\r
+\r
+       //evaluate n and pi\r
+       //n = p * q, pi = (p - 1) * (q - 1)\r
+       SDRM_BN_Mul(crt->ctx->rsactx->n, p, q);\r
+       SDRM_BN_Mul(pi, temp1, temp2);\r
+\r
+       //generate e\r
+       e->Length = (RSA_KeyByteLen + 3) / 4;\r
+       do {\r
+               do {\r
+                       SDRM_RNG_X931((cc_u8 *)Seed, RSA_KeyByteLen * 8 - 8, (cc_u8*)e->pData);\r
+                       e->pData[0] |= 0x01;\r
+               } while(SDRM_BN_CheckRelativelyPrime(e, pi) != CRYPTO_ISPRIME);\r
+       } while (SDRM_BN_Cmp(e, pi) >= 0);\r
+\r
+       if (SDRM_BN_ModInv(crt->ctx->rsactx->d, e, pi) != CRYPTO_SUCCESS)\r
+       {\r
+               goto GEN_RND;\r
+       }\r
+\r
+       crt->ctx->rsactx->pm = PaddingMethod;\r
+\r
+       if (RSA_N_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->rsactx->n, RSA_KeyByteLen, RSA_N_Data);\r
+       }\r
+\r
+       if (RSA_N_Len != NULL)\r
+       {\r
+               *RSA_N_Len = RSA_KeyByteLen;\r
+       }\r
+\r
+       if (RSA_E_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->rsactx->e, RSA_KeyByteLen, RSA_E_Data);\r
+       }\r
+\r
+       if (RSA_E_Len != NULL)\r
+       {\r
+               *RSA_E_Len = RSA_KeyByteLen;\r
+       }\r
+\r
+       if (RSA_D_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->rsactx->d, RSA_KeyByteLen, RSA_D_Data);\r
+       }\r
+\r
+       if (RSA_D_Len != NULL)\r
+       {\r
+               *RSA_D_Len = RSA_KeyByteLen;\r
+       }\r
+       \r
+       free(pbBuf);\r
+       \r
+       crt->ctx->rsactx->crt_operation = 0;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_RSA_GenerateND(CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+ *                                              cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+ *                                              cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+ *                                              cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len)\r
+ * @brief      generate and set RSA parameters with specfied e\r
+ *\r
+ * @param      crt                                                     [in/out]rsa context\r
+ * @param      PaddingMethod                           [in]padding method\r
+ * @param      RSA_E_Data                                      [in]e value\r
+ * @param      RSA_E_Len                                       [in]byte-length of e\r
+ * @param      RSA_N_Data                                      [out]n value\r
+ * @param      RSA_N_Len                                       [out]byte-length of n\r
+ * @param      RSA_D_Data                                      [out]d value\r
+ * @param      RSA_D_Len                                       [out]byte-length of d\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateND(CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+                                                cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+                                                cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+                                                cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len)\r
+{\r
+       cc_u32           Seed[4];\r
+       SDRM_BIG_NUM *p, *q, *pi, *e, *temp1, *temp2;\r
+       cc_u32           RSA_KeyByteLen = 0;\r
+       int                      i, sp, t1;\r
+       cc_u8 *pbBuf = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL)) {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       RSA_KeyByteLen = crt->ctx->rsactx->k;\r
+       t1 = (RSA_KeyByteLen * 4 - 1) % 32;\r
+               \r
+       pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 5);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       p         = SDRM_BN_Alloc((cc_u8*)pbBuf,                                                  SDRM_RSA_BN_BUFSIZE);\r
+       q         = SDRM_BN_Alloc((cc_u8*)p        + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       pi        = SDRM_BN_Alloc((cc_u8*)q        + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       temp1 = SDRM_BN_Alloc((cc_u8*)pi           + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       temp2 = SDRM_BN_Alloc((cc_u8*)temp1 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+\r
+       e = crt->ctx->rsactx->e;\r
+\r
+       for (i = 0; i < 4; i++)\r
+       {\r
+               Seed[i] = (rand() << 16) ^ rand();\r
+       }\r
+\r
+       //set security parameter for miller-rabin probabilistic primality test\r
+       if (RSA_KeyByteLen >= 256)\r
+       {\r
+               sp = 3;\r
+       }\r
+       else if (RSA_KeyByteLen >= 128)\r
+       {\r
+               sp = 5;\r
+       }\r
+       else if (RSA_KeyByteLen >= 30)\r
+       {\r
+               sp = 15;\r
+       }\r
+       else\r
+       {\r
+               sp = 30;\r
+       }\r
+\r
+GEN_RND:\r
+       //Generate p\r
+       p->Length = (RSA_KeyByteLen + 7) / 8;\r
+       do {\r
+               SDRM_RNG_X931((cc_u8 *)Seed, RSA_KeyByteLen * 4, (cc_u8*)p->pData);\r
+               p->pData[0] |= 1L;\r
+               p->pData[p->Length - 1] &= ~((-1L) << t1);\r
+               p->pData[p->Length - 1] |= (1L << t1);\r
+       } while(SDRM_BN_MILLER_RABIN(p, sp) != CRYPTO_ISPRIME);\r
+\r
+       //Generate q\r
+       q->Length = (RSA_KeyByteLen + 7) / 8;\r
+       do {\r
+               SDRM_RNG_X931((cc_u8 *)Seed, RSA_KeyByteLen * 4, (cc_u8*)q->pData);\r
+               q->pData[0] |= 1L;\r
+               q->pData[q->Length - 1] &= ~((-1L) << t1);\r
+               q->pData[q->Length - 1] |= (1L << t1);\r
+       } while(SDRM_BN_MILLER_RABIN(q, sp) != CRYPTO_ISPRIME);\r
+\r
+       //temp1 = (p - 1), temp2 = (q - 1)\r
+       SDRM_BN_Sub(temp1, p, BN_One);\r
+       SDRM_BN_Sub(temp2, q, BN_One);\r
+\r
+       //evaluate n and pi\r
+       //n = p * q, pi = (p - 1) * (q - 1)\r
+       SDRM_BN_Mul(crt->ctx->rsactx->n, p, q);\r
+       SDRM_BN_Mul(pi, temp1, temp2);\r
+\r
+       //check N for e\r
+       SDRM_OS2BN(RSA_E_Data, RSA_E_Len, e);\r
+       if ((SDRM_BN_CheckRelativelyPrime(e, pi) != CRYPTO_ISPRIME) || (SDRM_BN_Cmp(e, pi) >= 0))\r
+       {\r
+               goto GEN_RND;\r
+       }\r
+\r
+       if (SDRM_BN_ModInv(crt->ctx->rsactx->d, e, pi) != CRYPTO_SUCCESS)\r
+       {\r
+               goto GEN_RND;\r
+       }\r
+\r
+       crt->ctx->rsactx->pm = PaddingMethod;\r
+\r
+       if (RSA_N_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->rsactx->n, RSA_KeyByteLen, RSA_N_Data);\r
+       }\r
+\r
+       if (RSA_N_Len != NULL)\r
+       {\r
+               *RSA_N_Len = RSA_KeyByteLen;\r
+       }\r
+\r
+       if (RSA_D_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->rsactx->d, RSA_KeyByteLen, RSA_D_Data);\r
+       }\r
+\r
+       if (RSA_D_Len != NULL)\r
+       {\r
+               *RSA_D_Len = RSA_KeyByteLen;\r
+       }\r
+       \r
+       free(pbBuf);\r
+       \r
+       crt->ctx->rsactx->crt_operation = 0;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_RSA_GenerateDwithPQE(CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+ *                                              cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+ *                                              cc_u8* RSA_P_Data,   cc_u32 RSA_P_Len,\r
+ *                                              cc_u8* RSA_Q_Data,   cc_u32 RSA_Q_Len,\r
+ *                                              cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+ *                                              cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len)\r
+ * @brief      generate D with specfied p, q, d mod (p-1), d mod (q-1) and e\r
+ *\r
+ * @param      crt                                                     [in/out]rsa context\r
+ * @param      PaddingMethod                           [in]padding method\r
+ * @param      RSA_E_Data                                      [in]e value\r
+ * @param      RSA_E_Len                                       [in]byte-length of e\r
+ * @param      RSA_P_Data                                      [in]n value\r
+ * @param      RSA_P_Len                                       [in]byte-length of n\r
+ * @param      RSA_Q_Data                                      [in]d value\r
+ * @param      RSA_Q_Len                                       [in]byte-length of d\r
+ * @param      RSA_D_P_Data                            [in]d mod (p-1) value\r
+ * @param      RSA_D_P_Len                                     [in]byte-length of d mod (p-1) \r
+ * @param      RSA_D_Q_Data                            [in]d mod (q-1)  value\r
+ * @param      RSA_D_Q_Len                                     [in]byte-length of d mod (q-1) \r
+ * @param      RSA_D_Data                                      [out]d value\r
+ * @param      RSA_D_Len                                       [out]byte-length of d\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_GenerateDwithPQE(CryptoCoreContainer *crt, cc_u32 PaddingMethod,\r
+                                                cc_u8* RSA_E_Data,   cc_u32 RSA_E_Len,\r
+                                                cc_u8* RSA_P_Data,   cc_u32 RSA_P_Len,\r
+                                                cc_u8* RSA_Q_Data,   cc_u32 RSA_Q_Len,\r
+                                                cc_u8* RSA_N_Data,   cc_u32 *RSA_N_Len,\r
+                                                cc_u8* RSA_D_Data,   cc_u32 *RSA_D_Len)\r
+{\r
+       SDRM_BIG_NUM *p, *q, *pi, *e, *temp1, *temp2;\r
+       cc_u32           RSA_KeyByteLen = 0;\r
+       int                      sp;\r
+       cc_u8 *pbBuf = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       RSA_KeyByteLen = crt->ctx->rsactx->k;\r
+               \r
+       pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 5);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       p         = SDRM_BN_Alloc((cc_u8*)pbBuf,                                                  SDRM_RSA_BN_BUFSIZE);\r
+       q         = SDRM_BN_Alloc((cc_u8*)p        + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       pi        = SDRM_BN_Alloc((cc_u8*)q        + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       temp1 = SDRM_BN_Alloc((cc_u8*)pi           + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       temp2 = SDRM_BN_Alloc((cc_u8*)temp1 + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+\r
+       e = crt->ctx->rsactx->e;\r
+\r
+       //set security parameter for miller-rabin probabilistic primality test\r
+       if (RSA_KeyByteLen >= 256)\r
+       {\r
+               sp = 3;\r
+       }\r
+       else if (RSA_KeyByteLen >= 128)\r
+       {\r
+               sp = 5;\r
+       }\r
+       else if (RSA_KeyByteLen >= 30)\r
+       {\r
+               sp = 15;\r
+       }\r
+       else\r
+       {\r
+               sp = 30;\r
+       }\r
+\r
+       SDRM_OS2BN((cc_u8*)RSA_P_Data, RSA_P_Len, p);   \r
+       if (SDRM_BN_MILLER_RABIN(p, sp) != CRYPTO_ISPRIME)\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       SDRM_OS2BN((cc_u8*)RSA_Q_Data, RSA_Q_Len, q);   \r
+       if (SDRM_BN_MILLER_RABIN(q, sp) != CRYPTO_ISPRIME)\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       //temp1 = (p - 1), temp2 = (q - 1)\r
+       SDRM_BN_Sub(temp1, p, BN_One);\r
+       SDRM_BN_Sub(temp2, q, BN_One);\r
+\r
+       //evaluate n and pi\r
+       //n = p * q, pi = (p - 1) * (q - 1)\r
+       SDRM_BN_Mul(crt->ctx->rsactx->n, p, q);\r
+       SDRM_BN_Mul(pi, temp1, temp2);\r
+\r
+       //check N for e\r
+       SDRM_OS2BN(RSA_E_Data, RSA_E_Len, e);\r
+       if ((SDRM_BN_CheckRelativelyPrime(e, pi) != CRYPTO_ISPRIME) || (SDRM_BN_Cmp(e, pi) >= 0))\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (SDRM_BN_ModInv(crt->ctx->rsactx->d, e, pi) != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       crt->ctx->rsactx->pm = PaddingMethod;\r
+\r
+       if (RSA_N_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->rsactx->n, RSA_KeyByteLen, RSA_N_Data);\r
+       }\r
+\r
+       if (RSA_N_Len != NULL)\r
+       {\r
+               *RSA_N_Len = RSA_KeyByteLen;\r
+       }\r
+\r
+       if (RSA_D_Data != NULL)\r
+       {\r
+               SDRM_I2OSP(crt->ctx->rsactx->d, RSA_KeyByteLen, RSA_D_Data);\r
+       }\r
+\r
+       if (RSA_D_Len != NULL)\r
+       {\r
+               *RSA_D_Len = RSA_KeyByteLen;\r
+       }\r
+       \r
+       free(pbBuf);\r
+       \r
+       crt->ctx->rsactx->crt_operation = 0;\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_RSA_encrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen)\r
+ * @brief      RSA Encryption\r
+ *\r
+ * @param      crt                                                     [in]rsa context\r
+ * @param      in                                                      [in]message to encrypt\r
+ * @param      inLen                                           [in]byte-length of in\r
+ * @param      out                                                     [out]encrypted message\r
+ * @param      outLen                                          [out]byte-length of out\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_encrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen)\r
+{\r
+       SDRM_BIG_NUM *BN_pMsg, *BN_Src, *BN_Cipher;\r
+       int                      retVal, cipherLen;\r
+       cc_u32           RSA_KeyByteLen = 0;\r
+       cc_u8            *pbBuf = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (in == NULL) || (out == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       RSA_KeyByteLen = crt->ctx->rsactx->k;\r
+       if (inLen > RSA_KeyByteLen)\r
+       {\r
+               return CRYPTO_MSG_TOO_LONG;\r
+       }\r
+\r
+       pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 3);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_pMsg   = SDRM_BN_Alloc((cc_u8*)pbBuf,                                                 SDRM_RSA_BN_BUFSIZE);\r
+       BN_Src    = SDRM_BN_Alloc((cc_u8*)BN_pMsg + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       BN_Cipher = SDRM_BN_Alloc((cc_u8*)BN_Src  + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+\r
+       SDRM_OS2BN(in, inLen, BN_Src);\r
+\r
+       //Padding the message\r
+       switch(SDRM_LOW_HALF(crt->ctx->rsactx->pm))\r
+       {\r
+               case ID_RSAES_PKCS15 :\r
+                       retVal = SDRM_Padding_Rsaes_pkcs15(BN_pMsg, BN_Src, SDRM_ENPADDING, RSA_KeyByteLen);\r
+                       break;\r
+               case ID_RSAES_OAEP :\r
+                       retVal = SDRM_Padding_Rsaes_oaep(BN_pMsg, BN_Src, SDRM_ENPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), RSA_KeyByteLen);\r
+                       break;\r
+               case ID_NO_PADDING :\r
+                       SDRM_BN_Copy(BN_pMsg, BN_Src);\r
+                       retVal = CRYPTO_SUCCESS;\r
+                       break;\r
+               default :\r
+                       free(pbBuf);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+//     SDRM_PrintBN("ENPADDED Text  : ", BN_pMsg);\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               return retVal;\r
+       }\r
+\r
+       //RSA Encryption by modular exponent\r
+#ifndef _OP64_NOTSUPPORTED\r
+       retVal = SDRM_BN_ModExp2(BN_Cipher, BN_pMsg, crt->ctx->rsactx->e, crt->ctx->rsactx->n);\r
+#else\r
+       retVal = SDRM_BN_ModExp(BN_Cipher, BN_pMsg, crt->ctx->rsactx->e, crt->ctx->rsactx->n);\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               return retVal;\r
+       }\r
+\r
+       SDRM_BN_GETBYTELEN(BN_Cipher, cipherLen);\r
+\r
+       SDRM_I2OSP(BN_Cipher, cipherLen, out);\r
+\r
+       if (outLen != NULL)\r
+       {\r
+               *outLen = cipherLen;\r
+       }\r
+\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_RSA_decrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen)\r
+ * @brief      RSA Decryption\r
+ *\r
+ * @param      crt                                                     [in]rsa context\r
+ * @param      in                                                      [in]message to decrypt\r
+ * @param      inLen                                           [in]byte-length of in\r
+ * @param      out                                                     [out]decrypted message\r
+ * @param      outLen                                          [out]byte-length of out\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_decrypt(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen)\r
+{\r
+       SDRM_BIG_NUM    *BN_dMsg, *BN_Plain, *BN_Src;\r
+       int                             retVal, plainLen;\r
+       cc_u32                  RSA_KeyByteLen = 0;\r
+       cc_u8                   *pbBuf = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (in == NULL) || (out == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       RSA_KeyByteLen = crt->ctx->rsactx->k;\r
+       if (inLen > RSA_KeyByteLen)\r
+       {\r
+               return CRYPTO_MSG_TOO_LONG;\r
+       }\r
+\r
+       pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 3);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_dMsg   = SDRM_BN_Alloc((cc_u8*)pbBuf,                                          SDRM_RSA_BN_BUFSIZE);\r
+       BN_Src    = SDRM_BN_Alloc((cc_u8*)BN_dMsg + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       BN_Plain  = SDRM_BN_Alloc((cc_u8*)BN_Src  + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+\r
+       SDRM_OS2BN(in, inLen, BN_Src);\r
+       \r
+       //RSA Decryption by modular exponent\r
+#ifndef _OP64_NOTSUPPORTED\r
+       retVal = SDRM_BN_ModExp2(BN_dMsg, BN_Src, crt->ctx->rsactx->d, crt->ctx->rsactx->n);\r
+#else\r
+       retVal = SDRM_BN_ModExp(BN_dMsg, BN_Src, crt->ctx->rsactx->d, crt->ctx->rsactx->n);\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               return retVal;\r
+       }\r
+\r
+       //Remove Padding from message\r
+       switch(SDRM_LOW_HALF(crt->ctx->rsactx->pm))\r
+       {\r
+               case ID_RSAES_PKCS15 :\r
+                       retVal = SDRM_Padding_Rsaes_pkcs15(BN_Plain, BN_dMsg, SDRM_DEPADDING, RSA_KeyByteLen);\r
+                       break;\r
+               case ID_RSAES_OAEP :\r
+                       retVal = SDRM_Padding_Rsaes_oaep(BN_Plain, BN_dMsg, SDRM_DEPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), RSA_KeyByteLen);\r
+                       break;\r
+               case ID_NO_PADDING :\r
+                       SDRM_BN_Copy(BN_Plain, BN_dMsg);\r
+                       retVal = CRYPTO_SUCCESS;\r
+                       break;\r
+               default :\r
+                       free(pbBuf);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               return retVal;\r
+       }\r
+\r
+       SDRM_BN_GETBYTELEN(BN_Plain, plainLen);\r
+\r
+       SDRM_I2OSP(BN_Plain, plainLen, out);\r
+\r
+       if (outLen != NULL)\r
+       {\r
+               *outLen = plainLen;\r
+       }\r
+\r
+//     SDRM_PrintBN("DEPADDED Text  : ", BN_Plain);\r
+\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_RSA_decryptByCRT(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen)\r
+ * @brief      RSA Decryption using CRT\r
+ *\r
+ * @param      crt                                                     [in]rsa context\r
+ * @param      in                                                      [in]message to decrypt\r
+ * @param      inLen                                           [in]byte-length of in\r
+ * @param      out                                                     [out]decrypted message\r
+ * @param      outLen                                          [out]byte-length of out\r
+ *\r
+ * @return     CRYPTO_SUCCESS                          if no error is occured\r
+ * \n          CRYPTO_NULL_POINTER                     if an argument is a null pointer\r
+ * \n          CRYPTO_MEMORY_ALLOC_FAIL        if memory allocation is failed\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_decryptByCRT(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen)\r
+{\r
+       SDRM_BIG_NUM    *BN_dMsg, *BN_Plain, *BN_Src;\r
+       int                             retVal, plainLen;\r
+       cc_u32                  RSA_KeyByteLen = 0;\r
+       SDRM_BIG_NUM *pi, *temp1, *temp2, *m1, *m2, *h;\r
+       cc_u8                   *pbBuf = NULL;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (in == NULL) || (out == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (crt->ctx->rsactx->crt_operation != 1)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       RSA_KeyByteLen = crt->ctx->rsactx->k;\r
+       if (inLen > RSA_KeyByteLen)\r
+       {\r
+               return CRYPTO_MSG_TOO_LONG;\r
+       }\r
+\r
+       pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 9);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_dMsg         = SDRM_BN_Alloc((cc_u8*)pbBuf,                                                     SDRM_RSA_BN_BUFSIZE);\r
+       BN_Src          = SDRM_BN_Alloc((cc_u8*)BN_dMsg         + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       BN_Plain        = SDRM_BN_Alloc((cc_u8*)BN_Src          + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       pi                      = SDRM_BN_Alloc((cc_u8*)BN_Plain        + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       temp1           = SDRM_BN_Alloc((cc_u8*)pi                      + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       temp2           = SDRM_BN_Alloc((cc_u8*)temp1           + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       m1                      = SDRM_BN_Alloc((cc_u8*)temp2           + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       m2                      = SDRM_BN_Alloc((cc_u8*)m1                      + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+       h                       = SDRM_BN_Alloc((cc_u8*)m2                      + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+\r
+       SDRM_OS2BN(in, inLen, BN_Src);\r
+       \r
+       //RSA Decryption by CRT\r
+       /*\r
+               dp = d mod (p - 1)\r
+               dq = d mod (q - 1)\r
+               qInv = (1/q) mod p  where p > q\r
+       => \r
+               m1 = c^dp mod p\r
+               m2 = c^dq mod q\r
+               h = qInv(m1 - m2) mod p if (m1 >= m2) or h = qInv(m1 + p - m2) mod p if (m1 < m2)\r
+               m = m2 + hq\r
+       */\r
+\r
+       // Prepare variables\r
+       // 1. dP = d mod (p - 1)\r
+       //      dP is already set when SDRM_RSA_setNEDPQ\r
+\r
+       // 2. dQ = d mod (q - 1)\r
+       //      dQ is already set when SDRM_RSA_setNEDPQ\r
+\r
+       // 3. qInv = (1/q) mod p  where p > q\r
+       //      qInv is already set when SDRM_RSA_setNEDPQ\r
+\r
+       // Computation\r
+       // 4. m1 = c^dP mod p\r
+       if(SDRM_BN_ModExp2(m1, BN_Src, crt->ctx->rsactx->dmodp1, crt->ctx->rsactx->p))\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       // 5. m2 = c^dQ mod q\r
+       if(SDRM_BN_ModExp2(m2, BN_Src, crt->ctx->rsactx->dmodq1, crt->ctx->rsactx->q))\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       // 6. h = qInv(m1 - m2) mod p if (m1 >= m2) or h = qInv(m1 + p - m2) mod p if (m1 < m2)\r
+       if(SDRM_BN_Cmp(m1, m2) < 0)\r
+       {\r
+               if(SDRM_BN_Add(m1, m1, crt->ctx->rsactx->p))\r
+               {\r
+                       free(pbBuf);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+       }\r
+\r
+       if(SDRM_BN_Sub(m1, m1, m2))\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if(SDRM_BN_ModMul(h, crt->ctx->rsactx->iqmodp, m1, crt->ctx->rsactx->p))\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+       \r
+       // 7. m = m2 + hq\r
+       if(SDRM_BN_Mul(h, h, crt->ctx->rsactx->q))\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+               \r
+       if(SDRM_BN_Add(BN_dMsg, m2, h))\r
+       {\r
+               free(pbBuf);\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+//     SDRM_PrintBN("OAEP Text  : ", BN_dMsg);\r
+\r
+       //Remove Padding from message\r
+       switch(SDRM_LOW_HALF(crt->ctx->rsactx->pm))\r
+       {\r
+               case ID_RSAES_PKCS15 :\r
+                       retVal = SDRM_Padding_Rsaes_pkcs15(BN_Plain, BN_dMsg, SDRM_DEPADDING, RSA_KeyByteLen);\r
+                       break;\r
+               case ID_RSAES_OAEP :\r
+                       retVal = SDRM_Padding_Rsaes_oaep(BN_Plain, BN_dMsg, SDRM_DEPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), RSA_KeyByteLen);\r
+                       break;\r
+               case ID_NO_PADDING :\r
+                       SDRM_BN_Copy(BN_Plain, BN_dMsg);\r
+                       retVal = CRYPTO_SUCCESS;\r
+                       break;\r
+               default :\r
+                       free(pbBuf);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               return retVal;\r
+       }\r
+\r
+       SDRM_BN_GETBYTELEN(BN_Plain, plainLen);\r
+\r
+       SDRM_I2OSP(BN_Plain, plainLen, out);\r
+\r
+       if (outLen != NULL)\r
+       {\r
+               *outLen = plainLen;\r
+       }\r
+\r
+//     SDRM_PrintBN("DEPADDED Text  : ", BN_Plain);\r
+\r
+       free(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_RSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen)\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                     [in]crypto env structure\r
+ * @param      hash                            [in]hash value\r
+ * @param      hashLen                         [in]byte-length of hash\r
+ * @param      signature                       [out]generated signature\r
+ * @param      signLen                         [out]byte-length of signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if success\r
+ * \n          CRYPTO_NULL_POINTER     if given argument is a null pointer\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_sign(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 *signLen)\r
+{\r
+       SDRM_BIG_NUM    *BN_pMsg, *BN_Sign;\r
+       cc_u32                  SignatureLength;\r
+       int                             retVal;\r
+       cc_u32                  RSA_KeyByteLen = 0;\r
+       cc_u8                   *pbBuf = NULL;\r
+       cc_u32                  emBits;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (hash == NULL) || (signature == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       RSA_KeyByteLen = crt->ctx->rsactx->k;\r
+       if (hashLen > RSA_KeyByteLen)\r
+       {\r
+               return CRYPTO_MSG_TOO_LONG;\r
+       }\r
+\r
+       pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 3);        \r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_pMsg   = SDRM_BN_Alloc((cc_u8*)pbBuf,                                          SDRM_RSA_BN_BUFSIZE);\r
+       BN_Sign   = SDRM_BN_Alloc((cc_u8*)BN_pMsg + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+\r
+       //Msg Padding\r
+       switch(SDRM_LOW_HALF(crt->ctx->rsactx->pm))\r
+       {\r
+               case ID_RSASSA_PKCS15 :\r
+                       SDRM_Padding_Rsassa_pkcs15(BN_pMsg, NULL, hash, SDRM_ENPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), RSA_KeyByteLen);\r
+                       break;\r
+               case ID_RSASSA_PSS :\r
+                       SDRM_BN_GETBITLEN(crt->ctx->rsactx->n, emBits);\r
+                       SDRM_Padding_Rsassa_pss(BN_pMsg, NULL, hash, emBits, SDRM_ENPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), SDRM_CheckByteUINT32(crt->ctx->rsactx->n->pData, RSA_KeyByteLen - 1));\r
+                       break;\r
+               case ID_NO_PADDING :\r
+                       SDRM_OS2BN(hash, hashLen, BN_pMsg);\r
+                       break;\r
+               default :\r
+                       free(pbBuf);\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+//     SDRM_PrintBN("ENPADDED Msg   : ", BN_pMsg);\r
+\r
+       //RSA Signature by modular exponent\r
+#ifndef _OP64_NOTSUPPORTED\r
+       retVal = SDRM_BN_ModExp2(BN_Sign, BN_pMsg, crt->ctx->rsactx->d, crt->ctx->rsactx->n);\r
+#else\r
+       retVal = SDRM_BN_ModExp(BN_Sign, BN_pMsg, crt->ctx->rsactx->d, crt->ctx->rsactx->n);\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       if (retVal != CRYPTO_SUCCESS) \r
+       {\r
+               free(pbBuf);\r
+               return retVal;\r
+       }\r
+\r
+       SDRM_BN_GETBYTELEN(BN_Sign, SignatureLength);\r
+       SDRM_I2OSP(BN_Sign, SignatureLength, signature);\r
+\r
+       if (signLen != NULL)\r
+       {\r
+               *signLen = SignatureLength;\r
+       }\r
+\r
+       free(pbBuf);\r
+\r
+       return retVal;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_RSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result)\r
+ * @brief      generate signature for given value\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      hash                                    [in]hash value\r
+ * @param      hashLen                                 [in]byte-length of hash\r
+ * @param      signature                               [in]signature\r
+ * @param      signLen                                 [in]byte-length of signature\r
+ * @param      result                                  [in]result of verifying signature\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if the length of signature is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RSA_verify(CryptoCoreContainer *crt, cc_u8 *hash, cc_u32 hashLen, cc_u8 *signature, cc_u32 signLen, int *result)\r
+{\r
+       SDRM_BIG_NUM    *BN_dMsg, *BN_Sign;\r
+       int                             retVal;\r
+       cc_u32                  RSA_KeyByteLen = 0;\r
+       cc_u8                   *pbBuf = NULL;\r
+       cc_u32                  emBits;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rsactx == NULL) || (hash == NULL) || (signature == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       RSA_KeyByteLen = crt->ctx->rsactx->k;\r
+       if (hashLen > RSA_KeyByteLen)\r
+       {\r
+               return CRYPTO_MSG_TOO_LONG;\r
+       }\r
+\r
+       pbBuf = (cc_u8*)malloc(SDRM_RSA_ALLOC_SIZE * 3);\r
+       if (pbBuf == NULL)\r
+       {\r
+               return CRYPTO_MEMORY_ALLOC_FAIL;\r
+       }\r
+\r
+       BN_dMsg   = SDRM_BN_Alloc((cc_u8*)pbBuf,                                          SDRM_RSA_BN_BUFSIZE);\r
+       BN_Sign   = SDRM_BN_Alloc((cc_u8*)BN_dMsg + SDRM_RSA_ALLOC_SIZE, SDRM_RSA_BN_BUFSIZE);\r
+\r
+       SDRM_OS2BN(signature, signLen, BN_Sign);\r
+//     SDRM_PrintBN("Generated Sign : ", BN_Sign);\r
+       \r
+       //RSA Verification by modular exponent\r
+#ifndef _OP64_NOTSUPPORTED\r
+       retVal = SDRM_BN_ModExp2(BN_dMsg, BN_Sign, crt->ctx->rsactx->e, crt->ctx->rsactx->n);\r
+#else\r
+       retVal = SDRM_BN_ModExp(BN_dMsg, BN_Sign, crt->ctx->rsactx->e, crt->ctx->rsactx->n);\r
+#endif //_OP64_NOTSUPPORTED\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               free(pbBuf);\r
+               return retVal;\r
+       }\r
+\r
+       //Msg Depadding\r
+       switch(SDRM_LOW_HALF(crt->ctx->rsactx->pm))\r
+       {\r
+               case ID_RSASSA_PKCS15 :\r
+                       *result = SDRM_Padding_Rsassa_pkcs15(NULL, BN_dMsg, hash, SDRM_DEPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), RSA_KeyByteLen);\r
+                       break;\r
+               case ID_RSASSA_PSS :\r
+                       SDRM_BN_GETBITLEN(crt->ctx->rsactx->n, emBits);\r
+                       *result = SDRM_Padding_Rsassa_pss(NULL, BN_dMsg, hash, emBits, SDRM_DEPADDING, SDRM_HIGH_HALF(crt->ctx->rsactx->pm), SDRM_CheckByteUINT32(crt->ctx->rsactx->n->pData, RSA_KeyByteLen - 1));\r
+                       break;\r
+               case ID_NO_PADDING :\r
+                       SDRM_OS2BN(hash, hashLen, BN_Sign);\r
+                       if (SDRM_BN_Cmp(BN_Sign, BN_dMsg) == 0)\r
+                       {\r
+                               *result = CRYPTO_VALID_SIGN;\r
+                       }\r
+                       else\r
+                       {\r
+                               *result = CRYPTO_INVALID_SIGN;\r
+                       }\r
+\r
+               default :\r
+                       break;\r
+       }\r
+\r
+       SDRM_BN_FREE(pbBuf);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
+\r
diff --git a/SPC/Src/middle/symmetric.c b/SPC/Src/middle/symmetric.c
new file mode 100755 (executable)
index 0000000..e00eb28
--- /dev/null
@@ -0,0 +1,1681 @@
+/**\r
+ * \file       symmetric.c\r
+ * @brief      API for symmetric encryption\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon, Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/11/07\r
+ */\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+////////////////////////////////////////////////////////////////////////////\r
+#include "symmetric.h"\r
+#include "moo.h"\r
+#include "rc4.h"\r
+#include "snow2.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_getEncRoundKey\r
+ * @brief      get scheduled key for encryption\r
+ *\r
+ * @param      Algorithm                               [in]cipher algorithm\r
+ * @param      UserKey                                 [in]user key\r
+ * @param      RoundKey                                [out]round key\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_getEncRoundKey(int Algorithm, cc_u8* UserKey, cc_u8* RoundKey)\r
+{\r
+       if ((UserKey == NULL) || (RoundKey == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       switch (Algorithm)\r
+       {\r
+               case ID_AES128 : \r
+                       SDRM_rijndaelKeySetupEnc((cc_u32*)(void*)RoundKey, UserKey, 128);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_AES192 : \r
+                       SDRM_rijndaelKeySetupEnc((cc_u32*)(void*)RoundKey, UserKey, 192);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_AES256 : \r
+                       SDRM_rijndaelKeySetupEnc((cc_u32*)(void*)RoundKey, UserKey, 256);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_DES : \r
+                       SDRM_DES_KeySched(RoundKey, UserKey, 0, 1);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_TDES_EDE2 : \r
+                       SDRM_TDES_KeySched(RoundKey, UserKey, 16, 1);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_TDES_EDE3 : \r
+                       SDRM_TDES_KeySched(RoundKey, UserKey, 24, 1);\r
+                       return CRYPTO_SUCCESS;\r
+               default :\r
+                       break;\r
+       }\r
+\r
+       return CRYPTO_INVALID_ARGUMENT;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_getDecRoundKey\r
+ * @brief      get scheduled key for decryption\r
+ *\r
+ * @param      Algorithm                               [in]cipher algorithm\r
+ * @param      UserKey                                 [in]user key\r
+ * @param      RoundKey                                [out]round key\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_getDecRoundKey(int Algorithm, cc_u8* UserKey, cc_u8* RoundKey)\r
+{\r
+       if ((UserKey == NULL) || (RoundKey == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       switch (Algorithm)\r
+       {\r
+               case ID_AES128 : \r
+                       SDRM_rijndaelKeySetupDec((cc_u32*)(void*)RoundKey, UserKey, 128);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_AES192 : \r
+                       SDRM_rijndaelKeySetupDec((cc_u32*)(void*)RoundKey, UserKey, 192);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_AES256 : \r
+                       SDRM_rijndaelKeySetupDec((cc_u32*)(void*)RoundKey, UserKey, 256);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_DES : \r
+                       SDRM_DES_KeySched(RoundKey, UserKey, 15, (cc_u32)-1);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_TDES_EDE2 : \r
+                       SDRM_TDES_KeySched(RoundKey, UserKey, 16, (cc_u32)-1);\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_TDES_EDE3 : \r
+                       SDRM_TDES_KeySched(RoundKey, UserKey, 24, (cc_u32)-1);\r
+                       return CRYPTO_SUCCESS;\r
+               default :\r
+                       break;\r
+       }\r
+\r
+       return CRYPTO_INVALID_ARGUMENT;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_AES_init\r
+ * @brief      intialize crypt context for aes\r
+ *\r
+ * @param      crt                                             [out]crypto env structure\r
+ * @param      mode                                    [in]encryption|decryption and mode of operation\r
+ * @param      PADDING                                 [in]padding method\r
+ * @param      key                                             [in]user key\r
+ * @param      keysize                                 [in]byte-length of key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->aesctx == NULL) || (key == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (!(((mode >= 1111) && (mode <= 1115)) || ((mode >= 1121) && (mode <= 1125))))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (!((crt->alg == ID_AES128) && (keysize == 16)) &&\r
+               !((crt->alg == ID_AES192) && (keysize == 24)) &&\r
+               !((crt->alg == ID_AES256) && (keysize == 32)))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if ((crt->alg != ID_AES128) && (crt->alg != ID_AES192) && (crt->alg != ID_AES256))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if ((PADDING != 0) && (PADDING != ID_PKCS5) && (PADDING != ID_SSL_PADDING) && (PADDING != ID_ZERO_PADDING) && (PADDING != ID_NO_PADDING))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       crt->ctx->aesctx->moo = mode;\r
+\r
+       crt->ctx->aesctx->padding = PADDING;\r
+\r
+       if (mode != ID_DEC_ECB && mode != ID_DEC_CBC)\r
+       {\r
+               SDRM_getEncRoundKey(crt->alg, key, crt->ctx->aesctx->RoundKey);\r
+       }\r
+       else\r
+       {\r
+               SDRM_getDecRoundKey(crt->alg, key, crt->ctx->aesctx->RoundKey);\r
+       }\r
+       \r
+       if (IV)\r
+       {\r
+               memcpy(crt->ctx->aesctx->IV, IV, SDRM_AES_BLOCK_SIZ);\r
+       }\r
+       else\r
+       {\r
+               memset(crt->ctx->aesctx->IV, 0x00, SDRM_AES_BLOCK_SIZ);\r
+       }\r
+\r
+       crt->ctx->aesctx->BlockLen = 0;\r
+\r
+       GET_UINT32(crt->ctx->aesctx->CTR_Count, crt->ctx->aesctx->IV + 12, 0);\r
+\r
+       return CRYPTO_SUCCESS;\r
+\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_AES_process\r
+ * @brief      process message block\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      Text                                    [in]message block\r
+ * @param      TextLen                                 [in]byte-length of Text\r
+ * @param      output                                  [out]proecessed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen)\r
+{\r
+       int i, Temp;\r
+       int retVal, BlockLen;\r
+       cc_u8 *Block;\r
+       cc_u32 tempLen = 0;\r
+\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = 0;\r
+       }\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->aesctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       Block = crt->ctx->aesctx->Block;\r
+       BlockLen = crt->ctx->aesctx->BlockLen;\r
+\r
+       if ((TextLen + BlockLen) < SDRM_AES_BLOCK_SIZ)\r
+       {\r
+               memcpy(Block + BlockLen, Text, TextLen);\r
+               crt->ctx->aesctx->BlockLen += TextLen;\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if (BlockLen)\r
+       {\r
+               memcpy(Block + BlockLen, Text, SDRM_AES_BLOCK_SIZ - BlockLen);\r
+\r
+               switch(crt->ctx->aesctx->moo)\r
+               {\r
+                       case ID_ENC_ECB :\r
+                               retVal = SDRM_ECB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CBC :\r
+                               retVal = SDRM_CBC_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CFB :\r
+                               retVal = SDRM_CFB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_OFB :\r
+                               retVal = SDRM_OFB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CTR :\r
+                               retVal = SDRM_CTR_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_ECB : \r
+                               retVal = SDRM_ECB_Dec(crt->alg, output, Block, crt->ctx->aesctx->RoundKey);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CBC :\r
+                               retVal = SDRM_CBC_Dec(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CFB :\r
+                               retVal = SDRM_CFB_Dec(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_OFB :\r
+                               retVal = SDRM_OFB_Dec(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CTR : \r
+                               retVal = SDRM_CTR_Dec(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       default :\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+       }\r
+\r
+       Temp = TextLen - SDRM_AES_BLOCK_SIZ + 1;\r
+       for (i = (SDRM_AES_BLOCK_SIZ - BlockLen) & 0x0f; i < Temp; i += SDRM_AES_BLOCK_SIZ)\r
+       {\r
+               switch(crt->ctx->aesctx->moo)\r
+               {\r
+                       case ID_ENC_ECB : \r
+                               retVal = SDRM_ECB_Enc(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CBC :\r
+                               retVal = SDRM_CBC_Enc(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CFB :\r
+                               retVal = SDRM_CFB_Enc(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_OFB :\r
+                               retVal = SDRM_OFB_Enc(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CTR : \r
+                               retVal = SDRM_CTR_Enc(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_ECB : \r
+                               retVal = SDRM_ECB_Dec(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CBC :\r
+                               retVal = SDRM_CBC_Dec(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CFB :\r
+                               retVal = SDRM_CFB_Dec(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_OFB :\r
+                               retVal = SDRM_OFB_Dec(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CTR : \r
+                               retVal = SDRM_CTR_Dec(crt->alg, output + tempLen, Text + i, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++);\r
+                               tempLen += SDRM_AES_BLOCK_SIZ;\r
+                               break;\r
+                       default :\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+       }\r
+\r
+       crt->ctx->aesctx->BlockLen = (SDRM_AES_BLOCK_SIZ + TextLen - i) & 0x0f;\r
+       memcpy(Block, Text + TextLen - crt->ctx->aesctx->BlockLen, crt->ctx->aesctx->BlockLen);\r
+\r
+       if (outputLen != 0)\r
+       {\r
+               *outputLen = tempLen;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         SDRM_AES_final\r
+ * @brief      process final block and padding\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      input                                   [in]message block\r
+ * @param      inputLen                                [in]byte-length of Text\r
+ * @param      output                                  [out]processed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_AES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen)\r
+{\r
+       int retVal = CRYPTO_SUCCESS;\r
+       cc_u8 *Block, PADDING[16];\r
+       cc_u32 BlockLen;\r
+       cc_u8 t;\r
+\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = 0;\r
+       }\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->aesctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       Block = crt->ctx->aesctx->Block;\r
+       BlockLen = crt->ctx->aesctx->BlockLen;\r
+\r
+\r
+       if (crt->ctx->aesctx->moo >= ID_DEC_ECB)\r
+       {\r
+               goto DECRYPTION;\r
+       }\r
+\r
+//ENCRYPTION:\r
+       if (inputLen != 0)\r
+       {\r
+               unsigned int temp;\r
+               retVal = SDRM_AES_process(crt, input, inputLen, output, &temp);\r
+\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+\r
+               retVal = SDRM_AES_final(crt, NULL, 0, output + temp, outputLen);\r
+               \r
+               if (outputLen)\r
+               {\r
+                       *outputLen += temp;\r
+               }\r
+\r
+               return retVal;\r
+       }\r
+\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = SDRM_AES_BLOCK_SIZ;\r
+       }\r
+\r
+       //padding\r
+       switch(crt->ctx->aesctx->padding)\r
+       {\r
+               case 0 :\r
+               case ID_PKCS5 :\r
+                       memset(Block + BlockLen, SDRM_AES_BLOCK_SIZ - BlockLen, SDRM_AES_BLOCK_SIZ - BlockLen);\r
+                       break;\r
+               case ID_SSL_PADDING :\r
+                       memset(Block + BlockLen, SDRM_AES_BLOCK_SIZ - BlockLen - 1, SDRM_AES_BLOCK_SIZ - BlockLen);\r
+                       break;\r
+               case ID_ZERO_PADDING :\r
+                       memset(Block + BlockLen, 0x00, SDRM_AES_BLOCK_SIZ - BlockLen);\r
+                       break;\r
+               case ID_NO_PADDING :\r
+                       if (BlockLen == 0)\r
+                       {\r
+                               if (outputLen)\r
+                               {\r
+                                       *outputLen = 0;\r
+                               }\r
+                               return CRYPTO_SUCCESS;\r
+                       }\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       //encryption\r
+       switch(crt->ctx->aesctx->moo)\r
+       {\r
+               case ID_ENC_ECB : \r
+                       retVal = SDRM_ECB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey);\r
+                       break;\r
+               case ID_ENC_CBC :\r
+                       retVal = SDRM_CBC_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                       break;\r
+               case ID_ENC_CFB :\r
+                       retVal = SDRM_CFB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                       break;\r
+               case ID_ENC_OFB :\r
+                       retVal = SDRM_OFB_Enc(crt->alg, output, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                       break;\r
+               case ID_ENC_CTR : \r
+                       retVal = SDRM_CTR_Enc(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++);\r
+                       memcpy(output, Block, BlockLen);\r
+                       if(outputLen != NULL)\r
+                       {\r
+                               *outputLen = BlockLen;\r
+                       }\r
+                       break;\r
+               default :\r
+                       retVal = CRYPTO_INVALID_ARGUMENT;\r
+                       break;\r
+       }\r
+\r
+       return retVal;\r
+\r
+DECRYPTION:\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = 0;\r
+       }\r
+\r
+       if ((inputLen == 0) && (crt->ctx->aesctx->padding == ID_NO_PADDING) && (crt->ctx->aesctx->moo != ID_DEC_CTR))\r
+       {\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if (((BlockLen + inputLen) != SDRM_AES_BLOCK_SIZ) && (crt->ctx->aesctx->moo != ID_DEC_CTR))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (inputLen != 0)\r
+       {\r
+               memcpy(Block + BlockLen, input, inputLen);\r
+       }\r
+\r
+       switch(crt->ctx->aesctx->moo)\r
+       {\r
+               case ID_DEC_ECB : \r
+                       retVal = SDRM_ECB_Dec(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey);\r
+                       break;\r
+               case ID_DEC_CBC :\r
+                       retVal = SDRM_CBC_Dec(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                       break;\r
+               case ID_DEC_CFB :\r
+                       retVal = SDRM_CFB_Dec(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                       break;\r
+               case ID_DEC_OFB :\r
+                       retVal = SDRM_OFB_Dec(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV);\r
+                       break;\r
+               case ID_DEC_CTR : \r
+                       retVal = SDRM_CTR_Dec(crt->alg, Block, Block, crt->ctx->aesctx->RoundKey, crt->ctx->aesctx->IV, crt->ctx->aesctx->CTR_Count++);\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               return retVal;\r
+       }\r
+\r
+       //de-padding\r
+\r
+       t = Block[SDRM_AES_BLOCK_SIZ - 1];\r
+\r
+       switch(crt->ctx->aesctx->padding)\r
+       {\r
+               case 0 :\r
+               case ID_PKCS5 :\r
+                       if ((t > SDRM_AES_BLOCK_SIZ) || (t < 1))\r
+                       {\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+                       }\r
+                       memset(PADDING, t, t);\r
+                       break;\r
+               case ID_SSL_PADDING :\r
+                       ++t;\r
+                       if ((t > SDRM_AES_BLOCK_SIZ) || (t < 1))\r
+                       {\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+                       }\r
+                       memset(PADDING, t - 1, t);\r
+                       break;\r
+               case ID_ZERO_PADDING :\r
+                       {\r
+                               cc_u32 tmpLen;\r
+                               tmpLen = SDRM_AES_BLOCK_SIZ;\r
+                               while((tmpLen != 0x00) && (Block[tmpLen - 1] == 0x00))\r
+                               {\r
+                                       tmpLen--;\r
+                               }\r
+\r
+                               memcpy(output, Block, tmpLen);\r
+\r
+                               if (outputLen != NULL)\r
+                               {\r
+                                       *outputLen = tmpLen;\r
+                               }\r
+                       }\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_NO_PADDING :\r
+                       {\r
+                               cc_u32 tmpLen;\r
+                               tmpLen = SDRM_AES_BLOCK_SIZ;\r
+\r
+                               if (crt->ctx->aesctx->moo == ID_DEC_CTR)\r
+                               {\r
+                                       tmpLen = BlockLen + inputLen;\r
+                               }\r
+                               else\r
+                               {\r
+                                       tmpLen = SDRM_AES_BLOCK_SIZ;\r
+                               }\r
+\r
+                               memcpy(output, Block, tmpLen);\r
+\r
+                               if (outputLen != NULL)\r
+                               {\r
+                                       *outputLen = tmpLen;\r
+                               }\r
+                       }\r
+                       return CRYPTO_SUCCESS;\r
+               default :\r
+                       if (outputLen != NULL)\r
+                       {\r
+                               *outputLen = 0;\r
+                       }\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (memcmp(PADDING, Block + SDRM_AES_BLOCK_SIZ - t, t) != 0)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       memcpy(output, Block, SDRM_AES_BLOCK_SIZ -t);\r
+\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = SDRM_AES_BLOCK_SIZ - t;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_RC4_init\r
+ * @brief      intialize crypt context for RC4\r
+ *\r
+ * @param      crt                                             [out]crypto env structure\r
+ * @param      mode                                    [in]encryption|decryption and mode of operation\r
+ * @param      PADDING                                 [in]padding method, not needed\r
+ * @param      key                                             [in]user key\r
+ * @param      keysize                                 [in]byte-length of key\r
+ * @param      IV                                              [in]initial vector, not needed\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RC4_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rc4ctx == NULL) || (key == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (keysize > 32)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       SDRM_RC4_Setup(crt->ctx->rc4ctx, key, keysize);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_RC4_process\r
+ * @brief      process message block\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      in                                              [in]message block\r
+ * @param      inLen                                   [in]byte-length of Text\r
+ * @param      out                                             [out]processed message\r
+ * @param      outLen                                  [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_RC4_process(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->rc4ctx == NULL) || (in == NULL) || (out == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+\r
+       SDRM_RC4_PRNG(crt->ctx->rc4ctx, in, inLen, out);\r
+\r
+       if (outLen != NULL)\r
+       {\r
+               *outLen = inLen;\r
+       }\r
+       \r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         SDRM_SNOW2_init\r
+ * @brief      intialize crypt context for SNOW2\r
+ *\r
+ * @param      crt                                             [out]crypto env structure\r
+ * @param      mode                                    [in]encryption|decryption and mode of operation\r
+ * @param      PADDING                                 [in]padding method, not needed\r
+ * @param      key                                             [in]user key\r
+ * @param      keysize                                 [in]byte-length of key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SNOW2_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->snow2ctx == NULL) || (key == NULL) || (IV == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if ((keysize != 16) && (keysize != 32))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       SDRM_SNOW2_Setup(crt->ctx->snow2ctx, key, keysize, IV);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_SNOW2_process\r
+ * @brief      process message block\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      in                                              [in]message block       \r
+ * @param      inLen                                   [in]byte-length of Text\r
+ * @param      out                                             [out]processed message\r
+ * @param      outLen                                  [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_SNOW2_process(CryptoCoreContainer *crt, cc_u8 *in, cc_u32 inLen, cc_u8 *out, cc_u32 *outLen)\r
+{\r
+       cc_u32 i, j, BlockLen, rpt, loc;\r
+       cc_u32 keyStream64[16], keyStream;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->snow2ctx == NULL) || (in == NULL) || (out == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if ((inLen & 0x03) != 0)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       BlockLen = inLen / 64;\r
+\r
+       if (crt->ctx->snow2ctx->endian == CRYPTO_LITTLE_ENDIAN)\r
+       {                               //little endian machine\r
+               for (i = 0; i < BlockLen; i++)\r
+               {\r
+                       SDRM_SNOW2_getKeyStream64(crt->ctx->snow2ctx, keyStream64);\r
+\r
+                       for (j = 0; j < 16; j++)\r
+                       {\r
+                               loc = i * 64 + j * 4;\r
+                               out[loc    ] = (cc_u8)(in[loc    ] ^ ((keyStream64[j] >> 24) & 0xff));\r
+                               out[loc + 1] = (cc_u8)(in[loc + 1] ^ ((keyStream64[j] >> 16) & 0xff));\r
+                               out[loc + 2] = (cc_u8)(in[loc + 2] ^ ((keyStream64[j] >>  8) & 0xff));\r
+                               out[loc + 3] = (cc_u8)(in[loc + 3] ^ ((keyStream64[j]      ) & 0xff));\r
+                       }\r
+               }\r
+       } \r
+       else\r
+       {                               //big endian machine\r
+               for (i = 0; i < BlockLen; i++)\r
+               {\r
+                       SDRM_SNOW2_getKeyStream64(crt->ctx->snow2ctx, keyStream64);\r
+                       \r
+                       for (j = 0; j < 16; j++)\r
+                       {\r
+                               ((cc_u32*)(void*)out)[j] = ((cc_u32*)(void*)in)[j] ^ keyStream64[j];\r
+                       }\r
+               }\r
+       }\r
+\r
+       in += BlockLen * 64;\r
+       out += BlockLen * 64;\r
+\r
+       rpt = (inLen - (BlockLen * 64)) / 4;\r
+\r
+       if (crt->ctx->snow2ctx->endian == CRYPTO_LITTLE_ENDIAN)\r
+       {                               //little endian machine\r
+               for (i = 0; i < rpt; i++)\r
+               {\r
+                       SDRM_SNOW2_getKeyStream(crt->ctx->snow2ctx, &keyStream);\r
+                       loc = i * 4;\r
+                       out[loc    ] = (cc_u8)(in[loc    ] ^ ((keyStream >> 24) & 0xff));\r
+                       out[loc + 1] = (cc_u8)(in[loc + 1] ^ ((keyStream >> 16) & 0xff));\r
+                       out[loc + 2] = (cc_u8)(in[loc + 2] ^ ((keyStream >>  8) & 0xff));\r
+                       out[loc + 3] = (cc_u8)(in[loc + 3] ^ ((keyStream          ) & 0xff));\r
+               }\r
+       }\r
+       else\r
+       {                               //big endian machine\r
+               for (i = 0; i < rpt; i++)\r
+               {\r
+                       SDRM_SNOW2_getKeyStream(crt->ctx->snow2ctx, &keyStream);\r
+                       ((cc_u32*)(void*)out)[i] = ((cc_u32*)(void*)in)[i] ^ keyStream;\r
+               }\r
+       }\r
+\r
+       if (outLen != NULL)\r
+       {\r
+               *outLen = inLen;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DES_init\r
+ * @brief      intialize crypt context for des\r
+ *\r
+ * @param      crt                                             [out]crypto env structure\r
+ * @param      mode                                    [in]encryption|decryption and mode of operation\r
+ * @param      PADDING                                 [in]padding method\r
+ * @param      key                                             [in]user key\r
+ * @param      keysize                                 [in]byte-length of key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->desctx == NULL) || (key == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if ((keysize != 8) || !(((mode >= 1111) && (mode <= 1115)) || ((mode >= 1121) && (mode <= 1125))))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       crt->ctx->desctx->moo = mode;\r
+\r
+       if ((PADDING != 0) && (PADDING != ID_PKCS5) && (PADDING != ID_SSL_PADDING) && (PADDING != ID_ZERO_PADDING) && (PADDING != ID_NO_PADDING))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       crt->ctx->desctx->padding = PADDING;\r
+\r
+\r
+       if (mode != ID_DEC_ECB && mode != ID_DEC_CBC)\r
+       {\r
+               SDRM_getEncRoundKey(ID_DES, key, (cc_u8*)(crt->ctx->desctx->RoundKey));\r
+       }\r
+       else\r
+       {\r
+               SDRM_getDecRoundKey(ID_DES, key, (cc_u8*)(crt->ctx->desctx->RoundKey));\r
+       }\r
+       \r
+       crt->ctx->desctx->BlockLen = 0;\r
+       crt->ctx->desctx->CTR_Count = 0;\r
+\r
+       memcpy(crt->ctx->desctx->UserKey, key, SDRM_DES_BLOCK_SIZ);\r
+\r
+       if (IV)\r
+       {\r
+               memcpy(crt->ctx->desctx->IV, IV, SDRM_DES_BLOCK_SIZ);\r
+       }\r
+       else\r
+       {\r
+               memset(crt->ctx->desctx->IV, 0x00, SDRM_DES_BLOCK_SIZ);\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DES_process\r
+ * @brief      process message block\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      Text                                    [in]message block\r
+ * @param      TextLen                                 [in]byte-length of Text\r
+ * @param      output                                  [out]proecessed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen)\r
+{\r
+       int             i, Temp;\r
+       int             retVal, BlockLen;\r
+       cc_u8   *Block;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->desctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       Block = crt->ctx->desctx->Block;\r
+       BlockLen = crt->ctx->desctx->BlockLen;\r
+\r
+       *outputLen = 0;\r
+\r
+       if ((TextLen + BlockLen) < SDRM_DES_BLOCK_SIZ)\r
+       {\r
+               memcpy(Block + BlockLen, Text, TextLen);\r
+               crt->ctx->desctx->BlockLen += TextLen;\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if (BlockLen)\r
+       {\r
+               memcpy(Block + BlockLen, Text, SDRM_DES_BLOCK_SIZ - BlockLen);\r
+\r
+               switch(crt->ctx->desctx->moo)\r
+               {\r
+                       case ID_ENC_ECB :\r
+                               retVal = SDRM_ECB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CBC :\r
+                               retVal = SDRM_CBC_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CFB :\r
+                               retVal = SDRM_CFB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_OFB :\r
+                               retVal = SDRM_OFB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CTR :\r
+                               retVal = SDRM_CTR_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_ECB : \r
+                               retVal = SDRM_ECB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CBC :\r
+                               retVal = SDRM_CBC_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CFB :\r
+                               retVal = SDRM_CFB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_OFB :\r
+                               retVal = SDRM_OFB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CTR : \r
+                               retVal = SDRM_CTR_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       default :\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+       }\r
+\r
+       Temp = TextLen + BlockLen - SDRM_DES_BLOCK_SIZ + 1;\r
+       for (i = (SDRM_DES_BLOCK_SIZ - BlockLen) & 0x07; i < Temp; i += SDRM_DES_BLOCK_SIZ)\r
+       {\r
+               switch(crt->ctx->desctx->moo)\r
+               {\r
+                       case ID_ENC_ECB : \r
+                               retVal = SDRM_ECB_Enc(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CBC :\r
+                               retVal = SDRM_CBC_Enc(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CFB :\r
+                               retVal = SDRM_CFB_Enc(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_OFB :\r
+                               retVal = SDRM_OFB_Enc(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CTR : \r
+                               retVal = SDRM_CTR_Enc(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_ECB : \r
+                               retVal = SDRM_ECB_Dec(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CBC :\r
+                               retVal = SDRM_CBC_Dec(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CFB :\r
+                               retVal = SDRM_CFB_Dec(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_OFB :\r
+                               retVal = SDRM_OFB_Dec(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CTR : \r
+                               retVal = SDRM_CTR_Dec(ID_DES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       default :\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+       }\r
+\r
+       crt->ctx->desctx->BlockLen = (SDRM_DES_BLOCK_SIZ + TextLen - i) & 0x07;\r
+       memcpy(Block, Text + TextLen - crt->ctx->desctx->BlockLen, crt->ctx->desctx->BlockLen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_DES_final\r
+ * @brief      process final block and padding\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      input                                   [in]message block\r
+ * @param      inputLen                                [in]byte-length of Text\r
+ * @param      output                                  [out]processed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_DES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen)\r
+{\r
+       int             retVal = CRYPTO_SUCCESS;\r
+       cc_u8   *Block, PADDING[16];\r
+       cc_u32  BlockLen, t;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->desctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       Block = crt->ctx->desctx->Block;\r
+       BlockLen = crt->ctx->desctx->BlockLen;\r
+\r
+       if (crt->ctx->desctx->moo >= ID_DEC_ECB)\r
+       {\r
+               goto DECRYPTION;\r
+       }\r
+\r
+//ENCRYPTION:\r
+       if (inputLen != 0)\r
+       {\r
+               retVal = SDRM_DES_process(crt, input, inputLen, output, outputLen);\r
+\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+\r
+               retVal = SDRM_DES_final(crt, NULL, 0, output + *outputLen, &t);\r
+               *outputLen += t;\r
+\r
+               return retVal;\r
+       }\r
+\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = SDRM_DES_BLOCK_SIZ;\r
+       }\r
+\r
+       //padding\r
+       switch(crt->ctx->desctx->padding)\r
+       {\r
+               case 0 :\r
+               case ID_PKCS5 :\r
+                       memset(Block + BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen);\r
+                       break;\r
+               case ID_SSL_PADDING :\r
+                       memset(Block + BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen - 1, SDRM_DES_BLOCK_SIZ - BlockLen);\r
+                       break;\r
+               case ID_ZERO_PADDING :\r
+                       memset(Block + BlockLen, 0x00, SDRM_DES_BLOCK_SIZ - BlockLen);\r
+                       break;\r
+               case ID_NO_PADDING :\r
+                       if (BlockLen == 0)\r
+                       {\r
+                               if (outputLen)\r
+                               {\r
+                                       *outputLen = 0;\r
+                               }\r
+                               return CRYPTO_SUCCESS;\r
+                       }\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+\r
+       //encryption\r
+       switch(crt->ctx->desctx->moo)\r
+       {\r
+               case ID_ENC_ECB : \r
+                       retVal = SDRM_ECB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey);\r
+                       break;\r
+               case ID_ENC_CBC :\r
+                       retVal = SDRM_CBC_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                       break;\r
+               case ID_ENC_CFB :\r
+                       retVal = SDRM_CFB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                       break;\r
+               case ID_ENC_OFB :\r
+                       retVal = SDRM_OFB_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                       break;\r
+               case ID_ENC_CTR : \r
+                       retVal = SDRM_CTR_Enc(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++);\r
+                       break;\r
+               default :\r
+                       retVal = CRYPTO_INVALID_ARGUMENT;\r
+                       break;\r
+       }\r
+\r
+       return retVal;\r
+\r
+DECRYPTION:\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = 0;\r
+       }\r
+\r
+       if ((inputLen == 0) && (crt->ctx->desctx->padding == ID_NO_PADDING))\r
+       {\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if ((BlockLen + inputLen) != SDRM_DES_BLOCK_SIZ)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (inputLen != 0)\r
+       {\r
+               memcpy(Block + BlockLen, input, inputLen);\r
+       }\r
+\r
+       switch(crt->ctx->desctx->moo)\r
+       {\r
+               case ID_DEC_ECB : \r
+                       retVal = SDRM_ECB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey);\r
+                       break;\r
+               case ID_DEC_CBC :\r
+                       retVal = SDRM_CBC_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                       break;\r
+               case ID_DEC_CFB :\r
+                       retVal = SDRM_CFB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                       break;\r
+               case ID_DEC_OFB :\r
+                       retVal = SDRM_OFB_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV);\r
+                       break;\r
+               case ID_DEC_CTR : \r
+                       retVal = SDRM_CTR_Dec(ID_DES, output, Block, (cc_u8*)crt->ctx->desctx->RoundKey, crt->ctx->desctx->IV, crt->ctx->desctx->CTR_Count++);\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               return retVal;\r
+       }\r
+\r
+       //de-padding\r
+       t = output[SDRM_DES_BLOCK_SIZ - 1];\r
+\r
+       switch(crt->ctx->desctx->padding)\r
+       {\r
+               case 0 :\r
+               case ID_PKCS5 :\r
+                       if ((t > SDRM_DES_BLOCK_SIZ) || (t < 1))\r
+                       {\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+                       }\r
+                       memset(PADDING, t, t);\r
+                       break;\r
+               case ID_SSL_PADDING :\r
+                       ++t;\r
+                       if ((t > SDRM_DES_BLOCK_SIZ) || (t < 1))\r
+                       {\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+                       }\r
+                       memset(PADDING, t - 1, t);\r
+                       break;\r
+               case ID_ZERO_PADDING :\r
+                       {\r
+                               cc_u32 tmpLen;\r
+                               tmpLen = SDRM_DES_BLOCK_SIZ;\r
+                               while((tmpLen != 0x00) && (output[tmpLen - 1] == 0x00))\r
+                               {\r
+                                       tmpLen--;\r
+                               }\r
+\r
+                               if (outputLen != NULL)\r
+                               {\r
+                                       *outputLen = tmpLen;\r
+                               }\r
+                       }\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_NO_PADDING :\r
+                       if (outputLen != NULL)\r
+                       {\r
+                               *outputLen = SDRM_DES_BLOCK_SIZ;\r
+                       }\r
+                       return CRYPTO_SUCCESS;\r
+               default :\r
+                       if (outputLen != NULL)\r
+                       {\r
+                               *outputLen = 0;\r
+                       }\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (memcmp(PADDING, output + SDRM_DES_BLOCK_SIZ - t, t) != 0)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = SDRM_DES_BLOCK_SIZ - t;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_TDES_init\r
+ * @brief      intialize crypt context for triple des\r
+ *\r
+ * @param      crt                                             [out]crypto env structure\r
+ * @param      mode                                    [in]encryption|decryption and mode of operation\r
+ * @param      PADDING                                 [in]padding method\r
+ * @param      key                                             [in]user key\r
+ * @param      keysize                                 [in]byte-length of key\r
+ * @param      IV                                              [in]initial vector\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES_init(CryptoCoreContainer *crt, cc_u32 mode, cc_u32 PADDING, cc_u8 *key, cc_u32 keysize, cc_u8 *IV)\r
+{\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->tdesctx == NULL) || (key == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       if (((keysize != 16) && (keysize != 24)) || !(((mode >= 1111) && (mode <= 1115)) || ((mode >= 1121) && (mode <= 1125))))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       crt->ctx->tdesctx->moo = mode;\r
+\r
+       if ((PADDING != 0) && (PADDING != ID_PKCS5) && (PADDING != ID_SSL_PADDING) && (PADDING != ID_ZERO_PADDING) && (PADDING != ID_NO_PADDING))\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       crt->ctx->tdesctx->padding = PADDING;\r
+\r
+       if ((mode != ID_DEC_ECB) && (mode != ID_DEC_CBC))\r
+       {\r
+               if (keysize == 16)\r
+               {\r
+                       SDRM_getEncRoundKey(ID_TDES_EDE2, key, (cc_u8*)(crt->ctx->tdesctx->RoundKey));\r
+               }\r
+               else\r
+               {\r
+                       SDRM_getEncRoundKey(ID_TDES_EDE3, key, (cc_u8*)(crt->ctx->tdesctx->RoundKey));\r
+               }\r
+       } else\r
+       {\r
+               if (keysize == 16)\r
+               {\r
+                       SDRM_getDecRoundKey(ID_TDES_EDE2, key, (cc_u8*)(crt->ctx->tdesctx->RoundKey));\r
+               }\r
+               else\r
+               {\r
+                       SDRM_getDecRoundKey(ID_TDES_EDE3, key, (cc_u8*)(crt->ctx->tdesctx->RoundKey));\r
+               }\r
+       }\r
+       \r
+       crt->ctx->tdesctx->BlockLen = 0;\r
+       crt->ctx->tdesctx->CTR_Count = 0;\r
+\r
+       memcpy(crt->ctx->tdesctx->UserKey, key, SDRM_DES_BLOCK_SIZ);\r
+\r
+       if (IV)\r
+       {\r
+               memcpy(crt->ctx->tdesctx->IV, IV, SDRM_DES_BLOCK_SIZ);\r
+       }\r
+       else\r
+       {\r
+               memset(crt->ctx->tdesctx->IV, 0x00, SDRM_DES_BLOCK_SIZ);\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         int SDRM_TDES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen)\r
+ * @brief      process message block\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      Text                                    [in]message block\r
+ * @param      TextLen                                 [in]byte-length of Text\r
+ * @param      output                                  [out]proecessed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES_process(CryptoCoreContainer *crt, cc_u8 *Text, cc_u32 TextLen, cc_u8 *output, cc_u32 *outputLen)\r
+{\r
+       int             i, Temp;\r
+       int             retVal, BlockLen;\r
+       cc_u8   *Block;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->tdesctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       Block = crt->ctx->tdesctx->Block;\r
+       BlockLen = crt->ctx->tdesctx->BlockLen;\r
+\r
+       *outputLen = 0;\r
+\r
+       if ((TextLen + BlockLen) < SDRM_DES_BLOCK_SIZ)\r
+       {\r
+               memcpy(Block + BlockLen, Text, TextLen);\r
+               crt->ctx->tdesctx->BlockLen += TextLen;\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if (BlockLen)\r
+       {\r
+               memcpy(Block + BlockLen, Text, SDRM_DES_BLOCK_SIZ - BlockLen);\r
+\r
+               switch(crt->ctx->tdesctx->moo)\r
+               {\r
+                       case ID_ENC_ECB :\r
+                               retVal = SDRM_ECB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CBC :\r
+                               retVal = SDRM_CBC_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CFB :\r
+                               retVal = SDRM_CFB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_OFB :\r
+                               retVal = SDRM_OFB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CTR :\r
+                               retVal = SDRM_CTR_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_ECB : \r
+                               retVal = SDRM_ECB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CBC :\r
+                               retVal = SDRM_CBC_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CFB :\r
+                               retVal = SDRM_CFB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_OFB :\r
+                               retVal = SDRM_OFB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CTR : \r
+                               retVal = SDRM_CTR_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       default :\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+       }\r
+\r
+       Temp = TextLen + BlockLen - SDRM_DES_BLOCK_SIZ + 1;\r
+       for (i = (SDRM_DES_BLOCK_SIZ - BlockLen) & 0x07; i < Temp; i += SDRM_DES_BLOCK_SIZ)\r
+       {\r
+               switch(crt->ctx->tdesctx->moo)\r
+               {\r
+                       case ID_ENC_ECB : \r
+                               retVal = SDRM_ECB_Enc(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CBC :\r
+                               retVal = SDRM_CBC_Enc(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CFB :\r
+                               retVal = SDRM_CFB_Enc(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_OFB :\r
+                               retVal = SDRM_OFB_Enc(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_ENC_CTR : \r
+                               retVal = SDRM_CTR_Enc(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_ECB : \r
+                               retVal = SDRM_ECB_Dec(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CBC :\r
+                               retVal = SDRM_CBC_Dec(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CFB :\r
+                               retVal = SDRM_CFB_Dec(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_OFB :\r
+                               retVal = SDRM_OFB_Dec(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       case ID_DEC_CTR : \r
+                               retVal = SDRM_CTR_Dec(ID_TDES, output + *outputLen, Text + i, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++);\r
+                               *outputLen += SDRM_DES_BLOCK_SIZ;\r
+                               break;\r
+                       default :\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+               }\r
+\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+       }\r
+\r
+       crt->ctx->tdesctx->BlockLen = (SDRM_DES_BLOCK_SIZ + TextLen - i) & 0x07;\r
+       memcpy(Block, Text + TextLen - crt->ctx->tdesctx->BlockLen, crt->ctx->tdesctx->BlockLen);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         int SDRM_TDES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen)\r
+ * @brief      process final block and padding\r
+ *\r
+ * @param      crt                                             [in]crypto env structure\r
+ * @param      input                                   [in]message block\r
+ * @param      inputLen                                [in]byte-length of Text\r
+ * @param      output                                  [out]processed message\r
+ * @param      outputLen                               [out]byte-length of output\r
+ *\r
+ * @return     CRYPTO_SUCCESS                  if success\r
+ * \n          CRYPTO_NULL_POINTER             if given argument is a null pointer\r
+ * \n          CRYPTO_INVALID_ARGUMENT if given argument is invalid\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES_final(CryptoCoreContainer *crt, cc_u8 *input, cc_u32 inputLen, cc_u8 *output, cc_u32 *outputLen)\r
+{\r
+       int             retVal = CRYPTO_SUCCESS;\r
+       cc_u8   *Block, PADDING[16];\r
+       cc_u32  BlockLen, t;\r
+\r
+       if ((crt == NULL) || (crt->ctx == NULL) || (crt->ctx->tdesctx == NULL))\r
+       {\r
+               return CRYPTO_NULL_POINTER;\r
+       }\r
+\r
+       Block = crt->ctx->tdesctx->Block;\r
+       BlockLen = crt->ctx->tdesctx->BlockLen;\r
+\r
+\r
+       if (crt->ctx->tdesctx->moo >= ID_DEC_ECB)\r
+       {\r
+               goto DECRYPTION;\r
+       }\r
+\r
+//ENCRYPTION:\r
+       if (inputLen != 0)\r
+       {\r
+               retVal = SDRM_TDES_process(crt, input, inputLen, output, outputLen);\r
+\r
+               if (retVal != CRYPTO_SUCCESS)\r
+               {\r
+                       return retVal;\r
+               }\r
+\r
+               retVal = SDRM_TDES_final(crt, NULL, 0, output + *outputLen, &t);\r
+               *outputLen += t;\r
+\r
+               return retVal;\r
+       }\r
+\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = SDRM_DES_BLOCK_SIZ;\r
+       }\r
+\r
+       //padding\r
+       switch(crt->ctx->tdesctx->padding)\r
+       {\r
+               case 0 :\r
+               case ID_PKCS5 :\r
+                       memset(Block + BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen);\r
+                       break;\r
+               case ID_SSL_PADDING :\r
+                       memset(Block + BlockLen, SDRM_DES_BLOCK_SIZ - BlockLen - 1, SDRM_DES_BLOCK_SIZ - BlockLen);\r
+                       break;\r
+               case ID_ZERO_PADDING :\r
+                       memset(Block + BlockLen, 0x00, SDRM_DES_BLOCK_SIZ - BlockLen);\r
+                       break;\r
+               case ID_NO_PADDING :\r
+                       if (BlockLen == 0)\r
+                       {\r
+                               if (outputLen)\r
+                               {\r
+                                       *outputLen = 0;\r
+                               }\r
+                               return CRYPTO_SUCCESS;\r
+                       }\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       //encryption\r
+       switch(crt->ctx->tdesctx->moo)\r
+       {\r
+               case ID_ENC_ECB : \r
+                       retVal = SDRM_ECB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey);\r
+                       break;\r
+               case ID_ENC_CBC :\r
+                       retVal = SDRM_CBC_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                       break;\r
+               case ID_ENC_CFB :\r
+                       retVal = SDRM_CFB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                       break;\r
+               case ID_ENC_OFB :\r
+                       retVal = SDRM_OFB_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                       break;\r
+               case ID_ENC_CTR : \r
+                       retVal = SDRM_CTR_Enc(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++);\r
+                       break;\r
+               default :\r
+                       retVal = CRYPTO_INVALID_ARGUMENT;\r
+                       break;\r
+       }\r
+\r
+       return retVal;\r
+\r
+DECRYPTION:\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = 0;\r
+       }\r
+\r
+       if ((inputLen == 0) && (crt->ctx->tdesctx->padding == ID_NO_PADDING))\r
+       {\r
+               return CRYPTO_SUCCESS;\r
+       }\r
+\r
+       if ((BlockLen + inputLen) != SDRM_DES_BLOCK_SIZ)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (inputLen != 0)\r
+       {\r
+               memcpy(Block + BlockLen, input, inputLen);\r
+       }\r
+\r
+       switch(crt->ctx->tdesctx->moo)\r
+       {\r
+               case ID_DEC_ECB : \r
+                       retVal = SDRM_ECB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey);\r
+                       break;\r
+               case ID_DEC_CBC :\r
+                       retVal = SDRM_CBC_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                       break;\r
+               case ID_DEC_CFB :\r
+                       retVal = SDRM_CFB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                       break;\r
+               case ID_DEC_OFB :\r
+                       retVal = SDRM_OFB_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV);\r
+                       break;\r
+               case ID_DEC_CTR : \r
+                       retVal = SDRM_CTR_Dec(ID_TDES, output, Block, (cc_u8*)crt->ctx->tdesctx->RoundKey, crt->ctx->tdesctx->IV, crt->ctx->tdesctx->CTR_Count++);\r
+                       break;\r
+               default :\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (retVal != CRYPTO_SUCCESS)\r
+       {\r
+               return retVal;\r
+       }\r
+\r
+       //de-padding\r
+       t = output[SDRM_DES_BLOCK_SIZ - 1];\r
+\r
+       switch(crt->ctx->tdesctx->padding)\r
+       {\r
+               case 0 :\r
+               case ID_PKCS5 :\r
+                       if ((t > SDRM_DES_BLOCK_SIZ) || (t < 1))\r
+                       {\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+                       }\r
+                       memset(PADDING, t, t);\r
+                       break;\r
+               case ID_SSL_PADDING :\r
+                       ++t;\r
+                       if ((t > SDRM_DES_BLOCK_SIZ) || (t < 1))\r
+                       {\r
+                               return CRYPTO_INVALID_ARGUMENT;\r
+                       }\r
+                       memset(PADDING, t - 1, t);\r
+                       break;\r
+               case ID_ZERO_PADDING :\r
+                       {\r
+                               cc_u32 tmpLen;\r
+                               tmpLen = SDRM_TDES_BLOCK_SIZ;\r
+                               while((tmpLen != 0x00) && (output[tmpLen - 1] == 0x00))\r
+                               {\r
+                                       tmpLen--;\r
+                               }\r
+\r
+                               if (outputLen != NULL)\r
+                               {\r
+                                       *outputLen = tmpLen;\r
+                               }\r
+                       }\r
+                       return CRYPTO_SUCCESS;\r
+               case ID_NO_PADDING :\r
+                       if (outputLen != NULL)\r
+                       {\r
+                               *outputLen = SDRM_TDES_BLOCK_SIZ;\r
+                       }\r
+                       return CRYPTO_SUCCESS;\r
+               default :\r
+                       if (outputLen != NULL)\r
+                       {\r
+                               *outputLen = 0;\r
+                       }\r
+                       return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (memcmp(PADDING, output + SDRM_TDES_BLOCK_SIZ - t, t) != 0)\r
+       {\r
+               return CRYPTO_INVALID_ARGUMENT;\r
+       }\r
+\r
+       if (outputLen != NULL)\r
+       {\r
+               *outputLen = SDRM_DES_BLOCK_SIZ - t;\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/Src/middle/tdes.c b/SPC/Src/middle/tdes.c
new file mode 100755 (executable)
index 0000000..c727335
--- /dev/null
@@ -0,0 +1,131 @@
+/**\r
+ * \file       tdes.c\r
+ * @brief      high-speed implementation of Triple DES-EDE\r
+ *\r
+ * - Copyright : Samsung Electronics CO.LTD.,\r
+ *\r
+ * \internal\r
+ * Author : Jisoon Park\r
+ * Dept : DRM Lab, Digital Media Laboratory\r
+ * Creation date : 2006/12/06\r
+ */\r
+\r
+//////////////////////////////////////////////////////////////////////////\r
+// Include Header Files\r
+//////////////////////////////////////////////////////////////////////////\r
+#include "tdes.h"\r
+#include "des.h"\r
+\r
+////////////////////////////////////////////////////////////////////////////\r
+// Functions\r
+////////////////////////////////////////////////////////////////////////////\r
+/*\r
+ * @fn         SDRM_TDES_KeySched\r
+ * @brief      Expand the cipher key into the encryption key schedule\r
+ *\r
+ * @param      RoundKey                        [out]generated round key\r
+ * @param      UserKey                         [in]user key, 16 or 24 byte\r
+ * @param      KeyLen                          [in]byte-length of UserKey\r
+ * @param      RKStep                          [in]operation mode\r
+ *\r
+ * @return     the number of rounds for the given cipher key size\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES_KeySched(cc_u8 *RoundKey, cc_u8 *UserKey, cc_u32 KeyLen, cc_u32 RKStep)\r
+{\r
+\r
+       if (RKStep == 1)\r
+       {\r
+               SDRM_DES_KeySched(RoundKey, UserKey, 0, 1);\r
+               SDRM_DES_KeySched(RoundKey + 128, UserKey + 8, 15, (cc_u32)-1);\r
+\r
+               if (KeyLen == 16)\r
+               {                                                                                       //2-key des\r
+                       memcpy(RoundKey + 256, RoundKey, 128);\r
+               }\r
+               else\r
+               {                                                                                       //3-key des\r
+                       SDRM_DES_KeySched(RoundKey + 256, UserKey + 16, 0, 1);\r
+               }\r
+       }\r
+       else {\r
+               SDRM_DES_KeySched(RoundKey + 256, UserKey, 15, (cc_u32)-1);\r
+               SDRM_DES_KeySched(RoundKey + 128, UserKey + 8, 0, 1);\r
+\r
+               if (KeyLen == 16)\r
+               {                                                                                       //2-key des\r
+                       memcpy(RoundKey, RoundKey + 256, 128);\r
+               }\r
+               else\r
+               {                                                                                       //3-key des\r
+                       SDRM_DES_KeySched(RoundKey, UserKey + 16, 15, (cc_u32)-1);\r
+               }\r
+       }\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_TDES_Encryption\r
+ * @brief      Triple DES processing for one block\r
+ *\r
+ * @param      RoundKey                        [in]expanded round key\r
+ * @param      msg                                     [in]8 byte plaintext\r
+ * @param      out                                     [out]8 byte ciphertext\r
+ *\r
+ * @return     CRYPTO_SUCCESS          if no error is occured\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES_Encryption(cc_u32 RoundKey[][2], cc_u8 *msg, cc_u8 *out)\r
+{\r
+       cc_u8 buf[8];\r
+\r
+       SDRM_DES_Encryption(RoundKey     , msg, buf);\r
+       SDRM_DES_Encryption(RoundKey + 16, buf, buf);\r
+       SDRM_DES_Encryption(RoundKey + 32, buf, out);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+\r
+/*\r
+ * @fn         SDRM_TDES64_Encryption\r
+ * @brief      one block Triple DES Encryption\r
+ *\r
+ * @param      cipherText      [out]encrypted text\r
+ * @param      plainText       [in]plain text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES64_Encryption(cc_u8 *cipherText, cc_u8 *plainText, cc_u8 *UserKey)\r
+{\r
+       cc_u32 RoundKey[48][2];\r
+\r
+       SDRM_TDES_KeySched((cc_u8*)RoundKey, UserKey, 16, 1);\r
+\r
+       SDRM_TDES_Encryption(RoundKey, plainText, cipherText);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/*\r
+ * @fn         SDRM_TDES64_Decryption\r
+ * @brief      one block Triple DES Decryption\r
+ *\r
+ * @param      plainText       [out]decrypted text\r
+ * @param      cipherText      [in]cipher text\r
+ * @param      UserKey         [in]user key\r
+ *\r
+ * @return     CRYPTO_SUCCESS if success\r
+ */\r
+CRYPTOCORE_INTERNAL int SDRM_TDES64_Decryption(cc_u8 *plainText, cc_u8 *cipherText, cc_u8 *UserKey)\r
+{\r
+       cc_u32 RoundKey[48][2];\r
+\r
+       SDRM_TDES_KeySched((cc_u8*)RoundKey, UserKey, 16, (cc_u32)-1);\r
+\r
+       SDRM_TDES_Encryption(RoundKey, cipherText, plainText);\r
+\r
+       return CRYPTO_SUCCESS;\r
+}\r
+\r
+/***************************** End of File *****************************/\r
diff --git a/SPC/gcc/Makefile b/SPC/gcc/Makefile
new file mode 100755 (executable)
index 0000000..39d4eee
--- /dev/null
@@ -0,0 +1,102 @@
+####################################################\r
+#  Include Configure File                          #\r
+####################################################\r
+include Makefile.conf\r
+\r
+####################################################\r
+#  Target                                          #\r
+####################################################\r
+TARGET=libPAKEClient.a\r
+TARGET_S=libPAKEClient.so\r
+\r
+####################################################\r
+#  Definitions                                     #\r
+####################################################\r
+CC=$(CROSS_COMPILE)gcc\r
+LD=$(CROSS_COMPILE)gcc\r
+AR=$(CROSS_COMPILE)ar\r
+CC=$(CROSS_COMPILE)gcc\r
+CPP= $(CROSS_COMPILE)g++\r
+RANLIB=$(CROSS_COMPILE)ranlib\r
+\r
+LDFLAGS=-lm\r
+\r
+STATIC_SUFFIX=.a\r
+SHARED_SUFFIX=.so\r
+\r
+\r
+####################################################\r
+#  PATH Define                                     #\r
+####################################################\r
+# base directories\r
+BUILD_DIR = $(CRYPTOCORE_HOME)/gcc/build\r
+INCLUDE_DIR = $(CRYPTOCORE_HOME)/Inc\r
+SRC_DIR = $(CRYPTOCORE_HOME)/Src\r
+\r
+# build path\r
+BUILD_PATH = $(BUILD_DIR)/$(PLATFORM)\r
+\r
+####################################################\r
+#  Source Codes                                    #\r
+####################################################\r
+BUILD_FILES =  base/aes.c base/ANSI_x931.c base/bignum.c base/des.c base/ecc.c base/fast_math.c base/hash.c base/md5.c base/moo.c base/pkcs1_v21.c base/rc4.c base/sha1.c base/sha2.c base/snow2.c\r
+BUILD_FILES += middle/cmac.c middle/dh.c middle/dsa.c middle/ecdh.c middle/ecdsa.c middle/hmac.c middle/rng.c middle/rsa.c middle/symmetric.c middle/tdes.c\r
+#BUILD_FILES += CC_API.c DRMLog.c WhiteBox/SDWAP.c WhiteBox/SDWAP_TblGen.c WhiteBox/SWAPv2.c  WhiteBox/SWAPv2_TblGen.c SAKEP.cpp SPCApi.cpp Util.cpp DtcpCTcpSocket.cpp\r
+BUILD_FILES += CC_API.c DRMLog.c WhiteBox/SDWAP.c WhiteBox/SDWAP_TblGen.c WhiteBox/SWAPv2.c  WhiteBox/SWAPv2_TblGen.c SAKEP.cpp SPCApi.cpp Util.cpp \r
+####################################################\r
+#  Includes                                        #\r
+####################################################\r
+BUILD_INCS = -I$(INCLUDE_DIR) -I$(INCLUDE_DIR)/middle -I$(INCLUDE_DIR)/base -I$(INCLUDE_DIR)/WhiteBox\r
+\r
+####################################################\r
+#  Make Options                                    #\r
+####################################################\r
+# Disable implicit suffix rules.\r
+.SUFFIXES:\r
+\r
+# Configure class-based search paths.\r
+vpath\r
+vpath %.c    $(SRC_DIR)\r
+vpath %.c    $(SRC_DIR)/middle\r
+vpath %.c    $(SRC_DIR)/base\r
+vpath %.c    $(SRC_DIR)/WhiteBox\r
+vpath %.cpp  $(SRC_DIR)\r
+vpath %.o    $(BUILD_PATH)\r
+\r
+# Filter out C object files we know how to build.\r
+BUILD_C_OBJS := $(addsuffix .o, $(basename $(filter %.c, $(BUILD_FILES))))\r
+BUILD_CPP_OBJS := $(addsuffix .o, $(basename $(filter %.cpp, $(BUILD_FILES))))\r
+\r
+# Append build directory path to object files.\r
+OBJS := $(BUILD_C_OBJS:%.o=$(BUILD_PATH)/%.o)\r
+OBJCPP := $(BUILD_CPP_OBJS:%.o=$(BUILD_PATH)/%.o)\r
+\r
+LDFLAGS += $(STATIC_LDFLAGS) \r
+\r
+all: $(BUILD_PATH)/$(TARGET)\r
+\r
+# Build library\r
+$(BUILD_PATH)/$(TARGET): $(OBJS) $(OBJCPP)\r
+       @echo -- Archiving static and dynamic library SAKEP Client --\r
+       @echo $(BUILD_PATH)/$(TARGET_S) $(BUILD_PATH)/$(TARGET)\r
+       @mkdir -p $(dir $@)\r
+       @$(AR) cr $@ $(OBJS) $(OBJCPP)  \r
+       @$(CC) -shared -o $(BUILD_PATH)/$(TARGET_S) -Wl,--whole-archive $(BUILD_PATH)/$(TARGET) -Wl,--no-whole-archive\r
+#      @rm -rf $(OBJS) $(OBJCPP) $(BUILD_PATH)/base $(BUILD_PATH)/middle $(BUILD_PATH)/WhiteBox \r
+#      @rm -rf $(OBJCPP) $(BUILD_PATH)/base $(BUILD_PATH)/middle $(BUILD_PATH)/WhiteBox $(BUILD_PATH)\r
+       \r
+# Compile C source\r
+$(BUILD_PATH)/%.o: %.c\r
+       @echo $(notdir $<)\r
+       @mkdir -p $(dir $@)\r
+       $(CC) $(CFLAGS) $(BUILD_INCS) -c $< -o $@ \r
+\r
+# Compile CPP source\r
+$(BUILD_PATH)/%.o: %.cpp\r
+       @echo $(notdir $<)\r
+       @mkdir -p $(dir $@)\r
+       $(CPP) $(CFLAGS) $(BUILD_INCS) -c $< -o $@\r
+       \r
+clean:\r
+       @echo -- Clean $(SRC_NAME) -- \r
+       @rm -rf $(BUILD_PATH)\r
diff --git a/SPC/gcc/Makefile.conf b/SPC/gcc/Makefile.conf
new file mode 100755 (executable)
index 0000000..61e2967
--- /dev/null
@@ -0,0 +1,68 @@
+####################################################\r
+#  User Definitions                                #\r
+####################################################\r
+\r
+\r
+\r
+PLATFORM=linux\r
+#PLATFORM=A1\r
+#PLATFORM=Chelsea\r
+#PLATFORM=DRMe\r
+#PLATFORM=Canmore\r
+#PLATFORM=Valencia\r
+\r
+#CFLAGS= -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG\r
+#CFLAGS= -O2 -D_WIN32_ -D_WIN -D_WIN32_WCE -DMTHREAD -D_REENTRANT -DPRINT_LOG\r
+#CFLAGS= -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -D_WIN32_\r
+#CFLAGS= -O2 -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -D_WIN\r
+\r
+CFLAGS= -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG  -g -D_DRMLOG_DISABLE -lstdc++\r
+\r
+\r
+\r
+HOST_OS := $(shell uname -s | tr A-Z a-z | cut -d'_' -f1)\r
+ifeq ($(HOST_OS),mingw32)\r
+       CFLAGS+= -D_WIN\r
+endif\r
+####################################################\r
+#  Options                                         #\r
+####################################################\r
+ifeq ($(PLATFORM), linux)\r
+       CROSS_COMPILE=\r
+       \r
+       CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char\r
+       CFLAGS+= -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive\r
+       \r
+       \r
+else ifeq ($(PLATFORM), A1)    \r
+       CROSS_COMPILE=arm_v6_vfp_le-\r
+\r
+       CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fstrict-overflow -fsigned-char\r
+       CFLAGS+= -ffunction-sections -fdata-sections -Werror -Wstrict-prototypes \r
+       \r
+else ifeq ($(PLATFORM), Chelsea)       \r
+       CROSS_COMPILE=arm_v6_vfp_le-\r
+\r
+       CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fstrict-overflow -fsigned-char\r
+       CFLAGS+= -ffunction-sections -fdata-sections -Werror -Wstrict-prototypes \r
+\r
+else ifeq ($(PLATFORM), Valencia)      \r
+       CROSS_COMPILE=arm_v7_vfp_le-\r
+\r
+       CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fstrict-overflow -fsigned-char\r
+       CFLAGS+= -ffunction-sections -fdata-sections -Werror -Wstrict-prototypes \r
+\r
+else ifeq ($(PLATFORM), DRMe)\r
+       CROSS_COMPILE=arm-linux-\r
+\r
+       CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char\r
+       CFLAGS+= -ffunction-sections -fdata-sections -Werror -Wstrict-prototypes\r
+\r
+else ifeq ($(PLATFORM), Canmore)\r
+        CROSS_COMPILE=i686-cm-linux-\r
+\r
+        CFLAGS+= -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char\r
+        CFLAGS+= -ffunction-sections -fdata-sections -Werror -Wstrict-prototypes\r
+endif\r
+\r
+CRYPTOCORE_HOME=..\r
diff --git a/SPC/gcc/SPC_Client b/SPC/gcc/SPC_Client
new file mode 100755 (executable)
index 0000000..7109a6f
Binary files /dev/null and b/SPC/gcc/SPC_Client differ
diff --git a/SPC/gcc/TestCompile b/SPC/gcc/TestCompile
new file mode 100755 (executable)
index 0000000..650240e
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/bash\r
+rm -rf test\r
+echo g++ -o SPC_Client ../../SPC_Client/Src/SPC_Client_SampleCode.cpp -L./build/linux/ -I../Inc/ -I../Inc/base -I../Inc/middle -I../Inc/WhileBox  -lPAKEClient\r
+g++ -o SPC_Client ../../SPC_Client/Src/SPC_Client_SampleCode.cpp -L./build/linux/ -I../Inc/ -I../Inc/base -I../Inc/middle -I../Inc/WhileBox  -lPAKEClient\r
diff --git a/SPC/gcc/result.txt b/SPC/gcc/result.txt
new file mode 100755 (executable)
index 0000000..28def8a
--- /dev/null
@@ -0,0 +1,789 @@
+aes.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/aes.c -o ../gcc/build/linux/base/aes.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/aes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupEnc':\r
+../Src/base/aes.c:815:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupDec':\r
+../Src/base/aes.c:869:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelEncrypt':\r
+../Src/base/aes.c:1065:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelDecrypt':\r
+../Src/base/aes.c:1261:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES128_Encryption':\r
+../Src/base/aes.c:1282:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES128_Decryption':\r
+../Src/base/aes.c:1303:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES192_Encryption':\r
+../Src/base/aes.c:1324:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES192_Decryption':\r
+../Src/base/aes.c:1345:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES256_Encryption':\r
+../Src/base/aes.c:1366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES256_Decryption':\r
+../Src/base/aes.c:1387:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ANSI_x931.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/ANSI_x931.c -o ../gcc/build/linux/base/ANSI_x931.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/ANSI_x931.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/ANSI_x931.c: In function 'SDRM_RNG_X931':\r
+../Src/base/ANSI_x931.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+bignum.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/bignum.c -o ../gcc/build/linux/base/bignum.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/bignum.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/bignum.c: In function 'SDRM_DWD_Classical_REDC':\r
+../Src/base/bignum.c:768:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_DIGIT_Gcd':\r
+../Src/base/bignum.c:798:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_PrintBN':\r
+../Src/base/bignum.c:838:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN2OS':\r
+../Src/base/bignum.c:921:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_I2OSP':\r
+../Src/base/bignum.c:986:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Clr':\r
+../Src/base/bignum.c:1004:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Copy':\r
+../Src/base/bignum.c:1028:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Alloc':\r
+../Src/base/bignum.c:1053:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Init':\r
+../Src/base/bignum.c:1079:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Cmp':\r
+../Src/base/bignum.c:1102:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Cmp_sign':\r
+../Src/base/bignum.c:1134:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Rand':\r
+../Src/base/bignum.c:1167:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_SHL':\r
+../Src/base/bignum.c:1215:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_OS2BN':\r
+../Src/base/bignum.c:961:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_SHR':\r
+../Src/base/bignum.c:1266:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Add':\r
+../Src/base/bignum.c:1376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Sub':\r
+../Src/base/bignum.c:1477:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Mul':\r
+../Src/base/bignum.c:1532:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Div':\r
+../Src/base/bignum.c:1633:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModRed':\r
+../Src/base/bignum.c:1828:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModSub':\r
+../Src/base/bignum.c:1779:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModAdd':\r
+../Src/base/bignum.c:1709:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModMul':\r
+../Src/base/bignum.c:1878:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModInv':\r
+../Src/base/bignum.c:2019:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Rzn2zn':\r
+../Src/base/bignum.c:2093:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Mul':\r
+../Src/base/bignum.c:2171:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Init':\r
+../Src/base/bignum.c:2328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Free':\r
+../Src/base/bignum.c:2343:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_num_bits':\r
+../Src/base/bignum.c:2369:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Set':\r
+../Src/base/bignum.c:2300:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_UINT32_num_bits':\r
+../Src/base/bignum.c:2398:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_INT_num_bits':\r
+../Src/base/bignum.c:2424:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModExp':\r
+../Src/base/bignum.c:2502:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModExp2':\r
+../Src/base/bignum.c:2584:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_CheckRelativelyPrime':\r
+../Src/base/bignum.c:2643:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_MILLER_RABIN':\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: At top level:\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+des.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/des.c -o ../gcc/build/linux/base/des.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/des.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/des.c: In function 'SDRM_DES_KeySched':\r
+../Src/base/des.c:79:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/des.c: In function 'SDRM_DES_Encryption':\r
+../Src/base/des.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/des.c: In function 'SDRM_DES64_Encryption':\r
+../Src/base/des.c:145:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/des.c: In function 'SDRM_DES64_Decryption':\r
+../Src/base/des.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ecc.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/ecc.c -o ../gcc/build/linux/base/ecc.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/ecc.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/ecc.c: In function 'SDRM_ECC_Init':\r
+../Src/base/ecc.c:47:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CURVE_Init':\r
+../Src/base/ecc.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CHECK_EC_POINT_ZERO':\r
+../Src/base/ecc.c:121:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_Mont_Jm2Jc':\r
+../Src/base/ecc.c:157:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_Mont_Jc2Jm':\r
+../Src/base/ecc.c:190:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add':\r
+../Src/base/ecc.c:283:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jc':\r
+../Src/base/ecc.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add_Jc':\r
+../Src/base/ecc.c:414:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jm':\r
+../Src/base/ecc.c:607:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Chain':\r
+../Src/base/ecc.c:784:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_kP':\r
+../Src/base/ecc.c:989:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_2kP':\r
+../Src/base/ecc.c:1274:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+fast_math.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/fast_math.c -o ../gcc/build/linux/base/fast_math.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/fast_math.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Cmp':\r
+../Src/base/fast_math.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Copy':\r
+../Src/base/fast_math.c:73:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_RShift':\r
+../Src/base/fast_math.c:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_LShift':\r
+../Src/base/fast_math.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_getMSW':\r
+../Src/base/fast_math.c:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_getMSB':\r
+../Src/base/fast_math.c:174:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitValue':\r
+../Src/base/fast_math.c:191:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitsValue':\r
+../Src/base/fast_math.c:245:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Add':\r
+../Src/base/fast_math.c:280:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_AddCarry':\r
+../Src/base/fast_math.c:311:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Sub':\r
+../Src/base/fast_math.c:340:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Mul1':\r
+../Src/base/fast_math.c:375:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd1':\r
+../Src/base/fast_math.c:410:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd':\r
+../Src/base/fast_math.c:431:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Mul':\r
+../Src/base/fast_math.c:453:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Square':\r
+../Src/base/fast_math.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Rem':\r
+../Src/base/fast_math.c:539:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Inverse':\r
+../Src/base/fast_math.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Rem':\r
+../Src/base/fast_math.c:617:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Square':\r
+../Src/base/fast_math.c:646:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Mul':\r
+../Src/base/fast_math.c:689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_ExpMod':\r
+../Src/base/fast_math.c:906:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+hash.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/hash.c -o ../gcc/build/linux/base/hash.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/hash.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_init':\r
+../Src/base/hash.c:43:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_update':\r
+../Src/base/hash.c:66:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_final':\r
+../Src/base/hash.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_hash':\r
+../Src/base/hash.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_init':\r
+../Src/base/hash.c:135:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_update':\r
+../Src/base/hash.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_final':\r
+../Src/base/hash.c:179:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_hash':\r
+../Src/base/hash.c:205:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_init':\r
+../Src/base/hash.c:226:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_update':\r
+../Src/base/hash.c:249:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_final':\r
+../Src/base/hash.c:270:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_hash':\r
+../Src/base/hash.c:296:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_init':\r
+../Src/base/hash.c:319:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_update':\r
+../Src/base/hash.c:342:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_final':\r
+../Src/base/hash.c:364:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_hash':\r
+../Src/base/hash.c:390:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_init':\r
+../Src/base/hash.c:411:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_update':\r
+../Src/base/hash.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_final':\r
+../Src/base/hash.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_hash':\r
+../Src/base/hash.c:482:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_init':\r
+../Src/base/hash.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_update':\r
+../Src/base/hash.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_final':\r
+../Src/base/hash.c:550:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_hash':\r
+../Src/base/hash.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+md5.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/md5.c -o ../gcc/build/linux/base/md5.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/md5.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/md5.c: In function 'SDRM_MD5_Init':\r
+../Src/base/md5.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/md5.c: In function 'SDRM_MD5_Update':\r
+../Src/base/md5.c:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/md5.c: In function 'SDRM_MD5_Final':\r
+../Src/base/md5.c:165:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+moo.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/moo.c -o ../gcc/build/linux/base/moo.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/moo.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/moo.c: In function 'SDRM_ECB_Enc':\r
+../Src/base/moo.c:55:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_ECB_Dec':\r
+../Src/base/moo.c:91:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CBC_Enc':\r
+../Src/base/moo.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CBC_Dec':\r
+../Src/base/moo.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CFB_Enc':\r
+../Src/base/moo.c:289:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CFB_Dec':\r
+../Src/base/moo.c:348:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_OFB_Enc':\r
+../Src/base/moo.c:407:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CTR_Enc':\r
+../Src/base/moo.c:485:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+pkcs1_v21.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/pkcs1_v21.c -o ../gcc/build/linux/base/pkcs1_v21.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/pkcs1_v21.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_pkcs15':\r
+../Src/base/pkcs1_v21.c:155:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pkcs15':\r
+../Src/base/pkcs1_v21.c:564:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_MGF1':\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pss':\r
+../Src/base/pkcs1_v21.c:825:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_oaep':\r
+../Src/base/pkcs1_v21.c:417:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: At top level:\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+rc4.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/rc4.c -o ../gcc/build/linux/base/rc4.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/rc4.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/rc4.c: In function 'SDRM_RC4_Setup':\r
+../Src/base/rc4.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/rc4.c: In function 'SDRM_RC4_PRNG':\r
+../Src/base/rc4.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+sha1.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/sha1.c -o ../gcc/build/linux/base/sha1.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/sha1.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/sha1.c: In function 'SDRM_SHA1_Init':\r
+../Src/base/sha1.c:137:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha1.c: In function 'SDRM_SHA1_Update':\r
+../Src/base/sha1.c:318:5: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha1.c: In function 'SDRM_SHA1_Final':\r
+../Src/base/sha1.c:367:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha1.c: In function 'SDRM_endianTest':\r
+../Src/base/sha1.c:469:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+sha2.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/sha2.c -o ../gcc/build/linux/base/sha2.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/sha2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Transf':\r
+../Src/base/sha2.c:321:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Init':\r
+../Src/base/sha2.c:333:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Update':\r
+../Src/base/sha2.c:366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Final':\r
+../Src/base/sha2.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Transf':\r
+../Src/base/sha2.c:444:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Init':\r
+../Src/base/sha2.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Update':\r
+../Src/base/sha2.c:489:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Final':\r
+../Src/base/sha2.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA384_Init':\r
+../Src/base/sha2.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA384_Update':\r
+../Src/base/sha2.c:561:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA384_Final':\r
+../Src/base/sha2.c:586:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA224_Init':\r
+../Src/base/sha2.c:601:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA224_Update':\r
+../Src/base/sha2.c:635:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA224_Final':\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: At top level:\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+snow2.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/base/snow2.c -o ../gcc/build/linux/base/snow2.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/snow2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/snow2.c: In function 'SDRM_SNOW2_Setup':\r
+../Src/base/snow2.c:344:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream64':\r
+../Src/base/snow2.c:374:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream':\r
+../Src/base/snow2.c:402:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+cmac.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/middle/cmac.c -o ../gcc/build/linux/middle/cmac.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/cmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_init':\r
+../Src/middle/cmac.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_update':\r
+../Src/middle/cmac.c:173:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_final':\r
+../Src/middle/cmac.c:219:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_getMAC':\r
+../Src/middle/cmac.c:258:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+dh.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/middle/dh.c -o ../gcc/build/linux/middle/dh.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/dh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/dh.c: In function 'SDRM_GenerateDHParam':\r
+../Src/middle/dh.c:119:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_SetDHParam':\r
+../Src/middle/dh.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_GenerateDHPrivate':\r
+../Src/middle/dh.c:232:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_GetDHSharedSecret':\r
+../Src/middle/dh.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_FreeDHContext':\r
+../Src/middle/dh.c:330:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+dsa.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/middle/dsa.c -o ../gcc/build/linux/middle/dsa.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/dsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/dsa.c: In function 'SDRM_Add_DW2BA':\r
+../Src/middle/dsa.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_InitCrt':\r
+../Src/middle/dsa.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_SetParam':\r
+../Src/middle/dsa.c:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_SetKeyPair':\r
+../Src/middle/dsa.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_GenParam':\r
+../Src/middle/dsa.c:358:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_GenKeypair':\r
+../Src/middle/dsa.c:429:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_sign':\r
+../Src/middle/dsa.c:509:2: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_verify':\r
+../Src/middle/dsa.c:600:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ecdh.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdh.c -o ../gcc/build/linux/middle/ecdh.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/ecdh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/ecdh.c: In function 'SDRM_generateDH1stPhaseKey':\r
+../Src/middle/ecdh.c:101:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdh.c: In function 'SDRM_generateDHKey':\r
+../Src/middle/ecdh.c:202:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ecdsa.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdsa.c -o ../gcc/build/linux/middle/ecdsa.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/ecdsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_KEY_GEN':\r
+../Src/middle/ecdsa.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_GEN':\r
+../Src/middle/ecdsa.c:212:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_VERIFY':\r
+../Src/middle/ecdsa.c:363:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_sign':\r
+../Src/middle/ecdsa.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_verify':\r
+../Src/middle/ecdsa.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECC_Set_CTX':\r
+../Src/middle/ecdsa.c:531:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECC_genKeypair':\r
+../Src/middle/ecdsa.c:598:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECC_setKeypair':\r
+../Src/middle/ecdsa.c:662:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+hmac.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/middle/hmac.c -o ../gcc/build/linux/middle/hmac.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/hmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_update':\r
+../Src/middle/hmac.c:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_final':\r
+../Src/middle/hmac.c:433:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_getK0':\r
+../Src/middle/hmac.c:570:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_init':\r
+../Src/middle/hmac.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_getMAC':\r
+../Src/middle/hmac.c:472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+rng.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/middle/rng.c -o ../gcc/build/linux/middle/rng.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/rng.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/rng.c: In function 'SDRM_X931_seed':\r
+../Src/middle/rng.c:41:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rng.c: In function 'SDRM_X931_get':\r
+../Src/middle/rng.c:67:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+rsa.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/middle/rsa.c -o ../gcc/build/linux/middle/rsa.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/rsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_InitCrt':\r
+../Src/middle/rsa.c:58:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_setNED':\r
+../Src/middle/rsa.c:105:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_setNEDPQ':\r
+../Src/middle/rsa.c:218:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateKey':\r
+../Src/middle/rsa.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateND':\r
+../Src/middle/rsa.c:520:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateDwithPQE':\r
+../Src/middle/rsa.c:665:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_encrypt':\r
+../Src/middle/rsa.c:762:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_decrypt':\r
+../Src/middle/rsa.c:859:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_decryptByCRT':\r
+../Src/middle/rsa.c:1029:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_sign':\r
+../Src/middle/rsa.c:1117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_verify':\r
+../Src/middle/rsa.c:1206:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+symmetric.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/middle/symmetric.c -o ../gcc/build/linux/middle/symmetric.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/symmetric.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/symmetric.c: In function 'SDRM_getEncRoundKey':\r
+../Src/middle/symmetric.c:68:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_getDecRoundKey':\r
+../Src/middle/symmetric.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_AES_init':\r
+../Src/middle/symmetric.c:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_AES_process':\r
+../Src/middle/symmetric.c:351:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_AES_final':\r
+../Src/middle/symmetric.c:606:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_RC4_init':\r
+../Src/middle/symmetric.c:638:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_RC4_process':\r
+../Src/middle/symmetric.c:670:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_SNOW2_init':\r
+../Src/middle/symmetric.c:703:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_SNOW2_process':\r
+../Src/middle/symmetric.c:797:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_DES_init':\r
+../Src/middle/symmetric.c:860:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_DES_process':\r
+../Src/middle/symmetric.c:1014:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_DES_final':\r
+../Src/middle/symmetric.c:1231:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_TDES_init':\r
+../Src/middle/symmetric.c:1306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_TDES_process':\r
+../Src/middle/symmetric.c:1460:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_TDES_final':\r
+../Src/middle/symmetric.c:1679:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+tdes.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/middle/tdes.c -o ../gcc/build/linux/middle/tdes.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/tdes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES_KeySched':\r
+../Src/middle/tdes.c:65:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES_Encryption':\r
+../Src/middle/tdes.c:86:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES64_Encryption':\r
+../Src/middle/tdes.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES64_Decryption':\r
+../Src/middle/tdes.c:129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+CC_API.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/CC_API.c -o ../gcc/build/linux/CC_API.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/CC_API.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/CC_API.c: In function 'CCMalloc':\r
+../Src/CC_API.c:46:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/CC_API.c: In function 'CCFree':\r
+../Src/CC_API.c:54:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/CC_API.c: In function 'create_CryptoCoreContainer':\r
+../Src/CC_API.c:336:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/CC_API.c: In function 'destroy_CryptoCoreContainer':\r
+../Src/CC_API.c:438:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+DRMLog.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/DRMLog.c -o ../gcc/build/linux/DRMLog.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/DRMLog.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+SDWAP.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP.c -o ../gcc/build/linux/WhiteBox/SDWAP.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SDWAP.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SDWAP.c: In function 'SDWAP_Process':\r
+../Src/WhiteBox/SDWAP.c:498:15: warning: variable 'Nk' set but not used [-Wunused-but-set-variable]\r
+../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP.c: At top level:\r
+../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SDWAP_TblGen.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP_TblGen.c -o ../gcc/build/linux/WhiteBox/SDWAP_TblGen.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation':\r
+../Src/WhiteBox/SDWAP_TblGen.c:210:25: warning: initialization makes integer from pointer without a cast [enabled by default]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'MakeEachKeyLookup':\r
+../Src/WhiteBox/SDWAP_TblGen.c:252:17: warning: unused variable 'pBeforeLKCol' [-Wunused-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GeneratePVector':\r
+../Src/WhiteBox/SDWAP_TblGen.c:1309:15: warning: variable 'rnd' set but not used [-Wunused-but-set-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable':\r
+../Src/WhiteBox/SDWAP_TblGen.c:1566:22: warning: unused variable 'pKeyBitPBox' [-Wunused-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1565:23: warning: unused variable 'pKeyBytePBox' [-Wunused-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c: At top level:\r
+../Src/WhiteBox/SDWAP_TblGen.c:1372:13: warning: 'SDWAP_GeneratePVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1418:13: warning: 'SDWAP_GenerateInvPVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1464:13: warning: 'SDWAP_GenerateInvPVector_fstest' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1494:13: warning: 'SDWAP_ConvertPBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1522:13: warning: 'SDWAP_RandomizePBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation':\r
+../Src/WhiteBox/SDWAP_TblGen.c:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation_LK':\r
+../Src/WhiteBox/SDWAP_TblGen.c:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateBitPBox':\r
+../Src/WhiteBox/SDWAP_TblGen.c:521:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_ProcessBitPBox':\r
+../Src/WhiteBox/SDWAP_TblGen.c:590:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable':\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: At top level:\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SWAPv2.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2.c -o ../gcc/build/linux/WhiteBox/SWAPv2.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SWAPv2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SWAPv2.c: In function 'SWAPv2_Process':\r
+../Src/WhiteBox/SWAPv2.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SWAPv2_TblGen.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2_TblGen.c -o ../gcc/build/linux/WhiteBox/SWAPv2_TblGen.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:275:25: warning: initialization makes integer from pointer without a cast [enabled by default]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBytePBox':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:434:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: At top level:\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1119:13: warning: 'GeneratePVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1165:13: warning: 'GenerateInvPVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1211:13: warning: 'GenerateInvPVector_fstest' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1241:13: warning: 'ConvertPBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1269:13: warning: 'RandomizePBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:294:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBitPBox':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'SWAPv2_GenerateTable':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SAKEP.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/SAKEP.cpp -o ../gcc/build/linux/SAKEP.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/SAKEP.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:277:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp:278:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:419:16: warning: unused variable 'pDecryptedGx' [-Wunused-variable]\r
+../Src/SAKEP.cpp:420:15: warning: unused variable 'nDecryptedGxLen' [-Wunused-variable]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:574:16: warning: unused variable 'pWc' [-Wunused-variable]\r
+../Src/SAKEP.cpp:575:15: warning: unused variable 'nWcLen' [-Wunused-variable]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:5114:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:8210:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi()':\r
+../Src/SAKEP.cpp:64:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: At global scope:\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi(Handle_CTX*, ModeType)':\r
+../Src/SAKEP.cpp:76:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: At global scope:\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void* SAkepApi::SAKEPMalloc(int)':\r
+../Src/SAKEP.cpp:100:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::SAKEPFree(void*)':\r
+../Src/SAKEP.cpp:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'SAKEPContainer* SAkepApi::create_SAKEPContainer()':\r
+../Src/SAKEP.cpp:131:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::destroy_SAKEPContainer(SAKEPContainer*)':\r
+../Src/SAKEP.cpp:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptGy(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptGx(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GenerateBSPublic(SAKEPContainer*, unsigned char*, unsigned int, unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:396:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetGy(unsigned char*, unsigned int, unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:560:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerAck(Handle_CTX*, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1201:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ParserClientAck(Handle_CTX*, unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1323:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPrivatekeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPrivatekeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1696:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SetMac(unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1714:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMac(unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMyMacLen(unsigned int*)':\r
+../Src/SAKEP.cpp:1728:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPublicKeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1735:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPublicKeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1744:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptParameterDataWithWB(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:1756:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptParameterDataWithWB(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:1769:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:5117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ApplyPasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1966:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseClientHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ReversePasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:2021:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1681:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: At global scope:\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:1771:13: warning: 'void X931_Prng(unsigned char*, unsigned char*, unsigned int, unsigned char*)' defined but not used [-Wunused-function]\r
+SPCApi.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/SPCApi.cpp -o ../gcc/build/linux/SPCApi.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/SPCApi.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/SPCApi.cpp: In constructor 'SPCApi::SPCApi()':\r
+../Src/SPCApi.cpp:25:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: At global scope:\r
+../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::InitSPCContext(SPCHandle_CTX*, ModeType, unsigned char*, unsigned int)':\r
+../Src/SPCApi.cpp:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'void SPCApi::DestroySPCContext(SPCHandle_CTX*)':\r
+../Src/SPCApi.cpp:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'void SPCApi::ClearSPCSessionContext(SPCHandle_CTX*)':\r
+../Src/SPCApi.cpp:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)':\r
+../Src/SPCApi.cpp:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:204:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerAck(SPCHandle_CTX*, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientAck(SPCHandle_CTX*, unsigned char*, unsigned int)':\r
+../Src/SPCApi.cpp:265:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:297:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::ParseRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+Util.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/Util.cpp -o ../gcc/build/linux/Util.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/Util.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+DtcpCTcpSocket.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -D_LINUX -DPRINT_LOG -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I..\r
+/Inc/base -I../Inc/WhiteBox -c ../Src/DtcpCTcpSocket.cpp -o ../gcc/build/linux/DtcpCTcpSocket.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/DtcpCTcpSocket.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+In file included from ../Src/DtcpCTcpSocket.cpp:5:0:\r
+../Inc/DtcpCTcpSocket.h:35:32: fatal error: sys/socket.h: No such file or directory\r
+compilation terminated.\r
+make: *** [../gcc/build/linux/DtcpCTcpSocket.o] Error 1\r
+\r
+jounsun.beak@DO-JOUNSUN-BE02 /d/SPC_Client/jni/SPC/gcc\r
+$
\ No newline at end of file
diff --git a/SPC/gcc/result2.txt b/SPC/gcc/result2.txt
new file mode 100755 (executable)
index 0000000..e0c0b60
--- /dev/null
@@ -0,0 +1,1576 @@
+\r
+aes.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/aes.c -o ../gcc/build/linux/base/aes.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/aes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupEnc':\r
+../Src/base/aes.c:815:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupDec':\r
+../Src/base/aes.c:869:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelEncrypt':\r
+../Src/base/aes.c:1065:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelDecrypt':\r
+../Src/base/aes.c:1261:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES128_Encryption':\r
+../Src/base/aes.c:1282:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES128_Decryption':\r
+../Src/base/aes.c:1303:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES192_Encryption':\r
+../Src/base/aes.c:1324:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES192_Decryption':\r
+../Src/base/aes.c:1345:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES256_Encryption':\r
+../Src/base/aes.c:1366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES256_Decryption':\r
+../Src/base/aes.c:1387:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ANSI_x931.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/ANSI_x931.c -o ../gcc/build/linux/base/ANSI_x931.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/ANSI_x931.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/ANSI_x931.c: In function 'SDRM_RNG_X931':\r
+../Src/base/ANSI_x931.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+bignum.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/bignum.c -o ../gcc/build/linux/base/bignum.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/bignum.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/bignum.c: In function 'SDRM_DWD_Classical_REDC':\r
+../Src/base/bignum.c:768:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_DIGIT_Gcd':\r
+../Src/base/bignum.c:798:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_PrintBN':\r
+../Src/base/bignum.c:838:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN2OS':\r
+../Src/base/bignum.c:921:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_I2OSP':\r
+../Src/base/bignum.c:986:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Clr':\r
+../Src/base/bignum.c:1004:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Copy':\r
+../Src/base/bignum.c:1028:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Alloc':\r
+../Src/base/bignum.c:1053:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Init':\r
+../Src/base/bignum.c:1079:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Cmp':\r
+../Src/base/bignum.c:1102:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Cmp_sign':\r
+../Src/base/bignum.c:1134:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Rand':\r
+../Src/base/bignum.c:1167:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_SHL':\r
+../Src/base/bignum.c:1215:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_OS2BN':\r
+../Src/base/bignum.c:961:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_SHR':\r
+../Src/base/bignum.c:1266:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Add':\r
+../Src/base/bignum.c:1376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Sub':\r
+../Src/base/bignum.c:1477:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Mul':\r
+../Src/base/bignum.c:1532:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Div':\r
+../Src/base/bignum.c:1633:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModRed':\r
+../Src/base/bignum.c:1828:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModSub':\r
+../Src/base/bignum.c:1779:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModAdd':\r
+../Src/base/bignum.c:1709:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModMul':\r
+../Src/base/bignum.c:1878:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModInv':\r
+../Src/base/bignum.c:2019:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Rzn2zn':\r
+../Src/base/bignum.c:2093:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Mul':\r
+../Src/base/bignum.c:2171:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Init':\r
+../Src/base/bignum.c:2328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Free':\r
+../Src/base/bignum.c:2343:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_num_bits':\r
+../Src/base/bignum.c:2369:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Set':\r
+../Src/base/bignum.c:2300:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_UINT32_num_bits':\r
+../Src/base/bignum.c:2398:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_INT_num_bits':\r
+../Src/base/bignum.c:2424:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModExp':\r
+../Src/base/bignum.c:2502:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModExp2':\r
+../Src/base/bignum.c:2584:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_CheckRelativelyPrime':\r
+../Src/base/bignum.c:2643:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_MILLER_RABIN':\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: At top level:\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+des.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/des.c -o ../gcc/build/linux/base/des.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/des.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/des.c: In function 'SDRM_DES_KeySched':\r
+../Src/base/des.c:79:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/des.c: In function 'SDRM_DES_Encryption':\r
+../Src/base/des.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/des.c: In function 'SDRM_DES64_Encryption':\r
+../Src/base/des.c:145:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/des.c: In function 'SDRM_DES64_Decryption':\r
+../Src/base/des.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ecc.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/ecc.c -o ../gcc/build/linux/base/ecc.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/ecc.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/ecc.c: In function 'SDRM_ECC_Init':\r
+../Src/base/ecc.c:47:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CURVE_Init':\r
+../Src/base/ecc.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CHECK_EC_POINT_ZERO':\r
+../Src/base/ecc.c:121:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_Mont_Jm2Jc':\r
+../Src/base/ecc.c:157:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_Mont_Jc2Jm':\r
+../Src/base/ecc.c:190:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add':\r
+../Src/base/ecc.c:283:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jc':\r
+../Src/base/ecc.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add_Jc':\r
+../Src/base/ecc.c:414:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jm':\r
+../Src/base/ecc.c:607:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Chain':\r
+../Src/base/ecc.c:784:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_kP':\r
+../Src/base/ecc.c:989:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_2kP':\r
+../Src/base/ecc.c:1274:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+fast_math.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/fast_math.c -o ../gcc/build/linux/base/fast_math.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/fast_math.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Cmp':\r
+../Src/base/fast_math.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Copy':\r
+../Src/base/fast_math.c:73:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_RShift':\r
+../Src/base/fast_math.c:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_LShift':\r
+../Src/base/fast_math.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_getMSW':\r
+../Src/base/fast_math.c:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_getMSB':\r
+../Src/base/fast_math.c:174:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitValue':\r
+../Src/base/fast_math.c:191:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitsValue':\r
+../Src/base/fast_math.c:245:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Add':\r
+../Src/base/fast_math.c:280:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_AddCarry':\r
+../Src/base/fast_math.c:311:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Sub':\r
+../Src/base/fast_math.c:340:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Mul1':\r
+../Src/base/fast_math.c:375:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd1':\r
+../Src/base/fast_math.c:410:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd':\r
+../Src/base/fast_math.c:431:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Mul':\r
+../Src/base/fast_math.c:453:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Square':\r
+../Src/base/fast_math.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Rem':\r
+../Src/base/fast_math.c:539:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Inverse':\r
+../Src/base/fast_math.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Rem':\r
+../Src/base/fast_math.c:617:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Square':\r
+../Src/base/fast_math.c:646:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Mul':\r
+../Src/base/fast_math.c:689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_ExpMod':\r
+../Src/base/fast_math.c:906:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+hash.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/hash.c -o ../gcc/build/linux/base/hash.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/hash.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_init':\r
+../Src/base/hash.c:43:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_update':\r
+../Src/base/hash.c:66:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_final':\r
+../Src/base/hash.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_hash':\r
+../Src/base/hash.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_init':\r
+../Src/base/hash.c:135:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_update':\r
+../Src/base/hash.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_final':\r
+../Src/base/hash.c:179:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_hash':\r
+../Src/base/hash.c:205:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_init':\r
+../Src/base/hash.c:226:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_update':\r
+../Src/base/hash.c:249:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_final':\r
+../Src/base/hash.c:270:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_hash':\r
+../Src/base/hash.c:296:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_init':\r
+../Src/base/hash.c:319:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_update':\r
+../Src/base/hash.c:342:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_final':\r
+../Src/base/hash.c:364:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_hash':\r
+../Src/base/hash.c:390:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_init':\r
+../Src/base/hash.c:411:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_update':\r
+../Src/base/hash.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_final':\r
+../Src/base/hash.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_hash':\r
+../Src/base/hash.c:482:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_init':\r
+../Src/base/hash.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_update':\r
+../Src/base/hash.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_final':\r
+../Src/base/hash.c:550:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_hash':\r
+../Src/base/hash.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+md5.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/md5.c -o ../gcc/build/linux/base/md5.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/md5.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/md5.c: In function 'SDRM_MD5_Init':\r
+../Src/base/md5.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/md5.c: In function 'SDRM_MD5_Update':\r
+../Src/base/md5.c:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/md5.c: In function 'SDRM_MD5_Final':\r
+../Src/base/md5.c:165:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+moo.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/moo.c -o ../gcc/build/linux/base/moo.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/moo.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/moo.c: In function 'SDRM_ECB_Enc':\r
+../Src/base/moo.c:55:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_ECB_Dec':\r
+../Src/base/moo.c:91:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CBC_Enc':\r
+../Src/base/moo.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CBC_Dec':\r
+../Src/base/moo.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CFB_Enc':\r
+../Src/base/moo.c:289:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CFB_Dec':\r
+../Src/base/moo.c:348:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_OFB_Enc':\r
+../Src/base/moo.c:407:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CTR_Enc':\r
+../Src/base/moo.c:485:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+pkcs1_v21.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/pkcs1_v21.c -o ../gcc/build/linux/base/pkcs1_v21.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/pkcs1_v21.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_pkcs15':\r
+../Src/base/pkcs1_v21.c:155:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pkcs15':\r
+../Src/base/pkcs1_v21.c:564:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_MGF1':\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pss':\r
+../Src/base/pkcs1_v21.c:825:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_oaep':\r
+../Src/base/pkcs1_v21.c:417:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: At top level:\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+rc4.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/rc4.c -o ../gcc/build/linux/base/rc4.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/rc4.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/rc4.c: In function 'SDRM_RC4_Setup':\r
+../Src/base/rc4.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/rc4.c: In function 'SDRM_RC4_PRNG':\r
+../Src/base/rc4.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+sha1.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/sha1.c -o ../gcc/build/linux/base/sha1.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/sha1.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/sha1.c: In function 'SDRM_SHA1_Init':\r
+../Src/base/sha1.c:137:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha1.c: In function 'SDRM_SHA1_Update':\r
+../Src/base/sha1.c:318:5: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha1.c: In function 'SDRM_SHA1_Final':\r
+../Src/base/sha1.c:367:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha1.c: In function 'SDRM_endianTest':\r
+../Src/base/sha1.c:469:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+sha2.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/sha2.c -o ../gcc/build/linux/base/sha2.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/sha2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Transf':\r
+../Src/base/sha2.c:321:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Init':\r
+../Src/base/sha2.c:333:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Update':\r
+../Src/base/sha2.c:366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Final':\r
+../Src/base/sha2.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Transf':\r
+../Src/base/sha2.c:444:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Init':\r
+../Src/base/sha2.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Update':\r
+../Src/base/sha2.c:489:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Final':\r
+../Src/base/sha2.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA384_Init':\r
+../Src/base/sha2.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA384_Update':\r
+../Src/base/sha2.c:561:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA384_Final':\r
+../Src/base/sha2.c:586:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA224_Init':\r
+../Src/base/sha2.c:601:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA224_Update':\r
+../Src/base/sha2.c:635:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA224_Final':\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: At top level:\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+snow2.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/snow2.c -o ../gcc/build/linux/base/snow2.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/snow2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/snow2.c: In function 'SDRM_SNOW2_Setup':\r
+../Src/base/snow2.c:344:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream64':\r
+../Src/base/snow2.c:374:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream':\r
+../Src/base/snow2.c:402:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+cmac.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/cmac.c -o ../gcc/build/linux/middle/cmac.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/cmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_init':\r
+../Src/middle/cmac.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_update':\r
+../Src/middle/cmac.c:173:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_final':\r
+../Src/middle/cmac.c:219:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_getMAC':\r
+../Src/middle/cmac.c:258:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+dh.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/dh.c -o ../gcc/build/linux/middle/dh.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/dh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/dh.c: In function 'SDRM_GenerateDHParam':\r
+../Src/middle/dh.c:119:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_SetDHParam':\r
+../Src/middle/dh.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_GenerateDHPrivate':\r
+../Src/middle/dh.c:232:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_GetDHSharedSecret':\r
+../Src/middle/dh.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_FreeDHContext':\r
+../Src/middle/dh.c:330:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+dsa.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/dsa.c -o ../gcc/build/linux/middle/dsa.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/dsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/dsa.c: In function 'SDRM_Add_DW2BA':\r
+../Src/middle/dsa.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_InitCrt':\r
+../Src/middle/dsa.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_SetParam':\r
+../Src/middle/dsa.c:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_SetKeyPair':\r
+../Src/middle/dsa.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_GenParam':\r
+../Src/middle/dsa.c:358:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_GenKeypair':\r
+../Src/middle/dsa.c:429:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_sign':\r
+../Src/middle/dsa.c:509:2: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_verify':\r
+../Src/middle/dsa.c:600:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ecdh.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdh.c -o ../gcc/build/linux/middle/ecdh.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/ecdh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/ecdh.c: In function 'SDRM_generateDH1stPhaseKey':\r
+../Src/middle/ecdh.c:101:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdh.c: In function 'SDRM_generateDHKey':\r
+../Src/middle/ecdh.c:202:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ecdsa.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdsa.c -o ../gcc/build/linux/middle/ecdsa.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/ecdsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_KEY_GEN':\r
+../Src/middle/ecdsa.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_GEN':\r
+../Src/middle/ecdsa.c:212:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_VERIFY':\r
+../Src/middle/ecdsa.c:363:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_sign':\r
+../Src/middle/ecdsa.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_verify':\r
+../Src/middle/ecdsa.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECC_Set_CTX':\r
+../Src/middle/ecdsa.c:531:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECC_genKeypair':\r
+../Src/middle/ecdsa.c:598:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECC_setKeypair':\r
+../Src/middle/ecdsa.c:662:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+hmac.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/hmac.c -o ../gcc/build/linux/middle/hmac.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/hmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_update':\r
+../Src/middle/hmac.c:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_final':\r
+../Src/middle/hmac.c:433:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_getK0':\r
+../Src/middle/hmac.c:570:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_init':\r
+../Src/middle/hmac.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_getMAC':\r
+../Src/middle/hmac.c:472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+rng.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/rng.c -o ../gcc/build/linux/middle/rng.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/rng.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/rng.c: In function 'SDRM_X931_seed':\r
+../Src/middle/rng.c:41:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rng.c: In function 'SDRM_X931_get':\r
+../Src/middle/rng.c:67:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+rsa.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/rsa.c -o ../gcc/build/linux/middle/rsa.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/rsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_InitCrt':\r
+../Src/middle/rsa.c:58:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_setNED':\r
+../Src/middle/rsa.c:105:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_setNEDPQ':\r
+../Src/middle/rsa.c:218:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateKey':\r
+../Src/middle/rsa.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateND':\r
+../Src/middle/rsa.c:520:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateDwithPQE':\r
+../Src/middle/rsa.c:665:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_encrypt':\r
+../Src/middle/rsa.c:762:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_decrypt':\r
+../Src/middle/rsa.c:859:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_decryptByCRT':\r
+../Src/middle/rsa.c:1029:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_sign':\r
+../Src/middle/rsa.c:1117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_verify':\r
+../Src/middle/rsa.c:1206:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+symmetric.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/symmetric.c -o ../gcc/build/linux/middle/symmetric.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/symmetric.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/symmetric.c: In function 'SDRM_getEncRoundKey':\r
+../Src/middle/symmetric.c:68:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_getDecRoundKey':\r
+../Src/middle/symmetric.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_AES_init':\r
+../Src/middle/symmetric.c:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_AES_process':\r
+../Src/middle/symmetric.c:351:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_AES_final':\r
+../Src/middle/symmetric.c:606:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_RC4_init':\r
+../Src/middle/symmetric.c:638:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_RC4_process':\r
+../Src/middle/symmetric.c:670:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_SNOW2_init':\r
+../Src/middle/symmetric.c:703:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_SNOW2_process':\r
+../Src/middle/symmetric.c:797:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_DES_init':\r
+../Src/middle/symmetric.c:860:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_DES_process':\r
+../Src/middle/symmetric.c:1014:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_DES_final':\r
+../Src/middle/symmetric.c:1231:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_TDES_init':\r
+../Src/middle/symmetric.c:1306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_TDES_process':\r
+../Src/middle/symmetric.c:1460:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_TDES_final':\r
+../Src/middle/symmetric.c:1679:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+tdes.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/tdes.c -o ../gcc/build/linux/middle/tdes.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/tdes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES_KeySched':\r
+../Src/middle/tdes.c:65:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES_Encryption':\r
+../Src/middle/tdes.c:86:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES64_Encryption':\r
+../Src/middle/tdes.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES64_Decryption':\r
+../Src/middle/tdes.c:129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+CC_API.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/CC_API.c -o ../gcc/build/linux/CC_API.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/CC_API.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/CC_API.c: In function 'CCMalloc':\r
+../Src/CC_API.c:46:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/CC_API.c: In function 'CCFree':\r
+../Src/CC_API.c:54:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/CC_API.c: In function 'create_CryptoCoreContainer':\r
+../Src/CC_API.c:336:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/CC_API.c: In function 'destroy_CryptoCoreContainer':\r
+../Src/CC_API.c:438:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+DRMLog.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/DRMLog.c -o ../gcc/build/linux/DRMLog.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/DRMLog.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+SDWAP.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP.c -o ../gcc/build/linux/WhiteBox/SDWAP.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SDWAP.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SDWAP.c: In function 'SDWAP_Process':\r
+../Src/WhiteBox/SDWAP.c:498:15: warning: variable 'Nk' set but not used [-Wunused-but-set-variable]\r
+../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP.c: At top level:\r
+../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SDWAP_TblGen.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP_TblGen.c -o ../gcc/build/linux/WhiteBox/SDWAP_TblGen.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation':\r
+../Src/WhiteBox/SDWAP_TblGen.c:210:25: warning: initialization makes integer from pointer without a cast [enabled by default]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'MakeEachKeyLookup':\r
+../Src/WhiteBox/SDWAP_TblGen.c:252:17: warning: unused variable 'pBeforeLKCol' [-Wunused-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GeneratePVector':\r
+../Src/WhiteBox/SDWAP_TblGen.c:1309:15: warning: variable 'rnd' set but not used [-Wunused-but-set-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable':\r
+../Src/WhiteBox/SDWAP_TblGen.c:1566:22: warning: unused variable 'pKeyBitPBox' [-Wunused-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1565:23: warning: unused variable 'pKeyBytePBox' [-Wunused-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c: At top level:\r
+../Src/WhiteBox/SDWAP_TblGen.c:1372:13: warning: 'SDWAP_GeneratePVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1418:13: warning: 'SDWAP_GenerateInvPVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1464:13: warning: 'SDWAP_GenerateInvPVector_fstest' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1494:13: warning: 'SDWAP_ConvertPBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1522:13: warning: 'SDWAP_RandomizePBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation':\r
+../Src/WhiteBox/SDWAP_TblGen.c:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation_LK':\r
+../Src/WhiteBox/SDWAP_TblGen.c:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateBitPBox':\r
+../Src/WhiteBox/SDWAP_TblGen.c:521:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_ProcessBitPBox':\r
+../Src/WhiteBox/SDWAP_TblGen.c:590:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable':\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: At top level:\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SWAPv2.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2.c -o ../gcc/build/linux/WhiteBox/SWAPv2.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SWAPv2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SWAPv2.c: In function 'SWAPv2_Process':\r
+../Src/WhiteBox/SWAPv2.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SWAPv2_TblGen.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2_TblGen.c -o ../gcc/build/linux/WhiteBox/SWAPv2_TblGen.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:275:25: warning: initialization makes integer from pointer without a cast [enabled by default]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBytePBox':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:434:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: At top level:\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1119:13: warning: 'GeneratePVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1165:13: warning: 'GenerateInvPVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1211:13: warning: 'GenerateInvPVector_fstest' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1241:13: warning: 'ConvertPBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1269:13: warning: 'RandomizePBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:294:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBitPBox':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'SWAPv2_GenerateTable':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SAKEP.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/SAKEP.cpp -o ../gcc/build/linux/SAKEP.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/SAKEP.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:277:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp:278:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:419:16: warning: unused variable 'pDecryptedGx' [-Wunused-variable]\r
+../Src/SAKEP.cpp:420:15: warning: unused variable 'nDecryptedGxLen' [-Wunused-variable]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:574:16: warning: unused variable 'pWc' [-Wunused-variable]\r
+../Src/SAKEP.cpp:575:15: warning: unused variable 'nWcLen' [-Wunused-variable]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:5114:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:8210:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi()':\r
+../Src/SAKEP.cpp:64:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: At global scope:\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi(Handle_CTX*, ModeType)':\r
+../Src/SAKEP.cpp:76:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: At global scope:\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void* SAkepApi::SAKEPMalloc(int)':\r
+../Src/SAKEP.cpp:100:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::SAKEPFree(void*)':\r
+../Src/SAKEP.cpp:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'SAKEPContainer* SAkepApi::create_SAKEPContainer()':\r
+../Src/SAKEP.cpp:131:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::destroy_SAKEPContainer(SAKEPContainer*)':\r
+../Src/SAKEP.cpp:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptGy(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptGx(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GenerateBSPublic(SAKEPContainer*, unsigned char*, unsigned int, unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:396:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetGy(unsigned char*, unsigned int, unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:560:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerAck(Handle_CTX*, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1201:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ParserClientAck(Handle_CTX*, unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1323:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPrivatekeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPrivatekeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1696:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SetMac(unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1714:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMac(unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMyMacLen(unsigned int*)':\r
+../Src/SAKEP.cpp:1728:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPublicKeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1735:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPublicKeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1744:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptParameterDataWithWB(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:1756:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptParameterDataWithWB(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:1769:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:5117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ApplyPasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1966:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseClientHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ReversePasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:2021:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1681:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: At global scope:\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:1771:13: warning: 'void X931_Prng(unsigned char*, unsigned char*, unsigned int, unsigned char*)' defined but not used [-Wunused-function]\r
+SPCApi.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/SPCApi.cpp -o ../gcc/build/linux/SPCApi.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/SPCApi.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/SPCApi.cpp: In constructor 'SPCApi::SPCApi()':\r
+../Src/SPCApi.cpp:25:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: At global scope:\r
+../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::InitSPCContext(SPCHandle_CTX*, ModeType, unsigned char*, unsigned int)':\r
+../Src/SPCApi.cpp:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'void SPCApi::DestroySPCContext(SPCHandle_CTX*)':\r
+../Src/SPCApi.cpp:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'void SPCApi::ClearSPCSessionContext(SPCHandle_CTX*)':\r
+../Src/SPCApi.cpp:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)':\r
+../Src/SPCApi.cpp:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:204:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerAck(SPCHandle_CTX*, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientAck(SPCHandle_CTX*, unsigned char*, unsigned int)':\r
+../Src/SPCApi.cpp:265:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:297:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::ParseRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+Util.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/Util.cpp -o ../gcc/build/linux/Util.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/Util.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+-- Archiving static and dynamic library SAKEP Client --\r
+../gcc/build/linux/libPAKEClient.so ../gcc/build/linux/libPAKEClient.a\r
+\r
+jounsun.beak@DO-JOUNSUN-BE02 /d/SPC_Client/jni/SPC/gcc\r
+$ make clean\r
+-- Clean --\r
+\r
+jounsun.beak@DO-JOUNSUN-BE02 /d/SPC_Client/jni/SPC/gcc\r
+$ make\r
+aes.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/aes.c -o ../gcc/build/linux/base/aes.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/aes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupEnc':\r
+../Src/base/aes.c:815:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelKeySetupDec':\r
+../Src/base/aes.c:869:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelEncrypt':\r
+../Src/base/aes.c:1065:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_rijndaelDecrypt':\r
+../Src/base/aes.c:1261:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES128_Encryption':\r
+../Src/base/aes.c:1282:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES128_Decryption':\r
+../Src/base/aes.c:1303:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES192_Encryption':\r
+../Src/base/aes.c:1324:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES192_Decryption':\r
+../Src/base/aes.c:1345:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES256_Encryption':\r
+../Src/base/aes.c:1366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/aes.c: In function 'SDRM_AES256_Decryption':\r
+../Src/base/aes.c:1387:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ANSI_x931.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/ANSI_x931.c -o ../gcc/build/linux/base/ANSI_x931.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/ANSI_x931.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/ANSI_x931.c: In function 'SDRM_RNG_X931':\r
+../Src/base/ANSI_x931.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+bignum.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/bignum.c -o ../gcc/build/linux/base/bignum.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/bignum.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/bignum.c: In function 'SDRM_DWD_Classical_REDC':\r
+../Src/base/bignum.c:768:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_DIGIT_Gcd':\r
+../Src/base/bignum.c:798:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_PrintBN':\r
+../Src/base/bignum.c:838:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN2OS':\r
+../Src/base/bignum.c:921:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_I2OSP':\r
+../Src/base/bignum.c:986:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Clr':\r
+../Src/base/bignum.c:1004:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Copy':\r
+../Src/base/bignum.c:1028:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Alloc':\r
+../Src/base/bignum.c:1053:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Init':\r
+../Src/base/bignum.c:1079:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Cmp':\r
+../Src/base/bignum.c:1102:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Cmp_sign':\r
+../Src/base/bignum.c:1134:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Rand':\r
+../Src/base/bignum.c:1167:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_SHL':\r
+../Src/base/bignum.c:1215:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_OS2BN':\r
+../Src/base/bignum.c:961:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_SHR':\r
+../Src/base/bignum.c:1266:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Add':\r
+../Src/base/bignum.c:1376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Sub':\r
+../Src/base/bignum.c:1477:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Mul':\r
+../Src/base/bignum.c:1532:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_Div':\r
+../Src/base/bignum.c:1633:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModRed':\r
+../Src/base/bignum.c:1828:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModSub':\r
+../Src/base/bignum.c:1779:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModAdd':\r
+../Src/base/bignum.c:1709:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModMul':\r
+../Src/base/bignum.c:1878:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModInv':\r
+../Src/base/bignum.c:2019:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Rzn2zn':\r
+../Src/base/bignum.c:2093:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Mul':\r
+../Src/base/bignum.c:2171:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Init':\r
+../Src/base/bignum.c:2328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Free':\r
+../Src/base/bignum.c:2343:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_num_bits':\r
+../Src/base/bignum.c:2369:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_MONT_Set':\r
+../Src/base/bignum.c:2300:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_UINT32_num_bits':\r
+../Src/base/bignum.c:2398:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_INT_num_bits':\r
+../Src/base/bignum.c:2424:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModExp':\r
+../Src/base/bignum.c:2502:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_ModExp2':\r
+../Src/base/bignum.c:2584:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_CheckRelativelyPrime':\r
+../Src/base/bignum.c:2643:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: In function 'SDRM_BN_MILLER_RABIN':\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c: At top level:\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/bignum.c:2748:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+des.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/des.c -o ../gcc/build/linux/base/des.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/des.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/des.c: In function 'SDRM_DES_KeySched':\r
+../Src/base/des.c:79:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/des.c: In function 'SDRM_DES_Encryption':\r
+../Src/base/des.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/des.c: In function 'SDRM_DES64_Encryption':\r
+../Src/base/des.c:145:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/des.c: In function 'SDRM_DES64_Decryption':\r
+../Src/base/des.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ecc.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/ecc.c -o ../gcc/build/linux/base/ecc.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/ecc.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/ecc.c: In function 'SDRM_ECC_Init':\r
+../Src/base/ecc.c:47:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CURVE_Init':\r
+../Src/base/ecc.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CHECK_EC_POINT_ZERO':\r
+../Src/base/ecc.c:121:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_Mont_Jm2Jc':\r
+../Src/base/ecc.c:157:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_Mont_Jc2Jm':\r
+../Src/base/ecc.c:190:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add':\r
+../Src/base/ecc.c:283:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jc':\r
+../Src/base/ecc.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Add_Jc':\r
+../Src/base/ecc.c:414:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Double_Jm':\r
+../Src/base/ecc.c:607:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_Chain':\r
+../Src/base/ecc.c:784:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_kP':\r
+../Src/base/ecc.c:989:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/ecc.c: In function 'SDRM_CTX_EC_2kP':\r
+../Src/base/ecc.c:1274:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+fast_math.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/fast_math.c -o ../gcc/build/linux/base/fast_math.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/fast_math.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Cmp':\r
+../Src/base/fast_math.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Copy':\r
+../Src/base/fast_math.c:73:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_RShift':\r
+../Src/base/fast_math.c:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_LShift':\r
+../Src/base/fast_math.c:124:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_getMSW':\r
+../Src/base/fast_math.c:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_getMSB':\r
+../Src/base/fast_math.c:174:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitValue':\r
+../Src/base/fast_math.c:191:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_bit_getBitsValue':\r
+../Src/base/fast_math.c:245:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Add':\r
+../Src/base/fast_math.c:280:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_AddCarry':\r
+../Src/base/fast_math.c:311:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Sub':\r
+../Src/base/fast_math.c:340:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Mul1':\r
+../Src/base/fast_math.c:375:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd1':\r
+../Src/base/fast_math.c:410:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_MulAdd':\r
+../Src/base/fast_math.c:431:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Mul':\r
+../Src/base/fast_math.c:453:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Square':\r
+../Src/base/fast_math.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_Rem':\r
+../Src/base/fast_math.c:539:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Inverse':\r
+../Src/base/fast_math.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Rem':\r
+../Src/base/fast_math.c:617:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Square':\r
+../Src/base/fast_math.c:646:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_mont_Mul':\r
+../Src/base/fast_math.c:689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/fast_math.c: In function 'SDRM_ll_ExpMod':\r
+../Src/base/fast_math.c:906:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+hash.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/hash.c -o ../gcc/build/linux/base/hash.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/hash.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_init':\r
+../Src/base/hash.c:43:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_update':\r
+../Src/base/hash.c:66:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_final':\r
+../Src/base/hash.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA1_hash':\r
+../Src/base/hash.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_init':\r
+../Src/base/hash.c:135:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_update':\r
+../Src/base/hash.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_final':\r
+../Src/base/hash.c:179:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA224_hash':\r
+../Src/base/hash.c:205:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_init':\r
+../Src/base/hash.c:226:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_update':\r
+../Src/base/hash.c:249:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_final':\r
+../Src/base/hash.c:270:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA256_hash':\r
+../Src/base/hash.c:296:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_init':\r
+../Src/base/hash.c:319:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_update':\r
+../Src/base/hash.c:342:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_final':\r
+../Src/base/hash.c:364:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA384_hash':\r
+../Src/base/hash.c:390:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_init':\r
+../Src/base/hash.c:411:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_update':\r
+../Src/base/hash.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_final':\r
+../Src/base/hash.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_SHA512_hash':\r
+../Src/base/hash.c:482:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_init':\r
+../Src/base/hash.c:505:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_update':\r
+../Src/base/hash.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_final':\r
+../Src/base/hash.c:550:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/hash.c: In function 'SDRM_MD5_hash':\r
+../Src/base/hash.c:576:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+md5.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/md5.c -o ../gcc/build/linux/base/md5.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/md5.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/md5.c: In function 'SDRM_MD5_Init':\r
+../Src/base/md5.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/md5.c: In function 'SDRM_MD5_Update':\r
+../Src/base/md5.c:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/md5.c: In function 'SDRM_MD5_Final':\r
+../Src/base/md5.c:165:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+moo.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/moo.c -o ../gcc/build/linux/base/moo.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/moo.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/moo.c: In function 'SDRM_ECB_Enc':\r
+../Src/base/moo.c:55:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_ECB_Dec':\r
+../Src/base/moo.c:91:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CBC_Enc':\r
+../Src/base/moo.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CBC_Dec':\r
+../Src/base/moo.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CFB_Enc':\r
+../Src/base/moo.c:289:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CFB_Dec':\r
+../Src/base/moo.c:348:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_OFB_Enc':\r
+../Src/base/moo.c:407:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/moo.c: In function 'SDRM_CTR_Enc':\r
+../Src/base/moo.c:485:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+pkcs1_v21.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/pkcs1_v21.c -o ../gcc/build/linux/base/pkcs1_v21.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/pkcs1_v21.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_pkcs15':\r
+../Src/base/pkcs1_v21.c:155:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pkcs15':\r
+../Src/base/pkcs1_v21.c:564:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_MGF1':\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsassa_pss':\r
+../Src/base/pkcs1_v21.c:825:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: In function 'SDRM_Padding_Rsaes_oaep':\r
+../Src/base/pkcs1_v21.c:417:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c: At top level:\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/pkcs1_v21.c:938:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+rc4.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/rc4.c -o ../gcc/build/linux/base/rc4.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/rc4.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/rc4.c: In function 'SDRM_RC4_Setup':\r
+../Src/base/rc4.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/rc4.c: In function 'SDRM_RC4_PRNG':\r
+../Src/base/rc4.c:158:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+sha1.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/sha1.c -o ../gcc/build/linux/base/sha1.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/sha1.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/sha1.c: In function 'SDRM_SHA1_Init':\r
+../Src/base/sha1.c:137:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha1.c: In function 'SDRM_SHA1_Update':\r
+../Src/base/sha1.c:318:5: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha1.c: In function 'SDRM_SHA1_Final':\r
+../Src/base/sha1.c:367:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha1.c: In function 'SDRM_endianTest':\r
+../Src/base/sha1.c:469:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+sha2.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/sha2.c -o ../gcc/build/linux/base/sha2.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/sha2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Transf':\r
+../Src/base/sha2.c:321:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Init':\r
+../Src/base/sha2.c:333:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Update':\r
+../Src/base/sha2.c:366:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA256_Final':\r
+../Src/base/sha2.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Transf':\r
+../Src/base/sha2.c:444:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Init':\r
+../Src/base/sha2.c:456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Update':\r
+../Src/base/sha2.c:489:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA512_Final':\r
+../Src/base/sha2.c:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA384_Init':\r
+../Src/base/sha2.c:528:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA384_Update':\r
+../Src/base/sha2.c:561:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA384_Final':\r
+../Src/base/sha2.c:586:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA224_Init':\r
+../Src/base/sha2.c:601:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA224_Update':\r
+../Src/base/sha2.c:635:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: In function 'SDRM_SHA224_Final':\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c: At top level:\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/sha2.c:660:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+snow2.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/base/snow2.c -o ../gcc/build/linux/base/snow2.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/base/snow2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/base/snow2.c: In function 'SDRM_SNOW2_Setup':\r
+../Src/base/snow2.c:344:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream64':\r
+../Src/base/snow2.c:374:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/base/snow2.c: In function 'SDRM_SNOW2_getKeyStream':\r
+../Src/base/snow2.c:402:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+cmac.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/cmac.c -o ../gcc/build/linux/middle/cmac.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/cmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_init':\r
+../Src/middle/cmac.c:117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_update':\r
+../Src/middle/cmac.c:173:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_final':\r
+../Src/middle/cmac.c:219:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/cmac.c: In function 'SDRM_CMAC_getMAC':\r
+../Src/middle/cmac.c:258:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+dh.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/dh.c -o ../gcc/build/linux/middle/dh.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/dh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/dh.c: In function 'SDRM_GenerateDHParam':\r
+../Src/middle/dh.c:119:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_SetDHParam':\r
+../Src/middle/dh.c:166:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_GenerateDHPrivate':\r
+../Src/middle/dh.c:232:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_GetDHSharedSecret':\r
+../Src/middle/dh.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dh.c: In function 'SDRM_FreeDHContext':\r
+../Src/middle/dh.c:330:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+dsa.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/dsa.c -o ../gcc/build/linux/middle/dsa.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/dsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/dsa.c: In function 'SDRM_Add_DW2BA':\r
+../Src/middle/dsa.c:61:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_InitCrt':\r
+../Src/middle/dsa.c:88:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_SetParam':\r
+../Src/middle/dsa.c:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_SetKeyPair':\r
+../Src/middle/dsa.c:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_GenParam':\r
+../Src/middle/dsa.c:358:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_GenKeypair':\r
+../Src/middle/dsa.c:429:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_sign':\r
+../Src/middle/dsa.c:509:2: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/dsa.c: In function 'SDRM_DSA_verify':\r
+../Src/middle/dsa.c:600:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ecdh.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdh.c -o ../gcc/build/linux/middle/ecdh.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/ecdh.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/ecdh.c: In function 'SDRM_generateDH1stPhaseKey':\r
+../Src/middle/ecdh.c:101:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdh.c: In function 'SDRM_generateDHKey':\r
+../Src/middle/ecdh.c:202:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+ecdsa.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/ecdsa.c -o ../gcc/build/linux/middle/ecdsa.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/ecdsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_KEY_GEN':\r
+../Src/middle/ecdsa.c:96:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_GEN':\r
+../Src/middle/ecdsa.c:212:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_CTX_ECDSA_SIG_VERIFY':\r
+../Src/middle/ecdsa.c:363:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_sign':\r
+../Src/middle/ecdsa.c:391:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECDSA_verify':\r
+../Src/middle/ecdsa.c:434:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECC_Set_CTX':\r
+../Src/middle/ecdsa.c:531:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECC_genKeypair':\r
+../Src/middle/ecdsa.c:598:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/ecdsa.c: In function 'SDRM_ECC_setKeypair':\r
+../Src/middle/ecdsa.c:662:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+hmac.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/hmac.c -o ../gcc/build/linux/middle/hmac.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/hmac.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_update':\r
+../Src/middle/hmac.c:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_final':\r
+../Src/middle/hmac.c:433:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_getK0':\r
+../Src/middle/hmac.c:570:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_init':\r
+../Src/middle/hmac.c:230:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/hmac.c: In function 'SDRM_HMAC_getMAC':\r
+../Src/middle/hmac.c:472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+rng.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/rng.c -o ../gcc/build/linux/middle/rng.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/rng.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/rng.c: In function 'SDRM_X931_seed':\r
+../Src/middle/rng.c:41:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rng.c: In function 'SDRM_X931_get':\r
+../Src/middle/rng.c:67:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+rsa.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/rsa.c -o ../gcc/build/linux/middle/rsa.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/rsa.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_InitCrt':\r
+../Src/middle/rsa.c:58:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_setNED':\r
+../Src/middle/rsa.c:105:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_setNEDPQ':\r
+../Src/middle/rsa.c:218:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateKey':\r
+../Src/middle/rsa.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateND':\r
+../Src/middle/rsa.c:520:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_GenerateDwithPQE':\r
+../Src/middle/rsa.c:665:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_encrypt':\r
+../Src/middle/rsa.c:762:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_decrypt':\r
+../Src/middle/rsa.c:859:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_decryptByCRT':\r
+../Src/middle/rsa.c:1029:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_sign':\r
+../Src/middle/rsa.c:1117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/rsa.c: In function 'SDRM_RSA_verify':\r
+../Src/middle/rsa.c:1206:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+symmetric.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/symmetric.c -o ../gcc/build/linux/middle/symmetric.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/symmetric.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/symmetric.c: In function 'SDRM_getEncRoundKey':\r
+../Src/middle/symmetric.c:68:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_getDecRoundKey':\r
+../Src/middle/symmetric.c:114:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_AES_init':\r
+../Src/middle/symmetric.c:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_AES_process':\r
+../Src/middle/symmetric.c:351:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_AES_final':\r
+../Src/middle/symmetric.c:606:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_RC4_init':\r
+../Src/middle/symmetric.c:638:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_RC4_process':\r
+../Src/middle/symmetric.c:670:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_SNOW2_init':\r
+../Src/middle/symmetric.c:703:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_SNOW2_process':\r
+../Src/middle/symmetric.c:797:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_DES_init':\r
+../Src/middle/symmetric.c:860:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_DES_process':\r
+../Src/middle/symmetric.c:1014:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_DES_final':\r
+../Src/middle/symmetric.c:1231:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_TDES_init':\r
+../Src/middle/symmetric.c:1306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_TDES_process':\r
+../Src/middle/symmetric.c:1460:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/symmetric.c: In function 'SDRM_TDES_final':\r
+../Src/middle/symmetric.c:1679:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+tdes.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/middle/tdes.c -o ../gcc/build/linux/middle/tdes.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/middle/tdes.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES_KeySched':\r
+../Src/middle/tdes.c:65:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES_Encryption':\r
+../Src/middle/tdes.c:86:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES64_Encryption':\r
+../Src/middle/tdes.c:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/middle/tdes.c: In function 'SDRM_TDES64_Decryption':\r
+../Src/middle/tdes.c:129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+CC_API.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/CC_API.c -o ../gcc/build/linux/CC_API.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/CC_API.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/CC_API.c: In function 'CCMalloc':\r
+../Src/CC_API.c:46:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/CC_API.c: In function 'CCFree':\r
+../Src/CC_API.c:54:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/CC_API.c: In function 'create_CryptoCoreContainer':\r
+../Src/CC_API.c:336:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/CC_API.c: In function 'destroy_CryptoCoreContainer':\r
+../Src/CC_API.c:438:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+DRMLog.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/DRMLog.c -o ../gcc/build/linux/DRMLog.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/DRMLog.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+SDWAP.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP.c -o ../gcc/build/linux/WhiteBox/SDWAP.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SDWAP.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SDWAP.c: In function 'SDWAP_Process':\r
+../Src/WhiteBox/SDWAP.c:498:15: warning: variable 'Nk' set but not used [-Wunused-but-set-variable]\r
+../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP.c: At top level:\r
+../Src/WhiteBox/SDWAP.c:569:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SDWAP_TblGen.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SDWAP_TblGen.c -o ../gcc/build/linux/WhiteBox/SDWAP_TblGen.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation':\r
+../Src/WhiteBox/SDWAP_TblGen.c:210:25: warning: initialization makes integer from pointer without a cast [enabled by default]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'MakeEachKeyLookup':\r
+../Src/WhiteBox/SDWAP_TblGen.c:252:17: warning: unused variable 'pBeforeLKCol' [-Wunused-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GeneratePVector':\r
+../Src/WhiteBox/SDWAP_TblGen.c:1309:15: warning: variable 'rnd' set but not used [-Wunused-but-set-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable':\r
+../Src/WhiteBox/SDWAP_TblGen.c:1566:22: warning: unused variable 'pKeyBitPBox' [-Wunused-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1565:23: warning: unused variable 'pKeyBytePBox' [-Wunused-variable]\r
+../Src/WhiteBox/SDWAP_TblGen.c: At top level:\r
+../Src/WhiteBox/SDWAP_TblGen.c:1372:13: warning: 'SDWAP_GeneratePVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1418:13: warning: 'SDWAP_GenerateInvPVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1464:13: warning: 'SDWAP_GenerateInvPVector_fstest' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1494:13: warning: 'SDWAP_ConvertPBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1522:13: warning: 'SDWAP_RandomizePBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation':\r
+../Src/WhiteBox/SDWAP_TblGen.c:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_BitPermutation_LK':\r
+../Src/WhiteBox/SDWAP_TblGen.c:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateBitPBox':\r
+../Src/WhiteBox/SDWAP_TblGen.c:521:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_ProcessBitPBox':\r
+../Src/WhiteBox/SDWAP_TblGen.c:590:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: In function 'SDWAP_GenerateTable':\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c: At top level:\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SDWAP_TblGen.c:1722:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SWAPv2.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2.c -o ../gcc/build/linux/WhiteBox/SWAPv2.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SWAPv2.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SWAPv2.c: In function 'SWAPv2_Process':\r
+../Src/WhiteBox/SWAPv2.c:306:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SWAPv2_TblGen.c\r
+gcc -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/WhiteBox/SWAPv2_TblGen.c -o ../gcc/build/linux/WhiteBox/SWAPv2_TblGen.o\r
+cc1.exe: warning: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [enabled by default]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:275:25: warning: initialization makes integer from pointer without a cast [enabled by default]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBytePBox':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:434:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: At top level:\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1119:13: warning: 'GeneratePVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1165:13: warning: 'GenerateInvPVector_fst' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1211:13: warning: 'GenerateInvPVector_fstest' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1241:13: warning: 'ConvertPBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1269:13: warning: 'RandomizePBox' defined but not used [-Wunused-function]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'BitPermutation':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:294:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'ProcessBitPBox':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:376:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/WhiteBox/SWAPv2_TblGen.c: In function 'SWAPv2_GenerateTable':\r
+../Src/WhiteBox/SWAPv2_TblGen.c:1456:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+SAKEP.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/SAKEP.cpp -o ../gcc/build/linux/SAKEP.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/SAKEP.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:277:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp:278:29: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:419:16: warning: unused variable 'pDecryptedGx' [-Wunused-variable]\r
+../Src/SAKEP.cpp:420:15: warning: unused variable 'nDecryptedGxLen' [-Wunused-variable]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:574:16: warning: unused variable 'pWc' [-Wunused-variable]\r
+../Src/SAKEP.cpp:575:15: warning: unused variable 'nWcLen' [-Wunused-variable]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:5114:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:8210:34: warning: cast from type 'const unsigned char*' to type 'unsigned char*' casts away qualifiers [-Wcast-qual]\r
+../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi()':\r
+../Src/SAKEP.cpp:64:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: At global scope:\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In constructor 'SAkepApi::SAkepApi(Handle_CTX*, ModeType)':\r
+../Src/SAKEP.cpp:76:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: At global scope:\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void* SAkepApi::SAKEPMalloc(int)':\r
+../Src/SAKEP.cpp:100:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::SAKEPFree(void*)':\r
+../Src/SAKEP.cpp:108:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'SAKEPContainer* SAkepApi::create_SAKEPContainer()':\r
+../Src/SAKEP.cpp:131:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::destroy_SAKEPContainer(SAKEPContainer*)':\r
+../Src/SAKEP.cpp:146:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptGy(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:188:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptGx(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:229:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_SetBSParam(SAKEPContainer*, const unsigned char*, unsigned int, const unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:285:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GenerateBSPublic(SAKEPContainer*, unsigned char*, unsigned int, unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:396:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SAKEP_GetAuthClient(unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:514:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetGy(unsigned char*, unsigned int, unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:560:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerAck(Handle_CTX*, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1201:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ParserClientAck(Handle_CTX*, unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1323:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPrivatekeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1689:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPrivatekeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1696:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SetMac(unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1714:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMac(unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetMyMacLen(unsigned int*)':\r
+../Src/SAKEP.cpp:1728:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::SetPublicKeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1735:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GetPublicKeyY(unsigned char*)':\r
+../Src/SAKEP.cpp:1744:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::EncryptParameterDataWithWB(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:1756:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorServerHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:721:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::DecryptParameterDataWithWB(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:1769:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ApplyKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:5117:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ApplyPasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1966:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseClientHello(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)':\r
+../Src/SAKEP.cpp:1129:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'void SAkepApi::ReverseKeyTransform(unsigned char*, unsigned char*)':\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ReversePasswordTransform(unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:2021:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::ParseRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1681:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: In member function 'int SAkepApi::GeneratorRecordMsg(Handle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SAKEP.cpp:1472:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp: At global scope:\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:8213:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SAKEP.cpp:1771:13: warning: 'void X931_Prng(unsigned char*, unsigned char*, unsigned int, unsigned char*)' defined but not used [-Wunused-function]\r
+SPCApi.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/SPCApi.cpp -o ../gcc/build/linux/SPCApi.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/SPCApi.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/SPCApi.cpp: In constructor 'SPCApi::SPCApi()':\r
+../Src/SPCApi.cpp:25:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: At global scope:\r
+../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::InitSPCContext(SPCHandle_CTX*, ModeType, unsigned char*, unsigned int)':\r
+../Src/SPCApi.cpp:98:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'void SPCApi::DestroySPCContext(SPCHandle_CTX*)':\r
+../Src/SPCApi.cpp:130:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'void SPCApi::ClearSPCSessionContext(SPCHandle_CTX*)':\r
+../Src/SPCApi.cpp:139:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int)':\r
+../Src/SPCApi.cpp:172:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerHello(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:204:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorServerAck(SPCHandle_CTX*, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:235:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::ParseClientAck(SPCHandle_CTX*, unsigned char*, unsigned int)':\r
+../Src/SPCApi.cpp:265:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::GeneratorRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:297:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+../Src/SPCApi.cpp: In member function 'int SPCApi::ParseRecordMsg(SPCHandle_CTX*, unsigned char*, unsigned int, unsigned char*, unsigned int*)':\r
+../Src/SPCApi.cpp:328:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]\r
+Util.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/Util.cpp -o ../gcc/build/linux/Util.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/Util.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+DtcpCTcpSocket.cpp\r
+g++ -O2 -D__linux -DLINUX -DUNIX -DMTHREAD -D_REENTRANT -DPRINT_LOG -D_WIN32_ -Wall -Wextra -Wcast-align -Wno-unused-parameter -Wshadow -Wwrite-strings -Wcast-qual -fstrict-aliasing -fsigned-char -ffunction-sections -fdata-sections -fPIC  -Wstrict-prototypes -fpermissive -I../Inc -I../Inc/middle -I.\r
+./Inc/base -I../Inc/WhiteBox -c ../Src/DtcpCTcpSocket.cpp -o ../gcc/build/linux/DtcpCTcpSocket.o\r
+cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ [enabled by default]\r
+../Src/DtcpCTcpSocket.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default]\r
+../Src/DtcpCTcpSocket.cpp: In member function 'long int DtcpCTcpSocket::connectSocket(sockaddr_in*)':\r
+../Src/DtcpCTcpSocket.cpp:330:26: error: 'GetLocalIP' was not declared in this scope\r
+../Src/DtcpCTcpSocket.cpp:344:10: warning: unused variable 'i' [-Wunused-variable]\r
+make: *** [../gcc/build/linux/DtcpCTcpSocket.o] Error 1\r
+\r
+jounsun.beak@DO-JOUNSUN-BE02 /d/SPC_Client/jni/SPC/gcc\r
+$
\ No newline at end of file
diff --git a/src/SPCManager.cpp b/src/SPCManager.cpp
new file mode 100755 (executable)
index 0000000..ee3531a
--- /dev/null
@@ -0,0 +1,184 @@
+#include <stdio.h>\r
+#include <stdlib.h>\r
+#include <string.h>\r
+#include <unistd.h>\r
+#ifdef OS_LINUX\r
+#include <sys/socket.h>\r
+#endif\r
+\r
+#ifdef OS_WINDOWS\r
+#include <winsock.h>\r
+#include <windows.h>\r
+#endif\r
+\r
+#include <fcntl.h>\r
+#include "SPCManager.h"\r
+#include <errno.h>\r
+\r
+#define MESSAGE_LENGTH 4096\r
+#define PWD_LENGTH 8\r
+#define PWD_MAX_LENGTH 8\r
+#define DATA_LENGTH_PACKET_LENGTH 10\r
+\r
+#define D(format, arg...) void() //LOGI\r
+\r
+\r
+int SPC_Init(void* SPC_context, void* SPC_Server, unsigned char *pUserID)\r
+{\r
+       if(!SPC_context || !SPC_Server || !pUserID){\r
+               D("Invalid argument : SPC_context=[0x%p] SPC_Server=[0x%p] pUserID=[0x%p]", SPC_context, SPC_Server, pUserID );\r
+               return -2;\r
+       }\r
+\r
+       int reVal = SPC_SUCCESS;\r
+\r
+       SPCHandle_CTX* m_Ctx = (SPCHandle_CTX*)SPC_context;\r
+       m_Ctx->LoginTryCount = SPC_LOGIN_LIMITED_COUNT;\r
+\r
+       SPCApi* SPCServer = (SPCApi*)SPC_Server;\r
+       reVal = SPCServer->InitSPCContext(m_Ctx, CLIENT_MODE, pUserID, strlen((char*)pUserID));\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+               D("SPC Init Error type : %d\n", SPC_context->ctx.eErrorType);\r
+               return -1;\r
+       }\r
+       m_Ctx->ctx.eState = STATE_WAIT_SERVERHELLO;\r
+       m_Ctx->LoginTryCount = 5;\r
+\r
+       return SPC_SUCCESS; // SPC_SUCCESS\r
+}\r
+\r
+int SPC_GenServerHello(SPCApi* SPCServer, SPCHandle_CTX * SPC_context, unsigned char* pServerOutMsg, unsigned int* LenpServerOutMsg)\r
+{\r
+       if(!SPCServer || !SPC_context || !pServerOutMsg || !LenpServerOutMsg){\r
+               D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] pServerOutMsg=[0x%p] LenpServerOutMsg=[0x%p]", SPCServer, SPC_context, pServerOutMsg,LenpServerOutMsg );\r
+               return -2;\r
+       }\r
+\r
+       int reVal = SPC_SUCCESS;\r
+\r
+       unsigned char pPwd[PWD_MAX_LENGTH];\r
+       memcpy(pPwd, "PASSWORD", PWD_LENGTH);\r
+\r
+       reVal = SPCServer->GeneratorServerHello(SPC_context, pPwd, PWD_LENGTH, SPC_context->pUserID, pServerOutMsg, LenpServerOutMsg);\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+               D("SPC GenServerHello Error type : %d\n", SPC_context->ctx.eErrorType);\r
+               return -1;\r
+       }\r
+\r
+       return SPC_SUCCESS;\r
+}\r
+\r
+int SPC_ParseClientHello(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* ReadMsg, unsigned int* LenReadMsg)\r
+{\r
+       if(!SPCServer || !SPC_context || !ReadMsg || !LenReadMsg){\r
+               D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] ReadMsg=[0x%p] LenReadMsg=[0x%p]", SPCServer, SPC_context, ReadMsg, LenReadMsg );\r
+               return -2;\r
+       }\r
+\r
+       int reVal = SPC_SUCCESS;\r
+\r
+       unsigned char pPwd[PWD_MAX_LENGTH];\r
+       memcpy(pPwd, "PASSWORD", PWD_LENGTH);\r
+       reVal = SPCServer->ParseClientHello(SPC_context, pPwd, PWD_LENGTH, ReadMsg, *LenReadMsg);\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+               D("SPC ParseClientHello Error type : %d\n", SPC_context->ctx.eErrorType);\r
+               return -1;\r
+       }\r
+       return SPC_SUCCESS;\r
+}\r
+\r
+int SPC_GenServerAck(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* pServerAckOutMsg, unsigned int* LenpServerAckOutMsg)\r
+{\r
+       if(!SPCServer || !SPC_context || !pServerAckOutMsg || !LenpServerAckOutMsg){\r
+               D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] pServerAckOutMsg=[0x%p] LenpServerAckOutMsg=[0x%p]", SPCServer, SPC_context, pServerAckOutMsg, LenpServerAckOutMsg);\r
+               return -2;\r
+       }\r
+\r
+       int reVal = SPC_SUCCESS;\r
+\r
+       reVal = SPCServer->GeneratorServerAck(SPC_context, pServerAckOutMsg, LenpServerAckOutMsg);\r
+       if( reVal != SPC_SUCCESS )\r
+       {\r
+               D("SPC Generator Server Ack Error type : %d \n", SPC_context->ctx.eErrorType);\r
+               return -1;\r
+       }\r
+       return SPC_SUCCESS;\r
+}\r
+\r
+int SPC_ParseClientAck(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* ReadMsg, unsigned int* LenReadMsg)\r
+{\r
+       if(!SPCServer || !SPC_context || !ReadMsg || !LenReadMsg){\r
+               D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] ReadMsg=[0x%p] LenReadMsg=[0x%p]", SPCServer, SPC_context, ReadMsg, LenReadMsg );\r
+               return -2;\r
+       }\r
+\r
+       int reVal = SPC_SUCCESS;\r
+\r
+       reVal = SPCServer->ParseClientAck(SPC_context, ReadMsg, *LenReadMsg);\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+               D("SPC ParseClientrAck Error type : %d\n", SPC_context->ctx.eErrorType);\r
+               return -1;\r
+       }\r
+       return SPC_SUCCESS;\r
+\r
+}\r
+\r
+int SPC_ParseRecordMsg(SPCApi* SPCServer, SPCHandle_CTX* SPC_context,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen,unsigned char* pPlainData , unsigned int* uPlainDataLen)\r
+{\r
+       if(!SPCServer || !SPC_context || !pEncryptedData || !pPlainData || !uPlainDataLen || uEncryptedDataLen <= 0){\r
+               D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] pEncryptedData=[0x%p] uEncryptedDataLen=[0x%p] pPlainData=[0x%p] uPlainDataLen=[0x%p]",\r
+                       SPCServer, SPC_context, pEncryptedData, uEncryptedDataLen, pPlainData, uPlainDataLen );\r
+               return -2;\r
+       }\r
+\r
+       int reVal=SPC_SUCCESS;\r
+\r
+       reVal = SPCServer->ParseRecordMsg(SPC_context, pEncryptedData ,  uEncryptedDataLen , pPlainData , uPlainDataLen);\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+               D("SPC Parse Record Msg Error type : %d \n", SPC_context->ctx.eErrorType);\r
+               return -1;\r
+       }\r
+\r
+       return SPC_SUCCESS;\r
+}\r
+\r
+int SPC_GenRecordMsg(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* pPlainData , unsigned int uPlainDataLen, unsigned char* pEncryptedData , unsigned int *uEncryptedDataLen)\r
+{\r
+       if(!SPCServer || !SPC_context || !pPlainData || !pEncryptedData || !uEncryptedDataLen || uPlainDataLen <= 0){\r
+               D("Invalid argument : SPCServer=[0x%p] SPC_context=[0x%p] pPlainData=[0x%p] uPlainDataLen=[0x%p] pEncryptedData=[0x%p] uEncryptedDataLen=[0x%p]",\r
+                       SPCServer, SPC_context, pPlainData, uPlainDataLen, pEncryptedData, uEncryptedDataLen );\r
+               return -2;\r
+       }\r
+\r
+       int reVal = SPC_SUCCESS;\r
+       \r
+       reVal = SPCServer->GeneratorRecordMsg(SPC_context, pPlainData , uPlainDataLen ,pEncryptedData , uEncryptedDataLen);\r
+       if(reVal != SPC_SUCCESS)\r
+       {\r
+               D("SPC Gen Record Msg Error type : %d \n", SPC_context->ctx.eErrorType);\r
+               return -1;\r
+       }\r
+\r
+       return SPC_SUCCESS;\r
+}\r
+\r
+unsigned char* constChar_to_unsignedChar(const char * InputChar)\r
+{\r
+       unsigned char* OutputChar = (unsigned char *)InputChar;\r
+       return OutputChar;\r
+}\r
+\r
+char *int_to_char(int num, char *str, int size)\r
+{\r
+        if(str == NULL)\r
+     {\r
+                return NULL;\r
+     }\r
+     snprintf(str, size, "%d", num);\r
+     return str;\r
+}\r
diff --git a/src/SPCManager.h b/src/SPCManager.h
new file mode 100755 (executable)
index 0000000..2b2b8a6
--- /dev/null
@@ -0,0 +1,20 @@
+#ifndef __SPCMANAGER_H__\r
+#define __SPCMANAGER_H__\r
+\r
+#include "SPCApi.h"\r
+\r
+typedef int (*READX_PTR)(int fd, void* buffer, size_t r_length);\r
+typedef int (*WRITEX_PTR)(int fd, const void* buffer, size_t w_length);\r
+\r
+int SPC_Init(void* SPC_context, void* SPC_Server, unsigned char *pUserID);\r
+int SPC_GenServerHello(SPCApi* SPCServer, SPCHandle_CTX * SPC_context, unsigned char* pServerOutMsg, unsigned int* LenpServerOutMsg);\r
+int SPC_ParseClientHello(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* ReadMsg, unsigned int* LenReadMsg);\r
+int SPC_GenServerAck(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* pServerAckOutMsg, unsigned int* LenpServerAckOutMsg);\r
+int SPC_ParseClientAck(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* ReadMsg, unsigned int* LenReadMsg);\r
+int SPC_ParseRecordMsg(SPCApi* SPCServer, SPCHandle_CTX* SPC_context,unsigned char* pEncryptedData , unsigned int uEncryptedDataLen,unsigned char* pPlainData , unsigned int* uPlainDataLen);\r
+int SPC_GenRecordMsg(SPCApi* SPCServer, SPCHandle_CTX* SPC_context, unsigned char* pPlainData , unsigned int uPlainDataLen, unsigned char* pEncryptedData , unsigned int *uEncryptedDataLen);\r
+\r
+unsigned char* constChar_to_unsignedChar(const char * InputChar);\r
+char *int_to_char(int num, char *str, int size);\r
+\r
+#endif\r
index 986a26a4acf944312d153cdf6681f9a6ce9c3cd9..e2c8990d0102102571600bfaec7371a406564902 100644 (file)
@@ -63,7 +63,7 @@ static int COMPLETE_FLAG = 0;
 static FILE* AC_STDOUT = NULL;
 static FILE* AC_STDERR = NULL;
 static const char IFS = '\n';
-static const char PATH_SEPARATOR = '\/';
+static const char PATH_SEPARATOR = '/';
 
 static struct ac_element emulator_short = {
         .keyword = "-e",
index bf8670e2ff0adecd76a9c731daad3c08f3906fb3..c1dd35705aed4a575b7c4f22e9f342652efb40cd 100644 (file)
@@ -894,7 +894,7 @@ static int get_pkg_tmp_dir(char* pkg_tmp_dir){
     }
     if (read_line(fd, buf, sizeof(buf)) > 0) {
         D("package dir = %s\n", buf);
-        append_file(pkg_tmp_dir, buf, "\/tmp\/", PATH_MAX);
+        append_file(pkg_tmp_dir, buf, "/tmp/", PATH_MAX);
         D("package tmp dir = %s\n", pkg_tmp_dir);
         sdb_close(fd);
         return 0;
@@ -1007,3 +1007,79 @@ int get_boot(int argc, char ** argv) {
     }
     return 1;
 }
+
+#ifdef SUPPORT_ENCRYPT
+/* 
+desc. : capability를 통한 encryption support check
+parameter : 
+ret. :  1 : if current device support encryption
+*/
+int check_encryption_support() { 
+    char full_cmd[16] = {0,};
+    char cap_buffer[CAPBUF_SIZE] = {0,};
+    uint16_t len = 0;
+    int supported = 0;
+    int fd = -1;
+    char* failmsg = NULL;
+    int ret;
+
+    snprintf(full_cmd, sizeof(full_cmd), "capability:");
+    fd = sdb_connect_getfailmsg(full_cmd, &failmsg);
+    if (fd >= 0) {
+        readx(fd, &len, sizeof(uint16_t));
+        if (len > CAPBUF_SIZE-1) {
+            len = CAPBUF_SIZE-1;
+        }
+        readx(fd, cap_buffer, len);
+        sdb_close(fd);
+
+        ret = match_capability_key_value(cap_buffer, "encryption_support", "enabled");
+        if (ret == 1) {
+            supported = 1;
+        }
+    } else {
+        D("This platform does not support the capability service.\n");
+        if (failmsg != NULL) {
+            D("sdb_connect() fail message : %s\n", failmsg);
+            SAFE_FREE(failmsg);
+        }
+    }
+
+    return supported;
+}
+
+/* 
+encryption command function
+return 0 if command succeed
+return 1 otherwise
+*/
+int encryption(int argc, char ** argv)
+{
+       char *tmp;
+       char full_cmd[PATH_MAX] = {0, };
+       char prefix[NAME_MAX] = {0, };
+
+    // check whether sdbd support encryption feature or not
+       if(check_encryption_support() == 0) {
+        printf("This feature is not supported by current devices\n");
+       } else {
+        // prefix = host-any:
+               get_host_prefix(prefix, NAME_MAX, target_ttype, target_serial, host);
+
+        // ex) host-any:encryption:on
+               snprintf(full_cmd, sizeof(full_cmd), "%sencryption:%s", prefix, argv[1]); 
+
+               D(COMMANDLINE_MSG_FULL_CMD, argv[0], full_cmd);
+
+        // use sdb_query because encryption command is not remote command
+               tmp = sdb_query(full_cmd);
+
+               if(tmp) {
+                       printf("%s", tmp);
+                       return 0;
+               } 
+       }
+
+    return 1;
+}
+#endif
index 60ea086a97870731cec75e234df80c14f083ff32..ac018455b1bfb64f9eae3e4fe480c068e852869b 100644 (file)
@@ -64,4 +64,8 @@ int shell(int argc, char ** argv);
 int get_capability(int argc, char ** argv);
 int get_boot(int argc, char ** argv);
 
+#ifdef SUPPORT_ENCRYPT
+int encryption(int argc, char ** argv); // encryption command
+#endif
+
 #endif /* COMMAND_FUNCTION_H_ */
index d92f12744e615fd6b96478dcf3f89350ab6de846..51eb3eec5b19b08bb64033812a5056f3bcd09c24 100755 (executable)
@@ -799,7 +799,14 @@ static void create_cmd_list(LIST_NODE** cmd_list) {
        create_command(&boot_cmd, COMMANDLINE_BOOT_NAME, NULL, 0, EMPTY_STRING,
                        get_boot, COMMANDLINE_BOOT_MAX_ARG, COMMANDLINE_BOOT_MIN_ARG);
        prepend(cmd_list, boot_cmd);
-
+    
+#ifdef SUPPORT_ENCRYPT
+       // encryption command
+    COMMAND* encryption_cmd = NULL;
+       create_command(&encryption_cmd, COMMANDLINE_ENCRYPTION_NAME, COMMANDLINE_ENCRYPTION_DESC, COMMANDLINE_ENCRYPTION_DESC_SIZE, COMMANDLINE_ENCRYPTION_ARG_DESC,
+                       encryption, COMMANDLINE_ENCRYPTION_MAX_ARG, COMMANDLINE_ENCRYPTION_MIN_ARG);
+       prepend(cmd_list, encryption_cmd);
+#endif
 }
 
 int process_cmdline(int argc, char** argv) {
index 1a58b4194abdd6e31d0b17463aabd6196abafe1f..33ad364a79fcd6cfa456eb01e4663821f52f5978 100644 (file)
@@ -29,7 +29,6 @@
 
 #include "linkedlist.h"
 #include "fdevent.h"
-#include "fdevent.h"
 
 #define MAX_PAYLOAD_V1  (4*1024)
 #define MAX_PAYLOAD_V2  (256*1024)
@@ -212,6 +211,11 @@ struct atransport
        char *device_name;
 
        platform_type platform;
+
+#ifdef SUPPORT_ENCRYPT
+       unsigned encryption; // flag whether this transport is on encryption, 0 = no-encryption / 1 = encryption
+       int sessionID; // session id for encryption, key of encryption map
+#endif
 };
 
 
diff --git a/src/encryption.cpp b/src/encryption.cpp
new file mode 100755 (executable)
index 0000000..419a283
--- /dev/null
@@ -0,0 +1,259 @@
+#include "SPCManager.h"\r
+#include "log.h"\r
+#include <map>\r
+\r
+typedef struct _SessionInfo {\r
+       int nSessionID;\r
+       SPCHandle_CTX* pCtx;\r
+       SPCApi* pApi;\r
+} SessionInfo;\r
+\r
+typedef std::map<int, SessionInfo> SessionInfoList;\r
+SessionInfoList sessionInfoList;\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+#define MAX_USERID 20\r
+\r
+int security_init(const int nSessionID, const char* pUserID)\r
+{\r
+       D("In");\r
+\r
+       D("sessionInfoList.size() = [%d]", sessionInfoList.size());\r
+       // If already exist, erase\r
+       sessionInfoList.erase(nSessionID);\r
+\r
+       // Add session info\r
+       sessionInfoList[nSessionID].nSessionID = nSessionID;\r
+       //sessionInfoList[nSessionID].pValue = NULL;\r
+       D("sessionInfoList.size() = [%d]", sessionInfoList.size());\r
+       D("sessionInfoList[nSessionID].nSessionID = [%d]", sessionInfoList[nSessionID].nSessionID);\r
+\r
+       SPCHandle_CTX* pCtx = new SPCHandle_CTX();\r
+       SPCApi* pApi = new SPCApi();\r
+\r
+       sessionInfoList[nSessionID].pCtx = pCtx;\r
+       sessionInfoList[nSessionID].pApi = pApi;\r
+\r
+       unsigned char szTempUserID[MAX_USERID];\r
+       memset(szTempUserID, 0x00, MAX_USERID);\r
+       if(pUserID == NULL)\r
+       {\r
+               memcpy(szTempUserID, "USER", 4);\r
+       } else {\r
+               if( MAX_USERID < strlen(pUserID) ){\r
+                       D("USERID is too long");\r
+                       return -1;\r
+               }\r
+               memcpy(szTempUserID, pUserID, strlen(pUserID));\r
+       }\r
+\r
+       int reVal = 0;\r
+       reVal = SPC_Init(pCtx, pApi, szTempUserID);\r
+       if( reVal != 0 )\r
+       {\r
+               D("SPC handshake fail");\r
+               return -1;\r
+       }\r
+\r
+       D("SPC handshake OK");\r
+       return 1;\r
+}\r
+\r
+int security_gen_server_hello(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen)\r
+{\r
+    if( pSrc == NULL || nSrcLen == NULL ) {\r
+        D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen);\r
+        return -1;\r
+    }\r
+\r
+       if ( !sessionInfoList[nSessionID].pApi || !sessionInfoList[nSessionID].pCtx)\r
+       {\r
+               D("Invalid session : sessionInfoList[nSessionID].pApi=[0x%p], sessionInfoList[nSessionID].pCtx=[0x%p]", sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx);\r
+               return -1;\r
+       }\r
+\r
+       int reVal = 0;\r
+       reVal = SPC_GenServerHello(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx, pSrc, nSrcLen);\r
+       if( reVal != 0 )\r
+       {\r
+               D("SPC Generate Server Hello Message fail");\r
+               return 0;\r
+       }\r
+\r
+       return 1;\r
+}\r
+\r
+int security_parse_client_hello(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen)\r
+{\r
+    if( pSrc == NULL || nSrcLen == NULL ) {\r
+        D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen);\r
+        return -1;\r
+    }\r
+\r
+       if ( !sessionInfoList[nSessionID].pApi || !sessionInfoList[nSessionID].pCtx)\r
+       {\r
+               D("Invalid session : sessionInfoList[nSessionID].pApi=[0x%p], sessionInfoList[nSessionID].pCtx=[0x%p]", sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx);\r
+               return -1;\r
+       }\r
+\r
+       int reVal = 0;\r
+       reVal = SPC_ParseClientHello(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx, pSrc, nSrcLen);\r
+       if( reVal != 0 )\r
+       {\r
+               D("SPC Parse Client Hello Message fail");\r
+               return 0;\r
+       }\r
+\r
+       return 1;\r
+}\r
+\r
+int security_gen_server_ack(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen)\r
+{\r
+    if( pSrc == NULL || nSrcLen == NULL ) {\r
+        D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen);\r
+        return -1;\r
+    }\r
+\r
+       if ( !sessionInfoList[nSessionID].pApi || !sessionInfoList[nSessionID].pCtx)\r
+       {\r
+               D("Invalid session : sessionInfoList[nSessionID].pApi=[0x%p], sessionInfoList[nSessionID].pCtx=[0x%p]", sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx);\r
+               return -1;\r
+       }\r
+\r
+       int reVal = 0;\r
+       reVal = SPC_GenServerAck(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx, pSrc, nSrcLen);\r
+       if( reVal != 0 )\r
+       {\r
+               D("SPC Generate Server Ack Message fail");\r
+               return 0;\r
+       }\r
+\r
+       return 1;\r
+}\r
+\r
+int security_parse_client_ack(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen)\r
+{\r
+    if( pSrc == NULL || nSrcLen == NULL ) {\r
+        D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen);\r
+        return -1;\r
+    }\r
+\r
+       if ( !sessionInfoList[nSessionID].pApi || !sessionInfoList[nSessionID].pCtx)\r
+       {\r
+               D("Invalid session : sessionInfoList[nSessionID].pApi=[0x%p], sessionInfoList[nSessionID].pCtx=[0x%p]", sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx);\r
+               return -1;\r
+       }\r
+\r
+       int reVal = 0;\r
+       reVal = SPC_ParseClientAck(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx, pSrc, nSrcLen);\r
+       if( reVal != 0 )\r
+       {\r
+               D("SPC Parse Client Ack Message fail");\r
+               return 0;\r
+       }\r
+\r
+       return 1;\r
+}\r
+\r
+int security_deinit(const int nSessionID)\r
+{\r
+       if( sessionInfoList[nSessionID].pCtx ) {\r
+               free(sessionInfoList[nSessionID].pCtx);\r
+               sessionInfoList[nSessionID].pCtx = NULL;\r
+       }\r
+       else {\r
+               return -1;\r
+       }\r
+\r
+       if( sessionInfoList[nSessionID].pApi ) {\r
+               free(sessionInfoList[nSessionID].pApi);\r
+               sessionInfoList[nSessionID].pCtx = NULL;\r
+       }\r
+       else {\r
+               return -1;\r
+       }\r
+\r
+       return 1;\r
+}\r
+\r
+int security_encrypt(const int nSessionID, unsigned char* pSrc, unsigned int *nSrcLen)\r
+{\r
+    D("security_encrypt is called\n");\r
+    if( pSrc == NULL || nSrcLen == NULL ) {\r
+        D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen);\r
+        return -1;\r
+    }\r
+\r
+    unsigned char *szTemp;\r
+    szTemp = (unsigned char *)malloc(*nSrcLen + SAKEP_AKE_MSG_RECORD_FIXED_LEN + SAKEP_AES_ECB_ADDED_PADDING_SIZE);\r
+    memset(szTemp, 0x00, *nSrcLen + SAKEP_AKE_MSG_RECORD_FIXED_LEN + SAKEP_AES_ECB_ADDED_PADDING_SIZE);\r
+    unsigned int nDstLen = 0;\r
+\r
+       if ( !sessionInfoList[nSessionID].pApi || !sessionInfoList[nSessionID].pCtx)\r
+       {\r
+               D("Invalid session : sessionInfoList[nSessionID].pApi=[0x%p], sessionInfoList[nSessionID].pCtx=[0x%p]", sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx);\r
+               return -1;\r
+       }\r
+\r
+       int reVal = 0;\r
+    reVal = SPC_GenRecordMsg(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx,\r
+            pSrc, *nSrcLen, szTemp, &nDstLen);\r
+       if( reVal != 0 )\r
+       {\r
+               D("SPC Encryption fail");\r
+               free(szTemp);\r
+               return 0;\r
+       }\r
+\r
+    unsigned int i = 0;\r
+    for(i = 0 ; i < nDstLen ; ++i) {\r
+        pSrc[i] = szTemp[i];\r
+    }\r
+    *nSrcLen = nDstLen;\r
+    free(szTemp);\r
+\r
+       return 1;\r
+}\r
+\r
+int security_decrypt(const int nSessionID, unsigned char* pSrc, unsigned int *nSrcLen)\r
+{\r
+    if( pSrc == NULL || nSrcLen == NULL ) {\r
+        D("Invalid argument : pSrc=[0x%p], pSrcLen=[0x%p]", pSrc, nSrcLen);\r
+        return -1;\r
+    }\r
+\r
+    unsigned char *szTemp;\r
+    szTemp = (unsigned char *) malloc(*nSrcLen);\r
+    memset(szTemp, 0x00, *nSrcLen);\r
+    unsigned int nDstLen = 0;\r
+\r
+       int reVal = 0;\r
+       reVal = SPC_ParseRecordMsg(sessionInfoList[nSessionID].pApi, sessionInfoList[nSessionID].pCtx,\r
+                   pSrc, *nSrcLen, szTemp, &nDstLen);\r
+       if( reVal != 0 )\r
+       {\r
+               D("SPC Decryption fail");\r
+               free(szTemp);\r
+               return 0;\r
+       }\r
+\r
+    unsigned int i = 0;\r
+    for(i = 0 ; i < nDstLen ; ++i) {\r
+        pSrc[i] = szTemp[i];\r
+    }\r
+    *nSrcLen = nDstLen;\r
+    free(szTemp);\r
+\r
+    return 1;\r
+}\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+\r
+\r
+\r
diff --git a/src/encryption.h b/src/encryption.h
new file mode 100755 (executable)
index 0000000..63beaea
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef __SECURITY_H__\r
+#define __SECURITY_H__\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+int security_init(const int nSessionID, const char* pUserID);\r
+int security_deinit(const int nSessionID);\r
+int security_gen_server_hello(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen);\r
+int security_parse_client_hello(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen);\r
+int security_gen_server_ack(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen);\r
+int security_parse_client_ack(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen);\r
+int security_encrypt(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen);\r
+int security_decrypt(const int nSessionID, unsigned char* pSrc, unsigned int* nSrcLen);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif\r
index 3d4f9e556cc1270f2f56f1496f92ffd993e649ac..5fc88514efbfd7b47381542598c7ce19587435cb 100644 (file)
--- a/src/log.h
+++ b/src/log.h
 #ifndef __LOG_H
 #define __LOG_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define SDB_TRACE    1
 #define DEBUG_ENV       "SDB_DEBUG"
 #define TRACE_PACKET    "SDB_TRACE_PACKET"
@@ -84,4 +88,8 @@ char* F(const char *message, ...);
 #define DR LOG_DEBUG
 #define SDB_TRACING  ((loglevel_mask & (1 << SDBLOG_DEBUG)) != 0)
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
index e7069b1ad923ccead94ab28650a77e64bc8079e8..d8c5c87d76bef872951b696e218b139736704761 100644 (file)
     const char* STATE_UNKNOWN = "unknown";
     const char* STATE_SUSPENDED = "suspended";
     const char* STATE_UNAUTHORIZED = "unauthorized";
+
+#ifdef SUPPORT_ENCRYPT
+    const char* COMMANDLINE_ENCRYPTION_NAME = "encryption";
+       const char* COMMANDLINE_ENCRYPTION_ARG_DESC = "<on | off | status>";
+       const char* COMMANDLINE_ENCRYPTION_DESC[] = {
+            "Set encryption modes for got/sent datas"
+    };
+    const int COMMANDLINE_ENCRYPTION_DESC_SIZE = GET_ARRAY_SIZE(COMMANDLINE_ENCRYPTION_DESC, char*);
+    const int COMMANDLINE_ENCRYPTION_MAX_ARG = 1;
+    const int COMMANDLINE_ENCRYPTION_MIN_ARG = 1;
+#endif
index da2f6ddda6de7532c3e3cbf3eb57eeffbbfc625e..91afc3d1478df0da5992270efc1eee72ad3aca88 100644 (file)
@@ -265,4 +265,13 @@ typedef enum host_type HOST_TYPE;
     extern const char* STATE_SUSPENDED;
     extern const char* STATE_UNAUTHORIZED;
 
+#ifdef SUPPORT_ENCRYPT
+    extern const char* COMMANDLINE_ENCRYPTION_NAME; // encryption command name
+       extern const char* COMMANDLINE_ENCRYPTION_ARG_DESC; // encryption command option
+    extern const int COMMANDLINE_ENCRYPTION_MAX_ARG; // minimum number of options
+    extern const int COMMANDLINE_ENCRYPTION_MIN_ARG; // maximum number of options
+       extern const char* COMMANDLINE_ENCRYPTION_DESC[]; // encryption command descryption
+    extern const int COMMANDLINE_ENCRYPTION_DESC_SIZE; // size of descryption
+#endif
+
 #endif /* SDB_CONSTANTS_H_*/
index 4af7bb914f85ff16990775f5059560f46524eb4e..970943462485265913f4a4c0b1f642b375e4c5ef 100644 (file)
@@ -46,17 +46,17 @@ typedef struct map_node MAP_NODE;
 
 struct map {
     int size;
-    int(*hash)(struct map* this, MAP_KEY key);
+    int(*hash)(struct map* map, MAP_KEY key);
     int(*equal)(MAP_KEY key, MAP_KEY node_key);
     void(*freedata)(void* data);
     LIST_NODE** map_node_list;
 };
 typedef struct map MAP;
 
-void initialize_map(MAP* map, int size, int(*hash)(struct map* this, MAP_KEY key),
+void initialize_map(MAP* map, int size, int(*hash)(struct map* map, MAP_KEY key),
         int(*equal)(MAP_KEY key, MAP_KEY node_key), void(*freedata)(void* data));
 void map_put(MAP* map, MAP_KEY key, void* value);
 void* map_get(MAP* map, MAP_KEY key);
-void map_remove(MAP* this, MAP_KEY key);
+void map_remove(MAP* amp, MAP_KEY key);
 
 #endif /* SDB_MAP_H_ */
index 68e14d2e313a69af86aa71a336f745ea98e133d1..ea1ca719c9b746b961f445a21ac4c9175e6bd706 100755 (executable)
@@ -32,6 +32,7 @@
 #include "sdb.h"
 #include "sdb_messages.h"
 #include "adb_auth.h"
+#include "encryption.h"
 
 #define  TRACE_TAG  TRACE_SOCKETS
 
@@ -877,6 +878,85 @@ sendfail:
     }
 #endif
 
+#ifdef SUPPORT_ENCRYPT
+    else if(!strncmp(service, "encryption:", 11)) { //넘어온 커맨드가 encryption 인지 확인
+               if(t == NULL){ // atransport가 NULL인경우 실패
+                       sendfailmsg(socket->fd, err_str);
+                       LOG_ERROR("t = NULL\n");
+                       return 0;
+               }
+               PACKET *p = get_apacket();
+               int retVal = 0;
+               p->msg.command = A_ENCR; // 암호화 handshaking 메시지
+               p->msg.arg1 = socket->local_id; // 클라이언트를 구분하기 위한 값 유지
+               if(!strncmp(service+11, "on", 2)){ // encryption on
+                       if(t->encryption == ENCR_ON){ // 이미 해당 연결이 암호화 모드인 경우 종료
+                               sendfailmsg(socket->fd, "Encryption is already ON");
+                               return 0;
+                       }
+                       p->msg.arg0 = ENCR_SET_ON_REQ;  // Hello Msg임을 구분
+                       static int sessionID = 0; 
+                       t->sessionID = sessionID; // 연결당 암호화 키 값을 위한 session ID 유지
+                       if((retVal = security_init(t->sessionID, NULL)) == 1) // 암호화 handshaking을 위한 init 호출
+                       {
+                               D("security_init success");
+                               if(security_gen_server_hello(t->sessionID, p->data, &(p->msg.data_length)) == 1) // Hello msg 생성
+                               {
+                                       send_packet(p, t);
+                                       put_apacket(p);
+                                       sessionID++;
+                                       D("security_gen_server_hello success");
+                                       return -3;// 정상적으로 메시지 보냈을 경우 -3 리턴
+                               }
+                               else{
+                                       LOG_ERROR("security_gen_server_hello failed\n");
+                                       sendfailmsg(socket->fd, "Encryption ON failed");
+                                       security_deinit(t->sessionID); // Hello msg 생성에 실패한 경우, 해당 session에 대해 deinit
+                                       t->encryption = ENCR_OFF; // 암호화 모드 off
+                                       return 0;
+                               }
+                       }
+                       else{
+                               LOG_ERROR("security_init failed\n");
+                               sendfailmsg(socket->fd, "Encryption ON failed");
+                               t->encryption = ENCR_OFF; // 암호화 모드 off
+                               if (retVal == -1)
+                               {
+                                       security_deinit(t->sessionID); // init에 실패한 경우, 해당 session에 대해 deinit
+                               }
+                               
+                               return 0;
+                       }
+                       
+               }
+               else if(!strncmp(service+11, "off", 3)){ // encrytption off
+                       if(t->encryption == ENCR_OFF){ // 해당 연결이 이미 암호화 모드 off인 경우
+                               sendfailmsg(socket->fd, "Encryption is already OFF");
+                               return 0;
+                       }
+                       p->msg.arg0 = ENCR_SET_OFF; // 암호화 모드 off 메시지
+                       p->msg.data_length = 0;
+                       send_packet(p, t);
+                       put_apacket(p);
+                       return -3;
+               }
+               else if(!strncmp(service+11, "status", 6)){ // encryption status
+                       p->msg.arg0 = ENCR_GET; // 암호화 모드 status를 얻는 메시지
+                       p->msg.data_length = 0;
+                       send_packet(p, t);
+                       put_apacket(p);
+                       return -3;
+               }
+               else{
+                       LOG_ERROR("parsing encryption commands failed\n"); 
+                       sendfailmsg(socket->fd, "Failed : Invalid encryption command");
+                       return 0;
+               }
+               
+       }
+               
+#endif
+
     return -1;
 }
 
@@ -1351,12 +1431,15 @@ static int smart_socket_enqueue(SDB_SOCKET *s, PACKET *p)
         return 0;
     }
     if (service) {
-        if(handle_request_with_t(s, service, t, err_str) == 0) {
+        int ret;
+        if((ret = handle_request_with_t(s, service, t, err_str)) == 0) {
             D( "LS(%X): handled host service with '%s'\n", s->local_id, service );
             goto fail;
+        } else if (ret == -3) {
+            D( "LS(%X): handled host service with '%s'\n", s->local_id, service );
+            return 0;
         }
 
-        int ret;
         if((ret = handle_host_request(service, s)) == 0) {
                 /* XXX fail message? */
             D( "LS(%X): handled host service '%s'\n", s->local_id, service );
@@ -1534,7 +1617,7 @@ static void connect_emulator(char* host, int port, char* buf, int buf_len) {
     snprintf(serial, sizeof(serial), "%s:%d", host, port);
 
     TRANSPORT* t;
-    if (t = acquire_one_transport(kTransportAny, serial, NULL)) {
+    if ((t = acquire_one_transport(kTransportAny, serial, NULL)) != NULL) {
         if(t->connection_state != CS_OFFLINE) {
             snprintf(buf, buf_len, "%s is already connected", serial);
         }
index 672786fc27deea1bbfe11504a407092b2f1fad21..e385e1523929fd0b1ee45a7d60d930e129fa61ba 100755 (executable)
@@ -31,6 +31,8 @@
 #include "sdb_messages.h"
 #include "sdb.h"
 #include "adb_auth.h"
+#include "encryption.h"
+#include "sdb_client.h"
 
 #define   TRACE_TAG  TRACE_TRANSPORT
 
@@ -215,8 +217,20 @@ static void encoding_packet(PACKET* p) {
 
 void send_packet(PACKET *p, TRANSPORT *t)
 {
-       D("go send packet");
+       D("go send packet\n");
     if(t != NULL && t->connection_state != CS_OFFLINE) {
+
+#ifdef SUPPORT_ENCRYPT
+        // 현재 연결이 암호화 모드이고 암호화 handshaking관련 메시지가 아니면, 메시지 암호화
+               if (t->encryption == ENCR_ON && p->msg.command != A_ENCR) {
+            security_encrypt(t->sessionID, p->data, &(p->msg.data_length));
+               }
+               else if(t->encryption == ENCR_OFF) {
+
+               }
+
+#endif
+
        D("before encoding to %s\n", t->serial);
         encoding_packet(p);
         D("after encoding to %s\n", t->serial);
@@ -226,7 +240,7 @@ void send_packet(PACKET *p, TRANSPORT *t)
         D("sended packet to %s\n", t->serial);
     }
     else {
-       D("transport is null");
+       D("transport is null\n");
         if (t == NULL) {
             D("Transport is null \n");
             errno = 0;
@@ -241,7 +255,7 @@ void send_packet(PACKET *p, TRANSPORT *t)
 
 static __inline__ void wakeup_select(T_PACKET* t_packet) {
     sdb_mutex_lock(&wakeup_select_lock, "wakeup_select");
-    writex(fdevent_wakeup_send, &t_packet, sizeof(&t_packet));
+    writex(fdevent_wakeup_send, &t_packet, sizeof(t_packet));
     sdb_mutex_unlock(&wakeup_select_lock, "wakeup_select");
 }
 
@@ -252,8 +266,10 @@ static void handle_packet(PACKET *p, TRANSPORT *t)
     t_packet->t = t;
     t_packet->p = NULL;
 
-    //below commands should be done in main thread. packet is used in wakeup_select_func. Do not put a packet
-    if(cmd == A_WRTE || cmd == A_CLSE || cmd == A_CNXN || cmd == A_OKAY || cmd == A_STAT || cmd == A_AUTH) {
+    // below commands should be done in main thread.
+    // packet is used in wakeup_select_func. Do not put a packet
+    if(cmd == A_WRTE || cmd == A_CLSE || cmd == A_CNXN ||
+            cmd == A_OKAY || cmd == A_STAT || cmd == A_AUTH || cmd == A_ENCR) {
         ++(t->req);
         t_packet->p = p;
         wakeup_select(t_packet);
@@ -400,6 +416,26 @@ void send_cmd(unsigned arg0, unsigned arg1, unsigned cmd, char* data, TRANSPORT*
     put_apacket(p);
 }
 
+#ifdef SUPPORT_ENCRYPT
+/*
+desc. : 암호화 모드 변경 실패 시, sdbd에게 실패 메시지 전송
+parameter : [in] SDB_SOCKET* sock : local socket
+                       [in] TRANSPORT* t : 현재 연결 중인 atransport
+                       [in] unsigned failed_value : 실패 값
+*/
+void send_encr_fail(SDB_SOCKET* sock, TRANSPORT* t, unsigned failed_value)
+{
+       D("calling send_encr_fail");
+       apacket *p;
+       p = get_apacket();
+       p->msg.command = A_ENCR; // 암호화 handshaking 메시지
+       p->msg.arg0 = failed_value; // 실패 값
+       p->msg.arg1 = sock->local_id; // client를 구분하는 값
+       send_packet(p, t);
+       put_apacket(p);
+}
+#endif
+
 static void *transport_thread(void *_t)
 {
     TRANSPORT *t = _t;
@@ -430,10 +466,20 @@ read_loop:
                        if(t->read_from_remote(t, p->data, p->msg.data_length)){
                                break;
                        }
+#ifdef SUPPORT_ENCRYPT
+                       //security_decrypt(t->sfd, p);
+            // 현재 연결이 암호화 모드이고, 암호화 handshaking 관련 메시지가 아닌 경우면, 메시지 복호화
+               if (t->encryption == ENCR_ON && p->msg.command != A_ENCR) {
+                       security_decrypt(t->sessionID, p->data, &(p->msg.data_length));
+               }
+
+#endif
+
                }
                if(check_data(p)) {
                        break;
                }
+
                dump_packet(t->serial, "remote_read", p);
                D("%s: received remote packet, sending to transport\n",
                  t->serial);
@@ -964,6 +1010,97 @@ void wakeup_select_func(int _fd, unsigned ev, void *data) {
             adb_auth_confirm_key(p->data, p->msg.data_length, t);
         }
    }
+#ifdef SUPPORT_ENCRYPT
+   else if(cmd == A_ENCR){ // 암호화 handshaking메시지인 경우
+               PACKET* enc_p = get_apacket();
+               if(p->msg.arg0 == ENCR_SET_ON_REQ){ // hello 메시지인 경우
+                  if(security_parse_client_hello(t->sessionID, p->data, &(p->msg.data_length)) == 1) // hello 메시지 파싱
+                  {    
+                          if(security_gen_server_ack(t->sessionID, enc_p->data, &(enc_p->msg.data_length)) == 1) // ack 메시지 생성
+                          {  
+                                       enc_p->msg.command = A_ENCR; // 암호화 handshaking 메시지
+                                   enc_p->msg.arg0 = ENCR_SET_ON_OK; // ack 메시지
+                                       enc_p->msg.arg1 = sock->local_id; // client구분하는 값
+                                   send_packet(enc_p, t);
+                                       
+                                       D("security_gen_server_ack success");
+                          } else { // ack 메시지 생성 실패
+                                  LOG_ERROR("security_gen_server_ack failed");
+                                  security_deinit(t->sessionID);
+                                  send_encr_fail(sock, t, ENCR_ON_FAIL); // 암호화 모드 on을 실패했다는 메시지를 sdbd로 보냄
+                                  t->encryption = ENCR_OFF; // 암호화 모드는 off
+                                  sendfailmsg(sock->fd, "Encryption ON failed");
+                                  local_socket_close(sock);
+
+                          }
+                  } else { // hello 메시지 파싱 실패
+                          LOG_ERROR("security_parse_client_hello failed");
+                               security_deinit(t->sessionID);
+                               send_encr_fail(sock, t, ENCR_ON_FAIL); // 암호화 모드 on을 실패했다는 메시지를 sdbd로 보냄
+                               t->encryption = ENCR_OFF; // 암호화 모드는 off
+                          sendfailmsg(sock->fd, "Encryption ON failed");
+                          local_socket_close(sock);
+                  }
+          }
+          else if(p->msg.arg0 == ENCR_SET_ON_OK){ // ack 메시지인 경우
+                  if(security_parse_client_ack(t->sessionID, p->data, &(p->msg.data_length)) == 1) // ack 메시지 파싱
+                  {
+                               t->encryption = ENCR_ON; // 모든 handshaking이 끝난 후 현재 연결에 대해서는 암호화 모드 ON
+                               sendokmsg(sock->fd, "Encryption is ON");
+                  }
+                  else{ // ack 메시지 파싱 실패
+                           LOG_ERROR("security_parse_client_ack failed");
+                               security_deinit(t->sessionID);
+                               send_encr_fail(sock, t, ENCR_ON_FAIL); // 암호화 모드 on을 실패했다는 메시지를 sdbd로 보냄
+                               t->encryption = ENCR_OFF; // 암호화 모드는 off
+                               sendfailmsg(sock->fd, "Encryption ON failed");
+                  }
+                  local_socket_close(sock);
+
+          }
+          else if(p->msg.arg0 == ENCR_SET_OFF){ // 암호화 모드 off 메시지
+                  if(t->encryption == ENCR_ON && security_deinit(t->sessionID) == 1) // 현재 연결에 대해 암호화 모드가 on상태이면
+                  {
+                               t->encryption = ENCR_OFF; // 현재 연결에 대한 암호화 모드를 off
+                               sendokmsg(sock->fd, "Encryption is OFF");
+                  }
+                  else{
+                          send_encr_fail(sock, t, ENCR_OFF_FAIL);
+                               sendfailmsg(sock->fd, "Encryption OFF failed");
+                               LOG_ERROR("security_deinit failed");
+                  }
+                  local_socket_close(sock);
+          }
+          else if(p->msg.arg0 == ENCR_GET){ // 암호화 모드 get 메시지
+                       if(t->encryption == ENCR_ON && !strncmp((char*)p->data, "encryption:on", p->msg.data_length)) // 현재 연결이 암호화 모드 on이고, sdbd의 암호화 모드가 on인 경우
+                  {
+                          sendokmsg(sock->fd, "Encryption is ON");
+                  }
+                  else if(t->encryption == ENCR_OFF && !strncmp((char*)p->data, "encryption:off", p->msg.data_length)) // 현재 연결이 암호화 모드 off이고, sdbd의 암호화 모드가 off인 경우
+                  {
+                               sendokmsg(sock->fd, "Encryption is OFF");
+                  }
+                  else
+                  {
+                          sendfailmsg(sock->fd, "Getting Encryption status failed, try encyrption on/off");
+                  }
+                  local_socket_close(sock);
+          }
+          else if(p->msg.arg0 == ENCR_ON_FAIL){ //  sdbd에서 암호화 모드 on에 실패했을 경우 받는 메시지
+                  t->encryption = ENCR_OFF; // 암호화를 on하다가 실패한 경우, 현재 연결에 대한 암호화 모드를 off
+                       sendfailmsg(sock->fd, "Encryption ON failed");
+                  local_socket_close(sock);
+          }
+          else if(p->msg.arg0 == ENCR_OFF_FAIL){ // sdbd에서 암호화 모드 off에 실패했을 경우 받는 메시지
+                  //t->encryption = ENCR_ON;
+                       sendfailmsg(sock->fd, "Encryption OFF failed");
+                  local_socket_close(sock);
+          }
+          put_apacket(enc_p);
+
+   }
+#endif
+
     put_apacket(p);
 
 endup:
index fe770f8b978208e68dae659982126c930a95e5ab..a1af8f42354842e758746a592ae6680c572a39ad 100755 (executable)
 #define A_TCLS 0x534C4354
 #define A_STAT 0x54415453
 #define A_AUTH 0x48545541
+#define A_ENCR 0x40682018 // encryption message
+
+#ifdef SUPPORT_ENCRYPT
+ #define ENCR_SET_ON_REQ 0 // encryption hello 메시지
+ #define ENCR_SET_ON_OK 1 // encryption ack 메시지
+ #define ENCR_SET_OFF 2 // encryption mode off 메시지
+ #define ENCR_GET 3 // encryption status get 메시지
+ #define ENCR_ON_FAIL 4 // encryption on 실패 메시지
+ #define ENCR_OFF_FAIL 5 // encryption off 실패 메시지
+ #define ENCR_ON 1 // encryption on 상태
+ #define ENCR_OFF 0 // encryption off 상태
+#endif
+
 
 
 #define CS_NONE      -10000