aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWiimm <wiimm@wiimm.de>2024-02-17 11:45:01 +0100
committerWiimm <wiimm@wiimm.de>2024-02-17 11:45:01 +0100
commit685554b2c272fdefc23bb1d237c059b52ab5fc58 (patch)
tree9e0e7ff41f688bdc07fdb7869fc0258725197bcf
parentac9a0b25eaffaa05e5431a8527dab8649ef6504f (diff)
SZS v2.41a
Diffstat (limited to '')
-rw-r--r--project/Makefile2
-rw-r--r--project/dclib/dclib-basics.c11
-rw-r--r--project/dclib/dclib-basics.h84
-rw-r--r--project/dclib/dclib-file.c2
-rw-r--r--project/dclib/dclib-numeric.c135
-rw-r--r--project/dclib/dclib-numeric.h34
-rw-r--r--project/dclib/dclib-types.h70
-rw-r--r--project/dclib/dclib-ui.c44
-rw-r--r--project/dclib/lib-bmg.c5
-rw-r--r--project/dclib/lib-bmg.h28
-rw-r--r--project/dclib/lib-dol.h4
-rw-r--r--project/dclib/lib-mkw-def.c2
-rw-r--r--project/dclib/lib-mkw.h2
-rw-r--r--project/revision.sh2
-rw-r--r--project/src/file-type.c388
-rw-r--r--project/src/file-type.h220
-rw-r--r--project/src/lecode.inc3686
-rw-r--r--project/src/lib-analyze.c78
-rw-r--r--project/src/lib-analyze.h12
-rw-r--r--project/src/lib-ctcode.c12
-rw-r--r--project/src/lib-file.c156
-rw-r--r--project/src/lib-image.h4
-rw-r--r--project/src/lib-image3.c16
-rw-r--r--project/src/lib-kcl.c8
-rw-r--r--project/src/lib-kmp.c12
-rw-r--r--project/src/lib-lecode.c115
-rw-r--r--project/src/lib-lecode.h112
-rw-r--r--project/src/lib-ledis.c291
-rw-r--r--project/src/lib-ledis.h51
-rw-r--r--project/src/lib-lex.c2
-rw-r--r--project/src/lib-numeric.h67
-rw-r--r--project/src/lib-parser-func.c8
-rw-r--r--project/src/lib-parser.c237
-rw-r--r--project/src/lib-staticr.c209
-rw-r--r--project/src/lib-staticr.h5
-rw-r--r--project/src/lib-std.c54
-rw-r--r--project/src/lib-std.h31
-rw-r--r--project/src/lib-szs-create.c4
-rw-r--r--project/src/lib-szs-file.h1
-rw-r--r--project/src/lib-szs.c182
-rw-r--r--project/src/lib-szs.h63
-rw-r--r--project/src/prefix.inc211
-rw-r--r--project/src/ui/tab-wbmgt.inc3
-rw-r--r--project/src/ui/tab-wctct.inc3
-rw-r--r--project/src/ui/tab-wimgt.inc3
-rw-r--r--project/src/ui/tab-wkclt.inc3
-rw-r--r--project/src/ui/tab-wkmpt.inc3
-rw-r--r--project/src/ui/tab-wlect.inc3
-rw-r--r--project/src/ui/tab-wmdlt.inc3
-rw-r--r--project/src/ui/tab-wpatt.inc3
-rw-r--r--project/src/ui/tab-wstrt.inc19
-rw-r--r--project/src/ui/tab-wszst.inc32
-rw-r--r--project/src/ui/ui-wbmgt.c86
-rw-r--r--project/src/ui/ui-wbmgt.h4
-rw-r--r--project/src/ui/ui-wctct.c124
-rw-r--r--project/src/ui/ui-wctct.h4
-rw-r--r--project/src/ui/ui-wimgt.c72
-rw-r--r--project/src/ui/ui-wimgt.h4
-rw-r--r--project/src/ui/ui-wkclt.c114
-rw-r--r--project/src/ui/ui-wkclt.h4
-rw-r--r--project/src/ui/ui-wkmpt.c144
-rw-r--r--project/src/ui/ui-wkmpt.h4
-rw-r--r--project/src/ui/ui-wlect.c134
-rw-r--r--project/src/ui/ui-wlect.h4
-rw-r--r--project/src/ui/ui-wmdlt.c94
-rw-r--r--project/src/ui/ui-wmdlt.h4
-rw-r--r--project/src/ui/ui-wpatt.c60
-rw-r--r--project/src/ui/ui-wpatt.h4
-rw-r--r--project/src/ui/ui-wstrt.c340
-rw-r--r--project/src/ui/ui-wstrt.h10
-rw-r--r--project/src/ui/ui-wszst.c975
-rw-r--r--project/src/ui/ui-wszst.h14
-rw-r--r--project/src/ui/ui.def277
-rw-r--r--project/src/wbmgt.c1
-rw-r--r--project/src/wctct.c1
-rw-r--r--project/src/wimgt.c1
-rw-r--r--project/src/wkclt.c1
-rw-r--r--project/src/wkmpt.c3
-rw-r--r--project/src/wlect.c62
-rw-r--r--project/src/wmdlt.c1
-rw-r--r--project/src/wpatt.c1
-rw-r--r--project/src/wstrt.c4
-rw-r--r--project/src/wszst.c53
-rw-r--r--project/src/wtest.c13
-rw-r--r--project/templates/HISTORY.txt6
-rw-r--r--project/templates/module/last-history.txt34
-rw-r--r--project/text-files/lpar.inc/lpar-sect-param-cr.inc8
87 files changed, 5724 insertions, 3676 deletions
diff --git a/project/Makefile b/project/Makefile
index 93e5fe3..ea0e553 100644
--- a/project/Makefile
+++ b/project/Makefile
@@ -57,7 +57,7 @@ WPATT_LONG = Wiimms PAT Tool
WSTRT_SHORT = wstrt
WSTRT_LONG = Wiimms StaticR Tool
-VERSION_NUM = 2.40b
+VERSION_NUM = 2.41a
BETA_VERSION = 0
# 0:off -1:"beta" >0:"beta#"
diff --git a/project/dclib/dclib-basics.c b/project/dclib/dclib-basics.c
index bcf1012..094c189 100644
--- a/project/dclib/dclib-basics.c
+++ b/project/dclib/dclib-basics.c
@@ -2466,6 +2466,17 @@ void ResetFastBuf ( FastBuf_t *fb )
///////////////////////////////////////////////////////////////////////////////
+int SetFastBufLen ( FastBuf_t *fb, uint max_size )
+{
+ DASSERT(fb);
+ const uint cur_len = GetFastBufLen(fb);
+ if ( max_size < cur_len )
+ fb->ptr = fb->buf + max_size;
+ return GetFastBufLen(fb);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
ccp GetFastBufStatus ( const FastBuf_t *fb )
{
char info[100];
diff --git a/project/dclib/dclib-basics.h b/project/dclib/dclib-basics.h
index 5e6edc9..dd56ecb 100644
--- a/project/dclib/dclib-basics.h
+++ b/project/dclib/dclib-basics.h
@@ -2043,10 +2043,14 @@ FastBuf_t;
FastBuf_t * InitializeFastBuf ( void * mem, uint size );
FastBuf_t * InitializeFastBufAlloc ( FastBuf_t *fb, uint size );
-void ResetFastBuf ( FastBuf_t *fb );
+void ResetFastBuf ( FastBuf_t *fb );
static inline void ClearFastBuf ( FastBuf_t *fb )
{ DASSERT(fb); fb->ptr = fb->buf; }
+int SetFastBufLen ( FastBuf_t *fb, uint max_size );
+static inline int GetFastBufLen ( const FastBuf_t *fb )
+ { DASSERT(fb); return fb->ptr - fb->buf; }
+
ccp GetFastBufStatus ( const FastBuf_t *fb );
int ReserveSpaceFastBuf ( FastBuf_t *fb, uint size );
char * GetSpaceFastBuf ( FastBuf_t *fb, uint size );
@@ -2083,9 +2087,6 @@ static inline void AppendU32FastBuf ( FastBuf_t *fb, u32 num )
static inline void AppendU64FastBuf ( FastBuf_t *fb, u64 num )
{ AppendFastBuf(fb,&num,sizeof(num)); }
-static inline int GetFastBufLen ( const FastBuf_t *fb )
- { DASSERT(fb); return fb->ptr - fb->buf; }
-
//-----------------------------------------------------------------------------
// The resulting strings of GetFastBufString() and GetFastBufMem0() are always
// terminated by an additional NULL byte.
@@ -2844,10 +2845,14 @@ typedef enum CharMode_t // select encodig/decoding method
CHMD_UTF8 = 0x01, // UTF8 support enabled (compatible with legacy bool)
CHMD_ESC = 0x02, // escape ESC by \e
CHMD_PIPE = 0x04, // escape pipes '|' to '\!'
- CHMD_IF_REQUIRED = 0x08, // check for special chars and encode only if required
- CHMD__ALL = 0x0f,
+ CHMD_SH = 0x08, // escape for sh '...' => use "'" for '
+ CHMD_BASH = 0x10, // escape for bash $'...': \ ' " (ignore CHMD_SH)
+ CHMD_IF_REQUIRED = 0x20, // check for special chars and encode only if required
+ CHMD__ALL = 0x3f,
CHMD__MODERN = CHMD_UTF8 | CHMD_ESC,
+ CHMD__SH = CHMD_UTF8 | CHMD_ESC | CHMD_SH,
+ CHMD__BASH = CHMD_UTF8 | CHMD_ESC | CHMD_BASH,
CHMD__PIPE8 = CHMD__MODERN | CHMD_PIPE | CHMD_IF_REQUIRED,
}
__attribute__ ((packed)) CharMode_t;
@@ -3554,6 +3559,7 @@ typedef int (*KeywordListFuncKey)
);
//-----------------------------------------------------------------------------
+// [[KeyListParam_t]]
typedef struct KeyListParam_t
{
@@ -4479,72 +4485,6 @@ enumError ScanSizeOptU32
///////////////////////////////////////////////////////////////////////////////
/////////////// time & timer ///////////////
///////////////////////////////////////////////////////////////////////////////
-
-//--- conversion factors
-
-#define SEC_PER_MIN 60
-#define SEC_PER_HOUR 3600
-#define SEC_PER_DAY 86400
-#define SEC_PER_WEEK 604800
-#define SEC_PER_MONTH 2629746 // 365.2425 * SEC_PER_DAY / 12
-#define SEC_PER_QUARTER 7889238 // 365.2425 * SEC_PER_DAY / 4
-#define SEC_PER_YEAR 31556952 // 365.2425 * SEC_PER_DAY
-
-#define MSEC_PER_SEC 1000ll
-#define MSEC_PER_MIN (MSEC_PER_SEC*SEC_PER_MIN)
-#define MSEC_PER_HOUR (MSEC_PER_SEC*SEC_PER_HOUR)
-#define MSEC_PER_DAY (MSEC_PER_SEC*SEC_PER_DAY)
-#define MSEC_PER_WEEK (MSEC_PER_SEC*SEC_PER_WEEK)
-#define MSEC_PER_MONTH (MSEC_PER_SEC*SEC_PER_MONTH)
-#define MSEC_PER_QUARTER (MSEC_PER_SEC*SEC_PER_QUARTER)
-#define MSEC_PER_YEAR (MSEC_PER_SEC*SEC_PER_YEAR)
-
-#define USEC_PER_MSEC 1000ll
-#define USEC_PER_SEC 1000000ll
-#define USEC_PER_MIN (USEC_PER_SEC*SEC_PER_MIN)
-#define USEC_PER_HOUR (USEC_PER_SEC*SEC_PER_HOUR)
-#define USEC_PER_DAY (USEC_PER_SEC*SEC_PER_DAY)
-#define USEC_PER_WEEK (USEC_PER_SEC*SEC_PER_WEEK)
-#define USEC_PER_MONTH (USEC_PER_SEC*SEC_PER_MONTH)
-#define USEC_PER_QUARTER (USEC_PER_SEC*SEC_PER_QUARTER)
-#define USEC_PER_YEAR (USEC_PER_SEC*SEC_PER_YEAR)
-
-#define NSEC_PER_USEC 1000ll
-#define NSEC_PER_MSEC 1000000ll
-#define NSEC_PER_SEC 1000000000ll
-#define NSEC_PER_MIN (NSEC_PER_SEC*SEC_PER_MIN)
-#define NSEC_PER_HOUR (NSEC_PER_SEC*SEC_PER_HOUR)
-#define NSEC_PER_DAY (NSEC_PER_SEC*SEC_PER_DAY)
-#define NSEC_PER_WEEK (NSEC_PER_SEC*SEC_PER_WEEK)
-#define NSEC_PER_MONTH (NSEC_PER_SEC*SEC_PER_MONTH)
-#define NSEC_PER_QUARTER (NSEC_PER_SEC*SEC_PER_QUARTER)
-#define NSEC_PER_YEAR (NSEC_PER_SEC*SEC_PER_YEAR)
-
-
-//--- time types
-
-typedef uint u_sec_t; // unsigned type to store time as seconds
-typedef int s_sec_t; // signed type to store time as seconds
-typedef u64 u_msec_t; // unsigned type to store time as milliseconds
-typedef s64 s_msec_t; // signed type to store time as milliseconds
-typedef u64 u_usec_t; // unsigned type to store time as microseconds
-typedef s64 s_usec_t; // signed type to store time as microseconds
-typedef u64 u_nsec_t; // unsigned type to store time as nanoseconds
-typedef s64 s_nsec_t; // signed type to store time as nanoseconds
-
-
-//--- max values time types
-
-#define S_SEC_MAX S32_MAX
-#define U_SEC_MAX U32_MAX
-#define S_MSEC_MAX S64_MAX
-#define U_MSEC_MAX U64_MAX
-#define S_USEC_MAX S64_MAX
-#define U_USEC_MAX U64_MAX
-#define S_NSEC_MAX S64_MAX
-#define U_NSEC_MAX U64_MAX
-
-//-----------------------------------------------------------------------------
// [[DayTime_t]]
typedef struct DayTime_t
{
diff --git a/project/dclib/dclib-file.c b/project/dclib/dclib-file.c
index 069d932..c88569e 100644
--- a/project/dclib/dclib-file.c
+++ b/project/dclib/dclib-file.c
@@ -1677,7 +1677,7 @@ enumError WriteFileAt
}
}
- noPRINT("WRITE %zx @%zx -> %zx\n",size,offset,offset+size);
+ PRINT0("WRITE %zx @%zx -> %zx\n",size,offset,offset+size);
const size_t written = fwrite(data,1,size,F->f);
if ( written != size )
return ERROR1(ERR_WRITE_FAILED,"Writing %zu bytes at offset %zu failed: %s\n",
diff --git a/project/dclib/dclib-numeric.c b/project/dclib/dclib-numeric.c
index 8cbff8d..7c23129 100644
--- a/project/dclib/dclib-numeric.c
+++ b/project/dclib/dclib-numeric.c
@@ -1245,11 +1245,18 @@ uint GetEscapeLen
)
{
const CharMode_t utf8 = char_mode & CHMD_UTF8;
+ const CharMode_t for_bash = char_mode & CHMD_BASH;
+ const bool for_sh = char_mode & CHMD_SH && !for_bash;
const int esc_size = char_mode & CHMD_ESC ? 1 : 3;
const int pipe_size = char_mode & CHMD_PIPE ? 1 : 0;
if ( !source || !*source )
return 0;
+
+ // force no-quotes for shell modes
+ if ( for_bash || for_sh )
+ quote = 0;
+
ccp str = source;
ccp end = src_len < 0 ? 0 : str + src_len;
@@ -1262,7 +1269,7 @@ uint GetEscapeLen
case 0:
if (!end)
return size;
- size += 3;
+ size += for_sh ? -1 : 3;
break;
case '\\':
@@ -1273,17 +1280,26 @@ uint GetEscapeLen
case '\r':
case '\t':
case '\v':
- size++;
+ if (!for_sh)
+ size++;
break;
case '\033':
- size += esc_size;
+ if (!for_sh)
+ size += esc_size;
break;
case '|':
size += pipe_size;
break;
+ case '\'':
+ if (for_bash)
+ size += 1;
+ else if (for_sh)
+ size += 4;
+ break;
+
default:
if ( ch == quote )
size++;
@@ -1317,9 +1333,15 @@ char * PrintEscapedString
DASSERT(buf_size>=10);
const CharMode_t utf8 = char_mode & CHMD_UTF8;
+ const CharMode_t for_bash = char_mode & CHMD_BASH;
+ const bool for_sh = char_mode & CHMD_SH && !for_bash;
const CharMode_t allow_e = char_mode & CHMD_ESC;
const CharMode_t esc_pipe = char_mode & CHMD_PIPE;
+ // force no-quotes for shell modes
+ if ( for_bash || for_sh )
+ quote = 0;
+
char *dest = buf;
char *dest_end = dest + buf_size - 4;
@@ -1339,30 +1361,38 @@ char * PrintEscapedString
str--;
goto eos;
}
- *dest++ = '\\';
- *dest++ = 'x';
- *dest++ = '0';
- *dest++ = '0';
+ if (!for_sh)
+ {
+ *dest++ = '\\';
+ *dest++ = 'x';
+ *dest++ = '0';
+ *dest++ = '0';
+ }
break;
- case '\\': *dest++ = '\\'; *dest++ = '\\'; break;
- case '\a': *dest++ = '\\'; *dest++ = 'a'; break;
- case '\b': *dest++ = '\\'; *dest++ = 'b'; break;
- case '\f': *dest++ = '\\'; *dest++ = 'f'; break;
- case '\n': *dest++ = '\\'; *dest++ = 'n'; break;
- case '\r': *dest++ = '\\'; *dest++ = 'r'; break;
- case '\t': *dest++ = '\\'; *dest++ = 't'; break;
- case '\v': *dest++ = '\\'; *dest++ = 'v'; break;
+ case '\\': if (!for_sh) *dest++ = '\\'; *dest++ = '\\'; break;
+ case '\a': if (!for_sh) *dest++ = '\\'; *dest++ = 'a'; break;
+ case '\b': if (!for_sh) *dest++ = '\\'; *dest++ = 'b'; break;
+ case '\f': if (!for_sh) *dest++ = '\\'; *dest++ = 'f'; break;
+ case '\n': if (!for_sh) *dest++ = '\\'; *dest++ = 'n'; break;
+ case '\r': if (!for_sh) *dest++ = '\\'; *dest++ = 'r'; break;
+ case '\t': if (!for_sh) *dest++ = '\\'; *dest++ = 't'; break;
+ case '\v': if (!for_sh) *dest++ = '\\'; *dest++ = 'v'; break;
case '\033':
- *dest++ = '\\';
- if (allow_e)
- *dest++ = 'e';
+ if (for_sh)
+ *dest++ = '\033';
else
{
- *dest++ = 'x';
- *dest++ = '1';
- *dest++ = 'B';
+ *dest++ = '\\';
+ if (allow_e)
+ *dest++ = 'e';
+ else
+ {
+ *dest++ = 'x';
+ *dest++ = '1';
+ *dest++ = 'B';
+ }
}
break;
@@ -1376,6 +1406,24 @@ char * PrintEscapedString
*dest++ = '|';
break;
+ case '\'':
+ if (for_bash)
+ {
+ *dest++ = '\\';
+ *dest++ = '\'';
+ }
+ else if (for_sh)
+ {
+ *dest++ = '\'';
+ *dest++ = '\"';
+ *dest++ = '\'';
+ *dest++ = '\"';
+ *dest++ = '\'';
+ }
+ else
+ *dest++ = '\'';
+ break;
+
default:
if ( ch == quote )
{
@@ -9875,6 +9923,51 @@ char * PrintIP4ByMode
//
///////////////////////////////////////////////////////////////////////////////
+/////////////// progress helper ///////////////
+///////////////////////////////////////////////////////////////////////////////
+
+void StartProgress ( progress_t *pr, u_msec_t interval_msec )
+{
+ DASSERT(PR);
+ ResetProgress(pr);
+ pr->interval_msec = interval_msec;
+ pr->start_msec = GetTimerMSec();
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+bool CheckProgress ( progress_t *pr )
+{
+ DASSERT(PR);
+ if ( pr->interval_msec > 0 && pr->counter != pr->last_counter )
+ {
+ const u_msec_t now = GetTimerMSec();
+ if ( now >= pr->last_log_msec + pr->interval_msec )
+ {
+ pr->last_log_msec = now;
+ pr->last_counter = pr->counter;
+ return true;
+ }
+ }
+ return false;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+bool FinalProgress ( progress_t *pr )
+{
+ DASSERT(PR);
+ if ( pr->interval_msec > 0 && pr->counter != pr->last_counter )
+ {
+ pr->last_log_msec = GetTimerMSec();
+ pr->last_counter = pr->counter;
+ return true;
+ }
+ return false;
+}
+
+//
+///////////////////////////////////////////////////////////////////////////////
/////////////// CRC16 ///////////////
///////////////////////////////////////////////////////////////////////////////
diff --git a/project/dclib/dclib-numeric.h b/project/dclib/dclib-numeric.h
index 1ad805c..c2ddf3b 100644
--- a/project/dclib/dclib-numeric.h
+++ b/project/dclib/dclib-numeric.h
@@ -261,6 +261,40 @@ bool IsSameD3 ( const double *a, const double *b, int bit_diff );
//
///////////////////////////////////////////////////////////////////////////////
+/////////////// progress helper ///////////////
+///////////////////////////////////////////////////////////////////////////////
+// [[progress_t]]
+
+// [[doxygen]]
+typedef struct progress_t
+{
+ // all times are set by GetTimerMSec()
+
+ u_msec_t interval_msec; // 0=off, >0: minimum distance between 2 logs
+ u_msec_t start_msec; // start time of progress
+ u_msec_t last_log_msec; // time of last log
+ uint counter; // current counter
+ uint last_counter; // count at last log
+}
+progress_t;
+
+//-----------------------------------------------------------------------------
+
+void StartProgress ( progress_t *pr, u_msec_t interval_msec );
+bool CheckProgress ( progress_t *pr );
+bool FinalProgress ( progress_t *pr );
+
+static inline void ResetProgress ( progress_t *pr )
+ { DASSERT(pr); memset(pr,0,sizeof(*pr)); }
+
+static inline uint IncrementProgress ( progress_t *pr )
+ { DASSERT(pr); return ++pr->counter; }
+
+static inline uint AddProgress ( progress_t *pr, uint add )
+ { DASSERT(pr); return pr->counter += add; }
+
+//
+///////////////////////////////////////////////////////////////////////////////
/////////////// 2D vector functions ///////////////
///////////////////////////////////////////////////////////////////////////////
diff --git a/project/dclib/dclib-types.h b/project/dclib/dclib-types.h
index 2dc2855..e14682d 100644
--- a/project/dclib/dclib-types.h
+++ b/project/dclib/dclib-types.h
@@ -477,6 +477,76 @@ typedef int (*qsort_r_func)( const void *, const void *, void * );
//
///////////////////////////////////////////////////////////////////////////////
+/////////////// time & timer ///////////////
+///////////////////////////////////////////////////////////////////////////////
+
+
+//--- conversion factors
+
+#define SEC_PER_MIN 60
+#define SEC_PER_HOUR 3600
+#define SEC_PER_DAY 86400
+#define SEC_PER_WEEK 604800
+#define SEC_PER_MONTH 2629746 // 365.2425 * SEC_PER_DAY / 12
+#define SEC_PER_QUARTER 7889238 // 365.2425 * SEC_PER_DAY / 4
+#define SEC_PER_YEAR 31556952 // 365.2425 * SEC_PER_DAY
+
+#define MSEC_PER_SEC 1000ll
+#define MSEC_PER_MIN (MSEC_PER_SEC*SEC_PER_MIN)
+#define MSEC_PER_HOUR (MSEC_PER_SEC*SEC_PER_HOUR)
+#define MSEC_PER_DAY (MSEC_PER_SEC*SEC_PER_DAY)
+#define MSEC_PER_WEEK (MSEC_PER_SEC*SEC_PER_WEEK)
+#define MSEC_PER_MONTH (MSEC_PER_SEC*SEC_PER_MONTH)
+#define MSEC_PER_QUARTER (MSEC_PER_SEC*SEC_PER_QUARTER)
+#define MSEC_PER_YEAR (MSEC_PER_SEC*SEC_PER_YEAR)
+
+#define USEC_PER_MSEC 1000ll
+#define USEC_PER_SEC 1000000ll
+#define USEC_PER_MIN (USEC_PER_SEC*SEC_PER_MIN)
+#define USEC_PER_HOUR (USEC_PER_SEC*SEC_PER_HOUR)
+#define USEC_PER_DAY (USEC_PER_SEC*SEC_PER_DAY)
+#define USEC_PER_WEEK (USEC_PER_SEC*SEC_PER_WEEK)
+#define USEC_PER_MONTH (USEC_PER_SEC*SEC_PER_MONTH)
+#define USEC_PER_QUARTER (USEC_PER_SEC*SEC_PER_QUARTER)
+#define USEC_PER_YEAR (USEC_PER_SEC*SEC_PER_YEAR)
+
+#define NSEC_PER_USEC 1000ll
+#define NSEC_PER_MSEC 1000000ll
+#define NSEC_PER_SEC 1000000000ll
+#define NSEC_PER_MIN (NSEC_PER_SEC*SEC_PER_MIN)
+#define NSEC_PER_HOUR (NSEC_PER_SEC*SEC_PER_HOUR)
+#define NSEC_PER_DAY (NSEC_PER_SEC*SEC_PER_DAY)
+#define NSEC_PER_WEEK (NSEC_PER_SEC*SEC_PER_WEEK)
+#define NSEC_PER_MONTH (NSEC_PER_SEC*SEC_PER_MONTH)
+#define NSEC_PER_QUARTER (NSEC_PER_SEC*SEC_PER_QUARTER)
+#define NSEC_PER_YEAR (NSEC_PER_SEC*SEC_PER_YEAR)
+
+
+//--- time types
+
+typedef uint u_sec_t; // unsigned type to store time as seconds
+typedef int s_sec_t; // signed type to store time as seconds
+typedef u64 u_msec_t; // unsigned type to store time as milliseconds
+typedef s64 s_msec_t; // signed type to store time as milliseconds
+typedef u64 u_usec_t; // unsigned type to store time as microseconds
+typedef s64 s_usec_t; // signed type to store time as microseconds
+typedef u64 u_nsec_t; // unsigned type to store time as nanoseconds
+typedef s64 s_nsec_t; // signed type to store time as nanoseconds
+
+
+//--- max values time types
+
+#define S_SEC_MAX S32_MAX
+#define U_SEC_MAX U32_MAX
+#define S_MSEC_MAX S64_MAX
+#define U_MSEC_MAX U64_MAX
+#define S_USEC_MAX S64_MAX
+#define U_USEC_MAX U64_MAX
+#define S_NSEC_MAX S64_MAX
+#define U_NSEC_MAX U64_MAX
+
+//
+///////////////////////////////////////////////////////////////////////////////
/////////////// sockaddr + IPv* support ///////////////
///////////////////////////////////////////////////////////////////////////////
// [[sockaddr_t]] [[sockaddr_in_t]]
diff --git a/project/dclib/dclib-ui.c b/project/dclib/dclib-ui.c
index 25f5702..3933822 100644
--- a/project/dclib/dclib-ui.c
+++ b/project/dclib/dclib-ui.c
@@ -436,6 +436,50 @@ void DumpText
}
break;
+ case '\xc2':
+ if (is_makedoc)
+ {
+ #if 1
+ uint code = 0;
+ switch (text[1])
+ {
+ case '\xab': // «
+ case '\xbb': // »
+ code = text[1];
+ break;
+ }
+
+ if (code)
+ {
+ *dest++ = code;
+ text += 2;
+ break;
+ }
+ #else
+ ccp str = 0;
+ switch (text[1])
+ {
+ case '\xab': // «
+ str = "&raquo;";
+ break;
+
+ case '\xbb': // »
+ str = "&laquo;";
+ break;
+ }
+
+ if (str)
+ {
+ strcpy(dest,str);
+ dest += strlen(str);
+ text += 2;
+ break;
+ }
+ #endif
+ }
+ *dest++ = *text++;
+ break;
+
case '@':
case '$':
if (!is_makedoc)
diff --git a/project/dclib/lib-bmg.c b/project/dclib/lib-bmg.c
index d3a98ed..aaeb8b8 100644
--- a/project/dclib/lib-bmg.c
+++ b/project/dclib/lib-bmg.c
@@ -4358,10 +4358,10 @@ enumError SaveTextFileBMG
{ MID_LE_ALT_ARENA_BEG, "LE-CODE: alternative arena names for random slots" },
{ MID_LE_ALT_ARENA_END, 0 },
- { MID_LE_CUP_BEG, "LE-CODE: cup names" },
- { MID_LE_CUP_END, 0 },
{ MID_LE_TRACK_BEG, "LE-CODE: track names" },
{ MID_LE_TRACK_END, 0 },
+ { MID_LE_CUP_BEG, "LE-CODE: cup names" },
+ { MID_LE_CUP_END, 0 },
{ MID_LE_CUP_REF_BEG, "LE-CODE: track-to-cup reference" },
{ MID_LE_CUP_REF_END, 0 },
@@ -6084,6 +6084,7 @@ bool PatchFillBMG
bmg_item_t * dptr = InsertItemBMG(bmg,mid,0,0,&old_item);
if ( !old_item || !dptr->len )
{
+// [[%04x-]] no access to lecode_04x
const uint len
= snprintf(buf,sizeof(buf),"_T%03X_",mid-ctb.track_name1.beg);
AssignItemTextBMG(dptr,buf,len);
diff --git a/project/dclib/lib-bmg.h b/project/dclib/lib-bmg.h
index 81ac813..7614558 100644
--- a/project/dclib/lib-bmg.h
+++ b/project/dclib/lib-bmg.h
@@ -142,40 +142,40 @@ enum
//-- LE-CODE
- BMG_N_LE_RCUP = 0x400,
+ BMG_N_LE_RCUP = 0x800,
BMG_N_LE_BCUP = 2,
- BMG_N_LE_TRACK = 0x1000,
+ BMG_N_LE_TRACK = 0x2000,
BMG_N_LE_ARENA = BMG_N_ARENA,
BMG_LE_FIRST_CTRACK = 0x44,
MID_LE_ALT_ARENA_BEG = 0x6400, // alternate BMG of MID_LE_TRACK_BEG for arenas
MID_LE_ALT_ARENA_END = 0x6480,
- MID_LE_CUP_BEG = 0x6800,
+ MID_LE_TRACK_BEG = 0x7000,
+ MID_LE_TRACK_END = MID_LE_TRACK_BEG + BMG_N_LE_TRACK,
+ MID_LE_ARENA_BEG = MID_LE_TRACK_BEG + BMG_N_TRACK,
+ MID_LE_ARENA_END = MID_LE_ARENA_BEG + BMG_N_LE_ARENA,
+
+ MID_LE_CUP_BEG = 0xc000,
MID_LE_RCUP_BEG = MID_LE_CUP_BEG,
MID_LE_RCUP_END = MID_LE_RCUP_BEG + BMG_N_LE_RCUP,
MID_LE_BCUP_BEG = MID_LE_RCUP_END,
MID_LE_BCUP_END = MID_LE_BCUP_BEG + BMG_N_LE_BCUP,
MID_LE_CUP_END = MID_LE_BCUP_END,
- MID_LE_TRACK_BEG = 0x7000,
- MID_LE_TRACK_END = MID_LE_TRACK_BEG + BMG_N_LE_TRACK,
- MID_LE_ARENA_BEG = MID_LE_TRACK_BEG + BMG_N_TRACK,
- MID_LE_ARENA_END = MID_LE_ARENA_BEG + BMG_N_LE_ARENA,
-
- MID_LE_CUP_REF_BEG = 0x8000,
+ MID_LE_CUP_REF_BEG = 0xd000,
MID_LE_CUP_REF_END = MID_LE_CUP_REF_BEG + BMG_N_LE_TRACK,
- MID_LE_BEG = MID_LE_CUP_BEG,
+ MID_LE_BEG = MID_LE_TRACK_BEG,
MID_LE_END = MID_LE_CUP_REF_END,
//-- max(CT,LE)
- BMG_MAX_RCUP = 0x3fe,
- BMG_MAX_BCUP = 2,
- BMG_MAX_TRACK = 0x1000,
- BMG_MAX_ARENA = BMG_N_ARENA,
+ BMG_MAX_RCUP = BMG_N_LE_RCUP,
+ BMG_MAX_BCUP = BMG_N_LE_BCUP,
+ BMG_MAX_TRACK = BMG_N_LE_TRACK,
+ BMG_MAX_ARENA = BMG_N_LE_ARENA,
//-- tracks
diff --git a/project/dclib/lib-dol.h b/project/dclib/lib-dol.h
index fb196ee..60cf2bf 100644
--- a/project/dclib/lib-dol.h
+++ b/project/dclib/lib-dol.h
@@ -392,6 +392,10 @@ uint RemoveDolSections
#define GCT_SEP_NUM1 0xf0000001u
#define GCT_REG_OFFSET 8
+#define GCTTXT_MAGIC "#GCT"
+#define GCTTXT_MAGIC_NUM 0x23474354u
+
+
///////////////////////////////////////////////////////////////////////////////
// [[gch_header_t]]
diff --git a/project/dclib/lib-mkw-def.c b/project/dclib/lib-mkw-def.c
index 96cde69..94414fc 100644
--- a/project/dclib/lib-mkw-def.c
+++ b/project/dclib/lib-mkw-def.c
@@ -48,7 +48,7 @@ MkwTrackCategory_t * GetMkwTrackCategory ( int id )
static MkwTrackCategory_t id_MTCAT_TEXTURE =
{
"Accepted texture hack",
- "texture,texture2do",
+ "texture,texture2do,edit.allow",
0x000000,
0x20ffa0,
0,
diff --git a/project/dclib/lib-mkw.h b/project/dclib/lib-mkw.h
index 470d942..cda34ee 100644
--- a/project/dclib/lib-mkw.h
+++ b/project/dclib/lib-mkw.h
@@ -112,7 +112,7 @@ enum mkw_consts_t // some constants
//--- LE-CODE extended slots
MKW_LE_SLOT_BEG = 0x44,
- MKW_LE_SLOT_END = 0x1000,
+ MKW_LE_SLOT_END = 0x2000,
MKW_N_LE_SLOT = MKW_LE_SLOT_END - MKW_LE_SLOT_BEG,
diff --git a/project/revision.sh b/project/revision.sh
index cae8a1a..e51d6c0 100644
--- a/project/revision.sh
+++ b/project/revision.sh
@@ -1 +1 @@
-revision=8923
+revision=8953
diff --git a/project/src/file-type.c b/project/src/file-type.c
index e6d2d9d..f3d3171 100644
--- a/project/src/file-type.c
+++ b/project/src/file-type.c
@@ -34,7 +34,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_YAZ0, 0, 0, "YAZ0",
".szs", ".szs", ".szs",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
4, {0x59,0x61,0x7a,0x30}, // "Yaz0"
0,
"0",
@@ -46,7 +46,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_YAZ1, 0, 0, "YAZ1",
".szs", ".szs", ".szs",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
4, {0x59,0x61,0x7a,0x31}, // "Yaz1"
0,
"1",
@@ -58,7 +58,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_XYZ, 0, 0, "XYZ",
".xyz", ".szs", ".xyz",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
0, {0}, // no magic
0,
MinusString,
@@ -70,7 +70,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_BZ, 0, 0, "BZ",
".bz", ".szs", ".bz",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
4, {0x57,0x42,0x5a,0x61}, // "WBZa"
0,
MinusString,
@@ -82,7 +82,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_BZIP2, 0, 0, "BZIP2",
".bz2", ".szs", ".bz2",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
0, {0}, // no magic
0,
MinusString,
@@ -94,7 +94,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_LZ, 0, 0, "LZ",
".lz", ".szs", ".lz",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
4, {0x57,0x4c,0x5a,0x61}, // "WLZa"
0,
MinusString,
@@ -106,7 +106,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_LZMA, 0, 0, "LZMA",
".lzma", ".szs", ".lzma",
- FFT_VALID | FFT_COMPRESS,
+ FFT_VALID | FFT_COMPRESS | FFT_TRACK,
0, {0}, // no magic
0,
MinusString,
@@ -130,7 +130,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_U8, 0, 0, "U8",
".u8", ".szs", ".u8",
- FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT | FFT_CUT | FFT_LINK,
+ FFT_VALID | FFT_ARCHIVE | FFT_TRACK | FFT_CREATE | FFT_EXTRACT | FFT_CUT | FFT_LINK,
4, {0x55,0xaa,0x38,0x2d}, // "Uª8-"
0,
MinusString,
@@ -142,7 +142,7 @@ const file_type_t FileTypeTab[FF_N+1] =
{
FF_WU8, 0, 0, "WU8",
".wu8", ".wu8", ".wu8",
- FFT_VALID | FFT_ARCHIVE | FFT_CREATE | FFT_EXTRACT | FFT_CUT | FFT_LINK,
+ FFT_VALID | FFT_ARCHIVE | FFT_TRACK | FFT_CREATE | FFT_EXTRACT | FFT_CUT | FFT_LINK,
4, {0x57,0x55,0x38,0x61}, // "WU8a"
0,
MinusString,
@@ -222,7 +222,19 @@ const file_type_t FileTypeTab[FF_N+1] =
"Simple archive format"
},
- // FF_LTA = 17
+ // FF_USE_LTA = 17
+ {
+ FF_USE_LTA, 0, 0, "USE-LTA",
+ ".szs", ".szs", ".szs",
+ FFT_VALID,
+ 8, {0x23,0x55,0x53,0x45,0x2d,0x4c,0x54,0x41}, // "#USE-LTA"
+ 0,
+ MinusString,
+ MinusString,
+ "LE-CODE redirect to LTA"
+ },
+
+ // FF_LTA = 18
{
FF_LTA, 0, 0, "LTA",
".lta", "", ".lta",
@@ -234,7 +246,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"LE-CODE Track Archive"
},
- // FF_LFL = 18
+ // FF_LFL = 19
{
FF_LFL, 0, 0, "LFL",
".lfl", ".szs", ".lfl",
@@ -246,7 +258,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"LE-CODE File List"
},
- // FF_CHR = 19
+ // FF_CHR = 20
{
FF_CHR, 0, 0, "CHR",
".chr", ".szs", ".chr0",
@@ -258,7 +270,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Model movement animations"
},
- // FF_CLR = 20
+ // FF_CLR = 21
{
FF_CLR, 0, 0, "CLR",
".clr", ".szs", ".clr0",
@@ -270,7 +282,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Colour changing animations"
},
- // FF_MDL = 21
+ // FF_MDL = 22
{
FF_MDL, FF_MDL, FF_MDL_TXT, "MDL",
".mdl", ".szs", ".mdl0",
@@ -282,7 +294,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Model files"
},
- // FF_PAT = 22
+ // FF_PAT = 23
{
FF_PAT, FF_PAT, FF_PAT_TXT, "PAT",
".pat", ".szs", ".pat0",
@@ -294,7 +306,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Texture swapping animations"
},
- // FF_SCN = 23
+ // FF_SCN = 24
{
FF_SCN, 0, 0, "SCN",
".scn", ".szs", ".scn0",
@@ -306,7 +318,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Polygon morphing animations"
},
- // FF_SHP = 24
+ // FF_SHP = 25
{
FF_SHP, 0, 0, "SHP",
".shp", ".szs", ".shp0",
@@ -318,7 +330,7 @@ const file_type_t FileTypeTab[FF_N+1] =
filetype_info_unknown
},
- // FF_SRT = 25
+ // FF_SRT = 26
{
FF_SRT, 0, 0, "SRT",
".srt", ".szs", ".srt0",
@@ -330,7 +342,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Texture movement animations"
},
- // FF_TEX = 26
+ // FF_TEX = 27
{
FF_TEX, 0, 0, "TEX",
".tex", ".szs", ".tex0",
@@ -342,7 +354,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Texture file"
},
- // FF_TEX_CT = 27
+ // FF_TEX_CT = 28
{
FF_TEX_CT, 0, 0, "TEX+CT",
".tex", ".szs", ".tex0",
@@ -354,7 +366,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Texture file with CTGP-CODE"
},
- // FF_CTDEF = 28
+ // FF_CTDEF = 29
{
FF_CTDEF, 0, 0, "CT-DEF",
".txt", ".szs", ".txt",
@@ -366,7 +378,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-CODE definition file"
},
- // FF_CT0_CODE = 29
+ // FF_CT0_CODE = 30
{
FF_CT0_CODE, 0, 0, "C0CODE",
".bin", ".szs", ".bin",
@@ -378,7 +390,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-CODE for main.dol section T2"
},
- // FF_CT0_DATA = 30
+ // FF_CT0_DATA = 31
{
FF_CT0_DATA, 0, 0, "C0DATA",
".bin", ".szs", ".bin",
@@ -390,7 +402,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA for main.dol section D8"
},
- // FF_CT1_CODE = 31
+ // FF_CT1_CODE = 32
{
FF_CT1_CODE, 0, 0, "C1CODE",
".bin", ".szs", ".bin",
@@ -402,7 +414,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-CODE for strap TEX0 file"
},
- // FF_CT1_DATA = 32
+ // FF_CT1_DATA = 33
{
FF_CT1_DATA, 0, 0, "C1DATA",
".ctcode", ".szs", ".ctcode",
@@ -414,7 +426,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA for strap TEX0 file"
},
- // FF_CUP1 = 33
+ // FF_CUP1 = 34
{
FF_CUP1, 0, 0, "CUP1",
".bin", ".szs", ".bin",
@@ -426,7 +438,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA section: Cups"
},
- // FF_CRS1 = 34
+ // FF_CRS1 = 35
{
FF_CRS1, 0, 0, "CRS1",
".bin", ".szs", ".bin",
@@ -438,7 +450,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA section: Tracks"
},
- // FF_MOD1 = 35
+ // FF_MOD1 = 36
{
FF_MOD1, 0, 0, "MOD1",
".bin", ".szs", ".bin",
@@ -450,7 +462,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA section: main.dol patches"
},
- // FF_MOD2 = 36
+ // FF_MOD2 = 37
{
FF_MOD2, 0, 0, "MOD2",
".bin", ".szs", ".bin",
@@ -462,7 +474,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA section: StaticR.rel patches"
},
- // FF_OVR1 = 37
+ // FF_OVR1 = 38
{
FF_OVR1, 0, 0, "OVR1",
".bin", ".szs", ".bin",
@@ -474,7 +486,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"CT-DATA section: Speedometer"
},
- // FF_LE_BIN = 38
+ // FF_LE_BIN = 39
{
FF_LE_BIN, 0, 0, "LE-BIN",
".bin", ".szs", ".bin",
@@ -486,7 +498,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"LE-CODE binary"
},
- // FF_LEX = 39
+ // FF_LEX = 40
{
FF_LEX, FF_LEX, FF_LEX_TXT, "LEX",
".lex", ".szs", ".lex",
@@ -498,7 +510,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"LECODE extension file"
},
- // FF_LEX_TXT = 40
+ // FF_LEX_TXT = 41
{
FF_LEX_TXT, FF_LEX, FF_LEX_TXT, "LEX-TXT",
".txt", ".szs", ".txt",
@@ -510,7 +522,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text version of LEX"
},
- // FF_LPAR = 41
+ // FF_LPAR = 42
{
FF_LPAR, 0, 0, "LPAR",
".txt", ".szs", ".txt",
@@ -522,7 +534,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file with LE-CODE parameters"
},
- // FF_LEDEF = 42
+ // FF_LEDEF = 43
{
FF_LEDEF, 0, 0, "LE-DEF",
".txt", ".szs", ".txt",
@@ -534,7 +546,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"LE-CODE definition file"
},
- // FF_LEDIS = 43
+ // FF_LEDIS = 44
{
FF_LEDIS, 0, 0, "LE-DIS",
".txt", ".szs", ".txt",
@@ -546,7 +558,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file with CT+LE-CODE distribution settings"
},
- // FF_LEREF = 44
+ // FF_LEREF = 45
{
FF_LEREF, 0, 0, "LE-REF",
".txt", ".szs", ".txt",
@@ -558,7 +570,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file as track reference"
},
- // FF_LESTR = 45
+ // FF_LESTR = 46
{
FF_LESTR, 0, 0, "LE-STR",
".txt", ".szs", ".txt",
@@ -570,7 +582,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file strings for tracks"
},
- // FF_SHA1REF = 46
+ // FF_SHA1REF = 47
{
FF_SHA1REF, 0, 0, "SHA1REF",
".txt", ".szs", ".txt",
@@ -582,7 +594,19 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file with SHA1 of tracks"
},
- // FF_PREFIX = 47
+ // FF_SHA1ID = 48
+ {
+ FF_SHA1ID, 0, 0, "SHA1ID",
+ ".txt", ".szs", ".txt",
+ FFT_VALID | FFT_TEXT | FFT_ENCODE,
+ 8, {0x23,0x53,0x48,0x41,0x31,0x49,0x44,0x31}, // "#SHA1ID1"
+ 0,
+ MinusString,
+ MinusString,
+ "Text file with SHA1 and file_id of tracks"
+ },
+
+ // FF_PREFIX = 49
{
FF_PREFIX, 0, 0, "PREFIX",
".txt", ".szs", ".txt",
@@ -594,7 +618,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file with console/game prefixes and info"
},
- // FF_MTCAT = 48
+ // FF_MTCAT = 50
{
FF_MTCAT, 0, 0, "MTCAT",
".txt", ".szs", ".txt",
@@ -606,7 +630,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text file with MKW Track Categories"
},
- // FF_CT_SHA1 = 49
+ // FF_CT_SHA1 = 51
{
FF_CT_SHA1, 0, 0, "CT-SHA1",
".txt", ".szs", ".txt",
@@ -618,7 +642,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_MDL_TXT = 50
+ // FF_MDL_TXT = 52
{
FF_MDL_TXT, FF_MDL, FF_MDL_TXT, "MDLTXT",
".txt", ".szs", ".txt",
@@ -630,7 +654,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text version of MDL"
},
- // FF_PAT_TXT = 51
+ // FF_PAT_TXT = 53
{
FF_PAT_TXT, FF_PAT, FF_PAT_TXT, "PATTXT",
".txt", ".szs", ".txt",
@@ -642,7 +666,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text version of PAT"
},
- // FF_TPL = 52
+ // FF_TPL = 54
{
FF_TPL, 0, 0, "TPL",
".tpl", ".szs", ".tpl",
@@ -654,7 +678,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Image container"
},
- // FF_BTI = 53
+ // FF_BTI = 55
{
FF_BTI, 0, 0, "BTI",
".bti", ".szs", ".bti",
@@ -666,7 +690,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Image container"
},
- // FF_BREFT_IMG = 54
+ // FF_BREFT_IMG = 56
{
FF_BREFT_IMG, 0, 0, "BT-IMG",
".bt-img", ".szs", ".bt-img",
@@ -678,7 +702,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Raw image of BREFT file"
},
- // FF_BMG = 55
+ // FF_BMG = 57
{
FF_BMG, FF_BMG, FF_BMG_TXT, "BMG",
".bmg", ".szs", ".bmg",
@@ -690,7 +714,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Message file"
},
- // FF_BMG_TXT = 56
+ // FF_BMG_TXT = 58
{
FF_BMG_TXT, FF_BMG, FF_BMG_TXT, "BMGTXT",
".txt", ".szs", ".txt",
@@ -702,7 +726,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text version of BMG"
},
- // FF_KCL = 57
+ // FF_KCL = 59
{
FF_KCL, FF_KCL, FF_KCL_TXT, "KCL",
".kcl", ".szs", ".kcl",
@@ -714,7 +738,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Collision file"
},
- // FF_KCL_TXT = 58
+ // FF_KCL_TXT = 60
{
FF_KCL_TXT, FF_KCL, FF_KCL_TXT, "KCLTXT",
".obj", ".szs", ".obj",
@@ -726,7 +750,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Wavefront OBJ by WSZST"
},
- // FF_WAV_OBJ = 59
+ // FF_WAV_OBJ = 61
{
FF_WAV_OBJ, FF_KCL, FF_WAV_OBJ, "WAVOBJ",
".obj", ".szs", ".obj",
@@ -738,7 +762,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Wavefront OBJ"
},
- // FF_SKP_OBJ = 60
+ // FF_SKP_OBJ = 62
{
FF_SKP_OBJ, FF_KCL, FF_SKP_OBJ, "SKPOBJ",
".obj", ".szs", ".obj",
@@ -750,7 +774,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Wavefront OBJ by Sketchup"
},
- // FF_KMP = 61
+ // FF_KMP = 63
{
FF_KMP, FF_KMP, FF_KMP_TXT, "KMP",
".kmp", ".szs", ".kmp",
@@ -762,7 +786,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Track information file"
},
- // FF_KMP_TXT = 62
+ // FF_KMP_TXT = 64
{
FF_KMP_TXT, FF_KMP, FF_KMP_TXT, "KMPTXT",
".txt", ".szs", ".txt",
@@ -774,7 +798,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Text version of KMP"
},
- // FF_ITEMSLT = 63
+ // FF_ITEMSLT = 65
{
FF_ITEMSLT, FF_ITEMSLT, FF_ITEMSLT_TXT, "ITEMSLT",
".bin", ".szs", ".slt",
@@ -786,7 +810,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_ITEMSLT_TXT = 64
+ // FF_ITEMSLT_TXT = 66
{
FF_ITEMSLT_TXT, FF_ITEMSLT, FF_ITEMSLT_TXT, "ITEMSLTTXT",
".txt", ".szs", ".txt",
@@ -798,7 +822,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KMG = 65
+ // FF_KMG = 67
{
FF_KMG, FF_KMG, FF_KMG_TXT, "KMG",
".kmg", ".szs", ".kmg",
@@ -810,7 +834,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KMG_TXT = 66
+ // FF_KMG_TXT = 68
{
FF_KMG_TXT, FF_KMG, FF_KMG_TXT, "KMGTXT",
".txt", ".szs", ".txt",
@@ -822,7 +846,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KRM = 67
+ // FF_KRM = 69
{
FF_KRM, FF_KRM, FF_KRM_TXT, "KRM",
".krm", ".szs", ".krm",
@@ -834,7 +858,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KRM_TXT = 68
+ // FF_KRM_TXT = 70
{
FF_KRM_TXT, FF_KRM, FF_KRM_TXT, "KRMTXT",
".txt", ".szs", ".txt",
@@ -846,7 +870,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KRT = 69
+ // FF_KRT = 71
{
FF_KRT, FF_KRT, FF_KRT_TXT, "KRT",
".krt", ".szs", ".krt",
@@ -858,7 +882,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_KRT_TXT = 70
+ // FF_KRT_TXT = 72
{
FF_KRT_TXT, FF_KRT, FF_KRT_TXT, "KRTTXT",
".txt", ".szs", ".txt",
@@ -870,7 +894,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_OBJFLOW = 71
+ // FF_OBJFLOW = 73
{
FF_OBJFLOW, FF_OBJFLOW, FF_OBJFLOW_TXT, "OBFLOW",
".bin", ".szs", ".bin",
@@ -882,7 +906,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_OBJFLOW_TXT = 72
+ // FF_OBJFLOW_TXT = 74
{
FF_OBJFLOW_TXT, FF_OBJFLOW, FF_OBJFLOW_TXT, "OF-TXT",
".txt", ".szs", ".txt",
@@ -894,7 +918,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_ITEM = 73
+ // FF_GH_ITEM = 75
{
FF_GH_ITEM, FF_GH_ITEM, FF_GH_ITEM_TXT, "GHITEM",
".bin", ".szs", ".bin",
@@ -906,7 +930,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_ITEM_TXT = 74
+ // FF_GH_ITEM_TXT = 76
{
FF_GH_ITEM_TXT, FF_GH_ITEM, FF_GH_ITEM_TXT, "GI-TXT",
".txt", ".szs", ".txt",
@@ -918,7 +942,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_IOBJ = 75
+ // FF_GH_IOBJ = 77
{
FF_GH_IOBJ, FF_GH_IOBJ, FF_GH_IOBJ_TXT, "GHIOBJ",
".bin", ".szs", ".bin",
@@ -930,7 +954,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_IOBJ_TXT = 76
+ // FF_GH_IOBJ_TXT = 78
{
FF_GH_IOBJ_TXT, FF_GH_IOBJ, FF_GH_IOBJ_TXT, "GIOTXT",
".txt", ".szs", ".txt",
@@ -942,7 +966,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_KART = 77
+ // FF_GH_KART = 79
{
FF_GH_KART, FF_GH_KART, FF_GH_KART_TXT, "GHKART",
".bin", ".szs", ".bin",
@@ -954,7 +978,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_KART_TXT = 78
+ // FF_GH_KART_TXT = 80
{
FF_GH_KART_TXT, FF_GH_KART, FF_GH_KART_TXT, "GK-TXT",
".txt", ".szs", ".txt",
@@ -966,7 +990,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_KOBJ = 79
+ // FF_GH_KOBJ = 81
{
FF_GH_KOBJ, FF_GH_KOBJ, FF_GH_KOBJ_TXT, "GHKOBJ",
".bin", ".szs", ".bin",
@@ -978,7 +1002,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_GH_KOBJ_TXT = 80
+ // FF_GH_KOBJ_TXT = 82
{
FF_GH_KOBJ_TXT, FF_GH_KOBJ, FF_GH_KOBJ_TXT, "GKOTXT",
".txt", ".szs", ".txt",
@@ -990,7 +1014,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_DRIVER = 81
+ // FF_DRIVER = 83
{
FF_DRIVER, 0, 0, "DRV",
".bin", ".szs", ".bin",
@@ -1002,7 +1026,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_VEHICLE = 82
+ // FF_VEHICLE = 84
{
FF_VEHICLE, 0, 0, "VEH",
".bin", ".szs", ".bin",
@@ -1014,7 +1038,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_BRASD = 83
+ // FF_BRASD = 85
{
FF_BRASD, 0, 0, "BRASD",
".brasd", ".szs", ".brasd",
@@ -1026,7 +1050,7 @@ const file_type_t FileTypeTab[FF_N+1] =
filetype_info_unknown
},
- // FF_RKG = 84
+ // FF_RKG = 86
{
FF_RKG, 0, 0, "RKG",
".rkg", ".szs", ".rkg",
@@ -1038,7 +1062,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_RKCO = 85
+ // FF_RKCO = 87
{
FF_RKCO, 0, 0, "RKCO",
".rkco", ".szs", ".rkco",
@@ -1050,7 +1074,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_STATICR = 86
+ // FF_STATICR = 88
{
FF_STATICR, 0, 0, "STATICR",
".rel", ".szs", ".rel",
@@ -1062,7 +1086,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"A 'StaticR.rel' file"
},
- // FF_DOL = 87
+ // FF_DOL = 89
{
FF_DOL, 0, 0, "DOL",
".dol", ".szs", ".dol",
@@ -1074,19 +1098,31 @@ const file_type_t FileTypeTab[FF_N+1] =
"An executable DOL file"
},
- // FF_GCT = 88
+ // FF_GCT = 90
{
FF_GCT, 0, 0, "GCT",
".gct", ".szs", ".gct",
FFT_VALID,
- 0, {0}, // no magic
+ 4, {0x00,0xd0,0xc0,0xde}, // "\000�ÀÞ"
+ 0,
+ MinusString,
+ MinusString,
+ "Gecko Cheat Code, binary"
+ },
+
+ // FF_GCT_TXT = 91
+ {
+ FF_GCT_TXT, 0, 0, "GCT-TXT",
+ ".gct", ".szs", ".gct",
+ FFT_VALID,
+ 4, {0x23,0x47,0x43,0x54}, // "#GCT"
0,
MinusString,
MinusString,
- "Gecko Cheat Code"
+ "Gecko Cheat Code, text"
},
- // FF_GCH = 89
+ // FF_GCH = 92
{
FF_GCH, 0, 0, "GCH",
".gch", ".szs", ".gch",
@@ -1098,7 +1134,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Gecko Cheat Handler + coded"
},
- // FF_WCH = 90
+ // FF_WCH = 93
{
FF_WCH, 0, 0, "WCH",
".wch", ".szs", ".wch",
@@ -1110,7 +1146,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Wiimms Cheat Handler + codes"
},
- // FF_WPF = 91
+ // FF_WPF = 94
{
FF_WPF, 0, 0, "WPF",
".wpf", ".szs", ".wpf",
@@ -1122,7 +1158,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Wiimms Patch File"
},
- // FF_XPF = 92
+ // FF_XPF = 95
{
FF_XPF, 0, 0, "XPF",
".xpf", ".szs", ".xpf",
@@ -1134,7 +1170,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"Extended Patch File"
},
- // FF_DISTRIB = 93
+ // FF_DISTRIB = 96
{
FF_DISTRIB, 0, 0, "DISTRIB",
".txt", ".szs", ".txt",
@@ -1146,7 +1182,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_PNG = 94
+ // FF_PNG = 97
{
FF_PNG, 0, 0, "PNG",
".png", ".png", ".png",
@@ -1158,7 +1194,7 @@ const file_type_t FileTypeTab[FF_N+1] =
"A public image format"
},
- // FF_PORTDB = 95
+ // FF_PORTDB = 98
{
FF_PORTDB, 0, 0, "PORTDB",
".bin", ".szs", ".bin",
@@ -1170,7 +1206,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_TXT = 96
+ // FF_TXT = 99
{
FF_TXT, 0, 0, "TXT",
".txt", ".szs", ".txt",
@@ -1182,7 +1218,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_SCRIPT = 97
+ // FF_SCRIPT = 100
{
FF_SCRIPT, 0, 0, "SCRIPT",
".script", ".szs", ".script",
@@ -1194,7 +1230,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_JSON = 98
+ // FF_JSON = 101
{
FF_JSON, 0, 0, "JSON",
".json", ".szs", ".json",
@@ -1206,7 +1242,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_SH = 99
+ // FF_SH = 102
{
FF_SH, 0, 0, "SH",
".sh", ".szs", ".sh",
@@ -1218,7 +1254,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_BASH = 100
+ // FF_BASH = 103
{
FF_BASH, 0, 0, "BASH",
".sh", ".szs", ".sh",
@@ -1230,7 +1266,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_PHP = 101
+ // FF_PHP = 104
{
FF_PHP, 0, 0, "PHP",
".php", ".szs", ".php",
@@ -1242,7 +1278,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_MAKEDOC = 102
+ // FF_MAKEDOC = 105
{
FF_MAKEDOC, 0, 0, "MAKEDOC",
".md", ".szs", ".md",
@@ -1254,7 +1290,7 @@ const file_type_t FileTypeTab[FF_N+1] =
EmptyString
},
- // FF_DIRECTORY = 103
+ // FF_DIRECTORY = 106
{
FF_DIRECTORY, 0, 0, "DIR",
".d", ".d", ".d",
@@ -1280,113 +1316,117 @@ const KeywordTab_t cmdtab_FileType[] =
{
// INFO: cmd->opt := ff_attrib_t
- { FF_YAZ0, "YAZ", "YAZ0", 0x3 },
- { FF_YAZ1, "YAZ1", 0, 0x3 },
- { FF_XYZ, "XYZ", 0, 0x3 },
- { FF_BZ, "BZ", 0, 0x3 },
- { FF_BZIP2, "BZ2", "BZIP2", 0x3 },
- { FF_LZ, "LZ", 0, 0x3 },
- { FF_LZMA, "LZMA", 0, 0x3 },
+ { FF_YAZ0, "YAZ", "YAZ0", 0x103 },
+ { FF_YAZ1, "YAZ1", 0, 0x103 },
+ { FF_XYZ, "XYZ", 0, 0x103 },
+ { FF_BZ, "BZ", 0, 0x103 },
+ { FF_BZIP2, "BZ2", "BZIP2", 0x103 },
+ { FF_LZ, "LZ", 0, 0x103 },
+ { FF_LZMA, "LZMA", 0, 0x103 },
{ FF_XZ, "XZ", 0, 0x3 },
- { FF_U8, "U8", 0, 0x8705 },
- { FF_WU8, "WU8", 0, 0x8705 },
- { FF_RARC, "ARC", "RARC", 0x605 },
- { FF_BRRES, "BRES", "BRRES", 0x705 },
- { FF_BREFF, "BREFF", "REFF", 0x305 },
- { FF_BREFT, "BREFT", "REFT", 0x705 },
- { FF_RKC, "RKC", 0, 0x705 },
- { FF_PACK, "PACK", 0, 0x705 },
- { FF_LTA, "", "LTA", 0x705 },
- { FF_LFL, "LFL", 0, 0x705 },
- { FF_CHR, "CHR", "CHR0", 0x461 },
- { FF_CLR, "CLR", "CLR0", 0x461 },
- { FF_MDL, "MDL", "MDL0", 0x4c61 },
- { FF_PAT, "PAT", "PAT0", 0x1c21 },
- { FF_SCN, "SCN", "SCN0", 0x461 },
- { FF_SHP, "SHP", "SHP0", 0x461 },
- { FF_SRT, "SRT", "SRT0", 0x461 },
- { FF_TEX, "TEX", "TEX0", 0x1c29 },
- { FF_TEX_CT, "TEX", "TEX+CT", 0x5c29 },
- { FF_TEX_CT, "TEX-CT", "TEX0", 0x5c29 },
- { FF_TEX_CT, "TEXCT", 0, 0x5c29 },
- { FF_CTDEF, "CT-DEF", "CTDEF", 0x3811 },
+ { FF_U8, "U8", 0, 0x10f05 },
+ { FF_WU8, "WU8", 0, 0x10f05 },
+ { FF_RARC, "ARC", "RARC", 0xc05 },
+ { FF_BRRES, "BRES", "BRRES", 0xe05 },
+ { FF_BREFF, "BREFF", "REFF", 0x605 },
+ { FF_BREFT, "BREFT", "REFT", 0xe05 },
+ { FF_RKC, "RKC", 0, 0xe05 },
+ { FF_PACK, "PACK", 0, 0xe05 },
+ { FF_USE_LTA, "USE-LTA", "USELTA", 0x1 },
+ { FF_LTA, "", "LTA", 0xe05 },
+ { FF_LFL, "LFL", 0, 0xe05 },
+ { FF_CHR, "CHR", "CHR0", 0x861 },
+ { FF_CLR, "CLR", "CLR0", 0x861 },
+ { FF_MDL, "MDL", "MDL0", 0x9861 },
+ { FF_PAT, "PAT", "PAT0", 0x3821 },
+ { FF_SCN, "SCN", "SCN0", 0x861 },
+ { FF_SHP, "SHP", "SHP0", 0x861 },
+ { FF_SRT, "SRT", "SRT0", 0x861 },
+ { FF_TEX, "TEX", "TEX0", 0x3829 },
+ { FF_TEX_CT, "TEX", "TEX+CT", 0xb829 },
+ { FF_TEX_CT, "TEX-CT", "TEX0", 0xb829 },
+ { FF_TEX_CT, "TEXCT", 0, 0xb829 },
+ { FF_CTDEF, "CT-DEF", "CTDEF", 0x7011 },
{ FF_CT0_CODE, "C0CODE", "CT0-CODE", 0x1 },
{ FF_CT0_CODE, "CT0CODE", 0, 0x1 },
{ FF_CT0_DATA, "C0DATA", "CT0-DATA", 0x1 },
{ FF_CT0_DATA, "CT0DATA", 0, 0x1 },
{ FF_CT1_CODE, "C1CODE", "CT1-CODE", 0x1 },
{ FF_CT1_CODE, "CT1CODE", 0, 0x1 },
- { FF_CT1_DATA, "C1DATA", "CT1-DATA", 0x4c01 },
- { FF_CT1_DATA, "CT1DATA", "CTCODE", 0x4c01 },
+ { FF_CT1_DATA, "C1DATA", "CT1-DATA", 0x9801 },
+ { FF_CT1_DATA, "CT1DATA", "CTCODE", 0x9801 },
{ FF_CUP1, "CUP1", 0, 0x1 },
{ FF_CRS1, "CRS1", 0, 0x1 },
{ FF_MOD1, "MOD1", 0, 0x1 },
{ FF_MOD2, "MOD2", 0, 0x1 },
{ FF_OVR1, "OVR1", 0, 0x1 },
- { FF_LE_BIN, "LE-BIN", "LEBIN", 0x4c01 },
- { FF_LEX, "LEX", 0, 0x1c01 },
- { FF_LEX_TXT, "LEX-TXT", "LEXTXT", 0x3811 },
- { FF_LPAR, "LPAR", 0, 0x3811 },
- { FF_LEDEF, "LE-DEF", "LEDEF", 0x3811 },
- { FF_LEDIS, "LE-DIS", "LEDIS", 0x1811 },
- { FF_LEREF, "LE-REF", "LEREF", 0x1811 },
- { FF_LESTR, "LE-STR", "LESTR", 0x1811 },
- { FF_SHA1REF, "SHA1REF", 0, 0x1011 },
- { FF_PREFIX, "PREFIX", 0, 0x1811 },
- { FF_MTCAT, "MTCAT", 0, 0x1811 },
+ { FF_LE_BIN, "LE-BIN", "LEBIN", 0x9801 },
+ { FF_LEX, "LEX", 0, 0x3801 },
+ { FF_LEX_TXT, "LEX-TXT", "LEXTXT", 0x7011 },
+ { FF_LPAR, "LPAR", 0, 0x7011 },
+ { FF_LEDEF, "LE-DEF", "LEDEF", 0x7011 },
+ { FF_LEDIS, "LE-DIS", "LEDIS", 0x3011 },
+ { FF_LEREF, "LE-REF", "LEREF", 0x3011 },
+ { FF_LESTR, "LE-STR", "LESTR", 0x3011 },
+ { FF_SHA1REF, "SHA1REF", 0, 0x2011 },
+ { FF_SHA1ID, "SHA1ID", 0, 0x2011 },
+ { FF_PREFIX, "PREFIX", 0, 0x3011 },
+ { FF_MTCAT, "MTCAT", 0, 0x3011 },
{ FF_CT_SHA1, "CT-SHA1", "CTSHA1", 0x11 },
{ FF_MDL_TXT, "MDL-TXT", "MDLTXT", 0x11 },
- { FF_PAT_TXT, "PAT-TXT", "PATTXT", 0x3811 },
- { FF_TPL, "TPL", 0, 0x1c09 },
- { FF_BTI, "BTI", "BTIENV", 0x1c09 },
- { FF_BTI, "BTIMAT", 0, 0x1c09 },
- { FF_BREFT_IMG, "BREFT-IMG", "BREFTIMG", 0x1c09 },
- { FF_BREFT_IMG, "BT-IMG", "BTIMG", 0x1c09 },
- { FF_BMG, "BMG", "MESGBMG1", 0x1c01 },
- { FF_BMG_TXT, "BMG-TXT", "BMGTXT", 0x1811 },
- { FF_KCL, "KCL", 0, 0x5c01 },
- { FF_KCL_TXT, "KCL-TXT", "KCLTXT", 0x3811 },
- { FF_WAV_OBJ, "WAV-OBJ", "WAVOBJ", 0x3811 },
- { FF_SKP_OBJ, "SKP-OBJ", "SKPOBJ", 0x3811 },
- { FF_KMP, "KMP", 0, 0x1c01 },
- { FF_KMP_TXT, "KMP-TXT", "KMPTXT", 0x3811 },
+ { FF_PAT_TXT, "PAT-TXT", "PATTXT", 0x7011 },
+ { FF_TPL, "TPL", 0, 0x3809 },
+ { FF_BTI, "BTI", "BTIENV", 0x3809 },
+ { FF_BTI, "BTIMAT", 0, 0x3809 },
+ { FF_BREFT_IMG, "BREFT-IMG", "BREFTIMG", 0x3809 },
+ { FF_BREFT_IMG, "BT-IMG", "BTIMG", 0x3809 },
+ { FF_BMG, "BMG", "MESGBMG1", 0x3801 },
+ { FF_BMG_TXT, "BMG-TXT", "BMGTXT", 0x3011 },
+ { FF_KCL, "KCL", 0, 0xb801 },
+ { FF_KCL_TXT, "KCL-TXT", "KCLTXT", 0x7011 },
+ { FF_WAV_OBJ, "WAV-OBJ", "WAVOBJ", 0x7011 },
+ { FF_SKP_OBJ, "SKP-OBJ", "SKPOBJ", 0x7011 },
+ { FF_KMP, "KMP", 0, 0x3801 },
+ { FF_KMP_TXT, "KMP-TXT", "KMPTXT", 0x7011 },
{ FF_ITEMSLT, "ITEMSLT", "SLT", 0x1 },
{ FF_ITEMSLT_TXT, "ITEMSLT-TXT", "ITEMSLTTXT", 0x11 },
- { FF_KMG, "KMG", 0, 0x1801 },
- { FF_KMG_TXT, "KMG-TXT", "KMGTXT", 0x3811 },
+ { FF_KMG, "KMG", 0, 0x3001 },
+ { FF_KMG_TXT, "KMG-TXT", "KMGTXT", 0x7011 },
{ FF_KRM, "KRM", 0, 0x1 },
{ FF_KRM_TXT, "KRM-TXT", "KRMTXT", 0x11 },
{ FF_KRT, "KRT", 0, 0x1 },
{ FF_KRT_TXT, "KRT-TXT", "KRTTXT", 0x11 },
- { FF_OBJFLOW, "OBFLOW", "OBJFLOW", 0x1801 },
- { FF_OBJFLOW_TXT, "OBJFLOW-TXT", "OBJFLOWTXT", 0x3811 },
- { FF_OBJFLOW_TXT, "OF-TXT", "OFTXT", 0x3811 },
- { FF_GH_ITEM, "GH-ITEM", "GHITEM", 0x1801 },
- { FF_GH_ITEM_TXT, "GH-ITEM-TXT", "GHITEMTXT", 0x3811 },
- { FF_GH_ITEM_TXT, "GI-TXT", "GITXT", 0x3811 },
- { FF_GH_IOBJ, "GH-IOBJ", "GHIOBJ", 0x1801 },
- { FF_GH_IOBJ_TXT, "GH-IOBJ-TXT", "GHIOBJTXT", 0x3811 },
- { FF_GH_IOBJ_TXT, "GIOTXT", 0, 0x3811 },
- { FF_GH_KART, "GH-KART", "GHKART", 0x1801 },
- { FF_GH_KART_TXT, "GH-KART-TXT", "GHKARTTXT", 0x3811 },
- { FF_GH_KART_TXT, "GK-TXT", "GKTXT", 0x3811 },
- { FF_GH_KOBJ, "GH-KOBJ", "GHKOBJ", 0x1801 },
- { FF_GH_KOBJ_TXT, "GH-KOBJ-TXT", "GHKOBJTXT", 0x3811 },
- { FF_GH_KOBJ_TXT, "GKOTXT", 0, 0x3811 },
+ { FF_OBJFLOW, "OBFLOW", "OBJFLOW", 0x3001 },
+ { FF_OBJFLOW_TXT, "OBJFLOW-TXT", "OBJFLOWTXT", 0x7011 },
+ { FF_OBJFLOW_TXT, "OF-TXT", "OFTXT", 0x7011 },
+ { FF_GH_ITEM, "GH-ITEM", "GHITEM", 0x3001 },
+ { FF_GH_ITEM_TXT, "GH-ITEM-TXT", "GHITEMTXT", 0x7011 },
+ { FF_GH_ITEM_TXT, "GI-TXT", "GITXT", 0x7011 },
+ { FF_GH_IOBJ, "GH-IOBJ", "GHIOBJ", 0x3001 },
+ { FF_GH_IOBJ_TXT, "GH-IOBJ-TXT", "GHIOBJTXT", 0x7011 },
+ { FF_GH_IOBJ_TXT, "GIOTXT", 0, 0x7011 },
+ { FF_GH_KART, "GH-KART", "GHKART", 0x3001 },
+ { FF_GH_KART_TXT, "GH-KART-TXT", "GHKARTTXT", 0x7011 },
+ { FF_GH_KART_TXT, "GK-TXT", "GKTXT", 0x7011 },
+ { FF_GH_KOBJ, "GH-KOBJ", "GHKOBJ", 0x3001 },
+ { FF_GH_KOBJ_TXT, "GH-KOBJ-TXT", "GHKOBJTXT", 0x7011 },
+ { FF_GH_KOBJ_TXT, "GKOTXT", 0, 0x7011 },
{ FF_DRIVER, "DRIVER", "DRV", 0x1 },
{ FF_VEHICLE, "VEH", "VEHICLE", 0x1 },
{ FF_BRASD, "BRASD", 0, 0x1 },
{ FF_RKG, "RKG", 0, 0x1 },
{ FF_RKCO, "RKCO", 0, 0x1 },
- { FF_STATICR, "REL", "STATICR", 0x4001 },
- { FF_DOL, "DOL", 0, 0x4201 },
+ { FF_STATICR, "REL", "STATICR", 0x8001 },
+ { FF_DOL, "DOL", 0, 0x8401 },
{ FF_GCT, "GCT", 0, 0x1 },
+ { FF_GCT_TXT, "GCT", "GCT-TXT", 0x1 },
+ { FF_GCT_TXT, "GCTTXT", 0, 0x1 },
{ FF_GCH, "GCH", 0, 0x1 },
{ FF_WCH, "WCH", 0, 0x1 },
{ FF_WPF, "WPF", 0, 0x1 },
{ FF_XPF, "XPF", 0, 0x1 },
{ FF_DISTRIB, "DISTRIB", 0, 0x11 },
- { FF_PNG, "PNG", 0, 0x1889 },
+ { FF_PNG, "PNG", 0, 0x3089 },
{ FF_PORTDB, "PORTDB", 0, 0x81 },
{ FF_SCRIPT, "SCRIPT", 0, 0x91 },
{ FF_JSON, "JSON", 0, 0x91 },
diff --git a/project/src/file-type.h b/project/src/file-type.h
index f8082d7..deb6f76 100644
--- a/project/src/file-type.h
+++ b/project/src/file-type.h
@@ -19,31 +19,32 @@
// [[ff_attrib_t]]
typedef enum ff_attrib_t
{
- FFT_VALID = 0x0001, // a valid file format
+ FFT_VALID = 0x00001, // a valid file format
- FFT_COMPRESS = 0x0002, // is a compression format
- FFT_ARCHIVE = 0x0004, // is a supported archive
- FFT_GRAPHIC = 0x0008, // graphic image format
- FFT_TEXT = 0x0010, // (decoded) text file
- FFT_M_FTYPE = 0x001e, // mask of file types
+ FFT_COMPRESS = 0x00002, // is a compression format
+ FFT_ARCHIVE = 0x00004, // is a supported archive
+ FFT_GRAPHIC = 0x00008, // graphic image format
+ FFT_TEXT = 0x00010, // (decoded) text file
+ FFT_M_FTYPE = 0x0001e, // mask of file types
- FFT_BRSUB = 0x0020, // is a BRRES sub file
- FFT_BRSUB2 = 0x0040, // have a scondary file structure like a BRSUB
- FFT_EXTERNAL = 0x0080, // external file format
- FFT_M_CLASS = 0x00e0, // mask of file classes
+ FFT_BRSUB = 0x00020, // is a BRRES sub file
+ FFT_BRSUB2 = 0x00040, // have a scondary file structure like a BRSUB
+ FFT_EXTERNAL = 0x00080, // external file format
+ FFT_TRACK = 0x00100, // can be a track file
+ FFT_M_CLASS = 0x001e0, // mask of file classes
- FFT_CREATE = 0x0100, // creation supported
- FFT_EXTRACT = 0x0200, // extracting supported
- FFT_CUT = 0x0400, // 'cut-files' supported
- FFT_DECODE = 0x0800, // decoding supported
- FFT_ENCODE = 0x1000, // encoding supported
- FFT_PARSER = 0x2000, // parser support on encoding
- FFT_PATCH = 0x4000, // patching of binaries
- FFT_LINK = 0x8000, // hardlinks supported
- FFT_M_SUPPORT = 0xff00, // mask of supported operations
+ FFT_CREATE = 0x00200, // creation supported
+ FFT_EXTRACT = 0x00400, // extracting supported
+ FFT_CUT = 0x00800, // 'cut-files' supported
+ FFT_DECODE = 0x01000, // decoding supported
+ FFT_ENCODE = 0x02000, // encoding supported
+ FFT_PARSER = 0x04000, // parser support on encoding
+ FFT_PATCH = 0x08000, // patching of binaries
+ FFT_LINK = 0x10000, // hardlinks supported
+ FFT_M_SUPPORT = 0x1fe00, // mask of supported operations
- FFT_NONE = 0x0000, // none set
- FFT_M_ALL = 0xffff // all flags of above
+ FFT_NONE = 0x00000, // none set
+ FFT_M_ALL = 0x1ffff // all flags of above
} ff_attrib_t;
@@ -77,121 +78,124 @@ typedef enum file_format_t
FF_BREFT, // 14
FF_RKC, // 15
FF_PACK, // 16
- FF_LTA, // 17
- FF_LFL, // 18
+ FF_USE_LTA, // 17
+ FF_LTA, // 18
+ FF_LFL, // 19
- FF_CHR, // 19
- FF_CLR, // 20
- FF_MDL, // 21
- FF_PAT, // 22
- FF_SCN, // 23
- FF_SHP, // 24
- FF_SRT, // 25
- FF_TEX, // 26
+ FF_CHR, // 20
+ FF_CLR, // 21
+ FF_MDL, // 22
+ FF_PAT, // 23
+ FF_SCN, // 24
+ FF_SHP, // 25
+ FF_SRT, // 26
+ FF_TEX, // 27
- FF_TEX_CT, // 27
- FF_CTDEF, // 28
+ FF_TEX_CT, // 28
+ FF_CTDEF, // 29
- FF_CT0_CODE, // 29
- FF_CT0_DATA, // 30
- FF_CT1_CODE, // 31
- FF_CT1_DATA, // 32
+ FF_CT0_CODE, // 30
+ FF_CT0_DATA, // 31
+ FF_CT1_CODE, // 32
+ FF_CT1_DATA, // 33
- FF_CUP1, // 33
- FF_CRS1, // 34
- FF_MOD1, // 35
- FF_MOD2, // 36
- FF_OVR1, // 37
+ FF_CUP1, // 34
+ FF_CRS1, // 35
+ FF_MOD1, // 36
+ FF_MOD2, // 37
+ FF_OVR1, // 38
- FF_LE_BIN, // 38
- FF_LEX, // 39
- FF_LEX_TXT, // 40
+ FF_LE_BIN, // 39
+ FF_LEX, // 40
+ FF_LEX_TXT, // 41
- FF_LPAR, // 41
- FF_LEDEF, // 42
- FF_LEDIS, // 43
- FF_LEREF, // 44
- FF_LESTR, // 45
- FF_SHA1REF, // 46
- FF_PREFIX, // 47
- FF_MTCAT, // 48
- FF_CT_SHA1, // 49
+ FF_LPAR, // 42
+ FF_LEDEF, // 43
+ FF_LEDIS, // 44
+ FF_LEREF, // 45
+ FF_LESTR, // 46
+ FF_SHA1REF, // 47
+ FF_SHA1ID, // 48
+ FF_PREFIX, // 49
+ FF_MTCAT, // 50
+ FF_CT_SHA1, // 51
- FF_MDL_TXT, // 50
+ FF_MDL_TXT, // 52
- FF_PAT_TXT, // 51
+ FF_PAT_TXT, // 53
- FF_TPL, // 52
- FF_BTI, // 53
- FF_BREFT_IMG, // 54
+ FF_TPL, // 54
+ FF_BTI, // 55
+ FF_BREFT_IMG, // 56
- FF_BMG, // 55
- FF_BMG_TXT, // 56
+ FF_BMG, // 57
+ FF_BMG_TXT, // 58
- FF_KCL, // 57
- FF_KCL_TXT, // 58
- FF_WAV_OBJ, // 59
- FF_SKP_OBJ, // 60
+ FF_KCL, // 59
+ FF_KCL_TXT, // 60
+ FF_WAV_OBJ, // 61
+ FF_SKP_OBJ, // 62
- FF_KMP, // 61
- FF_KMP_TXT, // 62
+ FF_KMP, // 63
+ FF_KMP_TXT, // 64
- FF_ITEMSLT, // 63
- FF_ITEMSLT_TXT, // 64
+ FF_ITEMSLT, // 65
+ FF_ITEMSLT_TXT, // 66
- FF_KMG, // 65
- FF_KMG_TXT, // 66
+ FF_KMG, // 67
+ FF_KMG_TXT, // 68
- FF_KRM, // 67
- FF_KRM_TXT, // 68
+ FF_KRM, // 69
+ FF_KRM_TXT, // 70
- FF_KRT, // 69
- FF_KRT_TXT, // 70
+ FF_KRT, // 71
+ FF_KRT_TXT, // 72
- FF_OBJFLOW, // 71
- FF_OBJFLOW_TXT, // 72
+ FF_OBJFLOW, // 73
+ FF_OBJFLOW_TXT, // 74
- FF_GH_ITEM, // 73
- FF_GH_ITEM_TXT, // 74
+ FF_GH_ITEM, // 75
+ FF_GH_ITEM_TXT, // 76
- FF_GH_IOBJ, // 75
- FF_GH_IOBJ_TXT, // 76
+ FF_GH_IOBJ, // 77
+ FF_GH_IOBJ_TXT, // 78
- FF_GH_KART, // 77
- FF_GH_KART_TXT, // 78
+ FF_GH_KART, // 79
+ FF_GH_KART_TXT, // 80
- FF_GH_KOBJ, // 79
- FF_GH_KOBJ_TXT, // 80
+ FF_GH_KOBJ, // 81
+ FF_GH_KOBJ_TXT, // 82
- FF_DRIVER, // 81
- FF_VEHICLE, // 82
+ FF_DRIVER, // 83
+ FF_VEHICLE, // 84
- FF_BRASD, // 83
- FF_RKG, // 84
- FF_RKCO, // 85
+ FF_BRASD, // 85
+ FF_RKG, // 86
+ FF_RKCO, // 87
- FF_STATICR, // 86
- FF_DOL, // 87
+ FF_STATICR, // 88
+ FF_DOL, // 89
- FF_GCT, // 88
- FF_GCH, // 89
- FF_WCH, // 90
- FF_WPF, // 91
- FF_XPF, // 92
- FF_DISTRIB, // 93
+ FF_GCT, // 90
+ FF_GCT_TXT, // 91
+ FF_GCH, // 92
+ FF_WCH, // 93
+ FF_WPF, // 94
+ FF_XPF, // 95
+ FF_DISTRIB, // 96
- FF_PNG, // 94
- FF_PORTDB, // 95
+ FF_PNG, // 97
+ FF_PORTDB, // 98
- FF_TXT, // 96
- FF_SCRIPT, // 97
- FF_JSON, // 98
- FF_SH, // 99
- FF_BASH, // 100
- FF_PHP, // 101
- FF_MAKEDOC, // 102
+ FF_TXT, // 99
+ FF_SCRIPT, // 100
+ FF_JSON, // 101
+ FF_SH, // 102
+ FF_BASH, // 103
+ FF_PHP, // 104
+ FF_MAKEDOC, // 105
- FF_DIRECTORY, // 103
+ FF_DIRECTORY, // 106
//--- number of elements
diff --git a/project/src/lecode.inc b/project/src/lecode.inc
index 04caae6..2fca700 100644
--- a/project/src/lecode.inc
+++ b/project/src/lecode.inc
@@ -1,1747 +1,1957 @@
static const u8 lecode4_bin_lzma[] = // ./work/../pool/lecode4.bin
{
- // decompressed size: 0x4ef14 = 323348 bytes
- 0x00,0x04,0xef,0x14,
+ // decompressed size: 0x75c14 = 482324 bytes
+ 0x00,0x07,0x5c,0x14,
// LZMA.6 compressed data
0x5d,0x00,0x00,0x80, 0x00,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0x00,0x00,0x68,
- 0x03,0x5f,0xec,0x25, 0x0b,0x3d,0x15,0x88, 0x3e,0xcc,0x10,0x47, 0x75,0xac,0x4c,0x00,
- 0x3d,0x1b,0xfe,0x57, 0xe0,0x71,0xa8,0x4d, 0x6f,0xbf,0xbb,0xbd, 0xa6,0x0f,0x77,0xfc,
- 0x59,0xff,0xf2,0xb2, 0x4c,0xc3,0x50,0xc3, 0x90,0xe2,0xfc,0x9a, 0x90,0x02,0x47,0xe5,
- 0x50,0xbf,0xd9,0xc5, 0xfd,0xe5,0xb8,0x1d, 0x44,0x76,0x0d,0xf6, 0x65,0x7d,0x3f,0x66,
- 0xc0,0xc6,0x86,0x5f, 0xc3,0xbe,0x51,0x01, 0x9c,0x7d,0xd0,0xd5, 0x2f,0x86,0x2d,0xdd,
- 0x6b,0x50,0x20,0xe9, 0xe0,0x52,0x47,0x0b, 0xb8,0x89,0x29,0x1b, 0x79,0xae,0xed,0xa2,
- 0x9f,0xf4,0x2e,0x7e, 0x0d,0xc2,0x2c,0x13, 0x07,0x24,0x2c,0x85, 0x9e,0x3e,0xf1,0xcd,
- 0x43,0xe5,0x44,0x1f, 0xe7,0xa5,0x16,0x58, 0x35,0xe4,0xc7,0x74, 0xaf,0x1f,0x00,0x64,
- 0x2d,0x59,0x4a,0x74, 0x58,0xad,0x51,0xc4, 0x3d,0x98,0xb9,0x0f, 0x43,0x7d,0x36,0xd4,
- 0x20,0xb0,0xda,0xa0, 0x28,0x9e,0xe3,0xbc, 0xeb,0xaa,0xd5,0x10, 0x6f,0x9c,0x8a,0xc3,
- 0x0d,0x0e,0xa4,0xe5, 0x9d,0xa4,0x28,0x6c, 0x85,0x6e,0x1f,0x91, 0xef,0xf9,0x0f,0x0b,
- 0x6f,0xe7,0xff,0xf8, 0x61,0xe0,0x1f,0xa4, 0x60,0xf8,0x7e,0xa6, 0xb6,0xb7,0xf4,0xa7,
- 0x9b,0x49,0xb1,0xb0, 0x89,0x18,0x2e,0x91, 0x2b,0xbe,0x0b,0xdf, 0x68,0x14,0x50,0xe2,
- 0x7f,0x3e,0x71,0xf7, 0x13,0xcf,0xcd,0x33, 0x33,0x50,0xff,0x6d, 0x62,0xe4,0x32,0xdb,
- 0x99,0x3d,0x23,0xd6, 0x4b,0xaf,0x5a,0xfb, 0x7b,0xf7,0xd4,0xf5, 0x67,0xa6,0x30,0xee,
- 0x6c,0xda,0x5a,0x8a, 0xf1,0x6c,0xff,0x86, 0xce,0xab,0x3a,0x19, 0x02,0xe1,0x94,0x38,
- 0x5c,0x1e,0x74,0xb1, 0x41,0x94,0x78,0x0b, 0x24,0xb1,0xf2,0x24, 0xf0,0x1c,0x4c,0x03,
- 0x85,0xb5,0x6c,0x7f, 0x6f,0x4d,0x2b,0x69, 0x8b,0x73,0x35,0x45, 0x89,0x65,0x15,0x49,
- 0xb2,0x4e,0x75,0x15, 0x94,0x7f,0x78,0x98, 0xb3,0x37,0xaa,0x1c, 0xa3,0x76,0x62,0x26,
- 0xb3,0x37,0x7b,0xfb, 0xa2,0x6c,0x16,0x81, 0x8a,0x53,0x70,0x1f, 0x27,0x64,0x6a,0x60,
- 0x25,0x5b,0x02,0x4a, 0xc7,0x7e,0x58,0xd5, 0x6b,0x6b,0x08,0xe7, 0x5d,0x3e,0x6b,0xc7,
- 0x4e,0xde,0x80,0x0e, 0x07,0x5a,0xec,0x87, 0x41,0x16,0xe6,0x59, 0x75,0x92,0xdb,0xc2,
- 0x1e,0x68,0x27,0xa3, 0x6c,0x94,0xa0,0x0d, 0x13,0x50,0x84,0x02, 0x8a,0xab,0x97,0x9f,
- 0x6a,0xf1,0xb3,0x9b, 0x23,0x69,0x4b,0xd5, 0x9c,0x46,0xd3,0x35, 0xe9,0x74,0x7d,0xda,
- 0xce,0x37,0x75,0xfd, 0x38,0xfb,0xbe,0xd2, 0xae,0xa2,0x29,0xf6, 0xc7,0xe0,0x3d,0x62,
- 0x6d,0x7f,0xd5,0x35, 0xe7,0x50,0x02,0xf5, 0xc9,0x9d,0x4c,0x38, 0x87,0x82,0x44,0x37,
- 0x4d,0x1d,0xf7,0xb2, 0x79,0x3a,0x5a,0x36, 0x85,0xb9,0x9b,0x72, 0x44,0x4c,0x2a,0x4d,
- 0xba,0x8a,0x49,0xf8, 0x8d,0xeb,0x9e,0x90, 0xea,0x1f,0x82,0xa5, 0x85,0xfa,0x5b,0xfc,
- 0xd8,0x1c,0x51,0xa5, 0xae,0x9c,0x83,0x41, 0xa1,0x94,0x15,0x43, 0x26,0x3e,0xbb,0x4e,
- 0x9b,0xb8,0x30,0x58, 0x31,0x43,0xee,0x55, 0x6d,0xd3,0x44,0xeb, 0x67,0x19,0xe6,0x91,
- 0x58,0x26,0xda,0xa8, 0xcf,0xff,0xc0,0x21, 0x48,0x4a,0x87,0x73, 0x9e,0xd0,0xc2,0x30,
- 0x1e,0x12,0x96,0xee, 0x50,0x8c,0x02,0x6e, 0x0f,0xce,0x17,0x0a, 0xed,0xc7,0x77,0xa8,
- 0x59,0x5d,0xac,0x9d, 0xcc,0x35,0x06,0xad, 0xa5,0x72,0xf7,0x0c, 0x90,0x28,0xa2,0xdb,
- 0x0d,0xba,0xb2,0x18, 0x7e,0xc5,0x54,0x4a, 0x48,0x88,0x24,0x75, 0xa7,0xc3,0x07,0x94,
- 0x11,0x29,0x14,0xb4, 0x0c,0xec,0x5c,0xaa, 0x3b,0xaa,0xfe,0xf6, 0x8a,0xf6,0xce,0xc6,
- 0xec,0x21,0x94,0xcb, 0x1d,0x2a,0x36,0xb8, 0x04,0x16,0x2e,0xcb, 0xf5,0x69,0x0e,0x7e,
- 0x72,0x94,0x3f,0x86, 0x2b,0x61,0x05,0x52, 0x8e,0xd5,0x98,0x3a, 0xba,0xa5,0x26,0x73,
- 0x87,0x11,0xcc,0x65, 0xff,0x29,0x5b,0x0f, 0xfd,0x69,0xed,0x2a, 0x2c,0xac,0x21,0x90,
- 0xe6,0xbe,0x53,0x83, 0xe7,0x1a,0x28,0x98, 0x09,0x06,0x89,0x25, 0x91,0x83,0xf3,0x12,
- 0x33,0x9d,0xe0,0xcd, 0xe4,0x6f,0x39,0x6a, 0xd4,0xa4,0x2a,0xf4, 0xde,0x68,0x8e,0x7d,
- 0xa5,0xb2,0x07,0xa1, 0x25,0xf7,0x3a,0x0f, 0x2b,0x9f,0x16,0xf3, 0xfb,0xb8,0xb3,0x8e,
- 0x60,0x8d,0xb4,0xbe, 0xf4,0xcb,0x46,0x53, 0xc4,0xe2,0x4d,0x13, 0x5c,0x5e,0x82,0x2a,
- 0x84,0x8c,0x35,0xd7, 0xe5,0x1f,0xef,0x0b, 0xe9,0x5a,0x1c,0xcb, 0x1a,0xd5,0x47,0x93,
- 0x41,0xc9,0x75,0x69, 0xd6,0x1d,0x69,0x44, 0x38,0x6d,0x0d,0x0a, 0x69,0x7c,0xe9,0x75,
- 0xb3,0x51,0x2b,0xb2, 0xac,0xbe,0x48,0xa8, 0x55,0xfe,0x57,0xe7, 0x9c,0xf1,0x54,0x5b,
- 0xac,0x5e,0x7b,0x22, 0x22,0x11,0x1e,0x57, 0x5b,0x04,0xfc,0xb9, 0x7f,0x1d,0xf8,0xcc,
- 0x31,0x7a,0x6e,0xa5, 0x21,0xc9,0x1f,0xdf, 0x35,0x72,0x30,0x56, 0x1f,0xce,0x1f,0x07,
- 0xe3,0x48,0xbf,0xbe, 0x09,0x42,0xa5,0x2b, 0x51,0xed,0xbf,0xce, 0xf1,0x95,0x93,0xd7,
- 0x2c,0xf4,0x9b,0xac, 0x57,0xfc,0x6b,0x79, 0x84,0x74,0x3e,0x23, 0xa1,0x73,0x2d,0x76,
- 0x32,0xc9,0x90,0x40, 0xcd,0x0d,0xbb,0xc8, 0x0e,0x31,0xe1,0x45, 0x34,0x51,0xf0,0x83,
- 0x72,0xf3,0x50,0x2e, 0xef,0x7b,0x29,0x5d, 0x26,0x48,0xcd,0xb8, 0xba,0x51,0x81,0xc9,
- 0x78,0xea,0xaa,0x47, 0xc3,0xc3,0x0a,0xe5, 0x27,0x04,0xdb,0x90, 0xab,0x53,0x07,0x9a,
- 0x41,0xc6,0x94,0x84, 0x64,0x27,0x09,0xfd, 0x57,0xc5,0xd3,0x36, 0x62,0x35,0x0b,0xd2,
- 0xb9,0x2c,0x89,0x64, 0xdd,0x93,0x8b,0xd2, 0x2b,0x2f,0xf0,0x16, 0xcb,0xc0,0x79,0x3b,
- 0xde,0x28,0x76,0x45, 0xe0,0x40,0x26,0xfe, 0xb9,0x46,0xee,0xc4, 0xb0,0x2f,0x6f,0xf5,
- 0xd0,0x88,0x54,0x99, 0x9e,0x8e,0xe3,0x2d, 0xf8,0x5a,0x46,0x53, 0xb2,0x76,0x43,0x12,
- 0x8f,0xdd,0x9e,0x4d, 0x5d,0x0d,0xf4,0x8a, 0x65,0x07,0xc0,0x23, 0x44,0xbf,0x0f,0x4c,
- 0x94,0x6f,0x71,0xea, 0x2e,0x3e,0x88,0x6b, 0xb1,0x82,0x1e,0xab, 0x60,0x2d,0xc6,0x7d,
- 0xab,0xdf,0x1b,0x3d, 0xde,0x98,0xab,0x25, 0xac,0x46,0x5b,0x1e, 0x58,0xa1,0xe3,0x6e,
- 0x09,0xa3,0x51,0xe2, 0x3c,0xcf,0xc5,0x86, 0x49,0x53,0x96,0x4f, 0xc8,0xfa,0xa6,0x34,
- 0x92,0x14,0xe9,0xad, 0xfb,0x6e,0xad,0x84, 0x26,0x79,0x4a,0xe1, 0xca,0x65,0x89,0xae,
- 0x4e,0x9d,0x3b,0x1a, 0x0e,0xc3,0xc3,0x9d, 0xb0,0xec,0xb4,0x38, 0xc3,0x4d,0x8a,0xdc,
- 0x14,0x27,0x3b,0x28, 0xdd,0xde,0x75,0x99, 0x98,0x21,0x62,0x66, 0xd6,0x8c,0x87,0x2b,
- 0x62,0xd7,0x7a,0xb8, 0xb5,0x06,0xd3,0x44, 0xa9,0xff,0x03,0x46, 0xaa,0x98,0x4f,0x6b,
- 0xdb,0xcb,0x8b,0xb9, 0xd5,0x31,0x7f,0xbe, 0x75,0x67,0x53,0x16, 0xd5,0x12,0x3f,0xe9,
- 0x48,0x1c,0x4f,0xd9, 0x2a,0x34,0x8b,0xcf, 0xd0,0x09,0xa4,0xbd, 0xfa,0x63,0xc3,0xfa,
- 0x01,0xf5,0xaa,0x50, 0xdd,0x30,0xd6,0xd9, 0xa2,0xc9,0xa2,0x03, 0x35,0x62,0xfa,0xfb,
- 0xf8,0x5c,0x28,0x61, 0x10,0x4b,0xf7,0x9c, 0xe4,0xa7,0xd2,0xb1, 0xd3,0x31,0x8d,0xda,
- 0x12,0x6b,0x20,0xc4, 0xb2,0xf4,0x10,0x64, 0x7f,0x9a,0xd5,0x14, 0x35,0x38,0x98,0x15,
- 0xf0,0x1a,0xc4,0x0f, 0x07,0xc2,0xa0,0x64, 0x8b,0x27,0x08,0xa0, 0x3c,0xf1,0x8d,0xcc,
- 0xf1,0xdb,0x7d,0x28, 0x50,0xa6,0xd8,0x5e, 0x67,0x48,0xd4,0x54, 0x0a,0xe2,0xc0,0xf5,
- 0xfc,0x7c,0xfd,0xbd, 0x19,0x93,0xfc,0xb1, 0xa8,0xb3,0x48,0xcb, 0x7b,0xa1,0xff,0x66,
- 0x46,0x0f,0x65,0x02, 0xce,0x6f,0x2e,0xc7, 0xdd,0xca,0xec,0x22, 0xcb,0x35,0x4e,0x77,
- 0x35,0x05,0x00,0x88, 0xbd,0x1b,0x55,0x11, 0x5f,0xe1,0xcc,0xc7, 0x7e,0x01,0x44,0xb5,
- 0x00,0xc5,0x8c,0x07, 0x07,0x77,0x8b,0xe0, 0x13,0xdd,0x18,0x6e, 0x73,0xa9,0x41,0xfe,
- 0xca,0xe4,0x6a,0xbe, 0x3d,0x70,0x9f,0x89, 0xa1,0xbf,0x95,0x3b, 0x1c,0x00,0xdb,0x7d,
- 0x37,0xbd,0x4a,0xdf, 0x2b,0xe8,0xb6,0x07, 0x30,0xaa,0xac,0x3b, 0x52,0x27,0xf0,0x33,
- 0x99,0x68,0x9b,0xad, 0x69,0xec,0x0c,0x67, 0xc9,0x8f,0x75,0xba, 0x31,0xba,0x47,0x5d,
- 0x64,0x55,0x0d,0x74, 0xae,0xec,0x50,0x39, 0xba,0xcf,0x48,0x1c, 0x67,0xae,0xdc,0x25,
- 0xdd,0x72,0x18,0x6a, 0xac,0x8f,0xc0,0x7c, 0x6f,0x48,0x0f,0xee, 0x19,0xf5,0xb3,0x44,
- 0xc2,0x8d,0x8e,0xab, 0xc7,0x1f,0x58,0xe1, 0x30,0x93,0x20,0x8c, 0x2d,0xf8,0x17,0xc7,
- 0x8c,0xca,0xb4,0x4b, 0xa8,0xc3,0x07,0xb0, 0x8f,0x5a,0xd0,0xe5, 0xab,0xe8,0x55,0x6b,
- 0x3f,0xe2,0xb9,0x60, 0x99,0x3c,0x78,0x2b, 0xf5,0xbc,0x12,0xfa, 0xa0,0xad,0xb3,0x12,
- 0x1e,0xbd,0x67,0x4f, 0xe8,0xf2,0x32,0x85, 0xc6,0x03,0xad,0xc7, 0x78,0x6b,0x78,0x75,
- 0x1e,0x32,0x90,0x70, 0xb3,0xde,0x7c,0xb2, 0x86,0x18,0x4c,0x24, 0x8f,0xb8,0xe3,0x40,
- 0x79,0xa1,0xb5,0x18, 0xba,0xde,0xee,0x55, 0xa9,0x0d,0x74,0x85, 0xa7,0x8b,0x26,0xda,
- 0x4d,0xd0,0xa7,0xd2, 0x14,0x4c,0xe5,0xca, 0xd2,0x8e,0x4c,0x20, 0xdc,0x32,0x22,0x91,
- 0x71,0xb8,0x81,0x85, 0x9b,0x5b,0xbe,0xd3, 0x37,0xfb,0x60,0x03, 0x29,0xaa,0x7d,0x85,
- 0xfd,0x6a,0xc2,0x81, 0x2d,0xe8,0xb3,0x3b, 0xe9,0x75,0x6b,0xac, 0x69,0x96,0xee,0x15,
- 0x70,0x65,0xf0,0xf8, 0x63,0x10,0x4c,0x0a, 0x90,0x71,0x11,0x04, 0xc5,0xdc,0x3c,0x75,
- 0x64,0x71,0xf7,0x85, 0x30,0x95,0x30,0x5c, 0xf4,0xac,0xa5,0xc2, 0x42,0xc2,0x02,0xcf,
- 0x95,0xf4,0xbe,0x75, 0x58,0x86,0x53,0xfb, 0x6d,0x10,0x18,0xfa, 0x21,0x94,0x9c,0x1a,
- 0x79,0xee,0x92,0x3c, 0x6d,0xad,0x32,0xc5, 0xe8,0x09,0xa6,0xe0, 0x88,0x00,0x9f,0x87,
- 0x78,0x03,0xd6,0x10, 0x6e,0x05,0xd6,0xa5, 0x2c,0x89,0x4e,0x78, 0x48,0xa7,0xcd,0xb0,
- 0xe5,0xc6,0x6f,0x75, 0x9c,0x8c,0x15,0x81, 0x78,0x78,0x46,0xb7, 0x99,0x8c,0x25,0xe2,
- 0x8c,0x54,0x39,0x39, 0x16,0x25,0x50,0x06, 0x72,0x48,0xb3,0x51, 0xab,0xf7,0x19,0x6a,
- 0x3d,0xb2,0x78,0x44, 0xac,0xb7,0x55,0xd3, 0x3b,0xa9,0x17,0x0b, 0x8c,0xae,0xea,0x13,
- 0xec,0xd3,0xd1,0xdb, 0x58,0xb5,0x39,0x70, 0x10,0xe1,0x37,0xb9, 0x51,0xab,0x6c,0x4e,
- 0xe0,0xf6,0x4a,0x97, 0x4c,0xbf,0x8c,0x28, 0x46,0x61,0x2a,0xeb, 0x2c,0xd0,0xb1,0x84,
- 0x0c,0x4b,0xaf,0xea, 0x39,0x3a,0xeb,0x6d, 0x3f,0x8d,0x9a,0xe1, 0x09,0x6d,0xfb,0x03,
- 0x22,0x9b,0xaa,0xfb, 0x68,0x0f,0x8b,0x8b, 0x4e,0x43,0x63,0xcb, 0x34,0x46,0x03,0x67,
- 0x9f,0xd1,0x03,0x3a, 0x42,0xac,0x98,0xae, 0xc6,0x4a,0xe5,0x62, 0xe7,0x03,0xf5,0xcd,
- 0x59,0x42,0x26,0xff, 0x32,0x22,0x33,0x94, 0xc1,0xce,0xb2,0x4d, 0xe6,0x0d,0xdf,0xa4,
- 0xa8,0x1c,0x3d,0x1e, 0x1e,0x66,0x7a,0x54, 0x82,0x90,0x5a,0x55, 0x90,0x6e,0xa6,0x81,
- 0xb7,0x30,0x0e,0xba, 0xd5,0x04,0x68,0x4f, 0x8a,0xe3,0xa1,0xc2, 0x78,0x44,0xd1,0xa2,
- 0xb7,0x16,0x8b,0x3d, 0x1f,0x0d,0x9b,0x22, 0xfa,0x12,0xf3,0x9e, 0xb1,0x66,0x4e,0xaf,
- 0xe0,0xf4,0x21,0x1e, 0x30,0x4c,0x06,0x56, 0x70,0x7e,0x12,0x3d, 0x60,0x26,0xe1,0x1b,
- 0xf7,0xea,0xce,0xd9, 0xc4,0xa0,0xc1,0x36, 0x16,0x27,0x1e,0xcf, 0xa0,0x65,0xb6,0x53,
- 0x01,0x3f,0xbd,0x2c, 0x3e,0xaf,0xd9,0x40, 0xad,0xf1,0x67,0x55, 0x2c,0x0d,0xab,0x2a,
- 0x20,0x90,0x13,0x09, 0x17,0xec,0x71,0xc2, 0x1d,0x59,0x59,0x4d, 0x8a,0xfe,0x2b,0x0c,
- 0x52,0x02,0x43,0x6a, 0x83,0x4d,0x9a,0xca, 0x00,0x66,0x1b,0x32, 0x6d,0x1f,0xe6,0x28,
- 0xf7,0x3c,0x71,0xbd, 0x45,0xa9,0x6f,0x7b, 0xd5,0x5b,0x87,0x26, 0x5d,0x7b,0x7e,0x8a,
- 0x44,0x72,0xd7,0x9c, 0x02,0xc9,0xa7,0x47, 0x99,0x80,0x81,0x41, 0x5e,0xf6,0xdb,0xa9,
- 0xd8,0x36,0x04,0xb7, 0x2b,0x72,0x2e,0x56, 0x58,0x35,0x7b,0x94, 0xff,0xfb,0xd9,0x4e,
- 0xb1,0x0e,0x2a,0xf0, 0xad,0x81,0x90,0x60, 0x45,0x34,0xac,0x5f, 0x3a,0xb8,0x79,0x90,
- 0xee,0x77,0x9f,0xdd, 0x9b,0xf1,0x73,0x91, 0x11,0x4d,0x6f,0x6c, 0xb7,0x5d,0x02,0xa7,
- 0x8f,0x89,0x7c,0x27, 0x81,0x30,0x2b,0x04, 0xef,0xa2,0x59,0x77, 0x65,0x1d,0x48,0x15,
- 0xff,0x13,0x64,0xfb, 0xc7,0xb5,0x6d,0xcb, 0xc7,0x59,0x4d,0xaf, 0xe0,0x70,0x4e,0x74,
- 0x04,0x00,0x7d,0xb7, 0x9a,0x48,0xf6,0x3e, 0x84,0x74,0x77,0xdd, 0x70,0xb3,0xc5,0xf9,
- 0xca,0xec,0x86,0xb5, 0xc3,0xb7,0x83,0xc4, 0x3d,0xb4,0x99,0xc8, 0x3a,0xc0,0x64,0x44,
- 0x8c,0xc9,0x39,0xd8, 0xb7,0xf7,0xe1,0xf7, 0x46,0x1a,0xe2,0x72, 0x99,0x2d,0xd2,0xbd,
- 0x3e,0xe3,0xc8,0x39, 0x02,0x19,0x54,0x8a, 0x8d,0x4f,0x60,0xd2, 0xd7,0x08,0xe2,0x9c,
- 0x4b,0xa5,0xa2,0xda, 0x79,0xcf,0x7e,0x76, 0xa3,0xfc,0x80,0xff, 0xef,0x85,0x26,0x9b,
- 0x45,0x4f,0x05,0x27, 0x06,0x21,0x93,0x4d, 0xbe,0x5f,0xc8,0x54, 0xfa,0x20,0x0a,0x00,
- 0x5f,0xeb,0xea,0x93, 0xd3,0xd0,0xc4,0x09, 0xc6,0x08,0xe0,0xdb, 0xd1,0xdc,0xf4,0x3d,
- 0x7a,0xd9,0xa3,0x8b, 0xea,0x82,0x7a,0x75, 0x76,0xd3,0xfc,0x8a, 0x5d,0x69,0xc4,0x64,
- 0xe7,0x90,0x36,0xaa, 0x8f,0xe0,0xb6,0x6c, 0xda,0x88,0xfb,0xb9, 0x78,0xc8,0x06,0xfc,
- 0x92,0xa3,0x53,0x57, 0x1d,0x7a,0x6f,0x0a, 0x4a,0xa9,0x6f,0x29, 0x31,0x71,0xf4,0x7c,
- 0x74,0x8a,0x34,0x5c, 0xc1,0x1b,0x58,0x40, 0xf8,0xed,0x2c,0x7a, 0xeb,0x18,0x57,0xb4,
- 0xb2,0x6a,0x15,0x8f, 0xa6,0x96,0xd6,0x28, 0x6b,0xe3,0x5e,0xf7, 0xad,0x7e,0x3e,0xda,
- 0x22,0xbb,0x6e,0xca, 0x46,0x7f,0x94,0x17, 0xa9,0xa4,0xe4,0xf2, 0xf5,0x56,0xb2,0xf4,
- 0xbc,0x7a,0xf2,0x42, 0x74,0xa6,0x6c,0x62, 0xd4,0xd0,0xa5,0xee, 0x95,0x50,0xe7,0xd6,
- 0xc9,0x36,0x98,0x90, 0xd9,0xa8,0x6a,0x03, 0xdd,0x02,0xd1,0xf8, 0xa6,0x02,0xa3,0x50,
- 0xf7,0xb7,0x79,0xd4, 0x35,0x5b,0x06,0x0f, 0xcc,0x11,0x00,0xd7, 0x31,0xc6,0x3d,0x17,
- 0xef,0xa0,0xdf,0xa2, 0x00,0xc1,0xeb,0xaf, 0x84,0xbc,0x34,0x69, 0x28,0x9f,0x1b,0xf2,
- 0x3d,0xe8,0xf6,0x9e, 0x2d,0xbb,0xf9,0x45, 0xee,0x98,0x90,0x6f, 0x2a,0x86,0x9f,0x32,
- 0x35,0x8f,0x6a,0xe1, 0x41,0xfb,0x1a,0x6d, 0x2d,0x96,0x3b,0x49, 0x0b,0xf5,0x1c,0x02,
- 0x39,0xe3,0x32,0x37, 0xa2,0x7d,0x2c,0x14, 0x3b,0x80,0x6c,0x2a, 0x18,0xe1,0xf2,0x80,
- 0x2f,0x15,0xa8,0xd7, 0x61,0xc0,0x04,0x68, 0x2c,0x52,0x22,0x0a, 0x7f,0x8e,0xc1,0xbf,
- 0x9d,0xa0,0x64,0x35, 0x56,0x77,0x3e,0xdd, 0xa5,0x99,0x78,0xe9, 0x91,0xb0,0x9a,0xba,
- 0x2c,0x8d,0x19,0x48, 0xfe,0xc1,0x12,0x1e, 0x9b,0xf5,0x0f,0xf8, 0xf5,0xb8,0x62,0x05,
- 0x32,0xe5,0x57,0x21, 0x26,0x05,0x23,0x33, 0xf8,0x82,0x34,0x8c, 0x46,0x90,0xf4,0x9b,
- 0x70,0x65,0xa0,0xa1, 0x65,0xf4,0xa6,0x99, 0xa4,0xc0,0x75,0x21, 0x82,0x12,0xd3,0x6b,
- 0x94,0x5e,0x4f,0xd6, 0x5b,0x48,0x84,0x5c, 0x4f,0x5f,0xb5,0xc0, 0xa8,0xb8,0xfc,0xc8,
- 0x79,0x88,0x2b,0x1d, 0x15,0xa6,0xd2,0x1e, 0x6d,0x0c,0xe8,0x23, 0x0d,0xcc,0x69,0x08,
- 0x76,0xfb,0x42,0xc9, 0x87,0xc9,0x8b,0x09, 0xe2,0x93,0xfc,0x75, 0xe1,0x89,0x1a,0xc3,
- 0x31,0x67,0x47,0x35, 0xb2,0xda,0x78,0xae, 0x1b,0xa8,0x34,0x60, 0x9d,0xa4,0x1e,0xdf,
- 0xec,0x00,0x7e,0x5b, 0xff,0x5c,0xf0,0x6a, 0x5b,0x1f,0xf9,0xbf, 0x6f,0xa3,0xdf,0x68,
- 0x9f,0x5b,0xb8,0x86, 0x47,0xfc,0xa3,0xd4, 0x3e,0x6b,0x20,0x26, 0x97,0x99,0xec,0xb3,
- 0x7a,0xec,0x2c,0x0b, 0x0f,0x9e,0x61,0xa9, 0xe5,0x80,0x7e,0x7d, 0x7e,0xd7,0xf6,0xdc,
- 0x35,0x09,0x7b,0x2c, 0x84,0x9b,0xa7,0x97, 0x33,0x3a,0x32,0x3d, 0xb1,0x96,0x0e,0x37,
- 0x1f,0x71,0x68,0xd8, 0x37,0x52,0x37,0xf0, 0x51,0x44,0xda,0x72, 0x04,0x38,0xc8,0x65,
- 0x51,0x4d,0x75,0xbc, 0x33,0x42,0x59,0x98, 0x72,0xb5,0xd4,0xbf, 0xc6,0x9c,0xb7,0xb6,
- 0x6c,0xde,0xcd,0x42, 0xee,0xea,0xb7,0x8e, 0xcf,0x39,0xb0,0x0c, 0x21,0x4a,0x17,0xce,
- 0x90,0x8f,0xd6,0xb9, 0x13,0x5e,0x0a,0x62, 0x90,0x1a,0xd9,0x7a, 0x7a,0x01,0xb9,0x4f,
- 0xaf,0x35,0x80,0x46, 0xe8,0xdf,0xc7,0xef, 0xbd,0x76,0x05,0x4e, 0xdd,0xdb,0xc2,0x9b,
- 0x43,0x3f,0x25,0xb9, 0xa1,0x50,0x06,0xff, 0x05,0x1b,0x19,0x32, 0x99,0x2a,0xfa,0x53,
- 0x5b,0xfa,0x1f,0x20, 0x38,0x22,0x3a,0x35, 0x97,0x82,0xda,0x43, 0x5e,0xea,0x37,0xf6,
- 0x1b,0xff,0xe5,0xcf, 0x63,0xe9,0x7a,0x6a, 0xf4,0xe9,0xe5,0xc1, 0x02,0xdf,0x68,0xed,
- 0x7c,0x47,0xae,0xe3, 0x3b,0xca,0x99,0x74, 0x56,0xbd,0xc7,0x01, 0x48,0xcf,0xb5,0x72,
- 0xe0,0x0b,0x09,0xeb, 0xa7,0xfd,0x2a,0x01, 0xa8,0x8d,0xa7,0x22, 0x43,0x33,0xdf,0x63,
- 0x2f,0x2a,0xf8,0xb3, 0xa2,0x72,0xa7,0x77, 0x82,0xa2,0x1a,0xce, 0xfd,0x87,0x8c,0x49,
- 0x2f,0xe1,0xa4,0x58, 0xb2,0x9b,0xc9,0x43, 0x10,0xec,0x54,0x2a, 0xfa,0x3a,0x1a,0x99,
- 0x1e,0xda,0x3a,0x8f, 0xde,0x06,0xc2,0xbe, 0xbc,0xe1,0x5f,0xd3, 0xda,0xb4,0xff,0x31,
- 0xf2,0x7f,0xf9,0xc9, 0x63,0x38,0x9f,0xb5, 0x05,0x81,0x0d,0x43, 0x92,0x5f,0x43,0x6f,
- 0xad,0x20,0xde,0xf0, 0x79,0x0d,0xd5,0xdc, 0x6f,0x29,0x3f,0xce, 0xd2,0x2d,0xfa,0x55,
- 0x34,0x06,0x5f,0x1c, 0x0a,0xc3,0xcb,0xbd, 0x09,0xf7,0x4f,0x58, 0xd2,0x40,0xac,0x0a,
- 0x74,0x5a,0xec,0xe6, 0x74,0x0b,0x15,0x30, 0x9b,0xc6,0x58,0xb2, 0xac,0x6a,0xf5,0x3f,
- 0x33,0x2c,0x07,0x6a, 0x0f,0x73,0xbe,0x06, 0xd7,0x81,0x0c,0xf2, 0x74,0x60,0x37,0x1d,
- 0x6f,0xd0,0xd5,0xcf, 0xc6,0xdc,0x5e,0xfe, 0x72,0xe3,0xf4,0x2f, 0xa5,0xa5,0x74,0x39,
- 0x21,0x2a,0x70,0xc1, 0x6a,0x5f,0xdc,0xf6, 0x62,0xa1,0x02,0x4f, 0xc2,0x03,0xbb,0x30,
- 0x6a,0xc5,0x83,0x98, 0xa8,0x30,0x12,0x80, 0x5d,0x2f,0xe0,0x70, 0xb6,0x0d,0xa9,0x7a,
- 0x9b,0x08,0x99,0xde, 0x57,0xe6,0x26,0x6a, 0x36,0x15,0xfd,0x14, 0x1b,0x55,0x47,0xa3,
- 0xe0,0x2d,0x67,0x24, 0x5c,0xea,0x8d,0x3c, 0x48,0x08,0x1a,0x85, 0x7b,0xaf,0xdc,0x3c,
- 0x18,0x26,0x85,0x4b, 0xc5,0x32,0x9e,0x59, 0xdb,0x13,0xc1,0x28, 0x13,0x4c,0x07,0x51,
- 0x75,0x34,0x5c,0xb4, 0xef,0x10,0x43,0xed, 0xbd,0x56,0xab,0xda, 0x3b,0x2e,0x98,0x99,
- 0x1c,0x9b,0xc3,0x45, 0x77,0xf2,0x0a,0xc0, 0x81,0xb6,0x65,0x84, 0xa3,0xc4,0xe2,0x0f,
- 0x2c,0xcb,0x26,0x30, 0xa8,0x4c,0xe0,0xb7, 0x05,0xb0,0x30,0x10, 0x8f,0xda,0x41,0x7c,
- 0x11,0x17,0x13,0x66, 0x67,0x45,0x05,0x1b, 0x8f,0x35,0x06,0x21, 0x3f,0x50,0x8c,0x83,
- 0x2c,0xeb,0x25,0x66, 0x5c,0xf6,0xee,0x2b, 0x35,0x39,0x29,0x0d, 0x28,0x66,0xf3,0x65,
- 0xaf,0x49,0x5a,0xc9, 0x23,0xf2,0x9b,0xe2, 0x84,0xb1,0x15,0x4e, 0x6a,0x5d,0x07,0xd9,
- 0x35,0xce,0x17,0x77, 0xe5,0x5f,0x3f,0x09, 0x5c,0x5f,0x78,0x84, 0x21,0xde,0xf2,0xac,
- 0x70,0xd1,0xca,0xd5, 0x4a,0xb1,0xc9,0x12, 0x28,0x58,0xc0,0xb1, 0x3c,0xa2,0x07,0x7b,
- 0xd5,0xb5,0xf6,0x60, 0x60,0xbc,0xa8,0x4d, 0x46,0xd1,0x2b,0x7b, 0x35,0x0b,0x47,0x78,
- 0xfb,0xcc,0x90,0x48, 0xb4,0x13,0x59,0xf2, 0x25,0x17,0x67,0xfb, 0x73,0x65,0x74,0x5a,
- 0x73,0xf7,0xfe,0xb7, 0xaf,0x20,0x29,0x3a, 0x12,0x35,0xab,0xcf, 0x6f,0x8f,0x5b,0x79,
- 0xb0,0x4d,0x56,0x8e, 0x01,0xff,0xb5,0xcf, 0xf7,0x47,0xa5,0x29, 0xda,0x1f,0x95,0x5b,
- 0x1e,0xf6,0x27,0x55, 0x61,0x5e,0xf5,0xe7, 0x0f,0x23,0xea,0x68, 0x3d,0xff,0xfb,0xde,
- 0xb0,0x5f,0x82,0x06, 0x27,0xca,0x2c,0xae, 0x17,0x14,0x59,0xe5, 0x47,0x91,0xa7,0x3b,
- 0x32,0x4e,0x33,0x55, 0xdb,0xc2,0x4b,0x74, 0x1f,0xee,0x63,0xfa, 0x66,0xc2,0x6a,0xc8,
- 0xca,0x74,0x22,0x74, 0x6a,0x55,0x36,0x5b, 0xe1,0x75,0x14,0x60, 0xb0,0x84,0x11,0x24,
- 0x00,0x7c,0xf7,0xb3, 0x5d,0x59,0xfc,0x4b, 0x29,0x9f,0x45,0x52, 0xa9,0x31,0x0b,0xeb,
- 0x49,0xf2,0xc5,0x59, 0x94,0x21,0x61,0x26, 0x11,0xd3,0x72,0xf8, 0x6a,0x7c,0x3b,0xfd,
- 0x2c,0x24,0xbd,0x0e, 0xa0,0xc3,0xd5,0x17, 0xb4,0xb2,0x37,0xe6, 0xe4,0x52,0x50,0x00,
- 0x4b,0xb3,0x3a,0x31, 0x09,0x2b,0xeb,0xcf, 0xf8,0xe5,0xf8,0x78, 0x4d,0x7c,0x98,0xca,
- 0xb8,0xe7,0xed,0xba, 0xe7,0x31,0xa6,0x7b, 0x3f,0x70,0x10,0x99, 0x34,0x62,0x4d,0x11,
- 0x9a,0x4e,0x04,0x49, 0x31,0x46,0xec,0xf8, 0xeb,0xf2,0xe8,0xd3, 0xe0,0x30,0x7b,0xf8,
- 0x44,0xc1,0xd8,0x86, 0x29,0xc2,0xe2,0x8b, 0xee,0x57,0xa6,0xe7, 0x36,0xd5,0x29,0x24,
- 0xd6,0x84,0x69,0x33, 0x00,0x1c,0x90,0x9b, 0x27,0xdd,0x98,0xb9, 0x76,0xb7,0x93,0x96,
- 0x33,0x05,0x32,0xf2, 0x3d,0x2c,0x08,0xfb, 0x9d,0x3f,0x1a,0xab, 0xe1,0x1b,0xb4,0x19,
- 0xc2,0xbc,0x94,0x39, 0xe4,0xf9,0x7c,0xc2, 0x71,0xff,0xad,0x9a, 0xa6,0x58,0x87,0xef,
- 0x4d,0x0c,0xfe,0x19, 0x8f,0x10,0xf7,0x57, 0x94,0x80,0x15,0x53, 0xad,0xdb,0xeb,0x30,
- 0x01,0x9f,0x07,0xd3, 0x9d,0x5b,0xd6,0x58, 0x28,0x6d,0x65,0xa3, 0x08,0x91,0x80,0xf5,
- 0xe5,0x86,0x3b,0x2f, 0xf2,0x15,0xfe,0xaf, 0xd9,0x17,0x8d,0xed, 0x43,0x8b,0x20,0x50,
- 0x8a,0xe1,0x46,0x27, 0xeb,0x49,0xe2,0xc1, 0x36,0x44,0xb3,0x50, 0x91,0xf4,0x2f,0x98,
- 0xb3,0x44,0x60,0x50, 0xa9,0x05,0xc2,0x50, 0x4e,0x8d,0x56,0xcb, 0x38,0x56,0x10,0xd7,
- 0xbe,0x94,0xb0,0x35, 0x4c,0xb8,0xc4,0x7a, 0xad,0x5f,0x38,0x70, 0x12,0x24,0xfb,0x1e,
- 0x53,0xa5,0xd0,0xff, 0xb5,0x70,0x3a,0xc2, 0xdf,0x54,0x77,0x3d, 0x1f,0x0f,0x3f,0x3a,
- 0x2c,0x04,0x3c,0x32, 0x87,0x71,0x30,0x0a, 0xec,0x8d,0x27,0x0f, 0xef,0x8e,0xdc,0xfa,
- 0xa9,0x9d,0x29,0x3f, 0xab,0xee,0xbe,0x14, 0x7a,0x64,0x68,0xf6, 0x98,0xd7,0x20,0x30,
- 0x47,0xd6,0x8f,0xc1, 0x54,0x72,0x88,0xd8, 0xd1,0x38,0x69,0xe2, 0x95,0xae,0xdf,0x77,
- 0xbd,0x42,0x92,0xe3, 0x25,0xf9,0x6a,0x0e, 0xc2,0x7d,0x6a,0x34, 0xbb,0xda,0x7f,0xf1,
- 0xdb,0x86,0xd8,0xff, 0x80,0x93,0x58,0x3a, 0x0a,0x89,0x9e,0x95, 0x7c,0xac,0x59,0x0a,
- 0x02,0x16,0x1d,0x7c, 0x80,0x7b,0x6d,0xbb, 0x66,0xfd,0xb5,0x4c, 0xe5,0x0b,0x5d,0x08,
- 0xcc,0xca,0xf3,0x18, 0xaa,0x1a,0xe4,0xac, 0x76,0x64,0xe8,0x79, 0xa9,0x30,0xdb,0xab,
- 0x55,0xbd,0x94,0x68, 0xa7,0x48,0x04,0x61, 0x00,0xdd,0x23,0xe1, 0x56,0xaf,0x1c,0xdd,
- 0xf9,0x1b,0x8a,0xcb, 0x75,0xaa,0xf7,0x99, 0xef,0xa5,0x0c,0x9c, 0x3c,0xb5,0xd1,0xce,
- 0x06,0xab,0x17,0xfe, 0xcc,0xe3,0x88,0x09, 0xb5,0xf7,0x3a,0x44, 0xcd,0x91,0x85,0x8a,
- 0xc5,0x1f,0x7b,0x89, 0x39,0x6c,0x9a,0x85, 0x4c,0x59,0xed,0x39, 0x39,0x0f,0x01,0x27,
- 0xcd,0x3e,0x88,0x82, 0x88,0xd2,0xbe,0x43, 0x1e,0x8b,0x23,0x00, 0xb0,0x2a,0x9e,0x4a,
- 0x6c,0xe7,0xc1,0xd1, 0x46,0x4d,0xe9,0x30, 0x11,0x1d,0xe9,0x54, 0xa2,0x44,0xbf,0x0a,
- 0xdd,0xd2,0x9f,0xe6, 0xad,0xcf,0xdf,0x94, 0x7d,0xf9,0x72,0xd9, 0x18,0x2b,0x81,0x41,
- 0x5b,0xf6,0xbf,0x35, 0x02,0x71,0x6a,0x3f, 0xc8,0x13,0x4d,0xf5, 0x7b,0x92,0x26,0x94,
- 0x40,0xc2,0xf4,0x2e, 0x50,0x13,0xf7,0x79, 0xc1,0xe9,0xf1,0xe4, 0xee,0xd9,0x8e,0x7e,
- 0x97,0x18,0x7d,0xe1, 0x1e,0xb9,0x3e,0xbf, 0xba,0x92,0x5c,0x12, 0xaf,0x42,0x94,0x3c,
- 0x14,0x24,0x3f,0x6e, 0x6d,0xcc,0x64,0x35, 0x19,0x3a,0xd6,0xf7, 0xd3,0xc0,0x5a,0xc5,
- 0x1f,0xe1,0xbb,0xf4, 0xa4,0x67,0x5f,0x0d, 0x8d,0xc2,0x2d,0x19, 0x56,0x40,0x32,0x57,
- 0x9c,0x4b,0x93,0x15, 0xba,0x3c,0x37,0x91, 0xe9,0x31,0xee,0xee, 0x62,0xba,0xa4,0xea,
- 0xa4,0x0f,0x5b,0x10, 0x2d,0x3d,0x08,0x49, 0x0d,0xb4,0x8f,0xd4, 0x00,0x56,0x7c,0x15,
- 0xe8,0xed,0xd7,0xa3, 0xcf,0xce,0x3d,0x61, 0x74,0xac,0x7f,0xc9, 0x69,0x33,0xd3,0x7f,
- 0x37,0x9f,0x2c,0x91, 0x67,0x0f,0xbd,0x2e, 0xb4,0x4e,0xdb,0x57, 0xa5,0x14,0xbf,0xee,
- 0xb4,0xcc,0xa4,0xe2, 0xa9,0x11,0x52,0x2c, 0x29,0x9e,0x96,0x6c, 0x06,0xc1,0xd5,0x92,
- 0xe4,0xad,0x2d,0xf9, 0x10,0x00,0x7a,0x63, 0x08,0x50,0xe5,0x3f, 0x24,0x64,0x8e,0x19,
- 0x3b,0x73,0xb2,0x1a, 0xb3,0xfd,0xc0,0xc8, 0x5d,0x50,0x93,0xfa, 0x8c,0xc3,0x4a,0x9d,
- 0xbe,0x99,0x3e,0x04, 0xde,0xed,0xf0,0xc0, 0x35,0x7b,0xff,0x69, 0x67,0x02,0x93,0x28,
- 0xb4,0xef,0xc5,0xdf, 0xd9,0xf3,0xfc,0xce, 0x59,0x2e,0x2c,0xc3, 0x16,0x80,0x15,0x82,
- 0xde,0x92,0x58,0xc4, 0x1b,0x15,0x16,0x0e, 0xad,0x3d,0xa3,0x26, 0xd4,0x1e,0x83,0x78,
- 0x72,0x1e,0xa8,0x84, 0x67,0xbf,0x13,0x4a, 0xb5,0x9b,0x11,0x38, 0x7f,0xb9,0x3f,0xc2,
- 0x37,0x65,0xf4,0xd2, 0xb2,0x2b,0x1b,0xd3, 0xe8,0x21,0xff,0x95, 0x91,0xba,0x1e,0x8e,
- 0xc1,0xbd,0xb8,0x9d, 0xe7,0xa6,0x7c,0x77, 0x83,0x0e,0x4e,0xc6, 0xd8,0x7b,0x40,0x1d,
- 0xb7,0xed,0xa3,0x08, 0xff,0x33,0x20,0x8a, 0x6c,0x78,0x31,0xc7, 0xc4,0xf8,0x3b,0x37,
- 0x6b,0xac,0x43,0x18, 0x3c,0xb3,0x1a,0x19, 0x04,0xd4,0x83,0x3b, 0x9e,0xa3,0x79,0x62,
- 0xaf,0x56,0x5f,0xf5, 0xe5,0x8b,0xb4,0xd7, 0xea,0xab,0xd9,0xd5, 0x47,0xa4,0xec,0xa0,
- 0xf4,0xc7,0xa0,0x1c, 0xf9,0x59,0x0f,0x07, 0x8d,0x41,0x01,0x83, 0xed,0x63,0x25,0xc4,
- 0x21,0xf2,0x24,0x19, 0xbd,0xcd,0xbc,0x39, 0xe7,0x44,0x85,0x6f, 0xfd,0x6f,0x29,0x01,
- 0xf6,0x7c,0xa6,0x02, 0xff,0x38,0xf5,0x93, 0x5f,0x8a,0x7e,0xbd, 0x8e,0xbe,0x9b,0xce,
- 0x5c,0xe5,0xd2,0x62, 0x6a,0x0c,0xd7,0x3b, 0x66,0x7f,0x99,0x85, 0x94,0x49,0x2e,0xb7,
- 0x92,0x0f,0xc9,0xeb, 0x06,0xc9,0x0a,0x77, 0x9b,0xa2,0x34,0xe0, 0x78,0x6b,0x55,0x3c,
- 0x01,0x7b,0x93,0xa8, 0x7b,0x1d,0x1e,0x33, 0x40,0x81,0xc0,0xaa, 0x77,0x60,0xc3,0x0c,
- 0xda,0xde,0xca,0x08, 0x59,0x2e,0x20,0x9c, 0xaf,0x6d,0x2c,0xb5, 0x4f,0x7d,0x11,0x2a,
- 0x33,0xaf,0x3e,0x90, 0x25,0x97,0x2a,0xf2, 0x05,0x8b,0xd4,0xf7, 0x1b,0x2f,0x13,0x75,
- 0x7e,0xe3,0x19,0xa7, 0x6f,0x69,0x52,0x86, 0xcb,0x13,0x57,0x86, 0x8e,0xdf,0x44,0xf7,
- 0x00,0x3b,0x45,0x47, 0x87,0x2e,0x7f,0xbe, 0x30,0x7f,0x1a,0x28, 0x8f,0xc5,0x7c,0x44,
- 0x67,0xb9,0xb8,0x66, 0x1a,0x7a,0x7d,0x29, 0x3c,0x03,0x16,0xbf, 0x1b,0x40,0xe5,0xab,
- 0xa3,0xe1,0x47,0xdb, 0x91,0x90,0xba,0x9a, 0x04,0x9d,0x98,0xe4, 0x28,0x71,0xa9,0x52,
- 0x2b,0xb2,0xa3,0x3d, 0x17,0x93,0x53,0xa0, 0xf0,0x9c,0x34,0xb8, 0x7a,0x30,0x53,0x3c,
- 0xf8,0x01,0x10,0x9b, 0xa1,0x06,0x7f,0x45, 0xc9,0xa5,0x29,0xe7, 0xa8,0xcb,0xa3,0x3e,
- 0x1a,0x99,0x3e,0x0c, 0x22,0xe5,0x59,0x0b, 0x91,0x69,0x42,0xf7, 0x17,0x53,0x03,0x84,
- 0x93,0x8f,0x2a,0xce, 0x55,0x52,0xc7,0xd2, 0x6b,0x7b,0x6e,0x67, 0xf6,0x54,0xac,0x85,
- 0xca,0x1a,0x44,0x11, 0xce,0xbc,0xe7,0x7a, 0xa2,0x02,0xee,0xaa, 0x61,0x82,0x72,0x1b,
- 0x36,0xae,0x2b,0x83, 0xd5,0x40,0x54,0x88, 0xa9,0x8c,0xd3,0xb7, 0x2f,0x2c,0xea,0xf1,
- 0xb0,0x1f,0x9e,0x6b, 0x38,0xb8,0xa1,0x84, 0x0f,0x9c,0xe2,0x93, 0x04,0xb2,0xae,0x08,
- 0x7d,0xe7,0x10,0x33, 0x4b,0x6b,0xa8,0x0c, 0x31,0x94,0xe3,0x00, 0x31,0x57,0x4e,0x8f,
- 0x5d,0xd4,0x61,0x4a, 0x33,0x9c,0x58,0x3a, 0xac,0x53,0xb9,0xda, 0x0b,0x21,0x8b,0x39,
- 0x01,0x43,0x7c,0xce, 0xea,0xdd,0x61,0xc2, 0xff,0x27,0x9e,0xa2, 0x56,0xa1,0xd4,0xe8,
- 0x55,0x37,0xc5,0x90, 0xe8,0x34,0x81,0x57, 0xf5,0x1b,0x55,0x20, 0x6d,0x64,0xf9,0x2c,
- 0xd2,0x18,0x4b,0x6b, 0xc7,0x90,0xfc,0x6c, 0xc3,0x99,0xe8,0xfb, 0xb7,0xf9,0x3a,0xe9,
- 0x8f,0xcb,0xc0,0xe8, 0xce,0xf8,0x66,0x99, 0x37,0x6c,0xd5,0x85, 0xd5,0xa9,0x48,0xf7,
- 0xd4,0x00,0x1d,0xf3, 0x74,0xf5,0xb8,0x12, 0xce,0xd3,0x82,0xec, 0x61,0xb9,0xbf,0x36,
- 0x96,0xbe,0x7c,0xbc, 0xdc,0x0a,0x99,0x5a, 0x7a,0xb0,0x2c,0xf8, 0x7b,0x83,0xc4,0xd0,
- 0x58,0x7f,0xb1,0xaa, 0x2c,0x67,0x40,0x88, 0x37,0x0d,0xb3,0x09, 0x2c,0x7b,0xdc,0x13,
- 0xc5,0x3c,0x29,0x98, 0x13,0xbc,0x69,0xf3, 0x44,0xd4,0xb6,0x5d, 0x46,0xee,0x7d,0xda,
- 0x60,0x25,0xc9,0x83, 0xb5,0x12,0x13,0xc5, 0xb9,0xd7,0xe8,0x99, 0x1a,0x3c,0xa2,0xc9,
- 0x74,0x78,0xe8,0x8f, 0xaf,0xec,0x57,0x3f, 0x4a,0x89,0x08,0xf3, 0xfa,0x70,0xb5,0x55,
- 0xf0,0xd6,0x7a,0xbd, 0x73,0x91,0x24,0x15, 0x28,0xea,0xcc,0xf8, 0x34,0x9d,0xcd,0x7d,
- 0x84,0x77,0x73,0x9b, 0x3a,0x3f,0x81,0x12, 0xcc,0xc0,0x5b,0xe9, 0x20,0x10,0xae,0x8d,
- 0xe8,0xf7,0x7b,0xaa, 0x03,0x6c,0xad,0x1f, 0x60,0xe6,0x20,0x9d, 0x11,0x45,0x9d,0x42,
- 0x4b,0x91,0x25,0xce, 0x69,0x91,0xdc,0x34, 0xb3,0x92,0xc6,0xef, 0xcd,0xc9,0x66,0x1a,
- 0x93,0xf7,0xa0,0x9d, 0x14,0xca,0x40,0x8c, 0x7d,0xf4,0x01,0x25, 0xc8,0x4d,0x38,0xc3,
- 0x7c,0x2f,0xba,0xf2, 0xb9,0x64,0xb1,0xce, 0xd9,0x26,0x89,0xb2, 0xca,0xd3,0xfb,0x6f,
- 0x4b,0xb2,0x20,0x04, 0xfe,0xba,0x1f,0x97, 0x06,0xda,0xa6,0x36, 0xbb,0xb1,0xb2,0xc3,
- 0xd3,0x3e,0xe2,0xd8, 0xf1,0x18,0xfc,0x24, 0x08,0xa1,0x1d,0xd3, 0xfd,0xbf,0xb0,0x31,
- 0x94,0xdc,0x9e,0x9b, 0x23,0x9d,0xb3,0xbe, 0x7c,0x61,0xbd,0xfc, 0x04,0xf6,0x56,0x28,
- 0xea,0x33,0xf7,0xb8, 0xff,0xf2,0x29,0xd5, 0x8f,0x56,0x82,0x15, 0x4e,0xc8,0xdc,0x20,
- 0xf0,0x8c,0x0a,0x71, 0xdc,0x15,0x85,0x23, 0xbb,0x9a,0x85,0xb2, 0xb6,0x3b,0xe4,0xba,
- 0x85,0xea,0x02,0x5f, 0x95,0x3e,0x2c,0x1a, 0xbe,0x23,0x37,0x88, 0x6f,0x7a,0xb7,0x9d,
- 0xc6,0x51,0xdc,0x07, 0x40,0x71,0x0c,0xc1, 0x79,0x4e,0x7f,0xc8, 0x64,0xf8,0xe1,0xd2,
- 0x01,0xf7,0xd1,0xa6, 0x6a,0x70,0x14,0x55, 0x0e,0xfb,0x60,0x0e, 0x76,0x82,0x82,0x46,
- 0x3a,0x0a,0x10,0xa2, 0x6c,0x2f,0x5a,0x66, 0x02,0xe6,0x73,0xfc, 0x6b,0x54,0x35,0x89,
- 0xaf,0xf4,0xd2,0x17, 0xdf,0xd0,0xdc,0x13, 0xe7,0xeb,0x37,0xbc, 0x79,0xfd,0xb8,0xef,
- 0xd9,0xc6,0x47,0x5f, 0xb5,0x20,0xd2,0x5a, 0x7e,0xf1,0xa0,0x68, 0x06,0xf5,0x50,0xf2,
- 0x77,0xdc,0x0f,0x9f, 0xa0,0x26,0xb5,0x79, 0x7a,0xb8,0xd6,0x76, 0x36,0xc1,0xd2,0xab,
- 0x34,0xfd,0x81,0xee, 0x60,0x88,0x17,0x75, 0xaf,0x0b,0x0a,0x36, 0xea,0xb2,0x16,0x5c,
- 0x43,0x27,0x10,0x71, 0x80,0x89,0x93,0x71, 0x39,0xfe,0x3a,0xd0, 0xf3,0x9b,0x92,0x39,
- 0x38,0xcd,0x2e,0x46, 0x87,0x15,0x19,0x12, 0x4c,0x43,0x39,0x31, 0xf9,0xc3,0x1b,0x43,
- 0x2b,0xec,0x8a,0x21, 0xb1,0x50,0xdb,0x3f, 0x09,0x0e,0x78,0x42, 0x95,0x6d,0x7f,0xa0,
- 0x5a,0x2a,0x1c,0x0f, 0xd4,0x41,0x5e,0xc2, 0xad,0xb7,0xa2,0x99, 0xc1,0xeb,0x2d,0xcb,
- 0x38,0x6b,0x2d,0x42, 0x64,0x93,0xbb,0x3a, 0xb9,0x13,0xc9,0xf0, 0x9f,0x6c,0x2f,0x92,
- 0x7e,0x67,0x5f,0x9e, 0xf1,0x2d,0x80,0x85, 0xa0,0x55,0x79,0x30, 0x0c,0xb9,0xd0,0xf8,
- 0x23,0xdf,0x22,0xe6, 0x6e,0x74,0x7f,0x44, 0x9f,0xf7,0x40,0xa3, 0x23,0x9d,0x19,0xd8,
- 0x88,0x15,0xf4,0x23, 0xd9,0x94,0x3e,0x65, 0x1a,0x82,0xa9,0xec, 0x47,0xb4,0x0e,0x87,
- 0xf8,0x2d,0xf4,0x82, 0x7d,0xda,0xcc,0x27, 0x27,0x0a,0xc3,0xed, 0x85,0x9a,0xbd,0x2c,
- 0x96,0x0b,0x5b,0xa5, 0x03,0x05,0xad,0x9a, 0xb3,0x65,0xe1,0x1e, 0x31,0x6b,0xc5,0x25,
- 0x1e,0x33,0x90,0x50, 0xda,0x20,0xe8,0x73, 0x83,0xe3,0xda,0x6c, 0x33,0x88,0x1d,0x45,
- 0x57,0xdb,0x1f,0x9c, 0xbe,0x7d,0x51,0xda, 0xfc,0x8d,0xd7,0xdb, 0x04,0x4f,0x22,0x91,
- 0x29,0x4b,0x23,0xe8, 0xd6,0x90,0x40,0x07, 0xcb,0xf8,0x58,0x5e, 0x97,0x46,0x6c,0xf8,
- 0xb0,0x60,0x9b,0x7a, 0x71,0xa1,0xd4,0x77, 0x23,0x57,0xd7,0x5a, 0xeb,0x9c,0x24,0x4f,
- 0x37,0x8c,0xd2,0x67, 0x5d,0xcf,0x0b,0xb8, 0x9b,0xb0,0x5a,0xc4, 0x79,0xd3,0xa5,0x9e,
- 0xb4,0xc6,0x1d,0x19, 0xa3,0x3b,0x07,0x44, 0x04,0x50,0x1c,0x98, 0xe5,0x21,0x80,0xc5,
- 0x58,0x33,0xcb,0x5b, 0xce,0x38,0x1c,0x64, 0x8b,0x4d,0x99,0x1c, 0x0a,0x2c,0x5b,0xcf,
- 0xd4,0xcf,0xf4,0x60, 0xa8,0x55,0x50,0x9f, 0x5f,0xa5,0xb2,0xe6, 0x91,0xbc,0xf3,0xe8,
- 0x20,0x6e,0x6d,0x91, 0x34,0x44,0x17,0xbc, 0xe5,0x68,0x81,0x23, 0xfe,0xd8,0x0e,0xd9,
- 0x5a,0xa8,0x1c,0x74, 0x21,0x61,0x6b,0xd7, 0x4d,0xe2,0xba,0x28, 0x89,0x28,0x6d,0x2f,
- 0xd3,0xf0,0x71,0xe7, 0x0b,0x05,0x45,0x3b, 0x46,0x3a,0x46,0x14, 0x14,0xe0,0x07,0x2f,
- 0xff,0x3e,0xc9,0xd7, 0x16,0xc1,0x6d,0x5f, 0x8d,0x14,0xa7,0x96, 0xb7,0x17,0xae,0x23,
- 0x7f,0xb1,0x43,0x27, 0xd0,0x4f,0x42,0x10, 0x7c,0x8f,0xbe,0x12, 0x32,0x16,0xfa,0xad,
- 0x02,0x3b,0x0f,0x0e, 0xa0,0xd5,0xf2,0x16, 0xb1,0xa1,0xbc,0xa4, 0x50,0x7e,0x9c,0x98,
- 0xdc,0xb8,0x33,0xdf, 0x74,0xf8,0x15,0xa6, 0x19,0xdf,0xe8,0xdf, 0x58,0xa5,0xc1,0xf0,
- 0x01,0xea,0x52,0x38, 0xa2,0x30,0x30,0xf7, 0x43,0x91,0x70,0x20, 0x37,0x51,0x38,0x36,
- 0x19,0x3e,0xfb,0x40, 0x2d,0x33,0xae,0x5b, 0x4f,0xc0,0x9c,0xf5, 0x0c,0x1d,0x28,0xa0,
- 0x86,0xd5,0xdf,0x4d, 0xd6,0x41,0x26,0x3b, 0x2e,0xfc,0xfa,0x0f, 0x19,0x6d,0xc1,0x24,
- 0x2b,0x99,0xc3,0x74, 0x6d,0x6f,0xb7,0xbe, 0x58,0xd0,0xa1,0x5f, 0x73,0xeb,0xdb,0x35,
- 0x25,0x71,0xb6,0x0a, 0x26,0xe9,0xfe,0x3b, 0x32,0xed,0xf7,0xda, 0x7d,0xb0,0x1e,0x92,
- 0xc0,0x1b,0x3b,0x84, 0x32,0xfe,0x9d,0x78, 0x83,0x2d,0x4c,0x01, 0x5d,0xd5,0x4a,0x89,
- 0x83,0x81,0xea,0xa6, 0xa3,0x84,0xd4,0xf0, 0x84,0x2d,0xc7,0xa1, 0xdc,0x7d,0x8c,0xee,
- 0x63,0xd0,0xd6,0x66, 0x61,0x20,0xc0,0xf4, 0x21,0xb7,0x05,0x54, 0x8d,0xd5,0xda,0xde,
- 0xd4,0x17,0x50,0xd4, 0x1f,0x03,0x91,0x5d, 0xd2,0x65,0xb9,0x52, 0x4e,0xb8,0x56,0xc8,
- 0x50,0x9b,0x11,0x52, 0x7e,0x8c,0x83,0x6d, 0x6d,0x58,0xbc,0x19, 0x72,0x39,0xf3,0xd4,
- 0xdb,0x8f,0xa2,0xef, 0xe6,0xe8,0x71,0x41, 0x7b,0xb7,0xd3,0x84, 0x6b,0x9a,0xcc,0x69,
- 0x50,0x66,0xe0,0xc8, 0x2c,0x41,0x18,0xa8, 0x49,0x8a,0x9d,0x31, 0x40,0x05,0x1a,0xe7,
- 0x2f,0x1f,0xa3,0x2d, 0x91,0x34,0xb9,0xab, 0x47,0xae,0xee,0x5c, 0x95,0x2f,0x60,0x55,
- 0x74,0xb5,0x35,0x37, 0x08,0xe7,0x30,0xc4, 0xc8,0xd8,0xf9,0x35, 0xd7,0x49,0x73,0x84,
- 0xc0,0x13,0x3d,0x08, 0x3b,0xb4,0xc8,0x71, 0x50,0xb1,0x83,0xc1, 0xea,0x26,0xa2,0x13,
- 0x3c,0x11,0x58,0xa8, 0x44,0xb0,0xf8,0x1f, 0xd8,0x2e,0x82,0xed, 0xd5,0x3b,0x1e,0x4e,
- 0x88,0x93,0x7c,0x8d, 0x8a,0xd6,0x88,0x57, 0xd6,0xf1,0x03,0x85, 0xfe,0x82,0x6f,0xb6,
- 0xd8,0x7b,0x28,0xcd, 0x5d,0x65,0xa0,0xa9, 0xdc,0x03,0x7f,0x03, 0x4e,0xc7,0x3e,0x7c,
- 0x3f,0x1d,0x48,0x21, 0x8c,0xd0,0x28,0xf4, 0xcf,0x64,0x32,0x0f, 0x23,0x58,0xde,0x36,
- 0x10,0xed,0x29,0x1b, 0x12,0x85,0xbd,0x42, 0x78,0x95,0x92,0x36, 0xfd,0xa5,0xa7,0x31,
- 0x09,0xfd,0x5b,0x8d, 0xbb,0xb6,0xea,0xf6, 0x72,0xee,0x31,0x22, 0x27,0xf4,0x2e,0x90,
- 0x93,0x34,0x90,0xff, 0xd8,0x5a,0x3d,0x87, 0x93,0x3c,0x97,0x78, 0x27,0x1d,0x39,0x22,
- 0xac,0x74,0x8e,0x05, 0xce,0xb4,0x86,0xa0, 0x9d,0x5e,0x54,0x16, 0x8a,0xc6,0x28,0x62,
- 0x60,0xf7,0x0f,0xd6, 0x8b,0x07,0x3b,0x9e, 0x09,0x73,0x7b,0xd2, 0xc0,0xf0,0x1e,0xb9,
- 0x14,0x12,0xaf,0xfa, 0x37,0x58,0xc1,0xfa, 0x92,0x56,0x0a,0x62, 0x64,0x6b,0xf9,0x2b,
- 0x09,0x2f,0x38,0x9b, 0x89,0x2c,0x79,0x04, 0xda,0x99,0xd8,0xa8, 0x83,0xee,0xc5,0xbe,
- 0xdb,0xc8,0xe8,0x4e, 0x0e,0xc6,0x5c,0x88, 0x4c,0x36,0x5b,0x13, 0xe8,0x9c,0x0d,0x0e,
- 0xb3,0xef,0x34,0xa3, 0x1f,0x08,0x71,0x13, 0x83,0xd9,0x6c,0xab, 0xb2,0xd4,0x07,0x5f,
- 0x22,0x13,0xba,0x3e, 0xcd,0x1e,0x22,0xee, 0x03,0x4f,0x99,0x1d, 0x11,0x3f,0x97,0x7d,
- 0xb2,0x26,0xaf,0x85, 0x87,0xed,0x6f,0x86, 0xa6,0x34,0xb4,0xb7, 0xb2,0x13,0xac,0xb2,
- 0x99,0x45,0x50,0x6e, 0x86,0x7b,0xcc,0xcf, 0x9a,0xb3,0x6b,0x0f, 0x02,0xf9,0x79,0xcb,
- 0xb8,0xeb,0x47,0xe8, 0x03,0x5a,0xe9,0x28, 0xd0,0x98,0x30,0xf2, 0xeb,0x9e,0x97,0xc5,
- 0x41,0x67,0x7c,0x87, 0xd1,0x9e,0xd3,0xb6, 0x23,0xbd,0x8c,0x79, 0x23,0xaf,0x83,0xde,
- 0x26,0xae,0xfc,0x3a, 0xb3,0x81,0x9e,0x78, 0x5b,0x41,0xde,0x20, 0x31,0x1a,0x2c,0x49,
- 0x67,0x7a,0x7d,0x9b, 0xe8,0x9f,0x09,0xd2, 0xbd,0xa8,0x62,0x0b, 0xc7,0x83,0x70,0xab,
- 0x6f,0x94,0x63,0x56, 0x9c,0xe1,0x7a,0xa4, 0xf9,0xde,0xfc,0x25, 0xf4,0x06,0xd9,0xf3,
- 0x56,0x72,0x42,0xc8, 0xbb,0xaf,0xf1,0x1f, 0x15,0x0f,0xbc,0x88, 0xfb,0xc5,0x91,0x1c,
- 0x6e,0x74,0x2c,0x07, 0x72,0x19,0xe5,0xf0, 0x2b,0x4e,0x17,0x62, 0x92,0x18,0x64,0x75,
- 0x94,0x46,0xe5,0x06, 0x68,0x4f,0x2b,0x9d, 0x61,0xf7,0x80,0xe4, 0x72,0x73,0x43,0x4b,
- 0xa1,0x63,0x26,0xc3, 0x1b,0x53,0x6b,0x5e, 0xc1,0x4b,0x6f,0x7b, 0x91,0x31,0x09,0xee,
- 0x0a,0x22,0x38,0xa0, 0x8e,0x9d,0x95,0xc2, 0x96,0x24,0x8a,0x34, 0xa6,0x8d,0xb8,0x7c,
- 0x85,0x00,0x64,0xb5, 0x4f,0x14,0x29,0x17, 0xb7,0xf0,0x11,0x5e, 0xea,0x78,0xd7,0xf6,
- 0x30,0x41,0xb3,0xef, 0xf3,0x47,0xa1,0x08, 0xc5,0x6b,0x07,0x08, 0x55,0x38,0xaa,0xa5,
- 0x5b,0x49,0x17,0x55, 0xf3,0x52,0xcb,0xd9, 0x58,0x97,0x26,0x6a, 0x40,0x79,0xc9,0xbb,
- 0xc8,0x8a,0xad,0xa2, 0xa4,0xc1,0x29,0x40, 0xf7,0xb4,0xc8,0x89, 0x23,0xc9,0xe2,0xb9,
- 0x2b,0xb9,0x95,0xbb, 0xd7,0x78,0x7d,0xa4, 0x50,0x21,0x66,0xad, 0xde,0xa0,0xb8,0x60,
- 0xff,0x3e,0xbe,0x71, 0xc8,0xd0,0x76,0xe1, 0x63,0x51,0x77,0x66, 0x73,0xf5,0xf4,0x25,
- 0x9b,0xde,0x6a,0x40, 0xbe,0x83,0x7c,0x97, 0x4c,0xfd,0x1f,0x47, 0x51,0x8b,0x57,0xce,
- 0x21,0xe9,0x66,0x56, 0xd0,0x37,0x2b,0x3d, 0x77,0x8d,0xa3,0x25, 0x4c,0x82,0x6b,0xda,
- 0xdc,0x45,0xb2,0x74, 0x38,0xbd,0x0e,0x85, 0x5e,0xad,0x56,0x90, 0x29,0x82,0xe1,0xd7,
- 0xc7,0xa4,0x60,0xde, 0x32,0x2f,0xc9,0x33, 0x19,0xee,0x38,0xfd, 0xc2,0x24,0x5f,0x3a,
- 0xb8,0x5a,0x25,0x99, 0x81,0xee,0x47,0x23, 0x94,0x86,0x4d,0x11, 0x48,0x2a,0xd4,0x00,
- 0x02,0xc9,0xf2,0xd4, 0x69,0x2e,0x70,0x4d, 0x84,0xa3,0xea,0x1f, 0xd2,0x9f,0x55,0x1b,
- 0x6e,0xf0,0x76,0x78, 0x71,0xaa,0xd6,0x5c, 0x66,0x37,0x9e,0x26, 0x6d,0xba,0xc4,0x1d,
- 0x58,0xf3,0x31,0xf1, 0x57,0x27,0xbf,0x93, 0xda,0x63,0xe7,0xc2, 0xa8,0xe8,0x11,0x7d,
- 0x60,0x57,0xee,0x5b, 0xc0,0x13,0x87,0xd8, 0x2a,0xdd,0x6e,0xcd, 0x4c,0x1e,0x49,0x8b,
- 0x39,0x65,0xe1,0x3c, 0x59,0x84,0xaa,0xc3, 0x5e,0x64,0x5c,0xbe, 0x4b,0x15,0x39,0xe6,
- 0xc2,0xf2,0xa5,0x2b, 0x71,0x90,0x44,0xda, 0x1e,0xff,0xac,0xb0, 0x40,0xff,0x6d,0x43,
- 0x12,0x93,0xf8,0x5a, 0x50,0x95,0x3f,0x2f, 0x6b,0x25,0xbd,0xb6, 0x38,0x0a,0x18,0x70,
- 0xc2,0x34,0x77,0x19, 0x09,0x20,0x26,0x35, 0xe6,0x3c,0xa7,0x68, 0x72,0x89,0x3d,0xf8,
- 0x3e,0x6b,0x78,0xfd, 0x39,0x63,0x2b,0x54, 0xab,0xac,0x22,0xbd, 0xd4,0x97,0xbb,0xef,
- 0x11,0x9e,0x2d,0x17, 0x7d,0x46,0xf0,0x43, 0xcb,0xd9,0x7f,0x45, 0x61,0xba,0x37,0xf8,
- 0xb7,0x4e,0xeb,0xbd, 0x15,0xcb,0x32,0x96, 0x6e,0xb7,0x70,0xdf, 0x01,0x7b,0x96,0xb8,
- 0x92,0x4e,0xca,0xc4, 0x84,0xf2,0xf9,0x0c, 0x84,0x83,0xce,0x63, 0xb5,0x0e,0x96,0x0d,
- 0xda,0xce,0x47,0x53, 0x4b,0x4c,0x4d,0xdd, 0xd3,0x89,0xca,0x56, 0xe5,0x5e,0x75,0xbe,
- 0x9e,0x2b,0x91,0x30, 0x2f,0x57,0x87,0xe9, 0x8f,0x11,0xf7,0x06, 0xa6,0x31,0xb1,0xf7,
- 0x0a,0x29,0x09,0xf6, 0x9c,0x6b,0xcd,0xfb, 0x84,0x31,0xbc,0xc6, 0x96,0x95,0x39,0x1e,
- 0x45,0xeb,0xc8,0x6e, 0x5f,0xb9,0xd8,0x1b, 0x8f,0x3d,0x33,0xb5, 0x12,0xb3,0x55,0x42,
- 0xac,0xe9,0xcd,0x93, 0x04,0x4f,0x46,0xc2, 0xa2,0x57,0xb6,0x46, 0x56,0x69,0x85,0x47,
- 0xda,0x7f,0x2e,0x64, 0x7a,0x9c,0x51,0x7a, 0x1a,0xad,0x27,0xea, 0xee,0x8a,0x08,0xa4,
- 0x48,0x9e,0xd9,0x18, 0x6a,0x48,0x16,0xa6, 0x4a,0x34,0x48,0xa3, 0x3e,0x03,0xfd,0x28,
- 0x5e,0xa9,0x82,0xe3, 0x4c,0x83,0x4e,0xd1, 0xe1,0xd7,0x60,0x3d, 0x4e,0x2d,0x08,0x37,
- 0x69,0x99,0xcb,0x4d, 0x6a,0xaa,0x01,0x92, 0xc1,0xa3,0xd4,0x3f, 0xcd,0xf2,0x1e,0x01,
- 0x3d,0xc3,0xcc,0xe6, 0x17,0xb5,0x09,0xef, 0x95,0x79,0x98,0x2c, 0x9d,0xb9,0x9c,0x4c,
- 0x8c,0xe5,0x35,0xdd, 0x78,0x09,0xc0,0x54, 0xa2,0xa7,0x2c,0xb1, 0xed,0xe9,0xb4,0x6e,
- 0x55,0xf4,0x6f,0xb2, 0xde,0xfa,0x8b,0xf9, 0x2b,0xb6,0xd9,0xd4, 0xad,0x3e,0x1b,0x55,
- 0x44,0x9e,0x1b,0xe5, 0x90,0x03,0x38,0x45, 0x3d,0xfc,0x21,0x5f, 0xe7,0x5c,0x96,0x8a,
- 0xc2,0xe0,0xde,0xda, 0xe9,0x09,0x0c,0xd6, 0x80,0xa0,0xee,0xcd, 0xdf,0x44,0xbe,0x4d,
- 0xb6,0xfc,0x07,0xfc, 0x10,0x1f,0x65,0xe7, 0x0c,0xb5,0xd8,0xc8, 0x51,0x91,0xbf,0xc1,
- 0xa8,0x87,0xf7,0xe5, 0x6d,0x2d,0x67,0x86, 0xf2,0xa9,0x31,0xa2, 0x7a,0x90,0xc4,0xf6,
- 0x26,0xdb,0x79,0x65, 0x4d,0xec,0xf2,0x15, 0x52,0xe3,0x63,0x16, 0x2a,0xc2,0xea,0xff,
- 0x1a,0x3f,0xcd,0x95, 0x15,0xb0,0x37,0x88, 0xa7,0x00,0x45,0xcf, 0xdb,0x90,0xec,0x0f,
- 0x9b,0xa3,0x32,0xc8, 0xe2,0x4a,0xdf,0xe3, 0x22,0x44,0x44,0x02, 0x65,0x43,0x43,0xdc,
- 0x17,0xdb,0x44,0x23, 0x15,0xe5,0xc6,0xf6, 0xcd,0x4e,0x30,0x4d, 0x74,0x16,0x22,0x9b,
- 0x7d,0x73,0xdf,0xac, 0xa0,0xc7,0x94,0xd2, 0x58,0xc9,0xe9,0x0e, 0xa4,0x6e,0x2c,0x51,
- 0x5e,0xa8,0x3b,0x32, 0x86,0x42,0xd9,0x0a, 0x9b,0x2b,0xf2,0x02, 0xa1,0xe6,0xad,0x68,
- 0x0f,0xd2,0x00,0x85, 0x6d,0xba,0xb8,0xab, 0xe2,0x64,0xcc,0xa8, 0xb8,0xc7,0x9e,0x6f,
- 0x6f,0xa8,0x9f,0x38, 0x0f,0x9a,0x97,0x9a, 0xa2,0x74,0xea,0xd3, 0xb1,0x7e,0x51,0xa7,
- 0x86,0xc6,0xc0,0x76, 0x5d,0x2d,0x36,0xe1, 0xfe,0x20,0x7f,0xd5, 0xae,0x18,0x5e,0x54,
- 0x4f,0xc1,0xa1,0xfc, 0xf2,0xe9,0x13,0x67, 0xde,0x95,0xd2,0xaa, 0xb7,0x51,0xdf,0x33,
- 0x6b,0x5d,0xc5,0xf7, 0x52,0xa7,0x69,0xd8, 0x81,0x58,0x61,0x37, 0xb9,0x86,0x16,0xa8,
- 0xa9,0xa3,0xae,0x45, 0xe1,0x69,0xb6,0x4e, 0xd2,0x0f,0xbc,0xa5, 0xa1,0xd2,0xd4,0x64,
- 0x3d,0x6b,0x0d,0x7a, 0x03,0x82,0x26,0xd6, 0xea,0x4a,0x25,0x92, 0xc6,0xd0,0xd0,0xbe,
- 0x6e,0xc4,0x81,0xc8, 0x29,0x80,0x13,0x5e, 0x58,0x96,0xad,0x78, 0xf2,0x73,0x91,0x30,
- 0xbf,0x41,0x67,0xa8, 0x7c,0x80,0xb5,0x51, 0xcc,0x2c,0xf5,0x39, 0x75,0x84,0x0f,0x1a,
- 0xcf,0x2e,0xa5,0x26, 0x9a,0xe4,0x3e,0x42, 0x90,0x2a,0x2f,0x38, 0x68,0x01,0x0b,0x6f,
- 0x8a,0x1b,0x52,0x6b, 0x58,0x42,0x70,0xcc, 0x79,0xfa,0xa0,0x73, 0xda,0xc9,0xe8,0x57,
- 0x72,0x04,0x4f,0xcc, 0x71,0x01,0x25,0x9d, 0xee,0x0d,0x61,0xf0, 0xc7,0x8d,0xf6,0x54,
- 0x41,0x99,0x75,0xf9, 0xce,0x73,0x46,0x1f, 0xb0,0x95,0x69,0xbc, 0xaf,0xaf,0x66,0x3c,
- 0x2f,0xc9,0xaf,0x8b, 0x8b,0x3d,0xb9,0x0f, 0x8f,0x63,0xe9,0x49, 0x7f,0x95,0xca,0xba,
- 0x33,0xc7,0x31,0x0c, 0xc2,0xb9,0x4b,0x15, 0xe8,0x6b,0x0d,0x3a, 0x63,0x8c,0x1d,0xeb,
- 0xda,0xf3,0xcd,0x52, 0xda,0xce,0x92,0x49, 0x88,0xac,0x2d,0x3b, 0x10,0x1f,0xf3,0x6e,
- 0xb7,0xf8,0x22,0x73, 0x4f,0xd1,0x1e,0x3c, 0xe5,0xbb,0x78,0xfa, 0xc4,0x3e,0x24,0xa8,
- 0x3e,0xc6,0x82,0x10, 0x1c,0xc0,0x08,0xa7, 0x5b,0x4a,0x18,0x22, 0x87,0x37,0x21,0x9b,
- 0x1f,0x4f,0xb1,0x3c, 0x57,0x36,0x30,0xda, 0x73,0x27,0x10,0x36, 0x00,0xbf,0xf3,0xda,
- 0xe4,0x2d,0xae,0xd8, 0xab,0x66,0x50,0x7b, 0x83,0x33,0x82,0x78, 0x67,0x04,0xdb,0x1c,
- 0x4c,0xdf,0xca,0x5b, 0xeb,0x49,0xef,0x65, 0x65,0xf2,0x5b,0x05, 0xfb,0xa6,0xc5,0x3c,
- 0x3f,0x02,0xe6,0xb3, 0xe6,0x6b,0xe1,0x80, 0x5c,0x82,0x03,0xee, 0xeb,0xc7,0xe4,0x39,
- 0x03,0x90,0xd3,0x1d, 0x8e,0xdc,0xd7,0x2e, 0x95,0x5c,0xa1,0xb1, 0xee,0x70,0x42,0x41,
- 0x45,0xf3,0xe7,0x21, 0xef,0xbb,0xf4,0x34, 0x3f,0xde,0x23,0x8d, 0xe8,0x23,0x14,0xb0,
- 0x83,0x3a,0xc8,0x90, 0xf1,0x9a,0xe1,0xa7, 0x22,0x20,0xa7,0x52, 0x6f,0x2f,0x87,0x9c,
- 0x65,0xf9,0xb4,0xd3, 0x53,0x00,0x81,0xdc, 0x92,0x98,0x03,0x4d, 0x6c,0x5b,0xdd,0xa9,
- 0xca,0xf4,0x4b,0xbf, 0x9d,0xa6,0x4e,0xf3, 0x9f,0x4c,0xdc,0x30, 0xd1,0x46,0x13,0x59,
- 0x2b,0x36,0x3d,0x64, 0x73,0xde,0x7b,0x3d, 0x26,0x61,0xd2,0xb8, 0x91,0x2b,0x86,0xbb,
- 0x26,0x0d,0x5d,0x3b, 0x18,0x21,0xa2,0x3e, 0x0e,0x34,0xd0,0x7c, 0xf8,0xb2,0x2d,0xb0,
- 0xcb,0x10,0x3b,0x83, 0x85,0xe1,0x63,0x3c, 0xd3,0x5d,0xf3,0x44, 0xa1,0x9f,0x6b,0xef,
- 0x7a,0x45,0xce,0xb7, 0xf5,0x96,0x27,0x0c, 0x87,0x1c,0x4d,0x0c, 0x16,0x81,0x57,0xd0,
- 0x25,0x1b,0x11,0x8c, 0x99,0x28,0xd2,0x14, 0xa1,0xf4,0x7f,0x0a, 0x15,0x9d,0xf9,0x99,
- 0xb0,0xef,0x4a,0xf2, 0x06,0x12,0x9b,0xf6, 0x9d,0xcb,0x53,0xdc, 0x4f,0x6f,0xab,0xa3,
- 0xf4,0xa5,0xaf,0x88, 0x2c,0xa1,0x15,0xfb, 0x73,0x13,0x99,0x33, 0x83,0x8f,0x4b,0x96,
- 0x44,0x40,0x7f,0xb1, 0x2c,0x85,0x73,0xc1, 0xd7,0xc5,0x9d,0xdc, 0xca,0x31,0x6a,0xb2,
- 0xbc,0x85,0x41,0x83, 0xc1,0x35,0xb0,0x9a, 0x1e,0xce,0xe7,0x06, 0x72,0xde,0x0e,0x9d,
- 0x4f,0x13,0x85,0x21, 0x0d,0xd6,0x1b,0x08, 0xe3,0x20,0xbe,0x78, 0x8a,0xf7,0x3f,0xcb,
- 0x0c,0xa3,0x73,0x74, 0xcf,0xde,0x32,0xe3, 0x52,0xa7,0x47,0xaf, 0xba,0x14,0x15,0x12,
- 0xc2,0xec,0xaf,0x18, 0x79,0x29,0x05,0xac, 0xc7,0x88,0x8d,0x8f, 0x58,0xdd,0xa7,0x3e,
- 0xb5,0xbd,0x49,0x0a, 0xef,0xaf,0xdc,0xf1, 0x01,0xa7,0xdb,0x5f, 0x93,0x2d,0xc9,0x1b,
- 0x9e,0x38,0xd4,0x17, 0x54,0x05,0x71,0xf6, 0x51,0x37,0x7e,0x88, 0xbd,0x2a,0xd0,0xbd,
- 0xbd,0x56,0xad,0xd3, 0xe1,0xce,0xe1,0x41, 0x05,0xe9,0x02,0xfb, 0x08,0x48,0xa7,0x64,
- 0xc3,0x8e,0x5e,0xc9, 0xc9,0x80,0xae,0xc4, 0x99,0x2d,0x04,0xcf, 0x84,0xf7,0x4e,0x38,
- 0xa6,0xae,0xb3,0xad, 0x80,0xa9,0x28,0x9e, 0xbc,0x5d,0x07,0x4d, 0xe1,0x4d,0x29,0xa3,
- 0x05,0x31,0x95,0xae, 0xe4,0x76,0xb9,0xec, 0xdf,0x8d,0x77,0x7f, 0x3d,0x36,0x9e,0x75,
- 0x6e,0x1a,0xa6,0x97, 0xf3,0xa1,0xa0,0x9f, 0x66,0xd8,0x91,0x07, 0x2c,0xbc,0xfb,0x8a,
- 0xe9,0xa9,0x3c,0x50, 0x27,0xac,0x1a,0x93, 0xe1,0xcb,0x0f,0x78, 0x9c,0x95,0x48,0xe1,
- 0xa9,0x9a,0xd9,0x96, 0xfe,0x18,0x59,0x10, 0xb1,0xe9,0xe1,0x93, 0x81,0x8d,0x90,0x71,
- 0x0c,0xc5,0x74,0x37, 0x71,0x0c,0x50,0x04, 0x48,0xf3,0xaf,0x06, 0xe4,0xbc,0x87,0xc1,
- 0xda,0x1f,0xe9,0x56, 0x1e,0x56,0xd9,0x8a, 0xdd,0xc7,0x7c,0x25, 0x3c,0x6c,0x8f,0xca,
- 0x20,0x14,0x6a,0xab, 0xe2,0x6d,0x4b,0x1d, 0x6a,0x19,0x15,0x8b, 0x83,0xd1,0x79,0x13,
- 0x0f,0x33,0xa6,0xce, 0xe2,0xe2,0x49,0xe8, 0x54,0x62,0xf1,0x76, 0x73,0x39,0x71,0x5e,
- 0xab,0x05,0x0f,0x4f, 0x1a,0xe4,0x70,0x3c, 0xbb,0xde,0x1e,0xcb, 0x98,0xc9,0x90,0x48,
- 0x0f,0x21,0x27,0xdd, 0x5f,0x95,0x7b,0x78, 0xb6,0xc5,0xa4,0x4e, 0x9d,0xb1,0x50,0xcf,
- 0xc4,0x49,0x57,0x91, 0x21,0xa1,0x21,0xa0, 0x7d,0x3a,0xeb,0x38, 0x14,0xf8,0xb3,0x3b,
- 0xe5,0xc7,0x19,0x4f, 0xd0,0xf2,0x7c,0x51, 0x71,0xe2,0xec,0xa4, 0xe5,0xff,0xb6,0x50,
- 0x06,0x2d,0xc0,0xe8, 0x14,0xe9,0x0c,0xa5, 0xb7,0x23,0x30,0x43, 0x2f,0x08,0x7f,0x27,
- 0x0d,0x0e,0x47,0x2f, 0x4b,0xbb,0xf5,0xce, 0x9a,0x5b,0x3c,0xd5, 0x19,0xd1,0x95,0x3d,
- 0x4b,0xc8,0x1f,0xeb, 0xc7,0x86,0x25,0x0f, 0x98,0xf1,0xd2,0x88, 0xaf,0x8a,0x0f,0xe4,
- 0x01,0x62,0xf3,0x4e, 0xad,0xb7,0x54,0x49, 0x94,0x44,0x91,0x30, 0x66,0xc5,0xa8,0x6a,
- 0x7b,0xb8,0x78,0x07, 0x16,0x80,0x7b,0x92, 0x7a,0x6d,0xcb,0x3c, 0xab,0x68,0xdc,0xe4,
- 0x33,0xbd,0x92,0x98, 0x43,0x29,0x86,0x93, 0x45,0xd6,0x5f,0x1d, 0x60,0x7c,0xcd,0x76,
- 0x6e,0x75,0x81,0xd1, 0xea,0x53,0x8d,0x63, 0x61,0x17,0x8e,0x2e, 0x06,0x00,0xa4,0xe8,
- 0xac,0xde,0x28,0x6b, 0x3b,0x78,0x89,0x7e, 0x77,0x7d,0x9c,0x0e, 0x3e,0x40,0xd7,0x6e,
- 0x4c,0x7f,0x5a,0xa0, 0xbc,0x71,0xcf,0xcb, 0x97,0xd5,0x6e,0xfc, 0x05,0x0f,0x2c,0xc3,
- 0xb7,0xe3,0x54,0x41, 0x71,0xd9,0xf1,0x29, 0x67,0x76,0x0b,0x02, 0xaf,0xcd,0x34,0x94,
- 0x3c,0xfe,0x3e,0x63, 0x36,0xfd,0xcf,0x15, 0x25,0x93,0xc8,0xfd, 0xf7,0xe6,0x91,0x86,
- 0xf6,0x4d,0x82,0xed, 0xd0,0xcf,0x66,0x94, 0x43,0xe4,0x38,0x6d, 0x72,0x6e,0xe3,0x92,
- 0xee,0x51,0xd7,0xa7, 0x44,0x02,0x04,0x00, 0x62,0xbb,0xc2,0x67, 0xae,0x74,0x41,0x83,
- 0x87,0x6e,0x6f,0xf2, 0x10,0xf6,0x97,0x32, 0x8c,0xda,0x63,0xe2, 0x0c,0x15,0x38,0xc2,
- 0x40,0xf0,0x68,0xb8, 0x34,0x55,0x8e,0x07, 0xeb,0xe5,0x5d,0x8d, 0xbf,0x86,0x56,0x32,
- 0x03,0xfe,0x20,0xff, 0x32,0xdb,0x18,0x6c, 0x9b,0x73,0xc8,0x7f, 0x27,0x18,0xaa,0xb8,
- 0xef,0x57,0x61,0x27, 0x13,0xe8,0xcc,0x49, 0x6a,0x11,0x0c,0x03, 0x31,0x2e,0x01,0x6d,
- 0xc8,0xf3,0x4f,0x3d, 0x9d,0xfa,0x8a,0xf4, 0xba,0x3c,0x1f,0x39, 0x26,0x14,0xda,0xde,
- 0x94,0xa1,0x32,0x73, 0x3f,0x85,0xfa,0x83, 0x03,0x7c,0x32,0xdb, 0x40,0xff,0x97,0xc4,
- 0x93,0xdd,0x23,0x2e, 0xae,0x34,0xea,0x67, 0x98,0x40,0x84,0x83, 0x70,0xd0,0x9d,0xae,
- 0xb0,0x58,0x1d,0xb1, 0x3d,0x25,0xeb,0x66, 0xd3,0x8d,0x71,0x1e, 0xad,0xde,0xc5,0x50,
- 0xbf,0xb9,0x3c,0xcf, 0xa8,0x34,0x82,0x22, 0xed,0xe3,0x6f,0x57, 0xc9,0x1f,0x8a,0x23,
- 0xb9,0x8e,0x39,0xbc, 0xe0,0xa2,0x8c,0x1b, 0x31,0x02,0x9a,0x77, 0x2a,0xe8,0xa2,0x6f,
- 0x3c,0x5d,0x75,0x22, 0xaf,0xbb,0xa6,0xf2, 0x58,0x64,0x5d,0xb0, 0x6d,0xcf,0xe4,0x7e,
- 0x7a,0x28,0x2e,0x41, 0x38,0xf0,0xc2,0x91, 0xdd,0xf0,0xd1,0x83, 0x83,0x8f,0x35,0xec,
- 0x45,0x95,0x03,0x44, 0xc5,0x87,0xb0,0x24, 0x2b,0xf2,0x5b,0x86, 0x21,0x6f,0x6d,0xa4,
- 0x00,0x89,0x38,0x65, 0x25,0x06,0xdf,0x87, 0x17,0x8e,0x49,0xbd, 0xd5,0x7b,0x14,0x22,
- 0xcd,0x70,0xf3,0x6d, 0x66,0x1e,0xdc,0x2e, 0x7c,0x57,0xb3,0xb9, 0x85,0xce,0x52,0x13,
- 0x7d,0xcf,0xd9,0xcd, 0xc0,0x60,0x30,0x8a, 0x6a,0x55,0x90,0x7c, 0xab,0xd2,0x8a,0x0f,
- 0x88,0x0e,0x51,0x0d, 0x77,0xea,0xe4,0x63, 0x96,0xe7,0xf6,0x58, 0x9c,0x9d,0xa0,0x2b,
- 0x4d,0xe1,0x0b,0xbb, 0xa6,0x84,0x47,0x73, 0xbc,0x04,0x42,0x20, 0xc7,0xc5,0x74,0x77,
- 0xc9,0x5a,0x73,0x1b, 0x62,0x77,0x74,0x8b, 0xce,0x4b,0xb8,0x4a, 0x7a,0x59,0xad,0xa9,
- 0xfd,0x78,0x37,0x35, 0x23,0x20,0x32,0xc7, 0x93,0x0b,0x96,0x91, 0x47,0x4a,0xba,0x74,
- 0x5a,0x4a,0x82,0x32, 0xcb,0x54,0x3d,0x90, 0x14,0x60,0xb9,0x69, 0xc6,0xc3,0x74,0x1e,
- 0xd6,0x27,0x94,0x04, 0x06,0xa3,0x4c,0xaa, 0xd5,0x27,0xc8,0x8e, 0x28,0xfb,0x84,0xaf,
- 0x5b,0xaf,0x2f,0xd3, 0x46,0x93,0xd2,0xa2, 0xe3,0x0c,0x57,0x3e, 0x02,0xd4,0x12,0xc5,
- 0xdc,0xb6,0x0b,0x6b, 0xb4,0xa1,0x73,0x59, 0xfb,0x5c,0x65,0xf9, 0x13,0x2e,0x4d,0x36,
- 0x3b,0xe1,0x02,0x43, 0x61,0xdd,0x95,0xb0, 0xe7,0xf5,0x7e,0x74, 0x5b,0xe5,0x92,0x0b,
- 0x9f,0x21,0xcf,0x07, 0x5f,0xea,0x48,0xca, 0x33,0x97,0x2d,0xbc, 0x2b,0xaa,0x07,0xe9,
- 0x11,0x0a,0x03,0xb7, 0xb0,0x8c,0xd4,0x7a, 0x09,0x76,0x61,0x08, 0x85,0x6c,0x44,0xa0,
- 0x8d,0xfa,0x3b,0xf3, 0x50,0x2b,0x9f,0x1c, 0x47,0x39,0x90,0xe4, 0xf3,0x50,0x70,0x2c,
- 0x6b,0x9b,0x2f,0x9e, 0x31,0x91,0x6b,0xc0, 0xf1,0x99,0xd9,0x6c, 0x4a,0x0e,0xe1,0x41,
- 0x81,0xe3,0xea,0x1e, 0x57,0x0e,0x0b,0x5c, 0xab,0xf9,0x28,0x7c, 0x87,0xb7,0x50,0x03,
- 0x10,0xf9,0xca,0x02, 0x45,0xb8,0xdf,0x80, 0x3a,0xe3,0x3f,0x69, 0x24,0x3f,0x22,0xd3,
- 0xf5,0xaf,0x07,0x5b, 0xe2,0x2c,0x13,0xa6, 0x7e,0x18,0x51,0x7e, 0x30,0xbb,0x5c,0x1b,
- 0xb2,0x93,0xca,0x5d, 0xb6,0x72,0x36,0x94, 0xcd,0x05,0x91,0xd9, 0x71,0x9d,0x69,0x07,
- 0xfe,0x9e,0x67,0xb1, 0xbd,0x55,0x09,0x8f, 0xd7,0xc8,0x13,0x8d, 0x8a,0x2a,0xa3,0x61,
- 0x31,0x09,0xf1,0xd2, 0x29,0x34,0x33,0x95, 0xcf,0x72,0x8f,0x6e, 0x74,0x6e,0xcc,0x74,
- 0x34,0x01,0x81,0x00, 0x32,0x04,0x82,0xb3, 0x68,0x3b,0xde,0xda, 0x4f,0x5c,0xe9,0x44,
- 0x1c,0xff,0x31,0xae, 0x53,0xc1,0x89,0x3e, 0x67,0x15,0x78,0x88, 0x2e,0x94,0xe2,0x93,
- 0xb4,0x91,0x06,0x58, 0xca,0xb3,0xd8,0x95, 0xf6,0x27,0xac,0x48, 0x89,0xde,0xe2,0x3b,
- 0x6f,0x65,0x91,0xbb, 0x3d,0x32,0xa2,0xc5, 0x3f,0x44,0x94,0xab, 0x8a,0x44,0x8c,0xa3,
- 0x7d,0x04,0x55,0x23, 0x66,0xce,0xa0,0x35, 0xdb,0xb0,0x3b,0x2d, 0x60,0xa3,0xed,0xa2,
- 0xfd,0x67,0x13,0xcc, 0x94,0x0d,0xeb,0x05, 0xcf,0xc1,0x29,0xf4, 0x92,0x55,0x70,0xbe,
- 0x0d,0x4b,0x97,0x3b, 0x32,0x02,0xd6,0x0a, 0x7b,0xb9,0x83,0x95, 0x24,0x0e,0x95,0xfc,
- 0x4f,0x41,0xfd,0x72, 0xd2,0xb8,0xd3,0x03, 0x16,0x33,0xb8,0xd3, 0xf0,0x18,0xdc,0xd2,
- 0x16,0x49,0x3a,0xe2, 0xda,0x2f,0x7b,0xf1, 0x43,0x4a,0x2a,0x6d, 0xe3,0x97,0xd8,0xc9,
- 0x64,0x75,0xfe,0x5d, 0xd5,0xb9,0x1f,0x83, 0x86,0x6d,0x5f,0x92, 0x67,0x0f,0x83,0x58,
- 0x3b,0xd1,0x89,0x36, 0xfe,0xf4,0x22,0x1a, 0x7c,0xf6,0xfe,0x0d, 0x99,0x68,0x83,0x89,
- 0xcc,0xd0,0xeb,0x72, 0x0c,0x22,0x80,0x22, 0xe9,0xcf,0x99,0x59, 0xe0,0xa2,0x85,0xd0,
- 0x64,0xc2,0xfb,0x91, 0x9c,0xf2,0xc4,0x87, 0x08,0xaa,0x0d,0xe7, 0x97,0xbc,0x55,0x54,
- 0x18,0x40,0x05,0x23, 0x43,0x16,0x7c,0xfe, 0x4b,0x7e,0x73,0x17, 0xc2,0x3a,0x6a,0x1c,
- 0xa7,0x00,0x05,0x45, 0x6b,0xe8,0x32,0x53, 0x29,0x0c,0xc7,0x10, 0xd9,0x1a,0xd0,0x9e,
- 0x49,0x87,0x28,0x80, 0x43,0x13,0x03,0x2d, 0x9a,0xe1,0xb4,0x7c, 0xa9,0x9f,0x93,0xf2,
- 0xd1,0xd5,0x5d,0xa3, 0x17,0x22,0xc3,0x07, 0x63,0x48,0x03,0xf8, 0x31,0x44,0x9a,0xcc,
- 0x14,0x5b,0x22,0xea, 0x9e,0x70,0xce,0x1c, 0x02,0xc8,0x2e,0x63, 0x0a,0xef,0x6b,0x9f,
- 0x2b,0xf4,0x99,0xf1, 0xde,0xab,0x43,0xeb, 0x13,0x1a,0x50,0xe0, 0x17,0x5d,0x8a,0x34,
- 0xf0,0x56,0x9b,0xa0, 0x69,0xa5,0x52,0x56, 0x8e,0x83,0x09,0xcc, 0xd0,0x90,0x18,0xde,
- 0xd9,0xa0,0xc2,0xe5, 0x27,0x86,0xc2,0x41, 0x37,0xfc,0xc0,0x30, 0x5f,0x60,0x78,0x25,
- 0x2c,0x23,0x84,0xd1, 0xd0,0x28,0xab,0x68, 0x11,0xe7,0x8e,0x88, 0xb8,0x3e,0x45,0x02,
- 0xfb,0xbb,0x2a,0x9d, 0x2b,0x4e,0x3e,0x45, 0x0f,0xa2,0x86,0xbb, 0x1a,0x62,0x15,0x8c,
- 0x96,0x8e,0xf2,0x1a, 0x3f,0xf5,0x80,0x3f, 0x60,0xc1,0x9a,0x6c, 0xb9,0xd0,0x2b,0x97,
- 0x3a,0x7e,0x44,0x5f, 0x21,0x45,0xe5,0xda, 0xe6,0x98,0x1f,0xe2, 0x36,0x09,0x8b,0xac,
- 0x9e,0x82,0x95,0x2d, 0x44,0xb3,0x04,0x94, 0xaa,0x65,0xde,0xfc, 0xa5,0x93,0xbe,0xe3,
- 0x56,0xb9,0x64,0x2a, 0x6a,0x37,0xf4,0x25, 0xbb,0x89,0x25,0x8b, 0x5c,0xbf,0x50,0xbe,
- 0x9c,0xd9,0x33,0xa7, 0x15,0xa6,0x56,0x29, 0xfc,0xe8,0x89,0x8c, 0xde,0x37,0xd7,0x82,
- 0xc4,0x2c,0x8b,0x7b, 0x80,0x44,0xc1,0x52, 0x63,0xc1,0x65,0xa8, 0x86,0xf3,0xfa,0xd2,
- 0x2d,0xb2,0x8d,0xe6, 0xfe,0xa3,0x8c,0xe7, 0xd6,0x53,0x08,0xc9, 0xb7,0xd2,0x9a,0x7b,
- 0xcd,0x72,0x96,0x84, 0x68,0x76,0x3a,0x65, 0x56,0xed,0x49,0xf2, 0x77,0xf0,0x47,0xa0,
- 0xdb,0x66,0x5b,0x9c, 0xdf,0x48,0x65,0x41, 0x75,0x8e,0x43,0xaf, 0x60,0xb7,0x8a,0x15,
- 0x14,0xc6,0x25,0xb6, 0xd8,0x7d,0x36,0x50, 0x6a,0xfa,0x50,0x77, 0x08,0xac,0xa6,0x88,
- 0xf8,0xb5,0x6d,0x80, 0xd7,0x84,0x11,0x3e, 0x36,0x8f,0x7e,0xec, 0xfe,0x59,0x69,0x0c,
- 0xb3,0x29,0x87,0x9a, 0x51,0x97,0x1d,0x27, 0xf3,0xec,0x3c,0x20, 0xbf,0xc3,0x9f,0x1e,
- 0x58,0x6a,0x28,0x22, 0x88,0x05,0x09,0x78, 0x29,0xd5,0xc3,0x4f, 0x17,0x4f,0xf6,0xe5,
- 0x4e,0xea,0x86,0x53, 0x44,0x4b,0x71,0xef, 0xd7,0x9f,0x3c,0x59, 0x29,0x11,0x81,0x57,
- 0x06,0x73,0x11,0xb4, 0xb1,0x0b,0xd6,0x20, 0x68,0x31,0xc3,0xb0, 0x6b,0xd1,0xb9,0x91,
- 0x0d,0x56,0x4b,0xb2, 0x8e,0x42,0x2b,0x48, 0x20,0xa1,0xe8,0xe0, 0x7c,0xb1,0xc8,0x1e,
- 0x2c,0xc3,0xcd,0x4f, 0x2c,0x52,0x29,0x9f, 0xeb,0x98,0x58,0x7a, 0xd7,0x60,0x98,0x2e,
- 0x8f,0xa0,0x8e,0x2e, 0xa8,0xf9,0x01,0x3a, 0x8d,0xe8,0x59,0x0b, 0x54,0x54,0xd2,0xec,
- 0x5c,0xc4,0xb4,0x1f, 0x75,0xf0,0x15,0xd7, 0x16,0x62,0x7c,0x57, 0x61,0x39,0x16,0x00,
- 0xc6,0x7f,0x09,0xdc, 0x70,0x27,0x04,0x21, 0xf3,0xa8,0x68,0xa5, 0x6a,0xb1,0x96,0x44,
- 0x66,0x7e,0xdd,0x5c, 0x1f,0xc5,0x76,0x6f, 0xfd,0x91,0x2c,0x6a, 0x16,0xb7,0x8b,0x15,
- 0xcb,0x34,0x4a,0xc6, 0xcd,0xad,0xf0,0x07, 0xe4,0xdb,0xaa,0x1b, 0xc7,0x68,0xc9,0x8a,
- 0x5a,0x0f,0x4f,0x34, 0xc0,0x3b,0x80,0xcf, 0xaf,0x78,0xb5,0xa3, 0x2e,0x19,0x35,0x47,
- 0x3a,0xd0,0xa5,0x07, 0x5f,0x5b,0xf7,0x0d, 0x76,0x33,0xbc,0xeb, 0xc3,0xac,0x02,0x49,
- 0x99,0xd2,0x98,0x5e, 0x14,0x72,0x45,0xce, 0xcb,0xc9,0xe7,0x58, 0x05,0x42,0x2c,0x99,
- 0x52,0x5f,0x77,0xc5, 0x43,0x9a,0xf5,0x1d, 0xd4,0x63,0xb3,0x66, 0x46,0xef,0xa7,0x20,
- 0xf5,0xbc,0xc8,0xe4, 0x7f,0x52,0xc4,0xec, 0xe8,0x32,0xda,0x69, 0x66,0x80,0xf2,0xde,
- 0xc2,0xca,0xb5,0xb2, 0xa4,0xed,0xa8,0xb9, 0x90,0x2d,0x58,0x84, 0x16,0x9f,0xf5,0x08,
- 0x7e,0x86,0x63,0x43, 0x3c,0x24,0xcd,0xc3, 0xd9,0x0a,0x77,0x12, 0x93,0xe2,0x01,0xfe,
- 0xaf,0xa5,0xab,0x85, 0xf5,0xe6,0x30,0x72, 0xee,0x2f,0x94,0x6d, 0x9f,0x58,0x50,0x1b,
- 0x0f,0x22,0x7f,0x73, 0x67,0x5e,0x1c,0xd6, 0x6c,0x27,0x4f,0xb6, 0x59,0x05,0x50,0xa9,
- 0x0e,0x60,0x63,0x9c, 0x72,0x5a,0x90,0xb9, 0x35,0x17,0x7d,0x42, 0x03,0x95,0x62,0xc2,
- 0x7a,0x7d,0x6c,0x46, 0x91,0xab,0xce,0xc2, 0x1c,0x33,0x89,0x6b, 0x02,0xce,0x3e,0x0a,
- 0x06,0xe3,0x45,0x26, 0x0a,0x23,0x4f,0xea, 0xbb,0xc2,0xb5,0xd2, 0xb9,0xfd,0xf0,0xe0,
- 0x49,0x09,0x70,0x89, 0x8e,0x76,0x99,0x02, 0x8a,0xad,0x31,0x6b, 0x1b,0xdf,0x9b,0xf1,
- 0x96,0xf6,0xd2,0xca, 0x90,0x0d,0x01,0x00, 0x6c,0x28,0x8f,0x24, 0x4b,0xa7,0x05,0xfd,
- 0x45,0xf7,0xc4,0x65, 0xf5,0x0e,0xed,0x80, 0x5c,0x11,0xa3,0x1f, 0xa0,0x22,0xf4,0x08,
- 0x1c,0xf1,0xa6,0xda, 0x67,0xcd,0xd4,0x7f, 0xe7,0x58,0xb1,0x83, 0x7e,0x3a,0x83,0xf7,
- 0x7b,0xaf,0xdf,0xdd, 0x4c,0x30,0xf1,0xae, 0x9c,0x3c,0xdb,0xf9, 0x30,0x5e,0x8a,0x3c,
- 0x7f,0xdf,0xe5,0x38, 0xbb,0x34,0xdb,0xea, 0x94,0xa1,0x6a,0xec, 0x79,0xe7,0xd4,0x3a,
- 0x16,0xba,0x32,0x01, 0xa7,0xdb,0x52,0xed, 0xa2,0x29,0xbe,0xf0, 0x91,0x56,0x3e,0x6e,
- 0xdb,0x80,0xc9,0x21, 0xeb,0x6a,0x1b,0xba, 0x7f,0x4a,0x8d,0x09, 0x04,0x91,0xca,0x05,
- 0x7f,0x03,0xa1,0x6a, 0x55,0x24,0xa1,0x5e, 0xee,0x2c,0xdc,0x10, 0xba,0x31,0x07,0xb9,
- 0x04,0x52,0xf3,0xc7, 0xfa,0xce,0xf1,0x37, 0xe9,0x2b,0x3d,0x71, 0xb2,0x03,0xbb,0x19,
- 0x2f,0xf9,0xea,0x7a, 0xcb,0x4b,0x82,0x89, 0x91,0xeb,0xbf,0x6d, 0x06,0x31,0x25,0xea,
- 0x77,0x17,0xa2,0x32, 0x8c,0x10,0x8a,0x5d, 0x8b,0x57,0x33,0x3d, 0x10,0x1e,0x38,0xa0,
- 0x2e,0x6c,0x9d,0x0b, 0x19,0x89,0x97,0x65, 0xec,0xd0,0x65,0x81, 0x55,0x7a,0xd2,0xdc,
- 0x6a,0xc8,0xfc,0xb9, 0x74,0x84,0x3b,0xe2, 0x0f,0x59,0xca,0x8d, 0x98,0xad,0xaf,0x00,
- 0x44,0x38,0x84,0x5c, 0xbe,0xfc,0x2d,0x00, 0x97,0x4a,0x78,0x2e, 0xbc,0xc7,0x9c,0x8b,
- 0x66,0x2e,0xec,0x6a, 0xc8,0x80,0x9b,0xf1, 0x4d,0xcf,0xd8,0x77, 0x3b,0xbd,0xa5,0x5b,
- 0x95,0xd1,0x20,0xc9, 0x54,0x57,0x54,0x7a, 0xdc,0x5d,0x9c,0x62, 0x7d,0x32,0xb3,0x31,
- 0xc1,0x04,0x1f,0x8f, 0x4e,0x13,0xe5,0xd9, 0xf5,0x71,0x95,0x37, 0x4c,0x04,0xfa,0x86,
- 0xa2,0xcf,0xe4,0x75, 0x54,0xe5,0xda,0xcb, 0x80,0xa7,0xfc,0x4d, 0x86,0x9b,0x68,0xd6,
- 0x04,0x0e,0x5d,0x1c, 0x99,0x12,0xcc,0x45, 0x6b,0xa4,0xa9,0x36, 0xb0,0x81,0xb2,0x4c,
- 0x14,0x22,0x39,0x08, 0x5f,0x90,0x53,0xe5, 0x08,0xf1,0x1c,0x68, 0x44,0x29,0x1f,0xb9,
- 0xc3,0x21,0xa1,0x9d, 0x03,0x8f,0x83,0x7c, 0x0d,0x06,0x0f,0x01, 0x3e,0x48,0xda,0x3c,
- 0x73,0xf8,0x6b,0x32, 0x6d,0xf0,0x9c,0xe7, 0x4c,0xb5,0xdb,0x8f, 0x57,0x4b,0xa1,0x80,
- 0x9b,0xb7,0xce,0x04, 0xd0,0xdc,0x7d,0x1b, 0x64,0x9c,0xf0,0x01, 0xec,0x83,0x28,0xe7,
- 0x71,0x08,0x37,0x9f, 0x1a,0xca,0x28,0x93, 0x71,0x3e,0x1f,0xa0, 0x86,0x1a,0x21,0x55,
- 0xb6,0xac,0xfb,0x13, 0x6a,0xe2,0x00,0xdd, 0x17,0xad,0xc8,0x7b, 0x0f,0xfa,0xe0,0x05,
- 0x3c,0x5b,0x25,0xe1, 0x3a,0xfa,0x8c,0x51, 0xb8,0xdd,0x2f,0x15, 0x65,0x3a,0x38,0x24,
- 0xb1,0x12,0x7c,0x23, 0xf9,0xdd,0x29,0x94, 0x46,0x8e,0x3b,0x7a, 0x97,0xa6,0x9a,0xb0,
- 0x02,0xe7,0x7c,0xcf, 0xb3,0x71,0x46,0x3a, 0xda,0xd5,0xd0,0x43, 0x82,0x39,0xc4,0xc7,
- 0xc6,0x58,0x63,0x34, 0x46,0x6a,0x22,0xa4, 0x57,0x2c,0x11,0x8d, 0x46,0xc5,0x20,0xef,
- 0xf4,0xd7,0x0a,0xa3, 0x21,0xbe,0x22,0x6b, 0x6c,0x66,0xed,0xc9, 0x70,0x23,0x2b,0x19,
- 0x71,0x91,0x3c,0x5b, 0x0f,0xf1,0x5d,0x2f, 0x07,0xe3,0x22,0x6c, 0xef,0xd1,0x77,0xcd,
- 0x26,0xe7,0x5e,0x02, 0x19,0x1e,0x0c,0xd6, 0x07,0x2c,0xea,0xa5, 0x9a,0x50,0x07,0x16,
- 0x4f,0x69,0x90,0xfa, 0x93,0x16,0x52,0xff, 0x9f,0x98,0x1f,0x61, 0xa2,0x45,0x78,0xb8,
- 0xed,0xe8,0xad,0x6d, 0x33,0x9a,0x7d,0x7a, 0x70,0x4f,0xee,0x97, 0xd4,0x7f,0x35,0x4f,
- 0x54,0x60,0x88,0x58, 0xf8,0xa5,0xc2,0x39, 0x9d,0xd1,0xba,0x19, 0x92,0xfa,0x51,0x80,
- 0x71,0x72,0xd3,0x29, 0xc2,0xf7,0x53,0xa4, 0xaa,0x14,0x6c,0x27, 0x9f,0xa7,0x71,0x7d,
- 0xa7,0x1f,0xe4,0xa1, 0x09,0x41,0x76,0x1d, 0xa9,0x80,0xd5,0x85, 0xe4,0x0a,0x39,0xd3,
- 0x21,0x7d,0x95,0x92, 0x37,0x01,0xc4,0x83, 0x3a,0xbf,0x18,0x91, 0x96,0xb7,0xda,0x28,
- 0x27,0xad,0x4f,0xa6, 0x28,0x61,0x73,0xbd, 0x43,0x10,0xc0,0x51, 0xdc,0x87,0x58,0xf8,
- 0x22,0xe2,0x88,0x87, 0x5e,0x73,0x08,0xf7, 0xb5,0xf1,0xe3,0x3a, 0x39,0x5d,0xa9,0x71,
- 0x30,0x27,0x76,0x93, 0xc6,0x89,0xa5,0xdb, 0xaa,0x83,0xb1,0x24, 0x91,0x96,0x5d,0x8a,
- 0x84,0x0d,0x30,0x0c, 0xa0,0x9d,0xf7,0x17, 0x9a,0xae,0xa8,0xab, 0x02,0x92,0xf9,0x1b,
- 0xc8,0x2f,0x66,0x4a, 0x4a,0x21,0xc2,0xc9, 0x33,0xfb,0x1a,0xad, 0xf7,0x3e,0x6f,0x3b,
- 0x27,0xee,0xd5,0xf9, 0x6a,0x53,0xda,0xbf, 0x76,0xcd,0xf2,0xf0, 0xd1,0x2b,0xec,0x8c,
- 0x58,0x6e,0x1d,0x51, 0x1a,0xeb,0x30,0xaf, 0xf2,0xd0,0x6a,0x56, 0x1d,0x1e,0x3b,0xd7,
- 0x64,0xa4,0x14,0x5a, 0x72,0x86,0xc6,0x09, 0xf9,0xa3,0x23,0x8f, 0xe1,0x26,0xc7,0xbf,
- 0x23,0xd4,0x95,0x57, 0x15,0xbb,0x75,0xa0, 0x33,0xa7,0x2d,0xa4, 0xc7,0xd0,0x6b,0xe0,
- 0x78,0x49,0xb2,0xc8, 0x18,0xcc,0xe6,0x75, 0xb1,0x02,0xab,0x48, 0xef,0xe1,0x32,0x2b,
- 0x95,0x91,0x82,0x1a, 0x6e,0x74,0x61,0x80, 0xed,0x21,0x8d,0x6b, 0xdf,0xba,0xe6,0x8b,
- 0xf5,0x64,0x01,0x4e, 0x53,0xb9,0x1c,0x54, 0x3b,0xf4,0x9e,0x82, 0x71,0x02,0xe0,0x67,
- 0xd8,0x19,0xf3,0xe9, 0xed,0x62,0x1f,0x21, 0xb3,0x56,0x72,0x84, 0x5c,0xe1,0x77,0xa7,
- 0xc9,0x8a,0x4f,0x83, 0xe0,0x8e,0x0f,0xa5, 0x1b,0xb4,0x4d,0xf3, 0xa3,0x4a,0xd9,0xec,
- 0xe9,0x12,0x12,0xcf, 0xbc,0x8c,0xec,0x6b, 0x00,0x87,0x72,0x25, 0xdd,0x18,0xc7,0xea,
- 0xcb,0x7e,0x27,0xef, 0x63,0x20,0x53,0x0f, 0x22,0x6f,0x12,0x3d, 0x96,0xa7,0x3c,0xf6,
- 0x78,0xe7,0xc4,0xd6, 0x27,0xd0,0xe5,0x79, 0x83,0x71,0x9e,0x00, 0xaa,0xe6,0x38,0xf9,
- 0x38,0x59,0x35,0xfc, 0xfa,0x47,0xcc,0x88, 0x71,0xa0,0xdd,0x61, 0xe1,0x7f,0xa0,0xfd,
- 0xd4,0xeb,0x25,0x81, 0x4e,0xd8,0x97,0x67, 0x07,0xbd,0x95,0x5d, 0x15,0xf7,0x76,0x55,
- 0x4b,0x92,0xa5,0x61, 0x1b,0x89,0xcf,0x4f, 0xd9,0x66,0x15,0x60, 0xa5,0x36,0xc6,0xfd,
- 0x86,0x6f,0x5f,0x09, 0x0f,0xe9,0x3b,0x3f, 0x3d,0x0c,0xdb,0xa3, 0x08,0x7f,0x2f,0xc1,
- 0xf5,0x89,0xa1,0x22, 0x59,0x35,0x9d,0x63, 0xa4,0x54,0x2d,0xcc, 0x83,0xbd,0x75,0x0e,
- 0x96,0x0e,0xd1,0xaf, 0xf5,0x79,0xca,0x77, 0x88,0x42,0xb3,0x8f, 0xce,0x62,0x3f,0xaf,
- 0xec,0x77,0x62,0xe5, 0xa9,0x4a,0x92,0xc0, 0x70,0x2c,0xf6,0xd8, 0x5e,0x52,0xcd,0x64,
- 0x1d,0xb0,0xd1,0x7e, 0x9c,0xb2,0xd4,0x69, 0x9d,0x21,0x52,0xda, 0x26,0x41,0xb2,0x51,
- 0x17,0xcf,0xa4,0x4b, 0x0a,0x40,0x5e,0x43, 0x58,0x55,0xb9,0x9a, 0x5c,0x37,0xde,0xd8,
- 0x88,0xbf,0x95,0x71, 0x26,0xcf,0x40,0x63, 0x62,0x49,0x3c,0x2c, 0xf1,0xab,0xd5,0x87,
- 0xa2,0x1c,0x62,0xa7, 0xc3,0x5b,0x3f,0x66, 0x16,0x63,0x21,0xd3, 0xca,0x15,0xe4,0x13,
- 0xc0,0xc0,0x3e,0xa1, 0x8f,0x18,0x72,0xed, 0xbc,0x11,0x42,0xf1, 0x17,0x46,0x67,0x4c,
- 0x9f,0xbc,0x47,0x77, 0xa9,0x36,0x44,0x85, 0xce,0xe6,0x8a,0x29, 0xb6,0x60,0x45,0x2c,
- 0x46,0xbd,0x98,0x10, 0x7b,0x6f,0x69,0x00, 0x60,0xfa,0x93,0x11, 0xae,0x2c,0xa8,0x14,
- 0xe3,0xbb,0x16,0xd3, 0x47,0xd5,0x8f,0xf5, 0x92,0x10,0x52,0x39, 0x67,0xf0,0xf3,0xd2,
- 0x1b,0xaa,0xc9,0xf6, 0x1c,0xc8,0xa7,0x68, 0xc1,0xed,0x91,0xa8, 0x06,0x2c,0x4a,0xf0,
- 0x7b,0x60,0x5e,0xee, 0x47,0xd4,0x7d,0xf7, 0x6c,0xb4,0xc5,0x0f, 0xd8,0x7d,0x5b,0x77,
- 0x4d,0x6a,0x08,0x30, 0x24,0x57,0xb6,0x78, 0xf5,0x27,0x81,0xc4, 0xcd,0x25,0x88,0xe2,
- 0xeb,0xdd,0x3f,0x84, 0x7c,0x81,0x05,0x55, 0xf0,0x07,0x6a,0x07, 0x8f,0xfc,0xea,0x5f,
- 0x56,0xd8,0x71,0x68, 0x00,0x88,0x83,0xe7, 0x52,0x17,0x2e,0xf4, 0xd7,0x19,0xf3,0xa0,
- 0x21,0x88,0xd2,0x54, 0xdd,0xfc,0x79,0x1e, 0xde,0x77,0x4e,0x71, 0x07,0x2f,0xa5,0x05,
- 0x5e,0xf8,0xf7,0x3b, 0xff,0x13,0xa2,0x94, 0x74,0xbd,0xac,0x8c, 0x88,0x09,0x49,0xad,
- 0xdf,0x85,0x3f,0x75, 0x62,0xbd,0xd4,0xc7, 0x37,0xd2,0xe8,0x28, 0x37,0x29,0xbb,0x61,
- 0xee,0xd1,0x6e,0xfb, 0x55,0xc5,0x3f,0x77, 0x1e,0x5f,0xdf,0x31, 0x72,0x45,0xb8,0xd2,
- 0x4a,0xdf,0xd7,0x28, 0x0a,0xa1,0x91,0x6e, 0x0d,0x85,0xae,0x73, 0x00,0x31,0xb5,0x32,
- 0x81,0xbb,0xb3,0x4b, 0x92,0xb0,0xcb,0xd2, 0x33,0xe1,0x6e,0x86, 0x8a,0xdf,0xab,0x89,
- 0x2d,0xe2,0x6c,0x3d, 0xb2,0x48,0xa3,0x96, 0xe1,0x76,0x9f,0xf6, 0xc0,0x61,0xe7,0xe3,
- 0x69,0x5f,0x2a,0xf8, 0x07,0xde,0xdd,0x53, 0x83,0x59,0x40,0xe1, 0xd2,0x60,0xeb,0x75,
- 0x5a,0x70,0x22,0xc6, 0xc7,0xda,0x26,0x85, 0x8c,0x18,0x31,0x79, 0xc8,0x18,0xd7,0x93,
- 0x61,0x7d,0xdb,0x19, 0x86,0xc7,0x20,0x68, 0x3e,0xfb,0xdd,0x82, 0xa9,0x12,0xd9,0xaf,
- 0xdd,0x6b,0xa2,0x30, 0xb6,0xd1,0x8e,0x56, 0x9f,0x5b,0x9c,0x7a, 0x2e,0xc3,0x66,0x81,
- 0xa0,0x2e,0x44,0x66, 0x7b,0x5f,0x25,0x23, 0x06,0xdd,0xe5,0x6a, 0x0f,0x2f,0x43,0xa2,
- 0xdc,0x4e,0xf9,0x4a, 0x5b,0x9b,0x45,0x05, 0xcf,0xbc,0xf7,0xf1, 0xff,0x52,0x87,0x39,
- 0x96,0xb3,0xcc,0x0a, 0xf8,0x2c,0x24,0x0a, 0xad,0x7f,0x7e,0x56, 0x02,0x46,0x3e,0x19,
- 0x0b,0xfd,0xfe,0xf6, 0xa4,0xa0,0xeb,0x91, 0xe3,0x5b,0xdb,0x87, 0x2d,0x1a,0xa5,0x35,
- 0x6f,0xdf,0x43,0x4f, 0x27,0x2c,0xd5,0x81, 0x4c,0x51,0x4a,0x40, 0xc9,0x0a,0xa1,0x32,
- 0xac,0x38,0x77,0x14, 0x59,0x9f,0x21,0xd7, 0x4c,0xb1,0xbc,0x88, 0x97,0x80,0x29,0x15,
- 0x4b,0xc9,0xd9,0xa2, 0x75,0x01,0xab,0x35, 0x8c,0xb8,0x3e,0xba, 0x4c,0x03,0x12,0x78,
- 0xed,0xb0,0xbd,0xbd, 0x06,0x72,0xb9,0xc8, 0x40,0x0e,0xe2,0x74, 0xed,0x32,0xff,0x5b,
- 0x37,0xb9,0xf2,0x89, 0x29,0xdc,0xf3,0x68, 0x2e,0x37,0xf4,0x7c, 0x6c,0xb6,0x35,0x4c,
- 0xe9,0x44,0x41,0xca, 0x8e,0x35,0x06,0xb2, 0x17,0x9f,0x61,0x66, 0x5b,0x99,0xdc,0x37,
- 0xa2,0x32,0xd0,0xbd, 0x25,0xc9,0xd4,0x40, 0x61,0xff,0x22,0x11, 0xd9,0x2c,0xe3,0x76,
- 0x69,0x8a,0xbf,0x4d, 0xff,0x7a,0x01,0x19, 0xf4,0x6d,0x2f,0x36, 0x73,0x50,0x33,0x08,
- 0x38,0xa6,0x3a,0x6f, 0xe7,0x0c,0x15,0x4d, 0xcb,0x24,0xcf,0x84, 0x77,0x3d,0x7f,0x3c,
- 0xb2,0x8e,0xf2,0xf3, 0x2b,0xe0,0x77,0xdd, 0x7a,0x47,0xde,0x87, 0xb2,0xff,0xbd,0x6a,
- 0x6c,0x4a,0xeb,0x53, 0x6b,0xc1,0xf7,0x56, 0xc0,0xaf,0x61,0x97, 0xb1,0x69,0x85,0xf6,
- 0xe2,0xcf,0xc8,0xb3, 0x0c,0x43,0x92,0x27, 0xc5,0x36,0xd5,0xa6, 0x2a,0xd5,0x66,0x59,
- 0x43,0x35,0x7b,0x36, 0x21,0x90,0x00,0xdf, 0x5a,0xb1,0x8c,0xa0, 0x95,0xcf,0xa1,0xec,
- 0xd7,0x8a,0x36,0x18, 0xc9,0x52,0xb9,0x66, 0x70,0xf2,0x46,0xf0, 0xe2,0x15,0x3d,0x20,
- 0xf6,0x84,0x8e,0x86, 0xe7,0x94,0x66,0x66, 0x10,0x3d,0x2f,0x1c, 0x26,0x28,0x0e,0x4f,
- 0x21,0xd1,0x12,0xa4, 0xce,0x47,0xfb,0xf9, 0x3f,0xef,0xdf,0xe1, 0xbf,0x3c,0x93,0x64,
- 0xbb,0xcc,0xf1,0xf8, 0x2b,0x8f,0x84,0x9f, 0xe4,0xa6,0x15,0xd4, 0xcf,0x0f,0x56,0x21,
- 0x50,0x8d,0x92,0x25, 0x3c,0x38,0xbe,0xe2, 0x69,0xae,0x61,0x64, 0x7e,0x1a,0x82,0xe8,
- 0xe5,0x7d,0xa6,0x8c, 0x0a,0xa2,0x72,0x1d, 0xef,0x2d,0x0f,0xc5, 0x4a,0x68,0x8d,0xf8,
- 0x8f,0x06,0x3b,0xaf, 0x71,0xe7,0xf4,0x77, 0x3a,0x2e,0x30,0xba, 0x8f,0x68,0xe2,0x32,
- 0x47,0x09,0xa5,0x7d, 0xdd,0x51,0x4d,0x0c, 0x8e,0x1c,0xf7,0x3a, 0xf0,0xe6,0x2a,0x75,
- 0x03,0xf7,0x75,0xcb, 0x79,0xa9,0x9b,0x26, 0x96,0xf8,0xf8,0xd9, 0x78,0x41,0x1b,0x82,
- 0xa7,0xf0,0x7f,0x15, 0x4c,0xa6,0xa7,0xe5, 0x69,0x34,0x60,0x64, 0x7c,0xeb,0x5e,0x0c,
- 0xfe,0xf8,0xed,0xd4, 0x94,0xfe,0x97,0x63, 0x01,0x38,0x75,0x55, 0xd3,0x62,0x91,0x23,
- 0x36,0x6f,0x70,0xdc, 0x86,0xe2,0x85,0x98, 0x0a,0xb5,0xa2,0x79, 0x26,0x5c,0x57,0x16,
- 0xfb,0x17,0xc9,0xf7, 0x1b,0x50,0xbd,0x95, 0x22,0xb7,0x5c,0x6c, 0xe2,0x6b,0x73,0x44,
- 0xd5,0x6f,0x65,0xc4, 0x2c,0xa7,0x25,0x8a, 0x07,0xd2,0xff,0x19, 0xa1,0xbe,0xdd,0x09,
- 0x5d,0x88,0x29,0x47, 0xdc,0x13,0x50,0xa1, 0xdb,0x09,0x40,0x02, 0xf4,0x10,0xd9,0x60,
- 0xff,0x0f,0xf6,0xd4, 0x23,0x4f,0x7c,0x3f, 0xa8,0x0e,0xfd,0x5f, 0x8e,0xe0,0x32,0x54,
- 0x9e,0x34,0x04,0x28, 0xff,0x88,0x40,0x43, 0x6d,0xf4,0xce,0x73, 0x41,0x79,0xd5,0x20,
- 0x3b,0xe5,0x50,0x81, 0x98,0x9c,0x1f,0xf4, 0x29,0xff,0xc7,0x94, 0x8a,0xbb,0x29,0x61,
- 0x4d,0x19,0x58,0x44, 0xf5,0x0c,0xc1,0xb9, 0x2b,0xea,0x61,0x78, 0x71,0xf8,0x33,0xae,
- 0x49,0x6b,0x0b,0xc2, 0x5c,0x83,0x1b,0xa2, 0x31,0x86,0xb5,0x82, 0x36,0xa2,0xf8,0xbe,
- 0x6b,0xc9,0xe2,0x0f, 0xd9,0x2b,0x73,0x3a, 0x33,0x41,0x69,0x7f, 0x80,0x6f,0x2f,0xcd,
- 0x8e,0x18,0x11,0xca, 0xc5,0x0a,0x7e,0xa2, 0x80,0xe5,0x9a,0x82, 0x23,0x43,0xf7,0x4b,
- 0x18,0x77,0xdc,0x0f, 0x4a,0x70,0x60,0xf4, 0x60,0xc0,0x54,0x2b, 0x06,0xed,0xd2,0x40,
- 0x84,0xc4,0x27,0x09, 0x4e,0x06,0x09,0xda, 0x79,0x36,0xff,0x26, 0x5d,0x99,0x6a,0x9d,
- 0x25,0x41,0x19,0x77, 0x21,0x96,0x2d,0xb6, 0x8d,0x93,0x07,0xd8, 0xc7,0x82,0xf3,0xea,
- 0x7f,0xdb,0x7b,0xff, 0x1d,0x7a,0x75,0x2f, 0x35,0x22,0x6d,0x54, 0x15,0x1a,0x4e,0xc4,
- 0x6a,0xab,0xfa,0xe2, 0x0d,0x15,0x2a,0x35, 0xe5,0x0a,0x5a,0x99, 0x56,0xad,0x5b,0xcb,
- 0xea,0xdd,0x24,0xa8, 0x87,0xa6,0x62,0xdb, 0x19,0xac,0x23,0x1b, 0x01,0x34,0x77,0xd9,
- 0x49,0x17,0x71,0xd6, 0x36,0xac,0xcc,0xc3, 0xf9,0x75,0x72,0x7d, 0x74,0xd2,0xf2,0xcc,
- 0xe1,0x8b,0x04,0xda, 0x53,0x2c,0x39,0x0f, 0x64,0x6d,0xe7,0x1b, 0x18,0x95,0x40,0x22,
- 0x48,0xf4,0x07,0x0d, 0xbb,0xf2,0xea,0xc1, 0x53,0x2b,0x7a,0x1c, 0xbd,0x0d,0xfe,0xea,
- 0x84,0xb3,0x24,0xfe, 0x23,0x1f,0x34,0x7d, 0x19,0x80,0x38,0x9c, 0x7f,0xf7,0x4a,0x42,
- 0x02,0x1a,0xbb,0x76, 0xae,0x33,0xef,0x8b, 0x87,0xf0,0xb4,0x71, 0x13,0xfe,0x49,0x4b,
- 0x98,0xc5,0xc1,0x1a, 0x72,0x49,0x95,0xf3, 0xde,0x2a,0xfe,0xc0, 0xa2,0xc4,0x7f,0x4e,
- 0x44,0xf0,0xd2,0xea, 0xff,0xb4,0x3a,0xcf, 0x27,0x3b,0xb5,0xa0, 0x83,0x0f,0xda,0xe1,
- 0x6f,0x45,0xa7,0x30, 0x2c,0x8c,0x37,0x22, 0x7a,0x1e,0x00,0xa9, 0xfd,0x28,0xbb,0x74,
- 0x31,0x7b,0x34,0xf2, 0x1e,0x14,0xc7,0xcd, 0x32,0x39,0x44,0x78, 0x08,0x71,0xe2,0xd8,
- 0xaa,0xda,0xbf,0xf0, 0x96,0x56,0xca,0x5e, 0x77,0x68,0x61,0x5d, 0x81,0xbe,0x46,0x64,
- 0x97,0x65,0x36,0xdb, 0x8e,0xf4,0xd1,0x0e, 0xb7,0xad,0x30,0x2a, 0xc1,0x66,0x6e,0xe1,
- 0x44,0xdd,0x5d,0xda, 0xc8,0x90,0x05,0x57, 0xb5,0x21,0xc5,0x7d, 0xc8,0x15,0xa8,0xb2,
- 0x7c,0x2a,0xb4,0xb4, 0x15,0xf4,0xd1,0xf8, 0x76,0x48,0x13,0x60, 0xb9,0x17,0xc4,0x6a,
- 0x2d,0x1a,0x15,0x20, 0xb1,0xf2,0xad,0x45, 0xa2,0x29,0xd6,0x6e, 0xfa,0x3f,0x4c,0xae,
- 0x9e,0x47,0xb9,0xf9, 0x71,0xb5,0x71,0x37, 0x7b,0x26,0x29,0xa7, 0xed,0xd5,0xdb,0x65,
- 0xb7,0xa6,0xe1,0x01, 0xa2,0x65,0x6d,0xd9, 0xed,0xc1,0x79,0x75, 0x00,0xa3,0xbd,0xdb,
- 0x92,0xf1,0x66,0xe1, 0xf9,0xd0,0x78,0x65, 0xec,0x4d,0x45,0x34, 0x9c,0x50,0x45,0x3c,
- 0xfd,0x7c,0xe6,0x4a, 0x08,0x63,0x97,0x62, 0x28,0x26,0xa2,0xe3, 0xac,0x78,0x1a,0x95,
- 0xfd,0xa3,0x1a,0x7c, 0xde,0x86,0x6f,0x78, 0xde,0x98,0x06,0x0c, 0xf0,0x6b,0x54,0x13,
- 0xf8,0x95,0xfc,0x75, 0x88,0xc3,0xfd,0xe1, 0x8a,0x24,0x77,0xac, 0x3a,0xa0,0x29,0xad,
- 0x97,0x67,0x09,0x9a, 0xf4,0x54,0xe3,0x9f, 0x4b,0xda,0x1e,0x7a, 0x69,0xb4,0x0d,0x8f,
- 0xab,0xe8,0x79,0x92, 0xaf,0x44,0xe9,0xdb, 0x4a,0xe9,0xcb,0x3f, 0x74,0x7e,0xbc,0x46,
- 0xe7,0x61,0x23,0x0b, 0x61,0x1f,0xbf,0x57, 0xab,0x5b,0x9d,0xbe, 0x40,0xbc,0xa1,0x19,
- 0x73,0x41,0x82,0xa7, 0x05,0x56,0x0c,0xcc, 0x99,0x44,0x6a,0x5f, 0x38,0xda,0xc6,0xff,
- 0x1b,0x26,0x90,0xea, 0xa8,0x9f,0x7e,0x47, 0xb7,0x13,0x91,0x67, 0xb0,0x5c,0x9b,0x36,
- 0x2f,0xce,0x62,0x48, 0xdd,0xbc,0x53,0x56, 0x8b,0x3d,0xd6,0x7e, 0xb2,0xed,0x4d,0xfc,
- 0x02,0x3c,0x97,0x49, 0x0e,0xb4,0x28,0xee, 0x2b,0x22,0x88,0x44, 0x82,0x64,0xc4,0xb9,
- 0x01,0xdd,0x3d,0x1c, 0xc8,0xec,0x00,0x1d, 0x84,0x39,0x5c,0x02, 0x87,0xb0,0x10,0x5c,
- 0xfb,0xfb,0xfa,0x52, 0x1d,0x42,0x3e,0x3d, 0xc2,0xef,0x83,0x3b, 0x83,0xce,0x54,0x3d,
- 0x6a,0x6f,0x54,0x0e, 0x46,0xc6,0xad,0x52, 0x5c,0x26,0x9f,0x6a, 0xbc,0xa7,0x94,0x23,
- 0x39,0xfe,0x9c,0x60, 0x50,0x34,0x46,0xf7, 0xa1,0x68,0x03,0x96, 0xb2,0xc7,0x61,0xac,
- 0x7a,0x4a,0xdb,0xd7, 0x95,0x12,0xd7,0xde, 0x2a,0x2a,0xd9,0x50, 0xbf,0x68,0xcd,0x50,
- 0x4a,0x7e,0x9c,0x0c, 0xb3,0x0e,0xb2,0xec, 0x93,0x4e,0x7a,0x8f, 0x33,0x6d,0x23,0xd1,
- 0x52,0x87,0x83,0x32, 0xbb,0xf0,0x79,0x10, 0x55,0xed,0x26,0x9e, 0x56,0xd4,0xe7,0x0e,
- 0x29,0x50,0x32,0x7b, 0xf1,0x9c,0x20,0xcf, 0x46,0xe9,0x60,0xe8, 0xb6,0x5a,0x43,0x4c,
- 0xd0,0xc9,0x7f,0xac, 0x44,0x1d,0xfa,0x6f, 0xcc,0x56,0xe3,0x25, 0x16,0x2e,0xde,0x47,
- 0x4b,0x7a,0xd8,0x6c, 0x18,0xe1,0x24,0xaf, 0x8d,0xf4,0x43,0x9f, 0x5c,0xa7,0x76,0xf9,
- 0xca,0xc3,0xd5,0x03, 0xbc,0x13,0x6d,0x9a, 0x76,0xea,0x60,0xe0, 0xda,0x3f,0xaf,0x7c,
- 0x9f,0x6b,0xe7,0x2a, 0x08,0xcd,0xcf,0xfe, 0x2c,0x2e,0x1f,0x44, 0x21,0x2f,0x81,0x82,
- 0x45,0xbe,0x71,0x3e, 0x0a,0xb2,0xa9,0xf3, 0xff,0x92,0x62,0xd3, 0xb5,0x4b,0x8f,0xf9,
- 0x16,0x89,0xf9,0x6e, 0x36,0x79,0xee,0xa1, 0xec,0x49,0xe9,0x1c, 0x80,0xc4,0x2a,0xac,
- 0xf4,0x08,0xfb,0xd5, 0x73,0x63,0xb9,0x9b, 0xf0,0x55,0x01,0x78, 0xd7,0xa2,0xd7,0x16,
- 0x5c,0x18,0x4d,0xaa, 0xf0,0xeb,0xa5,0xe7, 0x56,0x0c,0xa4,0x64, 0xa8,0x9c,0x87,0x52,
- 0x2f,0xf4,0xab,0x31, 0x4f,0xe5,0x07,0x5e, 0xa5,0x71,0xac,0xda, 0xcf,0xe5,0xbb,0xba,
- 0xff,0x87,0xbb,0x39, 0x5a,0xef,0x41,0x33, 0xf8,0x4e,0xe2,0x68, 0x91,0x11,0x72,0xbf,
- 0x0e,0x8f,0xdc,0xa5, 0x3d,0xe2,0x02,0xb9, 0xe7,0x29,0x05,0x8e, 0x81,0x08,0x71,0x7f,
- 0xcd,0x38,0x9c,0xf6, 0x2e,0xb9,0x37,0x80, 0xb6,0xfe,0x07,0xfa, 0x98,0x58,0xcb,0x07,
- 0xfb,0x6c,0x47,0x16, 0xc7,0xaa,0xa7,0x72, 0x97,0x68,0x94,0x56, 0x77,0x54,0xbb,0xfa,
- 0xfc,0x0f,0x2c,0xc9, 0xe2,0xdf,0x5c,0xbb, 0xf4,0xb3,0xbf,0xce, 0x3e,0x50,0xc3,0x84,
- 0x5b,0x5f,0xb5,0xb1, 0xd2,0x40,0x6f,0x1b, 0xe1,0x5a,0x2b,0x76, 0x62,0x36,0x24,0x12,
- 0xe8,0xe4,0x12,0x7c, 0x0f,0x53,0xf8,0xda, 0xca,0xd1,0xda,0x05, 0x94,0x7f,0x80,0x9a,
- 0x24,0x26,0x11,0xec, 0xe6,0x95,0xb1,0x25, 0xc3,0x7a,0x29,0xcf, 0x59,0xca,0x53,0x55,
- 0xe6,0x64,0x11,0xfd, 0xae,0x34,0xc1,0x87, 0xb6,0xae,0xc8,0x5d, 0x57,0xd4,0xdb,0x04,
- 0xcb,0x7f,0xf7,0x28, 0x82,0xef,0x88,0x2a, 0xd3,0xe3,0xc8,0x2b, 0x4d,0xd7,0x26,0x23,
- 0x7a,0x57,0x6e,0x74, 0x4e,0xb9,0x77,0xdd, 0xf5,0xf5,0x2a,0x67, 0xaf,0xc7,0x14,0x5b,
- 0x11,0x5f,0x52,0x9d, 0x5c,0x11,0x5c,0x52, 0x82,0xa4,0x23,0x2d, 0xb4,0xdf,0x65,0xb6,
- 0x4e,0x45,0xee,0xf2, 0xe1,0x51,0x1f,0x71, 0x8b,0xba,0xf6,0xfb, 0x9b,0xf0,0xb4,0xe1,
- 0xa1,0x2a,0xe0,0xa1, 0x1a,0x8c,0x02,0x4b, 0x33,0x13,0x2e,0x13, 0x0e,0xeb,0x88,0xbf,
- 0xe8,0x3d,0xec,0x17, 0xd6,0xd8,0x04,0xdf, 0xf6,0x7a,0x77,0xc4, 0x30,0x17,0xc5,0xdb,
- 0x62,0xd6,0x18,0x48, 0x5b,0xee,0x3d,0x0b, 0x28,0xe8,0x98,0x9d, 0x6c,0xb6,0xdc,0x47,
- 0x56,0x41,0x34,0x92, 0xb4,0xf5,0xc7,0x7b, 0xb5,0x82,0x54,0x90, 0x92,0x2d,0xfa,0xb1,
- 0x88,0x16,0x08,0xab, 0xfa,0xe7,0x38,0x52, 0xe0,0x2b,0xd1,0xf1, 0x1f,0x6a,0x36,0xac,
- 0x8d,0xc7,0x34,0xfe, 0x4c,0x53,0x37,0x86, 0xe1,0xe8,0x11,0x5f, 0xf4,0x25,0x88,0xc0,
- 0xac,0xa7,0x1f,0xc1, 0xbf,0xd0,0xac,0xb8, 0x21,0x8c,0xa8,0x55, 0x06,0x04,0x07,0xa8,
- 0x68,0x69,0x01,0x57, 0xa9,0xec,0xee,0xb6, 0x6a,0x36,0xbe,0x56, 0x57,0x5f,0x1d,0xf8,
- 0xb1,0xc8,0x9c,0x83, 0x2c,0x84,0xde,0x82, 0x0f,0xa1,0xb7,0xc1, 0x38,0x25,0x6f,0x01,
- 0xf7,0xdf,0xb9,0xdf, 0x3b,0x03,0x3b,0x85, 0x8d,0xaf,0x4c,0x5e, 0x2e,0x7d,0x2c,0x59,
- 0x77,0xd0,0xb8,0x83, 0x41,0xf8,0xce,0x70, 0xe9,0xe9,0xad,0x57, 0x2c,0xf9,0x9c,0xaf,
- 0x67,0x6f,0x3b,0x5a, 0xe5,0xa2,0x17,0x5d, 0x5f,0x61,0x65,0x1f, 0x0e,0x3d,0x21,0x6c,
- 0x70,0xa6,0x8c,0xf9, 0x29,0xd3,0x70,0x96, 0x19,0x28,0x42,0x1d, 0xf5,0x45,0x27,0xfc,
- 0xf6,0x60,0x73,0x2e, 0xb5,0x4b,0xc1,0x81, 0xc7,0xcc,0x7d,0x95, 0xfa,0xa2,0x4e,0x00,
- 0x8b,0x2f,0xfe,0x22, 0xe7,0x11,0x21,0x31, 0xdf,0x59,0x34,0x20, 0x8d,0x95,0x19,0xe5,
- 0x94,0x90,0x10,0xab, 0x70,0x7d,0x9a,0xca, 0x81,0x7c,0x25,0xf0, 0x85,0x35,0x29,0x25,
- 0xa4,0x3c,0xb3,0x50, 0xb8,0x51,0x8c,0xe4, 0x48,0x48,0x3c,0x1c, 0xc5,0xa4,0x4c,0x56,
- 0x28,0xd7,0xa4,0xd3, 0xd5,0x58,0x30,0xe1, 0x6b,0xab,0x1f,0xf5, 0x04,0x4f,0x11,0xda,
- 0x02,0x97,0x00,0x08, 0x9e,0xa6,0xab,0x65, 0x52,0x85,0x04,0xed, 0x25,0xe8,0xe0,0x79,
- 0x61,0xcf,0xa4,0xfe, 0x90,0xe4,0xb0,0x31, 0x82,0x1f,0x32,0xef, 0xb0,0x66,0x18,0x71,
- 0x83,0x39,0x1b,0x16, 0xee,0x0a,0x1e,0x48, 0xa6,0x32,0x01,0x2f, 0x2b,0xfc,0xa3,0xd3,
- 0xf0,0xba,0x6e,0x4f, 0x0b,0x26,0xe5,0x46, 0x2c,0xa9,0x68,0xb8, 0x37,0xdc,0xcf,0x6c,
- 0x22,0xf1,0xe9,0xfb, 0x88,0x3c,0x45,0x9f, 0xfc,0xd3,0x00,0x03, 0x9d,0xc9,0xd1,0x57,
- 0x6c,0x1f,0x6d,0x31, 0x92,0xf8,0xc4,0x16, 0xa0,0x1b,0xc9,0x90, 0xa7,0x96,0xf9,0xfc,
- 0x96,0x36,0xb4,0xb5, 0x2d,0x70,0xe5,0x52, 0x9e,0x49,0x3a,0x23, 0xa0,0x45,0x66,0xd6,
- 0x0d,0x3c,0x5f,0x26, 0x9e,0x00,0x18,0x09, 0xa3,0x13,0xfe,0xd4, 0xcd,0x9a,0x7f,0x5a,
- 0xd0,0xf2,0xbd,0x31, 0xf9,0x18,0x72,0x72, 0x4e,0x4e,0x64,0x19, 0x94,0x31,0xcd,0x9e,
- 0xfe,0x53,0x5c,0xca, 0xef,0x47,0x8b,0x31, 0x9c,0xdf,0x83,0x50, 0x97,0xd2,0x06,0xd1,
- 0xf2,0xb1,0xba,0x28, 0xbc,0xfd,0x38,0x92, 0xa1,0xb6,0x12,0xb2, 0xdd,0xbf,0x8d,0x4d,
- 0xa0,0x70,0x9a,0xda, 0xbc,0x8d,0x9a,0xb4, 0x9a,0xd8,0x98,0xb2, 0x67,0x5c,0xf9,0x69,
- 0x44,0xdc,0xe1,0x95, 0x0e,0x39,0x55,0x19, 0xfc,0x70,0x6b,0x6d, 0xf2,0x12,0x31,0x06,
- 0x87,0x46,0x29,0x62, 0xf2,0x4a,0xd3,0xc5, 0x85,0x23,0x6c,0x7a, 0xc2,0x43,0x08,0x49,
- 0x82,0xa1,0x78,0x7c, 0xe8,0x99,0xc2,0xe6, 0x34,0x00,0x16,0xc0, 0x4b,0xd7,0xef,0x72,
- 0x6c,0x82,0x03,0x8b, 0x30,0xc2,0x03,0x31, 0x4f,0xb6,0x81,0x8b, 0x34,0x0a,0x8f,0xc2,
- 0x64,0x1a,0x59,0x30, 0x74,0xbc,0xd1,0xd0, 0xc1,0x0f,0xd2,0x78, 0x94,0xff,0xb4,0xbf,
- 0x07,0x34,0xcb,0xcf, 0x8f,0x94,0x87,0xd2, 0x20,0xbd,0x03,0xd7, 0xb3,0xac,0x82,0xce,
- 0x27,0x6b,0x83,0x51, 0x3b,0xb1,0x2b,0xa6, 0x09,0xd1,0xf1,0xdc, 0x6e,0x74,0xac,0xff,
- 0xed,0xf0,0x86,0x8b, 0xa7,0xd4,0x33,0x2f, 0x2c,0xcc,0x27,0xd6, 0x43,0xe4,0x30,0x08,
- 0x38,0xd9,0xe2,0xcb, 0x6c,0xf2,0xe3,0xf3, 0xb0,0x9e,0xfc,0x95, 0x5b,0xcd,0x1a,0x23,
- 0xc4,0xb1,0x08,0xd0, 0x3b,0xb5,0x1d,0xa0, 0x4a,0xbc,0x53,0xeb, 0x42,0x43,0x93,0xd4,
- 0x3b,0x97,0x2c,0x1c, 0x02,0x19,0xc6,0x30, 0xe5,0xaf,0x85,0x3c, 0x73,0x0e,0x49,0x03,
- 0x55,0x09,0xc3,0xac, 0x4d,0xdb,0xbc,0xa2, 0xbd,0x73,0x55,0x6e, 0xc4,0xa3,0x9c,0x7a,
- 0x09,0x9d,0x8f,0xe6, 0x8c,0x7c,0x0e,0x22, 0x90,0xea,0x5a,0x2f, 0x31,0x61,0xaf,0x2c,
- 0xba,0x4f,0xde,0x96, 0x23,0x57,0x26,0xf2, 0x6d,0xc0,0xd2,0xd0, 0x88,0x45,0xa0,0x5d,
- 0xdf,0xd2,0x88,0x13, 0x2d,0x05,0xd2,0xef, 0xbd,0xac,0x76,0xc8, 0x96,0xd4,0x56,0xc9,
- 0x28,0x7c,0xfe,0x91, 0x25,0x2a,0x3c,0xb4, 0xa1,0x95,0x8d,0x3f, 0x9a,0x0c,0xb4,0x5e,
- 0xfa,0x68,0xb9,0xba, 0xff,0x73,0xae,0xbf, 0xa9,0x53,0xd8,0x53, 0xbd,0xb4,0x06,0xc7,
- 0x94,0xca,0x34,0x31, 0xdf,0x6d,0x5c,0x65, 0xf1,0x57,0x03,0x13, 0x84,0x86,0x6f,0x65,
- 0x52,0x8d,0xde,0xf0, 0x3c,0x8e,0x0e,0x0a, 0x8f,0xc8,0xca,0x16, 0x0c,0xfd,0x5b,0xc1,
- 0x02,0xe9,0x23,0x2c, 0x1b,0xec,0x3c,0x46, 0xbe,0x32,0x3f,0x76, 0x04,0x01,0xcf,0x93,
- 0x1d,0x43,0x74,0x24, 0x02,0x40,0xdd,0xaf, 0xa1,0x71,0xd3,0x7b, 0xb3,0x6c,0x75,0x78,
- 0xa0,0xc9,0x5a,0xfd, 0x7b,0xc8,0x00,0x89, 0xe3,0xf1,0x55,0xb8, 0x2d,0xd8,0xf1,0x3d,
- 0x3a,0x94,0xe9,0xaa, 0xac,0xec,0x4d,0xc9, 0xeb,0x26,0x82,0x3a, 0xca,0x50,0x15,0x97,
- 0xb8,0x74,0x14,0x30, 0xfb,0xbf,0xfe,0x68, 0x12,0x42,0x16,0x03, 0xaf,0xca,0xa1,0xfd,
- 0x7f,0xe8,0x52,0x1e, 0x1c,0x74,0xc4,0xf5, 0x4f,0xb8,0x4d,0x6d, 0xeb,0xef,0xa5,0x0b,
- 0xdd,0xb3,0x9a,0x07, 0x89,0xd5,0xe4,0x85, 0x4b,0xdc,0xca,0x2a, 0x48,0xc0,0xc3,0x4f,
- 0x42,0x9f,0x4b,0x0f, 0x2c,0x94,0x93,0x54, 0x7d,0xb4,0xc6,0xb4, 0x65,0x20,0x42,0xbf,
- 0x29,0xcf,0x22,0xd9, 0x03,0xc5,0xe3,0xef, 0xce,0x3a,0xd2,0x3b, 0x8b,0x95,0x1d,0x06,
- 0xce,0x23,0xa1,0xa5, 0x81,0x79,0x84,0x74, 0xbb,0xee,0xe0,0xb9, 0x82,0x66,0x88,0x78,
- 0x36,0xed,0x55,0x6e, 0x8c,0x2f,0xae,0x3b, 0x9b,0xdf,0xdc,0x1a, 0xdc,0x28,0x70,0x05,
- 0x2f,0x71,0x41,0x21, 0x5a,0x3f,0x03,0x17, 0x19,0x1c,0x25,0xc7, 0x91,0x3b,0xa1,0xa5,
- 0x2c,0xe4,0xae,0x4d, 0xff,0x8c,0xbb,0x62, 0x06,0x71,0x65,0xc3, 0x41,0x3d,0xda,0x16,
- 0x7d,0x81,0xc9,0x92, 0x68,0x83,0xe0,0x77, 0x43,0xd9,0x66,0x15, 0x72,0xa5,0x29,0x93,
- 0x9f,0xff,0x4e,0xfe, 0x68,0x96,0xfc,0x22, 0x32,0xd5,0xef,0x0f, 0x80,0x20,0xd2,0x87,
- 0xa8,0x69,0xb7,0xdd, 0x55,0x1d,0xba,0xa2, 0x24,0x80,0x74,0xd0, 0x5b,0x9f,0xa5,0x77,
- 0x71,0xdc,0xd1,0x3a, 0xd2,0x70,0xbb,0xce, 0xa8,0xd5,0x37,0xcb, 0x11,0xd9,0x16,0x90,
- 0x5e,0xd7,0x9e,0x5e, 0xa8,0xf3,0xe4,0x5d, 0x56,0xa0,0xdc,0xd4, 0xb4,0x1a,0xcc,0x86,
- 0x8b,0xba,0xf2,0x02, 0x52,0xac,0x47,0x34, 0xa2,0xa6,0x9a,0xfc, 0xc7,0x18,0x2f,0x97,
- 0x26,0x49,0x75,0x9d, 0xcf,0xb3,0x99,0xb0, 0xc7,0xc3,0xaa,0xc6, 0x37,0x3b,0xda,0xa1,
- 0x3a,0x3f,0x01,0x70, 0xc9,0xea,0x39,0x93, 0x3e,0x5c,0x4b,0x33, 0x6f,0x6d,0x1e,0x82,
- 0x6c,0x4a,0x41,0x92, 0x73,0x54,0x9a,0x4b, 0xb9,0x25,0x91,0x90, 0x09,0xc3,0xd4,0xc4,
- 0xf6,0xf8,0xf5,0xdf, 0xef,0x33,0x83,0x9c, 0x10,0x43,0x18,0x0d, 0xcd,0x5c,0xcf,0xe6,
- 0xc7,0x7e,0xef,0x14, 0xf6,0xc6,0xa9,0xd2, 0x56,0x48,0xe1,0xf5, 0xba,0xa0,0x32,0x57,
- 0xfb,0x18,0x39,0x6c, 0x70,0x0e,0xf9,0xd6, 0x63,0xa3,0x3b,0x93, 0xa1,0xb7,0x14,0x78,
- 0x07,0x5f,0x9c,0x57, 0x85,0xf6,0x46,0x96, 0x79,0xaf,0x37,0xf2, 0xdf,0x74,0x26,0x11,
- 0x71,0x7b,0xaf,0x1a, 0xe4,0xbe,0x9b,0x43, 0x82,0xb1,0xfb,0xfe, 0x1d,0x77,0xb2,0x02,
- 0x5c,0x4e,0x25,0x3f, 0xf0,0xf8,0x04,0xa2, 0xf3,0x8a,0x51,0x76, 0xd6,0x2a,0x06,0xaf,
- 0xd8,0x35,0x49,0xd6, 0x96,0x58,0x67,0x18, 0x41,0x57,0x26,0x19, 0x0c,0xad,0x9e,0x69,
- 0x95,0x04,0x0a,0xb4, 0xdd,0xad,0x11,0xb4, 0x49,0x7d,0xc4,0x28, 0xbb,0xdf,0x59,0xf7,
- 0xc1,0xad,0xe0,0x1f, 0x78,0x89,0x04,0x7b, 0x1a,0x7d,0x96,0x7e, 0xb3,0xf9,0x71,0xa7,
- 0x9d,0x06,0x0d,0xa6, 0xfa,0xc5,0x38,0x70, 0x6d,0x0d,0x56,0x08, 0x42,0x04,0x15,0xf7,
- 0xa7,0xc6,0xcc,0xf3, 0x34,0x5a,0xc5,0xb8, 0xcf,0xc8,0x49,0x4c, 0xfe,0x47,0x45,0x0a,
- 0x53,0x73,0xea,0xc8, 0xdb,0x43,0xa0,0x5b, 0xff,0xc9,0xf8,0xc3, 0xbc,0x38,0x98,0x3a,
- 0x82,0x9a,0x12,0x00, 0x01,0xfa,0x98,0x4f, 0xdb,0xb3,0xa8,0xae, 0xbb,0x4d,0x62,0xf6,
- 0x5f,0xe1,0x82,0xc6, 0xbb,0x7a,0x6c,0xd8, 0xdb,0x3f,0x96,0x55, 0x6e,0x11,0xae,0x21,
- 0xc3,0x41,0x42,0x6f, 0xa5,0x49,0x15,0xca, 0x95,0x69,0xc6,0x36, 0xfe,0x07,0x7c,0x97,
- 0x6e,0x65,0x61,0xe5, 0x1d,0x60,0xed,0x08, 0x25,0xad,0xfa,0xb1, 0x6f,0xa9,0xa0,0xfd,
- 0xb6,0x67,0x2a,0x4a, 0xb1,0x16,0x65,0x73, 0x29,0x0d,0xd6,0xd5, 0xe0,0xb3,0xab,0x4e,
- 0xe8,0x93,0x32,0x45, 0x8c,0xf5,0x69,0x82, 0xd7,0x94,0x16,0x92, 0x4d,0x9c,0x07,0xda,
- 0x9b,0x24,0xda,0xd0, 0x45,0xf0,0x48,0xa3, 0x6e,0xd7,0x66,0xdf, 0xd5,0x54,0xc2,0x76,
- 0x50,0xc6,0xfe,0x47, 0xcb,0x8b,0xe4,0xcc, 0xb3,0x44,0xcf,0x88, 0xf4,0x99,0xc6,0xfb,
- 0x6e,0x27,0xf3,0x41, 0xe5,0x77,0xe7,0x0e, 0x2c,0xc2,0x86,0x7c, 0x65,0x04,0x7e,0xc5,
- 0xe8,0xac,0xed,0x50, 0xe5,0x03,0xa4,0x4b, 0xd7,0xbc,0x0b,0xd1, 0x35,0x5d,0x55,0x2b,
- 0x8f,0xce,0x09,0x16, 0x1e,0x5e,0x77,0xf3, 0xd7,0x99,0x84,0xd8, 0x03,0xa8,0xf5,0xeb,
- 0xee,0x34,0x8e,0x3e, 0xcc,0x48,0x9e,0xfd, 0x46,0x6b,0xef,0x00, 0xc5,0x50,0xc7,0x75,
- 0x58,0x3d,0xef,0xe9, 0x73,0xe2,0x4f,0x6f, 0x15,0x8a,0x88,0x35, 0xc6,0x0a,0xa8,0xdc,
- 0x50,0x55,0xaa,0xef, 0xd8,0xcf,0x96,0xd7, 0x5d,0xb0,0x95,0xdd, 0x07,0x86,0xcb,0x00,
- 0x4a,0xa9,0xe2,0x47, 0x80,0x91,0xff,0x21, 0x50,0x34,0x20,0xba, 0x71,0x44,0x04,0x6b,
- 0x82,0xf2,0x7c,0x16, 0x3e,0xfb,0x51,0x7e, 0x4f,0xe2,0x4a,0x2f, 0x5e,0x6a,0xd0,0x64,
- 0x9a,0x17,0xc5,0xb7, 0x2f,0x85,0x58,0xf3, 0xdb,0x81,0xd1,0x1c, 0xab,0x64,0xc2,0x40,
- 0x5f,0x23,0xf2,0xc9, 0x66,0xfc,0xb4,0x62, 0x03,0x04,0x1f,0x73, 0x3a,0x5f,0xd3,0x19,
- 0xb2,0x99,0xff,0xdf, 0xcd,0xb9,0x87,0xbb, 0x77,0x16,0x28,0xbe, 0xd7,0x45,0xb2,0x91,
- 0xf8,0x0a,0x4a,0x65, 0x0e,0x01,0x56,0x75, 0x70,0x3a,0xa3,0x2b, 0x81,0x68,0x71,0x82,
- 0xc9,0xe9,0x1a,0x40, 0x3a,0x9c,0x23,0xab, 0x4d,0x2b,0x34,0x43, 0x4f,0x86,0x7c,0x14,
- 0x7e,0xd4,0x78,0xd4, 0x7c,0x38,0x8e,0x99, 0xd3,0x49,0x86,0x64, 0x1f,0xbf,0x15,0xc7,
- 0xc3,0x00,0x11,0xca, 0x40,0xce,0x6a,0xb3, 0x21,0xcb,0x34,0x19, 0x06,0x29,0x70,0xab,
- 0x8a,0xaf,0xc7,0xc5, 0x48,0x2a,0x42,0xdb, 0x28,0xbb,0x68,0xfb, 0xe2,0x59,0x8e,0xe1,
- 0xb1,0xe3,0x59,0xcc, 0x3f,0x45,0xce,0x8a, 0x60,0x0e,0xd9,0x0e, 0x6f,0x16,0xc4,0xb7,
- 0x86,0x20,0x4d,0x2c, 0x28,0xbf,0x37,0xef, 0x2a,0xd5,0x73,0x16, 0xaa,0x73,0x54,0xfd,
- 0x07,0xc7,0x48,0x5a, 0x42,0xf8,0x68,0xe2, 0x05,0xd3,0xb2,0x5b, 0xfa,0xa5,0xd5,0xd3,
- 0x25,0x18,0x57,0x61, 0xba,0xcc,0x6d,0xe3, 0x0f,0x4a,0xc3,0x7b, 0xb3,0x5e,0xc3,0x80,
- 0x21,0x76,0x45,0x5a, 0xef,0xc9,0xdb,0x1f, 0x29,0x18,0xc0,0xf2, 0xdb,0xa9,0xc3,0x60,
- 0x63,0xa8,0xf5,0xf9, 0x8b,0x1b,0x01,0x48, 0x07,0xee,0x2f,0x62, 0x30,0x6a,0xc7,0x35,
- 0xfd,0x2c,0x77,0x59, 0x2f,0x0a,0x9c,0x0f, 0x36,0x2b,0x77,0x06, 0xff,0x98,0x0b,0x10,
- 0xfc,0x37,0xb6,0x22, 0x91,0x94,0x6b,0x6c, 0x4d,0x25,0x38,0x40, 0xde,0x05,0x94,0x21,
- 0x5e,0x98,0x85,0x1b, 0x0c,0xeb,0x46,0x82, 0x0e,0x6c,0xab,0xbc, 0x47,0x52,0x20,0xf0,
- 0x26,0xbc,0xcd,0x07, 0xf6,0x24,0x24,0xbc, 0x51,0x98,0xda,0x0b, 0xe2,0xb4,0x09,0xc7,
- 0xb5,0xfd,0x91,0xbf, 0x99,0x21,0x6f,0x2c, 0x13,0xef,0xaa,0xd4, 0xaa,0x9d,0x0a,0xfe,
- 0xbf,0x56,0xe3,0x12, 0xd0,0x2e,0x77,0x52, 0x14,0xf0,0xc3,0x23, 0xc4,0x91,0x0d,0xc1,
- 0x4b,0xfa,0xfd,0xee, 0x5a,0x2b,0x08,0xd6, 0x36,0x93,0xd5,0x2b, 0x02,0xe3,0x28,0x76,
- 0xc5,0x81,0xfc,0xfd, 0x69,0x2b,0xff,0xec, 0x49,0x3f,0x85,0x6a, 0xcf,0x14,0xc3,0x69,
- 0xc9,0xcd,0x09,0xdb, 0x0c,0xb0,0xf5,0x21, 0x39,0x29,0xa2,0x3c, 0xb7,0x44,0xe3,0xec,
- 0xfd,0x6d,0xf4,0x6a, 0xad,0xb7,0x73,0xc5, 0x97,0xc4,0x9c,0x7b, 0xef,0x9f,0xbf,0x9a,
- 0x88,0x71,0x81,0x6d, 0x86,0x83,0x96,0xc1, 0x56,0xe9,0x5c,0x39, 0xca,0x79,0x70,0x06,
- 0x5a,0xb2,0x6c,0x11, 0x90,0x8e,0x28,0xb8, 0x95,0xee,0x79,0x8e, 0x6e,0x20,0xb5,0xae,
- 0xdf,0x3b,0xf1,0xc6, 0x95,0x5e,0xe9,0x67, 0xd9,0x76,0x76,0xc2, 0xb7,0x02,0x08,0x55,
- 0x64,0x1e,0xfa,0xe6, 0x94,0x9a,0x4b,0x4b, 0x1c,0x72,0xa5,0xdf, 0x73,0x06,0x54,0xdb,
- 0x3e,0x34,0x09,0xb6, 0x28,0x47,0xec,0xac, 0x1d,0xeb,0x90,0x62, 0x6d,0x16,0x20,0x57,
- 0x57,0xaa,0x2d,0xca, 0x70,0x49,0x71,0x47, 0x63,0x31,0x44,0x10, 0x57,0xd8,0x86,0x2b,
- 0x2e,0xbd,0x39,0xfe, 0x6a,0x9c,0xae,0x01, 0x85,0xa3,0x03,0xb6, 0x1c,0xef,0x72,0xc3,
- 0x26,0x1f,0x9a,0x99, 0x14,0x6f,0x0b,0x8f, 0x7b,0x0f,0xed,0x61, 0x40,0xc7,0xa1,0xc3,
- 0xee,0xad,0x40,0x2c, 0x2f,0xc3,0x3a,0xb2, 0xe4,0x19,0x6f,0x67, 0x7d,0xd1,0xb9,0x71,
- 0x9c,0x73,0x06,0x0c, 0xce,0x3a,0x17,0x29, 0x20,0xab,0x13,0xed, 0x4f,0x9c,0x78,0x7f,
- 0xe0,0x55,0x04,0x10, 0x2d,0x43,0xad,0xe4, 0x3a,0xd9,0xdc,0x30, 0xeb,0x43,0xa2,0x3c,
- 0x45,0x20,0x4e,0x19, 0x44,0xeb,0x7b,0xac, 0x47,0xcc,0x00,0x17, 0x6b,0xf7,0x9c,0xe8,
- 0xd5,0x1c,0x0a,0xc1, 0x1a,0xb1,0x3e,0x48, 0x70,0x91,0xa8,0x9b, 0xe7,0xa6,0x13,0xec,
- 0xf6,0xda,0x1c,0x3b, 0xf8,0x43,0x19,0x15, 0xfb,0xb9,0x35,0x3e, 0xd0,0xe1,0xe5,0xb5,
- 0x8f,0x18,0x27,0xe2, 0xc1,0x46,0x9e,0x15, 0x6a,0xd0,0x02,0xc0, 0x29,0x5a,0x9f,0x69,
- 0xae,0xab,0x26,0x31, 0x04,0x98,0x83,0x3c, 0xaf,0xad,0x44,0xa1, 0x66,0x1a,0xdb,0xd6,
- 0xb6,0x8a,0xde,0x7b, 0x41,0x6d,0x0e,0x6a, 0xe9,0xd2,0x7a,0xb4, 0x9e,0xc8,0x76,0x83,
- 0x9c,0x73,0xbb,0x0c, 0xfa,0x35,0x42,0x03, 0x75,0xe1,0xfd,0x9d, 0xbd,0xe5,0x04,0xa6,
- 0x15,0x67,0x1d,0x71, 0x26,0x56,0xad,0x86, 0x7e,0x26,0xaa,0xc4, 0xb1,0x31,0xd2,0x55,
- 0xb0,0x59,0x9c,0xb8, 0x56,0x68,0x0f,0x03, 0x92,0xad,0xd9,0xc1, 0x67,0x0a,0xf0,0x69,
- 0x1d,0x15,0x59,0xf8, 0xb8,0x51,0xd4,0x62, 0xbc,0x27,0xfa,0xb3, 0xf4,0x78,0xd0,0x93,
- 0x0f,0x1e,0x82,0xd2, 0x84,0xe7,0x1f,0x52, 0x55,0x6c,0x6e,0x8c, 0xd1,0x2e,0x39,0xe6,
- 0x91,0x6b,0xb7,0x6d, 0x44,0x2f,0xb5,0x7d, 0xda,0x2e,0xd4,0x47, 0x68,0x6e,0x36,0x3b,
- 0xe2,0x2b,0x27,0xb6, 0xa3,0xcb,0x88,0x58, 0xa4,0x2c,0xfd,0x29, 0xba,0x60,0x9c,0x07,
- 0x97,0x3e,0x2d,0x8f, 0xbe,0x90,0xd6,0x2a, 0x9b,0xf1,0x71,0x87, 0x3b,0xb6,0xbb,0x4a,
- 0x8f,0xba,0xb1,0xf7, 0xec,0xed,0xb9,0x52, 0x45,0xd1,0x75,0xf7, 0x94,0xed,0x7b,0x9c,
- 0xf5,0xfe,0xce,0xd7, 0x2e,0xf2,0x37,0xe3, 0x4a,0xf5,0x36,0x92, 0xd8,0xb7,0xeb,0xe1,
- 0xb8,0x1b,0x5e,0x1c, 0xc4,0x88,0xa4,0x6e, 0x01,0x92,0xae,0x4e, 0xf5,0xb8,0xc3,0x70,
- 0xc8,0x60,0xbd,0xd1, 0x44,0xbd,0xc0,0x5e, 0x38,0x70,0x58,0x78, 0x44,0x62,0x42,0xc3,
- 0x94,0x18,0x9e,0x95, 0xe0,0x1c,0x47,0x00, 0x4b,0xbb,0x89,0xf3, 0x0d,0x53,0x32,0xae,
- 0x76,0xb3,0xc9,0xcf, 0xd0,0x10,0x4f,0x97, 0x32,0xe0,0xab,0x23, 0xfc,0x86,0x25,0xeb,
- 0x4f,0x93,0x23,0x28, 0x2a,0x56,0x24,0x35, 0x99,0x73,0x75,0x9d, 0x99,0x4d,0x87,0xe6,
- 0xc9,0x4d,0x1c,0xf1, 0x67,0xae,0xce,0xda, 0x2d,0x1d,0x3f,0x9c, 0x14,0xbf,0xdf,0x8e,
- 0x26,0x6b,0xb1,0xd4, 0x30,0xaa,0x46,0xdc, 0x57,0xda,0x48,0xa2, 0x5a,0x7c,0x64,0x82,
- 0x91,0x6a,0xf7,0xc8, 0xd5,0xfd,0xea,0x51, 0xd5,0xc0,0x37,0x1b, 0xda,0x0a,0x63,0x35,
- 0x30,0xde,0x74,0xc1, 0xcd,0x5b,0x2f,0xdb, 0x59,0x04,0xc5,0xd3, 0x47,0xd2,0xa4,0xe9,
- 0x32,0x87,0x16,0xf4, 0xe7,0xe9,0x96,0x3b, 0x1f,0x39,0xbe,0x33, 0x8a,0xa9,0xe9,0x96,
- 0x93,0xe6,0x10,0x34, 0x0a,0x3f,0x3c,0x16, 0xcd,0x3c,0x65,0x18, 0x59,0x5c,0xe1,0xf3,
- 0xd7,0x37,0xb6,0x05, 0xbf,0x2f,0xf7,0x19, 0xa0,0xd6,0x5c,0x7f, 0xe6,0x81,0x54,0x72,
- 0x71,0x69,0xe3,0x57, 0xe9,0x54,0xdf,0x60, 0x3f,0xb1,0x20,0x52, 0x15,0xc5,0x6c,0xda,
- 0x5a,0xc7,0x3c,0x09, 0xd7,0x00,0x08,0xe8, 0x32,0xdb,0x45,0xd2, 0xba,0x9a,0x1d,0xc6,
- 0xd2,0xcf,0x6a,0x3d, 0x9e,0xf9,0x9b,0x55, 0x90,0xb5,0x82,0xf2, 0x73,0xb4,0xf5,0xa3,
- 0xec,0x00,0x3b,0x8a, 0x2d,0xbb,0xfe,0x35, 0x70,0x88,0x53,0x0e, 0x12,0x69,0x63,0x2f,
- 0xd5,0x3f,0xcc,0x9f, 0xa6,0xb9,0x74,0xcb, 0xb9,0x27,0x79,0xf1, 0x34,0xc6,0x0d,0x12,
- 0x5c,0xbc,0x62,0x3d, 0x0c,0x53,0xb7,0x0e, 0x52,0xd2,0xc4,0x88, 0x22,0x3d,0x5c,0x54,
- 0xe4,0xfa,0x19,0x37, 0x55,0x00,0xff,0x36, 0x79,0x57,0xca,0x15, 0xd2,0x4f,0xb0,0x37,
- 0x38,0xca,0x5f,0x12, 0xc0,0x4b,0x5d,0xcc, 0x5e,0x90,0xc4,0xdb, 0xf2,0x44,0x26,0x14,
- 0xd3,0x8b,0xee,0x7a, 0x41,0x3a,0x82,0x76, 0x04,0xe6,0x96,0x2d, 0xa7,0x26,0xc0,0x10,
- 0x9f,0x9e,0x8a,0x1c, 0x6d,0x7c,0x6a,0x96, 0x3d,0xd8,0x82,0xdc, 0xf0,0x55,0x4c,0x20,
- 0xc2,0xe1,0x7d,0xd0, 0xa0,0x01,0x46,0xc9, 0xab,0xce,0xb7,0x5e, 0x33,0x6c,0xe1,0x2b,
- 0xef,0xcf,0x5c,0x36, 0xab,0xe0,0x7b,0x39, 0x43,0xb0,0x03,0x63, 0xa7,0xf3,0xca,0x3c,
- 0xd3,0x85,0x3b,0xbc, 0x5a,0x0d,0xcd,0x0d, 0x1d,0xe2,0xd3,0x8b, 0x03,0x5b,0x12,0xa3,
- 0xdb,0x4b,0x15,0xcd, 0xd1,0xf6,0x37,0x44, 0x96,0xd8,0xdd,0x68, 0xda,0xa7,0x05,0x3a,
- 0xf8,0xae,0xb9,0x1e, 0xad,0xa5,0xde,0x0b, 0x0c,0xa8,0x58,0xa4, 0x80,0x2f,0x82,0x97,
- 0xb7,0x0f,0xb3,0x3b, 0x35,0x33,0x52,0x0d, 0x36,0x6d,0xd0,0x6f, 0xb0,0x7f,0xd8,0xad,
- 0xe5,0x64,0x31,0x76, 0x8c,0xfb,0x88,0x05, 0xeb,0x32,0x01,0x57, 0x89,0x51,0xb5,0xd2,
- 0xe7,0x09,0x7e,0xe1, 0x8d,0x03,0x38,0x1f, 0x3e,0x9d,0x0c,0x9b, 0x85,0xb6,0xdb,0x39,
- 0xce,0xda,0xfd,0x87, 0x1c,0xda,0xd1,0x28, 0x5f,0xce,0x75,0x67, 0x62,0xab,0xf4,0x34,
- 0xf0,0xe6,0x28,0xe2, 0xb7,0x55,0xaf,0xad, 0x6b,0x4d,0xdb,0x2c, 0xd7,0x2c,0x63,0x14,
- 0x49,0x0e,0x05,0x33, 0xbd,0xa8,0x02,0xad, 0x7e,0x36,0x8c,0xe1, 0x0f,0x50,0xf8,0xc3,
- 0xd6,0xd5,0xe8,0xdd, 0x2d,0xbf,0xa9,0x18, 0xa9,0xfd,0x46,0x99, 0x59,0xa9,0x4d,0xc7,
- 0x2b,0x99,0xb7,0xd4, 0xe6,0x0b,0x1d,0xda, 0xfb,0xf4,0x84,0x1b, 0xfd,0xf9,0x33,0x8c,
- 0x03,0x47,0x03,0x30, 0xc9,0x7f,0xae,0x2e, 0x8d,0x48,0x8e,0x7a, 0xa3,0x24,0x41,0xdf,
- 0xf2,0x2e,0x3c,0x88, 0x06,0x97,0x0f,0xd3, 0x50,0x53,0x13,0x18, 0x9c,0x26,0x66,0x67,
- 0xcf,0x8a,0xf1,0x4f, 0xf9,0x19,0x8b,0x5b, 0x23,0x95,0x04,0xda, 0x98,0x76,0xeb,0x5a,
- 0xa4,0x28,0x7f,0x39, 0xd3,0x39,0x2c,0xb6, 0xd0,0xda,0x67,0xc7, 0xb3,0xad,0x6a,0x2b,
- 0xb4,0x5c,0xdd,0x8d, 0xbf,0xab,0xcb,0x8c, 0xff,0x3f,0xf9,0x08, 0xc9,0x87,0xd8,0xba,
- 0x65,0x88,0x0d,0xed, 0x47,0x78,0xe4,0xc2, 0xf9,0x9f,0x8d,0x51, 0x5c,0x08,0x2f,0xbc,
- 0x29,0x83,0x5f,0xe4, 0x1c,0x5a,0xb8,0x2f, 0x5a,0x61,0xc0,0xf0, 0x22,0x11,0x22,0x46,
- 0x8d,0xc3,0x47,0xa6, 0x39,0x26,0x4b,0xd2, 0x66,0x7c,0xd4,0xdc, 0x15,0xac,0x18,0xcc,
- 0x87,0xc6,0xf2,0x0f, 0xd7,0x5b,0x8a,0xeb, 0x29,0x88,0x6f,0x50, 0xb7,0x53,0x59,0x79,
- 0x6f,0x91,0x1e,0xcc, 0x49,0xde,0x8e,0x18, 0xde,0xfd,0x8f,0xc0, 0x86,0x95,0xbe,0xef,
- 0x20,0xd4,0xb8,0x58, 0xa8,0xf7,0xa8,0xe4, 0x8d,0xe4,0x46,0x1f, 0x8a,0x20,0xe0,0x2b,
- 0xe3,0x36,0x78,0xa0, 0x4e,0x5b,0xa5,0xfc, 0x8b,0xe3,0xc7,0x87, 0x80,0x83,0xba,0xce,
- 0xf8,0xf6,0xaa,0xca, 0x0c,0x2d,0x0d,0x34, 0xb5,0x88,0xc7,0x2d, 0xf9,0xb8,0xa1,0x40,
- 0x59,0x12,0x8d,0x63, 0x8d,0x3c,0x8c,0xa6, 0xa5,0x9f,0x38,0x2a, 0x5b,0x79,0xc1,0x9d,
- 0x43,0xa4,0xb6,0x96, 0xeb,0x77,0xee,0xdf, 0x89,0x66,0xc7,0x86, 0xaa,0xcf,0xdf,0xf7,
- 0xcc,0x78,0x86,0x4d, 0xdb,0xb6,0x78,0x77, 0x18,0x39,0x7b,0x85, 0xb4,0x30,0xa2,0x60,
- 0x70,0x32,0xb8,0x36, 0x09,0xe9,0x36,0x92, 0xfd,0x77,0x0e,0x0e, 0xe8,0x5c,0x27,0x0a,
- 0x5e,0x20,0x98,0xff, 0x56,0xe3,0x3c,0x86, 0x9e,0x6f,0x5c,0x5b, 0x85,0xf8,0x90,0x32,
- 0x88,0xbc,0x9b,0xec, 0xce,0x69,0xb6,0xa9, 0x8c,0x57,0x21,0x71, 0x70,0x1f,0xdf,0x34,
- 0x07,0xfd,0x53,0x56, 0xc5,0x83,0x09,0x7f, 0x4f,0xa6,0x2b,0xa5, 0xc5,0x1c,0xcf,0x79,
- 0x47,0xf9,0x7a,0xc6, 0x2f,0xf5,0x37,0xdd, 0x9a,0x8a,0xc0,0x01, 0x4b,0x95,0xc2,0x6e,
- 0x5e,0x4a,0xd5,0xae, 0x78,0x4b,0x7e,0x5b, 0x1e,0x69,0xac,0x7e, 0x22,0x27,0xfd,0x83,
- 0xfc,0xac,0x39,0x6e, 0x2a,0xec,0xee,0xa9, 0xa5,0x6d,0x3e,0x08, 0xda,0xa4,0x43,0x5c,
- 0x2d,0x72,0x09,0xbf, 0x34,0xa9,0xd3,0x0c, 0x7a,0x19,0x15,0x66, 0x0b,0xbd,0xda,0x1e,
- 0xc4,0x10,0x5f,0x12, 0xb7,0x12,0x72,0xe9, 0xf1,0x7d,0x73,0xd6, 0xa5,0x08,0xda,0x19,
- 0x4b,0x09,0x39,0x38, 0xa8,0x4b,0xd6,0x7d, 0xad,0x25,0xed,0x6d, 0x51,0xc5,0x26,0xeb,
- 0x05,0xbf,0x1a,0x95, 0x14,0x0f,0xcb,0x5a, 0xf4,0xda,0x88,0x76, 0x3b,0x9c,0x15,0xb0,
- 0x91,0x64,0x90,0x33, 0xbc,0xc9,0x15,0xd3, 0x61,0x81,0xd6,0xcc, 0xcb,0x86,0x59,0x68,
- 0x24,0xd4,0x6f,0x09, 0xa9,0x9e,0xc1,0x0f, 0x2b,0x27,0x2f,0x9d, 0xec,0x12,0x8b,0x43,
- 0x25,0x91,0xf0,0xc0, 0xe1,0x87,0x11,0x84, 0xbf,0x99,0x28,0xdc, 0x26,0xa0,0x57,0x17,
- 0xb5,0x97,0x22,0xa6, 0x70,0x0c,0x5e,0x30, 0x8f,0xc1,0xc8,0x3b, 0x22,0x28,0x55,0xfb,
- 0xeb,0x76,0x8c,0x8e, 0xf1,0x96,0xb5,0x4f, 0xd2,0xf3,0x20,0xf6, 0x5e,0x53,0x44,0xfb,
- 0x7e,0xda,0xbc,0x5d, 0xa3,0xc7,0x91,0x77, 0xa9,0xb4,0x9e,0x2c, 0x91,0xee,0x74,0x70,
- 0xc7,0xb8,0x1f,0x0f, 0x03,0x55,0x42,0xdd, 0x8b,0x0a,0x31,0x4c, 0x11,0x96,0x30,0xc0,
- 0x5d,0xdc,0x53,0xbc, 0xb2,0x31,0x4f,0xd9, 0x5e,0x25,0x0a,0xa2, 0x42,0x2e,0xdb,0x06,
- 0x17,0x98,0x00,0xb7, 0xad,0xca,0x8e,0xee, 0x80,0xf1,0xb4,0x6e, 0xec,0x16,0x69,0xeb,
- 0xb2,0x11,0x10,0x57, 0xb5,0xf1,0x23,0x6d, 0xaa,0x23,0xb2,0x49, 0x0f,0x57,0x30,0x3e,
- 0x1c,0xb9,0xcb,0xe0, 0x6e,0xbe,0xf2,0x8f, 0x6f,0x97,0x88,0x28, 0x1d,0x22,0x15,0xb5,
- 0x63,0x66,0x50,0xa1, 0x14,0x46,0x1d,0xe2, 0x39,0x21,0xbe,0xda, 0xa3,0x0a,0xfa,0xd6,
- 0x4e,0x5a,0x46,0xcd, 0x8f,0xc3,0xda,0x9e, 0x7b,0x0d,0x2a,0x72, 0x2e,0x73,0x32,0x42,
- 0xdb,0xfa,0x1f,0xdc, 0xe4,0xa0,0x6c,0x07, 0x60,0x70,0x25,0xb7, 0xb5,0xc7,0x73,0x1d,
- 0x6d,0x4e,0x09,0x34, 0xef,0x02,0x39,0x8f, 0xe3,0x04,0x32,0xb0, 0x1b,0x71,0x8b,0x82,
- 0x6b,0x86,0x82,0xbb, 0xc5,0x61,0x0e,0xad, 0xf2,0x21,0xfb,0xd6, 0xfb,0x45,0x8e,0xaa,
- 0x86,0x75,0xe5,0x11, 0x02,0x79,0x3f,0x19, 0xf9,0x18,0xc3,0x78, 0x10,0xf2,0xdc,0xfb,
- 0x04,0x57,0xdf,0x83, 0x00,0x89,0xb8,0x60, 0x55,0x5a,0x50,0x9b, 0xe3,0x90,0xb5,0x54,
- 0xeb,0xae,0xf9,0x99, 0x2a,0x2e,0x60,0xc4, 0x62,0x87,0x5e,0xa3, 0x07,0x25,0x31,0x06,
- 0xc5,0xbd,0x67,0x3c, 0xde,0x87,0xfb,0xf5, 0x40,0x6c,0x47,0x23, 0x51,0xde,0x0b,0xca,
- 0xe8,0xff,0x2b,0xe3, 0xff,0x48,0xe8,0xeb, 0xfe,0x19,0x15,0xc1, 0xf2,0xde,0x15,0xb6,
- 0xf4,0x17,0xba,0x9c, 0x41,0xe8,0x98,0x43, 0xeb,0xaf,0x22,0xe0, 0xbe,0x06,0x9b,0xa9,
- 0x76,0x44,0xae,0x01, 0x48,0x56,0xc8,0x9d, 0xab,0x09,0xdc,0xa4, 0x2c,0xdb,0x9d,0xff,
- 0xf8,0xc1,0x4a,0x7b, 0xc8,0x45,0x8a,0xa8, 0x0e,0x44,0x3f,0xdb, 0x93,0xbb,0xdc,0x3c,
- 0x96,0x96,0xdd,0x18, 0xca,0x0e,0x5e,0x52, 0xd0,0xa9,0x18,0x83, 0x69,0xfe,0x1a,0xce,
- 0xd0,0x8b,0x01,0xe6, 0x5a,0xb2,0x79,0x7b, 0x6f,0x34,0xd5,0x8a, 0xc3,0xe0,0xbd,0x9e,
- 0xfc,0x34,0x8d,0xba, 0xf9,0x14,0xed,0x98, 0x70,0x7e,0xae,0x2e, 0x82,0xe0,0x78,0x6b,
- 0x6f,0x37,0xbe,0x4d, 0xb1,0xdf,0x00,0x6e, 0xae,0xb7,0xfe,0xe1, 0xf9,0xa3,0xc5,0x50,
- 0x4e,0xec,0x37,0x96, 0xc9,0x99,0xdf,0x11, 0x8d,0xf0,0x62,0x63, 0x1b,0x93,0xb5,0xe7,
- 0xe7,0x49,0x31,0x11, 0x46,0x70,0x7c,0x27, 0x29,0x63,0x4b,0x91, 0xbf,0x85,0xf0,0x6f,
- 0x6b,0xca,0x74,0x42, 0x2a,0x8d,0xe2,0x4c, 0x02,0xd5,0xc0,0xa7, 0xd1,0x7c,0x5b,0xdb,
- 0x40,0xd4,0x87,0x60, 0x62,0x63,0x61,0x22, 0x75,0xb7,0x96,0x14, 0xc9,0xc9,0x86,0xf1,
- 0x23,0x93,0x2b,0xfc, 0xc6,0x6b,0x6b,0x93, 0xd2,0xce,0xc3,0x84, 0xa1,0xb5,0x3e,0x99,
- 0x6c,0x1d,0x11,0xb7, 0xab,0x92,0xd0,0x2e, 0x90,0x2f,0x0c,0xdf, 0x9c,0xc5,0xf0,0x84,
- 0x0a,0xc6,0x57,0xb4, 0xda,0x15,0x54,0xf0, 0x14,0xcf,0xf4,0x51, 0x55,0x27,0xd1,0x24,
- 0x32,0x48,0xb1,0xe2, 0xa9,0x2f,0x1a,0x7d, 0x19,0x3f,0xbf,0x98, 0xf9,0x10,0x23,0xa0,
- 0x7c,0x3a,0xa0,0x87, 0x97,0x9a,0xb9,0x4e, 0x58,0x37,0x17,0xd6, 0xae,0xaa,0x59,0x81,
- 0x32,0x9c,0x00,0x9c, 0x21,0xf4,0x39,0x25, 0x92,0xc3,0x86,0xfc, 0xd2,0x2d,0xee,0xb0,
- 0x7c,0xd7,0xef,0x22, 0x36,0x07,0x05,0xe4, 0x71,0x13,0x1d,0xb8, 0x10,0xa6,0x71,0x8e,
- 0x16,0xd0,0x33,0xcb, 0xa8,0xe1,0x87,0x51, 0x61,0xe8,0xd8,0xd9, 0x8b,0x74,0x09,0x01,
- 0xa4,0xcc,0x96,0xb3, 0x60,0xc9,0x24,0xc4, 0x98,0xee,0x31,0x0d, 0x6b,0x7f,0xb1,0x25,
- 0x53,0x26,0xaa,0x39, 0xb3,0xe2,0xd2,0x7f, 0xdc,0x56,0x30,0x4e, 0xb2,0x6c,0x29,0xd6,
- 0x5c,0x89,0xb1,0x46, 0xf3,0x2d,0x6c,0x42, 0xca,0xc4,0xbb,0xb1, 0x6b,0xd4,0xa3,0xfc,
- 0xc0,0x03,0x87,0xd3, 0x70,0x7e,0xcf,0x44, 0x01,0xfe,0xfc,0xec, 0xfd,0x53,0xae,0x7f,
- 0xb6,0x4a,0xaa,0x74, 0x31,0x75,0x2f,0xdf, 0xeb,0x01,0x43,0xa5, 0xfc,0xc6,0x55,0x80,
- 0x13,0xd1,0x17,0x24, 0x5a,0x8e,0xd3,0xb0, 0xa6,0xde,0x13,0x16, 0xec,0xe4,0x19,0x17,
- 0xe8,0x12,0x5a,0x5e, 0xe1,0x3b,0x70,0x77, 0xa4,0xe8,0x0e,0x49, 0xe5,0xcd,0xef,0xce,
- 0x46,0x9f,0x15,0x5b, 0x6a,0x69,0x58,0xa3, 0x3c,0x22,0x64,0x2f, 0x6e,0x20,0x8c,0x92,
- 0xa0,0x83,0x03,0xc5, 0x0b,0x95,0x71,0xf7, 0x55,0xe2,0x19,0x59, 0xa2,0x25,0x35,0xab,
- 0xf2,0xcf,0x38,0x91, 0x68,0xf4,0xe2,0xb8, 0xc6,0x58,0x00,0xd1, 0x0f,0xdf,0x2e,0x8a,
- 0xdb,0x3a,0xcb,0x02, 0x42,0x7c,0x83,0xa5, 0xf7,0x6b,0xab,0x8a, 0x3a,0x40,0x40,0x7e,
- 0x92,0x14,0xe6,0x14, 0x75,0x97,0x32,0xd2, 0x80,0xd0,0x11,0x25, 0xa5,0x46,0x9a,0x21,
- 0xab,0xa1,0x8e,0xbf, 0xd3,0x81,0x0d,0xb4, 0x87,0x0e,0x69,0x32, 0x87,0xdf,0xc0,0xce,
- 0xa7,0x5e,0xd9,0xe5, 0x95,0xd5,0x5d,0x08, 0x29,0xa8,0xc0,0x56, 0x4e,0x0e,0xdf,0xbb,
- 0x2e,0x17,0x06,0x79, 0x77,0x2e,0xc9,0x59, 0x76,0xf9,0x27,0xa7, 0x0d,0x59,0x9f,0xc4,
- 0xe9,0xaf,0xb8,0x42, 0xc8,0x42,0x99,0xa5, 0x46,0xc5,0xc7,0x5c, 0xec,0x64,0x7b,0xfd,
- 0xd1,0xef,0xd0,0x85, 0x7e,0x73,0xa3,0xbe, 0x74,0x92,0x21,0x73, 0xd7,0x0d,0x4e,0x41,
- 0x86,0xef,0xe1,0x34, 0x68,0xdb,0xce,0x88, 0x34,0x86,0xb8,0x2c, 0xce,0x34,0xd1,0xe0,
- 0x76,0x83,0x19,0x5a, 0x00,0x2d,0x53,0x2d, 0xd2,0x07,0x44,0xbc, 0x0a,0x84,0xf4,0xf7,
- 0xab,0xad,0x48,0x6a, 0x56,0xee,0x6b,0x2c, 0x4a,0xa2,0x3e,0x23, 0x19,0x84,0x84,0x38,
- 0x63,0x22,0x41,0x29, 0xc1,0x91,0x63,0xfd, 0xfa,0x66,0x10,0x50, 0x4d,0x39,0x89,0x2d,
- 0x66,0x94,0xcb,0x6e, 0x5d,0x0c,0xc1,0xb6, 0x9d,0xa5,0x8d,0xeb, 0x11,0x58,0x41,0xc8,
- 0x89,0xe0,0xbd,0x80, 0xcd,0x57,0x99,0xe2, 0x16,0xa4,0x87,0xac, 0x7a,0x1a,0x76,0xb0,
- 0x93,0xa1,0xc7,0x62, 0x35,0xef,0xe0,0x63, 0xcc,0x5f,0x63,0x54, 0x50,0xb0,0x0b,0x7a,
- 0xaf,0xbd,0x6e,0xb1, 0xe7,0x7e,0x60,0x3d, 0xb6,0x08,0x52,0x5f, 0x27,0x7d,0x9a,0xcd,
- 0x17,0xf4,0xae,0xc3, 0x5b,0xbf,0x2d,0x2c, 0x4b,0xb4,0x14,0x8d, 0x1d,0xce,0x5d,0xd9,
- 0x47,0x1c,0x27,0xbb, 0x1d,0x70,0x85,0x64, 0xd7,0xf6,0x0d,0xc6, 0xbe,0x9f,0x57,0x8d,
- 0xf6,0x6e,0xc6,0x55, 0x3f,0xf5,0x82,0x48, 0x2a,0x9a,0x71,0x7d, 0xdd,0xb2,0x67,0x59,
- 0x9d,0x98,0xbf,0x1b, 0x6a,0xd9,0x00,0x5e, 0x68,0x98,0x2f,0x9b, 0xd9,0x7c,0xde,0x84,
- 0x5a,0x4d,0xcc,0x00, 0x68,0xb6,0xc2,0x61, 0xe4,0xcc,0x5c,0xdd, 0xcb,0x77,0x59,0x76,
- 0x58,0x2c,0xe9,0xe3, 0x1b,0x0e,0x1d,0xa0, 0x6e,0xa8,0xc5,0xa8, 0x6d,0xe3,0x2f,0xcc,
- 0x00,0xc0,0x32,0x4d, 0xd6,0x9b,0x74,0x62, 0x8a,0x71,0x35,0xd5, 0xad,0xe4,0x95,0x55,
- 0xff,0x15,0xdd,0x68, 0xc4,0x42,0xe4,0x53, 0x8b,0x97,0x8d,0xd8, 0xed,0x0e,0x7c,0x5b,
- 0x1c,0x6a,0x23,0x7c, 0xe7,0xf3,0x3b,0x17, 0xde,0x29,0x0d,0x90, 0xe4,0x8f,0x3a,0xe3,
- 0x97,0x4e,0x31,0x35, 0x6f,0x16,0x22,0x59, 0x9b,0xd5,0x10,0x7c, 0xea,0xcd,0x76,0x8b,
- 0xd4,0x3f,0x67,0x63, 0xeb,0x9b,0xcd,0x16, 0x17,0x39,0x0c,0x5b, 0x70,0x15,0xc4,0xb0,
- 0x93,0x5a,0x77,0xf0, 0x31,0xd7,0xe0,0xcb, 0x9b,0x99,0xda,0x0d, 0xdc,0xf4,0x7f,0x75,
- 0x83,0xf3,0x6f,0xb3, 0x88,0x47,0x09,0xae, 0x2d,0xcb,0x22,0x63, 0xf6,0xeb,0x77,0xb2,
- 0xfe,0xf5,0xb3,0x26, 0x96,0x0a,0x71,0xcc, 0xeb,0xe2,0x78,0x57, 0x7f,0xe6,0xc0,0x95,
- 0xa9,0x11,0x58,0xb3, 0xbc,0x25,0x65,0xfd, 0xf5,0x6d,0x8b,0xa3, 0x9b,0x9d,0xdb,0xae,
- 0x9b,0xce,0x3d,0x75, 0x8a,0x09,0x1e,0x17, 0x19,0x36,0x5e,0x46, 0x58,0x90,0x9f,0xeb,
- 0x7e,0xe1,0xd0,0x69, 0x54,0xc9,0xf6,0x6e, 0xda,0x99,0x0e,0x60, 0x64,0x83,0xf6,0x41,
- 0x0e,0x44,0x77,0xc9, 0x5e,0x8c,0xb0,0xc6, 0x74,0xb4,0xda,0x22, 0xc6,0xb2,0xcb,0x17,
- 0xd3,0x76,0xba,0x7a, 0x62,0x4a,0x15,0x4d, 0x53,0x7a,0x6a,0xd3, 0x8c,0xbb,0x2c,0xd6,
- 0x57,0xdd,0x5a,0x50, 0x43,0xed,0xa3,0xe6, 0x0f,0xa8,0x04,0xa7, 0x56,0x09,0x0c,0x7b,
- 0xb8,0x4b,0xe0,0x2d, 0x70,0x2b,0x7b,0xb7, 0x55,0xd5,0xeb,0xce, 0x06,0xb5,0xce,0x30,
- 0x8a,0xe7,0x5b,0x60, 0xdb,0x0d,0x5a,0xf4, 0x88,0x38,0xc1,0xde, 0x52,0xbc,0x58,0x0a,
- 0xe5,0xe5,0x57,0xd6, 0xbb,0x3e,0x52,0x89, 0x3c,0x95,0x8d,0xae, 0x1f,0xae,0x01,0xcf,
- 0xec,0x6a,0xdf,0x08, 0xc6,0x66,0x25,0xaa, 0x01,0x1b,0xb0,0xab, 0x98,0x71,0xef,0x14,
- 0x6d,0x16,0xb6,0x2e, 0xfe,0x7e,0x5e,0x03, 0x23,0xe0,0xef,0x73, 0x78,0xaa,0xd8,0xc7,
- 0x44,0x3d,0x5a,0x0e, 0x51,0x18,0x08,0x62, 0x8f,0xf1,0x1d,0xe7, 0xec,0x37,0x01,0xae,
- 0x08,0xc5,0x0e,0x43, 0x4c,0xe7,0x1d,0xe8, 0x06,0xbd,0x43,0x47, 0x97,0xb8,0xe3,0xb4,
- 0x4f,0x3e,0x64,0x2e, 0xbc,0x9f,0xcd,0x33, 0x53,0x04,0xac,0xc0, 0xed,0x33,0xc2,0xa3,
- 0x1f,0xa3,0x92,0xbe, 0x4d,0x68,0x60,0xdc, 0x0a,0x1b,0x66,0xff, 0x37,0x34,0x53,0xcc,
- 0xe7,0x11,0xfa,0x6c, 0x31,0xab,0x11,0x87, 0x38,0xdc,0x15,0xc9, 0xa3,0x17,0x7d,0x2d,
- 0x1c,0x51,0x95,0x37, 0xb9,0x87,0xab,0x2e, 0x63,0x50,0x17,0x7b, 0x89,0x60,0x4f,0x5d,
- 0xd2,0xb0,0x9f,0x27, 0xcf,0xeb,0xf9,0x5c, 0xd8,0x21,0xe7,0x2d, 0x0e,0x30,0x05,0xf6,
- 0x97,0x15,0xf2,0x45, 0xb3,0x3f,0x81,0x40, 0x42,0xcf,0xab,0xc3, 0x6e,0x2c,0x05,0xe4,
- 0x30,0xbc,0xb7,0xd5, 0x55,0x77,0xf4,0xb3, 0xbf,0xad,0x0d,0xa4, 0x4c,0xe8,0xc6,0xc1,
- 0x84,0xe7,0x59,0x2e, 0x9a,0x82,0x25,0xc7, 0xf4,0x29,0xf9,0x72, 0x79,0x46,0x55,0x5c,
- 0x96,0xbc,0xe8,0x39, 0x8f,0xaa,0x87,0x89, 0x8c,0x6c,0x00,0xd2, 0xc8,0x09,0x34,0x41,
- 0xc8,0x87,0x43,0xb2, 0xf1,0x6c,0x96,0xa3, 0x12,0x4e,0x31,0x18, 0x09,0x4f,0x2f,0x9e,
- 0x08,0xba,0x64,0x71, 0x80,0xf7,0xa7,0xb2, 0x84,0x57,0x0d,0x9d, 0x39,0xa8,0xbc,0x9b,
- 0x71,0x8e,0x6f,0x94, 0xba,0x76,0x49,0x79, 0xdf,0x73,0x31,0x17, 0x53,0x57,0xf5,0xc4,
- 0x4f,0x18,0xd1,0x08, 0x02,0x9a,0xe3,0x29, 0x5b,0x71,0x3d,0xf3, 0x8e,0xe4,0xa1,0xbf,
- 0x91,0x16,0x18,0x05, 0x9e,0x80,0x39,0x90, 0x0e,0xb2,0xa2,0x83, 0x4d,0xf7,0xa8,0x5e,
- 0x42,0x23,0x14,0x40, 0x90,0x92,0x0e,0xf5, 0xcd,0x3f,0x85,0x80, 0xd7,0x19,0x79,0xa4,
- 0xcf,0xfe,0xb5,0x87, 0x71,0x63,0x6e,0x19, 0x24,0xcc,0xe1,0x1e, 0x73,0x28,0x2f,0xa6,
- 0x00,0xb2,0x3a,0xf3, 0x38,0xaf,0xc4,0xaa, 0xa4,0x09,0xd9,0xf3, 0x49,0xe5,0x2b,0xc9,
- 0x4c,0x85,0x6f,0xd1, 0x97,0x5e,0x61,0x7d, 0x33,0xcf,0x0b,0xd7, 0xe4,0x0c,0xaa,0x07,
- 0xbb,0x19,0x2e,0x95, 0x66,0x87,0x7c,0x7e, 0x91,0xf5,0x60,0xbf, 0x56,0x0c,0x80,0x03,
- 0x00,0x67,0x9e,0x6c, 0x69,0x13,0xa0,0xb9, 0x62,0xb2,0xc2,0x5f, 0xd2,0x1e,0xf6,0xa4,
- 0x4c,0xbd,0xa4,0x88, 0x32,0x38,0xf2,0x54, 0x49,0xd2,0x0b,0x18, 0x75,0x49,0x77,0x54,
- 0x3b,0x90,0x12,0x60, 0xba,0x5d,0x28,0xfc, 0x4e,0x32,0xed,0x85, 0x9b,0x2f,0xc3,0x96,
- 0xdf,0xc9,0x9a,0xc5, 0xa9,0xcc,0xc6,0xa0, 0xa6,0x9c,0x25,0xdd, 0xd7,0x99,0x31,0x1e,
- 0x90,0x78,0xd7,0xc9, 0x4f,0xc1,0xb8,0x23, 0xa3,0x73,0xba,0x06, 0x74,0xab,0x95,0x87,
- 0xb5,0x15,0xd9,0xcd, 0xae,0x5c,0xc6,0x3f, 0x20,0x1a,0x43,0xe2, 0xe3,0xd5,0xfd,0x28,
- 0x75,0xa8,0xc7,0xa0, 0xff,0x87,0x5b,0x82, 0xae,0x4c,0x2e,0xa6, 0x49,0x55,0x43,0xa7,
- 0x96,0x93,0x23,0x64, 0x3e,0x13,0x03,0xc6, 0x55,0x85,0x06,0x2e, 0x65,0xed,0xbe,0x9a,
- 0xb7,0xfd,0x36,0x69, 0x37,0x08,0x36,0xf1, 0xaa,0x9f,0x97,0xb7, 0xe2,0xe4,0xfb,0x8d,
- 0x54,0xfd,0x81,0xf9, 0xcd,0xe0,0x84,0x8c, 0xb0,0xbf,0xec,0xad, 0xff,0x7e,0xce,0x15,
- 0x52,0x50,0x71,0x35, 0xe8,0xdc,0x5c,0xda, 0x8d,0x17,0x34,0xb5, 0xce,0x04,0xbb,0x75,
- 0xf3,0x78,0xf0,0x75, 0x54,0x52,0x8b,0xcf, 0x9d,0x53,0x23,0x5c, 0xb1,0x27,0x8d,0x26,
- 0xea,0x9d,0x82,0x4a, 0xca,0x02,0xae,0x33, 0xd3,0xfb,0xde,0xf3, 0xa6,0x68,0xa0,0x53,
- 0x78,0xcc,0xac,0x82, 0x14,0xdd,0xe9,0x2b, 0x34,0xb6,0x43,0x48, 0xac,0x92,0xed,0x27,
- 0xef,0x3f,0xad,0x51, 0x7a,0x29,0xe8,0xeb, 0x68,0x2c,0x6d,0x24, 0x94,0xe0,0xa1,0x1c,
- 0xb0,0xed,0xf5,0xb2, 0x4b,0xff,0x3e,0x3e, 0xfa,0x46,0x74,0x22, 0x0c,0x72,0xe7,0x6c,
- 0x99,0x28,0xbe,0xf3, 0x8c,0x07,0xcc,0xc9, 0x6a,0x3c,0x0f,0x22, 0xdb,0x4d,0xd3,0x18,
- 0x89,0x56,0x21,0x89, 0xc6,0xf7,0x59,0xc5, 0xb0,0x80,0xff,0xa8, 0xde,0xdb,0x34,0x69,
- 0xad,0x6b,0x14,0x5b, 0x88,0x1c,0xb6,0xcf, 0xa9,0xd9,0x22,0x25, 0x4b,0x51,0xf2,0x05,
- 0x1d,0x2b,0xfc,0x7b, 0xf9,0x25,0xb0,0x16, 0x0d,0x99,0x37,0xdd, 0x20,0xc3,0xc2,0x5b,
- 0xe2,0x6b,0x90,0xc9, 0x0f,0xf7,0xfa,0xb8, 0xa6,0xad,0x14,0xed, 0xab,0x69,0xa0,0xb6,
- 0x5c,0xfd,0xdb,0x0a, 0xd4,0x42,0x32,0xa9, 0xce,0x85,0x6d,0xe6, 0x50,0x63,0x6d,0xa1,
- 0xc6,0x0d,0x32,0x9f, 0x25,0x39,0x4e,0xb2, 0x56,0xdd,0x42,0xdf, 0x46,0x6d,0x1d,0xd8,
- 0x82,0x2d,0xf3,0x9c, 0x7a,0x3d,0x2c,0x1e, 0x8c,0x89,0x93,0xf0, 0x3d,0x2e,0x72,0x38,
- 0x39,0xec,0x48,0x34, 0xf9,0x1b,0xa2,0xa5, 0x12,0x43,0xb9,0x7b, 0xfe,0xfd,0x4d,0x8a,
- 0xdd,0xf7,0xbd,0x98, 0xd8,0x90,0x34,0xa4, 0x08,0xcd,0xaa,0x8f, 0xf3,0x6a,0xd2,0x60,
- 0xf7,0x10,0xdd,0x1f, 0xcc,0x88,0x93,0x43, 0xd1,0xef,0x19,0x2b, 0x75,0x46,0x07,0xdd,
- 0x1a,0xa3,0x47,0x0e, 0x68,0xb4,0x9e,0x56, 0x86,0xf6,0xc9,0xd9, 0x81,0xf2,0xf4,0xbd,
- 0xd3,0xa8,0xf2,0x5d, 0xdf,0x1e,0x2f,0xb6, 0x76,0xaa,0x04,0xcf, 0x28,0x30,0xf9,0x56,
- 0x45,0xb7,0xaf,0xbd, 0x5a,0x48,0x2e,0x97, 0x0c,0x1d,0xcc,0xd1, 0x57,0x77,0x74,0x0d,
- 0x42,0xfa,0x75,0xf6, 0xb7,0x27,0xc3,0x92, 0x70,0xc4,0x0b,0x8d, 0x13,0x84,0xc8,0x23,
- 0xb9,0x90,0xb8,0x72, 0x7a,0x08,0x13,0x16, 0x9c,0x82,0x54,0xb3, 0x80,0xf1,0x88,0xb2,
- 0xfa,0x4f,0x99,0xa0, 0xae,0xa5,0x4f,0x41, 0xfc,0x71,0x35,0x67, 0x23,0x0c,0xce,0xc6,
- 0x03,0xb4,0x4f,0x0e, 0xa6,0x00,0xaa,0xb1, 0x10,0x0b,0xe9,0x0c, 0x0a,0xfc,0x4d,0x51,
- 0xa1,0xc4,0xf9,0x61, 0x5d,0x2d,0x8e,0xad, 0x6b,0x88,0x50,0xba, 0xb7,0x0d,0xea,0xd9,
- 0xf8,0x91,0x55,0xf9, 0xa2,0xa7,0x8c,0x01, 0xb6,0x54,0x8d,0x88, 0x9e,0x1c,0x38,0x55,
- 0xa2,0x0c,0xef,0x6f, 0x47,0x0e,0x5a,0x0c, 0xb8,0xf9,0x38,0x69, 0xf3,0x59,0x97,0x27,
- 0x3e,0x2e,0xae,0x7d, 0x4f,0x74,0x64,0x70, 0xf4,0xad,0xf0,0xf4, 0xec,0xd4,0x78,0x59,
- 0xc1,0x91,0x4a,0x2a, 0x21,0x40,0xf5,0x3e, 0xcc,0x86,0xf1,0x60, 0xf2,0xf1,0x19,0xcf,
- 0x2b,0x3b,0x5b,0x76, 0xeb,0x8c,0xba,0x6c, 0x82,0x27,0x89,0x81, 0x7f,0x28,0x6f,0xf2,
- 0x3c,0xf3,0x8a,0x85, 0xd4,0xa2,0xad,0x3e, 0xdd,0xc6,0x45,0xb2, 0x6b,0x09,0x01,0x19,
- 0x3a,0x4e,0x9a,0xfe, 0x59,0x9a,0x0b,0xf0, 0xb5,0xe7,0xb2,0x43, 0xff,0x13,0xfb,0x6a,
- 0x7f,0x0b,0x6f,0x8a, 0x16,0x6f,0x37,0x82, 0x08,0xa0,0xb0,0x49, 0x79,0xdc,0x29,0xb4,
- 0x8d,0x81,0x5c,0x3a, 0x6f,0x82,0x67,0x20, 0x60,0x10,0x3a,0xa5, 0x4c,0x0c,0x76,0x4c,
- 0x60,0x08,0xf5,0x10, 0x02,0x86,0xa7,0xde, 0x5e,0x04,0x47,0x67, 0xfe,0x27,0x4a,0x64,
- 0x18,0x6b,0x2e,0x5d, 0x47,0x75,0x75,0x33, 0xf0,0x74,0x45,0x70, 0x57,0x63,0x79,0xfe,
- 0x2b,0x5e,0xeb,0xe0, 0x83,0x8a,0x61,0x4f, 0xdb,0x94,0x7f,0xd9, 0x9e,0xbc,0x69,0x91,
- 0xab,0x7d,0x4e,0x42, 0x03,0x71,0x37,0xdd, 0x30,0x04,0x2a,0xf5, 0xc0,0x6d,0xb4,0xd5,
- 0x3c,0x19,0x02,0x7e, 0xb3,0x22,0xb7,0xd3, 0xc6,0x4c,0x6b,0xef, 0x54,0xe5,0xec,0x92,
- 0x55,0x06,0xb4,0x24, 0x36,0xe5,0xc3,0x0f, 0x66,0x97,0x98,0x47, 0x0b,0x11,0xa8,0x4d,
- 0x72,0x3e,0xc6,0x05, 0x72,0x6a,0x36,0xee, 0x27,0xeb,0x88,0xfc, 0xe7,0x5e,0x41,0x56,
- 0xcc,0x5b,0x76,0x7b, 0xf8,0x81,0xd1,0x33, 0x20,0x59,0x74,0x2b, 0xae,0xd2,0xd8,0xd5,
- 0x8c,0x34,0xef,0xd3, 0xf4,0xf4,0x5d,0xd9, 0x90,0x02,0x2d,0xfd, 0x74,0xa8,0xfd,0x85,
- 0x12,0x91,0xd4,0xda, 0x87,0x36,0xf3,0xae, 0x21,0x4f,0x84,0xa6, 0x70,0xd2,0x49,0x65,
- 0x42,0xbe,0x3e,0x78, 0xd7,0xda,0xe3,0xa6, 0x2a,0x37,0xce,0x55, 0x72,0xf1,0x1d,0xaf,
- 0x29,0xdf,0x7e,0xa8, 0xc1,0x03,0xb3,0x3c, 0x22,0x61,0x9c,0x25, 0xdf,0xc8,0xab,0x37,
- 0xd1,0x83,0x65,0x02, 0x9b,0x29,0xd3,0x7e, 0x9f,0x71,0xd1,0x8e, 0xc4,0x15,0x3c,0x97,
- 0x07,0x2d,0x8b,0x32, 0x2f,0x50,0x72,0xfd, 0x50,0x9b,0xa8,0xe4, 0xbd,0xf7,0x76,0x69,
- 0x57,0x0c,0x9a,0x72, 0xd0,0x48,0xac,0x2a, 0x40,0x1b,0x4d,0xd8, 0x36,0x4f,0x1c,0x89,
- 0x13,0xb8,0xcd,0xf2, 0xf5,0x5b,0x32,0xb6, 0xc1,0xf6,0xe9,0x2c, 0x8c,0x8e,0xc9,0xea,
- 0x5a,0x5b,0x11,0x5d, 0xf6,0x06,0x3e,0xc9, 0x93,0xcd,0x35,0xb0, 0x00,0x59,0x3d,0x55,
- 0x31,0x92,0x73,0x70, 0x10,0x62,0xbb,0x16, 0xd5,0x1e,0x29,0xe4, 0xe0,0xc7,0xec,0x16,
- 0x33,0x45,0x09,0x46, 0xc0,0xcd,0x50,0xe0, 0x29,0x4d,0x1e,0xca, 0x29,0x61,0x0a,0xc0,
- 0xa8,0x21,0xdc,0x6a, 0x96,0x68,0x9b,0xb8, 0xb1,0x83,0xb3,0x55, 0x8e,0x4b,0x77,0xaa,
- 0x89,0x2e,0xb5,0xb8, 0x8e,0x50,0xf9,0x04, 0x96,0x19,0x50,0x86, 0xc5,0x60,0xa0,0x69,
- 0xdc,0x6d,0x6b,0x3b, 0xd7,0x8d,0xd1,0x50, 0x99,0x6a,0xdc,0xea, 0x86,0xf6,0x23,0x01,
- 0xb4,0xb4,0xe9,0x44, 0xbe,0x25,0x2d,0x67, 0xc8,0xea,0x3d,0xae, 0x3c,0xdc,0xea,0xcd,
- 0x8d,0xfc,0x8a,0x61, 0x79,0xa8,0x25,0xd7, 0x1b,0x89,0x97,0xbc, 0xa5,0x6f,0xc3,0x66,
- 0xff,0xb9,0x37,0x5d, 0xd0,0xf4,0xb4,0x2d, 0x39,0x25,0x34,0x18, 0xe6,0x22,0xa9,0x36,
- 0xa9,0x06,0x7f,0x83, 0x3c,0x9c,0x05,0x12, 0xcb,0xe0,0x49,0x36, 0x83,0xba,0xf4,0x49,
- 0xb5,0x45,0x54,0x79, 0xfa,0x21,0x8a,0x80, 0x38,0x79,0x50,0x9d, 0xd0,0x0d,0xd6,0xfc,
- 0x82,0x12,0x0c,0x2d, 0x37,0xd7,0x0b,0xe5, 0xa3,0x23,0xce,0x41, 0x73,0x48,0x5f,0x44,
- 0x18,0xa4,0x9d,0x32, 0x14,0xb7,0x1d,0x32, 0x64,0x46,0x87,0x28, 0xe8,0x61,0x15,0xd0,
- 0x5b,0x26,0x7e,0x7b, 0x0f,0xb9,0x04,0xa8, 0x9b,0xd8,0x37,0xc7, 0xc2,0x6d,0x6b,0x92,
- 0x44,0x0a,0x83,0xff, 0x95,0x40,0x89,0x40, 0xe9,0x89,0x37,0x0c, 0x67,0xc0,0x3b,0x95,
- 0x1d,0x86,0x21,0xae, 0x6e,0x75,0x08,0x54, 0x40,0x12,0xf1,0xcd, 0x93,0xed,0x3a,0xc6,
- 0x90,0xae,0x8b,0x05, 0x88,0x8a,0x52,0x90, 0xf7,0x81,0x92,0xbd, 0xd4,0xae,0x39,0x5f,
- 0x66,0x75,0x78,0x96, 0xf2,0xaf,0xf6,0x4c, 0x53,0x45,0xbd,0xab, 0xed,0xbe,0x28,0xaa,
- 0x4a,0x09,0x40,0x30, 0x23,0x26,0x52,0xfd, 0x19,0x50,0x34,0x43, 0x63,0xa6,0xbb,0xca,
- 0xcd,0x02,0x86,0x03, 0xdd,0x47,0xf8,0x0a, 0x07,0xfa,0xf2,0xbd, 0x70,0xe1,0xce,0x64,
- 0x48,0x57,0x67,0x68, 0x65,0x11,0x12,0xf7, 0x6d,0xd9,0x18,0x0d, 0x91,0x0b,0xc1,0x64,
- 0x28,0x06,0x4f,0xd6, 0x53,0x46,0x2d,0x62, 0xd2,0xd4,0xc3,0x66, 0x9d,0x0a,0xa5,0xc7,
- 0x66,0x7f,0xfa,0xce, 0x3a,0x9c,0xc5,0x50, 0xfa,0xa8,0xc0,0x94, 0x50,0x91,0x9c,0xe3,
- 0xf1,0xb9,0x76,0xd8, 0xce,0x3b,0xa7,0x65, 0x9f,0xbd,0x2e,0x1d, 0xb4,0x91,0xfc,0xc3,
- 0xbf,0x42,0x0a,0x5c, 0x40,0xd0,0xa7,0x69, 0xe4,0x07,0x5f,0xec, 0xff,0xa9,0x62,0xcf,
- 0x53,0x90,0x08,0xfb, 0x25,0x62,0x4d,0x56, 0xc5,0xf4,0x75,0xda, 0xee,0x65,0x25,0xe0,
- 0x9f,0xa4,0x9d,0x1e, 0x69,0x4d,0xd2,0x85, 0x7c,0xff,0x81,0xc6, 0x3e,0x70,0x60,0x6b,
- 0x7b,0x4b,0xdc,0x68, 0x00,0xb5,0x26,0xaf, 0x51,0xe6,0xd1,0xea, 0x02,0x0f,0x52,0xfd,
- 0xd5,0xc0,0x18,0x20, 0x75,0x4b,0xf7,0x33, 0xb4,0x15,0xda,0x14, 0xce,0x52,0x80,0x26,
- 0x40,0x2e,0x07,0x11, 0xa7,0xad,0x04,0xba, 0xf1,0x5f,0xba,0x10, 0x4e,0x4b,0xc0,0xeb,
- 0x20,0x23,0x49,0xa7, 0x8b,0x39,0x8a,0x5b, 0xc9,0x43,0x07,0xe1, 0xeb,0xd9,0xd3,0x5a,
- 0x57,0x31,0x24,0xe8, 0x40,0x39,0x4c,0x8b, 0xe9,0x20,0xb3,0xb7, 0x6e,0x8a,0x7e,0xee,
- 0xe9,0xfc,0xa9,0x62, 0xc2,0x5c,0x60,0x85, 0xf6,0xc6,0x18,0x48, 0xac,0xfd,0x6f,0xfe,
- 0x59,0xcb,0xce,0x50, 0x5a,0xd0,0x42,0x7e, 0x3b,0xbd,0xc5,0x66, 0xf0,0x08,0x74,0x96,
- 0xe7,0x39,0xfa,0xda, 0xbe,0xef,0x5c,0x10, 0x16,0x9c,0xb6,0x5f, 0xcd,0xcd,0xed,0x3d,
- 0x2e,0x82,0xf6,0x54, 0x74,0x46,0xf5,0x86, 0xad,0xec,0xab,0xad, 0x55,0x9a,0xdb,0x7c,
- 0xd9,0x7c,0x20,0xde, 0xfd,0x2d,0xbe,0x3c, 0x4e,0x09,0xc3,0x9d, 0x7e,0x67,0xb8,0x07,
- 0x46,0x63,0x16,0x2a, 0xd3,0xee,0xae,0xdb, 0x0f,0x87,0x68,0xb2, 0xa0,0xd9,0x7b,0xa8,
- 0x0f,0xff,0x26,0x3e, 0xcd,0x39,0xe3,0x8c, 0xaa,0xa7,0x88,0x55, 0x73,0x39,0xec,0x27,
- 0x67,0x14,0x30,0xb9, 0x4f,0x4c,0x5f,0x64, 0xc5,0xb9,0x7a,0xa3, 0x45,0x26,0x83,0x66,
- 0xbf,0xa3,0xee,0x06, 0x63,0x93,0x64,0x9a, 0xac,0x6e,0xb7,0x7d, 0x38,0x4d,0x07,0x47,
- 0xa2,0xad,0x0b,0xd1, 0xac,0x8e,0x94,0xc1, 0x9a,0x82,0x7b,0x8c, 0x15,0xcd,0x70,0x40,
- 0x0e,0x8e,0x68,0xe0, 0x17,0x3b,0x13,0x9a, 0x8c,0x4c,0x5d,0x19, 0x87,0xbc,0x4f,0x71,
- 0xd7,0xf7,0x43,0xae, 0x3f,0xdd,0x97,0xd3, 0x03,0x0c,0xda,0x47, 0xee,0x23,0xb9,0xfc,
- 0xff,0x70,0x0d,0x36, 0xa0,0xad,0x9a,0x2e, 0xa9,0x26,0x8b,0x44, 0x71,0x0d,0x2a,0x0a,
- 0x7c,0x61,0x8b,0xaf, 0x35,0x9f,0xd8,0x81, 0x76,0x01,0x76,0x5b, 0x3c,0x80,0xeb,0x8d,
- 0x2f,0x1a,0xec,0x9f, 0x00,0xb6,0xb2,0x0a, 0xac,0x75,0xc9,0x1a, 0x60,0xce,0xa1,0x06,
- 0xe1,0xf5,0x4e,0xf5, 0xeb,0xad,0x77,0x07, 0x6e,0x02,0xe1,0x1d, 0xb8,0x33,0x31,0x63,
- 0x79,0x08,0x1c,0xca, 0x07,0xc6,0x1d,0xd1, 0xb5,0x74,0xcf,0xd2, 0x45,0xff,0xc8,0xb6,
- 0xe3,0xdc,0xb2,0x89, 0xa9,0x96,0x12,0x4f, 0xe9,0x15,0x57,0xb1, 0x25,0x9c,0xfa,0x39,
- 0xab,0x76,0xfb,0x3a, 0xee,0x8f,0x8f,0x44, 0x67,0x9d,0xf5,0x5f, 0x71,0x54,0xf8,0xa2,
- 0x5a,0xbc,0x17,0xba, 0x34,0x5a,0x2b,0x87, 0x0e,0x85,0x75,0x89, 0x32,0xb3,0xde,0xf0,
- 0xc6,0x06,0xf1,0xd3, 0x62,0x17,0x57,0x1e, 0xb2,0xd7,0xe6,0x35, 0x3c,0x49,0x86,0x79,
- 0xff,0xaf,0x99,0x84, 0x97,0xc4,0x03,0x73, 0x4c,0xe9,0xfe,0x0a, 0x48,0x0c,0x45,0x11,
- 0xb4,0xec,0x43,0x0d, 0xa8,0x27,0xb4,0x98, 0xdd,0xf8,0xca,0xa1, 0xea,0xe1,0x7c,0xac,
- 0xb2,0x72,0xc1,0x5c, 0x78,0xa3,0x99,0x1c, 0xff,0x49,0x67,0xb0, 0x06,0xc9,0x6c,0x5f,
- 0xa7,0xf9,0x3b,0x4f, 0xb6,0x48,0x19,0xea, 0x57,0x81,0xbf,0x06, 0xfd,0x93,0xeb,0xc7,
- 0xf7,0xd8,0x2a,0xfb, 0xf2,0xfb,0xea,0x0d, 0x76,0xa2,0xee,0xd8, 0x47,0x0e,0xda,0x11,
- 0xa3,0x37,0x33,0x97, 0xf8,0xa9,0xdb,0xff, 0x0b,0xa5,0x43,0x1f, 0xbf,0x82,0x70,0x80,
- 0x6b,0x53,0xdd,0xc0, 0x7f,0xe9,0xe2,0x52, 0xe3,0xf1,0xc8,0xd8, 0xc9,0x36,0x91,0x3e,
- 0x90,0x21,0xf5,0x78, 0x88,0xe5,0x08,0x25, 0x67,0x4f,0x66,0x41, 0xc3,0x7a,0x23,0xdb,
- 0x15,0xf4,0x5f,0x34, 0x43,0x6f,0x76,0xbb, 0xdd,0x79,0x36,0x4e, 0x2e,0x55,0x00,0xfe,
- 0x1a,0xe8,0x3f,0xd5, 0xcc,0x67,0x4b,0x44, 0xf5,0x2b,0x2e,0x42, 0x74,0xc9,0x26,0x85,
- 0x63,0xc7,0xe2,0x73, 0x8e,0x25,0xea,0x52, 0x14,0x77,0x9e,0x98, 0x14,0x6f,0x51,0xa0,
- 0x81,0x88,0x41,0x14, 0x6d,0x60,0x4c,0x06, 0xa5,0xba,0x4c,0xf3, 0xc8,0x13,0xaf,0x71,
- 0x5d,0xd4,0x84,0x08, 0x80,0xf3,0x55,0x7a, 0xc8,0x57,0x4a,0xcd, 0x88,0x3e,0x87,0x58,
- 0x69,0x50,0x51,0x0c, 0x99,0x44,0xcc,0x60, 0xd7,0x2a,0x75,0x3f, 0xac,0xc2,0xb1,0xa7,
- 0xc4,0xa3,0x46,0x22, 0x20,0x53,0x35,0x37, 0x73,0x5a,0x65,0x1e, 0x43,0x8e,0x08,0x2e,
- 0x44,0x3e,0xa3,0x7b, 0x5f,0x1a,0xe4,0x6c, 0x0a,0xb4,0x8c,0xb1, 0xb5,0xd1,0x33,0xc1,
- 0x5b,0x4f,0x0b,0xbb, 0xf8,0xdb,0x77,0x2b, 0x02,0x8c,0xa1,0xd2, 0x59,0xa6,0xbb,0xe4,
- 0x25,0xf0,0x8c,0x4d, 0xd1,0x40,0xd7,0x7f, 0x82,0xb4,0x1c,0x1a, 0x9c,0xbb,0x8c,0x67,
- 0xb7,0x19,0xd0,0x3c, 0x49,0xce,0x92,0xa1, 0x5a,0xc2,0x97,0x68, 0xfd,0x66,0xa0,0x5e,
- 0x10,0xe4,0x21,0x7e, 0x03,0x74,0x8e,0x68, 0x1f,0x98,0x6f,0x45, 0x39,0xf8,0xc2,0x39,
- 0x5d,0xe5,0x00,0x5d, 0xdd,0xb3,0x84,0x44, 0x50,0xf2,0xc3,0x4f, 0x8d,0x2a,0xbe,0x1f,
- 0x87,0xa3,0x00,0x4a, 0xeb,0x7b,0xf9,0xc0, 0x55,0x1e,0xb3,0x69, 0xdc,0x46,0x6e,0x32,
- 0xf4,0xb2,0x6b,0xf5, 0x1a,0xec,0x75,0x3e, 0x27,0x65,0x77,0x4c, 0xfd,0x37,0xb9,0xb7,
- 0xf4,0xc0,0xe6,0xf8, 0xa8,0x62,0x8d,0x85, 0x07,0x83,0x3a,0xd4, 0xb0,0x57,0x21,0x05,
- 0x01,0x5a,0xb4,0xea, 0x20,0xf8,0x92,0xac, 0xf2,0x7d,0xb6,0x05, 0xb6,0x44,0xd4,0xda,
- 0x33,0x49,0x91,0x0a, 0xcf,0x82,0x45,0xc7, 0xac,0x35,0x3a,0x3d, 0x85,0x7b,0x0d,0x73,
- 0x84,0xe9,0x50,0x45, 0xf4,0xd6,0x58,0x77, 0x99,0xbe,0x9f,0x6b, 0xca,0x43,0x54,0x3c,
- 0xdc,0x38,0xb1,0x29, 0x55,0x52,0x61,0xaa, 0x7d,0x22,0x8e,0xbb, 0x70,0x37,0x4f,0xd0,
- 0x95,0xbb,0xc1,0x64, 0xeb,0xd2,0x1c,0x70, 0xb6,0x5a,0x06,0x2c, 0xab,0x5b,0x47,0x15,
- 0x3a,0x0a,0xea,0xf0, 0xf7,0xd5,0xd8,0x9e, 0xcc,0xa4,0xfa,0x2a, 0x21,0x52,0x95,0xa6,
- 0xa5,0xb5,0x02,0xb3, 0x88,0x15,0x72,0x2e, 0x33,0x51,0x2d,0x30, 0xf2,0xd5,0xee,0x8e,
- 0x25,0xe6,0xdb,0x70, 0xa7,0x72,0x21,0x4f, 0x4f,0xde,0xcb,0x75, 0x62,0x87,0xfb,0x85,
- 0x5f,0xf9,0x97,0xbc, 0x54,0xb1,0x46,0x21, 0xec,0x8e,0x75,0x3c, 0x1f,0x92,0x66,0x76,
- 0xf5,0x2b,0x89,0x33, 0xd6,0x5e,0xf5,0x5a, 0xd5,0xf4,0x8c,0xbf, 0xd5,0x44,0x60,0x05,
- 0x44,0xee,0x2e,0xe6, 0x56,0x33,0x14,0x5b, 0x83,0x3b,0x0b,0x21, 0x4e,0x4b,0x8b,0x5e,
- 0x14,0x02,0xc0,0xe1, 0x62,0xea,0xb6,0x76, 0x74,0x35,0x8b,0xc5, 0xcb,0x9d,0x0f,0x75,
- 0x49,0x51,0x9f,0x83, 0x58,0x1d,0x2a,0x27, 0x39,0x6a,0xde,0x11, 0xd4,0x93,0x0e,0x91,
- 0xde,0x64,0xef,0xec, 0xcb,0x6f,0xd7,0xe4, 0x1c,0xdc,0xbf,0xee, 0xf4,0xe5,0x1c,0x71,
- 0xb5,0xee,0xd5,0xb6, 0xe9,0xf6,0x6f,0xef, 0x3b,0x95,0x15,0x12, 0xa1,0xfd,0x7b,0xd6,
- 0x4f,0x0d,0x48,0x78, 0x03,0x34,0xb4,0x50, 0xfb,0x6a,0xe8,0x2c, 0x3d,0xcc,0xca,0x5e,
- 0xe3,0xd7,0x01,0x1f, 0x43,0x66,0xae,0xde, 0xa4,0x37,0x76,0x8e, 0x06,0xbc,0x73,0xa4,
- 0x34,0x57,0x46,0x40, 0xed,0x80,0x9d,0x55, 0x88,0x6c,0x84,0xb2, 0xa3,0x5d,0xd2,0x80,
- 0x98,0x25,0x46,0x17, 0x72,0x71,0xad,0x6b, 0x6b,0xbc,0xd0,0x54, 0xc9,0xbc,0xe2,0x0d,
- 0x06,0x5b,0x88,0x2d, 0xc3,0xef,0x2a,0x1f, 0xd7,0xd2,0xf9,0x29, 0x42,0x75,0x50,0x58,
- 0x40,0xb4,0xfd,0x1d, 0x86,0x9b,0x06,0x0f, 0x61,0xfc,0x01,0x47, 0xd2,0x6a,0xf9,0x68,
- 0x3c,0x96,0x95,0x58, 0xac,0xf2,0x10,0xb2, 0x0a,0x1d,0xdb,0x38, 0x21,0x39,0xc5,0x36,
- 0x3f,0xf3,0x11,0xb7, 0x4f,0x78,0x31,0x14, 0x1b,0x80,0x3e,0xfd, 0xc5,0xee,0x92,0x83,
- 0xf5,0x85,0xf2,0x69, 0xf6,0x60,0x05,0x4c, 0x60,0x1b,0x74,0x76, 0x71,0xad,0xc8,0x8a,
- 0x55,0x99,0x8f,0x82, 0x8b,0xce,0x86,0x8c, 0x92,0x67,0x11,0xc6, 0xe0,0xac,0xd3,0xfb,
- 0xcd,0x81,0x38,0xe7, 0xa7,0x79,0x0a,0xc2, 0xc6,0x96,0x5b,0x3b, 0xd3,0xfe,0x5e,0x03,
- 0x9a,0xee,0xfd,0x97, 0x8d,0xdb,0x25,0x40, 0x54,0x84,0x19,0xcd, 0xa0,0xde,0xde,0x89,
- 0xb1,0x7f,0x5b,0x05, 0x9c,0x1a,0x62,0x8e, 0xf9,0x21,0xd2,0x78, 0xfa,0x82,0xaf,0xed,
- 0xfe,0x0e,0x84,0x34, 0x41,0x3a,0xee,0xf7, 0xf8,0xd0,0x85,0x90, 0x8f,0xe2,0x45,0x27,
- 0x54,0x4f,0xb2,0xd7, 0x7b,0x7b,0x7c,0x33, 0xa2,0x0f,0xb9,0xc4, 0x9f,0x56,0x10,0x09,
- 0x43,0xfb,0x6b,0xb0, 0x10,0xb3,0xd6,0x5c, 0x9b,0x6f,0xaf,0x78, 0xa1,0x5d,0xc5,0x5f,
- 0x0a,0x62,0x22,0x3a, 0xfa,0x82,0x63,0xfb, 0x43,0xc4,0xec,0x49, 0xae,0xdf,0x62,0x62,
- 0xf1,0x25,0xac,0x28, 0x71,0x44,0x93,0x10, 0x4b,0x67,0xd0,0xe6, 0x95,0xfd,0x6b,0x4e,
- 0x72,0xf8,0xd8,0x44, 0xf1,0x3e,0x05,0x6b, 0x00,0xc0,0xc7,0x2a, 0x28,0xc1,0x84,0x6b,
- 0xa1,0xfc,0x20,0x9b, 0xd5,0x88,0xa0,0x9a, 0x69,0xa0,0x3c,0x40, 0xff,0x9f,0x29,0xd8,
- 0x78,0xec,0x36,0x41, 0xc9,0x93,0x00,0xef, 0x95,0xbb,0xe6,0x62, 0xb7,0x9e,0xff,0xc7,
- 0xf4,0xa8,0x7b,0x82, 0x88,0x56,0xf9,0x93, 0xa9,0x3f,0x64,0x98, 0xc3,0xd9,0x24,0x33,
- 0xcb,0x5c,0xef,0x76, 0xa6,0x68,0x05,0x33, 0x93,0xe2,0x39,0x5e, 0xd8,0x93,0x87,0x9b,
- 0xc2,0x00,0xcc,0x01, 0x6f,0x30,0x02,0x44, 0xf3,0x95,0x01,0x89, 0xb4,0x10,0x52,0xc4,
- 0xfe,0x39,0x68,0x21, 0xd4,0x10,0x90,0x91, 0xb0,0xc9,0x49,0xeb, 0x18,0x5a,0x85,0xdb,
- 0x8b,0x2b,0x86,0x1a, 0x1d,0x35,0x40,0xf0, 0x0e,0xad,0xd2,0xc3, 0x2e,0x67,0x56,0xf9,
- 0xab,0xa4,0x7a,0xff, 0x09,0x42,0x31,0xc4, 0xef,0xb9,0xc3,0xa0, 0x74,0xbd,0xe2,0xdc,
- 0xbb,0xba,0x42,0xd2, 0x39,0x8e,0x1b,0x3c, 0x5a,0x6f,0x60,0x42, 0x75,0x82,0x86,0xd2,
- 0x1b,0x9d,0x4d,0x7b, 0xef,0x77,0xb0,0x3b, 0x93,0x15,0xfa,0xbf, 0xf4,0x76,0xd3,0x78,
- 0x65,0x6b,0xed,0x32, 0x3b,0x7d,0xd8,0x13, 0xdb,0xb4,0x3f,0x59, 0x37,0xaa,0xb6,0xb5,
- 0xd4,0x68,0x82,0xfd, 0x66,0x89,0x1f,0xd2, 0x2e,0x57,0xef,0x54, 0xc1,0x29,0x34,0x00,
- 0x00,0xc1,0x6a,0x31, 0xae,0x53,0x86,0xdf, 0x27,0x7a,0xea,0xb9, 0x79,0xfd,0x87,0x70,
- 0x01,0xa5,0xff,0x62, 0xea,0xec,0x8e,0x45, 0xff,0x5c,0x47,0x72, 0x0c,0x57,0x85,0xca,
- 0x10,0xf7,0xb0,0x91, 0x76,0xa9,0xc4,0x07, 0x19,0x2b,0x25,0xcb, 0xcb,0x47,0x89,0x1a,
- 0xc9,0x9c,0xfb,0xd6, 0x90,0xfe,0x30,0x62, 0x95,0x37,0xac,0x9d, 0xc1,0x49,0x1f,0x9a,
- 0x21,0x23,0x19,0xbd, 0x26,0xbf,0x11,0xec, 0xa8,0xa5,0xa2,0x52, 0x6b,0x8e,0x1f,0x22,
- 0x7e,0x1c,0x98,0x57, 0x05,0x13,0xb5,0xb7, 0x97,0xc5,0xc1,0x97, 0x35,0x95,0xac,0x1a,
- 0x18,0x23,0x22,0x78, 0x9f,0x8a,0xdc,0xf6, 0xc3,0xad,0x23,0x54, 0x15,0xbb,0xc6,0x10,
- 0xff,0x88,0x0b,0xdb, 0x62,0x21,0xd3,0x5a, 0xde,0x36,0x55,0x59, 0xe7,0x4c,0xd4,0x59,
- 0x8a,0x17,0xa7,0x51, 0x32,0xce,0xd3,0xf2, 0x12,0x39,0xa8,0xfe, 0x83,0x0a,0xb2,0x4a,
- 0x0d,0x2b,0x70,0xb7, 0x74,0x44,0x1a,0x45, 0x4b,0xae,0xc7,0x61, 0xe8,0x8b,0xbc,0x59,
- 0xa9,0xd2,0x08,0x1e, 0x9b,0x8f,0x63,0x44, 0xb5,0x4e,0xcc,0xbe, 0xf5,0x74,0x30,0x4c,
- 0xcc,0x43,0x53,0xce, 0xfa,0xde,0xaf,0x58, 0x23,0xcb,0x33,0xee, 0xac,0x6c,0x4b,0x94,
- 0x4a,0x68,0x1f,0x69, 0x14,0xb7,0x0a,0x55, 0xec,0x1b,0x01,0x34, 0xfd,0xd2,0x03,0x2b,
- 0xa4,0x07,0x87,0x2e, 0x65,0xba,0x07,0xd6, 0xc6,0x49,0x37,0x13, 0x9e,0x9a,0x01,0xb1,
- 0x86,0x27,0x2f,0x97, 0x9a,0x2e,0x72,0x6e, 0xe8,0x0e,0x30,0x04, 0xe3,0x4d,0xc5,0xd0,
- 0xea,0xe0,0xcb,0x2c, 0x47,0xcc,0x8c,0xdc, 0xac,0x34,0x04,0x7f, 0xa1,0x78,0x1b,0x86,
- 0xc5,0x9d,0x41,0x65, 0x39,0xa3,0xbd,0x80, 0x96,0x8e,0x8e,0xcc, 0xc2,0x4d,0xff,0x35,
- 0x54,0xac,0x13,0x80, 0x19,0xd3,0x0a,0x40, 0xf5,0x50,0xfc,0x17, 0x93,0xe9,0xac,0x99,
- 0x3b,0x03,0xad,0xee, 0xfc,0xd4,0xac,0xdc, 0x12,0xf0,0xa9,0xba, 0x5c,0xa2,0xa5,0x58,
- 0xf6,0x3a,0xda,0xa5, 0xe7,0x4a,0xf0,0xc9, 0xf6,0xc7,0xb5,0x51, 0xe8,0x8a,0x7c,0xc2,
- 0x34,0x75,0x35,0x82, 0x30,0x7c,0xc3,0x6a, 0x81,0xb1,0x5f,0x35, 0x30,0xe0,0x26,0xae,
- 0xa7,0x7e,0x8b,0x99, 0xa9,0x4a,0x8f,0x44, 0xbd,0x6a,0x3a,0xe7, 0xf3,0xd6,0x6e,0xf8,
- 0x82,0xf7,0xeb,0xfa, 0x32,0x3b,0x78,0xd3, 0x93,0xe7,0xd0,0xdb, 0xbf,0x43,0xae,0x55,
- 0x89,0x9c,0x39,0xf3, 0x8a,0x61,0xa8,0xa6, 0x74,0x85,0x66,0x6c, 0x68,0x03,0x41,0x36,
- 0xd8,0x34,0x66,0x7f, 0x31,0x87,0xb7,0x89, 0x99,0xf8,0xe1,0x69, 0xc3,0x76,0x91,0x56,
- 0xe7,0xe8,0xd4,0xd5, 0x2f,0x21,0xf0,0xb2, 0x6d,0x9a,0x51,0x67, 0xf9,0x6b,0xb0,0xa8,
- 0xff,0xee,0xbe,0x94, 0x8d,0x4e,0xa2,0x52, 0x9e,0x9c,0x94,0x38, 0x50,0x99,0x96,0x72,
- 0x7a,0x04,0x47,0x19, 0x8b,0x46,0xba,0x93, 0x17,0xf3,0x78,0x78, 0x6e,0x77,0xba,0xd8,
- 0x17,0xe0,0x93,0x6e, 0xd6,0x36,0x3f,0x06, 0xe3,0xd7,0x3f,0x64, 0x52,0x2e,0x18,0xe3,
- 0xbe,0xeb,0xd8,0xaa, 0x7a,0x88,0x85,0x19, 0xf6,0x33,0x58,0x90, 0x55,0x1f,0xf7,0x3f,
- 0x34,0xec,0x7d,0x47, 0x78,0x8f,0x1a,0x8b, 0xb5,0xdc,0x09,0xaf, 0x62,0x49,0x0f,0x6a,
- 0x03,0x15,0x92,0x29, 0x9c,0x19,0x16,0x98, 0xf7,0x4e,0xa1,0x74, 0x33,0xa0,0xfb,0x4f,
- 0x2a,0xa6,0x47,0xbf, 0x13,0xd8,0xd5,0x3c, 0xc3,0x9b,0xa5,0x5a, 0x05,0xd4,0x1f,0x6c,
- 0x6a,0x7e,0x7b,0x9f, 0xa3,0x78,0x8f,0xcf, 0x6a,0xc4,0xaa,0x74, 0x68,0x6d,0xcf,0xfd,
- 0x77,0xa8,0xcf,0x02, 0xed,0x41,0xae,0x92, 0x56,0x84,0x13,0x4e, 0xa1,0xc8,0x7f,0x86,
- 0x46,0xdb,0xfc,0x07, 0xf5,0x7a,0xa1,0x6a, 0x4c,0xa1,0x29,0xa3, 0x74,0xce,0x4c,0x98,
- 0xea,0x66,0xa7,0x3b, 0x5d,0x88,0x45,0xbd, 0x68,0x98,0x37,0x20, 0x68,0xb2,0x52,0xdf,
- 0xd6,0xdc,0xa5,0xa5, 0x6f,0x83,0x1e,0x80, 0xd2,0x4e,0x03,0x65, 0xe2,0xd4,0x3c,0x32,
- 0xd6,0xb2,0x02,0xe0, 0xc3,0x43,0xdb,0xb2, 0x22,0xb8,0x10,0x13, 0x92,0x14,0x32,0xe7,
- 0xf9,0x28,0xe8,0xab, 0x35,0xda,0xf9,0xa3, 0x1f,0x1b,0x82,0xf1, 0xdf,0xce,0xc9,0x93,
- 0x3b,0xdd,0x05,0x4f, 0x29,0xd6,0x4c,0x59, 0xce,0x2f,0x8a,0xf4, 0xc4,0x2c,0xb0,0xfa,
- 0x05,0x9e,0xd4,0xb2, 0xc3,0x22,0x51,0x92, 0x36,0x82,0x23,0xdb, 0x57,0x84,0x8c,0x9d,
- 0x3b,0x6b,0x77,0xf6, 0x52,0x50,0x11,0x49, 0xe4,0x2a,0xb2,0x21, 0xa5,0xef,0xaf,0x02,
- 0xca,0xfd,0xb5,0x3a, 0x25,0x83,0x5d,0x03, 0x27,0x2c,0xa2,0xb3, 0x97,0xcd,0xf5,0x66,
- 0x0c,0xe2,0x2c,0x8a, 0x9f,0x7f,0x08,0x3d, 0xea,0xef,0x3c,0xa8, 0x52,0xd7,0x48,0x7e,
- 0x51,0xce,0x2c,0x3b, 0x14,0x36,0x27,0xb2, 0xf0,0x12,0x2e,0xf3, 0x10,0x0d,0x28,0x7c,
- 0xec,0x6d,0x33,0xf0, 0xd7,0x8f,0xd4,0x90, 0xb5,0x5d,0x41,0x1d, 0x98,0xe9,0x22,0xa6,
- 0x6e,0x38,0xbe,0xad, 0xfe,0x1e,0x94,0xa8, 0x3f,0x4a,0x17,0x98, 0x2c,0x6c,0xc0,0xe5,
- 0x24,0x3f,0xa7,0x3e, 0x2b,0x2c,0xf7,0x85, 0xd0,0x1a,0x94,0xf0, 0x22,0x2a,0x87,0x6a,
- 0x4e,0xd2,0xb4,0x98, 0xbe,0x4c,0x76,0x41, 0x99,0x75,0xa3,0x72, 0x14,0x32,0xd0,0x0a,
- 0xa9,0xed,0xdc,0x9a, 0x62,0x5a,0x88,0x28, 0xce,0x6a,0x51,0x54, 0x2f,0xe3,0xbe,0x35,
- 0xee,0xf0,0xfd,0xdc, 0xeb,0x3d,0x81,0xd6, 0xf8,0xe0,0x6c,0xfa, 0xa1,0x5d,0x33,0x31,
- 0xd4,0xbc,0x0b,0xb9, 0x2e,0xf7,0xf5,0x5e, 0xe2,0xdb,0x72,0x5e, 0x62,0x51,0x26,0x6a,
- 0x19,0xb1,0x3e,0xc4, 0x35,0xa6,0xc3,0xaf, 0xc7,0x7a,0x15,0x32, 0x95,0xd8,0x2e,0x5c,
- 0xb6,0x8c,0x01,0xfb, 0xef,0x3a,0xe8,0x65, 0x09,0xd8,0x39,0x18, 0x63,0x40,0x15,0x38,
- 0xca,0xa0,0x35,0x61, 0x80,0xa8,0xbf,0xec, 0x6b,0x7b,0x48,0xaf, 0x64,0x2b,0x60,0x2d,
- 0xbc,0x9e,0xc6,0x0e, 0x59,0xb2,0xbc,0x16, 0x76,0x6d,0x90,0x93, 0x42,0x04,0x8b,0x13,
- 0x6f,0xb2,0x8a,0x81, 0x79,0xce,0x89,0x0d, 0xd2,0xae,0xc2,0xa5, 0xbf,0xd2,0x0e,0xd2,
- 0x34,0xd7,0x81,0xd4, 0x3b,0x2c,0xf7,0x9c, 0x76,0x0b,0xab,0x57, 0xc4,0x67,0x86,0x3a,
- 0xeb,0x49,0x11,0x90, 0x09,0x59,0x51,0x3f, 0x1f,0xc6,0x49,0xbb, 0x73,0x2c,0x0a,0xda,
- 0xc9,0x3a,0xb2,0x67, 0xe4,0x88,0x02,0xd6, 0xc5,0x84,0xeb,0x8f, 0x9b,0x49,0xe8,0x99,
- 0x88,0x5b,0x80,0x74, 0x6a,0xdb,0x4f,0x8f, 0x5e,0xcc,0x1f,0x65, 0x12,0xf6,0x88,0x29,
- 0xf5,0x90,0x47,0xb5, 0x92,0x9a,0xf5,0xe0, 0x68,0xb2,0xab,0x5c, 0x04,0x1e,0xe4,0x20,
- 0xa5,0xd4,0x50,0x42, 0x3f,0xb5,0xde,0xcd, 0x47,0x7b,0x79,0xaf, 0x8d,0x5f,0x9b,0x0a,
- 0xc3,0x8e,0xc7,0x5c, 0xb9,0xb9,0x17,0x93, 0x75,0x0e,0xeb,0x1b, 0xf4,0xdc,0x77,0x35,
- 0x5a,0xfb,0xda,0xba, 0xb1,0xda,0x0d,0x30, 0x89,0x3f,0x8f,0x76, 0xc6,0x5f,0x5a,0x15,
- 0x7c,0xd4,0xd0,0x81, 0xe4,0xc6,0xad,0xf8, 0x63,0xc4,0x66,0xe6, 0xc8,0x22,0x14,0x20,
- 0x9e,0xe1,0xdb,0xb8, 0xfa,0x1b,0xee,0x62, 0xb6,0x38,0x22,0x3a, 0x91,0xef,0x63,0x2d,
- 0x90,0x31,0x8e,0x94, 0x43,0xbe,0x79,0xe5, 0x22,0xac,0x6c,0x0f, 0x2d,0x56,0x6b,0xfa,
- 0x1a,0x14,0xdb,0x6a, 0x55,0x1d,0x7a,0xde, 0xe2,0x4f,0x7d,0xa1, 0xbd,0xfb,0x4c,0xb2,
- 0x84,0x94,0x1d,0x01, 0x7c,0x6b,0xa3,0x9d, 0xcd,0x1e,0x17,0x94, 0xa3,0x52,0xdc,0xe4,
- 0x1c,0x66,0x7c,0x08, 0x82,0xeb,0x33,0x2f, 0x4e,0x2e,0x41,0x63, 0x0a,0xbf,0xf4,0xa3,
- 0xf3,0xb3,0x38,0x98, 0xe2,0xd9,0x18,0xf8, 0x9e,0xca,0xca,0x7e, 0x67,0x6f,0xe1,0xfa,
- 0x9c,0x42,0x66,0xbb, 0xe4,0xd0,0x1c,0x96, 0xa8,0xda,0x61,0xe2, 0x37,0x21,0x2f,0x59,
- 0xbc,0x9e,0x6e,0xbf, 0x4c,0xce,0x11,0x57, 0x91,0xda,0xdb,0x28, 0x3f,0x33,0xa4,0xfd,
- 0xe7,0x91,0x8e,0xc2, 0x00,0xce,0xa6,0xfc, 0x91,0xb4,0x5b,0xf7, 0x8d,0xaa,0xdd,0x14,
- 0xc3,0x20,0x46,0x49, 0xb1,0x99,0x90,0x54, 0x93,0xbd,0x4f,0x34, 0x77,0x04,0x57,0x74,
- 0x50,0x50,0x5f,0x9f, 0x33,0x93,0x1c,0xf8, 0x5c,0x76,0x16,0x69, 0x7b,0x8f,0xe5,0xef,
- 0xc0,0x08,0x7d,0x7f, 0xff,0x74,0x2e,0x64, 0x13,0x81,0xe8,0x76, 0xdf,0xf3,0x54,0x30,
- 0x1a,0xfd,0x61,0xa3, 0x7f,0x87,0x62,0x52, 0x39,0xe1,0x2a,0x98, 0xf0,0xdc,0xf2,0xc5,
- 0x3c,0x50,0x39,0x22, 0xcb,0x39,0xe2,0xcc, 0x4e,0xfe,0x68,0x53, 0xdc,0xfa,0xd1,0xd6,
- 0x15,0x1b,0xc7,0x3f, 0xe3,0xcb,0x76,0xd7, 0xd0,0xf7,0xb5,0x7d, 0x54,0xdb,0x32,0x3e,
- 0xb9,0x2a,0x05,0x37, 0x56,0x18,0x30,0x89, 0x3a,0x31,0x55,0x10, 0x03,0x01,0xd9,0x86,
- 0xc3,0xe6,0x41,0xf8, 0x3f,0xbb,0x82,0xe3, 0x85,0x5d,0xe1,0xbf, 0x1c,0xcb,0xa9,0xea,
- 0x8a,0x3b,0xb9,0xed, 0x42,0xb4,0xfb,0x7f, 0x08,0xab,0x3b,0x36, 0xa3,0x74,0x12,0xcb,
- 0x4b,0x1a,0xb0,0xd8, 0x96,0x3d,0xe2,0x5d, 0xec,0x55,0xea,0xdb, 0xb3,0xb1,0x1b,0xfc,
- 0x8c,0x36,0x3d,0x3a, 0x4c,0x19,0x5b,0xc2, 0xe0,0xe1,0xaf,0x47, 0xe3,0x8b,0xe3,0x87,
- 0x41,0xf1,0xb9,0xfc, 0xe1,0xe5,0x0b,0x75, 0x45,0xcc,0x08,0xba, 0x64,0xf9,0x1b,0xb4,
- 0xc8,0xa2,0xf8,0x8f, 0xe8,0x49,0x83,0x8c, 0xc6,0x5a,0x19,0x11, 0xed,0x65,0x04,0xcb,
- 0xf6,0xc3,0xe8,0x80, 0x7a,0x56,0x21,0xf4, 0xa9,0x8d,0x46,0xe8, 0xe9,0xe1,0x7d,0x54,
- 0xb2,0x3a,0x20,0xd6, 0x1f,0xb2,0x0d,0xdd, 0xc0,0xf6,0xa6,0xa4, 0xb0,0x15,0x2e,0xd0,
- 0xbc,0x64,0x9b,0xa9, 0xc7,0x44,0x7c,0xb0, 0x22,0x96,0x8f,0x07, 0xb2,0xa0,0x88,0xf0,
- 0x42,0xa6,0xc0,0x4c, 0x30,0x2d,0x18,0x52, 0xd5,0x19,0x0e,0xa7, 0x8d,0x47,0x14,0xda,
- 0xb6,0x89,0xd8,0x27, 0xa4,0x21,0xcf,0x70, 0x27,0xd3,0x79,0xa5, 0x7f,0xc3,0xd2,0xd4,
- 0x07,0x9a,0x3a,0xab, 0x71,0xb7,0xa1,0x71, 0x20,0x2a,0xb4,0x45, 0x75,0x71,0xf9,0x5b,
- 0xaa,0xe7,0x6e,0xe3, 0x61,0x95,0x25,0xe7, 0x81,0x70,0xd9,0x09, 0xfd,0x75,0xb0,0x2c,
- 0x9a,0xce,0xcc,0x0e, 0x6c,0xac,0x4d,0x91, 0xb3,0xe7,0xbf,0xf8, 0xb1,0xd5,0x62,0x0f,
- 0xe7,0xcb,0x57,0x35, 0x12,0xd4,0x7c,0x27, 0x33,0xc0,0x68,0x0c, 0xd5,0x63,0x84,0xee,
- 0xcf,0x9c,0xac,0xef, 0xe3,0xb4,0x91,0xa6, 0x97,0x8a,0x82,0x99, 0x45,0xfd,0x4a,0x0d,
- 0x06,0xd8,0xc9,0x35, 0x42,0x90,0x5a,0xc5, 0x3d,0xe1,0x53,0x97, 0x8d,0x20,0x62,0x35,
- 0xa2,0x40,0x32,0xbd, 0x81,0xff,0xe8,0x91, 0xed,0xaa,0x4b,0x25, 0x0c,0x95,0x12,0x63,
- 0x86,0xd3,0xbb,0xa2, 0x47,0xaa,0xa6,0xd3, 0xe3,0x21,0x8d,0x87, 0x88,0x0d,0xa4,0xe6,
- 0x55,0xe3,0x3b,0x3c, 0xc6,0x82,0x65,0x33, 0xb4,0x43,0xfa,0x00, 0xf0,0x67,0xe5,0x84,
- 0xe2,0x2e,0xd8,0x4c, 0x42,0xaf,0xeb,0x9c, 0xc4,0x92,0xbc,0x83, 0x7d,0x87,0x2b,0x3e,
- 0xbd,0x1b,0x8c,0xea, 0x69,0x42,0x85,0xc6, 0xfe,0xce,0xec,0x21, 0xa3,0xe8,0x89,0xe1,
- 0x72,0x2c,0x42,0xc9, 0xcb,0xc4,0x7e,0xf1, 0xe6,0x91,0x82,0x3a, 0xac,0x7b,0x81,0xf2,
- 0xe4,0x9e,0x0a,0x44, 0xff,0xa8,0x88,0xa3, 0x00,0x5a,0x07,0xec, 0x5a,0x71,0x2d,0x49,
- 0x0a,0x62,0x66,0x7f, 0x13,0xec,0x2a,0xa6, 0x2b,0x06,0x32,0x7e, 0x54,0x90,0x86,0xf9,
- 0x8d,0xb6,0x6c,0x25, 0xdf,0x3d,0xa8,0x53, 0x6c,0x3d,0x31,0xc7, 0x6e,0xcd,0x84,0xaf,
- 0x08,0x8b,0xad,0x1e, 0xd6,0x71,0x43,0xf2, 0x38,0xb4,0x42,0x8f, 0xc8,0x35,0xe6,0x5b,
- 0x5a,0x92,0x80,0x0e, 0x35,0x52,0xe0,0x1d, 0x63,0x26,0x6e,0x10, 0x66,0x08,0xe3,0x92,
- 0xc6,0xde,0x86,0x7f, 0x55,0x7d,0xbb,0xf1, 0xa0,0x78,0x90,0xf1, 0xd5,0xa7,0x26,0x80,
- 0x77,0x73,0x3a,0x30, 0x31,0x5a,0xf0,0x72, 0x12,0xa9,0x6d,0xc7, 0xf0,0x84,0x75,0x08,
- 0xd1,0xac,0x1d,0x71, 0x41,0xae,0xe5,0xc5, 0x75,0xd5,0x80,0xa5, 0x03,0xde,0xf7,0xf0,
- 0xcb,0x64,0x0f,0x28, 0x33,0x94,0x62,0x00, 0x5c,0xae,0x5f,0x21, 0xa1,0x49,0x7c,0x48,
- 0x3f,0x23,0xfd,0x8b, 0x78,0x86,0xd9,0x2b, 0x9d,0xc9,0x02,0x04, 0x93,0x1a,0x99,0xd5,
- 0x26,0x66,0xa0,0x49, 0x0a,0x93,0xe4,0x5c, 0xbf,0x4c,0x84,0x9a, 0x09,0xf6,0xa3,0x40,
- 0xd9,0x64,0xe8,0x73, 0xd1,0xac,0x40,0xae, 0xc0,0x67,0x18,0x5c, 0x7f,0xd0,0x89,0x3d,
- 0x82,0xd1,0xa6,0xa2, 0xfc,0x6f,0xc4,0xeb, 0x8d,0x90,0xae,0xf6, 0xdf,0xce,0x65,0x67,
- 0x95,0xa1,0xe8,0x34, 0xa8,0x2a,0xd4,0x51, 0xde,0xe0,0x33,0x66, 0x0c,0xe6,0x69,0x65,
- 0x8f,0x90,0x68,0x17, 0x5d,0x1a,0x35,0xe4, 0x12,0x7b,0x22,0xab, 0x7e,0x58,0x72,0x45,
- 0x9c,0x66,0xba,0x38, 0xab,0xff,0x75,0xf8, 0x76,0x0e,0xbf,0x4e, 0x9f,0xf4,0xf3,0x07,
- 0xd7,0x88,0xc8,0x7a, 0x56,0x67,0xa3,0x57, 0xa8,0x43,0x19,0x7f, 0x67,0x23,0x1a,0x0e,
- 0x66,0x65,0xad,0xd6, 0x7a,0xed,0x6c,0xdc, 0x95,0x95,0x95,0x17, 0x4f,0xb4,0x01,0x1e,
- 0xfd,0x71,0x6f,0xea, 0xad,0x03,0xa1,0xa5, 0xb6,0x7f,0x50,0x7c, 0x1e,0x71,0x6a,0x50,
- 0x9d,0x97,0xca,0x96, 0x4a,0xb0,0x20,0x37, 0x2f,0x60,0xab,0xbb, 0xa9,0x45,0xda,0x5d,
- 0xd9,0xce,0xb6,0x36, 0x29,0x40,0xac,0x86, 0xc8,0x3a,0xb3,0xa9, 0x6f,0xfe,0xbf,0x9f,
- 0xbd,0x87,0x94,0x08, 0x48,0x5c,0xac,0x4a, 0x7b,0x7d,0xa5,0x3f, 0x5e,0x47,0xe7,0x8b,
- 0xdd,0xc2,0xb6,0x3f, 0x58,0x16,0xc5,0xc9, 0xab,0x57,0x07,0x25, 0x73,0xde,0xe0,0xd0,
- 0xa1,0x41,0x06,0x59, 0x77,0xff,0x1b,0x92, 0x30,0xe9,0x32,0x6d, 0x1e,0x80,0x77,0x33,
- 0x95,0x7d,0x33,0x5d, 0x0e,0xde,0x6c,0xa9, 0x0e,0x9c,0x38,0x27, 0x17,0x57,0x01,0x33,
- 0x05,0x28,0x6a,0xac, 0x01,0x82,0x87,0x6a, 0x4f,0x57,0x4b,0xf8, 0x99,0x23,0x24,0xfe,
- 0x0d,0x9d,0x3c,0x7f, 0x98,0xaf,0xaa,0xfe, 0xba,0xf7,0x08,0x70, 0x1c,0xd8,0xe4,0x01,
- 0x13,0x32,0x85,0xc7, 0xaf,0x43,0xa8,0xf9, 0x24,0x70,0x31,0x51, 0x70,0xfe,0x98,0xf8,
- 0x80,0x09,0x59,0x7b, 0xbd,0xf4,0x56,0x7f, 0x6e,0xca,0x42,0xf0, 0x7a,0xb2,0xef,0x54,
- 0xb5,0x9d,0x8b,0x4a, 0x3f,0x56,0xa9,0x3d, 0xf4,0x02,0xb0,0x9e, 0xf2,0x0b,0xb0,0x59,
- 0x93,0x7b,0x12,0x74, 0xc0,0xed,0xd9,0x7c, 0xf4,0x81,0x12,0x00, 0xa2,0xc0,0x87,0xbc,
- 0xaa,0x2f,0x71,0x26, 0x5d,0x19,0xe9,0x97, 0x61,0xab,0xf8,0x88, 0xbf,0x40,0xd8,0x9a,
- 0xc0,0x55,0x38,0x16, 0x69,0x99,0xd3,0xb6, 0x98,0x99,0x21,0xd0, 0x8c,0x81,0x07,0x12,
- 0x71,0x6a,0xc9,0x70, 0xa3,0x65,0x46,0xcc, 0x59,0x56,0xd0,0xc5, 0x27,0x63,0x1a,0xf8,
- 0x4c,0xab,0xa5,0xc5, 0xdc,0xd6,0x26,0x03, 0x44,0x39,0xfb,0x2f, 0xa0,0xac,0xd3,0xd2,
- 0xed,0x12,0xb8,0x85, 0xf1,0xf5,0x16,0x36, 0xc6,0xbc,0xc5,0x6e, 0x33,0x8f,0xe7,0x46,
- 0x15,0x6a,0x88,0x95, 0xe9,0x4e,0x97,0x6f, 0x10,0xc8,0x3f,0x09, 0xac,0xcd,0xff,0x81,
- 0xf3,0x0d,0xe4,0x10, 0x2a,0x8d,0xa2,0x5c, 0xdf,0x84,0xf3,0xdc, 0x91,0x36,0x45,0xdf,
- 0xd3,0x2b,0x24,0xf2, 0x54,0x72,0x29,0xc5, 0x38,0x9e,0x1b,0xd3, 0x99,0x34,0x08,0x4a,
- 0x60,0xbd,0x4a,0x39, 0x2f,0xd4,0x10,0xde, 0x24,0x86,0xda,0x2a, 0xa2,0xf0,0x1d,0xd4,
- 0xd1,0x7a,0xc5,0x4c, 0x9c,0x82,0x2e,0xb5, 0xfb,0xee,0x3e,0x07, 0x41,0xea,0x0d,0xe3,
- 0x68,0x15,0x20,0xf4, 0xaf,0xa5,0xde,0xd8, 0x83,0x4a,0xbb,0x3b, 0xb6,0x39,0xe3,0x79,
- 0x47,0x44,0x16,0x7b, 0xfa,0x90,0x49,0x18, 0x26,0x8e,0x22,0x51, 0xcb,0x27,0x5a,0x62,
- 0x38,0x2f,0x32,0x5b, 0xf1,0xd4,0xdb,0x59, 0xa7,0x14,0x08,0xab, 0x49,0x2e,0x61,0x11,
- 0x3b,0x86,0xa5,0x53, 0xbb,0x22,0xa4,0x3f, 0x49,0x98,0x75,0xeb, 0xde,0xb8,0x11,0x12,
- 0x8d,0x0f,0x9c,0x43, 0x2e,0x53,0xef,0x6a, 0x7e,0xcb,0x84,0xf3, 0xbe,0x72,0x43,0xae,
- 0xdc,0x5e,0x1b,0x8e, 0xec,0xaf,0xb1,0x9a, 0x61,0xde,0x3b,0xb4, 0xda,0x78,0x4c,0x5a,
- 0x5a,0xe3,0xf1,0xf8, 0x38,0xc7,0x89,0x71, 0x82,0x00,0xbb,0x4f, 0xd5,0xa4,0x66,0xd5,
- 0x9f,0xe1,0xf7,0x0d, 0x0c,0xc7,0x8c,0xef, 0x10,0xd5,0x39,0x4d, 0xb2,0x0c,0xfa,0xba,
- 0x0b,0x8d,0xed,0x92, 0x8e,0xb8,0x0d,0x39, 0x00,0x48,0x2f,0x1d, 0xec,0x6c,0x5e,0x10,
- 0x88,0x09,0x8c,0xe0, 0x6f,0x4b,0xbb,0x1d, 0x3a,0xb0,0xac,0x75, 0x22,0x6a,0x08,0x2c,
- 0xba,0xde,0xa5,0xe4, 0xc5,0x4c,0xc0,0x46, 0x44,0xe3,0x23,0x9b, 0x8e,0x55,0xcd,0xf8,
- 0xf8,0x15,0xca,0x5f, 0xd9,0x3f,0x10,0xa3, 0xa9,0xc2,0xb4,0x73, 0x4d,0x33,0x4a,0x2a,
- 0x97,0xee,0xa4,0x79, 0xf6,0xc7,0xf3,0xa0, 0xfd,0xbc,0xf8,0x59, 0x41,0x1b,0x4c,0x13,
- 0xdc,0x50,0x06,0xca, 0xff,0x98,0xf7,0x0c, 0x52,0xcf,0x8a,0xe7, 0x5b,0xb8,0x6a,0xdb,
- 0x3e,0xda,0x69,0xe6, 0xf3,0x0e,0x4f,0x40, 0xf6,0x0a,0x7c,0xcb, 0xb1,0x78,0xf5,0xf8,
- 0x3e,0xe5,0xf7,0xb1, 0x41,0x5c,0xbb,0x9c, 0x2f,0x12,0xf1,0x1e, 0x29,0xb0,0xb2,0x0c,
- 0xf3,0x4b,0x31,0x69, 0x51,0xad,0x46,0xab, 0x3a,0xa1,0xf4,0xa3, 0x00,0x18,0x6d,0xd5,
- 0x33,0xa2,0xdc,0x9e, 0x00,0x4e,0x12,0xfc, 0xd5,0xf7,0xff,0xac, 0xe3,0xec,0x91,0xd0,
- 0x75,0xc5,0x81,0x4c, 0xc2,0x81,0x50,0x44, 0xec,0xe9,0x80,0x56, 0x90,0xb7,0xa4,0x19,
- 0x11,0x6a,0xf4,0xd6, 0xcb,0x28,0xfb,0x52, 0x98,0x10,0xec,0xda, 0x3f,0xf7,0x44,0x11,
- 0x73,0x63,0x84,0x48, 0xde,0x7c,0xd7,0x46, 0xef,0x1c,0x88,0x91, 0x51,0x94,0xba,0x39,
- 0xa3,0x9a,0xad,0x5c, 0xa2,0x43,0x6b,0x61, 0x48,0x5a,0xf9,0xa0, 0x4d,0xfb,0xc2,0xcb,
- 0xd4,0xd1,0x92,0xdc, 0xbb,0x85,0x3c,0xfc, 0x87,0xde,0x8d,0x3f, 0xfa,0x58,0xb7,0x3f,
- 0xb9,0x56,0xb7,0x6f, 0x8c,0x7f,0x9b,0x53, 0x2d,0x7b,0xc5,0xde, 0xb6,0xc3,0x5b,0xf7,
- 0xfb,0x42,0x62,0xeb, 0xfc,0xc8,0x5c,0xb1, 0xb2,0x40,0x90,0xcc, 0xa6,0x43,0x49,0x5f,
- 0xc8,0x56,0x7a,0xd7, 0x49,0x18,0x00,0x56, 0x46,0xdb,0xb0,0xaf, 0x6c,0xb1,0x27,0x72,
- 0x5a,0xf7,0xea,0x7b, 0x7a,0x95,0x02,0x5c, 0x45,0x0f,0xb3,0x15, 0xbc,0xa9,0x7e,0x24,
- 0x5d,0x3c,0x93,0xda, 0xbf,0x48,0xa3,0xab, 0x15,0x67,0x2b,0x47, 0xe4,0x79,0xe2,0x92,
- 0x05,0x82,0x49,0x29, 0xaa,0x0a,0x55,0x9d, 0xb0,0x4a,0x1a,0x2a, 0xcd,0xa2,0x8d,0xd1,
- 0xb8,0x35,0x9a,0xbd, 0x86,0x59,0xd2,0x0e, 0x19,0x60,0xad,0xeb, 0x46,0x06,0x4d,0xc5,
- 0x10,0x35,0xdc,0x48, 0x15,0xe7,0x55,0x5f, 0x7b,0x30,0x13,0x4c, 0x07,0x58,0xf0,0x03,
- 0xf1,0xa4,0x3b,0x28, 0x34,0x91,0xd8,0xfe, 0xd2,0xc1,0xb6,0x37, 0xa9,0x1d,0x3c,0xb1,
- 0x48,0x91,0xe0,0x03, 0x38,0x91,0xbe,0x0a, 0x60,0xed,0x3a,0xc8, 0xef,0x71,0xc0,0xdd,
- 0x1c,0xdf,0xae,0x6d, 0x63,0xfa,0x50,0xf8, 0x68,0xa9,0x7a,0x64, 0x71,0x14,0x1e,0x82,
- 0xef,0x56,0xb7,0x73, 0x8f,0x61,0x22,0x2a, 0xb0,0xe1,0xf4,0xd0, 0xa0,0x9f,0x00,0x19,
- 0x2c,0x66,0xc7,0xdb, 0x44,0x5b,0xab,0xc5, 0x37,0x3f,0xd2,0xa5, 0x24,0x1f,0x02,0xb2,
- 0x0e,0x72,0xbf,0xec, 0xe1,0xfe,0x32,0xb3, 0xad,0xa0,0x7c,0x19, 0x2f,0xec,0xf6,0x85,
- 0x38,0x75,0x94,0x4e, 0x90,0x0e,0xa3,0xfa, 0x7e,0xaf,0x3b,0xeb, 0xd9,0x48,0xd4,0x5b,
- 0x54,0x1c,0xa2,0xc2, 0x6c,0x90,0xbf,0x93, 0x7f,0x64,0xa0,0x53, 0xf2,0x8c,0xb8,0x77,
- 0x67,0xbd,0x15,0x9b, 0x1d,0xcd,0x8a,0xdf, 0xea,0x13,0x99,0xa6, 0x59,0x91,0x54,0xba,
- 0x4d,0x8e,0x45,0xe7, 0x67,0x86,0x52,0xcc, 0x6b,0xbe,0xe9,0xbb, 0xe3,0x05,0x4a,0x15,
- 0xb7,0x2c,0x2a,0x4d, 0x2d,0xb9,0xc3,0xb9, 0x2e,0x40,0xf6,0x72, 0xc8,0x96,0xa8,0x17,
- 0x0b,0xbc,0xd4,0xe5, 0x3d,0x14,0xfa,0xdf, 0xf3,0x4b,0x50,0x8f, 0xe5,0x97,0x22,0x1c,
- 0xcb,0xc0,0x6c,0xc1, 0x21,0xb9,0xb0,0xe4, 0x9c,0xcf,0x9c,0xf3, 0xd9,0xde,0x8d,0xda,
- 0x02,0x14,0xd3,0x60, 0xbc,0x98,0x8b,0xc7, 0x3d,0xa6,0xf6,0x1a, 0xf5,0x71,0x23,0xd4,
- 0xf6,0x5c,0xb8,0x51, 0xf5,0xae,0x8b,0x40, 0x4d,0x86,0x5b,0x59, 0x40,0x0a,0xfa,0xfa,
- 0x71,0xa4,0xd9,0x40, 0x08,0x4a,0xc2,0xac, 0x3b,0x86,0x1b,0x51, 0x43,0xf8,0x1a,0x0a,
- 0x35,0x69,0x18,0x3b, 0xaa,0x08,0x4a,0xee, 0x01,0x42,0xfc,0xc3, 0x08,0x11,0xb2,0x8e,
- 0x49,0xda,0x84,0x6e, 0x8c,0xac,0xc7,0xa1, 0x7e,0xf1,0xfb,0x79, 0x73,0x26,0xb4,0xf6,
- 0x48,0x66,0xd1,0xd6, 0x71,0x99,0xbd,0x8c, 0x3d,0x98,0xd5,0x75, 0xe3,0x5f,0x09,0x43,
- 0x77,0xb5,0x09,0x0d, 0xbf,0x7a,0x48,0x97, 0xa1,0x7e,0x0b,0xb3, 0xa9,0x22,0xa7,0x93,
- 0x3b,0xfb,0x18,0xe6, 0xa4,0xd5,0xec,0x54, 0xc1,0x57,0x62,0xec, 0x3c,0xca,0x75,0x28,
- 0xe1,0xed,0x05,0x10, 0x5f,0xec,0x59,0xc9, 0x5d,0xf3,0xcf,0x8b, 0x79,0x28,0x4c,0x9c,
- 0x0b,0x73,0xc7,0x93, 0x02,0x71,0x73,0xe5, 0x50,0xd0,0xd4,0x72, 0x6f,0xe0,0x90,0xf6,
- 0xb8,0x25,0x29,0x53, 0x4c,0xca,0x65,0x85, 0xf6,0x1a,0xf5,0x73, 0x23,0x3b,0x59,0xca,
- 0x43,0xb0,0xa6,0x8d, 0x21,0x9b,0x89,0x3b, 0xa3,0xbd,0x01,0xe9, 0xe0,0x4d,0x84,0xe5,
- 0x8f,0xe1,0x50,0x13, 0x6e,0xa0,0x23,0x25, 0xf8,0x1b,0x2d,0x20, 0xf4,0x1d,0x9f,0xe3,
- 0x65,0xe2,0x8a,0x56, 0x7f,0x43,0xe0,0x88, 0x5b,0x35,0x60,0xae, 0xf9,0x21,0x55,0x7d,
- 0xb5,0x81,0x9e,0x47, 0x22,0x35,0x65,0x24, 0x9d,0xc9,0x3e,0x3e, 0xee,0x5e,0xe8,0xff,
- 0x1b,0x04,0xe8,0xec, 0xbe,0x8f,0xcf,0x9b, 0x57,0x92,0x00,0x2f, 0x47,0xf5,0x5e,0xa7,
- 0x5a,0x1d,0x23,0x30, 0x46,0xe7,0x0b,0x3c, 0x21,0xf6,0xa7,0xcb, 0x89,0xa1,0x97,0xc8,
- 0xd9,0xf8,0xc1,0x62, 0x46,0xfd,0xfd,0xb2, 0x57,0x1f,0x23,0x45, 0xe4,0xc4,0x39,0xd4,
- 0xc9,0xf5,0xfd,0x3a, 0x03,0x3d,0xab,0x31, 0x15,0xe6,0xae,0x1b, 0x94,0xad,0x0f,0xc0,
- 0xf6,0x1e,0x5b,0x5e, 0x4c,0xa1,0xe9,0xf7, 0x13,0xd5,0xd1,0x8e, 0x39,0xf4,0x16,0xfc,
- 0xbc,0xdc,0x3a,0x4e, 0x8d,0x92,0x81,0x7c, 0x31,0xa7,0x62,0x62, 0x2a,0xe8,0x89,0xa6,
- 0xef,0x61,0xbc,0xe2, 0x2b,0x57,0x65,0xb8, 0x06,0x38,0xe8,0xac, 0xad,0x1b,0x36,0x7a,
- 0xb5,0xa9,0x74,0x18, 0x11,0xb5,0x5c,0x1b, 0x26,0x09,0xc2,0x76, 0xb8,0x92,0xe9,0xd8,
- 0x56,0x3d,0x7f,0x7c, 0x07,0x3b,0xe6,0x09, 0xd0,0xb6,0x64,0xaf, 0x47,0xcb,0x5c,0xa5,
- 0xb4,0xec,0x37,0x79, 0xb4,0xbc,0x50,0x7f, 0xb7,0x6c,0x17,0x0e, 0x8e,0x12,0xdb,0x21,
- 0x45,0x90,0x35,0xab, 0x4e,0x07,0x8c,0x4d, 0x4e,0x35,0xc6,0x78, 0xd1,0xdc,0x98,0x37,
- 0x15,0x1a,0x7e,0x4b, 0xf1,0x0e,0x52,0x2c, 0xe5,0x31,0x32,0x21, 0x72,0x8d,0x5b,0x61,
- 0x6c,0xdf,0x3e,0xb1, 0x04,0x54,0x9d,0x15, 0x13,0xf5,0x83,0x5a, 0xeb,0x4c,0x4c,0xd9,
- 0x75,0xae,0x5c,0xad, 0x42,0x5a,0x93,0xb2, 0x6a,0x7d,0xab,0x6c, 0xdc,0x97,0xec,0xe2,
- 0x4d,0x78,0x76,0x51, 0x70,0xac,0x74,0xd1, 0x3f,0x17,0x01,0xb2, 0xe8,0x01,0xd4,0xd3,
- 0x24,0x57,0xd0,0x9f, 0x7f,0x9c,0x2e,0x3a, 0x35,0xa8,0x01,0xc2, 0xcd,0x64,0xcc,0xbf,
- 0x41,0x40,0x01,0xa8, 0x75,0xc3,0x1d,0xa1, 0x28,0xd6,0xf2,0x7e, 0x23,0xd6,0x7a,0x2c,
- 0x04,0x89,0x80,0x60, 0x70,0x07,0xe0,0x63, 0xf1,0x26,0x88,0x3a, 0xc0,0x97,0xc2,0xe4,
- 0x63,0x8d,0xcb,0xe4, 0x67,0x90,0xf6,0x46, 0x34,0xf8,0x44,0x2a, 0x0d,0x88,0xd4,0xc2,
- 0x0b,0x2f,0x6f,0x95, 0x0f,0x8a,0x3f,0x43, 0x6c,0x62,0x01,0xfd, 0x9f,0x05,0xc8,0x61,
- 0x6e,0xe1,0xc6,0x97, 0x3c,0x63,0xb3,0x3e, 0xc8,0xb9,0xa7,0x4f, 0x17,0x70,0x1d,0xec,
- 0x12,0xf2,0x6e,0xd0, 0xe2,0xc8,0x1d,0x4e, 0x98,0x45,0xa4,0xc6, 0x3d,0x17,0xb7,0x63,
- 0xa6,0xf7,0x9a,0x06, 0x8a,0x01,0x8a,0x60, 0x8a,0x90,0xe1,0x3a, 0x8f,0xf0,0x9d,0xf0,
- 0xc2,0x8b,0xdf,0xcb, 0x1c,0x11,0x01,0xd3, 0x39,0xdd,0xec,0xe9, 0x58,0x9b,0xc4,0xb9,
- 0x31,0x32,0x4f,0x5b, 0x04,0x33,0x02,0xe7, 0x3b,0x06,0xd6,0xd0, 0x97,0x99,0xa9,0x9f,
- 0xb9,0x1b,0x65,0x80, 0xa7,0x6d,0x82,0x3d, 0xf3,0xb7,0x4a,0x5e, 0x35,0x6b,0x5f,0x02,
- 0xce,0x45,0xf9,0x27, 0xca,0xe7,0xa2,0x04, 0x0e,0xdf,0x14,0x18, 0xa5,0xed,0x9b,0x26,
- 0xf1,0x12,0xa3,0x6f, 0xb9,0x93,0x83,0xd8, 0xd3,0x7b,0x81,0xfe, 0xf6,0x0e,0x73,0xf6,
- 0x9d,0x2f,0x86,0x70, 0x6f,0x36,0x22,0x7a, 0x01,0x68,0xdf,0x0d, 0x15,0x86,0x2a,0x63,
- 0xfe,0xec,0xf9,0xc6, 0x74,0x94,0xe1,0x58, 0x02,0x57,0x7c,0x6c, 0x4a,0x4c,0xae,0xf8,
- 0xc1,0xa1,0x93,0x5a, 0xc1,0xa3,0xb5,0xae, 0x36,0xb9,0x2a,0x47, 0x99,0xb8,0xd5,0x8e,
- 0x72,0x98,0x34,0xee, 0x03,0x7c,0x5c,0x3a, 0xa8,0x2a,0xcb,0xfd, 0x65,0x52,0xc0,0x95,
- 0x5b,0x61,0xf2,0x63, 0xb5,0x42,0xfe,0xd8, 0x8a,0x29,0x17,0x67, 0x2d,0xa6,0x61,0x07,
- 0xa5,0xf1,0xd6,0xf9, 0x4e,0x2d,0xbe,0xba, 0xf7,0x27,0x0b,0xe2, 0x61,0xee,0x88,0x52,
- 0x79,0x02,0x8e,0xaf, 0x1b,0x89,0x8d,0x8e, 0xb8,0x0f,0xbc,0x98, 0xc7,0xfd,0x46,0xa6,
- 0xae,0x1f,0x11,0x99, 0x2d,0x35,0xe5,0xa5, 0x43,0xbe,0xaa,0xd4, 0x6d,0x06,0x68,0x59,
- 0x17,0xd2,0x8a,0xd1, 0xb4,0x08,0x41,0x84, 0xe3,0xe6,0x0c,0x2c, 0x5d,0x71,0x27,0xc7,
- 0x2d,0x52,0xdc,0xe2, 0xa4,0x84,0x0e,0x54, 0xef,0x72,0x33,0xcd, 0x6e,0x03,0xd9,0xab,
- 0x2c,0x9a,0x2f,0x51, 0x67,0x43,0x98,0xa6, 0x72,0x86,0x40,0x15, 0x35,0x6b,0x9b,0x92,
- 0x6c,0xa0,0x45,0x5b, 0xd9,0x0c,0x64,0x62, 0xf6,0xad,0x09,0x50, 0x55,0xd3,0xcf,0x2d,
- 0x08,0xf2,0x25,0x2d, 0xfc,0xb9,0xbe,0x85, 0x47,0xd4,0x7e,0xd4, 0xa5,0xda,0xce,0x6b,
- 0x66,0x2d,0x04,0x68, 0x7b,0xe3,0x57,0xa2, 0x1d,0x90,0x74,0x24, 0x49,0x28,0xf6,0x60,
- 0x01,0x8c,0xe5,0xa5, 0x3b,0x97,0xcd,0xde, 0x18,0x58,0x3e,0x95, 0xfe,0x1f,0x0f,0xcf,
- 0xf8,0x6b,0x81,0x15, 0x7f,0xe3,0x49,0x8f, 0xe0,0xe6,0xf8,0x0a, 0xe6,0x33,0x67,0x3f,
- 0x6e,0xec,0x5e,0xa5, 0xcf,0x1a,0x85,0x00, 0x94,0xfc,0xb7,0x93, 0xae,0x3b,0x5f,0x4e,
- 0x8d,0xa7,0xcf,0x79, 0xae,0x75,0x1c,0xcb, 0xca,0x92,0x32,0x57, 0xf2,0xe3,0x8b,0x62,
- 0xb4,0xa4,0xc9,0x8a, 0xc6,0x9c,0x69,0x9e, 0x90,0x75,0x1f,0x32, 0x8c,0x84,0xfd,0x93,
- 0xeb,0xb2,0xf8,0xdf, 0xc0,0x10,0xf6,0x13, 0xa6,0x88,0x8a,0x81, 0x7a,0x95,0x7c,0xc3,
- 0x30,0xad,0x58,0xda, 0x8c,0x8d,0x2d,0xd8, 0x14,0x9f,0xad,0x50, 0xe9,0x81,0x73,0xe4,
- 0x4d,0xf9,0x7e,0xdd, 0xf2,0x55,0xa4,0x01, 0x24,0x2b,0x4e,0x69, 0x53,0xd6,0x98,0x24,
- 0xf9,0x43,0x09,0xa7, 0x21,0x1a,0xc0,0x8b, 0x16,0xcc,0x7e,0x78, 0x6d,0x8d,0x77,0xcf,
- 0x47,0x50,0xa1,0x79, 0x0a,0xd5,0xa9,0x8e, 0x13,0xc5,0xa1,0x59, 0x00,0x80,0x2a,0xf0,
- 0xcf,0x20,0x74,0xba, 0x4b,0xb3,0x20,0x79, 0xee,0xd3,0x19,0x60, 0xc1,0x14,0x60,0xdc,
- 0xb0,0xcf,0x28,0x4a, 0xc8,0x88,0x10,0xda, 0x2e,0xfe,0x55,0x95, 0x75,0xb5,0x06,0x14,
- 0x6b,0x81,0x5b,0xb5, 0xbf,0x00,0x41,0xbc, 0xb8,0x95,0x9a,0x0c, 0x2a,0x5f,0x00,0x01,
- 0x91,0x9a,0x13,0x81, 0x06,0xd4,0x7e,0x64, 0x78,0x85,0xa7,0x70, 0x40,0x0d,0xf4,0xa0,
- 0xf5,0xbb,0x96,0x9a, 0x66,0xcc,0x07,0x05, 0x69,0xab,0xf2,0x22, 0xed,0xe1,0x60,0x68,
- 0x48,0xb2,0xb8,0x09, 0xbf,0xf5,0x29,0xeb, 0xa2,0x13,0x44,0x50, 0xc1,0x43,0x3a,0xd3,
- 0x7c,0xa3,0xf0,0xa2, 0xb6,0xd3,0xdc,0x55, 0xee,0x88,0xe6,0xfd, 0x2b,0xd3,0x11,0xc6,
- 0x78,0xe7,0x2f,0xb5, 0x3a,0xf7,0x9e,0xc8, 0x61,0xb8,0xb5,0x14, 0x5b,0xaf,0xd5,0x19,
- 0x98,0x42,0x74,0xaf, 0x08,0x59,0xbc,0x8d, 0x20,0x07,0x67,0x74, 0xf1,0x96,0xf9,0x93,
- 0x78,0x08,0x24,0x9c, 0x59,0x19,0x1e,0xcf, 0x0c,0xe3,0xd0,0x15, 0x78,0x39,0x34,0xe2,
- 0xd1,0x90,0x60,0xc4, 0x73,0x82,0xc0,0x23, 0x4b,0xb5,0x1e,0xad, 0x0c,0xd2,0x20,0x02,
- 0xe8,0x8b,0x5a,0x28, 0x7f,0x82,0xf3,0x9e, 0x79,0xcf,0x6b,0x6c, 0x81,0x4a,0xd3,0x9b,
- 0x3e,0x75,0xf0,0xf6, 0x1c,0x41,0x8e,0x06, 0x5e,0xf5,0xce,0xe0, 0x24,0xaa,0x73,0x39,
- 0x97,0x28,0x4b,0x1d, 0x36,0xf8,0x57,0xd7, 0x21,0xac,0x8b,0xf1, 0xa8,0x0b,0xdb,0x85,
- 0x76,0xaf,0x83,0xe5, 0x50,0x6c,0x60,0x2f, 0x7b,0xa7,0x9b,0x5f, 0xab,0xf5,0x9e,0x21,
- 0x1c,0x54,0x7c,0x77, 0x9a,0xbb,0xe7,0x58, 0x3a,0x2d,0x68,0xa3, 0x89,0x04,0x40,0xa4,
- 0x95,0xa4,0xb1,0x48, 0x24,0x18,0xa3,0x8f, 0x5a,0xcd,0x23,0x1b, 0xe8,0x2d,0x5e,0xdf,
- 0x4d,0x39,0xda,0x25, 0x04,0xc2,0x3b,0xeb, 0x76,0xa9,0xb3,0xe3, 0x3d,0x7b,0xcf,0x96,
- 0xa8,0x7d,0x16,0x04, 0x38,0xcf,0x40,0x34, 0x78,0x81,0x2e,0xca, 0xa7,0x52,0x57,0x82,
- 0x65,0xcd,0x6b,0x63, 0x1b,0xd4,0x7d,0x8f, 0x7a,0x32,0x63,0x4d, 0xb2,0x93,0x5b,0x20,
- 0x97,0x15,0x32,0x6e, 0x20,0x3f,0x6e,0x41, 0x9a,0x84,0x6b,0x01, 0xa2,0x64,0x3b,0x9e,
- 0xba,0xc7,0xcd,0x91, 0xa2,0xb6,0x92,0x6d, 0xd9,0xa1,0x0e,0x8a, 0x7f,0x87,0xeb,0xe3,
- 0xcd,0x51,0x90,0x81, 0x28,0xfc,0x8c,0x1b, 0x95,0x10,0xd9,0x91, 0x44,0x83,0x0e,0xa5,
- 0x3e,0x64,0x27,0x74, 0xbc,0x87,0x98,0x9f, 0x1b,0x12,0x20,0x87, 0x3d,0x8e,0xca,0x59,
- 0xcb,0x36,0xab,0x54, 0x98,0x27,0x1b,0x0d, 0xd6,0x45,0x86,0x26, 0x9b,0x19,0x84,0x92,
- 0x52,0xed,0x2b,0x41, 0x30,0xb5,0x85,0xbc, 0x89,0x5f,0x12,0x99, 0x72,0x67,0x1a,0xb9,
- 0x03,0x93,0x38,0x3e, 0x20,0xce,0x3e,0x2e, 0xb1,0xf4,0xf5,0x80, 0x38,0xf0,0x1e,0xd1,
- 0x5d,0xe5,0x3c,0xf1, 0xe9,0xfb,0x1e,0xbe, 0x08,0xfd,0x05,0x29, 0xd2,0xbf,0x05,0x9c,
- 0xe4,0xf3,0x87,0x21, 0x9a,0x67,0xfb,0x9e, 0x45,0x22,0x37,0x91, 0x17,0x29,0x85,0xa2,
- 0x77,0xdd,0x78,0x39, 0x3b,0xe4,0x5e,0x9e, 0x13,0xca,0x56,0x59, 0xb7,0xf4,0xcd,0x25,
- 0xba,0x65,0xfe,0x8b, 0x00,0xc0,0xc8,0xb5, 0x64,0xa5,0x90,0x09, 0x98,0x4c,0xcb,0x04,
- 0x88,0xc6,0xb9,0xa2, 0x77,0x60,0xf0,0x3d, 0x32,0x29,0xea,0x07, 0x0e,0x9f,0xda,0x55,
- 0xde,0x92,0x7d,0x0e, 0x87,0x0f,0x4a,0x14, 0x2d,0xef,0x55,0x92, 0x28,0xb6,0x95,0xa8,
- 0x13,0x80,0xbe,0x3b, 0x71,0x17,0xac,0xc4, 0x16,0x1f,0x2a,0x6d, 0x1c,0x93,0x3a,0x73,
- 0x82,0xa8,0x4b,0x6c, 0x7c,0x52,0x87,0xce, 0x9f,0xbd,0x5c,0xf5, 0x94,0xef,0xce,0x98,
- 0xbe,0x78,0x88,0xe9, 0xd4,0xc7,0xf7,0xa9, 0x36,0x3f,0xad,0xa3, 0x94,0x36,0xee,0x6f,
- 0xb9,0xeb,0x50,0xd2, 0xb3,0x76,0x5b,0xc6, 0xb6,0xf6,0xf5,0x7a, 0x8d,0x57,0x15,0xe7,
- 0xd2,0xf6,0x97,0x37, 0xc1,0xb6,0x16,0x4a, 0x9b,0x48,0xae,0x84, 0x09,0x91,0x13,0x5c,
- 0xa8,0x55,0xeb,0x89, 0xb1,0xdd,0x22,0xed, 0x5e,0x9e,0x05,0x20, 0x6c,0x25,0x4e,0x97,
- 0xd3,0xf5,0x09,0xb5, 0xa5,0xf4,0xb4,0x91, 0x93,0x35,0x10,0xe1, 0x5a,0xbd,0x5f,0xbd,
- 0xce,0xc5,0x06,0xe4, 0x2f,0x6a,0x4d,0x34, 0x6e,0x39,0x73,0xcf, 0x7f,0x4e,0x64,0xa8,
- 0xb1,0x84,0x76,0x6b, 0xef,0x4e,0xf5,0xe0, 0x22,0x4b,0xc8,0x30, 0x10,0xbd,0xa0,0xe4,
- 0x09,0x17,0x99,0x7e, 0x73,0xd1,0x79,0xa7, 0x61,0x82,0xfe,0xd1, 0xde,0x8d,0x12,0xdd,
- 0x0a,0x6e,0xf5,0x8e, 0xdb,0xd3,0x2e,0x51, 0x98,0x21,0x0b,0x9d, 0xd8,0x25,0xe5,0x4c,
- 0x7c,0xdf,0x36,0x41, 0xde,0xf9,0x54,0xb8, 0x94,0x80,0xed,0xa3, 0xf3,0x51,0xfd,0x97,
- 0xb6,0x72,0x5a,0x2f, 0x8b,0xdd,0xe6,0x40, 0xf7,0xbf,0x1c,0x94, 0xd1,0x9d,0xfe,0x2f,
- 0x57,0x6d,0x02,0x13, 0x10,0x0b,0xe7,0xc9, 0x18,0x25,0xf0,0x24, 0x08,0x8f,0x59,0x14,
- 0x8b,0xfa,0x27,0x54, 0x93,0x79,0xfe,0x0c, 0x56,0xa8,0xa6,0x08, 0x0f,0x4c,0xac,0xdb,
- 0x4a,0x20,0x05,0xf3, 0x41,0x2d,0x07,0x6e, 0x9e,0x82,0x2a,0x9f, 0x4c,0x52,0xc6,0x42,
- 0x2c,0xe2,0x89,0x2a, 0x05,0x3a,0xd1,0xa4, 0xdb,0x3d,0xa1,0x78, 0x64,0xaa,0x04,0xcb,
- 0xae,0x74,0x02,0x8f, 0x0d,0x0c,0xda,0xc4, 0xb8,0x56,0x25,0xc2, 0xce,0x8c,0xb0,0xcb,
- 0xf7,0xf4,0x1c,0xc1, 0x65,0x00,0xfb,0xd5, 0x7b,0x2d,0xb7,0x8a, 0x24,0x52,0x76,0xc4,
- 0x30,0x72,0x56,0xf0, 0x9d,0x26,0x4e,0x13, 0xf9,0x1d,0x09,0x85, 0x6b,0x16,0x10,0x29,
- 0x51,0xec,0x13,0xe0, 0xfe,0xd2,0x78,0x33, 0x10,0xe1,0xd1,0xa4, 0x25,0x61,0x2b,0xba,
- 0x4e,0x61,0x99,0x0f, 0x7d,0x40,0x79,0x25, 0x50,0x8d,0x4c,0x76, 0x49,0x6b,0x48,0x18,
- 0xaf,0x66,0x05,0xbf, 0xac,0xb8,0x9e,0xc5, 0x65,0xe8,0x81,0x84, 0xbd,0xd3,0xdf,0xde,
- 0x63,0x08,0x84,0x2f, 0xc2,0x4d,0xa2,0x6b, 0x7d,0x5a,0xa0,0x08, 0x3d,0x4e,0xc3,0x29,
- 0x1e,0x23,0x84,0x06, 0x59,0x80,0x49,0x25, 0xf2,0x13,0x37,0x81, 0x40,0x42,0x2e,0xaf,
- 0x5a,0x43,0x35,0x58, 0x45,0xf6,0x67,0xcf, 0x09,0xd6,0x8f,0x84, 0xf0,0x0f,0x4d,0x54,
- 0xd7,0xa8,0x37,0x33, 0x1d,0x96,0x22,0x60, 0x3e,0x0b,0x25,0xfe, 0xf2,0x48,0x4d,0xe9,
- 0xcc,0x2c,0x07,0x9e, 0x76,0xf7,0x1d,0xa4, 0xb1,0x36,0x91,0xd4, 0x25,0x85,0x3b,0x0c,
- 0xa1,0x29,0x61,0x2d, 0xc9,0x26,0x8c,0xe7, 0x9d,0xe6,0xea,0xc2, 0x8c,0x45,0x70,0x55,
- 0xb6,0xad,0x53,0x93, 0x12,0x03,0xd3,0x70, 0x64,0x23,0xf2,0x50, 0x9f,0xa1,0x6b,0xae,
- 0x74,0x69,0xc8,0xbf, 0x0e,0x3d,0x8a,0xb3, 0xaa,0x91,0x21,0x0f, 0xba,0x97,0x8a,0xf5,
- 0x50,0x8a,0x84,0x87, 0x55,0x14,0x49,0x07, 0x9e,0xea,0x28,0xa8, 0xc2,0x58,0x72,0xfc,
- 0x29,0x7d,0x8a,0xb5, 0x2a,0xe1,0xb9,0xe4, 0x3f,0x5a,0xd8,0xb5, 0xfc,0x63,0xb2,0x31,
- 0x10,0xad,0xa0,0x41, 0xe2,0x14,0x9d,0xbe, 0x30,0xe6,0x4a,0xfc, 0x0c,0x13,0xa7,0xb8,
- 0x92,0xcf,0x1c,0xcd, 0xe7,0xf6,0xec,0x89, 0x87,0xe6,0xb4,0x22, 0x01,0x8d,0xa1,0x7e,
- 0xc3,0xfc,0x4f,0xc7, 0xd9,0x77,0xfa,0x09, 0x73,0x58,0x19,0xd0, 0x91,0x55,0x7c,0xfc,
- 0x04,0xa8,0xff,0x32, 0x27,0x44,0x0b,0x9f, 0xda,0xaa,0xf0,0xf2, 0xe5,0xb7,0x2b,0x51,
- 0x55,0x2a,0xf2,0xb9, 0xac,0x66,0x87,0x0a, 0x14,0x07,0x5b,0xcd, 0xb6,0x20,0x2d,0x88,
- 0xff,0x3d,0x8a,0x85, 0x0d,0xce,0xf9,0xbb, 0xb3,0xc9,0x3c,0x9c, 0x09,0xfe,0x04,0x33,
- 0xab,0x19,0x1a,0xc8, 0xec,0xb3,0xdc,0x90, 0x1f,0x1d,0x11,0xd8, 0x9d,0x80,0xb8,0xe6,
- 0xfd,0x6b,0x18,0x1c, 0x07,0x64,0x82,0x11, 0xea,0xa6,0xe8,0x59, 0x58,0xe6,0x68,0x8a,
- 0xa5,0xaf,0xaf,0xa4, 0xbb,0x8d,0x2a,0xc6, 0x9e,0x32,0x32,0x75, 0x33,0xee,0x15,0x80,
- 0x5c,0x7c,0xaa,0x7e, 0x74,0x18,0x7f,0x8f, 0xa0,0xc5,0x7b,0x1c, 0xb5,0x9f,0x2f,0xf4,
- 0xcc,0xb2,0x64,0x67, 0x25,0x67,0xf8,0x6c, 0xa9,0x83,0x3d,0x6a, 0x7a,0xc7,0x43,0x93,
- 0xd9,0xd9,0xf9,0x95, 0x17,0x26,0x8e,0xb8, 0x97,0x40,0x1a,0x1a, 0x3a,0x2b,0x4a,0xf3,
- 0x83,0x7b,0x09,0xab, 0xfc,0x18,0xcd,0xe9, 0xc9,0x57,0xfa,0x1c, 0x9a,0x1a,0xbf,0x7c,
- 0xc1,0x6c,0xc3,0x50, 0x15,0x36,0xde,0xb0, 0x11,0x8e,0x26,0xaa, 0x36,0xfa,0x08,0x3e,
- 0xe0,0x88,0x3c,0x09, 0x2c,0xdd,0x50,0x5a, 0x1d,0xc3,0xd7,0xbf, 0xf6,0x90,0x73,0x33,
- 0xd0,0xa7,0x95,0xfd, 0x02,0xb8,0xb2,0x10, 0xc7,0x3e,0xfd,0xeb, 0x66,0x88,0x1c,0x46,
- 0x87,0x89,0xbe,0x0c, 0xad,0x9c,0xca,0xa9, 0xc7,0xeb,0x12,0x97, 0x03,0xf2,0x41,0x29,
- 0x4b,0x85,0x82,0x1c, 0xdf,0x43,0x82,0x9c, 0x3c,0xec,0x52,0x24, 0x90,0x86,0x78,0x5f,
- 0x9b,0x0c,0x84,0xdc, 0xeb,0xd5,0xc0,0x4b, 0xbc,0x29,0xf4,0x79, 0xf0,0x7f,0x88,0xaa,
- 0x21,0x87,0x87,0xa3, 0xb6,0xb2,0x20,0x8d, 0x69,0x02,0xcf,0x62, 0xd0,0x4b,0x0d,0xb9,
- 0xd0,0x27,0x8f,0xf0, 0x3d,0x54,0x09,0x8f, 0x2c,0x02,0x45,0x45, 0x41,0x00,0xc8,0x97,
- 0xf6,0x00,0xec,0xec, 0xcf,0x4a,0xc2,0xdf, 0xac,0x96,0xc4,0x39, 0x40,0x52,0x36,0x2b,
- 0x16,0xed,0x29,0xb9, 0xe9,0x85,0xb6,0x4a, 0x92,0xaf,0xfc,0x70, 0x33,0xe3,0x44,0x23,
- 0xa7,0x66,0xc9,0xb3, 0xbf,0x58,0x6d,0xc8, 0x17,0x65,0x76,0xe1, 0x93,0x5b,0xe4,0xa9,
- 0x9b,0xa6,0x2c,0x0d, 0x36,0x82,0x43,0xed, 0xa0,0xa3,0x55,0x1f, 0xfc,0x15,0xb6,0xa4,
- 0x0f,0x55,0xc6,0xc5, 0x16,0x63,0x06,0x83, 0xb5,0xad,0x53,0xe4, 0x50,0x4c,0x49,0x95,
- 0x5c,0x95,0xf0,0x0b, 0xc0,0x78,0x14,0xc5, 0x2f,0x34,0xdb,0x0b, 0xca,0x87,0xab,0x55,
- 0x5e,0x3d,0xb6,0x47, 0xee,0xf3,0xa0,0xcb, 0x74,0x77,0x5b,0xbe, 0x55,0x2c,0x3d,0xad,
- 0x9f,0x64,0x0d,0x52, 0x75,0x96,0x91,0xb0, 0x79,0x20,0x9c,0xfe, 0x5e,0x93,0x6a,0xa0,
- 0xe5,0xa6,0x7f,0x61, 0xcc,0x69,0xb2,0x80, 0xe4,0xf3,0xce,0x1d, 0x39,0xf8,0x4b,0x3e,
- 0x24,0xe9,0xe1,0xe7, 0xfa,0x6e,0x8f,0xfd, 0xe2,0x95,0x39,0x08, 0xea,0xe4,0x74,0x79,
- 0x1b,0x31,0xcd,0x10, 0x29,0x9b,0xb9,0xd5, 0x28,0xb6,0xf1,0x0f, 0x26,0x11,0x5f,0x1f,
- 0x4e,0xfd,0xed,0x9c, 0x15,0x3a,0x4a,0x4f, 0x55,0x0d,0x04,0xdd, 0x04,0x76,0x8f,0x75,
- 0x7d,0xad,0xb2,0x84, 0x01,0xc8,0x34,0x3e, 0xb6,0x37,0xdb,0x11, 0x6d,0xa8,0xdd,0x55,
- 0x10,0xcb,0x37,0x50, 0x0d,0xb0,0xe3,0x61, 0x37,0x6d,0xf4,0xc6, 0x40,0xd0,0x34,0x81,
- 0x42,0x53,0xc3,0x4c, 0x46,0xb2,0xbf,0x85, 0x7d,0x2d,0x38,0x05, 0xde,0xae,0x0a,0xe2,
- 0xbc,0x79,0x74,0x9b, 0xfa,0x96,0xc6,0x2d, 0xa8,0xe7,0xf0,0x4c, 0x6a,0xe3,0xdd,0x77,
- 0x58,0x9d,0xbf,0x7b, 0x74,0xb4,0x6a,0x2b, 0xee,0xe9,0x4f,0xf7, 0x7c,0xba,0x88,0x38,
- 0x8c,0xa1,0x92,0xd8, 0x84,0xdf,0x3e,0x48, 0xb9,0x9f,0x0d,0x6a, 0xec,0x15,0x3b,0x38,
- 0x8e,0xc8,0x48,0x53, 0x5a,0x9e,0xa0,0xfe, 0xd2,0x4b,0xd9,0x70, 0xfe,0x6d,0x94,0xbc,
- 0x74,0xce,0xe9,0x21, 0x43,0x9b,0xc0,0xd5, 0xd8,0xfe,0x15,0xc5, 0x24,0x66,0x64,0xb0,
- 0xc9,0xf0,0x9d,0x8e, 0xe1,0x37,0xd0,0x6e, 0x83,0x3a,0xfa,0x71, 0xd4,0x3c,0x0b,0xd6,
- 0xa2,0x47,0x38,0xf1, 0x09,0x38,0x49,0x86, 0x71,0x21,0x80,0x33, 0xba,0xa0,0x16,0x2a,
- 0x01,0xca,0xd9,0x21, 0x90,0xba,0x82,0x57, 0x70,0x06,0x97,0x6a, 0x1a,0x70,0x13,0xf9,
- 0xad,0x23,0x32,0x58, 0xbc,0x9e,0x09,0xe4, 0xa5,0xa4,0x19,0x9f, 0xc8,0xe8,0xb2,0x9d,
- 0x50,0x33,0x58,0x2a, 0x7b,0xc1,0xa3,0xff, 0x81,0xea,0x93,0xe3, 0xd1,0xac,0xf5,0x07,
- 0x98,0xfb,0xe0,0x33, 0x93,0x56,0x90,0xe9, 0xf7,0x99,0xde,0x67, 0xaf,0x79,0x80,0xb8,
- 0xc3,0x36,0xb3,0x50, 0x5e,0x29,0x1c,0x0c, 0x6a,0x26,0x02,0x73, 0x66,0x1b,0x2c,0xff,
- 0xc8,0x73,0x6b,0x59, 0xcd,0xfd,0x95,0x15, 0x64,0xb6,0x51,0xea, 0x3c,0x4f,0xe3,0xe7,
- 0x01,0xad,0x51,0x12, 0x77,0xc2,0x86,0x18, 0xf9,0x45,0x76,0x2f, 0xa6,0xac,0x1c,0x80,
- 0x38,0xa8,0xfa,0x08, 0xdd,0x3f,0xbf,0x5f, 0x3d,0xc3,0x7f,0x82, 0xa2,0x96,0x7a,0x04,
- 0x01,0xb4,0x13,0x5c, 0x6a,0x66,0x5c,0x1d, 0x61,0xc2,0xcf,0x80, 0xb4,0x85,0xe4,0x16,
- 0x8d,0xe3,0x2b,0xdb, 0x58,0x37,0xf8,0x40, 0xa0,0xfb,0x54,0xde, 0x27,0x92,0xcf,0x83,
- 0x53,0x1e,0x07,0x96, 0xcd,0xa2,0x43,0xb1, 0x70,0x84,0xb3,0xdf, 0x0a,0xe6,0xb7,0x5c,
- 0x3b,0x96,0xc1,0xe7, 0xf9,0x8b,0x14,0x29, 0x01,0xd4,0x9f,0x50, 0x65,0xf9,0x0d,0x94,
- 0xc8,0xc6,0x7f,0xb0, 0x27,0x2d,0x57,0x64, 0xe5,0x27,0xc2,0x1f, 0xd5,0xf3,0x25,0xd5,
- 0xd9,0x80,0x92,0x87, 0xea,0x88,0xb4,0x0e, 0xb1,0x19,0xaf,0x9b, 0x18,0x0d,0xa5,0x36,
- 0x2b,0x96,0x74,0x0b, 0x4a,0xa7,0xaf,0xd3, 0xca,0x8e,0xb9,0x96, 0xa8,0xee,0x24,0x5d,
- 0x73,0x74,0x00,0xd4, 0xee,0x39,0x06,0x7b, 0xec,0x5b,0x0b,0x64, 0x55,0x18,0x5b,0xa0,
- 0x67,0x78,0x85,0xf6, 0x70,0x33,0x69,0xd9, 0x59,0x32,0x4f,0x35, 0x86,0x0c,0xbf,0x19,
- 0x1a,0x1c,0x22,0x84, 0xce,0xa4,0x36,0x27, 0xe1,0x3c,0x9e,0x62, 0x06,0x18,0x68,0x17,
- 0xdf,0x5e,0xeb,0x2d, 0x1f,0x02,0xcc,0x52, 0x97,0x54,0xe8,0xc7, 0x33,0x0c,0x65,0x20,
- 0x6c,0xe0,0xbc,0x50, 0x87,0x4c,0xf8,0xd6, 0x0c,0x4a,0xbd,0xba, 0x5b,0x0c,0x94,0x0e,
- 0x4d,0x45,0xde,0x34, 0xf7,0x7f,0x05,0x47, 0xca,0xb3,0x81,0xdb, 0xfd,0x69,0x62,0x12,
- 0xa1,0xb3,0xe2,0xe2, 0x00,0xb8,0xbd,0x8e, 0x4e,0x80,0x22,0xaa, 0xac,0x6f,0x7c,0x13,
- 0xc7,0x2f,0x5a,0x04, 0x80,0xc9,0x05,0x5a, 0xd9,0x5b,0x13,0xa0, 0x8d,0xd7,0xc8,0x0d,
- 0x98,0x79,0x44,0xe4, 0xd9,0x6a,0x73,0xca, 0x50,0x6e,0xfb,0x38, 0x7d,0x9c,0xee,0x35,
- 0x29,0x9c,0xad,0x2a, 0x88,0xdb,0x94,0x96, 0x5d,0x91,0xb7,0x1a, 0x23,0xc0,0x81,0x98,
- 0xe7,0x0c,0x05,0x90, 0x78,0xf0,0xf8,0xf3, 0x54,0x46,0x26,0x9b, 0x88,0x94,0xa4,0x8c,
- 0x95,0xd6,0xd4,0x0f, 0x9b,0xb5,0xb9,0xe6, 0xf8,0xb4,0xe2,0x74, 0xc8,0xb4,0x48,0x0a,
- 0x61,0x99,0xba,0xc6, 0x29,0x41,0x82,0x38, 0x45,0x9a,0xc8,0x10, 0x3c,0xfc,0x7e,0x4c,
- 0x96,0x67,0x72,0xdc, 0x8e,0x54,0xe7,0xa1, 0xf1,0x84,0x24,0x6b, 0x4a,0xda,0x92,0x54,
- 0xa6,0x27,0xa7,0x06, 0x30,0xd6,0xa2,0x73, 0xda,0x3a,0x8f,0xb5, 0x21,0x8f,0x3f,0x77,
- 0x10,0xb6,0xe2,0x48, 0x87,0x4e,0xa6,0xab, 0xad,0x42,0x5d,0xa6, 0x4b,0x30,0x7a,0x35,
- 0x11,0xa4,0xb7,0x02, 0x0b,0xeb,0xcb,0x68, 0xd1,0xbb,0x4f,0xce, 0x16,0xd1,0x28,0xd6,
- 0x7e,0xdf,0xad,0xdd, 0x8d,0x6e,0x90,0x09, 0xf5,0x31,0x34,0xf7, 0xa3,0xe3,0xb5,0x83,
- 0x08,0x27,0x9b,0x81, 0x70,0x78,0xc2,0x58, 0x5b,0x07,0x9d,0x35, 0xeb,0x84,0x58,0x70,
- 0x55,0x18,0xa5,0x94, 0x24,0x18,0x65,0x34, 0xe3,0x8a,0xeb,0x28, 0xab,0xc2,0x72,0xab,
- 0x78,0x42,0x15,0xd3, 0x15,0x62,0xa3,0x7e, 0x58,0x67,0x3a,0x07, 0x16,0x55,0xd6,0xa1,
- 0xde,0xd5,0xdd,0x14, 0x9b,0x28,0xc9,0x76, 0x5a,0x8f,0xd7,0xc8, 0x76,0x9a,0xd9,0xcf,
- 0xc1,0x56,0x14,0x47, 0x3c,0xbe,0xb8,0xae, 0xd9,0x01,0xa9,0x86, 0xa9,0xe5,0x28,0x63,
- 0x16,0x42,0x94,0xf6, 0x9f,0x2d,0x19,0xa8, 0x4b,0x1f,0xe6,0xa7, 0x9b,0x84,0xdc,0xeb,
- 0x60,0xec,0xc2,0x46, 0x12,0x50,0x9a,0x91, 0x37,0x3e,0xcd,0xa0, 0x91,0x8f,0x7e,0x50,
- 0x95,0xec,0x90,0xf8, 0x3f,0x7b,0x2a,0x37, 0xa0,0x4e,0x5f,0xbe, 0x44,0x8e,0x01,0x3d,
- 0x50,0x47,0x15,0xb1, 0x98,0x8c,0x13,0x16, 0xbe,0x0a,0xdb,0xcf, 0x19,0x96,0x59,0x17,
- 0x69,0x1c,0xc5,0x62, 0x51,0x42,0x9b,0x77, 0x42,0xf5,0xdf,0xd9, 0x26,0x45,0x80,0x20,
- 0x01,0x70,0x2f,0xba, 0x90,0x1d,0x57,0xdf, 0x8a,0x67,0x6a,0x7a, 0x24,0xa0,0x7f,0x2e,
- 0xdd,0x19,0x72,0xac, 0xbc,0x28,0x9b,0xe2, 0x26,0xb2,0x20,0xf5, 0x63,0x77,0x1a,0xcc,
- 0xa0,0x25,0x32,0x54, 0x2f,0x68,0x91,0x94, 0x8e,0xc9,0x54,0xc5, 0xa9,0xfa,0xa3,0x4e,
- 0x11,0xbc,0x78,0x2e, 0x9b,0x04,0x11,0x8b, 0x6d,0x3b,0x24,0x1c, 0xd5,0xf9,0x72,0xa1,
- 0xa4,0x5f,0x9b,0x86, 0xce,0x30,0x13,0x11, 0xbc,0x40,0xb9,0xac, 0x98,0x2b,0x05,0x82,
- 0x73,0x77,0x22,0x1a, 0x85,0x1b,0x5b,0x8b, 0xed,0x19,0x06,0x08, 0xef,0xfa,0x31,0x8a,
- 0x42,0xe4,0x51,0x08, 0x06,0x28,0x25,0x4e, 0x50,0x0a,0xe8,0xa1, 0x8d,0xcb,0xe0,0xa6,
- 0xce,0x11,0xb7,0x62, 0x60,0x28,0xd0,0xfb, 0xb1,0x43,0x2d,0x97, 0x6e,0x6f,0x38,0x0d,
- 0xba,0x93,0x73,0xc5, 0x8f,0x64,0x6d,0xd4, 0xe4,0xec,0xf2,0x2b, 0xc3,0x79,0x94,0xac,
- 0xea,0xa7,0x98,0x3c, 0xbc,0x77,0x7f,0x93, 0x65,0xaf,0xec,0x60, 0x7f,0x84,0xa1,0xea,
- 0x16,0x7f,0x97,0xb1, 0x7f,0xe7,0xd8,0x34, 0x27,0x7c,0xe1,0x1b, 0x75,0xb6,0x78,0xf0,
- 0x9b,0x2c,0xdf,0x68, 0x85,0x6d,0x5d,0xe2, 0x0c,0x23,0xf4,0x3b, 0xc4,0x17,0x2a,0x7a,
- 0x91,0x0d,0xf6,0x2a, 0xe3,0x0d,0xb9,0xc3, 0x8f,0x10,0x26,0xb9, 0x1f,0x5e,0x6d,0x8b,
- 0xec,0x46,0x30,0x1c, 0x0c,0x8f,0x46,0x2e, 0xde,0x55,0x1d,0xb4, 0x62,0xc4,0x81,0x7c,
- 0x84,0x83,0xfc,0x98, 0x32,0xd4,0xba,0x21, 0x93,0x76,0x11,0xa3, 0x76,0xcd,0x98,0x69,
- 0xb4,0x03,0x8f,0x03, 0xc6,0xb4,0x2c,0xdc, 0x18,0x42,0x0e,0x5a, 0xde,0x1a,0x01,0x5c,
- 0xe1,0x66,0x5a,0xfb, 0x81,0xaf,0x49,0x6b, 0xf2,0x12,0xdf,0x8a, 0x75,0x28,0x32,0xe7,
- 0xed,0x35,0x8d,0xc9, 0x83,0x12,0xcc,0xeb, 0xb8,0x5e,0x51,0xa1, 0x95,0x97,0x11,0x2a,
- 0x0f,0xe6,0xbe,0x98, 0x2b,0x25,0x84,0x80, 0xf7,0x7c,0xa2,0xab, 0xc1,0x78,0x35,0x34,
- 0x7d,0x9c,0xbb,0x4c, 0xc7,0x32,0x75,0x4c, 0x89,0x36,0x3f,0x68, 0xc4,0xb5,0x63,0x93,
- 0x80,0x80,0x1e,0x59, 0x49,0x62,0x8a,0x6a, 0x19,0xd4,0x61,0xb3, 0x9a,0xe9,0xbd,0xb1,
- 0x4b,0x15,0x57,0xd3, 0xdb,0x6c,0x8b,0xeb, 0x09,0xfa,0xe8,0x44, 0xba,0x88,0xc9,0x87,
- 0x2a,0x65,0xbf,0xeb, 0x51,0x39,0xad,0xfe, 0x5c,0x5a,0x1d,0x52, 0xa5,0xa0,0xa7,0x84,
- 0x97,0x16,0xc5,0x6e, 0x2b,0xd9,0xe6,0x03, 0x9b,0x8f,0x06,0x54, 0x3d,0xd0,0x2a,0x65,
- 0xe2,0xb6,0x63,0xc2, 0xb2,0x42,0x51,0x5e, 0xb3,0xad,0x49,0x53, 0xa7,0x8f,0xbf,0x9e,
- 0xe3,0xea,0x60,0x4e, 0xbe,0xe5,0xed,0xaf, 0xb8,0xd0,0x66,0xec, 0xba,0xd5,0x15,0x1a,
- 0xb9,0xc1,0xc0,0x13, 0xc4,0x87,0x7b,0xe0, 0x67,0x82,0xcc,0xfa, 0xcb,0x97,0xd2,0x8b,
- 0x8d,0xda,0x49,0xdd, 0x9e,0x71,0x7c,0xe4, 0x31,0x20,0x7b,0x15, 0x63,0x5d,0xda,0xcb,
- 0x5a,0xfb,0xc3,0xef, 0x67,0x76,0xcf,0x3b, 0xb2,0x93,0xf3,0x25, 0xd2,0x7e,0x18,0xd6,
- 0x95,0x2d,0xcd,0x76, 0xc7,0x13,0x7b,0x18, 0xd2,0x72,0x00,0x06, 0xc8,0x7a,0x20,0xe3,
- 0xa0,0x0c,0x40,0x9d, 0xb9,0x70,0x5a,0xc7, 0x42,0x1e,0x1a,0x5e, 0x3b,0xbf,0xd4,0xa2,
- 0xc0,0xb0,0x68,0x49, 0xc5,0x25,0x47,0xcd, 0xeb,0x6d,0x98,0xcb, 0xf1,0xb2,0xba,0x91,
- 0x8c,0xdd,0x32,0xd7, 0xd0,0x0c,0x27,0xe2, 0x1f,0x02,0xc2,0x1b, 0x2a,0x3a,0xc1,0x44,
- 0x08,0x73,0xa0,0x3b, 0x53,0x01,0xd4,0x72, 0x07,0xb0,0x8f,0xac, 0x9e,0xee,0xde,0x4b,
- 0xc5,0x96,0x21,0xd6, 0xbc,0x57,0x45,0x97, 0x67,0x69,0xc7,0x76, 0x23,0x36,0xc6,0xe9,
- 0xb4,0x79,0x1e,0xf0, 0x13,0xc6,0x61,0x10, 0x8a,0xeb,0xac,0x9d, 0x67,0xc8,0xba,0x26,
- 0x56,0x5c,0xe3,0xdc, 0x39,0xa1,0x0d,0xd5, 0xd2,0xc2,0xce,0xdb, 0x32,0x66,0xf2,0xd4,
- 0x55,0x91,0x4a,0xf4, 0xef,0x58,0x9a,0x09, 0x52,0x32,0xca,0x87, 0x2b,0xd3,0xd1,0x1a,
- 0xbe,0xfe,0x8f,0x0c, 0xbb,0x8a,0xe9,0xb4, 0x7d,0x28,0x02,0x50, 0x3d,0x07,0x65,0x66,
- 0x1e,0x1a,0xc1,0x6d, 0x0c,0x1b,0xcc,0x71, 0xa2,0x56,0xcb,0xdf, 0x86,0x37,0x37,0xb1,
- 0x2c,0xf0,0x8c,0x54, 0xac,0x10,0xfa,0x79, 0x22,0xf3,0xb6,0x1e, 0xc0,0x6c,0x23,0x12,
- 0x64,0x54,0xec,0x2c, 0xbd,0x36,0x9f,0xea, 0xa2,0xec,0x08,0x9e, 0x41,0x9d,0xf5,0x90,
- 0x4b,0x88,0xaf,0xcd, 0x65,0xcb,0x73,0xaf, 0x45,0x85,0x55,0xb2, 0xa8,0x5b,0x28,0xe3,
- 0x67,0x37,0xe2,0xec, 0x80,0x48,0xd6,0x42, 0xe8,0xc2,0xa5,0x47, 0xa3,0xbc,0x56,0x0a,
- 0xec,0xcd,0x35,0xbf, 0x83,0x31,0x46,0xe2, 0x03,0xff,0x10,0xbe, 0xf4,0xb8,0x47,0xb2,
- 0xf6,0xca,0xa0,0xf3, 0xf3,0xdb,0x54,0xd6, 0x2e,0xdf,0x25,0x34, 0xf3,0x16,0xd5,0x1f,
- 0xeb,0xa5,0x96,0xfb, 0x5b,0x4b,0x13,0x38, 0x5d,0x00,0xa6,0x37, 0xd1,0xbe,0xfb,0x15,
- 0xd5,0x25,0x71,0xd4, 0xa6,0xa7,0xac,0x39, 0x79,0x23,0x7d,0xbe, 0xb0,0xf2,0x0f,0x22,
- 0x2a,0x55,0xb1,0x20, 0x7e,0x56,0xc3,0xc8, 0xa1,0x76,0xa9,0xed, 0xcd,0xe2,0xe8,0x60,
- 0x82,0x20,0xe8,0x9d, 0xd8,0xe3,0xa2,0xe3, 0x75,0x6f,0x6f,0x92, 0x64,0xe4,0xa5,0x6b,
- 0xff,0x17,0x81,0x0c, 0x54,0x29,0x0e,0x2e, 0x8a,0x72,0x82,0x06, 0xb3,0xd5,0x02,0x4e,
- 0xf8,0x87,0x91,0x08, 0xfa,0x52,0x87,0x5f, 0xf6,0x7c,0x66,0xae, 0xf6,0xc1,0x6d,0x86,
- 0xf4,0x41,0x19,0xc4, 0x2a,0x80,0x8a,0xb7, 0xa1,0x9d,0x6d,0xfd, 0xcd,0x1c,0xf3,0xb5,
- 0xee,0x89,0x53,0xbc, 0xe2,0x38,0xf8,0x03, 0x2d,0x7a,0x6d,0x7d, 0xe7,0x7a,0x77,0x68,
- 0x99,0x78,0x87,0xc3, 0x8f,0x3a,0xee,0x58, 0x07,0x18,0xf1,0xb6, 0x91,0x38,0xd1,0xe4,
- 0x7c,0x69,0x28,0xb3, 0x9d,0x9a,0x4c,0x95, 0x72,0xac,0xf4,0x0f, 0x58,0xe9,0xf6,0xa6,
- 0x85,0xbf,0xf5,0xa2, 0xc4,0x41,0x6a,0x2e, 0x94,0x1d,0xbc,0xde, 0x10,0x82,0xed,0xe0,
- 0xd7,0xb9,0xd5,0x08, 0xfd,0x5f,0xc5,0x99, 0x57,0xe2,0x01,0x51, 0xd1,0x96,0x88,0x01,
- 0x79,0x83,0x4d,0xee, 0xba,0x1f,0x2d,0x12, 0xf4,0xfc,0xb8,0xf2, 0x6d,0xa5,0xd2,0xc3,
- 0xc7,0xc3,0xf5,0x69, 0x2e,0xfc,0xbd,0x54, 0xdc,0x2e,0x32,0xd4, 0x9a,0xba,0x88,0x74,
- 0x49,0xbe,0x0b,0x16, 0xda,0xa2,0xb3,0xe5, 0xf2,0xb9,0x49,0x21, 0x51,0x84,0xda,0x79,
- 0xc7,0x38,0x3a,0x75, 0x70,0x0f,0x00,0x73, 0x3e,0x4f,0x79,0x2e, 0xeb,0x40,0x1e,0x82,
- 0x9e,0x59,0x47,0x76, 0xff,0x5b,0xc7,0xb2, 0x67,0xc8,0x15,0x4a, 0x78,0xad,0xe6,0x4f,
- 0x44,0xd7,0xfc,0x5e, 0xeb,0x70,0x46,0x61, 0xc2,0x69,0x98,0x12, 0xe9,0x18,0xbf,0x62,
- 0xbc,0x07,0xff,0xff, 0x44,0xa2,0x03,0x00,
- // 0x6c78 = 27768 data bytes ( 9%)
+ 0x03,0x5f,0xec,0x2d, 0x79,0x3b,0xf7,0xe1, 0x70,0xfc,0x69,0xc9, 0x37,0x7b,0x0e,0xc1,
+ 0x4f,0x69,0x9a,0xe8, 0x91,0xb0,0x29,0x77, 0x82,0xfb,0x02,0xb3, 0x76,0xce,0x96,0x46,
+ 0x76,0x74,0x50,0xfe, 0x46,0xf7,0xab,0x01, 0x15,0x14,0x46,0x1a, 0xe6,0xf0,0xc2,0x70,
+ 0xab,0xf9,0x5e,0xe7, 0xaa,0xfb,0x93,0xa9, 0xa1,0x6b,0x3b,0x54, 0xc6,0x70,0x13,0x01,
+ 0x98,0xe8,0xa4,0x5f, 0x5a,0x08,0x3f,0x3d, 0x53,0x70,0x43,0x7b, 0xac,0x15,0x24,0x68,
+ 0x2e,0x5e,0x4b,0x0b, 0x0b,0xdd,0xa4,0x9e, 0xba,0xa8,0xae,0x13, 0x90,0xb4,0x9c,0xa1,
+ 0x4c,0xd2,0xb1,0x8d, 0x9e,0x1e,0x88,0x7f, 0x45,0xc2,0xfe,0xc3, 0xe1,0xbd,0x83,0xbb,
+ 0xf4,0x9a,0x3c,0xbf, 0x07,0x26,0x5d,0xe2, 0xe7,0xe1,0x9d,0x16, 0xb0,0x8d,0xca,0xd7,
+ 0x55,0x16,0x59,0x71, 0xfa,0x84,0x4e,0xb0, 0x9b,0xb5,0x2c,0x85, 0x9a,0x39,0x95,0x5c,
+ 0xae,0x60,0x34,0x8a, 0x6e,0xf7,0x02,0x04, 0xbd,0x46,0x22,0x50, 0x6b,0xf7,0x27,0x5b,
+ 0xf3,0xe5,0x90,0xe5, 0x73,0xcf,0x5d,0x19, 0x92,0xf1,0x60,0x08, 0xc2,0x5f,0xb3,0xe6,
+ 0x14,0x0d,0x28,0xf0, 0x1f,0xbf,0xd1,0x50, 0x3a,0x1b,0xb4,0xa7, 0x9f,0xbb,0xf3,0x95,
+ 0x2c,0xef,0x3b,0x65, 0x7e,0x4a,0xc7,0xde, 0x89,0x87,0x30,0xbb, 0x0e,0x31,0xb4,0xa5,
+ 0xae,0xf6,0x5e,0x14, 0xd7,0xcb,0x24,0xb6, 0xc7,0x4c,0xe3,0x54, 0x9a,0xb0,0x6d,0xcc,
+ 0x81,0x40,0xd3,0xc0, 0x9b,0xf1,0xcb,0x8c, 0xcf,0x47,0x53,0x6d, 0x48,0x35,0xe8,0x51,
+ 0x85,0x1c,0x1b,0x39, 0xbe,0xe2,0xb2,0x12, 0x48,0xcd,0x2f,0x16, 0x57,0x38,0xd8,0xff,
+ 0x3c,0x45,0x67,0x86, 0x3f,0xc8,0x24,0x0a, 0xdc,0x17,0x54,0xeb, 0x9d,0xb6,0x26,0x67,
+ 0x99,0xaa,0x9d,0x44, 0xad,0x1a,0x2d,0x2a, 0x5e,0x78,0x30,0x81, 0xb0,0x22,0x96,0x32,
+ 0xf9,0xac,0x97,0x67, 0xb1,0x18,0xb6,0x22, 0x30,0x83,0x07,0xc8, 0xfb,0xc0,0x3b,0x23,
+ 0x2e,0x32,0xcb,0xb7, 0x48,0x9d,0x36,0x17, 0x12,0x8d,0xc7,0xc2, 0x96,0xb0,0x38,0xc6,
+ 0x6a,0xbb,0x1c,0x63, 0x2f,0xf0,0x54,0xee, 0x4b,0xc7,0x9c,0x6c, 0xc6,0x00,0xd8,0x91,
+ 0x27,0x80,0xfc,0x46, 0xd7,0xcb,0x14,0xeb, 0xdc,0xd1,0xb7,0x91, 0x17,0xc6,0x0b,0x12,
+ 0x41,0x65,0x0a,0x63, 0xa7,0xbc,0xb3,0x74, 0x9d,0x74,0x4e,0x5d, 0x8f,0x3a,0x97,0xc3,
+ 0x36,0xac,0x14,0xeb, 0x00,0xa4,0x4d,0x61, 0x9b,0xb8,0x07,0xae, 0x55,0x0b,0x4c,0x7d,
+ 0x1b,0xdd,0xbe,0xdb, 0xcc,0xec,0x7c,0x4a, 0x55,0x81,0xa8,0x70, 0x1c,0x97,0xdd,0x1b,
+ 0xd7,0xd7,0x8e,0xca, 0x65,0x3e,0x52,0x42, 0x27,0xcb,0xf1,0x1a, 0xcb,0xd0,0x9c,0x53,
+ 0xab,0x16,0x95,0x44, 0xd4,0x44,0x91,0x66, 0xf8,0x8c,0x63,0x80, 0xa9,0x63,0xa4,0xa0,
+ 0xe9,0xd8,0x47,0x0e, 0xaf,0x45,0xf7,0x32, 0x22,0xd2,0x49,0xf4, 0x03,0x2c,0x25,0x91,
+ 0x9c,0x26,0x73,0x7d, 0xad,0x8a,0x16,0x98, 0x06,0x14,0x43,0x83, 0x49,0xde,0x76,0x44,
+ 0x47,0xa4,0xe9,0x26, 0xc3,0x87,0x79,0x6c, 0x54,0x08,0xb7,0x2d, 0xe3,0xd4,0x5b,0x3e,
+ 0xec,0xd3,0x86,0x94, 0xbb,0x1e,0x00,0xcb, 0x95,0x50,0x82,0x9a, 0x31,0x05,0xe3,0x66,
+ 0xad,0x1f,0x2d,0x25, 0xb0,0x32,0x4d,0x76, 0x9e,0x16,0xa2,0x6a, 0x1d,0xae,0x35,0x81,
+ 0x33,0xee,0x0f,0x54, 0xc4,0x68,0xa9,0x2f, 0xd9,0x46,0x36,0xe5, 0x6c,0x40,0x56,0xb9,
+ 0x99,0x4e,0x89,0x43, 0xdc,0x69,0x9f,0xe8, 0x06,0x28,0x28,0x99, 0xb4,0x3b,0x92,0xd5,
+ 0xc7,0x59,0x05,0x52, 0x3f,0xe1,0x27,0x6a, 0x1d,0x14,0x00,0xef, 0x6b,0xd5,0xb5,0xfe,
+ 0x17,0x0b,0xff,0xe5, 0xe9,0x9b,0xa8,0x4a, 0xde,0xc8,0x9b,0xbf, 0x9a,0x40,0x20,0xa0,
+ 0xc1,0xde,0x73,0x30, 0xf2,0xcc,0x1c,0xaf, 0x9a,0xc8,0xa7,0x15, 0x68,0xcf,0xaf,0xef,
+ 0xc0,0x14,0xe8,0x33, 0x73,0x9b,0x91,0x92, 0xf8,0x3a,0xea,0x08, 0xe1,0x64,0x12,0xc5,
+ 0xfe,0x03,0x52,0xe4, 0xcb,0xaa,0x4e,0x94, 0x8a,0x31,0x19,0xf7, 0xf9,0x59,0xa0,0x6e,
+ 0xf8,0x4f,0xb9,0x44, 0xb2,0x54,0x56,0xe9, 0x13,0xd3,0xb3,0x55, 0x55,0xbc,0xe6,0xe6,
+ 0x90,0x0c,0xb4,0x16, 0x2c,0xe8,0x57,0x42, 0xdc,0xd1,0x2f,0x21, 0x5e,0x1a,0xba,0x70,
+ 0x76,0x24,0xc3,0x2b, 0x46,0x15,0x9b,0xcc, 0xbb,0x6d,0x7c,0xd8, 0xd6,0x25,0xba,0x63,
+ 0x6e,0xab,0x3d,0x31, 0xcb,0xf8,0x6f,0x12, 0x8a,0xb3,0x6e,0xbd, 0xc6,0xd6,0x9b,0xbd,
+ 0x13,0x1e,0xf2,0xf9, 0x7c,0x44,0x72,0x6f, 0x49,0xeb,0x69,0xf9, 0x1b,0x50,0x91,0xc2,
+ 0x21,0xb1,0x01,0x2c, 0xcd,0x8b,0x22,0xaa, 0x61,0x36,0xdd,0x21, 0xaf,0xa3,0xad,0xe3,
+ 0x4f,0x0b,0xb4,0x73, 0x57,0xa3,0x4e,0x0c, 0x56,0x7b,0xfe,0x0e, 0x7d,0xbf,0xd9,0xe1,
+ 0x37,0x89,0xf9,0xcb, 0xe1,0x61,0x87,0xcc, 0x6a,0xbd,0x52,0xca, 0x63,0x9e,0xed,0x8e,
+ 0x27,0x69,0x9e,0x3a, 0x88,0xcb,0x55,0xc6, 0xe9,0x15,0x10,0x8d, 0xdf,0xd0,0x13,0x77,
+ 0x8d,0x78,0x6d,0x87, 0xd8,0x4f,0x3f,0x51, 0x07,0xe3,0xec,0xa5, 0x5a,0xba,0x48,0x70,
+ 0x50,0xfd,0xca,0xe1, 0xf0,0xf7,0x5b,0xed, 0x91,0xc5,0x0b,0x38, 0x2c,0xac,0x47,0x63,
+ 0x6e,0x7d,0x86,0xa6, 0x6c,0x7f,0x95,0xa7, 0x08,0x7f,0xc4,0x42, 0x60,0xed,0x65,0x57,
+ 0xc6,0x3b,0xc9,0xb5, 0x93,0x6b,0x15,0x39, 0xda,0x9e,0x95,0x9b, 0x5c,0x2b,0x73,0xae,
+ 0x5b,0x16,0xff,0x2f, 0x02,0x66,0x74,0xa4, 0x34,0x64,0x62,0xa6, 0x71,0x3b,0xe7,0xaf,
+ 0xff,0x45,0xa7,0x45, 0x42,0x08,0x9b,0xd9, 0xa5,0xc5,0x99,0xed, 0x5b,0xfc,0xa2,0xa9,
+ 0xf0,0x90,0x54,0x35, 0x60,0x55,0x25,0x1d, 0xca,0x19,0x1b,0xf7, 0xb7,0xc2,0xc1,0x4d,
+ 0x62,0x34,0x51,0xdd, 0xe2,0xbc,0xdc,0x56, 0xe8,0xba,0x97,0xf8, 0xe1,0x25,0xdf,0x6b,
+ 0x8d,0xd5,0xe2,0x8d, 0x17,0xb9,0x4a,0xb5, 0xf9,0x44,0xe9,0xf2, 0x2d,0xe5,0x6a,0xfc,
+ 0x9e,0xf6,0x2d,0xa0, 0x37,0x20,0x7d,0x22, 0x42,0xfd,0x7c,0x75, 0xae,0xe6,0x30,0x32,
+ 0x02,0xb6,0x74,0x3f, 0x62,0xce,0x49,0xb9, 0x53,0x3c,0x65,0xe3, 0xd0,0xc4,0x98,0xed,
+ 0xec,0x3b,0x97,0x88, 0xf2,0xcc,0x34,0xea, 0xd0,0xbb,0x90,0xbd, 0xbb,0x71,0x98,0xac,
+ 0xda,0xfe,0x49,0xc6, 0x4e,0xf3,0x08,0x98, 0x53,0xfc,0xfd,0x92, 0x58,0xc7,0xa8,0x89,
+ 0x86,0xb5,0x21,0x2d, 0x93,0x20,0xdc,0x6d, 0x1d,0xde,0x97,0xec, 0xd6,0x1d,0xf1,0x22,
+ 0x98,0xaa,0x85,0x33, 0x50,0xa8,0x47,0x7e, 0x68,0x79,0x7e,0x96, 0x12,0xb1,0x9f,0xc3,
+ 0xb9,0xb0,0xd5,0x64, 0xe3,0x38,0xd7,0x3e, 0xe1,0x8f,0x27,0xcf, 0xa5,0xef,0xbd,0x2b,
+ 0x77,0x2f,0x60,0x11, 0x99,0xf5,0xbc,0x31, 0xf1,0x84,0x2c,0x05, 0x02,0xe0,0x11,0xa9,
+ 0x29,0xa7,0x9f,0x4f, 0xa1,0x5d,0xf4,0x8e, 0x77,0x5e,0x59,0x34, 0x45,0xc1,0x5c,0xf3,
+ 0x57,0x92,0x93,0x1a, 0x2c,0x54,0x44,0xb3, 0xdb,0x72,0x06,0x44, 0xf3,0x8a,0x7c,0x9f,
+ 0x9c,0xa7,0xf3,0x13, 0x8c,0xc9,0x6d,0x72, 0x21,0xf1,0xd9,0x90, 0x36,0x4e,0xe3,0x2e,
+ 0xc4,0x7f,0x2f,0x9b, 0x8f,0x28,0xcb,0xf4, 0x7b,0x61,0xae,0x36, 0x79,0xbe,0x0b,0x7e,
+ 0xd8,0x66,0x35,0xfc, 0x10,0xd0,0x12,0x1e, 0x08,0xa2,0x3e,0x51, 0xc2,0x8c,0x21,0x06,
+ 0xaf,0x29,0xfe,0xb7, 0xa9,0xa8,0xd9,0xb5, 0x71,0x44,0x7d,0xb7, 0x66,0x9d,0xd1,0xa9,
+ 0xb3,0xa4,0x2e,0xf8, 0xf3,0x5f,0xbb,0x8a, 0xf4,0x46,0x70,0x89, 0x51,0x00,0xb7,0xc8,
+ 0xb1,0xe7,0x70,0x5d, 0xc0,0x9a,0xe4,0x3c, 0xad,0x3f,0xc3,0xc9, 0x1a,0x3b,0xd9,0x02,
+ 0x63,0x02,0x7e,0x2e, 0xd1,0x0f,0xac,0xd4, 0x46,0xd2,0x47,0xf1, 0xeb,0x39,0x9f,0xe4,
+ 0x5c,0xf3,0x94,0xea, 0x05,0xdc,0x11,0xe2, 0x39,0x68,0x8a,0xe4, 0xab,0x37,0xbb,0xf6,
+ 0xf7,0x08,0x8a,0xe0, 0x85,0xb4,0x25,0x41, 0xc1,0x50,0x87,0x65, 0x5d,0xca,0xa9,0x81,
+ 0xec,0xb9,0xa1,0x6d, 0x1b,0x77,0xcd,0xf1, 0xc3,0x1e,0x02,0xfc, 0x94,0x0f,0xfd,0x52,
+ 0x9b,0xdf,0x40,0x90, 0x26,0xcf,0x94,0x47, 0x2c,0x3e,0x4c,0xd6, 0x4a,0xe9,0xbf,0x37,
+ 0xac,0x75,0xa4,0xf4, 0x0f,0xf4,0xfb,0x30, 0xb8,0x85,0x0f,0x3f, 0xc1,0x4e,0xac,0xb7,
+ 0x98,0xd4,0xd5,0x45, 0x04,0x86,0x86,0xa8, 0xd6,0xb9,0xdd,0x8a, 0x38,0xb0,0x6c,0x69,
+ 0x16,0x19,0x9d,0x8b, 0x73,0xd4,0xd1,0x4f, 0x24,0x18,0x11,0x38, 0x25,0xda,0x7b,0x88,
+ 0x0d,0x0e,0x90,0xd4, 0xbc,0xc2,0xcc,0x9a, 0x4c,0xed,0xf8,0x9a, 0x0b,0x85,0x25,0x98,
+ 0x5c,0xc9,0xc7,0x51, 0x7c,0xd5,0xb2,0x99, 0xaa,0xa8,0x39,0x27, 0xc5,0xd9,0xa2,0xbc,
+ 0xa8,0xef,0x3f,0xa1, 0xd9,0xac,0x0f,0xd9, 0x40,0xd5,0x36,0x52, 0x81,0xb4,0xb0,0x1c,
+ 0x66,0xd4,0x81,0x8f, 0x75,0xc9,0xbc,0xef, 0xe6,0xc5,0xb6,0x8f, 0x67,0x9a,0x3c,0xc0,
+ 0x12,0x5d,0x58,0x10, 0x90,0xf5,0x24,0x24, 0xd1,0x16,0x5e,0x98, 0x7a,0x3a,0x17,0x43,
+ 0x4b,0xe8,0xf7,0x95, 0xfd,0xbd,0x68,0x79, 0x68,0xe5,0x09,0xa8, 0x8d,0x30,0x6b,0x90,
+ 0x1f,0xb5,0x59,0xd3, 0x3b,0x50,0x88,0xed, 0x8e,0xe2,0x81,0xef, 0xbd,0x4e,0xcb,0xa6,
+ 0x3e,0xbd,0x4a,0x44, 0xa1,0x29,0x1d,0xc4, 0x86,0x91,0xff,0x52, 0xf3,0xdd,0x16,0x9b,
+ 0xb7,0xaa,0xa8,0x53, 0x2e,0x89,0xfb,0x15, 0x57,0xde,0x74,0xfd, 0x96,0x85,0xf2,0xea,
+ 0x0c,0xcd,0xc5,0x42, 0x4d,0xed,0xaf,0xc4, 0xdf,0xfe,0x3a,0x9f, 0x60,0x9c,0x9a,0xd0,
+ 0xc6,0x89,0xe4,0x38, 0xb9,0x00,0x85,0x90, 0xa5,0x7b,0x9c,0xde, 0xb1,0x7c,0xf0,0x95,
+ 0x1a,0xfd,0x39,0x91, 0xe1,0xad,0xc1,0x32, 0x47,0x4c,0x80,0xc3, 0x6d,0x24,0x56,0xb6,
+ 0xc4,0xac,0xb2,0x26, 0x89,0x0c,0x92,0x1f, 0xad,0x89,0xb6,0x0b, 0xbd,0x77,0x35,0xa8,
+ 0xe2,0x24,0xc2,0x87, 0x8b,0xb2,0x6d,0xea, 0x1f,0x4a,0x49,0x75, 0x8e,0xe5,0x19,0xb3,
+ 0x11,0x82,0xa5,0x47, 0xc4,0xd9,0x19,0xf5, 0x0b,0x02,0xe5,0xd1, 0x4a,0x62,0x0e,0x94,
+ 0x16,0x75,0x5d,0x0b, 0xed,0x0b,0x15,0x90, 0x14,0x36,0x43,0xc1, 0xd8,0x56,0xe3,0x22,
+ 0xa9,0x03,0xfe,0xee, 0x4e,0x4b,0xf5,0x2e, 0x08,0x0c,0xad,0xf7, 0xee,0x58,0x2a,0xe9,
+ 0x96,0x53,0x9a,0x14, 0x34,0x4e,0xef,0x2e, 0xf8,0x6f,0x54,0xcc, 0xa7,0xfd,0xc6,0x53,
+ 0xf1,0xdd,0xc3,0xc9, 0x97,0x2f,0xfc,0x03, 0xcb,0x83,0x67,0x9a, 0xc8,0xa5,0x71,0x6e,
+ 0x4c,0x07,0xc2,0xb1, 0x6f,0xac,0x1e,0x75, 0xa8,0x08,0xaa,0x1d, 0x64,0x99,0x09,0xf6,
+ 0x0e,0xf4,0x0d,0xd4, 0x4b,0xe9,0x32,0xe7, 0x85,0x7c,0xdd,0xf1, 0xb1,0x57,0x53,0xe7,
+ 0xee,0x2b,0x71,0xfa, 0x04,0xef,0xa8,0x9d, 0xed,0x6a,0x20,0x9c, 0x29,0xa5,0xcd,0x1b,
+ 0xe8,0x6b,0x13,0x8f, 0x91,0x22,0x1e,0xe9, 0x14,0xfe,0xed,0x74, 0x57,0x27,0xba,0xb2,
+ 0xe0,0x76,0xf0,0xe5, 0x4f,0x66,0xa0,0xd1, 0xf4,0x83,0x25,0xa8, 0x3a,0x85,0xf8,0xa4,
+ 0xc5,0x34,0x8f,0xc7, 0x2a,0xd8,0xa4,0xb7, 0x01,0x33,0xbc,0x35, 0xd4,0xac,0xa0,0xf3,
+ 0x1f,0xe3,0x29,0x5b, 0x48,0x51,0x15,0xc4, 0x36,0xfb,0xf2,0x8c, 0xb2,0x2f,0x59,0xf4,
+ 0x87,0xd6,0x8b,0x06, 0xae,0x16,0xcc,0x1f, 0xea,0x3f,0xb8,0xb6, 0xcb,0xfe,0xd6,0xac,
+ 0x6b,0x09,0x34,0x12, 0x29,0xdb,0x84,0x75, 0x8b,0xd6,0x03,0x19, 0x52,0x45,0x83,0x33,
+ 0x53,0x0b,0x94,0x0c, 0x4a,0x0a,0x79,0xe0, 0xe9,0x82,0xb0,0x54, 0x40,0x8e,0x91,0x27,
+ 0x2b,0x13,0xc9,0x4f, 0xa8,0x57,0x59,0xe7, 0x83,0x47,0xc9,0x98, 0xe0,0x39,0x00,0xdc,
+ 0x35,0x4e,0x5b,0x18, 0xb7,0xd8,0x6a,0xa9, 0x69,0xa4,0xb9,0xc8, 0xad,0x21,0xa9,0x41,
+ 0x2e,0x01,0xbd,0xb8, 0x85,0x2f,0x04,0xf6, 0xef,0xba,0x63,0x9f, 0x54,0x37,0x3a,0x7d,
+ 0x4a,0xb9,0xc7,0x0f, 0xb5,0x64,0x24,0x38, 0x2d,0x04,0x8f,0x78, 0xbc,0xc3,0x65,0x2c,
+ 0xcb,0x27,0xa6,0x37, 0xf8,0x2a,0x54,0x8b, 0xce,0x84,0x2d,0x23, 0x74,0x79,0x3d,0x0d,
+ 0x45,0x1e,0x5c,0xdf, 0x5b,0x1a,0x72,0xdd, 0x90,0xdd,0xe4,0x84, 0xc1,0x72,0x1b,0x21,
+ 0x66,0xa1,0x08,0x3f, 0x5f,0x0e,0x93,0xe1, 0xf6,0x5d,0xdc,0x8b, 0xff,0xab,0xd0,0x7e,
+ 0xf8,0x63,0x4d,0x13, 0xb4,0xc3,0xb1,0xfe, 0xa2,0x0d,0xec,0xbe, 0x1f,0x35,0x7a,0x62,
+ 0x6e,0x4e,0x73,0x53, 0x5a,0x65,0x75,0xf5, 0x5e,0xec,0xb9,0xb1, 0x96,0x66,0x25,0xd0,
+ 0xfc,0xb8,0xcb,0x0a, 0x82,0x9b,0xc2,0x06, 0xb1,0xdc,0x2b,0x4d, 0x1a,0x0d,0x07,0xfb,
+ 0x3f,0x91,0x1b,0x33, 0x33,0x78,0x14,0xdc, 0xfe,0x66,0xee,0x98, 0xc7,0x19,0x16,0x30,
+ 0xe5,0x08,0x1e,0x82, 0x8d,0xe8,0x0d,0x89, 0x48,0xe5,0x86,0x4d, 0xd4,0x4d,0x09,0x82,
+ 0xbd,0xa9,0x0f,0xea, 0x90,0xb0,0xc9,0x85, 0xa7,0x7b,0x5a,0x68, 0xcc,0xba,0xc8,0xcf,
+ 0x9b,0xbb,0xcb,0x0a, 0x01,0x19,0xe5,0x04, 0x19,0x5a,0x53,0x37, 0x9a,0x35,0x3a,0xeb,
+ 0xa2,0x9a,0x55,0xac, 0x0d,0xba,0x15,0xb4, 0xb2,0x13,0xf7,0x9a, 0x4c,0x7a,0x7b,0xa7,
+ 0x3e,0x98,0x1b,0x0d, 0xd4,0x5a,0xfd,0xda, 0xd1,0x73,0x1e,0xde, 0x15,0x67,0xc6,0xec,
+ 0x71,0xab,0xe1,0x2d, 0x73,0x98,0x71,0xf0, 0xdd,0x74,0x96,0x07, 0x40,0x29,0x9c,0xee,
+ 0x3d,0x13,0xce,0x5c, 0x73,0xc4,0xc0,0xd1, 0x45,0x6c,0x73,0x67, 0x9b,0x5b,0xf4,0xbe,
+ 0xd2,0x53,0x2e,0xd8, 0xea,0x73,0xe0,0x08, 0x8d,0xed,0xc9,0xd0, 0xcd,0x4f,0x16,0x7e,
+ 0x71,0x0a,0xc7,0x45, 0xa4,0x7d,0xf3,0x89, 0xae,0x52,0x8b,0xe8, 0xfc,0x06,0xf4,0xcf,
+ 0xf2,0xfa,0x31,0xcd, 0x45,0x98,0x5f,0x56, 0x7d,0xa7,0x8a,0x02, 0x23,0xf0,0x46,0xb0,
+ 0x51,0x21,0x06,0xf0, 0x01,0x5a,0x25,0xc4, 0x5b,0x91,0xba,0x74, 0xa3,0xa9,0xa8,0xb2,
+ 0xab,0x7c,0xeb,0x31, 0xe4,0xc9,0xc3,0x28, 0x02,0x58,0x82,0xfa, 0xfe,0xfc,0x40,0x9f,
+ 0x0b,0xcb,0xc3,0x57, 0x75,0xcd,0x8c,0x5d, 0xf6,0xf4,0xe0,0xe5, 0x7e,0xcb,0xf9,0x9b,
+ 0x05,0x66,0xb9,0x0e, 0xcc,0xc8,0xa5,0x18, 0x08,0x45,0x02,0xfd, 0x00,0x3c,0x98,0xd0,
+ 0x00,0x2e,0x4f,0x76, 0xc1,0xa1,0x22,0xab, 0x49,0x2e,0xaf,0x56, 0xaa,0x68,0x22,0xf6,
+ 0x7d,0xf9,0xeb,0x3e, 0xd9,0x20,0x18,0x6b, 0xea,0x6c,0x52,0x4f, 0x26,0xc4,0x37,0xdc,
+ 0xbe,0x1a,0x47,0x56, 0x93,0x74,0xf0,0x96, 0xf6,0x0c,0x2a,0xdb, 0xe1,0x5a,0xa1,0x13,
+ 0x8a,0x92,0x5b,0x55, 0xd5,0x48,0x10,0x9a, 0x0a,0x58,0x6a,0xbb, 0xab,0x32,0x21,0x64,
+ 0x27,0xc9,0x0f,0x5e, 0x86,0x8f,0x40,0xfa, 0x06,0xcd,0xcc,0xe6, 0xbe,0xec,0xa3,0x25,
+ 0x4a,0x54,0xa7,0xb0, 0x69,0x30,0x32,0x95, 0xab,0x1c,0x5d,0x07, 0x83,0x9c,0xb4,0xf3,
+ 0x40,0x8a,0x0e,0xfe, 0x4b,0x60,0xff,0xfa, 0xed,0x31,0xed,0xc4, 0x74,0xe2,0x28,0x49,
+ 0x35,0xf4,0xeb,0xeb, 0x83,0xd1,0xbc,0x90, 0x38,0x74,0x90,0x66, 0x60,0x56,0xa5,0x43,
+ 0x28,0x0a,0xc0,0x4a, 0x22,0xd0,0x36,0x6a, 0xf9,0x00,0x13,0x71, 0xe2,0xbc,0xce,0xf1,
+ 0x7f,0x35,0x92,0x53, 0xd0,0xf3,0x46,0x31, 0xb4,0x8f,0x54,0x30, 0x76,0x00,0x5d,0x8a,
+ 0x65,0x98,0x02,0xac, 0x5f,0x39,0x74,0x01, 0x1d,0x6e,0x6c,0xa3, 0x0e,0x9d,0x96,0x3d,
+ 0x6a,0x7e,0x70,0x6e, 0x0e,0x96,0xfc,0x8b, 0x45,0x22,0x2f,0x37, 0x42,0x9d,0x0d,0x9a,
+ 0x47,0xc7,0x0b,0x21, 0x06,0x86,0x19,0x83, 0xf2,0x33,0x33,0x3a, 0xd8,0x55,0x91,0xb8,
+ 0xa6,0x78,0xba,0x06, 0xb7,0xdf,0x4b,0x92, 0x57,0xce,0x03,0x04, 0x96,0xb6,0x3c,0x09,
+ 0x37,0x2e,0xa1,0xd3, 0x5f,0xf1,0x49,0x11, 0xcc,0x6c,0x11,0x86, 0xe1,0x0a,0x27,0x15,
+ 0x26,0x68,0x3d,0xb7, 0x06,0xce,0x62,0x91, 0x6e,0x15,0x83,0xa8, 0xfb,0xea,0x5c,0x4f,
+ 0x32,0xc3,0xf7,0xd6, 0x1c,0x9a,0xd6,0x9e, 0xac,0xba,0x53,0x1c, 0x15,0x98,0xc1,0x1d,
+ 0x22,0x65,0x2e,0xcd, 0xa3,0xa1,0xf3,0xdf, 0x77,0xd9,0x0c,0x32, 0x29,0xaf,0x61,0x54,
+ 0xdd,0x1f,0x91,0xd2, 0x5b,0x53,0x7e,0xde, 0x64,0xb3,0x8f,0x49, 0x22,0x77,0x85,0xf9,
+ 0x0e,0x67,0x05,0x7f, 0x5c,0xfa,0x5b,0x7d, 0xe2,0x2c,0xc1,0xcc, 0x6f,0xda,0x57,0x70,
+ 0xe4,0x79,0x47,0xc4, 0x6a,0x34,0xaa,0x46, 0x67,0xd9,0xeb,0xcf, 0x3a,0xc7,0x9e,0x31,
+ 0xc2,0x14,0x1c,0x3a, 0x19,0x6e,0x00,0x85, 0x92,0x6d,0x12,0x75, 0xfd,0xd1,0xd4,0x79,
+ 0x91,0x1c,0x05,0x34, 0xcd,0xea,0x2a,0x96, 0x62,0x99,0xcb,0x40, 0xd1,0x5f,0x20,0x2b,
+ 0x58,0xf3,0xf4,0x4c, 0x4a,0x8a,0x2d,0xb4, 0x9f,0x84,0x8b,0xab, 0x36,0x6f,0x0b,0x7e,
+ 0xd7,0x60,0x09,0x2f, 0xa3,0xd0,0x0b,0x5f, 0xe2,0x44,0x94,0x14, 0xc4,0x14,0x3a,0xb1,
+ 0xf9,0xe4,0xcf,0xda, 0x67,0x8e,0x00,0x15, 0x77,0x52,0x3d,0xe2, 0xb6,0x7e,0x5b,0xe9,
+ 0x6b,0x83,0x5d,0xf8, 0xe1,0x29,0x22,0x9d, 0x01,0x65,0xe3,0x50, 0x47,0x82,0x57,0x9d,
+ 0x2a,0x4c,0xea,0xc3, 0xe5,0x2d,0xf0,0xe8, 0xc1,0x67,0x94,0x0d, 0x56,0xcc,0x1d,0x96,
+ 0xe1,0x57,0xa9,0x46, 0xc2,0xa3,0x2b,0x5d, 0x9d,0xa5,0xbe,0x5a, 0xef,0x32,0x0e,0xe1,
+ 0x60,0x24,0xb3,0xeb, 0xb3,0xcb,0x44,0x25, 0xc7,0x01,0x56,0x5b, 0x41,0x67,0x9a,0x2e,
+ 0x41,0xba,0xff,0xfd, 0xbe,0xbc,0x1d,0xa9, 0xf7,0xfc,0xc0,0xbf, 0x8a,0x69,0xc1,0x47,
+ 0x6c,0x0e,0x74,0x94, 0x45,0x76,0x79,0x15, 0xce,0xda,0x37,0xab, 0x15,0xf5,0x8a,0x59,
+ 0x0a,0xdf,0xc2,0x5b, 0xa9,0x4b,0x76,0x00, 0xf0,0xe2,0x8e,0x4f, 0x45,0x63,0x8b,0x48,
+ 0xfb,0xe7,0x4c,0x6e, 0x40,0x6b,0x5f,0xc5, 0x6a,0x30,0xe7,0x5c, 0x21,0x11,0x59,0x25,
+ 0xba,0x56,0x40,0x90, 0xcf,0xdd,0x76,0x05, 0x6a,0xad,0xf9,0x58, 0x53,0x59,0x36,0x93,
+ 0xc4,0xe0,0xd4,0x2f, 0x86,0x0d,0xcc,0x04, 0x22,0x29,0xa7,0xd5, 0xd0,0xf6,0xd1,0xfc,
+ 0xb8,0x14,0xc0,0x56, 0xd5,0x09,0x10,0x8b, 0xb2,0xa2,0x62,0xc8, 0x3f,0xba,0xc7,0xe4,
+ 0x7c,0x77,0xc3,0x09, 0xd9,0xed,0xb5,0xf9, 0x10,0xb9,0x64,0xe6, 0xab,0x85,0xe4,0x53,
+ 0x4e,0x40,0xc9,0xc7, 0xc0,0x20,0x55,0x09, 0xa7,0x4f,0x36,0x9d, 0x83,0xb6,0x4b,0x5b,
+ 0x7e,0x02,0x16,0x4c, 0x94,0x8f,0x26,0x43, 0x8c,0xcb,0xa4,0x21, 0xb6,0xde,0x28,0x10,
+ 0x84,0x6a,0xc7,0x5c, 0x99,0xba,0xbc,0x11, 0x7a,0xe1,0xcb,0x25, 0xe9,0x7e,0x8e,0x31,
+ 0xdf,0x31,0x0a,0xea, 0xa3,0x54,0x53,0x41, 0xb0,0x96,0xbf,0x10, 0x1b,0x75,0x83,0x69,
+ 0x2f,0xd4,0x58,0xae, 0xee,0x79,0x2a,0x72, 0x22,0xee,0x6c,0x9d, 0x69,0x24,0xff,0x6d,
+ 0x19,0xa6,0x5c,0xbd, 0x2a,0x1a,0xd2,0x24, 0xdc,0x6e,0xd3,0xfe, 0xec,0x73,0xb4,0x74,
+ 0xba,0x57,0x0a,0xb6, 0x61,0xdc,0x0f,0xae, 0xb2,0xaf,0xb8,0x4f, 0x32,0xc2,0x8a,0xde,
+ 0x89,0x74,0x5e,0xc8, 0x81,0x2e,0x35,0x1c, 0x7f,0xbd,0x14,0x71, 0xe5,0xab,0x27,0x4f,
+ 0x4b,0xcb,0x43,0x02, 0x7b,0x39,0xbb,0xee, 0xca,0x4a,0x0e,0x30, 0x70,0xc7,0x7f,0x15,
+ 0x6c,0x9b,0xa4,0xb7, 0x44,0x71,0xfc,0x03, 0x96,0x39,0x19,0x0a, 0x02,0xbf,0xb8,0x30,
+ 0xb1,0x02,0xf1,0x52, 0xd8,0xed,0x58,0xac, 0x70,0x86,0xb6,0xf0, 0x2b,0x15,0x31,0xa4,
+ 0x30,0x39,0x3b,0xc1, 0x67,0x82,0xbd,0x64, 0x41,0x54,0xff,0x57, 0x1d,0x85,0x52,0x3c,
+ 0x47,0x50,0xc8,0x7e, 0x4f,0xdc,0x7f,0x05, 0x9c,0xa9,0xbc,0xd5, 0x8e,0x85,0xb8,0xc6,
+ 0x4f,0x79,0xe3,0x9a, 0x8c,0xe9,0xb9,0xe7, 0x07,0x44,0x05,0xfe, 0xbb,0x03,0x85,0xdd,
+ 0x8b,0x1a,0xe0,0x11, 0xab,0xf4,0x47,0x75, 0xb9,0x52,0x8a,0x56, 0x10,0x65,0x93,0xfa,
+ 0xb7,0x72,0xd1,0xc2, 0x2a,0x9d,0x1b,0x01, 0x36,0xe1,0x90,0xe3, 0x81,0xf6,0x48,0x26,
+ 0xa4,0xae,0xd1,0x99, 0x4b,0x74,0xc9,0xfc, 0xb4,0xe4,0x94,0x91, 0x4a,0x0e,0x3b,0x9b,
+ 0xeb,0x3d,0xe3,0x3a, 0xfe,0x76,0xe5,0xf7, 0x01,0x5e,0x1b,0x83, 0x17,0xe0,0x3e,0xbf,
+ 0x5e,0xd2,0x64,0xfd, 0xf6,0x37,0xaf,0x70, 0x75,0x24,0x00,0x76, 0x3d,0x49,0x53,0xfb,
+ 0x2d,0xf4,0xc1,0xd4, 0x82,0x1f,0xf6,0xaf, 0xd1,0xf3,0x94,0x5f, 0x8c,0x7d,0x4e,0x1c,
+ 0x3a,0xf6,0x55,0x4f, 0x40,0xc6,0x72,0x48, 0x2b,0x68,0x52,0xca, 0x33,0xc5,0x6d,0x46,
+ 0x42,0x18,0x93,0x9a, 0x2a,0x59,0x48,0x65, 0xe5,0xd1,0xf7,0xeb, 0x8d,0xd6,0x07,0xd6,
+ 0xfa,0xa8,0xff,0x7c, 0x5e,0xbf,0xa0,0xdf, 0xcf,0x46,0x27,0x92, 0x1c,0xe8,0xf1,0x1c,
+ 0x09,0xea,0xf1,0x8c, 0x3f,0xc7,0x08,0xec, 0x59,0xe6,0x12,0xc8, 0xe5,0x25,0x70,0x78,
+ 0x3d,0x69,0xa8,0x97, 0x15,0x52,0x08,0x1c, 0x0d,0xb4,0x1a,0xb9, 0xd8,0xb2,0x65,0x8c,
+ 0x77,0x96,0x96,0x4d, 0x2f,0xfe,0x98,0xaa, 0x77,0x25,0x76,0x2c, 0x01,0x50,0xae,0xa7,
+ 0x19,0x3e,0xde,0x5c, 0x3e,0x45,0xa7,0x3e, 0x1b,0x0e,0xdd,0x81, 0xf4,0x92,0xed,0x40,
+ 0x94,0xd4,0x7d,0x9d, 0x21,0x84,0x19,0xb4, 0x08,0x93,0x0a,0x93, 0xd0,0x41,0x20,0x0e,
+ 0xbc,0x98,0x1c,0x95, 0xd4,0x46,0xda,0xbe, 0x4e,0xb6,0x6c,0x10, 0xf4,0x23,0x77,0xc7,
+ 0x7e,0x0d,0x41,0x20, 0x54,0xc1,0xed,0x2c, 0xe1,0x85,0x1d,0x22, 0x77,0x39,0x58,0x7a,
+ 0xe3,0x1f,0x0c,0x30, 0xd2,0x8f,0x9a,0x81, 0xa3,0x44,0x1d,0x1f, 0x7b,0x4d,0x1e,0xf4,
+ 0x8b,0x34,0xe1,0xe3, 0x4c,0xef,0xc6,0xb4, 0xca,0x8e,0xd6,0x76, 0xf9,0xa2,0x54,0xed,
+ 0xe6,0xe6,0xa7,0x61, 0x62,0x24,0x90,0x11, 0xb2,0xdc,0x1d,0x92, 0xf8,0x14,0xbe,0x53,
+ 0xb2,0xbb,0x7d,0xac, 0x8c,0x4a,0xd4,0x8f, 0xf8,0xec,0x9b,0xc9, 0xa5,0x99,0x5c,0x48,
+ 0x58,0x78,0xc5,0x97, 0x5e,0x86,0xe4,0x06, 0x37,0xd5,0xf9,0x05, 0x13,0xb3,0x42,0x1a,
+ 0x8a,0x2d,0xed,0x3b, 0xf1,0x8f,0xa5,0x6e, 0xd7,0xb0,0x6a,0x1d, 0x91,0xf6,0x2e,0x33,
+ 0x1e,0xb0,0x97,0xe2, 0x0f,0xf6,0x19,0x3b, 0x2c,0xcc,0xd2,0x72, 0x9e,0x57,0xa8,0x2d,
+ 0xfb,0xa9,0xa6,0x4e, 0xf0,0x33,0x25,0xac, 0xc1,0x01,0x72,0x98, 0xcf,0x14,0x2b,0x66,
+ 0x18,0xaa,0x15,0xa9, 0x8b,0xe5,0x20,0x78, 0x9d,0x27,0x3e,0xb5, 0x2d,0xac,0xd7,0x80,
+ 0x6f,0x41,0xb3,0xad, 0x72,0xb2,0x17,0x0c, 0xc2,0x0f,0x45,0x95, 0x68,0x1c,0x7f,0x0a,
+ 0x68,0xcf,0xd2,0xf5, 0x21,0x94,0x9c,0x7e, 0xf0,0x7f,0xdf,0x42, 0x62,0x18,0xe8,0x01,
+ 0xd5,0x8b,0x1c,0x79, 0x03,0x21,0xbd,0x2a, 0xf4,0x3b,0x4d,0x2f, 0xf8,0x69,0xe2,0xc3,
+ 0x55,0xd9,0x28,0xa4, 0x20,0xd4,0x9b,0x33, 0xec,0x6a,0xe8,0xf8, 0xc3,0xcf,0xbb,0x21,
+ 0xc7,0xff,0x44,0x68, 0x06,0x6e,0x3f,0x79, 0x57,0x49,0x4f,0xc0, 0x3e,0xf1,0x3a,0xc1,
+ 0xa0,0x77,0x50,0x7b, 0x40,0x61,0x73,0x5c, 0xdc,0xa9,0x0f,0x19, 0x11,0xe3,0x22,0x5f,
+ 0x62,0xcb,0xd0,0xff, 0x9a,0x23,0xcf,0xe1, 0xfb,0xe2,0xa5,0xc7, 0xe6,0xeb,0xdb,0x0c,
+ 0x4e,0x36,0x0c,0x94, 0x90,0x2a,0x29,0x10, 0x7b,0x26,0x41,0xe5, 0xf5,0xa6,0x2b,0xc1,
+ 0x18,0x83,0xf7,0xf0, 0x35,0x8b,0xa0,0xc1, 0xd3,0x0d,0xba,0x6f, 0x81,0xf4,0x44,0x6c,
+ 0x8b,0xf6,0x2c,0x0e, 0x3b,0xa2,0xa9,0x95, 0x7c,0x5c,0x72,0x93, 0x6c,0x5f,0xe2,0x0b,
+ 0xb0,0xb4,0x4e,0x76, 0xdb,0x86,0xe6,0x1a, 0x39,0xd7,0xeb,0x36, 0xb6,0xca,0x4a,0x83,
+ 0x94,0xc2,0x16,0xbc, 0x90,0x08,0xf0,0xd0, 0x44,0xaf,0xb5,0x6b, 0x79,0xe8,0x2b,0xf6,
+ 0xf7,0xb6,0x27,0x5a, 0x58,0x92,0x71,0x8c, 0xff,0x7a,0xe6,0x04, 0xa3,0xf3,0xb4,0xfd,
+ 0xc5,0x86,0x54,0xca, 0x0a,0xa6,0xfb,0xef, 0x1e,0x73,0x68,0x2d, 0x15,0x4b,0x2a,0x05,
+ 0x82,0x96,0x6d,0xbf, 0xcc,0x7a,0x7b,0xee, 0xab,0xa6,0x89,0x6b, 0x25,0xac,0x22,0x8b,
+ 0x44,0x1c,0xa7,0xe8, 0x0d,0xfc,0x3b,0x09, 0xe7,0x7f,0x12,0xc2, 0x97,0xaa,0x59,0xc0,
+ 0xb7,0x6c,0xb8,0x6b, 0xdf,0xd2,0x82,0x2c, 0x0b,0xe6,0x42,0x94, 0x48,0xf7,0xd5,0x09,
+ 0x7d,0x93,0xb8,0xe2, 0x72,0x85,0x59,0x5d, 0xb0,0xb4,0x40,0xcc, 0x41,0xfe,0x35,0xeb,
+ 0xd2,0x18,0xa7,0x9c, 0xd8,0x13,0x4e,0xc7, 0xc5,0xb4,0x2d,0x04, 0xc9,0x59,0xbe,0xfc,
+ 0x59,0xf8,0xc7,0x67, 0x63,0xe2,0x79,0x90, 0x0e,0x94,0x02,0xe2, 0xd7,0xb1,0x12,0x7e,
+ 0x62,0xf6,0x2b,0x93, 0xe8,0x4b,0x37,0x1c, 0x30,0x0c,0x4a,0x6d, 0x17,0x00,0x31,0xa4,
+ 0x82,0x58,0x62,0xb5, 0x22,0x71,0xf5,0xbe, 0xc6,0x76,0xfc,0x9b, 0xd8,0x09,0xfc,0xfa,
+ 0x7b,0xa9,0xeb,0x47, 0xd8,0xcc,0xc8,0x95, 0xb1,0x93,0x4e,0xc3, 0xb3,0x87,0x58,0x86,
+ 0xc6,0xe0,0x98,0x8b, 0x34,0xb9,0x00,0xa8, 0x01,0x70,0xa2,0x90, 0x97,0x9e,0x91,0x27,
+ 0x17,0xf2,0x71,0x4a, 0xa1,0xc5,0xde,0x06, 0xf4,0x0c,0x11,0xb3, 0xd6,0xc6,0x6a,0xd1,
+ 0xdf,0x11,0x89,0x6a, 0x82,0x66,0x41,0x8c, 0xf1,0x54,0x88,0x9e, 0x0c,0xfe,0x2a,0xa1,
+ 0x9a,0x8f,0xbc,0xce, 0xe4,0x5a,0xe9,0x5c, 0x18,0x76,0xdc,0x70, 0x08,0xd8,0x14,0x3e,
+ 0xb4,0x99,0xf0,0x19, 0x54,0x83,0x5f,0xcd, 0xba,0x0c,0x78,0x67, 0xb8,0x53,0x74,0x92,
+ 0x91,0x23,0x21,0x52, 0x46,0xcb,0x7e,0xfe, 0x54,0xdd,0xbb,0x98, 0x60,0x12,0x57,0x86,
+ 0xd1,0x8e,0x1c,0xcc, 0x4e,0x9c,0xaa,0xd1, 0x48,0x30,0x54,0x34, 0xb8,0x8f,0x29,0x47,
+ 0xb4,0xf5,0xa6,0x5d, 0x8c,0xba,0x00,0x0f, 0x1d,0xcb,0x29,0xf1, 0x2f,0x53,0xfe,0x75,
+ 0xed,0xd3,0xc7,0x0a, 0x72,0xbb,0x73,0x80, 0xb8,0xf1,0x47,0x33, 0xeb,0x43,0xc2,0xa7,
+ 0x8c,0x3a,0x7d,0x8a, 0x1f,0x72,0x4e,0x26, 0x02,0x17,0x06,0x70, 0xcf,0x45,0x74,0x24,
+ 0x14,0xd2,0x77,0x19, 0x51,0x29,0x2f,0xf3, 0x66,0xe6,0x2b,0xf3, 0x41,0xef,0x76,0x96,
+ 0xa1,0xf1,0xc3,0x56, 0x0f,0x1a,0x2d,0x29, 0x6e,0xcc,0x97,0x66, 0x20,0x99,0xb6,0x8b,
+ 0x59,0x0f,0x0d,0x49, 0x1d,0x28,0xf9,0xb3, 0x88,0x82,0x1b,0xf4, 0x71,0xba,0x59,0x13,
+ 0xfc,0x8d,0xb7,0x07, 0x63,0xdc,0xd7,0x5f, 0x2f,0xd8,0x18,0x8c, 0x7d,0x6a,0xd0,0x07,
+ 0xd0,0x7e,0x54,0x2f, 0x5e,0x75,0xc3,0xfc, 0x4f,0x1a,0x9d,0xf9, 0xfb,0xb2,0x75,0xc3,
+ 0xee,0x3d,0xd5,0xbb, 0x78,0x36,0x0f,0xfb, 0xc1,0xeb,0xcb,0xcc, 0xfe,0xe1,0xcf,0x20,
+ 0xa2,0xb7,0x6e,0xfc, 0xdd,0x91,0xee,0xc6, 0xc3,0x3d,0x1f,0x0a, 0xf1,0x7b,0xd5,0x4b,
+ 0xd9,0x87,0x1d,0x92, 0x5c,0xb2,0x65,0x51, 0x24,0x38,0xf8,0x28, 0x9c,0x7c,0xf4,0xd5,
+ 0xe3,0x6d,0x38,0x84, 0x73,0xe8,0xbd,0x5a, 0xb2,0xbd,0x4f,0x1a, 0x6e,0xf2,0x2a,0x36,
+ 0x21,0x7b,0x8d,0x94, 0x1b,0xcc,0xf7,0x31, 0x9e,0x4e,0x6d,0x09, 0xfd,0x20,0xbe,0xcd,
+ 0x8e,0xb1,0x42,0x96, 0x0c,0x2c,0x6c,0xc1, 0x5f,0xd2,0xb3,0xfa, 0x44,0xb0,0x06,0xdc,
+ 0xaa,0x19,0xe9,0x9a, 0x9e,0xbf,0x48,0x50, 0xe1,0xe7,0x5a,0x62, 0x78,0xf0,0x74,0x72,
+ 0x99,0x2a,0x95,0x6d, 0x77,0x09,0x7e,0x11, 0x8f,0x9e,0xdf,0x96, 0x0e,0x72,0x73,0xd5,
+ 0xbe,0xf1,0xff,0x5f, 0xca,0x33,0xbb,0x92, 0x5a,0xc0,0xea,0xe4, 0x1a,0xb4,0xdd,0x17,
+ 0x79,0x22,0x23,0x2a, 0x7c,0x52,0xcd,0xd0, 0x3d,0xfd,0x0e,0xa4, 0x6c,0x1a,0xe5,0x9e,
+ 0xac,0x93,0x92,0x65, 0x77,0x88,0x3e,0x34, 0x3c,0xa2,0x67,0x46, 0x55,0x7a,0xd0,0x16,
+ 0xb1,0xd9,0x2e,0x7b, 0xfb,0xb5,0xfc,0x62, 0xf3,0x78,0x1c,0xc3, 0x31,0x2e,0x02,0x17,
+ 0xfe,0x18,0xf0,0x18, 0x2e,0xe6,0xfc,0x28, 0xc7,0xdb,0x0b,0x88, 0xa6,0x52,0x26,0xcc,
+ 0xd7,0x44,0xad,0x69, 0x45,0x55,0x7b,0x8e, 0x84,0x8e,0x41,0xec, 0xb3,0x0a,0xd2,0x8b,
+ 0x86,0x81,0x60,0xeb, 0x8f,0x7e,0x19,0xb1, 0xa4,0x07,0xcf,0x9b, 0xd3,0xc9,0x91,0x0e,
+ 0x08,0xef,0x08,0x12, 0x47,0xbd,0x0d,0xf6, 0xa0,0x33,0xb1,0x81, 0x2f,0xe5,0x18,0x69,
+ 0x11,0x27,0xc9,0xae, 0x66,0x8b,0xaa,0xa2, 0x55,0xa3,0x6d,0x52, 0x62,0x33,0xb2,0x26,
+ 0x0c,0x82,0x04,0xb1, 0xfa,0x11,0x10,0xae, 0xa8,0x30,0xe9,0x24, 0x09,0x7b,0x25,0x08,
+ 0x84,0x36,0x2c,0xfd, 0xcf,0x6a,0x92,0x16, 0xd7,0x20,0xd2,0xd6, 0x32,0xca,0x2f,0x41,
+ 0x9f,0x60,0x10,0xe9, 0x41,0xde,0xdb,0xc2, 0xdc,0x38,0xd3,0xa1, 0xc1,0x9e,0xfc,0x73,
+ 0x01,0xed,0x6f,0x12, 0x23,0xa0,0xf0,0xed, 0x76,0x29,0xf4,0x48, 0xcf,0xbf,0xc7,0x41,
+ 0x35,0x77,0xa4,0x34, 0x12,0xff,0xcb,0x11, 0xb1,0xd4,0x9a,0xfa, 0xb1,0x1e,0x81,0x38,
+ 0x95,0xed,0xd0,0xe1, 0x1a,0x1a,0x2a,0xf1, 0x89,0xfe,0x2a,0x26, 0xc2,0xad,0xbe,0xa9,
+ 0x85,0x4e,0x9d,0xa6, 0x48,0x08,0xfb,0x5b, 0xd1,0xb0,0xab,0xe9, 0x6f,0x6f,0xdb,0xe7,
+ 0x97,0x71,0x54,0xbb, 0xbd,0xe1,0xec,0xfc, 0xc7,0xa7,0xb1,0x5b, 0xf4,0x07,0x59,0x23,
+ 0xd9,0x71,0x4b,0x58, 0xb3,0x08,0xd0,0x88, 0x6c,0x08,0xbe,0x14, 0x00,0x91,0x73,0x31,
+ 0xdb,0xf7,0x7e,0xfa, 0x61,0x90,0x02,0xb5, 0x84,0x35,0xb0,0xe5, 0xb7,0xf6,0xfc,0x8a,
+ 0x11,0x27,0x20,0x1f, 0x81,0x3e,0xaa,0x79, 0xe0,0x1f,0x1a,0xf2, 0xda,0x09,0xcb,0x1f,
+ 0x48,0x8a,0xe1,0xcd, 0x48,0x63,0xb4,0xcb, 0xe0,0x2b,0x41,0x18, 0xf6,0x8a,0xb5,0xae,
+ 0x8e,0xa8,0xe6,0x3d, 0x09,0x56,0x46,0x69, 0xcc,0xaf,0xbc,0x2d, 0x26,0x0e,0xb4,0x89,
+ 0x73,0x1f,0xb3,0x16, 0x62,0xfb,0xe2,0x2f, 0x08,0xa4,0xfb,0x91, 0xd7,0x89,0xae,0x94,
+ 0xb3,0x5c,0xa2,0x18, 0x3d,0xb0,0xca,0x84, 0x31,0x2d,0x0d,0x4c, 0xd1,0x49,0xc5,0xa7,
+ 0xb8,0x50,0xf0,0x5a, 0x00,0x96,0x6a,0x2d, 0xed,0x40,0xb1,0x2e, 0x70,0x46,0x58,0x8e,
+ 0x43,0x75,0x34,0xcd, 0xf4,0x95,0xd6,0x81, 0xcf,0x7c,0x94,0xcf, 0xc3,0x7e,0xef,0xf2,
+ 0x70,0x8a,0x22,0x03, 0x6b,0x60,0xf0,0xd7, 0x10,0xaa,0x8b,0x8c, 0x65,0x21,0xb8,0x8e,
+ 0xd6,0x85,0xc2,0x59, 0x97,0x78,0x9d,0xed, 0xd8,0xb5,0xb6,0x4d, 0xf3,0xf4,0x63,0x65,
+ 0x16,0x23,0x1f,0xb9, 0x39,0xc2,0xd9,0x94, 0xe4,0x8f,0x7e,0x40, 0x41,0x15,0x76,0xed,
+ 0x3b,0x7a,0x3d,0x7f, 0xe2,0x52,0x89,0x20, 0x08,0x3f,0x61,0x47, 0x15,0x16,0x5e,0x39,
+ 0x24,0xab,0x45,0x69, 0x48,0x8e,0xae,0x2e, 0x52,0xbc,0x3a,0x0d, 0x27,0x65,0x2b,0xd4,
+ 0x9a,0x31,0xe1,0x46, 0xaf,0x45,0x61,0x22, 0x06,0x2d,0x09,0x53, 0xad,0x2f,0x2c,0x6e,
+ 0x8d,0x66,0xbb,0x54, 0xd8,0x41,0xa8,0x93, 0x8f,0x35,0x4d,0x64, 0x24,0x49,0xe9,0x6a,
+ 0x7c,0xd8,0x8f,0x05, 0xe2,0xdf,0x2f,0x10, 0x17,0xf6,0x1c,0x19, 0xed,0x5e,0xad,0x6e,
+ 0xd6,0x3e,0xbd,0x57, 0xd8,0xd3,0x10,0x05, 0x58,0x07,0x76,0x4a, 0x05,0x75,0x4c,0x04,
+ 0x02,0x55,0x20,0xfe, 0xd7,0xcc,0xb3,0xf6, 0xd7,0x58,0x35,0x07, 0xd3,0xb4,0xb0,0xe4,
+ 0x41,0x53,0x4b,0xaf, 0x20,0x90,0x9f,0x68, 0x83,0xf1,0xb8,0x52, 0x30,0x95,0x4d,0x3c,
+ 0x80,0x1a,0x32,0x0b, 0x6d,0xdc,0xf1,0xaa, 0xba,0x08,0xc6,0x1b, 0x21,0x75,0xf8,0xb1,
+ 0x32,0x5e,0x74,0x7e, 0xa7,0x3a,0x4f,0x15, 0x7d,0xd8,0x7e,0x89, 0xa2,0x75,0xdf,0x89,
+ 0xd4,0xb6,0xc6,0xe0, 0x2b,0x17,0xca,0x6e, 0x92,0x63,0x08,0xa3, 0x47,0x59,0xec,0xfd,
+ 0x7c,0x77,0x09,0x07, 0xe5,0xc6,0x01,0x61, 0x58,0xbf,0x9b,0xf6, 0x6a,0x93,0xba,0x46,
+ 0x85,0xc3,0x89,0x63, 0xde,0xe3,0xe0,0x51, 0x95,0x13,0x2c,0x94, 0xda,0xdc,0x7e,0x82,
+ 0xc2,0xc9,0x8a,0x28, 0x91,0xad,0x89,0x8d, 0x5b,0x1b,0xd1,0x6a, 0xf8,0x0c,0xca,0xf3,
+ 0xe6,0xab,0x52,0xbe, 0xe4,0xc5,0x49,0x2a, 0x6a,0x2d,0x24,0x52, 0xc6,0xdf,0xa2,0x99,
+ 0x33,0x2d,0xe0,0x09, 0x69,0x18,0x88,0x35, 0x8c,0xed,0xb6,0xfe, 0xff,0xe8,0xf6,0xd5,
+ 0xea,0x6e,0x2b,0x07, 0x49,0xe3,0xe2,0x50, 0xca,0x7d,0x5e,0xda, 0x38,0x0c,0x76,0x51,
+ 0xd3,0x29,0x2e,0xe6, 0xce,0x8f,0x8d,0x8c, 0x94,0xe8,0x95,0x67, 0xb5,0x9c,0xf1,0xbf,
+ 0xb4,0x56,0x3a,0xde, 0xcf,0x44,0x49,0x7e, 0x47,0x47,0x32,0x96, 0xd2,0x38,0x0d,0x3d,
+ 0xbf,0x9b,0x27,0xae, 0xd3,0xc7,0x86,0xa7, 0x32,0x35,0xb0,0x6c, 0x3f,0x18,0x5a,0x4f,
+ 0xa3,0xb5,0x03,0x5e, 0x27,0x67,0x27,0x08, 0x7f,0xb1,0xc1,0xc7, 0x14,0x0f,0x8c,0xf2,
+ 0x71,0x01,0xaf,0x42, 0x5a,0x9d,0xac,0x74, 0xb6,0xb0,0x61,0x2b, 0x16,0x74,0x47,0x6a,
+ 0x1c,0x77,0x80,0x46, 0x58,0x4b,0x10,0x52, 0x1a,0x92,0xd8,0x9d, 0xfb,0x5d,0x12,0x6c,
+ 0x2b,0xf3,0xd6,0x3c, 0x62,0x32,0x5a,0xdf, 0x23,0xf1,0xeb,0xd6, 0x8f,0x39,0xdb,0x47,
+ 0x8e,0xb4,0xae,0x42, 0x76,0xed,0x9c,0x81, 0xb5,0x7f,0x9b,0xf4, 0x8e,0xe8,0x47,0x4b,
+ 0x2f,0x64,0xd6,0xe0, 0xfe,0x45,0xf2,0x3b, 0x3b,0x35,0x49,0x0f, 0xe0,0x3e,0x4b,0x82,
+ 0xfa,0xb2,0x05,0x9c, 0x4b,0x37,0x64,0x70, 0xba,0xce,0x73,0x04, 0x9d,0x31,0x29,0xeb,
+ 0x17,0x39,0x70,0x89, 0x06,0xaa,0x3c,0xef, 0x5d,0xce,0x4f,0x19, 0xc0,0xad,0x09,0x2b,
+ 0x88,0x64,0xad,0x8a, 0x6b,0x52,0x5e,0x18, 0xaf,0x3a,0x38,0x3c, 0x3b,0x0f,0x7a,0x1c,
+ 0x5b,0x5e,0x04,0xbf, 0xda,0x8b,0xd2,0xb9, 0x82,0xe9,0x93,0x77, 0x83,0xff,0xb0,0x7d,
+ 0xdf,0xe7,0xb5,0xbb, 0x15,0x68,0x3b,0x38, 0x2a,0x33,0xbd,0x93, 0x8b,0xbe,0x15,0xbe,
+ 0x42,0xac,0x83,0xf7, 0x1a,0x9f,0x56,0xcc, 0xb1,0xf9,0xeb,0xd6, 0xa3,0x96,0x4e,0x32,
+ 0x78,0x76,0x12,0x80, 0x9d,0xa5,0xe3,0x2a, 0x9e,0xb8,0xd3,0x10, 0xba,0xca,0x93,0x32,
+ 0xbd,0x18,0x49,0x04, 0xe5,0xbe,0x95,0x52, 0xa0,0x3a,0x4c,0xa5, 0x06,0x56,0xb2,0x78,
+ 0x72,0xc7,0xa5,0x8d, 0xc4,0xf5,0x28,0x8c, 0xe7,0xce,0x69,0x4a, 0x7b,0xf6,0x70,0x75,
+ 0x11,0x59,0x41,0x65, 0x3b,0x4a,0x70,0xc3, 0xa6,0x9f,0x4a,0x3a, 0x7c,0x17,0x6e,0x95,
+ 0x0c,0xd0,0x70,0xb6, 0x24,0xa5,0x76,0x1b, 0x21,0x41,0x38,0x69, 0xb0,0xa6,0xf7,0xa6,
+ 0xcc,0x4b,0xe9,0x59, 0x4c,0x4d,0x0f,0x4c, 0x01,0xcc,0xac,0xb9, 0x16,0xbb,0xc2,0x21,
+ 0x6c,0xde,0x84,0x81, 0x4e,0x9a,0x60,0xe7, 0x1a,0x7d,0xe8,0xea, 0xca,0x78,0xdd,0xb0,
+ 0x57,0x3f,0x80,0x20, 0x93,0x98,0x9a,0x19, 0xed,0x3f,0x7b,0x78, 0x4a,0x5f,0xa4,0xf5,
+ 0xf1,0x52,0x1f,0x3e, 0xd9,0xa2,0x5c,0xe1, 0xf2,0xed,0xe9,0xe2, 0x01,0xd2,0xde,0x3e,
+ 0xdf,0xdb,0x5e,0x3c, 0x8a,0xf6,0xa1,0x95, 0xe0,0x8b,0xc3,0x37, 0x68,0xd5,0xc8,0xaf,
+ 0x1c,0xae,0x66,0xb0, 0x37,0xf0,0x64,0x49, 0x8e,0x66,0x64,0x6f, 0xea,0xa5,0x72,0x8e,
+ 0xa2,0x23,0xd4,0x6d, 0x27,0x4a,0xe7,0x54, 0x90,0x11,0xe3,0x10, 0x75,0xa8,0x78,0xf6,
+ 0xdb,0xef,0x4b,0x7d, 0xe4,0x95,0x63,0x45, 0xa1,0x01,0xb6,0x1a, 0xe3,0x92,0x42,0x2a,
+ 0x4b,0xd7,0x64,0x56, 0xf6,0x20,0x54,0xd5, 0x5e,0x70,0x6a,0x26, 0x12,0xa1,0x04,0x9b,
+ 0x67,0x31,0x5c,0xf1, 0xb4,0xb9,0x15,0x48, 0x1d,0x27,0xb7,0x22, 0xc2,0x6d,0x1e,0x0a,
+ 0x65,0x22,0xf5,0x09, 0x03,0x7a,0x17,0xa3, 0x02,0xbc,0x4d,0x86, 0x66,0x08,0xf7,0x19,
+ 0x13,0xd3,0xfe,0x82, 0xbd,0xd0,0x06,0x12, 0x31,0x95,0xb9,0xe2, 0x8e,0x07,0x48,0x89,
+ 0x58,0x9f,0x40,0x42, 0x7a,0xee,0x42,0xc8, 0x09,0x58,0x25,0x58, 0x74,0xcd,0x0e,0x45,
+ 0xfb,0xd9,0xb0,0xcb, 0x47,0x5f,0x1e,0x47, 0x93,0x69,0x02,0xa6, 0x6f,0xd5,0x11,0xc8,
+ 0x20,0x7f,0x63,0xa1, 0xe6,0x1d,0xf5,0xba, 0xa9,0x80,0x54,0x51, 0x73,0x65,0x07,0x44,
+ 0x98,0xf6,0x04,0xd9, 0x47,0xfa,0x40,0xa1, 0x78,0x9b,0xdf,0xa1, 0x8e,0x95,0xfb,0x9a,
+ 0x20,0x87,0xfc,0x3d, 0xfd,0x5f,0x85,0xb0, 0x27,0xf6,0x22,0x5d, 0xfd,0x65,0xb2,0x37,
+ 0xb6,0x55,0x24,0xd5, 0xee,0x8c,0x39,0x1a, 0xf5,0xc4,0x19,0x1c, 0xb2,0x76,0xc6,0x2d,
+ 0x61,0xe4,0x7b,0xb8, 0xb4,0xaf,0x90,0xc3, 0x51,0xa8,0x8d,0x93, 0x47,0x6a,0x79,0xb1,
+ 0x51,0x31,0x58,0xa1, 0x84,0xb7,0xf0,0x9f, 0x6e,0xdf,0x6b,0x2b, 0x47,0xb6,0x6a,0x61,
+ 0xa3,0x43,0xbb,0x37, 0xb8,0x85,0x30,0xea, 0x7d,0x3a,0xc5,0x7c, 0xc6,0xdb,0xab,0xee,
+ 0x3e,0x26,0x6d,0xae, 0x10,0xe9,0x98,0xf6, 0xaa,0xdb,0xc9,0x0a, 0xeb,0xa7,0xc6,0x4e,
+ 0x32,0xdc,0xdf,0x96, 0xa9,0x9e,0x2c,0xd5, 0xf4,0xf7,0xdd,0xab, 0xe8,0x7a,0x93,0x10,
+ 0x2c,0x10,0x49,0xc6, 0x58,0x81,0x8c,0x9c, 0x79,0x61,0x45,0xc5, 0xf2,0xbc,0xd7,0xb0,
+ 0x2a,0x70,0x08,0xc3, 0x07,0x71,0x95,0x73, 0x5f,0xf0,0xc5,0xbb, 0xdd,0x13,0xaa,0xa0,
+ 0x38,0xc3,0xe7,0xde, 0xb5,0x28,0x67,0x56, 0xd0,0x10,0x20,0x7f, 0x49,0x69,0x81,0xa5,
+ 0x9d,0xbc,0x3e,0x81, 0x95,0x35,0x86,0xb7, 0x91,0xff,0xf6,0xf2, 0x4f,0xac,0xc3,0xfc,
+ 0xa5,0xcf,0x98,0xc1, 0x60,0x50,0x08,0xc6, 0xb8,0xa2,0x20,0xe2, 0x9f,0x23,0x30,0xa8,
+ 0x53,0xd5,0x46,0x9d, 0x83,0x64,0x5e,0xbd, 0x0a,0x13,0x69,0x30, 0xb7,0xd5,0x67,0xbf,
+ 0xc5,0xb8,0x10,0xf1, 0xa1,0xbf,0x02,0xd9, 0x09,0xe1,0xa0,0x35, 0x3a,0x1f,0xf5,0x33,
+ 0x56,0x66,0xf3,0xf0, 0xc8,0xa7,0xe7,0xbe, 0xdc,0x73,0x6d,0x63, 0x7c,0x0c,0x58,0x98,
+ 0xaa,0xa8,0x9a,0xda, 0x8c,0x41,0x84,0xba, 0x23,0xfb,0xa7,0x4f, 0xa5,0xb4,0xbe,0x09,
+ 0xc6,0x88,0x67,0x75, 0x2a,0xa2,0x13,0x28, 0x6f,0x8d,0xaa,0x3b, 0x12,0x50,0x0e,0xdf,
+ 0xac,0x08,0x91,0x2b, 0xcf,0xd6,0xba,0x6f, 0xa8,0x3c,0xe8,0x12, 0x91,0xca,0x08,0x4c,
+ 0xb2,0x1e,0x2a,0x0a, 0xb1,0x35,0x1d,0x65, 0x41,0x79,0xef,0x60, 0xe5,0xb5,0x26,0x45,
+ 0x67,0xa3,0xa3,0x82, 0x1a,0xd0,0xe0,0x4c, 0x97,0x7b,0x6b,0xcc, 0xa0,0xa2,0xd3,0x72,
+ 0xfc,0x4b,0xe1,0x3f, 0xee,0xd2,0xc2,0x2a, 0x71,0x81,0x3e,0xd3, 0xe5,0x6a,0x3d,0xfa,
+ 0x61,0x05,0xb6,0x3a, 0xbe,0x6e,0xc8,0x38, 0xb6,0x84,0x4b,0x6f, 0x59,0x88,0x67,0x75,
+ 0x5e,0x78,0x71,0x17, 0xc4,0x08,0x05,0xf2, 0x8c,0xaf,0x22,0x33, 0x0f,0xcc,0x90,0x3c,
+ 0xd8,0x66,0xf5,0xa5, 0x22,0xf2,0x00,0x26, 0x67,0x3c,0x8e,0x56, 0x96,0x5b,0x1e,0x95,
+ 0xff,0xa9,0xcb,0x69, 0x63,0xfd,0xc8,0x34, 0xcd,0x0f,0xa0,0x00, 0xb2,0xf2,0x2f,0xc3,
+ 0x3a,0xa9,0x39,0x64, 0xf2,0x71,0x81,0xbd, 0xac,0x3c,0x94,0x31, 0x65,0x21,0x7f,0x7b,
+ 0x38,0x7a,0x19,0x1e, 0x00,0x3a,0x87,0x35, 0x2a,0x56,0x0e,0x90, 0xec,0x34,0x52,0x22,
+ 0x9d,0x9f,0x70,0xe0, 0x19,0x78,0xc4,0x4e, 0xa9,0xc8,0xe7,0x92, 0x1b,0xa1,0x0c,0xd2,
+ 0x32,0xc6,0x05,0xd4, 0x06,0x79,0x16,0xb6, 0xc3,0xcc,0x09,0x99, 0x31,0xb6,0x04,0xe3,
+ 0x7a,0x49,0xa0,0x0f, 0x5d,0xcf,0x37,0xfe, 0xfd,0x34,0x93,0xfd, 0xea,0xef,0x00,0x2c,
+ 0xd3,0x01,0x94,0x53, 0xe6,0x39,0xee,0x77, 0xf5,0x8e,0x86,0x93, 0x41,0x37,0xe0,0x56,
+ 0xa7,0x73,0xaa,0xa0, 0x85,0xbb,0x33,0x19, 0xb0,0x77,0x2a,0xc6, 0x8b,0x19,0x80,0x2c,
+ 0x30,0x39,0x91,0xad, 0xad,0x5e,0xb8,0x43, 0x95,0xab,0x88,0xaa, 0x7a,0xf1,0xb7,0x2a,
+ 0x1d,0x00,0x2e,0x8f, 0xee,0x5f,0x25,0xc6, 0x3b,0x8c,0xe6,0x57, 0xf1,0xb1,0xdc,0x51,
+ 0x27,0x0c,0xb3,0xa0, 0xfb,0xed,0xda,0xee, 0xf1,0xe2,0xb8,0x8b, 0x8b,0x79,0x38,0xcf,
+ 0x5f,0xeb,0x15,0x43, 0xb5,0x8b,0xe6,0x0d, 0x24,0x08,0xde,0x7d, 0x31,0xcb,0xbc,0x7b,
+ 0xba,0x50,0x2f,0xdf, 0xc9,0x20,0x3d,0xb6, 0x82,0x9b,0x34,0xff, 0x54,0xde,0x97,0x9d,
+ 0x6f,0x8c,0x02,0x2c, 0xa6,0x4a,0x8f,0xc5, 0xd8,0x5b,0x2f,0x3a, 0x99,0x70,0xfc,0x5c,
+ 0xfd,0x58,0x27,0x2c, 0xd3,0x25,0xe3,0xbb, 0xa8,0x63,0x29,0xf9, 0xb3,0x74,0x69,0x38,
+ 0x2a,0x95,0x08,0x33, 0x9a,0x81,0x5a,0xd6, 0xd0,0x8c,0x10,0x51, 0xc8,0xd5,0x27,0x14,
+ 0x85,0x01,0x04,0x1b, 0xbd,0xdc,0x80,0xe8, 0xa7,0xa5,0xfc,0x55, 0xaf,0xe0,0x2a,0x6d,
+ 0xe7,0x3f,0x80,0xf7, 0x64,0x73,0x40,0x0e, 0xc2,0x3b,0xb8,0x5a, 0x9b,0x25,0x33,0xd6,
+ 0xfc,0x2e,0x45,0xe1, 0x52,0x2d,0x32,0xed, 0x8b,0x69,0xe0,0xc6, 0xc9,0xd5,0x4a,0xdd,
+ 0xbb,0xdc,0x8d,0xc5, 0x81,0xb5,0x7a,0xc8, 0x84,0x10,0x76,0x0e, 0xbf,0x73,0x11,0x71,
+ 0xc4,0xe1,0x3f,0xb7, 0x9c,0xfb,0xa3,0x31, 0x19,0xeb,0x3d,0x35, 0xa8,0xc9,0x80,0x74,
+ 0xb1,0xf3,0x9e,0x32, 0x14,0x97,0xd6,0x35, 0xc3,0xe4,0x52,0xcd, 0xb2,0xad,0xf4,0x53,
+ 0x47,0x30,0x06,0x51, 0x47,0xf3,0x50,0xfb, 0xf0,0x1b,0xb4,0xba, 0xd2,0xd4,0xe8,0x58,
+ 0xc2,0xd5,0x22,0x58, 0x82,0xbf,0x04,0xaa, 0x10,0xaa,0x6f,0x19, 0x52,0xf3,0x98,0x05,
+ 0x27,0x34,0xdd,0xd2, 0x4b,0x4b,0x94,0xd4, 0x44,0x0a,0xcc,0xcf, 0xd5,0x4b,0xdc,0x33,
+ 0xdf,0x8f,0x58,0x1a, 0x48,0xc0,0x79,0xa8, 0x94,0x4a,0x81,0xf4, 0x1e,0x03,0xb1,0x29,
+ 0x36,0x86,0x00,0xb2, 0xcd,0x3f,0xe3,0xa6, 0xcd,0x9f,0xf0,0xf6, 0x3a,0x9e,0x66,0xf2,
+ 0xe6,0xaa,0x18,0x42, 0xc2,0x04,0xb2,0x10, 0x6a,0x53,0x76,0x78, 0x4b,0xb0,0x0a,0x5f,
+ 0xfe,0x6f,0x8c,0x01, 0xe8,0x8e,0xf4,0x90, 0xbd,0x4d,0xc2,0x2f, 0x85,0xb7,0x5e,0x37,
+ 0x66,0xb5,0x9c,0xf7, 0x75,0xb6,0x86,0xfd, 0x9d,0x32,0x82,0x21, 0xe1,0xb7,0xe4,0xb7,
+ 0xb1,0x34,0x79,0x83, 0xfb,0x47,0x28,0x86, 0x07,0x56,0xcc,0x51, 0x57,0x12,0x76,0xf8,
+ 0x98,0x37,0x0c,0x30, 0x18,0xd3,0xc7,0x8d, 0xa8,0x65,0xf5,0xd7, 0xdf,0x2f,0x77,0x46,
+ 0xdd,0x30,0xff,0x66, 0x3e,0x3b,0x7f,0x53, 0xf8,0x35,0xfc,0xde, 0x46,0x9a,0xe3,0xbf,
+ 0x2d,0x4e,0xef,0x0d, 0xd1,0x42,0x21,0xfa, 0xce,0xe6,0x2a,0xfa, 0xf5,0x7a,0x93,0x78,
+ 0x79,0x27,0x3f,0xad, 0x8d,0x17,0xd0,0x7d, 0xdb,0x49,0xca,0xa1, 0x35,0xd4,0x97,0x14,
+ 0x91,0x25,0x6d,0x86, 0xf0,0x91,0x0b,0xbc, 0xc2,0x80,0xa7,0xee, 0xc1,0x32,0x19,0x29,
+ 0x06,0xeb,0x7a,0x8c, 0x04,0x08,0xb7,0x04, 0xae,0x04,0xfe,0x41, 0x5b,0x00,0x66,0x67,
+ 0x7f,0x76,0x1a,0xe4, 0x89,0x09,0xa7,0x78, 0x6b,0x95,0x28,0x74, 0x98,0x4b,0xd9,0xda,
+ 0x96,0xe6,0xf6,0xe3, 0xe8,0x95,0xd9,0x9c, 0x77,0x73,0xd2,0xd5, 0xf2,0xa7,0x64,0x61,
+ 0xe6,0xfe,0x71,0xc3, 0xea,0xba,0x84,0x05, 0x6e,0x04,0x2b,0x21, 0xc4,0xe2,0x34,0xfe,
+ 0xc9,0x3d,0x95,0x51, 0xbb,0x96,0x0e,0x29, 0x04,0x70,0xaa,0x76, 0xcc,0x67,0x99,0xcf,
+ 0x46,0xb5,0xbd,0x5d, 0xdd,0x9f,0x41,0xe4, 0x78,0x05,0x11,0x00, 0xb0,0xb2,0x70,0xef,
+ 0x0f,0x6f,0x2a,0xf0, 0xf8,0x8b,0xd3,0x8a, 0xbc,0x34,0xd0,0x4f, 0x3e,0x7d,0xf0,0xe9,
+ 0xa5,0x44,0xb1,0xc4, 0xb0,0x24,0x0d,0xd5, 0xd6,0xd2,0x9b,0xea, 0xd4,0xd2,0x42,0x5f,
+ 0x56,0x08,0x36,0x26, 0xd6,0xd8,0x5d,0xc9, 0x3e,0xa1,0x38,0x27, 0x0e,0xd8,0x7a,0xea,
+ 0x8d,0x98,0x25,0xf1, 0x24,0xc6,0xf8,0xb0, 0xd1,0x27,0xb6,0xaf, 0xd0,0xd2,0xe4,0xc6,
+ 0x5e,0x44,0x9d,0x8f, 0x87,0x90,0x09,0xbb, 0x2e,0xe3,0x91,0x62, 0x62,0x37,0xd7,0xb0,
+ 0x6c,0xa9,0x1f,0xb3, 0x29,0x44,0x24,0x8a, 0xc2,0x1e,0x99,0x22, 0xee,0x70,0xac,0x91,
+ 0xbb,0x8f,0x09,0x91, 0xf2,0x4e,0x1f,0x15, 0x02,0x3e,0x8e,0x64, 0xf7,0xeb,0x7d,0xab,
+ 0x68,0x5c,0xa8,0x76, 0x0a,0x8f,0x2e,0x04, 0x00,0xac,0xfb,0xf0, 0xd1,0x77,0xb0,0x1a,
+ 0x36,0xce,0xa2,0x75, 0xa2,0x65,0xdd,0x1e, 0xe8,0xd6,0x17,0x29, 0x04,0xb5,0xc4,0xc9,
+ 0x17,0xc8,0x2f,0xc3, 0x7a,0x2a,0xf4,0x79, 0x00,0xa6,0xd6,0xb1, 0x91,0xa4,0x0f,0xb7,
+ 0x51,0xc8,0xa4,0x4e, 0x6a,0x63,0x1f,0x5c, 0x83,0xb9,0x84,0x72, 0x33,0x6c,0xd0,0x21,
+ 0x15,0xed,0x6f,0xd7, 0x7b,0x5b,0xcf,0xd1, 0x19,0x51,0x27,0x38, 0x4b,0xfe,0x0e,0xe7,
+ 0xef,0xdd,0x58,0x50, 0x94,0x4b,0xbd,0x69, 0x79,0x73,0x99,0x07, 0xcb,0xb9,0x50,0x3b,
+ 0xa8,0xf1,0x27,0xa8, 0xbd,0x28,0xa7,0x7a, 0xee,0x59,0x5b,0xcf, 0xea,0x33,0xdf,0xac,
+ 0x8c,0x7b,0x84,0x4e, 0xf5,0xd5,0xec,0x3b, 0x1b,0x20,0xcd,0x45, 0x6a,0x00,0xb5,0x89,
+ 0x3b,0xc1,0x74,0x4c, 0x72,0x91,0x35,0xb3, 0x76,0xff,0xc5,0xd1, 0xd5,0x92,0xac,0x05,
+ 0xcf,0x26,0xf7,0x86, 0x8f,0x7b,0x47,0x84, 0xec,0xee,0x9d,0xba, 0xdd,0xe0,0xaa,0x66,
+ 0xe2,0x0e,0xbc,0xb5, 0xc2,0x1f,0x6c,0xe9, 0x92,0x6a,0xac,0x9f, 0x8b,0xb5,0x77,0x51,
+ 0xc2,0x1c,0x2a,0x98, 0x85,0x20,0x32,0x4a, 0x2f,0x51,0xdd,0xaf, 0xd6,0xd6,0x3d,0x80,
+ 0x90,0xed,0xa7,0x23, 0xaa,0x76,0xc9,0x31, 0xe0,0xe4,0xa0,0x21, 0xa9,0x96,0xaf,0x8f,
+ 0xc6,0xa0,0xd7,0xb7, 0x74,0xa3,0x4d,0x65, 0x2b,0x7a,0x6c,0x17, 0x2d,0x56,0x66,0x8a,
+ 0x9a,0x12,0xff,0xe3, 0xf7,0x37,0xed,0x8b, 0xa6,0x80,0x9b,0xf9, 0xdc,0xbe,0xf8,0xbb,
+ 0xee,0x2c,0x24,0x21, 0x0e,0x8f,0x3e,0xe6, 0x8a,0x75,0xf1,0xb4, 0xac,0x07,0xe2,0xb6,
+ 0xec,0x72,0x9c,0xed, 0x6d,0xfe,0x82,0x3f, 0xb6,0x68,0x2d,0x8d, 0x59,0x61,0x06,0x78,
+ 0x7c,0x9a,0x04,0x82, 0x0f,0x99,0x62,0x33, 0xc4,0x4d,0x58,0x3c, 0x87,0x21,0x87,0x6e,
+ 0x3a,0xc6,0xc9,0x06, 0x15,0xa5,0x81,0x00, 0xe1,0x1a,0x20,0x93, 0xb3,0x7e,0xfd,0xed,
+ 0x86,0x60,0xba,0x4b, 0xc7,0x1e,0xda,0xec, 0x3a,0x03,0xa4,0xdf, 0xb5,0x86,0xfc,0x79,
+ 0x2c,0x8b,0x5e,0x66, 0x27,0xa0,0x3a,0x5c, 0xe5,0x24,0x5a,0x64, 0x84,0x32,0xc7,0xe8,
+ 0xa5,0xc8,0x90,0x06, 0xa6,0x74,0x14,0x48, 0x8c,0x53,0xc1,0xf0, 0xc7,0x88,0x61,0x17,
+ 0xe4,0x50,0xac,0x29, 0x57,0x7e,0x91,0x4d, 0x13,0xd8,0x44,0x5c, 0x9f,0x8e,0x2a,0xd6,
+ 0x87,0x7a,0xb6,0x6a, 0xff,0xfe,0x96,0xe4, 0xf2,0x24,0x2f,0x1b, 0xf6,0x43,0x07,0x99,
+ 0x81,0x14,0x0c,0x74, 0x19,0xbd,0xb6,0x6f, 0x30,0xef,0xd7,0x65, 0xeb,0xec,0xe6,0x39,
+ 0x60,0xfb,0xdf,0x0a, 0xac,0xa5,0x35,0xf3, 0x7c,0x47,0xb9,0xdf, 0x49,0x6e,0x39,0x54,
+ 0x55,0x4c,0x97,0xe6, 0x54,0x61,0x42,0x31, 0x53,0x52,0xcb,0x52, 0xdf,0xfa,0xa7,0xb8,
+ 0xf6,0xc5,0x88,0x1a, 0x21,0xe4,0x05,0x49, 0x11,0xbd,0xe8,0x8d, 0x33,0x7a,0x11,0xda,
+ 0x62,0x91,0x3d,0xab, 0x2f,0x8f,0x81,0xe8, 0x7d,0x5b,0x70,0x8b, 0xc1,0x4c,0xf6,0xae,
+ 0xa8,0xe9,0xb5,0xc4, 0xa8,0xe4,0xba,0x1e, 0x17,0xd0,0xda,0x4d, 0x0e,0x71,0xb8,0x3b,
+ 0x2a,0x16,0xd0,0x5f, 0xd2,0x41,0xf6,0x49, 0x13,0x7b,0x32,0x75, 0xc9,0x4b,0xb7,0x08,
+ 0xce,0x98,0xf6,0xa8, 0x09,0x6a,0x1f,0xf1, 0x50,0xa2,0xe7,0x7d, 0x73,0xe3,0x08,0xad,
+ 0x78,0x9a,0x5a,0xf3, 0x45,0xd4,0x26,0xc0, 0x26,0x7c,0x59,0xa3, 0xd2,0x41,0x8a,0x3c,
+ 0xcb,0x64,0x7d,0x04, 0x75,0x4b,0x75,0x1e, 0x9a,0xd0,0xd9,0x96, 0xf1,0xdf,0xc4,0xce,
+ 0x4a,0x04,0x94,0x93, 0x5b,0x6b,0x52,0xa6, 0x23,0x7c,0x46,0x74, 0x7b,0x78,0x53,0xb1,
+ 0x5e,0x42,0xaa,0x39, 0x56,0x3c,0x97,0x93, 0x67,0x1c,0xab,0xdd, 0xec,0x7c,0x45,0x75,
+ 0x4e,0x7a,0x9f,0xfa, 0x9b,0x85,0x87,0x82, 0xa6,0xd7,0xfb,0x59, 0x7c,0x48,0x66,0x6c,
+ 0x4a,0xfe,0xfd,0x55, 0xeb,0xab,0x35,0x48, 0x5a,0x39,0x93,0xe0, 0xf3,0x85,0xbf,0x95,
+ 0x22,0xd5,0xda,0x69, 0x87,0x47,0x56,0x60, 0x40,0x5d,0x26,0x1e, 0x46,0x6c,0xc2,0xf3,
+ 0xbc,0xe4,0x51,0x1e, 0x88,0x97,0x3c,0x9c, 0x5e,0x2c,0xa5,0x3f, 0x19,0x8f,0x8a,0xc7,
+ 0xfb,0xa2,0xfb,0x87, 0x2b,0xb1,0x03,0x86, 0xb6,0x59,0xcd,0x2e, 0xc7,0x12,0xf6,0xb4,
+ 0x72,0x89,0x4c,0xcf, 0x4b,0x73,0xdb,0x9d, 0x74,0x2f,0x33,0x58, 0x99,0x25,0xd3,0xb4,
+ 0xa5,0xb9,0x6e,0x99, 0x5c,0x8d,0x75,0xdf, 0x8c,0xb3,0x43,0xac, 0x74,0xe2,0xfb,0xd6,
+ 0x01,0x23,0x85,0x5b, 0x59,0xea,0x6a,0xe7, 0xc3,0x2c,0x7c,0x1c, 0xac,0x30,0xf7,0x80,
+ 0x52,0x90,0x07,0x9d, 0x98,0x44,0x5a,0x99, 0xd2,0xed,0x59,0xf0, 0x0f,0x1d,0x23,0xe8,
+ 0xda,0x57,0xf1,0x61, 0xbe,0x2d,0xb6,0x9a, 0xbd,0xf0,0x0a,0x86, 0x4c,0x22,0x0c,0x92,
+ 0x8f,0x8f,0x7f,0xec, 0x3c,0x5e,0x9a,0x78, 0xb0,0x17,0xfd,0x91, 0xfb,0x0a,0x0e,0x8f,
+ 0x49,0xcc,0x62,0xcd, 0x8e,0xa7,0xaf,0xa7, 0x90,0xc0,0x39,0x77, 0x42,0x05,0xe5,0xf1,
+ 0x14,0x52,0x33,0x3c, 0x82,0x1b,0xe6,0x06, 0xa9,0x58,0x12,0x34, 0x7c,0xa6,0xb2,0x60,
+ 0x8a,0xa0,0x58,0x63, 0x9b,0x96,0xa3,0x75, 0xf7,0x8c,0x3a,0x62, 0xfd,0x6c,0xaa,0x05,
+ 0x21,0x44,0xc5,0x72, 0x47,0x3b,0x73,0x70, 0x0d,0xc8,0xe4,0x13, 0x44,0xfb,0xf8,0x8f,
+ 0x59,0xea,0xa2,0x1f, 0xc6,0x3b,0x04,0x72, 0xb5,0x17,0xc7,0x2e, 0x52,0xff,0x6a,0x97,
+ 0x9e,0x4e,0x1f,0x05, 0xf6,0x66,0xa4,0x70, 0x73,0xd0,0x66,0x14, 0xe1,0xc7,0x37,0x39,
+ 0x30,0xa5,0xb8,0x23, 0xac,0x11,0x44,0xc4, 0x4b,0x16,0xd5,0x3a, 0xf9,0xa3,0x87,0xe2,
+ 0x78,0x2d,0xf5,0x16, 0xb8,0x5c,0x95,0xd6, 0xdf,0x40,0x4d,0x2a, 0x99,0x6a,0xa5,0x87,
+ 0x5f,0x55,0xcc,0x8b, 0x49,0x9c,0x77,0x2d, 0xb4,0xa0,0xb1,0xc7, 0x33,0x7e,0x15,0x8c,
+ 0x8e,0x6d,0x10,0xab, 0xbe,0x06,0xc2,0x58, 0x84,0x53,0xc3,0xb4, 0xd2,0x06,0xc4,0x3f,
+ 0xe0,0x5e,0x9b,0xe6, 0xa9,0xc0,0x6e,0x18, 0x23,0x66,0xe4,0x5b, 0x25,0x1c,0x5d,0xb0,
+ 0x40,0xa9,0x81,0xde, 0x86,0xd5,0xfc,0xe4, 0xf6,0x0c,0x1c,0x8d, 0x0c,0x92,0xfc,0x80,
+ 0x89,0xad,0x58,0xaf, 0x29,0x3c,0xe2,0x7f, 0x88,0xe9,0x12,0x87, 0x28,0x8d,0x3e,0xdf,
+ 0xb1,0x9a,0xa3,0x2f, 0xe2,0x9b,0x75,0x09, 0xe9,0xb3,0x70,0x3b, 0xa6,0xff,0x27,0x1a,
+ 0x01,0xa6,0x61,0xe5, 0x0a,0xe6,0x2f,0x52, 0xb0,0x2e,0xc2,0x58, 0x0c,0x21,0xca,0xb6,
+ 0xe8,0xe7,0x6a,0x0a, 0x1f,0xee,0xc0,0xda, 0x07,0xec,0x6d,0xf2, 0x8c,0x44,0x58,0xb3,
+ 0xcd,0x0b,0x11,0x22, 0xcd,0x5e,0x56,0x89, 0xe9,0x2f,0xe4,0x62, 0xa4,0x66,0x28,0x27,
+ 0x22,0xfd,0xe4,0xdf, 0xbd,0xae,0x76,0xe6, 0x7e,0xa7,0x5a,0xf0, 0x8c,0x72,0x71,0x77,
+ 0x1b,0x9e,0x85,0xab, 0xe9,0x38,0xf6,0xa9, 0xb7,0xc4,0xd3,0xdc, 0x6b,0x89,0x08,0x20,
+ 0x07,0x28,0x71,0x69, 0xa7,0x99,0xf7,0xb4, 0x8b,0x1d,0xa9,0xd0, 0x97,0x56,0x1c,0x34,
+ 0xd3,0x63,0x73,0x81, 0xbe,0x9c,0xe4,0x28, 0xc6,0xd9,0x43,0xf3, 0xd2,0x5d,0xc2,0x7e,
+ 0x40,0xd4,0xc4,0x84, 0xed,0x31,0xe2,0x4f, 0xfa,0x05,0x2f,0xe2, 0x1c,0x53,0x38,0x91,
+ 0x62,0xca,0x81,0x74, 0x91,0x18,0x67,0x90, 0xed,0x8f,0x8a,0x80, 0x08,0xf1,0x09,0xcd,
+ 0x06,0xc8,0x84,0x12, 0x08,0x6f,0x4c,0x40, 0x44,0xfc,0x91,0x15, 0x33,0x53,0x83,0xd9,
+ 0xa9,0x81,0xf1,0xef, 0xf4,0x43,0x73,0x52, 0x7e,0x74,0x47,0x6a, 0xc3,0x43,0x72,0x16,
+ 0x64,0x52,0xbc,0x35, 0x0c,0x14,0x63,0xfe, 0x4e,0xa9,0x7b,0x8a, 0xdc,0x77,0x36,0x96,
+ 0x95,0x5e,0xe0,0x84, 0xd5,0x62,0x6d,0xcc, 0xa7,0x26,0x1d,0x57, 0x58,0xdb,0x8b,0xec,
+ 0xab,0xd4,0x65,0xd3, 0x13,0xbd,0xc7,0x6d, 0xbf,0x9b,0x1a,0x96, 0xaa,0x7e,0xa3,0x2f,
+ 0xa5,0xae,0xbd,0xd5, 0x76,0x61,0xb6,0x9f, 0x0a,0x5c,0x8a,0x75, 0xdf,0xf9,0xc5,0xdc,
+ 0xf3,0x99,0x32,0x2a, 0x98,0x00,0xe1,0x74, 0xf5,0xe9,0xef,0x2b, 0x88,0x18,0x31,0x9a,
+ 0xe9,0x5d,0x68,0x6d, 0xbf,0xe5,0xbd,0x7e, 0xc9,0x0b,0xe0,0x16, 0x62,0x1b,0xa0,0xcf,
+ 0x07,0x56,0x6e,0x60, 0x54,0xb5,0xc1,0x3b, 0xe0,0x35,0x1a,0x78, 0xfa,0xf8,0x12,0x56,
+ 0xbe,0x25,0xf8,0xff, 0x68,0xa8,0xfe,0x4d, 0xf9,0x52,0x52,0x89, 0xcf,0xdc,0xc8,0x4b,
+ 0x8c,0x2a,0xda,0xe0, 0x83,0x5e,0x88,0xbe, 0xbd,0x5b,0x30,0x4e, 0x0e,0xa4,0x8a,0x21,
+ 0x5a,0x26,0x90,0x98, 0x68,0xae,0xe8,0x5d, 0x32,0xf5,0x27,0xe3, 0x64,0x85,0xad,0xb6,
+ 0x2b,0x2d,0x5f,0x66, 0x8b,0x51,0xa1,0x0a, 0xd9,0xf4,0x6c,0xa1, 0x09,0x2e,0x27,0xd0,
+ 0x9a,0x33,0xbf,0x35, 0x71,0x01,0x0b,0xec, 0x25,0x3f,0xff,0x75, 0x62,0xc5,0x1d,0xfc,
+ 0xed,0x51,0x68,0x1f, 0x16,0x58,0x82,0xcd, 0xba,0xa9,0x9f,0xa9, 0xa1,0x47,0x0c,0xff,
+ 0x84,0xea,0x74,0x5f, 0x95,0x02,0xb1,0x66, 0x9a,0x7b,0xec,0x40, 0x2a,0x53,0xf3,0x2f,
+ 0x7f,0x29,0xec,0x8b, 0xc1,0x54,0xeb,0x6d, 0x70,0x84,0xb3,0x69, 0xe9,0x3e,0xae,0x79,
+ 0xac,0xd1,0x52,0xa4, 0x34,0x79,0x0b,0x24, 0x33,0x9b,0x01,0x71, 0x9d,0x8d,0x0e,0x37,
+ 0xd3,0xfd,0xf0,0x08, 0x27,0xfe,0x90,0x81, 0x1a,0x6b,0xba,0x62, 0x7b,0x8e,0xe4,0x97,
+ 0x53,0x62,0x31,0xa7, 0xe5,0x35,0x03,0x4f, 0x07,0xe5,0x9f,0xac, 0x14,0xad,0xd8,0x1b,
+ 0x74,0x7d,0xe2,0x11, 0xea,0x9b,0x5b,0x9a, 0xb8,0x78,0x9a,0xae, 0x84,0x80,0xc0,0xb8,
+ 0xd2,0x8b,0x38,0x84, 0x6d,0x1e,0xa7,0x76, 0xbf,0xde,0xe9,0x19, 0xe4,0x45,0xf6,0x3f,
+ 0x32,0xfc,0x69,0x15, 0xc7,0x1b,0xb3,0x11, 0x3d,0x0e,0x62,0xfb, 0x6b,0xca,0x2f,0x75,
+ 0x28,0x72,0x52,0x10, 0x30,0x07,0x21,0x60, 0xba,0x6e,0x7d,0x98, 0xea,0x3e,0x05,0x55,
+ 0xb7,0x04,0x86,0xcd, 0x3b,0x40,0x1f,0xa2, 0x96,0x76,0x7e,0x76, 0x1b,0xe8,0xad,0x35,
+ 0x12,0x10,0xaa,0x21, 0x79,0x9d,0x52,0x7b, 0xca,0xde,0x3b,0xd9, 0xff,0x70,0x3e,0xb0,
+ 0x3b,0xd5,0x31,0xb0, 0xcd,0xa5,0x3b,0x1a, 0x22,0x71,0x7e,0x6d, 0x7d,0x1b,0x93,0x88,
+ 0xf5,0xf0,0xc5,0x82, 0xef,0x92,0xf4,0x6a, 0x7f,0x5c,0x8b,0x9b, 0xfd,0xfa,0xdd,0x4d,
+ 0x52,0x1c,0x99,0xa8, 0xf8,0x12,0xc2,0xdb, 0xa0,0x41,0x64,0x3c, 0x6d,0x9c,0x5f,0x74,
+ 0xf6,0xf0,0x8d,0x5c, 0x41,0xba,0x1b,0x0a, 0x2f,0x49,0x54,0x53, 0xb1,0x09,0x31,0x7d,
+ 0x98,0xa9,0x61,0x0b, 0x9d,0x4d,0x92,0x42, 0x49,0x75,0x67,0xad, 0xcf,0x35,0xfb,0x78,
+ 0xc9,0x29,0x39,0xdc, 0x9f,0x21,0x2e,0x7f, 0x85,0x7e,0xa9,0x7b, 0x62,0xba,0xec,0x15,
+ 0x90,0xde,0x6a,0x6b, 0x35,0xf7,0x16,0xbb, 0xb5,0x64,0x81,0x52, 0x1b,0x60,0x1b,0xb1,
+ 0x09,0x80,0xa4,0x0e, 0xf0,0x29,0xd8,0xbf, 0x36,0xdb,0x13,0x15, 0xd3,0xb7,0x67,0x4b,
+ 0x5d,0x3e,0x7a,0x91, 0x08,0x69,0x3d,0x14, 0x08,0xfe,0x2c,0x00, 0x98,0x46,0x12,0xf5,
+ 0x30,0x25,0x96,0x2d, 0x38,0xbd,0xf1,0x75, 0xc9,0x39,0x3e,0xe7, 0x7c,0xdc,0x0d,0x82,
+ 0x43,0x9c,0x8b,0x17, 0x4b,0xd9,0xf9,0xeb, 0xbf,0x4a,0x3e,0x16, 0xb9,0x19,0x20,0xd0,
+ 0xb9,0x9c,0x3e,0x8b, 0x0c,0x3b,0x59,0x82, 0x64,0x0f,0x26,0x6d, 0x81,0xef,0x91,0x44,
+ 0x9b,0x77,0x78,0xe8, 0x9b,0x0a,0x7c,0xa0, 0x44,0xa1,0x57,0x6e, 0x94,0x4a,0x66,0xda,
+ 0x50,0x3b,0xfa,0xe1, 0xb0,0x17,0xc0,0x45, 0x4e,0x15,0x81,0x1f, 0x3f,0x8c,0x3f,0xeb,
+ 0xf2,0x82,0x22,0x8a, 0xd2,0x80,0xb4,0xb3, 0x1c,0x23,0x2a,0x37, 0x65,0x1e,0x0a,0x2a,
+ 0x93,0x5d,0x3e,0x75, 0xd2,0xbe,0x10,0xf6, 0x6b,0x01,0xd2,0xf4, 0xe6,0x8b,0x52,0xc6,
+ 0x62,0xa8,0x3d,0x11, 0x48,0x78,0xed,0x96, 0x40,0x54,0x87,0x78, 0xd3,0xf6,0x10,0xb2,
+ 0x23,0x22,0x0b,0xd2, 0xe2,0xe4,0xcd,0x41, 0x62,0x6c,0x7d,0xe3, 0x4e,0x39,0xa0,0xf7,
+ 0x7b,0xb1,0x7f,0x98, 0x8a,0x9e,0xf0,0x39, 0x58,0x31,0x96,0xa8, 0x04,0x8e,0xcd,0x20,
+ 0x8a,0xaf,0x2b,0x69, 0xf2,0x5c,0xdc,0x87, 0x73,0x0d,0x46,0xa1, 0xe0,0x88,0x12,0xee,
+ 0x9a,0xa5,0xfe,0x27, 0x82,0x41,0xa4,0x20, 0x87,0xf3,0x73,0xff, 0xc4,0x41,0xe5,0xee,
+ 0x3e,0x1f,0x60,0x99, 0x59,0xaa,0x33,0x7f, 0xb3,0x2a,0xd0,0x8f, 0xe9,0xaa,0x61,0x57,
+ 0x2b,0x58,0x12,0xef, 0x0c,0x09,0x3c,0x05, 0xd6,0x13,0xd0,0xa0, 0x84,0x0f,0xc9,0x2a,
+ 0x81,0x7b,0xbf,0xc9, 0x73,0xe3,0xfa,0x5f, 0x2d,0xaa,0xe6,0xdb, 0x78,0xaf,0x5f,0x8b,
+ 0x81,0xb0,0x06,0xb0, 0xce,0xd0,0xb8,0x95, 0x26,0xe4,0xe4,0x21, 0x36,0x89,0xdc,0x8b,
+ 0xac,0x8b,0x8f,0x97, 0xfa,0x17,0x84,0x1e, 0xa7,0xfb,0xf6,0xec, 0x7e,0xe1,0xbd,0x42,
+ 0xae,0xee,0xdf,0xec, 0xd0,0x56,0x90,0xfe, 0x67,0x04,0x8a,0xa7, 0x5e,0xad,0x61,0x1a,
+ 0xf9,0xa9,0x47,0x4c, 0x1f,0x8f,0x98,0x3a, 0x1c,0x6c,0xf2,0xd6, 0x95,0x8d,0xd4,0x9f,
+ 0x36,0x46,0x46,0x1f, 0x01,0xff,0x8c,0x9e, 0x61,0xc3,0xc5,0x8f, 0x08,0x95,0x6c,0x6a,
+ 0x43,0x6c,0xcd,0xf7, 0xf8,0xbe,0xa3,0x2a, 0x11,0xcc,0x9f,0x44, 0x75,0x0a,0x05,0x1b,
+ 0x73,0xcf,0xd1,0x53, 0x58,0xa0,0xb4,0xaf, 0x35,0xeb,0x74,0x0d, 0x36,0xe8,0xb1,0x4f,
+ 0x3f,0x48,0x30,0xe6, 0xce,0x11,0x3c,0x60, 0x8c,0xf9,0xc2,0x39, 0xcf,0xa2,0x73,0x33,
+ 0x98,0xa6,0xcb,0xf2, 0x19,0x04,0xc1,0x48, 0xac,0x55,0x29,0xf1, 0xea,0x45,0x12,0xea,
+ 0x3b,0x02,0x5b,0x37, 0xd1,0x6a,0xd4,0xf1, 0xbb,0xc6,0xc7,0xb2, 0x28,0x68,0xc7,0xba,
+ 0xcb,0x8e,0x90,0xce, 0x71,0x63,0xdd,0x77, 0x6d,0x94,0xfa,0x8a, 0xe4,0x93,0x02,0xb4,
+ 0x5d,0x8b,0xd7,0x52, 0xda,0x59,0xac,0xef, 0x99,0x0f,0xf0,0xd7, 0x39,0xe0,0x52,0x5b,
+ 0xdd,0xd1,0x26,0x6d, 0xae,0x7a,0xbe,0x35, 0xf2,0xfd,0xaf,0xef, 0xda,0x47,0x33,0x1b,
+ 0x73,0x3b,0xa7,0x2a, 0xae,0xdc,0xd4,0x5c, 0x0b,0xbb,0xfb,0x3b, 0xc6,0x85,0x3b,0x20,
+ 0x66,0x0f,0xd4,0xd4, 0xe1,0x65,0x1a,0xc3, 0xd3,0x80,0x8e,0x64, 0x58,0xde,0xbc,0x25,
+ 0x30,0x59,0x13,0x5e, 0x8b,0x22,0xd8,0xcf, 0x60,0x61,0x05,0xd2, 0xbd,0xea,0x66,0xc7,
+ 0x25,0xa0,0xbb,0xc0, 0xd0,0x11,0x89,0x29, 0xe4,0x97,0x64,0xe3, 0xda,0x02,0x42,0x35,
+ 0xe5,0x7d,0xc2,0x78, 0x14,0xca,0xcb,0x18, 0xee,0x65,0xbd,0xc6, 0x3a,0x6d,0x5f,0xa6,
+ 0xd2,0xd9,0x2f,0x0d, 0xc3,0x85,0xf1,0x13, 0xdb,0xd7,0xf8,0x1c, 0x97,0xc8,0x2e,0x2f,
+ 0x56,0x1a,0x5a,0x06, 0x8e,0xf3,0x4f,0xf5, 0x92,0x4d,0xd9,0x65, 0xd5,0x84,0xaa,0xfb,
+ 0x71,0xfd,0xd8,0x2d, 0x06,0xd3,0xaf,0x76, 0x77,0xda,0x8f,0x6f, 0xad,0x65,0x30,0xfc,
+ 0x2a,0xe8,0x8e,0xdd, 0x1e,0x23,0xb5,0xc5, 0xfc,0x28,0x19,0x49, 0xe9,0xe2,0x74,0xdc,
+ 0x65,0x18,0xd4,0x55, 0x7c,0xf5,0xff,0x4f, 0x41,0xd5,0xee,0xb5, 0x49,0xd3,0x37,0x79,
+ 0x96,0x5e,0xd8,0xab, 0x55,0x4b,0x31,0xb2, 0xbc,0x25,0xea,0x81, 0xac,0x44,0x5e,0x41,
+ 0xf2,0x47,0x71,0x8a, 0x9f,0xca,0xfd,0x4d, 0x2f,0x7c,0x99,0xc8, 0x47,0xba,0x51,0x3f,
+ 0x88,0x58,0xdf,0xdf, 0xac,0x2e,0xf7,0x2d, 0x3e,0xbb,0x5e,0x11, 0x4f,0xfa,0xed,0xd0,
+ 0x09,0x68,0x62,0x13, 0x65,0x95,0x5d,0x9a, 0x31,0x30,0x20,0x61, 0x0a,0xd8,0x2a,0xd0,
+ 0x93,0x30,0xed,0xce, 0x2c,0xe5,0x96,0x42, 0x13,0x35,0x34,0x71, 0xaa,0xba,0xa9,0x0d,
+ 0x74,0xc7,0xd0,0x8e, 0x60,0x65,0x8c,0x89, 0x68,0xef,0x6e,0xcf, 0xf3,0x04,0xd5,0xa4,
+ 0xf3,0x1f,0x41,0x42, 0x71,0x7b,0xe9,0xcc, 0x93,0x79,0xe4,0x40, 0x56,0x87,0x4e,0x24,
+ 0x29,0x77,0x1b,0xd7, 0x55,0x36,0xa3,0x44, 0x8a,0xfe,0x83,0xfc, 0x85,0xae,0xc9,0x10,
+ 0xe2,0x63,0x77,0x40, 0x0e,0x14,0x32,0x5a, 0x60,0x6e,0x86,0x44, 0xa1,0x72,0x81,0xd8,
+ 0x37,0x66,0xd5,0x7d, 0x6b,0x82,0x53,0xbe, 0xdc,0xc6,0x03,0xa7, 0xd2,0x7b,0x8d,0x7d,
+ 0x6c,0x61,0x65,0xa0, 0x8c,0x7e,0xe7,0x33, 0x82,0x31,0x55,0xc9, 0x97,0x27,0x91,0xf7,
+ 0xc4,0xf7,0xbb,0x14, 0xac,0x3f,0x5a,0x2e, 0x81,0xc9,0x1b,0x90, 0x2a,0x17,0x00,0x1f,
+ 0xe6,0x06,0x17,0x6c, 0xa5,0x67,0xbd,0x1e, 0xdc,0xab,0xb1,0x55, 0x3d,0xcb,0xac,0x73,
+ 0xab,0x3a,0xac,0xe3, 0x0e,0x6c,0xff,0x67, 0xc8,0xc9,0x71,0x3e, 0x56,0xa8,0x94,0x32,
+ 0xb8,0x6c,0x01,0x52, 0x78,0x90,0xde,0x1f, 0xc1,0xa0,0x7a,0xaf, 0x05,0x52,0x6a,0x13,
+ 0x1c,0x09,0xb5,0x37, 0x7c,0x18,0xe1,0x7e, 0x51,0x6e,0x6d,0x6e, 0xc0,0xb7,0x1c,0x93,
+ 0xb8,0xfb,0x11,0x8c, 0xdc,0xdd,0x6d,0xc4, 0x07,0xe2,0x39,0x3e, 0x2c,0x06,0x8f,0x01,
+ 0x70,0xbf,0xa7,0x6d, 0xaa,0x9a,0xe7,0x9f, 0x16,0x04,0x3a,0x4b, 0x3d,0xe8,0x1d,0xea,
+ 0x49,0x02,0xe2,0xa0, 0x0d,0xb5,0x95,0x75, 0x56,0xee,0x63,0x8f, 0xdf,0x34,0xee,0x79,
+ 0x8f,0x81,0x23,0xdd, 0x88,0x13,0xf2,0xf9, 0x0a,0x6d,0x5b,0xdc, 0x01,0x31,0xcf,0xcc,
+ 0x83,0xfe,0x16,0x0e, 0x36,0x8e,0x68,0x91, 0xae,0x90,0x3c,0x38, 0xca,0x34,0x8f,0x7e,
+ 0x20,0x7e,0x8c,0xee, 0x45,0x3c,0x38,0x00, 0x8c,0x86,0xbb,0x19, 0x91,0x4d,0x77,0xb3,
+ 0xe5,0x97,0xd9,0x84, 0x59,0x84,0xd6,0x89, 0x1c,0xf5,0x18,0x58, 0x81,0x6b,0x36,0x95,
+ 0x5b,0x66,0x7e,0x92, 0x14,0xeb,0xf8,0x27, 0xe8,0xba,0xa9,0x89, 0xcd,0x50,0x2c,0xa9,
+ 0x5c,0x54,0x30,0x9d, 0x34,0x62,0x6d,0x22, 0xf9,0x4c,0x57,0x00, 0xa4,0x2c,0x36,0x89,
+ 0x5d,0x55,0x7a,0xdb, 0xd0,0x42,0xfe,0xd6, 0xa5,0xc3,0xfb,0x50, 0xc0,0x96,0xdb,0x1f,
+ 0xd2,0x49,0xc8,0x94, 0x11,0x84,0x2b,0x93, 0xe5,0x94,0x68,0x4e, 0x29,0x84,0x3d,0x50,
+ 0x2e,0x69,0x78,0xe1, 0xc9,0xc6,0x90,0x20, 0x10,0x85,0xa5,0x4f, 0xb1,0x58,0x25,0x76,
+ 0xa4,0x59,0xc4,0xe6, 0x5b,0xf2,0x08,0xc8, 0x4a,0x67,0xb6,0xb0, 0xee,0x4e,0x6a,0xc8,
+ 0x33,0xf2,0x65,0x0f, 0xcd,0x78,0xfb,0x27, 0xd4,0xb2,0x41,0x54, 0xcc,0xb4,0x5a,0x45,
+ 0xcc,0xaa,0x9a,0x38, 0xd3,0xa4,0x46,0x2b, 0xe9,0x5e,0x6c,0x3d, 0x9e,0x8d,0x2b,0xbb,
+ 0xfd,0x92,0xb5,0x72, 0xfe,0xbb,0x40,0x70, 0xdc,0x6e,0x82,0x4c, 0x33,0x5c,0xcc,0xc3,
+ 0x08,0x37,0x7e,0x9c, 0x31,0x61,0x13,0x9f, 0x63,0xa6,0x22,0x60, 0x2e,0x01,0x2f,0x68,
+ 0xa2,0x16,0x15,0x95, 0xc1,0xf1,0x7d,0x1c, 0xbf,0xf5,0x6c,0x9a, 0x1f,0x84,0x52,0x93,
+ 0xb8,0x4f,0x37,0xf2, 0x8c,0x75,0xaf,0x4c, 0xbb,0x1e,0xb6,0xfc, 0xf9,0xa1,0xe0,0x4c,
+ 0x0a,0x64,0x3d,0x0b, 0x93,0xe2,0x62,0xa0, 0x10,0x07,0xb3,0x43, 0x07,0x91,0x27,0x64,
+ 0x78,0x80,0xf5,0xd5, 0x04,0x03,0x09,0x65, 0x1c,0xca,0x45,0x43, 0x9b,0xa1,0x16,0xa2,
+ 0x10,0x24,0xe7,0xd3, 0x2e,0x1c,0x5b,0x83, 0x35,0x80,0x9b,0x02, 0xe9,0xad,0xa2,0x3f,
+ 0x0b,0xed,0x4c,0xde, 0xd9,0xa0,0xc6,0xeb, 0xcc,0x99,0x5e,0xe7, 0x0c,0xc8,0xb1,0xab,
+ 0x66,0x03,0x03,0xf2, 0x14,0xeb,0x05,0x26, 0x14,0x58,0x2f,0xb6, 0xdd,0xde,0x99,0xb7,
+ 0x27,0x31,0x9a,0x28, 0xfb,0x82,0xce,0xff, 0xd3,0x54,0x7d,0xaf, 0xa3,0x9e,0xef,0xef,
+ 0x07,0xa1,0x61,0x4a, 0x27,0x26,0xcc,0xa7, 0x92,0xfa,0x0b,0x54, 0xce,0x4a,0x5f,0x40,
+ 0x6d,0x26,0xe6,0xfa, 0x3a,0x25,0x39,0xfa, 0x7a,0x0c,0x8d,0xfb, 0xe2,0x41,0xb7,0x5e,
+ 0x0f,0x7c,0x75,0x56, 0x1a,0xca,0x1b,0x8d, 0x66,0x83,0xb7,0x9c, 0x89,0x91,0x7f,0xd4,
+ 0x6e,0xfa,0x90,0x76, 0x64,0x11,0x7e,0xe7, 0xb1,0xd0,0x5c,0xfb, 0xd2,0xc9,0x8c,0x17,
+ 0x26,0x4e,0x43,0x3b, 0xd1,0x5c,0x9a,0x06, 0x9a,0xe0,0xbc,0xed, 0xe9,0x0f,0x66,0x48,
+ 0x4a,0x7b,0xf6,0x41, 0x4c,0x6d,0x3d,0x21, 0x98,0xb9,0x09,0xb9, 0x62,0x23,0x0d,0x29,
+ 0x05,0xe1,0x50,0x25, 0x23,0xf8,0x5c,0x7d, 0xd5,0xe8,0x5d,0x04, 0x59,0x90,0x0f,0x36,
+ 0xef,0xf9,0x35,0x51, 0x23,0xba,0xa3,0x34, 0x06,0x27,0xe5,0x64, 0x4c,0x8e,0x79,0xc7,
+ 0xcd,0xd2,0x0a,0x32, 0xa4,0x33,0x10,0xc9, 0xdf,0x19,0x78,0x50, 0xbd,0xf0,0xb0,0x84,
+ 0xaf,0x8a,0x87,0x50, 0x16,0x0f,0x40,0x44, 0xfe,0xc2,0x44,0xe4, 0x4f,0x40,0x57,0xdc,
+ 0x83,0x19,0xdc,0xbd, 0x28,0x93,0x61,0xf5, 0x10,0x86,0x55,0x75, 0x50,0x46,0x52,0x7c,
+ 0x79,0x73,0xfe,0x3d, 0x8d,0xe6,0x37,0x76, 0x60,0x86,0xd1,0x95, 0xe0,0x68,0x4b,0x0d,
+ 0x08,0x3e,0xea,0xb0, 0x58,0x4b,0x43,0xea, 0xde,0xe8,0x0a,0x2e, 0x5b,0x47,0xa8,0xe1,
+ 0x69,0xcc,0x3c,0xea, 0x05,0xce,0x08,0xc9, 0xd0,0x8d,0x76,0x96, 0xd8,0x69,0xc9,0x03,
+ 0x02,0xd3,0x75,0xe7, 0x8b,0x01,0x74,0x71, 0x17,0xcb,0x44,0xc5, 0xdd,0x3b,0xf6,0xa0,
+ 0x1a,0x0c,0x2a,0xf8, 0x97,0x89,0xad,0xc9, 0x49,0xb6,0x9d,0xf2, 0x5e,0xc7,0x45,0x4d,
+ 0xff,0x46,0xb3,0xc1, 0x36,0xa2,0xa4,0xcf, 0x68,0x54,0x64,0x14, 0x95,0x22,0x1b,0xbb,
+ 0x4d,0xa5,0xf3,0x4c, 0x84,0x70,0x0b,0xc0, 0x9c,0x28,0xb9,0x73, 0x66,0x18,0x40,0x79,
+ 0xcf,0x2e,0xe3,0x99, 0x6f,0xa5,0xf8,0xda, 0xf9,0x7e,0xff,0x42, 0xbb,0xca,0x7f,0xae,
+ 0xbb,0xcf,0x31,0x06, 0x1d,0xed,0x7d,0x18, 0xfc,0x1d,0xa2,0xaa, 0x07,0x4b,0x41,0x8a,
+ 0x35,0x63,0xda,0x71, 0x42,0xf7,0x3f,0x63, 0xe8,0x6f,0x40,0xb7, 0xcf,0x89,0x04,0x99,
+ 0xd4,0xe7,0x62,0x38, 0x4f,0x66,0x84,0x10, 0x71,0x22,0x67,0x08, 0x12,0xd4,0xf7,0xca,
+ 0x89,0xcd,0x42,0x52, 0x5d,0xbd,0xf3,0x78, 0x11,0xdd,0xa3,0xae, 0xa9,0xb1,0x48,0x60,
+ 0x24,0xc9,0x32,0x73, 0x9b,0xd2,0x71,0x33, 0x26,0x0d,0x15,0xe8, 0x80,0x98,0xc0,0x30,
+ 0xb7,0xf3,0x7c,0x08, 0x77,0x62,0xfc,0x25, 0x40,0x7f,0x3c,0x61, 0xde,0x01,0x11,0x0e,
+ 0x72,0x44,0x72,0xf7, 0x9b,0x8a,0x09,0x0f, 0xf3,0x80,0xbd,0x03, 0x4b,0x83,0x14,0x19,
+ 0x4f,0x3b,0x3d,0x5e, 0x49,0xed,0x81,0x04, 0xe8,0x93,0xce,0x51, 0x1f,0x9e,0x4e,0x2f,
+ 0x4d,0xd3,0xd6,0x1f, 0x3b,0xbd,0x3f,0xdf, 0xf8,0xa3,0x37,0x66, 0x76,0x73,0xb2,0x43,
+ 0x5b,0xbb,0x10,0xf8, 0xf0,0xb6,0xb5,0x57, 0xe2,0xf2,0x8e,0xf0, 0x60,0xbb,0x34,0x08,
+ 0x02,0x23,0xa7,0xac, 0x1d,0x57,0x00,0x18, 0x4f,0x5e,0xed,0x75, 0x4d,0x13,0xc2,0x95,
+ 0x58,0xc3,0x66,0xdd, 0xc0,0x99,0xcf,0xbc, 0x4b,0xa2,0x65,0x0f, 0x6e,0x46,0xa3,0x00,
+ 0x86,0x53,0xbf,0xc4, 0x53,0x1b,0x1d,0x22, 0x28,0xf1,0x08,0x91, 0x35,0xb5,0xd7,0xe3,
+ 0x5a,0xac,0xf2,0x73, 0xc3,0x63,0x36,0x71, 0xb2,0x1e,0x67,0x30, 0x60,0x71,0x7c,0x81,
+ 0x31,0xcd,0xc8,0x8c, 0x76,0x87,0x67,0x4e, 0x31,0xe8,0xb7,0x97, 0xdc,0xba,0x08,0xac,
+ 0xb3,0xfb,0xb6,0x8d, 0xae,0x13,0x21,0xac, 0xc7,0xf0,0xa0,0x14, 0xf8,0xbb,0x74,0x3a,
+ 0x0d,0x35,0x38,0x6c, 0x46,0x81,0x26,0x61, 0x95,0x3e,0xfc,0xbc, 0x02,0xd8,0xf9,0xdf,
+ 0x39,0x80,0xcd,0xbd, 0xf6,0x7e,0xba,0x14, 0xa9,0x19,0xc1,0xa4, 0x48,0xf3,0xa5,0x96,
+ 0x4e,0x44,0x4d,0x15, 0xfb,0xe8,0x84,0xa1, 0x12,0x09,0xcc,0xaf, 0x7a,0xc8,0x01,0x8a,
+ 0x3c,0x47,0x83,0xa7, 0xbf,0xb4,0xaf,0x68, 0xc9,0x25,0x7c,0x9f, 0x4b,0x56,0x19,0x95,
+ 0xe1,0xa8,0x6f,0xac, 0x13,0x81,0x64,0xdb, 0xe5,0x15,0x72,0x6e, 0xb2,0xf5,0x42,0xf7,
+ 0xa9,0xbd,0xce,0xa2, 0x68,0xdd,0x3a,0x5d, 0x1b,0x5f,0x33,0xe4, 0x05,0x88,0x7c,0xd1,
+ 0x44,0x61,0x26,0xf4, 0x00,0x1d,0x28,0x44, 0x26,0xf2,0xe9,0xa3, 0xfe,0x1f,0x83,0x4d,
+ 0x6d,0x3a,0x1a,0xe1, 0xf5,0xd7,0x72,0xd0, 0xb8,0x25,0x27,0x2b, 0x8f,0x04,0xc0,0x10,
+ 0xd2,0x94,0x28,0x1b, 0x11,0x4b,0xea,0xaa, 0x87,0x7a,0xb2,0x73, 0xb8,0x60,0xf2,0x73,
+ 0xd3,0xe2,0xae,0x40, 0x9c,0xf1,0xa8,0x58, 0x5e,0x2b,0xa9,0xb9, 0xb6,0x9b,0x2d,0xf3,
+ 0x34,0xed,0x0d,0xfd, 0xe6,0x2c,0x38,0x3a, 0x34,0xbf,0x64,0x00, 0xce,0xc7,0x97,0xa7,
+ 0x80,0x78,0x47,0xf9, 0x68,0x7e,0x88,0xbf, 0x94,0x42,0xc7,0x49, 0xaf,0x39,0x14,0x3a,
+ 0xf1,0xf1,0xd7,0xaa, 0x25,0x5e,0x59,0x18, 0xda,0x7f,0xca,0x28, 0x72,0xff,0xde,0xb1,
+ 0x41,0xf6,0x62,0x75, 0x0b,0xb6,0x9b,0x08, 0x78,0x18,0xf4,0xf7, 0x68,0x1e,0x9e,0xdc,
+ 0x83,0xfb,0xc2,0x17, 0x25,0xac,0x9e,0x3e, 0xd5,0x50,0xbd,0xa2, 0x8c,0x0b,0x54,0xef,
+ 0xbb,0x8a,0xdb,0x26, 0xf5,0xe2,0x52,0x1f, 0x81,0xc2,0x32,0x19, 0x9f,0x5e,0x42,0x81,
+ 0x73,0xfd,0xe4,0xc7, 0x04,0xe6,0x44,0x73, 0x79,0xf6,0x0a,0xf0, 0x5f,0x2a,0xac,0x36,
+ 0xe3,0x0d,0x10,0x7a, 0x3d,0xa6,0x73,0x2c, 0x57,0xd3,0x92,0xf7, 0xa1,0x56,0xab,0x38,
+ 0x91,0x5e,0xfc,0xc7, 0x4a,0x2b,0x0e,0x91, 0xdf,0x7a,0x14,0x7f, 0x45,0xe1,0xe9,0x12,
+ 0x7e,0x7a,0x10,0x30, 0xa5,0xea,0x40,0x20, 0xe8,0x83,0x65,0x16, 0x38,0x29,0xbc,0x9f,
+ 0x1f,0xee,0xb7,0x8f, 0x36,0x57,0xaa,0x4d, 0xe7,0x9e,0x54,0xf9, 0xc2,0x29,0x78,0x8e,
+ 0x9c,0x68,0x72,0x74, 0xb3,0x7b,0x02,0x72, 0x30,0xd4,0x86,0xa7, 0xda,0x8a,0x6e,0xd4,
+ 0xff,0x64,0xe4,0x10, 0xf1,0xc0,0xa4,0xaa, 0x81,0x1d,0xe8,0x0a, 0x0c,0x43,0x13,0x36,
+ 0xf4,0xc7,0xf2,0xab, 0x3b,0x6f,0x22,0x68, 0x7c,0x64,0x72,0xdc, 0xc8,0x99,0xc0,0x48,
+ 0x62,0x60,0x74,0x88, 0x12,0xae,0x75,0x6c, 0x59,0xe5,0x05,0xfa, 0x89,0x7e,0xa3,0xd7,
+ 0xe4,0xca,0xf8,0x45, 0x8c,0x28,0x3b,0x18, 0x95,0x40,0xda,0xed, 0x0c,0x9f,0xef,0x32,
+ 0xad,0xd8,0x97,0x7d, 0x7e,0x0a,0x91,0x09, 0xa8,0xff,0x92,0x8d, 0x49,0xa8,0x6c,0x78,
+ 0xb6,0x64,0x1a,0xea, 0xec,0x5a,0x3d,0x4f, 0x0f,0xb0,0xf8,0x86, 0x1f,0x00,0x84,0x11,
+ 0x64,0xe3,0xe5,0x87, 0x54,0xbc,0x14,0x5a, 0x21,0xc9,0x24,0x2e, 0x93,0x71,0x45,0xdb,
+ 0xdc,0xe3,0x37,0x8f, 0xdd,0x97,0xb7,0x3d, 0x7c,0x46,0x98,0xfb, 0x5f,0xb7,0x8c,0x73,
+ 0x28,0x55,0xa7,0x66, 0x56,0xc3,0xe9,0x02, 0x23,0xf8,0x70,0x4a, 0x60,0x0a,0x60,0x27,
+ 0xf5,0x40,0xa3,0x97, 0x73,0xbc,0x09,0x0e, 0x8b,0xb8,0x8c,0x75, 0x54,0x1f,0x9c,0xc7,
+ 0x28,0x6b,0x78,0x37, 0x37,0x4f,0x1b,0xdd, 0x92,0x7f,0x0f,0xff, 0x15,0xc0,0x42,0x5a,
+ 0x8a,0xc0,0xbc,0x31, 0xa4,0x8d,0xb7,0x8b, 0x68,0x9e,0xe8,0x79, 0xf3,0x2b,0x53,0x04,
+ 0xae,0x57,0x7a,0x94, 0x63,0x25,0x86,0x65, 0xbf,0x12,0x85,0x21, 0x4a,0x75,0x64,0x6e,
+ 0x28,0x29,0xd9,0xc8, 0xff,0xac,0x72,0xba, 0xe0,0x1e,0xcc,0x31, 0xa5,0x64,0xb7,0xc6,
+ 0x24,0xe8,0xf4,0x34, 0xcb,0x90,0x00,0xb3, 0xb9,0x88,0x97,0xfc, 0xe7,0x7a,0xae,0x4f,
+ 0xe0,0x4b,0x00,0xe9, 0xdd,0xac,0xde,0x5b, 0x61,0xb6,0x4e,0xdc, 0xb4,0x26,0xa5,0x66,
+ 0xde,0x02,0x2d,0x82, 0x2b,0x66,0xf5,0x45, 0x9d,0xad,0x6a,0x5f, 0xc5,0x90,0x0b,0x33,
+ 0x50,0x81,0xe4,0xe5, 0xa0,0xb9,0xdc,0xb6, 0x13,0x88,0x77,0x9f, 0xcd,0xd8,0xbe,0x5d,
+ 0xea,0x7e,0x76,0x16, 0x97,0xd7,0xc1,0x2d, 0x30,0xd9,0x2e,0x92, 0x27,0x6d,0xb3,0x07,
+ 0xec,0xa7,0xe1,0x00, 0x4f,0x62,0xed,0x71, 0x98,0x5d,0x0e,0x42, 0x8f,0xec,0x9b,0x9d,
+ 0xa7,0xc9,0xf3,0x21, 0x75,0x02,0xa9,0x21, 0x43,0x76,0x94,0x79, 0xf4,0x23,0xd7,0xa5,
+ 0x9c,0xbf,0xb9,0x27, 0x9f,0xd2,0x65,0x13, 0x8d,0xac,0xca,0xe5, 0x8b,0x68,0xf7,0x79,
+ 0x51,0xc1,0x1a,0x6d, 0x92,0x75,0xef,0xa8, 0x20,0xdb,0x42,0x2b, 0x3d,0x20,0xb8,0x2a,
+ 0xf6,0xba,0xb7,0xb9, 0xb1,0x00,0x11,0x22, 0x22,0xc9,0x73,0x2e, 0x2c,0x23,0x26,0x67,
+ 0x5f,0xd6,0x8b,0x7c, 0x8d,0x06,0x62,0x01, 0xbf,0x59,0x74,0xb5, 0x46,0x92,0x4c,0x9a,
+ 0x43,0x72,0x8f,0x41, 0xb8,0xc7,0xf6,0x9c, 0x79,0xea,0xed,0xa5, 0x1c,0xc0,0x71,0x9d,
+ 0xe1,0x69,0xf9,0x56, 0x93,0x89,0x46,0x8b, 0xb0,0xef,0x7e,0x23, 0x17,0x68,0x89,0xb6,
+ 0x40,0x35,0x6b,0x5d, 0x24,0x76,0xa2,0x9d, 0xd8,0xb6,0xb1,0xf7, 0xb6,0xf0,0x11,0x5f,
+ 0x72,0x08,0x45,0x32, 0x28,0xa6,0x41,0x52, 0x42,0x1a,0x3c,0xd0, 0x90,0x4b,0x6b,0xe5,
+ 0xf0,0x13,0x1b,0x85, 0x80,0x73,0x04,0x2e, 0xc3,0x17,0x3f,0x1c, 0xc7,0xb6,0x0d,0x82,
+ 0x7a,0x02,0xca,0x99, 0x08,0xf0,0x63,0x29, 0xc8,0x09,0x77,0xed, 0x8d,0xb5,0xfd,0xdf,
+ 0xdd,0x91,0x4c,0xbc, 0x60,0x70,0x86,0xfa, 0x2e,0x20,0xf3,0xd9, 0xa8,0xe6,0x5e,0x9f,
+ 0x86,0xc9,0x70,0xa8, 0x15,0x0b,0xe9,0x98, 0x8b,0x75,0x38,0xf3, 0x13,0x23,0x31,0xae,
+ 0xc6,0xca,0xe7,0xbe, 0x4c,0x33,0x09,0x79, 0x95,0x92,0x82,0x78, 0x54,0xa4,0x07,0xc7,
+ 0x40,0x73,0xa6,0x49, 0x58,0x0b,0xe6,0x3c, 0x3f,0x89,0x36,0xe1, 0x7f,0x93,0x30,0x66,
+ 0x8a,0x88,0x06,0xad, 0x1f,0xed,0xb2,0xe6, 0x9b,0xdf,0x75,0x59, 0x1b,0xce,0xdd,0xf1,
+ 0x03,0xec,0xbe,0xa3, 0x79,0x7d,0x07,0x86, 0xf2,0xf4,0x3a,0xa3, 0x1b,0x15,0xd3,0x48,
+ 0xf3,0x1a,0x45,0x55, 0x56,0x67,0x32,0xde, 0xed,0x0a,0xe6,0x0a, 0x75,0x7f,0xc5,0xbe,
+ 0x1a,0xe5,0x41,0x2b, 0x06,0x37,0xf0,0x30, 0xec,0x95,0xe3,0x84, 0x48,0xdf,0xb9,0x48,
+ 0x06,0x99,0xe7,0x7f, 0x7b,0x69,0x9c,0x02, 0x5c,0xab,0x3f,0xec, 0x30,0x2a,0x37,0x33,
+ 0x74,0xcf,0x53,0xf9, 0xdf,0x52,0xea,0xc2, 0x84,0xc5,0x50,0xa2, 0x3a,0x00,0x8e,0x43,
+ 0x46,0xf0,0x6f,0x84, 0x8f,0x9e,0x1f,0x5b, 0x26,0x86,0xc3,0xea, 0xa6,0x5c,0xdb,0xdf,
+ 0x89,0xdf,0xe7,0xb8, 0xe1,0x28,0x56,0xf7, 0x33,0xd6,0x6c,0x07, 0x9b,0x1d,0x7d,0xca,
+ 0x51,0xdf,0x37,0x19, 0x8d,0xdb,0xed,0xa7, 0x70,0x28,0x5a,0x25, 0x38,0x35,0x19,0x23,
+ 0x15,0x4b,0x6d,0x1b, 0xc6,0x71,0xbc,0x05, 0x6a,0x3c,0x7d,0xba, 0xd1,0x4f,0x8e,0xdf,
+ 0x42,0xf3,0x46,0x2d, 0x78,0xb3,0xa0,0x6a, 0x6b,0xc1,0xdf,0xa4, 0x4a,0xeb,0x9e,0x59,
+ 0x8b,0xab,0x50,0xf0, 0x85,0xec,0xf9,0xfe, 0xa9,0x92,0xc6,0x67, 0x9b,0x3b,0x40,0x1e,
+ 0x49,0xba,0xd9,0x8b, 0xed,0xe9,0x19,0xae, 0x12,0x7c,0x37,0x95, 0x22,0xf7,0x5e,0xf2,
+ 0x7c,0x0b,0x02,0x0e, 0xf6,0xea,0x2e,0xf5, 0x70,0xad,0x26,0x0e, 0x7c,0x80,0x6d,0xce,
+ 0x88,0x53,0x6e,0x92, 0x9c,0x70,0xd6,0xf3, 0xb5,0x12,0xdd,0x37, 0x9f,0x84,0xa8,0x78,
+ 0x6c,0x9e,0xc4,0x27, 0x0b,0xc4,0xf6,0xbf, 0xf6,0x69,0xaf,0x28, 0x28,0xf0,0x1d,0xc0,
+ 0x8e,0x45,0x8a,0x15, 0x5e,0x1c,0x53,0x9a, 0x8d,0xf0,0x16,0x38, 0x0f,0x15,0xc4,0x40,
+ 0xdf,0x31,0x5f,0x5c, 0x56,0xb4,0x22,0x16, 0x49,0x5c,0x16,0x04, 0x0e,0x24,0xc8,0x60,
+ 0x8f,0x6a,0x2c,0x11, 0xc0,0x23,0xa2,0x11, 0xb6,0x11,0x71,0xc7, 0x8c,0x6a,0x31,0x38,
+ 0x42,0xa4,0x30,0xa2, 0x5b,0x24,0x0f,0xb7, 0xe0,0xa5,0x5a,0x6d, 0x22,0xe0,0x9b,0x0d,
+ 0x84,0xe2,0xc7,0xea, 0xd8,0x11,0xa6,0xce, 0x75,0xfd,0x5d,0xc2, 0x1a,0x44,0x97,0x9c,
+ 0xb3,0xea,0x29,0x70, 0xf3,0x15,0xf3,0xaf, 0xd7,0x02,0x24,0x56, 0x0d,0x38,0x65,0xf7,
+ 0xb3,0x7c,0x20,0x42, 0x09,0xd5,0xa0,0x52, 0x0a,0x1d,0x83,0x7c, 0xf9,0xce,0xbb,0x79,
+ 0xed,0x6a,0xb4,0x4e, 0xbf,0x82,0xda,0xc0, 0xca,0xe0,0x33,0xbd, 0x8d,0x93,0xbf,0xb1,
+ 0x89,0x04,0x93,0x37, 0xbf,0x63,0x77,0x63, 0xd3,0xbe,0xdd,0x55, 0xd5,0x4f,0xa9,0xfa,
+ 0x37,0x0d,0x9d,0x58, 0x37,0x43,0xe6,0x6b, 0x96,0xdd,0x97,0xf9, 0xda,0xd3,0xfd,0x82,
+ 0x29,0xdb,0x3d,0x2c, 0x81,0x99,0x3e,0x85, 0x4d,0x6c,0xc2,0xd2, 0x24,0x51,0x6e,0x89,
+ 0xb2,0x77,0xad,0x8e, 0x43,0x0f,0x97,0x02, 0x91,0x59,0x5c,0x19, 0xde,0xa5,0x82,0x62,
+ 0x6c,0x86,0xb0,0x5a, 0x52,0x6d,0x9f,0x5d, 0xd0,0x2e,0x2c,0xa1, 0xa9,0xb8,0x20,0xce,
+ 0xe0,0xff,0x62,0xe4, 0x89,0x97,0x67,0xa1, 0xe8,0x24,0x7c,0x0d, 0xd0,0x93,0xae,0x7c,
+ 0x65,0x11,0x09,0x8c, 0xde,0x95,0xfd,0x10, 0x0e,0x7b,0xde,0x4b, 0x5f,0x03,0xd3,0x0d,
+ 0x3e,0x35,0x92,0xd3, 0x3f,0x3e,0x9e,0xa8, 0x2f,0xbd,0xda,0x19, 0x7d,0x0a,0xb6,0xec,
+ 0x6a,0x27,0x3c,0xe7, 0xdf,0xca,0x23,0x4e, 0x8d,0x9e,0x21,0xf7, 0xa8,0xa3,0x8a,0x4b,
+ 0x6b,0x22,0xf0,0x03, 0xac,0xc2,0x87,0x95, 0x81,0x95,0x1f,0x5e, 0x59,0x78,0x12,0xa6,
+ 0xf1,0x86,0x24,0x7a, 0xa9,0x81,0x41,0xff, 0x30,0xa5,0xfb,0x85, 0xe2,0x2d,0x74,0xbb,
+ 0xc1,0x7e,0x9b,0xa4, 0x7c,0x02,0x19,0x60, 0x5e,0xb0,0x10,0x3b, 0x7e,0x70,0x76,0x04,
+ 0x48,0x7d,0xb2,0x14, 0xc3,0x98,0x0d,0xd6, 0x89,0x60,0x5d,0x46, 0x02,0xf1,0x89,0xcf,
+ 0x64,0xd2,0x65,0x25, 0x38,0x3a,0x92,0x4e, 0x8c,0xd4,0xde,0x0c, 0x54,0x80,0xdf,0xe0,
+ 0xae,0xb0,0xf0,0x30, 0x82,0x39,0xc1,0x7f, 0x0a,0x2e,0xed,0xf5, 0xe0,0x5f,0x84,0x20,
+ 0xd7,0x81,0x16,0xec, 0x0b,0x52,0x62,0xb2, 0xc9,0x70,0x42,0x68, 0xc7,0x23,0xb3,0x66,
+ 0xae,0x70,0xb4,0x78, 0xde,0xd7,0xe6,0x65, 0xa2,0x17,0x8e,0xc8, 0x57,0x6c,0xa5,0x50,
+ 0xfb,0xf0,0xc4,0x47, 0x02,0x12,0xfc,0x28, 0x9a,0xaa,0x55,0x4b, 0xfb,0x40,0xf6,0x14,
+ 0xa2,0xea,0x95,0x1d, 0x10,0x6f,0x4d,0x21, 0x54,0x03,0xd1,0xb0, 0x3c,0xdc,0x3f,0x9a,
+ 0x21,0xb2,0x44,0x4c, 0x7a,0xf7,0x68,0xf2, 0x7e,0x74,0x03,0xae, 0x34,0x20,0x52,0x89,
+ 0x6c,0x00,0xbf,0x33, 0x8b,0x96,0x03,0xf4, 0x4f,0xba,0xba,0x89, 0xb8,0xa2,0x1e,0xb9,
+ 0xb3,0x08,0x7a,0xd8, 0x73,0xe8,0x66,0x5e, 0xcc,0x58,0x52,0x70, 0x18,0x2a,0xc7,0x0a,
+ 0x5f,0x8c,0xde,0x32, 0x81,0x91,0x56,0x09, 0xbe,0x92,0x33,0xce, 0xb5,0x27,0x74,0x8e,
+ 0x8e,0x26,0xd8,0xaf, 0xf0,0x36,0xb4,0x6d, 0x1e,0x23,0xc5,0x01, 0xb5,0x72,0x1d,0x29,
+ 0x03,0xc4,0xe7,0x1e, 0xd9,0xa4,0x18,0x37, 0x98,0x6c,0x26,0xba, 0x86,0xb6,0x5d,0xca,
+ 0x5a,0x8e,0x1c,0xec, 0xfa,0x32,0x5b,0x47, 0x02,0xd7,0x4a,0x47, 0x18,0x05,0xa2,0x47,
+ 0x58,0x9f,0xb0,0x88, 0x52,0x3d,0x03,0x02, 0x6c,0x39,0x6f,0xcf, 0xba,0xfc,0x90,0x6c,
+ 0xf6,0x63,0x2f,0x99, 0xe8,0x2e,0xb1,0xeb, 0xca,0xac,0x93,0xf6, 0xf0,0xd7,0xee,0xec,
+ 0x61,0xe7,0x3d,0x2a, 0x8f,0xe5,0xbb,0x3c, 0xd6,0x4d,0x61,0xbc, 0xeb,0x6f,0x89,0xcb,
+ 0xbb,0xda,0xae,0xc8, 0x37,0x94,0x68,0x70, 0x06,0xc0,0xfc,0x07, 0x22,0x13,0xfc,0xb5,
+ 0x43,0x02,0x1a,0x17, 0x5a,0xdc,0xc0,0xb4, 0xd4,0xa3,0xe8,0x63, 0xb3,0x21,0x62,0x48,
+ 0x14,0xc4,0x11,0x10, 0x87,0x9e,0x61,0x46, 0xf5,0xd5,0x93,0x1e, 0x1b,0xc2,0x36,0xfc,
+ 0x8d,0x63,0x20,0xe8, 0x63,0xc0,0x25,0x58, 0xb0,0x3a,0xd6,0xa3, 0x21,0xbb,0x53,0xc5,
+ 0xa7,0xbb,0x60,0x40, 0x26,0x95,0x62,0x9c, 0x26,0x24,0x84,0x04, 0x4e,0x22,0xeb,0xea,
+ 0x26,0x87,0x83,0xec, 0xef,0xc4,0x76,0x78, 0xcc,0x5c,0x5b,0xd7, 0xcd,0xf0,0x71,0x0c,
+ 0x64,0x19,0x3e,0x73, 0xb9,0x34,0xb4,0x99, 0x4e,0xb7,0x08,0xb0, 0x47,0xd4,0x45,0xf3,
+ 0xb5,0x11,0x08,0x20, 0x73,0xd4,0x56,0x16, 0x18,0x38,0xa1,0x9e, 0x1d,0x4d,0xf8,0x22,
+ 0x54,0xb1,0x97,0x47, 0xe9,0x68,0xf5,0x41, 0xb3,0x6d,0x9e,0xcd, 0x5f,0xe7,0x57,0x9a,
+ 0x95,0x13,0xb1,0x07, 0x9e,0x13,0x9a,0xb2, 0x84,0x07,0x72,0xb1, 0xbe,0x07,0xa6,0x7f,
+ 0xc2,0x30,0x84,0x2b, 0xb9,0x6e,0x80,0xd3, 0xe6,0xe7,0x40,0xba, 0x59,0x98,0xb8,0x41,
+ 0x76,0xda,0x46,0x5b, 0xd7,0x5f,0x28,0x34, 0xa9,0xfe,0x89,0xda, 0x46,0x02,0x37,0x49,
+ 0xb7,0xa9,0x8e,0x4a, 0x9a,0x4a,0x8d,0xe1, 0x93,0x3b,0x47,0x46, 0x67,0xe5,0x8a,0x89,
+ 0xf3,0x66,0x2c,0xb8, 0xf6,0x7a,0x8a,0x8f, 0x95,0xa3,0x99,0x57, 0xa1,0x8b,0xf2,0x34,
+ 0x6a,0x1c,0x36,0x9b, 0x30,0x72,0xaf,0x2e, 0x42,0x1a,0x19,0x47, 0x28,0x25,0xa0,0xcd,
+ 0xbd,0x7e,0x5e,0x0b, 0x17,0xb3,0x46,0xcb, 0xab,0xf8,0x48,0xe1, 0x0b,0xac,0xb3,0xbc,
+ 0x14,0xd8,0x9d,0xc7, 0xe3,0x70,0xfd,0xa1, 0xef,0x34,0x5d,0x55, 0x89,0x79,0xb1,0x92,
+ 0x68,0x65,0x5a,0x8a, 0x07,0x67,0xa8,0xb2, 0xc0,0xfb,0x6e,0x0a, 0x66,0x8a,0x79,0x2f,
+ 0x57,0xb7,0x28,0xdf, 0xfa,0x64,0xe3,0x74, 0x89,0x44,0xd3,0x5b, 0x6b,0xed,0x96,0x02,
+ 0xc4,0x68,0xd1,0xcd, 0x14,0xd4,0xbd,0x3b, 0x31,0xb4,0x9a,0xb0, 0x7a,0x0a,0xc9,0xb3,
+ 0x31,0xe9,0x14,0xc5, 0x5d,0xd2,0xaa,0x02, 0x5d,0x61,0xb9,0xff, 0xac,0x1e,0xad,0xa5,
+ 0xb4,0x8d,0xe4,0x94, 0x78,0x23,0xe2,0x6c, 0x92,0x40,0x1f,0x4a, 0x5f,0x7d,0xe3,0x65,
+ 0xa5,0x4a,0x61,0x05, 0x6f,0xc7,0xc3,0x76, 0x6f,0x49,0xe8,0x97, 0xa4,0x9b,0x4a,0x15,
+ 0x1a,0xf5,0x6b,0x54, 0x5b,0x8a,0xa6,0x2a, 0x40,0xb4,0xdf,0xc3, 0xce,0x6d,0x9c,0xcb,
+ 0xaa,0x42,0x1b,0x0a, 0xee,0x3c,0x86,0xd1, 0x0b,0xc9,0x11,0xd1, 0xd4,0xc8,0x9e,0x80,
+ 0x68,0x24,0x41,0x58, 0x78,0x98,0xfd,0xe7, 0xbd,0x53,0x4f,0xfa, 0xd9,0xda,0x95,0x58,
+ 0x68,0x4e,0xff,0xf1, 0xc3,0x31,0xa8,0xff, 0xa1,0x22,0xe8,0xfa, 0xd3,0xe4,0xdc,0x80,
+ 0x12,0x12,0x7a,0x3e, 0x2d,0x94,0x57,0x4c, 0xf4,0x69,0x6d,0xcc, 0xb1,0x77,0x1b,0x19,
+ 0x0b,0x68,0xc9,0xf0, 0x8b,0x24,0x2a,0xc0, 0x76,0x3e,0x1f,0x89, 0xdd,0x01,0xa9,0x00,
+ 0x59,0xbd,0x12,0x70, 0x54,0xc5,0x21,0xf2, 0x99,0xc9,0x0e,0xea, 0x81,0x16,0xaa,0xec,
+ 0x74,0xaf,0x0e,0x19, 0xf4,0x51,0xfd,0x9b, 0x49,0x93,0xa0,0xab, 0xb0,0xf0,0x90,0x2b,
+ 0xd2,0xf5,0x13,0x9c, 0xb9,0xf1,0x1e,0xc3, 0xf3,0xa8,0x25,0xab, 0xe5,0x2d,0xc5,0xe8,
+ 0x3d,0xd3,0x05,0xa6, 0x57,0x77,0x71,0x8c, 0xca,0x88,0xa1,0xbd, 0xb7,0xa9,0x4b,0x0c,
+ 0xb8,0x0d,0xf1,0xf0, 0x12,0xc4,0x42,0x89, 0xd0,0x84,0x99,0x41, 0xa1,0x4d,0x16,0xe3,
+ 0x8f,0xb7,0xad,0x20, 0x72,0xed,0x70,0x1b, 0xf8,0x87,0x2b,0x9e, 0x06,0x9f,0x8f,0x02,
+ 0xb9,0xc4,0x5e,0x80, 0x46,0x1d,0x64,0x71, 0x22,0xa5,0x5e,0x15, 0x63,0x72,0xcb,0xa4,
+ 0x37,0xe8,0xc4,0xcd, 0x6f,0xb1,0x50,0xcb, 0xcd,0xdb,0xb3,0x08, 0xfd,0x3d,0x2c,0x40,
+ 0x42,0x47,0x58,0x05, 0xd6,0x33,0x9b,0x78, 0x7b,0xf1,0x76,0x06, 0xf2,0x40,0xf0,0x94,
+ 0xfe,0x0b,0x72,0x89, 0xa1,0x9f,0x8f,0x2b, 0x93,0x67,0x26,0x9d, 0xf0,0xfa,0x9d,0xea,
+ 0x40,0x59,0xe4,0xe0, 0xe7,0x73,0x8c,0xc4, 0x06,0xe3,0xb8,0x47, 0xdb,0xf7,0xe0,0xa6,
+ 0x20,0x22,0x43,0xd7, 0x0f,0x41,0x0c,0x09, 0x34,0xde,0x25,0xe8, 0x4c,0x8c,0xac,0x3e,
+ 0x77,0x10,0xab,0x59, 0x00,0xc3,0x1c,0xfe, 0x56,0xc7,0x96,0x61, 0xc0,0xa1,0xf6,0x9d,
+ 0xa0,0x01,0x7d,0x9a, 0xb9,0x0a,0x62,0x1c, 0x57,0x8a,0x1f,0x60, 0x21,0xc7,0xd3,0x22,
+ 0x7c,0xa9,0xb8,0x6a, 0xcd,0xe8,0xf0,0x1a, 0xcb,0xcc,0x50,0x96, 0x7d,0x25,0x7c,0xf7,
+ 0x0e,0x0b,0x23,0xe2, 0xc5,0xff,0x31,0x78, 0x24,0x27,0x82,0xb8, 0xec,0x3b,0xb9,0xb5,
+ 0x04,0xd4,0xf8,0xe9, 0xe5,0x1d,0x17,0x7c, 0x47,0xb0,0xbc,0xc1, 0x4a,0xed,0xe5,0xd5,
+ 0x84,0x55,0xaf,0x2e, 0x9b,0xcd,0xe8,0x34, 0x56,0x9b,0xa7,0x98, 0x50,0x24,0x8b,0xfb,
+ 0x72,0xe2,0x96,0x6e, 0x05,0x14,0x40,0x2c, 0xfa,0x2c,0xd3,0x9a, 0x09,0x11,0xda,0x17,
+ 0x2a,0x56,0x30,0xb7, 0x84,0x1f,0x0b,0x3c, 0x6d,0x6a,0x52,0xfb, 0x14,0xa5,0x69,0x87,
+ 0x9b,0xce,0x4e,0x60, 0x2b,0x91,0x4a,0xd1, 0x41,0x8b,0x03,0x94, 0xa0,0xa3,0xd2,0xa1,
+ 0x90,0x29,0xb8,0xa1, 0xb2,0x84,0xca,0xf3, 0x7f,0x8a,0x99,0xbc, 0xd7,0xaa,0xe4,0x54,
+ 0x4a,0x63,0x0c,0x6b, 0xbc,0x31,0x62,0x61, 0xb5,0x78,0x43,0x1a, 0xea,0x21,0x3b,0x50,
+ 0x23,0x08,0x3f,0x84, 0xb5,0x0d,0x87,0x1e, 0x58,0x43,0x98,0x49, 0xf7,0xa8,0x48,0xf2,
+ 0x17,0xcd,0xbf,0x6d, 0x0d,0x77,0xb4,0xee, 0xec,0xe5,0xc5,0x3f, 0x0d,0xdb,0xc8,0xb5,
+ 0x74,0x0c,0x39,0x5a, 0x8c,0x4a,0x5f,0x22, 0x51,0x55,0x1e,0x22, 0x28,0x0a,0x81,0xc8,
+ 0xc2,0x2c,0xc9,0x07, 0x14,0xb6,0x1d,0x87, 0x5e,0xc2,0xa9,0x10, 0x80,0x66,0xb2,0xa7,
+ 0x63,0x60,0x89,0xd1, 0xf3,0x5c,0xea,0x1f, 0x6d,0x94,0x7b,0x4f, 0x6f,0x32,0xde,0xb1,
+ 0xab,0x73,0x0d,0xa7, 0xbe,0x2c,0x66,0x8b, 0x80,0x25,0xff,0xcc, 0xa9,0x23,0xc3,0x54,
+ 0x9d,0xb3,0x3d,0x22, 0xf9,0xb1,0xee,0xe8, 0x64,0xdf,0xb8,0xee, 0x21,0xe3,0x84,0x02,
+ 0x6e,0x0f,0x00,0x6c, 0x30,0xee,0x1d,0x3a, 0xef,0x3a,0x88,0x64, 0x04,0xe0,0x1c,0x31,
+ 0x33,0xda,0x77,0x30, 0x80,0x93,0xbb,0xc8, 0x8c,0x83,0x58,0x03, 0x83,0x03,0x2f,0x66,
+ 0x73,0xe7,0x77,0x35, 0xf6,0x8e,0xbd,0xdf, 0x3e,0xdc,0x92,0xac, 0x5c,0xb7,0x60,0xd5,
+ 0x84,0xf7,0x71,0x17, 0x6b,0xda,0xac,0x0f, 0x16,0x3b,0x72,0xd7, 0xa2,0xf1,0x9c,0x45,
+ 0xaa,0x5d,0x57,0x33, 0x9f,0x41,0x69,0x90, 0x90,0x60,0xfc,0xd9, 0xb6,0x58,0xc3,0x56,
+ 0xea,0x8f,0xb9,0x1a, 0xcb,0x30,0x52,0xd4, 0x4a,0x66,0xd0,0x5f, 0xf9,0x93,0xe2,0x95,
+ 0x40,0x9a,0x21,0x2b, 0xe5,0x24,0xbd,0x1d, 0x70,0xbc,0x3e,0xf0, 0x32,0xbf,0x7d,0x81,
+ 0xa7,0x22,0x84,0x96, 0xca,0x23,0xa0,0xf0, 0xb1,0xe2,0xb7,0x08, 0xf7,0x28,0x3c,0xee,
+ 0xa8,0xf9,0xb8,0x20, 0x42,0x8b,0xca,0xbe, 0x78,0xb2,0xb3,0xd6, 0xd8,0x40,0x7a,0xad,
+ 0x79,0xa6,0xa3,0xdd, 0xc8,0x11,0x28,0x66, 0xce,0xbb,0x18,0x17, 0xe4,0x63,0xc5,0x46,
+ 0xba,0x12,0x83,0x5c, 0x71,0xa3,0xba,0x9d, 0x5a,0x4a,0xbd,0xd9, 0x3a,0xd0,0x5b,0x56,
+ 0x76,0x75,0xe8,0x07, 0x2a,0x18,0x75,0xb6, 0xd9,0x82,0x1a,0xcc, 0xdc,0xe9,0xbd,0x3b,
+ 0xa8,0x8c,0x32,0x97, 0x61,0xd5,0xc1,0x3f, 0x1b,0x8f,0x23,0xe5, 0x89,0xdd,0x32,0xb3,
+ 0x96,0xe0,0x05,0xf7, 0x61,0x8e,0xb5,0x74, 0x44,0x28,0xa8,0xde, 0xfd,0x73,0xa8,0x38,
+ 0x01,0x93,0x0e,0x67, 0x4c,0xba,0xea,0xac, 0x89,0x23,0x90,0xd2, 0xf7,0xd4,0xa4,0xc9,
+ 0x26,0x68,0x19,0x56, 0xf6,0xd9,0x7e,0x20, 0x9e,0xd6,0xae,0xdd, 0x92,0xd9,0x76,0x38,
+ 0x76,0x4f,0x3b,0x93, 0x17,0xaa,0x32,0xfb, 0xfa,0x88,0x2f,0x55, 0x81,0xca,0x87,0x16,
+ 0x09,0x25,0x20,0x25, 0x85,0xb9,0xff,0x55, 0x6a,0xc9,0x62,0x67, 0x5e,0x48,0xaa,0x18,
+ 0x3f,0xed,0x57,0xac, 0x3e,0x97,0x98,0x5d, 0x73,0x41,0xd4,0xff, 0xcb,0x1a,0x09,0x74,
+ 0x9b,0xc8,0x9d,0x33, 0x3a,0x51,0xdd,0x55, 0xe7,0xfd,0x44,0xda, 0xa9,0xa6,0xe6,0xe1,
+ 0xcf,0x03,0x26,0xc5, 0x03,0x2c,0xbc,0x6b, 0x06,0x75,0x13,0x8d, 0xee,0xfc,0x8e,0x0d,
+ 0x08,0x72,0xa0,0xfc, 0x86,0x87,0x13,0xd2, 0x0e,0xd5,0x4b,0x4e, 0x3a,0xc3,0xf7,0x98,
+ 0x72,0x7a,0x87,0x96, 0x13,0x54,0x35,0xb2, 0x2e,0x29,0x96,0xf4, 0x6f,0x10,0x79,0xae,
+ 0x01,0x33,0x89,0x97, 0x67,0xbe,0x18,0x9d, 0x12,0x07,0x73,0xc5, 0x1d,0xe2,0x45,0xf3,
+ 0x00,0x1a,0x08,0x39, 0x49,0x32,0x26,0xdf, 0xab,0xab,0xdc,0x01, 0x6e,0x07,0xcf,0xad,
+ 0x6b,0x3c,0xad,0x1d, 0x47,0xc0,0xd4,0x48, 0xce,0xcb,0x4a,0x15, 0x24,0xa2,0xe4,0x36,
+ 0xca,0xb8,0x9d,0xee, 0xf8,0x1a,0x0b,0xdf, 0x24,0x03,0xe5,0x83, 0xbf,0x4f,0x92,0x37,
+ 0xa5,0xf6,0x19,0x07, 0xbe,0x00,0xae,0xab, 0x9a,0x43,0xeb,0xf5, 0x71,0xbe,0xd1,0xfc,
+ 0xa6,0x8e,0x31,0xba, 0x4e,0xe3,0x2e,0xa8, 0x55,0xbc,0x17,0x84, 0xd1,0xa5,0x81,0x9e,
+ 0x11,0xc4,0x71,0x77, 0x3d,0x2a,0xd5,0x1f, 0x97,0x36,0xa2,0xaa, 0x79,0x00,0xad,0x34,
+ 0x4a,0xd8,0x91,0x5b, 0x69,0x03,0xcc,0x42, 0xcd,0x67,0x1a,0xb1, 0xf6,0x79,0x78,0x28,
+ 0x20,0xf0,0x42,0x13, 0x19,0x0a,0x17,0xe9, 0x25,0x8b,0x71,0x4b, 0x80,0xfe,0xe9,0x62,
+ 0x95,0x4d,0x79,0x2b, 0xaf,0x39,0x70,0x9e, 0x1e,0x29,0x03,0x33, 0x9b,0x98,0xdb,0x8b,
+ 0x02,0x4b,0x00,0x68, 0xd5,0x51,0xcc,0x40, 0x4f,0x09,0x46,0xc1, 0xc7,0xad,0xb5,0x1b,
+ 0x4d,0xb8,0x19,0x68, 0x1d,0x6c,0x33,0xf1, 0x67,0x32,0xe9,0x22, 0x9a,0xfa,0xa1,0xea,
+ 0x86,0x8b,0x48,0xa2, 0xc0,0x5f,0x52,0x19, 0x1d,0x60,0x8f,0x86, 0x5a,0x3f,0x63,0x46,
+ 0x5f,0x42,0xc0,0x52, 0xc1,0xfb,0x3f,0x52, 0x09,0xb0,0x7c,0xce, 0x57,0x9d,0x8e,0xe3,
+ 0x40,0x80,0xcc,0x73, 0x5d,0x9e,0xc9,0xd8, 0xa0,0x0d,0xc4,0xf5, 0xea,0x3e,0xa2,0xdd,
+ 0xce,0xeb,0xc9,0x72, 0x37,0x47,0xcb,0xa0, 0x5e,0xb7,0x15,0x12, 0x7a,0x2b,0xe1,0x87,
+ 0x47,0x8d,0x92,0xb5, 0x33,0xfc,0xd6,0xc6, 0x20,0x42,0xd0,0xe1, 0xc2,0xa9,0x52,0xc7,
+ 0x7c,0x98,0xb3,0xd7, 0x3c,0x74,0x56,0x75, 0xab,0xe2,0x71,0xd6, 0x5a,0xf5,0xd5,0xc2,
+ 0xd3,0x70,0x9b,0x34, 0x7a,0x3b,0x66,0x22, 0x73,0x3d,0xa7,0x32, 0x4e,0x9f,0xe5,0xce,
+ 0x20,0x60,0xa8,0x63, 0xf6,0x26,0xb4,0x72, 0x3e,0xe8,0x8b,0x4b, 0x72,0xf9,0xaa,0xd8,
+ 0xc4,0x36,0xdf,0x3b, 0xea,0xf4,0x0a,0x57, 0x66,0xfe,0x2b,0x2a, 0x93,0x1d,0xa1,0xf4,
+ 0x4a,0x75,0x2e,0x70, 0x09,0x39,0x5d,0xb8, 0xd9,0x38,0x0d,0x52, 0x5b,0x4c,0x61,0x90,
+ 0xe6,0x3d,0xa9,0x4d, 0xaa,0xb9,0xcd,0x92, 0x09,0x19,0xdb,0xc1, 0xaf,0x26,0x0f,0x9b,
+ 0xfe,0xb3,0xa9,0xf2, 0xd2,0x2b,0xdf,0x84, 0x6c,0x47,0x66,0x46, 0x99,0x3d,0xf7,0xf0,
+ 0xd2,0x07,0x31,0xaf, 0xd1,0xae,0xb1,0xee, 0x90,0x52,0x01,0x46, 0x54,0xea,0x78,0xaa,
+ 0x39,0xb9,0xe8,0xd4, 0xa1,0xdd,0x3b,0xb5, 0x19,0x13,0x8b,0xaf, 0x11,0x01,0x57,0xd8,
+ 0x9d,0xf4,0xc0,0x04, 0x4f,0xee,0x38,0x71, 0x64,0xb9,0x39,0xda, 0x1c,0xda,0x9e,0xcf,
+ 0xb6,0x87,0x96,0x02, 0xc7,0xc9,0xce,0x75, 0xac,0x14,0xba,0x9f, 0x4c,0x98,0xf7,0x91,
+ 0x58,0xcf,0x85,0xc5, 0x6f,0xa7,0x49,0x04, 0x7f,0x67,0xe8,0x2d, 0x64,0x4d,0x0a,0x72,
+ 0x63,0x4a,0x3d,0xc9, 0x10,0x90,0xc7,0x0d, 0x2f,0xf9,0x24,0x96, 0x2b,0xcd,0xea,0xa2,
+ 0x19,0x75,0xa3,0xa8, 0xb7,0xa9,0x5e,0xd2, 0x29,0x6a,0xd2,0x2c, 0x3a,0x39,0xf3,0x84,
+ 0x0d,0x2d,0xc4,0x2c, 0x21,0xe8,0x2b,0x93, 0xfe,0xfa,0xbe,0xd8, 0xe3,0xb7,0xd3,0x91,
+ 0x4d,0x0c,0x0d,0x1c, 0x8a,0x47,0xb1,0x31, 0x50,0x71,0xb1,0x0d, 0x8e,0x32,0xb3,0xd2,
+ 0xfa,0x6a,0x4e,0x12, 0x40,0x62,0x0e,0x1a, 0x06,0xa8,0x3c,0x3e, 0xd6,0x45,0xfc,0x9f,
+ 0xad,0xa4,0xb3,0x66, 0x9b,0x04,0x38,0xca, 0xbd,0xe0,0xb1,0xa8, 0xe1,0xf8,0x06,0x39,
+ 0x61,0xa5,0xe9,0xbe, 0x49,0xf2,0xf7,0xc7, 0x9a,0x85,0x40,0x72, 0x1d,0x2c,0xca,0xb1,
+ 0xae,0xc4,0xfc,0x15, 0x91,0xfa,0x0f,0x57, 0x01,0x63,0xce,0xdb, 0xcb,0xc0,0x43,0xf2,
+ 0x08,0x06,0x05,0x04, 0xed,0x71,0xea,0xd5, 0xb4,0x83,0xf4,0x8d, 0x0e,0x43,0x94,0xf3,
+ 0x1b,0x09,0xfb,0xc2, 0xf0,0xcb,0x43,0xaf, 0x2c,0x53,0x16,0x21, 0xf1,0xe4,0xf9,0x80,
+ 0xa7,0x76,0x07,0x0d, 0xe2,0x49,0x3b,0xf4, 0xef,0x5a,0x6c,0x7d, 0xf3,0x32,0xc3,0x3a,
+ 0x64,0xfc,0x27,0x6f, 0x20,0x51,0x36,0x5e, 0x3a,0xa8,0x3c,0x01, 0x1e,0xea,0x4b,0xf0,
+ 0xd9,0x78,0xeb,0x3d, 0xcc,0x95,0x94,0xc7, 0x09,0x6f,0xe9,0x61, 0xfd,0x3d,0x00,0x1e,
+ 0x7f,0x68,0x39,0xe7, 0x34,0xdb,0x76,0xf9, 0x98,0xc7,0x17,0x52, 0xe6,0xba,0xf3,0xea,
+ 0xec,0x83,0xd5,0x69, 0xa9,0xc2,0xb5,0x94, 0x0c,0x8f,0x01,0x00, 0x9e,0x71,0x66,0xdb,
+ 0xcf,0x43,0xa7,0x05, 0x5d,0x9f,0x0e,0xb8, 0x3b,0x59,0xaf,0x23, 0xd6,0x89,0xc6,0x5c,
+ 0x59,0xba,0xa8,0x9f, 0x20,0x43,0x17,0xff, 0x36,0xb2,0x8c,0x6f, 0xe7,0x79,0x44,0x75,
+ 0xa6,0x8f,0x13,0xda, 0x0b,0x49,0x0f,0x44, 0x42,0x70,0xcc,0xd7, 0x78,0xbf,0x1f,0xe2,
+ 0x3c,0x07,0x28,0x75, 0xb1,0x52,0xbe,0x21, 0x94,0x63,0xda,0x1b, 0x1b,0x5b,0x1f,0xcb,
+ 0x04,0x3a,0x40,0xd8, 0x57,0x3f,0x5d,0xac, 0x87,0xf8,0x16,0xf0, 0x31,0x54,0x7b,0x06,
+ 0x74,0x6d,0xb2,0x9c, 0x22,0x71,0x9b,0x3e, 0xe7,0x0b,0xe5,0x11, 0x80,0x63,0x25,0x07,
+ 0xb5,0xc6,0x7f,0xe9, 0xe0,0x69,0x71,0x40, 0x79,0xc7,0xde,0xd9, 0xa7,0xc3,0x76,0x95,
+ 0x4a,0x6c,0x55,0x92, 0x62,0xe6,0xda,0x19, 0xea,0x11,0x93,0x71, 0xbf,0xb8,0xb3,0x84,
+ 0x3d,0xa7,0xa9,0xce, 0x64,0xa4,0x0c,0xcb, 0x21,0x8e,0x87,0xe8, 0x7a,0x45,0x86,0x18,
+ 0x7d,0x05,0x1e,0x63, 0xbd,0xad,0xe1,0xaa, 0x2a,0x00,0xbf,0xb3, 0x3b,0xad,0x32,0x0d,
+ 0xda,0x97,0xa9,0xdf, 0x8e,0x0a,0xc4,0xde, 0x73,0x6a,0xb2,0x4a, 0x1a,0x26,0x96,0xf6,
+ 0x1b,0x77,0x38,0x10, 0x69,0x63,0xc7,0xd5, 0xa2,0x59,0xf5,0x8c, 0x69,0xa9,0x27,0x66,
+ 0x84,0xc2,0xeb,0xb9, 0x4f,0xf0,0x12,0x1f, 0x75,0xba,0x6b,0xe2, 0x10,0xd9,0x20,0xc4,
+ 0x5d,0x01,0x08,0xa2, 0x6e,0x9d,0xfc,0x62, 0x74,0xc0,0xfd,0x2c, 0xd3,0xdb,0x8c,0x9a,
+ 0xf0,0xf4,0x68,0xad, 0x26,0x2f,0xda,0x86, 0x61,0xbd,0x48,0xc6, 0x4a,0xd4,0x64,0xa3,
+ 0x8f,0xbd,0x84,0xd8, 0x4e,0x4d,0xe2,0xcd, 0x42,0xfe,0xbd,0x64, 0xde,0xdf,0x19,0x2d,
+ 0xf8,0xe1,0xc1,0xf2, 0x91,0x40,0x14,0xa4, 0x0f,0xb4,0x8c,0x94, 0x32,0x10,0x62,0x35,
+ 0x0d,0xbc,0xc5,0xe6, 0xb1,0x62,0x5f,0xeb, 0x9c,0x4a,0xc3,0xe7, 0x32,0xf9,0xc6,0xf0,
+ 0x74,0x8d,0x57,0xfe, 0xe8,0x0c,0x26,0x36, 0x2d,0xa1,0xbc,0xed, 0x8a,0x9c,0x16,0xee,
+ 0xfa,0x91,0x3e,0x47, 0x44,0x10,0xf1,0x7e, 0x07,0x25,0x84,0x58, 0xf3,0x3e,0x60,0x9c,
+ 0x34,0x4d,0x53,0x53, 0xef,0x94,0x4b,0x9f, 0x48,0x4b,0xbd,0x94, 0x44,0x48,0xf6,0x1a,
+ 0xf7,0x3f,0xbb,0xcc, 0x58,0xfb,0xbb,0x85, 0xe0,0x0d,0x16,0x1b, 0x8a,0xb9,0x10,0x8f,
+ 0x1f,0xea,0x50,0xce, 0x6e,0xde,0x7a,0x7c, 0xe0,0x22,0x0f,0xbb, 0xd8,0x8c,0x9e,0x83,
+ 0x6d,0x34,0x98,0x41, 0xe6,0xde,0x3c,0x25, 0x09,0xcb,0x42,0xe5, 0xae,0x4c,0xfd,0xd7,
+ 0x7a,0x94,0xd3,0xc2, 0x6d,0x35,0x24,0xd0, 0xcf,0xdb,0xf2,0xac, 0xf9,0xa4,0x60,0xe5,
+ 0x6b,0xf9,0xce,0x9c, 0x45,0x27,0x68,0x20, 0x88,0xa5,0x6d,0xd9, 0xf5,0x9d,0x70,0x9f,
+ 0xf4,0xe2,0xa8,0x7f, 0xa4,0x0a,0x9b,0xa3, 0x90,0x3d,0xa6,0x49, 0x67,0xa9,0x99,0x76,
+ 0x03,0x39,0xd8,0x9c, 0x20,0x0b,0x14,0x96, 0x63,0x8e,0xe6,0xce, 0x95,0x86,0xa7,0x73,
+ 0x94,0x0e,0x45,0xea, 0xfd,0x2b,0x14,0x6e, 0xa4,0x14,0xc4,0xe4, 0x4d,0xbb,0xca,0xef,
+ 0xcf,0x20,0x32,0x07, 0xce,0x88,0x0c,0x4c, 0xee,0x53,0xde,0x69, 0x68,0xa3,0x41,0x47,
+ 0x1a,0xbd,0x3f,0x3d, 0x99,0x85,0xa2,0xf0, 0x13,0x54,0xaa,0x68, 0x75,0x33,0x67,0x28,
+ 0x2f,0x56,0xbc,0xc3, 0x4b,0xb1,0xe4,0x4f, 0x9a,0xb8,0x6d,0x66, 0xf0,0xd6,0xf4,0x9c,
+ 0x7a,0x62,0x0e,0x4b, 0xfc,0x7d,0x2c,0x56, 0xc5,0xc1,0x1d,0x06, 0xfc,0x8e,0xf4,0x46,
+ 0xc2,0x6f,0x6a,0x3b, 0xfa,0x9e,0x7c,0x2d, 0xd7,0x74,0x7a,0x23, 0x7d,0x96,0xa8,0x78,
+ 0xae,0x0e,0x34,0x25, 0x93,0x28,0x53,0x2c, 0x1c,0xe3,0xb1,0x4b, 0x6c,0x15,0x78,0xf2,
+ 0x1a,0x10,0xf7,0xd3, 0x5a,0xf6,0x44,0x83, 0x15,0xaa,0x7a,0xde, 0x72,0x3c,0xea,0xdb,
+ 0x89,0xde,0x84,0x8b, 0x9f,0x0b,0xaa,0xc9, 0x34,0xc0,0xec,0xe5, 0xfc,0xe8,0xed,0xb4,
+ 0x93,0x87,0x23,0xa9, 0xc2,0xd9,0x2b,0xb6, 0x00,0xde,0x99,0x85, 0x28,0xe8,0x77,0xde,
+ 0x2d,0x66,0xe6,0x9b, 0x90,0xbf,0xc7,0xcf, 0x29,0x53,0x8a,0x43, 0xd3,0x78,0xe6,0x38,
+ 0x02,0x12,0xd4,0x62, 0x33,0x20,0x85,0xa7, 0x0e,0x4c,0xea,0x5a, 0x37,0xb1,0xd8,0xff,
+ 0xb2,0xa0,0x74,0x22, 0x0e,0xde,0x7b,0xd5, 0x26,0xe2,0x0a,0x77, 0x2a,0x87,0x19,0x09,
+ 0x65,0xa5,0x81,0x50, 0x1f,0x7e,0x41,0xde, 0x02,0x62,0xf0,0x6a, 0x92,0xb5,0xb4,0x6c,
+ 0x64,0xcf,0x5f,0xa8, 0x96,0xc6,0x70,0xb6, 0x66,0xf9,0xc4,0xf7, 0x10,0x19,0x82,0xf9,
+ 0x8d,0x09,0x22,0xcf, 0xdf,0x7f,0x39,0x30, 0xca,0x7d,0xb5,0x03, 0xf1,0x69,0xae,0xdc,
+ 0x3c,0xb2,0x5d,0xa9, 0x74,0x7d,0xd4,0x5c, 0x9b,0x71,0xae,0xa6, 0x50,0x90,0xf9,0x58,
+ 0xf0,0x14,0x2f,0x36, 0x1e,0x3e,0x8a,0x3d, 0x0c,0x67,0xd7,0x77, 0xd6,0x86,0xa7,0x80,
+ 0x16,0x0d,0xea,0x7a, 0x54,0xd4,0x9d,0xdf, 0x82,0x2c,0x0e,0x6a, 0x75,0x24,0x89,0x5b,
+ 0x47,0xc7,0x16,0x59, 0xa4,0xd4,0xe5,0x72, 0x8d,0xb0,0xb6,0x86, 0xbb,0x9f,0x48,0x38,
+ 0xf2,0xf3,0x73,0x0a, 0x3d,0xc3,0x26,0x88, 0xaf,0x86,0x41,0x98, 0xb6,0x22,0x74,0xde,
+ 0x99,0x49,0xe7,0x0f, 0x82,0x49,0x2e,0x8a, 0xea,0x56,0x4e,0x8c, 0x5a,0xd1,0xbd,0x3f,
+ 0x45,0x0c,0xfe,0x6a, 0xaa,0x3c,0xd7,0xb4, 0x8c,0x42,0x03,0x65, 0xc6,0x5d,0x38,0x20,
+ 0x97,0xfe,0xe7,0xd6, 0xd8,0xd1,0x8e,0x1f, 0xd2,0xc7,0xfa,0x01, 0x77,0x27,0xc4,0x0e,
+ 0xff,0xe7,0x0f,0xf3, 0x12,0x55,0xdf,0x1f, 0x28,0xa2,0x57,0x97, 0xd4,0x4b,0xa4,0x4f,
+ 0x60,0xac,0x55,0x1a, 0x0f,0x2c,0xc5,0x36, 0x77,0xa3,0x44,0xf5, 0x6e,0x1c,0x12,0x54,
+ 0xd5,0xad,0x3d,0x9e, 0x02,0x17,0xf4,0xd3, 0x50,0x50,0x0f,0xbf, 0x5b,0x22,0x57,0xa3,
+ 0x18,0xf3,0x3a,0x71, 0x12,0x2c,0x4a,0xf3, 0xc9,0x9a,0x3b,0xf9, 0x31,0xee,0x52,0x24,
+ 0x4d,0xa3,0x4f,0xb2, 0x2d,0x29,0x89,0xb1, 0x9c,0x17,0x04,0xe6, 0x13,0xb2,0x96,0x15,
+ 0x5d,0x0d,0x5c,0x58, 0xf2,0x3f,0xc8,0x38, 0xc9,0x5c,0x03,0xd1, 0xc9,0x51,0x6d,0x3a,
+ 0xe8,0xf4,0x92,0xc4, 0x03,0x1a,0x00,0xaf, 0x78,0x83,0xb7,0x1a, 0x03,0x90,0x6d,0x1b,
+ 0x8a,0x43,0x33,0xd8, 0xa1,0xe3,0x51,0x57, 0x5a,0xf5,0xed,0xd6, 0xae,0x8a,0xbe,0x92,
+ 0xfd,0x2a,0x96,0x32, 0xc6,0x77,0x20,0x87, 0xab,0xb9,0x53,0xa2, 0xf2,0x44,0xf7,0xe0,
+ 0xbe,0xbd,0x32,0xb1, 0xf3,0xad,0x5c,0x1d, 0x45,0xd6,0x41,0xa0, 0xc2,0xbc,0x97,0xd2,
+ 0xef,0xec,0xef,0x5c, 0xfa,0xcd,0xf0,0x2d, 0x93,0x07,0x5e,0x08, 0xc3,0x0a,0x5d,0x40,
+ 0x9c,0x9b,0xc4,0x93, 0x8c,0x6b,0x20,0x98, 0x6d,0x88,0xd1,0x4d, 0xb2,0x98,0xef,0x11,
+ 0x59,0x49,0x73,0x87, 0x3e,0x49,0xe0,0xfd, 0x37,0xaf,0x4c,0x18, 0x53,0x29,0x4a,0x4b,
+ 0xf5,0xca,0x53,0x40, 0xb4,0xfa,0x11,0xa7, 0x12,0xda,0x46,0x3a, 0x48,0xaf,0x5a,0x14,
+ 0x37,0x33,0xc2,0x28, 0x3f,0xac,0x91,0xe8, 0xbb,0x67,0x12,0xc4, 0xce,0x39,0xe6,0x26,
+ 0x10,0x08,0xa5,0xfc, 0x45,0xad,0x2a,0xfb, 0xfc,0x97,0x6c,0x0b, 0xd4,0x49,0xd3,0xb0,
+ 0x0c,0x7f,0x30,0x40, 0x9c,0xaa,0x07,0x52, 0x12,0x6e,0xcf,0x4c, 0x0e,0x93,0xb6,0x55,
+ 0xef,0x7e,0x3f,0xef, 0xd9,0x84,0xb2,0xae, 0x90,0xe4,0xd1,0xd4, 0x7b,0xda,0x3d,0xd2,
+ 0x2c,0xb9,0x5c,0xb4, 0x0e,0x3b,0x7e,0x2b, 0xae,0x74,0x1f,0xea, 0x71,0x23,0xf8,0x30,
+ 0x94,0xa5,0x09,0x6b, 0xbd,0x6c,0x56,0x16, 0x48,0xb6,0xf4,0x19, 0xd1,0xdb,0x79,0x0b,
+ 0xb8,0x57,0x77,0x1e, 0x9e,0xcf,0x35,0xbe, 0x99,0x49,0xaa,0x84, 0x52,0xb6,0x22,0xaa,
+ 0xd7,0x18,0xa0,0x7e, 0x23,0xef,0x95,0x21, 0x35,0x10,0x3c,0x0a, 0x6a,0x00,0x03,0x76,
+ 0x7a,0x47,0x0f,0xc2, 0xc1,0x87,0xc1,0x9a, 0x32,0x1d,0x41,0x64, 0x2b,0xfb,0xca,0xa0,
+ 0x89,0x7e,0xb8,0x3f, 0x1c,0x64,0xd9,0xa5, 0xd2,0x68,0x1e,0x84, 0x51,0x01,0x70,0x09,
+ 0x73,0xf4,0x1c,0x56, 0xf3,0x03,0x96,0xf4, 0xb4,0x78,0xb7,0x7d, 0x08,0x1a,0xa5,0xea,
+ 0xef,0xc7,0x00,0x55, 0x56,0x64,0xc4,0x7c, 0x34,0x95,0x5d,0xf9, 0x26,0x45,0x07,0xcb,
+ 0x43,0x69,0xb3,0x5f, 0x52,0x7a,0xd9,0xdd, 0x0a,0x3c,0xa6,0x63, 0x8e,0xe8,0x81,0x34,
+ 0xfd,0x7c,0x3a,0x85, 0xae,0xb7,0x91,0x67, 0xa3,0xca,0x9f,0x0d, 0xa0,0x7b,0xc7,0x05,
+ 0x8b,0x9f,0x97,0xab, 0xc8,0xe5,0x85,0x8e, 0xe3,0x29,0x88,0x38, 0x86,0x04,0x01,0xe0,
+ 0x4f,0x6d,0x10,0xa4, 0xcd,0xe3,0xec,0xbb, 0xf0,0xed,0xfa,0x7b, 0xc0,0xda,0xf5,0x94,
+ 0xbc,0x9a,0xae,0xa9, 0xf0,0x1b,0x27,0x4d, 0x3b,0xe0,0x27,0xa3, 0x35,0x36,0x29,0xbf,
+ 0xd3,0x67,0xfc,0xe9, 0xdb,0x27,0x4d,0x18, 0x9f,0xec,0x77,0x59, 0x9e,0x6e,0x2a,0x42,
+ 0x20,0x4a,0xb7,0xfa, 0x79,0x3c,0xee,0x4a, 0xc5,0x52,0x26,0xb7, 0xdc,0xb2,0x4c,0xa1,
+ 0x0e,0xad,0x1e,0x5a, 0x6d,0x65,0xd9,0x54, 0x2f,0xe4,0x95,0x46, 0x7e,0x87,0xfe,0x9f,
+ 0xc1,0x24,0x88,0x65, 0xfb,0xd4,0x59,0x09, 0xa1,0x4b,0x91,0xda, 0x24,0xca,0x78,0x0c,
+ 0xbb,0x89,0xc2,0xcd, 0xea,0x11,0xff,0xd6, 0x76,0xac,0xfb,0xa1, 0x29,0x88,0xca,0x00,
+ 0xfb,0xf0,0xee,0x3a, 0x74,0xdd,0xab,0xdc, 0x91,0x17,0xbe,0xee, 0xe1,0xfa,0x02,0x4a,
+ 0xce,0xdb,0x87,0x08, 0x95,0x9b,0x7e,0xa7, 0xf9,0x97,0x83,0xf9, 0x98,0x21,0xbd,0x2d,
+ 0xf5,0x47,0x9a,0xd9, 0x42,0x35,0x85,0x9a, 0x50,0x57,0x5a,0xae, 0x6c,0xfb,0x81,0x01,
+ 0x87,0xf1,0x53,0xba, 0x08,0x0b,0xc6,0x83, 0x17,0xa1,0xf2,0xc9, 0x5f,0x17,0xbd,0x31,
+ 0xcd,0x54,0xf9,0xbd, 0xa2,0xdd,0x53,0x53, 0x99,0x10,0x19,0xc1, 0x4e,0xe6,0x4f,0xf9,
+ 0x01,0x87,0x25,0xb8, 0x25,0x6e,0xf6,0xfe, 0xfd,0x64,0xd8,0xbf, 0x5f,0x77,0x75,0x47,
+ 0x58,0xd0,0x8c,0xb1, 0xdb,0xe5,0xf9,0x89, 0x6f,0x33,0x8c,0xe3, 0x50,0x8b,0x8b,0xce,
+ 0xed,0x91,0x62,0x22, 0x4f,0x16,0x17,0x4d, 0x69,0xc6,0x1b,0x7f, 0x2d,0xc9,0xd6,0x7b,
+ 0xa7,0x90,0x30,0x94, 0x9b,0xf8,0x1f,0x8b, 0xf1,0xdc,0x9a,0xb3, 0x60,0xdd,0x17,0x11,
+ 0xc8,0x2c,0x8c,0xa0, 0x7f,0x99,0x1a,0x9e, 0xd2,0xe2,0x30,0xd1, 0x06,0x29,0x94,0xe9,
+ 0x17,0x96,0x3e,0x46, 0xb2,0x36,0x22,0xbd, 0xa8,0xf4,0xd9,0x0e, 0x2c,0xb1,0x5c,0xb4,
+ 0x43,0x0f,0x2a,0x7f, 0x7d,0xa5,0x2d,0x30, 0xcb,0xc2,0xa4,0xf4, 0x63,0x0c,0x24,0x0b,
+ 0xd4,0xe3,0xe7,0x04, 0x8b,0xe2,0x3a,0x54, 0x7d,0x1e,0xfd,0xc0, 0x2f,0x0e,0xde,0xa4,
+ 0x2a,0xdd,0x17,0x8c, 0xbb,0xea,0x9c,0x43, 0xa2,0xb6,0xa0,0xc3, 0xd8,0xbc,0x21,0xda,
+ 0xe3,0xbc,0x15,0x49, 0x14,0x0e,0xee,0x0d, 0x97,0x58,0x76,0x53, 0xd5,0x2f,0xc3,0xc2,
+ 0xd1,0x42,0x8e,0xe6, 0xff,0xe8,0x1c,0xd6, 0x0b,0x8c,0xbe,0x28, 0xf2,0x80,0x18,0x7a,
+ 0x4e,0x88,0xbd,0x44, 0x48,0xca,0x2c,0x3e, 0x16,0x35,0xe6,0x89, 0xac,0x03,0xbf,0x5f,
+ 0xa4,0xcd,0x93,0xac, 0x9b,0x9b,0x99,0xa2, 0x81,0xae,0x1a,0xb8, 0x97,0xf6,0x35,0x88,
+ 0x50,0x78,0x56,0x71, 0xe0,0xb4,0xfe,0x69, 0xec,0xfa,0x8a,0xda, 0x52,0x22,0x78,0x5f,
+ 0x7f,0xf0,0xe7,0xa8, 0x0f,0x89,0xaa,0x1f, 0xf1,0x6d,0xaf,0xe3, 0x8b,0xa0,0xee,0x4d,
+ 0xcb,0xcc,0xcc,0x4e, 0x37,0x89,0x03,0x44, 0xd8,0xf8,0xa2,0x23, 0xad,0x35,0x10,0xab,
+ 0xd0,0xe5,0x8a,0x32, 0x1c,0x26,0xe4,0x74, 0x1c,0x9b,0x93,0xf2, 0x79,0xe2,0x17,0x18,
+ 0x36,0xd5,0x13,0x4c, 0x0e,0x73,0x73,0xe3, 0xc7,0xb4,0x6a,0x97, 0x36,0xca,0xb2,0x5a,
+ 0x05,0xbf,0xeb,0x30, 0xf8,0x64,0xd2,0xbd, 0x8f,0xba,0x55,0x96, 0x58,0xd9,0x05,0x7b,
+ 0x82,0x8f,0x9f,0xf5, 0x02,0xf6,0xe4,0x12, 0x4a,0xfc,0x8f,0xe6, 0xdc,0x4d,0xc7,0x7f,
+ 0x5d,0x59,0x5b,0x76, 0x17,0x6c,0xd8,0xc1, 0x12,0x9b,0x2d,0x85, 0xd4,0xb7,0x1f,0x54,
+ 0x12,0x23,0xde,0x55, 0x75,0x5c,0xe3,0x5e, 0xe1,0x4b,0xa9,0xd9, 0x58,0x57,0x70,0xe9,
+ 0x41,0x02,0xd1,0x07, 0x5d,0x8a,0x7a,0xc7, 0x71,0xaa,0xd9,0x46, 0xd9,0x47,0xfd,0x32,
+ 0x4a,0x2b,0x61,0xe8, 0x56,0x00,0x0d,0xd0, 0x8f,0xd1,0xb9,0xa1, 0x0d,0xcc,0x36,0xb1,
+ 0xaa,0xbc,0x51,0x18, 0x19,0x85,0xe0,0xcb, 0x9f,0x25,0x4e,0x59, 0x2d,0x28,0x2f,0x39,
+ 0xba,0x45,0x71,0x05, 0x1c,0x4d,0xe3,0x34, 0x26,0x34,0xb7,0x7d, 0x8e,0xdd,0xaf,0x8e,
+ 0x48,0xb2,0x08,0xf9, 0x61,0x28,0x71,0x73, 0x25,0x40,0x2d,0x4a, 0x4a,0x8a,0x02,0xc4,
+ 0x18,0x73,0x86,0x2a, 0x9d,0xe4,0x0c,0x28, 0xd7,0x70,0x3f,0xb2, 0xe6,0xce,0x93,0x8d,
+ 0x6e,0x12,0xcc,0xb7, 0xaf,0x6f,0x98,0xac, 0xd6,0x3c,0xaf,0x94, 0x30,0xf8,0x6f,0xa2,
+ 0xd2,0xdd,0x94,0xc5, 0xea,0xda,0xcc,0xfd, 0xa8,0xde,0x2f,0x6c, 0x11,0x43,0xb1,0x3e,
+ 0x88,0x0b,0xa5,0xb4, 0x75,0xa4,0x39,0xe1, 0xda,0x79,0x85,0xd9, 0xb8,0x91,0xdc,0xc2,
+ 0x6c,0xee,0x33,0xdf, 0xdc,0xb7,0xea,0x28, 0xed,0x07,0x7a,0x35, 0x64,0x2f,0x15,0x8b,
+ 0x38,0x53,0x99,0x02, 0x8d,0x35,0xe3,0x65, 0x3e,0xb3,0xf6,0xcf, 0xe3,0x63,0x1f,0x3c,
+ 0x04,0x26,0x02,0xec, 0xb6,0x24,0xe7,0x3b, 0xc8,0xc2,0x46,0xf3, 0x3b,0xb6,0xd7,0xa6,
+ 0x49,0x00,0x0b,0x5a, 0x6d,0x0d,0xe8,0x1c, 0x18,0x39,0xe1,0xca, 0x9f,0xbe,0x89,0x9d,
+ 0x8f,0x80,0x94,0x1c, 0x46,0xba,0x82,0xd4, 0x8b,0x88,0xb1,0x28, 0xc6,0x20,0xaa,0xff,
+ 0xdc,0x6e,0xea,0xca, 0x60,0x23,0xb2,0xae, 0xdf,0xc0,0xad,0xef, 0xa1,0x11,0x45,0xdc,
+ 0xe5,0x7f,0x14,0x84, 0x24,0xee,0x6e,0xd9, 0xc6,0x11,0x3e,0x96, 0xfd,0xa0,0x8b,0xe7,
+ 0x3c,0x30,0x55,0xd8, 0xdd,0x10,0x04,0x58, 0x8c,0xe4,0x1a,0xb9, 0xd5,0xed,0x3c,0x45,
+ 0x78,0x59,0x77,0x59, 0x28,0x7e,0x5b,0x35, 0x4f,0x48,0x14,0x0c, 0x16,0xc7,0x77,0xdb,
+ 0xd3,0x37,0xda,0xd7, 0xae,0x7c,0xcd,0xed, 0xa3,0xfd,0x73,0x52, 0xce,0x22,0xb4,0xb6,
+ 0x66,0xd0,0xde,0xf1, 0xc0,0x20,0x28,0x41, 0x89,0xf4,0x0e,0x49, 0x6d,0x1b,0x62,0x08,
+ 0x75,0x99,0x7e,0xbf, 0x34,0xe9,0xee,0x63, 0x62,0x58,0x7b,0x43, 0xcc,0x3a,0x8b,0x25,
+ 0x59,0xae,0x19,0xa3, 0xc4,0xbe,0x6d,0x5b, 0xba,0x2c,0x6a,0xbd, 0x18,0x61,0x46,0xe6,
+ 0x64,0x68,0xff,0x14, 0xb7,0x6c,0x2f,0xef, 0xf0,0xc7,0x52,0x03, 0x59,0x71,0xcd,0x14,
+ 0x31,0x97,0x4e,0xd3, 0xce,0x0a,0x38,0xf9, 0xe6,0x26,0x3b,0x95, 0xf1,0xe8,0x3f,0xa9,
+ 0x6a,0x2f,0x2c,0x3b, 0xe9,0x39,0xe1,0xe5, 0xba,0x79,0x28,0x00, 0xdd,0x01,0x99,0x36,
+ 0x05,0x4f,0x0c,0xe1, 0xd0,0x60,0x3d,0x99, 0x5f,0xfe,0x89,0x73, 0xf4,0x96,0x17,0x77,
+ 0xb4,0x79,0xc1,0x68, 0xac,0xf9,0x84,0xd1, 0xcc,0x5f,0xfa,0x87, 0x95,0x7f,0xcf,0x3c,
+ 0xc3,0x41,0xad,0xfe, 0x52,0x88,0xee,0x87, 0xca,0xd6,0x85,0xdc, 0xe8,0x06,0x39,0xf4,
+ 0xd5,0xb4,0xfd,0x5b, 0x9f,0xbd,0x76,0x93, 0xf6,0x7d,0x03,0x11, 0x05,0xd3,0x89,0x62,
+ 0x32,0x1e,0x71,0x91, 0x05,0xf3,0x53,0x40, 0x0e,0x88,0xc7,0x55, 0x8d,0x14,0x69,0x1c,
+ 0x0f,0x96,0x0d,0x51, 0xdf,0x1b,0x81,0xed, 0x75,0xf8,0x40,0x17, 0xde,0x96,0xdf,0x8e,
+ 0xac,0x9a,0x44,0x04, 0x9e,0x72,0x9b,0x6d, 0xd2,0x72,0xe5,0xfa, 0x14,0x4f,0xea,0x72,
+ 0x4f,0xd0,0xfa,0xc2, 0xdb,0xf0,0x70,0x88, 0x00,0x53,0xa7,0x3a, 0x64,0x0c,0xc9,0x51,
+ 0xde,0x98,0xfd,0x7d, 0x6b,0xcc,0x4b,0xc4, 0xb7,0x73,0xdb,0xc7, 0xc0,0xf3,0x70,0xbb,
+ 0xe7,0x79,0xeb,0x83, 0x7a,0x57,0x98,0x59, 0x2b,0x80,0xad,0x89, 0x6f,0x1c,0x14,0x9f,
+ 0x4a,0xab,0xc4,0x51, 0xe2,0x18,0xb6,0x9b, 0x6c,0x22,0x8c,0xe0, 0xb2,0xd0,0xb2,0x97,
+ 0x41,0x9b,0x05,0x3a, 0x59,0x05,0x21,0x3d, 0x0d,0xfc,0xfc,0xff, 0xff,0x16,0x2f,0xc7,
+ 0x26,0x45,0x50,0x4f, 0xd4,0x5a,0x68,0xd3, 0xc3,0xaf,0x16,0x94, 0x5f,0x7b,0x1a,0x12,
+ 0x3e,0x6d,0xa4,0xd8, 0x42,0x25,0xf6,0x60, 0xd5,0x81,0xbe,0x27, 0x7e,0xc0,0xcc,0x99,
+ 0xce,0x63,0x98,0x94, 0x79,0xeb,0x49,0x64, 0x43,0xd9,0x5c,0xd4, 0xc6,0x01,0x1e,0x3e,
+ 0x8f,0x9f,0xae,0x84, 0x85,0xbf,0x59,0xac, 0xb5,0x1b,0xc5,0x59, 0x68,0x01,0xa8,0x85,
+ 0x30,0xa0,0x21,0x79, 0x0c,0x65,0x48,0x62, 0xa5,0xa6,0x92,0x10, 0x1d,0x92,0x55,0x7f,
+ 0xf9,0xdd,0xc3,0x6d, 0x06,0x88,0x7b,0xdf, 0xcf,0x7a,0xd8,0xe4, 0x78,0xe5,0xa4,0xd0,
+ 0x0e,0x0e,0xa4,0xdd, 0xfa,0x33,0x03,0x47, 0xf1,0xb6,0xf6,0x74, 0x3e,0xa1,0x1e,0xa2,
+ 0x62,0xb3,0x51,0x87, 0x2d,0x00,0x6a,0x5e, 0xf5,0x24,0x43,0x74, 0xae,0x9b,0x72,0xe3,
+ 0x8a,0x51,0x0e,0x99, 0x9d,0x82,0x4b,0x31, 0x04,0xaa,0xa6,0x81, 0x4d,0xae,0x7c,0xf1,
+ 0x42,0xf5,0xb0,0x2a, 0x33,0x24,0xd3,0x2c, 0x01,0xe6,0x9a,0x83, 0xf9,0xdf,0x55,0xbc,
+ 0x23,0x02,0x89,0xa6, 0xb7,0xfe,0x91,0x49, 0x8a,0x90,0x29,0x5a, 0x6a,0x3d,0xa9,0xf7,
+ 0x0d,0x89,0xbc,0x5c, 0x81,0x3d,0xf5,0x80, 0xc4,0xc4,0x05,0x46, 0x72,0x27,0x23,0xfb,
+ 0x4f,0x6c,0xbc,0xbf, 0x6c,0x11,0xe8,0xba, 0x41,0x6a,0x28,0x3c, 0x41,0xd8,0x92,0xbb,
+ 0xa2,0x92,0x6b,0x8b, 0x39,0x8d,0xc1,0xbc, 0xd5,0xea,0x67,0x34, 0x80,0x81,0x04,0x27,
+ 0x10,0x72,0xc3,0xd4, 0x04,0xe0,0x50,0x87, 0xce,0xac,0x1a,0xdf, 0x71,0x48,0xda,0xea,
+ 0xb6,0x26,0x6a,0xf6, 0x58,0x66,0x4c,0x60, 0x67,0xdd,0xae,0x8d, 0x7a,0x6c,0xe7,0x73,
+ 0x70,0x8b,0x1a,0x6d, 0x9e,0x2d,0x7c,0x9c, 0x9a,0xca,0xfb,0x7c, 0x6e,0x95,0xbf,0x72,
+ 0x73,0xa2,0xd1,0x1b, 0x6d,0x48,0x50,0x75, 0xe6,0xcf,0x7a,0x8d, 0xb3,0x3a,0x3d,0x22,
+ 0x26,0xea,0xf2,0x5b, 0xd0,0x35,0xd4,0xf8, 0x71,0x22,0x92,0x41, 0x41,0x0c,0xaf,0x64,
+ 0xc9,0x60,0xef,0x97, 0xb3,0x13,0xe3,0x78, 0x3e,0xcb,0x08,0x91, 0xa4,0xc9,0x65,0xc1,
+ 0x56,0x22,0x38,0xcd, 0x5c,0xa8,0x81,0x2f, 0x61,0x4b,0x20,0x88, 0x36,0x14,0x7d,0xa1,
+ 0x70,0x1f,0xfc,0x63, 0xd6,0x53,0x03,0xb2, 0x0b,0xfc,0x80,0x93, 0x37,0x23,0x56,0xf6,
+ 0x05,0xf4,0xe6,0x7a, 0x2c,0x8d,0xe2,0x47, 0x40,0x40,0x84,0xa8, 0x4a,0x75,0xed,0x70,
+ 0x22,0x14,0xdb,0xdc, 0xc5,0xa8,0xb9,0x20, 0xa4,0x88,0x47,0xb1, 0x33,0x99,0xae,0xc6,
+ 0x60,0x08,0xbb,0x6f, 0xbb,0x4a,0x79,0x89, 0xa9,0x05,0x07,0x2b, 0xa7,0xa9,0xa3,0xdc,
+ 0x0f,0x2d,0x96,0x4b, 0x0e,0x69,0xc3,0xc2, 0xa1,0xb4,0xb5,0x17, 0x04,0x4b,0x6f,0xd4,
+ 0xd9,0xae,0xdf,0xf7, 0x97,0x2b,0x3e,0x8e, 0xd9,0x7b,0xc4,0xa3, 0x4a,0xd0,0x45,0x5b,
+ 0x2f,0x2c,0xa4,0xa6, 0x8f,0xe4,0x5d,0x02, 0xc1,0x5c,0x11,0xbb, 0xda,0xf0,0x38,0x42,
+ 0x6c,0xbe,0x87,0xba, 0xe4,0x34,0x8f,0xe2, 0xf2,0xa1,0x08,0xe8, 0xe3,0x6a,0x6c,0xbd,
+ 0x8f,0x99,0x83,0x48, 0x79,0x6c,0xe6,0x8d, 0x5a,0x8e,0xcb,0x74, 0x37,0xd1,0x5a,0xe8,
+ 0x42,0x32,0x5e,0x1f, 0xb0,0xaf,0xbf,0x48, 0xe8,0x7b,0xf4,0x28, 0x3f,0x91,0x8b,0x70,
+ 0xc0,0x50,0xdf,0x3e, 0x2e,0x3d,0x8f,0xf4, 0x55,0x92,0x1b,0x26, 0x14,0x5a,0x26,0x09,
+ 0x6c,0x50,0x2c,0x99, 0x42,0x97,0xef,0x93, 0xa7,0xea,0xb7,0x12, 0xe8,0x56,0xf2,0x11,
+ 0x91,0xe4,0xd7,0x34, 0xc2,0x4f,0x20,0xe5, 0xa4,0x3b,0x89,0xad, 0xf6,0x28,0x7f,0x6b,
+ 0x5d,0x49,0xff,0xc4, 0x58,0x07,0xef,0x27, 0x84,0xb9,0xe7,0xa2, 0x53,0xf4,0x33,0xa9,
+ 0xe4,0x57,0xce,0x62, 0x36,0x99,0x90,0xf4, 0x6c,0x87,0x2e,0x85, 0x32,0xc9,0xdc,0xdb,
+ 0x58,0x41,0x4d,0x7e, 0x3b,0x63,0x8d,0x0c, 0xce,0xa1,0x7d,0x7c, 0x72,0xad,0x1e,0xbc,
+ 0x19,0x2d,0x91,0x41, 0x06,0xf1,0x2d,0x24, 0x4f,0xbe,0x27,0xea, 0x99,0x8e,0x73,0xe8,
+ 0xdc,0x99,0xc2,0x19, 0x11,0xe8,0xfa,0xff, 0xe9,0xc2,0x70,0x27, 0x1b,0x18,0x53,0x75,
+ 0x7f,0xa3,0xb7,0xb2, 0x1e,0x3b,0x06,0x5e, 0xe9,0xd3,0x08,0xf8, 0x13,0x96,0xa5,0x88,
+ 0xbf,0x24,0x65,0x1d, 0xaa,0x69,0x57,0xda, 0x01,0xbe,0x14,0x39, 0x89,0x65,0x2a,0xcf,
+ 0xed,0x11,0xa8,0xc6, 0x54,0xc5,0x16,0x85, 0x27,0x84,0xd9,0x00, 0x53,0x65,0x49,0xa9,
+ 0x8c,0x66,0x43,0xff, 0x38,0x00,0x56,0xae, 0x63,0x6d,0xdf,0x72, 0xa9,0x18,0x7e,0x56,
+ 0x55,0xf0,0xef,0xb2, 0x7b,0x88,0x55,0xc6, 0xec,0x55,0xb5,0x3f, 0xa8,0x6b,0x7c,0x74,
+ 0x2c,0x6b,0x2f,0x38, 0x65,0x37,0xb0,0x2f, 0xeb,0x80,0x17,0x38, 0x46,0xe7,0xbf,0xe9,
+ 0x6b,0xb0,0xf2,0xbb, 0x64,0x0b,0x90,0x27, 0x22,0xaf,0x50,0xd7, 0xe1,0x80,0xb0,0x2e,
+ 0x10,0xfd,0x6a,0xdb, 0x6c,0x3a,0x82,0x76, 0x85,0x35,0xcb,0xb2, 0x79,0x67,0x0e,0x7e,
+ 0xb7,0xce,0x56,0x06, 0x82,0x90,0x88,0x36, 0xde,0xc3,0xa0,0x0f, 0x0e,0xb1,0x23,0xbd,
+ 0xa9,0xb0,0x4c,0x84, 0xda,0xe8,0xf1,0x70, 0x1b,0x35,0x93,0x16, 0x02,0x02,0x83,0xdb,
+ 0xc7,0x3e,0x36,0xd9, 0x76,0xcc,0xbd,0x4d, 0x1f,0x56,0x6a,0x4b, 0x8f,0x27,0x59,0x91,
+ 0x05,0xc9,0x5b,0xb7, 0x93,0x3c,0x2f,0x89, 0xfc,0x0b,0x8b,0x84, 0x32,0x93,0x72,0x43,
+ 0xf9,0xa3,0x58,0xb6, 0x4a,0xab,0xa7,0x36, 0x3b,0xc5,0x30,0xdf, 0x65,0x19,0xde,0x28,
+ 0xf5,0x8b,0xa4,0x88, 0x9f,0x77,0x25,0x86, 0xb5,0x34,0xb5,0x29, 0xbf,0x63,0xdb,0x18,
+ 0x2f,0x59,0x22,0xe9, 0xc6,0x94,0x97,0x06, 0x76,0xaf,0xc3,0xd5, 0xd7,0x28,0x28,0xd8,
+ 0xd7,0x70,0x50,0x3e, 0x2e,0xed,0xae,0x50, 0x72,0x65,0x3b,0xd3, 0x1a,0x92,0xbe,0xb8,
+ 0xcf,0xdf,0x2b,0x1c, 0xb2,0xb0,0xcd,0x4c, 0xb2,0x05,0xaa,0x1a, 0x43,0x6c,0xfe,0xf5,
+ 0x16,0xdf,0x13,0xc1, 0xc0,0xb5,0x2f,0x87, 0x83,0xa5,0xef,0x92, 0xe5,0x18,0xec,0xd6,
+ 0x80,0x24,0xaf,0x99, 0x8d,0xa2,0x31,0xfa, 0x04,0x92,0x12,0xda, 0x07,0x7c,0x4b,0xac,
+ 0x16,0xc7,0xae,0xb4, 0xa3,0x20,0x7e,0xc1, 0x73,0x1a,0x22,0xcf, 0xee,0xcb,0x49,0x74,
+ 0x94,0x01,0xa8,0x5e, 0x08,0x25,0xc8,0xa9, 0xdd,0xf7,0x05,0xa4, 0x98,0xa1,0xf1,0x65,
+ 0xbe,0x77,0xc6,0xc4, 0xd7,0xb6,0x1b,0xfd, 0x97,0xc7,0xd1,0x75, 0xd3,0x4a,0xc6,0x84,
+ 0xc7,0x07,0x6c,0x12, 0xd7,0x0b,0x3d,0x72, 0x29,0x55,0xa3,0x24, 0x60,0xae,0xae,0xe9,
+ 0x6b,0x00,0x5c,0xaf, 0x90,0xf4,0xd9,0x21, 0x54,0xda,0x5e,0x05, 0x0c,0x5d,0xe0,0x0a,
+ 0x80,0xcd,0xf7,0x61, 0xb3,0x97,0xb2,0xd7, 0xd8,0x0e,0x8c,0xa3, 0x29,0x06,0x65,0xbb,
+ 0x14,0x16,0x10,0x59, 0x38,0x55,0x9d,0xf3, 0xa9,0x5b,0xde,0x22, 0x6d,0x10,0xa6,0x96,
+ 0x4f,0x5e,0x63,0xa7, 0x88,0xda,0x7c,0xa9, 0x4a,0x7a,0xde,0x80, 0x1d,0x9f,0x7a,0xb7,
+ 0x70,0xad,0x13,0x45, 0xbf,0x93,0x55,0x33, 0x1c,0x12,0x35,0x67, 0x79,0xf7,0x41,0x25,
+ 0x6c,0x81,0x47,0x73, 0xaa,0xb2,0x24,0x55, 0x96,0x31,0xe0,0xf6, 0xb1,0x2b,0x0f,0x16,
+ 0x23,0x21,0x32,0x0d, 0x30,0x66,0xbc,0x69, 0x57,0x1c,0xd2,0x51, 0x01,0x06,0xd7,0xd4,
+ 0x03,0xeb,0x27,0x18, 0x45,0x85,0xe0,0x5a, 0x02,0xc6,0xd8,0x81, 0x3d,0x88,0x70,0x94,
+ 0x41,0x76,0x60,0xc7, 0xa6,0x59,0x7b,0xc2, 0xcd,0x81,0x2a,0x2a, 0xfb,0x0d,0x78,0x09,
+ 0x12,0x01,0x30,0x2c, 0xad,0xb4,0x52,0x21, 0x66,0x67,0xa3,0x25, 0x6f,0x52,0x8c,0x20,
+ 0xcd,0x2b,0x6f,0xc6, 0xd6,0xba,0xbe,0x97, 0xde,0xb2,0xee,0xca, 0xb6,0x27,0xf3,0x1b,
+ 0x77,0x5b,0x36,0x45, 0xf6,0x42,0x25,0x3a, 0xff,0x3c,0x1a,0x83, 0x6b,0xed,0x6c,0xfa,
+ 0x3e,0x9f,0x08,0x81, 0xed,0x27,0x92,0xd8, 0xc2,0xda,0x5c,0x78, 0xbf,0x32,0x27,0xc0,
+ 0x83,0x64,0x13,0xe9, 0x6e,0xa8,0x34,0x8d, 0x6d,0xc9,0xc0,0xb7, 0x9c,0xb9,0xd7,0x6d,
+ 0x31,0xb5,0x08,0xa7, 0xc4,0xe7,0xf9,0x05, 0x46,0x6d,0xef,0xe3, 0xbc,0xa5,0x59,0x0b,
+ 0xbd,0x44,0x9d,0x02, 0xa4,0x3c,0xe8,0x90, 0x69,0x79,0xf1,0x06, 0x14,0x8c,0xcf,0xa2,
+ 0x3c,0xbb,0xea,0x41, 0xb8,0x83,0xc2,0x36, 0x2c,0x79,0x78,0xd8, 0xda,0x0a,0x31,0xf0,
+ 0x83,0x4b,0xcb,0x01, 0x83,0x75,0xf8,0x65, 0xc0,0x4c,0xd4,0xb8, 0x70,0xb5,0xa3,0x0a,
+ 0x2f,0x9a,0xb6,0xc6, 0x1d,0xcf,0x0b,0xd0, 0xed,0x05,0x06,0xfd, 0x99,0xaa,0x57,0x8a,
+ 0xd0,0x24,0xa9,0xa2, 0xe8,0xca,0x7d,0xfd, 0xd9,0x78,0x46,0x08, 0xf1,0x89,0x30,0xd9,
+ 0x8f,0x21,0x74,0x96, 0xea,0x7f,0x5c,0x42, 0x23,0x52,0x0b,0x77, 0xb6,0xc9,0x85,0xe7,
+ 0x21,0x5a,0x63,0xd1, 0xfa,0xa5,0xcf,0x0f, 0x9a,0x08,0xe1,0xf1, 0x12,0x8f,0x89,0x84,
+ 0x73,0xe1,0x9c,0x4c, 0x9c,0xb5,0xea,0x73, 0x43,0xfe,0xab,0x0f, 0x9f,0x05,0xd1,0xe1,
+ 0x64,0x9d,0x6d,0x0f, 0xce,0x60,0x53,0x62, 0xb5,0xfc,0x09,0xd8, 0x0a,0x89,0x24,0x93,
+ 0xa1,0xb0,0x84,0xd3, 0x68,0xab,0x2f,0x3e, 0x35,0x67,0x6a,0x58, 0xcd,0x3c,0x2f,0xfa,
+ 0x4c,0x1f,0x72,0xa1, 0xc9,0x48,0x47,0x43, 0xb9,0x98,0x24,0xa9, 0x8d,0x30,0xf4,0x85,
+ 0x30,0x3d,0x1d,0x64, 0xbd,0x9f,0x02,0xd8, 0xc4,0xce,0x3f,0x20, 0x58,0x5a,0x17,0x8f,
+ 0x15,0x7b,0x6d,0x3f, 0xc1,0x0d,0x8f,0xd7, 0x20,0x73,0x85,0xe6, 0x87,0xbc,0x72,0x09,
+ 0xcd,0x10,0x93,0xf6, 0x43,0x4e,0x14,0xef, 0xe0,0xe6,0x26,0x74, 0x48,0x97,0x79,0xd6,
+ 0x05,0xf0,0xd0,0x32, 0x40,0x3a,0x19,0xd5, 0x3e,0x88,0x2a,0x21, 0xdc,0xb7,0x37,0xeb,
+ 0x17,0x03,0xa8,0x52, 0x82,0xac,0xb3,0xc5, 0x5d,0x6d,0x5e,0x29, 0x56,0xcb,0x7e,0xfc,
+ 0x8a,0x1a,0xb6,0x05, 0x45,0x58,0x8b,0x52, 0xfc,0xb7,0x43,0x5a, 0x7d,0x92,0x0b,0xa7,
+ 0x94,0x4c,0xc2,0xf2, 0x32,0xda,0x95,0xde, 0x7a,0xd8,0x40,0x99, 0xea,0x36,0xe2,0xe7,
+ 0x9f,0x78,0x4f,0x08, 0x25,0x8b,0x82,0x2b, 0xa8,0x57,0x48,0x6e, 0xef,0xb4,0xfc,0xc0,
+ 0x9f,0x6c,0x7f,0xc9, 0xe0,0x14,0xc2,0xb3, 0xc0,0x91,0x5c,0x9e, 0x51,0x83,0xd8,0x2f,
+ 0xe9,0x77,0xa6,0x3a, 0x17,0x68,0xd6,0x12, 0xfd,0xdf,0xca,0xb3, 0x0b,0xd3,0x0c,0x53,
+ 0xaf,0x69,0xe7,0x16, 0xb1,0x32,0x8f,0xb2, 0x0a,0xea,0x50,0xf2, 0x44,0x52,0x7b,0x26,
+ 0x8c,0xac,0x27,0xd7, 0x23,0x0c,0x71,0x83, 0xd8,0x82,0xc4,0x08, 0xfe,0x98,0x15,0x7c,
+ 0xf8,0x33,0x7b,0xdf, 0xda,0x72,0x17,0x6e, 0xd0,0x42,0xb0,0xfa, 0xfe,0x90,0x6e,0xc1,
+ 0xf7,0x2e,0xfb,0x90, 0x64,0x9c,0x06,0xf8, 0x1c,0x76,0x53,0xcf, 0xa6,0x73,0x94,0xd3,
+ 0x30,0x88,0xde,0xfe, 0x48,0x1c,0xc8,0x75, 0x27,0x46,0xa5,0xbc, 0xe0,0xb4,0x8f,0x65,
+ 0xa7,0xd6,0x65,0x35, 0xe1,0x08,0xb4,0x5e, 0xc7,0x7c,0x9a,0x9c, 0x4a,0x91,0xbb,0x54,
+ 0x5d,0x22,0x29,0xf6, 0x69,0x80,0x6f,0x32, 0xd2,0x86,0x15,0xa6, 0x17,0x93,0x10,0xd7,
+ 0xc0,0xe4,0x62,0x4b, 0xc4,0x09,0x70,0x67, 0xb0,0xac,0xa2,0xe6, 0xcf,0x2c,0x6b,0xa6,
+ 0xf5,0xc7,0x34,0x6a, 0x9c,0xdc,0x65,0x02, 0xb7,0xf3,0xa4,0xa0, 0xfb,0x43,0x66,0xe1,
+ 0x17,0x8c,0x8f,0x33, 0x8e,0xec,0x48,0xd2, 0x56,0xe2,0x0f,0xf0, 0xe0,0xc9,0x6f,0x31,
+ 0x96,0x31,0x8b,0x3b, 0x9c,0x16,0xbe,0x00, 0x0c,0x2d,0xb8,0xd7, 0x72,0x5d,0xdd,0xa6,
+ 0x15,0x5f,0xfb,0xb8, 0x8b,0x66,0x78,0x78, 0x40,0xc4,0x87,0xa7, 0xe6,0x63,0x60,0xa7,
+ 0x6d,0x50,0x64,0xff, 0x58,0x13,0xd0,0x43, 0x0c,0x74,0x82,0x86, 0x4a,0x04,0xd0,0xde,
+ 0xbd,0x86,0xde,0x62, 0xdf,0xcc,0x87,0xab, 0x3e,0xc9,0xe5,0x1c, 0xf5,0xdd,0x7e,0xec,
+ 0x4a,0x92,0x25,0x3d, 0x60,0x32,0xd4,0x4c, 0x56,0xa5,0x64,0xe9, 0x3d,0x2e,0x68,0x3a,
+ 0xdb,0x58,0x26,0xf0, 0x58,0x67,0xb5,0xca, 0x67,0xa3,0x61,0xd7, 0x6a,0xb0,0xfd,0xba,
+ 0x01,0x46,0x99,0x06, 0x15,0x4c,0x23,0x53, 0xf6,0x6f,0x33,0x55, 0xf5,0xf3,0x8a,0x6c,
+ 0x66,0xc5,0x09,0xa0, 0xd2,0x8c,0x71,0xce, 0x2d,0x91,0x6c,0xba, 0xa9,0x0b,0x27,0x1d,
+ 0xa3,0xdd,0x96,0x01, 0x6d,0x38,0x76,0x53, 0xb0,0xcb,0x51,0xfb, 0x99,0xb3,0x39,0x9a,
+ 0x3e,0x7c,0x36,0xb6, 0x91,0x0d,0xc0,0xb9, 0xc0,0xf3,0x35,0x3f, 0xf1,0xe9,0x61,0xa5,
+ 0xe6,0xf4,0xfc,0xcb, 0x72,0x8b,0x2c,0x66, 0xfb,0x16,0x4f,0x7c, 0x17,0x5a,0x8b,0x3b,
+ 0x19,0x86,0xaa,0x49, 0x38,0xa2,0x31,0xf2, 0x62,0x8d,0xc0,0x81, 0xb2,0x54,0xe8,0x44,
+ 0xaa,0x36,0x71,0x07, 0x3c,0x9d,0xae,0x3a, 0x42,0x27,0x91,0x5a, 0x94,0x91,0xfe,0xd9,
+ 0x2f,0xe7,0x37,0x45, 0xfa,0x03,0x6a,0x90, 0x0f,0xc5,0x4e,0x05, 0x03,0xda,0x3a,0x20,
+ 0x0d,0xa1,0xda,0x08, 0x45,0xac,0xf6,0xb7, 0x0b,0xcc,0x8e,0x3d, 0x71,0xf8,0x17,0x1a,
+ 0xe3,0xf4,0xe7,0x6a, 0x99,0xad,0x6a,0xdc, 0xec,0xce,0x0e,0xba, 0x6d,0xe1,0x83,0xf2,
+ 0x6d,0x98,0xba,0x3a, 0x18,0xc6,0xf8,0x64, 0xf6,0xf0,0x1d,0xc7, 0x22,0xd3,0x6d,0x4a,
+ 0xcd,0x6d,0x5c,0x91, 0x5b,0xbd,0xa6,0x9a, 0x57,0x2b,0x21,0x80, 0x40,0x45,0x75,0x6c,
+ 0xba,0xa2,0xad,0xce, 0xff,0x68,0xe4,0x44, 0x5d,0xab,0xa6,0x15, 0xad,0xec,0x0d,0x19,
+ 0x58,0x2c,0xe3,0x3c, 0xb4,0x7d,0xcc,0xdc, 0xd7,0xee,0x1d,0x96, 0x1e,0xb3,0x18,0x70,
+ 0x32,0x5e,0x77,0x77, 0xc0,0x8b,0x86,0xf3, 0x11,0xd2,0x25,0x1c, 0x97,0x00,0xd5,0xdf,
+ 0x23,0x4b,0xe4,0xcf, 0xf6,0x69,0x29,0xe4, 0x63,0x2a,0x46,0xa5, 0x16,0xb6,0x93,0xa3,
+ 0x0f,0x45,0xf7,0x2d, 0x97,0x2d,0xd2,0xa3, 0x6f,0x4a,0x95,0x78, 0x58,0x3f,0x5f,0x9e,
+ 0x9e,0x0c,0xb0,0xdc, 0xdf,0x24,0xc9,0x79, 0x90,0xcf,0xba,0xed, 0xdf,0xf0,0x5d,0xfa,
+ 0x3f,0xe7,0x46,0x58, 0x04,0x69,0x3c,0x4f, 0x46,0x94,0x53,0x0a, 0xee,0x9f,0x44,0x43,
+ 0x15,0xc1,0x06,0x10, 0x42,0x19,0x79,0xd9, 0x20,0x22,0xe8,0x57, 0x55,0x36,0xa9,0x87,
+ 0x2f,0xe9,0xa0,0xa5, 0x73,0x45,0xa8,0xef, 0xbd,0xc1,0x86,0x26, 0x22,0x68,0x57,0xf6,
+ 0xa3,0xde,0x64,0x9d, 0x71,0x5f,0x5d,0x7f, 0xfb,0xdf,0x54,0x4e, 0x86,0x2b,0x01,0xef,
+ 0x67,0xef,0x0e,0xe9, 0x00,0x20,0x64,0x51, 0xc9,0xe5,0x77,0x3a, 0xca,0xc4,0xb9,0x8f,
+ 0xdc,0x97,0xe4,0xf3, 0x1c,0x9a,0x37,0x31, 0x81,0x7b,0x40,0x2b, 0xd6,0x17,0x8d,0x0c,
+ 0x34,0x8d,0x44,0xbd, 0x44,0xe5,0x7f,0xf3, 0x8a,0x3c,0x6d,0x47, 0x34,0xf1,0xe1,0x84,
+ 0xdf,0xa1,0x36,0x01, 0xfc,0x52,0x9f,0x89, 0x43,0xad,0x7f,0x25, 0x24,0x71,0x36,0x03,
+ 0x03,0xcf,0x37,0xf6, 0x6b,0xe2,0x01,0xac, 0xa8,0xb8,0x1c,0x92, 0xae,0x10,0x3e,0xad,
+ 0x75,0xcf,0x4f,0x84, 0x09,0x65,0xed,0xfb, 0xd1,0xa5,0x82,0xdd, 0xdf,0x74,0x0f,0x00,
+ 0x25,0x44,0x70,0xd7, 0x94,0x81,0x31,0x55, 0x21,0x7a,0xc2,0xeb, 0x1a,0xce,0x75,0x03,
+ 0x1a,0x26,0x97,0x02, 0x9c,0x31,0x5a,0x5f, 0xbb,0x8b,0x61,0x92, 0xc4,0xb8,0xf7,0x1e,
+ 0x31,0x0d,0x70,0xdc, 0xc5,0xdd,0x24,0x87, 0xbc,0x5d,0x3a,0x57, 0x31,0xa0,0x33,0x43,
+ 0x59,0x0e,0x60,0xcd, 0x88,0x72,0x90,0x0a, 0x9d,0x26,0xe6,0xba, 0x02,0xb9,0x10,0x5c,
+ 0x5b,0x0d,0x49,0x00, 0xb4,0x1e,0x00,0x61, 0x1b,0x70,0xec,0xf2, 0x65,0xb9,0x47,0x67,
+ 0x16,0xf1,0x48,0x44, 0xdc,0xb4,0x07,0xf9, 0x03,0x68,0x02,0x13, 0xbf,0x24,0xb0,0x76,
+ 0xb0,0xe4,0x84,0xe8, 0xee,0xbd,0xef,0x62, 0x0b,0x12,0xfe,0xf4, 0x3e,0x65,0x03,0x75,
+ 0xc1,0x51,0x2b,0x5e, 0x84,0x8d,0x0d,0x14, 0xb0,0xb9,0x88,0xa2, 0x9a,0x0d,0x43,0x15,
+ 0xfa,0x49,0x72,0x18, 0xa9,0x1f,0x5a,0x8b, 0x7a,0x42,0x4d,0x36, 0xab,0x84,0x3d,0x23,
+ 0x37,0xaa,0x8a,0xec, 0xc9,0xdf,0xaf,0x08, 0x82,0x87,0x65,0x26, 0x67,0x46,0x25,0xd0,
+ 0xcb,0x90,0x7c,0x6e, 0x36,0x03,0x83,0x0e, 0xc5,0xbb,0x7d,0xbc, 0x45,0xb4,0x91,0x98,
+ 0x58,0x0b,0x84,0x18, 0x1f,0xca,0xea,0x5e, 0x85,0xa0,0xac,0xf1, 0x35,0x81,0x71,0xa5,
+ 0xad,0x4b,0x57,0x3c, 0xc7,0xd3,0x9b,0xf1, 0x47,0x1c,0xe4,0x74, 0x61,0x4c,0x39,0xca,
+ 0x04,0x81,0x31,0x3b, 0xc5,0x39,0x7a,0x9f, 0x9f,0xe3,0x89,0x00, 0xe5,0x15,0x9a,0x12,
+ 0xd6,0x25,0x33,0x9f, 0xa0,0x6c,0x33,0x18, 0xc8,0xb2,0x0d,0x80, 0x60,0x99,0xeb,0xb0,
+ 0x01,0x52,0xcf,0x53, 0xe0,0x8b,0x34,0xf8, 0x01,0x91,0xcd,0x14, 0xa5,0x07,0x2d,0x2c,
+ 0x9d,0xf1,0x72,0xb9, 0xad,0x7d,0x68,0x69, 0x7e,0x4e,0x15,0x73, 0xc1,0x68,0x63,0xbf,
+ 0x1c,0xdf,0xc5,0xe3, 0x10,0xee,0xb8,0xf5, 0x0a,0x60,0x07,0x5d, 0x9e,0x1d,0x11,0xb4,
+ 0xaf,0x64,0x29,0x0f, 0xdd,0xfb,0xaf,0x21, 0x77,0xdf,0x51,0x5f, 0xfa,0xa4,0xbf,0x4f,
+ 0x43,0x1a,0x2a,0x90, 0x81,0x46,0x45,0xdb, 0xbf,0x31,0x9a,0x7d, 0xd3,0x6b,0x15,0x87,
+ 0xc7,0x4a,0xff,0x25, 0xc8,0xc8,0xac,0x37, 0xe3,0x75,0x9e,0xb4, 0xc2,0x30,0x9f,0x08,
+ 0xf8,0x2b,0xa1,0x7f, 0x23,0x01,0x61,0x90, 0x9d,0x1d,0x74,0x8c, 0xfe,0x13,0x28,0xe4,
+ 0x37,0xa4,0xdf,0x79, 0xbb,0x59,0x9f,0x1a, 0x14,0x94,0x06,0x5f, 0xd7,0x49,0xde,0x12,
+ 0x88,0x06,0x7c,0x10, 0x59,0x67,0xf3,0x55, 0x47,0x16,0x68,0x14, 0xc2,0xb4,0x41,0x13,
+ 0x71,0xe3,0x02,0x0b, 0x27,0xdc,0xa4,0x35, 0x36,0xae,0x01,0x75, 0x39,0x22,0x90,0xad,
+ 0xe4,0xc6,0x57,0x61, 0x37,0x5e,0x34,0xdd, 0x29,0x7a,0x94,0xb2, 0xb8,0x72,0x24,0x2c,
+ 0x42,0xb5,0xe9,0x3d, 0xc2,0xb1,0x39,0x36, 0xe3,0x34,0x39,0x31, 0x6b,0x09,0x91,0xa8,
+ 0xdb,0xaf,0x50,0x6a, 0x6a,0x53,0x65,0x24, 0xe8,0x16,0x23,0xd8, 0x2d,0x00,0x9b,0xca,
+ 0x31,0x21,0xd8,0xd0, 0xd0,0xa2,0x6d,0x0b, 0x35,0xb0,0xb8,0x2d, 0x38,0xc1,0xe3,0xef,
+ 0x6b,0x72,0x96,0xc3, 0xd9,0x32,0x12,0xe6, 0x68,0xec,0x9f,0x75, 0xc2,0x29,0xce,0x2e,
+ 0xd9,0x03,0x62,0xca, 0x3b,0xe8,0xa4,0x3f, 0x9c,0xb5,0x6e,0xb6, 0x69,0xba,0x0a,0xb6,
+ 0x6f,0xaa,0x5a,0xe0, 0x85,0xdc,0x85,0x2a, 0x49,0x09,0x9e,0x8b, 0x3e,0x5b,0x52,0xf4,
+ 0xc7,0xc3,0xef,0x9a, 0x5c,0x9c,0x8f,0x01, 0xa0,0x69,0x87,0xd5, 0x90,0x58,0xac,0xba,
+ 0x0c,0x5a,0xd6,0x7e, 0x4d,0x06,0x76,0xa1, 0x97,0xc0,0x56,0xe5, 0x39,0xa8,0x9e,0x3b,
+ 0xb9,0xd4,0xc4,0x51, 0x69,0x41,0x38,0x7c, 0x43,0x3e,0x94,0x93, 0x00,0xf4,0x17,0x81,
+ 0x4e,0x91,0x2d,0x4e, 0x4a,0x9d,0xcd,0x33, 0xed,0xdd,0xa8,0xb3, 0xdd,0xe4,0x3c,0x0c,
+ 0xf9,0x8f,0x7c,0x9f, 0xcc,0x4f,0x0a,0x92, 0x81,0x62,0x6c,0x52, 0xbd,0x9d,0x3b,0x5f,
+ 0xb7,0xbd,0x0b,0x7c, 0x26,0xca,0x3e,0xea, 0xcf,0xb4,0xd4,0x96, 0x59,0x7b,0xee,0xec,
+ 0xb1,0x71,0xd0,0xaa, 0x48,0x94,0x9f,0xc3, 0xb6,0x49,0x67,0x2b, 0x55,0x0a,0x3a,0x68,
+ 0x6a,0xa9,0xec,0xe7, 0xd6,0x4b,0xe4,0xad, 0x32,0xf5,0xe1,0x59, 0x92,0xda,0xf9,0x5e,
+ 0x0d,0x9d,0x17,0x3b, 0xce,0x3f,0x60,0x2f, 0xa1,0x8c,0x5e,0x04, 0x47,0xc1,0xe3,0x93,
+ 0x55,0x63,0x3b,0x9f, 0xd7,0x01,0x94,0x2e, 0x72,0xcd,0xdf,0x4e, 0x88,0x73,0x0b,0x3d,
+ 0xc4,0xc6,0x99,0x0e, 0x84,0x81,0x0b,0xbf, 0x27,0x78,0x58,0xdc, 0x38,0xc4,0x28,0x56,
+ 0x10,0x17,0xb0,0xa6, 0x88,0x9d,0x43,0xff, 0x90,0x5f,0xe0,0x08, 0xd4,0x40,0xf1,0x34,
+ 0xdf,0x78,0xd0,0xcb, 0x50,0x90,0x74,0xdd, 0x48,0x74,0xa1,0x38, 0xeb,0x71,0x86,0xb6,
+ 0x5e,0x30,0xa4,0xf2, 0xac,0xd5,0x65,0x7c, 0xdd,0x76,0x46,0x69, 0x9d,0x7a,0x1e,0x5d,
+ 0xb1,0x5e,0x29,0xf2, 0x9b,0x25,0x6d,0x30, 0xdc,0x9d,0x0a,0x6e, 0x6a,0xe4,0x81,0xd4,
+ 0xc6,0x3e,0x0e,0x06, 0x34,0xa6,0x82,0x2e, 0x5e,0x5f,0x5b,0x88, 0x71,0x87,0x07,0x22,
+ 0x98,0xa2,0x81,0x02, 0x2a,0x85,0xa5,0x1e, 0xd9,0x89,0x96,0x8c, 0xe6,0x00,0x2c,0xce,
+ 0xed,0x06,0xbc,0x08, 0x5c,0x7b,0x93,0xf3, 0x42,0x83,0xb5,0x2a, 0xc3,0xf5,0x56,0xbd,
+ 0x18,0x5f,0x2c,0x0c, 0x1a,0x1d,0x6a,0xa7, 0xbc,0x4d,0xba,0x17, 0xab,0x8f,0x3f,0xc0,
+ 0x79,0x11,0x90,0x3c, 0x8e,0x92,0xbc,0x6c, 0xb3,0xae,0x0c,0x26, 0xa6,0x42,0xaf,0xbb,
+ 0xc5,0xa0,0x55,0x05, 0x80,0xfb,0x18,0x2f, 0x81,0xfd,0x81,0x20, 0x19,0x05,0x67,0x68,
+ 0x8c,0x8f,0xdd,0x93, 0x40,0x66,0x2b,0x54, 0x7a,0x7d,0xc5,0xf1, 0xe6,0xae,0xaa,0xf5,
+ 0x16,0x68,0xed,0x5f, 0x3c,0xf4,0xfd,0x2a, 0xb7,0x2a,0x4d,0xce, 0x69,0xac,0x63,0xa1,
+ 0xcf,0x76,0x3d,0x4f, 0x45,0x62,0x5c,0xd8, 0x6c,0x13,0x10,0x2c, 0xb7,0xc0,0x2e,0x68,
+ 0x75,0x21,0x53,0x45, 0x38,0x6c,0x44,0x21, 0x4c,0x89,0x7f,0xdf, 0x13,0x87,0xa0,0xac,
+ 0x68,0xb6,0xc9,0xf3, 0xf9,0x00,0xd2,0x11, 0x9a,0x22,0xef,0x0e, 0x5d,0xfb,0x4e,0xf0,
+ 0x70,0x3d,0xba,0x9e, 0x20,0x5a,0xd1,0x03, 0x6a,0x90,0x0d,0x64, 0x59,0x35,0x51,0xc5,
+ 0x7f,0x99,0x7f,0x26, 0x5a,0x70,0x7d,0x36, 0x87,0x95,0xc1,0xfd, 0x63,0x62,0x5a,0x70,
+ 0xed,0x38,0xbc,0x56, 0x50,0x30,0xbb,0xe9, 0x1c,0x16,0x51,0x1c, 0x6e,0xe5,0xb8,0x70,
+ 0x9f,0x83,0x0b,0xe9, 0xbf,0x50,0xf8,0x48, 0xd6,0x49,0xba,0x37, 0x36,0x59,0xe9,0xea,
+ 0x42,0x8d,0x18,0x92, 0xab,0x95,0xe3,0x61, 0xa7,0xc0,0x94,0x3d, 0xd8,0x99,0x77,0x7b,
+ 0x54,0xd2,0x4f,0x5f, 0x08,0x9e,0xd7,0x70, 0xb0,0xb8,0xff,0x15, 0xd8,0xd2,0x06,0x1d,
+ 0x07,0xa5,0x18,0x97, 0x37,0xf3,0x61,0xd0, 0x80,0x68,0x53,0x57, 0x0a,0x74,0xe2,0xce,
+ 0xd3,0x00,0x49,0x20, 0x12,0xe1,0x55,0x83, 0x4b,0x3c,0xc5,0xe1, 0xbc,0xb0,0x06,0x32,
+ 0xfc,0xc3,0xa0,0x18, 0x5f,0x5d,0xe9,0x2a, 0x6c,0x84,0x52,0x07, 0x92,0x4f,0x17,0x4c,
+ 0xd9,0xd7,0x09,0x35, 0x7c,0xe2,0xed,0x5d, 0x78,0x75,0x70,0xa3, 0x8d,0xde,0x15,0x7e,
+ 0x74,0x66,0x52,0x80, 0x19,0xb8,0x90,0x93, 0xee,0x43,0xd1,0x2f, 0x51,0x41,0xad,0x53,
+ 0x1a,0x50,0xf4,0xcd, 0x98,0xf8,0x6f,0x6e, 0xe7,0x23,0x03,0xa5, 0x45,0x52,0xe2,0xf6,
+ 0x65,0x71,0x0e,0x84, 0x5b,0x51,0x00,0xec, 0xd0,0xdc,0x88,0x0a, 0x22,0x9c,0xba,0x68,
+ 0x11,0x8a,0x42,0xcf, 0x74,0xa1,0x97,0x09, 0xef,0xfa,0xfd,0x42, 0x80,0xa7,0xcf,0xb8,
+ 0x4c,0x3a,0x84,0x8e, 0xb3,0x9e,0xd5,0x69, 0x8f,0x60,0x99,0xc2, 0xb5,0xbd,0x61,0x79,
+ 0xb5,0x1a,0x82,0xa8, 0xb6,0xe8,0xea,0x0c, 0xdb,0x5d,0x05,0x44, 0xb5,0x4b,0x32,0xe2,
+ 0x45,0x22,0xad,0x3e, 0x02,0xcf,0x58,0x59, 0xe4,0x77,0x83,0x9b, 0xe1,0xb1,0xb2,0x07,
+ 0x87,0x32,0x4f,0xc0, 0xc4,0x8f,0xb1,0x2d, 0x7a,0xe2,0xb1,0x7b, 0x1d,0xcd,0xa7,0xe2,
+ 0x4c,0x4f,0x51,0x43, 0x47,0x8a,0x79,0x6c, 0xef,0xcd,0xfd,0xe9, 0x87,0x45,0x67,0xe2,
+ 0xa8,0x67,0xec,0xe5, 0x20,0xb6,0xcd,0x93, 0xd1,0x6f,0xc4,0xff, 0xc6,0xc9,0x2d,0x53,
+ 0x6f,0xe5,0xd7,0x14, 0xd0,0xc5,0x90,0x93, 0xc9,0x21,0x9f,0x33, 0x62,0x81,0xe0,0xd4,
+ 0x92,0xc4,0x67,0xd1, 0xfc,0x2a,0x45,0xc7, 0xc6,0xbe,0x52,0xa4, 0x99,0xd5,0xcd,0xa6,
+ 0x54,0x35,0x87,0x85, 0x8d,0xa5,0x5b,0x5f, 0x7b,0x5c,0xed,0x23, 0xcb,0xec,0xef,0x0b,
+ 0x89,0xba,0xf9,0x15, 0xbb,0x68,0xe6,0x46, 0x93,0xe6,0x8a,0x70, 0xde,0xbd,0x97,0x63,
+ 0xcc,0x02,0x53,0xdd, 0xae,0xc3,0x48,0xee, 0x69,0x96,0x50,0xd8, 0x3c,0x08,0x9d,0xd6,
+ 0xfd,0xff,0x2b,0xae, 0x12,0x73,0xdc,0x2c, 0x0e,0x80,0x0a,0xec, 0x38,0x64,0x2a,0xdf,
+ 0xf9,0xc1,0x22,0xbe, 0xec,0x4b,0x98,0x09, 0xa5,0xd2,0xbe,0x88, 0xc4,0xfc,0x7b,0x1c,
+ 0xa1,0xfa,0xba,0xac, 0x54,0x0c,0x8d,0x6b, 0xec,0xef,0x5e,0x42, 0x01,0x93,0x82,0x0f,
+ 0xc5,0xd5,0x92,0x72, 0xd0,0xd3,0x05,0xe4, 0x40,0xbf,0x30,0xe9, 0x7e,0x89,0xd6,0x63,
+ 0x16,0x2a,0x1f,0xdb, 0xdc,0x0e,0x9f,0x3c, 0x18,0x4c,0x28,0xc8, 0xa7,0x55,0xd5,0xe0,
+ 0xf9,0x8c,0xc0,0x24, 0xe5,0x65,0x94,0x9b, 0x68,0xdb,0x51,0xca, 0xf0,0x3f,0x5c,0x95,
+ 0x28,0x5a,0xdc,0xef, 0xcc,0x74,0xbf,0x55, 0xae,0x53,0xeb,0x65, 0x12,0x31,0xb4,0x14,
+ 0x57,0x64,0xa6,0x8e, 0xd1,0xf1,0xa2,0x52, 0x28,0x72,0xd6,0xb9, 0x6a,0x09,0xcb,0xdf,
+ 0xa1,0xab,0x76,0xf1, 0xd0,0x80,0x9d,0x18, 0x9e,0x2e,0x55,0x5d, 0x92,0x32,0x46,0x23,
+ 0x30,0xb7,0xe9,0x19, 0x1b,0x3a,0x5c,0x3e, 0x96,0x6c,0x15,0xcf, 0x42,0x9d,0xb0,0x5e,
+ 0x35,0x05,0x93,0xea, 0x48,0x4b,0xe5,0x69, 0x46,0xdd,0x7d,0x9b, 0x5c,0x36,0x88,0xd0,
+ 0x0f,0xa1,0x3f,0xdd, 0xb2,0x57,0x03,0x1c, 0x11,0x64,0x95,0xb6, 0x5b,0xa7,0x51,0x97,
+ 0x52,0x4f,0xc7,0x03, 0xb9,0x1b,0x2d,0x14, 0xf7,0x5f,0x1b,0x36, 0x13,0x1d,0xc5,0xf8,
+ 0x1c,0x78,0x1c,0x71, 0x11,0x82,0x93,0x5a, 0xa7,0xea,0xff,0x3f, 0x2b,0xfe,0x17,0xe9,
+ 0xa8,0xcf,0x92,0x74, 0x35,0xd5,0x30,0x9f, 0x24,0xc7,0x7c,0x6a, 0x24,0xb1,0x7d,0x64,
+ 0x22,0xe9,0x26,0xbb, 0xe8,0x98,0x55,0x08, 0xb8,0x82,0x68,0xce, 0xea,0x68,0xc7,0xd4,
+ 0x72,0x3d,0xb2,0x79, 0xe9,0xb6,0xda,0x94, 0x05,0xc9,0xee,0x61, 0x15,0x25,0xea,0xc6,
+ 0xd1,0x27,0xa3,0x99, 0xbd,0x36,0x37,0x76, 0x6b,0x95,0x1f,0xa1, 0x45,0x63,0x08,0xc4,
+ 0x72,0xee,0xd6,0xf2, 0xe7,0xd7,0xbc,0x02, 0x32,0x2c,0x97,0x26, 0x06,0x18,0x1b,0xf3,
+ 0xb2,0x12,0x5a,0x79, 0x01,0x15,0xad,0xc7, 0x66,0xd8,0xc8,0xd5, 0x41,0x86,0x0f,0x91,
+ 0x68,0xfb,0xca,0x3a, 0x10,0x13,0xdf,0xfd, 0x1a,0xc9,0xfa,0x1b, 0x0a,0xbb,0x01,0x26,
+ 0x8e,0x38,0x8c,0x4b, 0x8d,0xe7,0xc3,0xad, 0x7d,0x5a,0xb6,0xf4, 0x0d,0x5d,0xa5,0xac,
+ 0xa7,0xb3,0x3f,0xed, 0x55,0xf1,0x0e,0x0b, 0x6d,0x79,0x32,0x73, 0x84,0x12,0x34,0x6b,
+ 0xcf,0xe6,0x35,0xf6, 0x00,0x62,0x1a,0xf7, 0x20,0xcd,0x44,0xa8, 0x2b,0x63,0x26,0xa2,
+ 0x79,0xe2,0x7c,0xeb, 0x4a,0x61,0xd6,0x5d, 0x69,0x56,0x7f,0xae, 0xfd,0x9c,0xf3,0x45,
+ 0x22,0x07,0x06,0xa7, 0xc5,0x6f,0x05,0xb1, 0xfd,0x1f,0xa8,0xd8, 0x29,0x87,0xc1,0x2e,
+ 0xa8,0xe9,0x1a,0xe2, 0x7a,0x20,0x93,0x79, 0xc2,0x33,0x3c,0xfd, 0x8d,0xcf,0x00,0xd7,
+ 0xf4,0xf2,0x4c,0x27, 0x3f,0x4b,0xaa,0x5d, 0x12,0xdb,0x80,0x52, 0xdd,0x4a,0x7d,0x54,
+ 0x1e,0xaa,0x2c,0xc0, 0x0a,0x37,0x54,0xde, 0xf7,0x80,0x63,0x92, 0x01,0x65,0x2b,0xa3,
+ 0xb7,0xb4,0xf6,0x44, 0x24,0x7f,0x3e,0x8e, 0xc2,0x16,0x8e,0xd6, 0x1b,0x0f,0x87,0x90,
+ 0xb1,0xe1,0x32,0x68, 0xea,0xff,0x57,0x5b, 0x19,0xd9,0x53,0x66, 0x64,0x10,0xd2,0x74,
+ 0xc1,0x9c,0x8b,0x54, 0xc9,0x7b,0x25,0xdc, 0x1d,0x6b,0x22,0xc8, 0x72,0xf6,0xf3,0xe9,
+ 0xf3,0x84,0xd5,0x57, 0x34,0x3f,0xbf,0xad, 0xd4,0x0e,0xe8,0xaa, 0x92,0xa4,0x08,0xe4,
+ 0xea,0x77,0x7f,0x30, 0x8d,0xa8,0x04,0x4d, 0xaf,0xec,0x37,0xce, 0x89,0x63,0xcc,0xb1,
+ 0x96,0x2f,0xb9,0x37, 0xa0,0x1a,0x33,0x4d, 0x79,0xc9,0x7d,0x7a, 0xf2,0x5a,0xd6,0xaf,
+ 0x33,0x30,0xa3,0x3f, 0x45,0xac,0x6c,0x1c, 0xea,0x67,0xbe,0x3f, 0x6d,0xcf,0x0b,0x72,
+ 0x85,0xda,0x04,0x47, 0x74,0xaf,0x57,0xd4, 0x94,0xde,0x00,0x6e, 0xd5,0x3b,0xaa,0x8c,
+ 0x18,0x71,0x2b,0xb9, 0x72,0xbb,0xa3,0xda, 0xc0,0xb1,0x0b,0x5e, 0x18,0x74,0x0e,0x77,
+ 0x07,0x5b,0x88,0x07, 0x13,0xe8,0xc3,0xf9, 0x41,0x45,0x0e,0xa6, 0x40,0x26,0xec,0x5b,
+ 0x88,0xfa,0x6b,0x05, 0x20,0x07,0xaf,0x54, 0xc5,0xca,0x47,0x41, 0x06,0xf9,0xf7,0x35,
+ 0x7d,0xa1,0x16,0x6e, 0x23,0x2e,0x27,0xb4, 0x29,0x5c,0x85,0x20, 0x64,0xab,0x9b,0x89,
+ 0x67,0x4a,0xbf,0x1c, 0xed,0x17,0x61,0xf8, 0xfb,0x7b,0xfa,0xa3, 0x7b,0x9a,0xee,0x0f,
+ 0xdb,0x10,0xf0,0x83, 0xdd,0x0a,0x1d,0x92, 0x76,0x51,0xc8,0xbc, 0x78,0x57,0x8e,0x53,
+ 0xe0,0xc2,0xbd,0xdf, 0xe8,0x76,0x11,0x05, 0xfc,0x27,0x6b,0x12, 0xa4,0x68,0x17,0x7a,
+ 0x29,0x55,0xe7,0xda, 0xb9,0x1f,0xb9,0xd2, 0x62,0xcb,0x65,0xe0, 0x4e,0xda,0xc4,0xff,
+ 0x00,0xd2,0xdf,0xd2, 0xd0,0xed,0x20,0xaf, 0x93,0x61,0xc3,0xd2, 0xcf,0xd8,0x8a,0xe2,
+ 0x02,0xe3,0xd2,0xc8, 0xea,0x38,0x5b,0x7c, 0x55,0x37,0x99,0xa7, 0x90,0xad,0xfb,0x58,
+ 0xaa,0xdf,0x4f,0xa9, 0x81,0xc9,0x26,0xfb, 0xee,0xd0,0x1f,0x83, 0x63,0x3b,0xf5,0xda,
+ 0x83,0x79,0xe1,0x0f, 0xc3,0x8d,0x35,0xb9, 0x37,0xbb,0xf6,0xd6, 0x5c,0x6e,0xe6,0x27,
+ 0xcf,0xf1,0xf4,0x12, 0x51,0x0d,0x38,0xdd, 0xe8,0x63,0x8e,0xd6, 0x0c,0x26,0x2f,0x40,
+ 0x69,0xa1,0x43,0xb6, 0x2c,0x5b,0x3c,0xf9, 0xb3,0x8a,0x0b,0x4a, 0x49,0xd6,0x45,0x75,
+ 0x86,0x84,0x5e,0x60, 0xe6,0x8a,0x65,0xc3, 0xe0,0x5e,0xc1,0xed, 0xc4,0x32,0x30,0xd4,
+ 0x74,0x31,0x26,0x08, 0x2d,0x53,0x08,0x24, 0x93,0xab,0xec,0x55, 0x89,0x89,0xb7,0x5d,
+ 0xf4,0x45,0x65,0x62, 0x17,0x47,0xd1,0x4c, 0x4e,0xc0,0xe6,0x38, 0x11,0x05,0x1f,0x66,
+ 0xd7,0xcd,0xfa,0xa6, 0x52,0x00,0xd8,0xc8, 0x33,0x2d,0x84,0x77, 0x27,0x53,0xe5,0xc1,
+ 0x56,0x66,0x6a,0x3e, 0xc5,0x2d,0x10,0xce, 0x54,0x99,0x0d,0x05, 0xcc,0xe4,0xb3,0x97,
+ 0xf9,0x0f,0x20,0x00, 0x2f,0x45,0x1a,0xec, 0xa6,0x65,0x49,0xa0, 0x70,0xc7,0x5d,0xab,
+ 0x91,0xc0,0x36,0x23, 0x32,0x20,0xcb,0xd2, 0x37,0xe6,0x4d,0xae, 0x48,0xa7,0xf1,0x06,
+ 0x1e,0x6f,0x75,0x3b, 0xba,0x69,0x66,0x38, 0x31,0x24,0xac,0x50, 0x9f,0x77,0x5c,0x0d,
+ 0xf9,0x53,0xd8,0x56, 0xcb,0x8d,0x11,0xfb, 0x41,0x0c,0xd0,0x60, 0xa8,0xbf,0xaf,0x5a,
+ 0xd4,0xe1,0x4e,0xba, 0x7c,0xac,0xe5,0x8f, 0x22,0x3c,0xe7,0x5a, 0x34,0x06,0x96,0x40,
+ 0xa6,0xe1,0xa6,0x81, 0x4b,0x64,0xcc,0xc8, 0x25,0x03,0x91,0x44, 0x80,0x46,0x9a,0x15,
+ 0x8f,0xb6,0x57,0x04, 0x8d,0x31,0x4f,0xa0, 0x4e,0x35,0x47,0xae, 0xde,0x0d,0x22,0xd7,
+ 0xa7,0x07,0xe4,0xef, 0x1b,0xcf,0x51,0x5f, 0xcf,0x78,0xe1,0x9c, 0xfe,0xc8,0x64,0xdd,
+ 0x5d,0x16,0x1b,0xac, 0x1a,0x8a,0x0d,0xb6, 0xae,0x42,0xdc,0x41, 0xaf,0x92,0xac,0x9a,
+ 0xbc,0x4c,0x8a,0xd3, 0x0e,0xca,0x89,0xe2, 0x9a,0xe8,0x67,0x36, 0x13,0xf5,0x34,0x5a,
+ 0x03,0x0b,0x6e,0x41, 0x2a,0xa0,0x2b,0xa9, 0x4e,0xf6,0x6e,0xa7, 0x1e,0xcc,0x88,0xd7,
+ 0xa3,0x7e,0xac,0x9d, 0x92,0x31,0x07,0xa4, 0xd1,0xc4,0xad,0x31, 0xad,0x05,0xa1,0x5e,
+ 0xf3,0x13,0x28,0x22, 0xdd,0x85,0x3f,0x3c, 0x5d,0x06,0xdc,0x7f, 0x20,0xe7,0xa8,0xd5,
+ 0xd0,0x9b,0x92,0x21, 0xbf,0x66,0xa3,0x72, 0xa8,0xaa,0x9b,0xbd, 0xde,0x09,0x07,0x48,
+ 0xb3,0xbc,0x1b,0x42, 0x84,0x68,0xa3,0xb4, 0x14,0x6f,0xfd,0x50, 0x51,0x0d,0x1b,0x52,
+ 0x46,0xed,0x48,0xde, 0xa4,0x85,0x50,0x79, 0xc3,0xff,0x3e,0xef, 0x7f,0x1c,0x73,0x28,
+ 0x56,0x08,0x03,0x6d, 0x0a,0xcf,0x82,0xca, 0xda,0x44,0xc0,0xb0, 0xa0,0xb7,0x3b,0x8c,
+ 0xa9,0x93,0x81,0xb8, 0x0b,0x35,0x22,0xbe, 0x5d,0xcd,0xd6,0x4b, 0x22,0x2a,0x3a,0x7d,
+ 0xcc,0xc2,0x42,0x0f, 0x64,0x9e,0x8d,0x6f, 0x4b,0x18,0xd8,0xed, 0xcf,0x59,0x1e,0x75,
+ 0x79,0x2b,0xa9,0xf4, 0x16,0x52,0xe9,0x3f, 0xe2,0x01,0x3f,0x72, 0x6f,0xf2,0x2c,0x77,
+ 0x82,0xa7,0x54,0xb2, 0x59,0xdc,0xc0,0x51, 0x9c,0x3a,0x32,0x8b, 0xdf,0x9f,0xb8,0x99,
+ 0x09,0xb5,0x2f,0x48, 0x48,0xc4,0x39,0x01, 0x50,0x6f,0x18,0x82, 0x2c,0xae,0xac,0x57,
+ 0x16,0xaa,0x94,0xc4, 0x0f,0x1c,0xbd,0xc8, 0xd6,0x6d,0xcd,0xa1, 0x84,0x4c,0xc5,0x4a,
+ 0xf5,0x60,0xd6,0xd6, 0xc8,0xd4,0xed,0x33, 0x19,0xe4,0xcf,0x70, 0x57,0x94,0x32,0x58,
+ 0xb0,0x2c,0x4c,0xd0, 0xb7,0xcc,0x49,0x49, 0x7e,0xc5,0x43,0x2a, 0xdc,0x18,0xe4,0xed,
+ 0x84,0xe6,0xd9,0xe5, 0x4b,0x09,0x5d,0xe4, 0x1f,0x53,0xc3,0x7d, 0xb2,0x51,0xfe,0x32,
+ 0xf0,0x32,0xce,0x86, 0xc5,0x29,0x91,0xb2, 0x4b,0x08,0x5f,0x89, 0x8a,0x3f,0xf9,0xa6,
+ 0xcb,0xb3,0x07,0x42, 0xfd,0xb4,0x05,0x12, 0x73,0x83,0xe0,0x64, 0x35,0x27,0x6f,0x93,
+ 0xaf,0xad,0x86,0x22, 0xce,0x21,0x3e,0xda, 0x7c,0x29,0x66,0x29, 0x57,0x21,0x6c,0xde,
+ 0xe8,0xab,0x7d,0x27, 0x29,0xd2,0x69,0x26, 0x73,0x17,0x61,0x7d, 0x2e,0x8c,0x53,0x07,
+ 0x8a,0x4b,0x65,0x28, 0x85,0x63,0x9a,0x8c, 0x9c,0x27,0xa0,0x39, 0x08,0x8a,0x9e,0x44,
+ 0xd6,0xf0,0x0f,0xb7, 0x61,0x15,0x5e,0xd0, 0xcb,0xfe,0x03,0xef, 0x91,0x75,0x84,0x49,
+ 0xb9,0x5c,0x63,0x58, 0x59,0xb0,0xf9,0x40, 0xfe,0x6d,0x1d,0xcb, 0xfe,0xb0,0xb0,0x03,
+ 0xf1,0xaa,0xb9,0x50, 0x54,0x78,0x27,0xe9, 0x54,0x5d,0xfa,0x40, 0x73,0x67,0x6a,0x4f,
+ 0xf6,0x74,0xc2,0x81, 0x8c,0x8f,0x9d,0x5c, 0x2d,0x19,0xf4,0x93, 0xfc,0x5e,0x87,0x71,
+ 0xfd,0xb9,0x01,0x0b, 0xc2,0x8f,0x52,0x1a, 0xe1,0xcb,0x3c,0x91, 0x8b,0x42,0xed,0x9d,
+ 0x0f,0xd0,0x2a,0x61, 0xcd,0x23,0xdd,0x4f, 0xb2,0x6d,0x9b,0x10, 0x0d,0x5e,0xfc,0xc3,
+ 0xad,0xd8,0x09,0xaf, 0xd1,0xde,0xb5,0xdc, 0xbb,0xa8,0xd8,0x2f, 0xd8,0xac,0x4f,0x7e,
+ 0xef,0x52,0xa4,0x65, 0xcf,0xde,0xab,0xd5, 0xff,0x9d,0x9f,0x2d, 0xb4,0x6b,0x9a,0xcc,
+ 0xb9,0x83,0x06,0xcd, 0xbb,0xeb,0x14,0x43, 0x2b,0xe8,0x79,0xcd, 0xd5,0x5e,0x72,0x0a,
+ 0xda,0x2a,0x67,0x2d, 0x1b,0x94,0x29,0x56, 0x76,0xbf,0x0d,0xee, 0x5a,0x89,0xc0,0x30,
+ 0xfc,0x25,0x24,0xe9, 0x19,0x8f,0xbc,0xb5, 0x58,0xb7,0xa3,0xa7, 0x42,0xc8,0xa6,0x7a,
+ 0x9f,0xa8,0x8b,0x6a, 0x0e,0xfa,0xc1,0x0d, 0x4b,0xd6,0x4f,0xb4, 0xae,0x2a,0xad,0x1e,
+ 0x66,0x19,0x8d,0x67, 0x92,0xf0,0x61,0x37, 0xe0,0x99,0x8b,0xd7, 0x6e,0x52,0xab,0xfc,
+ 0xdf,0xdf,0xe7,0x44, 0x8c,0x9c,0x78,0x7c, 0x1e,0xd1,0xcc,0xeb, 0x3f,0x1c,0xa4,0xcd,
+ 0x41,0x6b,0x6f,0xf8, 0x15,0x50,0x83,0x1e, 0x79,0x3d,0xfa,0x76, 0x4e,0xe3,0x81,0xd6,
+ 0x03,0x49,0x8d,0xd7, 0x7c,0xa8,0xb9,0xa9, 0x91,0x6d,0x1a,0x73, 0x71,0x21,0xad,0x7b,
+ 0x8f,0x89,0x62,0xa5, 0x77,0xf2,0xd5,0x17, 0xc0,0x31,0xdd,0x39, 0x02,0xad,0x1e,0xef,
+ 0x18,0x62,0xcc,0x95, 0xb4,0x01,0xee,0x07, 0xcd,0x37,0x5f,0xe6, 0x89,0x75,0x1d,0x0f,
+ 0x44,0x79,0xac,0xf1, 0x12,0x9b,0xbb,0xdc, 0x19,0x69,0x32,0x33, 0x67,0x57,0xbf,0x21,
+ 0xe2,0x63,0x3e,0xdd, 0x3a,0x5a,0x7b,0x66, 0x35,0xb7,0xc8,0x7a, 0x4b,0xb4,0xdc,0x88,
+ 0x35,0xc6,0xb6,0xca, 0x8f,0x95,0x1f,0x9f, 0x65,0xe5,0x15,0xd8, 0xa5,0xb0,0x71,0x0a,
+ 0xf8,0x06,0x15,0x3c, 0x51,0x87,0xd1,0x85, 0x8d,0xd4,0xb3,0x27, 0x29,0xff,0xbb,0x1a,
+ 0xb4,0x10,0x50,0x9b, 0x4b,0x28,0x4f,0x48, 0x12,0x3b,0x98,0x5d, 0xb2,0x88,0x45,0xe5,
+ 0xc5,0xf3,0xfe,0x5e, 0x0d,0xdd,0xfe,0x56, 0x09,0x1b,0x67,0xe2, 0xc5,0x41,0x0a,0x9d,
+ 0xc2,0xe0,0xd2,0xd6, 0xc1,0xaf,0x65,0x8e, 0xd1,0xf2,0x7f,0xf5, 0xb7,0xa0,0xe5,0xb6,
+ 0x7a,0x2a,0xe3,0x0d, 0x63,0xa1,0xf2,0xdd, 0xae,0x30,0xfa,0x0f, 0xf4,0xfc,0x5e,0xb4,
+ 0x3c,0x45,0x99,0xab, 0xa4,0x95,0xa6,0x53, 0x0e,0x79,0x46,0x3f, 0xcd,0x8d,0xe9,0x74,
+ 0x73,0x20,0xa0,0x13, 0x73,0x2f,0x09,0x01, 0x3b,0x57,0x5b,0xc7, 0x26,0xef,0x8f,0xc0,
+ 0x07,0xf9,0x64,0x3a, 0x60,0x33,0xae,0xc2, 0x77,0xe8,0x0f,0x4f, 0x87,0xf0,0x71,0xd6,
+ 0xad,0xdd,0xd5,0xcf, 0x5f,0x19,0x52,0xed, 0x5c,0xef,0xbb,0x85, 0x0d,0x6b,0xe0,0x7e,
+ 0x0f,0x1e,0xd9,0x0e, 0xff,0xc0,0x8c,0x2c, 0xe8,0x4b,0x77,0xe0, 0x58,0x51,0x98,0xe3,
+ 0xda,0xcb,0x4b,0x1f, 0xb8,0xd3,0xef,0xe2, 0x6a,0x95,0x81,0x91, 0x7b,0x07,0xa7,0x92,
+ 0x4d,0x9d,0xa8,0x6c, 0x64,0x4e,0xa4,0x9f, 0x80,0x80,0xff,0xd6, 0x96,0x71,0x4b,0xce,
+ 0x5c,0x7c,0xab,0xd0, 0x48,0x88,0x9d,0x21, 0xe6,0x42,0x1a,0x64, 0xbd,0x2f,0x03,0x6e,
+ 0xd0,0x8f,0xda,0xf0, 0xee,0x6f,0x7b,0x2e, 0xc8,0xd2,0xc8,0xbf, 0x3f,0x46,0xaa,0x31,
+ 0xcf,0xd3,0x31,0xf0, 0x42,0xce,0xe9,0xc8, 0x5f,0xbc,0x37,0x61, 0xd9,0x2b,0xdc,0x2d,
+ 0x94,0x01,0xba,0xe0, 0x5d,0x3a,0xdd,0x98, 0x29,0x4d,0x08,0x8b, 0x89,0x43,0x30,0x79,
+ 0xe1,0x80,0x6c,0x88, 0xd2,0x0a,0x09,0x6c, 0x26,0xb6,0x71,0x9e, 0x10,0xf5,0xe7,0x60,
+ 0xae,0x1a,0xfc,0x86, 0x32,0x75,0x7e,0x21, 0xd1,0x20,0x9a,0x54, 0xf2,0x90,0x6a,0xf4,
+ 0xc7,0xf1,0x97,0x77, 0xc2,0xdf,0xef,0x7d, 0x20,0xf4,0x70,0x40, 0x0b,0x7f,0x26,0xf4,
+ 0xe6,0x31,0xb3,0x3f, 0xe8,0x33,0xee,0x1f, 0x0e,0x20,0xfa,0x57, 0x83,0x0d,0xe0,0xc8,
+ 0x09,0x19,0x7a,0x7c, 0xe6,0x93,0xcc,0xda, 0x46,0x98,0xb5,0xb2, 0xd1,0xbb,0x68,0x33,
+ 0xae,0xde,0x56,0x0d, 0x24,0xbe,0xc6,0x58, 0x61,0xf8,0x7d,0x7e, 0xaa,0x31,0x68,0x77,
+ 0x5c,0xd2,0xde,0xc6, 0xe2,0xb7,0xa9,0x0e, 0xbf,0x87,0xaa,0x9c, 0x59,0xde,0xde,0x74,
+ 0x04,0xe8,0xcc,0x23, 0xa7,0xf2,0x12,0x6b, 0x00,0x89,0x37,0xaa, 0x66,0xef,0xf8,0x32,
+ 0x4f,0x4b,0x02,0x84, 0xb9,0x28,0x57,0x5b, 0x0e,0xc2,0x2d,0x8e, 0x68,0x19,0x86,0x14,
+ 0x8a,0xb8,0x45,0xf1, 0x29,0x7f,0x03,0x8c, 0xba,0x5e,0xdc,0x46, 0x20,0x7d,0x7c,0xca,
+ 0xf2,0xfd,0xa5,0xb4, 0x74,0x59,0xac,0x92, 0x7b,0xbf,0xf3,0x85, 0xc8,0xba,0x58,0x82,
+ 0x47,0xcd,0xec,0xef, 0xa7,0x51,0xc0,0x61, 0x16,0xaf,0x15,0xbf, 0x82,0x87,0xa8,0xc6,
+ 0xd7,0x36,0x5d,0xf3, 0x36,0x14,0x99,0x38, 0x9e,0xd3,0x01,0xb2, 0xa2,0xd7,0xf6,0x55,
+ 0x71,0xc7,0x62,0x47, 0x62,0xb3,0xbf,0x12, 0x09,0x3b,0x57,0x5c, 0x55,0x8d,0xb2,0x20,
+ 0xe5,0x95,0xe7,0x1e, 0xce,0xf1,0xb5,0x00, 0x62,0x6c,0x08,0xc9, 0x35,0x05,0x90,0x2f,
+ 0xf1,0x1b,0xe7,0x46, 0xdd,0xaa,0x7b,0xcc, 0x79,0x9d,0xe5,0xd1, 0x7f,0x0e,0x84,0x03,
+ 0x06,0x38,0x00,0x83, 0x63,0x1a,0xae,0x44, 0xda,0x74,0xac,0x50, 0x4e,0x3d,0x7a,0x65,
+ 0x79,0x9c,0x06,0x85, 0x72,0x58,0x75,0x84, 0x3a,0x5b,0x7f,0x74, 0xcb,0xa9,0x49,0x11,
+ 0x78,0x58,0x6f,0xbf, 0x49,0x12,0xcd,0x95, 0xae,0x89,0xe0,0xb6, 0xe3,0x4a,0x6f,0xb1,
+ 0x1e,0x7a,0x4d,0xb3, 0x39,0xf2,0xe9,0x26, 0xea,0xec,0xb8,0x84, 0xf8,0x0f,0x0d,0x4a,
+ 0x83,0x30,0x22,0xbe, 0xfc,0x9b,0xd2,0x6e, 0x4b,0xda,0xd5,0x36, 0x70,0xcc,0x6f,0x1e,
+ 0x6d,0x2f,0x41,0x6d, 0xa8,0x54,0x68,0x44, 0x12,0x5a,0x27,0xfe, 0x9c,0x07,0xa4,0xd5,
+ 0x5c,0x9c,0x2d,0x73, 0xcb,0x20,0x45,0x82, 0x81,0xe3,0x21,0xb3, 0xbe,0xdc,0x1b,0x91,
+ 0x08,0xca,0xc3,0xf8, 0xf1,0xe1,0x4c,0x83, 0x5d,0x62,0x65,0xb8, 0x4f,0x7a,0x4e,0x60,
+ 0x34,0x3b,0x0d,0x8d, 0xf0,0xb1,0x8a,0x95, 0x7c,0x73,0x00,0x35, 0xa4,0x7c,0x7d,0x60,
+ 0xb5,0x6e,0xec,0xcf, 0xd7,0x08,0x1a,0x8c, 0x8f,0x79,0xd4,0x09, 0x44,0x26,0x48,0xb4,
+ 0xd8,0x26,0xb1,0x01, 0xe4,0x5b,0x20,0xca, 0x93,0xd2,0x10,0x70, 0x88,0xdf,0x99,0xae,
+ 0x0d,0x3e,0x56,0x6e, 0x09,0xa6,0xc8,0xaa, 0xb5,0x62,0xc0,0x60, 0xfd,0x2e,0xcd,0x5b,
+ 0xe9,0x70,0x44,0xad, 0xbf,0x26,0x1f,0xb4, 0x54,0x13,0xbc,0x7d, 0x54,0x64,0xeb,0x75,
+ 0xf3,0xb5,0x9f,0x05, 0x66,0x3f,0x9b,0x47, 0x51,0x1d,0xe5,0x55, 0x02,0x77,0x37,0x44,
+ 0xf1,0x5f,0xbb,0x2f, 0xa2,0x5c,0xba,0xdb, 0x01,0x9d,0xb2,0xce, 0x9e,0x3e,0xec,0x20,
+ 0xaf,0xc7,0xac,0x51, 0xb2,0xe4,0xcc,0x4b, 0x0e,0xc8,0xd2,0xab, 0x43,0xb0,0x5b,0x7b,
+ 0xa0,0xce,0xc9,0x1c, 0x33,0xf6,0x44,0xc6, 0x65,0x6f,0xb5,0x53, 0xe3,0xc8,0x17,0x9e,
+ 0x1a,0x03,0x68,0xfa, 0xe3,0x4e,0x95,0xa3, 0xa6,0x02,0x33,0xfa, 0x32,0x57,0x81,0x2c,
+ 0x09,0x96,0xda,0x22, 0x6c,0xc9,0xc4,0x08, 0x56,0xc8,0x7a,0x3d, 0xeb,0xba,0x60,0xb4,
+ 0x81,0x10,0x22,0x58, 0xde,0xf1,0xa2,0xe4, 0xc0,0xaa,0x93,0x14, 0x47,0x20,0xc5,0x42,
+ 0x19,0x8e,0x45,0xea, 0x4c,0x5e,0x13,0x43, 0x51,0x80,0x8b,0x93, 0x8a,0x04,0x3b,0x0b,
+ 0x2c,0x0b,0xd1,0x2e, 0xa8,0x94,0xae,0x73, 0x22,0xd4,0x86,0x64, 0xd8,0x37,0x18,0x1d,
+ 0x05,0x43,0x3c,0x26, 0xbb,0x55,0xf4,0x86, 0x1c,0x24,0x25,0xfa, 0x84,0xd7,0x32,0x68,
+ 0x7f,0x64,0x14,0x2a, 0x1c,0x2f,0xc4,0xfa, 0x1f,0xf1,0x05,0x08, 0x05,0x4d,0x1b,0x19,
+ 0x89,0x87,0xfa,0x98, 0xb5,0x1f,0xf4,0x57, 0xfe,0xd9,0x3a,0xd0, 0x81,0xe1,0x2f,0xc2,
+ 0x62,0xc3,0xc1,0x3a, 0x59,0x95,0xcf,0xf0, 0xdc,0x62,0x5f,0xfb, 0xfb,0x05,0x5f,0xbc,
+ 0x0a,0xe5,0xd3,0xc1, 0x1c,0xf8,0x45,0x12, 0x8a,0x9c,0xca,0x5d, 0x41,0x02,0x23,0xad,
+ 0x0c,0xa9,0xb9,0xfc, 0x55,0x64,0x95,0x7c, 0xf2,0xcb,0xcc,0xf6, 0x4d,0xbe,0xfe,0x49,
+ 0x72,0x7e,0x35,0x1f, 0xba,0xe6,0xdc,0xa2, 0x1e,0xa1,0x27,0x41, 0x90,0x6e,0xb9,0x89,
+ 0xa9,0xde,0x34,0x64, 0xc8,0x34,0x52,0x1a, 0x1b,0x25,0x88,0x46, 0x1c,0x7e,0xf4,0x2d,
+ 0x06,0xbc,0x4f,0xda, 0x53,0x5d,0xed,0xa7, 0x5c,0xd5,0xa0,0xd1, 0xdf,0xe3,0xdf,0x8d,
+ 0x6c,0x54,0x36,0x09, 0xd7,0x40,0x92,0x25, 0xec,0xc0,0xc3,0xd2, 0xeb,0x89,0x73,0xcc,
+ 0x2e,0x2e,0x17,0xcd, 0x87,0x1f,0x2b,0x7d, 0x05,0x6c,0xe8,0xa0, 0x8b,0xa7,0xd7,0x0c,
+ 0xbf,0xb0,0x41,0x53, 0xd1,0x78,0xab,0xee, 0x58,0xfe,0x8a,0xcd, 0x8f,0x09,0x37,0xa6,
+ 0x4b,0x10,0x2e,0x80, 0x67,0x04,0x95,0xed, 0x4d,0x56,0x4d,0x76, 0x78,0x1b,0xfa,0x55,
+ 0x56,0xf5,0x1c,0x4c, 0x92,0x45,0xd2,0x67, 0x81,0x68,0xf1,0xbd, 0xb1,0xdb,0x47,0x00,
+ 0x52,0x77,0x38,0x48, 0xe4,0x3e,0xf6,0xb5, 0x13,0x4b,0xa9,0x0d, 0xc6,0x8b,0x91,0x7f,
+ 0xbc,0xd7,0x7a,0x73, 0x54,0x9f,0xbe,0xc2, 0x46,0xc5,0xe9,0x3f, 0x1e,0x48,0xfa,0x79,
+ 0xaa,0x6e,0x2f,0xae, 0xa4,0xca,0xe5,0x3b, 0x30,0x2a,0x12,0xa5, 0x0c,0x48,0xd6,0x97,
+ 0xd4,0x1a,0xc7,0x0e, 0x01,0x76,0x7c,0x8d, 0x92,0x4e,0xb9,0x4c, 0x38,0xd1,0xc5,0x7c,
+ 0x11,0xf1,0x53,0x66, 0xa9,0x4b,0xb8,0x7f, 0x8e,0x54,0xc1,0x40, 0x40,0x57,0xaa,0x6a,
+ 0xa6,0x25,0xf0,0xaa, 0xff,0xc9,0xef,0x19, 0xc2,0xc9,0x90,0xe7, 0xe6,0xa6,0x54,0x6c,
+ 0xfc,0x32,0x80,0xab, 0xce,0x0a,0x8f,0xd4, 0x3f,0x1b,0x97,0x60, 0x01,0xf7,0x35,0xdf,
+ 0xee,0xc5,0x5d,0x52, 0xa8,0xb8,0xcb,0x45, 0xe2,0x98,0x01,0xa9, 0xcc,0x99,0xaa,0xc6,
+ 0x6b,0xd6,0xd2,0x58, 0x83,0x32,0xc6,0x3d, 0xd0,0x32,0xea,0xdf, 0x60,0xe5,0x10,0xcc,
+ 0x94,0x79,0x76,0x63, 0x26,0x5d,0x5b,0xfc, 0x3f,0x37,0x2e,0xc5, 0x6b,0xbc,0xf3,0x2f,
+ 0x8f,0x71,0x02,0xee, 0xb7,0xb6,0xc5,0xec, 0x49,0xf1,0x4f,0x39, 0x1d,0xec,0x16,0xc0,
+ 0xa8,0x60,0x8f,0x29, 0x34,0x16,0x8d,0x53, 0xa1,0x32,0xa8,0x58, 0xf6,0x26,0x39,0x21,
+ 0x73,0xb5,0x30,0x4c, 0x78,0x46,0x12,0x45, 0xbf,0x33,0xb7,0x31, 0x52,0x04,0x4b,0xaf,
+ 0x3a,0xa7,0xe4,0x56, 0x9c,0x4c,0x85,0xdc, 0x14,0x56,0x7d,0x03, 0x06,0xbe,0x82,0xcc,
+ 0x25,0x77,0x7c,0x75, 0xfd,0xf4,0xbb,0xbf, 0x6f,0xbd,0x4a,0x72, 0xa4,0x26,0x64,0xa6,
+ 0x81,0x9f,0x47,0xd9, 0x0b,0x3b,0xa6,0x0d, 0x27,0xf3,0x04,0xab, 0x4c,0xed,0xb0,0x75,
+ 0xc9,0xa4,0x52,0xe4, 0xd9,0x50,0x57,0x2f, 0xe8,0x34,0xca,0x21, 0x79,0x24,0x43,0x99,
+ 0x7f,0xcc,0xb9,0xaa, 0xad,0x5e,0x51,0x72, 0x2d,0xe8,0x46,0x80, 0xa8,0x0e,0x5f,0x17,
+ 0x9e,0xc2,0x09,0xc3, 0xf6,0x0f,0xa8,0xf4, 0x02,0x36,0x5a,0x59, 0xfe,0x40,0x94,0x09,
+ 0x28,0x7b,0xca,0x55, 0x27,0xcd,0xec,0x34, 0x89,0x8c,0x89,0x63, 0x9f,0xf3,0x2f,0x73,
+ 0x27,0xd9,0xf4,0x3e, 0x4b,0x0a,0x52,0xc2, 0xae,0x0c,0x2e,0xb2, 0xb4,0xdd,0x9e,0x99,
+ 0x01,0x00,0xf4,0x91, 0xa4,0x1b,0x4c,0x07, 0x6a,0xa2,0xf9,0x20, 0x6d,0x07,0xfd,0xe3,
+ 0x9a,0xc3,0x4d,0xe2, 0x35,0x3e,0xbd,0xc3, 0xae,0x61,0x85,0x52, 0xb2,0xf3,0x3b,0xc1,
+ 0x82,0xbc,0xee,0xd9, 0xa1,0x34,0x78,0x2f, 0xf8,0xea,0xf0,0xf4, 0xc4,0xdb,0xc7,0xd1,
+ 0x5a,0x40,0xfa,0x72, 0xc9,0xb3,0x3c,0x4c, 0xde,0xab,0xcd,0x92, 0x03,0x8a,0x99,0xdc,
+ 0xc1,0x5a,0x02,0x83, 0x27,0x6d,0x23,0xf9, 0x6c,0xeb,0x09,0xcd, 0x2f,0xad,0xd3,0x84,
+ 0x78,0x41,0x13,0x4d, 0x4c,0x66,0x3f,0xa4, 0x6b,0xeb,0x1c,0x4f, 0x7d,0xa3,0xb3,0x17,
+ 0x60,0xfa,0xb1,0x28, 0x25,0xaf,0x67,0x3b, 0x9b,0x3e,0xb9,0xb7, 0xfc,0x21,0xa3,0x02,
+ 0xac,0x5f,0x56,0xec, 0x5b,0x7b,0xef,0xaa, 0x3a,0x7c,0x5e,0x5d, 0x5f,0xdf,0xb4,0x13,
+ 0xec,0x8c,0xa9,0xa6, 0xf8,0x4b,0xce,0xb7, 0x11,0xf3,0x58,0x66, 0xa8,0x48,0xca,0x6f,
+ 0x5c,0x5f,0xb8,0xf9, 0x8d,0xce,0x5a,0x3f, 0x1a,0x7e,0x0b,0x77, 0x88,0xfd,0x47,0x08,
+ 0x7d,0x3e,0xe6,0x62, 0x3b,0x74,0xdd,0x79, 0x5f,0x40,0x04,0xcf, 0xc8,0x8c,0xc4,0xbd,
+ 0x98,0xe2,0xd7,0xf3, 0x27,0x51,0xb3,0x89, 0x0e,0xce,0x75,0x11, 0x65,0x63,0xfe,0x45,
+ 0xc1,0xaa,0x7a,0xa4, 0x07,0x35,0x4d,0xea, 0xdb,0xfa,0x50,0x58, 0x61,0xc9,0x0c,0x7a,
+ 0xf9,0x0c,0xed,0x10, 0xff,0x84,0xdc,0x0a, 0x96,0x93,0x35,0xfd, 0x25,0xa6,0xee,0x36,
+ 0x02,0x02,0x06,0x60, 0xa8,0x6a,0x5e,0xf2, 0x51,0xcd,0x68,0x36, 0x00,0x22,0x3f,0x42,
+ 0xd8,0x86,0x33,0x53, 0x3e,0x77,0x30,0x0c, 0x61,0x27,0xd1,0xf5, 0xb9,0x9f,0xd5,0x28,
+ 0xca,0x07,0x92,0xb7, 0x5b,0x3d,0xa4,0xca, 0xa3,0x48,0x9c,0xcd, 0x56,0x65,0x52,0xfa,
+ 0x34,0xe2,0xd3,0x74, 0x9a,0x52,0x22,0x4a, 0x23,0x1e,0x5c,0xc8, 0x99,0x89,0xab,0x89,
+ 0x2a,0x7a,0xd3,0xa1, 0xab,0x7c,0xc3,0xe8, 0x07,0x10,0x61,0x2f, 0xc6,0xd0,0xdb,0x0a,
+ 0xab,0xbe,0x3f,0xab, 0xfc,0x30,0x87,0x2d, 0xd3,0x60,0xd1,0xbb, 0x56,0x77,0x24,0x3f,
+ 0x5f,0x0d,0xc5,0xf0, 0xb8,0x66,0x7f,0x12, 0xe2,0x6e,0x15,0xb6, 0x47,0x5e,0xde,0x00,
+ 0xa6,0xb4,0x91,0x4e, 0x13,0x6e,0xc2,0x95, 0x17,0x2d,0xd9,0x05, 0x88,0xb7,0xbb,0x82,
+ 0x38,0xb1,0xa1,0xe2, 0x8b,0x53,0xac,0x34, 0x70,0xc0,0x01,0xa0, 0xfa,0xa1,0x32,0xa5,
+ 0x7b,0xbf,0x44,0xb3, 0xa3,0x44,0xbb,0xb7, 0xb8,0x39,0x37,0x9f, 0xfc,0xc9,0x08,0x4b,
+ 0x82,0x10,0x5b,0x79, 0x71,0x1f,0x38,0x9b, 0x8c,0x3a,0xa9,0xa4, 0x74,0xf7,0xae,0x9f,
+ 0x08,0xda,0xcf,0xa3, 0x5c,0xa2,0xc3,0xe6, 0x06,0x95,0xdd,0x16, 0x96,0xcb,0xce,0x90,
+ 0xdc,0xbe,0x7e,0x94, 0x13,0xf6,0x6c,0x57, 0x12,0x8b,0xd8,0x29, 0x64,0xef,0xa3,0x6f,
+ 0x41,0x36,0x65,0xc7, 0x00,0x18,0xf2,0x80, 0x67,0x48,0x99,0xec, 0xd1,0x0c,0x29,0xd6,
+ 0xf5,0xfc,0x17,0x21, 0xed,0xf4,0xf7,0x0c, 0x9a,0x7a,0x68,0xde, 0x88,0x2c,0x37,0x35,
+ 0x01,0x5a,0x92,0x60, 0xb4,0x3d,0x4c,0xff, 0x5c,0xc7,0xb5,0xd2, 0x7a,0x50,0xf0,0xca,
+ 0xf3,0xe1,0x9f,0xc9, 0x2e,0xe8,0x9c,0x27, 0x3d,0x86,0xfb,0xed, 0x31,0x35,0x20,0x1a,
+ 0x7f,0x3a,0x5b,0x08, 0xa6,0xe4,0x67,0x1f, 0xac,0x6b,0x2a,0x73, 0x56,0xad,0xba,0x8d,
+ 0x8b,0x9b,0x72,0x3c, 0xec,0xfb,0x40,0x87, 0x5f,0xbf,0xe1,0xb1, 0x78,0xaf,0xda,0x76,
+ 0x1e,0x91,0xdf,0x89, 0xc9,0x10,0xc9,0x9f, 0x24,0x01,0x74,0xbd, 0x8e,0x35,0xe7,0x42,
+ 0x70,0x74,0xd2,0x8a, 0x60,0xed,0x76,0xe1, 0x4d,0x09,0x85,0xba, 0xad,0x3f,0x28,0x63,
+ 0x3b,0xc1,0x30,0x87, 0xbf,0x27,0x36,0x10, 0x66,0x7a,0x77,0x99, 0x41,0xf6,0xef,0x89,
+ 0xab,0x12,0x0e,0x5b, 0x36,0x32,0x38,0x0f, 0x48,0xa0,0x14,0xb8, 0x8d,0x11,0x31,0x9b,
+ 0xee,0x88,0x7f,0xaf, 0xff,0x1c,0x7e,0xca, 0xd1,0x94,0xd1,0xea, 0xce,0xab,0x5d,0xc2,
+ 0x75,0xee,0xb7,0xf0, 0x40,0xef,0x79,0x24, 0x9a,0x7b,0xf1,0x2c, 0xcf,0x66,0x20,0x64,
+ 0xe0,0x7b,0x44,0xa2, 0x24,0x3b,0x00,0x2f, 0x73,0x4a,0xff,0x5b, 0xdd,0xb8,0x22,0xbf,
+ 0x58,0x47,0xc2,0xf3, 0x17,0x24,0x7a,0x8a, 0x59,0xd6,0x2a,0x1b, 0xd8,0xf5,0xbe,0x2c,
+ 0x37,0x7a,0x9c,0x94, 0x81,0xb5,0xe0,0xbc, 0xe3,0xef,0x52,0x25, 0x9d,0x5e,0x54,0x22,
+ 0x7b,0x3b,0xc8,0x8f, 0x60,0xa0,0xb7,0xb5, 0x31,0x4f,0xb1,0x48, 0x43,0x5c,0x46,0xdd,
+ 0x50,0x51,0xf3,0xc6, 0x80,0x96,0x4d,0xa5, 0xd5,0x96,0xd1,0x66, 0x02,0x13,0x61,0xb4,
+ 0xd7,0xce,0xdd,0xa6, 0xd3,0xe0,0x1e,0xe6, 0x36,0x34,0x96,0x75, 0x1a,0x3c,0x4d,0x85,
+ 0x8e,0x14,0x54,0xcc, 0xe4,0x24,0x58,0x4b, 0xe3,0x56,0xa5,0xb7, 0xc6,0x96,0xdf,0xbc,
+ 0x44,0x77,0xeb,0xd1, 0x96,0x47,0x26,0xc5, 0x75,0xcb,0xa4,0x1c, 0x9a,0xbe,0x1f,0x33,
+ 0x3d,0x20,0xb4,0x4e, 0x02,0x2c,0xb2,0x2a, 0xf0,0xe8,0xf6,0x77, 0x4e,0x3b,0x5b,0x3f,
+ 0xae,0x89,0x50,0x10, 0xbd,0xbb,0xff,0x6b, 0xd2,0x12,0x17,0x67, 0xac,0xe2,0x7a,0x5e,
+ 0x0c,0x24,0x7e,0x0c, 0x20,0xfc,0xf2,0x36, 0x52,0x0d,0x78,0x2c, 0x4d,0xf6,0xff,0xeb,
+ 0xc4,0x85,0x73,0xfe, 0x0b,0x13,0xec,0x07, 0x76,0x67,0x61,0xae, 0x7a,0x32,0xae,0xae,
+ 0xfb,0xc3,0xc7,0x41, 0x76,0x47,0xbc,0x1d, 0x58,0x4b,0x35,0x43, 0x34,0xc2,0xe7,0xc0,
+ 0x9d,0x3c,0xce,0xe3, 0x99,0x37,0x27,0x52, 0xad,0xbe,0x56,0xf5, 0xae,0x93,0x47,0x2a,
+ 0x24,0x28,0x4f,0xd7, 0x32,0x3c,0xac,0xa8, 0x80,0x7f,0xcd,0x7f, 0xc9,0x7a,0xd0,0xe9,
+ 0x74,0x88,0x27,0xc7, 0xa0,0xe5,0x06,0x8b, 0x78,0xe2,0xa8,0xe4, 0x8c,0xeb,0x44,0xa4,
+ 0x24,0xb6,0x3a,0xf5, 0x7a,0x9a,0x9d,0x9f, 0x29,0x37,0xfc,0x54, 0x14,0x9b,0x34,0xe4,
+ 0x98,0x6a,0xdc,0xc1, 0xee,0x49,0xf6,0xcc, 0x3c,0x77,0xce,0xc5, 0xcf,0x4e,0xb5,0xc6,
+ 0x63,0xe6,0x15,0xb5, 0xe5,0xe4,0x57,0x41, 0x1d,0xa0,0xcc,0x45, 0x24,0x58,0x5d,0x3c,
+ 0x64,0xdc,0xa2,0xca, 0x6f,0xf9,0x9c,0xb9, 0xd2,0x6b,0xac,0x52, 0xba,0x8c,0x97,0x89,
+ 0x6c,0x84,0x35,0x65, 0xc0,0x8d,0x6d,0xb8, 0x7e,0x0c,0xe2,0x93, 0x91,0x17,0x85,0xe4,
+ 0xcd,0x4b,0x93,0x69, 0x25,0x7d,0xbc,0x54, 0xed,0x67,0xa4,0xe5, 0x90,0xc7,0xd7,0x84,
+ 0x64,0x0f,0x6d,0xcf, 0xa8,0x84,0xf8,0xd1, 0x0c,0x51,0x54,0xff, 0xc3,0xda,0x08,0x56,
+ 0x50,0x3e,0x5e,0x54, 0x3b,0x93,0xdc,0xec, 0xd8,0xd3,0xce,0xfe, 0x61,0x24,0xeb,0xcb,
+ 0x06,0x20,0x33,0x74, 0x41,0x81,0x36,0x8d, 0xf9,0x0a,0x7e,0x99, 0x11,0xf7,0x11,0x35,
+ 0x03,0xed,0x3f,0xf0, 0xda,0x52,0x7f,0x13, 0x0a,0x8f,0x64,0x3b, 0x0f,0x7e,0xe4,0x06,
+ 0x4f,0x97,0x3a,0xb7, 0x91,0x49,0x64,0xc8, 0xd8,0x62,0xf4,0x7a, 0x60,0x57,0xd6,0xb9,
+ 0x54,0x43,0xa8,0x2a, 0x33,0xbc,0x80,0x59, 0xf0,0x79,0x58,0xa8, 0x6b,0x77,0xb3,0xf8,
+ 0xab,0x80,0x08,0x2f, 0x84,0x0d,0x6f,0x93, 0x46,0x28,0x30,0x3d, 0x8b,0xad,0x70,0xc4,
+ 0x69,0x7f,0x42,0x4e, 0x3b,0xdb,0x59,0x93, 0x4b,0x9a,0x25,0xdc, 0x3f,0x77,0xc0,0x7a,
+ 0x68,0xdd,0xa4,0x73, 0xb8,0xae,0x7d,0x17, 0x9f,0xad,0x75,0x64, 0x22,0xf8,0xb4,0x5b,
+ 0x8f,0xa9,0x47,0x54, 0xb2,0x43,0xfa,0xbf, 0x98,0x0d,0x80,0x45, 0xc9,0xdd,0xa7,0xde,
+ 0x23,0x0b,0xc2,0x84, 0xc3,0x7f,0x55,0xe5, 0xba,0xb6,0x9d,0xee, 0x85,0xe3,0x61,0x67,
+ 0x30,0x7e,0x3e,0x83, 0x62,0xf3,0x30,0x32, 0x33,0x45,0x11,0x06, 0x17,0xb2,0xec,0x04,
+ 0x3c,0xa4,0x34,0x9f, 0x5c,0xaf,0xb2,0x6b, 0x2e,0x64,0xcb,0x6e, 0xde,0x78,0xd5,0x16,
+ 0x54,0x1c,0x05,0xee, 0xa3,0xce,0x85,0xc7, 0xa1,0x43,0x06,0xb8, 0x6c,0xfc,0x11,0x69,
+ 0xe7,0xec,0x39,0x23, 0x0e,0x5d,0x26,0x6e, 0x40,0x4b,0x1b,0xec, 0x88,0x5c,0x1f,0x6b,
+ 0x62,0x3c,0x31,0x68, 0xd1,0x90,0x33,0x42, 0x0f,0xba,0x7d,0xc6, 0x08,0x63,0x51,0x66,
+ 0xa0,0x38,0xba,0x22, 0x7e,0x81,0xb7,0x82, 0x17,0x59,0x39,0x16, 0xb3,0xf0,0xb4,0x26,
+ 0x31,0xc4,0x3e,0xaa, 0x38,0x68,0x54,0x44, 0x90,0xab,0xa4,0x4a, 0x23,0xf5,0x4e,0x72,
+ 0x69,0x48,0x1c,0x71, 0x90,0x57,0x28,0x90, 0xbd,0xd3,0x12,0x1f, 0x4d,0x06,0x68,0xe6,
+ 0x42,0xdf,0x94,0x86, 0xac,0xbe,0x67,0xd2, 0x55,0x82,0xa5,0x6b, 0xb6,0x55,0x2c,0xee,
+ 0x6a,0xb3,0x91,0xb7, 0xda,0x8e,0xd1,0xbb, 0x3a,0xb6,0x07,0xb3, 0xa0,0xef,0xe7,0x2a,
+ 0x06,0x13,0x4a,0xf6, 0xf2,0x51,0x1c,0x05, 0x05,0xfa,0x15,0xa1, 0xc8,0x01,0x2d,0xb0,
+ 0x1f,0x21,0x63,0x81, 0xe0,0x99,0x73,0xb4, 0x49,0x63,0x5a,0x6c, 0x3a,0xc1,0xc1,0xad,
+ 0x64,0xf5,0x95,0xa3, 0x0f,0xaf,0x2c,0x2f, 0x36,0xf0,0x6d,0x89, 0x96,0x9a,0xfc,0xd8,
+ 0xfa,0x1b,0x60,0xd0, 0xcf,0x57,0xa2,0x0c, 0xfe,0xef,0x8c,0xfc, 0x85,0x58,0xee,0xc1,
+ 0x2f,0x31,0xaf,0xe9, 0x9f,0x13,0x49,0xf0, 0x6c,0x76,0x39,0xfa, 0xf8,0x73,0x9c,0xe3,
+ 0x1f,0x3b,0xc8,0x31, 0x6f,0x0b,0x6d,0xf8, 0x91,0x5c,0x32,0xe9, 0xe5,0xbf,0x56,0x11,
+ 0x7c,0xfe,0x34,0x80, 0xb4,0xe2,0x41,0xae, 0x74,0x03,0xfb,0x89, 0x48,0x81,0xa7,0xbb,
+ 0x4a,0x96,0x56,0xfa, 0x53,0x19,0xa6,0xec, 0xc1,0x53,0x07,0x2a, 0xd7,0x2c,0xf0,0xad,
+ 0xa7,0xda,0x2e,0x2e, 0xcd,0xad,0x2a,0xc4, 0x8f,0xfd,0x85,0xc3, 0x0b,0x06,0x8a,0x0a,
+ 0xb9,0x97,0x09,0x3e, 0xc8,0x1e,0x41,0xe7, 0xc9,0xd6,0x62,0x39, 0x3f,0xc8,0xfc,0x9c,
+ 0x82,0x8b,0x0f,0x9c, 0xaa,0xd0,0xaf,0x46, 0xee,0xd0,0xda,0xa7, 0x80,0x4c,0xa5,0x58,
+ 0x7d,0x30,0x37,0xa4, 0x3b,0x45,0x13,0xd0, 0x7e,0xd1,0xd2,0x11, 0xd5,0xc0,0x58,0xbd,
+ 0x55,0xe1,0x88,0xaf, 0x95,0x58,0xea,0xf9, 0xed,0xc4,0xc0,0xf6, 0x50,0x6c,0xb1,0x9f,
+ 0x35,0x70,0xbc,0x34, 0xfb,0x65,0x5d,0x96, 0x8f,0x24,0x1c,0x3d, 0xf9,0x1a,0xf5,0x09,
+ 0x01,0xb4,0x33,0x48, 0x61,0x4b,0x55,0xa7, 0xae,0x01,0xe8,0x15, 0x7a,0xae,0xc7,0x38,
+ 0x18,0x76,0x22,0x79, 0xd3,0x7b,0xf6,0x40, 0x5e,0xa8,0x45,0x4e, 0x50,0xea,0xa0,0x1b,
+ 0x2a,0xc9,0xe5,0x44, 0x46,0x5e,0x7e,0xbc, 0x2b,0x36,0x05,0x97, 0xe1,0x38,0x9e,0xdf,
+ 0x92,0x2d,0x38,0x4f, 0x37,0xa6,0x60,0x57, 0xc1,0x51,0xd6,0x41, 0x0c,0xc5,0xdd,0x95,
+ 0x61,0x1f,0x43,0x53, 0x2b,0x13,0x4e,0x95, 0xec,0xa2,0xb1,0xaf, 0xd5,0xfb,0xac,0x40,
+ 0xdf,0x33,0xa6,0xcb, 0x57,0x96,0xd3,0xbd, 0xfa,0x33,0x16,0x5f, 0xbc,0x6d,0x1c,0xd7,
+ 0x68,0x68,0x66,0x52, 0x6b,0xfe,0xf4,0xe5, 0xb3,0xa6,0xc6,0x96, 0xe2,0x4e,0xce,0x71,
+ 0xc0,0xb7,0x5c,0xc1, 0x77,0xd7,0x5a,0x89, 0xf8,0x82,0x2d,0x11, 0xb4,0x48,0x27,0xfe,
+ 0xb0,0x69,0xda,0x3e, 0xdf,0x97,0x84,0x09, 0x45,0xec,0x0f,0x50, 0xae,0xd8,0x1a,0xe0,
+ 0x52,0x49,0x5d,0xa2, 0xfa,0xda,0x8d,0x4c, 0xf8,0xc7,0xa5,0xea, 0x90,0xe3,0x53,0x1a,
+ 0xc9,0x61,0xe3,0x32, 0x06,0x9c,0xb8,0x1e, 0xd6,0x82,0x6d,0x1c, 0x1d,0x13,0x46,0x86,
+ 0x84,0xba,0xdb,0xdb, 0x1a,0xd0,0xa3,0xcc, 0x69,0x65,0xf2,0x99, 0xc7,0x75,0xf5,0xa3,
+ 0x95,0x51,0x27,0xbb, 0xa1,0x4e,0x85,0x50, 0xfe,0x6d,0x51,0x6f, 0xaf,0x60,0x6d,0x14,
+ 0xaa,0xdf,0x47,0xd0, 0x83,0xd2,0x35,0x3a, 0x87,0x03,0x64,0x25, 0xbe,0x6e,0xda,0xec,
+ 0x53,0xfd,0x9c,0xcd, 0x19,0xbe,0x2b,0xe1, 0xf8,0xfd,0x1f,0xc5, 0x14,0x34,0x97,0x31,
+ 0x08,0x03,0xe1,0x85, 0xef,0x14,0x0b,0x65, 0x8a,0x73,0x1d,0x61, 0x81,0xd4,0xf3,0x75,
+ 0xc7,0x88,0xe1,0xc6, 0x43,0xeb,0xe2,0xb2, 0xbb,0x93,0x15,0xee, 0x5c,0xb4,0x94,0x13,
+ 0x45,0x0b,0xfa,0x74, 0x28,0x09,0x8c,0x57, 0x82,0x11,0xd6,0x0d, 0xa8,0x5d,0xe9,0x35,
+ 0x5a,0x90,0xa9,0x78, 0xb8,0x66,0x0e,0x4b, 0x51,0xce,0x17,0x30, 0xdb,0x21,0x99,0x90,
+ 0x71,0x17,0x50,0x15, 0x6b,0xb1,0x13,0x72, 0x89,0x17,0xaa,0xc3, 0x7e,0xb3,0x49,0x18,
+ 0x04,0xb6,0xf2,0xdc, 0xbb,0x62,0x16,0xe5, 0x71,0xab,0xbc,0xfb, 0x38,0x8b,0x8c,0xbd,
+ 0xa8,0xfe,0x05,0x34, 0x04,0xb3,0x12,0x48, 0x41,0xe0,0x6d,0x00, 0x2e,0x97,0x8b,0xdb,
+ 0x3f,0x9f,0x76,0x46, 0xae,0x07,0x4a,0x4c, 0x5c,0xe5,0x96,0x7c, 0x96,0xb1,0xf9,0x28,
+ 0x19,0x7e,0x21,0x54, 0x38,0x55,0x0e,0x79, 0xc2,0xf6,0x28,0xa9, 0x64,0x35,0x60,0x1b,
+ 0xd2,0xa3,0x1b,0x44, 0x40,0x72,0xa4,0xa7, 0xd4,0x43,0x40,0xae, 0xef,0x43,0xeb,0xb8,
+ 0xb6,0xa3,0x15,0xa0, 0xc5,0x5c,0xc3,0x11, 0xd6,0x7d,0xbb,0x1c, 0xca,0xba,0x17,0x4a,
+ 0xb4,0x33,0xae,0xe3, 0x65,0x00,0x56,0xb1, 0x21,0x61,0x9b,0x75, 0x24,0x52,0xe5,0x1d,
+ 0x9e,0xe4,0xb2,0xf8, 0xd0,0xba,0x1a,0x94, 0xfa,0x12,0x3d,0xcc, 0x18,0x12,0xd0,0x11,
+ 0x73,0x04,0x5c,0x7e, 0x49,0xdb,0x08,0x94, 0xc0,0x5b,0x0c,0xbe, 0x1b,0x36,0x80,0x04,
+ 0xba,0x62,0x43,0xba, 0x55,0x0d,0x20,0xa8, 0x79,0xb9,0xa7,0xea, 0x70,0x26,0x0e,0xbf,
+ 0x8f,0x77,0x7e,0x32, 0x30,0xcc,0x40,0x23, 0xfe,0xf3,0x56,0x19, 0xa6,0x85,0x95,0x16,
+ 0x8a,0x7c,0x0c,0x23, 0x9b,0x9e,0x6e,0x2f, 0x9d,0x11,0xfe,0xc2, 0x0b,0xd3,0x71,0xd7,
+ 0x8e,0x34,0xf3,0x24, 0x21,0x70,0x99,0xb1, 0x83,0xb8,0xeb,0xe1, 0x47,0x1d,0x05,0xae,
+ 0xbf,0xd1,0xcc,0x04, 0xf4,0x40,0xae,0xda, 0x98,0xf9,0xad,0x61, 0x8b,0xc9,0x60,0x19,
+ 0x17,0xbb,0x6f,0xef, 0x7d,0x46,0x39,0x17, 0x45,0x3e,0x29,0xb3, 0xae,0x3b,0xc0,0x53,
+ 0xe4,0x36,0xac,0x17, 0x7d,0xe1,0xac,0x12, 0x2e,0x6e,0xb7,0x5e, 0x66,0x96,0x59,0x98,
+ 0x53,0x8f,0x5b,0xd6, 0x67,0xec,0xde,0x4a, 0xe9,0x76,0x58,0xd6, 0x6b,0xda,0x58,0xe4,
+ 0xa9,0x58,0xfe,0x66, 0x2e,0x8c,0xb0,0xce, 0xa0,0x6f,0xfb,0x87, 0xbc,0xf6,0x1c,0x01,
+ 0x55,0x76,0x11,0x47, 0x1b,0x01,0xc6,0xdb, 0x77,0xdd,0x56,0x30, 0x39,0x21,0x51,0xa1,
+ 0xa4,0x06,0x81,0x8d, 0x30,0xed,0x76,0x43, 0xe0,0xfc,0x2b,0x79, 0xbe,0x0f,0xae,0x79,
+ 0x5d,0xa7,0x0c,0x20, 0x75,0x38,0xe6,0x2a, 0xf5,0x0b,0x9a,0x17, 0x07,0x78,0xed,0x73,
+ 0x65,0xc7,0x78,0xf8, 0xab,0x45,0x34,0xe9, 0x33,0xad,0x5b,0x86, 0xb3,0x1b,0x57,0xaa,
+ 0x3f,0x78,0xca,0xa0, 0xd3,0xbb,0xf5,0x3b, 0xe7,0xbc,0xef,0x34, 0x00,0x6d,0xa0,0x69,
+ 0xe5,0x18,0x3a,0xb7, 0x3a,0x2e,0x3b,0xb2, 0x83,0xe9,0xde,0x69, 0xec,0x60,0xe4,0x46,
+ 0x6d,0x6d,0x24,0x47, 0x28,0x4b,0x0a,0x34, 0xf7,0x26,0x76,0x90, 0x28,0xcd,0xc5,0xfa,
+ 0x98,0x4e,0x1e,0x16, 0x90,0xc6,0x11,0x29, 0x4f,0x2c,0xef,0x99, 0x8f,0x25,0x59,0x47,
+ 0x10,0x4a,0x9b,0xa3, 0x11,0x03,0xb8,0x7d, 0xb8,0x56,0xaf,0xc4, 0x4f,0x0c,0x24,0x8e,
+ 0xbf,0x1a,0x63,0x37, 0xb6,0xac,0xf7,0x4f, 0x45,0x67,0x02,0xdd, 0x1e,0x22,0x22,0xf9,
+ 0xfd,0xac,0xb3,0x86, 0xb4,0x0b,0x98,0x1f, 0x87,0x1c,0x10,0xfc, 0x81,0xac,0xf6,0x23,
+ 0xad,0x49,0x64,0xb7, 0x0c,0xf3,0x65,0x8d, 0xcc,0x60,0x5d,0xef, 0x08,0x8f,0x2f,0x39,
+ 0xc0,0xf9,0xb7,0xd0, 0x99,0x68,0x69,0x97, 0x10,0x8b,0xf9,0xe8, 0xda,0xdb,0xae,0xcd,
+ 0x69,0x0f,0x38,0xb9, 0x3c,0x1c,0x46,0xcd, 0x5a,0x40,0x31,0x8d, 0x4c,0x0a,0xcf,0x61,
+ 0x84,0xa0,0x16,0x62, 0x9b,0x9d,0xbb,0x92, 0xf2,0xae,0xe1,0x62, 0xc2,0x51,0x32,0x61,
+ 0xcc,0x69,0x0c,0x63, 0x45,0x4b,0x4b,0xaf, 0x39,0x76,0xe3,0x0b, 0x61,0xb8,0x5c,0x70,
+ 0x03,0x40,0x14,0x0c, 0x0f,0x6f,0x64,0x7d, 0xe0,0xf3,0x72,0xd0, 0x64,0x30,0x90,0xbf,
+ 0xb0,0x50,0xe1,0xe3, 0x75,0xe1,0xf8,0xfb, 0x8b,0xc6,0xd0,0x86, 0x44,0x28,0xff,0x20,
+ 0x13,0x73,0x1f,0xb4, 0x2e,0xb0,0x1b,0x73, 0x19,0xd0,0xd0,0x56, 0x50,0xe5,0xf7,0x47,
+ 0x88,0x6d,0xe9,0x14, 0x3d,0xda,0x21,0xce, 0xe7,0x4c,0x21,0xcb, 0x71,0xad,0x03,0x19,
+ 0x73,0xad,0xd7,0x5e, 0xe5,0x8c,0xf5,0xdf, 0xb1,0xa4,0x2d,0x6a, 0x9c,0xcc,0xa0,0x5c,
+ 0xa3,0x3e,0x02,0xc3, 0x32,0x07,0xa5,0x97, 0x87,0x2f,0xf2,0xf9, 0x9b,0xa0,0x2e,0x49,
+ 0xa8,0x96,0x54,0xda, 0x71,0x1a,0x93,0x5e, 0x80,0x95,0x50,0xb9, 0xbb,0x93,0xc1,0x55,
+ 0x16,0x1f,0xac,0x0f, 0x46,0x10,0x7f,0x20, 0x60,0x02,0xc5,0x98, 0x38,0x3f,0x03,0xcb,
+ 0x5c,0xb8,0xff,0xc8, 0xa5,0xe1,0xa8,0x28, 0xb3,0xc5,0xb3,0x84, 0x5b,0x58,0x0c,0x7a,
+ 0x44,0xab,0x57,0xb5, 0xce,0x38,0x45,0x7f, 0x2d,0x94,0xf0,0x71, 0xac,0xde,0x61,0xc4,
+ 0x2d,0xf9,0x8a,0x2d, 0x47,0xa5,0xa2,0xc0, 0xb3,0xea,0x1c,0xbf, 0xec,0xa1,0xa7,0x26,
+ 0xdb,0x21,0x73,0x72, 0xc2,0x35,0xfc,0x9d, 0xdb,0x0e,0xf8,0x77, 0xb9,0x08,0x98,0xb5,
+ 0xbe,0x06,0xcd,0x57, 0x5e,0x8b,0xc9,0x73, 0x6f,0x75,0xb3,0x76, 0x6b,0x47,0x19,0x33,
+ 0x8b,0xfa,0x64,0xf5, 0x86,0x11,0xe8,0x86, 0x45,0x55,0x87,0x68, 0x2f,0x33,0x52,0x1c,
+ 0x79,0x52,0x20,0x04, 0x99,0x8c,0xde,0x7c, 0x8c,0x5b,0xf7,0x72, 0x02,0x65,0xcf,0xea,
+ 0xfc,0xc3,0x07,0x45, 0xd1,0x05,0xda,0x8c, 0x2e,0xe8,0xf7,0x83, 0x5f,0x28,0x11,0x02,
+ 0x57,0xad,0x27,0xf9, 0x2d,0x7d,0xa9,0x45, 0xea,0x2a,0x61,0x3e, 0x2a,0x85,0x74,0x20,
+ 0x64,0x99,0x72,0xf6, 0xd1,0x94,0x93,0x27, 0x1b,0xec,0xed,0x0c, 0xff,0x16,0x09,0x79,
+ 0x39,0xd5,0x95,0x86, 0x6d,0x92,0xf1,0x18, 0x41,0x84,0x6a,0xdd, 0xb2,0x67,0xf0,0x4e,
+ 0x53,0x37,0x3a,0xe8, 0x4a,0xb2,0xd2,0xd1, 0xc0,0x61,0x84,0x15, 0xa9,0xed,0x2d,0x04,
+ 0xdf,0x15,0x76,0x46, 0xb8,0x48,0x9b,0xe0, 0x90,0x79,0xda,0xfe, 0x11,0xf4,0x5e,0x8d,
+ 0x57,0x4c,0x58,0xe1, 0x7f,0xe9,0x07,0x6f, 0x04,0x95,0x71,0xe7, 0xe8,0x72,0xf0,0xde,
+ 0x72,0xfa,0xac,0x8d, 0x3a,0x58,0x50,0xd7, 0xc5,0x32,0x33,0x1f, 0x53,0xb9,0xf0,0x50,
+ 0xb2,0x5c,0x9e,0xa8, 0x4a,0x87,0x9b,0x25, 0x31,0x0d,0x0f,0x7a, 0xd0,0xf2,0xa2,0x2f,
+ 0x7a,0x6e,0x21,0x8a, 0xf2,0x7e,0x9b,0x0c, 0x95,0xa7,0x3e,0xf7, 0xda,0xdb,0x8a,0x87,
+ 0x33,0xa6,0x18,0x9c, 0x9b,0x46,0x81,0xc5, 0xbb,0xc5,0x66,0xd6, 0xb6,0xc7,0xe9,0x13,
+ 0x8c,0xde,0xc5,0xb1, 0xdd,0xde,0xb6,0xa8, 0x10,0x9b,0x5e,0x0a, 0xad,0x48,0x12,0x1d,
+ 0x76,0x53,0xb2,0xa2, 0x71,0xd5,0x25,0x26, 0xba,0xa0,0xdd,0xe9, 0xe1,0x96,0x49,0x0a,
+ 0x27,0xd5,0x40,0xb9, 0xc6,0x09,0x44,0x56, 0xb1,0x29,0x0c,0xbf, 0xcd,0xce,0x3d,0xb7,
+ 0x5a,0x55,0x5a,0x3a, 0xa8,0x04,0x7c,0xf5, 0x07,0x06,0x35,0x53, 0x3a,0xee,0xfd,0x34,
+ 0xa6,0x8d,0xd2,0x11, 0x8c,0xa5,0x19,0x64, 0x5c,0x9d,0x7f,0xb5, 0xd7,0xbe,0x92,0x3c,
+ 0x67,0xe3,0x72,0x6a, 0x45,0xcf,0x2c,0xa2, 0x54,0x1c,0x47,0x14, 0xd6,0x82,0x0f,0x8d,
+ 0xb4,0xcd,0x36,0xc5, 0xa7,0xd0,0xa2,0x0c, 0xd6,0xd7,0xf9,0xa0, 0xa7,0x1a,0x99,0xe1,
+ 0x72,0x38,0xc9,0xa7, 0x9c,0x62,0xb2,0x8c, 0x43,0x48,0x20,0xe2, 0xd7,0xa5,0x40,0x0b,
+ 0x1e,0x80,0x96,0x39, 0x49,0x9c,0x92,0x77, 0x52,0xe1,0x80,0x0d, 0xf7,0x8a,0xb9,0x7d,
+ 0x9c,0xa2,0x8b,0xd4, 0x86,0xed,0x61,0xf2, 0xae,0x58,0x8a,0xf9, 0xa7,0x2a,0x9b,0xd1,
+ 0x9c,0xbc,0x05,0x9c, 0x4f,0x26,0x16,0x36, 0x3d,0xd3,0x72,0xf2, 0x29,0x52,0x37,0xe1,
+ 0xd7,0x8f,0x3c,0xc2, 0xcd,0x90,0xdc,0x12, 0x8f,0x2f,0x13,0x06, 0xa0,0x5c,0x54,0xaa,
+ 0xaa,0x05,0x7b,0x0e, 0x99,0x41,0xaa,0x00, 0xa6,0x65,0x36,0xfb, 0x9d,0xe6,0x19,0x3b,
+ 0xfe,0xfe,0xfe,0x38, 0x8c,0x3b,0x6d,0x09, 0xc2,0xb9,0x5f,0x1a, 0x88,0x76,0x05,0xf0,
+ 0x82,0x39,0xe2,0xac, 0xfc,0x06,0xca,0x5b, 0xda,0x47,0x0c,0xf3, 0xa0,0x53,0x61,0x5a,
+ 0x5d,0x00,0xb2,0x36, 0xb1,0xd0,0x37,0xb6, 0xff,0x53,0x44,0x8f, 0xa4,0xd8,0x2c,0xed,
+ 0xaa,0x42,0x25,0xed, 0xe0,0xa6,0x28,0x51, 0x7f,0xdc,0xb3,0x9c, 0x2e,0x24,0x32,0xb4,
+ 0xa7,0x4b,0x79,0xd9, 0xf5,0x44,0x73,0x29, 0xf3,0xb2,0x02,0x9b, 0x0e,0x5b,0x68,0x2f,
+ 0x74,0x44,0xbb,0x3b, 0xeb,0x31,0xac,0x8c, 0xee,0x8f,0xf4,0xf8, 0xb4,0x00,0xe5,0xaa,
+ 0x60,0xfe,0x9b,0x9c, 0xfb,0xf4,0x17,0xf8, 0x88,0x89,0xaf,0x84, 0x9b,0x1e,0x1a,0x8c,
+ 0x7f,0x32,0xad,0x35, 0x26,0x32,0x6b,0xd6, 0xe3,0xf1,0x8b,0x20, 0x5e,0x6f,0xd3,0x13,
+ 0x95,0x2c,0xfc,0x54, 0x0f,0xe5,0x19,0xb4, 0x97,0x49,0xf8,0x3a, 0x91,0xf8,0x55,0x36,
+ 0x98,0x92,0x86,0x1f, 0x6b,0x9c,0x82,0x53, 0x43,0x9a,0x1a,0xf3, 0xdc,0xaf,0x9f,0x7b,
+ 0xbf,0xe2,0x55,0x2d, 0xfd,0x03,0x2a,0xe9, 0x50,0x1b,0x02,0xae, 0x72,0x40,0x14,0xe3,
+ 0xda,0x65,0xc4,0x07, 0xc4,0x4c,0x2a,0x45, 0xa2,0x9a,0x0b,0x2f, 0xda,0x63,0xec,0xe2,
+ 0xc6,0xfc,0xad,0x95, 0xe3,0xc9,0x21,0xfd, 0x60,0xce,0x46,0x00, 0x3d,0xbc,0x2f,0x6e,
+ 0x92,0x64,0x43,0xfd, 0x6d,0xcb,0xf5,0x07, 0x34,0x27,0x76,0x68, 0xd1,0x7a,0x5f,0xd3,
+ 0x98,0xc3,0xab,0xba, 0x8f,0xcf,0x5f,0x1f, 0x26,0xba,0x51,0x03, 0x35,0xe8,0xef,0x83,
+ 0x1c,0xdb,0xf0,0x19, 0xaf,0x44,0xca,0x30, 0x0e,0x96,0x6b,0x49, 0x80,0xa0,0x0e,0x9f,
+ 0xe7,0x2c,0x31,0x25, 0x81,0x2f,0xab,0x31, 0xd4,0xca,0x54,0xea, 0xd9,0x67,0x8c,0x02,
+ 0xc7,0x18,0x4c,0x1e, 0x41,0x7c,0xd7,0x28, 0xd8,0x80,0x6a,0x7a, 0x5e,0x9f,0x02,0xb2,
+ 0xe6,0xbf,0xd0,0xef, 0xcf,0xf1,0xe7,0xce, 0xdc,0xa9,0xf2,0xa3, 0xa1,0xc5,0xeb,0x4b,
+ 0xbb,0xf4,0xca,0xea, 0xd5,0xef,0x63,0x0f, 0x15,0xc9,0xa3,0x56, 0x91,0x31,0x9e,0x99,
+ 0x7f,0x92,0xbb,0x3e, 0x7b,0xe4,0xfb,0x1d, 0x64,0x98,0x2a,0xcd, 0x8a,0x3f,0x04,0xc8,
+ 0xf6,0xae,0xf6,0x48, 0x77,0x5e,0x07,0xa1, 0x3c,0x46,0x78,0x5c, 0x4d,0xa1,0xa9,0x7e,
+ 0x37,0xdf,0x4e,0xf5, 0x26,0x2d,0x3e,0x6d, 0x25,0x8f,0x4c,0x56, 0xf0,0x69,0xe1,0xc7,
+ 0x5f,0x85,0x2e,0x7d, 0xfc,0x8c,0x0e,0x8c, 0x29,0x74,0xb3,0x87, 0xfc,0xa8,0x61,0x7b,
+ 0x3e,0xad,0x28,0x38, 0x65,0x36,0x11,0xa5, 0xd5,0x3a,0xc3,0x15, 0xb9,0x9e,0x23,0xe6,
+ 0x75,0x6a,0x6c,0x6b, 0x1a,0x61,0xa6,0x43, 0xbd,0x62,0x17,0x6f, 0x9e,0x64,0xfa,0x2c,
+ 0x83,0x94,0x2a,0xb9, 0x51,0xd7,0x1f,0xd5, 0x37,0xfa,0x0f,0xfe, 0x70,0x6e,0x09,0x8f,
+ 0x43,0x1e,0x52,0x14, 0xec,0x86,0x68,0x82, 0x6a,0xa1,0x17,0xa0, 0x10,0x6c,0x4a,0x34,
+ 0x2c,0x2f,0x10,0x1a, 0xef,0x95,0x6e,0x08, 0x3b,0x90,0xb3,0x15, 0x91,0xdb,0x43,0xd2,
+ 0x3e,0x31,0x5d,0x7f, 0xb4,0x36,0xa8,0x8e, 0x50,0xeb,0x75,0xbd, 0xc3,0x79,0x97,0x17,
+ 0x89,0xbe,0xf3,0x75, 0x75,0x63,0x3c,0xf6, 0xb6,0x57,0x97,0x4c, 0x3c,0x5c,0x6b,0x30,
+ 0x5e,0x5b,0x6f,0xb1, 0x09,0x02,0xa0,0xea, 0xa5,0x45,0x90,0xdd, 0xdb,0x7a,0x33,0xb1,
+ 0xfc,0xe1,0xd9,0x4d, 0x6e,0x88,0xe9,0xb5, 0x80,0x37,0x90,0x33, 0x83,0xfa,0x1b,0x0b,
+ 0xd6,0xda,0x9d,0x17, 0xa4,0xe3,0x9f,0x38, 0x5e,0xfa,0x19,0x9e, 0xeb,0x84,0x3e,0x73,
+ 0xa9,0xac,0xa6,0x7f, 0xc4,0x71,0xd9,0x62, 0x31,0x36,0x08,0x17, 0xda,0xbc,0xe9,0xf4,
+ 0x3e,0xf6,0x78,0xc9, 0xbe,0xd3,0x6f,0xa2, 0x39,0x8d,0x75,0xce, 0xcd,0xf2,0xc4,0x79,
+ 0x60,0x20,0x07,0xd0, 0xc9,0x1c,0x88,0xe2, 0x18,0x8f,0x95,0xba, 0x58,0x5e,0x12,0xc3,
+ 0xcf,0x3d,0xbe,0x67, 0x04,0x8c,0x7f,0x27, 0x44,0xe8,0xa4,0xbd, 0x50,0x8b,0x42,0x47,
+ 0x53,0x01,0x31,0xe1, 0x4c,0x63,0x52,0xd2, 0xc9,0xc0,0xc4,0xd9, 0x81,0x54,0x52,0xd4,
+ 0x20,0x0b,0xfc,0x37, 0xfe,0x35,0xf4,0xdd, 0xa2,0x1c,0xf2,0x18, 0xc1,0x1f,0x16,0xdb,
+ 0xd4,0x5a,0x5c,0xc4, 0x26,0xa2,0x5b,0xe5, 0xc8,0xec,0x48,0x48, 0x23,0x28,0xf6,0xcb,
+ 0x69,0x8f,0x10,0xad, 0x19,0x2d,0xbe,0x30, 0xbb,0x00,0x2d,0x2e, 0xd3,0x9f,0x37,0x1a,
+ 0x4b,0xfa,0xc1,0xd0, 0xc2,0xec,0x31,0xef, 0xe8,0xc0,0x7e,0x4d, 0xf0,0x13,0xca,0x43,
+ 0xa5,0xa9,0xf5,0xe5, 0x7e,0x7b,0x67,0x6e, 0x1f,0x21,0x81,0x69, 0x0e,0x3d,0xb2,0x31,
+ 0x38,0x4f,0x62,0x9e, 0x15,0xc7,0x7e,0x2e, 0xc2,0x1f,0x39,0x4b, 0xbf,0xad,0xec,0x60,
+ 0xef,0xe7,0xdc,0x94, 0xe3,0xa1,0x49,0xe8, 0xf0,0x65,0x10,0x29, 0x4b,0x27,0x37,0xd9,
+ 0x5e,0xb5,0xa5,0x65, 0x7c,0xe2,0x7f,0xdd, 0x47,0x90,0x0c,0xea, 0xac,0xeb,0xb9,0x6b,
+ 0xc5,0x36,0xf7,0x3c, 0x3a,0x6f,0xa6,0x92, 0x71,0x19,0x15,0x78, 0xfb,0x13,0xe4,0x37,
+ 0x6d,0x3d,0x51,0xb8, 0x77,0xd6,0xa2,0x5f, 0x81,0x81,0x1b,0x59, 0x0a,0xed,0xf4,0xec,
+ 0xca,0x0a,0x86,0xf1, 0x7a,0xe7,0x7d,0xa9, 0x75,0x5b,0x2e,0x17, 0x95,0xf4,0x6f,0xf2,
+ 0x36,0x2b,0xc5,0xff, 0x97,0xa3,0x9e,0xd4, 0xf4,0x7a,0xf9,0xdd, 0x8b,0xee,0xe8,0xc7,
+ 0xa6,0x28,0x04,0x52, 0xef,0x7c,0x0d,0x0f, 0x88,0x4d,0x9a,0x43, 0xd1,0xac,0xff,0x4c,
+ 0x6b,0x9a,0x49,0x1e, 0x20,0x8e,0x34,0xa5, 0xfe,0x15,0x15,0xee, 0xd1,0xb9,0x3e,0xab,
+ 0xbb,0x44,0xaa,0xc0, 0x16,0x5a,0xc1,0xd7, 0x62,0xe2,0xdd,0xcc, 0x32,0x81,0xad,0x8e,
+ 0xa2,0x2e,0x33,0x74, 0x6e,0x01,0xb8,0xd8, 0x45,0xac,0xec,0x0f, 0x73,0x11,0x6b,0x86,
+ 0x79,0xf0,0x8d,0x32, 0xd9,0xd1,0xa4,0x6e, 0x91,0x47,0xd3,0xdd, 0x98,0xae,0xa4,0xc0,
+ 0x97,0x8f,0x88,0x3b, 0x75,0xe6,0xbc,0x67, 0xd2,0xd6,0xd5,0x5d, 0xb1,0x93,0x06,0x89,
+ 0x1b,0xd2,0x60,0x88, 0xd5,0xa5,0x2f,0xb7, 0xa9,0x64,0xfc,0x26, 0x57,0xe9,0x64,0xce,
+ 0xdd,0xcf,0xef,0xb4, 0xb6,0xd0,0x47,0xf0, 0x17,0x28,0x21,0x94, 0x0f,0x1f,0xd8,0x4c,
+ 0x2e,0xd9,0x17,0x07, 0xdd,0x42,0x0b,0x3b, 0x6e,0x21,0xcd,0xde, 0x98,0xa6,0xac,0xc9,
+ 0x90,0x11,0xa5,0x6a, 0xf3,0x82,0x32,0xf3, 0x9b,0x25,0xa2,0x6b, 0x2f,0x5f,0x43,0x60,
+ 0xa0,0x03,0xc1,0xd9, 0xcc,0xc9,0x64,0x8f, 0x14,0xf6,0xbe,0x18, 0xe4,0x09,0x86,0xa9,
+ 0x5b,0x6c,0xd6,0x93, 0xcd,0xae,0x9e,0xb7, 0x51,0x06,0x36,0xce, 0xd9,0x2e,0xb1,0x6b,
+ 0x01,0x4e,0xef,0xd5, 0x88,0xf9,0x9f,0x64, 0x0a,0x7f,0xac,0x51, 0x82,0x91,0x3f,0xc1,
+ 0x4e,0x65,0x7d,0x37, 0xf7,0xba,0x56,0x12, 0x1f,0x76,0x55,0x4a, 0xdf,0x0d,0xd0,0xce,
+ 0xdb,0xac,0xc5,0x16, 0xa1,0x42,0xbe,0x8e, 0xf6,0x82,0x6e,0x4b, 0xa6,0xd3,0x84,0xb8,
+ 0x16,0x3b,0x8a,0x67, 0xd7,0x2f,0x17,0x82, 0x56,0xe7,0x8d,0x80, 0xee,0xe8,0x1e,0xb0,
+ 0x0a,0x77,0xfd,0xd0, 0x4b,0x33,0xbe,0x21, 0x1e,0x89,0xf9,0xfe, 0xd3,0x52,0x35,0xb4,
+ 0x0b,0xc7,0x18,0x2f, 0x1a,0x7d,0xca,0xff, 0x62,0x41,0x9a,0xb5, 0x02,0x2f,0xe6,0x0b,
+ 0x93,0x69,0x8c,0xd6, 0xb3,0x6a,0x6c,0xa8, 0xf4,0xde,0x51,0x39, 0x8a,0xab,0x22,0xf0,
+ 0xe5,0x73,0xbf,0x32, 0x9f,0x4d,0xbe,0x48, 0x6a,0xb6,0x6e,0x28, 0x60,0x08,0xbe,0xa3,
+ 0x7d,0xb7,0x13,0xf4, 0xfd,0x37,0xf1,0xe7, 0xed,0x54,0x28,0xf5, 0xdd,0x77,0x1b,0x75,
+ 0xf1,0x27,0xe6,0x0b, 0xe9,0x81,0xd7,0xce, 0x78,0x68,0x17,0x5c, 0xde,0x9a,0x61,0x07,
+ 0xf6,0x68,0x10,0xff, 0x71,0x8b,0x66,0x9c, 0xfb,0x01,0x29,0x3c, 0xcc,0x0c,0x23,0xa7,
+ 0x72,0xd7,0x89,0x27, 0x6b,0xc3,0x5e,0x10, 0x3d,0xcc,0x05,0x98, 0xce,0x47,0x40,0x88,
+ 0x35,0xf7,0xc8,0xab, 0x91,0x69,0x7f,0xc0, 0xa1,0xed,0xc8,0xa3, 0x4a,0x6a,0x95,0xc8,
+ 0x53,0xa2,0xc0,0x53, 0xd0,0x2b,0xdd,0xec, 0xac,0x63,0xec,0x08, 0xf0,0xc7,0xcd,0x99,
+ 0xc5,0xd4,0xd2,0x5b, 0xbd,0x2c,0x61,0xc5, 0x56,0x31,0x2b,0x22, 0x1b,0xb9,0xba,0x7f,
+ 0x13,0xde,0x26,0xff, 0x5e,0x5e,0x03,0xd1, 0x53,0x97,0x69,0x6d, 0x8a,0xfb,0x12,0xbc,
+ 0xca,0xd5,0x8a,0xd8, 0x08,0x68,0x07,0x24, 0x58,0x59,0xca,0xe2, 0x62,0xd0,0x1f,0xfc,
+ 0x12,0x11,0x0b,0x84, 0xd5,0x6a,0xb2,0x80, 0x3b,0x66,0x74,0x4b, 0x85,0x7b,0x61,0xb2,
+ 0x03,0x36,0xb7,0x5d, 0xe8,0xfd,0x40,0x31, 0x31,0xf6,0x7c,0xb8, 0x81,0x20,0xa8,0x73,
+ 0x0a,0xa4,0x3d,0xf8, 0xbf,0x1e,0xef,0xc5, 0x0f,0x0e,0xa8,0x9c, 0x46,0x54,0x4a,0x11,
+ 0xf9,0x2e,0x6a,0xec, 0xe5,0x4b,0xc8,0xda, 0xf3,0xd8,0xbc,0x44, 0xf2,0xe1,0xdf,0x62,
+ 0x45,0xf3,0x0d,0xbd, 0xaf,0x60,0x37,0xe0, 0x76,0x7e,0x42,0x7f, 0x1f,0xf8,0xfb,0x19,
+ 0xb3,0xe4,0xf4,0x74, 0x94,0x33,0x6a,0x82, 0xae,0x62,0x9c,0xa3, 0xd1,0x3e,0x7c,0xf1,
+ 0xc9,0xae,0xf5,0x2a, 0x2b,0x31,0x79,0x4c, 0xb8,0xb4,0xd8,0x66, 0x8c,0x7e,0x88,0x21,
+ 0x8a,0xc0,0x56,0x20, 0xf5,0x16,0xb5,0x58, 0x43,0x10,0x3a,0x76, 0x51,0xd6,0xab,0xcb,
+ 0x58,0x08,0xca,0x3e, 0xb3,0x7c,0xa9,0x45, 0x66,0x3c,0xbd,0x43, 0x61,0xbe,0x87,0x44,
+ 0x1b,0x27,0x99,0xe2, 0xa2,0x97,0xa8,0xf7, 0x11,0x86,0x70,0xec, 0x8f,0x2f,0x3b,0x91,
+ 0xbd,0x49,0x3f,0xbb, 0xa8,0x53,0x58,0x06, 0x36,0xd3,0xe2,0xce, 0xd5,0x29,0x70,0x0c,
+ 0x8f,0x99,0x54,0xbd, 0x6b,0x49,0x85,0xbf, 0xc2,0xe4,0x26,0xb9, 0x7b,0x41,0x83,0xcb,
+ 0xae,0x53,0xb8,0x7e, 0x8f,0xca,0xc2,0x94, 0x27,0x8b,0x70,0x3b, 0x8c,0x17,0x5a,0x61,
+ 0xaa,0xc7,0x25,0x6b, 0xdc,0x3c,0x1c,0x77, 0x8e,0xb9,0xd1,0x56, 0xf5,0xed,0x05,0xb3,
+ 0x3d,0x8c,0xd4,0x01, 0xd7,0x7e,0x18,0x5a, 0xa1,0x7b,0xa4,0x18, 0xfe,0x7c,0x84,0x46,
+ 0x53,0x0a,0x36,0x0f, 0x9c,0x02,0xf4,0x47, 0x0d,0xc6,0x3e,0x68, 0x33,0x47,0xb8,0xda,
+ 0x21,0xa0,0xdc,0xcd, 0xd3,0xa5,0x82,0x25, 0xf4,0x5d,0xab,0xf2, 0x71,0x5e,0x7f,0x47,
+ 0x07,0x86,0x7e,0x19, 0xa4,0xaa,0x4e,0x34, 0xd1,0x0c,0x81,0x32, 0x65,0xf8,0xda,0x77,
+ 0x39,0x83,0xe6,0x17, 0x15,0x6d,0x62,0x8f, 0xde,0x7e,0xfe,0x38, 0xaa,0x67,0x25,0x74,
+ 0xe7,0xfe,0xf0,0x9d, 0xf9,0xb1,0xbb,0xd7, 0x82,0x01,0x1c,0xdc, 0xe3,0xcc,0x1c,0xcd,
+ 0x73,0xc7,0xa8,0x06, 0x7d,0x30,0x7b,0x14, 0x9f,0xfb,0xc2,0xc1, 0xbc,0x65,0xa6,0x3b,
+ 0x2b,0xe2,0x79,0x1f, 0xe2,0x7a,0x7d,0x55, 0xb2,0xfa,0x3b,0x73, 0xf9,0xac,0x55,0x25,
+ 0x5a,0xe7,0x9c,0x50, 0x84,0xf3,0x40,0x7e, 0xee,0x96,0x23,0x17, 0x39,0xba,0xce,0x60,
+ 0x65,0x11,0x2e,0xe0, 0x27,0xf0,0xe9,0xc0, 0x52,0xc2,0x0e,0x73, 0x33,0x11,0xfa,0x31,
+ 0x11,0x8b,0xb9,0xbb, 0x5c,0xcc,0xea,0x2e, 0x4a,0xb6,0xaf,0x20, 0x18,0x2c,0xe6,0x85,
+ 0x57,0xf3,0xbf,0x2c, 0xa4,0xeb,0xa3,0x1b, 0xaf,0x29,0x32,0x3e, 0xb1,0x44,0x34,0x91,
+ 0x29,0xb3,0x09,0xd3, 0x28,0xf8,0x8a,0x3e, 0x84,0xe7,0x79,0xc1, 0xd9,0xc7,0xc6,0x9a,
+ 0xe7,0xdf,0x5a,0x21, 0x51,0x17,0x1f,0x77, 0x09,0x2f,0x24,0x13, 0x3d,0x0f,0x44,0x88,
+ 0x6e,0x69,0xff,0xb0, 0xd9,0xf5,0xea,0x17, 0x6b,0x02,0x91,0x39, 0x24,0x76,0xce,0x21,
+ 0x00,0x83,0xc3,0x22, 0xca,0xf2,0x99,0x41, 0x87,0x31,0xaa,0x81, 0xd7,0xc4,0x5f,0xc7,
+ 0x59,0xb5,0xf9,0x6b, 0xae,0x27,0x70,0xfc, 0x5a,0x85,0xed,0x48, 0xc1,0x13,0x2e,0x50,
+ 0x4b,0x8a,0x31,0xde, 0x3c,0xe3,0x55,0x31, 0xcb,0x0a,0x9c,0x97, 0xbb,0x11,0x59,0x23,
+ 0x8c,0xb1,0x4f,0xae, 0xe6,0x46,0x70,0x90, 0x9b,0xce,0xba,0x44, 0xf6,0xaf,0x17,0xff,
+ 0xd0,0xe4,0x1d,0x0f, 0x80,0x18,0xf4,0x11, 0xff,0x11,0x65,0xfa, 0xd2,0x7f,0x19,0x22,
+ 0xfd,0xd3,0xfc,0xed, 0x9b,0xca,0x2e,0xff, 0x9e,0xff,0x1a,0xe0, 0xe5,0x1a,0x20,0x99,
+ 0xc1,0x7f,0x38,0xe2, 0x8f,0x70,0x6f,0xd2, 0x60,0x55,0x0a,0x69, 0x01,0xbe,0x6c,0x8e,
+ 0x38,0x2d,0x8e,0xb1, 0x7e,0xe1,0x26,0x16, 0x50,0xfc,0x3e,0xe5, 0xfe,0xd3,0xb4,0xc8,
+ 0xb4,0xf3,0xe3,0x34, 0x9b,0xc0,0x6e,0x44, 0x97,0xae,0xa2,0xa0, 0xf4,0x61,0xe6,0x74,
+ 0x05,0xa5,0x73,0x9a, 0xda,0xd7,0x9d,0xfe, 0x67,0x49,0x48,0xf1, 0x2d,0xb0,0x27,0xff,
+ 0x0d,0x1e,0x90,0xba, 0x8f,0xb4,0x69,0x51, 0x9a,0x76,0x47,0x03, 0x7e,0xc0,0xad,0x79,
+ 0x15,0x7d,0x17,0x9d, 0x5d,0x49,0xc8,0x9a, 0x06,0xdc,0x81,0x80, 0x59,0x2e,0xfc,0xc2,
+ 0xea,0x98,0xb4,0xb8, 0xaf,0xeb,0x56,0x3f, 0xa8,0x8d,0x7a,0x2e, 0x16,0xd5,0x91,0x79,
+ 0x45,0xd4,0xd3,0x5e, 0xb6,0x4e,0xa3,0x86, 0x57,0x95,0x74,0x9d, 0xb0,0x79,0xe7,0xa1,
+ 0x44,0x08,0x7d,0xdb, 0xc8,0x8c,0xa2,0xad, 0x5a,0xb1,0xfe,0x19, 0x96,0xa1,0xe0,0xbb,
+ 0x94,0x39,0x3b,0xf5, 0x1c,0x51,0x95,0x52, 0x13,0xad,0x9d,0x3a, 0x16,0xcd,0x6f,0xf4,
+ 0x36,0x06,0x53,0x55, 0x48,0x8c,0xf0,0xa3, 0x37,0x81,0x8c,0xfb, 0x1d,0x04,0x76,0x66,
+ 0xc4,0xfa,0x75,0xc4, 0x17,0x56,0x55,0x02, 0xda,0x33,0x26,0x74, 0x3a,0xaa,0xbb,0x11,
+ 0x11,0xc1,0xa7,0xf0, 0x31,0xb2,0x36,0xb3, 0x51,0xd3,0xe6,0xa6, 0x7b,0x07,0x88,0xf7,
+ 0xec,0xfb,0xba,0x99, 0xb2,0x87,0x79,0xd4, 0x78,0xab,0x14,0x00, 0x36,0xad,0xf4,0x4c,
+ 0x75,0x91,0x32,0x64, 0x1c,0xd8,0xc6,0xdb, 0x10,0xb0,0x93,0x3b, 0xb8,0x75,0xdf,0x48,
+ 0x7a,0x49,0x2b,0x30, 0xae,0xc5,0xb4,0x98, 0x93,0x83,0xd2,0x62, 0xaf,0xfb,0x7a,0x15,
+ 0xbe,0x59,0x01,0x48, 0x37,0x21,0x2e,0x15, 0xd9,0x9c,0x60,0xd9, 0x96,0xdb,0xb5,0x81,
+ 0x66,0x35,0x62,0x32, 0x57,0x18,0xe8,0xd7, 0xa4,0xe0,0x25,0xa8, 0xf0,0x88,0xc8,0xb5,
+ 0x96,0xfe,0xef,0x5f, 0x40,0xe7,0x23,0x6a, 0xd6,0x8b,0x30,0x6a, 0xc2,0xae,0x66,0xfe,
+ 0xf0,0x09,0x8d,0xe3, 0x2a,0xcc,0x41,0x56, 0x21,0x36,0x2f,0x8e, 0xd2,0x3c,0x4f,0xd4,
+ 0x0b,0x3b,0xea,0xe4, 0xba,0xa2,0x88,0xaa, 0x90,0x80,0x2a,0x40, 0xf3,0x74,0x7f,0xf8,
+ 0x73,0x16,0x97,0xb8, 0xc1,0xc6,0x30,0xc8, 0x68,0xc0,0x57,0xd2, 0xcd,0x18,0x84,0x9f,
+ 0xf4,0x1e,0x1e,0xc1, 0x05,0x3a,0xac,0xfa, 0x3f,0x5e,0x0e,0x4a, 0x93,0x2c,0x09,0x2d,
+ 0x32,0x24,0xac,0x96, 0xe9,0x1b,0x1f,0x7e, 0x17,0x57,0x8d,0x78, 0x4e,0xe9,0xe9,0x93,
+ 0xe3,0xf3,0xa6,0x09, 0x7a,0xa1,0xd4,0xcd, 0x49,0xa5,0x5d,0x53, 0xd2,0x02,0xe0,0x12,
+ 0x03,0xe9,0x6e,0x31, 0x9b,0xfc,0xc7,0xcb, 0x1c,0x8b,0x70,0x85, 0x35,0xc3,0x16,0x8b,
+ 0xe1,0x3e,0x87,0x0e, 0x73,0x41,0x41,0x36, 0x7d,0x8c,0xa0,0xd6, 0xba,0x18,0xf1,0x02,
+ 0x03,0xe2,0x28,0xcc, 0x21,0xc7,0x32,0x59, 0x3c,0x2f,0x75,0xf2, 0x43,0xd6,0xe0,0x53,
+ 0xeb,0x30,0x69,0x79, 0x5a,0xc1,0xc1,0x42, 0x0b,0xc6,0x3f,0xb7, 0x02,0xa4,0xad,0x1e,
+ 0xbc,0x8e,0xe1,0x21, 0xe0,0x02,0x9b,0x5f, 0x55,0x62,0xef,0x4a, 0x38,0x84,0x40,0xee,
+ 0x3b,0x60,0x2b,0x15, 0x88,0x86,0x42,0xce, 0x46,0xa9,0xc2,0x32, 0x96,0xe4,0x9e,0xbf,
+ 0xca,0x9c,0xa4,0x24, 0x05,0xb5,0x0b,0xec, 0x19,0x77,0xb7,0xd8, 0x21,0xc6,0xae,0x87,
+ 0xe4,0x89,0x55,0x63, 0xe5,0x0f,0xa9,0x96, 0x9e,0xe7,0x48,0xe6, 0xd0,0xb3,0x18,0x4c,
+ 0x26,0xea,0x9b,0x3d, 0x84,0x84,0x2b,0xf6, 0xb1,0x73,0x65,0xf5, 0x91,0xb8,0xcd,0x57,
+ 0x9d,0xf4,0x95,0x61, 0x94,0x95,0x5d,0x1a, 0xec,0xdd,0x61,0x8b, 0xe8,0xb4,0xee,0xa5,
+ 0x60,0x85,0x18,0x59, 0xe0,0x2c,0xae,0xfa, 0xd1,0xc5,0xd2,0x9e, 0x00,0x15,0x41,0x93,
+ 0x47,0xaa,0x68,0x04, 0x21,0x2c,0xa1,0x37, 0x5f,0x8e,0xa1,0x1f, 0x4e,0x19,0x76,0x5f,
+ 0x70,0x37,0xcf,0xfb, 0xd1,0xbd,0xc6,0x61, 0xaf,0xe0,0x99,0xf2, 0x0b,0xb7,0xc2,0xa0,
+ 0xdd,0xc8,0x6f,0x7d, 0x3c,0xa9,0xa7,0xff, 0x55,0x63,0x63,0x63, 0x0f,0xca,0x85,0xe8,
+ 0x1e,0xc6,0x64,0xd5, 0xb0,0xf4,0xcf,0x5d, 0xc9,0x77,0x91,0xd5, 0x7f,0x9c,0xa4,0x34,
+ 0xe9,0x19,0x13,0x73, 0x50,0xba,0x85,0xdc, 0xe3,0xca,0xfb,0x63, 0xac,0x40,0x52,0x70,
+ 0x7d,0x3f,0x5a,0x92, 0x6f,0xc6,0x45,0xe4, 0xfb,0x5f,0xf0,0x3d, 0xcf,0xf9,0xe7,0xb1,
+ 0xb5,0x9d,0xbd,0x6c, 0x9c,0x90,0x01,0xcc, 0x8d,0xbd,0x3a,0x94, 0xfc,0x9c,0xbb,0xb1,
+ 0x43,0x07,0x2a,0x77, 0x0f,0x0a,0x0d,0x5c, 0x5c,0xf9,0x6a,0x1a, 0x1a,0x95,0xa7,0x75,
+ 0xde,0x04,0x31,0xce, 0x68,0xe6,0x50,0x72, 0xe4,0xd4,0x3e,0xed, 0xc4,0x30,0xb3,0x4c,
+ 0x9d,0x06,0x24,0x38, 0x77,0x8b,0xf3,0x36, 0x26,0x46,0x00,0xbb, 0x03,0xd0,0xc1,0xf9,
+ 0x15,0xbf,0x98,0xd6, 0x35,0xb5,0x43,0xd5, 0x77,0x8e,0x17,0x20, 0x14,0xa4,0x98,0x2b,
+ 0xb0,0xbb,0x6a,0x5a, 0x91,0xcf,0x72,0x53, 0xc8,0x7b,0xa7,0x6d, 0x5f,0x24,0xc3,0xcf,
+ 0x3f,0x1b,0x93,0xed, 0xc1,0x1f,0x83,0x5d, 0x60,0x7f,0x3e,0xc6, 0x25,0x31,0xea,0x39,
+ 0x80,0x3a,0x2b,0x66, 0xd9,0x2f,0xf1,0xa1, 0x5b,0xaa,0x4d,0x56, 0x8f,0xda,0x8c,0xea,
+ 0xb8,0x9a,0x69,0x11, 0x46,0xa7,0xea,0xeb, 0x4b,0x12,0x0b,0xa9, 0x5a,0xba,0xa0,0x63,
+ 0xa7,0xbb,0x80,0xac, 0xb0,0x19,0x7b,0xd3, 0xd3,0x30,0x53,0xfe, 0xfe,0xc0,0xdb,0x75,
+ 0x17,0x2a,0xd2,0x73, 0x7b,0xf5,0x43,0x28, 0xa6,0x63,0xa7,0x30, 0x1f,0xd4,0x3e,0x6e,
+ 0x4f,0x27,0x75,0xd2, 0xd4,0xba,0x13,0xde, 0x5e,0x71,0x10,0x61, 0x5a,0x62,0x47,0x16,
+ 0xfe,0x9b,0x04,0x7e, 0x25,0x5b,0x25,0x69, 0x20,0x38,0xe0,0x19, 0x3f,0x4b,0x74,0x6a,
+ 0xc3,0xa9,0xa2,0xcf, 0x83,0xb7,0x5d,0xb2, 0x79,0x3a,0xb0,0x1c, 0x35,0x39,0xc1,0x5c,
+ 0x4b,0x01,0x75,0xb5, 0x49,0x12,0x85,0x91, 0xf5,0x70,0x67,0x3c, 0x24,0x08,0x25,0x93,
+ 0x52,0x92,0xee,0xa1, 0xe3,0x46,0x4f,0x6a, 0x5f,0x19,0x67,0x59, 0xff,0x02,0x56,0x51,
+ 0x61,0x35,0x31,0xb2, 0x45,0x58,0x56,0x0c, 0xcd,0x11,0x0d,0x15, 0x1a,0x72,0x09,0x6c,
+ 0x79,0x12,0x84,0xad, 0xfe,0x49,0x60,0xd7, 0x74,0xba,0xab,0xa2, 0x85,0x1c,0x52,0x6b,
+ 0xe9,0x24,0xa9,0xba, 0x16,0x4b,0x73,0x30, 0x92,0xd9,0x05,0x1a, 0x96,0x92,0x3d,0x7f,
+ 0x80,0x57,0x3c,0x62, 0x10,0x2f,0x15,0xb3, 0xc3,0xb7,0x34,0xf0, 0xe1,0xb9,0xb5,0x5e,
+ 0xbc,0x6c,0xcb,0xca, 0x23,0x42,0xc6,0x0a, 0x99,0x77,0xa8,0x04, 0x99,0x37,0xfc,0xe9,
+ 0x8b,0x6d,0x77,0x13, 0x4f,0xc9,0x15,0xa3, 0x44,0x0e,0x79,0x62, 0x36,0xf5,0x14,0xcc,
+ 0xe7,0x5f,0xe6,0xef, 0x4f,0xd2,0x92,0xc0, 0xa6,0x2f,0x8e,0x41, 0x41,0xef,0xdc,0xfd,
+ 0x2a,0xed,0x3c,0xcc, 0x57,0xdb,0x34,0xf3, 0x82,0xbf,0x4a,0x10, 0xa3,0x3c,0x2f,0x9a,
+ 0x16,0x5f,0x75,0xc9, 0x5d,0x77,0xbb,0xc3, 0x53,0xe3,0x92,0x53, 0xa8,0x3c,0xec,0xc2,
+ 0x06,0x9a,0x86,0xea, 0x2f,0x51,0x7e,0xbb, 0x17,0x4b,0x59,0x83, 0x4d,0x81,0x6e,0x8a,
+ 0xde,0x15,0x47,0xd9, 0x5e,0xe9,0x01,0x9e, 0x98,0x6a,0xd5,0x19, 0x67,0xfe,0xbf,0x27,
+ 0x54,0xab,0x7a,0x1c, 0xad,0x88,0xd4,0x8a, 0xe1,0x74,0xe1,0xd0, 0x21,0x30,0x19,0xfc,
+ 0xf3,0xb0,0x2e,0x28, 0xf1,0x69,0x3b,0x6d, 0xfe,0x1f,0x50,0x92, 0xcd,0x53,0x91,0x2e,
+ 0x54,0x17,0xba,0x54, 0x89,0xa1,0x1f,0xbc, 0x96,0x6f,0xb1,0xd8, 0x72,0xf0,0xca,0xae,
+ 0x9c,0x9d,0x5e,0x3c, 0x69,0x53,0xbd,0x39, 0xa1,0x2d,0xd0,0xc3, 0xe9,0x16,0x5f,0x18,
+ 0x1d,0x97,0xf6,0x01, 0xc9,0x0d,0xcb,0x45, 0x00,0xd8,0xf9,0x27, 0x02,0x4e,0x48,0xa2,
+ 0xac,0xd4,0xb5,0xa8, 0x5a,0xd3,0xb2,0x49, 0xdf,0x6d,0x19,0xe8, 0x48,0x79,0xee,0x0d,
+ 0x7e,0x87,0x5e,0xfe, 0x11,0x48,0x5c,0x31, 0xc0,0x84,0x50,0x49, 0x49,0xbd,0x35,0xcc,
+ 0x8e,0xe7,0x9b,0x14, 0x82,0xa8,0x4b,0x9c, 0xac,0x50,0x74,0x4b, 0x0b,0xaa,0x9a,0xb7,
+ 0x31,0x77,0x03,0x2e, 0x19,0x4b,0x85,0xaa, 0x0b,0xc8,0xd0,0x27, 0x3a,0x55,0x11,0x1e,
+ 0xf3,0xbf,0x5d,0xcb, 0x2d,0xe1,0x05,0xb6, 0x56,0x4b,0x87,0xbc, 0x52,0x70,0xfe,0xf0,
+ 0x4b,0xb1,0x61,0xd9, 0x54,0x01,0x9a,0x67, 0xa2,0xd3,0x86,0xe4, 0x90,0x28,0xf8,0x84,
+ 0x1b,0x54,0xb4,0xca, 0xea,0x33,0x90,0x93, 0xe7,0xfe,0x2d,0xf7, 0xcf,0x72,0x55,0xe7,
+ 0xdb,0x20,0xa8,0x59, 0x06,0xef,0x33,0x7d, 0xd1,0x2d,0xa4,0x37, 0xa4,0x4f,0x90,0x2e,
+ 0xfa,0xc8,0xce,0x22, 0xf2,0xc8,0xd3,0x00, 0xe7,0xa6,0xc4,0xd6, 0x68,0x8f,0x0f,0xf2,
+ 0x1f,0xc7,0xb2,0x32, 0xc7,0x81,0xc5,0xbe, 0xb8,0x9d,0x97,0xbc, 0xe6,0xcb,0x9a,0x2d,
+ 0x9f,0x65,0xe6,0xf9, 0xa4,0xd9,0x93,0x7f, 0x76,0xe6,0x23,0xed, 0xb8,0x06,0x20,0x83,
+ 0x52,0x05,0x12,0x28, 0x5e,0x9e,0x85,0x03, 0x0b,0x86,0x4a,0xa0, 0x8f,0x7b,0xdc,0x96,
+ 0x20,0xa4,0x39,0xde, 0xe4,0x90,0xdf,0xd2, 0x4c,0xa6,0xce,0x03, 0x4d,0xe8,0xd9,0x5f,
+ 0x30,0x83,0x10,0x53, 0x1a,0x46,0xf5,0x47, 0xb2,0xc1,0xe3,0x7b, 0xaf,0x6e,0xa4,0x62,
+ 0x7e,0xae,0xfb,0x18, 0xb7,0xdc,0x2e,0x08, 0xe3,0xd0,0xd3,0x17, 0x20,0x3c,0x20,0xff,
+ 0xcb,0x02,0x48,0x54, 0xe9,0x2a,0x6e,0xd3, 0x33,0x3d,0x80,0x51, 0x43,0x5f,0xab,0x7b,
+ 0x14,0x8e,0xc9,0xc4, 0xd4,0x99,0xd4,0x12, 0x53,0x4c,0x4c,0xf1, 0xdf,0x89,0xf1,0xf9,
+ 0xf8,0xca,0xe4,0x76, 0x8f,0xcf,0xc5,0xfe, 0xc2,0x1a,0x7c,0xaf, 0x2c,0xe7,0x57,0x4a,
+ 0x1f,0x1b,0x9c,0x6a, 0x9c,0xf9,0xdf,0x2a, 0x3b,0x8a,0xf4,0xac, 0x8a,0x5a,0x88,0x12,
+ 0xb8,0x3c,0x01,0x81, 0x4e,0xb3,0x4f,0x25, 0x4d,0x7e,0x02,0xa1, 0x86,0x52,0x09,0xf7,
+ 0x13,0x8c,0x63,0xb5, 0xa0,0xb8,0x4f,0xd3, 0x6d,0xf9,0x46,0x6e, 0xba,0x6b,0x05,0x92,
+ 0x21,0xae,0x96,0x25, 0x13,0xf6,0x87,0x7e, 0x36,0x18,0x17,0x0f, 0xe3,0x1c,0x9d,0x84,
+ 0x66,0xa5,0x8a,0xfa, 0xe1,0x53,0x79,0xae, 0xbc,0xef,0x47,0x9a, 0x53,0xbb,0x11,0x0a,
+ 0x2d,0x1d,0x47,0x66, 0x9d,0x74,0x22,0x95, 0x93,0xe8,0x06,0x07, 0x59,0xec,0x0f,0xac,
+ 0xdf,0x99,0x2d,0x7e, 0x85,0xe6,0xee,0x73, 0x08,0xec,0xef,0xc5, 0xde,0x0f,0x37,0x81,
+ 0x47,0x33,0xbf,0x32, 0x71,0x2f,0x2d,0x79, 0x0e,0xc0,0x54,0x84, 0x3a,0x22,0x6a,0xef,
+ 0xb9,0xa8,0x5d,0x7b, 0x51,0xb5,0xf8,0xa9, 0x39,0xe1,0x35,0x39, 0x23,0x0a,0xd1,0xf8,
+ 0x35,0xe1,0x15,0xb9, 0x3a,0x08,0x1f,0x71, 0x88,0x95,0x51,0x83, 0x74,0x88,0xac,0x2d,
+ 0xec,0xda,0xd9,0x6b, 0x5d,0x6f,0x28,0xa1, 0xbc,0xbc,0xb9,0x0b, 0xdd,0xd8,0x82,0x89,
+ 0xd2,0x6f,0x3e,0xfd, 0xc4,0xc0,0x19,0x85, 0x4a,0xe9,0x08,0xa6, 0xc0,0xd5,0xb9,0xaf,
+ 0x22,0x0d,0x16,0x66, 0x4c,0x37,0x82,0xaf, 0x04,0xd8,0xb4,0x05, 0x33,0xf1,0x8c,0x53,
+ 0xc0,0x8d,0x6e,0x1e, 0x75,0x77,0xcd,0x1e, 0xa2,0x34,0x3a,0xd0, 0x91,0xe5,0x70,0x70,
+ 0x64,0x76,0x7d,0x74, 0xf3,0x88,0x71,0x78, 0xfb,0xa3,0xf7,0x5e, 0x4d,0x66,0xed,0x23,
+ 0xe1,0x86,0x43,0xad, 0xf1,0xd1,0x07,0x15, 0xfb,0xd6,0xa7,0xee, 0x93,0x98,0x08,0xcc,
+ 0x7d,0x7e,0xc4,0x0b, 0x68,0xea,0xa1,0xa5, 0x2a,0x55,0xe5,0xc4, 0xca,0x40,0xed,0x48,
+ 0x0c,0xcc,0xb8,0x6e, 0x74,0xc0,0x1f,0x50, 0xde,0xf4,0xf0,0xd6, 0xe3,0x98,0x77,0x2a,
+ 0x92,0x6e,0x66,0x81, 0x1d,0xd8,0xce,0xf1, 0x19,0x9b,0xa5,0x32, 0x48,0x79,0x94,0x39,
+ 0xe0,0xec,0xa2,0x50, 0x02,0xbf,0x2e,0x34, 0x1a,0xeb,0x2c,0xc1, 0xb3,0x19,0x50,0x3d,
+ 0x47,0x23,0xbf,0xe0, 0x74,0x2d,0xa3,0x79, 0xd0,0x0e,0xa5,0x19, 0xef,0x5c,0x4b,0x88,
+ 0xf1,0x97,0xcf,0x7f, 0x68,0xd4,0x41,0xf6, 0x88,0x37,0x0d,0x7b, 0x2e,0x12,0xb5,0x2d,
+ 0x47,0x09,0x3f,0x57, 0xa0,0xff,0x0b,0x35, 0xa8,0xb5,0x68,0x45, 0x34,0x03,0xde,0x27,
+ 0x58,0xe6,0xd6,0xa1, 0xa1,0xd6,0x24,0x37, 0x08,0x3d,0xb6,0x76, 0xe1,0x56,0x65,0x93,
+ 0x55,0x2b,0x3d,0x4a, 0x6d,0x1e,0x5d,0xba, 0x0c,0x84,0x40,0xb8, 0x07,0x16,0xf9,0x2e,
+ 0xf0,0x71,0xf7,0x09, 0x43,0xbd,0x3f,0x76, 0x2e,0x69,0x8c,0x86, 0x82,0x12,0x62,0x83,
+ 0xc1,0xdf,0xc3,0xfb, 0x45,0x3f,0x37,0xbd, 0x8c,0xca,0x7a,0x43, 0x04,0xa0,0xb0,0x1c,
+ 0x26,0x3d,0x5b,0xcc, 0x65,0x36,0x42,0x3e, 0xc3,0x30,0x7f,0x17, 0xae,0xc5,0x05,0xac,
+ 0x70,0xb7,0x90,0xea, 0x05,0x1b,0x16,0x67, 0xdb,0x9a,0x03,0x90, 0x57,0xfe,0xac,0xa8,
+ 0x25,0xb6,0x23,0x4d, 0x3a,0x7c,0x06,0xf7, 0xbf,0x13,0x83,0x45, 0xd8,0xe5,0x26,0xe1,
+ 0xea,0x18,0xa5,0x6d, 0x9d,0x91,0x96,0x16, 0xd3,0x1c,0x5e,0x3c, 0xa0,0x49,0x15,0x67,
+ 0xa9,0xdd,0x44,0x31, 0xc2,0x45,0xc7,0x40, 0xc7,0xd0,0x13,0xd8, 0x89,0xab,0x6a,0x7c,
+ 0xa2,0xc1,0xaf,0x62, 0x35,0x52,0xc1,0x08, 0x3c,0x63,0x1b,0x94, 0x23,0xaa,0xd4,0x44,
+ 0x21,0xcb,0x8b,0x6b, 0xfc,0xc8,0xaf,0xe9, 0x77,0x0e,0x65,0x61, 0x4f,0xe5,0xce,0x0d,
+ 0xa1,0xec,0xda,0xe1, 0x04,0xad,0x0c,0x5f, 0x60,0x4d,0x11,0x8a, 0xf0,0xd9,0xa7,0x1f,
+ 0x02,0x99,0x2b,0x53, 0x22,0xf1,0x7b,0x40, 0x18,0x8d,0x7a,0x20, 0x24,0x4b,0x74,0xae,
+ 0xa6,0xd2,0x0b,0x10, 0xd1,0x90,0x73,0x59, 0xd1,0xe1,0xf4,0x8a, 0xb2,0x53,0x72,0x31,
+ 0xdf,0x23,0x1d,0x32, 0x58,0xc7,0x91,0x83, 0x91,0xd1,0x32,0x8c, 0x3f,0x6b,0x29,0xea,
+ 0x5a,0x97,0xdc,0x78, 0x2b,0xeb,0xf8,0x3f, 0x66,0xae,0x18,0xbf, 0xcf,0x51,0x81,0x3a,
+ 0xdd,0x99,0x1b,0xfc, 0xd3,0x4d,0x1b,0x4a, 0x5d,0x17,0x7c,0x9a, 0x53,0x74,0x3e,0x75,
+ 0x3b,0x4d,0xc1,0x2e, 0xd4,0x0e,0x91,0xea, 0x33,0x24,0x94,0x6c, 0xfe,0x39,0x91,0x40,
+ 0x4d,0xa1,0xd8,0xc6, 0x30,0xec,0x6d,0x21, 0x0e,0x90,0x7e,0xde, 0xb8,0xe0,0x87,0x4f,
+ 0x13,0xcc,0xd7,0xe1, 0x91,0x43,0x74,0x8c, 0x3f,0xfa,0x29,0x03, 0xe4,0x7e,0xd0,0x33,
+ 0x8e,0xcb,0xe1,0x87, 0xfb,0x69,0x9d,0xee, 0xc1,0x86,0x5b,0xcd, 0xe1,0xc4,0xb4,0x52,
+ 0xdb,0xff,0x7f,0x1a, 0x7a,0x01,0xf3,0xeb, 0x1a,0x8e,0xef,0xc4, 0xdb,0xee,0xd3,0x28,
+ 0xc7,0x15,0x28,0x2f, 0x95,0x70,0x35,0xd4, 0xdc,0xa5,0xae,0x64, 0x69,0x80,0xa4,0x10,
+ 0x79,0x2e,0x9e,0x5e, 0x98,0xfc,0x4f,0xd3, 0xe8,0x0a,0x5f,0xc5, 0xd4,0x04,0x4c,0x51,
+ 0x33,0x42,0xad,0x29, 0xea,0x6e,0x08,0xe6, 0x19,0xb6,0x2d,0xc9, 0x48,0x8a,0x03,0x1f,
+ 0xf1,0x3a,0xd7,0x1d, 0xe5,0x36,0x14,0x7a, 0x6d,0xf2,0x14,0x6c, 0x10,0x32,0x19,0xb9,
+ 0x6a,0xbb,0x55,0x8d, 0xdf,0x54,0x38,0xbe, 0xb5,0x42,0x1e,0x34, 0x66,0x0b,0xd9,0x64,
+ 0x4e,0xa2,0x47,0x60, 0x71,0xb4,0xd2,0x41, 0x64,0x18,0x69,0x3e, 0x3d,0x49,0x64,0x04,
+ 0xd7,0x2f,0x09,0x7a, 0xca,0x85,0x4c,0xa7, 0xcd,0x79,0x88,0x9e, 0x27,0x8a,0x38,0x72,
+ 0x98,0x54,0x18,0xe3, 0x81,0xfa,0x1c,0x2d, 0xf2,0xf8,0xf8,0xac, 0x1d,0xd7,0xb1,0xbe,
+ 0x4f,0x2e,0x80,0x53, 0x9e,0x68,0x96,0x34, 0x0c,0x4e,0x44,0x95, 0x36,0x7a,0x74,0x16,
+ 0x48,0xbf,0x13,0x86, 0x29,0x71,0x4b,0x80, 0x76,0x4d,0xd1,0xf6, 0x12,0x3e,0xe0,0x30,
+ 0x1b,0x79,0x84,0x33, 0xbf,0x55,0x64,0xa5, 0x55,0xc7,0x58,0x4c, 0x49,0x75,0x8a,0x6c,
+ 0x36,0x31,0xa3,0x92, 0x3b,0x5f,0x5c,0x53, 0x05,0xcd,0x71,0xd8, 0x61,0x6f,0x15,0xc7,
+ 0x93,0x48,0x2e,0xf1, 0x2d,0x32,0x03,0x5d, 0xd0,0x73,0x65,0x27, 0xc3,0x70,0xc2,0xeb,
+ 0x29,0x7b,0x1f,0x5b, 0x7f,0x56,0x1a,0xdb, 0x34,0x4a,0x81,0x03, 0x51,0x7b,0xd9,0x3b,
+ 0x5b,0x45,0xb6,0x93, 0x05,0x41,0x93,0x95, 0x1e,0x43,0x4e,0x2b, 0x13,0x38,0xed,0xee,
+ 0x9e,0xeb,0x12,0x83, 0x28,0x05,0x04,0x98, 0x36,0x20,0x49,0x30, 0x97,0x25,0xee,0x17,
+ 0x34,0xe7,0xa1,0xc4, 0x9c,0xb2,0x38,0xb8, 0x7b,0x49,0xd8,0x9f, 0xa3,0x34,0xdb,0xef,
+ 0xc9,0xda,0x38,0x0f, 0x14,0x4a,0x67,0x91, 0xe9,0x05,0xb5,0x05, 0x31,0xba,0x2c,0x47,
+ 0xda,0x54,0xbe,0xd7, 0xee,0x8c,0xf1,0x84, 0x34,0x1d,0xeb,0x2d, 0xa3,0x84,0x4d,0xd9,
+ 0xd7,0x99,0x72,0x17, 0x78,0x37,0xf2,0x64, 0xc2,0xb0,0xc7,0xbf, 0xca,0x25,0xd0,0x11,
+ 0xab,0x6e,0x4e,0x1b, 0x49,0xa6,0x77,0x84, 0xbe,0xbb,0x1d,0x8c, 0x66,0x67,0x2d,0xbd,
+ 0x69,0xb0,0x14,0xcd, 0x47,0x44,0x70,0xd5, 0x03,0xf5,0x09,0xf1, 0xff,0x07,0x06,0x91,
+ 0x24,0xa5,0xaa,0x2d, 0xc2,0x8c,0x6d,0x81, 0xdd,0x5a,0xfe,0x6d, 0xea,0xae,0xcc,0x4c,
+ 0x00,0xa3,0x84,0xef, 0xd6,0xb6,0x1f,0x97, 0xa9,0x38,0x6b,0x4c, 0xa6,0x9e,0x81,0x72,
+ 0x81,0xd8,0xb1,0x2d, 0x16,0xa2,0x6a,0x2d, 0x7d,0xa7,0x3b,0xb2, 0x0f,0xdd,0x02,0x55,
+ 0x5a,0xef,0xe7,0xd9, 0x06,0x35,0x84,0x6e, 0x35,0xba,0xcd,0x56, 0x88,0xb3,0xec,0x5c,
+ 0xcd,0x35,0xb7,0x03, 0x6c,0x10,0x70,0xea, 0xaf,0x9a,0xd7,0x53, 0x92,0xbc,0x43,0xf9,
+ 0x7e,0x5a,0x84,0x40, 0xeb,0xea,0x8e,0xae, 0xe6,0xc7,0x7f,0x74, 0x0d,0x3a,0x4c,0x8c,
+ 0xd0,0xca,0xcb,0xe1, 0x03,0x78,0xfc,0x39, 0x01,0x5d,0x97,0x54, 0xa0,0xde,0xd1,0x1d,
+ 0x5a,0x1f,0xde,0xe9, 0x59,0x4b,0xf0,0x65, 0x61,0x69,0x36,0xf6, 0x6e,0x94,0x99,0x19,
+ 0x61,0x41,0xfb,0x1a, 0x87,0x30,0xa3,0xb1, 0x5b,0x55,0x97,0x81, 0x33,0x4e,0x4a,0x9e,
+ 0x58,0x33,0x1d,0x9d, 0x5a,0x83,0xcc,0x27, 0x44,0x63,0xde,0x47, 0x60,0x43,0xbb,0x7d,
+ 0xa5,0x62,0xca,0x4d, 0x50,0xc0,0xa5,0xa8, 0x23,0x80,0x86,0x65, 0xa1,0x5b,0x1e,0xb1,
+ 0xa7,0x1d,0x1e,0xe7, 0x55,0x9e,0xb5,0x36, 0x44,0x4f,0x10,0x84, 0xa9,0x18,0x1a,0x6d,
+ 0xd3,0xb8,0xd4,0x1a, 0x34,0x38,0x95,0x6a, 0xb7,0x40,0x83,0x48, 0x23,0x38,0xe6,0x06,
+ 0x8d,0xb8,0x8a,0xcb, 0x8d,0xf8,0xd1,0xb6, 0x9f,0xaa,0x44,0x56, 0x87,0xc3,0xb6,0x09,
+ 0x0e,0xe8,0x55,0xa8, 0xec,0xc9,0xd1,0x41, 0xd3,0x2e,0x7e,0x76, 0xeb,0xc7,0x04,0x6f,
+ 0x3c,0x91,0x1e,0x6b, 0x46,0x97,0x56,0xcf, 0xff,0x4a,0xbe,0xc3, 0x3a,0x9d,0x89,0xfe,
+ 0x77,0x95,0xc6,0xaf, 0xbc,0x71,0xca,0x0e, 0x3a,0x25,0xbb,0x99, 0xfc,0x36,0x48,0xfe,
+ 0x06,0x00,0x25,0x22, 0x60,0x0a,0x23,0xf6, 0x9f,0x66,0x1f,0x50, 0x76,0x44,0xf5,0x06,
+ 0x8e,0xee,0xe7,0x3c, 0xac,0x30,0xcc,0xac, 0x33,0x58,0xe5,0xe1, 0xa2,0x93,0x27,0xe0,
+ 0x02,0x55,0x7d,0xd0, 0x34,0xc9,0x87,0x52, 0xb8,0xf9,0x0a,0x3b, 0xe5,0x68,0x63,0xf1,
+ 0x94,0xd6,0x6e,0x06, 0x64,0xd3,0x2b,0x05, 0x98,0x25,0x4e,0xf6, 0x9c,0xf1,0xb2,0xb9,
+ 0x96,0x6c,0x08,0x68, 0x0a,0x1b,0x26,0x59, 0x2e,0xb1,0xab,0xfb, 0x8a,0xef,0x9c,0x2d,
+ 0x67,0x0d,0x9e,0x86, 0x37,0x1f,0x21,0x96, 0xeb,0xde,0x50,0x03, 0x80,0xb1,0x37,0xed,
+ 0xfb,0xbc,0x16,0xe2, 0x3f,0xd8,0xbe,0xfb, 0xce,0x56,0x69,0xc1, 0x91,0xaa,0xab,0x0a,
+ 0xd2,0x29,0x00,0x4a, 0x36,0x3b,0x15,0x50, 0xc7,0x22,0x9e,0x3d, 0x27,0x1e,0x93,0x63,
+ 0x5a,0x6d,0xb2,0x9d, 0x2d,0xf3,0x26,0x3d, 0x59,0x19,0xd5,0xa6, 0x54,0x67,0x79,0xb9,
+ 0x6a,0x7b,0x54,0x4c, 0x59,0x7e,0x7a,0xbe, 0x59,0x78,0xf6,0xab, 0x51,0x65,0xc1,0x6b,
+ 0x91,0xdf,0xec,0xb0, 0x32,0x1a,0xf8,0x8d, 0x2b,0x13,0x97,0x56, 0x5f,0x88,0x5a,0xde,
+ 0x54,0x43,0x1a,0x77, 0x75,0xb1,0x29,0xad, 0x44,0x90,0xe3,0x09, 0x09,0xaf,0x21,0x5e,
+ 0xb5,0x38,0x43,0xd0, 0x08,0x2f,0x30,0x03, 0x40,0x25,0xa4,0xd9, 0x27,0x77,0xa2,0x46,
+ 0xdc,0xd4,0x8c,0x37, 0xef,0x87,0x89,0x99, 0xcb,0x57,0x06,0x03, 0x65,0x42,0xf2,0x2f,
+ 0xfc,0x8e,0x05,0x1c, 0x4a,0x35,0xfc,0x10, 0x9e,0x87,0xbf,0x84, 0x74,0x66,0x6c,0x7d,
+ 0x75,0x55,0x18,0x25, 0xec,0xe1,0xa4,0x9e, 0x1a,0xae,0xef,0x7b, 0x27,0x51,0x27,0x73,
+ 0x23,0x48,0x5d,0x2b, 0xc2,0x54,0x7f,0x2b, 0xc4,0xbd,0x71,0x36, 0x6b,0xe0,0xc1,0xd9,
+ 0x0f,0x05,0x2e,0x46, 0x40,0x44,0xa0,0x4a, 0xe5,0xc7,0xa1,0xfd, 0x3a,0x16,0x30,0x3f,
+ 0x49,0xca,0x6a,0x0d, 0x1c,0x00,0x94,0x9e, 0xd8,0x7a,0xcc,0x26, 0x92,0xd5,0x20,0x04,
+ 0xc9,0xea,0x82,0xa4, 0xae,0xfd,0xe7,0xd4, 0x07,0x87,0x35,0x46, 0x7e,0xf7,0x32,0x18,
+ 0x52,0xc0,0x66,0x2b, 0x29,0x72,0xfc,0xc7, 0x6d,0x31,0x26,0xc2, 0x81,0x8c,0x2a,0x5e,
+ 0x61,0xff,0x40,0xde, 0x9b,0xa5,0xcb,0x34, 0xa6,0x64,0xae,0x5b, 0xff,0xff,0xf3,0xce,
+ 0x5b,0x44,
+ // 0x7992 = 31122 data bytes ( 6%)
};
static CompressManager_t lecode4_bin_mgr
diff --git a/project/src/lib-analyze.c b/project/src/lib-analyze.c
index 6271524..de87cca 100644
--- a/project/src/lib-analyze.c
+++ b/project/src/lib-analyze.c
@@ -261,6 +261,12 @@ void AnalyzeSZS
stgi->speed_mod = as->speed_mod;
}
+ as->ctid_list = GetCtIdByList(as->sha1_szs);
+ #if 0 // test only SHA1 of unmodified file
+ if ( !as->ctid_list && strcmp(as->sha1_szs,as->sha1_szs_norm) )
+ as->ctid_list = GetCtIdByList(as->sha1_szs_norm);
+ #endif
+
CheckFinishLine(&kmp,&as->kmp_finish);
CheckWarnKMP(&kmp,&as->used_pos);
szs->warn_bits |= kmp.warn_bits;
@@ -384,6 +390,11 @@ void AnalyzeSZS
ct_dest = StringCopyE(ct_dest,ct_end,",aiparam");
}
+ if ( szs->have.szs[HAVESZS_LICENSE] > HFM_NONE )
+ {
+ ct_dest = StringCopyE(ct_dest,ct_end,",license");
+ }
+
//--- scan KCL
@@ -472,6 +483,10 @@ void AnalyzeSZS
if (szs->warn_bits)
ct_dest = StringCat2E(ct_dest,ct_end,",warn=",GetWarnSZSNames(szs->warn_bits,'+'));
+ const uint ctid = as->ctid_list ? as->ctid_list : as->ctid_attrib;
+ if (ctid)
+ ct_dest = snprintfE(ct_dest,ct_end,",id=%05u",ctid);
+
szs->have.valid = true;
as->have = szs->have;
as->valid_track = valid_track;
@@ -480,6 +495,51 @@ void AnalyzeSZS
///////////////////////////////////////////////////////////////////////////////
+uint GetCtIdByList ( sha1_hex_t sha1 )
+{
+ if ( strlen(sha1) != 40 || !opt_id_list )
+ return 0;
+
+ char search[42];
+ StringCat2S(search,sizeof(search),sha1,"|");
+
+ static char prev_search[42] = "";
+ static uint prev_id = 0;
+
+ if (!strcmp(search,prev_search))
+ {
+ PRINT0("search=%s, prev=%u\n",search,prev_id);
+ return prev_id;
+ }
+
+ PRINT0("search=%s\n",search);
+ strcpy(prev_search,search);
+ prev_id = 0;
+
+ FILE *f = fopen(opt_id_list,"r");
+ if (!f)
+ {
+ ERROR1(ERR_CANT_OPEN,"Can't open id-list: %s\n",opt_id_list);
+ opt_id_list = 0;
+ return 0;
+ }
+
+ while (fgets(iobuf,sizeof(iobuf)-1,f))
+ {
+ if (!memcmp(iobuf,search,41))
+ {
+ prev_id = strtoul(iobuf+41,0,10);
+ PRINT0("... found=%u\n",prev_id);
+ break;
+ }
+ }
+
+ fclose(f);
+ return prev_id;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
enumError ExecAnalyzeSZS ( analyze_param_t *ap )
{
DASSERT(ap);
@@ -510,20 +570,23 @@ enumError ExecAnalyzeSZS ( analyze_param_t *ap )
ccp sep = strchr(ptr,',');
if (!sep)
sep = end;
- switch ( sep-ptr )
- {
- case 4:
+ if (!memcmp(ptr,"id=",3))
+ as.ctid_attrib = strtoul(ptr+3,0,10);
+ else
+ switch ( sep-ptr )
+ {
+ case 4:
if (!memcmp(ptr,"edit",4)) szs->have.attrib |= 1 << HAVEATT_EDIT;
break;
- case 5:
+ case 5:
if (!memcmp(ptr,"cheat",5)) szs->have.attrib |= 1 << HAVEATT_CHEAT;
break;
- case 7:
+ case 7:
if (!memcmp(ptr,"reverse",7)) szs->have.attrib |= 1 << HAVEATT_REVERSE;
break;
- }
+ }
ptr = sep + 1;
}
}
@@ -586,6 +649,7 @@ enumError ExecAnalyzeSZS ( analyze_param_t *ap )
"lex_features=\"%s\"\n"
"warn=\"%u=%s\"\n"
"have_common=%d\n"
+ "ct_id=\"%u %u %u\"\n"
"ct_attributes=\"%s\"\n"
"name_attributes=\"%.*s\"\n"
@@ -645,6 +709,8 @@ enumError ExecAnalyzeSZS ( analyze_param_t *ap )
,CreateFeatureInfoLEX(szs->have.lex_feat,true,"")
,szs->warn_bits,GetWarnSZSNames(szs->warn_bits,' ')
,as.have_common
+ ,as.ctid_list ? as.ctid_list : as.ctid_attrib
+ ,as.ctid_list,as.ctid_attrib
,as.ct_attrib+1
,name_attrib_len,name_attrib
);
diff --git a/project/src/lib-analyze.h b/project/src/lib-analyze.h
index be68514..236bad3 100644
--- a/project/src/lib-analyze.h
+++ b/project/src/lib-analyze.h
@@ -98,13 +98,15 @@ typedef struct analyze_szs_t
sha1_hex_t sha1_vrcorn; // SHA1 of vrcorn
sha1_hex_t sha1_minimap; // SHA1 of minimap
- //--- slots of orgiginal tracks: 0:none, 11.84:track 111..125:arena
+
+ //--- slots of original tracks: 0:none, 11..84:versus 111..125:arena
u8 sha1_kmp_slot;
u8 sha1_kmp_norm_slot;
u8 sha1_kcl_slot;
u8 sha1_minimap_slot;
+
//--- sub files
lex_info_t lexinfo; // LEX info
@@ -115,6 +117,12 @@ typedef struct analyze_szs_t
szs_have_t have; // complete have status, copy of szs_file_t::have
+ //--- ct id
+
+ uint ctid_list; // id by --id-list
+ uint ctid_attrib; // id by attribute
+
+
//--- more stats
int ckpt0_count; // number of LC in CKPT, -1 unknown
@@ -144,6 +152,8 @@ void AnalyzeSZS
ccp fname // NULL or fname for slot analysis
);
+uint GetCtIdByList ( sha1_hex_t sha1 );
+
//
///////////////////////////////////////////////////////////////////////////////
/////////////// exec analyze ///////////////
diff --git a/project/src/lib-ctcode.c b/project/src/lib-ctcode.c
index aabc4b5..5d92737 100644
--- a/project/src/lib-ctcode.c
+++ b/project/src/lib-ctcode.c
@@ -774,6 +774,7 @@ void ResetDataCTCODE ( ctcode_t * ctcode, bool create_empty )
}
else if (!ctcode->used_slot[tidx])
{
+// [[%04x-]]
snprintf(namebuf,sizeof(namebuf),"Slot %u = 0x%03x",tidx,tidx);
SetName16(td->tname,namebuf);
snprintf(namebuf,sizeof(namebuf),"slot_%02x",tidx);
@@ -2021,14 +2022,15 @@ static enumError ScanRTL_Track
const int tidx = td - ctcode->crs->data;
if (ctcode->replace_at)
{
+// [[%04x+]]
+ snprintf(buf,sizeof(buf),lecode_04x ? "%04X" : "%03X",tidx);
+
PRINT(">>> REPLACE: %s\n",track_string);
- snprintf(buf,sizeof(buf),"%03X",tidx);
track_string = ReplaceName(track_string,"@SLOT@",buf);
track_string = ReplaceName(track_string,"@@","@");
PRINT(">>> REPLACED: %s\n",track_string);
PRINT(">>> REPLACE: %s\n",track_xstring);
- snprintf(buf,sizeof(buf),"%03X",tidx);
track_xstring = ReplaceName(track_xstring,"@SLOT@",buf);
track_xstring = ReplaceName(track_xstring,"@@","@");
PRINT(">>> REPLACED: %s\n",track_xstring);
@@ -2050,7 +2052,8 @@ static enumError ScanRTL_Track
if (!*fname)
{
if (ctcode->use_lecode)
- snprintf(fname,sizeof(fname),"%03x",tidx);
+// [[%04x+]]
+ snprintf(fname,sizeof(fname),lecode_04x?"%04x":"%03x",tidx);
else
snprintf(fname,sizeof(fname),"slot_%02x",tidx);
}
@@ -2992,7 +2995,8 @@ enumError ScanLEBinCTCODE
td->music_id = htonl(*music);
td->property_id = htonl(*prop);
*ct_flags = *flags;
- snprintf(td->filename,sizeof(td->filename),"%03x",tidx);
+// [[%04x+]]
+ snprintf(td->filename,sizeof(td->filename),lecode_04x?"%04x":"%03x",tidx);
}
}
ctcode->n_tracks = max_tidx+1;
diff --git a/project/src/lib-file.c b/project/src/lib-file.c
index 2e193f5..18d26c1 100644
--- a/project/src/lib-file.c
+++ b/project/src/lib-file.c
@@ -118,6 +118,19 @@ void SetSource ( ccp source )
///////////////////////////////////////////////////////////////////////////////
+void SetIdList ( ccp source )
+{
+ #ifdef __CYGWIN__
+ opt_id_list = IsWindowsDriveSpec(source)
+ ? AllocNormalizedFilenameCygwin(source,false)
+ : source;
+ #else
+ opt_id_list = source;
+ #endif
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
void SetReference ( ccp source )
{
#ifdef __CYGWIN__
@@ -888,9 +901,11 @@ file_format_t GetByMagicFF
case LE_REFERENCE_MAGIC8_NUM: return FF_LEREF;
case LE_STRINGS_MAGIC8_NUM: return FF_LESTR;
case LE_SHA1REF_MAGIC8_NUM: return FF_SHA1REF;
+ case LE_SHA1ID_MAGIC8_NUM: return FF_SHA1ID;
case LE_PREFIX_MAGIC8_NUM: return FF_PREFIX;
case LE_MTCAT_MAGIC8_NUM: return FF_MTCAT;
case LE_CT_SHA1_MAGIC8_NUM: return FF_CT_SHA1;
+ case USELTA_MAGIC_NUM: return FF_USE_LTA;
case LTA_MAGIC_NUM: return FF_LTA;
}
}
@@ -910,6 +925,8 @@ file_format_t GetByMagicFF
case KRT_TEXT_MAGIC_NUM: return FF_KRT_TXT;
case KRM_TEXT_MAGIC_NUM: return FF_KRM_TXT;
+ case GCTTXT_MAGIC_NUM: return FF_GCT_TXT;
+
case YAZ0_MAGIC_NUM: return FF_YAZ0;
case YAZ1_MAGIC_NUM: return FF_YAZ1;
case XYZ0_MAGIC_NUM: return FF_XYZ;
@@ -1786,7 +1803,7 @@ int disable_patch_on_load = 0; // if >0: disable patching after loading
static const KeywordTab_t opt_patch_tab[] =
{
- { 0, "CLEAR", "RESET", PFILE_M_ALL | PFILE_F_HIDE },
+ { 0, "NONE", "CLEAR", PFILE_M_ALL | PFILE_F_HIDE },
{ PFILE_M_DEFAULT, "DEFAULT", 0, PFILE_M_ALL | PFILE_F_HIDE },
{ PFILE_M_ALL, "ALL", 0, PFILE_M_ALL | PFILE_F_HIDE },
{ PFILE_F_LOG, "LOG", 0, 0 },
@@ -1811,7 +1828,7 @@ static const KeywordTab_t opt_patch_tab[] =
///////////////////////////////////////////////////////////////////////////////
-int ScanOptPatchFile ( ccp arg )
+int ScanOptPatchFiles ( ccp arg )
{
if (!arg)
return 0;
@@ -2614,6 +2631,13 @@ bool IsByMagicBRSUB ( const void * data, uint data_size )
///////////////////////////////////////////////////////////////////////////////
+bool CanBeTrackFF ( file_format_t ff )
+{
+ return (uint)ff < FF_N && FileTypeTab[ff].attrib & FFT_TRACK;
+}
+
+//-----------------------------------------------------------------------------
+
bool IsArchiveFF ( file_format_t ff )
{
return (uint)ff < FF_N && FileTypeTab[ff].attrib & FFT_ARCHIVE;
@@ -2704,15 +2728,15 @@ file_format_t GetCompressedFF ( file_format_t ff )
void SetCompressionFF
(
- file_format_t ff_arch, // if >0: set 'opt_fform'
- file_format_t ff_compr // if >0: set 'fform_compr'
+ file_format_t ff_arch, // if >=0: set 'opt_fform'
+ file_format_t ff_compr // if >=0: set 'fform_compr'
// and 'fform_compr_force'
)
{
- if ( ff_arch > 0 )
+ if ( ff_arch >= 0 )
opt_fform = ff_arch;
- if ( ff_compr > 0 )
+ if ( ff_compr >= 0 )
fform_compr = fform_compr_force = ff_compr;
}
@@ -4256,7 +4280,7 @@ const mkw_prefix_t * GetPrefixTable(void)
///////////////////////////////////////////////////////////////////////////////
-const mkw_prefix_t * FindPrefix ( ccp pre, int pre_len, bool exact )
+const mkw_prefix_t * FindPrefix ( ccp pre, int pre_len )
{
if ( !pre || !*pre )
return 0;
@@ -4277,32 +4301,46 @@ const mkw_prefix_t * FindPrefix ( ccp pre, int pre_len, bool exact )
if (!tab)
return 0;
- for ( int i = 0; i < 2; i++ )
+ int beg = 0;
+ int end = current_prefix_tab_len - 1;
+ while ( beg <= end )
{
- int beg = 0;
- int end = current_prefix_tab_len - 1;
- while ( beg <= end )
- {
- const uint idx = (beg+end)/2;
- const mkw_prefix_t *p = tab + idx;
- const int stat = strcmp(pre,p->prefix);
- if ( stat < 0 )
- end = idx - 1 ;
- else if ( stat > 0 )
- beg = idx + 1;
- else
- return p;
- }
+ const uint idx = (beg+end)/2;
+ const mkw_prefix_t *p = tab + idx;
+ const int stat = strcmp(pre,p->prefix);
+ if ( stat < 0 )
+ end = idx - 1 ;
+ else if ( stat > 0 )
+ beg = idx + 1;
+ else
+ return p;
+ }
+ return 0;
+}
- if ( exact || i )
- return 0;
+///////////////////////////////////////////////////////////////////////////////
- StringUpperS(pbuf,sizeof(pbuf),pre);
- if (!strcmp(pbuf,pre))
- return 0;
- pre = pbuf;
+const mkw_prefix_t * GetPrefix ( ccp name, int name_len )
+{
+ if (!name)
+ return 0;
+
+ if ( name_len < 0 )
+ name_len = strlen(name);
+
+ ccp p1 = memchr(name,' ',name_len);
+ if (!p1)
+ return 0;
+
+ ccp p2 = memchr(p1+1,' ',name+name_len-p1-1);
+ if (p2)
+ {
+ const mkw_prefix_t *res = FindPrefix(name,p2-name);
+ if (res)
+ return res;
}
- return 0;
+
+ return FindPrefix(name,p1-name);
}
///////////////////////////////////////////////////////////////////////////////
@@ -5279,47 +5317,39 @@ void AnalyseSPF
//--- game prefix
+// [[mtcat]]
spf->game_order = 999999;
- p1 = memchr(name,' ',nlen);
- if (p1)
+ const mkw_prefix_t *pre1 = GetPrefix(name,nlen);
+ if (pre1)
{
- const mkw_prefix_t *pre1 = FindPrefix(name,p1-name,true);
-// [[mtcat]]
- if (pre1)
- {
- spf->game1.ptr = name;
- spf->game1.len = p1 - name;
- spf->game = spf->game1;
- spf->game1_color = pre1->color;
- spf->game_order = 1000 * pre1->order;
- int add_game = 998;
- name = p1+1;
- nlen = end - name;
+ spf->game1.ptr = name;
+ spf->game1.len = strlen(pre1->prefix);
+ spf->game = spf->game1;
+ spf->game1_color = pre1->color;
+ spf->game_order = 1000 * pre1->order;
+ int add_game = 998;
+ name += strlen(pre1->prefix) + 1;
+ nlen = end - name;
- if ( pre1->flags & MPF_PREFIX1 )
+ if ( pre1->flags & MPF_PREFIX1 )
+ {
+ const mkw_prefix_t *pre2 = GetPrefix(name,nlen);
+ if ( pre2 && pre2->flags & MPF_PREFIX2 )
{
- p1 = memchr(name,' ',nlen);
- if (p1)
- {
- const mkw_prefix_t *pre2 = FindPrefix(name,p1-name,true);
- if ( pre2 && pre2->flags & MPF_PREFIX2 )
- {
- spf->game2.ptr = name;
- spf->game2.len = p1 - name;
- spf->game.len += spf->game2.len + 1;
- spf->game2_color = pre2->color;
- name = p1+1;
- nlen = end - name;
- add_game = 2*pre2->order;
- }
- }
+ spf->game2.ptr = name;
+ spf->game2.len = strlen(pre2->prefix);
+ spf->game.len += spf->game2.len + 1;
+ spf->game2_color = pre2->color;
+ name += strlen(pre1->prefix) + 1;
+ nlen = end - name;
+ add_game = 2*pre2->order;
}
- spf->game_order += add_game;
- if (spf->boost.len)
- spf->game_order++;
}
+ spf->game_order += add_game;
+ if (spf->boost.len)
+ spf->game_order++;
}
-
+
//--- finally we have the pure name
diff --git a/project/src/lib-image.h b/project/src/lib-image.h
index 11ea17f..a5d7faa 100644
--- a/project/src/lib-image.h
+++ b/project/src/lib-image.h
@@ -1019,6 +1019,7 @@ uint MedianCut
///////////////////////////////////////////////////////////////////////////////
/////////////// TPL support ///////////////
///////////////////////////////////////////////////////////////////////////////
+// [[tpl_header_t]]
#define TPL_MAGIC_NUM 0x0020AF30
@@ -1031,6 +1032,7 @@ typedef struct tpl_header_t
__attribute__ ((packed)) tpl_header_t;
///////////////////////////////////////////////////////////////////////////////
+// [[tpl_imgtab_t]]
typedef struct tpl_imgtab_t
{
@@ -1040,6 +1042,7 @@ typedef struct tpl_imgtab_t
__attribute__ ((packed)) tpl_imgtab_t;
///////////////////////////////////////////////////////////////////////////////
+// [[tpl_pal_header_t]]
typedef struct tpl_pal_header_t
{
@@ -1051,6 +1054,7 @@ typedef struct tpl_pal_header_t
__attribute__ ((packed)) tpl_pal_header_t;
///////////////////////////////////////////////////////////////////////////////
+// [[tpl_img_header_t]]
typedef struct tpl_img_header_t
{
diff --git a/project/src/lib-image3.c b/project/src/lib-image3.c
index d7aca93..b3782c9 100644
--- a/project/src/lib-image3.c
+++ b/project/src/lib-image3.c
@@ -1646,21 +1646,21 @@ void PrintImageHead
{
if ( long_count > 1 )
printf( "\n"
- "%*sfile image mip width image attributes(Gray,Alpha,Palette)\n"
- "%*stype type map height size ^ block file path\n"
- "%*s%.79s\n",
+ "%*sfile image mip width image attributes(Gray,Alpha,Palette)\n"
+ "%*stype type map height size ^ block file path\n"
+ "%*s%.99s\n",
line_indent,"", line_indent,"", line_indent,"", Minus300 );
else if ( long_count )
printf( "\n"
- "%*sfile image mip width image\n"
- "%*stype type map height size file path\n"
- "%*s%.79s\n",
+ "%*sfile image mip width image\n"
+ "%*stype type map height size file path\n"
+ "%*s%.99s\n",
line_indent,"", line_indent,"", line_indent,"", Minus300 );
else
printf( "\n"
"%*sfile image mip\n"
"%*stype type map file path\n"
- "%*s%.79s\n",
+ "%*s%.99s\n",
line_indent,"", line_indent,"", line_indent,"", Minus300 );
}
@@ -1735,7 +1735,7 @@ int PrintImage
else
wcol = hcol = "";
- printf(" %s%4u%s*%s%-4u%s %7u",
+ printf(" %s%4u%s*%s%-4u%s %8u",
wcol, img.width, *wcol ? TermTextModeReset : "",
hcol, img.height, *hcol ? TermTextModeReset : "",
img.xwidth * img.xheight * geo->bits_per_pixel / 8 );
diff --git a/project/src/lib-kcl.c b/project/src/lib-kcl.c
index 6d9b534..91ecf76 100644
--- a/project/src/lib-kcl.c
+++ b/project/src/lib-kcl.c
@@ -3947,7 +3947,7 @@ enumError ScanRawKCL
KCL_ACTION_LOG(kcl,"ScanRawKCL() %s\n",kcl->fname);
kcl->fform = FF_KCL;
- if (!ka.order_ok)
+ if ( !ka.order_ok && ErrorLogEnabled() )
ERROR0(ERR_WARNING,
"KCL: Unusual section order: %d\n",ka.order_value);
@@ -4158,8 +4158,10 @@ enumError ScanKCL
default:
ClearKCL(kcl,init_kcl);
- return ERROR0(ERR_INVALID_DATA,
- "No KCL or OBJ file: %s\n", kcl->fname ? kcl->fname : "?");
+ if ( ErrorLogEnabled() )
+ ERROR0(ERR_INVALID_DATA,
+ "No KCL or OBJ file: %s\n", kcl->fname ? kcl->fname : "?");
+ return ERR_INVALID_DATA;
}
kcl->fform = fform;
const bool rm_octree = kcl->octree_valid && KCL_MODE & KCLMD_NEW;
diff --git a/project/src/lib-kmp.c b/project/src/lib-kmp.c
index 03576be..93df251 100644
--- a/project/src/lib-kmp.c
+++ b/project/src/lib-kmp.c
@@ -2042,7 +2042,7 @@ void InitializeKMP ( kmp_t * kmp )
memset(kmp,0,sizeof(*kmp));
kmp->fname = EmptyString;
- kmp->nowarn_format = verbose <= -3;
+ kmp->nowarn_format = ErrorLogDisabled();
uint sect;
for ( sect = 0; sect < KMP_N_SECT; sect++ )
@@ -2428,7 +2428,7 @@ static const void * get_kmp_pointer
uint max = ( (u8*)data + data_size - elem ) / kmp_entry_size[sect];
if ( n > max )
{
- if ( verbose >= -2 )
+ if ( ErrorLogEnabled() )
ERROR0(ERR_WARNING,
"Number of [%s] entries exceed file size (%u>%u): %s\n",
kmp_section_name[sect].name1, n, max, kmp->fname );
@@ -2468,7 +2468,7 @@ static uint test_unknown_sections
const bool is_shrinked = hi.n_sect < KMP_N_SECT;
if (res_shrinked)
*res_shrinked = is_shrinked;
- if ( is_shrinked )
+ if ( is_shrinked && ErrorLogEnabled() )
ERROR0(ERR_WARNING,
"KMP: Is shrinked => some sections missed, some moved: %s\n",
fname );
@@ -3013,8 +3013,10 @@ enumError ScanKMP
default:
if (init_kmp)
InitializeKMP(kmp);
- return ERROR0(ERR_INVALID_DATA,
- "No KMP file: %s\n", kmp->fname ? kmp->fname : "?");
+ if ( ErrorLogEnabled() )
+ ERROR0(ERR_INVALID_DATA,
+ "No KMP file: %s\n", kmp->fname ? kmp->fname : "?");
+ return ERR_INVALID_DATA;
}
PRINT("BATTLE-MODE: %d [opt=%d,isa=%d]\n",
diff --git a/project/src/lib-lecode.c b/project/src/lib-lecode.c
index 0c91ed8..de4fb20 100644
--- a/project/src/lib-lecode.c
+++ b/project/src/lib-lecode.c
@@ -79,7 +79,7 @@ ccp GetLecodeSupportWarning ( const le_analyze_t *ana )
DASSERT(ana);
return !( ana->valid & LE_HEAD_VALID )
? "LE-CODE file header is invalid"
- : GetEncodedVersion() < ana->szs_required
+ : GetNumericVersion() < ana->szs_required
? PrintCircBuf("SZS Tools v%s or younger required",DecodeVersion(ana->szs_required))
: IsLecodeSupported(ana->valid)
? 0
@@ -120,6 +120,7 @@ int ScanOptTrackSource ( ccp arg, int arg_len, int mode )
&& !FindParamField(&opt_track_source,path)
)
{
+// [[%04x-]]
PRINT("APPEND TRACK_SOURCE: 0x%03x %s\n",mode,path);
if (!opt_track_source.field)
InitializeParamField(&opt_track_source);
@@ -1351,6 +1352,7 @@ static void NormalizeLPAR ( le_lpar_t * lp, int build )
lp->block_textures = lp->block_textures > 0;
lp->staticr_points = lp->staticr_points > 0;
lp->developer_modes = lp->developer_modes > 0;
+ lp->slot_04x = lp->slot_04x > 0;
if ( build >= 37 )
{
@@ -1484,6 +1486,8 @@ static void CopyLPAR2Data ( le_analyze_t * ana )
if ( offsetof(le_binpar_v1_t,cup_icon_size) < ana->param_size )
h->cup_icon_size = lp->cup_icon_size;
+ if ( offsetof(le_binpar_v1_t,slot_04x) < ana->param_size )
+ h->slot_04x = lp->slot_04x;
// [[new-lpar]]
}
@@ -1648,6 +1652,7 @@ enumError WriteSectionLPAR
,lpar->min_online_sec ,PrintHMS(0,0,lpar->min_online_sec,LE_VIEW_ONLINE_HMS," # ",0)
,lpar->max_online_sec ,PrintHMS(0,0,lpar->max_online_sec,LE_VIEW_ONLINE_HMS," # ",0)
,lpar->cup_icon_size
+ ,lpar->slot_04x
,lpar->developer_modes
,lpar->dev_mode1
,lpar->dev_mode2
@@ -1682,6 +1687,7 @@ enumError WriteSectionLPAR
"MIN-ONLINE-SEC = %3u%s\r\n"
"MAX-ONLINE-SEC = %3u%s\r\n"
"CUP-ICON-SIZE = %u\r\n"
+ "SLOT-04X = %u\r\n"
"\r\n"
"DEVELOPER-MODES = %u\r\n" // always last 4 settings
"DEV-MODE1 = %u\r\n"
@@ -1710,6 +1716,7 @@ enumError WriteSectionLPAR
,lpar->min_online_sec ,PrintHMS(0,0,lpar->min_online_sec,LE_VIEW_ONLINE_HMS," # ",0)
,lpar->max_online_sec ,PrintHMS(0,0,lpar->max_online_sec,LE_VIEW_ONLINE_HMS," # ",0)
,lpar->cup_icon_size
+ ,lpar->slot_04x
,lpar->developer_modes
,lpar->dev_mode1
,lpar->dev_mode2
@@ -2020,7 +2027,7 @@ enumError AnalyzeLEBinary
break;
}
- if ( GetEncodedVersion() >= ana->szs_required )
+ if ( GetNumericVersion() >= ana->szs_required )
ana->valid |= LE_HEAD_VERSION;
snprintf(ana->identifier,sizeof(ana->identifier),
@@ -2163,11 +2170,6 @@ enumError AnalyzeLEBinary
ana->lpar.drag_blue_shell = p->drag_blue_shell;
ana->lpar.thcloud_frames = ntohs(p->thcloud_frames);
}
-// else
-// {
-// ana->lpar.drag_blue_shell = 1;
-// ana->lpar.thcloud_frames = 300;
-// }
if ( param_size >= sizeof(le_binpar_v1_269_t) )
{
@@ -2208,6 +2210,12 @@ enumError AnalyzeLEBinary
ana->lpar.cup_icon_size = p->cup_icon_size;
}
+ if ( param_size >= sizeof(le_binpar_v1_277_t) )
+ {
+ le_binpar_v1_277_t *p = (le_binpar_v1_277_t*)(data+off_param);
+ ana->lpar.slot_04x = p->slot_04x;
+ }
+
// [[new-lpar]]
break;
@@ -2713,6 +2721,7 @@ static le_cup_track_t * DumpLECup
if (warnings)
*warnings = 0;
+ ccp format = ana->n_slot < 0x1000 ? " %s%3x%s%s" : " %s%4x%s%s";
uint tr;
for ( tr = 0; tr < n_track; tr++ )
{
@@ -2725,7 +2734,7 @@ static le_cup_track_t * DumpLECup
default: highlight = IsMkwSpecial(tid); break;
}
- fprintf(f," %s%3x%s%s",
+ fprintf(f,format,
highlight ? col->info : "",
tid,
highlight ? col->reset : "",
@@ -2819,6 +2828,8 @@ static void DumpLETracks
//--- battle cups
+ ccp format_cup = ana->n_cup_arena < 100 && ana->n_cup_track < 1000 ? "%*sCup %3u:" : "%*sCup %4u:";
+
if ( ana->n_cup_arena && ana->cup_arena )
{
fprintf(f,"\n%*s%s" "%u cup%s with %u battle arenas:%s\n",
@@ -2832,7 +2843,7 @@ static void DumpLETracks
{
if ( cp[0] || cp[1] || cp[2] || cp[3] || cp[4] )
{
- fprintf(f,"%*s" "Cup %3u:",indent,"",cup);
+ fprintf(f,format_cup,indent,"",cup);
uint warnings;
DumpLECup(f,ana,cp,5,col,CHECK_ARENA,&warnings,done);
if (warnings)
@@ -2865,7 +2876,7 @@ static void DumpLETracks
{
if ( cp[0] || cp[1] || cp[2] || cp[3] )
{
- fprintf(f,"%*s" "Cup %3u:",indent,"",cup);
+ fprintf(f,format_cup,indent,"",cup);
uint warnings;
DumpLECup(f,ana,cp,4,col,CHECK_TRACK,&warnings,done);
if (warnings)
@@ -3066,8 +3077,9 @@ static void DumpLEUsageMap
{
if (!(slot&63))
{
- fprintf(f,"%s\n%*s%3x: ",col->reset,indent,"",slot);
- prev_col = 0;
+ fprintf(f,"%s\n%*s",col->reset,indent,"");
+ fprintf(f, max_view < 0x1000 ? "%3x: " : "%4x: ", slot );
+ prev_col = 0;
}
else if (!(slot&7))
fputc(' ',f);
@@ -3239,7 +3251,7 @@ void DumpLEAnalyse ( FILE *f, uint indent, const le_analyze_t *ana )
if (ana->szs_required)
{
- const bool valid = GetEncodedVersion() >= ana->szs_required;
+ const bool valid = GetNumericVersion() >= ana->szs_required;
fprintf(f,
"%*s" "Required SZS: v%-*s (%s%s%s)\n"
,indent,""
@@ -3251,7 +3263,7 @@ void DumpLEAnalyse ( FILE *f, uint indent, const le_analyze_t *ana )
if (ana->szs_recommended)
{
- const bool valid = GetEncodedVersion() >= ana->szs_recommended;
+ const bool valid = GetNumericVersion() >= ana->szs_recommended;
fprintf(f,
"%*s" "Recommended SZS: v%-*s (%s%s%s)\n"
,indent,""
@@ -3279,14 +3291,20 @@ void DumpLEAnalyse ( FILE *f, uint indent, const le_analyze_t *ana )
{
const le_binary_param_t *h = ana->param;
DASSERT(h);
+ const uint lpar_size = ntohl(h->size);
fprintf(f,
"%*s%s" "Parameters (magic: %.4s):%s\n"
"%*s" "LPAR Version: %u\n"
"%*s" "LPAR size: %x/hex = %u bytes\n"
,indent-2,"", col.heading, h->magic, col.reset
,indent,"", ntohl(h->version)
- ,indent,"", ntohl(h->size), ntohl(h->size)
+ ,indent,"", lpar_size, lpar_size
);
+
+ if ( sizeof(le_binpar_v1_t) < lpar_size )
+ fprintf(f,"%*s" " Supported size: %s%zx/hex = %zu bytes Warning!%s\n",
+ indent,"", col.warn,
+ sizeof(le_binpar_v1_t), sizeof(le_binpar_v1_t), col.reset );
}
switch (ana->param_vers)
@@ -3414,6 +3432,10 @@ void DumpLEAnalyse ( FILE *f, uint indent, const le_analyze_t *ana )
fprintf(f,"%*s" "Cup image size: %u x %u pixels\n"
,indent,"", h->cup_icon_size, h->cup_icon_size );
+ if ( ana->param_size >= sizeof(le_binpar_v1_277_t) )
+ fprintf(f,"%*s" "Slot format: %u = \"%%0%ux\"\n"
+ ,indent,"", h->slot_04x, h->slot_04x ? 4 : 3 );
+
// [[new-lpar]]
#if 0 // for later use
@@ -3559,17 +3581,27 @@ void DumpLEAnalyse ( FILE *f, uint indent, const le_analyze_t *ana )
);
if ( ana->course_par )
+ {
fprintf(f,
"%*s" "Course magic: %s\n"
"%*s" "Total track slots: %4u / %4u%s\n"
- "%*s" "Used racing slots: %4u / %4u\n"
- "%*s" "Used battle slots: %4u / %4u\n"
,indent,"", ana->course_par->magic
,indent,"", ana->n_slot, ana->max_slot,
ana->n_slot > ana->max_slot ? fail : ""
+ );
+
+ if ( LE_CODE_MAX_TRACKS < ana->max_slot )
+ fprintf(f,
+ "%*s" " Supported slots:%s%12u Warning!%s\n",
+ indent,"", col.warn, LE_CODE_MAX_TRACKS, col.reset );
+
+ fprintf(f,
+ "%*s" "Used racing slots: %4u / %4u\n"
+ "%*s" "Used battle slots: %4u / %4u\n"
,indent,"", ana->used_rslots, ana->max_rslots
,indent,"", ana->used_bslots, ana->max_bslots
);
+ }
}
if ( long_count > 0 )
@@ -3631,13 +3663,17 @@ void TransferTrackFile
struct stat st;
if ( !stat(src,&st) && S_ISREG(st.st_mode) )
{
- snprintf(dest,sizeof(dest),"%s/%03x.szs",opt_track_dest,dest_slot);
+// [[%04x+]]
+ ccp format = lecode_04x ? "%s/%04x.szs" : "%s/%03x.szs";
+ snprintf(dest,sizeof(dest),format,opt_track_dest,dest_slot);
if (!TransferFile(log,dest,src,ptr->num|flags,0666))
{
PathCatBufPPE(src,sizeof(src),ptr->key,src_name,"_d.szs");
if ( !stat(src,&st) && S_ISREG(st.st_mode) )
{
- snprintf(dest,sizeof(dest),"%s/%03x_d.szs",opt_track_dest,dest_slot);
+// [[%04x+]]
+ ccp format = lecode_04x ? "%s/%04x_d.szs" : "%s/%03x_d.szs";
+ snprintf(dest,sizeof(dest),format,opt_track_dest,dest_slot);
TransferFile(log,dest,src,ptr->num|flags,0666);
}
}
@@ -3661,13 +3697,17 @@ void TransferTrackBySlot
flags &= TFMD_M_FLAGS;
char dest[PATH_MAX], src[PATH_MAX];
- snprintf( dest, sizeof(dest), "%s/%03x.szs", opt_track_dest, dest_slot );
- snprintf( src, sizeof(src), "%s/%03x.szs", opt_track_dest, src_slot );
+// [[%04x+]] x2
+ ccp format = lecode_04x ? "%s/%04x.szs" : "%s/%03x.szs";
+ snprintf( dest, sizeof(dest), format, opt_track_dest, dest_slot );
+ snprintf( src, sizeof(src), format, opt_track_dest, src_slot );
if (!TransferFile(log,dest,src,TFMD_LINK|flags,0666))
{
- snprintf( dest, sizeof(dest), "%s/%03x_d.szs", opt_track_dest, dest_slot );
- snprintf( src, sizeof(src), "%s/%03x_d.szs", opt_track_dest, src_slot );
+// [[%04x+]] x2
+ ccp format = lecode_04x ? "%s/%04x_d.szs" : "%s/%03x_d.szs";
+ snprintf( dest, sizeof(dest), format, opt_track_dest, dest_slot );
+ snprintf( src, sizeof(src), format, opt_track_dest, src_slot );
TransferFile(log,dest,src,TFMD_LINK|flags,0666);
}
}
@@ -4100,7 +4140,7 @@ enumError PatchLECODE ( le_analyze_t * ana )
if ( ana->header_vers >= 5 && memcmp(ana->data,saved,ana->data_size) )
{
le_binary_head_v5_t *h5 = (le_binary_head_v5_t*)ana->data;
- h5->edit_version = htonl(GetEncodedVersion());
+ h5->edit_version = htonl(GetNumericVersion());
h5->edit_time = htonl(GetTimeSec(false));
}
@@ -4124,15 +4164,12 @@ static enumError ScanTextLPAR_PARAM
DASSERT(si);
PRINT(">> ScanTextLPAR_PARAM(pass=%u)\n",is_pass2+1);
-
//--- setup data
- DEFINE_VAR(use_avail_txt);
- int limit_mode = -1;
-
+ lpar->new_limit_mode = -1;
const ScanParam_t ptab[] =
{
- { "LIMIT-MODE", SPM_INT, &limit_mode },
+ { "LIMIT-MODE", SPM_INT, &lpar->new_limit_mode },
{ "DEVELOPER-MODES", SPM_U8, &lpar->developer_modes },
{ "DEV-MODE1", SPM_U8, &lpar->dev_mode1 },
{ "DEV-MODE2", SPM_U8, &lpar->dev_mode2 },
@@ -4160,12 +4197,14 @@ static enumError ScanTextLPAR_PARAM
{ "MIN-ONLINE-SEC", SPM_U16, &lpar->min_online_sec },
{ "MAX-ONLINE-SEC", SPM_U16, &lpar->max_online_sec },
{ "CUP-ICON-SIZE", SPM_U8, &lpar->cup_icon_size },
+ { "SLOT-04X", SPM_U8, &lpar->slot_04x },
// [[new-lpar]]
- { "USE-AVAIL-TXT", SPM_VAR, &use_avail_txt }, // [[obsolete]] 2023-09
{0}
};
+ DefineScanParamList(&si->gvar,"LPAR$",ptab);
+
//--- main loop
@@ -4175,19 +4214,15 @@ static enumError ScanTextLPAR_PARAM
if ( !ch || ch == '[' )
break;
- ScanParamSI(si,ptab);
+ ScanParamDefSI(si,ptab,&si->gvar,"LPAR$");
}
CheckLevelSI(si);
- if ( !si->no_warn && use_avail_txt.mode != VAR_UNSET )
- ERROR0(ERR_WARNING,
- "Don't use deprecated LPAR setting USE-AVAIL-TXT: %s",
- si->cur_file->name);
- FreeV(&use_avail_txt);
-
- if ( limit_mode >= 0 )
- LimitToLparMode(lpar,limit_mode);
-
+ if ( lpar->new_limit_mode >= 0 )
+ {
+ lpar->limit_mode = lpar->new_limit_mode;
+ LimitToLparMode(lpar,lpar->limit_mode);
+ }
return ERR_OK;
}
diff --git a/project/src/lib-lecode.h b/project/src/lib-lecode.h
index f231b85..abe5398 100644
--- a/project/src/lib-lecode.h
+++ b/project/src/lib-lecode.h
@@ -316,6 +316,7 @@ u_sec_t GetRefTimeLECODE ( mem_t lecode );
typedef struct le_lpar_t
{
lpar_mode_t limit_mode; // limit of other params
+ lpar_mode_t new_limit_mode; // scan helper
u16 thcloud_frames; // number of frames a player is small after thundercloud hit
u16 default_online_sec; // default time limit in seconds
@@ -345,7 +346,8 @@ typedef struct le_lpar_t
u8 block_textures; // >0: enable blocking of recent texture hacks
u8 staticr_points; // >0: use points definied by StaticR.rel
u8 use_avail_txt; // unused: // >0: use file "avail.txt" to detect dir "Race/Common/###/"
- u8 cup_icon_size; // size of single cup icon, usually 128 (128x128)
+ u8 cup_icon_size; // size of single cup icon, usually 128 (128x128)
+ u8 slot_04x; // format of slots: 0:%03x, 1:%04x
u8 debug_mode; // debug mode
u8 debug_predef[LEDEB__N_CONFIG];
@@ -1235,9 +1237,115 @@ __attribute__ ((packed)) le_binpar_v1_276_t;
_Static_assert(sizeof(le_binpar_v1_276_t)==0x276,"le_binpar_v1_276_t");
//-----------------------------------------------------------------------------
+// [[le_binpar_v1_277_t]]
+
+typedef struct le_binpar_v1_277_t
+{
+ //--- le_binary_param_t
+
+ /*000*/ char magic[8]; // LE_PARAM_MAGIC ("LPAR")
+ /*008*/ u32 version; // always 1 for v1
+ /*00c*/ u32 size; // size (and minor version)
+ /*010*/ u32 off_eod; // offset of end-of-data
+
+ //--- le_binpar_v1_35_t
+
+ /*014*/ u32 off_cup_par; // offset to cup param
+ /*018*/ u32 off_cup_track; // offset of cup-track list
+ /*01c*/ u32 off_cup_arena; // offset of cup-arena list
+ /*020*/ u32 off_course_par; // offset of course param
+ /*024*/ u32 off_property; // offset of property list
+ /*028*/ u32 off_music; // offset of music list
+ /*02c*/ u32 off_flags; // offset of flags
+
+ /*030*/ u8 engine[3]; // 100cc, 150cc, mirror (sum always 100)
+ /*033*/ u8 enable_200cc; // TRUE: 200C enabled => 150cc, 200cc, mirror
+ /*034*/ u8 enable_perfmon; // >0: performance monitor enabled; >1: for dolphin too
+
+ //--- le_binpar_v1_37_t
+
+ /*035*/ u8 enable_custom_tt; // TRUE: time trial for cusotm tracks enabled
+ /*036*/ u8 enable_xpflags; // TRUE: extended presence flags enabled
+
+ //--- le_binpar_v1_f8_t
+
+ /*037*/ u8 block_track; // block used track for 0.. tracks
+ /*038*/ u16 chat_mode_1[BMG_N_CHAT]; // mode for each chat message
+
+ //--- le_binpar_v1_1b8_t
+
+ /*0f8*/ u16 chat_mode_2[BMG_N_CHAT]; // mode for each chat message
+
+ //--- le_binpar_v1_1bc_t
+
+ /*1b8*/ u8 enable_speedo; // speedometer selection (0..2), see SPEEDO_*
+ /*1b9*/ u8 no_speedo_if_debug; // if bit is set: suppress speedometer
+ /*1ba*/ u8 debug_mode; // debug mode (0..), see DEBUGMD_*
+
+ //--- le_binpar_v1_260_t
+
+ /*1bb*/ u8 item_cheat; // 0:disabled, 1:enabled
+
+ /*1bc*/ u8 debug_predef[LEDEB__N_CONFIG];
+ // information about used predefined mode
+ /*1c0*/ u32 debug[LEDEB__N_CONFIG][LEDEB__N_LINE];
+ // debug line settings, see LEDEB_*
+
+ //--- le_binpar_v1_264_t
+
+ /*260*/ u8 cheat_mode; // 0:off, 1:debug only, 2:allow all
+ /*261*/ u8 drag_blue_shell; // >0: allow dragging of blue shell
+ /*262*/ u16 thcloud_frames; // number of frames a player is small after thundercloud hit
+
+ //--- le_binpar_v1_269_t
+
+ /*264*/ u8 bt_worldwide; // >0: enable worldwide battles
+ /*265*/ u8 vs_worldwide; // >0: enable worldwide versus races
+ /*266*/ u8 bt_textures; // &1: enable texture hacks for battles, &2:alternable
+ /*267*/ u8 vs_textures; // &1: enable texture hacks for versus, &2:alternable
+ /*268*/ u8 block_textures; // >0: enable blocking of recent texture hacks
+
+ //--- le_binpar_v1_26a_t
+
+ /*269*/ u8 staticr_points; // >0: use points definied by StaticR.rel
+
+ //--- le_binpar_v1_270_t
+
+ /*26a*/ u16 default_online_sec; // default time limit in seconds
+ /*26c*/ u16 min_online_sec; // minimal time limit in seconds, that can be set by LEX:SET1
+ /*26e*/ u16 max_online_sec; // maximal time limit in seconds, that can be set by LEX:SET1
+
+ //--- le_binpar_v1_274_t
+
+ /*270*/ u8 developer_modes; // >0: developer settings are recognized and accepted.
+ /*271*/ u8 dev_mode1; // First developer mode
+ /*272*/ u8 dev_mode2; // Second developer mode
+ /*273*/ u8 dev_mode3; // Third developer mode
+
+ //--- le_binpar_v1_275_t
+ // not longer used
+ /*274*/ u8 use_avail_txt; // >0: use file "avail.txt" to detect dir "Race/Common/###/"
+
+ //--- le_binpar_v1_276_t
+
+ /*275*/ u8 cup_icon_size; // Size of single cup icon, usually 128 (128x128)
+
+ //--- le_binpar_v1_277_t
+
+ /*276*/ u8 slot_04x; // format of slots: 0:%03x, 1:%04x
+
+ //--- END
+
+ /*277*/
+}
+__attribute__ ((packed)) le_binpar_v1_277_t;
+
+_Static_assert(sizeof(le_binpar_v1_277_t)==0x277,"le_binpar_v1_277_t");
+
+//-----------------------------------------------------------------------------
// [[le_binpar_v1_t]] [[new-lpar]]
-typedef struct le_binpar_v1_276_t le_binpar_v1_t;
+typedef struct le_binpar_v1_277_t le_binpar_v1_t;
//
///////////////////////////////////////////////////////////////////////////////
diff --git a/project/src/lib-ledis.c b/project/src/lib-ledis.c
index 1a1145b..6939a77 100644
--- a/project/src/lib-ledis.c
+++ b/project/src/lib-ledis.c
@@ -226,6 +226,15 @@ static KeywordTab_t keywords_leo[] =
{ LEO_BRIEF, "BRIEF", 0, 0 },
{ LEO_AUTO_PATH, "AUTO-PATH", "AUTOPATH", 0 },
+ { LEO_PROGRESS0, "PR0", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS1, "PR1", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS2, "PR2", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS5, "PR5", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS10, "PR10", "PROGRESS", LEO_M_PROGRESS },
+ { LEO_PROGRESS20, "PR20", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS30, "PR30", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS60, "PR60", 0, LEO_M_PROGRESS },
+
{ LEO_HELP, "HELP", "H", 0 },
{ LEO_CUT_ALL, "CUT-ALL", "CUTALL", 0 },
@@ -255,12 +264,29 @@ le_options_t ScanLEO ( le_options_t current, ccp arg, ccp err_info )
keywords_leo[0].id = SetupDefaultLEO();
s64 stat = ScanKeywordList(arg,keywords_leo,0,true,0,current,err_info,ERR_SYNTAX);
- PRINT0("ScanLEO(%#05x,%s) => %#05x\n",current,arg,(le_options_t)stat);
+ PRINT0("ScanLEO(%#lx,%s) => %#llx, progress=%lld\n",current,arg,stat,GetProgressMSecLEO(stat));
return stat != -1 ? stat : current;
}
///////////////////////////////////////////////////////////////////////////////
+u_msec_t GetProgressMSecLEO ( le_options_t opt )
+{
+ switch ( (uint)opt & LEO_M_PROGRESS )
+ {
+ case LEO_PROGRESS1: return 1000;
+ case LEO_PROGRESS2: return 2000;
+ case LEO_PROGRESS5: return 5000;
+ case LEO_PROGRESS10: return 10000;
+ case LEO_PROGRESS20: return 20000;
+ case LEO_PROGRESS30: return 30000;
+ case LEO_PROGRESS60: return 60000;
+ }
+ return 0;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
bool IsInputNameValidLEO ( ccp name, le_options_t opt )
{
return !name || !*name
@@ -1520,7 +1546,8 @@ ccp GetPathL2 ( le_distrib_t *ld, const le_track_t *lt, le_options_t opt, ccp re
}
char buf[20];
- snprintf(buf,sizeof(buf),"%03x",lt->track_slot);
+// [[%04x+]]
+ snprintf(buf,sizeof(buf), lecode_04x ? "%04x" : "%03x", lt->track_slot );
TransferMode_t tfer_mode;
ccp found = FindTrackFile(buf,&tfer_mode);
if (found)
@@ -1545,7 +1572,9 @@ ccp GetPathL2 ( le_distrib_t *ld, const le_track_t *lt, le_options_t opt, ccp re
if ( len > 0 && path[len-1] == '/' )
{
char newpath[PATH_MAX];
- snprintf(newpath,sizeof(newpath),"%s%03x.szs",path,lt->track_slot);
+// [[%04x+]]
+ ccp format = lecode_04x ? "%s%04x.szs" : "%s%03x.szs";
+ snprintf(newpath,sizeof(newpath),format,path,lt->track_slot);
SetPathLT((le_track_t*)lt,&par,newpath);
return lt->path;
}
@@ -4010,6 +4039,52 @@ void UpdateCupsLD ( le_distrib_t *ld )
//
///////////////////////////////////////////////////////////////////////////////
+/////////////// le_distrib_t: progress ///////////////
+///////////////////////////////////////////////////////////////////////////////
+
+void ClearProgressLD ( le_distrib_t *ld )
+{
+ DASSERT(ld);
+ ld->show_progress = 0;
+ ld->progress_count = 0;
+ ld->first_progress_msec = ld->last_progress_msec = GetTimerMSec();
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+void SetupProgressLD ( le_distrib_t *ld )
+{
+ DASSERT(ld);
+ ClearProgressLD(ld);
+
+ ld->show_progress = GetProgressMSecLEO(ld->spar.opt);
+ PRINT0("ld.show_progress = %lld\n",ld->show_progress);
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+static void ShowProgressTracksLD ( le_distrib_t *ld, bool force )
+{
+ DASSERT(ld);
+ if ( ld->show_progress > 0 && ld->progress_count > 0 )
+ {
+ const u_msec_t now = GetTimerMSec();
+ if ( now >= ld->last_progress_msec + ld->show_progress
+ || force && now >= ld->last_progress_msec + 1000 )
+ {
+ ld->last_progress_msec = now;
+ fprintf(stdlog,
+ "%s%u file%s scanned in %llu seconds.\n",
+ verbose >= 1 ? " > " : " - ",
+ ld->progress_count, ld->progress_count == 1 ? "" : "s",
+ ( now - ld->first_progress_msec ) / 1000 );
+ fflush(stdlog);
+ }
+ }
+}
+
+//
+///////////////////////////////////////////////////////////////////////////////
/////////////// le_distrib_t: manage archive ///////////////
///////////////////////////////////////////////////////////////////////////////
// [[track-arch]]
@@ -4144,6 +4219,9 @@ enumError AddToArchLD ( le_distrib_t *ld, raw_data_t *raw )
if ( !ld || !raw )
return ERR_MISSING_PARAM;
+ ShowProgressTracksLD(ld,false);
+ ld->progress_count++;
+
char buf[LE_TRACK_STRING_MAX+1], fname_buf[LE_TRACK_STRING_MAX+1];
exmem_dest_t exdest = { .buf = buf, .buf_size = sizeof(buf), .try_circ = true };
@@ -4156,15 +4234,25 @@ enumError AddToArchLD ( le_distrib_t *ld, raw_data_t *raw )
{
if (!spf.f_d.len)
{
- if ( ld->spar.opt & LEO_HEX2SLOT && spf.f_name.len == 3 )
+ if ( ld->spar.opt & LEO_HEX2SLOT && ( spf.f_name.len == 3 || spf.f_name.len == 4 ))
{
const uint slot = str2ul(spf.f_name.ptr,0,16);
+// [[%04x+]]
snprintf(fname_buf,sizeof(fname_buf),"%03x",slot);
if (!strncasecmp(spf.f_name.ptr,fname_buf,3))
{
PRINT0("HEX: %.3s\n",spf.f_name.ptr);
force_slot = slot;
}
+ else
+ {
+ snprintf(fname_buf,sizeof(fname_buf),"%04x",slot);
+ if (!strncasecmp(spf.f_name.ptr,fname_buf,4))
+ {
+ PRINT0("HEX: %.4s\n",spf.f_name.ptr);
+ force_slot = slot;
+ }
+ }
}
if ( ld->spar.opt & LEO_NAME2SLOT )
@@ -4178,7 +4266,7 @@ enumError AddToArchLD ( le_distrib_t *ld, raw_data_t *raw )
}
}
}
-
+
if ( !IsUsableXcodeSlot(force_slot,ld->spar.opt&LEO_CT_SLOTS) )
{
ResetSPF(&spf);
@@ -4563,7 +4651,8 @@ void ImportAnaLD ( le_distrib_t *ld, const le_analyze_t *ana )
if (ana->flags) lt->flags = ana->flags[slot];
char name[30];
- snprintf(name,sizeof(name),"_%03x",slot);
+// [[%04x+]]
+ snprintf(name,sizeof(name), lecode_04x ? "_%04x" : "_%03x", slot );
SetNameLT(lt,0,name);
}
}
@@ -4830,7 +4919,7 @@ enumError ImportRawDataLD
if (!ld->is_initialized)
InitializeLD(ld);
- if ( raw->fform != FF_U8 )
+ if ( raw->fform != FF_U8 && raw->fform != FF_WU8 )
CloseArchLogLD(ld);
if ( logging >= 2 && raw->fname )
@@ -4908,6 +4997,7 @@ enumError ImportRawDataLD
break;
case FF_U8:
+ case FF_WU8:
err = AddToArchLD(ld,raw);
break;
@@ -5001,9 +5091,12 @@ enumError ImportFileLD
struct stat st;
if ( use_wildcard && HaveWildcards(MemByString(fname)) && stat(fname,&st) )
{
+ SetupProgressLD(ld);
PRINT0(" > SEARCH %s\n",fname);
struct search_t param = { .ld = ld };
SearchPaths(fname,0,WM__DEFAULT,search_func,&param);
+ ShowProgressTracksLD(ld,true);
+ ClearProgressLD(ld);
return param.count
? param.max_err
: ERROR0(ERR_CANT_OPEN,"File not found: %s\n",fname);
@@ -7985,22 +8078,53 @@ enumError CreateDistribLD ( FILE *f, le_distrib_t *ld, bool use_xname )
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
+static void progress_lta ( lta_manager_t *lm, bool force )
+{
+ DASSERT(lm);
+ if ( lm->show_progress > 0 && lm->base_slot >= 0 )
+ {
+ const u_msec_t now = GetTimerMSec();
+ if ( now >= lm->last_log_msec + lm->show_progress
+ || force && now >= lm->last_log_msec + 1000 )
+ {
+ lm->last_log_msec = now;
+ fprintf(stdlog,
+ "%s%u node%s with %u track%s processed in %llu seconds.\n",
+ verbose >= 1 ? " > " : " - ",
+ lm->progress_nodes, lm->progress_nodes == 1 ? "" : "s",
+ lm->progress_tracks, lm->progress_tracks == 1 ? "" : "s",
+ ( now - lm->start_msec ) / 1000 );
+ fflush(stdlog);
+ }
+ }
+}
+
+//-----------------------------------------------------------------------------
+
static enumError close_lta ( lta_manager_t *lm )
{
enumError err = ERR_OK;
+
if ( lm->base_slot >= 0 && lm->F.f )
{
- const int n_slots = lm->last_slot + 1 - lm->base_slot;
- const uint node_size = ALIGN32( n_slots * sizeof(lta_node_t), opt_align_lta );
+ progress_lta(lm,true);
+
+ const int n_slots = lm->last_slot + 1 - lm->base_slot;
+ const uint node_size = ALIGN32( n_slots * sizeof(lta_node_t), opt_align_lta );
+ const uint ext_off = lm->data_offset + node_size;
+ const uint ext_size = lm->append_ext ? GetFastBufLen(&lm->ext) : 0;
+ const uint file_size = ALIGN32( ext_off + ext_size, opt_align_lta );
lta_header_t head =
{
.magic = hton64(LTA_MAGIC_NUM),
.version = htonl(LTA_VERSION),
.head_size = htonl(sizeof(lta_header_t)),
- .file_size = htonl(lm->data_offset+node_size),
+ .file_size = htonl(file_size),
.node_off = htonl(lm->data_offset),
.node_size = htonl(sizeof(lta_node_t)),
+ .ext_off = htonl(ext_off),
+ .ext_size = htonl(ext_size),
.base_slot = htonl(lm->base_slot),
.n_slots = htonl(n_slots),
};
@@ -8010,7 +8134,19 @@ static enumError close_lta ( lta_manager_t *lm )
WriteFileAt(&lm->F,&lm->current_offset,lm->data_offset,lm->node,node_size);
lm->data_offset += node_size;
- SetFileSize(&lm->F,&lm->current_offset,lm->data_offset);
+ if (ext_size)
+ {
+ WriteFileAt(&lm->F,&lm->current_offset,ext_off,lm->ext.buf,ext_size);
+ lm->data_offset = ext_off + ext_size;
+ }
+
+ const int fill_size = file_size - lm->current_offset;
+ if ( fill_size > 0 )
+ {
+ memset(lm->node,0,sizeof(lm->node)); // use as temporary buffer
+ WriteFileAt(&lm->F,&lm->current_offset,lm->current_offset,lm->node,fill_size);
+ }
+ SetFileSize(&lm->F,&lm->current_offset,file_size);
if ( verbose >= 0 )
{
@@ -8045,6 +8181,7 @@ static enumError close_lta ( lta_manager_t *lm )
//--- reset data
+ ResetFastBuf(&lm->ext);
ResetFile(&lm->F,0);
ResetEML(&lm->stored_szs);
ResetEML(&lm->stored_lfl);
@@ -8060,6 +8197,11 @@ static enumError close_lta ( lta_manager_t *lm )
lm->szs_dup_count = 0;
lm->lfl_dup_count = 0;
+ lm->progress_nodes = 0;
+ lm->progress_tracks = 0;
+ lm->start_msec =
+ lm->last_log_msec = GetTimerMSec();
+
memset(lm->node,0,sizeof(lm->node));
return err;
}
@@ -8078,6 +8220,8 @@ static void load_file_lta
DASSERT(rec);
DASSERT(path);
+ progress_lta(lm,false);
+
uint fsize = rec->szs_size;
if (!fsize)
return;
@@ -8092,6 +8236,8 @@ static void load_file_lta
u8 *fdata = lm->buf;
if (!LoadFILE(fname,0,0,fdata,fsize,0,0,false))
{
+ lm->progress_tracks++;
+
if (lm->rm_source)
InsertStringField(&lm->ld->remove_files,fname,false);
@@ -8100,33 +8246,38 @@ static void load_file_lta
PRINT0("data=%d,%zu, cdata=data=%d,%zu, ff=%s\n",
szs.data!=0, szs.size,szs.cdata!=0, szs.csize, GetNameFF_SZS(&szs) );
- if ( lm->force_ff != FF_UNKNOWN )
+ if ( lm->force_ff != FF_UNKNOWN && lm->force_ff != szs.fform_file )
{
- if ( lm->force_ff != szs.fform_file )
+ enumError err = CompressWith(&szs,COMPR_DEFAULT,false,lm->force_ff,FF_UNKNOWN);
+ if ( !err && szs.cdata )
{
- enumError err = CompressWith(&szs,COMPR_DEFAULT,false,lm->force_ff,FF_UNKNOWN);
- if (szs.cdata)
+ fdata = szs.cdata;
+ fsize = szs.csize;
+ if (szs.cache_used)
+ lm->cache_count++;
+ else
{
- fdata = szs.cdata;
- fsize = szs.csize;
- if (szs.cache_used)
- lm->cache_count++;
- else
+ lm->convert_count++;
+ #if 0
+ if ( !err && szs.cache_fname )
{
- lm->convert_count++;
- if ( !err && szs.cache_fname )
- {
- File_t F;
- CreateFile(&F,true,szs.cache_fname,FM_SILENT|FM_REMOVE);
- if (F.f)
- fwrite(fdata,1,fsize,F.f);
- ResetFile(&F,false);
- }
+ File_t F;
+ CreateFile(&F,true,szs.cache_fname,FM_SILENT|FM_REMOVE);
+ if (F.f)
+ fwrite(fdata,1,fsize,F.f);
+ ResetFile(&F,false);
}
+ #endif
}
}
}
+ ccp ext = GetExtFF(szs.fform_file,szs.fform_arch);
+ if (ext)
+ AppendFastBuf(&lm->ext,ext+1,strlen(ext));
+ else
+ AppendFastBuf(&lm->ext,EmptyString,1);
+
if (is_d)
lm->d_count++;
else
@@ -8149,6 +8300,7 @@ static void load_file_lta
WriteFileAt(&lm->F,&lm->current_offset,lm->data_offset,fdata,fsize);
lm->data_offset += ALIGN32(fsize,opt_align_lta);
+ DecodeWU8(&szs);
CollectCommonFilesSZS(&szs,true,SORT_NONE);
CreateLFL(&szs,0,true,true); // sorting is defined here
PRINT0("LFL: %p %zu\n",szs.data,szs.size);
@@ -8193,27 +8345,41 @@ enumError CreateTrackArchivesLD ( le_distrib_t *ld, ccp destdir, mem_t mem_opt )
enum
{
- O_YAZ = 0x01, // force FF_YAZ0 compression
- O_BZ = 0x02, // force FF_BZ compression
- O_BZIP2 = 0x03, // force FF_BZIP2 compression
- O_LZ = 0x04, // force FF_LZ compression
- O_LZMA = 0x05, // force FF_LZMA compression
- O_M_METHOD = 0x07, // mask for above
+ O_YAZ = 0x001, // force FF_YAZ0 compression
+ O_BZ = 0x002, // force FF_BZ compression
+ O_BZIP2 = 0x003, // force FF_BZIP2 compression
+ O_LZ = 0x004, // force FF_LZ compression
+ O_LZMA = 0x005, // force FF_LZMA compression
+ O_M_METHOD = 0x007, // mask for above
- O_RM = 0x08,
+ O_RM = 0x008,
+ O_EXT = 0x010,
+ O_REDIR = 0x020,
- O_ALL = 0x0f,
+ O_ALL = 0x1ff,
O_DEFAULT = 0
};
static const KeywordTab_t keytab[] =
{
- { O_YAZ, "YAZ0", 0, O_M_METHOD },
- { O_BZ, "BZ", 0, O_M_METHOD },
+ { O_YAZ, "YAZ0", "SZS", O_M_METHOD },
+ { O_BZ, "WBZ", "BZ", O_M_METHOD },
{ O_BZIP2, "BZIP2", "BZ2", O_M_METHOD },
- { O_LZ, "LZ", 0, O_M_METHOD },
+ { O_LZ, "WLZ", "LZ", O_M_METHOD },
{ O_LZMA, "LZMA", 0, O_M_METHOD },
{ O_RM, "REMOVE", "RM", 0 },
+ { O_EXT, "EXT", 0, 0 },
+ { O_REDIR, "REDIR", 0, 0 },
+
+ { LEO_PROGRESS0, "PR0", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS1, "PR1", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS2, "PR2", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS5, "PR5", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS10, "PR10", "PROGRESS", LEO_M_PROGRESS },
+ { LEO_PROGRESS20, "PR20", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS30, "PR30", 0, LEO_M_PROGRESS },
+ { LEO_PROGRESS60, "PR60", 0, LEO_M_PROGRESS },
+
{0,0,0,0}
};
@@ -8227,10 +8393,11 @@ enumError CreateTrackArchivesLD ( le_distrib_t *ld, ccp destdir, mem_t mem_opt )
FF_LZMA,
};
- uint opt = 0;
+ uint opt = O_DEFAULT | ( ld->spar.opt & LEO_M_PROGRESS );
+
if (mem_opt.len)
{
- s64 res = ScanKeywordListP(0,mem_opt.ptr,mem_opt.len,O_DEFAULT,keytab);
+ s64 res = ScanKeywordListP(0,mem_opt.ptr,mem_opt.len,opt,keytab);
if ( res < 0 )
return ERR_SYNTAX;
if ( res >= 0 )
@@ -8249,6 +8416,8 @@ enumError CreateTrackArchivesLD ( le_distrib_t *ld, ccp destdir, mem_t mem_opt )
.rm_source = (opt&O_RM) != 0,
.force_ff = ff_tab[opt&O_M_METHOD],
.base_slot = -1,
+ .append_ext = ( opt & O_EXT ) != 0,
+ .show_progress = GetProgressMSecLEO(opt),
};
close_lta(&lm); // initialize more vars
@@ -8283,23 +8452,30 @@ enumError CreateTrackArchivesLD ( le_distrib_t *ld, ccp destdir, mem_t mem_opt )
for ( int slot = 0; slot < lm.distrib_end_slot; slot++ )
{
restart:;
+ lm.progress_nodes++;
le_track_t *lt = GetTrackLD(ld,slot);
if (!IsActiveLT(lt))
+ {
+ cont:
+ AppendFastBuf(&lm.ext,EmptyString,2); // std + _d
continue;
+ }
ccp fname = GetPathL2(ld,lt,ld->spar.opt,0);
if (!fname)
- continue;
+ goto cont;
struct stat st;
if ( stat(fname,&st) || !S_ISREG(st.st_mode) )
- continue;
+ goto cont;
if ( slot >= lm.base_slot + LTA_MAX_NODES )
close_lta(&lm);
if ( lm.base_slot < 0 )
{
+ InitializeFastBufAlloc(&lm.ext,10000);
+
lm.base_slot = slot;
lm.max_slots = lm.distrib_end_slot - lm.base_slot;
if ( lm.max_slots > LTA_MAX_NODES )
@@ -8315,6 +8491,7 @@ enumError CreateTrackArchivesLD ( le_distrib_t *ld, ccp destdir, mem_t mem_opt )
}
const uint saved_data_offset = lm.data_offset;
+ const uint saved_ext_size = GetFastBufLen(&lm.ext);
lta_node_t node = { .std.szs_size = st.st_size };
load_file_lta(&lm,&node.std,fname,false);
@@ -8328,14 +8505,19 @@ enumError CreateTrackArchivesLD ( le_distrib_t *ld, ccp destdir, mem_t mem_opt )
node.d.szs_size = st.st_size;
load_file_lta(&lm,&node.d,path,true);
}
+ else
+ AppendFastBuf(&lm.ext,EmptyString,1);
if (!node.d.szs_off)
node.d = node.std;
const uint node_size = ALIGN32( ( slot - lm.base_slot + 1 ) * sizeof(lta_node_t), opt_align_lta );
- if ( lm.data_offset + node_size > LTA_MAX_SIZE )
+ const uint ext_size = lm.append_ext ? ALIGN32(GetFastBufLen(&lm.ext),opt_align_lta) : 0;
+
+ if ( lm.data_offset + node_size + ext_size> LTA_MAX_SIZE )
{
lm.data_offset = saved_data_offset;
+ SetFastBufLen(&lm.ext,saved_ext_size);
close_lta(&lm);
goto restart;
}
@@ -8344,8 +8526,25 @@ enumError CreateTrackArchivesLD ( le_distrib_t *ld, ccp destdir, mem_t mem_opt )
lm.last_slot = slot;
}
close_lta(&lm);
- FREE(lm.buf);
+
+ //--- create lta.szs
+
+ if ( lm.track_index && opt & O_REDIR )
+ {
+ PathCatBufPPE(path,sizeof(path),lm.destdir,"lta",".szs");
+ File_t F;
+ enumError err = CreateFileOpt(&F,true,path,false,0);
+ if (err)
+ return err;
+ fputs("#USE-LTA\r\n",F.f);
+ CloseFile(&F,0);
+ }
+
+
+ //--- clean
+
+ FREE(lm.buf);
return ERR_OK;
}
diff --git a/project/src/lib-ledis.h b/project/src/lib-ledis.h
index 7a011b6..b3aff82 100644
--- a/project/src/lib-ledis.h
+++ b/project/src/lib-ledis.h
@@ -103,6 +103,9 @@
#define LE_SHA1REF_MAGIC8_NUM 0x2353484131524546ull
#define LE_SHA1REF_VERSION 2
+#define LE_SHA1ID_MAGIC8 "#SHA1ID1"
+#define LE_SHA1ID_MAGIC8_NUM 0x2353484131494431ull
+
#define LE_PREFIX_MAGIC8 "#PREFIX1"
#define LE_PREFIX_MAGIC8_NUM 0x2350524546495831ull
@@ -316,31 +319,42 @@ typedef enum le_options_t
LEO_OUT_DUMMY = 0x00080000, // accept dummy names ("_abc") as valid (default)
LEO_OUT_ALL = LEO_OUT_EMPTY | LEO_OUT_MINUS | LEO_OUT_DUMMY,
+ //-- special signals
- //-- more options
+ LEO_CUT_ALL = 0x00100000, // cut all
+ LEO_CUT_STD = 0x00200000, // cut for standard distribution.
+ LEO_CUT_CTCODE = 0x00400000, // cut for CT-CODE distribution.
+ LEO_M_CUT = LEO_CUT_ALL | LEO_CUT_STD | LEO_CUT_CTCODE,
- LEO_IN_LECODE = 0x00100000, // import lecode binary
- LEO_NO_SLOT = 0x00200000, // suppress 'SLOT <num>' if creating a LE-DEF file.
- LEO_HEX2SLOT = 0x00400000, // if reading an szs of format '%03x.*', use it to force slot
- LEO_NAME2SLOT = 0x00800000, // if reading an szs, use its filename to force number
- LEO_CT_SLOTS = 0x01000000, // LEO_HEX2SLOT,LEO_NAME2SLOT: check for ct-code slots
- LEO_BRIEF = 0x02000000, // suppress descriptions
- LEO_AUTO_PATH = 0x04000000, // enable auto paths
+ //-- more options
+ LEO_PROGRESS0 = 0,
+ LEO_PROGRESS1 = 0x10000000, // progress message approximately every 1 second
+ LEO_PROGRESS2 = 0x20000000, // progress message approximately every 2 seconds
+ LEO_PROGRESS5 = 0x30000000, // progress message approximately every 5 seconds
+ LEO_PROGRESS10 = 0x40000000, // progress message approximately every 10 seconds
+ LEO_PROGRESS20 = 0x50000000, // progress message approximately every 20 seconds
+ LEO_PROGRESS30 = 0x60000000, // progress message approximately every 30 seconds
+ LEO_PROGRESS60 = 0x70000000, // progress message approximately every 60 seconds
+ LEO_M_PROGRESS = 0x70000000, // mask for progress values
+ LEO_S_PROGRESS = 28, // shift value to get 0..7
- //-- special signals
+ //-- more options
- LEO_CUT_ALL = 0x08000000, // cut all
- LEO_CUT_STD = 0x10000000, // cut for standard distribution.
- LEO_CUT_CTCODE = 0x20000000, // cut for CT-CODE distribution.
- LEO_M_CUT = LEO_CUT_ALL | LEO_CUT_STD | LEO_CUT_CTCODE,
+ LEO_IN_LECODE = 0x000100000000ull, // import lecode binary
+ LEO_NO_SLOT = 0x000200000000ull, // suppress 'SLOT <num>' if creating a LE-DEF file.
+ LEO_HEX2SLOT = 0x000400000000ull, // if reading an szs of format '%0[34}x.*', use it to force slot
+ LEO_NAME2SLOT = 0x000800000000ull, // if reading an szs, use its filename to force number
+ LEO_CT_SLOTS = 0x001000000000ull, // LEO_HEX2SLOT,LEO_NAME2SLOT: check for ct-code slots
+ LEO_BRIEF = 0x002000000000ull, // suppress descriptions
+ LEO_AUTO_PATH = 0x004000000000ull, // enable auto paths
- LEO_HELP = 0x40000000, // print help and exit
+ LEO_HELP = 0x008000000000ull, // print help and exit
//-- misc
- LEO__ALL = 0x1fffffff,
+ LEO__ALL = 0x0f7f007fffffull,
LEO__DEFAULT = LTT__DEFAULT | LEO_OVERWRITE | LEO_OUT_DUMMY | LEO_AUTO_PATH,
LEO__SRC = LEO_LTT_SELECTOR | LEO_IN_ALL,
LEO__DEST = LEO_LTT_SELECTOR | LEO_OUT_ALL | LEO_M_OUTPUT | LEO_M_HOW,
@@ -354,6 +368,8 @@ le_options_t SetupDefaultLEO(void);
le_options_t ScanLEO ( le_options_t current, ccp arg, ccp err_info );
+u_msec_t GetProgressMSecLEO ( le_options_t opt );
+
bool IsInputNameValidLEO ( ccp name, le_options_t opt ); // LEO_IN_EMPTY|LEO_IN_MINUS
bool IsOutputNameValidLEO ( ccp name, le_options_t opt ); // LEO_OUT_EMPTY|LEO_OUT_MINUS
@@ -807,6 +823,11 @@ typedef struct le_distrib_t
bool is_pass2; // true on pass2
bool second_ledef; // true: don't clear tracks and cups
+
+ u_msec_t show_progress; // >0: show progress every # msec
+ u_msec_t first_progress_msec; // time of first progress message
+ u_msec_t last_progress_msec; // time of last progress message
+ uint progress_count; // number of processed objects
}
le_distrib_t;
diff --git a/project/src/lib-lex.c b/project/src/lib-lex.c
index 6e416ff..161a731 100644
--- a/project/src/lib-lex.c
+++ b/project/src/lib-lex.c
@@ -127,7 +127,7 @@ static const feature_var_t szs_feature_list[] =
DEF_VAR( 0,HAVESZS_MINIGAME, f_minigame, "File common/minigame.kmg" ),
DEF_VAR( 0,HAVESZS_AIPARAM_BAA, f_aiparam_baa, "File AIParam/AIParam.baa" ),
DEF_VAR( 0,HAVESZS_AIPARAM_BAS, f_aiparam_bas, "File AIParam/AIParam.bas" ),
-
+ //skipped: HAVESZS_LICENSE
{0,0,0,0,0}
};
diff --git a/project/src/lib-numeric.h b/project/src/lib-numeric.h
index 1af5aa2..e3de535 100644
--- a/project/src/lib-numeric.h
+++ b/project/src/lib-numeric.h
@@ -959,8 +959,8 @@ typedef struct Var_t
double3 d3; // double3 value for references
struct
{
- uint str_len; // used length of 'str' (support of NULL bytes)
- uint str_size; // alloced size of 'str', NULL term is not counting!
+ uint str_len; // used length of 'str' (support of \0 bytes)
+ uint str_size; // alloced size of 'str', \0 term is not counting!
char *str; // NULL or string (alloced)
};
@@ -1279,8 +1279,8 @@ typedef struct ScanInfo_t
struct lex_t * lex; // for LEX scanning
struct mdl_t * mdl; // for MDL scanning
struct le_distrib_t * ld; // for LEDEF scanning
-
-} ScanInfo_t;
+}
+ScanInfo_t;
//-----------------------------------------------------------------------------
@@ -1318,8 +1318,8 @@ typedef enum ScanParamMode
SPM_STRING, // result has type char*
SPM_VAR, // result has type Var_t
-
-} ScanParamMode;
+}
+ScanParamMode;
//-----------------------------------------------------------------------------
// [[ScanParam_t]]
@@ -1335,6 +1335,30 @@ typedef struct ScanParam_t
} ScanParam_t;
+//-----------------------------------------------------------------------------
+
+bool GetScanParam
+(
+ Var_t * dest, // store value here
+ bool init, // true: initialize 'dest'
+ const ScanParam_t * sp // NULL or valid record to find value
+);
+
+void DefineScanParam
+(
+ VarMap_t *vm, // valid var list
+ ccp prefix, // NULL or prefix like "LPAR$"
+ const ScanParam_t *sp // valid record
+);
+
+void DefineScanParamList
+(
+ VarMap_t *vm, // valid var list
+ ccp prefix, // NULL or prefix like "LPAR$"
+ const ScanParam_t *sp // NULL or list of parameters
+ // list ends with sp->name==NULL
+);
+
//
///////////////////////////////////////////////////////////////////////////////
/////////////// conversion helpers ///////////////
@@ -1483,6 +1507,15 @@ Var_t * InsertVarMap
//-----------------------------------------------------------------------------
+bool DefineVar
+(
+ VarMap_t * vm, // valid variable map
+ ccp varname, // name of variable
+ Var_t *val // value to assign
+);
+
+//-----------------------------------------------------------------------------
+
bool DefineIntVar
(
VarMap_t * vm, // valid variable map
@@ -1501,9 +1534,18 @@ bool DefineDoubleVar
//-----------------------------------------------------------------------------
+bool DefineStringVar
+(
+ VarMap_t * vm, // valid variable map
+ ccp varname, // name of variable
+ ccp value // value to assign
+);
+
+//-----------------------------------------------------------------------------
+
const Var_t * FindConst
(
- ccp varname // variable name
+ ccp varname // variable name
);
//-----------------------------------------------------------------------------
@@ -2207,6 +2249,17 @@ enumError ScanAssignDoubleSI
//-----------------------------------------------------------------------------
+enumError ScanParamDefSI
+(
+ ScanInfo_t * si, // valid data
+ const ScanParam_t * sp, // NULL or scan parameter
+ // list ends with sp->name==NULL
+ VarMap_t *vm, // not NULL: define variable
+ ccp prefix // NULL or prefix like "LPAR$"
+);
+
+//-----------------------------------------------------------------------------
+
enumError ScanParamSI
(
ScanInfo_t * si, // valid data
diff --git a/project/src/lib-parser-func.c b/project/src/lib-parser-func.c
index 0ec628c..4a07c3c 100644
--- a/project/src/lib-parser-func.c
+++ b/project/src/lib-parser-func.c
@@ -64,9 +64,13 @@ void DefineParserVars ( VarMap_t * vm )
NullVectorD.x = NullVectorD.y = NullVectorD.z = 0.0;
- //--- setup '$NONE'
+ //--- setup süecial
InsertVarMap(vm,"$NONE",false,0,0);
+ DefineStringVar(vm,"TOOL$NAME",tool_name);
+ DefineStringVar(vm,"TOOL$VERSION",BASE_VERSION);
+ //DefineStringVar(vm,"TOOL$XVERSION",VERSION);
+ DefineIntVar(vm,"TOOL$NUMVERSION",GetNumericVersion());
//--- setup integer variables
@@ -96,6 +100,8 @@ void DefineParserVars ( VarMap_t * vm )
{ "TYPE$Y", VAR_Y },
{ "TYPE$Z", VAR_Z },
+ { "TOOL$NUMTIME", BINTIME },
+ //{ "TOOL$REVISION", REVISION_NUM },
{ "REVISION$TOOL", REVISION_NUM },
{ "REVISION$SETUP", REVISION_NUM },
{ "REVISION$ACTIVE", REVISION_NUM },
diff --git a/project/src/lib-parser.c b/project/src/lib-parser.c
index 9e2a920..4214835 100644
--- a/project/src/lib-parser.c
+++ b/project/src/lib-parser.c
@@ -41,6 +41,171 @@
//
///////////////////////////////////////////////////////////////////////////////
+/////////////// ScanParam_t helpers ///////////////
+///////////////////////////////////////////////////////////////////////////////
+
+bool GetScanParam
+(
+ Var_t * dest, // store value here
+ bool init, // true: initialize 'dest'
+ const ScanParam_t * sp // NULL or valid record to find value
+)
+{
+ DASSERT(dest);
+ DASSERT(sp);
+ if (init)
+ InitializeV(dest);
+ else
+ ResetV(dest);
+
+ switch(sp->mode)
+ {
+ case SPM_NONE:
+ break;
+
+ case SPM_BOOL:
+ dest->mode = VAR_INT;
+ dest->i = *((bool*)sp->result);
+ break;
+
+ case SPM_U8:
+ case SPM_S8:
+ dest->mode = VAR_INT;
+ dest->i = *((u8*)sp->result);
+ break;
+
+ case SPM_U16:
+ case SPM_S16:
+ dest->mode = VAR_INT;
+ dest->i = *((u16*)sp->result);
+ break;
+
+ case SPM_U32:
+ case SPM_S32:
+ dest->mode = VAR_INT;
+ dest->i = *((u32*)sp->result);
+ break;
+
+ case SPM_U16_BE:
+ case SPM_S16_BE:
+ dest->mode = VAR_INT;
+ dest->i = ntohs(*((u16*)sp->result));
+ break;
+
+ case SPM_U32_BE:
+ case SPM_S32_BE:
+ dest->mode = VAR_INT;
+ dest->i = ntohl(*((u32*)sp->result));
+ break;
+
+ case SPM_INC:
+ case SPM_INT:
+ case SPM_UINT:
+ dest->mode = VAR_INT;
+ dest->i = *((uint*)sp->result);
+ break;
+
+ case SPM_FLOAT:
+ dest->mode = VAR_DOUBLE;
+ dest->d = *((float*)sp->result);
+ break;
+
+ case SPM_FLOAT_BE:
+ dest->mode = VAR_DOUBLE;
+ dest->d = bef4((float*)sp->result);
+ break;
+
+ case SPM_DOUBLE:
+ dest->mode = VAR_DOUBLE;
+ dest->d = *((double*)sp->result);
+ break;
+
+ case SPM_DOUBLE_X:
+ return false;
+// ((double*)sp->result)[i] = GetXDoubleV(&val);
+// break;
+
+ case SPM_DOUBLE_Y:
+ return false;
+// ((double*)sp->result)[i] = GetYDoubleV(&val);
+// break;
+
+ case SPM_DOUBLE_Z:
+ return false;
+// ((double*)sp->result)[i] = GetZDoubleV(&val);
+// break;
+
+ case SPM_FLOAT3:
+ return false;
+// ((float3*)sp->result)[i] = GetVectorFV(&val);
+// break;
+
+ case SPM_FLOAT3_BE:
+ return false;
+// {
+// float3 src = GetVectorFV(&val);
+// float3 *dest = ((float3*)sp->result)+i;
+// write_bef4(&dest->x,src.x);
+// write_bef4(&dest->y,src.y);
+// write_bef4(&dest->z,src.z);
+// }
+// break;
+
+ case SPM_VAR:
+ return false;
+// AssignVar(((Var_t*)sp->result)+i,&val);
+// break;
+
+ case SPM_STRING:
+ return false;
+// break;
+ }
+
+ return true;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+void DefineScanParam
+(
+ VarMap_t *vm, // valid var list
+ ccp prefix, // NULL or prefix like "LPAR$"
+ const ScanParam_t *sp // valid record
+)
+{
+ if ( vm && sp && sp->name )
+ {
+ DEFINE_VAR(val);
+ if (GetScanParam(&val,false,sp))
+ {
+ char name[VARNAME_SIZE+1];
+ StringCat2S(name,sizeof(name),prefix,sp->name);
+ for ( char *p = name; *p; p++ )
+ if ( *p == '-' )
+ *p = '_';
+ DefineVar(vm,name,&val);
+ }
+ FreeV(&val);
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+void DefineScanParamList
+(
+ VarMap_t *vm, // valid var list
+ ccp prefix, // NULL or prefix like "LPAR$"
+ const ScanParam_t *sp // NULL or list of parameters
+ // list ends with sp->name==NULL
+)
+{
+ if ( vm && sp )
+ while(sp->name)
+ DefineScanParam(vm,prefix,sp++);
+}
+
+//
+///////////////////////////////////////////////////////////////////////////////
/////////////// conversion helpers ///////////////
///////////////////////////////////////////////////////////////////////////////
@@ -1410,6 +1575,26 @@ Var_t * InsertVarMap
///////////////////////////////////////////////////////////////////////////////
+bool DefineVar
+(
+ VarMap_t * vm, // valid variable map
+ ccp varname, // name of variable
+ Var_t *val // value to assign
+)
+{
+ DASSERT(vm);
+ DASSERT(varname);
+ DASSERT(val);
+
+ bool found;
+ Var_t * var = InsertVarMap( vm, varname, false, 0, &found );
+ DASSERT(var);
+ MoveDataV(var,val);
+ return found;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
bool DefineIntVar
(
VarMap_t * vm, // valid variable map
@@ -1452,6 +1637,28 @@ bool DefineDoubleVar
///////////////////////////////////////////////////////////////////////////////
+bool DefineStringVar
+(
+ VarMap_t * vm, // valid variable map
+ ccp varname, // name of variable
+ ccp value // value to assign
+)
+{
+ DASSERT(vm);
+ DASSERT(varname);
+
+ bool found;
+ Var_t * var = InsertVarMap( vm, varname, false, 0, &found );
+ DASSERT(var);
+ FreeV(var);
+ var->mode = VAR_STRING;
+ var->str = value ? STRDUP(value) : (char*)EmptyString;
+ var->str_len = var->str_size = strlen(var->str);
+ return found;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
void PrintV
(
FILE * f, // destination file
@@ -3594,12 +3801,15 @@ enumError ScanAssignDoubleSI
//
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////
-enumError ScanParamSI
+enumError ScanParamDefSI
(
ScanInfo_t * si, // valid data
- const ScanParam_t * sp // NULL or scan parameter
+ const ScanParam_t * sp, // NULL or scan parameter
// list ends with sp->name==NULL
+ VarMap_t *vm, // not NULL: define variable
+ ccp prefix // NULL or prefix like "LPAR$"
)
{
DASSERT(si);
@@ -3670,6 +3880,7 @@ enumError ScanParamSI
*sp->n_result = 0;
CheckEolSI(si);
+ DefineScanParam(vm,prefix,sp);
return ERR_OK;
}
@@ -3677,8 +3888,13 @@ enumError ScanParamSI
sf->ptr++;
if ( sp->mode == SPM_STRING ) // special case: STRING
- return ConcatStringsSI(si,(char**)sp->result,0);
-
+ {
+ const enumError err = ConcatStringsSI(si,(char**)sp->result,0);
+ if (!err)
+ DefineScanParam(vm,prefix,sp);
+ return err;
+ }
+
sf->disable_comma++;
enumError max_err = ERR_OK;
@@ -3800,10 +4016,23 @@ enumError ScanParamSI
sf->disable_comma--;
CheckEolSI(si);
+ DefineScanParam(vm,prefix,sp);
return max_err;
}
///////////////////////////////////////////////////////////////////////////////
+
+enumError ScanParamSI
+(
+ ScanInfo_t * si, // valid data
+ const ScanParam_t * sp // NULL or scan parameter
+ // list ends with sp->name==NULL
+)
+{
+ return ScanParamDefSI(si,sp,0,0);
+}
+
+///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
enumError ScanHexlineSI
diff --git a/project/src/lib-staticr.c b/project/src/lib-staticr.c
index 3864722..8324a27 100644
--- a/project/src/lib-staticr.c
+++ b/project/src/lib-staticr.c
@@ -1521,6 +1521,42 @@ static CompressManager_t lecode_loader_kor_mgr
static const u8 lecode_loader_pal_lzma[] = // lecode-loader-pal.bin
{
+#if 0 // [[test]] [[test-loader]] : Wiimms edits of loading-code/cheat.S
+
+ // decompressed size: 0x218 = 536 bytes
+ 0x00,0x00,0x02,0x18,
+
+ // LZMA.6 compressed data
+ 0x5d,0x00,0x00,0x80, 0x00,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0x00,0x00,0x34,
+ 0x76,0x79,0x08,0xd6, 0x1e,0xd1,0x33,0x8d, 0x56,0x7b,0xa5,0x12, 0x82,0x89,0x76,0xe4,
+ 0x0e,0xe0,0x82,0xa0, 0xd4,0x29,0x9f,0x79, 0x0f,0x17,0xc9,0xa3, 0xb3,0x30,0xf7,0xa2,
+ 0x5a,0xb5,0x1f,0x11, 0x78,0x42,0x4c,0x7a, 0xc7,0xd0,0x5c,0xee, 0x8b,0xa4,0x3e,0xce,
+ 0x12,0x57,0x5f,0x17, 0xc2,0x8a,0x59,0x74, 0xe5,0x70,0x85,0x30, 0xa6,0x3d,0xe1,0xf3,
+ 0x74,0x9a,0x9c,0x35, 0x9f,0x2e,0xb4,0xac, 0x17,0x62,0xef,0xbe, 0x3d,0x7e,0x3a,0x6d,
+ 0xa4,0x50,0x1c,0x55, 0xd1,0x1a,0xee,0x40, 0x3f,0x96,0xe3,0xf7, 0xe1,0x05,0x94,0x70,
+ 0x36,0xc9,0x16,0x7c, 0x6e,0x45,0x38,0x51, 0x92,0x6f,0xe7,0xee, 0x8b,0x47,0x1f,0x94,
+ 0x6d,0x23,0xd1,0x1b, 0x68,0x76,0x9b,0xdb, 0x03,0xa1,0xf4,0x6f, 0xb6,0x51,0x20,0x5b,
+ 0xc7,0xae,0x16,0xc6, 0x02,0x16,0xb9,0x76, 0xad,0x90,0xbb,0x71, 0xca,0x67,0xfd,0x30,
+ 0x9b,0x20,0x99,0xc2, 0x31,0x74,0x1c,0x3a, 0x69,0xf5,0x07,0x2a, 0x00,0xcc,0x03,0xc9,
+ 0xa2,0xd6,0x94,0x48, 0xf5,0xe7,0x16,0x69, 0xd2,0x1b,0xb0,0xf6, 0x92,0xb3,0xc5,0x6d,
+ 0x8a,0xba,0x21,0xd9, 0x37,0x25,0x6c,0x3e, 0x58,0xa1,0x3f,0x26, 0x92,0x32,0x31,0xd8,
+ 0x25,0x5f,0x47,0x63, 0x04,0x95,0xd0,0xa5, 0xdf,0x2d,0x8d,0x9c, 0xd6,0xdb,0xe7,0xe8,
+ 0xff,0xf9,0xed,0x09, 0x3f,0xde,0xce,0xe8, 0x0c,0xcd,0xa8,0xd1, 0x28,0xaf,0x12,0x2a,
+ 0x8b,0xb0,0x2e,0x71, 0x06,0x9c,0x67,0xd0, 0x32,0x46,0x0f,0xc6, 0xc9,0x26,0x80,0xad,
+ 0x26,0x0f,0x68,0x82, 0xd1,0xcb,0x53,0xfd, 0x23,0xb2,0xea,0xfc, 0x0d,0xc3,0x6c,0x99,
+ 0x15,0x3b,0x4d,0x19, 0x0f,0x4e,0x40,0x7b, 0xbf,0xcc,0x6d,0x9d, 0xa7,0x0b,0xb4,0x26,
+ 0x08,0x0f,0x2a,0x45, 0x39,0x5e,0xef,0x94, 0x4c,0xba,0xa6,0x36, 0xa7,0x8d,0x7c,0x91,
+ 0xaa,0x90,0x86,0x1d, 0x59,0xe4,0x65,0x26, 0x90,0x4f,0x52,0x78, 0x71,0x10,0xe6,0xf4,
+ 0x4e,0x34,0x19,0x9e, 0x65,0x52,0xe3,0x7a, 0x45,0xd5,0x68,0xee, 0x30,0x05,0xbe,0xdb,
+ 0x70,0x75,0x2a,0x09, 0x9f,0x50,0xcc,0x48, 0x9a,0xaf,0xba,0x1a, 0x28,0x01,0xa3,0xd8,
+ 0x76,0x15,0xd0,0x21, 0xa9,0xb9,0x6e,0x2b, 0x84,0x44,0xde,0xbc, 0x3b,0x7a,0x7c,0x66,
+ 0xb0,0xec,0xff,0x9e, 0x9b,0x02,0x6f,0xf3, 0xd4,0xcd,0xec,0xb4, 0x2e,0x1e,0xb1,0x87,
+ 0x33,0x5e,0x69,0x8c, 0xb0,0x85,0x77,0xca, 0x4d,0x6a,0x93,0x13, 0xea,0x4c,0xa6,0xf8,
+ 0x68,0xc7,0xb2,0x63, 0x1e,0x69,0xdb,0x5f, 0x3c,0x5c,0x75,0x3c, 0x87,0x85,0xb6,0xa4,
+ 0x37,0x0a,0xa5,0x1d, 0x50,0xb7,0x70,0xe2, 0x93,0x39,0xd0,0x96, 0xf8,0xdf,0x69,0x20,
+ 0xe6,0xc1,0x72,0x98, 0x8f,0xd7,0xb4,0x52, 0x28,0xdf,0xfe,0xc8, 0x75,0x7c,
+ // 0x1be = 446 data bytes (84%)
+#else
// decompressed size: 0x210 = 528 bytes
0x00,0x00,0x02,0x10,
@@ -1554,6 +1590,7 @@ static const u8 lecode_loader_pal_lzma[] = // lecode-loader-pal.bin
0x60,0x60,0x3f,0x60, 0x7e,0xcd,0x46,0x54, 0xd7,0xcf,0x96,0xa0, 0x76,0x1b,0x78,0xf3,
0xf1,0x10,0x66,0xb4, 0x8b,0xd6,0x38,0xc3, 0xcd,0xd2,0xff,0xf9, 0x1e,0xe6,0x2f,
// 0x1bf = 447 data bytes (85%)
+#endif
};
static CompressManager_t lecode_loader_pal_mgr
@@ -5048,8 +5085,12 @@ static bool CleanDol ( staticr_t * str ) // return TRUE if dol data modified.
#define GCT_ADDRESS 0x80001800u
#define GCT_MAX 0x80003000u
+#define GCT_END_CHECK 0x80004000u
#define GCT_MM_BASE (GCT_ADDRESS-sizeof(gch_header_t))
+#define GCT_MOVE_ADDR 0x802c0000u
+#define GCT_MOVE_END 0x80377100u
+
static MemMap_t gct_data_mem = {0}; // memory map of GCT section
static GrowBuffer_t gecko_data = {0};
static GrowBuffer_t wcode_job = {0};
@@ -5556,6 +5597,7 @@ static enumError SetupCodeLoader
}
err = AddSectionHelper2(str,&dseg,data.ptr,dseg.size,fname);
+ str->gct_moved = true;
//--- clean
abort:
@@ -5798,7 +5840,7 @@ static enumError AddSectionHelper
PRINT("N=%d, of=%08x\n",n_sect,off_end);
if ( n_sect > 2
&& seg->addr + cheat_offset < 0x80002ff0
- && off_end >= 0x80003000 && off_end < 0x80004000 )
+ && off_end >= GCT_MAX && off_end < GCT_END_CHECK )
{
#ifdef TEST0
{
@@ -5966,15 +6008,15 @@ static enumError AddSectionHelper
//--- warn if overlapping 0x80003xxx
if ( ch_type != CHT_NONE
- && ( seg->addr < 0x80004000 && off_end > 0x80003000 ))
+ && ( seg->addr < GCT_END_CHECK && off_end > GCT_MAX ))
{
if ( opt_gct_move >= OFFON_AUTO && cheat_offset >= 0x100 )
goto use_loader;
FREE(new_data);
ERROR0(ERR_ERROR,
- "Cheat codes must not overlay 0x80003000..0x80004000: %s\n",
- fname);
+ "Cheat codes must not overlay %#x..%#x: %s\n",
+ GCT_MAX, GCT_END_CHECK, fname);
return ERR_WARNING;
}
@@ -6144,9 +6186,9 @@ static enumError AddCheatCode
gct_data_mem.begin = GCT_ADDRESS;
MemMapItem_t *mi;
mi = InsertMemMap(&gct_data_mem,GCT_ADDRESS,mgr->size-sizeof(gch_header_t));
- StringCopyS(mi->info,sizeof(mi->info),"Code Handler");
+ StringCopyS(mi->info,sizeof(mi->info),"Gecko Code Handler");
mi = InsertMemMap(&gct_data_mem,GCT_MM_BASE+mgr->size,8);
- StringCopyS(mi->info,sizeof(mi->info),"GCT magic");
+ StringCopyS(mi->info,sizeof(mi->info),"GCT header");
if (!use_gct_loader)
{
mi = InsertMemMap(&gct_data_mem,GCT_MAX,0);
@@ -6181,8 +6223,25 @@ static enumError AddCheatCode
MemMapItem_t *mi
= InsertMemMap(&gct_data_mem,GCT_MM_BASE+gecko_data.used,code_size);
- snprintf(mi->info,sizeof(mi->info),
- "%4u line%s of GCT file", code_size/8, code_size == 8 ? "" : "s" );
+ if ( fname && *fname )
+ {
+ const int space = sizeof(mi->info) - 1;
+ ccp fn = fname;
+ while ( strlen(fn) > space )
+ {
+ ccp slash = strchr(fn,'/');
+ if (!slash)
+ break;
+ fn = slash + 1;
+ }
+ if ( strlen(fn) <= space - 6 )
+ StringCat2S(mi->info,sizeof(mi->info),"File: ",fn);
+ else
+ StringCopyS(mi->info,sizeof(mi->info),fn);
+ }
+ else
+ snprintf(mi->info,sizeof(mi->info),
+ "%u line%s of GCT file", code_size/8, code_size == 8 ? "" : "s" );
if ( opt_gct_scan_sep && opt_gct_sep && be32(code_data) != GCT_SEP_NUM1 )
{
@@ -6222,7 +6281,7 @@ enumError AddWCodeFile ( staticr_t *str, ccp fname )
else
err = ERROR0(ERR_WARNING,"Not a GCT file: %s\n",fname);
- if(alloced)
+ if (alloced)
FREE(data);
return err;
}
@@ -6230,11 +6289,88 @@ enumError AddWCodeFile ( staticr_t *str, ccp fname )
///////////////////////////////////////////////////////////////////////////////
#if HAVE_XSRC
- #include "xsrc/x-staticr.c"
+ #include "xsrc/x-staticr.c"
#endif
///////////////////////////////////////////////////////////////////////////////
+static exmem_t ConvertGctToBin
+(
+ // Returns an exmem_t struct.
+ // data.len is 0 on error
+ // Use FreeExMem(&result) to free possible alloced result.
+
+ cvp src, // NULL or source
+ int src_len, // size of 'src'. If -1: Use strlen(src)
+ bool try_circ // use circ-buffer, if result is small enough
+)
+{
+ if (!src)
+ return NullExMem;
+
+ if ( src_len < 0 )
+ src_len = strlen(src);
+ if (!src_len)
+ return NullExMem;
+
+ ccp ptr = src, end_src = ptr+src_len;
+
+ FastBuf_t code;
+ InitializeFastBuf(&code,sizeof(code));
+ AppendFastBuf(&code,"\0\xd0\xc0\xde\0\xd0\xc0\xde",8);
+
+ while ( ptr < end_src )
+ {
+ while ( ptr < end_src && (u8)*ptr <= ' ' )
+ ptr++;
+
+ char *end;
+ const u32 n1 = strtoul(ptr,&end,16);
+ if ( end <= end_src && end == ptr + 8 )
+ {
+ ptr = end;
+ if ( ptr < end_src && *ptr == ' ' )
+ {
+ ptr++;
+ const u32 n2 = strtoul(ptr,&end,16);
+ if ( end <= end_src && end == ptr + 8 )
+ {
+ ptr = end;
+ char *dest = GetSpaceFastBuf(&code,8);
+ write_be32(dest,n1);
+ write_be32(dest+4,n2);
+ }
+ }
+ }
+ while ( ptr < end_src && *ptr != '\n' )
+ ptr++;
+ }
+
+ exmem_t res = {0};
+ const int len = GetFastBufLen(&code);
+ if ( len > 8 )
+ {
+ if ( try_circ && len <= CIRC_BUF_MAX_ALLOC )
+ {
+ res.data.ptr = CopyCircBuf0(code.buf,len);
+ res.is_circ_buf = true;
+ }
+ else
+ {
+ res.data.ptr = MEMDUP(code.buf,len);
+ res.is_alloced = true;
+ }
+ res.data.len = len;
+ }
+ else
+ res = NullExMem;
+
+ ResetFastBuf(&code);
+ return res;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
static uint AddSectionGCH
(
staticr_t *str, // valid pointer
@@ -6258,10 +6394,25 @@ static uint AddSectionGCH
return 0;
- //--- check for GCT
+ //--- check for GCT-TXT
// [[analyse-magic]]
const file_format_t fform = GetByMagicFF(gh_data,gh_size,gh_size);
+ if ( fform == FF_GCT_TXT )
+ {
+ exmem_t exm = ConvertGctToBin(gh_data,gh_size,true);
+ if (exm.data.len)
+ {
+ HexDump16(stdlog,0,0, exm.data.ptr, exm.data.len < 64 ? exm.data.len : 64 );
+ AddCheatCode((u8*)exm.data.ptr,exm.data.len,false,fname);
+ }
+ FreeExMem(&exm);
+ return 0;
+ }
+
+
+ //--- check for GCT
+
if ( fform == FF_GCT )
{
AddCheatCode(gh_data,gh_size,false,fname);
@@ -6368,17 +6519,39 @@ static uint AddSectionsDOL
if (!get_min_addr)
{
// terminate section and add it to dol
- MemMapItem_t *mi = InsertMemMap(&gct_data_mem,GCT_MM_BASE+gecko_data.used,8);
+ u32 gct_end = GCT_MM_BASE+gecko_data.used;
+ MemMapItem_t *mi = InsertMemMap(&gct_data_mem,gct_end,8);
StringCopyS(mi->info,sizeof(mi->info),"GCT terminator");
+ gct_end += 8;
+
+ // insert max usage
+ if ( gct_end < GCT_MAX )
+ {
+ mi = InsertMemMap(&gct_data_mem,gct_end,GCT_MAX-gct_end);
+ StringCopyS(mi->info,sizeof(mi->info),"Unused available memory");
+ }
+ else if ( gct_end > GCT_MAX )
+ {
+ mi = InsertMemMap(&gct_data_mem,GCT_MAX,gct_end-GCT_MAX);
+ StringCopyS(mi->info,sizeof(mi->info),"FAIL: Use of reserved memory");
+ }
+ else
+ {
+ mi = InsertMemMap(&gct_data_mem,GCT_MAX,0);
+ StringCopyS(mi->info,sizeof(mi->info),"Start of unusable memory");
+ }
u64 term = hton64(GCT_TERM_NUM);
InsertGrowBuffer(&gecko_data,&term,sizeof(term));
count += AddSectionGCH(str,gecko_data.ptr,gecko_data.used,"GCT",false);
- if ( verbose > 1 || logging >= 2 )
+ if ( verbose >= 2 || logging >= 2 )
{
- fputs("\n Memory map of code handler and GCT files:\n",stdlog);
- PrintMemMap(&gct_data_mem,stdlog,5,"part");
+ if (str->gct_moved)
+ fputs("\n Memory map of code handler and GCT files before moving data to heap:\n",stdlog);
+ else
+ fputs("\n Memory map of code handler and GCT files:\n",stdlog);
+ PrintMemMap(&gct_data_mem,stdlog,5,"part or source file");
fputc('\n',stdlog);
}
}
@@ -6485,7 +6658,7 @@ static uint CreateSectionDOL
{
sl->data = (u8*)&dh->sect_addr;
if (!sect_addr)
- sect_addr = 0x80004000 - RED_DOL_SIZE;
+ sect_addr = GCT_END_CHECK - RED_DOL_SIZE;
dol_sect_addr = sect_addr;
dol_sect_offset = offset;
}
@@ -7633,7 +7806,7 @@ enumError DumpSTR
{
ccp type = offset & 1 ? "TEXT" : "DATA";
offset &= ~1;
- fprintf(f,"%*s%4u. %s %#9x : %#8x .. %#8x",
+ fprintf(f,"%*s%4u. %s %#10x : %#10x .. %#10x",
indent,"", s, type, size, offset, offset + size );
if (rinfo)
fprintf(f," : %#10x .. %#10x\n",
@@ -7937,7 +8110,6 @@ const data_tab_t maindol_data_tab[] =
DEF_BZIP(codehandler)
DEF_BZIP(codehandleronly)
- #if HAVE_WIIMM_EXT
DEF_COMPRESS(old_lecode_loader_pal)
DEF_COMPRESS(old_lecode_loader_usa)
DEF_COMPRESS(old_lecode_loader_jap)
@@ -7947,7 +8119,6 @@ const data_tab_t maindol_data_tab[] =
DEF_COMPRESS(lecode_loader_usa)
DEF_COMPRESS(lecode_loader_jap)
DEF_COMPRESS(lecode_loader_kor)
- #endif
{0,0,0}
};
diff --git a/project/src/lib-staticr.h b/project/src/lib-staticr.h
index 08c523e..8e49344 100644
--- a/project/src/lib-staticr.h
+++ b/project/src/lib-staticr.h
@@ -283,9 +283,10 @@ typedef struct staticr_t
dol_status_t dol_status; // data status (only DOL files)
ccp dol_info; // NULL or pointer to a dol info
u32 dol_info_flags; // info flags for NAS by WCODE
- bool dol_info_flags_set; // true, if DOF_ORIG already set
+ bool dol_info_flags_set; // TRUE: DOF_ORIG already set
char dol_flags[DPF__N+1]; // flags to patch patched_by
- bool dol_cleaned; // TRUE if DOL was cleaned
+ bool dol_cleaned; // TRUE: DOL was cleaned
+ bool gct_moved; // TRUE: GCT will be moved
//--- analyze data
diff --git a/project/src/lib-std.c b/project/src/lib-std.c
index 50e69c9..73c239f 100644
--- a/project/src/lib-std.c
+++ b/project/src/lib-std.c
@@ -91,6 +91,7 @@ bool use_de = false;
bool ctcode_enabled = false;
bool lecode_enabled = false;
uint opt_ct_mode = 0; // calculated by ctcode_enabled & lecode_enabled
+bool lecode_04x = false;
int testmode = 0;
int force_count = 0;
uint opt_tiny = 0;
@@ -102,6 +103,7 @@ int opt_route_options = 0;
OffOn_t opt_wim0 = OFFON_AUTO;
ccp opt_source = 0;
StringField_t source_list = {0};
+ccp opt_id_list = 0;
ccp opt_reference = 0;
ccp opt_dest = 0;
bool opt_mkdir = false;
@@ -340,7 +342,7 @@ void LogSHA1 ( ccp func, ccp file, uint line, cvp data, uint size, ccp info )
sha1_hex_t hex;
Sha1Bin2Hex(hex,hash);
- fprintf(stderr,"%s %s(), %s @%u : [%u] %s\n",
+ fprintf(stderr,"SHA1: %s %s(), %s @%u : [%u] %s\n",
hex, func, file, line, size, info ? info : "" );
}
}
@@ -837,12 +839,12 @@ char * PrintOptCompatible()
///////////////////////////////////////////////////////////////////////////////
-uint GetEncodedVersion()
+uint GetNumericVersion()
{
- static uint code = 0;
- if (!code)
- code = EncodeVersion(VERSION);
- return code;
+ static uint numeric = 0;
+ if (!numeric)
+ numeric = EncodeVersion(VERSION);
+ return numeric;
}
//
@@ -2621,8 +2623,24 @@ enumError cmd_wildcards ( int argc, char ** argv )
StringField_t plist = {0};
CollectExpandParam(&plist,first_param,-1,WM__DEFAULT);
- for ( int argi = 0; argi < plist.used; argi++ )
- printf("%s\n",plist.field[argi]);
+ if ( script_fform == FF_BASH || script_fform == FF_SH )
+ {
+ const CharMode_t mode = CHMD_UTF8 | CHMD_ESC
+ | ( script_fform == FF_BASH ? CHMD_BASH : CHMD_SH );
+ const char quote = script_fform == FF_BASH ? '$' : '\'';
+ for ( int argi = 0; argi < plist.used; argi++ )
+ {
+ exmem_t esc = EscapeStringEx(plist.field[argi],-1,"","",mode,quote,true);
+ printf("%s\n",esc.data.ptr);
+ FreeExMem(&esc);
+ }
+ }
+ else
+ {
+ for ( int argi = 0; argi < plist.used; argi++ )
+ printf("%s\n",plist.field[argi]);
+ }
+
ResetStringField(&plist);
return ERR_OK;
}
@@ -4161,6 +4179,13 @@ enumError cmd_filetype()
max_len = len;
}
+ #if 0
+ if ( long_count > 2 )
+ printf("\n"
+ "type decomp vers valid file name\n"
+ "%.*s\n", max_len + 40, Minus300 );
+ else
+ #endif
if ( long_count > 1 )
printf("\n"
"type decomp vers valid file name\n"
@@ -4254,6 +4279,7 @@ enumError cmd_filetype()
DecodeBZIP2part(buf2,bufsize,&wr,buf1,bufsize);
fform2 = GetByMagicFF(buf2,wr,wr);
stat2 = GetNameFF(0,fform2);
+ load_full = true;
}
else if ( fform1 == FF_LZ )
{
@@ -4265,7 +4291,6 @@ enumError cmd_filetype()
version = GetVersionFF(ff_temp,wh->first_8,sizeof(wh->first_8),&suffix);
if ( fatt.size >= 20 )
{
-// uint compr = GetComprLevelLZMA(le32(buf1+sizeof(wlz_header_t)+sizeof(u32)+1));
const uint compr = IsLZ(buf1,bufsize);
if ( compr >= 1 && compr <= 9 )
{
@@ -4286,6 +4311,7 @@ enumError cmd_filetype()
DecodeLZMApart(buf2,bufsize,&wr,buf1,bufsize);
fform2 = GetByMagicFF(buf2,wr,wr);
stat2 = GetNameFF(0,fform2);
+ load_full = true;
}
else if ( fform1 == FF_XZ )
{
@@ -4323,7 +4349,14 @@ enumError cmd_filetype()
else
valid = IsValid(buf,written,fatt.size,0,fform2,arg);
}
- printf("%-7s %-7s %7s %-5s %s\n",
+ #if 0
+ if ( long_count > 2 )
+ printf("%-7s %-7s %7s %-5s %s:%s\n",
+ stat1, stat2, vbuf, valid_text[valid],
+ GetNameFF(fform1,fform2), arg );
+ else
+ #endif
+ printf("%-7s %-7s %7s %-5s %s\n",
stat1, stat2, vbuf, valid_text[valid], arg );
}
else
@@ -4470,6 +4503,7 @@ enumError cmd_fileattrib()
{
case FFT_BRSUB|FFT_BRSUB2: info = "bres-sub2"; break;
case FFT_BRSUB: info = "bres-sub"; break;
+ case FFT_TRACK: info = "track"; break;
case FFT_EXTERNAL: info = "external"; break;
default: info = "-"; break;
}
diff --git a/project/src/lib-std.h b/project/src/lib-std.h
index 1f76010..8a199ba 100644
--- a/project/src/lib-std.h
+++ b/project/src/lib-std.h
@@ -88,6 +88,7 @@
#else
#define LOG_SHA1(d,s,i)
#endif
+#define LOG_SHA11(d,s,i) LogSHA1(__FUNCTION__,__FILE__,__LINE__,d,s,i)
void LogSHA1 ( ccp func, ccp file, uint line, cvp data, uint size, ccp info );
@@ -100,6 +101,7 @@ void LogSHA1 ( ccp func, ccp file, uint line, cvp data, uint size, ccp info );
#define CONFIG_FILE "wiimms-szs-tools.conf"
#define SZS_SETUP_FILE "wszst-setup.txt"
#define NODE_LIST_FILE "node-list.bin"
+#define EXT_LIST_FILE "ext-list.bin"
#define CHECK_FILE_SIZE 0x800
#define OPT_PNG_TYPE_CLASS 0x7fef0bff
@@ -173,6 +175,12 @@ static inline void ClosePager() { CloseStdoutToPager(); }
struct InfoUI_t;
void PrintHelpColor ( const struct InfoUI_t * iu );
+extern volatile int verbose;
+static inline bool ErrorLogDisabled()
+ { return verbose <= -3; }
+static inline bool ErrorLogEnabled()
+ { return verbose >= -2; }
+
//
///////////////////////////////////////////////////////////////////////////////
/////////////// compatibility ///////////////
@@ -216,7 +224,7 @@ char * PrintOptCompatible(void); // circ-buf
//-----------------------------------------------------------------------------
-uint GetEncodedVersion(void);
+uint GetNumericVersion(void);
//
///////////////////////////////////////////////////////////////////////////////
@@ -750,6 +758,7 @@ int GetVersionByMagic
bool IsBRSUB ( file_format_t ff );
bool IsByMagicBRSUB ( const void * data, uint data_size );
+bool CanBeTrackFF ( file_format_t ff );
bool IsArchiveFF ( file_format_t ff );
bool IsTextFF ( file_format_t ff );
bool IsGeoHitKartFF ( file_format_t ff );
@@ -763,8 +772,8 @@ file_format_t GetCompressedFF ( file_format_t ff );
void SetCompressionFF
(
- file_format_t ff_arch, // if >0: set 'opt_fform'
- file_format_t ff_compr // if >0: set 'fform_compr'
+ file_format_t ff_arch, // if >=0: set 'opt_fform'
+ file_format_t ff_compr // if >=0: set 'fform_compr'
// and 'fform_compr_force'
);
@@ -1160,9 +1169,9 @@ typedef enum patch_file_t
extern patch_file_t PATCH_FILE_MODE; // = PFILE_M_DEFAULT|PFILE_F_DEFAULT
extern int disable_patch_on_load; // if >0: disable patching after loading
-int ScanOptPatchFile ( ccp arg );
-void SetPatchFileModeReadonly(); // switch to readonly default flags (silent),
- // if not set by user
+int ScanOptPatchFiles ( ccp arg );
+void SetPatchFileModeReadonly(); // switch to readonly default flags (silent),
+ // if not set by user
uint PrintFileClassInfo ( char *buf, uint bufsize, patch_file_t mode );
ccp GetFileClassInfo();
@@ -1782,6 +1791,7 @@ static inline uint GetStrIdxCountMIL ( const MemItem_t * mi )
//-----------------------------------------------------------------------------
void SetSource ( ccp source );
+void SetIdList ( ccp source );
void SetReference ( ccp source );
void SetDest ( ccp dest, bool mkdir );
void CheckOptDest ( ccp default_dest, bool default_mkdir );
@@ -2268,7 +2278,10 @@ struct ScanText_t;
const mkw_prefix_t * ScanPrefixTable ( struct ScanText_t *st );
const mkw_prefix_t * DefinePrefixTable ( cvp source, uint len );
const mkw_prefix_t * GetPrefixTable(void);
-const mkw_prefix_t * FindPrefix ( ccp pre, int pre_len, bool exact );
+
+// use strlen() if pre_len|name_len <0
+const mkw_prefix_t * FindPrefix ( ccp pre, int pre_len );
+const mkw_prefix_t * GetPrefix ( ccp name, int name_len );
// if tab==0: Use GetPrefixTable()
enumError SavePrefixTable ( FILE *f, const mkw_prefix_t * tab );
@@ -2753,7 +2766,7 @@ extern ccp config_path;
extern ccp tool_name;
extern ccp std_share_path;
extern ccp share_path;
-extern volatile int verbose;
+//extern volatile int verbose; // see above
extern volatile int logging;
extern volatile int ext_errors;
extern volatile int log_timing;
@@ -2764,6 +2777,7 @@ extern bool use_de;
extern bool ctcode_enabled;
extern bool lecode_enabled;
extern uint opt_ct_mode; // calculated by ctcode_enabled & lecode_enabled
+extern bool lecode_04x;
extern int testmode;
extern int force_count;
extern uint opt_tiny;
@@ -2775,6 +2789,7 @@ extern int opt_route_options;
extern OffOn_t opt_wim0;
extern ccp opt_source;
extern StringField_t source_list;
+extern ccp opt_id_list;
extern ccp opt_reference;
extern ccp opt_dest;
extern bool opt_mkdir;
diff --git a/project/src/lib-szs-create.c b/project/src/lib-szs-create.c
index 36ea6e8..3f698ec 100644
--- a/project/src/lib-szs-create.c
+++ b/project/src/lib-szs-create.c
@@ -3191,9 +3191,8 @@ bool PatchSZS ( szs_file_t * szs )
{
DASSERT(szs);
CalcHaveSZS(szs);
-
const bool patch_lex = HaveActivePatchLEX();
- #ifdef TEST
+ #if defined(TEST)
static int done = 0;
if (!done++)
{
@@ -4589,6 +4588,7 @@ static int extract_func
szs_file_t subszs;
// [[fname+]]
InitializeSubSZS(&subszs,szs,it->off,it->size,FF_UNKNOWN,local_path,false);
+ FixIteratorExtByFF(it,subszs.fform_file,subszs.fform_arch);
if ( verbose > 1 || testmode && !analyze_fname )
{
diff --git a/project/src/lib-szs-file.h b/project/src/lib-szs-file.h
index 484fd1e..aaf7114 100644
--- a/project/src/lib-szs-file.h
+++ b/project/src/lib-szs-file.h
@@ -70,6 +70,7 @@ typedef enum have_szs_file_t
HAVESZS_MINIGAME, // common/minigame.kmg
HAVESZS_AIPARAM_BAA, // AIParam/AIParam.baa
HAVESZS_AIPARAM_BAS, // AIParam/AIParam.bas
+ HAVESZS_LICENSE, // license.txt, any case
HAVESZS__N
}
__attribute__ ((packed)) have_szs_file_t;
diff --git a/project/src/lib-szs.c b/project/src/lib-szs.c
index 96ef7ea..ff0a82e 100644
--- a/project/src/lib-szs.c
+++ b/project/src/lib-szs.c
@@ -73,6 +73,7 @@ const ccp have_szs_name[HAVESZS__N] =
"minigame", // HAVESZS_MINIGAME
"aiparam_baa", // HAVESZS_AIPARAM_BAA
"aiparam_bas", // HAVESZS_AIPARAM_BAS
+ "license", // HAVESZS_LICENSE
};
const ccp have_szs_file[HAVESZS__N] =
@@ -87,6 +88,7 @@ const ccp have_szs_file[HAVESZS__N] =
"common/minigame.kmg", // HAVESZS_MINIGAME
"AIParam/AIParam.baa", // HAVESZS_AIPARAM_BAA
"AIParam/AIParam.bas", // HAVESZS_AIPARAM_BAS
+ "license.txt", // HAVESZS_LICENSE
};
const file_format_t have_szs_fform[HAVESZS__N] =
@@ -101,6 +103,7 @@ const file_format_t have_szs_fform[HAVESZS__N] =
FF_KMG, // HAVESZS_MINIGAME
FF_UNKNOWN, // HAVESZS_AIPARAM_BAA
FF_UNKNOWN, // HAVESZS_AIPARAM_BAS
+ FF_UNKNOWN, // HAVESZS_LICENSE
};
//
@@ -600,7 +603,7 @@ enumError SaveSZS
void LinkCacheData
(
- // link/copy only files with data!
+ // link/copy only if opt_cache && data && size
ccp cache_fname, // NULL or path to cache file
ccp src_fname, // source filename
@@ -608,7 +611,7 @@ void LinkCacheData
uint size // size of data
)
{
- if ( cache_fname && src_fname && data && size )
+ if ( opt_cache && cache_fname && src_fname && data && size )
{
PRINT("LinkCacheData(%d,%u) %s -> %s\n",data!=0,size,src_fname,cache_fname);
unlink(cache_fname);
@@ -2536,6 +2539,7 @@ int PrintFileSZS
const file_format_t fform
= AnalyseMagicByOpt(0,data,it->size,it->szs->size-it->off,
FF_UNKNOWN, it->path);
+ FixIteratorExtByFF(it,fform,fform);
char vers_buf[50];
PrintVersionSZS(vers_buf,sizeof(vers_buf),it);
@@ -3665,8 +3669,48 @@ int IterateFilesLTA
// convert to local endian
be32n( (u32*)&lta, (u32*)&lta, sizeof(lta_header_t)/4 );
- const lta_node_t *src_node = (lta_node_t*)( szs->data + lta.node_off );
+ //----- load node list
+
+ const uint node_size = GetNodeListSizeLTA(&lta);
+ lta_node_t *node_buf = MALLOC(node_size);
+ enumError err = LoadFILE(szs->fname,0,lta.node_off,node_buf,node_size,0,0,false);
+ if (err)
+ return 1;
+ //be32n( (u32*)&node_buf, (u32*)&node_buf, node_size/4 );
+
+
+ //----- load ext list
+
+ char *ext_buf = 0, *ext_ptr = 0, *ext_end = 0;
+ if ( HaveExtLTA(&lta) && lta.ext_size )
+ {
+ ext_buf = MALLOC(lta.ext_size);
+ enumError err = LoadFILE(szs->fname,0,lta.ext_off,ext_buf,lta.ext_size,2,0,false);
+ PRINT0("LoadFILE(%s), err=%d\n",szs->fname,err);
+ if (!err)
+ {
+ ext_ptr = ext_buf;
+ ext_end = ext_buf + lta.ext_size;
+ }
+ }
+
+// [[%04x+]]
+ ccp format_szs, format_lfl, format_d_szs, format_d_lfl;
+ if ( lecode_04x || lta.base_slot + lta.n_slots >= 0x1000 )
+ {
+ format_szs = "%04x.%s";
+ format_lfl = "%04x.lfl";
+ format_d_szs = "%04x_d.%s";
+ format_d_lfl = "%04x_d.lfl";
+ }
+ else
+ {
+ format_szs = "%03x.%s";
+ format_lfl = "%03x.lfl";
+ format_d_szs = "%03x_d.%s";
+ format_d_lfl = "%03x_d.lfl";
+ }
//----- main loop
@@ -3677,14 +3721,16 @@ int IterateFilesLTA
int stat = 0;
for ( uint rel_slot = 0; rel_slot < lta.n_slots && !stat; rel_slot++ )
{
- const uint slot = lta.base_slot + rel_slot;
- lta_node_t node = src_node[rel_slot];
+ lta_node_t node;
// convert to local endian
- be32n( (u32*)&node, (u32*)&node, sizeof(node)/4 );
+ be32n( (u32*)&node, (u32*)(node_buf+rel_slot), sizeof(node)/4 );
+ const uint slot = lta.base_slot + rel_slot;
if ( node.std.szs_size )
{
- snprintf(it->path,sizeof(it->path),"%03x.szs",slot);
+ it->fix_extension = !( ext_ptr < ext_end && *ext_ptr );
+ ccp ext = it->fix_extension ? "x" : ext_ptr;
+ snprintf(it->path,sizeof(it->path),format_szs,slot,ext);
it->name = it->path;
it->off = node.std.szs_off;
it->size = node.std.szs_size;
@@ -3692,9 +3738,13 @@ int IterateFilesLTA
it->index++;
}
+ it->fix_extension = false;
+ if ( ext_ptr < ext_end )
+ ext_ptr += strlen(ext_ptr)+1;
+
if ( !stat && node.std.lfl_size )
{
- snprintf(it->path,sizeof(it->path),"%03x.lfl",slot);
+ snprintf(it->path,sizeof(it->path),format_lfl,slot);
it->name = it->path;
it->off = node.std.lfl_off;
it->size = node.std.lfl_size;
@@ -3704,7 +3754,9 @@ int IterateFilesLTA
if ( !stat && node.d.szs_size && node.d.szs_off != node.std.szs_off )
{
- snprintf(it->path,sizeof(it->path),"%03x_d.szs",slot);
+ it->fix_extension = !( ext_ptr < ext_end && *ext_ptr );
+ ccp ext = it->fix_extension ? "x" : ext_ptr;
+ snprintf(it->path,sizeof(it->path),format_d_szs,slot,ext);
it->name = it->path;
it->off = node.d.szs_off;
it->size = node.d.szs_size;
@@ -3712,9 +3764,13 @@ int IterateFilesLTA
it->index++;
}
+ it->fix_extension = false;
+ if ( ext_ptr < ext_end )
+ ext_ptr += strlen(ext_ptr)+1;
+
if ( !stat && node.d.lfl_size && node.d.lfl_off != node.std.lfl_off )
{
- snprintf(it->path,sizeof(it->path),"%03x_d.lfl",slot);
+ snprintf(it->path,sizeof(it->path),format_d_lfl,slot);
it->name = it->path;
it->off = node.d.lfl_off;
it->size = node.d.lfl_size;
@@ -3723,13 +3779,27 @@ int IterateFilesLTA
}
}
- StringCopyS(it->path,sizeof(it->path),NODE_LIST_FILE);
- it->name = it->path;
- it->off = lta.node_off;
- it->size = lta.n_slots * sizeof(lta_node_t);
- stat = it->func_it(it,false);
+ if (!stat)
+ {
+ StringCopyS(it->path,sizeof(it->path),NODE_LIST_FILE);
+ it->name = it->path;
+ it->off = lta.node_off;
+ it->size = lta.n_slots * sizeof(lta_node_t);
+ stat = it->func_it(it,false);
+
+ if ( !stat && HaveExtLTA(&lta) )
+ {
+ StringCopyS(it->path,sizeof(it->path),EXT_LIST_FILE);
+ it->name = it->path;
+ it->off = lta.ext_off;
+ it->size = lta.ext_size;
+ stat = it->func_it(it,false);
+ }
+ }
// reset param
+ FREE(ext_buf);
+ FREE(node_buf);
it->name = 0;
it->no_dirs = false;
return stat;
@@ -3778,19 +3848,30 @@ bool DumpLTA
"%*s" "File size: %10u = %#10x\n"
"%*s" "Node offset: %10u = %#10x\n"
"%*s" "Node size: %10u = %#10x\n"
- "%*s" "Base slot: %10u = %#10x\n"
- "%*s" "Num of slots: %10u = %#10x\n"
- "%*s" "Last slot: %10u = %#10x\n"
,indent,"", (char*)&xhead->magic
,indent,"", head.version
,indent,"", head.head_size, head.head_size
,indent,"", head.file_size, head.file_size
,indent,"", head.node_off, head.node_off
,indent,"", head.node_size, head.node_size
+ );
+
+ if (HaveExtLTA(&head))
+ printf( "%*s" "Ext offset: %10u = %#10x\n"
+ "%*s" "Ext size: %10u = %#10x\n"
+ ,indent,"", head.ext_off, head.ext_off
+ ,indent,"", head.ext_size, head.ext_size
+ );
+
+ printf(
+ "%*s" "Base slot: %10u = %#10x\n"
+ "%*s" "Num of slots: %10u = %#10x\n"
+ "%*s" "Last slot: %10u = %#10x\n"
,indent,"", head.base_slot, head.base_slot
,indent,"", head.n_slots, head.n_slots
,indent,"", last_slot, last_slot
);
+
return true;
}
@@ -4037,6 +4118,65 @@ szs_iterator_func GetIteratorFunction
///////////////////////////////////////////////////////////////////////////////
+void FixIteratorExtByFF
+(
+ szs_iterator_t *it, // valid iterator data
+ file_format_t fform_file, // source file format
+ file_format_t fform_arch // (decompressed) archive format
+)
+{
+ if ( it && it->fix_extension )
+ {
+ it->fix_extension = false;
+ ccp ext = GetExtFF(fform_file,fform_arch);
+ if (!ext)
+ ext = ".bin";
+
+ int plen = strlen(it->path);
+ ccp slash = strrchr(it->path,'/');
+ ccp point = strrchr(it->path,'.');
+ if ( point && ( !slash || point > slash ))
+ plen = point - it->path;
+ if ( plen + strlen(ext) < sizeof(it->path) )
+ StringCopyE(it->path+plen,it->path+sizeof(it->path),ext);
+ }
+}
+
+//-----------------------------------------------------------------------------
+
+void FixIteratorExtByData
+(
+ szs_iterator_t *it, // valid iterator data
+ cvp data, // pointer to data
+ uint size // size of data
+)
+{
+ if ( it && it->fix_extension )
+ {
+ file_format_t ff = GetByMagicFF(data,size,size);
+ FixIteratorExtByFF(it,ff,ff);
+ }
+}
+
+//-----------------------------------------------------------------------------
+
+void FixIteratorExt
+(
+ szs_iterator_t *it // valid iterator data
+)
+{
+ if ( it && it->fix_extension )
+ {
+ const u8 * data = it->szs->data + it->off;
+ const file_format_t fform
+ = AnalyseMagicByOpt(0,data,it->size,it->szs->size-it->off,
+ FF_UNKNOWN, it->path );
+ FixIteratorExtByFF(it,fform,fform);
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
void * UpdateIteratorFF ( struct szs_iterator_t *it )
{
if (!it)
@@ -4067,7 +4207,7 @@ static int iterate_sort_files
{
if ( it->off > it->szs->size || it->off + it->size > it->szs->size )
{
- if ( it->size != M1(it->size) && WARN_MODE & WARN_INVALID_OFFSET && verbose >= -2 )
+ if ( it->size != M1(it->size) && WARN_MODE & WARN_INVALID_OFFSET && ErrorLogEnabled() )
ERROR0(ERR_WARNING,
"Invalid offset [%x..%x, size=%zx] for subfile.\n"
"=> File ignored: %s%s%s\n",
@@ -4141,7 +4281,7 @@ static int iterate_sub_files
{
if ( it->off > it->szs->size || it->off + it->size > it->szs->size )
{
- if ( WARN_MODE & WARN_INVALID_OFFSET && verbose >= -2 )
+ if ( WARN_MODE & WARN_INVALID_OFFSET && ErrorLogEnabled() )
ERROR0(ERR_WARNING,
"Invalid offset [%x..%x, size=%zx] for subfile.\n"
"=> File ignored: %s%s%s\n",
@@ -4894,7 +5034,7 @@ int CutFilesBRSUB
{
if ( (u8*)bcut.eptr > max_eptr )
{
- if ( WARN_MODE & WARN_INVALID_OFFSET && verbose >= -2 )
+ if ( WARN_MODE & WARN_INVALID_OFFSET && ErrorLogEnabled() )
ERROR0(ERR_WARNING,
"Invalid offset for BRSUB file => %u of %u entries ignored: %s%s%s\n",
bg_n_entry - cur_entry, bg_n_entry,
diff --git a/project/src/lib-szs.h b/project/src/lib-szs.h
index 6c8c692..976966e 100644
--- a/project/src/lib-szs.h
+++ b/project/src/lib-szs.h
@@ -52,6 +52,8 @@
#ifndef SZS_LIB_SZS_H
#define SZS_LIB_SZS_H 1
+//#include <stddef.h>
+
#include "lib-std.h"
#include "lib-szs-file.h"
#include "lib-object.h"
@@ -132,7 +134,10 @@ __attribute__ ((packed)) u8_node_t;
#define LTA_VERSION 1
#define LTA_DEFAULT_ALIGN 0x20
#define LTA_MAX_SIZE 0x7fffffe0
-#define LTA_MAX_NODES 4096
+#define LTA_MAX_NODES 0x2000
+
+#define USELTA_MAGIC "#USE-LTA"
+#define USELTA_MAGIC_NUM 0x235553452d4c5441ull
//-----------------------------------------------------------------------------
// [[lta_header_t]]
@@ -147,9 +152,22 @@ typedef struct lta_header_t
be32_t node_size; // size of single node == sizeof(lta_node_t)
be32_t base_slot; // first used slot
be32_t n_slots; // number of used slots
+
+ // extension since v2.41a, 2024-01-22
+ be32_t ext_off; // offset of extension string list
+ be32_t ext_size; // size of extension string list
}
__attribute__ ((packed)) lta_header_t;
+//-------------------------
+
+static inline bool HaveExtLTA ( const lta_header_t *lta )
+{
+ return lta
+ && lta->head_size >= offsetof(lta_header_t,ext_size) + sizeof(lta->ext_size)
+ && lta->ext_size;
+}
+
//-----------------------------------------------------------------------------
// [[lta_node_index_t]]
@@ -207,6 +225,11 @@ typedef struct lta_node_t
}
__attribute__ ((packed)) lta_node_t;
+//-------------------------
+
+static inline uint GetNodeListSizeLTA ( const lta_header_t *lta )
+ { return lta->n_slots * sizeof(lta_node_t); }
+
//-----------------------------------------------------------------------------
// [[lta_manager_t]]
@@ -214,7 +237,8 @@ typedef struct lta_manager_t
{
le_distrib_t *ld; // current le_distrib_t
ccp destdir; // destination directory
- bool rm_source; // remove source SZS files
+ bool rm_source; // true: remove source SZS files
+ bool append_ext; // true: append extension list
file_format_t force_ff; // force file format id !=FF_UNKNOWN
uint track_index; // current track index for "tracks-%u.lta"
u_nsec_t start_nsec; // start time by GetTimerNSec();
@@ -226,7 +250,7 @@ typedef struct lta_manager_t
int base_slot; // base slot of current LTA, only valid if >= 0
int last_slot; // last used slot of current LTA
- uint data_offset; // current data offset
+ size_t data_offset; // current data offset
size_t current_offset; // return value of WriteFileAt()
u8 *buf; // temp buffer for files, alloced
@@ -242,7 +266,14 @@ typedef struct lta_manager_t
uint szs_dup_count; // counter of SZS duplicates
uint lfl_dup_count; // counter of LFL duplicates
- lta_node_t node[LTA_MAX_NODES]; // nodes, local endian
+ u_msec_t start_msec; // start time, set by GetTimerMSec()
+ u_msec_t last_log_msec; // last log time, set by GetTimerMSec()
+ u_msec_t show_progress; // >0: show progress counter every # ms
+ uint progress_nodes; // number of processed slots
+ uint progress_tracks; // number of processed tracks
+
+ FastBuf_t ext; // list with file extensions (without leading '.')
+ lta_node_t node[LTA_MAX_NODES]; // nodes, local endian
}
lta_manager_t;
@@ -583,7 +614,7 @@ enumError SaveSZS
void LinkCacheData
(
- // link/copy only files with data!
+ // link/copy only if opt_cache && data && size
ccp cache_fname, // NULL or path to cache file
ccp src_fname, // source filename
@@ -967,6 +998,7 @@ typedef struct szs_iterator_t
bool no_dirs; // true: archive without directory support
bool is_dir; // true: directory argument
bool has_subfiles; // true: this file has enabled sub files
+ bool fix_extension; // true: call FixIteratorExtBy*()
u16 fform; // NULL or file format
int index; // index of 'fst_item'
int depth; // directory depth
@@ -1112,6 +1144,27 @@ static inline szs_subfile_t * AppendSubfileSZS
return InsertSubfileSZS(szs,~0,it,path);
}
+///////////////////////////////////////////////////////////////////////////////
+
+void FixIteratorExtByFF
+(
+ szs_iterator_t *it, // valid iterator data
+ file_format_t fform_file, // source file format
+ file_format_t fform_arch // (decompressed) archive format
+);
+
+void FixIteratorExtByData
+(
+ szs_iterator_t *it, // valid iterator data
+ cvp data, // pointer to data
+ uint size // size of data
+);
+
+void FixIteratorExt
+(
+ szs_iterator_t *it // valid iterator data
+);
+
//
///////////////////////////////////////////////////////////////////////////////
/////////////// BRRES structures ///////////////
diff --git a/project/src/prefix.inc b/project/src/prefix.inc
index ead72db..9df9f1e 100644
--- a/project/src/prefix.inc
+++ b/project/src/prefix.inc
@@ -1,116 +1,117 @@
static const u8 prefix_inc_lzma[] =
{
- // decompressed size: 0x10cb = 4299 bytes
- 0x00,0x00,0x10,0xcb,
+ // decompressed size: 0xfa2 = 4002 bytes
+ 0x00,0x00,0x0f,0xa2,
// LZMA.6 compressed data
0x5d,0x00,0x00,0x80, 0x00,0xff,0xff,0xff, 0xff,0xff,0xff,0xff, 0xff,0x00,0x20,0x15,
0x06,0x01,0x7b,0xa2, 0xa1,0xd0,0xb6,0xe6, 0x42,0x19,0xec,0xf7, 0x37,0x70,0x15,0x8e,
0x25,0x3c,0x80,0xfc, 0x38,0xd8,0x99,0x2a, 0xaa,0xdf,0xc9,0x44, 0x9a,0x44,0x8b,0x29,
- 0x12,0x98,0x47,0xc4, 0x6f,0x2e,0xa6,0xc1, 0x27,0xd7,0xb9,0x7d, 0x3d,0xa0,0xa5,0xee,
- 0xd1,0x03,0xca,0xb5, 0xd4,0x9c,0x03,0xe3, 0xca,0x58,0xca,0x53, 0x14,0x0b,0xb2,0xe7,
- 0xc2,0x25,0xb4,0x99, 0x64,0x16,0xf9,0x56, 0xa8,0x60,0xa7,0xcb, 0x12,0x3b,0xfc,0xe7,
- 0x6a,0x7b,0x8f,0x47, 0x95,0x48,0x9a,0xce, 0x10,0x70,0x19,0xe6, 0xdb,0x6e,0xe8,0xa3,
- 0xe3,0xf3,0xf5,0x41, 0x76,0x3d,0x18,0xe7, 0x4b,0xec,0x4b,0x4b, 0x6f,0xcb,0x8a,0x23,
- 0x5c,0xf1,0x87,0x53, 0x24,0x1c,0xb9,0x4c, 0x67,0x11,0xae,0x3d, 0xe8,0x3c,0x90,0xdc,
- 0x49,0x33,0x0b,0x26, 0xc7,0x97,0xa3,0xf2, 0x38,0x6c,0xba,0xdf, 0x52,0x8e,0xa6,0x07,
- 0x5f,0x80,0xf8,0x0e, 0x94,0xa5,0x5d,0x89, 0x41,0xbf,0xc6,0xb6, 0x64,0xa1,0xb1,0x57,
- 0xad,0xb8,0xbd,0x9b, 0xdc,0x1e,0x7a,0x93, 0xf2,0xf1,0xd7,0xb5, 0xbd,0x68,0x83,0x1e,
- 0xc8,0x9b,0x66,0x68, 0xe8,0x45,0xd9,0x5c, 0x57,0x79,0xec,0xd3, 0xc8,0xf5,0xbb,0x00,
- 0x34,0x20,0x32,0x4a, 0xaf,0x31,0xfc,0x4e, 0x30,0x37,0x54,0x55, 0xc1,0x49,0x6c,0x3f,
- 0x39,0xe0,0x2e,0x78, 0x7b,0x2c,0xaf,0x3a, 0x51,0xa3,0xcc,0xbb, 0x6d,0x55,0xd2,0xce,
- 0x29,0x3f,0x82,0x9c, 0xdc,0xc4,0xec,0x2f, 0xb1,0x94,0xc1,0xc3, 0xb7,0x45,0xb7,0xf5,
- 0xb0,0x2b,0x8c,0xb9, 0xf4,0x6d,0x96,0xf4, 0xef,0x61,0x47,0xa4, 0x7c,0x55,0xab,0xc4,
- 0xb1,0xdb,0x2a,0x70, 0x45,0x13,0x32,0x11, 0x9b,0x13,0x07,0x1d, 0x13,0xab,0xa6,0x79,
- 0xa9,0x16,0x5a,0xea, 0x4b,0x04,0x62,0x04, 0xe3,0x18,0x93,0xde, 0x00,0x90,0xb1,0x3b,
- 0x95,0x21,0x16,0x84, 0xf1,0x21,0x3e,0x4d, 0xb9,0x58,0xd4,0x80, 0x35,0x48,0x46,0x08,
- 0x4b,0xf2,0x44,0x01, 0x34,0x49,0x67,0x4e, 0x09,0x8c,0x7d,0x48, 0xa1,0x3a,0x53,0x1a,
- 0x62,0x2b,0x6d,0xae, 0xf2,0xf6,0xe8,0xbc, 0x42,0x87,0x0e,0x64, 0xa2,0x98,0x60,0x80,
- 0x6e,0xff,0x58,0x22, 0x25,0x1b,0x0f,0x2a, 0x0d,0x27,0xe4,0x0a, 0xdf,0xfa,0xe0,0x80,
- 0x85,0xe2,0xb2,0x0b, 0x07,0x2d,0x4a,0x23, 0xf2,0x87,0xbd,0x89, 0x08,0x51,0x67,0xaf,
- 0xea,0x61,0x07,0xe2, 0x70,0xca,0xc7,0x53, 0xb2,0xc1,0xa1,0x42, 0x25,0x64,0xd3,0xd1,
- 0xd8,0x78,0x50,0x65, 0x1e,0x32,0xc3,0x91, 0x9c,0x52,0xab,0x72, 0x58,0xe7,0x03,0x5f,
- 0x3c,0x44,0x6d,0x2d, 0x1b,0x00,0x23,0x55, 0xb5,0xc8,0x21,0xd6, 0xdd,0x6e,0x2b,0x67,
- 0x4b,0x3e,0x7b,0xf6, 0xdd,0xa8,0x5f,0x21, 0x37,0x36,0x72,0x84, 0xd2,0xc0,0xdc,0x5c,
- 0x97,0x44,0xb9,0xd2, 0x24,0xa1,0xdc,0x7e, 0xcb,0xa1,0xc2,0x3a, 0xb9,0x84,0x12,0x0f,
- 0x51,0xfc,0x49,0xde, 0xfa,0x78,0x7b,0xb1, 0x91,0x9f,0x7a,0xcb, 0xdc,0x29,0x15,0x02,
- 0xfc,0x2f,0xf5,0xa9, 0xd5,0x20,0x0f,0x68, 0xbd,0x43,0x34,0x33, 0x0c,0x69,0xcf,0x6b,
- 0x69,0xb3,0xa0,0x96, 0xb8,0xa1,0x14,0xe3, 0xfb,0x90,0xa8,0xc2, 0xff,0x7c,0xb0,0x70,
- 0xf8,0x3e,0x64,0x5f, 0xeb,0x65,0xb6,0x43, 0xbe,0x63,0xd5,0xf6, 0x06,0xd3,0x77,0xcd,
- 0x35,0xff,0x62,0xa0, 0x47,0xbf,0xdf,0x2b, 0xbd,0xd2,0x97,0x1c, 0x55,0x26,0xd5,0x6d,
- 0x4b,0xbb,0xb4,0xa8, 0xba,0xc3,0x51,0x47, 0x5f,0x8d,0xfc,0xb4, 0x1a,0x6f,0xaf,0xf4,
- 0x22,0x7b,0xe4,0x95, 0xbf,0x75,0x37,0x38, 0x23,0x5c,0x8a,0x7a, 0x5c,0x3a,0x5b,0x95,
- 0xe1,0x5c,0x63,0x3d, 0x53,0x92,0x72,0x2e, 0x7a,0x49,0x17,0x37, 0x9a,0xfe,0xa2,0xbe,
- 0x5b,0xdb,0x92,0xf2, 0x55,0x25,0xf0,0x58, 0x72,0xb6,0xaf,0x56, 0x8b,0x8d,0x65,0x0d,
- 0x8f,0xb8,0xce,0x4a, 0x77,0x3b,0xb9,0xfc, 0x7a,0x0d,0x71,0x51, 0x37,0x00,0x4d,0x24,
- 0xa0,0xac,0x76,0x29, 0xfc,0xdd,0xf2,0xda, 0x98,0x6b,0xab,0xc8, 0xe6,0x47,0xf9,0x52,
- 0xef,0x2c,0x06,0x4b, 0x3b,0xd5,0x4c,0xc6, 0x17,0x90,0x6d,0x6b, 0xdc,0xa9,0x28,0x5b,
- 0x38,0x30,0x66,0xf0, 0xa9,0xd2,0x32,0xf7, 0x09,0xa2,0xcc,0x69, 0x57,0xa5,0x4c,0x77,
- 0x81,0x68,0xc6,0x59, 0x9a,0xc5,0x11,0xcc, 0x26,0x43,0x80,0x58, 0xfc,0x2a,0x22,0x76,
- 0x09,0x43,0x4e,0xab, 0x6b,0xe3,0xff,0x52, 0xbc,0xeb,0xb4,0x55, 0x73,0x68,0x1a,0x34,
- 0xc8,0xcd,0x56,0x79, 0x0c,0xf2,0x21,0x87, 0xaf,0xf3,0x99,0x38, 0x65,0xbc,0x3c,0x18,
- 0x35,0x4f,0xac,0xb4, 0xfa,0x91,0xdf,0x7e, 0x01,0xe0,0xba,0x2b, 0x61,0x57,0x9c,0x22,
- 0xa8,0x85,0x39,0x4c, 0xed,0x90,0xfe,0x2a, 0x9b,0x27,0x10,0x1d, 0x1f,0xb8,0xce,0x27,
- 0x67,0x51,0xdb,0xaf, 0xca,0xb0,0xa2,0xcd, 0xc5,0xd9,0xbf,0x26, 0xec,0x8e,0x2e,0x29,
- 0x07,0xb1,0xb5,0xfc, 0x50,0xbd,0x6b,0xa4, 0xf1,0x2e,0x2b,0xb8, 0xed,0xf9,0xb6,0x48,
- 0x35,0x5c,0xa5,0x00, 0xd2,0xea,0xe9,0x78, 0x41,0xa8,0x93,0xe5, 0x1d,0x41,0x0e,0x2a,
- 0xd1,0xf5,0x2e,0xd7, 0x0d,0xba,0x52,0x97, 0x68,0x0d,0x99,0x98, 0x9d,0x65,0x03,0xa7,
- 0x6e,0x74,0xf3,0xef, 0x70,0x41,0x13,0xd2, 0xc4,0xab,0xed,0x86, 0x1d,0x86,0xbc,0x96,
- 0x2f,0x21,0x7f,0x56, 0x74,0x0c,0x29,0xf1, 0xc9,0x4c,0xa6,0x54, 0xa3,0x6e,0xe6,0x57,
- 0x47,0x59,0xc0,0x8f, 0x5f,0x8f,0xcc,0xac, 0xda,0x16,0x09,0xdc, 0xcd,0xd2,0xb2,0x33,
- 0xd3,0xa6,0xd6,0xea, 0x4f,0x7b,0x3b,0x20, 0x15,0xa3,0xac,0xcd, 0xa5,0xc0,0x04,0xf0,
- 0xfe,0x9c,0x58,0xd1, 0xa9,0x7e,0x92,0xd0, 0xc6,0x4a,0x94,0x96, 0x8d,0x39,0xa5,0x7a,
- 0x95,0x29,0x29,0x8a, 0x9b,0xd9,0x40,0xef, 0xd1,0x7d,0x47,0xe6, 0x53,0x82,0x6f,0x6c,
- 0xb2,0x88,0x8b,0x6a, 0xb4,0xcc,0x7d,0xa1, 0x21,0xb4,0x22,0xef, 0x18,0xc7,0x3f,0x93,
- 0x60,0x43,0x11,0x8e, 0x2d,0x19,0x15,0x16, 0xc3,0x6c,0x42,0xf9, 0x09,0x74,0xd0,0x26,
- 0xb2,0x86,0x67,0x6e, 0x54,0x1a,0x94,0x46, 0xd6,0xa5,0xac,0x02, 0x59,0x33,0xd5,0xf4,
- 0x0c,0x13,0x91,0x21, 0x00,0x2c,0xa2,0x9e, 0x71,0xc0,0x21,0x82, 0xb0,0x5a,0xc1,0xdf,
- 0x65,0x01,0x53,0x20, 0x0e,0xa9,0x4d,0xc6, 0x37,0xe4,0x5b,0x8a, 0xa2,0x0d,0x89,0xa0,
- 0x85,0x2e,0xd0,0x61, 0xf2,0xe1,0x38,0x97, 0xc8,0xdf,0xc8,0x8c, 0x12,0x30,0x56,0xc4,
- 0x92,0xf6,0xb5,0x0c, 0xd2,0xc7,0xa8,0x81, 0x35,0xa6,0xbc,0x5d, 0x08,0x3e,0xbd,0x4d,
- 0x8e,0xff,0x0e,0x39, 0x18,0xfe,0x61,0x67, 0x48,0x3d,0x39,0x34, 0xa0,0xb1,0x9c,0xd5,
- 0xb8,0xc0,0x84,0xef, 0x14,0xd3,0x1e,0x1e, 0x02,0x85,0xd7,0x32, 0xf0,0xa6,0x13,0xb5,
- 0x38,0x05,0x6a,0x5e, 0xd2,0xd4,0xff,0x4c, 0xa9,0xa0,0x93,0x3c, 0xe0,0x32,0x04,0xec,
- 0x83,0x42,0x1a,0x2d, 0x89,0xd6,0xa0,0xdc, 0xea,0x22,0x3b,0xb1, 0xd3,0xe2,0x15,0x42,
- 0x7c,0x86,0x7c,0x91, 0xe0,0x3e,0x93,0x07, 0x6d,0x2b,0x5c,0xfb, 0x4f,0x62,0x9d,0x13,
- 0xab,0x7b,0x97,0x90, 0xf1,0xea,0xa8,0x5e, 0x11,0x9d,0x95,0x37, 0x56,0x76,0xa1,0x67,
- 0x69,0x21,0x41,0x72, 0x92,0x80,0x8e,0xcb, 0x7b,0xad,0x89,0x7d, 0xaf,0x94,0x9c,0x85,
- 0xeb,0x0f,0x40,0xc2, 0xdd,0x3b,0x7a,0xbe, 0xa8,0xfa,0xd6,0xbb, 0xab,0x88,0x3e,0xa2,
- 0x4f,0xff,0xfb,0x18, 0x66,0xc8,0xc0,0x77, 0xa9,0xbe,0x98,0x67, 0x83,0xe2,0x74,0xed,
- 0xfd,0xf0,0x40,0x81, 0xfe,0x3e,0xe4,0x07, 0x5c,0x6a,0x31,0x1f, 0xf0,0xdc,0x3d,0x57,
- 0x5c,0x3c,0xc3,0x0f, 0x81,0x87,0x91,0xd2, 0x82,0xef,0xc6,0xd3, 0xfe,0xe6,0x67,0x4d,
- 0x76,0x17,0x28,0xff, 0xa2,0x45,0xd9,0xef, 0x97,0xe7,0x8a,0xc9, 0x6a,0xfc,0xce,0xcb,
- 0xfc,0xae,0xe1,0x21, 0x84,0x73,0x1b,0xe8, 0x24,0xbe,0xb2,0x9e, 0xc3,0x94,0x6c,0x4f,
- 0xe8,0xe2,0x15,0x74, 0x51,0x83,0xb5,0xa1, 0x27,0x17,0x4d,0xb4, 0x03,0xb8,0x89,0xf6,
- 0x16,0x94,0x77,0x6c, 0x66,0x62,0x8f,0x18, 0xd7,0x68,0x10,0x67, 0xa3,0x63,0x64,0xb5,
- 0xdc,0xb8,0x24,0xf2, 0xf3,0x68,0xf8,0x59, 0x5a,0x3f,0x65,0x74, 0x62,0x76,0xca,0x9c,
- 0x60,0x6a,0x21,0x11, 0x2e,0x3a,0x66,0x31, 0x00,0xbd,0x8f,0x84, 0x46,0xe2,0x57,0xc7,
- 0x7f,0x10,0x71,0x70, 0x6d,0x6a,0x41,0x70, 0x94,0xb9,0x05,0xa8, 0x57,0x8c,0xcc,0xdc,
- 0xbe,0x70,0x48,0x4c, 0x3c,0x5b,0x19,0x19, 0x79,0x4e,0xd6,0xb0, 0xdc,0x40,0x42,0x8b,
- 0x3e,0x98,0x0d,0x5a, 0x06,0xa7,0x76,0x68, 0xb2,0xd9,0xc5,0xb7, 0x88,0xb5,0x8d,0xe7,
- 0xe8,0xf6,0x13,0xec, 0x33,0x44,0x7a,0xcf, 0x68,0x9c,0x8f,0x39, 0x1b,0x2b,0xa1,0x10,
- 0xa7,0x6a,0x42,0xc5, 0xb6,0x44,0xbf,0xfc, 0xc9,0x7e,0xb7,0x09, 0x99,0x87,0xa9,0x45,
- 0x92,0x42,0x6a,0xbf, 0x24,0x35,0x1d,0xa2, 0x7b,0x04,0x73,0xf1, 0xda,0x42,0x7a,0x62,
- 0x69,0x51,0x3f,0xaa, 0xb3,0x09,0x83,0x74, 0x72,0xbc,0x1c,0x64, 0xc7,0x8b,0x99,0x85,
- 0x85,0x27,0x9d,0x02, 0xb7,0x65,0x37,0xb2, 0xfd,0x6b,0x18,0x3f, 0xac,0x3e,0x37,0x0b,
- 0xa0,0xf2,0xc5,0xb3, 0x42,0xce,0x6d,0x27, 0xdb,0x38,0xc1,0xb1, 0xbf,0xcc,0xff,0xfc,
- 0xe7,0xf0,0x3d,0x70, 0xb4,0x53,0x95,0xac, 0xe4,0xfe,0x3e,0x2c, 0x89,0xac,0x4d,0xbb,
- 0xdf,0x31,0x41,0xbc, 0xb4,0x5a,0x0d,0xb1, 0x2f,0x0b,0xda,0x3f, 0x4a,0xcd,0xe6,0x00,
- 0x5e,0x7c,0xda,0x88, 0x1b,0xd0,0xe4,0x2d, 0x3a,0x6c,0x20,0xcd, 0xf9,0x80,0xf8,0x14,
- 0x19,0x55,0x47,0x9a, 0x10,0xbd,0x9c,0x25, 0x66,0xee,0xe4,0x86, 0xb8,0xd8,0xee,0x1c,
- 0xc3,0xce,0xa6,0x02, 0x09,0xac,0x30,0x17, 0xb5,0xec,0xea,0x87, 0xaf,0x7b,0x31,0xaa,
- 0xdf,0xba,0x5c,0x46, 0x04,0xa6,0x39,0xd0, 0xe3,0x6d,0x7a,0x81, 0xa1,0xde,0x1d,0x06,
- 0x41,0x46,0x13,0xc6, 0x84,0x81,0x1c,0x85, 0x7f,0x24,0xbc,0xcb, 0xfd,0xe1,0xaf,0xd9,
- 0x67,0xc1,0xb3,0x26, 0x8c,0xfd,0x3c,0xd9, 0xb9,0x46,0x4f,0x6e, 0x80,0x75,0x63,0x62,
- 0x9f,0x63,0x0b,0x91, 0x20,0x10,0xfc,0xa0, 0xa6,0xc1,0xa4,0xe7, 0xec,0x7a,0xc8,0x49,
- 0x0e,0xd3,0xaa,0xe5, 0x2e,0x50,0xf1,0x39, 0xa2,0xca,0x1d,0x53, 0x7b,0xe6,0x79,0x4a,
- 0x4e,0xd2,0x15,0x51, 0x8a,0xa4,0xb8,0xa0, 0x08,0x7a,0xe6,0x14, 0xa7,0x64,0x86,0xa5,
- 0xe8,0x19,0x22,0x67, 0xde,0x7b,0x82,0x1c, 0x99,0x31,0x7f,0xd4, 0x00,0x42,0x79,0x1a,
- 0x81,0x8c,0x09,0x10, 0xa7,0xdf,0x60,0xe3, 0x6d,0x8a,0xce,0xb8, 0x0f,0x34,0x35,0xa8,
- 0xda,0x71,0x02,0xa7, 0xc4,0x46,0x2a,0x1f, 0x88,0xb2,0xd0,0xbd, 0x60,0x8d,0x89,0xd5,
- 0xc5,0x15,0x37,0x71, 0x4a,0xe4,0xa7,0x04, 0x7f,0x95,0xff,0xa6, 0x7b,0xd3,0xf4,
- // 0x68f = 1679 data bytes (39%)
+ 0x12,0x98,0x47,0xc4, 0x6f,0x2e,0xa6,0xc1, 0x27,0xd7,0xb9,0x7e, 0x61,0xcb,0x38,0x25,
+ 0x63,0x88,0x5c,0xd2, 0xf3,0xa8,0x8c,0x8e, 0x2e,0x13,0x3d,0xfb, 0x4d,0x42,0xc9,0x0d,
+ 0xd5,0xbb,0xca,0x1e, 0x11,0xc8,0x3d,0x76, 0x89,0x9c,0x7b,0x06, 0x31,0xba,0x17,0xcc,
+ 0x8c,0x29,0x05,0xde, 0x3a,0x2b,0xe6,0x83, 0x90,0xc2,0x83,0xeb, 0x28,0xc3,0x27,0x72,
+ 0xcc,0x05,0xcc,0x73, 0x86,0xbe,0x94,0x86, 0x50,0x1f,0x05,0x4d, 0xbd,0x87,0xff,0x29,
+ 0xc9,0xe3,0x76,0x70, 0x49,0x52,0xbb,0x91, 0x66,0x64,0x29,0xeb, 0x22,0x37,0x33,0x86,
+ 0x5b,0x0f,0x6f,0xd3, 0x10,0x51,0xc1,0x56, 0x0d,0x64,0x9a,0xc3, 0x5b,0x29,0x63,0xc3,
+ 0xd9,0xc6,0x5c,0x00, 0xf4,0x1f,0x62,0x00, 0x8b,0x5a,0xc9,0x86, 0xc5,0x0d,0xee,0xec,
+ 0x58,0x2b,0x10,0xaf, 0xb1,0x48,0xd9,0x64, 0xd2,0xc4,0xd2,0x0d, 0xf3,0x22,0xa0,0x2e,
+ 0x3d,0x70,0xee,0xc6, 0x58,0x56,0xa6,0x69, 0x3b,0x2d,0x01,0xda, 0x64,0x52,0xe9,0x56,
+ 0x21,0x98,0xcf,0x49, 0xcc,0xf3,0xf7,0x87, 0xd4,0x80,0xbf,0x78, 0x0b,0x2a,0x58,0x46,
+ 0x3c,0x32,0xd7,0x04, 0x60,0x62,0x24,0x10, 0x1a,0x7c,0x8d,0x18, 0x62,0x2e,0xc0,0x60,
+ 0xe8,0x1b,0x0a,0x64, 0xd6,0x40,0x10,0x48, 0x87,0x92,0x01,0x90, 0xc5,0xef,0xf1,0x94,
+ 0x47,0x34,0x20,0x14, 0x02,0x66,0x77,0xd7, 0x10,0x7a,0x18,0x64, 0x67,0x55,0x0b,0xaf,
+ 0xdb,0x03,0xa4,0xec, 0x6c,0xd0,0x06,0x15, 0x30,0x17,0x33,0x24, 0xcc,0x2b,0x76,0x0b,
+ 0x3b,0x8e,0x6d,0x7d, 0x36,0x91,0xe4,0x03, 0xa5,0x71,0x21,0xf9, 0x65,0xb4,0xbb,0x8a,
+ 0xb9,0x7b,0xe3,0x31, 0x71,0x00,0x20,0xc3, 0x0a,0x8a,0xf1,0xe5, 0x97,0x13,0x93,0x5c,
+ 0x83,0xa7,0x2e,0x3c, 0xff,0x38,0xe0,0xbc, 0x95,0x6e,0x33,0xf5, 0xcf,0xc5,0xa4,0xc9,
+ 0x7a,0x83,0x09,0xd6, 0xf7,0xef,0x31,0x7a, 0xc7,0x58,0xa3,0x52, 0x41,0xdf,0x7f,0xf0,
+ 0xef,0xd1,0xb9,0xe1, 0x41,0x85,0xbb,0xc0, 0xd1,0xa3,0x85,0x65, 0xcd,0x9f,0x96,0x46,
+ 0x2d,0x63,0xa5,0xe4, 0x50,0x62,0x36,0x55, 0x9b,0xdb,0xb0,0x0b, 0x68,0xc5,0x36,0x85,
+ 0x5e,0x18,0x25,0x90, 0x56,0xc5,0xd6,0x5d, 0xf7,0x05,0xde,0x9d, 0x51,0x59,0x70,0x61,
+ 0xf7,0x18,0xc4,0xeb, 0xa3,0x98,0xc6,0x49, 0x48,0x80,0x33,0x93, 0x2a,0x98,0x26,0x23,
+ 0x42,0xf5,0xfd,0x66, 0xd4,0x24,0xc1,0x87, 0xf8,0xd0,0xea,0x1c, 0xb5,0x4b,0x8a,0x8f,
+ 0xcb,0xda,0xa3,0xfa, 0x1f,0x50,0x98,0xa8, 0x73,0x5c,0xb5,0x25, 0x16,0x99,0xf8,0x48,
+ 0xb4,0x5c,0x59,0x43, 0xff,0x4b,0x3e,0x03, 0xe2,0x30,0x0c,0xca, 0xf6,0x1c,0xed,0x3b,
+ 0x44,0x59,0x01,0xf1, 0x19,0xc2,0xe1,0xfd, 0x68,0x4a,0x6f,0x2d, 0xb8,0x68,0x6c,0x58,
+ 0x31,0xfd,0x56,0x7e, 0x2b,0xad,0x16,0x1e, 0xaf,0x02,0x2c,0xeb, 0xfb,0x73,0x0a,0x0d,
+ 0x81,0x3f,0xe5,0x7a, 0xed,0x74,0x62,0x7b, 0x03,0x59,0x6a,0x89, 0x04,0x32,0x6b,0xc9,
+ 0x6c,0x96,0xfe,0xbc, 0x8f,0x04,0xaa,0x29, 0x67,0x20,0xbb,0x50, 0xab,0x80,0x8c,0x10,
+ 0x80,0x63,0x76,0x2f, 0x30,0x6a,0xce,0x48, 0xd2,0x81,0xd9,0x2f, 0xa1,0x27,0x07,0xb0,
+ 0xf8,0x83,0x4a,0x8d, 0x90,0x24,0xe2,0xa5, 0x0d,0xf4,0xe7,0x19, 0x8b,0x93,0xdb,0x11,
+ 0x2a,0x03,0xba,0x8a, 0xa0,0x92,0x62,0x9d, 0x40,0xac,0x61,0x08, 0x63,0x2d,0x9f,0xb6,
+ 0xce,0x68,0xb0,0xa9, 0x11,0x64,0x9f,0x97, 0x71,0xd4,0xe2,0x26, 0x16,0x67,0xe7,0xb4,
+ 0xd0,0x1d,0x5a,0xc3, 0x5f,0x3e,0x25,0x3f, 0xa0,0x0c,0x9c,0xb1, 0x65,0x3e,0x08,0xc6,
+ 0x66,0xb1,0x5a,0x5f, 0x08,0x23,0x1c,0xb3, 0x42,0xb8,0xe7,0x71, 0x86,0xd0,0xd7,0x60,
+ 0x4e,0x48,0x9a,0x6b, 0x41,0x74,0xa3,0xae, 0x71,0x9b,0x13,0x13, 0x1a,0xa2,0x8e,0x2c,
+ 0xe3,0x38,0x51,0x95, 0x20,0xb6,0x1d,0x31, 0x5c,0xd6,0xd7,0xe2, 0xd7,0x5a,0xfd,0xfb,
+ 0xa9,0x4e,0xfa,0xf3, 0x75,0x32,0x6e,0x55, 0xf2,0x52,0xbb,0x27, 0xad,0x2c,0x56,0x3a,
+ 0x6f,0x4b,0x1f,0x20, 0xa0,0xaa,0x85,0x4b, 0x1a,0x69,0x1d,0x04, 0x67,0x28,0xa1,0xa9,
+ 0xe7,0x8e,0x48,0xb7, 0x51,0x66,0xdb,0x46, 0x32,0xfb,0x6e,0x9d, 0x19,0x6b,0x7f,0x20,
+ 0xf4,0xcf,0x7e,0xf1, 0xa6,0x3f,0xc5,0x44, 0x92,0x87,0x8b,0xd4, 0x3d,0xfe,0xfc,0xbb,
+ 0xe7,0x70,0x99,0xac, 0x2c,0x5d,0x0e,0xa7, 0x10,0x76,0xed,0x08, 0x5c,0x50,0x0c,0xb3,
+ 0xe6,0xcf,0x7c,0x73, 0x62,0x22,0xce,0xe9, 0x94,0x8d,0x12,0xb1, 0xb3,0x2d,0x43,0xee,
+ 0xc4,0xfc,0xd0,0xb1, 0xca,0x3b,0x5a,0xae, 0x7d,0x93,0x19,0x36, 0x0e,0x5f,0x01,0xb6,
+ 0x9c,0x54,0x16,0x2e, 0x2d,0x37,0xba,0x86, 0x79,0xea,0x16,0x77, 0x1e,0x56,0xee,0x57,
+ 0x11,0x5d,0x6e,0xfb, 0x95,0xa6,0xc7,0x75, 0x70,0x37,0x02,0x96, 0x9d,0x5e,0x0a,0xec,
+ 0xd4,0xd3,0x72,0xa9, 0xd4,0x3d,0x05,0xe9, 0x81,0x4d,0x3d,0x5d, 0x8e,0x05,0xf8,0x17,
+ 0x58,0xed,0xe7,0xd4, 0x9b,0xc0,0xa1,0x2e, 0x7b,0x3d,0x79,0x5f, 0xa5,0xf8,0x22,0x17,
+ 0x53,0xa5,0x47,0x03, 0x31,0xe4,0x52,0x83, 0x69,0xd1,0x12,0x4b, 0x6b,0x32,0xf5,0xc6,
+ 0x49,0xa0,0xca,0xad, 0xed,0x74,0x52,0xbc, 0x15,0xf4,0x90,0x5d, 0xa0,0x8a,0xd9,0xfd,
+ 0x6d,0xb3,0xc7,0xe0, 0x14,0x5b,0xcc,0x3d, 0xf4,0x92,0x62,0x21, 0xaa,0xf2,0xee,0x10,
+ 0x60,0x5c,0x58,0xdf, 0x85,0xd0,0x22,0x76, 0x98,0x0f,0xf1,0xcb, 0x17,0x63,0xc6,0xd8,
+ 0xa8,0x19,0x67,0xf4, 0x92,0x69,0xfa,0x84, 0x64,0xc8,0x5d,0xa1, 0xb0,0x39,0x08,0xce,
+ 0xa6,0x89,0x40,0x6b, 0x93,0x7a,0x9c,0x8c, 0x73,0x89,0x28,0x5e, 0xe0,0x83,0x45,0xc2,
+ 0xe2,0x3a,0x61,0x62, 0xea,0x71,0x36,0x7e, 0xbf,0xe6,0xc7,0x7f, 0xee,0x55,0xc7,0x5b,
+ 0xd0,0xfd,0x9e,0x09, 0x07,0xb3,0xe5,0x4f, 0x2d,0x21,0x66,0x2a, 0x9e,0x9d,0x53,0xd3,
+ 0x5c,0xad,0x97,0x8d, 0x9e,0xfb,0xec,0xe7, 0x71,0x6d,0x8c,0x78, 0x5d,0x2d,0x32,0xe4,
+ 0x94,0x14,0x4d,0xad, 0xbe,0x8d,0x84,0x8a, 0x81,0xc4,0xd4,0x27, 0xa0,0xab,0x68,0xfd,
+ 0x9d,0x1c,0xfe,0x80, 0x63,0xda,0x9d,0xc0, 0x6f,0x74,0x77,0x6c, 0xa6,0x34,0xdb,0xf0,
+ 0x96,0x26,0xf6,0x9f, 0xca,0xfb,0xa3,0xfc, 0x80,0x3d,0x9c,0xe4, 0x2e,0x27,0x73,0x52,
+ 0x5f,0xba,0xff,0xeb, 0xf8,0x4e,0x40,0xd4, 0xc4,0xe1,0x06,0x47, 0x2c,0x67,0x94,0x87,
+ 0x5e,0x75,0x0e,0x9c, 0x6c,0x7a,0x49,0x6e, 0x9d,0xe7,0x63,0x3d, 0x81,0xcb,0xf0,0xff,
+ 0x84,0x5f,0x8a,0xab, 0x70,0x07,0x1b,0x71, 0xed,0xdb,0xbb,0x39, 0x3c,0xfe,0x7b,0x15,
+ 0x11,0xae,0xc3,0x6e, 0x1e,0x92,0x32,0xa7, 0x4c,0xfa,0x94,0xd1, 0x1b,0x45,0xa4,0x05,
+ 0x83,0xd3,0xaa,0xd3, 0xa8,0xb8,0x3b,0xf2, 0xcc,0xc6,0x12,0x41, 0xd8,0xc9,0x80,0x6f,
+ 0x19,0x78,0x33,0xcc, 0xd8,0xc9,0x4a,0x05, 0x6a,0x7f,0x72,0x07, 0x80,0x2c,0x00,0x72,
+ 0x90,0x44,0xab,0xcb, 0x19,0xdf,0x50,0x92, 0x9b,0xfc,0x29,0x81, 0x46,0x8f,0xaf,0xcc,
+ 0xda,0xd9,0xb7,0x6f, 0x62,0x9f,0xa2,0x07, 0x23,0x08,0x20,0xd8, 0x14,0xa6,0xc8,0x49,
+ 0xc0,0x05,0x0c,0x42, 0x60,0xe7,0x2c,0x6b, 0x7f,0x25,0x81,0xe6, 0x6c,0x5e,0xe3,0x34,
+ 0x8c,0xd2,0x6c,0xa2, 0x03,0x14,0x3e,0x64, 0xfc,0x20,0x5a,0xd6, 0x24,0xc5,0xca,0x45,
+ 0x2f,0x1f,0x65,0x25, 0x25,0xfd,0x32,0x9e, 0x16,0x2e,0xe1,0x4a, 0xb9,0xc9,0xa5,0x9c,
+ 0x76,0x49,0xfb,0xfe, 0x05,0x83,0x37,0x98, 0xb3,0x80,0x7e,0x1c, 0xb2,0xcd,0xbd,0xda,
+ 0xa6,0xce,0xe6,0x25, 0x5f,0x31,0x66,0x09, 0x21,0xba,0xda,0x69, 0xf4,0x4b,0x47,0x1e,
+ 0x65,0xd2,0x4c,0x33, 0x7e,0xf0,0x02,0x7d, 0xdf,0x81,0x58,0xd6, 0x63,0x6e,0x32,0x68,
+ 0x42,0x5a,0xa3,0x1f, 0x67,0x20,0x12,0x1d, 0xd5,0x02,0x86,0xa2, 0xc1,0x91,0x80,0xc6,
+ 0xef,0x65,0x60,0x8e, 0x7f,0x09,0xa1,0x3b, 0xf1,0xf6,0x21,0xd5, 0x9e,0x33,0x9c,0xca,
+ 0x90,0xe0,0x43,0x70, 0x68,0x5f,0x24,0x48, 0xbc,0x2d,0xd6,0x0d, 0x67,0x98,0xdb,0xe0,
+ 0xe4,0x15,0xdd,0x3e, 0xb3,0xf1,0x63,0x0e, 0xf5,0xf9,0xa6,0x27, 0xae,0x3f,0x43,0xfe,
+ 0x03,0x79,0x08,0xdd, 0xfc,0x0f,0xae,0xb6, 0x72,0x73,0xc7,0x1f, 0x43,0x42,0x7d,0x08,
+ 0x14,0x41,0xd5,0x89, 0x2a,0x56,0xf0,0xb9, 0xe4,0xb5,0x64,0xe1, 0x9e,0x95,0xff,0x84,
+ 0x8f,0xa9,0xce,0xb3, 0x17,0x40,0xa4,0xf0, 0xb1,0x48,0x90,0x49, 0xda,0xc0,0x81,0xf5,
+ 0x4b,0xfc,0xf6,0x56, 0xc1,0x7c,0x5c,0x9a, 0x25,0x47,0xb1,0x08, 0x6c,0xd3,0xe4,0xc1,
+ 0xbb,0x8d,0x2a,0xa8, 0x84,0xd4,0x0f,0x1c, 0x78,0x6d,0x0d,0x01, 0x05,0xa3,0x7d,0x67,
+ 0x5c,0x24,0x36,0x8b, 0x51,0x1a,0x04,0xbf, 0x14,0xe0,0xb3,0x7e, 0x5e,0xfe,0xfb,0x65,
+ 0x3b,0x89,0x70,0x60, 0x52,0x9b,0x7e,0xe6, 0x55,0xda,0x90,0x2a, 0x2c,0x50,0xdc,0xaf,
+ 0xd0,0x27,0xc0,0x5b, 0xb7,0x2b,0x62,0x49, 0xb5,0x70,0x84,0xe5, 0x7b,0xb9,0x6d,0x50,
+ 0x63,0x9d,0xde,0xe0, 0x3e,0x40,0x9a,0x7d, 0x7a,0x27,0x08,0x88, 0xa9,0x19,0xab,0xbb,
+ 0x5c,0xb1,0x5c,0x6e, 0x11,0xa0,0x08,0x27, 0x5e,0xab,0x3b,0x2d, 0x98,0x1d,0x33,0x24,
+ 0xa9,0xfc,0xd2,0x56, 0xf5,0x0a,0x31,0x5d, 0x01,0x62,0xfe,0x0d, 0x55,0xec,0x9b,0x71,
+ 0x87,0xcf,0xa6,0xfb, 0x51,0x95,0xa0,0x59, 0xd9,0xa2,0xbf,0xd6, 0x95,0xd5,0x3b,0xb1,
+ 0x04,0x34,0xd3,0x7a, 0x69,0x6d,0x0a,0xef, 0xe1,0x32,0xa7,0x72, 0xc7,0x6f,0xc3,0x0b,
+ 0xb6,0x9d,0x1e,0x1d, 0x5d,0x5e,0x98,0x37, 0x98,0x93,0xec,0xa6, 0xeb,0xeb,0xfb,0xe6,
+ 0xb2,0x24,0x92,0xb6, 0xd5,0xd2,0x1a,0x97, 0x82,0x55,0xaa,0x4d, 0xd9,0xff,0xcc,0xfe,
+ 0xe7,0x37,0xb6,0xe3, 0x68,0x38,0xaf,0xe0, 0x3d,0x6d,0xca,0x16, 0x2c,0x39,0xd0,0xe2,
+ 0x90,0x08,0xa2,0x54, 0x6f,0x9a,0x8b,0x9d, 0x71,0x71,0x1e,0x1f, 0x9e,0x1e,0x08,0xc7,
+ 0x0b,0x06,0x2b,0x00, 0xd6,0x33,0x6c,0x3a, 0x0d,0x3e,0x89,0x9d, 0xad,0x10,0xdf,0x72,
+ 0xb4,0x9f,0x5c,0xf0, 0xa2,0xf8,0xad,0x1c, 0xc8,0x95,0xf7,0x17, 0x14,0x64,0xe8,0x73,
+ 0xf3,0x8b,0xa1,0x7b, 0x33,0x04,0x85,0xa7, 0x90,0xe0,0xf1,0x8b, 0x72,0xb9,0x1a,0x29,
+ 0x2e,0x1c,0x4c,0x38, 0x8f,0xb9,0x8b,0x21, 0x33,0x5e,0x85,0x9e, 0x2e,0xb6,0xcf,0x5c,
+ 0x7c,0xfe,0x28,0x68, 0x54,0x7e,0xa1,0x4f, 0x6a,0x97,0x49,0xcc, 0x21,0x4d,0x9b,0xb6,
+ 0x50,0x98,0x25,0x8f, 0x3c,0x64,0xad,0xeb, 0xad,0x52,0x0c,0xc4, 0xdf,0xff,0xb3,0xad,
+ 0x16,0x24,
+ // 0x692 = 1682 data bytes (42%)
};
static CompressManager_t prefix_inc_mgr
diff --git a/project/src/ui/tab-wbmgt.inc b/project/src/ui/tab-wbmgt.inc
index 67c6034..98ba29a 100644
--- a/project/src/ui/tab-wbmgt.inc
+++ b/project/src/ui/tab-wbmgt.inc
@@ -263,6 +263,9 @@
{ T_OPT_GO, "LE_CODE", "le-code|lecode",
0, 0 /* copy of wszst */ },
+ { T_OPT_G, "LE_04X", "le-04x|le04x",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GMP, "CHDIR", "chdir",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wctct.inc b/project/src/ui/tab-wctct.inc
index 6d17101..c6ea2a0 100644
--- a/project/src/ui/tab-wctct.inc
+++ b/project/src/ui/tab-wctct.inc
@@ -247,6 +247,9 @@
{ T_OPT_GO, "LE_CODE", "le-code|lecode",
0, 0 /* copy of wszst */ },
+ { T_OPT_G, "LE_04X", "le-04x|le04x",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_G, "OLD_SPINY", "old-spiny|oldspiny",
0,
"Disable the new feature to hold a Spiny Shell at the tail."
diff --git a/project/src/ui/tab-wimgt.inc b/project/src/ui/tab-wimgt.inc
index e00e325..17e3c87 100644
--- a/project/src/ui/tab-wimgt.inc
+++ b/project/src/ui/tab-wimgt.inc
@@ -223,6 +223,9 @@
{ T_OPT_GO, "LE_CODE", "le-code|lecode",
0, 0 /* copy of wszst */ },
+ { T_OPT_G, "LE_04X", "le-04x|le04x",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GMP, "CHDIR", "chdir",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wkclt.inc b/project/src/ui/tab-wkclt.inc
index 9716271..a8e6d07 100644
--- a/project/src/ui/tab-wkclt.inc
+++ b/project/src/ui/tab-wkclt.inc
@@ -338,6 +338,9 @@
{ T_OPT_GO, "LE_CODE", "le-code|lecode",
0, 0 /* copy of wszst */ },
+ { T_OPT_G, "LE_04X", "le-04x|le04x",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GMP, "CHDIR", "chdir",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wkmpt.inc b/project/src/ui/tab-wkmpt.inc
index 2c7b466..d8148cc 100644
--- a/project/src/ui/tab-wkmpt.inc
+++ b/project/src/ui/tab-wkmpt.inc
@@ -316,6 +316,9 @@
{ T_OPT_GO, "LE_CODE", "le-code|lecode",
0, 0 /* copy of wszst */ },
+ { T_OPT_G, "LE_04X", "le-04x|le04x",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GMP, "CHDIR", "chdir",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wlect.inc b/project/src/ui/tab-wlect.inc
index 95a1735..b61e53a 100644
--- a/project/src/ui/tab-wlect.inc
+++ b/project/src/ui/tab-wlect.inc
@@ -293,6 +293,9 @@
"This option is completely ignored by wlect."
" It only exists due to compatibility with the other tools." },
+ { T_OPT_G, "LE_04X", "le-04x|le04x",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GP, "LOAD_PREFIX", "load-prefix|loadprefix",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wmdlt.inc b/project/src/ui/tab-wmdlt.inc
index fb62bb6..033bce5 100644
--- a/project/src/ui/tab-wmdlt.inc
+++ b/project/src/ui/tab-wmdlt.inc
@@ -241,6 +241,9 @@
{ T_OPT_GO, "LE_CODE", "le-code|lecode",
0, 0 /* copy of wszst */ },
+ { T_OPT_G, "LE_04X", "le-04x|le04x",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GMP, "CHDIR", "chdir",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wpatt.inc b/project/src/ui/tab-wpatt.inc
index 49cb8f6..26dbb1e 100644
--- a/project/src/ui/tab-wpatt.inc
+++ b/project/src/ui/tab-wpatt.inc
@@ -206,6 +206,9 @@
{ T_OPT_GO, "LE_CODE", "le-code|lecode",
0, 0 /* copy of wszst */ },
+ { T_OPT_G, "LE_04X", "le-04x|le04x",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GMP, "CHDIR", "chdir",
0, 0 /* copy of wszst */ },
diff --git a/project/src/ui/tab-wstrt.inc b/project/src/ui/tab-wstrt.inc
index fb182bd..783ef45 100644
--- a/project/src/ui/tab-wstrt.inc
+++ b/project/src/ui/tab-wstrt.inc
@@ -201,7 +201,7 @@
{ T_DEF_CMD, "PATCH", "PATCH",
"wstrt PATCH [file]...",
- "Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii."
+ "Patch 'main.dol' and 'StaticR.rel' files of Mario Kart Wii."
" " WILDCARDS_PIPE
" No backup is made." },
@@ -275,6 +275,9 @@
{ T_OPT_GO, "LE_CODE", "le-code|lecode",
0, 0 /* copy of wszst */ },
+ { T_OPT_G, "LE_04X", "le-04x|le04x",
+ 0, 0 /* copy of wszst */ },
+
{ T_OPT_GMP, "CHDIR", "chdir",
0, 0 /* copy of wszst */ },
@@ -536,6 +539,10 @@
0,
"Add newest LE-CODE starter from 2023-12 to main.dol." },
+ { H_OPT_C, "ADDS_LECODE", "adds-lecode|addslecode",
+ 0,
+ "Add newest LE-CODE starter from 2023-12 to main.dol like --add-section does it." },
+
{ T_OPT_C, "ADD_OLD_LECODE", "add-old-lecode|addoldlecode",
0,
"Add old LE-CODE starter from 2019-01 to main.dol." },
@@ -566,7 +573,7 @@
{ T_OPT_CP, "ADD_SECTION", "add-section|addsection",
"file",
"Each option call adds the filename to an internal list."
- " Each file must be of type GCT, GCH or WCH."
+ " Each file must be of type GCT, GCT-TXT, GCH or WCH."
" All GCT files together are combined with an internal code handler"
" to one section (like a GCH file)."
" GCH and WCH define sections and patches. The defined sections"
@@ -623,13 +630,14 @@
" Parameter MODE is optional."
" If set, OFF disables and ON enables this feature."
" For mode AUTO (default) this feature is enabled,"
- " if the cheat codes are too large or for internal reasons." },
+ " if the cheat codes are too large (@end>0x80003000@)"
+ " or for internal conflicts." },
{ T_OPT_CP, "GCT_ADDR", "gct-addr|gctaddr",
"address",
"If {--gct-move} is active, a text section is created"
" to manage the code handler. This section is only needed at start"
- " and is placed by default at address 0c802c0000"
+ " and is placed by default at address 0x802c0000"
" (part of BSS, good address for all 4 regions)."
" This option changes the start address of the section."
" If address is @0@ or invalid, then unused BSS space is searched." },
@@ -648,7 +656,7 @@
" It is dedicated to custom distribution creators for test purposes."
" If enabled, a user can load an own instance of Gecko Code Handler"
" and cheat codes and can use them online."
- " If disabled, pachcing for online modus is disabled if an"
+ " If disabled, patching for online modus is disabled if an"
" alternative Gecko Code Handler is detected."
"\n "
" Parameter MODE is optional."
@@ -1185,6 +1193,7 @@
{ T_COPT, "CLEAN_DOL", 0,0,0 },
{ T_COPY_GRP, "PATCH", 0,0,0 },
{ T_COPT, "ADD_LECODE", 0,0,0 },
+ { H_COPT, "ADDS_LECODE", 0,0,0 },
{ T_COPT, "ADD_OLD_LECODE",0,0,0 },
{ T_COPT, "ADD_CTCODE", 0,0,0 },
{ T_COPT, "CT_DIR", 0,0,0 },
diff --git a/project/src/ui/tab-wszst.inc b/project/src/ui/tab-wszst.inc
index 3a719f7..25bed25 100644
--- a/project/src/ui/tab-wszst.inc
+++ b/project/src/ui/tab-wszst.inc
@@ -798,15 +798,15 @@
{ T_OPT_GM, "QUIET", "q|quiet",
0,
"Be quiet and print only error messages."
- " Multiple usage is possible."
+ " Multiple use is possible. Previous use of --verbose is reverted."
" The impact is command dependent."
- " In general: If set three times,"
- " different file format warnings are suppressed." },
+ " If set at least three times,"
+ " almost all error messages will be suppressed." },
{ T_OPT_GM, "VERBOSE", "v|verbose",
0,
"Be verbose and print more progress information."
- " Multiple usage is possible."
+ " Multiple use is possible. Previous use of --quiet is reverted."
" The impact is command dependent." },
{ T_OPT_GM, "LOGGING", "L|logging|log",
@@ -878,6 +878,11 @@
" The optional parameter is deprecated and ignored."
"\1 See https://szs.wiimm.de/opt/lecode for details." },
+ { T_OPT_G, "LE_04X", "le-04x|le04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots"
+ " to enable uniform slot numbers if slots >4095 are used." },
+
{ T_OPT_GP, "LOAD_PREFIX", "load-prefix|loadprefix",
"file",
"Read in a PREFIX file and replace the internal prefix database with the content."
@@ -1483,7 +1488,7 @@
{ T_OPT_GP, "MDL", "mdl",
"list",
"Set global options for MDL processing."
- " To enable MDL patching, use option {--patch-file}"
+ " To enable MDL patching, use option {--patch-files}"
" and select BRRES files for patching."
"\n "
" Parameter @'list'@ is a comma separated list of keywords."
@@ -1515,7 +1520,7 @@
" @AUTO, SIMPLE, COMPLEX, BOTH, SILENT@ and @LOG@."
"\1 See https://szs.wiimm.de/opt/pat for details." },
- { T_OPT_GP, "PATCH_FILE", "patch-file|patchfile|pfile",
+ { T_OPT_GP, "PATCH_FILES", "patch-files|patchfiles|pfiles",
"list",
"Define, which kind of KMP, KCL and BRRES/MDL files are objects"
" for patching. @--pfile@ is a short cut."
@@ -1526,7 +1531,7 @@
" and all other settings are untouched."
"\n "
" Keyword @DEFAULT@ resets the default settings (@TRACK,LOG@)"
- " and @CLEAR@ disables all."
+ " and @NONE@ disables all."
" The other allowed keywords are:"
" @KMP, KCL, OTHER-KCL, ALL-KCL, MODEL, MAP, VRCORN,"
" OTHER-BRRES, ALL-BRRES, TRACK (=KMP,KCL,MODEL,MAP,VRCORN),"
@@ -2223,6 +2228,10 @@
"\1 Read https://szs.wiimm.de/opt/source for more details." },
+ { H_OPT_CP, "ID_LIST", "id-list|idlist",
+ "file",
+ "Set filename of a SHA1ID file." },
+
{ T_OPT_CP, "REFERENCE", "ref|reference",
"path",
"Define a reference SZS." },
@@ -2689,7 +2698,7 @@
{ T_COPT, "MDL", 0,0,0 },
{ T_COPT, "MINIMAP", 0,0,0 },
{ T_COPT, "PAT", 0,0,0 },
- { T_COPT, "PATCH_FILE", 0,0,0 },
+ { T_COPT, "PATCH_FILES", 0,0,0 },
{ T_COPT, "LT_CLEAR", 0,0,0 },
{ T_COPT, "LT_ONLINE", 0,0,0 },
{ T_COPT, "LT_N_PLAYERS", 0,0,0 },
@@ -2966,6 +2975,12 @@
{ T_COPT, "NO_WILDCARDS", 0,0,0 },
{ T_COPT, "IN_ORDER", 0,0,0 },
{ T_COPT, "IGNORE", 0,0,0 },
+ { T_COPT, "SH", 0,0,
+ "Quote filenames for sh using '...'." },
+ { T_COPT, "BASH", 0,0,
+ "Ignore --sh and quote filenames for bash using $$'...'."
+ " Use »eval var=($$(wszst wildcards --bash ...))«"
+ " to assign the result to a bash array."},
//---------- COMMAND wszst TEST ----------
@@ -3379,6 +3394,7 @@
{ T_SEP_OPT, 0,0,0,0 },
{ T_COPY_GRP, "SCRIPT", 0,0,0 },
{ T_SEP_OPT, 0,0,0,0 },
+ { T_COPT, "ID_LIST", 0,0,0 },
{ T_COPT, "REFERENCE", 0,0,0 },
{ T_COPT, "DEST", 0,0,0 },
{ T_COPT, "DEST2", 0,0,0 },
diff --git a/project/src/ui/ui-wbmgt.c b/project/src/ui/ui-wbmgt.c
index c3461f6..30fad5f 100644
--- a/project/src/ui/ui-wbmgt.c
+++ b/project/src/ui/ui-wbmgt.c
@@ -371,15 +371,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
- "Be quiet and print only error messages. Multiple usage is possible."
- " The impact is command dependent. In general: If set three times,"
- " different file format warnings are suppressed."
+ "Be quiet and print only error messages. Multiple use is possible."
+ " Previous use of --verbose is reverted. The impact is command"
+ " dependent. If set at least three times, almost all error messages"
+ " will be suppressed."
},
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
- "Be verbose and print more progress information. Multiple usage is"
- " possible. The impact is command dependent."
+ "Be verbose and print more progress information. Multiple use is"
+ " possible. Previous use of --quiet is reverted. The impact is command"
+ " dependent."
},
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
@@ -447,6 +449,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" details."
},
+ { OPT_LE_04X, false, false, false, false, false, 0, "le-04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform"
+ " slot numbers if slots >4095 are used."
+ },
+
{ OPT_CHDIR, false, false, false, false, false, 0, "chdir",
"dir",
"Set a new working directory for all following options, for all"
@@ -570,7 +578,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 69
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 70
};
@@ -732,6 +740,8 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "le-04x", 0, 0, GO_LE_04X },
+ { "le04x", 0, 0, GO_LE_04X },
{ "chdir", 1, 0, GO_CHDIR },
{ "const", 1, 0, 'c' },
{ "long", 0, 0, 'l' },
@@ -888,36 +898,37 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08a */ OPT_NO_COLORS,
/* 0x08b */ OPT_CT_CODE,
/* 0x08c */ OPT_LE_CODE,
- /* 0x08d */ OPT_CHDIR,
- /* 0x08e */ OPT_NO_WILDCARDS,
- /* 0x08f */ OPT_IN_ORDER,
- /* 0x090 */ OPT_POINTS,
- /* 0x091 */ OPT_UTF_8,
- /* 0x092 */ OPT_NO_UTF_8,
- /* 0x093 */ OPT_FORCE,
- /* 0x094 */ OPT_REPAIR_MAGICS,
- /* 0x095 */ OPT_OLD,
- /* 0x096 */ OPT_STD,
- /* 0x097 */ OPT_NEW,
- /* 0x098 */ OPT_EXTRACT,
- /* 0x099 */ OPT_NUMBER,
- /* 0x09a */ OPT_ALIGN,
- /* 0x09b */ OPT_MACRO_BMG,
- /* 0x09c */ OPT_FILTER_BMG,
- /* 0x09d */ OPT_BMG_ENDIAN,
- /* 0x09e */ OPT_BMG_ENCODING,
- /* 0x09f */ OPT_BMG_INF_SIZE,
- /* 0x0a0 */ OPT_BMG_MID,
- /* 0x0a1 */ OPT_FORCE_ATTRIB,
- /* 0x0a2 */ OPT_DEF_ATTRIB,
- /* 0x0a3 */ OPT_NO_ATTRIB,
- /* 0x0a4 */ OPT_X_ESCAPES,
- /* 0x0a5 */ OPT_OLD_ESCAPES,
- /* 0x0a6 */ OPT_NO_BMG_COLORS,
- /* 0x0a7 */ OPT_BMG_COLORS,
- /* 0x0a8 */ OPT_NO_BMG_INLINE,
- /* 0x0a9 */ OPT_SECTIONS,
- /* 0x0aa */ 0,0,0,0, 0,0,
+ /* 0x08d */ OPT_LE_04X,
+ /* 0x08e */ OPT_CHDIR,
+ /* 0x08f */ OPT_NO_WILDCARDS,
+ /* 0x090 */ OPT_IN_ORDER,
+ /* 0x091 */ OPT_POINTS,
+ /* 0x092 */ OPT_UTF_8,
+ /* 0x093 */ OPT_NO_UTF_8,
+ /* 0x094 */ OPT_FORCE,
+ /* 0x095 */ OPT_REPAIR_MAGICS,
+ /* 0x096 */ OPT_OLD,
+ /* 0x097 */ OPT_STD,
+ /* 0x098 */ OPT_NEW,
+ /* 0x099 */ OPT_EXTRACT,
+ /* 0x09a */ OPT_NUMBER,
+ /* 0x09b */ OPT_ALIGN,
+ /* 0x09c */ OPT_MACRO_BMG,
+ /* 0x09d */ OPT_FILTER_BMG,
+ /* 0x09e */ OPT_BMG_ENDIAN,
+ /* 0x09f */ OPT_BMG_ENCODING,
+ /* 0x0a0 */ OPT_BMG_INF_SIZE,
+ /* 0x0a1 */ OPT_BMG_MID,
+ /* 0x0a2 */ OPT_FORCE_ATTRIB,
+ /* 0x0a3 */ OPT_DEF_ATTRIB,
+ /* 0x0a4 */ OPT_NO_ATTRIB,
+ /* 0x0a5 */ OPT_X_ESCAPES,
+ /* 0x0a6 */ OPT_OLD_ESCAPES,
+ /* 0x0a7 */ OPT_NO_BMG_COLORS,
+ /* 0x0a8 */ OPT_BMG_COLORS,
+ /* 0x0a9 */ OPT_NO_BMG_INLINE,
+ /* 0x0aa */ OPT_SECTIONS,
+ /* 0x0ab */ 0,0,0,0, 0,
/* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1101,6 +1112,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LE_04X,
OptionInfo + OPT_CHDIR,
OptionInfo + OPT_CONST,
OptionInfo + OPT_MAX_FILE_SIZE,
@@ -1522,7 +1534,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wbmgt [option]... command [option|parameter|file]...",
"Wiimms BMG Tool : Convert and patch raw and text BMG (message) files.",
0,
- 29,
+ 30,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wbmgt.h b/project/src/ui/ui-wbmgt.h
index c5b884a..c75aecf 100644
--- a/project/src/ui/ui-wbmgt.h
+++ b/project/src/ui/ui-wbmgt.h
@@ -114,6 +114,7 @@ typedef enum enumOptions
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LE_04X,
OPT_CHDIR,
OPT_CONST,
OPT_MAX_FILE_SIZE,
@@ -130,7 +131,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 69
+ OPT__N_TOTAL // == 70
} enumOptions;
@@ -407,6 +408,7 @@ typedef enum enumGetOpt
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LE_04X,
GO_CHDIR,
GO_NO_WILDCARDS,
GO_IN_ORDER,
diff --git a/project/src/ui/ui-wctct.c b/project/src/ui/ui-wctct.c
index 12db700..01f3053 100644
--- a/project/src/ui/ui-wctct.c
+++ b/project/src/ui/ui-wctct.c
@@ -471,15 +471,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
- "Be quiet and print only error messages. Multiple usage is possible."
- " The impact is command dependent. In general: If set three times,"
- " different file format warnings are suppressed."
+ "Be quiet and print only error messages. Multiple use is possible."
+ " Previous use of --verbose is reverted. The impact is command"
+ " dependent. If set at least three times, almost all error messages"
+ " will be suppressed."
},
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
- "Be verbose and print more progress information. Multiple usage is"
- " possible. The impact is command dependent."
+ "Be verbose and print more progress information. Multiple use is"
+ " possible. Previous use of --quiet is reverted. The impact is command"
+ " dependent."
},
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
@@ -547,6 +549,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" details."
},
+ { OPT_LE_04X, false, false, false, false, false, 0, "le-04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform"
+ " slot numbers if slots >4095 are used."
+ },
+
{ OPT_OLD_SPINY, false, false, false, false, false, 0, "old-spiny",
0,
"Disable the new feature to hold a Spiny Shell at the tail."
@@ -707,7 +715,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" 0x3b:0x41 and 0x44:0xfe."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 89
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 90
};
@@ -929,6 +937,8 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "le-04x", 0, 0, GO_LE_04X },
+ { "le04x", 0, 0, GO_LE_04X },
{ "old-spiny", 0, 0, GO_OLD_SPINY },
{ "oldspiny", 0, 0, GO_OLD_SPINY },
{ "crs1", 1, 0, GO_CRS1 },
@@ -1114,55 +1124,56 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08a */ OPT_NO_COLORS,
/* 0x08b */ OPT_CT_CODE,
/* 0x08c */ OPT_LE_CODE,
- /* 0x08d */ OPT_OLD_SPINY,
- /* 0x08e */ OPT_CRS1,
- /* 0x08f */ OPT_CHDIR,
- /* 0x090 */ OPT_ROUND,
- /* 0x091 */ OPT_NO_WILDCARDS,
- /* 0x092 */ OPT_IN_ORDER,
- /* 0x093 */ OPT_RAW,
- /* 0x094 */ OPT_BMG_ENDIAN,
- /* 0x095 */ OPT_BMG_ENCODING,
- /* 0x096 */ OPT_BMG_INF_SIZE,
- /* 0x097 */ OPT_BMG_MID,
- /* 0x098 */ OPT_FORCE_ATTRIB,
- /* 0x099 */ OPT_DEF_ATTRIB,
- /* 0x09a */ OPT_NO_ATTRIB,
- /* 0x09b */ OPT_X_ESCAPES,
- /* 0x09c */ OPT_OLD_ESCAPES,
- /* 0x09d */ OPT_NO_BMG_COLORS,
- /* 0x09e */ OPT_BMG_COLORS,
- /* 0x09f */ OPT_NO_BMG_INLINE,
- /* 0x0a0 */ OPT_NO_ECHO,
- /* 0x0a1 */ OPT_UTF_8,
- /* 0x0a2 */ OPT_NO_UTF_8,
- /* 0x0a3 */ OPT_FORCE,
- /* 0x0a4 */ OPT_REPAIR_MAGICS,
- /* 0x0a5 */ OPT_CREATE_DISTRIB,
- /* 0x0a6 */ OPT_OLD,
- /* 0x0a7 */ OPT_STD,
- /* 0x0a8 */ OPT_NEW,
- /* 0x0a9 */ OPT_EXTRACT,
- /* 0x0aa */ OPT_LIST,
- /* 0x0ab */ OPT_REF,
- /* 0x0ac */ OPT_FULL,
- /* 0x0ad */ OPT_HEX,
- /* 0x0ae */ OPT_CT_DIR,
- /* 0x0af */ OPT_CT_LOG,
- /* 0x0b0 */ OPT_ALLOW_SLOTS,
- /* 0x0b1 */ OPT_IMAGES,
- /* 0x0b2 */ OPT_LOAD_BMG,
- /* 0x0b3 */ OPT_PATCH_BMG,
- /* 0x0b4 */ OPT_MACRO_BMG,
- /* 0x0b5 */ OPT_FILTER_BMG,
- /* 0x0b6 */ OPT_PATCH_NAMES,
- /* 0x0b7 */ OPT_ORDER_BY,
- /* 0x0b8 */ OPT_ORDER_ALL,
- /* 0x0b9 */ OPT_DYNAMIC,
- /* 0x0ba */ OPT_WRITE_TRACKS,
- /* 0x0bb */ OPT_NUMBER,
- /* 0x0bc */ OPT_SECTIONS,
- /* 0x0bd */ 0,0,0,
+ /* 0x08d */ OPT_LE_04X,
+ /* 0x08e */ OPT_OLD_SPINY,
+ /* 0x08f */ OPT_CRS1,
+ /* 0x090 */ OPT_CHDIR,
+ /* 0x091 */ OPT_ROUND,
+ /* 0x092 */ OPT_NO_WILDCARDS,
+ /* 0x093 */ OPT_IN_ORDER,
+ /* 0x094 */ OPT_RAW,
+ /* 0x095 */ OPT_BMG_ENDIAN,
+ /* 0x096 */ OPT_BMG_ENCODING,
+ /* 0x097 */ OPT_BMG_INF_SIZE,
+ /* 0x098 */ OPT_BMG_MID,
+ /* 0x099 */ OPT_FORCE_ATTRIB,
+ /* 0x09a */ OPT_DEF_ATTRIB,
+ /* 0x09b */ OPT_NO_ATTRIB,
+ /* 0x09c */ OPT_X_ESCAPES,
+ /* 0x09d */ OPT_OLD_ESCAPES,
+ /* 0x09e */ OPT_NO_BMG_COLORS,
+ /* 0x09f */ OPT_BMG_COLORS,
+ /* 0x0a0 */ OPT_NO_BMG_INLINE,
+ /* 0x0a1 */ OPT_NO_ECHO,
+ /* 0x0a2 */ OPT_UTF_8,
+ /* 0x0a3 */ OPT_NO_UTF_8,
+ /* 0x0a4 */ OPT_FORCE,
+ /* 0x0a5 */ OPT_REPAIR_MAGICS,
+ /* 0x0a6 */ OPT_CREATE_DISTRIB,
+ /* 0x0a7 */ OPT_OLD,
+ /* 0x0a8 */ OPT_STD,
+ /* 0x0a9 */ OPT_NEW,
+ /* 0x0aa */ OPT_EXTRACT,
+ /* 0x0ab */ OPT_LIST,
+ /* 0x0ac */ OPT_REF,
+ /* 0x0ad */ OPT_FULL,
+ /* 0x0ae */ OPT_HEX,
+ /* 0x0af */ OPT_CT_DIR,
+ /* 0x0b0 */ OPT_CT_LOG,
+ /* 0x0b1 */ OPT_ALLOW_SLOTS,
+ /* 0x0b2 */ OPT_IMAGES,
+ /* 0x0b3 */ OPT_LOAD_BMG,
+ /* 0x0b4 */ OPT_PATCH_BMG,
+ /* 0x0b5 */ OPT_MACRO_BMG,
+ /* 0x0b6 */ OPT_FILTER_BMG,
+ /* 0x0b7 */ OPT_PATCH_NAMES,
+ /* 0x0b8 */ OPT_ORDER_BY,
+ /* 0x0b9 */ OPT_ORDER_ALL,
+ /* 0x0ba */ OPT_DYNAMIC,
+ /* 0x0bb */ OPT_WRITE_TRACKS,
+ /* 0x0bc */ OPT_NUMBER,
+ /* 0x0bd */ OPT_SECTIONS,
+ /* 0x0be */ 0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1345,6 +1356,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LE_04X,
OptionInfo + OPT_OLD_SPINY,
OptionInfo + OPT_CRS1,
OptionInfo + OPT_CHDIR,
@@ -1753,7 +1765,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Wiimms CT-CODE Tool : Manage the CT-CODE extension. BRRES, TEX0,"
" CT-CODE, CT-TEXT and LE-BIN files are accepted as input.",
0,
- 32,
+ 33,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wctct.h b/project/src/ui/ui-wctct.h
index 0c3470d..90c24d1 100644
--- a/project/src/ui/ui-wctct.h
+++ b/project/src/ui/ui-wctct.h
@@ -129,6 +129,7 @@ typedef enum enumOptions
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LE_04X,
OPT_OLD_SPINY,
OPT_CRS1,
OPT_CHDIR,
@@ -150,7 +151,7 @@ typedef enum enumOptions
OPT_CT_LOG,
OPT_ALLOW_SLOTS,
- OPT__N_TOTAL // == 89
+ OPT__N_TOTAL // == 90
} enumOptions;
@@ -475,6 +476,7 @@ typedef enum enumGetOpt
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LE_04X,
GO_OLD_SPINY,
GO_CRS1,
GO_CHDIR,
diff --git a/project/src/ui/ui-wimgt.c b/project/src/ui/ui-wimgt.c
index 76ff24e..f762a1d 100644
--- a/project/src/ui/ui-wimgt.c
+++ b/project/src/ui/ui-wimgt.c
@@ -337,15 +337,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
- "Be quiet and print only error messages. Multiple usage is possible."
- " The impact is command dependent. In general: If set three times,"
- " different file format warnings are suppressed."
+ "Be quiet and print only error messages. Multiple use is possible."
+ " Previous use of --verbose is reverted. The impact is command"
+ " dependent. If set at least three times, almost all error messages"
+ " will be suppressed."
},
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
- "Be verbose and print more progress information. Multiple usage is"
- " possible. The impact is command dependent."
+ "Be verbose and print more progress information. Multiple use is"
+ " possible. Previous use of --quiet is reverted. The impact is command"
+ " dependent."
},
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
@@ -413,6 +415,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" details."
},
+ { OPT_LE_04X, false, false, false, false, false, 0, "le-04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform"
+ " slot numbers if slots >4095 are used."
+ },
+
{ OPT_CHDIR, false, false, false, false, false, 0, "chdir",
"dir",
"Set a new working directory for all following options, for all"
@@ -524,7 +532,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 62
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 63
};
@@ -676,6 +684,8 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "le-04x", 0, 0, GO_LE_04X },
+ { "le04x", 0, 0, GO_LE_04X },
{ "chdir", 1, 0, GO_CHDIR },
{ "const", 1, 0, 'c' },
{ "long", 0, 0, 'l' },
@@ -818,29 +828,30 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08a */ OPT_NO_COLORS,
/* 0x08b */ OPT_CT_CODE,
/* 0x08c */ OPT_LE_CODE,
- /* 0x08d */ OPT_CHDIR,
- /* 0x08e */ OPT_NO_WILDCARDS,
- /* 0x08f */ OPT_IN_ORDER,
- /* 0x090 */ OPT_UTF_8,
- /* 0x091 */ OPT_NO_UTF_8,
- /* 0x092 */ OPT_FORCE,
- /* 0x093 */ OPT_REPAIR_MAGICS,
- /* 0x094 */ OPT_OLD,
- /* 0x095 */ OPT_STD,
- /* 0x096 */ OPT_NEW,
- /* 0x097 */ OPT_EXTRACT,
- /* 0x098 */ OPT_NUMBER,
- /* 0x099 */ OPT_MIPMAPS,
- /* 0x09a */ OPT_NO_MIPMAPS,
- /* 0x09b */ OPT_N_MIPMAPS,
- /* 0x09c */ OPT_MAX_MIPMAPS,
- /* 0x09d */ OPT_MIPMAP_SIZE,
- /* 0x09e */ OPT_FAST_MIPMAPS,
- /* 0x09f */ OPT_CMPR_DEFAULT,
- /* 0x0a0 */ OPT_PRE_CONVERT,
- /* 0x0a1 */ OPT_STRIP,
- /* 0x0a2 */ OPT_SECTIONS,
- /* 0x0a3 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
+ /* 0x08d */ OPT_LE_04X,
+ /* 0x08e */ OPT_CHDIR,
+ /* 0x08f */ OPT_NO_WILDCARDS,
+ /* 0x090 */ OPT_IN_ORDER,
+ /* 0x091 */ OPT_UTF_8,
+ /* 0x092 */ OPT_NO_UTF_8,
+ /* 0x093 */ OPT_FORCE,
+ /* 0x094 */ OPT_REPAIR_MAGICS,
+ /* 0x095 */ OPT_OLD,
+ /* 0x096 */ OPT_STD,
+ /* 0x097 */ OPT_NEW,
+ /* 0x098 */ OPT_EXTRACT,
+ /* 0x099 */ OPT_NUMBER,
+ /* 0x09a */ OPT_MIPMAPS,
+ /* 0x09b */ OPT_NO_MIPMAPS,
+ /* 0x09c */ OPT_N_MIPMAPS,
+ /* 0x09d */ OPT_MAX_MIPMAPS,
+ /* 0x09e */ OPT_MIPMAP_SIZE,
+ /* 0x09f */ OPT_FAST_MIPMAPS,
+ /* 0x0a0 */ OPT_CMPR_DEFAULT,
+ /* 0x0a1 */ OPT_PRE_CONVERT,
+ /* 0x0a2 */ OPT_STRIP,
+ /* 0x0a3 */ OPT_SECTIONS,
+ /* 0x0a4 */ 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -971,6 +982,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LE_04X,
OptionInfo + OPT_CHDIR,
OptionInfo + OPT_CONST,
OptionInfo + OPT_MAX_FILE_SIZE,
@@ -1288,7 +1300,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Wiimms Image Tool : Extract and convert graphic images. The file"
" formats TPL, TEX, BTI, BREFT and PNG are supported.",
0,
- 26,
+ 27,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wimgt.h b/project/src/ui/ui-wimgt.h
index df4f26a..a8312be 100644
--- a/project/src/ui/ui-wimgt.h
+++ b/project/src/ui/ui-wimgt.h
@@ -108,6 +108,7 @@ typedef enum enumOptions
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LE_04X,
OPT_CHDIR,
OPT_CONST,
OPT_MAX_FILE_SIZE,
@@ -123,7 +124,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 62
+ OPT__N_TOTAL // == 63
} enumOptions;
@@ -332,6 +333,7 @@ typedef enum enumGetOpt
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LE_04X,
GO_CHDIR,
GO_NO_WILDCARDS,
GO_IN_ORDER,
diff --git a/project/src/ui/ui-wkclt.c b/project/src/ui/ui-wkclt.c
index 93c369e..a537f04 100644
--- a/project/src/ui/ui-wkclt.c
+++ b/project/src/ui/ui-wkclt.c
@@ -471,15 +471,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
- "Be quiet and print only error messages. Multiple usage is possible."
- " The impact is command dependent. In general: If set three times,"
- " different file format warnings are suppressed."
+ "Be quiet and print only error messages. Multiple use is possible."
+ " Previous use of --verbose is reverted. The impact is command"
+ " dependent. If set at least three times, almost all error messages"
+ " will be suppressed."
},
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
- "Be verbose and print more progress information. Multiple usage is"
- " possible. The impact is command dependent."
+ "Be verbose and print more progress information. Multiple use is"
+ " possible. Previous use of --quiet is reverted. The impact is command"
+ " dependent."
},
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
@@ -547,6 +549,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" details."
},
+ { OPT_LE_04X, false, false, false, false, false, 0, "le-04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform"
+ " slot numbers if slots >4095 are used."
+ },
+
{ OPT_CHDIR, false, false, false, false, false, 0, "chdir",
"dir",
"Set a new working directory for all following options, for all"
@@ -709,7 +717,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 82
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 83
};
@@ -1013,6 +1021,8 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "le-04x", 0, 0, GO_LE_04X },
+ { "le04x", 0, 0, GO_LE_04X },
{ "chdir", 1, 0, GO_CHDIR },
{ "const", 1, 0, 'c' },
{ "scale", 1, 0, GO_SCALE },
@@ -1171,50 +1181,51 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08a */ OPT_NO_COLORS,
/* 0x08b */ OPT_CT_CODE,
/* 0x08c */ OPT_LE_CODE,
- /* 0x08d */ OPT_CHDIR,
- /* 0x08e */ OPT_SCALE,
- /* 0x08f */ OPT_SHIFT,
- /* 0x090 */ OPT_XSS,
- /* 0x091 */ OPT_YSS,
- /* 0x092 */ OPT_ZSS,
- /* 0x093 */ OPT_ROT,
- /* 0x094 */ OPT_XROT,
- /* 0x095 */ OPT_YROT,
- /* 0x096 */ OPT_ZROT,
- /* 0x097 */ OPT_TRANSLATE,
- /* 0x098 */ OPT_NULL,
- /* 0x099 */ OPT_NEXT,
- /* 0x09a */ OPT_ASCALE,
- /* 0x09b */ OPT_AROT,
- /* 0x09c */ OPT_TFORM_SCRIPT,
- /* 0x09d */ OPT_KCL,
- /* 0x09e */ OPT_KCL_FLAG,
- /* 0x09f */ OPT_KCL_SCRIPT,
- /* 0x0a0 */ OPT_TRI_AREA,
- /* 0x0a1 */ OPT_TRI_HEIGHT,
- /* 0x0a2 */ OPT_FLAG_FILE,
- /* 0x0a3 */ OPT_XTRIDATA,
- /* 0x0a4 */ OPT_SLOT,
- /* 0x0a5 */ OPT_ID,
- /* 0x0a6 */ OPT_BASE64,
- /* 0x0a7 */ OPT_DB64,
- /* 0x0a8 */ OPT_CODING,
- /* 0x0a9 */ OPT_ROUND,
- /* 0x0aa */ OPT_NO_WILDCARDS,
- /* 0x0ab */ OPT_IN_ORDER,
- /* 0x0ac */ OPT_NO_ECHO,
- /* 0x0ad */ OPT_UTF_8,
- /* 0x0ae */ OPT_NO_UTF_8,
- /* 0x0af */ OPT_FORCE,
- /* 0x0b0 */ OPT_REPAIR_MAGICS,
- /* 0x0b1 */ OPT_TINY,
- /* 0x0b2 */ OPT_OLD,
- /* 0x0b3 */ OPT_STD,
- /* 0x0b4 */ OPT_NEW,
- /* 0x0b5 */ OPT_EXTRACT,
- /* 0x0b6 */ OPT_NUMBER,
- /* 0x0b7 */ OPT_SECTIONS,
- /* 0x0b8 */ 0,0,0,0, 0,0,0,0,
+ /* 0x08d */ OPT_LE_04X,
+ /* 0x08e */ OPT_CHDIR,
+ /* 0x08f */ OPT_SCALE,
+ /* 0x090 */ OPT_SHIFT,
+ /* 0x091 */ OPT_XSS,
+ /* 0x092 */ OPT_YSS,
+ /* 0x093 */ OPT_ZSS,
+ /* 0x094 */ OPT_ROT,
+ /* 0x095 */ OPT_XROT,
+ /* 0x096 */ OPT_YROT,
+ /* 0x097 */ OPT_ZROT,
+ /* 0x098 */ OPT_TRANSLATE,
+ /* 0x099 */ OPT_NULL,
+ /* 0x09a */ OPT_NEXT,
+ /* 0x09b */ OPT_ASCALE,
+ /* 0x09c */ OPT_AROT,
+ /* 0x09d */ OPT_TFORM_SCRIPT,
+ /* 0x09e */ OPT_KCL,
+ /* 0x09f */ OPT_KCL_FLAG,
+ /* 0x0a0 */ OPT_KCL_SCRIPT,
+ /* 0x0a1 */ OPT_TRI_AREA,
+ /* 0x0a2 */ OPT_TRI_HEIGHT,
+ /* 0x0a3 */ OPT_FLAG_FILE,
+ /* 0x0a4 */ OPT_XTRIDATA,
+ /* 0x0a5 */ OPT_SLOT,
+ /* 0x0a6 */ OPT_ID,
+ /* 0x0a7 */ OPT_BASE64,
+ /* 0x0a8 */ OPT_DB64,
+ /* 0x0a9 */ OPT_CODING,
+ /* 0x0aa */ OPT_ROUND,
+ /* 0x0ab */ OPT_NO_WILDCARDS,
+ /* 0x0ac */ OPT_IN_ORDER,
+ /* 0x0ad */ OPT_NO_ECHO,
+ /* 0x0ae */ OPT_UTF_8,
+ /* 0x0af */ OPT_NO_UTF_8,
+ /* 0x0b0 */ OPT_FORCE,
+ /* 0x0b1 */ OPT_REPAIR_MAGICS,
+ /* 0x0b2 */ OPT_TINY,
+ /* 0x0b3 */ OPT_OLD,
+ /* 0x0b4 */ OPT_STD,
+ /* 0x0b5 */ OPT_NEW,
+ /* 0x0b6 */ OPT_EXTRACT,
+ /* 0x0b7 */ OPT_NUMBER,
+ /* 0x0b8 */ OPT_SECTIONS,
+ /* 0x0b9 */ 0,0,0,0, 0,0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1457,6 +1468,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LE_04X,
OptionInfo + OPT_CHDIR,
OptionInfo + OPT_CONST,
OptionInfo + OPT_KCL,
@@ -2259,7 +2271,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Wiimms KCL Tool : Analyze, modify, export and create KCL and OBJ"
" files.",
0,
- 30,
+ 31,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wkclt.h b/project/src/ui/ui-wkclt.h
index 7c27d16..e7caae7 100644
--- a/project/src/ui/ui-wkclt.h
+++ b/project/src/ui/ui-wkclt.h
@@ -123,6 +123,7 @@ typedef enum enumOptions
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LE_04X,
OPT_CHDIR,
OPT_CONST,
OPT_KCL,
@@ -143,7 +144,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 82
+ OPT__N_TOTAL // == 83
} enumOptions;
@@ -485,6 +486,7 @@ typedef enum enumGetOpt
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LE_04X,
GO_CHDIR,
GO_SCALE,
GO_SHIFT,
diff --git a/project/src/ui/ui-wkmpt.c b/project/src/ui/ui-wkmpt.c
index f05cdfc..1732e0f 100644
--- a/project/src/ui/ui-wkmpt.c
+++ b/project/src/ui/ui-wkmpt.c
@@ -563,15 +563,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
- "Be quiet and print only error messages. Multiple usage is possible."
- " The impact is command dependent. In general: If set three times,"
- " different file format warnings are suppressed."
+ "Be quiet and print only error messages. Multiple use is possible."
+ " Previous use of --verbose is reverted. The impact is command"
+ " dependent. If set at least three times, almost all error messages"
+ " will be suppressed."
},
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
- "Be verbose and print more progress information. Multiple usage is"
- " possible. The impact is command dependent."
+ "Be verbose and print more progress information. Multiple use is"
+ " possible. Previous use of --quiet is reverted. The impact is command"
+ " dependent."
},
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
@@ -639,6 +641,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" details."
},
+ { OPT_LE_04X, false, false, false, false, false, 0, "le-04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform"
+ " slot numbers if slots >4095 are used."
+ },
+
{ OPT_CHDIR, false, false, false, false, false, 0, "chdir",
"dir",
"Set a new working directory for all following options, for all"
@@ -913,7 +921,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 100
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 101
};
@@ -1230,6 +1238,8 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "le-04x", 0, 0, GO_LE_04X },
+ { "le04x", 0, 0, GO_LE_04X },
{ "chdir", 1, 0, GO_CHDIR },
{ "const", 1, 0, 'c' },
{ "scale", 1, 0, GO_SCALE },
@@ -1423,65 +1433,66 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08a */ OPT_NO_COLORS,
/* 0x08b */ OPT_CT_CODE,
/* 0x08c */ OPT_LE_CODE,
- /* 0x08d */ OPT_CHDIR,
- /* 0x08e */ OPT_SCALE,
- /* 0x08f */ OPT_SHIFT,
- /* 0x090 */ OPT_XSS,
- /* 0x091 */ OPT_YSS,
- /* 0x092 */ OPT_ZSS,
- /* 0x093 */ OPT_ROT,
- /* 0x094 */ OPT_XROT,
- /* 0x095 */ OPT_YROT,
- /* 0x096 */ OPT_ZROT,
- /* 0x097 */ OPT_YPOS,
- /* 0x098 */ OPT_TRANSLATE,
- /* 0x099 */ OPT_NULL,
- /* 0x09a */ OPT_NEXT,
- /* 0x09b */ OPT_ASCALE,
- /* 0x09c */ OPT_AROT,
- /* 0x09d */ OPT_TFORM_SCRIPT,
- /* 0x09e */ OPT_RM_GOBJ,
- /* 0x09f */ OPT_BATTLE,
- /* 0x0a0 */ OPT_EXPORT_FLAGS,
- /* 0x0a1 */ OPT_ROUTE_OPTIONS,
- /* 0x0a2 */ OPT_WIM0,
- /* 0x0a3 */ OPT_SLOT,
- /* 0x0a4 */ OPT_POS_MODE,
- /* 0x0a5 */ OPT_POS_FILE,
- /* 0x0a6 */ OPT_PNG,
- /* 0x0a7 */ OPT_LOAD_KCL,
- /* 0x0a8 */ OPT_KCL,
- /* 0x0a9 */ OPT_KCL_FLAG,
- /* 0x0aa */ OPT_KCL_SCRIPT,
- /* 0x0ab */ OPT_TRI_AREA,
- /* 0x0ac */ OPT_TRI_HEIGHT,
- /* 0x0ad */ OPT_FLAG_FILE,
- /* 0x0ae */ OPT_XTRIDATA,
- /* 0x0af */ OPT_KMP,
- /* 0x0b0 */ OPT_N_LAPS,
- /* 0x0b1 */ OPT_SPEED_MOD,
- /* 0x0b2 */ OPT_KTPT2,
- /* 0x0b3 */ OPT_TFORM_KMP,
- /* 0x0b4 */ OPT_REPAIR_XPF,
- /* 0x0b5 */ OPT_GAMEMODES,
- /* 0x0b6 */ OPT_ROUND,
- /* 0x0b7 */ OPT_NO_WILDCARDS,
- /* 0x0b8 */ OPT_IN_ORDER,
- /* 0x0b9 */ OPT_EPSILON,
- /* 0x0ba */ OPT_DIFF,
- /* 0x0bb */ OPT_NO_ECHO,
- /* 0x0bc */ OPT_UTF_8,
- /* 0x0bd */ OPT_NO_UTF_8,
- /* 0x0be */ OPT_FORCE,
- /* 0x0bf */ OPT_REPAIR_MAGICS,
- /* 0x0c0 */ OPT_TINY,
- /* 0x0c1 */ OPT_OLD,
- /* 0x0c2 */ OPT_STD,
- /* 0x0c3 */ OPT_NEW,
- /* 0x0c4 */ OPT_EXTRACT,
- /* 0x0c5 */ OPT_NUMBER,
- /* 0x0c6 */ OPT_SECTIONS,
- /* 0x0c7 */ 0,0,0,0, 0,0,0,0, 0,
+ /* 0x08d */ OPT_LE_04X,
+ /* 0x08e */ OPT_CHDIR,
+ /* 0x08f */ OPT_SCALE,
+ /* 0x090 */ OPT_SHIFT,
+ /* 0x091 */ OPT_XSS,
+ /* 0x092 */ OPT_YSS,
+ /* 0x093 */ OPT_ZSS,
+ /* 0x094 */ OPT_ROT,
+ /* 0x095 */ OPT_XROT,
+ /* 0x096 */ OPT_YROT,
+ /* 0x097 */ OPT_ZROT,
+ /* 0x098 */ OPT_YPOS,
+ /* 0x099 */ OPT_TRANSLATE,
+ /* 0x09a */ OPT_NULL,
+ /* 0x09b */ OPT_NEXT,
+ /* 0x09c */ OPT_ASCALE,
+ /* 0x09d */ OPT_AROT,
+ /* 0x09e */ OPT_TFORM_SCRIPT,
+ /* 0x09f */ OPT_RM_GOBJ,
+ /* 0x0a0 */ OPT_BATTLE,
+ /* 0x0a1 */ OPT_EXPORT_FLAGS,
+ /* 0x0a2 */ OPT_ROUTE_OPTIONS,
+ /* 0x0a3 */ OPT_WIM0,
+ /* 0x0a4 */ OPT_SLOT,
+ /* 0x0a5 */ OPT_POS_MODE,
+ /* 0x0a6 */ OPT_POS_FILE,
+ /* 0x0a7 */ OPT_PNG,
+ /* 0x0a8 */ OPT_LOAD_KCL,
+ /* 0x0a9 */ OPT_KCL,
+ /* 0x0aa */ OPT_KCL_FLAG,
+ /* 0x0ab */ OPT_KCL_SCRIPT,
+ /* 0x0ac */ OPT_TRI_AREA,
+ /* 0x0ad */ OPT_TRI_HEIGHT,
+ /* 0x0ae */ OPT_FLAG_FILE,
+ /* 0x0af */ OPT_XTRIDATA,
+ /* 0x0b0 */ OPT_KMP,
+ /* 0x0b1 */ OPT_N_LAPS,
+ /* 0x0b2 */ OPT_SPEED_MOD,
+ /* 0x0b3 */ OPT_KTPT2,
+ /* 0x0b4 */ OPT_TFORM_KMP,
+ /* 0x0b5 */ OPT_REPAIR_XPF,
+ /* 0x0b6 */ OPT_GAMEMODES,
+ /* 0x0b7 */ OPT_ROUND,
+ /* 0x0b8 */ OPT_NO_WILDCARDS,
+ /* 0x0b9 */ OPT_IN_ORDER,
+ /* 0x0ba */ OPT_EPSILON,
+ /* 0x0bb */ OPT_DIFF,
+ /* 0x0bc */ OPT_NO_ECHO,
+ /* 0x0bd */ OPT_UTF_8,
+ /* 0x0be */ OPT_NO_UTF_8,
+ /* 0x0bf */ OPT_FORCE,
+ /* 0x0c0 */ OPT_REPAIR_MAGICS,
+ /* 0x0c1 */ OPT_TINY,
+ /* 0x0c2 */ OPT_OLD,
+ /* 0x0c3 */ OPT_STD,
+ /* 0x0c4 */ OPT_NEW,
+ /* 0x0c5 */ OPT_EXTRACT,
+ /* 0x0c6 */ OPT_NUMBER,
+ /* 0x0c7 */ OPT_SECTIONS,
+ /* 0x0c8 */ 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0f0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1711,6 +1722,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LE_04X,
OptionInfo + OPT_CHDIR,
OptionInfo + OPT_CONST,
OptionInfo + OPT_BATTLE,
@@ -2322,7 +2334,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Wiimms KMP Tool : Analyze, modify, export and create (compile) KMP"
" files.",
0,
- 39,
+ 40,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wkmpt.h b/project/src/ui/ui-wkmpt.h
index f3ec012..b5c0e5e 100644
--- a/project/src/ui/ui-wkmpt.h
+++ b/project/src/ui/ui-wkmpt.h
@@ -131,6 +131,7 @@ typedef enum enumOptions
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LE_04X,
OPT_CHDIR,
OPT_CONST,
OPT_BATTLE,
@@ -161,7 +162,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 100
+ OPT__N_TOTAL // == 101
} enumOptions;
@@ -503,6 +504,7 @@ typedef enum enumGetOpt
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LE_04X,
GO_CHDIR,
GO_SCALE,
GO_SHIFT,
diff --git a/project/src/ui/ui-wlect.c b/project/src/ui/ui-wlect.c
index b7093fb..29f4faf 100644
--- a/project/src/ui/ui-wlect.c
+++ b/project/src/ui/ui-wlect.c
@@ -465,15 +465,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
- "Be quiet and print only error messages. Multiple usage is possible."
- " The impact is command dependent. In general: If set three times,"
- " different file format warnings are suppressed."
+ "Be quiet and print only error messages. Multiple use is possible."
+ " Previous use of --verbose is reverted. The impact is command"
+ " dependent. If set at least three times, almost all error messages"
+ " will be suppressed."
},
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
- "Be verbose and print more progress information. Multiple usage is"
- " possible. The impact is command dependent."
+ "Be verbose and print more progress information. Multiple use is"
+ " possible. Previous use of --quiet is reverted. The impact is command"
+ " dependent."
},
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
@@ -540,6 +542,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" compatibility with the other tools."
},
+ { OPT_LE_04X, false, false, false, false, false, 0, "le-04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform"
+ " slot numbers if slots >4095 are used."
+ },
+
{ OPT_LOAD_PREFIX, false, false, false, false, false, 0, "load-prefix",
"file",
"Read in a PREFIX file and replace the internal prefix database with"
@@ -699,7 +707,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 91
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 92
};
@@ -905,6 +913,8 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "le-04x", 0, 0, GO_LE_04X },
+ { "le04x", 0, 0, GO_LE_04X },
{ "load-prefix", 1, 0, GO_LOAD_PREFIX },
{ "loadprefix", 1, 0, GO_LOAD_PREFIX },
{ "load-category", 1, 0, GO_LOAD_CATEGORY },
@@ -1092,60 +1102,61 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08a */ OPT_NO_COLORS,
/* 0x08b */ OPT_CT_CODE,
/* 0x08c */ OPT_LE_CODE,
- /* 0x08d */ OPT_LOAD_PREFIX,
- /* 0x08e */ OPT_LOAD_CATEGORY,
- /* 0x08f */ OPT_PLUS,
- /* 0x090 */ OPT_CHDIR,
- /* 0x091 */ OPT_ROUND,
- /* 0x092 */ OPT_NO_WILDCARDS,
- /* 0x093 */ OPT_IN_ORDER,
- /* 0x094 */ OPT_NO_ECHO,
- /* 0x095 */ OPT_UTF_8,
- /* 0x096 */ OPT_NO_UTF_8,
- /* 0x097 */ OPT_CACHE,
- /* 0x098 */ OPT_LOG_CACHE,
- /* 0x099 */ OPT_LT_CLEAR,
- /* 0x09a */ OPT_LT_ONLINE,
- /* 0x09b */ OPT_LT_N_PLAYERS,
- /* 0x09c */ OPT_LT_COND_BIT,
- /* 0x09d */ OPT_LT_GAME_MODE,
- /* 0x09e */ OPT_LT_ENGINE,
- /* 0x09f */ OPT_LT_RANDOM,
- /* 0x0a0 */ OPT_LEX_PURGE,
- /* 0x0a1 */ OPT_LEX_RM_FEAT,
- /* 0x0a2 */ OPT_FORCE,
- /* 0x0a3 */ OPT_REPAIR_MAGICS,
- /* 0x0a4 */ OPT_CREATE_DISTRIB,
- /* 0x0a5 */ OPT_OLD,
- /* 0x0a6 */ OPT_STD,
- /* 0x0a7 */ OPT_NEW,
- /* 0x0a8 */ OPT_EXTRACT,
- /* 0x0a9 */ OPT_LE_DEFINE,
- /* 0x0aa */ OPT_LE_ARENA,
- /* 0x0ab */ OPT_LPAR,
- /* 0x0ac */ OPT_ALIAS,
- /* 0x0ad */ OPT_ENGINE,
- /* 0x0ae */ OPT_200CC,
- /* 0x0af */ OPT_PERFMON,
- /* 0x0b0 */ OPT_CUSTOM_TT,
- /* 0x0b1 */ OPT_XPFLAGS,
- /* 0x0b2 */ OPT_SPEEDOMETER,
- /* 0x0b3 */ OPT_DEBUG,
- /* 0x0b4 */ OPT_TRACK_DIR,
- /* 0x0b5 */ OPT_COPY_TRACKS,
- /* 0x0b6 */ OPT_MOVE_TRACKS,
- /* 0x0b7 */ OPT_MOVE1_TRACKS,
- /* 0x0b8 */ OPT_LINK_TRACKS,
- /* 0x0b9 */ OPT_SZS_MODE,
- /* 0x0ba */ OPT_LOAD_BMG,
- /* 0x0bb */ OPT_PATCH_BMG,
- /* 0x0bc */ OPT_MACRO_BMG,
- /* 0x0bd */ OPT_PATCH_NAMES,
- /* 0x0be */ OPT_ORDER_BY,
- /* 0x0bf */ OPT_ORDER_ALL,
- /* 0x0c0 */ OPT_NUMBER,
- /* 0x0c1 */ OPT_SECTIONS,
- /* 0x0c2 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,
+ /* 0x08d */ OPT_LE_04X,
+ /* 0x08e */ OPT_LOAD_PREFIX,
+ /* 0x08f */ OPT_LOAD_CATEGORY,
+ /* 0x090 */ OPT_PLUS,
+ /* 0x091 */ OPT_CHDIR,
+ /* 0x092 */ OPT_ROUND,
+ /* 0x093 */ OPT_NO_WILDCARDS,
+ /* 0x094 */ OPT_IN_ORDER,
+ /* 0x095 */ OPT_NO_ECHO,
+ /* 0x096 */ OPT_UTF_8,
+ /* 0x097 */ OPT_NO_UTF_8,
+ /* 0x098 */ OPT_CACHE,
+ /* 0x099 */ OPT_LOG_CACHE,
+ /* 0x09a */ OPT_LT_CLEAR,
+ /* 0x09b */ OPT_LT_ONLINE,
+ /* 0x09c */ OPT_LT_N_PLAYERS,
+ /* 0x09d */ OPT_LT_COND_BIT,
+ /* 0x09e */ OPT_LT_GAME_MODE,
+ /* 0x09f */ OPT_LT_ENGINE,
+ /* 0x0a0 */ OPT_LT_RANDOM,
+ /* 0x0a1 */ OPT_LEX_PURGE,
+ /* 0x0a2 */ OPT_LEX_RM_FEAT,
+ /* 0x0a3 */ OPT_FORCE,
+ /* 0x0a4 */ OPT_REPAIR_MAGICS,
+ /* 0x0a5 */ OPT_CREATE_DISTRIB,
+ /* 0x0a6 */ OPT_OLD,
+ /* 0x0a7 */ OPT_STD,
+ /* 0x0a8 */ OPT_NEW,
+ /* 0x0a9 */ OPT_EXTRACT,
+ /* 0x0aa */ OPT_LE_DEFINE,
+ /* 0x0ab */ OPT_LE_ARENA,
+ /* 0x0ac */ OPT_LPAR,
+ /* 0x0ad */ OPT_ALIAS,
+ /* 0x0ae */ OPT_ENGINE,
+ /* 0x0af */ OPT_200CC,
+ /* 0x0b0 */ OPT_PERFMON,
+ /* 0x0b1 */ OPT_CUSTOM_TT,
+ /* 0x0b2 */ OPT_XPFLAGS,
+ /* 0x0b3 */ OPT_SPEEDOMETER,
+ /* 0x0b4 */ OPT_DEBUG,
+ /* 0x0b5 */ OPT_TRACK_DIR,
+ /* 0x0b6 */ OPT_COPY_TRACKS,
+ /* 0x0b7 */ OPT_MOVE_TRACKS,
+ /* 0x0b8 */ OPT_MOVE1_TRACKS,
+ /* 0x0b9 */ OPT_LINK_TRACKS,
+ /* 0x0ba */ OPT_SZS_MODE,
+ /* 0x0bb */ OPT_LOAD_BMG,
+ /* 0x0bc */ OPT_PATCH_BMG,
+ /* 0x0bd */ OPT_MACRO_BMG,
+ /* 0x0be */ OPT_PATCH_NAMES,
+ /* 0x0bf */ OPT_ORDER_BY,
+ /* 0x0c0 */ OPT_ORDER_ALL,
+ /* 0x0c1 */ OPT_NUMBER,
+ /* 0x0c2 */ OPT_SECTIONS,
+ /* 0x0c3 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0e0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0f0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1369,6 +1380,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LE_04X,
OptionInfo + OPT_LOAD_PREFIX,
OptionInfo + OPT_LOAD_CATEGORY,
OptionInfo + OPT_CHDIR,
@@ -1950,7 +1962,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wlect [option]... command [option|parameter|file]...",
"Wiimms LE-CODE Tool : Manage the LE-CODE and LEX extensions.",
0,
- 36,
+ 37,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wlect.h b/project/src/ui/ui-wlect.h
index 5b3c6b4..5c46558 100644
--- a/project/src/ui/ui-wlect.h
+++ b/project/src/ui/ui-wlect.h
@@ -129,6 +129,7 @@ typedef enum enumOptions
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LE_04X,
OPT_LOAD_PREFIX,
OPT_LOAD_CATEGORY,
OPT_CHDIR,
@@ -152,7 +153,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 91
+ OPT__N_TOTAL // == 92
} enumOptions;
@@ -474,6 +475,7 @@ typedef enum enumGetOpt
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LE_04X,
GO_LOAD_PREFIX,
GO_LOAD_CATEGORY,
GO_PLUS,
diff --git a/project/src/ui/ui-wmdlt.c b/project/src/ui/ui-wmdlt.c
index fe6a6e2..e2361c8 100644
--- a/project/src/ui/ui-wmdlt.c
+++ b/project/src/ui/ui-wmdlt.c
@@ -393,15 +393,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
- "Be quiet and print only error messages. Multiple usage is possible."
- " The impact is command dependent. In general: If set three times,"
- " different file format warnings are suppressed."
+ "Be quiet and print only error messages. Multiple use is possible."
+ " Previous use of --verbose is reverted. The impact is command"
+ " dependent. If set at least three times, almost all error messages"
+ " will be suppressed."
},
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
- "Be verbose and print more progress information. Multiple usage is"
- " possible. The impact is command dependent."
+ "Be verbose and print more progress information. Multiple use is"
+ " possible. Previous use of --quiet is reverted. The impact is command"
+ " dependent."
},
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
@@ -468,6 +470,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" compatibility with the other tools."
},
+ { OPT_LE_04X, false, false, false, false, false, 0, "le-04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform"
+ " slot numbers if slots >4095 are used."
+ },
+
{ OPT_CHDIR, false, false, false, false, false, 0, "chdir",
"dir",
"Set a new working directory for all following options, for all"
@@ -490,7 +498,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MDL, false, false, false, false, false, 0, "mdl",
"list",
"Set global options for MDL processing. To enable MDL patching, use"
- " option --patch-file and select BRRES files for patching.\n"
+ " option --patch-files and select BRRES files for patching.\n"
" Parameter 'list' is a comma separated list of keywords. A minus"
" sign before a keyword disables a setting. Each occurrence of the"
" option will only change entered settings and all other settings are"
@@ -601,7 +609,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 71
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 72
};
@@ -791,6 +799,8 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "le-04x", 0, 0, GO_LE_04X },
+ { "le04x", 0, 0, GO_LE_04X },
{ "chdir", 1, 0, GO_CHDIR },
{ "const", 1, 0, 'c' },
{ "mdl", 1, 0, GO_MDL },
@@ -928,39 +938,40 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08a */ OPT_NO_COLORS,
/* 0x08b */ OPT_CT_CODE,
/* 0x08c */ OPT_LE_CODE,
- /* 0x08d */ OPT_CHDIR,
- /* 0x08e */ OPT_MDL,
- /* 0x08f */ OPT_SCALE,
- /* 0x090 */ OPT_SHIFT,
- /* 0x091 */ OPT_XSS,
- /* 0x092 */ OPT_YSS,
- /* 0x093 */ OPT_ZSS,
- /* 0x094 */ OPT_ROT,
- /* 0x095 */ OPT_XROT,
- /* 0x096 */ OPT_YROT,
- /* 0x097 */ OPT_ZROT,
- /* 0x098 */ OPT_TRANSLATE,
- /* 0x099 */ OPT_NULL,
- /* 0x09a */ OPT_NEXT,
- /* 0x09b */ OPT_ASCALE,
- /* 0x09c */ OPT_AROT,
- /* 0x09d */ OPT_TFORM_SCRIPT,
- /* 0x09e */ OPT_ROUND,
- /* 0x09f */ OPT_NO_WILDCARDS,
- /* 0x0a0 */ OPT_IN_ORDER,
- /* 0x0a1 */ OPT_NO_ECHO,
- /* 0x0a2 */ OPT_UTF_8,
- /* 0x0a3 */ OPT_NO_UTF_8,
- /* 0x0a4 */ OPT_FORCE,
- /* 0x0a5 */ OPT_REPAIR_MAGICS,
- /* 0x0a6 */ OPT_TINY,
- /* 0x0a7 */ OPT_OLD,
- /* 0x0a8 */ OPT_STD,
- /* 0x0a9 */ OPT_NEW,
- /* 0x0aa */ OPT_EXTRACT,
- /* 0x0ab */ OPT_NUMBER,
- /* 0x0ac */ OPT_SECTIONS,
- /* 0x0ad */ 0,0,0,
+ /* 0x08d */ OPT_LE_04X,
+ /* 0x08e */ OPT_CHDIR,
+ /* 0x08f */ OPT_MDL,
+ /* 0x090 */ OPT_SCALE,
+ /* 0x091 */ OPT_SHIFT,
+ /* 0x092 */ OPT_XSS,
+ /* 0x093 */ OPT_YSS,
+ /* 0x094 */ OPT_ZSS,
+ /* 0x095 */ OPT_ROT,
+ /* 0x096 */ OPT_XROT,
+ /* 0x097 */ OPT_YROT,
+ /* 0x098 */ OPT_ZROT,
+ /* 0x099 */ OPT_TRANSLATE,
+ /* 0x09a */ OPT_NULL,
+ /* 0x09b */ OPT_NEXT,
+ /* 0x09c */ OPT_ASCALE,
+ /* 0x09d */ OPT_AROT,
+ /* 0x09e */ OPT_TFORM_SCRIPT,
+ /* 0x09f */ OPT_ROUND,
+ /* 0x0a0 */ OPT_NO_WILDCARDS,
+ /* 0x0a1 */ OPT_IN_ORDER,
+ /* 0x0a2 */ OPT_NO_ECHO,
+ /* 0x0a3 */ OPT_UTF_8,
+ /* 0x0a4 */ OPT_NO_UTF_8,
+ /* 0x0a5 */ OPT_FORCE,
+ /* 0x0a6 */ OPT_REPAIR_MAGICS,
+ /* 0x0a7 */ OPT_TINY,
+ /* 0x0a8 */ OPT_OLD,
+ /* 0x0a9 */ OPT_STD,
+ /* 0x0aa */ OPT_NEW,
+ /* 0x0ab */ OPT_EXTRACT,
+ /* 0x0ac */ OPT_NUMBER,
+ /* 0x0ad */ OPT_SECTIONS,
+ /* 0x0ae */ 0,0,
/* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0d0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1138,6 +1149,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LE_04X,
OptionInfo + OPT_CHDIR,
OptionInfo + OPT_CONST,
OptionInfo + OPT_MDL,
@@ -1546,7 +1558,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wmdlt [option]... command [option|parameter|file]...",
"Wiimms MDL Tool : Decode raw MDL and encode text MDL files.",
0,
- 28,
+ 29,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wmdlt.h b/project/src/ui/ui-wmdlt.h
index fc46944..28e7af6 100644
--- a/project/src/ui/ui-wmdlt.h
+++ b/project/src/ui/ui-wmdlt.h
@@ -115,6 +115,7 @@ typedef enum enumOptions
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LE_04X,
OPT_CHDIR,
OPT_CONST,
OPT_MDL,
@@ -132,7 +133,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 71
+ OPT__N_TOTAL // == 72
} enumOptions;
@@ -397,6 +398,7 @@ typedef enum enumGetOpt
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LE_04X,
GO_CHDIR,
GO_MDL,
GO_SCALE,
diff --git a/project/src/ui/ui-wpatt.c b/project/src/ui/ui-wpatt.c
index b76739a..a7f0f69 100644
--- a/project/src/ui/ui-wpatt.c
+++ b/project/src/ui/ui-wpatt.c
@@ -235,15 +235,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
- "Be quiet and print only error messages. Multiple usage is possible."
- " The impact is command dependent. In general: If set three times,"
- " different file format warnings are suppressed."
+ "Be quiet and print only error messages. Multiple use is possible."
+ " Previous use of --verbose is reverted. The impact is command"
+ " dependent. If set at least three times, almost all error messages"
+ " will be suppressed."
},
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
- "Be verbose and print more progress information. Multiple usage is"
- " possible. The impact is command dependent."
+ "Be verbose and print more progress information. Multiple use is"
+ " possible. Previous use of --quiet is reverted. The impact is command"
+ " dependent."
},
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
@@ -310,6 +312,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" compatibility with the other tools."
},
+ { OPT_LE_04X, false, false, false, false, false, 0, "le-04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform"
+ " slot numbers if slots >4095 are used."
+ },
+
{ OPT_CHDIR, false, false, false, false, false, 0, "chdir",
"dir",
"Set a new working directory for all following options, for all"
@@ -432,7 +440,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 55
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 56
};
@@ -588,6 +596,8 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "le-04x", 0, 0, GO_LE_04X },
+ { "le04x", 0, 0, GO_LE_04X },
{ "chdir", 1, 0, GO_CHDIR },
{ "const", 1, 0, 'c' },
{ "round", 0, 0, GO_ROUND },
@@ -707,23 +717,24 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08a */ OPT_NO_COLORS,
/* 0x08b */ OPT_CT_CODE,
/* 0x08c */ OPT_LE_CODE,
- /* 0x08d */ OPT_CHDIR,
- /* 0x08e */ OPT_ROUND,
- /* 0x08f */ OPT_NO_WILDCARDS,
- /* 0x090 */ OPT_IN_ORDER,
- /* 0x091 */ OPT_NO_ECHO,
- /* 0x092 */ OPT_PAT,
- /* 0x093 */ OPT_UTF_8,
- /* 0x094 */ OPT_NO_UTF_8,
- /* 0x095 */ OPT_FORCE,
- /* 0x096 */ OPT_REPAIR_MAGICS,
- /* 0x097 */ OPT_OLD,
- /* 0x098 */ OPT_STD,
- /* 0x099 */ OPT_NEW,
- /* 0x09a */ OPT_EXTRACT,
- /* 0x09b */ OPT_NUMBER,
- /* 0x09c */ OPT_SECTIONS,
- /* 0x09d */ 0,0,0,
+ /* 0x08d */ OPT_LE_04X,
+ /* 0x08e */ OPT_CHDIR,
+ /* 0x08f */ OPT_ROUND,
+ /* 0x090 */ OPT_NO_WILDCARDS,
+ /* 0x091 */ OPT_IN_ORDER,
+ /* 0x092 */ OPT_NO_ECHO,
+ /* 0x093 */ OPT_PAT,
+ /* 0x094 */ OPT_UTF_8,
+ /* 0x095 */ OPT_NO_UTF_8,
+ /* 0x096 */ OPT_FORCE,
+ /* 0x097 */ OPT_REPAIR_MAGICS,
+ /* 0x098 */ OPT_OLD,
+ /* 0x099 */ OPT_STD,
+ /* 0x09a */ OPT_NEW,
+ /* 0x09b */ OPT_EXTRACT,
+ /* 0x09c */ OPT_NUMBER,
+ /* 0x09d */ OPT_SECTIONS,
+ /* 0x09e */ 0,0,
/* 0x0a0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0b0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x0c0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -860,6 +871,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LE_04X,
OptionInfo + OPT_CHDIR,
OptionInfo + OPT_CONST,
OptionInfo + OPT_MAX_FILE_SIZE,
@@ -1078,7 +1090,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"wpatt [option]... command [option|parameter|file]...",
"Wiimms PAT Tool : Decode raw PAT and encode text PAT files.",
0,
- 27,
+ 28,
option_tab_tool,
0
},
diff --git a/project/src/ui/ui-wpatt.h b/project/src/ui/ui-wpatt.h
index b8ad8b1..ca89e6b 100644
--- a/project/src/ui/ui-wpatt.h
+++ b/project/src/ui/ui-wpatt.h
@@ -100,6 +100,7 @@ typedef enum enumOptions
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LE_04X,
OPT_CHDIR,
OPT_CONST,
OPT_MAX_FILE_SIZE,
@@ -116,7 +117,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 55
+ OPT__N_TOTAL // == 56
} enumOptions;
@@ -314,6 +315,7 @@ typedef enum enumGetOpt
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LE_04X,
GO_CHDIR,
GO_ROUND,
GO_NO_WILDCARDS,
diff --git a/project/src/ui/ui-wstrt.c b/project/src/ui/ui-wstrt.c
index 2462f8e..2d6cd05 100644
--- a/project/src/ui/ui-wstrt.c
+++ b/project/src/ui/ui-wstrt.c
@@ -166,6 +166,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"Add newest LE-CODE starter from 2023-12 to main.dol."
},
+ { OPT_ADDS_LECODE, false, true, false, false, false, 0, "adds-lecode",
+ 0,
+ "Add newest LE-CODE starter from 2023-12 to main.dol like"
+ " --add-section does it."
+ },
+
{ OPT_ADD_OLD_LECODE, false, false, false, false, false, 0, "add-old-lecode",
0,
"Add old LE-CODE starter from 2019-01 to main.dol."
@@ -192,12 +198,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_ADD_SECTION, false, false, false, false, false, 0, "add-section",
"file",
"Each option call adds the filename to an internal list. Each file"
- " must be of type GCT, GCH or WCH. All GCT files together are combined"
- " with an internal code handler to one section (like a GCH file). GCH"
- " and WCH define sections and patches. The defined sections are added"
- " and VBI hooks are optionally initialized. Use option --force to"
- " allow overlapped sections. Use option --verbose up to 2 times for a"
- " log.\n"
+ " must be of type GCT, GCT-TXT, GCH or WCH. All GCT files together are"
+ " combined with an internal code handler to one section (like a GCH"
+ " file). GCH and WCH define sections and patches. The defined sections"
+ " are added and VBI hooks are optionally initialized. Use option"
+ " --force to allow overlapped sections. Use option --verbose up to 2"
+ " times for a log.\n"
" If parameter FILE contains at least one wildcard (e.g. \"*.GCT\"),"
" then FILE is used as search pattern and all found files are added."
" Quote FILE for this purpose. \n"
@@ -248,14 +254,15 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" the heap smaller and move the cheat codes before the FST section.\n"
" Parameter MODE is optional. If set, OFF disables and ON enables"
" this feature. For mode AUTO (default) this feature is enabled, if"
- " the cheat codes are too large or for internal reasons."
+ " the cheat codes are too large (end>0x80003000) or for internal"
+ " conflicts."
},
{ OPT_GCT_ADDR, false, false, false, false, false, 0, "gct-addr",
"address",
"If --gct-move is active, a text section is created to manage the code"
" handler. This section is only needed at start and is placed by"
- " default at address 0c802c0000 (part of BSS, good address for all 4"
+ " default at address 0x802c0000 (part of BSS, good address for all 4"
" regions). This option changes the start address of the section. If"
" address is 0 or invalid, then unused BSS space is searched."
},
@@ -273,7 +280,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" This option is only relevant, if main.dol is patched for wiimmfi.de."
" It is dedicated to custom distribution creators for test purposes."
" If enabled, a user can load an own instance of Gecko Code Handler"
- " and cheat codes and can use them online. If disabled, pachcing for"
+ " and cheat codes and can use them online. If disabled, patching for"
" online modus is disabled if an alternative Gecko Code Handler is"
" detected.\n"
" Parameter MODE is optional. If set, OFF disables and ON enables"
@@ -511,7 +518,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" dependent (multiple of format size)."
},
- {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 69
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 70
//----- global options -----
@@ -583,15 +590,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
- "Be quiet and print only error messages. Multiple usage is possible."
- " The impact is command dependent. In general: If set three times,"
- " different file format warnings are suppressed."
+ "Be quiet and print only error messages. Multiple use is possible."
+ " Previous use of --verbose is reverted. The impact is command"
+ " dependent. If set at least three times, almost all error messages"
+ " will be suppressed."
},
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
- "Be verbose and print more progress information. Multiple usage is"
- " possible. The impact is command dependent."
+ "Be verbose and print more progress information. Multiple use is"
+ " possible. Previous use of --quiet is reverted. The impact is command"
+ " dependent."
},
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
@@ -658,6 +667,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" compatibility with the other tools."
},
+ { OPT_LE_04X, false, false, false, false, false, 0, "le-04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform"
+ " slot numbers if slots >4095 are used."
+ },
+
{ OPT_CHDIR, false, false, false, false, false, 0, "chdir",
"dir",
"Set a new working directory for all following options, for all"
@@ -929,7 +944,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" directory."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 124
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 126
};
@@ -1173,6 +1188,8 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "le-04x", 0, 0, GO_LE_04X },
+ { "le04x", 0, 0, GO_LE_04X },
{ "chdir", 1, 0, GO_CHDIR },
{ "const", 1, 0, 'c' },
{ "long", 0, 0, 'l' },
@@ -1246,6 +1263,8 @@ static const struct option OptionLong[] =
{ "cleandol", 0, 0, GO_CLEAN_DOL },
{ "add-lecode", 0, 0, GO_ADD_LECODE },
{ "addlecode", 0, 0, GO_ADD_LECODE },
+ { "adds-lecode", 0, 0, GO_ADDS_LECODE },
+ { "addslecode", 0, 0, GO_ADDS_LECODE },
{ "add-old-lecode", 0, 0, GO_ADD_OLD_LECODE },
{ "addoldlecode", 0, 0, GO_ADD_OLD_LECODE },
{ "add-ctcode", 0, 0, GO_ADD_CTCODE },
@@ -1393,91 +1412,93 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08a */ OPT_NO_COLORS,
/* 0x08b */ OPT_CT_CODE,
/* 0x08c */ OPT_LE_CODE,
- /* 0x08d */ OPT_CHDIR,
- /* 0x08e */ OPT_NO_WILDCARDS,
- /* 0x08f */ OPT_IN_ORDER,
- /* 0x090 */ OPT_VS_REGION,
- /* 0x091 */ OPT_BT_REGION,
- /* 0x092 */ OPT_ALL_RANKS,
- /* 0x093 */ OPT_POINTS,
- /* 0x094 */ OPT_CHEAT,
- /* 0x095 */ OPT_HTTPS,
- /* 0x096 */ OPT_DOMAIN,
- /* 0x097 */ OPT_WIIMMFI,
- /* 0x098 */ OPT_TWIIMMFI,
- /* 0x099 */ OPT_WC24,
- /* 0x09a */ OPT_WCODE,
- /* 0x09b */ OPT_ADD_WCODE,
- /* 0x09c */ OPT_PB_MODE,
- /* 0x09d */ OPT_PATCHED_BY,
- /* 0x09e */ OPT_VS,
- /* 0x09f */ OPT_VS2,
- /* 0x0a0 */ OPT_BT,
- /* 0x0a1 */ OPT_BT2,
- /* 0x0a2 */ OPT_CANNON,
- /* 0x0a3 */ OPT_MENO,
- /* 0x0a4 */ OPT_UTF_8,
- /* 0x0a5 */ OPT_NO_UTF_8,
- /* 0x0a6 */ OPT_FORCE,
- /* 0x0a7 */ OPT_REPAIR_MAGICS,
- /* 0x0a8 */ OPT_OLD,
- /* 0x0a9 */ OPT_STD,
- /* 0x0aa */ OPT_NEW,
- /* 0x0ab */ OPT_EXTRACT,
- /* 0x0ac */ OPT_NUMBER,
- /* 0x0ad */ OPT_CLEAN_DOL,
- /* 0x0ae */ OPT_ADD_LECODE,
- /* 0x0af */ OPT_ADD_OLD_LECODE,
- /* 0x0b0 */ OPT_ADD_CTCODE,
- /* 0x0b1 */ OPT_CT_DIR,
- /* 0x0b2 */ OPT_MOVE_D8,
- /* 0x0b3 */ OPT_ADD_SECTION,
- /* 0x0b4 */ OPT_FULL_GCH,
- /* 0x0b5 */ OPT_GCT_NO_SEP,
- /* 0x0b6 */ OPT_GCT_SEP,
- /* 0x0b7 */ OPT_GCT_ASM_SEP,
- /* 0x0b8 */ OPT_GCT_LIST,
- /* 0x0b9 */ OPT_GCT_MOVE,
- /* 0x0ba */ OPT_GCT_ADDR,
- /* 0x0bb */ OPT_GCT_SPACE,
- /* 0x0bc */ OPT_ALLOW_USER_GCH,
- /* 0x0bd */ OPT_CREATE_SECT,
- /* 0x0be */ OPT_WPF,
- /* 0x0bf */ OPT_SECTIONS,
- /* 0x0c0 */ OPT_PORT_DB,
- /* 0x0c1 */ OPT_ORDER,
- /* 0x0c2 */ OPT_VADDR,
- /* 0x0c3 */ OPT_FADDR,
- /* 0x0c4 */ OPT_SNAME,
- /* 0x0c5 */ OPT_INT1,
- /* 0x0c6 */ OPT_INT2,
- /* 0x0c7 */ OPT_INT3,
- /* 0x0c8 */ OPT_INT4,
- /* 0x0c9 */ OPT_INT5,
- /* 0x0ca */ OPT_INT6,
- /* 0x0cb */ OPT_INT7,
- /* 0x0cc */ OPT_INT8,
- /* 0x0cd */ OPT_FLOAT,
- /* 0x0ce */ OPT_DOUBLE,
- /* 0x0cf */ OPT_LE,
- /* 0x0d0 */ OPT_BE,
- /* 0x0d1 */ OPT_ZEROS,
- /* 0x0d2 */ OPT_HEX,
- /* 0x0d3 */ OPT_DEC,
- /* 0x0d4 */ OPT_C_SYNTAX,
- /* 0x0d5 */ OPT_ADDR,
- /* 0x0d6 */ OPT_ALIGN,
- /* 0x0d7 */ OPT_TRIGGER,
- /* 0x0d8 */ OPT_NO_ADDR,
- /* 0x0d9 */ OPT_NO_NUMBERS,
- /* 0x0da */ OPT_NO_TEXT,
- /* 0x0db */ OPT_FORMAT,
- /* 0x0dc */ OPT_NO_NULL,
- /* 0x0dd */ OPT_NARROW,
- /* 0x0de */ OPT_SMALL,
- /* 0x0df */ OPT_WIDE,
- /* 0x0e0 */ OPT_BYTES,
- /* 0x0e1 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,
+ /* 0x08d */ OPT_LE_04X,
+ /* 0x08e */ OPT_CHDIR,
+ /* 0x08f */ OPT_NO_WILDCARDS,
+ /* 0x090 */ OPT_IN_ORDER,
+ /* 0x091 */ OPT_VS_REGION,
+ /* 0x092 */ OPT_BT_REGION,
+ /* 0x093 */ OPT_ALL_RANKS,
+ /* 0x094 */ OPT_POINTS,
+ /* 0x095 */ OPT_CHEAT,
+ /* 0x096 */ OPT_HTTPS,
+ /* 0x097 */ OPT_DOMAIN,
+ /* 0x098 */ OPT_WIIMMFI,
+ /* 0x099 */ OPT_TWIIMMFI,
+ /* 0x09a */ OPT_WC24,
+ /* 0x09b */ OPT_WCODE,
+ /* 0x09c */ OPT_ADD_WCODE,
+ /* 0x09d */ OPT_PB_MODE,
+ /* 0x09e */ OPT_PATCHED_BY,
+ /* 0x09f */ OPT_VS,
+ /* 0x0a0 */ OPT_VS2,
+ /* 0x0a1 */ OPT_BT,
+ /* 0x0a2 */ OPT_BT2,
+ /* 0x0a3 */ OPT_CANNON,
+ /* 0x0a4 */ OPT_MENO,
+ /* 0x0a5 */ OPT_UTF_8,
+ /* 0x0a6 */ OPT_NO_UTF_8,
+ /* 0x0a7 */ OPT_FORCE,
+ /* 0x0a8 */ OPT_REPAIR_MAGICS,
+ /* 0x0a9 */ OPT_OLD,
+ /* 0x0aa */ OPT_STD,
+ /* 0x0ab */ OPT_NEW,
+ /* 0x0ac */ OPT_EXTRACT,
+ /* 0x0ad */ OPT_NUMBER,
+ /* 0x0ae */ OPT_CLEAN_DOL,
+ /* 0x0af */ OPT_ADD_LECODE,
+ /* 0x0b0 */ OPT_ADDS_LECODE,
+ /* 0x0b1 */ OPT_ADD_OLD_LECODE,
+ /* 0x0b2 */ OPT_ADD_CTCODE,
+ /* 0x0b3 */ OPT_CT_DIR,
+ /* 0x0b4 */ OPT_MOVE_D8,
+ /* 0x0b5 */ OPT_ADD_SECTION,
+ /* 0x0b6 */ OPT_FULL_GCH,
+ /* 0x0b7 */ OPT_GCT_NO_SEP,
+ /* 0x0b8 */ OPT_GCT_SEP,
+ /* 0x0b9 */ OPT_GCT_ASM_SEP,
+ /* 0x0ba */ OPT_GCT_LIST,
+ /* 0x0bb */ OPT_GCT_MOVE,
+ /* 0x0bc */ OPT_GCT_ADDR,
+ /* 0x0bd */ OPT_GCT_SPACE,
+ /* 0x0be */ OPT_ALLOW_USER_GCH,
+ /* 0x0bf */ OPT_CREATE_SECT,
+ /* 0x0c0 */ OPT_WPF,
+ /* 0x0c1 */ OPT_SECTIONS,
+ /* 0x0c2 */ OPT_PORT_DB,
+ /* 0x0c3 */ OPT_ORDER,
+ /* 0x0c4 */ OPT_VADDR,
+ /* 0x0c5 */ OPT_FADDR,
+ /* 0x0c6 */ OPT_SNAME,
+ /* 0x0c7 */ OPT_INT1,
+ /* 0x0c8 */ OPT_INT2,
+ /* 0x0c9 */ OPT_INT3,
+ /* 0x0ca */ OPT_INT4,
+ /* 0x0cb */ OPT_INT5,
+ /* 0x0cc */ OPT_INT6,
+ /* 0x0cd */ OPT_INT7,
+ /* 0x0ce */ OPT_INT8,
+ /* 0x0cf */ OPT_FLOAT,
+ /* 0x0d0 */ OPT_DOUBLE,
+ /* 0x0d1 */ OPT_LE,
+ /* 0x0d2 */ OPT_BE,
+ /* 0x0d3 */ OPT_ZEROS,
+ /* 0x0d4 */ OPT_HEX,
+ /* 0x0d5 */ OPT_DEC,
+ /* 0x0d6 */ OPT_C_SYNTAX,
+ /* 0x0d7 */ OPT_ADDR,
+ /* 0x0d8 */ OPT_ALIGN,
+ /* 0x0d9 */ OPT_TRIGGER,
+ /* 0x0da */ OPT_NO_ADDR,
+ /* 0x0db */ OPT_NO_NUMBERS,
+ /* 0x0dc */ OPT_NO_TEXT,
+ /* 0x0dd */ OPT_FORMAT,
+ /* 0x0de */ OPT_NO_NULL,
+ /* 0x0df */ OPT_NARROW,
+ /* 0x0e0 */ OPT_SMALL,
+ /* 0x0e1 */ OPT_WIDE,
+ /* 0x0e2 */ OPT_BYTES,
+ /* 0x0e3 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,
/* 0x0f0 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x100 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
/* 0x110 */ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
@@ -1491,179 +1512,179 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[69] = // cmd #1
+static u8 option_allowed_cmd_VERSION[70] = // cmd #1
{
0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_HELP[69] = // cmd #2
+static u8 option_allowed_cmd_HELP[70] = // cmd #2
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1
+ 1,1,1,1,1, 1,1,1,1,1
};
-static u8 option_allowed_cmd_CONFIG[69] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[70] = // cmd #3
{
0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_ARGTEST[69] = // cmd #4
+static u8 option_allowed_cmd_ARGTEST[70] = // cmd #4
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1
+ 1,1,1,1,1, 1,1,1,1,1
};
-static u8 option_allowed_cmd_EXPAND[69] = // cmd #5
+static u8 option_allowed_cmd_EXPAND[70] = // cmd #5
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1
+ 1,1,1,1,1, 1,1,1,1,1
};
-static u8 option_allowed_cmd_TEST[69] = // cmd #6
+static u8 option_allowed_cmd_TEST[70] = // cmd #6
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1
+ 1,1,1,1,1, 1,1,1,1,1
};
-static u8 option_allowed_cmd_COLORS[69] = // cmd #7
+static u8 option_allowed_cmd_COLORS[70] = // cmd #7
{
0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_ERROR[69] = // cmd #8
+static u8 option_allowed_cmd_ERROR[70] = // cmd #8
{
0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_FILETYPE[69] = // cmd #9
+static u8 option_allowed_cmd_FILETYPE[70] = // cmd #9
{
0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_FILEATTRIB[69] = // cmd #10
+static u8 option_allowed_cmd_FILEATTRIB[70] = // cmd #10
{
0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_RAWDUMP[69] = // cmd #11
+static u8 option_allowed_cmd_RAWDUMP[70] = // cmd #11
{
0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_DUMP[69] = // cmd #12
+static u8 option_allowed_cmd_DUMP[70] = // cmd #12
{
0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_CDUMP[69] = // cmd #13
+static u8 option_allowed_cmd_CDUMP[70] = // cmd #13
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_HEXDUMP[69] = // cmd #14
+static u8 option_allowed_cmd_HEXDUMP[70] = // cmd #14
{
0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1
+ 0,0,0,0,0, 0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,1
};
-static u8 option_allowed_cmd_PORT[69] = // cmd #15
+static u8 option_allowed_cmd_PORT[70] = // cmd #15
{
0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_WHERE[69] = // cmd #16
+static u8 option_allowed_cmd_WHERE[70] = // cmd #16
{
0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_HTTPS[69] = // cmd #17
+static u8 option_allowed_cmd_HTTPS[70] = // cmd #17
{
0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_EXTRACT[69] = // cmd #18
+static u8 option_allowed_cmd_EXTRACT[70] = // cmd #18
{
0,0,0,1,1, 0,0,0,1,1, 0,1,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_TRACKS[69] = // cmd #19
+static u8 option_allowed_cmd_TRACKS[70] = // cmd #19
{
0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_ARENAS[69] = // cmd #20
+static u8 option_allowed_cmd_ARENAS[70] = // cmd #20
{
0,1,1,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_FILES[69] = // cmd #21
+static u8 option_allowed_cmd_FILES[70] = // cmd #21
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_FIND[69] = // cmd #22
+static u8 option_allowed_cmd_FIND[70] = // cmd #22
{
0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_POINTS[69] = // cmd #23
+static u8 option_allowed_cmd_POINTS[70] = // cmd #23
{
0,1,1,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_ANALYZE[69] = // cmd #24
+static u8 option_allowed_cmd_ANALYZE[70] = // cmd #24
{
0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 0,0,0,0,0, 0,0,0,0,0
};
-static u8 option_allowed_cmd_PATCH[69] = // cmd #25
+static u8 option_allowed_cmd_PATCH[70] = // cmd #25
{
0,0,0,1,1, 0,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0
+ 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0
};
@@ -1694,6 +1715,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LE_04X,
OptionInfo + OPT_CHDIR,
OptionInfo + OPT_CONST,
OptionInfo + OPT_TRACKS,
@@ -2141,7 +2163,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"Wiimms StaticR Tool : Manipulate the 'main.dol' and 'StaticR.rel'"
" files of Mario Kart Wii.",
0,
- 43,
+ 44,
option_tab_tool,
0
},
@@ -2557,7 +2579,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
"PATCH",
0,
"wstrt PATCH [file]...",
- "Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii. Wildcards"
+ "Patch 'main.dol' and 'StaticR.rel' files of Mario Kart Wii. Wildcards"
" and pipe characters are parsed, see"
" https://szs.wiimm.de/doc/wildcards for details. No backup is made.",
0,
diff --git a/project/src/ui/ui-wstrt.h b/project/src/ui/ui-wstrt.h
index db5c24c..eacffa6 100644
--- a/project/src/ui/ui-wstrt.h
+++ b/project/src/ui/ui-wstrt.h
@@ -73,6 +73,7 @@ typedef enum enumOptions
OPT_PRESERVE,
OPT_IGNORE,
OPT_ADD_LECODE,
+ OPT_ADDS_LECODE,
OPT_ADD_OLD_LECODE,
OPT_ADD_CTCODE,
OPT_MOVE_D8,
@@ -125,7 +126,7 @@ typedef enum enumOptions
OPT_WIDE,
OPT_BYTES,
- OPT__N_SPECIFIC, // == 69
+ OPT__N_SPECIFIC, // == 70
//----- global options -----
@@ -150,6 +151,7 @@ typedef enum enumOptions
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LE_04X,
OPT_CHDIR,
OPT_CONST,
OPT_TRACKS,
@@ -185,7 +187,7 @@ typedef enum enumOptions
OPT_CLEAN_DOL,
OPT_CT_DIR,
- OPT__N_TOTAL // == 124
+ OPT__N_TOTAL // == 126
} enumOptions;
@@ -217,6 +219,7 @@ typedef enum enumOptions
// OB_PRESERVE = 1llu << OPT_PRESERVE,
// OB_IGNORE = 1llu << OPT_IGNORE,
// OB_ADD_LECODE = 1llu << OPT_ADD_LECODE,
+// OB_ADDS_LECODE = 1llu << OPT_ADDS_LECODE,
// OB_ADD_OLD_LECODE = 1llu << OPT_ADD_OLD_LECODE,
// OB_ADD_CTCODE = 1llu << OPT_ADD_CTCODE,
// OB_MOVE_D8 = 1llu << OPT_MOVE_D8,
@@ -414,6 +417,7 @@ typedef enum enumOptions
// | OB_GRP_DEST
// | OB_GRP_PATCH
// | OB_ADD_LECODE
+// | OB_ADDS_LECODE
// | OB_ADD_OLD_LECODE
// | OB_ADD_CTCODE
// | OB_MOVE_D8
@@ -527,6 +531,7 @@ typedef enum enumGetOpt
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LE_04X,
GO_CHDIR,
GO_NO_WILDCARDS,
GO_IN_ORDER,
@@ -561,6 +566,7 @@ typedef enum enumGetOpt
GO_NUMBER,
GO_CLEAN_DOL,
GO_ADD_LECODE,
+ GO_ADDS_LECODE,
GO_ADD_OLD_LECODE,
GO_ADD_CTCODE,
GO_CT_DIR,
diff --git a/project/src/ui/ui-wszst.c b/project/src/ui/ui-wszst.c
index 23f9fff..31d3913 100644
--- a/project/src/ui/ui-wszst.c
+++ b/project/src/ui/ui-wszst.c
@@ -797,6 +797,11 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" https://szs.wiimm.de/opt/source for more details."
},
+ { OPT_ID_LIST, false, true, false, false, false, 0, "id-list",
+ "file",
+ "Set filename of a SHA1ID file."
+ },
+
{ OPT_REFERENCE, false, false, false, false, false, 0, "ref",
"path",
"Define a reference SZS."
@@ -1227,7 +1232,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
"Print in machine readable sections and parameter lines."
},
- {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 148
+ {0,0,0,0,0,0,0,0,0,0}, // OPT__N_SPECIFIC == 149
//----- global options -----
@@ -1294,15 +1299,17 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_QUIET, false, false, false, false, false, 'q', "quiet",
0,
- "Be quiet and print only error messages. Multiple usage is possible."
- " The impact is command dependent. In general: If set three times,"
- " different file format warnings are suppressed."
+ "Be quiet and print only error messages. Multiple use is possible."
+ " Previous use of --verbose is reverted. The impact is command"
+ " dependent. If set at least three times, almost all error messages"
+ " will be suppressed."
},
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
- "Be verbose and print more progress information. Multiple usage is"
- " possible. The impact is command dependent."
+ "Be verbose and print more progress information. Multiple use is"
+ " possible. Previous use of --quiet is reverted. The impact is command"
+ " dependent."
},
{ OPT_LOGGING, false, false, false, false, false, 'L', "logging",
@@ -1370,6 +1377,12 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" details."
},
+ { OPT_LE_04X, false, false, false, false, false, 0, "le-04x",
+ 0,
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform"
+ " slot numbers if slots >4095 are used."
+ },
+
{ OPT_LOAD_PREFIX, false, false, false, false, false, 0, "load-prefix",
"file",
"Read in a PREFIX file and replace the internal prefix database with"
@@ -1563,7 +1576,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
{ OPT_MDL, false, false, false, false, false, 0, "mdl",
"list",
"Set global options for MDL processing. To enable MDL patching, use"
- " option --patch-file and select BRRES files for patching.\n"
+ " option --patch-files and select BRRES files for patching.\n"
" Parameter 'list' is a comma separated list of keywords. A minus"
" sign before a keyword disables a setting. Each occurrence of the"
" option will only change entered settings and all other settings are"
@@ -1587,7 +1600,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" and LOG. See https://szs.wiimm.de/opt/pat for details."
},
- { OPT_PATCH_FILE, false, false, false, false, false, 0, "patch-file",
+ { OPT_PATCH_FILES, false, false, false, false, false, 0, "patch-files",
"list",
"Define, which kind of KMP, KCL and BRRES/MDL files are objects for"
" patching. --pfile is a short cut.\n"
@@ -1595,7 +1608,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" sign before a keyword disables a setting. Each occurrence of the"
" option will only change entered settings and all other settings are"
" untouched.\n"
- " Keyword DEFAULT resets the default settings (TRACK,LOG) and CLEAR"
+ " Keyword DEFAULT resets the default settings (TRACK,LOG) and NONE"
" disables all. The other allowed keywords are: KMP, KCL, OTHER-KCL,"
" ALL-KCL, MODEL, MAP, VRCORN, OTHER-BRRES, ALL-BRRES, TRACK"
" (=KMP,KCL,MODEL,MAP,VRCORN), ALL, LOG and LOG-ALL. See"
@@ -1933,7 +1946,7 @@ static const InfoOption_t OptionInfo[OPT__N_TOTAL+1] =
" helper option."
},
- {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 235
+ {0,0,0,0,0,0,0,0,0,0} // OPT__N_TOTAL == 237
};
@@ -1998,6 +2011,20 @@ static const InfoOption_t option_cmd_CONFIG_LONG =
" output is enabled."
};
+static const InfoOption_t option_cmd_WILDCARDS_SH =
+ { OPT_SH, false, false, false, false, false, 0, "sh",
+ 0,
+ "Quote filenames for sh using '...'."
+ };
+
+static const InfoOption_t option_cmd_WILDCARDS_BASH =
+ { OPT_BASH, false, false, false, false, false, 0, "bash",
+ 0,
+ "Ignore --sh and quote filenames for bash using $'...'. Use »eval"
+ " var=($(wszst wildcards --bash ...))« to assign the result to a bash"
+ " array."
+ };
+
static const InfoOption_t option_cmd_TEST_VERBOSE =
{ OPT_VERBOSE, false, false, false, false, false, 'v', "verbose",
0,
@@ -2587,6 +2614,8 @@ static const struct option OptionLong[] =
{ "ctcode", 0, 0, GO_CT_CODE },
{ "le-code", 2, 0, GO_LE_CODE },
{ "lecode", 2, 0, GO_LE_CODE },
+ { "le-04x", 0, 0, GO_LE_04X },
+ { "le04x", 0, 0, GO_LE_04X },
{ "load-prefix", 1, 0, GO_LOAD_PREFIX },
{ "loadprefix", 1, 0, GO_LOAD_PREFIX },
{ "load-category", 1, 0, GO_LOAD_CATEGORY },
@@ -2678,9 +2707,9 @@ static const struct option OptionLong[] =
{ "gmodes", 1, 0, GO_GAMEMODES },
{ "mdl", 1, 0, GO_MDL },
{ "pat", 1, 0, GO_PAT },
- { "patch-file", 1, 0, GO_PATCH_FILE },
- { "patchfile", 1, 0, GO_PATCH_FILE },
- { "pfile", 1, 0, GO_PATCH_FILE },
+ { "patch-files", 1, 0, GO_PATCH_FILES },
+ { "patchfiles", 1, 0, GO_PATCH_FILES },
+ { "pfiles", 1, 0, GO_PATCH_FILES },
{ "kmg-limit", 1, 0, GO_KMG_LIMIT },
{ "kmglimit", 1, 0, GO_KMG_LIMIT },
{ "kmg-copy", 1, 0, GO_KMG_COPY },
@@ -2836,6 +2865,8 @@ static const struct option OptionLong[] =
{ "EXTRACT", 1, 0, GO_EXTRACT },
{ "source", 1, 0, 's' },
{ "src", 1, 0, 's' },
+ { "id-list", 1, 0, GO_ID_LIST },
+ { "idlist", 1, 0, GO_ID_LIST },
{ "ref", 1, 0, GO_REFERENCE },
{ "reference", 1, 0, GO_REFERENCE },
{ "dest", 1, 0, 'd' },
@@ -3028,193 +3059,195 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/* 0x08a */ OPT_NO_COLORS,
/* 0x08b */ OPT_CT_CODE,
/* 0x08c */ OPT_LE_CODE,
- /* 0x08d */ OPT_LOAD_PREFIX,
- /* 0x08e */ OPT_LOAD_CATEGORY,
- /* 0x08f */ OPT_PLUS,
- /* 0x090 */ OPT_SPLIT,
- /* 0x091 */ OPT_PRINTF,
- /* 0x092 */ OPT_CHDIR,
- /* 0x093 */ OPT_TOUCH,
- /* 0x094 */ OPT_AUTO,
- /* 0x095 */ OPT_SET_FLAGS,
- /* 0x096 */ OPT_SET_SCALE,
- /* 0x097 */ OPT_SET_ROT,
- /* 0x098 */ OPT_SET_X,
- /* 0x099 */ OPT_SET_Y,
- /* 0x09a */ OPT_SET_Z,
- /* 0x09b */ OPT_XCENTER,
- /* 0x09c */ OPT_YCENTER,
- /* 0x09d */ OPT_ZCENTER,
- /* 0x09e */ OPT_CENTER,
- /* 0x09f */ OPT_SCALE,
- /* 0x0a0 */ OPT_SHIFT,
- /* 0x0a1 */ OPT_XSS,
- /* 0x0a2 */ OPT_YSS,
- /* 0x0a3 */ OPT_ZSS,
- /* 0x0a4 */ OPT_ROT,
- /* 0x0a5 */ OPT_XROT,
- /* 0x0a6 */ OPT_YROT,
- /* 0x0a7 */ OPT_ZROT,
- /* 0x0a8 */ OPT_YPOS,
- /* 0x0a9 */ OPT_TRANSLATE,
- /* 0x0aa */ OPT_NULL,
- /* 0x0ab */ OPT_NEXT,
- /* 0x0ac */ OPT_ASCALE,
- /* 0x0ad */ OPT_AROT,
- /* 0x0ae */ OPT_TFORM_SCRIPT,
- /* 0x0af */ OPT_MINIMAP,
- /* 0x0b0 */ OPT_RM_GOBJ,
- /* 0x0b1 */ OPT_BATTLE,
- /* 0x0b2 */ OPT_EXPORT_FLAGS,
- /* 0x0b3 */ OPT_ROUTE_OPTIONS,
- /* 0x0b4 */ OPT_WIM0,
- /* 0x0b5 */ OPT_SLOT,
- /* 0x0b6 */ OPT_LOAD_KCL,
- /* 0x0b7 */ OPT_KCL,
- /* 0x0b8 */ OPT_KCL_FLAG,
- /* 0x0b9 */ OPT_KCL_SCRIPT,
- /* 0x0ba */ OPT_TRI_AREA,
- /* 0x0bb */ OPT_TRI_HEIGHT,
- /* 0x0bc */ OPT_FLAG_FILE,
- /* 0x0bd */ OPT_XTRIDATA,
- /* 0x0be */ OPT_KMP,
- /* 0x0bf */ OPT_N_LAPS,
- /* 0x0c0 */ OPT_SPEED_MOD,
- /* 0x0c1 */ OPT_KTPT2,
- /* 0x0c2 */ OPT_TFORM_KMP,
- /* 0x0c3 */ OPT_REPAIR_XPF,
- /* 0x0c4 */ OPT_GAMEMODES,
- /* 0x0c5 */ OPT_MDL,
- /* 0x0c6 */ OPT_PAT,
- /* 0x0c7 */ OPT_PATCH_FILE,
- /* 0x0c8 */ OPT_KMG_LIMIT,
- /* 0x0c9 */ OPT_KMG_COPY,
- /* 0x0ca */ OPT_LT_CLEAR,
- /* 0x0cb */ OPT_LT_ONLINE,
- /* 0x0cc */ OPT_LT_N_PLAYERS,
- /* 0x0cd */ OPT_LT_COND_BIT,
- /* 0x0ce */ OPT_LT_GAME_MODE,
- /* 0x0cf */ OPT_LT_ENGINE,
- /* 0x0d0 */ OPT_LT_RANDOM,
- /* 0x0d1 */ OPT_LEX_PURGE,
- /* 0x0d2 */ OPT_LEX_FEATURES,
- /* 0x0d3 */ OPT_LEX_RM_FEAT,
- /* 0x0d4 */ OPT_LOAD_BMG,
- /* 0x0d5 */ OPT_PATCH_BMG,
- /* 0x0d6 */ OPT_MACRO_BMG,
- /* 0x0d7 */ OPT_FILTER_BMG,
- /* 0x0d8 */ OPT_LE_MENU,
- /* 0x0d9 */ OPT_9LAPS,
- /* 0x0da */ OPT_UI_SOURCE,
- /* 0x0db */ OPT_TITLE_SCREEN,
- /* 0x0dc */ OPT_CUP_ICONS,
- /* 0x0dd */ OPT_NO_COPY,
- /* 0x0de */ OPT_CACHE,
- /* 0x0df */ OPT_CNAME,
- /* 0x0e0 */ OPT_LOG_CACHE,
- /* 0x0e1 */ OPT_PARALLEL,
- /* 0x0e2 */ OPT_ID,
- /* 0x0e3 */ OPT_BASE64,
- /* 0x0e4 */ OPT_DB64,
- /* 0x0e5 */ OPT_CODING,
- /* 0x0e6 */ OPT_VERIFY,
- /* 0x0e7 */ OPT_ROUND,
- /* 0x0e8 */ OPT_NO_WILDCARDS,
- /* 0x0e9 */ OPT_IN_ORDER,
- /* 0x0ea */ OPT_PIPE,
- /* 0x0eb */ OPT_DELTA,
- /* 0x0ec */ OPT_DIFF,
- /* 0x0ed */ OPT_EPSILON,
- /* 0x0ee */ OPT_BMG_ENDIAN,
- /* 0x0ef */ OPT_BMG_ENCODING,
- /* 0x0f0 */ OPT_BMG_INF_SIZE,
- /* 0x0f1 */ OPT_BMG_MID,
- /* 0x0f2 */ OPT_FORCE_ATTRIB,
- /* 0x0f3 */ OPT_DEF_ATTRIB,
- /* 0x0f4 */ OPT_NO_ATTRIB,
- /* 0x0f5 */ OPT_X_ESCAPES,
- /* 0x0f6 */ OPT_OLD_ESCAPES,
- /* 0x0f7 */ OPT_NO_BMG_COLORS,
- /* 0x0f8 */ OPT_BMG_COLORS,
- /* 0x0f9 */ OPT_NO_BMG_INLINE,
- /* 0x0fa */ OPT_AUTOADD_PATH,
- /* 0x0fb */ OPT_STRIP,
- /* 0x0fc */ OPT_UTF_8,
- /* 0x0fd */ OPT_NO_UTF_8,
- /* 0x0fe */ OPT_FORCE,
- /* 0x0ff */ OPT_REPAIR_MAGICS,
- /* 0x100 */ OPT_TINY,
- /* 0x101 */ OPT_YAZ0,
- /* 0x102 */ OPT_YAZ1,
- /* 0x103 */ OPT_XYZ,
- /* 0x104 */ OPT_BZ,
- /* 0x105 */ OPT_BZIP2,
- /* 0x106 */ OPT_LZ,
- /* 0x107 */ OPT_LZMA,
- /* 0x108 */ OPT_SH,
- /* 0x109 */ OPT_BASH,
- /* 0x10a */ OPT_JSON,
- /* 0x10b */ OPT_PHP,
- /* 0x10c */ OPT_MAKEDOC,
- /* 0x10d */ OPT_VAR,
- /* 0x10e */ OPT_ARRAY,
- /* 0x10f */ OPT_AVAR,
- /* 0x110 */ OPT_CASE,
- /* 0x111 */ OPT_FMODES,
- /* 0x112 */ OPT_INSTALL,
- /* 0x113 */ OPT_ANALYZE,
- /* 0x114 */ OPT_ANALYZE_MODE,
- /* 0x115 */ OPT_OLD,
- /* 0x116 */ OPT_STD,
- /* 0x117 */ OPT_NEW,
- /* 0x118 */ OPT_EXTRACT,
- /* 0x119 */ OPT_REFERENCE,
- /* 0x11a */ OPT_NUMBER,
- /* 0x11b */ OPT_REMOVE_SRC,
- /* 0x11c */ OPT_IGNORE_SETUP,
- /* 0x11d */ OPT_PURGE,
- /* 0x11e */ OPT_ALIGN_U8,
- /* 0x11f */ OPT_ALIGN_LTA,
- /* 0x120 */ OPT_ALIGN_PACK,
- /* 0x121 */ OPT_ALIGN_BRRES,
- /* 0x122 */ OPT_ALIGN_BREFF,
- /* 0x123 */ OPT_ALIGN_BREFT,
- /* 0x124 */ OPT_ALIGN,
- /* 0x125 */ OPT_ENCODE_ALL,
- /* 0x126 */ OPT_ENCODE_IMG,
- /* 0x127 */ OPT_NO_ENCODE,
- /* 0x128 */ OPT_NO_RECURSE,
- /* 0x129 */ OPT_AUTO_ADD,
- /* 0x12a */ OPT_NO_ECHO,
- /* 0x12b */ OPT_PT_DIR,
- /* 0x12c */ OPT_RM_AIPARAM,
- /* 0x12d */ OPT_U8,
- /* 0x12e */ OPT_SZS,
- /* 0x12f */ OPT_WU8,
- /* 0x130 */ OPT_XWU8,
- /* 0x131 */ OPT_WBZ,
- /* 0x132 */ OPT_WLZ,
- /* 0x133 */ OPT_LFL,
- /* 0x134 */ OPT_PACK,
- /* 0x135 */ OPT_BRRES,
- /* 0x136 */ OPT_BREFF,
- /* 0x137 */ OPT_BREFT,
- /* 0x138 */ OPT_NO_COMPRESS,
- /* 0x139 */ OPT_FAST,
- /* 0x13a */ OPT_LINKS,
- /* 0x13b */ OPT_BASEDIR,
- /* 0x13c */ OPT_DECODE,
- /* 0x13d */ OPT_MIPMAPS,
- /* 0x13e */ OPT_NO_MIPMAPS,
- /* 0x13f */ OPT_N_MIPMAPS,
- /* 0x140 */ OPT_MAX_MIPMAPS,
- /* 0x141 */ OPT_MIPMAP_SIZE,
- /* 0x142 */ OPT_FAST_MIPMAPS,
- /* 0x143 */ OPT_CMPR_DEFAULT,
- /* 0x144 */ OPT_CUT,
- /* 0x145 */ OPT_RAW,
- /* 0x146 */ OPT_SECTIONS,
- /* 0x147 */ 0,0,0,
+ /* 0x08d */ OPT_LE_04X,
+ /* 0x08e */ OPT_LOAD_PREFIX,
+ /* 0x08f */ OPT_LOAD_CATEGORY,
+ /* 0x090 */ OPT_PLUS,
+ /* 0x091 */ OPT_SPLIT,
+ /* 0x092 */ OPT_PRINTF,
+ /* 0x093 */ OPT_CHDIR,
+ /* 0x094 */ OPT_TOUCH,
+ /* 0x095 */ OPT_AUTO,
+ /* 0x096 */ OPT_SET_FLAGS,
+ /* 0x097 */ OPT_SET_SCALE,
+ /* 0x098 */ OPT_SET_ROT,
+ /* 0x099 */ OPT_SET_X,
+ /* 0x09a */ OPT_SET_Y,
+ /* 0x09b */ OPT_SET_Z,
+ /* 0x09c */ OPT_XCENTER,
+ /* 0x09d */ OPT_YCENTER,
+ /* 0x09e */ OPT_ZCENTER,
+ /* 0x09f */ OPT_CENTER,
+ /* 0x0a0 */ OPT_SCALE,
+ /* 0x0a1 */ OPT_SHIFT,
+ /* 0x0a2 */ OPT_XSS,
+ /* 0x0a3 */ OPT_YSS,
+ /* 0x0a4 */ OPT_ZSS,
+ /* 0x0a5 */ OPT_ROT,
+ /* 0x0a6 */ OPT_XROT,
+ /* 0x0a7 */ OPT_YROT,
+ /* 0x0a8 */ OPT_ZROT,
+ /* 0x0a9 */ OPT_YPOS,
+ /* 0x0aa */ OPT_TRANSLATE,
+ /* 0x0ab */ OPT_NULL,
+ /* 0x0ac */ OPT_NEXT,
+ /* 0x0ad */ OPT_ASCALE,
+ /* 0x0ae */ OPT_AROT,
+ /* 0x0af */ OPT_TFORM_SCRIPT,
+ /* 0x0b0 */ OPT_MINIMAP,
+ /* 0x0b1 */ OPT_RM_GOBJ,
+ /* 0x0b2 */ OPT_BATTLE,
+ /* 0x0b3 */ OPT_EXPORT_FLAGS,
+ /* 0x0b4 */ OPT_ROUTE_OPTIONS,
+ /* 0x0b5 */ OPT_WIM0,
+ /* 0x0b6 */ OPT_SLOT,
+ /* 0x0b7 */ OPT_LOAD_KCL,
+ /* 0x0b8 */ OPT_KCL,
+ /* 0x0b9 */ OPT_KCL_FLAG,
+ /* 0x0ba */ OPT_KCL_SCRIPT,
+ /* 0x0bb */ OPT_TRI_AREA,
+ /* 0x0bc */ OPT_TRI_HEIGHT,
+ /* 0x0bd */ OPT_FLAG_FILE,
+ /* 0x0be */ OPT_XTRIDATA,
+ /* 0x0bf */ OPT_KMP,
+ /* 0x0c0 */ OPT_N_LAPS,
+ /* 0x0c1 */ OPT_SPEED_MOD,
+ /* 0x0c2 */ OPT_KTPT2,
+ /* 0x0c3 */ OPT_TFORM_KMP,
+ /* 0x0c4 */ OPT_REPAIR_XPF,
+ /* 0x0c5 */ OPT_GAMEMODES,
+ /* 0x0c6 */ OPT_MDL,
+ /* 0x0c7 */ OPT_PAT,
+ /* 0x0c8 */ OPT_PATCH_FILES,
+ /* 0x0c9 */ OPT_KMG_LIMIT,
+ /* 0x0ca */ OPT_KMG_COPY,
+ /* 0x0cb */ OPT_LT_CLEAR,
+ /* 0x0cc */ OPT_LT_ONLINE,
+ /* 0x0cd */ OPT_LT_N_PLAYERS,
+ /* 0x0ce */ OPT_LT_COND_BIT,
+ /* 0x0cf */ OPT_LT_GAME_MODE,
+ /* 0x0d0 */ OPT_LT_ENGINE,
+ /* 0x0d1 */ OPT_LT_RANDOM,
+ /* 0x0d2 */ OPT_LEX_PURGE,
+ /* 0x0d3 */ OPT_LEX_FEATURES,
+ /* 0x0d4 */ OPT_LEX_RM_FEAT,
+ /* 0x0d5 */ OPT_LOAD_BMG,
+ /* 0x0d6 */ OPT_PATCH_BMG,
+ /* 0x0d7 */ OPT_MACRO_BMG,
+ /* 0x0d8 */ OPT_FILTER_BMG,
+ /* 0x0d9 */ OPT_LE_MENU,
+ /* 0x0da */ OPT_9LAPS,
+ /* 0x0db */ OPT_UI_SOURCE,
+ /* 0x0dc */ OPT_TITLE_SCREEN,
+ /* 0x0dd */ OPT_CUP_ICONS,
+ /* 0x0de */ OPT_NO_COPY,
+ /* 0x0df */ OPT_CACHE,
+ /* 0x0e0 */ OPT_CNAME,
+ /* 0x0e1 */ OPT_LOG_CACHE,
+ /* 0x0e2 */ OPT_PARALLEL,
+ /* 0x0e3 */ OPT_ID,
+ /* 0x0e4 */ OPT_BASE64,
+ /* 0x0e5 */ OPT_DB64,
+ /* 0x0e6 */ OPT_CODING,
+ /* 0x0e7 */ OPT_VERIFY,
+ /* 0x0e8 */ OPT_ROUND,
+ /* 0x0e9 */ OPT_NO_WILDCARDS,
+ /* 0x0ea */ OPT_IN_ORDER,
+ /* 0x0eb */ OPT_PIPE,
+ /* 0x0ec */ OPT_DELTA,
+ /* 0x0ed */ OPT_DIFF,
+ /* 0x0ee */ OPT_EPSILON,
+ /* 0x0ef */ OPT_BMG_ENDIAN,
+ /* 0x0f0 */ OPT_BMG_ENCODING,
+ /* 0x0f1 */ OPT_BMG_INF_SIZE,
+ /* 0x0f2 */ OPT_BMG_MID,
+ /* 0x0f3 */ OPT_FORCE_ATTRIB,
+ /* 0x0f4 */ OPT_DEF_ATTRIB,
+ /* 0x0f5 */ OPT_NO_ATTRIB,
+ /* 0x0f6 */ OPT_X_ESCAPES,
+ /* 0x0f7 */ OPT_OLD_ESCAPES,
+ /* 0x0f8 */ OPT_NO_BMG_COLORS,
+ /* 0x0f9 */ OPT_BMG_COLORS,
+ /* 0x0fa */ OPT_NO_BMG_INLINE,
+ /* 0x0fb */ OPT_AUTOADD_PATH,
+ /* 0x0fc */ OPT_STRIP,
+ /* 0x0fd */ OPT_UTF_8,
+ /* 0x0fe */ OPT_NO_UTF_8,
+ /* 0x0ff */ OPT_FORCE,
+ /* 0x100 */ OPT_REPAIR_MAGICS,
+ /* 0x101 */ OPT_TINY,
+ /* 0x102 */ OPT_YAZ0,
+ /* 0x103 */ OPT_YAZ1,
+ /* 0x104 */ OPT_XYZ,
+ /* 0x105 */ OPT_BZ,
+ /* 0x106 */ OPT_BZIP2,
+ /* 0x107 */ OPT_LZ,
+ /* 0x108 */ OPT_LZMA,
+ /* 0x109 */ OPT_SH,
+ /* 0x10a */ OPT_BASH,
+ /* 0x10b */ OPT_JSON,
+ /* 0x10c */ OPT_PHP,
+ /* 0x10d */ OPT_MAKEDOC,
+ /* 0x10e */ OPT_VAR,
+ /* 0x10f */ OPT_ARRAY,
+ /* 0x110 */ OPT_AVAR,
+ /* 0x111 */ OPT_CASE,
+ /* 0x112 */ OPT_FMODES,
+ /* 0x113 */ OPT_INSTALL,
+ /* 0x114 */ OPT_ANALYZE,
+ /* 0x115 */ OPT_ANALYZE_MODE,
+ /* 0x116 */ OPT_OLD,
+ /* 0x117 */ OPT_STD,
+ /* 0x118 */ OPT_NEW,
+ /* 0x119 */ OPT_EXTRACT,
+ /* 0x11a */ OPT_ID_LIST,
+ /* 0x11b */ OPT_REFERENCE,
+ /* 0x11c */ OPT_NUMBER,
+ /* 0x11d */ OPT_REMOVE_SRC,
+ /* 0x11e */ OPT_IGNORE_SETUP,
+ /* 0x11f */ OPT_PURGE,
+ /* 0x120 */ OPT_ALIGN_U8,
+ /* 0x121 */ OPT_ALIGN_LTA,
+ /* 0x122 */ OPT_ALIGN_PACK,
+ /* 0x123 */ OPT_ALIGN_BRRES,
+ /* 0x124 */ OPT_ALIGN_BREFF,
+ /* 0x125 */ OPT_ALIGN_BREFT,
+ /* 0x126 */ OPT_ALIGN,
+ /* 0x127 */ OPT_ENCODE_ALL,
+ /* 0x128 */ OPT_ENCODE_IMG,
+ /* 0x129 */ OPT_NO_ENCODE,
+ /* 0x12a */ OPT_NO_RECURSE,
+ /* 0x12b */ OPT_AUTO_ADD,
+ /* 0x12c */ OPT_NO_ECHO,
+ /* 0x12d */ OPT_PT_DIR,
+ /* 0x12e */ OPT_RM_AIPARAM,
+ /* 0x12f */ OPT_U8,
+ /* 0x130 */ OPT_SZS,
+ /* 0x131 */ OPT_WU8,
+ /* 0x132 */ OPT_XWU8,
+ /* 0x133 */ OPT_WBZ,
+ /* 0x134 */ OPT_WLZ,
+ /* 0x135 */ OPT_LFL,
+ /* 0x136 */ OPT_PACK,
+ /* 0x137 */ OPT_BRRES,
+ /* 0x138 */ OPT_BREFF,
+ /* 0x139 */ OPT_BREFT,
+ /* 0x13a */ OPT_NO_COMPRESS,
+ /* 0x13b */ OPT_FAST,
+ /* 0x13c */ OPT_LINKS,
+ /* 0x13d */ OPT_BASEDIR,
+ /* 0x13e */ OPT_DECODE,
+ /* 0x13f */ OPT_MIPMAPS,
+ /* 0x140 */ OPT_NO_MIPMAPS,
+ /* 0x141 */ OPT_N_MIPMAPS,
+ /* 0x142 */ OPT_MAX_MIPMAPS,
+ /* 0x143 */ OPT_MIPMAP_SIZE,
+ /* 0x144 */ OPT_FAST_MIPMAPS,
+ /* 0x145 */ OPT_CMPR_DEFAULT,
+ /* 0x146 */ OPT_CUT,
+ /* 0x147 */ OPT_RAW,
+ /* 0x148 */ OPT_SECTIONS,
+ /* 0x149 */ 0,
};
//
@@ -3222,742 +3255,742 @@ static const OptionIndex_t OptionIndex[UIOPT_INDEX_SIZE] =
/////////////// opt_allowed_cmd_* ///////////////
///////////////////////////////////////////////////////////////////////////////
-static u8 option_allowed_cmd_VERSION[148] = // cmd #1
+static u8 option_allowed_cmd_VERSION[149] = // cmd #1
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_HELP[148] = // cmd #2
+static u8 option_allowed_cmd_HELP[149] = // cmd #2
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_CONFIG[148] = // cmd #3
+static u8 option_allowed_cmd_CONFIG[149] = // cmd #3
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_INSTALL[148] = // cmd #4
+static u8 option_allowed_cmd_INSTALL[149] = // cmd #4
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_ARGTEST[148] = // cmd #5
+static u8 option_allowed_cmd_ARGTEST[149] = // cmd #5
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_EXPAND[148] = // cmd #6
+static u8 option_allowed_cmd_EXPAND[149] = // cmd #6
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_WILDCARDS[148] = // cmd #7
+static u8 option_allowed_cmd_WILDCARDS[149] = // cmd #7
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_TEST[148] = // cmd #8
+static u8 option_allowed_cmd_TEST[149] = // cmd #8
{
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1
};
-static u8 option_allowed_cmd_COLORS[148] = // cmd #9
+static u8 option_allowed_cmd_COLORS[149] = // cmd #9
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_ERROR[148] = // cmd #10
+static u8 option_allowed_cmd_ERROR[149] = // cmd #10
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_FILETYPE[148] = // cmd #11
+static u8 option_allowed_cmd_FILETYPE[149] = // cmd #11
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_UI_CHECK[148] = // cmd #12
+static u8 option_allowed_cmd_UI_CHECK[149] = // cmd #12
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_FILEATTRIB[148] = // cmd #13
+static u8 option_allowed_cmd_FILEATTRIB[149] = // cmd #13
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_BRSUB[148] = // cmd #14
+static u8 option_allowed_cmd_BRSUB[149] = // cmd #14
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_SYMBOLS[148] = // cmd #15
+static u8 option_allowed_cmd_SYMBOLS[149] = // cmd #15
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_FUNCTIONS[148] = // cmd #16
+static u8 option_allowed_cmd_FUNCTIONS[149] = // cmd #16
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_CALCULATE[148] = // cmd #17
+static u8 option_allowed_cmd_CALCULATE[149] = // cmd #17
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_MATRIX[148] = // cmd #18
+static u8 option_allowed_cmd_MATRIX[149] = // cmd #18
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_FLOAT[148] = // cmd #19
+static u8 option_allowed_cmd_FLOAT[149] = // cmd #19
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_VR_CALC[148] = // cmd #20
+static u8 option_allowed_cmd_VR_CALC[149] = // cmd #20
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_VR_RACE[148] = // cmd #21
+static u8 option_allowed_cmd_VR_RACE[149] = // cmd #21
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_AUTOADD[148] = // cmd #22
+static u8 option_allowed_cmd_AUTOADD[149] = // cmd #22
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,1,0,0, 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,0,1,0, 0,1,0,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_TRACKS[148] = // cmd #23
+static u8 option_allowed_cmd_TRACKS[149] = // cmd #23
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0,
0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0
};
-static u8 option_allowed_cmd_SCANCACHE[148] = // cmd #24
+static u8 option_allowed_cmd_SCANCACHE[149] = // cmd #24
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_EXPORT[148] = // cmd #25
+static u8 option_allowed_cmd_EXPORT[149] = // cmd #25
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_SIZEOF[148] = // cmd #26
+static u8 option_allowed_cmd_SIZEOF[149] = // cmd #26
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_CODE[148] = // cmd #27
+static u8 option_allowed_cmd_CODE[149] = // cmd #27
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_RECODE[148] = // cmd #28
+static u8 option_allowed_cmd_RECODE[149] = // cmd #28
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_SUBFILE[148] = // cmd #29
+static u8 option_allowed_cmd_SUBFILE[149] = // cmd #29
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_TESTNORM[148] = // cmd #30
+static u8 option_allowed_cmd_TESTNORM[149] = // cmd #30
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_LIST[148] = // cmd #31
+static u8 option_allowed_cmd_LIST[149] = // cmd #31
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0
};
-static u8 option_allowed_cmd_LIST_L[148] = // cmd #32
+static u8 option_allowed_cmd_LIST_L[149] = // cmd #32
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0
};
-static u8 option_allowed_cmd_LIST_LL[148] = // cmd #33
+static u8 option_allowed_cmd_LIST_LL[149] = // cmd #33
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0
};
-static u8 option_allowed_cmd_LIST_LLL[148] = // cmd #34
+static u8 option_allowed_cmd_LIST_LLL[149] = // cmd #34
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0
};
-static u8 option_allowed_cmd_LIST_A[148] = // cmd #35
+static u8 option_allowed_cmd_LIST_A[149] = // cmd #35
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0
};
-static u8 option_allowed_cmd_LIST_LA[148] = // cmd #36
+static u8 option_allowed_cmd_LIST_LA[149] = // cmd #36
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,0,1,1, 1,1,1,1,1, 1,1,0,0
};
-static u8 option_allowed_cmd_NAME_REF[148] = // cmd #37
+static u8 option_allowed_cmd_NAME_REF[149] = // cmd #37
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_ILIST[148] = // cmd #38
+static u8 option_allowed_cmd_ILIST[149] = // cmd #38
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_ILIST_L[148] = // cmd #39
+static u8 option_allowed_cmd_ILIST_L[149] = // cmd #39
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_ILIST_LL[148] = // cmd #40
+static u8 option_allowed_cmd_ILIST_LL[149] = // cmd #40
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_ILIST_A[148] = // cmd #41
+static u8 option_allowed_cmd_ILIST_A[149] = // cmd #41
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_ILIST_LA[148] = // cmd #42
+static u8 option_allowed_cmd_ILIST_LA[149] = // cmd #42
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_MEMORY[148] = // cmd #43
+static u8 option_allowed_cmd_MEMORY[149] = // cmd #43
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,0
};
-static u8 option_allowed_cmd_MEMORY_A[148] = // cmd #44
+static u8 option_allowed_cmd_MEMORY_A[149] = // cmd #44
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,0,0
};
-static u8 option_allowed_cmd_DUMP[148] = // cmd #45
+static u8 option_allowed_cmd_DUMP[149] = // cmd #45
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_SHA1[148] = // cmd #46
+static u8 option_allowed_cmd_SHA1[149] = // cmd #46
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1, 0,1,0,1,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,1, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 1,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_ANALYZE[148] = // cmd #47
+static u8 option_allowed_cmd_ANALYZE[149] = // cmd #47
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1,
- 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1
+ 1,1,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_SPLIT[148] = // cmd #48
+static u8 option_allowed_cmd_SPLIT[149] = // cmd #48
{
0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_IS_TEXTURE[148] = // cmd #49
+static u8 option_allowed_cmd_IS_TEXTURE[149] = // cmd #49
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_FEATURES[148] = // cmd #50
+static u8 option_allowed_cmd_FEATURES[149] = // cmd #50
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,1,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0,
+ 1,1,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_DISTRIBUTION[148] = // cmd #51
+static u8 option_allowed_cmd_DISTRIBUTION[149] = // cmd #51
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,0, 0,0,0,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,1,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,1,1,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,1,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_DIFF[148] = // cmd #52
+static u8 option_allowed_cmd_DIFF[149] = // cmd #52
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,1, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 1,1,0,0
};
-static u8 option_allowed_cmd_CHECK[148] = // cmd #53
+static u8 option_allowed_cmd_CHECK[149] = // cmd #53
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,1,0,1,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_SLOTS[148] = // cmd #54
+static u8 option_allowed_cmd_SLOTS[149] = // cmd #54
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,1,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_STGI[148] = // cmd #55
+static u8 option_allowed_cmd_STGI[149] = // cmd #55
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_IS_ARENA[148] = // cmd #56
+static u8 option_allowed_cmd_IS_ARENA[149] = // cmd #56
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_NORMALIZE[148] = // cmd #57
+static u8 option_allowed_cmd_NORMALIZE[149] = // cmd #57
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1,
- 1,1,1,1,0, 0,0,0,0,0, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,1,
+ 1,1,1,1,1, 0,0,0,0,0, 0,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_PATCH[148] = // cmd #58
+static u8 option_allowed_cmd_PATCH[149] = // cmd #58
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1,
- 1,1,1,1,0, 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,1,
+ 1,1,1,1,1, 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_COPY[148] = // cmd #59
+static u8 option_allowed_cmd_COPY[149] = // cmd #59
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1,
- 1,1,1,1,0, 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,1,
+ 1,1,1,1,1, 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_DUPLICATE[148] = // cmd #60
+static u8 option_allowed_cmd_DUPLICATE[149] = // cmd #60
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1,
- 1,1,1,1,0, 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,1,
+ 1,1,1,1,1, 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_MINIMAP[148] = // cmd #61
+static u8 option_allowed_cmd_MINIMAP[149] = // cmd #61
{
0,0,0,0,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 1,0,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,0,0,0,
- 0,0,0,0,0, 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,1,0,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_COMPRESS[148] = // cmd #62
+static u8 option_allowed_cmd_COMPRESS[149] = // cmd #62
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1,
- 1,1,1,1,0, 0,0,0,0,1, 1,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,1,
+ 1,1,1,1,1, 0,0,0,0,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_DECOMPRESS[148] = // cmd #63
+static u8 option_allowed_cmd_DECOMPRESS[149] = // cmd #63
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,1, 1,1,1,1,0, 0,1,1,1,1, 1,1,1,0,0, 0,0,1,0,0, 1,1,1,0,1,
- 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 1,1,1,1,1, 0,0,1,1,1, 1,1,1,1,0, 0,0,0,1,0, 0,1,1,1,0,
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_ENCODE[148] = // cmd #64
+static u8 option_allowed_cmd_ENCODE[149] = // cmd #64
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,0,1,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,0,1, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_CREATE[148] = // cmd #65
+static u8 option_allowed_cmd_CREATE[149] = // cmd #65
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,1,
- 1,1,1,1,0, 1,1,1,1,1, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
- 1,1,1,1,1, 1,1,1,1,1, 1,0,1,0,0, 0,0,1,1,1, 1,1,1,1,0, 1,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 0,1,1,1,1, 1,0,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
+ 1,1,1,1,1, 1,1,1,1,1, 1,1,0,1,0, 0,0,0,1,1, 1,1,1,1,1, 0,1,0,0
};
-static u8 option_allowed_cmd_UPDATE[148] = // cmd #66
+static u8 option_allowed_cmd_UPDATE[149] = // cmd #66
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,1,0,1,
- 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,0,1,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,1, 1,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 1,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,0,0, 0,0,1,0,0,
+ 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1, 1,1,1,0,1, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,1, 1,1,0,0,0, 1,0,0,0,0, 0,0,0,0,0, 0,1,0,0
};
-static u8 option_allowed_cmd_EXTRACT[148] = // cmd #67
+static u8 option_allowed_cmd_EXTRACT[149] = // cmd #67
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1,
- 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,1,
- 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,0, 0,0,1,1,1, 1,1,0
+ 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,0,
+ 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,0,0,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_XDECODE[148] = // cmd #68
+static u8 option_allowed_cmd_XDECODE[149] = // cmd #68
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1,
- 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,1,
- 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,0, 0,0,1,1,1, 1,1,0
+ 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,0,
+ 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,0,0,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_XEXPORT[148] = // cmd #69
+static u8 option_allowed_cmd_XEXPORT[149] = // cmd #69
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1,
- 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,1,
- 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,0, 0,0,1,1,1, 1,1,0
+ 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,0,
+ 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,0,0,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_XALL[148] = // cmd #70
+static u8 option_allowed_cmd_XALL[149] = // cmd #70
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1,
- 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,1,
- 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1, 1,1,1,1,0, 0,0,1,1,1, 1,1,0
+ 1,0,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 1,1,0,0,0,
+ 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 1,1,1,1,1, 0,0,0,1,1, 1,1,1,0
};
-static u8 option_allowed_cmd_XCOMMON[148] = // cmd #71
+static u8 option_allowed_cmd_XCOMMON[149] = // cmd #71
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_BINARY[148] = // cmd #72
+static u8 option_allowed_cmd_BINARY[149] = // cmd #72
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_TEXT[148] = // cmd #73
+static u8 option_allowed_cmd_TEXT[149] = // cmd #73
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
- 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_CAT[148] = // cmd #74
+static u8 option_allowed_cmd_CAT[149] = // cmd #74
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
1,0,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_BMG[148] = // cmd #75
+static u8 option_allowed_cmd_BMG[149] = // cmd #75
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1,
1,0,0,0,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_KCL[148] = // cmd #76
+static u8 option_allowed_cmd_KCL[149] = // cmd #76
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_KMP[148] = // cmd #77
+static u8 option_allowed_cmd_KMP[149] = // cmd #77
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1,
1,1,1,1,1, 1,1,0,1,0, 0,1,1,1,1, 1,1,1,1,0, 0,0,0,0,0, 0,0,1,1,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,1, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 1,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_LEX[148] = // cmd #78
+static u8 option_allowed_cmd_LEX[149] = // cmd #78
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,1,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_INFO[148] = // cmd #79
+static u8 option_allowed_cmd_INFO[149] = // cmd #79
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1,
1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_GHOST[148] = // cmd #80
+static u8 option_allowed_cmd_GHOST[149] = // cmd #80
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,0,0,0, 0,0,0,0,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1
};
-static u8 option_allowed_cmd_YAZDUMP[148] = // cmd #81
+static u8 option_allowed_cmd_YAZDUMP[149] = // cmd #81
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,1,
- 1,1,1,1,0, 1,1,1,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 1,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 1,1,1,1,1, 0,1,1,1,1, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
-static u8 option_allowed_cmd_VEHICLE[148] = // cmd #82
+static u8 option_allowed_cmd_VEHICLE[149] = // cmd #82
{
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,1,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,1,
- 1,0,1,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
- 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,1,0,0,
+ 1,1,0,1,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
+ 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0
};
@@ -3988,6 +4021,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_NO_COLORS,
OptionInfo + OPT_CT_CODE,
OptionInfo + OPT_LE_CODE,
+ OptionInfo + OPT_LE_04X,
OptionInfo + OPT_LOAD_PREFIX,
OptionInfo + OPT_LOAD_CATEGORY,
OptionInfo + OPT_CHDIR,
@@ -4006,7 +4040,7 @@ static const InfoOption_t * option_tab_tool[] =
OptionInfo + OPT_TFORM_KMP,
OptionInfo + OPT_MDL,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_KMG_LIMIT,
OptionInfo + OPT_KMG_COPY,
OptionInfo + OPT_LT_CLEAR,
@@ -4124,6 +4158,8 @@ static const InfoOption_t * option_tab_cmd_WILDCARDS[] =
OptionInfo + OPT_NO_WILDCARDS,
OptionInfo + OPT_IN_ORDER,
OptionInfo + OPT_IGNORE,
+ &option_cmd_WILDCARDS_SH,
+ &option_cmd_WILDCARDS_BASH,
0
};
@@ -5520,6 +5556,7 @@ static const InfoOption_t * option_tab_cmd_ANALYZE[] =
OptionInfo + OPT_NONE, // separator
+ OptionInfo + OPT_ID_LIST,
OptionInfo + OPT_REFERENCE,
OptionInfo + OPT_DEST,
OptionInfo + OPT_DEST2,
@@ -5801,7 +5838,7 @@ static const InfoOption_t * option_tab_cmd_CHECK[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -5925,7 +5962,7 @@ static const InfoOption_t * option_tab_cmd_SLOTS[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -6067,7 +6104,7 @@ static const InfoOption_t * option_tab_cmd_NORMALIZE[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -6179,7 +6216,7 @@ static const InfoOption_t * option_tab_cmd_PATCH[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -6291,7 +6328,7 @@ static const InfoOption_t * option_tab_cmd_COPY[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -6404,7 +6441,7 @@ static const InfoOption_t * option_tab_cmd_DUPLICATE[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -6576,7 +6613,7 @@ static const InfoOption_t * option_tab_cmd_COMPRESS[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -6672,7 +6709,7 @@ static const InfoOption_t * option_tab_cmd_DECOMPRESS[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -6772,7 +6809,7 @@ static const InfoOption_t * option_tab_cmd_ENCODE[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -6909,7 +6946,7 @@ static const InfoOption_t * option_tab_cmd_CREATE[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -7007,7 +7044,7 @@ static const InfoOption_t * option_tab_cmd_UPDATE[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -7104,7 +7141,7 @@ static const InfoOption_t * option_tab_cmd_EXTRACT[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -7201,7 +7238,7 @@ static const InfoOption_t * option_tab_cmd_XDECODE[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -7298,7 +7335,7 @@ static const InfoOption_t * option_tab_cmd_XEXPORT[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -7395,7 +7432,7 @@ static const InfoOption_t * option_tab_cmd_XALL[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -7625,7 +7662,7 @@ static const InfoOption_t * option_tab_cmd_KCL[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -7697,7 +7734,7 @@ static const InfoOption_t * option_tab_cmd_KMP[] =
OptionInfo + OPT_MDL,
OptionInfo + OPT_MINIMAP,
OptionInfo + OPT_PAT,
- OptionInfo + OPT_PATCH_FILE,
+ OptionInfo + OPT_PATCH_FILES,
OptionInfo + OPT_LT_CLEAR,
OptionInfo + OPT_LT_ONLINE,
OptionInfo + OPT_LT_N_PLAYERS,
@@ -7832,7 +7869,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" SZS, U8, PACK, BRRES, BREFF and BREFT archives. Additonally, RARC"
" archive can be extracted. It is also a wrapper to all other tools.",
0,
- 79,
+ 80,
option_tab_tool,
0
},
@@ -7953,7 +7990,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" point) for the following parameters. Finally, one line is printed"
" for each file name of the list.",
0,
- 3,
+ 5,
option_tab_cmd_WILDCARDS,
option_allowed_cmd_WILDCARDS
},
@@ -8627,7 +8664,7 @@ static const InfoCommand_t CommandInfo[CMD__N+1] =
" Wildcards and pipe characters are parsed, see"
" https://szs.wiimm.de/doc/wildcards for details.",
0,
- 18,
+ 19,
option_tab_cmd_ANALYZE,
option_allowed_cmd_ANALYZE
},
diff --git a/project/src/ui/ui-wszst.h b/project/src/ui/ui-wszst.h
index ff27ae8..0fb58cf 100644
--- a/project/src/ui/ui-wszst.h
+++ b/project/src/ui/ui-wszst.h
@@ -143,6 +143,7 @@ typedef enum enumOptions
OPT_ANALYZE,
OPT_ANALYZE_MODE,
OPT_SOURCE,
+ OPT_ID_LIST,
OPT_REFERENCE,
OPT_DEST,
OPT_DEST2,
@@ -204,7 +205,7 @@ typedef enum enumOptions
OPT_RAW,
OPT_SECTIONS,
- OPT__N_SPECIFIC, // == 148
+ OPT__N_SPECIFIC, // == 149
//----- global options -----
@@ -228,6 +229,7 @@ typedef enum enumOptions
OPT_NO_COLORS,
OPT_CT_CODE,
OPT_LE_CODE,
+ OPT_LE_04X,
OPT_LOAD_PREFIX,
OPT_LOAD_CATEGORY,
OPT_CHDIR,
@@ -248,7 +250,7 @@ typedef enum enumOptions
OPT_TFORM_KMP,
OPT_MDL,
OPT_PAT,
- OPT_PATCH_FILE,
+ OPT_PATCH_FILES,
OPT_KMG_LIMIT,
OPT_KMG_COPY,
OPT_LT_CLEAR,
@@ -296,7 +298,7 @@ typedef enum enumOptions
OPT_NEW,
OPT_EXTRACT,
- OPT__N_TOTAL // == 235
+ OPT__N_TOTAL // == 237
} enumOptions;
@@ -398,6 +400,7 @@ typedef enum enumOptions
// OB_ANALYZE = 1llu << OPT_ANALYZE,
// OB_ANALYZE_MODE = 1llu << OPT_ANALYZE_MODE,
// OB_SOURCE = 1llu << OPT_SOURCE,
+// OB_ID_LIST = 1llu << OPT_ID_LIST,
// OB_REFERENCE = 1llu << OPT_REFERENCE,
// OB_DEST = 1llu << OPT_DEST,
// OB_DEST2 = 1llu << OPT_DEST2,
@@ -802,6 +805,7 @@ typedef enum enumOptions
// | OB_IGNORE
// | OB_LONG
// | OB_GRP_SCRIPT
+// | OB_ID_LIST
// | OB_REFERENCE
// | OB_DEST
// | OB_DEST2,
@@ -1249,6 +1253,7 @@ typedef enum enumGetOpt
GO_NO_COLORS,
GO_CT_CODE,
GO_LE_CODE,
+ GO_LE_04X,
GO_LOAD_PREFIX,
GO_LOAD_CATEGORY,
GO_PLUS,
@@ -1307,7 +1312,7 @@ typedef enum enumGetOpt
GO_GAMEMODES,
GO_MDL,
GO_PAT,
- GO_PATCH_FILE,
+ GO_PATCH_FILES,
GO_KMG_LIMIT,
GO_KMG_COPY,
GO_LT_CLEAR,
@@ -1389,6 +1394,7 @@ typedef enum enumGetOpt
GO_STD,
GO_NEW,
GO_EXTRACT,
+ GO_ID_LIST,
GO_REFERENCE,
GO_NUMBER,
GO_REMOVE_SRC,
diff --git a/project/src/ui/ui.def b/project/src/ui/ui.def
index b433e28..eced772 100644
--- a/project/src/ui/ui.def
+++ b/project/src/ui/ui.def
@@ -301,9 +301,9 @@
"wszst IS-TEXTURE --reference reference [source]...", \
"Test each source to see if it's a texture hack versus a reference" \
" file. For each source, one human and machine readable status line is" \
- " printed. It is either »-1=err« on error, »1=yes« for a texture" \
- " hack, or »0=no LIST« with a comma separated list of reasons." \
- " $Wildcards$ and pipe characters are parsed.\n" \
+ " printed. It is either »-1=err« on error, »1=yes« for a texture hack," \
+ " or »0=no LIST« with a comma separated list of reasons. $Wildcards$" \
+ " and pipe characters are parsed.\n" \
" At the moment KCL, KMP (see notes) and LEX are checked. KMP section" \
" CAME has been intentionally left out. Section ENPT is only checked" \
" if KCL contains a least one face of type force-recalculation." )
@@ -330,7 +330,7 @@
" If file @RESULT@ exists, it is automatically added as last source" \
" to the list of option --source, but only if not already added. On" \
" scanning of file @result@, parameters are scanned too.\n" \
- " See »welect DISTRIBUTION« for a new and alternative implementation" \
+ " See »welect DISTRIBUTION« for a new and alternative implementation" \
" of this." )
#:def_cmd( "DIFF", "DIFF|CMP", \
@@ -370,11 +370,11 @@
"wszst IS_ARENA [source]...", \
"Analyse each track for its arena status and print a line with a" \
" status code and the track name. $Wildcards$ and pipe characters are" \
- " parsed. The status code is: »-RACE« for a racing track, »?MAYBE«" \
- " for likely an arena, »+ARENA« for an arena, »+DISPATCH« for an" \
- " arena with dispatch points or any error hint beginning with an" \
- " »!«. So the very first character (one of »!-?+«) can be used to" \
- " distinguish the status class.\n" \
+ " parsed. The status code is: »-RACE« for a racing track, »?MAYBE« for" \
+ " likely an arena, »+ARENA« for an arena, »+DISPATCH« for an arena" \
+ " with dispatch points or any error hint beginning with an »!«. So the" \
+ " very first character (one of »!-?+«) can be used to distinguish the" \
+ " status class.\n" \
" The exit status is >2 on error, 2 (DIFFER), if at least one file is" \
" a racing track, or 0 (OK), if all sources are arenas." )
@@ -623,14 +623,16 @@
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
- "Be quiet and print only error messages. Multiple usage is possible." \
- " The impact is command dependent. In general: If set three times," \
- " different file format warnings are suppressed." )
+ "Be quiet and print only error messages. Multiple use is possible." \
+ " Previous use of --verbose is reverted. The impact is command" \
+ " dependent. If set at least three times, almost all error messages" \
+ " will be suppressed." )
#:def_opt( "VERBOSE", "v|verbose", "GM", \
"", \
- "Be verbose and print more progress information. Multiple usage is" \
- " possible. The impact is command dependent." )
+ "Be verbose and print more progress information. Multiple use is" \
+ " possible. Previous use of --quiet is reverted. The impact is command" \
+ " dependent." )
#:def_opt( "LOGGING", "L|logging|log", "GM", \
"", \
@@ -688,6 +690,11 @@
"Enable LE-CODE and CT-CODE support. The optional parameter is" \
" deprecated and ignored." )
+#:def_opt( "LE_04X", "le-04x|le04x", "G", \
+ "", \
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \
+ " slot numbers if slots >4095 are used." )
+
#:def_opt( "LOAD_PREFIX", "load-prefix|loadprefix", "GP", \
"file", \
"Read in a PREFIX file and replace the internal prefix database with" \
@@ -1181,7 +1188,7 @@
#:def_opt( "MDL", "mdl", "GP", \
"list", \
"Set global options for MDL processing. To enable MDL patching, use" \
- " option {--patch-file} and select BRRES files for patching.\n" \
+ " option {--patch-files} and select BRRES files for patching.\n" \
" Parameter @'list'@ is a comma separated list of keywords. A minus" \
" sign before a keyword disables a setting. Each occurrence of the" \
" option will only change entered settings and all other settings are" \
@@ -1203,7 +1210,7 @@
" all. The other allowed keywords are: @AUTO, SIMPLE, COMPLEX, BOTH," \
" SILENT@ and @LOG@." )
-#:def_opt( "PATCH_FILE", "patch-file|patchfile|pfile", "GP", \
+#:def_opt( "PATCH_FILES", "patch-files|patchfiles|pfiles", "GP", \
"list", \
"Define, which kind of KMP, KCL and BRRES/MDL files are objects for" \
" patching. @--pfile@ is a short cut.\n" \
@@ -1212,7 +1219,7 @@
" option will only change entered settings and all other settings are" \
" untouched.\n" \
" Keyword @DEFAULT@ resets the default settings (@TRACK,LOG@) and" \
- " @CLEAR@ disables all. The other allowed keywords are: @KMP, KCL," \
+ " @NONE@ disables all. The other allowed keywords are: @KMP, KCL," \
" OTHER-KCL, ALL-KCL, MODEL, MAP, VRCORN, OTHER-BRRES, ALL-BRRES," \
" TRACK (=KMP,KCL,MODEL,MAP,VRCORN), ALL, LOG@ and @LOG-ALL@." )
@@ -2251,6 +2258,16 @@
"", \
"" )
+#:def_cmd_opt( "WILDCARDS", "SH", \
+ "", \
+ "Quote filenames for sh using '...'." )
+
+#:def_cmd_opt( "WILDCARDS", "BASH", \
+ "", \
+ "Ignore --sh and quote filenames for bash using $$'...'. Use »eval" \
+ " var=($$(wszst wildcards --bash ...))« to assign the result to a bash" \
+ " array." )
+
#:def_cmd_opt( "TEST", "VERBOSE", \
"", \
"Print the matrices of transformations." )
@@ -6110,6 +6127,10 @@
"", \
"" )
+#:def_cmd_opt( "ANALYZE", "ID_LIST", \
+ "", \
+ "" )
+
#:def_cmd_opt( "ANALYZE", "REFERENCE", \
"", \
"" )
@@ -6529,12 +6550,12 @@
#:def_cmd_opt( "DISTRIBUTION", "SOURCE", \
"", \
- "Define a text file for filename to slot translation. A »slot" \
- " filename« list is expected. Use this option multiple times to" \
- " define more than one source file. A definition of a later source" \
- " overwrites previous definitions. The file @RESULT@ of the command" \
- " line is appended automatically as last entry, if exists and not" \
- " already included." )
+ "Define a text file for filename to slot translation. A »slot" \
+ " filename« list is expected. Use this option multiple times to define" \
+ " more than one source file. A definition of a later source overwrites" \
+ " previous definitions. The file @RESULT@ of the command line is" \
+ " appended automatically as last entry, if exists and not already" \
+ " included." )
#:def_cmd_opt( "DIFF", "QUIET", \
"", \
@@ -6915,7 +6936,7 @@
"", \
"" )
-#:def_cmd_opt( "CHECK", "PATCH_FILE", \
+#:def_cmd_opt( "CHECK", "PATCH_FILES", \
"", \
"" )
@@ -7328,7 +7349,7 @@
"", \
"" )
-#:def_cmd_opt( "SLOTS", "PATCH_FILE", \
+#:def_cmd_opt( "SLOTS", "PATCH_FILES", \
"", \
"" )
@@ -7743,7 +7764,7 @@
"", \
"" )
-#:def_cmd_opt( "NORMALIZE", "PATCH_FILE", \
+#:def_cmd_opt( "NORMALIZE", "PATCH_FILES", \
"", \
"" )
@@ -8107,7 +8128,7 @@
"", \
"" )
-#:def_cmd_opt( "PATCH", "PATCH_FILE", \
+#:def_cmd_opt( "PATCH", "PATCH_FILES", \
"", \
"" )
@@ -8471,7 +8492,7 @@
"", \
"" )
-#:def_cmd_opt( "COPY", "PATCH_FILE", \
+#:def_cmd_opt( "COPY", "PATCH_FILES", \
"", \
"" )
@@ -8839,7 +8860,7 @@
"", \
"" )
-#:def_cmd_opt( "DUPLICATE", "PATCH_FILE", \
+#:def_cmd_opt( "DUPLICATE", "PATCH_FILES", \
"", \
"" )
@@ -9396,7 +9417,7 @@
"", \
"" )
-#:def_cmd_opt( "COMPRESS", "PATCH_FILE", \
+#:def_cmd_opt( "COMPRESS", "PATCH_FILES", \
"", \
"" )
@@ -9708,7 +9729,7 @@
"", \
"" )
-#:def_cmd_opt( "DECOMPRESS", "PATCH_FILE", \
+#:def_cmd_opt( "DECOMPRESS", "PATCH_FILES", \
"", \
"" )
@@ -10037,7 +10058,7 @@
"", \
"" )
-#:def_cmd_opt( "ENCODE", "PATCH_FILE", \
+#:def_cmd_opt( "ENCODE", "PATCH_FILES", \
"", \
"" )
@@ -10490,7 +10511,7 @@
"", \
"" )
-#:def_cmd_opt( "CREATE", "PATCH_FILE", \
+#:def_cmd_opt( "CREATE", "PATCH_FILES", \
"", \
"" )
@@ -10798,7 +10819,7 @@
"", \
"" )
-#:def_cmd_opt( "UPDATE", "PATCH_FILE", \
+#:def_cmd_opt( "UPDATE", "PATCH_FILES", \
"", \
"" )
@@ -11126,7 +11147,7 @@
"", \
"" )
-#:def_cmd_opt( "EXTRACT", "PATCH_FILE", \
+#:def_cmd_opt( "EXTRACT", "PATCH_FILES", \
"", \
"" )
@@ -11454,7 +11475,7 @@
"", \
"" )
-#:def_cmd_opt( "XDECODE", "PATCH_FILE", \
+#:def_cmd_opt( "XDECODE", "PATCH_FILES", \
"", \
"" )
@@ -11782,7 +11803,7 @@
"", \
"" )
-#:def_cmd_opt( "XEXPORT", "PATCH_FILE", \
+#:def_cmd_opt( "XEXPORT", "PATCH_FILES", \
"", \
"" )
@@ -12110,7 +12131,7 @@
"", \
"" )
-#:def_cmd_opt( "XALL", "PATCH_FILE", \
+#:def_cmd_opt( "XALL", "PATCH_FILES", \
"", \
"" )
@@ -12757,7 +12778,7 @@
"", \
"" )
-#:def_cmd_opt( "KCL", "PATCH_FILE", \
+#:def_cmd_opt( "KCL", "PATCH_FILES", \
"", \
"" )
@@ -12997,7 +13018,7 @@
"", \
"" )
-#:def_cmd_opt( "KMP", "PATCH_FILE", \
+#:def_cmd_opt( "KMP", "PATCH_FILES", \
"", \
"" )
@@ -13477,14 +13498,16 @@
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
- "Be quiet and print only error messages. Multiple usage is possible." \
- " The impact is command dependent. In general: If set three times," \
- " different file format warnings are suppressed." )
+ "Be quiet and print only error messages. Multiple use is possible." \
+ " Previous use of --verbose is reverted. The impact is command" \
+ " dependent. If set at least three times, almost all error messages" \
+ " will be suppressed." )
#:def_opt( "VERBOSE", "v|verbose", "GM", \
"", \
- "Be verbose and print more progress information. Multiple usage is" \
- " possible. The impact is command dependent." )
+ "Be verbose and print more progress information. Multiple use is" \
+ " possible. Previous use of --quiet is reverted. The impact is command" \
+ " dependent." )
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
@@ -13542,6 +13565,11 @@
"Enable LE-CODE and CT-CODE support. The optional parameter is" \
" deprecated and ignored." )
+#:def_opt( "LE_04X", "le-04x|le04x", "G", \
+ "", \
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \
+ " slot numbers if slots >4095 are used." )
+
#:def_opt( "CHDIR", "chdir", "GMP", \
"dir", \
"Set a new working directory for all following options, for all" \
@@ -14849,14 +14877,16 @@
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
- "Be quiet and print only error messages. Multiple usage is possible." \
- " The impact is command dependent. In general: If set three times," \
- " different file format warnings are suppressed." )
+ "Be quiet and print only error messages. Multiple use is possible." \
+ " Previous use of --verbose is reverted. The impact is command" \
+ " dependent. If set at least three times, almost all error messages" \
+ " will be suppressed." )
#:def_opt( "VERBOSE", "v|verbose", "GM", \
"", \
- "Be verbose and print more progress information. Multiple usage is" \
- " possible. The impact is command dependent." )
+ "Be verbose and print more progress information. Multiple use is" \
+ " possible. Previous use of --quiet is reverted. The impact is command" \
+ " dependent." )
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
@@ -14914,6 +14944,11 @@
"Enable LE-CODE and CT-CODE support. The optional parameter is" \
" deprecated and ignored." )
+#:def_opt( "LE_04X", "le-04x|le04x", "G", \
+ "", \
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \
+ " slot numbers if slots >4095 are used." )
+
#:def_opt( "OLD_SPINY", "old-spiny|oldspiny", "G", \
"", \
"Disable the new feature to hold a Spiny Shell at the tail." )
@@ -16314,14 +16349,16 @@
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
- "Be quiet and print only error messages. Multiple usage is possible." \
- " The impact is command dependent. In general: If set three times," \
- " different file format warnings are suppressed." )
+ "Be quiet and print only error messages. Multiple use is possible." \
+ " Previous use of --verbose is reverted. The impact is command" \
+ " dependent. If set at least three times, almost all error messages" \
+ " will be suppressed." )
#:def_opt( "VERBOSE", "v|verbose", "GM", \
"", \
- "Be verbose and print more progress information. Multiple usage is" \
- " possible. The impact is command dependent." )
+ "Be verbose and print more progress information. Multiple use is" \
+ " possible. Previous use of --quiet is reverted. The impact is command" \
+ " dependent." )
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
@@ -16379,6 +16416,11 @@
"Enable LE-CODE and CT-CODE support. The optional parameter is" \
" deprecated and ignored." )
+#:def_opt( "LE_04X", "le-04x|le04x", "G", \
+ "", \
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \
+ " slot numbers if slots >4095 are used." )
+
#:def_opt( "CHDIR", "chdir", "GMP", \
"dir", \
"Set a new working directory for all following options, for all" \
@@ -17429,14 +17471,16 @@
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
- "Be quiet and print only error messages. Multiple usage is possible." \
- " The impact is command dependent. In general: If set three times," \
- " different file format warnings are suppressed." )
+ "Be quiet and print only error messages. Multiple use is possible." \
+ " Previous use of --verbose is reverted. The impact is command" \
+ " dependent. If set at least three times, almost all error messages" \
+ " will be suppressed." )
#:def_opt( "VERBOSE", "v|verbose", "GM", \
"", \
- "Be verbose and print more progress information. Multiple usage is" \
- " possible. The impact is command dependent." )
+ "Be verbose and print more progress information. Multiple use is" \
+ " possible. Previous use of --quiet is reverted. The impact is command" \
+ " dependent." )
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
@@ -17494,6 +17538,11 @@
"Enable LE-CODE and CT-CODE support. The optional parameter is" \
" deprecated and ignored." )
+#:def_opt( "LE_04X", "le-04x|le04x", "G", \
+ "", \
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \
+ " slot numbers if slots >4095 are used." )
+
#:def_opt( "CHDIR", "chdir", "GMP", \
"dir", \
"Set a new working directory for all following options, for all" \
@@ -20098,14 +20147,16 @@
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
- "Be quiet and print only error messages. Multiple usage is possible." \
- " The impact is command dependent. In general: If set three times," \
- " different file format warnings are suppressed." )
+ "Be quiet and print only error messages. Multiple use is possible." \
+ " Previous use of --verbose is reverted. The impact is command" \
+ " dependent. If set at least three times, almost all error messages" \
+ " will be suppressed." )
#:def_opt( "VERBOSE", "v|verbose", "GM", \
"", \
- "Be verbose and print more progress information. Multiple usage is" \
- " possible. The impact is command dependent." )
+ "Be verbose and print more progress information. Multiple use is" \
+ " possible. Previous use of --quiet is reverted. The impact is command" \
+ " dependent." )
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
@@ -20163,6 +20214,11 @@
"Enable LE-CODE and CT-CODE support. The optional parameter is" \
" deprecated and ignored." )
+#:def_opt( "LE_04X", "le-04x|le04x", "G", \
+ "", \
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \
+ " slot numbers if slots >4095 are used." )
+
#:def_opt( "CHDIR", "chdir", "GMP", \
"dir", \
"Set a new working directory for all following options, for all" \
@@ -22310,14 +22366,16 @@
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
- "Be quiet and print only error messages. Multiple usage is possible." \
- " The impact is command dependent. In general: If set three times," \
- " different file format warnings are suppressed." )
+ "Be quiet and print only error messages. Multiple use is possible." \
+ " Previous use of --verbose is reverted. The impact is command" \
+ " dependent. If set at least three times, almost all error messages" \
+ " will be suppressed." )
#:def_opt( "VERBOSE", "v|verbose", "GM", \
"", \
- "Be verbose and print more progress information. Multiple usage is" \
- " possible. The impact is command dependent." )
+ "Be verbose and print more progress information. Multiple use is" \
+ " possible. Previous use of --quiet is reverted. The impact is command" \
+ " dependent." )
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
@@ -22375,6 +22433,11 @@
"This option is completely ignored by wlect. It only exists due to" \
" compatibility with the other tools." )
+#:def_opt( "LE_04X", "le-04x|le04x", "G", \
+ "", \
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \
+ " slot numbers if slots >4095 are used." )
+
#:def_opt( "LOAD_PREFIX", "load-prefix|loadprefix", "GP", \
"file", \
"Read in a PREFIX file and replace the internal prefix database with" \
@@ -24087,14 +24150,16 @@
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
- "Be quiet and print only error messages. Multiple usage is possible." \
- " The impact is command dependent. In general: If set three times," \
- " different file format warnings are suppressed." )
+ "Be quiet and print only error messages. Multiple use is possible." \
+ " Previous use of --verbose is reverted. The impact is command" \
+ " dependent. If set at least three times, almost all error messages" \
+ " will be suppressed." )
#:def_opt( "VERBOSE", "v|verbose", "GM", \
"", \
- "Be verbose and print more progress information. Multiple usage is" \
- " possible. The impact is command dependent." )
+ "Be verbose and print more progress information. Multiple use is" \
+ " possible. Previous use of --quiet is reverted. The impact is command" \
+ " dependent." )
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
@@ -24152,6 +24217,11 @@
"This option is completely ignored by wlect. It only exists due to" \
" compatibility with the other tools." )
+#:def_opt( "LE_04X", "le-04x|le04x", "G", \
+ "", \
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \
+ " slot numbers if slots >4095 are used." )
+
#:def_opt( "CHDIR", "chdir", "GMP", \
"dir", \
"Set a new working directory for all following options, for all" \
@@ -24173,7 +24243,7 @@
#:def_opt( "MDL", "mdl", "GP", \
"list", \
"Set global options for MDL processing. To enable MDL patching, use" \
- " option {--patch-file} and select BRRES files for patching.\n" \
+ " option {--patch-files} and select BRRES files for patching.\n" \
" Parameter @'list'@ is a comma separated list of keywords. A minus" \
" sign before a keyword disables a setting. Each occurrence of the" \
" option will only change entered settings and all other settings are" \
@@ -25447,14 +25517,16 @@
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
- "Be quiet and print only error messages. Multiple usage is possible." \
- " The impact is command dependent. In general: If set three times," \
- " different file format warnings are suppressed." )
+ "Be quiet and print only error messages. Multiple use is possible." \
+ " Previous use of --verbose is reverted. The impact is command" \
+ " dependent. If set at least three times, almost all error messages" \
+ " will be suppressed." )
#:def_opt( "VERBOSE", "v|verbose", "GM", \
"", \
- "Be verbose and print more progress information. Multiple usage is" \
- " possible. The impact is command dependent." )
+ "Be verbose and print more progress information. Multiple use is" \
+ " possible. Previous use of --quiet is reverted. The impact is command" \
+ " dependent." )
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
@@ -25512,6 +25584,11 @@
"This option is completely ignored by wlect. It only exists due to" \
" compatibility with the other tools." )
+#:def_opt( "LE_04X", "le-04x|le04x", "G", \
+ "", \
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \
+ " slot numbers if slots >4095 are used." )
+
#:def_opt( "CHDIR", "chdir", "GMP", \
"dir", \
"Set a new working directory for all following options, for all" \
@@ -26087,7 +26164,7 @@
#:def_cmd( "PATCH", "PATCH", \
"wstrt PATCH [file]...", \
- "Patch 'main.dol and 'StaticR.rel' files of Mario Kart Wii." \
+ "Patch 'main.dol' and 'StaticR.rel' files of Mario Kart Wii." \
" $Wildcards$ and pipe characters are parsed. No backup is made." )
#:def_opt( "VERSION", "V|version", "G", \
@@ -26145,14 +26222,16 @@
#:def_opt( "QUIET", "q|quiet", "GM", \
"", \
- "Be quiet and print only error messages. Multiple usage is possible." \
- " The impact is command dependent. In general: If set three times," \
- " different file format warnings are suppressed." )
+ "Be quiet and print only error messages. Multiple use is possible." \
+ " Previous use of --verbose is reverted. The impact is command" \
+ " dependent. If set at least three times, almost all error messages" \
+ " will be suppressed." )
#:def_opt( "VERBOSE", "v|verbose", "GM", \
"", \
- "Be verbose and print more progress information. Multiple usage is" \
- " possible. The impact is command dependent." )
+ "Be verbose and print more progress information. Multiple use is" \
+ " possible. Previous use of --quiet is reverted. The impact is command" \
+ " dependent." )
#:def_opt( "LOGGING", "L|logging", "GM", \
"", \
@@ -26210,6 +26289,11 @@
"This option is completely ignored by wlect. It only exists due to" \
" compatibility with the other tools." )
+#:def_opt( "LE_04X", "le-04x|le04x", "G", \
+ "", \
+ "Use format %04x instead of %03x for LE-CODE slots to enable uniform" \
+ " slot numbers if slots >4095 are used." )
+
#:def_opt( "CHDIR", "chdir", "GMP", \
"dir", \
"Set a new working directory for all following options, for all" \
@@ -26487,12 +26571,12 @@
#:def_opt( "ADD_SECTION", "add-section|addsection", "CP", \
"file", \
"Each option call adds the filename to an internal list. Each file" \
- " must be of type GCT, GCH or WCH. All GCT files together are combined" \
- " with an internal code handler to one section (like a GCH file). GCH" \
- " and WCH define sections and patches. The defined sections are added" \
- " and VBI hooks are optionally initialized. Use option {--force} to" \
- " allow overlapped sections. Use option {--verbose} up to 2 times for" \
- " a log.\n" \
+ " must be of type GCT, GCT-TXT, GCH or WCH. All GCT files together are" \
+ " combined with an internal code handler to one section (like a GCH" \
+ " file). GCH and WCH define sections and patches. The defined sections" \
+ " are added and VBI hooks are optionally initialized. Use option" \
+ " {--force} to allow overlapped sections. Use option {--verbose} up to" \
+ " 2 times for a log.\n" \
" If parameter FILE contains at least one wildcard (e.g. \"*.GCT\")," \
" then FILE is used as search pattern and all found files are added." \
" Quote FILE for this purpose. \n" \
@@ -26508,13 +26592,14 @@
" the heap smaller and move the cheat codes before the FST section.\n" \
" Parameter MODE is optional. If set, OFF disables and ON enables" \
" this feature. For mode AUTO (default) this feature is enabled, if" \
- " the cheat codes are too large or for internal reasons." )
+ " the cheat codes are too large (@end>0x80003000@) or for internal" \
+ " conflicts." )
#:def_opt( "GCT_ADDR", "gct-addr|gctaddr", "CP", \
"address", \
"If {--gct-move} is active, a text section is created to manage the" \
" code handler. This section is only needed at start and is placed by" \
- " default at address 0c802c0000 (part of BSS, good address for all 4" \
+ " default at address 0x802c0000 (part of BSS, good address for all 4" \
" regions). This option changes the start address of the section. If" \
" address is @0@ or invalid, then unused BSS space is searched." )
@@ -26530,7 +26615,7 @@
" This option is only relevant, if main.dol is patched for wiimmfi.de." \
" It is dedicated to custom distribution creators for test purposes." \
" If enabled, a user can load an own instance of Gecko Code Handler" \
- " and cheat codes and can use them online. If disabled, pachcing for" \
+ " and cheat codes and can use them online. If disabled, patching for" \
" online modus is disabled if an alternative Gecko Code Handler is" \
" detected.\n" \
" Parameter MODE is optional. If set, OFF disables and ON enables" \
diff --git a/project/src/wbmgt.c b/project/src/wbmgt.c
index 87ee140..efe538b 100644
--- a/project/src/wbmgt.c
+++ b/project/src/wbmgt.c
@@ -793,6 +793,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_DE: use_de = true; break;
case GO_CT_CODE: ctcode_enabled = true; break;
case GO_LE_CODE: lecode_enabled = true; break; // optional argument ignored
+ case GO_LE_04X: lecode_04x = true; break;
case GO_COLORS: err += ScanOptColorize(0,optarg,0); break;
case GO_NO_COLORS: opt_colorize = COLMD_OFF; break;
diff --git a/project/src/wctct.c b/project/src/wctct.c
index 65eda23..7cbe6b5 100644
--- a/project/src/wctct.c
+++ b/project/src/wctct.c
@@ -777,6 +777,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_CT_CODE: ctcode_enabled = true; break;
case GO_LE_CODE: lecode_enabled = true; break; // optional argument ignored
+ case GO_LE_04X: lecode_04x = true; break;
case GO_OLD_SPINY: old_spiny = true; break;
case GO_CRS1: err += ScanOptCRS1(optarg); break;
diff --git a/project/src/wimgt.c b/project/src/wimgt.c
index 5e57c48..3385d5b 100644
--- a/project/src/wimgt.c
+++ b/project/src/wimgt.c
@@ -606,6 +606,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_DE: use_de = true; break;
case GO_CT_CODE: ctcode_enabled = true; break;
case GO_LE_CODE: lecode_enabled = true; break; // optional argument ignored
+ case GO_LE_04X: lecode_04x = true; break;
case GO_COLORS: err += ScanOptColorize(0,optarg,0); break;
case GO_NO_COLORS: opt_colorize = COLMD_OFF; break;
diff --git a/project/src/wkclt.c b/project/src/wkclt.c
index dd8f9a2..3e81ce2 100644
--- a/project/src/wkclt.c
+++ b/project/src/wkclt.c
@@ -1323,6 +1323,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_DE: use_de = true; break;
case GO_CT_CODE: ctcode_enabled = true; break;
case GO_LE_CODE: lecode_enabled = true; break; // optional argument ignored
+ case GO_LE_04X: lecode_04x = true; break;
case GO_COLORS: err += ScanOptColorize(0,optarg,0); break;
case GO_NO_COLORS: opt_colorize = COLMD_OFF; break;
diff --git a/project/src/wkmpt.c b/project/src/wkmpt.c
index 336f574..fdde615 100644
--- a/project/src/wkmpt.c
+++ b/project/src/wkmpt.c
@@ -828,7 +828,7 @@ static enumError diff_kmp ( ccp fname1, ccp fname2 )
{
const int diff_verbose = verbose + 2;
err = DiffKMP( &kmp1, &kmp2, diff_verbose < 0 ? 0 : diff_verbose );
- if ( verbose >= -2 && err == ERR_DIFFER )
+ if ( ErrorLogEnabled() && err == ERR_DIFFER )
printf("KMP differ: %s : %s\n", kmp1.fname, kmp2.fname );
else if ( verbose >= 0 && err == ERR_OK )
printf("KMP identical: %s : %s\n", kmp1.fname, kmp2.fname );
@@ -1611,6 +1611,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_DE: use_de = true; break;
case GO_CT_CODE: ctcode_enabled = true; break;
case GO_LE_CODE: lecode_enabled = true; break; // optional argument ignored
+ case GO_LE_04X: lecode_04x = true; break;
case GO_COLORS: err += ScanOptColorize(0,optarg,0); break;
case GO_NO_COLORS: opt_colorize = COLMD_OFF; break;
diff --git a/project/src/wlect.c b/project/src/wlect.c
index d54eb52..f63bbd4 100644
--- a/project/src/wlect.c
+++ b/project/src/wlect.c
@@ -1357,10 +1357,11 @@ static void help_distrib ( enumError exit_code )
"A CT-CODE or LE-CODE definition file."
" The file is scanned by the CT-CODE scanner and then imported.\n"
"\n"
- "\t{name|*.szs}:\t|"
- "Track files are added to 2 different internal track tracks lists,"
- " one for racing tracks and one for battle areans."
- " I the argument is quoted then wlect will resolve the wildcards by itself."
+ "\t{name|*.*}:\t|"
+ "If a file is a valid track file,"
+ " then it is added to one of two different internal track lists"
+ " (one for racing tracks and one for battle areans)."
+ " If the argument is quoted then wlect will resolve the wildcards by itself."
"\n"
" |All file types that are accepted by option {opt|--le-define}"
" ({name|BRRES}, {name|TEX0}, {name|CT-CODE}, ...) are also possible.\n"
@@ -1683,18 +1684,27 @@ static void help_distrib ( enumError exit_code )
"{syntax|OPTIONS} is a comma separated list of 0 or more keywords."
" The following options are available:"
- "|[14,22]\n"
- "\t{par|remove}:\t|Remove all used SZS source files at the very end."
- " »{par|rm}« is s short cut.\n"
+ "|[14,24]\n"
+ "\t{par|remove}:\t|Remove all used track source files at the very end."
+ " »{par|rm}« is s short cut.\n"
+ "\t{par|ext}:\t|Append a track file extension list to each LTA.\n"
+ "\t{par|redir}:\t|Create redirection file {file|lta.szs} type {name|USE-LTA}.\n"
"\t{par|yaz0}:\t|Force YAZ0 compression for each track file.\n"
- "\t{par|bz}:\t|Force BZ compression for each track file.\n"
"\t{par|bzip2}:\t|Force BZIP2 compression for each track file.\n"
- "\t{par|lz}:\t|Force LZ compression for each track file.\n"
"\t{par|lzma}:\t|Force LZMA compression for each track file.\n"
+ "\t{par|wbz}:\t|Force WBZ (BZ) compression for each track file.\n"
+ "\t{par|wlz}:\t|Force WLZ (LZ) compression for each track file.\n"
"\n|[4,12,14,22]"
- "\t\t|{hl|DIRECTORY} specifies the destination directory."
+ "\t\t|Controlled by the global processing options {opt|+PR0} and"
+ " {opt|+PR1} to {opt|+PR60}, progress messages can be output."
+ " These settings can be overwritten using the local options"
+ " {par|pr0}, {par|pr1}, {par|pr2}, {par|pr5},"
+ " {par|pr10}, {par|pr20}, {par|pr30} or {par|pr60},"
+ " where the number indicates the number of seconds between 2 messages.\n"
+ "\n"
+ "\t\t|{syntax|DIRECTORY} specifies the destination directory."
" Only files with valid member »{name|PATH}« are added to the archives."
- " SZS files with unknown paths are searched in directories"
+ " Track files with unknown paths are searched in directories"
" defined by the options {opt|--copy-tracks}, {opt|--move-tracks},"
" {opt|--move1-tracks} and {opt|--link-tracks}."
" Files with identical content are recognized"
@@ -1914,10 +1924,29 @@ static void help_distrib ( enumError exit_code )
//-------------------------
"\n"
+ " |{heading|Progress options:}\n"
+ "\n"
+ "\t|The following options determine whether and at what intervals progress messages"
+ " are output. These progress messages are only displayed when importing track files"
+ " with placeholders and when creating LTA files.\n"
+ "\n"
+ "\t{name|PR0}:\t|Disable progress messages.\n"
+ "\t{name|PR1}:\t|Output a progress message approximately every second.\n"
+ "\t{name|PR2}:\t|Output a progress message approximately every 2 seconds.\n"
+ "\t{name|PR5}:\t|Output a progress message approximately every 5 seconds.\n"
+ "\t{name|PR10}:\t|Output a progress message approximately every 10 seconds.\n"
+ "\t{name|PR20}:\t|Output a progress message approximately every 20 seconds.\n"
+ "\t{name|PR30}:\t|Output a progress message approximately every 30 seconds.\n"
+ "\t{name|PR60}:\t|Output a progress message approximately every 60 seconds.\n"
+ "\n"
+
+ //-------------------------
+
+ "\n"
" |{heading|More options:}\n"
"\n"
"\t{name|IN-LECODE}:\t|"
- "When reading a LE-CODE binaray file (e.g. »{file|lecode-PAL.bin}«),"
+ "When reading a LE-CODE binary file (e.g. »{file|lecode-PAL.bin}«),"
" only the settings are imported, but not the binary itself."
" So if writing a LE-CODE binary then the region dependent built-in binary is used."
" If this option set, then binaries are imported to override the built-in versions."
@@ -1927,8 +1956,7 @@ static void help_distrib ( enumError exit_code )
"Switch option {name|IN-LECODE} off.\n"
"\n"
"\t{name|NO-SLOT}:\t|"
- "Suppress »{name|SLOT <index>}« lines when creating a LE-CODE defintion file ({name|LE-DEF})."
- " {name|NOSLOT} is a short cut for this keyword.\n"
+ "Suppress »{name|SLOT <index>}« lines when creating a LE-CODE defintion file ({name|LE-DEF}).\n"
"\t{name|/NO-SLOT}:\t|"
"Switch option {name|NO-SLOT} off.\n"
"\n"
@@ -1951,10 +1979,9 @@ static void help_distrib ( enumError exit_code )
"\t{name|CT-SLOTS}:\t|"
"Options {name|HEX2SLOT} and {name|NAME2SLOT}:"
" The availability of a slot for LE-CODE is usually examined."
- " If this option is set, the availability for CT-CODE is examined."
- " {name|CTSLOTS} is a short cut for this keyword.\n"
+ " If this option is set, the availability for CT-CODE is examined.\n"
"\t{name|/CT-SLOTS}:\t|"
- "Switch option {name|CT-SLOT} off.\n"
+ "Switch option {name|CT-SLOTS} off.\n"
"\n"
"\t{name|BRIEF}:\t|"
"When creating text files, detailed descriptions are suppressed."
@@ -2732,6 +2759,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_DE: use_de = true; break;
case GO_CT_CODE: ctcode_enabled = true; break;
case GO_LE_CODE: lecode_enabled = true; break; // optional argument ignored
+ case GO_LE_04X: lecode_04x = true; break;
case GO_COLORS: err += ScanOptColorize(0,optarg,0); break;
case GO_NO_COLORS: opt_colorize = COLMD_OFF; break;
diff --git a/project/src/wmdlt.c b/project/src/wmdlt.c
index 72f37b0..f9e3ddc 100644
--- a/project/src/wmdlt.c
+++ b/project/src/wmdlt.c
@@ -566,6 +566,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_DE: use_de = true; break;
case GO_CT_CODE: ctcode_enabled = true; break;
case GO_LE_CODE: lecode_enabled = true; break; // optional argument ignored
+ case GO_LE_04X: lecode_04x = true; break;
case GO_COLORS: err += ScanOptColorize(0,optarg,0); break;
case GO_NO_COLORS: opt_colorize = COLMD_OFF; break;
diff --git a/project/src/wpatt.c b/project/src/wpatt.c
index 1f41eb5..a0be792 100644
--- a/project/src/wpatt.c
+++ b/project/src/wpatt.c
@@ -366,6 +366,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_DE: use_de = true; break;
case GO_CT_CODE: ctcode_enabled = true; break;
case GO_LE_CODE: lecode_enabled = true; break; // optional argument ignored
+ case GO_LE_04X: lecode_04x = true; break;
case GO_COLORS: err += ScanOptColorize(0,optarg,0); break;
case GO_NO_COLORS: opt_colorize = COLMD_OFF; break;
diff --git a/project/src/wstrt.c b/project/src/wstrt.c
index cae29f2..90ba786 100644
--- a/project/src/wstrt.c
+++ b/project/src/wstrt.c
@@ -1533,7 +1533,7 @@ static enumError cmd_patch()
{
create = true;
if ( verbose >= 0 )
- printf("* File not modified, %scopy to: %s:%s\n",
+ printf("* File not modified, %scopy it to: %s:%s\n",
testmode ? "would " : "",
GetNameFF(str.fform,0), dest_fname );
}
@@ -1613,6 +1613,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_DE: use_de = true; break;
case GO_CT_CODE: ctcode_enabled = true; break;
case GO_LE_CODE: lecode_enabled = true; break; // optional argument ignored
+ case GO_LE_04X: lecode_04x = true; break;
case GO_COLORS: err += ScanOptColorize(0,optarg,0); break;
case GO_NO_COLORS: opt_colorize = COLMD_OFF; break;
@@ -1653,6 +1654,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_POINTS: err += ScanOptMkwPoints(optarg,false); break;
case GO_CHEAT: err += ScanOptCheatRegion(optarg); break;
case GO_ADD_LECODE: AppendStringField(&opt_wcode_list,"@LECODE",false); break;
+ case GO_ADDS_LECODE: AppendStringField(&opt_sect_list,"@LECODE",false); break;
case GO_ADD_OLD_LECODE: AppendStringField(&opt_wcode_list,"@OLDLECODE",false); break;
case GO_ADD_CTCODE: opt_add_ctcode = true; break;
case GO_CT_DIR: AppendStringField(&ct_dir_list,optarg,false); break;
diff --git a/project/src/wszst.c b/project/src/wszst.c
index 4e91904..40fb3b4 100644
--- a/project/src/wszst.c
+++ b/project/src/wszst.c
@@ -1844,6 +1844,7 @@ static int list_func
}
}
+ FixIteratorExt(it);
const int indent = 2 * it->recurse_level;
if ( long_count > 1 )
@@ -3881,8 +3882,11 @@ static enumError patch_file_helper
szs.allow_ext_data = true;
bool dirty = PatchSZS(&szs);
- if (( opt_norm || need_norm || opt_auto_add || opt_cup_icons || dirty )
- && NormalizeSZS(&szs) )
+ //xBINGO;
+ PRINT0("dirty=%d, opt_norm=%d, need_norm=%d, opt_auto_add=%d, opt_cup_icons=%s\n",
+ dirty, opt_norm, need_norm, opt_auto_add, opt_cup_icons );
+
+ if (( opt_norm || need_norm || opt_auto_add || opt_cup_icons || dirty ) && NormalizeSZS(&szs) )
{
dirty = true;
}
@@ -3925,6 +3929,14 @@ static enumError patch_file_helper
if (!dirty)
dirty = data.data.len != szs.size || memcmp(data.data.ptr,szs.data,szs.size);
+ if ( !dirty && was_compressed )
+ {
+ CompressSZS(&szs,0,true);
+ dirty = orig.data.len != szs.csize || memcmp(orig.data.ptr,szs.cdata,szs.csize);
+ FreeExMem(&orig);
+ orig = ExMemByS(szs.cdata,szs.csize);
+ }
+
if ( !dirty && ( !src_dest_diff || opt_no_copy ) )
goto abort;
@@ -5792,6 +5804,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_DE: use_de = true; break;
case GO_CT_CODE: ctcode_enabled = true; break;
case GO_LE_CODE: lecode_enabled = true; break; // optional argument ignored
+ case GO_LE_04X: lecode_04x = true; break;
case GO_COLORS: err += ScanOptColorize(0,optarg,0); break;
case GO_NO_COLORS: opt_colorize = COLMD_OFF; break;
@@ -5855,7 +5868,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_MDL: err += ScanOptMdl(optarg); break;
case GO_MINIMAP: break;
case GO_PAT: err += ScanOptPat(optarg); break;
- case GO_PATCH_FILE: err += ScanOptPatchFile(optarg); break;
+ case GO_PATCH_FILES: err += ScanOptPatchFiles(optarg); break;
case GO_KMG_LIMIT: err += ScanOptKmgLimit(optarg); break;
case GO_KMG_COPY: err += ScanOptKmgCopy(optarg); break;
@@ -5891,6 +5904,7 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_ESC: err += ScanEscapeChar(optarg) < 0; break;
case GO_SOURCE: SetSource(optarg); break;
+ case GO_ID_LIST: SetIdList(optarg); break;
case GO_REFERENCE: SetReference(optarg); break;
case GO_DEST: SetDest(optarg,false); break;
case GO_DEST2: SetDest(optarg,true); break;
@@ -5904,27 +5918,27 @@ static enumError CheckOptions ( int argc, char ** argv, bool is_env )
case GO_IGNORE_SETUP: opt_ignore_setup = true; break;
case GO_PURGE: opt_purge = true; break;
- case GO_YAZ0: SetCompressionFF(0,FF_YAZ0); break;
- case GO_YAZ1: SetCompressionFF(0,FF_YAZ1); break;
- case GO_XYZ: SetCompressionFF(0,FF_XYZ); break;
- case GO_BZ: SetCompressionFF(0,FF_BZ); break;
- case GO_BZIP2: SetCompressionFF(0,FF_BZIP2); break;
- case GO_LZ: SetCompressionFF(0,FF_LZ); break;
- case GO_LZMA: SetCompressionFF(0,FF_LZMA); break;
+ case GO_YAZ0: SetCompressionFF(FF_INVALID,FF_YAZ0); break;
+ case GO_YAZ1: SetCompressionFF(FF_INVALID,FF_YAZ1); break;
+ case GO_XYZ: SetCompressionFF(FF_INVALID,FF_XYZ); break;
+ case GO_BZ: SetCompressionFF(FF_INVALID,FF_BZ); break;
+ case GO_BZIP2: SetCompressionFF(FF_INVALID,FF_BZIP2); break;
+ case GO_LZ: SetCompressionFF(FF_INVALID,FF_LZ); break;
+ case GO_LZMA: SetCompressionFF(FF_INVALID,FF_LZMA); break;
- case GO_U8: SetCompressionFF(FF_U8,0); break;
+ case GO_U8: SetCompressionFF(FF_U8,FF_INVALID); break;
case GO_SZS: SetCompressionFF(FF_U8,FF_YAZ0); break;
- case GO_WU8: SetCompressionFF(FF_WU8,0); break;
+ case GO_WU8: SetCompressionFF(FF_WU8,FF_INVALID); break;
case GO_XWU8: SetCompressionFF(FF_WU8,FF_XYZ); break;
case GO_WBZ: SetCompressionFF(FF_WU8,FF_BZ); break;
case GO_WLZ: SetCompressionFF(FF_WU8,FF_LZ); break;
- //case GO_LTA: SetCompressionFF(FF_LTA,0); break;
- case GO_LFL: SetCompressionFF(FF_LFL,0); break;
- //case GO_ARC: SetCompressionFF(FF_RARC,0); break;
- case GO_BRRES: SetCompressionFF(FF_BRRES,0); break;
- case GO_BREFF: SetCompressionFF(FF_BREFF,0); break;
- case GO_BREFT: SetCompressionFF(FF_BREFT,0); break;
- case GO_PACK: SetCompressionFF(FF_PACK,0); break;
+ //case GO_LTA: SetCompressionFF(FF_LTA,FF_INVALID); break;
+ case GO_LFL: SetCompressionFF(FF_LFL,FF_INVALID); break;
+ //case GO_ARC: SetCompressionFF(FF_RARC,FF_INVALID); break;
+ case GO_BRRES: SetCompressionFF(FF_BRRES,FF_INVALID); break;
+ case GO_BREFF: SetCompressionFF(FF_BREFF,FF_INVALID); break;
+ case GO_BREFT: SetCompressionFF(FF_BREFT,FF_INVALID); break;
+ case GO_PACK: SetCompressionFF(FF_PACK,FF_INVALID); break;
case GO_JSON: script_fform = FF_JSON; break;
case GO_SH: script_fform = FF_SH; break;
@@ -6267,6 +6281,7 @@ extern int main_wstrt ( int argc, char ** argv );
extern int main_wrapper ( int argc, char ** argv );
extern int main_getopt ( int argc, char ** argv );
+// [[wrapper_t]]
typedef struct wrapper_t
{
uint hide; // 0:off, 1:hide, 2:is wrapper
diff --git a/project/src/wtest.c b/project/src/wtest.c
index 4689cf0..f65fe65 100644
--- a/project/src/wtest.c
+++ b/project/src/wtest.c
@@ -4187,11 +4187,10 @@ static enumError test_test_prefix ( int argc, char ** argv )
continue;
}
- const mkw_prefix_t *key0 = FindPrefix(arg,-1,false);
- const mkw_prefix_t *key1 = FindPrefix(arg,-1,true);
- printf(" %d %d : %10.10s",key0!=0,key1!=0,arg);
- if (key0)
- printf(" => %-8s %s\n",key0->prefix,key0->info);
+ const mkw_prefix_t *pre = GetPrefix(arg,-1);
+ printf(" %d : %-20.20s",pre!=0,arg);
+ if (pre)
+ printf(" => %-8s | %s\n",pre->prefix,pre->info);
else
putchar('\n');
}
@@ -4281,7 +4280,7 @@ static enumError test_coded_version ( int argc, char ** argv )
fw = len;
}
- uint code = GetEncodedVersion();
+ uint code = GetNumericVersion();
printf("\n %-*s %10u %s\n\n",fw+3,"Coded version:",code,DecodeVersion(code));
for ( int i = 1; i < argc; i++ )
@@ -4728,7 +4727,7 @@ lta_file_ref_t ReadFileLTA ( DVDFileInfo *fi, const lta_info_t *info, int slot,
{
if ( lta_cache_slot == slot && lta_cache_par_index == par_index )
{
-PRINT1("Use LTA Cache %d.%d\n",slot,par_index);
+ PRINT1("Use LTA Cache %d.%d\n",slot,par_index);
return lta_cache_data;
}
diff --git a/project/templates/HISTORY.txt b/project/templates/HISTORY.txt
index 40e773b..30846cb 100644
--- a/project/templates/HISTORY.txt
+++ b/project/templates/HISTORY.txt
@@ -878,6 +878,12 @@ szs v2.40a r8917 - 2023-12-31
- New option: wstrt --add-old-lecode: Add the old LE-CODE starter.
+szs v2.40b r8923 - 2024-01-02
+
+ - Bug fix for option --add-lecode: Due to an implementation error, the option
+ was ignored.
+
+
@@MODULE(last-history.txt)@@
diff --git a/project/templates/module/last-history.txt b/project/templates/module/last-history.txt
index 819dda8..240e407 100644
--- a/project/templates/module/last-history.txt
+++ b/project/templates/module/last-history.txt
@@ -1,7 +1,37 @@
szs v@@VERSION@@ r@@REV-NEXT@@ - @@@@-@@-@@
- - Bug fix for option --add-lecode: Due to an implementation error, the option
- was ignored.
+ - Update to LE-CODE build 40.
+ - Updated prefix database: Added LEGO_Racers, Muppet_RM, POD, PP2WB, SR,
+ Spyro_1, Wii_U, Zelda_OoT, Zelda_TP, Zelda_WW.
+ - wszst ANALYSE prints attribute "license" if file "license.txt" is detected.
+ - File format LTA supports now an optional list with file extensions. The
+ idea is that tools show the correct file extensions without having to load
+ the entire LTA file for analysis.
+ - Command wlect DISTRIB:
+ - WU8, WBZ and WLZ files are accepted now.
+ - Support of new file type USE-LTA (redirection file for LE-CODE).
+ Instruction lta= of command wlect DISTRIB creates such a file with
+ filename lta.szs if option REDIR is set.
+ - The new processing options +PR0, +PR1 to +PR60 control the output of
+ progress messages.
+ - New options for instruction lta=: EXT, REDIR, PR0, PR1 .. PR60.
+ - Command wszst WILDCARDS supports options --sh and --bash to quote results.
+ - Command wstrt PATCH and option --add-section:
+ - GCT text files are now accepted now and converted to binary data if the
+ very first 4 characters are "#GCT".
+ - The memory map output with options -vv has been completely revised.
+ - Bug fix for commands wszst NORMALIZE and wszst PATCH: If the content has
+ not been changed, then the compression has not been checked. Therefore the
+ file was not always normalized.
+ - Bug fix for wszst PATCH: A copy to the non existing cache was created even
+ if --cache was not set.
+ - Implemented support for LE-CODE with 8192 tracks and 2048 cups. For this
+ purpose, the BMG messages for mkw-ana had to be moved to other areas.
+ - wlect dump: Warnings are issued if the tool can manage fewer LPAR settings
+ or fewer track slots than the LE-CODE image offers.
+ - New global option --le-04x: Use format %04x instead of %03x for LE-CODE
+ slots to enable uniform slot numbers if slots >4095 are used.
+ - New LPAR setting: SLOT-04X.
~ - KMP:STGI support for up to 255 laps.
~ - Option --kmp=MODES supports now settings 1LAP .. 15LAPS.
diff --git a/project/text-files/lpar.inc/lpar-sect-param-cr.inc b/project/text-files/lpar.inc/lpar-sect-param-cr.inc
index 71ab1bf..f6d757b 100644
--- a/project/text-files/lpar.inc/lpar-sect-param-cr.inc
+++ b/project/text-files/lpar.inc/lpar-sect-param-cr.inc
@@ -154,6 +154,14 @@ MAX-ONLINE-SEC = %3u%s
CUP-ICON-SIZE = %u
+# Define the index format for slots. It is either "%%03x" (value 0) or "%%04x"
+# (value 1). Format "%%04x" ensures that all slots are displayed in the same
+# format (same number of characters). However, this is only relevant if a slot
+# ≥0x1000 (≥4096) is used. The distribution creator must ensure that the files
+# in ./Race/Course/ and directories in ./Race/Common/ are in the same format.
+
+SLOT-04X = %u
+
#------------------------------------------------------------------------------
# The following setting is for LE-CODE developers only.