Commit c567af73 authored by Alexandre Julliard's avatar Alexandre Julliard

kernelbase: Use the ctype table from the sortkey file.

parent 4b1676af
...@@ -20,7 +20,6 @@ C_SRCS = \ ...@@ -20,7 +20,6 @@ C_SRCS = \
string.c \ string.c \
sync.c \ sync.c \
thread.c \ thread.c \
version.c \ version.c
wctype.c
RC_SRCS = kernelbase.rc RC_SRCS = kernelbase.rc
...@@ -43,7 +43,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(nls); ...@@ -43,7 +43,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(nls);
extern UINT CDECL __wine_get_unix_codepage(void); extern UINT CDECL __wine_get_unix_codepage(void);
extern const unsigned short wctype_table[] DECLSPEC_HIDDEN;
extern const unsigned int collation_table[] DECLSPEC_HIDDEN; extern const unsigned int collation_table[] DECLSPEC_HIDDEN;
static HANDLE kernel32_handle; static HANDLE kernel32_handle;
...@@ -581,6 +580,8 @@ static struct ...@@ -581,6 +580,8 @@ static struct
{ {
DWORD *keys; /* sortkey table, indexed by char */ DWORD *keys; /* sortkey table, indexed by char */
USHORT *casemap; /* casemap table, in l_intl.nls format */ USHORT *casemap; /* casemap table, in l_intl.nls format */
WORD *ctypes; /* CT_CTYPE1,2,3 values */
BYTE *ctype_idx; /* index to map char to ctypes array entry */
} sort; } sort;
static CRITICAL_SECTION locale_section; static CRITICAL_SECTION locale_section;
...@@ -598,8 +599,13 @@ static CRITICAL_SECTION locale_section = { &critsect_debug, -1, 0, 0, 0, 0 }; ...@@ -598,8 +599,13 @@ static CRITICAL_SECTION locale_section = { &critsect_debug, -1, 0, 0, 0, 0 };
*/ */
static void init_sortkeys( DWORD *ptr ) static void init_sortkeys( DWORD *ptr )
{ {
WORD *ctype;
sort.keys = (DWORD *)((char *)ptr + ptr[0]); sort.keys = (DWORD *)((char *)ptr + ptr[0]);
sort.casemap = (USHORT *)((char *)ptr + ptr[1]); sort.casemap = (USHORT *)((char *)ptr + ptr[1]);
ctype = (WORD *)((char *)ptr + ptr[2]);
sort.ctypes = ctype + 2;
sort.ctype_idx = (BYTE *)ctype + ctype[1] + 2;
} }
...@@ -726,6 +732,14 @@ static inline WCHAR casemap( const USHORT *table, WCHAR ch ) ...@@ -726,6 +732,14 @@ static inline WCHAR casemap( const USHORT *table, WCHAR ch )
} }
static inline WORD get_char_type( DWORD type, WCHAR ch )
{
const BYTE *ptr = sort.ctype_idx + ((const WORD *)sort.ctype_idx)[ch >> 8];
ptr = sort.ctype_idx + ((const WORD *)ptr)[(ch >> 4) & 0x0f] + (ch & 0x0f);
return sort.ctypes[*ptr * 3 + type / 2];
}
static BYTE rol( BYTE val, BYTE count ) static BYTE rol( BYTE val, BYTE count )
{ {
return (val << count) | (val >> (8 - count)); return (val << count) | (val >> (8 - count));
...@@ -2046,7 +2060,7 @@ static int get_sortkey( DWORD flags, const WCHAR *src, int srclen, char *dst, in ...@@ -2046,7 +2060,7 @@ static int get_sortkey( DWORD flags, const WCHAR *src, int srclen, char *dst, in
unsigned int ce; unsigned int ce;
if ((flags & NORM_IGNORESYMBOLS) && if ((flags & NORM_IGNORESYMBOLS) &&
(get_table_entry( wctype_table, wch ) & (C1_PUNCT | C1_SPACE))) (get_char_type( CT_CTYPE1, wch ) & (C1_PUNCT | C1_SPACE)))
continue; continue;
if (flags & NORM_IGNORECASE) wch = casemap( nls_info.LowerCaseTable, wch ); if (flags & NORM_IGNORECASE) wch = casemap( nls_info.LowerCaseTable, wch );
...@@ -2100,7 +2114,7 @@ static int get_sortkey( DWORD flags, const WCHAR *src, int srclen, char *dst, in ...@@ -2100,7 +2114,7 @@ static int get_sortkey( DWORD flags, const WCHAR *src, int srclen, char *dst, in
unsigned int ce; unsigned int ce;
if ((flags & NORM_IGNORESYMBOLS) && if ((flags & NORM_IGNORESYMBOLS) &&
(get_table_entry( wctype_table, wch ) & (C1_PUNCT | C1_SPACE))) (get_char_type( CT_CTYPE1, wch ) & (C1_PUNCT | C1_SPACE)))
continue; continue;
if (flags & NORM_IGNORECASE) wch = casemap( nls_info.LowerCaseTable, wch ); if (flags & NORM_IGNORECASE) wch = casemap( nls_info.LowerCaseTable, wch );
...@@ -2404,12 +2418,12 @@ static int compare_weights(int flags, const WCHAR *str1, int len1, ...@@ -2404,12 +2418,12 @@ static int compare_weights(int flags, const WCHAR *str1, int len1,
{ {
int skip = 0; int skip = 0;
/* FIXME: not tested */ /* FIXME: not tested */
if (get_table_entry( wctype_table, dstr1[dpos1] ) & (C1_PUNCT | C1_SPACE)) if (get_char_type( CT_CTYPE1, dstr1[dpos1] ) & (C1_PUNCT | C1_SPACE))
{ {
inc_str_pos( &str1, &len1, &dpos1, &dlen1 ); inc_str_pos( &str1, &len1, &dpos1, &dlen1 );
skip = 1; skip = 1;
} }
if (get_table_entry( wctype_table, dstr2[dpos2] ) & (C1_PUNCT | C1_SPACE)) if (get_char_type( CT_CTYPE1, dstr2[dpos2] ) & (C1_PUNCT | C1_SPACE))
{ {
inc_str_pos( &str2, &len2, &dpos2, &dlen2 ); inc_str_pos( &str2, &len2, &dpos2, &dlen2 );
skip = 1; skip = 1;
...@@ -4207,60 +4221,16 @@ BOOL WINAPI DECLSPEC_HOTPATCH GetStringTypeW( DWORD type, const WCHAR *src, INT ...@@ -4207,60 +4221,16 @@ BOOL WINAPI DECLSPEC_HOTPATCH GetStringTypeW( DWORD type, const WCHAR *src, INT
SetLastError( ERROR_INVALID_PARAMETER ); SetLastError( ERROR_INVALID_PARAMETER );
return FALSE; return FALSE;
} }
if (type != CT_CTYPE1 && type != CT_CTYPE2 && type != CT_CTYPE3)
if (count == -1) count = lstrlenW(src) + 1;
switch (type)
{
case CT_CTYPE1:
while (count--) *chartype++ = get_table_entry( wctype_table, *src++ ) & 0xfff;
break;
case CT_CTYPE2:
while (count--) *chartype++ = get_table_entry( wctype_table, *src++ ) >> 12;
break;
case CT_CTYPE3:
{ {
WARN("CT_CTYPE3: semi-stub.\n");
while (count--)
{
int c = *src;
WORD type1, type3 = 0; /* C3_NOTAPPLICABLE */
type1 = get_table_entry( wctype_table, *src++ ) & 0xfff;
/* try to construct type3 from type1 */
if(type1 & C1_SPACE) type3 |= C3_SYMBOL;
if(type1 & C1_ALPHA) type3 |= C3_ALPHA;
if ((c>=0x30A0)&&(c<=0x30FF)) type3 |= C3_KATAKANA;
if ((c>=0x3040)&&(c<=0x309F)) type3 |= C3_HIRAGANA;
if ((c>=0x4E00)&&(c<=0x9FAF)) type3 |= C3_IDEOGRAPH;
if (c == 0x0640) type3 |= C3_KASHIDA;
if ((c>=0x3000)&&(c<=0x303F)) type3 |= C3_SYMBOL;
if ((c>=0xD800)&&(c<=0xDBFF)) type3 |= C3_HIGHSURROGATE;
if ((c>=0xDC00)&&(c<=0xDFFF)) type3 |= C3_LOWSURROGATE;
if ((c>=0xFF00)&&(c<=0xFF60)) type3 |= C3_FULLWIDTH;
if ((c>=0xFF00)&&(c<=0xFF20)) type3 |= C3_SYMBOL;
if ((c>=0xFF3B)&&(c<=0xFF40)) type3 |= C3_SYMBOL;
if ((c>=0xFF5B)&&(c<=0xFF60)) type3 |= C3_SYMBOL;
if ((c>=0xFF21)&&(c<=0xFF3A)) type3 |= C3_ALPHA;
if ((c>=0xFF41)&&(c<=0xFF5A)) type3 |= C3_ALPHA;
if ((c>=0xFFE0)&&(c<=0xFFE6)) type3 |= C3_FULLWIDTH;
if ((c>=0xFFE0)&&(c<=0xFFE6)) type3 |= C3_SYMBOL;
if ((c>=0xFF61)&&(c<=0xFFDC)) type3 |= C3_HALFWIDTH;
if ((c>=0xFF61)&&(c<=0xFF64)) type3 |= C3_SYMBOL;
if ((c>=0xFF65)&&(c<=0xFF9F)) type3 |= C3_KATAKANA;
if ((c>=0xFF65)&&(c<=0xFF9F)) type3 |= C3_ALPHA;
if ((c>=0xFFE8)&&(c<=0xFFEE)) type3 |= C3_HALFWIDTH;
if ((c>=0xFFE8)&&(c<=0xFFEE)) type3 |= C3_SYMBOL;
*chartype++ = type3;
}
break;
}
default:
SetLastError( ERROR_INVALID_PARAMETER ); SetLastError( ERROR_INVALID_PARAMETER );
return FALSE; return FALSE;
} }
if (count == -1) count = lstrlenW(src) + 1;
while (count--) *chartype++ = get_char_type( type, *src++ );
return TRUE; return TRUE;
} }
...@@ -4520,7 +4490,7 @@ INT WINAPI DECLSPEC_HOTPATCH IdnToUnicode( DWORD flags, const WCHAR *src, INT sr ...@@ -4520,7 +4490,7 @@ INT WINAPI DECLSPEC_HOTPATCH IdnToUnicode( DWORD flags, const WCHAR *src, INT sr
BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaA( CHAR c ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaA( CHAR c )
{ {
WCHAR wc = nls_info.AnsiTableInfo.MultiByteTable[(unsigned char)c]; WCHAR wc = nls_info.AnsiTableInfo.MultiByteTable[(unsigned char)c];
return !!(get_table_entry( wctype_table, wc ) & C1_ALPHA); return !!(get_char_type( CT_CTYPE1, wc ) & C1_ALPHA);
} }
...@@ -4529,7 +4499,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaA( CHAR c ) ...@@ -4529,7 +4499,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaA( CHAR c )
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaW( WCHAR wc ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaW( WCHAR wc )
{ {
return !!(get_table_entry( wctype_table, wc ) & C1_ALPHA); return !!(get_char_type( CT_CTYPE1, wc ) & C1_ALPHA);
} }
...@@ -4539,7 +4509,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaW( WCHAR wc ) ...@@ -4539,7 +4509,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaW( WCHAR wc )
BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaNumericA( CHAR c ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaNumericA( CHAR c )
{ {
WCHAR wc = nls_info.AnsiTableInfo.MultiByteTable[(unsigned char)c]; WCHAR wc = nls_info.AnsiTableInfo.MultiByteTable[(unsigned char)c];
return !!(get_table_entry( wctype_table, wc ) & (C1_ALPHA | C1_DIGIT)); return !!(get_char_type( CT_CTYPE1, wc ) & (C1_ALPHA | C1_DIGIT));
} }
...@@ -4548,7 +4518,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaNumericA( CHAR c ) ...@@ -4548,7 +4518,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaNumericA( CHAR c )
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaNumericW( WCHAR wc ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaNumericW( WCHAR wc )
{ {
return !!(get_table_entry( wctype_table, wc ) & (C1_ALPHA | C1_DIGIT)); return !!(get_char_type( CT_CTYPE1, wc ) & (C1_ALPHA | C1_DIGIT));
} }
...@@ -4557,7 +4527,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaNumericW( WCHAR wc ) ...@@ -4557,7 +4527,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharAlphaNumericW( WCHAR wc )
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH IsCharBlankW( WCHAR wc ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharBlankW( WCHAR wc )
{ {
return !!(get_table_entry( wctype_table, wc ) & C1_BLANK); return !!(get_char_type( CT_CTYPE1, wc ) & C1_BLANK);
} }
...@@ -4566,7 +4536,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharBlankW( WCHAR wc ) ...@@ -4566,7 +4536,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharBlankW( WCHAR wc )
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH IsCharCntrlW( WCHAR wc ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharCntrlW( WCHAR wc )
{ {
return !!(get_table_entry( wctype_table, wc ) & C1_CNTRL); return !!(get_char_type( CT_CTYPE1, wc ) & C1_CNTRL);
} }
...@@ -4575,7 +4545,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharCntrlW( WCHAR wc ) ...@@ -4575,7 +4545,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharCntrlW( WCHAR wc )
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH IsCharDigitW( WCHAR wc ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharDigitW( WCHAR wc )
{ {
return !!(get_table_entry( wctype_table, wc ) & C1_DIGIT); return !!(get_char_type( CT_CTYPE1, wc ) & C1_DIGIT);
} }
...@@ -4585,7 +4555,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharDigitW( WCHAR wc ) ...@@ -4585,7 +4555,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharDigitW( WCHAR wc )
BOOL WINAPI DECLSPEC_HOTPATCH IsCharLowerA( CHAR c ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharLowerA( CHAR c )
{ {
WCHAR wc = nls_info.AnsiTableInfo.MultiByteTable[(unsigned char)c]; WCHAR wc = nls_info.AnsiTableInfo.MultiByteTable[(unsigned char)c];
return !!(get_table_entry( wctype_table, wc ) & C1_LOWER); return !!(get_char_type( CT_CTYPE1, wc ) & C1_LOWER);
} }
...@@ -4594,7 +4564,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharLowerA( CHAR c ) ...@@ -4594,7 +4564,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharLowerA( CHAR c )
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH IsCharLowerW( WCHAR wc ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharLowerW( WCHAR wc )
{ {
return !!(get_table_entry( wctype_table, wc ) & C1_LOWER); return !!(get_char_type( CT_CTYPE1, wc ) & C1_LOWER);
} }
...@@ -4603,7 +4573,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharLowerW( WCHAR wc ) ...@@ -4603,7 +4573,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharLowerW( WCHAR wc )
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH IsCharPunctW( WCHAR wc ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharPunctW( WCHAR wc )
{ {
return !!(get_table_entry( wctype_table, wc ) & C1_PUNCT); return !!(get_char_type( CT_CTYPE1, wc ) & C1_PUNCT);
} }
...@@ -4613,7 +4583,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharPunctW( WCHAR wc ) ...@@ -4613,7 +4583,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharPunctW( WCHAR wc )
BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceA( CHAR c ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceA( CHAR c )
{ {
WCHAR wc = nls_info.AnsiTableInfo.MultiByteTable[(unsigned char)c]; WCHAR wc = nls_info.AnsiTableInfo.MultiByteTable[(unsigned char)c];
return !!(get_table_entry( wctype_table, wc ) & C1_SPACE); return !!(get_char_type( CT_CTYPE1, wc ) & C1_SPACE);
} }
...@@ -4622,7 +4592,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceA( CHAR c ) ...@@ -4622,7 +4592,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceA( CHAR c )
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceW( WCHAR wc ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceW( WCHAR wc )
{ {
return !!(get_table_entry( wctype_table, wc ) & C1_SPACE); return !!(get_char_type( CT_CTYPE1, wc ) & C1_SPACE);
} }
...@@ -4632,7 +4602,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceW( WCHAR wc ) ...@@ -4632,7 +4602,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceW( WCHAR wc )
BOOL WINAPI DECLSPEC_HOTPATCH IsCharUpperA( CHAR c ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharUpperA( CHAR c )
{ {
WCHAR wc = nls_info.AnsiTableInfo.MultiByteTable[(unsigned char)c]; WCHAR wc = nls_info.AnsiTableInfo.MultiByteTable[(unsigned char)c];
return !!(get_table_entry( wctype_table, wc ) & C1_UPPER); return !!(get_char_type( CT_CTYPE1, wc ) & C1_UPPER);
} }
...@@ -4641,7 +4611,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharUpperA( CHAR c ) ...@@ -4641,7 +4611,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharUpperA( CHAR c )
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH IsCharUpperW( WCHAR wc ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharUpperW( WCHAR wc )
{ {
return !!(get_table_entry( wctype_table, wc ) & C1_UPPER); return !!(get_char_type( CT_CTYPE1, wc ) & C1_UPPER);
} }
...@@ -4650,7 +4620,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharUpperW( WCHAR wc ) ...@@ -4650,7 +4620,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH IsCharUpperW( WCHAR wc )
*/ */
BOOL WINAPI DECLSPEC_HOTPATCH IsCharXDigitW( WCHAR wc ) BOOL WINAPI DECLSPEC_HOTPATCH IsCharXDigitW( WCHAR wc )
{ {
return !!(get_table_entry( wctype_table, wc ) & C1_XDIGIT); return !!(get_char_type( CT_CTYPE1, wc ) & C1_XDIGIT);
} }
...@@ -4841,7 +4811,7 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co ...@@ -4841,7 +4811,7 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co
if (flags & NORM_IGNORESYMBOLS) if (flags & NORM_IGNORESYMBOLS)
{ {
for (len = 0; srclen; src++, srclen--) for (len = 0; srclen; src++, srclen--)
if (!(get_table_entry( wctype_table, *src ) & (C1_PUNCT | C1_SPACE))) len++; if (!(get_char_type( CT_CTYPE1, *src ) & (C1_PUNCT | C1_SPACE))) len++;
} }
else if (flags & LCMAP_FULLWIDTH) else if (flags & LCMAP_FULLWIDTH)
{ {
...@@ -4881,7 +4851,7 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co ...@@ -4881,7 +4851,7 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co
{ {
for (len = dstlen, dst_ptr = dst; srclen && len; src++, srclen--) for (len = dstlen, dst_ptr = dst; srclen && len; src++, srclen--)
{ {
if ((flags & NORM_IGNORESYMBOLS) && (get_table_entry( wctype_table, *src ) & (C1_PUNCT | C1_SPACE))) if ((flags & NORM_IGNORESYMBOLS) && (get_char_type( CT_CTYPE1, *src ) & (C1_PUNCT | C1_SPACE)))
continue; continue;
*dst_ptr++ = *src; *dst_ptr++ = *src;
len--; len--;
......
/* Unicode wctype table */
/* Automatically generated; DO NOT EDIT!! */
#include "windef.h"
const unsigned short DECLSPEC_HIDDEN wctype_table[6480] =
{
/* level 1 offsets */
0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x014d, 0x015d, 0x016d,
0x017d, 0x018d, 0x019d, 0x01ad, 0x01bd, 0x01cd, 0x01dd, 0x01ed,
0x01fd, 0x020d, 0x0219, 0x0228, 0x0238, 0x020d, 0x0242, 0x0252,
0x0262, 0x0272, 0x0282, 0x0292, 0x02a2, 0x02b2, 0x02c2, 0x02d2,
0x02e2, 0x02f2, 0x0301, 0x0311, 0x031f, 0x032e, 0x0334, 0x033f,
0x034f, 0x035f, 0x032e, 0x036f, 0x037f, 0x038f, 0x039f, 0x03af,
0x03bf, 0x03cf, 0x03df, 0x03ec, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x03fc, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x040c,
0x020d, 0x020d, 0x020d, 0x020d, 0x0413, 0x020d, 0x0423, 0x0433,
0x0443, 0x0453, 0x0463, 0x0473, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d,
0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x020d, 0x0483,
0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f,
0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f,
0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f,
0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f, 0x034f,
0x034f, 0x020d, 0x0493, 0x04a3, 0x04b1, 0x04be, 0x04ce, 0x04de,
/* level 2 offsets */
0x04ee, 0x04fc, 0x050c, 0x051c, 0x052b, 0x0532, 0x0541, 0x0548,
0x0557, 0x055d, 0x056d, 0x057d, 0x058d, 0x0596, 0x05a5, 0x05ae,
0x05be, 0x05be, 0x05be, 0x05c6, 0x05c5, 0x05be, 0x05be, 0x05cf,
0x05de, 0x05ec, 0x05f9, 0x0606, 0x0616, 0x05c1, 0x05be, 0x061f,
0x05be, 0x05be, 0x05be, 0x062b, 0x063a, 0x05a5, 0x05a5, 0x05a5,
0x05a5, 0x0649, 0x05a5, 0x0659, 0x0667, 0x0677, 0x0687, 0x0696,
0x06a6, 0x06a6, 0x06a6, 0x06a6, 0x06a6, 0x06a6, 0x06a6, 0x06b6,
0x06c6, 0x06d6, 0x06e4, 0x05a5, 0x06f0, 0x06fd, 0x05be, 0x070c,
0x058d, 0x058d, 0x058d, 0x05a5, 0x05a5, 0x05a5, 0x05be, 0x05be,
0x071b, 0x05be, 0x05be, 0x05be, 0x072b, 0x05be, 0x05be, 0x05be,
0x073b, 0x058d, 0x0744, 0x05a5, 0x05a5, 0x0754, 0x0764, 0x06a6,
0x0766, 0x0774, 0x0784, 0x0789, 0x0798, 0x07a8, 0x07b8, 0x0784,
0x0784, 0x07c8, 0x06a6, 0x07d8, 0x07e8, 0x0784, 0x0784, 0x0784,
0x0784, 0x0784, 0x07f4, 0x0803, 0x0813, 0x0823, 0x07e7, 0x0784,
0x06a6, 0x0833, 0x0784, 0x0784, 0x0784, 0x0784, 0x0784, 0x0840,
0x084f, 0x085f, 0x0784, 0x07c8, 0x086f, 0x0784, 0x087f, 0x088b,
0x089b, 0x0784, 0x08ab, 0x08bb, 0x08c6, 0x08c6, 0x08c6, 0x0784,
0x08d6, 0x08be, 0x08e6, 0x08f4, 0x06a6, 0x0901, 0x0905, 0x0905,
0x090b, 0x091a, 0x092a, 0x0938, 0x0948, 0x0957, 0x0963, 0x096a,
0x0979, 0x0988, 0x0997, 0x09a6, 0x09b6, 0x09c5, 0x0963, 0x096a,
0x09d4, 0x09e3, 0x09f2, 0x0a01, 0x0a11, 0x0a20, 0x0a2c, 0x096a,
0x0a3b, 0x0a4a, 0x0a5a, 0x09a6, 0x0a6a, 0x0a7a, 0x0963, 0x096a,
0x0a89, 0x0a97, 0x0aa5, 0x09a6, 0x0ab5, 0x0ac3, 0x0ad2, 0x0ae2,
0x0af0, 0x0b00, 0x0b10, 0x0a01, 0x0b20, 0x0b30, 0x0b3c, 0x096a,
0x0b42, 0x0b51, 0x0b5f, 0x09a6, 0x0b6a, 0x0b7a, 0x0b3c, 0x096a,
0x0b83, 0x0b91, 0x0b9f, 0x09a6, 0x0bae, 0x0bbe, 0x0b3c, 0x0905,
0x0bcc, 0x0bdb, 0x0beb, 0x09a6, 0x0bfb, 0x0c0b, 0x0c14, 0x0905,
0x0c22, 0x0c32, 0x0c41, 0x0a01, 0x0c51, 0x0c60, 0x0905, 0x0905,
0x0c6f, 0x0c7f, 0x0c8f, 0x08c6, 0x08c6, 0x0c9e, 0x0905, 0x0caa,
0x0cb9, 0x0cc9, 0x0cd9, 0x08c6, 0x08c6, 0x0ce8, 0x0cf5, 0x0d05,
0x0d10, 0x0a26, 0x0905, 0x0b3f, 0x0d20, 0x0d30, 0x0d3d, 0x06a6,
0x0d46, 0x0d54, 0x0d64, 0x08c6, 0x08c6, 0x0905, 0x0905, 0x0d74,
0x0d83, 0x0d93, 0x0da3, 0x0db2, 0x0dc1, 0x0dcf, 0x0ddf, 0x058d,
0x058d, 0x0def, 0x05a5, 0x05a5, 0x0dff, 0x0905, 0x0905, 0x0905,
0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905,
0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0e0f, 0x0e1f, 0x0905,
0x0905, 0x0e0f, 0x0905, 0x0905, 0x0e17, 0x0e27, 0x0a27, 0x0905,
0x0905, 0x0e27, 0x0905, 0x0905, 0x0905, 0x0e2f, 0x0e3f, 0x0e48,
0x0905, 0x0e58, 0x058d, 0x058d, 0x058d, 0x058d, 0x058d, 0x0e68,
0x0e78, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905,
0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905,
0x0e7b, 0x0905, 0x0e8b, 0x0e90, 0x0905, 0x0905, 0x0905, 0x0905,
0x0ea0, 0x0eae, 0x0966, 0x0ebe, 0x0905, 0x0ece, 0x0905, 0x0ede,
0x0966, 0x0eee, 0x0905, 0x0905, 0x0905, 0x0efe, 0x0f0c, 0x0f18,
0x0f28, 0x0e58, 0x0f38, 0x0f28, 0x0905, 0x0905, 0x0905, 0x0905,
0x0905, 0x0eae, 0x0f48, 0x0905, 0x0f4f, 0x0905, 0x0905, 0x0905,
0x0905, 0x0f5f, 0x0905, 0x0f6f, 0x0f7f, 0x0f8f, 0x0f9f, 0x0905,
0x0b3e, 0x0faf, 0x0905, 0x0905, 0x0fbf, 0x0905, 0x0fc1, 0x0fd1,
0x0696, 0x0696, 0x0905, 0x0fe1, 0x0905, 0x0905, 0x0905, 0x0ff1,
0x1001, 0x100e, 0x0f28, 0x0f28, 0x101e, 0x06a6, 0x102e, 0x08c6,
0x08c6, 0x08c6, 0x0900, 0x0905, 0x0905, 0x103e, 0x104c, 0x0d93,
0x105c, 0x1068, 0x0902, 0x0905, 0x1078, 0x1088, 0x0905, 0x0905,
0x1092, 0x10a1, 0x0905, 0x0905, 0x10b1, 0x10bd, 0x10cd, 0x1088,
0x0905, 0x10da, 0x10ea, 0x058d, 0x058d, 0x10fa, 0x110a, 0x111a,
0x1129, 0x1132, 0x05a5, 0x05a5, 0x1142, 0x0905, 0x0905, 0x0905,
0x114e, 0x1159, 0x05a5, 0x064e, 0x0905, 0x0905, 0x06a6, 0x06a6,
0x06a6, 0x1169, 0x05be, 0x05be, 0x05be, 0x05be, 0x05be, 0x05be,
0x05be, 0x05be, 0x05be, 0x1179, 0x05be, 0x05be, 0x05be, 0x05be,
0x05be, 0x05be, 0x1188, 0x1198, 0x1188, 0x1188, 0x1198, 0x11a8,
0x1188, 0x11b8, 0x11c8, 0x11c8, 0x11c8, 0x11d8, 0x11e7, 0x11f7,
0x1207, 0x1217, 0x1227, 0x1237, 0x123f, 0x124f, 0x125b, 0x1269,
0x1279, 0x1289, 0x1299, 0x0b3f, 0x12a9, 0x12a9, 0x08c6, 0x06a6,
0x06a6, 0x102e, 0x12b9, 0x12c9, 0x12d7, 0x12e7, 0x12f7, 0x0696,
0x0905, 0x0905, 0x1307, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696,
0x0696, 0x0696, 0x1317, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696,
0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696,
0x0696, 0x131f, 0x0696, 0x132b, 0x1336, 0x133c, 0x133c, 0x133c,
0x1341, 0x0696, 0x134c, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696,
0x0696, 0x1355, 0x08c6, 0x1365, 0x08c6, 0x0696, 0x0696, 0x1375,
0x137d, 0x133c, 0x133c, 0x133c, 0x133c, 0x1389, 0x0696, 0x0696,
0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696,
0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x1393, 0x0696,
0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x13a0, 0x13aa, 0x0696,
0x0696, 0x0696, 0x0696, 0x13b5, 0x0696, 0x13bf, 0x0696, 0x133c,
0x133c, 0x133c, 0x133c, 0x133c, 0x133c, 0x133c, 0x133c, 0x133c,
0x133c, 0x133c, 0x133c, 0x133c, 0x133c, 0x133c, 0x133c, 0x0696,
0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x13c2,
0x13c9, 0x0696, 0x0696, 0x0696, 0x131f, 0x0696, 0x13d2, 0x0696,
0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x13e0, 0x0696,
0x13ea, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x058d,
0x058d, 0x06d7, 0x05a5, 0x05a5, 0x13fa, 0x140a, 0x1419, 0x05be,
0x05be, 0x05be, 0x05be, 0x05be, 0x05be, 0x1428, 0x1437, 0x05a5,
0x05a5, 0x1447, 0x0905, 0x0905, 0x0905, 0x0eaf, 0x1457, 0x0905,
0x1467, 0x1477, 0x1477, 0x1477, 0x1477, 0x06a6, 0x06a6, 0x1237,
0x1237, 0x1487, 0x1237, 0x1237, 0x1497, 0x08c6, 0x08c6, 0x0696,
0x13e6, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x14a7, 0x0696,
0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696, 0x0696,
0x0696, 0x0696, 0x0696, 0x0696, 0x14b7, 0x08c6, 0x14c7, 0x14d7,
0x14e5, 0x14f5, 0x1505, 0x0c60, 0x0905, 0x0905, 0x0905, 0x0905,
0x1515, 0x0e78, 0x0905, 0x0905, 0x0905, 0x0905, 0x1522, 0x0c5c,
0x0905, 0x0905, 0x0c60, 0x0905, 0x0905, 0x0905, 0x0905, 0x0f6f,
0x133c, 0x0905, 0x0905, 0x0696, 0x0696, 0x14a7, 0x0905, 0x133c,
0x1532, 0x133c, 0x133c, 0x133c, 0x0696, 0x133c, 0x1542, 0x133c,
0x133c, 0x133c, 0x1551, 0x1340, 0x133c, 0x133c, 0x133c, 0x133c,
0x133c, 0x133c, 0x133c, 0x1561, 0x133c, 0x133c, 0x133c, 0x133c,
0x133c, 0x133e, 0x133c, 0x133d, 0x0905, 0x0905, 0x0905, 0x0905,
0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905,
0x0696, 0x0696, 0x0696, 0x0696, 0x0905, 0x0905, 0x0905, 0x0905,
0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905,
0x0905, 0x0905, 0x0905, 0x0b3f, 0x0696, 0x0696, 0x0696, 0x1355,
0x0905, 0x0905, 0x10da, 0x1571, 0x0905, 0x1581, 0x08c6, 0x05be,
0x05be, 0x1591, 0x15a0, 0x05be, 0x15b0, 0x0905, 0x0905, 0x0905,
0x0905, 0x0905, 0x15be, 0x0696, 0x15ce, 0x15de, 0x05bc, 0x05be,
0x05be, 0x05be, 0x15ee, 0x15fc, 0x160c, 0x1612, 0x161c, 0x162c,
0x08c6, 0x08c6, 0x1637, 0x1645, 0x0905, 0x1652, 0x1662, 0x0905,
0x0905, 0x0905, 0x1672, 0x1682, 0x0905, 0x0905, 0x152e, 0x1692,
0x0f28, 0x06a6, 0x16a2, 0x1088, 0x0905, 0x16b2, 0x0905, 0x16c2,
0x16d0, 0x0905, 0x0b3f, 0x0901, 0x0905, 0x0905, 0x16e0, 0x16ef,
0x16ff, 0x170f, 0x0fa5, 0x0905, 0x0905, 0x1716, 0x1725, 0x1735,
0x1745, 0x0905, 0x1755, 0x0905, 0x0905, 0x0905, 0x1765, 0x1775,
0x177a, 0x178a, 0x179a, 0x17a9, 0x0f5e, 0x1477, 0x05a5, 0x05a5,
0x17b9, 0x17c9, 0x05a5, 0x05a5, 0x05a5, 0x05a5, 0x05a5, 0x0905,
0x0905, 0x17d9, 0x0f28, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905,
0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x17e9, 0x0905, 0x17f9,
0x0905, 0x0905, 0x0fbf, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905,
0x0905, 0x0b3e, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905, 0x0905,
0x0fc1, 0x08c6, 0x08c6, 0x1809, 0x1816, 0x1825, 0x182f, 0x183f,
0x0784, 0x0784, 0x0784, 0x0784, 0x0784, 0x0784, 0x184d, 0x185b,
0x0781, 0x0784, 0x0784, 0x0784, 0x0784, 0x0784, 0x0784, 0x0784,
0x0784, 0x0784, 0x0784, 0x0784, 0x0784, 0x0784, 0x0784, 0x0784,
0x0784, 0x186b, 0x08c6, 0x0784, 0x0784, 0x0784, 0x0784, 0x0782,
0x0784, 0x0784, 0x08be, 0x08c6, 0x08c6, 0x187b, 0x06a6, 0x188b,
0x06a6, 0x1237, 0x1237, 0x189b, 0x18ab, 0x08d6, 0x0784, 0x0784,
0x0784, 0x0784, 0x0784, 0x0784, 0x0784, 0x18bb, 0x18cb, 0x18db,
0x052b, 0x18eb, 0x18fb, 0x1902, 0x1911, 0x0905, 0x0905, 0x0905,
0x0905, 0x0f6f, 0x17a8, 0x1921, 0x1931, 0x1940,
/* values */
0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220,
0x0220, 0x9268, 0x8228, 0x9228, 0xa228, 0x8228, 0x0220, 0x0220,
0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220,
0x0220, 0x0220, 0x8220, 0x8220, 0x8220, 0x9220, 0xa248, 0xb210,
0xb210, 0x5210, 0x5210, 0x5210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0x4210, 0x7210, 0x4210, 0x7210, 0x7210, 0x3284, 0x3284,
0x3284, 0x3284, 0x3284, 0x3284, 0x3284, 0x3284, 0x3284, 0x3284,
0x7210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0x1381, 0x1381,
0x1381, 0x1381, 0x1381, 0x1381, 0x1301, 0x1301, 0x1301, 0x1301,
0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0x1382, 0x1382, 0x1382, 0x1382,
0x1382, 0x1382, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0xb210, 0xb210, 0xb210,
0xb210, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x8228, 0x0220,
0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220,
0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220, 0x7248,
0xb210, 0x5210, 0x5210, 0x5210, 0x5210, 0xb210, 0xb210, 0xb210,
0xb210, 0x1312, 0xb210, 0xb210, 0x0230, 0xb210, 0xb210, 0x5210,
0x5210, 0x3214, 0x3214, 0xb210, 0x1312, 0xb210, 0xb210, 0xb210,
0x3214, 0x1312, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0x1301,
0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301,
0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0xb210,
0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0xb210,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301,
0x1302, 0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1302, 0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1301,
0x1302, 0x1301, 0x1301, 0x1301, 0x1302, 0x1302, 0x1301, 0x1301,
0x1302, 0x1301, 0x1301, 0x1302, 0x1301, 0x1301, 0x1301, 0x1302,
0x1302, 0x1302, 0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301,
0x1302, 0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1302, 0x1301,
0x1302, 0x1301, 0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301,
0x1301, 0x1302, 0x1302, 0x1300, 0x1301, 0x1302, 0x1302, 0x1302,
0x1300, 0x1300, 0x1300, 0x1300, 0x1301, 0x1303, 0x1302, 0x1301,
0x1303, 0x1302, 0x1301, 0x1303, 0x1302, 0x1301, 0x1302, 0x1301,
0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1301,
0x1301, 0x1302, 0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301,
0x1301, 0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1302, 0x1302, 0x1302, 0x1300,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0xb300, 0xb300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0xb200, 0xb200, 0xb200, 0xb200, 0xb300,
0xb300, 0xb300, 0xb300, 0xb300, 0xb300, 0xb300, 0xb300, 0xb300,
0xb300, 0x1300, 0x1300, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb300, 0xb200, 0x1300,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x1301, 0x1302, 0x1301, 0x1302, 0xb300, 0xb200, 0x1301, 0x1302,
0x0000, 0x0000, 0x1300, 0x1302, 0x1302, 0x1302, 0xb210, 0x1301,
0x0000, 0x0000, 0x0000, 0x0000, 0xb200, 0xb200, 0x1301, 0xb210,
0x1301, 0x1301, 0x1301, 0x0000, 0x1301, 0x0000, 0x1301, 0x1301,
0x1302, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301,
0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301,
0x0000, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301,
0x1301, 0x1301, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1301, 0x1301, 0x1301, 0x1302, 0x1302, 0x1302, 0x1301,
0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1302,
0x1302, 0x1302, 0x1301, 0x1302, 0xb200, 0x1301, 0x1302, 0x1301,
0x1301, 0x1302, 0x1302, 0x1301, 0x1301, 0x1301, 0x1302, 0x1200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x1301,
0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1302, 0x0000, 0x1301, 0x1301,
0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301,
0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x0000, 0x0000, 0x1300,
0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1210,
0xb210, 0x0000, 0x0000, 0xb200, 0xb200, 0x5200, 0x0000, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x2210, 0x0200,
0x0200, 0x2210, 0x0200, 0x0200, 0x2210, 0x0200, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x0000, 0x0000,
0x0000, 0x0000, 0x2300, 0x2300, 0x2300, 0x2210, 0x2210, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x6220, 0x6220, 0x6220, 0x6220, 0x6220, 0x6220,
0xb200, 0xb200, 0x2200, 0x5210, 0x5210, 0x2200, 0x7210, 0x2210,
0xb200, 0xb200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x2210, 0x2220, 0x0000,
0x2210, 0x2210, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x6204, 0x6204, 0x6204, 0x6204, 0x6204, 0x6204,
0x6204, 0x6204, 0x6204, 0x6204, 0x5210, 0x6210, 0x6210, 0x2210,
0x2300, 0x2300, 0x0200, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2210, 0x2300, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x6220, 0xb200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x2300, 0x2300, 0x0200, 0x0200, 0xb200, 0x0200,
0x0200, 0x0200, 0x0200, 0x2300, 0x2300, 0x3204, 0x3204, 0x3204,
0x3204, 0x3204, 0x3204, 0x3204, 0x3204, 0x3204, 0x3204, 0x2300,
0x2300, 0x2300, 0x2200, 0x2200, 0x2300, 0x2210, 0x2210, 0x2210,
0x2210, 0x2210, 0x2210, 0x2210, 0x2210, 0x2210, 0x2210, 0x2210,
0x2210, 0x2210, 0x2210, 0x0000, 0x2220, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0000, 0x0000, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x2300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x2204, 0x2204, 0x2204, 0x2204, 0x2204, 0x2204, 0x2204,
0x2204, 0x2204, 0x2204, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x0200, 0x0200, 0x0200, 0x0200, 0x2300, 0x2300, 0xb200,
0xb210, 0xb210, 0xb210, 0x2300, 0x0000, 0x0000, 0x0200, 0x2200,
0x2200, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x0200,
0x0200, 0x0200, 0x0200, 0x2300, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x2300, 0x0200, 0x0200, 0x0200, 0x2300, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0000, 0x0000, 0x2210, 0x2210, 0x2210,
0x2210, 0x2210, 0x2210, 0x2210, 0x2210, 0x2210, 0x2210, 0x2210,
0x2210, 0x2210, 0x2210, 0x2210, 0x0000, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x0200, 0x0200,
0x0200, 0x0000, 0x0000, 0x2210, 0x0000, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x0000, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x0000, 0x0000, 0x0000, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x6220, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x1200, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0200,
0x1200, 0x0200, 0x1300, 0x1200, 0x1200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x1200, 0x1200, 0x1200,
0x1200, 0x0200, 0x1200, 0x1200, 0x1300, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x0200, 0x0200, 0x1210, 0x1210,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1210, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0200, 0x1200, 0x1200, 0x0000, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x1300, 0x0000, 0x0000,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0200,
0x1300, 0x1200, 0x1200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0000,
0x0000, 0x1200, 0x1200, 0x0000, 0x0000, 0x1200, 0x1200, 0x0200,
0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1200, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x0000,
0x1300, 0x1300, 0x0200, 0x0200, 0x0000, 0x0000, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1300, 0x1300, 0x5200, 0x5200, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x5200, 0x1300, 0x1210, 0x0200, 0x0000,
0x0200, 0x0200, 0x1200, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300, 0x0000,
0x1300, 0x1300, 0x0000, 0x1300, 0x1300, 0x0000, 0x1300, 0x1300,
0x0000, 0x0000, 0x0200, 0x0000, 0x1200, 0x1200, 0x0200, 0x0200,
0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0200, 0x0000, 0x0000,
0x0200, 0x0200, 0x0200, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300,
0x1300, 0x0000, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x0200, 0x0200, 0x1300, 0x1300, 0x1300,
0x0200, 0x1210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0200, 0x0200, 0x1200, 0x0000, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x1300,
0x1300, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000,
0x0000, 0x0200, 0x1300, 0x1200, 0x1200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0000, 0x0200, 0x0200, 0x1200, 0x0000, 0x1200,
0x1200, 0x0200, 0x0000, 0x0000, 0x1300, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x1210, 0x5200, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0000, 0x0200, 0x1200, 0x1200,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x0000, 0x0000, 0x1300, 0x0000, 0x1300, 0x1300, 0x0000,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0200,
0x1300, 0x1200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0000, 0x0000,
0x1200, 0x1200, 0x0000, 0x0000, 0x1200, 0x1200, 0x0200, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0200, 0x1200, 0x0000,
0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x0000, 0x1300, 0x1200,
0x1300, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
0x1300, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x0000, 0x1300, 0x1300,
0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x0000,
0x1300, 0x0000, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x1300,
0x1300, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x0000,
0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000,
0x1200, 0x1200, 0x0200, 0x1200, 0x1200, 0x0000, 0x0000, 0x0000,
0x1200, 0x1200, 0x1200, 0x0000, 0x1200, 0x1200, 0x1200, 0x0200,
0x0000, 0x0000, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x1200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x1200, 0x1200, 0x1200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0x5200, 0xb200, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0200, 0x1200, 0x1200, 0x1200, 0x0200, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000,
0x0000, 0x1300, 0x0200, 0x0200, 0x1200, 0x1200, 0x1200, 0x1200,
0x0000, 0x0200, 0x0200, 0x0200, 0x0000, 0x0200, 0x0200, 0x0200,
0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0200,
0x0000, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x1210, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0x1200, 0x1300, 0x0200, 0x1200, 0x1200,
0x1210, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000,
0x0000, 0x0200, 0x1300, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
0x0000, 0x1200, 0x1200, 0x1200, 0x0000, 0x1200, 0x1200, 0x0200,
0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1200, 0x1200,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300,
0x0000, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0200, 0x0200, 0x1200, 0x1200, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x0200, 0x0200, 0x1300, 0x1200, 0x1200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0000, 0x1200, 0x1200, 0x1200, 0x0000, 0x1200,
0x1200, 0x1200, 0x0200, 0x1300, 0x1200, 0x0000, 0x0000, 0x0000,
0x0000, 0x1300, 0x1300, 0x1300, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1300, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0200, 0x1200,
0x1200, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x0000, 0x1300, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
0x0000, 0x0000, 0x0000, 0x1200, 0x1200, 0x0200, 0x0200, 0x0200,
0x0000, 0x0200, 0x0000, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x0000, 0x0000, 0x1200, 0x1200, 0x1210,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0200, 0x1300, 0x1300, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
0x5200, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x1210, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1210, 0x1210, 0x0000, 0x0000, 0x0000,
0x0000, 0x1300, 0x1300, 0x0000, 0x1300, 0x0000, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300,
0x0000, 0x1300, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x0200, 0x1300, 0x1300, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x1300, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x0000, 0x1300, 0x0000, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0000, 0x0000, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x0000, 0x0000, 0x1300,
0x1300, 0x1300, 0x1300, 0x1200, 0x1200, 0x1200, 0x1210, 0x1210,
0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210,
0x1210, 0x1210, 0x1200, 0x1210, 0x1200, 0x1200, 0x1200, 0x0200,
0x0200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0200,
0x1200, 0x0200, 0x1200, 0x0200, 0xb210, 0xb210, 0xb210, 0xb210,
0x1200, 0x1200, 0x0000, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x1200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x1210,
0x0200, 0x0200, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0000,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0000, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x0200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x0000, 0x1200, 0x1200, 0x1210, 0x1210,
0x1210, 0x1210, 0x1210, 0x1200, 0x1200, 0x1200, 0x1200, 0x1210,
0x1210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1200, 0x1200, 0x0200, 0x0200, 0x0200, 0x1200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x1200, 0x0200, 0x0200,
0x1200, 0x1200, 0x0200, 0x0200, 0x1300, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1210,
0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1200, 0x1200, 0x0200, 0x0200, 0x1300,
0x1300, 0x1300, 0x1300, 0x0200, 0x0200, 0x1300, 0x1200, 0x1200,
0x1200, 0x1300, 0x1300, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1300, 0x1300, 0x0200, 0x0200, 0x0200, 0x0200,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x0200, 0x1200, 0x1200, 0x0200, 0x0200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0200, 0x1300,
0x1200, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1200, 0x1200, 0x1200, 0x0200, 0x1200,
0x1200, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x0000,
0x1301, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1301, 0x0000,
0x0000, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1210, 0x1300, 0x1302, 0x1302,
0x1302, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x0000, 0x1300, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0200, 0x0200,
0x0200, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210,
0x1210, 0x1210, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0000,
0x0000, 0x0000, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301,
0x0000, 0x0000, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x0000, 0x0000, 0xb210, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1200, 0x1210, 0x1300, 0xa208, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0xb210, 0xb210, 0x0000,
0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1210, 0x1210, 0x1210,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1300, 0x1300, 0x0200, 0x0200, 0x0200, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1300, 0x1300, 0x0200, 0x0200, 0x0200, 0x1210, 0x1210, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1300, 0x1300, 0x0200, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1300, 0x0000, 0x0200, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1300, 0x1300, 0x1300, 0x1300, 0x0200, 0x0200, 0x1200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x0200, 0x1200, 0x1200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x1210, 0x1210,
0x1210, 0x1300, 0x1210, 0x1210, 0x1210, 0x5200, 0x1300, 0x0200,
0x0000, 0x0000, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0x0200, 0x0200, 0x0200,
0x0220, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0200,
0x0200, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0200, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x0000, 0x0200, 0x0200, 0x0200, 0x1200, 0x1200, 0x1200, 0x1200,
0x0200, 0x0200, 0x1200, 0x1200, 0x1200, 0x0000, 0x0000, 0x0000,
0x0000, 0x1200, 0x1200, 0x0200, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x0200, 0x0200, 0x0200, 0x0000, 0x0000, 0x0000,
0x0000, 0xb200, 0x0000, 0x0000, 0x0000, 0xb210, 0xb210, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1200, 0x0000, 0x0000,
0x0000, 0xb200, 0xb200, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0200, 0x0200, 0x1200, 0x1200, 0x0200, 0x0000,
0x0000, 0x1210, 0x1210, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1200, 0x0200, 0x1200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0000, 0x0200, 0x1200, 0x0200, 0x1200, 0x1200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x1200, 0x1200, 0x1200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0000, 0x0000, 0x0200,
0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1300,
0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x0000, 0x0000,
0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x1300, 0x1300, 0x1300, 0x1300, 0x0200, 0x1200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x1200, 0x0200, 0x1200, 0x1200, 0x1200,
0x0200, 0x1200, 0x1200, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x1210, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0000,
0x0000, 0x0000, 0x1300, 0x1200, 0x0200, 0x0200, 0x0200, 0x0200,
0x1200, 0x1200, 0x0200, 0x0200, 0x1200, 0x0200, 0x0200, 0x0200,
0x1300, 0x1300, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0200, 0x1200, 0x0200, 0x0200, 0x1200, 0x1200,
0x1200, 0x0200, 0x1200, 0x0200, 0x0200, 0x1200, 0x1200, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1210,
0x1210, 0x1210, 0x1210, 0x1300, 0x1300, 0x1300, 0x1300, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0200,
0x0200, 0x0200, 0x0200, 0x1200, 0x1200, 0x0200, 0x0200, 0x0000,
0x0000, 0x0000, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1210, 0x1210, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x1301, 0x1301, 0x1301, 0x1301,
0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x0000,
0x0000, 0x1301, 0x1301, 0x1301, 0x1210, 0x1210, 0x1210, 0x1210,
0x1210, 0x1210, 0x1210, 0x1210, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0200, 0x0200, 0x1210,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x1200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x1300, 0x1300, 0x1300, 0x1300,
0x0200, 0x1300, 0x1300, 0x1200, 0x0200, 0x0200, 0x1300, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1300, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0000, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1301, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301,
0x1301, 0x1301, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x0000, 0x0000, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301,
0x0000, 0x0000, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x0000, 0x1301, 0x0000, 0x1301, 0x0000, 0x1301,
0x0000, 0x1301, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x0000, 0x0000, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1303, 0x1303, 0x1303, 0x1303, 0x1303, 0x1303,
0x1303, 0x1303, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x0000,
0x1302, 0x1302, 0x1301, 0x1301, 0x1301, 0x1301, 0x1303, 0xb200,
0x1302, 0xb200, 0xb200, 0x1302, 0x1302, 0x1302, 0x0000, 0x1302,
0x1302, 0x1301, 0x1301, 0x1301, 0x1301, 0x1303, 0xb200, 0xb200,
0xb200, 0x1302, 0x1302, 0x1302, 0x1302, 0x0000, 0x0000, 0x1302,
0x1302, 0x1301, 0x1301, 0x1301, 0x1301, 0x0000, 0xb200, 0xb200,
0xb200, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0xb200, 0xb200,
0xb200, 0x0000, 0x0000, 0x1302, 0x1302, 0x1302, 0x0000, 0x1302,
0x1302, 0x1301, 0x1301, 0x1301, 0x1301, 0x1303, 0xb200, 0xb200,
0x0000, 0xa208, 0xa208, 0xa208, 0xa208, 0xa208, 0xa208, 0xa208,
0xa208, 0xa208, 0xa208, 0xa208, 0x0220, 0x0220, 0x0220, 0x1220,
0x2220, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xa208, 0x8208, 0xb220, 0xb220, 0xb220, 0xb220, 0xb220,
0x7208, 0x5210, 0x5210, 0x5210, 0x5210, 0x5210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0x7200, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb200, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xa208, 0x0220, 0x0220, 0x0220, 0x0220, 0x0220,
0x0000, 0xb220, 0xb220, 0xb220, 0xb220, 0x0220, 0x0220, 0x0220,
0x0220, 0x0220, 0x0220, 0x3200, 0x1302, 0x0000, 0x0000, 0x3200,
0x3200, 0x3200, 0x3200, 0x3200, 0x3200, 0x4200, 0x4200, 0xb200,
0xb210, 0xb210, 0x1302, 0x3200, 0x3200, 0x3200, 0x3200, 0x3200,
0x3200, 0x3200, 0x3200, 0x3200, 0x3200, 0x4200, 0x4200, 0xb200,
0xb210, 0xb210, 0x0000, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200,
0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200, 0x5200,
0x5200, 0x5200, 0x5200, 0xb200, 0xb200, 0x1301, 0xb200, 0xb200,
0xb200, 0xb200, 0x1301, 0xb200, 0xb200, 0x1302, 0x1301, 0x1301,
0x1301, 0x1302, 0x1302, 0x1301, 0x1301, 0x1301, 0x1302, 0xb200,
0x1301, 0xb200, 0xb200, 0xb200, 0x1301, 0x1301, 0x1301, 0x1301,
0x1301, 0xb200, 0xb200, 0xb200, 0xb200, 0x1301, 0xb200, 0x1301,
0xb200, 0x1301, 0xb200, 0x1301, 0x1301, 0x1301, 0x1301, 0x5200,
0x1302, 0x1301, 0x1301, 0x1301, 0x1301, 0x1302, 0x1300, 0x1300,
0x1300, 0x1300, 0x1302, 0xb200, 0xb200, 0x1302, 0x1302, 0x1301,
0x1301, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0x1301, 0x1302,
0x1302, 0x1302, 0x1302, 0xb200, 0xb200, 0xb200, 0xb200, 0x1302,
0x1200, 0x1300, 0x1300, 0x1300, 0x1301, 0x1302, 0x1300, 0x1300,
0x1300, 0x1300, 0xb200, 0xb200, 0xb200, 0x0000, 0x0000, 0x0000,
0x0000, 0xb200, 0xb200, 0x4200, 0x5200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb210, 0xb210, 0xb210, 0xb210, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb210, 0xb210,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0x1200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0x3200,
0x3200, 0x3200, 0x3200, 0x3200, 0x3200, 0x3200, 0x3200, 0x3200,
0x3200, 0x3200, 0x3200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0x1200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb210, 0xb210, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb210, 0xb210, 0xb200, 0xb200, 0xb200, 0xb200, 0x0000, 0x0000,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0x0000, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x0000, 0x1301, 0x1302, 0x1301, 0x1301,
0x1301, 0x1302, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301,
0x1302, 0x1301, 0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1302,
0x1301, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1300,
0x1300, 0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1302, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0x1301, 0x1302, 0x1301,
0x1302, 0x0200, 0x0200, 0x1301, 0x1302, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0xb210, 0xb210, 0xb210, 0xb210, 0xb200, 0xb210,
0xb210, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x0000,
0x1302, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1302, 0x0000,
0x0000, 0x1210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0200, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x0000, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb300, 0xb200, 0xb200, 0xb210, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xb200, 0xb200, 0xb200, 0xb200, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0x0000, 0x0000, 0x0000,
0x0000, 0xa248, 0xb210, 0xb210, 0xb210, 0xb200, 0x1300, 0x1300,
0x1300, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb200, 0xb200, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb200,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x0200, 0x0200, 0x0200, 0x0200, 0x1200, 0x1200, 0xb210,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0xb200, 0xb200, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0xb210, 0xb200, 0xb200, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000, 0x0000,
0x0200, 0x0200, 0xb200, 0xb200, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0xb210,
0x1300, 0x1300, 0x1300, 0x1300, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0xb200, 0xb200, 0x0000, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
0xb200, 0xb200, 0xb200, 0x1200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0xb200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0xb200, 0xb200, 0xb200, 0xb200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0xb210, 0xb210, 0xb210, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1300, 0x1300, 0x0000,
0x0000, 0x0000, 0x0000, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301,
0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301,
0x1302, 0x1300, 0x0200, 0x0200, 0x0200, 0xb210, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0xb210, 0xb300, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1300, 0x1300,
0x0200, 0x0200, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200, 0xb300,
0xb300, 0xb300, 0xb300, 0xb300, 0xb300, 0xb300, 0xb300, 0xb300,
0xb200, 0xb200, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1300, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0xb300, 0x1200,
0x1200, 0x1301, 0x1302, 0x1301, 0x1302, 0x1300, 0x1301, 0x1302,
0x1301, 0x1302, 0x1302, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1301,
0x1301, 0x1301, 0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302,
0x1301, 0x1302, 0x1301, 0x1302, 0x1301, 0x1302, 0x0000, 0x0000,
0x1301, 0x1302, 0x1301, 0x1301, 0x1301, 0x1301, 0x1302, 0x1301,
0x1302, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1301, 0x1302,
0x1300, 0x1300, 0x1300, 0x1302, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x0200, 0x1300, 0x1300, 0x1300, 0x0200, 0x1300, 0x1300,
0x1300, 0x1300, 0x0200, 0x1300, 0x1300, 0x1300, 0x1300, 0x1200,
0x1200, 0x0200, 0x0200, 0x1200, 0xb200, 0xb200, 0xb200, 0xb200,
0x0200, 0x0000, 0x0000, 0x0000, 0x1200, 0x1200, 0x1200, 0x1200,
0x1200, 0x1200, 0x1200, 0x1200, 0x5200, 0x5200, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300,
0xb210, 0xb210, 0xb210, 0xb210, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x1200, 0x1200, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1200, 0x1200, 0x1200, 0x1200,
0x0200, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x1210, 0x1210, 0x0200, 0x0200, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1210, 0x1210, 0x1210, 0x1300,
0x1210, 0x1300, 0x1300, 0x0200, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x1210, 0x1210, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200,
0x0200, 0x0200, 0x0200, 0x0200, 0x1200, 0x1200, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x1210, 0x1300, 0x1300, 0x1300, 0x0200, 0x1200, 0x1200,
0x0200, 0x0200, 0x0200, 0x0200, 0x1200, 0x1200, 0x0200, 0x0200,
0x1200, 0x1200, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210,
0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x1210, 0x0000,
0x1300, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x1204, 0x1204, 0x0000, 0x0000, 0x0000, 0x0000, 0x1210,
0x1210, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0200, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x0200, 0x1200,
0x0200, 0x0200, 0x1200, 0x1200, 0x0200, 0x0200, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300,
0x1300, 0x1300, 0x0200, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x0200, 0x1200, 0x0000, 0x0000, 0x1204,
0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204, 0x1204,
0x1204, 0x0000, 0x0000, 0x1210, 0x1210, 0x1210, 0x1210, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1200, 0x1200,
0x1200, 0x1300, 0x1200, 0x0200, 0x1200, 0x1300, 0x1300, 0x0200,
0x1300, 0x0200, 0x0200, 0x0200, 0x1300, 0x1300, 0x0200, 0x0200,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x0200, 0x0200, 0x1300,
0x0200, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300,
0x1300, 0x1300, 0x1210, 0x1210, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1200,
0x0200, 0x0200, 0x1200, 0x1200, 0x1210, 0x1210, 0x1300, 0x1300,
0x1300, 0x1200, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0000, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1200, 0x1300,
0x1300, 0x1300, 0x1300, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1300, 0xb200, 0xb200, 0x0000,
0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1200, 0x1200,
0x0200, 0x1200, 0x1200, 0x0200, 0x1200, 0x1200, 0x1210, 0x1200,
0x0200, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2300, 0x0200, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x4200, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x0000, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x0000, 0x2300,
0x0000, 0x2300, 0x2300, 0x0000, 0x2300, 0x2300, 0x0000, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x2200, 0x2200, 0x2200, 0x2200, 0x2200, 0x2200, 0x2200,
0x2200, 0x2200, 0x2200, 0x2200, 0x2200, 0x2200, 0x2200, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0xb210, 0xb210, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x2200, 0xb200, 0x0000, 0x0000, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7210, 0xb210, 0x7210,
0x0000, 0xb210, 0x7210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0xb210, 0xb210, 0xb210, 0x5210, 0xb210, 0xb210, 0x4200,
0x4210, 0xb200, 0xb200, 0xb200, 0x0000, 0xb210, 0x5200, 0x5210,
0xb210, 0x0000, 0x0000, 0x0000, 0x0000, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300, 0x2300,
0x2300, 0x2300, 0x0000, 0x0000, 0x0260, 0x0000, 0xb210, 0xb210,
0x5210, 0x5200, 0x5210, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0x4200, 0x7210, 0x4210, 0x7210, 0x7210, 0x3284, 0x3284, 0x3284,
0x3284, 0x3284, 0x3284, 0x3284, 0x3284, 0x3284, 0x3284, 0x7210,
0xb210, 0xb200, 0xb200, 0xb200, 0xb210, 0x1301, 0x1301, 0x1301,
0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301, 0x1301,
0xb210, 0xb210, 0xb210, 0xb200, 0xb210, 0xb200, 0x1382, 0x1382,
0x1382, 0x1382, 0x1382, 0x1382, 0x1302, 0x1302, 0x1302, 0x1302,
0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0x1302, 0xb210,
0xb200, 0xb210, 0xb200, 0xb210, 0xb210, 0xb210, 0xb210, 0xb210,
0xb210, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300,
0x1300, 0x1300, 0x1300, 0x0000, 0x0000, 0x1300, 0x1300, 0x1300,
0x0000, 0x0000, 0x0000, 0x5200, 0x5200, 0xb200, 0xb200, 0xb200,
0x5200, 0x5200, 0x0000, 0xb200, 0xb200, 0xb200, 0xb200, 0xb200,
0xb200, 0xb200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0xb220, 0xb220, 0xb220, 0xb200, 0xb200,
0x0000, 0x0000
};
...@@ -1895,32 +1895,6 @@ sub dump_intl_nls($) ...@@ -1895,32 +1895,6 @@ sub dump_intl_nls($)
################################################################ ################################################################
# dump the GetStringTypeW table
sub dump_string_type_table($)
{
my $filename = shift;
open OUTPUT,">$filename.new" or die "Cannot create $filename";
printf "Building $filename\n";
printf OUTPUT "/* Unicode wctype table */\n";
printf OUTPUT "/* Automatically generated; DO NOT EDIT!! */\n\n";
printf OUTPUT "#include \"windef.h\"\n\n";
my @table = map { ($_ || 0) & 0xffff; } @category_table;
# add the direction in the high 4 bits of the category
for (my $i = 0; $i < 65536; $i++)
{
$table[$i] |= $c2_types{$direction_table[$i]} << 12 if defined $direction_table[$i];
}
dump_two_level_mapping( "wctype_table", 0, 16, @table );
close OUTPUT;
save_file($filename);
}
################################################################
# dump the bidi direction table # dump the bidi direction table
sub dump_bidi_dir_table($) sub dump_bidi_dir_table($)
{ {
...@@ -2798,7 +2772,6 @@ dump_ctype_tables( "libs/port/wctype.c" ); ...@@ -2798,7 +2772,6 @@ dump_ctype_tables( "libs/port/wctype.c" );
dump_bidi_dir_table( "dlls/gdi32/direction.c" ); dump_bidi_dir_table( "dlls/gdi32/direction.c" );
dump_bidi_dir_table( "dlls/usp10/direction.c" ); dump_bidi_dir_table( "dlls/usp10/direction.c" );
dump_bidi_dir_table( "dlls/dwrite/direction.c" ); dump_bidi_dir_table( "dlls/dwrite/direction.c" );
dump_string_type_table( "dlls/kernelbase/wctype.c" );
dump_digit_folding( "dlls/kernelbase/digitmap.c" ); dump_digit_folding( "dlls/kernelbase/digitmap.c" );
dump_mirroring( "dlls/usp10/mirror.c" ); dump_mirroring( "dlls/usp10/mirror.c" );
dump_mirroring( "dlls/dwrite/mirror.c" ); dump_mirroring( "dlls/dwrite/mirror.c" );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment